From a02cc448d1671e11b58ed19838cece3feddcdc1b Mon Sep 17 00:00:00 2001 From: Ryan Hallisey Date: Fri, 18 Jan 2019 13:47:56 -0500 Subject: [PATCH] Update kubevirt013 (#556) (#576) * Update kubevirt-ansible to use kubevirt-0.13 Signed-off-by: Kedar Bidarkar * Run `make deps-update` for kubevirt-0.13. As cdi used by kubevirt-0.13 is cdi-1.4.1+ and not cdi-1.5.0, removed the cdi entry from the glide.yaml file, so that we pull the cdi version from git commit from what the kubevirt-0.13 is using currently. Signed-off-by: Kedar Bidarkar * Update the apiVersion to v1alpha3 Signed-off-by: Kedar Bidarkar * update the flags to reflect container prefix Signed-off-by: Kedar Bidarkar * Removed volumeName from disks for kubevirt-0.13.0 Signed-off-by: Kedar Bidarkar * Fix secret and configmap tests for changes related to volumeName Signed-off-by: Kedar Bidarkar * Fixed the kubevirt-cr and kubevirt-operator template files Dropped namespace creation in kubevirt-operator template and updated the apiversion. Signed-off-by: Kedar Bidarkar (cherry picked from commit db35688a92a4a7a1021f4a37aa77c15b664e9a88) --- glide.yaml | 5 +- hack/run-tests.sh | 4 +- roles/kubevirt/README.md | 4 +- roles/kubevirt/defaults/main.yml | 2 +- roles/kubevirt/tasks/deprovision.yml | 4 +- roles/kubevirt/templates/kubevirt-cr.yaml.j2 | 2 +- .../templates/kubevirt-operator.yaml.j2 | 2 +- roles/network-multus/defaults/main.yml | 2 +- tests/e2e_test.go | 2 +- tests/high_performance_vm_test.go | 2 +- tests/manifests/test-vm.yml | 7 +- tests/manifests/virt-testing-vm.yml | 3 +- tests/manifests/vm-cirros.yaml | 8 +- tests/manifests/vm_with_sidecar_hook.yml | 14 +- tests/manifests/vmi-ephemeral.yaml | 5 +- tests/manifests/vmi-replicaset-cirros.yaml | 5 +- tests/secrets_and_cfgmap_test.go | 6 +- vars/README.md | 2 +- vars/all.yml | 2 +- .../go-openapi/jsonpointer/.drone.sec | 1 + .../go-openapi/jsonpointer/.drone.yml | 32 + .../go-openapi/jsonpointer/.editorconfig | 26 - .../go-openapi/jsonpointer/.pullapprove.yml | 13 + .../go-openapi/jsonpointer/.travis.yml | 15 - .../go-openapi/jsonpointer/README.md | 2 +- .../github.com/go-openapi/jsonpointer/go.mod | 10 - .../github.com/go-openapi/jsonpointer/go.sum | 11 - .../go-openapi/jsonpointer/pointer.go | 178 +- .../go-openapi/jsonreference/.drone.sec | 1 + .../go-openapi/jsonreference/.drone.yml | 33 + .../go-openapi/jsonreference/.pullapprove.yml | 13 + .../go-openapi/jsonreference/.travis.yml | 16 - .../go-openapi/jsonreference/README.md | 4 +- .../go-openapi/jsonreference/go.mod | 15 - .../go-openapi/jsonreference/go.sum | 20 - vendor/github.com/go-openapi/swag/.gitignore | 2 - .../github.com/go-openapi/swag/.golangci.yml | 22 - vendor/github.com/go-openapi/swag/.travis.yml | 14 +- vendor/github.com/go-openapi/swag/README.md | 21 +- vendor/github.com/go-openapi/swag/convert.go | 53 +- vendor/github.com/go-openapi/swag/doc.go | 33 - vendor/github.com/go-openapi/swag/go.mod | 9 - vendor/github.com/go-openapi/swag/go.sum | 9 - vendor/github.com/go-openapi/swag/json.go | 42 +- vendor/github.com/go-openapi/swag/loading.go | 8 +- vendor/github.com/go-openapi/swag/net.go | 14 - .../github.com/go-openapi/swag/post_go18.go | 23 - .../github.com/go-openapi/swag/post_go19.go | 67 - vendor/github.com/go-openapi/swag/pre_go18.go | 23 - vendor/github.com/go-openapi/swag/pre_go19.go | 69 - vendor/github.com/go-openapi/swag/util.go | 256 +- vendor/github.com/go-openapi/swag/yaml.go | 38 +- vendor/github.com/gogo/protobuf/.travis.yml | 4 +- vendor/github.com/gogo/protobuf/Readme.md | 10 +- .../conformance_proto/conformance.pb.go | 62 +- vendor/github.com/gogo/protobuf/go.mod | 3 + vendor/github.com/gogo/protobuf/go.sum | 6 + .../gogo/protobuf/gogoproto/gogo.pb.go | 110 +- .../jsonpb_test_proto/more_test_objects.pb.go | 50 +- .../jsonpb_test_proto/test_objects.pb.go | 108 +- .../github.com/gogo/protobuf/proto/decode.go | 1 - .../gogo/protobuf/proto/deprecated.go | 63 + .../gogo/protobuf/proto/extensions.go | 2 +- vendor/github.com/gogo/protobuf/proto/lib.go | 20 - .../gogo/protobuf/proto/message_set.go | 137 +- .../gogo/protobuf/proto/properties.go | 9 - .../protobuf/proto/proto3_proto/proto3.pb.go | 58 +- .../gogo/protobuf/proto/table_marshal.go | 2 +- .../gogo/protobuf/proto/table_unmarshal.go | 4 +- .../gogo/protobuf/proto/test_proto/test.pb.go | 409 +- .../protobuf/google/protobuf/any.proto | 3 +- .../protobuf/google/protobuf/descriptor.proto | 11 + .../protobuf/google/protobuf/field_mask.proto | 49 +- .../protobuf/google/protobuf/timestamp.proto | 28 +- .../protobuf/google/protobuf/wrappers.proto | 5 + .../descriptor/descriptor.pb.go | 565 +- .../descriptor/descriptor_gostring.gen.go | 26 +- .../protoc-gen-gogo/generator/generator.go | 387 +- .../protoc-gen-gogo/generator/helper.go | 2 +- .../protobuf/protoc-gen-gogo/grpc/grpc.go | 19 +- .../protoc-gen-gogo/plugin/plugin.pb.go | 38 +- .../testdata/deprecated/deprecated.pb.go | 170 +- .../testdata/deprecated/deprecated.proto | 5 + .../extension_base/extension_base.pb.go | 35 +- .../extension_extra/extension_extra.pb.go | 20 +- .../extension_user/extension_user.pb.go | 74 +- .../protoc-gen-gogo/testdata/grpc/grpc.pb.go | 79 +- .../testdata/import_public/a.pb.go | 67 +- .../testdata/import_public/a.proto | 8 +- .../testdata/import_public/b.pb.go | 36 +- .../testdata/import_public/b.proto | 6 +- .../import_public/importing/importing.pb.go | 84 + .../import_public/importing/importing.proto | 43 + .../testdata/import_public/sub/a.pb.go | 470 +- .../testdata/import_public/sub/a.proto | 34 +- .../testdata/import_public/sub/b.pb.go | 49 +- .../testdata/import_public/sub/b.proto | 3 +- .../testdata/imports/fmt/m.pb.go | 20 +- .../testdata/imports/test_a_1/m1.pb.go | 32 +- .../testdata/imports/test_a_1/m2.pb.go | 20 +- .../testdata/imports/test_a_2/m3.pb.go | 20 +- .../testdata/imports/test_a_2/m4.pb.go | 20 +- .../testdata/imports/test_b_1/m1.pb.go | 20 +- .../testdata/imports/test_b_1/m2.pb.go | 20 +- .../testdata/imports/test_import_a1m1.pb.go | 24 +- .../testdata/imports/test_import_a1m2.pb.go | 24 +- .../testdata/imports/test_import_all.pb.go | 32 +- .../testdata/my_test/test.pb.go | 332 +- .../testdata/my_test/test.proto | 7 + .../testdata/proto3/proto3.pb.go | 32 +- .../test/asymetric-issue125/asym.pb.go | 61 +- .../protobuf/test/cachedsize/cachedsize.pb.go | 60 +- .../test/casttype/combos/both/casttype.pb.go | 692 +- .../casttype/combos/marshaler/casttype.pb.go | 677 +- .../casttype/combos/neither/casttype.pb.go | 692 +- .../combos/unmarshaler/casttype.pb.go | 699 +- .../protobuf/test/castvalue/castvalue.pb.go | 603 +- .../castvalue/combos/both/castvalue.pb.go | 610 +- .../combos/marshaler/castvalue.pb.go | 607 +- .../combos/unmarshaler/castvalue.pb.go | 610 +- .../protobuf/test/combos/both/thetest.pb.go | 1743 +- .../test/combos/marshaler/thetest.pb.go | 1744 +- .../test/combos/unmarshaler/thetest.pb.go | 1746 +- .../test/custombytesnonstruct/proto.pb.go | 52 +- .../gogo/protobuf/test/data/data.pb.go | 60 +- .../test/deterministic/deterministic.pb.go | 121 +- .../protobuf/test/empty-issue70/empty.pb.go | 44 +- .../test/enumcustomname/enumcustomname.pb.go | 70 +- .../protobuf/test/enumdecl/enumdecl.pb.go | 67 +- .../test/enumdecl_all/enumdeclall.pb.go | 79 +- .../protobuf/test/enumprefix/enumprefix.pb.go | 22 +- .../test/enumstringer/enumstringer.pb.go | 84 +- .../gogo/protobuf/test/example/example.pb.go | 658 +- .../protobuf/test/filedotname/file.dot.pb.go | 559 +- .../gogo/protobuf/test/fuzztests/fuzz.pb.go | 114 +- .../gogo/protobuf/test/group/group.pb.go | 583 +- .../importcustom-issue389/imported/a.pb.go | 51 +- .../importcustom-issue389/importing/c.pb.go | 64 +- .../protobuf/test/importdedup/proto.pb.go | 25 +- .../test/importdedup/subpkg/subproto.pb.go | 20 +- .../importduplicate/importduplicate.pb.go | 81 +- .../test/importduplicate/proto/proto.pb.go | 51 +- .../importduplicate/sortkeys/sortable.pb.go | 53 +- .../indeximport-issue72/index/index.pb.go | 53 +- .../indeximport-issue72/indeximport.pb.go | 59 +- .../protobuf/test/int64support/object.pb.go | 61 +- .../protobuf/test/issue260/issue260.pb.go | 92 +- .../protobuf/test/issue261/issue261.pb.go | 83 +- .../protobuf/test/issue262/timefail.pb.go | 73 +- .../test/issue312/events/events.pb.go | 61 +- .../protobuf/test/issue312/issue312.pb.go | 20 +- .../protobuf/test/issue322/issue322.pb.go | 60 +- .../protobuf/test/issue330/issue330.pb.go | 55 +- .../gogo/protobuf/test/issue34/proto.pb.go | 54 +- .../protobuf/test/issue411/issue411.pb.go | 20 +- .../protobuf/test/issue42order/issue42.pb.go | 60 +- .../protobuf/test/issue435/issue435.pb.go | 26 +- .../protobuf/test/issue438/issue438.pb.go | 117 +- .../protobuf/test/issue444/issue444.pb.go | 43 +- .../protobuf/test/issue449/issue449.pb.go | 70 +- .../gogo/protobuf/test/issue8/proto.pb.go | 51 +- .../test/mapdefaults/combos/both/map.pb.go | 604 +- .../mapdefaults/combos/marshaler/map.pb.go | 601 +- .../test/mapdefaults/combos/neither/map.pb.go | 601 +- .../mapdefaults/combos/unmarshaler/map.pb.go | 604 +- .../mapsproto2/combos/both/mapsproto2.pb.go | 807 +- .../combos/marshaler/mapsproto2.pb.go | 804 +- .../combos/neither/mapsproto2.pb.go | 829 +- .../combos/unmarshaler/mapsproto2.pb.go | 830 +- .../gogo/protobuf/test/merge/merge.pb.go | 26 +- .../gogo/protobuf/test/moredefaults/md.pb.go | 74 +- .../protobuf/test/nopackage/nopackage.pb.go | 51 +- .../protobuf/test/oneof/combos/both/one.pb.go | 688 +- .../test/oneof/combos/marshaler/one.pb.go | 685 +- .../test/oneof/combos/neither/one.pb.go | 682 +- .../test/oneof/combos/unmarshaler/one.pb.go | 687 +- .../test/oneof3/combos/both/one.pb.go | 625 +- .../test/oneof3/combos/marshaler/one.pb.go | 622 +- .../test/oneof3/combos/neither/one.pb.go | 619 +- .../test/oneof3/combos/unmarshaler/one.pb.go | 624 +- .../protobuf/test/oneofembed/oneofembed.pb.go | 60 +- .../gogo/protobuf/test/packed/packed.pb.go | 102 +- .../test/proto3extension/proto3ext.pb.go | 14 +- .../protobuf/test/protosize/protosize.pb.go | 59 +- .../test/required/requiredexample.pb.go | 117 +- .../test/sizeunderscore/sizeunderscore.pb.go | 59 +- .../protobuf/test/stdtypes/stdtypes.pb.go | 236 +- .../gogo/protobuf/test/tags/tags.pb.go | 61 +- .../theproto3/combos/both/theproto3.pb.go | 1335 +- .../combos/marshaler/theproto3.pb.go | 1337 +- .../theproto3/combos/neither/theproto3.pb.go | 1333 +- .../combos/unmarshaler/theproto3.pb.go | 1337 +- .../gogo/protobuf/test/thetest.pb.go | 1736 +- .../protobuf/test/typedecl/typedecl.pb.go | 76 +- .../test/typedecl_all/typedeclall.pb.go | 76 +- .../test/types/combos/both/types.pb.go | 378 +- .../test/types/combos/marshaler/types.pb.go | 375 +- .../test/types/combos/neither/types.pb.go | 375 +- .../test/types/combos/unmarshaler/types.pb.go | 380 +- .../test/unmarshalmerge/unmarshalmerge.pb.go | 114 +- .../test/unrecognized/unrecognized.pb.go | 680 +- .../unrecognizedgroup/unrecognizedgroup.pb.go | 619 +- .../protobuf/test/xxxfields/xxxfields.pb.go | 98 +- .../github.com/gogo/protobuf/types/any.pb.go | 69 +- .../github.com/gogo/protobuf/types/api.pb.go | 110 +- .../gogo/protobuf/types/duration.pb.go | 68 +- .../gogo/protobuf/types/empty.pb.go | 60 +- .../gogo/protobuf/types/field_mask.pb.go | 114 +- .../gogo/protobuf/types/source_context.pb.go | 70 +- .../gogo/protobuf/types/struct.pb.go | 122 +- .../gogo/protobuf/types/timestamp.pb.go | 96 +- .../github.com/gogo/protobuf/types/type.pb.go | 186 +- .../gogo/protobuf/types/wrappers.pb.go | 127 +- .../vanity/test/fast/gogovanity.pb.go | 52 +- .../protobuf/vanity/test/fast/proto3.pb.go | 42 +- .../protobuf/vanity/test/fast/vanity.pb.go | 47 +- .../vanity/test/faster/gogovanity.pb.go | 54 +- .../protobuf/vanity/test/faster/proto3.pb.go | 42 +- .../protobuf/vanity/test/faster/vanity.pb.go | 48 +- .../vanity/test/slick/gogovanity.pb.go | 63 +- .../protobuf/vanity/test/slick/proto3.pb.go | 51 +- .../protobuf/vanity/test/slick/vanity.pb.go | 57 +- .../github.com/openshift/api/.gitattributes | 7 + vendor/github.com/openshift/api/.gitignore | 16 + vendor/github.com/openshift/api/.travis.yml | 19 + vendor/github.com/openshift/api/LICENSE | 201 + vendor/github.com/openshift/api/Makefile | 26 + vendor/github.com/openshift/api/OWNERS | 12 + vendor/github.com/openshift/api/README.md | 31 + vendor/github.com/openshift/api/apps/OWNERS | 3 + .../github.com/openshift/api/apps/install.go | 26 + .../openshift/api/apps/v1/consts.go | 108 + .../api/apps/v1/deprecated_consts.go | 38 + .../github.com/openshift/api/apps/v1/doc.go | 8 + .../openshift/api/apps/v1/generated.pb.go | 6494 ++++++++ .../openshift/api/apps/v1/generated.proto | 468 + .../openshift/api/apps/v1/legacy.go | 28 + .../openshift/api/apps/v1/register.go | 45 + .../github.com/openshift/api/apps/v1/types.go | 494 + .../api/apps/v1/zz_generated.deepcopy.go | 785 + .../v1/zz_generated.swagger_doc_generated.go | 284 + .../openshift/api/authorization/OWNERS | 2 + .../openshift/api/authorization/install.go | 26 + .../openshift/api/authorization/v1/codec.go | 139 + .../openshift/api/authorization/v1/doc.go | 8 + .../api/authorization/v1/generated.pb.go | 7435 +++++++++ .../api/authorization/v1/generated.proto | 476 + .../openshift/api/authorization/v1/legacy.go | 43 + .../api/authorization/v1/register.go | 60 + .../openshift/api/authorization/v1/types.go | 533 + .../authorization/v1/zz_generated.deepcopy.go | 1009 ++ .../v1/zz_generated.swagger_doc_generated.go | 364 + vendor/github.com/openshift/api/build/OWNERS | 4 + .../github.com/openshift/api/build/install.go | 26 + .../openshift/api/build/v1/consts.go | 93 + .../github.com/openshift/api/build/v1/doc.go | 8 + .../openshift/api/build/v1/generated.pb.go | 13163 ++++++++++++++++ .../openshift/api/build/v1/generated.proto | 1022 ++ .../openshift/api/build/v1/legacy.go | 28 + .../openshift/api/build/v1/register.go | 47 + .../openshift/api/build/v1/types.go | 1233 ++ .../api/build/v1/zz_generated.deepcopy.go | 1699 ++ .../v1/zz_generated.swagger_doc_generated.go | 619 + .../openshift/api/config/install.go | 26 + .../github.com/openshift/api/config/v1/doc.go | 7 + .../openshift/api/config/v1/register.go | 64 + .../openshift/api/config/v1/stringsource.go | 31 + .../openshift/api/config/v1/types.go | 286 + .../api/config/v1/types_authentication.go | 115 + .../openshift/api/config/v1/types_build.go | 126 + .../api/config/v1/types_cluster_operator.go | 125 + .../api/config/v1/types_cluster_version.go | 214 + .../openshift/api/config/v1/types_console.go | 37 + .../openshift/api/config/v1/types_dns.go | 42 + .../openshift/api/config/v1/types_image.go | 77 + .../api/config/v1/types_infrastructure.go | 60 + .../openshift/api/config/v1/types_ingress.go | 39 + .../openshift/api/config/v1/types_network.go | 75 + .../openshift/api/config/v1/types_oauth.go | 574 + .../openshift/api/config/v1/types_project.go | 37 + .../openshift/api/config/v1/types_proxy.go | 37 + .../api/config/v1/types_scheduling.go | 36 + .../api/config/v1/zz_generated.deepcopy.go | 2513 +++ .../v1/zz_generated.swagger_doc_generated.go | 994 ++ vendor/github.com/openshift/api/glide.lock | 109 + vendor/github.com/openshift/api/glide.yaml | 15 + .../github.com/openshift/api/hack/empty.txt | 0 .../github.com/openshift/api/hack/lib/init.sh | 47 + .../openshift/api/hack/update-deepcopy.sh | 15 + .../openshift/api/hack/update-deps.sh | 25 + .../openshift/api/hack/update-protobuf.sh | 27 + .../openshift/api/hack/update-swagger-docs.sh | 49 + .../openshift/api/hack/verify-deepcopy.sh | 6 + .../openshift/api/hack/verify-protobuf.sh | 31 + .../openshift/api/hack/verify-swagger-docs.sh | 31 + vendor/github.com/openshift/api/image/OWNERS | 5 + .../openshift/api/image/docker10/doc.go | 4 + .../api/image/docker10/dockertypes.go | 56 + .../openshift/api/image/docker10/register.go | 38 + .../image/docker10/zz_generated.deepcopy.go | 117 + .../api/image/dockerpre012/deepcopy.go | 18 + .../openshift/api/image/dockerpre012/doc.go | 4 + .../api/image/dockerpre012/dockertypes.go | 136 + .../api/image/dockerpre012/register.go | 37 + .../dockerpre012/zz_generated.deepcopy.go | 220 + .../github.com/openshift/api/image/install.go | 26 + .../github.com/openshift/api/image/v1/doc.go | 8 + .../openshift/api/image/v1/generated.pb.go | 8657 ++++++++++ .../openshift/api/image/v1/generated.proto | 556 + .../openshift/api/image/v1/legacy.go | 33 + .../openshift/api/image/v1/register.go | 52 + .../openshift/api/image/v1/types.go | 577 + .../api/image/v1/zz_generated.deepcopy.go | 960 ++ .../v1/zz_generated.swagger_doc_generated.go | 404 + vendor/github.com/openshift/api/install.go | 121 + .../openshift/api/kubecontrolplane/install.go | 26 + .../openshift/api/kubecontrolplane/v1/doc.go | 7 + .../api/kubecontrolplane/v1/register.go | 38 + .../api/kubecontrolplane/v1/types.go | 213 + .../v1/zz_generated.deepcopy.go | 380 + .../v1/zz_generated.swagger_doc_generated.go | 159 + .../openshift/api/legacyconfig/v1/doc.go | 7 + .../openshift/api/legacyconfig/v1/register.go | 45 + .../api/legacyconfig/v1/serialization.go | 87 + .../api/legacyconfig/v1/stringsource.go | 31 + .../openshift/api/legacyconfig/v1/types.go | 1527 ++ .../legacyconfig/v1/zz_generated.deepcopy.go | 2218 +++ .../v1/zz_generated.swagger_doc_generated.go | 977 ++ .../github.com/openshift/api/network/OWNERS | 4 + .../openshift/api/network/install.go | 26 + .../openshift/api/network/v1/constants.go | 17 + .../openshift/api/network/v1/doc.go | 8 + .../openshift/api/network/v1/generated.pb.go | 2684 ++++ .../openshift/api/network/v1/generated.proto | 168 + .../openshift/api/network/v1/legacy.go | 27 + .../openshift/api/network/v1/register.go | 44 + .../openshift/api/network/v1/types.go | 186 + .../api/network/v1/zz_generated.deepcopy.go | 345 + .../v1/zz_generated.swagger_doc_generated.go | 144 + vendor/github.com/openshift/api/oauth/OWNERS | 2 + .../github.com/openshift/api/oauth/install.go | 26 + .../github.com/openshift/api/oauth/v1/doc.go | 8 + .../openshift/api/oauth/v1/generated.pb.go | 3411 ++++ .../openshift/api/oauth/v1/generated.proto | 231 + .../openshift/api/oauth/v1/legacy.go | 30 + .../openshift/api/oauth/v1/register.go | 45 + .../openshift/api/oauth/v1/types.go | 259 + .../api/oauth/v1/zz_generated.deepcopy.go | 394 + .../v1/zz_generated.swagger_doc_generated.go | 162 + .../api/openshiftcontrolplane/install.go | 26 + .../api/openshiftcontrolplane/v1/doc.go | 7 + .../api/openshiftcontrolplane/v1/register.go | 40 + .../api/openshiftcontrolplane/v1/types.go | 359 + .../v1/zz_generated.deepcopy.go | 606 + .../v1/zz_generated.swagger_doc_generated.go | 223 + .../openshift/api/operator/install.go | 27 + .../openshift/api/operator/v1/doc.go | 6 + .../openshift/api/operator/v1/register.go | 37 + .../openshift/api/operator/v1/types.go | 204 + .../api/operator/v1/zz_generated.deepcopy.go | 263 + .../v1/zz_generated.swagger_doc_generated.go | 122 + .../openshift/api/operator/v1alpha1/doc.go | 6 + .../api/operator/v1alpha1/register.go | 39 + .../openshift/api/operator/v1alpha1/types.go | 180 + .../v1alpha1/zz_generated.deepcopy.go | 248 + .../zz_generated.swagger_doc_generated.go | 138 + .../github.com/openshift/api/osin/install.go | 26 + .../github.com/openshift/api/osin/v1/doc.go | 7 + .../openshift/api/osin/v1/register.go | 46 + .../github.com/openshift/api/osin/v1/types.go | 371 + .../api/osin/v1/zz_generated.deepcopy.go | 580 + .../api/pkg/serialization/serialization.go | 45 + .../openshift/api/pkg/testing/doc.go | 1 + .../github.com/openshift/api/project/OWNERS | 3 + .../openshift/api/project/install.go | 26 + .../openshift/api/project/v1/doc.go | 8 + .../openshift/api/project/v1/generated.pb.go | 1092 ++ .../openshift/api/project/v1/generated.proto | 71 + .../openshift/api/project/v1/legacy.go | 23 + .../openshift/api/project/v1/register.go | 40 + .../openshift/api/project/v1/types.go | 79 + .../api/project/v1/zz_generated.deepcopy.go | 134 + .../v1/zz_generated.swagger_doc_generated.go | 64 + vendor/github.com/openshift/api/quota/OWNERS | 3 + .../github.com/openshift/api/quota/install.go | 26 + .../github.com/openshift/api/quota/v1/doc.go | 8 + .../openshift/api/quota/v1/generated.pb.go | 1855 +++ .../openshift/api/quota/v1/generated.proto | 103 + .../openshift/api/quota/v1/legacy.go | 24 + .../openshift/api/quota/v1/register.go | 41 + .../openshift/api/quota/v1/types.go | 113 + .../api/quota/v1/zz_generated.deepcopy.go | 245 + .../v1/zz_generated.swagger_doc_generated.go | 96 + vendor/github.com/openshift/api/route/OWNERS | 4 + .../github.com/openshift/api/route/install.go | 26 + .../github.com/openshift/api/route/v1/doc.go | 8 + .../openshift/api/route/v1/generated.pb.go | 2537 +++ .../openshift/api/route/v1/generated.proto | 216 + .../openshift/api/route/v1/legacy.go | 22 + .../openshift/api/route/v1/register.go | 39 + .../openshift/api/route/v1/types.go | 255 + .../api/route/v1/zz_generated.deepcopy.go | 256 + .../v1/zz_generated.swagger_doc_generated.go | 129 + .../github.com/openshift/api/security/OWNERS | 2 + .../openshift/api/security/install.go | 26 + .../openshift/api/security/v1/doc.go | 8 + .../openshift/api/security/v1/generated.pb.go | 4596 ++++++ .../openshift/api/security/v1/generated.proto | 333 + .../openshift/api/security/v1/legacy.go | 25 + .../openshift/api/security/v1/register.go | 44 + .../openshift/api/security/v1/types.go | 415 + .../api/security/v1/zz_generated.deepcopy.go | 564 + .../v1/zz_generated.swagger_doc_generated.go | 228 + .../api/servicecertsigner/install.go | 26 + .../api/servicecertsigner/v1alpha1/doc.go | 6 + .../servicecertsigner/v1alpha1/register.go | 43 + .../api/servicecertsigner/v1alpha1/types.go | 107 + .../v1alpha1/zz_generated.deepcopy.go | 186 + .../zz_generated.swagger_doc_generated.go | 69 + .../github.com/openshift/api/template/OWNERS | 4 + .../openshift/api/template/install.go | 26 + .../openshift/api/template/v1/codec.go | 33 + .../openshift/api/template/v1/consts.go | 16 + .../openshift/api/template/v1/doc.go | 8 + .../openshift/api/template/v1/generated.pb.go | 3525 +++++ .../openshift/api/template/v1/generated.proto | 236 + .../openshift/api/template/v1/legacy.go | 24 + .../openshift/api/template/v1/register.go | 43 + .../openshift/api/template/v1/types.go | 261 + .../api/template/v1/zz_generated.deepcopy.go | 398 + .../v1/zz_generated.swagger_doc_generated.go | 159 + .../genswaggertypedocs/swagger_type_docs.go | 89 + vendor/github.com/openshift/api/user/OWNERS | 2 + .../github.com/openshift/api/user/install.go | 26 + .../github.com/openshift/api/user/v1/doc.go | 8 + .../openshift/api/user/v1/generated.pb.go | 1972 +++ .../openshift/api/user/v1/generated.proto | 116 + .../openshift/api/user/v1/legacy.go | 27 + .../openshift/api/user/v1/register.go | 44 + .../github.com/openshift/api/user/v1/types.go | 135 + .../api/user/v1/zz_generated.deepcopy.go | 257 + .../v1/zz_generated.swagger_doc_generated.go | 90 + .../openshift/api/webconsole/install.go | 26 + .../openshift/api/webconsole/v1/doc.go | 8 + .../openshift/api/webconsole/v1/register.go | 38 + .../openshift/api/webconsole/v1/types.go | 75 + .../webconsole/v1/zz_generated.deepcopy.go | 103 + .../v1/zz_generated.swagger_doc_generated.go | 61 + .../github.com/openshift/client-go/.gitignore | 20 + .../openshift/client-go/.travis.yml | 12 + .../github.com/openshift/client-go/INSTALL.md | 36 + vendor/github.com/openshift/client-go/LICENSE | 191 + .../github.com/openshift/client-go/Makefile | 34 + vendor/github.com/openshift/client-go/OWNERS | 8 + .../github.com/openshift/client-go/README.md | 33 + .../apps/clientset/versioned/clientset.go | 82 + .../client-go/apps/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../apps/clientset/versioned/fake/doc.go | 4 + .../apps/clientset/versioned/fake/register.go | 38 + .../apps/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../versioned/typed/apps/v1/apps_client.go | 74 + .../typed/apps/v1/deploymentconfig.go | 220 + .../clientset/versioned/typed/apps/v1/doc.go | 4 + .../versioned/typed/apps/v1/fake/doc.go | 4 + .../typed/apps/v1/fake/fake_apps_client.go | 24 + .../apps/v1/fake/fake_deploymentconfig.go | 169 + .../typed/apps/v1/generated_expansion.go | 5 + .../externalversions/apps/interface.go | 30 + .../apps/v1/deploymentconfig.go | 73 + .../externalversions/apps/v1/interface.go | 29 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 46 + .../internalinterfaces/factory_interfaces.go | 22 + .../apps/listers/apps/v1/deploymentconfig.go | 78 + .../listers/apps/v1/expansion_generated.go | 11 + .../clientset/versioned/clientset.go | 82 + .../authorization/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../authorization/v1/authorization_client.go | 124 + .../typed/authorization/v1/clusterrole.go | 131 + .../authorization/v1/clusterrolebinding.go | 131 + .../versioned/typed/authorization/v1/doc.go | 4 + .../typed/authorization/v1/fake/doc.go | 4 + .../v1/fake/fake_authorization_client.go | 64 + .../authorization/v1/fake/fake_clusterrole.go | 104 + .../v1/fake/fake_clusterrolebinding.go | 104 + .../v1/fake/fake_localresourceaccessreview.go | 30 + .../v1/fake/fake_localsubjectaccessreview.go | 30 + .../v1/fake/fake_resourceaccessreview.go | 28 + .../typed/authorization/v1/fake/fake_role.go | 112 + .../authorization/v1/fake/fake_rolebinding.go | 112 + .../v1/fake/fake_rolebindingrestriction.go | 112 + .../v1/fake/fake_selfsubjectrulesreview.go | 30 + .../v1/fake/fake_subjectaccessreview.go | 28 + .../v1/fake/fake_subjectrulesreview.go | 30 + .../authorization/v1/generated_expansion.go | 25 + .../v1/localresourceaccessreview.go | 47 + .../v1/localsubjectaccessreview.go | 47 + .../authorization/v1/resourceaccessreview.go | 44 + .../versioned/typed/authorization/v1/role.go | 141 + .../typed/authorization/v1/rolebinding.go | 141 + .../v1/rolebindingrestriction.go | 141 + .../v1/selfsubjectrulesreview.go | 46 + .../authorization/v1/subjectaccessreview.go | 44 + .../authorization/v1/subjectrulesreview.go | 46 + .../authorization/interface.go | 30 + .../authorization/v1/clusterrole.go | 72 + .../authorization/v1/clusterrolebinding.go | 72 + .../authorization/v1/interface.go | 57 + .../externalversions/authorization/v1/role.go | 73 + .../authorization/v1/rolebinding.go | 73 + .../v1/rolebindingrestriction.go | 73 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 54 + .../internalinterfaces/factory_interfaces.go | 22 + .../listers/authorization/v1/clusterrole.go | 49 + .../authorization/v1/clusterrolebinding.go | 49 + .../authorization/v1/expansion_generated.go | 35 + .../listers/authorization/v1/role.go | 78 + .../listers/authorization/v1/rolebinding.go | 78 + .../v1/rolebindingrestriction.go | 78 + .../build/clientset/versioned/clientset.go | 82 + .../build/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../build/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../build/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../versioned/typed/build/v1/build.go | 189 + .../versioned/typed/build/v1/build_client.go | 79 + .../versioned/typed/build/v1/buildconfig.go | 174 + .../clientset/versioned/typed/build/v1/doc.go | 4 + .../versioned/typed/build/v1/fake/doc.go | 4 + .../typed/build/v1/fake/fake_build.go | 146 + .../typed/build/v1/fake/fake_build_client.go | 28 + .../typed/build/v1/fake/fake_buildconfig.go | 135 + .../typed/build/v1/generated_expansion.go | 7 + .../externalversions/build/interface.go | 30 + .../externalversions/build/v1/build.go | 73 + .../externalversions/build/v1/buildconfig.go | 73 + .../externalversions/build/v1/interface.go | 36 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 48 + .../internalinterfaces/factory_interfaces.go | 22 + .../client-go/build/listers/build/v1/build.go | 78 + .../build/listers/build/v1/buildconfig.go | 78 + .../listers/build/v1/expansion_generated.go | 19 + .../client-go/examples/build/README.md | 33 + .../client-go/examples/build/main.go | 99 + .../github.com/openshift/client-go/glide.lock | 229 + .../github.com/openshift/client-go/glide.yaml | 21 + .../openshift/client-go/hack/boilerplate.txt | 0 .../client-go/hack/update-codegen.sh | 28 + .../openshift/client-go/hack/update-deps.sh | 23 + .../client-go/hack/verify-codegen.sh | 8 + .../image/clientset/versioned/clientset.go | 82 + .../image/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../image/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../image/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../clientset/versioned/typed/image/v1/doc.go | 4 + .../versioned/typed/image/v1/fake/doc.go | 4 + .../typed/image/v1/fake/fake_image.go | 104 + .../typed/image/v1/fake/fake_image_client.go | 48 + .../image/v1/fake/fake_imagesignature.go | 36 + .../typed/image/v1/fake/fake_imagestream.go | 147 + .../image/v1/fake/fake_imagestreamimage.go | 31 + .../image/v1/fake/fake_imagestreamimport.go | 30 + .../image/v1/fake/fake_imagestreammapping.go | 31 + .../image/v1/fake/fake_imagestreamtag.go | 84 + .../typed/image/v1/generated_expansion.go | 17 + .../versioned/typed/image/v1/image.go | 131 + .../versioned/typed/image/v1/image_client.go | 104 + .../typed/image/v1/imagesignature.go | 55 + .../versioned/typed/image/v1/imagestream.go | 190 + .../typed/image/v1/imagestreamimage.go | 49 + .../typed/image/v1/imagestreamimport.go | 46 + .../typed/image/v1/imagestreammapping.go | 48 + .../typed/image/v1/imagestreamtag.go | 101 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 48 + .../externalversions/image/interface.go | 30 + .../externalversions/image/v1/image.go | 72 + .../externalversions/image/v1/imagestream.go | 73 + .../externalversions/image/v1/interface.go | 36 + .../internalinterfaces/factory_interfaces.go | 22 + .../listers/image/v1/expansion_generated.go | 23 + .../client-go/image/listers/image/v1/image.go | 49 + .../image/listers/image/v1/imagestream.go | 78 + .../image/listers/image/v1/imagestreamtag.go | 78 + .../network/clientset/versioned/clientset.go | 82 + .../network/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../network/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../network/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../typed/network/v1/clusternetwork.go | 131 + .../versioned/typed/network/v1/doc.go | 4 + .../typed/network/v1/egressnetworkpolicy.go | 141 + .../versioned/typed/network/v1/fake/doc.go | 4 + .../network/v1/fake/fake_clusternetwork.go | 104 + .../v1/fake/fake_egressnetworkpolicy.go | 112 + .../typed/network/v1/fake/fake_hostsubnet.go | 104 + .../network/v1/fake/fake_netnamespace.go | 104 + .../network/v1/fake/fake_network_client.go | 36 + .../typed/network/v1/generated_expansion.go | 11 + .../versioned/typed/network/v1/hostsubnet.go | 131 + .../typed/network/v1/netnamespace.go | 131 + .../typed/network/v1/network_client.go | 89 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 52 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/network/interface.go | 30 + .../network/v1/clusternetwork.go | 72 + .../network/v1/egressnetworkpolicy.go | 73 + .../externalversions/network/v1/hostsubnet.go | 72 + .../externalversions/network/v1/interface.go | 50 + .../network/v1/netnamespace.go | 72 + .../listers/network/v1/clusternetwork.go | 49 + .../listers/network/v1/egressnetworkpolicy.go | 78 + .../listers/network/v1/expansion_generated.go | 23 + .../network/listers/network/v1/hostsubnet.go | 49 + .../listers/network/v1/netnamespace.go | 49 + .../oauth/clientset/versioned/clientset.go | 82 + .../oauth/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../oauth/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../oauth/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../clientset/versioned/typed/oauth/v1/doc.go | 4 + .../versioned/typed/oauth/v1/fake/doc.go | 4 + .../typed/oauth/v1/fake/fake_oauth_client.go | 36 + .../oauth/v1/fake/fake_oauthaccesstoken.go | 104 + .../oauth/v1/fake/fake_oauthauthorizetoken.go | 104 + .../typed/oauth/v1/fake/fake_oauthclient.go | 104 + .../v1/fake/fake_oauthclientauthorization.go | 104 + .../typed/oauth/v1/generated_expansion.go | 11 + .../versioned/typed/oauth/v1/oauth_client.go | 89 + .../typed/oauth/v1/oauthaccesstoken.go | 131 + .../typed/oauth/v1/oauthauthorizetoken.go | 131 + .../versioned/typed/oauth/v1/oauthclient.go | 131 + .../oauth/v1/oauthclientauthorization.go | 131 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 52 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/oauth/interface.go | 30 + .../externalversions/oauth/v1/interface.go | 50 + .../oauth/v1/oauthaccesstoken.go | 72 + .../oauth/v1/oauthauthorizetoken.go | 72 + .../externalversions/oauth/v1/oauthclient.go | 72 + .../oauth/v1/oauthclientauthorization.go | 72 + .../listers/oauth/v1/expansion_generated.go | 19 + .../listers/oauth/v1/oauthaccesstoken.go | 49 + .../listers/oauth/v1/oauthauthorizetoken.go | 49 + .../oauth/listers/oauth/v1/oauthclient.go | 49 + .../oauth/v1/oauthclientauthorization.go | 49 + .../project/clientset/versioned/clientset.go | 82 + .../project/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../project/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../project/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../versioned/typed/project/v1/doc.go | 4 + .../versioned/typed/project/v1/fake/doc.go | 4 + .../typed/project/v1/fake/fake_project.go | 115 + .../project/v1/fake/fake_project_client.go | 28 + .../project/v1/fake/fake_projectrequest.go | 28 + .../typed/project/v1/generated_expansion.go | 7 + .../versioned/typed/project/v1/project.go | 147 + .../typed/project/v1/project_client.go | 79 + .../typed/project/v1/projectrequest.go | 44 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 46 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/project/interface.go | 30 + .../externalversions/project/v1/interface.go | 29 + .../externalversions/project/v1/project.go | 72 + .../listers/project/v1/expansion_generated.go | 7 + .../project/listers/project/v1/project.go | 49 + .../quota/clientset/versioned/clientset.go | 82 + .../quota/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../quota/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../quota/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../quota/v1/appliedclusterresourcequota.go | 62 + .../typed/quota/v1/clusterresourcequota.go | 147 + .../clientset/versioned/typed/quota/v1/doc.go | 4 + .../versioned/typed/quota/v1/fake/doc.go | 4 + .../fake/fake_appliedclusterresourcequota.go | 54 + .../v1/fake/fake_clusterresourcequota.go | 115 + .../typed/quota/v1/fake/fake_quota_client.go | 28 + .../typed/quota/v1/generated_expansion.go | 7 + .../versioned/typed/quota/v1/quota_client.go | 79 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 46 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/quota/interface.go | 30 + .../quota/v1/clusterresourcequota.go | 72 + .../externalversions/quota/v1/interface.go | 29 + .../quota/v1/appliedclusterresourcequota.go | 78 + .../listers/quota/v1/clusterresourcequota.go | 49 + .../listers/quota/v1/expansion_generated.go | 15 + .../route/clientset/versioned/clientset.go | 82 + .../route/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../route/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../route/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../clientset/versioned/typed/route/v1/doc.go | 4 + .../versioned/typed/route/v1/fake/doc.go | 4 + .../typed/route/v1/fake/fake_route.go | 124 + .../typed/route/v1/fake/fake_route_client.go | 24 + .../typed/route/v1/generated_expansion.go | 5 + .../versioned/typed/route/v1/route.go | 158 + .../versioned/typed/route/v1/route_client.go | 74 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 46 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/route/interface.go | 30 + .../externalversions/route/v1/interface.go | 29 + .../externalversions/route/v1/route.go | 73 + .../listers/route/v1/expansion_generated.go | 11 + .../client-go/route/listers/route/v1/route.go | 78 + .../security/clientset/versioned/clientset.go | 82 + .../security/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../security/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../versioned/typed/security/v1/doc.go | 4 + .../versioned/typed/security/v1/fake/doc.go | 4 + .../v1/fake/fake_podsecuritypolicyreview.go | 30 + ...fake_podsecuritypolicyselfsubjectreview.go | 30 + .../fake_podsecuritypolicysubjectreview.go | 30 + .../security/v1/fake/fake_rangeallocation.go | 104 + .../security/v1/fake/fake_security_client.go | 40 + .../fake/fake_securitycontextconstraints.go | 104 + .../typed/security/v1/generated_expansion.go | 13 + .../security/v1/podsecuritypolicyreview.go | 46 + .../v1/podsecuritypolicyselfsubjectreview.go | 46 + .../v1/podsecuritypolicysubjectreview.go | 46 + .../typed/security/v1/rangeallocation.go | 131 + .../typed/security/v1/security_client.go | 94 + .../security/v1/securitycontextconstraints.go | 131 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 48 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/security/interface.go | 30 + .../externalversions/security/v1/interface.go | 36 + .../security/v1/rangeallocation.go | 72 + .../security/v1/securitycontextconstraints.go | 72 + .../security/v1/expansion_generated.go | 11 + .../listers/security/v1/rangeallocation.go | 49 + .../security/v1/securitycontextconstraints.go | 49 + .../clientset/versioned/clientset.go | 82 + .../clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../typed/servicecertsigner/v1alpha1/doc.go | 4 + .../servicecertsigner/v1alpha1/fake/doc.go | 4 + .../fake/fake_servicecertsigner_client.go | 24 + .../fake_servicecertsigneroperatorconfig.go | 115 + .../v1alpha1/generated_expansion.go | 5 + .../v1alpha1/servicecertsigner_client.go | 74 + .../servicecertsigneroperatorconfig.go | 147 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 46 + .../internalinterfaces/factory_interfaces.go | 22 + .../servicecertsigner/interface.go | 30 + .../servicecertsigner/v1alpha1/interface.go | 29 + .../servicecertsigneroperatorconfig.go | 72 + .../v1alpha1/expansion_generated.go | 7 + .../servicecertsigneroperatorconfig.go | 49 + .../template/clientset/versioned/clientset.go | 82 + .../template/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../template/clientset/versioned/fake/doc.go | 4 + .../clientset/versioned/fake/register.go | 38 + .../clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../template/v1/brokertemplateinstance.go | 131 + .../versioned/typed/template/v1/doc.go | 4 + .../versioned/typed/template/v1/fake/doc.go | 4 + .../v1/fake/fake_brokertemplateinstance.go | 104 + .../typed/template/v1/fake/fake_template.go | 112 + .../template/v1/fake/fake_template_client.go | 32 + .../template/v1/fake/fake_templateinstance.go | 124 + .../typed/template/v1/generated_expansion.go | 9 + .../versioned/typed/template/v1/template.go | 141 + .../typed/template/v1/template_client.go | 84 + .../typed/template/v1/templateinstance.go | 158 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 50 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/template/interface.go | 30 + .../template/v1/brokertemplateinstance.go | 72 + .../externalversions/template/v1/interface.go | 43 + .../externalversions/template/v1/template.go | 73 + .../template/v1/templateinstance.go | 73 + .../template/v1/brokertemplateinstance.go | 49 + .../template/v1/expansion_generated.go | 15 + .../template/listers/template/v1/template.go | 78 + .../listers/template/v1/template_expansion.go | 29 + .../listers/template/v1/templateinstance.go | 78 + .../user/clientset/versioned/clientset.go | 82 + .../client-go/user/clientset/versioned/doc.go | 4 + .../versioned/fake/clientset_generated.go | 66 + .../user/clientset/versioned/fake/doc.go | 4 + .../user/clientset/versioned/fake/register.go | 38 + .../user/clientset/versioned/scheme/doc.go | 4 + .../clientset/versioned/scheme/register.go | 38 + .../clientset/versioned/typed/user/v1/doc.go | 4 + .../versioned/typed/user/v1/fake/doc.go | 4 + .../typed/user/v1/fake/fake_group.go | 104 + .../typed/user/v1/fake/fake_identity.go | 104 + .../versioned/typed/user/v1/fake/fake_user.go | 104 + .../typed/user/v1/fake/fake_user_client.go | 36 + .../user/v1/fake/fake_useridentitymapping.go | 56 + .../typed/user/v1/generated_expansion.go | 11 + .../versioned/typed/user/v1/group.go | 131 + .../versioned/typed/user/v1/identity.go | 131 + .../clientset/versioned/typed/user/v1/user.go | 131 + .../versioned/typed/user/v1/user_client.go | 89 + .../typed/user/v1/useridentitymapping.go | 82 + .../informers/externalversions/factory.go | 164 + .../informers/externalversions/generic.go | 50 + .../internalinterfaces/factory_interfaces.go | 22 + .../externalversions/user/interface.go | 30 + .../externalversions/user/v1/group.go | 72 + .../externalversions/user/v1/identity.go | 72 + .../externalversions/user/v1/interface.go | 43 + .../externalversions/user/v1/user.go | 72 + .../listers/user/v1/expansion_generated.go | 15 + .../client-go/user/listers/user/v1/group.go | 49 + .../user/listers/user/v1/identity.go | 49 + .../client-go/user/listers/user/v1/user.go | 49 + .../.github/PULL_REQUEST_TEMPLATE.md | 2 + .../apiextensions-apiserver/CONTRIBUTING.md | 7 + .../Godeps/Godeps.json | 2102 +++ .../apiextensions-apiserver/Godeps/OWNERS | 2 + .../apiextensions-apiserver/Godeps/Readme | 5 + vendor/k8s.io/apiextensions-apiserver/LICENSE | 202 + vendor/k8s.io/apiextensions-apiserver/OWNERS | 9 + .../k8s.io/apiextensions-apiserver/README.md | 20 + .../apiextensions-apiserver/SECURITY_CONTACTS | 17 + .../customresource-01/noxu-apiservice.yaml | 12 + .../noxu-resource-definition.yaml | 13 + .../artifacts/customresource-01/noxu.yaml | 6 + .../artifacts/example/apiservice.yaml | 12 + .../artifacts/example/auth-delegator.yaml | 12 + .../artifacts/example/auth-reader.yaml | 13 + .../artifacts/example/rc.yaml | 26 + .../artifacts/example/sa.yaml | 5 + .../artifacts/example/service.yaml | 12 + .../artifacts/simple-image/Dockerfile | 17 + .../code-of-conduct.md | 3 + .../examples/client-go/README.md | 57 + .../examples/client-go/hack/update-codegen.sh | 34 + .../examples/client-go/hack/verify-codegen.sh | 48 + .../client-go/pkg/apis/cr/register.go | 21 + .../examples/client-go/pkg/apis/cr/v1/doc.go | 21 + .../client-go/pkg/apis/cr/v1/register.go | 51 + .../client-go/pkg/apis/cr/v1/types.go | 63 + .../pkg/apis/cr/v1/zz_generated.deepcopy.go | 118 + .../client/clientset/versioned/clientset.go | 98 + .../pkg/client/clientset/versioned/doc.go | 20 + .../versioned/fake/clientset_generated.go | 82 + .../client/clientset/versioned/fake/doc.go | 20 + .../clientset/versioned/fake/register.go | 54 + .../client/clientset/versioned/scheme/doc.go | 20 + .../clientset/versioned/scheme/register.go | 54 + .../versioned/typed/cr/v1/cr_client.go | 90 + .../clientset/versioned/typed/cr/v1/doc.go | 20 + .../versioned/typed/cr/v1/example.go | 157 + .../versioned/typed/cr/v1/fake/doc.go | 20 + .../typed/cr/v1/fake/fake_cr_client.go | 40 + .../typed/cr/v1/fake/fake_example.go | 128 + .../typed/cr/v1/generated_expansion.go | 21 + .../externalversions/cr/interface.go | 46 + .../externalversions/cr/v1/example.go | 89 + .../externalversions/cr/v1/interface.go | 45 + .../informers/externalversions/factory.go | 180 + .../informers/externalversions/generic.go | 62 + .../internalinterfaces/factory_interfaces.go | 38 + .../pkg/client/listers/cr/v1/example.go | 94 + .../listers/cr/v1/expansion_generated.go | 27 + .../hack/boilerplate.go.txt | 16 + .../hack/build-image.sh | 30 + .../hack/update-codegen.sh | 80 + .../hack/verify-codegen.sh | 49 + vendor/k8s.io/apiextensions-apiserver/main.go | 40 + .../pkg/apis/apiextensions/deepcopy.go | 262 + .../pkg/apis/apiextensions/doc.go | 21 + .../pkg/apis/apiextensions/fuzzer/fuzzer.go | 142 + .../pkg/apis/apiextensions/helpers.go | 149 + .../pkg/apis/apiextensions/install/install.go | 31 + .../pkg/apis/apiextensions/register.go | 51 + .../pkg/apis/apiextensions/types.go | 250 + .../apis/apiextensions/types_jsonschema.go | 96 + .../apis/apiextensions/v1beta1/conversion.go | 73 + .../apis/apiextensions/v1beta1/deepcopy.go | 238 + .../apis/apiextensions/v1beta1/defaults.go | 74 + .../pkg/apis/apiextensions/v1beta1/doc.go | 24 + .../apiextensions/v1beta1/generated.pb.go | 6023 +++++++ .../apiextensions/v1beta1/generated.proto | 354 + .../pkg/apis/apiextensions/v1beta1/marshal.go | 135 + .../apis/apiextensions/v1beta1/register.go | 61 + .../pkg/apis/apiextensions/v1beta1/types.go | 253 + .../apiextensions/v1beta1/types_jsonschema.go | 150 + .../v1beta1/zz_generated.conversion.go | 967 ++ .../v1beta1/zz_generated.deepcopy.go | 506 + .../v1beta1/zz_generated.defaults.go | 48 + .../apiextensions/validation/validation.go | 523 + .../apiextensions/zz_generated.deepcopy.go | 485 + .../pkg/apiserver/apiserver.go | 214 + .../pkg/apiserver/conversion/converter.go | 117 + .../pkg/apiserver/conversion/nop_converter.go | 79 + .../pkg/apiserver/customresource_discovery.go | 127 + .../customresource_discovery_controller.go | 275 + .../pkg/apiserver/customresource_handler.go | 883 ++ .../pkg/apiserver/validation/validation.go | 249 + .../client/clientset/clientset/clientset.go | 98 + .../pkg/client/clientset/clientset/doc.go | 20 + .../clientset/fake/clientset_generated.go | 82 + .../client/clientset/clientset/fake/doc.go | 20 + .../clientset/clientset/fake/register.go | 54 + .../client/clientset/clientset/scheme/doc.go | 20 + .../clientset/clientset/scheme/register.go | 54 + .../v1beta1/apiextensions_client.go | 90 + .../v1beta1/customresourcedefinition.go | 163 + .../typed/apiextensions/v1beta1/doc.go | 20 + .../typed/apiextensions/v1beta1/fake/doc.go | 20 + .../v1beta1/fake/fake_apiextensions_client.go | 40 + .../fake/fake_customresourcedefinition.go | 131 + .../v1beta1/generated_expansion.go | 21 + .../clientset/internalclientset/clientset.go | 90 + .../client/clientset/internalclientset/doc.go | 20 + .../fake/clientset_generated.go | 77 + .../clientset/internalclientset/fake/doc.go | 20 + .../internalclientset/fake/register.go | 54 + .../clientset/internalclientset/scheme/doc.go | 20 + .../internalclientset/scheme/register.go | 41 + .../internalversion/apiextensions_client.go | 96 + .../customresourcedefinition.go | 163 + .../apiextensions/internalversion/doc.go | 20 + .../apiextensions/internalversion/fake/doc.go | 20 + .../fake/fake_apiextensions_client.go | 40 + .../fake/fake_customresourcedefinition.go | 131 + .../internalversion/generated_expansion.go | 21 + .../apiextensions/interface.go | 46 + .../v1beta1/customresourcedefinition.go | 88 + .../apiextensions/v1beta1/interface.go | 45 + .../informers/externalversions/factory.go | 180 + .../informers/externalversions/generic.go | 62 + .../internalinterfaces/factory_interfaces.go | 38 + .../apiextensions/interface.go | 46 + .../customresourcedefinition.go | 88 + .../internalversion/interface.go | 45 + .../informers/internalversion/factory.go | 180 + .../informers/internalversion/generic.go | 62 + .../internalinterfaces/factory_interfaces.go | 38 + .../customresourcedefinition.go | 65 + .../internalversion/expansion_generated.go | 23 + .../v1beta1/customresourcedefinition.go | 65 + .../v1beta1/expansion_generated.go | 23 + .../pkg/cmd/server/start.go | 145 + .../establish/establishing_controller.go | 142 + .../pkg/controller/finalizer/crd_finalizer.go | 327 + .../controller/status/naming_controller.go | 374 + .../pkg/features/OWNERS | 2 + .../pkg/features/kube_features.go | 55 + .../pkg/registry/customresource/etcd.go | 321 + .../pkg/registry/customresource/registry.go | 104 + .../customresource/status_strategy.go | 59 + .../pkg/registry/customresource/strategy.go | 185 + .../tableconvertor/tableconvertor.go | 172 + .../pkg/registry/customresource/validator.go | 195 + .../registry/customresourcedefinition/etcd.go | 177 + .../customresourcedefinition/strategy.go | 202 + .../certificates/apiserver.crt | 19 + .../certificates/apiserver.key | 27 + .../test/integration/helpers.go | 94 + .../test/integration/testserver/resources.go | 377 + .../test/integration/testserver/start.go | 161 + .../containerized-data-importer/.gitignore | 4 + .../containerized-data-importer/.travis.yml | 8 + .../containerized-data-importer/Makefile | 9 + .../containerized-data-importer/README.md | 2 +- .../api/openapi-spec/swagger.json | 1803 +++ .../check-patch.k8s-1.11.0-release.mounts | 0 .../check-patch.k8s-1.11.0-release.packages | 0 .../check-patch.k8s-1.11.0-release.sh | 0 ...eck-patch.openshift-3.11.0-release.mounts} | 0 ...k-patch.openshift-3.11.0-release.packages} | 0 ...> check-patch.openshift-3.11.0-release.sh} | 0 .../automation/test.sh | 4 +- .../containerized-data-importer/cluster/up.sh | 6 +- .../cmd/cdi-cloner/clonertarget.go | 22 +- .../cmd/cdi-controller/controller.go | 31 +- .../cmd/cdi-controller/leaderelection.go | 112 + .../cmd/cdi-importer/importer.go | 4 +- .../doc/blank-raw-image.md | 69 + .../containerized-data-importer/glide.lock | 40 +- .../containerized-data-importer/glide.yaml | 2 + .../hack/README.md | 4 +- .../hack/build/common.sh | 1 + .../hack/build/config.sh | 11 +- .../hack/build/docker/builder/Dockerfile | 16 +- .../hack/build/docker/builder/entrypoint.sh | 6 + .../hack/build/in-docker.sh | 15 +- .../hack/build/release-description.sh | 7 +- .../hack/gen-swagger-doc/build.gradle | 35 + .../hack/gen-swagger-doc/deploy.sh | 50 + .../hack/gen-swagger-doc/gen-swagger-docs.sh | 104 + .../hack/gen-swagger-doc/gradle.properties | 1 + .../hack/update-codegen.sh | 11 +- .../example/local-pv-allocation-claim.yaml | 11 +- .../templates/cdi-controller.yaml.in | 6 +- ...ated.deepcopy.go => deepcopy_generated.go} | 73 +- .../apis/datavolumecontroller/v1alpha1/doc.go | 1 + .../v1alpha1/openapi_generated.go | 356 + .../datavolumecontroller/v1alpha1/types.go | 4 + .../v1alpha1/types_swagger_generated.go | 79 + ...ated.deepcopy.go => deepcopy_generated.go} | 0 .../pkg/apis/uploadcontroller/v1alpha1/doc.go | 1 + .../v1alpha1/openapi_generated.go | 171 + .../apis/uploadcontroller/v1alpha1/types.go | 11 +- .../v1alpha1/types_swagger_generated.go | 32 + .../pkg/apiserver/apiserver.go | 24 +- .../pkg/apiserver/authorizer.go | 6 +- .../pkg/image/skopeo.go | 19 +- .../pkg/importer/dataStream.go | 4 +- .../pkg/importer/util.go | 23 - .../pkg/system/prlimit.go | 2 + .../pkg/uploadproxy/uploadproxy.go | 4 +- .../pkg/util/util.go | 36 + .../containerized-data-importer/stdci.yaml | 4 +- .../tests/framework/pvc.go | 2 +- .../tests/reporters/reporters.go | 2 +- .../tests/utils/pvc.go | 3 + .../tests/utils/secrets.go | 2 +- .../openapi-spec-generator/definitions.go | 355 + .../openapi-spec-generator.go | 43 + .../tools/openapi-spec-generator/openapi.go | 77 + vendor/kubevirt.io/kubevirt/.gitignore | 5 +- vendor/kubevirt.io/kubevirt/.travis.yml | 4 + vendor/kubevirt.io/kubevirt/Makefile | 11 +- .../kubevirt/api/openapi-spec/swagger.json | 177 +- ... check-patch.k8s-1.10.11.environment.yaml} | 0 .../check-patch.k8s-1.10.11.mounts} | 0 .../check-patch.k8s-1.10.11.packages} | 0 .../automation/check-patch.k8s-1.10.11.sh} | 0 ...> check-patch.k8s-1.11.0.environment.yaml} | 0 ...e.mounts => check-patch.k8s-1.11.0.mounts} | 0 ...ckages => check-patch.k8s-1.11.0.packages} | 0 ...4-release.sh => check-patch.k8s-1.11.0.sh} | 0 ...k-patch.k8s-genie-1.11.1.environment.yaml} | 0 ...ts => check-patch.k8s-genie-1.11.1.mounts} | 0 ... => check-patch.k8s-genie-1.11.1.packages} | 0 ...dev.sh => check-patch.k8s-genie-1.11.1.sh} | 0 ...-patch.k8s-multus-1.12.2.environment.yaml} | 0 ...s => check-patch.k8s-multus-1.12.2.mounts} | 0 ...=> check-patch.k8s-multus-1.12.2.packages} | 0 ...se.sh => check-patch.k8s-multus-1.12.2.sh} | 0 ...atch.openshift-3.11-crio.environment.yaml} | 0 ...=> check-patch.openshift-3.11-crio.mounts} | 0 ... check-patch.openshift-3.11-crio.packages} | 0 ....sh => check-patch.openshift-3.11-crio.sh} | 0 ...ch.openshift-3.11-multus.environment.yaml} | 0 ... check-patch.openshift-3.11-multus.mounts} | 0 ...heck-patch.openshift-3.11-multus.packages} | 0 ...h => check-patch.openshift-3.11-multus.sh} | 0 ...ch.openshift-3.11-release.environment.yaml | 1 - ...eck-patch.openshift-3.11.environment.yaml} | 0 ...unts => check-patch.openshift-3.11.mounts} | 0 ...es => check-patch.openshift-3.11.packages} | 0 ...lease.sh => check-patch.openshift-3.11.sh} | 0 ...patch.windows2016-release.environment.yaml | 1 - .../check-patch.windows2016-release.mounts | 1 - .../check-patch.windows2016-release.packages | 1 - .../check-patch.windows2016-release.sh | 1 - ... check-patch.windows2016.environment.yaml} | 0 ....mounts => check-patch.windows2016.mounts} | 0 ...kages => check-patch.windows2016.packages} | 0 ...-release.sh => check-patch.windows2016.sh} | 0 .../kubevirt.io/kubevirt/automation/test.sh | 8 +- vendor/kubevirt.io/kubevirt/cluster/clean.sh | 67 +- vendor/kubevirt.io/kubevirt/cluster/cli.sh | 5 +- .../kubevirt/cluster/deploy-operator.sh | 55 + vendor/kubevirt.io/kubevirt/cluster/deploy.sh | 27 +- .../cluster/ephemeral-provider-common.sh | 2 +- .../cluster/examples/migration-job.yaml | 5 +- .../examples/vm-alpine-datavolume.yaml | 9 +- .../cluster/examples/vm-alpine-multipvc.yaml | 12 +- .../kubevirt/cluster/examples/vm-cirros.yaml | 12 +- .../cluster/examples/vm-template-fedora.yaml | 10 +- .../cluster/examples/vm-template-rhel7.yaml | 7 +- .../examples/vm-template-windows2012r2.yaml | 10 +- .../cluster/examples/vmi-block-pvc.yaml | 8 +- .../cluster/examples/vmi-ephemeral.yaml | 8 +- .../kubevirt/cluster/examples/vmi-fedora.yaml | 11 +- .../cluster/examples/vmi-flavor-small.yaml | 8 +- .../examples/vmi-genie-multiple-net.yaml | 11 +- .../cluster/examples/vmi-genie-ptp.yaml | 11 +- .../cluster/examples/vmi-host-disk.yaml | 8 +- .../cluster/examples/vmi-masquerade.yaml | 11 +- .../cluster/examples/vmi-migratable.yaml | 8 +- .../examples/vmi-multus-multiple-net.yaml | 11 +- .../cluster/examples/vmi-multus-ptp.yaml | 11 +- .../cluster/examples/vmi-nocloud.yaml | 14 +- .../cluster/examples/vmi-preset-small.yaml | 4 +- .../kubevirt/cluster/examples/vmi-pvc.yaml | 8 +- .../examples/vmi-replicaset-cirros.yaml | 9 +- .../kubevirt/cluster/examples/vmi-sata.yaml | 8 +- .../kubevirt/cluster/examples/vmi-slirp.yaml | 11 +- .../kubevirt/cluster/examples/vmi-sriov.yaml | 11 +- .../cluster/examples/vmi-windows.yaml | 8 +- .../examples/vmi-with-sidecar-hook.yaml | 11 +- .../{k8s-1.10.4 => k8s-1.10.11}/README.md | 4 +- .../{k8s-1.10.4 => k8s-1.10.11}/provider.sh | 2 +- .../cmd/container-disk-v1alpha/entry-point.sh | 20 + .../cmd/example-hook-sidecar/smbios.go | 2 +- .../cmd/virt-launcher/virt-launcher.go | 7 +- .../kubevirt/cmd/virt-operator/Dockerfile | 30 + .../cmd/virt-operator/virt-operator.go | 31 + .../kubevirt/docs/env-providers.md | 4 +- .../kubevirt/docs/getting-started.md | 7 +- vendor/kubevirt.io/kubevirt/docs/sriov.md | 7 + vendor/kubevirt.io/kubevirt/glide.lock | 54 +- vendor/kubevirt.io/kubevirt/glide.yaml | 10 +- .../kubevirt.io/kubevirt/hack/build-docker.sh | 11 + .../hack/build-func-tests-container.sh | 25 + .../kubevirt/hack/build-manifests.sh | 40 +- vendor/kubevirt.io/kubevirt/hack/common.sh | 14 +- .../kubevirt/hack/config-default.sh | 5 +- vendor/kubevirt.io/kubevirt/hack/config.sh | 4 +- vendor/kubevirt.io/kubevirt/hack/coverage.sh | 4 +- vendor/kubevirt.io/kubevirt/hack/functests.sh | 2 +- .../kubevirt/hack/gen-swagger-doc/deploy.sh | 2 +- vendor/kubevirt.io/kubevirt/hack/generate.sh | 19 +- .../kubevirt/hack/release-announce.sh | 2 +- .../manifests/dev/kubevirt-ns.yaml.in | 7 - .../dev/rbac.authorization.k8s.yaml.in | 401 - .../manifests/dev/replicaset-resource.yaml.in | 1 - .../kubevirt/manifests/dev/virt-api.yaml.in | 65 - .../manifests/dev/virt-controller.yaml.in | 61 - .../manifests/dev/virt-handler.yaml.in | 81 - .../manifests/dev/vm-resource.yaml.in | 1 - .../manifests/dev/vmi-resource.yaml.in | 1 - .../manifests/dev/vmim-resource.yaml.in | 1 - .../manifests/dev/vmipreset-resource.yaml.in | 1 - .../manifests/generated/kubevirt-cr.yaml.in | 8 + .../manifests/generated/kv-resource.yaml | 25 + .../{dev => generated}/prometheus.yaml.in | 15 +- .../generated/rbac.authorization.k8s.yaml.in | 396 + .../manifests/generated/virt-api.yaml.in | 68 + .../generated/virt-controller.yaml.in | 59 + .../manifests/generated/virt-handler.yaml.in | 78 + .../manifests/generated/vm-resource.yaml | 3 +- .../manifests/generated/vmi-resource.yaml | 3 +- .../manifests/generated/vmim-resource.yaml | 3 +- .../generated/vmipreset-resource.yaml | 3 +- .../manifests/generated/vmirs-resource.yaml | 8 +- .../manifests/release/demo-content.yaml.in | 2 +- .../manifests/release/kubevirt-cr.yaml.in | 1 + .../release/kubevirt-operator.yaml.in | 109 + .../manifests/release/kubevirt.yaml.in | 625 +- ...{cdi-v1.3.0.yaml.in => cdi-v1.4.1.yaml.in} | 134 +- .../testing/disks-images-provider.yaml.in | 46 +- .../testing/local-block-storage.yaml.in | 18 - .../manifests/testing/ocp/ssc-for-ocp.yaml.in | 30 + .../kubevirt/pkg/api/v1/deepcopy_generated.go | 136 +- .../kubevirt/pkg/api/v1/openapi_generated.go | 307 +- .../kubevirt.io/kubevirt/pkg/api/v1/schema.go | 15 +- .../pkg/api/v1/schema_swagger_generated.go | 5 +- .../kubevirt.io/kubevirt/pkg/api/v1/types.go | 125 +- .../pkg/api/v1/types_swagger_generated.go | 39 +- .../pkg/api/v1/zz_generated.defaults.go | 2 +- .../kubevirt/pkg/controller/conditions.go | 23 +- .../kubevirt/pkg/controller/expectations.go | 33 +- .../kubevirt/pkg/controller/virtinformers.go | 156 + .../pkg/kubecli/generated_mock_kubevirt.go | 372 +- .../kubevirt/pkg/kubecli/kubecli.go | 36 +- .../kubevirt/pkg/kubecli/kubevirt.go | 47 +- .../pkg/kubecli/kubevirt_test_utils.go | 8 + vendor/kubevirt.io/kubevirt/pkg/kubecli/kv.go | 133 + .../kubevirt/pkg/kubecli/replicaset.go | 42 +- vendor/kubevirt.io/kubevirt/pkg/kubecli/vm.go | 2 +- .../kubevirt.io/kubevirt/pkg/kubecli/vmi.go | 49 +- .../kubevirt/pkg/staging/glog/glog.go | 2 +- .../kubevirt/pkg/util/hardware/hw_utils.go | 23 + .../kubevirt/pkg/util/openapi/openapi.go | 15 +- .../kubevirt.io/kubevirt/pkg/virt-api/api.go | 231 +- .../kubevirt/pkg/virt-api/filesystem.go | 34 + .../pkg/virt-api/generated_mock_filesystem.go | 105 + .../kubevirt/pkg/virt-api/rest/authorizer.go | 6 +- .../rest/generated_mock_authorizer.go | 96 + .../kubevirt/pkg/virt-api/rest/subresource.go | 16 +- .../validating-webhook/validating-webhook.go | 42 +- .../pkg/virt-controller/services/template.go | 11 +- .../pkg/virt-controller/watch/replicaset.go | 54 +- .../kubevirt/pkg/virt-controller/watch/vm.go | 4 +- .../kubevirt/pkg/virt-controller/watch/vmi.go | 43 +- .../deviceplugin/v1alpha/constants.go | 2 +- .../kubevirt/pkg/virt-handler/vm.go | 74 +- .../pkg/virt-launcher/notify-client/client.go | 42 +- .../virtwrap/agent-poller/agent_poller.go | 231 + .../virt-launcher/virtwrap/api/converter.go | 106 +- .../virtwrap/api/deepcopy_generated.go | 57 +- .../pkg/virt-launcher/virtwrap/api/schema.go | 18 +- .../virtwrap/api/zz_generated.defaults.go | 2 +- .../virtwrap/cli/generated_mock_libvirt.go | 11 + .../pkg/virt-launcher/virtwrap/cli/libvirt.go | 10 + .../pkg/virt-launcher/virtwrap/manager.go | 2 +- .../virtwrap/network/dhcp/dhcp.go | 23 +- .../virtwrap/network/podinterface.go | 2 + .../kubevirt/pkg/virt-operator/application.go | 183 + .../pkg/virt-operator/creation/all.go | 76 + .../virt-operator/creation/components/crds.go | 266 + .../creation/components/deployments.go | 480 + .../virt-operator/creation/rbac/apiserver.go | 389 + .../virt-operator/creation/rbac/cluster.go | 353 + .../virt-operator/creation/rbac/controller.go | 249 + .../pkg/virt-operator/deletion/all.go | 240 + .../kubevirt/pkg/virt-operator/kubevirt.go | 520 + .../kubevirt/pkg/virt-operator/util/client.go | 182 + .../kubevirt/pkg/virt-operator/util/config.go | 51 + .../kubevirt/pkg/virt-operator/util/types.go | 113 + vendor/kubevirt.io/kubevirt/stdci.yaml | 18 +- vendor/kubevirt.io/kubevirt/tests/Dockerfile | 46 + vendor/kubevirt.io/kubevirt/tests/README.md | 21 + .../kubevirt.io/kubevirt/tests/entrypoint.sh | 37 + vendor/kubevirt.io/kubevirt/tests/utils.go | 393 +- .../tools/crd-generator/crd-generator.go | 185 - .../manifest-templator/manifest-templator.go | 60 +- .../resource-generator/resource-generator.go | 98 + .../kubevirt/tools/util/marshaller.go | 82 + .../tools/vms-generator/utils/utils.go | 73 +- .../tools/vms-generator/vms-generator.go | 20 +- 1257 files changed, 174210 insertions(+), 23821 deletions(-) create mode 100644 vendor/github.com/go-openapi/jsonpointer/.drone.sec create mode 100644 vendor/github.com/go-openapi/jsonpointer/.drone.yml delete mode 100644 vendor/github.com/go-openapi/jsonpointer/.editorconfig create mode 100644 vendor/github.com/go-openapi/jsonpointer/.pullapprove.yml delete mode 100644 vendor/github.com/go-openapi/jsonpointer/.travis.yml delete mode 100644 vendor/github.com/go-openapi/jsonpointer/go.mod delete mode 100644 vendor/github.com/go-openapi/jsonpointer/go.sum create mode 100644 vendor/github.com/go-openapi/jsonreference/.drone.sec create mode 100644 vendor/github.com/go-openapi/jsonreference/.drone.yml create mode 100644 vendor/github.com/go-openapi/jsonreference/.pullapprove.yml delete mode 100644 vendor/github.com/go-openapi/jsonreference/.travis.yml delete mode 100644 vendor/github.com/go-openapi/jsonreference/go.mod delete mode 100644 vendor/github.com/go-openapi/jsonreference/go.sum delete mode 100644 vendor/github.com/go-openapi/swag/.golangci.yml delete mode 100644 vendor/github.com/go-openapi/swag/doc.go delete mode 100644 vendor/github.com/go-openapi/swag/go.mod delete mode 100644 vendor/github.com/go-openapi/swag/go.sum delete mode 100644 vendor/github.com/go-openapi/swag/post_go18.go delete mode 100644 vendor/github.com/go-openapi/swag/post_go19.go delete mode 100644 vendor/github.com/go-openapi/swag/pre_go18.go delete mode 100644 vendor/github.com/go-openapi/swag/pre_go19.go create mode 100644 vendor/github.com/gogo/protobuf/go.mod create mode 100644 vendor/github.com/gogo/protobuf/go.sum create mode 100644 vendor/github.com/gogo/protobuf/proto/deprecated.go create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.pb.go create mode 100644 vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.proto create mode 100644 vendor/github.com/openshift/api/.gitattributes create mode 100644 vendor/github.com/openshift/api/.gitignore create mode 100644 vendor/github.com/openshift/api/.travis.yml create mode 100644 vendor/github.com/openshift/api/LICENSE create mode 100644 vendor/github.com/openshift/api/Makefile create mode 100644 vendor/github.com/openshift/api/OWNERS create mode 100644 vendor/github.com/openshift/api/README.md create mode 100644 vendor/github.com/openshift/api/apps/OWNERS create mode 100644 vendor/github.com/openshift/api/apps/install.go create mode 100644 vendor/github.com/openshift/api/apps/v1/consts.go create mode 100644 vendor/github.com/openshift/api/apps/v1/deprecated_consts.go create mode 100644 vendor/github.com/openshift/api/apps/v1/doc.go create mode 100644 vendor/github.com/openshift/api/apps/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/apps/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/apps/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/apps/v1/register.go create mode 100644 vendor/github.com/openshift/api/apps/v1/types.go create mode 100644 vendor/github.com/openshift/api/apps/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/authorization/OWNERS create mode 100644 vendor/github.com/openshift/api/authorization/install.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/codec.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/doc.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/authorization/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/register.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/types.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/build/OWNERS create mode 100644 vendor/github.com/openshift/api/build/install.go create mode 100644 vendor/github.com/openshift/api/build/v1/consts.go create mode 100644 vendor/github.com/openshift/api/build/v1/doc.go create mode 100644 vendor/github.com/openshift/api/build/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/build/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/build/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/build/v1/register.go create mode 100644 vendor/github.com/openshift/api/build/v1/types.go create mode 100644 vendor/github.com/openshift/api/build/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/config/install.go create mode 100644 vendor/github.com/openshift/api/config/v1/doc.go create mode 100644 vendor/github.com/openshift/api/config/v1/register.go create mode 100644 vendor/github.com/openshift/api/config/v1/stringsource.go create mode 100644 vendor/github.com/openshift/api/config/v1/types.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_authentication.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_build.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_cluster_operator.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_cluster_version.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_console.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_dns.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_image.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_infrastructure.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_ingress.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_network.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_oauth.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_project.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_proxy.go create mode 100644 vendor/github.com/openshift/api/config/v1/types_scheduling.go create mode 100644 vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/glide.lock create mode 100644 vendor/github.com/openshift/api/glide.yaml create mode 100644 vendor/github.com/openshift/api/hack/empty.txt create mode 100644 vendor/github.com/openshift/api/hack/lib/init.sh create mode 100755 vendor/github.com/openshift/api/hack/update-deepcopy.sh create mode 100755 vendor/github.com/openshift/api/hack/update-deps.sh create mode 100755 vendor/github.com/openshift/api/hack/update-protobuf.sh create mode 100755 vendor/github.com/openshift/api/hack/update-swagger-docs.sh create mode 100755 vendor/github.com/openshift/api/hack/verify-deepcopy.sh create mode 100755 vendor/github.com/openshift/api/hack/verify-protobuf.sh create mode 100755 vendor/github.com/openshift/api/hack/verify-swagger-docs.sh create mode 100644 vendor/github.com/openshift/api/image/OWNERS create mode 100644 vendor/github.com/openshift/api/image/docker10/doc.go create mode 100644 vendor/github.com/openshift/api/image/docker10/dockertypes.go create mode 100644 vendor/github.com/openshift/api/image/docker10/register.go create mode 100644 vendor/github.com/openshift/api/image/docker10/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/image/dockerpre012/deepcopy.go create mode 100644 vendor/github.com/openshift/api/image/dockerpre012/doc.go create mode 100644 vendor/github.com/openshift/api/image/dockerpre012/dockertypes.go create mode 100644 vendor/github.com/openshift/api/image/dockerpre012/register.go create mode 100644 vendor/github.com/openshift/api/image/dockerpre012/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/image/install.go create mode 100644 vendor/github.com/openshift/api/image/v1/doc.go create mode 100644 vendor/github.com/openshift/api/image/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/image/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/image/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/image/v1/register.go create mode 100644 vendor/github.com/openshift/api/image/v1/types.go create mode 100644 vendor/github.com/openshift/api/image/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/install.go create mode 100644 vendor/github.com/openshift/api/kubecontrolplane/install.go create mode 100644 vendor/github.com/openshift/api/kubecontrolplane/v1/doc.go create mode 100644 vendor/github.com/openshift/api/kubecontrolplane/v1/register.go create mode 100644 vendor/github.com/openshift/api/kubecontrolplane/v1/types.go create mode 100644 vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/legacyconfig/v1/doc.go create mode 100644 vendor/github.com/openshift/api/legacyconfig/v1/register.go create mode 100644 vendor/github.com/openshift/api/legacyconfig/v1/serialization.go create mode 100644 vendor/github.com/openshift/api/legacyconfig/v1/stringsource.go create mode 100644 vendor/github.com/openshift/api/legacyconfig/v1/types.go create mode 100644 vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/network/OWNERS create mode 100644 vendor/github.com/openshift/api/network/install.go create mode 100644 vendor/github.com/openshift/api/network/v1/constants.go create mode 100644 vendor/github.com/openshift/api/network/v1/doc.go create mode 100644 vendor/github.com/openshift/api/network/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/network/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/network/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/network/v1/register.go create mode 100644 vendor/github.com/openshift/api/network/v1/types.go create mode 100644 vendor/github.com/openshift/api/network/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/oauth/OWNERS create mode 100644 vendor/github.com/openshift/api/oauth/install.go create mode 100644 vendor/github.com/openshift/api/oauth/v1/doc.go create mode 100644 vendor/github.com/openshift/api/oauth/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/oauth/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/oauth/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/oauth/v1/register.go create mode 100644 vendor/github.com/openshift/api/oauth/v1/types.go create mode 100644 vendor/github.com/openshift/api/oauth/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/openshiftcontrolplane/install.go create mode 100644 vendor/github.com/openshift/api/openshiftcontrolplane/v1/doc.go create mode 100644 vendor/github.com/openshift/api/openshiftcontrolplane/v1/register.go create mode 100644 vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go create mode 100644 vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/operator/install.go create mode 100644 vendor/github.com/openshift/api/operator/v1/doc.go create mode 100644 vendor/github.com/openshift/api/operator/v1/register.go create mode 100644 vendor/github.com/openshift/api/operator/v1/types.go create mode 100644 vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/operator/v1alpha1/doc.go create mode 100644 vendor/github.com/openshift/api/operator/v1alpha1/register.go create mode 100644 vendor/github.com/openshift/api/operator/v1alpha1/types.go create mode 100644 vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/osin/install.go create mode 100644 vendor/github.com/openshift/api/osin/v1/doc.go create mode 100644 vendor/github.com/openshift/api/osin/v1/register.go create mode 100644 vendor/github.com/openshift/api/osin/v1/types.go create mode 100644 vendor/github.com/openshift/api/osin/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/pkg/serialization/serialization.go create mode 100644 vendor/github.com/openshift/api/pkg/testing/doc.go create mode 100644 vendor/github.com/openshift/api/project/OWNERS create mode 100644 vendor/github.com/openshift/api/project/install.go create mode 100644 vendor/github.com/openshift/api/project/v1/doc.go create mode 100644 vendor/github.com/openshift/api/project/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/project/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/project/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/project/v1/register.go create mode 100644 vendor/github.com/openshift/api/project/v1/types.go create mode 100644 vendor/github.com/openshift/api/project/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/quota/OWNERS create mode 100644 vendor/github.com/openshift/api/quota/install.go create mode 100644 vendor/github.com/openshift/api/quota/v1/doc.go create mode 100644 vendor/github.com/openshift/api/quota/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/quota/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/quota/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/quota/v1/register.go create mode 100644 vendor/github.com/openshift/api/quota/v1/types.go create mode 100644 vendor/github.com/openshift/api/quota/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/route/OWNERS create mode 100644 vendor/github.com/openshift/api/route/install.go create mode 100644 vendor/github.com/openshift/api/route/v1/doc.go create mode 100644 vendor/github.com/openshift/api/route/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/route/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/route/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/route/v1/register.go create mode 100644 vendor/github.com/openshift/api/route/v1/types.go create mode 100644 vendor/github.com/openshift/api/route/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/security/OWNERS create mode 100644 vendor/github.com/openshift/api/security/install.go create mode 100644 vendor/github.com/openshift/api/security/v1/doc.go create mode 100644 vendor/github.com/openshift/api/security/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/security/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/security/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/security/v1/register.go create mode 100644 vendor/github.com/openshift/api/security/v1/types.go create mode 100644 vendor/github.com/openshift/api/security/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/servicecertsigner/install.go create mode 100644 vendor/github.com/openshift/api/servicecertsigner/v1alpha1/doc.go create mode 100644 vendor/github.com/openshift/api/servicecertsigner/v1alpha1/register.go create mode 100644 vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go create mode 100644 vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/template/OWNERS create mode 100644 vendor/github.com/openshift/api/template/install.go create mode 100644 vendor/github.com/openshift/api/template/v1/codec.go create mode 100644 vendor/github.com/openshift/api/template/v1/consts.go create mode 100644 vendor/github.com/openshift/api/template/v1/doc.go create mode 100644 vendor/github.com/openshift/api/template/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/template/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/template/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/template/v1/register.go create mode 100644 vendor/github.com/openshift/api/template/v1/types.go create mode 100644 vendor/github.com/openshift/api/template/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/tools/genswaggertypedocs/swagger_type_docs.go create mode 100644 vendor/github.com/openshift/api/user/OWNERS create mode 100644 vendor/github.com/openshift/api/user/install.go create mode 100644 vendor/github.com/openshift/api/user/v1/doc.go create mode 100644 vendor/github.com/openshift/api/user/v1/generated.pb.go create mode 100644 vendor/github.com/openshift/api/user/v1/generated.proto create mode 100644 vendor/github.com/openshift/api/user/v1/legacy.go create mode 100644 vendor/github.com/openshift/api/user/v1/register.go create mode 100644 vendor/github.com/openshift/api/user/v1/types.go create mode 100644 vendor/github.com/openshift/api/user/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/api/webconsole/install.go create mode 100644 vendor/github.com/openshift/api/webconsole/v1/doc.go create mode 100644 vendor/github.com/openshift/api/webconsole/v1/register.go create mode 100644 vendor/github.com/openshift/api/webconsole/v1/types.go create mode 100644 vendor/github.com/openshift/api/webconsole/v1/zz_generated.deepcopy.go create mode 100644 vendor/github.com/openshift/api/webconsole/v1/zz_generated.swagger_doc_generated.go create mode 100644 vendor/github.com/openshift/client-go/.gitignore create mode 100644 vendor/github.com/openshift/client-go/.travis.yml create mode 100644 vendor/github.com/openshift/client-go/INSTALL.md create mode 100644 vendor/github.com/openshift/client-go/LICENSE create mode 100644 vendor/github.com/openshift/client-go/Makefile create mode 100644 vendor/github.com/openshift/client-go/OWNERS create mode 100644 vendor/github.com/openshift/client-go/README.md create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/apps_client.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/deploymentconfig.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_apps_client.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_deploymentconfig.go create mode 100644 vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/interface.go create mode 100644 vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/deploymentconfig.go create mode 100644 vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/apps/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/apps/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/apps/listers/apps/v1/deploymentconfig.go create mode 100644 vendor/github.com/openshift/client-go/apps/listers/apps/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/authorization_client.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrole.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_authorization_client.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrole.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localresourceaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localsubjectaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_resourceaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_role.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebindingrestriction.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_selfsubjectrulesreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectrulesreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localresourceaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localsubjectaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/resourceaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/role.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebindingrestriction.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/selfsubjectrulesreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectaccessreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectrulesreview.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/interface.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrole.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/role.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebindingrestriction.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrole.go create mode 100644 vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/role.go create mode 100644 vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebinding.go create mode 100644 vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebindingrestriction.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build_client.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/buildconfig.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build_client.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_buildconfig.go create mode 100644 vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/build/informers/externalversions/build/interface.go create mode 100644 vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/build.go create mode 100644 vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/buildconfig.go create mode 100644 vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/build/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/build/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/build/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/build/listers/build/v1/build.go create mode 100644 vendor/github.com/openshift/client-go/build/listers/build/v1/buildconfig.go create mode 100644 vendor/github.com/openshift/client-go/build/listers/build/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/examples/build/README.md create mode 100644 vendor/github.com/openshift/client-go/examples/build/main.go create mode 100644 vendor/github.com/openshift/client-go/glide.lock create mode 100644 vendor/github.com/openshift/client-go/glide.yaml create mode 100644 vendor/github.com/openshift/client-go/hack/boilerplate.txt create mode 100755 vendor/github.com/openshift/client-go/hack/update-codegen.sh create mode 100755 vendor/github.com/openshift/client-go/hack/update-deps.sh create mode 100755 vendor/github.com/openshift/client-go/hack/verify-codegen.sh create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image_client.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagesignature.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestream.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimage.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimport.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreammapping.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamtag.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image_client.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagesignature.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestream.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimage.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimport.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreammapping.go create mode 100644 vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamtag.go create mode 100644 vendor/github.com/openshift/client-go/image/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/image/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/image/informers/externalversions/image/interface.go create mode 100644 vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/image.go create mode 100644 vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/imagestream.go create mode 100644 vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/image/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/image/listers/image/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/image/listers/image/v1/image.go create mode 100644 vendor/github.com/openshift/client-go/image/listers/image/v1/imagestream.go create mode 100644 vendor/github.com/openshift/client-go/image/listers/image/v1/imagestreamtag.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/clusternetwork.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/egressnetworkpolicy.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_clusternetwork.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_egressnetworkpolicy.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_hostsubnet.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_netnamespace.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_network_client.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/hostsubnet.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/netnamespace.go create mode 100644 vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/network_client.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/network/interface.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/clusternetwork.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/egressnetworkpolicy.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/hostsubnet.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/netnamespace.go create mode 100644 vendor/github.com/openshift/client-go/network/listers/network/v1/clusternetwork.go create mode 100644 vendor/github.com/openshift/client-go/network/listers/network/v1/egressnetworkpolicy.go create mode 100644 vendor/github.com/openshift/client-go/network/listers/network/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/network/listers/network/v1/hostsubnet.go create mode 100644 vendor/github.com/openshift/client-go/network/listers/network/v1/netnamespace.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauth_client.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthaccesstoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthauthorizetoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclient.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclientauthorization.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauth_client.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthaccesstoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthauthorizetoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclient.go create mode 100644 vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclientauthorization.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/interface.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthaccesstoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthauthorizetoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclient.go create mode 100644 vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclientauthorization.go create mode 100644 vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthaccesstoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthauthorizetoken.go create mode 100644 vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclient.go create mode 100644 vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclientauthorization.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project_client.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_projectrequest.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project_client.go create mode 100644 vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/projectrequest.go create mode 100644 vendor/github.com/openshift/client-go/project/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/project/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/project/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/project/informers/externalversions/project/interface.go create mode 100644 vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/project.go create mode 100644 vendor/github.com/openshift/client-go/project/listers/project/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/project/listers/project/v1/project.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/appliedclusterresourcequota.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/clusterresourcequota.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_appliedclusterresourcequota.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_clusterresourcequota.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_quota_client.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/quota_client.go create mode 100644 vendor/github.com/openshift/client-go/quota/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/quota/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/interface.go create mode 100644 vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/clusterresourcequota.go create mode 100644 vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/quota/listers/quota/v1/appliedclusterresourcequota.go create mode 100644 vendor/github.com/openshift/client-go/quota/listers/quota/v1/clusterresourcequota.go create mode 100644 vendor/github.com/openshift/client-go/quota/listers/quota/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route_client.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route.go create mode 100644 vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route_client.go create mode 100644 vendor/github.com/openshift/client-go/route/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/route/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/route/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/route/informers/externalversions/route/interface.go create mode 100644 vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/route.go create mode 100644 vendor/github.com/openshift/client-go/route/listers/route/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/route/listers/route/v1/route.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyreview.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyselfsubjectreview.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicysubjectreview.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_rangeallocation.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_security_client.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_securitycontextconstraints.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyreview.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyselfsubjectreview.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicysubjectreview.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/rangeallocation.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/security_client.go create mode 100644 vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/securitycontextconstraints.go create mode 100644 vendor/github.com/openshift/client-go/security/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/security/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/security/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/security/informers/externalversions/security/interface.go create mode 100644 vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/rangeallocation.go create mode 100644 vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/securitycontextconstraints.go create mode 100644 vendor/github.com/openshift/client-go/security/listers/security/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/security/listers/security/v1/rangeallocation.go create mode 100644 vendor/github.com/openshift/client-go/security/listers/security/v1/securitycontextconstraints.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/doc.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigner_client.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigneroperatorconfig.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigner_client.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/interface.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/interface.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/brokertemplateinstance.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_brokertemplateinstance.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template_client.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_templateinstance.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template_client.go create mode 100644 vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/templateinstance.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/template/interface.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/brokertemplateinstance.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/template.go create mode 100644 vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/templateinstance.go create mode 100644 vendor/github.com/openshift/client-go/template/listers/template/v1/brokertemplateinstance.go create mode 100644 vendor/github.com/openshift/client-go/template/listers/template/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/template/listers/template/v1/template.go create mode 100644 vendor/github.com/openshift/client-go/template/listers/template/v1/template_expansion.go create mode 100644 vendor/github.com/openshift/client-go/template/listers/template/v1/templateinstance.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/clientset.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/doc.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/fake/register.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/doc.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/register.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/doc.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/doc.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_group.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_identity.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user_client.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_useridentitymapping.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/generated_expansion.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/group.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/identity.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user_client.go create mode 100644 vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/useridentitymapping.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/factory.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/generic.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/user/interface.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/group.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/identity.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/interface.go create mode 100644 vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/user.go create mode 100644 vendor/github.com/openshift/client-go/user/listers/user/v1/expansion_generated.go create mode 100644 vendor/github.com/openshift/client-go/user/listers/user/v1/group.go create mode 100644 vendor/github.com/openshift/client-go/user/listers/user/v1/identity.go create mode 100644 vendor/github.com/openshift/client-go/user/listers/user/v1/user.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 vendor/k8s.io/apiextensions-apiserver/CONTRIBUTING.md create mode 100644 vendor/k8s.io/apiextensions-apiserver/Godeps/Godeps.json create mode 100644 vendor/k8s.io/apiextensions-apiserver/Godeps/OWNERS create mode 100644 vendor/k8s.io/apiextensions-apiserver/Godeps/Readme create mode 100644 vendor/k8s.io/apiextensions-apiserver/LICENSE create mode 100644 vendor/k8s.io/apiextensions-apiserver/OWNERS create mode 100644 vendor/k8s.io/apiextensions-apiserver/README.md create mode 100644 vendor/k8s.io/apiextensions-apiserver/SECURITY_CONTACTS create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-apiservice.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-resource-definition.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/example/apiservice.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-delegator.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-reader.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/example/rc.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/example/sa.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/example/service.yaml create mode 100644 vendor/k8s.io/apiextensions-apiserver/artifacts/simple-image/Dockerfile create mode 100644 vendor/k8s.io/apiextensions-apiserver/code-of-conduct.md create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/README.md create mode 100755 vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh create mode 100755 vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/verify-codegen.sh create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/types.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/clientset.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/clientset_generated.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/cr_client.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/example.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_cr_client.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_example.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/generated_expansion.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/interface.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/example.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/interface.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/factory.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/generic.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/example.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/expansion_generated.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/hack/boilerplate.go.txt create mode 100755 vendor/k8s.io/apiextensions-apiserver/hack/build-image.sh create mode 100755 vendor/k8s.io/apiextensions-apiserver/hack/update-codegen.sh create mode 100755 vendor/k8s.io/apiextensions-apiserver/hack/verify-codegen.sh create mode 100644 vendor/k8s.io/apiextensions-apiserver/main.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/fuzzer/fuzzer.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/helpers.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types_jsonschema.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/conversion.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/deepcopy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/defaults.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.pb.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/marshal.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/converter.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/nop_converter.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery_controller.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/validation/validation.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/apiextensions_client.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_apiextensions_client.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/generated_expansion.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/clientset.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/clientset_generated.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/register.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/apiextensions_client.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/doc.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_apiextensions_client.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/generated_expansion.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/interface.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/factory.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/generic.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/interface.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/interface.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/factory.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/generic.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces/factory_interfaces.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/expansion_generated.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/customresourcedefinition.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/expansion_generated.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/cmd/server/start.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/controller/establish/establishing_controller.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/controller/finalizer/crd_finalizer.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/controller/status/naming_controller.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/features/OWNERS create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/status_strategy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/strategy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor/tableconvertor.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/etcd.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/strategy.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.crt create mode 100644 vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.key create mode 100644 vendor/k8s.io/apiextensions-apiserver/test/integration/helpers.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/resources.go create mode 100644 vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/start.go create mode 100644 vendor/kubevirt.io/containerized-data-importer/api/openapi-spec/swagger.json rename vendor/kubevirt.io/{kubevirt => containerized-data-importer}/automation/check-patch.k8s-1.11.0-release.mounts (100%) rename vendor/kubevirt.io/{kubevirt => containerized-data-importer}/automation/check-patch.k8s-1.11.0-release.packages (100%) rename vendor/kubevirt.io/{kubevirt => containerized-data-importer}/automation/check-patch.k8s-1.11.0-release.sh (100%) rename vendor/kubevirt.io/containerized-data-importer/automation/{check-patch.k8s-1.10.4-release.mounts => check-patch.openshift-3.11.0-release.mounts} (100%) rename vendor/kubevirt.io/containerized-data-importer/automation/{check-patch.k8s-1.10.4-release.packages => check-patch.openshift-3.11.0-release.packages} (100%) rename vendor/kubevirt.io/containerized-data-importer/automation/{check-patch.k8s-1.10.4-release.sh => check-patch.openshift-3.11.0-release.sh} (100%) create mode 100644 vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/leaderelection.go create mode 100644 vendor/kubevirt.io/containerized-data-importer/doc/blank-raw-image.md create mode 100644 vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/build.gradle create mode 100755 vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/deploy.sh create mode 100755 vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gen-swagger-docs.sh create mode 100644 vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gradle.properties rename vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/{zz_generated.deepcopy.go => deepcopy_generated.go} (83%) create mode 100644 vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/openapi_generated.go create mode 100644 vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types_swagger_generated.go rename vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/{zz_generated.deepcopy.go => deepcopy_generated.go} (100%) create mode 100644 vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/openapi_generated.go create mode 100644 vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types_swagger_generated.go create mode 100644 vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/definitions.go create mode 100644 vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi-spec-generator.go create mode 100644 vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi.go rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.10.4-release.environment.yaml => check-patch.k8s-1.10.11.environment.yaml} (100%) rename vendor/kubevirt.io/{containerized-data-importer/automation/check-patch.openshift-3.10-release.mounts => kubevirt/automation/check-patch.k8s-1.10.11.mounts} (100%) rename vendor/kubevirt.io/{containerized-data-importer/automation/check-patch.openshift-3.10-release.packages => kubevirt/automation/check-patch.k8s-1.10.11.packages} (100%) rename vendor/kubevirt.io/{containerized-data-importer/automation/check-patch.openshift-3.10-release.sh => kubevirt/automation/check-patch.k8s-1.10.11.sh} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.11.0-dev.environment.yaml => check-patch.k8s-1.11.0.environment.yaml} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.10.4-release.mounts => check-patch.k8s-1.11.0.mounts} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.10.4-release.packages => check-patch.k8s-1.11.0.packages} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.10.4-release.sh => check-patch.k8s-1.11.0.sh} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.11.0-release.environment.yaml => check-patch.k8s-genie-1.11.1.environment.yaml} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.11.0-dev.mounts => check-patch.k8s-genie-1.11.1.mounts} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.11.0-dev.packages => check-patch.k8s-genie-1.11.1.packages} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-1.11.0-dev.sh => check-patch.k8s-genie-1.11.1.sh} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-genie-1.11.1-release.environment.yaml => check-patch.k8s-multus-1.12.2.environment.yaml} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-genie-1.11.1-release.mounts => check-patch.k8s-multus-1.12.2.mounts} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-genie-1.11.1-release.packages => check-patch.k8s-multus-1.12.2.packages} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-genie-1.11.1-release.sh => check-patch.k8s-multus-1.12.2.sh} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-multus-1.11.1-release.environment.yaml => check-patch.openshift-3.11-crio.environment.yaml} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-multus-1.12.2-release.mounts => check-patch.openshift-3.11-crio.mounts} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-multus-1.12.2-release.packages => check-patch.openshift-3.11-crio.packages} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.k8s-multus-1.12.2-release.sh => check-patch.openshift-3.11-crio.sh} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.10-multus-release.environment.yaml => check-patch.openshift-3.11-multus.environment.yaml} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-crio-release.mounts => check-patch.openshift-3.11-multus.mounts} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-crio-release.packages => check-patch.openshift-3.11-multus.packages} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-crio-release.sh => check-patch.openshift-3.11-multus.sh} (100%) delete mode 120000 vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.environment.yaml rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-crio-release.environment.yaml => check-patch.openshift-3.11.environment.yaml} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-multus-release.mounts => check-patch.openshift-3.11.mounts} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-multus-release.packages => check-patch.openshift-3.11.packages} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-multus-release.sh => check-patch.openshift-3.11.sh} (100%) delete mode 120000 vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.environment.yaml delete mode 120000 vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.mounts delete mode 120000 vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.packages delete mode 120000 vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.sh rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-multus-release.environment.yaml => check-patch.windows2016.environment.yaml} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-release.mounts => check-patch.windows2016.mounts} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-release.packages => check-patch.windows2016.packages} (100%) rename vendor/kubevirt.io/kubevirt/automation/{check-patch.openshift-3.11-release.sh => check-patch.windows2016.sh} (100%) create mode 100755 vendor/kubevirt.io/kubevirt/cluster/deploy-operator.sh rename vendor/kubevirt.io/kubevirt/cluster/{k8s-1.10.4 => k8s-1.10.11}/README.md (94%) rename vendor/kubevirt.io/kubevirt/cluster/{k8s-1.10.4 => k8s-1.10.11}/provider.sh (90%) create mode 100644 vendor/kubevirt.io/kubevirt/cmd/virt-operator/Dockerfile create mode 100644 vendor/kubevirt.io/kubevirt/cmd/virt-operator/virt-operator.go create mode 100755 vendor/kubevirt.io/kubevirt/hack/build-func-tests-container.sh delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/kubevirt-ns.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/rbac.authorization.k8s.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/replicaset-resource.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/virt-api.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/virt-controller.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/virt-handler.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/vm-resource.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/vmi-resource.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/vmim-resource.yaml.in delete mode 100644 vendor/kubevirt.io/kubevirt/manifests/dev/vmipreset-resource.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/manifests/generated/kubevirt-cr.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/manifests/generated/kv-resource.yaml rename vendor/kubevirt.io/kubevirt/manifests/{dev => generated}/prometheus.yaml.in (73%) create mode 100644 vendor/kubevirt.io/kubevirt/manifests/generated/rbac.authorization.k8s.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/manifests/generated/virt-api.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/manifests/generated/virt-controller.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/manifests/generated/virt-handler.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-cr.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-operator.yaml.in rename vendor/kubevirt.io/kubevirt/manifests/testing/{cdi-v1.3.0.yaml.in => cdi-v1.4.1.yaml.in} (69%) create mode 100644 vendor/kubevirt.io/kubevirt/manifests/testing/ocp/ssc-for-ocp.yaml.in create mode 100644 vendor/kubevirt.io/kubevirt/pkg/kubecli/kv.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-api/filesystem.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-api/generated_mock_filesystem.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/generated_mock_authorizer.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent-poller/agent_poller.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/application.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/all.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/crds.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/deployments.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/apiserver.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/cluster.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/controller.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/deletion/all.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/kubevirt.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/client.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go create mode 100644 vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/types.go create mode 100644 vendor/kubevirt.io/kubevirt/tests/Dockerfile create mode 100755 vendor/kubevirt.io/kubevirt/tests/entrypoint.sh delete mode 100644 vendor/kubevirt.io/kubevirt/tools/crd-generator/crd-generator.go create mode 100644 vendor/kubevirt.io/kubevirt/tools/resource-generator/resource-generator.go create mode 100644 vendor/kubevirt.io/kubevirt/tools/util/marshaller.go diff --git a/glide.yaml b/glide.yaml index 15df1f516..e644fb95f 100644 --- a/glide.yaml +++ b/glide.yaml @@ -5,11 +5,8 @@ import: - package: github.com/onsi/gomega version: dcabb60a477c2b6f456df65037cb6708210fbb02 - package: kubevirt.io/kubevirt - version: v0.12.0-alpha.2 + version: v0.13.0 repo: https://github.com/kubevirt/kubevirt.git - package: kubevirt.io/qe-tools version: v0.1.2 repo: https://github.com/kubevirt/qe-tools.git -- package: kubevirt.io/containerized-data-importer - repo: https://github.com/kubevirt/containerized-data-importer.git - version: v1.4.0 diff --git a/hack/run-tests.sh b/hack/run-tests.sh index f5d83f734..17e1bf28a 100755 --- a/hack/run-tests.sh +++ b/hack/run-tests.sh @@ -5,10 +5,10 @@ set -e source hack/common.sh prefix=${DOCKER_PREFIX:-kubevirt} -tag=${DOCKER_TAG:-v0.12.0-alpha.2} +tag=${DOCKER_TAG:-v0.13.0} kubeconfig=${KUBECONFIG:-~/.kube/config} [ -z "$OC_PATH" ] && OC_PATH=$(command -v oc) [ -z "$KUBECTL_PATH" ] && KUBECTL_PATH=$(which kubectl) [ -z "$VIRTCTL_PATH" ] && VIRTCTL_PATH=$(which virtctl) -${TESTS_OUT_DIR}/tests.test -kubeconfig=$kubeconfig -tag=$tag -prefix=$prefix -oc-path=${OC_PATH} -kubectl-path=${KUBECTL_PATH} -virtctl-path=${VIRTCTL_PATH} ${FUNC_TEST_ARGS} +${TESTS_OUT_DIR}/tests.test -kubeconfig=$kubeconfig -container-tag=$tag -container-prefix=$prefix -oc-path=${OC_PATH} -kubectl-path=${KUBECTL_PATH} -virtctl-path=${VIRTCTL_PATH} ${FUNC_TEST_ARGS} diff --git a/roles/kubevirt/README.md b/roles/kubevirt/README.md index f4b6bc993..063e54d60 100644 --- a/roles/kubevirt/README.md +++ b/roles/kubevirt/README.md @@ -16,12 +16,12 @@ Deploy KubeVirt resources onto a cluster. |registry_url | docker.io | |Container image registry.| | storage_role | storage-none |
  • storage-none
  • storage-demo
  • storage-glusterfs
| Storage role to install with KubeVirt.| | network_role | network-multus |
  • network-none
  • network-multus
| Network role to install with KubeVirt.| -| version |0.12.0-alpha.2|
  • 0.12.0-alpha.2
  • 0.9.6
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.1
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
|KubeVirt release version.| +| version |0.13.0|
  • 0.13.0
  • 0.9.6
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.1
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
|KubeVirt release version.| |default_vm_templates|
  • vm-template-fedora
  • vm-template-windows2012r2
  • vm-template-rhel7>
|| Default vm templates to deploy with KubeVirt.| |offline_template_dir| /opt/apb/kubevirt-templates || Offline VM template location specifed in the APB Dockerfile.| ### Usage ``` -ansible-playbook -i inventory -e version=0.12.0-alpha.2 -e apb_action=provision playbooks/kubevirt.yml +ansible-playbook -i inventory -e version=0.13.0 -e apb_action=provision playbooks/kubevirt.yml ``` diff --git a/roles/kubevirt/defaults/main.yml b/roles/kubevirt/defaults/main.yml index ff6cb0fb2..b5a4de69f 100644 --- a/roles/kubevirt/defaults/main.yml +++ b/roles/kubevirt/defaults/main.yml @@ -7,7 +7,7 @@ platform: "openshift" apb_action: "provision" kubevirt_template_dir: "{{ role_path }}/templates" -version: 0.12.0-alpha.2 +version: 0.13.0 docker_tag: "v{{ version }}" image_pull_policy: IfNotPresent diff --git a/roles/kubevirt/tasks/deprovision.yml b/roles/kubevirt/tasks/deprovision.yml index 4694664fb..c35d14835 100644 --- a/roles/kubevirt/tasks/deprovision.yml +++ b/roles/kubevirt/tasks/deprovision.yml @@ -10,8 +10,8 @@ dest: "/tmp/kubevirt-cr.yaml" when: kubevirt_cr.stat.exists == False -- name: Delete apiservices v1alpha2.subresources.kubevirt.io - command: "{{ cluster_command }} -n {{ namespace }} delete apiservices v1alpha2.subresources.kubevirt.io --ignore-not-found=true" +- name: Delete apiservices v1alpha3.subresources.kubevirt.io + command: "{{ cluster_command }} -n {{ namespace }} delete apiservices v1alpha3.subresources.kubevirt.io --ignore-not-found=true" - name: Ask the Operator to cleanup KubeVirt command: "{{ cluster_command }} delete -f /tmp/kubevirt-cr.yaml --ignore-not-found=true" diff --git a/roles/kubevirt/templates/kubevirt-cr.yaml.j2 b/roles/kubevirt/templates/kubevirt-cr.yaml.j2 index 38d595a0f..65916dc82 100644 --- a/roles/kubevirt/templates/kubevirt-cr.yaml.j2 +++ b/roles/kubevirt/templates/kubevirt-cr.yaml.j2 @@ -1,5 +1,5 @@ --- -apiVersion: kubevirt.io/v1alpha2 +apiVersion: kubevirt.io/v1alpha3 kind: KubeVirt metadata: name: kubevirt diff --git a/roles/kubevirt/templates/kubevirt-operator.yaml.j2 b/roles/kubevirt/templates/kubevirt-operator.yaml.j2 index 9d64ec1a4..c35aff726 100644 --- a/roles/kubevirt/templates/kubevirt-operator.yaml.j2 +++ b/roles/kubevirt/templates/kubevirt-operator.yaml.j2 @@ -22,7 +22,7 @@ spec: - kvs singular: kubevirt scope: Namespaced - version: v1alpha2 + version: v1alpha3 --- apiVersion: rbac.authorization.k8s.io/v1 diff --git a/roles/network-multus/defaults/main.yml b/roles/network-multus/defaults/main.yml index ff5ea35b0..ba08294c6 100644 --- a/roles/network-multus/defaults/main.yml +++ b/roles/network-multus/defaults/main.yml @@ -1,7 +1,7 @@ registry_url: "docker.io" registry_namespace: "kubevirt" network_namespace: "kube-system" -docker_tag: "v0.12.0-alpha.2" +docker_tag: "v0.13.0" multus_provisioner_name: "kube-multus-amd64" multus_provisioner_repo: "docker.io/nfvpe/multus" diff --git a/tests/e2e_test.go b/tests/e2e_test.go index ca8d8e7f1..9416f7095 100644 --- a/tests/e2e_test.go +++ b/tests/e2e_test.go @@ -15,7 +15,7 @@ const ( pvcName = "golden-pvc" pvcName1 = "golden-pvc1" vmName = "test-vm" - vmAPIVersion = "kubevirt.io/v1alpha2" + vmAPIVersion = "kubevirt.io/v1alpha3" rawPVCFilePath = "tests/manifests/golden-pvc.yml" rawVMFilePath = "tests/manifests/test-vm.yml" ) diff --git a/tests/high_performance_vm_test.go b/tests/high_performance_vm_test.go index 70af94552..ad89b4776 100644 --- a/tests/high_performance_vm_test.go +++ b/tests/high_performance_vm_test.go @@ -27,7 +27,7 @@ var _ = Describe("High performance vm test", func() { overcommitGuestOverheadStr = "Overcommit Guest Overhead: true" memoryOvercommit = "true" headless = "false" - vmAPIVersion = "kubevirt.io/v1alpha2" + vmAPIVersion = "kubevirt.io/v1alpha3" ) flag.Parse() diff --git a/tests/manifests/test-vm.yml b/tests/manifests/test-vm.yml index 4e0821c70..25cd0e6ae 100644 --- a/tests/manifests/test-vm.yml +++ b/tests/manifests/test-vm.yml @@ -17,15 +17,14 @@ objects: memory: 64M devices: disks: - - name: mydisk - volumeName: pvcvolume + - name: mypvcdisk disk: bus: virtio volumes: - - name: pvcvolume + - name: mypvcdisk persistentVolumeClaim: claimName: ${PVC_NAME} parameters: - name: VM_APIVERSION - name: VM_NAME -- name: PVC_NAME \ No newline at end of file +- name: PVC_NAME diff --git a/tests/manifests/virt-testing-vm.yml b/tests/manifests/virt-testing-vm.yml index cff73abe4..94e5553c5 100644 --- a/tests/manifests/virt-testing-vm.yml +++ b/tests/manifests/virt-testing-vm.yml @@ -24,9 +24,8 @@ objects: - disk: bus: virtio name: containerdisk - volumeName: registryvolume volumes: - - name: registryvolume + - name: containerdisk containerDisk: image: ${{IMAGE_NAME}} parameters: diff --git a/tests/manifests/vm-cirros.yaml b/tests/manifests/vm-cirros.yaml index cef52b92c..0d30a99ea 100644 --- a/tests/manifests/vm-cirros.yaml +++ b/tests/manifests/vm-cirros.yaml @@ -1,4 +1,4 @@ -apiVersion: kubevirt.io/v1alpha2 +apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachine metadata: creationTimestamp: null @@ -19,11 +19,9 @@ spec: - disk: bus: virtio name: containerdisk - volumeName: registryvolume - disk: bus: virtio name: cloudinitdisk - volumeName: cloudinitvolume machine: type: "" resources: @@ -31,7 +29,7 @@ spec: memory: 64M terminationGracePeriodSeconds: 0 volumes: - - name: registryvolume + - name: containerdisk containerDisk: image: kubevirt/cirros-container-disk-demo:latest - cloudInitNoCloud: @@ -39,5 +37,5 @@ spec: #!/bin/sh echo 'printed from cloud-init userdata' - name: cloudinitvolume + name: cloudinitdisk status: {} diff --git a/tests/manifests/vm_with_sidecar_hook.yml b/tests/manifests/vm_with_sidecar_hook.yml index 729b85bc4..56795a48e 100644 --- a/tests/manifests/vm_with_sidecar_hook.yml +++ b/tests/manifests/vm_with_sidecar_hook.yml @@ -1,8 +1,8 @@ -apiVersion: kubevirt.io/v1alpha2 +apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachineInstance metadata: annotations: - hooks.kubevirt.io/hookSidecars: '[{"image": "kubevirt/example-hook-sidecar:v0.12.0-alpha.2"}]' + hooks.kubevirt.io/hookSidecars: '[{"image": "kubevirt/example-hook-sidecar:v0.13.0"}]' smbios.vm.kubevirt.io/baseBoardManufacturer: "Radical Edward" creationTimestamp: null labels: @@ -15,11 +15,9 @@ spec: - disk: bus: virtio name: containerdisk - volumeName: registryvolume - disk: bus: virtio name: cloudinitdisk - volumeName: cloudinitvolume machine: type: "" resources: @@ -27,7 +25,7 @@ spec: memory: 1024M terminationGracePeriodSeconds: 0 volumes: - - name: registryvolume + - name: containerdisk containerDisk: image: kubevirt/fedora-cloud-container-disk-demo:latest - cloudInitNoCloud: @@ -35,7 +33,7 @@ spec: #cloud-config password: fedora chpasswd: { expire: False } - bootcmd: + bootcmd: - "sudo dnf install dmidecode -y" - name: cloudinitvolume -status: {} \ No newline at end of file + name: cloudinitdisk +status: {} diff --git a/tests/manifests/vmi-ephemeral.yaml b/tests/manifests/vmi-ephemeral.yaml index 3e95ec032..59456fa68 100644 --- a/tests/manifests/vmi-ephemeral.yaml +++ b/tests/manifests/vmi-ephemeral.yaml @@ -1,4 +1,4 @@ -apiVersion: kubevirt.io/v1alpha2 +apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachineInstance metadata: creationTimestamp: null @@ -12,7 +12,6 @@ spec: - disk: bus: virtio name: containerdisk - volumeName: registryvolume machine: type: "" resources: @@ -20,7 +19,7 @@ spec: memory: 64M terminationGracePeriodSeconds: 0 volumes: - - name: registryvolume + - name: containerdisk containerDisk: image: kubevirt/cirros-container-disk-demo:latest status: {} diff --git a/tests/manifests/vmi-replicaset-cirros.yaml b/tests/manifests/vmi-replicaset-cirros.yaml index ae63b07a4..a4f2905df 100644 --- a/tests/manifests/vmi-replicaset-cirros.yaml +++ b/tests/manifests/vmi-replicaset-cirros.yaml @@ -1,4 +1,4 @@ -apiVersion: kubevirt.io/v1alpha2 +apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachineInstanceReplicaSet metadata: creationTimestamp: null @@ -20,7 +20,6 @@ spec: - disk: bus: virtio name: containerdisk - volumeName: registryvolume machine: type: "" resources: @@ -28,7 +27,7 @@ spec: memory: 64M terminationGracePeriodSeconds: 0 volumes: - - name: registryvolume + - name: containerdisk containerDisk: image: kubevirt/cirros-container-disk-demo:latest status: {} diff --git a/tests/secrets_and_cfgmap_test.go b/tests/secrets_and_cfgmap_test.go index 3e5ffb03c..7ba93c303 100644 --- a/tests/secrets_and_cfgmap_test.go +++ b/tests/secrets_and_cfgmap_test.go @@ -37,9 +37,9 @@ var _ = Describe("Config", func() { BeforeEach(func() { configMapName = "configmap-" + uuid.NewRandom().String() - configMapPath = config.GetConfigMapSourcePath(configMapName + "-vol") + configMapPath = config.GetConfigMapSourcePath(configMapName + "-disk") secretName = "secret-" + uuid.NewRandom().String() - secretPath = config.GetSecretSourcePath(secretName + "-vol") + secretPath = config.GetSecretSourcePath(secretName + "-disk") config_data := map[string]string{ "config1": "value1", @@ -150,7 +150,7 @@ var _ = Describe("Config", func() { BeforeEach(func() { secretName = "secret-" + uuid.NewRandom().String() - secretPath = config.GetSecretSourcePath(secretName + "-vol") + secretPath = config.GetSecretSourcePath(secretName + "-disk") data := map[string]string{ "ssh-privatekey": string(privateKeyBytes), diff --git a/vars/README.md b/vars/README.md index a33e77ba4..73d001396 100644 --- a/vars/README.md +++ b/vars/README.md @@ -7,5 +7,5 @@ List of top level variables. | cluster| openshift|
  • openshift
  • kubernetes
|Cluster type to deploy KubeVirt on.| | namespace|kube-system | |Namespace to create resources.| | kubevirt_openshift_version | 3.10|
  • 3.10
|OpenShift cluster version.| -| version |0.12.0-alpha.2|
  • 0.12.0-alpha.2
  • 0.9.6
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.1
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
|KubeVirt release version.| +| version |0.13.0|
  • 0.13.0
  • 0.9.6
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.1
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
|KubeVirt release version.| | storage_role | storage-none |
  • storage-none
  • storage-demo
  • storage-glusterfs
| Storage role to install with KubeVirt.| diff --git a/vars/all.yml b/vars/all.yml index 6bfbddea6..acb7ef4bb 100644 --- a/vars/all.yml +++ b/vars/all.yml @@ -8,7 +8,7 @@ openshift_ansible_dir: "openshift-ansible/" openshift_playbook_path: "{{ openshift_ansible_dir }}/{{ 'playbooks/byo/config.yml' if kubevirt_openshift_version == '3.7' else 'playbooks/deploy_cluster.yml' }}" ### KubeVirt ### -version: 0.12.0 +version: 0.13.0 image_pull_policy: IfNotPresent deploy_demo: true diff --git a/vendor/github.com/go-openapi/jsonpointer/.drone.sec b/vendor/github.com/go-openapi/jsonpointer/.drone.sec new file mode 100644 index 000000000..a1d7bbe07 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/.drone.sec @@ -0,0 +1 @@ +eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.pDqezepze0YqRx4u6M8GFaWtnVR-utTWZic-GX-RvMATAoYpG4H2sc9tlnGNCxa44dbRY0vY10qfBU7Sno8vkp21fsK42ofGLfen_suum_0ilm0sFS0X-kAwk7TIq5L5lPPKiChPMUiGp5oJW-g5MqMFX1jNiI-4fP-vSM3B3-eyZtJD_O517TgfIRLnblCzqwIkyRmAfPNopi-Fe8Y31TmO2Vd0nFc1Aqro_VaJSACzEVxOHTNpjETcMjlYzwgMXLeiAfLV-5hM0f6DXgHMlLSuMkB_Ndnw25dkB7hreGk4x0tHQ3X9mUfTgLq1hIDoyeeKDIM83Tqw4LBRph20BQ.qd_pNuyi23B0PlWz.JtpO7kqOm0SWOGzWDalkWheHuNd-eDpVbqI9WPAEFDOIBvz7TbsYMBlIYVWEGWbat4mkx_ejxnMn1L1l996NJnyP7eY-QE82cfPJbjx94d0Ob70KZ4DCm_UxcY2t-OKFiPJqxW7MA5jKyDuGD16bdxpjLEoe_cMSEr8FNu-MVG6wcchPcyYyRkqTQSl4mb09KikkAzHjwjo-DcO0f8ps4Uzsoc0aqAAWdE-ocG0YqierLoemjusYMiLH-eLF6MvaLRvHSte-cLzPuYCeZURnBDgxu3i3UApgddnX7g1c7tdGGBGvgCl-tEEDW58Vxgdjksim2S7y3lfoJ8FFzSWeRH2y7Kq04hgew3b2J_RiDB9ejzIopzG8ZGjJa3EO1-i9ORTl12nXK1RdlLGqu604ENaeVOPCIHL-0C8e6_wHdUGHydLZImSxKYSrNvy8resP1D_9t4B-3q2mkS9mhnMONrXbPDVw5QY5mvXlWs0Db99ARwzsl-Qlu0A_tsZwMjWT2I1QMvWPyTRScmMm0FJSv9zStjzxWa_q2GL7Naz1fI4Dd6ZgNJWYYq-mHN5chEeBdIcwb_zMPHczMQXXNL5nmfRGM1aPffkToFWCDpIlI8IXec83ZC6_POxZegS6n9Drrvc.6Nz8EXxs1lWX3ASaCeNElA \ No newline at end of file diff --git a/vendor/github.com/go-openapi/jsonpointer/.drone.yml b/vendor/github.com/go-openapi/jsonpointer/.drone.yml new file mode 100644 index 000000000..cb8c7b50a --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/.drone.yml @@ -0,0 +1,32 @@ +clone: + path: github.com/go-openapi/jsonpointer + +matrix: + GO_VERSION: + - "1.6" + +build: + integration: + image: golang:$$GO_VERSION + pull: true + commands: + - go get -u github.com/stretchr/testify/assert + - go get -u github.com/go-openapi/swag + - go test -race + - go test -v -cover -coverprofile=coverage.out -covermode=count ./... + +notify: + slack: + channel: bots + webhook_url: $$SLACK_URL + username: drone + +publish: + coverage: + server: https://coverage.vmware.run + token: $$GITHUB_TOKEN + # threshold: 70 + # must_increase: true + when: + matrix: + GO_VERSION: "1.6" diff --git a/vendor/github.com/go-openapi/jsonpointer/.editorconfig b/vendor/github.com/go-openapi/jsonpointer/.editorconfig deleted file mode 100644 index 3152da69a..000000000 --- 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/.pullapprove.yml b/vendor/github.com/go-openapi/jsonpointer/.pullapprove.yml new file mode 100644 index 000000000..5ec183e22 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonpointer/.pullapprove.yml @@ -0,0 +1,13 @@ +approve_by_comment: true +approve_regex: '^(:shipit:|:\+1:|\+1|LGTM|lgtm|Approved)' +reject_regex: ^[Rr]ejected +reset_on_push: false +reviewers: + members: + - casualjim + - chancez + - frapposelli + - vburenin + - pytlesk4 + name: pullapprove + required: 1 diff --git a/vendor/github.com/go-openapi/jsonpointer/.travis.yml b/vendor/github.com/go-openapi/jsonpointer/.travis.yml deleted file mode 100644 index 3436c4590..000000000 --- a/vendor/github.com/go-openapi/jsonpointer/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -after_success: -- bash <(curl -s https://codecov.io/bash) -go: -- '1.9' -- 1.10.x -- 1.11.x -install: -- go get -u github.com/stretchr/testify/assert -- go get -u github.com/go-openapi/swag -language: go -notifications: - slack: - secure: a5VgoiwB1G/AZqzmephPZIhEB9avMlsWSlVnM1dSAtYAwdrQHGTQxAmpOxYIoSPDhWNN5bfZmjd29++UlTwLcHSR+e0kJhH6IfDlsHj/HplNCJ9tyI0zYc7XchtdKgeMxMzBKCzgwFXGSbQGydXTliDNBo0HOzmY3cou/daMFTP60K+offcjS+3LRAYb1EroSRXZqrk1nuF/xDL3792DZUdPMiFR/L/Df6y74D6/QP4sTkTDFQitz4Wy/7jbsfj8dG6qK2zivgV6/l+w4OVjFkxVpPXogDWY10vVXNVynqxfJ7to2d1I9lNCHE2ilBCkWMIPdyJF7hjF8pKW+82yP4EzRh0vu8Xn0HT5MZpQxdRY/YMxNrWaG7SxsoEaO4q5uhgdzAqLYY3TRa7MjIK+7Ur+aqOeTXn6OKwVi0CjvZ6mIU3WUKSwiwkFZMbjRAkSb5CYwMEfGFO/z964xz83qGt6WAtBXNotqCQpTIiKtDHQeLOMfksHImCg6JLhQcWBVxamVgu0G3Pdh8Y6DyPnxraXY95+QDavbjqv7TeYT9T/FNnrkXaTTK0s4iWE5H4ACU0Qvz0wUYgfQrZv0/Hp7V17+rabUwnzYySHCy9SWX/7OV9Cfh31iMp9ZIffr76xmmThtOEqs8TrTtU6BWI3rWwvA9cXQipZTVtL0oswrGw= -script: -- go test -v -race -cover -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/vendor/github.com/go-openapi/jsonpointer/README.md b/vendor/github.com/go-openapi/jsonpointer/README.md index 813788aff..9c9b1fd48 100644 --- a/vendor/github.com/go-openapi/jsonpointer/README.md +++ b/vendor/github.com/go-openapi/jsonpointer/README.md @@ -1,4 +1,4 @@ -# 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) +# gojsonpointer [![Build Status](https://ci.vmware.run/api/badges/go-openapi/jsonpointer/status.svg)](https://ci.vmware.run/go-openapi/jsonpointer) [![Coverage](https://coverage.vmware.run/badges/go-openapi/jsonpointer/coverage.svg)](https://coverage.vmware.run/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 diff --git a/vendor/github.com/go-openapi/jsonpointer/go.mod b/vendor/github.com/go-openapi/jsonpointer/go.mod deleted file mode 100644 index eb4d623c5..000000000 --- a/vendor/github.com/go-openapi/jsonpointer/go.mod +++ /dev/null @@ -1,10 +0,0 @@ -module github.com/go-openapi/jsonpointer - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/go-openapi/swag v0.17.0 - github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/stretchr/testify v1.2.2 - gopkg.in/yaml.v2 v2.2.1 // indirect -) diff --git a/vendor/github.com/go-openapi/jsonpointer/go.sum b/vendor/github.com/go-openapi/jsonpointer/go.sum deleted file mode 100644 index c71f4d7a2..000000000 --- a/vendor/github.com/go-openapi/jsonpointer/go.sum +++ /dev/null @@ -1,11 +0,0 @@ -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-openapi/swag v0.17.0 h1:7wu+dZ5k83kvUWeAb+WUkFiUhDzwGqzTR/NhWzeo1JU= -github.com/go-openapi/swag v0.17.0/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/go-openapi/jsonpointer/pointer.go b/vendor/github.com/go-openapi/jsonpointer/pointer.go index fe2d6ee57..39dd012c2 100644 --- a/vendor/github.com/go-openapi/jsonpointer/pointer.go +++ b/vendor/github.com/go-openapi/jsonpointer/pointer.go @@ -43,7 +43,6 @@ const ( ) 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 @@ -51,10 +50,16 @@ 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 +type implStruct struct { + mode string // "SET" or "GET" + + inDocument interface{} + + setInValue interface{} + + getOutNode interface{} + getOutKind reflect.Kind + outError error } // New creates a new json pointer for the given string @@ -95,25 +100,15 @@ 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) { + kind := reflect.Invalid rValue := reflect.Indirect(reflect.ValueOf(node)) - kind := rValue.Kind() - + kind = rValue.Kind() switch kind { case reflect.Struct: @@ -134,7 +129,6 @@ func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.Nam case reflect.Map: kv := reflect.ValueOf(decodedToken) mv := rValue.MapIndex(kv) - if mv.IsValid() && !swag.IsZero(mv) { return mv.Interface(), kind, nil } @@ -147,7 +141,7 @@ func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.Nam } 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) + return nil, kind, fmt.Errorf("index out of bounds array[0,%d] index '%d'", sLength, tokenIndex) } elem := rValue.Index(tokenIndex) @@ -159,57 +153,6 @@ func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.Nam } -func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *swag.NameProvider) error { - rValue := reflect.Indirect(reflect.ValueOf(node)) - switch rValue.Kind() { - - case reflect.Struct: - if ns, ok := node.(JSONSetable); ok { // pointer impl - return ns.JSONSet(decodedToken, data) - } - - if rValue.Type().Implements(jsonSetableType) { - return node.(JSONSetable).JSONSet(decodedToken, data) - } - - 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 { @@ -241,101 +184,6 @@ func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interf 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() - - switch kind { - - case reflect.Struct: - 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 - } - 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)) diff --git a/vendor/github.com/go-openapi/jsonreference/.drone.sec b/vendor/github.com/go-openapi/jsonreference/.drone.sec new file mode 100644 index 000000000..5ff54fb9c --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/.drone.sec @@ -0,0 +1 @@ +eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.Xe40Wx6g5Y-iN0JVMhKyFfubtOId3zAVE564szw_yYGzFNhc_cGZO9F3BtAcJ55CfHG9C_ozn9dpnUDl_zYZoy_6cPCq13Ekb95z8NAC3ekDtbAATsc9HZwRNwI7UfkhstdwxljEouGB01qoLcUn6lFutrou-Ho21COHeDb2caemnPSA-rEAnXkOiBFu0RQ1MIwMygzvHXIHHYNpNwAtXqmiggM10miSjqBM3JmRPxCi7VK6_Rxij5p6LlhmK1BDi8Y6oBh-9BX3--5GAJeWZ6Vof5TnP-Enioia18j8c8KFtfY4q0y6Ednjb-AarLZ12gj695ppkBNJUdTJQmwGwA.fVcz_RiLrUB5fgMS.rjWllDYC6m_NB-ket_LizNEy9mlJ27odBTZQcMKaUqqXZBtWUCmPrOoMXGq-_cc-c7chg7D-WMh9SPQ23pV0P-DY-jsDpbOqHG2STOMEfW9ZREoaOLJXQaWcuBldLjRyWFcq0HGj97LgE6szD1Zlou3bmdHS_Q-U9Up9YQ_8_YnDcESD_cj1w5FZom7HjchKJFeGjQjfDQpoCKCQNMJaavUqy9jHQEeQ_uVocSrETg3GpewDcUF2tuv8uGq7ZZWu7Vl8zmnY1MFTynaGBWzTCSRmCkAXjcsaUheDP_NT5D7k-xUS6LwtqEUiXAXV07SNFraorFj5lnBQZRDlZMYcA3NWR6zHiOxekR9LBYPofst6w1rIqUchj_5m1tDpVTBMPir1eAaFcnJtPgo4ch17OF-kmcmQGLhJI3U7n8wv4sTrmP1dewtRRKrvlJe5r3_6eDiK4xZ8K0rnK1D4g6zuQqU1gA8KaU7pmZkKpFx3Bew4v-6DH32YwQBvAI7Lbb8afou9WsCNB_iswz5XGimP4bifiJRwpWBEz9VGhZFdiw-hZpYWgbxzVb5gtqfTDLIvpbLDmFz1vge16uUQHHVFpo1pSozyr7A60X8qsh9pmmO3RcJ-ZGZBWqiRC-Kl5ejz7WQ.LFoK4Ibi11B2lWQ5WcPSag \ No newline at end of file diff --git a/vendor/github.com/go-openapi/jsonreference/.drone.yml b/vendor/github.com/go-openapi/jsonreference/.drone.yml new file mode 100644 index 000000000..157ffe579 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/.drone.yml @@ -0,0 +1,33 @@ +clone: + path: github.com/go-openapi/jsonreference + +matrix: + GO_VERSION: + - "1.6" + +build: + integration: + image: golang:$$GO_VERSION + pull: true + commands: + - go get -u github.com/stretchr/testify/assert + - go get -u github.com/PuerkitoBio/purell + - go get -u github.com/go-openapi/jsonpointer + - go test -race + - go test -v -cover -coverprofile=coverage.out -covermode=count ./... + +notify: + slack: + channel: bots + webhook_url: $$SLACK_URL + username: drone + +publish: + coverage: + server: https://coverage.vmware.run + token: $$GITHUB_TOKEN + # threshold: 70 + # must_increase: true + when: + matrix: + GO_VERSION: "1.6" diff --git a/vendor/github.com/go-openapi/jsonreference/.pullapprove.yml b/vendor/github.com/go-openapi/jsonreference/.pullapprove.yml new file mode 100644 index 000000000..5ec183e22 --- /dev/null +++ b/vendor/github.com/go-openapi/jsonreference/.pullapprove.yml @@ -0,0 +1,13 @@ +approve_by_comment: true +approve_regex: '^(:shipit:|:\+1:|\+1|LGTM|lgtm|Approved)' +reject_regex: ^[Rr]ejected +reset_on_push: false +reviewers: + members: + - casualjim + - chancez + - frapposelli + - vburenin + - pytlesk4 + name: pullapprove + required: 1 diff --git a/vendor/github.com/go-openapi/jsonreference/.travis.yml b/vendor/github.com/go-openapi/jsonreference/.travis.yml deleted file mode 100644 index 40034d28d..000000000 --- a/vendor/github.com/go-openapi/jsonreference/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ -after_success: -- bash <(curl -s https://codecov.io/bash) -go: -- '1.9' -- 1.10.x -- 1.11.x -install: -- go get -u github.com/stretchr/testify/assert -- go get -u github.com/PuerkitoBio/purell -- go get -u github.com/go-openapi/jsonpointer -language: go -notifications: - slack: - secure: OpQG/36F7DSF00HLm9WZMhyqFCYYyYTsVDObW226cWiR8PWYiNfLZiSEvIzT1Gx4dDjhigKTIqcLhG34CkL5iNXDjm9Yyo2RYhQPlK8NErNqUEXuBqn4RqYHW48VGhEhOyDd4Ei0E2FN5ZbgpvHgtpkdZ6XDi64r3Ac89isP9aPHXQTuv2Jog6b4/OKKiUTftLcTIst0p4Cp3gqOJWf1wnoj+IadWiECNVQT6zb47IYjtyw6+uV8iUjTzdKcRB6Zc6b4Dq7JAg1Zd7Jfxkql3hlKp4PNlRf9Cy7y5iA3G7MLyg3FcPX5z2kmcyPt2jOTRMBWUJ5zIQpOxizAcN8WsT3WWBL5KbuYK6k0PzujrIDLqdxGpNmjkkMfDBT9cKmZpm2FdW+oZgPFJP+oKmAo4u4KJz/vjiPTXgQlN5bmrLuRMCp+AwC5wkIohTqWZVPE2TK6ZSnMYcg/W39s+RP/9mJoyryAvPSpBOLTI+biCgaUCTOAZxNTWpMFc3tPYntc41WWkdKcooZ9JA5DwfcaVFyTGQ3YXz+HvX6G1z/gW0Q/A4dBi9mj2iE1xm7tRTT+4VQ2AXFvSEI1HJpfPgYnwAtwOD1v3Qm2EUHk9sCdtEDR4wVGEPIVn44GnwFMnGKx9JWppMPYwFu3SVDdHt+E+LOlhZUply11Aa+IVrT2KUQ= -script: -- go test -v -race -cover -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/vendor/github.com/go-openapi/jsonreference/README.md b/vendor/github.com/go-openapi/jsonreference/README.md index 66345f4c6..5f7881274 100644 --- a/vendor/github.com/go-openapi/jsonreference/README.md +++ b/vendor/github.com/go-openapi/jsonreference/README.md @@ -1,4 +1,4 @@ -# 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) +# gojsonreference [![Build Status](https://ci.vmware.run/api/badges/go-openapi/jsonreference/status.svg)](https://ci.vmware.run/go-openapi/jsonreference) [![Coverage](https://coverage.vmware.run/badges/go-openapi/jsonreference/coverage.svg)](https://coverage.vmware.run/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 @@ -7,7 +7,7 @@ An implementation of JSON Reference - Go language Work in progress ( 90% done ) ## Dependencies -https://github.com/go-openapi/jsonpointer +https://github.com/xeipuuv/gojsonpointer ## References http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 diff --git a/vendor/github.com/go-openapi/jsonreference/go.mod b/vendor/github.com/go-openapi/jsonreference/go.mod deleted file mode 100644 index 6d15a7050..000000000 --- a/vendor/github.com/go-openapi/jsonreference/go.mod +++ /dev/null @@ -1,15 +0,0 @@ -module github.com/go-openapi/jsonreference - -require ( - github.com/PuerkitoBio/purell v1.1.0 - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/go-openapi/jsonpointer v0.17.0 - github.com/go-openapi/swag v0.17.0 // indirect - github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/stretchr/testify v1.2.2 - golang.org/x/net v0.0.0-20181005035420-146acd28ed58 // indirect - golang.org/x/text v0.3.0 // indirect - gopkg.in/yaml.v2 v2.2.1 // indirect -) diff --git a/vendor/github.com/go-openapi/jsonreference/go.sum b/vendor/github.com/go-openapi/jsonreference/go.sum deleted file mode 100644 index ec9bdbc28..000000000 --- a/vendor/github.com/go-openapi/jsonreference/go.sum +++ /dev/null @@ -1,20 +0,0 @@ -github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-openapi/jsonpointer v0.17.0 h1:Bpl2DtZ6k7wKqfFs7e+4P08+M9I3FQgn09a1UsRUQbk= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/swag v0.17.0 h1:7wu+dZ5k83kvUWeAb+WUkFiUhDzwGqzTR/NhWzeo1JU= -github.com/go-openapi/swag v0.17.0/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58 h1:otZG8yDCO4LVps5+9bxOeNiCvgmOyt96J3roHTYs7oE= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/go-openapi/swag/.gitignore b/vendor/github.com/go-openapi/swag/.gitignore index 5862205ee..769c24400 100644 --- a/vendor/github.com/go-openapi/swag/.gitignore +++ b/vendor/github.com/go-openapi/swag/.gitignore @@ -1,3 +1 @@ secrets.yml -vendor -Godeps diff --git a/vendor/github.com/go-openapi/swag/.golangci.yml b/vendor/github.com/go-openapi/swag/.golangci.yml deleted file mode 100644 index 625c3d6af..000000000 --- a/vendor/github.com/go-openapi/swag/.golangci.yml +++ /dev/null @@ -1,22 +0,0 @@ -linters-settings: - govet: - check-shadowing: true - golint: - min-confidence: 0 - gocyclo: - min-complexity: 25 - maligned: - suggest-new: true - dupl: - threshold: 100 - goconst: - min-len: 3 - min-occurrences: 2 - -linters: - enable-all: true - disable: - - maligned - - lll - - gochecknoinits - - gochecknoglobals diff --git a/vendor/github.com/go-openapi/swag/.travis.yml b/vendor/github.com/go-openapi/swag/.travis.yml index bd3a2e527..24c69bdf3 100644 --- a/vendor/github.com/go-openapi/swag/.travis.yml +++ b/vendor/github.com/go-openapi/swag/.travis.yml @@ -1,16 +1,14 @@ -after_success: -- bash <(curl -s https://codecov.io/bash) +language: go go: -- '1.9' -- 1.10.x -- 1.11.x +- 1.8 install: - go get -u github.com/stretchr/testify - go get -u github.com/mailru/easyjson - go get -u gopkg.in/yaml.v2 -language: go +script: +- go test -v -race -cover -coverprofile=coverage.txt -covermode=atomic ./... +after_success: +- bash <(curl -s https://codecov.io/bash) notifications: slack: secure: QUWvCkBBK09GF7YtEvHHVt70JOkdlNBG0nIKu/5qc4/nW5HP8I2w0SEf/XR2je0eED1Qe3L/AfMCWwrEj+IUZc3l4v+ju8X8R3Lomhme0Eb0jd1MTMCuPcBT47YCj0M7RON7vXtbFfm1hFJ/jLe5+9FXz0hpXsR24PJc5ZIi/ogNwkaPqG4BmndzecpSh0vc2FJPZUD9LT0I09REY/vXR0oQAalLkW0asGD5taHZTUZq/kBpsNxaAFrLM23i4mUcf33M5fjLpvx5LRICrX/57XpBrDh2TooBU6Qj3CgoY0uPRYUmSNxbVx1czNzl2JtEpb5yjoxfVPQeg0BvQM00G8LJINISR+ohrjhkZmAqchDupAX+yFrxTtORa78CtnIL6z/aTNlgwwVD8kvL/1pFA/JWYmKDmz93mV/+6wubGzNSQCstzjkFA4/iZEKewKUoRIAi/fxyscP6L/rCpmY/4llZZvrnyTqVbt6URWpopUpH4rwYqreXAtJxJsfBJIeSmUIiDIOMGkCTvyTEW3fWGmGoqWtSHLoaWDyAIGb7azb+KvfpWtEcoPFWfSWU+LGee0A/YsUhBl7ADB9A0CJEuR8q4BPpKpfLwPKSiKSAXL7zDkyjExyhtgqbSl2jS+rKIHOZNL8JkCcTP2MKMVd563C5rC5FMKqu3S9m2b6380E= -script: -- go test -v -race -cover -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/vendor/github.com/go-openapi/swag/README.md b/vendor/github.com/go-openapi/swag/README.md index 459a3e18d..5d43728e8 100644 --- a/vendor/github.com/go-openapi/swag/README.md +++ b/vendor/github.com/go-openapi/swag/README.md @@ -1,23 +1,12 @@ # Swag [![Build Status](https://travis-ci.org/go-openapi/swag.svg?branch=master)](https://travis-ci.org/go-openapi/swag) [![codecov](https://codecov.io/gh/go-openapi/swag/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/swag) [![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/swag/master/LICENSE) -[![GoDoc](https://godoc.org/github.com/go-openapi/swag?status.svg)](http://godoc.org/github.com/go-openapi/swag) -[![GolangCI](https://golangci.com/badges/github.com/go-openapi/swag.svg)](https://golangci.com) -[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/swag)](https://goreportcard.com/report/github.com/go-openapi/swag) +[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/swag/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/swag?status.svg)](http://godoc.org/github.com/go-openapi/swag) -Contains a bunch of helper functions for go-openapi and go-swagger projects. +Contains a bunch of helper functions: -You may also use it standalone for your projects. - -* convert between value and pointers for builtin types -* convert from string to builtin types (wraps strconv) +* convert between value and pointers for builtins +* convert from string to builtin * fast json concatenation * search in path * load from file or http -* name mangling - - -This repo has only few dependencies outside of the standard library: - -* JSON utilities depend on github.com/mailru/easyjson -* YAML utilities depend on gopkg.in/yaml.v2 +* name manglin \ No newline at end of file diff --git a/vendor/github.com/go-openapi/swag/convert.go b/vendor/github.com/go-openapi/swag/convert.go index 4e446ff70..2bf5ecbba 100644 --- a/vendor/github.com/go-openapi/swag/convert.go +++ b/vendor/github.com/go-openapi/swag/convert.go @@ -22,9 +22,8 @@ import ( // same as ECMA Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER const ( - maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 - minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 - epsilon float64 = 1e-9 + maxJSONFloat = float64(1<<53 - 1) // 9007199254740991.0 2^53 - 1 + minJSONFloat = -float64(1<<53 - 1) //-9007199254740991.0 -2^53 - 1 ) // IsFloat64AJSONInteger allow for integers [-2^53, 2^53-1] inclusive @@ -32,39 +31,21 @@ func IsFloat64AJSONInteger(f float64) bool { if math.IsNaN(f) || math.IsInf(f, 0) || f < minJSONFloat || f > maxJSONFloat { return false } - fa := math.Abs(f) - g := float64(uint64(f)) - ga := math.Abs(g) - - diff := math.Abs(f - g) - - // more info: https://floating-point-gui.de/errors/comparison/#look-out-for-edge-cases - if f == g { // best case - return true - } else if f == float64(int64(f)) || f == float64(uint64(f)) { // optimistic case - return true - } else if f == 0 || g == 0 || diff < math.SmallestNonzeroFloat64 { // very close to 0 values - return diff < (epsilon * math.SmallestNonzeroFloat64) - } - // check the relative error - return diff/math.Min(fa+ga, math.MaxFloat64) < epsilon -} - -var evaluatesAsTrue map[string]struct{} - -func init() { - evaluatesAsTrue = map[string]struct{}{ - "true": {}, - "1": {}, - "yes": {}, - "ok": {}, - "y": {}, - "on": {}, - "selected": {}, - "checked": {}, - "t": {}, - "enabled": {}, - } + + return f == float64(int64(f)) || f == float64(uint64(f)) +} + +var evaluatesAsTrue = map[string]struct{}{ + "true": struct{}{}, + "1": struct{}{}, + "yes": struct{}{}, + "ok": struct{}{}, + "y": struct{}{}, + "on": struct{}{}, + "selected": struct{}{}, + "checked": struct{}{}, + "t": struct{}{}, + "enabled": struct{}{}, } // ConvertBool turn a string into a boolean diff --git a/vendor/github.com/go-openapi/swag/doc.go b/vendor/github.com/go-openapi/swag/doc.go deleted file mode 100644 index e01e1a023..000000000 --- a/vendor/github.com/go-openapi/swag/doc.go +++ /dev/null @@ -1,33 +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 swag contains a bunch of helper functions for go-openapi and go-swagger projects. - -You may also use it standalone for your projects. - - * convert between value and pointers for builtin types - * convert from string to builtin types (wraps strconv) - * fast json concatenation - * search in path - * load from file or http - * name mangling - - -This repo has only few dependencies outside of the standard library: - - * JSON utilities depend on github.com/mailru/easyjson - * YAML utilities depend on gopkg.in/yaml.v2 -*/ -package swag diff --git a/vendor/github.com/go-openapi/swag/go.mod b/vendor/github.com/go-openapi/swag/go.mod deleted file mode 100644 index 9eb936a19..000000000 --- a/vendor/github.com/go-openapi/swag/go.mod +++ /dev/null @@ -1,9 +0,0 @@ -module github.com/go-openapi/swag - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/stretchr/testify v1.2.2 - gopkg.in/yaml.v2 v2.2.1 -) diff --git a/vendor/github.com/go-openapi/swag/go.sum b/vendor/github.com/go-openapi/swag/go.sum deleted file mode 100644 index d6e717bd4..000000000 --- a/vendor/github.com/go-openapi/swag/go.sum +++ /dev/null @@ -1,9 +0,0 @@ -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/vendor/github.com/go-openapi/swag/json.go b/vendor/github.com/go-openapi/swag/json.go index 33da5e4e7..cb20a6a0f 100644 --- a/vendor/github.com/go-openapi/swag/json.go +++ b/vendor/github.com/go-openapi/swag/json.go @@ -26,21 +26,14 @@ import ( "github.com/mailru/easyjson/jwriter" ) -// nullJSON represents a JSON object with null type -var nullJSON = []byte("null") - // DefaultJSONNameProvider the default cache for types var DefaultJSONNameProvider = NewNameProvider() const comma = byte(',') -var closers map[byte]byte - -func init() { - closers = map[byte]byte{ - '{': '}', - '[': ']', - } +var closers = map[byte]byte{ + '{': '}', + '[': ']', } type ejMarshaler interface { @@ -86,7 +79,10 @@ func DynamicJSONToStruct(data interface{}, target interface{}) error { if err != nil { return err } - return ReadJSON(b, target) + if err := ReadJSON(b, target); err != nil { + return err + } + return nil } // ConcatJSON concatenates multiple json objects efficiently @@ -94,29 +90,17 @@ func ConcatJSON(blobs ...[]byte) []byte { if len(blobs) == 0 { return nil } - - last := len(blobs) - 1 - for blobs[last] == nil || bytes.Equal(blobs[last], nullJSON) { - // strips trailing null objects - last = last - 1 - if last < 0 { - // there was nothing but "null"s or nil... - return nil - } - } - if last == 0 { + if len(blobs) == 1 { return blobs[0] } + last := len(blobs) - 1 var opening, closing byte - var idx, a int + a := 0 + idx := 0 buf := bytes.NewBuffer(nil) - for i, b := range blobs[:last+1] { - if b == nil || bytes.Equal(b, nullJSON) { - // a null object is in the list: skip it - continue - } + for i, b := range blobs { if len(b) > 0 && opening == 0 { // is this an array or an object? opening, closing = b[0], closers[b[0]] } @@ -261,7 +245,7 @@ func (n *NameProvider) GetJSONNames(subject interface{}) []string { names = n.makeNameIndex(tpe) } - res := make([]string, 0, len(names.jsonNames)) + var res []string for k := range names.jsonNames { res = append(res, k) } diff --git a/vendor/github.com/go-openapi/swag/loading.go b/vendor/github.com/go-openapi/swag/loading.go index 70f4fb361..62ed1e80a 100644 --- a/vendor/github.com/go-openapi/swag/loading.go +++ b/vendor/github.com/go-openapi/swag/loading.go @@ -43,13 +43,7 @@ func LoadStrategy(path string, local, remote func(string) ([]byte, error)) func( if strings.HasPrefix(path, "http") { return remote } - return func(pth string) ([]byte, error) { - upth, err := pathUnescape(pth) - if err != nil { - return nil, err - } - return local(filepath.FromSlash(upth)) - } + return func(pth string) ([]byte, error) { return local(filepath.FromSlash(pth)) } } func loadHTTPBytes(timeout time.Duration) func(path string) ([]byte, error) { diff --git a/vendor/github.com/go-openapi/swag/net.go b/vendor/github.com/go-openapi/swag/net.go index 821235f84..8323fa37b 100644 --- a/vendor/github.com/go-openapi/swag/net.go +++ b/vendor/github.com/go-openapi/swag/net.go @@ -1,17 +1,3 @@ -// 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 swag import ( diff --git a/vendor/github.com/go-openapi/swag/post_go18.go b/vendor/github.com/go-openapi/swag/post_go18.go deleted file mode 100644 index c2e686d31..000000000 --- a/vendor/github.com/go-openapi/swag/post_go18.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. - -// +build go1.8 - -package swag - -import "net/url" - -func pathUnescape(path string) (string, error) { - return url.PathUnescape(path) -} diff --git a/vendor/github.com/go-openapi/swag/post_go19.go b/vendor/github.com/go-openapi/swag/post_go19.go deleted file mode 100644 index 9db23c095..000000000 --- a/vendor/github.com/go-openapi/swag/post_go19.go +++ /dev/null @@ -1,67 +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. - -// +build go1.9 - -package swag - -import ( - "sort" - "sync" -) - -// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. -// Since go1.9, this may be implemented with sync.Map. -type indexOfInitialisms struct { - sortMutex *sync.Mutex - index *sync.Map -} - -func newIndexOfInitialisms() *indexOfInitialisms { - return &indexOfInitialisms{ - sortMutex: new(sync.Mutex), - index: new(sync.Map), - } -} - -func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { - m.sortMutex.Lock() - defer m.sortMutex.Unlock() - for k, v := range initial { - m.index.Store(k, v) - } - return m -} - -func (m *indexOfInitialisms) isInitialism(key string) bool { - _, ok := m.index.Load(key) - return ok -} - -func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { - m.index.Store(key, true) - return m -} - -func (m *indexOfInitialisms) sorted() (result []string) { - m.sortMutex.Lock() - defer m.sortMutex.Unlock() - m.index.Range(func(key, value interface{}) bool { - k := key.(string) - result = append(result, k) - return true - }) - sort.Sort(sort.Reverse(byLength(result))) - return -} diff --git a/vendor/github.com/go-openapi/swag/pre_go18.go b/vendor/github.com/go-openapi/swag/pre_go18.go deleted file mode 100644 index 6607f3393..000000000 --- a/vendor/github.com/go-openapi/swag/pre_go18.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. - -// +build !go1.8 - -package swag - -import "net/url" - -func pathUnescape(path string) (string, error) { - return url.QueryUnescape(path) -} diff --git a/vendor/github.com/go-openapi/swag/pre_go19.go b/vendor/github.com/go-openapi/swag/pre_go19.go deleted file mode 100644 index 9c96ab90f..000000000 --- a/vendor/github.com/go-openapi/swag/pre_go19.go +++ /dev/null @@ -1,69 +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. - -// +build !go1.9 - -package swag - -import ( - "sort" - "sync" -) - -// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms. -// Before go1.9, this may be implemented with a mutex on the map. -type indexOfInitialisms struct { - getMutex *sync.Mutex - index map[string]bool -} - -func newIndexOfInitialisms() *indexOfInitialisms { - return &indexOfInitialisms{ - getMutex: new(sync.Mutex), - index: make(map[string]bool, 50), - } -} - -func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms { - m.getMutex.Lock() - defer m.getMutex.Unlock() - for k, v := range initial { - m.index[k] = v - } - return m -} - -func (m *indexOfInitialisms) isInitialism(key string) bool { - m.getMutex.Lock() - defer m.getMutex.Unlock() - _, ok := m.index[key] - return ok -} - -func (m *indexOfInitialisms) add(key string) *indexOfInitialisms { - m.getMutex.Lock() - defer m.getMutex.Unlock() - m.index[key] = true - return m -} - -func (m *indexOfInitialisms) sorted() (result []string) { - m.getMutex.Lock() - defer m.getMutex.Unlock() - for k := range m.index { - result = append(result, k) - } - sort.Sort(sort.Reverse(byLength(result))) - return -} diff --git a/vendor/github.com/go-openapi/swag/util.go b/vendor/github.com/go-openapi/swag/util.go index 164c96762..40751aab4 100644 --- a/vendor/github.com/go-openapi/swag/util.go +++ b/vendor/github.com/go-openapi/swag/util.go @@ -18,91 +18,62 @@ import ( "math" "reflect" "regexp" + "sort" "strings" - "sync" "unicode" ) -// commonInitialisms are common acronyms that are kept as whole uppercased words. -var commonInitialisms *indexOfInitialisms - -// initialisms is a slice of sorted initialisms +// Taken from https://github.com/golang/lint/blob/3390df4df2787994aea98de825b964ac7944b817/lint.go#L732-L769 +var commonInitialisms = map[string]bool{ + "ACL": true, + "API": true, + "ASCII": true, + "CPU": true, + "CSS": true, + "DNS": true, + "EOF": true, + "GUID": true, + "HTML": true, + "HTTPS": true, + "HTTP": true, + "ID": true, + "IP": true, + "JSON": true, + "LHS": true, + "QPS": true, + "RAM": true, + "RHS": true, + "RPC": true, + "SLA": true, + "SMTP": true, + "SQL": true, + "SSH": true, + "TCP": true, + "TLS": true, + "TTL": true, + "UDP": true, + "UI": true, + "UID": true, + "UUID": true, + "URI": true, + "URL": true, + "UTF8": true, + "VM": true, + "XML": true, + "XMPP": true, + "XSRF": true, + "XSS": true, +} var initialisms []string -var once sync.Once - -var isInitialism func(string) bool - -var ( - splitRex1 *regexp.Regexp - splitRex2 *regexp.Regexp - splitReplacer *strings.Replacer -) - func init() { - // Taken from https://github.com/golang/lint/blob/3390df4df2787994aea98de825b964ac7944b817/lint.go#L732-L769 - var configuredInitialisms = map[string]bool{ - "ACL": true, - "API": true, - "ASCII": true, - "CPU": true, - "CSS": true, - "DNS": true, - "EOF": true, - "GUID": true, - "HTML": true, - "HTTPS": true, - "HTTP": true, - "ID": true, - "IP": true, - "JSON": true, - "LHS": true, - "OAI": true, - "QPS": true, - "RAM": true, - "RHS": true, - "RPC": true, - "SLA": true, - "SMTP": true, - "SQL": true, - "SSH": true, - "TCP": true, - "TLS": true, - "TTL": true, - "UDP": true, - "UI": true, - "UID": true, - "UUID": true, - "URI": true, - "URL": true, - "UTF8": true, - "VM": true, - "XML": true, - "XMPP": true, - "XSRF": true, - "XSS": true, + for k := range commonInitialisms { + initialisms = append(initialisms, k) } - - // a thread-safe index of initialisms - commonInitialisms = newIndexOfInitialisms().load(configuredInitialisms) - - // a test function - isInitialism = commonInitialisms.isInitialism -} - -func ensureSorted() { - initialisms = commonInitialisms.sorted() + sort.Sort(sort.Reverse(byLength(initialisms))) } -const ( - //collectionFormatComma = "csv" - collectionFormatSpace = "ssv" - collectionFormatTab = "tsv" - collectionFormatPipe = "pipes" - collectionFormatMulti = "multi" -) - -// JoinByFormat joins a string array by a known format (e.g. swagger's collectionFormat attribute): +// JoinByFormat joins a string array by a known format: // ssv: space separated value // tsv: tab separated value // pipes: pipe (|) separated value @@ -113,13 +84,13 @@ func JoinByFormat(data []string, format string) []string { } var sep string switch format { - case collectionFormatSpace: + case "ssv": sep = " " - case collectionFormatTab: + case "tsv": sep = "\t" - case collectionFormatPipe: + case "pipes": sep = "|" - case collectionFormatMulti: + case "multi": return data default: sep = "," @@ -132,20 +103,19 @@ func JoinByFormat(data []string, format string) []string { // tsv: tab separated value // pipes: pipe (|) separated value // csv: comma separated value (default) -// func SplitByFormat(data, format string) []string { if data == "" { return nil } var sep string switch format { - case collectionFormatSpace: + case "ssv": sep = " " - case collectionFormatTab: + case "tsv": sep = "\t" - case collectionFormatPipe: + case "pipes": sep = "|" - case collectionFormatMulti: + case "multi": return nil default: sep = "," @@ -172,37 +142,36 @@ func (s byLength) Less(i, j int) bool { } // Prepares strings by splitting by caps, spaces, dashes, and underscore -func split(str string) []string { - // check if consecutive single char things make up an initialism - once.Do(func() { - splitRex1 = regexp.MustCompile(`(\p{Lu})`) - splitRex2 = regexp.MustCompile(`(\pL|\pM|\pN|\p{Pc})+`) - splitReplacer = strings.NewReplacer( - "@", "At ", - "&", "And ", - "|", "Pipe ", - "$", "Dollar ", - "!", "Bang ", - "-", " ", - "_", " ", - ) - ensureSorted() - }) +func split(str string) (words []string) { + repl := strings.NewReplacer( + "@", "At ", + "&", "And ", + "|", "Pipe ", + "$", "Dollar ", + "!", "Bang ", + "-", " ", + "_", " ", + ) + + rex1 := regexp.MustCompile(`(\p{Lu})`) + rex2 := regexp.MustCompile(`(\pL|\pM|\pN|\p{Pc})+`) str = trim(str) // Convert dash and underscore to spaces - str = splitReplacer.Replace(str) + str = repl.Replace(str) // Split when uppercase is found (needed for Snake) - str = splitRex1.ReplaceAllString(str, " $1") + str = rex1.ReplaceAllString(str, " $1") + // check if consecutive single char things make up an initialism for _, k := range initialisms { - str = strings.Replace(str, splitRex1.ReplaceAllString(k, " $1"), " "+k, -1) + str = strings.Replace(str, rex1.ReplaceAllString(k, " $1"), " "+k, -1) } // Get the final list of words - //words = rex2.FindAllString(str, -1) - return splitRex2.FindAllString(str, -1) + words = rex2.FindAllString(str, -1) + + return } // Removes leading whitespaces @@ -220,36 +189,19 @@ func lower(str string) string { return strings.ToLower(trim(str)) } -// Camelize an uppercased word -func Camelize(word string) (camelized string) { - for pos, ru := range word { - if pos > 0 { - camelized += string(unicode.ToLower(ru)) - } else { - camelized += string(unicode.ToUpper(ru)) - } - } - return -} - // ToFileName lowercases and underscores a go type name func ToFileName(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for _, w := range in { + var out []string + for _, w := range split(name) { out = append(out, lower(w)) } - return strings.Join(out, "_") } // ToCommandName lowercases and underscores a go type name func ToCommandName(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for _, w := range in { + var out []string + for _, w := range split(name) { out = append(out, lower(w)) } return strings.Join(out, "-") @@ -257,11 +209,9 @@ func ToCommandName(name string) string { // ToHumanNameLower represents a code name as a human series of words func ToHumanNameLower(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for _, w := range in { - if !isInitialism(upper(w)) { + var out []string + for _, w := range split(name) { + if !commonInitialisms[upper(w)] { out = append(out, lower(w)) } else { out = append(out, w) @@ -272,12 +222,10 @@ func ToHumanNameLower(name string) string { // ToHumanNameTitle represents a code name as a human series of words with the first letters titleized func ToHumanNameTitle(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for _, w := range in { + var out []string + for _, w := range split(name) { uw := upper(w) - if !isInitialism(uw) { + if !commonInitialisms[uw] { out = append(out, upper(w[:1])+lower(w[1:])) } else { out = append(out, w) @@ -288,10 +236,8 @@ func ToHumanNameTitle(name string) string { // ToJSONName camelcases a name which can be underscored or pascal cased func ToJSONName(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for i, w := range in { + var out []string + for i, w := range split(name) { if i == 0 { out = append(out, lower(w)) continue @@ -304,7 +250,7 @@ func ToJSONName(name string) string { // ToVarName camelcases a name which can be underscored or pascal cased func ToVarName(name string) string { res := ToGoName(name) - if isInitialism(res) { + if _, ok := commonInitialisms[res]; ok { return lower(res) } if len(res) <= 1 { @@ -315,13 +261,11 @@ func ToVarName(name string) string { // ToGoName translates a swagger name which can be underscored or camel cased to a name that golint likes func ToGoName(name string) string { - in := split(name) - out := make([]string, 0, len(in)) - - for _, w := range in { + var out []string + for _, w := range split(name) { uw := upper(w) mod := int(math.Min(float64(len(uw)), 2)) - if !isInitialism(uw) && !isInitialism(uw[:len(uw)-mod]) { + if !commonInitialisms[uw] && !commonInitialisms[uw[:len(uw)-mod]] { uw = upper(w[:1]) + lower(w[1:]) } out = append(out, uw) @@ -340,16 +284,6 @@ func ToGoName(name string) string { return result } -// ContainsStrings searches a slice of strings for a case-sensitive match -func ContainsStrings(coll []string, item string) bool { - for _, a := range coll { - if a == item { - return true - } - } - return false -} - // ContainsStringsCI searches a slice of strings for a case-insensitive match func ContainsStringsCI(coll []string, item string) bool { for _, a := range coll { @@ -394,16 +328,6 @@ func IsZero(data interface{}) bool { return false } -// AddInitialisms add additional initialisms -func AddInitialisms(words ...string) { - for _, word := range words { - //commonInitialisms[upper(word)] = true - commonInitialisms.add(upper(word)) - } - // sort again - initialisms = commonInitialisms.sorted() -} - // CommandLineOptionsGroup represents a group of user-defined command line options type CommandLineOptionsGroup struct { ShortDescription string diff --git a/vendor/github.com/go-openapi/swag/yaml.go b/vendor/github.com/go-openapi/swag/yaml.go index 435e2948e..26502f21d 100644 --- a/vendor/github.com/go-openapi/swag/yaml.go +++ b/vendor/github.com/go-openapi/swag/yaml.go @@ -22,6 +22,7 @@ import ( "github.com/mailru/easyjson/jlexer" "github.com/mailru/easyjson/jwriter" + yaml "gopkg.in/yaml.v2" ) @@ -41,7 +42,6 @@ func YAMLToJSON(data interface{}) (json.RawMessage, error) { return json.RawMessage(b), err } -// BytesToYAMLDoc converts a byte slice into a YAML document func BytesToYAMLDoc(data []byte) (interface{}, error) { var canary map[interface{}]interface{} // validate this is an object and not a different type if err := yaml.Unmarshal(data, &canary); err != nil { @@ -55,17 +55,14 @@ func BytesToYAMLDoc(data []byte) (interface{}, error) { return document, nil } -// JSONMapSlice represent a JSON object, with the order of keys maintained type JSONMapSlice []JSONMapItem -// MarshalJSON renders a JSONMapSlice as JSON func (s JSONMapSlice) MarshalJSON() ([]byte, error) { w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} s.MarshalEasyJSON(w) return w.BuildBytes() } -// MarshalEasyJSON renders a JSONMapSlice as JSON, using easyJSON func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer) { w.RawByte('{') @@ -81,14 +78,11 @@ func (s JSONMapSlice) MarshalEasyJSON(w *jwriter.Writer) { w.RawByte('}') } -// UnmarshalJSON makes a JSONMapSlice from JSON func (s *JSONMapSlice) UnmarshalJSON(data []byte) error { l := jlexer.Lexer{Data: data} s.UnmarshalEasyJSON(&l) return l.Error() } - -// UnmarshalEasyJSON makes a JSONMapSlice from JSON, using easyJSON func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { if in.IsNull() { in.Skip() @@ -105,34 +99,23 @@ func (s *JSONMapSlice) UnmarshalEasyJSON(in *jlexer.Lexer) { *s = result } -// JSONMapItem represents the value of a key in a JSON object held by JSONMapSlice type JSONMapItem struct { Key string Value interface{} } -// MarshalJSON renders a JSONMapItem as JSON func (s JSONMapItem) MarshalJSON() ([]byte, error) { w := &jwriter.Writer{Flags: jwriter.NilMapAsEmpty | jwriter.NilSliceAsEmpty} s.MarshalEasyJSON(w) return w.BuildBytes() } -// MarshalEasyJSON renders a JSONMapItem as JSON, using easyJSON func (s JSONMapItem) MarshalEasyJSON(w *jwriter.Writer) { w.String(s.Key) w.RawByte(':') w.Raw(WriteJSON(s.Value)) } -// UnmarshalJSON makes a JSONMapItem from JSON -func (s *JSONMapItem) UnmarshalJSON(data []byte) error { - l := jlexer.Lexer{Data: data} - s.UnmarshalEasyJSON(&l) - return l.Error() -} - -// UnmarshalEasyJSON makes a JSONMapItem from JSON, using easyJSON func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { key := in.UnsafeString() in.WantColon() @@ -141,6 +124,11 @@ func (s *JSONMapItem) UnmarshalEasyJSON(in *jlexer.Lexer) { s.Key = key s.Value = value } +func (s *JSONMapItem) UnmarshalJSON(data []byte) error { + l := jlexer.Lexer{Data: data} + s.UnmarshalEasyJSON(&l) + return l.Error() +} func transformData(input interface{}) (out interface{}, err error) { switch in := input.(type) { @@ -158,9 +146,9 @@ func transformData(input interface{}) (out interface{}, err error) { return nil, fmt.Errorf("types don't match expect map key string or int got: %T", mi.Key) } - v, ert := transformData(mi.Value) - if ert != nil { - return nil, ert + v, err := transformData(mi.Value) + if err != nil { + return nil, err } nmi.Value = v o[i] = nmi @@ -179,9 +167,9 @@ func transformData(input interface{}) (out interface{}, err error) { return nil, fmt.Errorf("types don't match expect map key string or int got: %T", ke) } - v, ert := transformData(va) - if ert != nil { - return nil, ert + v, err := transformData(va) + if err != nil { + return nil, err } nmi.Value = v o = append(o, nmi) @@ -213,7 +201,7 @@ func YAMLDoc(path string) (json.RawMessage, error) { return nil, err } - return data, nil + return json.RawMessage(data), nil } // YAMLData loads a yaml document from either http or a file diff --git a/vendor/github.com/gogo/protobuf/.travis.yml b/vendor/github.com/gogo/protobuf/.travis.yml index 78317234a..8067504fb 100644 --- a/vendor/github.com/gogo/protobuf/.travis.yml +++ b/vendor/github.com/gogo/protobuf/.travis.yml @@ -4,7 +4,7 @@ apt: env: - PROTOBUF_VERSION=2.6.1 - PROTOBUF_VERSION=3.0.2 - - PROTOBUF_VERSION=3.5.1 + - PROTOBUF_VERSION=3.6.1 before_install: - ./install-protobuf.sh @@ -13,7 +13,7 @@ before_install: script: - PATH=/home/travis/bin:$PATH make buildserverall - echo $TRAVIS_GO_VERSION - - if [[ "$PROTOBUF_VERSION" == "3.5.1" ]] && [[ "$TRAVIS_GO_VERSION" == "1.11.x" ]]; then ! git status --porcelain | read || (git status; git diff; exit 1); fi + - if [[ "$PROTOBUF_VERSION" == "3.6.1" ]] && [[ "$TRAVIS_GO_VERSION" == "1.11.x" ]]; then ! git status --porcelain | read || (git status; git diff; exit 1); fi language: go diff --git a/vendor/github.com/gogo/protobuf/Readme.md b/vendor/github.com/gogo/protobuf/Readme.md index f8a3aee5b..06685a28a 100644 --- a/vendor/github.com/gogo/protobuf/Readme.md +++ b/vendor/github.com/gogo/protobuf/Readme.md @@ -63,7 +63,7 @@ Please let us know if you are using gogoprotobuf by posting on our So you want to use GoGo Protobuf - Johan Brandhorst - Advanced gRPC Error Usage - Johan Brandhorst - gRPC Golang Course on Udemy - Stephane Maarek - + ## Getting Started There are several ways to use gogoprotobuf, but for all you need to install go and protoc. @@ -75,11 +75,11 @@ After that you can choose: ### Installation -To install it, you must first have Go (at least version 1.6.3 or 1.9 if you are using gRPC) installed (see [http://golang.org/doc/install](http://golang.org/doc/install)). -Latest patch versions of 1.9 and 1.10 are continuously tested. +To install it, you must first have Go (at least version 1.6.3 or 1.9 if you are using gRPC) installed (see [http://golang.org/doc/install](http://golang.org/doc/install)). +Latest patch versions of 1.10 and 1.11 are continuously tested. Next, install the standard protocol buffer implementation from [https://github.com/google/protobuf](https://github.com/google/protobuf). -Most versions from 2.3.1 should not give any problems, but 2.6.1, 3.0.2 and 3.5.1 are continuously tested. +Most versions from 2.3.1 should not give any problems, but 2.6.1, 3.0.2 and 3.6.1 are continuously tested. ### Speed @@ -156,4 +156,4 @@ See [https://github.com/gogo/grpc-example](https://github.com/gogo/grpc-example) This software is licensed under the 3-Clause BSD License ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License"). - + diff --git a/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.pb.go b/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.pb.go index 4bf71202b..1e32a72eb 100644 --- a/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.pb.go +++ b/vendor/github.com/gogo/protobuf/conformance/internal/conformance_proto/conformance.pb.go @@ -3,10 +3,12 @@ package conformance -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import types "github.com/gogo/protobuf/types" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,6 +34,7 @@ var WireFormat_name = map[int32]string{ 1: "PROTOBUF", 2: "JSON", } + var WireFormat_value = map[string]int32{ "UNSPECIFIED": 0, "PROTOBUF": 1, @@ -41,8 +44,9 @@ var WireFormat_value = map[string]int32{ func (x WireFormat) String() string { return proto.EnumName(WireFormat_name, int32(x)) } + func (WireFormat) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{0} + return fileDescriptor_13eb9ce388d56238, []int{0} } type ForeignEnum int32 @@ -58,6 +62,7 @@ var ForeignEnum_name = map[int32]string{ 1: "FOREIGN_BAR", 2: "FOREIGN_BAZ", } + var ForeignEnum_value = map[string]int32{ "FOREIGN_FOO": 0, "FOREIGN_BAR": 1, @@ -67,8 +72,9 @@ var ForeignEnum_value = map[string]int32{ func (x ForeignEnum) String() string { return proto.EnumName(ForeignEnum_name, int32(x)) } + func (ForeignEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{1} + return fileDescriptor_13eb9ce388d56238, []int{1} } type TestAllTypes_NestedEnum int32 @@ -86,6 +92,7 @@ var TestAllTypes_NestedEnum_name = map[int32]string{ 2: "BAZ", -1: "NEG", } + var TestAllTypes_NestedEnum_value = map[string]int32{ "FOO": 0, "BAR": 1, @@ -96,8 +103,9 @@ var TestAllTypes_NestedEnum_value = map[string]int32{ func (x TestAllTypes_NestedEnum) String() string { return proto.EnumName(TestAllTypes_NestedEnum_name, int32(x)) } + func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{2, 0} + return fileDescriptor_13eb9ce388d56238, []int{2, 0} } // Represents a single test case's input. The testee should: @@ -124,7 +132,7 @@ func (m *ConformanceRequest) Reset() { *m = ConformanceRequest{} } func (m *ConformanceRequest) String() string { return proto.CompactTextString(m) } func (*ConformanceRequest) ProtoMessage() {} func (*ConformanceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{0} + return fileDescriptor_13eb9ce388d56238, []int{0} } func (m *ConformanceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConformanceRequest.Unmarshal(m, b) @@ -132,8 +140,8 @@ func (m *ConformanceRequest) XXX_Unmarshal(b []byte) error { func (m *ConformanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ConformanceRequest.Marshal(b, m, deterministic) } -func (dst *ConformanceRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConformanceRequest.Merge(dst, src) +func (m *ConformanceRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConformanceRequest.Merge(m, src) } func (m *ConformanceRequest) XXX_Size() int { return xxx_messageInfo_ConformanceRequest.Size(m) @@ -271,7 +279,7 @@ func (m *ConformanceResponse) Reset() { *m = ConformanceResponse{} } func (m *ConformanceResponse) String() string { return proto.CompactTextString(m) } func (*ConformanceResponse) ProtoMessage() {} func (*ConformanceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{1} + return fileDescriptor_13eb9ce388d56238, []int{1} } func (m *ConformanceResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConformanceResponse.Unmarshal(m, b) @@ -279,8 +287,8 @@ func (m *ConformanceResponse) XXX_Unmarshal(b []byte) error { func (m *ConformanceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ConformanceResponse.Marshal(b, m, deterministic) } -func (dst *ConformanceResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConformanceResponse.Merge(dst, src) +func (m *ConformanceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConformanceResponse.Merge(m, src) } func (m *ConformanceResponse) XXX_Size() int { return xxx_messageInfo_ConformanceResponse.Size(m) @@ -623,7 +631,7 @@ func (m *TestAllTypes) Reset() { *m = TestAllTypes{} } func (m *TestAllTypes) String() string { return proto.CompactTextString(m) } func (*TestAllTypes) ProtoMessage() {} func (*TestAllTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{2} + return fileDescriptor_13eb9ce388d56238, []int{2} } func (m *TestAllTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TestAllTypes.Unmarshal(m, b) @@ -631,8 +639,8 @@ func (m *TestAllTypes) XXX_Unmarshal(b []byte) error { func (m *TestAllTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TestAllTypes.Marshal(b, m, deterministic) } -func (dst *TestAllTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_TestAllTypes.Merge(dst, src) +func (m *TestAllTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestAllTypes.Merge(m, src) } func (m *TestAllTypes) XXX_Size() int { return xxx_messageInfo_TestAllTypes.Size(m) @@ -1539,7 +1547,7 @@ func (m *TestAllTypes_NestedMessage) Reset() { *m = TestAllTypes_NestedM func (m *TestAllTypes_NestedMessage) String() string { return proto.CompactTextString(m) } func (*TestAllTypes_NestedMessage) ProtoMessage() {} func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{2, 0} + return fileDescriptor_13eb9ce388d56238, []int{2, 0} } func (m *TestAllTypes_NestedMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TestAllTypes_NestedMessage.Unmarshal(m, b) @@ -1547,8 +1555,8 @@ func (m *TestAllTypes_NestedMessage) XXX_Unmarshal(b []byte) error { func (m *TestAllTypes_NestedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TestAllTypes_NestedMessage.Marshal(b, m, deterministic) } -func (dst *TestAllTypes_NestedMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_TestAllTypes_NestedMessage.Merge(dst, src) +func (m *TestAllTypes_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestAllTypes_NestedMessage.Merge(m, src) } func (m *TestAllTypes_NestedMessage) XXX_Size() int { return xxx_messageInfo_TestAllTypes_NestedMessage.Size(m) @@ -1584,7 +1592,7 @@ func (m *ForeignMessage) Reset() { *m = ForeignMessage{} } func (m *ForeignMessage) String() string { return proto.CompactTextString(m) } func (*ForeignMessage) ProtoMessage() {} func (*ForeignMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_conformance_64c26947649a56a9, []int{3} + return fileDescriptor_13eb9ce388d56238, []int{3} } func (m *ForeignMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ForeignMessage.Unmarshal(m, b) @@ -1592,8 +1600,8 @@ func (m *ForeignMessage) XXX_Unmarshal(b []byte) error { func (m *ForeignMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ForeignMessage.Marshal(b, m, deterministic) } -func (dst *ForeignMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_ForeignMessage.Merge(dst, src) +func (m *ForeignMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_ForeignMessage.Merge(m, src) } func (m *ForeignMessage) XXX_Size() int { return xxx_messageInfo_ForeignMessage.Size(m) @@ -1612,6 +1620,9 @@ func (m *ForeignMessage) GetC() int32 { } func init() { + proto.RegisterEnum("conformance.WireFormat", WireFormat_name, WireFormat_value) + proto.RegisterEnum("conformance.ForeignEnum", ForeignEnum_name, ForeignEnum_value) + proto.RegisterEnum("conformance.TestAllTypes_NestedEnum", TestAllTypes_NestedEnum_name, TestAllTypes_NestedEnum_value) proto.RegisterType((*ConformanceRequest)(nil), "conformance.ConformanceRequest") proto.RegisterType((*ConformanceResponse)(nil), "conformance.ConformanceResponse") proto.RegisterType((*TestAllTypes)(nil), "conformance.TestAllTypes") @@ -1636,16 +1647,13 @@ func init() { proto.RegisterMapType((map[uint64]uint64)(nil), "conformance.TestAllTypes.MapUint64Uint64Entry") proto.RegisterType((*TestAllTypes_NestedMessage)(nil), "conformance.TestAllTypes.NestedMessage") proto.RegisterType((*ForeignMessage)(nil), "conformance.ForeignMessage") - proto.RegisterEnum("conformance.WireFormat", WireFormat_name, WireFormat_value) - proto.RegisterEnum("conformance.ForeignEnum", ForeignEnum_name, ForeignEnum_value) - proto.RegisterEnum("conformance.TestAllTypes_NestedEnum", TestAllTypes_NestedEnum_name, TestAllTypes_NestedEnum_value) } func init() { - proto.RegisterFile("internal/conformance_proto/conformance.proto", fileDescriptor_conformance_64c26947649a56a9) + proto.RegisterFile("internal/conformance_proto/conformance.proto", fileDescriptor_13eb9ce388d56238) } -var fileDescriptor_conformance_64c26947649a56a9 = []byte{ +var fileDescriptor_13eb9ce388d56238 = []byte{ // 2611 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x5a, 0x59, 0x73, 0xdb, 0xc8, 0x11, 0x16, 0x08, 0x5b, 0x92, 0x87, 0x94, 0x44, 0x8d, 0xae, 0xb1, 0xec, 0x5a, 0xc3, 0xf2, 0x3a, diff --git a/vendor/github.com/gogo/protobuf/go.mod b/vendor/github.com/gogo/protobuf/go.mod new file mode 100644 index 000000000..6f7e29139 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/go.mod @@ -0,0 +1,3 @@ +module github.com/gogo/protobuf + +require github.com/kisielk/errcheck v1.1.0 // indirect diff --git a/vendor/github.com/gogo/protobuf/go.sum b/vendor/github.com/gogo/protobuf/go.sum new file mode 100644 index 000000000..d01d68b33 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/go.sum @@ -0,0 +1,6 @@ +github.com/kisielk/errcheck v1.1.0 h1:ZqfnKyx9KGpRcW04j5nnPDgRgoXUeLh2YFBeFzphcA0= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635 h1:2eB4G6bDQDeP69ZXbOKC00S2Kf6TIiRS+DzfKsKeQU0= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go index 0057f8e1b..e352808b9 100644 --- a/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go +++ b/vendor/github.com/gogo/protobuf/gogoproto/gogo.pb.go @@ -1,12 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: gogo.proto -package gogoproto // import "github.com/gogo/protobuf/gogoproto" +package gogoproto -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -24,7 +26,7 @@ var E_GoprotoEnumPrefix = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 62001, Name: "gogoproto.goproto_enum_prefix", - Tag: "varint,62001,opt,name=goproto_enum_prefix,json=goprotoEnumPrefix", + Tag: "varint,62001,opt,name=goproto_enum_prefix", Filename: "gogo.proto", } @@ -33,7 +35,7 @@ var E_GoprotoEnumStringer = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 62021, Name: "gogoproto.goproto_enum_stringer", - Tag: "varint,62021,opt,name=goproto_enum_stringer,json=goprotoEnumStringer", + Tag: "varint,62021,opt,name=goproto_enum_stringer", Filename: "gogo.proto", } @@ -42,7 +44,7 @@ var E_EnumStringer = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 62022, Name: "gogoproto.enum_stringer", - Tag: "varint,62022,opt,name=enum_stringer,json=enumStringer", + Tag: "varint,62022,opt,name=enum_stringer", Filename: "gogo.proto", } @@ -51,7 +53,7 @@ var E_EnumCustomname = &proto.ExtensionDesc{ ExtensionType: (*string)(nil), Field: 62023, Name: "gogoproto.enum_customname", - Tag: "bytes,62023,opt,name=enum_customname,json=enumCustomname", + Tag: "bytes,62023,opt,name=enum_customname", Filename: "gogo.proto", } @@ -69,7 +71,7 @@ var E_EnumvalueCustomname = &proto.ExtensionDesc{ ExtensionType: (*string)(nil), Field: 66001, Name: "gogoproto.enumvalue_customname", - Tag: "bytes,66001,opt,name=enumvalue_customname,json=enumvalueCustomname", + Tag: "bytes,66001,opt,name=enumvalue_customname", Filename: "gogo.proto", } @@ -78,7 +80,7 @@ var E_GoprotoGettersAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63001, Name: "gogoproto.goproto_getters_all", - Tag: "varint,63001,opt,name=goproto_getters_all,json=goprotoGettersAll", + Tag: "varint,63001,opt,name=goproto_getters_all", Filename: "gogo.proto", } @@ -87,7 +89,7 @@ var E_GoprotoEnumPrefixAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63002, Name: "gogoproto.goproto_enum_prefix_all", - Tag: "varint,63002,opt,name=goproto_enum_prefix_all,json=goprotoEnumPrefixAll", + Tag: "varint,63002,opt,name=goproto_enum_prefix_all", Filename: "gogo.proto", } @@ -96,7 +98,7 @@ var E_GoprotoStringerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63003, Name: "gogoproto.goproto_stringer_all", - Tag: "varint,63003,opt,name=goproto_stringer_all,json=goprotoStringerAll", + Tag: "varint,63003,opt,name=goproto_stringer_all", Filename: "gogo.proto", } @@ -105,7 +107,7 @@ var E_VerboseEqualAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63004, Name: "gogoproto.verbose_equal_all", - Tag: "varint,63004,opt,name=verbose_equal_all,json=verboseEqualAll", + Tag: "varint,63004,opt,name=verbose_equal_all", Filename: "gogo.proto", } @@ -114,7 +116,7 @@ var E_FaceAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63005, Name: "gogoproto.face_all", - Tag: "varint,63005,opt,name=face_all,json=faceAll", + Tag: "varint,63005,opt,name=face_all", Filename: "gogo.proto", } @@ -123,7 +125,7 @@ var E_GostringAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63006, Name: "gogoproto.gostring_all", - Tag: "varint,63006,opt,name=gostring_all,json=gostringAll", + Tag: "varint,63006,opt,name=gostring_all", Filename: "gogo.proto", } @@ -132,7 +134,7 @@ var E_PopulateAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63007, Name: "gogoproto.populate_all", - Tag: "varint,63007,opt,name=populate_all,json=populateAll", + Tag: "varint,63007,opt,name=populate_all", Filename: "gogo.proto", } @@ -141,7 +143,7 @@ var E_StringerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63008, Name: "gogoproto.stringer_all", - Tag: "varint,63008,opt,name=stringer_all,json=stringerAll", + Tag: "varint,63008,opt,name=stringer_all", Filename: "gogo.proto", } @@ -150,7 +152,7 @@ var E_OnlyoneAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63009, Name: "gogoproto.onlyone_all", - Tag: "varint,63009,opt,name=onlyone_all,json=onlyoneAll", + Tag: "varint,63009,opt,name=onlyone_all", Filename: "gogo.proto", } @@ -159,7 +161,7 @@ var E_EqualAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63013, Name: "gogoproto.equal_all", - Tag: "varint,63013,opt,name=equal_all,json=equalAll", + Tag: "varint,63013,opt,name=equal_all", Filename: "gogo.proto", } @@ -168,7 +170,7 @@ var E_DescriptionAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63014, Name: "gogoproto.description_all", - Tag: "varint,63014,opt,name=description_all,json=descriptionAll", + Tag: "varint,63014,opt,name=description_all", Filename: "gogo.proto", } @@ -177,7 +179,7 @@ var E_TestgenAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63015, Name: "gogoproto.testgen_all", - Tag: "varint,63015,opt,name=testgen_all,json=testgenAll", + Tag: "varint,63015,opt,name=testgen_all", Filename: "gogo.proto", } @@ -186,7 +188,7 @@ var E_BenchgenAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63016, Name: "gogoproto.benchgen_all", - Tag: "varint,63016,opt,name=benchgen_all,json=benchgenAll", + Tag: "varint,63016,opt,name=benchgen_all", Filename: "gogo.proto", } @@ -195,7 +197,7 @@ var E_MarshalerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63017, Name: "gogoproto.marshaler_all", - Tag: "varint,63017,opt,name=marshaler_all,json=marshalerAll", + Tag: "varint,63017,opt,name=marshaler_all", Filename: "gogo.proto", } @@ -204,7 +206,7 @@ var E_UnmarshalerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63018, Name: "gogoproto.unmarshaler_all", - Tag: "varint,63018,opt,name=unmarshaler_all,json=unmarshalerAll", + Tag: "varint,63018,opt,name=unmarshaler_all", Filename: "gogo.proto", } @@ -213,7 +215,7 @@ var E_StableMarshalerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63019, Name: "gogoproto.stable_marshaler_all", - Tag: "varint,63019,opt,name=stable_marshaler_all,json=stableMarshalerAll", + Tag: "varint,63019,opt,name=stable_marshaler_all", Filename: "gogo.proto", } @@ -222,7 +224,7 @@ var E_SizerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63020, Name: "gogoproto.sizer_all", - Tag: "varint,63020,opt,name=sizer_all,json=sizerAll", + Tag: "varint,63020,opt,name=sizer_all", Filename: "gogo.proto", } @@ -231,7 +233,7 @@ var E_GoprotoEnumStringerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63021, Name: "gogoproto.goproto_enum_stringer_all", - Tag: "varint,63021,opt,name=goproto_enum_stringer_all,json=goprotoEnumStringerAll", + Tag: "varint,63021,opt,name=goproto_enum_stringer_all", Filename: "gogo.proto", } @@ -240,7 +242,7 @@ var E_EnumStringerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63022, Name: "gogoproto.enum_stringer_all", - Tag: "varint,63022,opt,name=enum_stringer_all,json=enumStringerAll", + Tag: "varint,63022,opt,name=enum_stringer_all", Filename: "gogo.proto", } @@ -249,7 +251,7 @@ var E_UnsafeMarshalerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63023, Name: "gogoproto.unsafe_marshaler_all", - Tag: "varint,63023,opt,name=unsafe_marshaler_all,json=unsafeMarshalerAll", + Tag: "varint,63023,opt,name=unsafe_marshaler_all", Filename: "gogo.proto", } @@ -258,7 +260,7 @@ var E_UnsafeUnmarshalerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63024, Name: "gogoproto.unsafe_unmarshaler_all", - Tag: "varint,63024,opt,name=unsafe_unmarshaler_all,json=unsafeUnmarshalerAll", + Tag: "varint,63024,opt,name=unsafe_unmarshaler_all", Filename: "gogo.proto", } @@ -267,7 +269,7 @@ var E_GoprotoExtensionsMapAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63025, Name: "gogoproto.goproto_extensions_map_all", - Tag: "varint,63025,opt,name=goproto_extensions_map_all,json=goprotoExtensionsMapAll", + Tag: "varint,63025,opt,name=goproto_extensions_map_all", Filename: "gogo.proto", } @@ -276,7 +278,7 @@ var E_GoprotoUnrecognizedAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63026, Name: "gogoproto.goproto_unrecognized_all", - Tag: "varint,63026,opt,name=goproto_unrecognized_all,json=goprotoUnrecognizedAll", + Tag: "varint,63026,opt,name=goproto_unrecognized_all", Filename: "gogo.proto", } @@ -285,7 +287,7 @@ var E_GogoprotoImport = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63027, Name: "gogoproto.gogoproto_import", - Tag: "varint,63027,opt,name=gogoproto_import,json=gogoprotoImport", + Tag: "varint,63027,opt,name=gogoproto_import", Filename: "gogo.proto", } @@ -294,7 +296,7 @@ var E_ProtosizerAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63028, Name: "gogoproto.protosizer_all", - Tag: "varint,63028,opt,name=protosizer_all,json=protosizerAll", + Tag: "varint,63028,opt,name=protosizer_all", Filename: "gogo.proto", } @@ -303,7 +305,7 @@ var E_CompareAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63029, Name: "gogoproto.compare_all", - Tag: "varint,63029,opt,name=compare_all,json=compareAll", + Tag: "varint,63029,opt,name=compare_all", Filename: "gogo.proto", } @@ -312,7 +314,7 @@ var E_TypedeclAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63030, Name: "gogoproto.typedecl_all", - Tag: "varint,63030,opt,name=typedecl_all,json=typedeclAll", + Tag: "varint,63030,opt,name=typedecl_all", Filename: "gogo.proto", } @@ -321,7 +323,7 @@ var E_EnumdeclAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63031, Name: "gogoproto.enumdecl_all", - Tag: "varint,63031,opt,name=enumdecl_all,json=enumdeclAll", + Tag: "varint,63031,opt,name=enumdecl_all", Filename: "gogo.proto", } @@ -330,7 +332,7 @@ var E_GoprotoRegistration = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63032, Name: "gogoproto.goproto_registration", - Tag: "varint,63032,opt,name=goproto_registration,json=goprotoRegistration", + Tag: "varint,63032,opt,name=goproto_registration", Filename: "gogo.proto", } @@ -339,7 +341,7 @@ var E_MessagenameAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63033, Name: "gogoproto.messagename_all", - Tag: "varint,63033,opt,name=messagename_all,json=messagenameAll", + Tag: "varint,63033,opt,name=messagename_all", Filename: "gogo.proto", } @@ -348,7 +350,7 @@ var E_GoprotoSizecacheAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63034, Name: "gogoproto.goproto_sizecache_all", - Tag: "varint,63034,opt,name=goproto_sizecache_all,json=goprotoSizecacheAll", + Tag: "varint,63034,opt,name=goproto_sizecache_all", Filename: "gogo.proto", } @@ -357,7 +359,7 @@ var E_GoprotoUnkeyedAll = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 63035, Name: "gogoproto.goproto_unkeyed_all", - Tag: "varint,63035,opt,name=goproto_unkeyed_all,json=goprotoUnkeyedAll", + Tag: "varint,63035,opt,name=goproto_unkeyed_all", Filename: "gogo.proto", } @@ -366,7 +368,7 @@ var E_GoprotoGetters = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64001, Name: "gogoproto.goproto_getters", - Tag: "varint,64001,opt,name=goproto_getters,json=goprotoGetters", + Tag: "varint,64001,opt,name=goproto_getters", Filename: "gogo.proto", } @@ -375,7 +377,7 @@ var E_GoprotoStringer = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64003, Name: "gogoproto.goproto_stringer", - Tag: "varint,64003,opt,name=goproto_stringer,json=goprotoStringer", + Tag: "varint,64003,opt,name=goproto_stringer", Filename: "gogo.proto", } @@ -384,7 +386,7 @@ var E_VerboseEqual = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64004, Name: "gogoproto.verbose_equal", - Tag: "varint,64004,opt,name=verbose_equal,json=verboseEqual", + Tag: "varint,64004,opt,name=verbose_equal", Filename: "gogo.proto", } @@ -492,7 +494,7 @@ var E_StableMarshaler = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64019, Name: "gogoproto.stable_marshaler", - Tag: "varint,64019,opt,name=stable_marshaler,json=stableMarshaler", + Tag: "varint,64019,opt,name=stable_marshaler", Filename: "gogo.proto", } @@ -510,7 +512,7 @@ var E_UnsafeMarshaler = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64023, Name: "gogoproto.unsafe_marshaler", - Tag: "varint,64023,opt,name=unsafe_marshaler,json=unsafeMarshaler", + Tag: "varint,64023,opt,name=unsafe_marshaler", Filename: "gogo.proto", } @@ -519,7 +521,7 @@ var E_UnsafeUnmarshaler = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64024, Name: "gogoproto.unsafe_unmarshaler", - Tag: "varint,64024,opt,name=unsafe_unmarshaler,json=unsafeUnmarshaler", + Tag: "varint,64024,opt,name=unsafe_unmarshaler", Filename: "gogo.proto", } @@ -528,7 +530,7 @@ var E_GoprotoExtensionsMap = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64025, Name: "gogoproto.goproto_extensions_map", - Tag: "varint,64025,opt,name=goproto_extensions_map,json=goprotoExtensionsMap", + Tag: "varint,64025,opt,name=goproto_extensions_map", Filename: "gogo.proto", } @@ -537,7 +539,7 @@ var E_GoprotoUnrecognized = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64026, Name: "gogoproto.goproto_unrecognized", - Tag: "varint,64026,opt,name=goproto_unrecognized,json=goprotoUnrecognized", + Tag: "varint,64026,opt,name=goproto_unrecognized", Filename: "gogo.proto", } @@ -582,7 +584,7 @@ var E_GoprotoSizecache = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64034, Name: "gogoproto.goproto_sizecache", - Tag: "varint,64034,opt,name=goproto_sizecache,json=goprotoSizecache", + Tag: "varint,64034,opt,name=goproto_sizecache", Filename: "gogo.proto", } @@ -591,7 +593,7 @@ var E_GoprotoUnkeyed = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 64035, Name: "gogoproto.goproto_unkeyed", - Tag: "varint,64035,opt,name=goproto_unkeyed,json=goprotoUnkeyed", + Tag: "varint,64035,opt,name=goproto_unkeyed", Filename: "gogo.proto", } @@ -782,9 +784,9 @@ func init() { proto.RegisterExtension(E_Wktpointer) } -func init() { proto.RegisterFile("gogo.proto", fileDescriptor_gogo_b95f77e237336c7c) } +func init() { proto.RegisterFile("gogo.proto", fileDescriptor_592445b5231bc2b9) } -var fileDescriptor_gogo_b95f77e237336c7c = []byte{ +var fileDescriptor_592445b5231bc2b9 = []byte{ // 1328 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x98, 0x49, 0x6f, 0x1c, 0x45, 0x14, 0x80, 0x85, 0x48, 0x64, 0x4f, 0x79, 0x8b, 0xc7, 0xc6, 0x84, 0x08, 0x44, 0xe0, 0xc4, 0xc9, diff --git a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go index 9952ddc98..50275c41e 100644 --- a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go +++ b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/more_test_objects.pb.go @@ -3,9 +3,11 @@ package jsonpb -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,6 +33,7 @@ var Numeral_name = map[int32]string{ 1: "ARABIC", 2: "ROMAN", } + var Numeral_value = map[string]int32{ "UNKNOWN": 0, "ARABIC": 1, @@ -40,8 +43,9 @@ var Numeral_value = map[string]int32{ func (x Numeral) String() string { return proto.EnumName(Numeral_name, int32(x)) } + func (Numeral) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{0} + return fileDescriptor_e6c135db3023e377, []int{0} } type Simple3 struct { @@ -55,7 +59,7 @@ func (m *Simple3) Reset() { *m = Simple3{} } func (m *Simple3) String() string { return proto.CompactTextString(m) } func (*Simple3) ProtoMessage() {} func (*Simple3) Descriptor() ([]byte, []int) { - return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{0} + return fileDescriptor_e6c135db3023e377, []int{0} } func (m *Simple3) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Simple3.Unmarshal(m, b) @@ -63,8 +67,8 @@ func (m *Simple3) XXX_Unmarshal(b []byte) error { func (m *Simple3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Simple3.Marshal(b, m, deterministic) } -func (dst *Simple3) XXX_Merge(src proto.Message) { - xxx_messageInfo_Simple3.Merge(dst, src) +func (m *Simple3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Simple3.Merge(m, src) } func (m *Simple3) XXX_Size() int { return xxx_messageInfo_Simple3.Size(m) @@ -93,7 +97,7 @@ func (m *SimpleSlice3) Reset() { *m = SimpleSlice3{} } func (m *SimpleSlice3) String() string { return proto.CompactTextString(m) } func (*SimpleSlice3) ProtoMessage() {} func (*SimpleSlice3) Descriptor() ([]byte, []int) { - return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{1} + return fileDescriptor_e6c135db3023e377, []int{1} } func (m *SimpleSlice3) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SimpleSlice3.Unmarshal(m, b) @@ -101,8 +105,8 @@ func (m *SimpleSlice3) XXX_Unmarshal(b []byte) error { func (m *SimpleSlice3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SimpleSlice3.Marshal(b, m, deterministic) } -func (dst *SimpleSlice3) XXX_Merge(src proto.Message) { - xxx_messageInfo_SimpleSlice3.Merge(dst, src) +func (m *SimpleSlice3) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleSlice3.Merge(m, src) } func (m *SimpleSlice3) XXX_Size() int { return xxx_messageInfo_SimpleSlice3.Size(m) @@ -131,7 +135,7 @@ func (m *SimpleMap3) Reset() { *m = SimpleMap3{} } func (m *SimpleMap3) String() string { return proto.CompactTextString(m) } func (*SimpleMap3) ProtoMessage() {} func (*SimpleMap3) Descriptor() ([]byte, []int) { - return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{2} + return fileDescriptor_e6c135db3023e377, []int{2} } func (m *SimpleMap3) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SimpleMap3.Unmarshal(m, b) @@ -139,8 +143,8 @@ func (m *SimpleMap3) XXX_Unmarshal(b []byte) error { func (m *SimpleMap3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SimpleMap3.Marshal(b, m, deterministic) } -func (dst *SimpleMap3) XXX_Merge(src proto.Message) { - xxx_messageInfo_SimpleMap3.Merge(dst, src) +func (m *SimpleMap3) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleMap3.Merge(m, src) } func (m *SimpleMap3) XXX_Size() int { return xxx_messageInfo_SimpleMap3.Size(m) @@ -169,7 +173,7 @@ func (m *SimpleNull3) Reset() { *m = SimpleNull3{} } func (m *SimpleNull3) String() string { return proto.CompactTextString(m) } func (*SimpleNull3) ProtoMessage() {} func (*SimpleNull3) Descriptor() ([]byte, []int) { - return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{3} + return fileDescriptor_e6c135db3023e377, []int{3} } func (m *SimpleNull3) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SimpleNull3.Unmarshal(m, b) @@ -177,8 +181,8 @@ func (m *SimpleNull3) XXX_Unmarshal(b []byte) error { func (m *SimpleNull3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SimpleNull3.Marshal(b, m, deterministic) } -func (dst *SimpleNull3) XXX_Merge(src proto.Message) { - xxx_messageInfo_SimpleNull3.Merge(dst, src) +func (m *SimpleNull3) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleNull3.Merge(m, src) } func (m *SimpleNull3) XXX_Size() int { return xxx_messageInfo_SimpleNull3.Size(m) @@ -216,7 +220,7 @@ func (m *Mappy) Reset() { *m = Mappy{} } func (m *Mappy) String() string { return proto.CompactTextString(m) } func (*Mappy) ProtoMessage() {} func (*Mappy) Descriptor() ([]byte, []int) { - return fileDescriptor_more_test_objects_bef0d79b901f4c4a, []int{4} + return fileDescriptor_e6c135db3023e377, []int{4} } func (m *Mappy) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Mappy.Unmarshal(m, b) @@ -224,8 +228,8 @@ func (m *Mappy) XXX_Unmarshal(b []byte) error { func (m *Mappy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Mappy.Marshal(b, m, deterministic) } -func (dst *Mappy) XXX_Merge(src proto.Message) { - xxx_messageInfo_Mappy.Merge(dst, src) +func (m *Mappy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Mappy.Merge(m, src) } func (m *Mappy) XXX_Size() int { return xxx_messageInfo_Mappy.Size(m) @@ -307,6 +311,7 @@ func (m *Mappy) GetU64Booly() map[uint64]bool { } func init() { + proto.RegisterEnum("jsonpb.Numeral", Numeral_name, Numeral_value) proto.RegisterType((*Simple3)(nil), "jsonpb.Simple3") proto.RegisterType((*SimpleSlice3)(nil), "jsonpb.SimpleSlice3") proto.RegisterType((*SimpleMap3)(nil), "jsonpb.SimpleMap3") @@ -323,14 +328,11 @@ func init() { proto.RegisterMapType((map[string]string)(nil), "jsonpb.Mappy.StrryEntry") proto.RegisterMapType((map[uint32]bool)(nil), "jsonpb.Mappy.U32boolyEntry") proto.RegisterMapType((map[uint64]bool)(nil), "jsonpb.Mappy.U64boolyEntry") - proto.RegisterEnum("jsonpb.Numeral", Numeral_name, Numeral_value) } -func init() { - proto.RegisterFile("more_test_objects.proto", fileDescriptor_more_test_objects_bef0d79b901f4c4a) -} +func init() { proto.RegisterFile("more_test_objects.proto", fileDescriptor_e6c135db3023e377) } -var fileDescriptor_more_test_objects_bef0d79b901f4c4a = []byte{ +var fileDescriptor_e6c135db3023e377 = []byte{ // 526 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xdd, 0x6b, 0xdb, 0x3c, 0x14, 0x87, 0x5f, 0x27, 0xf5, 0xd7, 0x49, 0xfb, 0x2e, 0x88, 0xb1, 0x99, 0xf4, 0x62, 0xc5, 0xb0, diff --git a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go index 91be0b26f..7efcab845 100644 --- a/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go +++ b/vendor/github.com/gogo/protobuf/jsonpb/jsonpb_test_proto/test_objects.pb.go @@ -3,12 +3,12 @@ package jsonpb -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -// skipping weak import gogoproto "github.com/gogo/protobuf/gogoproto" -import types "github.com/gogo/protobuf/types" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,6 +34,7 @@ var Widget_Color_name = map[int32]string{ 1: "GREEN", 2: "BLUE", } + var Widget_Color_value = map[string]int32{ "RED": 0, "GREEN": 1, @@ -45,9 +46,11 @@ func (x Widget_Color) Enum() *Widget_Color { *p = x return p } + func (x Widget_Color) String() string { return proto.EnumName(Widget_Color_name, int32(x)) } + func (x *Widget_Color) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(Widget_Color_value, data, "Widget_Color") if err != nil { @@ -56,8 +59,9 @@ func (x *Widget_Color) UnmarshalJSON(data []byte) error { *x = Widget_Color(value) return nil } + func (Widget_Color) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{3, 0} + return fileDescriptor_e97c739a0ce14cc6, []int{3, 0} } // Test message for holding primitive types. @@ -91,7 +95,7 @@ func (m *Simple) Reset() { *m = Simple{} } func (m *Simple) String() string { return proto.CompactTextString(m) } func (*Simple) ProtoMessage() {} func (*Simple) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{0} + return fileDescriptor_e97c739a0ce14cc6, []int{0} } func (m *Simple) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Simple.Unmarshal(m, b) @@ -99,8 +103,8 @@ func (m *Simple) XXX_Unmarshal(b []byte) error { func (m *Simple) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Simple.Marshal(b, m, deterministic) } -func (dst *Simple) XXX_Merge(src proto.Message) { - xxx_messageInfo_Simple.Merge(dst, src) +func (m *Simple) XXX_Merge(src proto.Message) { + xxx_messageInfo_Simple.Merge(m, src) } func (m *Simple) XXX_Size() int { return xxx_messageInfo_Simple.Size(m) @@ -268,7 +272,7 @@ func (m *NonFinites) Reset() { *m = NonFinites{} } func (m *NonFinites) String() string { return proto.CompactTextString(m) } func (*NonFinites) ProtoMessage() {} func (*NonFinites) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{1} + return fileDescriptor_e97c739a0ce14cc6, []int{1} } func (m *NonFinites) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NonFinites.Unmarshal(m, b) @@ -276,8 +280,8 @@ func (m *NonFinites) XXX_Unmarshal(b []byte) error { func (m *NonFinites) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NonFinites.Marshal(b, m, deterministic) } -func (dst *NonFinites) XXX_Merge(src proto.Message) { - xxx_messageInfo_NonFinites.Merge(dst, src) +func (m *NonFinites) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonFinites.Merge(m, src) } func (m *NonFinites) XXX_Size() int { return xxx_messageInfo_NonFinites.Size(m) @@ -352,7 +356,7 @@ func (m *Repeats) Reset() { *m = Repeats{} } func (m *Repeats) String() string { return proto.CompactTextString(m) } func (*Repeats) ProtoMessage() {} func (*Repeats) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{2} + return fileDescriptor_e97c739a0ce14cc6, []int{2} } func (m *Repeats) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Repeats.Unmarshal(m, b) @@ -360,8 +364,8 @@ func (m *Repeats) XXX_Unmarshal(b []byte) error { func (m *Repeats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Repeats.Marshal(b, m, deterministic) } -func (dst *Repeats) XXX_Merge(src proto.Message) { - xxx_messageInfo_Repeats.Merge(dst, src) +func (m *Repeats) XXX_Merge(src proto.Message) { + xxx_messageInfo_Repeats.Merge(m, src) } func (m *Repeats) XXX_Size() int { return xxx_messageInfo_Repeats.Size(m) @@ -466,7 +470,7 @@ func (m *Widget) Reset() { *m = Widget{} } func (m *Widget) String() string { return proto.CompactTextString(m) } func (*Widget) ProtoMessage() {} func (*Widget) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{3} + return fileDescriptor_e97c739a0ce14cc6, []int{3} } func (m *Widget) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Widget.Unmarshal(m, b) @@ -474,8 +478,8 @@ func (m *Widget) XXX_Unmarshal(b []byte) error { func (m *Widget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Widget.Marshal(b, m, deterministic) } -func (dst *Widget) XXX_Merge(src proto.Message) { - xxx_messageInfo_Widget.Merge(dst, src) +func (m *Widget) XXX_Merge(src proto.Message) { + xxx_messageInfo_Widget.Merge(m, src) } func (m *Widget) XXX_Size() int { return xxx_messageInfo_Widget.Size(m) @@ -540,7 +544,7 @@ func (m *Maps) Reset() { *m = Maps{} } func (m *Maps) String() string { return proto.CompactTextString(m) } func (*Maps) ProtoMessage() {} func (*Maps) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{4} + return fileDescriptor_e97c739a0ce14cc6, []int{4} } func (m *Maps) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Maps.Unmarshal(m, b) @@ -548,8 +552,8 @@ func (m *Maps) XXX_Unmarshal(b []byte) error { func (m *Maps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Maps.Marshal(b, m, deterministic) } -func (dst *Maps) XXX_Merge(src proto.Message) { - xxx_messageInfo_Maps.Merge(dst, src) +func (m *Maps) XXX_Merge(src proto.Message) { + xxx_messageInfo_Maps.Merge(m, src) } func (m *Maps) XXX_Size() int { return xxx_messageInfo_Maps.Size(m) @@ -591,7 +595,7 @@ func (m *MsgWithOneof) Reset() { *m = MsgWithOneof{} } func (m *MsgWithOneof) String() string { return proto.CompactTextString(m) } func (*MsgWithOneof) ProtoMessage() {} func (*MsgWithOneof) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{5} + return fileDescriptor_e97c739a0ce14cc6, []int{5} } func (m *MsgWithOneof) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgWithOneof.Unmarshal(m, b) @@ -599,8 +603,8 @@ func (m *MsgWithOneof) XXX_Unmarshal(b []byte) error { func (m *MsgWithOneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MsgWithOneof.Marshal(b, m, deterministic) } -func (dst *MsgWithOneof) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithOneof.Merge(dst, src) +func (m *MsgWithOneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithOneof.Merge(m, src) } func (m *MsgWithOneof) XXX_Size() int { return xxx_messageInfo_MsgWithOneof.Size(m) @@ -805,7 +809,7 @@ func (m *Real) Reset() { *m = Real{} } func (m *Real) String() string { return proto.CompactTextString(m) } func (*Real) ProtoMessage() {} func (*Real) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{6} + return fileDescriptor_e97c739a0ce14cc6, []int{6} } var extRange_Real = []proto.ExtensionRange{ @@ -815,14 +819,15 @@ var extRange_Real = []proto.ExtensionRange{ func (*Real) ExtensionRangeArray() []proto.ExtensionRange { return extRange_Real } + func (m *Real) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Real.Unmarshal(m, b) } func (m *Real) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Real.Marshal(b, m, deterministic) } -func (dst *Real) XXX_Merge(src proto.Message) { - xxx_messageInfo_Real.Merge(dst, src) +func (m *Real) XXX_Merge(src proto.Message) { + xxx_messageInfo_Real.Merge(m, src) } func (m *Real) XXX_Size() int { return xxx_messageInfo_Real.Size(m) @@ -852,7 +857,7 @@ func (m *Complex) Reset() { *m = Complex{} } func (m *Complex) String() string { return proto.CompactTextString(m) } func (*Complex) ProtoMessage() {} func (*Complex) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{7} + return fileDescriptor_e97c739a0ce14cc6, []int{7} } var extRange_Complex = []proto.ExtensionRange{ @@ -862,14 +867,15 @@ var extRange_Complex = []proto.ExtensionRange{ func (*Complex) ExtensionRangeArray() []proto.ExtensionRange { return extRange_Complex } + func (m *Complex) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Complex.Unmarshal(m, b) } func (m *Complex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Complex.Marshal(b, m, deterministic) } -func (dst *Complex) XXX_Merge(src proto.Message) { - xxx_messageInfo_Complex.Merge(dst, src) +func (m *Complex) XXX_Merge(src proto.Message) { + xxx_messageInfo_Complex.Merge(m, src) } func (m *Complex) XXX_Size() int { return xxx_messageInfo_Complex.Size(m) @@ -892,7 +898,7 @@ var E_Complex_RealExtension = &proto.ExtensionDesc{ ExtensionType: (*Complex)(nil), Field: 123, Name: "jsonpb.Complex.real_extension", - Tag: "bytes,123,opt,name=real_extension,json=realExtension", + Tag: "bytes,123,opt,name=real_extension", Filename: "test_objects.proto", } @@ -921,7 +927,7 @@ func (m *KnownTypes) Reset() { *m = KnownTypes{} } func (m *KnownTypes) String() string { return proto.CompactTextString(m) } func (*KnownTypes) ProtoMessage() {} func (*KnownTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{8} + return fileDescriptor_e97c739a0ce14cc6, []int{8} } func (m *KnownTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KnownTypes.Unmarshal(m, b) @@ -929,8 +935,8 @@ func (m *KnownTypes) XXX_Unmarshal(b []byte) error { func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_KnownTypes.Marshal(b, m, deterministic) } -func (dst *KnownTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_KnownTypes.Merge(dst, src) +func (m *KnownTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_KnownTypes.Merge(m, src) } func (m *KnownTypes) XXX_Size() int { return xxx_messageInfo_KnownTypes.Size(m) @@ -1058,7 +1064,7 @@ func (m *MsgWithRequired) Reset() { *m = MsgWithRequired{} } func (m *MsgWithRequired) String() string { return proto.CompactTextString(m) } func (*MsgWithRequired) ProtoMessage() {} func (*MsgWithRequired) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{9} + return fileDescriptor_e97c739a0ce14cc6, []int{9} } func (m *MsgWithRequired) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgWithRequired.Unmarshal(m, b) @@ -1066,8 +1072,8 @@ func (m *MsgWithRequired) XXX_Unmarshal(b []byte) error { func (m *MsgWithRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MsgWithRequired.Marshal(b, m, deterministic) } -func (dst *MsgWithRequired) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithRequired.Merge(dst, src) +func (m *MsgWithRequired) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithRequired.Merge(m, src) } func (m *MsgWithRequired) XXX_Size() int { return xxx_messageInfo_MsgWithRequired.Size(m) @@ -1098,7 +1104,7 @@ func (m *MsgWithIndirectRequired) Reset() { *m = MsgWithIndirectRequired func (m *MsgWithIndirectRequired) String() string { return proto.CompactTextString(m) } func (*MsgWithIndirectRequired) ProtoMessage() {} func (*MsgWithIndirectRequired) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{10} + return fileDescriptor_e97c739a0ce14cc6, []int{10} } func (m *MsgWithIndirectRequired) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgWithIndirectRequired.Unmarshal(m, b) @@ -1106,8 +1112,8 @@ func (m *MsgWithIndirectRequired) XXX_Unmarshal(b []byte) error { func (m *MsgWithIndirectRequired) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MsgWithIndirectRequired.Marshal(b, m, deterministic) } -func (dst *MsgWithIndirectRequired) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithIndirectRequired.Merge(dst, src) +func (m *MsgWithIndirectRequired) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithIndirectRequired.Merge(m, src) } func (m *MsgWithIndirectRequired) XXX_Size() int { return xxx_messageInfo_MsgWithIndirectRequired.Size(m) @@ -1150,7 +1156,7 @@ func (m *MsgWithRequiredBytes) Reset() { *m = MsgWithRequiredBytes{} } func (m *MsgWithRequiredBytes) String() string { return proto.CompactTextString(m) } func (*MsgWithRequiredBytes) ProtoMessage() {} func (*MsgWithRequiredBytes) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{11} + return fileDescriptor_e97c739a0ce14cc6, []int{11} } func (m *MsgWithRequiredBytes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgWithRequiredBytes.Unmarshal(m, b) @@ -1158,8 +1164,8 @@ func (m *MsgWithRequiredBytes) XXX_Unmarshal(b []byte) error { func (m *MsgWithRequiredBytes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MsgWithRequiredBytes.Marshal(b, m, deterministic) } -func (dst *MsgWithRequiredBytes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithRequiredBytes.Merge(dst, src) +func (m *MsgWithRequiredBytes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithRequiredBytes.Merge(m, src) } func (m *MsgWithRequiredBytes) XXX_Size() int { return xxx_messageInfo_MsgWithRequiredBytes.Size(m) @@ -1188,7 +1194,7 @@ func (m *MsgWithRequiredWKT) Reset() { *m = MsgWithRequiredWKT{} } func (m *MsgWithRequiredWKT) String() string { return proto.CompactTextString(m) } func (*MsgWithRequiredWKT) ProtoMessage() {} func (*MsgWithRequiredWKT) Descriptor() ([]byte, []int) { - return fileDescriptor_test_objects_a7605480de8589c4, []int{12} + return fileDescriptor_e97c739a0ce14cc6, []int{12} } func (m *MsgWithRequiredWKT) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgWithRequiredWKT.Unmarshal(m, b) @@ -1196,8 +1202,8 @@ func (m *MsgWithRequiredWKT) XXX_Unmarshal(b []byte) error { func (m *MsgWithRequiredWKT) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MsgWithRequiredWKT.Marshal(b, m, deterministic) } -func (dst *MsgWithRequiredWKT) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgWithRequiredWKT.Merge(dst, src) +func (m *MsgWithRequiredWKT) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgWithRequiredWKT.Merge(m, src) } func (m *MsgWithRequiredWKT) XXX_Size() int { return xxx_messageInfo_MsgWithRequiredWKT.Size(m) @@ -1234,6 +1240,7 @@ var E_Extm = &proto.ExtensionDesc{ } func init() { + proto.RegisterEnum("jsonpb.Widget_Color", Widget_Color_name, Widget_Color_value) proto.RegisterType((*Simple)(nil), "jsonpb.Simple") proto.RegisterType((*NonFinites)(nil), "jsonpb.NonFinites") proto.RegisterType((*Repeats)(nil), "jsonpb.Repeats") @@ -1243,6 +1250,7 @@ func init() { proto.RegisterMapType((map[int64]string)(nil), "jsonpb.Maps.MInt64StrEntry") proto.RegisterType((*MsgWithOneof)(nil), "jsonpb.MsgWithOneof") proto.RegisterType((*Real)(nil), "jsonpb.Real") + proto.RegisterExtension(E_Complex_RealExtension) proto.RegisterType((*Complex)(nil), "jsonpb.Complex") proto.RegisterType((*KnownTypes)(nil), "jsonpb.KnownTypes") proto.RegisterType((*MsgWithRequired)(nil), "jsonpb.MsgWithRequired") @@ -1250,15 +1258,13 @@ func init() { proto.RegisterMapType((map[string]*MsgWithRequired)(nil), "jsonpb.MsgWithIndirectRequired.MapFieldEntry") proto.RegisterType((*MsgWithRequiredBytes)(nil), "jsonpb.MsgWithRequiredBytes") proto.RegisterType((*MsgWithRequiredWKT)(nil), "jsonpb.MsgWithRequiredWKT") - proto.RegisterEnum("jsonpb.Widget_Color", Widget_Color_name, Widget_Color_value) - proto.RegisterExtension(E_Complex_RealExtension) proto.RegisterExtension(E_Name) proto.RegisterExtension(E_Extm) } -func init() { proto.RegisterFile("test_objects.proto", fileDescriptor_test_objects_a7605480de8589c4) } +func init() { proto.RegisterFile("test_objects.proto", fileDescriptor_e97c739a0ce14cc6) } -var fileDescriptor_test_objects_a7605480de8589c4 = []byte{ +var fileDescriptor_e97c739a0ce14cc6 = []byte{ // 1504 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x56, 0xdb, 0x72, 0xdb, 0x36, 0x1a, 0x36, 0x49, 0x51, 0x12, 0x7f, 0xf9, 0x14, 0xc4, 0x49, 0x64, 0x6d, 0x36, 0xe1, 0x28, 0xd9, diff --git a/vendor/github.com/gogo/protobuf/proto/decode.go b/vendor/github.com/gogo/protobuf/proto/decode.go index d9aa3c42d..63b0f08be 100644 --- a/vendor/github.com/gogo/protobuf/proto/decode.go +++ b/vendor/github.com/gogo/protobuf/proto/decode.go @@ -186,7 +186,6 @@ func (p *Buffer) DecodeVarint() (x uint64, err error) { if b&0x80 == 0 { goto done } - // x -= 0x80 << 63 // Always zero. return 0, errOverflow diff --git a/vendor/github.com/gogo/protobuf/proto/deprecated.go b/vendor/github.com/gogo/protobuf/proto/deprecated.go new file mode 100644 index 000000000..35b882c09 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/proto/deprecated.go @@ -0,0 +1,63 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2018 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// 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. + +package proto + +import "errors" + +// Deprecated: do not use. +type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 } + +// Deprecated: do not use. +func GetStats() Stats { return Stats{} } + +// Deprecated: do not use. +func MarshalMessageSet(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSet([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func MarshalMessageSetJSON(interface{}) ([]byte, error) { + return nil, errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func UnmarshalMessageSetJSON([]byte, interface{}) error { + return errors.New("proto: not implemented") +} + +// Deprecated: do not use. +func RegisterMessageSetType(Message, int32, string) {} diff --git a/vendor/github.com/gogo/protobuf/proto/extensions.go b/vendor/github.com/gogo/protobuf/proto/extensions.go index 44ebd457c..686bd2a09 100644 --- a/vendor/github.com/gogo/protobuf/proto/extensions.go +++ b/vendor/github.com/gogo/protobuf/proto/extensions.go @@ -544,7 +544,7 @@ func SetExtension(pb Message, extension *ExtensionDesc, value interface{}) error } typ := reflect.TypeOf(extension.ExtensionType) if typ != reflect.TypeOf(value) { - return errors.New("proto: bad extension value type") + return fmt.Errorf("proto: bad extension value type. got: %T, want: %T", value, extension.ExtensionType) } // nil extension values need to be caught early, because the // encoder can't distinguish an ErrNil due to a nil extension diff --git a/vendor/github.com/gogo/protobuf/proto/lib.go b/vendor/github.com/gogo/protobuf/proto/lib.go index b2271d0b7..d17f80209 100644 --- a/vendor/github.com/gogo/protobuf/proto/lib.go +++ b/vendor/github.com/gogo/protobuf/proto/lib.go @@ -341,26 +341,6 @@ type Message interface { ProtoMessage() } -// Stats records allocation details about the protocol buffer encoders -// and decoders. Useful for tuning the library itself. -type Stats struct { - Emalloc uint64 // mallocs in encode - Dmalloc uint64 // mallocs in decode - Encode uint64 // number of encodes - Decode uint64 // number of decodes - Chit uint64 // number of cache hits - Cmiss uint64 // number of cache misses - Size uint64 // number of sizes -} - -// Set to true to enable stats collection. -const collectStats = false - -var stats Stats - -// GetStats returns a copy of the global Stats structure. -func GetStats() Stats { return stats } - // A Buffer is a buffer manager for marshaling and unmarshaling // protocol buffers. It may be reused between invocations to // reduce memory usage. It is not necessary to use a Buffer; diff --git a/vendor/github.com/gogo/protobuf/proto/message_set.go b/vendor/github.com/gogo/protobuf/proto/message_set.go index 3b6ca41d5..f48a75676 100644 --- a/vendor/github.com/gogo/protobuf/proto/message_set.go +++ b/vendor/github.com/gogo/protobuf/proto/message_set.go @@ -36,13 +36,7 @@ package proto */ import ( - "bytes" - "encoding/json" "errors" - "fmt" - "reflect" - "sort" - "sync" ) // errNoMessageTypeID occurs when a protocol buffer does not have a message type ID. @@ -145,46 +139,9 @@ func skipVarint(buf []byte) []byte { return buf[i+1:] } -// MarshalMessageSet encodes the extension map represented by m in the message set wire format. -// It is called by generated Marshal methods on protocol buffer messages with the message_set_wire_format option. -func MarshalMessageSet(exts interface{}) ([]byte, error) { - return marshalMessageSet(exts, false) -} - -// marshaMessageSet implements above function, with the opt to turn on / off deterministic during Marshal. -func marshalMessageSet(exts interface{}, deterministic bool) ([]byte, error) { - switch exts := exts.(type) { - case *XXX_InternalExtensions: - var u marshalInfo - siz := u.sizeMessageSet(exts) - b := make([]byte, 0, siz) - return u.appendMessageSet(b, exts, deterministic) - - case map[int32]Extension: - // This is an old-style extension map. - // Wrap it in a new-style XXX_InternalExtensions. - ie := XXX_InternalExtensions{ - p: &struct { - mu sync.Mutex - extensionMap map[int32]Extension - }{ - extensionMap: exts, - }, - } - - var u marshalInfo - siz := u.sizeMessageSet(&ie) - b := make([]byte, 0, siz) - return u.appendMessageSet(b, &ie, deterministic) - - default: - return nil, errors.New("proto: not an extension map") - } -} - -// UnmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. +// unmarshalMessageSet decodes the extension map encoded in buf in the message set wire format. // It is called by Unmarshal methods on protocol buffer messages with the message_set_wire_format option. -func UnmarshalMessageSet(buf []byte, exts interface{}) error { +func unmarshalMessageSet(buf []byte, exts interface{}) error { var m map[int32]Extension switch exts := exts.(type) { case *XXX_InternalExtensions: @@ -222,93 +179,3 @@ func UnmarshalMessageSet(buf []byte, exts interface{}) error { } return nil } - -// MarshalMessageSetJSON encodes the extension map represented by m in JSON format. -// It is called by generated MarshalJSON methods on protocol buffer messages with the message_set_wire_format option. -func MarshalMessageSetJSON(exts interface{}) ([]byte, error) { - var m map[int32]Extension - switch exts := exts.(type) { - case *XXX_InternalExtensions: - var mu sync.Locker - m, mu = exts.extensionsRead() - if m != nil { - // Keep the extensions map locked until we're done marshaling to prevent - // races between marshaling and unmarshaling the lazily-{en,de}coded - // values. - mu.Lock() - defer mu.Unlock() - } - case map[int32]Extension: - m = exts - default: - return nil, errors.New("proto: not an extension map") - } - var b bytes.Buffer - b.WriteByte('{') - - // Process the map in key order for deterministic output. - ids := make([]int32, 0, len(m)) - for id := range m { - ids = append(ids, id) - } - sort.Sort(int32Slice(ids)) // int32Slice defined in text.go - - for i, id := range ids { - ext := m[id] - msd, ok := messageSetMap[id] - if !ok { - // Unknown type; we can't render it, so skip it. - continue - } - - if i > 0 && b.Len() > 1 { - b.WriteByte(',') - } - - fmt.Fprintf(&b, `"[%s]":`, msd.name) - - x := ext.value - if x == nil { - x = reflect.New(msd.t.Elem()).Interface() - if err := Unmarshal(ext.enc, x.(Message)); err != nil { - return nil, err - } - } - d, err := json.Marshal(x) - if err != nil { - return nil, err - } - b.Write(d) - } - b.WriteByte('}') - return b.Bytes(), nil -} - -// UnmarshalMessageSetJSON decodes the extension map encoded in buf in JSON format. -// It is called by generated UnmarshalJSON methods on protocol buffer messages with the message_set_wire_format option. -func UnmarshalMessageSetJSON(buf []byte, exts interface{}) error { - // Common-case fast path. - if len(buf) == 0 || bytes.Equal(buf, []byte("{}")) { - return nil - } - - // This is fairly tricky, and it's not clear that it is needed. - return errors.New("TODO: UnmarshalMessageSetJSON not yet implemented") -} - -// A global registry of types that can be used in a MessageSet. - -var messageSetMap = make(map[int32]messageSetDesc) - -type messageSetDesc struct { - t reflect.Type // pointer to struct - name string -} - -// RegisterMessageSetType is called from the generated code. -func RegisterMessageSetType(m Message, fieldNum int32, name string) { - messageSetMap[fieldNum] = messageSetDesc{ - t: reflect.TypeOf(m), - name: name, - } -} diff --git a/vendor/github.com/gogo/protobuf/proto/properties.go b/vendor/github.com/gogo/protobuf/proto/properties.go index 04dcb8d9e..c9e5fa020 100644 --- a/vendor/github.com/gogo/protobuf/proto/properties.go +++ b/vendor/github.com/gogo/protobuf/proto/properties.go @@ -391,9 +391,6 @@ func GetProperties(t reflect.Type) *StructProperties { sprop, ok := propertiesMap[t] propertiesMu.RUnlock() if ok { - if collectStats { - stats.Chit++ - } return sprop } @@ -406,14 +403,8 @@ func GetProperties(t reflect.Type) *StructProperties { // getPropertiesLocked requires that propertiesMu is held. func getPropertiesLocked(t reflect.Type) *StructProperties { if prop, ok := propertiesMap[t]; ok { - if collectStats { - stats.Chit++ - } return prop } - if collectStats { - stats.Cmiss++ - } prop := new(StructProperties) // in case of recursive protos, fill this in now. diff --git a/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go b/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go index d896fa977..973c726fe 100644 --- a/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/proto/proto3_proto/proto3.pb.go @@ -3,11 +3,13 @@ package proto3_proto -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import test_proto "github.com/gogo/protobuf/proto/test_proto" -import types "github.com/gogo/protobuf/types" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + test_proto "github.com/gogo/protobuf/proto/test_proto" + types "github.com/gogo/protobuf/types" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -35,6 +37,7 @@ var Message_Humour_name = map[int32]string{ 2: "SLAPSTICK", 3: "BILL_BAILEY", } + var Message_Humour_value = map[string]int32{ "UNKNOWN": 0, "PUNS": 1, @@ -45,8 +48,9 @@ var Message_Humour_value = map[string]int32{ func (x Message_Humour) String() string { return proto.EnumName(Message_Humour_name, int32(x)) } + func (Message_Humour) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_proto3_648c710522dc372e, []int{0, 0} + return fileDescriptor_4fee6d65e34a64b6, []int{0, 0} } type Message struct { @@ -78,7 +82,7 @@ func (m *Message) Reset() { *m = Message{} } func (m *Message) String() string { return proto.CompactTextString(m) } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_648c710522dc372e, []int{0} + return fileDescriptor_4fee6d65e34a64b6, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Message.Unmarshal(m, b) @@ -86,8 +90,8 @@ func (m *Message) XXX_Unmarshal(b []byte) error { func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Message.Marshal(b, m, deterministic) } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return xxx_messageInfo_Message.Size(m) @@ -243,7 +247,7 @@ func (m *Nested) Reset() { *m = Nested{} } func (m *Nested) String() string { return proto.CompactTextString(m) } func (*Nested) ProtoMessage() {} func (*Nested) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_648c710522dc372e, []int{1} + return fileDescriptor_4fee6d65e34a64b6, []int{1} } func (m *Nested) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Nested.Unmarshal(m, b) @@ -251,8 +255,8 @@ func (m *Nested) XXX_Unmarshal(b []byte) error { func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Nested.Marshal(b, m, deterministic) } -func (dst *Nested) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nested.Merge(dst, src) +func (m *Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nested.Merge(m, src) } func (m *Nested) XXX_Size() int { return xxx_messageInfo_Nested.Size(m) @@ -288,7 +292,7 @@ func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } func (m *MessageWithMap) String() string { return proto.CompactTextString(m) } func (*MessageWithMap) ProtoMessage() {} func (*MessageWithMap) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_648c710522dc372e, []int{2} + return fileDescriptor_4fee6d65e34a64b6, []int{2} } func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageWithMap.Unmarshal(m, b) @@ -296,8 +300,8 @@ func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MessageWithMap.Marshal(b, m, deterministic) } -func (dst *MessageWithMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageWithMap.Merge(dst, src) +func (m *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(m, src) } func (m *MessageWithMap) XXX_Size() int { return xxx_messageInfo_MessageWithMap.Size(m) @@ -326,7 +330,7 @@ func (m *IntMap) Reset() { *m = IntMap{} } func (m *IntMap) String() string { return proto.CompactTextString(m) } func (*IntMap) ProtoMessage() {} func (*IntMap) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_648c710522dc372e, []int{3} + return fileDescriptor_4fee6d65e34a64b6, []int{3} } func (m *IntMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IntMap.Unmarshal(m, b) @@ -334,8 +338,8 @@ func (m *IntMap) XXX_Unmarshal(b []byte) error { func (m *IntMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_IntMap.Marshal(b, m, deterministic) } -func (dst *IntMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_IntMap.Merge(dst, src) +func (m *IntMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_IntMap.Merge(m, src) } func (m *IntMap) XXX_Size() int { return xxx_messageInfo_IntMap.Size(m) @@ -364,7 +368,7 @@ func (m *IntMaps) Reset() { *m = IntMaps{} } func (m *IntMaps) String() string { return proto.CompactTextString(m) } func (*IntMaps) ProtoMessage() {} func (*IntMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_648c710522dc372e, []int{4} + return fileDescriptor_4fee6d65e34a64b6, []int{4} } func (m *IntMaps) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IntMaps.Unmarshal(m, b) @@ -372,8 +376,8 @@ func (m *IntMaps) XXX_Unmarshal(b []byte) error { func (m *IntMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_IntMaps.Marshal(b, m, deterministic) } -func (dst *IntMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_IntMaps.Merge(dst, src) +func (m *IntMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_IntMaps.Merge(m, src) } func (m *IntMaps) XXX_Size() int { return xxx_messageInfo_IntMaps.Size(m) @@ -408,7 +412,7 @@ func (m *TestUTF8) Reset() { *m = TestUTF8{} } func (m *TestUTF8) String() string { return proto.CompactTextString(m) } func (*TestUTF8) ProtoMessage() {} func (*TestUTF8) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_648c710522dc372e, []int{5} + return fileDescriptor_4fee6d65e34a64b6, []int{5} } func (m *TestUTF8) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TestUTF8.Unmarshal(m, b) @@ -416,8 +420,8 @@ func (m *TestUTF8) XXX_Unmarshal(b []byte) error { func (m *TestUTF8) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TestUTF8.Marshal(b, m, deterministic) } -func (dst *TestUTF8) XXX_Merge(src proto.Message) { - xxx_messageInfo_TestUTF8.Merge(dst, src) +func (m *TestUTF8) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestUTF8.Merge(m, src) } func (m *TestUTF8) XXX_Size() int { return xxx_messageInfo_TestUTF8.Size(m) @@ -532,6 +536,7 @@ func _TestUTF8_OneofSizer(msg proto.Message) (n int) { } func init() { + proto.RegisterEnum("proto3_proto.Message_Humour", Message_Humour_name, Message_Humour_value) proto.RegisterType((*Message)(nil), "proto3_proto.Message") proto.RegisterMapType((map[string]*test_proto.SubDefaults)(nil), "proto3_proto.Message.Proto2ValueEntry") proto.RegisterMapType((map[string]string)(nil), "proto3_proto.Message.StringMapEntry") @@ -545,12 +550,11 @@ func init() { proto.RegisterType((*TestUTF8)(nil), "proto3_proto.TestUTF8") proto.RegisterMapType((map[string]int64)(nil), "proto3_proto.TestUTF8.MapKeyEntry") proto.RegisterMapType((map[int64]string)(nil), "proto3_proto.TestUTF8.MapValueEntry") - proto.RegisterEnum("proto3_proto.Message_Humour", Message_Humour_name, Message_Humour_value) } -func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_648c710522dc372e) } +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_4fee6d65e34a64b6) } -var fileDescriptor_proto3_648c710522dc372e = []byte{ +var fileDescriptor_4fee6d65e34a64b6 = []byte{ // 891 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0xff, 0x8e, 0xdb, 0x44, 0x10, 0xae, 0xe3, 0xfc, 0x70, 0x26, 0xc9, 0x35, 0x2c, 0x69, 0x59, 0x02, 0x48, 0x26, 0x20, 0x64, diff --git a/vendor/github.com/gogo/protobuf/proto/table_marshal.go b/vendor/github.com/gogo/protobuf/proto/table_marshal.go index ba58c49a4..9b1538d05 100644 --- a/vendor/github.com/gogo/protobuf/proto/table_marshal.go +++ b/vendor/github.com/gogo/protobuf/proto/table_marshal.go @@ -491,7 +491,7 @@ func (fi *marshalFieldInfo) computeMarshalFieldInfo(f *reflect.StructField) { func (fi *marshalFieldInfo) computeOneofFieldInfo(f *reflect.StructField, oneofImplementers []interface{}) { fi.field = toField(f) - fi.wiretag = 1<<31 - 1 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire. + fi.wiretag = math.MaxInt32 // Use a large tag number, make oneofs sorted at the end. This tag will not appear on the wire. fi.isPointer = true fi.sizer, fi.marshaler = makeOneOfMarshaler(fi, f) fi.oneofElems = make(map[reflect.Type]*marshalElemInfo) diff --git a/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go b/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go index e6b15c76c..bb2622f28 100644 --- a/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go +++ b/vendor/github.com/gogo/protobuf/proto/table_unmarshal.go @@ -138,7 +138,7 @@ func (u *unmarshalInfo) unmarshal(m pointer, b []byte) error { u.computeUnmarshalInfo() } if u.isMessageSet { - return UnmarshalMessageSet(b, m.offset(u.extensions).toExtensions()) + return unmarshalMessageSet(b, m.offset(u.extensions).toExtensions()) } var reqMask uint64 // bitmask of required fields we've seen. var errLater error @@ -2142,7 +2142,7 @@ func encodeVarint(b []byte, x uint64) []byte { // If there is an error, it returns 0,0. func decodeVarint(b []byte) (uint64, int) { var x, y uint64 - if len(b) <= 0 { + if len(b) == 0 { goto bad } x = uint64(b[0]) diff --git a/vendor/github.com/gogo/protobuf/proto/test_proto/test.pb.go b/vendor/github.com/gogo/protobuf/proto/test_proto/test.pb.go index a535feb9d..b3fa22604 100644 --- a/vendor/github.com/gogo/protobuf/proto/test_proto/test.pb.go +++ b/vendor/github.com/gogo/protobuf/proto/test_proto/test.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: test.proto -package test_proto // import "github.com/gogo/protobuf/proto/test_proto" +package test_proto -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -27,6 +29,7 @@ const ( var FOO_name = map[int32]string{ 1: "FOO1", } + var FOO_value = map[string]int32{ "FOO1": 1, } @@ -36,9 +39,11 @@ func (x FOO) Enum() *FOO { *p = x return p } + func (x FOO) String() string { return proto.EnumName(FOO_name, int32(x)) } + func (x *FOO) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(FOO_value, data, "FOO") if err != nil { @@ -47,8 +52,9 @@ func (x *FOO) UnmarshalJSON(data []byte) error { *x = FOO(value) return nil } + func (FOO) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{0} } // An enum, for completeness. @@ -89,6 +95,7 @@ var GoTest_KIND_name = map[int32]string{ 11: "TABLE", 12: "FUNCTION", } + var GoTest_KIND_value = map[string]int32{ "VOID": 0, "BOOL": 1, @@ -110,9 +117,11 @@ func (x GoTest_KIND) Enum() *GoTest_KIND { *p = x return p } + func (x GoTest_KIND) String() string { return proto.EnumName(GoTest_KIND_name, int32(x)) } + func (x *GoTest_KIND) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(GoTest_KIND_value, data, "GoTest_KIND") if err != nil { @@ -121,8 +130,9 @@ func (x *GoTest_KIND) UnmarshalJSON(data []byte) error { *x = GoTest_KIND(value) return nil } + func (GoTest_KIND) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{2, 0} } type MyMessage_Color int32 @@ -138,6 +148,7 @@ var MyMessage_Color_name = map[int32]string{ 1: "GREEN", 2: "BLUE", } + var MyMessage_Color_value = map[string]int32{ "RED": 0, "GREEN": 1, @@ -149,9 +160,11 @@ func (x MyMessage_Color) Enum() *MyMessage_Color { *p = x return p } + func (x MyMessage_Color) String() string { return proto.EnumName(MyMessage_Color_name, int32(x)) } + func (x *MyMessage_Color) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MyMessage_Color_value, data, "MyMessage_Color") if err != nil { @@ -160,8 +173,9 @@ func (x *MyMessage_Color) UnmarshalJSON(data []byte) error { *x = MyMessage_Color(value) return nil } + func (MyMessage_Color) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{13, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{13, 0} } type DefaultsMessage_DefaultsEnum int32 @@ -177,6 +191,7 @@ var DefaultsMessage_DefaultsEnum_name = map[int32]string{ 1: "ONE", 2: "TWO", } + var DefaultsMessage_DefaultsEnum_value = map[string]int32{ "ZERO": 0, "ONE": 1, @@ -188,9 +203,11 @@ func (x DefaultsMessage_DefaultsEnum) Enum() *DefaultsMessage_DefaultsEnum { *p = x return p } + func (x DefaultsMessage_DefaultsEnum) String() string { return proto.EnumName(DefaultsMessage_DefaultsEnum_name, int32(x)) } + func (x *DefaultsMessage_DefaultsEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(DefaultsMessage_DefaultsEnum_value, data, "DefaultsMessage_DefaultsEnum") if err != nil { @@ -199,8 +216,9 @@ func (x *DefaultsMessage_DefaultsEnum) UnmarshalJSON(data []byte) error { *x = DefaultsMessage_DefaultsEnum(value) return nil } + func (DefaultsMessage_DefaultsEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{16, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{16, 0} } type Defaults_Color int32 @@ -216,6 +234,7 @@ var Defaults_Color_name = map[int32]string{ 1: "GREEN", 2: "BLUE", } + var Defaults_Color_value = map[string]int32{ "RED": 0, "GREEN": 1, @@ -227,9 +246,11 @@ func (x Defaults_Color) Enum() *Defaults_Color { *p = x return p } + func (x Defaults_Color) String() string { return proto.EnumName(Defaults_Color_name, int32(x)) } + func (x *Defaults_Color) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(Defaults_Color_value, data, "Defaults_Color") if err != nil { @@ -238,8 +259,9 @@ func (x *Defaults_Color) UnmarshalJSON(data []byte) error { *x = Defaults_Color(value) return nil } + func (Defaults_Color) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{21, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{21, 0} } type RepeatedEnum_Color int32 @@ -251,6 +273,7 @@ const ( var RepeatedEnum_Color_name = map[int32]string{ 1: "RED", } + var RepeatedEnum_Color_value = map[string]int32{ "RED": 1, } @@ -260,9 +283,11 @@ func (x RepeatedEnum_Color) Enum() *RepeatedEnum_Color { *p = x return p } + func (x RepeatedEnum_Color) String() string { return proto.EnumName(RepeatedEnum_Color_name, int32(x)) } + func (x *RepeatedEnum_Color) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(RepeatedEnum_Color_value, data, "RepeatedEnum_Color") if err != nil { @@ -271,8 +296,9 @@ func (x *RepeatedEnum_Color) UnmarshalJSON(data []byte) error { *x = RepeatedEnum_Color(value) return nil } + func (RepeatedEnum_Color) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{23, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{23, 0} } type GoEnum struct { @@ -286,7 +312,7 @@ func (m *GoEnum) Reset() { *m = GoEnum{} } func (m *GoEnum) String() string { return proto.CompactTextString(m) } func (*GoEnum) ProtoMessage() {} func (*GoEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{0} } func (m *GoEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoEnum.Unmarshal(m, b) @@ -294,8 +320,8 @@ func (m *GoEnum) XXX_Unmarshal(b []byte) error { func (m *GoEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoEnum.Marshal(b, m, deterministic) } -func (dst *GoEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoEnum.Merge(dst, src) +func (m *GoEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoEnum.Merge(m, src) } func (m *GoEnum) XXX_Size() int { return xxx_messageInfo_GoEnum.Size(m) @@ -325,7 +351,7 @@ func (m *GoTestField) Reset() { *m = GoTestField{} } func (m *GoTestField) String() string { return proto.CompactTextString(m) } func (*GoTestField) ProtoMessage() {} func (*GoTestField) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{1} + return fileDescriptor_c161fcfdc0c3ff1e, []int{1} } func (m *GoTestField) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoTestField.Unmarshal(m, b) @@ -333,8 +359,8 @@ func (m *GoTestField) XXX_Unmarshal(b []byte) error { func (m *GoTestField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoTestField.Marshal(b, m, deterministic) } -func (dst *GoTestField) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoTestField.Merge(dst, src) +func (m *GoTestField) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTestField.Merge(m, src) } func (m *GoTestField) XXX_Size() int { return xxx_messageInfo_GoTestField.Size(m) @@ -458,7 +484,7 @@ func (m *GoTest) Reset() { *m = GoTest{} } func (m *GoTest) String() string { return proto.CompactTextString(m) } func (*GoTest) ProtoMessage() {} func (*GoTest) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{2} + return fileDescriptor_c161fcfdc0c3ff1e, []int{2} } func (m *GoTest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoTest.Unmarshal(m, b) @@ -466,8 +492,8 @@ func (m *GoTest) XXX_Unmarshal(b []byte) error { func (m *GoTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoTest.Marshal(b, m, deterministic) } -func (dst *GoTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoTest.Merge(dst, src) +func (m *GoTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest.Merge(m, src) } func (m *GoTest) XXX_Size() int { return xxx_messageInfo_GoTest.Size(m) @@ -1082,7 +1108,7 @@ func (m *GoTest_RequiredGroup) Reset() { *m = GoTest_RequiredGroup{} } func (m *GoTest_RequiredGroup) String() string { return proto.CompactTextString(m) } func (*GoTest_RequiredGroup) ProtoMessage() {} func (*GoTest_RequiredGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{2, 0} } func (m *GoTest_RequiredGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoTest_RequiredGroup.Unmarshal(m, b) @@ -1090,8 +1116,8 @@ func (m *GoTest_RequiredGroup) XXX_Unmarshal(b []byte) error { func (m *GoTest_RequiredGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoTest_RequiredGroup.Marshal(b, m, deterministic) } -func (dst *GoTest_RequiredGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoTest_RequiredGroup.Merge(dst, src) +func (m *GoTest_RequiredGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest_RequiredGroup.Merge(m, src) } func (m *GoTest_RequiredGroup) XXX_Size() int { return xxx_messageInfo_GoTest_RequiredGroup.Size(m) @@ -1120,7 +1146,7 @@ func (m *GoTest_RepeatedGroup) Reset() { *m = GoTest_RepeatedGroup{} } func (m *GoTest_RepeatedGroup) String() string { return proto.CompactTextString(m) } func (*GoTest_RepeatedGroup) ProtoMessage() {} func (*GoTest_RepeatedGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 1} + return fileDescriptor_c161fcfdc0c3ff1e, []int{2, 1} } func (m *GoTest_RepeatedGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoTest_RepeatedGroup.Unmarshal(m, b) @@ -1128,8 +1154,8 @@ func (m *GoTest_RepeatedGroup) XXX_Unmarshal(b []byte) error { func (m *GoTest_RepeatedGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoTest_RepeatedGroup.Marshal(b, m, deterministic) } -func (dst *GoTest_RepeatedGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoTest_RepeatedGroup.Merge(dst, src) +func (m *GoTest_RepeatedGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest_RepeatedGroup.Merge(m, src) } func (m *GoTest_RepeatedGroup) XXX_Size() int { return xxx_messageInfo_GoTest_RepeatedGroup.Size(m) @@ -1158,7 +1184,7 @@ func (m *GoTest_OptionalGroup) Reset() { *m = GoTest_OptionalGroup{} } func (m *GoTest_OptionalGroup) String() string { return proto.CompactTextString(m) } func (*GoTest_OptionalGroup) ProtoMessage() {} func (*GoTest_OptionalGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{2, 2} + return fileDescriptor_c161fcfdc0c3ff1e, []int{2, 2} } func (m *GoTest_OptionalGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoTest_OptionalGroup.Unmarshal(m, b) @@ -1166,8 +1192,8 @@ func (m *GoTest_OptionalGroup) XXX_Unmarshal(b []byte) error { func (m *GoTest_OptionalGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoTest_OptionalGroup.Marshal(b, m, deterministic) } -func (dst *GoTest_OptionalGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoTest_OptionalGroup.Merge(dst, src) +func (m *GoTest_OptionalGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTest_OptionalGroup.Merge(m, src) } func (m *GoTest_OptionalGroup) XXX_Size() int { return xxx_messageInfo_GoTest_OptionalGroup.Size(m) @@ -1197,7 +1223,7 @@ func (m *GoTestRequiredGroupField) Reset() { *m = GoTestRequiredGroupFie func (m *GoTestRequiredGroupField) String() string { return proto.CompactTextString(m) } func (*GoTestRequiredGroupField) ProtoMessage() {} func (*GoTestRequiredGroupField) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{3} + return fileDescriptor_c161fcfdc0c3ff1e, []int{3} } func (m *GoTestRequiredGroupField) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoTestRequiredGroupField.Unmarshal(m, b) @@ -1205,8 +1231,8 @@ func (m *GoTestRequiredGroupField) XXX_Unmarshal(b []byte) error { func (m *GoTestRequiredGroupField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoTestRequiredGroupField.Marshal(b, m, deterministic) } -func (dst *GoTestRequiredGroupField) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoTestRequiredGroupField.Merge(dst, src) +func (m *GoTestRequiredGroupField) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTestRequiredGroupField.Merge(m, src) } func (m *GoTestRequiredGroupField) XXX_Size() int { return xxx_messageInfo_GoTestRequiredGroupField.Size(m) @@ -1235,7 +1261,7 @@ func (m *GoTestRequiredGroupField_Group) Reset() { *m = GoTestRequiredGr func (m *GoTestRequiredGroupField_Group) String() string { return proto.CompactTextString(m) } func (*GoTestRequiredGroupField_Group) ProtoMessage() {} func (*GoTestRequiredGroupField_Group) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{3, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{3, 0} } func (m *GoTestRequiredGroupField_Group) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoTestRequiredGroupField_Group.Unmarshal(m, b) @@ -1243,8 +1269,8 @@ func (m *GoTestRequiredGroupField_Group) XXX_Unmarshal(b []byte) error { func (m *GoTestRequiredGroupField_Group) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoTestRequiredGroupField_Group.Marshal(b, m, deterministic) } -func (dst *GoTestRequiredGroupField_Group) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoTestRequiredGroupField_Group.Merge(dst, src) +func (m *GoTestRequiredGroupField_Group) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoTestRequiredGroupField_Group.Merge(m, src) } func (m *GoTestRequiredGroupField_Group) XXX_Size() int { return xxx_messageInfo_GoTestRequiredGroupField_Group.Size(m) @@ -1280,7 +1306,7 @@ func (m *GoSkipTest) Reset() { *m = GoSkipTest{} } func (m *GoSkipTest) String() string { return proto.CompactTextString(m) } func (*GoSkipTest) ProtoMessage() {} func (*GoSkipTest) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{4} + return fileDescriptor_c161fcfdc0c3ff1e, []int{4} } func (m *GoSkipTest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoSkipTest.Unmarshal(m, b) @@ -1288,8 +1314,8 @@ func (m *GoSkipTest) XXX_Unmarshal(b []byte) error { func (m *GoSkipTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoSkipTest.Marshal(b, m, deterministic) } -func (dst *GoSkipTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoSkipTest.Merge(dst, src) +func (m *GoSkipTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoSkipTest.Merge(m, src) } func (m *GoSkipTest) XXX_Size() int { return xxx_messageInfo_GoSkipTest.Size(m) @@ -1347,7 +1373,7 @@ func (m *GoSkipTest_SkipGroup) Reset() { *m = GoSkipTest_SkipGroup{} } func (m *GoSkipTest_SkipGroup) String() string { return proto.CompactTextString(m) } func (*GoSkipTest_SkipGroup) ProtoMessage() {} func (*GoSkipTest_SkipGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{4, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{4, 0} } func (m *GoSkipTest_SkipGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GoSkipTest_SkipGroup.Unmarshal(m, b) @@ -1355,8 +1381,8 @@ func (m *GoSkipTest_SkipGroup) XXX_Unmarshal(b []byte) error { func (m *GoSkipTest_SkipGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GoSkipTest_SkipGroup.Marshal(b, m, deterministic) } -func (dst *GoSkipTest_SkipGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_GoSkipTest_SkipGroup.Merge(dst, src) +func (m *GoSkipTest_SkipGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_GoSkipTest_SkipGroup.Merge(m, src) } func (m *GoSkipTest_SkipGroup) XXX_Size() int { return xxx_messageInfo_GoSkipTest_SkipGroup.Size(m) @@ -1394,7 +1420,7 @@ func (m *NonPackedTest) Reset() { *m = NonPackedTest{} } func (m *NonPackedTest) String() string { return proto.CompactTextString(m) } func (*NonPackedTest) ProtoMessage() {} func (*NonPackedTest) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{5} + return fileDescriptor_c161fcfdc0c3ff1e, []int{5} } func (m *NonPackedTest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NonPackedTest.Unmarshal(m, b) @@ -1402,8 +1428,8 @@ func (m *NonPackedTest) XXX_Unmarshal(b []byte) error { func (m *NonPackedTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NonPackedTest.Marshal(b, m, deterministic) } -func (dst *NonPackedTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_NonPackedTest.Merge(dst, src) +func (m *NonPackedTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonPackedTest.Merge(m, src) } func (m *NonPackedTest) XXX_Size() int { return xxx_messageInfo_NonPackedTest.Size(m) @@ -1432,7 +1458,7 @@ func (m *PackedTest) Reset() { *m = PackedTest{} } func (m *PackedTest) String() string { return proto.CompactTextString(m) } func (*PackedTest) ProtoMessage() {} func (*PackedTest) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{6} + return fileDescriptor_c161fcfdc0c3ff1e, []int{6} } func (m *PackedTest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PackedTest.Unmarshal(m, b) @@ -1440,8 +1466,8 @@ func (m *PackedTest) XXX_Unmarshal(b []byte) error { func (m *PackedTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_PackedTest.Marshal(b, m, deterministic) } -func (dst *PackedTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_PackedTest.Merge(dst, src) +func (m *PackedTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PackedTest.Merge(m, src) } func (m *PackedTest) XXX_Size() int { return xxx_messageInfo_PackedTest.Size(m) @@ -1471,7 +1497,7 @@ func (m *MaxTag) Reset() { *m = MaxTag{} } func (m *MaxTag) String() string { return proto.CompactTextString(m) } func (*MaxTag) ProtoMessage() {} func (*MaxTag) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{7} + return fileDescriptor_c161fcfdc0c3ff1e, []int{7} } func (m *MaxTag) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxTag.Unmarshal(m, b) @@ -1479,8 +1505,8 @@ func (m *MaxTag) XXX_Unmarshal(b []byte) error { func (m *MaxTag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MaxTag.Marshal(b, m, deterministic) } -func (dst *MaxTag) XXX_Merge(src proto.Message) { - xxx_messageInfo_MaxTag.Merge(dst, src) +func (m *MaxTag) XXX_Merge(src proto.Message) { + xxx_messageInfo_MaxTag.Merge(m, src) } func (m *MaxTag) XXX_Size() int { return xxx_messageInfo_MaxTag.Size(m) @@ -1510,7 +1536,7 @@ func (m *OldMessage) Reset() { *m = OldMessage{} } func (m *OldMessage) String() string { return proto.CompactTextString(m) } func (*OldMessage) ProtoMessage() {} func (*OldMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{8} + return fileDescriptor_c161fcfdc0c3ff1e, []int{8} } func (m *OldMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldMessage.Unmarshal(m, b) @@ -1518,8 +1544,8 @@ func (m *OldMessage) XXX_Unmarshal(b []byte) error { func (m *OldMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldMessage.Marshal(b, m, deterministic) } -func (dst *OldMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldMessage.Merge(dst, src) +func (m *OldMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldMessage.Merge(m, src) } func (m *OldMessage) XXX_Size() int { return xxx_messageInfo_OldMessage.Size(m) @@ -1555,7 +1581,7 @@ func (m *OldMessage_Nested) Reset() { *m = OldMessage_Nested{} } func (m *OldMessage_Nested) String() string { return proto.CompactTextString(m) } func (*OldMessage_Nested) ProtoMessage() {} func (*OldMessage_Nested) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{8, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{8, 0} } func (m *OldMessage_Nested) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldMessage_Nested.Unmarshal(m, b) @@ -1563,8 +1589,8 @@ func (m *OldMessage_Nested) XXX_Unmarshal(b []byte) error { func (m *OldMessage_Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldMessage_Nested.Marshal(b, m, deterministic) } -func (dst *OldMessage_Nested) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldMessage_Nested.Merge(dst, src) +func (m *OldMessage_Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldMessage_Nested.Merge(m, src) } func (m *OldMessage_Nested) XXX_Size() int { return xxx_messageInfo_OldMessage_Nested.Size(m) @@ -1597,7 +1623,7 @@ func (m *NewMessage) Reset() { *m = NewMessage{} } func (m *NewMessage) String() string { return proto.CompactTextString(m) } func (*NewMessage) ProtoMessage() {} func (*NewMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{9} + return fileDescriptor_c161fcfdc0c3ff1e, []int{9} } func (m *NewMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NewMessage.Unmarshal(m, b) @@ -1605,8 +1631,8 @@ func (m *NewMessage) XXX_Unmarshal(b []byte) error { func (m *NewMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NewMessage.Marshal(b, m, deterministic) } -func (dst *NewMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_NewMessage.Merge(dst, src) +func (m *NewMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NewMessage.Merge(m, src) } func (m *NewMessage) XXX_Size() int { return xxx_messageInfo_NewMessage.Size(m) @@ -1643,7 +1669,7 @@ func (m *NewMessage_Nested) Reset() { *m = NewMessage_Nested{} } func (m *NewMessage_Nested) String() string { return proto.CompactTextString(m) } func (*NewMessage_Nested) ProtoMessage() {} func (*NewMessage_Nested) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{9, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{9, 0} } func (m *NewMessage_Nested) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NewMessage_Nested.Unmarshal(m, b) @@ -1651,8 +1677,8 @@ func (m *NewMessage_Nested) XXX_Unmarshal(b []byte) error { func (m *NewMessage_Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NewMessage_Nested.Marshal(b, m, deterministic) } -func (dst *NewMessage_Nested) XXX_Merge(src proto.Message) { - xxx_messageInfo_NewMessage_Nested.Merge(dst, src) +func (m *NewMessage_Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_NewMessage_Nested.Merge(m, src) } func (m *NewMessage_Nested) XXX_Size() int { return xxx_messageInfo_NewMessage_Nested.Size(m) @@ -1690,7 +1716,7 @@ func (m *InnerMessage) Reset() { *m = InnerMessage{} } func (m *InnerMessage) String() string { return proto.CompactTextString(m) } func (*InnerMessage) ProtoMessage() {} func (*InnerMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{10} + return fileDescriptor_c161fcfdc0c3ff1e, []int{10} } func (m *InnerMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InnerMessage.Unmarshal(m, b) @@ -1698,8 +1724,8 @@ func (m *InnerMessage) XXX_Unmarshal(b []byte) error { func (m *InnerMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_InnerMessage.Marshal(b, m, deterministic) } -func (dst *InnerMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_InnerMessage.Merge(dst, src) +func (m *InnerMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_InnerMessage.Merge(m, src) } func (m *InnerMessage) XXX_Size() int { return xxx_messageInfo_InnerMessage.Size(m) @@ -1748,7 +1774,7 @@ func (m *OtherMessage) Reset() { *m = OtherMessage{} } func (m *OtherMessage) String() string { return proto.CompactTextString(m) } func (*OtherMessage) ProtoMessage() {} func (*OtherMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{11} + return fileDescriptor_c161fcfdc0c3ff1e, []int{11} } var extRange_OtherMessage = []proto.ExtensionRange{ @@ -1758,14 +1784,15 @@ var extRange_OtherMessage = []proto.ExtensionRange{ func (*OtherMessage) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherMessage } + func (m *OtherMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OtherMessage.Unmarshal(m, b) } func (m *OtherMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OtherMessage.Marshal(b, m, deterministic) } -func (dst *OtherMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_OtherMessage.Merge(dst, src) +func (m *OtherMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherMessage.Merge(m, src) } func (m *OtherMessage) XXX_Size() int { return xxx_messageInfo_OtherMessage.Size(m) @@ -1815,7 +1842,7 @@ func (m *RequiredInnerMessage) Reset() { *m = RequiredInnerMessage{} } func (m *RequiredInnerMessage) String() string { return proto.CompactTextString(m) } func (*RequiredInnerMessage) ProtoMessage() {} func (*RequiredInnerMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{12} + return fileDescriptor_c161fcfdc0c3ff1e, []int{12} } func (m *RequiredInnerMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequiredInnerMessage.Unmarshal(m, b) @@ -1823,8 +1850,8 @@ func (m *RequiredInnerMessage) XXX_Unmarshal(b []byte) error { func (m *RequiredInnerMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RequiredInnerMessage.Marshal(b, m, deterministic) } -func (dst *RequiredInnerMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequiredInnerMessage.Merge(dst, src) +func (m *RequiredInnerMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequiredInnerMessage.Merge(m, src) } func (m *RequiredInnerMessage) XXX_Size() int { return xxx_messageInfo_RequiredInnerMessage.Size(m) @@ -1866,7 +1893,7 @@ func (m *MyMessage) Reset() { *m = MyMessage{} } func (m *MyMessage) String() string { return proto.CompactTextString(m) } func (*MyMessage) ProtoMessage() {} func (*MyMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{13} + return fileDescriptor_c161fcfdc0c3ff1e, []int{13} } var extRange_MyMessage = []proto.ExtensionRange{ @@ -1876,14 +1903,15 @@ var extRange_MyMessage = []proto.ExtensionRange{ func (*MyMessage) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyMessage } + func (m *MyMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MyMessage.Unmarshal(m, b) } func (m *MyMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MyMessage.Marshal(b, m, deterministic) } -func (dst *MyMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyMessage.Merge(dst, src) +func (m *MyMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessage.Merge(m, src) } func (m *MyMessage) XXX_Size() int { return xxx_messageInfo_MyMessage.Size(m) @@ -1989,7 +2017,7 @@ func (m *MyMessage_SomeGroup) Reset() { *m = MyMessage_SomeGroup{} } func (m *MyMessage_SomeGroup) String() string { return proto.CompactTextString(m) } func (*MyMessage_SomeGroup) ProtoMessage() {} func (*MyMessage_SomeGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{13, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{13, 0} } func (m *MyMessage_SomeGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MyMessage_SomeGroup.Unmarshal(m, b) @@ -1997,8 +2025,8 @@ func (m *MyMessage_SomeGroup) XXX_Unmarshal(b []byte) error { func (m *MyMessage_SomeGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MyMessage_SomeGroup.Marshal(b, m, deterministic) } -func (dst *MyMessage_SomeGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyMessage_SomeGroup.Merge(dst, src) +func (m *MyMessage_SomeGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessage_SomeGroup.Merge(m, src) } func (m *MyMessage_SomeGroup) XXX_Size() int { return xxx_messageInfo_MyMessage_SomeGroup.Size(m) @@ -2028,7 +2056,7 @@ func (m *Ext) Reset() { *m = Ext{} } func (m *Ext) String() string { return proto.CompactTextString(m) } func (*Ext) ProtoMessage() {} func (*Ext) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{14} + return fileDescriptor_c161fcfdc0c3ff1e, []int{14} } func (m *Ext) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Ext.Unmarshal(m, b) @@ -2036,8 +2064,8 @@ func (m *Ext) XXX_Unmarshal(b []byte) error { func (m *Ext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Ext.Marshal(b, m, deterministic) } -func (dst *Ext) XXX_Merge(src proto.Message) { - xxx_messageInfo_Ext.Merge(dst, src) +func (m *Ext) XXX_Merge(src proto.Message) { + xxx_messageInfo_Ext.Merge(m, src) } func (m *Ext) XXX_Size() int { return xxx_messageInfo_Ext.Size(m) @@ -2102,7 +2130,7 @@ func (m *ComplexExtension) Reset() { *m = ComplexExtension{} } func (m *ComplexExtension) String() string { return proto.CompactTextString(m) } func (*ComplexExtension) ProtoMessage() {} func (*ComplexExtension) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{15} + return fileDescriptor_c161fcfdc0c3ff1e, []int{15} } func (m *ComplexExtension) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ComplexExtension.Unmarshal(m, b) @@ -2110,8 +2138,8 @@ func (m *ComplexExtension) XXX_Unmarshal(b []byte) error { func (m *ComplexExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ComplexExtension.Marshal(b, m, deterministic) } -func (dst *ComplexExtension) XXX_Merge(src proto.Message) { - xxx_messageInfo_ComplexExtension.Merge(dst, src) +func (m *ComplexExtension) XXX_Merge(src proto.Message) { + xxx_messageInfo_ComplexExtension.Merge(m, src) } func (m *ComplexExtension) XXX_Size() int { return xxx_messageInfo_ComplexExtension.Size(m) @@ -2154,7 +2182,7 @@ func (m *DefaultsMessage) Reset() { *m = DefaultsMessage{} } func (m *DefaultsMessage) String() string { return proto.CompactTextString(m) } func (*DefaultsMessage) ProtoMessage() {} func (*DefaultsMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{16} + return fileDescriptor_c161fcfdc0c3ff1e, []int{16} } var extRange_DefaultsMessage = []proto.ExtensionRange{ @@ -2164,14 +2192,15 @@ var extRange_DefaultsMessage = []proto.ExtensionRange{ func (*DefaultsMessage) ExtensionRangeArray() []proto.ExtensionRange { return extRange_DefaultsMessage } + func (m *DefaultsMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DefaultsMessage.Unmarshal(m, b) } func (m *DefaultsMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DefaultsMessage.Marshal(b, m, deterministic) } -func (dst *DefaultsMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_DefaultsMessage.Merge(dst, src) +func (m *DefaultsMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_DefaultsMessage.Merge(m, src) } func (m *DefaultsMessage) XXX_Size() int { return xxx_messageInfo_DefaultsMessage.Size(m) @@ -2193,14 +2222,7 @@ func (m *MyMessageSet) Reset() { *m = MyMessageSet{} } func (m *MyMessageSet) String() string { return proto.CompactTextString(m) } func (*MyMessageSet) ProtoMessage() {} func (*MyMessageSet) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{17} -} - -func (m *MyMessageSet) MarshalJSON() ([]byte, error) { - return proto.MarshalMessageSetJSON(&m.XXX_InternalExtensions) -} -func (m *MyMessageSet) UnmarshalJSON(buf []byte) error { - return proto.UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions) + return fileDescriptor_c161fcfdc0c3ff1e, []int{17} } var extRange_MyMessageSet = []proto.ExtensionRange{ @@ -2210,14 +2232,15 @@ var extRange_MyMessageSet = []proto.ExtensionRange{ func (*MyMessageSet) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyMessageSet } + func (m *MyMessageSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MyMessageSet.Unmarshal(m, b) } func (m *MyMessageSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MyMessageSet.Marshal(b, m, deterministic) } -func (dst *MyMessageSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyMessageSet.Merge(dst, src) +func (m *MyMessageSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessageSet.Merge(m, src) } func (m *MyMessageSet) XXX_Size() int { return xxx_messageInfo_MyMessageSet.Size(m) @@ -2238,7 +2261,7 @@ func (m *Empty) Reset() { *m = Empty{} } func (m *Empty) String() string { return proto.CompactTextString(m) } func (*Empty) ProtoMessage() {} func (*Empty) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{18} + return fileDescriptor_c161fcfdc0c3ff1e, []int{18} } func (m *Empty) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Empty.Unmarshal(m, b) @@ -2246,8 +2269,8 @@ func (m *Empty) XXX_Unmarshal(b []byte) error { func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Empty.Marshal(b, m, deterministic) } -func (dst *Empty) XXX_Merge(src proto.Message) { - xxx_messageInfo_Empty.Merge(dst, src) +func (m *Empty) XXX_Merge(src proto.Message) { + xxx_messageInfo_Empty.Merge(m, src) } func (m *Empty) XXX_Size() int { return xxx_messageInfo_Empty.Size(m) @@ -2269,7 +2292,7 @@ func (m *MessageList) Reset() { *m = MessageList{} } func (m *MessageList) String() string { return proto.CompactTextString(m) } func (*MessageList) ProtoMessage() {} func (*MessageList) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{19} + return fileDescriptor_c161fcfdc0c3ff1e, []int{19} } func (m *MessageList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageList.Unmarshal(m, b) @@ -2277,8 +2300,8 @@ func (m *MessageList) XXX_Unmarshal(b []byte) error { func (m *MessageList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MessageList.Marshal(b, m, deterministic) } -func (dst *MessageList) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageList.Merge(dst, src) +func (m *MessageList) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageList.Merge(m, src) } func (m *MessageList) XXX_Size() int { return xxx_messageInfo_MessageList.Size(m) @@ -2308,7 +2331,7 @@ func (m *MessageList_Message) Reset() { *m = MessageList_Message{} } func (m *MessageList_Message) String() string { return proto.CompactTextString(m) } func (*MessageList_Message) ProtoMessage() {} func (*MessageList_Message) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{19, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{19, 0} } func (m *MessageList_Message) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageList_Message.Unmarshal(m, b) @@ -2316,8 +2339,8 @@ func (m *MessageList_Message) XXX_Unmarshal(b []byte) error { func (m *MessageList_Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MessageList_Message.Marshal(b, m, deterministic) } -func (dst *MessageList_Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageList_Message.Merge(dst, src) +func (m *MessageList_Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageList_Message.Merge(m, src) } func (m *MessageList_Message) XXX_Size() int { return xxx_messageInfo_MessageList_Message.Size(m) @@ -2354,7 +2377,7 @@ func (m *Strings) Reset() { *m = Strings{} } func (m *Strings) String() string { return proto.CompactTextString(m) } func (*Strings) ProtoMessage() {} func (*Strings) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{20} + return fileDescriptor_c161fcfdc0c3ff1e, []int{20} } func (m *Strings) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Strings.Unmarshal(m, b) @@ -2362,8 +2385,8 @@ func (m *Strings) XXX_Unmarshal(b []byte) error { func (m *Strings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Strings.Marshal(b, m, deterministic) } -func (dst *Strings) XXX_Merge(src proto.Message) { - xxx_messageInfo_Strings.Merge(dst, src) +func (m *Strings) XXX_Merge(src proto.Message) { + xxx_messageInfo_Strings.Merge(m, src) } func (m *Strings) XXX_Size() int { return xxx_messageInfo_Strings.Size(m) @@ -2422,7 +2445,7 @@ func (m *Defaults) Reset() { *m = Defaults{} } func (m *Defaults) String() string { return proto.CompactTextString(m) } func (*Defaults) ProtoMessage() {} func (*Defaults) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{21} + return fileDescriptor_c161fcfdc0c3ff1e, []int{21} } func (m *Defaults) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Defaults.Unmarshal(m, b) @@ -2430,8 +2453,8 @@ func (m *Defaults) XXX_Unmarshal(b []byte) error { func (m *Defaults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Defaults.Marshal(b, m, deterministic) } -func (dst *Defaults) XXX_Merge(src proto.Message) { - xxx_messageInfo_Defaults.Merge(dst, src) +func (m *Defaults) XXX_Merge(src proto.Message) { + xxx_messageInfo_Defaults.Merge(m, src) } func (m *Defaults) XXX_Size() int { return xxx_messageInfo_Defaults.Size(m) @@ -2607,7 +2630,7 @@ func (m *SubDefaults) Reset() { *m = SubDefaults{} } func (m *SubDefaults) String() string { return proto.CompactTextString(m) } func (*SubDefaults) ProtoMessage() {} func (*SubDefaults) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{22} + return fileDescriptor_c161fcfdc0c3ff1e, []int{22} } func (m *SubDefaults) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SubDefaults.Unmarshal(m, b) @@ -2615,8 +2638,8 @@ func (m *SubDefaults) XXX_Unmarshal(b []byte) error { func (m *SubDefaults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SubDefaults.Marshal(b, m, deterministic) } -func (dst *SubDefaults) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubDefaults.Merge(dst, src) +func (m *SubDefaults) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubDefaults.Merge(m, src) } func (m *SubDefaults) XXX_Size() int { return xxx_messageInfo_SubDefaults.Size(m) @@ -2647,7 +2670,7 @@ func (m *RepeatedEnum) Reset() { *m = RepeatedEnum{} } func (m *RepeatedEnum) String() string { return proto.CompactTextString(m) } func (*RepeatedEnum) ProtoMessage() {} func (*RepeatedEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{23} + return fileDescriptor_c161fcfdc0c3ff1e, []int{23} } func (m *RepeatedEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RepeatedEnum.Unmarshal(m, b) @@ -2655,8 +2678,8 @@ func (m *RepeatedEnum) XXX_Unmarshal(b []byte) error { func (m *RepeatedEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RepeatedEnum.Marshal(b, m, deterministic) } -func (dst *RepeatedEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepeatedEnum.Merge(dst, src) +func (m *RepeatedEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepeatedEnum.Merge(m, src) } func (m *RepeatedEnum) XXX_Size() int { return xxx_messageInfo_RepeatedEnum.Size(m) @@ -2691,7 +2714,7 @@ func (m *MoreRepeated) Reset() { *m = MoreRepeated{} } func (m *MoreRepeated) String() string { return proto.CompactTextString(m) } func (*MoreRepeated) ProtoMessage() {} func (*MoreRepeated) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{24} + return fileDescriptor_c161fcfdc0c3ff1e, []int{24} } func (m *MoreRepeated) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MoreRepeated.Unmarshal(m, b) @@ -2699,8 +2722,8 @@ func (m *MoreRepeated) XXX_Unmarshal(b []byte) error { func (m *MoreRepeated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MoreRepeated.Marshal(b, m, deterministic) } -func (dst *MoreRepeated) XXX_Merge(src proto.Message) { - xxx_messageInfo_MoreRepeated.Merge(dst, src) +func (m *MoreRepeated) XXX_Merge(src proto.Message) { + xxx_messageInfo_MoreRepeated.Merge(m, src) } func (m *MoreRepeated) XXX_Size() int { return xxx_messageInfo_MoreRepeated.Size(m) @@ -2771,7 +2794,7 @@ func (m *GroupOld) Reset() { *m = GroupOld{} } func (m *GroupOld) String() string { return proto.CompactTextString(m) } func (*GroupOld) ProtoMessage() {} func (*GroupOld) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{25} + return fileDescriptor_c161fcfdc0c3ff1e, []int{25} } func (m *GroupOld) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOld.Unmarshal(m, b) @@ -2779,8 +2802,8 @@ func (m *GroupOld) XXX_Unmarshal(b []byte) error { func (m *GroupOld) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GroupOld.Marshal(b, m, deterministic) } -func (dst *GroupOld) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupOld.Merge(dst, src) +func (m *GroupOld) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupOld.Merge(m, src) } func (m *GroupOld) XXX_Size() int { return xxx_messageInfo_GroupOld.Size(m) @@ -2809,7 +2832,7 @@ func (m *GroupOld_G) Reset() { *m = GroupOld_G{} } func (m *GroupOld_G) String() string { return proto.CompactTextString(m) } func (*GroupOld_G) ProtoMessage() {} func (*GroupOld_G) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{25, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{25, 0} } func (m *GroupOld_G) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOld_G.Unmarshal(m, b) @@ -2817,8 +2840,8 @@ func (m *GroupOld_G) XXX_Unmarshal(b []byte) error { func (m *GroupOld_G) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GroupOld_G.Marshal(b, m, deterministic) } -func (dst *GroupOld_G) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupOld_G.Merge(dst, src) +func (m *GroupOld_G) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupOld_G.Merge(m, src) } func (m *GroupOld_G) XXX_Size() int { return xxx_messageInfo_GroupOld_G.Size(m) @@ -2847,7 +2870,7 @@ func (m *GroupNew) Reset() { *m = GroupNew{} } func (m *GroupNew) String() string { return proto.CompactTextString(m) } func (*GroupNew) ProtoMessage() {} func (*GroupNew) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{26} + return fileDescriptor_c161fcfdc0c3ff1e, []int{26} } func (m *GroupNew) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupNew.Unmarshal(m, b) @@ -2855,8 +2878,8 @@ func (m *GroupNew) XXX_Unmarshal(b []byte) error { func (m *GroupNew) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GroupNew.Marshal(b, m, deterministic) } -func (dst *GroupNew) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupNew.Merge(dst, src) +func (m *GroupNew) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupNew.Merge(m, src) } func (m *GroupNew) XXX_Size() int { return xxx_messageInfo_GroupNew.Size(m) @@ -2886,7 +2909,7 @@ func (m *GroupNew_G) Reset() { *m = GroupNew_G{} } func (m *GroupNew_G) String() string { return proto.CompactTextString(m) } func (*GroupNew_G) ProtoMessage() {} func (*GroupNew_G) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{26, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{26, 0} } func (m *GroupNew_G) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupNew_G.Unmarshal(m, b) @@ -2894,8 +2917,8 @@ func (m *GroupNew_G) XXX_Unmarshal(b []byte) error { func (m *GroupNew_G) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GroupNew_G.Marshal(b, m, deterministic) } -func (dst *GroupNew_G) XXX_Merge(src proto.Message) { - xxx_messageInfo_GroupNew_G.Merge(dst, src) +func (m *GroupNew_G) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupNew_G.Merge(m, src) } func (m *GroupNew_G) XXX_Size() int { return xxx_messageInfo_GroupNew_G.Size(m) @@ -2932,7 +2955,7 @@ func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (m *FloatingPoint) String() string { return proto.CompactTextString(m) } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{27} + return fileDescriptor_c161fcfdc0c3ff1e, []int{27} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FloatingPoint.Unmarshal(m, b) @@ -2940,8 +2963,8 @@ func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FloatingPoint.Marshal(b, m, deterministic) } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return xxx_messageInfo_FloatingPoint.Size(m) @@ -2980,7 +3003,7 @@ func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } func (m *MessageWithMap) String() string { return proto.CompactTextString(m) } func (*MessageWithMap) ProtoMessage() {} func (*MessageWithMap) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{28} + return fileDescriptor_c161fcfdc0c3ff1e, []int{28} } func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageWithMap.Unmarshal(m, b) @@ -2988,8 +3011,8 @@ func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MessageWithMap.Marshal(b, m, deterministic) } -func (dst *MessageWithMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageWithMap.Merge(dst, src) +func (m *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(m, src) } func (m *MessageWithMap) XXX_Size() int { return xxx_messageInfo_MessageWithMap.Size(m) @@ -3060,7 +3083,7 @@ func (m *Oneof) Reset() { *m = Oneof{} } func (m *Oneof) String() string { return proto.CompactTextString(m) } func (*Oneof) ProtoMessage() {} func (*Oneof) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{29} + return fileDescriptor_c161fcfdc0c3ff1e, []int{29} } func (m *Oneof) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Oneof.Unmarshal(m, b) @@ -3068,8 +3091,8 @@ func (m *Oneof) XXX_Unmarshal(b []byte) error { func (m *Oneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Oneof.Marshal(b, m, deterministic) } -func (dst *Oneof) XXX_Merge(src proto.Message) { - xxx_messageInfo_Oneof.Merge(dst, src) +func (m *Oneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_Oneof.Merge(m, src) } func (m *Oneof) XXX_Size() int { return xxx_messageInfo_Oneof.Size(m) @@ -3627,7 +3650,7 @@ func (m *Oneof_F_Group) Reset() { *m = Oneof_F_Group{} } func (m *Oneof_F_Group) String() string { return proto.CompactTextString(m) } func (*Oneof_F_Group) ProtoMessage() {} func (*Oneof_F_Group) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{29, 0} + return fileDescriptor_c161fcfdc0c3ff1e, []int{29, 0} } func (m *Oneof_F_Group) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Oneof_F_Group.Unmarshal(m, b) @@ -3635,8 +3658,8 @@ func (m *Oneof_F_Group) XXX_Unmarshal(b []byte) error { func (m *Oneof_F_Group) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Oneof_F_Group.Marshal(b, m, deterministic) } -func (dst *Oneof_F_Group) XXX_Merge(src proto.Message) { - xxx_messageInfo_Oneof_F_Group.Merge(dst, src) +func (m *Oneof_F_Group) XXX_Merge(src proto.Message) { + xxx_messageInfo_Oneof_F_Group.Merge(m, src) } func (m *Oneof_F_Group) XXX_Size() int { return xxx_messageInfo_Oneof_F_Group.Size(m) @@ -3675,7 +3698,7 @@ func (m *Communique) Reset() { *m = Communique{} } func (m *Communique) String() string { return proto.CompactTextString(m) } func (*Communique) ProtoMessage() {} func (*Communique) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{30} + return fileDescriptor_c161fcfdc0c3ff1e, []int{30} } func (m *Communique) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Communique.Unmarshal(m, b) @@ -3683,8 +3706,8 @@ func (m *Communique) XXX_Unmarshal(b []byte) error { func (m *Communique) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Communique.Marshal(b, m, deterministic) } -func (dst *Communique) XXX_Merge(src proto.Message) { - xxx_messageInfo_Communique.Merge(dst, src) +func (m *Communique) XXX_Merge(src proto.Message) { + xxx_messageInfo_Communique.Merge(m, src) } func (m *Communique) XXX_Size() int { return xxx_messageInfo_Communique.Size(m) @@ -3925,7 +3948,7 @@ func (m *TestUTF8) Reset() { *m = TestUTF8{} } func (m *TestUTF8) String() string { return proto.CompactTextString(m) } func (*TestUTF8) ProtoMessage() {} func (*TestUTF8) Descriptor() ([]byte, []int) { - return fileDescriptor_test_9a2a288ec56ee1d1, []int{31} + return fileDescriptor_c161fcfdc0c3ff1e, []int{31} } func (m *TestUTF8) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TestUTF8.Unmarshal(m, b) @@ -3933,8 +3956,8 @@ func (m *TestUTF8) XXX_Unmarshal(b []byte) error { func (m *TestUTF8) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TestUTF8.Marshal(b, m, deterministic) } -func (dst *TestUTF8) XXX_Merge(src proto.Message) { - xxx_messageInfo_TestUTF8.Merge(dst, src) +func (m *TestUTF8) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestUTF8.Merge(m, src) } func (m *TestUTF8) XXX_Size() int { return xxx_messageInfo_TestUTF8.Size(m) @@ -4071,7 +4094,7 @@ var E_RComplex = &proto.ExtensionDesc{ ExtensionType: ([]*ComplexExtension)(nil), Field: 201, Name: "test_proto.r_complex", - Tag: "bytes,201,rep,name=r_complex,json=rComplex", + Tag: "bytes,201,rep,name=r_complex", Filename: "test.proto", } @@ -4080,7 +4103,7 @@ var E_NoDefaultDouble = &proto.ExtensionDesc{ ExtensionType: (*float64)(nil), Field: 101, Name: "test_proto.no_default_double", - Tag: "fixed64,101,opt,name=no_default_double,json=noDefaultDouble", + Tag: "fixed64,101,opt,name=no_default_double", Filename: "test.proto", } @@ -4089,7 +4112,7 @@ var E_NoDefaultFloat = &proto.ExtensionDesc{ ExtensionType: (*float32)(nil), Field: 102, Name: "test_proto.no_default_float", - Tag: "fixed32,102,opt,name=no_default_float,json=noDefaultFloat", + Tag: "fixed32,102,opt,name=no_default_float", Filename: "test.proto", } @@ -4098,7 +4121,7 @@ var E_NoDefaultInt32 = &proto.ExtensionDesc{ ExtensionType: (*int32)(nil), Field: 103, Name: "test_proto.no_default_int32", - Tag: "varint,103,opt,name=no_default_int32,json=noDefaultInt32", + Tag: "varint,103,opt,name=no_default_int32", Filename: "test.proto", } @@ -4107,7 +4130,7 @@ var E_NoDefaultInt64 = &proto.ExtensionDesc{ ExtensionType: (*int64)(nil), Field: 104, Name: "test_proto.no_default_int64", - Tag: "varint,104,opt,name=no_default_int64,json=noDefaultInt64", + Tag: "varint,104,opt,name=no_default_int64", Filename: "test.proto", } @@ -4116,7 +4139,7 @@ var E_NoDefaultUint32 = &proto.ExtensionDesc{ ExtensionType: (*uint32)(nil), Field: 105, Name: "test_proto.no_default_uint32", - Tag: "varint,105,opt,name=no_default_uint32,json=noDefaultUint32", + Tag: "varint,105,opt,name=no_default_uint32", Filename: "test.proto", } @@ -4125,7 +4148,7 @@ var E_NoDefaultUint64 = &proto.ExtensionDesc{ ExtensionType: (*uint64)(nil), Field: 106, Name: "test_proto.no_default_uint64", - Tag: "varint,106,opt,name=no_default_uint64,json=noDefaultUint64", + Tag: "varint,106,opt,name=no_default_uint64", Filename: "test.proto", } @@ -4134,7 +4157,7 @@ var E_NoDefaultSint32 = &proto.ExtensionDesc{ ExtensionType: (*int32)(nil), Field: 107, Name: "test_proto.no_default_sint32", - Tag: "zigzag32,107,opt,name=no_default_sint32,json=noDefaultSint32", + Tag: "zigzag32,107,opt,name=no_default_sint32", Filename: "test.proto", } @@ -4143,7 +4166,7 @@ var E_NoDefaultSint64 = &proto.ExtensionDesc{ ExtensionType: (*int64)(nil), Field: 108, Name: "test_proto.no_default_sint64", - Tag: "zigzag64,108,opt,name=no_default_sint64,json=noDefaultSint64", + Tag: "zigzag64,108,opt,name=no_default_sint64", Filename: "test.proto", } @@ -4152,7 +4175,7 @@ var E_NoDefaultFixed32 = &proto.ExtensionDesc{ ExtensionType: (*uint32)(nil), Field: 109, Name: "test_proto.no_default_fixed32", - Tag: "fixed32,109,opt,name=no_default_fixed32,json=noDefaultFixed32", + Tag: "fixed32,109,opt,name=no_default_fixed32", Filename: "test.proto", } @@ -4161,7 +4184,7 @@ var E_NoDefaultFixed64 = &proto.ExtensionDesc{ ExtensionType: (*uint64)(nil), Field: 110, Name: "test_proto.no_default_fixed64", - Tag: "fixed64,110,opt,name=no_default_fixed64,json=noDefaultFixed64", + Tag: "fixed64,110,opt,name=no_default_fixed64", Filename: "test.proto", } @@ -4170,7 +4193,7 @@ var E_NoDefaultSfixed32 = &proto.ExtensionDesc{ ExtensionType: (*int32)(nil), Field: 111, Name: "test_proto.no_default_sfixed32", - Tag: "fixed32,111,opt,name=no_default_sfixed32,json=noDefaultSfixed32", + Tag: "fixed32,111,opt,name=no_default_sfixed32", Filename: "test.proto", } @@ -4179,7 +4202,7 @@ var E_NoDefaultSfixed64 = &proto.ExtensionDesc{ ExtensionType: (*int64)(nil), Field: 112, Name: "test_proto.no_default_sfixed64", - Tag: "fixed64,112,opt,name=no_default_sfixed64,json=noDefaultSfixed64", + Tag: "fixed64,112,opt,name=no_default_sfixed64", Filename: "test.proto", } @@ -4188,7 +4211,7 @@ var E_NoDefaultBool = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 113, Name: "test_proto.no_default_bool", - Tag: "varint,113,opt,name=no_default_bool,json=noDefaultBool", + Tag: "varint,113,opt,name=no_default_bool", Filename: "test.proto", } @@ -4197,7 +4220,7 @@ var E_NoDefaultString = &proto.ExtensionDesc{ ExtensionType: (*string)(nil), Field: 114, Name: "test_proto.no_default_string", - Tag: "bytes,114,opt,name=no_default_string,json=noDefaultString", + Tag: "bytes,114,opt,name=no_default_string", Filename: "test.proto", } @@ -4206,7 +4229,7 @@ var E_NoDefaultBytes = &proto.ExtensionDesc{ ExtensionType: ([]byte)(nil), Field: 115, Name: "test_proto.no_default_bytes", - Tag: "bytes,115,opt,name=no_default_bytes,json=noDefaultBytes", + Tag: "bytes,115,opt,name=no_default_bytes", Filename: "test.proto", } @@ -4215,7 +4238,7 @@ var E_NoDefaultEnum = &proto.ExtensionDesc{ ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil), Field: 116, Name: "test_proto.no_default_enum", - Tag: "varint,116,opt,name=no_default_enum,json=noDefaultEnum,enum=test_proto.DefaultsMessage_DefaultsEnum", + Tag: "varint,116,opt,name=no_default_enum,enum=test_proto.DefaultsMessage_DefaultsEnum", Filename: "test.proto", } @@ -4224,7 +4247,7 @@ var E_DefaultDouble = &proto.ExtensionDesc{ ExtensionType: (*float64)(nil), Field: 201, Name: "test_proto.default_double", - Tag: "fixed64,201,opt,name=default_double,json=defaultDouble,def=3.1415", + Tag: "fixed64,201,opt,name=default_double,def=3.1415", Filename: "test.proto", } @@ -4233,7 +4256,7 @@ var E_DefaultFloat = &proto.ExtensionDesc{ ExtensionType: (*float32)(nil), Field: 202, Name: "test_proto.default_float", - Tag: "fixed32,202,opt,name=default_float,json=defaultFloat,def=3.14", + Tag: "fixed32,202,opt,name=default_float,def=3.14", Filename: "test.proto", } @@ -4242,7 +4265,7 @@ var E_DefaultInt32 = &proto.ExtensionDesc{ ExtensionType: (*int32)(nil), Field: 203, Name: "test_proto.default_int32", - Tag: "varint,203,opt,name=default_int32,json=defaultInt32,def=42", + Tag: "varint,203,opt,name=default_int32,def=42", Filename: "test.proto", } @@ -4251,7 +4274,7 @@ var E_DefaultInt64 = &proto.ExtensionDesc{ ExtensionType: (*int64)(nil), Field: 204, Name: "test_proto.default_int64", - Tag: "varint,204,opt,name=default_int64,json=defaultInt64,def=43", + Tag: "varint,204,opt,name=default_int64,def=43", Filename: "test.proto", } @@ -4260,7 +4283,7 @@ var E_DefaultUint32 = &proto.ExtensionDesc{ ExtensionType: (*uint32)(nil), Field: 205, Name: "test_proto.default_uint32", - Tag: "varint,205,opt,name=default_uint32,json=defaultUint32,def=44", + Tag: "varint,205,opt,name=default_uint32,def=44", Filename: "test.proto", } @@ -4269,7 +4292,7 @@ var E_DefaultUint64 = &proto.ExtensionDesc{ ExtensionType: (*uint64)(nil), Field: 206, Name: "test_proto.default_uint64", - Tag: "varint,206,opt,name=default_uint64,json=defaultUint64,def=45", + Tag: "varint,206,opt,name=default_uint64,def=45", Filename: "test.proto", } @@ -4278,7 +4301,7 @@ var E_DefaultSint32 = &proto.ExtensionDesc{ ExtensionType: (*int32)(nil), Field: 207, Name: "test_proto.default_sint32", - Tag: "zigzag32,207,opt,name=default_sint32,json=defaultSint32,def=46", + Tag: "zigzag32,207,opt,name=default_sint32,def=46", Filename: "test.proto", } @@ -4287,7 +4310,7 @@ var E_DefaultSint64 = &proto.ExtensionDesc{ ExtensionType: (*int64)(nil), Field: 208, Name: "test_proto.default_sint64", - Tag: "zigzag64,208,opt,name=default_sint64,json=defaultSint64,def=47", + Tag: "zigzag64,208,opt,name=default_sint64,def=47", Filename: "test.proto", } @@ -4296,7 +4319,7 @@ var E_DefaultFixed32 = &proto.ExtensionDesc{ ExtensionType: (*uint32)(nil), Field: 209, Name: "test_proto.default_fixed32", - Tag: "fixed32,209,opt,name=default_fixed32,json=defaultFixed32,def=48", + Tag: "fixed32,209,opt,name=default_fixed32,def=48", Filename: "test.proto", } @@ -4305,7 +4328,7 @@ var E_DefaultFixed64 = &proto.ExtensionDesc{ ExtensionType: (*uint64)(nil), Field: 210, Name: "test_proto.default_fixed64", - Tag: "fixed64,210,opt,name=default_fixed64,json=defaultFixed64,def=49", + Tag: "fixed64,210,opt,name=default_fixed64,def=49", Filename: "test.proto", } @@ -4314,7 +4337,7 @@ var E_DefaultSfixed32 = &proto.ExtensionDesc{ ExtensionType: (*int32)(nil), Field: 211, Name: "test_proto.default_sfixed32", - Tag: "fixed32,211,opt,name=default_sfixed32,json=defaultSfixed32,def=50", + Tag: "fixed32,211,opt,name=default_sfixed32,def=50", Filename: "test.proto", } @@ -4323,7 +4346,7 @@ var E_DefaultSfixed64 = &proto.ExtensionDesc{ ExtensionType: (*int64)(nil), Field: 212, Name: "test_proto.default_sfixed64", - Tag: "fixed64,212,opt,name=default_sfixed64,json=defaultSfixed64,def=51", + Tag: "fixed64,212,opt,name=default_sfixed64,def=51", Filename: "test.proto", } @@ -4332,7 +4355,7 @@ var E_DefaultBool = &proto.ExtensionDesc{ ExtensionType: (*bool)(nil), Field: 213, Name: "test_proto.default_bool", - Tag: "varint,213,opt,name=default_bool,json=defaultBool,def=1", + Tag: "varint,213,opt,name=default_bool,def=1", Filename: "test.proto", } @@ -4341,7 +4364,7 @@ var E_DefaultString = &proto.ExtensionDesc{ ExtensionType: (*string)(nil), Field: 214, Name: "test_proto.default_string", - Tag: "bytes,214,opt,name=default_string,json=defaultString,def=Hello, string,def=foo", + Tag: "bytes,214,opt,name=default_string,def=Hello, string,def=foo", Filename: "test.proto", } @@ -4350,7 +4373,7 @@ var E_DefaultBytes = &proto.ExtensionDesc{ ExtensionType: ([]byte)(nil), Field: 215, Name: "test_proto.default_bytes", - Tag: "bytes,215,opt,name=default_bytes,json=defaultBytes,def=Hello, bytes", + Tag: "bytes,215,opt,name=default_bytes,def=Hello, bytes", Filename: "test.proto", } @@ -4359,7 +4382,7 @@ var E_DefaultEnum = &proto.ExtensionDesc{ ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil), Field: 216, Name: "test_proto.default_enum", - Tag: "varint,216,opt,name=default_enum,json=defaultEnum,enum=test_proto.DefaultsMessage_DefaultsEnum,def=1", + Tag: "varint,216,opt,name=default_enum,enum=test_proto.DefaultsMessage_DefaultsEnum,def=1", Filename: "test.proto", } @@ -4814,6 +4837,12 @@ var E_X250 = &proto.ExtensionDesc{ } func init() { + proto.RegisterEnum("test_proto.FOO", FOO_name, FOO_value) + proto.RegisterEnum("test_proto.GoTest_KIND", GoTest_KIND_name, GoTest_KIND_value) + proto.RegisterEnum("test_proto.MyMessage_Color", MyMessage_Color_name, MyMessage_Color_value) + proto.RegisterEnum("test_proto.DefaultsMessage_DefaultsEnum", DefaultsMessage_DefaultsEnum_name, DefaultsMessage_DefaultsEnum_value) + proto.RegisterEnum("test_proto.Defaults_Color", Defaults_Color_name, Defaults_Color_value) + proto.RegisterEnum("test_proto.RepeatedEnum_Color", RepeatedEnum_Color_name, RepeatedEnum_Color_value) proto.RegisterType((*GoEnum)(nil), "test_proto.GoEnum") proto.RegisterType((*GoTestField)(nil), "test_proto.GoTestField") proto.RegisterType((*GoTest)(nil), "test_proto.GoTest") @@ -4836,6 +4865,9 @@ func init() { proto.RegisterType((*RequiredInnerMessage)(nil), "test_proto.RequiredInnerMessage") proto.RegisterType((*MyMessage)(nil), "test_proto.MyMessage") proto.RegisterType((*MyMessage_SomeGroup)(nil), "test_proto.MyMessage.SomeGroup") + proto.RegisterExtension(E_Ext_More) + proto.RegisterExtension(E_Ext_Text) + proto.RegisterExtension(E_Ext_Number) proto.RegisterType((*Ext)(nil), "test_proto.Ext") proto.RegisterMapType((map[int32]int32)(nil), "test_proto.Ext.MapFieldEntry") proto.RegisterType((*ComplexExtension)(nil), "test_proto.ComplexExtension") @@ -4865,15 +4897,6 @@ func init() { proto.RegisterType((*TestUTF8)(nil), "test_proto.TestUTF8") proto.RegisterMapType((map[string]int64)(nil), "test_proto.TestUTF8.MapKeyEntry") proto.RegisterMapType((map[int64]string)(nil), "test_proto.TestUTF8.MapValueEntry") - proto.RegisterEnum("test_proto.FOO", FOO_name, FOO_value) - proto.RegisterEnum("test_proto.GoTest_KIND", GoTest_KIND_name, GoTest_KIND_value) - proto.RegisterEnum("test_proto.MyMessage_Color", MyMessage_Color_name, MyMessage_Color_value) - proto.RegisterEnum("test_proto.DefaultsMessage_DefaultsEnum", DefaultsMessage_DefaultsEnum_name, DefaultsMessage_DefaultsEnum_value) - proto.RegisterEnum("test_proto.Defaults_Color", Defaults_Color_name, Defaults_Color_value) - proto.RegisterEnum("test_proto.RepeatedEnum_Color", RepeatedEnum_Color_name, RepeatedEnum_Color_value) - proto.RegisterExtension(E_Ext_More) - proto.RegisterExtension(E_Ext_Text) - proto.RegisterExtension(E_Ext_Number) proto.RegisterExtension(E_Greeting) proto.RegisterExtension(E_Complex) proto.RegisterExtension(E_RComplex) @@ -4961,9 +4984,9 @@ func init() { proto.RegisterExtension(E_X250) } -func init() { proto.RegisterFile("test.proto", fileDescriptor_test_9a2a288ec56ee1d1) } +func init() { proto.RegisterFile("test.proto", fileDescriptor_c161fcfdc0c3ff1e) } -var fileDescriptor_test_9a2a288ec56ee1d1 = []byte{ +var fileDescriptor_c161fcfdc0c3ff1e = []byte{ // 4787 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x5a, 0xd9, 0x73, 0x1b, 0x47, 0x7a, 0xd7, 0x0c, 0xee, 0x0f, 0x20, 0x31, 0x6c, 0xd1, 0x12, 0x44, 0x59, 0xd2, 0x08, 0x7b, 0x18, diff --git a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/any.proto b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/any.proto index b6cc7cb2e..4cf3843bd 100644 --- a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/any.proto +++ b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/any.proto @@ -121,7 +121,8 @@ option objc_class_prefix = "GPB"; // message Any { // A URL/resource name that uniquely identifies the type of the serialized - // protocol buffer message. The last segment of the URL's path must represent + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent // the fully qualified name of the type (as in // `path/google.protobuf.Duration`). The name should be in a canonical form // (e.g., leading "." is not accepted). diff --git a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/descriptor.proto b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/descriptor.proto index 1598ad7c1..887f16ddc 100644 --- a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/descriptor.proto +++ b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/descriptor.proto @@ -417,6 +417,17 @@ message FileOptions { // determining the namespace. optional string php_namespace = 41; + + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be used + // for determining the namespace. + optional string php_metadata_namespace = 44; + + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + optional string ruby_package = 45; + // The parser stores options it doesn't recognize here. // See the documentation for the "Options" section above. repeated UninterpretedOption uninterpreted_option = 999; diff --git a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/field_mask.proto b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/field_mask.proto index 121619814..7b77007b7 100644 --- a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/field_mask.proto +++ b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/field_mask.proto @@ -38,6 +38,7 @@ option java_outer_classname = "FieldMaskProto"; option java_multiple_files = true; option objc_class_prefix = "GPB"; option go_package = "types"; +option cc_enable_arenas = true; // `FieldMask` represents a set of symbolic field paths, for example: // @@ -107,57 +108,49 @@ option go_package = "types"; // describe the updated values, the API ignores the values of all // fields not covered by the mask. // -// If a repeated field is specified for an update operation, the existing -// repeated values in the target resource will be overwritten by the new values. -// Note that a repeated field is only allowed in the last position of a `paths` -// string. +// If a repeated field is specified for an update operation, new values will +// be appended to the existing repeated field in the target resource. Note that +// a repeated field is only allowed in the last position of a `paths` string. // // If a sub-message is specified in the last position of the field mask for an -// update operation, then the existing sub-message in the target resource is -// overwritten. Given the target message: +// update operation, then new value will be merged into the existing sub-message +// in the target resource. +// +// For example, given the target message: // // f { // b { -// d : 1 -// x : 2 +// d: 1 +// x: 2 // } -// c : 1 +// c: [1] // } // // And an update message: // // f { // b { -// d : 10 +// d: 10 // } +// c: [2] // } // // then if the field mask is: // -// paths: "f.b" +// paths: ["f.b", "f.c"] // // then the result will be: // // f { // b { -// d : 10 +// d: 10 +// x: 2 // } -// c : 1 +// c: [1, 2] // } // -// However, if the update mask was: -// -// paths: "f.b.d" -// -// then the result would be: -// -// f { -// b { -// d : 10 -// x : 2 -// } -// c : 1 -// } +// An implementation may provide options to override this default behavior for +// repeated and message fields. // // In order to reset a field's value to the default, the field must // be in the mask and set to the default value in the provided resource. @@ -243,8 +236,8 @@ option go_package = "types"; // // ## Field Mask Verification // -// The implementation of the all the API methods, which have any FieldMask type -// field in the request, should verify the included field paths, and return +// The implementation of any API method which has a FieldMask type field in the +// request should verify the included field paths, and return an // `INVALID_ARGUMENT` error if any path is duplicated or unmappable. message FieldMask { // The set of field mask paths. diff --git a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/timestamp.proto b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/timestamp.proto index 150468b5e..18cb7c3ea 100644 --- a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/timestamp.proto +++ b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/timestamp.proto @@ -40,17 +40,19 @@ option java_outer_classname = "TimestampProto"; option java_multiple_files = true; option objc_class_prefix = "GPB"; -// A Timestamp represents a point in time independent of any time zone -// or calendar, represented as seconds and fractions of seconds at -// nanosecond resolution in UTC Epoch time. It is encoded using the -// Proleptic Gregorian Calendar which extends the Gregorian calendar -// backwards to year one. It is encoded assuming all minutes are 60 -// seconds long, i.e. leap seconds are "smeared" so that no leap second -// table is needed for interpretation. Range is from -// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. -// By restricting to that range, we ensure that we can convert to -// and from RFC 3339 date strings. -// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. // // # Examples // @@ -111,12 +113,12 @@ option objc_class_prefix = "GPB"; // 01:30 UTC on January 15, 2017. // // In JavaScript, one can convert a Date object to this format using the -// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] +// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) // method. In Python, a standard `datetime.datetime` object can be converted // to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) // with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one // can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( -// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- +// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D // ) to obtain a formatter capable of generating timestamps in this format. // // diff --git a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto index c5632e5ca..59b76acde 100644 --- a/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto +++ b/vendor/github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto @@ -32,6 +32,11 @@ // for embedding primitives in the `google.protobuf.Any` type and for places // where we need to distinguish between the absence of a primitive // typed field and its default value. +// +// These wrappers have no meaningful use within repeated fields as they lack +// the ability to detect presence on individual elements. +// These wrappers have no meaningful use within a map or a oneof since +// individual entries of a map or fields of a oneof can already detect presence. syntax = "proto3"; diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go index 44f893b77..cacfa3923 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go @@ -3,9 +3,11 @@ package descriptor -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -72,6 +74,7 @@ var FieldDescriptorProto_Type_name = map[int32]string{ 17: "TYPE_SINT32", 18: "TYPE_SINT64", } + var FieldDescriptorProto_Type_value = map[string]int32{ "TYPE_DOUBLE": 1, "TYPE_FLOAT": 2, @@ -98,9 +101,11 @@ func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type { *p = x return p } + func (x FieldDescriptorProto_Type) String() string { return proto.EnumName(FieldDescriptorProto_Type_name, int32(x)) } + func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type") if err != nil { @@ -109,8 +114,9 @@ func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error { *x = FieldDescriptorProto_Type(value) return nil } + func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 0} + return fileDescriptor_308767df5ffe18af, []int{4, 0} } type FieldDescriptorProto_Label int32 @@ -127,6 +133,7 @@ var FieldDescriptorProto_Label_name = map[int32]string{ 2: "LABEL_REQUIRED", 3: "LABEL_REPEATED", } + var FieldDescriptorProto_Label_value = map[string]int32{ "LABEL_OPTIONAL": 1, "LABEL_REQUIRED": 2, @@ -138,9 +145,11 @@ func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label { *p = x return p } + func (x FieldDescriptorProto_Label) String() string { return proto.EnumName(FieldDescriptorProto_Label_name, int32(x)) } + func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label") if err != nil { @@ -149,8 +158,9 @@ func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error { *x = FieldDescriptorProto_Label(value) return nil } + func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4, 1} + return fileDescriptor_308767df5ffe18af, []int{4, 1} } // Generated classes can be optimized for speed or code size. @@ -168,6 +178,7 @@ var FileOptions_OptimizeMode_name = map[int32]string{ 2: "CODE_SIZE", 3: "LITE_RUNTIME", } + var FileOptions_OptimizeMode_value = map[string]int32{ "SPEED": 1, "CODE_SIZE": 2, @@ -179,9 +190,11 @@ func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode { *p = x return p } + func (x FileOptions_OptimizeMode) String() string { return proto.EnumName(FileOptions_OptimizeMode_name, int32(x)) } + func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode") if err != nil { @@ -190,8 +203,9 @@ func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error { *x = FileOptions_OptimizeMode(value) return nil } + func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{10, 0} + return fileDescriptor_308767df5ffe18af, []int{10, 0} } type FieldOptions_CType int32 @@ -208,6 +222,7 @@ var FieldOptions_CType_name = map[int32]string{ 1: "CORD", 2: "STRING_PIECE", } + var FieldOptions_CType_value = map[string]int32{ "STRING": 0, "CORD": 1, @@ -219,9 +234,11 @@ func (x FieldOptions_CType) Enum() *FieldOptions_CType { *p = x return p } + func (x FieldOptions_CType) String() string { return proto.EnumName(FieldOptions_CType_name, int32(x)) } + func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType") if err != nil { @@ -230,8 +247,9 @@ func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error { *x = FieldOptions_CType(value) return nil } + func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 0} + return fileDescriptor_308767df5ffe18af, []int{12, 0} } type FieldOptions_JSType int32 @@ -250,6 +268,7 @@ var FieldOptions_JSType_name = map[int32]string{ 1: "JS_STRING", 2: "JS_NUMBER", } + var FieldOptions_JSType_value = map[string]int32{ "JS_NORMAL": 0, "JS_STRING": 1, @@ -261,9 +280,11 @@ func (x FieldOptions_JSType) Enum() *FieldOptions_JSType { *p = x return p } + func (x FieldOptions_JSType) String() string { return proto.EnumName(FieldOptions_JSType_name, int32(x)) } + func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType") if err != nil { @@ -272,8 +293,9 @@ func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error { *x = FieldOptions_JSType(value) return nil } + func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12, 1} + return fileDescriptor_308767df5ffe18af, []int{12, 1} } // Is this method side-effect-free (or safe in HTTP parlance), or idempotent, @@ -292,6 +314,7 @@ var MethodOptions_IdempotencyLevel_name = map[int32]string{ 1: "NO_SIDE_EFFECTS", 2: "IDEMPOTENT", } + var MethodOptions_IdempotencyLevel_value = map[string]int32{ "IDEMPOTENCY_UNKNOWN": 0, "NO_SIDE_EFFECTS": 1, @@ -303,9 +326,11 @@ func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel { *p = x return p } + func (x MethodOptions_IdempotencyLevel) String() string { return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x)) } + func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel") if err != nil { @@ -314,8 +339,9 @@ func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error { *x = MethodOptions_IdempotencyLevel(value) return nil } + func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{17, 0} + return fileDescriptor_308767df5ffe18af, []int{17, 0} } // The protocol compiler can output a FileDescriptorSet containing the .proto @@ -331,7 +357,7 @@ func (m *FileDescriptorSet) Reset() { *m = FileDescriptorSet{} } func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) } func (*FileDescriptorSet) ProtoMessage() {} func (*FileDescriptorSet) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{0} + return fileDescriptor_308767df5ffe18af, []int{0} } func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b) @@ -339,8 +365,8 @@ func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error { func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic) } -func (dst *FileDescriptorSet) XXX_Merge(src proto.Message) { - xxx_messageInfo_FileDescriptorSet.Merge(dst, src) +func (m *FileDescriptorSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileDescriptorSet.Merge(m, src) } func (m *FileDescriptorSet) XXX_Size() int { return xxx_messageInfo_FileDescriptorSet.Size(m) @@ -392,7 +418,7 @@ func (m *FileDescriptorProto) Reset() { *m = FileDescriptorProto{} } func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) } func (*FileDescriptorProto) ProtoMessage() {} func (*FileDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{1} + return fileDescriptor_308767df5ffe18af, []int{1} } func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b) @@ -400,8 +426,8 @@ func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error { func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic) } -func (dst *FileDescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_FileDescriptorProto.Merge(dst, src) +func (m *FileDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileDescriptorProto.Merge(m, src) } func (m *FileDescriptorProto) XXX_Size() int { return xxx_messageInfo_FileDescriptorProto.Size(m) @@ -519,7 +545,7 @@ func (m *DescriptorProto) Reset() { *m = DescriptorProto{} } func (m *DescriptorProto) String() string { return proto.CompactTextString(m) } func (*DescriptorProto) ProtoMessage() {} func (*DescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2} + return fileDescriptor_308767df5ffe18af, []int{2} } func (m *DescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DescriptorProto.Unmarshal(m, b) @@ -527,8 +553,8 @@ func (m *DescriptorProto) XXX_Unmarshal(b []byte) error { func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic) } -func (dst *DescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_DescriptorProto.Merge(dst, src) +func (m *DescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescriptorProto.Merge(m, src) } func (m *DescriptorProto) XXX_Size() int { return xxx_messageInfo_DescriptorProto.Size(m) @@ -622,7 +648,7 @@ func (m *DescriptorProto_ExtensionRange) Reset() { *m = DescriptorProto_ func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) } func (*DescriptorProto_ExtensionRange) ProtoMessage() {} func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 0} + return fileDescriptor_308767df5ffe18af, []int{2, 0} } func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b) @@ -630,8 +656,8 @@ func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error { func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic) } -func (dst *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) { - xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(dst, src) +func (m *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(m, src) } func (m *DescriptorProto_ExtensionRange) XXX_Size() int { return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m) @@ -678,7 +704,7 @@ func (m *DescriptorProto_ReservedRange) Reset() { *m = DescriptorProto_R func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) } func (*DescriptorProto_ReservedRange) ProtoMessage() {} func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{2, 1} + return fileDescriptor_308767df5ffe18af, []int{2, 1} } func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b) @@ -686,8 +712,8 @@ func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error { func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic) } -func (dst *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) { - xxx_messageInfo_DescriptorProto_ReservedRange.Merge(dst, src) +func (m *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_DescriptorProto_ReservedRange.Merge(m, src) } func (m *DescriptorProto_ReservedRange) XXX_Size() int { return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m) @@ -725,7 +751,7 @@ func (m *ExtensionRangeOptions) Reset() { *m = ExtensionRangeOptions{} } func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) } func (*ExtensionRangeOptions) ProtoMessage() {} func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{3} + return fileDescriptor_308767df5ffe18af, []int{3} } var extRange_ExtensionRangeOptions = []proto.ExtensionRange{ @@ -735,14 +761,15 @@ var extRange_ExtensionRangeOptions = []proto.ExtensionRange{ func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_ExtensionRangeOptions } + func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b) } func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic) } -func (dst *ExtensionRangeOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtensionRangeOptions.Merge(dst, src) +func (m *ExtensionRangeOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtensionRangeOptions.Merge(m, src) } func (m *ExtensionRangeOptions) XXX_Size() int { return xxx_messageInfo_ExtensionRangeOptions.Size(m) @@ -801,7 +828,7 @@ func (m *FieldDescriptorProto) Reset() { *m = FieldDescriptorProto{} } func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) } func (*FieldDescriptorProto) ProtoMessage() {} func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{4} + return fileDescriptor_308767df5ffe18af, []int{4} } func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b) @@ -809,8 +836,8 @@ func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error { func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic) } -func (dst *FieldDescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_FieldDescriptorProto.Merge(dst, src) +func (m *FieldDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldDescriptorProto.Merge(m, src) } func (m *FieldDescriptorProto) XXX_Size() int { return xxx_messageInfo_FieldDescriptorProto.Size(m) @@ -904,7 +931,7 @@ func (m *OneofDescriptorProto) Reset() { *m = OneofDescriptorProto{} } func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) } func (*OneofDescriptorProto) ProtoMessage() {} func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{5} + return fileDescriptor_308767df5ffe18af, []int{5} } func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b) @@ -912,8 +939,8 @@ func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error { func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic) } -func (dst *OneofDescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofDescriptorProto.Merge(dst, src) +func (m *OneofDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofDescriptorProto.Merge(m, src) } func (m *OneofDescriptorProto) XXX_Size() int { return xxx_messageInfo_OneofDescriptorProto.Size(m) @@ -959,7 +986,7 @@ func (m *EnumDescriptorProto) Reset() { *m = EnumDescriptorProto{} } func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) } func (*EnumDescriptorProto) ProtoMessage() {} func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{6} + return fileDescriptor_308767df5ffe18af, []int{6} } func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b) @@ -967,8 +994,8 @@ func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error { func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic) } -func (dst *EnumDescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnumDescriptorProto.Merge(dst, src) +func (m *EnumDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumDescriptorProto.Merge(m, src) } func (m *EnumDescriptorProto) XXX_Size() int { return xxx_messageInfo_EnumDescriptorProto.Size(m) @@ -1032,7 +1059,7 @@ func (m *EnumDescriptorProto_EnumReservedRange) Reset() { *m = EnumDescr func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) } func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {} func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{6, 0} + return fileDescriptor_308767df5ffe18af, []int{6, 0} } func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b) @@ -1040,8 +1067,8 @@ func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error { func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic) } -func (dst *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(dst, src) +func (m *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(m, src) } func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int { return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m) @@ -1080,7 +1107,7 @@ func (m *EnumValueDescriptorProto) Reset() { *m = EnumValueDescriptorPro func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) } func (*EnumValueDescriptorProto) ProtoMessage() {} func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{7} + return fileDescriptor_308767df5ffe18af, []int{7} } func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b) @@ -1088,8 +1115,8 @@ func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error { func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic) } -func (dst *EnumValueDescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnumValueDescriptorProto.Merge(dst, src) +func (m *EnumValueDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumValueDescriptorProto.Merge(m, src) } func (m *EnumValueDescriptorProto) XXX_Size() int { return xxx_messageInfo_EnumValueDescriptorProto.Size(m) @@ -1135,7 +1162,7 @@ func (m *ServiceDescriptorProto) Reset() { *m = ServiceDescriptorProto{} func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) } func (*ServiceDescriptorProto) ProtoMessage() {} func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{8} + return fileDescriptor_308767df5ffe18af, []int{8} } func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b) @@ -1143,8 +1170,8 @@ func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error { func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic) } -func (dst *ServiceDescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceDescriptorProto.Merge(dst, src) +func (m *ServiceDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceDescriptorProto.Merge(m, src) } func (m *ServiceDescriptorProto) XXX_Size() int { return xxx_messageInfo_ServiceDescriptorProto.Size(m) @@ -1197,7 +1224,7 @@ func (m *MethodDescriptorProto) Reset() { *m = MethodDescriptorProto{} } func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) } func (*MethodDescriptorProto) ProtoMessage() {} func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{9} + return fileDescriptor_308767df5ffe18af, []int{9} } func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b) @@ -1205,8 +1232,8 @@ func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error { func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic) } -func (dst *MethodDescriptorProto) XXX_Merge(src proto.Message) { - xxx_messageInfo_MethodDescriptorProto.Merge(dst, src) +func (m *MethodDescriptorProto) XXX_Merge(src proto.Message) { + xxx_messageInfo_MethodDescriptorProto.Merge(m, src) } func (m *MethodDescriptorProto) XXX_Size() int { return xxx_messageInfo_MethodDescriptorProto.Size(m) @@ -1336,6 +1363,14 @@ type FileOptions struct { // is empty. When this option is empty, the package name will be used for // determining the namespace. PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"` + // Use this option to change the namespace of php generated metadata classes. + // Default is empty. When this option is empty, the proto file name will be used + // for determining the namespace. + PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"` + // Use this option to change the package of ruby generated classes. Default + // is empty. When this option is not set, the package name will be used for + // determining the ruby package. + RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"` // The parser stores options it doesn't recognize here. // See the documentation for the "Options" section above. UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"` @@ -1349,7 +1384,7 @@ func (m *FileOptions) Reset() { *m = FileOptions{} } func (m *FileOptions) String() string { return proto.CompactTextString(m) } func (*FileOptions) ProtoMessage() {} func (*FileOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{10} + return fileDescriptor_308767df5ffe18af, []int{10} } var extRange_FileOptions = []proto.ExtensionRange{ @@ -1359,14 +1394,15 @@ var extRange_FileOptions = []proto.ExtensionRange{ func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_FileOptions } + func (m *FileOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FileOptions.Unmarshal(m, b) } func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic) } -func (dst *FileOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_FileOptions.Merge(dst, src) +func (m *FileOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_FileOptions.Merge(m, src) } func (m *FileOptions) XXX_Size() int { return xxx_messageInfo_FileOptions.Size(m) @@ -1514,6 +1550,20 @@ func (m *FileOptions) GetPhpNamespace() string { return "" } +func (m *FileOptions) GetPhpMetadataNamespace() string { + if m != nil && m.PhpMetadataNamespace != nil { + return *m.PhpMetadataNamespace + } + return "" +} + +func (m *FileOptions) GetRubyPackage() string { + if m != nil && m.RubyPackage != nil { + return *m.RubyPackage + } + return "" +} + func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption { if m != nil { return m.UninterpretedOption @@ -1584,7 +1634,7 @@ func (m *MessageOptions) Reset() { *m = MessageOptions{} } func (m *MessageOptions) String() string { return proto.CompactTextString(m) } func (*MessageOptions) ProtoMessage() {} func (*MessageOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{11} + return fileDescriptor_308767df5ffe18af, []int{11} } var extRange_MessageOptions = []proto.ExtensionRange{ @@ -1594,14 +1644,15 @@ var extRange_MessageOptions = []proto.ExtensionRange{ func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MessageOptions } + func (m *MessageOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageOptions.Unmarshal(m, b) } func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic) } -func (dst *MessageOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageOptions.Merge(dst, src) +func (m *MessageOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageOptions.Merge(m, src) } func (m *MessageOptions) XXX_Size() int { return xxx_messageInfo_MessageOptions.Size(m) @@ -1723,7 +1774,7 @@ func (m *FieldOptions) Reset() { *m = FieldOptions{} } func (m *FieldOptions) String() string { return proto.CompactTextString(m) } func (*FieldOptions) ProtoMessage() {} func (*FieldOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{12} + return fileDescriptor_308767df5ffe18af, []int{12} } var extRange_FieldOptions = []proto.ExtensionRange{ @@ -1733,14 +1784,15 @@ var extRange_FieldOptions = []proto.ExtensionRange{ func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_FieldOptions } + func (m *FieldOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FieldOptions.Unmarshal(m, b) } func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic) } -func (dst *FieldOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_FieldOptions.Merge(dst, src) +func (m *FieldOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldOptions.Merge(m, src) } func (m *FieldOptions) XXX_Size() int { return xxx_messageInfo_FieldOptions.Size(m) @@ -1819,7 +1871,7 @@ func (m *OneofOptions) Reset() { *m = OneofOptions{} } func (m *OneofOptions) String() string { return proto.CompactTextString(m) } func (*OneofOptions) ProtoMessage() {} func (*OneofOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{13} + return fileDescriptor_308767df5ffe18af, []int{13} } var extRange_OneofOptions = []proto.ExtensionRange{ @@ -1829,14 +1881,15 @@ var extRange_OneofOptions = []proto.ExtensionRange{ func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OneofOptions } + func (m *OneofOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OneofOptions.Unmarshal(m, b) } func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic) } -func (dst *OneofOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofOptions.Merge(dst, src) +func (m *OneofOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofOptions.Merge(m, src) } func (m *OneofOptions) XXX_Size() int { return xxx_messageInfo_OneofOptions.Size(m) @@ -1875,7 +1928,7 @@ func (m *EnumOptions) Reset() { *m = EnumOptions{} } func (m *EnumOptions) String() string { return proto.CompactTextString(m) } func (*EnumOptions) ProtoMessage() {} func (*EnumOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{14} + return fileDescriptor_308767df5ffe18af, []int{14} } var extRange_EnumOptions = []proto.ExtensionRange{ @@ -1885,14 +1938,15 @@ var extRange_EnumOptions = []proto.ExtensionRange{ func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_EnumOptions } + func (m *EnumOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EnumOptions.Unmarshal(m, b) } func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic) } -func (dst *EnumOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnumOptions.Merge(dst, src) +func (m *EnumOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumOptions.Merge(m, src) } func (m *EnumOptions) XXX_Size() int { return xxx_messageInfo_EnumOptions.Size(m) @@ -1944,7 +1998,7 @@ func (m *EnumValueOptions) Reset() { *m = EnumValueOptions{} } func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) } func (*EnumValueOptions) ProtoMessage() {} func (*EnumValueOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{15} + return fileDescriptor_308767df5ffe18af, []int{15} } var extRange_EnumValueOptions = []proto.ExtensionRange{ @@ -1954,14 +2008,15 @@ var extRange_EnumValueOptions = []proto.ExtensionRange{ func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_EnumValueOptions } + func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b) } func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic) } -func (dst *EnumValueOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnumValueOptions.Merge(dst, src) +func (m *EnumValueOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumValueOptions.Merge(m, src) } func (m *EnumValueOptions) XXX_Size() int { return xxx_messageInfo_EnumValueOptions.Size(m) @@ -2006,7 +2061,7 @@ func (m *ServiceOptions) Reset() { *m = ServiceOptions{} } func (m *ServiceOptions) String() string { return proto.CompactTextString(m) } func (*ServiceOptions) ProtoMessage() {} func (*ServiceOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{16} + return fileDescriptor_308767df5ffe18af, []int{16} } var extRange_ServiceOptions = []proto.ExtensionRange{ @@ -2016,14 +2071,15 @@ var extRange_ServiceOptions = []proto.ExtensionRange{ func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_ServiceOptions } + func (m *ServiceOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ServiceOptions.Unmarshal(m, b) } func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic) } -func (dst *ServiceOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceOptions.Merge(dst, src) +func (m *ServiceOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceOptions.Merge(m, src) } func (m *ServiceOptions) XXX_Size() int { return xxx_messageInfo_ServiceOptions.Size(m) @@ -2069,7 +2125,7 @@ func (m *MethodOptions) Reset() { *m = MethodOptions{} } func (m *MethodOptions) String() string { return proto.CompactTextString(m) } func (*MethodOptions) ProtoMessage() {} func (*MethodOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{17} + return fileDescriptor_308767df5ffe18af, []int{17} } var extRange_MethodOptions = []proto.ExtensionRange{ @@ -2079,14 +2135,15 @@ var extRange_MethodOptions = []proto.ExtensionRange{ func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MethodOptions } + func (m *MethodOptions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MethodOptions.Unmarshal(m, b) } func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic) } -func (dst *MethodOptions) XXX_Merge(src proto.Message) { - xxx_messageInfo_MethodOptions.Merge(dst, src) +func (m *MethodOptions) XXX_Merge(src proto.Message) { + xxx_messageInfo_MethodOptions.Merge(m, src) } func (m *MethodOptions) XXX_Size() int { return xxx_messageInfo_MethodOptions.Size(m) @@ -2146,7 +2203,7 @@ func (m *UninterpretedOption) Reset() { *m = UninterpretedOption{} } func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) } func (*UninterpretedOption) ProtoMessage() {} func (*UninterpretedOption) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{18} + return fileDescriptor_308767df5ffe18af, []int{18} } func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b) @@ -2154,8 +2211,8 @@ func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error { func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic) } -func (dst *UninterpretedOption) XXX_Merge(src proto.Message) { - xxx_messageInfo_UninterpretedOption.Merge(dst, src) +func (m *UninterpretedOption) XXX_Merge(src proto.Message) { + xxx_messageInfo_UninterpretedOption.Merge(m, src) } func (m *UninterpretedOption) XXX_Size() int { return xxx_messageInfo_UninterpretedOption.Size(m) @@ -2232,7 +2289,7 @@ func (m *UninterpretedOption_NamePart) Reset() { *m = UninterpretedOptio func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) } func (*UninterpretedOption_NamePart) ProtoMessage() {} func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{18, 0} + return fileDescriptor_308767df5ffe18af, []int{18, 0} } func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b) @@ -2240,8 +2297,8 @@ func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error { func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic) } -func (dst *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) { - xxx_messageInfo_UninterpretedOption_NamePart.Merge(dst, src) +func (m *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) { + xxx_messageInfo_UninterpretedOption_NamePart.Merge(m, src) } func (m *UninterpretedOption_NamePart) XXX_Size() int { return xxx_messageInfo_UninterpretedOption_NamePart.Size(m) @@ -2322,7 +2379,7 @@ func (m *SourceCodeInfo) Reset() { *m = SourceCodeInfo{} } func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) } func (*SourceCodeInfo) ProtoMessage() {} func (*SourceCodeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{19} + return fileDescriptor_308767df5ffe18af, []int{19} } func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b) @@ -2330,8 +2387,8 @@ func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error { func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic) } -func (dst *SourceCodeInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_SourceCodeInfo.Merge(dst, src) +func (m *SourceCodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_SourceCodeInfo.Merge(m, src) } func (m *SourceCodeInfo) XXX_Size() int { return xxx_messageInfo_SourceCodeInfo.Size(m) @@ -2439,7 +2496,7 @@ func (m *SourceCodeInfo_Location) Reset() { *m = SourceCodeInfo_Location func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) } func (*SourceCodeInfo_Location) ProtoMessage() {} func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{19, 0} + return fileDescriptor_308767df5ffe18af, []int{19, 0} } func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b) @@ -2447,8 +2504,8 @@ func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error { func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic) } -func (dst *SourceCodeInfo_Location) XXX_Merge(src proto.Message) { - xxx_messageInfo_SourceCodeInfo_Location.Merge(dst, src) +func (m *SourceCodeInfo_Location) XXX_Merge(src proto.Message) { + xxx_messageInfo_SourceCodeInfo_Location.Merge(m, src) } func (m *SourceCodeInfo_Location) XXX_Size() int { return xxx_messageInfo_SourceCodeInfo_Location.Size(m) @@ -2510,7 +2567,7 @@ func (m *GeneratedCodeInfo) Reset() { *m = GeneratedCodeInfo{} } func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) } func (*GeneratedCodeInfo) ProtoMessage() {} func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{20} + return fileDescriptor_308767df5ffe18af, []int{20} } func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b) @@ -2518,8 +2575,8 @@ func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error { func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic) } -func (dst *GeneratedCodeInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_GeneratedCodeInfo.Merge(dst, src) +func (m *GeneratedCodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_GeneratedCodeInfo.Merge(m, src) } func (m *GeneratedCodeInfo) XXX_Size() int { return xxx_messageInfo_GeneratedCodeInfo.Size(m) @@ -2559,7 +2616,7 @@ func (m *GeneratedCodeInfo_Annotation) Reset() { *m = GeneratedCodeInfo_ func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) } func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) { - return fileDescriptor_descriptor_9588782fb9cbecd6, []int{20, 0} + return fileDescriptor_308767df5ffe18af, []int{20, 0} } func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b) @@ -2567,8 +2624,8 @@ func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error { func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic) } -func (dst *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) { - xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(dst, src) +func (m *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) { + xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(m, src) } func (m *GeneratedCodeInfo_Annotation) XXX_Size() int { return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m) @@ -2608,6 +2665,12 @@ func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 { } func init() { + proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value) + proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value) + proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value) + proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value) + proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value) + proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value) proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet") proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto") proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto") @@ -2635,172 +2698,168 @@ func init() { proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location") proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo") proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation") - proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value) - proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value) - proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value) - proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value) - proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value) - proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value) } -func init() { proto.RegisterFile("descriptor.proto", fileDescriptor_descriptor_9588782fb9cbecd6) } +func init() { proto.RegisterFile("descriptor.proto", fileDescriptor_308767df5ffe18af) } -var fileDescriptor_descriptor_9588782fb9cbecd6 = []byte{ - // 2487 bytes of a gzipped FileDescriptorProto +var fileDescriptor_308767df5ffe18af = []byte{ + // 2522 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0xdb, 0xc8, - 0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0xe5, 0xf1, 0xd8, 0x9b, 0x30, 0xde, 0x8f, 0x38, 0xda, 0x8f, - 0x38, 0x49, 0xab, 0x2c, 0x9c, 0xc4, 0xc9, 0x3a, 0xc5, 0xb6, 0xb2, 0xc4, 0x78, 0x95, 0xca, 0x92, + 0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0x65, 0x7a, 0xec, 0x75, 0x18, 0xef, 0x47, 0x1c, 0xed, 0x66, + 0xe3, 0x24, 0xbb, 0xca, 0xc2, 0x49, 0x9c, 0xac, 0x53, 0x6c, 0x2b, 0x4b, 0x8c, 0x57, 0xa9, 0xbe, 0x4a, 0xc9, 0xdd, 0x64, 0x8b, 0x82, 0x18, 0x93, 0x23, 0x89, 0x09, 0x45, 0x72, 0x49, 0x2a, 0x89, - 0x83, 0x1e, 0x02, 0xf4, 0xd4, 0xff, 0xa0, 0x28, 0x8a, 0x1e, 0x7a, 0x59, 0xa0, 0xd7, 0x02, 0x05, - 0xda, 0x7b, 0xaf, 0x05, 0x7a, 0xef, 0xa1, 0x40, 0x0b, 0xb4, 0x7f, 0x42, 0x8f, 0xc5, 0xcc, 0x90, - 0x14, 0xf5, 0x95, 0x78, 0x17, 0x48, 0xf6, 0x64, 0xcf, 0xef, 0xfd, 0xde, 0xe3, 0x9b, 0x37, 0x6f, - 0xde, 0xbc, 0x19, 0x01, 0xd2, 0xa9, 0xa7, 0xb9, 0x86, 0xe3, 0xdb, 0x6e, 0xc5, 0x71, 0x6d, 0xdf, - 0xc6, 0x6b, 0x03, 0xdb, 0x1e, 0x98, 0x54, 0x8c, 0x4e, 0xc6, 0xfd, 0xf2, 0x11, 0xac, 0xdf, 0x33, - 0x4c, 0x5a, 0x8f, 0x88, 0x5d, 0xea, 0xe3, 0x3b, 0x90, 0xee, 0x1b, 0x26, 0x95, 0x12, 0xdb, 0xa9, - 0x9d, 0xc2, 0xee, 0x87, 0x95, 0x19, 0xa5, 0xca, 0xb4, 0x46, 0x87, 0xc1, 0x0a, 0xd7, 0x28, 0xff, - 0x3b, 0x0d, 0x1b, 0x0b, 0xa4, 0x18, 0x43, 0xda, 0x22, 0x23, 0x66, 0x31, 0xb1, 0x93, 0x57, 0xf8, - 0xff, 0x58, 0x82, 0x15, 0x87, 0x68, 0x8f, 0xc9, 0x80, 0x4a, 0x49, 0x0e, 0x87, 0x43, 0xfc, 0x3e, - 0x80, 0x4e, 0x1d, 0x6a, 0xe9, 0xd4, 0xd2, 0x4e, 0xa5, 0xd4, 0x76, 0x6a, 0x27, 0xaf, 0xc4, 0x10, - 0x7c, 0x0d, 0xd6, 0x9d, 0xf1, 0x89, 0x69, 0x68, 0x6a, 0x8c, 0x06, 0xdb, 0xa9, 0x9d, 0x8c, 0x82, - 0x84, 0xa0, 0x3e, 0x21, 0x5f, 0x86, 0xb5, 0xa7, 0x94, 0x3c, 0x8e, 0x53, 0x0b, 0x9c, 0x5a, 0x62, - 0x70, 0x8c, 0x58, 0x83, 0xe2, 0x88, 0x7a, 0x1e, 0x19, 0x50, 0xd5, 0x3f, 0x75, 0xa8, 0x94, 0xe6, - 0xb3, 0xdf, 0x9e, 0x9b, 0xfd, 0xec, 0xcc, 0x0b, 0x81, 0x56, 0xef, 0xd4, 0xa1, 0xb8, 0x0a, 0x79, - 0x6a, 0x8d, 0x47, 0xc2, 0x42, 0x66, 0x49, 0xfc, 0x64, 0x6b, 0x3c, 0x9a, 0xb5, 0x92, 0x63, 0x6a, - 0x81, 0x89, 0x15, 0x8f, 0xba, 0x4f, 0x0c, 0x8d, 0x4a, 0x59, 0x6e, 0xe0, 0xf2, 0x9c, 0x81, 0xae, - 0x90, 0xcf, 0xda, 0x08, 0xf5, 0x70, 0x0d, 0xf2, 0xf4, 0x99, 0x4f, 0x2d, 0xcf, 0xb0, 0x2d, 0x69, - 0x85, 0x1b, 0xf9, 0x68, 0xc1, 0x2a, 0x52, 0x53, 0x9f, 0x35, 0x31, 0xd1, 0xc3, 0x7b, 0xb0, 0x62, - 0x3b, 0xbe, 0x61, 0x5b, 0x9e, 0x94, 0xdb, 0x4e, 0xec, 0x14, 0x76, 0xdf, 0x5d, 0x98, 0x08, 0x6d, - 0xc1, 0x51, 0x42, 0x32, 0x6e, 0x00, 0xf2, 0xec, 0xb1, 0xab, 0x51, 0x55, 0xb3, 0x75, 0xaa, 0x1a, - 0x56, 0xdf, 0x96, 0xf2, 0xdc, 0xc0, 0xc5, 0xf9, 0x89, 0x70, 0x62, 0xcd, 0xd6, 0x69, 0xc3, 0xea, - 0xdb, 0x4a, 0xc9, 0x9b, 0x1a, 0xe3, 0x73, 0x90, 0xf5, 0x4e, 0x2d, 0x9f, 0x3c, 0x93, 0x8a, 0x3c, - 0x43, 0x82, 0x51, 0xf9, 0xcf, 0x59, 0x58, 0x3b, 0x4b, 0x8a, 0xdd, 0x85, 0x4c, 0x9f, 0xcd, 0x52, - 0x4a, 0x7e, 0x93, 0x18, 0x08, 0x9d, 0xe9, 0x20, 0x66, 0xbf, 0x65, 0x10, 0xab, 0x50, 0xb0, 0xa8, - 0xe7, 0x53, 0x5d, 0x64, 0x44, 0xea, 0x8c, 0x39, 0x05, 0x42, 0x69, 0x3e, 0xa5, 0xd2, 0xdf, 0x2a, - 0xa5, 0x1e, 0xc0, 0x5a, 0xe4, 0x92, 0xea, 0x12, 0x6b, 0x10, 0xe6, 0xe6, 0xf5, 0x57, 0x79, 0x52, - 0x91, 0x43, 0x3d, 0x85, 0xa9, 0x29, 0x25, 0x3a, 0x35, 0xc6, 0x75, 0x00, 0xdb, 0xa2, 0x76, 0x5f, - 0xd5, 0xa9, 0x66, 0x4a, 0xb9, 0x25, 0x51, 0x6a, 0x33, 0xca, 0x5c, 0x94, 0x6c, 0x81, 0x6a, 0x26, - 0xfe, 0x74, 0x92, 0x6a, 0x2b, 0x4b, 0x32, 0xe5, 0x48, 0x6c, 0xb2, 0xb9, 0x6c, 0x3b, 0x86, 0x92, - 0x4b, 0x59, 0xde, 0x53, 0x3d, 0x98, 0x59, 0x9e, 0x3b, 0x51, 0x79, 0xe5, 0xcc, 0x94, 0x40, 0x4d, - 0x4c, 0x6c, 0xd5, 0x8d, 0x0f, 0xf1, 0x07, 0x10, 0x01, 0x2a, 0x4f, 0x2b, 0xe0, 0x55, 0xa8, 0x18, - 0x82, 0x2d, 0x32, 0xa2, 0x5b, 0xcf, 0xa1, 0x34, 0x1d, 0x1e, 0xbc, 0x09, 0x19, 0xcf, 0x27, 0xae, - 0xcf, 0xb3, 0x30, 0xa3, 0x88, 0x01, 0x46, 0x90, 0xa2, 0x96, 0xce, 0xab, 0x5c, 0x46, 0x61, 0xff, - 0xe2, 0x1f, 0x4d, 0x26, 0x9c, 0xe2, 0x13, 0xfe, 0x78, 0x7e, 0x45, 0xa7, 0x2c, 0xcf, 0xce, 0x7b, - 0xeb, 0x36, 0xac, 0x4e, 0x4d, 0xe0, 0xac, 0x9f, 0x2e, 0xff, 0x02, 0xde, 0x5e, 0x68, 0x1a, 0x3f, - 0x80, 0xcd, 0xb1, 0x65, 0x58, 0x3e, 0x75, 0x1d, 0x97, 0xb2, 0x8c, 0x15, 0x9f, 0x92, 0xfe, 0xb3, - 0xb2, 0x24, 0xe7, 0x8e, 0xe3, 0x6c, 0x61, 0x45, 0xd9, 0x18, 0xcf, 0x83, 0x57, 0xf3, 0xb9, 0xff, - 0xae, 0xa0, 0x17, 0x2f, 0x5e, 0xbc, 0x48, 0x96, 0x7f, 0x9d, 0x85, 0xcd, 0x45, 0x7b, 0x66, 0xe1, - 0xf6, 0x3d, 0x07, 0x59, 0x6b, 0x3c, 0x3a, 0xa1, 0x2e, 0x0f, 0x52, 0x46, 0x09, 0x46, 0xb8, 0x0a, - 0x19, 0x93, 0x9c, 0x50, 0x53, 0x4a, 0x6f, 0x27, 0x76, 0x4a, 0xbb, 0xd7, 0xce, 0xb4, 0x2b, 0x2b, - 0x4d, 0xa6, 0xa2, 0x08, 0x4d, 0xfc, 0x19, 0xa4, 0x83, 0x12, 0xcd, 0x2c, 0x5c, 0x3d, 0x9b, 0x05, - 0xb6, 0x97, 0x14, 0xae, 0x87, 0xdf, 0x81, 0x3c, 0xfb, 0x2b, 0x72, 0x23, 0xcb, 0x7d, 0xce, 0x31, - 0x80, 0xe5, 0x05, 0xde, 0x82, 0x1c, 0xdf, 0x26, 0x3a, 0x0d, 0x8f, 0xb6, 0x68, 0xcc, 0x12, 0x4b, - 0xa7, 0x7d, 0x32, 0x36, 0x7d, 0xf5, 0x09, 0x31, 0xc7, 0x94, 0x27, 0x7c, 0x5e, 0x29, 0x06, 0xe0, - 0x4f, 0x19, 0x86, 0x2f, 0x42, 0x41, 0xec, 0x2a, 0xc3, 0xd2, 0xe9, 0x33, 0x5e, 0x3d, 0x33, 0x8a, - 0xd8, 0x68, 0x0d, 0x86, 0xb0, 0xcf, 0x3f, 0xf2, 0x6c, 0x2b, 0x4c, 0x4d, 0xfe, 0x09, 0x06, 0xf0, - 0xcf, 0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x9e, 0xde, 0x6c, 0x4e, 0x95, 0xff, 0x94, 0x84, 0x34, - 0xaf, 0x17, 0x6b, 0x50, 0xe8, 0x3d, 0xec, 0xc8, 0x6a, 0xbd, 0x7d, 0x7c, 0xd0, 0x94, 0x51, 0x02, - 0x97, 0x00, 0x38, 0x70, 0xaf, 0xd9, 0xae, 0xf6, 0x50, 0x32, 0x1a, 0x37, 0x5a, 0xbd, 0xbd, 0x9b, - 0x28, 0x15, 0x29, 0x1c, 0x0b, 0x20, 0x1d, 0x27, 0xdc, 0xd8, 0x45, 0x19, 0x8c, 0xa0, 0x28, 0x0c, - 0x34, 0x1e, 0xc8, 0xf5, 0xbd, 0x9b, 0x28, 0x3b, 0x8d, 0xdc, 0xd8, 0x45, 0x2b, 0x78, 0x15, 0xf2, - 0x1c, 0x39, 0x68, 0xb7, 0x9b, 0x28, 0x17, 0xd9, 0xec, 0xf6, 0x94, 0x46, 0xeb, 0x10, 0xe5, 0x23, - 0x9b, 0x87, 0x4a, 0xfb, 0xb8, 0x83, 0x20, 0xb2, 0x70, 0x24, 0x77, 0xbb, 0xd5, 0x43, 0x19, 0x15, - 0x22, 0xc6, 0xc1, 0xc3, 0x9e, 0xdc, 0x45, 0xc5, 0x29, 0xb7, 0x6e, 0xec, 0xa2, 0xd5, 0xe8, 0x13, - 0x72, 0xeb, 0xf8, 0x08, 0x95, 0xf0, 0x3a, 0xac, 0x8a, 0x4f, 0x84, 0x4e, 0xac, 0xcd, 0x40, 0x7b, - 0x37, 0x11, 0x9a, 0x38, 0x22, 0xac, 0xac, 0x4f, 0x01, 0x7b, 0x37, 0x11, 0x2e, 0xd7, 0x20, 0xc3, - 0xb3, 0x0b, 0x63, 0x28, 0x35, 0xab, 0x07, 0x72, 0x53, 0x6d, 0x77, 0x7a, 0x8d, 0x76, 0xab, 0xda, - 0x44, 0x89, 0x09, 0xa6, 0xc8, 0x3f, 0x39, 0x6e, 0x28, 0x72, 0x1d, 0x25, 0xe3, 0x58, 0x47, 0xae, - 0xf6, 0xe4, 0x3a, 0x4a, 0x95, 0x35, 0xd8, 0x5c, 0x54, 0x27, 0x17, 0xee, 0x8c, 0xd8, 0x12, 0x27, - 0x97, 0x2c, 0x31, 0xb7, 0x35, 0xb7, 0xc4, 0xff, 0x4a, 0xc2, 0xc6, 0x82, 0xb3, 0x62, 0xe1, 0x47, - 0x7e, 0x08, 0x19, 0x91, 0xa2, 0xe2, 0xf4, 0xbc, 0xb2, 0xf0, 0xd0, 0xe1, 0x09, 0x3b, 0x77, 0x82, - 0x72, 0xbd, 0x78, 0x07, 0x91, 0x5a, 0xd2, 0x41, 0x30, 0x13, 0x73, 0x35, 0xfd, 0xe7, 0x73, 0x35, - 0x5d, 0x1c, 0x7b, 0x7b, 0x67, 0x39, 0xf6, 0x38, 0xf6, 0xcd, 0x6a, 0x7b, 0x66, 0x41, 0x6d, 0xbf, - 0x0b, 0xeb, 0x73, 0x86, 0xce, 0x5c, 0x63, 0x7f, 0x99, 0x00, 0x69, 0x59, 0x70, 0x5e, 0x51, 0xe9, - 0x92, 0x53, 0x95, 0xee, 0xee, 0x6c, 0x04, 0x2f, 0x2d, 0x5f, 0x84, 0xb9, 0xb5, 0xfe, 0x3a, 0x01, - 0xe7, 0x16, 0x77, 0x8a, 0x0b, 0x7d, 0xf8, 0x0c, 0xb2, 0x23, 0xea, 0x0f, 0xed, 0xb0, 0x5b, 0xfa, - 0x78, 0xc1, 0x19, 0xcc, 0xc4, 0xb3, 0x8b, 0x1d, 0x68, 0xc5, 0x0f, 0xf1, 0xd4, 0xb2, 0x76, 0x4f, - 0x78, 0x33, 0xe7, 0xe9, 0xaf, 0x92, 0xf0, 0xf6, 0x42, 0xe3, 0x0b, 0x1d, 0x7d, 0x0f, 0xc0, 0xb0, - 0x9c, 0xb1, 0x2f, 0x3a, 0x22, 0x51, 0x60, 0xf3, 0x1c, 0xe1, 0xc5, 0x8b, 0x15, 0xcf, 0xb1, 0x1f, - 0xc9, 0x53, 0x5c, 0x0e, 0x02, 0xe2, 0x84, 0x3b, 0x13, 0x47, 0xd3, 0xdc, 0xd1, 0xf7, 0x97, 0xcc, - 0x74, 0x2e, 0x31, 0x3f, 0x01, 0xa4, 0x99, 0x06, 0xb5, 0x7c, 0xd5, 0xf3, 0x5d, 0x4a, 0x46, 0x86, - 0x35, 0xe0, 0x27, 0x48, 0x6e, 0x3f, 0xd3, 0x27, 0xa6, 0x47, 0x95, 0x35, 0x21, 0xee, 0x86, 0x52, - 0xa6, 0xc1, 0x13, 0xc8, 0x8d, 0x69, 0x64, 0xa7, 0x34, 0x84, 0x38, 0xd2, 0x28, 0xff, 0x31, 0x07, - 0x85, 0x58, 0x5f, 0x8d, 0x2f, 0x41, 0xf1, 0x11, 0x79, 0x42, 0xd4, 0xf0, 0xae, 0x24, 0x22, 0x51, - 0x60, 0x58, 0x27, 0xb8, 0x2f, 0x7d, 0x02, 0x9b, 0x9c, 0x62, 0x8f, 0x7d, 0xea, 0xaa, 0x9a, 0x49, - 0x3c, 0x8f, 0x07, 0x2d, 0xc7, 0xa9, 0x98, 0xc9, 0xda, 0x4c, 0x54, 0x0b, 0x25, 0xf8, 0x16, 0x6c, - 0x70, 0x8d, 0xd1, 0xd8, 0xf4, 0x0d, 0xc7, 0xa4, 0x2a, 0xbb, 0xbd, 0x79, 0xfc, 0x24, 0x89, 0x3c, - 0x5b, 0x67, 0x8c, 0xa3, 0x80, 0xc0, 0x3c, 0xf2, 0x70, 0x1d, 0xde, 0xe3, 0x6a, 0x03, 0x6a, 0x51, - 0x97, 0xf8, 0x54, 0xa5, 0x5f, 0x8d, 0x89, 0xe9, 0xa9, 0xc4, 0xd2, 0xd5, 0x21, 0xf1, 0x86, 0xd2, - 0x26, 0x33, 0x70, 0x90, 0x94, 0x12, 0xca, 0x05, 0x46, 0x3c, 0x0c, 0x78, 0x32, 0xa7, 0x55, 0x2d, - 0xfd, 0x73, 0xe2, 0x0d, 0xf1, 0x3e, 0x9c, 0xe3, 0x56, 0x3c, 0xdf, 0x35, 0xac, 0x81, 0xaa, 0x0d, - 0xa9, 0xf6, 0x58, 0x1d, 0xfb, 0xfd, 0x3b, 0xd2, 0x3b, 0xf1, 0xef, 0x73, 0x0f, 0xbb, 0x9c, 0x53, - 0x63, 0x94, 0x63, 0xbf, 0x7f, 0x07, 0x77, 0xa1, 0xc8, 0x16, 0x63, 0x64, 0x3c, 0xa7, 0x6a, 0xdf, - 0x76, 0xf9, 0xd1, 0x58, 0x5a, 0x50, 0x9a, 0x62, 0x11, 0xac, 0xb4, 0x03, 0x85, 0x23, 0x5b, 0xa7, - 0xfb, 0x99, 0x6e, 0x47, 0x96, 0xeb, 0x4a, 0x21, 0xb4, 0x72, 0xcf, 0x76, 0x59, 0x42, 0x0d, 0xec, - 0x28, 0xc0, 0x05, 0x91, 0x50, 0x03, 0x3b, 0x0c, 0xef, 0x2d, 0xd8, 0xd0, 0x34, 0x31, 0x67, 0x43, - 0x53, 0x83, 0x3b, 0x96, 0x27, 0xa1, 0xa9, 0x60, 0x69, 0xda, 0xa1, 0x20, 0x04, 0x39, 0xee, 0xe1, - 0x4f, 0xe1, 0xed, 0x49, 0xb0, 0xe2, 0x8a, 0xeb, 0x73, 0xb3, 0x9c, 0x55, 0xbd, 0x05, 0x1b, 0xce, - 0xe9, 0xbc, 0x22, 0x9e, 0xfa, 0xa2, 0x73, 0x3a, 0xab, 0x76, 0x1b, 0x36, 0x9d, 0xa1, 0x33, 0xaf, - 0x77, 0x35, 0xae, 0x87, 0x9d, 0xa1, 0x33, 0xab, 0xf8, 0x11, 0xbf, 0x70, 0xbb, 0x54, 0x23, 0x3e, - 0xd5, 0xa5, 0xf3, 0x71, 0x7a, 0x4c, 0x80, 0xaf, 0x03, 0xd2, 0x34, 0x95, 0x5a, 0xe4, 0xc4, 0xa4, - 0x2a, 0x71, 0xa9, 0x45, 0x3c, 0xe9, 0x62, 0x9c, 0x5c, 0xd2, 0x34, 0x99, 0x4b, 0xab, 0x5c, 0x88, - 0xaf, 0xc2, 0xba, 0x7d, 0xf2, 0x48, 0x13, 0x29, 0xa9, 0x3a, 0x2e, 0xed, 0x1b, 0xcf, 0xa4, 0x0f, - 0x79, 0x7c, 0xd7, 0x98, 0x80, 0x27, 0x64, 0x87, 0xc3, 0xf8, 0x0a, 0x20, 0xcd, 0x1b, 0x12, 0xd7, - 0xe1, 0x35, 0xd9, 0x73, 0x88, 0x46, 0xa5, 0x8f, 0x04, 0x55, 0xe0, 0xad, 0x10, 0x66, 0x5b, 0xc2, - 0x7b, 0x6a, 0xf4, 0xfd, 0xd0, 0xe2, 0x65, 0xb1, 0x25, 0x38, 0x16, 0x58, 0xdb, 0x01, 0xc4, 0x42, - 0x31, 0xf5, 0xe1, 0x1d, 0x4e, 0x2b, 0x39, 0x43, 0x27, 0xfe, 0xdd, 0x0f, 0x60, 0x95, 0x31, 0x27, - 0x1f, 0xbd, 0x22, 0x1a, 0x32, 0x67, 0x18, 0xfb, 0xe2, 0x6b, 0xeb, 0x8d, 0xcb, 0xfb, 0x50, 0x8c, - 0xe7, 0x27, 0xce, 0x83, 0xc8, 0x50, 0x94, 0x60, 0xcd, 0x4a, 0xad, 0x5d, 0x67, 0x6d, 0xc6, 0x97, - 0x32, 0x4a, 0xb2, 0x76, 0xa7, 0xd9, 0xe8, 0xc9, 0xaa, 0x72, 0xdc, 0xea, 0x35, 0x8e, 0x64, 0x94, - 0x8a, 0xf7, 0xd5, 0x7f, 0x4d, 0x42, 0x69, 0xfa, 0x8a, 0x84, 0x7f, 0x00, 0xe7, 0xc3, 0xf7, 0x0c, - 0x8f, 0xfa, 0xea, 0x53, 0xc3, 0xe5, 0x5b, 0x66, 0x44, 0xc4, 0xf1, 0x15, 0x2d, 0xda, 0x66, 0xc0, - 0xea, 0x52, 0xff, 0x0b, 0xc3, 0x65, 0x1b, 0x62, 0x44, 0x7c, 0xdc, 0x84, 0x8b, 0x96, 0xad, 0x7a, - 0x3e, 0xb1, 0x74, 0xe2, 0xea, 0xea, 0xe4, 0x25, 0x49, 0x25, 0x9a, 0x46, 0x3d, 0xcf, 0x16, 0x47, - 0x55, 0x64, 0xe5, 0x5d, 0xcb, 0xee, 0x06, 0xe4, 0x49, 0x0d, 0xaf, 0x06, 0xd4, 0x99, 0x04, 0x4b, - 0x2d, 0x4b, 0xb0, 0x77, 0x20, 0x3f, 0x22, 0x8e, 0x4a, 0x2d, 0xdf, 0x3d, 0xe5, 0x8d, 0x71, 0x4e, - 0xc9, 0x8d, 0x88, 0x23, 0xb3, 0xf1, 0x9b, 0xb9, 0x9f, 0xfc, 0x23, 0x05, 0xc5, 0x78, 0x73, 0xcc, - 0xee, 0x1a, 0x1a, 0x3f, 0x47, 0x12, 0xbc, 0xd2, 0x7c, 0xf0, 0xd2, 0x56, 0xba, 0x52, 0x63, 0x07, - 0xcc, 0x7e, 0x56, 0xb4, 0xac, 0x8a, 0xd0, 0x64, 0x87, 0x3b, 0xab, 0x2d, 0x54, 0xb4, 0x08, 0x39, - 0x25, 0x18, 0xe1, 0x43, 0xc8, 0x3e, 0xf2, 0xb8, 0xed, 0x2c, 0xb7, 0xfd, 0xe1, 0xcb, 0x6d, 0xdf, - 0xef, 0x72, 0xe3, 0xf9, 0xfb, 0x5d, 0xb5, 0xd5, 0x56, 0x8e, 0xaa, 0x4d, 0x25, 0x50, 0xc7, 0x17, - 0x20, 0x6d, 0x92, 0xe7, 0xa7, 0xd3, 0x47, 0x11, 0x87, 0xce, 0x1a, 0xf8, 0x0b, 0x90, 0x7e, 0x4a, - 0xc9, 0xe3, 0xe9, 0x03, 0x80, 0x43, 0xaf, 0x31, 0xf5, 0xaf, 0x43, 0x86, 0xc7, 0x0b, 0x03, 0x04, - 0x11, 0x43, 0x6f, 0xe1, 0x1c, 0xa4, 0x6b, 0x6d, 0x85, 0xa5, 0x3f, 0x82, 0xa2, 0x40, 0xd5, 0x4e, - 0x43, 0xae, 0xc9, 0x28, 0x59, 0xbe, 0x05, 0x59, 0x11, 0x04, 0xb6, 0x35, 0xa2, 0x30, 0xa0, 0xb7, - 0x82, 0x61, 0x60, 0x23, 0x11, 0x4a, 0x8f, 0x8f, 0x0e, 0x64, 0x05, 0x25, 0xe3, 0xcb, 0xeb, 0x41, - 0x31, 0xde, 0x17, 0xbf, 0x99, 0x9c, 0xfa, 0x4b, 0x02, 0x0a, 0xb1, 0x3e, 0x97, 0x35, 0x28, 0xc4, - 0x34, 0xed, 0xa7, 0x2a, 0x31, 0x0d, 0xe2, 0x05, 0x49, 0x01, 0x1c, 0xaa, 0x32, 0xe4, 0xac, 0x8b, - 0xf6, 0x46, 0x9c, 0xff, 0x5d, 0x02, 0xd0, 0x6c, 0x8b, 0x39, 0xe3, 0x60, 0xe2, 0x3b, 0x75, 0xf0, - 0xb7, 0x09, 0x28, 0x4d, 0xf7, 0x95, 0x33, 0xee, 0x5d, 0xfa, 0x4e, 0xdd, 0xfb, 0x67, 0x12, 0x56, - 0xa7, 0xba, 0xc9, 0xb3, 0x7a, 0xf7, 0x15, 0xac, 0x1b, 0x3a, 0x1d, 0x39, 0xb6, 0x4f, 0x2d, 0xed, - 0x54, 0x35, 0xe9, 0x13, 0x6a, 0x4a, 0x65, 0x5e, 0x28, 0xae, 0xbf, 0xbc, 0x5f, 0xad, 0x34, 0x26, - 0x7a, 0x4d, 0xa6, 0xb6, 0xbf, 0xd1, 0xa8, 0xcb, 0x47, 0x9d, 0x76, 0x4f, 0x6e, 0xd5, 0x1e, 0xaa, - 0xc7, 0xad, 0x1f, 0xb7, 0xda, 0x5f, 0xb4, 0x14, 0x64, 0xcc, 0xd0, 0x5e, 0xe3, 0x56, 0xef, 0x00, - 0x9a, 0x75, 0x0a, 0x9f, 0x87, 0x45, 0x6e, 0xa1, 0xb7, 0xf0, 0x06, 0xac, 0xb5, 0xda, 0x6a, 0xb7, - 0x51, 0x97, 0x55, 0xf9, 0xde, 0x3d, 0xb9, 0xd6, 0xeb, 0x8a, 0x17, 0x88, 0x88, 0xdd, 0x9b, 0xde, - 0xd4, 0xbf, 0x49, 0xc1, 0xc6, 0x02, 0x4f, 0x70, 0x35, 0xb8, 0x3b, 0x88, 0xeb, 0xcc, 0xf7, 0xcf, - 0xe2, 0x7d, 0x85, 0x1d, 0xf9, 0x1d, 0xe2, 0xfa, 0xc1, 0x55, 0xe3, 0x0a, 0xb0, 0x28, 0x59, 0xbe, - 0xd1, 0x37, 0xa8, 0x1b, 0x3c, 0xd8, 0x88, 0x0b, 0xc5, 0xda, 0x04, 0x17, 0x6f, 0x36, 0xdf, 0x03, - 0xec, 0xd8, 0x9e, 0xe1, 0x1b, 0x4f, 0xa8, 0x6a, 0x58, 0xe1, 0xeb, 0x0e, 0xbb, 0x60, 0xa4, 0x15, - 0x14, 0x4a, 0x1a, 0x96, 0x1f, 0xb1, 0x2d, 0x3a, 0x20, 0x33, 0x6c, 0x56, 0xc0, 0x53, 0x0a, 0x0a, - 0x25, 0x11, 0xfb, 0x12, 0x14, 0x75, 0x7b, 0xcc, 0xba, 0x2e, 0xc1, 0x63, 0xe7, 0x45, 0x42, 0x29, - 0x08, 0x2c, 0xa2, 0x04, 0xfd, 0xf4, 0xe4, 0x59, 0xa9, 0xa8, 0x14, 0x04, 0x26, 0x28, 0x97, 0x61, - 0x8d, 0x0c, 0x06, 0x2e, 0x33, 0x1e, 0x1a, 0x12, 0x37, 0x84, 0x52, 0x04, 0x73, 0xe2, 0xd6, 0x7d, - 0xc8, 0x85, 0x71, 0x60, 0x47, 0x32, 0x8b, 0x84, 0xea, 0x88, 0x6b, 0x6f, 0x72, 0x27, 0xaf, 0xe4, - 0xac, 0x50, 0x78, 0x09, 0x8a, 0x86, 0xa7, 0x4e, 0x5e, 0xc9, 0x93, 0xdb, 0xc9, 0x9d, 0x9c, 0x52, - 0x30, 0xbc, 0xe8, 0x85, 0xb1, 0xfc, 0x75, 0x12, 0x4a, 0xd3, 0xaf, 0xfc, 0xb8, 0x0e, 0x39, 0xd3, - 0xd6, 0x08, 0x4f, 0x2d, 0xf1, 0x13, 0xd3, 0xce, 0x2b, 0x7e, 0x18, 0xa8, 0x34, 0x03, 0xbe, 0x12, - 0x69, 0x6e, 0xfd, 0x2d, 0x01, 0xb9, 0x10, 0xc6, 0xe7, 0x20, 0xed, 0x10, 0x7f, 0xc8, 0xcd, 0x65, - 0x0e, 0x92, 0x28, 0xa1, 0xf0, 0x31, 0xc3, 0x3d, 0x87, 0x58, 0x3c, 0x05, 0x02, 0x9c, 0x8d, 0xd9, - 0xba, 0x9a, 0x94, 0xe8, 0xfc, 0xfa, 0x61, 0x8f, 0x46, 0xd4, 0xf2, 0xbd, 0x70, 0x5d, 0x03, 0xbc, - 0x16, 0xc0, 0xf8, 0x1a, 0xac, 0xfb, 0x2e, 0x31, 0xcc, 0x29, 0x6e, 0x9a, 0x73, 0x51, 0x28, 0x88, - 0xc8, 0xfb, 0x70, 0x21, 0xb4, 0xab, 0x53, 0x9f, 0x68, 0x43, 0xaa, 0x4f, 0x94, 0xb2, 0xfc, 0x99, - 0xe1, 0x7c, 0x40, 0xa8, 0x07, 0xf2, 0x50, 0xb7, 0xfc, 0xf7, 0x04, 0xac, 0x87, 0x17, 0x26, 0x3d, - 0x0a, 0xd6, 0x11, 0x00, 0xb1, 0x2c, 0xdb, 0x8f, 0x87, 0x6b, 0x3e, 0x95, 0xe7, 0xf4, 0x2a, 0xd5, - 0x48, 0x49, 0x89, 0x19, 0xd8, 0x1a, 0x01, 0x4c, 0x24, 0x4b, 0xc3, 0x76, 0x11, 0x0a, 0xc1, 0x4f, - 0x38, 0xfc, 0x77, 0x40, 0x71, 0xc5, 0x06, 0x01, 0xb1, 0x9b, 0x15, 0xde, 0x84, 0xcc, 0x09, 0x1d, - 0x18, 0x56, 0xf0, 0x30, 0x2b, 0x06, 0xe1, 0x43, 0x48, 0x3a, 0x7a, 0x08, 0x39, 0xf8, 0x19, 0x6c, - 0x68, 0xf6, 0x68, 0xd6, 0xdd, 0x03, 0x34, 0x73, 0xcd, 0xf7, 0x3e, 0x4f, 0x7c, 0x09, 0x93, 0x16, - 0xf3, 0x7f, 0x89, 0xc4, 0xef, 0x93, 0xa9, 0xc3, 0xce, 0xc1, 0x1f, 0x92, 0x5b, 0x87, 0x42, 0xb5, - 0x13, 0xce, 0x54, 0xa1, 0x7d, 0x93, 0x6a, 0xcc, 0xfb, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa3, - 0x58, 0x22, 0x30, 0xdf, 0x1c, 0x00, 0x00, + 0x83, 0x1e, 0x02, 0xf4, 0x54, 0xa0, 0x7f, 0x40, 0x51, 0x14, 0x3d, 0xf4, 0xb2, 0x40, 0xff, 0x80, + 0x02, 0xed, 0xbd, 0xd7, 0x02, 0xbd, 0xf7, 0x50, 0xa0, 0x05, 0xda, 0x3f, 0xa1, 0xc7, 0x62, 0x66, + 0x48, 0x8a, 0xd4, 0x47, 0xe2, 0x5d, 0x20, 0xd9, 0x93, 0x3d, 0xef, 0xfd, 0xde, 0x9b, 0x37, 0x8f, + 0xbf, 0x79, 0xf3, 0x66, 0x04, 0x82, 0x46, 0x5c, 0xd5, 0xd1, 0x6d, 0xcf, 0x72, 0x2a, 0xb6, 0x63, + 0x79, 0x16, 0x5a, 0x1b, 0x5a, 0xd6, 0xd0, 0x20, 0x7c, 0x74, 0x32, 0x19, 0x94, 0x5b, 0xb0, 0x7e, + 0x4f, 0x37, 0x48, 0x3d, 0x04, 0xf6, 0x88, 0x87, 0xee, 0x40, 0x7a, 0xa0, 0x1b, 0x44, 0x4c, 0xec, + 0xa4, 0x76, 0x0b, 0x7b, 0x1f, 0x56, 0x66, 0x8c, 0x2a, 0x71, 0x8b, 0x2e, 0x15, 0xcb, 0xcc, 0xa2, + 0xfc, 0xef, 0x34, 0x6c, 0x2c, 0xd0, 0x22, 0x04, 0x69, 0x13, 0x8f, 0xa9, 0xc7, 0xc4, 0x6e, 0x5e, + 0x66, 0xff, 0x23, 0x11, 0x56, 0x6c, 0xac, 0x3e, 0xc6, 0x43, 0x22, 0x26, 0x99, 0x38, 0x18, 0xa2, + 0xf7, 0x01, 0x34, 0x62, 0x13, 0x53, 0x23, 0xa6, 0x7a, 0x2a, 0xa6, 0x76, 0x52, 0xbb, 0x79, 0x39, + 0x22, 0x41, 0xd7, 0x60, 0xdd, 0x9e, 0x9c, 0x18, 0xba, 0xaa, 0x44, 0x60, 0xb0, 0x93, 0xda, 0xcd, + 0xc8, 0x02, 0x57, 0xd4, 0xa7, 0xe0, 0xcb, 0xb0, 0xf6, 0x94, 0xe0, 0xc7, 0x51, 0x68, 0x81, 0x41, + 0x4b, 0x54, 0x1c, 0x01, 0xd6, 0xa0, 0x38, 0x26, 0xae, 0x8b, 0x87, 0x44, 0xf1, 0x4e, 0x6d, 0x22, + 0xa6, 0xd9, 0xea, 0x77, 0xe6, 0x56, 0x3f, 0xbb, 0xf2, 0x82, 0x6f, 0xd5, 0x3f, 0xb5, 0x09, 0xaa, + 0x42, 0x9e, 0x98, 0x93, 0x31, 0xf7, 0x90, 0x59, 0x92, 0x3f, 0xc9, 0x9c, 0x8c, 0x67, 0xbd, 0xe4, + 0xa8, 0x99, 0xef, 0x62, 0xc5, 0x25, 0xce, 0x13, 0x5d, 0x25, 0x62, 0x96, 0x39, 0xb8, 0x3c, 0xe7, + 0xa0, 0xc7, 0xf5, 0xb3, 0x3e, 0x02, 0x3b, 0x54, 0x83, 0x3c, 0x79, 0xe6, 0x11, 0xd3, 0xd5, 0x2d, + 0x53, 0x5c, 0x61, 0x4e, 0x2e, 0x2d, 0xf8, 0x8a, 0xc4, 0xd0, 0x66, 0x5d, 0x4c, 0xed, 0xd0, 0x3e, + 0xac, 0x58, 0xb6, 0xa7, 0x5b, 0xa6, 0x2b, 0xe6, 0x76, 0x12, 0xbb, 0x85, 0xbd, 0x77, 0x17, 0x12, + 0xa1, 0xc3, 0x31, 0x72, 0x00, 0x46, 0x0d, 0x10, 0x5c, 0x6b, 0xe2, 0xa8, 0x44, 0x51, 0x2d, 0x8d, + 0x28, 0xba, 0x39, 0xb0, 0xc4, 0x3c, 0x73, 0x70, 0x61, 0x7e, 0x21, 0x0c, 0x58, 0xb3, 0x34, 0xd2, + 0x30, 0x07, 0x96, 0x5c, 0x72, 0x63, 0x63, 0xb4, 0x05, 0x59, 0xf7, 0xd4, 0xf4, 0xf0, 0x33, 0xb1, + 0xc8, 0x18, 0xe2, 0x8f, 0xca, 0x7f, 0xce, 0xc2, 0xda, 0x59, 0x28, 0x76, 0x17, 0x32, 0x03, 0xba, + 0x4a, 0x31, 0xf9, 0x6d, 0x72, 0xc0, 0x6d, 0xe2, 0x49, 0xcc, 0x7e, 0xc7, 0x24, 0x56, 0xa1, 0x60, + 0x12, 0xd7, 0x23, 0x1a, 0x67, 0x44, 0xea, 0x8c, 0x9c, 0x02, 0x6e, 0x34, 0x4f, 0xa9, 0xf4, 0x77, + 0xa2, 0xd4, 0x03, 0x58, 0x0b, 0x43, 0x52, 0x1c, 0x6c, 0x0e, 0x03, 0x6e, 0x5e, 0x7f, 0x55, 0x24, + 0x15, 0x29, 0xb0, 0x93, 0xa9, 0x99, 0x5c, 0x22, 0xb1, 0x31, 0xaa, 0x03, 0x58, 0x26, 0xb1, 0x06, + 0x8a, 0x46, 0x54, 0x43, 0xcc, 0x2d, 0xc9, 0x52, 0x87, 0x42, 0xe6, 0xb2, 0x64, 0x71, 0xa9, 0x6a, + 0xa0, 0xcf, 0xa6, 0x54, 0x5b, 0x59, 0xc2, 0x94, 0x16, 0xdf, 0x64, 0x73, 0x6c, 0x3b, 0x86, 0x92, + 0x43, 0x28, 0xef, 0x89, 0xe6, 0xaf, 0x2c, 0xcf, 0x82, 0xa8, 0xbc, 0x72, 0x65, 0xb2, 0x6f, 0xc6, + 0x17, 0xb6, 0xea, 0x44, 0x87, 0xe8, 0x03, 0x08, 0x05, 0x0a, 0xa3, 0x15, 0xb0, 0x2a, 0x54, 0x0c, + 0x84, 0x6d, 0x3c, 0x26, 0xdb, 0xcf, 0xa1, 0x14, 0x4f, 0x0f, 0xda, 0x84, 0x8c, 0xeb, 0x61, 0xc7, + 0x63, 0x2c, 0xcc, 0xc8, 0x7c, 0x80, 0x04, 0x48, 0x11, 0x53, 0x63, 0x55, 0x2e, 0x23, 0xd3, 0x7f, + 0xd1, 0x8f, 0xa6, 0x0b, 0x4e, 0xb1, 0x05, 0x7f, 0x34, 0xff, 0x45, 0x63, 0x9e, 0x67, 0xd7, 0xbd, + 0x7d, 0x1b, 0x56, 0x63, 0x0b, 0x38, 0xeb, 0xd4, 0xe5, 0x5f, 0xc0, 0xdb, 0x0b, 0x5d, 0xa3, 0x07, + 0xb0, 0x39, 0x31, 0x75, 0xd3, 0x23, 0x8e, 0xed, 0x10, 0xca, 0x58, 0x3e, 0x95, 0xf8, 0x9f, 0x95, + 0x25, 0x9c, 0x3b, 0x8e, 0xa2, 0xb9, 0x17, 0x79, 0x63, 0x32, 0x2f, 0xbc, 0x9a, 0xcf, 0xfd, 0x77, + 0x45, 0x78, 0xf1, 0xe2, 0xc5, 0x8b, 0x64, 0xf9, 0x37, 0x59, 0xd8, 0x5c, 0xb4, 0x67, 0x16, 0x6e, + 0xdf, 0x2d, 0xc8, 0x9a, 0x93, 0xf1, 0x09, 0x71, 0x58, 0x92, 0x32, 0xb2, 0x3f, 0x42, 0x55, 0xc8, + 0x18, 0xf8, 0x84, 0x18, 0x62, 0x7a, 0x27, 0xb1, 0x5b, 0xda, 0xbb, 0x76, 0xa6, 0x5d, 0x59, 0x69, + 0x52, 0x13, 0x99, 0x5b, 0xa2, 0xcf, 0x21, 0xed, 0x97, 0x68, 0xea, 0xe1, 0xea, 0xd9, 0x3c, 0xd0, + 0xbd, 0x24, 0x33, 0x3b, 0xf4, 0x0e, 0xe4, 0xe9, 0x5f, 0xce, 0x8d, 0x2c, 0x8b, 0x39, 0x47, 0x05, + 0x94, 0x17, 0x68, 0x1b, 0x72, 0x6c, 0x9b, 0x68, 0x24, 0x38, 0xda, 0xc2, 0x31, 0x25, 0x96, 0x46, + 0x06, 0x78, 0x62, 0x78, 0xca, 0x13, 0x6c, 0x4c, 0x08, 0x23, 0x7c, 0x5e, 0x2e, 0xfa, 0xc2, 0x9f, + 0x52, 0x19, 0xba, 0x00, 0x05, 0xbe, 0xab, 0x74, 0x53, 0x23, 0xcf, 0x58, 0xf5, 0xcc, 0xc8, 0x7c, + 0xa3, 0x35, 0xa8, 0x84, 0x4e, 0xff, 0xc8, 0xb5, 0xcc, 0x80, 0x9a, 0x6c, 0x0a, 0x2a, 0x60, 0xd3, + 0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x5e, 0xde, 0x2c, 0xa7, 0xca, 0x7f, 0x4a, 0x42, 0x9a, 0xd5, + 0x8b, 0x35, 0x28, 0xf4, 0x1f, 0x76, 0x25, 0xa5, 0xde, 0x39, 0x3e, 0x6c, 0x4a, 0x42, 0x02, 0x95, + 0x00, 0x98, 0xe0, 0x5e, 0xb3, 0x53, 0xed, 0x0b, 0xc9, 0x70, 0xdc, 0x68, 0xf7, 0xf7, 0x6f, 0x0a, + 0xa9, 0xd0, 0xe0, 0x98, 0x0b, 0xd2, 0x51, 0xc0, 0x8d, 0x3d, 0x21, 0x83, 0x04, 0x28, 0x72, 0x07, + 0x8d, 0x07, 0x52, 0x7d, 0xff, 0xa6, 0x90, 0x8d, 0x4b, 0x6e, 0xec, 0x09, 0x2b, 0x68, 0x15, 0xf2, + 0x4c, 0x72, 0xd8, 0xe9, 0x34, 0x85, 0x5c, 0xe8, 0xb3, 0xd7, 0x97, 0x1b, 0xed, 0x23, 0x21, 0x1f, + 0xfa, 0x3c, 0x92, 0x3b, 0xc7, 0x5d, 0x01, 0x42, 0x0f, 0x2d, 0xa9, 0xd7, 0xab, 0x1e, 0x49, 0x42, + 0x21, 0x44, 0x1c, 0x3e, 0xec, 0x4b, 0x3d, 0xa1, 0x18, 0x0b, 0xeb, 0xc6, 0x9e, 0xb0, 0x1a, 0x4e, + 0x21, 0xb5, 0x8f, 0x5b, 0x42, 0x09, 0xad, 0xc3, 0x2a, 0x9f, 0x22, 0x08, 0x62, 0x6d, 0x46, 0xb4, + 0x7f, 0x53, 0x10, 0xa6, 0x81, 0x70, 0x2f, 0xeb, 0x31, 0xc1, 0xfe, 0x4d, 0x01, 0x95, 0x6b, 0x90, + 0x61, 0xec, 0x42, 0x08, 0x4a, 0xcd, 0xea, 0xa1, 0xd4, 0x54, 0x3a, 0xdd, 0x7e, 0xa3, 0xd3, 0xae, + 0x36, 0x85, 0xc4, 0x54, 0x26, 0x4b, 0x3f, 0x39, 0x6e, 0xc8, 0x52, 0x5d, 0x48, 0x46, 0x65, 0x5d, + 0xa9, 0xda, 0x97, 0xea, 0x42, 0xaa, 0xac, 0xc2, 0xe6, 0xa2, 0x3a, 0xb9, 0x70, 0x67, 0x44, 0x3e, + 0x71, 0x72, 0xc9, 0x27, 0x66, 0xbe, 0xe6, 0x3e, 0xf1, 0xbf, 0x92, 0xb0, 0xb1, 0xe0, 0xac, 0x58, + 0x38, 0xc9, 0x0f, 0x21, 0xc3, 0x29, 0xca, 0x4f, 0xcf, 0x2b, 0x0b, 0x0f, 0x1d, 0x46, 0xd8, 0xb9, + 0x13, 0x94, 0xd9, 0x45, 0x3b, 0x88, 0xd4, 0x92, 0x0e, 0x82, 0xba, 0x98, 0xab, 0xe9, 0x3f, 0x9f, + 0xab, 0xe9, 0xfc, 0xd8, 0xdb, 0x3f, 0xcb, 0xb1, 0xc7, 0x64, 0xdf, 0xae, 0xb6, 0x67, 0x16, 0xd4, + 0xf6, 0xbb, 0xb0, 0x3e, 0xe7, 0xe8, 0xcc, 0x35, 0xf6, 0x97, 0x09, 0x10, 0x97, 0x25, 0xe7, 0x15, + 0x95, 0x2e, 0x19, 0xab, 0x74, 0x77, 0x67, 0x33, 0x78, 0x71, 0xf9, 0x47, 0x98, 0xfb, 0xd6, 0xdf, + 0x24, 0x60, 0x6b, 0x71, 0xa7, 0xb8, 0x30, 0x86, 0xcf, 0x21, 0x3b, 0x26, 0xde, 0xc8, 0x0a, 0xba, + 0xa5, 0x8f, 0x16, 0x9c, 0xc1, 0x54, 0x3d, 0xfb, 0xb1, 0x7d, 0xab, 0xe8, 0x21, 0x9e, 0x5a, 0xd6, + 0xee, 0xf1, 0x68, 0xe6, 0x22, 0xfd, 0x55, 0x12, 0xde, 0x5e, 0xe8, 0x7c, 0x61, 0xa0, 0xef, 0x01, + 0xe8, 0xa6, 0x3d, 0xf1, 0x78, 0x47, 0xc4, 0x0b, 0x6c, 0x9e, 0x49, 0x58, 0xf1, 0xa2, 0xc5, 0x73, + 0xe2, 0x85, 0xfa, 0x14, 0xd3, 0x03, 0x17, 0x31, 0xc0, 0x9d, 0x69, 0xa0, 0x69, 0x16, 0xe8, 0xfb, + 0x4b, 0x56, 0x3a, 0x47, 0xcc, 0x4f, 0x41, 0x50, 0x0d, 0x9d, 0x98, 0x9e, 0xe2, 0x7a, 0x0e, 0xc1, + 0x63, 0xdd, 0x1c, 0xb2, 0x13, 0x24, 0x77, 0x90, 0x19, 0x60, 0xc3, 0x25, 0xf2, 0x1a, 0x57, 0xf7, + 0x02, 0x2d, 0xb5, 0x60, 0x04, 0x72, 0x22, 0x16, 0xd9, 0x98, 0x05, 0x57, 0x87, 0x16, 0xe5, 0x5f, + 0xe7, 0xa1, 0x10, 0xe9, 0xab, 0xd1, 0x45, 0x28, 0x3e, 0xc2, 0x4f, 0xb0, 0x12, 0xdc, 0x95, 0x78, + 0x26, 0x0a, 0x54, 0xd6, 0xf5, 0xef, 0x4b, 0x9f, 0xc2, 0x26, 0x83, 0x58, 0x13, 0x8f, 0x38, 0x8a, + 0x6a, 0x60, 0xd7, 0x65, 0x49, 0xcb, 0x31, 0x28, 0xa2, 0xba, 0x0e, 0x55, 0xd5, 0x02, 0x0d, 0xba, + 0x05, 0x1b, 0xcc, 0x62, 0x3c, 0x31, 0x3c, 0xdd, 0x36, 0x88, 0x42, 0x6f, 0x6f, 0x2e, 0x3b, 0x49, + 0xc2, 0xc8, 0xd6, 0x29, 0xa2, 0xe5, 0x03, 0x68, 0x44, 0x2e, 0xaa, 0xc3, 0x7b, 0xcc, 0x6c, 0x48, + 0x4c, 0xe2, 0x60, 0x8f, 0x28, 0xe4, 0xeb, 0x09, 0x36, 0x5c, 0x05, 0x9b, 0x9a, 0x32, 0xc2, 0xee, + 0x48, 0xdc, 0xa4, 0x0e, 0x0e, 0x93, 0x62, 0x42, 0x3e, 0x4f, 0x81, 0x47, 0x3e, 0x4e, 0x62, 0xb0, + 0xaa, 0xa9, 0x7d, 0x81, 0xdd, 0x11, 0x3a, 0x80, 0x2d, 0xe6, 0xc5, 0xf5, 0x1c, 0xdd, 0x1c, 0x2a, + 0xea, 0x88, 0xa8, 0x8f, 0x95, 0x89, 0x37, 0xb8, 0x23, 0xbe, 0x13, 0x9d, 0x9f, 0x45, 0xd8, 0x63, + 0x98, 0x1a, 0x85, 0x1c, 0x7b, 0x83, 0x3b, 0xa8, 0x07, 0x45, 0xfa, 0x31, 0xc6, 0xfa, 0x73, 0xa2, + 0x0c, 0x2c, 0x87, 0x1d, 0x8d, 0xa5, 0x05, 0xa5, 0x29, 0x92, 0xc1, 0x4a, 0xc7, 0x37, 0x68, 0x59, + 0x1a, 0x39, 0xc8, 0xf4, 0xba, 0x92, 0x54, 0x97, 0x0b, 0x81, 0x97, 0x7b, 0x96, 0x43, 0x09, 0x35, + 0xb4, 0xc2, 0x04, 0x17, 0x38, 0xa1, 0x86, 0x56, 0x90, 0xde, 0x5b, 0xb0, 0xa1, 0xaa, 0x7c, 0xcd, + 0xba, 0xaa, 0xf8, 0x77, 0x2c, 0x57, 0x14, 0x62, 0xc9, 0x52, 0xd5, 0x23, 0x0e, 0xf0, 0x39, 0xee, + 0xa2, 0xcf, 0xe0, 0xed, 0x69, 0xb2, 0xa2, 0x86, 0xeb, 0x73, 0xab, 0x9c, 0x35, 0xbd, 0x05, 0x1b, + 0xf6, 0xe9, 0xbc, 0x21, 0x8a, 0xcd, 0x68, 0x9f, 0xce, 0x9a, 0xdd, 0x86, 0x4d, 0x7b, 0x64, 0xcf, + 0xdb, 0x5d, 0x8d, 0xda, 0x21, 0x7b, 0x64, 0xcf, 0x1a, 0x5e, 0x62, 0x17, 0x6e, 0x87, 0xa8, 0xd8, + 0x23, 0x9a, 0x78, 0x2e, 0x0a, 0x8f, 0x28, 0xd0, 0x75, 0x10, 0x54, 0x55, 0x21, 0x26, 0x3e, 0x31, + 0x88, 0x82, 0x1d, 0x62, 0x62, 0x57, 0xbc, 0x10, 0x05, 0x97, 0x54, 0x55, 0x62, 0xda, 0x2a, 0x53, + 0xa2, 0xab, 0xb0, 0x6e, 0x9d, 0x3c, 0x52, 0x39, 0x25, 0x15, 0xdb, 0x21, 0x03, 0xfd, 0x99, 0xf8, + 0x21, 0xcb, 0xef, 0x1a, 0x55, 0x30, 0x42, 0x76, 0x99, 0x18, 0x5d, 0x01, 0x41, 0x75, 0x47, 0xd8, + 0xb1, 0x59, 0x4d, 0x76, 0x6d, 0xac, 0x12, 0xf1, 0x12, 0x87, 0x72, 0x79, 0x3b, 0x10, 0xd3, 0x2d, + 0xe1, 0x3e, 0xd5, 0x07, 0x5e, 0xe0, 0xf1, 0x32, 0xdf, 0x12, 0x4c, 0xe6, 0x7b, 0xdb, 0x05, 0x81, + 0xa6, 0x22, 0x36, 0xf1, 0x2e, 0x83, 0x95, 0xec, 0x91, 0x1d, 0x9d, 0xf7, 0x03, 0x58, 0xa5, 0xc8, + 0xe9, 0xa4, 0x57, 0x78, 0x43, 0x66, 0x8f, 0x22, 0x33, 0xde, 0x84, 0x2d, 0x0a, 0x1a, 0x13, 0x0f, + 0x6b, 0xd8, 0xc3, 0x11, 0xf4, 0xc7, 0x0c, 0x4d, 0xf3, 0xde, 0xf2, 0x95, 0xb1, 0x38, 0x9d, 0xc9, + 0xc9, 0x69, 0xc8, 0xac, 0x4f, 0x78, 0x9c, 0x54, 0x16, 0x70, 0xeb, 0xb5, 0x35, 0xdd, 0xe5, 0x03, + 0x28, 0x46, 0x89, 0x8f, 0xf2, 0xc0, 0xa9, 0x2f, 0x24, 0x68, 0x17, 0x54, 0xeb, 0xd4, 0x69, 0xff, + 0xf2, 0x95, 0x24, 0x24, 0x69, 0x1f, 0xd5, 0x6c, 0xf4, 0x25, 0x45, 0x3e, 0x6e, 0xf7, 0x1b, 0x2d, + 0x49, 0x48, 0x45, 0x1b, 0xf6, 0xbf, 0x26, 0xa1, 0x14, 0xbf, 0x7b, 0xa1, 0x1f, 0xc0, 0xb9, 0xe0, + 0xa1, 0xc4, 0x25, 0x9e, 0xf2, 0x54, 0x77, 0xd8, 0x5e, 0x1c, 0x63, 0x7e, 0x2e, 0x86, 0x6c, 0xd8, + 0xf4, 0x51, 0x3d, 0xe2, 0x7d, 0xa9, 0x3b, 0x74, 0xa7, 0x8d, 0xb1, 0x87, 0x9a, 0x70, 0xc1, 0xb4, + 0x14, 0xd7, 0xc3, 0xa6, 0x86, 0x1d, 0x4d, 0x99, 0x3e, 0x51, 0x29, 0x58, 0x55, 0x89, 0xeb, 0x5a, + 0xfc, 0x0c, 0x0c, 0xbd, 0xbc, 0x6b, 0x5a, 0x3d, 0x1f, 0x3c, 0x3d, 0x1c, 0xaa, 0x3e, 0x74, 0x86, + 0xb9, 0xa9, 0x65, 0xcc, 0x7d, 0x07, 0xf2, 0x63, 0x6c, 0x2b, 0xc4, 0xf4, 0x9c, 0x53, 0xd6, 0x71, + 0xe7, 0xe4, 0xdc, 0x18, 0xdb, 0x12, 0x1d, 0xbf, 0x99, 0x8b, 0xcf, 0x3f, 0x52, 0x50, 0x8c, 0x76, + 0xdd, 0xf4, 0x12, 0xa3, 0xb2, 0x03, 0x2a, 0xc1, 0x4a, 0xd8, 0x07, 0x2f, 0xed, 0xd1, 0x2b, 0x35, + 0x7a, 0x72, 0x1d, 0x64, 0x79, 0x2f, 0x2c, 0x73, 0x4b, 0xda, 0x35, 0x50, 0x6a, 0x11, 0xde, 0x7b, + 0xe4, 0x64, 0x7f, 0x84, 0x8e, 0x20, 0xfb, 0xc8, 0x65, 0xbe, 0xb3, 0xcc, 0xf7, 0x87, 0x2f, 0xf7, + 0x7d, 0xbf, 0xc7, 0x9c, 0xe7, 0xef, 0xf7, 0x94, 0x76, 0x47, 0x6e, 0x55, 0x9b, 0xb2, 0x6f, 0x8e, + 0xce, 0x43, 0xda, 0xc0, 0xcf, 0x4f, 0xe3, 0x67, 0x1c, 0x13, 0x9d, 0x35, 0xf1, 0xe7, 0x21, 0xfd, + 0x94, 0xe0, 0xc7, 0xf1, 0x93, 0x85, 0x89, 0x5e, 0x23, 0xf5, 0xaf, 0x43, 0x86, 0xe5, 0x0b, 0x01, + 0xf8, 0x19, 0x13, 0xde, 0x42, 0x39, 0x48, 0xd7, 0x3a, 0x32, 0xa5, 0xbf, 0x00, 0x45, 0x2e, 0x55, + 0xba, 0x0d, 0xa9, 0x26, 0x09, 0xc9, 0xf2, 0x2d, 0xc8, 0xf2, 0x24, 0xd0, 0xad, 0x11, 0xa6, 0x41, + 0x78, 0xcb, 0x1f, 0xfa, 0x3e, 0x12, 0x81, 0xf6, 0xb8, 0x75, 0x28, 0xc9, 0x42, 0x32, 0xfa, 0x79, + 0x5d, 0x28, 0x46, 0x1b, 0xee, 0x37, 0xc3, 0xa9, 0xbf, 0x24, 0xa0, 0x10, 0x69, 0xa0, 0x69, 0xe7, + 0x83, 0x0d, 0xc3, 0x7a, 0xaa, 0x60, 0x43, 0xc7, 0xae, 0x4f, 0x0a, 0x60, 0xa2, 0x2a, 0x95, 0x9c, + 0xf5, 0xa3, 0xbd, 0x91, 0xe0, 0x7f, 0x9f, 0x00, 0x61, 0xb6, 0x77, 0x9d, 0x09, 0x30, 0xf1, 0xbd, + 0x06, 0xf8, 0xbb, 0x04, 0x94, 0xe2, 0x0d, 0xeb, 0x4c, 0x78, 0x17, 0xbf, 0xd7, 0xf0, 0xfe, 0x99, + 0x84, 0xd5, 0x58, 0x9b, 0x7a, 0xd6, 0xe8, 0xbe, 0x86, 0x75, 0x5d, 0x23, 0x63, 0xdb, 0xf2, 0x88, + 0xa9, 0x9e, 0x2a, 0x06, 0x79, 0x42, 0x0c, 0xb1, 0xcc, 0x0a, 0xc5, 0xf5, 0x97, 0x37, 0xc2, 0x95, + 0xc6, 0xd4, 0xae, 0x49, 0xcd, 0x0e, 0x36, 0x1a, 0x75, 0xa9, 0xd5, 0xed, 0xf4, 0xa5, 0x76, 0xed, + 0xa1, 0x72, 0xdc, 0xfe, 0x71, 0xbb, 0xf3, 0x65, 0x5b, 0x16, 0xf4, 0x19, 0xd8, 0x6b, 0xdc, 0xea, + 0x5d, 0x10, 0x66, 0x83, 0x42, 0xe7, 0x60, 0x51, 0x58, 0xc2, 0x5b, 0x68, 0x03, 0xd6, 0xda, 0x1d, + 0xa5, 0xd7, 0xa8, 0x4b, 0x8a, 0x74, 0xef, 0x9e, 0x54, 0xeb, 0xf7, 0xf8, 0xd3, 0x46, 0x88, 0xee, + 0xc7, 0x37, 0xf5, 0x6f, 0x53, 0xb0, 0xb1, 0x20, 0x12, 0x54, 0xf5, 0x2f, 0x25, 0xfc, 0x9e, 0xf4, + 0xc9, 0x59, 0xa2, 0xaf, 0xd0, 0xae, 0xa0, 0x8b, 0x1d, 0xcf, 0xbf, 0xc3, 0x5c, 0x01, 0x9a, 0x25, + 0xd3, 0xd3, 0x07, 0x3a, 0x71, 0xfc, 0x97, 0x20, 0x7e, 0x53, 0x59, 0x9b, 0xca, 0xf9, 0x63, 0xd0, + 0xc7, 0x80, 0x6c, 0xcb, 0xd5, 0x3d, 0xfd, 0x09, 0x51, 0x74, 0x33, 0x78, 0x36, 0xa2, 0x37, 0x97, + 0xb4, 0x2c, 0x04, 0x9a, 0x86, 0xe9, 0x85, 0x68, 0x93, 0x0c, 0xf1, 0x0c, 0x9a, 0x16, 0xf0, 0x94, + 0x2c, 0x04, 0x9a, 0x10, 0x7d, 0x11, 0x8a, 0x9a, 0x35, 0xa1, 0xed, 0x1c, 0xc7, 0xd1, 0xf3, 0x22, + 0x21, 0x17, 0xb8, 0x2c, 0x84, 0xf8, 0x8d, 0xfa, 0xf4, 0xbd, 0xaa, 0x28, 0x17, 0xb8, 0x8c, 0x43, + 0x2e, 0xc3, 0x1a, 0x1e, 0x0e, 0x1d, 0xea, 0x3c, 0x70, 0xc4, 0xaf, 0x1e, 0xa5, 0x50, 0xcc, 0x80, + 0xdb, 0xf7, 0x21, 0x17, 0xe4, 0x81, 0x1e, 0xc9, 0x34, 0x13, 0x8a, 0xcd, 0xef, 0xd3, 0xc9, 0xdd, + 0xbc, 0x9c, 0x33, 0x03, 0xe5, 0x45, 0x28, 0xea, 0xae, 0x32, 0x7d, 0x7e, 0x4f, 0xee, 0x24, 0x77, + 0x73, 0x72, 0x41, 0x77, 0xc3, 0xa7, 0xcb, 0xf2, 0x37, 0x49, 0x28, 0xc5, 0x7f, 0x3e, 0x40, 0x75, + 0xc8, 0x19, 0x96, 0x8a, 0x19, 0xb5, 0xf8, 0x6f, 0x57, 0xbb, 0xaf, 0xf8, 0xc5, 0xa1, 0xd2, 0xf4, + 0xf1, 0x72, 0x68, 0xb9, 0xfd, 0xb7, 0x04, 0xe4, 0x02, 0x31, 0xda, 0x82, 0xb4, 0x8d, 0xbd, 0x11, + 0x73, 0x97, 0x39, 0x4c, 0x0a, 0x09, 0x99, 0x8d, 0xa9, 0xdc, 0xb5, 0xb1, 0xc9, 0x28, 0xe0, 0xcb, + 0xe9, 0x98, 0x7e, 0x57, 0x83, 0x60, 0x8d, 0xdd, 0x6b, 0xac, 0xf1, 0x98, 0x98, 0x9e, 0x1b, 0x7c, + 0x57, 0x5f, 0x5e, 0xf3, 0xc5, 0xe8, 0x1a, 0xac, 0x7b, 0x0e, 0xd6, 0x8d, 0x18, 0x36, 0xcd, 0xb0, + 0x42, 0xa0, 0x08, 0xc1, 0x07, 0x70, 0x3e, 0xf0, 0xab, 0x11, 0x0f, 0xab, 0x23, 0xa2, 0x4d, 0x8d, + 0xb2, 0xec, 0xfd, 0xe2, 0x9c, 0x0f, 0xa8, 0xfb, 0xfa, 0xc0, 0xb6, 0xfc, 0xf7, 0x04, 0xac, 0x07, + 0x37, 0x31, 0x2d, 0x4c, 0x56, 0x0b, 0x00, 0x9b, 0xa6, 0xe5, 0x45, 0xd3, 0x35, 0x4f, 0xe5, 0x39, + 0xbb, 0x4a, 0x35, 0x34, 0x92, 0x23, 0x0e, 0xb6, 0xc7, 0x00, 0x53, 0xcd, 0xd2, 0xb4, 0x5d, 0x80, + 0x82, 0xff, 0xdb, 0x10, 0xfb, 0x81, 0x91, 0xdf, 0xdd, 0x81, 0x8b, 0xe8, 0x95, 0x0d, 0x6d, 0x42, + 0xe6, 0x84, 0x0c, 0x75, 0xd3, 0x7f, 0xf1, 0xe5, 0x83, 0xe0, 0x85, 0x25, 0x1d, 0xbe, 0xb0, 0x1c, + 0xfe, 0x0c, 0x36, 0x54, 0x6b, 0x3c, 0x1b, 0xee, 0xa1, 0x30, 0xf3, 0x7e, 0xe0, 0x7e, 0x91, 0xf8, + 0x0a, 0xa6, 0x2d, 0xe6, 0xff, 0x12, 0x89, 0x3f, 0x24, 0x53, 0x47, 0xdd, 0xc3, 0x3f, 0x26, 0xb7, + 0x8f, 0xb8, 0x69, 0x37, 0x58, 0xa9, 0x4c, 0x06, 0x06, 0x51, 0x69, 0xf4, 0xff, 0x0f, 0x00, 0x00, + 0xff, 0xff, 0x88, 0x17, 0xc1, 0xbe, 0x38, 0x1d, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go index ec6eb168d..165b2110d 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go @@ -3,14 +3,16 @@ package descriptor -import fmt "fmt" -import strings "strings" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import sort "sort" -import strconv "strconv" -import reflect "reflect" -import proto "github.com/gogo/protobuf/proto" -import math "math" +import ( + fmt "fmt" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + math "math" + reflect "reflect" + sort "sort" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -358,7 +360,7 @@ func (this *FileOptions) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 23) + s := make([]string, 0, 25) s = append(s, "&descriptor.FileOptions{") if this.JavaPackage != nil { s = append(s, "JavaPackage: "+valueToGoStringDescriptor(this.JavaPackage, "string")+",\n") @@ -414,6 +416,12 @@ func (this *FileOptions) GoString() string { if this.PhpNamespace != nil { s = append(s, "PhpNamespace: "+valueToGoStringDescriptor(this.PhpNamespace, "string")+",\n") } + if this.PhpMetadataNamespace != nil { + s = append(s, "PhpMetadataNamespace: "+valueToGoStringDescriptor(this.PhpMetadataNamespace, "string")+",\n") + } + if this.RubyPackage != nil { + s = append(s, "RubyPackage: "+valueToGoStringDescriptor(this.RubyPackage, "string")+",\n") + } if this.UninterpretedOption != nil { s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go index 31ef6c5d1..d05574404 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/generator.go @@ -48,6 +48,7 @@ import ( "crypto/sha256" "encoding/hex" "fmt" + "go/ast" "go/build" "go/parser" "go/printer" @@ -306,7 +307,6 @@ type FileDescriptor struct { // This is used for supporting public imports. exported map[Object][]symbol - fingerprint string // Fingerprint of this file's contents. importPath GoImportPath // Import path of this file's package. packageName GoPackageName // Name of this file's Go package. @@ -317,8 +317,8 @@ type FileDescriptor struct { // to the compressed bytes of this descriptor. It is not exported, so // it is only valid inside the generated package. func (d *FileDescriptor) VarName() string { - name := strings.Map(badToUnderscore, baseName(d.GetName())) - return fmt.Sprintf("fileDescriptor_%s_%s", name, d.fingerprint) + h := sha256.Sum256([]byte(d.GetName())) + return fmt.Sprintf("fileDescriptor_%s", hex.EncodeToString(h[:8])) } // goPackageOption interprets the file's go_package option. @@ -375,7 +375,7 @@ func (d *FileDescriptor) addExport(obj Object, sym symbol) { type symbol interface { // GenerateAlias should generate an appropriate alias // for the symbol from the named package. - GenerateAlias(g *Generator, pkg GoPackageName) + GenerateAlias(g *Generator, filename string, pkg GoPackageName) } type messageSymbol struct { @@ -391,7 +391,8 @@ type getterSymbol struct { genType bool // whether typ contains a generated type (message/group/enum) } -func (ms *messageSymbol) GenerateAlias(g *Generator, pkg GoPackageName) { +func (ms *messageSymbol) GenerateAlias(g *Generator, filename string, pkg GoPackageName) { + g.P("// ", ms.sym, " from public import ", filename) g.P("type ", ms.sym, " = ", pkg, ".", ms.sym) for _, name := range ms.oneofTypes { g.P("type ", name, " = ", pkg, ".", name) @@ -403,8 +404,9 @@ type enumSymbol struct { proto3 bool // Whether this came from a proto3 file. } -func (es enumSymbol) GenerateAlias(g *Generator, pkg GoPackageName) { +func (es enumSymbol) GenerateAlias(g *Generator, filename string, pkg GoPackageName) { s := es.name + g.P("// ", s, " from public import ", filename) g.P("type ", s, " = ", pkg, ".", s) g.P("var ", s, "_name = ", pkg, ".", s, "_name") g.P("var ", s, "_value = ", pkg, ".", s, "_value") @@ -416,7 +418,7 @@ type constOrVarSymbol struct { cast string // if non-empty, a type cast is required (used for enums) } -func (cs constOrVarSymbol) GenerateAlias(g *Generator, pkg GoPackageName) { +func (cs constOrVarSymbol) GenerateAlias(g *Generator, filename string, pkg GoPackageName) { v := string(pkg) + "." + cs.sym if cs.cast != "" { v = cs.cast + "(" + v + ")" @@ -453,6 +455,7 @@ type Generator struct { packageNames map[GoImportPath]GoPackageName // Imported package names in the current file. usedPackages map[GoImportPath]bool // Packages used in current file. usedPackageNames map[GoPackageName]bool // Package names used in the current file. + addedImports map[GoImportPath]bool // Additional imports to emit.` typeNameToObject map[string]Object // Key is a fully-qualified name in input syntax. init []string // Lines to emit in the init function. indent string @@ -580,7 +583,7 @@ func (g *Generator) GoPackageName(importPath GoImportPath) GoPackageName { return name } name := cleanPackageName(baseName(string(importPath))) - for i, orig := 1, name; g.usedPackageNames[name]; i++ { + for i, orig := 1, name; g.usedPackageNames[name] || isGoPredeclaredIdentifier[string(name)]; i++ { name = orig + GoPackageName(strconv.Itoa(i)) } if g.packageNames == nil { @@ -594,6 +597,13 @@ func (g *Generator) GoPackageName(importPath GoImportPath) GoPackageName { return name } +// AddImport adds a package to the generated file's import section. +// It returns the name used for the package. +func (g *Generator) AddImport(importPath GoImportPath) GoPackageName { + g.addedImports[importPath] = true + return g.GoPackageName(importPath) +} + var globalPackageNames = map[GoPackageName]bool{ "fmt": true, "math": true, @@ -639,6 +649,48 @@ var isGoKeyword = map[string]bool{ "var": true, } +var isGoPredeclaredIdentifier = map[string]bool{ + "append": true, + "bool": true, + "byte": true, + "cap": true, + "close": true, + "complex": true, + "complex128": true, + "complex64": true, + "copy": true, + "delete": true, + "error": true, + "false": true, + "float32": true, + "float64": true, + "imag": true, + "int": true, + "int16": true, + "int32": true, + "int64": true, + "int8": true, + "iota": true, + "len": true, + "make": true, + "new": true, + "nil": true, + "panic": true, + "print": true, + "println": true, + "real": true, + "recover": true, + "rune": true, + "string": true, + "true": true, + "uint": true, + "uint16": true, + "uint32": true, + "uint64": true, + "uint8": true, + "uintptr": true, +} + func cleanPackageName(name string) GoPackageName { name = strings.Map(badToUnderscore, name) // Identifier must not be keyword: insert _. @@ -779,27 +831,10 @@ func (g *Generator) WrapTypes() { if fd == nil { g.Fail("could not find file named", fileName) } - fingerprint, err := fingerprintProto(fd.FileDescriptorProto) - if err != nil { - g.Error(err) - } - fd.fingerprint = fingerprint g.genFiles = append(g.genFiles, fd) } } -// fingerprintProto returns a fingerprint for a message. -// The fingerprint is intended to prevent conflicts between generated fileds, -// not to provide cryptographic security. -func fingerprintProto(m proto.Message) (string, error) { - b, err := proto.Marshal(m) - if err != nil { - return "", err - } - h := sha256.Sum256(b) - return hex.EncodeToString(h[:8]), nil -} - // Scan the descriptors in this file. For each one, build the slice of nested descriptors func (g *Generator) buildNestedDescriptors(descs []*Descriptor) { for _, desc := range descs { @@ -993,39 +1028,6 @@ func (g *Generator) ObjectNamed(typeName string) Object { if !ok { g.Fail("can't find object with type", typeName) } - - // If the file of this object isn't a direct dependency of the current file, - // or in the current file, then this object has been publicly imported into - // a dependency of the current file. - // We should return the ImportedDescriptor object for it instead. - direct := *o.File().Name == *g.file.Name - if !direct { - for _, dep := range g.file.Dependency { - if *g.fileByName(dep).Name == *o.File().Name { - direct = true - break - } - } - } - if !direct { - found := false - Loop: - for _, dep := range g.file.Dependency { - df := g.fileByName(*g.fileByName(dep).Name) - for _, td := range df.imp { - if td.o == o { - // Found it! - o = td - found = true - break Loop - } - } - } - if !found { - log.Printf("protoc-gen-gogo: WARNING: failed finding publicly imported dependency for %v, used in %v", typeName, *g.file.Name) - } - } - return o } @@ -1119,7 +1121,7 @@ func (g *Generator) addInitf(stmt string, a ...interface{}) { } func (g *Generator) PrintImport(alias GoPackageName, pkg GoImportPath) { - statement := "import " + string(alias) + " " + strconv.Quote(string(pkg)) + statement := string(alias) + " " + strconv.Quote(string(pkg)) if g.writtenImports[statement] { return } @@ -1189,6 +1191,7 @@ func (g *Generator) generate(file *FileDescriptor) { g.usedPackages = make(map[GoImportPath]bool) g.packageNames = make(map[GoImportPath]GoPackageName) g.usedPackageNames = make(map[GoPackageName]bool) + g.addedImports = make(map[GoImportPath]bool) for name := range globalPackageNames { g.usedPackageNames[name] = true } @@ -1222,12 +1225,11 @@ func (g *Generator) generate(file *FileDescriptor) { g.generateExtension(ext) } g.generateInitFunction() + g.generateFileDescriptor(file) // Run the plugins before the imports so we know which imports are necessary. g.runPlugins(file) - g.generateFileDescriptor(file) - // Generate header and imports last, though they appear first in the output. rem := g.Buffer remAnno := g.annotations @@ -1253,7 +1255,7 @@ func (g *Generator) generate(file *FileDescriptor) { // make a copy independent of g; we'll need it after Reset. original = append([]byte(nil), original...) } - ast, err := parser.ParseFile(fset, "", original, parser.ParseComments) + fileAST, err := parser.ParseFile(fset, "", original, parser.ParseComments) if err != nil { // Print out the bad code with line numbers. // This should never happen in practice, but it can while changing generated code, @@ -1269,8 +1271,9 @@ func (g *Generator) generate(file *FileDescriptor) { g.Fail("bad Go source code was generated:", err.Error(), "\n"+src.String()) } } + ast.SortImports(fset, fileAST) g.Reset() - err = (&printer.Config{Mode: printer.TabIndent | printer.UseSpaces, Tabwidth: 8}).Fprint(g, fset, ast) + err = (&printer.Config{Mode: printer.TabIndent | printer.UseSpaces, Tabwidth: 8}).Fprint(g, fset, fileAST) if err != nil { g.Fail("generated Go source code could not be reformatted:", err.Error()) } @@ -1299,28 +1302,10 @@ func (g *Generator) generateHeader() { g.P("// source: ", *g.file.Name) } g.P() - - importPath, _, _ := g.file.goPackageOption() - if importPath == "" { - g.P("package ", g.file.packageName) - } else { - g.P("package ", g.file.packageName, " // import ", GoImportPath(g.ImportPrefix)+importPath) - } + g.PrintComments(strconv.Itoa(packagePath)) + g.P() + g.P("package ", g.file.packageName) g.P() - - if loc, ok := g.file.comments[strconv.Itoa(packagePath)]; ok { - g.P("/*") - // not using g.PrintComments because this is a /* */ comment block. - text := strings.TrimSuffix(loc.GetLeadingComments(), "\n") - for _, line := range strings.Split(text, "\n") { - line = strings.TrimPrefix(line, " ") - // ensure we don't escape from the block comment - line = strings.Replace(line, "*/", "* /", -1) - g.P(line) - } - g.P("*/") - g.P() - } } // deprecationComment is the standard comment added to deprecated @@ -1351,7 +1336,7 @@ func (g *Generator) makeComments(path string) (string, bool) { w := new(bytes.Buffer) nl := "" for _, line := range strings.Split(strings.TrimSuffix(loc.GetLeadingComments(), "\n"), "\n") { - fmt.Fprintf(w, "%s// %s", nl, strings.TrimPrefix(line, " ")) + fmt.Fprintf(w, "%s//%s", nl, line) nl = "\n" } return w.String(), true @@ -1385,25 +1370,7 @@ func (g *Generator) weak(i int32) bool { // Generate the imports func (g *Generator) generateImports() { - // We almost always need a proto import. Rather than computing when we - // do, which is tricky when there's a plugin, just import it and - // reference it later. The same argument applies to the fmt and math packages. - if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) { - g.PrintImport(GoPackageName(g.Pkg["proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/gogo/protobuf/proto")) - if gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { - g.PrintImport(GoPackageName(g.Pkg["golang_proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/golang/protobuf/proto")) - } - } else { - g.PrintImport(GoPackageName(g.Pkg["proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/golang/protobuf/proto")) - } - g.PrintImport(GoPackageName(g.Pkg["fmt"]), "fmt") - g.PrintImport(GoPackageName(g.Pkg["math"]), "math") - - var ( - imports = make(map[GoImportPath]bool) - strongImports = make(map[GoImportPath]bool) - importPaths []string - ) + imports := make(map[GoImportPath]GoPackageName) for i, s := range g.file.Dependency { fd := g.fileByName(s) importPath := fd.importPath @@ -1411,44 +1378,56 @@ func (g *Generator) generateImports() { if importPath == g.file.importPath { continue } - if !imports[importPath] { - importPaths = append(importPaths, string(importPath)) - } - imports[importPath] = true - if !g.weak(int32(i)) { - strongImports[importPath] = true + // Do not import weak imports. + if g.weak(int32(i)) { + continue } - } - sort.Strings(importPaths) - for i := range importPaths { - importPath := GoImportPath(importPaths[i]) - packageName := g.GoPackageName(importPath) - fullPath := GoImportPath(g.ImportPrefix) + importPath - // Skip weak imports. - if !strongImports[importPath] { - g.P("// skipping weak import ", packageName, " ", fullPath) + // Do not import a package twice. + if _, ok := imports[importPath]; ok { continue } // We need to import all the dependencies, even if we don't reference them, // because other code and tools depend on having the full transitive closure // of protocol buffer types in the binary. - if _, ok := g.usedPackages[importPath]; ok { - g.PrintImport(packageName, fullPath) - } else { - g.P("import _ ", fullPath) + packageName := g.GoPackageName(importPath) + if _, ok := g.usedPackages[importPath]; !ok { + packageName = "_" } + imports[importPath] = packageName } - g.P() + for importPath := range g.addedImports { + imports[importPath] = g.GoPackageName(importPath) + } + // We almost always need a proto import. Rather than computing when we + // do, which is tricky when there's a plugin, just import it and + // reference it later. The same argument applies to the fmt and math packages. + g.P("import (") + g.PrintImport(GoPackageName(g.Pkg["fmt"]), "fmt") + g.PrintImport(GoPackageName(g.Pkg["math"]), "math") + if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) { + g.PrintImport(GoPackageName(g.Pkg["proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/gogo/protobuf/proto")) + if gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { + g.PrintImport(GoPackageName(g.Pkg["golang_proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/golang/protobuf/proto")) + } + } else { + g.PrintImport(GoPackageName(g.Pkg["proto"]), GoImportPath(g.ImportPrefix)+GoImportPath("github.com/golang/protobuf/proto")) + } + for importPath, packageName := range imports { + g.P(packageName, " ", GoImportPath(g.ImportPrefix)+importPath) + } + // Custom gogo imports for _, s := range g.customImports { s1 := strings.Map(badToUnderscore, s) g.PrintImport(GoPackageName(s1), GoImportPath(s)) } - g.P() - // TODO: may need to worry about uniqueness across plugins + // gogo plugin imports + // TODO: may need to worry about uniqueness across plugins and could change this + // to use the `addedImports` technique for _, p := range plugins { p.GenerateImports(g.file) - g.P() } + g.P(")") + g.P("// Reference imports to suppress errors if they are not otherwise used.") g.P("var _ = ", g.Pkg["proto"], ".Marshal") if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) && gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { @@ -1466,26 +1445,20 @@ func (g *Generator) generateImports() { } func (g *Generator) generateImported(id *ImportedDescriptor) { - tn := id.TypeName() - sn := tn[len(tn)-1] df := id.o.File() filename := *df.Name if df.importPath == g.file.importPath { // Don't generate type aliases for files in the same Go package as this one. - g.P("// Ignoring public import of ", sn, " from ", filename) - g.P() return } if !supportTypeAliases { g.Fail(fmt.Sprintf("%s: public imports require at least go1.9", filename)) } - g.P("// ", sn, " from public import ", filename) g.usedPackages[df.importPath] = true for _, sym := range df.exported[id.o] { - sym.GenerateAlias(g, g.GoPackageName(df.importPath)) + sym.GenerateAlias(g, filename, g.GoPackageName(df.importPath)) } - g.P() } @@ -1532,7 +1505,7 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { g.Out() g.P(")") } - + g.P() g.P("var ", ccTypeName, "_name = map[int32]string{") g.In() generated := make(map[int32]bool) // avoid duplicate values @@ -1546,6 +1519,7 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { } g.Out() g.P("}") + g.P() g.P("var ", ccTypeName, "_value = map[string]int32{") g.In() for _, e := range enum.Value { @@ -1553,6 +1527,7 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { } g.Out() g.P("}") + g.P() if !enum.proto3() { g.P("func (x ", ccTypeName, ") Enum() *", ccTypeName, " {") @@ -1562,6 +1537,7 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { g.P("return p") g.Out() g.P("}") + g.P() } if gogoproto.IsGoEnumStringer(g.file.FileDescriptorProto, enum.EnumDescriptorProto) { @@ -1570,6 +1546,7 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { g.P("return ", g.Pkg["proto"], ".EnumName(", ccTypeName, "_name, int32(x))") g.Out() g.P("}") + g.P() } if !enum.proto3() && !gogoproto.IsGoEnumStringer(g.file.FileDescriptorProto, enum.EnumDescriptorProto) { @@ -1578,6 +1555,7 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { g.P("return ", g.Pkg["proto"], ".MarshalJSONEnum(", ccTypeName, "_name, int32(x))") g.Out() g.P("}") + g.P() } if !enum.proto3() { g.P("func (x *", ccTypeName, ") UnmarshalJSON(data []byte) error {") @@ -1592,6 +1570,7 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { g.P("return nil") g.Out() g.P("}") + g.P() } var indexes []string @@ -1605,11 +1584,13 @@ func (g *Generator) generateEnum(enum *EnumDescriptor) { g.P("return ", g.file.VarName(), ", []int{", strings.Join(indexes, ", "), "}") g.Out() g.P("}") + g.P() if enum.file.GetPackage() == "google.protobuf" && enum.GetName() == "NullValue" { g.P("func (", ccTypeName, `) XXX_WellKnownType() string { return "`, enum.GetName(), `" }`) + g.P() } - g.P() + g.generateEnumRegistration(enum) } // The tag is a string like "varint,2,opt,name=fieldname,def=7" that @@ -1666,6 +1647,18 @@ func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptor g.Fail("unknown enum type", CamelCaseSlice(obj.TypeName())) } defaultValue = enum.integerValueAsString(defaultValue) + case descriptor.FieldDescriptorProto_TYPE_FLOAT: + if def := defaultValue; def != "inf" && def != "-inf" && def != "nan" { + if f, err := strconv.ParseFloat(defaultValue, 32); err == nil { + defaultValue = fmt.Sprint(float32(f)) + } + } + case descriptor.FieldDescriptorProto_TYPE_DOUBLE: + if def := defaultValue; def != "inf" && def != "-inf" && def != "nan" { + if f, err := strconv.ParseFloat(defaultValue, 64); err == nil { + defaultValue = fmt.Sprint(f) + } + } } defaultValue = ",def=" + defaultValue } @@ -1703,7 +1696,7 @@ func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptor name = name[i+1:] } } - if json := field.GetJsonName(); json != "" && json != name { + if json := field.GetJsonName(); field.Extendee == nil && json != "" && json != name { // TODO: escaping might be needed, in which case // perhaps this should be in its own "json" tag. name += ",json=" + json @@ -2002,11 +1995,16 @@ func (g *Generator) GoMapType(d *Descriptor, field *descriptor.FieldDescriptorPr } func (g *Generator) RecordTypeUse(t string) { - if _, ok := g.typeNameToObject[t]; ok { - // Call ObjectNamed to get the true object to record the use. - obj := g.ObjectNamed(t) - g.usedPackages[obj.GoImportPath()] = true + if _, ok := g.typeNameToObject[t]; !ok { + return + } + importPath := g.ObjectNamed(t).GoImportPath() + if importPath == g.outputImportPath { + // Don't record use of objects in our package. + return } + g.AddImport(importPath) + g.usedPackages[importPath] = true } // Method names that may be generated. Fields with these names get an @@ -2142,7 +2140,7 @@ func (g *Generator) defaultConstantName(goMessageType, protoFieldName string) st // oneofField - field containing list of subfields: // - oneofSubField - a field within the oneof -// msgCtx contais the context for the generator functions. +// msgCtx contains the context for the generator functions. type msgCtx struct { goName string // Go struct name of the message, e.g. MessageName message *Descriptor // The descriptor for the message @@ -2233,6 +2231,7 @@ type oneofSubField struct { fieldNumber int // Actual field number, as defined in proto, e.g. 12 getterDef string // Default for getters, e.g. "nil", `""` or "Default_MessageType_FieldName" protoDef string // Default value as defined in the proto file, e.g "yoshi" or "5" + deprecated string // Deprecation comment, if any. wireType string // gogo. We can set this on creation, instead of using a function } @@ -2662,11 +2661,14 @@ func (f *oneofField) getter(g *Generator, mc *msgCtx) { return } - for _, of := range f.subFields { - if gogoproto.IsEmbed(of.protoField) || gogoproto.IsCustomType(of.protoField) { + for _, sf := range f.subFields { + if gogoproto.IsEmbed(sf.protoField) || gogoproto.IsCustomType(sf.protoField) { continue } - g.generateGet(mc, of.protoField, of.protoType, true, of.goName, of.goType, f.goName, of.oneofTypeName, of.fullPath, of.getterName, of.getterDef) + if sf.deprecated != "" { + g.P(sf.deprecated) + } + g.generateGet(mc, sf.protoField, sf.protoType, true, sf.goName, sf.goType, f.goName, sf.oneofTypeName, sf.fullPath, sf.getterName, sf.getterDef) } } @@ -2741,6 +2743,14 @@ func (g *Generator) generateDefaultConstants(mc *msgCtx, topLevelFields []topLev def = "float32(" + def + ")" } kind = "var " + case df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_FLOAT: + if f, err := strconv.ParseFloat(def, 32); err == nil { + def = fmt.Sprint(float32(f)) + } + case df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_DOUBLE: + if f, err := strconv.ParseFloat(def, 64); err == nil { + def = fmt.Sprint(f) + } case df.getProtoType() == descriptor.FieldDescriptorProto_TYPE_ENUM: // Must be an enum. Need to construct the prefixed name. obj := g.ObjectNamed(df.getProtoTypeName()) @@ -3085,22 +3095,6 @@ func (g *Generator) generateCommonMethods(mc *msgCtx) { // Extension support methods if len(mc.message.ExtensionRange) > 0 { - // message_set_wire_format only makes sense when extensions are defined. - if opts := mc.message.Options; opts != nil && opts.GetMessageSetWireFormat() { - // isMessageSet = true - g.P() - g.P("func (m *", mc.goName, ") MarshalJSON() ([]byte, error) {") - g.In() - g.P("return ", g.Pkg["proto"], ".MarshalMessageSetJSON(&m.XXX_InternalExtensions)") - g.Out() - g.P("}") - g.P("func (m *", mc.goName, ") UnmarshalJSON(buf []byte) error {") - g.In() - g.P("return ", g.Pkg["proto"], ".UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions)") - g.Out() - g.P("}") - } - g.P() g.P("var extRange_", mc.goName, " = []", g.Pkg["proto"], ".ExtensionRange{") g.In() @@ -3115,6 +3109,7 @@ func (g *Generator) generateCommonMethods(mc *msgCtx) { g.P("return extRange_", mc.goName) g.Out() g.P("}") + g.P() if !gogoproto.HasExtensionsMap(g.file.FileDescriptorProto, mc.message.DescriptorProto) { g.P("func (m *", mc.goName, ") GetExtensions() *[]byte {") g.In() @@ -3183,9 +3178,9 @@ func (g *Generator) generateCommonMethods(mc *msgCtx) { g.Out() g.P("}") - g.P("func (dst *", mc.goName, ") XXX_Merge(src ", g.Pkg["proto"], ".Message) {") + g.P("func (m *", mc.goName, ") XXX_Merge(src ", g.Pkg["proto"], ".Message) {") g.In() - g.P("xxx_messageInfo_", mc.goName, ".Merge(dst, src)") + g.P("xxx_messageInfo_", mc.goName, ".Merge(m, src)") g.Out() g.P("}") @@ -3335,6 +3330,10 @@ func (g *Generator) generateMessage(message *Descriptor) { } } goTyp, _ := g.GoType(message, field) + fieldDeprecated := "" + if field.GetOptions().GetDeprecated() { + fieldDeprecated = deprecationComment + } dvalue := g.getterDefault(field, goTypeName, GoTypeToName(goTyp)) if oneof { tname := goTypeName + "_" + fieldName @@ -3379,6 +3378,7 @@ func (g *Generator) generateMessage(message *Descriptor) { getterDef: dvalue, protoDef: field.GetDefaultValue(), oneofTypeName: tname, + deprecated: fieldDeprecated, wireType: wireTypeName(field), } @@ -3389,11 +3389,6 @@ func (g *Generator) generateMessage(message *Descriptor) { continue } - fieldDeprecated := "" - if field.GetOptions().GetDeprecated() { - fieldDeprecated = deprecationComment - } - fieldFullPath := fmt.Sprintf("%s,%d,%d", message.path, messageFieldPath, i) c, ok := g.makeComments(fieldFullPath) if ok { @@ -3458,25 +3453,23 @@ func (g *Generator) generateMessage(message *Descriptor) { g.generateOneofFuncs(mc, topLevelFields) g.P() - if !message.group { - var oneofTypes []string - for _, f := range topLevelFields { - if of, ok := f.(*oneofField); ok { - for _, osf := range of.subFields { - oneofTypes = append(oneofTypes, osf.oneofTypeName) - } + var oneofTypes []string + for _, f := range topLevelFields { + if of, ok := f.(*oneofField); ok { + for _, osf := range of.subFields { + oneofTypes = append(oneofTypes, osf.oneofTypeName) } } + } - opts := message.Options - ms := &messageSymbol{ - sym: goTypeName, - hasExtensions: len(message.ExtensionRange) > 0, - isMessageSet: opts != nil && opts.GetMessageSetWireFormat(), - oneofTypes: oneofTypes, - } - g.file.addExport(message, ms) + opts := message.Options + ms := &messageSymbol{ + sym: goTypeName, + hasExtensions: len(message.ExtensionRange) > 0, + isMessageSet: opts != nil && opts.GetMessageSetWireFormat(), + oneofTypes: oneofTypes, } + g.file.addExport(message, ms) for _, ext := range message.ext { g.generateExtension(ext) @@ -3617,10 +3610,8 @@ func (g *Generator) generateExtension(ext *ExtensionDescriptor) { // In addition, the situation for when to apply this special case is implemented // differently in other languages: // https://github.com/google/protobuf/blob/aff10976/src/google/protobuf/text_format.cc#L1560 - mset := false if extDesc.GetOptions().GetMessageSetWireFormat() && typeName[len(typeName)-1] == "message_set_extension" { typeName = typeName[:len(typeName)-1] - mset = true } // For text formatting, the package must be exactly what the .proto file declares, @@ -3643,29 +3634,12 @@ func (g *Generator) generateExtension(ext *ExtensionDescriptor) { g.P("}") g.P() - if mset { - // Generate a bit more code to register with message_set.go. - g.addInitf("%s.RegisterMessageSetType((%s)(nil), %d, %q)", g.Pkg["proto"], fieldType, *field.Number, extName) - if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) && gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { - g.addInitf("%s.RegisterMessageSetType((%s)(nil), %d, %q)", g.Pkg["golang_proto"], fieldType, *field.Number, extName) - } - } + g.addInitf("%s.RegisterExtension(%s)", g.Pkg["proto"], ext.DescName()) g.file.addExport(ext, constOrVarSymbol{ccTypeName, "var", ""}) } func (g *Generator) generateInitFunction() { - for _, enum := range g.file.enum { - g.generateEnumRegistration(enum) - } - for _, d := range g.file.desc { - for _, ext := range d.ext { - g.generateExtensionRegistration(ext) - } - } - for _, ext := range g.file.ext { - g.generateExtensionRegistration(ext) - } if len(g.init) == 0 { return } @@ -3739,13 +3713,6 @@ func (g *Generator) generateEnumRegistration(enum *EnumDescriptor) { } } -func (g *Generator) generateExtensionRegistration(ext *ExtensionDescriptor) { - g.addInitf("%s.RegisterExtension(%s)", g.Pkg["proto"], ext.DescName()) - if gogoproto.ImportsGoGoProto(g.file.FileDescriptorProto) && gogoproto.RegistersGolangProto(g.file.FileDescriptorProto) { - g.addInitf("%s.RegisterExtension(%s)", g.Pkg["golang_proto"], ext.DescName()) - } -} - // And now lots of helper functions. // Is c an ASCII lower-case letter? diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go index 697bbf52d..abd821ce7 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/generator/helper.go @@ -364,7 +364,7 @@ func (g *Generator) generatePlugin(file *FileDescriptor, p Plugin) { rem := g.Buffer g.Buffer = new(bytes.Buffer) g.generateHeader() - p.GenerateImports(g.file) + // p.GenerateImports(g.file) g.generateImports() if !g.writeOutput { return diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go index 0b1438d21..42661f9df 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/grpc/grpc.go @@ -36,7 +36,6 @@ package grpc import ( "fmt" - "path" "strconv" "strings" @@ -53,7 +52,7 @@ const generatedCodeVersion = 4 // Paths for packages used by code generated in this file, // relative to the import_prefix of the generator.Generator. const ( - contextPkgPath = "golang.org/x/net/context" + contextPkgPath = "context" grpcPkgPath = "google.golang.org/grpc" ) @@ -83,8 +82,6 @@ var ( // Init initializes the plugin. func (g *grpc) Init(gen *generator.Generator) { g.gen = gen - contextPkg = generator.RegisterUniquePackageName("context", nil) - grpcPkg = generator.RegisterUniquePackageName("grpc", nil) } // Given a type name defined in a .proto, return its object. @@ -108,6 +105,9 @@ func (g *grpc) Generate(file *generator.FileDescriptor) { return } + contextPkg = string(g.gen.AddImport(contextPkgPath)) + grpcPkg = string(g.gen.AddImport(grpcPkgPath)) + g.P("// Reference imports to suppress errors if they are not otherwise used.") g.P("var _ ", contextPkg, ".Context") g.P("var _ ", grpcPkg, ".ClientConn") @@ -125,16 +125,7 @@ func (g *grpc) Generate(file *generator.FileDescriptor) { } // GenerateImports generates the import declaration for this file. -func (g *grpc) GenerateImports(file *generator.FileDescriptor) { - if len(file.FileDescriptorProto.Service) == 0 { - return - } - g.P("import (") - g.P(contextPkg, " ", generator.GoImportPath(path.Join(string(g.gen.ImportPrefix), contextPkgPath))) - g.P(grpcPkg, " ", generator.GoImportPath(path.Join(string(g.gen.ImportPrefix), grpcPkgPath))) - g.P(")") - g.P() -} +func (g *grpc) GenerateImports(file *generator.FileDescriptor) {} // reservedClientName records whether a client name is reserved on the client side. var reservedClientName = map[string]bool{ diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go index d6fea3fa0..131d05ffe 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/plugin/plugin.pb.go @@ -3,10 +3,12 @@ package plugin_go -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -36,7 +38,7 @@ func (m *Version) Reset() { *m = Version{} } func (m *Version) String() string { return proto.CompactTextString(m) } func (*Version) ProtoMessage() {} func (*Version) Descriptor() ([]byte, []int) { - return fileDescriptor_plugin_ac234f81c61f07b3, []int{0} + return fileDescriptor_22a625af4bc1cc87, []int{0} } func (m *Version) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Version.Unmarshal(m, b) @@ -44,8 +46,8 @@ func (m *Version) XXX_Unmarshal(b []byte) error { func (m *Version) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Version.Marshal(b, m, deterministic) } -func (dst *Version) XXX_Merge(src proto.Message) { - xxx_messageInfo_Version.Merge(dst, src) +func (m *Version) XXX_Merge(src proto.Message) { + xxx_messageInfo_Version.Merge(m, src) } func (m *Version) XXX_Size() int { return xxx_messageInfo_Version.Size(m) @@ -118,7 +120,7 @@ func (m *CodeGeneratorRequest) Reset() { *m = CodeGeneratorRequest{} } func (m *CodeGeneratorRequest) String() string { return proto.CompactTextString(m) } func (*CodeGeneratorRequest) ProtoMessage() {} func (*CodeGeneratorRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_plugin_ac234f81c61f07b3, []int{1} + return fileDescriptor_22a625af4bc1cc87, []int{1} } func (m *CodeGeneratorRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CodeGeneratorRequest.Unmarshal(m, b) @@ -126,8 +128,8 @@ func (m *CodeGeneratorRequest) XXX_Unmarshal(b []byte) error { func (m *CodeGeneratorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CodeGeneratorRequest.Marshal(b, m, deterministic) } -func (dst *CodeGeneratorRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_CodeGeneratorRequest.Merge(dst, src) +func (m *CodeGeneratorRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CodeGeneratorRequest.Merge(m, src) } func (m *CodeGeneratorRequest) XXX_Size() int { return xxx_messageInfo_CodeGeneratorRequest.Size(m) @@ -187,7 +189,7 @@ func (m *CodeGeneratorResponse) Reset() { *m = CodeGeneratorResponse{} } func (m *CodeGeneratorResponse) String() string { return proto.CompactTextString(m) } func (*CodeGeneratorResponse) ProtoMessage() {} func (*CodeGeneratorResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_plugin_ac234f81c61f07b3, []int{2} + return fileDescriptor_22a625af4bc1cc87, []int{2} } func (m *CodeGeneratorResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CodeGeneratorResponse.Unmarshal(m, b) @@ -195,8 +197,8 @@ func (m *CodeGeneratorResponse) XXX_Unmarshal(b []byte) error { func (m *CodeGeneratorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CodeGeneratorResponse.Marshal(b, m, deterministic) } -func (dst *CodeGeneratorResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_CodeGeneratorResponse.Merge(dst, src) +func (m *CodeGeneratorResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CodeGeneratorResponse.Merge(m, src) } func (m *CodeGeneratorResponse) XXX_Size() int { return xxx_messageInfo_CodeGeneratorResponse.Size(m) @@ -284,7 +286,7 @@ func (m *CodeGeneratorResponse_File) Reset() { *m = CodeGeneratorRespons func (m *CodeGeneratorResponse_File) String() string { return proto.CompactTextString(m) } func (*CodeGeneratorResponse_File) ProtoMessage() {} func (*CodeGeneratorResponse_File) Descriptor() ([]byte, []int) { - return fileDescriptor_plugin_ac234f81c61f07b3, []int{2, 0} + return fileDescriptor_22a625af4bc1cc87, []int{2, 0} } func (m *CodeGeneratorResponse_File) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CodeGeneratorResponse_File.Unmarshal(m, b) @@ -292,8 +294,8 @@ func (m *CodeGeneratorResponse_File) XXX_Unmarshal(b []byte) error { func (m *CodeGeneratorResponse_File) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CodeGeneratorResponse_File.Marshal(b, m, deterministic) } -func (dst *CodeGeneratorResponse_File) XXX_Merge(src proto.Message) { - xxx_messageInfo_CodeGeneratorResponse_File.Merge(dst, src) +func (m *CodeGeneratorResponse_File) XXX_Merge(src proto.Message) { + xxx_messageInfo_CodeGeneratorResponse_File.Merge(m, src) } func (m *CodeGeneratorResponse_File) XXX_Size() int { return xxx_messageInfo_CodeGeneratorResponse_File.Size(m) @@ -332,9 +334,9 @@ func init() { proto.RegisterType((*CodeGeneratorResponse_File)(nil), "google.protobuf.compiler.CodeGeneratorResponse.File") } -func init() { proto.RegisterFile("plugin.proto", fileDescriptor_plugin_ac234f81c61f07b3) } +func init() { proto.RegisterFile("plugin.proto", fileDescriptor_22a625af4bc1cc87) } -var fileDescriptor_plugin_ac234f81c61f07b3 = []byte{ +var fileDescriptor_22a625af4bc1cc87 = []byte{ // 383 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xcd, 0x6a, 0xd5, 0x40, 0x14, 0xc7, 0x89, 0x37, 0xb5, 0xe4, 0xb4, 0x34, 0x65, 0xa8, 0x32, 0x94, 0x2e, 0xe2, 0x45, 0x30, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.pb.go index 3980aa7f0..26d0c0b49 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.pb.go @@ -1,19 +1,16 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // deprecated/deprecated.proto is a deprecated file. -package deprecated // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated" +// package deprecated contains only deprecated messages and services. -/* -package deprecated contains only deprecated messages and services. -*/ - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +package deprecated import ( - context "golang.org/x/net/context" + context "context" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. @@ -37,6 +34,7 @@ const ( var DeprecatedEnum_name = map[int32]string{ 0: "DEPRECATED", } + var DeprecatedEnum_value = map[string]int32{ "DEPRECATED": 0, } @@ -44,8 +42,9 @@ var DeprecatedEnum_value = map[string]int32{ func (x DeprecatedEnum) String() string { return proto.EnumName(DeprecatedEnum_name, int32(x)) } + func (DeprecatedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_deprecated_1b284d1f30819a6c, []int{0} + return fileDescriptor_f64ba265cd7eae3f, []int{0} } // DeprecatedRequest is a request to DeprecatedCall. @@ -61,7 +60,7 @@ func (m *DeprecatedRequest) Reset() { *m = DeprecatedRequest{} } func (m *DeprecatedRequest) String() string { return proto.CompactTextString(m) } func (*DeprecatedRequest) ProtoMessage() {} func (*DeprecatedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_deprecated_1b284d1f30819a6c, []int{0} + return fileDescriptor_f64ba265cd7eae3f, []int{0} } func (m *DeprecatedRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeprecatedRequest.Unmarshal(m, b) @@ -69,8 +68,8 @@ func (m *DeprecatedRequest) XXX_Unmarshal(b []byte) error { func (m *DeprecatedRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DeprecatedRequest.Marshal(b, m, deterministic) } -func (dst *DeprecatedRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeprecatedRequest.Merge(dst, src) +func (m *DeprecatedRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeprecatedRequest.Merge(m, src) } func (m *DeprecatedRequest) XXX_Size() int { return xxx_messageInfo_DeprecatedRequest.Size(m) @@ -84,17 +83,22 @@ var xxx_messageInfo_DeprecatedRequest proto.InternalMessageInfo // Deprecated: Do not use. type DeprecatedResponse struct { // DeprecatedField contains a DeprecatedEnum. - DeprecatedField DeprecatedEnum `protobuf:"varint,1,opt,name=deprecated_field,json=deprecatedField,proto3,enum=deprecated.DeprecatedEnum" json:"deprecated_field,omitempty"` // Deprecated: Do not use. - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + DeprecatedField DeprecatedEnum `protobuf:"varint,1,opt,name=deprecated_field,json=deprecatedField,proto3,enum=deprecated.DeprecatedEnum" json:"deprecated_field,omitempty"` // Deprecated: Do not use. + // DeprecatedOneof contains a deprecated field. + // + // Types that are valid to be assigned to DeprecatedOneof: + // *DeprecatedResponse_DeprecatedOneofField + DeprecatedOneof isDeprecatedResponse_DeprecatedOneof `protobuf_oneof:"deprecated_oneof"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DeprecatedResponse) Reset() { *m = DeprecatedResponse{} } func (m *DeprecatedResponse) String() string { return proto.CompactTextString(m) } func (*DeprecatedResponse) ProtoMessage() {} func (*DeprecatedResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_deprecated_1b284d1f30819a6c, []int{1} + return fileDescriptor_f64ba265cd7eae3f, []int{1} } func (m *DeprecatedResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeprecatedResponse.Unmarshal(m, b) @@ -102,8 +106,8 @@ func (m *DeprecatedResponse) XXX_Unmarshal(b []byte) error { func (m *DeprecatedResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DeprecatedResponse.Marshal(b, m, deterministic) } -func (dst *DeprecatedResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeprecatedResponse.Merge(dst, src) +func (m *DeprecatedResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeprecatedResponse.Merge(m, src) } func (m *DeprecatedResponse) XXX_Size() int { return xxx_messageInfo_DeprecatedResponse.Size(m) @@ -114,6 +118,23 @@ func (m *DeprecatedResponse) XXX_DiscardUnknown() { var xxx_messageInfo_DeprecatedResponse proto.InternalMessageInfo +type isDeprecatedResponse_DeprecatedOneof interface { + isDeprecatedResponse_DeprecatedOneof() +} + +type DeprecatedResponse_DeprecatedOneofField struct { + DeprecatedOneofField string `protobuf:"bytes,2,opt,name=deprecated_oneof_field,json=deprecatedOneofField,proto3,oneof"` +} + +func (*DeprecatedResponse_DeprecatedOneofField) isDeprecatedResponse_DeprecatedOneof() {} + +func (m *DeprecatedResponse) GetDeprecatedOneof() isDeprecatedResponse_DeprecatedOneof { + if m != nil { + return m.DeprecatedOneof + } + return nil +} + // Deprecated: Do not use. func (m *DeprecatedResponse) GetDeprecatedField() DeprecatedEnum { if m != nil { @@ -122,10 +143,93 @@ func (m *DeprecatedResponse) GetDeprecatedField() DeprecatedEnum { return DeprecatedEnum_DEPRECATED } +// Deprecated: Do not use. +func (m *DeprecatedResponse) GetDeprecatedOneofField() string { + if x, ok := m.GetDeprecatedOneof().(*DeprecatedResponse_DeprecatedOneofField); ok { + return x.DeprecatedOneofField + } + return "" +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*DeprecatedResponse) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _DeprecatedResponse_OneofMarshaler, _DeprecatedResponse_OneofUnmarshaler, _DeprecatedResponse_OneofSizer, []interface{}{ + (*DeprecatedResponse_DeprecatedOneofField)(nil), + } +} + +func _DeprecatedResponse_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*DeprecatedResponse) + // deprecated_oneof + switch x := m.DeprecatedOneof.(type) { + case *DeprecatedResponse_DeprecatedOneofField: + _ = b.EncodeVarint(2<<3 | proto.WireBytes) + _ = b.EncodeStringBytes(x.DeprecatedOneofField) + case nil: + default: + return fmt.Errorf("DeprecatedResponse.DeprecatedOneof has unexpected type %T", x) + } + return nil +} + +func _DeprecatedResponse_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*DeprecatedResponse) + switch tag { + case 2: // deprecated_oneof.deprecated_oneof_field + if wire != proto.WireBytes { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeStringBytes() + m.DeprecatedOneof = &DeprecatedResponse_DeprecatedOneofField{x} + return true, err + default: + return false, nil + } +} + +func _DeprecatedResponse_OneofSizer(msg proto.Message) (n int) { + m := msg.(*DeprecatedResponse) + // deprecated_oneof + switch x := m.DeprecatedOneof.(type) { + case *DeprecatedResponse_DeprecatedOneofField: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(len(x.DeprecatedOneofField))) + n += len(x.DeprecatedOneofField) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + func init() { + proto.RegisterEnum("deprecated.DeprecatedEnum", DeprecatedEnum_name, DeprecatedEnum_value) proto.RegisterType((*DeprecatedRequest)(nil), "deprecated.DeprecatedRequest") proto.RegisterType((*DeprecatedResponse)(nil), "deprecated.DeprecatedResponse") - proto.RegisterEnum("deprecated.DeprecatedEnum", DeprecatedEnum_name, DeprecatedEnum_value) +} + +func init() { proto.RegisterFile("deprecated/deprecated.proto", fileDescriptor_f64ba265cd7eae3f) } + +var fileDescriptor_f64ba265cd7eae3f = []byte{ + // 284 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0x49, 0x2d, 0x28, + 0x4a, 0x4d, 0x4e, 0x2c, 0x49, 0x4d, 0xd1, 0x47, 0x30, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, + 0xb8, 0x10, 0x22, 0x4a, 0xe2, 0x5c, 0x82, 0x2e, 0x70, 0x5e, 0x50, 0x6a, 0x61, 0x69, 0x6a, 0x71, + 0x89, 0x15, 0x93, 0x04, 0xa3, 0xd2, 0x66, 0x46, 0x2e, 0x21, 0x64, 0x99, 0xe2, 0x82, 0xfc, 0xbc, + 0xe2, 0x54, 0x21, 0x4f, 0x2e, 0x01, 0x84, 0xee, 0xf8, 0xb4, 0xcc, 0xd4, 0x9c, 0x14, 0x09, 0x46, + 0x05, 0x46, 0x0d, 0x3e, 0x23, 0x29, 0x3d, 0x24, 0x8b, 0x10, 0x3a, 0x5d, 0xf3, 0x4a, 0x73, 0x9d, + 0x98, 0x24, 0x18, 0x83, 0xf8, 0x11, 0xd2, 0x6e, 0x20, 0x6d, 0x42, 0x56, 0x5c, 0x62, 0x48, 0x46, + 0xe5, 0xe7, 0xa5, 0xe6, 0xa7, 0x41, 0x0d, 0x64, 0x52, 0x60, 0xd4, 0xe0, 0x04, 0x69, 0xf2, 0x60, + 0x08, 0x12, 0x41, 0xa8, 0xf1, 0x07, 0x29, 0x01, 0xeb, 0x05, 0xb9, 0xd0, 0x49, 0x08, 0xc5, 0x29, + 0x60, 0xfd, 0x5a, 0x1a, 0x5c, 0x7c, 0xa8, 0x56, 0x0b, 0x09, 0x71, 0x71, 0xb9, 0xb8, 0x06, 0x04, + 0xb9, 0x3a, 0x3b, 0x86, 0xb8, 0xba, 0x08, 0x30, 0x48, 0x31, 0x71, 0x30, 0x4a, 0x31, 0x49, 0x30, + 0x1a, 0xe5, 0x21, 0x7b, 0x3c, 0x38, 0xb5, 0xa8, 0x2c, 0x33, 0x39, 0x55, 0x28, 0x04, 0x59, 0xbb, + 0x73, 0x62, 0x4e, 0x8e, 0x90, 0x2c, 0x76, 0x5f, 0x41, 0x43, 0x4a, 0x4a, 0x0e, 0x97, 0x34, 0x24, + 0xb8, 0x94, 0x98, 0x3b, 0x98, 0x18, 0xa5, 0x40, 0x84, 0x93, 0x63, 0x94, 0x4d, 0x7a, 0x66, 0x49, + 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x7e, 0x7a, 0x7e, 0x7a, 0xbe, 0x3e, 0x38, 0x36, 0x92, + 0x4a, 0xd3, 0x20, 0x8c, 0x64, 0xdd, 0xf4, 0xd4, 0x3c, 0x5d, 0xb0, 0x44, 0x49, 0x6a, 0x71, 0x49, + 0x4a, 0x62, 0x49, 0x22, 0x52, 0xd4, 0xed, 0x60, 0x64, 0x4c, 0x62, 0x03, 0xab, 0x33, 0x06, 0x04, + 0x00, 0x00, 0xff, 0xff, 0xf0, 0x08, 0x22, 0x8d, 0xdd, 0x01, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -208,27 +312,3 @@ var _DeprecatedService_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "deprecated/deprecated.proto", } - -func init() { - proto.RegisterFile("deprecated/deprecated.proto", fileDescriptor_deprecated_1b284d1f30819a6c) -} - -var fileDescriptor_deprecated_1b284d1f30819a6c = []byte{ - // 245 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0x49, 0x2d, 0x28, - 0x4a, 0x4d, 0x4e, 0x2c, 0x49, 0x4d, 0xd1, 0x47, 0x30, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, - 0xb8, 0x10, 0x22, 0x4a, 0xe2, 0x5c, 0x82, 0x2e, 0x70, 0x5e, 0x50, 0x6a, 0x61, 0x69, 0x6a, 0x71, - 0x89, 0x15, 0x93, 0x04, 0xa3, 0x52, 0x32, 0x97, 0x10, 0xb2, 0x44, 0x71, 0x41, 0x7e, 0x5e, 0x71, - 0xaa, 0x90, 0x27, 0x97, 0x00, 0x42, 0x73, 0x7c, 0x5a, 0x66, 0x6a, 0x4e, 0x8a, 0x04, 0xa3, 0x02, - 0xa3, 0x06, 0x9f, 0x91, 0x94, 0x1e, 0x92, 0x3d, 0x08, 0x9d, 0xae, 0x79, 0xa5, 0xb9, 0x4e, 0x4c, - 0x12, 0x8c, 0x41, 0xfc, 0x08, 0x69, 0x37, 0x90, 0x36, 0x90, 0x25, 0x5a, 0x1a, 0x5c, 0x7c, 0xa8, - 0x4a, 0x85, 0x84, 0xb8, 0xb8, 0x5c, 0x5c, 0x03, 0x82, 0x5c, 0x9d, 0x1d, 0x43, 0x5c, 0x5d, 0x04, - 0x18, 0xa4, 0x98, 0x38, 0x18, 0xa5, 0x98, 0x24, 0x18, 0x8d, 0xf2, 0x90, 0xdd, 0x19, 0x9c, 0x5a, - 0x54, 0x96, 0x99, 0x9c, 0x2a, 0x14, 0x82, 0xac, 0xdd, 0x39, 0x31, 0x27, 0x47, 0x48, 0x16, 0xbb, - 0x2b, 0xa0, 0x1e, 0x93, 0x92, 0xc3, 0x25, 0x0d, 0xf1, 0x9e, 0x12, 0x73, 0x07, 0x13, 0xa3, 0x14, - 0x88, 0x70, 0x72, 0x8c, 0xb2, 0x49, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, - 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x07, 0x5e, 0x52, 0x69, 0x1a, 0x84, 0x91, 0xac, 0x9b, 0x9e, - 0x9a, 0xa7, 0x0b, 0x96, 0x28, 0x49, 0x2d, 0x2e, 0x49, 0x49, 0x2c, 0x49, 0x44, 0x0a, 0xe9, 0x1d, - 0x8c, 0x8c, 0x49, 0x6c, 0x60, 0x75, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf6, 0x28, 0xee, - 0x83, 0x8c, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.proto b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.proto index 4a4b84139..f6ab65f73 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.proto +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/deprecated/deprecated.proto @@ -49,6 +49,11 @@ message DeprecatedResponse { option deprecated = true; // DeprecatedField contains a DeprecatedEnum. DeprecatedEnum deprecated_field = 1 [deprecated=true]; + // DeprecatedOneof contains a deprecated field. + oneof deprecated_oneof { + // DeprecatedOneofField is a deprecated field. + string deprecated_oneof_field = 2 [deprecated=true]; + } } // DeprecatedEnum contains deprecated values. diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_base/extension_base.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_base/extension_base.pb.go index b40c82c69..7f223a3df 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_base/extension_base.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_base/extension_base.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: extension_base/extension_base.proto -package extension_base // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_base" +package extension_base -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -30,7 +32,7 @@ func (m *BaseMessage) Reset() { *m = BaseMessage{} } func (m *BaseMessage) String() string { return proto.CompactTextString(m) } func (*BaseMessage) ProtoMessage() {} func (*BaseMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_base_b5c437cd79d90e00, []int{0} + return fileDescriptor_2fbd53bac0b7ca8a, []int{0} } var extRange_BaseMessage = []proto.ExtensionRange{ @@ -41,14 +43,15 @@ var extRange_BaseMessage = []proto.ExtensionRange{ func (*BaseMessage) ExtensionRangeArray() []proto.ExtensionRange { return extRange_BaseMessage } + func (m *BaseMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BaseMessage.Unmarshal(m, b) } func (m *BaseMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_BaseMessage.Marshal(b, m, deterministic) } -func (dst *BaseMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_BaseMessage.Merge(dst, src) +func (m *BaseMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_BaseMessage.Merge(m, src) } func (m *BaseMessage) XXX_Size() int { return xxx_messageInfo_BaseMessage.Size(m) @@ -78,14 +81,7 @@ func (m *OldStyleMessage) Reset() { *m = OldStyleMessage{} } func (m *OldStyleMessage) String() string { return proto.CompactTextString(m) } func (*OldStyleMessage) ProtoMessage() {} func (*OldStyleMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_base_b5c437cd79d90e00, []int{1} -} - -func (m *OldStyleMessage) MarshalJSON() ([]byte, error) { - return proto.MarshalMessageSetJSON(&m.XXX_InternalExtensions) -} -func (m *OldStyleMessage) UnmarshalJSON(buf []byte) error { - return proto.UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions) + return fileDescriptor_2fbd53bac0b7ca8a, []int{1} } var extRange_OldStyleMessage = []proto.ExtensionRange{ @@ -95,14 +91,15 @@ var extRange_OldStyleMessage = []proto.ExtensionRange{ func (*OldStyleMessage) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OldStyleMessage } + func (m *OldStyleMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldStyleMessage.Unmarshal(m, b) } func (m *OldStyleMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldStyleMessage.Marshal(b, m, deterministic) } -func (dst *OldStyleMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldStyleMessage.Merge(dst, src) +func (m *OldStyleMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldStyleMessage.Merge(m, src) } func (m *OldStyleMessage) XXX_Size() int { return xxx_messageInfo_OldStyleMessage.Size(m) @@ -119,10 +116,10 @@ func init() { } func init() { - proto.RegisterFile("extension_base/extension_base.proto", fileDescriptor_extension_base_b5c437cd79d90e00) + proto.RegisterFile("extension_base/extension_base.proto", fileDescriptor_2fbd53bac0b7ca8a) } -var fileDescriptor_extension_base_b5c437cd79d90e00 = []byte{ +var fileDescriptor_2fbd53bac0b7ca8a = []byte{ // 175 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4e, 0xad, 0x28, 0x49, 0xcd, 0x2b, 0xce, 0xcc, 0xcf, 0x8b, 0x4f, 0x4a, 0x2c, 0x4e, 0xd5, 0x47, 0xe5, 0xea, 0x15, 0x14, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_extra/extension_extra.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_extra/extension_extra.pb.go index 71968db3e..639b3d969 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_extra/extension_extra.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_extra/extension_extra.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: extension_extra/extension_extra.proto -package extension_extra // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_extra" +package extension_extra -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -29,7 +31,7 @@ func (m *ExtraMessage) Reset() { *m = ExtraMessage{} } func (m *ExtraMessage) String() string { return proto.CompactTextString(m) } func (*ExtraMessage) ProtoMessage() {} func (*ExtraMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_extra_e06efb14fc6ecf89, []int{0} + return fileDescriptor_fce75f5a63502cd5, []int{0} } func (m *ExtraMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtraMessage.Unmarshal(m, b) @@ -37,8 +39,8 @@ func (m *ExtraMessage) XXX_Unmarshal(b []byte) error { func (m *ExtraMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ExtraMessage.Marshal(b, m, deterministic) } -func (dst *ExtraMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtraMessage.Merge(dst, src) +func (m *ExtraMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtraMessage.Merge(m, src) } func (m *ExtraMessage) XXX_Size() int { return xxx_messageInfo_ExtraMessage.Size(m) @@ -61,10 +63,10 @@ func init() { } func init() { - proto.RegisterFile("extension_extra/extension_extra.proto", fileDescriptor_extension_extra_e06efb14fc6ecf89) + proto.RegisterFile("extension_extra/extension_extra.proto", fileDescriptor_fce75f5a63502cd5) } -var fileDescriptor_extension_extra_e06efb14fc6ecf89 = []byte{ +var fileDescriptor_fce75f5a63502cd5 = []byte{ // 130 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4d, 0xad, 0x28, 0x49, 0xcd, 0x2b, 0xce, 0xcc, 0xcf, 0x8b, 0x4f, 0xad, 0x28, 0x29, 0x4a, 0xd4, 0x47, 0xe3, 0xeb, 0x15, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_user/extension_user.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_user/extension_user.pb.go index 43c2b469a..f8df45b11 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_user/extension_user.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_user/extension_user.pb.go @@ -1,13 +1,15 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: extension_user/extension_user.proto -package extension_user // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_user" +package extension_user -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import extension_base "github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_base" -import extension_extra "github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_extra" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + extension_base "github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_base" + extension_extra "github.com/gogo/protobuf/protoc-gen-gogo/testdata/extension_extra" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,7 +34,7 @@ func (m *UserMessage) Reset() { *m = UserMessage{} } func (m *UserMessage) String() string { return proto.CompactTextString(m) } func (*UserMessage) ProtoMessage() {} func (*UserMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_user_026ca4e46735207f, []int{0} + return fileDescriptor_359ba8abf543ca10, []int{0} } func (m *UserMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserMessage.Unmarshal(m, b) @@ -40,8 +42,8 @@ func (m *UserMessage) XXX_Unmarshal(b []byte) error { func (m *UserMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UserMessage.Marshal(b, m, deterministic) } -func (dst *UserMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_UserMessage.Merge(dst, src) +func (m *UserMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserMessage.Merge(m, src) } func (m *UserMessage) XXX_Size() int { return xxx_messageInfo_UserMessage.Size(m) @@ -78,7 +80,7 @@ func (m *LoudMessage) Reset() { *m = LoudMessage{} } func (m *LoudMessage) String() string { return proto.CompactTextString(m) } func (*LoudMessage) ProtoMessage() {} func (*LoudMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_user_026ca4e46735207f, []int{1} + return fileDescriptor_359ba8abf543ca10, []int{1} } var extRange_LoudMessage = []proto.ExtensionRange{ @@ -88,14 +90,15 @@ var extRange_LoudMessage = []proto.ExtensionRange{ func (*LoudMessage) ExtensionRangeArray() []proto.ExtensionRange { return extRange_LoudMessage } + func (m *LoudMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LoudMessage.Unmarshal(m, b) } func (m *LoudMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_LoudMessage.Marshal(b, m, deterministic) } -func (dst *LoudMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoudMessage.Merge(dst, src) +func (m *LoudMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoudMessage.Merge(m, src) } func (m *LoudMessage) XXX_Size() int { return xxx_messageInfo_LoudMessage.Size(m) @@ -126,7 +129,7 @@ func (m *LoginMessage) Reset() { *m = LoginMessage{} } func (m *LoginMessage) String() string { return proto.CompactTextString(m) } func (*LoginMessage) ProtoMessage() {} func (*LoginMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_user_026ca4e46735207f, []int{2} + return fileDescriptor_359ba8abf543ca10, []int{2} } func (m *LoginMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LoginMessage.Unmarshal(m, b) @@ -134,8 +137,8 @@ func (m *LoginMessage) XXX_Unmarshal(b []byte) error { func (m *LoginMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_LoginMessage.Marshal(b, m, deterministic) } -func (dst *LoginMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_LoginMessage.Merge(dst, src) +func (m *LoginMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_LoginMessage.Merge(m, src) } func (m *LoginMessage) XXX_Size() int { return xxx_messageInfo_LoginMessage.Size(m) @@ -151,7 +154,7 @@ var E_LoginMessage_UserMessage = &proto.ExtensionDesc{ ExtensionType: (*UserMessage)(nil), Field: 16, Name: "extension_user.LoginMessage.user_message", - Tag: "bytes,16,opt,name=user_message,json=userMessage", + Tag: "bytes,16,opt,name=user_message", Filename: "extension_user/extension_user.proto", } @@ -166,7 +169,7 @@ func (m *Detail) Reset() { *m = Detail{} } func (m *Detail) String() string { return proto.CompactTextString(m) } func (*Detail) ProtoMessage() {} func (*Detail) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_user_026ca4e46735207f, []int{3} + return fileDescriptor_359ba8abf543ca10, []int{3} } func (m *Detail) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Detail.Unmarshal(m, b) @@ -174,8 +177,8 @@ func (m *Detail) XXX_Unmarshal(b []byte) error { func (m *Detail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Detail.Marshal(b, m, deterministic) } -func (dst *Detail) XXX_Merge(src proto.Message) { - xxx_messageInfo_Detail.Merge(dst, src) +func (m *Detail) XXX_Merge(src proto.Message) { + xxx_messageInfo_Detail.Merge(m, src) } func (m *Detail) XXX_Size() int { return xxx_messageInfo_Detail.Size(m) @@ -205,7 +208,7 @@ func (m *Announcement) Reset() { *m = Announcement{} } func (m *Announcement) String() string { return proto.CompactTextString(m) } func (*Announcement) ProtoMessage() {} func (*Announcement) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_user_026ca4e46735207f, []int{4} + return fileDescriptor_359ba8abf543ca10, []int{4} } func (m *Announcement) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Announcement.Unmarshal(m, b) @@ -213,8 +216,8 @@ func (m *Announcement) XXX_Unmarshal(b []byte) error { func (m *Announcement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Announcement.Marshal(b, m, deterministic) } -func (dst *Announcement) XXX_Merge(src proto.Message) { - xxx_messageInfo_Announcement.Merge(dst, src) +func (m *Announcement) XXX_Merge(src proto.Message) { + xxx_messageInfo_Announcement.Merge(m, src) } func (m *Announcement) XXX_Size() int { return xxx_messageInfo_Announcement.Size(m) @@ -237,7 +240,7 @@ var E_Announcement_LoudExt = &proto.ExtensionDesc{ ExtensionType: (*Announcement)(nil), Field: 100, Name: "extension_user.Announcement.loud_ext", - Tag: "bytes,100,opt,name=loud_ext,json=loudExt", + Tag: "bytes,100,opt,name=loud_ext", Filename: "extension_user/extension_user.proto", } @@ -254,7 +257,7 @@ func (m *OldStyleParcel) Reset() { *m = OldStyleParcel{} } func (m *OldStyleParcel) String() string { return proto.CompactTextString(m) } func (*OldStyleParcel) ProtoMessage() {} func (*OldStyleParcel) Descriptor() ([]byte, []int) { - return fileDescriptor_extension_user_026ca4e46735207f, []int{5} + return fileDescriptor_359ba8abf543ca10, []int{5} } func (m *OldStyleParcel) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldStyleParcel.Unmarshal(m, b) @@ -262,8 +265,8 @@ func (m *OldStyleParcel) XXX_Unmarshal(b []byte) error { func (m *OldStyleParcel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldStyleParcel.Marshal(b, m, deterministic) } -func (dst *OldStyleParcel) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldStyleParcel.Merge(dst, src) +func (m *OldStyleParcel) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldStyleParcel.Merge(m, src) } func (m *OldStyleParcel) XXX_Size() int { return xxx_messageInfo_OldStyleParcel.Size(m) @@ -293,7 +296,7 @@ var E_OldStyleParcel_MessageSetExtension = &proto.ExtensionDesc{ ExtensionType: (*OldStyleParcel)(nil), Field: 2001, Name: "extension_user.OldStyleParcel", - Tag: "bytes,2001,opt,name=message_set_extension,json=messageSetExtension", + Tag: "bytes,2001,opt,name=message_set_extension", Filename: "extension_user/extension_user.proto", } @@ -302,7 +305,7 @@ var E_UserMessage = &proto.ExtensionDesc{ ExtensionType: (*UserMessage)(nil), Field: 5, Name: "extension_user.user_message", - Tag: "bytes,5,opt,name=user_message,json=userMessage", + Tag: "bytes,5,opt,name=user_message", Filename: "extension_user/extension_user.proto", } @@ -311,7 +314,7 @@ var E_ExtraMessage = &proto.ExtensionDesc{ ExtensionType: (*extension_extra.ExtraMessage)(nil), Field: 9, Name: "extension_user.extra_message", - Tag: "bytes,9,opt,name=extra_message,json=extraMessage", + Tag: "bytes,9,opt,name=extra_message", Filename: "extension_user/extension_user.proto", } @@ -344,16 +347,15 @@ var E_Detail = &proto.ExtensionDesc{ func init() { proto.RegisterType((*UserMessage)(nil), "extension_user.UserMessage") + proto.RegisterExtension(E_LoudMessage_Volume) proto.RegisterType((*LoudMessage)(nil), "extension_user.LoudMessage") + proto.RegisterExtension(E_LoginMessage_UserMessage) proto.RegisterType((*LoginMessage)(nil), "extension_user.LoginMessage") proto.RegisterType((*Detail)(nil), "extension_user.Detail") - proto.RegisterType((*Announcement)(nil), "extension_user.Announcement") - proto.RegisterMessageSetType((*OldStyleParcel)(nil), 2001, "extension_user.OldStyleParcel") - proto.RegisterType((*OldStyleParcel)(nil), "extension_user.OldStyleParcel") - proto.RegisterExtension(E_LoudMessage_Volume) - proto.RegisterExtension(E_LoginMessage_UserMessage) proto.RegisterExtension(E_Announcement_LoudExt) + proto.RegisterType((*Announcement)(nil), "extension_user.Announcement") proto.RegisterExtension(E_OldStyleParcel_MessageSetExtension) + proto.RegisterType((*OldStyleParcel)(nil), "extension_user.OldStyleParcel") proto.RegisterExtension(E_UserMessage) proto.RegisterExtension(E_ExtraMessage) proto.RegisterExtension(E_Width) @@ -362,10 +364,10 @@ func init() { } func init() { - proto.RegisterFile("extension_user/extension_user.proto", fileDescriptor_extension_user_026ca4e46735207f) + proto.RegisterFile("extension_user/extension_user.proto", fileDescriptor_359ba8abf543ca10) } -var fileDescriptor_extension_user_026ca4e46735207f = []byte{ +var fileDescriptor_359ba8abf543ca10 = []byte{ // 490 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xc1, 0x6e, 0xd3, 0x40, 0x10, 0x95, 0xdb, 0xc6, 0x4d, 0xc7, 0x69, 0x29, 0x06, 0xaa, 0xa8, 0x40, 0xb1, 0x8c, 0x90, 0x2c, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/grpc/grpc.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/grpc/grpc.pb.go index 8dcafa21b..cf2bfc031 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/grpc/grpc.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/grpc/grpc.pb.go @@ -1,15 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: grpc/grpc.proto -package testing // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/grpc" - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +package testing import ( - context "golang.org/x/net/context" + context "context" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" grpc "google.golang.org/grpc" + math "math" ) // Reference imports to suppress errors if they are not otherwise used. @@ -33,7 +32,7 @@ func (m *SimpleRequest) Reset() { *m = SimpleRequest{} } func (m *SimpleRequest) String() string { return proto.CompactTextString(m) } func (*SimpleRequest) ProtoMessage() {} func (*SimpleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_grpc_9f03674ccb9f2c2b, []int{0} + return fileDescriptor_81ea47a3f88c2082, []int{0} } func (m *SimpleRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SimpleRequest.Unmarshal(m, b) @@ -41,8 +40,8 @@ func (m *SimpleRequest) XXX_Unmarshal(b []byte) error { func (m *SimpleRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SimpleRequest.Marshal(b, m, deterministic) } -func (dst *SimpleRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SimpleRequest.Merge(dst, src) +func (m *SimpleRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleRequest.Merge(m, src) } func (m *SimpleRequest) XXX_Size() int { return xxx_messageInfo_SimpleRequest.Size(m) @@ -63,7 +62,7 @@ func (m *SimpleResponse) Reset() { *m = SimpleResponse{} } func (m *SimpleResponse) String() string { return proto.CompactTextString(m) } func (*SimpleResponse) ProtoMessage() {} func (*SimpleResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_grpc_9f03674ccb9f2c2b, []int{1} + return fileDescriptor_81ea47a3f88c2082, []int{1} } func (m *SimpleResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SimpleResponse.Unmarshal(m, b) @@ -71,8 +70,8 @@ func (m *SimpleResponse) XXX_Unmarshal(b []byte) error { func (m *SimpleResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SimpleResponse.Marshal(b, m, deterministic) } -func (dst *SimpleResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SimpleResponse.Merge(dst, src) +func (m *SimpleResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SimpleResponse.Merge(m, src) } func (m *SimpleResponse) XXX_Size() int { return xxx_messageInfo_SimpleResponse.Size(m) @@ -93,7 +92,7 @@ func (m *StreamMsg) Reset() { *m = StreamMsg{} } func (m *StreamMsg) String() string { return proto.CompactTextString(m) } func (*StreamMsg) ProtoMessage() {} func (*StreamMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_grpc_9f03674ccb9f2c2b, []int{2} + return fileDescriptor_81ea47a3f88c2082, []int{2} } func (m *StreamMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamMsg.Unmarshal(m, b) @@ -101,8 +100,8 @@ func (m *StreamMsg) XXX_Unmarshal(b []byte) error { func (m *StreamMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_StreamMsg.Marshal(b, m, deterministic) } -func (dst *StreamMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_StreamMsg.Merge(dst, src) +func (m *StreamMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_StreamMsg.Merge(m, src) } func (m *StreamMsg) XXX_Size() int { return xxx_messageInfo_StreamMsg.Size(m) @@ -123,7 +122,7 @@ func (m *StreamMsg2) Reset() { *m = StreamMsg2{} } func (m *StreamMsg2) String() string { return proto.CompactTextString(m) } func (*StreamMsg2) ProtoMessage() {} func (*StreamMsg2) Descriptor() ([]byte, []int) { - return fileDescriptor_grpc_9f03674ccb9f2c2b, []int{3} + return fileDescriptor_81ea47a3f88c2082, []int{3} } func (m *StreamMsg2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StreamMsg2.Unmarshal(m, b) @@ -131,8 +130,8 @@ func (m *StreamMsg2) XXX_Unmarshal(b []byte) error { func (m *StreamMsg2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_StreamMsg2.Marshal(b, m, deterministic) } -func (dst *StreamMsg2) XXX_Merge(src proto.Message) { - xxx_messageInfo_StreamMsg2.Merge(dst, src) +func (m *StreamMsg2) XXX_Merge(src proto.Message) { + xxx_messageInfo_StreamMsg2.Merge(m, src) } func (m *StreamMsg2) XXX_Size() int { return xxx_messageInfo_StreamMsg2.Size(m) @@ -150,6 +149,28 @@ func init() { proto.RegisterType((*StreamMsg2)(nil), "grpc.testing.StreamMsg2") } +func init() { proto.RegisterFile("grpc/grpc.proto", fileDescriptor_81ea47a3f88c2082) } + +var fileDescriptor_81ea47a3f88c2082 = []byte{ + // 241 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x2f, 0x2a, 0x48, + 0xd6, 0x07, 0x11, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0x3c, 0x60, 0x76, 0x49, 0x6a, 0x71, + 0x49, 0x66, 0x5e, 0xba, 0x12, 0x3f, 0x17, 0x6f, 0x70, 0x66, 0x6e, 0x41, 0x4e, 0x6a, 0x50, 0x6a, + 0x61, 0x69, 0x6a, 0x71, 0x89, 0x92, 0x00, 0x17, 0x1f, 0x4c, 0xa0, 0xb8, 0x20, 0x3f, 0xaf, 0x38, + 0x55, 0x89, 0x9b, 0x8b, 0x33, 0xb8, 0xa4, 0x28, 0x35, 0x31, 0xd7, 0xb7, 0x38, 0x5d, 0x89, 0x87, + 0x8b, 0x0b, 0xce, 0x31, 0x32, 0x9a, 0xc1, 0xc4, 0xc5, 0x12, 0x92, 0x5a, 0x5c, 0x22, 0xe4, 0xc6, + 0xc5, 0x19, 0x9a, 0x97, 0x58, 0x54, 0xe9, 0x9c, 0x98, 0x93, 0x23, 0x24, 0xad, 0x87, 0x6c, 0x85, + 0x1e, 0x8a, 0xf9, 0x52, 0x32, 0xd8, 0x25, 0x21, 0x76, 0x09, 0xb9, 0x70, 0x71, 0xb9, 0xe4, 0x97, + 0xe7, 0x15, 0x83, 0xad, 0xc0, 0x6f, 0x90, 0x38, 0x9a, 0x24, 0xcc, 0x55, 0x06, 0x8c, 0x42, 0xce, + 0x5c, 0x1c, 0xa1, 0x05, 0x50, 0x33, 0x70, 0x29, 0xc3, 0xef, 0x10, 0x0d, 0x46, 0x21, 0x5b, 0x2e, + 0x16, 0xa7, 0xcc, 0x94, 0x4c, 0xdc, 0x06, 0x48, 0xe0, 0x90, 0x30, 0xd2, 0x60, 0x34, 0x60, 0x74, + 0x72, 0x88, 0xb2, 0x4b, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0x87, 0x7f, 0x52, 0x69, 0x1a, 0x84, 0x91, 0xac, 0x9b, 0x9e, 0x9a, 0xa7, + 0x0b, 0x96, 0x00, 0x19, 0x91, 0x92, 0x58, 0x92, 0x08, 0x8e, 0x26, 0x6b, 0xa8, 0x81, 0x49, 0x6c, + 0x60, 0x65, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x16, 0x54, 0x6e, 0x1b, 0xc2, 0x01, 0x00, + 0x00, +} + // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.ClientConn @@ -420,25 +441,3 @@ var _Test_serviceDesc = grpc.ServiceDesc{ }, Metadata: "grpc/grpc.proto", } - -func init() { proto.RegisterFile("grpc/grpc.proto", fileDescriptor_grpc_9f03674ccb9f2c2b) } - -var fileDescriptor_grpc_9f03674ccb9f2c2b = []byte{ - // 241 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x2f, 0x2a, 0x48, - 0xd6, 0x07, 0x11, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0x3c, 0x60, 0x76, 0x49, 0x6a, 0x71, - 0x49, 0x66, 0x5e, 0xba, 0x12, 0x3f, 0x17, 0x6f, 0x70, 0x66, 0x6e, 0x41, 0x4e, 0x6a, 0x50, 0x6a, - 0x61, 0x69, 0x6a, 0x71, 0x89, 0x92, 0x00, 0x17, 0x1f, 0x4c, 0xa0, 0xb8, 0x20, 0x3f, 0xaf, 0x38, - 0x55, 0x89, 0x9b, 0x8b, 0x33, 0xb8, 0xa4, 0x28, 0x35, 0x31, 0xd7, 0xb7, 0x38, 0x5d, 0x89, 0x87, - 0x8b, 0x0b, 0xce, 0x31, 0x32, 0x9a, 0xc1, 0xc4, 0xc5, 0x12, 0x92, 0x5a, 0x5c, 0x22, 0xe4, 0xc6, - 0xc5, 0x19, 0x9a, 0x97, 0x58, 0x54, 0xe9, 0x9c, 0x98, 0x93, 0x23, 0x24, 0xad, 0x87, 0x6c, 0x85, - 0x1e, 0x8a, 0xf9, 0x52, 0x32, 0xd8, 0x25, 0x21, 0x76, 0x09, 0xb9, 0x70, 0x71, 0xb9, 0xe4, 0x97, - 0xe7, 0x15, 0x83, 0xad, 0xc0, 0x6f, 0x90, 0x38, 0x9a, 0x24, 0xcc, 0x55, 0x06, 0x8c, 0x42, 0xce, - 0x5c, 0x1c, 0xa1, 0x05, 0x50, 0x33, 0x70, 0x29, 0xc3, 0xef, 0x10, 0x0d, 0x46, 0x21, 0x5b, 0x2e, - 0x16, 0xa7, 0xcc, 0x94, 0x4c, 0xdc, 0x06, 0x48, 0xe0, 0x90, 0x30, 0xd2, 0x60, 0x34, 0x60, 0x74, - 0x72, 0x88, 0xb2, 0x4b, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, - 0x4f, 0xcf, 0xd7, 0x07, 0x87, 0x7f, 0x52, 0x69, 0x1a, 0x84, 0x91, 0xac, 0x9b, 0x9e, 0x9a, 0xa7, - 0x0b, 0x96, 0x00, 0x19, 0x91, 0x92, 0x58, 0x92, 0x08, 0x8e, 0x26, 0x6b, 0xa8, 0x81, 0x49, 0x6c, - 0x60, 0x65, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x16, 0x54, 0x6e, 0x1b, 0xc2, 0x01, 0x00, - 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.pb.go index 80fe83b60..66d16f6e1 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.pb.go @@ -1,12 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: import_public/a.proto -package import_public // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public" +package import_public -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import sub "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + sub "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -19,8 +21,20 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package +const Default_M_DefaultField = sub.Default_M_DefaultField + // M from public import import_public/sub/a.proto type M = sub.M +type M_OneofInt32 = sub.M_OneofInt32 +type M_OneofInt64 = sub.M_OneofInt64 + +// M_Grouping from public import import_public/sub/a.proto +type M_Grouping = sub.M_Grouping + +// M_Submessage from public import import_public/sub/a.proto +type M_Submessage = sub.M_Submessage +type M_Submessage_SubmessageOneofInt32 = sub.M_Submessage_SubmessageOneofInt32 +type M_Submessage_SubmessageOneofInt64 = sub.M_Submessage_SubmessageOneofInt64 // E from public import import_public/sub/a.proto type E = sub.E @@ -30,12 +44,28 @@ var E_value = sub.E_value const E_ZERO = E(sub.E_ZERO) -// Ignoring public import of Local from import_public/b.proto +// M_Subenum from public import import_public/sub/a.proto +type M_Subenum = sub.M_Subenum + +var M_Subenum_name = sub.M_Subenum_name +var M_Subenum_value = sub.M_Subenum_value + +const M_M_ZERO = M_Subenum(sub.M_M_ZERO) + +// M_Submessage_Submessage_Subenum from public import import_public/sub/a.proto +type M_Submessage_Submessage_Subenum = sub.M_Submessage_Submessage_Subenum + +var M_Submessage_Submessage_Subenum_name = sub.M_Submessage_Submessage_Subenum_name +var M_Submessage_Submessage_Subenum_value = sub.M_Submessage_Submessage_Subenum_value + +const M_Submessage_M_SUBMESSAGE_ZERO = M_Submessage_Submessage_Subenum(sub.M_Submessage_M_SUBMESSAGE_ZERO) + +var E_ExtensionField = sub.E_ExtensionField type Public struct { - M *sub.M `protobuf:"bytes,1,opt,name=m,proto3" json:"m,omitempty"` - E sub.E `protobuf:"varint,2,opt,name=e,proto3,enum=goproto.test.import_public.sub.E" json:"e,omitempty"` - Local *Local `protobuf:"bytes,3,opt,name=local,proto3" json:"local,omitempty"` + M *sub.M `protobuf:"bytes,1,opt,name=m" json:"m,omitempty"` + E *sub.E `protobuf:"varint,2,opt,name=e,enum=goproto.test.import_public.sub.E" json:"e,omitempty"` + Local *Local `protobuf:"bytes,3,opt,name=local" json:"local,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -45,7 +75,7 @@ func (m *Public) Reset() { *m = Public{} } func (m *Public) String() string { return proto.CompactTextString(m) } func (*Public) ProtoMessage() {} func (*Public) Descriptor() ([]byte, []int) { - return fileDescriptor_a_2f23fa0a8a46426d, []int{0} + return fileDescriptor_73b7577c95fa6b70, []int{0} } func (m *Public) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Public.Unmarshal(m, b) @@ -53,8 +83,8 @@ func (m *Public) XXX_Unmarshal(b []byte) error { func (m *Public) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Public.Marshal(b, m, deterministic) } -func (dst *Public) XXX_Merge(src proto.Message) { - xxx_messageInfo_Public.Merge(dst, src) +func (m *Public) XXX_Merge(src proto.Message) { + xxx_messageInfo_Public.Merge(m, src) } func (m *Public) XXX_Size() int { return xxx_messageInfo_Public.Size(m) @@ -73,8 +103,8 @@ func (m *Public) GetM() *sub.M { } func (m *Public) GetE() sub.E { - if m != nil { - return m.E + if m != nil && m.E != nil { + return *m.E } return sub.E_ZERO } @@ -90,10 +120,10 @@ func init() { proto.RegisterType((*Public)(nil), "goproto.test.import_public.Public") } -func init() { proto.RegisterFile("import_public/a.proto", fileDescriptor_a_2f23fa0a8a46426d) } +func init() { proto.RegisterFile("import_public/a.proto", fileDescriptor_73b7577c95fa6b70) } -var fileDescriptor_a_2f23fa0a8a46426d = []byte{ - // 197 bytes of a gzipped FileDescriptorProto +var fileDescriptor_73b7577c95fa6b70 = []byte{ + // 192 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcd, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x89, 0x2f, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xd6, 0x4f, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x4a, 0xcf, 0x07, 0x33, 0xf4, 0x4a, 0x52, 0x8b, 0x4b, 0xf4, 0x50, 0xd4, 0x48, @@ -105,6 +135,5 @@ var fileDescriptor_a_2f23fa0a8a46426d = []byte{ 0x04, 0x51, 0xef, 0xe4, 0x18, 0x65, 0x9f, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0x9f, 0x9e, 0x9f, 0x9e, 0xaf, 0x0f, 0xd6, 0x98, 0x54, 0x9a, 0x06, 0x61, 0x24, 0xeb, 0xa6, 0xa7, 0xe6, 0xe9, 0x82, 0x25, 0x40, 0x66, 0xa5, 0x24, 0x96, 0x24, 0xea, 0xa3, 0x98, 0x17, 0xc0, - 0x10, 0xc0, 0x98, 0xc4, 0x06, 0x56, 0x6b, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x8b, 0x63, 0x98, - 0xb1, 0x5a, 0x01, 0x00, 0x00, + 0x10, 0xc0, 0x08, 0x08, 0x00, 0x00, 0xff, 0xff, 0x4b, 0xfb, 0x07, 0xae, 0x52, 0x01, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.proto b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.proto index 7234ca09d..955a707b9 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.proto +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/a.proto @@ -29,7 +29,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -syntax = "proto3"; +syntax = "proto2"; package goproto.test.import_public; @@ -39,7 +39,7 @@ import public "import_public/sub/a.proto"; // Different Go package. import public "import_public/b.proto"; // Same Go package. message Public { - goproto.test.import_public.sub.M m = 1; - goproto.test.import_public.sub.E e = 2; - Local local = 3; + optional goproto.test.import_public.sub.M m = 1; + optional goproto.test.import_public.sub.E e = 2; + optional Local local = 3; } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.pb.go index e2c81d874..989c4201a 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.pb.go @@ -1,12 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: import_public/b.proto -package import_public // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public" +package import_public -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import sub "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + sub "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -20,8 +22,8 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type Local struct { - M *sub.M `protobuf:"bytes,1,opt,name=m,proto3" json:"m,omitempty"` - E sub.E `protobuf:"varint,2,opt,name=e,proto3,enum=goproto.test.import_public.sub.E" json:"e,omitempty"` + M *sub.M `protobuf:"bytes,1,opt,name=m" json:"m,omitempty"` + E *sub.E `protobuf:"varint,2,opt,name=e,enum=goproto.test.import_public.sub.E" json:"e,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -31,7 +33,7 @@ func (m *Local) Reset() { *m = Local{} } func (m *Local) String() string { return proto.CompactTextString(m) } func (*Local) ProtoMessage() {} func (*Local) Descriptor() ([]byte, []int) { - return fileDescriptor_b_64c467639fa1a874, []int{0} + return fileDescriptor_84995586b3d09710, []int{0} } func (m *Local) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Local.Unmarshal(m, b) @@ -39,8 +41,8 @@ func (m *Local) XXX_Unmarshal(b []byte) error { func (m *Local) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Local.Marshal(b, m, deterministic) } -func (dst *Local) XXX_Merge(src proto.Message) { - xxx_messageInfo_Local.Merge(dst, src) +func (m *Local) XXX_Merge(src proto.Message) { + xxx_messageInfo_Local.Merge(m, src) } func (m *Local) XXX_Size() int { return xxx_messageInfo_Local.Size(m) @@ -59,8 +61,8 @@ func (m *Local) GetM() *sub.M { } func (m *Local) GetE() sub.E { - if m != nil { - return m.E + if m != nil && m.E != nil { + return *m.E } return sub.E_ZERO } @@ -69,10 +71,10 @@ func init() { proto.RegisterType((*Local)(nil), "goproto.test.import_public.Local") } -func init() { proto.RegisterFile("import_public/b.proto", fileDescriptor_b_64c467639fa1a874) } +func init() { proto.RegisterFile("import_public/b.proto", fileDescriptor_84995586b3d09710) } -var fileDescriptor_b_64c467639fa1a874 = []byte{ - // 171 bytes of a gzipped FileDescriptorProto +var fileDescriptor_84995586b3d09710 = []byte{ + // 166 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcd, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x89, 0x2f, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xd6, 0x4f, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x4a, 0xcf, 0x07, 0x33, 0xf4, 0x4a, 0x52, 0x8b, 0x4b, 0xf4, 0x50, 0xd4, 0x48, @@ -82,6 +84,6 @@ var fileDescriptor_b_64c467639fa1a874 = []byte{ 0x04, 0x93, 0x02, 0xa3, 0x06, 0x1f, 0x61, 0x0d, 0xae, 0x41, 0x8c, 0xa9, 0x4e, 0x8e, 0x51, 0xf6, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0x4d, 0x49, 0xa5, 0x69, 0x10, 0x46, 0xb2, 0x6e, 0x7a, 0x6a, 0x9e, 0x2e, 0x58, 0x02, 0x64, - 0x4e, 0x4a, 0x62, 0x49, 0xa2, 0x3e, 0x8a, 0x59, 0x49, 0x6c, 0x60, 0x75, 0xc6, 0x80, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x2e, 0xf6, 0xdd, 0x8a, 0x04, 0x01, 0x00, 0x00, + 0x4e, 0x4a, 0x62, 0x49, 0xa2, 0x3e, 0x8a, 0x59, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb0, 0xbb, + 0x8d, 0x44, 0xfc, 0x00, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.proto b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.proto index fdcd9ca5d..22bcff009 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.proto +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/b.proto @@ -29,7 +29,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -syntax = "proto3"; +syntax = "proto2"; package goproto.test.import_public; @@ -38,6 +38,6 @@ option go_package = "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_pu import "import_public/sub/a.proto"; message Local { - goproto.test.import_public.sub.M m = 1; - goproto.test.import_public.sub.E e = 2; + optional goproto.test.import_public.sub.M m = 1; + optional goproto.test.import_public.sub.E e = 2; } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.pb.go new file mode 100644 index 000000000..c298f96a0 --- /dev/null +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.pb.go @@ -0,0 +1,84 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: import_public/importing/importing.proto + +package importing + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public" + sub "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub" + math "math" +) + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +type M struct { + // Message type defined in a file publicly imported by a file we import. + M *sub.M `protobuf:"bytes,1,opt,name=m" json:"m,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *M) Reset() { *m = M{} } +func (m *M) String() string { return proto.CompactTextString(m) } +func (*M) ProtoMessage() {} +func (*M) Descriptor() ([]byte, []int) { + return fileDescriptor_36b835b3b8f6171a, []int{0} +} +func (m *M) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_M.Unmarshal(m, b) +} +func (m *M) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_M.Marshal(b, m, deterministic) +} +func (m *M) XXX_Merge(src proto.Message) { + xxx_messageInfo_M.Merge(m, src) +} +func (m *M) XXX_Size() int { + return xxx_messageInfo_M.Size(m) +} +func (m *M) XXX_DiscardUnknown() { + xxx_messageInfo_M.DiscardUnknown(m) +} + +var xxx_messageInfo_M proto.InternalMessageInfo + +func (m *M) GetM() *sub.M { + if m != nil { + return m.M + } + return nil +} + +func init() { + proto.RegisterType((*M)(nil), "goproto.test.import_public.importing.M") +} + +func init() { + proto.RegisterFile("import_public/importing/importing.proto", fileDescriptor_36b835b3b8f6171a) +} + +var fileDescriptor_36b835b3b8f6171a = []byte{ + // 153 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcf, 0xcc, 0x2d, 0xc8, + 0x2f, 0x2a, 0x89, 0x2f, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xd6, 0x87, 0xf0, 0x32, 0xf3, 0xd2, 0x11, + 0x2c, 0xbd, 0x82, 0xa2, 0xfc, 0x92, 0x7c, 0x21, 0x95, 0xf4, 0x7c, 0x30, 0x43, 0xaf, 0x24, 0xb5, + 0xb8, 0x44, 0x0f, 0x45, 0x97, 0x1e, 0x5c, 0xad, 0x94, 0x28, 0xaa, 0x71, 0x89, 0x10, 0xcd, 0x4a, + 0x26, 0x5c, 0x8c, 0xbe, 0x42, 0xfa, 0x5c, 0x8c, 0xb9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, 0x46, + 0x8a, 0x7a, 0x78, 0x4c, 0x2b, 0x2e, 0x4d, 0xd2, 0xf3, 0x0d, 0x62, 0xcc, 0x75, 0xf2, 0x8e, 0xf2, + 0x4c, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0xcf, 0x49, 0xcc, + 0x4b, 0xd7, 0x07, 0x6b, 0x4b, 0x2a, 0x4d, 0x83, 0x30, 0x92, 0x75, 0xd3, 0x53, 0xf3, 0x74, 0xd3, + 0xf3, 0xf5, 0x41, 0xe6, 0xa4, 0x24, 0x96, 0x24, 0xea, 0xe3, 0xf0, 0x0f, 0x20, 0x00, 0x00, 0xff, + 0xff, 0xd8, 0x7e, 0x58, 0x1c, 0xe9, 0x00, 0x00, 0x00, +} diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.proto b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.proto new file mode 100644 index 000000000..38fa54e6d --- /dev/null +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/importing/importing.proto @@ -0,0 +1,43 @@ +// Go support for Protocol Buffers - Google's data interchange format +// +// Copyright 2018 The Go Authors. All rights reserved. +// https://github.com/golang/protobuf +// +// 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. + +syntax = "proto2"; + +package goproto.test.import_public.importing; + +option go_package = "github.com/golang/protobuf/protoc-gen-go/testdata/import_public/importing"; + +import "import_public/a.proto"; + +message M { + // Message type defined in a file publicly imported by a file we import. + optional goproto.test.import_public.sub.M m = 1; +} \ No newline at end of file diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.pb.go index 1cf7f6f97..47901904e 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: import_public/sub/a.proto -package sub // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub" +package sub -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -27,30 +29,127 @@ const ( var E_name = map[int32]string{ 0: "ZERO", } + var E_value = map[string]int32{ "ZERO": 0, } +func (x E) Enum() *E { + p := new(E) + *p = x + return p +} + func (x E) String() string { return proto.EnumName(E_name, int32(x)) } + +func (x *E) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(E_value, data, "E") + if err != nil { + return err + } + *x = E(value) + return nil +} + func (E) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_a_051bb22eaae5295a, []int{0} + return fileDescriptor_382f7805394b5c4e, []int{0} +} + +type M_Subenum int32 + +const ( + M_M_ZERO M_Subenum = 0 +) + +var M_Subenum_name = map[int32]string{ + 0: "M_ZERO", +} + +var M_Subenum_value = map[string]int32{ + "M_ZERO": 0, +} + +func (x M_Subenum) Enum() *M_Subenum { + p := new(M_Subenum) + *p = x + return p +} + +func (x M_Subenum) String() string { + return proto.EnumName(M_Subenum_name, int32(x)) +} + +func (x *M_Subenum) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(M_Subenum_value, data, "M_Subenum") + if err != nil { + return err + } + *x = M_Subenum(value) + return nil +} + +func (M_Subenum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_382f7805394b5c4e, []int{0, 0} +} + +type M_Submessage_Submessage_Subenum int32 + +const ( + M_Submessage_M_SUBMESSAGE_ZERO M_Submessage_Submessage_Subenum = 0 +) + +var M_Submessage_Submessage_Subenum_name = map[int32]string{ + 0: "M_SUBMESSAGE_ZERO", +} + +var M_Submessage_Submessage_Subenum_value = map[string]int32{ + "M_SUBMESSAGE_ZERO": 0, +} + +func (x M_Submessage_Submessage_Subenum) Enum() *M_Submessage_Submessage_Subenum { + p := new(M_Submessage_Submessage_Subenum) + *p = x + return p +} + +func (x M_Submessage_Submessage_Subenum) String() string { + return proto.EnumName(M_Submessage_Submessage_Subenum_name, int32(x)) +} + +func (x *M_Submessage_Submessage_Subenum) UnmarshalJSON(data []byte) error { + value, err := proto.UnmarshalJSONEnum(M_Submessage_Submessage_Subenum_value, data, "M_Submessage_Submessage_Subenum") + if err != nil { + return err + } + *x = M_Submessage_Submessage_Subenum(value) + return nil +} + +func (M_Submessage_Submessage_Subenum) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_382f7805394b5c4e, []int{0, 1, 0} } type M struct { // Field using a type in the same Go package, but a different source file. - M2 *M2 `protobuf:"bytes,1,opt,name=m2,proto3" json:"m2,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + M2 *M2 `protobuf:"bytes,1,opt,name=m2" json:"m2,omitempty"` + // Types that are valid to be assigned to OneofField: + // *M_OneofInt32 + // *M_OneofInt64 + OneofField isM_OneofField `protobuf_oneof:"oneof_field"` + Grouping *M_Grouping `protobuf:"group,4,opt,name=Grouping,json=grouping" json:"grouping,omitempty"` + DefaultField *string `protobuf:"bytes,6,opt,name=default_field,json=defaultField,def=def" json:"default_field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *M) Reset() { *m = M{} } func (m *M) String() string { return proto.CompactTextString(m) } func (*M) ProtoMessage() {} func (*M) Descriptor() ([]byte, []int) { - return fileDescriptor_a_051bb22eaae5295a, []int{0} + return fileDescriptor_382f7805394b5c4e, []int{0} } func (m *M) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M.Unmarshal(m, b) @@ -58,8 +157,8 @@ func (m *M) XXX_Unmarshal(b []byte) error { func (m *M) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M.Marshal(b, m, deterministic) } -func (dst *M) XXX_Merge(src proto.Message) { - xxx_messageInfo_M.Merge(dst, src) +func (m *M) XXX_Merge(src proto.Message) { + xxx_messageInfo_M.Merge(m, src) } func (m *M) XXX_Size() int { return xxx_messageInfo_M.Size(m) @@ -70,6 +169,29 @@ func (m *M) XXX_DiscardUnknown() { var xxx_messageInfo_M proto.InternalMessageInfo +const Default_M_DefaultField string = "def" + +type isM_OneofField interface { + isM_OneofField() +} + +type M_OneofInt32 struct { + OneofInt32 int32 `protobuf:"varint,2,opt,name=oneof_int32,json=oneofInt32,oneof"` +} +type M_OneofInt64 struct { + OneofInt64 int64 `protobuf:"varint,3,opt,name=oneof_int64,json=oneofInt64,oneof"` +} + +func (*M_OneofInt32) isM_OneofField() {} +func (*M_OneofInt64) isM_OneofField() {} + +func (m *M) GetOneofField() isM_OneofField { + if m != nil { + return m.OneofField + } + return nil +} + func (m *M) GetM2() *M2 { if m != nil { return m.M2 @@ -77,24 +199,316 @@ func (m *M) GetM2() *M2 { return nil } +func (m *M) GetOneofInt32() int32 { + if x, ok := m.GetOneofField().(*M_OneofInt32); ok { + return x.OneofInt32 + } + return 0 +} + +func (m *M) GetOneofInt64() int64 { + if x, ok := m.GetOneofField().(*M_OneofInt64); ok { + return x.OneofInt64 + } + return 0 +} + +func (m *M) GetGrouping() *M_Grouping { + if m != nil { + return m.Grouping + } + return nil +} + +func (m *M) GetDefaultField() string { + if m != nil && m.DefaultField != nil { + return *m.DefaultField + } + return Default_M_DefaultField +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*M) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _M_OneofMarshaler, _M_OneofUnmarshaler, _M_OneofSizer, []interface{}{ + (*M_OneofInt32)(nil), + (*M_OneofInt64)(nil), + } +} + +func _M_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*M) + // oneof_field + switch x := m.OneofField.(type) { + case *M_OneofInt32: + _ = b.EncodeVarint(2<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.OneofInt32)) + case *M_OneofInt64: + _ = b.EncodeVarint(3<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.OneofInt64)) + case nil: + default: + return fmt.Errorf("M.OneofField has unexpected type %T", x) + } + return nil +} + +func _M_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*M) + switch tag { + case 2: // oneof_field.oneof_int32 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.OneofField = &M_OneofInt32{int32(x)} + return true, err + case 3: // oneof_field.oneof_int64 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.OneofField = &M_OneofInt64{int64(x)} + return true, err + default: + return false, nil + } +} + +func _M_OneofSizer(msg proto.Message) (n int) { + m := msg.(*M) + // oneof_field + switch x := m.OneofField.(type) { + case *M_OneofInt32: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.OneofInt32)) + case *M_OneofInt64: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.OneofInt64)) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +type M_Grouping struct { + GroupField *string `protobuf:"bytes,5,opt,name=group_field,json=groupField" json:"group_field,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *M_Grouping) Reset() { *m = M_Grouping{} } +func (m *M_Grouping) String() string { return proto.CompactTextString(m) } +func (*M_Grouping) ProtoMessage() {} +func (*M_Grouping) Descriptor() ([]byte, []int) { + return fileDescriptor_382f7805394b5c4e, []int{0, 0} +} +func (m *M_Grouping) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_M_Grouping.Unmarshal(m, b) +} +func (m *M_Grouping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_M_Grouping.Marshal(b, m, deterministic) +} +func (m *M_Grouping) XXX_Merge(src proto.Message) { + xxx_messageInfo_M_Grouping.Merge(m, src) +} +func (m *M_Grouping) XXX_Size() int { + return xxx_messageInfo_M_Grouping.Size(m) +} +func (m *M_Grouping) XXX_DiscardUnknown() { + xxx_messageInfo_M_Grouping.DiscardUnknown(m) +} + +var xxx_messageInfo_M_Grouping proto.InternalMessageInfo + +func (m *M_Grouping) GetGroupField() string { + if m != nil && m.GroupField != nil { + return *m.GroupField + } + return "" +} + +type M_Submessage struct { + // Types that are valid to be assigned to SubmessageOneofField: + // *M_Submessage_SubmessageOneofInt32 + // *M_Submessage_SubmessageOneofInt64 + SubmessageOneofField isM_Submessage_SubmessageOneofField `protobuf_oneof:"submessage_oneof_field"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *M_Submessage) Reset() { *m = M_Submessage{} } +func (m *M_Submessage) String() string { return proto.CompactTextString(m) } +func (*M_Submessage) ProtoMessage() {} +func (*M_Submessage) Descriptor() ([]byte, []int) { + return fileDescriptor_382f7805394b5c4e, []int{0, 1} +} +func (m *M_Submessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_M_Submessage.Unmarshal(m, b) +} +func (m *M_Submessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_M_Submessage.Marshal(b, m, deterministic) +} +func (m *M_Submessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_M_Submessage.Merge(m, src) +} +func (m *M_Submessage) XXX_Size() int { + return xxx_messageInfo_M_Submessage.Size(m) +} +func (m *M_Submessage) XXX_DiscardUnknown() { + xxx_messageInfo_M_Submessage.DiscardUnknown(m) +} + +var xxx_messageInfo_M_Submessage proto.InternalMessageInfo + +type isM_Submessage_SubmessageOneofField interface { + isM_Submessage_SubmessageOneofField() +} + +type M_Submessage_SubmessageOneofInt32 struct { + SubmessageOneofInt32 int32 `protobuf:"varint,1,opt,name=submessage_oneof_int32,json=submessageOneofInt32,oneof"` +} +type M_Submessage_SubmessageOneofInt64 struct { + SubmessageOneofInt64 int64 `protobuf:"varint,2,opt,name=submessage_oneof_int64,json=submessageOneofInt64,oneof"` +} + +func (*M_Submessage_SubmessageOneofInt32) isM_Submessage_SubmessageOneofField() {} +func (*M_Submessage_SubmessageOneofInt64) isM_Submessage_SubmessageOneofField() {} + +func (m *M_Submessage) GetSubmessageOneofField() isM_Submessage_SubmessageOneofField { + if m != nil { + return m.SubmessageOneofField + } + return nil +} + +func (m *M_Submessage) GetSubmessageOneofInt32() int32 { + if x, ok := m.GetSubmessageOneofField().(*M_Submessage_SubmessageOneofInt32); ok { + return x.SubmessageOneofInt32 + } + return 0 +} + +func (m *M_Submessage) GetSubmessageOneofInt64() int64 { + if x, ok := m.GetSubmessageOneofField().(*M_Submessage_SubmessageOneofInt64); ok { + return x.SubmessageOneofInt64 + } + return 0 +} + +// XXX_OneofFuncs is for the internal use of the proto package. +func (*M_Submessage) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { + return _M_Submessage_OneofMarshaler, _M_Submessage_OneofUnmarshaler, _M_Submessage_OneofSizer, []interface{}{ + (*M_Submessage_SubmessageOneofInt32)(nil), + (*M_Submessage_SubmessageOneofInt64)(nil), + } +} + +func _M_Submessage_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { + m := msg.(*M_Submessage) + // submessage_oneof_field + switch x := m.SubmessageOneofField.(type) { + case *M_Submessage_SubmessageOneofInt32: + _ = b.EncodeVarint(1<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.SubmessageOneofInt32)) + case *M_Submessage_SubmessageOneofInt64: + _ = b.EncodeVarint(2<<3 | proto.WireVarint) + _ = b.EncodeVarint(uint64(x.SubmessageOneofInt64)) + case nil: + default: + return fmt.Errorf("M_Submessage.SubmessageOneofField has unexpected type %T", x) + } + return nil +} + +func _M_Submessage_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { + m := msg.(*M_Submessage) + switch tag { + case 1: // submessage_oneof_field.submessage_oneof_int32 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.SubmessageOneofField = &M_Submessage_SubmessageOneofInt32{int32(x)} + return true, err + case 2: // submessage_oneof_field.submessage_oneof_int64 + if wire != proto.WireVarint { + return true, proto.ErrInternalBadWireType + } + x, err := b.DecodeVarint() + m.SubmessageOneofField = &M_Submessage_SubmessageOneofInt64{int64(x)} + return true, err + default: + return false, nil + } +} + +func _M_Submessage_OneofSizer(msg proto.Message) (n int) { + m := msg.(*M_Submessage) + // submessage_oneof_field + switch x := m.SubmessageOneofField.(type) { + case *M_Submessage_SubmessageOneofInt32: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.SubmessageOneofInt32)) + case *M_Submessage_SubmessageOneofInt64: + n += 1 // tag and wire + n += proto.SizeVarint(uint64(x.SubmessageOneofInt64)) + case nil: + default: + panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) + } + return n +} + +var E_ExtensionField = &proto.ExtensionDesc{ + ExtendedType: (*M2)(nil), + ExtensionType: (*string)(nil), + Field: 1, + Name: "goproto.test.import_public.sub.extension_field", + Tag: "bytes,1,opt,name=extension_field", + Filename: "import_public/sub/a.proto", +} + func init() { - proto.RegisterType((*M)(nil), "goproto.test.import_public.sub.M") proto.RegisterEnum("goproto.test.import_public.sub.E", E_name, E_value) + proto.RegisterEnum("goproto.test.import_public.sub.M_Subenum", M_Subenum_name, M_Subenum_value) + proto.RegisterEnum("goproto.test.import_public.sub.M_Submessage_Submessage_Subenum", M_Submessage_Submessage_Subenum_name, M_Submessage_Submessage_Subenum_value) + proto.RegisterType((*M)(nil), "goproto.test.import_public.sub.M") + proto.RegisterType((*M_Grouping)(nil), "goproto.test.import_public.sub.M.Grouping") + proto.RegisterType((*M_Submessage)(nil), "goproto.test.import_public.sub.M.Submessage") + proto.RegisterExtension(E_ExtensionField) } -func init() { proto.RegisterFile("import_public/sub/a.proto", fileDescriptor_a_051bb22eaae5295a) } - -var fileDescriptor_a_051bb22eaae5295a = []byte{ - // 169 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, - 0x2f, 0x2a, 0x89, 0x2f, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xd6, 0x2f, 0x2e, 0x4d, 0xd2, 0x4f, 0xd4, - 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x4b, 0xcf, 0x07, 0x33, 0xf4, 0x4a, 0x52, 0x8b, 0x4b, - 0xf4, 0x50, 0xd4, 0xe9, 0x15, 0x97, 0x26, 0x49, 0x61, 0xd1, 0x9a, 0x04, 0xd1, 0xaa, 0x64, 0xce, - 0xc5, 0xe8, 0x2b, 0x64, 0xc4, 0xc5, 0x94, 0x6b, 0x24, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x6d, 0xa4, - 0xa4, 0x87, 0xdf, 0x30, 0x3d, 0x5f, 0xa3, 0x20, 0xa6, 0x5c, 0x23, 0x2d, 0x5e, 0x2e, 0x46, 0x57, - 0x21, 0x0e, 0x2e, 0x96, 0x28, 0xd7, 0x20, 0x7f, 0x01, 0x06, 0x27, 0xd7, 0x28, 0xe7, 0xf4, 0xcc, - 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, 0x5c, 0xfd, 0xf4, 0xfc, 0xf4, 0x7c, 0x7d, 0xb0, 0x29, - 0x49, 0xa5, 0x69, 0x10, 0x46, 0xb2, 0x6e, 0x7a, 0x6a, 0x9e, 0x2e, 0x58, 0x02, 0x64, 0x70, 0x4a, - 0x62, 0x49, 0xa2, 0x3e, 0x86, 0xb3, 0x92, 0xd8, 0xc0, 0x6a, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, - 0xff, 0x7a, 0x6a, 0x5c, 0xb5, 0xed, 0x00, 0x00, 0x00, +func init() { proto.RegisterFile("import_public/sub/a.proto", fileDescriptor_382f7805394b5c4e) } + +var fileDescriptor_382f7805394b5c4e = []byte{ + // 407 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xcf, 0x6e, 0x9b, 0x40, + 0x10, 0xc6, 0xb3, 0xc6, 0x49, 0x9d, 0x71, 0xdd, 0x3f, 0xab, 0xa6, 0xa2, 0x39, 0xb4, 0x94, 0x13, + 0x4a, 0x94, 0x45, 0xa2, 0x88, 0x43, 0x6e, 0x75, 0x45, 0xd2, 0xaa, 0x42, 0x91, 0x40, 0xbd, 0xe4, + 0x82, 0x58, 0xb3, 0x6c, 0x91, 0x0c, 0x8b, 0xcc, 0xae, 0xd4, 0x47, 0xe8, 0x7b, 0xf5, 0xc5, 0x2a, + 0x16, 0xb0, 0x63, 0xd5, 0x6d, 0x73, 0x5b, 0xe6, 0xfb, 0x7e, 0x33, 0x9a, 0x8f, 0x81, 0x37, 0x65, + 0xd5, 0x88, 0x8d, 0x4c, 0x1b, 0x45, 0xd7, 0xe5, 0xca, 0x6d, 0x15, 0x75, 0x33, 0xd2, 0x6c, 0x84, + 0x14, 0xf8, 0x2d, 0x17, 0xfa, 0x41, 0x24, 0x6b, 0x25, 0xd9, 0xf3, 0x91, 0x56, 0xd1, 0xf3, 0x03, + 0x28, 0xed, 0x51, 0xfb, 0xe7, 0x14, 0x50, 0x84, 0x3d, 0x98, 0x54, 0x9e, 0x89, 0x2c, 0xe4, 0xcc, + 0x3d, 0x9b, 0xfc, 0xbb, 0x1b, 0x89, 0xbc, 0x78, 0x52, 0x79, 0xf8, 0x3d, 0xcc, 0x45, 0xcd, 0x44, + 0x91, 0x96, 0xb5, 0xfc, 0xe0, 0x99, 0x13, 0x0b, 0x39, 0xc7, 0x9f, 0x8f, 0x62, 0xd0, 0xc5, 0x2f, + 0x5d, 0x6d, 0xcf, 0x12, 0xf8, 0xa6, 0x61, 0x21, 0xc7, 0x78, 0x68, 0x09, 0x7c, 0x7c, 0x03, 0x33, + 0xbe, 0x11, 0xaa, 0x29, 0x6b, 0x6e, 0x4e, 0x2d, 0xe4, 0x80, 0x77, 0xf1, 0xdf, 0xf9, 0xe4, 0x76, + 0x20, 0xe2, 0x2d, 0x8b, 0x1d, 0x58, 0xe4, 0xac, 0xc8, 0xd4, 0x5a, 0xa6, 0x45, 0xc9, 0xd6, 0xb9, + 0x79, 0x62, 0x21, 0xe7, 0xf4, 0xda, 0xc8, 0x59, 0x11, 0x3f, 0x1d, 0x94, 0x9b, 0x4e, 0x38, 0xbf, + 0x84, 0xd9, 0xc8, 0xe3, 0x77, 0x30, 0xd7, 0x1d, 0x06, 0xe6, 0xb8, 0x63, 0x62, 0xd0, 0xa5, 0xde, + 0xfc, 0x0b, 0x01, 0x24, 0x8a, 0x56, 0xac, 0x6d, 0x33, 0xce, 0x70, 0x00, 0xaf, 0xdb, 0xed, 0x57, + 0xfa, 0x70, 0x7d, 0x34, 0xac, 0xff, 0x6a, 0xa7, 0xdf, 0xed, 0x82, 0xf8, 0x0b, 0x17, 0xf8, 0x3a, + 0x36, 0xe3, 0x30, 0x17, 0xf8, 0xf6, 0x25, 0xe0, 0xdd, 0xf4, 0x34, 0x51, 0x94, 0xd5, 0xaa, 0xc2, + 0x67, 0xf0, 0x32, 0x4a, 0x93, 0x6f, 0xcb, 0x28, 0x4c, 0x92, 0x8f, 0xb7, 0x61, 0x7a, 0x1f, 0xc6, + 0x77, 0x2f, 0x8e, 0x96, 0xe6, 0x81, 0x21, 0x7a, 0x2f, 0xfb, 0x0c, 0x9e, 0x8c, 0x2c, 0xc0, 0x49, + 0x34, 0x02, 0x8b, 0xf1, 0xf7, 0x68, 0xd7, 0xc5, 0x02, 0x50, 0x88, 0x67, 0x30, 0xed, 0xd5, 0xeb, + 0xaf, 0xf0, 0x9c, 0xfd, 0x90, 0xac, 0x6e, 0x4b, 0x51, 0xf7, 0x0e, 0xfc, 0x88, 0xd3, 0xd0, 0x41, + 0x9c, 0xc6, 0xcf, 0xb6, 0xa8, 0xce, 0x71, 0x19, 0xde, 0x7f, 0xe2, 0xa5, 0xfc, 0xae, 0x28, 0x59, + 0x89, 0xca, 0xe5, 0x82, 0x0b, 0x57, 0x37, 0xa2, 0xaa, 0xe8, 0x1f, 0xab, 0x2b, 0xce, 0xea, 0x2b, + 0x2d, 0x74, 0xbd, 0xf3, 0x4c, 0x66, 0xee, 0x1f, 0x57, 0xfb, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x4f, + 0x37, 0x1b, 0x7d, 0x04, 0x03, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.proto b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.proto index ed0240f40..4ca0cacca 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.proto +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/a.proto @@ -29,7 +29,7 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -syntax = "proto3"; +syntax = "proto2"; package goproto.test.import_public.sub; @@ -39,9 +39,39 @@ import "import_public/sub/b.proto"; message M { // Field using a type in the same Go package, but a different source file. - M2 m2 = 1; + optional M2 m2 = 1; + + oneof oneof_field { + int32 oneof_int32 = 2; + int64 oneof_int64 = 3; + } + + optional group Grouping = 4 { + optional string group_field = 5; + } + + optional string default_field = 6 [default="def"]; + + message Submessage { + enum Submessage_Subenum { + M_SUBMESSAGE_ZERO = 0; + } + + oneof submessage_oneof_field { + int32 submessage_oneof_int32 = 1; + int64 submessage_oneof_int64 = 2; + } + } + + enum Subenum { + M_ZERO = 0; + } } enum E { ZERO = 0; } + +extend M2 { + optional string extension_field = 1; +} \ No newline at end of file diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.pb.go index d43a5c6a0..c9dbd8c0b 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: import_public/sub/b.proto -package sub // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub" +package sub -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -19,25 +21,35 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package type M2 struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + proto.XXX_InternalExtensions `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *M2) Reset() { *m = M2{} } func (m *M2) String() string { return proto.CompactTextString(m) } func (*M2) ProtoMessage() {} func (*M2) Descriptor() ([]byte, []int) { - return fileDescriptor_b_d16d7ba92a37c489, []int{0} + return fileDescriptor_fc66afda3d7c2232, []int{0} } + +var extRange_M2 = []proto.ExtensionRange{ + {Start: 1, End: 536870911}, +} + +func (*M2) ExtensionRangeArray() []proto.ExtensionRange { + return extRange_M2 +} + func (m *M2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M2.Unmarshal(m, b) } func (m *M2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M2.Marshal(b, m, deterministic) } -func (dst *M2) XXX_Merge(src proto.Message) { - xxx_messageInfo_M2.Merge(dst, src) +func (m *M2) XXX_Merge(src proto.Message) { + xxx_messageInfo_M2.Merge(m, src) } func (m *M2) XXX_Size() int { return xxx_messageInfo_M2.Size(m) @@ -52,16 +64,17 @@ func init() { proto.RegisterType((*M2)(nil), "goproto.test.import_public.sub.M2") } -func init() { proto.RegisterFile("import_public/sub/b.proto", fileDescriptor_b_d16d7ba92a37c489) } +func init() { proto.RegisterFile("import_public/sub/b.proto", fileDescriptor_fc66afda3d7c2232) } -var fileDescriptor_b_d16d7ba92a37c489 = []byte{ - // 124 bytes of a gzipped FileDescriptorProto +var fileDescriptor_fc66afda3d7c2232 = []byte{ + // 129 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x89, 0x2f, 0x28, 0x4d, 0xca, 0xc9, 0x4c, 0xd6, 0x2f, 0x2e, 0x4d, 0xd2, 0x4f, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x4b, 0xcf, 0x07, 0x33, 0xf4, 0x4a, 0x52, 0x8b, 0x4b, - 0xf4, 0x50, 0xd4, 0xe9, 0x15, 0x97, 0x26, 0x29, 0xb1, 0x70, 0x31, 0xf9, 0x1a, 0x39, 0xb9, 0x46, - 0x39, 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, - 0xeb, 0x83, 0x75, 0x25, 0x95, 0xa6, 0x41, 0x18, 0xc9, 0xba, 0xe9, 0xa9, 0x79, 0xba, 0x60, 0x09, - 0x90, 0x41, 0x29, 0x89, 0x25, 0x89, 0xfa, 0x18, 0x96, 0x26, 0xb1, 0x81, 0xd5, 0x1a, 0x03, 0x02, - 0x00, 0x00, 0xff, 0xff, 0x9f, 0xe4, 0xbf, 0x60, 0x90, 0x00, 0x00, 0x00, + 0xf4, 0x50, 0xd4, 0xe9, 0x15, 0x97, 0x26, 0x29, 0xf1, 0x71, 0x31, 0xf9, 0x1a, 0x69, 0x71, 0x70, + 0x30, 0x0a, 0x34, 0x34, 0x34, 0x34, 0x30, 0x39, 0xb9, 0x46, 0x39, 0xa7, 0x67, 0x96, 0x64, 0x94, + 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, 0xeb, 0x83, 0xf5, 0x27, 0x95, 0xa6, + 0x41, 0x18, 0xc9, 0xba, 0xe9, 0xa9, 0x79, 0xba, 0x60, 0x09, 0x90, 0x91, 0x29, 0x89, 0x25, 0x89, + 0xfa, 0x18, 0xd6, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x3c, 0x08, 0x57, 0x92, 0x00, 0x00, + 0x00, } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.proto b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.proto index 25a48e701..e9044823f 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.proto +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub/b.proto @@ -29,11 +29,12 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -syntax = "proto3"; +syntax = "proto2"; package goproto.test.import_public.sub; option go_package = "github.com/gogo/protobuf/protoc-gen-gogo/testdata/import_public/sub"; message M2 { + extensions 1 to max; } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/fmt/m.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/fmt/m.pb.go index ac828dfbc..245cc81c1 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/fmt/m.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/fmt/m.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/fmt/m.proto -package fmt // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/fmt" +package fmt -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +30,7 @@ func (m *M) Reset() { *m = M{} } func (m *M) String() string { return proto.CompactTextString(m) } func (*M) ProtoMessage() {} func (*M) Descriptor() ([]byte, []int) { - return fileDescriptor_m_33cccd852670578e, []int{0} + return fileDescriptor_72c126fcd452e392, []int{0} } func (m *M) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M.Unmarshal(m, b) @@ -36,8 +38,8 @@ func (m *M) XXX_Unmarshal(b []byte) error { func (m *M) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M.Marshal(b, m, deterministic) } -func (dst *M) XXX_Merge(src proto.Message) { - xxx_messageInfo_M.Merge(dst, src) +func (m *M) XXX_Merge(src proto.Message) { + xxx_messageInfo_M.Merge(m, src) } func (m *M) XXX_Size() int { return xxx_messageInfo_M.Size(m) @@ -52,9 +54,9 @@ func init() { proto.RegisterType((*M)(nil), "fmt.M") } -func init() { proto.RegisterFile("imports/fmt/m.proto", fileDescriptor_m_33cccd852670578e) } +func init() { proto.RegisterFile("imports/fmt/m.proto", fileDescriptor_72c126fcd452e392) } -var fileDescriptor_m_33cccd852670578e = []byte{ +var fileDescriptor_72c126fcd452e392 = []byte{ // 106 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xce, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x4f, 0xcb, 0x2d, 0xd1, 0xcf, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m1.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m1.pb.go index f0e3a79ec..60b390197 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m1.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m1.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_a_1/m1.proto -package test_a_1 // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" +package test_a_1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -27,6 +29,7 @@ const ( var E1_name = map[int32]string{ 0: "E1_ZERO", } + var E1_value = map[string]int32{ "E1_ZERO": 0, } @@ -34,8 +37,9 @@ var E1_value = map[string]int32{ func (x E1) String() string { return proto.EnumName(E1_name, int32(x)) } + func (E1) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_m1_d51bc82db1cbc235, []int{0} + return fileDescriptor_c1091de3fa870a14, []int{0} } type M1 struct { @@ -48,7 +52,7 @@ func (m *M1) Reset() { *m = M1{} } func (m *M1) String() string { return proto.CompactTextString(m) } func (*M1) ProtoMessage() {} func (*M1) Descriptor() ([]byte, []int) { - return fileDescriptor_m1_d51bc82db1cbc235, []int{0} + return fileDescriptor_c1091de3fa870a14, []int{0} } func (m *M1) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M1.Unmarshal(m, b) @@ -56,8 +60,8 @@ func (m *M1) XXX_Unmarshal(b []byte) error { func (m *M1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M1.Marshal(b, m, deterministic) } -func (dst *M1) XXX_Merge(src proto.Message) { - xxx_messageInfo_M1.Merge(dst, src) +func (m *M1) XXX_Merge(src proto.Message) { + xxx_messageInfo_M1.Merge(m, src) } func (m *M1) XXX_Size() int { return xxx_messageInfo_M1.Size(m) @@ -79,7 +83,7 @@ func (m *M1_1) Reset() { *m = M1_1{} } func (m *M1_1) String() string { return proto.CompactTextString(m) } func (*M1_1) ProtoMessage() {} func (*M1_1) Descriptor() ([]byte, []int) { - return fileDescriptor_m1_d51bc82db1cbc235, []int{1} + return fileDescriptor_c1091de3fa870a14, []int{1} } func (m *M1_1) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M1_1.Unmarshal(m, b) @@ -87,8 +91,8 @@ func (m *M1_1) XXX_Unmarshal(b []byte) error { func (m *M1_1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M1_1.Marshal(b, m, deterministic) } -func (dst *M1_1) XXX_Merge(src proto.Message) { - xxx_messageInfo_M1_1.Merge(dst, src) +func (m *M1_1) XXX_Merge(src proto.Message) { + xxx_messageInfo_M1_1.Merge(m, src) } func (m *M1_1) XXX_Size() int { return xxx_messageInfo_M1_1.Size(m) @@ -107,14 +111,14 @@ func (m *M1_1) GetM1() *M1 { } func init() { + proto.RegisterEnum("test.a.E1", E1_name, E1_value) proto.RegisterType((*M1)(nil), "test.a.M1") proto.RegisterType((*M1_1)(nil), "test.a.M1_1") - proto.RegisterEnum("test.a.E1", E1_name, E1_value) } -func init() { proto.RegisterFile("imports/test_a_1/m1.proto", fileDescriptor_m1_d51bc82db1cbc235) } +func init() { proto.RegisterFile("imports/test_a_1/m1.proto", fileDescriptor_c1091de3fa870a14) } -var fileDescriptor_m1_d51bc82db1cbc235 = []byte{ +var fileDescriptor_c1091de3fa870a14 = []byte{ // 163 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x4f, 0x8c, 0x37, 0xd4, 0xcf, 0x35, 0xd4, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m2.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m2.pb.go index 8ce9fb47c..c2604d6fc 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m2.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1/m2.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_a_1/m2.proto -package test_a_1 // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" +package test_a_1 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +30,7 @@ func (m *M2) Reset() { *m = M2{} } func (m *M2) String() string { return proto.CompactTextString(m) } func (*M2) ProtoMessage() {} func (*M2) Descriptor() ([]byte, []int) { - return fileDescriptor_m2_d5c8bd8077345106, []int{0} + return fileDescriptor_20cf27515c0d621c, []int{0} } func (m *M2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M2.Unmarshal(m, b) @@ -36,8 +38,8 @@ func (m *M2) XXX_Unmarshal(b []byte) error { func (m *M2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M2.Marshal(b, m, deterministic) } -func (dst *M2) XXX_Merge(src proto.Message) { - xxx_messageInfo_M2.Merge(dst, src) +func (m *M2) XXX_Merge(src proto.Message) { + xxx_messageInfo_M2.Merge(m, src) } func (m *M2) XXX_Size() int { return xxx_messageInfo_M2.Size(m) @@ -52,9 +54,9 @@ func init() { proto.RegisterType((*M2)(nil), "test.a.M2") } -func init() { proto.RegisterFile("imports/test_a_1/m2.proto", fileDescriptor_m2_d5c8bd8077345106) } +func init() { proto.RegisterFile("imports/test_a_1/m2.proto", fileDescriptor_20cf27515c0d621c) } -var fileDescriptor_m2_d5c8bd8077345106 = []byte{ +var fileDescriptor_20cf27515c0d621c = []byte{ // 112 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x4f, 0x8c, 0x37, 0xd4, 0xcf, 0x35, 0xd2, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m3.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m3.pb.go index 09b9b072a..f25c6688b 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m3.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m3.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_a_2/m3.proto -package test_a_2 // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2" +package test_a_2 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +30,7 @@ func (m *M3) Reset() { *m = M3{} } func (m *M3) String() string { return proto.CompactTextString(m) } func (*M3) ProtoMessage() {} func (*M3) Descriptor() ([]byte, []int) { - return fileDescriptor_m3_064810011afd7503, []int{0} + return fileDescriptor_ff9d8f834875c9c5, []int{0} } func (m *M3) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M3.Unmarshal(m, b) @@ -36,8 +38,8 @@ func (m *M3) XXX_Unmarshal(b []byte) error { func (m *M3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M3.Marshal(b, m, deterministic) } -func (dst *M3) XXX_Merge(src proto.Message) { - xxx_messageInfo_M3.Merge(dst, src) +func (m *M3) XXX_Merge(src proto.Message) { + xxx_messageInfo_M3.Merge(m, src) } func (m *M3) XXX_Size() int { return xxx_messageInfo_M3.Size(m) @@ -52,9 +54,9 @@ func init() { proto.RegisterType((*M3)(nil), "test.a.M3") } -func init() { proto.RegisterFile("imports/test_a_2/m3.proto", fileDescriptor_m3_064810011afd7503) } +func init() { proto.RegisterFile("imports/test_a_2/m3.proto", fileDescriptor_ff9d8f834875c9c5) } -var fileDescriptor_m3_064810011afd7503 = []byte{ +var fileDescriptor_ff9d8f834875c9c5 = []byte{ // 112 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x4f, 0x8c, 0x37, 0xd2, 0xcf, 0x35, 0xd6, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m4.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m4.pb.go index 208210374..0fa0164e4 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m4.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2/m4.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_a_2/m4.proto -package test_a_2 // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2" +package test_a_2 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +30,7 @@ func (m *M4) Reset() { *m = M4{} } func (m *M4) String() string { return proto.CompactTextString(m) } func (*M4) ProtoMessage() {} func (*M4) Descriptor() ([]byte, []int) { - return fileDescriptor_m4_4d6eef89f3bce729, []int{0} + return fileDescriptor_fdd24f82f6c5a786, []int{0} } func (m *M4) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M4.Unmarshal(m, b) @@ -36,8 +38,8 @@ func (m *M4) XXX_Unmarshal(b []byte) error { func (m *M4) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M4.Marshal(b, m, deterministic) } -func (dst *M4) XXX_Merge(src proto.Message) { - xxx_messageInfo_M4.Merge(dst, src) +func (m *M4) XXX_Merge(src proto.Message) { + xxx_messageInfo_M4.Merge(m, src) } func (m *M4) XXX_Size() int { return xxx_messageInfo_M4.Size(m) @@ -52,9 +54,9 @@ func init() { proto.RegisterType((*M4)(nil), "test.a.M4") } -func init() { proto.RegisterFile("imports/test_a_2/m4.proto", fileDescriptor_m4_4d6eef89f3bce729) } +func init() { proto.RegisterFile("imports/test_a_2/m4.proto", fileDescriptor_fdd24f82f6c5a786) } -var fileDescriptor_m4_4d6eef89f3bce729 = []byte{ +var fileDescriptor_fdd24f82f6c5a786 = []byte{ // 112 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x4f, 0x8c, 0x37, 0xd2, 0xcf, 0x35, 0xd1, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m1.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m1.pb.go index 312383a45..4207274ef 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m1.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m1.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_b_1/m1.proto -package beta // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1" +package beta -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +30,7 @@ func (m *M1) Reset() { *m = M1{} } func (m *M1) String() string { return proto.CompactTextString(m) } func (*M1) ProtoMessage() {} func (*M1) Descriptor() ([]byte, []int) { - return fileDescriptor_m1_dbaf48759a325297, []int{0} + return fileDescriptor_7f49573d035512a8, []int{0} } func (m *M1) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M1.Unmarshal(m, b) @@ -36,8 +38,8 @@ func (m *M1) XXX_Unmarshal(b []byte) error { func (m *M1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M1.Marshal(b, m, deterministic) } -func (dst *M1) XXX_Merge(src proto.Message) { - xxx_messageInfo_M1.Merge(dst, src) +func (m *M1) XXX_Merge(src proto.Message) { + xxx_messageInfo_M1.Merge(m, src) } func (m *M1) XXX_Size() int { return xxx_messageInfo_M1.Size(m) @@ -52,9 +54,9 @@ func init() { proto.RegisterType((*M1)(nil), "test.b.part1.M1") } -func init() { proto.RegisterFile("imports/test_b_1/m1.proto", fileDescriptor_m1_dbaf48759a325297) } +func init() { proto.RegisterFile("imports/test_b_1/m1.proto", fileDescriptor_7f49573d035512a8) } -var fileDescriptor_m1_dbaf48759a325297 = []byte{ +var fileDescriptor_7f49573d035512a8 = []byte{ // 123 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x4f, 0x8a, 0x37, 0xd4, 0xcf, 0x35, 0xd4, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m2.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m2.pb.go index 35da5f9d3..56779a619 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m2.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1/m2.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_b_1/m2.proto -package beta // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1" +package beta -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +30,7 @@ func (m *M2) Reset() { *m = M2{} } func (m *M2) String() string { return proto.CompactTextString(m) } func (*M2) ProtoMessage() {} func (*M2) Descriptor() ([]byte, []int) { - return fileDescriptor_m2_6eda99829d3a5ac8, []int{0} + return fileDescriptor_a1becddceeb586f2, []int{0} } func (m *M2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M2.Unmarshal(m, b) @@ -36,8 +38,8 @@ func (m *M2) XXX_Unmarshal(b []byte) error { func (m *M2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M2.Marshal(b, m, deterministic) } -func (dst *M2) XXX_Merge(src proto.Message) { - xxx_messageInfo_M2.Merge(dst, src) +func (m *M2) XXX_Merge(src proto.Message) { + xxx_messageInfo_M2.Merge(m, src) } func (m *M2) XXX_Size() int { return xxx_messageInfo_M2.Size(m) @@ -52,9 +54,9 @@ func init() { proto.RegisterType((*M2)(nil), "test.b.part2.M2") } -func init() { proto.RegisterFile("imports/test_b_1/m2.proto", fileDescriptor_m2_6eda99829d3a5ac8) } +func init() { proto.RegisterFile("imports/test_b_1/m2.proto", fileDescriptor_a1becddceeb586f2) } -var fileDescriptor_m2_6eda99829d3a5ac8 = []byte{ +var fileDescriptor_a1becddceeb586f2 = []byte{ // 123 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x4f, 0x8a, 0x37, 0xd4, 0xcf, 0x35, 0xd2, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m1.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m1.pb.go index ad84d069b..960aed26a 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m1.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m1.pb.go @@ -1,12 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_import_a1m1.proto -package imports // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports" +package imports -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import test_a_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + test_a_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -30,7 +32,7 @@ func (m *A1M1) Reset() { *m = A1M1{} } func (m *A1M1) String() string { return proto.CompactTextString(m) } func (*A1M1) ProtoMessage() {} func (*A1M1) Descriptor() ([]byte, []int) { - return fileDescriptor_test_import_a1m1_2621f8d5ff4f97af, []int{0} + return fileDescriptor_3b904a47327455f3, []int{0} } func (m *A1M1) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_A1M1.Unmarshal(m, b) @@ -38,8 +40,8 @@ func (m *A1M1) XXX_Unmarshal(b []byte) error { func (m *A1M1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_A1M1.Marshal(b, m, deterministic) } -func (dst *A1M1) XXX_Merge(src proto.Message) { - xxx_messageInfo_A1M1.Merge(dst, src) +func (m *A1M1) XXX_Merge(src proto.Message) { + xxx_messageInfo_A1M1.Merge(m, src) } func (m *A1M1) XXX_Size() int { return xxx_messageInfo_A1M1.Size(m) @@ -61,11 +63,9 @@ func init() { proto.RegisterType((*A1M1)(nil), "test.A1M1") } -func init() { - proto.RegisterFile("imports/test_import_a1m1.proto", fileDescriptor_test_import_a1m1_2621f8d5ff4f97af) -} +func init() { proto.RegisterFile("imports/test_import_a1m1.proto", fileDescriptor_3b904a47327455f3) } -var fileDescriptor_test_import_a1m1_2621f8d5ff4f97af = []byte{ +var fileDescriptor_3b904a47327455f3 = []byte{ // 147 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcb, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x87, 0x70, 0xe2, 0x13, 0x0d, 0x73, 0x0d, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m2.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m2.pb.go index d86bcb215..4dd008095 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m2.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_a1m2.pb.go @@ -1,12 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_import_a1m2.proto -package imports // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports" +package imports -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import test_a_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + test_a_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -30,7 +32,7 @@ func (m *A1M2) Reset() { *m = A1M2{} } func (m *A1M2) String() string { return proto.CompactTextString(m) } func (*A1M2) ProtoMessage() {} func (*A1M2) Descriptor() ([]byte, []int) { - return fileDescriptor_test_import_a1m2_01f3ba09eb823c21, []int{0} + return fileDescriptor_bdb27b114687957d, []int{0} } func (m *A1M2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_A1M2.Unmarshal(m, b) @@ -38,8 +40,8 @@ func (m *A1M2) XXX_Unmarshal(b []byte) error { func (m *A1M2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_A1M2.Marshal(b, m, deterministic) } -func (dst *A1M2) XXX_Merge(src proto.Message) { - xxx_messageInfo_A1M2.Merge(dst, src) +func (m *A1M2) XXX_Merge(src proto.Message) { + xxx_messageInfo_A1M2.Merge(m, src) } func (m *A1M2) XXX_Size() int { return xxx_messageInfo_A1M2.Size(m) @@ -61,11 +63,9 @@ func init() { proto.RegisterType((*A1M2)(nil), "test.A1M2") } -func init() { - proto.RegisterFile("imports/test_import_a1m2.proto", fileDescriptor_test_import_a1m2_01f3ba09eb823c21) -} +func init() { proto.RegisterFile("imports/test_import_a1m2.proto", fileDescriptor_bdb27b114687957d) } -var fileDescriptor_test_import_a1m2_01f3ba09eb823c21 = []byte{ +var fileDescriptor_bdb27b114687957d = []byte{ // 147 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0xcb, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x29, 0xd6, 0x2f, 0x49, 0x2d, 0x2e, 0x89, 0x87, 0x70, 0xe2, 0x13, 0x0d, 0x73, 0x8d, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_all.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_all.pb.go index d2aa5bbd4..19ae861eb 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_all.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_import_all.pb.go @@ -1,15 +1,17 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: imports/test_import_all.proto -package imports // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports" - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import fmt1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/fmt" -import test_a_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" -import test_a_2 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2" -import test_b_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1" +package imports + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + fmt1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/fmt" + test_a_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_1" + test_a_2 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_a_2" + test_b_1 "github.com/gogo/protobuf/protoc-gen-gogo/testdata/imports/test_b_1" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -39,7 +41,7 @@ func (m *All) Reset() { *m = All{} } func (m *All) String() string { return proto.CompactTextString(m) } func (*All) ProtoMessage() {} func (*All) Descriptor() ([]byte, []int) { - return fileDescriptor_test_import_all_a07d58de416f602a, []int{0} + return fileDescriptor_324466f0afc16f77, []int{0} } func (m *All) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_All.Unmarshal(m, b) @@ -47,8 +49,8 @@ func (m *All) XXX_Unmarshal(b []byte) error { func (m *All) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_All.Marshal(b, m, deterministic) } -func (dst *All) XXX_Merge(src proto.Message) { - xxx_messageInfo_All.Merge(dst, src) +func (m *All) XXX_Merge(src proto.Message) { + xxx_messageInfo_All.Merge(m, src) } func (m *All) XXX_Size() int { return xxx_messageInfo_All.Size(m) @@ -112,11 +114,9 @@ func init() { proto.RegisterType((*All)(nil), "test.All") } -func init() { - proto.RegisterFile("imports/test_import_all.proto", fileDescriptor_test_import_all_a07d58de416f602a) -} +func init() { proto.RegisterFile("imports/test_import_all.proto", fileDescriptor_324466f0afc16f77) } -var fileDescriptor_test_import_all_a07d58de416f602a = []byte{ +var fileDescriptor_324466f0afc16f77 = []byte{ // 258 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0xd0, 0x31, 0x4f, 0xf3, 0x30, 0x10, 0x06, 0x60, 0xe5, 0x73, 0xbf, 0x20, 0x99, 0x05, 0x85, 0xc5, 0x20, 0x90, 0x50, 0x27, 0x96, diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.pb.go index 2798c068f..a978e8261 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.pb.go @@ -1,16 +1,16 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: my_test/test.proto -package test // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test" +// This package holds interesting messages. -/* -This package holds interesting messages. -*/ +package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/protoc-gen-gogo/testdata/multi" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/protoc-gen-gogo/testdata/multi" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -35,6 +35,7 @@ var HatType_name = map[int32]string{ 1: "FEDORA", 2: "FEZ", } + var HatType_value = map[string]int32{ "FEDORA": 1, "FEZ": 2, @@ -45,9 +46,11 @@ func (x HatType) Enum() *HatType { *p = x return p } + func (x HatType) String() string { return proto.EnumName(HatType_name, int32(x)) } + func (x *HatType) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(HatType_value, data, "HatType") if err != nil { @@ -56,8 +59,9 @@ func (x *HatType) UnmarshalJSON(data []byte) error { *x = HatType(value) return nil } + func (HatType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{0} + return fileDescriptor_2c9b60a40d5131b9, []int{0} } // This enum represents days of the week. @@ -74,6 +78,7 @@ var Days_name = map[int32]string{ 2: "TUESDAY", // Duplicate value: 1: "LUNDI", } + var Days_value = map[string]int32{ "MONDAY": 1, "TUESDAY": 2, @@ -85,9 +90,11 @@ func (x Days) Enum() *Days { *p = x return p } + func (x Days) String() string { return proto.EnumName(Days_name, int32(x)) } + func (x *Days) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(Days_value, data, "Days") if err != nil { @@ -96,8 +103,9 @@ func (x *Days) UnmarshalJSON(data []byte) error { *x = Days(value) return nil } + func (Days) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{1} + return fileDescriptor_2c9b60a40d5131b9, []int{1} } type Request_Color int32 @@ -113,6 +121,7 @@ var Request_Color_name = map[int32]string{ 1: "GREEN", 2: "BLUE", } + var Request_Color_value = map[string]int32{ "RED": 0, "GREEN": 1, @@ -124,9 +133,11 @@ func (x Request_Color) Enum() *Request_Color { *p = x return p } + func (x Request_Color) String() string { return proto.EnumName(Request_Color_name, int32(x)) } + func (x *Request_Color) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(Request_Color_value, data, "Request_Color") if err != nil { @@ -135,8 +146,9 @@ func (x *Request_Color) UnmarshalJSON(data []byte) error { *x = Request_Color(value) return nil } + func (Request_Color) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{0, 0} + return fileDescriptor_2c9b60a40d5131b9, []int{0, 0} } type Reply_Entry_Game int32 @@ -150,6 +162,7 @@ var Reply_Entry_Game_name = map[int32]string{ 1: "FOOTBALL", 2: "TENNIS", } + var Reply_Entry_Game_value = map[string]int32{ "FOOTBALL": 1, "TENNIS": 2, @@ -160,9 +173,11 @@ func (x Reply_Entry_Game) Enum() *Reply_Entry_Game { *p = x return p } + func (x Reply_Entry_Game) String() string { return proto.EnumName(Reply_Entry_Game_name, int32(x)) } + func (x *Reply_Entry_Game) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(Reply_Entry_Game_value, data, "Reply_Entry_Game") if err != nil { @@ -171,8 +186,9 @@ func (x *Reply_Entry_Game) UnmarshalJSON(data []byte) error { *x = Reply_Entry_Game(value) return nil } + func (Reply_Entry_Game) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{1, 0, 0} + return fileDescriptor_2c9b60a40d5131b9, []int{1, 0, 0} } // This is a message that might be sent somewhere. @@ -191,6 +207,12 @@ type Request struct { Reset_ *int32 `protobuf:"varint,12,opt,name=reset" json:"reset,omitempty"` // This field should not conflict with any getters. GetKey_ *string `protobuf:"bytes,16,opt,name=get_key,json=getKey" json:"get_key,omitempty"` + FloatNinf *float32 `protobuf:"fixed32,20,opt,name=float_ninf,json=floatNinf,def=-inf" json:"float_ninf,omitempty"` + FloatPinf *float32 `protobuf:"fixed32,21,opt,name=float_pinf,json=floatPinf,def=inf" json:"float_pinf,omitempty"` + FloatExp *float32 `protobuf:"fixed32,22,opt,name=float_exp,json=floatExp,def=1e+09" json:"float_exp,omitempty"` + DoubleNinf *float64 `protobuf:"fixed64,23,opt,name=double_ninf,json=doubleNinf,def=-inf" json:"double_ninf,omitempty"` + DoublePinf *float64 `protobuf:"fixed64,24,opt,name=double_pinf,json=doublePinf,def=inf" json:"double_pinf,omitempty"` + DoubleExp *float64 `protobuf:"fixed64,25,opt,name=double_exp,json=doubleExp,def=1e+09" json:"double_exp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -200,7 +222,7 @@ func (m *Request) Reset() { *m = Request{} } func (m *Request) String() string { return proto.CompactTextString(m) } func (*Request) ProtoMessage() {} func (*Request) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{0} + return fileDescriptor_2c9b60a40d5131b9, []int{0} } func (m *Request) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Request.Unmarshal(m, b) @@ -208,8 +230,8 @@ func (m *Request) XXX_Unmarshal(b []byte) error { func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Request.Marshal(b, m, deterministic) } -func (dst *Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_Request.Merge(dst, src) +func (m *Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_Request.Merge(m, src) } func (m *Request) XXX_Size() int { return xxx_messageInfo_Request.Size(m) @@ -223,6 +245,15 @@ var xxx_messageInfo_Request proto.InternalMessageInfo const Default_Request_Hat HatType = HatType_FEDORA var Default_Request_Deadline float32 = float32(math.Inf(1)) +var Default_Request_FloatNinf float32 = float32(math.Inf(-1)) +var Default_Request_FloatPinf float32 = float32(math.Inf(1)) + +const Default_Request_FloatExp float32 = 1e+09 + +var Default_Request_DoubleNinf float64 = math.Inf(-1) +var Default_Request_DoublePinf float64 = math.Inf(1) + +const Default_Request_DoubleExp float64 = 1e+09 func (m *Request) GetKey() []int64 { if m != nil { @@ -287,6 +318,48 @@ func (m *Request) GetGetKey_() string { return "" } +func (m *Request) GetFloatNinf() float32 { + if m != nil && m.FloatNinf != nil { + return *m.FloatNinf + } + return Default_Request_FloatNinf +} + +func (m *Request) GetFloatPinf() float32 { + if m != nil && m.FloatPinf != nil { + return *m.FloatPinf + } + return Default_Request_FloatPinf +} + +func (m *Request) GetFloatExp() float32 { + if m != nil && m.FloatExp != nil { + return *m.FloatExp + } + return Default_Request_FloatExp +} + +func (m *Request) GetDoubleNinf() float64 { + if m != nil && m.DoubleNinf != nil { + return *m.DoubleNinf + } + return Default_Request_DoubleNinf +} + +func (m *Request) GetDoublePinf() float64 { + if m != nil && m.DoublePinf != nil { + return *m.DoublePinf + } + return Default_Request_DoublePinf +} + +func (m *Request) GetDoubleExp() float64 { + if m != nil && m.DoubleExp != nil { + return *m.DoubleExp + } + return Default_Request_DoubleExp +} + type Request_SomeGroup struct { GroupField *int32 `protobuf:"varint,9,opt,name=group_field,json=groupField" json:"group_field,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -298,7 +371,7 @@ func (m *Request_SomeGroup) Reset() { *m = Request_SomeGroup{} } func (m *Request_SomeGroup) String() string { return proto.CompactTextString(m) } func (*Request_SomeGroup) ProtoMessage() {} func (*Request_SomeGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{0, 0} + return fileDescriptor_2c9b60a40d5131b9, []int{0, 0} } func (m *Request_SomeGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Request_SomeGroup.Unmarshal(m, b) @@ -306,8 +379,8 @@ func (m *Request_SomeGroup) XXX_Unmarshal(b []byte) error { func (m *Request_SomeGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Request_SomeGroup.Marshal(b, m, deterministic) } -func (dst *Request_SomeGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_Request_SomeGroup.Merge(dst, src) +func (m *Request_SomeGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_Request_SomeGroup.Merge(m, src) } func (m *Request_SomeGroup) XXX_Size() int { return xxx_messageInfo_Request_SomeGroup.Size(m) @@ -338,7 +411,7 @@ func (m *Reply) Reset() { *m = Reply{} } func (m *Reply) String() string { return proto.CompactTextString(m) } func (*Reply) ProtoMessage() {} func (*Reply) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{1} + return fileDescriptor_2c9b60a40d5131b9, []int{1} } var extRange_Reply = []proto.ExtensionRange{ @@ -348,14 +421,15 @@ var extRange_Reply = []proto.ExtensionRange{ func (*Reply) ExtensionRangeArray() []proto.ExtensionRange { return extRange_Reply } + func (m *Reply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Reply.Unmarshal(m, b) } func (m *Reply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Reply.Marshal(b, m, deterministic) } -func (dst *Reply) XXX_Merge(src proto.Message) { - xxx_messageInfo_Reply.Merge(dst, src) +func (m *Reply) XXX_Merge(src proto.Message) { + xxx_messageInfo_Reply.Merge(m, src) } func (m *Reply) XXX_Size() int { return xxx_messageInfo_Reply.Size(m) @@ -393,7 +467,7 @@ func (m *Reply_Entry) Reset() { *m = Reply_Entry{} } func (m *Reply_Entry) String() string { return proto.CompactTextString(m) } func (*Reply_Entry) ProtoMessage() {} func (*Reply_Entry) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{1, 0} + return fileDescriptor_2c9b60a40d5131b9, []int{1, 0} } func (m *Reply_Entry) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Reply_Entry.Unmarshal(m, b) @@ -401,8 +475,8 @@ func (m *Reply_Entry) XXX_Unmarshal(b []byte) error { func (m *Reply_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Reply_Entry.Marshal(b, m, deterministic) } -func (dst *Reply_Entry) XXX_Merge(src proto.Message) { - xxx_messageInfo_Reply_Entry.Merge(dst, src) +func (m *Reply_Entry) XXX_Merge(src proto.Message) { + xxx_messageInfo_Reply_Entry.Merge(m, src) } func (m *Reply_Entry) XXX_Size() int { return xxx_messageInfo_Reply_Entry.Size(m) @@ -448,7 +522,7 @@ func (m *OtherBase) Reset() { *m = OtherBase{} } func (m *OtherBase) String() string { return proto.CompactTextString(m) } func (*OtherBase) ProtoMessage() {} func (*OtherBase) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{2} + return fileDescriptor_2c9b60a40d5131b9, []int{2} } var extRange_OtherBase = []proto.ExtensionRange{ @@ -458,14 +532,15 @@ var extRange_OtherBase = []proto.ExtensionRange{ func (*OtherBase) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherBase } + func (m *OtherBase) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OtherBase.Unmarshal(m, b) } func (m *OtherBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OtherBase.Marshal(b, m, deterministic) } -func (dst *OtherBase) XXX_Merge(src proto.Message) { - xxx_messageInfo_OtherBase.Merge(dst, src) +func (m *OtherBase) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherBase.Merge(m, src) } func (m *OtherBase) XXX_Size() int { return xxx_messageInfo_OtherBase.Size(m) @@ -493,7 +568,7 @@ func (m *ReplyExtensions) Reset() { *m = ReplyExtensions{} } func (m *ReplyExtensions) String() string { return proto.CompactTextString(m) } func (*ReplyExtensions) ProtoMessage() {} func (*ReplyExtensions) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{3} + return fileDescriptor_2c9b60a40d5131b9, []int{3} } func (m *ReplyExtensions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReplyExtensions.Unmarshal(m, b) @@ -501,8 +576,8 @@ func (m *ReplyExtensions) XXX_Unmarshal(b []byte) error { func (m *ReplyExtensions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ReplyExtensions.Marshal(b, m, deterministic) } -func (dst *ReplyExtensions) XXX_Merge(src proto.Message) { - xxx_messageInfo_ReplyExtensions.Merge(dst, src) +func (m *ReplyExtensions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReplyExtensions.Merge(m, src) } func (m *ReplyExtensions) XXX_Size() int { return xxx_messageInfo_ReplyExtensions.Size(m) @@ -551,7 +626,7 @@ func (m *OtherReplyExtensions) Reset() { *m = OtherReplyExtensions{} } func (m *OtherReplyExtensions) String() string { return proto.CompactTextString(m) } func (*OtherReplyExtensions) ProtoMessage() {} func (*OtherReplyExtensions) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{4} + return fileDescriptor_2c9b60a40d5131b9, []int{4} } func (m *OtherReplyExtensions) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OtherReplyExtensions.Unmarshal(m, b) @@ -559,8 +634,8 @@ func (m *OtherReplyExtensions) XXX_Unmarshal(b []byte) error { func (m *OtherReplyExtensions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OtherReplyExtensions.Marshal(b, m, deterministic) } -func (dst *OtherReplyExtensions) XXX_Merge(src proto.Message) { - xxx_messageInfo_OtherReplyExtensions.Merge(dst, src) +func (m *OtherReplyExtensions) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherReplyExtensions.Merge(m, src) } func (m *OtherReplyExtensions) XXX_Size() int { return xxx_messageInfo_OtherReplyExtensions.Size(m) @@ -589,14 +664,7 @@ func (m *OldReply) Reset() { *m = OldReply{} } func (m *OldReply) String() string { return proto.CompactTextString(m) } func (*OldReply) ProtoMessage() {} func (*OldReply) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{5} -} - -func (m *OldReply) MarshalJSON() ([]byte, error) { - return proto.MarshalMessageSetJSON(&m.XXX_InternalExtensions) -} -func (m *OldReply) UnmarshalJSON(buf []byte) error { - return proto.UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions) + return fileDescriptor_2c9b60a40d5131b9, []int{5} } var extRange_OldReply = []proto.ExtensionRange{ @@ -606,14 +674,15 @@ var extRange_OldReply = []proto.ExtensionRange{ func (*OldReply) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OldReply } + func (m *OldReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldReply.Unmarshal(m, b) } func (m *OldReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldReply.Marshal(b, m, deterministic) } -func (dst *OldReply) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldReply.Merge(dst, src) +func (m *OldReply) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldReply.Merge(m, src) } func (m *OldReply) XXX_Size() int { return xxx_messageInfo_OldReply.Size(m) @@ -649,7 +718,7 @@ func (m *Communique) Reset() { *m = Communique{} } func (m *Communique) String() string { return proto.CompactTextString(m) } func (*Communique) ProtoMessage() {} func (*Communique) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{6} + return fileDescriptor_2c9b60a40d5131b9, []int{6} } func (m *Communique) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Communique.Unmarshal(m, b) @@ -657,8 +726,8 @@ func (m *Communique) XXX_Unmarshal(b []byte) error { func (m *Communique) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Communique.Marshal(b, m, deterministic) } -func (dst *Communique) XXX_Merge(src proto.Message) { - xxx_messageInfo_Communique.Merge(dst, src) +func (m *Communique) XXX_Merge(src proto.Message) { + xxx_messageInfo_Communique.Merge(m, src) } func (m *Communique) XXX_Size() int { return xxx_messageInfo_Communique.Size(m) @@ -1002,7 +1071,7 @@ func (m *Communique_SomeGroup) Reset() { *m = Communique_SomeGroup{} } func (m *Communique_SomeGroup) String() string { return proto.CompactTextString(m) } func (*Communique_SomeGroup) ProtoMessage() {} func (*Communique_SomeGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{6, 0} + return fileDescriptor_2c9b60a40d5131b9, []int{6, 0} } func (m *Communique_SomeGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Communique_SomeGroup.Unmarshal(m, b) @@ -1010,8 +1079,8 @@ func (m *Communique_SomeGroup) XXX_Unmarshal(b []byte) error { func (m *Communique_SomeGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Communique_SomeGroup.Marshal(b, m, deterministic) } -func (dst *Communique_SomeGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_Communique_SomeGroup.Merge(dst, src) +func (m *Communique_SomeGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_Communique_SomeGroup.Merge(m, src) } func (m *Communique_SomeGroup) XXX_Size() int { return xxx_messageInfo_Communique_SomeGroup.Size(m) @@ -1039,7 +1108,7 @@ func (m *Communique_Delta) Reset() { *m = Communique_Delta{} } func (m *Communique_Delta) String() string { return proto.CompactTextString(m) } func (*Communique_Delta) ProtoMessage() {} func (*Communique_Delta) Descriptor() ([]byte, []int) { - return fileDescriptor_test_220c5cc0922855ae, []int{6, 1} + return fileDescriptor_2c9b60a40d5131b9, []int{6, 1} } func (m *Communique_Delta) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Communique_Delta.Unmarshal(m, b) @@ -1047,8 +1116,8 @@ func (m *Communique_Delta) XXX_Unmarshal(b []byte) error { func (m *Communique_Delta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Communique_Delta.Marshal(b, m, deterministic) } -func (dst *Communique_Delta) XXX_Merge(src proto.Message) { - xxx_messageInfo_Communique_Delta.Merge(dst, src) +func (m *Communique_Delta) XXX_Merge(src proto.Message) { + xxx_messageInfo_Communique_Delta.Merge(m, src) } func (m *Communique_Delta) XXX_Size() int { return xxx_messageInfo_Communique_Delta.Size(m) @@ -1078,6 +1147,10 @@ var E_Donut = &proto.ExtensionDesc{ } func init() { + proto.RegisterEnum("my.test.HatType", HatType_name, HatType_value) + proto.RegisterEnum("my.test.Days", Days_name, Days_value) + proto.RegisterEnum("my.test.Request_Color", Request_Color_name, Request_Color_value) + proto.RegisterEnum("my.test.Reply_Entry_Game", Reply_Entry_Game_name, Reply_Entry_Game_value) proto.RegisterType((*Request)(nil), "my.test.Request") proto.RegisterMapType((map[int64]*Reply)(nil), "my.test.Request.MsgMappingEntry") proto.RegisterMapType((map[int32]string)(nil), "my.test.Request.NameMappingEntry") @@ -1085,90 +1158,93 @@ func init() { proto.RegisterType((*Reply)(nil), "my.test.Reply") proto.RegisterType((*Reply_Entry)(nil), "my.test.Reply.Entry") proto.RegisterType((*OtherBase)(nil), "my.test.OtherBase") + proto.RegisterExtension(E_ReplyExtensions_Time) + proto.RegisterExtension(E_ReplyExtensions_Carrot) + proto.RegisterExtension(E_ReplyExtensions_Donut) proto.RegisterType((*ReplyExtensions)(nil), "my.test.ReplyExtensions") proto.RegisterType((*OtherReplyExtensions)(nil), "my.test.OtherReplyExtensions") proto.RegisterType((*OldReply)(nil), "my.test.OldReply") proto.RegisterType((*Communique)(nil), "my.test.Communique") proto.RegisterType((*Communique_SomeGroup)(nil), "my.test.Communique.SomeGroup") proto.RegisterType((*Communique_Delta)(nil), "my.test.Communique.Delta") - proto.RegisterEnum("my.test.HatType", HatType_name, HatType_value) - proto.RegisterEnum("my.test.Days", Days_name, Days_value) - proto.RegisterEnum("my.test.Request_Color", Request_Color_name, Request_Color_value) - proto.RegisterEnum("my.test.Reply_Entry_Game", Reply_Entry_Game_name, Reply_Entry_Game_value) - proto.RegisterExtension(E_ReplyExtensions_Time) - proto.RegisterExtension(E_ReplyExtensions_Carrot) - proto.RegisterExtension(E_ReplyExtensions_Donut) proto.RegisterExtension(E_Tag) proto.RegisterExtension(E_Donut) } -func init() { proto.RegisterFile("my_test/test.proto", fileDescriptor_test_220c5cc0922855ae) } - -var fileDescriptor_test_220c5cc0922855ae = []byte{ - // 1031 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x55, 0xdd, 0x6e, 0xe3, 0x44, - 0x14, 0xce, 0xd8, 0x71, 0x7e, 0x4e, 0x42, 0x6b, 0x46, 0x55, 0x6b, 0x05, 0xed, 0xd6, 0x04, 0x8a, - 0x4c, 0xc5, 0xa6, 0xda, 0x80, 0xc4, 0x2a, 0x88, 0xd5, 0x36, 0x3f, 0x6d, 0xaa, 0x6d, 0x12, 0x69, - 0xda, 0x5e, 0xb0, 0x37, 0xd6, 0x34, 0x9e, 0x3a, 0xa6, 0x19, 0x3b, 0x6b, 0x8f, 0x11, 0xbe, 0xeb, - 0x53, 0xc0, 0x6b, 0x70, 0xcf, 0x0b, 0xf1, 0x16, 0x45, 0x33, 0x0e, 0x49, 0xda, 0xa0, 0xbd, 0xb1, - 0x7c, 0xce, 0xf9, 0xce, 0xe7, 0x39, 0x3f, 0xf3, 0x19, 0x30, 0xcf, 0x5c, 0xc1, 0x12, 0x71, 0x22, - 0x1f, 0xad, 0x45, 0x1c, 0x89, 0x08, 0x97, 0x79, 0xd6, 0x92, 0x66, 0x03, 0xf3, 0x74, 0x2e, 0x82, - 0x13, 0xf5, 0x7c, 0x9d, 0x07, 0x9b, 0xff, 0x14, 0xa1, 0x4c, 0xd8, 0xc7, 0x94, 0x25, 0x02, 0x9b, - 0xa0, 0xdf, 0xb3, 0xcc, 0x42, 0xb6, 0xee, 0xe8, 0x44, 0xbe, 0x62, 0x07, 0xf4, 0x59, 0xca, 0x2c, - 0xdd, 0x46, 0xce, 0x4e, 0x7b, 0xbf, 0xb5, 0x24, 0x6a, 0x2d, 0x13, 0x5a, 0xbd, 0x68, 0x1e, 0xc5, - 0x44, 0x42, 0xf0, 0x31, 0xe8, 0x33, 0x2a, 0xac, 0xa2, 0x42, 0x9a, 0x2b, 0xe4, 0x90, 0x8a, 0xeb, - 0x6c, 0xc1, 0x3a, 0xa5, 0xb3, 0x41, 0x7f, 0x42, 0x4e, 0x89, 0x04, 0xe1, 0x43, 0xa8, 0x78, 0x8c, - 0x7a, 0xf3, 0x20, 0x64, 0x56, 0xd9, 0x46, 0x8e, 0xd6, 0xd1, 0x83, 0xf0, 0x8e, 0xac, 0x9c, 0xf8, - 0x0d, 0x54, 0x93, 0x88, 0x33, 0x3f, 0x8e, 0xd2, 0x85, 0x55, 0xb1, 0x91, 0x03, 0xed, 0xc6, 0xd6, - 0xc7, 0xaf, 0x22, 0xce, 0xce, 0x25, 0x82, 0xac, 0xc1, 0xb8, 0x0f, 0xf5, 0x90, 0x72, 0xe6, 0x72, - 0xba, 0x58, 0x04, 0xa1, 0x6f, 0xed, 0xd8, 0xba, 0x53, 0x6b, 0x7f, 0xb9, 0x95, 0x3c, 0xa6, 0x9c, - 0x8d, 0x72, 0xcc, 0x20, 0x14, 0x71, 0x46, 0x6a, 0xe1, 0xda, 0x83, 0x4f, 0xa1, 0xc6, 0x13, 0x7f, - 0x45, 0xb2, 0xab, 0x48, 0xec, 0x2d, 0x92, 0x51, 0xe2, 0x3f, 0xe1, 0x00, 0xbe, 0x72, 0xe0, 0x3d, - 0x30, 0x62, 0x96, 0x30, 0x61, 0xd5, 0x6d, 0xe4, 0x18, 0x24, 0x37, 0xf0, 0x01, 0x94, 0x7d, 0x26, - 0x5c, 0xd9, 0x65, 0xd3, 0x46, 0x4e, 0x95, 0x94, 0x7c, 0x26, 0xde, 0xb3, 0xac, 0xf1, 0x1d, 0x54, - 0x57, 0xf5, 0xe0, 0x43, 0xa8, 0xa9, 0x6a, 0xdc, 0xbb, 0x80, 0xcd, 0x3d, 0xab, 0xaa, 0x18, 0x40, - 0xb9, 0xce, 0xa4, 0xa7, 0xf1, 0x16, 0xcc, 0xe7, 0x05, 0xac, 0x87, 0x27, 0xc1, 0x6a, 0x78, 0x7b, - 0x60, 0xfc, 0x46, 0xe7, 0x29, 0xb3, 0x34, 0xf5, 0xa9, 0xdc, 0xe8, 0x68, 0x6f, 0x50, 0x63, 0x04, - 0xbb, 0xcf, 0xce, 0xbe, 0x99, 0x8e, 0xf3, 0xf4, 0xaf, 0x37, 0xd3, 0x6b, 0xed, 0x9d, 0x8d, 0xf2, - 0x17, 0xf3, 0x6c, 0x83, 0xae, 0x79, 0x04, 0x86, 0xda, 0x04, 0x5c, 0x06, 0x9d, 0x0c, 0xfa, 0x66, - 0x01, 0x57, 0xc1, 0x38, 0x27, 0x83, 0xc1, 0xd8, 0x44, 0xb8, 0x02, 0xc5, 0xee, 0xe5, 0xcd, 0xc0, - 0xd4, 0x9a, 0x7f, 0x6a, 0x60, 0xa8, 0x5c, 0x7c, 0x0c, 0xc6, 0x5d, 0x94, 0x86, 0x9e, 0x5a, 0xb5, - 0x5a, 0x7b, 0xef, 0x29, 0x75, 0x2b, 0xef, 0x66, 0x0e, 0xc1, 0x47, 0x50, 0x9f, 0x46, 0x7c, 0x41, - 0xa7, 0xaa, 0x6d, 0x89, 0xa5, 0xd9, 0xba, 0x63, 0x74, 0x35, 0x13, 0x91, 0xda, 0xd2, 0xff, 0x9e, - 0x65, 0x49, 0xe3, 0x2f, 0x04, 0x46, 0x5e, 0x49, 0x1f, 0x0e, 0xef, 0x59, 0xe6, 0x8a, 0x19, 0x15, - 0x6e, 0xc8, 0x98, 0x97, 0xb8, 0xaf, 0xdb, 0xdf, 0xff, 0x30, 0xa5, 0x9c, 0xcd, 0xdd, 0x1e, 0x4d, - 0x2e, 0x42, 0xdf, 0x42, 0xb6, 0xe6, 0xe8, 0xe4, 0x8b, 0x7b, 0x96, 0x5d, 0xcf, 0xa8, 0x18, 0x4b, - 0xd0, 0x0a, 0x93, 0x43, 0xf0, 0xc1, 0x66, 0xf5, 0x7a, 0x07, 0xfd, 0xb8, 0x2c, 0x18, 0x7f, 0x03, - 0xa6, 0xcb, 0xb3, 0x7c, 0x34, 0xae, 0xda, 0xb5, 0xb6, 0xba, 0x1f, 0x3a, 0xa9, 0x8f, 0x32, 0x35, - 0x1e, 0x39, 0x9a, 0x76, 0xd3, 0x86, 0xe2, 0x39, 0xe5, 0x0c, 0xd7, 0xa1, 0x72, 0x36, 0x99, 0x5c, - 0x77, 0x4f, 0x2f, 0x2f, 0x4d, 0x84, 0x01, 0x4a, 0xd7, 0x83, 0xf1, 0xf8, 0xe2, 0xca, 0xd4, 0x8e, - 0x2b, 0x15, 0xcf, 0x7c, 0x78, 0x78, 0x78, 0xd0, 0x9a, 0xdf, 0x42, 0x75, 0x22, 0x66, 0x2c, 0xee, - 0xd2, 0x84, 0x61, 0x0c, 0x45, 0x49, 0xab, 0x46, 0x51, 0x25, 0xea, 0x7d, 0x03, 0xfa, 0x37, 0x82, - 0x5d, 0xd5, 0xa5, 0xc1, 0xef, 0x82, 0x85, 0x49, 0x10, 0x85, 0x49, 0xbb, 0x09, 0x45, 0x11, 0x70, - 0x86, 0x9f, 0x8d, 0xc8, 0x62, 0x36, 0x72, 0x10, 0x51, 0xb1, 0xf6, 0x3b, 0x28, 0x4d, 0x69, 0x1c, - 0x47, 0x62, 0x0b, 0x15, 0xa8, 0xf1, 0x5a, 0x4f, 0xbd, 0x6b, 0x76, 0xb2, 0xcc, 0x6b, 0x77, 0xc1, - 0xf0, 0xa2, 0x30, 0x15, 0x18, 0xaf, 0xa0, 0xab, 0x43, 0xab, 0x4f, 0x7d, 0x8a, 0x24, 0x4f, 0x6d, - 0x3a, 0xb0, 0xa7, 0x72, 0x9e, 0x85, 0xb7, 0x97, 0xb7, 0x69, 0x41, 0x65, 0x32, 0xf7, 0x14, 0x4e, - 0x55, 0xff, 0xf8, 0xf8, 0xf8, 0x58, 0xee, 0x68, 0x15, 0xd4, 0xfc, 0x43, 0x07, 0xe8, 0x45, 0x9c, - 0xa7, 0x61, 0xf0, 0x31, 0x65, 0xf8, 0x25, 0xd4, 0x38, 0xbd, 0x67, 0x2e, 0x67, 0xee, 0x34, 0xce, - 0x29, 0x2a, 0xa4, 0x2a, 0x5d, 0x23, 0xd6, 0x8b, 0x33, 0x6c, 0x41, 0x29, 0x4c, 0xf9, 0x2d, 0x8b, - 0x2d, 0x43, 0xb2, 0x0f, 0x0b, 0x64, 0x69, 0xe3, 0xbd, 0x65, 0xa3, 0x4b, 0xb2, 0xd1, 0xc3, 0x42, - 0xde, 0x6a, 0xe9, 0xf5, 0xa8, 0xa0, 0x4a, 0x98, 0xea, 0xd2, 0x2b, 0x2d, 0x7c, 0x00, 0x25, 0xc1, - 0xf8, 0xc2, 0x9d, 0x2a, 0x39, 0x42, 0xc3, 0x02, 0x31, 0xa4, 0xdd, 0x93, 0xf4, 0x33, 0x16, 0xf8, - 0x33, 0xa1, 0xae, 0xa9, 0x26, 0xe9, 0x73, 0x1b, 0x1f, 0x81, 0x21, 0x22, 0x8f, 0x66, 0x16, 0x28, - 0x4d, 0xfc, 0x6c, 0xd5, 0x9b, 0x3e, 0xcd, 0x12, 0x45, 0x20, 0xa3, 0x78, 0x1f, 0x0c, 0x4e, 0xb3, - 0x5b, 0x66, 0xd5, 0xe4, 0xc9, 0xa5, 0x5f, 0x99, 0xd2, 0xef, 0xb1, 0xb9, 0xa0, 0x4a, 0x40, 0x3e, - 0x97, 0x7e, 0x65, 0xe2, 0x26, 0xe8, 0x3c, 0xf1, 0x95, 0x7c, 0x6c, 0x5d, 0xca, 0x61, 0x81, 0xc8, - 0x20, 0xfe, 0x79, 0x53, 0x3f, 0x77, 0x94, 0x7e, 0xbe, 0x58, 0x21, 0xd7, 0xbd, 0x5b, 0x4b, 0xe8, - 0xb0, 0xb0, 0x21, 0xa2, 0x8d, 0xaf, 0x36, 0xc5, 0x68, 0x1f, 0x4a, 0x9c, 0xa9, 0xfe, 0xed, 0xe6, - 0x8a, 0x95, 0x5b, 0x8d, 0x32, 0x18, 0x7d, 0x79, 0xa0, 0x6e, 0x19, 0x8c, 0x34, 0x0c, 0xa2, 0xf0, - 0xf8, 0x25, 0x94, 0x97, 0x72, 0x2f, 0xd7, 0x3c, 0x17, 0x7c, 0x13, 0x49, 0x51, 0x38, 0x1b, 0x7c, - 0x30, 0xb5, 0xe3, 0x16, 0x14, 0x65, 0xe9, 0x32, 0x38, 0x9a, 0x8c, 0xfb, 0xa7, 0xbf, 0x98, 0x08, - 0xd7, 0xa0, 0x7c, 0x7d, 0x33, 0xb8, 0x92, 0x86, 0x26, 0x55, 0xe3, 0xf2, 0x66, 0xdc, 0xbf, 0x30, - 0x51, 0x43, 0x33, 0x51, 0xc7, 0x06, 0x5d, 0x50, 0x7f, 0x6b, 0x5f, 0x7d, 0x75, 0x0c, 0x19, 0xea, - 0xf4, 0xfe, 0x5b, 0xc9, 0xe7, 0x98, 0x5f, 0x55, 0x77, 0x5e, 0x3c, 0x5d, 0xd4, 0xff, 0xdf, 0xc9, - 0xee, 0xbb, 0x0f, 0x6f, 0xfd, 0x40, 0xcc, 0xd2, 0xdb, 0xd6, 0x34, 0xe2, 0x27, 0x7e, 0xe4, 0x47, - 0x27, 0xea, 0xd7, 0x78, 0x9b, 0xde, 0xe5, 0x2f, 0xd3, 0x57, 0x3e, 0x0b, 0x5f, 0xa9, 0x80, 0x24, - 0x93, 0xfb, 0x70, 0xb2, 0xfc, 0xcd, 0xfe, 0x24, 0x1f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x28, - 0xe2, 0x2a, 0xeb, 0x75, 0x07, 0x00, 0x00, +func init() { proto.RegisterFile("my_test/test.proto", fileDescriptor_2c9b60a40d5131b9) } + +var fileDescriptor_2c9b60a40d5131b9 = []byte{ + // 1145 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x56, 0xdd, 0x6e, 0xdb, 0x46, + 0x13, 0x35, 0x49, 0x51, 0x3f, 0x23, 0x7f, 0x36, 0xbf, 0x85, 0x6b, 0xb3, 0x2a, 0x92, 0xb0, 0x4a, + 0x5c, 0x28, 0x6e, 0x23, 0xc7, 0x6a, 0x81, 0xa6, 0x2a, 0x1a, 0xc4, 0xb2, 0xe8, 0x38, 0x88, 0x2d, + 0x17, 0x1b, 0xe7, 0xa2, 0xb9, 0x21, 0x68, 0x71, 0x45, 0xb1, 0xd6, 0x92, 0x8c, 0xb8, 0x2c, 0xcc, + 0x3b, 0x3f, 0x45, 0xfb, 0x1a, 0xbd, 0xef, 0x33, 0xf4, 0x99, 0x5c, 0xec, 0xac, 0x22, 0xc9, 0x56, + 0x51, 0x5d, 0x10, 0x9c, 0x33, 0x67, 0xce, 0x72, 0x67, 0x66, 0x67, 0x05, 0x84, 0x17, 0x9e, 0x60, + 0x99, 0xd8, 0x97, 0x8f, 0x76, 0x3a, 0x4d, 0x44, 0x42, 0x2a, 0xbc, 0x68, 0x4b, 0xb3, 0x41, 0x78, + 0x3e, 0x11, 0xd1, 0x3e, 0x3e, 0x0f, 0x94, 0xb3, 0xf9, 0x77, 0x19, 0x2a, 0x94, 0x7d, 0xcc, 0x59, + 0x26, 0x88, 0x05, 0xc6, 0x15, 0x2b, 0x6c, 0xcd, 0x31, 0x5a, 0x06, 0x95, 0xaf, 0xa4, 0x05, 0xc6, + 0x38, 0x67, 0xb6, 0xe1, 0x68, 0xad, 0x8d, 0xce, 0x76, 0x7b, 0x26, 0xd4, 0x9e, 0x05, 0xb4, 0x8f, + 0x92, 0x49, 0x32, 0xa5, 0x92, 0x42, 0xf6, 0xc0, 0x18, 0xfb, 0xc2, 0x2e, 0x21, 0xd3, 0x9a, 0x33, + 0x4f, 0x7c, 0x71, 0x51, 0xa4, 0xac, 0x5b, 0x3e, 0x76, 0xfb, 0xe7, 0xf4, 0x90, 0x4a, 0x12, 0x79, + 0x04, 0xd5, 0x80, 0xf9, 0xc1, 0x24, 0x8a, 0x99, 0x5d, 0x71, 0xb4, 0x96, 0xde, 0x35, 0xa2, 0x78, + 0x44, 0xe7, 0x20, 0x79, 0x01, 0xb5, 0x2c, 0xe1, 0x2c, 0x9c, 0x26, 0x79, 0x6a, 0x57, 0x1d, 0xad, + 0x05, 0x9d, 0xc6, 0xca, 0xe2, 0xef, 0x12, 0xce, 0x5e, 0x4b, 0x06, 0x5d, 0x90, 0x49, 0x1f, 0xd6, + 0x63, 0x9f, 0x33, 0x8f, 0xfb, 0x69, 0x1a, 0xc5, 0xa1, 0xbd, 0xe1, 0x18, 0xad, 0x7a, 0xe7, 0xcb, + 0x95, 0xe0, 0x81, 0xcf, 0xd9, 0x99, 0xe2, 0xb8, 0xb1, 0x98, 0x16, 0xb4, 0x1e, 0x2f, 0x10, 0x72, + 0x08, 0x75, 0x9e, 0x85, 0x73, 0x91, 0x4d, 0x14, 0x71, 0x56, 0x44, 0xce, 0xb2, 0xf0, 0x8e, 0x06, + 0xf0, 0x39, 0x40, 0xb6, 0xc0, 0x9c, 0xb2, 0x8c, 0x09, 0x7b, 0xdd, 0xd1, 0x5a, 0x26, 0x55, 0x06, + 0xd9, 0x81, 0x4a, 0xc8, 0x84, 0x27, 0xb3, 0x6c, 0x39, 0x5a, 0xab, 0x46, 0xcb, 0x21, 0x13, 0x6f, + 0x59, 0x41, 0x1e, 0x03, 0x8c, 0x26, 0x89, 0x2f, 0xbc, 0x38, 0x8a, 0x47, 0xf6, 0x16, 0x26, 0xa5, + 0xf4, 0x4c, 0x66, 0xa5, 0x86, 0xf8, 0x20, 0x8a, 0x47, 0xa4, 0xf9, 0x89, 0x94, 0x4a, 0xd2, 0x67, + 0x8b, 0xcc, 0x29, 0xce, 0xcf, 0x8a, 0xa3, 0x0c, 0x8f, 0x5d, 0xa7, 0xf6, 0x36, 0x52, 0xcc, 0x03, + 0xf6, 0xf5, 0xf3, 0x1f, 0x68, 0x15, 0x71, 0xf7, 0x3a, 0x25, 0xbb, 0x50, 0x0f, 0x92, 0xfc, 0x72, + 0xc2, 0xd4, 0x6a, 0x3b, 0x8e, 0xd6, 0xd2, 0x66, 0xab, 0x81, 0x72, 0xe0, 0x72, 0x4f, 0xe6, 0x34, + 0x5c, 0xcf, 0x46, 0x9a, 0xb1, 0xc4, 0xc2, 0x05, 0x9f, 0xc2, 0xcc, 0xc2, 0x15, 0x3f, 0x47, 0x12, + 0x1c, 0x3c, 0xff, 0xf4, 0xa3, 0x35, 0xe5, 0x75, 0xaf, 0xd3, 0xc6, 0x37, 0x50, 0x9b, 0x17, 0x8d, + 0x3c, 0x82, 0x3a, 0x96, 0xcc, 0x1b, 0x45, 0x6c, 0x12, 0xd8, 0x35, 0x4c, 0x13, 0x20, 0x74, 0x2c, + 0x91, 0xc6, 0x4b, 0xb0, 0xee, 0x57, 0x69, 0xd1, 0xa1, 0x92, 0x8c, 0x1d, 0xba, 0x05, 0xe6, 0x6f, + 0xfe, 0x24, 0x67, 0xb6, 0x8e, 0xf9, 0x54, 0x46, 0x57, 0x7f, 0xa1, 0x35, 0xce, 0x60, 0xf3, 0x5e, + 0x81, 0x96, 0xc3, 0x89, 0x0a, 0x7f, 0xb2, 0x1c, 0x5e, 0xef, 0x6c, 0x2c, 0xd5, 0x38, 0x9d, 0x14, + 0x4b, 0x72, 0xcd, 0x5d, 0x30, 0xb1, 0xdd, 0x49, 0x05, 0x0c, 0xea, 0xf6, 0xad, 0x35, 0x52, 0x03, + 0xf3, 0x35, 0x75, 0xdd, 0x81, 0xa5, 0x91, 0x2a, 0x94, 0x7a, 0xa7, 0xef, 0x5d, 0x4b, 0x6f, 0xfe, + 0xa1, 0x83, 0x89, 0xb1, 0x64, 0x0f, 0xcc, 0x51, 0x92, 0xc7, 0x01, 0x9e, 0xa7, 0x7a, 0x67, 0xeb, + 0xae, 0x74, 0x5b, 0xb5, 0x8c, 0xa2, 0x90, 0x5d, 0x58, 0x1f, 0x26, 0x3c, 0xf5, 0x87, 0xd8, 0x1b, + 0x99, 0xad, 0x3b, 0x46, 0xcb, 0xec, 0xe9, 0x96, 0x46, 0xeb, 0x33, 0xfc, 0x2d, 0x2b, 0xb2, 0xc6, + 0x9f, 0x1a, 0x98, 0x6a, 0x27, 0x7d, 0x78, 0x74, 0xc5, 0x0a, 0x4f, 0x8c, 0x65, 0xcb, 0x30, 0x16, + 0x64, 0xde, 0x41, 0xe7, 0xdb, 0xef, 0x86, 0x3e, 0x67, 0x13, 0xef, 0xc8, 0xcf, 0xde, 0xc4, 0xa1, + 0xad, 0x39, 0x7a, 0xcb, 0xa0, 0x5f, 0x5c, 0xb1, 0xe2, 0x62, 0xec, 0x8b, 0x81, 0x24, 0xcd, 0x39, + 0x8a, 0x42, 0x76, 0x96, 0x77, 0x6f, 0x74, 0xb5, 0xef, 0x67, 0x1b, 0x26, 0x5f, 0x81, 0xe5, 0xf1, + 0x42, 0x95, 0xc6, 0xc3, 0x03, 0xd5, 0xc1, 0x21, 0x60, 0xd0, 0xf5, 0xb3, 0x02, 0xcb, 0x23, 0x4b, + 0xd3, 0x69, 0x3a, 0x50, 0x7a, 0xed, 0x73, 0x46, 0xd6, 0xa1, 0x7a, 0x7c, 0x7e, 0x7e, 0xd1, 0x3b, + 0x3c, 0x3d, 0xb5, 0x34, 0x02, 0x50, 0xbe, 0x70, 0x07, 0x83, 0x37, 0xef, 0x2c, 0x7d, 0xaf, 0x5a, + 0x0d, 0xac, 0x9b, 0x9b, 0x9b, 0x1b, 0xbd, 0xf9, 0x14, 0x6a, 0xe7, 0x62, 0xcc, 0xa6, 0x3d, 0x3f, + 0x63, 0x84, 0x40, 0x49, 0xca, 0x62, 0x29, 0x6a, 0x14, 0xdf, 0x97, 0xa8, 0x7f, 0x69, 0xb0, 0x89, + 0x59, 0x72, 0xaf, 0x05, 0x8b, 0xb3, 0x28, 0x89, 0xb3, 0x4e, 0x13, 0x4a, 0x22, 0xe2, 0x8c, 0xdc, + 0x2b, 0x91, 0xcd, 0x64, 0xc7, 0x51, 0xf4, 0x75, 0x5e, 0x41, 0x79, 0xe8, 0x4f, 0xa7, 0x89, 0x58, + 0x61, 0x45, 0x58, 0x5e, 0xfb, 0x2e, 0xba, 0x50, 0xa7, 0xb3, 0xb8, 0x4e, 0x0f, 0xcc, 0x20, 0x89, + 0x73, 0x41, 0xc8, 0x9c, 0x3a, 0xff, 0x68, 0x5c, 0xea, 0xbf, 0x44, 0x54, 0x68, 0xb3, 0x05, 0x5b, + 0x18, 0x73, 0xcf, 0xbd, 0xda, 0xbc, 0x4d, 0x1b, 0xaa, 0xe7, 0x93, 0x00, 0x79, 0xb8, 0xfb, 0xdb, + 0xdb, 0xdb, 0xdb, 0x4a, 0x57, 0xaf, 0x6a, 0xcd, 0xdf, 0x0d, 0x80, 0xa3, 0x84, 0xf3, 0x3c, 0x8e, + 0x3e, 0xe6, 0x8c, 0x3c, 0x84, 0x3a, 0xf7, 0xaf, 0x98, 0xc7, 0x99, 0x37, 0x9c, 0x2a, 0x89, 0x2a, + 0xad, 0x49, 0xe8, 0x8c, 0x1d, 0x4d, 0x0b, 0x62, 0x43, 0x39, 0xce, 0xf9, 0x25, 0x9b, 0xda, 0xa6, + 0x54, 0x3f, 0x59, 0xa3, 0x33, 0x9b, 0x6c, 0xcd, 0x12, 0x5d, 0x96, 0x89, 0x3e, 0x59, 0x53, 0xa9, + 0x96, 0x68, 0xe0, 0x0b, 0x1f, 0xa7, 0xef, 0xba, 0x44, 0xa5, 0x45, 0x76, 0xa0, 0x2c, 0x18, 0x4f, + 0xbd, 0x21, 0xce, 0x5c, 0xed, 0x64, 0x8d, 0x9a, 0xd2, 0x3e, 0x92, 0xf2, 0x63, 0x16, 0x85, 0x63, + 0x81, 0xc7, 0x54, 0x97, 0xf2, 0xca, 0x26, 0xbb, 0x60, 0x8a, 0x24, 0xf0, 0x0b, 0x1b, 0x70, 0xf0, + 0xff, 0x6f, 0x9e, 0x9b, 0xbe, 0x5f, 0x64, 0x28, 0x20, 0xbd, 0x64, 0x1b, 0x4c, 0xee, 0x17, 0x97, + 0xcc, 0xae, 0xcb, 0x2f, 0x97, 0x38, 0x9a, 0x12, 0x0f, 0xd8, 0x44, 0xf8, 0x38, 0x25, 0xff, 0x2f, + 0x71, 0x34, 0x49, 0x13, 0x0c, 0x9e, 0x85, 0x38, 0x23, 0x57, 0x0e, 0xe5, 0xc9, 0x1a, 0x95, 0x4e, + 0xf2, 0xd3, 0xf2, 0x25, 0xb1, 0x81, 0x97, 0xc4, 0x83, 0x39, 0x73, 0x91, 0xbb, 0xc5, 0x3d, 0x71, + 0xb2, 0xb6, 0x74, 0x53, 0x34, 0x1e, 0x2f, 0x0f, 0xa3, 0x6d, 0x28, 0x73, 0x86, 0xf9, 0xdb, 0x54, + 0x63, 0x59, 0x59, 0x8d, 0x0a, 0x98, 0x7d, 0xf9, 0x41, 0xbd, 0x0a, 0x98, 0x79, 0x1c, 0x25, 0xf1, + 0xde, 0x43, 0xa8, 0xcc, 0xee, 0x34, 0xd9, 0xe6, 0xea, 0x56, 0xb3, 0x34, 0x39, 0x14, 0x8e, 0xdd, + 0x0f, 0x96, 0xbe, 0xd7, 0x86, 0x92, 0xdc, 0xba, 0x74, 0x9e, 0x9d, 0x0f, 0xfa, 0x87, 0xbf, 0x58, + 0x1a, 0xa9, 0x43, 0xe5, 0xe2, 0xbd, 0xfb, 0x4e, 0x1a, 0xba, 0x9c, 0x1a, 0xa7, 0xef, 0x07, 0xfd, + 0x37, 0x96, 0xd6, 0xd0, 0x2d, 0xad, 0xeb, 0x80, 0x21, 0xfc, 0x70, 0xa5, 0x5f, 0x43, 0xfc, 0x0c, + 0xe9, 0xea, 0x1e, 0x7d, 0x6a, 0xc9, 0xfb, 0x9c, 0x5f, 0x31, 0x3b, 0x0f, 0xee, 0x36, 0xea, 0xbf, + 0xf7, 0x64, 0xef, 0xd5, 0x87, 0x97, 0x61, 0x24, 0xc6, 0xf9, 0x65, 0x7b, 0x98, 0xf0, 0xfd, 0x30, + 0x09, 0x93, 0x7d, 0xbc, 0xff, 0x2f, 0xf3, 0x91, 0x7a, 0x19, 0x3e, 0x0b, 0x59, 0xfc, 0x0c, 0x1d, + 0x52, 0x4c, 0xf6, 0xc3, 0xfe, 0xec, 0xbf, 0xc4, 0x8f, 0xf2, 0xf1, 0x4f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x0b, 0xc8, 0x22, 0xdb, 0x5a, 0x08, 0x00, 0x00, } diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.proto b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.proto index c16c2871f..87071ba30 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.proto +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/my_test/test.proto @@ -85,6 +85,13 @@ message Request { optional int32 reset = 12; // This field should not conflict with any getters. optional string get_key = 16; + + optional float float_ninf = 20 [default=-inf]; + optional float float_pinf = 21 [default=inf]; + optional float float_exp = 22 [default=1e9]; + optional double double_ninf = 23 [default=-inf]; + optional double double_pinf = 24 [default=inf]; + optional double double_exp = 25 [default=1e9]; } message Reply { diff --git a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/proto3/proto3.pb.go b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/proto3/proto3.pb.go index c4ae7ea7e..a22c8d959 100644 --- a/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/proto3/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/protoc-gen-gogo/testdata/proto3/proto3.pb.go @@ -1,11 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: proto3/proto3.proto -package proto3 // import "github.com/gogo/protobuf/protoc-gen-gogo/testdata/proto3" +package proto3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -33,6 +35,7 @@ var Request_Flavour_name = map[int32]string{ 2: "UMAMI", 3: "GOPHERLICIOUS", } + var Request_Flavour_value = map[string]int32{ "SWEET": 0, "SOUR": 1, @@ -43,8 +46,9 @@ var Request_Flavour_value = map[string]int32{ func (x Request_Flavour) String() string { return proto.EnumName(Request_Flavour_name, int32(x)) } + func (Request_Flavour) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_proto3_1eff755e13e61017, []int{0, 0} + return fileDescriptor_ab04eb4084a521db, []int{0, 0} } type Request struct { @@ -62,7 +66,7 @@ func (m *Request) Reset() { *m = Request{} } func (m *Request) String() string { return proto.CompactTextString(m) } func (*Request) ProtoMessage() {} func (*Request) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_1eff755e13e61017, []int{0} + return fileDescriptor_ab04eb4084a521db, []int{0} } func (m *Request) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Request.Unmarshal(m, b) @@ -70,8 +74,8 @@ func (m *Request) XXX_Unmarshal(b []byte) error { func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Request.Marshal(b, m, deterministic) } -func (dst *Request) XXX_Merge(src proto.Message) { - xxx_messageInfo_Request.Merge(dst, src) +func (m *Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_Request.Merge(m, src) } func (m *Request) XXX_Size() int { return xxx_messageInfo_Request.Size(m) @@ -129,7 +133,7 @@ func (m *Book) Reset() { *m = Book{} } func (m *Book) String() string { return proto.CompactTextString(m) } func (*Book) ProtoMessage() {} func (*Book) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_1eff755e13e61017, []int{1} + return fileDescriptor_ab04eb4084a521db, []int{1} } func (m *Book) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Book.Unmarshal(m, b) @@ -137,8 +141,8 @@ func (m *Book) XXX_Unmarshal(b []byte) error { func (m *Book) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Book.Marshal(b, m, deterministic) } -func (dst *Book) XXX_Merge(src proto.Message) { - xxx_messageInfo_Book.Merge(dst, src) +func (m *Book) XXX_Merge(src proto.Message) { + xxx_messageInfo_Book.Merge(m, src) } func (m *Book) XXX_Size() int { return xxx_messageInfo_Book.Size(m) @@ -164,14 +168,14 @@ func (m *Book) GetRawData() []byte { } func init() { + proto.RegisterEnum("proto3.Request_Flavour", Request_Flavour_name, Request_Flavour_value) proto.RegisterType((*Request)(nil), "proto3.Request") proto.RegisterType((*Book)(nil), "proto3.Book") - proto.RegisterEnum("proto3.Request_Flavour", Request_Flavour_name, Request_Flavour_value) } -func init() { proto.RegisterFile("proto3/proto3.proto", fileDescriptor_proto3_1eff755e13e61017) } +func init() { proto.RegisterFile("proto3/proto3.proto", fileDescriptor_ab04eb4084a521db) } -var fileDescriptor_proto3_1eff755e13e61017 = []byte{ +var fileDescriptor_ab04eb4084a521db = []byte{ // 303 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x3c, 0x90, 0x4d, 0x4f, 0xf2, 0x40, 0x14, 0x85, 0x99, 0x7e, 0xbc, 0xc0, 0x7d, 0xd1, 0x8c, 0x57, 0x13, 0xc7, 0x8d, 0x99, 0xb0, 0xea, diff --git a/vendor/github.com/gogo/protobuf/test/asymetric-issue125/asym.pb.go b/vendor/github.com/gogo/protobuf/test/asymetric-issue125/asym.pb.go index 0a55fb8cd..93e559e27 100644 --- a/vendor/github.com/gogo/protobuf/test/asymetric-issue125/asym.pb.go +++ b/vendor/github.com/gogo/protobuf/test/asymetric-issue125/asym.pb.go @@ -3,14 +3,14 @@ package asym -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +34,7 @@ func (m *M) Reset() { *m = M{} } func (m *M) String() string { return proto.CompactTextString(m) } func (*M) ProtoMessage() {} func (*M) Descriptor() ([]byte, []int) { - return fileDescriptor_asym_34ee0efbcd9b19e2, []int{0} + return fileDescriptor_72d286349de177ec, []int{0} } func (m *M) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -51,8 +51,8 @@ func (m *M) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *M) XXX_Merge(src proto.Message) { - xxx_messageInfo_M.Merge(dst, src) +func (m *M) XXX_Merge(src proto.Message) { + xxx_messageInfo_M.Merge(m, src) } func (m *M) XXX_Size() int { return m.Size() @@ -73,7 +73,7 @@ func (m *MyType) Reset() { *m = MyType{} } func (m *MyType) String() string { return proto.CompactTextString(m) } func (*MyType) ProtoMessage() {} func (*MyType) Descriptor() ([]byte, []int) { - return fileDescriptor_asym_34ee0efbcd9b19e2, []int{1} + return fileDescriptor_72d286349de177ec, []int{1} } func (m *MyType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -81,8 +81,8 @@ func (m *MyType) XXX_Unmarshal(b []byte) error { func (m *MyType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MyType.Marshal(b, m, deterministic) } -func (dst *MyType) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyType.Merge(dst, src) +func (m *MyType) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyType.Merge(m, src) } func (m *MyType) XXX_Size() int { return xxx_messageInfo_MyType.Size(m) @@ -97,6 +97,23 @@ func init() { proto.RegisterType((*M)(nil), "asym.M") proto.RegisterType((*MyType)(nil), "asym.MyType") } + +func init() { proto.RegisterFile("asym.proto", fileDescriptor_72d286349de177ec) } + +var fileDescriptor_72d286349de177ec = []byte{ + // 158 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4a, 0x2c, 0xae, 0xcc, + 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x01, 0xb1, 0xa5, 0x74, 0xd3, 0x33, 0x4b, 0x32, + 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0x92, 0x49, 0xa5, + 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x34, 0x29, 0xa9, 0x72, 0x31, 0xfa, 0x0a, 0x29, 0x70, + 0x31, 0x27, 0x16, 0x15, 0x49, 0x30, 0x2a, 0x30, 0x6b, 0xf0, 0x38, 0xf1, 0x9d, 0xb8, 0x27, 0xcf, + 0x70, 0xeb, 0x9e, 0x3c, 0x9b, 0x6f, 0x65, 0x48, 0x65, 0x41, 0x6a, 0x10, 0x48, 0x4a, 0x49, 0x8a, + 0x0b, 0xca, 0xb5, 0x12, 0xd8, 0xb1, 0x40, 0x9e, 0xe1, 0xc7, 0x02, 0x79, 0x86, 0x8e, 0x85, 0xf2, + 0x0c, 0x0b, 0x16, 0xca, 0x33, 0x38, 0x49, 0x3c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, + 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, + 0x23, 0x20, 0x00, 0x00, 0xff, 0xff, 0x81, 0x2c, 0x72, 0xc1, 0x9e, 0x00, 0x00, 0x00, +} + func (this *M) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -620,19 +637,3 @@ var ( ErrInvalidLengthAsym = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowAsym = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("asym.proto", fileDescriptor_asym_34ee0efbcd9b19e2) } - -var fileDescriptor_asym_34ee0efbcd9b19e2 = []byte{ - // 158 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4a, 0x2c, 0xae, 0xcc, - 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x01, 0xb1, 0xa5, 0x74, 0xd3, 0x33, 0x4b, 0x32, - 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0x92, 0x49, 0xa5, - 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x34, 0x29, 0xa9, 0x72, 0x31, 0xfa, 0x0a, 0x29, 0x70, - 0x31, 0x27, 0x16, 0x15, 0x49, 0x30, 0x2a, 0x30, 0x6b, 0xf0, 0x38, 0xf1, 0x9d, 0xb8, 0x27, 0xcf, - 0x70, 0xeb, 0x9e, 0x3c, 0x9b, 0x6f, 0x65, 0x48, 0x65, 0x41, 0x6a, 0x10, 0x48, 0x4a, 0x49, 0x8a, - 0x0b, 0xca, 0xb5, 0x12, 0xd8, 0xb1, 0x40, 0x9e, 0xe1, 0xc7, 0x02, 0x79, 0x86, 0x8e, 0x85, 0xf2, - 0x0c, 0x0b, 0x16, 0xca, 0x33, 0x38, 0x49, 0x3c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, - 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, - 0x23, 0x20, 0x00, 0x00, 0xff, 0xff, 0x81, 0x2c, 0x72, 0xc1, 0x9e, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/cachedsize/cachedsize.pb.go b/vendor/github.com/gogo/protobuf/test/cachedsize/cachedsize.pb.go index e19a2b37a..9341d842b 100644 --- a/vendor/github.com/gogo/protobuf/test/cachedsize/cachedsize.pb.go +++ b/vendor/github.com/gogo/protobuf/test/cachedsize/cachedsize.pb.go @@ -3,12 +3,13 @@ package cachedsize -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,7 +33,7 @@ func (m *Foo) Reset() { *m = Foo{} } func (m *Foo) String() string { return proto.CompactTextString(m) } func (*Foo) ProtoMessage() {} func (*Foo) Descriptor() ([]byte, []int) { - return fileDescriptor_cachedsize_3c7c595320e5882b, []int{0} + return fileDescriptor_dd0d29d364e4fbd8, []int{0} } func (m *Foo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Foo.Unmarshal(m, b) @@ -40,8 +41,8 @@ func (m *Foo) XXX_Unmarshal(b []byte) error { func (m *Foo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Foo.Marshal(b, m, deterministic) } -func (dst *Foo) XXX_Merge(src proto.Message) { - xxx_messageInfo_Foo.Merge(dst, src) +func (m *Foo) XXX_Merge(src proto.Message) { + xxx_messageInfo_Foo.Merge(m, src) } func (m *Foo) XXX_Size() int { return xxx_messageInfo_Foo.Size(m) @@ -70,7 +71,7 @@ func (m *Bar) Reset() { *m = Bar{} } func (m *Bar) String() string { return proto.CompactTextString(m) } func (*Bar) ProtoMessage() {} func (*Bar) Descriptor() ([]byte, []int) { - return fileDescriptor_cachedsize_3c7c595320e5882b, []int{1} + return fileDescriptor_dd0d29d364e4fbd8, []int{1} } func (m *Bar) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Bar.Unmarshal(m, b) @@ -78,8 +79,8 @@ func (m *Bar) XXX_Unmarshal(b []byte) error { func (m *Bar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Bar.Marshal(b, m, deterministic) } -func (dst *Bar) XXX_Merge(src proto.Message) { - xxx_messageInfo_Bar.Merge(dst, src) +func (m *Bar) XXX_Merge(src proto.Message) { + xxx_messageInfo_Bar.Merge(m, src) } func (m *Bar) XXX_Size() int { return xxx_messageInfo_Bar.Size(m) @@ -101,6 +102,24 @@ func init() { proto.RegisterType((*Foo)(nil), "cachedsize.Foo") proto.RegisterType((*Bar)(nil), "cachedsize.Bar") } + +func init() { proto.RegisterFile("cachedsize.proto", fileDescriptor_dd0d29d364e4fbd8) } + +var fileDescriptor_dd0d29d364e4fbd8 = []byte{ + // 162 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0x4e, 0x4c, 0xce, + 0x48, 0x4d, 0x29, 0xce, 0xac, 0x4a, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x42, 0x88, + 0x48, 0xe9, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, + 0xe7, 0xeb, 0x83, 0x95, 0x24, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xaa, 0xa4, + 0xc7, 0xc5, 0xec, 0x96, 0x9f, 0x2f, 0xa4, 0xce, 0xc5, 0x96, 0x96, 0x99, 0x9a, 0x93, 0x62, 0x28, + 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x6d, 0xc4, 0xaf, 0x87, 0x64, 0x89, 0x53, 0x62, 0x51, 0x10, 0x54, + 0x5a, 0x49, 0x99, 0x8b, 0xd9, 0x29, 0xb1, 0x48, 0x48, 0x06, 0xaa, 0xde, 0x08, 0xac, 0x9e, 0xc3, + 0x89, 0xe5, 0xc4, 0x3d, 0x79, 0x06, 0xa8, 0x22, 0x23, 0x27, 0x89, 0x07, 0x0f, 0xe5, 0x18, 0x57, + 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, 0x8e, 0xe1, 0xc2, 0x23, 0x39, 0x86, 0x07, 0x8f, 0xe4, 0x18, + 0x3f, 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0x95, 0xd6, 0x7b, 0xf2, 0xbc, 0x00, + 0x00, 0x00, +} + func (this *Foo) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -263,20 +282,3 @@ func sovCachedsize(x uint64) (n int) { func sozCachedsize(x uint64) (n int) { return sovCachedsize(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } - -func init() { proto.RegisterFile("cachedsize.proto", fileDescriptor_cachedsize_3c7c595320e5882b) } - -var fileDescriptor_cachedsize_3c7c595320e5882b = []byte{ - // 162 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0x4e, 0x4c, 0xce, - 0x48, 0x4d, 0x29, 0xce, 0xac, 0x4a, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x42, 0x88, - 0x48, 0xe9, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, - 0xe7, 0xeb, 0x83, 0x95, 0x24, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xaa, 0xa4, - 0xc7, 0xc5, 0xec, 0x96, 0x9f, 0x2f, 0xa4, 0xce, 0xc5, 0x96, 0x96, 0x99, 0x9a, 0x93, 0x62, 0x28, - 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x6d, 0xc4, 0xaf, 0x87, 0x64, 0x89, 0x53, 0x62, 0x51, 0x10, 0x54, - 0x5a, 0x49, 0x99, 0x8b, 0xd9, 0x29, 0xb1, 0x48, 0x48, 0x06, 0xaa, 0xde, 0x08, 0xac, 0x9e, 0xc3, - 0x89, 0xe5, 0xc4, 0x3d, 0x79, 0x06, 0xa8, 0x22, 0x23, 0x27, 0x89, 0x07, 0x0f, 0xe5, 0x18, 0x57, - 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, 0x8e, 0xe1, 0xc2, 0x23, 0x39, 0x86, 0x07, 0x8f, 0xe4, 0x18, - 0x3f, 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0x95, 0xd6, 0x7b, 0xf2, 0xbc, 0x00, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/casttype/combos/both/casttype.pb.go b/vendor/github.com/gogo/protobuf/test/casttype/combos/both/casttype.pb.go index ad6dda052..00a60f5c0 100644 --- a/vendor/github.com/gogo/protobuf/test/casttype/combos/both/casttype.pb.go +++ b/vendor/github.com/gogo/protobuf/test/casttype/combos/both/casttype.pb.go @@ -3,26 +3,23 @@ package casttype -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -60,7 +57,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_c3de4173df712bd1, []int{0} + return fileDescriptor_e62bd869da1a4b71, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -77,8 +74,8 @@ func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return m.Size() @@ -99,7 +96,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_c3de4173df712bd1, []int{1} + return fileDescriptor_e62bd869da1a4b71, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -116,8 +113,8 @@ func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return m.Size() @@ -136,6 +133,57 @@ func init() { proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)(nil), "casttype.Castaway.MyNullableMapEntry") proto.RegisterType((*Wilson)(nil), "casttype.Wilson") } + +func init() { proto.RegisterFile("combos/both/casttype.proto", fileDescriptor_e62bd869da1a4b71) } + +var fileDescriptor_e62bd869da1a4b71 = []byte{ + // 694 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x4c, + 0x18, 0xc7, 0xfd, 0x34, 0x4d, 0x9b, 0x5c, 0x9a, 0xf7, 0x8d, 0x4e, 0x0c, 0x56, 0x24, 0xce, 0x56, + 0xab, 0x22, 0x0f, 0x90, 0x54, 0x69, 0x54, 0xaa, 0x82, 0x18, 0x5c, 0x15, 0xa9, 0x08, 0x17, 0x64, + 0xa8, 0x2a, 0x10, 0x8b, 0xd3, 0x9a, 0x34, 0xc2, 0x89, 0xa3, 0xf8, 0x02, 0xf2, 0x56, 0x95, 0x01, + 0x89, 0xbf, 0x84, 0x91, 0x05, 0x89, 0x91, 0xb1, 0x63, 0x47, 0xa6, 0xb4, 0x36, 0x4b, 0xd9, 0x3a, + 0x56, 0x99, 0xd0, 0xdd, 0x39, 0xb1, 0xfb, 0x03, 0x94, 0xa6, 0xdb, 0x3d, 0x77, 0xcf, 0xf3, 0x79, + 0xbe, 0xf7, 0xdc, 0x73, 0x77, 0xa8, 0xb8, 0xed, 0x36, 0x6b, 0xae, 0x57, 0xae, 0xb9, 0x74, 0xb7, + 0xbc, 0x6d, 0x79, 0x94, 0xfa, 0x6d, 0xbb, 0xd4, 0xee, 0xb8, 0xd4, 0xc5, 0x99, 0x81, 0x5d, 0xbc, + 0x57, 0x6f, 0xd0, 0xdd, 0x6e, 0xad, 0xb4, 0xed, 0x36, 0xcb, 0x75, 0xb7, 0xee, 0x96, 0xb9, 0x43, + 0xad, 0xfb, 0x96, 0x5b, 0xdc, 0xe0, 0x23, 0x11, 0x38, 0xfb, 0x3b, 0x8f, 0x32, 0xab, 0x96, 0x47, + 0xad, 0x0f, 0x96, 0x8f, 0xe7, 0x51, 0x66, 0xbd, 0x45, 0x17, 0x2b, 0xcf, 0x69, 0x47, 0x06, 0x15, + 0xb4, 0x94, 0x9e, 0xed, 0xf7, 0x94, 0x74, 0x83, 0xcd, 0x99, 0xc3, 0x25, 0x3c, 0x87, 0xd2, 0x7c, + 0x2c, 0x4f, 0x70, 0x9f, 0xfc, 0x41, 0x4f, 0x91, 0x62, 0x3f, 0xb1, 0x86, 0x5f, 0xa1, 0x9c, 0xe1, + 0x6f, 0x36, 0x5a, 0x74, 0xa9, 0xca, 0x70, 0x29, 0x15, 0xb4, 0x49, 0xfd, 0x7e, 0xbf, 0xa7, 0x2c, + 0xfe, 0x55, 0x20, 0xb5, 0x3d, 0x1a, 0x6f, 0x6c, 0x10, 0xfd, 0xd2, 0x6f, 0xdb, 0x66, 0x92, 0x85, + 0xb7, 0x50, 0x66, 0x60, 0xca, 0x93, 0x9c, 0xfb, 0x20, 0x92, 0x30, 0x16, 0x7b, 0x08, 0xc3, 0x6f, + 0xd0, 0x8c, 0xe1, 0x3f, 0x76, 0x5c, 0x2b, 0xaa, 0x41, 0x5a, 0x05, 0x6d, 0x42, 0x5f, 0xee, 0xf7, + 0x94, 0xea, 0xc8, 0xe0, 0x28, 0x9c, 0x93, 0xcf, 0xd1, 0xf0, 0x6b, 0x94, 0x1d, 0xda, 0xf2, 0x14, + 0x47, 0x3f, 0x8c, 0x74, 0x8f, 0x87, 0x8f, 0x71, 0x09, 0xe5, 0xa2, 0xdc, 0xd3, 0x2a, 0x68, 0x30, + 0x8e, 0xf2, 0xa8, 0x26, 0xe7, 0x68, 0x09, 0xe5, 0x4b, 0x55, 0x39, 0xc3, 0xd1, 0x63, 0x2a, 0x8f, + 0xf0, 0x31, 0x0e, 0x3f, 0x41, 0xd3, 0x86, 0xaf, 0xfb, 0xd4, 0xf6, 0xe4, 0xac, 0x0a, 0xda, 0x8c, + 0xbe, 0xd0, 0xef, 0x29, 0x77, 0x47, 0xa4, 0xf2, 0x38, 0x73, 0x00, 0xc0, 0x2a, 0xca, 0x6d, 0xb8, + 0x9d, 0xa6, 0xe5, 0x08, 0x1e, 0x62, 0x3c, 0x33, 0x39, 0x85, 0x37, 0xd9, 0x4e, 0xc4, 0x69, 0x7b, + 0x72, 0x4e, 0x4d, 0xdd, 0xa4, 0x27, 0x63, 0x12, 0x6e, 0xa0, 0xb4, 0xe1, 0x1b, 0x56, 0x5b, 0x9e, + 0x51, 0x53, 0x5a, 0xae, 0x72, 0xbb, 0x34, 0x8c, 0x18, 0xdc, 0xad, 0x12, 0x5f, 0x5f, 0x6b, 0xd1, + 0x8e, 0xaf, 0x57, 0xfb, 0x3d, 0x65, 0x61, 0xe4, 0x8c, 0x86, 0xd5, 0xe6, 0xe9, 0x44, 0x06, 0xfc, + 0x0d, 0xd8, 0xc5, 0x5a, 0xed, 0x7a, 0xd4, 0x6d, 0xb2, 0x8c, 0x79, 0x9e, 0x71, 0xee, 0xca, 0x8c, + 0x43, 0x2f, 0x91, 0xb7, 0xb5, 0x7f, 0x74, 0x8d, 0x9d, 0xbe, 0xa0, 0x9d, 0x46, 0xab, 0xce, 0x52, + 0x7f, 0x3e, 0x1a, 0xfb, 0xd2, 0x0e, 0x15, 0xe0, 0x8f, 0x80, 0xf2, 0x86, 0xbf, 0xd1, 0x75, 0x1c, + 0xab, 0xe6, 0xd8, 0x4c, 0xf9, 0x7f, 0x5c, 0xf9, 0xfc, 0x95, 0xca, 0x13, 0x7e, 0x42, 0xfb, 0xd2, + 0xfe, 0x91, 0x52, 0x19, 0x59, 0x04, 0x7f, 0x82, 0xb8, 0x86, 0xf3, 0x39, 0xf1, 0x27, 0xae, 0x62, + 0xad, 0x59, 0xb3, 0x77, 0x76, 0xec, 0x1d, 0xa6, 0xe2, 0xff, 0x7f, 0xa8, 0x48, 0xf8, 0x09, 0x15, + 0x2b, 0xac, 0xeb, 0xc7, 0x57, 0x92, 0xe0, 0xe1, 0x67, 0x68, 0x4a, 0x54, 0x58, 0x2e, 0xa8, 0xa0, + 0x65, 0xaf, 0xd9, 0x86, 0xf1, 0xe1, 0x98, 0x11, 0xa6, 0xb8, 0x8c, 0x50, 0xdc, 0x63, 0xb8, 0x80, + 0x52, 0xef, 0x6c, 0x9f, 0xbf, 0xe2, 0x59, 0x93, 0x0d, 0xf1, 0x2d, 0x94, 0x7e, 0x6f, 0x39, 0x5d, + 0x9b, 0xbf, 0xda, 0x93, 0xa6, 0x30, 0x56, 0x26, 0x96, 0xa1, 0xf8, 0x08, 0x15, 0x2e, 0xf6, 0xca, + 0xb5, 0xe2, 0x4d, 0x84, 0x2f, 0x9f, 0x58, 0x92, 0x90, 0x16, 0x84, 0x3b, 0x49, 0x42, 0xae, 0x52, + 0x88, 0x6b, 0xbe, 0xd5, 0x70, 0x3c, 0xb7, 0x75, 0x89, 0x79, 0xb1, 0xfe, 0x37, 0x63, 0xce, 0x12, + 0x34, 0x25, 0x26, 0xd9, 0x5e, 0xd6, 0xf9, 0xf7, 0xc1, 0x7f, 0x39, 0x53, 0x18, 0xfa, 0xd3, 0x83, + 0x80, 0x48, 0x87, 0x01, 0x91, 0x7e, 0x06, 0x44, 0x3a, 0x0e, 0x08, 0x9c, 0x04, 0x04, 0x4e, 0x03, + 0x02, 0x67, 0x01, 0x81, 0xbd, 0x90, 0xc0, 0x97, 0x90, 0xc0, 0xd7, 0x90, 0xc0, 0xf7, 0x90, 0xc0, + 0x8f, 0x90, 0xc0, 0x41, 0x48, 0xe0, 0x30, 0x24, 0x70, 0x1c, 0x12, 0x38, 0x09, 0x89, 0x74, 0x1a, + 0x12, 0x38, 0x0b, 0x89, 0xb4, 0xf7, 0x8b, 0x48, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x0c, + 0x8a, 0xc1, 0xaf, 0x07, 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CasttypeDescription() } @@ -145,279 +193,281 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CasttypeDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4344 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0xe6, 0xe2, 0x87, 0x04, 0x0e, 0x40, 0x70, 0x79, 0x49, 0xcb, 0x10, 0x13, 0x83, 0x14, 0xe5, - 0x1f, 0xda, 0x4e, 0x28, 0x8f, 0xfe, 0x05, 0x25, 0x76, 0x09, 0x12, 0x62, 0xa0, 0x12, 0x24, 0xb3, - 0x24, 0x23, 0xcb, 0x69, 0x67, 0x67, 0xb9, 0xb8, 0x04, 0x57, 0x5a, 0xec, 0x6e, 0x76, 0x17, 0x92, - 0xa1, 0xe9, 0x83, 0x1a, 0xb7, 0xcd, 0xa4, 0x9d, 0xfe, 0x77, 0xa6, 0x89, 0xeb, 0xb8, 0x4d, 0x3a, - 0x8d, 0xd3, 0xf4, 0x27, 0x49, 0xd3, 0xa4, 0x49, 0xfa, 0x92, 0x97, 0xb4, 0x7e, 0xea, 0x24, 0x6f, - 0x7d, 0xe8, 0xc8, 0x16, 0xe3, 0x99, 0x3a, 0xad, 0xdb, 0xb8, 0xad, 0x1e, 0x3c, 0xf2, 0x4b, 0xe7, - 0xfe, 0x2d, 0x16, 0x3f, 0xd4, 0x82, 0xca, 0xd8, 0x79, 0x22, 0xf6, 0xdc, 0xf3, 0x7d, 0xf7, 0xdc, - 0x73, 0xcf, 0xbd, 0xe7, 0xdc, 0xbb, 0x4b, 0xf8, 0xe9, 0x39, 0x98, 0xa9, 0xdb, 0x76, 0xdd, 0xc4, - 0xc7, 0x1c, 0xd7, 0xf6, 0xed, 0xed, 0xe6, 0xce, 0xb1, 0x1a, 0xf6, 0x74, 0xd7, 0x70, 0x7c, 0xdb, - 0x9d, 0xa7, 0x32, 0x34, 0xc6, 0x34, 0xe6, 0x85, 0xc6, 0x6c, 0x15, 0xc6, 0x2f, 0x18, 0x26, 0x5e, - 0x0a, 0x14, 0x37, 0xb0, 0x8f, 0xce, 0x42, 0x62, 0xc7, 0x30, 0x71, 0x5e, 0x9a, 0x89, 0xcf, 0x65, - 0x8e, 0x3f, 0x3c, 0xdf, 0x05, 0x9a, 0xef, 0x44, 0xac, 0x13, 0xb1, 0x42, 0x11, 0xb3, 0x6f, 0x24, - 0x60, 0xa2, 0x4f, 0x2b, 0x42, 0x90, 0xb0, 0xb4, 0x06, 0x61, 0x94, 0xe6, 0xd2, 0x0a, 0xfd, 0x8d, - 0xf2, 0x30, 0xe2, 0x68, 0xfa, 0x55, 0xad, 0x8e, 0xf3, 0x31, 0x2a, 0x16, 0x8f, 0xa8, 0x00, 0x50, - 0xc3, 0x0e, 0xb6, 0x6a, 0xd8, 0xd2, 0x5b, 0xf9, 0xf8, 0x4c, 0x7c, 0x2e, 0xad, 0x84, 0x24, 0xe8, - 0x49, 0x18, 0x77, 0x9a, 0xdb, 0xa6, 0xa1, 0xab, 0x21, 0x35, 0x98, 0x89, 0xcf, 0x25, 0x15, 0x99, - 0x35, 0x2c, 0xb5, 0x95, 0x1f, 0x83, 0xb1, 0xeb, 0x58, 0xbb, 0x1a, 0x56, 0xcd, 0x50, 0xd5, 0x1c, - 0x11, 0x87, 0x14, 0x17, 0x21, 0xdb, 0xc0, 0x9e, 0xa7, 0xd5, 0xb1, 0xea, 0xb7, 0x1c, 0x9c, 0x4f, - 0xd0, 0xd1, 0xcf, 0xf4, 0x8c, 0xbe, 0x7b, 0xe4, 0x19, 0x8e, 0xda, 0x6c, 0x39, 0x18, 0x2d, 0x40, - 0x1a, 0x5b, 0xcd, 0x06, 0x63, 0x48, 0xee, 0xe3, 0xbf, 0xb2, 0xd5, 0x6c, 0x74, 0xb3, 0xa4, 0x08, - 0x8c, 0x53, 0x8c, 0x78, 0xd8, 0xbd, 0x66, 0xe8, 0x38, 0x3f, 0x4c, 0x09, 0x1e, 0xeb, 0x21, 0xd8, - 0x60, 0xed, 0xdd, 0x1c, 0x02, 0x87, 0x16, 0x21, 0x8d, 0x9f, 0xf7, 0xb1, 0xe5, 0x19, 0xb6, 0x95, - 0x1f, 0xa1, 0x24, 0x8f, 0xf4, 0x99, 0x45, 0x6c, 0xd6, 0xba, 0x29, 0xda, 0x38, 0x74, 0x1a, 0x46, - 0x6c, 0xc7, 0x37, 0x6c, 0xcb, 0xcb, 0xa7, 0x66, 0xa4, 0xb9, 0xcc, 0xf1, 0x0f, 0xf6, 0x0d, 0x84, - 0x35, 0xa6, 0xa3, 0x08, 0x65, 0x54, 0x01, 0xd9, 0xb3, 0x9b, 0xae, 0x8e, 0x55, 0xdd, 0xae, 0x61, - 0xd5, 0xb0, 0x76, 0xec, 0x7c, 0x9a, 0x12, 0x4c, 0xf7, 0x0e, 0x84, 0x2a, 0x2e, 0xda, 0x35, 0x5c, - 0xb1, 0x76, 0x6c, 0x25, 0xe7, 0x75, 0x3c, 0xa3, 0x43, 0x30, 0xec, 0xb5, 0x2c, 0x5f, 0x7b, 0x3e, - 0x9f, 0xa5, 0x11, 0xc2, 0x9f, 0x66, 0xbf, 0x3b, 0x0c, 0x63, 0x83, 0x84, 0xd8, 0x79, 0x48, 0xee, - 0x90, 0x51, 0xe6, 0x63, 0x07, 0xf1, 0x01, 0xc3, 0x74, 0x3a, 0x71, 0xf8, 0x3e, 0x9d, 0xb8, 0x00, - 0x19, 0x0b, 0x7b, 0x3e, 0xae, 0xb1, 0x88, 0x88, 0x0f, 0x18, 0x53, 0xc0, 0x40, 0xbd, 0x21, 0x95, - 0xb8, 0xaf, 0x90, 0x7a, 0x16, 0xc6, 0x02, 0x93, 0x54, 0x57, 0xb3, 0xea, 0x22, 0x36, 0x8f, 0x45, - 0x59, 0x32, 0x5f, 0x16, 0x38, 0x85, 0xc0, 0x94, 0x1c, 0xee, 0x78, 0x46, 0x4b, 0x00, 0xb6, 0x85, - 0xed, 0x1d, 0xb5, 0x86, 0x75, 0x33, 0x9f, 0xda, 0xc7, 0x4b, 0x6b, 0x44, 0xa5, 0xc7, 0x4b, 0x36, - 0x93, 0xea, 0x26, 0x3a, 0xd7, 0x0e, 0xb5, 0x91, 0x7d, 0x22, 0xa5, 0xca, 0x16, 0x59, 0x4f, 0xb4, - 0x6d, 0x41, 0xce, 0xc5, 0x24, 0xee, 0x71, 0x8d, 0x8f, 0x2c, 0x4d, 0x8d, 0x98, 0x8f, 0x1c, 0x99, - 0xc2, 0x61, 0x6c, 0x60, 0xa3, 0x6e, 0xf8, 0x11, 0x1d, 0x85, 0x40, 0xa0, 0xd2, 0xb0, 0x02, 0xba, - 0x0b, 0x65, 0x85, 0x70, 0x55, 0x6b, 0xe0, 0xa9, 0x1b, 0x90, 0xeb, 0x74, 0x0f, 0x9a, 0x84, 0xa4, - 0xe7, 0x6b, 0xae, 0x4f, 0xa3, 0x30, 0xa9, 0xb0, 0x07, 0x24, 0x43, 0x1c, 0x5b, 0x35, 0xba, 0xcb, - 0x25, 0x15, 0xf2, 0x13, 0xfd, 0x42, 0x7b, 0xc0, 0x71, 0x3a, 0xe0, 0x47, 0x7b, 0x67, 0xb4, 0x83, - 0xb9, 0x7b, 0xdc, 0x53, 0x67, 0x60, 0xb4, 0x63, 0x00, 0x83, 0x76, 0x3d, 0xfb, 0x2b, 0xf0, 0x40, - 0x5f, 0x6a, 0xf4, 0x2c, 0x4c, 0x36, 0x2d, 0xc3, 0xf2, 0xb1, 0xeb, 0xb8, 0x98, 0x44, 0x2c, 0xeb, - 0x2a, 0xff, 0xef, 0x23, 0xfb, 0xc4, 0xdc, 0x56, 0x58, 0x9b, 0xb1, 0x28, 0x13, 0xcd, 0x5e, 0xe1, - 0x13, 0xe9, 0xd4, 0x9b, 0x23, 0xf2, 0xcd, 0x9b, 0x37, 0x6f, 0xc6, 0x66, 0x3f, 0x37, 0x0c, 0x93, + // 4379 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7b, 0x5b, 0x70, 0x1c, 0xc7, + 0x75, 0x36, 0x66, 0x2f, 0xc0, 0xee, 0xd9, 0xc5, 0x62, 0xd0, 0x80, 0xa8, 0x15, 0x64, 0x2d, 0x40, + 0x50, 0x17, 0xe8, 0x06, 0xaa, 0x78, 0xd7, 0xd2, 0x96, 0x7e, 0x2c, 0xb0, 0x84, 0x97, 0x3f, 0x16, + 0x80, 0x07, 0x80, 0x29, 0xca, 0x49, 0x4d, 0x0d, 0x66, 0x1b, 0x8b, 0x21, 0x67, 0x67, 0xc6, 0x33, + 0xb3, 0xa4, 0x96, 0x95, 0x07, 0xc6, 0x4a, 0xe2, 0x72, 0xee, 0xb7, 0xaa, 0xd8, 0x8a, 0xac, 0xc4, + 0x4e, 0xc5, 0x72, 0x9c, 0x8b, 0xed, 0x24, 0x76, 0x6c, 0xe7, 0xc5, 0x2f, 0x4e, 0xf8, 0x94, 0xb2, + 0xdf, 0xf2, 0x90, 0xa2, 0x44, 0x58, 0x55, 0x91, 0x13, 0x25, 0x51, 0x12, 0x3e, 0xa8, 0xa8, 0x97, + 0x54, 0xdf, 0x66, 0x67, 0x2f, 0xe0, 0x2c, 0xe8, 0x92, 0xfc, 0x84, 0x9d, 0xd3, 0xe7, 0xfb, 0xfa, + 0xf4, 0xe9, 0xd3, 0x7d, 0x4e, 0xf7, 0x0c, 0xe0, 0x46, 0x11, 0x66, 0xea, 0xb6, 0x5d, 0x37, 0xf1, + 0x51, 0xc7, 0xb5, 0x7d, 0x7b, 0xbb, 0xb9, 0x73, 0xb4, 0x86, 0x3d, 0xdd, 0x35, 0x1c, 0xdf, 0x76, + 0xe7, 0xa9, 0x0c, 0x8d, 0x31, 0x8d, 0x79, 0xa1, 0x31, 0x5b, 0x85, 0xf1, 0x73, 0x86, 0x89, 0x97, + 0x02, 0xc5, 0x0d, 0xec, 0xa3, 0x33, 0x90, 0xd8, 0x31, 0x4c, 0x9c, 0x97, 0x66, 0xe2, 0x73, 0x99, + 0x63, 0x0f, 0xcf, 0x77, 0x81, 0xe6, 0x3b, 0x11, 0xeb, 0x44, 0xac, 0x50, 0xc4, 0xec, 0x5b, 0x09, + 0x98, 0xe8, 0xd3, 0x8a, 0x10, 0x24, 0x2c, 0xad, 0x41, 0x18, 0xa5, 0xb9, 0xb4, 0x42, 0x7f, 0xa3, + 0x3c, 0x8c, 0x38, 0x9a, 0x7e, 0x59, 0xab, 0xe3, 0x7c, 0x8c, 0x8a, 0xc5, 0x23, 0x2a, 0x00, 0xd4, + 0xb0, 0x83, 0xad, 0x1a, 0xb6, 0xf4, 0x56, 0x3e, 0x3e, 0x13, 0x9f, 0x4b, 0x2b, 0x21, 0x09, 0x7a, + 0x12, 0xc6, 0x9d, 0xe6, 0xb6, 0x69, 0xe8, 0x6a, 0x48, 0x0d, 0x66, 0xe2, 0x73, 0x49, 0x45, 0x66, + 0x0d, 0x4b, 0x6d, 0xe5, 0xc7, 0x60, 0xec, 0x2a, 0xd6, 0x2e, 0x87, 0x55, 0x33, 0x54, 0x35, 0x47, + 0xc4, 0x21, 0xc5, 0x45, 0xc8, 0x36, 0xb0, 0xe7, 0x69, 0x75, 0xac, 0xfa, 0x2d, 0x07, 0xe7, 0x13, + 0x74, 0xf4, 0x33, 0x3d, 0xa3, 0xef, 0x1e, 0x79, 0x86, 0xa3, 0x36, 0x5b, 0x0e, 0x46, 0x0b, 0x90, + 0xc6, 0x56, 0xb3, 0xc1, 0x18, 0x92, 0xfb, 0xf8, 0xaf, 0x6c, 0x35, 0x1b, 0xdd, 0x2c, 0x29, 0x02, + 0xe3, 0x14, 0x23, 0x1e, 0x76, 0xaf, 0x18, 0x3a, 0xce, 0x0f, 0x53, 0x82, 0xc7, 0x7a, 0x08, 0x36, + 0x58, 0x7b, 0x37, 0x87, 0xc0, 0xa1, 0x45, 0x48, 0xe3, 0x97, 0x7c, 0x6c, 0x79, 0x86, 0x6d, 0xe5, + 0x47, 0x28, 0xc9, 0x23, 0x7d, 0x66, 0x11, 0x9b, 0xb5, 0x6e, 0x8a, 0x36, 0x0e, 0x9d, 0x82, 0x11, + 0xdb, 0xf1, 0x0d, 0xdb, 0xf2, 0xf2, 0xa9, 0x19, 0x69, 0x2e, 0x73, 0xec, 0x23, 0x7d, 0x03, 0x61, + 0x8d, 0xe9, 0x28, 0x42, 0x19, 0x55, 0x40, 0xf6, 0xec, 0xa6, 0xab, 0x63, 0x55, 0xb7, 0x6b, 0x58, + 0x35, 0xac, 0x1d, 0x3b, 0x9f, 0xa6, 0x04, 0xd3, 0xbd, 0x03, 0xa1, 0x8a, 0x8b, 0x76, 0x0d, 0x57, + 0xac, 0x1d, 0x5b, 0xc9, 0x79, 0x1d, 0xcf, 0xe8, 0x10, 0x0c, 0x7b, 0x2d, 0xcb, 0xd7, 0x5e, 0xca, + 0x67, 0x69, 0x84, 0xf0, 0xa7, 0xd9, 0xef, 0x0e, 0xc3, 0xd8, 0x20, 0x21, 0x76, 0x16, 0x92, 0x3b, + 0x64, 0x94, 0xf9, 0xd8, 0x41, 0x7c, 0xc0, 0x30, 0x9d, 0x4e, 0x1c, 0xbe, 0x47, 0x27, 0x2e, 0x40, + 0xc6, 0xc2, 0x9e, 0x8f, 0x6b, 0x2c, 0x22, 0xe2, 0x03, 0xc6, 0x14, 0x30, 0x50, 0x6f, 0x48, 0x25, + 0xee, 0x29, 0xa4, 0x5e, 0x80, 0xb1, 0xc0, 0x24, 0xd5, 0xd5, 0xac, 0xba, 0x88, 0xcd, 0xa3, 0x51, + 0x96, 0xcc, 0x97, 0x05, 0x4e, 0x21, 0x30, 0x25, 0x87, 0x3b, 0x9e, 0xd1, 0x12, 0x80, 0x6d, 0x61, + 0x7b, 0x47, 0xad, 0x61, 0xdd, 0xcc, 0xa7, 0xf6, 0xf1, 0xd2, 0x1a, 0x51, 0xe9, 0xf1, 0x92, 0xcd, + 0xa4, 0xba, 0x89, 0x9e, 0x6d, 0x87, 0xda, 0xc8, 0x3e, 0x91, 0x52, 0x65, 0x8b, 0xac, 0x27, 0xda, + 0xb6, 0x20, 0xe7, 0x62, 0x12, 0xf7, 0xb8, 0xc6, 0x47, 0x96, 0xa6, 0x46, 0xcc, 0x47, 0x8e, 0x4c, + 0xe1, 0x30, 0x36, 0xb0, 0x51, 0x37, 0xfc, 0x88, 0x8e, 0x40, 0x20, 0x50, 0x69, 0x58, 0x01, 0xdd, + 0x85, 0xb2, 0x42, 0xb8, 0xaa, 0x35, 0xf0, 0xd4, 0x35, 0xc8, 0x75, 0xba, 0x07, 0x4d, 0x42, 0xd2, + 0xf3, 0x35, 0xd7, 0xa7, 0x51, 0x98, 0x54, 0xd8, 0x03, 0x92, 0x21, 0x8e, 0xad, 0x1a, 0xdd, 0xe5, + 0x92, 0x0a, 0xf9, 0x89, 0xfe, 0x5f, 0x7b, 0xc0, 0x71, 0x3a, 0xe0, 0x47, 0x7b, 0x67, 0xb4, 0x83, + 0xb9, 0x7b, 0xdc, 0x53, 0xa7, 0x61, 0xb4, 0x63, 0x00, 0x83, 0x76, 0x3d, 0xfb, 0x0b, 0x70, 0x5f, + 0x5f, 0x6a, 0xf4, 0x02, 0x4c, 0x36, 0x2d, 0xc3, 0xf2, 0xb1, 0xeb, 0xb8, 0x98, 0x44, 0x2c, 0xeb, + 0x2a, 0xff, 0xaf, 0x23, 0xfb, 0xc4, 0xdc, 0x56, 0x58, 0x9b, 0xb1, 0x28, 0x13, 0xcd, 0x5e, 0xe1, + 0x13, 0xe9, 0xd4, 0xdb, 0x23, 0xf2, 0xf5, 0xeb, 0xd7, 0xaf, 0xc7, 0x66, 0x3f, 0x3f, 0x0c, 0x93, 0xfd, 0xd6, 0x4c, 0xdf, 0xe5, 0x7b, 0x08, 0x86, 0xad, 0x66, 0x63, 0x1b, 0xbb, 0xd4, 0x49, 0x49, - 0x85, 0x3f, 0xa1, 0x05, 0x48, 0x9a, 0xda, 0x36, 0x36, 0xf3, 0x89, 0x19, 0x69, 0x2e, 0x77, 0xfc, - 0xc9, 0x81, 0x56, 0xe5, 0xfc, 0x0a, 0x81, 0x28, 0x0c, 0x89, 0x9e, 0x86, 0x04, 0xdf, 0xa2, 0x09, - 0xc3, 0x13, 0x83, 0x31, 0x90, 0xb5, 0xa4, 0x50, 0x1c, 0xfa, 0x00, 0xa4, 0xc9, 0x5f, 0x16, 0x1b, - 0xc3, 0xd4, 0xe6, 0x14, 0x11, 0x90, 0xb8, 0x40, 0x53, 0x90, 0xa2, 0xcb, 0xa4, 0x86, 0x45, 0x6a, - 0x0b, 0x9e, 0x49, 0x60, 0xd5, 0xf0, 0x8e, 0xd6, 0x34, 0x7d, 0xf5, 0x9a, 0x66, 0x36, 0x31, 0x0d, - 0xf8, 0xb4, 0x92, 0xe5, 0xc2, 0x4f, 0x10, 0x19, 0x9a, 0x86, 0x0c, 0x5b, 0x55, 0x86, 0x55, 0xc3, - 0xcf, 0xd3, 0xdd, 0x33, 0xa9, 0xb0, 0x85, 0x56, 0x21, 0x12, 0xd2, 0xfd, 0x15, 0xcf, 0xb6, 0x44, - 0x68, 0xd2, 0x2e, 0x88, 0x80, 0x76, 0x7f, 0xa6, 0x7b, 0xe3, 0x7e, 0xa8, 0xff, 0xf0, 0xba, 0x63, - 0x6a, 0xf6, 0xdb, 0x31, 0x48, 0xd0, 0xfd, 0x62, 0x0c, 0x32, 0x9b, 0x97, 0xd7, 0xcb, 0xea, 0xd2, - 0xda, 0x56, 0x69, 0xa5, 0x2c, 0x4b, 0x28, 0x07, 0x40, 0x05, 0x17, 0x56, 0xd6, 0x16, 0x36, 0xe5, - 0x58, 0xf0, 0x5c, 0x59, 0xdd, 0x3c, 0x7d, 0x52, 0x8e, 0x07, 0x80, 0x2d, 0x26, 0x48, 0x84, 0x15, - 0x4e, 0x1c, 0x97, 0x93, 0x48, 0x86, 0x2c, 0x23, 0xa8, 0x3c, 0x5b, 0x5e, 0x3a, 0x7d, 0x52, 0x1e, - 0xee, 0x94, 0x9c, 0x38, 0x2e, 0x8f, 0xa0, 0x51, 0x48, 0x53, 0x49, 0x69, 0x6d, 0x6d, 0x45, 0x4e, - 0x05, 0x9c, 0x1b, 0x9b, 0x4a, 0x65, 0x75, 0x59, 0x4e, 0x07, 0x9c, 0xcb, 0xca, 0xda, 0xd6, 0xba, - 0x0c, 0x01, 0x43, 0xb5, 0xbc, 0xb1, 0xb1, 0xb0, 0x5c, 0x96, 0x33, 0x81, 0x46, 0xe9, 0xf2, 0x66, - 0x79, 0x43, 0xce, 0x76, 0x98, 0x75, 0xe2, 0xb8, 0x3c, 0x1a, 0x74, 0x51, 0x5e, 0xdd, 0xaa, 0xca, - 0x39, 0x34, 0x0e, 0xa3, 0xac, 0x0b, 0x61, 0xc4, 0x58, 0x97, 0xe8, 0xf4, 0x49, 0x59, 0x6e, 0x1b, - 0xc2, 0x58, 0xc6, 0x3b, 0x04, 0xa7, 0x4f, 0xca, 0x68, 0x76, 0x11, 0x92, 0x34, 0xba, 0x10, 0x82, - 0xdc, 0xca, 0x42, 0xa9, 0xbc, 0xa2, 0xae, 0xad, 0x6f, 0x56, 0xd6, 0x56, 0x17, 0x56, 0x64, 0xa9, - 0x2d, 0x53, 0xca, 0x1f, 0xdf, 0xaa, 0x28, 0xe5, 0x25, 0x39, 0x16, 0x96, 0xad, 0x97, 0x17, 0x36, - 0xcb, 0x4b, 0x72, 0x7c, 0x56, 0x87, 0xc9, 0x7e, 0xfb, 0x64, 0xdf, 0x95, 0x11, 0x9a, 0xe2, 0xd8, - 0x3e, 0x53, 0x4c, 0xb9, 0x7a, 0xa6, 0xf8, 0xc7, 0x31, 0x98, 0xe8, 0x93, 0x2b, 0xfa, 0x76, 0xf2, - 0x0c, 0x24, 0x59, 0x88, 0xb2, 0xec, 0xf9, 0x78, 0xdf, 0xa4, 0x43, 0x03, 0xb6, 0x27, 0x83, 0x52, - 0x5c, 0xb8, 0x82, 0x88, 0xef, 0x53, 0x41, 0x10, 0x8a, 0x9e, 0x3d, 0xfd, 0x97, 0x7b, 0xf6, 0x74, - 0x96, 0xf6, 0x4e, 0x0f, 0x92, 0xf6, 0xa8, 0xec, 0x60, 0x7b, 0x7b, 0xb2, 0xcf, 0xde, 0x7e, 0x1e, - 0xc6, 0x7b, 0x88, 0x06, 0xde, 0x63, 0x5f, 0x90, 0x20, 0xbf, 0x9f, 0x73, 0x22, 0x76, 0xba, 0x58, - 0xc7, 0x4e, 0x77, 0xbe, 0xdb, 0x83, 0x47, 0xf6, 0x9f, 0x84, 0x9e, 0xb9, 0x7e, 0x45, 0x82, 0x43, - 0xfd, 0x2b, 0xc5, 0xbe, 0x36, 0x3c, 0x0d, 0xc3, 0x0d, 0xec, 0xef, 0xda, 0xa2, 0x5a, 0x7a, 0xb4, - 0x4f, 0x0e, 0x26, 0xcd, 0xdd, 0x93, 0xcd, 0x51, 0xe1, 0x24, 0x1e, 0xdf, 0xaf, 0xdc, 0x63, 0xd6, - 0xf4, 0x58, 0xfa, 0xd9, 0x18, 0x3c, 0xd0, 0x97, 0xbc, 0xaf, 0xa1, 0x0f, 0x01, 0x18, 0x96, 0xd3, - 0xf4, 0x59, 0x45, 0xc4, 0x36, 0xd8, 0x34, 0x95, 0xd0, 0xcd, 0x8b, 0x6c, 0x9e, 0x4d, 0x3f, 0x68, - 0x8f, 0xd3, 0x76, 0x60, 0x22, 0xaa, 0x70, 0xb6, 0x6d, 0x68, 0x82, 0x1a, 0x5a, 0xd8, 0x67, 0xa4, - 0x3d, 0x81, 0xf9, 0x14, 0xc8, 0xba, 0x69, 0x60, 0xcb, 0x57, 0x3d, 0xdf, 0xc5, 0x5a, 0xc3, 0xb0, - 0xea, 0x34, 0x83, 0xa4, 0x8a, 0xc9, 0x1d, 0xcd, 0xf4, 0xb0, 0x32, 0xc6, 0x9a, 0x37, 0x44, 0x2b, - 0x41, 0xd0, 0x00, 0x72, 0x43, 0x88, 0xe1, 0x0e, 0x04, 0x6b, 0x0e, 0x10, 0xb3, 0xdf, 0x4c, 0x41, - 0x26, 0x54, 0x57, 0xa3, 0x23, 0x90, 0xbd, 0xa2, 0x5d, 0xd3, 0x54, 0x71, 0x56, 0x62, 0x9e, 0xc8, - 0x10, 0xd9, 0x3a, 0x3f, 0x2f, 0x3d, 0x05, 0x93, 0x54, 0xc5, 0x6e, 0xfa, 0xd8, 0x55, 0x75, 0x53, - 0xf3, 0x3c, 0xea, 0xb4, 0x14, 0x55, 0x45, 0xa4, 0x6d, 0x8d, 0x34, 0x2d, 0x8a, 0x16, 0x74, 0x0a, + 0x85, 0x3f, 0xa1, 0x05, 0x48, 0x9a, 0xda, 0x36, 0x36, 0xf3, 0x89, 0x19, 0x69, 0x2e, 0x77, 0xec, + 0xc9, 0x81, 0x56, 0xe5, 0xfc, 0x0a, 0x81, 0x28, 0x0c, 0x89, 0x9e, 0x83, 0x04, 0xdf, 0xa2, 0x09, + 0xc3, 0x13, 0x83, 0x31, 0x90, 0xb5, 0xa4, 0x50, 0x1c, 0x7a, 0x10, 0xd2, 0xe4, 0x2f, 0x8b, 0x8d, + 0x61, 0x6a, 0x73, 0x8a, 0x08, 0x48, 0x5c, 0xa0, 0x29, 0x48, 0xd1, 0x65, 0x52, 0xc3, 0x22, 0xb5, + 0x05, 0xcf, 0x24, 0xb0, 0x6a, 0x78, 0x47, 0x6b, 0x9a, 0xbe, 0x7a, 0x45, 0x33, 0x9b, 0x98, 0x06, + 0x7c, 0x5a, 0xc9, 0x72, 0xe1, 0x27, 0x89, 0x0c, 0x4d, 0x43, 0x86, 0xad, 0x2a, 0xc3, 0xaa, 0xe1, + 0x97, 0xe8, 0xee, 0x99, 0x54, 0xd8, 0x42, 0xab, 0x10, 0x09, 0xe9, 0xfe, 0x92, 0x67, 0x5b, 0x22, + 0x34, 0x69, 0x17, 0x44, 0x40, 0xbb, 0x3f, 0xdd, 0xbd, 0x71, 0x3f, 0xd4, 0x7f, 0x78, 0xdd, 0x31, + 0x35, 0xfb, 0xed, 0x18, 0x24, 0xe8, 0x7e, 0x31, 0x06, 0x99, 0xcd, 0x8b, 0xeb, 0x65, 0x75, 0x69, + 0x6d, 0xab, 0xb4, 0x52, 0x96, 0x25, 0x94, 0x03, 0xa0, 0x82, 0x73, 0x2b, 0x6b, 0x0b, 0x9b, 0x72, + 0x2c, 0x78, 0xae, 0xac, 0x6e, 0x9e, 0x3a, 0x21, 0xc7, 0x03, 0xc0, 0x16, 0x13, 0x24, 0xc2, 0x0a, + 0xc7, 0x8f, 0xc9, 0x49, 0x24, 0x43, 0x96, 0x11, 0x54, 0x5e, 0x28, 0x2f, 0x9d, 0x3a, 0x21, 0x0f, + 0x77, 0x4a, 0x8e, 0x1f, 0x93, 0x47, 0xd0, 0x28, 0xa4, 0xa9, 0xa4, 0xb4, 0xb6, 0xb6, 0x22, 0xa7, + 0x02, 0xce, 0x8d, 0x4d, 0xa5, 0xb2, 0xba, 0x2c, 0xa7, 0x03, 0xce, 0x65, 0x65, 0x6d, 0x6b, 0x5d, + 0x86, 0x80, 0xa1, 0x5a, 0xde, 0xd8, 0x58, 0x58, 0x2e, 0xcb, 0x99, 0x40, 0xa3, 0x74, 0x71, 0xb3, + 0xbc, 0x21, 0x67, 0x3b, 0xcc, 0x3a, 0x7e, 0x4c, 0x1e, 0x0d, 0xba, 0x28, 0xaf, 0x6e, 0x55, 0xe5, + 0x1c, 0x1a, 0x87, 0x51, 0xd6, 0x85, 0x30, 0x62, 0xac, 0x4b, 0x74, 0xea, 0x84, 0x2c, 0xb7, 0x0d, + 0x61, 0x2c, 0xe3, 0x1d, 0x82, 0x53, 0x27, 0x64, 0x34, 0xbb, 0x08, 0x49, 0x1a, 0x5d, 0x08, 0x41, + 0x6e, 0x65, 0xa1, 0x54, 0x5e, 0x51, 0xd7, 0xd6, 0x37, 0x2b, 0x6b, 0xab, 0x0b, 0x2b, 0xb2, 0xd4, + 0x96, 0x29, 0xe5, 0x4f, 0x6c, 0x55, 0x94, 0xf2, 0x92, 0x1c, 0x0b, 0xcb, 0xd6, 0xcb, 0x0b, 0x9b, + 0xe5, 0x25, 0x39, 0x3e, 0xab, 0xc3, 0x64, 0xbf, 0x7d, 0xb2, 0xef, 0xca, 0x08, 0x4d, 0x71, 0x6c, + 0x9f, 0x29, 0xa6, 0x5c, 0x3d, 0x53, 0xfc, 0xe3, 0x18, 0x4c, 0xf4, 0xc9, 0x15, 0x7d, 0x3b, 0x79, + 0x1e, 0x92, 0x2c, 0x44, 0x59, 0xf6, 0x7c, 0xbc, 0x6f, 0xd2, 0xa1, 0x01, 0xdb, 0x93, 0x41, 0x29, + 0x2e, 0x5c, 0x41, 0xc4, 0xf7, 0xa9, 0x20, 0x08, 0x45, 0xcf, 0x9e, 0xfe, 0xf3, 0x3d, 0x7b, 0x3a, + 0x4b, 0x7b, 0xa7, 0x06, 0x49, 0x7b, 0x54, 0x76, 0xb0, 0xbd, 0x3d, 0xd9, 0x67, 0x6f, 0x3f, 0x0b, + 0xe3, 0x3d, 0x44, 0x03, 0xef, 0xb1, 0x2f, 0x4b, 0x90, 0xdf, 0xcf, 0x39, 0x11, 0x3b, 0x5d, 0xac, + 0x63, 0xa7, 0x3b, 0xdb, 0xed, 0xc1, 0xc3, 0xfb, 0x4f, 0x42, 0xcf, 0x5c, 0xbf, 0x2e, 0xc1, 0xa1, + 0xfe, 0x95, 0x62, 0x5f, 0x1b, 0x9e, 0x83, 0xe1, 0x06, 0xf6, 0x77, 0x6d, 0x51, 0x2d, 0x3d, 0xda, + 0x27, 0x07, 0x93, 0xe6, 0xee, 0xc9, 0xe6, 0xa8, 0x70, 0x12, 0x8f, 0xef, 0x57, 0xee, 0x31, 0x6b, + 0x7a, 0x2c, 0xfd, 0x5c, 0x0c, 0xee, 0xeb, 0x4b, 0xde, 0xd7, 0xd0, 0x87, 0x00, 0x0c, 0xcb, 0x69, + 0xfa, 0xac, 0x22, 0x62, 0x1b, 0x6c, 0x9a, 0x4a, 0xe8, 0xe6, 0x45, 0x36, 0xcf, 0xa6, 0x1f, 0xb4, + 0xc7, 0x69, 0x3b, 0x30, 0x11, 0x55, 0x38, 0xd3, 0x36, 0x34, 0x41, 0x0d, 0x2d, 0xec, 0x33, 0xd2, + 0x9e, 0xc0, 0x7c, 0x06, 0x64, 0xdd, 0x34, 0xb0, 0xe5, 0xab, 0x9e, 0xef, 0x62, 0xad, 0x61, 0x58, + 0x75, 0x9a, 0x41, 0x52, 0xc5, 0xe4, 0x8e, 0x66, 0x7a, 0x58, 0x19, 0x63, 0xcd, 0x1b, 0xa2, 0x95, + 0x20, 0x68, 0x00, 0xb9, 0x21, 0xc4, 0x70, 0x07, 0x82, 0x35, 0x07, 0x88, 0xd9, 0x5f, 0x4f, 0x43, + 0x26, 0x54, 0x57, 0xa3, 0xc3, 0x90, 0xbd, 0xa4, 0x5d, 0xd1, 0x54, 0x71, 0x56, 0x62, 0x9e, 0xc8, + 0x10, 0xd9, 0x3a, 0x3f, 0x2f, 0x3d, 0x03, 0x93, 0x54, 0xc5, 0x6e, 0xfa, 0xd8, 0x55, 0x75, 0x53, + 0xf3, 0x3c, 0xea, 0xb4, 0x14, 0x55, 0x45, 0xa4, 0x6d, 0x8d, 0x34, 0x2d, 0x8a, 0x16, 0x74, 0x12, 0x26, 0x28, 0xa2, 0xd1, 0x34, 0x7d, 0xc3, 0x31, 0xb1, 0x4a, 0x4e, 0x6f, 0x1e, 0xcd, 0x24, 0x81, 0x65, 0xe3, 0x44, 0xa3, 0xca, 0x15, 0x88, 0x45, 0x1e, 0x5a, 0x82, 0x87, 0x28, 0xac, 0x8e, 0x2d, - 0xec, 0x6a, 0x3e, 0x56, 0xf1, 0xa7, 0x9a, 0x9a, 0xe9, 0xa9, 0x9a, 0x55, 0x53, 0x77, 0x35, 0x6f, - 0x37, 0x3f, 0x49, 0x08, 0x4a, 0xb1, 0xbc, 0xa4, 0x1c, 0x26, 0x8a, 0xcb, 0x5c, 0xaf, 0x4c, 0xd5, - 0x16, 0xac, 0xda, 0xc7, 0x34, 0x6f, 0x17, 0x15, 0xe1, 0x10, 0x65, 0xf1, 0x7c, 0xd7, 0xb0, 0xea, - 0xaa, 0xbe, 0x8b, 0xf5, 0xab, 0x6a, 0xd3, 0xdf, 0x39, 0x9b, 0xff, 0x40, 0xb8, 0x7f, 0x6a, 0xe1, - 0x06, 0xd5, 0x59, 0x24, 0x2a, 0x5b, 0xfe, 0xce, 0x59, 0xb4, 0x01, 0x59, 0x32, 0x19, 0x0d, 0xe3, - 0x06, 0x56, 0x77, 0x6c, 0x97, 0xa6, 0xc6, 0x5c, 0x9f, 0xad, 0x29, 0xe4, 0xc1, 0xf9, 0x35, 0x0e, - 0xa8, 0xda, 0x35, 0x5c, 0x4c, 0x6e, 0xac, 0x97, 0xcb, 0x4b, 0x4a, 0x46, 0xb0, 0x5c, 0xb0, 0x5d, - 0x12, 0x50, 0x75, 0x3b, 0x70, 0x70, 0x86, 0x05, 0x54, 0xdd, 0x16, 0xee, 0x3d, 0x05, 0x13, 0xba, + 0xec, 0x6a, 0x3e, 0x56, 0xf1, 0xa7, 0x9b, 0x9a, 0xe9, 0xa9, 0x9a, 0x55, 0x53, 0x77, 0x35, 0x6f, + 0x37, 0x3f, 0x49, 0x08, 0x4a, 0xb1, 0xbc, 0xa4, 0x3c, 0x40, 0x14, 0x97, 0xb9, 0x5e, 0x99, 0xaa, + 0x2d, 0x58, 0xb5, 0x8f, 0x6b, 0xde, 0x2e, 0x2a, 0xc2, 0x21, 0xca, 0xe2, 0xf9, 0xae, 0x61, 0xd5, + 0x55, 0x7d, 0x17, 0xeb, 0x97, 0xd5, 0xa6, 0xbf, 0x73, 0x26, 0xff, 0x60, 0xb8, 0x7f, 0x6a, 0xe1, + 0x06, 0xd5, 0x59, 0x24, 0x2a, 0x5b, 0xfe, 0xce, 0x19, 0xb4, 0x01, 0x59, 0x32, 0x19, 0x0d, 0xe3, + 0x1a, 0x56, 0x77, 0x6c, 0x97, 0xa6, 0xc6, 0x5c, 0x9f, 0xad, 0x29, 0xe4, 0xc1, 0xf9, 0x35, 0x0e, + 0xa8, 0xda, 0x35, 0x5c, 0x4c, 0x6e, 0xac, 0x97, 0xcb, 0x4b, 0x4a, 0x46, 0xb0, 0x9c, 0xb3, 0x5d, + 0x12, 0x50, 0x75, 0x3b, 0x70, 0x70, 0x86, 0x05, 0x54, 0xdd, 0x16, 0xee, 0x3d, 0x09, 0x13, 0xba, 0xce, 0xc6, 0x6c, 0xe8, 0x2a, 0x3f, 0x63, 0x79, 0x79, 0xb9, 0xc3, 0x59, 0xba, 0xbe, 0xcc, 0x14, - 0x78, 0x8c, 0x7b, 0xe8, 0x1c, 0x3c, 0xd0, 0x76, 0x56, 0x18, 0x38, 0xde, 0x33, 0xca, 0x6e, 0xe8, - 0x29, 0x98, 0x70, 0x5a, 0xbd, 0x40, 0xd4, 0xd1, 0xa3, 0xd3, 0xea, 0x86, 0x9d, 0x81, 0x49, 0x67, - 0xd7, 0xe9, 0xc5, 0x3d, 0x11, 0xc6, 0x21, 0x67, 0xd7, 0xe9, 0x06, 0x3e, 0x42, 0x0f, 0xdc, 0x2e, - 0xd6, 0x35, 0x1f, 0xd7, 0xf2, 0x0f, 0x86, 0xd5, 0x43, 0x0d, 0xe8, 0x18, 0xc8, 0xba, 0xae, 0x62, - 0x4b, 0xdb, 0x36, 0xb1, 0xaa, 0xb9, 0xd8, 0xd2, 0xbc, 0xfc, 0x74, 0x58, 0x39, 0xa7, 0xeb, 0x65, - 0xda, 0xba, 0x40, 0x1b, 0xd1, 0x13, 0x30, 0x6e, 0x6f, 0x5f, 0xd1, 0x59, 0x48, 0xaa, 0x8e, 0x8b, - 0x77, 0x8c, 0xe7, 0xf3, 0x0f, 0x53, 0xff, 0x8e, 0x91, 0x06, 0x1a, 0x90, 0xeb, 0x54, 0x8c, 0x1e, - 0x07, 0x59, 0xf7, 0x76, 0x35, 0xd7, 0xa1, 0x7b, 0xb2, 0xe7, 0x68, 0x3a, 0xce, 0x3f, 0xc2, 0x54, - 0x99, 0x7c, 0x55, 0x88, 0xc9, 0x92, 0xf0, 0xae, 0x1b, 0x3b, 0xbe, 0x60, 0x7c, 0x8c, 0x2d, 0x09, - 0x2a, 0xe3, 0x6c, 0x73, 0x20, 0x13, 0x57, 0x74, 0x74, 0x3c, 0x47, 0xd5, 0x72, 0xce, 0xae, 0x13, - 0xee, 0xf7, 0x28, 0x8c, 0x12, 0xcd, 0x76, 0xa7, 0x8f, 0xb3, 0x82, 0xcc, 0xd9, 0x0d, 0xf5, 0xf8, - 0x9e, 0xd5, 0xc6, 0xb3, 0x45, 0xc8, 0x86, 0xe3, 0x13, 0xa5, 0x81, 0x45, 0xa8, 0x2c, 0x91, 0x62, - 0x65, 0x71, 0x6d, 0x89, 0x94, 0x19, 0xcf, 0x95, 0xe5, 0x18, 0x29, 0x77, 0x56, 0x2a, 0x9b, 0x65, - 0x55, 0xd9, 0x5a, 0xdd, 0xac, 0x54, 0xcb, 0x72, 0x3c, 0x5c, 0x57, 0xff, 0x20, 0x06, 0xb9, 0xce, - 0x23, 0x12, 0xfa, 0x08, 0x3c, 0x28, 0xee, 0x33, 0x3c, 0xec, 0xab, 0xd7, 0x0d, 0x97, 0x2e, 0x99, - 0x86, 0xc6, 0xd2, 0x57, 0x30, 0x69, 0x93, 0x5c, 0x6b, 0x03, 0xfb, 0x97, 0x0c, 0x97, 0x2c, 0x88, - 0x86, 0xe6, 0xa3, 0x15, 0x98, 0xb6, 0x6c, 0xd5, 0xf3, 0x35, 0xab, 0xa6, 0xb9, 0x35, 0xb5, 0x7d, - 0x93, 0xa4, 0x6a, 0xba, 0x8e, 0x3d, 0xcf, 0x66, 0xa9, 0x2a, 0x60, 0xf9, 0xa0, 0x65, 0x6f, 0x70, - 0xe5, 0xf6, 0x1e, 0xbe, 0xc0, 0x55, 0xbb, 0x02, 0x2c, 0xbe, 0x5f, 0x80, 0x7d, 0x00, 0xd2, 0x0d, - 0xcd, 0x51, 0xb1, 0xe5, 0xbb, 0x2d, 0x5a, 0x18, 0xa7, 0x94, 0x54, 0x43, 0x73, 0xca, 0xe4, 0xf9, - 0xfd, 0x39, 0x9f, 0xfc, 0x5b, 0x1c, 0xb2, 0xe1, 0xe2, 0x98, 0x9c, 0x35, 0x74, 0x9a, 0x47, 0x24, - 0xba, 0xd3, 0x1c, 0xbd, 0x67, 0x29, 0x3d, 0xbf, 0x48, 0x12, 0x4c, 0x71, 0x98, 0x95, 0xac, 0x0a, - 0x43, 0x92, 0xe4, 0x4e, 0xf6, 0x16, 0xcc, 0x4a, 0x84, 0x94, 0xc2, 0x9f, 0xd0, 0x32, 0x0c, 0x5f, - 0xf1, 0x28, 0xf7, 0x30, 0xe5, 0x7e, 0xf8, 0xde, 0xdc, 0x17, 0x37, 0x28, 0x79, 0xfa, 0xe2, 0x86, - 0xba, 0xba, 0xa6, 0x54, 0x17, 0x56, 0x14, 0x0e, 0x47, 0x87, 0x21, 0x61, 0x6a, 0x37, 0x5a, 0x9d, - 0xa9, 0x88, 0x8a, 0x06, 0x75, 0xfc, 0x61, 0x48, 0x5c, 0xc7, 0xda, 0xd5, 0xce, 0x04, 0x40, 0x45, - 0xef, 0x61, 0xe8, 0x1f, 0x83, 0x24, 0xf5, 0x17, 0x02, 0xe0, 0x1e, 0x93, 0x87, 0x50, 0x0a, 0x12, - 0x8b, 0x6b, 0x0a, 0x09, 0x7f, 0x19, 0xb2, 0x4c, 0xaa, 0xae, 0x57, 0xca, 0x8b, 0x65, 0x39, 0x36, - 0x7b, 0x0a, 0x86, 0x99, 0x13, 0xc8, 0xd2, 0x08, 0xdc, 0x20, 0x0f, 0xf1, 0x47, 0xce, 0x21, 0x89, - 0xd6, 0xad, 0x6a, 0xa9, 0xac, 0xc8, 0xb1, 0xf0, 0xf4, 0x7a, 0x90, 0x0d, 0xd7, 0xc5, 0xef, 0x4f, - 0x4c, 0x7d, 0x4f, 0x82, 0x4c, 0xa8, 0xce, 0x25, 0x05, 0x8a, 0x66, 0x9a, 0xf6, 0x75, 0x55, 0x33, - 0x0d, 0xcd, 0xe3, 0x41, 0x01, 0x54, 0xb4, 0x40, 0x24, 0x83, 0x4e, 0xda, 0xfb, 0x62, 0xfc, 0xcb, - 0x12, 0xc8, 0xdd, 0x25, 0x66, 0x97, 0x81, 0xd2, 0xcf, 0xd5, 0xc0, 0x97, 0x24, 0xc8, 0x75, 0xd6, - 0x95, 0x5d, 0xe6, 0x1d, 0xf9, 0xb9, 0x9a, 0xf7, 0x7a, 0x0c, 0x46, 0x3b, 0xaa, 0xc9, 0x41, 0xad, - 0xfb, 0x14, 0x8c, 0x1b, 0x35, 0xdc, 0x70, 0x6c, 0x1f, 0x5b, 0x7a, 0x4b, 0x35, 0xf1, 0x35, 0x6c, - 0xe6, 0x67, 0xe9, 0x46, 0x71, 0xec, 0xde, 0xf5, 0xea, 0x7c, 0xa5, 0x8d, 0x5b, 0x21, 0xb0, 0xe2, - 0x44, 0x65, 0xa9, 0x5c, 0x5d, 0x5f, 0xdb, 0x2c, 0xaf, 0x2e, 0x5e, 0x56, 0xb7, 0x56, 0x7f, 0x71, - 0x75, 0xed, 0xd2, 0xaa, 0x22, 0x1b, 0x5d, 0x6a, 0xef, 0xe1, 0x52, 0x5f, 0x07, 0xb9, 0xdb, 0x28, - 0xf4, 0x20, 0xf4, 0x33, 0x4b, 0x1e, 0x42, 0x13, 0x30, 0xb6, 0xba, 0xa6, 0x6e, 0x54, 0x96, 0xca, - 0x6a, 0xf9, 0xc2, 0x85, 0xf2, 0xe2, 0xe6, 0x06, 0xbb, 0x81, 0x08, 0xb4, 0x37, 0x3b, 0x17, 0xf5, - 0x8b, 0x71, 0x98, 0xe8, 0x63, 0x09, 0x5a, 0xe0, 0x67, 0x07, 0x76, 0x9c, 0xf9, 0xf0, 0x20, 0xd6, - 0xcf, 0x93, 0x94, 0xbf, 0xae, 0xb9, 0x3e, 0x3f, 0x6a, 0x3c, 0x0e, 0xc4, 0x4b, 0x96, 0x6f, 0xec, - 0x18, 0xd8, 0xe5, 0x17, 0x36, 0xec, 0x40, 0x31, 0xd6, 0x96, 0xb3, 0x3b, 0x9b, 0x0f, 0x01, 0x72, - 0x6c, 0xcf, 0xf0, 0x8d, 0x6b, 0x58, 0x35, 0x2c, 0x71, 0xbb, 0x43, 0x0e, 0x18, 0x09, 0x45, 0x16, - 0x2d, 0x15, 0xcb, 0x0f, 0xb4, 0x2d, 0x5c, 0xd7, 0xba, 0xb4, 0xc9, 0x06, 0x1e, 0x57, 0x64, 0xd1, - 0x12, 0x68, 0x1f, 0x81, 0x6c, 0xcd, 0x6e, 0x92, 0xaa, 0x8b, 0xe9, 0x91, 0x7c, 0x21, 0x29, 0x19, - 0x26, 0x0b, 0x54, 0x78, 0x3d, 0xdd, 0xbe, 0x56, 0xca, 0x2a, 0x19, 0x26, 0x63, 0x2a, 0x8f, 0xc1, - 0x98, 0x56, 0xaf, 0xbb, 0x84, 0x5c, 0x10, 0xb1, 0x13, 0x42, 0x2e, 0x10, 0x53, 0xc5, 0xa9, 0x8b, - 0x90, 0x12, 0x7e, 0x20, 0x29, 0x99, 0x78, 0x42, 0x75, 0xd8, 0xb1, 0x37, 0x36, 0x97, 0x56, 0x52, - 0x96, 0x68, 0x3c, 0x02, 0x59, 0xc3, 0x53, 0xdb, 0xb7, 0xe4, 0xb1, 0x99, 0xd8, 0x5c, 0x4a, 0xc9, - 0x18, 0x5e, 0x70, 0xc3, 0x38, 0xfb, 0x4a, 0x0c, 0x72, 0x9d, 0xb7, 0xfc, 0x68, 0x09, 0x52, 0xa6, - 0xad, 0x6b, 0x34, 0xb4, 0xd8, 0x2b, 0xa6, 0xb9, 0x88, 0x17, 0x03, 0xf3, 0x2b, 0x5c, 0x5f, 0x09, - 0x90, 0x53, 0xff, 0x22, 0x41, 0x4a, 0x88, 0xd1, 0x21, 0x48, 0x38, 0x9a, 0xbf, 0x4b, 0xe9, 0x92, - 0xa5, 0x98, 0x2c, 0x29, 0xf4, 0x99, 0xc8, 0x3d, 0x47, 0xb3, 0x68, 0x08, 0x70, 0x39, 0x79, 0x26, - 0xf3, 0x6a, 0x62, 0xad, 0x46, 0x8f, 0x1f, 0x76, 0xa3, 0x81, 0x2d, 0xdf, 0x13, 0xf3, 0xca, 0xe5, - 0x8b, 0x5c, 0x8c, 0x9e, 0x84, 0x71, 0xdf, 0xd5, 0x0c, 0xb3, 0x43, 0x37, 0x41, 0x75, 0x65, 0xd1, - 0x10, 0x28, 0x17, 0xe1, 0xb0, 0xe0, 0xad, 0x61, 0x5f, 0xd3, 0x77, 0x71, 0xad, 0x0d, 0x1a, 0xa6, - 0xd7, 0x0c, 0x0f, 0x72, 0x85, 0x25, 0xde, 0x2e, 0xb0, 0xb3, 0x3f, 0x92, 0x60, 0x5c, 0x1c, 0x98, - 0x6a, 0x81, 0xb3, 0xaa, 0x00, 0x9a, 0x65, 0xd9, 0x7e, 0xd8, 0x5d, 0xbd, 0xa1, 0xdc, 0x83, 0x9b, - 0x5f, 0x08, 0x40, 0x4a, 0x88, 0x60, 0xaa, 0x01, 0xd0, 0x6e, 0xd9, 0xd7, 0x6d, 0xd3, 0x90, 0xe1, - 0xaf, 0x70, 0xe8, 0x7b, 0x40, 0x76, 0xc4, 0x06, 0x26, 0x22, 0x27, 0x2b, 0x34, 0x09, 0xc9, 0x6d, - 0x5c, 0x37, 0x2c, 0x7e, 0x31, 0xcb, 0x1e, 0xc4, 0x45, 0x48, 0x22, 0xb8, 0x08, 0x29, 0x7d, 0x12, - 0x26, 0x74, 0xbb, 0xd1, 0x6d, 0x6e, 0x49, 0xee, 0x3a, 0xe6, 0x7b, 0x1f, 0x93, 0x9e, 0x83, 0x76, - 0x89, 0xf9, 0x8e, 0x24, 0x7d, 0x29, 0x16, 0x5f, 0x5e, 0x2f, 0x7d, 0x35, 0x36, 0xb5, 0xcc, 0xa0, - 0xeb, 0x62, 0xa4, 0x0a, 0xde, 0x31, 0xb1, 0x4e, 0xac, 0x87, 0x2f, 0x3f, 0x09, 0x1f, 0xae, 0x1b, - 0xfe, 0x6e, 0x73, 0x7b, 0x5e, 0xb7, 0x1b, 0xc7, 0xea, 0x76, 0xdd, 0x6e, 0xbf, 0xfa, 0x24, 0x4f, - 0xf4, 0x81, 0xfe, 0xe2, 0xaf, 0x3f, 0xd3, 0x81, 0x74, 0x2a, 0xf2, 0x5d, 0x69, 0x71, 0x15, 0x26, - 0xb8, 0xb2, 0x4a, 0xdf, 0xbf, 0xb0, 0x53, 0x04, 0xba, 0xe7, 0x1d, 0x56, 0xfe, 0x1b, 0x6f, 0xd0, - 0x74, 0xad, 0x8c, 0x73, 0x28, 0x69, 0x63, 0x07, 0x8d, 0xa2, 0x02, 0x0f, 0x74, 0xf0, 0xb1, 0xa5, - 0x89, 0xdd, 0x08, 0xc6, 0x1f, 0x70, 0xc6, 0x89, 0x10, 0xe3, 0x06, 0x87, 0x16, 0x17, 0x61, 0xf4, - 0x20, 0x5c, 0xff, 0xc4, 0xb9, 0xb2, 0x38, 0x4c, 0xb2, 0x0c, 0x63, 0x94, 0x44, 0x6f, 0x7a, 0xbe, - 0xdd, 0xa0, 0xfb, 0xde, 0xbd, 0x69, 0xfe, 0xf9, 0x0d, 0xb6, 0x56, 0x72, 0x04, 0xb6, 0x18, 0xa0, - 0x8a, 0x45, 0xa0, 0xaf, 0x9c, 0x6a, 0x58, 0x37, 0x23, 0x18, 0x5e, 0xe5, 0x86, 0x04, 0xfa, 0xc5, - 0x4f, 0xc0, 0x24, 0xf9, 0x4d, 0xb7, 0xa5, 0xb0, 0x25, 0xd1, 0x17, 0x5e, 0xf9, 0x1f, 0xbd, 0xc0, - 0x96, 0xe3, 0x44, 0x40, 0x10, 0xb2, 0x29, 0x34, 0x8b, 0x75, 0xec, 0xfb, 0xd8, 0xf5, 0x54, 0xcd, - 0xec, 0x67, 0x5e, 0xe8, 0xc6, 0x20, 0xff, 0xf9, 0xb7, 0x3a, 0x67, 0x71, 0x99, 0x21, 0x17, 0x4c, - 0xb3, 0xb8, 0x05, 0x0f, 0xf6, 0x89, 0x8a, 0x01, 0x38, 0x5f, 0xe4, 0x9c, 0x93, 0x3d, 0x91, 0x41, - 0x68, 0xd7, 0x41, 0xc8, 0x83, 0xb9, 0x1c, 0x80, 0xf3, 0x4f, 0x38, 0x27, 0xe2, 0x58, 0x31, 0xa5, - 0x84, 0xf1, 0x22, 0x8c, 0x5f, 0xc3, 0xee, 0xb6, 0xed, 0xf1, 0x5b, 0x9a, 0x01, 0xe8, 0x5e, 0xe2, - 0x74, 0x63, 0x1c, 0x48, 0xaf, 0x6d, 0x08, 0xd7, 0x39, 0x48, 0xed, 0x68, 0x3a, 0x1e, 0x80, 0xe2, - 0x0b, 0x9c, 0x62, 0x84, 0xe8, 0x13, 0xe8, 0x02, 0x64, 0xeb, 0x36, 0xcf, 0x4c, 0xd1, 0xf0, 0x97, - 0x39, 0x3c, 0x23, 0x30, 0x9c, 0xc2, 0xb1, 0x9d, 0xa6, 0x49, 0xd2, 0x56, 0x34, 0xc5, 0x9f, 0x0a, - 0x0a, 0x81, 0xe1, 0x14, 0x07, 0x70, 0xeb, 0x9f, 0x09, 0x0a, 0x2f, 0xe4, 0xcf, 0x67, 0x20, 0x63, - 0x5b, 0x66, 0xcb, 0xb6, 0x06, 0x31, 0xe2, 0x8b, 0x9c, 0x01, 0x38, 0x84, 0x10, 0x9c, 0x87, 0xf4, - 0xa0, 0x13, 0xf1, 0x17, 0x6f, 0x89, 0xe5, 0x21, 0x66, 0x60, 0x19, 0xc6, 0xc4, 0x06, 0x65, 0xd8, - 0xd6, 0x00, 0x14, 0x5f, 0xe6, 0x14, 0xb9, 0x10, 0x8c, 0x0f, 0xc3, 0xc7, 0x9e, 0x5f, 0xc7, 0x83, - 0x90, 0xbc, 0x22, 0x86, 0xc1, 0x21, 0xdc, 0x95, 0xdb, 0xd8, 0xd2, 0x77, 0x07, 0x63, 0xf8, 0x8a, - 0x70, 0xa5, 0xc0, 0x10, 0x8a, 0x45, 0x18, 0x6d, 0x68, 0xae, 0xb7, 0xab, 0x99, 0x03, 0x4d, 0xc7, - 0x5f, 0x72, 0x8e, 0x6c, 0x00, 0xe2, 0x1e, 0x69, 0x5a, 0x07, 0xa1, 0xf9, 0xaa, 0xf0, 0x48, 0x08, - 0xc6, 0x97, 0x9e, 0xe7, 0xd3, 0x2b, 0xad, 0x83, 0xb0, 0xfd, 0x95, 0x58, 0x7a, 0x0c, 0x5b, 0x0d, - 0x33, 0x9e, 0x87, 0xb4, 0x67, 0xdc, 0x18, 0x88, 0xe6, 0xaf, 0xc5, 0x4c, 0x53, 0x00, 0x01, 0x5f, - 0x86, 0xc3, 0x7d, 0xd3, 0xc4, 0x00, 0x64, 0x7f, 0xc3, 0xc9, 0x0e, 0xf5, 0x49, 0x15, 0x7c, 0x4b, - 0x38, 0x28, 0xe5, 0xdf, 0x8a, 0x2d, 0x01, 0x77, 0x71, 0xad, 0x93, 0xb3, 0x82, 0xa7, 0xed, 0x1c, - 0xcc, 0x6b, 0x5f, 0x13, 0x5e, 0x63, 0xd8, 0x0e, 0xaf, 0x6d, 0xc2, 0x21, 0xce, 0x78, 0xb0, 0x79, - 0xfd, 0xba, 0xd8, 0x58, 0x19, 0x7a, 0xab, 0x73, 0x76, 0x3f, 0x09, 0x53, 0x81, 0x3b, 0x45, 0x51, - 0xea, 0xa9, 0x0d, 0xcd, 0x19, 0x80, 0xf9, 0x1b, 0x9c, 0x59, 0xec, 0xf8, 0x41, 0x55, 0xeb, 0x55, - 0x35, 0x87, 0x90, 0x3f, 0x0b, 0x79, 0x41, 0xde, 0xb4, 0x5c, 0xac, 0xdb, 0x75, 0xcb, 0xb8, 0x81, - 0x6b, 0x03, 0x50, 0xff, 0x5d, 0xd7, 0x54, 0x6d, 0x85, 0xe0, 0x84, 0xb9, 0x02, 0x72, 0x50, 0xab, - 0xa8, 0x46, 0xc3, 0xb1, 0x5d, 0x3f, 0x82, 0xf1, 0x9b, 0x62, 0xa6, 0x02, 0x5c, 0x85, 0xc2, 0x8a, - 0x65, 0xc8, 0xd1, 0xc7, 0x41, 0x43, 0xf2, 0xef, 0x39, 0xd1, 0x68, 0x1b, 0xc5, 0x37, 0x0e, 0xdd, - 0x6e, 0x38, 0x9a, 0x3b, 0xc8, 0xfe, 0xf7, 0x2d, 0xb1, 0x71, 0x70, 0x08, 0xdf, 0x38, 0xfc, 0x96, - 0x83, 0x49, 0xb6, 0x1f, 0x80, 0xe1, 0xdb, 0x62, 0xe3, 0x10, 0x18, 0x4e, 0x21, 0x0a, 0x86, 0x01, - 0x28, 0xfe, 0x41, 0x50, 0x08, 0x0c, 0xa1, 0xf8, 0x78, 0x3b, 0xd1, 0xba, 0xb8, 0x6e, 0x78, 0xbe, - 0xcb, 0x4a, 0xe1, 0x7b, 0x53, 0x7d, 0xe7, 0xad, 0xce, 0x22, 0x4c, 0x09, 0x41, 0xc9, 0x4e, 0xc4, - 0xaf, 0x50, 0xe9, 0x49, 0x29, 0xda, 0xb0, 0xef, 0x8a, 0x9d, 0x28, 0x04, 0x23, 0xb6, 0x85, 0x2a, - 0x44, 0xe2, 0x76, 0x9d, 0x9c, 0x0f, 0x06, 0xa0, 0xfb, 0x5e, 0x97, 0x71, 0x1b, 0x02, 0x4b, 0x38, - 0x43, 0xf5, 0x4f, 0xd3, 0xba, 0x8a, 0x5b, 0x03, 0x45, 0xe7, 0x3f, 0x76, 0xd5, 0x3f, 0x5b, 0x0c, - 0xc9, 0xf6, 0x90, 0xb1, 0xae, 0x7a, 0x0a, 0x45, 0x7d, 0xac, 0x93, 0xff, 0xd5, 0x3b, 0x7c, 0xbc, - 0x9d, 0xe5, 0x54, 0x71, 0x85, 0x04, 0x79, 0x67, 0xd1, 0x13, 0x4d, 0xf6, 0xc2, 0x9d, 0x20, 0xce, - 0x3b, 0x6a, 0x9e, 0xe2, 0x05, 0x18, 0xed, 0x28, 0x78, 0xa2, 0xa9, 0x7e, 0x8d, 0x53, 0x65, 0xc3, - 0xf5, 0x4e, 0xf1, 0x14, 0x24, 0x48, 0xf1, 0x12, 0x0d, 0xff, 0x75, 0x0e, 0xa7, 0xea, 0xc5, 0x8f, - 0x42, 0x4a, 0x14, 0x2d, 0xd1, 0xd0, 0xdf, 0xe0, 0xd0, 0x00, 0x42, 0xe0, 0xa2, 0x60, 0x89, 0x86, - 0x7f, 0x46, 0xc0, 0x05, 0x84, 0xc0, 0x07, 0x77, 0xe1, 0xf7, 0x7f, 0x2b, 0xc1, 0x93, 0x8e, 0xf0, - 0xdd, 0x79, 0x18, 0xe1, 0x95, 0x4a, 0x34, 0xfa, 0xb3, 0xbc, 0x73, 0x81, 0x28, 0x9e, 0x81, 0xe4, - 0x80, 0x0e, 0xff, 0x6d, 0x0e, 0x65, 0xfa, 0xc5, 0x45, 0xc8, 0x84, 0xaa, 0x93, 0x68, 0xf8, 0xef, - 0x70, 0x78, 0x18, 0x45, 0x4c, 0xe7, 0xd5, 0x49, 0x34, 0xc1, 0xef, 0x0a, 0xd3, 0x39, 0x82, 0xb8, - 0x4d, 0x14, 0x26, 0xd1, 0xe8, 0xdf, 0x13, 0x5e, 0x17, 0x90, 0xe2, 0x33, 0x90, 0x0e, 0x92, 0x4d, - 0x34, 0xfe, 0xf7, 0x39, 0xbe, 0x8d, 0x21, 0x1e, 0x08, 0x25, 0xbb, 0x68, 0x8a, 0x3f, 0x10, 0x1e, - 0x08, 0xa1, 0xc8, 0x32, 0xea, 0x2e, 0x60, 0xa2, 0x99, 0xfe, 0x50, 0x2c, 0xa3, 0xae, 0xfa, 0x85, - 0xcc, 0x26, 0xdd, 0xf3, 0xa3, 0x29, 0xfe, 0x48, 0xcc, 0x26, 0xd5, 0x27, 0x66, 0x74, 0x57, 0x04, - 0xd1, 0x1c, 0x7f, 0x2c, 0xcc, 0xe8, 0x2a, 0x08, 0x8a, 0xeb, 0x80, 0x7a, 0xab, 0x81, 0x68, 0xbe, - 0xcf, 0x71, 0xbe, 0xf1, 0x9e, 0x62, 0xa0, 0x78, 0x09, 0x0e, 0xf5, 0xaf, 0x04, 0xa2, 0x59, 0x3f, - 0x7f, 0xa7, 0xeb, 0xec, 0x16, 0x2e, 0x04, 0x8a, 0x9b, 0xed, 0x94, 0x12, 0xae, 0x02, 0xa2, 0x69, - 0x5f, 0xbc, 0xd3, 0xb9, 0x71, 0x87, 0x8b, 0x80, 0xe2, 0x02, 0x40, 0x3b, 0x01, 0x47, 0x73, 0xbd, - 0xc4, 0xb9, 0x42, 0x20, 0xb2, 0x34, 0x78, 0xfe, 0x8d, 0xc6, 0x7f, 0x41, 0x2c, 0x0d, 0x8e, 0x20, - 0x4b, 0x43, 0xa4, 0xde, 0x68, 0xf4, 0xcb, 0x62, 0x69, 0x08, 0x08, 0x89, 0xec, 0x50, 0x76, 0x8b, - 0x66, 0xf8, 0xa2, 0x88, 0xec, 0x10, 0xaa, 0xb8, 0x0a, 0xe3, 0x3d, 0x09, 0x31, 0x9a, 0xea, 0x4b, - 0x9c, 0x4a, 0xee, 0xce, 0x87, 0xe1, 0xe4, 0xc5, 0x93, 0x61, 0x34, 0xdb, 0x9f, 0x77, 0x25, 0x2f, - 0x9e, 0x0b, 0x8b, 0xe7, 0x21, 0x65, 0x35, 0x4d, 0x93, 0x2c, 0x1e, 0x74, 0xef, 0x0f, 0xec, 0xf2, - 0x3f, 0x79, 0x97, 0x7b, 0x47, 0x00, 0x8a, 0xa7, 0x20, 0x89, 0x1b, 0xdb, 0xb8, 0x16, 0x85, 0xfc, - 0x8f, 0x77, 0xc5, 0x86, 0x49, 0xb4, 0x8b, 0xcf, 0x00, 0xb0, 0xab, 0x11, 0xfa, 0xda, 0x2f, 0x02, - 0xfb, 0x9f, 0xef, 0xf2, 0x4f, 0x5f, 0xda, 0x90, 0x36, 0x01, 0xfb, 0x90, 0xe6, 0xde, 0x04, 0x6f, - 0x75, 0x12, 0xd0, 0x19, 0x39, 0x07, 0x23, 0x57, 0x3c, 0xdb, 0xf2, 0xb5, 0x7a, 0x14, 0xfa, 0xbf, - 0x38, 0x5a, 0xe8, 0x13, 0x87, 0x35, 0x6c, 0x17, 0xfb, 0x5a, 0xdd, 0x8b, 0xc2, 0xfe, 0x37, 0xc7, - 0x06, 0x00, 0x02, 0xd6, 0x35, 0xcf, 0x1f, 0x64, 0xdc, 0x3f, 0x15, 0x60, 0x01, 0x20, 0x46, 0x93, - 0xdf, 0x57, 0x71, 0x2b, 0x0a, 0xfb, 0xb6, 0x30, 0x9a, 0xeb, 0x17, 0x3f, 0x0a, 0x69, 0xf2, 0x93, - 0x7d, 0xcf, 0x16, 0x01, 0xfe, 0x1f, 0x0e, 0x6e, 0x23, 0x48, 0xcf, 0x9e, 0x5f, 0xf3, 0x8d, 0x68, - 0x67, 0xff, 0x2f, 0x9f, 0x69, 0xa1, 0x5f, 0x5c, 0x80, 0x8c, 0xe7, 0xd7, 0x6a, 0x4d, 0x5e, 0x9f, - 0x46, 0xc0, 0xff, 0xef, 0xdd, 0xe0, 0xca, 0x22, 0xc0, 0x90, 0xd9, 0xbe, 0x7e, 0xd5, 0x77, 0x6c, - 0xfa, 0x9a, 0x23, 0x8a, 0xe1, 0x0e, 0x67, 0x08, 0x41, 0x4a, 0xe5, 0xfe, 0xd7, 0xb7, 0xb0, 0x6c, - 0x2f, 0xdb, 0xec, 0xe2, 0xf6, 0xb9, 0xd9, 0xe8, 0x1b, 0x58, 0xf8, 0xda, 0x18, 0x4c, 0xe9, 0x76, - 0x63, 0xdb, 0xf6, 0x8e, 0x6d, 0xdb, 0xfe, 0xee, 0x31, 0x31, 0x31, 0xfc, 0x56, 0x36, 0x98, 0xa8, - 0xa9, 0x83, 0x5d, 0xe7, 0xce, 0xfe, 0x64, 0x14, 0x52, 0x8b, 0x9a, 0xe7, 0x6b, 0xd7, 0xb5, 0x16, - 0x7a, 0x04, 0x52, 0x15, 0xcb, 0x3f, 0x71, 0x7c, 0xdd, 0x77, 0xe9, 0x1b, 0xc9, 0x78, 0x29, 0x7d, - 0xf7, 0xd6, 0x74, 0xd2, 0x20, 0x32, 0x25, 0x68, 0x42, 0x47, 0x21, 0x49, 0x7f, 0xd3, 0x4b, 0xed, - 0x78, 0x69, 0xf4, 0xd5, 0x5b, 0xd3, 0x43, 0x6d, 0x3d, 0xd6, 0x86, 0x2e, 0x43, 0xa6, 0xda, 0xda, - 0x32, 0x2c, 0xff, 0xf4, 0x49, 0x42, 0x47, 0x1c, 0x93, 0x28, 0x9d, 0xb9, 0x7b, 0x6b, 0xfa, 0xc4, - 0xbe, 0x06, 0x92, 0x8a, 0xa2, 0x3d, 0x30, 0x81, 0xa6, 0x5f, 0x0c, 0x87, 0xb9, 0xd0, 0x25, 0x48, - 0x89, 0x47, 0xf6, 0x72, 0xa8, 0x74, 0x9e, 0x9b, 0x70, 0x5f, 0xdc, 0x01, 0x19, 0xfa, 0x25, 0xc8, - 0x56, 0x5b, 0x17, 0x4c, 0x5b, 0xe3, 0x3e, 0x48, 0xce, 0x48, 0x73, 0xb1, 0xd2, 0xd9, 0xbb, 0xb7, - 0xa6, 0x4f, 0x0e, 0x4c, 0xcc, 0xe1, 0x94, 0xb9, 0x83, 0x0d, 0x3d, 0x07, 0xe9, 0xe0, 0x99, 0xbe, - 0x7e, 0x8a, 0x95, 0x3e, 0xc2, 0xed, 0xbe, 0x3f, 0xfa, 0x36, 0x5d, 0xc8, 0x72, 0xe6, 0xee, 0x91, - 0x19, 0x69, 0x4e, 0xba, 0x1f, 0xcb, 0xb9, 0x4f, 0x3a, 0xd8, 0x42, 0x96, 0x9f, 0x3e, 0x49, 0xdf, - 0x77, 0x49, 0xf7, 0x6b, 0x39, 0xa7, 0x6f, 0xd3, 0xa1, 0x8b, 0x30, 0x52, 0x6d, 0x95, 0x5a, 0x3e, - 0xf6, 0xe8, 0x87, 0x68, 0xd9, 0xd2, 0x53, 0x77, 0x6f, 0x4d, 0x7f, 0x68, 0x40, 0x56, 0x8a, 0x53, - 0x04, 0x01, 0x9a, 0x81, 0xcc, 0xaa, 0xed, 0x36, 0x34, 0x93, 0xf1, 0x01, 0x7b, 0x7f, 0x17, 0x12, - 0xa1, 0x2d, 0x32, 0x12, 0x36, 0xdb, 0x1e, 0xfd, 0x1f, 0xa6, 0x9f, 0x21, 0x26, 0xdb, 0x4c, 0xc8, - 0x80, 0x64, 0xb5, 0x55, 0xd5, 0x9c, 0x7c, 0x96, 0xbe, 0x5c, 0x7a, 0x68, 0x3e, 0x40, 0x88, 0xb5, - 0x35, 0x4f, 0xdb, 0xe9, 0x57, 0x38, 0xa5, 0x93, 0x77, 0x6f, 0x4d, 0x3f, 0x35, 0x70, 0x8f, 0x55, - 0xcd, 0xa1, 0xdd, 0xb1, 0x1e, 0xd0, 0xb7, 0x24, 0xb2, 0xb0, 0xd8, 0xed, 0x3c, 0xe9, 0x71, 0x94, - 0xf6, 0x78, 0xb4, 0x6f, 0x8f, 0x81, 0x16, 0xeb, 0xd7, 0xfa, 0xf4, 0x6b, 0x07, 0x18, 0x29, 0x3b, - 0x14, 0x92, 0xae, 0x7f, 0xf3, 0xb5, 0xfb, 0x5e, 0xb4, 0x81, 0x05, 0xe8, 0x05, 0x09, 0x46, 0xab, - 0xad, 0x55, 0x9e, 0xbd, 0x89, 0xe5, 0x39, 0xfe, 0x9f, 0x2e, 0xfd, 0x2c, 0x0f, 0xe9, 0x31, 0xdb, - 0x4f, 0x7f, 0xfa, 0xb5, 0xe9, 0xe3, 0x03, 0x1b, 0x41, 0xb7, 0x20, 0x6a, 0x43, 0x67, 0x9f, 0xe8, - 0x33, 0xd4, 0x8a, 0x32, 0xa9, 0x04, 0x6a, 0xb8, 0x46, 0xac, 0x18, 0xbb, 0x87, 0x15, 0x21, 0x3d, - 0x66, 0x45, 0x91, 0x44, 0xfd, 0xfd, 0x5b, 0x12, 0xe2, 0x43, 0x6b, 0x30, 0xcc, 0x3c, 0x4c, 0x3f, - 0x82, 0x4c, 0x1f, 0x30, 0x0c, 0xdb, 0x93, 0xa3, 0x70, 0x9a, 0xa9, 0xb3, 0x00, 0xed, 0x18, 0x43, - 0x32, 0xc4, 0xaf, 0xe2, 0x16, 0xff, 0xd2, 0x95, 0xfc, 0x44, 0x93, 0xed, 0x4f, 0xd1, 0xa5, 0xb9, - 0x04, 0xff, 0xbe, 0xbc, 0x18, 0x3b, 0x2b, 0x4d, 0x3d, 0x0d, 0x72, 0x77, 0xac, 0x1c, 0x08, 0xaf, - 0x00, 0xea, 0x9d, 0xb1, 0x30, 0x43, 0x92, 0x31, 0x3c, 0x1a, 0x66, 0xc8, 0x1c, 0x97, 0xdb, 0x3e, - 0xbf, 0x64, 0x98, 0x9e, 0x6d, 0xf5, 0x70, 0x76, 0xfb, 0xff, 0x67, 0xe3, 0x9c, 0x2d, 0xc0, 0x30, - 0x13, 0x92, 0xb1, 0x54, 0x68, 0xfa, 0xa0, 0x59, 0x4e, 0x61, 0x0f, 0xa5, 0x95, 0x57, 0x6f, 0x17, - 0x86, 0x7e, 0x78, 0xbb, 0x30, 0xf4, 0xaf, 0xb7, 0x0b, 0x43, 0xaf, 0xdf, 0x2e, 0x48, 0x6f, 0xde, - 0x2e, 0x48, 0x6f, 0xdf, 0x2e, 0x48, 0xef, 0xdc, 0x2e, 0x48, 0x37, 0xf7, 0x0a, 0xd2, 0x57, 0xf6, - 0x0a, 0xd2, 0xd7, 0xf7, 0x0a, 0xd2, 0x77, 0xf6, 0x0a, 0xd2, 0xf7, 0xf7, 0x0a, 0xd2, 0xab, 0x7b, - 0x05, 0xe9, 0x87, 0x7b, 0x05, 0xe9, 0xf5, 0xbd, 0x82, 0xf4, 0xe6, 0x5e, 0x61, 0xe8, 0xed, 0xbd, - 0x82, 0xf4, 0xce, 0x5e, 0x61, 0xe8, 0xe6, 0x8f, 0x0b, 0x43, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, - 0xf5, 0x3e, 0x59, 0xc8, 0x4d, 0x3a, 0x00, 0x00, + 0x78, 0x8c, 0x7b, 0xe8, 0x59, 0xb8, 0xaf, 0xed, 0xac, 0x30, 0x70, 0xbc, 0x67, 0x94, 0xdd, 0xd0, + 0x93, 0x30, 0xe1, 0xb4, 0x7a, 0x81, 0xa8, 0xa3, 0x47, 0xa7, 0xd5, 0x0d, 0x3b, 0x0d, 0x93, 0xce, + 0xae, 0xd3, 0x8b, 0x7b, 0x22, 0x8c, 0x43, 0xce, 0xae, 0xd3, 0x0d, 0x7c, 0x84, 0x1e, 0xb8, 0x5d, + 0xac, 0x6b, 0x3e, 0xae, 0xe5, 0xef, 0x0f, 0xab, 0x87, 0x1a, 0xd0, 0x51, 0x90, 0x75, 0x5d, 0xc5, + 0x96, 0xb6, 0x6d, 0x62, 0x55, 0x73, 0xb1, 0xa5, 0x79, 0xf9, 0xe9, 0xb0, 0x72, 0x4e, 0xd7, 0xcb, + 0xb4, 0x75, 0x81, 0x36, 0xa2, 0x27, 0x60, 0xdc, 0xde, 0xbe, 0xa4, 0xb3, 0x90, 0x54, 0x1d, 0x17, + 0xef, 0x18, 0x2f, 0xe5, 0x1f, 0xa6, 0xfe, 0x1d, 0x23, 0x0d, 0x34, 0x20, 0xd7, 0xa9, 0x18, 0x3d, + 0x0e, 0xb2, 0xee, 0xed, 0x6a, 0xae, 0x43, 0xf7, 0x64, 0xcf, 0xd1, 0x74, 0x9c, 0x7f, 0x84, 0xa9, + 0x32, 0xf9, 0xaa, 0x10, 0x93, 0x25, 0xe1, 0x5d, 0x35, 0x76, 0x7c, 0xc1, 0xf8, 0x18, 0x5b, 0x12, + 0x54, 0xc6, 0xd9, 0xe6, 0x40, 0x26, 0xae, 0xe8, 0xe8, 0x78, 0x8e, 0xaa, 0xe5, 0x9c, 0x5d, 0x27, + 0xdc, 0xef, 0x11, 0x18, 0x25, 0x9a, 0xed, 0x4e, 0x1f, 0x67, 0x05, 0x99, 0xb3, 0x1b, 0xea, 0xf1, + 0x04, 0x1c, 0x22, 0x4a, 0x0d, 0xec, 0x6b, 0x35, 0xcd, 0xd7, 0x42, 0xda, 0x4f, 0x51, 0x6d, 0xe2, + 0xf7, 0x2a, 0x6f, 0xec, 0xb0, 0xd3, 0x6d, 0x6e, 0xb7, 0x82, 0xc8, 0x7a, 0x9a, 0xd9, 0x49, 0x64, + 0x22, 0xb6, 0x3e, 0xb0, 0xa2, 0x7b, 0xb6, 0x08, 0xd9, 0x70, 0xe0, 0xa3, 0x34, 0xb0, 0xd0, 0x97, + 0x25, 0x52, 0x05, 0x2d, 0xae, 0x2d, 0x91, 0xfa, 0xe5, 0xc5, 0xb2, 0x1c, 0x23, 0x75, 0xd4, 0x4a, + 0x65, 0xb3, 0xac, 0x2a, 0x5b, 0xab, 0x9b, 0x95, 0x6a, 0x59, 0x8e, 0x87, 0x0b, 0xf6, 0x1f, 0xc4, + 0x20, 0xd7, 0x79, 0xf6, 0x42, 0x1f, 0x85, 0xfb, 0xc5, 0x45, 0x89, 0x87, 0x7d, 0xf5, 0xaa, 0xe1, + 0xd2, 0xb5, 0xd8, 0xd0, 0x58, 0x5e, 0x0c, 0xa2, 0x61, 0x92, 0x6b, 0x6d, 0x60, 0xff, 0x82, 0xe1, + 0x92, 0x95, 0xd6, 0xd0, 0x7c, 0xb4, 0x02, 0xd3, 0x96, 0xad, 0x7a, 0xbe, 0x66, 0xd5, 0x34, 0xb7, + 0xa6, 0xb6, 0xaf, 0xa8, 0x54, 0x4d, 0xd7, 0xb1, 0xe7, 0xd9, 0x2c, 0x07, 0x06, 0x2c, 0x1f, 0xb1, + 0xec, 0x0d, 0xae, 0xdc, 0x4e, 0x0e, 0x0b, 0x5c, 0xb5, 0x2b, 0x72, 0xe3, 0xfb, 0x45, 0xee, 0x83, + 0x90, 0x6e, 0x68, 0x8e, 0x8a, 0x2d, 0xdf, 0x6d, 0xd1, 0x8a, 0x3b, 0xa5, 0xa4, 0x1a, 0x9a, 0x53, + 0x26, 0xcf, 0x1f, 0xce, 0xc1, 0xe7, 0x5f, 0xe2, 0x90, 0x0d, 0x57, 0xdd, 0xe4, 0x10, 0xa3, 0xd3, + 0x04, 0x25, 0xd1, 0x2d, 0xec, 0xc8, 0x5d, 0x6b, 0xf4, 0xf9, 0x45, 0x92, 0xb9, 0x8a, 0xc3, 0xac, + 0x16, 0x56, 0x18, 0x92, 0x54, 0x0d, 0x24, 0xb4, 0x30, 0xab, 0x3d, 0x52, 0x0a, 0x7f, 0x42, 0xcb, + 0x30, 0x7c, 0xc9, 0xa3, 0xdc, 0xc3, 0x94, 0xfb, 0xe1, 0xbb, 0x73, 0x9f, 0xdf, 0xa0, 0xe4, 0xe9, + 0xf3, 0x1b, 0xea, 0xea, 0x9a, 0x52, 0x5d, 0x58, 0x51, 0x38, 0x1c, 0x3d, 0x00, 0x09, 0x53, 0xbb, + 0xd6, 0xea, 0xcc, 0x71, 0x54, 0x34, 0xa8, 0xe3, 0x1f, 0x80, 0xc4, 0x55, 0xac, 0x5d, 0xee, 0xcc, + 0x2c, 0x54, 0xf4, 0x01, 0x86, 0xfe, 0x51, 0x48, 0x52, 0x7f, 0x21, 0x00, 0xee, 0x31, 0x79, 0x08, + 0xa5, 0x20, 0xb1, 0xb8, 0xa6, 0x90, 0xf0, 0x97, 0x21, 0xcb, 0xa4, 0xea, 0x7a, 0xa5, 0xbc, 0x58, + 0x96, 0x63, 0xb3, 0x27, 0x61, 0x98, 0x39, 0x81, 0x2c, 0x8d, 0xc0, 0x0d, 0xf2, 0x10, 0x7f, 0xe4, + 0x1c, 0x92, 0x68, 0xdd, 0xaa, 0x96, 0xca, 0x8a, 0x1c, 0x0b, 0x4f, 0xaf, 0x07, 0xd9, 0x70, 0xc1, + 0xfd, 0xe1, 0xc4, 0xd4, 0xf7, 0x24, 0xc8, 0x84, 0x0a, 0x68, 0x52, 0xf9, 0x68, 0xa6, 0x69, 0x5f, + 0x55, 0x35, 0xd3, 0xd0, 0x3c, 0x1e, 0x14, 0x40, 0x45, 0x0b, 0x44, 0x32, 0xe8, 0xa4, 0x7d, 0x28, + 0xc6, 0xbf, 0x26, 0x81, 0xdc, 0x5d, 0xbb, 0x76, 0x19, 0x28, 0xfd, 0x4c, 0x0d, 0x7c, 0x55, 0x82, + 0x5c, 0x67, 0xc1, 0xda, 0x65, 0xde, 0xe1, 0x9f, 0xa9, 0x79, 0x6f, 0xc6, 0x60, 0xb4, 0xa3, 0x4c, + 0x1d, 0xd4, 0xba, 0x4f, 0xc3, 0xb8, 0x51, 0xc3, 0x0d, 0xc7, 0xf6, 0xb1, 0xa5, 0xb7, 0x54, 0x13, + 0x5f, 0xc1, 0x66, 0x7e, 0x96, 0x6e, 0x14, 0x47, 0xef, 0x5e, 0x08, 0xcf, 0x57, 0xda, 0xb8, 0x15, + 0x02, 0x2b, 0x4e, 0x54, 0x96, 0xca, 0xd5, 0xf5, 0xb5, 0xcd, 0xf2, 0xea, 0xe2, 0x45, 0x75, 0x6b, + 0xf5, 0xff, 0xaf, 0xae, 0x5d, 0x58, 0x55, 0x64, 0xa3, 0x4b, 0xed, 0x03, 0x5c, 0xea, 0xeb, 0x20, + 0x77, 0x1b, 0x85, 0xee, 0x87, 0x7e, 0x66, 0xc9, 0x43, 0x68, 0x02, 0xc6, 0x56, 0xd7, 0xd4, 0x8d, + 0xca, 0x52, 0x59, 0x2d, 0x9f, 0x3b, 0x57, 0x5e, 0xdc, 0xdc, 0x60, 0x57, 0x1b, 0x81, 0xf6, 0x66, + 0xe7, 0xa2, 0x7e, 0x25, 0x0e, 0x13, 0x7d, 0x2c, 0x41, 0x0b, 0xfc, 0x50, 0xc2, 0xce, 0x49, 0x4f, + 0x0f, 0x62, 0xfd, 0x3c, 0xa9, 0x0a, 0xd6, 0x35, 0xd7, 0xe7, 0x67, 0x98, 0xc7, 0x81, 0x78, 0xc9, + 0xf2, 0x8d, 0x1d, 0x03, 0xbb, 0xfc, 0x26, 0x88, 0x9d, 0x54, 0xc6, 0xda, 0x72, 0x76, 0x19, 0xf4, + 0x14, 0x20, 0xc7, 0xf6, 0x0c, 0xdf, 0xb8, 0x82, 0x55, 0xc3, 0x12, 0xd7, 0x46, 0xe4, 0xe4, 0x92, + 0x50, 0x64, 0xd1, 0x52, 0xb1, 0xfc, 0x40, 0xdb, 0xc2, 0x75, 0xad, 0x4b, 0x9b, 0x6c, 0xe0, 0x71, + 0x45, 0x16, 0x2d, 0x81, 0xf6, 0x61, 0xc8, 0xd6, 0xec, 0x26, 0x29, 0xe7, 0x98, 0x1e, 0xc9, 0x17, + 0x92, 0x92, 0x61, 0xb2, 0x40, 0x85, 0x17, 0xea, 0xed, 0xfb, 0xaa, 0xac, 0x92, 0x61, 0x32, 0xa6, + 0xf2, 0x18, 0x8c, 0x69, 0xf5, 0xba, 0x4b, 0xc8, 0x05, 0x11, 0x3b, 0x7a, 0xe4, 0x02, 0x31, 0x55, + 0x9c, 0x3a, 0x0f, 0x29, 0xe1, 0x07, 0x92, 0x92, 0x89, 0x27, 0x54, 0x87, 0x9d, 0xa7, 0x63, 0x73, + 0x69, 0x25, 0x65, 0x89, 0xc6, 0xc3, 0x90, 0x35, 0x3c, 0xb5, 0x7d, 0xfd, 0x1e, 0x9b, 0x89, 0xcd, + 0xa5, 0x94, 0x8c, 0xe1, 0x05, 0x57, 0x97, 0xb3, 0xaf, 0xc7, 0x20, 0xd7, 0xf9, 0xfa, 0x00, 0x2d, + 0x41, 0xca, 0xb4, 0x75, 0x8d, 0x86, 0x16, 0x7b, 0x77, 0x35, 0x17, 0xf1, 0xc6, 0x61, 0x7e, 0x85, + 0xeb, 0x2b, 0x01, 0x72, 0xea, 0x9f, 0x24, 0x48, 0x09, 0x31, 0x3a, 0x04, 0x09, 0x47, 0xf3, 0x77, + 0x29, 0x5d, 0xb2, 0x14, 0x93, 0x25, 0x85, 0x3e, 0x13, 0xb9, 0xe7, 0x68, 0x16, 0x0d, 0x01, 0x2e, + 0x27, 0xcf, 0x64, 0x5e, 0x4d, 0xac, 0xd5, 0xe8, 0xb9, 0xc6, 0x6e, 0x34, 0xb0, 0xe5, 0x7b, 0x62, + 0x5e, 0xb9, 0x7c, 0x91, 0x8b, 0xd1, 0x93, 0x30, 0xee, 0xbb, 0x9a, 0x61, 0x76, 0xe8, 0x26, 0xa8, + 0xae, 0x2c, 0x1a, 0x02, 0xe5, 0x22, 0x3c, 0x20, 0x78, 0x6b, 0xd8, 0xd7, 0xf4, 0x5d, 0x5c, 0x6b, + 0x83, 0x86, 0xe9, 0xfd, 0xc5, 0xfd, 0x5c, 0x61, 0x89, 0xb7, 0x0b, 0xec, 0xec, 0x8f, 0x24, 0x18, + 0x17, 0x27, 0xb1, 0x5a, 0xe0, 0xac, 0x2a, 0x80, 0x66, 0x59, 0xb6, 0x1f, 0x76, 0x57, 0x6f, 0x28, + 0xf7, 0xe0, 0xe6, 0x17, 0x02, 0x90, 0x12, 0x22, 0x98, 0x6a, 0x00, 0xb4, 0x5b, 0xf6, 0x75, 0xdb, + 0x34, 0x64, 0xf8, 0xbb, 0x21, 0xfa, 0x82, 0x91, 0x9d, 0xdd, 0x81, 0x89, 0xc8, 0x91, 0x0d, 0x4d, + 0x42, 0x72, 0x1b, 0xd7, 0x0d, 0x8b, 0xdf, 0xf8, 0xb2, 0x07, 0x71, 0xc3, 0x92, 0x08, 0x6e, 0x58, + 0x4a, 0x9f, 0x82, 0x09, 0xdd, 0x6e, 0x74, 0x9b, 0x5b, 0x92, 0xbb, 0xee, 0x0f, 0xbc, 0x8f, 0x4b, + 0x2f, 0x42, 0xbb, 0xc4, 0x7c, 0x4f, 0x92, 0xbe, 0x1c, 0x8b, 0x2f, 0xaf, 0x97, 0xbe, 0x16, 0x9b, + 0x5a, 0x66, 0xd0, 0x75, 0x31, 0x52, 0x05, 0xef, 0x98, 0x58, 0x27, 0xd6, 0xc3, 0x57, 0x9e, 0x84, + 0xa7, 0xeb, 0x86, 0xbf, 0xdb, 0xdc, 0x9e, 0xd7, 0xed, 0xc6, 0xd1, 0xba, 0x5d, 0xb7, 0xdb, 0xef, + 0x54, 0xc9, 0x13, 0x7d, 0xa0, 0xbf, 0xf8, 0x7b, 0xd5, 0x74, 0x20, 0x9d, 0x8a, 0x7c, 0x09, 0x5b, + 0x5c, 0x85, 0x09, 0xae, 0xac, 0xd2, 0x17, 0x3b, 0xec, 0x78, 0x82, 0xee, 0x7a, 0x39, 0x96, 0xff, + 0xe6, 0x5b, 0x34, 0x5d, 0x2b, 0xe3, 0x1c, 0x4a, 0xda, 0xd8, 0x09, 0xa6, 0xa8, 0xc0, 0x7d, 0x1d, + 0x7c, 0x6c, 0x69, 0x62, 0x37, 0x82, 0xf1, 0x07, 0x9c, 0x71, 0x22, 0xc4, 0xb8, 0xc1, 0xa1, 0xc5, + 0x45, 0x18, 0x3d, 0x08, 0xd7, 0x3f, 0x70, 0xae, 0x2c, 0x0e, 0x93, 0x2c, 0xc3, 0x18, 0x25, 0xd1, + 0x9b, 0x9e, 0x6f, 0x37, 0xe8, 0xbe, 0x77, 0x77, 0x9a, 0x7f, 0x7c, 0x8b, 0xad, 0x95, 0x1c, 0x81, + 0x2d, 0x06, 0xa8, 0x62, 0x11, 0xe8, 0xbb, 0xac, 0x1a, 0xd6, 0xcd, 0x08, 0x86, 0x1b, 0xdc, 0x90, + 0x40, 0xbf, 0xf8, 0x49, 0x98, 0x24, 0xbf, 0xe9, 0xb6, 0x14, 0xb6, 0x24, 0xfa, 0x26, 0x2d, 0xff, + 0xa3, 0x97, 0xd9, 0x72, 0x9c, 0x08, 0x08, 0x42, 0x36, 0x85, 0x66, 0xb1, 0x8e, 0x7d, 0x1f, 0xbb, + 0x9e, 0xaa, 0x99, 0xfd, 0xcc, 0x0b, 0x5d, 0x45, 0xe4, 0xbf, 0xf0, 0x4e, 0xe7, 0x2c, 0x2e, 0x33, + 0xe4, 0x82, 0x69, 0x16, 0xb7, 0xe0, 0xfe, 0x3e, 0x51, 0x31, 0x00, 0xe7, 0x2b, 0x9c, 0x73, 0xb2, + 0x27, 0x32, 0x08, 0xed, 0x3a, 0x08, 0x79, 0x30, 0x97, 0x03, 0x70, 0xfe, 0x21, 0xe7, 0x44, 0x1c, + 0x2b, 0xa6, 0x94, 0x30, 0x9e, 0x87, 0xf1, 0x2b, 0xd8, 0xdd, 0xb6, 0x3d, 0x7e, 0xfd, 0x33, 0x00, + 0xdd, 0xab, 0x9c, 0x6e, 0x8c, 0x03, 0xe9, 0x7d, 0x10, 0xe1, 0x7a, 0x16, 0x52, 0x3b, 0x9a, 0x8e, + 0x07, 0xa0, 0xf8, 0x22, 0xa7, 0x18, 0x21, 0xfa, 0x04, 0xba, 0x00, 0xd9, 0xba, 0xcd, 0x33, 0x53, + 0x34, 0xfc, 0x35, 0x0e, 0xcf, 0x08, 0x0c, 0xa7, 0x70, 0x6c, 0xa7, 0x69, 0x92, 0xb4, 0x15, 0x4d, + 0xf1, 0x47, 0x82, 0x42, 0x60, 0x38, 0xc5, 0x01, 0xdc, 0xfa, 0xc7, 0x82, 0xc2, 0x0b, 0xf9, 0xf3, + 0x79, 0xc8, 0xd8, 0x96, 0xd9, 0xb2, 0xad, 0x41, 0x8c, 0xf8, 0x12, 0x67, 0x00, 0x0e, 0x21, 0x04, + 0x67, 0x21, 0x3d, 0xe8, 0x44, 0xfc, 0xe9, 0x3b, 0x62, 0x79, 0x88, 0x19, 0x58, 0x86, 0x31, 0xb1, + 0x41, 0x19, 0xb6, 0x35, 0x00, 0xc5, 0x57, 0x38, 0x45, 0x2e, 0x04, 0xe3, 0xc3, 0xf0, 0xb1, 0xe7, + 0xd7, 0xf1, 0x20, 0x24, 0xaf, 0x8b, 0x61, 0x70, 0x08, 0x77, 0xe5, 0x36, 0xb6, 0xf4, 0xdd, 0xc1, + 0x18, 0xbe, 0x2a, 0x5c, 0x29, 0x30, 0x84, 0x62, 0x11, 0x46, 0x1b, 0x9a, 0xeb, 0xed, 0x6a, 0xe6, + 0x40, 0xd3, 0xf1, 0x67, 0x9c, 0x23, 0x1b, 0x80, 0xb8, 0x47, 0x9a, 0xd6, 0x41, 0x68, 0xbe, 0x26, + 0x3c, 0x12, 0x82, 0xf1, 0xa5, 0xe7, 0xf9, 0xf4, 0xae, 0xec, 0x20, 0x6c, 0x7f, 0x2e, 0x96, 0x1e, + 0xc3, 0x56, 0xc3, 0x8c, 0x67, 0x21, 0xed, 0x19, 0xd7, 0x06, 0xa2, 0xf9, 0x0b, 0x31, 0xd3, 0x14, + 0x40, 0xc0, 0x17, 0xe1, 0x81, 0xbe, 0x69, 0x62, 0x00, 0xb2, 0xbf, 0xe4, 0x64, 0x87, 0xfa, 0xa4, + 0x0a, 0xbe, 0x25, 0x1c, 0x94, 0xf2, 0xaf, 0xc4, 0x96, 0x80, 0xbb, 0xb8, 0xd6, 0xc9, 0x59, 0xc1, + 0xd3, 0x76, 0x0e, 0xe6, 0xb5, 0xaf, 0x0b, 0xaf, 0x31, 0x6c, 0x87, 0xd7, 0x36, 0xe1, 0x10, 0x67, + 0x3c, 0xd8, 0xbc, 0x7e, 0x43, 0x6c, 0xac, 0x0c, 0xbd, 0xd5, 0x39, 0xbb, 0x9f, 0x82, 0xa9, 0xc0, + 0x9d, 0xa2, 0x28, 0xf5, 0xd4, 0x86, 0xe6, 0x0c, 0xc0, 0xfc, 0x4d, 0xce, 0x2c, 0x76, 0xfc, 0xa0, + 0xaa, 0xf5, 0xaa, 0x9a, 0x43, 0xc8, 0x5f, 0x80, 0xbc, 0x20, 0x6f, 0x5a, 0x2e, 0xd6, 0xed, 0xba, + 0x65, 0x5c, 0xc3, 0xb5, 0x01, 0xa8, 0xff, 0xba, 0x6b, 0xaa, 0xb6, 0x42, 0x70, 0xc2, 0x5c, 0x01, + 0x39, 0xa8, 0x55, 0x54, 0xa3, 0xe1, 0xd8, 0xae, 0x1f, 0xc1, 0xf8, 0x37, 0x62, 0xa6, 0x02, 0x5c, + 0x85, 0xc2, 0x8a, 0x65, 0xc8, 0xd1, 0xc7, 0x41, 0x43, 0xf2, 0x6f, 0x39, 0xd1, 0x68, 0x1b, 0xc5, + 0x37, 0x0e, 0xdd, 0x6e, 0x38, 0x9a, 0x3b, 0xc8, 0xfe, 0xf7, 0x2d, 0xb1, 0x71, 0x70, 0x08, 0xdf, + 0x38, 0xfc, 0x96, 0x83, 0x49, 0xb6, 0x1f, 0x80, 0xe1, 0xdb, 0x62, 0xe3, 0x10, 0x18, 0x4e, 0x21, + 0x0a, 0x86, 0x01, 0x28, 0xfe, 0x4e, 0x50, 0x08, 0x0c, 0xa1, 0xf8, 0x44, 0x3b, 0xd1, 0xba, 0xb8, + 0x6e, 0x78, 0xbe, 0xcb, 0x4a, 0xe1, 0xbb, 0x53, 0x7d, 0xe7, 0x9d, 0xce, 0x22, 0x4c, 0x09, 0x41, + 0xc9, 0x4e, 0xc4, 0xaf, 0x50, 0xe9, 0x49, 0x29, 0xda, 0xb0, 0xef, 0x8a, 0x9d, 0x28, 0x04, 0x23, + 0xb6, 0x85, 0x2a, 0x44, 0xe2, 0x76, 0x9d, 0x9c, 0x0f, 0x06, 0xa0, 0xfb, 0x5e, 0x97, 0x71, 0x1b, + 0x02, 0x4b, 0x38, 0x43, 0xf5, 0x4f, 0xd3, 0xba, 0x8c, 0x5b, 0x03, 0x45, 0xe7, 0xdf, 0x77, 0xd5, + 0x3f, 0x5b, 0x0c, 0xc9, 0xf6, 0x90, 0xb1, 0xae, 0x7a, 0x0a, 0x45, 0x7d, 0x05, 0x94, 0xff, 0xc5, + 0xdb, 0x7c, 0xbc, 0x9d, 0xe5, 0x54, 0x71, 0x85, 0x04, 0x79, 0x67, 0xd1, 0x13, 0x4d, 0xf6, 0xf2, + 0xed, 0x20, 0xce, 0x3b, 0x6a, 0x9e, 0xe2, 0x39, 0x18, 0xed, 0x28, 0x78, 0xa2, 0xa9, 0x7e, 0x89, + 0x53, 0x65, 0xc3, 0xf5, 0x4e, 0xf1, 0x24, 0x24, 0x48, 0xf1, 0x12, 0x0d, 0xff, 0x65, 0x0e, 0xa7, + 0xea, 0xc5, 0x8f, 0x41, 0x4a, 0x14, 0x2d, 0xd1, 0xd0, 0x5f, 0xe1, 0xd0, 0x00, 0x42, 0xe0, 0xa2, + 0x60, 0x89, 0x86, 0x7f, 0x56, 0xc0, 0x05, 0x84, 0xc0, 0x07, 0x77, 0xe1, 0xf7, 0x7f, 0x2d, 0xc1, + 0x93, 0x8e, 0xf0, 0xdd, 0x59, 0x18, 0xe1, 0x95, 0x4a, 0x34, 0xfa, 0x73, 0xbc, 0x73, 0x81, 0x28, + 0x9e, 0x86, 0xe4, 0x80, 0x0e, 0xff, 0x0d, 0x0e, 0x65, 0xfa, 0xc5, 0x45, 0xc8, 0x84, 0xaa, 0x93, + 0x68, 0xf8, 0x6f, 0x72, 0x78, 0x18, 0x45, 0x4c, 0xe7, 0xd5, 0x49, 0x34, 0xc1, 0x6f, 0x09, 0xd3, + 0x39, 0x82, 0xb8, 0x4d, 0x14, 0x26, 0xd1, 0xe8, 0xdf, 0x16, 0x5e, 0x17, 0x90, 0xe2, 0xf3, 0x90, + 0x0e, 0x92, 0x4d, 0x34, 0xfe, 0x77, 0x38, 0xbe, 0x8d, 0x21, 0x1e, 0x08, 0x25, 0xbb, 0x68, 0x8a, + 0xdf, 0x15, 0x1e, 0x08, 0xa1, 0xc8, 0x32, 0xea, 0x2e, 0x60, 0xa2, 0x99, 0x7e, 0x4f, 0x2c, 0xa3, + 0xae, 0xfa, 0x85, 0xcc, 0x26, 0xdd, 0xf3, 0xa3, 0x29, 0x7e, 0x5f, 0xcc, 0x26, 0xd5, 0x27, 0x66, + 0x74, 0x57, 0x04, 0xd1, 0x1c, 0x7f, 0x20, 0xcc, 0xe8, 0x2a, 0x08, 0x8a, 0xeb, 0x80, 0x7a, 0xab, + 0x81, 0x68, 0xbe, 0xcf, 0x73, 0xbe, 0xf1, 0x9e, 0x62, 0xa0, 0x78, 0x01, 0x0e, 0xf5, 0xaf, 0x04, + 0xa2, 0x59, 0xbf, 0x70, 0xbb, 0xeb, 0xec, 0x16, 0x2e, 0x04, 0x8a, 0x9b, 0xed, 0x94, 0x12, 0xae, + 0x02, 0xa2, 0x69, 0x5f, 0xb9, 0xdd, 0xb9, 0x71, 0x87, 0x8b, 0x80, 0xe2, 0x02, 0x40, 0x3b, 0x01, + 0x47, 0x73, 0xbd, 0xca, 0xb9, 0x42, 0x20, 0xb2, 0x34, 0x78, 0xfe, 0x8d, 0xc6, 0x7f, 0x51, 0x2c, + 0x0d, 0x8e, 0x20, 0x4b, 0x43, 0xa4, 0xde, 0x68, 0xf4, 0x6b, 0x62, 0x69, 0x08, 0x08, 0x89, 0xec, + 0x50, 0x76, 0x8b, 0x66, 0xf8, 0x92, 0x88, 0xec, 0x10, 0xaa, 0xb8, 0x0a, 0xe3, 0x3d, 0x09, 0x31, + 0x9a, 0xea, 0xcb, 0x9c, 0x4a, 0xee, 0xce, 0x87, 0xe1, 0xe4, 0xc5, 0x93, 0x61, 0x34, 0xdb, 0x9f, + 0x74, 0x25, 0x2f, 0x9e, 0x0b, 0x8b, 0x67, 0x21, 0x65, 0x35, 0x4d, 0x93, 0x2c, 0x1e, 0x74, 0xf7, + 0x2f, 0xf7, 0xf2, 0x3f, 0x79, 0x9f, 0x7b, 0x47, 0x00, 0x8a, 0x27, 0x21, 0x89, 0x1b, 0xdb, 0xb8, + 0x16, 0x85, 0xfc, 0xb7, 0xf7, 0xc5, 0x86, 0x49, 0xb4, 0x8b, 0xcf, 0x03, 0xb0, 0xab, 0x11, 0xfa, + 0xda, 0x2f, 0x02, 0xfb, 0xef, 0xef, 0xf3, 0x6f, 0x6a, 0xda, 0x90, 0x36, 0x01, 0xfb, 0x42, 0xe7, + 0xee, 0x04, 0xef, 0x74, 0x12, 0xd0, 0x19, 0x79, 0x16, 0x46, 0x2e, 0x79, 0xb6, 0xe5, 0x6b, 0xf5, + 0x28, 0xf4, 0x7f, 0x70, 0xb4, 0xd0, 0x27, 0x0e, 0x6b, 0xd8, 0x2e, 0xf6, 0xb5, 0xba, 0x17, 0x85, + 0xfd, 0x4f, 0x8e, 0x0d, 0x00, 0x04, 0xac, 0x6b, 0x9e, 0x3f, 0xc8, 0xb8, 0xff, 0x4b, 0x80, 0x05, + 0x80, 0x18, 0x4d, 0x7e, 0x5f, 0xc6, 0xad, 0x28, 0xec, 0xbb, 0xc2, 0x68, 0xae, 0x5f, 0xfc, 0x18, + 0xa4, 0xc9, 0x4f, 0xf6, 0xa1, 0x5c, 0x04, 0xf8, 0xbf, 0x39, 0xb8, 0x8d, 0x20, 0x3d, 0x7b, 0x7e, + 0xcd, 0x37, 0xa2, 0x9d, 0xfd, 0x3f, 0x7c, 0xa6, 0x85, 0x7e, 0x71, 0x01, 0x32, 0x9e, 0x5f, 0xab, + 0x35, 0x79, 0x7d, 0x1a, 0x01, 0xff, 0xdf, 0xf7, 0x83, 0x2b, 0x8b, 0x00, 0x43, 0x66, 0xfb, 0xea, + 0x65, 0xdf, 0xb1, 0xe9, 0x6b, 0x8e, 0x28, 0x86, 0xdb, 0x9c, 0x21, 0x04, 0x29, 0x95, 0xfb, 0x5f, + 0xdf, 0xc2, 0xb2, 0xbd, 0x6c, 0xb3, 0x8b, 0xdb, 0x17, 0x67, 0xa3, 0x6f, 0x60, 0xe1, 0xeb, 0x63, + 0x30, 0xa5, 0xdb, 0x8d, 0x6d, 0xdb, 0x3b, 0xba, 0x6d, 0xfb, 0xbb, 0x47, 0xc5, 0xc4, 0xf0, 0x5b, + 0xd9, 0x60, 0xa2, 0xa6, 0x0e, 0x76, 0x9d, 0x3b, 0xfb, 0x93, 0x51, 0x48, 0x2d, 0x6a, 0x9e, 0xaf, + 0x5d, 0xd5, 0x5a, 0xe8, 0x11, 0x48, 0x55, 0x2c, 0xff, 0xf8, 0xb1, 0x75, 0xdf, 0xa5, 0x6f, 0x24, + 0xe3, 0xa5, 0xf4, 0x9d, 0x9b, 0xd3, 0x49, 0x83, 0xc8, 0x94, 0xa0, 0x09, 0x1d, 0x81, 0x24, 0xfd, + 0x4d, 0x2f, 0xb5, 0xe3, 0xa5, 0xd1, 0x1b, 0x37, 0xa7, 0x87, 0xda, 0x7a, 0xac, 0x0d, 0x5d, 0x84, + 0x4c, 0xb5, 0xb5, 0x65, 0x58, 0xfe, 0xa9, 0x13, 0x84, 0x8e, 0x38, 0x26, 0x51, 0x3a, 0x7d, 0xe7, + 0xe6, 0xf4, 0xf1, 0x7d, 0x0d, 0x24, 0x15, 0x45, 0x7b, 0x60, 0x02, 0x4d, 0x3f, 0x45, 0x0e, 0x73, + 0xa1, 0x0b, 0x90, 0x12, 0x8f, 0xec, 0xe5, 0x50, 0xe9, 0x2c, 0x37, 0xe1, 0x9e, 0xb8, 0x03, 0x32, + 0xf4, 0x73, 0x90, 0xad, 0xb6, 0xce, 0x99, 0xb6, 0xc6, 0x7d, 0x90, 0x9c, 0x91, 0xe6, 0x62, 0xa5, + 0x33, 0x77, 0x6e, 0x4e, 0x9f, 0x18, 0x98, 0x98, 0xc3, 0x29, 0x73, 0x07, 0x1b, 0x7a, 0x11, 0xd2, + 0xc1, 0x33, 0x7d, 0xfd, 0x14, 0x2b, 0x7d, 0x94, 0xdb, 0x7d, 0x6f, 0xf4, 0x6d, 0xba, 0x90, 0xe5, + 0xcc, 0xdd, 0x23, 0x33, 0xd2, 0x9c, 0x74, 0x2f, 0x96, 0x73, 0x9f, 0x74, 0xb0, 0x85, 0x2c, 0x3f, + 0x75, 0x82, 0xbe, 0xef, 0x92, 0xee, 0xd5, 0x72, 0x4e, 0xdf, 0xa6, 0x43, 0xe7, 0x61, 0xa4, 0xda, + 0x2a, 0xb5, 0x7c, 0xec, 0xd1, 0x2f, 0xdc, 0xb2, 0xa5, 0x67, 0xee, 0xdc, 0x9c, 0x7e, 0x6a, 0x40, + 0x56, 0x8a, 0x53, 0x04, 0x01, 0x9a, 0x81, 0xcc, 0xaa, 0xed, 0x36, 0x34, 0x93, 0xf1, 0x01, 0x7b, + 0x7f, 0x17, 0x12, 0xa1, 0x2d, 0x32, 0x12, 0x36, 0xdb, 0x1e, 0xfd, 0xe7, 0xa8, 0x9f, 0x22, 0x26, + 0xdb, 0x4c, 0xc8, 0x80, 0x64, 0xb5, 0x55, 0xd5, 0x9c, 0x7c, 0x96, 0xbe, 0x5c, 0x7a, 0x68, 0x3e, + 0x40, 0x88, 0xb5, 0x35, 0x4f, 0xdb, 0xe9, 0x57, 0x38, 0xa5, 0x13, 0x77, 0x6e, 0x4e, 0x3f, 0x33, + 0x70, 0x8f, 0x55, 0xcd, 0xa1, 0xdd, 0xb1, 0x1e, 0xd0, 0xb7, 0x24, 0xb2, 0xb0, 0xd8, 0xed, 0x3c, + 0xe9, 0x71, 0x94, 0xf6, 0x78, 0xa4, 0x6f, 0x8f, 0x81, 0x16, 0xeb, 0xd7, 0xfa, 0xcc, 0x1b, 0x07, + 0x18, 0x29, 0x3b, 0x14, 0x92, 0xae, 0x7f, 0xf5, 0x8d, 0x7b, 0x5e, 0xb4, 0x81, 0x05, 0xe8, 0x65, + 0x09, 0x46, 0xab, 0xad, 0x55, 0x9e, 0xbd, 0x89, 0xe5, 0x39, 0xfe, 0x2f, 0x34, 0xfd, 0x2c, 0x0f, + 0xe9, 0x31, 0xdb, 0x4f, 0x7d, 0xe6, 0x8d, 0xe9, 0x63, 0x03, 0x1b, 0x41, 0xb7, 0x20, 0x6a, 0x43, + 0x67, 0x9f, 0xe8, 0xb3, 0xd4, 0x8a, 0x32, 0xa9, 0x04, 0x6a, 0xb8, 0x46, 0xac, 0x18, 0xbb, 0x8b, + 0x15, 0x21, 0x3d, 0x66, 0x45, 0x91, 0x44, 0xfd, 0xbd, 0x5b, 0x12, 0xe2, 0x43, 0x6b, 0x30, 0xcc, + 0x3c, 0x4c, 0xbf, 0xae, 0x4c, 0x1f, 0x30, 0x0c, 0xdb, 0x93, 0xa3, 0x70, 0x9a, 0xa9, 0x33, 0x00, + 0xed, 0x18, 0x43, 0x32, 0xc4, 0x2f, 0xe3, 0x16, 0xff, 0x84, 0x96, 0xfc, 0x44, 0x93, 0xed, 0x6f, + 0xdc, 0xa5, 0xb9, 0x04, 0xff, 0x70, 0xbd, 0x18, 0x3b, 0x23, 0x4d, 0x3d, 0x07, 0x72, 0x77, 0xac, + 0x1c, 0x08, 0xaf, 0x00, 0xea, 0x9d, 0xb1, 0x30, 0x43, 0x92, 0x31, 0x3c, 0x1a, 0x66, 0xc8, 0x1c, + 0x93, 0xdb, 0x3e, 0xbf, 0x60, 0x98, 0x9e, 0x6d, 0xf5, 0x70, 0x76, 0xfb, 0xff, 0xa7, 0xe3, 0x9c, + 0x2d, 0xc0, 0x30, 0x13, 0x92, 0xb1, 0x54, 0x68, 0xfa, 0xa0, 0x59, 0x4e, 0x61, 0x0f, 0xa5, 0x95, + 0x1b, 0xb7, 0x0a, 0x43, 0x3f, 0xbc, 0x55, 0x18, 0xfa, 0xe7, 0x5b, 0x85, 0xa1, 0x37, 0x6f, 0x15, + 0xa4, 0xb7, 0x6f, 0x15, 0xa4, 0x77, 0x6f, 0x15, 0xa4, 0xf7, 0x6e, 0x15, 0xa4, 0xeb, 0x7b, 0x05, + 0xe9, 0xab, 0x7b, 0x05, 0xe9, 0x1b, 0x7b, 0x05, 0xe9, 0x3b, 0x7b, 0x05, 0xe9, 0xfb, 0x7b, 0x05, + 0xe9, 0xc6, 0x5e, 0x41, 0xfa, 0xe1, 0x5e, 0x41, 0x7a, 0x73, 0xaf, 0x20, 0xbd, 0xbd, 0x57, 0x18, + 0x7a, 0x77, 0xaf, 0x20, 0xbd, 0xb7, 0x57, 0x18, 0xba, 0xfe, 0xe3, 0xc2, 0xd0, 0xff, 0x05, 0x00, + 0x00, 0xff, 0xff, 0x0e, 0x10, 0x9c, 0x56, 0xa6, 0x3a, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2561,55 +2611,3 @@ var ( ErrInvalidLengthCasttype = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCasttype = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/both/casttype.proto", fileDescriptor_casttype_c3de4173df712bd1) -} - -var fileDescriptor_casttype_c3de4173df712bd1 = []byte{ - // 694 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x4c, - 0x18, 0xc7, 0xfd, 0x34, 0x4d, 0x9b, 0x5c, 0x9a, 0xf7, 0x8d, 0x4e, 0x0c, 0x56, 0x24, 0xce, 0x56, - 0xab, 0x22, 0x0f, 0x90, 0x54, 0x69, 0x54, 0xaa, 0x82, 0x18, 0x5c, 0x15, 0xa9, 0x08, 0x17, 0x64, - 0xa8, 0x2a, 0x10, 0x8b, 0xd3, 0x9a, 0x34, 0xc2, 0x89, 0xa3, 0xf8, 0x02, 0xf2, 0x56, 0x95, 0x01, - 0x89, 0xbf, 0x84, 0x91, 0x05, 0x89, 0x91, 0xb1, 0x63, 0x47, 0xa6, 0xb4, 0x36, 0x4b, 0xd9, 0x3a, - 0x56, 0x99, 0xd0, 0xdd, 0x39, 0xb1, 0xfb, 0x03, 0x94, 0xa6, 0xdb, 0x3d, 0x77, 0xcf, 0xf3, 0x79, - 0xbe, 0xf7, 0xdc, 0x73, 0x77, 0xa8, 0xb8, 0xed, 0x36, 0x6b, 0xae, 0x57, 0xae, 0xb9, 0x74, 0xb7, - 0xbc, 0x6d, 0x79, 0x94, 0xfa, 0x6d, 0xbb, 0xd4, 0xee, 0xb8, 0xd4, 0xc5, 0x99, 0x81, 0x5d, 0xbc, - 0x57, 0x6f, 0xd0, 0xdd, 0x6e, 0xad, 0xb4, 0xed, 0x36, 0xcb, 0x75, 0xb7, 0xee, 0x96, 0xb9, 0x43, - 0xad, 0xfb, 0x96, 0x5b, 0xdc, 0xe0, 0x23, 0x11, 0x38, 0xfb, 0x3b, 0x8f, 0x32, 0xab, 0x96, 0x47, - 0xad, 0x0f, 0x96, 0x8f, 0xe7, 0x51, 0x66, 0xbd, 0x45, 0x17, 0x2b, 0xcf, 0x69, 0x47, 0x06, 0x15, - 0xb4, 0x94, 0x9e, 0xed, 0xf7, 0x94, 0x74, 0x83, 0xcd, 0x99, 0xc3, 0x25, 0x3c, 0x87, 0xd2, 0x7c, - 0x2c, 0x4f, 0x70, 0x9f, 0xfc, 0x41, 0x4f, 0x91, 0x62, 0x3f, 0xb1, 0x86, 0x5f, 0xa1, 0x9c, 0xe1, - 0x6f, 0x36, 0x5a, 0x74, 0xa9, 0xca, 0x70, 0x29, 0x15, 0xb4, 0x49, 0xfd, 0x7e, 0xbf, 0xa7, 0x2c, - 0xfe, 0x55, 0x20, 0xb5, 0x3d, 0x1a, 0x6f, 0x6c, 0x10, 0xfd, 0xd2, 0x6f, 0xdb, 0x66, 0x92, 0x85, - 0xb7, 0x50, 0x66, 0x60, 0xca, 0x93, 0x9c, 0xfb, 0x20, 0x92, 0x30, 0x16, 0x7b, 0x08, 0xc3, 0x6f, - 0xd0, 0x8c, 0xe1, 0x3f, 0x76, 0x5c, 0x2b, 0xaa, 0x41, 0x5a, 0x05, 0x6d, 0x42, 0x5f, 0xee, 0xf7, - 0x94, 0xea, 0xc8, 0xe0, 0x28, 0x9c, 0x93, 0xcf, 0xd1, 0xf0, 0x6b, 0x94, 0x1d, 0xda, 0xf2, 0x14, - 0x47, 0x3f, 0x8c, 0x74, 0x8f, 0x87, 0x8f, 0x71, 0x09, 0xe5, 0xa2, 0xdc, 0xd3, 0x2a, 0x68, 0x30, - 0x8e, 0xf2, 0xa8, 0x26, 0xe7, 0x68, 0x09, 0xe5, 0x4b, 0x55, 0x39, 0xc3, 0xd1, 0x63, 0x2a, 0x8f, - 0xf0, 0x31, 0x0e, 0x3f, 0x41, 0xd3, 0x86, 0xaf, 0xfb, 0xd4, 0xf6, 0xe4, 0xac, 0x0a, 0xda, 0x8c, - 0xbe, 0xd0, 0xef, 0x29, 0x77, 0x47, 0xa4, 0xf2, 0x38, 0x73, 0x00, 0xc0, 0x2a, 0xca, 0x6d, 0xb8, - 0x9d, 0xa6, 0xe5, 0x08, 0x1e, 0x62, 0x3c, 0x33, 0x39, 0x85, 0x37, 0xd9, 0x4e, 0xc4, 0x69, 0x7b, - 0x72, 0x4e, 0x4d, 0xdd, 0xa4, 0x27, 0x63, 0x12, 0x6e, 0xa0, 0xb4, 0xe1, 0x1b, 0x56, 0x5b, 0x9e, - 0x51, 0x53, 0x5a, 0xae, 0x72, 0xbb, 0x34, 0x8c, 0x18, 0xdc, 0xad, 0x12, 0x5f, 0x5f, 0x6b, 0xd1, - 0x8e, 0xaf, 0x57, 0xfb, 0x3d, 0x65, 0x61, 0xe4, 0x8c, 0x86, 0xd5, 0xe6, 0xe9, 0x44, 0x06, 0xfc, - 0x0d, 0xd8, 0xc5, 0x5a, 0xed, 0x7a, 0xd4, 0x6d, 0xb2, 0x8c, 0x79, 0x9e, 0x71, 0xee, 0xca, 0x8c, - 0x43, 0x2f, 0x91, 0xb7, 0xb5, 0x7f, 0x74, 0x8d, 0x9d, 0xbe, 0xa0, 0x9d, 0x46, 0xab, 0xce, 0x52, - 0x7f, 0x3e, 0x1a, 0xfb, 0xd2, 0x0e, 0x15, 0xe0, 0x8f, 0x80, 0xf2, 0x86, 0xbf, 0xd1, 0x75, 0x1c, - 0xab, 0xe6, 0xd8, 0x4c, 0xf9, 0x7f, 0x5c, 0xf9, 0xfc, 0x95, 0xca, 0x13, 0x7e, 0x42, 0xfb, 0xd2, - 0xfe, 0x91, 0x52, 0x19, 0x59, 0x04, 0x7f, 0x82, 0xb8, 0x86, 0xf3, 0x39, 0xf1, 0x27, 0xae, 0x62, - 0xad, 0x59, 0xb3, 0x77, 0x76, 0xec, 0x1d, 0xa6, 0xe2, 0xff, 0x7f, 0xa8, 0x48, 0xf8, 0x09, 0x15, - 0x2b, 0xac, 0xeb, 0xc7, 0x57, 0x92, 0xe0, 0xe1, 0x67, 0x68, 0x4a, 0x54, 0x58, 0x2e, 0xa8, 0xa0, - 0x65, 0xaf, 0xd9, 0x86, 0xf1, 0xe1, 0x98, 0x11, 0xa6, 0xb8, 0x8c, 0x50, 0xdc, 0x63, 0xb8, 0x80, - 0x52, 0xef, 0x6c, 0x9f, 0xbf, 0xe2, 0x59, 0x93, 0x0d, 0xf1, 0x2d, 0x94, 0x7e, 0x6f, 0x39, 0x5d, - 0x9b, 0xbf, 0xda, 0x93, 0xa6, 0x30, 0x56, 0x26, 0x96, 0xa1, 0xf8, 0x08, 0x15, 0x2e, 0xf6, 0xca, - 0xb5, 0xe2, 0x4d, 0x84, 0x2f, 0x9f, 0x58, 0x92, 0x90, 0x16, 0x84, 0x3b, 0x49, 0x42, 0xae, 0x52, - 0x88, 0x6b, 0xbe, 0xd5, 0x70, 0x3c, 0xb7, 0x75, 0x89, 0x79, 0xb1, 0xfe, 0x37, 0x63, 0xce, 0x12, - 0x34, 0x25, 0x26, 0xd9, 0x5e, 0xd6, 0xf9, 0xf7, 0xc1, 0x7f, 0x39, 0x53, 0x18, 0xfa, 0xd3, 0x83, - 0x80, 0x48, 0x87, 0x01, 0x91, 0x7e, 0x06, 0x44, 0x3a, 0x0e, 0x08, 0x9c, 0x04, 0x04, 0x4e, 0x03, - 0x02, 0x67, 0x01, 0x81, 0xbd, 0x90, 0xc0, 0x97, 0x90, 0xc0, 0xd7, 0x90, 0xc0, 0xf7, 0x90, 0xc0, - 0x8f, 0x90, 0xc0, 0x41, 0x48, 0xe0, 0x30, 0x24, 0x70, 0x1c, 0x12, 0x38, 0x09, 0x89, 0x74, 0x1a, - 0x12, 0x38, 0x0b, 0x89, 0xb4, 0xf7, 0x8b, 0x48, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x0c, - 0x8a, 0xc1, 0xaf, 0x07, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/casttype/combos/marshaler/casttype.pb.go b/vendor/github.com/gogo/protobuf/test/casttype/combos/marshaler/casttype.pb.go index 59695f9a1..0ef308bcb 100644 --- a/vendor/github.com/gogo/protobuf/test/casttype/combos/marshaler/casttype.pb.go +++ b/vendor/github.com/gogo/protobuf/test/casttype/combos/marshaler/casttype.pb.go @@ -3,24 +3,22 @@ package casttype -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -58,7 +56,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_c89cc726fec17f61, []int{0} + return fileDescriptor_aae4edfe8cc8b226, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Castaway.Unmarshal(m, b) @@ -75,8 +73,8 @@ func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return m.Size() @@ -97,7 +95,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_c89cc726fec17f61, []int{1} + return fileDescriptor_aae4edfe8cc8b226, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Wilson.Unmarshal(m, b) @@ -114,8 +112,8 @@ func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return m.Size() @@ -134,6 +132,57 @@ func init() { proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)(nil), "casttype.Castaway.MyNullableMapEntry") proto.RegisterType((*Wilson)(nil), "casttype.Wilson") } + +func init() { proto.RegisterFile("combos/marshaler/casttype.proto", fileDescriptor_aae4edfe8cc8b226) } + +var fileDescriptor_aae4edfe8cc8b226 = []byte{ + // 698 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x4c, + 0x18, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0xe6, 0x7d, 0xa3, 0x13, 0x83, 0x55, 0x89, 0xb3, 0xd5, + 0xaa, 0xc8, 0x03, 0x24, 0x55, 0x1a, 0x95, 0xaa, 0x20, 0x06, 0x57, 0x45, 0x2a, 0xc2, 0x05, 0x19, + 0xaa, 0x0a, 0xc4, 0x72, 0x69, 0x4d, 0x1a, 0xe1, 0xc4, 0x91, 0x7d, 0x01, 0x79, 0xab, 0xca, 0x80, + 0xc4, 0x5f, 0xc2, 0xc8, 0x82, 0xc4, 0xc8, 0xd8, 0xb1, 0x23, 0x53, 0x5a, 0x9b, 0xa5, 0x6c, 0x1d, + 0xab, 0x4c, 0xe8, 0xee, 0x9c, 0xd8, 0xfd, 0x01, 0x4a, 0xdc, 0xed, 0x9e, 0xbb, 0xe7, 0xf9, 0x3c, + 0xdf, 0x7b, 0xee, 0xb9, 0x3b, 0xa8, 0xec, 0x38, 0xad, 0xba, 0xe3, 0x55, 0x5a, 0xc4, 0xf5, 0xf6, + 0x88, 0x6d, 0xb9, 0x95, 0x1d, 0xe2, 0x51, 0xea, 0x77, 0xac, 0x72, 0xc7, 0x75, 0xa8, 0x83, 0x72, + 0x03, 0x7b, 0xf6, 0x5e, 0xa3, 0x49, 0xf7, 0xba, 0xf5, 0xf2, 0x8e, 0xd3, 0xaa, 0x34, 0x9c, 0x86, + 0x53, 0xe1, 0x0e, 0xf5, 0xee, 0x5b, 0x6e, 0x71, 0x83, 0x8f, 0x44, 0xe0, 0xdc, 0xef, 0x22, 0xcc, + 0xad, 0x11, 0x8f, 0x92, 0x0f, 0xc4, 0x47, 0x0b, 0x30, 0xb7, 0xd1, 0xa6, 0x4b, 0xd5, 0xe7, 0xd4, + 0x95, 0x81, 0x0a, 0xb4, 0x8c, 0x9e, 0xef, 0xf7, 0x94, 0x6c, 0x93, 0xcd, 0x99, 0xc3, 0x25, 0x34, + 0x0f, 0xb3, 0x7c, 0x2c, 0x4f, 0x70, 0x9f, 0xe2, 0x61, 0x4f, 0x91, 0x62, 0x3f, 0xb1, 0x86, 0x5e, + 0xc1, 0x82, 0xe1, 0x6f, 0x35, 0xdb, 0x74, 0xb9, 0xc6, 0x70, 0x19, 0x15, 0x68, 0x93, 0xfa, 0xfd, + 0x7e, 0x4f, 0x59, 0xfa, 0xab, 0x40, 0x6a, 0x79, 0x34, 0xde, 0xd8, 0x20, 0xfa, 0xa5, 0xdf, 0xb1, + 0xcc, 0x24, 0x0b, 0x6d, 0xc3, 0xdc, 0xc0, 0x94, 0x27, 0x39, 0xf7, 0x41, 0x24, 0x21, 0x15, 0x7b, + 0x08, 0x43, 0x6f, 0xe0, 0x8c, 0xe1, 0x3f, 0xb6, 0x1d, 0x12, 0xd5, 0x20, 0xab, 0x02, 0x6d, 0x42, + 0x5f, 0xe9, 0xf7, 0x94, 0xda, 0xc8, 0xe0, 0x28, 0x9c, 0x93, 0x2f, 0xd0, 0xd0, 0x6b, 0x98, 0x1f, + 0xda, 0xf2, 0x14, 0x47, 0x3f, 0x8c, 0x74, 0xa7, 0xc3, 0xc7, 0xb8, 0x84, 0x72, 0x51, 0xee, 0x69, + 0x15, 0x68, 0x20, 0x8d, 0xf2, 0xa8, 0x26, 0x17, 0x68, 0x09, 0xe5, 0xcb, 0x35, 0x39, 0xc7, 0xd1, + 0x29, 0x95, 0x47, 0xf8, 0x18, 0x87, 0x9e, 0xc0, 0x69, 0xc3, 0xd7, 0x7d, 0x6a, 0x79, 0x72, 0x5e, + 0x05, 0xda, 0x8c, 0xbe, 0xd8, 0xef, 0x29, 0x77, 0x47, 0xa4, 0xf2, 0x38, 0x73, 0x00, 0x40, 0x2a, + 0x2c, 0x6c, 0x3a, 0x6e, 0x8b, 0xd8, 0x82, 0x07, 0x19, 0xcf, 0x4c, 0x4e, 0xa1, 0x2d, 0xb6, 0x13, + 0x71, 0xda, 0x9e, 0x5c, 0x50, 0x33, 0x37, 0xe9, 0xc9, 0x98, 0x84, 0x9a, 0x30, 0x6b, 0xf8, 0x06, + 0xe9, 0xc8, 0x33, 0x6a, 0x46, 0x2b, 0x54, 0x6f, 0x97, 0x87, 0x11, 0x83, 0xbb, 0x55, 0xe6, 0xeb, + 0xeb, 0x6d, 0xea, 0xfa, 0x7a, 0xad, 0xdf, 0x53, 0x16, 0x47, 0xce, 0x68, 0x90, 0x0e, 0x4f, 0x27, + 0x32, 0xa0, 0x6f, 0x80, 0x5d, 0xac, 0xb5, 0xae, 0x47, 0x9d, 0x16, 0xcb, 0x58, 0xe4, 0x19, 0xe7, + 0xaf, 0xcd, 0x38, 0xf4, 0x12, 0x79, 0xdb, 0x07, 0xc7, 0x63, 0xec, 0xf4, 0x05, 0x75, 0x9b, 0xed, + 0x06, 0x4b, 0xfd, 0xf9, 0x38, 0xf5, 0xa5, 0x1d, 0x2a, 0x40, 0x1f, 0x01, 0x2c, 0x1a, 0xfe, 0x66, + 0xd7, 0xb6, 0x49, 0xdd, 0xb6, 0x98, 0xf2, 0xff, 0xb8, 0xf2, 0x85, 0x6b, 0x95, 0x27, 0xfc, 0x84, + 0xf6, 0xe5, 0x83, 0x63, 0xa5, 0x3a, 0xb2, 0x08, 0xfe, 0x04, 0x71, 0x0d, 0x17, 0x73, 0xa2, 0x4f, + 0x5c, 0xc5, 0x7a, 0xab, 0x6e, 0xed, 0xee, 0x5a, 0xbb, 0x4c, 0xc5, 0xff, 0xff, 0x50, 0x91, 0xf0, + 0x13, 0x2a, 0x56, 0x59, 0xd7, 0xa7, 0x57, 0x92, 0xe0, 0xa1, 0x67, 0x70, 0x4a, 0x54, 0x58, 0x2e, + 0xa9, 0x40, 0xcb, 0x8f, 0xd9, 0x86, 0xf1, 0xe1, 0x98, 0x11, 0x66, 0x76, 0x05, 0xc2, 0xb8, 0xc7, + 0x50, 0x09, 0x66, 0xde, 0x59, 0x3e, 0x7f, 0xc5, 0xf3, 0x26, 0x1b, 0xa2, 0x5b, 0x30, 0xfb, 0x9e, + 0xd8, 0x5d, 0x8b, 0xbf, 0xda, 0x93, 0xa6, 0x30, 0x56, 0x27, 0x56, 0xc0, 0xec, 0x23, 0x58, 0xba, + 0xdc, 0x2b, 0x63, 0xc5, 0x9b, 0x10, 0x5d, 0x3d, 0xb1, 0x24, 0x21, 0x2b, 0x08, 0x77, 0x92, 0x84, + 0x42, 0xb5, 0x14, 0xd7, 0x7c, 0xbb, 0x69, 0x7b, 0x4e, 0xfb, 0x0a, 0xf3, 0x72, 0xfd, 0x6f, 0xc6, + 0x9c, 0xc3, 0x70, 0x4a, 0x4c, 0xb2, 0xbd, 0x6c, 0xf0, 0xef, 0x83, 0xff, 0x72, 0xa6, 0x30, 0xf4, + 0xa7, 0x87, 0x01, 0x96, 0x8e, 0x02, 0x2c, 0xfd, 0x0c, 0xb0, 0x74, 0x12, 0x60, 0x70, 0x1a, 0x60, + 0x70, 0x16, 0x60, 0x70, 0x1e, 0x60, 0xb0, 0x1f, 0x62, 0xf0, 0x25, 0xc4, 0xe0, 0x6b, 0x88, 0xc1, + 0xf7, 0x10, 0x83, 0x1f, 0x21, 0x06, 0x87, 0x21, 0x06, 0x47, 0x21, 0x96, 0x4e, 0x42, 0x0c, 0x4e, + 0x43, 0x2c, 0x9d, 0x85, 0x18, 0x9c, 0x87, 0x58, 0xda, 0xff, 0x85, 0xa5, 0x3f, 0x01, 0x00, 0x00, + 0xff, 0xff, 0xec, 0xe2, 0x9e, 0x1c, 0xb4, 0x07, 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CasttypeDescription() } @@ -143,279 +192,281 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CasttypeDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4343 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xd7, - 0x79, 0xe6, 0xe2, 0x42, 0x02, 0x3f, 0x40, 0x70, 0x79, 0x48, 0xcb, 0x10, 0x13, 0x83, 0x14, 0xe5, - 0x0b, 0x6d, 0x27, 0x94, 0x47, 0x77, 0x41, 0x89, 0x5d, 0x82, 0x84, 0x18, 0xa8, 0x04, 0xc9, 0x2c, - 0xc9, 0xc8, 0x72, 0xda, 0xd9, 0x59, 0x2e, 0x0e, 0xc1, 0x95, 0x16, 0xbb, 0x9b, 0xdd, 0x85, 0x64, - 0x68, 0xfa, 0xa0, 0xc6, 0x6d, 0x33, 0x69, 0xa7, 0xf7, 0xce, 0x34, 0x71, 0x1d, 0xb7, 0x49, 0xa7, - 0x71, 0x9a, 0xde, 0x92, 0xe6, 0xd2, 0x24, 0x7d, 0xc9, 0x4b, 0x5a, 0x3f, 0x75, 0x92, 0xb7, 0x3e, - 0x74, 0x64, 0x8b, 0xf1, 0x4c, 0x9d, 0xd6, 0x6d, 0xdc, 0x56, 0x0f, 0x1e, 0xf9, 0xa5, 0x73, 0x6e, - 0x8b, 0xc5, 0x85, 0x5a, 0x50, 0x19, 0x3b, 0x4f, 0xc4, 0xfe, 0xe7, 0xff, 0xbe, 0xf3, 0x9f, 0xff, - 0xfc, 0xe7, 0xfc, 0xff, 0x39, 0xbb, 0x84, 0x9f, 0x9e, 0x83, 0x99, 0xba, 0x6d, 0xd7, 0x4d, 0x7c, - 0xcc, 0x71, 0x6d, 0xdf, 0xde, 0x6e, 0xee, 0x1c, 0xab, 0x61, 0x4f, 0x77, 0x0d, 0xc7, 0xb7, 0xdd, - 0x79, 0x2a, 0x43, 0x63, 0x4c, 0x63, 0x5e, 0x68, 0xcc, 0x56, 0x61, 0xfc, 0x82, 0x61, 0xe2, 0xa5, - 0x40, 0x71, 0x03, 0xfb, 0xe8, 0x2c, 0x24, 0x76, 0x0c, 0x13, 0xe7, 0xa5, 0x99, 0xf8, 0x5c, 0xe6, - 0xf8, 0xc3, 0xf3, 0x5d, 0xa0, 0xf9, 0x4e, 0xc4, 0x3a, 0x11, 0x2b, 0x14, 0x31, 0xfb, 0x46, 0x02, - 0x26, 0xfa, 0xb4, 0x22, 0x04, 0x09, 0x4b, 0x6b, 0x10, 0x46, 0x69, 0x2e, 0xad, 0xd0, 0xdf, 0x28, - 0x0f, 0x23, 0x8e, 0xa6, 0x5f, 0xd5, 0xea, 0x38, 0x1f, 0xa3, 0x62, 0xf1, 0x88, 0x0a, 0x00, 0x35, - 0xec, 0x60, 0xab, 0x86, 0x2d, 0xbd, 0x95, 0x8f, 0xcf, 0xc4, 0xe7, 0xd2, 0x4a, 0x48, 0x82, 0x9e, - 0x84, 0x71, 0xa7, 0xb9, 0x6d, 0x1a, 0xba, 0x1a, 0x52, 0x83, 0x99, 0xf8, 0x5c, 0x52, 0x91, 0x59, - 0xc3, 0x52, 0x5b, 0xf9, 0x31, 0x18, 0xbb, 0x8e, 0xb5, 0xab, 0x61, 0xd5, 0x0c, 0x55, 0xcd, 0x11, - 0x71, 0x48, 0x71, 0x11, 0xb2, 0x0d, 0xec, 0x79, 0x5a, 0x1d, 0xab, 0x7e, 0xcb, 0xc1, 0xf9, 0x04, - 0x1d, 0xfd, 0x4c, 0xcf, 0xe8, 0xbb, 0x47, 0x9e, 0xe1, 0xa8, 0xcd, 0x96, 0x83, 0xd1, 0x02, 0xa4, - 0xb1, 0xd5, 0x6c, 0x30, 0x86, 0xe4, 0x3e, 0xfe, 0x2b, 0x5b, 0xcd, 0x46, 0x37, 0x4b, 0x8a, 0xc0, - 0x38, 0xc5, 0x88, 0x87, 0xdd, 0x6b, 0x86, 0x8e, 0xf3, 0xc3, 0x94, 0xe0, 0xb1, 0x1e, 0x82, 0x0d, - 0xd6, 0xde, 0xcd, 0x21, 0x70, 0x68, 0x11, 0xd2, 0xf8, 0x79, 0x1f, 0x5b, 0x9e, 0x61, 0x5b, 0xf9, - 0x11, 0x4a, 0xf2, 0x48, 0x9f, 0x59, 0xc4, 0x66, 0xad, 0x9b, 0xa2, 0x8d, 0x43, 0xa7, 0x61, 0xc4, - 0x76, 0x7c, 0xc3, 0xb6, 0xbc, 0x7c, 0x6a, 0x46, 0x9a, 0xcb, 0x1c, 0xff, 0x60, 0xdf, 0x40, 0x58, - 0x63, 0x3a, 0x8a, 0x50, 0x46, 0x15, 0x90, 0x3d, 0xbb, 0xe9, 0xea, 0x58, 0xd5, 0xed, 0x1a, 0x56, - 0x0d, 0x6b, 0xc7, 0xce, 0xa7, 0x29, 0xc1, 0x74, 0xef, 0x40, 0xa8, 0xe2, 0xa2, 0x5d, 0xc3, 0x15, - 0x6b, 0xc7, 0x56, 0x72, 0x5e, 0xc7, 0x33, 0x3a, 0x04, 0xc3, 0x5e, 0xcb, 0xf2, 0xb5, 0xe7, 0xf3, - 0x59, 0x1a, 0x21, 0xfc, 0x69, 0xf6, 0xbb, 0xc3, 0x30, 0x36, 0x48, 0x88, 0x9d, 0x87, 0xe4, 0x0e, - 0x19, 0x65, 0x3e, 0x76, 0x10, 0x1f, 0x30, 0x4c, 0xa7, 0x13, 0x87, 0xef, 0xd3, 0x89, 0x0b, 0x90, - 0xb1, 0xb0, 0xe7, 0xe3, 0x1a, 0x8b, 0x88, 0xf8, 0x80, 0x31, 0x05, 0x0c, 0xd4, 0x1b, 0x52, 0x89, - 0xfb, 0x0a, 0xa9, 0x67, 0x61, 0x2c, 0x30, 0x49, 0x75, 0x35, 0xab, 0x2e, 0x62, 0xf3, 0x58, 0x94, - 0x25, 0xf3, 0x65, 0x81, 0x53, 0x08, 0x4c, 0xc9, 0xe1, 0x8e, 0x67, 0xb4, 0x04, 0x60, 0x5b, 0xd8, - 0xde, 0x51, 0x6b, 0x58, 0x37, 0xf3, 0xa9, 0x7d, 0xbc, 0xb4, 0x46, 0x54, 0x7a, 0xbc, 0x64, 0x33, - 0xa9, 0x6e, 0xa2, 0x73, 0xed, 0x50, 0x1b, 0xd9, 0x27, 0x52, 0xaa, 0x6c, 0x91, 0xf5, 0x44, 0xdb, + // 4378 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7b, 0x5b, 0x70, 0x1c, 0xc7, + 0x75, 0x36, 0x66, 0x2f, 0xc0, 0xee, 0xd9, 0xc5, 0x62, 0xd0, 0x80, 0xa8, 0x15, 0x64, 0x2d, 0x40, + 0x50, 0x17, 0xe8, 0x06, 0xaa, 0x78, 0xd7, 0xd2, 0x96, 0x7e, 0x2c, 0xb0, 0x84, 0x97, 0x3f, 0x16, + 0x80, 0x07, 0x80, 0x29, 0xca, 0x49, 0x4d, 0x0d, 0x66, 0x1b, 0x8b, 0x21, 0x67, 0x67, 0xc6, 0x33, + 0xb3, 0xa4, 0x96, 0x95, 0x07, 0xc6, 0x4a, 0xe2, 0x72, 0xee, 0xb7, 0xaa, 0xd8, 0x8a, 0xac, 0xc4, + 0x4e, 0xc5, 0x72, 0x9c, 0x9b, 0x9d, 0xd8, 0x8e, 0xed, 0xbc, 0xf8, 0xc5, 0x09, 0x9f, 0x52, 0xf6, + 0x5b, 0x1e, 0x52, 0x94, 0x08, 0xab, 0x2a, 0x72, 0xa2, 0x24, 0x4a, 0xc2, 0x07, 0x15, 0xf5, 0x92, + 0xea, 0xdb, 0xec, 0xec, 0x05, 0x9c, 0x05, 0x5d, 0x92, 0x9f, 0xb0, 0x73, 0xfa, 0x7c, 0x5f, 0x9f, + 0x3e, 0x7d, 0xba, 0xcf, 0xe9, 0x9e, 0x01, 0xdc, 0x28, 0xc2, 0x4c, 0xdd, 0xb6, 0xeb, 0x26, 0x3e, + 0xea, 0xb8, 0xb6, 0x6f, 0x6f, 0x37, 0x77, 0x8e, 0xd6, 0xb0, 0xa7, 0xbb, 0x86, 0xe3, 0xdb, 0xee, + 0x3c, 0x95, 0xa1, 0x31, 0xa6, 0x31, 0x2f, 0x34, 0x66, 0xab, 0x30, 0x7e, 0xce, 0x30, 0xf1, 0x52, + 0xa0, 0xb8, 0x81, 0x7d, 0x74, 0x06, 0x12, 0x3b, 0x86, 0x89, 0xf3, 0xd2, 0x4c, 0x7c, 0x2e, 0x73, + 0xec, 0xe1, 0xf9, 0x2e, 0xd0, 0x7c, 0x27, 0x62, 0x9d, 0x88, 0x15, 0x8a, 0x98, 0x7d, 0x2b, 0x01, + 0x13, 0x7d, 0x5a, 0x11, 0x82, 0x84, 0xa5, 0x35, 0x08, 0xa3, 0x34, 0x97, 0x56, 0xe8, 0x6f, 0x94, + 0x87, 0x11, 0x47, 0xd3, 0x2f, 0x6b, 0x75, 0x9c, 0x8f, 0x51, 0xb1, 0x78, 0x44, 0x05, 0x80, 0x1a, + 0x76, 0xb0, 0x55, 0xc3, 0x96, 0xde, 0xca, 0xc7, 0x67, 0xe2, 0x73, 0x69, 0x25, 0x24, 0x41, 0x4f, + 0xc2, 0xb8, 0xd3, 0xdc, 0x36, 0x0d, 0x5d, 0x0d, 0xa9, 0xc1, 0x4c, 0x7c, 0x2e, 0xa9, 0xc8, 0xac, + 0x61, 0xa9, 0xad, 0xfc, 0x18, 0x8c, 0x5d, 0xc5, 0xda, 0xe5, 0xb0, 0x6a, 0x86, 0xaa, 0xe6, 0x88, + 0x38, 0xa4, 0xb8, 0x08, 0xd9, 0x06, 0xf6, 0x3c, 0xad, 0x8e, 0x55, 0xbf, 0xe5, 0xe0, 0x7c, 0x82, + 0x8e, 0x7e, 0xa6, 0x67, 0xf4, 0xdd, 0x23, 0xcf, 0x70, 0xd4, 0x66, 0xcb, 0xc1, 0x68, 0x01, 0xd2, + 0xd8, 0x6a, 0x36, 0x18, 0x43, 0x72, 0x1f, 0xff, 0x95, 0xad, 0x66, 0xa3, 0x9b, 0x25, 0x45, 0x60, + 0x9c, 0x62, 0xc4, 0xc3, 0xee, 0x15, 0x43, 0xc7, 0xf9, 0x61, 0x4a, 0xf0, 0x58, 0x0f, 0xc1, 0x06, + 0x6b, 0xef, 0xe6, 0x10, 0x38, 0xb4, 0x08, 0x69, 0xfc, 0x92, 0x8f, 0x2d, 0xcf, 0xb0, 0xad, 0xfc, + 0x08, 0x25, 0x79, 0xa4, 0xcf, 0x2c, 0x62, 0xb3, 0xd6, 0x4d, 0xd1, 0xc6, 0xa1, 0x53, 0x30, 0x62, + 0x3b, 0xbe, 0x61, 0x5b, 0x5e, 0x3e, 0x35, 0x23, 0xcd, 0x65, 0x8e, 0x7d, 0xa4, 0x6f, 0x20, 0xac, + 0x31, 0x1d, 0x45, 0x28, 0xa3, 0x0a, 0xc8, 0x9e, 0xdd, 0x74, 0x75, 0xac, 0xea, 0x76, 0x0d, 0xab, + 0x86, 0xb5, 0x63, 0xe7, 0xd3, 0x94, 0x60, 0xba, 0x77, 0x20, 0x54, 0x71, 0xd1, 0xae, 0xe1, 0x8a, + 0xb5, 0x63, 0x2b, 0x39, 0xaf, 0xe3, 0x19, 0x1d, 0x82, 0x61, 0xaf, 0x65, 0xf9, 0xda, 0x4b, 0xf9, + 0x2c, 0x8d, 0x10, 0xfe, 0x34, 0xfb, 0xdd, 0x61, 0x18, 0x1b, 0x24, 0xc4, 0xce, 0x42, 0x72, 0x87, + 0x8c, 0x32, 0x1f, 0x3b, 0x88, 0x0f, 0x18, 0xa6, 0xd3, 0x89, 0xc3, 0xf7, 0xe8, 0xc4, 0x05, 0xc8, + 0x58, 0xd8, 0xf3, 0x71, 0x8d, 0x45, 0x44, 0x7c, 0xc0, 0x98, 0x02, 0x06, 0xea, 0x0d, 0xa9, 0xc4, + 0x3d, 0x85, 0xd4, 0x0b, 0x30, 0x16, 0x98, 0xa4, 0xba, 0x9a, 0x55, 0x17, 0xb1, 0x79, 0x34, 0xca, + 0x92, 0xf9, 0xb2, 0xc0, 0x29, 0x04, 0xa6, 0xe4, 0x70, 0xc7, 0x33, 0x5a, 0x02, 0xb0, 0x2d, 0x6c, + 0xef, 0xa8, 0x35, 0xac, 0x9b, 0xf9, 0xd4, 0x3e, 0x5e, 0x5a, 0x23, 0x2a, 0x3d, 0x5e, 0xb2, 0x99, + 0x54, 0x37, 0xd1, 0xb3, 0xed, 0x50, 0x1b, 0xd9, 0x27, 0x52, 0xaa, 0x6c, 0x91, 0xf5, 0x44, 0xdb, 0x16, 0xe4, 0x5c, 0x4c, 0xe2, 0x1e, 0xd7, 0xf8, 0xc8, 0xd2, 0xd4, 0x88, 0xf9, 0xc8, 0x91, 0x29, - 0x1c, 0xc6, 0x06, 0x36, 0xea, 0x86, 0x1f, 0xd1, 0x51, 0x08, 0x04, 0x2a, 0x0d, 0x2b, 0xa0, 0xbb, - 0x50, 0x56, 0x08, 0x57, 0xb5, 0x06, 0x9e, 0xba, 0x01, 0xb9, 0x4e, 0xf7, 0xa0, 0x49, 0x48, 0x7a, + 0x1c, 0xc6, 0x06, 0x36, 0xea, 0x86, 0x1f, 0xd1, 0x11, 0x08, 0x04, 0x2a, 0x0d, 0x2b, 0xa0, 0xbb, + 0x50, 0x56, 0x08, 0x57, 0xb5, 0x06, 0x9e, 0xba, 0x06, 0xb9, 0x4e, 0xf7, 0xa0, 0x49, 0x48, 0x7a, 0xbe, 0xe6, 0xfa, 0x34, 0x0a, 0x93, 0x0a, 0x7b, 0x40, 0x32, 0xc4, 0xb1, 0x55, 0xa3, 0xbb, 0x5c, - 0x52, 0x21, 0x3f, 0xd1, 0x2f, 0xb4, 0x07, 0x1c, 0xa7, 0x03, 0x7e, 0xb4, 0x77, 0x46, 0x3b, 0x98, - 0xbb, 0xc7, 0x3d, 0x75, 0x06, 0x46, 0x3b, 0x06, 0x30, 0x68, 0xd7, 0xb3, 0xbf, 0x02, 0x0f, 0xf4, - 0xa5, 0x46, 0xcf, 0xc2, 0x64, 0xd3, 0x32, 0x2c, 0x1f, 0xbb, 0x8e, 0x8b, 0x49, 0xc4, 0xb2, 0xae, - 0xf2, 0xff, 0x3e, 0xb2, 0x4f, 0xcc, 0x6d, 0x85, 0xb5, 0x19, 0x8b, 0x32, 0xd1, 0xec, 0x15, 0x3e, - 0x91, 0x4e, 0xbd, 0x39, 0x22, 0xdf, 0xbc, 0x79, 0xf3, 0x66, 0x6c, 0xf6, 0x73, 0xc3, 0x30, 0xd9, - 0x6f, 0xcd, 0xf4, 0x5d, 0xbe, 0x87, 0x60, 0xd8, 0x6a, 0x36, 0xb6, 0xb1, 0x4b, 0x9d, 0x94, 0x54, - 0xf8, 0x13, 0x5a, 0x80, 0xa4, 0xa9, 0x6d, 0x63, 0x33, 0x9f, 0x98, 0x91, 0xe6, 0x72, 0xc7, 0x9f, - 0x1c, 0x68, 0x55, 0xce, 0xaf, 0x10, 0x88, 0xc2, 0x90, 0xe8, 0x69, 0x48, 0xf0, 0x2d, 0x9a, 0x30, - 0x3c, 0x31, 0x18, 0x03, 0x59, 0x4b, 0x0a, 0xc5, 0xa1, 0x0f, 0x40, 0x9a, 0xfc, 0x65, 0xb1, 0x31, + 0x52, 0x21, 0x3f, 0xd1, 0xff, 0x6b, 0x0f, 0x38, 0x4e, 0x07, 0xfc, 0x68, 0xef, 0x8c, 0x76, 0x30, + 0x77, 0x8f, 0x7b, 0xea, 0x34, 0x8c, 0x76, 0x0c, 0x60, 0xd0, 0xae, 0x67, 0x7f, 0x01, 0xee, 0xeb, + 0x4b, 0x8d, 0x5e, 0x80, 0xc9, 0xa6, 0x65, 0x58, 0x3e, 0x76, 0x1d, 0x17, 0x93, 0x88, 0x65, 0x5d, + 0xe5, 0xff, 0x75, 0x64, 0x9f, 0x98, 0xdb, 0x0a, 0x6b, 0x33, 0x16, 0x65, 0xa2, 0xd9, 0x2b, 0x7c, + 0x22, 0x9d, 0x7a, 0x7b, 0x44, 0xbe, 0x7e, 0xfd, 0xfa, 0xf5, 0xd8, 0xec, 0xe7, 0x87, 0x61, 0xb2, + 0xdf, 0x9a, 0xe9, 0xbb, 0x7c, 0x0f, 0xc1, 0xb0, 0xd5, 0x6c, 0x6c, 0x63, 0x97, 0x3a, 0x29, 0xa9, + 0xf0, 0x27, 0xb4, 0x00, 0x49, 0x53, 0xdb, 0xc6, 0x66, 0x3e, 0x31, 0x23, 0xcd, 0xe5, 0x8e, 0x3d, + 0x39, 0xd0, 0xaa, 0x9c, 0x5f, 0x21, 0x10, 0x85, 0x21, 0xd1, 0x73, 0x90, 0xe0, 0x5b, 0x34, 0x61, + 0x78, 0x62, 0x30, 0x06, 0xb2, 0x96, 0x14, 0x8a, 0x43, 0x0f, 0x42, 0x9a, 0xfc, 0x65, 0xb1, 0x31, 0x4c, 0x6d, 0x4e, 0x11, 0x01, 0x89, 0x0b, 0x34, 0x05, 0x29, 0xba, 0x4c, 0x6a, 0x58, 0xa4, 0xb6, - 0xe0, 0x99, 0x04, 0x56, 0x0d, 0xef, 0x68, 0x4d, 0xd3, 0x57, 0xaf, 0x69, 0x66, 0x13, 0xd3, 0x80, - 0x4f, 0x2b, 0x59, 0x2e, 0xfc, 0x04, 0x91, 0xa1, 0x69, 0xc8, 0xb0, 0x55, 0x65, 0x58, 0x35, 0xfc, - 0x3c, 0xdd, 0x3d, 0x93, 0x0a, 0x5b, 0x68, 0x15, 0x22, 0x21, 0xdd, 0x5f, 0xf1, 0x6c, 0x4b, 0x84, - 0x26, 0xed, 0x82, 0x08, 0x68, 0xf7, 0x67, 0xba, 0x37, 0xee, 0x87, 0xfa, 0x0f, 0xaf, 0x3b, 0xa6, - 0x66, 0xbf, 0x1d, 0x83, 0x04, 0xdd, 0x2f, 0xc6, 0x20, 0xb3, 0x79, 0x79, 0xbd, 0xac, 0x2e, 0xad, - 0x6d, 0x95, 0x56, 0xca, 0xb2, 0x84, 0x72, 0x00, 0x54, 0x70, 0x61, 0x65, 0x6d, 0x61, 0x53, 0x8e, - 0x05, 0xcf, 0x95, 0xd5, 0xcd, 0xd3, 0x27, 0xe5, 0x78, 0x00, 0xd8, 0x62, 0x82, 0x44, 0x58, 0xe1, - 0xc4, 0x71, 0x39, 0x89, 0x64, 0xc8, 0x32, 0x82, 0xca, 0xb3, 0xe5, 0xa5, 0xd3, 0x27, 0xe5, 0xe1, - 0x4e, 0xc9, 0x89, 0xe3, 0xf2, 0x08, 0x1a, 0x85, 0x34, 0x95, 0x94, 0xd6, 0xd6, 0x56, 0xe4, 0x54, + 0xe0, 0x99, 0x04, 0x56, 0x0d, 0xef, 0x68, 0x4d, 0xd3, 0x57, 0xaf, 0x68, 0x66, 0x13, 0xd3, 0x80, + 0x4f, 0x2b, 0x59, 0x2e, 0xfc, 0x24, 0x91, 0xa1, 0x69, 0xc8, 0xb0, 0x55, 0x65, 0x58, 0x35, 0xfc, + 0x12, 0xdd, 0x3d, 0x93, 0x0a, 0x5b, 0x68, 0x15, 0x22, 0x21, 0xdd, 0x5f, 0xf2, 0x6c, 0x4b, 0x84, + 0x26, 0xed, 0x82, 0x08, 0x68, 0xf7, 0xa7, 0xbb, 0x37, 0xee, 0x87, 0xfa, 0x0f, 0xaf, 0x3b, 0xa6, + 0x66, 0xbf, 0x1d, 0x83, 0x04, 0xdd, 0x2f, 0xc6, 0x20, 0xb3, 0x79, 0x71, 0xbd, 0xac, 0x2e, 0xad, + 0x6d, 0x95, 0x56, 0xca, 0xb2, 0x84, 0x72, 0x00, 0x54, 0x70, 0x6e, 0x65, 0x6d, 0x61, 0x53, 0x8e, + 0x05, 0xcf, 0x95, 0xd5, 0xcd, 0x53, 0x27, 0xe4, 0x78, 0x00, 0xd8, 0x62, 0x82, 0x44, 0x58, 0xe1, + 0xf8, 0x31, 0x39, 0x89, 0x64, 0xc8, 0x32, 0x82, 0xca, 0x0b, 0xe5, 0xa5, 0x53, 0x27, 0xe4, 0xe1, + 0x4e, 0xc9, 0xf1, 0x63, 0xf2, 0x08, 0x1a, 0x85, 0x34, 0x95, 0x94, 0xd6, 0xd6, 0x56, 0xe4, 0x54, 0xc0, 0xb9, 0xb1, 0xa9, 0x54, 0x56, 0x97, 0xe5, 0x74, 0xc0, 0xb9, 0xac, 0xac, 0x6d, 0xad, 0xcb, - 0x10, 0x30, 0x54, 0xcb, 0x1b, 0x1b, 0x0b, 0xcb, 0x65, 0x39, 0x13, 0x68, 0x94, 0x2e, 0x6f, 0x96, - 0x37, 0xe4, 0x6c, 0x87, 0x59, 0x27, 0x8e, 0xcb, 0xa3, 0x41, 0x17, 0xe5, 0xd5, 0xad, 0xaa, 0x9c, - 0x43, 0xe3, 0x30, 0xca, 0xba, 0x10, 0x46, 0x8c, 0x75, 0x89, 0x4e, 0x9f, 0x94, 0xe5, 0xb6, 0x21, - 0x8c, 0x65, 0xbc, 0x43, 0x70, 0xfa, 0xa4, 0x8c, 0x66, 0x17, 0x21, 0x49, 0xa3, 0x0b, 0x21, 0xc8, + 0x10, 0x30, 0x54, 0xcb, 0x1b, 0x1b, 0x0b, 0xcb, 0x65, 0x39, 0x13, 0x68, 0x94, 0x2e, 0x6e, 0x96, + 0x37, 0xe4, 0x6c, 0x87, 0x59, 0xc7, 0x8f, 0xc9, 0xa3, 0x41, 0x17, 0xe5, 0xd5, 0xad, 0xaa, 0x9c, + 0x43, 0xe3, 0x30, 0xca, 0xba, 0x10, 0x46, 0x8c, 0x75, 0x89, 0x4e, 0x9d, 0x90, 0xe5, 0xb6, 0x21, + 0x8c, 0x65, 0xbc, 0x43, 0x70, 0xea, 0x84, 0x8c, 0x66, 0x17, 0x21, 0x49, 0xa3, 0x0b, 0x21, 0xc8, 0xad, 0x2c, 0x94, 0xca, 0x2b, 0xea, 0xda, 0xfa, 0x66, 0x65, 0x6d, 0x75, 0x61, 0x45, 0x96, 0xda, - 0x32, 0xa5, 0xfc, 0xf1, 0xad, 0x8a, 0x52, 0x5e, 0x92, 0x63, 0x61, 0xd9, 0x7a, 0x79, 0x61, 0xb3, + 0x32, 0xa5, 0xfc, 0x89, 0xad, 0x8a, 0x52, 0x5e, 0x92, 0x63, 0x61, 0xd9, 0x7a, 0x79, 0x61, 0xb3, 0xbc, 0x24, 0xc7, 0x67, 0x75, 0x98, 0xec, 0xb7, 0x4f, 0xf6, 0x5d, 0x19, 0xa1, 0x29, 0x8e, 0xed, 0x33, 0xc5, 0x94, 0xab, 0x67, 0x8a, 0x7f, 0x1c, 0x83, 0x89, 0x3e, 0xb9, 0xa2, 0x6f, 0x27, 0xcf, - 0x40, 0x92, 0x85, 0x28, 0xcb, 0x9e, 0x8f, 0xf7, 0x4d, 0x3a, 0x34, 0x60, 0x7b, 0x32, 0x28, 0xc5, - 0x85, 0x2b, 0x88, 0xf8, 0x3e, 0x15, 0x04, 0xa1, 0xe8, 0xd9, 0xd3, 0x7f, 0xb9, 0x67, 0x4f, 0x67, - 0x69, 0xef, 0xf4, 0x20, 0x69, 0x8f, 0xca, 0x0e, 0xb6, 0xb7, 0x27, 0xfb, 0xec, 0xed, 0xe7, 0x61, - 0xbc, 0x87, 0x68, 0xe0, 0x3d, 0xf6, 0x05, 0x09, 0xf2, 0xfb, 0x39, 0x27, 0x62, 0xa7, 0x8b, 0x75, - 0xec, 0x74, 0xe7, 0xbb, 0x3d, 0x78, 0x64, 0xff, 0x49, 0xe8, 0x99, 0xeb, 0x57, 0x24, 0x38, 0xd4, - 0xbf, 0x52, 0xec, 0x6b, 0xc3, 0xd3, 0x30, 0xdc, 0xc0, 0xfe, 0xae, 0x2d, 0xaa, 0xa5, 0x47, 0xfb, + 0x43, 0x92, 0x85, 0x28, 0xcb, 0x9e, 0x8f, 0xf7, 0x4d, 0x3a, 0x34, 0x60, 0x7b, 0x32, 0x28, 0xc5, + 0x85, 0x2b, 0x88, 0xf8, 0x3e, 0x15, 0x04, 0xa1, 0xe8, 0xd9, 0xd3, 0x7f, 0xbe, 0x67, 0x4f, 0x67, + 0x69, 0xef, 0xd4, 0x20, 0x69, 0x8f, 0xca, 0x0e, 0xb6, 0xb7, 0x27, 0xfb, 0xec, 0xed, 0x67, 0x61, + 0xbc, 0x87, 0x68, 0xe0, 0x3d, 0xf6, 0x65, 0x09, 0xf2, 0xfb, 0x39, 0x27, 0x62, 0xa7, 0x8b, 0x75, + 0xec, 0x74, 0x67, 0xbb, 0x3d, 0x78, 0x78, 0xff, 0x49, 0xe8, 0x99, 0xeb, 0xd7, 0x25, 0x38, 0xd4, + 0xbf, 0x52, 0xec, 0x6b, 0xc3, 0x73, 0x30, 0xdc, 0xc0, 0xfe, 0xae, 0x2d, 0xaa, 0xa5, 0x47, 0xfb, 0xe4, 0x60, 0xd2, 0xdc, 0x3d, 0xd9, 0x1c, 0x15, 0x4e, 0xe2, 0xf1, 0xfd, 0xca, 0x3d, 0x66, 0x4d, - 0x8f, 0xa5, 0x9f, 0x8d, 0xc1, 0x03, 0x7d, 0xc9, 0xfb, 0x1a, 0xfa, 0x10, 0x80, 0x61, 0x39, 0x4d, + 0x8f, 0xa5, 0x9f, 0x8b, 0xc1, 0x7d, 0x7d, 0xc9, 0xfb, 0x1a, 0xfa, 0x10, 0x80, 0x61, 0x39, 0x4d, 0x9f, 0x55, 0x44, 0x6c, 0x83, 0x4d, 0x53, 0x09, 0xdd, 0xbc, 0xc8, 0xe6, 0xd9, 0xf4, 0x83, 0xf6, - 0x38, 0x6d, 0x07, 0x26, 0xa2, 0x0a, 0x67, 0xdb, 0x86, 0x26, 0xa8, 0xa1, 0x85, 0x7d, 0x46, 0xda, - 0x13, 0x98, 0x4f, 0x81, 0xac, 0x9b, 0x06, 0xb6, 0x7c, 0xd5, 0xf3, 0x5d, 0xac, 0x35, 0x0c, 0xab, + 0x38, 0x6d, 0x07, 0x26, 0xa2, 0x0a, 0x67, 0xda, 0x86, 0x26, 0xa8, 0xa1, 0x85, 0x7d, 0x46, 0xda, + 0x13, 0x98, 0xcf, 0x80, 0xac, 0x9b, 0x06, 0xb6, 0x7c, 0xd5, 0xf3, 0x5d, 0xac, 0x35, 0x0c, 0xab, 0x4e, 0x33, 0x48, 0xaa, 0x98, 0xdc, 0xd1, 0x4c, 0x0f, 0x2b, 0x63, 0xac, 0x79, 0x43, 0xb4, 0x12, - 0x04, 0x0d, 0x20, 0x37, 0x84, 0x18, 0xee, 0x40, 0xb0, 0xe6, 0x00, 0x31, 0xfb, 0x8d, 0x14, 0x64, - 0x42, 0x75, 0x35, 0x3a, 0x02, 0xd9, 0x2b, 0xda, 0x35, 0x4d, 0x15, 0x67, 0x25, 0xe6, 0x89, 0x0c, - 0x91, 0xad, 0xf3, 0xf3, 0xd2, 0x53, 0x30, 0x49, 0x55, 0xec, 0xa6, 0x8f, 0x5d, 0x55, 0x37, 0x35, - 0xcf, 0xa3, 0x4e, 0x4b, 0x51, 0x55, 0x44, 0xda, 0xd6, 0x48, 0xd3, 0xa2, 0x68, 0x41, 0xa7, 0x60, - 0x82, 0x22, 0x1a, 0x4d, 0xd3, 0x37, 0x1c, 0x13, 0xab, 0xe4, 0xf4, 0xe6, 0xd1, 0x4c, 0x12, 0x58, - 0x36, 0x4e, 0x34, 0xaa, 0x5c, 0x81, 0x58, 0xe4, 0xa1, 0x25, 0x78, 0x88, 0xc2, 0xea, 0xd8, 0xc2, - 0xae, 0xe6, 0x63, 0x15, 0x7f, 0xaa, 0xa9, 0x99, 0x9e, 0xaa, 0x59, 0x35, 0x75, 0x57, 0xf3, 0x76, - 0xf3, 0x93, 0x84, 0xa0, 0x14, 0xcb, 0x4b, 0xca, 0x61, 0xa2, 0xb8, 0xcc, 0xf5, 0xca, 0x54, 0x6d, - 0xc1, 0xaa, 0x7d, 0x4c, 0xf3, 0x76, 0x51, 0x11, 0x0e, 0x51, 0x16, 0xcf, 0x77, 0x0d, 0xab, 0xae, - 0xea, 0xbb, 0x58, 0xbf, 0xaa, 0x36, 0xfd, 0x9d, 0xb3, 0xf9, 0x0f, 0x84, 0xfb, 0xa7, 0x16, 0x6e, - 0x50, 0x9d, 0x45, 0xa2, 0xb2, 0xe5, 0xef, 0x9c, 0x45, 0x1b, 0x90, 0x25, 0x93, 0xd1, 0x30, 0x6e, - 0x60, 0x75, 0xc7, 0x76, 0x69, 0x6a, 0xcc, 0xf5, 0xd9, 0x9a, 0x42, 0x1e, 0x9c, 0x5f, 0xe3, 0x80, - 0xaa, 0x5d, 0xc3, 0xc5, 0xe4, 0xc6, 0x7a, 0xb9, 0xbc, 0xa4, 0x64, 0x04, 0xcb, 0x05, 0xdb, 0x25, - 0x01, 0x55, 0xb7, 0x03, 0x07, 0x67, 0x58, 0x40, 0xd5, 0x6d, 0xe1, 0xde, 0x53, 0x30, 0xa1, 0xeb, - 0x6c, 0xcc, 0x86, 0xae, 0xf2, 0x33, 0x96, 0x97, 0x97, 0x3b, 0x9c, 0xa5, 0xeb, 0xcb, 0x4c, 0x81, - 0xc7, 0xb8, 0x87, 0xce, 0xc1, 0x03, 0x6d, 0x67, 0x85, 0x81, 0xe3, 0x3d, 0xa3, 0xec, 0x86, 0x9e, - 0x82, 0x09, 0xa7, 0xd5, 0x0b, 0x44, 0x1d, 0x3d, 0x3a, 0xad, 0x6e, 0xd8, 0x19, 0x98, 0x74, 0x76, - 0x9d, 0x5e, 0xdc, 0x13, 0x61, 0x1c, 0x72, 0x76, 0x9d, 0x6e, 0xe0, 0x23, 0xf4, 0xc0, 0xed, 0x62, - 0x5d, 0xf3, 0x71, 0x2d, 0xff, 0x60, 0x58, 0x3d, 0xd4, 0x80, 0x8e, 0x81, 0xac, 0xeb, 0x2a, 0xb6, - 0xb4, 0x6d, 0x13, 0xab, 0x9a, 0x8b, 0x2d, 0xcd, 0xcb, 0x4f, 0x87, 0x95, 0x73, 0xba, 0x5e, 0xa6, - 0xad, 0x0b, 0xb4, 0x11, 0x3d, 0x01, 0xe3, 0xf6, 0xf6, 0x15, 0x9d, 0x85, 0xa4, 0xea, 0xb8, 0x78, - 0xc7, 0x78, 0x3e, 0xff, 0x30, 0xf5, 0xef, 0x18, 0x69, 0xa0, 0x01, 0xb9, 0x4e, 0xc5, 0xe8, 0x71, - 0x90, 0x75, 0x6f, 0x57, 0x73, 0x1d, 0xba, 0x27, 0x7b, 0x8e, 0xa6, 0xe3, 0xfc, 0x23, 0x4c, 0x95, - 0xc9, 0x57, 0x85, 0x98, 0x2c, 0x09, 0xef, 0xba, 0xb1, 0xe3, 0x0b, 0xc6, 0xc7, 0xd8, 0x92, 0xa0, - 0x32, 0xce, 0x36, 0x07, 0x32, 0x71, 0x45, 0x47, 0xc7, 0x73, 0x54, 0x2d, 0xe7, 0xec, 0x3a, 0xe1, - 0x7e, 0x8f, 0xc2, 0x28, 0xd1, 0x6c, 0x77, 0xfa, 0x38, 0x2b, 0xc8, 0x9c, 0xdd, 0x50, 0x8f, 0xef, - 0x59, 0x6d, 0x3c, 0x5b, 0x84, 0x6c, 0x38, 0x3e, 0x51, 0x1a, 0x58, 0x84, 0xca, 0x12, 0x29, 0x56, - 0x16, 0xd7, 0x96, 0x48, 0x99, 0xf1, 0x5c, 0x59, 0x8e, 0x91, 0x72, 0x67, 0xa5, 0xb2, 0x59, 0x56, - 0x95, 0xad, 0xd5, 0xcd, 0x4a, 0xb5, 0x2c, 0xc7, 0xc3, 0x75, 0xf5, 0x0f, 0x62, 0x90, 0xeb, 0x3c, - 0x22, 0xa1, 0x8f, 0xc0, 0x83, 0xe2, 0x3e, 0xc3, 0xc3, 0xbe, 0x7a, 0xdd, 0x70, 0xe9, 0x92, 0x69, - 0x68, 0x2c, 0x7d, 0x05, 0x93, 0x36, 0xc9, 0xb5, 0x36, 0xb0, 0x7f, 0xc9, 0x70, 0xc9, 0x82, 0x68, - 0x68, 0x3e, 0x5a, 0x81, 0x69, 0xcb, 0x56, 0x3d, 0x5f, 0xb3, 0x6a, 0x9a, 0x5b, 0x53, 0xdb, 0x37, - 0x49, 0xaa, 0xa6, 0xeb, 0xd8, 0xf3, 0x6c, 0x96, 0xaa, 0x02, 0x96, 0x0f, 0x5a, 0xf6, 0x06, 0x57, - 0x6e, 0xef, 0xe1, 0x0b, 0x5c, 0xb5, 0x2b, 0xc0, 0xe2, 0xfb, 0x05, 0xd8, 0x07, 0x20, 0xdd, 0xd0, - 0x1c, 0x15, 0x5b, 0xbe, 0xdb, 0xa2, 0x85, 0x71, 0x4a, 0x49, 0x35, 0x34, 0xa7, 0x4c, 0x9e, 0xdf, - 0x9f, 0xf3, 0xc9, 0xbf, 0xc5, 0x21, 0x1b, 0x2e, 0x8e, 0xc9, 0x59, 0x43, 0xa7, 0x79, 0x44, 0xa2, - 0x3b, 0xcd, 0xd1, 0x7b, 0x96, 0xd2, 0xf3, 0x8b, 0x24, 0xc1, 0x14, 0x87, 0x59, 0xc9, 0xaa, 0x30, - 0x24, 0x49, 0xee, 0x64, 0x6f, 0xc1, 0xac, 0x44, 0x48, 0x29, 0xfc, 0x09, 0x2d, 0xc3, 0xf0, 0x15, - 0x8f, 0x72, 0x0f, 0x53, 0xee, 0x87, 0xef, 0xcd, 0x7d, 0x71, 0x83, 0x92, 0xa7, 0x2f, 0x6e, 0xa8, - 0xab, 0x6b, 0x4a, 0x75, 0x61, 0x45, 0xe1, 0x70, 0x74, 0x18, 0x12, 0xa6, 0x76, 0xa3, 0xd5, 0x99, - 0x8a, 0xa8, 0x68, 0x50, 0xc7, 0x1f, 0x86, 0xc4, 0x75, 0xac, 0x5d, 0xed, 0x4c, 0x00, 0x54, 0xf4, - 0x1e, 0x86, 0xfe, 0x31, 0x48, 0x52, 0x7f, 0x21, 0x00, 0xee, 0x31, 0x79, 0x08, 0xa5, 0x20, 0xb1, - 0xb8, 0xa6, 0x90, 0xf0, 0x97, 0x21, 0xcb, 0xa4, 0xea, 0x7a, 0xa5, 0xbc, 0x58, 0x96, 0x63, 0xb3, - 0xa7, 0x60, 0x98, 0x39, 0x81, 0x2c, 0x8d, 0xc0, 0x0d, 0xf2, 0x10, 0x7f, 0xe4, 0x1c, 0x92, 0x68, - 0xdd, 0xaa, 0x96, 0xca, 0x8a, 0x1c, 0x0b, 0x4f, 0xaf, 0x07, 0xd9, 0x70, 0x5d, 0xfc, 0xfe, 0xc4, - 0xd4, 0xf7, 0x24, 0xc8, 0x84, 0xea, 0x5c, 0x52, 0xa0, 0x68, 0xa6, 0x69, 0x5f, 0x57, 0x35, 0xd3, - 0xd0, 0x3c, 0x1e, 0x14, 0x40, 0x45, 0x0b, 0x44, 0x32, 0xe8, 0xa4, 0xbd, 0x2f, 0xc6, 0xbf, 0x2c, - 0x81, 0xdc, 0x5d, 0x62, 0x76, 0x19, 0x28, 0xfd, 0x5c, 0x0d, 0x7c, 0x49, 0x82, 0x5c, 0x67, 0x5d, - 0xd9, 0x65, 0xde, 0x91, 0x9f, 0xab, 0x79, 0xaf, 0xc7, 0x60, 0xb4, 0xa3, 0x9a, 0x1c, 0xd4, 0xba, - 0x4f, 0xc1, 0xb8, 0x51, 0xc3, 0x0d, 0xc7, 0xf6, 0xb1, 0xa5, 0xb7, 0x54, 0x13, 0x5f, 0xc3, 0x66, - 0x7e, 0x96, 0x6e, 0x14, 0xc7, 0xee, 0x5d, 0xaf, 0xce, 0x57, 0xda, 0xb8, 0x15, 0x02, 0x2b, 0x4e, - 0x54, 0x96, 0xca, 0xd5, 0xf5, 0xb5, 0xcd, 0xf2, 0xea, 0xe2, 0x65, 0x75, 0x6b, 0xf5, 0x17, 0x57, - 0xd7, 0x2e, 0xad, 0x2a, 0xb2, 0xd1, 0xa5, 0xf6, 0x1e, 0x2e, 0xf5, 0x75, 0x90, 0xbb, 0x8d, 0x42, - 0x0f, 0x42, 0x3f, 0xb3, 0xe4, 0x21, 0x34, 0x01, 0x63, 0xab, 0x6b, 0xea, 0x46, 0x65, 0xa9, 0xac, - 0x96, 0x2f, 0x5c, 0x28, 0x2f, 0x6e, 0x6e, 0xb0, 0x1b, 0x88, 0x40, 0x7b, 0xb3, 0x73, 0x51, 0xbf, - 0x18, 0x87, 0x89, 0x3e, 0x96, 0xa0, 0x05, 0x7e, 0x76, 0x60, 0xc7, 0x99, 0x0f, 0x0f, 0x62, 0xfd, - 0x3c, 0x49, 0xf9, 0xeb, 0x9a, 0xeb, 0xf3, 0xa3, 0xc6, 0xe3, 0x40, 0xbc, 0x64, 0xf9, 0xc6, 0x8e, - 0x81, 0x5d, 0x7e, 0x61, 0xc3, 0x0e, 0x14, 0x63, 0x6d, 0x39, 0xbb, 0xb3, 0xf9, 0x10, 0x20, 0xc7, - 0xf6, 0x0c, 0xdf, 0xb8, 0x86, 0x55, 0xc3, 0x12, 0xb7, 0x3b, 0xe4, 0x80, 0x91, 0x50, 0x64, 0xd1, - 0x52, 0xb1, 0xfc, 0x40, 0xdb, 0xc2, 0x75, 0xad, 0x4b, 0x9b, 0x6c, 0xe0, 0x71, 0x45, 0x16, 0x2d, - 0x81, 0xf6, 0x11, 0xc8, 0xd6, 0xec, 0x26, 0xa9, 0xba, 0x98, 0x1e, 0xc9, 0x17, 0x92, 0x92, 0x61, - 0xb2, 0x40, 0x85, 0xd7, 0xd3, 0xed, 0x6b, 0xa5, 0xac, 0x92, 0x61, 0x32, 0xa6, 0xf2, 0x18, 0x8c, - 0x69, 0xf5, 0xba, 0x4b, 0xc8, 0x05, 0x11, 0x3b, 0x21, 0xe4, 0x02, 0x31, 0x55, 0x9c, 0xba, 0x08, - 0x29, 0xe1, 0x07, 0x92, 0x92, 0x89, 0x27, 0x54, 0x87, 0x1d, 0x7b, 0x63, 0x73, 0x69, 0x25, 0x65, - 0x89, 0xc6, 0x23, 0x90, 0x35, 0x3c, 0xb5, 0x7d, 0x4b, 0x1e, 0x9b, 0x89, 0xcd, 0xa5, 0x94, 0x8c, - 0xe1, 0x05, 0x37, 0x8c, 0xb3, 0xaf, 0xc4, 0x20, 0xd7, 0x79, 0xcb, 0x8f, 0x96, 0x20, 0x65, 0xda, - 0xba, 0x46, 0x43, 0x8b, 0xbd, 0x62, 0x9a, 0x8b, 0x78, 0x31, 0x30, 0xbf, 0xc2, 0xf5, 0x95, 0x00, - 0x39, 0xf5, 0x2f, 0x12, 0xa4, 0x84, 0x18, 0x1d, 0x82, 0x84, 0xa3, 0xf9, 0xbb, 0x94, 0x2e, 0x59, - 0x8a, 0xc9, 0x92, 0x42, 0x9f, 0x89, 0xdc, 0x73, 0x34, 0x8b, 0x86, 0x00, 0x97, 0x93, 0x67, 0x32, - 0xaf, 0x26, 0xd6, 0x6a, 0xf4, 0xf8, 0x61, 0x37, 0x1a, 0xd8, 0xf2, 0x3d, 0x31, 0xaf, 0x5c, 0xbe, - 0xc8, 0xc5, 0xe8, 0x49, 0x18, 0xf7, 0x5d, 0xcd, 0x30, 0x3b, 0x74, 0x13, 0x54, 0x57, 0x16, 0x0d, - 0x81, 0x72, 0x11, 0x0e, 0x0b, 0xde, 0x1a, 0xf6, 0x35, 0x7d, 0x17, 0xd7, 0xda, 0xa0, 0x61, 0x7a, - 0xcd, 0xf0, 0x20, 0x57, 0x58, 0xe2, 0xed, 0x02, 0x3b, 0xfb, 0x23, 0x09, 0xc6, 0xc5, 0x81, 0xa9, - 0x16, 0x38, 0xab, 0x0a, 0xa0, 0x59, 0x96, 0xed, 0x87, 0xdd, 0xd5, 0x1b, 0xca, 0x3d, 0xb8, 0xf9, - 0x85, 0x00, 0xa4, 0x84, 0x08, 0xa6, 0x1a, 0x00, 0xed, 0x96, 0x7d, 0xdd, 0x36, 0x0d, 0x19, 0xfe, - 0x0a, 0x87, 0xbe, 0x07, 0x64, 0x47, 0x6c, 0x60, 0x22, 0x72, 0xb2, 0x42, 0x93, 0x90, 0xdc, 0xc6, - 0x75, 0xc3, 0xe2, 0x17, 0xb3, 0xec, 0x41, 0x5c, 0x84, 0x24, 0x82, 0x8b, 0x90, 0xd2, 0x27, 0x61, - 0x42, 0xb7, 0x1b, 0xdd, 0xe6, 0x96, 0xe4, 0xae, 0x63, 0xbe, 0xf7, 0x31, 0xe9, 0x39, 0x68, 0x97, - 0x98, 0xef, 0x48, 0xd2, 0x97, 0x62, 0xf1, 0xe5, 0xf5, 0xd2, 0x57, 0x63, 0x53, 0xcb, 0x0c, 0xba, - 0x2e, 0x46, 0xaa, 0xe0, 0x1d, 0x13, 0xeb, 0xc4, 0x7a, 0xf8, 0xf2, 0x93, 0xf0, 0xe1, 0xba, 0xe1, - 0xef, 0x36, 0xb7, 0xe7, 0x75, 0xbb, 0x71, 0xac, 0x6e, 0xd7, 0xed, 0xf6, 0xab, 0x4f, 0xf2, 0x44, - 0x1f, 0xe8, 0x2f, 0xfe, 0xfa, 0x33, 0x1d, 0x48, 0xa7, 0x22, 0xdf, 0x95, 0x16, 0x57, 0x61, 0x82, - 0x2b, 0xab, 0xf4, 0xfd, 0x0b, 0x3b, 0x45, 0xa0, 0x7b, 0xde, 0x61, 0xe5, 0xbf, 0xfe, 0x06, 0x4d, - 0xd7, 0xca, 0x38, 0x87, 0x92, 0x36, 0x76, 0xd0, 0x28, 0x2a, 0xf0, 0x40, 0x07, 0x1f, 0x5b, 0x9a, - 0xd8, 0x8d, 0x60, 0xfc, 0x01, 0x67, 0x9c, 0x08, 0x31, 0x6e, 0x70, 0x68, 0x71, 0x11, 0x46, 0x0f, - 0xc2, 0xf5, 0x4f, 0x9c, 0x2b, 0x8b, 0xc3, 0x24, 0xcb, 0x30, 0x46, 0x49, 0xf4, 0xa6, 0xe7, 0xdb, - 0x0d, 0xba, 0xef, 0xdd, 0x9b, 0xe6, 0x9f, 0xdf, 0x60, 0x6b, 0x25, 0x47, 0x60, 0x8b, 0x01, 0xaa, - 0x58, 0x04, 0xfa, 0xca, 0xa9, 0x86, 0x75, 0x33, 0x82, 0xe1, 0x55, 0x6e, 0x48, 0xa0, 0x5f, 0xfc, - 0x04, 0x4c, 0x92, 0xdf, 0x74, 0x5b, 0x0a, 0x5b, 0x12, 0x7d, 0xe1, 0x95, 0xff, 0xd1, 0x0b, 0x6c, - 0x39, 0x4e, 0x04, 0x04, 0x21, 0x9b, 0x42, 0xb3, 0x58, 0xc7, 0xbe, 0x8f, 0x5d, 0x4f, 0xd5, 0xcc, - 0x7e, 0xe6, 0x85, 0x6e, 0x0c, 0xf2, 0x9f, 0x7f, 0xab, 0x73, 0x16, 0x97, 0x19, 0x72, 0xc1, 0x34, - 0x8b, 0x5b, 0xf0, 0x60, 0x9f, 0xa8, 0x18, 0x80, 0xf3, 0x45, 0xce, 0x39, 0xd9, 0x13, 0x19, 0x84, - 0x76, 0x1d, 0x84, 0x3c, 0x98, 0xcb, 0x01, 0x38, 0xff, 0x84, 0x73, 0x22, 0x8e, 0x15, 0x53, 0x4a, - 0x18, 0x2f, 0xc2, 0xf8, 0x35, 0xec, 0x6e, 0xdb, 0x1e, 0xbf, 0xa5, 0x19, 0x80, 0xee, 0x25, 0x4e, - 0x37, 0xc6, 0x81, 0xf4, 0xda, 0x86, 0x70, 0x9d, 0x83, 0xd4, 0x8e, 0xa6, 0xe3, 0x01, 0x28, 0xbe, - 0xc0, 0x29, 0x46, 0x88, 0x3e, 0x81, 0x2e, 0x40, 0xb6, 0x6e, 0xf3, 0xcc, 0x14, 0x0d, 0x7f, 0x99, - 0xc3, 0x33, 0x02, 0xc3, 0x29, 0x1c, 0xdb, 0x69, 0x9a, 0x24, 0x6d, 0x45, 0x53, 0xfc, 0xa9, 0xa0, - 0x10, 0x18, 0x4e, 0x71, 0x00, 0xb7, 0xfe, 0x99, 0xa0, 0xf0, 0x42, 0xfe, 0x7c, 0x06, 0x32, 0xb6, - 0x65, 0xb6, 0x6c, 0x6b, 0x10, 0x23, 0xbe, 0xc8, 0x19, 0x80, 0x43, 0x08, 0xc1, 0x79, 0x48, 0x0f, - 0x3a, 0x11, 0x7f, 0xf1, 0x96, 0x58, 0x1e, 0x62, 0x06, 0x96, 0x61, 0x4c, 0x6c, 0x50, 0x86, 0x6d, - 0x0d, 0x40, 0xf1, 0x65, 0x4e, 0x91, 0x0b, 0xc1, 0xf8, 0x30, 0x7c, 0xec, 0xf9, 0x75, 0x3c, 0x08, - 0xc9, 0x2b, 0x62, 0x18, 0x1c, 0xc2, 0x5d, 0xb9, 0x8d, 0x2d, 0x7d, 0x77, 0x30, 0x86, 0xaf, 0x08, - 0x57, 0x0a, 0x0c, 0xa1, 0x58, 0x84, 0xd1, 0x86, 0xe6, 0x7a, 0xbb, 0x9a, 0x39, 0xd0, 0x74, 0xfc, - 0x25, 0xe7, 0xc8, 0x06, 0x20, 0xee, 0x91, 0xa6, 0x75, 0x10, 0x9a, 0xaf, 0x0a, 0x8f, 0x84, 0x60, - 0x7c, 0xe9, 0x79, 0x3e, 0xbd, 0xd2, 0x3a, 0x08, 0xdb, 0x5f, 0x89, 0xa5, 0xc7, 0xb0, 0xd5, 0x30, - 0xe3, 0x79, 0x48, 0x7b, 0xc6, 0x8d, 0x81, 0x68, 0xfe, 0x5a, 0xcc, 0x34, 0x05, 0x10, 0xf0, 0x65, - 0x38, 0xdc, 0x37, 0x4d, 0x0c, 0x40, 0xf6, 0x37, 0x9c, 0xec, 0x50, 0x9f, 0x54, 0xc1, 0xb7, 0x84, - 0x83, 0x52, 0xfe, 0xad, 0xd8, 0x12, 0x70, 0x17, 0xd7, 0x3a, 0x39, 0x2b, 0x78, 0xda, 0xce, 0xc1, - 0xbc, 0xf6, 0x77, 0xc2, 0x6b, 0x0c, 0xdb, 0xe1, 0xb5, 0x4d, 0x38, 0xc4, 0x19, 0x0f, 0x36, 0xaf, - 0x5f, 0x13, 0x1b, 0x2b, 0x43, 0x6f, 0x75, 0xce, 0xee, 0x27, 0x61, 0x2a, 0x70, 0xa7, 0x28, 0x4a, - 0x3d, 0xb5, 0xa1, 0x39, 0x03, 0x30, 0x7f, 0x9d, 0x33, 0x8b, 0x1d, 0x3f, 0xa8, 0x6a, 0xbd, 0xaa, - 0xe6, 0x10, 0xf2, 0x67, 0x21, 0x2f, 0xc8, 0x9b, 0x96, 0x8b, 0x75, 0xbb, 0x6e, 0x19, 0x37, 0x70, - 0x6d, 0x00, 0xea, 0xbf, 0xef, 0x9a, 0xaa, 0xad, 0x10, 0x9c, 0x30, 0x57, 0x40, 0x0e, 0x6a, 0x15, - 0xd5, 0x68, 0x38, 0xb6, 0xeb, 0x47, 0x30, 0x7e, 0x43, 0xcc, 0x54, 0x80, 0xab, 0x50, 0x58, 0xb1, - 0x0c, 0x39, 0xfa, 0x38, 0x68, 0x48, 0x7e, 0x93, 0x13, 0x8d, 0xb6, 0x51, 0x7c, 0xe3, 0xd0, 0xed, - 0x86, 0xa3, 0xb9, 0x83, 0xec, 0x7f, 0xdf, 0x12, 0x1b, 0x07, 0x87, 0xf0, 0x8d, 0xc3, 0x6f, 0x39, - 0x98, 0x64, 0xfb, 0x01, 0x18, 0xbe, 0x2d, 0x36, 0x0e, 0x81, 0xe1, 0x14, 0xa2, 0x60, 0x18, 0x80, - 0xe2, 0x1f, 0x04, 0x85, 0xc0, 0x10, 0x8a, 0x8f, 0xb7, 0x13, 0xad, 0x8b, 0xeb, 0x86, 0xe7, 0xbb, - 0xac, 0x14, 0xbe, 0x37, 0xd5, 0x77, 0xde, 0xea, 0x2c, 0xc2, 0x94, 0x10, 0x94, 0xec, 0x44, 0xfc, - 0x0a, 0x95, 0x9e, 0x94, 0xa2, 0x0d, 0xfb, 0xae, 0xd8, 0x89, 0x42, 0x30, 0x62, 0x5b, 0xa8, 0x42, - 0x24, 0x6e, 0xd7, 0xc9, 0xf9, 0x60, 0x00, 0xba, 0xef, 0x75, 0x19, 0xb7, 0x21, 0xb0, 0x84, 0x33, - 0x54, 0xff, 0x34, 0xad, 0xab, 0xb8, 0x35, 0x50, 0x74, 0xfe, 0x63, 0x57, 0xfd, 0xb3, 0xc5, 0x90, - 0x6c, 0x0f, 0x19, 0xeb, 0xaa, 0xa7, 0x50, 0xd4, 0xc7, 0x3a, 0xf9, 0x5f, 0xbd, 0xc3, 0xc7, 0xdb, - 0x59, 0x4e, 0x15, 0x57, 0x48, 0x90, 0x77, 0x16, 0x3d, 0xd1, 0x64, 0x2f, 0xdc, 0x09, 0xe2, 0xbc, - 0xa3, 0xe6, 0x29, 0x5e, 0x80, 0xd1, 0x8e, 0x82, 0x27, 0x9a, 0xea, 0xd7, 0x38, 0x55, 0x36, 0x5c, - 0xef, 0x14, 0x4f, 0x41, 0x82, 0x14, 0x2f, 0xd1, 0xf0, 0x5f, 0xe7, 0x70, 0xaa, 0x5e, 0xfc, 0x28, - 0xa4, 0x44, 0xd1, 0x12, 0x0d, 0xfd, 0x0d, 0x0e, 0x0d, 0x20, 0x04, 0x2e, 0x0a, 0x96, 0x68, 0xf8, - 0x67, 0x04, 0x5c, 0x40, 0x08, 0x7c, 0x70, 0x17, 0x7e, 0xff, 0xb7, 0x12, 0x3c, 0xe9, 0x08, 0xdf, - 0x9d, 0x87, 0x11, 0x5e, 0xa9, 0x44, 0xa3, 0x3f, 0xcb, 0x3b, 0x17, 0x88, 0xe2, 0x19, 0x48, 0x0e, - 0xe8, 0xf0, 0xdf, 0xe6, 0x50, 0xa6, 0x5f, 0x5c, 0x84, 0x4c, 0xa8, 0x3a, 0x89, 0x86, 0xff, 0x0e, - 0x87, 0x87, 0x51, 0xc4, 0x74, 0x5e, 0x9d, 0x44, 0x13, 0xfc, 0xae, 0x30, 0x9d, 0x23, 0x88, 0xdb, - 0x44, 0x61, 0x12, 0x8d, 0xfe, 0x3d, 0xe1, 0x75, 0x01, 0x29, 0x3e, 0x03, 0xe9, 0x20, 0xd9, 0x44, - 0xe3, 0x7f, 0x9f, 0xe3, 0xdb, 0x18, 0xe2, 0x81, 0x50, 0xb2, 0x8b, 0xa6, 0xf8, 0x03, 0xe1, 0x81, - 0x10, 0x8a, 0x2c, 0xa3, 0xee, 0x02, 0x26, 0x9a, 0xe9, 0x0f, 0xc5, 0x32, 0xea, 0xaa, 0x5f, 0xc8, - 0x6c, 0xd2, 0x3d, 0x3f, 0x9a, 0xe2, 0x8f, 0xc4, 0x6c, 0x52, 0x7d, 0x62, 0x46, 0x77, 0x45, 0x10, - 0xcd, 0xf1, 0xc7, 0xc2, 0x8c, 0xae, 0x82, 0xa0, 0xb8, 0x0e, 0xa8, 0xb7, 0x1a, 0x88, 0xe6, 0xfb, - 0x1c, 0xe7, 0x1b, 0xef, 0x29, 0x06, 0x8a, 0x97, 0xe0, 0x50, 0xff, 0x4a, 0x20, 0x9a, 0xf5, 0xf3, - 0x77, 0xba, 0xce, 0x6e, 0xe1, 0x42, 0xa0, 0xb8, 0xd9, 0x4e, 0x29, 0xe1, 0x2a, 0x20, 0x9a, 0xf6, - 0xc5, 0x3b, 0x9d, 0x1b, 0x77, 0xb8, 0x08, 0x28, 0x2e, 0x00, 0xb4, 0x13, 0x70, 0x34, 0xd7, 0x4b, - 0x9c, 0x2b, 0x04, 0x22, 0x4b, 0x83, 0xe7, 0xdf, 0x68, 0xfc, 0x17, 0xc4, 0xd2, 0xe0, 0x08, 0xb2, - 0x34, 0x44, 0xea, 0x8d, 0x46, 0xbf, 0x2c, 0x96, 0x86, 0x80, 0x90, 0xc8, 0x0e, 0x65, 0xb7, 0x68, - 0x86, 0x2f, 0x8a, 0xc8, 0x0e, 0xa1, 0x8a, 0xab, 0x30, 0xde, 0x93, 0x10, 0xa3, 0xa9, 0xbe, 0xc4, - 0xa9, 0xe4, 0xee, 0x7c, 0x18, 0x4e, 0x5e, 0x3c, 0x19, 0x46, 0xb3, 0xfd, 0x79, 0x57, 0xf2, 0xe2, - 0xb9, 0xb0, 0x78, 0x1e, 0x52, 0x56, 0xd3, 0x34, 0xc9, 0xe2, 0x41, 0xf7, 0xfe, 0xc0, 0x2e, 0xff, - 0x93, 0x77, 0xb9, 0x77, 0x04, 0xa0, 0x78, 0x0a, 0x92, 0xb8, 0xb1, 0x8d, 0x6b, 0x51, 0xc8, 0xff, - 0x78, 0x57, 0x6c, 0x98, 0x44, 0xbb, 0xf8, 0x0c, 0x00, 0xbb, 0x1a, 0xa1, 0xaf, 0xfd, 0x22, 0xb0, - 0xff, 0xf9, 0x2e, 0xff, 0xf4, 0xa5, 0x0d, 0x69, 0x13, 0xb0, 0x0f, 0x69, 0xee, 0x4d, 0xf0, 0x56, - 0x27, 0x01, 0x9d, 0x91, 0x73, 0x30, 0x72, 0xc5, 0xb3, 0x2d, 0x5f, 0xab, 0x47, 0xa1, 0xff, 0x8b, - 0xa3, 0x85, 0x3e, 0x71, 0x58, 0xc3, 0x76, 0xb1, 0xaf, 0xd5, 0xbd, 0x28, 0xec, 0x7f, 0x73, 0x6c, - 0x00, 0x20, 0x60, 0x5d, 0xf3, 0xfc, 0x41, 0xc6, 0xfd, 0x53, 0x01, 0x16, 0x00, 0x62, 0x34, 0xf9, - 0x7d, 0x15, 0xb7, 0xa2, 0xb0, 0x6f, 0x0b, 0xa3, 0xb9, 0x7e, 0xf1, 0xa3, 0x90, 0x26, 0x3f, 0xd9, - 0xf7, 0x6c, 0x11, 0xe0, 0xff, 0xe1, 0xe0, 0x36, 0x82, 0xf4, 0xec, 0xf9, 0x35, 0xdf, 0x88, 0x76, - 0xf6, 0xff, 0xf2, 0x99, 0x16, 0xfa, 0xc5, 0x05, 0xc8, 0x78, 0x7e, 0xad, 0xd6, 0xe4, 0xf5, 0x69, - 0x04, 0xfc, 0xff, 0xde, 0x0d, 0xae, 0x2c, 0x02, 0x0c, 0x99, 0xed, 0xeb, 0x57, 0x7d, 0xc7, 0xa6, - 0xaf, 0x39, 0xa2, 0x18, 0xee, 0x70, 0x86, 0x10, 0xa4, 0x54, 0xee, 0x7f, 0x7d, 0x0b, 0xcb, 0xf6, - 0xb2, 0xcd, 0x2e, 0x6e, 0x9f, 0x9b, 0x8d, 0xbe, 0x81, 0x85, 0x6f, 0x8e, 0xc1, 0xb4, 0x6e, 0x37, - 0xb6, 0x6d, 0xef, 0x58, 0xb0, 0x1d, 0x1f, 0x13, 0xb3, 0xc3, 0xaf, 0x66, 0x83, 0xd9, 0x9a, 0x3a, - 0xd8, 0x9d, 0xee, 0xec, 0x4f, 0x46, 0x21, 0xb5, 0xa8, 0x79, 0xbe, 0x76, 0x5d, 0x6b, 0xa1, 0x47, - 0x20, 0x55, 0xb1, 0xfc, 0x13, 0xc7, 0xd7, 0x7d, 0x97, 0xbe, 0x96, 0x8c, 0x97, 0xd2, 0x77, 0x6f, - 0x4d, 0x27, 0x0d, 0x22, 0x53, 0x82, 0x26, 0x74, 0x14, 0x92, 0xf4, 0x37, 0xbd, 0xd9, 0x8e, 0x97, - 0x46, 0x5f, 0xbd, 0x35, 0x3d, 0xd4, 0xd6, 0x63, 0x6d, 0xe8, 0x32, 0x64, 0xaa, 0xad, 0x2d, 0xc3, - 0xf2, 0x4f, 0x9f, 0x24, 0x74, 0xc4, 0x3b, 0x89, 0xd2, 0x99, 0xbb, 0xb7, 0xa6, 0x4f, 0xec, 0x6b, - 0x20, 0x29, 0x2b, 0xda, 0x03, 0x13, 0x68, 0xfa, 0xd9, 0x70, 0x98, 0x0b, 0x5d, 0x82, 0x94, 0x78, - 0x64, 0x6f, 0x88, 0x4a, 0xe7, 0xb9, 0x09, 0xf7, 0xc5, 0x1d, 0x90, 0xa1, 0x5f, 0x82, 0x6c, 0xb5, - 0x75, 0xc1, 0xb4, 0x35, 0xee, 0x83, 0xe4, 0x8c, 0x34, 0x17, 0x2b, 0x9d, 0xbd, 0x7b, 0x6b, 0xfa, - 0xe4, 0xc0, 0xc4, 0x1c, 0x4e, 0x99, 0x3b, 0xd8, 0xd0, 0x73, 0x90, 0x0e, 0x9e, 0xe9, 0x3b, 0xa8, - 0x58, 0xe9, 0x23, 0xdc, 0xee, 0xfb, 0xa3, 0x6f, 0xd3, 0x85, 0x2c, 0x67, 0xee, 0x1e, 0x99, 0x91, - 0xe6, 0xa4, 0xfb, 0xb1, 0x9c, 0xfb, 0xa4, 0x83, 0x2d, 0x64, 0xf9, 0xe9, 0x93, 0xf4, 0xa5, 0x97, - 0x74, 0xbf, 0x96, 0x73, 0xfa, 0x36, 0x1d, 0xba, 0x08, 0x23, 0xd5, 0x56, 0xa9, 0xe5, 0x63, 0x8f, - 0x7e, 0x8d, 0x96, 0x2d, 0x3d, 0x75, 0xf7, 0xd6, 0xf4, 0x87, 0x06, 0x64, 0xa5, 0x38, 0x45, 0x10, - 0xa0, 0x19, 0xc8, 0xac, 0xda, 0x6e, 0x43, 0x33, 0x19, 0x1f, 0xb0, 0x97, 0x78, 0x21, 0x11, 0xda, - 0x22, 0x23, 0x61, 0xb3, 0xed, 0xd1, 0x7f, 0x64, 0xfa, 0x19, 0x62, 0xb2, 0xcd, 0x84, 0x0c, 0x48, - 0x56, 0x5b, 0x55, 0xcd, 0xc9, 0x67, 0xe9, 0x1b, 0xa6, 0x87, 0xe6, 0x03, 0x84, 0x58, 0x5b, 0xf3, - 0xb4, 0x9d, 0x7e, 0x8a, 0x53, 0x3a, 0x79, 0xf7, 0xd6, 0xf4, 0x53, 0x03, 0xf7, 0x58, 0xd5, 0x1c, - 0xda, 0x1d, 0xeb, 0x01, 0x7d, 0x4b, 0x22, 0x0b, 0x8b, 0x5d, 0xd1, 0x93, 0x1e, 0x47, 0x69, 0x8f, - 0x47, 0xfb, 0xf6, 0x18, 0x68, 0xb1, 0x7e, 0xad, 0x4f, 0xbf, 0x76, 0x80, 0x91, 0xb2, 0x93, 0x21, - 0xe9, 0xfa, 0x37, 0x5f, 0xbb, 0xef, 0x45, 0x1b, 0x58, 0x80, 0x5e, 0x90, 0x60, 0xb4, 0xda, 0x5a, - 0xe5, 0x29, 0x9c, 0x58, 0x9e, 0xe3, 0xff, 0xee, 0xd2, 0xcf, 0xf2, 0x90, 0x1e, 0xb3, 0xfd, 0xf4, - 0xa7, 0x5f, 0x9b, 0x3e, 0x3e, 0xb0, 0x11, 0x74, 0x0b, 0xa2, 0x36, 0x74, 0xf6, 0x89, 0x3e, 0x43, - 0xad, 0x28, 0x93, 0x72, 0xa0, 0x86, 0x6b, 0xc4, 0x8a, 0xb1, 0x7b, 0x58, 0x11, 0xd2, 0x63, 0x56, - 0x14, 0x49, 0xd4, 0xdf, 0xbf, 0x25, 0x21, 0x3e, 0xb4, 0x06, 0xc3, 0xcc, 0xc3, 0xf4, 0x4b, 0xc8, - 0xf4, 0x01, 0xc3, 0xb0, 0x3d, 0x39, 0x0a, 0xa7, 0x99, 0x3a, 0x0b, 0xd0, 0x8e, 0x31, 0x24, 0x43, - 0xfc, 0x2a, 0x6e, 0xf1, 0xcf, 0x5d, 0xc9, 0x4f, 0x34, 0xd9, 0xfe, 0x1e, 0x5d, 0x9a, 0x4b, 0xf0, - 0x8f, 0xcc, 0x8b, 0xb1, 0xb3, 0xd2, 0xd4, 0xd3, 0x20, 0x77, 0xc7, 0xca, 0x81, 0xf0, 0x0a, 0xa0, - 0xde, 0x19, 0x0b, 0x33, 0x24, 0x19, 0xc3, 0xa3, 0x61, 0x86, 0xcc, 0x71, 0xb9, 0xed, 0xf3, 0x4b, - 0x86, 0xe9, 0xd9, 0x56, 0x0f, 0x67, 0xb7, 0xff, 0x7f, 0x36, 0xce, 0xd9, 0x02, 0x0c, 0x33, 0x21, - 0x19, 0x4b, 0x85, 0xa6, 0x0f, 0x9a, 0xe5, 0x14, 0xf6, 0x50, 0x5a, 0x79, 0xf5, 0x76, 0x61, 0xe8, - 0x87, 0xb7, 0x0b, 0x43, 0xff, 0x7a, 0xbb, 0x30, 0xf4, 0xfa, 0xed, 0x82, 0xf4, 0xe6, 0xed, 0x82, - 0xf4, 0xf6, 0xed, 0x82, 0xf4, 0xce, 0xed, 0x82, 0x74, 0x73, 0xaf, 0x20, 0x7d, 0x65, 0xaf, 0x20, - 0x7d, 0x6d, 0xaf, 0x20, 0x7d, 0x67, 0xaf, 0x20, 0x7d, 0x7f, 0xaf, 0x20, 0xbd, 0xba, 0x57, 0x90, - 0x7e, 0xb8, 0x57, 0x18, 0x7a, 0x7d, 0xaf, 0x20, 0xbd, 0xb9, 0x57, 0x18, 0x7a, 0x7b, 0xaf, 0x20, - 0xbd, 0xb3, 0x57, 0x18, 0xba, 0xf9, 0xe3, 0xc2, 0xd0, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x5e, - 0xff, 0x73, 0x3e, 0x52, 0x3a, 0x00, 0x00, + 0x04, 0x0d, 0x20, 0x37, 0x84, 0x18, 0xee, 0x40, 0xb0, 0xe6, 0x00, 0x31, 0xfb, 0xeb, 0x69, 0xc8, + 0x84, 0xea, 0x6a, 0x74, 0x18, 0xb2, 0x97, 0xb4, 0x2b, 0x9a, 0x2a, 0xce, 0x4a, 0xcc, 0x13, 0x19, + 0x22, 0x5b, 0xe7, 0xe7, 0xa5, 0x67, 0x60, 0x92, 0xaa, 0xd8, 0x4d, 0x1f, 0xbb, 0xaa, 0x6e, 0x6a, + 0x9e, 0x47, 0x9d, 0x96, 0xa2, 0xaa, 0x88, 0xb4, 0xad, 0x91, 0xa6, 0x45, 0xd1, 0x82, 0x4e, 0xc2, + 0x04, 0x45, 0x34, 0x9a, 0xa6, 0x6f, 0x38, 0x26, 0x56, 0xc9, 0xe9, 0xcd, 0xa3, 0x99, 0x24, 0xb0, + 0x6c, 0x9c, 0x68, 0x54, 0xb9, 0x02, 0xb1, 0xc8, 0x43, 0x4b, 0xf0, 0x10, 0x85, 0xd5, 0xb1, 0x85, + 0x5d, 0xcd, 0xc7, 0x2a, 0xfe, 0x74, 0x53, 0x33, 0x3d, 0x55, 0xb3, 0x6a, 0xea, 0xae, 0xe6, 0xed, + 0xe6, 0x27, 0x09, 0x41, 0x29, 0x96, 0x97, 0x94, 0x07, 0x88, 0xe2, 0x32, 0xd7, 0x2b, 0x53, 0xb5, + 0x05, 0xab, 0xf6, 0x71, 0xcd, 0xdb, 0x45, 0x45, 0x38, 0x44, 0x59, 0x3c, 0xdf, 0x35, 0xac, 0xba, + 0xaa, 0xef, 0x62, 0xfd, 0xb2, 0xda, 0xf4, 0x77, 0xce, 0xe4, 0x1f, 0x0c, 0xf7, 0x4f, 0x2d, 0xdc, + 0xa0, 0x3a, 0x8b, 0x44, 0x65, 0xcb, 0xdf, 0x39, 0x83, 0x36, 0x20, 0x4b, 0x26, 0xa3, 0x61, 0x5c, + 0xc3, 0xea, 0x8e, 0xed, 0xd2, 0xd4, 0x98, 0xeb, 0xb3, 0x35, 0x85, 0x3c, 0x38, 0xbf, 0xc6, 0x01, + 0x55, 0xbb, 0x86, 0x8b, 0xc9, 0x8d, 0xf5, 0x72, 0x79, 0x49, 0xc9, 0x08, 0x96, 0x73, 0xb6, 0x4b, + 0x02, 0xaa, 0x6e, 0x07, 0x0e, 0xce, 0xb0, 0x80, 0xaa, 0xdb, 0xc2, 0xbd, 0x27, 0x61, 0x42, 0xd7, + 0xd9, 0x98, 0x0d, 0x5d, 0xe5, 0x67, 0x2c, 0x2f, 0x2f, 0x77, 0x38, 0x4b, 0xd7, 0x97, 0x99, 0x02, + 0x8f, 0x71, 0x0f, 0x3d, 0x0b, 0xf7, 0xb5, 0x9d, 0x15, 0x06, 0x8e, 0xf7, 0x8c, 0xb2, 0x1b, 0x7a, + 0x12, 0x26, 0x9c, 0x56, 0x2f, 0x10, 0x75, 0xf4, 0xe8, 0xb4, 0xba, 0x61, 0xa7, 0x61, 0xd2, 0xd9, + 0x75, 0x7a, 0x71, 0x4f, 0x84, 0x71, 0xc8, 0xd9, 0x75, 0xba, 0x81, 0x8f, 0xd0, 0x03, 0xb7, 0x8b, + 0x75, 0xcd, 0xc7, 0xb5, 0xfc, 0xfd, 0x61, 0xf5, 0x50, 0x03, 0x3a, 0x0a, 0xb2, 0xae, 0xab, 0xd8, + 0xd2, 0xb6, 0x4d, 0xac, 0x6a, 0x2e, 0xb6, 0x34, 0x2f, 0x3f, 0x1d, 0x56, 0xce, 0xe9, 0x7a, 0x99, + 0xb6, 0x2e, 0xd0, 0x46, 0xf4, 0x04, 0x8c, 0xdb, 0xdb, 0x97, 0x74, 0x16, 0x92, 0xaa, 0xe3, 0xe2, + 0x1d, 0xe3, 0xa5, 0xfc, 0xc3, 0xd4, 0xbf, 0x63, 0xa4, 0x81, 0x06, 0xe4, 0x3a, 0x15, 0xa3, 0xc7, + 0x41, 0xd6, 0xbd, 0x5d, 0xcd, 0x75, 0xe8, 0x9e, 0xec, 0x39, 0x9a, 0x8e, 0xf3, 0x8f, 0x30, 0x55, + 0x26, 0x5f, 0x15, 0x62, 0xb2, 0x24, 0xbc, 0xab, 0xc6, 0x8e, 0x2f, 0x18, 0x1f, 0x63, 0x4b, 0x82, + 0xca, 0x38, 0xdb, 0x1c, 0xc8, 0xc4, 0x15, 0x1d, 0x1d, 0xcf, 0x51, 0xb5, 0x9c, 0xb3, 0xeb, 0x84, + 0xfb, 0x3d, 0x02, 0xa3, 0x44, 0xb3, 0xdd, 0xe9, 0xe3, 0xac, 0x20, 0x73, 0x76, 0x43, 0x3d, 0x9e, + 0x80, 0x43, 0x44, 0xa9, 0x81, 0x7d, 0xad, 0xa6, 0xf9, 0x5a, 0x48, 0xfb, 0x29, 0xaa, 0x4d, 0xfc, + 0x5e, 0xe5, 0x8d, 0x1d, 0x76, 0xba, 0xcd, 0xed, 0x56, 0x10, 0x59, 0x4f, 0x33, 0x3b, 0x89, 0x4c, + 0xc4, 0xd6, 0x07, 0x56, 0x74, 0xcf, 0x16, 0x21, 0x1b, 0x0e, 0x7c, 0x94, 0x06, 0x16, 0xfa, 0xb2, + 0x44, 0xaa, 0xa0, 0xc5, 0xb5, 0x25, 0x52, 0xbf, 0xbc, 0x58, 0x96, 0x63, 0xa4, 0x8e, 0x5a, 0xa9, + 0x6c, 0x96, 0x55, 0x65, 0x6b, 0x75, 0xb3, 0x52, 0x2d, 0xcb, 0xf1, 0x70, 0xc1, 0xfe, 0x83, 0x18, + 0xe4, 0x3a, 0xcf, 0x5e, 0xe8, 0xa3, 0x70, 0xbf, 0xb8, 0x28, 0xf1, 0xb0, 0xaf, 0x5e, 0x35, 0x5c, + 0xba, 0x16, 0x1b, 0x1a, 0xcb, 0x8b, 0x41, 0x34, 0x4c, 0x72, 0xad, 0x0d, 0xec, 0x5f, 0x30, 0x5c, + 0xb2, 0xd2, 0x1a, 0x9a, 0x8f, 0x56, 0x60, 0xda, 0xb2, 0x55, 0xcf, 0xd7, 0xac, 0x9a, 0xe6, 0xd6, + 0xd4, 0xf6, 0x15, 0x95, 0xaa, 0xe9, 0x3a, 0xf6, 0x3c, 0x9b, 0xe5, 0xc0, 0x80, 0xe5, 0x23, 0x96, + 0xbd, 0xc1, 0x95, 0xdb, 0xc9, 0x61, 0x81, 0xab, 0x76, 0x45, 0x6e, 0x7c, 0xbf, 0xc8, 0x7d, 0x10, + 0xd2, 0x0d, 0xcd, 0x51, 0xb1, 0xe5, 0xbb, 0x2d, 0x5a, 0x71, 0xa7, 0x94, 0x54, 0x43, 0x73, 0xca, + 0xe4, 0xf9, 0xc3, 0x39, 0xf8, 0xfc, 0x4b, 0x1c, 0xb2, 0xe1, 0xaa, 0x9b, 0x1c, 0x62, 0x74, 0x9a, + 0xa0, 0x24, 0xba, 0x85, 0x1d, 0xb9, 0x6b, 0x8d, 0x3e, 0xbf, 0x48, 0x32, 0x57, 0x71, 0x98, 0xd5, + 0xc2, 0x0a, 0x43, 0x92, 0xaa, 0x81, 0x84, 0x16, 0x66, 0xb5, 0x47, 0x4a, 0xe1, 0x4f, 0x68, 0x19, + 0x86, 0x2f, 0x79, 0x94, 0x7b, 0x98, 0x72, 0x3f, 0x7c, 0x77, 0xee, 0xf3, 0x1b, 0x94, 0x3c, 0x7d, + 0x7e, 0x43, 0x5d, 0x5d, 0x53, 0xaa, 0x0b, 0x2b, 0x0a, 0x87, 0xa3, 0x07, 0x20, 0x61, 0x6a, 0xd7, + 0x5a, 0x9d, 0x39, 0x8e, 0x8a, 0x06, 0x75, 0xfc, 0x03, 0x90, 0xb8, 0x8a, 0xb5, 0xcb, 0x9d, 0x99, + 0x85, 0x8a, 0x3e, 0xc0, 0xd0, 0x3f, 0x0a, 0x49, 0xea, 0x2f, 0x04, 0xc0, 0x3d, 0x26, 0x0f, 0xa1, + 0x14, 0x24, 0x16, 0xd7, 0x14, 0x12, 0xfe, 0x32, 0x64, 0x99, 0x54, 0x5d, 0xaf, 0x94, 0x17, 0xcb, + 0x72, 0x6c, 0xf6, 0x24, 0x0c, 0x33, 0x27, 0x90, 0xa5, 0x11, 0xb8, 0x41, 0x1e, 0xe2, 0x8f, 0x9c, + 0x43, 0x12, 0xad, 0x5b, 0xd5, 0x52, 0x59, 0x91, 0x63, 0xe1, 0xe9, 0xf5, 0x20, 0x1b, 0x2e, 0xb8, + 0x3f, 0x9c, 0x98, 0xfa, 0x9e, 0x04, 0x99, 0x50, 0x01, 0x4d, 0x2a, 0x1f, 0xcd, 0x34, 0xed, 0xab, + 0xaa, 0x66, 0x1a, 0x9a, 0xc7, 0x83, 0x02, 0xa8, 0x68, 0x81, 0x48, 0x06, 0x9d, 0xb4, 0x0f, 0xc5, + 0xf8, 0xd7, 0x24, 0x90, 0xbb, 0x6b, 0xd7, 0x2e, 0x03, 0xa5, 0x9f, 0xa9, 0x81, 0xaf, 0x4a, 0x90, + 0xeb, 0x2c, 0x58, 0xbb, 0xcc, 0x3b, 0xfc, 0x33, 0x35, 0xef, 0xcd, 0x18, 0x8c, 0x76, 0x94, 0xa9, + 0x83, 0x5a, 0xf7, 0x69, 0x18, 0x37, 0x6a, 0xb8, 0xe1, 0xd8, 0x3e, 0xb6, 0xf4, 0x96, 0x6a, 0xe2, + 0x2b, 0xd8, 0xcc, 0xcf, 0xd2, 0x8d, 0xe2, 0xe8, 0xdd, 0x0b, 0xe1, 0xf9, 0x4a, 0x1b, 0xb7, 0x42, + 0x60, 0xc5, 0x89, 0xca, 0x52, 0xb9, 0xba, 0xbe, 0xb6, 0x59, 0x5e, 0x5d, 0xbc, 0xa8, 0x6e, 0xad, + 0xfe, 0xff, 0xd5, 0xb5, 0x0b, 0xab, 0x8a, 0x6c, 0x74, 0xa9, 0x7d, 0x80, 0x4b, 0x7d, 0x1d, 0xe4, + 0x6e, 0xa3, 0xd0, 0xfd, 0xd0, 0xcf, 0x2c, 0x79, 0x08, 0x4d, 0xc0, 0xd8, 0xea, 0x9a, 0xba, 0x51, + 0x59, 0x2a, 0xab, 0xe5, 0x73, 0xe7, 0xca, 0x8b, 0x9b, 0x1b, 0xec, 0x6a, 0x23, 0xd0, 0xde, 0xec, + 0x5c, 0xd4, 0xaf, 0xc4, 0x61, 0xa2, 0x8f, 0x25, 0x68, 0x81, 0x1f, 0x4a, 0xd8, 0x39, 0xe9, 0xe9, + 0x41, 0xac, 0x9f, 0x27, 0x55, 0xc1, 0xba, 0xe6, 0xfa, 0xfc, 0x0c, 0xf3, 0x38, 0x10, 0x2f, 0x59, + 0xbe, 0xb1, 0x63, 0x60, 0x97, 0xdf, 0x04, 0xb1, 0x93, 0xca, 0x58, 0x5b, 0xce, 0x2e, 0x83, 0x9e, + 0x02, 0xe4, 0xd8, 0x9e, 0xe1, 0x1b, 0x57, 0xb0, 0x6a, 0x58, 0xe2, 0xda, 0x88, 0x9c, 0x5c, 0x12, + 0x8a, 0x2c, 0x5a, 0x2a, 0x96, 0x1f, 0x68, 0x5b, 0xb8, 0xae, 0x75, 0x69, 0x93, 0x0d, 0x3c, 0xae, + 0xc8, 0xa2, 0x25, 0xd0, 0x3e, 0x0c, 0xd9, 0x9a, 0xdd, 0x24, 0xe5, 0x1c, 0xd3, 0x23, 0xf9, 0x42, + 0x52, 0x32, 0x4c, 0x16, 0xa8, 0xf0, 0x42, 0xbd, 0x7d, 0x5f, 0x95, 0x55, 0x32, 0x4c, 0xc6, 0x54, + 0x1e, 0x83, 0x31, 0xad, 0x5e, 0x77, 0x09, 0xb9, 0x20, 0x62, 0x47, 0x8f, 0x5c, 0x20, 0xa6, 0x8a, + 0x53, 0xe7, 0x21, 0x25, 0xfc, 0x40, 0x52, 0x32, 0xf1, 0x84, 0xea, 0xb0, 0xf3, 0x74, 0x6c, 0x2e, + 0xad, 0xa4, 0x2c, 0xd1, 0x78, 0x18, 0xb2, 0x86, 0xa7, 0xb6, 0xaf, 0xdf, 0x63, 0x33, 0xb1, 0xb9, + 0x94, 0x92, 0x31, 0xbc, 0xe0, 0xea, 0x72, 0xf6, 0xf5, 0x18, 0xe4, 0x3a, 0x5f, 0x1f, 0xa0, 0x25, + 0x48, 0x99, 0xb6, 0xae, 0xd1, 0xd0, 0x62, 0xef, 0xae, 0xe6, 0x22, 0xde, 0x38, 0xcc, 0xaf, 0x70, + 0x7d, 0x25, 0x40, 0x4e, 0xfd, 0x93, 0x04, 0x29, 0x21, 0x46, 0x87, 0x20, 0xe1, 0x68, 0xfe, 0x2e, + 0xa5, 0x4b, 0x96, 0x62, 0xb2, 0xa4, 0xd0, 0x67, 0x22, 0xf7, 0x1c, 0xcd, 0xa2, 0x21, 0xc0, 0xe5, + 0xe4, 0x99, 0xcc, 0xab, 0x89, 0xb5, 0x1a, 0x3d, 0xd7, 0xd8, 0x8d, 0x06, 0xb6, 0x7c, 0x4f, 0xcc, + 0x2b, 0x97, 0x2f, 0x72, 0x31, 0x7a, 0x12, 0xc6, 0x7d, 0x57, 0x33, 0xcc, 0x0e, 0xdd, 0x04, 0xd5, + 0x95, 0x45, 0x43, 0xa0, 0x5c, 0x84, 0x07, 0x04, 0x6f, 0x0d, 0xfb, 0x9a, 0xbe, 0x8b, 0x6b, 0x6d, + 0xd0, 0x30, 0xbd, 0xbf, 0xb8, 0x9f, 0x2b, 0x2c, 0xf1, 0x76, 0x81, 0x9d, 0xfd, 0x91, 0x04, 0xe3, + 0xe2, 0x24, 0x56, 0x0b, 0x9c, 0x55, 0x05, 0xd0, 0x2c, 0xcb, 0xf6, 0xc3, 0xee, 0xea, 0x0d, 0xe5, + 0x1e, 0xdc, 0xfc, 0x42, 0x00, 0x52, 0x42, 0x04, 0x53, 0x0d, 0x80, 0x76, 0xcb, 0xbe, 0x6e, 0x9b, + 0x86, 0x0c, 0x7f, 0x37, 0x44, 0x5f, 0x30, 0xb2, 0xb3, 0x3b, 0x30, 0x11, 0x39, 0xb2, 0xa1, 0x49, + 0x48, 0x6e, 0xe3, 0xba, 0x61, 0xf1, 0x1b, 0x5f, 0xf6, 0x20, 0x6e, 0x58, 0x12, 0xc1, 0x0d, 0x4b, + 0xe9, 0x53, 0x30, 0xa1, 0xdb, 0x8d, 0x6e, 0x73, 0x4b, 0x72, 0xd7, 0xfd, 0x81, 0xf7, 0x71, 0xe9, + 0x45, 0x68, 0x97, 0x98, 0xef, 0x49, 0xd2, 0x97, 0x63, 0xf1, 0xe5, 0xf5, 0xd2, 0xd7, 0x62, 0x53, + 0xcb, 0x0c, 0xba, 0x2e, 0x46, 0xaa, 0xe0, 0x1d, 0x13, 0xeb, 0xc4, 0x7a, 0xf8, 0xca, 0x93, 0xf0, + 0x74, 0xdd, 0xf0, 0x77, 0x9b, 0xdb, 0xf3, 0xba, 0xdd, 0x38, 0x5a, 0xb7, 0xeb, 0x76, 0xfb, 0x9d, + 0x2a, 0x79, 0xa2, 0x0f, 0xf4, 0x17, 0x7f, 0xaf, 0x9a, 0x0e, 0xa4, 0x53, 0x91, 0x2f, 0x61, 0x8b, + 0xab, 0x30, 0xc1, 0x95, 0x55, 0xfa, 0x62, 0x87, 0x1d, 0x4f, 0xd0, 0x5d, 0x2f, 0xc7, 0xf2, 0xdf, + 0x78, 0x8b, 0xa6, 0x6b, 0x65, 0x9c, 0x43, 0x49, 0x1b, 0x3b, 0xc1, 0x14, 0x15, 0xb8, 0xaf, 0x83, + 0x8f, 0x2d, 0x4d, 0xec, 0x46, 0x30, 0xfe, 0x80, 0x33, 0x4e, 0x84, 0x18, 0x37, 0x38, 0xb4, 0xb8, + 0x08, 0xa3, 0x07, 0xe1, 0xfa, 0x07, 0xce, 0x95, 0xc5, 0x61, 0x92, 0x65, 0x18, 0xa3, 0x24, 0x7a, + 0xd3, 0xf3, 0xed, 0x06, 0xdd, 0xf7, 0xee, 0x4e, 0xf3, 0x8f, 0x6f, 0xb1, 0xb5, 0x92, 0x23, 0xb0, + 0xc5, 0x00, 0x55, 0x2c, 0x02, 0x7d, 0x97, 0x55, 0xc3, 0xba, 0x19, 0xc1, 0x70, 0x83, 0x1b, 0x12, + 0xe8, 0x17, 0x3f, 0x09, 0x93, 0xe4, 0x37, 0xdd, 0x96, 0xc2, 0x96, 0x44, 0xdf, 0xa4, 0xe5, 0x7f, + 0xf4, 0x32, 0x5b, 0x8e, 0x13, 0x01, 0x41, 0xc8, 0xa6, 0xd0, 0x2c, 0xd6, 0xb1, 0xef, 0x63, 0xd7, + 0x53, 0x35, 0xb3, 0x9f, 0x79, 0xa1, 0xab, 0x88, 0xfc, 0x17, 0xde, 0xe9, 0x9c, 0xc5, 0x65, 0x86, + 0x5c, 0x30, 0xcd, 0xe2, 0x16, 0xdc, 0xdf, 0x27, 0x2a, 0x06, 0xe0, 0x7c, 0x85, 0x73, 0x4e, 0xf6, + 0x44, 0x06, 0xa1, 0x5d, 0x07, 0x21, 0x0f, 0xe6, 0x72, 0x00, 0xce, 0x3f, 0xe4, 0x9c, 0x88, 0x63, + 0xc5, 0x94, 0x12, 0xc6, 0xf3, 0x30, 0x7e, 0x05, 0xbb, 0xdb, 0xb6, 0xc7, 0xaf, 0x7f, 0x06, 0xa0, + 0x7b, 0x95, 0xd3, 0x8d, 0x71, 0x20, 0xbd, 0x0f, 0x22, 0x5c, 0xcf, 0x42, 0x6a, 0x47, 0xd3, 0xf1, + 0x00, 0x14, 0x5f, 0xe4, 0x14, 0x23, 0x44, 0x9f, 0x40, 0x17, 0x20, 0x5b, 0xb7, 0x79, 0x66, 0x8a, + 0x86, 0xbf, 0xc6, 0xe1, 0x19, 0x81, 0xe1, 0x14, 0x8e, 0xed, 0x34, 0x4d, 0x92, 0xb6, 0xa2, 0x29, + 0xfe, 0x48, 0x50, 0x08, 0x0c, 0xa7, 0x38, 0x80, 0x5b, 0xff, 0x58, 0x50, 0x78, 0x21, 0x7f, 0x3e, + 0x0f, 0x19, 0xdb, 0x32, 0x5b, 0xb6, 0x35, 0x88, 0x11, 0x5f, 0xe2, 0x0c, 0xc0, 0x21, 0x84, 0xe0, + 0x2c, 0xa4, 0x07, 0x9d, 0x88, 0x3f, 0x7d, 0x47, 0x2c, 0x0f, 0x31, 0x03, 0xcb, 0x30, 0x26, 0x36, + 0x28, 0xc3, 0xb6, 0x06, 0xa0, 0xf8, 0x0a, 0xa7, 0xc8, 0x85, 0x60, 0x7c, 0x18, 0x3e, 0xf6, 0xfc, + 0x3a, 0x1e, 0x84, 0xe4, 0x75, 0x31, 0x0c, 0x0e, 0xe1, 0xae, 0xdc, 0xc6, 0x96, 0xbe, 0x3b, 0x18, + 0xc3, 0x57, 0x85, 0x2b, 0x05, 0x86, 0x50, 0x2c, 0xc2, 0x68, 0x43, 0x73, 0xbd, 0x5d, 0xcd, 0x1c, + 0x68, 0x3a, 0xfe, 0x8c, 0x73, 0x64, 0x03, 0x10, 0xf7, 0x48, 0xd3, 0x3a, 0x08, 0xcd, 0xd7, 0x84, + 0x47, 0x42, 0x30, 0xbe, 0xf4, 0x3c, 0x9f, 0xde, 0x95, 0x1d, 0x84, 0xed, 0xcf, 0xc5, 0xd2, 0x63, + 0xd8, 0x6a, 0x98, 0xf1, 0x2c, 0xa4, 0x3d, 0xe3, 0xda, 0x40, 0x34, 0x7f, 0x21, 0x66, 0x9a, 0x02, + 0x08, 0xf8, 0x22, 0x3c, 0xd0, 0x37, 0x4d, 0x0c, 0x40, 0xf6, 0x97, 0x9c, 0xec, 0x50, 0x9f, 0x54, + 0xc1, 0xb7, 0x84, 0x83, 0x52, 0xfe, 0x95, 0xd8, 0x12, 0x70, 0x17, 0xd7, 0x3a, 0x39, 0x2b, 0x78, + 0xda, 0xce, 0xc1, 0xbc, 0xf6, 0xd7, 0xc2, 0x6b, 0x0c, 0xdb, 0xe1, 0xb5, 0x4d, 0x38, 0xc4, 0x19, + 0x0f, 0x36, 0xaf, 0x5f, 0x17, 0x1b, 0x2b, 0x43, 0x6f, 0x75, 0xce, 0xee, 0xa7, 0x60, 0x2a, 0x70, + 0xa7, 0x28, 0x4a, 0x3d, 0xb5, 0xa1, 0x39, 0x03, 0x30, 0x7f, 0x83, 0x33, 0x8b, 0x1d, 0x3f, 0xa8, + 0x6a, 0xbd, 0xaa, 0xe6, 0x10, 0xf2, 0x17, 0x20, 0x2f, 0xc8, 0x9b, 0x96, 0x8b, 0x75, 0xbb, 0x6e, + 0x19, 0xd7, 0x70, 0x6d, 0x00, 0xea, 0xbf, 0xe9, 0x9a, 0xaa, 0xad, 0x10, 0x9c, 0x30, 0x57, 0x40, + 0x0e, 0x6a, 0x15, 0xd5, 0x68, 0x38, 0xb6, 0xeb, 0x47, 0x30, 0xfe, 0xad, 0x98, 0xa9, 0x00, 0x57, + 0xa1, 0xb0, 0x62, 0x19, 0x72, 0xf4, 0x71, 0xd0, 0x90, 0xfc, 0x26, 0x27, 0x1a, 0x6d, 0xa3, 0xf8, + 0xc6, 0xa1, 0xdb, 0x0d, 0x47, 0x73, 0x07, 0xd9, 0xff, 0xbe, 0x25, 0x36, 0x0e, 0x0e, 0xe1, 0x1b, + 0x87, 0xdf, 0x72, 0x30, 0xc9, 0xf6, 0x03, 0x30, 0x7c, 0x5b, 0x6c, 0x1c, 0x02, 0xc3, 0x29, 0x44, + 0xc1, 0x30, 0x00, 0xc5, 0xdf, 0x09, 0x0a, 0x81, 0x21, 0x14, 0x9f, 0x68, 0x27, 0x5a, 0x17, 0xd7, + 0x0d, 0xcf, 0x77, 0x59, 0x29, 0x7c, 0x77, 0xaa, 0xef, 0xbc, 0xd3, 0x59, 0x84, 0x29, 0x21, 0x28, + 0xd9, 0x89, 0xf8, 0x15, 0x2a, 0x3d, 0x29, 0x45, 0x1b, 0xf6, 0x5d, 0xb1, 0x13, 0x85, 0x60, 0xc4, + 0xb6, 0x50, 0x85, 0x48, 0xdc, 0xae, 0x93, 0xf3, 0xc1, 0x00, 0x74, 0xdf, 0xeb, 0x32, 0x6e, 0x43, + 0x60, 0x09, 0x67, 0xa8, 0xfe, 0x69, 0x5a, 0x97, 0x71, 0x6b, 0xa0, 0xe8, 0xfc, 0xfb, 0xae, 0xfa, + 0x67, 0x8b, 0x21, 0xd9, 0x1e, 0x32, 0xd6, 0x55, 0x4f, 0xa1, 0xa8, 0xaf, 0x80, 0xf2, 0xbf, 0x78, + 0x9b, 0x8f, 0xb7, 0xb3, 0x9c, 0x2a, 0xae, 0x90, 0x20, 0xef, 0x2c, 0x7a, 0xa2, 0xc9, 0x5e, 0xbe, + 0x1d, 0xc4, 0x79, 0x47, 0xcd, 0x53, 0x3c, 0x07, 0xa3, 0x1d, 0x05, 0x4f, 0x34, 0xd5, 0x2f, 0x71, + 0xaa, 0x6c, 0xb8, 0xde, 0x29, 0x9e, 0x84, 0x04, 0x29, 0x5e, 0xa2, 0xe1, 0xbf, 0xcc, 0xe1, 0x54, + 0xbd, 0xf8, 0x31, 0x48, 0x89, 0xa2, 0x25, 0x1a, 0xfa, 0x2b, 0x1c, 0x1a, 0x40, 0x08, 0x5c, 0x14, + 0x2c, 0xd1, 0xf0, 0xcf, 0x0a, 0xb8, 0x80, 0x10, 0xf8, 0xe0, 0x2e, 0xfc, 0xfe, 0xaf, 0x25, 0x78, + 0xd2, 0x11, 0xbe, 0x3b, 0x0b, 0x23, 0xbc, 0x52, 0x89, 0x46, 0x7f, 0x8e, 0x77, 0x2e, 0x10, 0xc5, + 0xd3, 0x90, 0x1c, 0xd0, 0xe1, 0xbf, 0xc1, 0xa1, 0x4c, 0xbf, 0xb8, 0x08, 0x99, 0x50, 0x75, 0x12, + 0x0d, 0xff, 0x4d, 0x0e, 0x0f, 0xa3, 0x88, 0xe9, 0xbc, 0x3a, 0x89, 0x26, 0xf8, 0x2d, 0x61, 0x3a, + 0x47, 0x10, 0xb7, 0x89, 0xc2, 0x24, 0x1a, 0xfd, 0xdb, 0xc2, 0xeb, 0x02, 0x52, 0x7c, 0x1e, 0xd2, + 0x41, 0xb2, 0x89, 0xc6, 0xff, 0x0e, 0xc7, 0xb7, 0x31, 0xc4, 0x03, 0xa1, 0x64, 0x17, 0x4d, 0xf1, + 0xbb, 0xc2, 0x03, 0x21, 0x14, 0x59, 0x46, 0xdd, 0x05, 0x4c, 0x34, 0xd3, 0xef, 0x89, 0x65, 0xd4, + 0x55, 0xbf, 0x90, 0xd9, 0xa4, 0x7b, 0x7e, 0x34, 0xc5, 0xef, 0x8b, 0xd9, 0xa4, 0xfa, 0xc4, 0x8c, + 0xee, 0x8a, 0x20, 0x9a, 0xe3, 0x0f, 0x84, 0x19, 0x5d, 0x05, 0x41, 0x71, 0x1d, 0x50, 0x6f, 0x35, + 0x10, 0xcd, 0xf7, 0x79, 0xce, 0x37, 0xde, 0x53, 0x0c, 0x14, 0x2f, 0xc0, 0xa1, 0xfe, 0x95, 0x40, + 0x34, 0xeb, 0x17, 0x6e, 0x77, 0x9d, 0xdd, 0xc2, 0x85, 0x40, 0x71, 0xb3, 0x9d, 0x52, 0xc2, 0x55, + 0x40, 0x34, 0xed, 0x2b, 0xb7, 0x3b, 0x37, 0xee, 0x70, 0x11, 0x50, 0x5c, 0x00, 0x68, 0x27, 0xe0, + 0x68, 0xae, 0x57, 0x39, 0x57, 0x08, 0x44, 0x96, 0x06, 0xcf, 0xbf, 0xd1, 0xf8, 0x2f, 0x8a, 0xa5, + 0xc1, 0x11, 0x64, 0x69, 0x88, 0xd4, 0x1b, 0x8d, 0x7e, 0x4d, 0x2c, 0x0d, 0x01, 0x21, 0x91, 0x1d, + 0xca, 0x6e, 0xd1, 0x0c, 0x5f, 0x12, 0x91, 0x1d, 0x42, 0x15, 0x57, 0x61, 0xbc, 0x27, 0x21, 0x46, + 0x53, 0x7d, 0x99, 0x53, 0xc9, 0xdd, 0xf9, 0x30, 0x9c, 0xbc, 0x78, 0x32, 0x8c, 0x66, 0xfb, 0x93, + 0xae, 0xe4, 0xc5, 0x73, 0x61, 0xf1, 0x2c, 0xa4, 0xac, 0xa6, 0x69, 0x92, 0xc5, 0x83, 0xee, 0xfe, + 0xe5, 0x5e, 0xfe, 0x27, 0xef, 0x73, 0xef, 0x08, 0x40, 0xf1, 0x24, 0x24, 0x71, 0x63, 0x1b, 0xd7, + 0xa2, 0x90, 0xff, 0xf6, 0xbe, 0xd8, 0x30, 0x89, 0x76, 0xf1, 0x79, 0x00, 0x76, 0x35, 0x42, 0x5f, + 0xfb, 0x45, 0x60, 0xff, 0xfd, 0x7d, 0xfe, 0x4d, 0x4d, 0x1b, 0xd2, 0x26, 0x60, 0x5f, 0xe8, 0xdc, + 0x9d, 0xe0, 0x9d, 0x4e, 0x02, 0x3a, 0x23, 0xcf, 0xc2, 0xc8, 0x25, 0xcf, 0xb6, 0x7c, 0xad, 0x1e, + 0x85, 0xfe, 0x0f, 0x8e, 0x16, 0xfa, 0xc4, 0x61, 0x0d, 0xdb, 0xc5, 0xbe, 0x56, 0xf7, 0xa2, 0xb0, + 0xff, 0xc9, 0xb1, 0x01, 0x80, 0x80, 0x75, 0xcd, 0xf3, 0x07, 0x19, 0xf7, 0x7f, 0x09, 0xb0, 0x00, + 0x10, 0xa3, 0xc9, 0xef, 0xcb, 0xb8, 0x15, 0x85, 0x7d, 0x57, 0x18, 0xcd, 0xf5, 0x8b, 0x1f, 0x83, + 0x34, 0xf9, 0xc9, 0x3e, 0x94, 0x8b, 0x00, 0xff, 0x37, 0x07, 0xb7, 0x11, 0xa4, 0x67, 0xcf, 0xaf, + 0xf9, 0x46, 0xb4, 0xb3, 0xff, 0x87, 0xcf, 0xb4, 0xd0, 0x2f, 0x2e, 0x40, 0xc6, 0xf3, 0x6b, 0xb5, + 0x26, 0xaf, 0x4f, 0x23, 0xe0, 0xff, 0xfb, 0x7e, 0x70, 0x65, 0x11, 0x60, 0xc8, 0x6c, 0x5f, 0xbd, + 0xec, 0x3b, 0x36, 0x7d, 0xcd, 0x11, 0xc5, 0x70, 0x9b, 0x33, 0x84, 0x20, 0xa5, 0x72, 0xff, 0xeb, + 0x5b, 0x58, 0xb6, 0x97, 0x6d, 0x76, 0x71, 0xfb, 0xe2, 0x6c, 0xf4, 0x0d, 0x2c, 0x7c, 0x73, 0x0c, + 0xa6, 0x75, 0xbb, 0xb1, 0x6d, 0x7b, 0x47, 0x83, 0xed, 0xf8, 0xa8, 0x98, 0x1d, 0x7e, 0x35, 0x1b, + 0xcc, 0xd6, 0xd4, 0xc1, 0xee, 0x74, 0x67, 0x7f, 0x32, 0x0a, 0xa9, 0x45, 0xcd, 0xf3, 0xb5, 0xab, + 0x5a, 0x0b, 0x3d, 0x02, 0xa9, 0x8a, 0xe5, 0x1f, 0x3f, 0xb6, 0xee, 0xbb, 0xf4, 0xb5, 0x64, 0xbc, + 0x94, 0xbe, 0x73, 0x73, 0x3a, 0x69, 0x10, 0x99, 0x12, 0x34, 0xa1, 0x23, 0x90, 0xa4, 0xbf, 0xe9, + 0xcd, 0x76, 0xbc, 0x34, 0x7a, 0xe3, 0xe6, 0xf4, 0x50, 0x5b, 0x8f, 0xb5, 0xa1, 0x8b, 0x90, 0xa9, + 0xb6, 0xb6, 0x0c, 0xcb, 0x3f, 0x75, 0x82, 0xd0, 0x11, 0xef, 0x24, 0x4a, 0xa7, 0xef, 0xdc, 0x9c, + 0x3e, 0xbe, 0xaf, 0x81, 0xa4, 0xac, 0x68, 0x0f, 0x4c, 0xa0, 0xe9, 0xf7, 0xc8, 0x61, 0x2e, 0x74, + 0x01, 0x52, 0xe2, 0x91, 0xbd, 0x21, 0x2a, 0x9d, 0xe5, 0x26, 0xdc, 0x13, 0x77, 0x40, 0x86, 0x7e, + 0x0e, 0xb2, 0xd5, 0xd6, 0x39, 0xd3, 0xd6, 0xb8, 0x0f, 0x92, 0x33, 0xd2, 0x5c, 0xac, 0x74, 0xe6, + 0xce, 0xcd, 0xe9, 0x13, 0x03, 0x13, 0x73, 0x38, 0x65, 0xee, 0x60, 0x43, 0x2f, 0x42, 0x3a, 0x78, + 0xa6, 0xef, 0xa0, 0x62, 0xa5, 0x8f, 0x72, 0xbb, 0xef, 0x8d, 0xbe, 0x4d, 0x17, 0xb2, 0x9c, 0xb9, + 0x7b, 0x64, 0x46, 0x9a, 0x93, 0xee, 0xc5, 0x72, 0xee, 0x93, 0x0e, 0xb6, 0x90, 0xe5, 0xa7, 0x4e, + 0xd0, 0x97, 0x5e, 0xd2, 0xbd, 0x5a, 0xce, 0xe9, 0xdb, 0x74, 0xe8, 0x3c, 0x8c, 0x54, 0x5b, 0xa5, + 0x96, 0x8f, 0x3d, 0xfa, 0x99, 0x5b, 0xb6, 0xf4, 0xcc, 0x9d, 0x9b, 0xd3, 0x4f, 0x0d, 0xc8, 0x4a, + 0x71, 0x8a, 0x20, 0x40, 0x33, 0x90, 0x59, 0xb5, 0xdd, 0x86, 0x66, 0x32, 0x3e, 0x60, 0x2f, 0xf1, + 0x42, 0x22, 0xb4, 0x45, 0x46, 0xc2, 0x66, 0xdb, 0xa3, 0xff, 0x21, 0xf5, 0x53, 0xc4, 0x64, 0x9b, + 0x09, 0x19, 0x90, 0xac, 0xb6, 0xaa, 0x9a, 0x93, 0xcf, 0xd2, 0x37, 0x4c, 0x0f, 0xcd, 0x07, 0x08, + 0xb1, 0xb6, 0xe6, 0x69, 0x3b, 0xfd, 0x14, 0xa7, 0x74, 0xe2, 0xce, 0xcd, 0xe9, 0x67, 0x06, 0xee, + 0xb1, 0xaa, 0x39, 0xb4, 0x3b, 0xd6, 0x03, 0xfa, 0x96, 0x44, 0x16, 0x16, 0xbb, 0xa2, 0x27, 0x3d, + 0x8e, 0xd2, 0x1e, 0x8f, 0xf4, 0xed, 0x31, 0xd0, 0x62, 0xfd, 0x5a, 0x9f, 0x79, 0xe3, 0x00, 0x23, + 0x65, 0x27, 0x43, 0xd2, 0xf5, 0xaf, 0xbe, 0x71, 0xcf, 0x8b, 0x36, 0xb0, 0x00, 0xbd, 0x2c, 0xc1, + 0x68, 0xb5, 0xb5, 0xca, 0x53, 0x38, 0xb1, 0x3c, 0xc7, 0xff, 0x8f, 0xa6, 0x9f, 0xe5, 0x21, 0x3d, + 0x66, 0xfb, 0xa9, 0xcf, 0xbc, 0x31, 0x7d, 0x6c, 0x60, 0x23, 0xe8, 0x16, 0x44, 0x6d, 0xe8, 0xec, + 0x13, 0x7d, 0x96, 0x5a, 0x51, 0x26, 0xe5, 0x40, 0x0d, 0xd7, 0x88, 0x15, 0x63, 0x77, 0xb1, 0x22, + 0xa4, 0xc7, 0xac, 0x28, 0x92, 0xa8, 0xbf, 0x77, 0x4b, 0x42, 0x7c, 0x68, 0x0d, 0x86, 0x99, 0x87, + 0xe9, 0x27, 0x96, 0xe9, 0x03, 0x86, 0x61, 0x7b, 0x72, 0x14, 0x4e, 0x33, 0x75, 0x06, 0xa0, 0x1d, + 0x63, 0x48, 0x86, 0xf8, 0x65, 0xdc, 0xe2, 0xdf, 0xd1, 0x92, 0x9f, 0x68, 0xb2, 0xfd, 0xa1, 0xbb, + 0x34, 0x97, 0xe0, 0x5f, 0xaf, 0x17, 0x63, 0x67, 0xa4, 0xa9, 0xe7, 0x40, 0xee, 0x8e, 0x95, 0x03, + 0xe1, 0x15, 0x40, 0xbd, 0x33, 0x16, 0x66, 0x48, 0x32, 0x86, 0x47, 0xc3, 0x0c, 0x99, 0x63, 0x72, + 0xdb, 0xe7, 0x17, 0x0c, 0xd3, 0xb3, 0xad, 0x1e, 0xce, 0x6e, 0xff, 0xff, 0x74, 0x9c, 0xb3, 0x05, + 0x18, 0x66, 0x42, 0x32, 0x96, 0x0a, 0x4d, 0x1f, 0x34, 0xcb, 0x29, 0xec, 0xa1, 0xb4, 0x72, 0xe3, + 0x56, 0x61, 0xe8, 0x87, 0xb7, 0x0a, 0x43, 0xff, 0x7c, 0xab, 0x30, 0xf4, 0xe6, 0xad, 0x82, 0xf4, + 0xf6, 0xad, 0x82, 0xf4, 0xee, 0xad, 0x82, 0xf4, 0xde, 0xad, 0x82, 0x74, 0x7d, 0xaf, 0x20, 0x7d, + 0x75, 0xaf, 0x20, 0x7d, 0x7d, 0xaf, 0x20, 0x7d, 0x67, 0xaf, 0x20, 0x7d, 0x7f, 0xaf, 0x20, 0xdd, + 0xd8, 0x2b, 0x48, 0x3f, 0xdc, 0x2b, 0x0c, 0xbd, 0xb9, 0x57, 0x90, 0xde, 0xde, 0x2b, 0x0c, 0xbd, + 0xbb, 0x57, 0x90, 0xde, 0xdb, 0x2b, 0x0c, 0x5d, 0xff, 0x71, 0x61, 0xe8, 0xff, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x20, 0xb5, 0xdc, 0x39, 0xab, 0x3a, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1606,55 +1657,3 @@ func valueToStringCasttype(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { - proto.RegisterFile("combos/marshaler/casttype.proto", fileDescriptor_casttype_c89cc726fec17f61) -} - -var fileDescriptor_casttype_c89cc726fec17f61 = []byte{ - // 698 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x4c, - 0x18, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0xe6, 0x7d, 0xa3, 0x13, 0x83, 0x55, 0x89, 0xb3, 0xd5, - 0xaa, 0xc8, 0x03, 0x24, 0x55, 0x1a, 0x95, 0xaa, 0x20, 0x06, 0x57, 0x45, 0x2a, 0xc2, 0x05, 0x19, - 0xaa, 0x0a, 0xc4, 0x72, 0x69, 0x4d, 0x1a, 0xe1, 0xc4, 0x91, 0x7d, 0x01, 0x79, 0xab, 0xca, 0x80, - 0xc4, 0x5f, 0xc2, 0xc8, 0x82, 0xc4, 0xc8, 0xd8, 0xb1, 0x23, 0x53, 0x5a, 0x9b, 0xa5, 0x6c, 0x1d, - 0xab, 0x4c, 0xe8, 0xee, 0x9c, 0xd8, 0xfd, 0x01, 0x4a, 0xdc, 0xed, 0x9e, 0xbb, 0xe7, 0xf9, 0x3c, - 0xdf, 0x7b, 0xee, 0xb9, 0x3b, 0xa8, 0xec, 0x38, 0xad, 0xba, 0xe3, 0x55, 0x5a, 0xc4, 0xf5, 0xf6, - 0x88, 0x6d, 0xb9, 0x95, 0x1d, 0xe2, 0x51, 0xea, 0x77, 0xac, 0x72, 0xc7, 0x75, 0xa8, 0x83, 0x72, - 0x03, 0x7b, 0xf6, 0x5e, 0xa3, 0x49, 0xf7, 0xba, 0xf5, 0xf2, 0x8e, 0xd3, 0xaa, 0x34, 0x9c, 0x86, - 0x53, 0xe1, 0x0e, 0xf5, 0xee, 0x5b, 0x6e, 0x71, 0x83, 0x8f, 0x44, 0xe0, 0xdc, 0xef, 0x22, 0xcc, - 0xad, 0x11, 0x8f, 0x92, 0x0f, 0xc4, 0x47, 0x0b, 0x30, 0xb7, 0xd1, 0xa6, 0x4b, 0xd5, 0xe7, 0xd4, - 0x95, 0x81, 0x0a, 0xb4, 0x8c, 0x9e, 0xef, 0xf7, 0x94, 0x6c, 0x93, 0xcd, 0x99, 0xc3, 0x25, 0x34, - 0x0f, 0xb3, 0x7c, 0x2c, 0x4f, 0x70, 0x9f, 0xe2, 0x61, 0x4f, 0x91, 0x62, 0x3f, 0xb1, 0x86, 0x5e, - 0xc1, 0x82, 0xe1, 0x6f, 0x35, 0xdb, 0x74, 0xb9, 0xc6, 0x70, 0x19, 0x15, 0x68, 0x93, 0xfa, 0xfd, - 0x7e, 0x4f, 0x59, 0xfa, 0xab, 0x40, 0x6a, 0x79, 0x34, 0xde, 0xd8, 0x20, 0xfa, 0xa5, 0xdf, 0xb1, - 0xcc, 0x24, 0x0b, 0x6d, 0xc3, 0xdc, 0xc0, 0x94, 0x27, 0x39, 0xf7, 0x41, 0x24, 0x21, 0x15, 0x7b, - 0x08, 0x43, 0x6f, 0xe0, 0x8c, 0xe1, 0x3f, 0xb6, 0x1d, 0x12, 0xd5, 0x20, 0xab, 0x02, 0x6d, 0x42, - 0x5f, 0xe9, 0xf7, 0x94, 0xda, 0xc8, 0xe0, 0x28, 0x9c, 0x93, 0x2f, 0xd0, 0xd0, 0x6b, 0x98, 0x1f, - 0xda, 0xf2, 0x14, 0x47, 0x3f, 0x8c, 0x74, 0xa7, 0xc3, 0xc7, 0xb8, 0x84, 0x72, 0x51, 0xee, 0x69, - 0x15, 0x68, 0x20, 0x8d, 0xf2, 0xa8, 0x26, 0x17, 0x68, 0x09, 0xe5, 0xcb, 0x35, 0x39, 0xc7, 0xd1, - 0x29, 0x95, 0x47, 0xf8, 0x18, 0x87, 0x9e, 0xc0, 0x69, 0xc3, 0xd7, 0x7d, 0x6a, 0x79, 0x72, 0x5e, - 0x05, 0xda, 0x8c, 0xbe, 0xd8, 0xef, 0x29, 0x77, 0x47, 0xa4, 0xf2, 0x38, 0x73, 0x00, 0x40, 0x2a, - 0x2c, 0x6c, 0x3a, 0x6e, 0x8b, 0xd8, 0x82, 0x07, 0x19, 0xcf, 0x4c, 0x4e, 0xa1, 0x2d, 0xb6, 0x13, - 0x71, 0xda, 0x9e, 0x5c, 0x50, 0x33, 0x37, 0xe9, 0xc9, 0x98, 0x84, 0x9a, 0x30, 0x6b, 0xf8, 0x06, - 0xe9, 0xc8, 0x33, 0x6a, 0x46, 0x2b, 0x54, 0x6f, 0x97, 0x87, 0x11, 0x83, 0xbb, 0x55, 0xe6, 0xeb, - 0xeb, 0x6d, 0xea, 0xfa, 0x7a, 0xad, 0xdf, 0x53, 0x16, 0x47, 0xce, 0x68, 0x90, 0x0e, 0x4f, 0x27, - 0x32, 0xa0, 0x6f, 0x80, 0x5d, 0xac, 0xb5, 0xae, 0x47, 0x9d, 0x16, 0xcb, 0x58, 0xe4, 0x19, 0xe7, - 0xaf, 0xcd, 0x38, 0xf4, 0x12, 0x79, 0xdb, 0x07, 0xc7, 0x63, 0xec, 0xf4, 0x05, 0x75, 0x9b, 0xed, - 0x06, 0x4b, 0xfd, 0xf9, 0x38, 0xf5, 0xa5, 0x1d, 0x2a, 0x40, 0x1f, 0x01, 0x2c, 0x1a, 0xfe, 0x66, - 0xd7, 0xb6, 0x49, 0xdd, 0xb6, 0x98, 0xf2, 0xff, 0xb8, 0xf2, 0x85, 0x6b, 0x95, 0x27, 0xfc, 0x84, - 0xf6, 0xe5, 0x83, 0x63, 0xa5, 0x3a, 0xb2, 0x08, 0xfe, 0x04, 0x71, 0x0d, 0x17, 0x73, 0xa2, 0x4f, - 0x5c, 0xc5, 0x7a, 0xab, 0x6e, 0xed, 0xee, 0x5a, 0xbb, 0x4c, 0xc5, 0xff, 0xff, 0x50, 0x91, 0xf0, - 0x13, 0x2a, 0x56, 0x59, 0xd7, 0xa7, 0x57, 0x92, 0xe0, 0xa1, 0x67, 0x70, 0x4a, 0x54, 0x58, 0x2e, - 0xa9, 0x40, 0xcb, 0x8f, 0xd9, 0x86, 0xf1, 0xe1, 0x98, 0x11, 0x66, 0x76, 0x05, 0xc2, 0xb8, 0xc7, - 0x50, 0x09, 0x66, 0xde, 0x59, 0x3e, 0x7f, 0xc5, 0xf3, 0x26, 0x1b, 0xa2, 0x5b, 0x30, 0xfb, 0x9e, - 0xd8, 0x5d, 0x8b, 0xbf, 0xda, 0x93, 0xa6, 0x30, 0x56, 0x27, 0x56, 0xc0, 0xec, 0x23, 0x58, 0xba, - 0xdc, 0x2b, 0x63, 0xc5, 0x9b, 0x10, 0x5d, 0x3d, 0xb1, 0x24, 0x21, 0x2b, 0x08, 0x77, 0x92, 0x84, - 0x42, 0xb5, 0x14, 0xd7, 0x7c, 0xbb, 0x69, 0x7b, 0x4e, 0xfb, 0x0a, 0xf3, 0x72, 0xfd, 0x6f, 0xc6, - 0x9c, 0xc3, 0x70, 0x4a, 0x4c, 0xb2, 0xbd, 0x6c, 0xf0, 0xef, 0x83, 0xff, 0x72, 0xa6, 0x30, 0xf4, - 0xa7, 0x87, 0x01, 0x96, 0x8e, 0x02, 0x2c, 0xfd, 0x0c, 0xb0, 0x74, 0x12, 0x60, 0x70, 0x1a, 0x60, - 0x70, 0x16, 0x60, 0x70, 0x1e, 0x60, 0xb0, 0x1f, 0x62, 0xf0, 0x25, 0xc4, 0xe0, 0x6b, 0x88, 0xc1, - 0xf7, 0x10, 0x83, 0x1f, 0x21, 0x06, 0x87, 0x21, 0x06, 0x47, 0x21, 0x96, 0x4e, 0x42, 0x0c, 0x4e, - 0x43, 0x2c, 0x9d, 0x85, 0x18, 0x9c, 0x87, 0x58, 0xda, 0xff, 0x85, 0xa5, 0x3f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0xec, 0xe2, 0x9e, 0x1c, 0xb4, 0x07, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/casttype/combos/neither/casttype.pb.go b/vendor/github.com/gogo/protobuf/test/casttype/combos/neither/casttype.pb.go index c76f806ea..c34e7316d 100644 --- a/vendor/github.com/gogo/protobuf/test/casttype/combos/neither/casttype.pb.go +++ b/vendor/github.com/gogo/protobuf/test/casttype/combos/neither/casttype.pb.go @@ -3,22 +3,21 @@ package casttype -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -56,7 +55,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_d04722a9b63e08e7, []int{0} + return fileDescriptor_ab4c77c492a233c4, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Castaway.Unmarshal(m, b) @@ -64,8 +63,8 @@ func (m *Castaway) XXX_Unmarshal(b []byte) error { func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Castaway.Marshal(b, m, deterministic) } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return xxx_messageInfo_Castaway.Size(m) @@ -86,7 +85,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_d04722a9b63e08e7, []int{1} + return fileDescriptor_ab4c77c492a233c4, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Wilson.Unmarshal(m, b) @@ -94,8 +93,8 @@ func (m *Wilson) XXX_Unmarshal(b []byte) error { func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Wilson.Marshal(b, m, deterministic) } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return xxx_messageInfo_Wilson.Size(m) @@ -114,6 +113,57 @@ func init() { proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)(nil), "casttype.Castaway.MyNullableMapEntry") proto.RegisterType((*Wilson)(nil), "casttype.Wilson") } + +func init() { proto.RegisterFile("combos/neither/casttype.proto", fileDescriptor_ab4c77c492a233c4) } + +var fileDescriptor_ab4c77c492a233c4 = []byte{ + // 695 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0x06, 0xa2, 0x13, 0x83, 0x55, 0xa9, 0x67, 0xab, 0x55, + 0x91, 0x07, 0x48, 0xaa, 0x34, 0x2a, 0x55, 0x41, 0x0c, 0xae, 0x8a, 0x54, 0x84, 0x0b, 0x32, 0x54, + 0x15, 0x88, 0xc5, 0x69, 0x4d, 0x6a, 0xe1, 0xd8, 0x51, 0x7c, 0x01, 0x79, 0xab, 0xca, 0x80, 0xc4, + 0x5f, 0xc2, 0xc8, 0x82, 0xc4, 0xc8, 0xd8, 0xb1, 0x23, 0x53, 0x5a, 0x9b, 0xa5, 0x6c, 0x1d, 0xab, + 0x4c, 0xe8, 0xee, 0x1c, 0xdb, 0xfd, 0x01, 0x4a, 0xdd, 0xed, 0xde, 0xdd, 0x7b, 0x9f, 0xf7, 0xbd, + 0x77, 0xef, 0xee, 0xe0, 0xcc, 0xb6, 0xdb, 0x6e, 0xba, 0x5e, 0xcd, 0x31, 0x2d, 0xb2, 0x6b, 0x76, + 0x6b, 0xdb, 0x86, 0x47, 0x88, 0xdf, 0x31, 0xab, 0x9d, 0xae, 0x4b, 0x5c, 0x54, 0x18, 0xda, 0xd3, + 0xf7, 0x5b, 0x16, 0xd9, 0xed, 0x35, 0xab, 0xdb, 0x6e, 0xbb, 0xd6, 0x72, 0x5b, 0x6e, 0x8d, 0x39, + 0x34, 0x7b, 0xef, 0x98, 0xc5, 0x0c, 0x36, 0xe2, 0x81, 0xb3, 0x7f, 0xca, 0xb0, 0xb0, 0x6a, 0x78, + 0xc4, 0xf8, 0x68, 0xf8, 0x68, 0x1e, 0x16, 0xd6, 0x1d, 0xb2, 0x58, 0x7f, 0x41, 0xba, 0x22, 0x90, + 0x81, 0x92, 0x53, 0x8b, 0x83, 0xbe, 0x94, 0xb7, 0xe8, 0x9c, 0x1e, 0x2f, 0xa1, 0x39, 0x98, 0x67, + 0x63, 0x71, 0x8c, 0xf9, 0x94, 0x0f, 0xfa, 0x92, 0x90, 0xf8, 0xf1, 0x35, 0xf4, 0x1a, 0x96, 0x34, + 0x7f, 0xd3, 0x72, 0xc8, 0x52, 0x83, 0xe2, 0x72, 0x32, 0x50, 0xc6, 0xd5, 0x07, 0x83, 0xbe, 0xb4, + 0xf8, 0x4f, 0x81, 0xc4, 0xf4, 0x48, 0xb2, 0xb1, 0x61, 0xf4, 0x2b, 0xbf, 0x63, 0xea, 0x69, 0x16, + 0xda, 0x82, 0x85, 0xa1, 0x29, 0x8e, 0x33, 0xee, 0xc3, 0x48, 0x42, 0x26, 0x76, 0x0c, 0x43, 0x6f, + 0xe1, 0x94, 0xe6, 0x3f, 0xb1, 0x5d, 0x23, 0xaa, 0x41, 0x5e, 0x06, 0xca, 0x98, 0xba, 0x3c, 0xe8, + 0x4b, 0x8d, 0x91, 0xc1, 0x51, 0x38, 0x23, 0x9f, 0xa3, 0xa1, 0x37, 0xb0, 0x18, 0xdb, 0xe2, 0x04, + 0x43, 0x3f, 0x8a, 0x74, 0x67, 0xc3, 0x27, 0xb8, 0x94, 0x72, 0x5e, 0xee, 0x49, 0x19, 0x28, 0x20, + 0x8b, 0xf2, 0xa8, 0x26, 0xe7, 0x68, 0x29, 0xe5, 0x4b, 0x0d, 0xb1, 0xc0, 0xd0, 0x19, 0x95, 0x47, + 0xf8, 0x04, 0x87, 0x9e, 0xc2, 0x49, 0xcd, 0x57, 0x7d, 0x62, 0x7a, 0x62, 0x51, 0x06, 0xca, 0x94, + 0xba, 0x30, 0xe8, 0x4b, 0xf7, 0x46, 0xa4, 0xb2, 0x38, 0x7d, 0x08, 0x40, 0x32, 0x2c, 0x6d, 0xb8, + 0xdd, 0xb6, 0x61, 0x73, 0x1e, 0xa4, 0x3c, 0x3d, 0x3d, 0x85, 0x36, 0xe9, 0x4e, 0xf8, 0x69, 0x7b, + 0x62, 0x49, 0xce, 0xdd, 0xa4, 0x27, 0x13, 0x12, 0xb2, 0x60, 0x5e, 0xf3, 0x35, 0xa3, 0x23, 0x4e, + 0xc9, 0x39, 0xa5, 0x54, 0x9f, 0xa9, 0xc6, 0x11, 0xc3, 0xbb, 0x55, 0x65, 0xeb, 0x6b, 0x0e, 0xe9, + 0xfa, 0x6a, 0x63, 0xd0, 0x97, 0x16, 0x46, 0xce, 0xa8, 0x19, 0x1d, 0x96, 0x8e, 0x67, 0x40, 0xdf, + 0x01, 0xbd, 0x58, 0xab, 0x3d, 0x8f, 0xb8, 0x6d, 0x9a, 0xb1, 0xcc, 0x32, 0xce, 0x5d, 0x99, 0x31, + 0xf6, 0xe2, 0x79, 0x9d, 0xfd, 0xa3, 0x6b, 0xec, 0xf4, 0x25, 0xe9, 0x5a, 0x4e, 0x8b, 0xa6, 0xfe, + 0x72, 0x94, 0xf9, 0xd2, 0xc6, 0x0a, 0xd0, 0x27, 0x00, 0xcb, 0x9a, 0xbf, 0xd1, 0xb3, 0x6d, 0xa3, + 0x69, 0x9b, 0x54, 0xf9, 0x2d, 0xa6, 0x7c, 0xfe, 0x4a, 0xe5, 0x29, 0x3f, 0xae, 0x7d, 0x69, 0xff, + 0x48, 0xaa, 0x8f, 0x2c, 0x82, 0x3d, 0x41, 0x4c, 0xc3, 0xf9, 0x9c, 0xe8, 0x33, 0x53, 0xb1, 0xd6, + 0x6e, 0x9a, 0x3b, 0x3b, 0xe6, 0x0e, 0x55, 0x71, 0xfb, 0x3f, 0x2a, 0x52, 0x7e, 0x5c, 0xc5, 0x0a, + 0xed, 0xfa, 0xec, 0x4a, 0x52, 0x3c, 0xf4, 0x1c, 0x4e, 0xf0, 0x0a, 0x8b, 0x15, 0x19, 0x28, 0xc5, + 0x6b, 0xb6, 0x61, 0x72, 0x38, 0x7a, 0x84, 0x99, 0x5e, 0x86, 0x30, 0xe9, 0x31, 0x54, 0x81, 0xb9, + 0xf7, 0xa6, 0xcf, 0x5e, 0xf1, 0xa2, 0x4e, 0x87, 0xe8, 0x0e, 0xcc, 0x7f, 0x30, 0xec, 0x9e, 0xc9, + 0x5e, 0xed, 0x71, 0x9d, 0x1b, 0x2b, 0x63, 0xcb, 0x60, 0xfa, 0x31, 0xac, 0x5c, 0xec, 0x95, 0x6b, + 0xc5, 0xeb, 0x10, 0x5d, 0x3e, 0xb1, 0x34, 0x21, 0xcf, 0x09, 0x77, 0xd3, 0x84, 0x52, 0xbd, 0x92, + 0xd4, 0x7c, 0xcb, 0xb2, 0x3d, 0xd7, 0xb9, 0xc4, 0xbc, 0x58, 0xff, 0x9b, 0x31, 0x67, 0x31, 0x9c, + 0xe0, 0x93, 0x74, 0x2f, 0xeb, 0xec, 0xfb, 0x60, 0xbf, 0x9c, 0xce, 0x0d, 0xf5, 0xd9, 0x41, 0x80, + 0x85, 0xc3, 0x00, 0x0b, 0xbf, 0x02, 0x2c, 0x1c, 0x07, 0x18, 0x9c, 0x04, 0x18, 0x9c, 0x06, 0x18, + 0x9c, 0x05, 0x18, 0xec, 0x85, 0x18, 0x7c, 0x0d, 0x31, 0xf8, 0x16, 0x62, 0xf0, 0x23, 0xc4, 0xe0, + 0x67, 0x88, 0xc1, 0x41, 0x88, 0x85, 0xc3, 0x10, 0x0b, 0xc7, 0x21, 0x06, 0x27, 0x21, 0x16, 0x4e, + 0x43, 0x0c, 0xce, 0x42, 0x2c, 0xec, 0xfd, 0xc6, 0xc2, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, + 0x22, 0x40, 0x8d, 0xb2, 0x07, 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CasttypeDescription() } @@ -123,279 +173,281 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CasttypeDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4346 bytes of a gzipped FileDescriptorSet + // 4380 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xd7, - 0x79, 0xe6, 0xe2, 0x42, 0x02, 0x3f, 0x40, 0x70, 0x79, 0x48, 0xcb, 0x30, 0x13, 0x81, 0x14, 0xe5, - 0x0b, 0x6d, 0x27, 0x94, 0x47, 0x77, 0x41, 0x89, 0x5d, 0x82, 0x84, 0x18, 0xa8, 0x04, 0xc9, 0x2c, - 0xc9, 0xc8, 0x72, 0xda, 0xd9, 0x59, 0x2e, 0x0e, 0xc1, 0x95, 0x16, 0xbb, 0x9b, 0xdd, 0x85, 0x64, - 0x68, 0xfa, 0xa0, 0xc6, 0x6d, 0x33, 0x69, 0xa7, 0xf7, 0xce, 0x34, 0x71, 0x1d, 0xb7, 0x49, 0xa7, - 0x71, 0x9a, 0xde, 0x72, 0x69, 0xd2, 0x24, 0x7d, 0xc9, 0x4b, 0x5a, 0x3f, 0x75, 0x92, 0xb7, 0x3e, - 0x74, 0x64, 0x8b, 0xf1, 0x4c, 0x9d, 0xd6, 0x6d, 0xdc, 0x56, 0x0f, 0x1e, 0xf9, 0xa5, 0x73, 0x6e, - 0x8b, 0xc5, 0x85, 0x5a, 0x50, 0x19, 0x3b, 0x4f, 0xc4, 0xfe, 0xe7, 0xff, 0xbe, 0xf3, 0x9f, 0xff, - 0xfc, 0xe7, 0xfc, 0xff, 0x39, 0xbb, 0x84, 0x9f, 0x9e, 0x83, 0x99, 0xba, 0x6d, 0xd7, 0x4d, 0x7c, - 0xcc, 0x71, 0x6d, 0xdf, 0xde, 0x6e, 0xee, 0x1c, 0xab, 0x61, 0x4f, 0x77, 0x0d, 0xc7, 0xb7, 0xdd, - 0x79, 0x2a, 0x43, 0x63, 0x4c, 0x63, 0x5e, 0x68, 0xcc, 0x56, 0x61, 0xfc, 0x82, 0x61, 0xe2, 0xa5, - 0x40, 0x71, 0x03, 0xfb, 0xe8, 0x2c, 0x24, 0x76, 0x0c, 0x13, 0xe7, 0xa5, 0x99, 0xf8, 0x5c, 0xe6, - 0xf8, 0xc3, 0xf3, 0x5d, 0xa0, 0xf9, 0x4e, 0xc4, 0x3a, 0x11, 0x2b, 0x14, 0x31, 0xfb, 0x46, 0x02, - 0x26, 0xfa, 0xb4, 0x22, 0x04, 0x09, 0x4b, 0x6b, 0x10, 0x46, 0x69, 0x2e, 0xad, 0xd0, 0xdf, 0x28, - 0x0f, 0x23, 0x8e, 0xa6, 0x5f, 0xd5, 0xea, 0x38, 0x1f, 0xa3, 0x62, 0xf1, 0x88, 0x0a, 0x00, 0x35, - 0xec, 0x60, 0xab, 0x86, 0x2d, 0xbd, 0x95, 0x8f, 0xcf, 0xc4, 0xe7, 0xd2, 0x4a, 0x48, 0x82, 0x9e, - 0x84, 0x71, 0xa7, 0xb9, 0x6d, 0x1a, 0xba, 0x1a, 0x52, 0x83, 0x99, 0xf8, 0x5c, 0x52, 0x91, 0x59, - 0xc3, 0x52, 0x5b, 0xf9, 0x31, 0x18, 0xbb, 0x8e, 0xb5, 0xab, 0x61, 0xd5, 0x0c, 0x55, 0xcd, 0x11, - 0x71, 0x48, 0x71, 0x11, 0xb2, 0x0d, 0xec, 0x79, 0x5a, 0x1d, 0xab, 0x7e, 0xcb, 0xc1, 0xf9, 0x04, - 0x1d, 0xfd, 0x4c, 0xcf, 0xe8, 0xbb, 0x47, 0x9e, 0xe1, 0xa8, 0xcd, 0x96, 0x83, 0xd1, 0x02, 0xa4, - 0xb1, 0xd5, 0x6c, 0x30, 0x86, 0xe4, 0x3e, 0xfe, 0x2b, 0x5b, 0xcd, 0x46, 0x37, 0x4b, 0x8a, 0xc0, - 0x38, 0xc5, 0x88, 0x87, 0xdd, 0x6b, 0x86, 0x8e, 0xf3, 0xc3, 0x94, 0xe0, 0xb1, 0x1e, 0x82, 0x0d, - 0xd6, 0xde, 0xcd, 0x21, 0x70, 0x68, 0x11, 0xd2, 0xf8, 0x79, 0x1f, 0x5b, 0x9e, 0x61, 0x5b, 0xf9, - 0x11, 0x4a, 0xf2, 0x48, 0x9f, 0x59, 0xc4, 0x66, 0xad, 0x9b, 0xa2, 0x8d, 0x43, 0xa7, 0x61, 0xc4, - 0x76, 0x7c, 0xc3, 0xb6, 0xbc, 0x7c, 0x6a, 0x46, 0x9a, 0xcb, 0x1c, 0xff, 0x60, 0xdf, 0x40, 0x58, - 0x63, 0x3a, 0x8a, 0x50, 0x46, 0x15, 0x90, 0x3d, 0xbb, 0xe9, 0xea, 0x58, 0xd5, 0xed, 0x1a, 0x56, - 0x0d, 0x6b, 0xc7, 0xce, 0xa7, 0x29, 0xc1, 0x74, 0xef, 0x40, 0xa8, 0xe2, 0xa2, 0x5d, 0xc3, 0x15, - 0x6b, 0xc7, 0x56, 0x72, 0x5e, 0xc7, 0x33, 0x3a, 0x04, 0xc3, 0x5e, 0xcb, 0xf2, 0xb5, 0xe7, 0xf3, - 0x59, 0x1a, 0x21, 0xfc, 0x69, 0xf6, 0xbb, 0xc3, 0x30, 0x36, 0x48, 0x88, 0x9d, 0x87, 0xe4, 0x0e, - 0x19, 0x65, 0x3e, 0x76, 0x10, 0x1f, 0x30, 0x4c, 0xa7, 0x13, 0x87, 0xef, 0xd3, 0x89, 0x0b, 0x90, - 0xb1, 0xb0, 0xe7, 0xe3, 0x1a, 0x8b, 0x88, 0xf8, 0x80, 0x31, 0x05, 0x0c, 0xd4, 0x1b, 0x52, 0x89, - 0xfb, 0x0a, 0xa9, 0x67, 0x61, 0x2c, 0x30, 0x49, 0x75, 0x35, 0xab, 0x2e, 0x62, 0xf3, 0x58, 0x94, - 0x25, 0xf3, 0x65, 0x81, 0x53, 0x08, 0x4c, 0xc9, 0xe1, 0x8e, 0x67, 0xb4, 0x04, 0x60, 0x5b, 0xd8, - 0xde, 0x51, 0x6b, 0x58, 0x37, 0xf3, 0xa9, 0x7d, 0xbc, 0xb4, 0x46, 0x54, 0x7a, 0xbc, 0x64, 0x33, - 0xa9, 0x6e, 0xa2, 0x73, 0xed, 0x50, 0x1b, 0xd9, 0x27, 0x52, 0xaa, 0x6c, 0x91, 0xf5, 0x44, 0xdb, - 0x16, 0xe4, 0x5c, 0x4c, 0xe2, 0x1e, 0xd7, 0xf8, 0xc8, 0xd2, 0xd4, 0x88, 0xf9, 0xc8, 0x91, 0x29, - 0x1c, 0xc6, 0x06, 0x36, 0xea, 0x86, 0x1f, 0xd1, 0x51, 0x08, 0x04, 0x2a, 0x0d, 0x2b, 0xa0, 0xbb, - 0x50, 0x56, 0x08, 0x57, 0xb5, 0x06, 0x9e, 0xba, 0x01, 0xb9, 0x4e, 0xf7, 0xa0, 0x49, 0x48, 0x7a, - 0xbe, 0xe6, 0xfa, 0x34, 0x0a, 0x93, 0x0a, 0x7b, 0x40, 0x32, 0xc4, 0xb1, 0x55, 0xa3, 0xbb, 0x5c, - 0x52, 0x21, 0x3f, 0xd1, 0x2f, 0xb4, 0x07, 0x1c, 0xa7, 0x03, 0x7e, 0xb4, 0x77, 0x46, 0x3b, 0x98, - 0xbb, 0xc7, 0x3d, 0x75, 0x06, 0x46, 0x3b, 0x06, 0x30, 0x68, 0xd7, 0xb3, 0xbf, 0x02, 0x0f, 0xf4, - 0xa5, 0x46, 0xcf, 0xc2, 0x64, 0xd3, 0x32, 0x2c, 0x1f, 0xbb, 0x8e, 0x8b, 0x49, 0xc4, 0xb2, 0xae, - 0xf2, 0xff, 0x3e, 0xb2, 0x4f, 0xcc, 0x6d, 0x85, 0xb5, 0x19, 0x8b, 0x32, 0xd1, 0xec, 0x15, 0x3e, - 0x91, 0x4e, 0xbd, 0x39, 0x22, 0xdf, 0xbc, 0x79, 0xf3, 0x66, 0x6c, 0xf6, 0x73, 0xc3, 0x30, 0xd9, - 0x6f, 0xcd, 0xf4, 0x5d, 0xbe, 0x87, 0x60, 0xd8, 0x6a, 0x36, 0xb6, 0xb1, 0x4b, 0x9d, 0x94, 0x54, - 0xf8, 0x13, 0x5a, 0x80, 0xa4, 0xa9, 0x6d, 0x63, 0x33, 0x9f, 0x98, 0x91, 0xe6, 0x72, 0xc7, 0x9f, - 0x1c, 0x68, 0x55, 0xce, 0xaf, 0x10, 0x88, 0xc2, 0x90, 0xe8, 0x69, 0x48, 0xf0, 0x2d, 0x9a, 0x30, - 0x3c, 0x31, 0x18, 0x03, 0x59, 0x4b, 0x0a, 0xc5, 0xa1, 0x0f, 0x40, 0x9a, 0xfc, 0x65, 0xb1, 0x31, - 0x4c, 0x6d, 0x4e, 0x11, 0x01, 0x89, 0x0b, 0x34, 0x05, 0x29, 0xba, 0x4c, 0x6a, 0x58, 0xa4, 0xb6, - 0xe0, 0x99, 0x04, 0x56, 0x0d, 0xef, 0x68, 0x4d, 0xd3, 0x57, 0xaf, 0x69, 0x66, 0x13, 0xd3, 0x80, - 0x4f, 0x2b, 0x59, 0x2e, 0xfc, 0x04, 0x91, 0xa1, 0x69, 0xc8, 0xb0, 0x55, 0x65, 0x58, 0x35, 0xfc, - 0x3c, 0xdd, 0x3d, 0x93, 0x0a, 0x5b, 0x68, 0x15, 0x22, 0x21, 0xdd, 0x5f, 0xf1, 0x6c, 0x4b, 0x84, - 0x26, 0xed, 0x82, 0x08, 0x68, 0xf7, 0x67, 0xba, 0x37, 0xee, 0xc3, 0xfd, 0x87, 0xd7, 0x1d, 0x53, - 0xb3, 0xdf, 0x8e, 0x41, 0x82, 0xee, 0x17, 0x63, 0x90, 0xd9, 0xbc, 0xbc, 0x5e, 0x56, 0x97, 0xd6, - 0xb6, 0x4a, 0x2b, 0x65, 0x59, 0x42, 0x39, 0x00, 0x2a, 0xb8, 0xb0, 0xb2, 0xb6, 0xb0, 0x29, 0xc7, - 0x82, 0xe7, 0xca, 0xea, 0xe6, 0xe9, 0x93, 0x72, 0x3c, 0x00, 0x6c, 0x31, 0x41, 0x22, 0xac, 0x70, - 0xe2, 0xb8, 0x9c, 0x44, 0x32, 0x64, 0x19, 0x41, 0xe5, 0xd9, 0xf2, 0xd2, 0xe9, 0x93, 0xf2, 0x70, - 0xa7, 0xe4, 0xc4, 0x71, 0x79, 0x04, 0x8d, 0x42, 0x9a, 0x4a, 0x4a, 0x6b, 0x6b, 0x2b, 0x72, 0x2a, - 0xe0, 0xdc, 0xd8, 0x54, 0x2a, 0xab, 0xcb, 0x72, 0x3a, 0xe0, 0x5c, 0x56, 0xd6, 0xb6, 0xd6, 0x65, - 0x08, 0x18, 0xaa, 0xe5, 0x8d, 0x8d, 0x85, 0xe5, 0xb2, 0x9c, 0x09, 0x34, 0x4a, 0x97, 0x37, 0xcb, - 0x1b, 0x72, 0xb6, 0xc3, 0xac, 0x13, 0xc7, 0xe5, 0xd1, 0xa0, 0x8b, 0xf2, 0xea, 0x56, 0x55, 0xce, - 0xa1, 0x71, 0x18, 0x65, 0x5d, 0x08, 0x23, 0xc6, 0xba, 0x44, 0xa7, 0x4f, 0xca, 0x72, 0xdb, 0x10, - 0xc6, 0x32, 0xde, 0x21, 0x38, 0x7d, 0x52, 0x46, 0xb3, 0x8b, 0x90, 0xa4, 0xd1, 0x85, 0x10, 0xe4, - 0x56, 0x16, 0x4a, 0xe5, 0x15, 0x75, 0x6d, 0x7d, 0xb3, 0xb2, 0xb6, 0xba, 0xb0, 0x22, 0x4b, 0x6d, - 0x99, 0x52, 0xfe, 0xf8, 0x56, 0x45, 0x29, 0x2f, 0xc9, 0xb1, 0xb0, 0x6c, 0xbd, 0xbc, 0xb0, 0x59, - 0x5e, 0x92, 0xe3, 0xb3, 0x3a, 0x4c, 0xf6, 0xdb, 0x27, 0xfb, 0xae, 0x8c, 0xd0, 0x14, 0xc7, 0xf6, - 0x99, 0x62, 0xca, 0xd5, 0x33, 0xc5, 0x3f, 0x8e, 0xc1, 0x44, 0x9f, 0x5c, 0xd1, 0xb7, 0x93, 0x67, - 0x20, 0xc9, 0x42, 0x94, 0x65, 0xcf, 0xc7, 0xfb, 0x26, 0x1d, 0x1a, 0xb0, 0x3d, 0x19, 0x94, 0xe2, - 0xc2, 0x15, 0x44, 0x7c, 0x9f, 0x0a, 0x82, 0x50, 0xf4, 0xec, 0xe9, 0xbf, 0xdc, 0xb3, 0xa7, 0xb3, - 0xb4, 0x77, 0x7a, 0x90, 0xb4, 0x47, 0x65, 0x07, 0xdb, 0xdb, 0x93, 0x7d, 0xf6, 0xf6, 0xf3, 0x30, - 0xde, 0x43, 0x34, 0xf0, 0x1e, 0xfb, 0x82, 0x04, 0xf9, 0xfd, 0x9c, 0x13, 0xb1, 0xd3, 0xc5, 0x3a, - 0x76, 0xba, 0xf3, 0xdd, 0x1e, 0x3c, 0xb2, 0xff, 0x24, 0xf4, 0xcc, 0xf5, 0x2b, 0x12, 0x1c, 0xea, - 0x5f, 0x29, 0xf6, 0xb5, 0xe1, 0x69, 0x18, 0x6e, 0x60, 0x7f, 0xd7, 0x16, 0xd5, 0xd2, 0xa3, 0x7d, - 0x72, 0x30, 0x69, 0xee, 0x9e, 0x6c, 0x8e, 0x0a, 0x27, 0xf1, 0xf8, 0x7e, 0xe5, 0x1e, 0xb3, 0xa6, - 0xc7, 0xd2, 0xcf, 0xc6, 0xe0, 0x81, 0xbe, 0xe4, 0x7d, 0x0d, 0x3d, 0x0c, 0x60, 0x58, 0x4e, 0xd3, - 0x67, 0x15, 0x11, 0xdb, 0x60, 0xd3, 0x54, 0x42, 0x37, 0x2f, 0xb2, 0x79, 0x36, 0xfd, 0xa0, 0x3d, - 0x4e, 0xdb, 0x81, 0x89, 0xa8, 0xc2, 0xd9, 0xb6, 0xa1, 0x09, 0x6a, 0x68, 0x61, 0x9f, 0x91, 0xf6, - 0x04, 0xe6, 0x53, 0x20, 0xeb, 0xa6, 0x81, 0x2d, 0x5f, 0xf5, 0x7c, 0x17, 0x6b, 0x0d, 0xc3, 0xaa, - 0xd3, 0x0c, 0x92, 0x2a, 0x26, 0x77, 0x34, 0xd3, 0xc3, 0xca, 0x18, 0x6b, 0xde, 0x10, 0xad, 0x04, - 0x41, 0x03, 0xc8, 0x0d, 0x21, 0x86, 0x3b, 0x10, 0xac, 0x39, 0x40, 0xcc, 0x7e, 0x33, 0x05, 0x99, - 0x50, 0x5d, 0x8d, 0x8e, 0x40, 0xf6, 0x8a, 0x76, 0x4d, 0x53, 0xc5, 0x59, 0x89, 0x79, 0x22, 0x43, - 0x64, 0xeb, 0xfc, 0xbc, 0xf4, 0x14, 0x4c, 0x52, 0x15, 0xbb, 0xe9, 0x63, 0x57, 0xd5, 0x4d, 0xcd, - 0xf3, 0xa8, 0xd3, 0x52, 0x54, 0x15, 0x91, 0xb6, 0x35, 0xd2, 0xb4, 0x28, 0x5a, 0xd0, 0x29, 0x98, - 0xa0, 0x88, 0x46, 0xd3, 0xf4, 0x0d, 0xc7, 0xc4, 0x2a, 0x39, 0xbd, 0x79, 0x34, 0x93, 0x04, 0x96, - 0x8d, 0x13, 0x8d, 0x2a, 0x57, 0x20, 0x16, 0x79, 0x68, 0x09, 0x0e, 0x53, 0x58, 0x1d, 0x5b, 0xd8, - 0xd5, 0x7c, 0xac, 0xe2, 0x4f, 0x35, 0x35, 0xd3, 0x53, 0x35, 0xab, 0xa6, 0xee, 0x6a, 0xde, 0x6e, - 0x7e, 0x92, 0x10, 0x94, 0x62, 0x79, 0x49, 0x79, 0x88, 0x28, 0x2e, 0x73, 0xbd, 0x32, 0x55, 0x5b, - 0xb0, 0x6a, 0x1f, 0xd3, 0xbc, 0x5d, 0x54, 0x84, 0x43, 0x94, 0xc5, 0xf3, 0x5d, 0xc3, 0xaa, 0xab, - 0xfa, 0x2e, 0xd6, 0xaf, 0xaa, 0x4d, 0x7f, 0xe7, 0x6c, 0xfe, 0x03, 0xe1, 0xfe, 0xa9, 0x85, 0x1b, - 0x54, 0x67, 0x91, 0xa8, 0x6c, 0xf9, 0x3b, 0x67, 0xd1, 0x06, 0x64, 0xc9, 0x64, 0x34, 0x8c, 0x1b, - 0x58, 0xdd, 0xb1, 0x5d, 0x9a, 0x1a, 0x73, 0x7d, 0xb6, 0xa6, 0x90, 0x07, 0xe7, 0xd7, 0x38, 0xa0, - 0x6a, 0xd7, 0x70, 0x31, 0xb9, 0xb1, 0x5e, 0x2e, 0x2f, 0x29, 0x19, 0xc1, 0x72, 0xc1, 0x76, 0x49, - 0x40, 0xd5, 0xed, 0xc0, 0xc1, 0x19, 0x16, 0x50, 0x75, 0x5b, 0xb8, 0xf7, 0x14, 0x4c, 0xe8, 0x3a, - 0x1b, 0xb3, 0xa1, 0xab, 0xfc, 0x8c, 0xe5, 0xe5, 0xe5, 0x0e, 0x67, 0xe9, 0xfa, 0x32, 0x53, 0xe0, - 0x31, 0xee, 0xa1, 0x73, 0xf0, 0x40, 0xdb, 0x59, 0x61, 0xe0, 0x78, 0xcf, 0x28, 0xbb, 0xa1, 0xa7, - 0x60, 0xc2, 0x69, 0xf5, 0x02, 0x51, 0x47, 0x8f, 0x4e, 0xab, 0x1b, 0x76, 0x06, 0x26, 0x9d, 0x5d, - 0xa7, 0x17, 0xf7, 0x44, 0x18, 0x87, 0x9c, 0x5d, 0xa7, 0x1b, 0xf8, 0x08, 0x3d, 0x70, 0xbb, 0x58, - 0xd7, 0x7c, 0x5c, 0xcb, 0x3f, 0x18, 0x56, 0x0f, 0x35, 0xa0, 0x63, 0x20, 0xeb, 0xba, 0x8a, 0x2d, - 0x6d, 0xdb, 0xc4, 0xaa, 0xe6, 0x62, 0x4b, 0xf3, 0xf2, 0xd3, 0x61, 0xe5, 0x9c, 0xae, 0x97, 0x69, - 0xeb, 0x02, 0x6d, 0x44, 0x4f, 0xc0, 0xb8, 0xbd, 0x7d, 0x45, 0x67, 0x21, 0xa9, 0x3a, 0x2e, 0xde, - 0x31, 0x9e, 0xcf, 0x3f, 0x4c, 0xfd, 0x3b, 0x46, 0x1a, 0x68, 0x40, 0xae, 0x53, 0x31, 0x7a, 0x1c, - 0x64, 0xdd, 0xdb, 0xd5, 0x5c, 0x87, 0xee, 0xc9, 0x9e, 0xa3, 0xe9, 0x38, 0xff, 0x08, 0x53, 0x65, - 0xf2, 0x55, 0x21, 0x26, 0x4b, 0xc2, 0xbb, 0x6e, 0xec, 0xf8, 0x82, 0xf1, 0x31, 0xb6, 0x24, 0xa8, - 0x8c, 0xb3, 0xcd, 0x81, 0x4c, 0x5c, 0xd1, 0xd1, 0xf1, 0x1c, 0x55, 0xcb, 0x39, 0xbb, 0x4e, 0xb8, - 0xdf, 0xa3, 0x30, 0x4a, 0x34, 0xdb, 0x9d, 0x3e, 0xce, 0x0a, 0x32, 0x67, 0x37, 0xd4, 0xe3, 0x7b, - 0x56, 0x1b, 0xcf, 0x16, 0x21, 0x1b, 0x8e, 0x4f, 0x94, 0x06, 0x16, 0xa1, 0xb2, 0x44, 0x8a, 0x95, - 0xc5, 0xb5, 0x25, 0x52, 0x66, 0x3c, 0x57, 0x96, 0x63, 0xa4, 0xdc, 0x59, 0xa9, 0x6c, 0x96, 0x55, - 0x65, 0x6b, 0x75, 0xb3, 0x52, 0x2d, 0xcb, 0xf1, 0x70, 0x5d, 0xfd, 0x83, 0x18, 0xe4, 0x3a, 0x8f, - 0x48, 0xe8, 0x23, 0xf0, 0xa0, 0xb8, 0xcf, 0xf0, 0xb0, 0xaf, 0x5e, 0x37, 0x5c, 0xba, 0x64, 0x1a, - 0x1a, 0x4b, 0x5f, 0xc1, 0xa4, 0x4d, 0x72, 0xad, 0x0d, 0xec, 0x5f, 0x32, 0x5c, 0xb2, 0x20, 0x1a, - 0x9a, 0x8f, 0x56, 0x60, 0xda, 0xb2, 0x55, 0xcf, 0xd7, 0xac, 0x9a, 0xe6, 0xd6, 0xd4, 0xf6, 0x4d, - 0x92, 0xaa, 0xe9, 0x3a, 0xf6, 0x3c, 0x9b, 0xa5, 0xaa, 0x80, 0xe5, 0x83, 0x96, 0xbd, 0xc1, 0x95, - 0xdb, 0x7b, 0xf8, 0x02, 0x57, 0xed, 0x0a, 0xb0, 0xf8, 0x7e, 0x01, 0xf6, 0x01, 0x48, 0x37, 0x34, - 0x47, 0xc5, 0x96, 0xef, 0xb6, 0x68, 0x61, 0x9c, 0x52, 0x52, 0x0d, 0xcd, 0x29, 0x93, 0xe7, 0xf7, - 0xe7, 0x7c, 0xf2, 0x6f, 0x71, 0xc8, 0x86, 0x8b, 0x63, 0x72, 0xd6, 0xd0, 0x69, 0x1e, 0x91, 0xe8, - 0x4e, 0x73, 0xf4, 0x9e, 0xa5, 0xf4, 0xfc, 0x22, 0x49, 0x30, 0xc5, 0x61, 0x56, 0xb2, 0x2a, 0x0c, - 0x49, 0x92, 0x3b, 0xd9, 0x5b, 0x30, 0x2b, 0x11, 0x52, 0x0a, 0x7f, 0x42, 0xcb, 0x30, 0x7c, 0xc5, - 0xa3, 0xdc, 0xc3, 0x94, 0xfb, 0xe1, 0x7b, 0x73, 0x5f, 0xdc, 0xa0, 0xe4, 0xe9, 0x8b, 0x1b, 0xea, - 0xea, 0x9a, 0x52, 0x5d, 0x58, 0x51, 0x38, 0x1c, 0x3d, 0x04, 0x09, 0x53, 0xbb, 0xd1, 0xea, 0x4c, - 0x45, 0x54, 0x34, 0xa8, 0xe3, 0x1f, 0x82, 0xc4, 0x75, 0xac, 0x5d, 0xed, 0x4c, 0x00, 0x54, 0xf4, - 0x1e, 0x86, 0xfe, 0x31, 0x48, 0x52, 0x7f, 0x21, 0x00, 0xee, 0x31, 0x79, 0x08, 0xa5, 0x20, 0xb1, - 0xb8, 0xa6, 0x90, 0xf0, 0x97, 0x21, 0xcb, 0xa4, 0xea, 0x7a, 0xa5, 0xbc, 0x58, 0x96, 0x63, 0xb3, - 0xa7, 0x60, 0x98, 0x39, 0x81, 0x2c, 0x8d, 0xc0, 0x0d, 0xf2, 0x10, 0x7f, 0xe4, 0x1c, 0x92, 0x68, - 0xdd, 0xaa, 0x96, 0xca, 0x8a, 0x1c, 0x0b, 0x4f, 0xaf, 0x07, 0xd9, 0x70, 0x5d, 0xfc, 0xfe, 0xc4, - 0xd4, 0xf7, 0x24, 0xc8, 0x84, 0xea, 0x5c, 0x52, 0xa0, 0x68, 0xa6, 0x69, 0x5f, 0x57, 0x35, 0xd3, - 0xd0, 0x3c, 0x1e, 0x14, 0x40, 0x45, 0x0b, 0x44, 0x32, 0xe8, 0xa4, 0xbd, 0x2f, 0xc6, 0xbf, 0x2c, - 0x81, 0xdc, 0x5d, 0x62, 0x76, 0x19, 0x28, 0xfd, 0x5c, 0x0d, 0x7c, 0x49, 0x82, 0x5c, 0x67, 0x5d, - 0xd9, 0x65, 0xde, 0x91, 0x9f, 0xab, 0x79, 0xaf, 0xc7, 0x60, 0xb4, 0xa3, 0x9a, 0x1c, 0xd4, 0xba, - 0x4f, 0xc1, 0xb8, 0x51, 0xc3, 0x0d, 0xc7, 0xf6, 0xb1, 0xa5, 0xb7, 0x54, 0x13, 0x5f, 0xc3, 0x66, - 0x7e, 0x96, 0x6e, 0x14, 0xc7, 0xee, 0x5d, 0xaf, 0xce, 0x57, 0xda, 0xb8, 0x15, 0x02, 0x2b, 0x4e, - 0x54, 0x96, 0xca, 0xd5, 0xf5, 0xb5, 0xcd, 0xf2, 0xea, 0xe2, 0x65, 0x75, 0x6b, 0xf5, 0x17, 0x57, - 0xd7, 0x2e, 0xad, 0x2a, 0xb2, 0xd1, 0xa5, 0xf6, 0x1e, 0x2e, 0xf5, 0x75, 0x90, 0xbb, 0x8d, 0x42, - 0x0f, 0x42, 0x3f, 0xb3, 0xe4, 0x21, 0x34, 0x01, 0x63, 0xab, 0x6b, 0xea, 0x46, 0x65, 0xa9, 0xac, - 0x96, 0x2f, 0x5c, 0x28, 0x2f, 0x6e, 0x6e, 0xb0, 0x1b, 0x88, 0x40, 0x7b, 0xb3, 0x73, 0x51, 0xbf, - 0x18, 0x87, 0x89, 0x3e, 0x96, 0xa0, 0x05, 0x7e, 0x76, 0x60, 0xc7, 0x99, 0x0f, 0x0f, 0x62, 0xfd, - 0x3c, 0x49, 0xf9, 0xeb, 0x9a, 0xeb, 0xf3, 0xa3, 0xc6, 0xe3, 0x40, 0xbc, 0x64, 0xf9, 0xc6, 0x8e, - 0x81, 0x5d, 0x7e, 0x61, 0xc3, 0x0e, 0x14, 0x63, 0x6d, 0x39, 0xbb, 0xb3, 0xf9, 0x10, 0x20, 0xc7, - 0xf6, 0x0c, 0xdf, 0xb8, 0x86, 0x55, 0xc3, 0x12, 0xb7, 0x3b, 0xe4, 0x80, 0x91, 0x50, 0x64, 0xd1, - 0x52, 0xb1, 0xfc, 0x40, 0xdb, 0xc2, 0x75, 0xad, 0x4b, 0x9b, 0x6c, 0xe0, 0x71, 0x45, 0x16, 0x2d, - 0x81, 0xf6, 0x11, 0xc8, 0xd6, 0xec, 0x26, 0xa9, 0xba, 0x98, 0x1e, 0xc9, 0x17, 0x92, 0x92, 0x61, - 0xb2, 0x40, 0x85, 0xd7, 0xd3, 0xed, 0x6b, 0xa5, 0xac, 0x92, 0x61, 0x32, 0xa6, 0xf2, 0x18, 0x8c, - 0x69, 0xf5, 0xba, 0x4b, 0xc8, 0x05, 0x11, 0x3b, 0x21, 0xe4, 0x02, 0x31, 0x55, 0x9c, 0xba, 0x08, - 0x29, 0xe1, 0x07, 0x92, 0x92, 0x89, 0x27, 0x54, 0x87, 0x1d, 0x7b, 0x63, 0x73, 0x69, 0x25, 0x65, - 0x89, 0xc6, 0x23, 0x90, 0x35, 0x3c, 0xb5, 0x7d, 0x4b, 0x1e, 0x9b, 0x89, 0xcd, 0xa5, 0x94, 0x8c, - 0xe1, 0x05, 0x37, 0x8c, 0xb3, 0xaf, 0xc4, 0x20, 0xd7, 0x79, 0xcb, 0x8f, 0x96, 0x20, 0x65, 0xda, - 0xba, 0x46, 0x43, 0x8b, 0xbd, 0x62, 0x9a, 0x8b, 0x78, 0x31, 0x30, 0xbf, 0xc2, 0xf5, 0x95, 0x00, - 0x39, 0xf5, 0x2f, 0x12, 0xa4, 0x84, 0x18, 0x1d, 0x82, 0x84, 0xa3, 0xf9, 0xbb, 0x94, 0x2e, 0x59, - 0x8a, 0xc9, 0x92, 0x42, 0x9f, 0x89, 0xdc, 0x73, 0x34, 0x8b, 0x86, 0x00, 0x97, 0x93, 0x67, 0x32, - 0xaf, 0x26, 0xd6, 0x6a, 0xf4, 0xf8, 0x61, 0x37, 0x1a, 0xd8, 0xf2, 0x3d, 0x31, 0xaf, 0x5c, 0xbe, - 0xc8, 0xc5, 0xe8, 0x49, 0x18, 0xf7, 0x5d, 0xcd, 0x30, 0x3b, 0x74, 0x13, 0x54, 0x57, 0x16, 0x0d, - 0x81, 0x72, 0x11, 0x1e, 0x12, 0xbc, 0x35, 0xec, 0x6b, 0xfa, 0x2e, 0xae, 0xb5, 0x41, 0xc3, 0xf4, - 0x9a, 0xe1, 0x41, 0xae, 0xb0, 0xc4, 0xdb, 0x05, 0x76, 0xf6, 0x47, 0x12, 0x8c, 0x8b, 0x03, 0x53, - 0x2d, 0x70, 0x56, 0x15, 0x40, 0xb3, 0x2c, 0xdb, 0x0f, 0xbb, 0xab, 0x37, 0x94, 0x7b, 0x70, 0xf3, - 0x0b, 0x01, 0x48, 0x09, 0x11, 0x4c, 0x35, 0x00, 0xda, 0x2d, 0xfb, 0xba, 0x6d, 0x1a, 0x32, 0xfc, - 0x15, 0x0e, 0x7d, 0x0f, 0xc8, 0x8e, 0xd8, 0xc0, 0x44, 0xe4, 0x64, 0x85, 0x26, 0x21, 0xb9, 0x8d, - 0xeb, 0x86, 0xc5, 0x2f, 0x66, 0xd9, 0x83, 0xb8, 0x08, 0x49, 0x04, 0x17, 0x21, 0xa5, 0x4f, 0xc2, - 0x84, 0x6e, 0x37, 0xba, 0xcd, 0x2d, 0xc9, 0x5d, 0xc7, 0x7c, 0xef, 0x63, 0xd2, 0x73, 0xd0, 0x2e, - 0x31, 0xdf, 0x91, 0xa4, 0x2f, 0xc5, 0xe2, 0xcb, 0xeb, 0xa5, 0xaf, 0xc6, 0xa6, 0x96, 0x19, 0x74, - 0x5d, 0x8c, 0x54, 0xc1, 0x3b, 0x26, 0xd6, 0x89, 0xf5, 0xf0, 0xe5, 0x27, 0xe1, 0xc3, 0x75, 0xc3, - 0xdf, 0x6d, 0x6e, 0xcf, 0xeb, 0x76, 0xe3, 0x58, 0xdd, 0xae, 0xdb, 0xed, 0x57, 0x9f, 0xe4, 0x89, - 0x3e, 0xd0, 0x5f, 0xfc, 0xf5, 0x67, 0x3a, 0x90, 0x4e, 0x45, 0xbe, 0x2b, 0x2d, 0xae, 0xc2, 0x04, - 0x57, 0x56, 0xe9, 0xfb, 0x17, 0x76, 0x8a, 0x40, 0xf7, 0xbc, 0xc3, 0xca, 0x7f, 0xfd, 0x0d, 0x9a, - 0xae, 0x95, 0x71, 0x0e, 0x25, 0x6d, 0xec, 0xa0, 0x51, 0x54, 0xe0, 0x81, 0x0e, 0x3e, 0xb6, 0x34, - 0xb1, 0x1b, 0xc1, 0xf8, 0x03, 0xce, 0x38, 0x11, 0x62, 0xdc, 0xe0, 0xd0, 0xe2, 0x22, 0x8c, 0x1e, - 0x84, 0xeb, 0x9f, 0x38, 0x57, 0x16, 0x87, 0x49, 0x96, 0x61, 0x8c, 0x92, 0xe8, 0x4d, 0xcf, 0xb7, - 0x1b, 0x74, 0xdf, 0xbb, 0x37, 0xcd, 0x3f, 0xbf, 0xc1, 0xd6, 0x4a, 0x8e, 0xc0, 0x16, 0x03, 0x54, - 0xb1, 0x08, 0xf4, 0x95, 0x53, 0x0d, 0xeb, 0x66, 0x04, 0xc3, 0xab, 0xdc, 0x90, 0x40, 0xbf, 0xf8, - 0x09, 0x98, 0x24, 0xbf, 0xe9, 0xb6, 0x14, 0xb6, 0x24, 0xfa, 0xc2, 0x2b, 0xff, 0xa3, 0x17, 0xd8, - 0x72, 0x9c, 0x08, 0x08, 0x42, 0x36, 0x85, 0x66, 0xb1, 0x8e, 0x7d, 0x1f, 0xbb, 0x9e, 0xaa, 0x99, - 0xfd, 0xcc, 0x0b, 0xdd, 0x18, 0xe4, 0x3f, 0xff, 0x56, 0xe7, 0x2c, 0x2e, 0x33, 0xe4, 0x82, 0x69, - 0x16, 0xb7, 0xe0, 0xc1, 0x3e, 0x51, 0x31, 0x00, 0xe7, 0x8b, 0x9c, 0x73, 0xb2, 0x27, 0x32, 0x08, - 0xed, 0x3a, 0x08, 0x79, 0x30, 0x97, 0x03, 0x70, 0xfe, 0x09, 0xe7, 0x44, 0x1c, 0x2b, 0xa6, 0x94, - 0x30, 0x5e, 0x84, 0xf1, 0x6b, 0xd8, 0xdd, 0xb6, 0x3d, 0x7e, 0x4b, 0x33, 0x00, 0xdd, 0x4b, 0x9c, - 0x6e, 0x8c, 0x03, 0xe9, 0xb5, 0x0d, 0xe1, 0x3a, 0x07, 0xa9, 0x1d, 0x4d, 0xc7, 0x03, 0x50, 0x7c, - 0x81, 0x53, 0x8c, 0x10, 0x7d, 0x02, 0x5d, 0x80, 0x6c, 0xdd, 0xe6, 0x99, 0x29, 0x1a, 0xfe, 0x32, - 0x87, 0x67, 0x04, 0x86, 0x53, 0x38, 0xb6, 0xd3, 0x34, 0x49, 0xda, 0x8a, 0xa6, 0xf8, 0x53, 0x41, - 0x21, 0x30, 0x9c, 0xe2, 0x00, 0x6e, 0xfd, 0x33, 0x41, 0xe1, 0x85, 0xfc, 0xf9, 0x0c, 0x64, 0x6c, - 0xcb, 0x6c, 0xd9, 0xd6, 0x20, 0x46, 0x7c, 0x91, 0x33, 0x00, 0x87, 0x10, 0x82, 0xf3, 0x90, 0x1e, - 0x74, 0x22, 0xfe, 0xe2, 0x2d, 0xb1, 0x3c, 0xc4, 0x0c, 0x2c, 0xc3, 0x98, 0xd8, 0xa0, 0x0c, 0xdb, - 0x1a, 0x80, 0xe2, 0xcb, 0x9c, 0x22, 0x17, 0x82, 0xf1, 0x61, 0xf8, 0xd8, 0xf3, 0xeb, 0x78, 0x10, - 0x92, 0x57, 0xc4, 0x30, 0x38, 0x84, 0xbb, 0x72, 0x1b, 0x5b, 0xfa, 0xee, 0x60, 0x0c, 0x5f, 0x11, - 0xae, 0x14, 0x18, 0x42, 0xb1, 0x08, 0xa3, 0x0d, 0xcd, 0xf5, 0x76, 0x35, 0x73, 0xa0, 0xe9, 0xf8, - 0x4b, 0xce, 0x91, 0x0d, 0x40, 0xdc, 0x23, 0x4d, 0xeb, 0x20, 0x34, 0x5f, 0x15, 0x1e, 0x09, 0xc1, - 0xf8, 0xd2, 0xf3, 0x7c, 0x7a, 0xa5, 0x75, 0x10, 0xb6, 0xbf, 0x12, 0x4b, 0x8f, 0x61, 0xab, 0x61, - 0xc6, 0xf3, 0x90, 0xf6, 0x8c, 0x1b, 0x03, 0xd1, 0xfc, 0xb5, 0x98, 0x69, 0x0a, 0x20, 0xe0, 0xcb, - 0xf0, 0x50, 0xdf, 0x34, 0x31, 0x00, 0xd9, 0xdf, 0x70, 0xb2, 0x43, 0x7d, 0x52, 0x05, 0xdf, 0x12, - 0x0e, 0x4a, 0xf9, 0xb7, 0x62, 0x4b, 0xc0, 0x5d, 0x5c, 0xeb, 0xe4, 0xac, 0xe0, 0x69, 0x3b, 0x07, - 0xf3, 0xda, 0xdf, 0x09, 0xaf, 0x31, 0x6c, 0x87, 0xd7, 0x36, 0xe1, 0x10, 0x67, 0x3c, 0xd8, 0xbc, - 0x7e, 0x4d, 0x6c, 0xac, 0x0c, 0xbd, 0xd5, 0x39, 0xbb, 0x9f, 0x84, 0xa9, 0xc0, 0x9d, 0xa2, 0x28, - 0xf5, 0xd4, 0x86, 0xe6, 0x0c, 0xc0, 0xfc, 0x75, 0xce, 0x2c, 0x76, 0xfc, 0xa0, 0xaa, 0xf5, 0xaa, - 0x9a, 0x43, 0xc8, 0x9f, 0x85, 0xbc, 0x20, 0x6f, 0x5a, 0x2e, 0xd6, 0xed, 0xba, 0x65, 0xdc, 0xc0, - 0xb5, 0x01, 0xa8, 0xbf, 0xd1, 0x35, 0x55, 0x5b, 0x21, 0x38, 0x61, 0xae, 0x80, 0x1c, 0xd4, 0x2a, - 0xaa, 0xd1, 0x70, 0x6c, 0xd7, 0x8f, 0x60, 0xfc, 0xa6, 0x98, 0xa9, 0x00, 0x57, 0xa1, 0xb0, 0x62, - 0x19, 0x72, 0xf4, 0x71, 0xd0, 0x90, 0xfc, 0x7b, 0x4e, 0x34, 0xda, 0x46, 0xf1, 0x8d, 0x43, 0xb7, - 0x1b, 0x8e, 0xe6, 0x0e, 0xb2, 0xff, 0x7d, 0x4b, 0x6c, 0x1c, 0x1c, 0xc2, 0x37, 0x0e, 0xbf, 0xe5, - 0x60, 0x92, 0xed, 0x07, 0x60, 0xf8, 0xb6, 0xd8, 0x38, 0x04, 0x86, 0x53, 0x88, 0x82, 0x61, 0x00, - 0x8a, 0x7f, 0x10, 0x14, 0x02, 0x43, 0x28, 0x3e, 0xde, 0x4e, 0xb4, 0x2e, 0xae, 0x1b, 0x9e, 0xef, - 0xb2, 0x52, 0xf8, 0xde, 0x54, 0xdf, 0x79, 0xab, 0xb3, 0x08, 0x53, 0x42, 0x50, 0xb2, 0x13, 0xf1, - 0x2b, 0x54, 0x7a, 0x52, 0x8a, 0x36, 0xec, 0xbb, 0x62, 0x27, 0x0a, 0xc1, 0x88, 0x6d, 0xa1, 0x0a, - 0x91, 0xb8, 0x5d, 0x27, 0xe7, 0x83, 0x01, 0xe8, 0xbe, 0xd7, 0x65, 0xdc, 0x86, 0xc0, 0x12, 0xce, - 0x50, 0xfd, 0xd3, 0xb4, 0xae, 0xe2, 0xd6, 0x40, 0xd1, 0xf9, 0x8f, 0x5d, 0xf5, 0xcf, 0x16, 0x43, - 0xb2, 0x3d, 0x64, 0xac, 0xab, 0x9e, 0x42, 0x51, 0x1f, 0xeb, 0xe4, 0x7f, 0xf5, 0x0e, 0x1f, 0x6f, - 0x67, 0x39, 0x55, 0x5c, 0x21, 0x41, 0xde, 0x59, 0xf4, 0x44, 0x93, 0xbd, 0x70, 0x27, 0x88, 0xf3, - 0x8e, 0x9a, 0xa7, 0x78, 0x01, 0x46, 0x3b, 0x0a, 0x9e, 0x68, 0xaa, 0x5f, 0xe3, 0x54, 0xd9, 0x70, - 0xbd, 0x53, 0x3c, 0x05, 0x09, 0x52, 0xbc, 0x44, 0xc3, 0x7f, 0x9d, 0xc3, 0xa9, 0x7a, 0xf1, 0xa3, - 0x90, 0x12, 0x45, 0x4b, 0x34, 0xf4, 0x37, 0x38, 0x34, 0x80, 0x10, 0xb8, 0x28, 0x58, 0xa2, 0xe1, - 0x9f, 0x11, 0x70, 0x01, 0x21, 0xf0, 0xc1, 0x5d, 0xf8, 0xfd, 0xdf, 0x4a, 0xf0, 0xa4, 0x23, 0x7c, - 0x77, 0x1e, 0x46, 0x78, 0xa5, 0x12, 0x8d, 0xfe, 0x2c, 0xef, 0x5c, 0x20, 0x8a, 0x67, 0x20, 0x39, - 0xa0, 0xc3, 0x7f, 0x9b, 0x43, 0x99, 0x7e, 0x71, 0x11, 0x32, 0xa1, 0xea, 0x24, 0x1a, 0xfe, 0x3b, - 0x1c, 0x1e, 0x46, 0x11, 0xd3, 0x79, 0x75, 0x12, 0x4d, 0xf0, 0xbb, 0xc2, 0x74, 0x8e, 0x20, 0x6e, - 0x13, 0x85, 0x49, 0x34, 0xfa, 0xf7, 0x84, 0xd7, 0x05, 0xa4, 0xf8, 0x0c, 0xa4, 0x83, 0x64, 0x13, - 0x8d, 0xff, 0x7d, 0x8e, 0x6f, 0x63, 0x88, 0x07, 0x42, 0xc9, 0x2e, 0x9a, 0xe2, 0x0f, 0x84, 0x07, - 0x42, 0x28, 0xb2, 0x8c, 0xba, 0x0b, 0x98, 0x68, 0xa6, 0x3f, 0x14, 0xcb, 0xa8, 0xab, 0x7e, 0x21, - 0xb3, 0x49, 0xf7, 0xfc, 0x68, 0x8a, 0x3f, 0x12, 0xb3, 0x49, 0xf5, 0x89, 0x19, 0xdd, 0x15, 0x41, - 0x34, 0xc7, 0x1f, 0x0b, 0x33, 0xba, 0x0a, 0x82, 0xe2, 0x3a, 0xa0, 0xde, 0x6a, 0x20, 0x9a, 0xef, - 0x73, 0x9c, 0x6f, 0xbc, 0xa7, 0x18, 0x28, 0x5e, 0x82, 0x43, 0xfd, 0x2b, 0x81, 0x68, 0xd6, 0xcf, - 0xdf, 0xe9, 0x3a, 0xbb, 0x85, 0x0b, 0x81, 0xe2, 0x66, 0x3b, 0xa5, 0x84, 0xab, 0x80, 0x68, 0xda, - 0x17, 0xef, 0x74, 0x6e, 0xdc, 0xe1, 0x22, 0xa0, 0xb8, 0x00, 0xd0, 0x4e, 0xc0, 0xd1, 0x5c, 0x2f, - 0x71, 0xae, 0x10, 0x88, 0x2c, 0x0d, 0x9e, 0x7f, 0xa3, 0xf1, 0x5f, 0x10, 0x4b, 0x83, 0x23, 0xc8, - 0xd2, 0x10, 0xa9, 0x37, 0x1a, 0xfd, 0xb2, 0x58, 0x1a, 0x02, 0x42, 0x22, 0x3b, 0x94, 0xdd, 0xa2, - 0x19, 0xbe, 0x28, 0x22, 0x3b, 0x84, 0x2a, 0xae, 0xc2, 0x78, 0x4f, 0x42, 0x8c, 0xa6, 0xfa, 0x12, - 0xa7, 0x92, 0xbb, 0xf3, 0x61, 0x38, 0x79, 0xf1, 0x64, 0x18, 0xcd, 0xf6, 0xe7, 0x5d, 0xc9, 0x8b, - 0xe7, 0xc2, 0xe2, 0x79, 0x48, 0x59, 0x4d, 0xd3, 0x24, 0x8b, 0x07, 0xdd, 0xfb, 0x03, 0xbb, 0xfc, - 0x4f, 0xde, 0xe5, 0xde, 0x11, 0x80, 0xe2, 0x29, 0x48, 0xe2, 0xc6, 0x36, 0xae, 0x45, 0x21, 0xff, - 0xe3, 0x5d, 0xb1, 0x61, 0x12, 0xed, 0xe2, 0x33, 0x00, 0xec, 0x6a, 0x84, 0xbe, 0xf6, 0x8b, 0xc0, - 0xfe, 0xe7, 0xbb, 0xfc, 0xd3, 0x97, 0x36, 0xa4, 0x4d, 0xc0, 0x3e, 0xa4, 0xb9, 0x37, 0xc1, 0x5b, - 0x9d, 0x04, 0x74, 0x46, 0xce, 0xc1, 0xc8, 0x15, 0xcf, 0xb6, 0x7c, 0xad, 0x1e, 0x85, 0xfe, 0x2f, - 0x8e, 0x16, 0xfa, 0xc4, 0x61, 0x0d, 0xdb, 0xc5, 0xbe, 0x56, 0xf7, 0xa2, 0xb0, 0xff, 0xcd, 0xb1, - 0x01, 0x80, 0x80, 0x75, 0xcd, 0xf3, 0x07, 0x19, 0xf7, 0x4f, 0x05, 0x58, 0x00, 0x88, 0xd1, 0xe4, - 0xf7, 0x55, 0xdc, 0x8a, 0xc2, 0xbe, 0x2d, 0x8c, 0xe6, 0xfa, 0xc5, 0x8f, 0x42, 0x9a, 0xfc, 0x64, - 0xdf, 0xb3, 0x45, 0x80, 0xff, 0x87, 0x83, 0xdb, 0x08, 0xd2, 0xb3, 0xe7, 0xd7, 0x7c, 0x23, 0xda, - 0xd9, 0xff, 0xcb, 0x67, 0x5a, 0xe8, 0x17, 0x17, 0x20, 0xe3, 0xf9, 0xb5, 0x5a, 0x93, 0xd7, 0xa7, - 0x11, 0xf0, 0xff, 0x7b, 0x37, 0xb8, 0xb2, 0x08, 0x30, 0x64, 0xb6, 0xaf, 0x5f, 0xf5, 0x1d, 0x9b, - 0xbe, 0xe6, 0x88, 0x62, 0xb8, 0xc3, 0x19, 0x42, 0x90, 0x52, 0xb9, 0xff, 0xf5, 0x2d, 0x2c, 0xdb, - 0xcb, 0x36, 0xbb, 0xb8, 0x7d, 0x6e, 0x36, 0xfa, 0x06, 0x16, 0xbe, 0x31, 0x06, 0x87, 0x75, 0xbb, - 0xb1, 0x6d, 0x7b, 0xc7, 0x2c, 0x6c, 0xf8, 0xbb, 0xd8, 0x3d, 0x26, 0xe6, 0x86, 0x5f, 0xcc, 0x06, - 0x73, 0x35, 0x75, 0xb0, 0x1b, 0xdd, 0xd9, 0x9f, 0x8c, 0x42, 0x6a, 0x51, 0xf3, 0x7c, 0xed, 0xba, - 0xd6, 0x42, 0x8f, 0x40, 0xaa, 0x62, 0xf9, 0x27, 0x8e, 0xaf, 0xfb, 0x2e, 0x7d, 0x29, 0x19, 0x2f, - 0xa5, 0xef, 0xde, 0x9a, 0x4e, 0x1a, 0x44, 0xa6, 0x04, 0x4d, 0xe8, 0x28, 0x24, 0xe9, 0x6f, 0x7a, - 0xaf, 0x1d, 0x2f, 0x8d, 0xbe, 0x7a, 0x6b, 0x7a, 0xa8, 0xad, 0xc7, 0xda, 0xd0, 0x65, 0xc8, 0x54, - 0x5b, 0x5b, 0x86, 0xe5, 0x9f, 0x3e, 0x49, 0xe8, 0x88, 0x6f, 0x12, 0xa5, 0x33, 0x77, 0x6f, 0x4d, - 0x9f, 0xd8, 0xd7, 0x40, 0x52, 0x54, 0xb4, 0x07, 0x26, 0xd0, 0xf4, 0xa3, 0xe1, 0x30, 0x17, 0xba, - 0x04, 0x29, 0xf1, 0xc8, 0xde, 0x0f, 0x95, 0xce, 0x73, 0x13, 0xee, 0x8b, 0x3b, 0x20, 0x43, 0xbf, - 0x04, 0xd9, 0x6a, 0xeb, 0x82, 0x69, 0x6b, 0xdc, 0x07, 0xc9, 0x19, 0x69, 0x2e, 0x56, 0x3a, 0x7b, - 0xf7, 0xd6, 0xf4, 0xc9, 0x81, 0x89, 0x39, 0x9c, 0x32, 0x77, 0xb0, 0xa1, 0xe7, 0x20, 0x1d, 0x3c, - 0xd3, 0x37, 0x50, 0xb1, 0xd2, 0x47, 0xb8, 0xdd, 0xf7, 0x47, 0xdf, 0xa6, 0x0b, 0x59, 0xce, 0xdc, - 0x3d, 0x32, 0x23, 0xcd, 0x49, 0xf7, 0x63, 0x39, 0xf7, 0x49, 0x07, 0x5b, 0xc8, 0xf2, 0xd3, 0x27, - 0xe9, 0x2b, 0x2f, 0xe9, 0x7e, 0x2d, 0xe7, 0xf4, 0x6d, 0x3a, 0x74, 0x11, 0x46, 0xaa, 0xad, 0x52, - 0xcb, 0xc7, 0x1e, 0xfd, 0x16, 0x2d, 0x5b, 0x7a, 0xea, 0xee, 0xad, 0xe9, 0x0f, 0x0d, 0xc8, 0x4a, - 0x71, 0x8a, 0x20, 0x40, 0x33, 0x90, 0x59, 0xb5, 0xdd, 0x86, 0x66, 0x32, 0x3e, 0x60, 0xaf, 0xf0, - 0x42, 0x22, 0xb4, 0x45, 0x46, 0xc2, 0x66, 0xdb, 0xa3, 0xff, 0xc6, 0xf4, 0x33, 0xc4, 0x64, 0x9b, - 0x09, 0x19, 0x90, 0xac, 0xb6, 0xaa, 0x9a, 0x93, 0xcf, 0xd2, 0xf7, 0x4b, 0x87, 0xe7, 0x03, 0x84, - 0x58, 0x5b, 0xf3, 0xb4, 0x9d, 0x7e, 0x88, 0x53, 0x3a, 0x79, 0xf7, 0xd6, 0xf4, 0x53, 0x03, 0xf7, - 0x58, 0xd5, 0x1c, 0xda, 0x1d, 0xeb, 0x01, 0x7d, 0x4b, 0x22, 0x0b, 0x8b, 0x5d, 0xd0, 0x93, 0x1e, - 0x47, 0x69, 0x8f, 0x47, 0xfb, 0xf6, 0x18, 0x68, 0xb1, 0x7e, 0xad, 0x4f, 0xbf, 0x76, 0x80, 0x91, - 0xb2, 0x73, 0x21, 0xe9, 0xfa, 0x37, 0x5f, 0xbb, 0xef, 0x45, 0x1b, 0x58, 0x80, 0x5e, 0x90, 0x60, - 0xb4, 0xda, 0x5a, 0xe5, 0x09, 0x9c, 0x58, 0x9e, 0xe3, 0xff, 0xec, 0xd2, 0xcf, 0xf2, 0x90, 0x1e, - 0xb3, 0xfd, 0xf4, 0xa7, 0x5f, 0x9b, 0x3e, 0x3e, 0xb0, 0x11, 0x74, 0x0b, 0xa2, 0x36, 0x74, 0xf6, - 0x89, 0x3e, 0x43, 0xad, 0x28, 0x93, 0x62, 0xa0, 0x86, 0x6b, 0xc4, 0x8a, 0xb1, 0x7b, 0x58, 0x11, - 0xd2, 0x63, 0x56, 0x14, 0x49, 0xd4, 0xdf, 0xbf, 0x25, 0x21, 0x3e, 0xb4, 0x06, 0xc3, 0xcc, 0xc3, - 0xf4, 0x3b, 0xc8, 0xf4, 0x01, 0xc3, 0xb0, 0x3d, 0x39, 0x0a, 0xa7, 0x99, 0x3a, 0x0b, 0xd0, 0x8e, - 0x31, 0x24, 0x43, 0xfc, 0x2a, 0x6e, 0xf1, 0x8f, 0x5d, 0xc9, 0x4f, 0x34, 0xd9, 0xfe, 0x1a, 0x5d, - 0x9a, 0x4b, 0xf0, 0x4f, 0xcc, 0x8b, 0xb1, 0xb3, 0xd2, 0xd4, 0xd3, 0x20, 0x77, 0xc7, 0xca, 0x81, - 0xf0, 0x0a, 0xa0, 0xde, 0x19, 0x0b, 0x33, 0x24, 0x19, 0xc3, 0xa3, 0x61, 0x86, 0xcc, 0x71, 0xb9, - 0xed, 0xf3, 0x4b, 0x86, 0xe9, 0xd9, 0x56, 0x0f, 0x67, 0xb7, 0xff, 0x7f, 0x36, 0xce, 0xd9, 0x02, - 0x0c, 0x33, 0x21, 0x19, 0x4b, 0x85, 0xa6, 0x0f, 0x9a, 0xe5, 0x14, 0xf6, 0x50, 0x5a, 0x79, 0xf5, - 0x76, 0x61, 0xe8, 0x87, 0xb7, 0x0b, 0x43, 0xff, 0x7a, 0xbb, 0x30, 0xf4, 0xfa, 0xed, 0x82, 0xf4, - 0xe6, 0xed, 0x82, 0xf4, 0xf6, 0xed, 0x82, 0xf4, 0xce, 0xed, 0x82, 0x74, 0x73, 0xaf, 0x20, 0x7d, - 0x65, 0xaf, 0x20, 0x7d, 0x6d, 0xaf, 0x20, 0x7d, 0x67, 0xaf, 0x20, 0x7d, 0x7f, 0xaf, 0x20, 0xbd, - 0xba, 0x57, 0x18, 0xfa, 0xe1, 0x5e, 0x61, 0xe8, 0xf5, 0xbd, 0x82, 0xf4, 0xe6, 0x5e, 0x61, 0xe8, - 0xed, 0xbd, 0x82, 0xf4, 0xce, 0x5e, 0x61, 0xe8, 0xe6, 0x8f, 0x0b, 0x43, 0xff, 0x1f, 0x00, 0x00, - 0xff, 0xff, 0x24, 0x62, 0x9d, 0xf9, 0x50, 0x3a, 0x00, 0x00, + 0x79, 0xe6, 0xe2, 0x42, 0x02, 0x3f, 0x40, 0x70, 0x79, 0x48, 0x4b, 0x10, 0x1d, 0x81, 0x14, 0xe5, + 0x0b, 0x7d, 0xa3, 0x3c, 0xba, 0x1b, 0x4a, 0xec, 0x12, 0x24, 0xc4, 0x50, 0x25, 0x48, 0x66, 0x49, + 0x46, 0x96, 0xd3, 0xce, 0xce, 0x72, 0x71, 0x08, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, 0x24, 0x43, + 0xd3, 0x07, 0x35, 0x6e, 0x9b, 0x49, 0xef, 0xb7, 0x99, 0x26, 0xae, 0xe3, 0x36, 0xe9, 0x34, 0x4e, + 0xd3, 0x5b, 0x92, 0x36, 0x69, 0x92, 0xbe, 0xe4, 0x25, 0xad, 0x9e, 0x3a, 0xc9, 0x5b, 0x1f, 0x3a, + 0xb2, 0xc5, 0x78, 0xa6, 0x4e, 0xeb, 0xb6, 0x6e, 0xab, 0x07, 0x8f, 0xfc, 0x92, 0x39, 0xb7, 0xc5, + 0xe2, 0x42, 0x2d, 0xa8, 0x8c, 0xed, 0x27, 0x62, 0xff, 0xf3, 0x7f, 0xdf, 0xf9, 0xcf, 0x7f, 0xfe, + 0x73, 0xfe, 0xff, 0x9c, 0x5d, 0xc2, 0xcd, 0x22, 0x4c, 0xd5, 0x6c, 0xbb, 0x66, 0xe2, 0x63, 0x8e, + 0x6b, 0xfb, 0xf6, 0x56, 0x63, 0xfb, 0x58, 0x15, 0x7b, 0xba, 0x6b, 0x38, 0xbe, 0xed, 0xce, 0x52, + 0x19, 0x1a, 0x61, 0x1a, 0xb3, 0x42, 0x63, 0xba, 0x02, 0xa3, 0xe7, 0x0d, 0x13, 0x2f, 0x04, 0x8a, + 0xeb, 0xd8, 0x47, 0x67, 0x21, 0xb1, 0x6d, 0x98, 0x38, 0x2f, 0x4d, 0xc5, 0x67, 0x32, 0xc7, 0x1f, + 0x9a, 0xed, 0x00, 0xcd, 0xb6, 0x23, 0xd6, 0x88, 0x58, 0xa1, 0x88, 0xe9, 0x37, 0x13, 0x30, 0xd6, + 0xa3, 0x15, 0x21, 0x48, 0x58, 0x5a, 0x9d, 0x30, 0x4a, 0x33, 0x69, 0x85, 0xfe, 0x46, 0x79, 0x18, + 0x72, 0x34, 0xfd, 0x8a, 0x56, 0xc3, 0xf9, 0x18, 0x15, 0x8b, 0x47, 0x54, 0x00, 0xa8, 0x62, 0x07, + 0x5b, 0x55, 0x6c, 0xe9, 0xcd, 0x7c, 0x7c, 0x2a, 0x3e, 0x93, 0x56, 0x42, 0x12, 0xf4, 0x04, 0x8c, + 0x3a, 0x8d, 0x2d, 0xd3, 0xd0, 0xd5, 0x90, 0x1a, 0x4c, 0xc5, 0x67, 0x92, 0x8a, 0xcc, 0x1a, 0x16, + 0x5a, 0xca, 0x8f, 0xc2, 0xc8, 0x35, 0xac, 0x5d, 0x09, 0xab, 0x66, 0xa8, 0x6a, 0x8e, 0x88, 0x43, + 0x8a, 0xf3, 0x90, 0xad, 0x63, 0xcf, 0xd3, 0x6a, 0x58, 0xf5, 0x9b, 0x0e, 0xce, 0x27, 0xe8, 0xe8, + 0xa7, 0xba, 0x46, 0xdf, 0x39, 0xf2, 0x0c, 0x47, 0x6d, 0x34, 0x1d, 0x8c, 0xe6, 0x20, 0x8d, 0xad, + 0x46, 0x9d, 0x31, 0x24, 0xf7, 0xf0, 0x5f, 0xd9, 0x6a, 0xd4, 0x3b, 0x59, 0x52, 0x04, 0xc6, 0x29, + 0x86, 0x3c, 0xec, 0x5e, 0x35, 0x74, 0x9c, 0x1f, 0xa4, 0x04, 0x8f, 0x76, 0x11, 0xac, 0xb3, 0xf6, + 0x4e, 0x0e, 0x81, 0x43, 0xf3, 0x90, 0xc6, 0x2f, 0xfa, 0xd8, 0xf2, 0x0c, 0xdb, 0xca, 0x0f, 0x51, + 0x92, 0x87, 0x7b, 0xcc, 0x22, 0x36, 0xab, 0x9d, 0x14, 0x2d, 0x1c, 0x3a, 0x0d, 0x43, 0xb6, 0xe3, + 0x1b, 0xb6, 0xe5, 0xe5, 0x53, 0x53, 0xd2, 0x4c, 0xe6, 0xf8, 0x47, 0x7a, 0x06, 0xc2, 0x2a, 0xd3, + 0x51, 0x84, 0x32, 0x5a, 0x02, 0xd9, 0xb3, 0x1b, 0xae, 0x8e, 0x55, 0xdd, 0xae, 0x62, 0xd5, 0xb0, + 0xb6, 0xed, 0x7c, 0x9a, 0x12, 0x4c, 0x76, 0x0f, 0x84, 0x2a, 0xce, 0xdb, 0x55, 0xbc, 0x64, 0x6d, + 0xdb, 0x4a, 0xce, 0x6b, 0x7b, 0x46, 0x07, 0x60, 0xd0, 0x6b, 0x5a, 0xbe, 0xf6, 0x62, 0x3e, 0x4b, + 0x23, 0x84, 0x3f, 0x4d, 0x7f, 0x77, 0x10, 0x46, 0xfa, 0x09, 0xb1, 0x73, 0x90, 0xdc, 0x26, 0xa3, + 0xcc, 0xc7, 0xf6, 0xe3, 0x03, 0x86, 0x69, 0x77, 0xe2, 0xe0, 0x7d, 0x3a, 0x71, 0x0e, 0x32, 0x16, + 0xf6, 0x7c, 0x5c, 0x65, 0x11, 0x11, 0xef, 0x33, 0xa6, 0x80, 0x81, 0xba, 0x43, 0x2a, 0x71, 0x5f, + 0x21, 0xf5, 0x3c, 0x8c, 0x04, 0x26, 0xa9, 0xae, 0x66, 0xd5, 0x44, 0x6c, 0x1e, 0x8b, 0xb2, 0x64, + 0xb6, 0x2c, 0x70, 0x0a, 0x81, 0x29, 0x39, 0xdc, 0xf6, 0x8c, 0x16, 0x00, 0x6c, 0x0b, 0xdb, 0xdb, + 0x6a, 0x15, 0xeb, 0x66, 0x3e, 0xb5, 0x87, 0x97, 0x56, 0x89, 0x4a, 0x97, 0x97, 0x6c, 0x26, 0xd5, + 0x4d, 0xf4, 0x4c, 0x2b, 0xd4, 0x86, 0xf6, 0x88, 0x94, 0x0a, 0x5b, 0x64, 0x5d, 0xd1, 0xb6, 0x09, + 0x39, 0x17, 0x93, 0xb8, 0xc7, 0x55, 0x3e, 0xb2, 0x34, 0x35, 0x62, 0x36, 0x72, 0x64, 0x0a, 0x87, + 0xb1, 0x81, 0x0d, 0xbb, 0xe1, 0x47, 0x74, 0x14, 0x02, 0x81, 0x4a, 0xc3, 0x0a, 0xe8, 0x2e, 0x94, + 0x15, 0xc2, 0x15, 0xad, 0x8e, 0x27, 0xae, 0x43, 0xae, 0xdd, 0x3d, 0x68, 0x1c, 0x92, 0x9e, 0xaf, + 0xb9, 0x3e, 0x8d, 0xc2, 0xa4, 0xc2, 0x1e, 0x90, 0x0c, 0x71, 0x6c, 0x55, 0xe9, 0x2e, 0x97, 0x54, + 0xc8, 0x4f, 0xf4, 0x73, 0xad, 0x01, 0xc7, 0xe9, 0x80, 0x1f, 0xe9, 0x9e, 0xd1, 0x36, 0xe6, 0xce, + 0x71, 0x4f, 0x9c, 0x81, 0xe1, 0xb6, 0x01, 0xf4, 0xdb, 0xf5, 0xf4, 0x2f, 0xc1, 0x03, 0x3d, 0xa9, + 0xd1, 0xf3, 0x30, 0xde, 0xb0, 0x0c, 0xcb, 0xc7, 0xae, 0xe3, 0x62, 0x12, 0xb1, 0xac, 0xab, 0xfc, + 0xbf, 0x0f, 0xed, 0x11, 0x73, 0x9b, 0x61, 0x6d, 0xc6, 0xa2, 0x8c, 0x35, 0xba, 0x85, 0x8f, 0xa7, + 0x53, 0x6f, 0x0d, 0xc9, 0x37, 0x6e, 0xdc, 0xb8, 0x11, 0x9b, 0xfe, 0xfc, 0x20, 0x8c, 0xf7, 0x5a, + 0x33, 0x3d, 0x97, 0xef, 0x01, 0x18, 0xb4, 0x1a, 0xf5, 0x2d, 0xec, 0x52, 0x27, 0x25, 0x15, 0xfe, + 0x84, 0xe6, 0x20, 0x69, 0x6a, 0x5b, 0xd8, 0xcc, 0x27, 0xa6, 0xa4, 0x99, 0xdc, 0xf1, 0x27, 0xfa, + 0x5a, 0x95, 0xb3, 0xcb, 0x04, 0xa2, 0x30, 0x24, 0x7a, 0x16, 0x12, 0x7c, 0x8b, 0x26, 0x0c, 0x8f, + 0xf7, 0xc7, 0x40, 0xd6, 0x92, 0x42, 0x71, 0xe8, 0x41, 0x48, 0x93, 0xbf, 0x2c, 0x36, 0x06, 0xa9, + 0xcd, 0x29, 0x22, 0x20, 0x71, 0x81, 0x26, 0x20, 0x45, 0x97, 0x49, 0x15, 0x8b, 0xd4, 0x16, 0x3c, + 0x93, 0xc0, 0xaa, 0xe2, 0x6d, 0xad, 0x61, 0xfa, 0xea, 0x55, 0xcd, 0x6c, 0x60, 0x1a, 0xf0, 0x69, + 0x25, 0xcb, 0x85, 0x9f, 0x24, 0x32, 0x34, 0x09, 0x19, 0xb6, 0xaa, 0x0c, 0xab, 0x8a, 0x5f, 0xa4, + 0xbb, 0x67, 0x52, 0x61, 0x0b, 0x6d, 0x89, 0x48, 0x48, 0xf7, 0x97, 0x3d, 0xdb, 0x12, 0xa1, 0x49, + 0xbb, 0x20, 0x02, 0xda, 0xfd, 0x99, 0xce, 0x8d, 0xfb, 0x70, 0xef, 0xe1, 0x75, 0xc6, 0xd4, 0xf4, + 0xb7, 0x63, 0x90, 0xa0, 0xfb, 0xc5, 0x08, 0x64, 0x36, 0x2e, 0xad, 0x95, 0xd5, 0x85, 0xd5, 0xcd, + 0xd2, 0x72, 0x59, 0x96, 0x50, 0x0e, 0x80, 0x0a, 0xce, 0x2f, 0xaf, 0xce, 0x6d, 0xc8, 0xb1, 0xe0, + 0x79, 0x69, 0x65, 0xe3, 0xf4, 0x49, 0x39, 0x1e, 0x00, 0x36, 0x99, 0x20, 0x11, 0x56, 0x38, 0x71, + 0x5c, 0x4e, 0x22, 0x19, 0xb2, 0x8c, 0x60, 0xe9, 0xf9, 0xf2, 0xc2, 0xe9, 0x93, 0xf2, 0x60, 0xbb, + 0xe4, 0xc4, 0x71, 0x79, 0x08, 0x0d, 0x43, 0x9a, 0x4a, 0x4a, 0xab, 0xab, 0xcb, 0x72, 0x2a, 0xe0, + 0x5c, 0xdf, 0x50, 0x96, 0x56, 0x16, 0xe5, 0x74, 0xc0, 0xb9, 0xa8, 0xac, 0x6e, 0xae, 0xc9, 0x10, + 0x30, 0x54, 0xca, 0xeb, 0xeb, 0x73, 0x8b, 0x65, 0x39, 0x13, 0x68, 0x94, 0x2e, 0x6d, 0x94, 0xd7, + 0xe5, 0x6c, 0x9b, 0x59, 0x27, 0x8e, 0xcb, 0xc3, 0x41, 0x17, 0xe5, 0x95, 0xcd, 0x8a, 0x9c, 0x43, + 0xa3, 0x30, 0xcc, 0xba, 0x10, 0x46, 0x8c, 0x74, 0x88, 0x4e, 0x9f, 0x94, 0xe5, 0x96, 0x21, 0x8c, + 0x65, 0xb4, 0x4d, 0x70, 0xfa, 0xa4, 0x8c, 0xa6, 0xe7, 0x21, 0x49, 0xa3, 0x0b, 0x21, 0xc8, 0x2d, + 0xcf, 0x95, 0xca, 0xcb, 0xea, 0xea, 0xda, 0xc6, 0xd2, 0xea, 0xca, 0xdc, 0xb2, 0x2c, 0xb5, 0x64, + 0x4a, 0xf9, 0x13, 0x9b, 0x4b, 0x4a, 0x79, 0x41, 0x8e, 0x85, 0x65, 0x6b, 0xe5, 0xb9, 0x8d, 0xf2, + 0x82, 0x1c, 0x9f, 0xd6, 0x61, 0xbc, 0xd7, 0x3e, 0xd9, 0x73, 0x65, 0x84, 0xa6, 0x38, 0xb6, 0xc7, + 0x14, 0x53, 0xae, 0xae, 0x29, 0xfe, 0x71, 0x0c, 0xc6, 0x7a, 0xe4, 0x8a, 0x9e, 0x9d, 0x3c, 0x07, + 0x49, 0x16, 0xa2, 0x2c, 0x7b, 0x3e, 0xd6, 0x33, 0xe9, 0xd0, 0x80, 0xed, 0xca, 0xa0, 0x14, 0x17, + 0xae, 0x20, 0xe2, 0x7b, 0x54, 0x10, 0x84, 0xa2, 0x6b, 0x4f, 0xff, 0xc5, 0xae, 0x3d, 0x9d, 0xa5, + 0xbd, 0xd3, 0xfd, 0xa4, 0x3d, 0x2a, 0xdb, 0xdf, 0xde, 0x9e, 0xec, 0xb1, 0xb7, 0x9f, 0x83, 0xd1, + 0x2e, 0xa2, 0xbe, 0xf7, 0xd8, 0x97, 0x24, 0xc8, 0xef, 0xe5, 0x9c, 0x88, 0x9d, 0x2e, 0xd6, 0xb6, + 0xd3, 0x9d, 0xeb, 0xf4, 0xe0, 0x91, 0xbd, 0x27, 0xa1, 0x6b, 0xae, 0x5f, 0x93, 0xe0, 0x40, 0xef, + 0x4a, 0xb1, 0xa7, 0x0d, 0xcf, 0xc2, 0x60, 0x1d, 0xfb, 0x3b, 0xb6, 0xa8, 0x96, 0x1e, 0xe9, 0x91, + 0x83, 0x49, 0x73, 0xe7, 0x64, 0x73, 0x54, 0x38, 0x89, 0xc7, 0xf7, 0x2a, 0xf7, 0x98, 0x35, 0x5d, + 0x96, 0x7e, 0x2e, 0x06, 0x0f, 0xf4, 0x24, 0xef, 0x69, 0xe8, 0x61, 0x00, 0xc3, 0x72, 0x1a, 0x3e, + 0xab, 0x88, 0xd8, 0x06, 0x9b, 0xa6, 0x12, 0xba, 0x79, 0x91, 0xcd, 0xb3, 0xe1, 0x07, 0xed, 0x71, + 0xda, 0x0e, 0x4c, 0x44, 0x15, 0xce, 0xb6, 0x0c, 0x4d, 0x50, 0x43, 0x0b, 0x7b, 0x8c, 0xb4, 0x2b, + 0x30, 0x9f, 0x06, 0x59, 0x37, 0x0d, 0x6c, 0xf9, 0xaa, 0xe7, 0xbb, 0x58, 0xab, 0x1b, 0x56, 0x8d, + 0x66, 0x90, 0x54, 0x31, 0xb9, 0xad, 0x99, 0x1e, 0x56, 0x46, 0x58, 0xf3, 0xba, 0x68, 0x25, 0x08, + 0x1a, 0x40, 0x6e, 0x08, 0x31, 0xd8, 0x86, 0x60, 0xcd, 0x01, 0x62, 0xfa, 0x37, 0xd3, 0x90, 0x09, + 0xd5, 0xd5, 0xe8, 0x08, 0x64, 0x2f, 0x6b, 0x57, 0x35, 0x55, 0x9c, 0x95, 0x98, 0x27, 0x32, 0x44, + 0xb6, 0xc6, 0xcf, 0x4b, 0x4f, 0xc3, 0x38, 0x55, 0xb1, 0x1b, 0x3e, 0x76, 0x55, 0xdd, 0xd4, 0x3c, + 0x8f, 0x3a, 0x2d, 0x45, 0x55, 0x11, 0x69, 0x5b, 0x25, 0x4d, 0xf3, 0xa2, 0x05, 0x9d, 0x82, 0x31, + 0x8a, 0xa8, 0x37, 0x4c, 0xdf, 0x70, 0x4c, 0xac, 0x92, 0xd3, 0x9b, 0x47, 0x33, 0x49, 0x60, 0xd9, + 0x28, 0xd1, 0xa8, 0x70, 0x05, 0x62, 0x91, 0x87, 0x16, 0xe0, 0x30, 0x85, 0xd5, 0xb0, 0x85, 0x5d, + 0xcd, 0xc7, 0x2a, 0xfe, 0x74, 0x43, 0x33, 0x3d, 0x55, 0xb3, 0xaa, 0xea, 0x8e, 0xe6, 0xed, 0xe4, + 0xc7, 0x09, 0x41, 0x29, 0x96, 0x97, 0x94, 0x43, 0x44, 0x71, 0x91, 0xeb, 0x95, 0xa9, 0xda, 0x9c, + 0x55, 0xfd, 0xb8, 0xe6, 0xed, 0xa0, 0x22, 0x1c, 0xa0, 0x2c, 0x9e, 0xef, 0x1a, 0x56, 0x4d, 0xd5, + 0x77, 0xb0, 0x7e, 0x45, 0x6d, 0xf8, 0xdb, 0x67, 0xf3, 0x0f, 0x86, 0xfb, 0xa7, 0x16, 0xae, 0x53, + 0x9d, 0x79, 0xa2, 0xb2, 0xe9, 0x6f, 0x9f, 0x45, 0xeb, 0x90, 0x25, 0x93, 0x51, 0x37, 0xae, 0x63, + 0x75, 0xdb, 0x76, 0x69, 0x6a, 0xcc, 0xf5, 0xd8, 0x9a, 0x42, 0x1e, 0x9c, 0x5d, 0xe5, 0x80, 0x8a, + 0x5d, 0xc5, 0xc5, 0xe4, 0xfa, 0x5a, 0xb9, 0xbc, 0xa0, 0x64, 0x04, 0xcb, 0x79, 0xdb, 0x25, 0x01, + 0x55, 0xb3, 0x03, 0x07, 0x67, 0x58, 0x40, 0xd5, 0x6c, 0xe1, 0xde, 0x53, 0x30, 0xa6, 0xeb, 0x6c, + 0xcc, 0x86, 0xae, 0xf2, 0x33, 0x96, 0x97, 0x97, 0xdb, 0x9c, 0xa5, 0xeb, 0x8b, 0x4c, 0x81, 0xc7, + 0xb8, 0x87, 0x9e, 0x81, 0x07, 0x5a, 0xce, 0x0a, 0x03, 0x47, 0xbb, 0x46, 0xd9, 0x09, 0x3d, 0x05, + 0x63, 0x4e, 0xb3, 0x1b, 0x88, 0xda, 0x7a, 0x74, 0x9a, 0x9d, 0xb0, 0x33, 0x30, 0xee, 0xec, 0x38, + 0xdd, 0xb8, 0xc7, 0xc3, 0x38, 0xe4, 0xec, 0x38, 0x9d, 0xc0, 0x87, 0xe9, 0x81, 0xdb, 0xc5, 0xba, + 0xe6, 0xe3, 0x6a, 0xfe, 0x60, 0x58, 0x3d, 0xd4, 0x80, 0x8e, 0x81, 0xac, 0xeb, 0x2a, 0xb6, 0xb4, + 0x2d, 0x13, 0xab, 0x9a, 0x8b, 0x2d, 0xcd, 0xcb, 0x4f, 0x86, 0x95, 0x73, 0xba, 0x5e, 0xa6, 0xad, + 0x73, 0xb4, 0x11, 0x3d, 0x0e, 0xa3, 0xf6, 0xd6, 0x65, 0x9d, 0x85, 0xa4, 0xea, 0xb8, 0x78, 0xdb, + 0x78, 0x31, 0xff, 0x10, 0xf5, 0xef, 0x08, 0x69, 0xa0, 0x01, 0xb9, 0x46, 0xc5, 0xe8, 0x31, 0x90, + 0x75, 0x6f, 0x47, 0x73, 0x1d, 0xba, 0x27, 0x7b, 0x8e, 0xa6, 0xe3, 0xfc, 0xc3, 0x4c, 0x95, 0xc9, + 0x57, 0x84, 0x98, 0x2c, 0x09, 0xef, 0x9a, 0xb1, 0xed, 0x0b, 0xc6, 0x47, 0xd9, 0x92, 0xa0, 0x32, + 0xce, 0x36, 0x03, 0x32, 0x71, 0x45, 0x5b, 0xc7, 0x33, 0x54, 0x2d, 0xe7, 0xec, 0x38, 0xe1, 0x7e, + 0x8f, 0xc2, 0x30, 0xd1, 0x6c, 0x75, 0xfa, 0x18, 0x2b, 0xc8, 0x9c, 0x9d, 0x50, 0x8f, 0x27, 0xe1, + 0x00, 0x51, 0xaa, 0x63, 0x5f, 0xab, 0x6a, 0xbe, 0x16, 0xd2, 0x7e, 0x92, 0x6a, 0x13, 0xbf, 0x57, + 0x78, 0x63, 0x9b, 0x9d, 0x6e, 0x63, 0xab, 0x19, 0x44, 0xd6, 0x53, 0xcc, 0x4e, 0x22, 0x13, 0xb1, + 0xf5, 0xbe, 0x15, 0xdd, 0xd3, 0x45, 0xc8, 0x86, 0x03, 0x1f, 0xa5, 0x81, 0x85, 0xbe, 0x2c, 0x91, + 0x2a, 0x68, 0x7e, 0x75, 0x81, 0xd4, 0x2f, 0x2f, 0x94, 0xe5, 0x18, 0xa9, 0xa3, 0x96, 0x97, 0x36, + 0xca, 0xaa, 0xb2, 0xb9, 0xb2, 0xb1, 0x54, 0x29, 0xcb, 0xf1, 0x70, 0xc1, 0xfe, 0x83, 0x18, 0xe4, + 0xda, 0xcf, 0x5e, 0xe8, 0xa3, 0x70, 0x50, 0x5c, 0x94, 0x78, 0xd8, 0x57, 0xaf, 0x19, 0x2e, 0x5d, + 0x8b, 0x75, 0x8d, 0xe5, 0xc5, 0x20, 0x1a, 0xc6, 0xb9, 0xd6, 0x3a, 0xf6, 0x2f, 0x1a, 0x2e, 0x59, + 0x69, 0x75, 0xcd, 0x47, 0xcb, 0x30, 0x69, 0xd9, 0xaa, 0xe7, 0x6b, 0x56, 0x55, 0x73, 0xab, 0x6a, + 0xeb, 0x8a, 0x4a, 0xd5, 0x74, 0x1d, 0x7b, 0x9e, 0xcd, 0x72, 0x60, 0xc0, 0xf2, 0x11, 0xcb, 0x5e, + 0xe7, 0xca, 0xad, 0xe4, 0x30, 0xc7, 0x55, 0x3b, 0x22, 0x37, 0xbe, 0x57, 0xe4, 0x3e, 0x08, 0xe9, + 0xba, 0xe6, 0xa8, 0xd8, 0xf2, 0xdd, 0x26, 0xad, 0xb8, 0x53, 0x4a, 0xaa, 0xae, 0x39, 0x65, 0xf2, + 0xfc, 0xc1, 0x1c, 0x7c, 0xfe, 0x2d, 0x0e, 0xd9, 0x70, 0xd5, 0x4d, 0x0e, 0x31, 0x3a, 0x4d, 0x50, + 0x12, 0xdd, 0xc2, 0x8e, 0xde, 0xb3, 0x46, 0x9f, 0x9d, 0x27, 0x99, 0xab, 0x38, 0xc8, 0x6a, 0x61, + 0x85, 0x21, 0x49, 0xd5, 0x40, 0x42, 0x0b, 0xb3, 0xda, 0x23, 0xa5, 0xf0, 0x27, 0xb4, 0x08, 0x83, + 0x97, 0x3d, 0xca, 0x3d, 0x48, 0xb9, 0x1f, 0xba, 0x37, 0xf7, 0x85, 0x75, 0x4a, 0x9e, 0xbe, 0xb0, + 0xae, 0xae, 0xac, 0x2a, 0x95, 0xb9, 0x65, 0x85, 0xc3, 0xd1, 0x21, 0x48, 0x98, 0xda, 0xf5, 0x66, + 0x7b, 0x8e, 0xa3, 0xa2, 0x7e, 0x1d, 0x7f, 0x08, 0x12, 0xd7, 0xb0, 0x76, 0xa5, 0x3d, 0xb3, 0x50, + 0xd1, 0xfb, 0x18, 0xfa, 0xc7, 0x20, 0x49, 0xfd, 0x85, 0x00, 0xb8, 0xc7, 0xe4, 0x01, 0x94, 0x82, + 0xc4, 0xfc, 0xaa, 0x42, 0xc2, 0x5f, 0x86, 0x2c, 0x93, 0xaa, 0x6b, 0x4b, 0xe5, 0xf9, 0xb2, 0x1c, + 0x9b, 0x3e, 0x05, 0x83, 0xcc, 0x09, 0x64, 0x69, 0x04, 0x6e, 0x90, 0x07, 0xf8, 0x23, 0xe7, 0x90, + 0x44, 0xeb, 0x66, 0xa5, 0x54, 0x56, 0xe4, 0x58, 0x78, 0x7a, 0x3d, 0xc8, 0x86, 0x0b, 0xee, 0x0f, + 0x26, 0xa6, 0xbe, 0x27, 0x41, 0x26, 0x54, 0x40, 0x93, 0xca, 0x47, 0x33, 0x4d, 0xfb, 0x9a, 0xaa, + 0x99, 0x86, 0xe6, 0xf1, 0xa0, 0x00, 0x2a, 0x9a, 0x23, 0x92, 0x7e, 0x27, 0xed, 0x03, 0x31, 0xfe, + 0x55, 0x09, 0xe4, 0xce, 0xda, 0xb5, 0xc3, 0x40, 0xe9, 0x43, 0x35, 0xf0, 0x15, 0x09, 0x72, 0xed, + 0x05, 0x6b, 0x87, 0x79, 0x47, 0x3e, 0x54, 0xf3, 0xde, 0x88, 0xc1, 0x70, 0x5b, 0x99, 0xda, 0xaf, + 0x75, 0x9f, 0x86, 0x51, 0xa3, 0x8a, 0xeb, 0x8e, 0xed, 0x63, 0x4b, 0x6f, 0xaa, 0x26, 0xbe, 0x8a, + 0xcd, 0xfc, 0x34, 0xdd, 0x28, 0x8e, 0xdd, 0xbb, 0x10, 0x9e, 0x5d, 0x6a, 0xe1, 0x96, 0x09, 0xac, + 0x38, 0xb6, 0xb4, 0x50, 0xae, 0xac, 0xad, 0x6e, 0x94, 0x57, 0xe6, 0x2f, 0xa9, 0x9b, 0x2b, 0x3f, + 0xbf, 0xb2, 0x7a, 0x71, 0x45, 0x91, 0x8d, 0x0e, 0xb5, 0xf7, 0x71, 0xa9, 0xaf, 0x81, 0xdc, 0x69, + 0x14, 0x3a, 0x08, 0xbd, 0xcc, 0x92, 0x07, 0xd0, 0x18, 0x8c, 0xac, 0xac, 0xaa, 0xeb, 0x4b, 0x0b, + 0x65, 0xb5, 0x7c, 0xfe, 0x7c, 0x79, 0x7e, 0x63, 0x9d, 0x5d, 0x6d, 0x04, 0xda, 0x1b, 0xed, 0x8b, + 0xfa, 0xe5, 0x38, 0x8c, 0xf5, 0xb0, 0x04, 0xcd, 0xf1, 0x43, 0x09, 0x3b, 0x27, 0x3d, 0xd5, 0x8f, + 0xf5, 0xb3, 0xa4, 0x2a, 0x58, 0xd3, 0x5c, 0x9f, 0x9f, 0x61, 0x1e, 0x03, 0xe2, 0x25, 0xcb, 0x37, + 0xb6, 0x0d, 0xec, 0xf2, 0x9b, 0x20, 0x76, 0x52, 0x19, 0x69, 0xc9, 0xd9, 0x65, 0xd0, 0x93, 0x80, + 0x1c, 0xdb, 0x33, 0x7c, 0xe3, 0x2a, 0x56, 0x0d, 0x4b, 0x5c, 0x1b, 0x91, 0x93, 0x4b, 0x42, 0x91, + 0x45, 0xcb, 0x92, 0xe5, 0x07, 0xda, 0x16, 0xae, 0x69, 0x1d, 0xda, 0x64, 0x03, 0x8f, 0x2b, 0xb2, + 0x68, 0x09, 0xb4, 0x8f, 0x40, 0xb6, 0x6a, 0x37, 0x48, 0x39, 0xc7, 0xf4, 0x48, 0xbe, 0x90, 0x94, + 0x0c, 0x93, 0x05, 0x2a, 0xbc, 0x50, 0x6f, 0xdd, 0x57, 0x65, 0x95, 0x0c, 0x93, 0x31, 0x95, 0x47, + 0x61, 0x44, 0xab, 0xd5, 0x5c, 0x42, 0x2e, 0x88, 0xd8, 0xd1, 0x23, 0x17, 0x88, 0xa9, 0xe2, 0xc4, + 0x05, 0x48, 0x09, 0x3f, 0x90, 0x94, 0x4c, 0x3c, 0xa1, 0x3a, 0xec, 0x3c, 0x1d, 0x9b, 0x49, 0x2b, + 0x29, 0x4b, 0x34, 0x1e, 0x81, 0xac, 0xe1, 0xa9, 0xad, 0xeb, 0xf7, 0xd8, 0x54, 0x6c, 0x26, 0xa5, + 0x64, 0x0c, 0x2f, 0xb8, 0xba, 0x9c, 0x7e, 0x2d, 0x06, 0xb9, 0xf6, 0xd7, 0x07, 0x68, 0x01, 0x52, + 0xa6, 0xad, 0x6b, 0x34, 0xb4, 0xd8, 0xbb, 0xab, 0x99, 0x88, 0x37, 0x0e, 0xb3, 0xcb, 0x5c, 0x5f, + 0x09, 0x90, 0x13, 0xff, 0x22, 0x41, 0x4a, 0x88, 0xd1, 0x01, 0x48, 0x38, 0x9a, 0xbf, 0x43, 0xe9, + 0x92, 0xa5, 0x98, 0x2c, 0x29, 0xf4, 0x99, 0xc8, 0x3d, 0x47, 0xb3, 0x68, 0x08, 0x70, 0x39, 0x79, + 0x26, 0xf3, 0x6a, 0x62, 0xad, 0x4a, 0xcf, 0x35, 0x76, 0xbd, 0x8e, 0x2d, 0xdf, 0x13, 0xf3, 0xca, + 0xe5, 0xf3, 0x5c, 0x8c, 0x9e, 0x80, 0x51, 0xdf, 0xd5, 0x0c, 0xb3, 0x4d, 0x37, 0x41, 0x75, 0x65, + 0xd1, 0x10, 0x28, 0x17, 0xe1, 0x90, 0xe0, 0xad, 0x62, 0x5f, 0xd3, 0x77, 0x70, 0xb5, 0x05, 0x1a, + 0xa4, 0xf7, 0x17, 0x07, 0xb9, 0xc2, 0x02, 0x6f, 0x17, 0xd8, 0xe9, 0x1f, 0x49, 0x30, 0x2a, 0x4e, + 0x62, 0xd5, 0xc0, 0x59, 0x15, 0x00, 0xcd, 0xb2, 0x6c, 0x3f, 0xec, 0xae, 0xee, 0x50, 0xee, 0xc2, + 0xcd, 0xce, 0x05, 0x20, 0x25, 0x44, 0x30, 0x51, 0x07, 0x68, 0xb5, 0xec, 0xe9, 0xb6, 0x49, 0xc8, + 0xf0, 0x77, 0x43, 0xf4, 0x05, 0x23, 0x3b, 0xbb, 0x03, 0x13, 0x91, 0x23, 0x1b, 0x1a, 0x87, 0xe4, + 0x16, 0xae, 0x19, 0x16, 0xbf, 0xf1, 0x65, 0x0f, 0xe2, 0x86, 0x25, 0x11, 0xdc, 0xb0, 0x94, 0x3e, + 0x05, 0x63, 0xba, 0x5d, 0xef, 0x34, 0xb7, 0x24, 0x77, 0xdc, 0x1f, 0x78, 0x1f, 0x97, 0x5e, 0x80, + 0x56, 0x89, 0xf9, 0xae, 0x24, 0x7d, 0x39, 0x16, 0x5f, 0x5c, 0x2b, 0x7d, 0x2d, 0x36, 0xb1, 0xc8, + 0xa0, 0x6b, 0x62, 0xa4, 0x0a, 0xde, 0x36, 0xb1, 0x4e, 0xac, 0x87, 0xaf, 0x3c, 0x01, 0x4f, 0xd5, + 0x0c, 0x7f, 0xa7, 0xb1, 0x35, 0xab, 0xdb, 0xf5, 0x63, 0x35, 0xbb, 0x66, 0xb7, 0xde, 0xa9, 0x92, + 0x27, 0xfa, 0x40, 0x7f, 0xf1, 0xf7, 0xaa, 0xe9, 0x40, 0x3a, 0x11, 0xf9, 0x12, 0xb6, 0xb8, 0x02, + 0x63, 0x5c, 0x59, 0xa5, 0x2f, 0x76, 0xd8, 0xf1, 0x04, 0xdd, 0xf3, 0x72, 0x2c, 0xff, 0x8d, 0x37, + 0x69, 0xba, 0x56, 0x46, 0x39, 0x94, 0xb4, 0xb1, 0x13, 0x4c, 0x51, 0x81, 0x07, 0xda, 0xf8, 0xd8, + 0xd2, 0xc4, 0x6e, 0x04, 0xe3, 0x0f, 0x38, 0xe3, 0x58, 0x88, 0x71, 0x9d, 0x43, 0x8b, 0xf3, 0x30, + 0xbc, 0x1f, 0xae, 0x7f, 0xe2, 0x5c, 0x59, 0x1c, 0x26, 0x59, 0x84, 0x11, 0x4a, 0xa2, 0x37, 0x3c, + 0xdf, 0xae, 0xd3, 0x7d, 0xef, 0xde, 0x34, 0xff, 0xfc, 0x26, 0x5b, 0x2b, 0x39, 0x02, 0x9b, 0x0f, + 0x50, 0xc5, 0x22, 0xd0, 0x77, 0x59, 0x55, 0xac, 0x9b, 0x11, 0x0c, 0x37, 0xb9, 0x21, 0x81, 0x7e, + 0xf1, 0x93, 0x30, 0x4e, 0x7e, 0xd3, 0x6d, 0x29, 0x6c, 0x49, 0xf4, 0x4d, 0x5a, 0xfe, 0x47, 0x2f, + 0xb1, 0xe5, 0x38, 0x16, 0x10, 0x84, 0x6c, 0x0a, 0xcd, 0x62, 0x0d, 0xfb, 0x3e, 0x76, 0x3d, 0x55, + 0x33, 0x7b, 0x99, 0x17, 0xba, 0x8a, 0xc8, 0x7f, 0xe1, 0xed, 0xf6, 0x59, 0x5c, 0x64, 0xc8, 0x39, + 0xd3, 0x2c, 0x6e, 0xc2, 0xc1, 0x1e, 0x51, 0xd1, 0x07, 0xe7, 0xcb, 0x9c, 0x73, 0xbc, 0x2b, 0x32, + 0x08, 0xed, 0x1a, 0x08, 0x79, 0x30, 0x97, 0x7d, 0x70, 0xfe, 0x31, 0xe7, 0x44, 0x1c, 0x2b, 0xa6, + 0x94, 0x30, 0x5e, 0x80, 0xd1, 0xab, 0xd8, 0xdd, 0xb2, 0x3d, 0x7e, 0xfd, 0xd3, 0x07, 0xdd, 0x2b, + 0x9c, 0x6e, 0x84, 0x03, 0xe9, 0x7d, 0x10, 0xe1, 0x7a, 0x06, 0x52, 0xdb, 0x9a, 0x8e, 0xfb, 0xa0, + 0xf8, 0x22, 0xa7, 0x18, 0x22, 0xfa, 0x04, 0x3a, 0x07, 0xd9, 0x9a, 0xcd, 0x33, 0x53, 0x34, 0xfc, + 0x55, 0x0e, 0xcf, 0x08, 0x0c, 0xa7, 0x70, 0x6c, 0xa7, 0x61, 0x92, 0xb4, 0x15, 0x4d, 0xf1, 0x27, + 0x82, 0x42, 0x60, 0x38, 0xc5, 0x3e, 0xdc, 0xfa, 0xa7, 0x82, 0xc2, 0x0b, 0xf9, 0xf3, 0x39, 0xc8, + 0xd8, 0x96, 0xd9, 0xb4, 0xad, 0x7e, 0x8c, 0xf8, 0x12, 0x67, 0x00, 0x0e, 0x21, 0x04, 0xe7, 0x20, + 0xdd, 0xef, 0x44, 0xfc, 0xf9, 0xdb, 0x62, 0x79, 0x88, 0x19, 0x58, 0x84, 0x11, 0xb1, 0x41, 0x19, + 0xb6, 0xd5, 0x07, 0xc5, 0x57, 0x38, 0x45, 0x2e, 0x04, 0xe3, 0xc3, 0xf0, 0xb1, 0xe7, 0xd7, 0x70, + 0x3f, 0x24, 0xaf, 0x89, 0x61, 0x70, 0x08, 0x77, 0xe5, 0x16, 0xb6, 0xf4, 0x9d, 0xfe, 0x18, 0xbe, + 0x2a, 0x5c, 0x29, 0x30, 0x84, 0x62, 0x1e, 0x86, 0xeb, 0x9a, 0xeb, 0xed, 0x68, 0x66, 0x5f, 0xd3, + 0xf1, 0x17, 0x9c, 0x23, 0x1b, 0x80, 0xb8, 0x47, 0x1a, 0xd6, 0x7e, 0x68, 0xbe, 0x26, 0x3c, 0x12, + 0x82, 0xf1, 0xa5, 0xe7, 0xf9, 0xf4, 0xae, 0x6c, 0x3f, 0x6c, 0x7f, 0x29, 0x96, 0x1e, 0xc3, 0x56, + 0xc2, 0x8c, 0xe7, 0x20, 0xed, 0x19, 0xd7, 0xfb, 0xa2, 0xf9, 0x2b, 0x31, 0xd3, 0x14, 0x40, 0xc0, + 0x97, 0xe0, 0x50, 0xcf, 0x34, 0xd1, 0x07, 0xd9, 0x5f, 0x73, 0xb2, 0x03, 0x3d, 0x52, 0x05, 0xdf, + 0x12, 0xf6, 0x4b, 0xf9, 0x37, 0x62, 0x4b, 0xc0, 0x1d, 0x5c, 0x6b, 0xe4, 0xac, 0xe0, 0x69, 0xdb, + 0xfb, 0xf3, 0xda, 0xdf, 0x0a, 0xaf, 0x31, 0x6c, 0x9b, 0xd7, 0x36, 0xe0, 0x00, 0x67, 0xdc, 0xdf, + 0xbc, 0x7e, 0x5d, 0x6c, 0xac, 0x0c, 0xbd, 0xd9, 0x3e, 0xbb, 0x9f, 0x82, 0x89, 0xc0, 0x9d, 0xa2, + 0x28, 0xf5, 0xd4, 0xba, 0xe6, 0xf4, 0xc1, 0xfc, 0x0d, 0xce, 0x2c, 0x76, 0xfc, 0xa0, 0xaa, 0xf5, + 0x2a, 0x9a, 0x43, 0xc8, 0x9f, 0x87, 0xbc, 0x20, 0x6f, 0x58, 0x2e, 0xd6, 0xed, 0x9a, 0x65, 0x5c, + 0xc7, 0xd5, 0x3e, 0xa8, 0xbf, 0xd9, 0x31, 0x55, 0x9b, 0x21, 0x38, 0x61, 0x5e, 0x02, 0x39, 0xa8, + 0x55, 0x54, 0xa3, 0xee, 0xd8, 0xae, 0x1f, 0xc1, 0xf8, 0x77, 0x62, 0xa6, 0x02, 0xdc, 0x12, 0x85, + 0x15, 0xcb, 0x90, 0xa3, 0x8f, 0xfd, 0x86, 0xe4, 0xdf, 0x73, 0xa2, 0xe1, 0x16, 0x8a, 0x6f, 0x1c, + 0xba, 0x5d, 0x77, 0x34, 0xb7, 0x9f, 0xfd, 0xef, 0x5b, 0x62, 0xe3, 0xe0, 0x10, 0xbe, 0x71, 0xf8, + 0x4d, 0x07, 0x93, 0x6c, 0xdf, 0x07, 0xc3, 0xb7, 0xc5, 0xc6, 0x21, 0x30, 0x9c, 0x42, 0x14, 0x0c, + 0x7d, 0x50, 0xfc, 0x83, 0xa0, 0x10, 0x18, 0x42, 0xf1, 0x89, 0x56, 0xa2, 0x75, 0x71, 0xcd, 0xf0, + 0x7c, 0x97, 0x95, 0xc2, 0xf7, 0xa6, 0xfa, 0xce, 0xdb, 0xed, 0x45, 0x98, 0x12, 0x82, 0x92, 0x9d, + 0x88, 0x5f, 0xa1, 0xd2, 0x93, 0x52, 0xb4, 0x61, 0xdf, 0x15, 0x3b, 0x51, 0x08, 0x46, 0x6c, 0x0b, + 0x55, 0x88, 0xc4, 0xed, 0x3a, 0x39, 0x1f, 0xf4, 0x41, 0xf7, 0xbd, 0x0e, 0xe3, 0xd6, 0x05, 0x96, + 0x70, 0x86, 0xea, 0x9f, 0x86, 0x75, 0x05, 0x37, 0xfb, 0x8a, 0xce, 0x7f, 0xec, 0xa8, 0x7f, 0x36, + 0x19, 0x92, 0xed, 0x21, 0x23, 0x1d, 0xf5, 0x14, 0x8a, 0xfa, 0x0a, 0x28, 0xff, 0xcb, 0x77, 0xf8, + 0x78, 0xdb, 0xcb, 0xa9, 0xe2, 0x32, 0x09, 0xf2, 0xf6, 0xa2, 0x27, 0x9a, 0xec, 0xa5, 0x3b, 0x41, + 0x9c, 0xb7, 0xd5, 0x3c, 0xc5, 0xf3, 0x30, 0xdc, 0x56, 0xf0, 0x44, 0x53, 0xfd, 0x0a, 0xa7, 0xca, + 0x86, 0xeb, 0x9d, 0xe2, 0x29, 0x48, 0x90, 0xe2, 0x25, 0x1a, 0xfe, 0xab, 0x1c, 0x4e, 0xd5, 0x8b, + 0x1f, 0x83, 0x94, 0x28, 0x5a, 0xa2, 0xa1, 0xbf, 0xc6, 0xa1, 0x01, 0x84, 0xc0, 0x45, 0xc1, 0x12, + 0x0d, 0xff, 0xac, 0x80, 0x0b, 0x08, 0x81, 0xf7, 0xef, 0xc2, 0xef, 0xff, 0x46, 0x82, 0x27, 0x1d, + 0xe1, 0xbb, 0x73, 0x30, 0xc4, 0x2b, 0x95, 0x68, 0xf4, 0xe7, 0x78, 0xe7, 0x02, 0x51, 0x3c, 0x03, + 0xc9, 0x3e, 0x1d, 0xfe, 0x5b, 0x1c, 0xca, 0xf4, 0x8b, 0xf3, 0x90, 0x09, 0x55, 0x27, 0xd1, 0xf0, + 0xdf, 0xe6, 0xf0, 0x30, 0x8a, 0x98, 0xce, 0xab, 0x93, 0x68, 0x82, 0xdf, 0x11, 0xa6, 0x73, 0x04, + 0x71, 0x9b, 0x28, 0x4c, 0xa2, 0xd1, 0xbf, 0x2b, 0xbc, 0x2e, 0x20, 0xc5, 0xe7, 0x20, 0x1d, 0x24, + 0x9b, 0x68, 0xfc, 0xef, 0x71, 0x7c, 0x0b, 0x43, 0x3c, 0x10, 0x4a, 0x76, 0xd1, 0x14, 0xbf, 0x2f, + 0x3c, 0x10, 0x42, 0x91, 0x65, 0xd4, 0x59, 0xc0, 0x44, 0x33, 0xfd, 0x81, 0x58, 0x46, 0x1d, 0xf5, + 0x0b, 0x99, 0x4d, 0xba, 0xe7, 0x47, 0x53, 0xfc, 0xa1, 0x98, 0x4d, 0xaa, 0x4f, 0xcc, 0xe8, 0xac, + 0x08, 0xa2, 0x39, 0xfe, 0x48, 0x98, 0xd1, 0x51, 0x10, 0x14, 0xd7, 0x00, 0x75, 0x57, 0x03, 0xd1, + 0x7c, 0x9f, 0xe7, 0x7c, 0xa3, 0x5d, 0xc5, 0x40, 0xf1, 0x22, 0x1c, 0xe8, 0x5d, 0x09, 0x44, 0xb3, + 0x7e, 0xe1, 0x4e, 0xc7, 0xd9, 0x2d, 0x5c, 0x08, 0x14, 0x37, 0x5a, 0x29, 0x25, 0x5c, 0x05, 0x44, + 0xd3, 0xbe, 0x7c, 0xa7, 0x7d, 0xe3, 0x0e, 0x17, 0x01, 0xc5, 0x39, 0x80, 0x56, 0x02, 0x8e, 0xe6, + 0x7a, 0x85, 0x73, 0x85, 0x40, 0x64, 0x69, 0xf0, 0xfc, 0x1b, 0x8d, 0xff, 0xa2, 0x58, 0x1a, 0x1c, + 0x41, 0x96, 0x86, 0x48, 0xbd, 0xd1, 0xe8, 0x57, 0xc5, 0xd2, 0x10, 0x10, 0x12, 0xd9, 0xa1, 0xec, + 0x16, 0xcd, 0xf0, 0x25, 0x11, 0xd9, 0x21, 0x54, 0x71, 0x05, 0x46, 0xbb, 0x12, 0x62, 0x34, 0xd5, + 0x97, 0x39, 0x95, 0xdc, 0x99, 0x0f, 0xc3, 0xc9, 0x8b, 0x27, 0xc3, 0x68, 0xb6, 0x3f, 0xeb, 0x48, + 0x5e, 0x3c, 0x17, 0x16, 0xcf, 0x41, 0xca, 0x6a, 0x98, 0x26, 0x59, 0x3c, 0xe8, 0xde, 0x5f, 0xee, + 0xe5, 0x7f, 0xf2, 0x1e, 0xf7, 0x8e, 0x00, 0x14, 0x4f, 0x41, 0x12, 0xd7, 0xb7, 0x70, 0x35, 0x0a, + 0xf9, 0x1f, 0xef, 0x89, 0x0d, 0x93, 0x68, 0x17, 0x9f, 0x03, 0x60, 0x57, 0x23, 0xf4, 0xb5, 0x5f, + 0x04, 0xf6, 0x3f, 0xdf, 0xe3, 0xdf, 0xd4, 0xb4, 0x20, 0x2d, 0x02, 0xf6, 0x85, 0xce, 0xbd, 0x09, + 0xde, 0x6e, 0x27, 0xa0, 0x33, 0xf2, 0x0c, 0x0c, 0x5d, 0xf6, 0x6c, 0xcb, 0xd7, 0x6a, 0x51, 0xe8, + 0xff, 0xe2, 0x68, 0xa1, 0x4f, 0x1c, 0x56, 0xb7, 0x5d, 0xec, 0x6b, 0x35, 0x2f, 0x0a, 0xfb, 0xdf, + 0x1c, 0x1b, 0x00, 0x08, 0x58, 0xd7, 0x3c, 0xbf, 0x9f, 0x71, 0xff, 0x8f, 0x00, 0x0b, 0x00, 0x31, + 0x9a, 0xfc, 0xbe, 0x82, 0x9b, 0x51, 0xd8, 0x77, 0x84, 0xd1, 0x5c, 0xbf, 0xf8, 0x31, 0x48, 0x93, + 0x9f, 0xec, 0x43, 0xb9, 0x08, 0xf0, 0xff, 0x72, 0x70, 0x0b, 0x41, 0x7a, 0xf6, 0xfc, 0xaa, 0x6f, + 0x44, 0x3b, 0xfb, 0xff, 0xf8, 0x4c, 0x0b, 0xfd, 0xe2, 0x1c, 0x64, 0x3c, 0xbf, 0x5a, 0x6d, 0xf0, + 0xfa, 0x34, 0x02, 0xfe, 0xff, 0xef, 0x05, 0x57, 0x16, 0x01, 0x86, 0xcc, 0xf6, 0xb5, 0x2b, 0xbe, + 0x63, 0xd3, 0xd7, 0x1c, 0x51, 0x0c, 0x77, 0x38, 0x43, 0x08, 0x52, 0x2a, 0xf7, 0xbe, 0xbe, 0x85, + 0x45, 0x7b, 0xd1, 0x66, 0x17, 0xb7, 0x2f, 0x4c, 0x47, 0xdf, 0xc0, 0xc2, 0x37, 0x47, 0xe0, 0xb0, + 0x6e, 0xd7, 0xb7, 0x6c, 0xef, 0x98, 0x85, 0x0d, 0x7f, 0x07, 0xbb, 0xc7, 0xc4, 0xdc, 0xf0, 0x8b, + 0xd9, 0x60, 0xae, 0x26, 0xf6, 0x77, 0xa3, 0x3b, 0xfd, 0x93, 0x61, 0x48, 0xcd, 0x6b, 0x9e, 0xaf, + 0x5d, 0xd3, 0x9a, 0xe8, 0x61, 0x48, 0x2d, 0x59, 0xfe, 0x89, 0xe3, 0x6b, 0xbe, 0x4b, 0x5f, 0x4a, + 0xc6, 0x4b, 0xe9, 0xbb, 0xb7, 0x26, 0x93, 0x06, 0x91, 0x29, 0x41, 0x13, 0x3a, 0x0a, 0x49, 0xfa, + 0x9b, 0xde, 0x6b, 0xc7, 0x4b, 0xc3, 0x37, 0x6f, 0x4d, 0x0e, 0xb4, 0xf4, 0x58, 0x1b, 0xba, 0x04, + 0x99, 0x4a, 0x73, 0xd3, 0xb0, 0xfc, 0xd3, 0x27, 0x09, 0x1d, 0xf1, 0x4d, 0xa2, 0x74, 0xe6, 0xee, + 0xad, 0xc9, 0x13, 0x7b, 0x1a, 0x48, 0x8a, 0x8a, 0xd6, 0xc0, 0x04, 0x9a, 0x7e, 0x8d, 0x1c, 0xe6, + 0x42, 0x17, 0x21, 0x25, 0x1e, 0xd9, 0xfb, 0xa1, 0xd2, 0x39, 0x6e, 0xc2, 0x7d, 0x71, 0x07, 0x64, + 0xe8, 0x17, 0x20, 0x5b, 0x69, 0x9e, 0x37, 0x6d, 0x8d, 0xfb, 0x20, 0x39, 0x25, 0xcd, 0xc4, 0x4a, + 0x67, 0xef, 0xde, 0x9a, 0x3c, 0xd9, 0x37, 0x31, 0x87, 0x53, 0xe6, 0x36, 0x36, 0xf4, 0x02, 0xa4, + 0x83, 0x67, 0xfa, 0x06, 0x2a, 0x56, 0xfa, 0x28, 0xb7, 0xfb, 0xfe, 0xe8, 0x5b, 0x74, 0x21, 0xcb, + 0x99, 0xbb, 0x87, 0xa6, 0xa4, 0x19, 0xe9, 0x7e, 0x2c, 0xe7, 0x3e, 0x69, 0x63, 0x0b, 0x59, 0x7e, + 0xfa, 0x24, 0x7d, 0xe5, 0x25, 0xdd, 0xaf, 0xe5, 0x9c, 0xbe, 0x45, 0x87, 0x2e, 0xc0, 0x50, 0xa5, + 0x59, 0x6a, 0xfa, 0xd8, 0xa3, 0x1f, 0xb9, 0x65, 0x4b, 0x4f, 0xdf, 0xbd, 0x35, 0xf9, 0x64, 0x9f, + 0xac, 0x14, 0xa7, 0x08, 0x02, 0x34, 0x05, 0x99, 0x15, 0xdb, 0xad, 0x6b, 0x26, 0xe3, 0x03, 0xf6, + 0x0a, 0x2f, 0x24, 0x42, 0x9b, 0x64, 0x24, 0x6c, 0xb6, 0x3d, 0xfa, 0xff, 0x51, 0x3f, 0x43, 0x4c, + 0xb6, 0x98, 0x90, 0x01, 0xc9, 0x4a, 0xb3, 0xa2, 0x39, 0xf9, 0x2c, 0x7d, 0xbf, 0x74, 0x78, 0x36, + 0x40, 0x88, 0xb5, 0x35, 0x4b, 0xdb, 0xe9, 0x87, 0x38, 0xa5, 0x93, 0x77, 0x6f, 0x4d, 0x3e, 0xdd, + 0x77, 0x8f, 0x15, 0xcd, 0xa1, 0xdd, 0xb1, 0x1e, 0xd0, 0xb7, 0x24, 0xb2, 0xb0, 0xd8, 0x05, 0x3d, + 0xe9, 0x71, 0x98, 0xf6, 0x78, 0xb4, 0x67, 0x8f, 0x81, 0x16, 0xeb, 0xd7, 0xfa, 0xcc, 0xeb, 0xfb, + 0x18, 0x29, 0x3b, 0x17, 0x92, 0xae, 0x7f, 0xfd, 0xf5, 0xfb, 0x5e, 0xb4, 0x81, 0x05, 0xe8, 0x25, + 0x09, 0x86, 0x2b, 0xcd, 0x15, 0x9e, 0xc0, 0x89, 0xe5, 0x39, 0xfe, 0x5f, 0x34, 0xbd, 0x2c, 0x0f, + 0xe9, 0x31, 0xdb, 0x4f, 0x7f, 0xe6, 0xf5, 0xc9, 0xe3, 0x7d, 0x1b, 0x41, 0xb7, 0x20, 0x6a, 0x43, + 0x7b, 0x9f, 0xe8, 0xb3, 0xd4, 0x8a, 0x32, 0x29, 0x06, 0xaa, 0xb8, 0x4a, 0xac, 0x18, 0xb9, 0x87, + 0x15, 0x21, 0x3d, 0x66, 0x45, 0x91, 0x44, 0xfd, 0xfd, 0x5b, 0x12, 0xe2, 0x43, 0xab, 0x30, 0xc8, + 0x3c, 0x4c, 0x3f, 0xb0, 0x4c, 0xef, 0x33, 0x0c, 0x5b, 0x93, 0xa3, 0x70, 0x9a, 0x89, 0xb3, 0x00, + 0xad, 0x18, 0x43, 0x32, 0xc4, 0xaf, 0xe0, 0x26, 0xff, 0x8a, 0x96, 0xfc, 0x44, 0xe3, 0xad, 0xcf, + 0xdc, 0xa5, 0x99, 0x04, 0xff, 0x76, 0xbd, 0x18, 0x3b, 0x2b, 0x4d, 0x3c, 0x0b, 0x72, 0x67, 0xac, + 0xec, 0x0b, 0xaf, 0x00, 0xea, 0x9e, 0xb1, 0x30, 0x43, 0x92, 0x31, 0x3c, 0x12, 0x66, 0xc8, 0x1c, + 0x97, 0x5b, 0x3e, 0xbf, 0x68, 0x98, 0x9e, 0x6d, 0x75, 0x71, 0x76, 0xfa, 0xff, 0x67, 0xe3, 0x9c, + 0x2e, 0xc0, 0x20, 0x13, 0x92, 0xb1, 0x2c, 0xd1, 0xf4, 0x41, 0xb3, 0x9c, 0xc2, 0x1e, 0x4a, 0xcb, + 0x37, 0x6f, 0x17, 0x06, 0x7e, 0x78, 0xbb, 0x30, 0xf0, 0xaf, 0xb7, 0x0b, 0x03, 0x6f, 0xdc, 0x2e, + 0x48, 0x6f, 0xdd, 0x2e, 0x48, 0xef, 0xdc, 0x2e, 0x48, 0xef, 0xde, 0x2e, 0x48, 0x37, 0x76, 0x0b, + 0xd2, 0x57, 0x77, 0x0b, 0xd2, 0xd7, 0x77, 0x0b, 0xd2, 0x77, 0x76, 0x0b, 0xd2, 0xf7, 0x77, 0x0b, + 0xd2, 0xcd, 0xdd, 0xc2, 0xc0, 0x0f, 0x77, 0x0b, 0x03, 0x6f, 0xec, 0x16, 0xa4, 0xb7, 0x76, 0x0b, + 0x03, 0xef, 0xec, 0x16, 0xa4, 0x77, 0x77, 0x0b, 0x03, 0x37, 0x7e, 0x5c, 0x18, 0xf8, 0x69, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x98, 0xc1, 0x05, 0xa0, 0xa9, 0x3a, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1383,55 +1435,3 @@ func valueToStringCasttype(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { - proto.RegisterFile("combos/neither/casttype.proto", fileDescriptor_casttype_d04722a9b63e08e7) -} - -var fileDescriptor_casttype_d04722a9b63e08e7 = []byte{ - // 695 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x40, - 0x14, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0x06, 0xa2, 0x13, 0x83, 0x55, 0xa9, 0x67, 0xab, 0x55, - 0x91, 0x07, 0x48, 0xaa, 0x34, 0x2a, 0x55, 0x41, 0x0c, 0xae, 0x8a, 0x54, 0x84, 0x0b, 0x32, 0x54, - 0x15, 0x88, 0xc5, 0x69, 0x4d, 0x6a, 0xe1, 0xd8, 0x51, 0x7c, 0x01, 0x79, 0xab, 0xca, 0x80, 0xc4, - 0x5f, 0xc2, 0xc8, 0x82, 0xc4, 0xc8, 0xd8, 0xb1, 0x23, 0x53, 0x5a, 0x9b, 0xa5, 0x6c, 0x1d, 0xab, - 0x4c, 0xe8, 0xee, 0x1c, 0xdb, 0xfd, 0x01, 0x4a, 0xdd, 0xed, 0xde, 0xdd, 0x7b, 0x9f, 0xf7, 0xbd, - 0x77, 0xef, 0xee, 0xe0, 0xcc, 0xb6, 0xdb, 0x6e, 0xba, 0x5e, 0xcd, 0x31, 0x2d, 0xb2, 0x6b, 0x76, - 0x6b, 0xdb, 0x86, 0x47, 0x88, 0xdf, 0x31, 0xab, 0x9d, 0xae, 0x4b, 0x5c, 0x54, 0x18, 0xda, 0xd3, - 0xf7, 0x5b, 0x16, 0xd9, 0xed, 0x35, 0xab, 0xdb, 0x6e, 0xbb, 0xd6, 0x72, 0x5b, 0x6e, 0x8d, 0x39, - 0x34, 0x7b, 0xef, 0x98, 0xc5, 0x0c, 0x36, 0xe2, 0x81, 0xb3, 0x7f, 0xca, 0xb0, 0xb0, 0x6a, 0x78, - 0xc4, 0xf8, 0x68, 0xf8, 0x68, 0x1e, 0x16, 0xd6, 0x1d, 0xb2, 0x58, 0x7f, 0x41, 0xba, 0x22, 0x90, - 0x81, 0x92, 0x53, 0x8b, 0x83, 0xbe, 0x94, 0xb7, 0xe8, 0x9c, 0x1e, 0x2f, 0xa1, 0x39, 0x98, 0x67, - 0x63, 0x71, 0x8c, 0xf9, 0x94, 0x0f, 0xfa, 0x92, 0x90, 0xf8, 0xf1, 0x35, 0xf4, 0x1a, 0x96, 0x34, - 0x7f, 0xd3, 0x72, 0xc8, 0x52, 0x83, 0xe2, 0x72, 0x32, 0x50, 0xc6, 0xd5, 0x07, 0x83, 0xbe, 0xb4, - 0xf8, 0x4f, 0x81, 0xc4, 0xf4, 0x48, 0xb2, 0xb1, 0x61, 0xf4, 0x2b, 0xbf, 0x63, 0xea, 0x69, 0x16, - 0xda, 0x82, 0x85, 0xa1, 0x29, 0x8e, 0x33, 0xee, 0xc3, 0x48, 0x42, 0x26, 0x76, 0x0c, 0x43, 0x6f, - 0xe1, 0x94, 0xe6, 0x3f, 0xb1, 0x5d, 0x23, 0xaa, 0x41, 0x5e, 0x06, 0xca, 0x98, 0xba, 0x3c, 0xe8, - 0x4b, 0x8d, 0x91, 0xc1, 0x51, 0x38, 0x23, 0x9f, 0xa3, 0xa1, 0x37, 0xb0, 0x18, 0xdb, 0xe2, 0x04, - 0x43, 0x3f, 0x8a, 0x74, 0x67, 0xc3, 0x27, 0xb8, 0x94, 0x72, 0x5e, 0xee, 0x49, 0x19, 0x28, 0x20, - 0x8b, 0xf2, 0xa8, 0x26, 0xe7, 0x68, 0x29, 0xe5, 0x4b, 0x0d, 0xb1, 0xc0, 0xd0, 0x19, 0x95, 0x47, - 0xf8, 0x04, 0x87, 0x9e, 0xc2, 0x49, 0xcd, 0x57, 0x7d, 0x62, 0x7a, 0x62, 0x51, 0x06, 0xca, 0x94, - 0xba, 0x30, 0xe8, 0x4b, 0xf7, 0x46, 0xa4, 0xb2, 0x38, 0x7d, 0x08, 0x40, 0x32, 0x2c, 0x6d, 0xb8, - 0xdd, 0xb6, 0x61, 0x73, 0x1e, 0xa4, 0x3c, 0x3d, 0x3d, 0x85, 0x36, 0xe9, 0x4e, 0xf8, 0x69, 0x7b, - 0x62, 0x49, 0xce, 0xdd, 0xa4, 0x27, 0x13, 0x12, 0xb2, 0x60, 0x5e, 0xf3, 0x35, 0xa3, 0x23, 0x4e, - 0xc9, 0x39, 0xa5, 0x54, 0x9f, 0xa9, 0xc6, 0x11, 0xc3, 0xbb, 0x55, 0x65, 0xeb, 0x6b, 0x0e, 0xe9, - 0xfa, 0x6a, 0x63, 0xd0, 0x97, 0x16, 0x46, 0xce, 0xa8, 0x19, 0x1d, 0x96, 0x8e, 0x67, 0x40, 0xdf, - 0x01, 0xbd, 0x58, 0xab, 0x3d, 0x8f, 0xb8, 0x6d, 0x9a, 0xb1, 0xcc, 0x32, 0xce, 0x5d, 0x99, 0x31, - 0xf6, 0xe2, 0x79, 0x9d, 0xfd, 0xa3, 0x6b, 0xec, 0xf4, 0x25, 0xe9, 0x5a, 0x4e, 0x8b, 0xa6, 0xfe, - 0x72, 0x94, 0xf9, 0xd2, 0xc6, 0x0a, 0xd0, 0x27, 0x00, 0xcb, 0x9a, 0xbf, 0xd1, 0xb3, 0x6d, 0xa3, - 0x69, 0x9b, 0x54, 0xf9, 0x2d, 0xa6, 0x7c, 0xfe, 0x4a, 0xe5, 0x29, 0x3f, 0xae, 0x7d, 0x69, 0xff, - 0x48, 0xaa, 0x8f, 0x2c, 0x82, 0x3d, 0x41, 0x4c, 0xc3, 0xf9, 0x9c, 0xe8, 0x33, 0x53, 0xb1, 0xd6, - 0x6e, 0x9a, 0x3b, 0x3b, 0xe6, 0x0e, 0x55, 0x71, 0xfb, 0x3f, 0x2a, 0x52, 0x7e, 0x5c, 0xc5, 0x0a, - 0xed, 0xfa, 0xec, 0x4a, 0x52, 0x3c, 0xf4, 0x1c, 0x4e, 0xf0, 0x0a, 0x8b, 0x15, 0x19, 0x28, 0xc5, - 0x6b, 0xb6, 0x61, 0x72, 0x38, 0x7a, 0x84, 0x99, 0x5e, 0x86, 0x30, 0xe9, 0x31, 0x54, 0x81, 0xb9, - 0xf7, 0xa6, 0xcf, 0x5e, 0xf1, 0xa2, 0x4e, 0x87, 0xe8, 0x0e, 0xcc, 0x7f, 0x30, 0xec, 0x9e, 0xc9, - 0x5e, 0xed, 0x71, 0x9d, 0x1b, 0x2b, 0x63, 0xcb, 0x60, 0xfa, 0x31, 0xac, 0x5c, 0xec, 0x95, 0x6b, - 0xc5, 0xeb, 0x10, 0x5d, 0x3e, 0xb1, 0x34, 0x21, 0xcf, 0x09, 0x77, 0xd3, 0x84, 0x52, 0xbd, 0x92, - 0xd4, 0x7c, 0xcb, 0xb2, 0x3d, 0xd7, 0xb9, 0xc4, 0xbc, 0x58, 0xff, 0x9b, 0x31, 0x67, 0x31, 0x9c, - 0xe0, 0x93, 0x74, 0x2f, 0xeb, 0xec, 0xfb, 0x60, 0xbf, 0x9c, 0xce, 0x0d, 0xf5, 0xd9, 0x41, 0x80, - 0x85, 0xc3, 0x00, 0x0b, 0xbf, 0x02, 0x2c, 0x1c, 0x07, 0x18, 0x9c, 0x04, 0x18, 0x9c, 0x06, 0x18, - 0x9c, 0x05, 0x18, 0xec, 0x85, 0x18, 0x7c, 0x0d, 0x31, 0xf8, 0x16, 0x62, 0xf0, 0x23, 0xc4, 0xe0, - 0x67, 0x88, 0xc1, 0x41, 0x88, 0x85, 0xc3, 0x10, 0x0b, 0xc7, 0x21, 0x06, 0x27, 0x21, 0x16, 0x4e, - 0x43, 0x0c, 0xce, 0x42, 0x2c, 0xec, 0xfd, 0xc6, 0xc2, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, - 0x22, 0x40, 0x8d, 0xb2, 0x07, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/casttype/combos/unmarshaler/casttype.pb.go b/vendor/github.com/gogo/protobuf/test/casttype/combos/unmarshaler/casttype.pb.go index 3505678fe..48c2be414 100644 --- a/vendor/github.com/gogo/protobuf/test/casttype/combos/unmarshaler/casttype.pb.go +++ b/vendor/github.com/gogo/protobuf/test/casttype/combos/unmarshaler/casttype.pb.go @@ -3,25 +3,23 @@ package casttype -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -59,7 +57,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_bbbbfd21588d9441, []int{0} + return fileDescriptor_46f4856cfc83fd14, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -67,8 +65,8 @@ func (m *Castaway) XXX_Unmarshal(b []byte) error { func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Castaway.Marshal(b, m, deterministic) } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return xxx_messageInfo_Castaway.Size(m) @@ -89,7 +87,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_casttype_bbbbfd21588d9441, []int{1} + return fileDescriptor_46f4856cfc83fd14, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -97,8 +95,8 @@ func (m *Wilson) XXX_Unmarshal(b []byte) error { func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Wilson.Marshal(b, m, deterministic) } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return xxx_messageInfo_Wilson.Size(m) @@ -117,6 +115,57 @@ func init() { proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)(nil), "casttype.Castaway.MyNullableMapEntry") proto.RegisterType((*Wilson)(nil), "casttype.Wilson") } + +func init() { proto.RegisterFile("combos/unmarshaler/casttype.proto", fileDescriptor_46f4856cfc83fd14) } + +var fileDescriptor_46f4856cfc83fd14 = []byte{ + // 698 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0x06, 0xa2, 0x13, 0x83, 0x55, 0x89, 0xb3, 0x69, 0x55, + 0xe4, 0x01, 0x92, 0x2a, 0x8d, 0x4a, 0x55, 0x10, 0x83, 0xab, 0x22, 0x15, 0xe1, 0x82, 0x0c, 0x55, + 0x05, 0x62, 0xb9, 0xb4, 0x26, 0x8d, 0x70, 0xec, 0xc8, 0xbe, 0x80, 0xbc, 0x55, 0x65, 0x40, 0xe2, + 0x2f, 0x61, 0x64, 0x41, 0x62, 0x64, 0xec, 0xd8, 0x91, 0x29, 0xad, 0xcd, 0x52, 0xb6, 0x8e, 0x55, + 0x26, 0x74, 0x77, 0x4e, 0xec, 0xfe, 0x00, 0xa5, 0xe9, 0x76, 0xef, 0xee, 0xbd, 0xcf, 0xfb, 0xde, + 0xbb, 0x77, 0x77, 0xf0, 0xce, 0x96, 0xdb, 0xaa, 0xbb, 0x7e, 0xa5, 0xe3, 0xb4, 0x88, 0xe7, 0xef, + 0x10, 0xdb, 0xf2, 0x2a, 0x5b, 0xc4, 0xa7, 0x34, 0x68, 0x5b, 0xe5, 0xb6, 0xe7, 0x52, 0x17, 0xe5, + 0xfa, 0xf6, 0xf4, 0xfd, 0x46, 0x93, 0xee, 0x74, 0xea, 0xe5, 0x2d, 0xb7, 0x55, 0x69, 0xb8, 0x0d, + 0xb7, 0xc2, 0x1d, 0xea, 0x9d, 0x77, 0xdc, 0xe2, 0x06, 0x1f, 0x89, 0xc0, 0x99, 0x3f, 0x45, 0x98, + 0x5b, 0x21, 0x3e, 0x25, 0x1f, 0x49, 0x80, 0xe6, 0x60, 0x6e, 0xcd, 0xa1, 0x0b, 0xd5, 0x17, 0xd4, + 0x93, 0x81, 0x0a, 0xb4, 0x8c, 0x9e, 0xef, 0x75, 0x95, 0x6c, 0x93, 0xcd, 0x99, 0x83, 0x25, 0x34, + 0x0b, 0xb3, 0x7c, 0x2c, 0x8f, 0x71, 0x9f, 0xe2, 0x7e, 0x57, 0x91, 0x12, 0x3f, 0xb1, 0x86, 0x5e, + 0xc3, 0x82, 0x11, 0x6c, 0x34, 0x1d, 0xba, 0x58, 0x63, 0xb8, 0x8c, 0x0a, 0xb4, 0x71, 0xfd, 0x41, + 0xaf, 0xab, 0x2c, 0xfc, 0x53, 0x20, 0xb5, 0x7c, 0x9a, 0x6c, 0xac, 0x1f, 0xfd, 0x2a, 0x68, 0x5b, + 0x66, 0x9a, 0x85, 0x36, 0x61, 0xae, 0x6f, 0xca, 0xe3, 0x9c, 0xfb, 0x30, 0x96, 0x30, 0x12, 0x7b, + 0x00, 0x43, 0x6f, 0xe1, 0x94, 0x11, 0x3c, 0xb1, 0x5d, 0x12, 0xd7, 0x20, 0xab, 0x02, 0x6d, 0x4c, + 0x5f, 0xea, 0x75, 0x95, 0xda, 0xd0, 0xe0, 0x38, 0x9c, 0x93, 0xcf, 0xd0, 0xd0, 0x1b, 0x98, 0x1f, + 0xd8, 0xf2, 0x04, 0x47, 0x3f, 0x8a, 0x75, 0x8f, 0x86, 0x4f, 0x70, 0x29, 0xe5, 0xa2, 0xdc, 0x93, + 0x2a, 0xd0, 0xc0, 0x28, 0xca, 0xe3, 0x9a, 0x9c, 0xa1, 0xa5, 0x94, 0x2f, 0xd6, 0xe4, 0x1c, 0x47, + 0x8f, 0xa8, 0x3c, 0xc6, 0x27, 0x38, 0xf4, 0x14, 0x4e, 0x1a, 0x81, 0x1e, 0x50, 0xcb, 0x97, 0xf3, + 0x2a, 0xd0, 0xa6, 0xf4, 0xf9, 0x5e, 0x57, 0xb9, 0x37, 0x24, 0x95, 0xc7, 0x99, 0x7d, 0x00, 0x52, + 0x61, 0x61, 0xdd, 0xf5, 0x5a, 0xc4, 0x16, 0x3c, 0xc8, 0x78, 0x66, 0x7a, 0x0a, 0x6d, 0xb0, 0x9d, + 0x88, 0xd3, 0xf6, 0xe5, 0x82, 0x9a, 0xb9, 0x4e, 0x4f, 0x26, 0x24, 0xd4, 0x84, 0x59, 0x23, 0x30, + 0x48, 0x5b, 0x9e, 0x52, 0x33, 0x5a, 0xa1, 0x7a, 0xbb, 0x3c, 0x88, 0xe8, 0xdf, 0xad, 0x32, 0x5f, + 0x5f, 0x75, 0xa8, 0x17, 0xe8, 0xb5, 0x5e, 0x57, 0x99, 0x1f, 0x3a, 0xa3, 0x41, 0xda, 0x3c, 0x9d, + 0xc8, 0x80, 0xbe, 0x03, 0x76, 0xb1, 0x56, 0x3a, 0x3e, 0x75, 0x5b, 0x2c, 0x63, 0x91, 0x67, 0x9c, + 0xbd, 0x34, 0xe3, 0xc0, 0x4b, 0xe4, 0x75, 0xf6, 0x0e, 0xaf, 0xb0, 0xd3, 0x97, 0xd4, 0x6b, 0x3a, + 0x0d, 0x96, 0xfa, 0xcb, 0xe1, 0xc8, 0x97, 0x76, 0xa0, 0x00, 0x7d, 0x02, 0xb0, 0x68, 0x04, 0xeb, + 0x1d, 0xdb, 0x26, 0x75, 0xdb, 0x62, 0xca, 0x6f, 0x70, 0xe5, 0x73, 0x97, 0x2a, 0x4f, 0xf9, 0x09, + 0xed, 0x8b, 0x7b, 0x87, 0x4a, 0x75, 0x68, 0x11, 0xfc, 0x09, 0xe2, 0x1a, 0xce, 0xe6, 0x44, 0x9f, + 0xb9, 0x8a, 0xd5, 0x56, 0xdd, 0xda, 0xde, 0xb6, 0xb6, 0x99, 0x8a, 0x9b, 0xff, 0x51, 0x91, 0xf2, + 0x13, 0x2a, 0x96, 0x59, 0xd7, 0x8f, 0xae, 0x24, 0xc5, 0x43, 0xcf, 0xe1, 0x84, 0xa8, 0xb0, 0x5c, + 0x52, 0x81, 0x96, 0xbf, 0x62, 0x1b, 0x26, 0x87, 0x63, 0xc6, 0x98, 0xe9, 0x25, 0x08, 0x93, 0x1e, + 0x43, 0x25, 0x98, 0x79, 0x6f, 0x05, 0xfc, 0x15, 0xcf, 0x9b, 0x6c, 0x88, 0x6e, 0xc1, 0xec, 0x07, + 0x62, 0x77, 0x2c, 0xfe, 0x6a, 0x8f, 0x9b, 0xc2, 0x58, 0x1e, 0x5b, 0x02, 0xd3, 0x8f, 0x61, 0xe9, + 0x7c, 0xaf, 0x5c, 0x29, 0xde, 0x84, 0xe8, 0xe2, 0x89, 0xa5, 0x09, 0x59, 0x41, 0xb8, 0x9b, 0x26, + 0x14, 0xaa, 0xa5, 0xa4, 0xe6, 0x9b, 0x4d, 0xdb, 0x77, 0x9d, 0x0b, 0xcc, 0xf3, 0xf5, 0xbf, 0x1e, + 0x73, 0x06, 0xc3, 0x09, 0x31, 0xc9, 0xf6, 0xb2, 0xc6, 0xbf, 0x0f, 0xfe, 0xcb, 0x99, 0xc2, 0xd0, + 0x9f, 0xed, 0x87, 0x58, 0x3a, 0x08, 0xb1, 0xf4, 0x2b, 0xc4, 0xd2, 0x51, 0x88, 0xc1, 0x71, 0x88, + 0xc1, 0x49, 0x88, 0xc1, 0x69, 0x88, 0xc1, 0x6e, 0x84, 0xc1, 0xd7, 0x08, 0x83, 0x6f, 0x11, 0x06, + 0x3f, 0x22, 0x0c, 0x7e, 0x46, 0x18, 0xec, 0x47, 0x58, 0x3a, 0x88, 0x30, 0x38, 0x8a, 0x30, 0x38, + 0x8e, 0xb0, 0x74, 0x12, 0x61, 0x70, 0x1a, 0x61, 0x69, 0xf7, 0x37, 0x96, 0xfe, 0x06, 0x00, 0x00, + 0xff, 0xff, 0xa8, 0xc0, 0xa5, 0xf1, 0xb6, 0x07, 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CasttypeDescription() } @@ -126,279 +175,281 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CasttypeDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4343 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0xe6, 0xe2, 0x87, 0x04, 0x0e, 0x40, 0x70, 0x79, 0x49, 0xcb, 0x30, 0x1d, 0x83, 0x14, 0xe5, - 0x1f, 0xda, 0x4e, 0x28, 0x8f, 0xfe, 0x05, 0x25, 0x76, 0x09, 0x12, 0x62, 0xa0, 0x12, 0x24, 0xb3, - 0x24, 0x23, 0xcb, 0x69, 0x67, 0x67, 0xb9, 0xb8, 0x04, 0x57, 0x5a, 0xec, 0x6e, 0x76, 0x17, 0x92, - 0xa1, 0xe9, 0x83, 0x1a, 0xb7, 0xcd, 0xa4, 0x9d, 0xfe, 0x77, 0xa6, 0x89, 0xeb, 0xb8, 0x4d, 0x3a, - 0x8d, 0xd3, 0xf4, 0x2f, 0x69, 0x1a, 0x37, 0x49, 0x5f, 0xf2, 0x92, 0xd6, 0x4f, 0x9d, 0xe4, 0xad, - 0x0f, 0x1d, 0xd9, 0x62, 0x3c, 0x53, 0xa7, 0x75, 0x1b, 0xb7, 0xd5, 0x83, 0x47, 0x7e, 0xc9, 0xdc, - 0xbf, 0xc5, 0xe2, 0x87, 0x5a, 0x50, 0x19, 0x3b, 0x4f, 0xc4, 0x9e, 0x7b, 0xbe, 0xef, 0x9e, 0x7b, - 0xee, 0xb9, 0xf7, 0x9c, 0x7b, 0x77, 0x09, 0x3f, 0x39, 0x0b, 0x33, 0x75, 0xdb, 0xae, 0x9b, 0xf8, - 0xa8, 0xe3, 0xda, 0xbe, 0xbd, 0xdd, 0xdc, 0x39, 0x5a, 0xc3, 0x9e, 0xee, 0x1a, 0x8e, 0x6f, 0xbb, - 0xf3, 0x54, 0x86, 0xc6, 0x98, 0xc6, 0xbc, 0xd0, 0x98, 0xad, 0xc2, 0xf8, 0x79, 0xc3, 0xc4, 0x4b, - 0x81, 0xe2, 0x06, 0xf6, 0xd1, 0x19, 0x48, 0xec, 0x18, 0x26, 0xce, 0x4b, 0x33, 0xf1, 0xb9, 0xcc, - 0xb1, 0x87, 0xe7, 0xbb, 0x40, 0xf3, 0x9d, 0x88, 0x75, 0x22, 0x56, 0x28, 0x62, 0xf6, 0xcd, 0x04, - 0x4c, 0xf4, 0x69, 0x45, 0x08, 0x12, 0x96, 0xd6, 0x20, 0x8c, 0xd2, 0x5c, 0x5a, 0xa1, 0xbf, 0x51, - 0x1e, 0x46, 0x1c, 0x4d, 0xbf, 0xa2, 0xd5, 0x71, 0x3e, 0x46, 0xc5, 0xe2, 0x11, 0x15, 0x00, 0x6a, - 0xd8, 0xc1, 0x56, 0x0d, 0x5b, 0x7a, 0x2b, 0x1f, 0x9f, 0x89, 0xcf, 0xa5, 0x95, 0x90, 0x04, 0x3d, - 0x09, 0xe3, 0x4e, 0x73, 0xdb, 0x34, 0x74, 0x35, 0xa4, 0x06, 0x33, 0xf1, 0xb9, 0xa4, 0x22, 0xb3, - 0x86, 0xa5, 0xb6, 0xf2, 0x63, 0x30, 0x76, 0x0d, 0x6b, 0x57, 0xc2, 0xaa, 0x19, 0xaa, 0x9a, 0x23, - 0xe2, 0x90, 0xe2, 0x22, 0x64, 0x1b, 0xd8, 0xf3, 0xb4, 0x3a, 0x56, 0xfd, 0x96, 0x83, 0xf3, 0x09, - 0x3a, 0xfa, 0x99, 0x9e, 0xd1, 0x77, 0x8f, 0x3c, 0xc3, 0x51, 0x9b, 0x2d, 0x07, 0xa3, 0x05, 0x48, - 0x63, 0xab, 0xd9, 0x60, 0x0c, 0xc9, 0x7d, 0xfc, 0x57, 0xb6, 0x9a, 0x8d, 0x6e, 0x96, 0x14, 0x81, - 0x71, 0x8a, 0x11, 0x0f, 0xbb, 0x57, 0x0d, 0x1d, 0xe7, 0x87, 0x29, 0xc1, 0x63, 0x3d, 0x04, 0x1b, - 0xac, 0xbd, 0x9b, 0x43, 0xe0, 0xd0, 0x22, 0xa4, 0xf1, 0xf3, 0x3e, 0xb6, 0x3c, 0xc3, 0xb6, 0xf2, - 0x23, 0x94, 0xe4, 0x91, 0x3e, 0xb3, 0x88, 0xcd, 0x5a, 0x37, 0x45, 0x1b, 0x87, 0x4e, 0xc1, 0x88, - 0xed, 0xf8, 0x86, 0x6d, 0x79, 0xf9, 0xd4, 0x8c, 0x34, 0x97, 0x39, 0xf6, 0xa1, 0xbe, 0x81, 0xb0, - 0xc6, 0x74, 0x14, 0xa1, 0x8c, 0x2a, 0x20, 0x7b, 0x76, 0xd3, 0xd5, 0xb1, 0xaa, 0xdb, 0x35, 0xac, - 0x1a, 0xd6, 0x8e, 0x9d, 0x4f, 0x53, 0x82, 0xe9, 0xde, 0x81, 0x50, 0xc5, 0x45, 0xbb, 0x86, 0x2b, - 0xd6, 0x8e, 0xad, 0xe4, 0xbc, 0x8e, 0x67, 0x74, 0x08, 0x86, 0xbd, 0x96, 0xe5, 0x6b, 0xcf, 0xe7, - 0xb3, 0x34, 0x42, 0xf8, 0xd3, 0xec, 0x77, 0x86, 0x61, 0x6c, 0x90, 0x10, 0x3b, 0x07, 0xc9, 0x1d, - 0x32, 0xca, 0x7c, 0xec, 0x20, 0x3e, 0x60, 0x98, 0x4e, 0x27, 0x0e, 0xdf, 0xa3, 0x13, 0x17, 0x20, - 0x63, 0x61, 0xcf, 0xc7, 0x35, 0x16, 0x11, 0xf1, 0x01, 0x63, 0x0a, 0x18, 0xa8, 0x37, 0xa4, 0x12, - 0xf7, 0x14, 0x52, 0xcf, 0xc2, 0x58, 0x60, 0x92, 0xea, 0x6a, 0x56, 0x5d, 0xc4, 0xe6, 0xd1, 0x28, - 0x4b, 0xe6, 0xcb, 0x02, 0xa7, 0x10, 0x98, 0x92, 0xc3, 0x1d, 0xcf, 0x68, 0x09, 0xc0, 0xb6, 0xb0, - 0xbd, 0xa3, 0xd6, 0xb0, 0x6e, 0xe6, 0x53, 0xfb, 0x78, 0x69, 0x8d, 0xa8, 0xf4, 0x78, 0xc9, 0x66, - 0x52, 0xdd, 0x44, 0x67, 0xdb, 0xa1, 0x36, 0xb2, 0x4f, 0xa4, 0x54, 0xd9, 0x22, 0xeb, 0x89, 0xb6, - 0x2d, 0xc8, 0xb9, 0x98, 0xc4, 0x3d, 0xae, 0xf1, 0x91, 0xa5, 0xa9, 0x11, 0xf3, 0x91, 0x23, 0x53, - 0x38, 0x8c, 0x0d, 0x6c, 0xd4, 0x0d, 0x3f, 0xa2, 0x23, 0x10, 0x08, 0x54, 0x1a, 0x56, 0x40, 0x77, - 0xa1, 0xac, 0x10, 0xae, 0x6a, 0x0d, 0x3c, 0x75, 0x1d, 0x72, 0x9d, 0xee, 0x41, 0x93, 0x90, 0xf4, - 0x7c, 0xcd, 0xf5, 0x69, 0x14, 0x26, 0x15, 0xf6, 0x80, 0x64, 0x88, 0x63, 0xab, 0x46, 0x77, 0xb9, - 0xa4, 0x42, 0x7e, 0xa2, 0x5f, 0x68, 0x0f, 0x38, 0x4e, 0x07, 0xfc, 0x68, 0xef, 0x8c, 0x76, 0x30, - 0x77, 0x8f, 0x7b, 0xea, 0x34, 0x8c, 0x76, 0x0c, 0x60, 0xd0, 0xae, 0x67, 0x7f, 0x05, 0xee, 0xeb, - 0x4b, 0x8d, 0x9e, 0x85, 0xc9, 0xa6, 0x65, 0x58, 0x3e, 0x76, 0x1d, 0x17, 0x93, 0x88, 0x65, 0x5d, - 0xe5, 0xff, 0x63, 0x64, 0x9f, 0x98, 0xdb, 0x0a, 0x6b, 0x33, 0x16, 0x65, 0xa2, 0xd9, 0x2b, 0x7c, - 0x22, 0x9d, 0x7a, 0x6b, 0x44, 0xbe, 0x71, 0xe3, 0xc6, 0x8d, 0xd8, 0xec, 0xe7, 0x87, 0x61, 0xb2, - 0xdf, 0x9a, 0xe9, 0xbb, 0x7c, 0x0f, 0xc1, 0xb0, 0xd5, 0x6c, 0x6c, 0x63, 0x97, 0x3a, 0x29, 0xa9, - 0xf0, 0x27, 0xb4, 0x00, 0x49, 0x53, 0xdb, 0xc6, 0x66, 0x3e, 0x31, 0x23, 0xcd, 0xe5, 0x8e, 0x3d, - 0x39, 0xd0, 0xaa, 0x9c, 0x5f, 0x21, 0x10, 0x85, 0x21, 0xd1, 0xd3, 0x90, 0xe0, 0x5b, 0x34, 0x61, - 0x78, 0x62, 0x30, 0x06, 0xb2, 0x96, 0x14, 0x8a, 0x43, 0x0f, 0x42, 0x9a, 0xfc, 0x65, 0xb1, 0x31, - 0x4c, 0x6d, 0x4e, 0x11, 0x01, 0x89, 0x0b, 0x34, 0x05, 0x29, 0xba, 0x4c, 0x6a, 0x58, 0xa4, 0xb6, - 0xe0, 0x99, 0x04, 0x56, 0x0d, 0xef, 0x68, 0x4d, 0xd3, 0x57, 0xaf, 0x6a, 0x66, 0x13, 0xd3, 0x80, - 0x4f, 0x2b, 0x59, 0x2e, 0xfc, 0x24, 0x91, 0xa1, 0x69, 0xc8, 0xb0, 0x55, 0x65, 0x58, 0x35, 0xfc, - 0x3c, 0xdd, 0x3d, 0x93, 0x0a, 0x5b, 0x68, 0x15, 0x22, 0x21, 0xdd, 0x5f, 0xf6, 0x6c, 0x4b, 0x84, - 0x26, 0xed, 0x82, 0x08, 0x68, 0xf7, 0xa7, 0xbb, 0x37, 0xee, 0x87, 0xfa, 0x0f, 0xaf, 0x3b, 0xa6, - 0x66, 0x5f, 0x8d, 0x41, 0x82, 0xee, 0x17, 0x63, 0x90, 0xd9, 0xbc, 0xb4, 0x5e, 0x56, 0x97, 0xd6, - 0xb6, 0x4a, 0x2b, 0x65, 0x59, 0x42, 0x39, 0x00, 0x2a, 0x38, 0xbf, 0xb2, 0xb6, 0xb0, 0x29, 0xc7, - 0x82, 0xe7, 0xca, 0xea, 0xe6, 0xa9, 0x13, 0x72, 0x3c, 0x00, 0x6c, 0x31, 0x41, 0x22, 0xac, 0x70, - 0xfc, 0x98, 0x9c, 0x44, 0x32, 0x64, 0x19, 0x41, 0xe5, 0xd9, 0xf2, 0xd2, 0xa9, 0x13, 0xf2, 0x70, - 0xa7, 0xe4, 0xf8, 0x31, 0x79, 0x04, 0x8d, 0x42, 0x9a, 0x4a, 0x4a, 0x6b, 0x6b, 0x2b, 0x72, 0x2a, - 0xe0, 0xdc, 0xd8, 0x54, 0x2a, 0xab, 0xcb, 0x72, 0x3a, 0xe0, 0x5c, 0x56, 0xd6, 0xb6, 0xd6, 0x65, - 0x08, 0x18, 0xaa, 0xe5, 0x8d, 0x8d, 0x85, 0xe5, 0xb2, 0x9c, 0x09, 0x34, 0x4a, 0x97, 0x36, 0xcb, - 0x1b, 0x72, 0xb6, 0xc3, 0xac, 0xe3, 0xc7, 0xe4, 0xd1, 0xa0, 0x8b, 0xf2, 0xea, 0x56, 0x55, 0xce, - 0xa1, 0x71, 0x18, 0x65, 0x5d, 0x08, 0x23, 0xc6, 0xba, 0x44, 0xa7, 0x4e, 0xc8, 0x72, 0xdb, 0x10, - 0xc6, 0x32, 0xde, 0x21, 0x38, 0x75, 0x42, 0x46, 0xb3, 0x8b, 0x90, 0xa4, 0xd1, 0x85, 0x10, 0xe4, - 0x56, 0x16, 0x4a, 0xe5, 0x15, 0x75, 0x6d, 0x7d, 0xb3, 0xb2, 0xb6, 0xba, 0xb0, 0x22, 0x4b, 0x6d, - 0x99, 0x52, 0xfe, 0xc4, 0x56, 0x45, 0x29, 0x2f, 0xc9, 0xb1, 0xb0, 0x6c, 0xbd, 0xbc, 0xb0, 0x59, - 0x5e, 0x92, 0xe3, 0xb3, 0x3a, 0x4c, 0xf6, 0xdb, 0x27, 0xfb, 0xae, 0x8c, 0xd0, 0x14, 0xc7, 0xf6, - 0x99, 0x62, 0xca, 0xd5, 0x33, 0xc5, 0x3f, 0x8a, 0xc1, 0x44, 0x9f, 0x5c, 0xd1, 0xb7, 0x93, 0x67, - 0x20, 0xc9, 0x42, 0x94, 0x65, 0xcf, 0xc7, 0xfb, 0x26, 0x1d, 0x1a, 0xb0, 0x3d, 0x19, 0x94, 0xe2, - 0xc2, 0x15, 0x44, 0x7c, 0x9f, 0x0a, 0x82, 0x50, 0xf4, 0xec, 0xe9, 0xbf, 0xdc, 0xb3, 0xa7, 0xb3, - 0xb4, 0x77, 0x6a, 0x90, 0xb4, 0x47, 0x65, 0x07, 0xdb, 0xdb, 0x93, 0x7d, 0xf6, 0xf6, 0x73, 0x30, - 0xde, 0x43, 0x34, 0xf0, 0x1e, 0xfb, 0x82, 0x04, 0xf9, 0xfd, 0x9c, 0x13, 0xb1, 0xd3, 0xc5, 0x3a, - 0x76, 0xba, 0x73, 0xdd, 0x1e, 0x3c, 0xbc, 0xff, 0x24, 0xf4, 0xcc, 0xf5, 0x2b, 0x12, 0x1c, 0xea, - 0x5f, 0x29, 0xf6, 0xb5, 0xe1, 0x69, 0x18, 0x6e, 0x60, 0x7f, 0xd7, 0x16, 0xd5, 0xd2, 0xa3, 0x7d, - 0x72, 0x30, 0x69, 0xee, 0x9e, 0x6c, 0x8e, 0x0a, 0x27, 0xf1, 0xf8, 0x7e, 0xe5, 0x1e, 0xb3, 0xa6, - 0xc7, 0xd2, 0xcf, 0xc5, 0xe0, 0xbe, 0xbe, 0xe4, 0x7d, 0x0d, 0x7d, 0x08, 0xc0, 0xb0, 0x9c, 0xa6, - 0xcf, 0x2a, 0x22, 0xb6, 0xc1, 0xa6, 0xa9, 0x84, 0x6e, 0x5e, 0x64, 0xf3, 0x6c, 0xfa, 0x41, 0x7b, - 0x9c, 0xb6, 0x03, 0x13, 0x51, 0x85, 0x33, 0x6d, 0x43, 0x13, 0xd4, 0xd0, 0xc2, 0x3e, 0x23, 0xed, - 0x09, 0xcc, 0xa7, 0x40, 0xd6, 0x4d, 0x03, 0x5b, 0xbe, 0xea, 0xf9, 0x2e, 0xd6, 0x1a, 0x86, 0x55, - 0xa7, 0x19, 0x24, 0x55, 0x4c, 0xee, 0x68, 0xa6, 0x87, 0x95, 0x31, 0xd6, 0xbc, 0x21, 0x5a, 0x09, - 0x82, 0x06, 0x90, 0x1b, 0x42, 0x0c, 0x77, 0x20, 0x58, 0x73, 0x80, 0x98, 0xfd, 0x66, 0x0a, 0x32, - 0xa1, 0xba, 0x1a, 0x1d, 0x86, 0xec, 0x65, 0xed, 0xaa, 0xa6, 0x8a, 0xb3, 0x12, 0xf3, 0x44, 0x86, - 0xc8, 0xd6, 0xf9, 0x79, 0xe9, 0x29, 0x98, 0xa4, 0x2a, 0x76, 0xd3, 0xc7, 0xae, 0xaa, 0x9b, 0x9a, - 0xe7, 0x51, 0xa7, 0xa5, 0xa8, 0x2a, 0x22, 0x6d, 0x6b, 0xa4, 0x69, 0x51, 0xb4, 0xa0, 0x93, 0x30, - 0x41, 0x11, 0x8d, 0xa6, 0xe9, 0x1b, 0x8e, 0x89, 0x55, 0x72, 0x7a, 0xf3, 0x68, 0x26, 0x09, 0x2c, - 0x1b, 0x27, 0x1a, 0x55, 0xae, 0x40, 0x2c, 0xf2, 0xd0, 0x12, 0x3c, 0x44, 0x61, 0x75, 0x6c, 0x61, - 0x57, 0xf3, 0xb1, 0x8a, 0x3f, 0xdd, 0xd4, 0x4c, 0x4f, 0xd5, 0xac, 0x9a, 0xba, 0xab, 0x79, 0xbb, - 0xf9, 0x49, 0x42, 0x50, 0x8a, 0xe5, 0x25, 0xe5, 0x01, 0xa2, 0xb8, 0xcc, 0xf5, 0xca, 0x54, 0x6d, - 0xc1, 0xaa, 0x7d, 0x5c, 0xf3, 0x76, 0x51, 0x11, 0x0e, 0x51, 0x16, 0xcf, 0x77, 0x0d, 0xab, 0xae, - 0xea, 0xbb, 0x58, 0xbf, 0xa2, 0x36, 0xfd, 0x9d, 0x33, 0xf9, 0x07, 0xc3, 0xfd, 0x53, 0x0b, 0x37, - 0xa8, 0xce, 0x22, 0x51, 0xd9, 0xf2, 0x77, 0xce, 0xa0, 0x0d, 0xc8, 0x92, 0xc9, 0x68, 0x18, 0xd7, - 0xb1, 0xba, 0x63, 0xbb, 0x34, 0x35, 0xe6, 0xfa, 0x6c, 0x4d, 0x21, 0x0f, 0xce, 0xaf, 0x71, 0x40, - 0xd5, 0xae, 0xe1, 0x62, 0x72, 0x63, 0xbd, 0x5c, 0x5e, 0x52, 0x32, 0x82, 0xe5, 0xbc, 0xed, 0x92, - 0x80, 0xaa, 0xdb, 0x81, 0x83, 0x33, 0x2c, 0xa0, 0xea, 0xb6, 0x70, 0xef, 0x49, 0x98, 0xd0, 0x75, - 0x36, 0x66, 0x43, 0x57, 0xf9, 0x19, 0xcb, 0xcb, 0xcb, 0x1d, 0xce, 0xd2, 0xf5, 0x65, 0xa6, 0xc0, - 0x63, 0xdc, 0x43, 0x67, 0xe1, 0xbe, 0xb6, 0xb3, 0xc2, 0xc0, 0xf1, 0x9e, 0x51, 0x76, 0x43, 0x4f, - 0xc2, 0x84, 0xd3, 0xea, 0x05, 0xa2, 0x8e, 0x1e, 0x9d, 0x56, 0x37, 0xec, 0x34, 0x4c, 0x3a, 0xbb, - 0x4e, 0x2f, 0xee, 0x89, 0x30, 0x0e, 0x39, 0xbb, 0x4e, 0x37, 0xf0, 0x11, 0x7a, 0xe0, 0x76, 0xb1, - 0xae, 0xf9, 0xb8, 0x96, 0xbf, 0x3f, 0xac, 0x1e, 0x6a, 0x40, 0x47, 0x41, 0xd6, 0x75, 0x15, 0x5b, - 0xda, 0xb6, 0x89, 0x55, 0xcd, 0xc5, 0x96, 0xe6, 0xe5, 0xa7, 0xc3, 0xca, 0x39, 0x5d, 0x2f, 0xd3, - 0xd6, 0x05, 0xda, 0x88, 0x9e, 0x80, 0x71, 0x7b, 0xfb, 0xb2, 0xce, 0x42, 0x52, 0x75, 0x5c, 0xbc, - 0x63, 0x3c, 0x9f, 0x7f, 0x98, 0xfa, 0x77, 0x8c, 0x34, 0xd0, 0x80, 0x5c, 0xa7, 0x62, 0xf4, 0x38, - 0xc8, 0xba, 0xb7, 0xab, 0xb9, 0x0e, 0xdd, 0x93, 0x3d, 0x47, 0xd3, 0x71, 0xfe, 0x11, 0xa6, 0xca, - 0xe4, 0xab, 0x42, 0x4c, 0x96, 0x84, 0x77, 0xcd, 0xd8, 0xf1, 0x05, 0xe3, 0x63, 0x6c, 0x49, 0x50, - 0x19, 0x67, 0x9b, 0x03, 0x99, 0xb8, 0xa2, 0xa3, 0xe3, 0x39, 0xaa, 0x96, 0x73, 0x76, 0x9d, 0x70, - 0xbf, 0x47, 0x60, 0x94, 0x68, 0xb6, 0x3b, 0x7d, 0x9c, 0x15, 0x64, 0xce, 0x6e, 0xa8, 0xc7, 0xf7, - 0xad, 0x36, 0x9e, 0x2d, 0x42, 0x36, 0x1c, 0x9f, 0x28, 0x0d, 0x2c, 0x42, 0x65, 0x89, 0x14, 0x2b, - 0x8b, 0x6b, 0x4b, 0xa4, 0xcc, 0x78, 0xae, 0x2c, 0xc7, 0x48, 0xb9, 0xb3, 0x52, 0xd9, 0x2c, 0xab, - 0xca, 0xd6, 0xea, 0x66, 0xa5, 0x5a, 0x96, 0xe3, 0xe1, 0xba, 0xfa, 0xfb, 0x31, 0xc8, 0x75, 0x1e, - 0x91, 0xd0, 0x47, 0xe1, 0x7e, 0x71, 0x9f, 0xe1, 0x61, 0x5f, 0xbd, 0x66, 0xb8, 0x74, 0xc9, 0x34, - 0x34, 0x96, 0xbe, 0x82, 0x49, 0x9b, 0xe4, 0x5a, 0x1b, 0xd8, 0xbf, 0x68, 0xb8, 0x64, 0x41, 0x34, - 0x34, 0x1f, 0xad, 0xc0, 0xb4, 0x65, 0xab, 0x9e, 0xaf, 0x59, 0x35, 0xcd, 0xad, 0xa9, 0xed, 0x9b, - 0x24, 0x55, 0xd3, 0x75, 0xec, 0x79, 0x36, 0x4b, 0x55, 0x01, 0xcb, 0x87, 0x2c, 0x7b, 0x83, 0x2b, - 0xb7, 0xf7, 0xf0, 0x05, 0xae, 0xda, 0x15, 0x60, 0xf1, 0xfd, 0x02, 0xec, 0x41, 0x48, 0x37, 0x34, - 0x47, 0xc5, 0x96, 0xef, 0xb6, 0x68, 0x61, 0x9c, 0x52, 0x52, 0x0d, 0xcd, 0x29, 0x93, 0xe7, 0x0f, - 0xe6, 0x7c, 0xf2, 0xef, 0x71, 0xc8, 0x86, 0x8b, 0x63, 0x72, 0xd6, 0xd0, 0x69, 0x1e, 0x91, 0xe8, - 0x4e, 0x73, 0xe4, 0xae, 0xa5, 0xf4, 0xfc, 0x22, 0x49, 0x30, 0xc5, 0x61, 0x56, 0xb2, 0x2a, 0x0c, - 0x49, 0x92, 0x3b, 0xd9, 0x5b, 0x30, 0x2b, 0x11, 0x52, 0x0a, 0x7f, 0x42, 0xcb, 0x30, 0x7c, 0xd9, - 0xa3, 0xdc, 0xc3, 0x94, 0xfb, 0xe1, 0xbb, 0x73, 0x5f, 0xd8, 0xa0, 0xe4, 0xe9, 0x0b, 0x1b, 0xea, - 0xea, 0x9a, 0x52, 0x5d, 0x58, 0x51, 0x38, 0x1c, 0x3d, 0x00, 0x09, 0x53, 0xbb, 0xde, 0xea, 0x4c, - 0x45, 0x54, 0x34, 0xa8, 0xe3, 0x1f, 0x80, 0xc4, 0x35, 0xac, 0x5d, 0xe9, 0x4c, 0x00, 0x54, 0xf4, - 0x3e, 0x86, 0xfe, 0x51, 0x48, 0x52, 0x7f, 0x21, 0x00, 0xee, 0x31, 0x79, 0x08, 0xa5, 0x20, 0xb1, - 0xb8, 0xa6, 0x90, 0xf0, 0x97, 0x21, 0xcb, 0xa4, 0xea, 0x7a, 0xa5, 0xbc, 0x58, 0x96, 0x63, 0xb3, - 0x27, 0x61, 0x98, 0x39, 0x81, 0x2c, 0x8d, 0xc0, 0x0d, 0xf2, 0x10, 0x7f, 0xe4, 0x1c, 0x92, 0x68, - 0xdd, 0xaa, 0x96, 0xca, 0x8a, 0x1c, 0x0b, 0x4f, 0xaf, 0x07, 0xd9, 0x70, 0x5d, 0xfc, 0xc1, 0xc4, - 0xd4, 0x77, 0x25, 0xc8, 0x84, 0xea, 0x5c, 0x52, 0xa0, 0x68, 0xa6, 0x69, 0x5f, 0x53, 0x35, 0xd3, - 0xd0, 0x3c, 0x1e, 0x14, 0x40, 0x45, 0x0b, 0x44, 0x32, 0xe8, 0xa4, 0x7d, 0x20, 0xc6, 0xbf, 0x2c, - 0x81, 0xdc, 0x5d, 0x62, 0x76, 0x19, 0x28, 0xfd, 0x5c, 0x0d, 0x7c, 0x49, 0x82, 0x5c, 0x67, 0x5d, - 0xd9, 0x65, 0xde, 0xe1, 0x9f, 0xab, 0x79, 0x6f, 0xc4, 0x60, 0xb4, 0xa3, 0x9a, 0x1c, 0xd4, 0xba, - 0x4f, 0xc3, 0xb8, 0x51, 0xc3, 0x0d, 0xc7, 0xf6, 0xb1, 0xa5, 0xb7, 0x54, 0x13, 0x5f, 0xc5, 0x66, - 0x7e, 0x96, 0x6e, 0x14, 0x47, 0xef, 0x5e, 0xaf, 0xce, 0x57, 0xda, 0xb8, 0x15, 0x02, 0x2b, 0x4e, - 0x54, 0x96, 0xca, 0xd5, 0xf5, 0xb5, 0xcd, 0xf2, 0xea, 0xe2, 0x25, 0x75, 0x6b, 0xf5, 0x17, 0x57, - 0xd7, 0x2e, 0xae, 0x2a, 0xb2, 0xd1, 0xa5, 0xf6, 0x3e, 0x2e, 0xf5, 0x75, 0x90, 0xbb, 0x8d, 0x42, - 0xf7, 0x43, 0x3f, 0xb3, 0xe4, 0x21, 0x34, 0x01, 0x63, 0xab, 0x6b, 0xea, 0x46, 0x65, 0xa9, 0xac, - 0x96, 0xcf, 0x9f, 0x2f, 0x2f, 0x6e, 0x6e, 0xb0, 0x1b, 0x88, 0x40, 0x7b, 0xb3, 0x73, 0x51, 0xbf, - 0x18, 0x87, 0x89, 0x3e, 0x96, 0xa0, 0x05, 0x7e, 0x76, 0x60, 0xc7, 0x99, 0x8f, 0x0c, 0x62, 0xfd, - 0x3c, 0x49, 0xf9, 0xeb, 0x9a, 0xeb, 0xf3, 0xa3, 0xc6, 0xe3, 0x40, 0xbc, 0x64, 0xf9, 0xc6, 0x8e, - 0x81, 0x5d, 0x7e, 0x61, 0xc3, 0x0e, 0x14, 0x63, 0x6d, 0x39, 0xbb, 0xb3, 0xf9, 0x30, 0x20, 0xc7, - 0xf6, 0x0c, 0xdf, 0xb8, 0x8a, 0x55, 0xc3, 0x12, 0xb7, 0x3b, 0xe4, 0x80, 0x91, 0x50, 0x64, 0xd1, - 0x52, 0xb1, 0xfc, 0x40, 0xdb, 0xc2, 0x75, 0xad, 0x4b, 0x9b, 0x6c, 0xe0, 0x71, 0x45, 0x16, 0x2d, - 0x81, 0xf6, 0x61, 0xc8, 0xd6, 0xec, 0x26, 0xa9, 0xba, 0x98, 0x1e, 0xc9, 0x17, 0x92, 0x92, 0x61, - 0xb2, 0x40, 0x85, 0xd7, 0xd3, 0xed, 0x6b, 0xa5, 0xac, 0x92, 0x61, 0x32, 0xa6, 0xf2, 0x18, 0x8c, - 0x69, 0xf5, 0xba, 0x4b, 0xc8, 0x05, 0x11, 0x3b, 0x21, 0xe4, 0x02, 0x31, 0x55, 0x9c, 0xba, 0x00, - 0x29, 0xe1, 0x07, 0x92, 0x92, 0x89, 0x27, 0x54, 0x87, 0x1d, 0x7b, 0x63, 0x73, 0x69, 0x25, 0x65, - 0x89, 0xc6, 0xc3, 0x90, 0x35, 0x3c, 0xb5, 0x7d, 0x4b, 0x1e, 0x9b, 0x89, 0xcd, 0xa5, 0x94, 0x8c, - 0xe1, 0x05, 0x37, 0x8c, 0xb3, 0xaf, 0xc4, 0x20, 0xd7, 0x79, 0xcb, 0x8f, 0x96, 0x20, 0x65, 0xda, - 0xba, 0x46, 0x43, 0x8b, 0xbd, 0x62, 0x9a, 0x8b, 0x78, 0x31, 0x30, 0xbf, 0xc2, 0xf5, 0x95, 0x00, - 0x39, 0xf5, 0xaf, 0x12, 0xa4, 0x84, 0x18, 0x1d, 0x82, 0x84, 0xa3, 0xf9, 0xbb, 0x94, 0x2e, 0x59, - 0x8a, 0xc9, 0x92, 0x42, 0x9f, 0x89, 0xdc, 0x73, 0x34, 0x8b, 0x86, 0x00, 0x97, 0x93, 0x67, 0x32, - 0xaf, 0x26, 0xd6, 0x6a, 0xf4, 0xf8, 0x61, 0x37, 0x1a, 0xd8, 0xf2, 0x3d, 0x31, 0xaf, 0x5c, 0xbe, - 0xc8, 0xc5, 0xe8, 0x49, 0x18, 0xf7, 0x5d, 0xcd, 0x30, 0x3b, 0x74, 0x13, 0x54, 0x57, 0x16, 0x0d, - 0x81, 0x72, 0x11, 0x1e, 0x10, 0xbc, 0x35, 0xec, 0x6b, 0xfa, 0x2e, 0xae, 0xb5, 0x41, 0xc3, 0xf4, - 0x9a, 0xe1, 0x7e, 0xae, 0xb0, 0xc4, 0xdb, 0x05, 0x76, 0xf6, 0x87, 0x12, 0x8c, 0x8b, 0x03, 0x53, - 0x2d, 0x70, 0x56, 0x15, 0x40, 0xb3, 0x2c, 0xdb, 0x0f, 0xbb, 0xab, 0x37, 0x94, 0x7b, 0x70, 0xf3, - 0x0b, 0x01, 0x48, 0x09, 0x11, 0x4c, 0x35, 0x00, 0xda, 0x2d, 0xfb, 0xba, 0x6d, 0x1a, 0x32, 0xfc, - 0x15, 0x0e, 0x7d, 0x0f, 0xc8, 0x8e, 0xd8, 0xc0, 0x44, 0xe4, 0x64, 0x85, 0x26, 0x21, 0xb9, 0x8d, - 0xeb, 0x86, 0xc5, 0x2f, 0x66, 0xd9, 0x83, 0xb8, 0x08, 0x49, 0x04, 0x17, 0x21, 0xa5, 0x4f, 0xc1, - 0x84, 0x6e, 0x37, 0xba, 0xcd, 0x2d, 0xc9, 0x5d, 0xc7, 0x7c, 0xef, 0xe3, 0xd2, 0x73, 0xd0, 0x2e, - 0x31, 0xdf, 0x95, 0xa4, 0x2f, 0xc7, 0xe2, 0xcb, 0xeb, 0xa5, 0xaf, 0xc5, 0xa6, 0x96, 0x19, 0x74, - 0x5d, 0x8c, 0x54, 0xc1, 0x3b, 0x26, 0xd6, 0x89, 0xf5, 0xf0, 0x95, 0x27, 0xe1, 0x23, 0x75, 0xc3, - 0xdf, 0x6d, 0x6e, 0xcf, 0xeb, 0x76, 0xe3, 0x68, 0xdd, 0xae, 0xdb, 0xed, 0x57, 0x9f, 0xe4, 0x89, - 0x3e, 0xd0, 0x5f, 0xfc, 0xf5, 0x67, 0x3a, 0x90, 0x4e, 0x45, 0xbe, 0x2b, 0x2d, 0xae, 0xc2, 0x04, - 0x57, 0x56, 0xe9, 0xfb, 0x17, 0x76, 0x8a, 0x40, 0x77, 0xbd, 0xc3, 0xca, 0x7f, 0xe3, 0x4d, 0x9a, - 0xae, 0x95, 0x71, 0x0e, 0x25, 0x6d, 0xec, 0xa0, 0x51, 0x54, 0xe0, 0xbe, 0x0e, 0x3e, 0xb6, 0x34, - 0xb1, 0x1b, 0xc1, 0xf8, 0x7d, 0xce, 0x38, 0x11, 0x62, 0xdc, 0xe0, 0xd0, 0xe2, 0x22, 0x8c, 0x1e, - 0x84, 0xeb, 0x9f, 0x39, 0x57, 0x16, 0x87, 0x49, 0x96, 0x61, 0x8c, 0x92, 0xe8, 0x4d, 0xcf, 0xb7, - 0x1b, 0x74, 0xdf, 0xbb, 0x3b, 0xcd, 0xbf, 0xbc, 0xc9, 0xd6, 0x4a, 0x8e, 0xc0, 0x16, 0x03, 0x54, - 0xb1, 0x08, 0xf4, 0x95, 0x53, 0x0d, 0xeb, 0x66, 0x04, 0xc3, 0x6b, 0xdc, 0x90, 0x40, 0xbf, 0xf8, - 0x49, 0x98, 0x24, 0xbf, 0xe9, 0xb6, 0x14, 0xb6, 0x24, 0xfa, 0xc2, 0x2b, 0xff, 0xc3, 0x17, 0xd8, - 0x72, 0x9c, 0x08, 0x08, 0x42, 0x36, 0x85, 0x66, 0xb1, 0x8e, 0x7d, 0x1f, 0xbb, 0x9e, 0xaa, 0x99, - 0xfd, 0xcc, 0x0b, 0xdd, 0x18, 0xe4, 0xbf, 0xf0, 0x76, 0xe7, 0x2c, 0x2e, 0x33, 0xe4, 0x82, 0x69, - 0x16, 0xb7, 0xe0, 0xfe, 0x3e, 0x51, 0x31, 0x00, 0xe7, 0x8b, 0x9c, 0x73, 0xb2, 0x27, 0x32, 0x08, - 0xed, 0x3a, 0x08, 0x79, 0x30, 0x97, 0x03, 0x70, 0xfe, 0x09, 0xe7, 0x44, 0x1c, 0x2b, 0xa6, 0x94, - 0x30, 0x5e, 0x80, 0xf1, 0xab, 0xd8, 0xdd, 0xb6, 0x3d, 0x7e, 0x4b, 0x33, 0x00, 0xdd, 0x4b, 0x9c, - 0x6e, 0x8c, 0x03, 0xe9, 0xb5, 0x0d, 0xe1, 0x3a, 0x0b, 0xa9, 0x1d, 0x4d, 0xc7, 0x03, 0x50, 0x7c, - 0x91, 0x53, 0x8c, 0x10, 0x7d, 0x02, 0x5d, 0x80, 0x6c, 0xdd, 0xe6, 0x99, 0x29, 0x1a, 0xfe, 0x32, - 0x87, 0x67, 0x04, 0x86, 0x53, 0x38, 0xb6, 0xd3, 0x34, 0x49, 0xda, 0x8a, 0xa6, 0xf8, 0x53, 0x41, - 0x21, 0x30, 0x9c, 0xe2, 0x00, 0x6e, 0xfd, 0x33, 0x41, 0xe1, 0x85, 0xfc, 0xf9, 0x0c, 0x64, 0x6c, - 0xcb, 0x6c, 0xd9, 0xd6, 0x20, 0x46, 0x7c, 0x89, 0x33, 0x00, 0x87, 0x10, 0x82, 0x73, 0x90, 0x1e, - 0x74, 0x22, 0xfe, 0xe2, 0x6d, 0xb1, 0x3c, 0xc4, 0x0c, 0x2c, 0xc3, 0x98, 0xd8, 0xa0, 0x0c, 0xdb, - 0x1a, 0x80, 0xe2, 0x2b, 0x9c, 0x22, 0x17, 0x82, 0xf1, 0x61, 0xf8, 0xd8, 0xf3, 0xeb, 0x78, 0x10, - 0x92, 0x57, 0xc4, 0x30, 0x38, 0x84, 0xbb, 0x72, 0x1b, 0x5b, 0xfa, 0xee, 0x60, 0x0c, 0x5f, 0x15, - 0xae, 0x14, 0x18, 0x42, 0xb1, 0x08, 0xa3, 0x0d, 0xcd, 0xf5, 0x76, 0x35, 0x73, 0xa0, 0xe9, 0xf8, - 0x4b, 0xce, 0x91, 0x0d, 0x40, 0xdc, 0x23, 0x4d, 0xeb, 0x20, 0x34, 0x5f, 0x13, 0x1e, 0x09, 0xc1, - 0xf8, 0xd2, 0xf3, 0x7c, 0x7a, 0xa5, 0x75, 0x10, 0xb6, 0xbf, 0x12, 0x4b, 0x8f, 0x61, 0xab, 0x61, - 0xc6, 0x73, 0x90, 0xf6, 0x8c, 0xeb, 0x03, 0xd1, 0xfc, 0xb5, 0x98, 0x69, 0x0a, 0x20, 0xe0, 0x4b, - 0xf0, 0x40, 0xdf, 0x34, 0x31, 0x00, 0xd9, 0xdf, 0x70, 0xb2, 0x43, 0x7d, 0x52, 0x05, 0xdf, 0x12, - 0x0e, 0x4a, 0xf9, 0xb7, 0x62, 0x4b, 0xc0, 0x5d, 0x5c, 0xeb, 0xe4, 0xac, 0xe0, 0x69, 0x3b, 0x07, - 0xf3, 0xda, 0xdf, 0x09, 0xaf, 0x31, 0x6c, 0x87, 0xd7, 0x36, 0xe1, 0x10, 0x67, 0x3c, 0xd8, 0xbc, - 0x7e, 0x5d, 0x6c, 0xac, 0x0c, 0xbd, 0xd5, 0x39, 0xbb, 0x9f, 0x82, 0xa9, 0xc0, 0x9d, 0xa2, 0x28, - 0xf5, 0xd4, 0x86, 0xe6, 0x0c, 0xc0, 0xfc, 0x0d, 0xce, 0x2c, 0x76, 0xfc, 0xa0, 0xaa, 0xf5, 0xaa, - 0x9a, 0x43, 0xc8, 0x9f, 0x85, 0xbc, 0x20, 0x6f, 0x5a, 0x2e, 0xd6, 0xed, 0xba, 0x65, 0x5c, 0xc7, - 0xb5, 0x01, 0xa8, 0xff, 0xbe, 0x6b, 0xaa, 0xb6, 0x42, 0x70, 0xc2, 0x5c, 0x01, 0x39, 0xa8, 0x55, - 0x54, 0xa3, 0xe1, 0xd8, 0xae, 0x1f, 0xc1, 0xf8, 0x4d, 0x31, 0x53, 0x01, 0xae, 0x42, 0x61, 0xc5, - 0x32, 0xe4, 0xe8, 0xe3, 0xa0, 0x21, 0xf9, 0x0f, 0x9c, 0x68, 0xb4, 0x8d, 0xe2, 0x1b, 0x87, 0x6e, - 0x37, 0x1c, 0xcd, 0x1d, 0x64, 0xff, 0xfb, 0x96, 0xd8, 0x38, 0x38, 0x84, 0x6f, 0x1c, 0x7e, 0xcb, - 0xc1, 0x24, 0xdb, 0x0f, 0xc0, 0xf0, 0xaa, 0xd8, 0x38, 0x04, 0x86, 0x53, 0x88, 0x82, 0x61, 0x00, - 0x8a, 0x7f, 0x14, 0x14, 0x02, 0x43, 0x28, 0x3e, 0xd1, 0x4e, 0xb4, 0x2e, 0xae, 0x1b, 0x9e, 0xef, - 0xb2, 0x52, 0xf8, 0xee, 0x54, 0xdf, 0x7e, 0xbb, 0xb3, 0x08, 0x53, 0x42, 0x50, 0xb2, 0x13, 0xf1, - 0x2b, 0x54, 0x7a, 0x52, 0x8a, 0x36, 0xec, 0x3b, 0x62, 0x27, 0x0a, 0xc1, 0x88, 0x6d, 0xa1, 0x0a, - 0x91, 0xb8, 0x5d, 0x27, 0xe7, 0x83, 0x01, 0xe8, 0xbe, 0xdb, 0x65, 0xdc, 0x86, 0xc0, 0x12, 0xce, - 0x50, 0xfd, 0xd3, 0xb4, 0xae, 0xe0, 0xd6, 0x40, 0xd1, 0xf9, 0x4f, 0x5d, 0xf5, 0xcf, 0x16, 0x43, - 0xb2, 0x3d, 0x64, 0xac, 0xab, 0x9e, 0x42, 0x51, 0x1f, 0xeb, 0xe4, 0x7f, 0xf5, 0x36, 0x1f, 0x6f, - 0x67, 0x39, 0x55, 0x5c, 0x21, 0x41, 0xde, 0x59, 0xf4, 0x44, 0x93, 0xbd, 0x70, 0x3b, 0x88, 0xf3, - 0x8e, 0x9a, 0xa7, 0x78, 0x1e, 0x46, 0x3b, 0x0a, 0x9e, 0x68, 0xaa, 0x5f, 0xe3, 0x54, 0xd9, 0x70, - 0xbd, 0x53, 0x3c, 0x09, 0x09, 0x52, 0xbc, 0x44, 0xc3, 0x7f, 0x9d, 0xc3, 0xa9, 0x7a, 0xf1, 0x63, - 0x90, 0x12, 0x45, 0x4b, 0x34, 0xf4, 0x37, 0x38, 0x34, 0x80, 0x10, 0xb8, 0x28, 0x58, 0xa2, 0xe1, - 0x9f, 0x15, 0x70, 0x01, 0x21, 0xf0, 0xc1, 0x5d, 0xf8, 0xbd, 0xdf, 0x4a, 0xf0, 0xa4, 0x23, 0x7c, - 0x77, 0x0e, 0x46, 0x78, 0xa5, 0x12, 0x8d, 0xfe, 0x1c, 0xef, 0x5c, 0x20, 0x8a, 0xa7, 0x21, 0x39, - 0xa0, 0xc3, 0x7f, 0x9b, 0x43, 0x99, 0x7e, 0x71, 0x11, 0x32, 0xa1, 0xea, 0x24, 0x1a, 0xfe, 0x3b, - 0x1c, 0x1e, 0x46, 0x11, 0xd3, 0x79, 0x75, 0x12, 0x4d, 0xf0, 0xbb, 0xc2, 0x74, 0x8e, 0x20, 0x6e, - 0x13, 0x85, 0x49, 0x34, 0xfa, 0xf7, 0x84, 0xd7, 0x05, 0xa4, 0xf8, 0x0c, 0xa4, 0x83, 0x64, 0x13, - 0x8d, 0xff, 0x7d, 0x8e, 0x6f, 0x63, 0x88, 0x07, 0x42, 0xc9, 0x2e, 0x9a, 0xe2, 0x0f, 0x84, 0x07, - 0x42, 0x28, 0xb2, 0x8c, 0xba, 0x0b, 0x98, 0x68, 0xa6, 0x3f, 0x14, 0xcb, 0xa8, 0xab, 0x7e, 0x21, - 0xb3, 0x49, 0xf7, 0xfc, 0x68, 0x8a, 0x3f, 0x12, 0xb3, 0x49, 0xf5, 0x89, 0x19, 0xdd, 0x15, 0x41, - 0x34, 0xc7, 0x1f, 0x0b, 0x33, 0xba, 0x0a, 0x82, 0xe2, 0x3a, 0xa0, 0xde, 0x6a, 0x20, 0x9a, 0xef, - 0xf3, 0x9c, 0x6f, 0xbc, 0xa7, 0x18, 0x28, 0x5e, 0x84, 0x43, 0xfd, 0x2b, 0x81, 0x68, 0xd6, 0x2f, - 0xdc, 0xee, 0x3a, 0xbb, 0x85, 0x0b, 0x81, 0xe2, 0x66, 0x3b, 0xa5, 0x84, 0xab, 0x80, 0x68, 0xda, - 0x17, 0x6f, 0x77, 0x6e, 0xdc, 0xe1, 0x22, 0xa0, 0xb8, 0x00, 0xd0, 0x4e, 0xc0, 0xd1, 0x5c, 0x2f, - 0x71, 0xae, 0x10, 0x88, 0x2c, 0x0d, 0x9e, 0x7f, 0xa3, 0xf1, 0x5f, 0x14, 0x4b, 0x83, 0x23, 0xc8, - 0xd2, 0x10, 0xa9, 0x37, 0x1a, 0xfd, 0xb2, 0x58, 0x1a, 0x02, 0x42, 0x22, 0x3b, 0x94, 0xdd, 0xa2, - 0x19, 0xbe, 0x24, 0x22, 0x3b, 0x84, 0x2a, 0xae, 0xc2, 0x78, 0x4f, 0x42, 0x8c, 0xa6, 0xfa, 0x32, - 0xa7, 0x92, 0xbb, 0xf3, 0x61, 0x38, 0x79, 0xf1, 0x64, 0x18, 0xcd, 0xf6, 0xe7, 0x5d, 0xc9, 0x8b, - 0xe7, 0xc2, 0xe2, 0x39, 0x48, 0x59, 0x4d, 0xd3, 0x24, 0x8b, 0x07, 0xdd, 0xfd, 0x03, 0xbb, 0xfc, - 0x8f, 0xdf, 0xe3, 0xde, 0x11, 0x80, 0xe2, 0x49, 0x48, 0xe2, 0xc6, 0x36, 0xae, 0x45, 0x21, 0xff, - 0xf3, 0x3d, 0xb1, 0x61, 0x12, 0xed, 0xe2, 0x33, 0x00, 0xec, 0x6a, 0x84, 0xbe, 0xf6, 0x8b, 0xc0, - 0xfe, 0xd7, 0x7b, 0xfc, 0xd3, 0x97, 0x36, 0xa4, 0x4d, 0xc0, 0x3e, 0xa4, 0xb9, 0x3b, 0xc1, 0xdb, - 0x9d, 0x04, 0x74, 0x46, 0xce, 0xc2, 0xc8, 0x65, 0xcf, 0xb6, 0x7c, 0xad, 0x1e, 0x85, 0xfe, 0x6f, - 0x8e, 0x16, 0xfa, 0xc4, 0x61, 0x0d, 0xdb, 0xc5, 0xbe, 0x56, 0xf7, 0xa2, 0xb0, 0xff, 0xc3, 0xb1, - 0x01, 0x80, 0x80, 0x75, 0xcd, 0xf3, 0x07, 0x19, 0xf7, 0x4f, 0x04, 0x58, 0x00, 0x88, 0xd1, 0xe4, - 0xf7, 0x15, 0xdc, 0x8a, 0xc2, 0xbe, 0x23, 0x8c, 0xe6, 0xfa, 0xc5, 0x8f, 0x41, 0x9a, 0xfc, 0x64, - 0xdf, 0xb3, 0x45, 0x80, 0xff, 0x97, 0x83, 0xdb, 0x08, 0xd2, 0xb3, 0xe7, 0xd7, 0x7c, 0x23, 0xda, - 0xd9, 0xff, 0xc7, 0x67, 0x5a, 0xe8, 0x17, 0x17, 0x20, 0xe3, 0xf9, 0xb5, 0x5a, 0x93, 0xd7, 0xa7, - 0x11, 0xf0, 0xff, 0x7f, 0x2f, 0xb8, 0xb2, 0x08, 0x30, 0x64, 0xb6, 0xaf, 0x5d, 0xf1, 0x1d, 0x9b, - 0xbe, 0xe6, 0x88, 0x62, 0xb8, 0xcd, 0x19, 0x42, 0x90, 0x52, 0xb9, 0xff, 0xf5, 0x2d, 0x2c, 0xdb, - 0xcb, 0x36, 0xbb, 0xb8, 0x7d, 0x6e, 0x36, 0xfa, 0x06, 0x16, 0x5e, 0x1d, 0x83, 0xc3, 0xba, 0xdd, - 0xd8, 0xb6, 0xbd, 0xa3, 0xa1, 0xcd, 0xfc, 0xa8, 0x98, 0x1f, 0x7e, 0x39, 0x1b, 0xcc, 0xd7, 0xd4, - 0xc1, 0x6e, 0x75, 0x67, 0x7f, 0x3c, 0x0a, 0xa9, 0x45, 0xcd, 0xf3, 0xb5, 0x6b, 0x5a, 0x0b, 0x3d, - 0x02, 0xa9, 0x8a, 0xe5, 0x1f, 0x3f, 0xb6, 0xee, 0xbb, 0xf4, 0xc5, 0x64, 0xbc, 0x94, 0xbe, 0x73, - 0x73, 0x3a, 0x69, 0x10, 0x99, 0x12, 0x34, 0xa1, 0x23, 0x90, 0xa4, 0xbf, 0xe9, 0xdd, 0x76, 0xbc, - 0x34, 0xfa, 0xda, 0xcd, 0xe9, 0xa1, 0xb6, 0x1e, 0x6b, 0x43, 0x97, 0x20, 0x53, 0x6d, 0x6d, 0x19, - 0x96, 0x7f, 0xea, 0x04, 0xa1, 0x23, 0xfe, 0x49, 0x94, 0x4e, 0xdf, 0xb9, 0x39, 0x7d, 0x7c, 0x5f, - 0x03, 0x49, 0x61, 0xd1, 0x1e, 0x98, 0x40, 0xd3, 0x0f, 0x87, 0xc3, 0x5c, 0xe8, 0x22, 0xa4, 0xc4, - 0x23, 0x7b, 0x47, 0x54, 0x3a, 0xc7, 0x4d, 0xb8, 0x27, 0xee, 0x80, 0x0c, 0xfd, 0x12, 0x64, 0xab, - 0xad, 0xf3, 0xa6, 0xad, 0x71, 0x1f, 0x24, 0x67, 0xa4, 0xb9, 0x58, 0xe9, 0xcc, 0x9d, 0x9b, 0xd3, - 0x27, 0x06, 0x26, 0xe6, 0x70, 0xca, 0xdc, 0xc1, 0x86, 0x9e, 0x83, 0x74, 0xf0, 0x4c, 0xdf, 0x42, - 0xc5, 0x4a, 0x1f, 0xe5, 0x76, 0xdf, 0x1b, 0x7d, 0x9b, 0x2e, 0x64, 0x39, 0x73, 0xf7, 0xc8, 0x8c, - 0x34, 0x27, 0xdd, 0x8b, 0xe5, 0xdc, 0x27, 0x1d, 0x6c, 0x21, 0xcb, 0x4f, 0x9d, 0xa0, 0xaf, 0xbd, - 0xa4, 0x7b, 0xb5, 0x9c, 0xd3, 0xb7, 0xe9, 0xd0, 0x05, 0x18, 0xa9, 0xb6, 0x4a, 0x2d, 0x1f, 0x7b, - 0xf4, 0x7b, 0xb4, 0x6c, 0xe9, 0xa9, 0x3b, 0x37, 0xa7, 0x3f, 0x3c, 0x20, 0x2b, 0xc5, 0x29, 0x82, - 0x00, 0xcd, 0x40, 0x66, 0xd5, 0x76, 0x1b, 0x9a, 0xc9, 0xf8, 0x80, 0xbd, 0xc6, 0x0b, 0x89, 0xd0, - 0x16, 0x19, 0x09, 0x9b, 0x6d, 0x8f, 0xfe, 0x2b, 0xd3, 0xcf, 0x10, 0x93, 0x6d, 0x26, 0x64, 0x40, - 0xb2, 0xda, 0xaa, 0x6a, 0x4e, 0x3e, 0x4b, 0xdf, 0x31, 0x3d, 0x34, 0x1f, 0x20, 0xc4, 0xda, 0x9a, - 0xa7, 0xed, 0xf4, 0x63, 0x9c, 0xd2, 0x89, 0x3b, 0x37, 0xa7, 0x9f, 0x1a, 0xb8, 0xc7, 0xaa, 0xe6, - 0xd0, 0xee, 0x58, 0x0f, 0xe8, 0x5b, 0x12, 0x59, 0x58, 0xec, 0x92, 0x9e, 0xf4, 0x38, 0x4a, 0x7b, - 0x3c, 0xd2, 0xb7, 0xc7, 0x40, 0x8b, 0xf5, 0x6b, 0x7d, 0xe6, 0xf5, 0x03, 0x8c, 0x94, 0x9d, 0x0d, - 0x49, 0xd7, 0xbf, 0xf9, 0xfa, 0x3d, 0x2f, 0xda, 0xc0, 0x02, 0xf4, 0x82, 0x04, 0xa3, 0xd5, 0xd6, - 0x2a, 0x4f, 0xe2, 0xc4, 0xf2, 0x1c, 0xff, 0x87, 0x97, 0x7e, 0x96, 0x87, 0xf4, 0x98, 0xed, 0xa7, - 0x3e, 0xf3, 0xfa, 0xf4, 0xb1, 0x81, 0x8d, 0xa0, 0x5b, 0x10, 0xb5, 0xa1, 0xb3, 0x4f, 0xf4, 0x59, - 0x6a, 0x45, 0x99, 0x14, 0x04, 0x35, 0x5c, 0x23, 0x56, 0x8c, 0xdd, 0xc5, 0x8a, 0x90, 0x1e, 0xb3, - 0xa2, 0x48, 0xa2, 0xfe, 0xde, 0x2d, 0x09, 0xf1, 0xa1, 0x35, 0x18, 0x66, 0x1e, 0xa6, 0xdf, 0x42, - 0xa6, 0x0f, 0x18, 0x86, 0xed, 0xc9, 0x51, 0x38, 0xcd, 0xd4, 0x19, 0x80, 0x76, 0x8c, 0x21, 0x19, - 0xe2, 0x57, 0x70, 0x8b, 0x7f, 0xf0, 0x4a, 0x7e, 0xa2, 0xc9, 0xf6, 0x17, 0xe9, 0xd2, 0x5c, 0x82, - 0x7f, 0x66, 0x5e, 0x8c, 0x9d, 0x91, 0xa6, 0x9e, 0x06, 0xb9, 0x3b, 0x56, 0x0e, 0x84, 0x57, 0x00, - 0xf5, 0xce, 0x58, 0x98, 0x21, 0xc9, 0x18, 0x1e, 0x0d, 0x33, 0x64, 0x8e, 0xc9, 0x6d, 0x9f, 0x5f, - 0x34, 0x4c, 0xcf, 0xb6, 0x7a, 0x38, 0xbb, 0xfd, 0xff, 0xb3, 0x71, 0xce, 0x16, 0x60, 0x98, 0x09, - 0xc9, 0x58, 0x2a, 0x34, 0x7d, 0xd0, 0x2c, 0xa7, 0xb0, 0x87, 0xd2, 0xca, 0x6b, 0xb7, 0x0a, 0x43, - 0x3f, 0xb8, 0x55, 0x18, 0xfa, 0xb7, 0x5b, 0x85, 0xa1, 0x37, 0x6e, 0x15, 0xa4, 0xb7, 0x6e, 0x15, - 0xa4, 0x77, 0x6e, 0x15, 0xa4, 0x77, 0x6f, 0x15, 0xa4, 0x1b, 0x7b, 0x05, 0xe9, 0xab, 0x7b, 0x05, - 0xe9, 0xeb, 0x7b, 0x05, 0xe9, 0xdb, 0x7b, 0x05, 0xe9, 0x7b, 0x7b, 0x05, 0xe9, 0xb5, 0xbd, 0xc2, - 0xd0, 0x0f, 0xf6, 0x0a, 0xd2, 0x1b, 0x7b, 0x05, 0xe9, 0xad, 0xbd, 0xc2, 0xd0, 0x3b, 0x7b, 0x05, - 0xe9, 0xdd, 0xbd, 0xc2, 0xd0, 0x8d, 0x1f, 0x15, 0x86, 0x7e, 0x1a, 0x00, 0x00, 0xff, 0xff, 0x84, - 0x0f, 0xf8, 0xed, 0x54, 0x3a, 0x00, 0x00, + // 4377 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xd7, + 0x79, 0xe6, 0xe2, 0x42, 0x02, 0x3f, 0x40, 0x70, 0x79, 0x48, 0xcb, 0x30, 0x13, 0x83, 0x14, 0xe5, + 0x0b, 0x7d, 0xa3, 0x3c, 0xba, 0x1b, 0x4a, 0xec, 0x12, 0x24, 0xc4, 0x40, 0x25, 0x48, 0x66, 0x49, + 0x46, 0x96, 0xd3, 0xce, 0xce, 0x72, 0x71, 0x08, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, 0x24, 0x43, + 0xd3, 0x07, 0x35, 0x6e, 0x9b, 0x49, 0xef, 0xb7, 0x99, 0x26, 0xae, 0xe3, 0x36, 0xe9, 0x34, 0x4e, + 0xd3, 0x5b, 0xd2, 0x36, 0x6e, 0x92, 0xbe, 0xe4, 0x25, 0xad, 0x9e, 0x3a, 0xc9, 0x5b, 0x1f, 0x3a, + 0xb2, 0xc5, 0x78, 0xa6, 0x4e, 0xeb, 0xb6, 0x6e, 0xab, 0x07, 0x8f, 0xfc, 0xd2, 0x39, 0xb7, 0xc5, + 0xe2, 0x42, 0x2d, 0xa8, 0x8c, 0x9d, 0x27, 0x62, 0xff, 0xf3, 0x7f, 0xdf, 0xf9, 0xcf, 0x7f, 0xfe, + 0x73, 0xfe, 0xff, 0x9c, 0x5d, 0xc2, 0x8d, 0x22, 0xcc, 0xd4, 0x6d, 0xbb, 0x6e, 0xe2, 0xa3, 0x8e, + 0x6b, 0xfb, 0xf6, 0x76, 0x73, 0xe7, 0x68, 0x0d, 0x7b, 0xba, 0x6b, 0x38, 0xbe, 0xed, 0xce, 0x53, + 0x19, 0x1a, 0x63, 0x1a, 0xf3, 0x42, 0x63, 0xb6, 0x0a, 0xe3, 0xe7, 0x0c, 0x13, 0x2f, 0x05, 0x8a, + 0x1b, 0xd8, 0x47, 0x67, 0x20, 0xb1, 0x63, 0x98, 0x38, 0x2f, 0xcd, 0xc4, 0xe7, 0x32, 0xc7, 0x1e, + 0x9a, 0xef, 0x02, 0xcd, 0x77, 0x22, 0xd6, 0x89, 0x58, 0xa1, 0x88, 0xd9, 0xb7, 0x12, 0x30, 0xd1, + 0xa7, 0x15, 0x21, 0x48, 0x58, 0x5a, 0x83, 0x30, 0x4a, 0x73, 0x69, 0x85, 0xfe, 0x46, 0x79, 0x18, + 0x71, 0x34, 0xfd, 0xb2, 0x56, 0xc7, 0xf9, 0x18, 0x15, 0x8b, 0x47, 0x54, 0x00, 0xa8, 0x61, 0x07, + 0x5b, 0x35, 0x6c, 0xe9, 0xad, 0x7c, 0x7c, 0x26, 0x3e, 0x97, 0x56, 0x42, 0x12, 0xf4, 0x04, 0x8c, + 0x3b, 0xcd, 0x6d, 0xd3, 0xd0, 0xd5, 0x90, 0x1a, 0xcc, 0xc4, 0xe7, 0x92, 0x8a, 0xcc, 0x1a, 0x96, + 0xda, 0xca, 0x8f, 0xc2, 0xd8, 0x55, 0xac, 0x5d, 0x0e, 0xab, 0x66, 0xa8, 0x6a, 0x8e, 0x88, 0x43, + 0x8a, 0x8b, 0x90, 0x6d, 0x60, 0xcf, 0xd3, 0xea, 0x58, 0xf5, 0x5b, 0x0e, 0xce, 0x27, 0xe8, 0xe8, + 0x67, 0x7a, 0x46, 0xdf, 0x3d, 0xf2, 0x0c, 0x47, 0x6d, 0xb6, 0x1c, 0x8c, 0x16, 0x20, 0x8d, 0xad, + 0x66, 0x83, 0x31, 0x24, 0xf7, 0xf1, 0x5f, 0xd9, 0x6a, 0x36, 0xba, 0x59, 0x52, 0x04, 0xc6, 0x29, + 0x46, 0x3c, 0xec, 0x5e, 0x31, 0x74, 0x9c, 0x1f, 0xa6, 0x04, 0x8f, 0xf6, 0x10, 0x6c, 0xb0, 0xf6, + 0x6e, 0x0e, 0x81, 0x43, 0x8b, 0x90, 0xc6, 0x2f, 0xfa, 0xd8, 0xf2, 0x0c, 0xdb, 0xca, 0x8f, 0x50, + 0x92, 0x87, 0xfb, 0xcc, 0x22, 0x36, 0x6b, 0xdd, 0x14, 0x6d, 0x1c, 0x3a, 0x05, 0x23, 0xb6, 0xe3, + 0x1b, 0xb6, 0xe5, 0xe5, 0x53, 0x33, 0xd2, 0x5c, 0xe6, 0xd8, 0x47, 0xfb, 0x06, 0xc2, 0x1a, 0xd3, + 0x51, 0x84, 0x32, 0xaa, 0x80, 0xec, 0xd9, 0x4d, 0x57, 0xc7, 0xaa, 0x6e, 0xd7, 0xb0, 0x6a, 0x58, + 0x3b, 0x76, 0x3e, 0x4d, 0x09, 0xa6, 0x7b, 0x07, 0x42, 0x15, 0x17, 0xed, 0x1a, 0xae, 0x58, 0x3b, + 0xb6, 0x92, 0xf3, 0x3a, 0x9e, 0xd1, 0x21, 0x18, 0xf6, 0x5a, 0x96, 0xaf, 0xbd, 0x98, 0xcf, 0xd2, + 0x08, 0xe1, 0x4f, 0xb3, 0xdf, 0x19, 0x86, 0xb1, 0x41, 0x42, 0xec, 0x2c, 0x24, 0x77, 0xc8, 0x28, + 0xf3, 0xb1, 0x83, 0xf8, 0x80, 0x61, 0x3a, 0x9d, 0x38, 0x7c, 0x8f, 0x4e, 0x5c, 0x80, 0x8c, 0x85, + 0x3d, 0x1f, 0xd7, 0x58, 0x44, 0xc4, 0x07, 0x8c, 0x29, 0x60, 0xa0, 0xde, 0x90, 0x4a, 0xdc, 0x53, + 0x48, 0x3d, 0x0f, 0x63, 0x81, 0x49, 0xaa, 0xab, 0x59, 0x75, 0x11, 0x9b, 0x47, 0xa3, 0x2c, 0x99, + 0x2f, 0x0b, 0x9c, 0x42, 0x60, 0x4a, 0x0e, 0x77, 0x3c, 0xa3, 0x25, 0x00, 0xdb, 0xc2, 0xf6, 0x8e, + 0x5a, 0xc3, 0xba, 0x99, 0x4f, 0xed, 0xe3, 0xa5, 0x35, 0xa2, 0xd2, 0xe3, 0x25, 0x9b, 0x49, 0x75, + 0x13, 0x3d, 0xd3, 0x0e, 0xb5, 0x91, 0x7d, 0x22, 0xa5, 0xca, 0x16, 0x59, 0x4f, 0xb4, 0x6d, 0x41, + 0xce, 0xc5, 0x24, 0xee, 0x71, 0x8d, 0x8f, 0x2c, 0x4d, 0x8d, 0x98, 0x8f, 0x1c, 0x99, 0xc2, 0x61, + 0x6c, 0x60, 0xa3, 0x6e, 0xf8, 0x11, 0x1d, 0x81, 0x40, 0xa0, 0xd2, 0xb0, 0x02, 0xba, 0x0b, 0x65, + 0x85, 0x70, 0x55, 0x6b, 0xe0, 0xa9, 0x6b, 0x90, 0xeb, 0x74, 0x0f, 0x9a, 0x84, 0xa4, 0xe7, 0x6b, + 0xae, 0x4f, 0xa3, 0x30, 0xa9, 0xb0, 0x07, 0x24, 0x43, 0x1c, 0x5b, 0x35, 0xba, 0xcb, 0x25, 0x15, + 0xf2, 0x13, 0xfd, 0x4c, 0x7b, 0xc0, 0x71, 0x3a, 0xe0, 0x47, 0x7a, 0x67, 0xb4, 0x83, 0xb9, 0x7b, + 0xdc, 0x53, 0xa7, 0x61, 0xb4, 0x63, 0x00, 0x83, 0x76, 0x3d, 0xfb, 0x0b, 0x70, 0x5f, 0x5f, 0x6a, + 0xf4, 0x3c, 0x4c, 0x36, 0x2d, 0xc3, 0xf2, 0xb1, 0xeb, 0xb8, 0x98, 0x44, 0x2c, 0xeb, 0x2a, 0xff, + 0x6f, 0x23, 0xfb, 0xc4, 0xdc, 0x56, 0x58, 0x9b, 0xb1, 0x28, 0x13, 0xcd, 0x5e, 0xe1, 0xe3, 0xe9, + 0xd4, 0xdb, 0x23, 0xf2, 0xf5, 0xeb, 0xd7, 0xaf, 0xc7, 0x66, 0xbf, 0x30, 0x0c, 0x93, 0xfd, 0xd6, + 0x4c, 0xdf, 0xe5, 0x7b, 0x08, 0x86, 0xad, 0x66, 0x63, 0x1b, 0xbb, 0xd4, 0x49, 0x49, 0x85, 0x3f, + 0xa1, 0x05, 0x48, 0x9a, 0xda, 0x36, 0x36, 0xf3, 0x89, 0x19, 0x69, 0x2e, 0x77, 0xec, 0x89, 0x81, + 0x56, 0xe5, 0xfc, 0x0a, 0x81, 0x28, 0x0c, 0x89, 0x9e, 0x85, 0x04, 0xdf, 0xa2, 0x09, 0xc3, 0xe3, + 0x83, 0x31, 0x90, 0xb5, 0xa4, 0x50, 0x1c, 0xfa, 0x08, 0xa4, 0xc9, 0x5f, 0x16, 0x1b, 0xc3, 0xd4, + 0xe6, 0x14, 0x11, 0x90, 0xb8, 0x40, 0x53, 0x90, 0xa2, 0xcb, 0xa4, 0x86, 0x45, 0x6a, 0x0b, 0x9e, + 0x49, 0x60, 0xd5, 0xf0, 0x8e, 0xd6, 0x34, 0x7d, 0xf5, 0x8a, 0x66, 0x36, 0x31, 0x0d, 0xf8, 0xb4, + 0x92, 0xe5, 0xc2, 0x4f, 0x11, 0x19, 0x9a, 0x86, 0x0c, 0x5b, 0x55, 0x86, 0x55, 0xc3, 0x2f, 0xd2, + 0xdd, 0x33, 0xa9, 0xb0, 0x85, 0x56, 0x21, 0x12, 0xd2, 0xfd, 0x25, 0xcf, 0xb6, 0x44, 0x68, 0xd2, + 0x2e, 0x88, 0x80, 0x76, 0x7f, 0xba, 0x7b, 0xe3, 0x7e, 0xb0, 0xff, 0xf0, 0xba, 0x63, 0x6a, 0xf6, + 0xf5, 0x18, 0x24, 0xe8, 0x7e, 0x31, 0x06, 0x99, 0xcd, 0x8b, 0xeb, 0x65, 0x75, 0x69, 0x6d, 0xab, + 0xb4, 0x52, 0x96, 0x25, 0x94, 0x03, 0xa0, 0x82, 0x73, 0x2b, 0x6b, 0x0b, 0x9b, 0x72, 0x2c, 0x78, + 0xae, 0xac, 0x6e, 0x9e, 0x3a, 0x21, 0xc7, 0x03, 0xc0, 0x16, 0x13, 0x24, 0xc2, 0x0a, 0xc7, 0x8f, + 0xc9, 0x49, 0x24, 0x43, 0x96, 0x11, 0x54, 0x9e, 0x2f, 0x2f, 0x9d, 0x3a, 0x21, 0x0f, 0x77, 0x4a, + 0x8e, 0x1f, 0x93, 0x47, 0xd0, 0x28, 0xa4, 0xa9, 0xa4, 0xb4, 0xb6, 0xb6, 0x22, 0xa7, 0x02, 0xce, + 0x8d, 0x4d, 0xa5, 0xb2, 0xba, 0x2c, 0xa7, 0x03, 0xce, 0x65, 0x65, 0x6d, 0x6b, 0x5d, 0x86, 0x80, + 0xa1, 0x5a, 0xde, 0xd8, 0x58, 0x58, 0x2e, 0xcb, 0x99, 0x40, 0xa3, 0x74, 0x71, 0xb3, 0xbc, 0x21, + 0x67, 0x3b, 0xcc, 0x3a, 0x7e, 0x4c, 0x1e, 0x0d, 0xba, 0x28, 0xaf, 0x6e, 0x55, 0xe5, 0x1c, 0x1a, + 0x87, 0x51, 0xd6, 0x85, 0x30, 0x62, 0xac, 0x4b, 0x74, 0xea, 0x84, 0x2c, 0xb7, 0x0d, 0x61, 0x2c, + 0xe3, 0x1d, 0x82, 0x53, 0x27, 0x64, 0x34, 0xbb, 0x08, 0x49, 0x1a, 0x5d, 0x08, 0x41, 0x6e, 0x65, + 0xa1, 0x54, 0x5e, 0x51, 0xd7, 0xd6, 0x37, 0x2b, 0x6b, 0xab, 0x0b, 0x2b, 0xb2, 0xd4, 0x96, 0x29, + 0xe5, 0x4f, 0x6e, 0x55, 0x94, 0xf2, 0x92, 0x1c, 0x0b, 0xcb, 0xd6, 0xcb, 0x0b, 0x9b, 0xe5, 0x25, + 0x39, 0x3e, 0xab, 0xc3, 0x64, 0xbf, 0x7d, 0xb2, 0xef, 0xca, 0x08, 0x4d, 0x71, 0x6c, 0x9f, 0x29, + 0xa6, 0x5c, 0x3d, 0x53, 0xfc, 0xa3, 0x18, 0x4c, 0xf4, 0xc9, 0x15, 0x7d, 0x3b, 0x79, 0x0e, 0x92, + 0x2c, 0x44, 0x59, 0xf6, 0x7c, 0xac, 0x6f, 0xd2, 0xa1, 0x01, 0xdb, 0x93, 0x41, 0x29, 0x2e, 0x5c, + 0x41, 0xc4, 0xf7, 0xa9, 0x20, 0x08, 0x45, 0xcf, 0x9e, 0xfe, 0xf3, 0x3d, 0x7b, 0x3a, 0x4b, 0x7b, + 0xa7, 0x06, 0x49, 0x7b, 0x54, 0x76, 0xb0, 0xbd, 0x3d, 0xd9, 0x67, 0x6f, 0x3f, 0x0b, 0xe3, 0x3d, + 0x44, 0x03, 0xef, 0xb1, 0x2f, 0x49, 0x90, 0xdf, 0xcf, 0x39, 0x11, 0x3b, 0x5d, 0xac, 0x63, 0xa7, + 0x3b, 0xdb, 0xed, 0xc1, 0xc3, 0xfb, 0x4f, 0x42, 0xcf, 0x5c, 0xbf, 0x26, 0xc1, 0xa1, 0xfe, 0x95, + 0x62, 0x5f, 0x1b, 0x9e, 0x85, 0xe1, 0x06, 0xf6, 0x77, 0x6d, 0x51, 0x2d, 0x3d, 0xd2, 0x27, 0x07, + 0x93, 0xe6, 0xee, 0xc9, 0xe6, 0xa8, 0x70, 0x12, 0x8f, 0xef, 0x57, 0xee, 0x31, 0x6b, 0x7a, 0x2c, + 0xfd, 0x7c, 0x0c, 0xee, 0xeb, 0x4b, 0xde, 0xd7, 0xd0, 0x07, 0x01, 0x0c, 0xcb, 0x69, 0xfa, 0xac, + 0x22, 0x62, 0x1b, 0x6c, 0x9a, 0x4a, 0xe8, 0xe6, 0x45, 0x36, 0xcf, 0xa6, 0x1f, 0xb4, 0xc7, 0x69, + 0x3b, 0x30, 0x11, 0x55, 0x38, 0xd3, 0x36, 0x34, 0x41, 0x0d, 0x2d, 0xec, 0x33, 0xd2, 0x9e, 0xc0, + 0x7c, 0x1a, 0x64, 0xdd, 0x34, 0xb0, 0xe5, 0xab, 0x9e, 0xef, 0x62, 0xad, 0x61, 0x58, 0x75, 0x9a, + 0x41, 0x52, 0xc5, 0xe4, 0x8e, 0x66, 0x7a, 0x58, 0x19, 0x63, 0xcd, 0x1b, 0xa2, 0x95, 0x20, 0x68, + 0x00, 0xb9, 0x21, 0xc4, 0x70, 0x07, 0x82, 0x35, 0x07, 0x88, 0xd9, 0x5f, 0x4f, 0x43, 0x26, 0x54, + 0x57, 0xa3, 0xc3, 0x90, 0xbd, 0xa4, 0x5d, 0xd1, 0x54, 0x71, 0x56, 0x62, 0x9e, 0xc8, 0x10, 0xd9, + 0x3a, 0x3f, 0x2f, 0x3d, 0x0d, 0x93, 0x54, 0xc5, 0x6e, 0xfa, 0xd8, 0x55, 0x75, 0x53, 0xf3, 0x3c, + 0xea, 0xb4, 0x14, 0x55, 0x45, 0xa4, 0x6d, 0x8d, 0x34, 0x2d, 0x8a, 0x16, 0x74, 0x12, 0x26, 0x28, + 0xa2, 0xd1, 0x34, 0x7d, 0xc3, 0x31, 0xb1, 0x4a, 0x4e, 0x6f, 0x1e, 0xcd, 0x24, 0x81, 0x65, 0xe3, + 0x44, 0xa3, 0xca, 0x15, 0x88, 0x45, 0x1e, 0x5a, 0x82, 0x07, 0x29, 0xac, 0x8e, 0x2d, 0xec, 0x6a, + 0x3e, 0x56, 0xf1, 0x67, 0x9a, 0x9a, 0xe9, 0xa9, 0x9a, 0x55, 0x53, 0x77, 0x35, 0x6f, 0x37, 0x3f, + 0x49, 0x08, 0x4a, 0xb1, 0xbc, 0xa4, 0x3c, 0x40, 0x14, 0x97, 0xb9, 0x5e, 0x99, 0xaa, 0x2d, 0x58, + 0xb5, 0x4f, 0x68, 0xde, 0x2e, 0x2a, 0xc2, 0x21, 0xca, 0xe2, 0xf9, 0xae, 0x61, 0xd5, 0x55, 0x7d, + 0x17, 0xeb, 0x97, 0xd5, 0xa6, 0xbf, 0x73, 0x26, 0xff, 0x91, 0x70, 0xff, 0xd4, 0xc2, 0x0d, 0xaa, + 0xb3, 0x48, 0x54, 0xb6, 0xfc, 0x9d, 0x33, 0x68, 0x03, 0xb2, 0x64, 0x32, 0x1a, 0xc6, 0x35, 0xac, + 0xee, 0xd8, 0x2e, 0x4d, 0x8d, 0xb9, 0x3e, 0x5b, 0x53, 0xc8, 0x83, 0xf3, 0x6b, 0x1c, 0x50, 0xb5, + 0x6b, 0xb8, 0x98, 0xdc, 0x58, 0x2f, 0x97, 0x97, 0x94, 0x8c, 0x60, 0x39, 0x67, 0xbb, 0x24, 0xa0, + 0xea, 0x76, 0xe0, 0xe0, 0x0c, 0x0b, 0xa8, 0xba, 0x2d, 0xdc, 0x7b, 0x12, 0x26, 0x74, 0x9d, 0x8d, + 0xd9, 0xd0, 0x55, 0x7e, 0xc6, 0xf2, 0xf2, 0x72, 0x87, 0xb3, 0x74, 0x7d, 0x99, 0x29, 0xf0, 0x18, + 0xf7, 0xd0, 0x33, 0x70, 0x5f, 0xdb, 0x59, 0x61, 0xe0, 0x78, 0xcf, 0x28, 0xbb, 0xa1, 0x27, 0x61, + 0xc2, 0x69, 0xf5, 0x02, 0x51, 0x47, 0x8f, 0x4e, 0xab, 0x1b, 0x76, 0x1a, 0x26, 0x9d, 0x5d, 0xa7, + 0x17, 0xf7, 0x78, 0x18, 0x87, 0x9c, 0x5d, 0xa7, 0x1b, 0xf8, 0x30, 0x3d, 0x70, 0xbb, 0x58, 0xd7, + 0x7c, 0x5c, 0xcb, 0xdf, 0x1f, 0x56, 0x0f, 0x35, 0xa0, 0xa3, 0x20, 0xeb, 0xba, 0x8a, 0x2d, 0x6d, + 0xdb, 0xc4, 0xaa, 0xe6, 0x62, 0x4b, 0xf3, 0xf2, 0xd3, 0x61, 0xe5, 0x9c, 0xae, 0x97, 0x69, 0xeb, + 0x02, 0x6d, 0x44, 0x8f, 0xc3, 0xb8, 0xbd, 0x7d, 0x49, 0x67, 0x21, 0xa9, 0x3a, 0x2e, 0xde, 0x31, + 0x5e, 0xcc, 0x3f, 0x44, 0xfd, 0x3b, 0x46, 0x1a, 0x68, 0x40, 0xae, 0x53, 0x31, 0x7a, 0x0c, 0x64, + 0xdd, 0xdb, 0xd5, 0x5c, 0x87, 0xee, 0xc9, 0x9e, 0xa3, 0xe9, 0x38, 0xff, 0x30, 0x53, 0x65, 0xf2, + 0x55, 0x21, 0x26, 0x4b, 0xc2, 0xbb, 0x6a, 0xec, 0xf8, 0x82, 0xf1, 0x51, 0xb6, 0x24, 0xa8, 0x8c, + 0xb3, 0xcd, 0x81, 0x4c, 0x5c, 0xd1, 0xd1, 0xf1, 0x1c, 0x55, 0xcb, 0x39, 0xbb, 0x4e, 0xb8, 0xdf, + 0x23, 0x30, 0x4a, 0x34, 0xdb, 0x9d, 0x3e, 0xc6, 0x0a, 0x32, 0x67, 0x37, 0xd4, 0xe3, 0x09, 0x38, + 0x44, 0x94, 0x1a, 0xd8, 0xd7, 0x6a, 0x9a, 0xaf, 0x85, 0xb4, 0x9f, 0xa4, 0xda, 0xc4, 0xef, 0x55, + 0xde, 0xd8, 0x61, 0xa7, 0xdb, 0xdc, 0x6e, 0x05, 0x91, 0xf5, 0x14, 0xb3, 0x93, 0xc8, 0x44, 0x6c, + 0x7d, 0x60, 0x45, 0xf7, 0x6c, 0x11, 0xb2, 0xe1, 0xc0, 0x47, 0x69, 0x60, 0xa1, 0x2f, 0x4b, 0xa4, + 0x0a, 0x5a, 0x5c, 0x5b, 0x22, 0xf5, 0xcb, 0x0b, 0x65, 0x39, 0x46, 0xea, 0xa8, 0x95, 0xca, 0x66, + 0x59, 0x55, 0xb6, 0x56, 0x37, 0x2b, 0xd5, 0xb2, 0x1c, 0x0f, 0x17, 0xec, 0xdf, 0x8f, 0x41, 0xae, + 0xf3, 0xec, 0x85, 0x3e, 0x06, 0xf7, 0x8b, 0x8b, 0x12, 0x0f, 0xfb, 0xea, 0x55, 0xc3, 0xa5, 0x6b, + 0xb1, 0xa1, 0xb1, 0xbc, 0x18, 0x44, 0xc3, 0x24, 0xd7, 0xda, 0xc0, 0xfe, 0x05, 0xc3, 0x25, 0x2b, + 0xad, 0xa1, 0xf9, 0x68, 0x05, 0xa6, 0x2d, 0x5b, 0xf5, 0x7c, 0xcd, 0xaa, 0x69, 0x6e, 0x4d, 0x6d, + 0x5f, 0x51, 0xa9, 0x9a, 0xae, 0x63, 0xcf, 0xb3, 0x59, 0x0e, 0x0c, 0x58, 0x3e, 0x6a, 0xd9, 0x1b, + 0x5c, 0xb9, 0x9d, 0x1c, 0x16, 0xb8, 0x6a, 0x57, 0xe4, 0xc6, 0xf7, 0x8b, 0xdc, 0x8f, 0x40, 0xba, + 0xa1, 0x39, 0x2a, 0xb6, 0x7c, 0xb7, 0x45, 0x2b, 0xee, 0x94, 0x92, 0x6a, 0x68, 0x4e, 0x99, 0x3c, + 0x7f, 0x38, 0x07, 0x9f, 0x7f, 0x8d, 0x43, 0x36, 0x5c, 0x75, 0x93, 0x43, 0x8c, 0x4e, 0x13, 0x94, + 0x44, 0xb7, 0xb0, 0x23, 0x77, 0xad, 0xd1, 0xe7, 0x17, 0x49, 0xe6, 0x2a, 0x0e, 0xb3, 0x5a, 0x58, + 0x61, 0x48, 0x52, 0x35, 0x90, 0xd0, 0xc2, 0xac, 0xf6, 0x48, 0x29, 0xfc, 0x09, 0x2d, 0xc3, 0xf0, + 0x25, 0x8f, 0x72, 0x0f, 0x53, 0xee, 0x87, 0xee, 0xce, 0x7d, 0x7e, 0x83, 0x92, 0xa7, 0xcf, 0x6f, + 0xa8, 0xab, 0x6b, 0x4a, 0x75, 0x61, 0x45, 0xe1, 0x70, 0xf4, 0x00, 0x24, 0x4c, 0xed, 0x5a, 0xab, + 0x33, 0xc7, 0x51, 0xd1, 0xa0, 0x8e, 0x7f, 0x00, 0x12, 0x57, 0xb1, 0x76, 0xb9, 0x33, 0xb3, 0x50, + 0xd1, 0x07, 0x18, 0xfa, 0x47, 0x21, 0x49, 0xfd, 0x85, 0x00, 0xb8, 0xc7, 0xe4, 0x21, 0x94, 0x82, + 0xc4, 0xe2, 0x9a, 0x42, 0xc2, 0x5f, 0x86, 0x2c, 0x93, 0xaa, 0xeb, 0x95, 0xf2, 0x62, 0x59, 0x8e, + 0xcd, 0x9e, 0x84, 0x61, 0xe6, 0x04, 0xb2, 0x34, 0x02, 0x37, 0xc8, 0x43, 0xfc, 0x91, 0x73, 0x48, + 0xa2, 0x75, 0xab, 0x5a, 0x2a, 0x2b, 0x72, 0x2c, 0x3c, 0xbd, 0x1e, 0x64, 0xc3, 0x05, 0xf7, 0x87, + 0x13, 0x53, 0xdf, 0x95, 0x20, 0x13, 0x2a, 0xa0, 0x49, 0xe5, 0xa3, 0x99, 0xa6, 0x7d, 0x55, 0xd5, + 0x4c, 0x43, 0xf3, 0x78, 0x50, 0x00, 0x15, 0x2d, 0x10, 0xc9, 0xa0, 0x93, 0xf6, 0xa1, 0x18, 0xff, + 0xaa, 0x04, 0x72, 0x77, 0xed, 0xda, 0x65, 0xa0, 0xf4, 0x53, 0x35, 0xf0, 0x15, 0x09, 0x72, 0x9d, + 0x05, 0x6b, 0x97, 0x79, 0x87, 0x7f, 0xaa, 0xe6, 0xbd, 0x19, 0x83, 0xd1, 0x8e, 0x32, 0x75, 0x50, + 0xeb, 0x3e, 0x03, 0xe3, 0x46, 0x0d, 0x37, 0x1c, 0xdb, 0xc7, 0x96, 0xde, 0x52, 0x4d, 0x7c, 0x05, + 0x9b, 0xf9, 0x59, 0xba, 0x51, 0x1c, 0xbd, 0x7b, 0x21, 0x3c, 0x5f, 0x69, 0xe3, 0x56, 0x08, 0xac, + 0x38, 0x51, 0x59, 0x2a, 0x57, 0xd7, 0xd7, 0x36, 0xcb, 0xab, 0x8b, 0x17, 0xd5, 0xad, 0xd5, 0x9f, + 0x5d, 0x5d, 0xbb, 0xb0, 0xaa, 0xc8, 0x46, 0x97, 0xda, 0x07, 0xb8, 0xd4, 0xd7, 0x41, 0xee, 0x36, + 0x0a, 0xdd, 0x0f, 0xfd, 0xcc, 0x92, 0x87, 0xd0, 0x04, 0x8c, 0xad, 0xae, 0xa9, 0x1b, 0x95, 0xa5, + 0xb2, 0x5a, 0x3e, 0x77, 0xae, 0xbc, 0xb8, 0xb9, 0xc1, 0xae, 0x36, 0x02, 0xed, 0xcd, 0xce, 0x45, + 0xfd, 0x72, 0x1c, 0x26, 0xfa, 0x58, 0x82, 0x16, 0xf8, 0xa1, 0x84, 0x9d, 0x93, 0x9e, 0x1a, 0xc4, + 0xfa, 0x79, 0x52, 0x15, 0xac, 0x6b, 0xae, 0xcf, 0xcf, 0x30, 0x8f, 0x01, 0xf1, 0x92, 0xe5, 0x1b, + 0x3b, 0x06, 0x76, 0xf9, 0x4d, 0x10, 0x3b, 0xa9, 0x8c, 0xb5, 0xe5, 0xec, 0x32, 0xe8, 0x49, 0x40, + 0x8e, 0xed, 0x19, 0xbe, 0x71, 0x05, 0xab, 0x86, 0x25, 0xae, 0x8d, 0xc8, 0xc9, 0x25, 0xa1, 0xc8, + 0xa2, 0xa5, 0x62, 0xf9, 0x81, 0xb6, 0x85, 0xeb, 0x5a, 0x97, 0x36, 0xd9, 0xc0, 0xe3, 0x8a, 0x2c, + 0x5a, 0x02, 0xed, 0xc3, 0x90, 0xad, 0xd9, 0x4d, 0x52, 0xce, 0x31, 0x3d, 0x92, 0x2f, 0x24, 0x25, + 0xc3, 0x64, 0x81, 0x0a, 0x2f, 0xd4, 0xdb, 0xf7, 0x55, 0x59, 0x25, 0xc3, 0x64, 0x4c, 0xe5, 0x51, + 0x18, 0xd3, 0xea, 0x75, 0x97, 0x90, 0x0b, 0x22, 0x76, 0xf4, 0xc8, 0x05, 0x62, 0xaa, 0x38, 0x75, + 0x1e, 0x52, 0xc2, 0x0f, 0x24, 0x25, 0x13, 0x4f, 0xa8, 0x0e, 0x3b, 0x4f, 0xc7, 0xe6, 0xd2, 0x4a, + 0xca, 0x12, 0x8d, 0x87, 0x21, 0x6b, 0x78, 0x6a, 0xfb, 0xfa, 0x3d, 0x36, 0x13, 0x9b, 0x4b, 0x29, + 0x19, 0xc3, 0x0b, 0xae, 0x2e, 0x67, 0x5f, 0x8b, 0x41, 0xae, 0xf3, 0xf5, 0x01, 0x5a, 0x82, 0x94, + 0x69, 0xeb, 0x1a, 0x0d, 0x2d, 0xf6, 0xee, 0x6a, 0x2e, 0xe2, 0x8d, 0xc3, 0xfc, 0x0a, 0xd7, 0x57, + 0x02, 0xe4, 0xd4, 0x3f, 0x4b, 0x90, 0x12, 0x62, 0x74, 0x08, 0x12, 0x8e, 0xe6, 0xef, 0x52, 0xba, + 0x64, 0x29, 0x26, 0x4b, 0x0a, 0x7d, 0x26, 0x72, 0xcf, 0xd1, 0x2c, 0x1a, 0x02, 0x5c, 0x4e, 0x9e, + 0xc9, 0xbc, 0x9a, 0x58, 0xab, 0xd1, 0x73, 0x8d, 0xdd, 0x68, 0x60, 0xcb, 0xf7, 0xc4, 0xbc, 0x72, + 0xf9, 0x22, 0x17, 0xa3, 0x27, 0x60, 0xdc, 0x77, 0x35, 0xc3, 0xec, 0xd0, 0x4d, 0x50, 0x5d, 0x59, + 0x34, 0x04, 0xca, 0x45, 0x78, 0x40, 0xf0, 0xd6, 0xb0, 0xaf, 0xe9, 0xbb, 0xb8, 0xd6, 0x06, 0x0d, + 0xd3, 0xfb, 0x8b, 0xfb, 0xb9, 0xc2, 0x12, 0x6f, 0x17, 0xd8, 0xd9, 0x1f, 0x4a, 0x30, 0x2e, 0x4e, + 0x62, 0xb5, 0xc0, 0x59, 0x55, 0x00, 0xcd, 0xb2, 0x6c, 0x3f, 0xec, 0xae, 0xde, 0x50, 0xee, 0xc1, + 0xcd, 0x2f, 0x04, 0x20, 0x25, 0x44, 0x30, 0xd5, 0x00, 0x68, 0xb7, 0xec, 0xeb, 0xb6, 0x69, 0xc8, + 0xf0, 0x77, 0x43, 0xf4, 0x05, 0x23, 0x3b, 0xbb, 0x03, 0x13, 0x91, 0x23, 0x1b, 0x9a, 0x84, 0xe4, + 0x36, 0xae, 0x1b, 0x16, 0xbf, 0xf1, 0x65, 0x0f, 0xe2, 0x86, 0x25, 0x11, 0xdc, 0xb0, 0x94, 0x3e, + 0x0d, 0x13, 0xba, 0xdd, 0xe8, 0x36, 0xb7, 0x24, 0x77, 0xdd, 0x1f, 0x78, 0x9f, 0x90, 0x5e, 0x80, + 0x76, 0x89, 0xf9, 0x9e, 0x24, 0x7d, 0x25, 0x16, 0x5f, 0x5e, 0x2f, 0x7d, 0x3d, 0x36, 0xb5, 0xcc, + 0xa0, 0xeb, 0x62, 0xa4, 0x0a, 0xde, 0x31, 0xb1, 0x4e, 0xac, 0x87, 0xaf, 0x3e, 0x01, 0x4f, 0xd5, + 0x0d, 0x7f, 0xb7, 0xb9, 0x3d, 0xaf, 0xdb, 0x8d, 0xa3, 0x75, 0xbb, 0x6e, 0xb7, 0xdf, 0xa9, 0x92, + 0x27, 0xfa, 0x40, 0x7f, 0xf1, 0xf7, 0xaa, 0xe9, 0x40, 0x3a, 0x15, 0xf9, 0x12, 0xb6, 0xb8, 0x0a, + 0x13, 0x5c, 0x59, 0xa5, 0x2f, 0x76, 0xd8, 0xf1, 0x04, 0xdd, 0xf5, 0x72, 0x2c, 0xff, 0xcd, 0xb7, + 0x68, 0xba, 0x56, 0xc6, 0x39, 0x94, 0xb4, 0xb1, 0x13, 0x4c, 0x51, 0x81, 0xfb, 0x3a, 0xf8, 0xd8, + 0xd2, 0xc4, 0x6e, 0x04, 0xe3, 0xf7, 0x39, 0xe3, 0x44, 0x88, 0x71, 0x83, 0x43, 0x8b, 0x8b, 0x30, + 0x7a, 0x10, 0xae, 0x7f, 0xe4, 0x5c, 0x59, 0x1c, 0x26, 0x59, 0x86, 0x31, 0x4a, 0xa2, 0x37, 0x3d, + 0xdf, 0x6e, 0xd0, 0x7d, 0xef, 0xee, 0x34, 0xff, 0xf4, 0x16, 0x5b, 0x2b, 0x39, 0x02, 0x5b, 0x0c, + 0x50, 0xc5, 0x22, 0xd0, 0x77, 0x59, 0x35, 0xac, 0x9b, 0x11, 0x0c, 0x37, 0xb8, 0x21, 0x81, 0x7e, + 0xf1, 0x53, 0x30, 0x49, 0x7e, 0xd3, 0x6d, 0x29, 0x6c, 0x49, 0xf4, 0x4d, 0x5a, 0xfe, 0x87, 0x2f, + 0xb1, 0xe5, 0x38, 0x11, 0x10, 0x84, 0x6c, 0x0a, 0xcd, 0x62, 0x1d, 0xfb, 0x3e, 0x76, 0x3d, 0x55, + 0x33, 0xfb, 0x99, 0x17, 0xba, 0x8a, 0xc8, 0x7f, 0xf1, 0x9d, 0xce, 0x59, 0x5c, 0x66, 0xc8, 0x05, + 0xd3, 0x2c, 0x6e, 0xc1, 0xfd, 0x7d, 0xa2, 0x62, 0x00, 0xce, 0x97, 0x39, 0xe7, 0x64, 0x4f, 0x64, + 0x10, 0xda, 0x75, 0x10, 0xf2, 0x60, 0x2e, 0x07, 0xe0, 0xfc, 0x43, 0xce, 0x89, 0x38, 0x56, 0x4c, + 0x29, 0x61, 0x3c, 0x0f, 0xe3, 0x57, 0xb0, 0xbb, 0x6d, 0x7b, 0xfc, 0xfa, 0x67, 0x00, 0xba, 0x57, + 0x38, 0xdd, 0x18, 0x07, 0xd2, 0xfb, 0x20, 0xc2, 0xf5, 0x0c, 0xa4, 0x76, 0x34, 0x1d, 0x0f, 0x40, + 0xf1, 0x25, 0x4e, 0x31, 0x42, 0xf4, 0x09, 0x74, 0x01, 0xb2, 0x75, 0x9b, 0x67, 0xa6, 0x68, 0xf8, + 0xab, 0x1c, 0x9e, 0x11, 0x18, 0x4e, 0xe1, 0xd8, 0x4e, 0xd3, 0x24, 0x69, 0x2b, 0x9a, 0xe2, 0x8f, + 0x04, 0x85, 0xc0, 0x70, 0x8a, 0x03, 0xb8, 0xf5, 0x8f, 0x05, 0x85, 0x17, 0xf2, 0xe7, 0x73, 0x90, + 0xb1, 0x2d, 0xb3, 0x65, 0x5b, 0x83, 0x18, 0xf1, 0x65, 0xce, 0x00, 0x1c, 0x42, 0x08, 0xce, 0x42, + 0x7a, 0xd0, 0x89, 0xf8, 0xd3, 0x77, 0xc4, 0xf2, 0x10, 0x33, 0xb0, 0x0c, 0x63, 0x62, 0x83, 0x32, + 0x6c, 0x6b, 0x00, 0x8a, 0xaf, 0x72, 0x8a, 0x5c, 0x08, 0xc6, 0x87, 0xe1, 0x63, 0xcf, 0xaf, 0xe3, + 0x41, 0x48, 0x5e, 0x13, 0xc3, 0xe0, 0x10, 0xee, 0xca, 0x6d, 0x6c, 0xe9, 0xbb, 0x83, 0x31, 0x7c, + 0x4d, 0xb8, 0x52, 0x60, 0x08, 0xc5, 0x22, 0x8c, 0x36, 0x34, 0xd7, 0xdb, 0xd5, 0xcc, 0x81, 0xa6, + 0xe3, 0xcf, 0x38, 0x47, 0x36, 0x00, 0x71, 0x8f, 0x34, 0xad, 0x83, 0xd0, 0x7c, 0x5d, 0x78, 0x24, + 0x04, 0xe3, 0x4b, 0xcf, 0xf3, 0xe9, 0x5d, 0xd9, 0x41, 0xd8, 0xfe, 0x5c, 0x2c, 0x3d, 0x86, 0xad, + 0x86, 0x19, 0xcf, 0x42, 0xda, 0x33, 0xae, 0x0d, 0x44, 0xf3, 0x17, 0x62, 0xa6, 0x29, 0x80, 0x80, + 0x2f, 0xc2, 0x03, 0x7d, 0xd3, 0xc4, 0x00, 0x64, 0x7f, 0xc9, 0xc9, 0x0e, 0xf5, 0x49, 0x15, 0x7c, + 0x4b, 0x38, 0x28, 0xe5, 0x5f, 0x89, 0x2d, 0x01, 0x77, 0x71, 0xad, 0x93, 0xb3, 0x82, 0xa7, 0xed, + 0x1c, 0xcc, 0x6b, 0x7f, 0x2d, 0xbc, 0xc6, 0xb0, 0x1d, 0x5e, 0xdb, 0x84, 0x43, 0x9c, 0xf1, 0x60, + 0xf3, 0xfa, 0x0d, 0xb1, 0xb1, 0x32, 0xf4, 0x56, 0xe7, 0xec, 0x7e, 0x1a, 0xa6, 0x02, 0x77, 0x8a, + 0xa2, 0xd4, 0x53, 0x1b, 0x9a, 0x33, 0x00, 0xf3, 0x37, 0x39, 0xb3, 0xd8, 0xf1, 0x83, 0xaa, 0xd6, + 0xab, 0x6a, 0x0e, 0x21, 0x7f, 0x1e, 0xf2, 0x82, 0xbc, 0x69, 0xb9, 0x58, 0xb7, 0xeb, 0x96, 0x71, + 0x0d, 0xd7, 0x06, 0xa0, 0xfe, 0x9b, 0xae, 0xa9, 0xda, 0x0a, 0xc1, 0x09, 0x73, 0x05, 0xe4, 0xa0, + 0x56, 0x51, 0x8d, 0x86, 0x63, 0xbb, 0x7e, 0x04, 0xe3, 0xdf, 0x8a, 0x99, 0x0a, 0x70, 0x15, 0x0a, + 0x2b, 0x96, 0x21, 0x47, 0x1f, 0x07, 0x0d, 0xc9, 0xbf, 0xe3, 0x44, 0xa3, 0x6d, 0x14, 0xdf, 0x38, + 0x74, 0xbb, 0xe1, 0x68, 0xee, 0x20, 0xfb, 0xdf, 0xb7, 0xc4, 0xc6, 0xc1, 0x21, 0x7c, 0xe3, 0xf0, + 0x5b, 0x0e, 0x26, 0xd9, 0x7e, 0x00, 0x86, 0xd7, 0xc5, 0xc6, 0x21, 0x30, 0x9c, 0x42, 0x14, 0x0c, + 0x03, 0x50, 0xfc, 0xbd, 0xa0, 0x10, 0x18, 0x42, 0xf1, 0xc9, 0x76, 0xa2, 0x75, 0x71, 0xdd, 0xf0, + 0x7c, 0x97, 0x95, 0xc2, 0x77, 0xa7, 0xfa, 0xf6, 0x3b, 0x9d, 0x45, 0x98, 0x12, 0x82, 0x92, 0x9d, + 0x88, 0x5f, 0xa1, 0xd2, 0x93, 0x52, 0xb4, 0x61, 0xdf, 0x11, 0x3b, 0x51, 0x08, 0x46, 0x6c, 0x0b, + 0x55, 0x88, 0xc4, 0xed, 0x3a, 0x39, 0x1f, 0x0c, 0x40, 0xf7, 0xdd, 0x2e, 0xe3, 0x36, 0x04, 0x96, + 0x70, 0x86, 0xea, 0x9f, 0xa6, 0x75, 0x19, 0xb7, 0x06, 0x8a, 0xce, 0x7f, 0xe8, 0xaa, 0x7f, 0xb6, + 0x18, 0x92, 0xed, 0x21, 0x63, 0x5d, 0xf5, 0x14, 0x8a, 0xfa, 0x0a, 0x28, 0xff, 0x8b, 0xb7, 0xf9, + 0x78, 0x3b, 0xcb, 0xa9, 0xe2, 0x0a, 0x09, 0xf2, 0xce, 0xa2, 0x27, 0x9a, 0xec, 0xa5, 0xdb, 0x41, + 0x9c, 0x77, 0xd4, 0x3c, 0xc5, 0x73, 0x30, 0xda, 0x51, 0xf0, 0x44, 0x53, 0xfd, 0x12, 0xa7, 0xca, + 0x86, 0xeb, 0x9d, 0xe2, 0x49, 0x48, 0x90, 0xe2, 0x25, 0x1a, 0xfe, 0xcb, 0x1c, 0x4e, 0xd5, 0x8b, + 0x1f, 0x87, 0x94, 0x28, 0x5a, 0xa2, 0xa1, 0xbf, 0xc2, 0xa1, 0x01, 0x84, 0xc0, 0x45, 0xc1, 0x12, + 0x0d, 0xff, 0x9c, 0x80, 0x0b, 0x08, 0x81, 0x0f, 0xee, 0xc2, 0xef, 0xfd, 0x5a, 0x82, 0x27, 0x1d, + 0xe1, 0xbb, 0xb3, 0x30, 0xc2, 0x2b, 0x95, 0x68, 0xf4, 0xe7, 0x79, 0xe7, 0x02, 0x51, 0x3c, 0x0d, + 0xc9, 0x01, 0x1d, 0xfe, 0x1b, 0x1c, 0xca, 0xf4, 0x8b, 0x8b, 0x90, 0x09, 0x55, 0x27, 0xd1, 0xf0, + 0xdf, 0xe4, 0xf0, 0x30, 0x8a, 0x98, 0xce, 0xab, 0x93, 0x68, 0x82, 0xdf, 0x12, 0xa6, 0x73, 0x04, + 0x71, 0x9b, 0x28, 0x4c, 0xa2, 0xd1, 0xbf, 0x2d, 0xbc, 0x2e, 0x20, 0xc5, 0xe7, 0x20, 0x1d, 0x24, + 0x9b, 0x68, 0xfc, 0xef, 0x70, 0x7c, 0x1b, 0x43, 0x3c, 0x10, 0x4a, 0x76, 0xd1, 0x14, 0xbf, 0x2b, + 0x3c, 0x10, 0x42, 0x91, 0x65, 0xd4, 0x5d, 0xc0, 0x44, 0x33, 0xfd, 0x9e, 0x58, 0x46, 0x5d, 0xf5, + 0x0b, 0x99, 0x4d, 0xba, 0xe7, 0x47, 0x53, 0xfc, 0xbe, 0x98, 0x4d, 0xaa, 0x4f, 0xcc, 0xe8, 0xae, + 0x08, 0xa2, 0x39, 0xfe, 0x40, 0x98, 0xd1, 0x55, 0x10, 0x14, 0xd7, 0x01, 0xf5, 0x56, 0x03, 0xd1, + 0x7c, 0x5f, 0xe0, 0x7c, 0xe3, 0x3d, 0xc5, 0x40, 0xf1, 0x02, 0x1c, 0xea, 0x5f, 0x09, 0x44, 0xb3, + 0x7e, 0xf1, 0x76, 0xd7, 0xd9, 0x2d, 0x5c, 0x08, 0x14, 0x37, 0xdb, 0x29, 0x25, 0x5c, 0x05, 0x44, + 0xd3, 0xbe, 0x7c, 0xbb, 0x73, 0xe3, 0x0e, 0x17, 0x01, 0xc5, 0x05, 0x80, 0x76, 0x02, 0x8e, 0xe6, + 0x7a, 0x85, 0x73, 0x85, 0x40, 0x64, 0x69, 0xf0, 0xfc, 0x1b, 0x8d, 0xff, 0x92, 0x58, 0x1a, 0x1c, + 0x41, 0x96, 0x86, 0x48, 0xbd, 0xd1, 0xe8, 0x57, 0xc5, 0xd2, 0x10, 0x10, 0x12, 0xd9, 0xa1, 0xec, + 0x16, 0xcd, 0xf0, 0x65, 0x11, 0xd9, 0x21, 0x54, 0x71, 0x15, 0xc6, 0x7b, 0x12, 0x62, 0x34, 0xd5, + 0x57, 0x38, 0x95, 0xdc, 0x9d, 0x0f, 0xc3, 0xc9, 0x8b, 0x27, 0xc3, 0x68, 0xb6, 0x3f, 0xe9, 0x4a, + 0x5e, 0x3c, 0x17, 0x16, 0xcf, 0x42, 0xca, 0x6a, 0x9a, 0x26, 0x59, 0x3c, 0xe8, 0xee, 0x5f, 0xee, + 0xe5, 0x7f, 0xfc, 0x3e, 0xf7, 0x8e, 0x00, 0x14, 0x4f, 0x42, 0x12, 0x37, 0xb6, 0x71, 0x2d, 0x0a, + 0xf9, 0xef, 0xef, 0x8b, 0x0d, 0x93, 0x68, 0x17, 0x9f, 0x03, 0x60, 0x57, 0x23, 0xf4, 0xb5, 0x5f, + 0x04, 0xf6, 0x3f, 0xde, 0xe7, 0xdf, 0xd4, 0xb4, 0x21, 0x6d, 0x02, 0xf6, 0x85, 0xce, 0xdd, 0x09, + 0xde, 0xe9, 0x24, 0xa0, 0x33, 0xf2, 0x0c, 0x8c, 0x5c, 0xf2, 0x6c, 0xcb, 0xd7, 0xea, 0x51, 0xe8, + 0xff, 0xe4, 0x68, 0xa1, 0x4f, 0x1c, 0xd6, 0xb0, 0x5d, 0xec, 0x6b, 0x75, 0x2f, 0x0a, 0xfb, 0x5f, + 0x1c, 0x1b, 0x00, 0x08, 0x58, 0xd7, 0x3c, 0x7f, 0x90, 0x71, 0xff, 0xb7, 0x00, 0x0b, 0x00, 0x31, + 0x9a, 0xfc, 0xbe, 0x8c, 0x5b, 0x51, 0xd8, 0x77, 0x85, 0xd1, 0x5c, 0xbf, 0xf8, 0x71, 0x48, 0x93, + 0x9f, 0xec, 0x43, 0xb9, 0x08, 0xf0, 0xff, 0x70, 0x70, 0x1b, 0x41, 0x7a, 0xf6, 0xfc, 0x9a, 0x6f, + 0x44, 0x3b, 0xfb, 0x7f, 0xf9, 0x4c, 0x0b, 0xfd, 0xe2, 0x02, 0x64, 0x3c, 0xbf, 0x56, 0x6b, 0xf2, + 0xfa, 0x34, 0x02, 0xfe, 0x7f, 0xef, 0x07, 0x57, 0x16, 0x01, 0x86, 0xcc, 0xf6, 0xd5, 0xcb, 0xbe, + 0x63, 0xd3, 0xd7, 0x1c, 0x51, 0x0c, 0xb7, 0x39, 0x43, 0x08, 0x52, 0x2a, 0xf7, 0xbf, 0xbe, 0x85, + 0x65, 0x7b, 0xd9, 0x66, 0x17, 0xb7, 0x2f, 0xcc, 0x46, 0xdf, 0xc0, 0xc2, 0xeb, 0x63, 0x70, 0x58, + 0xb7, 0x1b, 0xdb, 0xb6, 0x77, 0x34, 0xb4, 0x99, 0x1f, 0x15, 0xf3, 0xc3, 0x2f, 0x67, 0x83, 0xf9, + 0x9a, 0x3a, 0xd8, 0xad, 0xee, 0xec, 0x8f, 0x47, 0x21, 0xb5, 0xa8, 0x79, 0xbe, 0x76, 0x55, 0x6b, + 0xa1, 0x87, 0x21, 0x55, 0xb1, 0xfc, 0xe3, 0xc7, 0xd6, 0x7d, 0x97, 0xbe, 0x98, 0x8c, 0x97, 0xd2, + 0x77, 0x6e, 0x4e, 0x27, 0x0d, 0x22, 0x53, 0x82, 0x26, 0x74, 0x04, 0x92, 0xf4, 0x37, 0xbd, 0xdb, + 0x8e, 0x97, 0x46, 0x6f, 0xdc, 0x9c, 0x1e, 0x6a, 0xeb, 0xb1, 0x36, 0x74, 0x11, 0x32, 0xd5, 0xd6, + 0x96, 0x61, 0xf9, 0xa7, 0x4e, 0x10, 0x3a, 0xe2, 0x9f, 0x44, 0xe9, 0xf4, 0x9d, 0x9b, 0xd3, 0xc7, + 0xf7, 0x35, 0x90, 0x14, 0x16, 0xed, 0x81, 0x09, 0x34, 0xfd, 0x22, 0x39, 0xcc, 0x85, 0x2e, 0x40, + 0x4a, 0x3c, 0xb2, 0x77, 0x44, 0xa5, 0xb3, 0xdc, 0x84, 0x7b, 0xe2, 0x0e, 0xc8, 0xd0, 0xcf, 0x41, + 0xb6, 0xda, 0x3a, 0x67, 0xda, 0x1a, 0xf7, 0x41, 0x72, 0x46, 0x9a, 0x8b, 0x95, 0xce, 0xdc, 0xb9, + 0x39, 0x7d, 0x62, 0x60, 0x62, 0x0e, 0xa7, 0xcc, 0x1d, 0x6c, 0xe8, 0x05, 0x48, 0x07, 0xcf, 0xf4, + 0x2d, 0x54, 0xac, 0xf4, 0x31, 0x6e, 0xf7, 0xbd, 0xd1, 0xb7, 0xe9, 0x42, 0x96, 0x33, 0x77, 0x8f, + 0xcc, 0x48, 0x73, 0xd2, 0xbd, 0x58, 0xce, 0x7d, 0xd2, 0xc1, 0x16, 0xb2, 0xfc, 0xd4, 0x09, 0xfa, + 0xda, 0x4b, 0xba, 0x57, 0xcb, 0x39, 0x7d, 0x9b, 0x0e, 0x9d, 0x87, 0x91, 0x6a, 0xab, 0xd4, 0xf2, + 0xb1, 0x47, 0x3f, 0x74, 0xcb, 0x96, 0x9e, 0xbe, 0x73, 0x73, 0xfa, 0xc9, 0x01, 0x59, 0x29, 0x4e, + 0x11, 0x04, 0x68, 0x06, 0x32, 0xab, 0xb6, 0xdb, 0xd0, 0x4c, 0xc6, 0x07, 0xec, 0x35, 0x5e, 0x48, + 0x84, 0xb6, 0xc8, 0x48, 0xd8, 0x6c, 0x7b, 0xf4, 0x7f, 0xa4, 0x7e, 0x82, 0x98, 0x6c, 0x33, 0x21, + 0x03, 0x92, 0xd5, 0x56, 0x55, 0x73, 0xf2, 0x59, 0xfa, 0x8e, 0xe9, 0xc1, 0xf9, 0x00, 0x21, 0xd6, + 0xd6, 0x3c, 0x6d, 0xa7, 0x1f, 0xe3, 0x94, 0x4e, 0xdc, 0xb9, 0x39, 0xfd, 0xf4, 0xc0, 0x3d, 0x56, + 0x35, 0x87, 0x76, 0xc7, 0x7a, 0x40, 0xdf, 0x92, 0xc8, 0xc2, 0x62, 0x97, 0xf4, 0xa4, 0xc7, 0x51, + 0xda, 0xe3, 0x91, 0xbe, 0x3d, 0x06, 0x5a, 0xac, 0x5f, 0xeb, 0xb3, 0x6f, 0x1c, 0x60, 0xa4, 0xec, + 0x6c, 0x48, 0xba, 0xfe, 0xd5, 0x37, 0xee, 0x79, 0xd1, 0x06, 0x16, 0xa0, 0x97, 0x24, 0x18, 0xad, + 0xb6, 0x56, 0x79, 0x12, 0x27, 0x96, 0xe7, 0xf8, 0x7f, 0xd2, 0xf4, 0xb3, 0x3c, 0xa4, 0xc7, 0x6c, + 0x3f, 0xf5, 0xd9, 0x37, 0xa6, 0x8f, 0x0d, 0x6c, 0x04, 0xdd, 0x82, 0xa8, 0x0d, 0x9d, 0x7d, 0xa2, + 0xcf, 0x51, 0x2b, 0xca, 0xa4, 0x20, 0xa8, 0xe1, 0x1a, 0xb1, 0x62, 0xec, 0x2e, 0x56, 0x84, 0xf4, + 0x98, 0x15, 0x45, 0x12, 0xf5, 0xf7, 0x6e, 0x49, 0x88, 0x0f, 0xad, 0xc1, 0x30, 0xf3, 0x30, 0xfd, + 0xc8, 0x32, 0x7d, 0xc0, 0x30, 0x6c, 0x4f, 0x8e, 0xc2, 0x69, 0xa6, 0xce, 0x00, 0xb4, 0x63, 0x0c, + 0xc9, 0x10, 0xbf, 0x8c, 0x5b, 0xfc, 0x4b, 0x5a, 0xf2, 0x13, 0x4d, 0xb6, 0x3f, 0x75, 0x97, 0xe6, + 0x12, 0xfc, 0xfb, 0xf5, 0x62, 0xec, 0x8c, 0x34, 0xf5, 0x2c, 0xc8, 0xdd, 0xb1, 0x72, 0x20, 0xbc, + 0x02, 0xa8, 0x77, 0xc6, 0xc2, 0x0c, 0x49, 0xc6, 0xf0, 0x48, 0x98, 0x21, 0x73, 0x4c, 0x6e, 0xfb, + 0xfc, 0x82, 0x61, 0x7a, 0xb6, 0xd5, 0xc3, 0xd9, 0xed, 0xff, 0x9f, 0x8c, 0x73, 0xb6, 0x00, 0xc3, + 0x4c, 0x48, 0xc6, 0x52, 0xa1, 0xe9, 0x83, 0x66, 0x39, 0x85, 0x3d, 0x94, 0x56, 0x6e, 0xdc, 0x2a, + 0x0c, 0xfd, 0xe0, 0x56, 0x61, 0xe8, 0x5f, 0x6e, 0x15, 0x86, 0xde, 0xbc, 0x55, 0x90, 0xde, 0xbe, + 0x55, 0x90, 0xde, 0xbd, 0x55, 0x90, 0xde, 0xbb, 0x55, 0x90, 0xae, 0xef, 0x15, 0xa4, 0xaf, 0xed, + 0x15, 0xa4, 0x6f, 0xec, 0x15, 0xa4, 0x6f, 0xef, 0x15, 0xa4, 0xef, 0xed, 0x15, 0xa4, 0x1b, 0x7b, + 0x85, 0xa1, 0x1f, 0xec, 0x15, 0xa4, 0x37, 0xf7, 0x0a, 0xd2, 0xdb, 0x7b, 0x85, 0xa1, 0x77, 0xf7, + 0x0a, 0xd2, 0x7b, 0x7b, 0x85, 0xa1, 0xeb, 0x3f, 0x2a, 0x0c, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xdd, 0xf4, 0x4d, 0xca, 0xad, 0x3a, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2339,55 +2390,3 @@ var ( ErrInvalidLengthCasttype = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCasttype = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/unmarshaler/casttype.proto", fileDescriptor_casttype_bbbbfd21588d9441) -} - -var fileDescriptor_casttype_bbbbfd21588d9441 = []byte{ - // 698 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x40, - 0x14, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0x06, 0xa2, 0x13, 0x83, 0x55, 0x89, 0xb3, 0x69, 0x55, - 0xe4, 0x01, 0x92, 0x2a, 0x8d, 0x4a, 0x55, 0x10, 0x83, 0xab, 0x22, 0x15, 0xe1, 0x82, 0x0c, 0x55, - 0x05, 0x62, 0xb9, 0xb4, 0x26, 0x8d, 0x70, 0xec, 0xc8, 0xbe, 0x80, 0xbc, 0x55, 0x65, 0x40, 0xe2, - 0x2f, 0x61, 0x64, 0x41, 0x62, 0x64, 0xec, 0xd8, 0x91, 0x29, 0xad, 0xcd, 0x52, 0xb6, 0x8e, 0x55, - 0x26, 0x74, 0x77, 0x4e, 0xec, 0xfe, 0x00, 0xa5, 0xe9, 0x76, 0xef, 0xee, 0xbd, 0xcf, 0xfb, 0xde, - 0xbb, 0x77, 0x77, 0xf0, 0xce, 0x96, 0xdb, 0xaa, 0xbb, 0x7e, 0xa5, 0xe3, 0xb4, 0x88, 0xe7, 0xef, - 0x10, 0xdb, 0xf2, 0x2a, 0x5b, 0xc4, 0xa7, 0x34, 0x68, 0x5b, 0xe5, 0xb6, 0xe7, 0x52, 0x17, 0xe5, - 0xfa, 0xf6, 0xf4, 0xfd, 0x46, 0x93, 0xee, 0x74, 0xea, 0xe5, 0x2d, 0xb7, 0x55, 0x69, 0xb8, 0x0d, - 0xb7, 0xc2, 0x1d, 0xea, 0x9d, 0x77, 0xdc, 0xe2, 0x06, 0x1f, 0x89, 0xc0, 0x99, 0x3f, 0x45, 0x98, - 0x5b, 0x21, 0x3e, 0x25, 0x1f, 0x49, 0x80, 0xe6, 0x60, 0x6e, 0xcd, 0xa1, 0x0b, 0xd5, 0x17, 0xd4, - 0x93, 0x81, 0x0a, 0xb4, 0x8c, 0x9e, 0xef, 0x75, 0x95, 0x6c, 0x93, 0xcd, 0x99, 0x83, 0x25, 0x34, - 0x0b, 0xb3, 0x7c, 0x2c, 0x8f, 0x71, 0x9f, 0xe2, 0x7e, 0x57, 0x91, 0x12, 0x3f, 0xb1, 0x86, 0x5e, - 0xc3, 0x82, 0x11, 0x6c, 0x34, 0x1d, 0xba, 0x58, 0x63, 0xb8, 0x8c, 0x0a, 0xb4, 0x71, 0xfd, 0x41, - 0xaf, 0xab, 0x2c, 0xfc, 0x53, 0x20, 0xb5, 0x7c, 0x9a, 0x6c, 0xac, 0x1f, 0xfd, 0x2a, 0x68, 0x5b, - 0x66, 0x9a, 0x85, 0x36, 0x61, 0xae, 0x6f, 0xca, 0xe3, 0x9c, 0xfb, 0x30, 0x96, 0x30, 0x12, 0x7b, - 0x00, 0x43, 0x6f, 0xe1, 0x94, 0x11, 0x3c, 0xb1, 0x5d, 0x12, 0xd7, 0x20, 0xab, 0x02, 0x6d, 0x4c, - 0x5f, 0xea, 0x75, 0x95, 0xda, 0xd0, 0xe0, 0x38, 0x9c, 0x93, 0xcf, 0xd0, 0xd0, 0x1b, 0x98, 0x1f, - 0xd8, 0xf2, 0x04, 0x47, 0x3f, 0x8a, 0x75, 0x8f, 0x86, 0x4f, 0x70, 0x29, 0xe5, 0xa2, 0xdc, 0x93, - 0x2a, 0xd0, 0xc0, 0x28, 0xca, 0xe3, 0x9a, 0x9c, 0xa1, 0xa5, 0x94, 0x2f, 0xd6, 0xe4, 0x1c, 0x47, - 0x8f, 0xa8, 0x3c, 0xc6, 0x27, 0x38, 0xf4, 0x14, 0x4e, 0x1a, 0x81, 0x1e, 0x50, 0xcb, 0x97, 0xf3, - 0x2a, 0xd0, 0xa6, 0xf4, 0xf9, 0x5e, 0x57, 0xb9, 0x37, 0x24, 0x95, 0xc7, 0x99, 0x7d, 0x00, 0x52, - 0x61, 0x61, 0xdd, 0xf5, 0x5a, 0xc4, 0x16, 0x3c, 0xc8, 0x78, 0x66, 0x7a, 0x0a, 0x6d, 0xb0, 0x9d, - 0x88, 0xd3, 0xf6, 0xe5, 0x82, 0x9a, 0xb9, 0x4e, 0x4f, 0x26, 0x24, 0xd4, 0x84, 0x59, 0x23, 0x30, - 0x48, 0x5b, 0x9e, 0x52, 0x33, 0x5a, 0xa1, 0x7a, 0xbb, 0x3c, 0x88, 0xe8, 0xdf, 0xad, 0x32, 0x5f, - 0x5f, 0x75, 0xa8, 0x17, 0xe8, 0xb5, 0x5e, 0x57, 0x99, 0x1f, 0x3a, 0xa3, 0x41, 0xda, 0x3c, 0x9d, - 0xc8, 0x80, 0xbe, 0x03, 0x76, 0xb1, 0x56, 0x3a, 0x3e, 0x75, 0x5b, 0x2c, 0x63, 0x91, 0x67, 0x9c, - 0xbd, 0x34, 0xe3, 0xc0, 0x4b, 0xe4, 0x75, 0xf6, 0x0e, 0xaf, 0xb0, 0xd3, 0x97, 0xd4, 0x6b, 0x3a, - 0x0d, 0x96, 0xfa, 0xcb, 0xe1, 0xc8, 0x97, 0x76, 0xa0, 0x00, 0x7d, 0x02, 0xb0, 0x68, 0x04, 0xeb, - 0x1d, 0xdb, 0x26, 0x75, 0xdb, 0x62, 0xca, 0x6f, 0x70, 0xe5, 0x73, 0x97, 0x2a, 0x4f, 0xf9, 0x09, - 0xed, 0x8b, 0x7b, 0x87, 0x4a, 0x75, 0x68, 0x11, 0xfc, 0x09, 0xe2, 0x1a, 0xce, 0xe6, 0x44, 0x9f, - 0xb9, 0x8a, 0xd5, 0x56, 0xdd, 0xda, 0xde, 0xb6, 0xb6, 0x99, 0x8a, 0x9b, 0xff, 0x51, 0x91, 0xf2, - 0x13, 0x2a, 0x96, 0x59, 0xd7, 0x8f, 0xae, 0x24, 0xc5, 0x43, 0xcf, 0xe1, 0x84, 0xa8, 0xb0, 0x5c, - 0x52, 0x81, 0x96, 0xbf, 0x62, 0x1b, 0x26, 0x87, 0x63, 0xc6, 0x98, 0xe9, 0x25, 0x08, 0x93, 0x1e, - 0x43, 0x25, 0x98, 0x79, 0x6f, 0x05, 0xfc, 0x15, 0xcf, 0x9b, 0x6c, 0x88, 0x6e, 0xc1, 0xec, 0x07, - 0x62, 0x77, 0x2c, 0xfe, 0x6a, 0x8f, 0x9b, 0xc2, 0x58, 0x1e, 0x5b, 0x02, 0xd3, 0x8f, 0x61, 0xe9, - 0x7c, 0xaf, 0x5c, 0x29, 0xde, 0x84, 0xe8, 0xe2, 0x89, 0xa5, 0x09, 0x59, 0x41, 0xb8, 0x9b, 0x26, - 0x14, 0xaa, 0xa5, 0xa4, 0xe6, 0x9b, 0x4d, 0xdb, 0x77, 0x9d, 0x0b, 0xcc, 0xf3, 0xf5, 0xbf, 0x1e, - 0x73, 0x06, 0xc3, 0x09, 0x31, 0xc9, 0xf6, 0xb2, 0xc6, 0xbf, 0x0f, 0xfe, 0xcb, 0x99, 0xc2, 0xd0, - 0x9f, 0xed, 0x87, 0x58, 0x3a, 0x08, 0xb1, 0xf4, 0x2b, 0xc4, 0xd2, 0x51, 0x88, 0xc1, 0x71, 0x88, - 0xc1, 0x49, 0x88, 0xc1, 0x69, 0x88, 0xc1, 0x6e, 0x84, 0xc1, 0xd7, 0x08, 0x83, 0x6f, 0x11, 0x06, - 0x3f, 0x22, 0x0c, 0x7e, 0x46, 0x18, 0xec, 0x47, 0x58, 0x3a, 0x88, 0x30, 0x38, 0x8a, 0x30, 0x38, - 0x8e, 0xb0, 0x74, 0x12, 0x61, 0x70, 0x1a, 0x61, 0x69, 0xf7, 0x37, 0x96, 0xfe, 0x06, 0x00, 0x00, - 0xff, 0xff, 0xa8, 0xc0, 0xa5, 0xf1, 0xb6, 0x07, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/castvalue/castvalue.pb.go b/vendor/github.com/gogo/protobuf/test/castvalue/castvalue.pb.go index 0d16d99a5..47369d082 100644 --- a/vendor/github.com/gogo/protobuf/test/castvalue/castvalue.pb.go +++ b/vendor/github.com/gogo/protobuf/test/castvalue/castvalue.pb.go @@ -3,20 +3,20 @@ package castvalue -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -40,7 +40,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_87404b9a479f5489, []int{0} + return fileDescriptor_42465c49d5c9d654, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Castaway.Unmarshal(m, b) @@ -48,8 +48,8 @@ func (m *Castaway) XXX_Unmarshal(b []byte) error { func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Castaway.Marshal(b, m, deterministic) } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return xxx_messageInfo_Castaway.Size(m) @@ -70,7 +70,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_87404b9a479f5489, []int{1} + return fileDescriptor_42465c49d5c9d654, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Wilson.Unmarshal(m, b) @@ -78,8 +78,8 @@ func (m *Wilson) XXX_Unmarshal(b []byte) error { func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Wilson.Marshal(b, m, deterministic) } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return xxx_messageInfo_Wilson.Size(m) @@ -96,6 +96,35 @@ func init() { proto.RegisterMapType((map[int32]*MyWilson)(nil), "castvalue.Castaway.CastMapValueMessageNullableEntry") proto.RegisterType((*Wilson)(nil), "castvalue.Wilson") } + +func init() { proto.RegisterFile("castvalue.proto", fileDescriptor_42465c49d5c9d654) } + +var fileDescriptor_42465c49d5c9d654 = []byte{ + // 342 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x4e, 0x2c, 0x2e, + 0x29, 0x4b, 0xcc, 0x29, 0x4d, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x0b, 0x48, + 0xe9, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, + 0xeb, 0x83, 0x55, 0x24, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xa9, 0x74, 0x90, + 0x99, 0x8b, 0xc3, 0x39, 0xb1, 0xb8, 0x24, 0xb1, 0x3c, 0xb1, 0x52, 0xa8, 0x80, 0x4b, 0x18, 0xc4, + 0xf6, 0x4d, 0x2c, 0x08, 0x03, 0x99, 0xe5, 0x9b, 0x5a, 0x5c, 0x9c, 0x98, 0x9e, 0x2a, 0xc1, 0xa8, + 0xc0, 0xac, 0xc1, 0x6d, 0xa4, 0xa3, 0x87, 0xb0, 0x15, 0xa6, 0x43, 0x0f, 0x8b, 0x72, 0xd7, 0xbc, + 0x92, 0xa2, 0x4a, 0x27, 0x81, 0x13, 0xf7, 0xe4, 0x19, 0xba, 0xee, 0xcb, 0x73, 0xf8, 0x56, 0x86, + 0x67, 0xe6, 0x14, 0xe7, 0xe7, 0x05, 0x61, 0x33, 0x5a, 0xa8, 0x85, 0x91, 0x4b, 0x1a, 0x8b, 0xb8, + 0x5f, 0x69, 0x4e, 0x4e, 0x62, 0x52, 0x4e, 0xaa, 0x04, 0x13, 0xd8, 0x6a, 0x13, 0x22, 0xad, 0x86, + 0x69, 0x83, 0x38, 0x81, 0x07, 0xc5, 0x7a, 0x7c, 0xd6, 0x48, 0x45, 0x72, 0x49, 0xe0, 0xf2, 0x89, + 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x88, 0x29, + 0xa4, 0xce, 0xc5, 0x0a, 0x76, 0x8b, 0x04, 0x93, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x20, 0x92, 0xeb, + 0xa0, 0x96, 0x41, 0xe4, 0xad, 0x98, 0x2c, 0x18, 0xa5, 0x12, 0xb9, 0x14, 0x08, 0xb9, 0x94, 0x42, + 0x2b, 0x94, 0xe4, 0xb8, 0xd8, 0x20, 0x82, 0x42, 0x22, 0x5c, 0xac, 0x9e, 0x79, 0x25, 0x66, 0x26, + 0x60, 0xa3, 0x98, 0x83, 0x20, 0x1c, 0x27, 0x9f, 0x13, 0x0f, 0xe5, 0x18, 0x2e, 0x3c, 0x94, 0x63, + 0xb8, 0xf1, 0x50, 0x8e, 0xe1, 0xc1, 0x43, 0x39, 0xc6, 0x17, 0x0f, 0xe5, 0x18, 0x3f, 0x3c, 0x94, + 0x63, 0xfc, 0xf1, 0x50, 0x8e, 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x1b, 0x1e, + 0xc9, 0x31, 0xee, 0x78, 0x24, 0xc7, 0x78, 0xe0, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x0c, 0x17, + 0x1e, 0xc9, 0x31, 0x3c, 0x78, 0x24, 0xc7, 0xf8, 0xe2, 0x91, 0x1c, 0xc3, 0x87, 0x47, 0x72, 0x8c, + 0x3f, 0x1e, 0xc9, 0x31, 0x34, 0x3c, 0x96, 0x63, 0x00, 0x04, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x8b, + 0x19, 0x68, 0x7d, 0x02, 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CastvalueDescription() } @@ -105,258 +134,260 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CastvalueDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4004 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xdc, 0xd6, - 0x75, 0x26, 0xf6, 0x87, 0xdc, 0x3d, 0xbb, 0x5c, 0x82, 0x20, 0x2d, 0xad, 0xe8, 0x64, 0x45, 0xd1, - 0x76, 0x44, 0xdb, 0x09, 0x95, 0x91, 0x25, 0x59, 0x5a, 0x35, 0x71, 0x97, 0xcb, 0x15, 0xb3, 0x2e, - 0xff, 0x82, 0x25, 0x63, 0xcb, 0x99, 0x0e, 0x06, 0xc4, 0xde, 0x5d, 0x42, 0xc2, 0x02, 0x08, 0x80, - 0x95, 0x4c, 0x4d, 0x1f, 0xd4, 0x71, 0xda, 0x4e, 0xda, 0xe9, 0x7f, 0x67, 0x9a, 0xb8, 0x8e, 0xdb, - 0xa4, 0xd3, 0x38, 0x4d, 0xff, 0x92, 0xa6, 0x4d, 0x93, 0xf4, 0x25, 0x7d, 0x48, 0xeb, 0xa7, 0x4e, - 0xf2, 0xd6, 0x87, 0x4e, 0x6b, 0x31, 0x9e, 0xa9, 0xdb, 0xba, 0x8d, 0xdb, 0xea, 0xc1, 0x33, 0x9e, - 0xce, 0x74, 0xee, 0x1f, 0x16, 0xc0, 0x2e, 0x09, 0x30, 0x1d, 0x3b, 0x4f, 0x24, 0xce, 0x3d, 0xdf, - 0x87, 0x73, 0xcf, 0x3d, 0xf7, 0x9c, 0x73, 0x2f, 0x16, 0x7e, 0x78, 0x05, 0xe6, 0xbb, 0x96, 0xd5, - 0x35, 0xd0, 0x39, 0xdb, 0xb1, 0x3c, 0x6b, 0xb7, 0xdf, 0x39, 0xd7, 0x46, 0xae, 0xe6, 0xe8, 0xb6, - 0x67, 0x39, 0x4b, 0x44, 0x26, 0x4d, 0x51, 0x8d, 0x25, 0xae, 0xb1, 0xb0, 0x0e, 0xd3, 0xd7, 0x74, - 0x03, 0xad, 0xf8, 0x8a, 0x2d, 0xe4, 0x49, 0x97, 0x21, 0xd3, 0xd1, 0x0d, 0x54, 0x16, 0xe6, 0xd3, - 0x8b, 0x85, 0xf3, 0x0f, 0x2f, 0x45, 0x40, 0x4b, 0x61, 0xc4, 0x16, 0x16, 0xcb, 0x04, 0xb1, 0xf0, - 0x7a, 0x06, 0x66, 0x46, 0x8c, 0x4a, 0x12, 0x64, 0x4c, 0xb5, 0x87, 0x19, 0x85, 0xc5, 0xbc, 0x4c, - 0xfe, 0x97, 0xca, 0x30, 0x61, 0xab, 0xda, 0x4d, 0xb5, 0x8b, 0xca, 0x29, 0x22, 0xe6, 0x8f, 0x52, - 0x05, 0xa0, 0x8d, 0x6c, 0x64, 0xb6, 0x91, 0xa9, 0xed, 0x97, 0xd3, 0xf3, 0xe9, 0xc5, 0xbc, 0x1c, - 0x90, 0x48, 0x8f, 0xc3, 0xb4, 0xdd, 0xdf, 0x35, 0x74, 0x4d, 0x09, 0xa8, 0xc1, 0x7c, 0x7a, 0x31, - 0x2b, 0x8b, 0x74, 0x60, 0x65, 0xa0, 0x7c, 0x16, 0xa6, 0x6e, 0x23, 0xf5, 0x66, 0x50, 0xb5, 0x40, - 0x54, 0x4b, 0x58, 0x1c, 0x50, 0xac, 0x43, 0xb1, 0x87, 0x5c, 0x57, 0xed, 0x22, 0xc5, 0xdb, 0xb7, - 0x51, 0x39, 0x43, 0x66, 0x3f, 0x3f, 0x34, 0xfb, 0xe8, 0xcc, 0x0b, 0x0c, 0xb5, 0xbd, 0x6f, 0x23, - 0xa9, 0x06, 0x79, 0x64, 0xf6, 0x7b, 0x94, 0x21, 0x7b, 0x88, 0xff, 0x1a, 0x66, 0xbf, 0x17, 0x65, - 0xc9, 0x61, 0x18, 0xa3, 0x98, 0x70, 0x91, 0x73, 0x4b, 0xd7, 0x50, 0x79, 0x9c, 0x10, 0x9c, 0x1d, - 0x22, 0x68, 0xd1, 0xf1, 0x28, 0x07, 0xc7, 0x49, 0x75, 0xc8, 0xa3, 0xe7, 0x3d, 0x64, 0xba, 0xba, - 0x65, 0x96, 0x27, 0x08, 0xc9, 0x23, 0x23, 0x56, 0x11, 0x19, 0xed, 0x28, 0xc5, 0x00, 0x27, 0x5d, - 0x82, 0x09, 0xcb, 0xf6, 0x74, 0xcb, 0x74, 0xcb, 0xb9, 0x79, 0x61, 0xb1, 0x70, 0xfe, 0x7d, 0x23, - 0x03, 0x61, 0x93, 0xea, 0xc8, 0x5c, 0x59, 0x6a, 0x82, 0xe8, 0x5a, 0x7d, 0x47, 0x43, 0x8a, 0x66, - 0xb5, 0x91, 0xa2, 0x9b, 0x1d, 0xab, 0x9c, 0x27, 0x04, 0xa7, 0x87, 0x27, 0x42, 0x14, 0xeb, 0x56, - 0x1b, 0x35, 0xcd, 0x8e, 0x25, 0x97, 0xdc, 0xd0, 0xb3, 0x74, 0x02, 0xc6, 0xdd, 0x7d, 0xd3, 0x53, - 0x9f, 0x2f, 0x17, 0x49, 0x84, 0xb0, 0xa7, 0x85, 0x6f, 0x8d, 0xc3, 0x54, 0x92, 0x10, 0xbb, 0x0a, - 0xd9, 0x0e, 0x9e, 0x65, 0x39, 0x75, 0x1c, 0x1f, 0x50, 0x4c, 0xd8, 0x89, 0xe3, 0x3f, 0xa2, 0x13, - 0x6b, 0x50, 0x30, 0x91, 0xeb, 0xa1, 0x36, 0x8d, 0x88, 0x74, 0xc2, 0x98, 0x02, 0x0a, 0x1a, 0x0e, - 0xa9, 0xcc, 0x8f, 0x14, 0x52, 0xcf, 0xc2, 0x94, 0x6f, 0x92, 0xe2, 0xa8, 0x66, 0x97, 0xc7, 0xe6, - 0xb9, 0x38, 0x4b, 0x96, 0x1a, 0x1c, 0x27, 0x63, 0x98, 0x5c, 0x42, 0xa1, 0x67, 0x69, 0x05, 0xc0, - 0x32, 0x91, 0xd5, 0x51, 0xda, 0x48, 0x33, 0xca, 0xb9, 0x43, 0xbc, 0xb4, 0x89, 0x55, 0x86, 0xbc, - 0x64, 0x51, 0xa9, 0x66, 0x48, 0x57, 0x06, 0xa1, 0x36, 0x71, 0x48, 0xa4, 0xac, 0xd3, 0x4d, 0x36, - 0x14, 0x6d, 0x3b, 0x50, 0x72, 0x10, 0x8e, 0x7b, 0xd4, 0x66, 0x33, 0xcb, 0x13, 0x23, 0x96, 0x62, - 0x67, 0x26, 0x33, 0x18, 0x9d, 0xd8, 0xa4, 0x13, 0x7c, 0x94, 0x1e, 0x02, 0x5f, 0xa0, 0x90, 0xb0, - 0x02, 0x92, 0x85, 0x8a, 0x5c, 0xb8, 0xa1, 0xf6, 0xd0, 0xdc, 0x1d, 0x28, 0x85, 0xdd, 0x23, 0xcd, - 0x42, 0xd6, 0xf5, 0x54, 0xc7, 0x23, 0x51, 0x98, 0x95, 0xe9, 0x83, 0x24, 0x42, 0x1a, 0x99, 0x6d, - 0x92, 0xe5, 0xb2, 0x32, 0xfe, 0x57, 0xfa, 0xc9, 0xc1, 0x84, 0xd3, 0x64, 0xc2, 0x1f, 0x18, 0x5e, - 0xd1, 0x10, 0x73, 0x74, 0xde, 0x73, 0x4f, 0xc2, 0x64, 0x68, 0x02, 0x49, 0x5f, 0xbd, 0xf0, 0x33, - 0xf0, 0xc0, 0x48, 0x6a, 0xe9, 0x59, 0x98, 0xed, 0x9b, 0xba, 0xe9, 0x21, 0xc7, 0x76, 0x10, 0x8e, - 0x58, 0xfa, 0xaa, 0xf2, 0xbf, 0x4c, 0x1c, 0x12, 0x73, 0x3b, 0x41, 0x6d, 0xca, 0x22, 0xcf, 0xf4, - 0x87, 0x85, 0x8f, 0xe5, 0x73, 0x6f, 0x4c, 0x88, 0x77, 0xef, 0xde, 0xbd, 0x9b, 0x5a, 0xf8, 0xec, - 0x38, 0xcc, 0x8e, 0xda, 0x33, 0x23, 0xb7, 0xef, 0x09, 0x18, 0x37, 0xfb, 0xbd, 0x5d, 0xe4, 0x10, - 0x27, 0x65, 0x65, 0xf6, 0x24, 0xd5, 0x20, 0x6b, 0xa8, 0xbb, 0xc8, 0x28, 0x67, 0xe6, 0x85, 0xc5, - 0xd2, 0xf9, 0xc7, 0x13, 0xed, 0xca, 0xa5, 0x35, 0x0c, 0x91, 0x29, 0x52, 0xfa, 0x28, 0x64, 0x58, - 0x8a, 0xc6, 0x0c, 0x8f, 0x25, 0x63, 0xc0, 0x7b, 0x49, 0x26, 0x38, 0xe9, 0x41, 0xc8, 0xe3, 0xbf, - 0x34, 0x36, 0xc6, 0x89, 0xcd, 0x39, 0x2c, 0xc0, 0x71, 0x21, 0xcd, 0x41, 0x8e, 0x6c, 0x93, 0x36, - 0xe2, 0xa5, 0xcd, 0x7f, 0xc6, 0x81, 0xd5, 0x46, 0x1d, 0xb5, 0x6f, 0x78, 0xca, 0x2d, 0xd5, 0xe8, - 0x23, 0x12, 0xf0, 0x79, 0xb9, 0xc8, 0x84, 0x9f, 0xc0, 0x32, 0xe9, 0x34, 0x14, 0xe8, 0xae, 0xd2, - 0xcd, 0x36, 0x7a, 0x9e, 0x64, 0xcf, 0xac, 0x4c, 0x37, 0x5a, 0x13, 0x4b, 0xf0, 0xeb, 0x6f, 0xb8, - 0x96, 0xc9, 0x43, 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x9f, 0x8c, 0x26, 0xee, 0xf7, 0x8f, 0x9e, - 0x5e, 0x34, 0xa6, 0x16, 0xbe, 0x91, 0x82, 0x0c, 0xc9, 0x17, 0x53, 0x50, 0xd8, 0xbe, 0xbe, 0xd5, - 0x50, 0x56, 0x36, 0x77, 0x96, 0xd7, 0x1a, 0xa2, 0x20, 0x95, 0x00, 0x88, 0xe0, 0xda, 0xda, 0x66, - 0x6d, 0x5b, 0x4c, 0xf9, 0xcf, 0xcd, 0x8d, 0xed, 0x4b, 0x17, 0xc4, 0xb4, 0x0f, 0xd8, 0xa1, 0x82, - 0x4c, 0x50, 0xe1, 0x89, 0xf3, 0x62, 0x56, 0x12, 0xa1, 0x48, 0x09, 0x9a, 0xcf, 0x36, 0x56, 0x2e, - 0x5d, 0x10, 0xc7, 0xc3, 0x92, 0x27, 0xce, 0x8b, 0x13, 0xd2, 0x24, 0xe4, 0x89, 0x64, 0x79, 0x73, - 0x73, 0x4d, 0xcc, 0xf9, 0x9c, 0xad, 0x6d, 0xb9, 0xb9, 0xb1, 0x2a, 0xe6, 0x7d, 0xce, 0x55, 0x79, - 0x73, 0x67, 0x4b, 0x04, 0x9f, 0x61, 0xbd, 0xd1, 0x6a, 0xd5, 0x56, 0x1b, 0x62, 0xc1, 0xd7, 0x58, - 0xbe, 0xbe, 0xdd, 0x68, 0x89, 0xc5, 0x90, 0x59, 0x4f, 0x9c, 0x17, 0x27, 0xfd, 0x57, 0x34, 0x36, - 0x76, 0xd6, 0xc5, 0x92, 0x34, 0x0d, 0x93, 0xf4, 0x15, 0xdc, 0x88, 0xa9, 0x88, 0xe8, 0xd2, 0x05, - 0x51, 0x1c, 0x18, 0x42, 0x59, 0xa6, 0x43, 0x82, 0x4b, 0x17, 0x44, 0x69, 0xa1, 0x0e, 0x59, 0x12, - 0x5d, 0x92, 0x04, 0xa5, 0xb5, 0xda, 0x72, 0x63, 0x4d, 0xd9, 0xdc, 0xda, 0x6e, 0x6e, 0x6e, 0xd4, - 0xd6, 0x44, 0x61, 0x20, 0x93, 0x1b, 0x1f, 0xdf, 0x69, 0xca, 0x8d, 0x15, 0x31, 0x15, 0x94, 0x6d, - 0x35, 0x6a, 0xdb, 0x8d, 0x15, 0x31, 0xbd, 0xa0, 0xc1, 0xec, 0xa8, 0x3c, 0x39, 0x72, 0x67, 0x04, - 0x96, 0x38, 0x75, 0xc8, 0x12, 0x13, 0xae, 0xa1, 0x25, 0xfe, 0x41, 0x0a, 0x66, 0x46, 0xd4, 0x8a, - 0x91, 0x2f, 0x79, 0x0a, 0xb2, 0x34, 0x44, 0x69, 0xf5, 0x7c, 0x74, 0x64, 0xd1, 0x21, 0x01, 0x3b, - 0x54, 0x41, 0x09, 0x2e, 0xd8, 0x41, 0xa4, 0x0f, 0xe9, 0x20, 0x30, 0xc5, 0x50, 0x4e, 0xff, 0xe9, - 0xa1, 0x9c, 0x4e, 0xcb, 0xde, 0xa5, 0x24, 0x65, 0x8f, 0xc8, 0x8e, 0x97, 0xdb, 0xb3, 0x23, 0x72, - 0xfb, 0x55, 0x98, 0x1e, 0x22, 0x4a, 0x9c, 0x63, 0x5f, 0x10, 0xa0, 0x7c, 0x98, 0x73, 0x62, 0x32, - 0x5d, 0x2a, 0x94, 0xe9, 0xae, 0x46, 0x3d, 0x78, 0xe6, 0xf0, 0x45, 0x18, 0x5a, 0xeb, 0x57, 0x04, - 0x38, 0x31, 0xba, 0x53, 0x1c, 0x69, 0xc3, 0x47, 0x61, 0xbc, 0x87, 0xbc, 0x3d, 0x8b, 0x77, 0x4b, - 0x1f, 0x18, 0x51, 0x83, 0xf1, 0x70, 0x74, 0xb1, 0x19, 0x2a, 0x58, 0xc4, 0xd3, 0x87, 0xb5, 0x7b, - 0xd4, 0x9a, 0x21, 0x4b, 0x3f, 0x93, 0x82, 0x07, 0x46, 0x92, 0x8f, 0x34, 0xf4, 0xfd, 0x00, 0xba, - 0x69, 0xf7, 0x3d, 0xda, 0x11, 0xd1, 0x04, 0x9b, 0x27, 0x12, 0x92, 0xbc, 0x70, 0xf2, 0xec, 0x7b, - 0xfe, 0x78, 0x9a, 0x8c, 0x03, 0x15, 0x11, 0x85, 0xcb, 0x03, 0x43, 0x33, 0xc4, 0xd0, 0xca, 0x21, - 0x33, 0x1d, 0x0a, 0xcc, 0x0f, 0x83, 0xa8, 0x19, 0x3a, 0x32, 0x3d, 0xc5, 0xf5, 0x1c, 0xa4, 0xf6, - 0x74, 0xb3, 0x4b, 0x2a, 0x48, 0xae, 0x9a, 0xed, 0xa8, 0x86, 0x8b, 0xe4, 0x29, 0x3a, 0xdc, 0xe2, - 0xa3, 0x18, 0x41, 0x02, 0xc8, 0x09, 0x20, 0xc6, 0x43, 0x08, 0x3a, 0xec, 0x23, 0x16, 0xbe, 0x9e, - 0x83, 0x42, 0xa0, 0xaf, 0x96, 0xce, 0x40, 0xf1, 0x86, 0x7a, 0x4b, 0x55, 0xf8, 0x59, 0x89, 0x7a, - 0xa2, 0x80, 0x65, 0x5b, 0xec, 0xbc, 0xf4, 0x61, 0x98, 0x25, 0x2a, 0x56, 0xdf, 0x43, 0x8e, 0xa2, - 0x19, 0xaa, 0xeb, 0x12, 0xa7, 0xe5, 0x88, 0xaa, 0x84, 0xc7, 0x36, 0xf1, 0x50, 0x9d, 0x8f, 0x48, - 0x17, 0x61, 0x86, 0x20, 0x7a, 0x7d, 0xc3, 0xd3, 0x6d, 0x03, 0x29, 0xf8, 0xf4, 0xe6, 0x92, 0x4a, - 0xe2, 0x5b, 0x36, 0x8d, 0x35, 0xd6, 0x99, 0x02, 0xb6, 0xc8, 0x95, 0x56, 0xe0, 0xfd, 0x04, 0xd6, - 0x45, 0x26, 0x72, 0x54, 0x0f, 0x29, 0xe8, 0x53, 0x7d, 0xd5, 0x70, 0x15, 0xd5, 0x6c, 0x2b, 0x7b, - 0xaa, 0xbb, 0x57, 0x9e, 0xc5, 0x04, 0xcb, 0xa9, 0xb2, 0x20, 0x9f, 0xc2, 0x8a, 0xab, 0x4c, 0xaf, - 0x41, 0xd4, 0x6a, 0x66, 0xfb, 0x63, 0xaa, 0xbb, 0x27, 0x55, 0xe1, 0x04, 0x61, 0x71, 0x3d, 0x47, - 0x37, 0xbb, 0x8a, 0xb6, 0x87, 0xb4, 0x9b, 0x4a, 0xdf, 0xeb, 0x5c, 0x2e, 0x3f, 0x18, 0x7c, 0x3f, - 0xb1, 0xb0, 0x45, 0x74, 0xea, 0x58, 0x65, 0xc7, 0xeb, 0x5c, 0x96, 0x5a, 0x50, 0xc4, 0x8b, 0xd1, - 0xd3, 0xef, 0x20, 0xa5, 0x63, 0x39, 0xa4, 0x34, 0x96, 0x46, 0xa4, 0xa6, 0x80, 0x07, 0x97, 0x36, - 0x19, 0x60, 0xdd, 0x6a, 0xa3, 0x6a, 0xb6, 0xb5, 0xd5, 0x68, 0xac, 0xc8, 0x05, 0xce, 0x72, 0xcd, - 0x72, 0x70, 0x40, 0x75, 0x2d, 0xdf, 0xc1, 0x05, 0x1a, 0x50, 0x5d, 0x8b, 0xbb, 0xf7, 0x22, 0xcc, - 0x68, 0x1a, 0x9d, 0xb3, 0xae, 0x29, 0xec, 0x8c, 0xe5, 0x96, 0xc5, 0x90, 0xb3, 0x34, 0x6d, 0x95, - 0x2a, 0xb0, 0x18, 0x77, 0xa5, 0x2b, 0xf0, 0xc0, 0xc0, 0x59, 0x41, 0xe0, 0xf4, 0xd0, 0x2c, 0xa3, - 0xd0, 0x8b, 0x30, 0x63, 0xef, 0x0f, 0x03, 0xa5, 0xd0, 0x1b, 0xed, 0xfd, 0x28, 0xec, 0x49, 0x98, - 0xb5, 0xf7, 0xec, 0x61, 0xdc, 0x63, 0x41, 0x9c, 0x64, 0xef, 0xd9, 0x51, 0xe0, 0x23, 0xe4, 0xc0, - 0xed, 0x20, 0x4d, 0xf5, 0x50, 0xbb, 0x7c, 0x32, 0xa8, 0x1e, 0x18, 0x90, 0xce, 0x81, 0xa8, 0x69, - 0x0a, 0x32, 0xd5, 0x5d, 0x03, 0x29, 0xaa, 0x83, 0x4c, 0xd5, 0x2d, 0x9f, 0x0e, 0x2a, 0x97, 0x34, - 0xad, 0x41, 0x46, 0x6b, 0x64, 0x50, 0x7a, 0x0c, 0xa6, 0xad, 0xdd, 0x1b, 0x1a, 0x0d, 0x49, 0xc5, - 0x76, 0x50, 0x47, 0x7f, 0xbe, 0xfc, 0x30, 0xf1, 0xef, 0x14, 0x1e, 0x20, 0x01, 0xb9, 0x45, 0xc4, - 0xd2, 0xa3, 0x20, 0x6a, 0xee, 0x9e, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0xa1, 0xf2, 0x23, - 0x54, 0x95, 0xca, 0x37, 0xb8, 0x18, 0x6f, 0x09, 0xf7, 0xb6, 0xde, 0xf1, 0x38, 0xe3, 0x59, 0xba, - 0x25, 0x88, 0x8c, 0xb1, 0x2d, 0x82, 0x88, 0x5d, 0x11, 0x7a, 0xf1, 0x22, 0x51, 0x2b, 0xd9, 0x7b, - 0x76, 0xf0, 0xbd, 0x0f, 0xc1, 0x24, 0xd6, 0x1c, 0xbc, 0xf4, 0x51, 0xda, 0x90, 0xd9, 0x7b, 0x81, - 0x37, 0xbe, 0x6b, 0xbd, 0xf1, 0x42, 0x15, 0x8a, 0xc1, 0xf8, 0x94, 0xf2, 0x40, 0x23, 0x54, 0x14, - 0x70, 0xb3, 0x52, 0xdf, 0x5c, 0xc1, 0x6d, 0xc6, 0x73, 0x0d, 0x31, 0x85, 0xdb, 0x9d, 0xb5, 0xe6, - 0x76, 0x43, 0x91, 0x77, 0x36, 0xb6, 0x9b, 0xeb, 0x0d, 0x31, 0x1d, 0xec, 0xab, 0xbf, 0x9b, 0x82, - 0x52, 0xf8, 0x88, 0x24, 0xfd, 0x04, 0x9c, 0xe4, 0xf7, 0x19, 0x2e, 0xf2, 0x94, 0xdb, 0xba, 0x43, - 0xb6, 0x4c, 0x4f, 0xa5, 0xe5, 0xcb, 0x5f, 0xb4, 0x59, 0xa6, 0xd5, 0x42, 0xde, 0x33, 0xba, 0x83, - 0x37, 0x44, 0x4f, 0xf5, 0xa4, 0x35, 0x38, 0x6d, 0x5a, 0x8a, 0xeb, 0xa9, 0x66, 0x5b, 0x75, 0xda, - 0xca, 0xe0, 0x26, 0x49, 0x51, 0x35, 0x0d, 0xb9, 0xae, 0x45, 0x4b, 0x95, 0xcf, 0xf2, 0x3e, 0xd3, - 0x6a, 0x31, 0xe5, 0x41, 0x0e, 0xaf, 0x31, 0xd5, 0x48, 0x80, 0xa5, 0x0f, 0x0b, 0xb0, 0x07, 0x21, - 0xdf, 0x53, 0x6d, 0x05, 0x99, 0x9e, 0xb3, 0x4f, 0x1a, 0xe3, 0x9c, 0x9c, 0xeb, 0xa9, 0x76, 0x03, - 0x3f, 0xbf, 0x37, 0xe7, 0x93, 0x7f, 0x4c, 0x43, 0x31, 0xd8, 0x1c, 0xe3, 0xb3, 0x86, 0x46, 0xea, - 0x88, 0x40, 0x32, 0xcd, 0x43, 0x47, 0xb6, 0xd2, 0x4b, 0x75, 0x5c, 0x60, 0xaa, 0xe3, 0xb4, 0x65, - 0x95, 0x29, 0x12, 0x17, 0x77, 0x9c, 0x5b, 0x10, 0x6d, 0x11, 0x72, 0x32, 0x7b, 0x92, 0x56, 0x61, - 0xfc, 0x86, 0x4b, 0xb8, 0xc7, 0x09, 0xf7, 0xc3, 0x47, 0x73, 0x3f, 0xdd, 0x22, 0xe4, 0xf9, 0xa7, - 0x5b, 0xca, 0xc6, 0xa6, 0xbc, 0x5e, 0x5b, 0x93, 0x19, 0x5c, 0x3a, 0x05, 0x19, 0x43, 0xbd, 0xb3, - 0x1f, 0x2e, 0x45, 0x44, 0x94, 0xd4, 0xf1, 0xa7, 0x20, 0x73, 0x1b, 0xa9, 0x37, 0xc3, 0x05, 0x80, - 0x88, 0xde, 0xc5, 0xd0, 0x3f, 0x07, 0x59, 0xe2, 0x2f, 0x09, 0x80, 0x79, 0x4c, 0x1c, 0x93, 0x72, - 0x90, 0xa9, 0x6f, 0xca, 0x38, 0xfc, 0x45, 0x28, 0x52, 0xa9, 0xb2, 0xd5, 0x6c, 0xd4, 0x1b, 0x62, - 0x6a, 0xe1, 0x22, 0x8c, 0x53, 0x27, 0xe0, 0xad, 0xe1, 0xbb, 0x41, 0x1c, 0x63, 0x8f, 0x8c, 0x43, - 0xe0, 0xa3, 0x3b, 0xeb, 0xcb, 0x0d, 0x59, 0x4c, 0x05, 0x97, 0xd7, 0x85, 0x62, 0xb0, 0x2f, 0x7e, - 0x6f, 0x62, 0xea, 0xdb, 0x02, 0x14, 0x02, 0x7d, 0x2e, 0x6e, 0x50, 0x54, 0xc3, 0xb0, 0x6e, 0x2b, - 0xaa, 0xa1, 0xab, 0x2e, 0x0b, 0x0a, 0x20, 0xa2, 0x1a, 0x96, 0x24, 0x5d, 0xb4, 0xf7, 0xc4, 0xf8, - 0x97, 0x05, 0x10, 0xa3, 0x2d, 0x66, 0xc4, 0x40, 0xe1, 0xc7, 0x6a, 0xe0, 0x4b, 0x02, 0x94, 0xc2, - 0x7d, 0x65, 0xc4, 0xbc, 0x33, 0x3f, 0x56, 0xf3, 0x5e, 0x4b, 0xc1, 0x64, 0xa8, 0x9b, 0x4c, 0x6a, - 0xdd, 0xa7, 0x60, 0x5a, 0x6f, 0xa3, 0x9e, 0x6d, 0x79, 0xc8, 0xd4, 0xf6, 0x15, 0x03, 0xdd, 0x42, - 0x46, 0x79, 0x81, 0x24, 0x8a, 0x73, 0x47, 0xf7, 0xab, 0x4b, 0xcd, 0x01, 0x6e, 0x0d, 0xc3, 0xaa, - 0x33, 0xcd, 0x95, 0xc6, 0xfa, 0xd6, 0xe6, 0x76, 0x63, 0xa3, 0x7e, 0x5d, 0xd9, 0xd9, 0xf8, 0xa9, - 0x8d, 0xcd, 0x67, 0x36, 0x64, 0x51, 0x8f, 0xa8, 0xbd, 0x8b, 0x5b, 0x7d, 0x0b, 0xc4, 0xa8, 0x51, - 0xd2, 0x49, 0x18, 0x65, 0x96, 0x38, 0x26, 0xcd, 0xc0, 0xd4, 0xc6, 0xa6, 0xd2, 0x6a, 0xae, 0x34, - 0x94, 0xc6, 0xb5, 0x6b, 0x8d, 0xfa, 0x76, 0x8b, 0xde, 0x40, 0xf8, 0xda, 0xdb, 0xe1, 0x4d, 0xfd, - 0x62, 0x1a, 0x66, 0x46, 0x58, 0x22, 0xd5, 0xd8, 0xd9, 0x81, 0x1e, 0x67, 0x3e, 0x94, 0xc4, 0xfa, - 0x25, 0x5c, 0xf2, 0xb7, 0x54, 0xc7, 0x63, 0x47, 0x8d, 0x47, 0x01, 0x7b, 0xc9, 0xf4, 0xf4, 0x8e, - 0x8e, 0x1c, 0x76, 0x61, 0x43, 0x0f, 0x14, 0x53, 0x03, 0x39, 0xbd, 0xb3, 0xf9, 0x20, 0x48, 0xb6, - 0xe5, 0xea, 0x9e, 0x7e, 0x0b, 0x29, 0xba, 0xc9, 0x6f, 0x77, 0xf0, 0x01, 0x23, 0x23, 0x8b, 0x7c, - 0xa4, 0x69, 0x7a, 0xbe, 0xb6, 0x89, 0xba, 0x6a, 0x44, 0x1b, 0x27, 0xf0, 0xb4, 0x2c, 0xf2, 0x11, - 0x5f, 0xfb, 0x0c, 0x14, 0xdb, 0x56, 0x1f, 0x77, 0x5d, 0x54, 0x0f, 0xd7, 0x0b, 0x41, 0x2e, 0x50, - 0x99, 0xaf, 0xc2, 0xfa, 0xe9, 0xc1, 0xb5, 0x52, 0x51, 0x2e, 0x50, 0x19, 0x55, 0x39, 0x0b, 0x53, - 0x6a, 0xb7, 0xeb, 0x60, 0x72, 0x4e, 0x44, 0x4f, 0x08, 0x25, 0x5f, 0x4c, 0x14, 0xe7, 0x9e, 0x86, - 0x1c, 0xf7, 0x03, 0x2e, 0xc9, 0xd8, 0x13, 0x8a, 0x4d, 0x8f, 0xbd, 0xa9, 0xc5, 0xbc, 0x9c, 0x33, - 0xf9, 0xe0, 0x19, 0x28, 0xea, 0xae, 0x32, 0xb8, 0x25, 0x4f, 0xcd, 0xa7, 0x16, 0x73, 0x72, 0x41, - 0x77, 0xfd, 0x1b, 0xc6, 0x85, 0x57, 0x52, 0x50, 0x0a, 0xdf, 0xf2, 0x4b, 0x2b, 0x90, 0x33, 0x2c, - 0x4d, 0x25, 0xa1, 0x45, 0x3f, 0x31, 0x2d, 0xc6, 0x7c, 0x18, 0x58, 0x5a, 0x63, 0xfa, 0xb2, 0x8f, - 0x9c, 0xfb, 0x7b, 0x01, 0x72, 0x5c, 0x2c, 0x9d, 0x80, 0x8c, 0xad, 0x7a, 0x7b, 0x84, 0x2e, 0xbb, - 0x9c, 0x12, 0x05, 0x99, 0x3c, 0x63, 0xb9, 0x6b, 0xab, 0x26, 0x09, 0x01, 0x26, 0xc7, 0xcf, 0x78, - 0x5d, 0x0d, 0xa4, 0xb6, 0xc9, 0xf1, 0xc3, 0xea, 0xf5, 0x90, 0xe9, 0xb9, 0x7c, 0x5d, 0x99, 0xbc, - 0xce, 0xc4, 0xd2, 0xe3, 0x30, 0xed, 0x39, 0xaa, 0x6e, 0x84, 0x74, 0x33, 0x44, 0x57, 0xe4, 0x03, - 0xbe, 0x72, 0x15, 0x4e, 0x71, 0xde, 0x36, 0xf2, 0x54, 0x6d, 0x0f, 0xb5, 0x07, 0xa0, 0x71, 0x72, - 0xcd, 0x70, 0x92, 0x29, 0xac, 0xb0, 0x71, 0x8e, 0x5d, 0xf8, 0xbe, 0x00, 0xd3, 0xfc, 0xc0, 0xd4, - 0xf6, 0x9d, 0xb5, 0x0e, 0xa0, 0x9a, 0xa6, 0xe5, 0x05, 0xdd, 0x35, 0x1c, 0xca, 0x43, 0xb8, 0xa5, - 0x9a, 0x0f, 0x92, 0x03, 0x04, 0x73, 0x3d, 0x80, 0xc1, 0xc8, 0xa1, 0x6e, 0x3b, 0x0d, 0x05, 0xf6, - 0x09, 0x87, 0x7c, 0x07, 0xa4, 0x47, 0x6c, 0xa0, 0x22, 0x7c, 0xb2, 0x92, 0x66, 0x21, 0xbb, 0x8b, - 0xba, 0xba, 0xc9, 0x2e, 0x66, 0xe9, 0x03, 0xbf, 0x08, 0xc9, 0xf8, 0x17, 0x21, 0xcb, 0x9f, 0x84, - 0x19, 0xcd, 0xea, 0x45, 0xcd, 0x5d, 0x16, 0x23, 0xc7, 0x7c, 0xf7, 0x63, 0xc2, 0x73, 0x30, 0x68, - 0x31, 0xdf, 0x16, 0x84, 0x2f, 0xa6, 0xd2, 0xab, 0x5b, 0xcb, 0x5f, 0x49, 0xcd, 0xad, 0x52, 0xe8, - 0x16, 0x9f, 0xa9, 0x8c, 0x3a, 0x06, 0xd2, 0xb0, 0xf5, 0xf0, 0xa5, 0xc7, 0xe1, 0x43, 0x5d, 0xdd, - 0xdb, 0xeb, 0xef, 0x2e, 0x69, 0x56, 0xef, 0x5c, 0xd7, 0xea, 0x5a, 0x83, 0x4f, 0x9f, 0xf8, 0x89, - 0x3c, 0x90, 0xff, 0xd8, 0xe7, 0xcf, 0xbc, 0x2f, 0x9d, 0x8b, 0xfd, 0x56, 0x5a, 0xdd, 0x80, 0x19, - 0xa6, 0xac, 0x90, 0xef, 0x2f, 0xf4, 0x14, 0x21, 0x1d, 0x79, 0x87, 0x55, 0xfe, 0xda, 0xeb, 0xa4, - 0x5c, 0xcb, 0xd3, 0x0c, 0x8a, 0xc7, 0xe8, 0x41, 0xa3, 0x2a, 0xc3, 0x03, 0x21, 0x3e, 0xba, 0x35, - 0x91, 0x13, 0xc3, 0xf8, 0x5d, 0xc6, 0x38, 0x13, 0x60, 0x6c, 0x31, 0x68, 0xb5, 0x0e, 0x93, 0xc7, - 0xe1, 0xfa, 0x5b, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x55, 0x98, 0x22, 0x24, 0x5a, 0xdf, 0xf5, 0xac, - 0x1e, 0xc9, 0x7b, 0x47, 0xd3, 0xfc, 0xdd, 0xeb, 0x74, 0xaf, 0x94, 0x30, 0xac, 0xee, 0xa3, 0xaa, - 0x55, 0x20, 0x9f, 0x9c, 0xda, 0x48, 0x33, 0x62, 0x18, 0x5e, 0x65, 0x86, 0xf8, 0xfa, 0xd5, 0x4f, - 0xc0, 0x2c, 0xfe, 0x9f, 0xa4, 0xa5, 0xa0, 0x25, 0xf1, 0x17, 0x5e, 0xe5, 0xef, 0xbf, 0x40, 0xb7, - 0xe3, 0x8c, 0x4f, 0x10, 0xb0, 0x29, 0xb0, 0x8a, 0x5d, 0xe4, 0x79, 0xc8, 0x71, 0x15, 0xd5, 0x18, - 0x65, 0x5e, 0xe0, 0xc6, 0xa0, 0xfc, 0xb9, 0x37, 0xc3, 0xab, 0xb8, 0x4a, 0x91, 0x35, 0xc3, 0xa8, - 0xee, 0xc0, 0xc9, 0x11, 0x51, 0x91, 0x80, 0xf3, 0x45, 0xc6, 0x39, 0x3b, 0x14, 0x19, 0x98, 0x76, - 0x0b, 0xb8, 0xdc, 0x5f, 0xcb, 0x04, 0x9c, 0xbf, 0xc3, 0x38, 0x25, 0x86, 0xe5, 0x4b, 0x8a, 0x19, - 0x9f, 0x86, 0xe9, 0x5b, 0xc8, 0xd9, 0xb5, 0x5c, 0x76, 0x4b, 0x93, 0x80, 0xee, 0x25, 0x46, 0x37, - 0xc5, 0x80, 0xe4, 0xda, 0x06, 0x73, 0x5d, 0x81, 0x5c, 0x47, 0xd5, 0x50, 0x02, 0x8a, 0xcf, 0x33, - 0x8a, 0x09, 0xac, 0x8f, 0xa1, 0x35, 0x28, 0x76, 0x2d, 0x56, 0x99, 0xe2, 0xe1, 0x2f, 0x33, 0x78, - 0x81, 0x63, 0x18, 0x85, 0x6d, 0xd9, 0x7d, 0x03, 0x97, 0xad, 0x78, 0x8a, 0xdf, 0xe5, 0x14, 0x1c, - 0xc3, 0x28, 0x8e, 0xe1, 0xd6, 0xdf, 0xe3, 0x14, 0x6e, 0xc0, 0x9f, 0x4f, 0x41, 0xc1, 0x32, 0x8d, - 0x7d, 0xcb, 0x4c, 0x62, 0xc4, 0x17, 0x18, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x0a, 0xf9, 0xa4, 0x0b, - 0xf1, 0x07, 0x6f, 0xf2, 0xed, 0xc1, 0x57, 0x60, 0x15, 0xa6, 0x78, 0x82, 0xd2, 0x2d, 0x33, 0x01, - 0xc5, 0x97, 0x18, 0x45, 0x29, 0x00, 0x63, 0xd3, 0xf0, 0x90, 0xeb, 0x75, 0x51, 0x12, 0x92, 0x57, - 0xf8, 0x34, 0x18, 0x84, 0xb9, 0x72, 0x17, 0x99, 0xda, 0x5e, 0x32, 0x86, 0x2f, 0x73, 0x57, 0x72, - 0x0c, 0xa6, 0xa8, 0xc3, 0x64, 0x4f, 0x75, 0xdc, 0x3d, 0xd5, 0x48, 0xb4, 0x1c, 0x7f, 0xc8, 0x38, - 0x8a, 0x3e, 0x88, 0x79, 0xa4, 0x6f, 0x1e, 0x87, 0xe6, 0x2b, 0xdc, 0x23, 0x01, 0x18, 0xdb, 0x7a, - 0xae, 0x47, 0xae, 0xb4, 0x8e, 0xc3, 0xf6, 0x47, 0x7c, 0xeb, 0x51, 0xec, 0x7a, 0x90, 0xf1, 0x2a, - 0xe4, 0x5d, 0xfd, 0x4e, 0x22, 0x9a, 0x3f, 0xe6, 0x2b, 0x4d, 0x00, 0x18, 0x7c, 0x1d, 0x4e, 0x8d, - 0x2c, 0x13, 0x09, 0xc8, 0xfe, 0x84, 0x91, 0x9d, 0x18, 0x51, 0x2a, 0x58, 0x4a, 0x38, 0x2e, 0xe5, - 0x9f, 0xf2, 0x94, 0x80, 0x22, 0x5c, 0x5b, 0xf8, 0xac, 0xe0, 0xaa, 0x9d, 0xe3, 0x79, 0xed, 0xcf, - 0xb8, 0xd7, 0x28, 0x36, 0xe4, 0xb5, 0x6d, 0x38, 0xc1, 0x18, 0x8f, 0xb7, 0xae, 0x5f, 0xe5, 0x89, - 0x95, 0xa2, 0x77, 0xc2, 0xab, 0xfb, 0x49, 0x98, 0xf3, 0xdd, 0xc9, 0x9b, 0x52, 0x57, 0xe9, 0xa9, - 0x76, 0x02, 0xe6, 0xaf, 0x31, 0x66, 0x9e, 0xf1, 0xfd, 0xae, 0xd6, 0x5d, 0x57, 0x6d, 0x4c, 0xfe, - 0x2c, 0x94, 0x39, 0x79, 0xdf, 0x74, 0x90, 0x66, 0x75, 0x4d, 0xfd, 0x0e, 0x6a, 0x27, 0xa0, 0xfe, - 0xf3, 0xc8, 0x52, 0xed, 0x04, 0xe0, 0x98, 0xb9, 0x09, 0xa2, 0xdf, 0xab, 0x28, 0x7a, 0xcf, 0xb6, - 0x1c, 0x2f, 0x86, 0xf1, 0xeb, 0x7c, 0xa5, 0x7c, 0x5c, 0x93, 0xc0, 0xaa, 0x0d, 0x28, 0x91, 0xc7, - 0xa4, 0x21, 0xf9, 0x17, 0x8c, 0x68, 0x72, 0x80, 0x62, 0x89, 0x43, 0xb3, 0x7a, 0xb6, 0xea, 0x24, - 0xc9, 0x7f, 0x7f, 0xc9, 0x13, 0x07, 0x83, 0xb0, 0xc4, 0xe1, 0xed, 0xdb, 0x08, 0x57, 0xfb, 0x04, - 0x0c, 0xdf, 0xe0, 0x89, 0x83, 0x63, 0x18, 0x05, 0x6f, 0x18, 0x12, 0x50, 0xfc, 0x15, 0xa7, 0xe0, - 0x18, 0x4c, 0xf1, 0xf1, 0x41, 0xa1, 0x75, 0x50, 0x57, 0x77, 0x3d, 0x87, 0xb6, 0xc2, 0x47, 0x53, - 0x7d, 0xf3, 0xcd, 0x70, 0x13, 0x26, 0x07, 0xa0, 0x38, 0x13, 0xb1, 0x2b, 0x54, 0x72, 0x52, 0x8a, - 0x37, 0xec, 0x5b, 0x3c, 0x13, 0x05, 0x60, 0xd8, 0xb6, 0x40, 0x87, 0x88, 0xdd, 0xae, 0xe1, 0xf3, - 0x41, 0x02, 0xba, 0x6f, 0x47, 0x8c, 0x6b, 0x71, 0x2c, 0xe6, 0x0c, 0xf4, 0x3f, 0x7d, 0xf3, 0x26, - 0xda, 0x4f, 0x14, 0x9d, 0x7f, 0x1d, 0xe9, 0x7f, 0x76, 0x28, 0x92, 0xe6, 0x90, 0xa9, 0x48, 0x3f, - 0x25, 0xc5, 0xfd, 0x58, 0xa7, 0xfc, 0xb3, 0xf7, 0xd9, 0x7c, 0xc3, 0xed, 0x54, 0x75, 0x0d, 0x07, - 0x79, 0xb8, 0xe9, 0x89, 0x27, 0x7b, 0xe1, 0xbe, 0x1f, 0xe7, 0xa1, 0x9e, 0xa7, 0x7a, 0x0d, 0x26, - 0x43, 0x0d, 0x4f, 0x3c, 0xd5, 0xa7, 0x19, 0x55, 0x31, 0xd8, 0xef, 0x54, 0x2f, 0x42, 0x06, 0x37, - 0x2f, 0xf1, 0xf0, 0x9f, 0x63, 0x70, 0xa2, 0x5e, 0xfd, 0x08, 0xe4, 0x78, 0xd3, 0x12, 0x0f, 0xfd, - 0x79, 0x06, 0xf5, 0x21, 0x18, 0xce, 0x1b, 0x96, 0x78, 0xf8, 0x2f, 0x70, 0x38, 0x87, 0x60, 0x78, - 0x72, 0x17, 0x7e, 0xe7, 0x97, 0x32, 0xac, 0xe8, 0x70, 0xdf, 0x5d, 0x85, 0x09, 0xd6, 0xa9, 0xc4, - 0xa3, 0x3f, 0xc3, 0x5e, 0xce, 0x11, 0xd5, 0x27, 0x21, 0x9b, 0xd0, 0xe1, 0xbf, 0xcc, 0xa0, 0x54, - 0xbf, 0x5a, 0x87, 0x42, 0xa0, 0x3b, 0x89, 0x87, 0xff, 0x0a, 0x83, 0x07, 0x51, 0xd8, 0x74, 0xd6, - 0x9d, 0xc4, 0x13, 0xfc, 0x2a, 0x37, 0x9d, 0x21, 0xb0, 0xdb, 0x78, 0x63, 0x12, 0x8f, 0xfe, 0x35, - 0xee, 0x75, 0x0e, 0xa9, 0x3e, 0x05, 0x79, 0xbf, 0xd8, 0xc4, 0xe3, 0x7f, 0x9d, 0xe1, 0x07, 0x18, - 0xec, 0x81, 0x40, 0xb1, 0x8b, 0xa7, 0xf8, 0x0d, 0xee, 0x81, 0x00, 0x0a, 0x6f, 0xa3, 0x68, 0x03, - 0x13, 0xcf, 0xf4, 0x9b, 0x7c, 0x1b, 0x45, 0xfa, 0x17, 0xbc, 0x9a, 0x24, 0xe7, 0xc7, 0x53, 0xfc, - 0x16, 0x5f, 0x4d, 0xa2, 0x8f, 0xcd, 0x88, 0x76, 0x04, 0xf1, 0x1c, 0xbf, 0xcd, 0xcd, 0x88, 0x34, - 0x04, 0xd5, 0x2d, 0x90, 0x86, 0xbb, 0x81, 0x78, 0xbe, 0xcf, 0x32, 0xbe, 0xe9, 0xa1, 0x66, 0xa0, - 0xfa, 0x0c, 0x9c, 0x18, 0xdd, 0x09, 0xc4, 0xb3, 0x7e, 0xee, 0x7e, 0xe4, 0xec, 0x16, 0x6c, 0x04, - 0xaa, 0xdb, 0x83, 0x92, 0x12, 0xec, 0x02, 0xe2, 0x69, 0x5f, 0xbc, 0x1f, 0x4e, 0xdc, 0xc1, 0x26, - 0xa0, 0x5a, 0x03, 0x18, 0x14, 0xe0, 0x78, 0xae, 0x97, 0x18, 0x57, 0x00, 0x84, 0xb7, 0x06, 0xab, - 0xbf, 0xf1, 0xf8, 0xcf, 0xf3, 0xad, 0xc1, 0x10, 0x78, 0x6b, 0xf0, 0xd2, 0x1b, 0x8f, 0x7e, 0x99, - 0x6f, 0x0d, 0x0e, 0xc1, 0x91, 0x1d, 0xa8, 0x6e, 0xf1, 0x0c, 0x5f, 0xe0, 0x91, 0x1d, 0x40, 0x55, - 0x37, 0x60, 0x7a, 0xa8, 0x20, 0xc6, 0x53, 0x7d, 0x91, 0x51, 0x89, 0xd1, 0x7a, 0x18, 0x2c, 0x5e, - 0xac, 0x18, 0xc6, 0xb3, 0xfd, 0x7e, 0xa4, 0x78, 0xb1, 0x5a, 0x58, 0xbd, 0x0a, 0x39, 0xb3, 0x6f, - 0x18, 0x78, 0xf3, 0x48, 0x47, 0xff, 0xc0, 0xae, 0xfc, 0xaf, 0xef, 0x30, 0xef, 0x70, 0x40, 0xf5, - 0x22, 0x64, 0x51, 0x6f, 0x17, 0xb5, 0xe3, 0x90, 0xff, 0xf6, 0x0e, 0x4f, 0x98, 0x58, 0xbb, 0xfa, - 0x14, 0x00, 0xbd, 0x1a, 0x21, 0x9f, 0xfd, 0x62, 0xb0, 0xff, 0xfe, 0x0e, 0xfb, 0xe9, 0xcb, 0x00, - 0x32, 0x20, 0xa0, 0x3f, 0xa4, 0x39, 0x9a, 0xe0, 0xcd, 0x30, 0x01, 0x59, 0x91, 0x2b, 0x30, 0x71, - 0xc3, 0xb5, 0x4c, 0x4f, 0xed, 0xc6, 0xa1, 0xff, 0x83, 0xa1, 0xb9, 0x3e, 0x76, 0x58, 0xcf, 0x72, - 0x90, 0xa7, 0x76, 0xdd, 0x38, 0xec, 0x7f, 0x32, 0xac, 0x0f, 0xc0, 0x60, 0x4d, 0x75, 0xbd, 0x24, - 0xf3, 0xfe, 0x21, 0x07, 0x73, 0x00, 0x36, 0x1a, 0xff, 0x7f, 0x13, 0xed, 0xc7, 0x61, 0xdf, 0xe2, - 0x46, 0x33, 0xfd, 0xea, 0x47, 0x20, 0x8f, 0xff, 0xa5, 0xbf, 0x67, 0x8b, 0x01, 0xff, 0x17, 0x03, - 0x0f, 0x10, 0xf8, 0xcd, 0xae, 0xd7, 0xf6, 0xf4, 0x78, 0x67, 0xff, 0x37, 0x5b, 0x69, 0xae, 0x5f, - 0xad, 0x41, 0xc1, 0xf5, 0xda, 0xed, 0x3e, 0xeb, 0x4f, 0x63, 0xe0, 0xff, 0xf3, 0x8e, 0x7f, 0x65, - 0xe1, 0x63, 0xf0, 0x6a, 0xdf, 0xbe, 0xe9, 0xd9, 0x16, 0xf9, 0xcc, 0x11, 0xc7, 0x70, 0x9f, 0x31, - 0x04, 0x20, 0xcb, 0x8d, 0xd1, 0xd7, 0xb7, 0xb0, 0x6a, 0xad, 0x5a, 0xf4, 0xe2, 0xf6, 0xb9, 0x85, - 0xf8, 0x1b, 0x58, 0xf8, 0xdf, 0x0c, 0x4c, 0xf9, 0x3e, 0xe1, 0x57, 0xb1, 0xbe, 0x60, 0xee, 0x78, - 0x97, 0xb8, 0x0b, 0x7f, 0x93, 0x86, 0x5c, 0x5d, 0x75, 0x3d, 0xf5, 0xb6, 0xba, 0x2f, 0xd9, 0x30, - 0x83, 0xff, 0x5f, 0x57, 0x6d, 0x72, 0x25, 0xc8, 0xf6, 0x2e, 0xbb, 0x27, 0xff, 0xe0, 0xd2, 0xe0, - 0xad, 0x1c, 0xb1, 0x34, 0x42, 0x9d, 0xfc, 0xbe, 0x60, 0x59, 0x7c, 0xf5, 0x9f, 0x4e, 0x8f, 0xfd, - 0xe2, 0x3f, 0x9f, 0xce, 0xad, 0xef, 0x3f, 0xa3, 0x1b, 0xae, 0x65, 0xca, 0xa3, 0xa8, 0xa5, 0x4f, - 0x0b, 0xf0, 0xe0, 0x08, 0xf9, 0x06, 0xdb, 0xda, 0xec, 0x6b, 0xd3, 0x85, 0x84, 0xaf, 0xe6, 0x30, - 0x6a, 0x42, 0x31, 0xf4, 0xfa, 0xa3, 0x5e, 0x33, 0x77, 0x1d, 0xca, 0x87, 0xcd, 0x44, 0x12, 0x21, - 0x7d, 0x13, 0xed, 0xb3, 0x1f, 0x29, 0xe2, 0x7f, 0xa5, 0xb3, 0x83, 0x9f, 0x72, 0x0a, 0x8b, 0x85, - 0xf3, 0xd3, 0x01, 0xeb, 0xd8, 0xcb, 0xe8, 0x78, 0x35, 0x75, 0x59, 0x98, 0x53, 0x61, 0x3e, 0xce, - 0xd2, 0xff, 0xe7, 0x2b, 0x16, 0x2a, 0x30, 0x4e, 0x85, 0xd2, 0x2c, 0x64, 0x9b, 0xa6, 0x77, 0xe9, - 0x02, 0xa1, 0x4a, 0xcb, 0xf4, 0x61, 0x79, 0xed, 0xd5, 0x7b, 0x95, 0xb1, 0xef, 0xdd, 0xab, 0x8c, - 0xfd, 0xc3, 0xbd, 0xca, 0xd8, 0x6b, 0xf7, 0x2a, 0xc2, 0x1b, 0xf7, 0x2a, 0xc2, 0x5b, 0xf7, 0x2a, - 0xc2, 0xdb, 0xf7, 0x2a, 0xc2, 0xdd, 0x83, 0x8a, 0xf0, 0xe5, 0x83, 0x8a, 0xf0, 0xd5, 0x83, 0x8a, - 0xf0, 0xcd, 0x83, 0x8a, 0xf0, 0x9d, 0x83, 0x8a, 0xf0, 0xea, 0x41, 0x65, 0xec, 0x7b, 0x07, 0x95, - 0xb1, 0xd7, 0x0e, 0x2a, 0xc2, 0x1b, 0x07, 0x95, 0xb1, 0xb7, 0x0e, 0x2a, 0xc2, 0xdb, 0x07, 0x95, - 0xb1, 0xbb, 0x3f, 0xa8, 0x8c, 0xfd, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x42, 0x03, 0x05, 0x0d, - 0x1b, 0x35, 0x00, 0x00, + // 4037 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0x1b, 0xd7, + 0x79, 0xe6, 0xe2, 0x42, 0x02, 0x3f, 0x40, 0x70, 0xb9, 0xa4, 0x29, 0x88, 0x8e, 0x21, 0x8a, 0xb6, + 0x23, 0xfa, 0x46, 0x65, 0x64, 0x49, 0x96, 0xa1, 0x26, 0x2e, 0x08, 0x42, 0x0c, 0x5c, 0xde, 0xb2, + 0x20, 0x63, 0xcb, 0x99, 0xce, 0xce, 0x72, 0x71, 0x08, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, 0x24, + 0x53, 0xd3, 0x07, 0x75, 0x9c, 0xb6, 0x93, 0xde, 0x6f, 0x33, 0x4d, 0x5c, 0xc7, 0x6d, 0xd2, 0x69, + 0x9c, 0xa6, 0xb7, 0xa4, 0x97, 0x34, 0x49, 0x5f, 0xd2, 0x87, 0xb4, 0x7a, 0xea, 0x24, 0x6f, 0x7d, + 0xe8, 0xb4, 0x16, 0xe3, 0x99, 0xba, 0xad, 0xdb, 0xba, 0xad, 0x1e, 0x3c, 0xe3, 0xe9, 0x4c, 0xe7, + 0xdc, 0x16, 0xbb, 0x0b, 0x90, 0xbb, 0x4c, 0xc6, 0xf6, 0x13, 0x79, 0xfe, 0xf3, 0x7f, 0xdf, 0xf9, + 0xcf, 0x7f, 0xfe, 0x73, 0xfe, 0xff, 0x9c, 0x05, 0xdc, 0xa9, 0xc2, 0x5c, 0xc7, 0xb2, 0x3a, 0x06, + 0x3a, 0x6b, 0x3b, 0x96, 0x67, 0xed, 0xf4, 0x76, 0xcf, 0xb6, 0x91, 0xab, 0x39, 0xba, 0xed, 0x59, + 0xce, 0x22, 0x91, 0x49, 0x13, 0x54, 0x63, 0x91, 0x6b, 0xcc, 0xaf, 0xc1, 0xe4, 0x15, 0xdd, 0x40, + 0xcb, 0xbe, 0x62, 0x0b, 0x79, 0xd2, 0x25, 0xc8, 0xec, 0xea, 0x06, 0x2a, 0x0b, 0x73, 0xe9, 0x85, + 0xc2, 0xb9, 0x87, 0x16, 0x23, 0xa0, 0xc5, 0x30, 0x62, 0x13, 0x8b, 0x65, 0x82, 0x98, 0x7f, 0x23, + 0x03, 0x53, 0x43, 0x7a, 0x25, 0x09, 0x32, 0xa6, 0xda, 0xc5, 0x8c, 0xc2, 0x42, 0x5e, 0x26, 0xff, + 0x4b, 0x65, 0x18, 0xb3, 0x55, 0xed, 0xba, 0xda, 0x41, 0xe5, 0x14, 0x11, 0xf3, 0xa6, 0x54, 0x01, + 0x68, 0x23, 0x1b, 0x99, 0x6d, 0x64, 0x6a, 0xfb, 0xe5, 0xf4, 0x5c, 0x7a, 0x21, 0x2f, 0x07, 0x24, + 0xd2, 0x63, 0x30, 0x69, 0xf7, 0x76, 0x0c, 0x5d, 0x53, 0x02, 0x6a, 0x30, 0x97, 0x5e, 0xc8, 0xca, + 0x22, 0xed, 0x58, 0xee, 0x2b, 0x9f, 0x81, 0x89, 0x9b, 0x48, 0xbd, 0x1e, 0x54, 0x2d, 0x10, 0xd5, + 0x12, 0x16, 0x07, 0x14, 0xeb, 0x50, 0xec, 0x22, 0xd7, 0x55, 0x3b, 0x48, 0xf1, 0xf6, 0x6d, 0x54, + 0xce, 0x90, 0xd9, 0xcf, 0x0d, 0xcc, 0x3e, 0x3a, 0xf3, 0x02, 0x43, 0x6d, 0xed, 0xdb, 0x48, 0xaa, + 0x41, 0x1e, 0x99, 0xbd, 0x2e, 0x65, 0xc8, 0x1e, 0xe2, 0xbf, 0x86, 0xd9, 0xeb, 0x46, 0x59, 0x72, + 0x18, 0xc6, 0x28, 0xc6, 0x5c, 0xe4, 0xdc, 0xd0, 0x35, 0x54, 0x1e, 0x25, 0x04, 0x67, 0x06, 0x08, + 0x5a, 0xb4, 0x3f, 0xca, 0xc1, 0x71, 0x52, 0x1d, 0xf2, 0xe8, 0x45, 0x0f, 0x99, 0xae, 0x6e, 0x99, + 0xe5, 0x31, 0x42, 0xf2, 0xf0, 0x90, 0x55, 0x44, 0x46, 0x3b, 0x4a, 0xd1, 0xc7, 0x49, 0x17, 0x61, + 0xcc, 0xb2, 0x3d, 0xdd, 0x32, 0xdd, 0x72, 0x6e, 0x4e, 0x58, 0x28, 0x9c, 0xfb, 0xd0, 0xd0, 0x40, + 0xd8, 0xa0, 0x3a, 0x32, 0x57, 0x96, 0x9a, 0x20, 0xba, 0x56, 0xcf, 0xd1, 0x90, 0xa2, 0x59, 0x6d, + 0xa4, 0xe8, 0xe6, 0xae, 0x55, 0xce, 0x13, 0x82, 0x53, 0x83, 0x13, 0x21, 0x8a, 0x75, 0xab, 0x8d, + 0x9a, 0xe6, 0xae, 0x25, 0x97, 0xdc, 0x50, 0x5b, 0x9a, 0x81, 0x51, 0x77, 0xdf, 0xf4, 0xd4, 0x17, + 0xcb, 0x45, 0x12, 0x21, 0xac, 0x35, 0xff, 0xad, 0x51, 0x98, 0x48, 0x12, 0x62, 0x97, 0x21, 0xbb, + 0x8b, 0x67, 0x59, 0x4e, 0x1d, 0xc7, 0x07, 0x14, 0x13, 0x76, 0xe2, 0xe8, 0x0f, 0xe9, 0xc4, 0x1a, + 0x14, 0x4c, 0xe4, 0x7a, 0xa8, 0x4d, 0x23, 0x22, 0x9d, 0x30, 0xa6, 0x80, 0x82, 0x06, 0x43, 0x2a, + 0xf3, 0x43, 0x85, 0xd4, 0xf3, 0x30, 0xe1, 0x9b, 0xa4, 0x38, 0xaa, 0xd9, 0xe1, 0xb1, 0x79, 0x36, + 0xce, 0x92, 0xc5, 0x06, 0xc7, 0xc9, 0x18, 0x26, 0x97, 0x50, 0xa8, 0x2d, 0x2d, 0x03, 0x58, 0x26, + 0xb2, 0x76, 0x95, 0x36, 0xd2, 0x8c, 0x72, 0xee, 0x10, 0x2f, 0x6d, 0x60, 0x95, 0x01, 0x2f, 0x59, + 0x54, 0xaa, 0x19, 0xd2, 0xd3, 0xfd, 0x50, 0x1b, 0x3b, 0x24, 0x52, 0xd6, 0xe8, 0x26, 0x1b, 0x88, + 0xb6, 0x6d, 0x28, 0x39, 0x08, 0xc7, 0x3d, 0x6a, 0xb3, 0x99, 0xe5, 0x89, 0x11, 0x8b, 0xb1, 0x33, + 0x93, 0x19, 0x8c, 0x4e, 0x6c, 0xdc, 0x09, 0x36, 0xa5, 0x07, 0xc1, 0x17, 0x28, 0x24, 0xac, 0x80, + 0x9c, 0x42, 0x45, 0x2e, 0x5c, 0x57, 0xbb, 0x68, 0xf6, 0x16, 0x94, 0xc2, 0xee, 0x91, 0xa6, 0x21, + 0xeb, 0x7a, 0xaa, 0xe3, 0x91, 0x28, 0xcc, 0xca, 0xb4, 0x21, 0x89, 0x90, 0x46, 0x66, 0x9b, 0x9c, + 0x72, 0x59, 0x19, 0xff, 0x2b, 0xfd, 0x78, 0x7f, 0xc2, 0x69, 0x32, 0xe1, 0x0f, 0x0f, 0xae, 0x68, + 0x88, 0x39, 0x3a, 0xef, 0xd9, 0xa7, 0x60, 0x3c, 0x34, 0x81, 0xa4, 0x43, 0xcf, 0xff, 0x14, 0xdc, + 0x37, 0x94, 0x5a, 0x7a, 0x1e, 0xa6, 0x7b, 0xa6, 0x6e, 0x7a, 0xc8, 0xb1, 0x1d, 0x84, 0x23, 0x96, + 0x0e, 0x55, 0xfe, 0x97, 0xb1, 0x43, 0x62, 0x6e, 0x3b, 0xa8, 0x4d, 0x59, 0xe4, 0xa9, 0xde, 0xa0, + 0xf0, 0xd1, 0x7c, 0xee, 0xcd, 0x31, 0xf1, 0xf6, 0xed, 0xdb, 0xb7, 0x53, 0xf3, 0x9f, 0x1b, 0x85, + 0xe9, 0x61, 0x7b, 0x66, 0xe8, 0xf6, 0x9d, 0x81, 0x51, 0xb3, 0xd7, 0xdd, 0x41, 0x0e, 0x71, 0x52, + 0x56, 0x66, 0x2d, 0xa9, 0x06, 0x59, 0x43, 0xdd, 0x41, 0x46, 0x39, 0x33, 0x27, 0x2c, 0x94, 0xce, + 0x3d, 0x96, 0x68, 0x57, 0x2e, 0xae, 0x62, 0x88, 0x4c, 0x91, 0xd2, 0xc7, 0x20, 0xc3, 0x8e, 0x68, + 0xcc, 0xf0, 0x68, 0x32, 0x06, 0xbc, 0x97, 0x64, 0x82, 0x93, 0xee, 0x87, 0x3c, 0xfe, 0x4b, 0x63, + 0x63, 0x94, 0xd8, 0x9c, 0xc3, 0x02, 0x1c, 0x17, 0xd2, 0x2c, 0xe4, 0xc8, 0x36, 0x69, 0x23, 0x9e, + 0xda, 0xfc, 0x36, 0x0e, 0xac, 0x36, 0xda, 0x55, 0x7b, 0x86, 0xa7, 0xdc, 0x50, 0x8d, 0x1e, 0x22, + 0x01, 0x9f, 0x97, 0x8b, 0x4c, 0xf8, 0x49, 0x2c, 0x93, 0x4e, 0x41, 0x81, 0xee, 0x2a, 0xdd, 0x6c, + 0xa3, 0x17, 0xc9, 0xe9, 0x99, 0x95, 0xe9, 0x46, 0x6b, 0x62, 0x09, 0x1e, 0xfe, 0x9a, 0x6b, 0x99, + 0x3c, 0x34, 0xc9, 0x10, 0x58, 0x40, 0x86, 0x7f, 0x2a, 0x7a, 0x70, 0x3f, 0x30, 0x7c, 0x7a, 0xd1, + 0x98, 0x9a, 0xff, 0x46, 0x0a, 0x32, 0xe4, 0xbc, 0x98, 0x80, 0xc2, 0xd6, 0xd5, 0xcd, 0x86, 0xb2, + 0xbc, 0xb1, 0xbd, 0xb4, 0xda, 0x10, 0x05, 0xa9, 0x04, 0x40, 0x04, 0x57, 0x56, 0x37, 0x6a, 0x5b, + 0x62, 0xca, 0x6f, 0x37, 0xd7, 0xb7, 0x2e, 0x9e, 0x17, 0xd3, 0x3e, 0x60, 0x9b, 0x0a, 0x32, 0x41, + 0x85, 0x27, 0xcf, 0x89, 0x59, 0x49, 0x84, 0x22, 0x25, 0x68, 0x3e, 0xdf, 0x58, 0xbe, 0x78, 0x5e, + 0x1c, 0x0d, 0x4b, 0x9e, 0x3c, 0x27, 0x8e, 0x49, 0xe3, 0x90, 0x27, 0x92, 0xa5, 0x8d, 0x8d, 0x55, + 0x31, 0xe7, 0x73, 0xb6, 0xb6, 0xe4, 0xe6, 0xfa, 0x8a, 0x98, 0xf7, 0x39, 0x57, 0xe4, 0x8d, 0xed, + 0x4d, 0x11, 0x7c, 0x86, 0xb5, 0x46, 0xab, 0x55, 0x5b, 0x69, 0x88, 0x05, 0x5f, 0x63, 0xe9, 0xea, + 0x56, 0xa3, 0x25, 0x16, 0x43, 0x66, 0x3d, 0x79, 0x4e, 0x1c, 0xf7, 0x87, 0x68, 0xac, 0x6f, 0xaf, + 0x89, 0x25, 0x69, 0x12, 0xc6, 0xe9, 0x10, 0xdc, 0x88, 0x89, 0x88, 0xe8, 0xe2, 0x79, 0x51, 0xec, + 0x1b, 0x42, 0x59, 0x26, 0x43, 0x82, 0x8b, 0xe7, 0x45, 0x69, 0xbe, 0x0e, 0x59, 0x12, 0x5d, 0x92, + 0x04, 0xa5, 0xd5, 0xda, 0x52, 0x63, 0x55, 0xd9, 0xd8, 0xdc, 0x6a, 0x6e, 0xac, 0xd7, 0x56, 0x45, + 0xa1, 0x2f, 0x93, 0x1b, 0x9f, 0xd8, 0x6e, 0xca, 0x8d, 0x65, 0x31, 0x15, 0x94, 0x6d, 0x36, 0x6a, + 0x5b, 0x8d, 0x65, 0x31, 0x3d, 0xaf, 0xc1, 0xf4, 0xb0, 0x73, 0x72, 0xe8, 0xce, 0x08, 0x2c, 0x71, + 0xea, 0x90, 0x25, 0x26, 0x5c, 0x03, 0x4b, 0xfc, 0x83, 0x14, 0x4c, 0x0d, 0xc9, 0x15, 0x43, 0x07, + 0x79, 0x06, 0xb2, 0x34, 0x44, 0x69, 0xf6, 0x7c, 0x64, 0x68, 0xd2, 0x21, 0x01, 0x3b, 0x90, 0x41, + 0x09, 0x2e, 0x58, 0x41, 0xa4, 0x0f, 0xa9, 0x20, 0x30, 0xc5, 0xc0, 0x99, 0xfe, 0x93, 0x03, 0x67, + 0x3a, 0x4d, 0x7b, 0x17, 0x93, 0xa4, 0x3d, 0x22, 0x3b, 0xde, 0xd9, 0x9e, 0x1d, 0x72, 0xb6, 0x5f, + 0x86, 0xc9, 0x01, 0xa2, 0xc4, 0x67, 0xec, 0x4b, 0x02, 0x94, 0x0f, 0x73, 0x4e, 0xcc, 0x49, 0x97, + 0x0a, 0x9d, 0x74, 0x97, 0xa3, 0x1e, 0x3c, 0x7d, 0xf8, 0x22, 0x0c, 0xac, 0xf5, 0x6b, 0x02, 0xcc, + 0x0c, 0xaf, 0x14, 0x87, 0xda, 0xf0, 0x31, 0x18, 0xed, 0x22, 0x6f, 0xcf, 0xe2, 0xd5, 0xd2, 0x87, + 0x87, 0xe4, 0x60, 0xdc, 0x1d, 0x5d, 0x6c, 0x86, 0x0a, 0x26, 0xf1, 0xf4, 0x61, 0xe5, 0x1e, 0xb5, + 0x66, 0xc0, 0xd2, 0xcf, 0xa6, 0xe0, 0xbe, 0xa1, 0xe4, 0x43, 0x0d, 0x7d, 0x00, 0x40, 0x37, 0xed, + 0x9e, 0x47, 0x2b, 0x22, 0x7a, 0xc0, 0xe6, 0x89, 0x84, 0x1c, 0x5e, 0xf8, 0xf0, 0xec, 0x79, 0x7e, + 0x7f, 0x9a, 0xf4, 0x03, 0x15, 0x11, 0x85, 0x4b, 0x7d, 0x43, 0x33, 0xc4, 0xd0, 0xca, 0x21, 0x33, + 0x1d, 0x08, 0xcc, 0x8f, 0x80, 0xa8, 0x19, 0x3a, 0x32, 0x3d, 0xc5, 0xf5, 0x1c, 0xa4, 0x76, 0x75, + 0xb3, 0x43, 0x32, 0x48, 0xae, 0x9a, 0xdd, 0x55, 0x0d, 0x17, 0xc9, 0x13, 0xb4, 0xbb, 0xc5, 0x7b, + 0x31, 0x82, 0x04, 0x90, 0x13, 0x40, 0x8c, 0x86, 0x10, 0xb4, 0xdb, 0x47, 0xcc, 0xff, 0x62, 0x1e, + 0x0a, 0x81, 0xba, 0x5a, 0x3a, 0x0d, 0xc5, 0x6b, 0xea, 0x0d, 0x55, 0xe1, 0x77, 0x25, 0xea, 0x89, + 0x02, 0x96, 0x6d, 0xb2, 0xfb, 0xd2, 0x47, 0x60, 0x9a, 0xa8, 0x58, 0x3d, 0x0f, 0x39, 0x8a, 0x66, + 0xa8, 0xae, 0x4b, 0x9c, 0x96, 0x23, 0xaa, 0x12, 0xee, 0xdb, 0xc0, 0x5d, 0x75, 0xde, 0x23, 0x5d, + 0x80, 0x29, 0x82, 0xe8, 0xf6, 0x0c, 0x4f, 0xb7, 0x0d, 0xa4, 0xe0, 0xdb, 0x9b, 0x4b, 0x32, 0x89, + 0x6f, 0xd9, 0x24, 0xd6, 0x58, 0x63, 0x0a, 0xd8, 0x22, 0x57, 0x5a, 0x86, 0x07, 0x08, 0xac, 0x83, + 0x4c, 0xe4, 0xa8, 0x1e, 0x52, 0xd0, 0xa7, 0x7b, 0xaa, 0xe1, 0x2a, 0xaa, 0xd9, 0x56, 0xf6, 0x54, + 0x77, 0xaf, 0x3c, 0x8d, 0x09, 0x96, 0x52, 0x65, 0x41, 0x3e, 0x89, 0x15, 0x57, 0x98, 0x5e, 0x83, + 0xa8, 0xd5, 0xcc, 0xf6, 0xc7, 0x55, 0x77, 0x4f, 0xaa, 0xc2, 0x0c, 0x61, 0x71, 0x3d, 0x47, 0x37, + 0x3b, 0x8a, 0xb6, 0x87, 0xb4, 0xeb, 0x4a, 0xcf, 0xdb, 0xbd, 0x54, 0xbe, 0x3f, 0x38, 0x3e, 0xb1, + 0xb0, 0x45, 0x74, 0xea, 0x58, 0x65, 0xdb, 0xdb, 0xbd, 0x24, 0xb5, 0xa0, 0x88, 0x17, 0xa3, 0xab, + 0xdf, 0x42, 0xca, 0xae, 0xe5, 0x90, 0xd4, 0x58, 0x1a, 0x72, 0x34, 0x05, 0x3c, 0xb8, 0xb8, 0xc1, + 0x00, 0x6b, 0x56, 0x1b, 0x55, 0xb3, 0xad, 0xcd, 0x46, 0x63, 0x59, 0x2e, 0x70, 0x96, 0x2b, 0x96, + 0x83, 0x03, 0xaa, 0x63, 0xf9, 0x0e, 0x2e, 0xd0, 0x80, 0xea, 0x58, 0xdc, 0xbd, 0x17, 0x60, 0x4a, + 0xd3, 0xe8, 0x9c, 0x75, 0x4d, 0x61, 0x77, 0x2c, 0xb7, 0x2c, 0x86, 0x9c, 0xa5, 0x69, 0x2b, 0x54, + 0x81, 0xc5, 0xb8, 0x2b, 0x3d, 0x0d, 0xf7, 0xf5, 0x9d, 0x15, 0x04, 0x4e, 0x0e, 0xcc, 0x32, 0x0a, + 0xbd, 0x00, 0x53, 0xf6, 0xfe, 0x20, 0x50, 0x0a, 0x8d, 0x68, 0xef, 0x47, 0x61, 0x4f, 0xc1, 0xb4, + 0xbd, 0x67, 0x0f, 0xe2, 0x1e, 0x0d, 0xe2, 0x24, 0x7b, 0xcf, 0x8e, 0x02, 0x1f, 0x26, 0x17, 0x6e, + 0x07, 0x69, 0xaa, 0x87, 0xda, 0xe5, 0x13, 0x41, 0xf5, 0x40, 0x87, 0x74, 0x16, 0x44, 0x4d, 0x53, + 0x90, 0xa9, 0xee, 0x18, 0x48, 0x51, 0x1d, 0x64, 0xaa, 0x6e, 0xf9, 0x54, 0x50, 0xb9, 0xa4, 0x69, + 0x0d, 0xd2, 0x5b, 0x23, 0x9d, 0xd2, 0xa3, 0x30, 0x69, 0xed, 0x5c, 0xd3, 0x68, 0x48, 0x2a, 0xb6, + 0x83, 0x76, 0xf5, 0x17, 0xcb, 0x0f, 0x11, 0xff, 0x4e, 0xe0, 0x0e, 0x12, 0x90, 0x9b, 0x44, 0x2c, + 0x3d, 0x02, 0xa2, 0xe6, 0xee, 0xa9, 0x8e, 0x4d, 0xce, 0x64, 0xd7, 0x56, 0x35, 0x54, 0x7e, 0x98, + 0xaa, 0x52, 0xf9, 0x3a, 0x17, 0xe3, 0x2d, 0xe1, 0xde, 0xd4, 0x77, 0x3d, 0xce, 0x78, 0x86, 0x6e, + 0x09, 0x22, 0x63, 0x6c, 0x0b, 0x20, 0x62, 0x57, 0x84, 0x06, 0x5e, 0x20, 0x6a, 0x25, 0x7b, 0xcf, + 0x0e, 0x8e, 0xfb, 0x20, 0x8c, 0x63, 0xcd, 0xfe, 0xa0, 0x8f, 0xd0, 0x82, 0xcc, 0xde, 0x0b, 0x8c, + 0x78, 0x1e, 0x66, 0xb0, 0x52, 0x17, 0x79, 0x6a, 0x5b, 0xf5, 0xd4, 0x80, 0xf6, 0xe3, 0x44, 0x1b, + 0xfb, 0x7d, 0x8d, 0x75, 0x86, 0xec, 0x74, 0x7a, 0x3b, 0xfb, 0x7e, 0x64, 0x3d, 0x41, 0xed, 0xc4, + 0x32, 0x1e, 0x5b, 0xef, 0x59, 0xd1, 0x3d, 0x5f, 0x85, 0x62, 0x30, 0xf0, 0xa5, 0x3c, 0xd0, 0xd0, + 0x17, 0x05, 0x5c, 0x05, 0xd5, 0x37, 0x96, 0x71, 0xfd, 0xf2, 0x42, 0x43, 0x4c, 0xe1, 0x3a, 0x6a, + 0xb5, 0xb9, 0xd5, 0x50, 0xe4, 0xed, 0xf5, 0xad, 0xe6, 0x5a, 0x43, 0x4c, 0x07, 0x0b, 0xf6, 0xef, + 0xa6, 0xa0, 0x14, 0xbe, 0x7b, 0x49, 0x3f, 0x06, 0x27, 0xf8, 0x43, 0x89, 0x8b, 0x3c, 0xe5, 0xa6, + 0xee, 0x90, 0xbd, 0xd8, 0x55, 0x69, 0x5e, 0xf4, 0xa3, 0x61, 0x9a, 0x69, 0xb5, 0x90, 0xf7, 0x9c, + 0xee, 0xe0, 0x9d, 0xd6, 0x55, 0x3d, 0x69, 0x15, 0x4e, 0x99, 0x96, 0xe2, 0x7a, 0xaa, 0xd9, 0x56, + 0x9d, 0xb6, 0xd2, 0x7f, 0xa2, 0x52, 0x54, 0x4d, 0x43, 0xae, 0x6b, 0xd1, 0x1c, 0xe8, 0xb3, 0x7c, + 0xc8, 0xb4, 0x5a, 0x4c, 0xb9, 0x9f, 0x1c, 0x6a, 0x4c, 0x35, 0x12, 0xb9, 0xe9, 0xc3, 0x22, 0xf7, + 0x7e, 0xc8, 0x77, 0x55, 0x5b, 0x41, 0xa6, 0xe7, 0xec, 0x93, 0x8a, 0x3b, 0x27, 0xe7, 0xba, 0xaa, + 0xdd, 0xc0, 0xed, 0xf7, 0xe7, 0xe2, 0xf3, 0x8f, 0x69, 0x28, 0x06, 0xab, 0x6e, 0x7c, 0x89, 0xd1, + 0x48, 0x82, 0x12, 0xc8, 0x11, 0xf6, 0xe0, 0x91, 0x35, 0xfa, 0x62, 0x1d, 0x67, 0xae, 0xea, 0x28, + 0xad, 0x85, 0x65, 0x8a, 0xc4, 0x55, 0x03, 0x0e, 0x2d, 0x44, 0x6b, 0x8f, 0x9c, 0xcc, 0x5a, 0xd2, + 0x0a, 0x8c, 0x5e, 0x73, 0x09, 0xf7, 0x28, 0xe1, 0x7e, 0xe8, 0x68, 0xee, 0x67, 0x5b, 0x84, 0x3c, + 0xff, 0x6c, 0x4b, 0x59, 0xdf, 0x90, 0xd7, 0x6a, 0xab, 0x32, 0x83, 0x4b, 0x27, 0x21, 0x63, 0xa8, + 0xb7, 0xf6, 0xc3, 0x39, 0x8e, 0x88, 0x92, 0x3a, 0xfe, 0x24, 0x64, 0x6e, 0x22, 0xf5, 0x7a, 0x38, + 0xb3, 0x10, 0xd1, 0x7b, 0x18, 0xfa, 0x67, 0x21, 0x4b, 0xfc, 0x25, 0x01, 0x30, 0x8f, 0x89, 0x23, + 0x52, 0x0e, 0x32, 0xf5, 0x0d, 0x19, 0x87, 0xbf, 0x08, 0x45, 0x2a, 0x55, 0x36, 0x9b, 0x8d, 0x7a, + 0x43, 0x4c, 0xcd, 0x5f, 0x80, 0x51, 0xea, 0x04, 0xbc, 0x35, 0x7c, 0x37, 0x88, 0x23, 0xac, 0xc9, + 0x38, 0x04, 0xde, 0xbb, 0xbd, 0xb6, 0xd4, 0x90, 0xc5, 0x54, 0x70, 0x79, 0x5d, 0x28, 0x06, 0x0b, + 0xee, 0xf7, 0x27, 0xa6, 0xbe, 0x2d, 0x40, 0x21, 0x50, 0x40, 0xe3, 0xca, 0x47, 0x35, 0x0c, 0xeb, + 0xa6, 0xa2, 0x1a, 0xba, 0xea, 0xb2, 0xa0, 0x00, 0x22, 0xaa, 0x61, 0x49, 0xd2, 0x45, 0x7b, 0x5f, + 0x8c, 0x7f, 0x55, 0x00, 0x31, 0x5a, 0xbb, 0x46, 0x0c, 0x14, 0x3e, 0x50, 0x03, 0x5f, 0x11, 0xa0, + 0x14, 0x2e, 0x58, 0x23, 0xe6, 0x9d, 0xfe, 0x40, 0xcd, 0x7b, 0x3d, 0x05, 0xe3, 0xa1, 0x32, 0x35, + 0xa9, 0x75, 0x9f, 0x86, 0x49, 0xbd, 0x8d, 0xba, 0xb6, 0xe5, 0x21, 0x53, 0xdb, 0x57, 0x0c, 0x74, + 0x03, 0x19, 0xe5, 0x79, 0x72, 0x50, 0x9c, 0x3d, 0xba, 0x10, 0x5e, 0x6c, 0xf6, 0x71, 0xab, 0x18, + 0x56, 0x9d, 0x6a, 0x2e, 0x37, 0xd6, 0x36, 0x37, 0xb6, 0x1a, 0xeb, 0xf5, 0xab, 0xca, 0xf6, 0xfa, + 0x4f, 0xac, 0x6f, 0x3c, 0xb7, 0x2e, 0x8b, 0x7a, 0x44, 0xed, 0x3d, 0xdc, 0xea, 0x9b, 0x20, 0x46, + 0x8d, 0x92, 0x4e, 0xc0, 0x30, 0xb3, 0xc4, 0x11, 0x69, 0x0a, 0x26, 0xd6, 0x37, 0x94, 0x56, 0x73, + 0xb9, 0xa1, 0x34, 0xae, 0x5c, 0x69, 0xd4, 0xb7, 0x5a, 0xf4, 0x69, 0xc3, 0xd7, 0xde, 0x0a, 0x6f, + 0xea, 0x97, 0xd3, 0x30, 0x35, 0xc4, 0x12, 0xa9, 0xc6, 0x2e, 0x25, 0xf4, 0x9e, 0xf4, 0x44, 0x12, + 0xeb, 0x17, 0x71, 0x55, 0xb0, 0xa9, 0x3a, 0x1e, 0xbb, 0xc3, 0x3c, 0x02, 0xd8, 0x4b, 0xa6, 0xa7, + 0xef, 0xea, 0xc8, 0x61, 0x2f, 0x41, 0xf4, 0xa6, 0x32, 0xd1, 0x97, 0xd3, 0xc7, 0xa0, 0xc7, 0x41, + 0xb2, 0x2d, 0x57, 0xf7, 0xf4, 0x1b, 0x48, 0xd1, 0x4d, 0xfe, 0x6c, 0x84, 0x6f, 0x2e, 0x19, 0x59, + 0xe4, 0x3d, 0x4d, 0xd3, 0xf3, 0xb5, 0x4d, 0xd4, 0x51, 0x23, 0xda, 0xf8, 0x00, 0x4f, 0xcb, 0x22, + 0xef, 0xf1, 0xb5, 0x4f, 0x43, 0xb1, 0x6d, 0xf5, 0x70, 0x39, 0x47, 0xf5, 0x70, 0xbe, 0x10, 0xe4, + 0x02, 0x95, 0xf9, 0x2a, 0xac, 0x50, 0xef, 0xbf, 0x57, 0x15, 0xe5, 0x02, 0x95, 0x51, 0x95, 0x33, + 0x30, 0xa1, 0x76, 0x3a, 0x0e, 0x26, 0xe7, 0x44, 0xf4, 0xea, 0x51, 0xf2, 0xc5, 0x44, 0x71, 0xf6, + 0x59, 0xc8, 0x71, 0x3f, 0xe0, 0x94, 0x8c, 0x3d, 0xa1, 0xd8, 0xf4, 0x3e, 0x9d, 0x5a, 0xc8, 0xcb, + 0x39, 0x93, 0x77, 0x9e, 0x86, 0xa2, 0xee, 0x2a, 0xfd, 0xe7, 0xf7, 0xd4, 0x5c, 0x6a, 0x21, 0x27, + 0x17, 0x74, 0xd7, 0x7f, 0xba, 0x9c, 0x7f, 0x2d, 0x05, 0xa5, 0xf0, 0xe7, 0x03, 0x69, 0x19, 0x72, + 0x86, 0xa5, 0xa9, 0x24, 0xb4, 0xe8, 0xb7, 0xab, 0x85, 0x98, 0x2f, 0x0e, 0x8b, 0xab, 0x4c, 0x5f, + 0xf6, 0x91, 0xb3, 0x7f, 0x2f, 0x40, 0x8e, 0x8b, 0xa5, 0x19, 0xc8, 0xd8, 0xaa, 0xb7, 0x47, 0xe8, + 0xb2, 0x4b, 0x29, 0x51, 0x90, 0x49, 0x1b, 0xcb, 0x5d, 0x5b, 0x35, 0x49, 0x08, 0x30, 0x39, 0x6e, + 0xe3, 0x75, 0x35, 0x90, 0xda, 0x26, 0xf7, 0x1a, 0xab, 0xdb, 0x45, 0xa6, 0xe7, 0xf2, 0x75, 0x65, + 0xf2, 0x3a, 0x13, 0x4b, 0x8f, 0xc1, 0xa4, 0xe7, 0xa8, 0xba, 0x11, 0xd2, 0xcd, 0x10, 0x5d, 0x91, + 0x77, 0xf8, 0xca, 0x55, 0x38, 0xc9, 0x79, 0xdb, 0xc8, 0x53, 0xb5, 0x3d, 0xd4, 0xee, 0x83, 0x46, + 0xc9, 0xfb, 0xc5, 0x09, 0xa6, 0xb0, 0xcc, 0xfa, 0x39, 0x76, 0xfe, 0xfb, 0x02, 0x4c, 0xf2, 0x9b, + 0x58, 0xdb, 0x77, 0xd6, 0x1a, 0x80, 0x6a, 0x9a, 0x96, 0x17, 0x74, 0xd7, 0x60, 0x28, 0x0f, 0xe0, + 0x16, 0x6b, 0x3e, 0x48, 0x0e, 0x10, 0xcc, 0x76, 0x01, 0xfa, 0x3d, 0x87, 0xba, 0xed, 0x14, 0x14, + 0xd8, 0xb7, 0x21, 0xf2, 0x81, 0x91, 0xde, 0xdd, 0x81, 0x8a, 0xf0, 0x95, 0x4d, 0x9a, 0x86, 0xec, + 0x0e, 0xea, 0xe8, 0x26, 0x7b, 0xf1, 0xa5, 0x0d, 0xfe, 0xc2, 0x92, 0xf1, 0x5f, 0x58, 0x96, 0x3e, + 0x05, 0x53, 0x9a, 0xd5, 0x8d, 0x9a, 0xbb, 0x24, 0x46, 0xde, 0x0f, 0xdc, 0x8f, 0x0b, 0x2f, 0x40, + 0xbf, 0xc4, 0x7c, 0x47, 0x10, 0xbe, 0x94, 0x4a, 0xaf, 0x6c, 0x2e, 0x7d, 0x35, 0x35, 0xbb, 0x42, + 0xa1, 0x9b, 0x7c, 0xa6, 0x32, 0xda, 0x35, 0x90, 0x86, 0xad, 0x87, 0x2f, 0x3f, 0x06, 0x4f, 0x74, + 0x74, 0x6f, 0xaf, 0xb7, 0xb3, 0xa8, 0x59, 0xdd, 0xb3, 0x1d, 0xab, 0x63, 0xf5, 0xbf, 0xa9, 0xe2, + 0x16, 0x69, 0x90, 0xff, 0xd8, 0x77, 0xd5, 0xbc, 0x2f, 0x9d, 0x8d, 0xfd, 0x08, 0x5b, 0x5d, 0x87, + 0x29, 0xa6, 0xac, 0x90, 0x0f, 0x3b, 0xf4, 0x7a, 0x22, 0x1d, 0xf9, 0x38, 0x56, 0xfe, 0xfa, 0x1b, + 0x24, 0x5d, 0xcb, 0x93, 0x0c, 0x8a, 0xfb, 0xe8, 0x0d, 0xa6, 0x2a, 0xc3, 0x7d, 0x21, 0x3e, 0xba, + 0x35, 0x91, 0x13, 0xc3, 0xf8, 0x5d, 0xc6, 0x38, 0x15, 0x60, 0x6c, 0x31, 0x68, 0xb5, 0x0e, 0xe3, + 0xc7, 0xe1, 0xfa, 0x5b, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x15, 0x98, 0x20, 0x24, 0x5a, 0xcf, 0xf5, + 0xac, 0x2e, 0x39, 0xf7, 0x8e, 0xa6, 0xf9, 0xbb, 0x37, 0xe8, 0x5e, 0x29, 0x61, 0x58, 0xdd, 0x47, + 0x55, 0xab, 0x40, 0xbe, 0x65, 0xb5, 0x91, 0x66, 0xc4, 0x30, 0xdc, 0x61, 0x86, 0xf8, 0xfa, 0xd5, + 0x4f, 0xc2, 0x34, 0xfe, 0x9f, 0x1c, 0x4b, 0x41, 0x4b, 0xe2, 0x5f, 0xd2, 0xca, 0xdf, 0x7f, 0x89, + 0x6e, 0xc7, 0x29, 0x9f, 0x20, 0x60, 0x53, 0x60, 0x15, 0x3b, 0xc8, 0xf3, 0x90, 0xe3, 0x2a, 0xaa, + 0x31, 0xcc, 0xbc, 0xc0, 0x53, 0x44, 0xf9, 0xf3, 0x6f, 0x85, 0x57, 0x71, 0x85, 0x22, 0x6b, 0x86, + 0x51, 0xdd, 0x86, 0x13, 0x43, 0xa2, 0x22, 0x01, 0xe7, 0xcb, 0x8c, 0x73, 0x7a, 0x20, 0x32, 0x30, + 0xed, 0x26, 0x70, 0xb9, 0xbf, 0x96, 0x09, 0x38, 0x7f, 0x9b, 0x71, 0x4a, 0x0c, 0xcb, 0x97, 0x14, + 0x33, 0x3e, 0x0b, 0x93, 0x37, 0x90, 0xb3, 0x63, 0xb9, 0xec, 0xf9, 0x27, 0x01, 0xdd, 0x2b, 0x8c, + 0x6e, 0x82, 0x01, 0xc9, 0x7b, 0x10, 0xe6, 0x7a, 0x1a, 0x72, 0xbb, 0xaa, 0x86, 0x12, 0x50, 0x7c, + 0x81, 0x51, 0x8c, 0x61, 0x7d, 0x0c, 0xad, 0x41, 0xb1, 0x63, 0xb1, 0xcc, 0x14, 0x0f, 0x7f, 0x95, + 0xc1, 0x0b, 0x1c, 0xc3, 0x28, 0x6c, 0xcb, 0xee, 0x19, 0x38, 0x6d, 0xc5, 0x53, 0xfc, 0x0e, 0xa7, + 0xe0, 0x18, 0x46, 0x71, 0x0c, 0xb7, 0xfe, 0x2e, 0xa7, 0x70, 0x03, 0xfe, 0x7c, 0x06, 0x0a, 0x96, + 0x69, 0xec, 0x5b, 0x66, 0x12, 0x23, 0xbe, 0xc8, 0x18, 0x80, 0x41, 0x30, 0xc1, 0x65, 0xc8, 0x27, + 0x5d, 0x88, 0xdf, 0x7f, 0x8b, 0x6f, 0x0f, 0xbe, 0x02, 0x2b, 0x30, 0xc1, 0x0f, 0x28, 0xdd, 0x32, + 0x13, 0x50, 0x7c, 0x99, 0x51, 0x94, 0x02, 0x30, 0x36, 0x0d, 0x0f, 0xb9, 0x5e, 0x07, 0x25, 0x21, + 0x79, 0x8d, 0x4f, 0x83, 0x41, 0x98, 0x2b, 0x77, 0x90, 0xa9, 0xed, 0x25, 0x63, 0xf8, 0x0a, 0x77, + 0x25, 0xc7, 0x60, 0x8a, 0x3a, 0x8c, 0x77, 0x55, 0xc7, 0xdd, 0x53, 0x8d, 0x44, 0xcb, 0xf1, 0x07, + 0x8c, 0xa3, 0xe8, 0x83, 0x98, 0x47, 0x7a, 0xe6, 0x71, 0x68, 0xbe, 0xca, 0x3d, 0x12, 0x80, 0xb1, + 0xad, 0xe7, 0x7a, 0xe4, 0xad, 0xec, 0x38, 0x6c, 0x7f, 0xc8, 0xb7, 0x1e, 0xc5, 0xae, 0x05, 0x19, + 0x2f, 0x43, 0xde, 0xd5, 0x6f, 0x25, 0xa2, 0xf9, 0x23, 0xbe, 0xd2, 0x04, 0x80, 0xc1, 0x57, 0xe1, + 0xe4, 0xd0, 0x34, 0x91, 0x80, 0xec, 0x8f, 0x19, 0xd9, 0xcc, 0x90, 0x54, 0xc1, 0x8e, 0x84, 0xe3, + 0x52, 0xfe, 0x09, 0x3f, 0x12, 0x50, 0x84, 0x6b, 0x13, 0xdf, 0x15, 0x5c, 0x75, 0xf7, 0x78, 0x5e, + 0xfb, 0x53, 0xee, 0x35, 0x8a, 0x0d, 0x79, 0x6d, 0x0b, 0x66, 0x18, 0xe3, 0xf1, 0xd6, 0xf5, 0x6b, + 0xfc, 0x60, 0xa5, 0xe8, 0xed, 0xf0, 0xea, 0x7e, 0x0a, 0x66, 0x7d, 0x77, 0xf2, 0xa2, 0xd4, 0x55, + 0xba, 0xaa, 0x9d, 0x80, 0xf9, 0xeb, 0x8c, 0x99, 0x9f, 0xf8, 0x7e, 0x55, 0xeb, 0xae, 0xa9, 0x36, + 0x26, 0x7f, 0x1e, 0xca, 0x9c, 0xbc, 0x67, 0x3a, 0x48, 0xb3, 0x3a, 0xa6, 0x7e, 0x0b, 0xb5, 0x13, + 0x50, 0xff, 0x59, 0x64, 0xa9, 0xb6, 0x03, 0x70, 0xcc, 0xdc, 0x04, 0xd1, 0xaf, 0x55, 0x14, 0xbd, + 0x6b, 0x5b, 0x8e, 0x17, 0xc3, 0xf8, 0xe7, 0x7c, 0xa5, 0x7c, 0x5c, 0x93, 0xc0, 0xaa, 0x0d, 0x28, + 0x91, 0x66, 0xd2, 0x90, 0xfc, 0x0b, 0x46, 0x34, 0xde, 0x47, 0xb1, 0x83, 0x43, 0xb3, 0xba, 0xb6, + 0xea, 0x24, 0x39, 0xff, 0xfe, 0x92, 0x1f, 0x1c, 0x0c, 0xc2, 0x0e, 0x0e, 0x6f, 0xdf, 0x46, 0x38, + 0xdb, 0x27, 0x60, 0xf8, 0x06, 0x3f, 0x38, 0x38, 0x86, 0x51, 0xf0, 0x82, 0x21, 0x01, 0xc5, 0x5f, + 0x71, 0x0a, 0x8e, 0xc1, 0x14, 0x9f, 0xe8, 0x27, 0x5a, 0x07, 0x75, 0x74, 0xd7, 0x73, 0x68, 0x29, + 0x7c, 0x34, 0xd5, 0x37, 0xdf, 0x0a, 0x17, 0x61, 0x72, 0x00, 0x8a, 0x4f, 0x22, 0xf6, 0x84, 0x4a, + 0x6e, 0x4a, 0xf1, 0x86, 0x7d, 0x8b, 0x9f, 0x44, 0x01, 0x18, 0xb6, 0x2d, 0x50, 0x21, 0x62, 0xb7, + 0x6b, 0xf8, 0x7e, 0x90, 0x80, 0xee, 0xdb, 0x11, 0xe3, 0x5a, 0x1c, 0x8b, 0x39, 0x03, 0xf5, 0x4f, + 0xcf, 0xbc, 0x8e, 0xf6, 0x13, 0x45, 0xe7, 0x5f, 0x47, 0xea, 0x9f, 0x6d, 0x8a, 0xa4, 0x67, 0xc8, + 0x44, 0xa4, 0x9e, 0x92, 0xe2, 0x7e, 0x05, 0x54, 0xfe, 0xe9, 0x7b, 0x6c, 0xbe, 0xe1, 0x72, 0xaa, + 0xba, 0x8a, 0x83, 0x3c, 0x5c, 0xf4, 0xc4, 0x93, 0xbd, 0x74, 0xcf, 0x8f, 0xf3, 0x50, 0xcd, 0x53, + 0xbd, 0x02, 0xe3, 0xa1, 0x82, 0x27, 0x9e, 0xea, 0x33, 0x8c, 0xaa, 0x18, 0xac, 0x77, 0xaa, 0x17, + 0x20, 0x83, 0x8b, 0x97, 0x78, 0xf8, 0xcf, 0x30, 0x38, 0x51, 0xaf, 0x7e, 0x14, 0x72, 0xbc, 0x68, + 0x89, 0x87, 0xfe, 0x2c, 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x05, 0x4b, 0x3c, 0xfc, 0xe7, 0x38, 0x9c, + 0x43, 0x30, 0x3c, 0xb9, 0x0b, 0xbf, 0xf3, 0x0b, 0x19, 0x96, 0x74, 0xb8, 0xef, 0x2e, 0xc3, 0x18, + 0xab, 0x54, 0xe2, 0xd1, 0x9f, 0x65, 0x83, 0x73, 0x44, 0xf5, 0x29, 0xc8, 0x26, 0x74, 0xf8, 0x2f, + 0x31, 0x28, 0xd5, 0xaf, 0xd6, 0xa1, 0x10, 0xa8, 0x4e, 0xe2, 0xe1, 0xbf, 0xcc, 0xe0, 0x41, 0x14, + 0x36, 0x9d, 0x55, 0x27, 0xf1, 0x04, 0xbf, 0xc2, 0x4d, 0x67, 0x08, 0xec, 0x36, 0x5e, 0x98, 0xc4, + 0xa3, 0x7f, 0x95, 0x7b, 0x9d, 0x43, 0xaa, 0xcf, 0x40, 0xde, 0x4f, 0x36, 0xf1, 0xf8, 0x5f, 0x63, + 0xf8, 0x3e, 0x06, 0x7b, 0x20, 0x90, 0xec, 0xe2, 0x29, 0x7e, 0x9d, 0x7b, 0x20, 0x80, 0xc2, 0xdb, + 0x28, 0x5a, 0xc0, 0xc4, 0x33, 0xfd, 0x06, 0xdf, 0x46, 0x91, 0xfa, 0x05, 0xaf, 0x26, 0x39, 0xf3, + 0xe3, 0x29, 0x7e, 0x93, 0xaf, 0x26, 0xd1, 0xc7, 0x66, 0x44, 0x2b, 0x82, 0x78, 0x8e, 0xdf, 0xe2, + 0x66, 0x44, 0x0a, 0x82, 0xea, 0x26, 0x48, 0x83, 0xd5, 0x40, 0x3c, 0xdf, 0xe7, 0x18, 0xdf, 0xe4, + 0x40, 0x31, 0x50, 0x7d, 0x0e, 0x66, 0x86, 0x57, 0x02, 0xf1, 0xac, 0x9f, 0xbf, 0x17, 0xb9, 0xbb, + 0x05, 0x0b, 0x81, 0xea, 0x56, 0x3f, 0xa5, 0x04, 0xab, 0x80, 0x78, 0xda, 0x97, 0xef, 0x85, 0x0f, + 0xee, 0x60, 0x11, 0x50, 0xad, 0x01, 0xf4, 0x13, 0x70, 0x3c, 0xd7, 0x2b, 0x8c, 0x2b, 0x00, 0xc2, + 0x5b, 0x83, 0xe5, 0xdf, 0x78, 0xfc, 0x17, 0xf8, 0xd6, 0x60, 0x08, 0xbc, 0x35, 0x78, 0xea, 0x8d, + 0x47, 0xbf, 0xca, 0xb7, 0x06, 0x87, 0xe0, 0xc8, 0x0e, 0x64, 0xb7, 0x78, 0x86, 0x2f, 0xf2, 0xc8, + 0x0e, 0xa0, 0xaa, 0xeb, 0x30, 0x39, 0x90, 0x10, 0xe3, 0xa9, 0xbe, 0xc4, 0xa8, 0xc4, 0x68, 0x3e, + 0x0c, 0x26, 0x2f, 0x96, 0x0c, 0xe3, 0xd9, 0x7e, 0x2f, 0x92, 0xbc, 0x58, 0x2e, 0xac, 0x5e, 0x86, + 0x9c, 0xd9, 0x33, 0x0c, 0xbc, 0x79, 0xa4, 0xa3, 0x7f, 0xb9, 0x57, 0xfe, 0xd7, 0x77, 0x99, 0x77, + 0x38, 0xa0, 0x7a, 0x01, 0xb2, 0xa8, 0xbb, 0x83, 0xda, 0x71, 0xc8, 0x7f, 0x7b, 0x97, 0x1f, 0x98, + 0x58, 0xbb, 0xfa, 0x0c, 0x00, 0x7d, 0x1a, 0x21, 0x9f, 0xfd, 0x62, 0xb0, 0xff, 0xfe, 0x2e, 0xfb, + 0x4d, 0x4d, 0x1f, 0xd2, 0x27, 0xa0, 0xbf, 0xd0, 0x39, 0x9a, 0xe0, 0xad, 0x30, 0x01, 0x59, 0x91, + 0xa7, 0x61, 0xec, 0x9a, 0x6b, 0x99, 0x9e, 0xda, 0x89, 0x43, 0xff, 0x07, 0x43, 0x73, 0x7d, 0xec, + 0xb0, 0xae, 0xe5, 0x20, 0x4f, 0xed, 0xb8, 0x71, 0xd8, 0xff, 0x64, 0x58, 0x1f, 0x80, 0xc1, 0x9a, + 0xea, 0x7a, 0x49, 0xe6, 0xfd, 0x5f, 0x1c, 0xcc, 0x01, 0xd8, 0x68, 0xfc, 0xff, 0x75, 0xb4, 0x1f, + 0x87, 0x7d, 0x9b, 0x1b, 0xcd, 0xf4, 0xab, 0x1f, 0x85, 0x3c, 0xfe, 0x97, 0xfe, 0x50, 0x2e, 0x06, + 0xfc, 0xdf, 0x0c, 0xdc, 0x47, 0xe0, 0x91, 0x5d, 0xaf, 0xed, 0xe9, 0xf1, 0xce, 0xfe, 0x1f, 0xb6, + 0xd2, 0x5c, 0xbf, 0x5a, 0x83, 0x82, 0xeb, 0xb5, 0xdb, 0x3d, 0x56, 0x9f, 0xc6, 0xc0, 0xff, 0xf7, + 0x5d, 0xff, 0xc9, 0xc2, 0xc7, 0xe0, 0xd5, 0xbe, 0x79, 0xdd, 0xb3, 0x2d, 0xf2, 0x99, 0x23, 0x8e, + 0xe1, 0x1e, 0x63, 0x08, 0x40, 0x96, 0x1a, 0xc3, 0x9f, 0x6f, 0x61, 0xc5, 0x5a, 0xb1, 0xe8, 0xc3, + 0xed, 0x0b, 0xf3, 0xf1, 0x2f, 0xb0, 0xf0, 0x7f, 0x19, 0x98, 0xf0, 0x7d, 0xc2, 0x9f, 0x62, 0x7d, + 0xc1, 0xec, 0xf1, 0x1e, 0x71, 0xe7, 0xff, 0x26, 0x0d, 0xb9, 0xba, 0xea, 0x7a, 0xea, 0x4d, 0x75, + 0x5f, 0xb2, 0x61, 0x0a, 0xff, 0xbf, 0xa6, 0xda, 0xe4, 0x49, 0x90, 0xed, 0x5d, 0xf6, 0x4e, 0xfe, + 0xf8, 0x62, 0x7f, 0x54, 0x8e, 0x58, 0x1c, 0xa2, 0x4e, 0x7e, 0x5f, 0xb0, 0x24, 0xde, 0xf9, 0xa7, + 0x53, 0x23, 0x3f, 0xff, 0xcf, 0xa7, 0x72, 0x6b, 0xfb, 0xcf, 0xe9, 0x86, 0x6b, 0x99, 0xf2, 0x30, + 0x6a, 0xe9, 0x33, 0x02, 0xdc, 0x3f, 0x44, 0xbe, 0xce, 0xb6, 0x36, 0xfb, 0xda, 0x74, 0x3e, 0xe1, + 0xd0, 0x1c, 0x46, 0x4d, 0x28, 0x86, 0x86, 0x3f, 0x6a, 0x98, 0xd9, 0xab, 0x50, 0x3e, 0x6c, 0x26, + 0x92, 0x08, 0xe9, 0xeb, 0x68, 0x9f, 0xfd, 0xfa, 0x11, 0xff, 0x2b, 0x9d, 0xe9, 0xff, 0x46, 0x54, + 0x58, 0x28, 0x9c, 0x9b, 0x0c, 0x58, 0xc7, 0x06, 0xa3, 0xfd, 0xd5, 0xd4, 0x25, 0x61, 0x56, 0x85, + 0xb9, 0x38, 0x4b, 0x7f, 0xc4, 0x21, 0xe6, 0x2b, 0x30, 0x4a, 0x85, 0xd2, 0x34, 0x64, 0x9b, 0xa6, + 0x77, 0xf1, 0x3c, 0xa1, 0x4a, 0xcb, 0xb4, 0xb1, 0xb4, 0x7a, 0xe7, 0x6e, 0x65, 0xe4, 0x7b, 0x77, + 0x2b, 0x23, 0xff, 0x70, 0xb7, 0x32, 0xf2, 0xfa, 0xdd, 0x8a, 0xf0, 0xe6, 0xdd, 0x8a, 0xf0, 0xf6, + 0xdd, 0x8a, 0xf0, 0xce, 0xdd, 0x8a, 0x70, 0xfb, 0xa0, 0x22, 0x7c, 0xe5, 0xa0, 0x22, 0x7c, 0xed, + 0xa0, 0x22, 0x7c, 0xf3, 0xa0, 0x22, 0x7c, 0xe7, 0xa0, 0x22, 0xdc, 0x39, 0xa8, 0x8c, 0x7c, 0xef, + 0xa0, 0x32, 0xf2, 0xfa, 0x41, 0x45, 0x78, 0xf3, 0xa0, 0x32, 0xf2, 0xf6, 0x41, 0x45, 0x78, 0xe7, + 0xa0, 0x32, 0x72, 0xfb, 0x07, 0x95, 0x91, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xf1, 0x02, 0x52, + 0xaf, 0x74, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -874,31 +905,3 @@ func valueToStringCastvalue(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("castvalue.proto", fileDescriptor_castvalue_87404b9a479f5489) } - -var fileDescriptor_castvalue_87404b9a479f5489 = []byte{ - // 342 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4f, 0x4e, 0x2c, 0x2e, - 0x29, 0x4b, 0xcc, 0x29, 0x4d, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x84, 0x0b, 0x48, - 0xe9, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, - 0xeb, 0x83, 0x55, 0x24, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xa9, 0x74, 0x90, - 0x99, 0x8b, 0xc3, 0x39, 0xb1, 0xb8, 0x24, 0xb1, 0x3c, 0xb1, 0x52, 0xa8, 0x80, 0x4b, 0x18, 0xc4, - 0xf6, 0x4d, 0x2c, 0x08, 0x03, 0x99, 0xe5, 0x9b, 0x5a, 0x5c, 0x9c, 0x98, 0x9e, 0x2a, 0xc1, 0xa8, - 0xc0, 0xac, 0xc1, 0x6d, 0xa4, 0xa3, 0x87, 0xb0, 0x15, 0xa6, 0x43, 0x0f, 0x8b, 0x72, 0xd7, 0xbc, - 0x92, 0xa2, 0x4a, 0x27, 0x81, 0x13, 0xf7, 0xe4, 0x19, 0xba, 0xee, 0xcb, 0x73, 0xf8, 0x56, 0x86, - 0x67, 0xe6, 0x14, 0xe7, 0xe7, 0x05, 0x61, 0x33, 0x5a, 0xa8, 0x85, 0x91, 0x4b, 0x1a, 0x8b, 0xb8, - 0x5f, 0x69, 0x4e, 0x4e, 0x62, 0x52, 0x4e, 0xaa, 0x04, 0x13, 0xd8, 0x6a, 0x13, 0x22, 0xad, 0x86, - 0x69, 0x83, 0x38, 0x81, 0x07, 0xc5, 0x7a, 0x7c, 0xd6, 0x48, 0x45, 0x72, 0x49, 0xe0, 0xf2, 0x89, - 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x88, 0x29, - 0xa4, 0xce, 0xc5, 0x0a, 0x76, 0x8b, 0x04, 0x93, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x20, 0x92, 0xeb, - 0xa0, 0x96, 0x41, 0xe4, 0xad, 0x98, 0x2c, 0x18, 0xa5, 0x12, 0xb9, 0x14, 0x08, 0xb9, 0x94, 0x42, - 0x2b, 0x94, 0xe4, 0xb8, 0xd8, 0x20, 0x82, 0x42, 0x22, 0x5c, 0xac, 0x9e, 0x79, 0x25, 0x66, 0x26, - 0x60, 0xa3, 0x98, 0x83, 0x20, 0x1c, 0x27, 0x9f, 0x13, 0x0f, 0xe5, 0x18, 0x2e, 0x3c, 0x94, 0x63, - 0xb8, 0xf1, 0x50, 0x8e, 0xe1, 0xc1, 0x43, 0x39, 0xc6, 0x17, 0x0f, 0xe5, 0x18, 0x3f, 0x3c, 0x94, - 0x63, 0xfc, 0xf1, 0x50, 0x8e, 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x1b, 0x1e, - 0xc9, 0x31, 0xee, 0x78, 0x24, 0xc7, 0x78, 0xe0, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x0c, 0x17, - 0x1e, 0xc9, 0x31, 0x3c, 0x78, 0x24, 0xc7, 0xf8, 0xe2, 0x91, 0x1c, 0xc3, 0x87, 0x47, 0x72, 0x8c, - 0x3f, 0x1e, 0xc9, 0x31, 0x34, 0x3c, 0x96, 0x63, 0x00, 0x04, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x8b, - 0x19, 0x68, 0x7d, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/castvalue/combos/both/castvalue.pb.go b/vendor/github.com/gogo/protobuf/test/castvalue/combos/both/castvalue.pb.go index 577f77486..a1d1096f0 100644 --- a/vendor/github.com/gogo/protobuf/test/castvalue/combos/both/castvalue.pb.go +++ b/vendor/github.com/gogo/protobuf/test/castvalue/combos/both/castvalue.pb.go @@ -3,22 +3,21 @@ package castvalue -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -42,7 +41,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_a8e85bd7357c5c72, []int{0} + return fileDescriptor_028f9c91e1363907, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -59,8 +58,8 @@ func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return m.Size() @@ -81,7 +80,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_a8e85bd7357c5c72, []int{1} + return fileDescriptor_028f9c91e1363907, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -98,8 +97,8 @@ func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return m.Size() @@ -116,6 +115,36 @@ func init() { proto.RegisterMapType((map[int32]*MyWilson)(nil), "castvalue.Castaway.CastMapValueMessageNullableEntry") proto.RegisterType((*Wilson)(nil), "castvalue.Wilson") } + +func init() { proto.RegisterFile("combos/both/castvalue.proto", fileDescriptor_028f9c91e1363907) } + +var fileDescriptor_028f9c91e1363907 = []byte{ + // 354 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x8f, 0xbd, 0x4f, 0x2a, 0x41, + 0x14, 0xc5, 0xf7, 0xb2, 0xe1, 0x85, 0x37, 0xbc, 0x82, 0xb7, 0x5a, 0x6c, 0x20, 0xb9, 0x6c, 0x68, + 0xa4, 0xd0, 0xdd, 0x84, 0x10, 0x63, 0x2c, 0x31, 0x16, 0x26, 0x62, 0x41, 0xa1, 0xb1, 0x9c, 0x25, + 0xeb, 0x42, 0x5c, 0x18, 0xc2, 0xce, 0x6a, 0xb6, 0xa3, 0xb0, 0xf2, 0x2f, 0xb1, 0xb4, 0xb4, 0xd4, + 0x8e, 0x92, 0xd2, 0x4a, 0x99, 0xb1, 0xa1, 0xa4, 0xa4, 0x34, 0xcc, 0x8a, 0x1f, 0x09, 0x7e, 0x24, + 0x76, 0xf7, 0x9e, 0xb9, 0xe7, 0xfc, 0xce, 0x90, 0x42, 0x93, 0x75, 0x5c, 0x16, 0x3a, 0x2e, 0xe3, + 0x2d, 0xa7, 0x49, 0x43, 0x7e, 0x46, 0x83, 0xc8, 0xb3, 0x7b, 0x7d, 0xc6, 0x99, 0xf1, 0xf7, 0x55, + 0xc8, 0x6f, 0xf8, 0x6d, 0xde, 0x8a, 0x5c, 0xbb, 0xc9, 0x3a, 0x8e, 0xcf, 0x7c, 0xe6, 0xa8, 0x0b, + 0x37, 0x3a, 0x51, 0x9b, 0x5a, 0xd4, 0x94, 0x38, 0x4b, 0x77, 0x3a, 0xc9, 0xec, 0xd0, 0x90, 0xd3, + 0x73, 0x1a, 0x1b, 0x3d, 0xb2, 0x32, 0x9f, 0xeb, 0xb4, 0x77, 0x38, 0xcf, 0xaa, 0x7b, 0x61, 0x48, + 0x7d, 0xcf, 0x04, 0x4b, 0x2f, 0x67, 0x2b, 0xeb, 0xf6, 0x1b, 0x75, 0xe1, 0xb0, 0x97, 0x9c, 0xef, + 0x76, 0x79, 0x3f, 0xae, 0xe5, 0x86, 0x0f, 0x45, 0xed, 0xf2, 0xb1, 0x98, 0xa9, 0xc7, 0x47, 0xed, + 0x20, 0x64, 0xdd, 0xc6, 0xb2, 0x68, 0xe3, 0x02, 0x48, 0x61, 0x89, 0x7e, 0x10, 0x05, 0x01, 0x75, + 0x03, 0xcf, 0x4c, 0x29, 0x74, 0xf5, 0x87, 0xe8, 0x85, 0x2d, 0xa9, 0xf0, 0xef, 0x03, 0xfe, 0x2b, + 0x4c, 0xfe, 0x98, 0x98, 0x9f, 0xfd, 0xc4, 0xc8, 0x11, 0xfd, 0xd4, 0x8b, 0x4d, 0xb0, 0xa0, 0x9c, + 0x6e, 0xcc, 0x47, 0x63, 0x8d, 0xa4, 0x55, 0x17, 0x33, 0x65, 0x41, 0x39, 0x5b, 0xf9, 0xff, 0xae, + 0xdd, 0x0b, 0x2c, 0x79, 0xdf, 0x4e, 0x6d, 0x41, 0x9e, 0x12, 0xeb, 0xbb, 0xa6, 0xbf, 0x44, 0x94, + 0x90, 0xfc, 0x49, 0x44, 0x63, 0x95, 0xa4, 0xf7, 0xba, 0x7c, 0xb3, 0xaa, 0xa2, 0xf4, 0x46, 0xb2, + 0xd4, 0xf6, 0x87, 0x02, 0xb5, 0x91, 0x40, 0xed, 0x5e, 0xa0, 0x36, 0x16, 0x08, 0x13, 0x81, 0x30, + 0x15, 0x08, 0x33, 0x81, 0x30, 0x90, 0x08, 0x57, 0x12, 0xe1, 0x5a, 0x22, 0xdc, 0x48, 0x84, 0x5b, + 0x89, 0x30, 0x94, 0x08, 0x23, 0x89, 0x30, 0x96, 0x08, 0x13, 0x89, 0xda, 0x54, 0x22, 0xcc, 0x24, + 0x6a, 0x83, 0x27, 0xd4, 0x9e, 0x03, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xe0, 0x74, 0x89, 0x89, 0x02, + 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CastvalueDescription() } @@ -125,258 +154,260 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CastvalueDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4012 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xdc, 0xd6, - 0x75, 0x26, 0xf6, 0x87, 0xdc, 0x3d, 0xbb, 0x5c, 0x82, 0x20, 0x2d, 0xad, 0xa8, 0x78, 0x45, 0xd1, - 0x76, 0x44, 0xdb, 0x09, 0x99, 0x91, 0x25, 0x59, 0x5a, 0x35, 0x71, 0x97, 0xcb, 0x15, 0xb3, 0x2e, - 0xff, 0x82, 0x25, 0x63, 0xcb, 0x99, 0x0e, 0x06, 0xc4, 0x5e, 0x2e, 0x21, 0x61, 0x01, 0x04, 0xc0, - 0x4a, 0xa6, 0xa6, 0x0f, 0xea, 0x38, 0x6d, 0xc7, 0xed, 0xf4, 0xbf, 0x33, 0x4d, 0x5c, 0xc7, 0x6d, - 0xd2, 0x69, 0x9c, 0xa6, 0x7f, 0x49, 0xd3, 0xa6, 0x49, 0xfa, 0x92, 0x3e, 0xa4, 0xf5, 0x53, 0x27, - 0x79, 0xeb, 0x43, 0xa7, 0xb5, 0x18, 0xcf, 0xd4, 0x6d, 0xdd, 0xc6, 0x6d, 0xf5, 0xe0, 0x19, 0xbf, - 0x74, 0xee, 0x1f, 0x16, 0xc0, 0x2e, 0x09, 0x30, 0x19, 0x3b, 0x4f, 0x24, 0xce, 0x3d, 0xdf, 0x87, - 0x73, 0xcf, 0x3d, 0xf7, 0x9c, 0x73, 0x2f, 0x16, 0x7e, 0x78, 0x05, 0x66, 0x3b, 0x96, 0xd5, 0x31, - 0xd0, 0xa2, 0xed, 0x58, 0x9e, 0xb5, 0xd3, 0xdb, 0x5d, 0x6c, 0x23, 0x57, 0x73, 0x74, 0xdb, 0xb3, - 0x9c, 0x05, 0x22, 0x93, 0x26, 0xa8, 0xc6, 0x02, 0xd7, 0x98, 0x5b, 0x83, 0xc9, 0x6b, 0xba, 0x81, - 0x96, 0x7d, 0xc5, 0x16, 0xf2, 0xa4, 0xcb, 0x90, 0xd9, 0xd5, 0x0d, 0x54, 0x16, 0x66, 0xd3, 0xf3, - 0x85, 0xf3, 0x0f, 0x2f, 0x44, 0x40, 0x0b, 0x61, 0xc4, 0x26, 0x16, 0xcb, 0x04, 0x31, 0xf7, 0x46, - 0x06, 0xa6, 0x86, 0x8c, 0x4a, 0x12, 0x64, 0x4c, 0xb5, 0x8b, 0x19, 0x85, 0xf9, 0xbc, 0x4c, 0xfe, - 0x97, 0xca, 0x30, 0x66, 0xab, 0xda, 0x4d, 0xb5, 0x83, 0xca, 0x29, 0x22, 0xe6, 0x8f, 0x52, 0x05, - 0xa0, 0x8d, 0x6c, 0x64, 0xb6, 0x91, 0xa9, 0xed, 0x97, 0xd3, 0xb3, 0xe9, 0xf9, 0xbc, 0x1c, 0x90, - 0x48, 0x8f, 0xc3, 0xa4, 0xdd, 0xdb, 0x31, 0x74, 0x4d, 0x09, 0xa8, 0xc1, 0x6c, 0x7a, 0x3e, 0x2b, - 0x8b, 0x74, 0x60, 0xb9, 0xaf, 0x7c, 0x0e, 0x26, 0x6e, 0x23, 0xf5, 0x66, 0x50, 0xb5, 0x40, 0x54, - 0x4b, 0x58, 0x1c, 0x50, 0xac, 0x43, 0xb1, 0x8b, 0x5c, 0x57, 0xed, 0x20, 0xc5, 0xdb, 0xb7, 0x51, - 0x39, 0x43, 0x66, 0x3f, 0x3b, 0x30, 0xfb, 0xe8, 0xcc, 0x0b, 0x0c, 0xb5, 0xb5, 0x6f, 0x23, 0xa9, - 0x06, 0x79, 0x64, 0xf6, 0xba, 0x94, 0x21, 0x7b, 0x88, 0xff, 0x1a, 0x66, 0xaf, 0x1b, 0x65, 0xc9, - 0x61, 0x18, 0xa3, 0x18, 0x73, 0x91, 0x73, 0x4b, 0xd7, 0x50, 0x79, 0x94, 0x10, 0x9c, 0x1b, 0x20, - 0x68, 0xd1, 0xf1, 0x28, 0x07, 0xc7, 0x49, 0x75, 0xc8, 0xa3, 0xe7, 0x3d, 0x64, 0xba, 0xba, 0x65, - 0x96, 0xc7, 0x08, 0xc9, 0x23, 0x43, 0x56, 0x11, 0x19, 0xed, 0x28, 0x45, 0x1f, 0x27, 0x5d, 0x82, - 0x31, 0xcb, 0xf6, 0x74, 0xcb, 0x74, 0xcb, 0xb9, 0x59, 0x61, 0xbe, 0x70, 0xfe, 0x03, 0x43, 0x03, - 0x61, 0x83, 0xea, 0xc8, 0x5c, 0x59, 0x6a, 0x82, 0xe8, 0x5a, 0x3d, 0x47, 0x43, 0x8a, 0x66, 0xb5, - 0x91, 0xa2, 0x9b, 0xbb, 0x56, 0x39, 0x4f, 0x08, 0xce, 0x0c, 0x4e, 0x84, 0x28, 0xd6, 0xad, 0x36, - 0x6a, 0x9a, 0xbb, 0x96, 0x5c, 0x72, 0x43, 0xcf, 0xd2, 0x09, 0x18, 0x75, 0xf7, 0x4d, 0x4f, 0x7d, - 0xbe, 0x5c, 0x24, 0x11, 0xc2, 0x9e, 0xe6, 0xbe, 0x35, 0x0a, 0x13, 0x49, 0x42, 0xec, 0x2a, 0x64, - 0x77, 0xf1, 0x2c, 0xcb, 0xa9, 0xe3, 0xf8, 0x80, 0x62, 0xc2, 0x4e, 0x1c, 0xfd, 0x11, 0x9d, 0x58, - 0x83, 0x82, 0x89, 0x5c, 0x0f, 0xb5, 0x69, 0x44, 0xa4, 0x13, 0xc6, 0x14, 0x50, 0xd0, 0x60, 0x48, - 0x65, 0x7e, 0xa4, 0x90, 0x7a, 0x16, 0x26, 0x7c, 0x93, 0x14, 0x47, 0x35, 0x3b, 0x3c, 0x36, 0x17, - 0xe3, 0x2c, 0x59, 0x68, 0x70, 0x9c, 0x8c, 0x61, 0x72, 0x09, 0x85, 0x9e, 0xa5, 0x65, 0x00, 0xcb, - 0x44, 0xd6, 0xae, 0xd2, 0x46, 0x9a, 0x51, 0xce, 0x1d, 0xe2, 0xa5, 0x0d, 0xac, 0x32, 0xe0, 0x25, - 0x8b, 0x4a, 0x35, 0x43, 0xba, 0xd2, 0x0f, 0xb5, 0xb1, 0x43, 0x22, 0x65, 0x8d, 0x6e, 0xb2, 0x81, - 0x68, 0xdb, 0x86, 0x92, 0x83, 0x70, 0xdc, 0xa3, 0x36, 0x9b, 0x59, 0x9e, 0x18, 0xb1, 0x10, 0x3b, - 0x33, 0x99, 0xc1, 0xe8, 0xc4, 0xc6, 0x9d, 0xe0, 0xa3, 0xf4, 0x10, 0xf8, 0x02, 0x85, 0x84, 0x15, - 0x90, 0x2c, 0x54, 0xe4, 0xc2, 0x75, 0xb5, 0x8b, 0x66, 0xee, 0x40, 0x29, 0xec, 0x1e, 0x69, 0x1a, - 0xb2, 0xae, 0xa7, 0x3a, 0x1e, 0x89, 0xc2, 0xac, 0x4c, 0x1f, 0x24, 0x11, 0xd2, 0xc8, 0x6c, 0x93, - 0x2c, 0x97, 0x95, 0xf1, 0xbf, 0xd2, 0x4f, 0xf7, 0x27, 0x9c, 0x26, 0x13, 0xfe, 0xe0, 0xe0, 0x8a, - 0x86, 0x98, 0xa3, 0xf3, 0x9e, 0x79, 0x12, 0xc6, 0x43, 0x13, 0x48, 0xfa, 0xea, 0xb9, 0x9f, 0x83, - 0x07, 0x86, 0x52, 0x4b, 0xcf, 0xc2, 0x74, 0xcf, 0xd4, 0x4d, 0x0f, 0x39, 0xb6, 0x83, 0x70, 0xc4, - 0xd2, 0x57, 0x95, 0xff, 0x6d, 0xec, 0x90, 0x98, 0xdb, 0x0e, 0x6a, 0x53, 0x16, 0x79, 0xaa, 0x37, - 0x28, 0x7c, 0x2c, 0x9f, 0x7b, 0x73, 0x4c, 0xbc, 0x7b, 0xf7, 0xee, 0xdd, 0xd4, 0xdc, 0x67, 0x47, - 0x61, 0x7a, 0xd8, 0x9e, 0x19, 0xba, 0x7d, 0x4f, 0xc0, 0xa8, 0xd9, 0xeb, 0xee, 0x20, 0x87, 0x38, - 0x29, 0x2b, 0xb3, 0x27, 0xa9, 0x06, 0x59, 0x43, 0xdd, 0x41, 0x46, 0x39, 0x33, 0x2b, 0xcc, 0x97, - 0xce, 0x3f, 0x9e, 0x68, 0x57, 0x2e, 0xac, 0x62, 0x88, 0x4c, 0x91, 0xd2, 0xc7, 0x20, 0xc3, 0x52, - 0x34, 0x66, 0x78, 0x2c, 0x19, 0x03, 0xde, 0x4b, 0x32, 0xc1, 0x49, 0xa7, 0x21, 0x8f, 0xff, 0xd2, - 0xd8, 0x18, 0x25, 0x36, 0xe7, 0xb0, 0x00, 0xc7, 0x85, 0x34, 0x03, 0x39, 0xb2, 0x4d, 0xda, 0x88, - 0x97, 0x36, 0xff, 0x19, 0x07, 0x56, 0x1b, 0xed, 0xaa, 0x3d, 0xc3, 0x53, 0x6e, 0xa9, 0x46, 0x0f, - 0x91, 0x80, 0xcf, 0xcb, 0x45, 0x26, 0xfc, 0x24, 0x96, 0x49, 0x67, 0xa0, 0x40, 0x77, 0x95, 0x6e, - 0xb6, 0xd1, 0xf3, 0x24, 0x7b, 0x66, 0x65, 0xba, 0xd1, 0x9a, 0x58, 0x82, 0x5f, 0x7f, 0xc3, 0xb5, - 0x4c, 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0xff, 0x64, 0x34, 0x71, 0x3f, 0x38, 0x7c, 0x7a, - 0xd1, 0x98, 0x9a, 0xfb, 0x46, 0x0a, 0x32, 0x24, 0x5f, 0x4c, 0x40, 0x61, 0xeb, 0xfa, 0x66, 0x43, - 0x59, 0xde, 0xd8, 0x5e, 0x5a, 0x6d, 0x88, 0x82, 0x54, 0x02, 0x20, 0x82, 0x6b, 0xab, 0x1b, 0xb5, - 0x2d, 0x31, 0xe5, 0x3f, 0x37, 0xd7, 0xb7, 0x2e, 0x5d, 0x10, 0xd3, 0x3e, 0x60, 0x9b, 0x0a, 0x32, - 0x41, 0x85, 0x27, 0xce, 0x8b, 0x59, 0x49, 0x84, 0x22, 0x25, 0x68, 0x3e, 0xdb, 0x58, 0xbe, 0x74, - 0x41, 0x1c, 0x0d, 0x4b, 0x9e, 0x38, 0x2f, 0x8e, 0x49, 0xe3, 0x90, 0x27, 0x92, 0xa5, 0x8d, 0x8d, - 0x55, 0x31, 0xe7, 0x73, 0xb6, 0xb6, 0xe4, 0xe6, 0xfa, 0x8a, 0x98, 0xf7, 0x39, 0x57, 0xe4, 0x8d, - 0xed, 0x4d, 0x11, 0x7c, 0x86, 0xb5, 0x46, 0xab, 0x55, 0x5b, 0x69, 0x88, 0x05, 0x5f, 0x63, 0xe9, - 0xfa, 0x56, 0xa3, 0x25, 0x16, 0x43, 0x66, 0x3d, 0x71, 0x5e, 0x1c, 0xf7, 0x5f, 0xd1, 0x58, 0xdf, - 0x5e, 0x13, 0x4b, 0xd2, 0x24, 0x8c, 0xd3, 0x57, 0x70, 0x23, 0x26, 0x22, 0xa2, 0x4b, 0x17, 0x44, - 0xb1, 0x6f, 0x08, 0x65, 0x99, 0x0c, 0x09, 0x2e, 0x5d, 0x10, 0xa5, 0xb9, 0x3a, 0x64, 0x49, 0x74, - 0x49, 0x12, 0x94, 0x56, 0x6b, 0x4b, 0x8d, 0x55, 0x65, 0x63, 0x73, 0xab, 0xb9, 0xb1, 0x5e, 0x5b, - 0x15, 0x85, 0xbe, 0x4c, 0x6e, 0x7c, 0x62, 0xbb, 0x29, 0x37, 0x96, 0xc5, 0x54, 0x50, 0xb6, 0xd9, - 0xa8, 0x6d, 0x35, 0x96, 0xc5, 0xf4, 0x9c, 0x06, 0xd3, 0xc3, 0xf2, 0xe4, 0xd0, 0x9d, 0x11, 0x58, - 0xe2, 0xd4, 0x21, 0x4b, 0x4c, 0xb8, 0x06, 0x96, 0xf8, 0x07, 0x29, 0x98, 0x1a, 0x52, 0x2b, 0x86, - 0xbe, 0xe4, 0x29, 0xc8, 0xd2, 0x10, 0xa5, 0xd5, 0xf3, 0xd1, 0xa1, 0x45, 0x87, 0x04, 0xec, 0x40, - 0x05, 0x25, 0xb8, 0x60, 0x07, 0x91, 0x3e, 0xa4, 0x83, 0xc0, 0x14, 0x03, 0x39, 0xfd, 0x67, 0x07, - 0x72, 0x3a, 0x2d, 0x7b, 0x97, 0x92, 0x94, 0x3d, 0x22, 0x3b, 0x5e, 0x6e, 0xcf, 0x0e, 0xc9, 0xed, - 0x57, 0x61, 0x72, 0x80, 0x28, 0x71, 0x8e, 0x7d, 0x41, 0x80, 0xf2, 0x61, 0xce, 0x89, 0xc9, 0x74, - 0xa9, 0x50, 0xa6, 0xbb, 0x1a, 0xf5, 0xe0, 0xd9, 0xc3, 0x17, 0x61, 0x60, 0xad, 0x5f, 0x15, 0xe0, - 0xc4, 0xf0, 0x4e, 0x71, 0xa8, 0x0d, 0x1f, 0x83, 0xd1, 0x2e, 0xf2, 0xf6, 0x2c, 0xde, 0x2d, 0x7d, - 0x70, 0x48, 0x0d, 0xc6, 0xc3, 0xd1, 0xc5, 0x66, 0xa8, 0x60, 0x11, 0x4f, 0x1f, 0xd6, 0xee, 0x51, - 0x6b, 0x06, 0x2c, 0x7d, 0x31, 0x05, 0x0f, 0x0c, 0x25, 0x1f, 0x6a, 0xe8, 0x83, 0x00, 0xba, 0x69, - 0xf7, 0x3c, 0xda, 0x11, 0xd1, 0x04, 0x9b, 0x27, 0x12, 0x92, 0xbc, 0x70, 0xf2, 0xec, 0x79, 0xfe, - 0x78, 0x9a, 0x8c, 0x03, 0x15, 0x11, 0x85, 0xcb, 0x7d, 0x43, 0x33, 0xc4, 0xd0, 0xca, 0x21, 0x33, - 0x1d, 0x08, 0xcc, 0x8f, 0x80, 0xa8, 0x19, 0x3a, 0x32, 0x3d, 0xc5, 0xf5, 0x1c, 0xa4, 0x76, 0x75, - 0xb3, 0x43, 0x2a, 0x48, 0xae, 0x9a, 0xdd, 0x55, 0x0d, 0x17, 0xc9, 0x13, 0x74, 0xb8, 0xc5, 0x47, - 0x31, 0x82, 0x04, 0x90, 0x13, 0x40, 0x8c, 0x86, 0x10, 0x74, 0xd8, 0x47, 0xcc, 0x7d, 0x3d, 0x07, - 0x85, 0x40, 0x5f, 0x2d, 0x9d, 0x85, 0xe2, 0x0d, 0xf5, 0x96, 0xaa, 0xf0, 0xb3, 0x12, 0xf5, 0x44, - 0x01, 0xcb, 0x36, 0xd9, 0x79, 0xe9, 0x23, 0x30, 0x4d, 0x54, 0xac, 0x9e, 0x87, 0x1c, 0x45, 0x33, - 0x54, 0xd7, 0x25, 0x4e, 0xcb, 0x11, 0x55, 0x09, 0x8f, 0x6d, 0xe0, 0xa1, 0x3a, 0x1f, 0x91, 0x2e, - 0xc2, 0x14, 0x41, 0x74, 0x7b, 0x86, 0xa7, 0xdb, 0x06, 0x52, 0xf0, 0xe9, 0xcd, 0x25, 0x95, 0xc4, - 0xb7, 0x6c, 0x12, 0x6b, 0xac, 0x31, 0x05, 0x6c, 0x91, 0x2b, 0x2d, 0xc3, 0x83, 0x04, 0xd6, 0x41, - 0x26, 0x72, 0x54, 0x0f, 0x29, 0xe8, 0xd3, 0x3d, 0xd5, 0x70, 0x15, 0xd5, 0x6c, 0x2b, 0x7b, 0xaa, - 0xbb, 0x57, 0x9e, 0xc6, 0x04, 0x4b, 0xa9, 0xb2, 0x20, 0x9f, 0xc2, 0x8a, 0x2b, 0x4c, 0xaf, 0x41, - 0xd4, 0x6a, 0x66, 0xfb, 0xe3, 0xaa, 0xbb, 0x27, 0x55, 0xe1, 0x04, 0x61, 0x71, 0x3d, 0x47, 0x37, - 0x3b, 0x8a, 0xb6, 0x87, 0xb4, 0x9b, 0x4a, 0xcf, 0xdb, 0xbd, 0x5c, 0x3e, 0x1d, 0x7c, 0x3f, 0xb1, - 0xb0, 0x45, 0x74, 0xea, 0x58, 0x65, 0xdb, 0xdb, 0xbd, 0x2c, 0xb5, 0xa0, 0x88, 0x17, 0xa3, 0xab, - 0xdf, 0x41, 0xca, 0xae, 0xe5, 0x90, 0xd2, 0x58, 0x1a, 0x92, 0x9a, 0x02, 0x1e, 0x5c, 0xd8, 0x60, - 0x80, 0x35, 0xab, 0x8d, 0xaa, 0xd9, 0xd6, 0x66, 0xa3, 0xb1, 0x2c, 0x17, 0x38, 0xcb, 0x35, 0xcb, - 0xc1, 0x01, 0xd5, 0xb1, 0x7c, 0x07, 0x17, 0x68, 0x40, 0x75, 0x2c, 0xee, 0xde, 0x8b, 0x30, 0xa5, - 0x69, 0x74, 0xce, 0xba, 0xa6, 0xb0, 0x33, 0x96, 0x5b, 0x16, 0x43, 0xce, 0xd2, 0xb4, 0x15, 0xaa, - 0xc0, 0x62, 0xdc, 0x95, 0xae, 0xc0, 0x03, 0x7d, 0x67, 0x05, 0x81, 0x93, 0x03, 0xb3, 0x8c, 0x42, - 0x2f, 0xc2, 0x94, 0xbd, 0x3f, 0x08, 0x94, 0x42, 0x6f, 0xb4, 0xf7, 0xa3, 0xb0, 0x27, 0x61, 0xda, - 0xde, 0xb3, 0x07, 0x71, 0x8f, 0x05, 0x71, 0x92, 0xbd, 0x67, 0x47, 0x81, 0x8f, 0x90, 0x03, 0xb7, - 0x83, 0x34, 0xd5, 0x43, 0xed, 0xf2, 0xc9, 0xa0, 0x7a, 0x60, 0x40, 0x5a, 0x04, 0x51, 0xd3, 0x14, - 0x64, 0xaa, 0x3b, 0x06, 0x52, 0x54, 0x07, 0x99, 0xaa, 0x5b, 0x3e, 0x13, 0x54, 0x2e, 0x69, 0x5a, - 0x83, 0x8c, 0xd6, 0xc8, 0xa0, 0xf4, 0x18, 0x4c, 0x5a, 0x3b, 0x37, 0x34, 0x1a, 0x92, 0x8a, 0xed, - 0xa0, 0x5d, 0xfd, 0xf9, 0xf2, 0xc3, 0xc4, 0xbf, 0x13, 0x78, 0x80, 0x04, 0xe4, 0x26, 0x11, 0x4b, - 0x8f, 0x82, 0xa8, 0xb9, 0x7b, 0xaa, 0x63, 0x93, 0x9c, 0xec, 0xda, 0xaa, 0x86, 0xca, 0x8f, 0x50, - 0x55, 0x2a, 0x5f, 0xe7, 0x62, 0xbc, 0x25, 0xdc, 0xdb, 0xfa, 0xae, 0xc7, 0x19, 0xcf, 0xd1, 0x2d, - 0x41, 0x64, 0x8c, 0x6d, 0x1e, 0x44, 0xec, 0x8a, 0xd0, 0x8b, 0xe7, 0x89, 0x5a, 0xc9, 0xde, 0xb3, - 0x83, 0xef, 0x7d, 0x08, 0xc6, 0xb1, 0x66, 0xff, 0xa5, 0x8f, 0xd2, 0x86, 0xcc, 0xde, 0x0b, 0xbc, - 0xf1, 0x3d, 0xeb, 0x8d, 0xe7, 0xaa, 0x50, 0x0c, 0xc6, 0xa7, 0x94, 0x07, 0x1a, 0xa1, 0xa2, 0x80, - 0x9b, 0x95, 0xfa, 0xc6, 0x32, 0x6e, 0x33, 0x9e, 0x6b, 0x88, 0x29, 0xdc, 0xee, 0xac, 0x36, 0xb7, - 0x1a, 0x8a, 0xbc, 0xbd, 0xbe, 0xd5, 0x5c, 0x6b, 0x88, 0xe9, 0x60, 0x5f, 0xfd, 0xdd, 0x14, 0x94, - 0xc2, 0x47, 0x24, 0xe9, 0xa7, 0xe0, 0x24, 0xbf, 0xcf, 0x70, 0x91, 0xa7, 0xdc, 0xd6, 0x1d, 0xb2, - 0x65, 0xba, 0x2a, 0x2d, 0x5f, 0xfe, 0xa2, 0x4d, 0x33, 0xad, 0x16, 0xf2, 0x9e, 0xd1, 0x1d, 0xbc, - 0x21, 0xba, 0xaa, 0x27, 0xad, 0xc2, 0x19, 0xd3, 0x52, 0x5c, 0x4f, 0x35, 0xdb, 0xaa, 0xd3, 0x56, - 0xfa, 0x37, 0x49, 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0xaa, 0x7c, 0x96, 0x0f, 0x98, 0x56, - 0x8b, 0x29, 0xf7, 0x73, 0x78, 0x8d, 0xa9, 0x46, 0x02, 0x2c, 0x7d, 0x58, 0x80, 0x9d, 0x86, 0x7c, - 0x57, 0xb5, 0x15, 0x64, 0x7a, 0xce, 0x3e, 0x69, 0x8c, 0x73, 0x72, 0xae, 0xab, 0xda, 0x0d, 0xfc, - 0xfc, 0xfe, 0x9c, 0x4f, 0xfe, 0x39, 0x0d, 0xc5, 0x60, 0x73, 0x8c, 0xcf, 0x1a, 0x1a, 0xa9, 0x23, - 0x02, 0xc9, 0x34, 0x0f, 0x1d, 0xd9, 0x4a, 0x2f, 0xd4, 0x71, 0x81, 0xa9, 0x8e, 0xd2, 0x96, 0x55, - 0xa6, 0x48, 0x5c, 0xdc, 0x71, 0x6e, 0x41, 0xb4, 0x45, 0xc8, 0xc9, 0xec, 0x49, 0x5a, 0x81, 0xd1, - 0x1b, 0x2e, 0xe1, 0x1e, 0x25, 0xdc, 0x0f, 0x1f, 0xcd, 0xfd, 0x74, 0x8b, 0x90, 0xe7, 0x9f, 0x6e, - 0x29, 0xeb, 0x1b, 0xf2, 0x5a, 0x6d, 0x55, 0x66, 0x70, 0xe9, 0x14, 0x64, 0x0c, 0xf5, 0xce, 0x7e, - 0xb8, 0x14, 0x11, 0x51, 0x52, 0xc7, 0x9f, 0x82, 0xcc, 0x6d, 0xa4, 0xde, 0x0c, 0x17, 0x00, 0x22, - 0x7a, 0x0f, 0x43, 0x7f, 0x11, 0xb2, 0xc4, 0x5f, 0x12, 0x00, 0xf3, 0x98, 0x38, 0x22, 0xe5, 0x20, - 0x53, 0xdf, 0x90, 0x71, 0xf8, 0x8b, 0x50, 0xa4, 0x52, 0x65, 0xb3, 0xd9, 0xa8, 0x37, 0xc4, 0xd4, - 0xdc, 0x45, 0x18, 0xa5, 0x4e, 0xc0, 0x5b, 0xc3, 0x77, 0x83, 0x38, 0xc2, 0x1e, 0x19, 0x87, 0xc0, - 0x47, 0xb7, 0xd7, 0x96, 0x1a, 0xb2, 0x98, 0x0a, 0x2e, 0xaf, 0x0b, 0xc5, 0x60, 0x5f, 0xfc, 0xfe, - 0xc4, 0xd4, 0xb7, 0x05, 0x28, 0x04, 0xfa, 0x5c, 0xdc, 0xa0, 0xa8, 0x86, 0x61, 0xdd, 0x56, 0x54, - 0x43, 0x57, 0x5d, 0x16, 0x14, 0x40, 0x44, 0x35, 0x2c, 0x49, 0xba, 0x68, 0xef, 0x8b, 0xf1, 0xaf, - 0x08, 0x20, 0x46, 0x5b, 0xcc, 0x88, 0x81, 0xc2, 0x4f, 0xd4, 0xc0, 0x97, 0x05, 0x28, 0x85, 0xfb, - 0xca, 0x88, 0x79, 0x67, 0x7f, 0xa2, 0xe6, 0xbd, 0x9e, 0x82, 0xf1, 0x50, 0x37, 0x99, 0xd4, 0xba, - 0x4f, 0xc3, 0xa4, 0xde, 0x46, 0x5d, 0xdb, 0xf2, 0x90, 0xa9, 0xed, 0x2b, 0x06, 0xba, 0x85, 0x8c, - 0xf2, 0x1c, 0x49, 0x14, 0x8b, 0x47, 0xf7, 0xab, 0x0b, 0xcd, 0x3e, 0x6e, 0x15, 0xc3, 0xaa, 0x53, - 0xcd, 0xe5, 0xc6, 0xda, 0xe6, 0xc6, 0x56, 0x63, 0xbd, 0x7e, 0x5d, 0xd9, 0x5e, 0xff, 0x99, 0xf5, - 0x8d, 0x67, 0xd6, 0x65, 0x51, 0x8f, 0xa8, 0xbd, 0x87, 0x5b, 0x7d, 0x13, 0xc4, 0xa8, 0x51, 0xd2, - 0x49, 0x18, 0x66, 0x96, 0x38, 0x22, 0x4d, 0xc1, 0xc4, 0xfa, 0x86, 0xd2, 0x6a, 0x2e, 0x37, 0x94, - 0xc6, 0xb5, 0x6b, 0x8d, 0xfa, 0x56, 0x8b, 0xde, 0x40, 0xf8, 0xda, 0x5b, 0xe1, 0x4d, 0xfd, 0x52, - 0x1a, 0xa6, 0x86, 0x58, 0x22, 0xd5, 0xd8, 0xd9, 0x81, 0x1e, 0x67, 0x3e, 0x9c, 0xc4, 0xfa, 0x05, - 0x5c, 0xf2, 0x37, 0x55, 0xc7, 0x63, 0x47, 0x8d, 0x47, 0x01, 0x7b, 0xc9, 0xf4, 0xf4, 0x5d, 0x1d, - 0x39, 0xec, 0xc2, 0x86, 0x1e, 0x28, 0x26, 0xfa, 0x72, 0x7a, 0x67, 0xf3, 0x21, 0x90, 0x6c, 0xcb, - 0xd5, 0x3d, 0xfd, 0x16, 0x52, 0x74, 0x93, 0xdf, 0xee, 0xe0, 0x03, 0x46, 0x46, 0x16, 0xf9, 0x48, - 0xd3, 0xf4, 0x7c, 0x6d, 0x13, 0x75, 0xd4, 0x88, 0x36, 0x4e, 0xe0, 0x69, 0x59, 0xe4, 0x23, 0xbe, - 0xf6, 0x59, 0x28, 0xb6, 0xad, 0x1e, 0xee, 0xba, 0xa8, 0x1e, 0xae, 0x17, 0x82, 0x5c, 0xa0, 0x32, - 0x5f, 0x85, 0xf5, 0xd3, 0xfd, 0x6b, 0xa5, 0xa2, 0x5c, 0xa0, 0x32, 0xaa, 0x72, 0x0e, 0x26, 0xd4, - 0x4e, 0xc7, 0xc1, 0xe4, 0x9c, 0x88, 0x9e, 0x10, 0x4a, 0xbe, 0x98, 0x28, 0xce, 0x3c, 0x0d, 0x39, - 0xee, 0x07, 0x5c, 0x92, 0xb1, 0x27, 0x14, 0x9b, 0x1e, 0x7b, 0x53, 0xf3, 0x79, 0x39, 0x67, 0xf2, - 0xc1, 0xb3, 0x50, 0xd4, 0x5d, 0xa5, 0x7f, 0x4b, 0x9e, 0x9a, 0x4d, 0xcd, 0xe7, 0xe4, 0x82, 0xee, - 0xfa, 0x37, 0x8c, 0x73, 0xaf, 0xa6, 0xa0, 0x14, 0xbe, 0xe5, 0x97, 0x96, 0x21, 0x67, 0x58, 0x9a, - 0x4a, 0x42, 0x8b, 0x7e, 0x62, 0x9a, 0x8f, 0xf9, 0x30, 0xb0, 0xb0, 0xca, 0xf4, 0x65, 0x1f, 0x39, - 0xf3, 0x8f, 0x02, 0xe4, 0xb8, 0x58, 0x3a, 0x01, 0x19, 0x5b, 0xf5, 0xf6, 0x08, 0x5d, 0x76, 0x29, - 0x25, 0x0a, 0x32, 0x79, 0xc6, 0x72, 0xd7, 0x56, 0x4d, 0x12, 0x02, 0x4c, 0x8e, 0x9f, 0xf1, 0xba, - 0x1a, 0x48, 0x6d, 0x93, 0xe3, 0x87, 0xd5, 0xed, 0x22, 0xd3, 0x73, 0xf9, 0xba, 0x32, 0x79, 0x9d, - 0x89, 0xa5, 0xc7, 0x61, 0xd2, 0x73, 0x54, 0xdd, 0x08, 0xe9, 0x66, 0x88, 0xae, 0xc8, 0x07, 0x7c, - 0xe5, 0x2a, 0x9c, 0xe2, 0xbc, 0x6d, 0xe4, 0xa9, 0xda, 0x1e, 0x6a, 0xf7, 0x41, 0xa3, 0xe4, 0x9a, - 0xe1, 0x24, 0x53, 0x58, 0x66, 0xe3, 0x1c, 0x3b, 0xf7, 0x7d, 0x01, 0x26, 0xf9, 0x81, 0xa9, 0xed, - 0x3b, 0x6b, 0x0d, 0x40, 0x35, 0x4d, 0xcb, 0x0b, 0xba, 0x6b, 0x30, 0x94, 0x07, 0x70, 0x0b, 0x35, - 0x1f, 0x24, 0x07, 0x08, 0x66, 0xba, 0x00, 0xfd, 0x91, 0x43, 0xdd, 0x76, 0x06, 0x0a, 0xec, 0x13, - 0x0e, 0xf9, 0x0e, 0x48, 0x8f, 0xd8, 0x40, 0x45, 0xf8, 0x64, 0x25, 0x4d, 0x43, 0x76, 0x07, 0x75, - 0x74, 0x93, 0x5d, 0xcc, 0xd2, 0x07, 0x7e, 0x11, 0x92, 0xf1, 0x2f, 0x42, 0x96, 0x3e, 0x05, 0x53, - 0x9a, 0xd5, 0x8d, 0x9a, 0xbb, 0x24, 0x46, 0x8e, 0xf9, 0xee, 0xc7, 0x85, 0xe7, 0xa0, 0xdf, 0x62, - 0xbe, 0x23, 0x08, 0x5f, 0x4c, 0xa5, 0x57, 0x36, 0x97, 0xbe, 0x92, 0x9a, 0x59, 0xa1, 0xd0, 0x4d, - 0x3e, 0x53, 0x19, 0xed, 0x1a, 0x48, 0xc3, 0xd6, 0xc3, 0x97, 0x1e, 0x87, 0x0f, 0x77, 0x74, 0x6f, - 0xaf, 0xb7, 0xb3, 0xa0, 0x59, 0xdd, 0xc5, 0x8e, 0xd5, 0xb1, 0xfa, 0x9f, 0x3e, 0xf1, 0x13, 0x79, - 0x20, 0xff, 0xb1, 0xcf, 0x9f, 0x79, 0x5f, 0x3a, 0x13, 0xfb, 0xad, 0xb4, 0xba, 0x0e, 0x53, 0x4c, - 0x59, 0x21, 0xdf, 0x5f, 0xe8, 0x29, 0x42, 0x3a, 0xf2, 0x0e, 0xab, 0xfc, 0xb5, 0x37, 0x48, 0xb9, - 0x96, 0x27, 0x19, 0x14, 0x8f, 0xd1, 0x83, 0x46, 0x55, 0x86, 0x07, 0x42, 0x7c, 0x74, 0x6b, 0x22, - 0x27, 0x86, 0xf1, 0xbb, 0x8c, 0x71, 0x2a, 0xc0, 0xd8, 0x62, 0xd0, 0x6a, 0x1d, 0xc6, 0x8f, 0xc3, - 0xf5, 0xf7, 0x8c, 0xab, 0x88, 0x82, 0x24, 0x2b, 0x30, 0x41, 0x48, 0xb4, 0x9e, 0xeb, 0x59, 0x5d, - 0x92, 0xf7, 0x8e, 0xa6, 0xf9, 0x87, 0x37, 0xe8, 0x5e, 0x29, 0x61, 0x58, 0xdd, 0x47, 0x55, 0xab, - 0x40, 0x3e, 0x39, 0xb5, 0x91, 0x66, 0xc4, 0x30, 0xbc, 0xc6, 0x0c, 0xf1, 0xf5, 0xab, 0x9f, 0x84, - 0x69, 0xfc, 0x3f, 0x49, 0x4b, 0x41, 0x4b, 0xe2, 0x2f, 0xbc, 0xca, 0xdf, 0x7f, 0x81, 0x6e, 0xc7, - 0x29, 0x9f, 0x20, 0x60, 0x53, 0x60, 0x15, 0x3b, 0xc8, 0xf3, 0x90, 0xe3, 0x2a, 0xaa, 0x31, 0xcc, - 0xbc, 0xc0, 0x8d, 0x41, 0xf9, 0x73, 0x6f, 0x85, 0x57, 0x71, 0x85, 0x22, 0x6b, 0x86, 0x51, 0xdd, - 0x86, 0x93, 0x43, 0xa2, 0x22, 0x01, 0xe7, 0x4b, 0x8c, 0x73, 0x7a, 0x20, 0x32, 0x30, 0xed, 0x26, - 0x70, 0xb9, 0xbf, 0x96, 0x09, 0x38, 0x7f, 0x8f, 0x71, 0x4a, 0x0c, 0xcb, 0x97, 0x14, 0x33, 0x3e, - 0x0d, 0x93, 0xb7, 0x90, 0xb3, 0x63, 0xb9, 0xec, 0x96, 0x26, 0x01, 0xdd, 0xcb, 0x8c, 0x6e, 0x82, - 0x01, 0xc9, 0xb5, 0x0d, 0xe6, 0xba, 0x02, 0xb9, 0x5d, 0x55, 0x43, 0x09, 0x28, 0x3e, 0xcf, 0x28, - 0xc6, 0xb0, 0x3e, 0x86, 0xd6, 0xa0, 0xd8, 0xb1, 0x58, 0x65, 0x8a, 0x87, 0xbf, 0xc2, 0xe0, 0x05, - 0x8e, 0x61, 0x14, 0xb6, 0x65, 0xf7, 0x0c, 0x5c, 0xb6, 0xe2, 0x29, 0x7e, 0x9f, 0x53, 0x70, 0x0c, - 0xa3, 0x38, 0x86, 0x5b, 0xff, 0x80, 0x53, 0xb8, 0x01, 0x7f, 0x3e, 0x05, 0x05, 0xcb, 0x34, 0xf6, - 0x2d, 0x33, 0x89, 0x11, 0x5f, 0x60, 0x0c, 0xc0, 0x20, 0x98, 0xe0, 0x2a, 0xe4, 0x93, 0x2e, 0xc4, - 0x1f, 0xbd, 0xc5, 0xb7, 0x07, 0x5f, 0x81, 0x15, 0x98, 0xe0, 0x09, 0x4a, 0xb7, 0xcc, 0x04, 0x14, - 0x5f, 0x62, 0x14, 0xa5, 0x00, 0x8c, 0x4d, 0xc3, 0x43, 0xae, 0xd7, 0x41, 0x49, 0x48, 0x5e, 0xe5, - 0xd3, 0x60, 0x10, 0xe6, 0xca, 0x1d, 0x64, 0x6a, 0x7b, 0xc9, 0x18, 0xbe, 0xcc, 0x5d, 0xc9, 0x31, - 0x98, 0xa2, 0x0e, 0xe3, 0x5d, 0xd5, 0x71, 0xf7, 0x54, 0x23, 0xd1, 0x72, 0xfc, 0x31, 0xe3, 0x28, - 0xfa, 0x20, 0xe6, 0x91, 0x9e, 0x79, 0x1c, 0x9a, 0xaf, 0x70, 0x8f, 0x04, 0x60, 0x6c, 0xeb, 0xb9, - 0x1e, 0xb9, 0xd2, 0x3a, 0x0e, 0xdb, 0x9f, 0xf0, 0xad, 0x47, 0xb1, 0x6b, 0x41, 0xc6, 0xab, 0x90, - 0x77, 0xf5, 0x3b, 0x89, 0x68, 0xfe, 0x94, 0xaf, 0x34, 0x01, 0x60, 0xf0, 0x75, 0x38, 0x35, 0xb4, - 0x4c, 0x24, 0x20, 0xfb, 0x33, 0x46, 0x76, 0x62, 0x48, 0xa9, 0x60, 0x29, 0xe1, 0xb8, 0x94, 0x7f, - 0xce, 0x53, 0x02, 0x8a, 0x70, 0x6d, 0xe2, 0xb3, 0x82, 0xab, 0xee, 0x1e, 0xcf, 0x6b, 0x7f, 0xc1, - 0xbd, 0x46, 0xb1, 0x21, 0xaf, 0x6d, 0xc1, 0x09, 0xc6, 0x78, 0xbc, 0x75, 0xfd, 0x2a, 0x4f, 0xac, - 0x14, 0xbd, 0x1d, 0x5e, 0xdd, 0x4f, 0xc1, 0x8c, 0xef, 0x4e, 0xde, 0x94, 0xba, 0x4a, 0x57, 0xb5, - 0x13, 0x30, 0x7f, 0x8d, 0x31, 0xf3, 0x8c, 0xef, 0x77, 0xb5, 0xee, 0x9a, 0x6a, 0x63, 0xf2, 0x67, - 0xa1, 0xcc, 0xc9, 0x7b, 0xa6, 0x83, 0x34, 0xab, 0x63, 0xea, 0x77, 0x50, 0x3b, 0x01, 0xf5, 0x5f, - 0x46, 0x96, 0x6a, 0x3b, 0x00, 0xc7, 0xcc, 0x4d, 0x10, 0xfd, 0x5e, 0x45, 0xd1, 0xbb, 0xb6, 0xe5, - 0x78, 0x31, 0x8c, 0x5f, 0xe7, 0x2b, 0xe5, 0xe3, 0x9a, 0x04, 0x56, 0x6d, 0x40, 0x89, 0x3c, 0x26, - 0x0d, 0xc9, 0xbf, 0x62, 0x44, 0xe3, 0x7d, 0x14, 0x4b, 0x1c, 0x9a, 0xd5, 0xb5, 0x55, 0x27, 0x49, - 0xfe, 0xfb, 0x6b, 0x9e, 0x38, 0x18, 0x84, 0x25, 0x0e, 0x6f, 0xdf, 0x46, 0xb8, 0xda, 0x27, 0x60, - 0xf8, 0x06, 0x4f, 0x1c, 0x1c, 0xc3, 0x28, 0x78, 0xc3, 0x90, 0x80, 0xe2, 0x6f, 0x38, 0x05, 0xc7, - 0x60, 0x8a, 0x4f, 0xf4, 0x0b, 0xad, 0x83, 0x3a, 0xba, 0xeb, 0x39, 0xb4, 0x15, 0x3e, 0x9a, 0xea, - 0x9b, 0x6f, 0x85, 0x9b, 0x30, 0x39, 0x00, 0xc5, 0x99, 0x88, 0x5d, 0xa1, 0x92, 0x93, 0x52, 0xbc, - 0x61, 0xdf, 0xe2, 0x99, 0x28, 0x00, 0xc3, 0xb6, 0x05, 0x3a, 0x44, 0xec, 0x76, 0x0d, 0x9f, 0x0f, - 0x12, 0xd0, 0x7d, 0x3b, 0x62, 0x5c, 0x8b, 0x63, 0x31, 0x67, 0xa0, 0xff, 0xe9, 0x99, 0x37, 0xd1, - 0x7e, 0xa2, 0xe8, 0xfc, 0xdb, 0x48, 0xff, 0xb3, 0x4d, 0x91, 0x34, 0x87, 0x4c, 0x44, 0xfa, 0x29, - 0x29, 0xee, 0xc7, 0x3a, 0xe5, 0x9f, 0xbf, 0xcf, 0xe6, 0x1b, 0x6e, 0xa7, 0xaa, 0xab, 0x38, 0xc8, - 0xc3, 0x4d, 0x4f, 0x3c, 0xd9, 0x0b, 0xf7, 0xfd, 0x38, 0x0f, 0xf5, 0x3c, 0xd5, 0x6b, 0x30, 0x1e, - 0x6a, 0x78, 0xe2, 0xa9, 0x3e, 0xc3, 0xa8, 0x8a, 0xc1, 0x7e, 0xa7, 0x7a, 0x11, 0x32, 0xb8, 0x79, - 0x89, 0x87, 0xff, 0x02, 0x83, 0x13, 0xf5, 0xea, 0x47, 0x21, 0xc7, 0x9b, 0x96, 0x78, 0xe8, 0x2f, - 0x32, 0xa8, 0x0f, 0xc1, 0x70, 0xde, 0xb0, 0xc4, 0xc3, 0x7f, 0x89, 0xc3, 0x39, 0x04, 0xc3, 0x93, - 0xbb, 0xf0, 0x3b, 0xbf, 0x92, 0x61, 0x45, 0x87, 0xfb, 0xee, 0x2a, 0x8c, 0xb1, 0x4e, 0x25, 0x1e, - 0xfd, 0x22, 0x7b, 0x39, 0x47, 0x54, 0x9f, 0x84, 0x6c, 0x42, 0x87, 0xff, 0x2a, 0x83, 0x52, 0xfd, - 0x6a, 0x1d, 0x0a, 0x81, 0xee, 0x24, 0x1e, 0xfe, 0x6b, 0x0c, 0x1e, 0x44, 0x61, 0xd3, 0x59, 0x77, - 0x12, 0x4f, 0xf0, 0xeb, 0xdc, 0x74, 0x86, 0xc0, 0x6e, 0xe3, 0x8d, 0x49, 0x3c, 0xfa, 0x37, 0xb8, - 0xd7, 0x39, 0xa4, 0xfa, 0x14, 0xe4, 0xfd, 0x62, 0x13, 0x8f, 0xff, 0x4d, 0x86, 0xef, 0x63, 0xb0, - 0x07, 0x02, 0xc5, 0x2e, 0x9e, 0xe2, 0xb7, 0xb8, 0x07, 0x02, 0x28, 0xbc, 0x8d, 0xa2, 0x0d, 0x4c, - 0x3c, 0xd3, 0x6f, 0xf3, 0x6d, 0x14, 0xe9, 0x5f, 0xf0, 0x6a, 0x92, 0x9c, 0x1f, 0x4f, 0xf1, 0x3b, - 0x7c, 0x35, 0x89, 0x3e, 0x36, 0x23, 0xda, 0x11, 0xc4, 0x73, 0xfc, 0x2e, 0x37, 0x23, 0xd2, 0x10, - 0x54, 0x37, 0x41, 0x1a, 0xec, 0x06, 0xe2, 0xf9, 0x3e, 0xcb, 0xf8, 0x26, 0x07, 0x9a, 0x81, 0xea, - 0x33, 0x70, 0x62, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0xb9, 0xfb, 0x91, 0xb3, 0x5b, 0xb0, 0x11, 0xa8, - 0x6e, 0xf5, 0x4b, 0x4a, 0xb0, 0x0b, 0x88, 0xa7, 0x7d, 0xe9, 0x7e, 0x38, 0x71, 0x07, 0x9b, 0x80, - 0x6a, 0x0d, 0xa0, 0x5f, 0x80, 0xe3, 0xb9, 0x5e, 0x66, 0x5c, 0x01, 0x10, 0xde, 0x1a, 0xac, 0xfe, - 0xc6, 0xe3, 0x3f, 0xcf, 0xb7, 0x06, 0x43, 0xe0, 0xad, 0xc1, 0x4b, 0x6f, 0x3c, 0xfa, 0x15, 0xbe, - 0x35, 0x38, 0x04, 0x47, 0x76, 0xa0, 0xba, 0xc5, 0x33, 0x7c, 0x81, 0x47, 0x76, 0x00, 0x55, 0x5d, - 0x87, 0xc9, 0x81, 0x82, 0x18, 0x4f, 0xf5, 0x45, 0x46, 0x25, 0x46, 0xeb, 0x61, 0xb0, 0x78, 0xb1, - 0x62, 0x18, 0xcf, 0xf6, 0x87, 0x91, 0xe2, 0xc5, 0x6a, 0x61, 0xf5, 0x2a, 0xe4, 0xcc, 0x9e, 0x61, - 0xe0, 0xcd, 0x23, 0x1d, 0xfd, 0x03, 0xbb, 0xf2, 0xbf, 0xbf, 0xcb, 0xbc, 0xc3, 0x01, 0xd5, 0x8b, - 0x90, 0x45, 0xdd, 0x1d, 0xd4, 0x8e, 0x43, 0xfe, 0xc7, 0xbb, 0x3c, 0x61, 0x62, 0xed, 0xea, 0x53, - 0x00, 0xf4, 0x6a, 0x84, 0x7c, 0xf6, 0x8b, 0xc1, 0xfe, 0xe7, 0xbb, 0xec, 0xa7, 0x2f, 0x7d, 0x48, - 0x9f, 0x80, 0xfe, 0x90, 0xe6, 0x68, 0x82, 0xb7, 0xc2, 0x04, 0x64, 0x45, 0xae, 0xc0, 0xd8, 0x0d, - 0xd7, 0x32, 0x3d, 0xb5, 0x13, 0x87, 0xfe, 0x2f, 0x86, 0xe6, 0xfa, 0xd8, 0x61, 0x5d, 0xcb, 0x41, - 0x9e, 0xda, 0x71, 0xe3, 0xb0, 0xff, 0xcd, 0xb0, 0x3e, 0x00, 0x83, 0x35, 0xd5, 0xf5, 0x92, 0xcc, - 0xfb, 0x87, 0x1c, 0xcc, 0x01, 0xd8, 0x68, 0xfc, 0xff, 0x4d, 0xb4, 0x1f, 0x87, 0x7d, 0x9b, 0x1b, - 0xcd, 0xf4, 0xab, 0x1f, 0x85, 0x3c, 0xfe, 0x97, 0xfe, 0x9e, 0x2d, 0x06, 0xfc, 0x3f, 0x0c, 0xdc, - 0x47, 0xe0, 0x37, 0xbb, 0x5e, 0xdb, 0xd3, 0xe3, 0x9d, 0xfd, 0xbf, 0x6c, 0xa5, 0xb9, 0x7e, 0xb5, - 0x06, 0x05, 0xd7, 0x6b, 0xb7, 0x7b, 0xac, 0x3f, 0x8d, 0x81, 0xff, 0xdf, 0xbb, 0xfe, 0x95, 0x85, - 0x8f, 0xc1, 0xab, 0x7d, 0xfb, 0xa6, 0x67, 0x5b, 0xe4, 0x33, 0x47, 0x1c, 0xc3, 0x7d, 0xc6, 0x10, - 0x80, 0x2c, 0x35, 0x86, 0x5f, 0xdf, 0xc2, 0x8a, 0xb5, 0x62, 0xd1, 0x8b, 0xdb, 0xe7, 0xe6, 0xe2, - 0x6f, 0x60, 0xe1, 0xc5, 0x2c, 0x9c, 0xd6, 0xac, 0xee, 0x8e, 0xe5, 0x2e, 0xee, 0x58, 0xde, 0xde, - 0xa2, 0xef, 0x1f, 0x7e, 0x2d, 0xeb, 0x0b, 0x66, 0x8e, 0x77, 0xa1, 0x3b, 0xf7, 0x77, 0x69, 0xc8, - 0xd5, 0x55, 0xd7, 0x53, 0x6f, 0xab, 0xfb, 0x92, 0x0d, 0x53, 0xf8, 0xff, 0x35, 0xd5, 0x26, 0xd7, - 0x83, 0x6c, 0x1f, 0xb3, 0x3b, 0xf3, 0x0f, 0x2d, 0xf4, 0xdf, 0xca, 0x11, 0x0b, 0x43, 0xd4, 0xc9, - 0x6f, 0x0d, 0x96, 0xc4, 0xd7, 0xfe, 0xe5, 0xcc, 0xc8, 0x2f, 0xff, 0xeb, 0x99, 0xdc, 0xda, 0xfe, - 0x33, 0xba, 0xe1, 0x5a, 0xa6, 0x3c, 0x8c, 0x5a, 0xfa, 0x8c, 0x00, 0xa7, 0x87, 0xc8, 0xd7, 0xd9, - 0x36, 0x67, 0x5f, 0x9e, 0x2e, 0x24, 0x7c, 0x35, 0x87, 0x51, 0x13, 0x8a, 0xa1, 0xd7, 0x1f, 0xf5, - 0x9a, 0x99, 0xeb, 0x50, 0x3e, 0x6c, 0x26, 0x92, 0x08, 0xe9, 0x9b, 0x68, 0x9f, 0xfd, 0x60, 0x11, - 0xff, 0x2b, 0x9d, 0xeb, 0xff, 0xac, 0x53, 0x98, 0x2f, 0x9c, 0x9f, 0x0c, 0x58, 0xc7, 0x5e, 0x46, - 0xc7, 0xab, 0xa9, 0xcb, 0xc2, 0x8c, 0x0a, 0xb3, 0x71, 0x96, 0xfe, 0x98, 0xaf, 0x98, 0xab, 0xc0, - 0x28, 0x15, 0x4a, 0xd3, 0x90, 0x6d, 0x9a, 0xde, 0xa5, 0x0b, 0x84, 0x2a, 0x2d, 0xd3, 0x87, 0xa5, - 0xd5, 0xd7, 0xee, 0x55, 0x46, 0xbe, 0x77, 0xaf, 0x32, 0xf2, 0x4f, 0xf7, 0x2a, 0x23, 0xaf, 0xdf, - 0xab, 0x08, 0x6f, 0xde, 0xab, 0x08, 0x6f, 0xdf, 0xab, 0x08, 0xef, 0xdc, 0xab, 0x08, 0x77, 0x0f, - 0x2a, 0xc2, 0x97, 0x0f, 0x2a, 0xc2, 0x57, 0x0f, 0x2a, 0xc2, 0x37, 0x0f, 0x2a, 0xc2, 0x77, 0x0e, - 0x2a, 0xc2, 0x6b, 0x07, 0x15, 0xe1, 0x7b, 0x07, 0x15, 0xe1, 0xf5, 0x83, 0x8a, 0xf0, 0xe6, 0x41, - 0x65, 0xe4, 0xed, 0x83, 0x8a, 0xf0, 0xce, 0x41, 0x65, 0xe4, 0xee, 0x0f, 0x2a, 0x23, 0xff, 0x1f, - 0x00, 0x00, 0xff, 0xff, 0xfc, 0xe4, 0xa0, 0x05, 0x27, 0x35, 0x00, 0x00, + // 4046 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0x1b, 0xd7, + 0x79, 0xe6, 0xe2, 0x42, 0x02, 0x3f, 0x40, 0x70, 0xb9, 0xa4, 0x25, 0x88, 0x4a, 0x20, 0x8a, 0xb6, + 0x23, 0xfa, 0x46, 0x66, 0x64, 0x49, 0x96, 0xa1, 0x26, 0x2e, 0x08, 0x42, 0x0c, 0x5c, 0xde, 0xb2, + 0x20, 0x63, 0xcb, 0x99, 0xce, 0xce, 0x72, 0x71, 0x08, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, 0x24, + 0x53, 0xd3, 0x07, 0x75, 0x9c, 0xb6, 0xe3, 0xde, 0x6f, 0x33, 0x4d, 0x5c, 0xc7, 0x6d, 0xd2, 0x69, + 0x9c, 0xa6, 0xb7, 0xa4, 0x97, 0x34, 0x49, 0x5f, 0xd2, 0x87, 0xb4, 0x7a, 0xea, 0x24, 0x6f, 0x7d, + 0xe8, 0xb4, 0x16, 0xe3, 0x99, 0xba, 0xad, 0xdb, 0xba, 0xad, 0x1e, 0x3c, 0xe3, 0x97, 0xce, 0xb9, + 0x2d, 0x76, 0x17, 0x20, 0x77, 0x99, 0x8e, 0x9d, 0x27, 0xf2, 0xfc, 0xe7, 0xff, 0xbe, 0xf3, 0x9f, + 0xff, 0xfc, 0xe7, 0xfc, 0xff, 0x39, 0x0b, 0xb8, 0x5b, 0x85, 0xd9, 0x8e, 0x65, 0x75, 0x0c, 0xb4, + 0x68, 0x3b, 0x96, 0x67, 0xed, 0xf4, 0x76, 0x17, 0xdb, 0xc8, 0xd5, 0x1c, 0xdd, 0xf6, 0x2c, 0x67, + 0x81, 0xc8, 0xa4, 0x09, 0xaa, 0xb1, 0xc0, 0x35, 0xe6, 0xd6, 0x60, 0xf2, 0xaa, 0x6e, 0xa0, 0x65, + 0x5f, 0xb1, 0x85, 0x3c, 0xe9, 0x32, 0x64, 0x76, 0x75, 0x03, 0x95, 0x85, 0xd9, 0xf4, 0x7c, 0xe1, + 0xfc, 0x43, 0x0b, 0x11, 0xd0, 0x42, 0x18, 0xb1, 0x89, 0xc5, 0x32, 0x41, 0xcc, 0xbd, 0x99, 0x81, + 0xa9, 0x21, 0xbd, 0x92, 0x04, 0x19, 0x53, 0xed, 0x62, 0x46, 0x61, 0x3e, 0x2f, 0x93, 0xff, 0xa5, + 0x32, 0x8c, 0xd9, 0xaa, 0x76, 0x43, 0xed, 0xa0, 0x72, 0x8a, 0x88, 0x79, 0x53, 0xaa, 0x00, 0xb4, + 0x91, 0x8d, 0xcc, 0x36, 0x32, 0xb5, 0xfd, 0x72, 0x7a, 0x36, 0x3d, 0x9f, 0x97, 0x03, 0x12, 0xe9, + 0x31, 0x98, 0xb4, 0x7b, 0x3b, 0x86, 0xae, 0x29, 0x01, 0x35, 0x98, 0x4d, 0xcf, 0x67, 0x65, 0x91, + 0x76, 0x2c, 0xf7, 0x95, 0xcf, 0xc1, 0xc4, 0x2d, 0xa4, 0xde, 0x08, 0xaa, 0x16, 0x88, 0x6a, 0x09, + 0x8b, 0x03, 0x8a, 0x75, 0x28, 0x76, 0x91, 0xeb, 0xaa, 0x1d, 0xa4, 0x78, 0xfb, 0x36, 0x2a, 0x67, + 0xc8, 0xec, 0x67, 0x07, 0x66, 0x1f, 0x9d, 0x79, 0x81, 0xa1, 0xb6, 0xf6, 0x6d, 0x24, 0xd5, 0x20, + 0x8f, 0xcc, 0x5e, 0x97, 0x32, 0x64, 0x0f, 0xf1, 0x5f, 0xc3, 0xec, 0x75, 0xa3, 0x2c, 0x39, 0x0c, + 0x63, 0x14, 0x63, 0x2e, 0x72, 0x6e, 0xea, 0x1a, 0x2a, 0x8f, 0x12, 0x82, 0x73, 0x03, 0x04, 0x2d, + 0xda, 0x1f, 0xe5, 0xe0, 0x38, 0xa9, 0x0e, 0x79, 0xf4, 0xa2, 0x87, 0x4c, 0x57, 0xb7, 0xcc, 0xf2, + 0x18, 0x21, 0x79, 0x78, 0xc8, 0x2a, 0x22, 0xa3, 0x1d, 0xa5, 0xe8, 0xe3, 0xa4, 0x4b, 0x30, 0x66, + 0xd9, 0x9e, 0x6e, 0x99, 0x6e, 0x39, 0x37, 0x2b, 0xcc, 0x17, 0xce, 0x7f, 0x68, 0x68, 0x20, 0x6c, + 0x50, 0x1d, 0x99, 0x2b, 0x4b, 0x4d, 0x10, 0x5d, 0xab, 0xe7, 0x68, 0x48, 0xd1, 0xac, 0x36, 0x52, + 0x74, 0x73, 0xd7, 0x2a, 0xe7, 0x09, 0xc1, 0x99, 0xc1, 0x89, 0x10, 0xc5, 0xba, 0xd5, 0x46, 0x4d, + 0x73, 0xd7, 0x92, 0x4b, 0x6e, 0xa8, 0x2d, 0x9d, 0x80, 0x51, 0x77, 0xdf, 0xf4, 0xd4, 0x17, 0xcb, + 0x45, 0x12, 0x21, 0xac, 0x35, 0xf7, 0xad, 0x51, 0x98, 0x48, 0x12, 0x62, 0x57, 0x20, 0xbb, 0x8b, + 0x67, 0x59, 0x4e, 0x1d, 0xc7, 0x07, 0x14, 0x13, 0x76, 0xe2, 0xe8, 0x0f, 0xe9, 0xc4, 0x1a, 0x14, + 0x4c, 0xe4, 0x7a, 0xa8, 0x4d, 0x23, 0x22, 0x9d, 0x30, 0xa6, 0x80, 0x82, 0x06, 0x43, 0x2a, 0xf3, + 0x43, 0x85, 0xd4, 0xf3, 0x30, 0xe1, 0x9b, 0xa4, 0x38, 0xaa, 0xd9, 0xe1, 0xb1, 0xb9, 0x18, 0x67, + 0xc9, 0x42, 0x83, 0xe3, 0x64, 0x0c, 0x93, 0x4b, 0x28, 0xd4, 0x96, 0x96, 0x01, 0x2c, 0x13, 0x59, + 0xbb, 0x4a, 0x1b, 0x69, 0x46, 0x39, 0x77, 0x88, 0x97, 0x36, 0xb0, 0xca, 0x80, 0x97, 0x2c, 0x2a, + 0xd5, 0x0c, 0xe9, 0xe9, 0x7e, 0xa8, 0x8d, 0x1d, 0x12, 0x29, 0x6b, 0x74, 0x93, 0x0d, 0x44, 0xdb, + 0x36, 0x94, 0x1c, 0x84, 0xe3, 0x1e, 0xb5, 0xd9, 0xcc, 0xf2, 0xc4, 0x88, 0x85, 0xd8, 0x99, 0xc9, + 0x0c, 0x46, 0x27, 0x36, 0xee, 0x04, 0x9b, 0xd2, 0x83, 0xe0, 0x0b, 0x14, 0x12, 0x56, 0x40, 0x4e, + 0xa1, 0x22, 0x17, 0xae, 0xab, 0x5d, 0x34, 0x73, 0x1b, 0x4a, 0x61, 0xf7, 0x48, 0xd3, 0x90, 0x75, + 0x3d, 0xd5, 0xf1, 0x48, 0x14, 0x66, 0x65, 0xda, 0x90, 0x44, 0x48, 0x23, 0xb3, 0x4d, 0x4e, 0xb9, + 0xac, 0x8c, 0xff, 0x95, 0x7e, 0xbc, 0x3f, 0xe1, 0x34, 0x99, 0xf0, 0x47, 0x06, 0x57, 0x34, 0xc4, + 0x1c, 0x9d, 0xf7, 0xcc, 0x53, 0x30, 0x1e, 0x9a, 0x40, 0xd2, 0xa1, 0xe7, 0x7e, 0x0a, 0x1e, 0x18, + 0x4a, 0x2d, 0x3d, 0x0f, 0xd3, 0x3d, 0x53, 0x37, 0x3d, 0xe4, 0xd8, 0x0e, 0xc2, 0x11, 0x4b, 0x87, + 0x2a, 0xff, 0xcb, 0xd8, 0x21, 0x31, 0xb7, 0x1d, 0xd4, 0xa6, 0x2c, 0xf2, 0x54, 0x6f, 0x50, 0xf8, + 0x68, 0x3e, 0xf7, 0xd6, 0x98, 0x78, 0xe7, 0xce, 0x9d, 0x3b, 0xa9, 0xb9, 0xcf, 0x8d, 0xc2, 0xf4, + 0xb0, 0x3d, 0x33, 0x74, 0xfb, 0x9e, 0x80, 0x51, 0xb3, 0xd7, 0xdd, 0x41, 0x0e, 0x71, 0x52, 0x56, + 0x66, 0x2d, 0xa9, 0x06, 0x59, 0x43, 0xdd, 0x41, 0x46, 0x39, 0x33, 0x2b, 0xcc, 0x97, 0xce, 0x3f, + 0x96, 0x68, 0x57, 0x2e, 0xac, 0x62, 0x88, 0x4c, 0x91, 0xd2, 0xc7, 0x21, 0xc3, 0x8e, 0x68, 0xcc, + 0xf0, 0x68, 0x32, 0x06, 0xbc, 0x97, 0x64, 0x82, 0x93, 0x4e, 0x43, 0x1e, 0xff, 0xa5, 0xb1, 0x31, + 0x4a, 0x6c, 0xce, 0x61, 0x01, 0x8e, 0x0b, 0x69, 0x06, 0x72, 0x64, 0x9b, 0xb4, 0x11, 0x4f, 0x6d, + 0x7e, 0x1b, 0x07, 0x56, 0x1b, 0xed, 0xaa, 0x3d, 0xc3, 0x53, 0x6e, 0xaa, 0x46, 0x0f, 0x91, 0x80, + 0xcf, 0xcb, 0x45, 0x26, 0xfc, 0x14, 0x96, 0x49, 0x67, 0xa0, 0x40, 0x77, 0x95, 0x6e, 0xb6, 0xd1, + 0x8b, 0xe4, 0xf4, 0xcc, 0xca, 0x74, 0xa3, 0x35, 0xb1, 0x04, 0x0f, 0x7f, 0xdd, 0xb5, 0x4c, 0x1e, + 0x9a, 0x64, 0x08, 0x2c, 0x20, 0xc3, 0x3f, 0x15, 0x3d, 0xb8, 0x3f, 0x3c, 0x7c, 0x7a, 0xd1, 0x98, + 0x9a, 0xfb, 0x46, 0x0a, 0x32, 0xe4, 0xbc, 0x98, 0x80, 0xc2, 0xd6, 0xb5, 0xcd, 0x86, 0xb2, 0xbc, + 0xb1, 0xbd, 0xb4, 0xda, 0x10, 0x05, 0xa9, 0x04, 0x40, 0x04, 0x57, 0x57, 0x37, 0x6a, 0x5b, 0x62, + 0xca, 0x6f, 0x37, 0xd7, 0xb7, 0x2e, 0x5d, 0x10, 0xd3, 0x3e, 0x60, 0x9b, 0x0a, 0x32, 0x41, 0x85, + 0x27, 0xcf, 0x8b, 0x59, 0x49, 0x84, 0x22, 0x25, 0x68, 0x3e, 0xdf, 0x58, 0xbe, 0x74, 0x41, 0x1c, + 0x0d, 0x4b, 0x9e, 0x3c, 0x2f, 0x8e, 0x49, 0xe3, 0x90, 0x27, 0x92, 0xa5, 0x8d, 0x8d, 0x55, 0x31, + 0xe7, 0x73, 0xb6, 0xb6, 0xe4, 0xe6, 0xfa, 0x8a, 0x98, 0xf7, 0x39, 0x57, 0xe4, 0x8d, 0xed, 0x4d, + 0x11, 0x7c, 0x86, 0xb5, 0x46, 0xab, 0x55, 0x5b, 0x69, 0x88, 0x05, 0x5f, 0x63, 0xe9, 0xda, 0x56, + 0xa3, 0x25, 0x16, 0x43, 0x66, 0x3d, 0x79, 0x5e, 0x1c, 0xf7, 0x87, 0x68, 0xac, 0x6f, 0xaf, 0x89, + 0x25, 0x69, 0x12, 0xc6, 0xe9, 0x10, 0xdc, 0x88, 0x89, 0x88, 0xe8, 0xd2, 0x05, 0x51, 0xec, 0x1b, + 0x42, 0x59, 0x26, 0x43, 0x82, 0x4b, 0x17, 0x44, 0x69, 0xae, 0x0e, 0x59, 0x12, 0x5d, 0x92, 0x04, + 0xa5, 0xd5, 0xda, 0x52, 0x63, 0x55, 0xd9, 0xd8, 0xdc, 0x6a, 0x6e, 0xac, 0xd7, 0x56, 0x45, 0xa1, + 0x2f, 0x93, 0x1b, 0x9f, 0xdc, 0x6e, 0xca, 0x8d, 0x65, 0x31, 0x15, 0x94, 0x6d, 0x36, 0x6a, 0x5b, + 0x8d, 0x65, 0x31, 0x3d, 0xa7, 0xc1, 0xf4, 0xb0, 0x73, 0x72, 0xe8, 0xce, 0x08, 0x2c, 0x71, 0xea, + 0x90, 0x25, 0x26, 0x5c, 0x03, 0x4b, 0xfc, 0x83, 0x14, 0x4c, 0x0d, 0xc9, 0x15, 0x43, 0x07, 0x79, + 0x06, 0xb2, 0x34, 0x44, 0x69, 0xf6, 0x7c, 0x64, 0x68, 0xd2, 0x21, 0x01, 0x3b, 0x90, 0x41, 0x09, + 0x2e, 0x58, 0x41, 0xa4, 0x0f, 0xa9, 0x20, 0x30, 0xc5, 0xc0, 0x99, 0xfe, 0x93, 0x03, 0x67, 0x3a, + 0x4d, 0x7b, 0x97, 0x92, 0xa4, 0x3d, 0x22, 0x3b, 0xde, 0xd9, 0x9e, 0x1d, 0x72, 0xb6, 0x5f, 0x81, + 0xc9, 0x01, 0xa2, 0xc4, 0x67, 0xec, 0x4b, 0x02, 0x94, 0x0f, 0x73, 0x4e, 0xcc, 0x49, 0x97, 0x0a, + 0x9d, 0x74, 0x57, 0xa2, 0x1e, 0x3c, 0x7b, 0xf8, 0x22, 0x0c, 0xac, 0xf5, 0xeb, 0x02, 0x9c, 0x18, + 0x5e, 0x29, 0x0e, 0xb5, 0xe1, 0xe3, 0x30, 0xda, 0x45, 0xde, 0x9e, 0xc5, 0xab, 0xa5, 0x8f, 0x0c, + 0xc9, 0xc1, 0xb8, 0x3b, 0xba, 0xd8, 0x0c, 0x15, 0x4c, 0xe2, 0xe9, 0xc3, 0xca, 0x3d, 0x6a, 0xcd, + 0x80, 0xa5, 0x2f, 0xa7, 0xe0, 0x81, 0xa1, 0xe4, 0x43, 0x0d, 0xfd, 0x30, 0x80, 0x6e, 0xda, 0x3d, + 0x8f, 0x56, 0x44, 0xf4, 0x80, 0xcd, 0x13, 0x09, 0x39, 0xbc, 0xf0, 0xe1, 0xd9, 0xf3, 0xfc, 0xfe, + 0x34, 0xe9, 0x07, 0x2a, 0x22, 0x0a, 0x97, 0xfb, 0x86, 0x66, 0x88, 0xa1, 0x95, 0x43, 0x66, 0x3a, + 0x10, 0x98, 0x1f, 0x05, 0x51, 0x33, 0x74, 0x64, 0x7a, 0x8a, 0xeb, 0x39, 0x48, 0xed, 0xea, 0x66, + 0x87, 0x64, 0x90, 0x5c, 0x35, 0xbb, 0xab, 0x1a, 0x2e, 0x92, 0x27, 0x68, 0x77, 0x8b, 0xf7, 0x62, + 0x04, 0x09, 0x20, 0x27, 0x80, 0x18, 0x0d, 0x21, 0x68, 0xb7, 0x8f, 0x98, 0xfb, 0xc5, 0x3c, 0x14, + 0x02, 0x75, 0xb5, 0x74, 0x16, 0x8a, 0xd7, 0xd5, 0x9b, 0xaa, 0xc2, 0xef, 0x4a, 0xd4, 0x13, 0x05, + 0x2c, 0xdb, 0x64, 0xf7, 0xa5, 0x8f, 0xc2, 0x34, 0x51, 0xb1, 0x7a, 0x1e, 0x72, 0x14, 0xcd, 0x50, + 0x5d, 0x97, 0x38, 0x2d, 0x47, 0x54, 0x25, 0xdc, 0xb7, 0x81, 0xbb, 0xea, 0xbc, 0x47, 0xba, 0x08, + 0x53, 0x04, 0xd1, 0xed, 0x19, 0x9e, 0x6e, 0x1b, 0x48, 0xc1, 0xb7, 0x37, 0x97, 0x64, 0x12, 0xdf, + 0xb2, 0x49, 0xac, 0xb1, 0xc6, 0x14, 0xb0, 0x45, 0xae, 0xb4, 0x0c, 0x1f, 0x26, 0xb0, 0x0e, 0x32, + 0x91, 0xa3, 0x7a, 0x48, 0x41, 0x9f, 0xe9, 0xa9, 0x86, 0xab, 0xa8, 0x66, 0x5b, 0xd9, 0x53, 0xdd, + 0xbd, 0xf2, 0x34, 0x26, 0x58, 0x4a, 0x95, 0x05, 0xf9, 0x14, 0x56, 0x5c, 0x61, 0x7a, 0x0d, 0xa2, + 0x56, 0x33, 0xdb, 0x9f, 0x50, 0xdd, 0x3d, 0xa9, 0x0a, 0x27, 0x08, 0x8b, 0xeb, 0x39, 0xba, 0xd9, + 0x51, 0xb4, 0x3d, 0xa4, 0xdd, 0x50, 0x7a, 0xde, 0xee, 0xe5, 0xf2, 0xe9, 0xe0, 0xf8, 0xc4, 0xc2, + 0x16, 0xd1, 0xa9, 0x63, 0x95, 0x6d, 0x6f, 0xf7, 0xb2, 0xd4, 0x82, 0x22, 0x5e, 0x8c, 0xae, 0x7e, + 0x1b, 0x29, 0xbb, 0x96, 0x43, 0x52, 0x63, 0x69, 0xc8, 0xd1, 0x14, 0xf0, 0xe0, 0xc2, 0x06, 0x03, + 0xac, 0x59, 0x6d, 0x54, 0xcd, 0xb6, 0x36, 0x1b, 0x8d, 0x65, 0xb9, 0xc0, 0x59, 0xae, 0x5a, 0x0e, + 0x0e, 0xa8, 0x8e, 0xe5, 0x3b, 0xb8, 0x40, 0x03, 0xaa, 0x63, 0x71, 0xf7, 0x5e, 0x84, 0x29, 0x4d, + 0xa3, 0x73, 0xd6, 0x35, 0x85, 0xdd, 0xb1, 0xdc, 0xb2, 0x18, 0x72, 0x96, 0xa6, 0xad, 0x50, 0x05, + 0x16, 0xe3, 0xae, 0xf4, 0x34, 0x3c, 0xd0, 0x77, 0x56, 0x10, 0x38, 0x39, 0x30, 0xcb, 0x28, 0xf4, + 0x22, 0x4c, 0xd9, 0xfb, 0x83, 0x40, 0x29, 0x34, 0xa2, 0xbd, 0x1f, 0x85, 0x3d, 0x05, 0xd3, 0xf6, + 0x9e, 0x3d, 0x88, 0x7b, 0x34, 0x88, 0x93, 0xec, 0x3d, 0x3b, 0x0a, 0x7c, 0x98, 0x5c, 0xb8, 0x1d, + 0xa4, 0xa9, 0x1e, 0x6a, 0x97, 0x4f, 0x06, 0xd5, 0x03, 0x1d, 0xd2, 0x22, 0x88, 0x9a, 0xa6, 0x20, + 0x53, 0xdd, 0x31, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xf2, 0x99, 0xa0, 0x72, 0x49, 0xd3, 0x1a, + 0xa4, 0xb7, 0x46, 0x3a, 0xa5, 0x47, 0x61, 0xd2, 0xda, 0xb9, 0xae, 0xd1, 0x90, 0x54, 0x6c, 0x07, + 0xed, 0xea, 0x2f, 0x96, 0x1f, 0x22, 0xfe, 0x9d, 0xc0, 0x1d, 0x24, 0x20, 0x37, 0x89, 0x58, 0x7a, + 0x04, 0x44, 0xcd, 0xdd, 0x53, 0x1d, 0x9b, 0x9c, 0xc9, 0xae, 0xad, 0x6a, 0xa8, 0xfc, 0x30, 0x55, + 0xa5, 0xf2, 0x75, 0x2e, 0xc6, 0x5b, 0xc2, 0xbd, 0xa5, 0xef, 0x7a, 0x9c, 0xf1, 0x1c, 0xdd, 0x12, + 0x44, 0xc6, 0xd8, 0xe6, 0x41, 0xc4, 0xae, 0x08, 0x0d, 0x3c, 0x4f, 0xd4, 0x4a, 0xf6, 0x9e, 0x1d, + 0x1c, 0xf7, 0x41, 0x18, 0xc7, 0x9a, 0xfd, 0x41, 0x1f, 0xa1, 0x05, 0x99, 0xbd, 0x17, 0x18, 0xf1, + 0x02, 0x9c, 0xc0, 0x4a, 0x5d, 0xe4, 0xa9, 0x6d, 0xd5, 0x53, 0x03, 0xda, 0x8f, 0x13, 0x6d, 0xec, + 0xf7, 0x35, 0xd6, 0x19, 0xb2, 0xd3, 0xe9, 0xed, 0xec, 0xfb, 0x91, 0xf5, 0x04, 0xb5, 0x13, 0xcb, + 0x78, 0x6c, 0xbd, 0x6f, 0x45, 0xf7, 0x5c, 0x15, 0x8a, 0xc1, 0xc0, 0x97, 0xf2, 0x40, 0x43, 0x5f, + 0x14, 0x70, 0x15, 0x54, 0xdf, 0x58, 0xc6, 0xf5, 0xcb, 0x0b, 0x0d, 0x31, 0x85, 0xeb, 0xa8, 0xd5, + 0xe6, 0x56, 0x43, 0x91, 0xb7, 0xd7, 0xb7, 0x9a, 0x6b, 0x0d, 0x31, 0x1d, 0x2c, 0xd8, 0xbf, 0x9b, + 0x82, 0x52, 0xf8, 0xee, 0x25, 0xfd, 0x18, 0x9c, 0xe4, 0x0f, 0x25, 0x2e, 0xf2, 0x94, 0x5b, 0xba, + 0x43, 0xf6, 0x62, 0x57, 0xa5, 0x79, 0xd1, 0x8f, 0x86, 0x69, 0xa6, 0xd5, 0x42, 0xde, 0x73, 0xba, + 0x83, 0x77, 0x5a, 0x57, 0xf5, 0xa4, 0x55, 0x38, 0x63, 0x5a, 0x8a, 0xeb, 0xa9, 0x66, 0x5b, 0x75, + 0xda, 0x4a, 0xff, 0x89, 0x4a, 0x51, 0x35, 0x0d, 0xb9, 0xae, 0x45, 0x73, 0xa0, 0xcf, 0xf2, 0x21, + 0xd3, 0x6a, 0x31, 0xe5, 0x7e, 0x72, 0xa8, 0x31, 0xd5, 0x48, 0xe4, 0xa6, 0x0f, 0x8b, 0xdc, 0xd3, + 0x90, 0xef, 0xaa, 0xb6, 0x82, 0x4c, 0xcf, 0xd9, 0x27, 0x15, 0x77, 0x4e, 0xce, 0x75, 0x55, 0xbb, + 0x81, 0xdb, 0x1f, 0xcc, 0xc5, 0xe7, 0x1f, 0xd3, 0x50, 0x0c, 0x56, 0xdd, 0xf8, 0x12, 0xa3, 0x91, + 0x04, 0x25, 0x90, 0x23, 0xec, 0xc1, 0x23, 0x6b, 0xf4, 0x85, 0x3a, 0xce, 0x5c, 0xd5, 0x51, 0x5a, + 0x0b, 0xcb, 0x14, 0x89, 0xab, 0x06, 0x1c, 0x5a, 0x88, 0xd6, 0x1e, 0x39, 0x99, 0xb5, 0xa4, 0x15, + 0x18, 0xbd, 0xee, 0x12, 0xee, 0x51, 0xc2, 0xfd, 0xd0, 0xd1, 0xdc, 0xcf, 0xb6, 0x08, 0x79, 0xfe, + 0xd9, 0x96, 0xb2, 0xbe, 0x21, 0xaf, 0xd5, 0x56, 0x65, 0x06, 0x97, 0x4e, 0x41, 0xc6, 0x50, 0x6f, + 0xef, 0x87, 0x73, 0x1c, 0x11, 0x25, 0x75, 0xfc, 0x29, 0xc8, 0xdc, 0x42, 0xea, 0x8d, 0x70, 0x66, + 0x21, 0xa2, 0xf7, 0x31, 0xf4, 0x17, 0x21, 0x4b, 0xfc, 0x25, 0x01, 0x30, 0x8f, 0x89, 0x23, 0x52, + 0x0e, 0x32, 0xf5, 0x0d, 0x19, 0x87, 0xbf, 0x08, 0x45, 0x2a, 0x55, 0x36, 0x9b, 0x8d, 0x7a, 0x43, + 0x4c, 0xcd, 0x5d, 0x84, 0x51, 0xea, 0x04, 0xbc, 0x35, 0x7c, 0x37, 0x88, 0x23, 0xac, 0xc9, 0x38, + 0x04, 0xde, 0xbb, 0xbd, 0xb6, 0xd4, 0x90, 0xc5, 0x54, 0x70, 0x79, 0x5d, 0x28, 0x06, 0x0b, 0xee, + 0x0f, 0x26, 0xa6, 0xbe, 0x2d, 0x40, 0x21, 0x50, 0x40, 0xe3, 0xca, 0x47, 0x35, 0x0c, 0xeb, 0x96, + 0xa2, 0x1a, 0xba, 0xea, 0xb2, 0xa0, 0x00, 0x22, 0xaa, 0x61, 0x49, 0xd2, 0x45, 0xfb, 0x40, 0x8c, + 0x7f, 0x4d, 0x00, 0x31, 0x5a, 0xbb, 0x46, 0x0c, 0x14, 0x7e, 0xa4, 0x06, 0xbe, 0x2a, 0x40, 0x29, + 0x5c, 0xb0, 0x46, 0xcc, 0x3b, 0xfb, 0x23, 0x35, 0xef, 0x8d, 0x14, 0x8c, 0x87, 0xca, 0xd4, 0xa4, + 0xd6, 0x7d, 0x06, 0x26, 0xf5, 0x36, 0xea, 0xda, 0x96, 0x87, 0x4c, 0x6d, 0x5f, 0x31, 0xd0, 0x4d, + 0x64, 0x94, 0xe7, 0xc8, 0x41, 0xb1, 0x78, 0x74, 0x21, 0xbc, 0xd0, 0xec, 0xe3, 0x56, 0x31, 0xac, + 0x3a, 0xd5, 0x5c, 0x6e, 0xac, 0x6d, 0x6e, 0x6c, 0x35, 0xd6, 0xeb, 0xd7, 0x94, 0xed, 0xf5, 0x9f, + 0x58, 0xdf, 0x78, 0x6e, 0x5d, 0x16, 0xf5, 0x88, 0xda, 0xfb, 0xb8, 0xd5, 0x37, 0x41, 0x8c, 0x1a, + 0x25, 0x9d, 0x84, 0x61, 0x66, 0x89, 0x23, 0xd2, 0x14, 0x4c, 0xac, 0x6f, 0x28, 0xad, 0xe6, 0x72, + 0x43, 0x69, 0x5c, 0xbd, 0xda, 0xa8, 0x6f, 0xb5, 0xe8, 0xd3, 0x86, 0xaf, 0xbd, 0x15, 0xde, 0xd4, + 0xaf, 0xa4, 0x61, 0x6a, 0x88, 0x25, 0x52, 0x8d, 0x5d, 0x4a, 0xe8, 0x3d, 0xe9, 0x89, 0x24, 0xd6, + 0x2f, 0xe0, 0xaa, 0x60, 0x53, 0x75, 0x3c, 0x76, 0x87, 0x79, 0x04, 0xb0, 0x97, 0x4c, 0x4f, 0xdf, + 0xd5, 0x91, 0xc3, 0x5e, 0x82, 0xe8, 0x4d, 0x65, 0xa2, 0x2f, 0xa7, 0x8f, 0x41, 0x8f, 0x83, 0x64, + 0x5b, 0xae, 0xee, 0xe9, 0x37, 0x91, 0xa2, 0x9b, 0xfc, 0xd9, 0x08, 0xdf, 0x5c, 0x32, 0xb2, 0xc8, + 0x7b, 0x9a, 0xa6, 0xe7, 0x6b, 0x9b, 0xa8, 0xa3, 0x46, 0xb4, 0xf1, 0x01, 0x9e, 0x96, 0x45, 0xde, + 0xe3, 0x6b, 0x9f, 0x85, 0x62, 0xdb, 0xea, 0xe1, 0x72, 0x8e, 0xea, 0xe1, 0x7c, 0x21, 0xc8, 0x05, + 0x2a, 0xf3, 0x55, 0x58, 0xa1, 0xde, 0x7f, 0xaf, 0x2a, 0xca, 0x05, 0x2a, 0xa3, 0x2a, 0xe7, 0x60, + 0x42, 0xed, 0x74, 0x1c, 0x4c, 0xce, 0x89, 0xe8, 0xd5, 0xa3, 0xe4, 0x8b, 0x89, 0xe2, 0xcc, 0xb3, + 0x90, 0xe3, 0x7e, 0xc0, 0x29, 0x19, 0x7b, 0x42, 0xb1, 0xe9, 0x7d, 0x3a, 0x35, 0x9f, 0x97, 0x73, + 0x26, 0xef, 0x3c, 0x0b, 0x45, 0xdd, 0x55, 0xfa, 0xcf, 0xef, 0xa9, 0xd9, 0xd4, 0x7c, 0x4e, 0x2e, + 0xe8, 0xae, 0xff, 0x74, 0x39, 0xf7, 0x7a, 0x0a, 0x4a, 0xe1, 0xcf, 0x07, 0xd2, 0x32, 0xe4, 0x0c, + 0x4b, 0x53, 0x49, 0x68, 0xd1, 0x6f, 0x57, 0xf3, 0x31, 0x5f, 0x1c, 0x16, 0x56, 0x99, 0xbe, 0xec, + 0x23, 0x67, 0xfe, 0x5e, 0x80, 0x1c, 0x17, 0x4b, 0x27, 0x20, 0x63, 0xab, 0xde, 0x1e, 0xa1, 0xcb, + 0x2e, 0xa5, 0x44, 0x41, 0x26, 0x6d, 0x2c, 0x77, 0x6d, 0xd5, 0x24, 0x21, 0xc0, 0xe4, 0xb8, 0x8d, + 0xd7, 0xd5, 0x40, 0x6a, 0x9b, 0xdc, 0x6b, 0xac, 0x6e, 0x17, 0x99, 0x9e, 0xcb, 0xd7, 0x95, 0xc9, + 0xeb, 0x4c, 0x2c, 0x3d, 0x06, 0x93, 0x9e, 0xa3, 0xea, 0x46, 0x48, 0x37, 0x43, 0x74, 0x45, 0xde, + 0xe1, 0x2b, 0x57, 0xe1, 0x14, 0xe7, 0x6d, 0x23, 0x4f, 0xd5, 0xf6, 0x50, 0xbb, 0x0f, 0x1a, 0x25, + 0xef, 0x17, 0x27, 0x99, 0xc2, 0x32, 0xeb, 0xe7, 0xd8, 0xb9, 0xef, 0x0b, 0x30, 0xc9, 0x6f, 0x62, + 0x6d, 0xdf, 0x59, 0x6b, 0x00, 0xaa, 0x69, 0x5a, 0x5e, 0xd0, 0x5d, 0x83, 0xa1, 0x3c, 0x80, 0x5b, + 0xa8, 0xf9, 0x20, 0x39, 0x40, 0x30, 0xd3, 0x05, 0xe8, 0xf7, 0x1c, 0xea, 0xb6, 0x33, 0x50, 0x60, + 0xdf, 0x86, 0xc8, 0x07, 0x46, 0x7a, 0x77, 0x07, 0x2a, 0xc2, 0x57, 0x36, 0x69, 0x1a, 0xb2, 0x3b, + 0xa8, 0xa3, 0x9b, 0xec, 0xc5, 0x97, 0x36, 0xf8, 0x0b, 0x4b, 0xc6, 0x7f, 0x61, 0x59, 0xfa, 0x34, + 0x4c, 0x69, 0x56, 0x37, 0x6a, 0xee, 0x92, 0x18, 0x79, 0x3f, 0x70, 0x3f, 0x21, 0xbc, 0x00, 0xfd, + 0x12, 0xf3, 0x5d, 0x41, 0xf8, 0x52, 0x2a, 0xbd, 0xb2, 0xb9, 0xf4, 0xd5, 0xd4, 0xcc, 0x0a, 0x85, + 0x6e, 0xf2, 0x99, 0xca, 0x68, 0xd7, 0x40, 0x1a, 0xb6, 0x1e, 0xbe, 0xfc, 0x18, 0x3c, 0xd1, 0xd1, + 0xbd, 0xbd, 0xde, 0xce, 0x82, 0x66, 0x75, 0x17, 0x3b, 0x56, 0xc7, 0xea, 0x7f, 0x53, 0xc5, 0x2d, + 0xd2, 0x20, 0xff, 0xb1, 0xef, 0xaa, 0x79, 0x5f, 0x3a, 0x13, 0xfb, 0x11, 0xb6, 0xba, 0x0e, 0x53, + 0x4c, 0x59, 0x21, 0x1f, 0x76, 0xe8, 0xf5, 0x44, 0x3a, 0xf2, 0x71, 0xac, 0xfc, 0xf5, 0x37, 0x49, + 0xba, 0x96, 0x27, 0x19, 0x14, 0xf7, 0xd1, 0x1b, 0x4c, 0x55, 0x86, 0x07, 0x42, 0x7c, 0x74, 0x6b, + 0x22, 0x27, 0x86, 0xf1, 0xbb, 0x8c, 0x71, 0x2a, 0xc0, 0xd8, 0x62, 0xd0, 0x6a, 0x1d, 0xc6, 0x8f, + 0xc3, 0xf5, 0xb7, 0x8c, 0xab, 0x88, 0x82, 0x24, 0x2b, 0x30, 0x41, 0x48, 0xb4, 0x9e, 0xeb, 0x59, + 0x5d, 0x72, 0xee, 0x1d, 0x4d, 0xf3, 0x77, 0x6f, 0xd2, 0xbd, 0x52, 0xc2, 0xb0, 0xba, 0x8f, 0xaa, + 0x56, 0x81, 0x7c, 0xcb, 0x6a, 0x23, 0xcd, 0x88, 0x61, 0xb8, 0xcb, 0x0c, 0xf1, 0xf5, 0xab, 0x9f, + 0x82, 0x69, 0xfc, 0x3f, 0x39, 0x96, 0x82, 0x96, 0xc4, 0xbf, 0xa4, 0x95, 0xbf, 0xff, 0x12, 0xdd, + 0x8e, 0x53, 0x3e, 0x41, 0xc0, 0xa6, 0xc0, 0x2a, 0x76, 0x90, 0xe7, 0x21, 0xc7, 0x55, 0x54, 0x63, + 0x98, 0x79, 0x81, 0xa7, 0x88, 0xf2, 0xe7, 0xdf, 0x0e, 0xaf, 0xe2, 0x0a, 0x45, 0xd6, 0x0c, 0xa3, + 0xba, 0x0d, 0x27, 0x87, 0x44, 0x45, 0x02, 0xce, 0x57, 0x18, 0xe7, 0xf4, 0x40, 0x64, 0x60, 0xda, + 0x4d, 0xe0, 0x72, 0x7f, 0x2d, 0x13, 0x70, 0xfe, 0x36, 0xe3, 0x94, 0x18, 0x96, 0x2f, 0x29, 0x66, + 0x7c, 0x16, 0x26, 0x6f, 0x22, 0x67, 0xc7, 0x72, 0xd9, 0xf3, 0x4f, 0x02, 0xba, 0x57, 0x19, 0xdd, + 0x04, 0x03, 0x92, 0xf7, 0x20, 0xcc, 0xf5, 0x34, 0xe4, 0x76, 0x55, 0x0d, 0x25, 0xa0, 0xf8, 0x02, + 0xa3, 0x18, 0xc3, 0xfa, 0x18, 0x5a, 0x83, 0x62, 0xc7, 0x62, 0x99, 0x29, 0x1e, 0xfe, 0x1a, 0x83, + 0x17, 0x38, 0x86, 0x51, 0xd8, 0x96, 0xdd, 0x33, 0x70, 0xda, 0x8a, 0xa7, 0xf8, 0x1d, 0x4e, 0xc1, + 0x31, 0x8c, 0xe2, 0x18, 0x6e, 0xfd, 0x5d, 0x4e, 0xe1, 0x06, 0xfc, 0xf9, 0x0c, 0x14, 0x2c, 0xd3, + 0xd8, 0xb7, 0xcc, 0x24, 0x46, 0x7c, 0x91, 0x31, 0x00, 0x83, 0x60, 0x82, 0x2b, 0x90, 0x4f, 0xba, + 0x10, 0xbf, 0xff, 0x36, 0xdf, 0x1e, 0x7c, 0x05, 0x56, 0x60, 0x82, 0x1f, 0x50, 0xba, 0x65, 0x26, + 0xa0, 0xf8, 0x32, 0xa3, 0x28, 0x05, 0x60, 0x6c, 0x1a, 0x1e, 0x72, 0xbd, 0x0e, 0x4a, 0x42, 0xf2, + 0x3a, 0x9f, 0x06, 0x83, 0x30, 0x57, 0xee, 0x20, 0x53, 0xdb, 0x4b, 0xc6, 0xf0, 0x15, 0xee, 0x4a, + 0x8e, 0xc1, 0x14, 0x75, 0x18, 0xef, 0xaa, 0x8e, 0xbb, 0xa7, 0x1a, 0x89, 0x96, 0xe3, 0x0f, 0x18, + 0x47, 0xd1, 0x07, 0x31, 0x8f, 0xf4, 0xcc, 0xe3, 0xd0, 0x7c, 0x95, 0x7b, 0x24, 0x00, 0x63, 0x5b, + 0xcf, 0xf5, 0xc8, 0x5b, 0xd9, 0x71, 0xd8, 0xfe, 0x90, 0x6f, 0x3d, 0x8a, 0x5d, 0x0b, 0x32, 0x5e, + 0x81, 0xbc, 0xab, 0xdf, 0x4e, 0x44, 0xf3, 0x47, 0x7c, 0xa5, 0x09, 0x00, 0x83, 0xaf, 0xc1, 0xa9, + 0xa1, 0x69, 0x22, 0x01, 0xd9, 0x1f, 0x33, 0xb2, 0x13, 0x43, 0x52, 0x05, 0x3b, 0x12, 0x8e, 0x4b, + 0xf9, 0x27, 0xfc, 0x48, 0x40, 0x11, 0xae, 0x4d, 0x7c, 0x57, 0x70, 0xd5, 0xdd, 0xe3, 0x79, 0xed, + 0x4f, 0xb9, 0xd7, 0x28, 0x36, 0xe4, 0xb5, 0x2d, 0x38, 0xc1, 0x18, 0x8f, 0xb7, 0xae, 0x5f, 0xe3, + 0x07, 0x2b, 0x45, 0x6f, 0x87, 0x57, 0xf7, 0xd3, 0x30, 0xe3, 0xbb, 0x93, 0x17, 0xa5, 0xae, 0xd2, + 0x55, 0xed, 0x04, 0xcc, 0x5f, 0x67, 0xcc, 0xfc, 0xc4, 0xf7, 0xab, 0x5a, 0x77, 0x4d, 0xb5, 0x31, + 0xf9, 0xf3, 0x50, 0xe6, 0xe4, 0x3d, 0xd3, 0x41, 0x9a, 0xd5, 0x31, 0xf5, 0xdb, 0xa8, 0x9d, 0x80, + 0xfa, 0xcf, 0x22, 0x4b, 0xb5, 0x1d, 0x80, 0x63, 0xe6, 0x26, 0x88, 0x7e, 0xad, 0xa2, 0xe8, 0x5d, + 0xdb, 0x72, 0xbc, 0x18, 0xc6, 0x3f, 0xe7, 0x2b, 0xe5, 0xe3, 0x9a, 0x04, 0x56, 0x6d, 0x40, 0x89, + 0x34, 0x93, 0x86, 0xe4, 0x5f, 0x30, 0xa2, 0xf1, 0x3e, 0x8a, 0x1d, 0x1c, 0x9a, 0xd5, 0xb5, 0x55, + 0x27, 0xc9, 0xf9, 0xf7, 0x97, 0xfc, 0xe0, 0x60, 0x10, 0x76, 0x70, 0x78, 0xfb, 0x36, 0xc2, 0xd9, + 0x3e, 0x01, 0xc3, 0x37, 0xf8, 0xc1, 0xc1, 0x31, 0x8c, 0x82, 0x17, 0x0c, 0x09, 0x28, 0xfe, 0x8a, + 0x53, 0x70, 0x0c, 0xa6, 0xf8, 0x64, 0x3f, 0xd1, 0x3a, 0xa8, 0xa3, 0xbb, 0x9e, 0x43, 0x4b, 0xe1, + 0xa3, 0xa9, 0xbe, 0xf9, 0x76, 0xb8, 0x08, 0x93, 0x03, 0x50, 0x7c, 0x12, 0xb1, 0x27, 0x54, 0x72, + 0x53, 0x8a, 0x37, 0xec, 0x5b, 0xfc, 0x24, 0x0a, 0xc0, 0xb0, 0x6d, 0x81, 0x0a, 0x11, 0xbb, 0x5d, + 0xc3, 0xf7, 0x83, 0x04, 0x74, 0xdf, 0x8e, 0x18, 0xd7, 0xe2, 0x58, 0xcc, 0x19, 0xa8, 0x7f, 0x7a, + 0xe6, 0x0d, 0xb4, 0x9f, 0x28, 0x3a, 0xff, 0x3a, 0x52, 0xff, 0x6c, 0x53, 0x24, 0x3d, 0x43, 0x26, + 0x22, 0xf5, 0x94, 0x14, 0xf7, 0x2b, 0xa0, 0xf2, 0x4f, 0xdf, 0x67, 0xf3, 0x0d, 0x97, 0x53, 0xd5, + 0x55, 0x1c, 0xe4, 0xe1, 0xa2, 0x27, 0x9e, 0xec, 0xa5, 0xfb, 0x7e, 0x9c, 0x87, 0x6a, 0x9e, 0xea, + 0x55, 0x18, 0x0f, 0x15, 0x3c, 0xf1, 0x54, 0x9f, 0x65, 0x54, 0xc5, 0x60, 0xbd, 0x53, 0xbd, 0x08, + 0x19, 0x5c, 0xbc, 0xc4, 0xc3, 0x7f, 0x86, 0xc1, 0x89, 0x7a, 0xf5, 0x63, 0x90, 0xe3, 0x45, 0x4b, + 0x3c, 0xf4, 0x67, 0x19, 0xd4, 0x87, 0x60, 0x38, 0x2f, 0x58, 0xe2, 0xe1, 0x3f, 0xc7, 0xe1, 0x1c, + 0x82, 0xe1, 0xc9, 0x5d, 0xf8, 0x9d, 0x5f, 0xc8, 0xb0, 0xa4, 0xc3, 0x7d, 0x77, 0x05, 0xc6, 0x58, + 0xa5, 0x12, 0x8f, 0x7e, 0x99, 0x0d, 0xce, 0x11, 0xd5, 0xa7, 0x20, 0x9b, 0xd0, 0xe1, 0xbf, 0xc4, + 0xa0, 0x54, 0xbf, 0x5a, 0x87, 0x42, 0xa0, 0x3a, 0x89, 0x87, 0xff, 0x32, 0x83, 0x07, 0x51, 0xd8, + 0x74, 0x56, 0x9d, 0xc4, 0x13, 0xfc, 0x0a, 0x37, 0x9d, 0x21, 0xb0, 0xdb, 0x78, 0x61, 0x12, 0x8f, + 0xfe, 0x55, 0xee, 0x75, 0x0e, 0xa9, 0x3e, 0x03, 0x79, 0x3f, 0xd9, 0xc4, 0xe3, 0x7f, 0x8d, 0xe1, + 0xfb, 0x18, 0xec, 0x81, 0x40, 0xb2, 0x8b, 0xa7, 0xf8, 0x75, 0xee, 0x81, 0x00, 0x0a, 0x6f, 0xa3, + 0x68, 0x01, 0x13, 0xcf, 0xf4, 0x1b, 0x7c, 0x1b, 0x45, 0xea, 0x17, 0xbc, 0x9a, 0xe4, 0xcc, 0x8f, + 0xa7, 0xf8, 0x4d, 0xbe, 0x9a, 0x44, 0x1f, 0x9b, 0x11, 0xad, 0x08, 0xe2, 0x39, 0x7e, 0x8b, 0x9b, + 0x11, 0x29, 0x08, 0xaa, 0x9b, 0x20, 0x0d, 0x56, 0x03, 0xf1, 0x7c, 0x9f, 0x63, 0x7c, 0x93, 0x03, + 0xc5, 0x40, 0xf5, 0x39, 0x38, 0x31, 0xbc, 0x12, 0x88, 0x67, 0xfd, 0xfc, 0xfd, 0xc8, 0xdd, 0x2d, + 0x58, 0x08, 0x54, 0xb7, 0xfa, 0x29, 0x25, 0x58, 0x05, 0xc4, 0xd3, 0xbe, 0x72, 0x3f, 0x7c, 0x70, + 0x07, 0x8b, 0x80, 0x6a, 0x0d, 0xa0, 0x9f, 0x80, 0xe3, 0xb9, 0x5e, 0x65, 0x5c, 0x01, 0x10, 0xde, + 0x1a, 0x2c, 0xff, 0xc6, 0xe3, 0xbf, 0xc0, 0xb7, 0x06, 0x43, 0xe0, 0xad, 0xc1, 0x53, 0x6f, 0x3c, + 0xfa, 0x35, 0xbe, 0x35, 0x38, 0x04, 0x47, 0x76, 0x20, 0xbb, 0xc5, 0x33, 0x7c, 0x91, 0x47, 0x76, + 0x00, 0x55, 0x5d, 0x87, 0xc9, 0x81, 0x84, 0x18, 0x4f, 0xf5, 0x25, 0x46, 0x25, 0x46, 0xf3, 0x61, + 0x30, 0x79, 0xb1, 0x64, 0x18, 0xcf, 0xf6, 0x7b, 0x91, 0xe4, 0xc5, 0x72, 0x61, 0xf5, 0x0a, 0xe4, + 0xcc, 0x9e, 0x61, 0xe0, 0xcd, 0x23, 0x1d, 0xfd, 0xcb, 0xbd, 0xf2, 0xbf, 0xbe, 0xc7, 0xbc, 0xc3, + 0x01, 0xd5, 0x8b, 0x90, 0x45, 0xdd, 0x1d, 0xd4, 0x8e, 0x43, 0xfe, 0xdb, 0x7b, 0xfc, 0xc0, 0xc4, + 0xda, 0xd5, 0x67, 0x00, 0xe8, 0xd3, 0x08, 0xf9, 0xec, 0x17, 0x83, 0xfd, 0xf7, 0xf7, 0xd8, 0x6f, + 0x6a, 0xfa, 0x90, 0x3e, 0x01, 0xfd, 0x85, 0xce, 0xd1, 0x04, 0x6f, 0x87, 0x09, 0xc8, 0x8a, 0x3c, + 0x0d, 0x63, 0xd7, 0x5d, 0xcb, 0xf4, 0xd4, 0x4e, 0x1c, 0xfa, 0x3f, 0x18, 0x9a, 0xeb, 0x63, 0x87, + 0x75, 0x2d, 0x07, 0x79, 0x6a, 0xc7, 0x8d, 0xc3, 0xfe, 0x27, 0xc3, 0xfa, 0x00, 0x0c, 0xd6, 0x54, + 0xd7, 0x4b, 0x32, 0xef, 0xff, 0xe2, 0x60, 0x0e, 0xc0, 0x46, 0xe3, 0xff, 0x6f, 0xa0, 0xfd, 0x38, + 0xec, 0x3b, 0xdc, 0x68, 0xa6, 0x5f, 0xfd, 0x18, 0xe4, 0xf1, 0xbf, 0xf4, 0x87, 0x72, 0x31, 0xe0, + 0xff, 0x66, 0xe0, 0x3e, 0x02, 0x8f, 0xec, 0x7a, 0x6d, 0x4f, 0x8f, 0x77, 0xf6, 0xff, 0xb0, 0x95, + 0xe6, 0xfa, 0xd5, 0x1a, 0x14, 0x5c, 0xaf, 0xdd, 0xee, 0xb1, 0xfa, 0x34, 0x06, 0xfe, 0xbf, 0xef, + 0xf9, 0x4f, 0x16, 0x3e, 0x06, 0xaf, 0xf6, 0xad, 0x1b, 0x9e, 0x6d, 0x91, 0xcf, 0x1c, 0x71, 0x0c, + 0xf7, 0x19, 0x43, 0x00, 0xb2, 0xd4, 0x18, 0xfe, 0x7c, 0x0b, 0x2b, 0xd6, 0x8a, 0x45, 0x1f, 0x6e, + 0x5f, 0x98, 0x8b, 0x7f, 0x81, 0x85, 0x97, 0xb3, 0x70, 0x5a, 0xb3, 0xba, 0x3b, 0x96, 0xbb, 0xb8, + 0x63, 0x79, 0x7b, 0x8b, 0xbe, 0x7f, 0xf8, 0xb3, 0xac, 0x2f, 0x98, 0x39, 0xde, 0x83, 0xee, 0xdc, + 0xdf, 0xa4, 0x21, 0x57, 0x57, 0x5d, 0x4f, 0xbd, 0xa5, 0xee, 0x4b, 0x36, 0x4c, 0xe1, 0xff, 0xd7, + 0x54, 0x9b, 0x3c, 0x0f, 0xb2, 0x7d, 0xcc, 0xde, 0xcc, 0x1f, 0x5f, 0xe8, 0x8f, 0xca, 0x11, 0x0b, + 0x43, 0xd4, 0xc9, 0x6f, 0x0d, 0x96, 0xc4, 0xbb, 0xff, 0x74, 0x66, 0xe4, 0xe7, 0xff, 0xf9, 0x4c, + 0x6e, 0x6d, 0xff, 0x39, 0xdd, 0x70, 0x2d, 0x53, 0x1e, 0x46, 0x2d, 0x7d, 0x56, 0x80, 0xd3, 0x43, + 0xe4, 0xeb, 0x6c, 0x9b, 0xb3, 0x2f, 0x4f, 0x17, 0x12, 0x0e, 0xcd, 0x61, 0xd4, 0x84, 0x62, 0x68, + 0xf8, 0xa3, 0x86, 0x99, 0xb9, 0x06, 0xe5, 0xc3, 0x66, 0x22, 0x89, 0x90, 0xbe, 0x81, 0xf6, 0xd9, + 0x2f, 0x21, 0xf1, 0xbf, 0xd2, 0xb9, 0xfe, 0xef, 0x45, 0x85, 0xf9, 0xc2, 0xf9, 0xc9, 0x80, 0x75, + 0x6c, 0x30, 0xda, 0x5f, 0x4d, 0x5d, 0x16, 0x66, 0x54, 0x98, 0x8d, 0xb3, 0xf4, 0xff, 0x39, 0xc4, + 0x5c, 0x05, 0x46, 0xa9, 0x50, 0x9a, 0x86, 0x6c, 0xd3, 0xf4, 0x2e, 0x5d, 0x20, 0x54, 0x69, 0x99, + 0x36, 0x96, 0x56, 0xef, 0xde, 0xab, 0x8c, 0x7c, 0xef, 0x5e, 0x65, 0xe4, 0x1f, 0xee, 0x55, 0x46, + 0xde, 0xb8, 0x57, 0x11, 0xde, 0xba, 0x57, 0x11, 0xde, 0xb9, 0x57, 0x11, 0xde, 0xbd, 0x57, 0x11, + 0xee, 0x1c, 0x54, 0x84, 0xaf, 0x1c, 0x54, 0x84, 0xaf, 0x1d, 0x54, 0x84, 0x6f, 0x1e, 0x54, 0x84, + 0xef, 0x1c, 0x54, 0x84, 0xbb, 0x07, 0x15, 0xe1, 0x7b, 0x07, 0x15, 0xe1, 0x8d, 0x83, 0x8a, 0xf0, + 0xd6, 0x41, 0x65, 0xe4, 0x9d, 0x83, 0x8a, 0xf0, 0xee, 0x41, 0x65, 0xe4, 0xce, 0x0f, 0x2a, 0x23, + 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x73, 0x87, 0xc4, 0x56, 0x80, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1452,34 +1483,3 @@ var ( ErrInvalidLengthCastvalue = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCastvalue = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/both/castvalue.proto", fileDescriptor_castvalue_a8e85bd7357c5c72) -} - -var fileDescriptor_castvalue_a8e85bd7357c5c72 = []byte{ - // 354 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x8f, 0xbd, 0x4f, 0x2a, 0x41, - 0x14, 0xc5, 0xf7, 0xb2, 0xe1, 0x85, 0x37, 0xbc, 0x82, 0xb7, 0x5a, 0x6c, 0x20, 0xb9, 0x6c, 0x68, - 0xa4, 0xd0, 0xdd, 0x84, 0x10, 0x63, 0x2c, 0x31, 0x16, 0x26, 0x62, 0x41, 0xa1, 0xb1, 0x9c, 0x25, - 0xeb, 0x42, 0x5c, 0x18, 0xc2, 0xce, 0x6a, 0xb6, 0xa3, 0xb0, 0xf2, 0x2f, 0xb1, 0xb4, 0xb4, 0xd4, - 0x8e, 0x92, 0xd2, 0x4a, 0x99, 0xb1, 0xa1, 0xa4, 0xa4, 0x34, 0xcc, 0x8a, 0x1f, 0x09, 0x7e, 0x24, - 0x76, 0xf7, 0x9e, 0xb9, 0xe7, 0xfc, 0xce, 0x90, 0x42, 0x93, 0x75, 0x5c, 0x16, 0x3a, 0x2e, 0xe3, - 0x2d, 0xa7, 0x49, 0x43, 0x7e, 0x46, 0x83, 0xc8, 0xb3, 0x7b, 0x7d, 0xc6, 0x99, 0xf1, 0xf7, 0x55, - 0xc8, 0x6f, 0xf8, 0x6d, 0xde, 0x8a, 0x5c, 0xbb, 0xc9, 0x3a, 0x8e, 0xcf, 0x7c, 0xe6, 0xa8, 0x0b, - 0x37, 0x3a, 0x51, 0x9b, 0x5a, 0xd4, 0x94, 0x38, 0x4b, 0x77, 0x3a, 0xc9, 0xec, 0xd0, 0x90, 0xd3, - 0x73, 0x1a, 0x1b, 0x3d, 0xb2, 0x32, 0x9f, 0xeb, 0xb4, 0x77, 0x38, 0xcf, 0xaa, 0x7b, 0x61, 0x48, - 0x7d, 0xcf, 0x04, 0x4b, 0x2f, 0x67, 0x2b, 0xeb, 0xf6, 0x1b, 0x75, 0xe1, 0xb0, 0x97, 0x9c, 0xef, - 0x76, 0x79, 0x3f, 0xae, 0xe5, 0x86, 0x0f, 0x45, 0xed, 0xf2, 0xb1, 0x98, 0xa9, 0xc7, 0x47, 0xed, - 0x20, 0x64, 0xdd, 0xc6, 0xb2, 0x68, 0xe3, 0x02, 0x48, 0x61, 0x89, 0x7e, 0x10, 0x05, 0x01, 0x75, - 0x03, 0xcf, 0x4c, 0x29, 0x74, 0xf5, 0x87, 0xe8, 0x85, 0x2d, 0xa9, 0xf0, 0xef, 0x03, 0xfe, 0x2b, - 0x4c, 0xfe, 0x98, 0x98, 0x9f, 0xfd, 0xc4, 0xc8, 0x11, 0xfd, 0xd4, 0x8b, 0x4d, 0xb0, 0xa0, 0x9c, - 0x6e, 0xcc, 0x47, 0x63, 0x8d, 0xa4, 0x55, 0x17, 0x33, 0x65, 0x41, 0x39, 0x5b, 0xf9, 0xff, 0xae, - 0xdd, 0x0b, 0x2c, 0x79, 0xdf, 0x4e, 0x6d, 0x41, 0x9e, 0x12, 0xeb, 0xbb, 0xa6, 0xbf, 0x44, 0x94, - 0x90, 0xfc, 0x49, 0x44, 0x63, 0x95, 0xa4, 0xf7, 0xba, 0x7c, 0xb3, 0xaa, 0xa2, 0xf4, 0x46, 0xb2, - 0xd4, 0xf6, 0x87, 0x02, 0xb5, 0x91, 0x40, 0xed, 0x5e, 0xa0, 0x36, 0x16, 0x08, 0x13, 0x81, 0x30, - 0x15, 0x08, 0x33, 0x81, 0x30, 0x90, 0x08, 0x57, 0x12, 0xe1, 0x5a, 0x22, 0xdc, 0x48, 0x84, 0x5b, - 0x89, 0x30, 0x94, 0x08, 0x23, 0x89, 0x30, 0x96, 0x08, 0x13, 0x89, 0xda, 0x54, 0x22, 0xcc, 0x24, - 0x6a, 0x83, 0x27, 0xd4, 0x9e, 0x03, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xe0, 0x74, 0x89, 0x89, 0x02, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/castvalue/combos/marshaler/castvalue.pb.go b/vendor/github.com/gogo/protobuf/test/castvalue/combos/marshaler/castvalue.pb.go index e6012f3b4..717967547 100644 --- a/vendor/github.com/gogo/protobuf/test/castvalue/combos/marshaler/castvalue.pb.go +++ b/vendor/github.com/gogo/protobuf/test/castvalue/combos/marshaler/castvalue.pb.go @@ -3,20 +3,20 @@ package castvalue -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -40,7 +40,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_cc68bdd888d8d1a2, []int{0} + return fileDescriptor_5c90a1ace13d5df2, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Castaway.Unmarshal(m, b) @@ -57,8 +57,8 @@ func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return m.Size() @@ -79,7 +79,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_cc68bdd888d8d1a2, []int{1} + return fileDescriptor_5c90a1ace13d5df2, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Wilson.Unmarshal(m, b) @@ -96,8 +96,8 @@ func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return m.Size() @@ -114,6 +114,36 @@ func init() { proto.RegisterMapType((map[int32]*MyWilson)(nil), "castvalue.Castaway.CastMapValueMessageNullableEntry") proto.RegisterType((*Wilson)(nil), "castvalue.Wilson") } + +func init() { proto.RegisterFile("combos/marshaler/castvalue.proto", fileDescriptor_5c90a1ace13d5df2) } + +var fileDescriptor_5c90a1ace13d5df2 = []byte{ + // 358 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x8f, 0xbd, 0x4f, 0x2a, 0x41, + 0x14, 0xc5, 0xe7, 0xb2, 0xe1, 0x85, 0x37, 0xbc, 0x82, 0xb7, 0xef, 0x15, 0x1b, 0x4c, 0x2e, 0x1b, + 0x1a, 0x29, 0x74, 0x37, 0x21, 0xc4, 0x18, 0x4b, 0x8c, 0x85, 0x89, 0x58, 0x50, 0x68, 0x2c, 0x67, + 0xc9, 0xba, 0x10, 0x17, 0x86, 0xec, 0x87, 0x66, 0x3b, 0x0a, 0x2b, 0xff, 0x12, 0x4b, 0x4b, 0x4b, + 0xed, 0x28, 0x29, 0xad, 0x94, 0x19, 0x1b, 0x4a, 0x4a, 0x4a, 0xc3, 0xac, 0xf8, 0x91, 0xe0, 0x47, + 0x62, 0x77, 0xef, 0x99, 0x7b, 0xce, 0xef, 0x0c, 0x35, 0x5b, 0xbc, 0xeb, 0xf0, 0xd0, 0xee, 0xb2, + 0x20, 0x6c, 0x33, 0xdf, 0x0d, 0xec, 0x16, 0x0b, 0xa3, 0x53, 0xe6, 0xc7, 0xae, 0xd5, 0x0f, 0x78, + 0xc4, 0xf5, 0xdf, 0x2f, 0x42, 0x71, 0xdd, 0xeb, 0x44, 0xed, 0xd8, 0xb1, 0x5a, 0xbc, 0x6b, 0x7b, + 0xdc, 0xe3, 0xb6, 0xba, 0x70, 0xe2, 0x63, 0xb5, 0xa9, 0x45, 0x4d, 0xa9, 0xb3, 0x7c, 0xab, 0xd1, + 0xdc, 0x36, 0x0b, 0x23, 0x76, 0xc6, 0x12, 0xbd, 0x4f, 0xff, 0xcd, 0xe7, 0x06, 0xeb, 0x1f, 0xcc, + 0xb3, 0x1a, 0x6e, 0x18, 0x32, 0xcf, 0x35, 0xc0, 0xd4, 0x2a, 0xf9, 0xea, 0x9a, 0xf5, 0x4a, 0x5d, + 0x38, 0xac, 0x25, 0xe7, 0x3b, 0xbd, 0x28, 0x48, 0xea, 0x85, 0xe1, 0x7d, 0x89, 0x5c, 0x3c, 0x94, + 0x72, 0x8d, 0xe4, 0xb0, 0xe3, 0x87, 0xbc, 0xd7, 0x5c, 0x16, 0xad, 0x9f, 0x03, 0x5d, 0x59, 0xa2, + 0xef, 0xc7, 0xbe, 0xcf, 0x1c, 0xdf, 0x35, 0x32, 0x0a, 0x5d, 0xfb, 0x26, 0x7a, 0x61, 0x4b, 0x2b, + 0xfc, 0x79, 0x87, 0xff, 0x0c, 0x53, 0x3c, 0xa2, 0xc6, 0x47, 0x3f, 0xd1, 0x0b, 0x54, 0x3b, 0x71, + 0x13, 0x03, 0x4c, 0xa8, 0x64, 0x9b, 0xf3, 0x51, 0x5f, 0xa5, 0x59, 0xd5, 0xc5, 0xc8, 0x98, 0x50, + 0xc9, 0x57, 0xff, 0xbe, 0x69, 0xf7, 0x0c, 0x4b, 0xdf, 0xb7, 0x32, 0x9b, 0x50, 0x64, 0xd4, 0xfc, + 0xaa, 0xe9, 0x0f, 0x11, 0x65, 0xa4, 0xbf, 0x52, 0x51, 0xff, 0x4f, 0xb3, 0xbb, 0xbd, 0x68, 0xa3, + 0xa6, 0xa2, 0xb4, 0x66, 0xba, 0xd4, 0xf7, 0x86, 0x02, 0xc9, 0x48, 0x20, 0xb9, 0x13, 0x48, 0xc6, + 0x02, 0x61, 0x22, 0x10, 0xa6, 0x02, 0x61, 0x26, 0x10, 0x06, 0x12, 0xe1, 0x52, 0x22, 0x5c, 0x49, + 0x84, 0x6b, 0x89, 0x70, 0x23, 0x11, 0x86, 0x12, 0x61, 0x24, 0x91, 0x8c, 0x25, 0xc2, 0x44, 0x22, + 0x99, 0x4a, 0x84, 0x99, 0x44, 0x32, 0x78, 0x44, 0xf2, 0x14, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x22, + 0x8c, 0x46, 0x8e, 0x02, 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CastvalueDescription() } @@ -123,258 +153,260 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CastvalueDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4012 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xdc, 0xd6, - 0x75, 0x26, 0xf6, 0x87, 0xdc, 0x3d, 0xbb, 0x5c, 0x82, 0x20, 0x2d, 0xad, 0xe8, 0x78, 0x45, 0xd1, - 0x76, 0x44, 0xdb, 0x09, 0x99, 0x91, 0x25, 0x59, 0x5a, 0x35, 0x71, 0x97, 0xcb, 0x15, 0xb3, 0x2e, - 0xff, 0x82, 0x25, 0x63, 0xcb, 0x99, 0x0e, 0x06, 0xc4, 0x5e, 0x2e, 0x21, 0x61, 0x01, 0x04, 0xc0, - 0x4a, 0xa6, 0xa6, 0x0f, 0xea, 0x38, 0x6d, 0x27, 0xed, 0x34, 0xfd, 0x9d, 0x69, 0xe2, 0x3a, 0x6e, - 0x93, 0x4e, 0xe3, 0x34, 0xfd, 0x4b, 0x9a, 0x36, 0x4d, 0xd2, 0x97, 0xf4, 0x21, 0xad, 0x9f, 0x3a, - 0xc9, 0x5b, 0x1f, 0x3a, 0xad, 0xc5, 0x78, 0xa6, 0x6e, 0xeb, 0x36, 0x6e, 0xab, 0x07, 0xcf, 0xe8, - 0xa5, 0x73, 0xff, 0xb0, 0x00, 0x76, 0x49, 0x80, 0xe9, 0xd8, 0x7e, 0x22, 0x71, 0xee, 0xf9, 0x3e, - 0x9c, 0x7b, 0xee, 0xb9, 0xe7, 0x9c, 0x7b, 0xb1, 0xf0, 0xe3, 0xcb, 0x30, 0xdb, 0xb1, 0xac, 0x8e, - 0x81, 0x16, 0x6d, 0xc7, 0xf2, 0xac, 0x9d, 0xde, 0xee, 0x62, 0x1b, 0xb9, 0x9a, 0xa3, 0xdb, 0x9e, - 0xe5, 0x2c, 0x10, 0x99, 0x34, 0x41, 0x35, 0x16, 0xb8, 0xc6, 0xdc, 0x1a, 0x4c, 0x5e, 0xd5, 0x0d, - 0xb4, 0xec, 0x2b, 0xb6, 0x90, 0x27, 0x5d, 0x82, 0xcc, 0xae, 0x6e, 0xa0, 0xb2, 0x30, 0x9b, 0x9e, - 0x2f, 0x9c, 0x7b, 0x64, 0x21, 0x02, 0x5a, 0x08, 0x23, 0x36, 0xb1, 0x58, 0x26, 0x88, 0xb9, 0x37, - 0x32, 0x30, 0x35, 0x64, 0x54, 0x92, 0x20, 0x63, 0xaa, 0x5d, 0xcc, 0x28, 0xcc, 0xe7, 0x65, 0xf2, - 0xbf, 0x54, 0x86, 0x31, 0x5b, 0xd5, 0x6e, 0xa8, 0x1d, 0x54, 0x4e, 0x11, 0x31, 0x7f, 0x94, 0x2a, - 0x00, 0x6d, 0x64, 0x23, 0xb3, 0x8d, 0x4c, 0x6d, 0xbf, 0x9c, 0x9e, 0x4d, 0xcf, 0xe7, 0xe5, 0x80, - 0x44, 0x7a, 0x02, 0x26, 0xed, 0xde, 0x8e, 0xa1, 0x6b, 0x4a, 0x40, 0x0d, 0x66, 0xd3, 0xf3, 0x59, - 0x59, 0xa4, 0x03, 0xcb, 0x7d, 0xe5, 0xb3, 0x30, 0x71, 0x0b, 0xa9, 0x37, 0x82, 0xaa, 0x05, 0xa2, - 0x5a, 0xc2, 0xe2, 0x80, 0x62, 0x1d, 0x8a, 0x5d, 0xe4, 0xba, 0x6a, 0x07, 0x29, 0xde, 0xbe, 0x8d, - 0xca, 0x19, 0x32, 0xfb, 0xd9, 0x81, 0xd9, 0x47, 0x67, 0x5e, 0x60, 0xa8, 0xad, 0x7d, 0x1b, 0x49, - 0x35, 0xc8, 0x23, 0xb3, 0xd7, 0xa5, 0x0c, 0xd9, 0x43, 0xfc, 0xd7, 0x30, 0x7b, 0xdd, 0x28, 0x4b, - 0x0e, 0xc3, 0x18, 0xc5, 0x98, 0x8b, 0x9c, 0x9b, 0xba, 0x86, 0xca, 0xa3, 0x84, 0xe0, 0xec, 0x00, - 0x41, 0x8b, 0x8e, 0x47, 0x39, 0x38, 0x4e, 0xaa, 0x43, 0x1e, 0xbd, 0xe0, 0x21, 0xd3, 0xd5, 0x2d, - 0xb3, 0x3c, 0x46, 0x48, 0x1e, 0x1d, 0xb2, 0x8a, 0xc8, 0x68, 0x47, 0x29, 0xfa, 0x38, 0xe9, 0x22, - 0x8c, 0x59, 0xb6, 0xa7, 0x5b, 0xa6, 0x5b, 0xce, 0xcd, 0x0a, 0xf3, 0x85, 0x73, 0x1f, 0x18, 0x1a, - 0x08, 0x1b, 0x54, 0x47, 0xe6, 0xca, 0x52, 0x13, 0x44, 0xd7, 0xea, 0x39, 0x1a, 0x52, 0x34, 0xab, - 0x8d, 0x14, 0xdd, 0xdc, 0xb5, 0xca, 0x79, 0x42, 0x70, 0x7a, 0x70, 0x22, 0x44, 0xb1, 0x6e, 0xb5, - 0x51, 0xd3, 0xdc, 0xb5, 0xe4, 0x92, 0x1b, 0x7a, 0x96, 0x4e, 0xc0, 0xa8, 0xbb, 0x6f, 0x7a, 0xea, - 0x0b, 0xe5, 0x22, 0x89, 0x10, 0xf6, 0x34, 0xf7, 0x9d, 0x51, 0x98, 0x48, 0x12, 0x62, 0x57, 0x20, - 0xbb, 0x8b, 0x67, 0x59, 0x4e, 0x1d, 0xc7, 0x07, 0x14, 0x13, 0x76, 0xe2, 0xe8, 0x4f, 0xe8, 0xc4, - 0x1a, 0x14, 0x4c, 0xe4, 0x7a, 0xa8, 0x4d, 0x23, 0x22, 0x9d, 0x30, 0xa6, 0x80, 0x82, 0x06, 0x43, - 0x2a, 0xf3, 0x13, 0x85, 0xd4, 0x73, 0x30, 0xe1, 0x9b, 0xa4, 0x38, 0xaa, 0xd9, 0xe1, 0xb1, 0xb9, - 0x18, 0x67, 0xc9, 0x42, 0x83, 0xe3, 0x64, 0x0c, 0x93, 0x4b, 0x28, 0xf4, 0x2c, 0x2d, 0x03, 0x58, - 0x26, 0xb2, 0x76, 0x95, 0x36, 0xd2, 0x8c, 0x72, 0xee, 0x10, 0x2f, 0x6d, 0x60, 0x95, 0x01, 0x2f, - 0x59, 0x54, 0xaa, 0x19, 0xd2, 0xe5, 0x7e, 0xa8, 0x8d, 0x1d, 0x12, 0x29, 0x6b, 0x74, 0x93, 0x0d, - 0x44, 0xdb, 0x36, 0x94, 0x1c, 0x84, 0xe3, 0x1e, 0xb5, 0xd9, 0xcc, 0xf2, 0xc4, 0x88, 0x85, 0xd8, - 0x99, 0xc9, 0x0c, 0x46, 0x27, 0x36, 0xee, 0x04, 0x1f, 0xa5, 0x87, 0xc1, 0x17, 0x28, 0x24, 0xac, - 0x80, 0x64, 0xa1, 0x22, 0x17, 0xae, 0xab, 0x5d, 0x34, 0x73, 0x1b, 0x4a, 0x61, 0xf7, 0x48, 0xd3, - 0x90, 0x75, 0x3d, 0xd5, 0xf1, 0x48, 0x14, 0x66, 0x65, 0xfa, 0x20, 0x89, 0x90, 0x46, 0x66, 0x9b, - 0x64, 0xb9, 0xac, 0x8c, 0xff, 0x95, 0x7e, 0xba, 0x3f, 0xe1, 0x34, 0x99, 0xf0, 0x07, 0x07, 0x57, - 0x34, 0xc4, 0x1c, 0x9d, 0xf7, 0xcc, 0x53, 0x30, 0x1e, 0x9a, 0x40, 0xd2, 0x57, 0xcf, 0xfd, 0x1c, - 0x3c, 0x30, 0x94, 0x5a, 0x7a, 0x0e, 0xa6, 0x7b, 0xa6, 0x6e, 0x7a, 0xc8, 0xb1, 0x1d, 0x84, 0x23, - 0x96, 0xbe, 0xaa, 0xfc, 0xaf, 0x63, 0x87, 0xc4, 0xdc, 0x76, 0x50, 0x9b, 0xb2, 0xc8, 0x53, 0xbd, - 0x41, 0xe1, 0xe3, 0xf9, 0xdc, 0x9b, 0x63, 0xe2, 0x9d, 0x3b, 0x77, 0xee, 0xa4, 0xe6, 0x3e, 0x3f, - 0x0a, 0xd3, 0xc3, 0xf6, 0xcc, 0xd0, 0xed, 0x7b, 0x02, 0x46, 0xcd, 0x5e, 0x77, 0x07, 0x39, 0xc4, - 0x49, 0x59, 0x99, 0x3d, 0x49, 0x35, 0xc8, 0x1a, 0xea, 0x0e, 0x32, 0xca, 0x99, 0x59, 0x61, 0xbe, - 0x74, 0xee, 0x89, 0x44, 0xbb, 0x72, 0x61, 0x15, 0x43, 0x64, 0x8a, 0x94, 0x3e, 0x06, 0x19, 0x96, - 0xa2, 0x31, 0xc3, 0xe3, 0xc9, 0x18, 0xf0, 0x5e, 0x92, 0x09, 0x4e, 0x7a, 0x10, 0xf2, 0xf8, 0x2f, - 0x8d, 0x8d, 0x51, 0x62, 0x73, 0x0e, 0x0b, 0x70, 0x5c, 0x48, 0x33, 0x90, 0x23, 0xdb, 0xa4, 0x8d, - 0x78, 0x69, 0xf3, 0x9f, 0x71, 0x60, 0xb5, 0xd1, 0xae, 0xda, 0x33, 0x3c, 0xe5, 0xa6, 0x6a, 0xf4, - 0x10, 0x09, 0xf8, 0xbc, 0x5c, 0x64, 0xc2, 0x4f, 0x62, 0x99, 0x74, 0x1a, 0x0a, 0x74, 0x57, 0xe9, - 0x66, 0x1b, 0xbd, 0x40, 0xb2, 0x67, 0x56, 0xa6, 0x1b, 0xad, 0x89, 0x25, 0xf8, 0xf5, 0xd7, 0x5d, - 0xcb, 0xe4, 0xa1, 0x49, 0x5e, 0x81, 0x05, 0xe4, 0xf5, 0x4f, 0x45, 0x13, 0xf7, 0x43, 0xc3, 0xa7, - 0x17, 0x8d, 0xa9, 0xb9, 0x6f, 0xa5, 0x20, 0x43, 0xf2, 0xc5, 0x04, 0x14, 0xb6, 0xae, 0x6d, 0x36, - 0x94, 0xe5, 0x8d, 0xed, 0xa5, 0xd5, 0x86, 0x28, 0x48, 0x25, 0x00, 0x22, 0xb8, 0xba, 0xba, 0x51, - 0xdb, 0x12, 0x53, 0xfe, 0x73, 0x73, 0x7d, 0xeb, 0xe2, 0x79, 0x31, 0xed, 0x03, 0xb6, 0xa9, 0x20, - 0x13, 0x54, 0x78, 0xf2, 0x9c, 0x98, 0x95, 0x44, 0x28, 0x52, 0x82, 0xe6, 0x73, 0x8d, 0xe5, 0x8b, - 0xe7, 0xc5, 0xd1, 0xb0, 0xe4, 0xc9, 0x73, 0xe2, 0x98, 0x34, 0x0e, 0x79, 0x22, 0x59, 0xda, 0xd8, - 0x58, 0x15, 0x73, 0x3e, 0x67, 0x6b, 0x4b, 0x6e, 0xae, 0xaf, 0x88, 0x79, 0x9f, 0x73, 0x45, 0xde, - 0xd8, 0xde, 0x14, 0xc1, 0x67, 0x58, 0x6b, 0xb4, 0x5a, 0xb5, 0x95, 0x86, 0x58, 0xf0, 0x35, 0x96, - 0xae, 0x6d, 0x35, 0x5a, 0x62, 0x31, 0x64, 0xd6, 0x93, 0xe7, 0xc4, 0x71, 0xff, 0x15, 0x8d, 0xf5, - 0xed, 0x35, 0xb1, 0x24, 0x4d, 0xc2, 0x38, 0x7d, 0x05, 0x37, 0x62, 0x22, 0x22, 0xba, 0x78, 0x5e, - 0x14, 0xfb, 0x86, 0x50, 0x96, 0xc9, 0x90, 0xe0, 0xe2, 0x79, 0x51, 0x9a, 0xab, 0x43, 0x96, 0x44, - 0x97, 0x24, 0x41, 0x69, 0xb5, 0xb6, 0xd4, 0x58, 0x55, 0x36, 0x36, 0xb7, 0x9a, 0x1b, 0xeb, 0xb5, - 0x55, 0x51, 0xe8, 0xcb, 0xe4, 0xc6, 0x27, 0xb6, 0x9b, 0x72, 0x63, 0x59, 0x4c, 0x05, 0x65, 0x9b, - 0x8d, 0xda, 0x56, 0x63, 0x59, 0x4c, 0xcf, 0x69, 0x30, 0x3d, 0x2c, 0x4f, 0x0e, 0xdd, 0x19, 0x81, - 0x25, 0x4e, 0x1d, 0xb2, 0xc4, 0x84, 0x6b, 0x60, 0x89, 0x7f, 0x94, 0x82, 0xa9, 0x21, 0xb5, 0x62, - 0xe8, 0x4b, 0x9e, 0x86, 0x2c, 0x0d, 0x51, 0x5a, 0x3d, 0x1f, 0x1b, 0x5a, 0x74, 0x48, 0xc0, 0x0e, - 0x54, 0x50, 0x82, 0x0b, 0x76, 0x10, 0xe9, 0x43, 0x3a, 0x08, 0x4c, 0x31, 0x90, 0xd3, 0x7f, 0x76, - 0x20, 0xa7, 0xd3, 0xb2, 0x77, 0x31, 0x49, 0xd9, 0x23, 0xb2, 0xe3, 0xe5, 0xf6, 0xec, 0x90, 0xdc, - 0x7e, 0x05, 0x26, 0x07, 0x88, 0x12, 0xe7, 0xd8, 0x17, 0x05, 0x28, 0x1f, 0xe6, 0x9c, 0x98, 0x4c, - 0x97, 0x0a, 0x65, 0xba, 0x2b, 0x51, 0x0f, 0x9e, 0x39, 0x7c, 0x11, 0x06, 0xd6, 0xfa, 0x55, 0x01, - 0x4e, 0x0c, 0xef, 0x14, 0x87, 0xda, 0xf0, 0x31, 0x18, 0xed, 0x22, 0x6f, 0xcf, 0xe2, 0xdd, 0xd2, - 0x07, 0x87, 0xd4, 0x60, 0x3c, 0x1c, 0x5d, 0x6c, 0x86, 0x0a, 0x16, 0xf1, 0xf4, 0x61, 0xed, 0x1e, - 0xb5, 0x66, 0xc0, 0xd2, 0xcf, 0xa6, 0xe0, 0x81, 0xa1, 0xe4, 0x43, 0x0d, 0x7d, 0x08, 0x40, 0x37, - 0xed, 0x9e, 0x47, 0x3b, 0x22, 0x9a, 0x60, 0xf3, 0x44, 0x42, 0x92, 0x17, 0x4e, 0x9e, 0x3d, 0xcf, - 0x1f, 0x4f, 0x93, 0x71, 0xa0, 0x22, 0xa2, 0x70, 0xa9, 0x6f, 0x68, 0x86, 0x18, 0x5a, 0x39, 0x64, - 0xa6, 0x03, 0x81, 0xf9, 0x11, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, 0xae, - 0x6e, 0x76, 0x48, 0x05, 0xc9, 0x55, 0xb3, 0xbb, 0xaa, 0xe1, 0x22, 0x79, 0x82, 0x0e, 0xb7, 0xf8, - 0x28, 0x46, 0x90, 0x00, 0x72, 0x02, 0x88, 0xd1, 0x10, 0x82, 0x0e, 0xfb, 0x88, 0xb9, 0x6f, 0xe6, - 0xa0, 0x10, 0xe8, 0xab, 0xa5, 0x33, 0x50, 0xbc, 0xae, 0xde, 0x54, 0x15, 0x7e, 0x56, 0xa2, 0x9e, - 0x28, 0x60, 0xd9, 0x26, 0x3b, 0x2f, 0x7d, 0x04, 0xa6, 0x89, 0x8a, 0xd5, 0xf3, 0x90, 0xa3, 0x68, - 0x86, 0xea, 0xba, 0xc4, 0x69, 0x39, 0xa2, 0x2a, 0xe1, 0xb1, 0x0d, 0x3c, 0x54, 0xe7, 0x23, 0xd2, - 0x05, 0x98, 0x22, 0x88, 0x6e, 0xcf, 0xf0, 0x74, 0xdb, 0x40, 0x0a, 0x3e, 0xbd, 0xb9, 0xa4, 0x92, - 0xf8, 0x96, 0x4d, 0x62, 0x8d, 0x35, 0xa6, 0x80, 0x2d, 0x72, 0xa5, 0x65, 0x78, 0x88, 0xc0, 0x3a, - 0xc8, 0x44, 0x8e, 0xea, 0x21, 0x05, 0x7d, 0xba, 0xa7, 0x1a, 0xae, 0xa2, 0x9a, 0x6d, 0x65, 0x4f, - 0x75, 0xf7, 0xca, 0xd3, 0x98, 0x60, 0x29, 0x55, 0x16, 0xe4, 0x53, 0x58, 0x71, 0x85, 0xe9, 0x35, - 0x88, 0x5a, 0xcd, 0x6c, 0x7f, 0x5c, 0x75, 0xf7, 0xa4, 0x2a, 0x9c, 0x20, 0x2c, 0xae, 0xe7, 0xe8, - 0x66, 0x47, 0xd1, 0xf6, 0x90, 0x76, 0x43, 0xe9, 0x79, 0xbb, 0x97, 0xca, 0x0f, 0x06, 0xdf, 0x4f, - 0x2c, 0x6c, 0x11, 0x9d, 0x3a, 0x56, 0xd9, 0xf6, 0x76, 0x2f, 0x49, 0x2d, 0x28, 0xe2, 0xc5, 0xe8, - 0xea, 0xb7, 0x91, 0xb2, 0x6b, 0x39, 0xa4, 0x34, 0x96, 0x86, 0xa4, 0xa6, 0x80, 0x07, 0x17, 0x36, - 0x18, 0x60, 0xcd, 0x6a, 0xa3, 0x6a, 0xb6, 0xb5, 0xd9, 0x68, 0x2c, 0xcb, 0x05, 0xce, 0x72, 0xd5, - 0x72, 0x70, 0x40, 0x75, 0x2c, 0xdf, 0xc1, 0x05, 0x1a, 0x50, 0x1d, 0x8b, 0xbb, 0xf7, 0x02, 0x4c, - 0x69, 0x1a, 0x9d, 0xb3, 0xae, 0x29, 0xec, 0x8c, 0xe5, 0x96, 0xc5, 0x90, 0xb3, 0x34, 0x6d, 0x85, - 0x2a, 0xb0, 0x18, 0x77, 0xa5, 0xcb, 0xf0, 0x40, 0xdf, 0x59, 0x41, 0xe0, 0xe4, 0xc0, 0x2c, 0xa3, - 0xd0, 0x0b, 0x30, 0x65, 0xef, 0x0f, 0x02, 0xa5, 0xd0, 0x1b, 0xed, 0xfd, 0x28, 0xec, 0x29, 0x98, - 0xb6, 0xf7, 0xec, 0x41, 0xdc, 0xe3, 0x41, 0x9c, 0x64, 0xef, 0xd9, 0x51, 0xe0, 0xa3, 0xe4, 0xc0, - 0xed, 0x20, 0x4d, 0xf5, 0x50, 0xbb, 0x7c, 0x32, 0xa8, 0x1e, 0x18, 0x90, 0x16, 0x41, 0xd4, 0x34, - 0x05, 0x99, 0xea, 0x8e, 0x81, 0x14, 0xd5, 0x41, 0xa6, 0xea, 0x96, 0x4f, 0x07, 0x95, 0x4b, 0x9a, - 0xd6, 0x20, 0xa3, 0x35, 0x32, 0x28, 0x3d, 0x0e, 0x93, 0xd6, 0xce, 0x75, 0x8d, 0x86, 0xa4, 0x62, - 0x3b, 0x68, 0x57, 0x7f, 0xa1, 0xfc, 0x08, 0xf1, 0xef, 0x04, 0x1e, 0x20, 0x01, 0xb9, 0x49, 0xc4, - 0xd2, 0x63, 0x20, 0x6a, 0xee, 0x9e, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0xa1, 0xf2, 0xa3, - 0x54, 0x95, 0xca, 0xd7, 0xb9, 0x18, 0x6f, 0x09, 0xf7, 0x96, 0xbe, 0xeb, 0x71, 0xc6, 0xb3, 0x74, - 0x4b, 0x10, 0x19, 0x63, 0x9b, 0x07, 0x11, 0xbb, 0x22, 0xf4, 0xe2, 0x79, 0xa2, 0x56, 0xb2, 0xf7, - 0xec, 0xe0, 0x7b, 0x1f, 0x86, 0x71, 0xac, 0xd9, 0x7f, 0xe9, 0x63, 0xb4, 0x21, 0xb3, 0xf7, 0x02, - 0x6f, 0x7c, 0xd7, 0x7a, 0xe3, 0xb9, 0x2a, 0x14, 0x83, 0xf1, 0x29, 0xe5, 0x81, 0x46, 0xa8, 0x28, - 0xe0, 0x66, 0xa5, 0xbe, 0xb1, 0x8c, 0xdb, 0x8c, 0xe7, 0x1b, 0x62, 0x0a, 0xb7, 0x3b, 0xab, 0xcd, - 0xad, 0x86, 0x22, 0x6f, 0xaf, 0x6f, 0x35, 0xd7, 0x1a, 0x62, 0x3a, 0xd8, 0x57, 0x7f, 0x3f, 0x05, - 0xa5, 0xf0, 0x11, 0x49, 0xfa, 0x29, 0x38, 0xc9, 0xef, 0x33, 0x5c, 0xe4, 0x29, 0xb7, 0x74, 0x87, - 0x6c, 0x99, 0xae, 0x4a, 0xcb, 0x97, 0xbf, 0x68, 0xd3, 0x4c, 0xab, 0x85, 0xbc, 0x67, 0x75, 0x07, - 0x6f, 0x88, 0xae, 0xea, 0x49, 0xab, 0x70, 0xda, 0xb4, 0x14, 0xd7, 0x53, 0xcd, 0xb6, 0xea, 0xb4, - 0x95, 0xfe, 0x4d, 0x92, 0xa2, 0x6a, 0x1a, 0x72, 0x5d, 0x8b, 0x96, 0x2a, 0x9f, 0xe5, 0x03, 0xa6, - 0xd5, 0x62, 0xca, 0xfd, 0x1c, 0x5e, 0x63, 0xaa, 0x91, 0x00, 0x4b, 0x1f, 0x16, 0x60, 0x0f, 0x42, - 0xbe, 0xab, 0xda, 0x0a, 0x32, 0x3d, 0x67, 0x9f, 0x34, 0xc6, 0x39, 0x39, 0xd7, 0x55, 0xed, 0x06, - 0x7e, 0x7e, 0x6f, 0xce, 0x27, 0xff, 0x94, 0x86, 0x62, 0xb0, 0x39, 0xc6, 0x67, 0x0d, 0x8d, 0xd4, - 0x11, 0x81, 0x64, 0x9a, 0x87, 0x8f, 0x6c, 0xa5, 0x17, 0xea, 0xb8, 0xc0, 0x54, 0x47, 0x69, 0xcb, - 0x2a, 0x53, 0x24, 0x2e, 0xee, 0x38, 0xb7, 0x20, 0xda, 0x22, 0xe4, 0x64, 0xf6, 0x24, 0xad, 0xc0, - 0xe8, 0x75, 0x97, 0x70, 0x8f, 0x12, 0xee, 0x47, 0x8e, 0xe6, 0x7e, 0xa6, 0x45, 0xc8, 0xf3, 0xcf, - 0xb4, 0x94, 0xf5, 0x0d, 0x79, 0xad, 0xb6, 0x2a, 0x33, 0xb8, 0x74, 0x0a, 0x32, 0x86, 0x7a, 0x7b, - 0x3f, 0x5c, 0x8a, 0x88, 0x28, 0xa9, 0xe3, 0x4f, 0x41, 0xe6, 0x16, 0x52, 0x6f, 0x84, 0x0b, 0x00, - 0x11, 0xbd, 0x8b, 0xa1, 0xbf, 0x08, 0x59, 0xe2, 0x2f, 0x09, 0x80, 0x79, 0x4c, 0x1c, 0x91, 0x72, - 0x90, 0xa9, 0x6f, 0xc8, 0x38, 0xfc, 0x45, 0x28, 0x52, 0xa9, 0xb2, 0xd9, 0x6c, 0xd4, 0x1b, 0x62, - 0x6a, 0xee, 0x02, 0x8c, 0x52, 0x27, 0xe0, 0xad, 0xe1, 0xbb, 0x41, 0x1c, 0x61, 0x8f, 0x8c, 0x43, - 0xe0, 0xa3, 0xdb, 0x6b, 0x4b, 0x0d, 0x59, 0x4c, 0x05, 0x97, 0xd7, 0x85, 0x62, 0xb0, 0x2f, 0x7e, - 0x6f, 0x62, 0xea, 0xbb, 0x02, 0x14, 0x02, 0x7d, 0x2e, 0x6e, 0x50, 0x54, 0xc3, 0xb0, 0x6e, 0x29, - 0xaa, 0xa1, 0xab, 0x2e, 0x0b, 0x0a, 0x20, 0xa2, 0x1a, 0x96, 0x24, 0x5d, 0xb4, 0xf7, 0xc4, 0xf8, - 0x57, 0x04, 0x10, 0xa3, 0x2d, 0x66, 0xc4, 0x40, 0xe1, 0x7d, 0x35, 0xf0, 0x65, 0x01, 0x4a, 0xe1, - 0xbe, 0x32, 0x62, 0xde, 0x99, 0xf7, 0xd5, 0xbc, 0xd7, 0x53, 0x30, 0x1e, 0xea, 0x26, 0x93, 0x5a, - 0xf7, 0x69, 0x98, 0xd4, 0xdb, 0xa8, 0x6b, 0x5b, 0x1e, 0x32, 0xb5, 0x7d, 0xc5, 0x40, 0x37, 0x91, - 0x51, 0x9e, 0x23, 0x89, 0x62, 0xf1, 0xe8, 0x7e, 0x75, 0xa1, 0xd9, 0xc7, 0xad, 0x62, 0x58, 0x75, - 0xaa, 0xb9, 0xdc, 0x58, 0xdb, 0xdc, 0xd8, 0x6a, 0xac, 0xd7, 0xaf, 0x29, 0xdb, 0xeb, 0x3f, 0xb3, - 0xbe, 0xf1, 0xec, 0xba, 0x2c, 0xea, 0x11, 0xb5, 0x77, 0x71, 0xab, 0x6f, 0x82, 0x18, 0x35, 0x4a, - 0x3a, 0x09, 0xc3, 0xcc, 0x12, 0x47, 0xa4, 0x29, 0x98, 0x58, 0xdf, 0x50, 0x5a, 0xcd, 0xe5, 0x86, - 0xd2, 0xb8, 0x7a, 0xb5, 0x51, 0xdf, 0x6a, 0xd1, 0x1b, 0x08, 0x5f, 0x7b, 0x2b, 0xbc, 0xa9, 0x5f, - 0x4a, 0xc3, 0xd4, 0x10, 0x4b, 0xa4, 0x1a, 0x3b, 0x3b, 0xd0, 0xe3, 0xcc, 0x87, 0x93, 0x58, 0xbf, - 0x80, 0x4b, 0xfe, 0xa6, 0xea, 0x78, 0xec, 0xa8, 0xf1, 0x18, 0x60, 0x2f, 0x99, 0x9e, 0xbe, 0xab, - 0x23, 0x87, 0x5d, 0xd8, 0xd0, 0x03, 0xc5, 0x44, 0x5f, 0x4e, 0xef, 0x6c, 0x3e, 0x04, 0x92, 0x6d, - 0xb9, 0xba, 0xa7, 0xdf, 0x44, 0x8a, 0x6e, 0xf2, 0xdb, 0x1d, 0x7c, 0xc0, 0xc8, 0xc8, 0x22, 0x1f, - 0x69, 0x9a, 0x9e, 0xaf, 0x6d, 0xa2, 0x8e, 0x1a, 0xd1, 0xc6, 0x09, 0x3c, 0x2d, 0x8b, 0x7c, 0xc4, - 0xd7, 0x3e, 0x03, 0xc5, 0xb6, 0xd5, 0xc3, 0x5d, 0x17, 0xd5, 0xc3, 0xf5, 0x42, 0x90, 0x0b, 0x54, - 0xe6, 0xab, 0xb0, 0x7e, 0xba, 0x7f, 0xad, 0x54, 0x94, 0x0b, 0x54, 0x46, 0x55, 0xce, 0xc2, 0x84, - 0xda, 0xe9, 0x38, 0x98, 0x9c, 0x13, 0xd1, 0x13, 0x42, 0xc9, 0x17, 0x13, 0xc5, 0x99, 0x67, 0x20, - 0xc7, 0xfd, 0x80, 0x4b, 0x32, 0xf6, 0x84, 0x62, 0xd3, 0x63, 0x6f, 0x6a, 0x3e, 0x2f, 0xe7, 0x4c, - 0x3e, 0x78, 0x06, 0x8a, 0xba, 0xab, 0xf4, 0x6f, 0xc9, 0x53, 0xb3, 0xa9, 0xf9, 0x9c, 0x5c, 0xd0, - 0x5d, 0xff, 0x86, 0x71, 0xee, 0xd5, 0x14, 0x94, 0xc2, 0xb7, 0xfc, 0xd2, 0x32, 0xe4, 0x0c, 0x4b, - 0x53, 0x49, 0x68, 0xd1, 0x4f, 0x4c, 0xf3, 0x31, 0x1f, 0x06, 0x16, 0x56, 0x99, 0xbe, 0xec, 0x23, - 0x67, 0xfe, 0x41, 0x80, 0x1c, 0x17, 0x4b, 0x27, 0x20, 0x63, 0xab, 0xde, 0x1e, 0xa1, 0xcb, 0x2e, - 0xa5, 0x44, 0x41, 0x26, 0xcf, 0x58, 0xee, 0xda, 0xaa, 0x49, 0x42, 0x80, 0xc9, 0xf1, 0x33, 0x5e, - 0x57, 0x03, 0xa9, 0x6d, 0x72, 0xfc, 0xb0, 0xba, 0x5d, 0x64, 0x7a, 0x2e, 0x5f, 0x57, 0x26, 0xaf, - 0x33, 0xb1, 0xf4, 0x04, 0x4c, 0x7a, 0x8e, 0xaa, 0x1b, 0x21, 0xdd, 0x0c, 0xd1, 0x15, 0xf9, 0x80, - 0xaf, 0x5c, 0x85, 0x53, 0x9c, 0xb7, 0x8d, 0x3c, 0x55, 0xdb, 0x43, 0xed, 0x3e, 0x68, 0x94, 0x5c, - 0x33, 0x9c, 0x64, 0x0a, 0xcb, 0x6c, 0x9c, 0x63, 0xe7, 0x7e, 0x28, 0xc0, 0x24, 0x3f, 0x30, 0xb5, - 0x7d, 0x67, 0xad, 0x01, 0xa8, 0xa6, 0x69, 0x79, 0x41, 0x77, 0x0d, 0x86, 0xf2, 0x00, 0x6e, 0xa1, - 0xe6, 0x83, 0xe4, 0x00, 0xc1, 0x4c, 0x17, 0xa0, 0x3f, 0x72, 0xa8, 0xdb, 0x4e, 0x43, 0x81, 0x7d, - 0xc2, 0x21, 0xdf, 0x01, 0xe9, 0x11, 0x1b, 0xa8, 0x08, 0x9f, 0xac, 0xa4, 0x69, 0xc8, 0xee, 0xa0, - 0x8e, 0x6e, 0xb2, 0x8b, 0x59, 0xfa, 0xc0, 0x2f, 0x42, 0x32, 0xfe, 0x45, 0xc8, 0xd2, 0xa7, 0x60, - 0x4a, 0xb3, 0xba, 0x51, 0x73, 0x97, 0xc4, 0xc8, 0x31, 0xdf, 0xfd, 0xb8, 0xf0, 0x3c, 0xf4, 0x5b, - 0xcc, 0x77, 0x04, 0xe1, 0xcb, 0xa9, 0xf4, 0xca, 0xe6, 0xd2, 0xd7, 0x52, 0x33, 0x2b, 0x14, 0xba, - 0xc9, 0x67, 0x2a, 0xa3, 0x5d, 0x03, 0x69, 0xd8, 0x7a, 0xf8, 0xca, 0x13, 0xf0, 0xe1, 0x8e, 0xee, - 0xed, 0xf5, 0x76, 0x16, 0x34, 0xab, 0xbb, 0xd8, 0xb1, 0x3a, 0x56, 0xff, 0xd3, 0x27, 0x7e, 0x22, - 0x0f, 0xe4, 0x3f, 0xf6, 0xf9, 0x33, 0xef, 0x4b, 0x67, 0x62, 0xbf, 0x95, 0x56, 0xd7, 0x61, 0x8a, - 0x29, 0x2b, 0xe4, 0xfb, 0x0b, 0x3d, 0x45, 0x48, 0x47, 0xde, 0x61, 0x95, 0xbf, 0xf1, 0x06, 0x29, - 0xd7, 0xf2, 0x24, 0x83, 0xe2, 0x31, 0x7a, 0xd0, 0xa8, 0xca, 0xf0, 0x40, 0x88, 0x8f, 0x6e, 0x4d, - 0xe4, 0xc4, 0x30, 0x7e, 0x9f, 0x31, 0x4e, 0x05, 0x18, 0x5b, 0x0c, 0x5a, 0xad, 0xc3, 0xf8, 0x71, - 0xb8, 0xfe, 0x8e, 0x71, 0x15, 0x51, 0x90, 0x64, 0x05, 0x26, 0x08, 0x89, 0xd6, 0x73, 0x3d, 0xab, - 0x4b, 0xf2, 0xde, 0xd1, 0x34, 0x7f, 0xff, 0x06, 0xdd, 0x2b, 0x25, 0x0c, 0xab, 0xfb, 0xa8, 0x6a, - 0x15, 0xc8, 0x27, 0xa7, 0x36, 0xd2, 0x8c, 0x18, 0x86, 0xd7, 0x98, 0x21, 0xbe, 0x7e, 0xf5, 0x93, - 0x30, 0x8d, 0xff, 0x27, 0x69, 0x29, 0x68, 0x49, 0xfc, 0x85, 0x57, 0xf9, 0x87, 0x2f, 0xd2, 0xed, - 0x38, 0xe5, 0x13, 0x04, 0x6c, 0x0a, 0xac, 0x62, 0x07, 0x79, 0x1e, 0x72, 0x5c, 0x45, 0x35, 0x86, - 0x99, 0x17, 0xb8, 0x31, 0x28, 0x7f, 0xe1, 0xad, 0xf0, 0x2a, 0xae, 0x50, 0x64, 0xcd, 0x30, 0xaa, - 0xdb, 0x70, 0x72, 0x48, 0x54, 0x24, 0xe0, 0x7c, 0x89, 0x71, 0x4e, 0x0f, 0x44, 0x06, 0xa6, 0xdd, - 0x04, 0x2e, 0xf7, 0xd7, 0x32, 0x01, 0xe7, 0xef, 0x32, 0x4e, 0x89, 0x61, 0xf9, 0x92, 0x62, 0xc6, - 0x67, 0x60, 0xf2, 0x26, 0x72, 0x76, 0x2c, 0x97, 0xdd, 0xd2, 0x24, 0xa0, 0x7b, 0x99, 0xd1, 0x4d, - 0x30, 0x20, 0xb9, 0xb6, 0xc1, 0x5c, 0x97, 0x21, 0xb7, 0xab, 0x6a, 0x28, 0x01, 0xc5, 0x17, 0x19, - 0xc5, 0x18, 0xd6, 0xc7, 0xd0, 0x1a, 0x14, 0x3b, 0x16, 0xab, 0x4c, 0xf1, 0xf0, 0x57, 0x18, 0xbc, - 0xc0, 0x31, 0x8c, 0xc2, 0xb6, 0xec, 0x9e, 0x81, 0xcb, 0x56, 0x3c, 0xc5, 0xef, 0x71, 0x0a, 0x8e, - 0x61, 0x14, 0xc7, 0x70, 0xeb, 0xef, 0x73, 0x0a, 0x37, 0xe0, 0xcf, 0xa7, 0xa1, 0x60, 0x99, 0xc6, - 0xbe, 0x65, 0x26, 0x31, 0xe2, 0x4b, 0x8c, 0x01, 0x18, 0x04, 0x13, 0x5c, 0x81, 0x7c, 0xd2, 0x85, - 0xf8, 0xc3, 0xb7, 0xf8, 0xf6, 0xe0, 0x2b, 0xb0, 0x02, 0x13, 0x3c, 0x41, 0xe9, 0x96, 0x99, 0x80, - 0xe2, 0x2b, 0x8c, 0xa2, 0x14, 0x80, 0xb1, 0x69, 0x78, 0xc8, 0xf5, 0x3a, 0x28, 0x09, 0xc9, 0xab, - 0x7c, 0x1a, 0x0c, 0xc2, 0x5c, 0xb9, 0x83, 0x4c, 0x6d, 0x2f, 0x19, 0xc3, 0x57, 0xb9, 0x2b, 0x39, - 0x06, 0x53, 0xd4, 0x61, 0xbc, 0xab, 0x3a, 0xee, 0x9e, 0x6a, 0x24, 0x5a, 0x8e, 0x3f, 0x62, 0x1c, - 0x45, 0x1f, 0xc4, 0x3c, 0xd2, 0x33, 0x8f, 0x43, 0xf3, 0x35, 0xee, 0x91, 0x00, 0x8c, 0x6d, 0x3d, - 0xd7, 0x23, 0x57, 0x5a, 0xc7, 0x61, 0xfb, 0x63, 0xbe, 0xf5, 0x28, 0x76, 0x2d, 0xc8, 0x78, 0x05, - 0xf2, 0xae, 0x7e, 0x3b, 0x11, 0xcd, 0x9f, 0xf0, 0x95, 0x26, 0x00, 0x0c, 0xbe, 0x06, 0xa7, 0x86, - 0x96, 0x89, 0x04, 0x64, 0x7f, 0xca, 0xc8, 0x4e, 0x0c, 0x29, 0x15, 0x2c, 0x25, 0x1c, 0x97, 0xf2, - 0xcf, 0x78, 0x4a, 0x40, 0x11, 0xae, 0x4d, 0x7c, 0x56, 0x70, 0xd5, 0xdd, 0xe3, 0x79, 0xed, 0xcf, - 0xb9, 0xd7, 0x28, 0x36, 0xe4, 0xb5, 0x2d, 0x38, 0xc1, 0x18, 0x8f, 0xb7, 0xae, 0x5f, 0xe7, 0x89, - 0x95, 0xa2, 0xb7, 0xc3, 0xab, 0xfb, 0x29, 0x98, 0xf1, 0xdd, 0xc9, 0x9b, 0x52, 0x57, 0xe9, 0xaa, - 0x76, 0x02, 0xe6, 0x6f, 0x30, 0x66, 0x9e, 0xf1, 0xfd, 0xae, 0xd6, 0x5d, 0x53, 0x6d, 0x4c, 0xfe, - 0x1c, 0x94, 0x39, 0x79, 0xcf, 0x74, 0x90, 0x66, 0x75, 0x4c, 0xfd, 0x36, 0x6a, 0x27, 0xa0, 0xfe, - 0x8b, 0xc8, 0x52, 0x6d, 0x07, 0xe0, 0x98, 0xb9, 0x09, 0xa2, 0xdf, 0xab, 0x28, 0x7a, 0xd7, 0xb6, - 0x1c, 0x2f, 0x86, 0xf1, 0x9b, 0x7c, 0xa5, 0x7c, 0x5c, 0x93, 0xc0, 0xaa, 0x0d, 0x28, 0x91, 0xc7, - 0xa4, 0x21, 0xf9, 0x97, 0x8c, 0x68, 0xbc, 0x8f, 0x62, 0x89, 0x43, 0xb3, 0xba, 0xb6, 0xea, 0x24, - 0xc9, 0x7f, 0x7f, 0xc5, 0x13, 0x07, 0x83, 0xb0, 0xc4, 0xe1, 0xed, 0xdb, 0x08, 0x57, 0xfb, 0x04, - 0x0c, 0xdf, 0xe2, 0x89, 0x83, 0x63, 0x18, 0x05, 0x6f, 0x18, 0x12, 0x50, 0xfc, 0x35, 0xa7, 0xe0, - 0x18, 0x4c, 0xf1, 0x89, 0x7e, 0xa1, 0x75, 0x50, 0x47, 0x77, 0x3d, 0x87, 0xb6, 0xc2, 0x47, 0x53, - 0x7d, 0xfb, 0xad, 0x70, 0x13, 0x26, 0x07, 0xa0, 0x38, 0x13, 0xb1, 0x2b, 0x54, 0x72, 0x52, 0x8a, - 0x37, 0xec, 0x3b, 0x3c, 0x13, 0x05, 0x60, 0xd8, 0xb6, 0x40, 0x87, 0x88, 0xdd, 0xae, 0xe1, 0xf3, - 0x41, 0x02, 0xba, 0xef, 0x46, 0x8c, 0x6b, 0x71, 0x2c, 0xe6, 0x0c, 0xf4, 0x3f, 0x3d, 0xf3, 0x06, - 0xda, 0x4f, 0x14, 0x9d, 0x7f, 0x13, 0xe9, 0x7f, 0xb6, 0x29, 0x92, 0xe6, 0x90, 0x89, 0x48, 0x3f, - 0x25, 0xc5, 0xfd, 0x58, 0xa7, 0xfc, 0xf3, 0xf7, 0xd8, 0x7c, 0xc3, 0xed, 0x54, 0x75, 0x15, 0x07, - 0x79, 0xb8, 0xe9, 0x89, 0x27, 0x7b, 0xf1, 0x9e, 0x1f, 0xe7, 0xa1, 0x9e, 0xa7, 0x7a, 0x15, 0xc6, - 0x43, 0x0d, 0x4f, 0x3c, 0xd5, 0x67, 0x18, 0x55, 0x31, 0xd8, 0xef, 0x54, 0x2f, 0x40, 0x06, 0x37, - 0x2f, 0xf1, 0xf0, 0x5f, 0x60, 0x70, 0xa2, 0x5e, 0xfd, 0x28, 0xe4, 0x78, 0xd3, 0x12, 0x0f, 0xfd, - 0x45, 0x06, 0xf5, 0x21, 0x18, 0xce, 0x1b, 0x96, 0x78, 0xf8, 0x2f, 0x71, 0x38, 0x87, 0x60, 0x78, - 0x72, 0x17, 0x7e, 0xef, 0x57, 0x32, 0xac, 0xe8, 0x70, 0xdf, 0x5d, 0x81, 0x31, 0xd6, 0xa9, 0xc4, - 0xa3, 0x3f, 0xcb, 0x5e, 0xce, 0x11, 0xd5, 0xa7, 0x20, 0x9b, 0xd0, 0xe1, 0xbf, 0xca, 0xa0, 0x54, - 0xbf, 0x5a, 0x87, 0x42, 0xa0, 0x3b, 0x89, 0x87, 0x7f, 0x8e, 0xc1, 0x83, 0x28, 0x6c, 0x3a, 0xeb, - 0x4e, 0xe2, 0x09, 0x7e, 0x8d, 0x9b, 0xce, 0x10, 0xd8, 0x6d, 0xbc, 0x31, 0x89, 0x47, 0xff, 0x3a, - 0xf7, 0x3a, 0x87, 0x54, 0x9f, 0x86, 0xbc, 0x5f, 0x6c, 0xe2, 0xf1, 0xbf, 0xc1, 0xf0, 0x7d, 0x0c, - 0xf6, 0x40, 0xa0, 0xd8, 0xc5, 0x53, 0xfc, 0x26, 0xf7, 0x40, 0x00, 0x85, 0xb7, 0x51, 0xb4, 0x81, - 0x89, 0x67, 0xfa, 0x2d, 0xbe, 0x8d, 0x22, 0xfd, 0x0b, 0x5e, 0x4d, 0x92, 0xf3, 0xe3, 0x29, 0x7e, - 0x9b, 0xaf, 0x26, 0xd1, 0xc7, 0x66, 0x44, 0x3b, 0x82, 0x78, 0x8e, 0xdf, 0xe1, 0x66, 0x44, 0x1a, - 0x82, 0xea, 0x26, 0x48, 0x83, 0xdd, 0x40, 0x3c, 0xdf, 0xe7, 0x19, 0xdf, 0xe4, 0x40, 0x33, 0x50, - 0x7d, 0x16, 0x4e, 0x0c, 0xef, 0x04, 0xe2, 0x59, 0xbf, 0x70, 0x2f, 0x72, 0x76, 0x0b, 0x36, 0x02, - 0xd5, 0xad, 0x7e, 0x49, 0x09, 0x76, 0x01, 0xf1, 0xb4, 0x2f, 0xdd, 0x0b, 0x27, 0xee, 0x60, 0x13, - 0x50, 0xad, 0x01, 0xf4, 0x0b, 0x70, 0x3c, 0xd7, 0xcb, 0x8c, 0x2b, 0x00, 0xc2, 0x5b, 0x83, 0xd5, - 0xdf, 0x78, 0xfc, 0x17, 0xf9, 0xd6, 0x60, 0x08, 0xbc, 0x35, 0x78, 0xe9, 0x8d, 0x47, 0xbf, 0xc2, - 0xb7, 0x06, 0x87, 0xe0, 0xc8, 0x0e, 0x54, 0xb7, 0x78, 0x86, 0x2f, 0xf1, 0xc8, 0x0e, 0xa0, 0xaa, - 0xeb, 0x30, 0x39, 0x50, 0x10, 0xe3, 0xa9, 0xbe, 0xcc, 0xa8, 0xc4, 0x68, 0x3d, 0x0c, 0x16, 0x2f, - 0x56, 0x0c, 0xe3, 0xd9, 0xfe, 0x20, 0x52, 0xbc, 0x58, 0x2d, 0xac, 0x5e, 0x81, 0x9c, 0xd9, 0x33, - 0x0c, 0xbc, 0x79, 0xa4, 0xa3, 0x7f, 0x60, 0x57, 0xfe, 0xb7, 0xfb, 0xcc, 0x3b, 0x1c, 0x50, 0xbd, - 0x00, 0x59, 0xd4, 0xdd, 0x41, 0xed, 0x38, 0xe4, 0xbf, 0xdf, 0xe7, 0x09, 0x13, 0x6b, 0x57, 0x9f, - 0x06, 0xa0, 0x57, 0x23, 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0x3f, 0xee, 0xb3, 0x9f, 0xbe, 0xf4, 0x21, - 0x7d, 0x02, 0xfa, 0x43, 0x9a, 0xa3, 0x09, 0xde, 0x0a, 0x13, 0x90, 0x15, 0xb9, 0x0c, 0x63, 0xd7, - 0x5d, 0xcb, 0xf4, 0xd4, 0x4e, 0x1c, 0xfa, 0x3f, 0x19, 0x9a, 0xeb, 0x63, 0x87, 0x75, 0x2d, 0x07, - 0x79, 0x6a, 0xc7, 0x8d, 0xc3, 0xfe, 0x17, 0xc3, 0xfa, 0x00, 0x0c, 0xd6, 0x54, 0xd7, 0x4b, 0x32, - 0xef, 0x1f, 0x73, 0x30, 0x07, 0x60, 0xa3, 0xf1, 0xff, 0x37, 0xd0, 0x7e, 0x1c, 0xf6, 0x6d, 0x6e, - 0x34, 0xd3, 0xaf, 0x7e, 0x14, 0xf2, 0xf8, 0x5f, 0xfa, 0x7b, 0xb6, 0x18, 0xf0, 0x7f, 0x33, 0x70, - 0x1f, 0x81, 0xdf, 0xec, 0x7a, 0x6d, 0x4f, 0x8f, 0x77, 0xf6, 0xff, 0xb0, 0x95, 0xe6, 0xfa, 0xd5, - 0x1a, 0x14, 0x5c, 0xaf, 0xdd, 0xee, 0xb1, 0xfe, 0x34, 0x06, 0xfe, 0xbf, 0xf7, 0xfd, 0x2b, 0x0b, - 0x1f, 0x83, 0x57, 0xfb, 0xd6, 0x0d, 0xcf, 0xb6, 0xc8, 0x67, 0x8e, 0x38, 0x86, 0x7b, 0x8c, 0x21, - 0x00, 0x59, 0x6a, 0x0c, 0xbf, 0xbe, 0x85, 0x15, 0x6b, 0xc5, 0xa2, 0x17, 0xb7, 0xcf, 0xcf, 0xc5, - 0xdf, 0xc0, 0xc2, 0xe7, 0xb2, 0x30, 0xab, 0x59, 0xdd, 0x1d, 0xcb, 0x5d, 0xf4, 0xd3, 0xf1, 0xa2, - 0xef, 0x24, 0x7e, 0x37, 0xeb, 0x0b, 0x66, 0x8e, 0x77, 0xab, 0x3b, 0xf7, 0xb7, 0x69, 0xc8, 0xd5, - 0x55, 0xd7, 0x53, 0x6f, 0xa9, 0xfb, 0x92, 0x0d, 0x53, 0xf8, 0xff, 0x35, 0xd5, 0x26, 0x77, 0x84, - 0x6c, 0x33, 0xb3, 0x8b, 0xf3, 0x0f, 0x2d, 0xf4, 0xdf, 0xca, 0x11, 0x0b, 0x43, 0xd4, 0xc9, 0x0f, - 0x0e, 0x96, 0xc4, 0xd7, 0xfe, 0xf9, 0xf4, 0xc8, 0x2f, 0xff, 0xcb, 0xe9, 0xdc, 0xda, 0xfe, 0xb3, - 0xba, 0xe1, 0x5a, 0xa6, 0x3c, 0x8c, 0x5a, 0xfa, 0x8c, 0x00, 0x0f, 0x0e, 0x91, 0xaf, 0xb3, 0xbd, - 0xce, 0x3e, 0x3f, 0x9d, 0x4f, 0xf8, 0x6a, 0x0e, 0xa3, 0x26, 0x14, 0x43, 0xaf, 0x3f, 0xea, 0x35, - 0x33, 0xd7, 0xa0, 0x7c, 0xd8, 0x4c, 0x24, 0x11, 0xd2, 0x37, 0xd0, 0x3e, 0xfb, 0xd5, 0x22, 0xfe, - 0x57, 0x3a, 0xdb, 0xff, 0x6d, 0xa7, 0x30, 0x5f, 0x38, 0x37, 0x19, 0xb0, 0x8e, 0xbd, 0x8c, 0x8e, - 0x57, 0x53, 0x97, 0x84, 0x19, 0x15, 0x66, 0xe3, 0x2c, 0xfd, 0x7f, 0xbe, 0x62, 0xae, 0x02, 0xa3, - 0x54, 0x28, 0x4d, 0x43, 0xb6, 0x69, 0x7a, 0x17, 0xcf, 0x13, 0xaa, 0xb4, 0x4c, 0x1f, 0x96, 0x56, - 0x5f, 0xbb, 0x5b, 0x19, 0xf9, 0xc1, 0xdd, 0xca, 0xc8, 0x3f, 0xde, 0xad, 0x8c, 0xbc, 0x7e, 0xb7, - 0x22, 0xbc, 0x79, 0xb7, 0x22, 0xbc, 0x7d, 0xb7, 0x22, 0xbc, 0x73, 0xb7, 0x22, 0xdc, 0x39, 0xa8, - 0x08, 0x5f, 0x3d, 0xa8, 0x08, 0x5f, 0x3f, 0xa8, 0x08, 0xdf, 0x3e, 0xa8, 0x08, 0xdf, 0x3b, 0xa8, - 0x08, 0xaf, 0x1d, 0x54, 0x84, 0x1f, 0x1c, 0x54, 0x46, 0x5e, 0x3f, 0xa8, 0x08, 0x6f, 0x1e, 0x54, - 0x46, 0xde, 0x3e, 0xa8, 0x08, 0xef, 0x1c, 0x54, 0x46, 0xee, 0xfc, 0xa8, 0x32, 0xf2, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x70, 0xfd, 0x70, 0x7d, 0x2c, 0x35, 0x00, 0x00, + // 4046 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0xdc, 0xe6, + 0x75, 0x26, 0xf6, 0x42, 0xee, 0x9e, 0x5d, 0x2e, 0x41, 0x90, 0x96, 0x56, 0x74, 0xbc, 0xa2, 0x68, + 0x3b, 0xa2, 0x6f, 0x64, 0x46, 0x96, 0x64, 0x79, 0xd5, 0xc4, 0x5d, 0x2e, 0x57, 0xcc, 0xba, 0xbc, + 0x05, 0x4b, 0xc6, 0x96, 0x33, 0x1d, 0x0c, 0x88, 0xfd, 0xb9, 0x84, 0x84, 0x05, 0x10, 0x00, 0x2b, + 0x99, 0x9a, 0x3e, 0xa8, 0xe3, 0xb4, 0x9d, 0xf4, 0x92, 0x5e, 0x67, 0x9a, 0xb8, 0x8e, 0xdb, 0xa4, + 0xd3, 0x38, 0x4d, 0x6f, 0x49, 0x2f, 0x69, 0x92, 0xbe, 0xa4, 0x0f, 0x69, 0xf5, 0xd4, 0x49, 0xde, + 0xfa, 0xd0, 0x69, 0x2d, 0xc6, 0x33, 0x75, 0x5b, 0xb7, 0x75, 0x5b, 0x3d, 0x78, 0xc6, 0x2f, 0x9d, + 0xff, 0x86, 0x05, 0xb0, 0x4b, 0x02, 0x4c, 0xc6, 0xf6, 0x13, 0x89, 0xf3, 0x9f, 0xef, 0xc3, 0xf9, + 0xcf, 0x7f, 0xfe, 0x73, 0xce, 0xff, 0x63, 0xe1, 0x4e, 0x15, 0x66, 0x3b, 0x96, 0xd5, 0x31, 0xd0, + 0xa2, 0xed, 0x58, 0x9e, 0xb5, 0xd3, 0xdb, 0x5d, 0x6c, 0x23, 0x57, 0x73, 0x74, 0xdb, 0xb3, 0x9c, + 0x05, 0x22, 0x93, 0x26, 0xa8, 0xc6, 0x02, 0xd7, 0x98, 0x5b, 0x83, 0xc9, 0x2b, 0xba, 0x81, 0x96, + 0x7d, 0xc5, 0x16, 0xf2, 0xa4, 0x4b, 0x90, 0xd9, 0xd5, 0x0d, 0x54, 0x16, 0x66, 0xd3, 0xf3, 0x85, + 0x73, 0x0f, 0x2d, 0x44, 0x40, 0x0b, 0x61, 0xc4, 0x26, 0x16, 0xcb, 0x04, 0x31, 0xf7, 0x46, 0x06, + 0xa6, 0x86, 0x8c, 0x4a, 0x12, 0x64, 0x4c, 0xb5, 0x8b, 0x19, 0x85, 0xf9, 0xbc, 0x4c, 0xfe, 0x97, + 0xca, 0x30, 0x66, 0xab, 0xda, 0x75, 0xb5, 0x83, 0xca, 0x29, 0x22, 0xe6, 0x8f, 0x52, 0x05, 0xa0, + 0x8d, 0x6c, 0x64, 0xb6, 0x91, 0xa9, 0xed, 0x97, 0xd3, 0xb3, 0xe9, 0xf9, 0xbc, 0x1c, 0x90, 0x48, + 0x8f, 0xc1, 0xa4, 0xdd, 0xdb, 0x31, 0x74, 0x4d, 0x09, 0xa8, 0xc1, 0x6c, 0x7a, 0x3e, 0x2b, 0x8b, + 0x74, 0x60, 0xb9, 0xaf, 0x7c, 0x16, 0x26, 0x6e, 0x22, 0xf5, 0x7a, 0x50, 0xb5, 0x40, 0x54, 0x4b, + 0x58, 0x1c, 0x50, 0xac, 0x43, 0xb1, 0x8b, 0x5c, 0x57, 0xed, 0x20, 0xc5, 0xdb, 0xb7, 0x51, 0x39, + 0x43, 0x66, 0x3f, 0x3b, 0x30, 0xfb, 0xe8, 0xcc, 0x0b, 0x0c, 0xb5, 0xb5, 0x6f, 0x23, 0xa9, 0x06, + 0x79, 0x64, 0xf6, 0xba, 0x94, 0x21, 0x7b, 0x88, 0xff, 0x1a, 0x66, 0xaf, 0x1b, 0x65, 0xc9, 0x61, + 0x18, 0xa3, 0x18, 0x73, 0x91, 0x73, 0x43, 0xd7, 0x50, 0x79, 0x94, 0x10, 0x9c, 0x1d, 0x20, 0x68, + 0xd1, 0xf1, 0x28, 0x07, 0xc7, 0x49, 0x75, 0xc8, 0xa3, 0x17, 0x3d, 0x64, 0xba, 0xba, 0x65, 0x96, + 0xc7, 0x08, 0xc9, 0xc3, 0x43, 0x56, 0x11, 0x19, 0xed, 0x28, 0x45, 0x1f, 0x27, 0x5d, 0x84, 0x31, + 0xcb, 0xf6, 0x74, 0xcb, 0x74, 0xcb, 0xb9, 0x59, 0x61, 0xbe, 0x70, 0xee, 0x43, 0x43, 0x03, 0x61, + 0x83, 0xea, 0xc8, 0x5c, 0x59, 0x6a, 0x82, 0xe8, 0x5a, 0x3d, 0x47, 0x43, 0x8a, 0x66, 0xb5, 0x91, + 0xa2, 0x9b, 0xbb, 0x56, 0x39, 0x4f, 0x08, 0x4e, 0x0f, 0x4e, 0x84, 0x28, 0xd6, 0xad, 0x36, 0x6a, + 0x9a, 0xbb, 0x96, 0x5c, 0x72, 0x43, 0xcf, 0xd2, 0x09, 0x18, 0x75, 0xf7, 0x4d, 0x4f, 0x7d, 0xb1, + 0x5c, 0x24, 0x11, 0xc2, 0x9e, 0xe6, 0xbe, 0x3d, 0x0a, 0x13, 0x49, 0x42, 0xec, 0x32, 0x64, 0x77, + 0xf1, 0x2c, 0xcb, 0xa9, 0xe3, 0xf8, 0x80, 0x62, 0xc2, 0x4e, 0x1c, 0xfd, 0x11, 0x9d, 0x58, 0x83, + 0x82, 0x89, 0x5c, 0x0f, 0xb5, 0x69, 0x44, 0xa4, 0x13, 0xc6, 0x14, 0x50, 0xd0, 0x60, 0x48, 0x65, + 0x7e, 0xa4, 0x90, 0x7a, 0x1e, 0x26, 0x7c, 0x93, 0x14, 0x47, 0x35, 0x3b, 0x3c, 0x36, 0x17, 0xe3, + 0x2c, 0x59, 0x68, 0x70, 0x9c, 0x8c, 0x61, 0x72, 0x09, 0x85, 0x9e, 0xa5, 0x65, 0x00, 0xcb, 0x44, + 0xd6, 0xae, 0xd2, 0x46, 0x9a, 0x51, 0xce, 0x1d, 0xe2, 0xa5, 0x0d, 0xac, 0x32, 0xe0, 0x25, 0x8b, + 0x4a, 0x35, 0x43, 0x7a, 0xba, 0x1f, 0x6a, 0x63, 0x87, 0x44, 0xca, 0x1a, 0xdd, 0x64, 0x03, 0xd1, + 0xb6, 0x0d, 0x25, 0x07, 0xe1, 0xb8, 0x47, 0x6d, 0x36, 0xb3, 0x3c, 0x31, 0x62, 0x21, 0x76, 0x66, + 0x32, 0x83, 0xd1, 0x89, 0x8d, 0x3b, 0xc1, 0x47, 0xe9, 0x41, 0xf0, 0x05, 0x0a, 0x09, 0x2b, 0x20, + 0x59, 0xa8, 0xc8, 0x85, 0xeb, 0x6a, 0x17, 0xcd, 0xdc, 0x82, 0x52, 0xd8, 0x3d, 0xd2, 0x34, 0x64, + 0x5d, 0x4f, 0x75, 0x3c, 0x12, 0x85, 0x59, 0x99, 0x3e, 0x48, 0x22, 0xa4, 0x91, 0xd9, 0x26, 0x59, + 0x2e, 0x2b, 0xe3, 0x7f, 0xa5, 0x9f, 0xec, 0x4f, 0x38, 0x4d, 0x26, 0xfc, 0xe1, 0xc1, 0x15, 0x0d, + 0x31, 0x47, 0xe7, 0x3d, 0xf3, 0x14, 0x8c, 0x87, 0x26, 0x90, 0xf4, 0xd5, 0x73, 0x3f, 0x03, 0xf7, + 0x0d, 0xa5, 0x96, 0x9e, 0x87, 0xe9, 0x9e, 0xa9, 0x9b, 0x1e, 0x72, 0x6c, 0x07, 0xe1, 0x88, 0xa5, + 0xaf, 0x2a, 0xff, 0xeb, 0xd8, 0x21, 0x31, 0xb7, 0x1d, 0xd4, 0xa6, 0x2c, 0xf2, 0x54, 0x6f, 0x50, + 0xf8, 0x68, 0x3e, 0xf7, 0xe6, 0x98, 0x78, 0xfb, 0xf6, 0xed, 0xdb, 0xa9, 0xb9, 0xcf, 0x8f, 0xc2, + 0xf4, 0xb0, 0x3d, 0x33, 0x74, 0xfb, 0x9e, 0x80, 0x51, 0xb3, 0xd7, 0xdd, 0x41, 0x0e, 0x71, 0x52, + 0x56, 0x66, 0x4f, 0x52, 0x0d, 0xb2, 0x86, 0xba, 0x83, 0x8c, 0x72, 0x66, 0x56, 0x98, 0x2f, 0x9d, + 0x7b, 0x2c, 0xd1, 0xae, 0x5c, 0x58, 0xc5, 0x10, 0x99, 0x22, 0xa5, 0x8f, 0x41, 0x86, 0xa5, 0x68, + 0xcc, 0xf0, 0x68, 0x32, 0x06, 0xbc, 0x97, 0x64, 0x82, 0x93, 0xee, 0x87, 0x3c, 0xfe, 0x4b, 0x63, + 0x63, 0x94, 0xd8, 0x9c, 0xc3, 0x02, 0x1c, 0x17, 0xd2, 0x0c, 0xe4, 0xc8, 0x36, 0x69, 0x23, 0x5e, + 0xda, 0xfc, 0x67, 0x1c, 0x58, 0x6d, 0xb4, 0xab, 0xf6, 0x0c, 0x4f, 0xb9, 0xa1, 0x1a, 0x3d, 0x44, + 0x02, 0x3e, 0x2f, 0x17, 0x99, 0xf0, 0x93, 0x58, 0x26, 0x9d, 0x86, 0x02, 0xdd, 0x55, 0xba, 0xd9, + 0x46, 0x2f, 0x92, 0xec, 0x99, 0x95, 0xe9, 0x46, 0x6b, 0x62, 0x09, 0x7e, 0xfd, 0x35, 0xd7, 0x32, + 0x79, 0x68, 0x92, 0x57, 0x60, 0x01, 0x79, 0xfd, 0x53, 0xd1, 0xc4, 0xfd, 0xc0, 0xf0, 0xe9, 0x45, + 0x63, 0x6a, 0xee, 0x9b, 0x29, 0xc8, 0x90, 0x7c, 0x31, 0x01, 0x85, 0xad, 0xab, 0x9b, 0x0d, 0x65, + 0x79, 0x63, 0x7b, 0x69, 0xb5, 0x21, 0x0a, 0x52, 0x09, 0x80, 0x08, 0xae, 0xac, 0x6e, 0xd4, 0xb6, + 0xc4, 0x94, 0xff, 0xdc, 0x5c, 0xdf, 0xba, 0x78, 0x5e, 0x4c, 0xfb, 0x80, 0x6d, 0x2a, 0xc8, 0x04, + 0x15, 0x9e, 0x3c, 0x27, 0x66, 0x25, 0x11, 0x8a, 0x94, 0xa0, 0xf9, 0x7c, 0x63, 0xf9, 0xe2, 0x79, + 0x71, 0x34, 0x2c, 0x79, 0xf2, 0x9c, 0x38, 0x26, 0x8d, 0x43, 0x9e, 0x48, 0x96, 0x36, 0x36, 0x56, + 0xc5, 0x9c, 0xcf, 0xd9, 0xda, 0x92, 0x9b, 0xeb, 0x2b, 0x62, 0xde, 0xe7, 0x5c, 0x91, 0x37, 0xb6, + 0x37, 0x45, 0xf0, 0x19, 0xd6, 0x1a, 0xad, 0x56, 0x6d, 0xa5, 0x21, 0x16, 0x7c, 0x8d, 0xa5, 0xab, + 0x5b, 0x8d, 0x96, 0x58, 0x0c, 0x99, 0xf5, 0xe4, 0x39, 0x71, 0xdc, 0x7f, 0x45, 0x63, 0x7d, 0x7b, + 0x4d, 0x2c, 0x49, 0x93, 0x30, 0x4e, 0x5f, 0xc1, 0x8d, 0x98, 0x88, 0x88, 0x2e, 0x9e, 0x17, 0xc5, + 0xbe, 0x21, 0x94, 0x65, 0x32, 0x24, 0xb8, 0x78, 0x5e, 0x94, 0xe6, 0xea, 0x90, 0x25, 0xd1, 0x25, + 0x49, 0x50, 0x5a, 0xad, 0x2d, 0x35, 0x56, 0x95, 0x8d, 0xcd, 0xad, 0xe6, 0xc6, 0x7a, 0x6d, 0x55, + 0x14, 0xfa, 0x32, 0xb9, 0xf1, 0x89, 0xed, 0xa6, 0xdc, 0x58, 0x16, 0x53, 0x41, 0xd9, 0x66, 0xa3, + 0xb6, 0xd5, 0x58, 0x16, 0xd3, 0x73, 0x1a, 0x4c, 0x0f, 0xcb, 0x93, 0x43, 0x77, 0x46, 0x60, 0x89, + 0x53, 0x87, 0x2c, 0x31, 0xe1, 0x1a, 0x58, 0xe2, 0x1f, 0xa6, 0x60, 0x6a, 0x48, 0xad, 0x18, 0xfa, + 0x92, 0x67, 0x20, 0x4b, 0x43, 0x94, 0x56, 0xcf, 0x47, 0x86, 0x16, 0x1d, 0x12, 0xb0, 0x03, 0x15, + 0x94, 0xe0, 0x82, 0x1d, 0x44, 0xfa, 0x90, 0x0e, 0x02, 0x53, 0x0c, 0xe4, 0xf4, 0x9f, 0x1e, 0xc8, + 0xe9, 0xb4, 0xec, 0x5d, 0x4c, 0x52, 0xf6, 0x88, 0xec, 0x78, 0xb9, 0x3d, 0x3b, 0x24, 0xb7, 0x5f, + 0x86, 0xc9, 0x01, 0xa2, 0xc4, 0x39, 0xf6, 0x25, 0x01, 0xca, 0x87, 0x39, 0x27, 0x26, 0xd3, 0xa5, + 0x42, 0x99, 0xee, 0x72, 0xd4, 0x83, 0x67, 0x0e, 0x5f, 0x84, 0x81, 0xb5, 0x7e, 0x4d, 0x80, 0x13, + 0xc3, 0x3b, 0xc5, 0xa1, 0x36, 0x7c, 0x0c, 0x46, 0xbb, 0xc8, 0xdb, 0xb3, 0x78, 0xb7, 0xf4, 0xe1, + 0x21, 0x35, 0x18, 0x0f, 0x47, 0x17, 0x9b, 0xa1, 0x82, 0x45, 0x3c, 0x7d, 0x58, 0xbb, 0x47, 0xad, + 0x19, 0xb0, 0xf4, 0xb3, 0x29, 0xb8, 0x6f, 0x28, 0xf9, 0x50, 0x43, 0x1f, 0x00, 0xd0, 0x4d, 0xbb, + 0xe7, 0xd1, 0x8e, 0x88, 0x26, 0xd8, 0x3c, 0x91, 0x90, 0xe4, 0x85, 0x93, 0x67, 0xcf, 0xf3, 0xc7, + 0xd3, 0x64, 0x1c, 0xa8, 0x88, 0x28, 0x5c, 0xea, 0x1b, 0x9a, 0x21, 0x86, 0x56, 0x0e, 0x99, 0xe9, + 0x40, 0x60, 0x7e, 0x04, 0x44, 0xcd, 0xd0, 0x91, 0xe9, 0x29, 0xae, 0xe7, 0x20, 0xb5, 0xab, 0x9b, + 0x1d, 0x52, 0x41, 0x72, 0xd5, 0xec, 0xae, 0x6a, 0xb8, 0x48, 0x9e, 0xa0, 0xc3, 0x2d, 0x3e, 0x8a, + 0x11, 0x24, 0x80, 0x9c, 0x00, 0x62, 0x34, 0x84, 0xa0, 0xc3, 0x3e, 0x62, 0xee, 0x97, 0xf3, 0x50, + 0x08, 0xf4, 0xd5, 0xd2, 0x19, 0x28, 0x5e, 0x53, 0x6f, 0xa8, 0x0a, 0x3f, 0x2b, 0x51, 0x4f, 0x14, + 0xb0, 0x6c, 0x93, 0x9d, 0x97, 0x3e, 0x02, 0xd3, 0x44, 0xc5, 0xea, 0x79, 0xc8, 0x51, 0x34, 0x43, + 0x75, 0x5d, 0xe2, 0xb4, 0x1c, 0x51, 0x95, 0xf0, 0xd8, 0x06, 0x1e, 0xaa, 0xf3, 0x11, 0xe9, 0x02, + 0x4c, 0x11, 0x44, 0xb7, 0x67, 0x78, 0xba, 0x6d, 0x20, 0x05, 0x9f, 0xde, 0x5c, 0x52, 0x49, 0x7c, + 0xcb, 0x26, 0xb1, 0xc6, 0x1a, 0x53, 0xc0, 0x16, 0xb9, 0xd2, 0x32, 0x3c, 0x40, 0x60, 0x1d, 0x64, + 0x22, 0x47, 0xf5, 0x90, 0x82, 0x3e, 0xdd, 0x53, 0x0d, 0x57, 0x51, 0xcd, 0xb6, 0xb2, 0xa7, 0xba, + 0x7b, 0xe5, 0x69, 0x4c, 0xb0, 0x94, 0x2a, 0x0b, 0xf2, 0x29, 0xac, 0xb8, 0xc2, 0xf4, 0x1a, 0x44, + 0xad, 0x66, 0xb6, 0x3f, 0xae, 0xba, 0x7b, 0x52, 0x15, 0x4e, 0x10, 0x16, 0xd7, 0x73, 0x74, 0xb3, + 0xa3, 0x68, 0x7b, 0x48, 0xbb, 0xae, 0xf4, 0xbc, 0xdd, 0x4b, 0xe5, 0xfb, 0x83, 0xef, 0x27, 0x16, + 0xb6, 0x88, 0x4e, 0x1d, 0xab, 0x6c, 0x7b, 0xbb, 0x97, 0xa4, 0x16, 0x14, 0xf1, 0x62, 0x74, 0xf5, + 0x5b, 0x48, 0xd9, 0xb5, 0x1c, 0x52, 0x1a, 0x4b, 0x43, 0x52, 0x53, 0xc0, 0x83, 0x0b, 0x1b, 0x0c, + 0xb0, 0x66, 0xb5, 0x51, 0x35, 0xdb, 0xda, 0x6c, 0x34, 0x96, 0xe5, 0x02, 0x67, 0xb9, 0x62, 0x39, + 0x38, 0xa0, 0x3a, 0x96, 0xef, 0xe0, 0x02, 0x0d, 0xa8, 0x8e, 0xc5, 0xdd, 0x7b, 0x01, 0xa6, 0x34, + 0x8d, 0xce, 0x59, 0xd7, 0x14, 0x76, 0xc6, 0x72, 0xcb, 0x62, 0xc8, 0x59, 0x9a, 0xb6, 0x42, 0x15, + 0x58, 0x8c, 0xbb, 0xd2, 0xd3, 0x70, 0x5f, 0xdf, 0x59, 0x41, 0xe0, 0xe4, 0xc0, 0x2c, 0xa3, 0xd0, + 0x0b, 0x30, 0x65, 0xef, 0x0f, 0x02, 0xa5, 0xd0, 0x1b, 0xed, 0xfd, 0x28, 0xec, 0x29, 0x98, 0xb6, + 0xf7, 0xec, 0x41, 0xdc, 0xa3, 0x41, 0x9c, 0x64, 0xef, 0xd9, 0x51, 0xe0, 0xc3, 0xe4, 0xc0, 0xed, + 0x20, 0x4d, 0xf5, 0x50, 0xbb, 0x7c, 0x32, 0xa8, 0x1e, 0x18, 0x90, 0x16, 0x41, 0xd4, 0x34, 0x05, + 0x99, 0xea, 0x8e, 0x81, 0x14, 0xd5, 0x41, 0xa6, 0xea, 0x96, 0x4f, 0x07, 0x95, 0x4b, 0x9a, 0xd6, + 0x20, 0xa3, 0x35, 0x32, 0x28, 0x3d, 0x0a, 0x93, 0xd6, 0xce, 0x35, 0x8d, 0x86, 0xa4, 0x62, 0x3b, + 0x68, 0x57, 0x7f, 0xb1, 0xfc, 0x10, 0xf1, 0xef, 0x04, 0x1e, 0x20, 0x01, 0xb9, 0x49, 0xc4, 0xd2, + 0x23, 0x20, 0x6a, 0xee, 0x9e, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0xa1, 0xf2, 0xc3, 0x54, + 0x95, 0xca, 0xd7, 0xb9, 0x18, 0x6f, 0x09, 0xf7, 0xa6, 0xbe, 0xeb, 0x71, 0xc6, 0xb3, 0x74, 0x4b, + 0x10, 0x19, 0x63, 0x9b, 0x07, 0x11, 0xbb, 0x22, 0xf4, 0xe2, 0x79, 0xa2, 0x56, 0xb2, 0xf7, 0xec, + 0xe0, 0x7b, 0x1f, 0x84, 0x71, 0xac, 0xd9, 0x7f, 0xe9, 0x23, 0xb4, 0x21, 0xb3, 0xf7, 0x02, 0x6f, + 0x3c, 0x0f, 0x27, 0xb0, 0x52, 0x17, 0x79, 0x6a, 0x5b, 0xf5, 0xd4, 0x80, 0xf6, 0xe3, 0x44, 0x1b, + 0xfb, 0x7d, 0x8d, 0x0d, 0x86, 0xec, 0x74, 0x7a, 0x3b, 0xfb, 0x7e, 0x64, 0x3d, 0x41, 0xed, 0xc4, + 0x32, 0x1e, 0x5b, 0xef, 0x59, 0xd3, 0x3d, 0x57, 0x85, 0x62, 0x30, 0xf0, 0xa5, 0x3c, 0xd0, 0xd0, + 0x17, 0x05, 0xdc, 0x05, 0xd5, 0x37, 0x96, 0x71, 0xff, 0xf2, 0x42, 0x43, 0x4c, 0xe1, 0x3e, 0x6a, + 0xb5, 0xb9, 0xd5, 0x50, 0xe4, 0xed, 0xf5, 0xad, 0xe6, 0x5a, 0x43, 0x4c, 0x07, 0x1b, 0xf6, 0xef, + 0xa5, 0xa0, 0x14, 0x3e, 0x7b, 0x49, 0x3f, 0x01, 0x27, 0xf9, 0x45, 0x89, 0x8b, 0x3c, 0xe5, 0xa6, + 0xee, 0x90, 0xbd, 0xd8, 0x55, 0x69, 0x5d, 0xf4, 0xa3, 0x61, 0x9a, 0x69, 0xb5, 0x90, 0xf7, 0x9c, + 0xee, 0xe0, 0x9d, 0xd6, 0x55, 0x3d, 0x69, 0x15, 0x4e, 0x9b, 0x96, 0xe2, 0x7a, 0xaa, 0xd9, 0x56, + 0x9d, 0xb6, 0xd2, 0xbf, 0xa2, 0x52, 0x54, 0x4d, 0x43, 0xae, 0x6b, 0xd1, 0x1a, 0xe8, 0xb3, 0x7c, + 0xc8, 0xb4, 0x5a, 0x4c, 0xb9, 0x5f, 0x1c, 0x6a, 0x4c, 0x35, 0x12, 0xb9, 0xe9, 0xc3, 0x22, 0xf7, + 0x7e, 0xc8, 0x77, 0x55, 0x5b, 0x41, 0xa6, 0xe7, 0xec, 0x93, 0x8e, 0x3b, 0x27, 0xe7, 0xba, 0xaa, + 0xdd, 0xc0, 0xcf, 0xef, 0xcf, 0xc1, 0xe7, 0x9f, 0xd2, 0x50, 0x0c, 0x76, 0xdd, 0xf8, 0x10, 0xa3, + 0x91, 0x02, 0x25, 0x90, 0x14, 0xf6, 0xe0, 0x91, 0x3d, 0xfa, 0x42, 0x1d, 0x57, 0xae, 0xea, 0x28, + 0xed, 0x85, 0x65, 0x8a, 0xc4, 0x5d, 0x03, 0x0e, 0x2d, 0x44, 0x7b, 0x8f, 0x9c, 0xcc, 0x9e, 0xa4, + 0x15, 0x18, 0xbd, 0xe6, 0x12, 0xee, 0x51, 0xc2, 0xfd, 0xd0, 0xd1, 0xdc, 0xcf, 0xb6, 0x08, 0x79, + 0xfe, 0xd9, 0x96, 0xb2, 0xbe, 0x21, 0xaf, 0xd5, 0x56, 0x65, 0x06, 0x97, 0x4e, 0x41, 0xc6, 0x50, + 0x6f, 0xed, 0x87, 0x6b, 0x1c, 0x11, 0x25, 0x75, 0xfc, 0x29, 0xc8, 0xdc, 0x44, 0xea, 0xf5, 0x70, + 0x65, 0x21, 0xa2, 0xf7, 0x30, 0xf4, 0x17, 0x21, 0x4b, 0xfc, 0x25, 0x01, 0x30, 0x8f, 0x89, 0x23, + 0x52, 0x0e, 0x32, 0xf5, 0x0d, 0x19, 0x87, 0xbf, 0x08, 0x45, 0x2a, 0x55, 0x36, 0x9b, 0x8d, 0x7a, + 0x43, 0x4c, 0xcd, 0x5d, 0x80, 0x51, 0xea, 0x04, 0xbc, 0x35, 0x7c, 0x37, 0x88, 0x23, 0xec, 0x91, + 0x71, 0x08, 0x7c, 0x74, 0x7b, 0x6d, 0xa9, 0x21, 0x8b, 0xa9, 0xe0, 0xf2, 0xba, 0x50, 0x0c, 0x36, + 0xdc, 0xef, 0x4f, 0x4c, 0x7d, 0x47, 0x80, 0x42, 0xa0, 0x81, 0xc6, 0x9d, 0x8f, 0x6a, 0x18, 0xd6, + 0x4d, 0x45, 0x35, 0x74, 0xd5, 0x65, 0x41, 0x01, 0x44, 0x54, 0xc3, 0x92, 0xa4, 0x8b, 0xf6, 0xbe, + 0x18, 0xff, 0xaa, 0x00, 0x62, 0xb4, 0x77, 0x8d, 0x18, 0x28, 0x7c, 0xa0, 0x06, 0xbe, 0x22, 0x40, + 0x29, 0xdc, 0xb0, 0x46, 0xcc, 0x3b, 0xf3, 0x81, 0x9a, 0xf7, 0x7a, 0x0a, 0xc6, 0x43, 0x6d, 0x6a, + 0x52, 0xeb, 0x3e, 0x0d, 0x93, 0x7a, 0x1b, 0x75, 0x6d, 0xcb, 0x43, 0xa6, 0xb6, 0xaf, 0x18, 0xe8, + 0x06, 0x32, 0xca, 0x73, 0x24, 0x51, 0x2c, 0x1e, 0xdd, 0x08, 0x2f, 0x34, 0xfb, 0xb8, 0x55, 0x0c, + 0xab, 0x4e, 0x35, 0x97, 0x1b, 0x6b, 0x9b, 0x1b, 0x5b, 0x8d, 0xf5, 0xfa, 0x55, 0x65, 0x7b, 0xfd, + 0xa7, 0xd6, 0x37, 0x9e, 0x5b, 0x97, 0x45, 0x3d, 0xa2, 0xf6, 0x1e, 0x6e, 0xf5, 0x4d, 0x10, 0xa3, + 0x46, 0x49, 0x27, 0x61, 0x98, 0x59, 0xe2, 0x88, 0x34, 0x05, 0x13, 0xeb, 0x1b, 0x4a, 0xab, 0xb9, + 0xdc, 0x50, 0x1a, 0x57, 0xae, 0x34, 0xea, 0x5b, 0x2d, 0x7a, 0xb5, 0xe1, 0x6b, 0x6f, 0x85, 0x37, + 0xf5, 0xcb, 0x69, 0x98, 0x1a, 0x62, 0x89, 0x54, 0x63, 0x87, 0x12, 0x7a, 0x4e, 0x7a, 0x22, 0x89, + 0xf5, 0x0b, 0xb8, 0x2b, 0xd8, 0x54, 0x1d, 0x8f, 0x9d, 0x61, 0x1e, 0x01, 0xec, 0x25, 0xd3, 0xd3, + 0x77, 0x75, 0xe4, 0xb0, 0x9b, 0x20, 0x7a, 0x52, 0x99, 0xe8, 0xcb, 0xe9, 0x65, 0xd0, 0xe3, 0x20, + 0xd9, 0x96, 0xab, 0x7b, 0xfa, 0x0d, 0xa4, 0xe8, 0x26, 0xbf, 0x36, 0xc2, 0x27, 0x97, 0x8c, 0x2c, + 0xf2, 0x91, 0xa6, 0xe9, 0xf9, 0xda, 0x26, 0xea, 0xa8, 0x11, 0x6d, 0x9c, 0xc0, 0xd3, 0xb2, 0xc8, + 0x47, 0x7c, 0xed, 0x33, 0x50, 0x6c, 0x5b, 0x3d, 0xdc, 0xce, 0x51, 0x3d, 0x5c, 0x2f, 0x04, 0xb9, + 0x40, 0x65, 0xbe, 0x0a, 0x6b, 0xd4, 0xfb, 0xf7, 0x55, 0x45, 0xb9, 0x40, 0x65, 0x54, 0xe5, 0x2c, + 0x4c, 0xa8, 0x9d, 0x8e, 0x83, 0xc9, 0x39, 0x11, 0x3d, 0x7a, 0x94, 0x7c, 0x31, 0x51, 0x9c, 0x79, + 0x16, 0x72, 0xdc, 0x0f, 0xb8, 0x24, 0x63, 0x4f, 0x28, 0x36, 0x3d, 0x4f, 0xa7, 0xe6, 0xf3, 0x72, + 0xce, 0xe4, 0x83, 0x67, 0xa0, 0xa8, 0xbb, 0x4a, 0xff, 0xfa, 0x3d, 0x35, 0x9b, 0x9a, 0xcf, 0xc9, + 0x05, 0xdd, 0xf5, 0xaf, 0x2e, 0xe7, 0x5e, 0x4b, 0x41, 0x29, 0xfc, 0xf9, 0x40, 0x5a, 0x86, 0x9c, + 0x61, 0x69, 0x2a, 0x09, 0x2d, 0xfa, 0xed, 0x6a, 0x3e, 0xe6, 0x8b, 0xc3, 0xc2, 0x2a, 0xd3, 0x97, + 0x7d, 0xe4, 0xcc, 0x3f, 0x08, 0x90, 0xe3, 0x62, 0xe9, 0x04, 0x64, 0x6c, 0xd5, 0xdb, 0x23, 0x74, + 0xd9, 0xa5, 0x94, 0x28, 0xc8, 0xe4, 0x19, 0xcb, 0x5d, 0x5b, 0x35, 0x49, 0x08, 0x30, 0x39, 0x7e, + 0xc6, 0xeb, 0x6a, 0x20, 0xb5, 0x4d, 0xce, 0x35, 0x56, 0xb7, 0x8b, 0x4c, 0xcf, 0xe5, 0xeb, 0xca, + 0xe4, 0x75, 0x26, 0x96, 0x1e, 0x83, 0x49, 0xcf, 0x51, 0x75, 0x23, 0xa4, 0x9b, 0x21, 0xba, 0x22, + 0x1f, 0xf0, 0x95, 0xab, 0x70, 0x8a, 0xf3, 0xb6, 0x91, 0xa7, 0x6a, 0x7b, 0xa8, 0xdd, 0x07, 0x8d, + 0x92, 0xfb, 0x8b, 0x93, 0x4c, 0x61, 0x99, 0x8d, 0x73, 0xec, 0xdc, 0x0f, 0x04, 0x98, 0xe4, 0x27, + 0xb1, 0xb6, 0xef, 0xac, 0x35, 0x00, 0xd5, 0x34, 0x2d, 0x2f, 0xe8, 0xae, 0xc1, 0x50, 0x1e, 0xc0, + 0x2d, 0xd4, 0x7c, 0x90, 0x1c, 0x20, 0x98, 0xe9, 0x02, 0xf4, 0x47, 0x0e, 0x75, 0xdb, 0x69, 0x28, + 0xb0, 0x6f, 0x43, 0xe4, 0x03, 0x23, 0x3d, 0xbb, 0x03, 0x15, 0xe1, 0x23, 0x9b, 0x34, 0x0d, 0xd9, + 0x1d, 0xd4, 0xd1, 0x4d, 0x76, 0xe3, 0x4b, 0x1f, 0xf8, 0x0d, 0x4b, 0xc6, 0xbf, 0x61, 0x59, 0xfa, + 0x14, 0x4c, 0x69, 0x56, 0x37, 0x6a, 0xee, 0x92, 0x18, 0xb9, 0x3f, 0x70, 0x3f, 0x2e, 0xbc, 0x00, + 0xfd, 0x16, 0xf3, 0x1d, 0x41, 0xf8, 0x72, 0x2a, 0xbd, 0xb2, 0xb9, 0xf4, 0xb5, 0xd4, 0xcc, 0x0a, + 0x85, 0x6e, 0xf2, 0x99, 0xca, 0x68, 0xd7, 0x40, 0x1a, 0xb6, 0x1e, 0xbe, 0xf2, 0x18, 0x3c, 0xd1, + 0xd1, 0xbd, 0xbd, 0xde, 0xce, 0x82, 0x66, 0x75, 0x17, 0x3b, 0x56, 0xc7, 0xea, 0x7f, 0x53, 0xc5, + 0x4f, 0xe4, 0x81, 0xfc, 0xc7, 0xbe, 0xab, 0xe6, 0x7d, 0xe9, 0x4c, 0xec, 0x47, 0xd8, 0xea, 0x3a, + 0x4c, 0x31, 0x65, 0x85, 0x7c, 0xd8, 0xa1, 0xc7, 0x13, 0xe9, 0xc8, 0xcb, 0xb1, 0xf2, 0x37, 0xde, + 0x20, 0xe5, 0x5a, 0x9e, 0x64, 0x50, 0x3c, 0x46, 0x4f, 0x30, 0x55, 0x19, 0xee, 0x0b, 0xf1, 0xd1, + 0xad, 0x89, 0x9c, 0x18, 0xc6, 0xef, 0x31, 0xc6, 0xa9, 0x00, 0x63, 0x8b, 0x41, 0xab, 0x75, 0x18, + 0x3f, 0x0e, 0xd7, 0xdf, 0x31, 0xae, 0x22, 0x0a, 0x92, 0xac, 0xc0, 0x04, 0x21, 0xd1, 0x7a, 0xae, + 0x67, 0x75, 0x49, 0xde, 0x3b, 0x9a, 0xe6, 0xef, 0xdf, 0xa0, 0x7b, 0xa5, 0x84, 0x61, 0x75, 0x1f, + 0x55, 0xad, 0x02, 0xf9, 0x96, 0xd5, 0x46, 0x9a, 0x11, 0xc3, 0x70, 0x87, 0x19, 0xe2, 0xeb, 0x57, + 0x3f, 0x09, 0xd3, 0xf8, 0x7f, 0x92, 0x96, 0x82, 0x96, 0xc4, 0xdf, 0xa4, 0x95, 0x7f, 0xf0, 0x12, + 0xdd, 0x8e, 0x53, 0x3e, 0x41, 0xc0, 0xa6, 0xc0, 0x2a, 0x76, 0x90, 0xe7, 0x21, 0xc7, 0x55, 0x54, + 0x63, 0x98, 0x79, 0x81, 0xab, 0x88, 0xf2, 0x17, 0xde, 0x0a, 0xaf, 0xe2, 0x0a, 0x45, 0xd6, 0x0c, + 0xa3, 0xba, 0x0d, 0x27, 0x87, 0x44, 0x45, 0x02, 0xce, 0x97, 0x19, 0xe7, 0xf4, 0x40, 0x64, 0x60, + 0xda, 0x4d, 0xe0, 0x72, 0x7f, 0x2d, 0x13, 0x70, 0xfe, 0x0e, 0xe3, 0x94, 0x18, 0x96, 0x2f, 0x29, + 0x66, 0x7c, 0x16, 0x26, 0x6f, 0x20, 0x67, 0xc7, 0x72, 0xd9, 0xf5, 0x4f, 0x02, 0xba, 0x57, 0x18, + 0xdd, 0x04, 0x03, 0x92, 0xfb, 0x20, 0xcc, 0xf5, 0x34, 0xe4, 0x76, 0x55, 0x0d, 0x25, 0xa0, 0xf8, + 0x22, 0xa3, 0x18, 0xc3, 0xfa, 0x18, 0x5a, 0x83, 0x62, 0xc7, 0x62, 0x95, 0x29, 0x1e, 0xfe, 0x2a, + 0x83, 0x17, 0x38, 0x86, 0x51, 0xd8, 0x96, 0xdd, 0x33, 0x70, 0xd9, 0x8a, 0xa7, 0xf8, 0x5d, 0x4e, + 0xc1, 0x31, 0x8c, 0xe2, 0x18, 0x6e, 0xfd, 0x3d, 0x4e, 0xe1, 0x06, 0xfc, 0xf9, 0x0c, 0x14, 0x2c, + 0xd3, 0xd8, 0xb7, 0xcc, 0x24, 0x46, 0x7c, 0x89, 0x31, 0x00, 0x83, 0x60, 0x82, 0xcb, 0x90, 0x4f, + 0xba, 0x10, 0x7f, 0xf0, 0x16, 0xdf, 0x1e, 0x7c, 0x05, 0x56, 0x60, 0x82, 0x27, 0x28, 0xdd, 0x32, + 0x13, 0x50, 0x7c, 0x85, 0x51, 0x94, 0x02, 0x30, 0x36, 0x0d, 0x0f, 0xb9, 0x5e, 0x07, 0x25, 0x21, + 0x79, 0x8d, 0x4f, 0x83, 0x41, 0x98, 0x2b, 0x77, 0x90, 0xa9, 0xed, 0x25, 0x63, 0xf8, 0x2a, 0x77, + 0x25, 0xc7, 0x60, 0x8a, 0x3a, 0x8c, 0x77, 0x55, 0xc7, 0xdd, 0x53, 0x8d, 0x44, 0xcb, 0xf1, 0x87, + 0x8c, 0xa3, 0xe8, 0x83, 0x98, 0x47, 0x7a, 0xe6, 0x71, 0x68, 0xbe, 0xc6, 0x3d, 0x12, 0x80, 0xb1, + 0xad, 0xe7, 0x7a, 0xe4, 0xae, 0xec, 0x38, 0x6c, 0x7f, 0xc4, 0xb7, 0x1e, 0xc5, 0xae, 0x05, 0x19, + 0x2f, 0x43, 0xde, 0xd5, 0x6f, 0x25, 0xa2, 0xf9, 0x63, 0xbe, 0xd2, 0x04, 0x80, 0xc1, 0x57, 0xe1, + 0xd4, 0xd0, 0x32, 0x91, 0x80, 0xec, 0x4f, 0x18, 0xd9, 0x89, 0x21, 0xa5, 0x82, 0xa5, 0x84, 0xe3, + 0x52, 0xfe, 0x29, 0x4f, 0x09, 0x28, 0xc2, 0xb5, 0x89, 0xcf, 0x0a, 0xae, 0xba, 0x7b, 0x3c, 0xaf, + 0xfd, 0x19, 0xf7, 0x1a, 0xc5, 0x86, 0xbc, 0xb6, 0x05, 0x27, 0x18, 0xe3, 0xf1, 0xd6, 0xf5, 0xeb, + 0x3c, 0xb1, 0x52, 0xf4, 0x76, 0x78, 0x75, 0x3f, 0x05, 0x33, 0xbe, 0x3b, 0x79, 0x53, 0xea, 0x2a, + 0x5d, 0xd5, 0x4e, 0xc0, 0xfc, 0x0d, 0xc6, 0xcc, 0x33, 0xbe, 0xdf, 0xd5, 0xba, 0x6b, 0xaa, 0x8d, + 0xc9, 0x9f, 0x87, 0x32, 0x27, 0xef, 0x99, 0x0e, 0xd2, 0xac, 0x8e, 0xa9, 0xdf, 0x42, 0xed, 0x04, + 0xd4, 0x7f, 0x1e, 0x59, 0xaa, 0xed, 0x00, 0x1c, 0x33, 0x37, 0x41, 0xf4, 0x7b, 0x15, 0x45, 0xef, + 0xda, 0x96, 0xe3, 0xc5, 0x30, 0xfe, 0x05, 0x5f, 0x29, 0x1f, 0xd7, 0x24, 0xb0, 0x6a, 0x03, 0x4a, + 0xe4, 0x31, 0x69, 0x48, 0xfe, 0x25, 0x23, 0x1a, 0xef, 0xa3, 0x58, 0xe2, 0xd0, 0xac, 0xae, 0xad, + 0x3a, 0x49, 0xf2, 0xdf, 0x5f, 0xf1, 0xc4, 0xc1, 0x20, 0x2c, 0x71, 0x78, 0xfb, 0x36, 0xc2, 0xd5, + 0x3e, 0x01, 0xc3, 0x37, 0x79, 0xe2, 0xe0, 0x18, 0x46, 0xc1, 0x1b, 0x86, 0x04, 0x14, 0x7f, 0xcd, + 0x29, 0x38, 0x06, 0x53, 0x7c, 0xa2, 0x5f, 0x68, 0x1d, 0xd4, 0xd1, 0x5d, 0xcf, 0xa1, 0xad, 0xf0, + 0xd1, 0x54, 0xdf, 0x7a, 0x2b, 0xdc, 0x84, 0xc9, 0x01, 0x28, 0xce, 0x44, 0xec, 0x0a, 0x95, 0x9c, + 0x94, 0xe2, 0x0d, 0xfb, 0x36, 0xcf, 0x44, 0x01, 0x18, 0xb6, 0x2d, 0xd0, 0x21, 0x62, 0xb7, 0x6b, + 0xf8, 0x7c, 0x90, 0x80, 0xee, 0x3b, 0x11, 0xe3, 0x5a, 0x1c, 0x8b, 0x39, 0x03, 0xfd, 0x4f, 0xcf, + 0xbc, 0x8e, 0xf6, 0x13, 0x45, 0xe7, 0xdf, 0x44, 0xfa, 0x9f, 0x6d, 0x8a, 0xa4, 0x39, 0x64, 0x22, + 0xd2, 0x4f, 0x49, 0x71, 0xbf, 0x02, 0x2a, 0xff, 0xec, 0x3d, 0x36, 0xdf, 0x70, 0x3b, 0x55, 0x5d, + 0xc5, 0x41, 0x1e, 0x6e, 0x7a, 0xe2, 0xc9, 0x5e, 0xba, 0xe7, 0xc7, 0x79, 0xa8, 0xe7, 0xa9, 0x5e, + 0x81, 0xf1, 0x50, 0xc3, 0x13, 0x4f, 0xf5, 0x19, 0x46, 0x55, 0x0c, 0xf6, 0x3b, 0xd5, 0x0b, 0x90, + 0xc1, 0xcd, 0x4b, 0x3c, 0xfc, 0xe7, 0x18, 0x9c, 0xa8, 0x57, 0x3f, 0x0a, 0x39, 0xde, 0xb4, 0xc4, + 0x43, 0x7f, 0x9e, 0x41, 0x7d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1e, 0xfe, 0x0b, 0x1c, 0xce, 0x21, + 0x18, 0x9e, 0xdc, 0x85, 0xdf, 0xfd, 0xa5, 0x0c, 0x2b, 0x3a, 0xdc, 0x77, 0x97, 0x61, 0x8c, 0x75, + 0x2a, 0xf1, 0xe8, 0xcf, 0xb2, 0x97, 0x73, 0x44, 0xf5, 0x29, 0xc8, 0x26, 0x74, 0xf8, 0xaf, 0x30, + 0x28, 0xd5, 0xaf, 0xd6, 0xa1, 0x10, 0xe8, 0x4e, 0xe2, 0xe1, 0x9f, 0x63, 0xf0, 0x20, 0x0a, 0x9b, + 0xce, 0xba, 0x93, 0x78, 0x82, 0x5f, 0xe5, 0xa6, 0x33, 0x04, 0x76, 0x1b, 0x6f, 0x4c, 0xe2, 0xd1, + 0xbf, 0xc6, 0xbd, 0xce, 0x21, 0xd5, 0x67, 0x20, 0xef, 0x17, 0x9b, 0x78, 0xfc, 0xaf, 0x33, 0x7c, + 0x1f, 0x83, 0x3d, 0x10, 0x28, 0x76, 0xf1, 0x14, 0xbf, 0xc1, 0x3d, 0x10, 0x40, 0xe1, 0x6d, 0x14, + 0x6d, 0x60, 0xe2, 0x99, 0x7e, 0x93, 0x6f, 0xa3, 0x48, 0xff, 0x82, 0x57, 0x93, 0xe4, 0xfc, 0x78, + 0x8a, 0xdf, 0xe2, 0xab, 0x49, 0xf4, 0xb1, 0x19, 0xd1, 0x8e, 0x20, 0x9e, 0xe3, 0xb7, 0xb9, 0x19, + 0x91, 0x86, 0xa0, 0xba, 0x09, 0xd2, 0x60, 0x37, 0x10, 0xcf, 0xf7, 0x79, 0xc6, 0x37, 0x39, 0xd0, + 0x0c, 0x54, 0x9f, 0x83, 0x13, 0xc3, 0x3b, 0x81, 0x78, 0xd6, 0x2f, 0xdc, 0x8b, 0x9c, 0xdd, 0x82, + 0x8d, 0x40, 0x75, 0xab, 0x5f, 0x52, 0x82, 0x5d, 0x40, 0x3c, 0xed, 0xcb, 0xf7, 0xc2, 0x89, 0x3b, + 0xd8, 0x04, 0x54, 0x6b, 0x00, 0xfd, 0x02, 0x1c, 0xcf, 0xf5, 0x0a, 0xe3, 0x0a, 0x80, 0xf0, 0xd6, + 0x60, 0xf5, 0x37, 0x1e, 0xff, 0x45, 0xbe, 0x35, 0x18, 0x02, 0x6f, 0x0d, 0x5e, 0x7a, 0xe3, 0xd1, + 0xaf, 0xf2, 0xad, 0xc1, 0x21, 0x38, 0xb2, 0x03, 0xd5, 0x2d, 0x9e, 0xe1, 0x4b, 0x3c, 0xb2, 0x03, + 0xa8, 0xea, 0x3a, 0x4c, 0x0e, 0x14, 0xc4, 0x78, 0xaa, 0x2f, 0x33, 0x2a, 0x31, 0x5a, 0x0f, 0x83, + 0xc5, 0x8b, 0x15, 0xc3, 0x78, 0xb6, 0xdf, 0x8f, 0x14, 0x2f, 0x56, 0x0b, 0xab, 0x97, 0x21, 0x67, + 0xf6, 0x0c, 0x03, 0x6f, 0x1e, 0xe9, 0xe8, 0x5f, 0xee, 0x95, 0xff, 0xed, 0x5d, 0xe6, 0x1d, 0x0e, + 0xa8, 0x5e, 0x80, 0x2c, 0xea, 0xee, 0xa0, 0x76, 0x1c, 0xf2, 0xdf, 0xdf, 0xe5, 0x09, 0x13, 0x6b, + 0x57, 0x9f, 0x01, 0xa0, 0x57, 0x23, 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0x3f, 0xde, 0x65, 0xbf, 0xa9, + 0xe9, 0x43, 0xfa, 0x04, 0xf4, 0x17, 0x3a, 0x47, 0x13, 0xbc, 0x15, 0x26, 0x20, 0x2b, 0xf2, 0x34, + 0x8c, 0x5d, 0x73, 0x2d, 0xd3, 0x53, 0x3b, 0x71, 0xe8, 0xff, 0x64, 0x68, 0xae, 0x8f, 0x1d, 0xd6, + 0xb5, 0x1c, 0xe4, 0xa9, 0x1d, 0x37, 0x0e, 0xfb, 0x5f, 0x0c, 0xeb, 0x03, 0x30, 0x58, 0x53, 0x5d, + 0x2f, 0xc9, 0xbc, 0xff, 0x9b, 0x83, 0x39, 0x00, 0x1b, 0x8d, 0xff, 0xbf, 0x8e, 0xf6, 0xe3, 0xb0, + 0x6f, 0x73, 0xa3, 0x99, 0x7e, 0xf5, 0xa3, 0x90, 0xc7, 0xff, 0xd2, 0x1f, 0xca, 0xc5, 0x80, 0xff, + 0x87, 0x81, 0xfb, 0x08, 0xfc, 0x66, 0xd7, 0x6b, 0x7b, 0x7a, 0xbc, 0xb3, 0xff, 0x97, 0xad, 0x34, + 0xd7, 0xaf, 0xd6, 0xa0, 0xe0, 0x7a, 0xed, 0x76, 0x8f, 0xf5, 0xa7, 0x31, 0xf0, 0xff, 0x7b, 0xd7, + 0xbf, 0xb2, 0xf0, 0x31, 0x78, 0xb5, 0x6f, 0x5e, 0xf7, 0x6c, 0x8b, 0x7c, 0xe6, 0x88, 0x63, 0xb8, + 0xc7, 0x18, 0x02, 0x90, 0xa5, 0xc6, 0xf0, 0xeb, 0x5b, 0x58, 0xb1, 0x56, 0x2c, 0x7a, 0x71, 0xfb, + 0xc2, 0x5c, 0xfc, 0x0d, 0x2c, 0x7c, 0x2e, 0x0b, 0xb3, 0x9a, 0xd5, 0xdd, 0xb1, 0xdc, 0x45, 0x3f, + 0x1d, 0x2f, 0xfa, 0x4e, 0xe2, 0x77, 0xb3, 0xbe, 0x60, 0xe6, 0x78, 0xb7, 0xba, 0x73, 0x7f, 0x9b, + 0x86, 0x5c, 0x5d, 0x75, 0x3d, 0xf5, 0xa6, 0xba, 0x2f, 0xd9, 0x30, 0x85, 0xff, 0x5f, 0x53, 0x6d, + 0x72, 0x47, 0xc8, 0x36, 0x33, 0xbb, 0x38, 0x7f, 0x7c, 0xa1, 0xff, 0x56, 0x8e, 0x58, 0x18, 0xa2, + 0x4e, 0x7e, 0x70, 0xb0, 0x24, 0xde, 0xf9, 0xe7, 0xd3, 0x23, 0xbf, 0xf8, 0x2f, 0xa7, 0x73, 0x6b, + 0xfb, 0xcf, 0xe9, 0x86, 0x6b, 0x99, 0xf2, 0x30, 0x6a, 0xe9, 0x33, 0x02, 0xdc, 0x3f, 0x44, 0xbe, + 0xce, 0xf6, 0x3a, 0xfb, 0xfc, 0x74, 0x3e, 0xe1, 0xab, 0x39, 0x8c, 0x9a, 0x50, 0x0c, 0xbd, 0xfe, + 0xa8, 0xd7, 0xcc, 0x5c, 0x85, 0xf2, 0x61, 0x33, 0x91, 0x44, 0x48, 0x5f, 0x47, 0xfb, 0xec, 0xe7, + 0x90, 0xf8, 0x5f, 0xe9, 0x6c, 0xff, 0x47, 0xa3, 0xc2, 0x7c, 0xe1, 0xdc, 0x64, 0xc0, 0x3a, 0xf6, + 0x32, 0x3a, 0x5e, 0x4d, 0x5d, 0x12, 0x66, 0x54, 0x98, 0x8d, 0xb3, 0xf4, 0xc7, 0x7c, 0xc5, 0x5c, + 0x05, 0x46, 0xa9, 0x50, 0x9a, 0x86, 0x6c, 0xd3, 0xf4, 0x2e, 0x9e, 0x27, 0x54, 0x69, 0x99, 0x3e, + 0x2c, 0xad, 0xde, 0xb9, 0x5b, 0x19, 0xf9, 0xfe, 0xdd, 0xca, 0xc8, 0x3f, 0xde, 0xad, 0x8c, 0xbc, + 0x7e, 0xb7, 0x22, 0xbc, 0x79, 0xb7, 0x22, 0xbc, 0x7d, 0xb7, 0x22, 0xbc, 0x73, 0xb7, 0x22, 0xdc, + 0x3e, 0xa8, 0x08, 0x5f, 0x3d, 0xa8, 0x08, 0x5f, 0x3f, 0xa8, 0x08, 0xdf, 0x3a, 0xa8, 0x08, 0xdf, + 0x3d, 0xa8, 0x08, 0x77, 0x0e, 0x2a, 0xc2, 0xf7, 0x0f, 0x2a, 0x23, 0xaf, 0x1f, 0x54, 0x84, 0x37, + 0x0f, 0x2a, 0x23, 0x6f, 0x1f, 0x54, 0x84, 0x77, 0x0e, 0x2a, 0x23, 0xb7, 0x7f, 0x58, 0x19, 0xf9, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb5, 0xef, 0x1d, 0xb9, 0x85, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1000,34 +1032,3 @@ func valueToStringCastvalue(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { - proto.RegisterFile("combos/marshaler/castvalue.proto", fileDescriptor_castvalue_cc68bdd888d8d1a2) -} - -var fileDescriptor_castvalue_cc68bdd888d8d1a2 = []byte{ - // 358 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x8f, 0xbd, 0x4f, 0x2a, 0x41, - 0x14, 0xc5, 0xe7, 0xb2, 0xe1, 0x85, 0x37, 0xbc, 0x82, 0xb7, 0xef, 0x15, 0x1b, 0x4c, 0x2e, 0x1b, - 0x1a, 0x29, 0x74, 0x37, 0x21, 0xc4, 0x18, 0x4b, 0x8c, 0x85, 0x89, 0x58, 0x50, 0x68, 0x2c, 0x67, - 0xc9, 0xba, 0x10, 0x17, 0x86, 0xec, 0x87, 0x66, 0x3b, 0x0a, 0x2b, 0xff, 0x12, 0x4b, 0x4b, 0x4b, - 0xed, 0x28, 0x29, 0xad, 0x94, 0x19, 0x1b, 0x4a, 0x4a, 0x4a, 0xc3, 0xac, 0xf8, 0x91, 0xe0, 0x47, - 0x62, 0x77, 0xef, 0x99, 0x7b, 0xce, 0xef, 0x0c, 0x35, 0x5b, 0xbc, 0xeb, 0xf0, 0xd0, 0xee, 0xb2, - 0x20, 0x6c, 0x33, 0xdf, 0x0d, 0xec, 0x16, 0x0b, 0xa3, 0x53, 0xe6, 0xc7, 0xae, 0xd5, 0x0f, 0x78, - 0xc4, 0xf5, 0xdf, 0x2f, 0x42, 0x71, 0xdd, 0xeb, 0x44, 0xed, 0xd8, 0xb1, 0x5a, 0xbc, 0x6b, 0x7b, - 0xdc, 0xe3, 0xb6, 0xba, 0x70, 0xe2, 0x63, 0xb5, 0xa9, 0x45, 0x4d, 0xa9, 0xb3, 0x7c, 0xab, 0xd1, - 0xdc, 0x36, 0x0b, 0x23, 0x76, 0xc6, 0x12, 0xbd, 0x4f, 0xff, 0xcd, 0xe7, 0x06, 0xeb, 0x1f, 0xcc, - 0xb3, 0x1a, 0x6e, 0x18, 0x32, 0xcf, 0x35, 0xc0, 0xd4, 0x2a, 0xf9, 0xea, 0x9a, 0xf5, 0x4a, 0x5d, - 0x38, 0xac, 0x25, 0xe7, 0x3b, 0xbd, 0x28, 0x48, 0xea, 0x85, 0xe1, 0x7d, 0x89, 0x5c, 0x3c, 0x94, - 0x72, 0x8d, 0xe4, 0xb0, 0xe3, 0x87, 0xbc, 0xd7, 0x5c, 0x16, 0xad, 0x9f, 0x03, 0x5d, 0x59, 0xa2, - 0xef, 0xc7, 0xbe, 0xcf, 0x1c, 0xdf, 0x35, 0x32, 0x0a, 0x5d, 0xfb, 0x26, 0x7a, 0x61, 0x4b, 0x2b, - 0xfc, 0x79, 0x87, 0xff, 0x0c, 0x53, 0x3c, 0xa2, 0xc6, 0x47, 0x3f, 0xd1, 0x0b, 0x54, 0x3b, 0x71, - 0x13, 0x03, 0x4c, 0xa8, 0x64, 0x9b, 0xf3, 0x51, 0x5f, 0xa5, 0x59, 0xd5, 0xc5, 0xc8, 0x98, 0x50, - 0xc9, 0x57, 0xff, 0xbe, 0x69, 0xf7, 0x0c, 0x4b, 0xdf, 0xb7, 0x32, 0x9b, 0x50, 0x64, 0xd4, 0xfc, - 0xaa, 0xe9, 0x0f, 0x11, 0x65, 0xa4, 0xbf, 0x52, 0x51, 0xff, 0x4f, 0xb3, 0xbb, 0xbd, 0x68, 0xa3, - 0xa6, 0xa2, 0xb4, 0x66, 0xba, 0xd4, 0xf7, 0x86, 0x02, 0xc9, 0x48, 0x20, 0xb9, 0x13, 0x48, 0xc6, - 0x02, 0x61, 0x22, 0x10, 0xa6, 0x02, 0x61, 0x26, 0x10, 0x06, 0x12, 0xe1, 0x52, 0x22, 0x5c, 0x49, - 0x84, 0x6b, 0x89, 0x70, 0x23, 0x11, 0x86, 0x12, 0x61, 0x24, 0x91, 0x8c, 0x25, 0xc2, 0x44, 0x22, - 0x99, 0x4a, 0x84, 0x99, 0x44, 0x32, 0x78, 0x44, 0xf2, 0x14, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x22, - 0x8c, 0x46, 0x8e, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/castvalue/combos/unmarshaler/castvalue.pb.go b/vendor/github.com/gogo/protobuf/test/castvalue/combos/unmarshaler/castvalue.pb.go index eb67ebdc1..93c9c4dd4 100644 --- a/vendor/github.com/gogo/protobuf/test/castvalue/combos/unmarshaler/castvalue.pb.go +++ b/vendor/github.com/gogo/protobuf/test/castvalue/combos/unmarshaler/castvalue.pb.go @@ -3,22 +3,21 @@ package castvalue -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -42,7 +41,7 @@ type Castaway struct { func (m *Castaway) Reset() { *m = Castaway{} } func (*Castaway) ProtoMessage() {} func (*Castaway) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_92129bf361b9c2b5, []int{0} + return fileDescriptor_8a43cbd4586a8bcb, []int{0} } func (m *Castaway) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -50,8 +49,8 @@ func (m *Castaway) XXX_Unmarshal(b []byte) error { func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Castaway.Marshal(b, m, deterministic) } -func (dst *Castaway) XXX_Merge(src proto.Message) { - xxx_messageInfo_Castaway.Merge(dst, src) +func (m *Castaway) XXX_Merge(src proto.Message) { + xxx_messageInfo_Castaway.Merge(m, src) } func (m *Castaway) XXX_Size() int { return xxx_messageInfo_Castaway.Size(m) @@ -72,7 +71,7 @@ type Wilson struct { func (m *Wilson) Reset() { *m = Wilson{} } func (*Wilson) ProtoMessage() {} func (*Wilson) Descriptor() ([]byte, []int) { - return fileDescriptor_castvalue_92129bf361b9c2b5, []int{1} + return fileDescriptor_8a43cbd4586a8bcb, []int{1} } func (m *Wilson) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -80,8 +79,8 @@ func (m *Wilson) XXX_Unmarshal(b []byte) error { func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Wilson.Marshal(b, m, deterministic) } -func (dst *Wilson) XXX_Merge(src proto.Message) { - xxx_messageInfo_Wilson.Merge(dst, src) +func (m *Wilson) XXX_Merge(src proto.Message) { + xxx_messageInfo_Wilson.Merge(m, src) } func (m *Wilson) XXX_Size() int { return xxx_messageInfo_Wilson.Size(m) @@ -98,6 +97,36 @@ func init() { proto.RegisterMapType((map[int32]*MyWilson)(nil), "castvalue.Castaway.CastMapValueMessageNullableEntry") proto.RegisterType((*Wilson)(nil), "castvalue.Wilson") } + +func init() { proto.RegisterFile("combos/unmarshaler/castvalue.proto", fileDescriptor_8a43cbd4586a8bcb) } + +var fileDescriptor_8a43cbd4586a8bcb = []byte{ + // 359 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x8f, 0xbd, 0x4f, 0xf2, 0x50, + 0x14, 0xc6, 0xef, 0xa1, 0xe1, 0x0d, 0xef, 0xc5, 0x01, 0xab, 0x43, 0x83, 0xc9, 0xa1, 0x61, 0x91, + 0x41, 0xdb, 0x84, 0x10, 0x63, 0x1c, 0x31, 0x0e, 0x26, 0xe2, 0xc0, 0xa0, 0x71, 0xbc, 0x25, 0xb5, + 0x10, 0x4b, 0x2f, 0xe9, 0x87, 0xa6, 0x1b, 0x83, 0x93, 0x7f, 0x89, 0xa3, 0xa3, 0xa3, 0x6e, 0x8c, + 0x8c, 0x4e, 0x4a, 0xaf, 0x0b, 0x23, 0x23, 0xa3, 0xe1, 0x56, 0xfc, 0x48, 0xf0, 0x23, 0x71, 0x3b, + 0xe7, 0xb9, 0xe7, 0x79, 0x7e, 0xcf, 0xa5, 0xe5, 0x16, 0xef, 0x5a, 0x3c, 0x30, 0x23, 0xaf, 0xcb, + 0xfc, 0xa0, 0xcd, 0x5c, 0xdb, 0x37, 0x5b, 0x2c, 0x08, 0xcf, 0x99, 0x1b, 0xd9, 0x46, 0xcf, 0xe7, + 0x21, 0x57, 0xff, 0xbf, 0x09, 0xc5, 0x4d, 0xa7, 0x13, 0xb6, 0x23, 0xcb, 0x68, 0xf1, 0xae, 0xe9, + 0x70, 0x87, 0x9b, 0xf2, 0xc2, 0x8a, 0x4e, 0xe5, 0x26, 0x17, 0x39, 0xa5, 0xce, 0xf2, 0xbd, 0x42, + 0x73, 0xbb, 0x2c, 0x08, 0xd9, 0x05, 0x8b, 0xd5, 0x1e, 0x5d, 0x99, 0xcd, 0x0d, 0xd6, 0x3b, 0x9a, + 0x65, 0x35, 0xec, 0x20, 0x60, 0x8e, 0xad, 0x81, 0xae, 0x54, 0xf2, 0xd5, 0x0d, 0xe3, 0x9d, 0x3a, + 0x77, 0x18, 0x0b, 0xce, 0xf7, 0xbc, 0xd0, 0x8f, 0xeb, 0x85, 0xc1, 0x63, 0x89, 0x5c, 0x3d, 0x95, + 0x72, 0x8d, 0xf8, 0xb8, 0xe3, 0x06, 0xdc, 0x6b, 0x2e, 0x8a, 0x56, 0x2f, 0x81, 0xae, 0x2d, 0xd0, + 0x0f, 0x23, 0xd7, 0x65, 0x96, 0x6b, 0x6b, 0x19, 0x89, 0xae, 0xfd, 0x12, 0x3d, 0xb7, 0xa5, 0x15, + 0x96, 0x3e, 0xe1, 0xbf, 0xc3, 0x14, 0x4f, 0xa8, 0xf6, 0xd5, 0x4f, 0xd4, 0x02, 0x55, 0xce, 0xec, + 0x58, 0x03, 0x1d, 0x2a, 0xd9, 0xe6, 0x6c, 0x54, 0xd7, 0x69, 0x56, 0x76, 0xd1, 0x32, 0x3a, 0x54, + 0xf2, 0xd5, 0xe5, 0x0f, 0xed, 0x5e, 0x61, 0xe9, 0xfb, 0x4e, 0x66, 0x1b, 0x8a, 0x8c, 0xea, 0x3f, + 0x35, 0xfd, 0x23, 0xa2, 0x8c, 0xf4, 0x5f, 0x2a, 0xaa, 0xab, 0x34, 0xbb, 0xef, 0x85, 0x5b, 0x35, + 0x19, 0xa5, 0x34, 0xd3, 0xa5, 0x7e, 0x30, 0x48, 0x90, 0x0c, 0x13, 0x24, 0x0f, 0x09, 0x92, 0x51, + 0x82, 0x30, 0x4e, 0x10, 0x26, 0x09, 0xc2, 0x34, 0x41, 0xe8, 0x0b, 0x84, 0x6b, 0x81, 0x70, 0x23, + 0x10, 0x6e, 0x05, 0xc2, 0x9d, 0x40, 0x18, 0x08, 0x24, 0x43, 0x81, 0x30, 0x12, 0x08, 0x63, 0x81, + 0x64, 0x22, 0x10, 0xa6, 0x02, 0x49, 0xff, 0x19, 0xc9, 0x4b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x73, + 0xe3, 0x1c, 0x3e, 0x90, 0x02, 0x00, 0x00, +} + func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return CastvalueDescription() } @@ -107,258 +136,260 @@ func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gog func CastvalueDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4013 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xdc, 0xd6, - 0x75, 0x26, 0xf6, 0x87, 0xdc, 0x3d, 0xbb, 0x5c, 0x82, 0x20, 0x2d, 0xad, 0xe8, 0x64, 0x25, 0xad, - 0xed, 0x88, 0xb6, 0x13, 0x32, 0x23, 0x4b, 0xb2, 0xb4, 0x6a, 0xe2, 0x2e, 0x97, 0x2b, 0x66, 0x5d, - 0xfe, 0x05, 0x4b, 0xc6, 0x96, 0x33, 0x1d, 0x0c, 0x88, 0xbd, 0x5c, 0x42, 0xc2, 0x02, 0x08, 0x80, - 0x95, 0x4c, 0x4d, 0x1f, 0xd4, 0x71, 0xda, 0x4e, 0xda, 0x69, 0x9b, 0xfe, 0xcc, 0x34, 0x71, 0x1d, - 0xb7, 0x49, 0xa7, 0x71, 0x9a, 0xfe, 0x25, 0x4d, 0x9b, 0x26, 0xe9, 0x4b, 0xfa, 0x90, 0xd6, 0x4f, - 0x9d, 0xe4, 0xad, 0x0f, 0x9d, 0xd6, 0x62, 0x3c, 0x53, 0xb7, 0x75, 0x1b, 0xb7, 0xd5, 0x83, 0x67, - 0xfc, 0xd2, 0xb9, 0x7f, 0x58, 0x00, 0xbb, 0x24, 0xc0, 0x74, 0xec, 0x3c, 0x91, 0x38, 0xf7, 0x7c, - 0x1f, 0xce, 0x3d, 0xf7, 0xdc, 0x73, 0xce, 0xbd, 0x58, 0xf8, 0xd1, 0x15, 0x38, 0xd3, 0xb5, 0xac, - 0xae, 0x81, 0x16, 0x6d, 0xc7, 0xf2, 0xac, 0x9d, 0xfe, 0xee, 0x62, 0x07, 0xb9, 0x9a, 0xa3, 0xdb, - 0x9e, 0xe5, 0x2c, 0x10, 0x99, 0x34, 0x45, 0x35, 0x16, 0xb8, 0x46, 0x75, 0x0d, 0xa6, 0xaf, 0xe9, - 0x06, 0x5a, 0xf6, 0x15, 0xdb, 0xc8, 0x93, 0x2e, 0x43, 0x66, 0x57, 0x37, 0x50, 0x59, 0x38, 0x93, - 0x9e, 0x2f, 0x9c, 0x7f, 0x78, 0x21, 0x02, 0x5a, 0x08, 0x23, 0x36, 0xb1, 0x58, 0x26, 0x88, 0xea, - 0xeb, 0x19, 0x98, 0x19, 0x31, 0x2a, 0x49, 0x90, 0x31, 0xd5, 0x1e, 0x66, 0x14, 0xe6, 0xf3, 0x32, - 0xf9, 0x5f, 0x2a, 0xc3, 0x84, 0xad, 0x6a, 0x37, 0xd5, 0x2e, 0x2a, 0xa7, 0x88, 0x98, 0x3f, 0x4a, - 0x15, 0x80, 0x0e, 0xb2, 0x91, 0xd9, 0x41, 0xa6, 0xb6, 0x5f, 0x4e, 0x9f, 0x49, 0xcf, 0xe7, 0xe5, - 0x80, 0x44, 0x7a, 0x1c, 0xa6, 0xed, 0xfe, 0x8e, 0xa1, 0x6b, 0x4a, 0x40, 0x0d, 0xce, 0xa4, 0xe7, - 0xb3, 0xb2, 0x48, 0x07, 0x96, 0x07, 0xca, 0xe7, 0x60, 0xea, 0x36, 0x52, 0x6f, 0x06, 0x55, 0x0b, - 0x44, 0xb5, 0x84, 0xc5, 0x01, 0xc5, 0x06, 0x14, 0x7b, 0xc8, 0x75, 0xd5, 0x2e, 0x52, 0xbc, 0x7d, - 0x1b, 0x95, 0x33, 0x64, 0xf6, 0x67, 0x86, 0x66, 0x1f, 0x9d, 0x79, 0x81, 0xa1, 0xb6, 0xf6, 0x6d, - 0x24, 0xd5, 0x21, 0x8f, 0xcc, 0x7e, 0x8f, 0x32, 0x64, 0x0f, 0xf1, 0x5f, 0xd3, 0xec, 0xf7, 0xa2, - 0x2c, 0x39, 0x0c, 0x63, 0x14, 0x13, 0x2e, 0x72, 0x6e, 0xe9, 0x1a, 0x2a, 0x8f, 0x13, 0x82, 0x73, - 0x43, 0x04, 0x6d, 0x3a, 0x1e, 0xe5, 0xe0, 0x38, 0xa9, 0x01, 0x79, 0xf4, 0xbc, 0x87, 0x4c, 0x57, - 0xb7, 0xcc, 0xf2, 0x04, 0x21, 0x79, 0x64, 0xc4, 0x2a, 0x22, 0xa3, 0x13, 0xa5, 0x18, 0xe0, 0xa4, - 0x4b, 0x30, 0x61, 0xd9, 0x9e, 0x6e, 0x99, 0x6e, 0x39, 0x77, 0x46, 0x98, 0x2f, 0x9c, 0x7f, 0xdf, - 0xc8, 0x40, 0xd8, 0xa0, 0x3a, 0x32, 0x57, 0x96, 0x5a, 0x20, 0xba, 0x56, 0xdf, 0xd1, 0x90, 0xa2, - 0x59, 0x1d, 0xa4, 0xe8, 0xe6, 0xae, 0x55, 0xce, 0x13, 0x82, 0xd3, 0xc3, 0x13, 0x21, 0x8a, 0x0d, - 0xab, 0x83, 0x5a, 0xe6, 0xae, 0x25, 0x97, 0xdc, 0xd0, 0xb3, 0x74, 0x02, 0xc6, 0xdd, 0x7d, 0xd3, - 0x53, 0x9f, 0x2f, 0x17, 0x49, 0x84, 0xb0, 0xa7, 0xea, 0xb7, 0xc7, 0x61, 0x2a, 0x49, 0x88, 0x5d, - 0x85, 0xec, 0x2e, 0x9e, 0x65, 0x39, 0x75, 0x1c, 0x1f, 0x50, 0x4c, 0xd8, 0x89, 0xe3, 0x3f, 0xa6, - 0x13, 0xeb, 0x50, 0x30, 0x91, 0xeb, 0xa1, 0x0e, 0x8d, 0x88, 0x74, 0xc2, 0x98, 0x02, 0x0a, 0x1a, - 0x0e, 0xa9, 0xcc, 0x8f, 0x15, 0x52, 0xcf, 0xc2, 0x94, 0x6f, 0x92, 0xe2, 0xa8, 0x66, 0x97, 0xc7, - 0xe6, 0x62, 0x9c, 0x25, 0x0b, 0x4d, 0x8e, 0x93, 0x31, 0x4c, 0x2e, 0xa1, 0xd0, 0xb3, 0xb4, 0x0c, - 0x60, 0x99, 0xc8, 0xda, 0x55, 0x3a, 0x48, 0x33, 0xca, 0xb9, 0x43, 0xbc, 0xb4, 0x81, 0x55, 0x86, - 0xbc, 0x64, 0x51, 0xa9, 0x66, 0x48, 0x57, 0x06, 0xa1, 0x36, 0x71, 0x48, 0xa4, 0xac, 0xd1, 0x4d, - 0x36, 0x14, 0x6d, 0xdb, 0x50, 0x72, 0x10, 0x8e, 0x7b, 0xd4, 0x61, 0x33, 0xcb, 0x13, 0x23, 0x16, - 0x62, 0x67, 0x26, 0x33, 0x18, 0x9d, 0xd8, 0xa4, 0x13, 0x7c, 0x94, 0x1e, 0x02, 0x5f, 0xa0, 0x90, - 0xb0, 0x02, 0x92, 0x85, 0x8a, 0x5c, 0xb8, 0xae, 0xf6, 0xd0, 0xdc, 0x1d, 0x28, 0x85, 0xdd, 0x23, - 0xcd, 0x42, 0xd6, 0xf5, 0x54, 0xc7, 0x23, 0x51, 0x98, 0x95, 0xe9, 0x83, 0x24, 0x42, 0x1a, 0x99, - 0x1d, 0x92, 0xe5, 0xb2, 0x32, 0xfe, 0x57, 0xfa, 0xe9, 0xc1, 0x84, 0xd3, 0x64, 0xc2, 0x1f, 0x18, - 0x5e, 0xd1, 0x10, 0x73, 0x74, 0xde, 0x73, 0x4f, 0xc2, 0x64, 0x68, 0x02, 0x49, 0x5f, 0x5d, 0xfd, - 0x39, 0x78, 0x60, 0x24, 0xb5, 0xf4, 0x2c, 0xcc, 0xf6, 0x4d, 0xdd, 0xf4, 0x90, 0x63, 0x3b, 0x08, - 0x47, 0x2c, 0x7d, 0x55, 0xf9, 0x5f, 0x27, 0x0e, 0x89, 0xb9, 0xed, 0xa0, 0x36, 0x65, 0x91, 0x67, - 0xfa, 0xc3, 0xc2, 0xc7, 0xf2, 0xb9, 0x37, 0x26, 0xc4, 0xbb, 0x77, 0xef, 0xde, 0x4d, 0x55, 0x3f, - 0x37, 0x0e, 0xb3, 0xa3, 0xf6, 0xcc, 0xc8, 0xed, 0x7b, 0x02, 0xc6, 0xcd, 0x7e, 0x6f, 0x07, 0x39, - 0xc4, 0x49, 0x59, 0x99, 0x3d, 0x49, 0x75, 0xc8, 0x1a, 0xea, 0x0e, 0x32, 0xca, 0x99, 0x33, 0xc2, - 0x7c, 0xe9, 0xfc, 0xe3, 0x89, 0x76, 0xe5, 0xc2, 0x2a, 0x86, 0xc8, 0x14, 0x29, 0x7d, 0x14, 0x32, - 0x2c, 0x45, 0x63, 0x86, 0xc7, 0x92, 0x31, 0xe0, 0xbd, 0x24, 0x13, 0x9c, 0xf4, 0x20, 0xe4, 0xf1, - 0x5f, 0x1a, 0x1b, 0xe3, 0xc4, 0xe6, 0x1c, 0x16, 0xe0, 0xb8, 0x90, 0xe6, 0x20, 0x47, 0xb6, 0x49, - 0x07, 0xf1, 0xd2, 0xe6, 0x3f, 0xe3, 0xc0, 0xea, 0xa0, 0x5d, 0xb5, 0x6f, 0x78, 0xca, 0x2d, 0xd5, - 0xe8, 0x23, 0x12, 0xf0, 0x79, 0xb9, 0xc8, 0x84, 0x9f, 0xc0, 0x32, 0xe9, 0x34, 0x14, 0xe8, 0xae, - 0xd2, 0xcd, 0x0e, 0x7a, 0x9e, 0x64, 0xcf, 0xac, 0x4c, 0x37, 0x5a, 0x0b, 0x4b, 0xf0, 0xeb, 0x6f, - 0xb8, 0x96, 0xc9, 0x43, 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x9f, 0x8c, 0x26, 0xee, 0xf7, 0x8f, - 0x9e, 0x5e, 0x34, 0xa6, 0xaa, 0xdf, 0x4c, 0x41, 0x86, 0xe4, 0x8b, 0x29, 0x28, 0x6c, 0x5d, 0xdf, - 0x6c, 0x2a, 0xcb, 0x1b, 0xdb, 0x4b, 0xab, 0x4d, 0x51, 0x90, 0x4a, 0x00, 0x44, 0x70, 0x6d, 0x75, - 0xa3, 0xbe, 0x25, 0xa6, 0xfc, 0xe7, 0xd6, 0xfa, 0xd6, 0xa5, 0x0b, 0x62, 0xda, 0x07, 0x6c, 0x53, - 0x41, 0x26, 0xa8, 0xf0, 0xc4, 0x79, 0x31, 0x2b, 0x89, 0x50, 0xa4, 0x04, 0xad, 0x67, 0x9b, 0xcb, - 0x97, 0x2e, 0x88, 0xe3, 0x61, 0xc9, 0x13, 0xe7, 0xc5, 0x09, 0x69, 0x12, 0xf2, 0x44, 0xb2, 0xb4, - 0xb1, 0xb1, 0x2a, 0xe6, 0x7c, 0xce, 0xf6, 0x96, 0xdc, 0x5a, 0x5f, 0x11, 0xf3, 0x3e, 0xe7, 0x8a, - 0xbc, 0xb1, 0xbd, 0x29, 0x82, 0xcf, 0xb0, 0xd6, 0x6c, 0xb7, 0xeb, 0x2b, 0x4d, 0xb1, 0xe0, 0x6b, - 0x2c, 0x5d, 0xdf, 0x6a, 0xb6, 0xc5, 0x62, 0xc8, 0xac, 0x27, 0xce, 0x8b, 0x93, 0xfe, 0x2b, 0x9a, - 0xeb, 0xdb, 0x6b, 0x62, 0x49, 0x9a, 0x86, 0x49, 0xfa, 0x0a, 0x6e, 0xc4, 0x54, 0x44, 0x74, 0xe9, - 0x82, 0x28, 0x0e, 0x0c, 0xa1, 0x2c, 0xd3, 0x21, 0xc1, 0xa5, 0x0b, 0xa2, 0x54, 0x6d, 0x40, 0x96, - 0x44, 0x97, 0x24, 0x41, 0x69, 0xb5, 0xbe, 0xd4, 0x5c, 0x55, 0x36, 0x36, 0xb7, 0x5a, 0x1b, 0xeb, - 0xf5, 0x55, 0x51, 0x18, 0xc8, 0xe4, 0xe6, 0xc7, 0xb7, 0x5b, 0x72, 0x73, 0x59, 0x4c, 0x05, 0x65, - 0x9b, 0xcd, 0xfa, 0x56, 0x73, 0x59, 0x4c, 0x57, 0x35, 0x98, 0x1d, 0x95, 0x27, 0x47, 0xee, 0x8c, - 0xc0, 0x12, 0xa7, 0x0e, 0x59, 0x62, 0xc2, 0x35, 0xb4, 0xc4, 0x3f, 0x4c, 0xc1, 0xcc, 0x88, 0x5a, - 0x31, 0xf2, 0x25, 0x4f, 0x41, 0x96, 0x86, 0x28, 0xad, 0x9e, 0x8f, 0x8e, 0x2c, 0x3a, 0x24, 0x60, - 0x87, 0x2a, 0x28, 0xc1, 0x05, 0x3b, 0x88, 0xf4, 0x21, 0x1d, 0x04, 0xa6, 0x18, 0xca, 0xe9, 0x3f, - 0x3b, 0x94, 0xd3, 0x69, 0xd9, 0xbb, 0x94, 0xa4, 0xec, 0x11, 0xd9, 0xf1, 0x72, 0x7b, 0x76, 0x44, - 0x6e, 0xbf, 0x0a, 0xd3, 0x43, 0x44, 0x89, 0x73, 0xec, 0x0b, 0x02, 0x94, 0x0f, 0x73, 0x4e, 0x4c, - 0xa6, 0x4b, 0x85, 0x32, 0xdd, 0xd5, 0xa8, 0x07, 0xcf, 0x1e, 0xbe, 0x08, 0x43, 0x6b, 0xfd, 0x8a, - 0x00, 0x27, 0x46, 0x77, 0x8a, 0x23, 0x6d, 0xf8, 0x28, 0x8c, 0xf7, 0x90, 0xb7, 0x67, 0xf1, 0x6e, - 0xe9, 0x03, 0x23, 0x6a, 0x30, 0x1e, 0x8e, 0x2e, 0x36, 0x43, 0x05, 0x8b, 0x78, 0xfa, 0xb0, 0x76, - 0x8f, 0x5a, 0x33, 0x64, 0xe9, 0x67, 0x52, 0xf0, 0xc0, 0x48, 0xf2, 0x91, 0x86, 0xbe, 0x1f, 0x40, - 0x37, 0xed, 0xbe, 0x47, 0x3b, 0x22, 0x9a, 0x60, 0xf3, 0x44, 0x42, 0x92, 0x17, 0x4e, 0x9e, 0x7d, - 0xcf, 0x1f, 0x4f, 0x93, 0x71, 0xa0, 0x22, 0xa2, 0x70, 0x79, 0x60, 0x68, 0x86, 0x18, 0x5a, 0x39, - 0x64, 0xa6, 0x43, 0x81, 0xf9, 0x61, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, - 0x9e, 0x6e, 0x76, 0x49, 0x05, 0xc9, 0xd5, 0xb2, 0xbb, 0xaa, 0xe1, 0x22, 0x79, 0x8a, 0x0e, 0xb7, - 0xf9, 0x28, 0x46, 0x90, 0x00, 0x72, 0x02, 0x88, 0xf1, 0x10, 0x82, 0x0e, 0xfb, 0x88, 0xea, 0x37, - 0x72, 0x50, 0x08, 0xf4, 0xd5, 0xd2, 0x59, 0x28, 0xde, 0x50, 0x6f, 0xa9, 0x0a, 0x3f, 0x2b, 0x51, - 0x4f, 0x14, 0xb0, 0x6c, 0x93, 0x9d, 0x97, 0x3e, 0x0c, 0xb3, 0x44, 0xc5, 0xea, 0x7b, 0xc8, 0x51, - 0x34, 0x43, 0x75, 0x5d, 0xe2, 0xb4, 0x1c, 0x51, 0x95, 0xf0, 0xd8, 0x06, 0x1e, 0x6a, 0xf0, 0x11, - 0xe9, 0x22, 0xcc, 0x10, 0x44, 0xaf, 0x6f, 0x78, 0xba, 0x6d, 0x20, 0x05, 0x9f, 0xde, 0x5c, 0x52, - 0x49, 0x7c, 0xcb, 0xa6, 0xb1, 0xc6, 0x1a, 0x53, 0xc0, 0x16, 0xb9, 0xd2, 0x32, 0xbc, 0x9f, 0xc0, - 0xba, 0xc8, 0x44, 0x8e, 0xea, 0x21, 0x05, 0x7d, 0xaa, 0xaf, 0x1a, 0xae, 0xa2, 0x9a, 0x1d, 0x65, - 0x4f, 0x75, 0xf7, 0xca, 0xb3, 0x98, 0x60, 0x29, 0x55, 0x16, 0xe4, 0x53, 0x58, 0x71, 0x85, 0xe9, - 0x35, 0x89, 0x5a, 0xdd, 0xec, 0x7c, 0x4c, 0x75, 0xf7, 0xa4, 0x1a, 0x9c, 0x20, 0x2c, 0xae, 0xe7, - 0xe8, 0x66, 0x57, 0xd1, 0xf6, 0x90, 0x76, 0x53, 0xe9, 0x7b, 0xbb, 0x97, 0xcb, 0x0f, 0x06, 0xdf, - 0x4f, 0x2c, 0x6c, 0x13, 0x9d, 0x06, 0x56, 0xd9, 0xf6, 0x76, 0x2f, 0x4b, 0x6d, 0x28, 0xe2, 0xc5, - 0xe8, 0xe9, 0x77, 0x90, 0xb2, 0x6b, 0x39, 0xa4, 0x34, 0x96, 0x46, 0xa4, 0xa6, 0x80, 0x07, 0x17, - 0x36, 0x18, 0x60, 0xcd, 0xea, 0xa0, 0x5a, 0xb6, 0xbd, 0xd9, 0x6c, 0x2e, 0xcb, 0x05, 0xce, 0x72, - 0xcd, 0x72, 0x70, 0x40, 0x75, 0x2d, 0xdf, 0xc1, 0x05, 0x1a, 0x50, 0x5d, 0x8b, 0xbb, 0xf7, 0x22, - 0xcc, 0x68, 0x1a, 0x9d, 0xb3, 0xae, 0x29, 0xec, 0x8c, 0xe5, 0x96, 0xc5, 0x90, 0xb3, 0x34, 0x6d, - 0x85, 0x2a, 0xb0, 0x18, 0x77, 0xa5, 0x2b, 0xf0, 0xc0, 0xc0, 0x59, 0x41, 0xe0, 0xf4, 0xd0, 0x2c, - 0xa3, 0xd0, 0x8b, 0x30, 0x63, 0xef, 0x0f, 0x03, 0xa5, 0xd0, 0x1b, 0xed, 0xfd, 0x28, 0xec, 0x49, - 0x98, 0xb5, 0xf7, 0xec, 0x61, 0xdc, 0x63, 0x41, 0x9c, 0x64, 0xef, 0xd9, 0x51, 0xe0, 0x23, 0xe4, - 0xc0, 0xed, 0x20, 0x4d, 0xf5, 0x50, 0xa7, 0x7c, 0x32, 0xa8, 0x1e, 0x18, 0x90, 0x16, 0x41, 0xd4, - 0x34, 0x05, 0x99, 0xea, 0x8e, 0x81, 0x14, 0xd5, 0x41, 0xa6, 0xea, 0x96, 0x4f, 0x07, 0x95, 0x4b, - 0x9a, 0xd6, 0x24, 0xa3, 0x75, 0x32, 0x28, 0x3d, 0x06, 0xd3, 0xd6, 0xce, 0x0d, 0x8d, 0x86, 0xa4, - 0x62, 0x3b, 0x68, 0x57, 0x7f, 0xbe, 0xfc, 0x30, 0xf1, 0xef, 0x14, 0x1e, 0x20, 0x01, 0xb9, 0x49, - 0xc4, 0xd2, 0xa3, 0x20, 0x6a, 0xee, 0x9e, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0xa1, 0xf2, - 0x23, 0x54, 0x95, 0xca, 0xd7, 0xb9, 0x18, 0x6f, 0x09, 0xf7, 0xb6, 0xbe, 0xeb, 0x71, 0xc6, 0x73, - 0x74, 0x4b, 0x10, 0x19, 0x63, 0x9b, 0x07, 0x11, 0xbb, 0x22, 0xf4, 0xe2, 0x79, 0xa2, 0x56, 0xb2, - 0xf7, 0xec, 0xe0, 0x7b, 0x1f, 0x82, 0x49, 0xac, 0x39, 0x78, 0xe9, 0xa3, 0xb4, 0x21, 0xb3, 0xf7, - 0x02, 0x6f, 0x7c, 0xd7, 0x7a, 0xe3, 0x6a, 0x0d, 0x8a, 0xc1, 0xf8, 0x94, 0xf2, 0x40, 0x23, 0x54, - 0x14, 0x70, 0xb3, 0xd2, 0xd8, 0x58, 0xc6, 0x6d, 0xc6, 0x73, 0x4d, 0x31, 0x85, 0xdb, 0x9d, 0xd5, - 0xd6, 0x56, 0x53, 0x91, 0xb7, 0xd7, 0xb7, 0x5a, 0x6b, 0x4d, 0x31, 0x1d, 0xec, 0xab, 0xbf, 0x97, - 0x82, 0x52, 0xf8, 0x88, 0x24, 0xfd, 0x14, 0x9c, 0xe4, 0xf7, 0x19, 0x2e, 0xf2, 0x94, 0xdb, 0xba, - 0x43, 0xb6, 0x4c, 0x4f, 0xa5, 0xe5, 0xcb, 0x5f, 0xb4, 0x59, 0xa6, 0xd5, 0x46, 0xde, 0x33, 0xba, - 0x83, 0x37, 0x44, 0x4f, 0xf5, 0xa4, 0x55, 0x38, 0x6d, 0x5a, 0x8a, 0xeb, 0xa9, 0x66, 0x47, 0x75, - 0x3a, 0xca, 0xe0, 0x26, 0x49, 0x51, 0x35, 0x0d, 0xb9, 0xae, 0x45, 0x4b, 0x95, 0xcf, 0xf2, 0x3e, - 0xd3, 0x6a, 0x33, 0xe5, 0x41, 0x0e, 0xaf, 0x33, 0xd5, 0x48, 0x80, 0xa5, 0x0f, 0x0b, 0xb0, 0x07, - 0x21, 0xdf, 0x53, 0x6d, 0x05, 0x99, 0x9e, 0xb3, 0x4f, 0x1a, 0xe3, 0x9c, 0x9c, 0xeb, 0xa9, 0x76, - 0x13, 0x3f, 0xbf, 0x37, 0xe7, 0x93, 0x7f, 0x4a, 0x43, 0x31, 0xd8, 0x1c, 0xe3, 0xb3, 0x86, 0x46, - 0xea, 0x88, 0x40, 0x32, 0xcd, 0x43, 0x47, 0xb6, 0xd2, 0x0b, 0x0d, 0x5c, 0x60, 0x6a, 0xe3, 0xb4, - 0x65, 0x95, 0x29, 0x12, 0x17, 0x77, 0x9c, 0x5b, 0x10, 0x6d, 0x11, 0x72, 0x32, 0x7b, 0x92, 0x56, - 0x60, 0xfc, 0x86, 0x4b, 0xb8, 0xc7, 0x09, 0xf7, 0xc3, 0x47, 0x73, 0x3f, 0xdd, 0x26, 0xe4, 0xf9, - 0xa7, 0xdb, 0xca, 0xfa, 0x86, 0xbc, 0x56, 0x5f, 0x95, 0x19, 0x5c, 0x3a, 0x05, 0x19, 0x43, 0xbd, - 0xb3, 0x1f, 0x2e, 0x45, 0x44, 0x94, 0xd4, 0xf1, 0xa7, 0x20, 0x73, 0x1b, 0xa9, 0x37, 0xc3, 0x05, - 0x80, 0x88, 0xde, 0xc5, 0xd0, 0x5f, 0x84, 0x2c, 0xf1, 0x97, 0x04, 0xc0, 0x3c, 0x26, 0x8e, 0x49, - 0x39, 0xc8, 0x34, 0x36, 0x64, 0x1c, 0xfe, 0x22, 0x14, 0xa9, 0x54, 0xd9, 0x6c, 0x35, 0x1b, 0x4d, - 0x31, 0x55, 0xbd, 0x08, 0xe3, 0xd4, 0x09, 0x78, 0x6b, 0xf8, 0x6e, 0x10, 0xc7, 0xd8, 0x23, 0xe3, - 0x10, 0xf8, 0xe8, 0xf6, 0xda, 0x52, 0x53, 0x16, 0x53, 0xc1, 0xe5, 0x75, 0xa1, 0x18, 0xec, 0x8b, - 0xdf, 0x9b, 0x98, 0xfa, 0x8e, 0x00, 0x85, 0x40, 0x9f, 0x8b, 0x1b, 0x14, 0xd5, 0x30, 0xac, 0xdb, - 0x8a, 0x6a, 0xe8, 0xaa, 0xcb, 0x82, 0x02, 0x88, 0xa8, 0x8e, 0x25, 0x49, 0x17, 0xed, 0x3d, 0x31, - 0xfe, 0x65, 0x01, 0xc4, 0x68, 0x8b, 0x19, 0x31, 0x50, 0xf8, 0x89, 0x1a, 0xf8, 0x92, 0x00, 0xa5, - 0x70, 0x5f, 0x19, 0x31, 0xef, 0xec, 0x4f, 0xd4, 0xbc, 0xd7, 0x52, 0x30, 0x19, 0xea, 0x26, 0x93, - 0x5a, 0xf7, 0x29, 0x98, 0xd6, 0x3b, 0xa8, 0x67, 0x5b, 0x1e, 0x32, 0xb5, 0x7d, 0xc5, 0x40, 0xb7, - 0x90, 0x51, 0xae, 0x92, 0x44, 0xb1, 0x78, 0x74, 0xbf, 0xba, 0xd0, 0x1a, 0xe0, 0x56, 0x31, 0xac, - 0x36, 0xd3, 0x5a, 0x6e, 0xae, 0x6d, 0x6e, 0x6c, 0x35, 0xd7, 0x1b, 0xd7, 0x95, 0xed, 0xf5, 0x9f, - 0x59, 0xdf, 0x78, 0x66, 0x5d, 0x16, 0xf5, 0x88, 0xda, 0xbb, 0xb8, 0xd5, 0x37, 0x41, 0x8c, 0x1a, - 0x25, 0x9d, 0x84, 0x51, 0x66, 0x89, 0x63, 0xd2, 0x0c, 0x4c, 0xad, 0x6f, 0x28, 0xed, 0xd6, 0x72, - 0x53, 0x69, 0x5e, 0xbb, 0xd6, 0x6c, 0x6c, 0xb5, 0xe9, 0x0d, 0x84, 0xaf, 0xbd, 0x15, 0xde, 0xd4, - 0x2f, 0xa6, 0x61, 0x66, 0x84, 0x25, 0x52, 0x9d, 0x9d, 0x1d, 0xe8, 0x71, 0xe6, 0x43, 0x49, 0xac, - 0x5f, 0xc0, 0x25, 0x7f, 0x53, 0x75, 0x3c, 0x76, 0xd4, 0x78, 0x14, 0xb0, 0x97, 0x4c, 0x4f, 0xdf, - 0xd5, 0x91, 0xc3, 0x2e, 0x6c, 0xe8, 0x81, 0x62, 0x6a, 0x20, 0xa7, 0x77, 0x36, 0x1f, 0x04, 0xc9, - 0xb6, 0x5c, 0xdd, 0xd3, 0x6f, 0x21, 0x45, 0x37, 0xf9, 0xed, 0x0e, 0x3e, 0x60, 0x64, 0x64, 0x91, - 0x8f, 0xb4, 0x4c, 0xcf, 0xd7, 0x36, 0x51, 0x57, 0x8d, 0x68, 0xe3, 0x04, 0x9e, 0x96, 0x45, 0x3e, - 0xe2, 0x6b, 0x9f, 0x85, 0x62, 0xc7, 0xea, 0xe3, 0xae, 0x8b, 0xea, 0xe1, 0x7a, 0x21, 0xc8, 0x05, - 0x2a, 0xf3, 0x55, 0x58, 0x3f, 0x3d, 0xb8, 0x56, 0x2a, 0xca, 0x05, 0x2a, 0xa3, 0x2a, 0xe7, 0x60, - 0x4a, 0xed, 0x76, 0x1d, 0x4c, 0xce, 0x89, 0xe8, 0x09, 0xa1, 0xe4, 0x8b, 0x89, 0xe2, 0xdc, 0xd3, - 0x90, 0xe3, 0x7e, 0xc0, 0x25, 0x19, 0x7b, 0x42, 0xb1, 0xe9, 0xb1, 0x37, 0x35, 0x9f, 0x97, 0x73, - 0x26, 0x1f, 0x3c, 0x0b, 0x45, 0xdd, 0x55, 0x06, 0xb7, 0xe4, 0xa9, 0x33, 0xa9, 0xf9, 0x9c, 0x5c, - 0xd0, 0x5d, 0xff, 0x86, 0xb1, 0xfa, 0x4a, 0x0a, 0x4a, 0xe1, 0x5b, 0x7e, 0x69, 0x19, 0x72, 0x86, - 0xa5, 0xa9, 0x24, 0xb4, 0xe8, 0x27, 0xa6, 0xf9, 0x98, 0x0f, 0x03, 0x0b, 0xab, 0x4c, 0x5f, 0xf6, - 0x91, 0x73, 0xff, 0x20, 0x40, 0x8e, 0x8b, 0xa5, 0x13, 0x90, 0xb1, 0x55, 0x6f, 0x8f, 0xd0, 0x65, - 0x97, 0x52, 0xa2, 0x20, 0x93, 0x67, 0x2c, 0x77, 0x6d, 0xd5, 0x24, 0x21, 0xc0, 0xe4, 0xf8, 0x19, - 0xaf, 0xab, 0x81, 0xd4, 0x0e, 0x39, 0x7e, 0x58, 0xbd, 0x1e, 0x32, 0x3d, 0x97, 0xaf, 0x2b, 0x93, - 0x37, 0x98, 0x58, 0x7a, 0x1c, 0xa6, 0x3d, 0x47, 0xd5, 0x8d, 0x90, 0x6e, 0x86, 0xe8, 0x8a, 0x7c, - 0xc0, 0x57, 0xae, 0xc1, 0x29, 0xce, 0xdb, 0x41, 0x9e, 0xaa, 0xed, 0xa1, 0xce, 0x00, 0x34, 0x4e, - 0xae, 0x19, 0x4e, 0x32, 0x85, 0x65, 0x36, 0xce, 0xb1, 0xd5, 0x1f, 0x08, 0x30, 0xcd, 0x0f, 0x4c, - 0x1d, 0xdf, 0x59, 0x6b, 0x00, 0xaa, 0x69, 0x5a, 0x5e, 0xd0, 0x5d, 0xc3, 0xa1, 0x3c, 0x84, 0x5b, - 0xa8, 0xfb, 0x20, 0x39, 0x40, 0x30, 0xd7, 0x03, 0x18, 0x8c, 0x1c, 0xea, 0xb6, 0xd3, 0x50, 0x60, - 0x9f, 0x70, 0xc8, 0x77, 0x40, 0x7a, 0xc4, 0x06, 0x2a, 0xc2, 0x27, 0x2b, 0x69, 0x16, 0xb2, 0x3b, - 0xa8, 0xab, 0x9b, 0xec, 0x62, 0x96, 0x3e, 0xf0, 0x8b, 0x90, 0x8c, 0x7f, 0x11, 0xb2, 0xf4, 0x49, - 0x98, 0xd1, 0xac, 0x5e, 0xd4, 0xdc, 0x25, 0x31, 0x72, 0xcc, 0x77, 0x3f, 0x26, 0x3c, 0x07, 0x83, - 0x16, 0xf3, 0x6d, 0x41, 0xf8, 0x52, 0x2a, 0xbd, 0xb2, 0xb9, 0xf4, 0xd5, 0xd4, 0xdc, 0x0a, 0x85, - 0x6e, 0xf2, 0x99, 0xca, 0x68, 0xd7, 0x40, 0x1a, 0xb6, 0x1e, 0xbe, 0xfc, 0x38, 0x7c, 0xa8, 0xab, - 0x7b, 0x7b, 0xfd, 0x9d, 0x05, 0xcd, 0xea, 0x2d, 0x76, 0xad, 0xae, 0x35, 0xf8, 0xf4, 0x89, 0x9f, - 0xc8, 0x03, 0xf9, 0x8f, 0x7d, 0xfe, 0xcc, 0xfb, 0xd2, 0xb9, 0xd8, 0x6f, 0xa5, 0xb5, 0x75, 0x98, - 0x61, 0xca, 0x0a, 0xf9, 0xfe, 0x42, 0x4f, 0x11, 0xd2, 0x91, 0x77, 0x58, 0xe5, 0xaf, 0xbf, 0x4e, - 0xca, 0xb5, 0x3c, 0xcd, 0xa0, 0x78, 0x8c, 0x1e, 0x34, 0x6a, 0x32, 0x3c, 0x10, 0xe2, 0xa3, 0x5b, - 0x13, 0x39, 0x31, 0x8c, 0xdf, 0x63, 0x8c, 0x33, 0x01, 0xc6, 0x36, 0x83, 0xd6, 0x1a, 0x30, 0x79, - 0x1c, 0xae, 0xbf, 0x63, 0x5c, 0x45, 0x14, 0x24, 0x59, 0x81, 0x29, 0x42, 0xa2, 0xf5, 0x5d, 0xcf, - 0xea, 0x91, 0xbc, 0x77, 0x34, 0xcd, 0xdf, 0xbf, 0x4e, 0xf7, 0x4a, 0x09, 0xc3, 0x1a, 0x3e, 0xaa, - 0x56, 0x03, 0xf2, 0xc9, 0xa9, 0x83, 0x34, 0x23, 0x86, 0xe1, 0x55, 0x66, 0x88, 0xaf, 0x5f, 0xfb, - 0x04, 0xcc, 0xe2, 0xff, 0x49, 0x5a, 0x0a, 0x5a, 0x12, 0x7f, 0xe1, 0x55, 0xfe, 0xc1, 0x0b, 0x74, - 0x3b, 0xce, 0xf8, 0x04, 0x01, 0x9b, 0x02, 0xab, 0xd8, 0x45, 0x9e, 0x87, 0x1c, 0x57, 0x51, 0x8d, - 0x51, 0xe6, 0x05, 0x6e, 0x0c, 0xca, 0x9f, 0x7f, 0x33, 0xbc, 0x8a, 0x2b, 0x14, 0x59, 0x37, 0x8c, - 0xda, 0x36, 0x9c, 0x1c, 0x11, 0x15, 0x09, 0x38, 0x5f, 0x64, 0x9c, 0xb3, 0x43, 0x91, 0x81, 0x69, - 0x37, 0x81, 0xcb, 0xfd, 0xb5, 0x4c, 0xc0, 0xf9, 0xbb, 0x8c, 0x53, 0x62, 0x58, 0xbe, 0xa4, 0x98, - 0xf1, 0x69, 0x98, 0xbe, 0x85, 0x9c, 0x1d, 0xcb, 0x65, 0xb7, 0x34, 0x09, 0xe8, 0x5e, 0x62, 0x74, - 0x53, 0x0c, 0x48, 0xae, 0x6d, 0x30, 0xd7, 0x15, 0xc8, 0xed, 0xaa, 0x1a, 0x4a, 0x40, 0xf1, 0x05, - 0x46, 0x31, 0x81, 0xf5, 0x31, 0xb4, 0x0e, 0xc5, 0xae, 0xc5, 0x2a, 0x53, 0x3c, 0xfc, 0x65, 0x06, - 0x2f, 0x70, 0x0c, 0xa3, 0xb0, 0x2d, 0xbb, 0x6f, 0xe0, 0xb2, 0x15, 0x4f, 0xf1, 0x7b, 0x9c, 0x82, - 0x63, 0x18, 0xc5, 0x31, 0xdc, 0xfa, 0xfb, 0x9c, 0xc2, 0x0d, 0xf8, 0xf3, 0x29, 0x28, 0x58, 0xa6, - 0xb1, 0x6f, 0x99, 0x49, 0x8c, 0xf8, 0x22, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x57, 0x21, 0x9f, 0x74, - 0x21, 0xfe, 0xf0, 0x4d, 0xbe, 0x3d, 0xf8, 0x0a, 0xac, 0xc0, 0x14, 0x4f, 0x50, 0xba, 0x65, 0x26, - 0xa0, 0xf8, 0x32, 0xa3, 0x28, 0x05, 0x60, 0x6c, 0x1a, 0x1e, 0x72, 0xbd, 0x2e, 0x4a, 0x42, 0xf2, - 0x0a, 0x9f, 0x06, 0x83, 0x30, 0x57, 0xee, 0x20, 0x53, 0xdb, 0x4b, 0xc6, 0xf0, 0x15, 0xee, 0x4a, - 0x8e, 0xc1, 0x14, 0x0d, 0x98, 0xec, 0xa9, 0x8e, 0xbb, 0xa7, 0x1a, 0x89, 0x96, 0xe3, 0x8f, 0x18, - 0x47, 0xd1, 0x07, 0x31, 0x8f, 0xf4, 0xcd, 0xe3, 0xd0, 0x7c, 0x95, 0x7b, 0x24, 0x00, 0x63, 0x5b, - 0xcf, 0xf5, 0xc8, 0x95, 0xd6, 0x71, 0xd8, 0xfe, 0x98, 0x6f, 0x3d, 0x8a, 0x5d, 0x0b, 0x32, 0x5e, - 0x85, 0xbc, 0xab, 0xdf, 0x49, 0x44, 0xf3, 0x27, 0x7c, 0xa5, 0x09, 0x00, 0x83, 0xaf, 0xc3, 0xa9, - 0x91, 0x65, 0x22, 0x01, 0xd9, 0x9f, 0x32, 0xb2, 0x13, 0x23, 0x4a, 0x05, 0x4b, 0x09, 0xc7, 0xa5, - 0xfc, 0x33, 0x9e, 0x12, 0x50, 0x84, 0x6b, 0x13, 0x9f, 0x15, 0x5c, 0x75, 0xf7, 0x78, 0x5e, 0xfb, - 0x73, 0xee, 0x35, 0x8a, 0x0d, 0x79, 0x6d, 0x0b, 0x4e, 0x30, 0xc6, 0xe3, 0xad, 0xeb, 0xd7, 0x78, - 0x62, 0xa5, 0xe8, 0xed, 0xf0, 0xea, 0x7e, 0x12, 0xe6, 0x7c, 0x77, 0xf2, 0xa6, 0xd4, 0x55, 0x7a, - 0xaa, 0x9d, 0x80, 0xf9, 0xeb, 0x8c, 0x99, 0x67, 0x7c, 0xbf, 0xab, 0x75, 0xd7, 0x54, 0x1b, 0x93, - 0x3f, 0x0b, 0x65, 0x4e, 0xde, 0x37, 0x1d, 0xa4, 0x59, 0x5d, 0x53, 0xbf, 0x83, 0x3a, 0x09, 0xa8, - 0xff, 0x22, 0xb2, 0x54, 0xdb, 0x01, 0x38, 0x66, 0x6e, 0x81, 0xe8, 0xf7, 0x2a, 0x8a, 0xde, 0xb3, - 0x2d, 0xc7, 0x8b, 0x61, 0xfc, 0x06, 0x5f, 0x29, 0x1f, 0xd7, 0x22, 0xb0, 0x5a, 0x13, 0x4a, 0xe4, - 0x31, 0x69, 0x48, 0xfe, 0x25, 0x23, 0x9a, 0x1c, 0xa0, 0x58, 0xe2, 0xd0, 0xac, 0x9e, 0xad, 0x3a, - 0x49, 0xf2, 0xdf, 0x5f, 0xf1, 0xc4, 0xc1, 0x20, 0x2c, 0x71, 0x78, 0xfb, 0x36, 0xc2, 0xd5, 0x3e, - 0x01, 0xc3, 0x37, 0x79, 0xe2, 0xe0, 0x18, 0x46, 0xc1, 0x1b, 0x86, 0x04, 0x14, 0x7f, 0xcd, 0x29, - 0x38, 0x06, 0x53, 0x7c, 0x7c, 0x50, 0x68, 0x1d, 0xd4, 0xd5, 0x5d, 0xcf, 0xa1, 0xad, 0xf0, 0xd1, - 0x54, 0xdf, 0x7a, 0x33, 0xdc, 0x84, 0xc9, 0x01, 0x28, 0xce, 0x44, 0xec, 0x0a, 0x95, 0x9c, 0x94, - 0xe2, 0x0d, 0xfb, 0x36, 0xcf, 0x44, 0x01, 0x18, 0xb6, 0x2d, 0xd0, 0x21, 0x62, 0xb7, 0x6b, 0xf8, - 0x7c, 0x90, 0x80, 0xee, 0x3b, 0x11, 0xe3, 0xda, 0x1c, 0x8b, 0x39, 0x03, 0xfd, 0x4f, 0xdf, 0xbc, - 0x89, 0xf6, 0x13, 0x45, 0xe7, 0xdf, 0x44, 0xfa, 0x9f, 0x6d, 0x8a, 0xa4, 0x39, 0x64, 0x2a, 0xd2, - 0x4f, 0x49, 0x71, 0x3f, 0xd6, 0x29, 0xff, 0xfc, 0x7d, 0x36, 0xdf, 0x70, 0x3b, 0x55, 0x5b, 0xc5, - 0x41, 0x1e, 0x6e, 0x7a, 0xe2, 0xc9, 0x5e, 0xb8, 0xef, 0xc7, 0x79, 0xa8, 0xe7, 0xa9, 0x5d, 0x83, - 0xc9, 0x50, 0xc3, 0x13, 0x4f, 0xf5, 0x69, 0x46, 0x55, 0x0c, 0xf6, 0x3b, 0xb5, 0x8b, 0x90, 0xc1, - 0xcd, 0x4b, 0x3c, 0xfc, 0x17, 0x18, 0x9c, 0xa8, 0xd7, 0x3e, 0x02, 0x39, 0xde, 0xb4, 0xc4, 0x43, - 0x7f, 0x91, 0x41, 0x7d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1e, 0xfe, 0x4b, 0x1c, 0xce, 0x21, 0x18, - 0x9e, 0xdc, 0x85, 0xdf, 0xfd, 0x95, 0x0c, 0x2b, 0x3a, 0xdc, 0x77, 0x57, 0x61, 0x82, 0x75, 0x2a, - 0xf1, 0xe8, 0xcf, 0xb0, 0x97, 0x73, 0x44, 0xed, 0x49, 0xc8, 0x26, 0x74, 0xf8, 0xaf, 0x32, 0x28, - 0xd5, 0xaf, 0x35, 0xa0, 0x10, 0xe8, 0x4e, 0xe2, 0xe1, 0xbf, 0xc6, 0xe0, 0x41, 0x14, 0x36, 0x9d, - 0x75, 0x27, 0xf1, 0x04, 0xbf, 0xce, 0x4d, 0x67, 0x08, 0xec, 0x36, 0xde, 0x98, 0xc4, 0xa3, 0x3f, - 0xcb, 0xbd, 0xce, 0x21, 0xb5, 0xa7, 0x20, 0xef, 0x17, 0x9b, 0x78, 0xfc, 0x6f, 0x30, 0xfc, 0x00, - 0x83, 0x3d, 0x10, 0x28, 0x76, 0xf1, 0x14, 0xbf, 0xc9, 0x3d, 0x10, 0x40, 0xe1, 0x6d, 0x14, 0x6d, - 0x60, 0xe2, 0x99, 0x7e, 0x8b, 0x6f, 0xa3, 0x48, 0xff, 0x82, 0x57, 0x93, 0xe4, 0xfc, 0x78, 0x8a, - 0xdf, 0xe6, 0xab, 0x49, 0xf4, 0xb1, 0x19, 0xd1, 0x8e, 0x20, 0x9e, 0xe3, 0x77, 0xb8, 0x19, 0x91, - 0x86, 0xa0, 0xb6, 0x09, 0xd2, 0x70, 0x37, 0x10, 0xcf, 0xf7, 0x39, 0xc6, 0x37, 0x3d, 0xd4, 0x0c, - 0xd4, 0x9e, 0x81, 0x13, 0xa3, 0x3b, 0x81, 0x78, 0xd6, 0xcf, 0xdf, 0x8f, 0x9c, 0xdd, 0x82, 0x8d, - 0x40, 0x6d, 0x6b, 0x50, 0x52, 0x82, 0x5d, 0x40, 0x3c, 0xed, 0x8b, 0xf7, 0xc3, 0x89, 0x3b, 0xd8, - 0x04, 0xd4, 0xea, 0x00, 0x83, 0x02, 0x1c, 0xcf, 0xf5, 0x12, 0xe3, 0x0a, 0x80, 0xf0, 0xd6, 0x60, - 0xf5, 0x37, 0x1e, 0xff, 0x05, 0xbe, 0x35, 0x18, 0x02, 0x6f, 0x0d, 0x5e, 0x7a, 0xe3, 0xd1, 0x2f, - 0xf3, 0xad, 0xc1, 0x21, 0x38, 0xb2, 0x03, 0xd5, 0x2d, 0x9e, 0xe1, 0x8b, 0x3c, 0xb2, 0x03, 0xa8, - 0xda, 0x3a, 0x4c, 0x0f, 0x15, 0xc4, 0x78, 0xaa, 0x2f, 0x31, 0x2a, 0x31, 0x5a, 0x0f, 0x83, 0xc5, - 0x8b, 0x15, 0xc3, 0x78, 0xb6, 0x3f, 0x88, 0x14, 0x2f, 0x56, 0x0b, 0x6b, 0x57, 0x21, 0x67, 0xf6, - 0x0d, 0x03, 0x6f, 0x1e, 0xe9, 0xe8, 0x1f, 0xd8, 0x95, 0xff, 0xed, 0x1d, 0xe6, 0x1d, 0x0e, 0xa8, - 0x5d, 0x84, 0x2c, 0xea, 0xed, 0xa0, 0x4e, 0x1c, 0xf2, 0xdf, 0xdf, 0xe1, 0x09, 0x13, 0x6b, 0xd7, - 0x9e, 0x02, 0xa0, 0x57, 0x23, 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0x3f, 0xde, 0x61, 0x3f, 0x7d, 0x19, - 0x40, 0x06, 0x04, 0xf4, 0x87, 0x34, 0x47, 0x13, 0xbc, 0x19, 0x26, 0x20, 0x2b, 0x72, 0x05, 0x26, - 0x6e, 0xb8, 0x96, 0xe9, 0xa9, 0xdd, 0x38, 0xf4, 0x7f, 0x32, 0x34, 0xd7, 0xc7, 0x0e, 0xeb, 0x59, - 0x0e, 0xf2, 0xd4, 0xae, 0x1b, 0x87, 0xfd, 0x2f, 0x86, 0xf5, 0x01, 0x18, 0xac, 0xa9, 0xae, 0x97, - 0x64, 0xde, 0x3f, 0xe2, 0x60, 0x0e, 0xc0, 0x46, 0xe3, 0xff, 0x6f, 0xa2, 0xfd, 0x38, 0xec, 0x5b, - 0xdc, 0x68, 0xa6, 0x5f, 0xfb, 0x08, 0xe4, 0xf1, 0xbf, 0xf4, 0xf7, 0x6c, 0x31, 0xe0, 0xff, 0x66, - 0xe0, 0x01, 0x02, 0xbf, 0xd9, 0xf5, 0x3a, 0x9e, 0x1e, 0xef, 0xec, 0xff, 0x61, 0x2b, 0xcd, 0xf5, - 0x6b, 0x75, 0x28, 0xb8, 0x5e, 0xa7, 0xd3, 0x67, 0xfd, 0x69, 0x0c, 0xfc, 0x7f, 0xdf, 0xf1, 0xaf, - 0x2c, 0x7c, 0x0c, 0x5e, 0xed, 0xdb, 0x37, 0x3d, 0xdb, 0x22, 0x9f, 0x39, 0xe2, 0x18, 0xee, 0x33, - 0x86, 0x00, 0x64, 0xa9, 0x39, 0xfa, 0xfa, 0x16, 0x56, 0xac, 0x15, 0x8b, 0x5e, 0xdc, 0x3e, 0x57, - 0x8d, 0xbf, 0x81, 0x85, 0xcf, 0x66, 0xa1, 0xaa, 0x59, 0xbd, 0x1d, 0xcb, 0x5d, 0x0c, 0x24, 0xf3, - 0x45, 0xdf, 0x4d, 0xfc, 0x76, 0xd6, 0x17, 0xcc, 0x1d, 0xef, 0x5e, 0xb7, 0xfa, 0xb7, 0x69, 0xc8, - 0x35, 0x54, 0xd7, 0x53, 0x6f, 0xab, 0xfb, 0x92, 0x0d, 0x33, 0xf8, 0xff, 0x35, 0xd5, 0x26, 0xb7, - 0x84, 0x6c, 0x3b, 0xb3, 0xab, 0xf3, 0x0f, 0x2e, 0x0c, 0xde, 0xca, 0x11, 0x0b, 0x23, 0xd4, 0xc9, - 0x4f, 0x0e, 0x96, 0xc4, 0x57, 0xff, 0xf9, 0xf4, 0xd8, 0x2f, 0xff, 0xcb, 0xe9, 0xdc, 0xda, 0xfe, - 0x33, 0xba, 0xe1, 0x5a, 0xa6, 0x3c, 0x8a, 0x5a, 0xfa, 0xb4, 0x00, 0x0f, 0x8e, 0x90, 0xaf, 0xb3, - 0xdd, 0xce, 0x3e, 0x40, 0x5d, 0x48, 0xf8, 0x6a, 0x0e, 0xa3, 0x26, 0x14, 0x43, 0xaf, 0x3f, 0xea, - 0x35, 0x73, 0xd7, 0xa1, 0x7c, 0xd8, 0x4c, 0x24, 0x11, 0xd2, 0x37, 0xd1, 0x3e, 0xfb, 0xdd, 0x22, - 0xfe, 0x57, 0x3a, 0x37, 0xf8, 0x75, 0xa7, 0x30, 0x5f, 0x38, 0x3f, 0x1d, 0xb0, 0x8e, 0xbd, 0x8c, - 0x8e, 0xd7, 0x52, 0x97, 0x85, 0x39, 0x15, 0xce, 0xc4, 0x59, 0xfa, 0xff, 0x7c, 0x45, 0xb5, 0x02, - 0xe3, 0x54, 0x28, 0xcd, 0x42, 0xb6, 0x65, 0x7a, 0x97, 0x2e, 0x10, 0xaa, 0xb4, 0x4c, 0x1f, 0x96, - 0x56, 0x5f, 0xbd, 0x57, 0x19, 0xfb, 0xfe, 0xbd, 0xca, 0xd8, 0x3f, 0xde, 0xab, 0x8c, 0xbd, 0x76, - 0xaf, 0x22, 0xbc, 0x71, 0xaf, 0x22, 0xbc, 0x75, 0xaf, 0x22, 0xbc, 0x7d, 0xaf, 0x22, 0xdc, 0x3d, - 0xa8, 0x08, 0x5f, 0x39, 0xa8, 0x08, 0x5f, 0x3b, 0xa8, 0x08, 0xdf, 0x3a, 0xa8, 0x08, 0xdf, 0x3d, - 0xa8, 0x08, 0xaf, 0x1e, 0x54, 0xc6, 0xbe, 0x7f, 0x50, 0x11, 0x5e, 0x3b, 0xa8, 0x08, 0x6f, 0x1c, - 0x54, 0xc6, 0xde, 0x3a, 0xa8, 0x08, 0x6f, 0x1f, 0x54, 0xc6, 0xee, 0xfe, 0xb0, 0x32, 0xf6, 0x7f, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x54, 0x4b, 0xb1, 0x7c, 0x2e, 0x35, 0x00, 0x00, + // 4046 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0xdc, 0xe6, + 0x75, 0x26, 0xf6, 0x42, 0xee, 0x9e, 0x5d, 0x2e, 0x41, 0x90, 0x96, 0x56, 0x74, 0xbc, 0x92, 0xd6, + 0x76, 0x44, 0xdf, 0xa8, 0x8c, 0x2c, 0xc9, 0xf2, 0xaa, 0x89, 0xbb, 0x5c, 0xae, 0x98, 0x75, 0x79, + 0x0b, 0x96, 0x8c, 0x2d, 0x67, 0x3a, 0x18, 0x10, 0xfb, 0x73, 0x09, 0x09, 0x0b, 0x20, 0x00, 0x56, + 0x32, 0x35, 0x7d, 0x50, 0xc7, 0x69, 0x3b, 0xe9, 0x35, 0xbd, 0xcc, 0x34, 0x71, 0x1d, 0xb7, 0x49, + 0xa7, 0x71, 0x9a, 0xde, 0x92, 0x5e, 0xd2, 0x24, 0x7d, 0x49, 0x1f, 0xd2, 0xea, 0xa9, 0x93, 0xbc, + 0xf5, 0xa1, 0xd3, 0x5a, 0x8c, 0x67, 0xea, 0xb6, 0x6e, 0xeb, 0xb6, 0x7a, 0xf0, 0x8c, 0x5f, 0x3a, + 0xff, 0x0d, 0x0b, 0x60, 0x97, 0x04, 0x98, 0x8c, 0xed, 0x27, 0x12, 0xe7, 0x3f, 0xdf, 0x87, 0xf3, + 0x9f, 0xff, 0xfc, 0xe7, 0x9c, 0xff, 0xc7, 0xc2, 0x9d, 0x1a, 0x9c, 0xea, 0x5a, 0x56, 0xd7, 0x40, + 0x67, 0x6d, 0xc7, 0xf2, 0xac, 0xed, 0xfe, 0xce, 0xd9, 0x0e, 0x72, 0x35, 0x47, 0xb7, 0x3d, 0xcb, + 0x59, 0x20, 0x32, 0x69, 0x8a, 0x6a, 0x2c, 0x70, 0x8d, 0xea, 0x2a, 0x4c, 0x5f, 0xd1, 0x0d, 0xb4, + 0xe4, 0x2b, 0xb6, 0x91, 0x27, 0x5d, 0x82, 0xcc, 0x8e, 0x6e, 0xa0, 0xb2, 0x70, 0x2a, 0x3d, 0x5f, + 0x38, 0xf7, 0xd0, 0x42, 0x04, 0xb4, 0x10, 0x46, 0x6c, 0x60, 0xb1, 0x4c, 0x10, 0xd5, 0x37, 0x32, + 0x30, 0x33, 0x62, 0x54, 0x92, 0x20, 0x63, 0xaa, 0x3d, 0xcc, 0x28, 0xcc, 0xe7, 0x65, 0xf2, 0xbf, + 0x54, 0x86, 0x09, 0x5b, 0xd5, 0xae, 0xab, 0x5d, 0x54, 0x4e, 0x11, 0x31, 0x7f, 0x94, 0x2a, 0x00, + 0x1d, 0x64, 0x23, 0xb3, 0x83, 0x4c, 0x6d, 0xaf, 0x9c, 0x3e, 0x95, 0x9e, 0xcf, 0xcb, 0x01, 0x89, + 0xf4, 0x18, 0x4c, 0xdb, 0xfd, 0x6d, 0x43, 0xd7, 0x94, 0x80, 0x1a, 0x9c, 0x4a, 0xcf, 0x67, 0x65, + 0x91, 0x0e, 0x2c, 0x0d, 0x94, 0xcf, 0xc0, 0xd4, 0x4d, 0xa4, 0x5e, 0x0f, 0xaa, 0x16, 0x88, 0x6a, + 0x09, 0x8b, 0x03, 0x8a, 0x0d, 0x28, 0xf6, 0x90, 0xeb, 0xaa, 0x5d, 0xa4, 0x78, 0x7b, 0x36, 0x2a, + 0x67, 0xc8, 0xec, 0x4f, 0x0d, 0xcd, 0x3e, 0x3a, 0xf3, 0x02, 0x43, 0x6d, 0xee, 0xd9, 0x48, 0xaa, + 0x43, 0x1e, 0x99, 0xfd, 0x1e, 0x65, 0xc8, 0x1e, 0xe0, 0xbf, 0xa6, 0xd9, 0xef, 0x45, 0x59, 0x72, + 0x18, 0xc6, 0x28, 0x26, 0x5c, 0xe4, 0xdc, 0xd0, 0x35, 0x54, 0x1e, 0x27, 0x04, 0x67, 0x86, 0x08, + 0xda, 0x74, 0x3c, 0xca, 0xc1, 0x71, 0x52, 0x03, 0xf2, 0xe8, 0x45, 0x0f, 0x99, 0xae, 0x6e, 0x99, + 0xe5, 0x09, 0x42, 0xf2, 0xf0, 0x88, 0x55, 0x44, 0x46, 0x27, 0x4a, 0x31, 0xc0, 0x49, 0x17, 0x61, + 0xc2, 0xb2, 0x3d, 0xdd, 0x32, 0xdd, 0x72, 0xee, 0x94, 0x30, 0x5f, 0x38, 0xf7, 0xa1, 0x91, 0x81, + 0xb0, 0x4e, 0x75, 0x64, 0xae, 0x2c, 0xb5, 0x40, 0x74, 0xad, 0xbe, 0xa3, 0x21, 0x45, 0xb3, 0x3a, + 0x48, 0xd1, 0xcd, 0x1d, 0xab, 0x9c, 0x27, 0x04, 0x27, 0x87, 0x27, 0x42, 0x14, 0x1b, 0x56, 0x07, + 0xb5, 0xcc, 0x1d, 0x4b, 0x2e, 0xb9, 0xa1, 0x67, 0xe9, 0x18, 0x8c, 0xbb, 0x7b, 0xa6, 0xa7, 0xbe, + 0x58, 0x2e, 0x92, 0x08, 0x61, 0x4f, 0xd5, 0x6f, 0x8f, 0xc3, 0x54, 0x92, 0x10, 0xbb, 0x0c, 0xd9, + 0x1d, 0x3c, 0xcb, 0x72, 0xea, 0x28, 0x3e, 0xa0, 0x98, 0xb0, 0x13, 0xc7, 0x7f, 0x44, 0x27, 0xd6, + 0xa1, 0x60, 0x22, 0xd7, 0x43, 0x1d, 0x1a, 0x11, 0xe9, 0x84, 0x31, 0x05, 0x14, 0x34, 0x1c, 0x52, + 0x99, 0x1f, 0x29, 0xa4, 0x9e, 0x87, 0x29, 0xdf, 0x24, 0xc5, 0x51, 0xcd, 0x2e, 0x8f, 0xcd, 0xb3, + 0x71, 0x96, 0x2c, 0x34, 0x39, 0x4e, 0xc6, 0x30, 0xb9, 0x84, 0x42, 0xcf, 0xd2, 0x12, 0x80, 0x65, + 0x22, 0x6b, 0x47, 0xe9, 0x20, 0xcd, 0x28, 0xe7, 0x0e, 0xf0, 0xd2, 0x3a, 0x56, 0x19, 0xf2, 0x92, + 0x45, 0xa5, 0x9a, 0x21, 0x3d, 0x3d, 0x08, 0xb5, 0x89, 0x03, 0x22, 0x65, 0x95, 0x6e, 0xb2, 0xa1, + 0x68, 0xdb, 0x82, 0x92, 0x83, 0x70, 0xdc, 0xa3, 0x0e, 0x9b, 0x59, 0x9e, 0x18, 0xb1, 0x10, 0x3b, + 0x33, 0x99, 0xc1, 0xe8, 0xc4, 0x26, 0x9d, 0xe0, 0xa3, 0xf4, 0x20, 0xf8, 0x02, 0x85, 0x84, 0x15, + 0x90, 0x2c, 0x54, 0xe4, 0xc2, 0x35, 0xb5, 0x87, 0xe6, 0x6e, 0x41, 0x29, 0xec, 0x1e, 0x69, 0x16, + 0xb2, 0xae, 0xa7, 0x3a, 0x1e, 0x89, 0xc2, 0xac, 0x4c, 0x1f, 0x24, 0x11, 0xd2, 0xc8, 0xec, 0x90, + 0x2c, 0x97, 0x95, 0xf1, 0xbf, 0xd2, 0x4f, 0x0e, 0x26, 0x9c, 0x26, 0x13, 0xfe, 0xf0, 0xf0, 0x8a, + 0x86, 0x98, 0xa3, 0xf3, 0x9e, 0x7b, 0x0a, 0x26, 0x43, 0x13, 0x48, 0xfa, 0xea, 0xea, 0xcf, 0xc0, + 0x7d, 0x23, 0xa9, 0xa5, 0xe7, 0x61, 0xb6, 0x6f, 0xea, 0xa6, 0x87, 0x1c, 0xdb, 0x41, 0x38, 0x62, + 0xe9, 0xab, 0xca, 0xff, 0x3a, 0x71, 0x40, 0xcc, 0x6d, 0x05, 0xb5, 0x29, 0x8b, 0x3c, 0xd3, 0x1f, + 0x16, 0x3e, 0x9a, 0xcf, 0xbd, 0x39, 0x21, 0xde, 0xbe, 0x7d, 0xfb, 0x76, 0xaa, 0xfa, 0xf9, 0x71, + 0x98, 0x1d, 0xb5, 0x67, 0x46, 0x6e, 0xdf, 0x63, 0x30, 0x6e, 0xf6, 0x7b, 0xdb, 0xc8, 0x21, 0x4e, + 0xca, 0xca, 0xec, 0x49, 0xaa, 0x43, 0xd6, 0x50, 0xb7, 0x91, 0x51, 0xce, 0x9c, 0x12, 0xe6, 0x4b, + 0xe7, 0x1e, 0x4b, 0xb4, 0x2b, 0x17, 0x56, 0x30, 0x44, 0xa6, 0x48, 0xe9, 0x63, 0x90, 0x61, 0x29, + 0x1a, 0x33, 0x3c, 0x9a, 0x8c, 0x01, 0xef, 0x25, 0x99, 0xe0, 0xa4, 0xfb, 0x21, 0x8f, 0xff, 0xd2, + 0xd8, 0x18, 0x27, 0x36, 0xe7, 0xb0, 0x00, 0xc7, 0x85, 0x34, 0x07, 0x39, 0xb2, 0x4d, 0x3a, 0x88, + 0x97, 0x36, 0xff, 0x19, 0x07, 0x56, 0x07, 0xed, 0xa8, 0x7d, 0xc3, 0x53, 0x6e, 0xa8, 0x46, 0x1f, + 0x91, 0x80, 0xcf, 0xcb, 0x45, 0x26, 0xfc, 0x24, 0x96, 0x49, 0x27, 0xa1, 0x40, 0x77, 0x95, 0x6e, + 0x76, 0xd0, 0x8b, 0x24, 0x7b, 0x66, 0x65, 0xba, 0xd1, 0x5a, 0x58, 0x82, 0x5f, 0x7f, 0xcd, 0xb5, + 0x4c, 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0xff, 0x54, 0x34, 0x71, 0x3f, 0x30, 0x7a, 0x7a, + 0xd1, 0x98, 0xaa, 0x7e, 0x33, 0x05, 0x19, 0x92, 0x2f, 0xa6, 0xa0, 0xb0, 0x79, 0x75, 0xa3, 0xa9, + 0x2c, 0xad, 0x6f, 0x2d, 0xae, 0x34, 0x45, 0x41, 0x2a, 0x01, 0x10, 0xc1, 0x95, 0x95, 0xf5, 0xfa, + 0xa6, 0x98, 0xf2, 0x9f, 0x5b, 0x6b, 0x9b, 0x17, 0xcf, 0x8b, 0x69, 0x1f, 0xb0, 0x45, 0x05, 0x99, + 0xa0, 0xc2, 0x93, 0xe7, 0xc4, 0xac, 0x24, 0x42, 0x91, 0x12, 0xb4, 0x9e, 0x6f, 0x2e, 0x5d, 0x3c, + 0x2f, 0x8e, 0x87, 0x25, 0x4f, 0x9e, 0x13, 0x27, 0xa4, 0x49, 0xc8, 0x13, 0xc9, 0xe2, 0xfa, 0xfa, + 0x8a, 0x98, 0xf3, 0x39, 0xdb, 0x9b, 0x72, 0x6b, 0x6d, 0x59, 0xcc, 0xfb, 0x9c, 0xcb, 0xf2, 0xfa, + 0xd6, 0x86, 0x08, 0x3e, 0xc3, 0x6a, 0xb3, 0xdd, 0xae, 0x2f, 0x37, 0xc5, 0x82, 0xaf, 0xb1, 0x78, + 0x75, 0xb3, 0xd9, 0x16, 0x8b, 0x21, 0xb3, 0x9e, 0x3c, 0x27, 0x4e, 0xfa, 0xaf, 0x68, 0xae, 0x6d, + 0xad, 0x8a, 0x25, 0x69, 0x1a, 0x26, 0xe9, 0x2b, 0xb8, 0x11, 0x53, 0x11, 0xd1, 0xc5, 0xf3, 0xa2, + 0x38, 0x30, 0x84, 0xb2, 0x4c, 0x87, 0x04, 0x17, 0xcf, 0x8b, 0x52, 0xb5, 0x01, 0x59, 0x12, 0x5d, + 0x92, 0x04, 0xa5, 0x95, 0xfa, 0x62, 0x73, 0x45, 0x59, 0xdf, 0xd8, 0x6c, 0xad, 0xaf, 0xd5, 0x57, + 0x44, 0x61, 0x20, 0x93, 0x9b, 0x9f, 0xd8, 0x6a, 0xc9, 0xcd, 0x25, 0x31, 0x15, 0x94, 0x6d, 0x34, + 0xeb, 0x9b, 0xcd, 0x25, 0x31, 0x5d, 0xd5, 0x60, 0x76, 0x54, 0x9e, 0x1c, 0xb9, 0x33, 0x02, 0x4b, + 0x9c, 0x3a, 0x60, 0x89, 0x09, 0xd7, 0xd0, 0x12, 0xff, 0x30, 0x05, 0x33, 0x23, 0x6a, 0xc5, 0xc8, + 0x97, 0x3c, 0x03, 0x59, 0x1a, 0xa2, 0xb4, 0x7a, 0x3e, 0x32, 0xb2, 0xe8, 0x90, 0x80, 0x1d, 0xaa, + 0xa0, 0x04, 0x17, 0xec, 0x20, 0xd2, 0x07, 0x74, 0x10, 0x98, 0x62, 0x28, 0xa7, 0xff, 0xf4, 0x50, + 0x4e, 0xa7, 0x65, 0xef, 0x62, 0x92, 0xb2, 0x47, 0x64, 0x47, 0xcb, 0xed, 0xd9, 0x11, 0xb9, 0xfd, + 0x32, 0x4c, 0x0f, 0x11, 0x25, 0xce, 0xb1, 0x2f, 0x09, 0x50, 0x3e, 0xc8, 0x39, 0x31, 0x99, 0x2e, + 0x15, 0xca, 0x74, 0x97, 0xa3, 0x1e, 0x3c, 0x7d, 0xf0, 0x22, 0x0c, 0xad, 0xf5, 0x6b, 0x02, 0x1c, + 0x1b, 0xdd, 0x29, 0x8e, 0xb4, 0xe1, 0x63, 0x30, 0xde, 0x43, 0xde, 0xae, 0xc5, 0xbb, 0xa5, 0x0f, + 0x8f, 0xa8, 0xc1, 0x78, 0x38, 0xba, 0xd8, 0x0c, 0x15, 0x2c, 0xe2, 0xe9, 0x83, 0xda, 0x3d, 0x6a, + 0xcd, 0x90, 0xa5, 0x9f, 0x4d, 0xc1, 0x7d, 0x23, 0xc9, 0x47, 0x1a, 0xfa, 0x00, 0x80, 0x6e, 0xda, + 0x7d, 0x8f, 0x76, 0x44, 0x34, 0xc1, 0xe6, 0x89, 0x84, 0x24, 0x2f, 0x9c, 0x3c, 0xfb, 0x9e, 0x3f, + 0x9e, 0x26, 0xe3, 0x40, 0x45, 0x44, 0xe1, 0xd2, 0xc0, 0xd0, 0x0c, 0x31, 0xb4, 0x72, 0xc0, 0x4c, + 0x87, 0x02, 0xf3, 0x23, 0x20, 0x6a, 0x86, 0x8e, 0x4c, 0x4f, 0x71, 0x3d, 0x07, 0xa9, 0x3d, 0xdd, + 0xec, 0x92, 0x0a, 0x92, 0xab, 0x65, 0x77, 0x54, 0xc3, 0x45, 0xf2, 0x14, 0x1d, 0x6e, 0xf3, 0x51, + 0x8c, 0x20, 0x01, 0xe4, 0x04, 0x10, 0xe3, 0x21, 0x04, 0x1d, 0xf6, 0x11, 0xd5, 0x5f, 0xce, 0x43, + 0x21, 0xd0, 0x57, 0x4b, 0xa7, 0xa1, 0x78, 0x4d, 0xbd, 0xa1, 0x2a, 0xfc, 0xac, 0x44, 0x3d, 0x51, + 0xc0, 0xb2, 0x0d, 0x76, 0x5e, 0xfa, 0x08, 0xcc, 0x12, 0x15, 0xab, 0xef, 0x21, 0x47, 0xd1, 0x0c, + 0xd5, 0x75, 0x89, 0xd3, 0x72, 0x44, 0x55, 0xc2, 0x63, 0xeb, 0x78, 0xa8, 0xc1, 0x47, 0xa4, 0x0b, + 0x30, 0x43, 0x10, 0xbd, 0xbe, 0xe1, 0xe9, 0xb6, 0x81, 0x14, 0x7c, 0x7a, 0x73, 0x49, 0x25, 0xf1, + 0x2d, 0x9b, 0xc6, 0x1a, 0xab, 0x4c, 0x01, 0x5b, 0xe4, 0x4a, 0x4b, 0xf0, 0x00, 0x81, 0x75, 0x91, + 0x89, 0x1c, 0xd5, 0x43, 0x0a, 0xfa, 0x74, 0x5f, 0x35, 0x5c, 0x45, 0x35, 0x3b, 0xca, 0xae, 0xea, + 0xee, 0x96, 0x67, 0x31, 0xc1, 0x62, 0xaa, 0x2c, 0xc8, 0x27, 0xb0, 0xe2, 0x32, 0xd3, 0x6b, 0x12, + 0xb5, 0xba, 0xd9, 0xf9, 0xb8, 0xea, 0xee, 0x4a, 0x35, 0x38, 0x46, 0x58, 0x5c, 0xcf, 0xd1, 0xcd, + 0xae, 0xa2, 0xed, 0x22, 0xed, 0xba, 0xd2, 0xf7, 0x76, 0x2e, 0x95, 0xef, 0x0f, 0xbe, 0x9f, 0x58, + 0xd8, 0x26, 0x3a, 0x0d, 0xac, 0xb2, 0xe5, 0xed, 0x5c, 0x92, 0xda, 0x50, 0xc4, 0x8b, 0xd1, 0xd3, + 0x6f, 0x21, 0x65, 0xc7, 0x72, 0x48, 0x69, 0x2c, 0x8d, 0x48, 0x4d, 0x01, 0x0f, 0x2e, 0xac, 0x33, + 0xc0, 0xaa, 0xd5, 0x41, 0xb5, 0x6c, 0x7b, 0xa3, 0xd9, 0x5c, 0x92, 0x0b, 0x9c, 0xe5, 0x8a, 0xe5, + 0xe0, 0x80, 0xea, 0x5a, 0xbe, 0x83, 0x0b, 0x34, 0xa0, 0xba, 0x16, 0x77, 0xef, 0x05, 0x98, 0xd1, + 0x34, 0x3a, 0x67, 0x5d, 0x53, 0xd8, 0x19, 0xcb, 0x2d, 0x8b, 0x21, 0x67, 0x69, 0xda, 0x32, 0x55, + 0x60, 0x31, 0xee, 0x4a, 0x4f, 0xc3, 0x7d, 0x03, 0x67, 0x05, 0x81, 0xd3, 0x43, 0xb3, 0x8c, 0x42, + 0x2f, 0xc0, 0x8c, 0xbd, 0x37, 0x0c, 0x94, 0x42, 0x6f, 0xb4, 0xf7, 0xa2, 0xb0, 0xa7, 0x60, 0xd6, + 0xde, 0xb5, 0x87, 0x71, 0x8f, 0x06, 0x71, 0x92, 0xbd, 0x6b, 0x47, 0x81, 0x0f, 0x93, 0x03, 0xb7, + 0x83, 0x34, 0xd5, 0x43, 0x9d, 0xf2, 0xf1, 0xa0, 0x7a, 0x60, 0x40, 0x3a, 0x0b, 0xa2, 0xa6, 0x29, + 0xc8, 0x54, 0xb7, 0x0d, 0xa4, 0xa8, 0x0e, 0x32, 0x55, 0xb7, 0x7c, 0x32, 0xa8, 0x5c, 0xd2, 0xb4, + 0x26, 0x19, 0xad, 0x93, 0x41, 0xe9, 0x51, 0x98, 0xb6, 0xb6, 0xaf, 0x69, 0x34, 0x24, 0x15, 0xdb, + 0x41, 0x3b, 0xfa, 0x8b, 0xe5, 0x87, 0x88, 0x7f, 0xa7, 0xf0, 0x00, 0x09, 0xc8, 0x0d, 0x22, 0x96, + 0x1e, 0x01, 0x51, 0x73, 0x77, 0x55, 0xc7, 0x26, 0x39, 0xd9, 0xb5, 0x55, 0x0d, 0x95, 0x1f, 0xa6, + 0xaa, 0x54, 0xbe, 0xc6, 0xc5, 0x78, 0x4b, 0xb8, 0x37, 0xf5, 0x1d, 0x8f, 0x33, 0x9e, 0xa1, 0x5b, + 0x82, 0xc8, 0x18, 0xdb, 0x3c, 0x88, 0xd8, 0x15, 0xa1, 0x17, 0xcf, 0x13, 0xb5, 0x92, 0xbd, 0x6b, + 0x07, 0xdf, 0xfb, 0x20, 0x4c, 0x62, 0xcd, 0xc1, 0x4b, 0x1f, 0xa1, 0x0d, 0x99, 0xbd, 0x1b, 0x78, + 0xe3, 0x79, 0x38, 0x86, 0x95, 0x7a, 0xc8, 0x53, 0x3b, 0xaa, 0xa7, 0x06, 0xb4, 0x1f, 0x27, 0xda, + 0xd8, 0xef, 0xab, 0x6c, 0x30, 0x64, 0xa7, 0xd3, 0xdf, 0xde, 0xf3, 0x23, 0xeb, 0x09, 0x6a, 0x27, + 0x96, 0xf1, 0xd8, 0x7a, 0xcf, 0x9a, 0xee, 0x6a, 0x0d, 0x8a, 0xc1, 0xc0, 0x97, 0xf2, 0x40, 0x43, + 0x5f, 0x14, 0x70, 0x17, 0xd4, 0x58, 0x5f, 0xc2, 0xfd, 0xcb, 0x0b, 0x4d, 0x31, 0x85, 0xfb, 0xa8, + 0x95, 0xd6, 0x66, 0x53, 0x91, 0xb7, 0xd6, 0x36, 0x5b, 0xab, 0x4d, 0x31, 0x1d, 0x6c, 0xd8, 0xbf, + 0x97, 0x82, 0x52, 0xf8, 0xec, 0x25, 0xfd, 0x04, 0x1c, 0xe7, 0x17, 0x25, 0x2e, 0xf2, 0x94, 0x9b, + 0xba, 0x43, 0xf6, 0x62, 0x4f, 0xa5, 0x75, 0xd1, 0x8f, 0x86, 0x59, 0xa6, 0xd5, 0x46, 0xde, 0x73, + 0xba, 0x83, 0x77, 0x5a, 0x4f, 0xf5, 0xa4, 0x15, 0x38, 0x69, 0x5a, 0x8a, 0xeb, 0xa9, 0x66, 0x47, + 0x75, 0x3a, 0xca, 0xe0, 0x8a, 0x4a, 0x51, 0x35, 0x0d, 0xb9, 0xae, 0x45, 0x6b, 0xa0, 0xcf, 0xf2, + 0x21, 0xd3, 0x6a, 0x33, 0xe5, 0x41, 0x71, 0xa8, 0x33, 0xd5, 0x48, 0xe4, 0xa6, 0x0f, 0x8a, 0xdc, + 0xfb, 0x21, 0xdf, 0x53, 0x6d, 0x05, 0x99, 0x9e, 0xb3, 0x47, 0x3a, 0xee, 0x9c, 0x9c, 0xeb, 0xa9, + 0x76, 0x13, 0x3f, 0xbf, 0x3f, 0x07, 0x9f, 0x7f, 0x4a, 0x43, 0x31, 0xd8, 0x75, 0xe3, 0x43, 0x8c, + 0x46, 0x0a, 0x94, 0x40, 0x52, 0xd8, 0x83, 0x87, 0xf6, 0xe8, 0x0b, 0x0d, 0x5c, 0xb9, 0x6a, 0xe3, + 0xb4, 0x17, 0x96, 0x29, 0x12, 0x77, 0x0d, 0x38, 0xb4, 0x10, 0xed, 0x3d, 0x72, 0x32, 0x7b, 0x92, + 0x96, 0x61, 0xfc, 0x9a, 0x4b, 0xb8, 0xc7, 0x09, 0xf7, 0x43, 0x87, 0x73, 0x3f, 0xdb, 0x26, 0xe4, + 0xf9, 0x67, 0xdb, 0xca, 0xda, 0xba, 0xbc, 0x5a, 0x5f, 0x91, 0x19, 0x5c, 0x3a, 0x01, 0x19, 0x43, + 0xbd, 0xb5, 0x17, 0xae, 0x71, 0x44, 0x94, 0xd4, 0xf1, 0x27, 0x20, 0x73, 0x13, 0xa9, 0xd7, 0xc3, + 0x95, 0x85, 0x88, 0xde, 0xc3, 0xd0, 0x3f, 0x0b, 0x59, 0xe2, 0x2f, 0x09, 0x80, 0x79, 0x4c, 0x1c, + 0x93, 0x72, 0x90, 0x69, 0xac, 0xcb, 0x38, 0xfc, 0x45, 0x28, 0x52, 0xa9, 0xb2, 0xd1, 0x6a, 0x36, + 0x9a, 0x62, 0xaa, 0x7a, 0x01, 0xc6, 0xa9, 0x13, 0xf0, 0xd6, 0xf0, 0xdd, 0x20, 0x8e, 0xb1, 0x47, + 0xc6, 0x21, 0xf0, 0xd1, 0xad, 0xd5, 0xc5, 0xa6, 0x2c, 0xa6, 0x82, 0xcb, 0xeb, 0x42, 0x31, 0xd8, + 0x70, 0xbf, 0x3f, 0x31, 0xf5, 0x1d, 0x01, 0x0a, 0x81, 0x06, 0x1a, 0x77, 0x3e, 0xaa, 0x61, 0x58, + 0x37, 0x15, 0xd5, 0xd0, 0x55, 0x97, 0x05, 0x05, 0x10, 0x51, 0x1d, 0x4b, 0x92, 0x2e, 0xda, 0xfb, + 0x62, 0xfc, 0xab, 0x02, 0x88, 0xd1, 0xde, 0x35, 0x62, 0xa0, 0xf0, 0x81, 0x1a, 0xf8, 0x8a, 0x00, + 0xa5, 0x70, 0xc3, 0x1a, 0x31, 0xef, 0xf4, 0x07, 0x6a, 0xde, 0xeb, 0x29, 0x98, 0x0c, 0xb5, 0xa9, + 0x49, 0xad, 0xfb, 0x34, 0x4c, 0xeb, 0x1d, 0xd4, 0xb3, 0x2d, 0x0f, 0x99, 0xda, 0x9e, 0x62, 0xa0, + 0x1b, 0xc8, 0x28, 0x57, 0x49, 0xa2, 0x38, 0x7b, 0x78, 0x23, 0xbc, 0xd0, 0x1a, 0xe0, 0x56, 0x30, + 0xac, 0x36, 0xd3, 0x5a, 0x6a, 0xae, 0x6e, 0xac, 0x6f, 0x36, 0xd7, 0x1a, 0x57, 0x95, 0xad, 0xb5, + 0x9f, 0x5a, 0x5b, 0x7f, 0x6e, 0x4d, 0x16, 0xf5, 0x88, 0xda, 0x7b, 0xb8, 0xd5, 0x37, 0x40, 0x8c, + 0x1a, 0x25, 0x1d, 0x87, 0x51, 0x66, 0x89, 0x63, 0xd2, 0x0c, 0x4c, 0xad, 0xad, 0x2b, 0xed, 0xd6, + 0x52, 0x53, 0x69, 0x5e, 0xb9, 0xd2, 0x6c, 0x6c, 0xb6, 0xe9, 0xd5, 0x86, 0xaf, 0xbd, 0x19, 0xde, + 0xd4, 0x2f, 0xa7, 0x61, 0x66, 0x84, 0x25, 0x52, 0x9d, 0x1d, 0x4a, 0xe8, 0x39, 0xe9, 0x89, 0x24, + 0xd6, 0x2f, 0xe0, 0xae, 0x60, 0x43, 0x75, 0x3c, 0x76, 0x86, 0x79, 0x04, 0xb0, 0x97, 0x4c, 0x4f, + 0xdf, 0xd1, 0x91, 0xc3, 0x6e, 0x82, 0xe8, 0x49, 0x65, 0x6a, 0x20, 0xa7, 0x97, 0x41, 0x8f, 0x83, + 0x64, 0x5b, 0xae, 0xee, 0xe9, 0x37, 0x90, 0xa2, 0x9b, 0xfc, 0xda, 0x08, 0x9f, 0x5c, 0x32, 0xb2, + 0xc8, 0x47, 0x5a, 0xa6, 0xe7, 0x6b, 0x9b, 0xa8, 0xab, 0x46, 0xb4, 0x71, 0x02, 0x4f, 0xcb, 0x22, + 0x1f, 0xf1, 0xb5, 0x4f, 0x43, 0xb1, 0x63, 0xf5, 0x71, 0x3b, 0x47, 0xf5, 0x70, 0xbd, 0x10, 0xe4, + 0x02, 0x95, 0xf9, 0x2a, 0xac, 0x51, 0x1f, 0xdc, 0x57, 0x15, 0xe5, 0x02, 0x95, 0x51, 0x95, 0x33, + 0x30, 0xa5, 0x76, 0xbb, 0x0e, 0x26, 0xe7, 0x44, 0xf4, 0xe8, 0x51, 0xf2, 0xc5, 0x44, 0x71, 0xee, + 0x59, 0xc8, 0x71, 0x3f, 0xe0, 0x92, 0x8c, 0x3d, 0xa1, 0xd8, 0xf4, 0x3c, 0x9d, 0x9a, 0xcf, 0xcb, + 0x39, 0x93, 0x0f, 0x9e, 0x86, 0xa2, 0xee, 0x2a, 0x83, 0xeb, 0xf7, 0xd4, 0xa9, 0xd4, 0x7c, 0x4e, + 0x2e, 0xe8, 0xae, 0x7f, 0x75, 0x59, 0x7d, 0x2d, 0x05, 0xa5, 0xf0, 0xe7, 0x03, 0x69, 0x09, 0x72, + 0x86, 0xa5, 0xa9, 0x24, 0xb4, 0xe8, 0xb7, 0xab, 0xf9, 0x98, 0x2f, 0x0e, 0x0b, 0x2b, 0x4c, 0x5f, + 0xf6, 0x91, 0x73, 0xff, 0x20, 0x40, 0x8e, 0x8b, 0xa5, 0x63, 0x90, 0xb1, 0x55, 0x6f, 0x97, 0xd0, + 0x65, 0x17, 0x53, 0xa2, 0x20, 0x93, 0x67, 0x2c, 0x77, 0x6d, 0xd5, 0x24, 0x21, 0xc0, 0xe4, 0xf8, + 0x19, 0xaf, 0xab, 0x81, 0xd4, 0x0e, 0x39, 0xd7, 0x58, 0xbd, 0x1e, 0x32, 0x3d, 0x97, 0xaf, 0x2b, + 0x93, 0x37, 0x98, 0x58, 0x7a, 0x0c, 0xa6, 0x3d, 0x47, 0xd5, 0x8d, 0x90, 0x6e, 0x86, 0xe8, 0x8a, + 0x7c, 0xc0, 0x57, 0xae, 0xc1, 0x09, 0xce, 0xdb, 0x41, 0x9e, 0xaa, 0xed, 0xa2, 0xce, 0x00, 0x34, + 0x4e, 0xee, 0x2f, 0x8e, 0x33, 0x85, 0x25, 0x36, 0xce, 0xb1, 0xd5, 0x1f, 0x08, 0x30, 0xcd, 0x4f, + 0x62, 0x1d, 0xdf, 0x59, 0xab, 0x00, 0xaa, 0x69, 0x5a, 0x5e, 0xd0, 0x5d, 0xc3, 0xa1, 0x3c, 0x84, + 0x5b, 0xa8, 0xfb, 0x20, 0x39, 0x40, 0x30, 0xd7, 0x03, 0x18, 0x8c, 0x1c, 0xe8, 0xb6, 0x93, 0x50, + 0x60, 0xdf, 0x86, 0xc8, 0x07, 0x46, 0x7a, 0x76, 0x07, 0x2a, 0xc2, 0x47, 0x36, 0x69, 0x16, 0xb2, + 0xdb, 0xa8, 0xab, 0x9b, 0xec, 0xc6, 0x97, 0x3e, 0xf0, 0x1b, 0x96, 0x8c, 0x7f, 0xc3, 0xb2, 0xf8, + 0x29, 0x98, 0xd1, 0xac, 0x5e, 0xd4, 0xdc, 0x45, 0x31, 0x72, 0x7f, 0xe0, 0x7e, 0x5c, 0x78, 0x01, + 0x06, 0x2d, 0xe6, 0x3b, 0x82, 0xf0, 0xe5, 0x54, 0x7a, 0x79, 0x63, 0xf1, 0x6b, 0xa9, 0xb9, 0x65, + 0x0a, 0xdd, 0xe0, 0x33, 0x95, 0xd1, 0x8e, 0x81, 0x34, 0x6c, 0x3d, 0x7c, 0xe5, 0x31, 0x78, 0xa2, + 0xab, 0x7b, 0xbb, 0xfd, 0xed, 0x05, 0xcd, 0xea, 0x9d, 0xed, 0x5a, 0x5d, 0x6b, 0xf0, 0x4d, 0x15, + 0x3f, 0x91, 0x07, 0xf2, 0x1f, 0xfb, 0xae, 0x9a, 0xf7, 0xa5, 0x73, 0xb1, 0x1f, 0x61, 0x6b, 0x6b, + 0x30, 0xc3, 0x94, 0x15, 0xf2, 0x61, 0x87, 0x1e, 0x4f, 0xa4, 0x43, 0x2f, 0xc7, 0xca, 0xdf, 0x78, + 0x83, 0x94, 0x6b, 0x79, 0x9a, 0x41, 0xf1, 0x18, 0x3d, 0xc1, 0xd4, 0x64, 0xb8, 0x2f, 0xc4, 0x47, + 0xb7, 0x26, 0x72, 0x62, 0x18, 0xbf, 0xc7, 0x18, 0x67, 0x02, 0x8c, 0x6d, 0x06, 0xad, 0x35, 0x60, + 0xf2, 0x28, 0x5c, 0x7f, 0xc7, 0xb8, 0x8a, 0x28, 0x48, 0xb2, 0x0c, 0x53, 0x84, 0x44, 0xeb, 0xbb, + 0x9e, 0xd5, 0x23, 0x79, 0xef, 0x70, 0x9a, 0xbf, 0x7f, 0x83, 0xee, 0x95, 0x12, 0x86, 0x35, 0x7c, + 0x54, 0xad, 0x06, 0xe4, 0x5b, 0x56, 0x07, 0x69, 0x46, 0x0c, 0xc3, 0x1d, 0x66, 0x88, 0xaf, 0x5f, + 0xfb, 0x24, 0xcc, 0xe2, 0xff, 0x49, 0x5a, 0x0a, 0x5a, 0x12, 0x7f, 0x93, 0x56, 0xfe, 0xc1, 0x4b, + 0x74, 0x3b, 0xce, 0xf8, 0x04, 0x01, 0x9b, 0x02, 0xab, 0xd8, 0x45, 0x9e, 0x87, 0x1c, 0x57, 0x51, + 0x8d, 0x51, 0xe6, 0x05, 0xae, 0x22, 0xca, 0x5f, 0x78, 0x2b, 0xbc, 0x8a, 0xcb, 0x14, 0x59, 0x37, + 0x8c, 0xda, 0x16, 0x1c, 0x1f, 0x11, 0x15, 0x09, 0x38, 0x5f, 0x66, 0x9c, 0xb3, 0x43, 0x91, 0x81, + 0x69, 0x37, 0x80, 0xcb, 0xfd, 0xb5, 0x4c, 0xc0, 0xf9, 0x3b, 0x8c, 0x53, 0x62, 0x58, 0xbe, 0xa4, + 0x98, 0xf1, 0x59, 0x98, 0xbe, 0x81, 0x9c, 0x6d, 0xcb, 0x65, 0xd7, 0x3f, 0x09, 0xe8, 0x5e, 0x61, + 0x74, 0x53, 0x0c, 0x48, 0xee, 0x83, 0x30, 0xd7, 0xd3, 0x90, 0xdb, 0x51, 0x35, 0x94, 0x80, 0xe2, + 0x8b, 0x8c, 0x62, 0x02, 0xeb, 0x63, 0x68, 0x1d, 0x8a, 0x5d, 0x8b, 0x55, 0xa6, 0x78, 0xf8, 0xab, + 0x0c, 0x5e, 0xe0, 0x18, 0x46, 0x61, 0x5b, 0x76, 0xdf, 0xc0, 0x65, 0x2b, 0x9e, 0xe2, 0x77, 0x39, + 0x05, 0xc7, 0x30, 0x8a, 0x23, 0xb8, 0xf5, 0xf7, 0x38, 0x85, 0x1b, 0xf0, 0xe7, 0x33, 0x50, 0xb0, + 0x4c, 0x63, 0xcf, 0x32, 0x93, 0x18, 0xf1, 0x25, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0x2e, 0x43, 0x3e, + 0xe9, 0x42, 0xfc, 0xc1, 0x5b, 0x7c, 0x7b, 0xf0, 0x15, 0x58, 0x86, 0x29, 0x9e, 0xa0, 0x74, 0xcb, + 0x4c, 0x40, 0xf1, 0x15, 0x46, 0x51, 0x0a, 0xc0, 0xd8, 0x34, 0x3c, 0xe4, 0x7a, 0x5d, 0x94, 0x84, + 0xe4, 0x35, 0x3e, 0x0d, 0x06, 0x61, 0xae, 0xdc, 0x46, 0xa6, 0xb6, 0x9b, 0x8c, 0xe1, 0xab, 0xdc, + 0x95, 0x1c, 0x83, 0x29, 0x1a, 0x30, 0xd9, 0x53, 0x1d, 0x77, 0x57, 0x35, 0x12, 0x2d, 0xc7, 0x1f, + 0x32, 0x8e, 0xa2, 0x0f, 0x62, 0x1e, 0xe9, 0x9b, 0x47, 0xa1, 0xf9, 0x1a, 0xf7, 0x48, 0x00, 0xc6, + 0xb6, 0x9e, 0xeb, 0x91, 0xbb, 0xb2, 0xa3, 0xb0, 0xfd, 0x11, 0xdf, 0x7a, 0x14, 0xbb, 0x1a, 0x64, + 0xbc, 0x0c, 0x79, 0x57, 0xbf, 0x95, 0x88, 0xe6, 0x8f, 0xf9, 0x4a, 0x13, 0x00, 0x06, 0x5f, 0x85, + 0x13, 0x23, 0xcb, 0x44, 0x02, 0xb2, 0x3f, 0x61, 0x64, 0xc7, 0x46, 0x94, 0x0a, 0x96, 0x12, 0x8e, + 0x4a, 0xf9, 0xa7, 0x3c, 0x25, 0xa0, 0x08, 0xd7, 0x06, 0x3e, 0x2b, 0xb8, 0xea, 0xce, 0xd1, 0xbc, + 0xf6, 0x67, 0xdc, 0x6b, 0x14, 0x1b, 0xf2, 0xda, 0x26, 0x1c, 0x63, 0x8c, 0x47, 0x5b, 0xd7, 0xaf, + 0xf3, 0xc4, 0x4a, 0xd1, 0x5b, 0xe1, 0xd5, 0xfd, 0x14, 0xcc, 0xf9, 0xee, 0xe4, 0x4d, 0xa9, 0xab, + 0xf4, 0x54, 0x3b, 0x01, 0xf3, 0x37, 0x18, 0x33, 0xcf, 0xf8, 0x7e, 0x57, 0xeb, 0xae, 0xaa, 0x36, + 0x26, 0x7f, 0x1e, 0xca, 0x9c, 0xbc, 0x6f, 0x3a, 0x48, 0xb3, 0xba, 0xa6, 0x7e, 0x0b, 0x75, 0x12, + 0x50, 0xff, 0x79, 0x64, 0xa9, 0xb6, 0x02, 0x70, 0xcc, 0xdc, 0x02, 0xd1, 0xef, 0x55, 0x14, 0xbd, + 0x67, 0x5b, 0x8e, 0x17, 0xc3, 0xf8, 0x17, 0x7c, 0xa5, 0x7c, 0x5c, 0x8b, 0xc0, 0x6a, 0x4d, 0x28, + 0x91, 0xc7, 0xa4, 0x21, 0xf9, 0x97, 0x8c, 0x68, 0x72, 0x80, 0x62, 0x89, 0x43, 0xb3, 0x7a, 0xb6, + 0xea, 0x24, 0xc9, 0x7f, 0x7f, 0xc5, 0x13, 0x07, 0x83, 0xb0, 0xc4, 0xe1, 0xed, 0xd9, 0x08, 0x57, + 0xfb, 0x04, 0x0c, 0xdf, 0xe4, 0x89, 0x83, 0x63, 0x18, 0x05, 0x6f, 0x18, 0x12, 0x50, 0xfc, 0x35, + 0xa7, 0xe0, 0x18, 0x4c, 0xf1, 0x89, 0x41, 0xa1, 0x75, 0x50, 0x57, 0x77, 0x3d, 0x87, 0xb6, 0xc2, + 0x87, 0x53, 0x7d, 0xeb, 0xad, 0x70, 0x13, 0x26, 0x07, 0xa0, 0x38, 0x13, 0xb1, 0x2b, 0x54, 0x72, + 0x52, 0x8a, 0x37, 0xec, 0xdb, 0x3c, 0x13, 0x05, 0x60, 0xd8, 0xb6, 0x40, 0x87, 0x88, 0xdd, 0xae, + 0xe1, 0xf3, 0x41, 0x02, 0xba, 0xef, 0x44, 0x8c, 0x6b, 0x73, 0x2c, 0xe6, 0x0c, 0xf4, 0x3f, 0x7d, + 0xf3, 0x3a, 0xda, 0x4b, 0x14, 0x9d, 0x7f, 0x13, 0xe9, 0x7f, 0xb6, 0x28, 0x92, 0xe6, 0x90, 0xa9, + 0x48, 0x3f, 0x25, 0xc5, 0xfd, 0x0a, 0xa8, 0xfc, 0xb3, 0xf7, 0xd8, 0x7c, 0xc3, 0xed, 0x54, 0x6d, + 0x05, 0x07, 0x79, 0xb8, 0xe9, 0x89, 0x27, 0x7b, 0xe9, 0x9e, 0x1f, 0xe7, 0xa1, 0x9e, 0xa7, 0x76, + 0x05, 0x26, 0x43, 0x0d, 0x4f, 0x3c, 0xd5, 0x67, 0x18, 0x55, 0x31, 0xd8, 0xef, 0xd4, 0x2e, 0x40, + 0x06, 0x37, 0x2f, 0xf1, 0xf0, 0x9f, 0x63, 0x70, 0xa2, 0x5e, 0xfb, 0x28, 0xe4, 0x78, 0xd3, 0x12, + 0x0f, 0xfd, 0x79, 0x06, 0xf5, 0x21, 0x18, 0xce, 0x1b, 0x96, 0x78, 0xf8, 0x2f, 0x70, 0x38, 0x87, + 0x60, 0x78, 0x72, 0x17, 0x7e, 0xf7, 0x97, 0x32, 0xac, 0xe8, 0x70, 0xdf, 0x5d, 0x86, 0x09, 0xd6, + 0xa9, 0xc4, 0xa3, 0x3f, 0xcb, 0x5e, 0xce, 0x11, 0xb5, 0xa7, 0x20, 0x9b, 0xd0, 0xe1, 0xbf, 0xc2, + 0xa0, 0x54, 0xbf, 0xd6, 0x80, 0x42, 0xa0, 0x3b, 0x89, 0x87, 0xff, 0x2a, 0x83, 0x07, 0x51, 0xd8, + 0x74, 0xd6, 0x9d, 0xc4, 0x13, 0xfc, 0x1a, 0x37, 0x9d, 0x21, 0xb0, 0xdb, 0x78, 0x63, 0x12, 0x8f, + 0xfe, 0x1c, 0xf7, 0x3a, 0x87, 0xd4, 0x9e, 0x81, 0xbc, 0x5f, 0x6c, 0xe2, 0xf1, 0xbf, 0xce, 0xf0, + 0x03, 0x0c, 0xf6, 0x40, 0xa0, 0xd8, 0xc5, 0x53, 0xfc, 0x06, 0xf7, 0x40, 0x00, 0x85, 0xb7, 0x51, + 0xb4, 0x81, 0x89, 0x67, 0xfa, 0x4d, 0xbe, 0x8d, 0x22, 0xfd, 0x0b, 0x5e, 0x4d, 0x92, 0xf3, 0xe3, + 0x29, 0x7e, 0x8b, 0xaf, 0x26, 0xd1, 0xc7, 0x66, 0x44, 0x3b, 0x82, 0x78, 0x8e, 0xdf, 0xe6, 0x66, + 0x44, 0x1a, 0x82, 0xda, 0x06, 0x48, 0xc3, 0xdd, 0x40, 0x3c, 0xdf, 0xe7, 0x19, 0xdf, 0xf4, 0x50, + 0x33, 0x50, 0x7b, 0x0e, 0x8e, 0x8d, 0xee, 0x04, 0xe2, 0x59, 0xbf, 0x70, 0x2f, 0x72, 0x76, 0x0b, + 0x36, 0x02, 0xb5, 0xcd, 0x41, 0x49, 0x09, 0x76, 0x01, 0xf1, 0xb4, 0x2f, 0xdf, 0x0b, 0x27, 0xee, + 0x60, 0x13, 0x50, 0xab, 0x03, 0x0c, 0x0a, 0x70, 0x3c, 0xd7, 0x2b, 0x8c, 0x2b, 0x00, 0xc2, 0x5b, + 0x83, 0xd5, 0xdf, 0x78, 0xfc, 0x17, 0xf9, 0xd6, 0x60, 0x08, 0xbc, 0x35, 0x78, 0xe9, 0x8d, 0x47, + 0xbf, 0xca, 0xb7, 0x06, 0x87, 0xe0, 0xc8, 0x0e, 0x54, 0xb7, 0x78, 0x86, 0x2f, 0xf1, 0xc8, 0x0e, + 0xa0, 0x6a, 0x6b, 0x30, 0x3d, 0x54, 0x10, 0xe3, 0xa9, 0xbe, 0xcc, 0xa8, 0xc4, 0x68, 0x3d, 0x0c, + 0x16, 0x2f, 0x56, 0x0c, 0xe3, 0xd9, 0x7e, 0x3f, 0x52, 0xbc, 0x58, 0x2d, 0xac, 0x5d, 0x86, 0x9c, + 0xd9, 0x37, 0x0c, 0xbc, 0x79, 0xa4, 0xc3, 0x7f, 0xb9, 0x57, 0xfe, 0xb7, 0x77, 0x99, 0x77, 0x38, + 0xa0, 0x76, 0x01, 0xb2, 0xa8, 0xb7, 0x8d, 0x3a, 0x71, 0xc8, 0x7f, 0x7f, 0x97, 0x27, 0x4c, 0xac, + 0x5d, 0x7b, 0x06, 0x80, 0x5e, 0x8d, 0x90, 0xcf, 0x7e, 0x31, 0xd8, 0xff, 0x78, 0x97, 0xfd, 0xa6, + 0x66, 0x00, 0x19, 0x10, 0xd0, 0x5f, 0xe8, 0x1c, 0x4e, 0xf0, 0x56, 0x98, 0x80, 0xac, 0xc8, 0xd3, + 0x30, 0x71, 0xcd, 0xb5, 0x4c, 0x4f, 0xed, 0xc6, 0xa1, 0xff, 0x93, 0xa1, 0xb9, 0x3e, 0x76, 0x58, + 0xcf, 0x72, 0x90, 0xa7, 0x76, 0xdd, 0x38, 0xec, 0x7f, 0x31, 0xac, 0x0f, 0xc0, 0x60, 0x4d, 0x75, + 0xbd, 0x24, 0xf3, 0xfe, 0x6f, 0x0e, 0xe6, 0x00, 0x6c, 0x34, 0xfe, 0xff, 0x3a, 0xda, 0x8b, 0xc3, + 0xbe, 0xcd, 0x8d, 0x66, 0xfa, 0xb5, 0x8f, 0x42, 0x1e, 0xff, 0x4b, 0x7f, 0x28, 0x17, 0x03, 0xfe, + 0x1f, 0x06, 0x1e, 0x20, 0xf0, 0x9b, 0x5d, 0xaf, 0xe3, 0xe9, 0xf1, 0xce, 0xfe, 0x5f, 0xb6, 0xd2, + 0x5c, 0xbf, 0x56, 0x87, 0x82, 0xeb, 0x75, 0x3a, 0x7d, 0xd6, 0x9f, 0xc6, 0xc0, 0xff, 0xef, 0x5d, + 0xff, 0xca, 0xc2, 0xc7, 0xe0, 0xd5, 0xbe, 0x79, 0xdd, 0xb3, 0x2d, 0xf2, 0x99, 0x23, 0x8e, 0xe1, + 0x1e, 0x63, 0x08, 0x40, 0x16, 0x9b, 0xa3, 0xaf, 0x6f, 0x61, 0xd9, 0x5a, 0xb6, 0xe8, 0xc5, 0xed, + 0x0b, 0xd5, 0xf8, 0x1b, 0x58, 0xf8, 0x5c, 0x16, 0xaa, 0x9a, 0xd5, 0xdb, 0xb6, 0xdc, 0xb3, 0x81, + 0x64, 0x7e, 0xd6, 0x77, 0x13, 0xbf, 0x9d, 0xf5, 0x05, 0x73, 0x47, 0xbb, 0xd7, 0xad, 0xfe, 0x6d, + 0x1a, 0x72, 0x0d, 0xd5, 0xf5, 0xd4, 0x9b, 0xea, 0x9e, 0x64, 0xc3, 0x0c, 0xfe, 0x7f, 0x55, 0xb5, + 0xc9, 0x2d, 0x21, 0xdb, 0xce, 0xec, 0xea, 0xfc, 0xf1, 0x85, 0xc1, 0x5b, 0x39, 0x62, 0x61, 0x84, + 0x3a, 0xf9, 0xc9, 0xc1, 0xa2, 0x78, 0xe7, 0x9f, 0x4f, 0x8e, 0xfd, 0xe2, 0xbf, 0x9c, 0xcc, 0xad, + 0xee, 0x3d, 0xa7, 0x1b, 0xae, 0x65, 0xca, 0xa3, 0xa8, 0xa5, 0xcf, 0x08, 0x70, 0xff, 0x08, 0xf9, + 0x1a, 0xdb, 0xed, 0xec, 0x03, 0xd4, 0xf9, 0x84, 0xaf, 0xe6, 0x30, 0x6a, 0x42, 0x31, 0xf4, 0xfa, + 0xc3, 0x5e, 0x33, 0x77, 0x15, 0xca, 0x07, 0xcd, 0x44, 0x12, 0x21, 0x7d, 0x1d, 0xed, 0xb1, 0x1f, + 0x44, 0xe2, 0x7f, 0xa5, 0x33, 0x83, 0x9f, 0x8d, 0x0a, 0xf3, 0x85, 0x73, 0xd3, 0x01, 0xeb, 0xd8, + 0xcb, 0xe8, 0x78, 0x2d, 0x75, 0x49, 0x98, 0x53, 0xe1, 0x54, 0x9c, 0xa5, 0x3f, 0xe6, 0x2b, 0xaa, + 0x15, 0x18, 0xa7, 0x42, 0x69, 0x16, 0xb2, 0x2d, 0xd3, 0xbb, 0x78, 0x9e, 0x50, 0xa5, 0x65, 0xfa, + 0xb0, 0xb8, 0x72, 0xe7, 0x6e, 0x65, 0xec, 0xfb, 0x77, 0x2b, 0x63, 0xff, 0x78, 0xb7, 0x32, 0xf6, + 0xfa, 0xdd, 0x8a, 0xf0, 0xe6, 0xdd, 0x8a, 0xf0, 0xf6, 0xdd, 0x8a, 0xf0, 0xce, 0xdd, 0x8a, 0x70, + 0x7b, 0xbf, 0x22, 0x7c, 0x75, 0xbf, 0x22, 0x7c, 0x7d, 0xbf, 0x22, 0x7c, 0x6b, 0xbf, 0x22, 0x7c, + 0x77, 0xbf, 0x22, 0xdc, 0xd9, 0xaf, 0x8c, 0x7d, 0x7f, 0xbf, 0x22, 0xbc, 0xbe, 0x5f, 0x11, 0xde, + 0xdc, 0xaf, 0x8c, 0xbd, 0xbd, 0x5f, 0x11, 0xde, 0xd9, 0xaf, 0x8c, 0xdd, 0xfe, 0x61, 0x65, 0xec, + 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x7a, 0xdd, 0x85, 0x39, 0x87, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1326,34 +1357,3 @@ var ( ErrInvalidLengthCastvalue = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowCastvalue = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/unmarshaler/castvalue.proto", fileDescriptor_castvalue_92129bf361b9c2b5) -} - -var fileDescriptor_castvalue_92129bf361b9c2b5 = []byte{ - // 359 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x8f, 0xbd, 0x4f, 0xf2, 0x50, - 0x14, 0xc6, 0xef, 0xa1, 0xe1, 0x0d, 0xef, 0xc5, 0x01, 0xab, 0x43, 0x83, 0xc9, 0xa1, 0x61, 0x91, - 0x41, 0xdb, 0x84, 0x10, 0x63, 0x1c, 0x31, 0x0e, 0x26, 0xe2, 0xc0, 0xa0, 0x71, 0xbc, 0x25, 0xb5, - 0x10, 0x4b, 0x2f, 0xe9, 0x87, 0xa6, 0x1b, 0x83, 0x93, 0x7f, 0x89, 0xa3, 0xa3, 0xa3, 0x6e, 0x8c, - 0x8c, 0x4e, 0x4a, 0xaf, 0x0b, 0x23, 0x23, 0xa3, 0xe1, 0x56, 0xfc, 0x48, 0xf0, 0x23, 0x71, 0x3b, - 0xe7, 0xb9, 0xe7, 0x79, 0x7e, 0xcf, 0xa5, 0xe5, 0x16, 0xef, 0x5a, 0x3c, 0x30, 0x23, 0xaf, 0xcb, - 0xfc, 0xa0, 0xcd, 0x5c, 0xdb, 0x37, 0x5b, 0x2c, 0x08, 0xcf, 0x99, 0x1b, 0xd9, 0x46, 0xcf, 0xe7, - 0x21, 0x57, 0xff, 0xbf, 0x09, 0xc5, 0x4d, 0xa7, 0x13, 0xb6, 0x23, 0xcb, 0x68, 0xf1, 0xae, 0xe9, - 0x70, 0x87, 0x9b, 0xf2, 0xc2, 0x8a, 0x4e, 0xe5, 0x26, 0x17, 0x39, 0xa5, 0xce, 0xf2, 0xbd, 0x42, - 0x73, 0xbb, 0x2c, 0x08, 0xd9, 0x05, 0x8b, 0xd5, 0x1e, 0x5d, 0x99, 0xcd, 0x0d, 0xd6, 0x3b, 0x9a, - 0x65, 0x35, 0xec, 0x20, 0x60, 0x8e, 0xad, 0x81, 0xae, 0x54, 0xf2, 0xd5, 0x0d, 0xe3, 0x9d, 0x3a, - 0x77, 0x18, 0x0b, 0xce, 0xf7, 0xbc, 0xd0, 0x8f, 0xeb, 0x85, 0xc1, 0x63, 0x89, 0x5c, 0x3d, 0x95, - 0x72, 0x8d, 0xf8, 0xb8, 0xe3, 0x06, 0xdc, 0x6b, 0x2e, 0x8a, 0x56, 0x2f, 0x81, 0xae, 0x2d, 0xd0, - 0x0f, 0x23, 0xd7, 0x65, 0x96, 0x6b, 0x6b, 0x19, 0x89, 0xae, 0xfd, 0x12, 0x3d, 0xb7, 0xa5, 0x15, - 0x96, 0x3e, 0xe1, 0xbf, 0xc3, 0x14, 0x4f, 0xa8, 0xf6, 0xd5, 0x4f, 0xd4, 0x02, 0x55, 0xce, 0xec, - 0x58, 0x03, 0x1d, 0x2a, 0xd9, 0xe6, 0x6c, 0x54, 0xd7, 0x69, 0x56, 0x76, 0xd1, 0x32, 0x3a, 0x54, - 0xf2, 0xd5, 0xe5, 0x0f, 0xed, 0x5e, 0x61, 0xe9, 0xfb, 0x4e, 0x66, 0x1b, 0x8a, 0x8c, 0xea, 0x3f, - 0x35, 0xfd, 0x23, 0xa2, 0x8c, 0xf4, 0x5f, 0x2a, 0xaa, 0xab, 0x34, 0xbb, 0xef, 0x85, 0x5b, 0x35, - 0x19, 0xa5, 0x34, 0xd3, 0xa5, 0x7e, 0x30, 0x48, 0x90, 0x0c, 0x13, 0x24, 0x0f, 0x09, 0x92, 0x51, - 0x82, 0x30, 0x4e, 0x10, 0x26, 0x09, 0xc2, 0x34, 0x41, 0xe8, 0x0b, 0x84, 0x6b, 0x81, 0x70, 0x23, - 0x10, 0x6e, 0x05, 0xc2, 0x9d, 0x40, 0x18, 0x08, 0x24, 0x43, 0x81, 0x30, 0x12, 0x08, 0x63, 0x81, - 0x64, 0x22, 0x10, 0xa6, 0x02, 0x49, 0xff, 0x19, 0xc9, 0x4b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x73, - 0xe3, 0x1c, 0x3e, 0x90, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go b/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go index a9b87f495..b7d068324 100644 --- a/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go +++ b/vendor/github.com/gogo/protobuf/test/combos/both/thetest.pb.go @@ -3,31 +3,26 @@ package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" - -import bytes "bytes" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import compress_gzip "compress/gzip" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import sort "sort" -import reflect "reflect" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + sort "sort" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -53,6 +48,7 @@ var TheTestEnum_name = map[int32]string{ 1: "B", 2: "C", } + var TheTestEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -64,9 +60,11 @@ func (x TheTestEnum) Enum() *TheTestEnum { *p = x return p } + func (x TheTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(TheTestEnum_name, int32(x)) } + func (x *TheTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(TheTestEnum_value, data, "TheTestEnum") if err != nil { @@ -75,8 +73,9 @@ func (x *TheTestEnum) UnmarshalJSON(data []byte) error { *x = TheTestEnum(value) return nil } + func (TheTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{0} + return fileDescriptor_519c3115fa9830d1, []int{0} } type AnotherTestEnum int32 @@ -90,6 +89,7 @@ var AnotherTestEnum_name = map[int32]string{ 10: "D", 11: "E", } + var AnotherTestEnum_value = map[string]int32{ "D": 10, "E": 11, @@ -100,9 +100,11 @@ func (x AnotherTestEnum) Enum() *AnotherTestEnum { *p = x return p } + func (x AnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(AnotherTestEnum_name, int32(x)) } + func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(AnotherTestEnum_value, data, "AnotherTestEnum") if err != nil { @@ -111,8 +113,9 @@ func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { *x = AnotherTestEnum(value) return nil } + func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{1} + return fileDescriptor_519c3115fa9830d1, []int{1} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -128,6 +131,7 @@ var YetAnotherTestEnum_name = map[int32]string{ 0: "AA", 1: "BB", } + var YetAnotherTestEnum_value = map[string]int32{ "AA": 0, "BB": 1, @@ -138,9 +142,11 @@ func (x YetAnotherTestEnum) Enum() *YetAnotherTestEnum { *p = x return p } + func (x YetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetAnotherTestEnum_name, int32(x)) } + func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetAnotherTestEnum_value, data, "YetAnotherTestEnum") if err != nil { @@ -149,8 +155,9 @@ func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetAnotherTestEnum(value) return nil } + func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{2} + return fileDescriptor_519c3115fa9830d1, []int{2} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -166,6 +173,7 @@ var YetYetAnotherTestEnum_name = map[int32]string{ 0: "CC", 1: "DD", } + var YetYetAnotherTestEnum_value = map[string]int32{ "CC": 0, "DD": 1, @@ -176,9 +184,11 @@ func (x YetYetAnotherTestEnum) Enum() *YetYetAnotherTestEnum { *p = x return p } + func (x YetYetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetYetAnotherTestEnum_name, int32(x)) } + func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetYetAnotherTestEnum_value, data, "YetYetAnotherTestEnum") if err != nil { @@ -187,8 +197,9 @@ func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetYetAnotherTestEnum(value) return nil } + func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{3} + return fileDescriptor_519c3115fa9830d1, []int{3} } type NestedDefinition_NestedEnum int32 @@ -200,6 +211,7 @@ const ( var NestedDefinition_NestedEnum_name = map[int32]string{ 1: "TYPE_NESTED", } + var NestedDefinition_NestedEnum_value = map[string]int32{ "TYPE_NESTED": 1, } @@ -209,9 +221,11 @@ func (x NestedDefinition_NestedEnum) Enum() *NestedDefinition_NestedEnum { *p = x return p } + func (x NestedDefinition_NestedEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(NestedDefinition_NestedEnum_name, int32(x)) } + func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(NestedDefinition_NestedEnum_value, data, "NestedDefinition_NestedEnum") if err != nil { @@ -220,8 +234,9 @@ func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { *x = NestedDefinition_NestedEnum(value) return nil } + func (NestedDefinition_NestedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{42, 0} + return fileDescriptor_519c3115fa9830d1, []int{42, 0} } type NidOptNative struct { @@ -248,7 +263,7 @@ type NidOptNative struct { func (m *NidOptNative) Reset() { *m = NidOptNative{} } func (*NidOptNative) ProtoMessage() {} func (*NidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{0} + return fileDescriptor_519c3115fa9830d1, []int{0} } func (m *NidOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -265,8 +280,8 @@ func (m *NidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNative.Merge(dst, src) +func (m *NidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNative.Merge(m, src) } func (m *NidOptNative) XXX_Size() int { return m.Size() @@ -301,7 +316,7 @@ type NinOptNative struct { func (m *NinOptNative) Reset() { *m = NinOptNative{} } func (*NinOptNative) ProtoMessage() {} func (*NinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{1} + return fileDescriptor_519c3115fa9830d1, []int{1} } func (m *NinOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -318,8 +333,8 @@ func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNative.Merge(dst, src) +func (m *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(m, src) } func (m *NinOptNative) XXX_Size() int { return m.Size() @@ -354,7 +369,7 @@ type NidRepNative struct { func (m *NidRepNative) Reset() { *m = NidRepNative{} } func (*NidRepNative) ProtoMessage() {} func (*NidRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{2} + return fileDescriptor_519c3115fa9830d1, []int{2} } func (m *NidRepNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -371,8 +386,8 @@ func (m *NidRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNative.Merge(dst, src) +func (m *NidRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNative.Merge(m, src) } func (m *NidRepNative) XXX_Size() int { return m.Size() @@ -407,7 +422,7 @@ type NinRepNative struct { func (m *NinRepNative) Reset() { *m = NinRepNative{} } func (*NinRepNative) ProtoMessage() {} func (*NinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{3} + return fileDescriptor_519c3115fa9830d1, []int{3} } func (m *NinRepNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -424,8 +439,8 @@ func (m *NinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNative.Merge(dst, src) +func (m *NinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNative.Merge(m, src) } func (m *NinRepNative) XXX_Size() int { return m.Size() @@ -458,7 +473,7 @@ type NidRepPackedNative struct { func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } func (*NidRepPackedNative) ProtoMessage() {} func (*NidRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{4} + return fileDescriptor_519c3115fa9830d1, []int{4} } func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -475,8 +490,8 @@ func (m *NidRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NidRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepPackedNative.Merge(dst, src) +func (m *NidRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepPackedNative.Merge(m, src) } func (m *NidRepPackedNative) XXX_Size() int { return m.Size() @@ -509,7 +524,7 @@ type NinRepPackedNative struct { func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } func (*NinRepPackedNative) ProtoMessage() {} func (*NinRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{5} + return fileDescriptor_519c3115fa9830d1, []int{5} } func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -526,8 +541,8 @@ func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +func (m *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(m, src) } func (m *NinRepPackedNative) XXX_Size() int { return m.Size() @@ -557,7 +572,7 @@ type NidOptStruct struct { func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } func (*NidOptStruct) ProtoMessage() {} func (*NidOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{6} + return fileDescriptor_519c3115fa9830d1, []int{6} } func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -574,8 +589,8 @@ func (m *NidOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptStruct.Merge(dst, src) +func (m *NidOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptStruct.Merge(m, src) } func (m *NidOptStruct) XXX_Size() int { return m.Size() @@ -605,7 +620,7 @@ type NinOptStruct struct { func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } func (*NinOptStruct) ProtoMessage() {} func (*NinOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{7} + return fileDescriptor_519c3115fa9830d1, []int{7} } func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -622,8 +637,8 @@ func (m *NinOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStruct.Merge(dst, src) +func (m *NinOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStruct.Merge(m, src) } func (m *NinOptStruct) XXX_Size() int { return m.Size() @@ -653,7 +668,7 @@ type NidRepStruct struct { func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } func (*NidRepStruct) ProtoMessage() {} func (*NidRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{8} + return fileDescriptor_519c3115fa9830d1, []int{8} } func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -670,8 +685,8 @@ func (m *NidRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepStruct.Merge(dst, src) +func (m *NidRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepStruct.Merge(m, src) } func (m *NidRepStruct) XXX_Size() int { return m.Size() @@ -701,7 +716,7 @@ type NinRepStruct struct { func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } func (*NinRepStruct) ProtoMessage() {} func (*NinRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{9} + return fileDescriptor_519c3115fa9830d1, []int{9} } func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -718,8 +733,8 @@ func (m *NinRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepStruct.Merge(dst, src) +func (m *NinRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepStruct.Merge(m, src) } func (m *NinRepStruct) XXX_Size() int { return m.Size() @@ -742,7 +757,7 @@ type NidEmbeddedStruct struct { func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } func (*NidEmbeddedStruct) ProtoMessage() {} func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{10} + return fileDescriptor_519c3115fa9830d1, []int{10} } func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -759,8 +774,8 @@ func (m *NidEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NidEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidEmbeddedStruct.Merge(dst, src) +func (m *NidEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidEmbeddedStruct.Merge(m, src) } func (m *NidEmbeddedStruct) XXX_Size() int { return m.Size() @@ -783,7 +798,7 @@ type NinEmbeddedStruct struct { func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } func (*NinEmbeddedStruct) ProtoMessage() {} func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{11} + return fileDescriptor_519c3115fa9830d1, []int{11} } func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -800,8 +815,8 @@ func (m *NinEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStruct.Merge(dst, src) +func (m *NinEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStruct.Merge(m, src) } func (m *NinEmbeddedStruct) XXX_Size() int { return m.Size() @@ -823,7 +838,7 @@ type NidNestedStruct struct { func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } func (*NidNestedStruct) ProtoMessage() {} func (*NidNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{12} + return fileDescriptor_519c3115fa9830d1, []int{12} } func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -840,8 +855,8 @@ func (m *NidNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *NidNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidNestedStruct.Merge(dst, src) +func (m *NidNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidNestedStruct.Merge(m, src) } func (m *NidNestedStruct) XXX_Size() int { return m.Size() @@ -863,7 +878,7 @@ type NinNestedStruct struct { func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } func (*NinNestedStruct) ProtoMessage() {} func (*NinNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{13} + return fileDescriptor_519c3115fa9830d1, []int{13} } func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -880,8 +895,8 @@ func (m *NinNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *NinNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStruct.Merge(dst, src) +func (m *NinNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStruct.Merge(m, src) } func (m *NinNestedStruct) XXX_Size() int { return m.Size() @@ -903,7 +918,7 @@ type NidOptCustom struct { func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } func (*NidOptCustom) ProtoMessage() {} func (*NidOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{14} + return fileDescriptor_519c3115fa9830d1, []int{14} } func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -920,8 +935,8 @@ func (m *NidOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptCustom.Merge(dst, src) +func (m *NidOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptCustom.Merge(m, src) } func (m *NidOptCustom) XXX_Size() int { return m.Size() @@ -942,7 +957,7 @@ type CustomDash struct { func (m *CustomDash) Reset() { *m = CustomDash{} } func (*CustomDash) ProtoMessage() {} func (*CustomDash) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{15} + return fileDescriptor_519c3115fa9830d1, []int{15} } func (m *CustomDash) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -959,8 +974,8 @@ func (m *CustomDash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *CustomDash) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomDash.Merge(dst, src) +func (m *CustomDash) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomDash.Merge(m, src) } func (m *CustomDash) XXX_Size() int { return m.Size() @@ -982,7 +997,7 @@ type NinOptCustom struct { func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } func (*NinOptCustom) ProtoMessage() {} func (*NinOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{16} + return fileDescriptor_519c3115fa9830d1, []int{16} } func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -999,8 +1014,8 @@ func (m *NinOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptCustom.Merge(dst, src) +func (m *NinOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptCustom.Merge(m, src) } func (m *NinOptCustom) XXX_Size() int { return m.Size() @@ -1022,7 +1037,7 @@ type NidRepCustom struct { func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } func (*NidRepCustom) ProtoMessage() {} func (*NidRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{17} + return fileDescriptor_519c3115fa9830d1, []int{17} } func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1039,8 +1054,8 @@ func (m *NidRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepCustom.Merge(dst, src) +func (m *NidRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepCustom.Merge(m, src) } func (m *NidRepCustom) XXX_Size() int { return m.Size() @@ -1062,7 +1077,7 @@ type NinRepCustom struct { func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } func (*NinRepCustom) ProtoMessage() {} func (*NinRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{18} + return fileDescriptor_519c3115fa9830d1, []int{18} } func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1079,8 +1094,8 @@ func (m *NinRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepCustom.Merge(dst, src) +func (m *NinRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepCustom.Merge(m, src) } func (m *NinRepCustom) XXX_Size() int { return m.Size() @@ -1109,7 +1124,7 @@ type NinOptNativeUnion struct { func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } func (*NinOptNativeUnion) ProtoMessage() {} func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{19} + return fileDescriptor_519c3115fa9830d1, []int{19} } func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1126,8 +1141,8 @@ func (m *NinOptNativeUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinOptNativeUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeUnion.Merge(dst, src) +func (m *NinOptNativeUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeUnion.Merge(m, src) } func (m *NinOptNativeUnion) XXX_Size() int { return m.Size() @@ -1156,7 +1171,7 @@ type NinOptStructUnion struct { func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } func (*NinOptStructUnion) ProtoMessage() {} func (*NinOptStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{20} + return fileDescriptor_519c3115fa9830d1, []int{20} } func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1173,8 +1188,8 @@ func (m *NinOptStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinOptStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStructUnion.Merge(dst, src) +func (m *NinOptStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStructUnion.Merge(m, src) } func (m *NinOptStructUnion) XXX_Size() int { return m.Size() @@ -1197,7 +1212,7 @@ type NinEmbeddedStructUnion struct { func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } func (*NinEmbeddedStructUnion) ProtoMessage() {} func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{21} + return fileDescriptor_519c3115fa9830d1, []int{21} } func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1214,8 +1229,8 @@ func (m *NinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStructUnion.Merge(dst, src) +func (m *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStructUnion.Merge(m, src) } func (m *NinEmbeddedStructUnion) XXX_Size() int { return m.Size() @@ -1238,7 +1253,7 @@ type NinNestedStructUnion struct { func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } func (*NinNestedStructUnion) ProtoMessage() {} func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{22} + return fileDescriptor_519c3115fa9830d1, []int{22} } func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1255,8 +1270,8 @@ func (m *NinNestedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (dst *NinNestedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStructUnion.Merge(dst, src) +func (m *NinNestedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStructUnion.Merge(m, src) } func (m *NinNestedStructUnion) XXX_Size() int { return m.Size() @@ -1279,7 +1294,7 @@ type Tree struct { func (m *Tree) Reset() { *m = Tree{} } func (*Tree) ProtoMessage() {} func (*Tree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{23} + return fileDescriptor_519c3115fa9830d1, []int{23} } func (m *Tree) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1296,8 +1311,8 @@ func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Tree) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tree.Merge(dst, src) +func (m *Tree) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tree.Merge(m, src) } func (m *Tree) XXX_Size() int { return m.Size() @@ -1319,7 +1334,7 @@ type OrBranch struct { func (m *OrBranch) Reset() { *m = OrBranch{} } func (*OrBranch) ProtoMessage() {} func (*OrBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{24} + return fileDescriptor_519c3115fa9830d1, []int{24} } func (m *OrBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1336,8 +1351,8 @@ func (m *OrBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *OrBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrBranch.Merge(dst, src) +func (m *OrBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrBranch.Merge(m, src) } func (m *OrBranch) XXX_Size() int { return m.Size() @@ -1359,7 +1374,7 @@ type AndBranch struct { func (m *AndBranch) Reset() { *m = AndBranch{} } func (*AndBranch) ProtoMessage() {} func (*AndBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{25} + return fileDescriptor_519c3115fa9830d1, []int{25} } func (m *AndBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1376,8 +1391,8 @@ func (m *AndBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *AndBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndBranch.Merge(dst, src) +func (m *AndBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndBranch.Merge(m, src) } func (m *AndBranch) XXX_Size() int { return m.Size() @@ -1399,7 +1414,7 @@ type Leaf struct { func (m *Leaf) Reset() { *m = Leaf{} } func (*Leaf) ProtoMessage() {} func (*Leaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{26} + return fileDescriptor_519c3115fa9830d1, []int{26} } func (m *Leaf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1416,8 +1431,8 @@ func (m *Leaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Leaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_Leaf.Merge(dst, src) +func (m *Leaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_Leaf.Merge(m, src) } func (m *Leaf) XXX_Size() int { return m.Size() @@ -1440,7 +1455,7 @@ type DeepTree struct { func (m *DeepTree) Reset() { *m = DeepTree{} } func (*DeepTree) ProtoMessage() {} func (*DeepTree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{27} + return fileDescriptor_519c3115fa9830d1, []int{27} } func (m *DeepTree) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1457,8 +1472,8 @@ func (m *DeepTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *DeepTree) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepTree.Merge(dst, src) +func (m *DeepTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepTree.Merge(m, src) } func (m *DeepTree) XXX_Size() int { return m.Size() @@ -1479,7 +1494,7 @@ type ADeepBranch struct { func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } func (*ADeepBranch) ProtoMessage() {} func (*ADeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{28} + return fileDescriptor_519c3115fa9830d1, []int{28} } func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1496,8 +1511,8 @@ func (m *ADeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *ADeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_ADeepBranch.Merge(dst, src) +func (m *ADeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_ADeepBranch.Merge(m, src) } func (m *ADeepBranch) XXX_Size() int { return m.Size() @@ -1519,7 +1534,7 @@ type AndDeepBranch struct { func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } func (*AndDeepBranch) ProtoMessage() {} func (*AndDeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{29} + return fileDescriptor_519c3115fa9830d1, []int{29} } func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1536,8 +1551,8 @@ func (m *AndDeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *AndDeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndDeepBranch.Merge(dst, src) +func (m *AndDeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndDeepBranch.Merge(m, src) } func (m *AndDeepBranch) XXX_Size() int { return m.Size() @@ -1558,7 +1573,7 @@ type DeepLeaf struct { func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } func (*DeepLeaf) ProtoMessage() {} func (*DeepLeaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{30} + return fileDescriptor_519c3115fa9830d1, []int{30} } func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1575,8 +1590,8 @@ func (m *DeepLeaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *DeepLeaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepLeaf.Merge(dst, src) +func (m *DeepLeaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepLeaf.Merge(m, src) } func (m *DeepLeaf) XXX_Size() int { return m.Size() @@ -1596,7 +1611,7 @@ type Nil struct { func (m *Nil) Reset() { *m = Nil{} } func (*Nil) ProtoMessage() {} func (*Nil) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{31} + return fileDescriptor_519c3115fa9830d1, []int{31} } func (m *Nil) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1613,8 +1628,8 @@ func (m *Nil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Nil) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nil.Merge(dst, src) +func (m *Nil) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nil.Merge(m, src) } func (m *Nil) XXX_Size() int { return m.Size() @@ -1635,7 +1650,7 @@ type NidOptEnum struct { func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } func (*NidOptEnum) ProtoMessage() {} func (*NidOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{32} + return fileDescriptor_519c3115fa9830d1, []int{32} } func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1652,8 +1667,8 @@ func (m *NidOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NidOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptEnum.Merge(dst, src) +func (m *NidOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptEnum.Merge(m, src) } func (m *NidOptEnum) XXX_Size() int { return m.Size() @@ -1676,7 +1691,7 @@ type NinOptEnum struct { func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } func (*NinOptEnum) ProtoMessage() {} func (*NinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{33} + return fileDescriptor_519c3115fa9830d1, []int{33} } func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1693,8 +1708,8 @@ func (m *NinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnum.Merge(dst, src) +func (m *NinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnum.Merge(m, src) } func (m *NinOptEnum) XXX_Size() int { return m.Size() @@ -1717,7 +1732,7 @@ type NidRepEnum struct { func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } func (*NidRepEnum) ProtoMessage() {} func (*NidRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{34} + return fileDescriptor_519c3115fa9830d1, []int{34} } func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1734,8 +1749,8 @@ func (m *NidRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NidRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepEnum.Merge(dst, src) +func (m *NidRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepEnum.Merge(m, src) } func (m *NidRepEnum) XXX_Size() int { return m.Size() @@ -1758,7 +1773,7 @@ type NinRepEnum struct { func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } func (*NinRepEnum) ProtoMessage() {} func (*NinRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{35} + return fileDescriptor_519c3115fa9830d1, []int{35} } func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1775,8 +1790,8 @@ func (m *NinRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NinRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepEnum.Merge(dst, src) +func (m *NinRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepEnum.Merge(m, src) } func (m *NinRepEnum) XXX_Size() int { return m.Size() @@ -1799,7 +1814,7 @@ type NinOptEnumDefault struct { func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } func (*NinOptEnumDefault) ProtoMessage() {} func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{36} + return fileDescriptor_519c3115fa9830d1, []int{36} } func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1816,8 +1831,8 @@ func (m *NinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnumDefault.Merge(dst, src) +func (m *NinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnumDefault.Merge(m, src) } func (m *NinOptEnumDefault) XXX_Size() int { return m.Size() @@ -1865,7 +1880,7 @@ type AnotherNinOptEnum struct { func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } func (*AnotherNinOptEnum) ProtoMessage() {} func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{37} + return fileDescriptor_519c3115fa9830d1, []int{37} } func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1882,8 +1897,8 @@ func (m *AnotherNinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *AnotherNinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnum.Merge(dst, src) +func (m *AnotherNinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnum.Merge(m, src) } func (m *AnotherNinOptEnum) XXX_Size() int { return m.Size() @@ -1906,7 +1921,7 @@ type AnotherNinOptEnumDefault struct { func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } func (*AnotherNinOptEnumDefault) ProtoMessage() {} func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{38} + return fileDescriptor_519c3115fa9830d1, []int{38} } func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1923,8 +1938,8 @@ func (m *AnotherNinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (dst *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnumDefault.Merge(dst, src) +func (m *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnumDefault.Merge(m, src) } func (m *AnotherNinOptEnumDefault) XXX_Size() int { return m.Size() @@ -1972,7 +1987,7 @@ type Timer struct { func (m *Timer) Reset() { *m = Timer{} } func (*Timer) ProtoMessage() {} func (*Timer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{39} + return fileDescriptor_519c3115fa9830d1, []int{39} } func (m *Timer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1989,8 +2004,8 @@ func (m *Timer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Timer) XXX_Merge(src proto.Message) { - xxx_messageInfo_Timer.Merge(dst, src) +func (m *Timer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timer.Merge(m, src) } func (m *Timer) XXX_Size() int { return m.Size() @@ -2012,7 +2027,7 @@ type MyExtendable struct { func (m *MyExtendable) Reset() { *m = MyExtendable{} } func (*MyExtendable) ProtoMessage() {} func (*MyExtendable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{40} + return fileDescriptor_519c3115fa9830d1, []int{40} } var extRange_MyExtendable = []proto.ExtensionRange{ @@ -2022,6 +2037,7 @@ var extRange_MyExtendable = []proto.ExtensionRange{ func (*MyExtendable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyExtendable } + func (m *MyExtendable) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } @@ -2037,8 +2053,8 @@ func (m *MyExtendable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *MyExtendable) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyExtendable.Merge(dst, src) +func (m *MyExtendable) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyExtendable.Merge(m, src) } func (m *MyExtendable) XXX_Size() int { return m.Size() @@ -2062,7 +2078,7 @@ type OtherExtenable struct { func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } func (*OtherExtenable) ProtoMessage() {} func (*OtherExtenable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{41} + return fileDescriptor_519c3115fa9830d1, []int{41} } var extRange_OtherExtenable = []proto.ExtensionRange{ @@ -2073,6 +2089,7 @@ var extRange_OtherExtenable = []proto.ExtensionRange{ func (*OtherExtenable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherExtenable } + func (m *OtherExtenable) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } @@ -2088,8 +2105,8 @@ func (m *OtherExtenable) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (dst *OtherExtenable) XXX_Merge(src proto.Message) { - xxx_messageInfo_OtherExtenable.Merge(dst, src) +func (m *OtherExtenable) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherExtenable.Merge(m, src) } func (m *OtherExtenable) XXX_Size() int { return m.Size() @@ -2113,7 +2130,7 @@ type NestedDefinition struct { func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } func (*NestedDefinition) ProtoMessage() {} func (*NestedDefinition) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{42} + return fileDescriptor_519c3115fa9830d1, []int{42} } func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2130,8 +2147,8 @@ func (m *NestedDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, er return b[:n], nil } } -func (dst *NestedDefinition) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition.Merge(dst, src) +func (m *NestedDefinition) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition.Merge(m, src) } func (m *NestedDefinition) XXX_Size() int { return m.Size() @@ -2153,7 +2170,7 @@ type NestedDefinition_NestedMessage struct { func (m *NestedDefinition_NestedMessage) Reset() { *m = NestedDefinition_NestedMessage{} } func (*NestedDefinition_NestedMessage) ProtoMessage() {} func (*NestedDefinition_NestedMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{42, 0} + return fileDescriptor_519c3115fa9830d1, []int{42, 0} } func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2170,8 +2187,8 @@ func (m *NestedDefinition_NestedMessage) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (dst *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage.Merge(dst, src) +func (m *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage.Merge(m, src) } func (m *NestedDefinition_NestedMessage) XXX_Size() int { return m.Size() @@ -2194,7 +2211,7 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { } func (*NestedDefinition_NestedMessage_NestedNestedMsg) ProtoMessage() {} func (*NestedDefinition_NestedMessage_NestedNestedMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{42, 0, 0} + return fileDescriptor_519c3115fa9830d1, []int{42, 0, 0} } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2211,8 +2228,8 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Marshal(b []byte, d return b[:n], nil } } -func (dst *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(dst, src) +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(m, src) } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Size() int { return m.Size() @@ -2235,7 +2252,7 @@ type NestedScope struct { func (m *NestedScope) Reset() { *m = NestedScope{} } func (*NestedScope) ProtoMessage() {} func (*NestedScope) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{43} + return fileDescriptor_519c3115fa9830d1, []int{43} } func (m *NestedScope) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2252,8 +2269,8 @@ func (m *NestedScope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NestedScope) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedScope.Merge(dst, src) +func (m *NestedScope) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedScope.Merge(m, src) } func (m *NestedScope) XXX_Size() int { return m.Size() @@ -2266,7 +2283,7 @@ var xxx_messageInfo_NestedScope proto.InternalMessageInfo type NinOptNativeDefault struct { Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.1234" json:"Field2,omitempty"` Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` @@ -2288,7 +2305,7 @@ type NinOptNativeDefault struct { func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } func (*NinOptNativeDefault) ProtoMessage() {} func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{44} + return fileDescriptor_519c3115fa9830d1, []int{44} } func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2305,8 +2322,8 @@ func (m *NinOptNativeDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NinOptNativeDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeDefault.Merge(dst, src) +func (m *NinOptNativeDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeDefault.Merge(m, src) } func (m *NinOptNativeDefault) XXX_Size() int { return m.Size() @@ -2318,7 +2335,7 @@ func (m *NinOptNativeDefault) XXX_DiscardUnknown() { var xxx_messageInfo_NinOptNativeDefault proto.InternalMessageInfo const Default_NinOptNativeDefault_Field1 float64 = 1234.1234 -const Default_NinOptNativeDefault_Field2 float32 = 1234.12341 +const Default_NinOptNativeDefault_Field2 float32 = 1234.1234 const Default_NinOptNativeDefault_Field3 int32 = 1234 const Default_NinOptNativeDefault_Field4 int64 = 1234 const Default_NinOptNativeDefault_Field5 uint32 = 1234 @@ -2447,7 +2464,7 @@ type CustomContainer struct { func (m *CustomContainer) Reset() { *m = CustomContainer{} } func (*CustomContainer) ProtoMessage() {} func (*CustomContainer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{45} + return fileDescriptor_519c3115fa9830d1, []int{45} } func (m *CustomContainer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2464,8 +2481,8 @@ func (m *CustomContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *CustomContainer) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomContainer.Merge(dst, src) +func (m *CustomContainer) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomContainer.Merge(m, src) } func (m *CustomContainer) XXX_Size() int { return m.Size() @@ -2500,7 +2517,7 @@ type CustomNameNidOptNative struct { func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } func (*CustomNameNidOptNative) ProtoMessage() {} func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{46} + return fileDescriptor_519c3115fa9830d1, []int{46} } func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2517,8 +2534,8 @@ func (m *CustomNameNidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *CustomNameNidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNidOptNative.Merge(dst, src) +func (m *CustomNameNidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNidOptNative.Merge(m, src) } func (m *CustomNameNidOptNative) XXX_Size() int { return m.Size() @@ -2553,7 +2570,7 @@ type CustomNameNinOptNative struct { func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } func (*CustomNameNinOptNative) ProtoMessage() {} func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{47} + return fileDescriptor_519c3115fa9830d1, []int{47} } func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2570,8 +2587,8 @@ func (m *CustomNameNinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *CustomNameNinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinOptNative.Merge(dst, src) +func (m *CustomNameNinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinOptNative.Merge(m, src) } func (m *CustomNameNinOptNative) XXX_Size() int { return m.Size() @@ -2606,7 +2623,7 @@ type CustomNameNinRepNative struct { func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } func (*CustomNameNinRepNative) ProtoMessage() {} func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{48} + return fileDescriptor_519c3115fa9830d1, []int{48} } func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2623,8 +2640,8 @@ func (m *CustomNameNinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *CustomNameNinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinRepNative.Merge(dst, src) +func (m *CustomNameNinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinRepNative.Merge(m, src) } func (m *CustomNameNinRepNative) XXX_Size() int { return m.Size() @@ -2654,7 +2671,7 @@ type CustomNameNinStruct struct { func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } func (*CustomNameNinStruct) ProtoMessage() {} func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{49} + return fileDescriptor_519c3115fa9830d1, []int{49} } func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2671,8 +2688,8 @@ func (m *CustomNameNinStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *CustomNameNinStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinStruct.Merge(dst, src) +func (m *CustomNameNinStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinStruct.Merge(m, src) } func (m *CustomNameNinStruct) XXX_Size() int { return m.Size() @@ -2696,7 +2713,7 @@ type CustomNameCustomType struct { func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } func (*CustomNameCustomType) ProtoMessage() {} func (*CustomNameCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{50} + return fileDescriptor_519c3115fa9830d1, []int{50} } func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2713,8 +2730,8 @@ func (m *CustomNameCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (dst *CustomNameCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameCustomType.Merge(dst, src) +func (m *CustomNameCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameCustomType.Merge(m, src) } func (m *CustomNameCustomType) XXX_Size() int { return m.Size() @@ -2737,7 +2754,7 @@ type CustomNameNinEmbeddedStructUnion struct { func (m *CustomNameNinEmbeddedStructUnion) Reset() { *m = CustomNameNinEmbeddedStructUnion{} } func (*CustomNameNinEmbeddedStructUnion) ProtoMessage() {} func (*CustomNameNinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{51} + return fileDescriptor_519c3115fa9830d1, []int{51} } func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2754,8 +2771,8 @@ func (m *CustomNameNinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic b return b[:n], nil } } -func (dst *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(dst, src) +func (m *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(m, src) } func (m *CustomNameNinEmbeddedStructUnion) XXX_Size() int { return m.Size() @@ -2777,7 +2794,7 @@ type CustomNameEnum struct { func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } func (*CustomNameEnum) ProtoMessage() {} func (*CustomNameEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{52} + return fileDescriptor_519c3115fa9830d1, []int{52} } func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2794,8 +2811,8 @@ func (m *CustomNameEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (dst *CustomNameEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameEnum.Merge(dst, src) +func (m *CustomNameEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameEnum.Merge(m, src) } func (m *CustomNameEnum) XXX_Size() int { return m.Size() @@ -2817,7 +2834,7 @@ type NoExtensionsMap struct { func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } func (*NoExtensionsMap) ProtoMessage() {} func (*NoExtensionsMap) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{53} + return fileDescriptor_519c3115fa9830d1, []int{53} } var extRange_NoExtensionsMap = []proto.ExtensionRange{ @@ -2827,6 +2844,7 @@ var extRange_NoExtensionsMap = []proto.ExtensionRange{ func (*NoExtensionsMap) ExtensionRangeArray() []proto.ExtensionRange { return extRange_NoExtensionsMap } + func (m *NoExtensionsMap) GetExtensions() *[]byte { if m.XXX_extensions == nil { m.XXX_extensions = make([]byte, 0) @@ -2848,8 +2866,8 @@ func (m *NoExtensionsMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *NoExtensionsMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_NoExtensionsMap.Merge(dst, src) +func (m *NoExtensionsMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NoExtensionsMap.Merge(m, src) } func (m *NoExtensionsMap) XXX_Size() int { return m.Size() @@ -2869,7 +2887,7 @@ type Unrecognized struct { func (m *Unrecognized) Reset() { *m = Unrecognized{} } func (*Unrecognized) ProtoMessage() {} func (*Unrecognized) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{54} + return fileDescriptor_519c3115fa9830d1, []int{54} } func (m *Unrecognized) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2886,8 +2904,8 @@ func (m *Unrecognized) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *Unrecognized) XXX_Merge(src proto.Message) { - xxx_messageInfo_Unrecognized.Merge(dst, src) +func (m *Unrecognized) XXX_Merge(src proto.Message) { + xxx_messageInfo_Unrecognized.Merge(m, src) } func (m *Unrecognized) XXX_Size() int { return m.Size() @@ -2909,7 +2927,7 @@ type UnrecognizedWithInner struct { func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } func (*UnrecognizedWithInner) ProtoMessage() {} func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{55} + return fileDescriptor_519c3115fa9830d1, []int{55} } func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2926,8 +2944,8 @@ func (m *UnrecognizedWithInner) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (dst *UnrecognizedWithInner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner.Merge(dst, src) +func (m *UnrecognizedWithInner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner.Merge(m, src) } func (m *UnrecognizedWithInner) XXX_Size() int { return m.Size() @@ -2947,7 +2965,7 @@ type UnrecognizedWithInner_Inner struct { func (m *UnrecognizedWithInner_Inner) Reset() { *m = UnrecognizedWithInner_Inner{} } func (*UnrecognizedWithInner_Inner) ProtoMessage() {} func (*UnrecognizedWithInner_Inner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{55, 0} + return fileDescriptor_519c3115fa9830d1, []int{55, 0} } func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2964,8 +2982,8 @@ func (m *UnrecognizedWithInner_Inner) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (dst *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(dst, src) +func (m *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(m, src) } func (m *UnrecognizedWithInner_Inner) XXX_Size() int { return m.Size() @@ -2987,7 +3005,7 @@ type UnrecognizedWithEmbed struct { func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } func (*UnrecognizedWithEmbed) ProtoMessage() {} func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{56} + return fileDescriptor_519c3115fa9830d1, []int{56} } func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3004,8 +3022,8 @@ func (m *UnrecognizedWithEmbed) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (dst *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed.Merge(dst, src) +func (m *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed.Merge(m, src) } func (m *UnrecognizedWithEmbed) XXX_Size() int { return m.Size() @@ -3025,7 +3043,7 @@ type UnrecognizedWithEmbed_Embedded struct { func (m *UnrecognizedWithEmbed_Embedded) Reset() { *m = UnrecognizedWithEmbed_Embedded{} } func (*UnrecognizedWithEmbed_Embedded) ProtoMessage() {} func (*UnrecognizedWithEmbed_Embedded) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{56, 0} + return fileDescriptor_519c3115fa9830d1, []int{56, 0} } func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3042,8 +3060,8 @@ func (m *UnrecognizedWithEmbed_Embedded) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (dst *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(dst, src) +func (m *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(m, src) } func (m *UnrecognizedWithEmbed_Embedded) XXX_Size() int { return m.Size() @@ -3065,7 +3083,7 @@ type Node struct { func (m *Node) Reset() { *m = Node{} } func (*Node) ProtoMessage() {} func (*Node) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{57} + return fileDescriptor_519c3115fa9830d1, []int{57} } func (m *Node) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3082,8 +3100,8 @@ func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Node) XXX_Merge(src proto.Message) { - xxx_messageInfo_Node.Merge(dst, src) +func (m *Node) XXX_Merge(src proto.Message) { + xxx_messageInfo_Node.Merge(m, src) } func (m *Node) XXX_Size() int { return m.Size() @@ -3104,7 +3122,7 @@ type NonByteCustomType struct { func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } func (*NonByteCustomType) ProtoMessage() {} func (*NonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{58} + return fileDescriptor_519c3115fa9830d1, []int{58} } func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3121,8 +3139,8 @@ func (m *NonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NonByteCustomType.Merge(dst, src) +func (m *NonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonByteCustomType.Merge(m, src) } func (m *NonByteCustomType) XXX_Size() int { return m.Size() @@ -3143,7 +3161,7 @@ type NidOptNonByteCustomType struct { func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } func (*NidOptNonByteCustomType) ProtoMessage() {} func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{59} + return fileDescriptor_519c3115fa9830d1, []int{59} } func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3160,8 +3178,8 @@ func (m *NidOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNonByteCustomType.Merge(dst, src) +func (m *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNonByteCustomType.Merge(m, src) } func (m *NidOptNonByteCustomType) XXX_Size() int { return m.Size() @@ -3182,7 +3200,7 @@ type NinOptNonByteCustomType struct { func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } func (*NinOptNonByteCustomType) ProtoMessage() {} func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{60} + return fileDescriptor_519c3115fa9830d1, []int{60} } func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3199,8 +3217,8 @@ func (m *NinOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNonByteCustomType.Merge(dst, src) +func (m *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNonByteCustomType.Merge(m, src) } func (m *NinOptNonByteCustomType) XXX_Size() int { return m.Size() @@ -3221,7 +3239,7 @@ type NidRepNonByteCustomType struct { func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } func (*NidRepNonByteCustomType) ProtoMessage() {} func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{61} + return fileDescriptor_519c3115fa9830d1, []int{61} } func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3238,8 +3256,8 @@ func (m *NidRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNonByteCustomType.Merge(dst, src) +func (m *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNonByteCustomType.Merge(m, src) } func (m *NidRepNonByteCustomType) XXX_Size() int { return m.Size() @@ -3260,7 +3278,7 @@ type NinRepNonByteCustomType struct { func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } func (*NinRepNonByteCustomType) ProtoMessage() {} func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{62} + return fileDescriptor_519c3115fa9830d1, []int{62} } func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3277,8 +3295,8 @@ func (m *NinRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNonByteCustomType.Merge(dst, src) +func (m *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNonByteCustomType.Merge(m, src) } func (m *NinRepNonByteCustomType) XXX_Size() int { return m.Size() @@ -3299,7 +3317,7 @@ type ProtoType struct { func (m *ProtoType) Reset() { *m = ProtoType{} } func (*ProtoType) ProtoMessage() {} func (*ProtoType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_3e4f682cb8349b83, []int{63} + return fileDescriptor_519c3115fa9830d1, []int{63} } func (m *ProtoType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3316,8 +3334,8 @@ func (m *ProtoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *ProtoType) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoType.Merge(dst, src) +func (m *ProtoType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoType.Merge(m, src) } func (m *ProtoType) XXX_Size() int { return m.Size() @@ -3401,6 +3419,11 @@ var E_FieldC1 = &proto.ExtensionDesc{ } func init() { + proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) + proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) + proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) + proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) + proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterType((*NidOptNative)(nil), "test.NidOptNative") proto.RegisterType((*NinOptNative)(nil), "test.NinOptNative") proto.RegisterType((*NidRepNative)(nil), "test.NidRepNative") @@ -3469,11 +3492,6 @@ func init() { proto.RegisterType((*NidRepNonByteCustomType)(nil), "test.NidRepNonByteCustomType") proto.RegisterType((*NinRepNonByteCustomType)(nil), "test.NinRepNonByteCustomType") proto.RegisterType((*ProtoType)(nil), "test.ProtoType") - proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) - proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) - proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) - proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) - proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterExtension(E_FieldA) proto.RegisterExtension(E_FieldB) proto.RegisterExtension(E_FieldC) @@ -3483,6 +3501,206 @@ func init() { proto.RegisterExtension(E_FieldB1) proto.RegisterExtension(E_FieldC1) } + +func init() { proto.RegisterFile("combos/both/thetest.proto", fileDescriptor_519c3115fa9830d1) } + +var fileDescriptor_519c3115fa9830d1 = []byte{ + // 3081 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, + 0x15, 0xd6, 0xec, 0x50, 0x0a, 0xf5, 0x24, 0x4b, 0xf4, 0x26, 0x56, 0xb6, 0x8c, 0xba, 0xa2, 0x37, + 0xb2, 0xca, 0x10, 0xb1, 0x44, 0x51, 0x94, 0x2c, 0x33, 0x4d, 0x0a, 0xf1, 0xc7, 0x8d, 0xdc, 0x88, + 0x32, 0x18, 0xb9, 0xad, 0x81, 0x02, 0x05, 0x25, 0xae, 0x45, 0xa2, 0xd2, 0x52, 0x20, 0x57, 0x69, + 0xdc, 0x43, 0x11, 0xe4, 0x50, 0x04, 0xbd, 0x16, 0x3d, 0xb6, 0x71, 0x51, 0x14, 0x48, 0x6f, 0x39, + 0x14, 0x45, 0x51, 0x14, 0x8d, 0x2f, 0x05, 0xd4, 0x9b, 0xd1, 0x53, 0x11, 0x14, 0x42, 0xc4, 0x5c, + 0x72, 0x0c, 0x7a, 0x69, 0x0e, 0x39, 0x14, 0xbb, 0x3b, 0x3b, 0x3b, 0x33, 0xdc, 0xe5, 0x2e, 0x2d, + 0xb9, 0xcd, 0xc5, 0x16, 0xe7, 0xbd, 0x37, 0xf3, 0xf6, 0x7d, 0xdf, 0x7b, 0xfb, 0x76, 0x66, 0xe0, + 0x6b, 0x7b, 0xed, 0xc3, 0xdd, 0x76, 0x77, 0x69, 0xb7, 0x6d, 0x36, 0x97, 0xcc, 0xa6, 0x6e, 0xea, + 0x5d, 0x73, 0xf1, 0xa8, 0xd3, 0x36, 0xdb, 0x72, 0xcc, 0xfa, 0x3b, 0x79, 0x7d, 0xbf, 0x65, 0x36, + 0x8f, 0x77, 0x17, 0xf7, 0xda, 0x87, 0x4b, 0xfb, 0xed, 0xfd, 0xf6, 0x92, 0x2d, 0xdc, 0x3d, 0xbe, + 0x6f, 0xff, 0xb2, 0x7f, 0xd8, 0x7f, 0x39, 0x46, 0xda, 0xbf, 0x30, 0x4c, 0x56, 0x5b, 0x8d, 0xed, + 0x23, 0xb3, 0x5a, 0x37, 0x5b, 0x6f, 0xe9, 0xf2, 0x2c, 0x8c, 0xdd, 0x6a, 0xe9, 0x07, 0x8d, 0x65, + 0x05, 0xa5, 0x50, 0x1a, 0x15, 0x63, 0x27, 0xa7, 0x73, 0x23, 0x35, 0x32, 0x46, 0xa5, 0x39, 0x45, + 0x4a, 0xa1, 0xb4, 0xc4, 0x49, 0x73, 0x54, 0xba, 0xa2, 0xe0, 0x14, 0x4a, 0x8f, 0x72, 0xd2, 0x15, + 0x2a, 0xcd, 0x2b, 0xb1, 0x14, 0x4a, 0x63, 0x4e, 0x9a, 0xa7, 0xd2, 0x55, 0x65, 0x34, 0x85, 0xd2, + 0x97, 0x38, 0xe9, 0x2a, 0x95, 0xae, 0x29, 0x63, 0x29, 0x94, 0x8e, 0x71, 0xd2, 0x35, 0x2a, 0xbd, + 0xa1, 0x3c, 0x93, 0x42, 0xe9, 0xcb, 0x9c, 0xf4, 0x06, 0x95, 0xae, 0x2b, 0xf1, 0x14, 0x4a, 0xcb, + 0x9c, 0x74, 0x9d, 0x4a, 0x6f, 0x2a, 0xe3, 0x29, 0x94, 0x7e, 0x86, 0x93, 0xde, 0x94, 0x55, 0x78, + 0xc6, 0x79, 0xf2, 0xac, 0x02, 0x29, 0x94, 0x9e, 0x26, 0x62, 0x77, 0xd0, 0x93, 0x2f, 0x2b, 0x13, + 0x29, 0x94, 0x1e, 0xe3, 0xe5, 0xcb, 0x9e, 0x3c, 0xa7, 0x4c, 0xa6, 0x50, 0x3a, 0xc1, 0xcb, 0x73, + 0x9e, 0x7c, 0x45, 0xb9, 0x94, 0x42, 0xe9, 0x38, 0x2f, 0x5f, 0xf1, 0xe4, 0x79, 0x65, 0x2a, 0x85, + 0xd2, 0xe3, 0xbc, 0x3c, 0xef, 0xc9, 0x57, 0x95, 0xe9, 0x14, 0x4a, 0x4f, 0xf2, 0xf2, 0x55, 0xed, + 0x5d, 0x1b, 0x5e, 0xc3, 0x83, 0x77, 0x86, 0x87, 0x97, 0x02, 0x3b, 0xc3, 0x03, 0x4b, 0x21, 0x9d, + 0xe1, 0x21, 0xa5, 0x60, 0xce, 0xf0, 0x60, 0x52, 0x18, 0x67, 0x78, 0x18, 0x29, 0x80, 0x33, 0x3c, + 0x80, 0x14, 0xba, 0x19, 0x1e, 0x3a, 0x0a, 0xda, 0x0c, 0x0f, 0x1a, 0x85, 0x6b, 0x86, 0x87, 0x8b, + 0x02, 0xa5, 0x08, 0x40, 0x79, 0x10, 0x29, 0x02, 0x44, 0x1e, 0x38, 0x8a, 0x00, 0x8e, 0x07, 0x8b, + 0x22, 0xc0, 0xe2, 0x01, 0xa2, 0x08, 0x80, 0x78, 0x50, 0x28, 0x02, 0x14, 0x1e, 0x08, 0x24, 0xc7, + 0x6a, 0xfa, 0x91, 0x4f, 0x8e, 0xe1, 0x81, 0x39, 0x86, 0x07, 0xe6, 0x18, 0x1e, 0x98, 0x63, 0x78, + 0x60, 0x8e, 0xe1, 0x81, 0x39, 0x86, 0x07, 0xe6, 0x18, 0x1e, 0x98, 0x63, 0x78, 0x60, 0x8e, 0xe1, + 0xc1, 0x39, 0x86, 0x43, 0x72, 0x0c, 0x87, 0xe4, 0x18, 0x0e, 0xc9, 0x31, 0x1c, 0x92, 0x63, 0x38, + 0x24, 0xc7, 0x70, 0x60, 0x8e, 0x79, 0xf0, 0xce, 0xf0, 0xf0, 0xfa, 0xe6, 0x18, 0x0e, 0xc8, 0x31, + 0x1c, 0x90, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, 0xc3, 0x01, 0x39, 0x86, + 0x03, 0x72, 0x0c, 0x07, 0xe5, 0x18, 0x0e, 0xcc, 0x31, 0x1c, 0x98, 0x63, 0x38, 0x30, 0xc7, 0x70, + 0x60, 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x6c, 0x8e, 0xfd, 0x05, 0x83, 0xec, 0xe4, 0xd8, 0x9d, 0xfa, + 0xde, 0x8f, 0xf4, 0x06, 0x81, 0x42, 0x15, 0x32, 0x6d, 0xcc, 0x82, 0x2e, 0xe1, 0x41, 0xa2, 0x0a, + 0xb9, 0xc6, 0xcb, 0x73, 0x54, 0xee, 0x66, 0x1b, 0x2f, 0x5f, 0xa1, 0x72, 0x37, 0xdf, 0x78, 0x79, + 0x9e, 0xca, 0xdd, 0x8c, 0xe3, 0xe5, 0xab, 0x54, 0xee, 0xe6, 0x1c, 0x2f, 0x5f, 0xa3, 0x72, 0x37, + 0xeb, 0x78, 0xf9, 0x0d, 0x2a, 0x77, 0xf3, 0x8e, 0x97, 0xaf, 0x53, 0xb9, 0x9b, 0x79, 0xbc, 0xfc, + 0xa6, 0x9c, 0x12, 0x73, 0xcf, 0x55, 0xa0, 0xd0, 0xa6, 0xc4, 0xec, 0x13, 0x34, 0x96, 0x3d, 0x0d, + 0x37, 0xff, 0x04, 0x8d, 0x9c, 0xa7, 0xe1, 0x66, 0xa0, 0xa0, 0xb1, 0xa2, 0xbd, 0x67, 0xc3, 0x67, + 0x88, 0xf0, 0x25, 0x05, 0xf8, 0x24, 0x06, 0xba, 0xa4, 0x00, 0x9d, 0xc4, 0xc0, 0x96, 0x14, 0x60, + 0x93, 0x18, 0xc8, 0x92, 0x02, 0x64, 0x12, 0x03, 0x57, 0x52, 0x80, 0x4b, 0x62, 0xa0, 0x4a, 0x0a, + 0x50, 0x49, 0x0c, 0x4c, 0x49, 0x01, 0x26, 0x89, 0x81, 0x28, 0x29, 0x40, 0x24, 0x31, 0xf0, 0x24, + 0x05, 0x78, 0x24, 0x06, 0x9a, 0x59, 0x11, 0x1a, 0x89, 0x85, 0x65, 0x56, 0x84, 0x45, 0x62, 0x21, + 0x99, 0x15, 0x21, 0x91, 0x58, 0x38, 0x66, 0x45, 0x38, 0x24, 0x16, 0x8a, 0x2f, 0x25, 0xb7, 0x23, + 0x7c, 0xd3, 0xec, 0x1c, 0xef, 0x99, 0xe7, 0xea, 0x08, 0xb3, 0x5c, 0xfb, 0x30, 0x91, 0x93, 0x17, + 0xed, 0x86, 0x95, 0xed, 0x38, 0x85, 0x37, 0x58, 0x96, 0x6b, 0x2c, 0x18, 0x0b, 0xc3, 0xdf, 0x22, + 0x7f, 0xae, 0xde, 0x30, 0xcb, 0xb5, 0x19, 0xe1, 0xfe, 0xad, 0x3f, 0xf5, 0x8e, 0xed, 0x91, 0xe4, + 0x76, 0x6c, 0x24, 0xfc, 0xc3, 0x76, 0x6c, 0x99, 0xf0, 0x90, 0xd3, 0x60, 0x67, 0xc2, 0x83, 0xdd, + 0xf7, 0xd6, 0x89, 0xda, 0xc1, 0x65, 0xc2, 0x43, 0x4b, 0x83, 0x7a, 0xb1, 0xfd, 0x16, 0x61, 0x70, + 0x4d, 0x3f, 0xf2, 0x61, 0xf0, 0xb0, 0xfd, 0x56, 0x96, 0x2b, 0x25, 0xc3, 0x32, 0x18, 0x0f, 0xcd, + 0xe0, 0x61, 0x3b, 0xaf, 0x2c, 0x57, 0x5e, 0x86, 0x66, 0xf0, 0x53, 0xe8, 0x87, 0x08, 0x83, 0xbd, + 0xf0, 0x0f, 0xdb, 0x0f, 0x65, 0xc2, 0x43, 0xee, 0xcb, 0x60, 0x3c, 0x04, 0x83, 0xa3, 0xf4, 0x47, + 0x99, 0xf0, 0xd0, 0xfa, 0x33, 0xf8, 0xdc, 0xdd, 0xcc, 0xfb, 0x08, 0x2e, 0x57, 0x5b, 0x8d, 0xca, + 0xe1, 0xae, 0xde, 0x68, 0xe8, 0x0d, 0x12, 0xc7, 0x2c, 0x57, 0x09, 0x02, 0xa0, 0x7e, 0x7c, 0x3a, + 0xe7, 0x45, 0x78, 0x15, 0xe2, 0x4e, 0x4c, 0xb3, 0x59, 0xe5, 0x04, 0x85, 0x54, 0x38, 0xaa, 0x2a, + 0x5f, 0x75, 0xcd, 0x96, 0xb3, 0xca, 0x3f, 0x10, 0x53, 0xe5, 0xe8, 0xb0, 0xf6, 0x0b, 0xdb, 0x43, + 0xe3, 0xdc, 0x1e, 0x2e, 0x45, 0xf2, 0x90, 0xf1, 0xed, 0x85, 0x3e, 0xdf, 0x18, 0xaf, 0x8e, 0x61, + 0xba, 0xda, 0x6a, 0x54, 0xf5, 0xae, 0x19, 0xcd, 0x25, 0x47, 0x47, 0xa8, 0x07, 0x59, 0x8e, 0x96, + 0xac, 0x05, 0xa5, 0x34, 0x5f, 0x23, 0xb4, 0x96, 0xb5, 0xac, 0xc1, 0x2d, 0x9b, 0x09, 0x5a, 0xd6, + 0xab, 0xec, 0x74, 0xc1, 0x4c, 0xd0, 0x82, 0x5e, 0x0e, 0xd1, 0xa5, 0xde, 0x76, 0x5f, 0xce, 0xa5, + 0xe3, 0xae, 0xd9, 0x3e, 0x94, 0x67, 0x41, 0xda, 0x6c, 0xd8, 0x6b, 0x4c, 0x16, 0x27, 0x2d, 0xa7, + 0x3e, 0x3e, 0x9d, 0x8b, 0xdd, 0x3d, 0x6e, 0x35, 0x6a, 0xd2, 0x66, 0x43, 0xbe, 0x0d, 0xa3, 0xdf, + 0xad, 0x1f, 0x1c, 0xeb, 0xf6, 0x2b, 0x62, 0xb2, 0x98, 0x27, 0x0a, 0x2f, 0x07, 0xee, 0x11, 0x59, + 0x0b, 0x2f, 0xed, 0xd9, 0x53, 0x2f, 0xde, 0x6d, 0x19, 0xe6, 0x72, 0x6e, 0xbd, 0xe6, 0x4c, 0xa1, + 0xfd, 0x00, 0xc0, 0x59, 0xb3, 0x5c, 0xef, 0x36, 0xe5, 0xaa, 0x3b, 0xb3, 0xb3, 0xf4, 0xfa, 0xc7, + 0xa7, 0x73, 0xf9, 0x28, 0xb3, 0x5e, 0x6f, 0xd4, 0xbb, 0xcd, 0xeb, 0xe6, 0x83, 0x23, 0x7d, 0xb1, + 0xf8, 0xc0, 0xd4, 0xbb, 0xee, 0xec, 0x47, 0xee, 0x5b, 0x8f, 0x3c, 0x97, 0xc2, 0x3c, 0x57, 0x9c, + 0x7b, 0xa6, 0x5b, 0xfc, 0x33, 0x65, 0x9f, 0xf4, 0x79, 0xde, 0x76, 0x5f, 0x12, 0x42, 0x24, 0x71, + 0x58, 0x24, 0xf1, 0x79, 0x23, 0x79, 0xe4, 0xd6, 0x47, 0xe1, 0x59, 0xf1, 0xa0, 0x67, 0xc5, 0xe7, + 0x79, 0xd6, 0xff, 0x38, 0xd9, 0x4a, 0xf3, 0xe9, 0xae, 0xd1, 0x6a, 0x1b, 0x5f, 0xb9, 0xbd, 0xa0, + 0x0b, 0xed, 0x02, 0x0a, 0xb1, 0x93, 0x87, 0x73, 0x48, 0x7b, 0x5f, 0x72, 0x9f, 0xdc, 0x49, 0xa4, + 0x27, 0x7b, 0xf2, 0xaf, 0x4a, 0x4f, 0xf5, 0x34, 0x22, 0xf4, 0x6b, 0x04, 0x33, 0x7d, 0x95, 0xdc, + 0x09, 0xd3, 0xc5, 0x96, 0x73, 0x63, 0xd8, 0x72, 0x4e, 0x1c, 0xfc, 0x03, 0x82, 0xe7, 0x84, 0xf2, + 0xea, 0xb8, 0xb7, 0x24, 0xb8, 0xf7, 0x7c, 0xff, 0x4a, 0xb6, 0x22, 0xe3, 0x1d, 0x0b, 0xaf, 0x60, + 0xc0, 0xcc, 0x4c, 0x71, 0xcf, 0x0b, 0xb8, 0xcf, 0x52, 0x03, 0x9f, 0x70, 0xb9, 0x0c, 0x20, 0x6e, + 0xb7, 0x21, 0xb6, 0xd3, 0xd1, 0x75, 0x59, 0x05, 0x69, 0xbb, 0x43, 0x3c, 0x9c, 0x72, 0xec, 0xb7, + 0x3b, 0xc5, 0x4e, 0xdd, 0xd8, 0x6b, 0xd6, 0xa4, 0xed, 0x8e, 0x7c, 0x15, 0xf0, 0x86, 0xd1, 0x20, + 0x1e, 0x4d, 0x3b, 0x0a, 0x1b, 0x46, 0x83, 0x68, 0x58, 0x32, 0x59, 0x85, 0xd8, 0x1b, 0x7a, 0xfd, + 0x3e, 0x71, 0x02, 0x1c, 0x1d, 0x6b, 0xa4, 0x66, 0x8f, 0x93, 0x05, 0xbf, 0x0f, 0x71, 0x77, 0x62, + 0x79, 0xde, 0xb2, 0xb8, 0x6f, 0x92, 0x65, 0x89, 0x85, 0xe5, 0x0e, 0x79, 0x73, 0xd9, 0x52, 0x79, + 0x01, 0x46, 0x6b, 0xad, 0xfd, 0xa6, 0x49, 0x16, 0xef, 0x57, 0x73, 0xc4, 0xda, 0x3d, 0x18, 0xa7, + 0x1e, 0x5d, 0xf0, 0xd4, 0x65, 0xe7, 0xd1, 0xe4, 0x24, 0xfb, 0x3e, 0x71, 0xf7, 0x2d, 0x9d, 0x21, + 0x39, 0x05, 0xf1, 0x37, 0xcd, 0x8e, 0x57, 0xf4, 0xdd, 0x8e, 0x94, 0x8e, 0x6a, 0xef, 0x22, 0x88, + 0x97, 0x75, 0xfd, 0xc8, 0x0e, 0xf8, 0x35, 0x88, 0x95, 0xdb, 0x3f, 0x36, 0x88, 0x83, 0x97, 0x49, + 0x44, 0x2d, 0x31, 0x89, 0xa9, 0x2d, 0x96, 0xaf, 0xb1, 0x71, 0x7f, 0x96, 0xc6, 0x9d, 0xd1, 0xb3, + 0x63, 0xaf, 0x71, 0xb1, 0x27, 0x00, 0x5a, 0x4a, 0x7d, 0xf1, 0xbf, 0x01, 0x13, 0xcc, 0x2a, 0x72, + 0x9a, 0xb8, 0x21, 0x89, 0x86, 0x6c, 0xac, 0x2c, 0x0d, 0x4d, 0x87, 0x4b, 0xdc, 0xc2, 0x96, 0x29, + 0x13, 0xe2, 0x00, 0x53, 0x3b, 0xcc, 0x19, 0x3e, 0xcc, 0xfe, 0xaa, 0x24, 0xd4, 0x59, 0x27, 0x46, + 0x76, 0xb8, 0xe7, 0x1d, 0x72, 0x06, 0x83, 0x68, 0xfd, 0xad, 0x8d, 0x02, 0xae, 0xb6, 0x0e, 0xb4, + 0x57, 0x01, 0x9c, 0x94, 0xaf, 0x18, 0xc7, 0x87, 0x42, 0xd6, 0x4d, 0xb9, 0x01, 0xde, 0x69, 0xea, + 0x3b, 0x7a, 0xd7, 0x56, 0xe1, 0xfb, 0x29, 0xab, 0xc0, 0x80, 0x93, 0x62, 0xb6, 0xfd, 0x4b, 0xa1, + 0xf6, 0xbe, 0x9d, 0x98, 0xa5, 0xaa, 0x38, 0xaa, 0xf7, 0x74, 0x73, 0xc3, 0x68, 0x9b, 0x4d, 0xbd, + 0x23, 0x58, 0xe4, 0xe4, 0x15, 0x2e, 0x61, 0xa7, 0x72, 0x2f, 0x50, 0x8b, 0x40, 0xa3, 0x15, 0xed, + 0x43, 0xdb, 0x41, 0xab, 0x15, 0xe8, 0x7b, 0x40, 0x1c, 0xe1, 0x01, 0xe5, 0x35, 0xae, 0x7f, 0x1b, + 0xe0, 0xa6, 0xf0, 0x69, 0x79, 0x93, 0xfb, 0xce, 0x19, 0xec, 0x2c, 0xff, 0x8d, 0xe9, 0xc6, 0xd4, + 0x75, 0xf9, 0xa5, 0x50, 0x97, 0x03, 0xba, 0xdb, 0x61, 0x63, 0x8a, 0xa3, 0xc6, 0xf4, 0xcf, 0xb4, + 0xe3, 0xb0, 0x86, 0xcb, 0xfa, 0xfd, 0xfa, 0xf1, 0x81, 0x29, 0xbf, 0x1c, 0x8a, 0x7d, 0x01, 0x95, + 0xa8, 0xab, 0xf9, 0xa8, 0xf0, 0x17, 0xa4, 0x62, 0x91, 0xba, 0x7b, 0x63, 0x08, 0x0a, 0x14, 0xa4, + 0x52, 0x89, 0x96, 0xed, 0xf8, 0x7b, 0x0f, 0xe7, 0xd0, 0x07, 0x0f, 0xe7, 0x46, 0xb4, 0xdf, 0x23, + 0xb8, 0x4c, 0x34, 0x19, 0xe2, 0x5e, 0x17, 0x9c, 0xbf, 0xe2, 0xd6, 0x0c, 0xbf, 0x08, 0xfc, 0xcf, + 0xc8, 0xfb, 0x37, 0x04, 0x4a, 0x9f, 0xaf, 0x6e, 0xbc, 0xb3, 0x91, 0x5c, 0x2e, 0xa0, 0xca, 0xff, + 0x3f, 0xe6, 0xf7, 0x60, 0x74, 0xa7, 0x75, 0xa8, 0x77, 0xac, 0x37, 0x81, 0xf5, 0x87, 0xe3, 0xb2, + 0x7b, 0x98, 0xe3, 0x0c, 0xb9, 0x32, 0xc7, 0x39, 0x4e, 0x96, 0x93, 0x15, 0x88, 0x95, 0xeb, 0x66, + 0xdd, 0xf6, 0x60, 0x92, 0xd6, 0xd7, 0xba, 0x59, 0xd7, 0x56, 0x60, 0x72, 0xeb, 0x41, 0xe5, 0x6d, + 0x53, 0x37, 0x1a, 0xf5, 0xdd, 0x03, 0xf1, 0x0c, 0xd4, 0xed, 0x57, 0x97, 0x33, 0xa3, 0xf1, 0x46, + 0xe2, 0x04, 0x15, 0x62, 0xb6, 0x3f, 0x6f, 0xc1, 0xd4, 0xb6, 0xe5, 0xb6, 0x6d, 0xc7, 0x99, 0x39, + 0xab, 0x63, 0xfa, 0xf0, 0x42, 0x53, 0x86, 0xbd, 0xa6, 0x2c, 0x05, 0x68, 0x8b, 0x6f, 0x9d, 0x58, + 0x3f, 0x6a, 0x68, 0x2b, 0x13, 0x8b, 0x4f, 0x25, 0x2e, 0x67, 0x62, 0x71, 0x48, 0x5c, 0x22, 0xeb, + 0xfe, 0x1d, 0x43, 0xc2, 0x69, 0x75, 0xca, 0xfa, 0xfd, 0x96, 0xd1, 0x32, 0xfb, 0xfb, 0x55, 0xea, + 0xb1, 0xfc, 0x2d, 0x18, 0xb7, 0x42, 0x6a, 0xff, 0x22, 0x80, 0x5d, 0x25, 0x2d, 0x8a, 0x30, 0x05, + 0x19, 0xb0, 0xa9, 0xe3, 0xd9, 0xc8, 0xb7, 0x00, 0x57, 0xab, 0x5b, 0xe4, 0xe5, 0x96, 0x1f, 0x68, + 0xba, 0xa5, 0x77, 0xbb, 0xf5, 0x7d, 0x9d, 0xfc, 0x22, 0x63, 0xdd, 0xfd, 0x9a, 0x35, 0x81, 0x9c, + 0x07, 0xa9, 0xba, 0x45, 0x1a, 0xde, 0xf9, 0x28, 0xd3, 0xd4, 0xa4, 0xea, 0x56, 0xf2, 0xaf, 0x08, + 0x2e, 0x71, 0xa3, 0xb2, 0x06, 0x93, 0xce, 0x00, 0xf3, 0xb8, 0x63, 0x35, 0x6e, 0xcc, 0xf5, 0x59, + 0x3a, 0xa7, 0xcf, 0xc9, 0x0d, 0x98, 0x16, 0xc6, 0xe5, 0x45, 0x90, 0xd9, 0x21, 0xe2, 0x04, 0xd8, + 0x0d, 0xb5, 0x8f, 0x44, 0xfb, 0x3a, 0x80, 0x17, 0x57, 0x79, 0x1a, 0x26, 0x76, 0xee, 0xdd, 0xa9, + 0xfc, 0xb0, 0x5a, 0x79, 0x73, 0xa7, 0x52, 0x4e, 0x20, 0xed, 0x8f, 0x08, 0x26, 0x48, 0xdb, 0xba, + 0xd7, 0x3e, 0xd2, 0xe5, 0x22, 0xa0, 0x0d, 0xc2, 0x87, 0x27, 0xf3, 0x1b, 0x6d, 0xc8, 0x4b, 0x80, + 0x8a, 0xd1, 0xa1, 0x46, 0x45, 0x39, 0x07, 0xa8, 0x44, 0x00, 0x8e, 0x86, 0x0c, 0x2a, 0x69, 0xff, + 0xc6, 0xf0, 0x2c, 0xdb, 0x46, 0xbb, 0xf5, 0xe4, 0x2a, 0xff, 0xdd, 0x54, 0x18, 0x5f, 0xce, 0xad, + 0xe4, 0x17, 0xad, 0x7f, 0x28, 0x25, 0x35, 0xfe, 0x13, 0xaa, 0x00, 0x54, 0x65, 0x39, 0xe8, 0x9e, + 0x48, 0x21, 0xc6, 0xcc, 0xd0, 0x77, 0x4f, 0x84, 0x93, 0xf6, 0xdd, 0x13, 0xe1, 0xa4, 0x7d, 0xf7, + 0x44, 0x38, 0x69, 0xdf, 0x59, 0x00, 0x27, 0xed, 0xbb, 0x27, 0xc2, 0x49, 0xfb, 0xee, 0x89, 0x70, + 0xd2, 0xfe, 0x7b, 0x22, 0x44, 0x1c, 0x78, 0x4f, 0x84, 0x97, 0xf7, 0xdf, 0x13, 0xe1, 0xe5, 0xfd, + 0xf7, 0x44, 0x0a, 0x31, 0xb3, 0x73, 0xac, 0x07, 0x9f, 0x3a, 0xf0, 0xf6, 0x83, 0x3e, 0x02, 0xbd, + 0x0a, 0xbc, 0x0d, 0xd3, 0xce, 0x86, 0x44, 0xa9, 0x6d, 0x98, 0xf5, 0x96, 0xa1, 0x77, 0xe4, 0x6f, + 0xc2, 0xa4, 0x33, 0xe4, 0x7c, 0xe6, 0xf8, 0x7d, 0x06, 0x3a, 0x72, 0x52, 0x6f, 0x39, 0x6d, 0xed, + 0xcb, 0x18, 0xcc, 0x38, 0x03, 0xd5, 0xfa, 0xa1, 0xce, 0xdd, 0x32, 0x5a, 0x10, 0xce, 0x94, 0xa6, + 0x2c, 0xf3, 0xde, 0xe9, 0x9c, 0x33, 0xba, 0x41, 0xd9, 0xb4, 0x20, 0x9c, 0x2e, 0xf1, 0x7a, 0xde, + 0x0b, 0x68, 0x41, 0xb8, 0x79, 0xc4, 0xeb, 0xd1, 0xf7, 0x0d, 0xd5, 0x73, 0xef, 0x20, 0xf1, 0x7a, + 0x65, 0xca, 0xb2, 0x05, 0xe1, 0x36, 0x12, 0xaf, 0x57, 0xa1, 0x7c, 0x5b, 0x10, 0xce, 0x9e, 0x78, + 0xbd, 0x5b, 0x94, 0x79, 0x0b, 0xc2, 0x29, 0x14, 0xaf, 0xf7, 0x6d, 0xca, 0xc1, 0x05, 0xe1, 0xae, + 0x12, 0xaf, 0xf7, 0x3a, 0x65, 0xe3, 0x82, 0x70, 0x6b, 0x89, 0xd7, 0xdb, 0xa4, 0xbc, 0x4c, 0x8b, + 0xf7, 0x97, 0x78, 0xc5, 0xdb, 0x1e, 0x43, 0xd3, 0xe2, 0x4d, 0x26, 0x5e, 0xf3, 0x3b, 0x1e, 0x57, + 0xd3, 0xe2, 0x9d, 0x26, 0x5e, 0xf3, 0x0d, 0x8f, 0xb5, 0x69, 0xf1, 0xac, 0x8c, 0xd7, 0xdc, 0xf2, + 0xf8, 0x9b, 0x16, 0x4f, 0xcd, 0x78, 0xcd, 0xaa, 0xc7, 0xe4, 0xb4, 0x78, 0x7e, 0xc6, 0x6b, 0x6e, + 0x7b, 0x9b, 0xe8, 0x1f, 0x09, 0xf4, 0x63, 0x6e, 0x41, 0x69, 0x02, 0xfd, 0xc0, 0x87, 0x7a, 0x42, + 0x21, 0x63, 0x74, 0x3c, 0xda, 0x69, 0x02, 0xed, 0xc0, 0x87, 0x72, 0x9a, 0x40, 0x39, 0xf0, 0xa1, + 0x9b, 0x26, 0xd0, 0x0d, 0x7c, 0xa8, 0xa6, 0x09, 0x54, 0x03, 0x1f, 0x9a, 0x69, 0x02, 0xcd, 0xc0, + 0x87, 0x62, 0x9a, 0x40, 0x31, 0xf0, 0xa1, 0x97, 0x26, 0xd0, 0x0b, 0x7c, 0xa8, 0x35, 0x2f, 0x52, + 0x0b, 0xfc, 0x68, 0x35, 0x2f, 0xd2, 0x0a, 0xfc, 0x28, 0xf5, 0xa2, 0x48, 0xa9, 0xf1, 0xde, 0xe9, + 0xdc, 0xa8, 0x35, 0xc4, 0xb0, 0x69, 0x5e, 0x64, 0x13, 0xf8, 0x31, 0x69, 0x5e, 0x64, 0x12, 0xf8, + 0xb1, 0x68, 0x5e, 0x64, 0x11, 0xf8, 0x31, 0xe8, 0x91, 0xc8, 0x20, 0xef, 0x8e, 0x8f, 0x26, 0x1c, + 0x29, 0x86, 0x31, 0x08, 0x47, 0x60, 0x10, 0x8e, 0xc0, 0x20, 0x1c, 0x81, 0x41, 0x38, 0x02, 0x83, + 0x70, 0x04, 0x06, 0xe1, 0x08, 0x0c, 0xc2, 0x11, 0x18, 0x84, 0xa3, 0x30, 0x08, 0x47, 0x62, 0x10, + 0x0e, 0x62, 0xd0, 0xbc, 0x78, 0xe3, 0x01, 0xfc, 0x0a, 0xd2, 0xbc, 0x78, 0xf4, 0x19, 0x4e, 0x21, + 0x1c, 0x89, 0x42, 0x38, 0x88, 0x42, 0x1f, 0x61, 0x78, 0x96, 0xa3, 0x10, 0x39, 0x1f, 0xba, 0xa8, + 0x0a, 0xb4, 0x16, 0xe1, 0x82, 0x85, 0x1f, 0xa7, 0xd6, 0x22, 0x1c, 0x52, 0x0f, 0xe2, 0x59, 0x7f, + 0x15, 0xaa, 0x44, 0xa8, 0x42, 0xb7, 0x28, 0x87, 0xd6, 0x22, 0x5c, 0xbc, 0xe8, 0xe7, 0xde, 0xfa, + 0xa0, 0x22, 0xf0, 0x7a, 0xa4, 0x22, 0xb0, 0x19, 0xa9, 0x08, 0xdc, 0xf6, 0x10, 0xfc, 0x99, 0x04, + 0xcf, 0x79, 0x08, 0x3a, 0x7f, 0xed, 0x3c, 0x38, 0xb2, 0x4a, 0x80, 0x77, 0x44, 0x25, 0xbb, 0xc7, + 0x36, 0x0c, 0x8c, 0xd2, 0x66, 0x43, 0xbe, 0xc3, 0x1f, 0x56, 0x15, 0x86, 0x3d, 0xc0, 0x61, 0x10, + 0x27, 0x9b, 0xa1, 0xf3, 0x80, 0x37, 0x1b, 0x5d, 0xbb, 0x5a, 0xf8, 0x2d, 0x5b, 0xaa, 0x59, 0x62, + 0xb9, 0x06, 0x63, 0xb6, 0x7a, 0xd7, 0x86, 0xf7, 0x3c, 0x0b, 0x97, 0x6b, 0x64, 0x26, 0xed, 0x11, + 0x82, 0x14, 0x47, 0xe5, 0x8b, 0x39, 0x32, 0x78, 0x25, 0xd2, 0x91, 0x01, 0x97, 0x20, 0xde, 0xf1, + 0xc1, 0x37, 0xfa, 0x4f, 0xaa, 0xd9, 0x2c, 0x11, 0x8f, 0x12, 0x7e, 0x0a, 0x53, 0xde, 0x13, 0xd8, + 0xdf, 0x6c, 0xab, 0xe1, 0xbb, 0x99, 0x7e, 0xa9, 0xb9, 0x2a, 0xec, 0xa2, 0x0d, 0x34, 0xa3, 0xd9, + 0xaa, 0x15, 0x60, 0xba, 0xda, 0xb6, 0x77, 0x00, 0xba, 0xad, 0xb6, 0xd1, 0xdd, 0xaa, 0x1f, 0x85, + 0x6d, 0x46, 0xc4, 0xad, 0xd6, 0xfc, 0xe4, 0x37, 0x73, 0x23, 0xda, 0xcb, 0x30, 0x79, 0xd7, 0xe8, + 0xe8, 0x7b, 0xed, 0x7d, 0xa3, 0xf5, 0x13, 0xbd, 0x21, 0x18, 0x8e, 0xbb, 0x86, 0x85, 0xd8, 0x63, + 0x4b, 0xfb, 0x97, 0x08, 0xae, 0xb0, 0xea, 0xdf, 0x6b, 0x99, 0xcd, 0x4d, 0xc3, 0xea, 0xe9, 0x5f, + 0x85, 0xb8, 0x4e, 0x80, 0xb3, 0xdf, 0x5d, 0x13, 0xee, 0x77, 0xa4, 0xaf, 0xfa, 0xa2, 0xfd, 0x6f, + 0x8d, 0x9a, 0x08, 0xbb, 0x20, 0xee, 0xb2, 0xb9, 0xe4, 0x35, 0x18, 0x75, 0xe6, 0xe7, 0xfd, 0xba, + 0x24, 0xf8, 0xf5, 0x3b, 0x1f, 0xbf, 0x6c, 0x1e, 0xc9, 0xb7, 0x39, 0xbf, 0x98, 0xcf, 0x55, 0x5f, + 0xf5, 0x45, 0x97, 0x7c, 0xc5, 0xb8, 0xd5, 0xff, 0xd9, 0x8c, 0x0a, 0x77, 0x32, 0x0d, 0xf1, 0x8a, + 0xa8, 0xe3, 0xef, 0x67, 0x19, 0x62, 0xd5, 0x76, 0x43, 0x97, 0x9f, 0x83, 0xd1, 0x37, 0xea, 0xbb, + 0xfa, 0x01, 0x09, 0xb2, 0xf3, 0x43, 0x5e, 0x80, 0x78, 0xa9, 0xd9, 0x3a, 0x68, 0x74, 0x74, 0x83, + 0x9c, 0xd9, 0x93, 0x2d, 0x74, 0xcb, 0xa6, 0x46, 0x65, 0x5a, 0x09, 0x2e, 0x57, 0xdb, 0x46, 0xf1, + 0x81, 0xc9, 0xd6, 0x8d, 0x45, 0x21, 0x45, 0xc8, 0x99, 0xcf, 0x1d, 0x2b, 0x1b, 0x2d, 0x85, 0xe2, + 0xe8, 0xc7, 0xa7, 0x73, 0x68, 0x87, 0xee, 0x9f, 0x6f, 0xc1, 0xf3, 0x24, 0x7d, 0xfa, 0xa6, 0xca, + 0x85, 0x4d, 0x35, 0x4e, 0xce, 0xa9, 0x99, 0xe9, 0x36, 0xad, 0xe9, 0x0c, 0xdf, 0xe9, 0x9e, 0xcc, + 0x33, 0xab, 0x29, 0x1a, 0xe8, 0x19, 0x1e, 0xca, 0x33, 0xdf, 0xe9, 0x16, 0xc3, 0xa6, 0x13, 0x3c, + 0x7b, 0x11, 0xc6, 0xa9, 0x8c, 0x61, 0x03, 0x9b, 0x29, 0xb9, 0x8c, 0x06, 0x13, 0x4c, 0xc2, 0xca, + 0xa3, 0x80, 0x36, 0x12, 0x23, 0xd6, 0x7f, 0xc5, 0x04, 0xb2, 0xfe, 0x2b, 0x25, 0xa4, 0xcc, 0x35, + 0x98, 0x16, 0xf6, 0x2f, 0x2d, 0x49, 0x39, 0x01, 0xd6, 0x7f, 0x95, 0xc4, 0x44, 0x32, 0xf6, 0xde, + 0x6f, 0xd5, 0x91, 0xcc, 0x2b, 0x20, 0xf7, 0xef, 0x74, 0xca, 0x63, 0x20, 0x6d, 0x58, 0x53, 0x3e, + 0x0f, 0x52, 0xb1, 0x98, 0x40, 0xc9, 0xe9, 0x9f, 0xff, 0x2a, 0x35, 0x51, 0xd4, 0x4d, 0x53, 0xef, + 0xdc, 0xd3, 0xcd, 0x62, 0x91, 0x18, 0xbf, 0x06, 0x57, 0x7c, 0x77, 0x4a, 0x2d, 0xfb, 0x52, 0xc9, + 0xb1, 0x2f, 0x97, 0xfb, 0xec, 0xcb, 0x65, 0xdb, 0x1e, 0x15, 0xdc, 0x13, 0xe7, 0x0d, 0xd9, 0x67, + 0x97, 0x51, 0x69, 0x30, 0x27, 0xdc, 0x1b, 0x85, 0xd7, 0x88, 0x6e, 0xd1, 0x57, 0x57, 0x0f, 0x39, + 0xb1, 0x2e, 0x16, 0x4a, 0xc4, 0xbe, 0xe4, 0x6b, 0x7f, 0x5f, 0x38, 0x56, 0xe5, 0xdf, 0x10, 0x64, + 0x92, 0x12, 0x75, 0xb8, 0xec, 0x3b, 0x49, 0x93, 0xb9, 0xec, 0x5e, 0xa6, 0x0e, 0x57, 0x7c, 0x75, + 0x5b, 0x21, 0x97, 0xbe, 0x2a, 0x85, 0x25, 0xf2, 0x92, 0xdf, 0x58, 0x96, 0xaf, 0xb8, 0x39, 0xca, + 0x55, 0x60, 0x12, 0x20, 0x57, 0xab, 0x50, 0x22, 0x06, 0xc5, 0x40, 0x83, 0xe0, 0x28, 0xb9, 0x96, + 0x85, 0xd7, 0xc9, 0x24, 0xa5, 0xc0, 0x49, 0x42, 0x42, 0xe5, 0x9a, 0x17, 0x77, 0x4e, 0xce, 0xd4, + 0x91, 0xc7, 0x67, 0xea, 0xc8, 0x3f, 0xcf, 0xd4, 0x91, 0x4f, 0xce, 0x54, 0xf4, 0xd9, 0x99, 0x8a, + 0x3e, 0x3f, 0x53, 0xd1, 0x17, 0x67, 0x2a, 0x7a, 0xa7, 0xa7, 0xa2, 0x0f, 0x7a, 0x2a, 0xfa, 0xb0, + 0xa7, 0xa2, 0x3f, 0xf5, 0x54, 0xf4, 0xa8, 0xa7, 0xa2, 0x93, 0x9e, 0x8a, 0x1e, 0xf7, 0x54, 0xf4, + 0x49, 0x4f, 0x45, 0x9f, 0xf5, 0xd4, 0x91, 0xcf, 0x7b, 0x2a, 0xfa, 0xa2, 0xa7, 0x8e, 0xbc, 0xf3, + 0xa9, 0x3a, 0xf2, 0xf0, 0x53, 0x75, 0xe4, 0x83, 0x4f, 0x55, 0xf4, 0xdf, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x6f, 0x5f, 0xc5, 0x7d, 0x47, 0x36, 0x00, 0x00, +} + func (this *NidOptNative) Compare(that interface{}) int { if that == nil { if this == nil { @@ -8936,428 +9154,430 @@ func (this *ProtoType) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func ThetestDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 6731 bytes of a gzipped FileDescriptorSet + // 6764 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x7b, 0x70, 0x24, 0x57, - 0x79, 0xef, 0xf6, 0xf4, 0x48, 0x3b, 0xfa, 0xf4, 0x6a, 0xb5, 0x76, 0xb5, 0x63, 0x79, 0x2d, 0xed, - 0x8e, 0xd7, 0x6b, 0x59, 0xb6, 0xb5, 0x5a, 0xad, 0xf6, 0x35, 0x8b, 0xed, 0x3b, 0xaf, 0x5d, 0x6b, - 0x91, 0x46, 0xa2, 0x25, 0x61, 0x2f, 0xdc, 0x5b, 0x53, 0xbd, 0x33, 0x47, 0xd2, 0xd8, 0x33, 0xdd, - 0xc3, 0x74, 0x8f, 0x6d, 0xb9, 0x6e, 0xdd, 0xf2, 0x85, 0x7b, 0x09, 0x24, 0x95, 0x27, 0x49, 0x05, - 0x08, 0x18, 0x03, 0x05, 0x18, 0xf2, 0x82, 0x40, 0x08, 0x90, 0x54, 0xf0, 0x3f, 0x84, 0xcd, 0x3f, - 0x29, 0x93, 0xbf, 0x52, 0x54, 0xca, 0x85, 0xd7, 0x54, 0x85, 0x24, 0x4e, 0x20, 0xc4, 0x55, 0xa1, - 0xca, 0xfc, 0x91, 0x3a, 0xaf, 0xee, 0x3e, 0x67, 0x7a, 0xd4, 0x2d, 0xaf, 0x6d, 0xf8, 0x67, 0x77, - 0xe6, 0x7c, 0xdf, 0xef, 0xeb, 0xef, 0x7c, 0xaf, 0xf3, 0xf5, 0x39, 0x47, 0x03, 0x3f, 0xbe, 0x08, - 0xc7, 0xb6, 0x6d, 0x7b, 0xbb, 0x81, 0x4e, 0xb5, 0xda, 0xb6, 0x6b, 0x5f, 0xef, 0x6c, 0x9d, 0xaa, - 0x21, 0xa7, 0xda, 0xae, 0xb7, 0x5c, 0xbb, 0x3d, 0x47, 0xc6, 0xf4, 0x51, 0xca, 0x31, 0xc7, 0x39, - 0x32, 0x2b, 0x30, 0x76, 0xb9, 0xde, 0x40, 0x45, 0x8f, 0x71, 0x1d, 0xb9, 0xfa, 0x05, 0x48, 0x6e, - 0xd5, 0x1b, 0x28, 0xad, 0x1c, 0x53, 0x67, 0x06, 0x17, 0x4e, 0xcc, 0x49, 0xa0, 0x39, 0x11, 0xb1, - 0x86, 0x87, 0x0d, 0x82, 0xc8, 0xfc, 0x30, 0x09, 0xe3, 0x21, 0x54, 0x5d, 0x87, 0xa4, 0x65, 0x36, - 0xb1, 0x44, 0x65, 0x66, 0xc0, 0x20, 0x9f, 0xf5, 0x34, 0x1c, 0x6c, 0x99, 0xd5, 0xc7, 0xcd, 0x6d, - 0x94, 0x4e, 0x90, 0x61, 0xfe, 0x55, 0x9f, 0x02, 0xa8, 0xa1, 0x16, 0xb2, 0x6a, 0xc8, 0xaa, 0xee, - 0xa6, 0xd5, 0x63, 0xea, 0xcc, 0x80, 0x11, 0x18, 0xd1, 0xef, 0x85, 0xb1, 0x56, 0xe7, 0x7a, 0xa3, - 0x5e, 0xad, 0x04, 0xd8, 0xe0, 0x98, 0x3a, 0xd3, 0x67, 0x68, 0x94, 0x50, 0xf4, 0x99, 0xef, 0x86, - 0xd1, 0x27, 0x91, 0xf9, 0x78, 0x90, 0x75, 0x90, 0xb0, 0x8e, 0xe0, 0xe1, 0x00, 0x63, 0x01, 0x86, - 0x9a, 0xc8, 0x71, 0xcc, 0x6d, 0x54, 0x71, 0x77, 0x5b, 0x28, 0x9d, 0x24, 0xb3, 0x3f, 0xd6, 0x35, - 0x7b, 0x79, 0xe6, 0x83, 0x0c, 0xb5, 0xb1, 0xdb, 0x42, 0x7a, 0x0e, 0x06, 0x90, 0xd5, 0x69, 0x52, - 0x09, 0x7d, 0x3d, 0xec, 0x57, 0xb2, 0x3a, 0x4d, 0x59, 0x4a, 0x0a, 0xc3, 0x98, 0x88, 0x83, 0x0e, - 0x6a, 0x3f, 0x51, 0xaf, 0xa2, 0x74, 0x3f, 0x11, 0x70, 0x77, 0x97, 0x80, 0x75, 0x4a, 0x97, 0x65, - 0x70, 0x9c, 0x5e, 0x80, 0x01, 0xf4, 0x94, 0x8b, 0x2c, 0xa7, 0x6e, 0x5b, 0xe9, 0x83, 0x44, 0xc8, - 0x5d, 0x21, 0x5e, 0x44, 0x8d, 0x9a, 0x2c, 0xc2, 0xc7, 0xe9, 0xe7, 0xe0, 0xa0, 0xdd, 0x72, 0xeb, - 0xb6, 0xe5, 0xa4, 0x53, 0xc7, 0x94, 0x99, 0xc1, 0x85, 0xa3, 0xa1, 0x81, 0xb0, 0x4a, 0x79, 0x0c, - 0xce, 0xac, 0x2f, 0x81, 0xe6, 0xd8, 0x9d, 0x76, 0x15, 0x55, 0xaa, 0x76, 0x0d, 0x55, 0xea, 0xd6, - 0x96, 0x9d, 0x1e, 0x20, 0x02, 0xa6, 0xbb, 0x27, 0x42, 0x18, 0x0b, 0x76, 0x0d, 0x2d, 0x59, 0x5b, - 0xb6, 0x31, 0xe2, 0x08, 0xdf, 0xf5, 0x09, 0xe8, 0x77, 0x76, 0x2d, 0xd7, 0x7c, 0x2a, 0x3d, 0x44, - 0x22, 0x84, 0x7d, 0xcb, 0x7c, 0xb3, 0x1f, 0x46, 0xe3, 0x84, 0xd8, 0x25, 0xe8, 0xdb, 0xc2, 0xb3, - 0x4c, 0x27, 0xf6, 0x63, 0x03, 0x8a, 0x11, 0x8d, 0xd8, 0xff, 0x06, 0x8d, 0x98, 0x83, 0x41, 0x0b, - 0x39, 0x2e, 0xaa, 0xd1, 0x88, 0x50, 0x63, 0xc6, 0x14, 0x50, 0x50, 0x77, 0x48, 0x25, 0xdf, 0x50, - 0x48, 0x3d, 0x0a, 0xa3, 0x9e, 0x4a, 0x95, 0xb6, 0x69, 0x6d, 0xf3, 0xd8, 0x3c, 0x15, 0xa5, 0xc9, - 0x5c, 0x89, 0xe3, 0x0c, 0x0c, 0x33, 0x46, 0x90, 0xf0, 0x5d, 0x2f, 0x02, 0xd8, 0x16, 0xb2, 0xb7, - 0x2a, 0x35, 0x54, 0x6d, 0xa4, 0x53, 0x3d, 0xac, 0xb4, 0x8a, 0x59, 0xba, 0xac, 0x64, 0xd3, 0xd1, - 0x6a, 0x43, 0xbf, 0xe8, 0x87, 0xda, 0xc1, 0x1e, 0x91, 0xb2, 0x42, 0x93, 0xac, 0x2b, 0xda, 0x36, - 0x61, 0xa4, 0x8d, 0x70, 0xdc, 0xa3, 0x1a, 0x9b, 0xd9, 0x00, 0x51, 0x62, 0x2e, 0x72, 0x66, 0x06, - 0x83, 0xd1, 0x89, 0x0d, 0xb7, 0x83, 0x5f, 0xf5, 0x3b, 0xc1, 0x1b, 0xa8, 0x90, 0xb0, 0x02, 0x52, - 0x85, 0x86, 0xf8, 0x60, 0xd9, 0x6c, 0xa2, 0xc9, 0xa7, 0x61, 0x44, 0x34, 0x8f, 0x7e, 0x08, 0xfa, - 0x1c, 0xd7, 0x6c, 0xbb, 0x24, 0x0a, 0xfb, 0x0c, 0xfa, 0x45, 0xd7, 0x40, 0x45, 0x56, 0x8d, 0x54, - 0xb9, 0x3e, 0x03, 0x7f, 0xd4, 0xff, 0x87, 0x3f, 0x61, 0x95, 0x4c, 0xf8, 0x64, 0xb7, 0x47, 0x05, - 0xc9, 0xf2, 0xbc, 0x27, 0xcf, 0xc3, 0xb0, 0x30, 0x81, 0xb8, 0x8f, 0xce, 0xfc, 0x6f, 0x38, 0x1c, - 0x2a, 0x5a, 0x7f, 0x14, 0x0e, 0x75, 0xac, 0xba, 0xe5, 0xa2, 0x76, 0xab, 0x8d, 0x70, 0xc4, 0xd2, - 0x47, 0xa5, 0xff, 0xe9, 0x60, 0x8f, 0x98, 0xdb, 0x0c, 0x72, 0x53, 0x29, 0xc6, 0x78, 0xa7, 0x7b, - 0x70, 0x76, 0x20, 0xf5, 0xa3, 0x83, 0xda, 0x33, 0xcf, 0x3c, 0xf3, 0x4c, 0x22, 0xf3, 0xd1, 0x7e, - 0x38, 0x14, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x01, 0xfd, 0x56, 0xa7, 0x79, 0x1d, 0xb5, 0x89, 0x91, - 0xfa, 0x0c, 0xf6, 0x4d, 0xcf, 0x41, 0x5f, 0xc3, 0xbc, 0x8e, 0x1a, 0xe9, 0xe4, 0x31, 0x65, 0x66, - 0x64, 0xe1, 0xde, 0x58, 0x59, 0x39, 0xb7, 0x8c, 0x21, 0x06, 0x45, 0xea, 0x0f, 0x42, 0x92, 0x95, - 0x68, 0x2c, 0x61, 0x36, 0x9e, 0x04, 0x9c, 0x4b, 0x06, 0xc1, 0xe9, 0xb7, 0xc3, 0x00, 0xfe, 0x9f, - 0xc6, 0x46, 0x3f, 0xd1, 0x39, 0x85, 0x07, 0x70, 0x5c, 0xe8, 0x93, 0x90, 0x22, 0x69, 0x52, 0x43, - 0x7c, 0x69, 0xf3, 0xbe, 0xe3, 0xc0, 0xaa, 0xa1, 0x2d, 0xb3, 0xd3, 0x70, 0x2b, 0x4f, 0x98, 0x8d, - 0x0e, 0x22, 0x01, 0x3f, 0x60, 0x0c, 0xb1, 0xc1, 0x77, 0xe3, 0x31, 0x7d, 0x1a, 0x06, 0x69, 0x56, - 0xd5, 0xad, 0x1a, 0x7a, 0x8a, 0x54, 0xcf, 0x3e, 0x83, 0x26, 0xda, 0x12, 0x1e, 0xc1, 0x8f, 0x7f, - 0xcc, 0xb1, 0x2d, 0x1e, 0x9a, 0xe4, 0x11, 0x78, 0x80, 0x3c, 0xfe, 0xbc, 0x5c, 0xb8, 0xef, 0x08, - 0x9f, 0x9e, 0x1c, 0x53, 0x99, 0xaf, 0x27, 0x20, 0x49, 0xea, 0xc5, 0x28, 0x0c, 0x6e, 0x5c, 0x5b, - 0x2b, 0x55, 0x8a, 0xab, 0x9b, 0xf9, 0xe5, 0x92, 0xa6, 0xe8, 0x23, 0x00, 0x64, 0xe0, 0xf2, 0xf2, - 0x6a, 0x6e, 0x43, 0x4b, 0x78, 0xdf, 0x97, 0xca, 0x1b, 0xe7, 0x16, 0x35, 0xd5, 0x03, 0x6c, 0xd2, - 0x81, 0x64, 0x90, 0xe1, 0xcc, 0x82, 0xd6, 0xa7, 0x6b, 0x30, 0x44, 0x05, 0x2c, 0x3d, 0x5a, 0x2a, - 0x9e, 0x5b, 0xd4, 0xfa, 0xc5, 0x91, 0x33, 0x0b, 0xda, 0x41, 0x7d, 0x18, 0x06, 0xc8, 0x48, 0x7e, - 0x75, 0x75, 0x59, 0x4b, 0x79, 0x32, 0xd7, 0x37, 0x8c, 0xa5, 0xf2, 0x15, 0x6d, 0xc0, 0x93, 0x79, - 0xc5, 0x58, 0xdd, 0x5c, 0xd3, 0xc0, 0x93, 0xb0, 0x52, 0x5a, 0x5f, 0xcf, 0x5d, 0x29, 0x69, 0x83, - 0x1e, 0x47, 0xfe, 0xda, 0x46, 0x69, 0x5d, 0x1b, 0x12, 0xd4, 0x3a, 0xb3, 0xa0, 0x0d, 0x7b, 0x8f, - 0x28, 0x95, 0x37, 0x57, 0xb4, 0x11, 0x7d, 0x0c, 0x86, 0xe9, 0x23, 0xb8, 0x12, 0xa3, 0xd2, 0xd0, - 0xb9, 0x45, 0x4d, 0xf3, 0x15, 0xa1, 0x52, 0xc6, 0x84, 0x81, 0x73, 0x8b, 0x9a, 0x9e, 0x29, 0x40, - 0x1f, 0x89, 0x2e, 0x5d, 0x87, 0x91, 0xe5, 0x5c, 0xbe, 0xb4, 0x5c, 0x59, 0x5d, 0xdb, 0x58, 0x5a, - 0x2d, 0xe7, 0x96, 0x35, 0xc5, 0x1f, 0x33, 0x4a, 0xef, 0xda, 0x5c, 0x32, 0x4a, 0x45, 0x2d, 0x11, - 0x1c, 0x5b, 0x2b, 0xe5, 0x36, 0x4a, 0x45, 0x4d, 0xcd, 0x54, 0xe1, 0x50, 0x58, 0x9d, 0x0c, 0xcd, - 0x8c, 0x80, 0x8b, 0x13, 0x3d, 0x5c, 0x4c, 0x64, 0x75, 0xb9, 0xf8, 0x95, 0x04, 0x8c, 0x87, 0xac, - 0x15, 0xa1, 0x0f, 0x79, 0x08, 0xfa, 0x68, 0x88, 0xd2, 0xd5, 0xf3, 0x9e, 0xd0, 0x45, 0x87, 0x04, - 0x6c, 0xd7, 0x0a, 0x4a, 0x70, 0xc1, 0x0e, 0x42, 0xed, 0xd1, 0x41, 0x60, 0x11, 0x5d, 0x35, 0xfd, - 0x7f, 0x75, 0xd5, 0x74, 0xba, 0xec, 0x9d, 0x8b, 0xb3, 0xec, 0x91, 0xb1, 0xfd, 0xd5, 0xf6, 0xbe, - 0x90, 0xda, 0x7e, 0x09, 0xc6, 0xba, 0x04, 0xc5, 0xae, 0xb1, 0x1f, 0x50, 0x20, 0xdd, 0xcb, 0x38, - 0x11, 0x95, 0x2e, 0x21, 0x54, 0xba, 0x4b, 0xb2, 0x05, 0x8f, 0xf7, 0x76, 0x42, 0x97, 0xaf, 0xbf, - 0xa0, 0xc0, 0x44, 0x78, 0xa7, 0x18, 0xaa, 0xc3, 0x83, 0xd0, 0xdf, 0x44, 0xee, 0x8e, 0xcd, 0xbb, - 0xa5, 0x93, 0x21, 0x6b, 0x30, 0x26, 0xcb, 0xce, 0x66, 0xa8, 0xe0, 0x22, 0xae, 0xf6, 0x6a, 0xf7, - 0xa8, 0x36, 0x5d, 0x9a, 0x7e, 0x38, 0x01, 0x87, 0x43, 0x85, 0x87, 0x2a, 0x7a, 0x07, 0x40, 0xdd, - 0x6a, 0x75, 0x5c, 0xda, 0x11, 0xd1, 0x02, 0x3b, 0x40, 0x46, 0x48, 0xf1, 0xc2, 0xc5, 0xb3, 0xe3, - 0x7a, 0x74, 0x95, 0xd0, 0x81, 0x0e, 0x11, 0x86, 0x0b, 0xbe, 0xa2, 0x49, 0xa2, 0xe8, 0x54, 0x8f, - 0x99, 0x76, 0x05, 0xe6, 0x3c, 0x68, 0xd5, 0x46, 0x1d, 0x59, 0x6e, 0xc5, 0x71, 0xdb, 0xc8, 0x6c, - 0xd6, 0xad, 0x6d, 0xb2, 0x82, 0xa4, 0xb2, 0x7d, 0x5b, 0x66, 0xc3, 0x41, 0xc6, 0x28, 0x25, 0xaf, - 0x73, 0x2a, 0x46, 0x90, 0x00, 0x6a, 0x07, 0x10, 0xfd, 0x02, 0x82, 0x92, 0x3d, 0x44, 0xe6, 0xab, - 0x29, 0x18, 0x0c, 0xf4, 0xd5, 0xfa, 0x71, 0x18, 0x7a, 0xcc, 0x7c, 0xc2, 0xac, 0xf0, 0x77, 0x25, - 0x6a, 0x89, 0x41, 0x3c, 0xb6, 0xc6, 0xde, 0x97, 0xe6, 0xe1, 0x10, 0x61, 0xb1, 0x3b, 0x2e, 0x6a, - 0x57, 0xaa, 0x0d, 0xd3, 0x71, 0x88, 0xd1, 0x52, 0x84, 0x55, 0xc7, 0xb4, 0x55, 0x4c, 0x2a, 0x70, - 0x8a, 0x7e, 0x16, 0xc6, 0x09, 0xa2, 0xd9, 0x69, 0xb8, 0xf5, 0x56, 0x03, 0x55, 0xf0, 0xdb, 0x9b, - 0x43, 0x56, 0x12, 0x4f, 0xb3, 0x31, 0xcc, 0xb1, 0xc2, 0x18, 0xb0, 0x46, 0x8e, 0x5e, 0x84, 0x3b, - 0x08, 0x6c, 0x1b, 0x59, 0xa8, 0x6d, 0xba, 0xa8, 0x82, 0xde, 0xd7, 0x31, 0x1b, 0x4e, 0xc5, 0xb4, - 0x6a, 0x95, 0x1d, 0xd3, 0xd9, 0x49, 0x1f, 0xc2, 0x02, 0xf2, 0x89, 0xb4, 0x62, 0xdc, 0x86, 0x19, - 0xaf, 0x30, 0xbe, 0x12, 0x61, 0xcb, 0x59, 0xb5, 0x87, 0x4d, 0x67, 0x47, 0xcf, 0xc2, 0x04, 0x91, - 0xe2, 0xb8, 0xed, 0xba, 0xb5, 0x5d, 0xa9, 0xee, 0xa0, 0xea, 0xe3, 0x95, 0x8e, 0xbb, 0x75, 0x21, - 0x7d, 0x7b, 0xf0, 0xf9, 0x44, 0xc3, 0x75, 0xc2, 0x53, 0xc0, 0x2c, 0x9b, 0xee, 0xd6, 0x05, 0x7d, - 0x1d, 0x86, 0xb0, 0x33, 0x9a, 0xf5, 0xa7, 0x51, 0x65, 0xcb, 0x6e, 0x93, 0xa5, 0x71, 0x24, 0xa4, - 0x34, 0x05, 0x2c, 0x38, 0xb7, 0xca, 0x00, 0x2b, 0x76, 0x0d, 0x65, 0xfb, 0xd6, 0xd7, 0x4a, 0xa5, - 0xa2, 0x31, 0xc8, 0xa5, 0x5c, 0xb6, 0xdb, 0x38, 0xa0, 0xb6, 0x6d, 0xcf, 0xc0, 0x83, 0x34, 0xa0, - 0xb6, 0x6d, 0x6e, 0xde, 0xb3, 0x30, 0x5e, 0xad, 0xd2, 0x39, 0xd7, 0xab, 0x15, 0xf6, 0x8e, 0xe5, - 0xa4, 0x35, 0xc1, 0x58, 0xd5, 0xea, 0x15, 0xca, 0xc0, 0x62, 0xdc, 0xd1, 0x2f, 0xc2, 0x61, 0xdf, - 0x58, 0x41, 0xe0, 0x58, 0xd7, 0x2c, 0x65, 0xe8, 0x59, 0x18, 0x6f, 0xed, 0x76, 0x03, 0x75, 0xe1, - 0x89, 0xad, 0x5d, 0x19, 0x76, 0x1e, 0x0e, 0xb5, 0x76, 0x5a, 0xdd, 0xb8, 0xd9, 0x20, 0x4e, 0x6f, - 0xed, 0xb4, 0x64, 0xe0, 0x5d, 0xe4, 0x85, 0xbb, 0x8d, 0xaa, 0xa6, 0x8b, 0x6a, 0xe9, 0x23, 0x41, - 0xf6, 0x00, 0x41, 0x3f, 0x05, 0x5a, 0xb5, 0x5a, 0x41, 0x96, 0x79, 0xbd, 0x81, 0x2a, 0x66, 0x1b, - 0x59, 0xa6, 0x93, 0x9e, 0x0e, 0x32, 0x8f, 0x54, 0xab, 0x25, 0x42, 0xcd, 0x11, 0xa2, 0x3e, 0x0b, - 0x63, 0xf6, 0xf5, 0xc7, 0xaa, 0x34, 0x24, 0x2b, 0xad, 0x36, 0xda, 0xaa, 0x3f, 0x95, 0x3e, 0x41, - 0xec, 0x3b, 0x8a, 0x09, 0x24, 0x20, 0xd7, 0xc8, 0xb0, 0x7e, 0x0f, 0x68, 0x55, 0x67, 0xc7, 0x6c, - 0xb7, 0x48, 0x4d, 0x76, 0x5a, 0x66, 0x15, 0xa5, 0xef, 0xa2, 0xac, 0x74, 0xbc, 0xcc, 0x87, 0x71, - 0x4a, 0x38, 0x4f, 0xd6, 0xb7, 0x5c, 0x2e, 0xf1, 0x6e, 0x9a, 0x12, 0x64, 0x8c, 0x49, 0x9b, 0x01, - 0x0d, 0x9b, 0x42, 0x78, 0xf0, 0x0c, 0x61, 0x1b, 0x69, 0xed, 0xb4, 0x82, 0xcf, 0xbd, 0x13, 0x86, - 0x31, 0xa7, 0xff, 0xd0, 0x7b, 0x68, 0x43, 0xd6, 0xda, 0x09, 0x3c, 0xf1, 0x2d, 0xeb, 0x8d, 0x33, - 0x59, 0x18, 0x0a, 0xc6, 0xa7, 0x3e, 0x00, 0x34, 0x42, 0x35, 0x05, 0x37, 0x2b, 0x85, 0xd5, 0x22, - 0x6e, 0x33, 0xde, 0x53, 0xd2, 0x12, 0xb8, 0xdd, 0x59, 0x5e, 0xda, 0x28, 0x55, 0x8c, 0xcd, 0xf2, - 0xc6, 0xd2, 0x4a, 0x49, 0x53, 0x83, 0x7d, 0xf5, 0x77, 0x12, 0x30, 0x22, 0xbe, 0x22, 0xe9, 0xef, - 0x80, 0x23, 0x7c, 0x3f, 0xc3, 0x41, 0x6e, 0xe5, 0xc9, 0x7a, 0x9b, 0xa4, 0x4c, 0xd3, 0xa4, 0xcb, - 0x97, 0xe7, 0xb4, 0x43, 0x8c, 0x6b, 0x1d, 0xb9, 0x8f, 0xd4, 0xdb, 0x38, 0x21, 0x9a, 0xa6, 0xab, - 0x2f, 0xc3, 0xb4, 0x65, 0x57, 0x1c, 0xd7, 0xb4, 0x6a, 0x66, 0xbb, 0x56, 0xf1, 0x77, 0x92, 0x2a, - 0x66, 0xb5, 0x8a, 0x1c, 0xc7, 0xa6, 0x4b, 0x95, 0x27, 0xe5, 0xa8, 0x65, 0xaf, 0x33, 0x66, 0xbf, - 0x86, 0xe7, 0x18, 0xab, 0x14, 0x60, 0x6a, 0xaf, 0x00, 0xbb, 0x1d, 0x06, 0x9a, 0x66, 0xab, 0x82, - 0x2c, 0xb7, 0xbd, 0x4b, 0x1a, 0xe3, 0x94, 0x91, 0x6a, 0x9a, 0xad, 0x12, 0xfe, 0xfe, 0xf6, 0xbc, - 0x9f, 0xfc, 0xa3, 0x0a, 0x43, 0xc1, 0xe6, 0x18, 0xbf, 0x6b, 0x54, 0xc9, 0x3a, 0xa2, 0x90, 0x4a, - 0x73, 0xe7, 0x9e, 0xad, 0xf4, 0x5c, 0x01, 0x2f, 0x30, 0xd9, 0x7e, 0xda, 0xb2, 0x1a, 0x14, 0x89, - 0x17, 0x77, 0x5c, 0x5b, 0x10, 0x6d, 0x11, 0x52, 0x06, 0xfb, 0xa6, 0x5f, 0x81, 0xfe, 0xc7, 0x1c, - 0x22, 0xbb, 0x9f, 0xc8, 0x3e, 0xb1, 0xb7, 0xec, 0xab, 0xeb, 0x44, 0xf8, 0xc0, 0xd5, 0xf5, 0x4a, - 0x79, 0xd5, 0x58, 0xc9, 0x2d, 0x1b, 0x0c, 0xae, 0xdf, 0x06, 0xc9, 0x86, 0xf9, 0xf4, 0xae, 0xb8, - 0x14, 0x91, 0xa1, 0xb8, 0x86, 0xbf, 0x0d, 0x92, 0x4f, 0x22, 0xf3, 0x71, 0x71, 0x01, 0x20, 0x43, - 0x6f, 0x61, 0xe8, 0x9f, 0x82, 0x3e, 0x62, 0x2f, 0x1d, 0x80, 0x59, 0x4c, 0x3b, 0xa0, 0xa7, 0x20, - 0x59, 0x58, 0x35, 0x70, 0xf8, 0x6b, 0x30, 0x44, 0x47, 0x2b, 0x6b, 0x4b, 0xa5, 0x42, 0x49, 0x4b, - 0x64, 0xce, 0x42, 0x3f, 0x35, 0x02, 0x4e, 0x0d, 0xcf, 0x0c, 0xda, 0x01, 0xf6, 0x95, 0xc9, 0x50, - 0x38, 0x75, 0x73, 0x25, 0x5f, 0x32, 0xb4, 0x44, 0xd0, 0xbd, 0x0e, 0x0c, 0x05, 0xfb, 0xe2, 0xb7, - 0x27, 0xa6, 0xbe, 0xa5, 0xc0, 0x60, 0xa0, 0xcf, 0xc5, 0x0d, 0x8a, 0xd9, 0x68, 0xd8, 0x4f, 0x56, - 0xcc, 0x46, 0xdd, 0x74, 0x58, 0x50, 0x00, 0x19, 0xca, 0xe1, 0x91, 0xb8, 0x4e, 0x7b, 0x5b, 0x94, - 0x7f, 0x56, 0x01, 0x4d, 0x6e, 0x31, 0x25, 0x05, 0x95, 0x5f, 0xa8, 0x82, 0x9f, 0x50, 0x60, 0x44, - 0xec, 0x2b, 0x25, 0xf5, 0x8e, 0xff, 0x42, 0xd5, 0xfb, 0x41, 0x02, 0x86, 0x85, 0x6e, 0x32, 0xae, - 0x76, 0xef, 0x83, 0xb1, 0x7a, 0x0d, 0x35, 0x5b, 0xb6, 0x8b, 0xac, 0xea, 0x6e, 0xa5, 0x81, 0x9e, - 0x40, 0x8d, 0x74, 0x86, 0x14, 0x8a, 0x53, 0x7b, 0xf7, 0xab, 0x73, 0x4b, 0x3e, 0x6e, 0x19, 0xc3, - 0xb2, 0xe3, 0x4b, 0xc5, 0xd2, 0xca, 0xda, 0xea, 0x46, 0xa9, 0x5c, 0xb8, 0x56, 0xd9, 0x2c, 0xbf, - 0xb3, 0xbc, 0xfa, 0x48, 0xd9, 0xd0, 0xea, 0x12, 0xdb, 0x5b, 0x98, 0xea, 0x6b, 0xa0, 0xc9, 0x4a, - 0xe9, 0x47, 0x20, 0x4c, 0x2d, 0xed, 0x80, 0x3e, 0x0e, 0xa3, 0xe5, 0xd5, 0xca, 0xfa, 0x52, 0xb1, - 0x54, 0x29, 0x5d, 0xbe, 0x5c, 0x2a, 0x6c, 0xac, 0xd3, 0x1d, 0x08, 0x8f, 0x7b, 0x43, 0x4c, 0xea, - 0x8f, 0xab, 0x30, 0x1e, 0xa2, 0x89, 0x9e, 0x63, 0xef, 0x0e, 0xf4, 0x75, 0xe6, 0xfe, 0x38, 0xda, - 0xcf, 0xe1, 0x25, 0x7f, 0xcd, 0x6c, 0xbb, 0xec, 0x55, 0xe3, 0x1e, 0xc0, 0x56, 0xb2, 0xdc, 0xfa, - 0x56, 0x1d, 0xb5, 0xd9, 0x86, 0x0d, 0x7d, 0xa1, 0x18, 0xf5, 0xc7, 0xe9, 0x9e, 0xcd, 0x7d, 0xa0, - 0xb7, 0x6c, 0xa7, 0xee, 0xd6, 0x9f, 0x40, 0x95, 0xba, 0xc5, 0x77, 0x77, 0xf0, 0x0b, 0x46, 0xd2, - 0xd0, 0x38, 0x65, 0xc9, 0x72, 0x3d, 0x6e, 0x0b, 0x6d, 0x9b, 0x12, 0x37, 0x2e, 0xe0, 0xaa, 0xa1, - 0x71, 0x8a, 0xc7, 0x7d, 0x1c, 0x86, 0x6a, 0x76, 0x07, 0x77, 0x5d, 0x94, 0x0f, 0xaf, 0x17, 0x8a, - 0x31, 0x48, 0xc7, 0x3c, 0x16, 0xd6, 0x4f, 0xfb, 0xdb, 0x4a, 0x43, 0xc6, 0x20, 0x1d, 0xa3, 0x2c, - 0x77, 0xc3, 0xa8, 0xb9, 0xbd, 0xdd, 0xc6, 0xc2, 0xb9, 0x20, 0xfa, 0x86, 0x30, 0xe2, 0x0d, 0x13, - 0xc6, 0xc9, 0xab, 0x90, 0xe2, 0x76, 0xc0, 0x4b, 0x32, 0xb6, 0x44, 0xa5, 0x45, 0x5f, 0x7b, 0x13, - 0x33, 0x03, 0x46, 0xca, 0xe2, 0xc4, 0xe3, 0x30, 0x54, 0x77, 0x2a, 0xfe, 0x2e, 0x79, 0xe2, 0x58, - 0x62, 0x26, 0x65, 0x0c, 0xd6, 0x1d, 0x6f, 0x87, 0x31, 0xf3, 0x85, 0x04, 0x8c, 0x88, 0xbb, 0xfc, - 0x7a, 0x11, 0x52, 0x0d, 0xbb, 0x6a, 0x92, 0xd0, 0xa2, 0x47, 0x4c, 0x33, 0x11, 0x07, 0x03, 0x73, - 0xcb, 0x8c, 0xdf, 0xf0, 0x90, 0x93, 0x7f, 0xa7, 0x40, 0x8a, 0x0f, 0xeb, 0x13, 0x90, 0x6c, 0x99, - 0xee, 0x0e, 0x11, 0xd7, 0x97, 0x4f, 0x68, 0x8a, 0x41, 0xbe, 0xe3, 0x71, 0xa7, 0x65, 0x5a, 0x24, - 0x04, 0xd8, 0x38, 0xfe, 0x8e, 0xfd, 0xda, 0x40, 0x66, 0x8d, 0xbc, 0x7e, 0xd8, 0xcd, 0x26, 0xb2, - 0x5c, 0x87, 0xfb, 0x95, 0x8d, 0x17, 0xd8, 0xb0, 0x7e, 0x2f, 0x8c, 0xb9, 0x6d, 0xb3, 0xde, 0x10, - 0x78, 0x93, 0x84, 0x57, 0xe3, 0x04, 0x8f, 0x39, 0x0b, 0xb7, 0x71, 0xb9, 0x35, 0xe4, 0x9a, 0xd5, - 0x1d, 0x54, 0xf3, 0x41, 0xfd, 0x64, 0x9b, 0xe1, 0x08, 0x63, 0x28, 0x32, 0x3a, 0xc7, 0x66, 0xbe, - 0xa7, 0xc0, 0x18, 0x7f, 0x61, 0xaa, 0x79, 0xc6, 0x5a, 0x01, 0x30, 0x2d, 0xcb, 0x76, 0x83, 0xe6, - 0xea, 0x0e, 0xe5, 0x2e, 0xdc, 0x5c, 0xce, 0x03, 0x19, 0x01, 0x01, 0x93, 0x4d, 0x00, 0x9f, 0xd2, - 0xd3, 0x6c, 0xd3, 0x30, 0xc8, 0x8e, 0x70, 0xc8, 0x39, 0x20, 0x7d, 0xc5, 0x06, 0x3a, 0x84, 0xdf, - 0xac, 0xf4, 0x43, 0xd0, 0x77, 0x1d, 0x6d, 0xd7, 0x2d, 0xb6, 0x31, 0x4b, 0xbf, 0xf0, 0x8d, 0x90, - 0xa4, 0xb7, 0x11, 0x92, 0x7f, 0x2f, 0x8c, 0x57, 0xed, 0xa6, 0xac, 0x6e, 0x5e, 0x93, 0x5e, 0xf3, - 0x9d, 0x87, 0x95, 0xf7, 0x80, 0xdf, 0x62, 0xfe, 0x4c, 0x51, 0x3e, 0x93, 0x50, 0xaf, 0xac, 0xe5, - 0xbf, 0x94, 0x98, 0xbc, 0x42, 0xa1, 0x6b, 0x7c, 0xa6, 0x06, 0xda, 0x6a, 0xa0, 0x2a, 0xd6, 0x1e, - 0x3e, 0x7f, 0x2f, 0xdc, 0xbf, 0x5d, 0x77, 0x77, 0x3a, 0xd7, 0xe7, 0xaa, 0x76, 0xf3, 0xd4, 0xb6, - 0xbd, 0x6d, 0xfb, 0x47, 0x9f, 0xf8, 0x1b, 0xf9, 0x42, 0x3e, 0xb1, 0xe3, 0xcf, 0x01, 0x6f, 0x74, - 0x32, 0xf2, 0xac, 0x34, 0x5b, 0x86, 0x71, 0xc6, 0x5c, 0x21, 0xe7, 0x2f, 0xf4, 0x2d, 0x42, 0xdf, - 0x73, 0x0f, 0x2b, 0xfd, 0x95, 0x1f, 0x92, 0xe5, 0xda, 0x18, 0x63, 0x50, 0x4c, 0xa3, 0x2f, 0x1a, - 0x59, 0x03, 0x0e, 0x0b, 0xf2, 0x68, 0x6a, 0xa2, 0x76, 0x84, 0xc4, 0xef, 0x30, 0x89, 0xe3, 0x01, - 0x89, 0xeb, 0x0c, 0x9a, 0x2d, 0xc0, 0xf0, 0x7e, 0x64, 0xfd, 0x0d, 0x93, 0x35, 0x84, 0x82, 0x42, - 0xae, 0xc0, 0x28, 0x11, 0x52, 0xed, 0x38, 0xae, 0xdd, 0x24, 0x75, 0x6f, 0x6f, 0x31, 0xdf, 0xfd, - 0x21, 0xcd, 0x95, 0x11, 0x0c, 0x2b, 0x78, 0xa8, 0x6c, 0x16, 0xc8, 0x91, 0x53, 0x0d, 0x55, 0x1b, - 0x11, 0x12, 0x6e, 0x30, 0x45, 0x3c, 0xfe, 0xec, 0xbb, 0xe1, 0x10, 0xfe, 0x4c, 0xca, 0x52, 0x50, - 0x93, 0xe8, 0x0d, 0xaf, 0xf4, 0xf7, 0x3e, 0x40, 0xd3, 0x71, 0xdc, 0x13, 0x10, 0xd0, 0x29, 0xe0, - 0xc5, 0x6d, 0xe4, 0xba, 0xa8, 0xed, 0x54, 0xcc, 0x46, 0x98, 0x7a, 0x81, 0x1d, 0x83, 0xf4, 0xc7, - 0x5e, 0x15, 0xbd, 0x78, 0x85, 0x22, 0x73, 0x8d, 0x46, 0x76, 0x13, 0x8e, 0x84, 0x44, 0x45, 0x0c, - 0x99, 0x1f, 0x67, 0x32, 0x0f, 0x75, 0x45, 0x06, 0x16, 0xbb, 0x06, 0x7c, 0xdc, 0xf3, 0x65, 0x0c, - 0x99, 0x7f, 0xc0, 0x64, 0xea, 0x0c, 0xcb, 0x5d, 0x8a, 0x25, 0x5e, 0x85, 0xb1, 0x27, 0x50, 0xfb, - 0xba, 0xed, 0xb0, 0x5d, 0x9a, 0x18, 0xe2, 0x3e, 0xc1, 0xc4, 0x8d, 0x32, 0x20, 0xd9, 0xb6, 0xc1, - 0xb2, 0x2e, 0x42, 0x6a, 0xcb, 0xac, 0xa2, 0x18, 0x22, 0x3e, 0xc9, 0x44, 0x1c, 0xc4, 0xfc, 0x18, - 0x9a, 0x83, 0xa1, 0x6d, 0x9b, 0xad, 0x4c, 0xd1, 0xf0, 0x67, 0x19, 0x7c, 0x90, 0x63, 0x98, 0x88, - 0x96, 0xdd, 0xea, 0x34, 0xf0, 0xb2, 0x15, 0x2d, 0xe2, 0x53, 0x5c, 0x04, 0xc7, 0x30, 0x11, 0xfb, - 0x30, 0xeb, 0x73, 0x5c, 0x84, 0x13, 0xb0, 0xe7, 0x43, 0x30, 0x68, 0x5b, 0x8d, 0x5d, 0xdb, 0x8a, - 0xa3, 0xc4, 0xa7, 0x99, 0x04, 0x60, 0x10, 0x2c, 0xe0, 0x12, 0x0c, 0xc4, 0x75, 0xc4, 0xe7, 0x5e, - 0xe5, 0xe9, 0xc1, 0x3d, 0x70, 0x05, 0x46, 0x79, 0x81, 0xaa, 0xdb, 0x56, 0x0c, 0x11, 0x9f, 0x67, - 0x22, 0x46, 0x02, 0x30, 0x36, 0x0d, 0x17, 0x39, 0xee, 0x36, 0x8a, 0x23, 0xe4, 0x0b, 0x7c, 0x1a, - 0x0c, 0xc2, 0x4c, 0x79, 0x1d, 0x59, 0xd5, 0x9d, 0x78, 0x12, 0x9e, 0xe7, 0xa6, 0xe4, 0x18, 0x2c, - 0xa2, 0x00, 0xc3, 0x4d, 0xb3, 0xed, 0xec, 0x98, 0x8d, 0x58, 0xee, 0xf8, 0x22, 0x93, 0x31, 0xe4, - 0x81, 0x98, 0x45, 0x3a, 0xd6, 0x7e, 0xc4, 0x7c, 0x89, 0x5b, 0x24, 0x00, 0x63, 0xa9, 0xe7, 0xb8, - 0x64, 0x4b, 0x6b, 0x3f, 0xd2, 0xfe, 0x90, 0xa7, 0x1e, 0xc5, 0xae, 0x04, 0x25, 0x5e, 0x82, 0x01, - 0xa7, 0xfe, 0x74, 0x2c, 0x31, 0x7f, 0xc4, 0x3d, 0x4d, 0x00, 0x18, 0x7c, 0x0d, 0x6e, 0x0b, 0x5d, - 0x26, 0x62, 0x08, 0xfb, 0x63, 0x26, 0x6c, 0x22, 0x64, 0xa9, 0x60, 0x25, 0x61, 0xbf, 0x22, 0xff, - 0x84, 0x97, 0x04, 0x24, 0xc9, 0x5a, 0xc3, 0xef, 0x0a, 0x8e, 0xb9, 0xb5, 0x3f, 0xab, 0xfd, 0x29, - 0xb7, 0x1a, 0xc5, 0x0a, 0x56, 0xdb, 0x80, 0x09, 0x26, 0x71, 0x7f, 0x7e, 0xfd, 0x32, 0x2f, 0xac, - 0x14, 0xbd, 0x29, 0x7a, 0xf7, 0xbd, 0x30, 0xe9, 0x99, 0x93, 0x37, 0xa5, 0x4e, 0xa5, 0x69, 0xb6, - 0x62, 0x48, 0xfe, 0x0a, 0x93, 0xcc, 0x2b, 0xbe, 0xd7, 0xd5, 0x3a, 0x2b, 0x66, 0x0b, 0x0b, 0x7f, - 0x14, 0xd2, 0x5c, 0x78, 0xc7, 0x6a, 0xa3, 0xaa, 0xbd, 0x6d, 0xd5, 0x9f, 0x46, 0xb5, 0x18, 0xa2, - 0xff, 0x4c, 0x72, 0xd5, 0x66, 0x00, 0x8e, 0x25, 0x2f, 0x81, 0xe6, 0xf5, 0x2a, 0x95, 0x7a, 0xb3, - 0x65, 0xb7, 0xdd, 0x08, 0x89, 0x5f, 0xe5, 0x9e, 0xf2, 0x70, 0x4b, 0x04, 0x96, 0x2d, 0xc1, 0x08, - 0xf9, 0x1a, 0x37, 0x24, 0xbf, 0xc6, 0x04, 0x0d, 0xfb, 0x28, 0x56, 0x38, 0xaa, 0x76, 0xb3, 0x65, - 0xb6, 0xe3, 0xd4, 0xbf, 0x3f, 0xe7, 0x85, 0x83, 0x41, 0x58, 0xe1, 0x70, 0x77, 0x5b, 0x08, 0xaf, - 0xf6, 0x31, 0x24, 0x7c, 0x9d, 0x17, 0x0e, 0x8e, 0x61, 0x22, 0x78, 0xc3, 0x10, 0x43, 0xc4, 0x5f, - 0x70, 0x11, 0x1c, 0x83, 0x45, 0xbc, 0xcb, 0x5f, 0x68, 0xdb, 0x68, 0xbb, 0xee, 0xb8, 0x6d, 0xda, - 0x0a, 0xef, 0x2d, 0xea, 0x1b, 0xaf, 0x8a, 0x4d, 0x98, 0x11, 0x80, 0xe2, 0x4a, 0xc4, 0xb6, 0x50, - 0xc9, 0x9b, 0x52, 0xb4, 0x62, 0xdf, 0xe4, 0x95, 0x28, 0x00, 0xc3, 0xba, 0x05, 0x3a, 0x44, 0x6c, - 0xf6, 0x2a, 0x7e, 0x3f, 0x88, 0x21, 0xee, 0x5b, 0x92, 0x72, 0xeb, 0x1c, 0x8b, 0x65, 0x06, 0xfa, - 0x9f, 0x8e, 0xf5, 0x38, 0xda, 0x8d, 0x15, 0x9d, 0x7f, 0x29, 0xf5, 0x3f, 0x9b, 0x14, 0x49, 0x6b, - 0xc8, 0xa8, 0xd4, 0x4f, 0xe9, 0x51, 0x97, 0x75, 0xd2, 0xff, 0xf7, 0x35, 0x36, 0x5f, 0xb1, 0x9d, - 0xca, 0x2e, 0xe3, 0x20, 0x17, 0x9b, 0x9e, 0x68, 0x61, 0x1f, 0x78, 0xcd, 0x8b, 0x73, 0xa1, 0xe7, - 0xc9, 0x5e, 0x86, 0x61, 0xa1, 0xe1, 0x89, 0x16, 0xf5, 0xff, 0x98, 0xa8, 0xa1, 0x60, 0xbf, 0x93, - 0x3d, 0x0b, 0x49, 0xdc, 0xbc, 0x44, 0xc3, 0xff, 0x3f, 0x83, 0x13, 0xf6, 0xec, 0x03, 0x90, 0xe2, - 0x4d, 0x4b, 0x34, 0xf4, 0x83, 0x0c, 0xea, 0x41, 0x30, 0x9c, 0x37, 0x2c, 0xd1, 0xf0, 0x5f, 0xe1, - 0x70, 0x0e, 0xc1, 0xf0, 0xf8, 0x26, 0x7c, 0xe1, 0xd7, 0x92, 0x6c, 0xd1, 0xe1, 0xb6, 0xbb, 0x04, - 0x07, 0x59, 0xa7, 0x12, 0x8d, 0xfe, 0x30, 0x7b, 0x38, 0x47, 0x64, 0xcf, 0x43, 0x5f, 0x4c, 0x83, - 0xff, 0x3a, 0x83, 0x52, 0xfe, 0x6c, 0x01, 0x06, 0x03, 0xdd, 0x49, 0x34, 0xfc, 0x37, 0x18, 0x3c, - 0x88, 0xc2, 0xaa, 0xb3, 0xee, 0x24, 0x5a, 0xc0, 0x6f, 0x72, 0xd5, 0x19, 0x02, 0x9b, 0x8d, 0x37, - 0x26, 0xd1, 0xe8, 0xdf, 0xe2, 0x56, 0xe7, 0x90, 0xec, 0x43, 0x30, 0xe0, 0x2d, 0x36, 0xd1, 0xf8, - 0xdf, 0x66, 0x78, 0x1f, 0x83, 0x2d, 0x10, 0x58, 0xec, 0xa2, 0x45, 0xfc, 0x0e, 0xb7, 0x40, 0x00, - 0x85, 0xd3, 0x48, 0x6e, 0x60, 0xa2, 0x25, 0x7d, 0x84, 0xa7, 0x91, 0xd4, 0xbf, 0x60, 0x6f, 0x92, - 0x9a, 0x1f, 0x2d, 0xe2, 0x77, 0xb9, 0x37, 0x09, 0x3f, 0x56, 0x43, 0xee, 0x08, 0xa2, 0x65, 0xfc, - 0x3e, 0x57, 0x43, 0x6a, 0x08, 0xb2, 0x6b, 0xa0, 0x77, 0x77, 0x03, 0xd1, 0xf2, 0x3e, 0xca, 0xe4, - 0x8d, 0x75, 0x35, 0x03, 0xd9, 0x47, 0x60, 0x22, 0xbc, 0x13, 0x88, 0x96, 0xfa, 0xb1, 0xd7, 0xa4, - 0x77, 0xb7, 0x60, 0x23, 0x90, 0xdd, 0xf0, 0x97, 0x94, 0x60, 0x17, 0x10, 0x2d, 0xf6, 0xe3, 0xaf, - 0x89, 0x85, 0x3b, 0xd8, 0x04, 0x64, 0x73, 0x00, 0xfe, 0x02, 0x1c, 0x2d, 0xeb, 0x13, 0x4c, 0x56, - 0x00, 0x84, 0x53, 0x83, 0xad, 0xbf, 0xd1, 0xf8, 0x4f, 0xf2, 0xd4, 0x60, 0x08, 0x9c, 0x1a, 0x7c, - 0xe9, 0x8d, 0x46, 0x3f, 0xcb, 0x53, 0x83, 0x43, 0x70, 0x64, 0x07, 0x56, 0xb7, 0x68, 0x09, 0x9f, - 0xe6, 0x91, 0x1d, 0x40, 0x65, 0xcb, 0x30, 0xd6, 0xb5, 0x20, 0x46, 0x8b, 0xfa, 0x0c, 0x13, 0xa5, - 0xc9, 0xeb, 0x61, 0x70, 0xf1, 0x62, 0x8b, 0x61, 0xb4, 0xb4, 0xcf, 0x4a, 0x8b, 0x17, 0x5b, 0x0b, - 0xb3, 0x97, 0x20, 0x65, 0x75, 0x1a, 0x0d, 0x9c, 0x3c, 0xfa, 0xde, 0x17, 0xec, 0xd2, 0xff, 0xfc, - 0x3a, 0xb3, 0x0e, 0x07, 0x64, 0xcf, 0x42, 0x1f, 0x6a, 0x5e, 0x47, 0xb5, 0x28, 0xe4, 0xbf, 0xbc, - 0xce, 0x0b, 0x26, 0xe6, 0xce, 0x3e, 0x04, 0x40, 0xb7, 0x46, 0xc8, 0xb1, 0x5f, 0x04, 0xf6, 0x5f, - 0x5f, 0x67, 0x57, 0x5f, 0x7c, 0x88, 0x2f, 0x80, 0x5e, 0xa4, 0xd9, 0x5b, 0xc0, 0xab, 0xa2, 0x00, - 0xe2, 0x91, 0x8b, 0x70, 0xf0, 0x31, 0xc7, 0xb6, 0x5c, 0x73, 0x3b, 0x0a, 0xfd, 0x6f, 0x0c, 0xcd, - 0xf9, 0xb1, 0xc1, 0x9a, 0x76, 0x1b, 0xb9, 0xe6, 0xb6, 0x13, 0x85, 0xfd, 0x77, 0x86, 0xf5, 0x00, - 0x18, 0x5c, 0x35, 0x1d, 0x37, 0xce, 0xbc, 0x7f, 0xcc, 0xc1, 0x1c, 0x80, 0x95, 0xc6, 0x9f, 0x1f, - 0x47, 0xbb, 0x51, 0xd8, 0x9f, 0x70, 0xa5, 0x19, 0x7f, 0xf6, 0x01, 0x18, 0xc0, 0x1f, 0xe9, 0x7d, - 0xb6, 0x08, 0xf0, 0x7f, 0x30, 0xb0, 0x8f, 0xc0, 0x4f, 0x76, 0xdc, 0x9a, 0x5b, 0x8f, 0x36, 0xf6, - 0x4f, 0x99, 0xa7, 0x39, 0x7f, 0x36, 0x07, 0x83, 0x8e, 0x5b, 0xab, 0x75, 0x58, 0x7f, 0x1a, 0x01, - 0xff, 0xcf, 0xd7, 0xbd, 0x2d, 0x0b, 0x0f, 0x83, 0xbd, 0xfd, 0xe4, 0xe3, 0x6e, 0xcb, 0x26, 0xc7, - 0x1c, 0x51, 0x12, 0x5e, 0x63, 0x12, 0x02, 0x90, 0x7c, 0x29, 0x7c, 0xfb, 0x16, 0xae, 0xd8, 0x57, - 0x6c, 0xba, 0x71, 0xfb, 0x9e, 0x4c, 0xf4, 0x0e, 0x2c, 0x7c, 0xb7, 0x01, 0xb7, 0x55, 0xed, 0xe6, - 0x75, 0xdb, 0x39, 0x75, 0xdd, 0x76, 0x77, 0x4e, 0xb9, 0x3b, 0x08, 0x2f, 0xc0, 0x6c, 0x53, 0x36, - 0x89, 0x3f, 0x4f, 0xee, 0x6f, 0x27, 0x97, 0x9c, 0xd3, 0x97, 0xeb, 0x58, 0xf9, 0x32, 0x39, 0x2a, - 0xd1, 0x8f, 0x42, 0x3f, 0x99, 0xce, 0x69, 0x72, 0x1c, 0xa9, 0xe4, 0x93, 0x37, 0x5e, 0x9a, 0x3e, - 0x60, 0xb0, 0x31, 0x8f, 0xba, 0x40, 0xf6, 0xb2, 0x13, 0x02, 0x75, 0xc1, 0xa3, 0x9e, 0xa1, 0xdb, - 0xd9, 0x02, 0xf5, 0x8c, 0x47, 0x5d, 0x24, 0x1b, 0xdb, 0xaa, 0x40, 0x5d, 0xf4, 0xa8, 0x67, 0xc9, - 0xe1, 0xcd, 0xb0, 0x40, 0x3d, 0xeb, 0x51, 0xcf, 0x91, 0x23, 0x9b, 0xa4, 0x40, 0x3d, 0xe7, 0x51, - 0xcf, 0x93, 0xd3, 0x9a, 0x31, 0x81, 0x7a, 0xde, 0xa3, 0x5e, 0x20, 0xa7, 0x34, 0xba, 0x40, 0xbd, - 0xe0, 0x51, 0x2f, 0x92, 0x2b, 0x50, 0x07, 0x05, 0xea, 0x45, 0x7d, 0x0a, 0x0e, 0xd2, 0x99, 0xcf, - 0x93, 0x23, 0xfd, 0x51, 0x46, 0xe6, 0x83, 0x3e, 0xfd, 0x34, 0xb9, 0xee, 0xd4, 0x2f, 0xd2, 0x4f, - 0xfb, 0xf4, 0x05, 0xf2, 0x97, 0x17, 0x9a, 0x48, 0x5f, 0xf0, 0xe9, 0x67, 0xd2, 0xc3, 0xe4, 0xca, - 0x97, 0x40, 0x3f, 0xe3, 0xd3, 0x17, 0xd3, 0x23, 0x38, 0x27, 0x44, 0xfa, 0xa2, 0x4f, 0x3f, 0x9b, - 0x1e, 0x3d, 0xa6, 0xcc, 0x0c, 0x89, 0xf4, 0xb3, 0x99, 0xf7, 0x13, 0xf7, 0x5a, 0xbe, 0x7b, 0x27, - 0x44, 0xf7, 0x7a, 0x8e, 0x9d, 0x10, 0x1d, 0xeb, 0xb9, 0x74, 0x42, 0x74, 0xa9, 0xe7, 0xcc, 0x09, - 0xd1, 0x99, 0x9e, 0x1b, 0x27, 0x44, 0x37, 0x7a, 0x0e, 0x9c, 0x10, 0x1d, 0xe8, 0xb9, 0x6e, 0x42, - 0x74, 0x9d, 0xe7, 0xb4, 0x09, 0xd1, 0x69, 0x9e, 0xbb, 0x26, 0x44, 0x77, 0x79, 0x8e, 0x4a, 0x4b, - 0x8e, 0xf2, 0x5d, 0x94, 0x96, 0x5c, 0xe4, 0x3b, 0x27, 0x2d, 0x39, 0xc7, 0x77, 0x4b, 0x5a, 0x72, - 0x8b, 0xef, 0x90, 0xb4, 0xe4, 0x10, 0xdf, 0x15, 0x69, 0xc9, 0x15, 0xbe, 0x13, 0x58, 0x8e, 0x19, - 0xa8, 0x15, 0x92, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, 0x99, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, - 0x99, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, 0x99, 0x63, 0xea, 0x9e, 0x39, 0xa6, 0xee, 0x99, 0x63, - 0xea, 0xde, 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x11, 0x39, - 0xa6, 0x46, 0xe4, 0x98, 0xda, 0x33, 0xc7, 0x7c, 0xf7, 0x4e, 0x88, 0xee, 0x0d, 0xcd, 0x31, 0xb5, - 0x47, 0x8e, 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, - 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, 0xca, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, - 0x4c, 0xed, 0x99, 0x63, 0x6a, 0xcf, 0x1c, 0x53, 0x7b, 0xe6, 0x98, 0x1a, 0xcc, 0xb1, 0xbf, 0x52, - 0x41, 0xa7, 0x39, 0xb6, 0x46, 0x2e, 0x85, 0x31, 0x57, 0x4c, 0x49, 0x99, 0xd6, 0x8f, 0x5d, 0xa7, - 0xf9, 0x2e, 0x99, 0x92, 0x72, 0x4d, 0xa4, 0x2f, 0x78, 0x74, 0x9e, 0x6d, 0x22, 0xfd, 0x8c, 0x47, - 0xe7, 0xf9, 0x26, 0xd2, 0x17, 0x3d, 0x3a, 0xcf, 0x38, 0x91, 0x7e, 0xd6, 0xa3, 0xf3, 0x9c, 0x13, - 0xe9, 0xe7, 0x3c, 0x3a, 0xcf, 0x3a, 0x91, 0x7e, 0xde, 0xa3, 0xf3, 0xbc, 0x13, 0xe9, 0x17, 0x3c, - 0x3a, 0xcf, 0x3c, 0x91, 0x7e, 0x51, 0x3f, 0x26, 0xe7, 0x1e, 0x67, 0xf0, 0x5c, 0x7b, 0x4c, 0xce, - 0x3e, 0x89, 0xe3, 0xb4, 0xcf, 0xc1, 0xf3, 0x4f, 0xe2, 0x58, 0xf0, 0x39, 0x78, 0x06, 0x4a, 0x1c, - 0x67, 0x32, 0x1f, 0x22, 0xee, 0xb3, 0x64, 0xf7, 0x4d, 0x4a, 0xee, 0x4b, 0x04, 0x5c, 0x37, 0x29, - 0xb9, 0x2e, 0x11, 0x70, 0xdb, 0xa4, 0xe4, 0xb6, 0x44, 0xc0, 0x65, 0x93, 0x92, 0xcb, 0x12, 0x01, - 0x77, 0x4d, 0x4a, 0xee, 0x4a, 0x04, 0x5c, 0x35, 0x29, 0xb9, 0x2a, 0x11, 0x70, 0xd3, 0xa4, 0xe4, - 0xa6, 0x44, 0xc0, 0x45, 0x93, 0x92, 0x8b, 0x12, 0x01, 0xf7, 0x4c, 0x4a, 0xee, 0x49, 0x04, 0x5c, - 0x73, 0x54, 0x76, 0x4d, 0x22, 0xe8, 0x96, 0xa3, 0xb2, 0x5b, 0x12, 0x41, 0x97, 0x1c, 0x95, 0x5d, - 0x92, 0x08, 0xba, 0xe3, 0xa8, 0xec, 0x8e, 0x44, 0xd0, 0x15, 0x3f, 0x4f, 0xf0, 0x8e, 0x70, 0xdd, - 0x6d, 0x77, 0xaa, 0xee, 0x2d, 0x75, 0x84, 0xf3, 0x42, 0xfb, 0x30, 0xb8, 0xa0, 0xcf, 0x91, 0x86, - 0x35, 0xd8, 0x71, 0x4a, 0x2b, 0xd8, 0xbc, 0xd0, 0x58, 0x04, 0x10, 0x56, 0x38, 0x62, 0xf1, 0x96, - 0x7a, 0xc3, 0x79, 0xa1, 0xcd, 0x88, 0xd6, 0xef, 0xc2, 0x5b, 0xde, 0xb1, 0xbd, 0x90, 0xe0, 0x1d, - 0x1b, 0x33, 0xff, 0x7e, 0x3b, 0xb6, 0xd9, 0x68, 0x93, 0x7b, 0xc6, 0x9e, 0x8d, 0x36, 0x76, 0xd7, - 0xaa, 0x13, 0xb7, 0x83, 0x9b, 0x8d, 0x36, 0xad, 0x67, 0xd4, 0x37, 0xb7, 0xdf, 0x62, 0x11, 0x6c, - 0xa0, 0x56, 0x48, 0x04, 0xef, 0xb7, 0xdf, 0x9a, 0x17, 0x4a, 0xc9, 0x7e, 0x23, 0x58, 0xdd, 0x77, - 0x04, 0xef, 0xb7, 0xf3, 0x9a, 0x17, 0xca, 0xcb, 0xbe, 0x23, 0xf8, 0x2d, 0xe8, 0x87, 0x58, 0x04, - 0xfb, 0xe6, 0xdf, 0x6f, 0x3f, 0x34, 0x1b, 0x6d, 0xf2, 0xd0, 0x08, 0x56, 0xf7, 0x11, 0xc1, 0x71, - 0xfa, 0xa3, 0xd9, 0x68, 0xd3, 0x86, 0x47, 0xf0, 0x2d, 0x77, 0x33, 0x9f, 0x52, 0x60, 0xac, 0x5c, - 0xaf, 0x95, 0x9a, 0xd7, 0x51, 0xad, 0x86, 0x6a, 0xcc, 0x8e, 0xf3, 0x42, 0x25, 0xe8, 0xe1, 0xea, - 0x17, 0x5f, 0x9a, 0xf6, 0x2d, 0x7c, 0x16, 0x52, 0xd4, 0xa6, 0xf3, 0xf3, 0xe9, 0x1b, 0x4a, 0x44, - 0x85, 0xf3, 0x58, 0xf5, 0xe3, 0x1c, 0x76, 0x7a, 0x3e, 0xfd, 0xf7, 0x4a, 0xa0, 0xca, 0x79, 0xc3, - 0x99, 0x8f, 0x10, 0x0d, 0xad, 0x5b, 0xd6, 0xf0, 0x54, 0x2c, 0x0d, 0x03, 0xba, 0xdd, 0xde, 0xa5, - 0x5b, 0x40, 0xab, 0x0e, 0x8c, 0x96, 0xeb, 0xb5, 0x32, 0xf9, 0x9b, 0xff, 0x38, 0x2a, 0x51, 0x1e, - 0xa9, 0x1e, 0xcc, 0x0b, 0x61, 0x19, 0x44, 0x78, 0x21, 0x2d, 0xd6, 0x88, 0x4c, 0x1d, 0x3f, 0xd6, - 0x12, 0x1e, 0x3b, 0xdb, 0xeb, 0xb1, 0x7e, 0x65, 0xf7, 0x1e, 0x38, 0xdb, 0xeb, 0x81, 0x7e, 0x0e, - 0x79, 0x8f, 0x7a, 0x8a, 0x2f, 0xce, 0xf4, 0x6a, 0x96, 0x7e, 0x14, 0x12, 0x4b, 0xf4, 0xe6, 0xf8, - 0x50, 0x7e, 0x08, 0x2b, 0xf5, 0xfd, 0x97, 0xa6, 0x93, 0x9b, 0x9d, 0x7a, 0xcd, 0x48, 0x2c, 0xd5, - 0xf4, 0xab, 0xd0, 0xf7, 0x6e, 0xf6, 0x97, 0xa7, 0x98, 0x61, 0x91, 0x31, 0xdc, 0xd7, 0x73, 0x8f, - 0x08, 0x3f, 0xf8, 0x14, 0xdd, 0xa6, 0x9c, 0xdb, 0xac, 0x5b, 0xee, 0xe9, 0x85, 0x0b, 0x06, 0x15, - 0x91, 0xf9, 0x9f, 0x00, 0xf4, 0x99, 0x45, 0xd3, 0xd9, 0xd1, 0xcb, 0x5c, 0x32, 0x7d, 0xf4, 0x85, - 0xef, 0xbf, 0x34, 0xbd, 0x18, 0x47, 0xea, 0xfd, 0x35, 0xd3, 0xd9, 0xb9, 0xdf, 0xdd, 0x6d, 0xa1, - 0xb9, 0xfc, 0xae, 0x8b, 0x1c, 0x2e, 0xbd, 0xc5, 0x57, 0x3d, 0x36, 0xaf, 0x74, 0x60, 0x5e, 0x29, - 0x61, 0x4e, 0x97, 0xc5, 0x39, 0xcd, 0xbf, 0xd1, 0xf9, 0x3c, 0xc5, 0x17, 0x09, 0xc9, 0x92, 0x6a, - 0x94, 0x25, 0xd5, 0x5b, 0xb5, 0x64, 0x8b, 0xd7, 0x47, 0x69, 0xae, 0xea, 0x5e, 0x73, 0x55, 0x6f, - 0x65, 0xae, 0xff, 0x45, 0xb3, 0xd5, 0xcb, 0xa7, 0x4d, 0x8b, 0xde, 0x5a, 0xfd, 0xe5, 0xda, 0x0b, - 0x7a, 0x53, 0xbb, 0x80, 0x6c, 0xf2, 0xc6, 0x73, 0xd3, 0x4a, 0xe6, 0x53, 0x09, 0x3e, 0x73, 0x9a, - 0x48, 0x6f, 0x6c, 0xe6, 0xbf, 0x2c, 0x3d, 0xd5, 0x5b, 0x61, 0xa1, 0x67, 0x15, 0x98, 0xe8, 0xaa, - 0xe4, 0xd4, 0x4c, 0x6f, 0x6e, 0x39, 0xb7, 0xf6, 0x5b, 0xce, 0x99, 0x82, 0x5f, 0x53, 0xe0, 0x90, - 0x54, 0x5e, 0xa9, 0x7a, 0xa7, 0x24, 0xf5, 0x8e, 0x74, 0x3f, 0x89, 0x30, 0x06, 0xb4, 0x0b, 0xba, - 0x57, 0x02, 0x04, 0x24, 0x7b, 0x7e, 0x5f, 0x94, 0xfc, 0x7e, 0xd4, 0x03, 0x84, 0x98, 0x8b, 0x47, - 0x00, 0x53, 0xdb, 0x86, 0xe4, 0x46, 0x1b, 0x21, 0x7d, 0x0a, 0x12, 0xab, 0x6d, 0xa6, 0xe1, 0x08, - 0xc5, 0xaf, 0xb6, 0xf3, 0x6d, 0xd3, 0xaa, 0xee, 0x18, 0x89, 0xd5, 0xb6, 0x7e, 0x1c, 0xd4, 0x1c, - 0xfb, 0xab, 0xf7, 0xc1, 0x85, 0x51, 0xca, 0x90, 0xb3, 0x6a, 0x8c, 0x03, 0xd3, 0xf4, 0x29, 0x48, - 0x2e, 0x23, 0x73, 0x8b, 0x29, 0x01, 0x94, 0x07, 0x8f, 0x18, 0x64, 0x9c, 0x3d, 0xf0, 0x51, 0x48, - 0x71, 0xc1, 0xfa, 0x09, 0x8c, 0xd8, 0x72, 0xd9, 0x63, 0x19, 0x02, 0xab, 0xc3, 0x56, 0x2e, 0x42, - 0xd5, 0x4f, 0x42, 0x9f, 0x51, 0xdf, 0xde, 0x71, 0xd9, 0xc3, 0xbb, 0xd9, 0x28, 0x39, 0x73, 0x0d, - 0x06, 0x3c, 0x8d, 0xde, 0x64, 0xd1, 0x45, 0x3a, 0x35, 0x7d, 0x32, 0xb8, 0x9e, 0xf0, 0x7d, 0x4b, - 0x3a, 0xa4, 0x1f, 0x83, 0xd4, 0xba, 0xdb, 0xf6, 0x8b, 0x3e, 0xef, 0x48, 0xbd, 0xd1, 0xcc, 0xfb, - 0x15, 0x48, 0x15, 0x11, 0x6a, 0x11, 0x83, 0xdf, 0x05, 0xc9, 0xa2, 0xfd, 0xa4, 0xc5, 0x14, 0x1c, - 0x63, 0x16, 0xc5, 0x64, 0x66, 0x53, 0x42, 0xd6, 0xef, 0x0a, 0xda, 0x7d, 0xdc, 0xb3, 0x7b, 0x80, - 0x8f, 0xd8, 0x3e, 0x23, 0xd8, 0x9e, 0x39, 0x10, 0x33, 0x75, 0xd9, 0xff, 0x3c, 0x0c, 0x06, 0x9e, - 0xa2, 0xcf, 0x30, 0x35, 0x12, 0x32, 0x30, 0x68, 0x2b, 0xcc, 0x91, 0x41, 0x30, 0x2c, 0x3c, 0x18, - 0x43, 0x03, 0x26, 0xee, 0x01, 0x25, 0x66, 0x9e, 0x15, 0xcd, 0x1c, 0xce, 0xca, 0x4c, 0x3d, 0x4f, - 0x6d, 0x44, 0xcc, 0x7d, 0x82, 0x06, 0x67, 0x6f, 0x27, 0xe2, 0xcf, 0x99, 0x3e, 0x50, 0xcb, 0xf5, - 0x46, 0xe6, 0x01, 0x00, 0x9a, 0xf2, 0x25, 0xab, 0xd3, 0x94, 0xb2, 0x6e, 0x84, 0x1b, 0x78, 0x63, - 0x07, 0x6d, 0x20, 0x87, 0xb0, 0x88, 0xfd, 0x14, 0x2e, 0x30, 0x40, 0x53, 0x8c, 0xe0, 0xef, 0x89, - 0xc4, 0x87, 0x76, 0x62, 0x98, 0x35, 0x4d, 0x59, 0xaf, 0x21, 0x37, 0x67, 0xd9, 0xee, 0x0e, 0x6a, - 0x4b, 0x88, 0x05, 0xfd, 0x8c, 0x90, 0xb0, 0x23, 0x0b, 0xb7, 0x7b, 0x88, 0x9e, 0xa0, 0x33, 0x99, - 0x2f, 0x13, 0x05, 0x71, 0x2b, 0xd0, 0x35, 0x41, 0x35, 0xc6, 0x04, 0xf5, 0x73, 0x42, 0xff, 0xb6, - 0x87, 0x9a, 0xd2, 0xab, 0xe5, 0x45, 0xe1, 0x3d, 0x67, 0x6f, 0x65, 0xc5, 0x77, 0x4c, 0x6e, 0x53, - 0xae, 0xf2, 0x3d, 0x91, 0x2a, 0xf7, 0xe8, 0x6e, 0xf7, 0x6b, 0x53, 0x35, 0xae, 0x4d, 0xbf, 0xe5, - 0x75, 0x1c, 0xf4, 0xa7, 0x45, 0xc8, 0x8f, 0xf2, 0xe8, 0xf7, 0x45, 0xfa, 0x3e, 0xab, 0x14, 0x3c, - 0x55, 0x17, 0xe3, 0xba, 0x3f, 0x9b, 0xc8, 0xe7, 0x3d, 0x75, 0xcf, 0xef, 0x23, 0x04, 0xb2, 0x89, - 0x42, 0xc1, 0x2b, 0xdb, 0xa9, 0x0f, 0x3d, 0x37, 0xad, 0x3c, 0xff, 0xdc, 0xf4, 0x81, 0xcc, 0x17, - 0x15, 0x18, 0x63, 0x9c, 0x81, 0xc0, 0xbd, 0x5f, 0x52, 0xfe, 0x30, 0xaf, 0x19, 0x61, 0x16, 0x78, - 0xdb, 0x82, 0xf7, 0x3b, 0x0a, 0xa4, 0xbb, 0x74, 0xe5, 0xf6, 0x9e, 0x8f, 0xa5, 0x72, 0x56, 0x29, - 0xfd, 0xe2, 0x6d, 0x7e, 0x0d, 0xfa, 0x36, 0xea, 0x4d, 0xd4, 0xc6, 0x2b, 0x01, 0xfe, 0x40, 0x55, - 0xe6, 0x87, 0x39, 0x74, 0x88, 0xd3, 0xa8, 0x72, 0x02, 0x6d, 0x41, 0x4f, 0x43, 0xb2, 0x68, 0xba, - 0x26, 0xd1, 0x60, 0xc8, 0xab, 0xaf, 0xa6, 0x6b, 0x66, 0xce, 0xc0, 0xd0, 0xca, 0x2e, 0xb9, 0x6a, - 0x54, 0x23, 0xb7, 0x4c, 0xc4, 0xee, 0x8f, 0xf7, 0xab, 0xa7, 0x67, 0xfb, 0x52, 0x35, 0xed, 0x86, - 0x92, 0x4d, 0x12, 0x7d, 0x9e, 0x80, 0x91, 0x55, 0xac, 0x36, 0xc1, 0x09, 0x30, 0xfa, 0x74, 0xd5, - 0x9b, 0xbc, 0xd4, 0x94, 0xa9, 0x7e, 0x53, 0x76, 0x0c, 0x94, 0x15, 0xb1, 0x75, 0x0a, 0xea, 0x61, - 0x28, 0x2b, 0xb3, 0xc9, 0xd4, 0x88, 0x36, 0x36, 0x9b, 0x4c, 0x81, 0x36, 0xcc, 0x9e, 0xfb, 0xb7, - 0x2a, 0x68, 0xb4, 0xd5, 0x29, 0xa2, 0xad, 0xba, 0x55, 0x77, 0xbb, 0xfb, 0x55, 0x4f, 0x63, 0xfd, - 0x21, 0x18, 0xc0, 0x26, 0xbd, 0xcc, 0x7e, 0x9b, 0x0f, 0x9b, 0xfe, 0x38, 0x6b, 0x51, 0x24, 0x11, - 0x6c, 0x80, 0x84, 0x8e, 0x8f, 0xd1, 0x2f, 0x83, 0x5a, 0x2e, 0xaf, 0xb0, 0xc5, 0x6d, 0x71, 0x4f, - 0x28, 0xbb, 0xce, 0xc3, 0xbe, 0xb1, 0x31, 0x67, 0xdb, 0xc0, 0x02, 0xf4, 0x45, 0x48, 0x94, 0x57, - 0x58, 0xc3, 0x7b, 0x22, 0x8e, 0x18, 0x23, 0x51, 0x5e, 0x99, 0xfc, 0x6b, 0x05, 0x86, 0x85, 0x51, - 0x3d, 0x03, 0x43, 0x74, 0x20, 0x30, 0xdd, 0x7e, 0x43, 0x18, 0xe3, 0x3a, 0x27, 0x6e, 0x51, 0xe7, - 0xc9, 0x1c, 0x8c, 0x4a, 0xe3, 0xfa, 0x1c, 0xe8, 0xc1, 0x21, 0xa6, 0x04, 0xfd, 0x5d, 0xb0, 0x10, - 0x4a, 0xe6, 0x0e, 0x00, 0xdf, 0xae, 0xde, 0xcf, 0x59, 0x95, 0x4b, 0xeb, 0x1b, 0xa5, 0xa2, 0xa6, - 0x64, 0xbe, 0xae, 0xc0, 0x20, 0x6b, 0x5b, 0xab, 0x76, 0x0b, 0xe9, 0x79, 0x50, 0x72, 0x2c, 0x1e, - 0xde, 0x98, 0xde, 0x4a, 0x4e, 0x3f, 0x05, 0x4a, 0x3e, 0xbe, 0xab, 0x95, 0xbc, 0xbe, 0x00, 0x4a, - 0x81, 0x39, 0x38, 0x9e, 0x67, 0x94, 0x42, 0xe6, 0xa7, 0x2a, 0x8c, 0x07, 0xdb, 0x68, 0x5e, 0x4f, - 0x8e, 0x8b, 0xef, 0x4d, 0xd9, 0x81, 0xd3, 0x0b, 0x67, 0x16, 0xe7, 0xf0, 0x3f, 0x5e, 0x48, 0x66, - 0xc4, 0x57, 0xa8, 0x2c, 0x78, 0x2c, 0xa7, 0x7b, 0xdd, 0x13, 0xc9, 0x26, 0x03, 0x12, 0xba, 0xee, - 0x89, 0x08, 0xd4, 0xae, 0x7b, 0x22, 0x02, 0xb5, 0xeb, 0x9e, 0x88, 0x40, 0xed, 0x3a, 0x0b, 0x10, - 0xa8, 0x5d, 0xf7, 0x44, 0x04, 0x6a, 0xd7, 0x3d, 0x11, 0x81, 0xda, 0x7d, 0x4f, 0x84, 0x91, 0x7b, - 0xde, 0x13, 0x11, 0xe9, 0xdd, 0xf7, 0x44, 0x44, 0x7a, 0xf7, 0x3d, 0x91, 0x6c, 0xd2, 0x6d, 0x77, - 0x50, 0xef, 0x53, 0x07, 0x11, 0xbf, 0xd7, 0x4b, 0xa0, 0x5f, 0x81, 0x57, 0x61, 0x94, 0x6e, 0x48, - 0x14, 0x6c, 0xcb, 0x35, 0xeb, 0x16, 0x6a, 0xeb, 0xef, 0x80, 0x21, 0x3a, 0x44, 0x5f, 0x73, 0xc2, - 0x5e, 0x03, 0x29, 0x9d, 0xd5, 0x5b, 0x81, 0x3b, 0xf3, 0xf3, 0x24, 0x4c, 0xd0, 0x81, 0xb2, 0xd9, - 0x44, 0xc2, 0x2d, 0xa3, 0x93, 0xd2, 0x99, 0xd2, 0x08, 0x86, 0xdf, 0x7c, 0x69, 0x9a, 0x8e, 0xe6, - 0xbc, 0x68, 0x3a, 0x29, 0x9d, 0x2e, 0x89, 0x7c, 0xfe, 0x02, 0x74, 0x52, 0xba, 0x79, 0x24, 0xf2, - 0x79, 0xeb, 0x8d, 0xc7, 0xc7, 0xef, 0x20, 0x89, 0x7c, 0x45, 0x2f, 0xca, 0x4e, 0x4a, 0xb7, 0x91, - 0x44, 0xbe, 0x92, 0x17, 0x6f, 0x27, 0xa5, 0xb3, 0x27, 0x91, 0xef, 0xb2, 0x17, 0x79, 0x27, 0xa5, - 0x53, 0x28, 0x91, 0xef, 0x8a, 0x17, 0x83, 0x27, 0xa5, 0xbb, 0x4a, 0x22, 0xdf, 0xc3, 0x5e, 0x34, - 0x9e, 0x94, 0x6e, 0x2d, 0x89, 0x7c, 0x4b, 0x5e, 0x5c, 0xce, 0xc8, 0xf7, 0x97, 0x44, 0xc6, 0xab, - 0x7e, 0x84, 0xce, 0xc8, 0x37, 0x99, 0x44, 0xce, 0x77, 0xfa, 0xb1, 0x3a, 0x23, 0xdf, 0x69, 0x12, - 0x39, 0x97, 0xfd, 0xa8, 0x9d, 0x91, 0xcf, 0xca, 0x44, 0xce, 0x15, 0x3f, 0x7e, 0x67, 0xe4, 0x53, - 0x33, 0x91, 0xb3, 0xec, 0x47, 0xf2, 0x8c, 0x7c, 0x7e, 0x26, 0x72, 0xae, 0xfa, 0x9b, 0xe8, 0xdf, - 0x96, 0xc2, 0x2f, 0x70, 0x0b, 0x2a, 0x23, 0x85, 0x1f, 0x84, 0x84, 0x9e, 0x54, 0xc8, 0x02, 0x3c, - 0x7e, 0xd8, 0x65, 0xa4, 0xb0, 0x83, 0x90, 0x90, 0xcb, 0x48, 0x21, 0x07, 0x21, 0xe1, 0x96, 0x91, - 0xc2, 0x0d, 0x42, 0x42, 0x2d, 0x23, 0x85, 0x1a, 0x84, 0x84, 0x59, 0x46, 0x0a, 0x33, 0x08, 0x09, - 0xb1, 0x8c, 0x14, 0x62, 0x10, 0x12, 0x5e, 0x19, 0x29, 0xbc, 0x20, 0x24, 0xb4, 0x4e, 0xc8, 0xa1, - 0x05, 0x61, 0x61, 0x75, 0x42, 0x0e, 0x2b, 0x08, 0x0b, 0xa9, 0x3b, 0xe5, 0x90, 0x1a, 0xb8, 0xf9, - 0xd2, 0x74, 0x1f, 0x1e, 0x0a, 0x44, 0xd3, 0x09, 0x39, 0x9a, 0x20, 0x2c, 0x92, 0x4e, 0xc8, 0x91, - 0x04, 0x61, 0x51, 0x74, 0x42, 0x8e, 0x22, 0x08, 0x8b, 0xa0, 0x17, 0xe4, 0x08, 0xf2, 0xef, 0xf8, - 0x64, 0xa4, 0x23, 0xc5, 0xa8, 0x08, 0x52, 0x63, 0x44, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, - 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x9c, - 0x08, 0x52, 0x63, 0x45, 0x90, 0xda, 0x2b, 0x82, 0x4e, 0xc8, 0x37, 0x1e, 0x20, 0xac, 0x20, 0x9d, - 0x90, 0x8f, 0x3e, 0xa3, 0x43, 0x48, 0x8d, 0x15, 0x42, 0x6a, 0xaf, 0x10, 0xfa, 0xb6, 0x0a, 0xe3, - 0x42, 0x08, 0xb1, 0xf3, 0xa1, 0x37, 0xab, 0x02, 0x9d, 0x8b, 0x71, 0xc1, 0x22, 0x2c, 0xa6, 0xce, - 0xc5, 0x38, 0xa4, 0xde, 0x2b, 0xce, 0xba, 0xab, 0x50, 0x29, 0x46, 0x15, 0xba, 0xec, 0xc5, 0xd0, - 0xb9, 0x18, 0x17, 0x2f, 0xba, 0x63, 0xef, 0xc2, 0x5e, 0x45, 0xe0, 0xe1, 0x58, 0x45, 0x60, 0x29, - 0x56, 0x11, 0xb8, 0xea, 0x7b, 0xf0, 0x83, 0x09, 0x38, 0xe4, 0x7b, 0x90, 0x7e, 0x22, 0xbf, 0x9d, - 0x95, 0x09, 0x1c, 0x51, 0xe9, 0xfc, 0xd8, 0x26, 0xe0, 0xc6, 0xc4, 0x52, 0x4d, 0x5f, 0x13, 0x0f, - 0xab, 0xb2, 0xfb, 0x3d, 0xc0, 0x09, 0x78, 0x9c, 0x6d, 0x86, 0x9e, 0x00, 0x75, 0xa9, 0xe6, 0x90, - 0x6a, 0x11, 0xf6, 0xd8, 0x82, 0x81, 0xc9, 0xba, 0x01, 0xfd, 0x84, 0xdd, 0x21, 0xee, 0xbd, 0x95, - 0x07, 0x17, 0x0d, 0x26, 0x29, 0xf3, 0x82, 0x02, 0xc7, 0x84, 0x50, 0x7e, 0x73, 0x8e, 0x0c, 0x2e, - 0xc5, 0x3a, 0x32, 0x10, 0x12, 0xc4, 0x3f, 0x3e, 0xb8, 0xbb, 0xfb, 0xa4, 0x3a, 0x98, 0x25, 0xf2, - 0x51, 0xc2, 0xff, 0x81, 0x11, 0x7f, 0x06, 0xe4, 0x9d, 0xed, 0x6c, 0xf4, 0x6e, 0x66, 0x58, 0x6a, - 0x9e, 0x95, 0x76, 0xd1, 0xf6, 0x84, 0x79, 0xd9, 0x9a, 0xc9, 0xc2, 0x68, 0x59, 0xfc, 0xa3, 0xa7, - 0xa8, 0xcd, 0x88, 0x14, 0x6e, 0xcd, 0x6f, 0x7c, 0x7a, 0xfa, 0x40, 0xe6, 0x3e, 0x18, 0x0a, 0xfe, - 0x5d, 0x93, 0x04, 0x1c, 0xe0, 0xc0, 0x6c, 0xf2, 0x45, 0xcc, 0xfd, 0x7b, 0x0a, 0x1c, 0x0e, 0xb2, - 0x3f, 0x52, 0x77, 0x77, 0x96, 0x2c, 0xdc, 0xd3, 0x3f, 0x00, 0x29, 0xc4, 0x1c, 0xc7, 0x7e, 0x06, - 0x87, 0xbd, 0x47, 0x86, 0xb2, 0xcf, 0x91, 0x7f, 0x0d, 0x0f, 0x22, 0xed, 0x82, 0xf0, 0xc7, 0x2e, - 0x4c, 0xde, 0x05, 0x7d, 0x54, 0xbe, 0xa8, 0xd7, 0xb0, 0xa4, 0xd7, 0xe7, 0x42, 0xf4, 0x22, 0x71, - 0xa4, 0x5f, 0x15, 0xf4, 0x0a, 0xbc, 0xae, 0x86, 0xb2, 0xcf, 0xf1, 0xe0, 0xcb, 0xa7, 0x70, 0xff, - 0x47, 0x22, 0x2a, 0x5a, 0xc9, 0x19, 0x48, 0x95, 0x64, 0x9e, 0x70, 0x3d, 0x8b, 0x90, 0x2c, 0xdb, - 0x35, 0xf2, 0x03, 0x3d, 0xe4, 0x17, 0xa9, 0x99, 0x91, 0xd9, 0xcf, 0x53, 0x9f, 0x84, 0x54, 0x61, - 0xa7, 0xde, 0xa8, 0xb5, 0x91, 0xc5, 0xce, 0xec, 0xd9, 0x16, 0x3a, 0xc6, 0x18, 0x1e, 0x2d, 0x53, - 0x80, 0xb1, 0xb2, 0x6d, 0xe5, 0x77, 0xdd, 0x60, 0xdd, 0x98, 0x93, 0x52, 0x84, 0x9d, 0xf9, 0x90, - 0xbf, 0x03, 0xc1, 0x0c, 0xf9, 0xbe, 0xef, 0xbf, 0x34, 0xad, 0x6c, 0x78, 0xfb, 0xe7, 0x2b, 0x70, - 0x84, 0xa5, 0x4f, 0x97, 0xa8, 0x85, 0x28, 0x51, 0x03, 0xec, 0x9c, 0x3a, 0x20, 0x6e, 0x09, 0x8b, - 0xb3, 0x42, 0xc5, 0xbd, 0x31, 0xcd, 0x70, 0x53, 0xb4, 0xa7, 0x66, 0xea, 0xbe, 0x34, 0x0b, 0x15, - 0x37, 0x17, 0x25, 0x4e, 0xd2, 0xec, 0x4e, 0x18, 0xf0, 0x68, 0x81, 0x68, 0x08, 0x66, 0xca, 0xc2, - 0x6c, 0x06, 0x06, 0x03, 0x09, 0xab, 0xf7, 0x81, 0x92, 0xd3, 0x0e, 0xe0, 0xff, 0xf2, 0x9a, 0x82, - 0xff, 0x2b, 0x68, 0x89, 0xd9, 0xbb, 0x60, 0x54, 0xda, 0xbf, 0xc4, 0x94, 0xa2, 0x06, 0xf8, 0xbf, - 0x92, 0x36, 0x38, 0x99, 0xfc, 0xd0, 0x67, 0xa7, 0x0e, 0xcc, 0x5e, 0x02, 0xbd, 0x7b, 0xa7, 0x53, - 0xef, 0x87, 0x44, 0x0e, 0x8b, 0x3c, 0x02, 0x89, 0x7c, 0x5e, 0x53, 0x26, 0x47, 0x7f, 0xf5, 0x93, - 0xc7, 0x06, 0xf3, 0xe4, 0x8f, 0xb6, 0xaf, 0x21, 0x37, 0x9f, 0x67, 0xe0, 0x07, 0xe1, 0x70, 0xe8, - 0x4e, 0x29, 0xc6, 0x17, 0x0a, 0x14, 0x5f, 0x2c, 0x76, 0xe1, 0x8b, 0x45, 0x82, 0x57, 0xb2, 0xfc, - 0xc4, 0x39, 0xa7, 0x87, 0xec, 0x32, 0xa6, 0x6b, 0x81, 0x13, 0xee, 0x5c, 0xf6, 0x41, 0xc6, 0x9b, - 0x0f, 0xe5, 0x45, 0x11, 0x27, 0xd6, 0xf9, 0x6c, 0x81, 0xe1, 0x0b, 0xa1, 0xf8, 0x2d, 0xe9, 0x58, - 0x55, 0x5c, 0x21, 0x98, 0x90, 0x82, 0xa7, 0x70, 0x31, 0x54, 0xc8, 0x4e, 0xe0, 0xb2, 0x7b, 0xd1, - 0x53, 0xb8, 0x14, 0xca, 0x5b, 0x8f, 0xb8, 0xf4, 0x55, 0xca, 0x9e, 0x62, 0x8b, 0x7c, 0xee, 0xb4, - 0x7e, 0x98, 0xe7, 0xa8, 0x50, 0x81, 0x99, 0x81, 0x38, 0x57, 0xb6, 0xc0, 0x00, 0xf9, 0x9e, 0x80, - 0xde, 0x56, 0xe2, 0xc8, 0xec, 0xc3, 0x4c, 0x48, 0xa1, 0xa7, 0x90, 0x08, 0x53, 0x71, 0x78, 0x7e, - 0xe3, 0xc6, 0xcb, 0x53, 0x07, 0x5e, 0x7c, 0x79, 0xea, 0xc0, 0x3f, 0xbc, 0x3c, 0x75, 0xe0, 0x07, - 0x2f, 0x4f, 0x29, 0x3f, 0x7a, 0x79, 0x4a, 0xf9, 0xc9, 0xcb, 0x53, 0xca, 0xcf, 0x5e, 0x9e, 0x52, - 0x9e, 0xb9, 0x39, 0xa5, 0x3c, 0x7f, 0x73, 0x4a, 0xf9, 0xf2, 0xcd, 0x29, 0xe5, 0x1b, 0x37, 0xa7, - 0x94, 0x17, 0x6e, 0x4e, 0x29, 0x37, 0x6e, 0x4e, 0x29, 0x2f, 0xde, 0x9c, 0x52, 0x7e, 0x70, 0x73, - 0x4a, 0xf9, 0xd1, 0xcd, 0xa9, 0x03, 0x3f, 0xb9, 0x39, 0xa5, 0xfc, 0xec, 0xe6, 0xd4, 0x81, 0x67, - 0x5e, 0x99, 0x3a, 0xf0, 0xdc, 0x2b, 0x53, 0x07, 0x9e, 0x7f, 0x65, 0x4a, 0xf9, 0xef, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xb3, 0x75, 0x57, 0xed, 0xe5, 0x68, 0x00, 0x00, + 0x75, 0xf7, 0xf6, 0xf4, 0x48, 0x3b, 0x3a, 0x7a, 0xb5, 0x5a, 0xbb, 0xda, 0xb1, 0xbc, 0x96, 0x76, + 0xc7, 0xeb, 0xb5, 0x2c, 0xdb, 0x5a, 0xad, 0x56, 0xfb, 0x9a, 0xc5, 0xf6, 0x37, 0xaf, 0x5d, 0x6b, + 0x59, 0x8d, 0x44, 0x4b, 0xc2, 0x5e, 0xf8, 0xbe, 0x9a, 0x6a, 0xcd, 0x5c, 0x49, 0x63, 0xcf, 0x74, + 0x0f, 0xd3, 0x3d, 0xb6, 0xe5, 0xfa, 0xea, 0x2b, 0x7f, 0x90, 0x10, 0xc8, 0x3b, 0x21, 0xa9, 0x00, + 0x01, 0x63, 0xa0, 0x00, 0x43, 0x5e, 0x90, 0x10, 0x02, 0x24, 0x15, 0xfc, 0x0f, 0x61, 0xf3, 0x4f, + 0xca, 0xe4, 0xaf, 0x14, 0x95, 0x72, 0xe1, 0x35, 0x55, 0x21, 0x89, 0x93, 0x10, 0xe2, 0xaa, 0x50, + 0x65, 0xfe, 0x48, 0xdd, 0x57, 0x77, 0xdf, 0x3b, 0x3d, 0xea, 0x96, 0xd7, 0x36, 0xfc, 0xb3, 0x3b, + 0x73, 0xcf, 0xf9, 0x9d, 0x3e, 0xf7, 0xbc, 0xee, 0xe9, 0x7b, 0xaf, 0x06, 0x6e, 0x64, 0xe1, 0xd8, + 0xb6, 0x6d, 0x6f, 0x37, 0xd0, 0xa9, 0x56, 0xdb, 0x76, 0xed, 0xcd, 0xce, 0xd6, 0xa9, 0x1a, 0x72, + 0xaa, 0xed, 0x7a, 0xcb, 0xb5, 0xdb, 0x73, 0x64, 0x4c, 0x1f, 0xa5, 0x1c, 0x73, 0x9c, 0x23, 0xb3, + 0x0c, 0x63, 0x97, 0xeb, 0x0d, 0x54, 0xf4, 0x18, 0xd7, 0x90, 0xab, 0x5f, 0x80, 0xe4, 0x56, 0xbd, + 0x81, 0xd2, 0xca, 0x31, 0x75, 0x66, 0x70, 0xe1, 0xc4, 0x9c, 0x04, 0x9a, 0x13, 0x11, 0xab, 0x78, + 0xd8, 0x20, 0x88, 0xcc, 0x0f, 0x92, 0x30, 0x1e, 0x42, 0xd5, 0x75, 0x48, 0x5a, 0x66, 0x13, 0x4b, + 0x54, 0x66, 0x06, 0x0c, 0xf2, 0x59, 0x4f, 0xc3, 0xc1, 0x96, 0x59, 0x7d, 0xdc, 0xdc, 0x46, 0xe9, + 0x04, 0x19, 0xe6, 0x5f, 0xf5, 0x29, 0x80, 0x1a, 0x6a, 0x21, 0xab, 0x86, 0xac, 0xea, 0x6e, 0x5a, + 0x3d, 0xa6, 0xce, 0x0c, 0x18, 0x81, 0x11, 0xfd, 0x5e, 0x18, 0x6b, 0x75, 0x36, 0x1b, 0xf5, 0x6a, + 0x25, 0xc0, 0x06, 0xc7, 0xd4, 0x99, 0x3e, 0x43, 0xa3, 0x84, 0xa2, 0xcf, 0x7c, 0x37, 0x8c, 0x3e, + 0x89, 0xcc, 0xc7, 0x83, 0xac, 0x83, 0x84, 0x75, 0x04, 0x0f, 0x07, 0x18, 0x0b, 0x30, 0xd4, 0x44, + 0x8e, 0x63, 0x6e, 0xa3, 0x8a, 0xbb, 0xdb, 0x42, 0xe9, 0x24, 0x99, 0xfd, 0xb1, 0xae, 0xd9, 0xcb, + 0x33, 0x1f, 0x64, 0xa8, 0xf5, 0xdd, 0x16, 0xd2, 0x73, 0x30, 0x80, 0xac, 0x4e, 0x93, 0x4a, 0xe8, + 0xeb, 0x61, 0xbf, 0x92, 0xd5, 0x69, 0xca, 0x52, 0x52, 0x18, 0xc6, 0x44, 0x1c, 0x74, 0x50, 0xfb, + 0x89, 0x7a, 0x15, 0xa5, 0xfb, 0x89, 0x80, 0xbb, 0xbb, 0x04, 0xac, 0x51, 0xba, 0x2c, 0x83, 0xe3, + 0xf4, 0x02, 0x0c, 0xa0, 0xa7, 0x5c, 0x64, 0x39, 0x75, 0xdb, 0x4a, 0x1f, 0x24, 0x42, 0xee, 0x0a, + 0xf1, 0x22, 0x6a, 0xd4, 0x64, 0x11, 0x3e, 0x4e, 0x3f, 0x07, 0x07, 0xed, 0x96, 0x5b, 0xb7, 0x2d, + 0x27, 0x9d, 0x3a, 0xa6, 0xcc, 0x0c, 0x2e, 0x1c, 0x0d, 0x0d, 0x84, 0x15, 0xca, 0x63, 0x70, 0x66, + 0x7d, 0x09, 0x34, 0xc7, 0xee, 0xb4, 0xab, 0xa8, 0x52, 0xb5, 0x6b, 0xa8, 0x52, 0xb7, 0xb6, 0xec, + 0xf4, 0x00, 0x11, 0x30, 0xdd, 0x3d, 0x11, 0xc2, 0x58, 0xb0, 0x6b, 0x68, 0xc9, 0xda, 0xb2, 0x8d, + 0x11, 0x47, 0xf8, 0xae, 0x4f, 0x40, 0xbf, 0xb3, 0x6b, 0xb9, 0xe6, 0x53, 0xe9, 0x21, 0x12, 0x21, + 0xec, 0x5b, 0xe6, 0x1b, 0xfd, 0x30, 0x1a, 0x27, 0xc4, 0x2e, 0x41, 0xdf, 0x16, 0x9e, 0x65, 0x3a, + 0xb1, 0x1f, 0x1b, 0x50, 0x8c, 0x68, 0xc4, 0xfe, 0x37, 0x68, 0xc4, 0x1c, 0x0c, 0x5a, 0xc8, 0x71, + 0x51, 0x8d, 0x46, 0x84, 0x1a, 0x33, 0xa6, 0x80, 0x82, 0xba, 0x43, 0x2a, 0xf9, 0x86, 0x42, 0xea, + 0x51, 0x18, 0xf5, 0x54, 0xaa, 0xb4, 0x4d, 0x6b, 0x9b, 0xc7, 0xe6, 0xa9, 0x28, 0x4d, 0xe6, 0x4a, + 0x1c, 0x67, 0x60, 0x98, 0x31, 0x82, 0x84, 0xef, 0x7a, 0x11, 0xc0, 0xb6, 0x90, 0xbd, 0x55, 0xa9, + 0xa1, 0x6a, 0x23, 0x9d, 0xea, 0x61, 0xa5, 0x15, 0xcc, 0xd2, 0x65, 0x25, 0x9b, 0x8e, 0x56, 0x1b, + 0xfa, 0x45, 0x3f, 0xd4, 0x0e, 0xf6, 0x88, 0x94, 0x65, 0x9a, 0x64, 0x5d, 0xd1, 0xb6, 0x01, 0x23, + 0x6d, 0x84, 0xe3, 0x1e, 0xd5, 0xd8, 0xcc, 0x06, 0x88, 0x12, 0x73, 0x91, 0x33, 0x33, 0x18, 0x8c, + 0x4e, 0x6c, 0xb8, 0x1d, 0xfc, 0xaa, 0xdf, 0x09, 0xde, 0x40, 0x85, 0x84, 0x15, 0x90, 0x2a, 0x34, + 0xc4, 0x07, 0xcb, 0x66, 0x13, 0x4d, 0x3e, 0x0d, 0x23, 0xa2, 0x79, 0xf4, 0x43, 0xd0, 0xe7, 0xb8, + 0x66, 0xdb, 0x25, 0x51, 0xd8, 0x67, 0xd0, 0x2f, 0xba, 0x06, 0x2a, 0xb2, 0x6a, 0xa4, 0xca, 0xf5, + 0x19, 0xf8, 0xa3, 0xfe, 0xbf, 0xfc, 0x09, 0xab, 0x64, 0xc2, 0x27, 0xbb, 0x3d, 0x2a, 0x48, 0x96, + 0xe7, 0x3d, 0x79, 0x1e, 0x86, 0x85, 0x09, 0xc4, 0x7d, 0x74, 0xe6, 0xff, 0xc2, 0xe1, 0x50, 0xd1, + 0xfa, 0xa3, 0x70, 0xa8, 0x63, 0xd5, 0x2d, 0x17, 0xb5, 0x5b, 0x6d, 0x84, 0x23, 0x96, 0x3e, 0x2a, + 0xfd, 0x4f, 0x07, 0x7b, 0xc4, 0xdc, 0x46, 0x90, 0x9b, 0x4a, 0x31, 0xc6, 0x3b, 0xdd, 0x83, 0xb3, + 0x03, 0xa9, 0x1f, 0x1e, 0xd4, 0x9e, 0x79, 0xe6, 0x99, 0x67, 0x12, 0x99, 0x8f, 0xf6, 0xc3, 0xa1, + 0xb0, 0x9c, 0x09, 0x4d, 0xdf, 0x09, 0xe8, 0xb7, 0x3a, 0xcd, 0x4d, 0xd4, 0x26, 0x46, 0xea, 0x33, + 0xd8, 0x37, 0x3d, 0x07, 0x7d, 0x0d, 0x73, 0x13, 0x35, 0xd2, 0xc9, 0x63, 0xca, 0xcc, 0xc8, 0xc2, + 0xbd, 0xb1, 0xb2, 0x72, 0xee, 0x1a, 0x86, 0x18, 0x14, 0xa9, 0x3f, 0x08, 0x49, 0x56, 0xa2, 0xb1, + 0x84, 0xd9, 0x78, 0x12, 0x70, 0x2e, 0x19, 0x04, 0xa7, 0xdf, 0x0e, 0x03, 0xf8, 0x7f, 0x1a, 0x1b, + 0xfd, 0x44, 0xe7, 0x14, 0x1e, 0xc0, 0x71, 0xa1, 0x4f, 0x42, 0x8a, 0xa4, 0x49, 0x0d, 0xf1, 0xa5, + 0xcd, 0xfb, 0x8e, 0x03, 0xab, 0x86, 0xb6, 0xcc, 0x4e, 0xc3, 0xad, 0x3c, 0x61, 0x36, 0x3a, 0x88, + 0x04, 0xfc, 0x80, 0x31, 0xc4, 0x06, 0xdf, 0x8d, 0xc7, 0xf4, 0x69, 0x18, 0xa4, 0x59, 0x55, 0xb7, + 0x6a, 0xe8, 0x29, 0x52, 0x3d, 0xfb, 0x0c, 0x9a, 0x68, 0x4b, 0x78, 0x04, 0x3f, 0xfe, 0x31, 0xc7, + 0xb6, 0x78, 0x68, 0x92, 0x47, 0xe0, 0x01, 0xf2, 0xf8, 0xf3, 0x72, 0xe1, 0xbe, 0x23, 0x7c, 0x7a, + 0x72, 0x4c, 0x65, 0xbe, 0x96, 0x80, 0x24, 0xa9, 0x17, 0xa3, 0x30, 0xb8, 0x7e, 0x7d, 0xb5, 0x54, + 0x29, 0xae, 0x6c, 0xe4, 0xaf, 0x95, 0x34, 0x45, 0x1f, 0x01, 0x20, 0x03, 0x97, 0xaf, 0xad, 0xe4, + 0xd6, 0xb5, 0x84, 0xf7, 0x7d, 0xa9, 0xbc, 0x7e, 0x6e, 0x51, 0x53, 0x3d, 0xc0, 0x06, 0x1d, 0x48, + 0x06, 0x19, 0xce, 0x2c, 0x68, 0x7d, 0xba, 0x06, 0x43, 0x54, 0xc0, 0xd2, 0xa3, 0xa5, 0xe2, 0xb9, + 0x45, 0xad, 0x5f, 0x1c, 0x39, 0xb3, 0xa0, 0x1d, 0xd4, 0x87, 0x61, 0x80, 0x8c, 0xe4, 0x57, 0x56, + 0xae, 0x69, 0x29, 0x4f, 0xe6, 0xda, 0xba, 0xb1, 0x54, 0xbe, 0xa2, 0x0d, 0x78, 0x32, 0xaf, 0x18, + 0x2b, 0x1b, 0xab, 0x1a, 0x78, 0x12, 0x96, 0x4b, 0x6b, 0x6b, 0xb9, 0x2b, 0x25, 0x6d, 0xd0, 0xe3, + 0xc8, 0x5f, 0x5f, 0x2f, 0xad, 0x69, 0x43, 0x82, 0x5a, 0x67, 0x16, 0xb4, 0x61, 0xef, 0x11, 0xa5, + 0xf2, 0xc6, 0xb2, 0x36, 0xa2, 0x8f, 0xc1, 0x30, 0x7d, 0x04, 0x57, 0x62, 0x54, 0x1a, 0x3a, 0xb7, + 0xa8, 0x69, 0xbe, 0x22, 0x54, 0xca, 0x98, 0x30, 0x70, 0x6e, 0x51, 0xd3, 0x33, 0x05, 0xe8, 0x23, + 0xd1, 0xa5, 0xeb, 0x30, 0x72, 0x2d, 0x97, 0x2f, 0x5d, 0xab, 0xac, 0xac, 0xae, 0x2f, 0xad, 0x94, + 0x73, 0xd7, 0x34, 0xc5, 0x1f, 0x33, 0x4a, 0xef, 0xda, 0x58, 0x32, 0x4a, 0x45, 0x2d, 0x11, 0x1c, + 0x5b, 0x2d, 0xe5, 0xd6, 0x4b, 0x45, 0x4d, 0xcd, 0x54, 0xe1, 0x50, 0x58, 0x9d, 0x0c, 0xcd, 0x8c, + 0x80, 0x8b, 0x13, 0x3d, 0x5c, 0x4c, 0x64, 0x75, 0xb9, 0xf8, 0x95, 0x04, 0x8c, 0x87, 0xac, 0x15, + 0xa1, 0x0f, 0x79, 0x08, 0xfa, 0x68, 0x88, 0xd2, 0xd5, 0xf3, 0x9e, 0xd0, 0x45, 0x87, 0x04, 0x6c, + 0xd7, 0x0a, 0x4a, 0x70, 0xc1, 0x0e, 0x42, 0xed, 0xd1, 0x41, 0x60, 0x11, 0x5d, 0x35, 0xfd, 0xff, + 0x74, 0xd5, 0x74, 0xba, 0xec, 0x9d, 0x8b, 0xb3, 0xec, 0x91, 0xb1, 0xfd, 0xd5, 0xf6, 0xbe, 0x90, + 0xda, 0x7e, 0x09, 0xc6, 0xba, 0x04, 0xc5, 0xae, 0xb1, 0x1f, 0x50, 0x20, 0xdd, 0xcb, 0x38, 0x11, + 0x95, 0x2e, 0x21, 0x54, 0xba, 0x4b, 0xb2, 0x05, 0x8f, 0xf7, 0x76, 0x42, 0x97, 0xaf, 0xbf, 0xa0, + 0xc0, 0x44, 0x78, 0xa7, 0x18, 0xaa, 0xc3, 0x83, 0xd0, 0xdf, 0x44, 0xee, 0x8e, 0xcd, 0xbb, 0xa5, + 0x93, 0x21, 0x6b, 0x30, 0x26, 0xcb, 0xce, 0x66, 0xa8, 0xe0, 0x22, 0xae, 0xf6, 0x6a, 0xf7, 0xa8, + 0x36, 0x5d, 0x9a, 0x7e, 0x38, 0x01, 0x87, 0x43, 0x85, 0x87, 0x2a, 0x7a, 0x07, 0x40, 0xdd, 0x6a, + 0x75, 0x5c, 0xda, 0x11, 0xd1, 0x02, 0x3b, 0x40, 0x46, 0x48, 0xf1, 0xc2, 0xc5, 0xb3, 0xe3, 0x7a, + 0x74, 0x95, 0xd0, 0x81, 0x0e, 0x11, 0x86, 0x0b, 0xbe, 0xa2, 0x49, 0xa2, 0xe8, 0x54, 0x8f, 0x99, + 0x76, 0x05, 0xe6, 0x3c, 0x68, 0xd5, 0x46, 0x1d, 0x59, 0x6e, 0xc5, 0x71, 0xdb, 0xc8, 0x6c, 0xd6, + 0xad, 0x6d, 0xb2, 0x82, 0xa4, 0xb2, 0x7d, 0x5b, 0x66, 0xc3, 0x41, 0xc6, 0x28, 0x25, 0xaf, 0x71, + 0x2a, 0x46, 0x90, 0x00, 0x6a, 0x07, 0x10, 0xfd, 0x02, 0x82, 0x92, 0x3d, 0x44, 0xe6, 0x57, 0x07, + 0x60, 0x30, 0xd0, 0x57, 0xeb, 0xc7, 0x61, 0xe8, 0x31, 0xf3, 0x09, 0xb3, 0xc2, 0xdf, 0x95, 0xa8, + 0x25, 0x06, 0xf1, 0xd8, 0x2a, 0x7b, 0x5f, 0x9a, 0x87, 0x43, 0x84, 0xc5, 0xee, 0xb8, 0xa8, 0x5d, + 0xa9, 0x36, 0x4c, 0xc7, 0x21, 0x46, 0x4b, 0x11, 0x56, 0x1d, 0xd3, 0x56, 0x30, 0xa9, 0xc0, 0x29, + 0xfa, 0x59, 0x18, 0x27, 0x88, 0x66, 0xa7, 0xe1, 0xd6, 0x5b, 0x0d, 0x54, 0xc1, 0x6f, 0x6f, 0x0e, + 0x59, 0x49, 0x3c, 0xcd, 0xc6, 0x30, 0xc7, 0x32, 0x63, 0xc0, 0x1a, 0x39, 0x7a, 0x11, 0xee, 0x20, + 0xb0, 0x6d, 0x64, 0xa1, 0xb6, 0xe9, 0xa2, 0x0a, 0x7a, 0x5f, 0xc7, 0x6c, 0x38, 0x15, 0xd3, 0xaa, + 0x55, 0x76, 0x4c, 0x67, 0x27, 0x7d, 0x08, 0x0b, 0xc8, 0x27, 0xd2, 0x8a, 0x71, 0x1b, 0x66, 0xbc, + 0xc2, 0xf8, 0x4a, 0x84, 0x2d, 0x67, 0xd5, 0x1e, 0x36, 0x9d, 0x1d, 0x3d, 0x0b, 0x13, 0x44, 0x8a, + 0xe3, 0xb6, 0xeb, 0xd6, 0x76, 0xa5, 0xba, 0x83, 0xaa, 0x8f, 0x57, 0x3a, 0xee, 0xd6, 0x85, 0xf4, + 0xed, 0xc1, 0xe7, 0x13, 0x0d, 0xd7, 0x08, 0x4f, 0x01, 0xb3, 0x6c, 0xb8, 0x5b, 0x17, 0xf4, 0x35, + 0x18, 0xc2, 0xce, 0x68, 0xd6, 0x9f, 0x46, 0x95, 0x2d, 0xbb, 0x4d, 0x96, 0xc6, 0x91, 0x90, 0xd2, + 0x14, 0xb0, 0xe0, 0xdc, 0x0a, 0x03, 0x2c, 0xdb, 0x35, 0x94, 0xed, 0x5b, 0x5b, 0x2d, 0x95, 0x8a, + 0xc6, 0x20, 0x97, 0x72, 0xd9, 0x6e, 0xe3, 0x80, 0xda, 0xb6, 0x3d, 0x03, 0x0f, 0xd2, 0x80, 0xda, + 0xb6, 0xb9, 0x79, 0xcf, 0xc2, 0x78, 0xb5, 0x4a, 0xe7, 0x5c, 0xaf, 0x56, 0xd8, 0x3b, 0x96, 0x93, + 0xd6, 0x04, 0x63, 0x55, 0xab, 0x57, 0x28, 0x03, 0x8b, 0x71, 0x47, 0xbf, 0x08, 0x87, 0x7d, 0x63, + 0x05, 0x81, 0x63, 0x5d, 0xb3, 0x94, 0xa1, 0x67, 0x61, 0xbc, 0xb5, 0xdb, 0x0d, 0xd4, 0x85, 0x27, + 0xb6, 0x76, 0x65, 0xd8, 0x79, 0x38, 0xd4, 0xda, 0x69, 0x75, 0xe3, 0x66, 0x83, 0x38, 0xbd, 0xb5, + 0xd3, 0x92, 0x81, 0x77, 0x91, 0x17, 0xee, 0x36, 0xaa, 0x9a, 0x2e, 0xaa, 0xa5, 0x8f, 0x04, 0xd9, + 0x03, 0x04, 0xfd, 0x14, 0x68, 0xd5, 0x6a, 0x05, 0x59, 0xe6, 0x66, 0x03, 0x55, 0xcc, 0x36, 0xb2, + 0x4c, 0x27, 0x3d, 0x1d, 0x64, 0x1e, 0xa9, 0x56, 0x4b, 0x84, 0x9a, 0x23, 0x44, 0x7d, 0x16, 0xc6, + 0xec, 0xcd, 0xc7, 0xaa, 0x34, 0x24, 0x2b, 0xad, 0x36, 0xda, 0xaa, 0x3f, 0x95, 0x3e, 0x41, 0xec, + 0x3b, 0x8a, 0x09, 0x24, 0x20, 0x57, 0xc9, 0xb0, 0x7e, 0x0f, 0x68, 0x55, 0x67, 0xc7, 0x6c, 0xb7, + 0x48, 0x4d, 0x76, 0x5a, 0x66, 0x15, 0xa5, 0xef, 0xa2, 0xac, 0x74, 0xbc, 0xcc, 0x87, 0x71, 0x4a, + 0x38, 0x4f, 0xd6, 0xb7, 0x5c, 0x2e, 0xf1, 0x6e, 0x9a, 0x12, 0x64, 0x8c, 0x49, 0x9b, 0x01, 0x0d, + 0x9b, 0x42, 0x78, 0xf0, 0x0c, 0x61, 0x1b, 0x69, 0xed, 0xb4, 0x82, 0xcf, 0xbd, 0x13, 0x86, 0x31, + 0xa7, 0xff, 0xd0, 0x7b, 0x68, 0x43, 0xd6, 0xda, 0x09, 0x3c, 0x71, 0x11, 0x26, 0x30, 0x53, 0x13, + 0xb9, 0x66, 0xcd, 0x74, 0xcd, 0x00, 0xf7, 0x7d, 0x84, 0x1b, 0xdb, 0x7d, 0x99, 0x11, 0x05, 0x3d, + 0xdb, 0x9d, 0xcd, 0x5d, 0x2f, 0xb2, 0xee, 0xa7, 0x7a, 0xe2, 0x31, 0x1e, 0x5b, 0x6f, 0x59, 0xd3, + 0x9d, 0xc9, 0xc2, 0x50, 0x30, 0xf0, 0xf5, 0x01, 0xa0, 0xa1, 0xaf, 0x29, 0xb8, 0x0b, 0x2a, 0xac, + 0x14, 0x71, 0xff, 0xf2, 0x9e, 0x92, 0x96, 0xc0, 0x7d, 0xd4, 0xb5, 0xa5, 0xf5, 0x52, 0xc5, 0xd8, + 0x28, 0xaf, 0x2f, 0x2d, 0x97, 0x34, 0x35, 0xd8, 0xb0, 0x7f, 0x3b, 0x01, 0x23, 0xe2, 0xbb, 0x97, + 0xfe, 0x0e, 0x38, 0xc2, 0x37, 0x4a, 0x1c, 0xe4, 0x56, 0x9e, 0xac, 0xb7, 0x49, 0x2e, 0x36, 0x4d, + 0xba, 0x2e, 0x7a, 0xd1, 0x70, 0x88, 0x71, 0xad, 0x21, 0xf7, 0x91, 0x7a, 0x1b, 0x67, 0x5a, 0xd3, + 0x74, 0xf5, 0x6b, 0x30, 0x6d, 0xd9, 0x15, 0xc7, 0x35, 0xad, 0x9a, 0xd9, 0xae, 0x55, 0xfc, 0x2d, + 0xaa, 0x8a, 0x59, 0xad, 0x22, 0xc7, 0xb1, 0xe9, 0x1a, 0xe8, 0x49, 0x39, 0x6a, 0xd9, 0x6b, 0x8c, + 0xd9, 0x5f, 0x1c, 0x72, 0x8c, 0x55, 0x8a, 0x5c, 0xb5, 0x57, 0xe4, 0xde, 0x0e, 0x03, 0x4d, 0xb3, + 0x55, 0x41, 0x96, 0xdb, 0xde, 0x25, 0x1d, 0x77, 0xca, 0x48, 0x35, 0xcd, 0x56, 0x09, 0x7f, 0x7f, + 0x7b, 0x5e, 0x7c, 0xfe, 0x51, 0x85, 0xa1, 0x60, 0xd7, 0x8d, 0x5f, 0x62, 0xaa, 0x64, 0x81, 0x52, + 0x48, 0x09, 0xbb, 0x73, 0xcf, 0x1e, 0x7d, 0xae, 0x80, 0x57, 0xae, 0x6c, 0x3f, 0xed, 0x85, 0x0d, + 0x8a, 0xc4, 0x5d, 0x03, 0x0e, 0x2d, 0x44, 0x7b, 0x8f, 0x94, 0xc1, 0xbe, 0xe9, 0x57, 0xa0, 0xff, + 0x31, 0x87, 0xc8, 0xee, 0x27, 0xb2, 0x4f, 0xec, 0x2d, 0xfb, 0xea, 0x1a, 0x11, 0x3e, 0x70, 0x75, + 0xad, 0x52, 0x5e, 0x31, 0x96, 0x73, 0xd7, 0x0c, 0x06, 0xd7, 0x6f, 0x83, 0x64, 0xc3, 0x7c, 0x7a, + 0x57, 0x5c, 0xe3, 0xc8, 0x50, 0x5c, 0xc3, 0xdf, 0x06, 0xc9, 0x27, 0x91, 0xf9, 0xb8, 0xb8, 0xb2, + 0x90, 0xa1, 0xb7, 0x30, 0xf4, 0x4f, 0x41, 0x1f, 0xb1, 0x97, 0x0e, 0xc0, 0x2c, 0xa6, 0x1d, 0xd0, + 0x53, 0x90, 0x2c, 0xac, 0x18, 0x38, 0xfc, 0x35, 0x18, 0xa2, 0xa3, 0x95, 0xd5, 0xa5, 0x52, 0xa1, + 0xa4, 0x25, 0x32, 0x67, 0xa1, 0x9f, 0x1a, 0x01, 0xa7, 0x86, 0x67, 0x06, 0xed, 0x00, 0xfb, 0xca, + 0x64, 0x28, 0x9c, 0xba, 0xb1, 0x9c, 0x2f, 0x19, 0x5a, 0x22, 0xe8, 0x5e, 0x07, 0x86, 0x82, 0x0d, + 0xf7, 0xdb, 0x13, 0x53, 0xdf, 0x54, 0x60, 0x30, 0xd0, 0x40, 0xe3, 0xce, 0xc7, 0x6c, 0x34, 0xec, + 0x27, 0x2b, 0x66, 0xa3, 0x6e, 0x3a, 0x2c, 0x28, 0x80, 0x0c, 0xe5, 0xf0, 0x48, 0x5c, 0xa7, 0xbd, + 0x2d, 0xca, 0x3f, 0xab, 0x80, 0x26, 0xf7, 0xae, 0x92, 0x82, 0xca, 0xcf, 0x54, 0xc1, 0x4f, 0x28, + 0x30, 0x22, 0x36, 0xac, 0x92, 0x7a, 0xc7, 0x7f, 0xa6, 0xea, 0x7d, 0x3f, 0x01, 0xc3, 0x42, 0x9b, + 0x1a, 0x57, 0xbb, 0xf7, 0xc1, 0x58, 0xbd, 0x86, 0x9a, 0x2d, 0xdb, 0x45, 0x56, 0x75, 0xb7, 0xd2, + 0x40, 0x4f, 0xa0, 0x46, 0x3a, 0x43, 0x0a, 0xc5, 0xa9, 0xbd, 0x1b, 0xe1, 0xb9, 0x25, 0x1f, 0x77, + 0x0d, 0xc3, 0xb2, 0xe3, 0x4b, 0xc5, 0xd2, 0xf2, 0xea, 0xca, 0x7a, 0xa9, 0x5c, 0xb8, 0x5e, 0xd9, + 0x28, 0xbf, 0xb3, 0xbc, 0xf2, 0x48, 0xd9, 0xd0, 0xea, 0x12, 0xdb, 0x5b, 0x98, 0xea, 0xab, 0xa0, + 0xc9, 0x4a, 0xe9, 0x47, 0x20, 0x4c, 0x2d, 0xed, 0x80, 0x3e, 0x0e, 0xa3, 0xe5, 0x95, 0xca, 0xda, + 0x52, 0xb1, 0x54, 0x29, 0x5d, 0xbe, 0x5c, 0x2a, 0xac, 0xaf, 0xd1, 0xad, 0x0d, 0x8f, 0x7b, 0x5d, + 0x4c, 0xea, 0x8f, 0xab, 0x30, 0x1e, 0xa2, 0x89, 0x9e, 0x63, 0x2f, 0x25, 0xf4, 0x3d, 0xe9, 0xfe, + 0x38, 0xda, 0xcf, 0xe1, 0xae, 0x60, 0xd5, 0x6c, 0xbb, 0xec, 0x1d, 0xe6, 0x1e, 0xc0, 0x56, 0xb2, + 0xdc, 0xfa, 0x56, 0x1d, 0xb5, 0xd9, 0x4e, 0x10, 0x7d, 0x53, 0x19, 0xf5, 0xc7, 0xe9, 0x66, 0xd0, + 0x7d, 0xa0, 0xb7, 0x6c, 0xa7, 0xee, 0xd6, 0x9f, 0x40, 0x95, 0xba, 0xc5, 0xb7, 0x8d, 0xf0, 0x9b, + 0x4b, 0xd2, 0xd0, 0x38, 0x65, 0xc9, 0x72, 0x3d, 0x6e, 0x0b, 0x6d, 0x9b, 0x12, 0x37, 0x2e, 0xe0, + 0xaa, 0xa1, 0x71, 0x8a, 0xc7, 0x7d, 0x1c, 0x86, 0x6a, 0x76, 0x07, 0xb7, 0x73, 0x94, 0x0f, 0xaf, + 0x17, 0x8a, 0x31, 0x48, 0xc7, 0x3c, 0x16, 0xd6, 0xa8, 0xfb, 0xfb, 0x55, 0x43, 0xc6, 0x20, 0x1d, + 0xa3, 0x2c, 0x77, 0xc3, 0xa8, 0xb9, 0xbd, 0xdd, 0xc6, 0xc2, 0xb9, 0x20, 0xfa, 0xea, 0x31, 0xe2, + 0x0d, 0x13, 0xc6, 0xc9, 0xab, 0x90, 0xe2, 0x76, 0xc0, 0x4b, 0x32, 0xb6, 0x44, 0xa5, 0x45, 0xdf, + 0xa7, 0x13, 0x33, 0x03, 0x46, 0xca, 0xe2, 0xc4, 0xe3, 0x30, 0x54, 0x77, 0x2a, 0xfe, 0xf6, 0x7b, + 0xe2, 0x58, 0x62, 0x26, 0x65, 0x0c, 0xd6, 0x1d, 0x6f, 0xeb, 0x32, 0xf3, 0x85, 0x04, 0x8c, 0x88, + 0xc7, 0x07, 0x7a, 0x11, 0x52, 0x0d, 0xbb, 0x6a, 0x92, 0xd0, 0xa2, 0x67, 0x57, 0x33, 0x11, 0x27, + 0x0e, 0x73, 0xd7, 0x18, 0xbf, 0xe1, 0x21, 0x27, 0xff, 0x4e, 0x81, 0x14, 0x1f, 0xd6, 0x27, 0x20, + 0xd9, 0x32, 0xdd, 0x1d, 0x22, 0xae, 0x2f, 0x9f, 0xd0, 0x14, 0x83, 0x7c, 0xc7, 0xe3, 0x4e, 0xcb, + 0xb4, 0x48, 0x08, 0xb0, 0x71, 0xfc, 0x1d, 0xfb, 0xb5, 0x81, 0xcc, 0x1a, 0x79, 0xaf, 0xb1, 0x9b, + 0x4d, 0x64, 0xb9, 0x0e, 0xf7, 0x2b, 0x1b, 0x2f, 0xb0, 0x61, 0xfd, 0x5e, 0x18, 0x73, 0xdb, 0x66, + 0xbd, 0x21, 0xf0, 0x26, 0x09, 0xaf, 0xc6, 0x09, 0x1e, 0x73, 0x16, 0x6e, 0xe3, 0x72, 0x6b, 0xc8, + 0x35, 0xab, 0x3b, 0xa8, 0xe6, 0x83, 0xfa, 0xc9, 0xfe, 0xc5, 0x11, 0xc6, 0x50, 0x64, 0x74, 0x8e, + 0xcd, 0x7c, 0x57, 0x81, 0x31, 0xfe, 0x26, 0x56, 0xf3, 0x8c, 0xb5, 0x0c, 0x60, 0x5a, 0x96, 0xed, + 0x06, 0xcd, 0xd5, 0x1d, 0xca, 0x5d, 0xb8, 0xb9, 0x9c, 0x07, 0x32, 0x02, 0x02, 0x26, 0x9b, 0x00, + 0x3e, 0xa5, 0xa7, 0xd9, 0xa6, 0x61, 0x90, 0x9d, 0x0d, 0x91, 0x03, 0x46, 0xfa, 0xee, 0x0e, 0x74, + 0x08, 0xbf, 0xb2, 0xe9, 0x87, 0xa0, 0x6f, 0x13, 0x6d, 0xd7, 0x2d, 0xb6, 0xe3, 0x4b, 0xbf, 0xf0, + 0x1d, 0x96, 0xa4, 0xb7, 0xc3, 0x92, 0x7f, 0x2f, 0x8c, 0x57, 0xed, 0xa6, 0xac, 0x6e, 0x5e, 0x93, + 0xf6, 0x0f, 0x9c, 0x87, 0x95, 0xf7, 0x80, 0xdf, 0x62, 0xfe, 0x44, 0x51, 0x3e, 0x93, 0x50, 0xaf, + 0xac, 0xe6, 0xbf, 0x94, 0x98, 0xbc, 0x42, 0xa1, 0xab, 0x7c, 0xa6, 0x06, 0xda, 0x6a, 0xa0, 0x2a, + 0xd6, 0x1e, 0x3e, 0x7f, 0x2f, 0xdc, 0xbf, 0x5d, 0x77, 0x77, 0x3a, 0x9b, 0x73, 0x55, 0xbb, 0x79, + 0x6a, 0xdb, 0xde, 0xb6, 0xfd, 0x33, 0x55, 0xfc, 0x8d, 0x7c, 0x21, 0x9f, 0xd8, 0xb9, 0xea, 0x80, + 0x37, 0x3a, 0x19, 0x79, 0x08, 0x9b, 0x2d, 0xc3, 0x38, 0x63, 0xae, 0x90, 0x83, 0x1d, 0xfa, 0x7a, + 0xa2, 0xef, 0xb9, 0x39, 0x96, 0xfe, 0xca, 0x0f, 0xc8, 0x72, 0x6d, 0x8c, 0x31, 0x28, 0xa6, 0xd1, + 0x37, 0x98, 0xac, 0x01, 0x87, 0x05, 0x79, 0x34, 0x35, 0x51, 0x3b, 0x42, 0xe2, 0xb7, 0x99, 0xc4, + 0xf1, 0x80, 0xc4, 0x35, 0x06, 0xcd, 0x16, 0x60, 0x78, 0x3f, 0xb2, 0xfe, 0x86, 0xc9, 0x1a, 0x42, + 0x41, 0x21, 0x57, 0x60, 0x94, 0x08, 0xa9, 0x76, 0x1c, 0xd7, 0x6e, 0x92, 0xba, 0xb7, 0xb7, 0x98, + 0xef, 0xfc, 0x80, 0xe6, 0xca, 0x08, 0x86, 0x15, 0x3c, 0x54, 0x36, 0x0b, 0xe4, 0x2c, 0xab, 0x86, + 0xaa, 0x8d, 0x08, 0x09, 0x37, 0x98, 0x22, 0x1e, 0x7f, 0xf6, 0xdd, 0x70, 0x08, 0x7f, 0x26, 0x65, + 0x29, 0xa8, 0x49, 0xf4, 0x4e, 0x5a, 0xfa, 0xbb, 0x1f, 0xa0, 0xe9, 0x38, 0xee, 0x09, 0x08, 0xe8, + 0x14, 0xf0, 0xe2, 0x36, 0x72, 0x5d, 0xd4, 0x76, 0x2a, 0x66, 0x23, 0x4c, 0xbd, 0xc0, 0x56, 0x44, + 0xfa, 0x63, 0xaf, 0x8a, 0x5e, 0xbc, 0x42, 0x91, 0xb9, 0x46, 0x23, 0xbb, 0x01, 0x47, 0x42, 0xa2, + 0x22, 0x86, 0xcc, 0x8f, 0x33, 0x99, 0x87, 0xba, 0x22, 0x03, 0x8b, 0x5d, 0x05, 0x3e, 0xee, 0xf9, + 0x32, 0x86, 0xcc, 0xdf, 0x67, 0x32, 0x75, 0x86, 0xe5, 0x2e, 0xc5, 0x12, 0xaf, 0xc2, 0xd8, 0x13, + 0xa8, 0xbd, 0x69, 0x3b, 0x6c, 0xfb, 0x27, 0x86, 0xb8, 0x4f, 0x30, 0x71, 0xa3, 0x0c, 0x48, 0xf6, + 0x83, 0xb0, 0xac, 0x8b, 0x90, 0xda, 0x32, 0xab, 0x28, 0x86, 0x88, 0x4f, 0x32, 0x11, 0x07, 0x31, + 0x3f, 0x86, 0xe6, 0x60, 0x68, 0xdb, 0x66, 0x2b, 0x53, 0x34, 0xfc, 0x59, 0x06, 0x1f, 0xe4, 0x18, + 0x26, 0xa2, 0x65, 0xb7, 0x3a, 0x0d, 0xbc, 0x6c, 0x45, 0x8b, 0xf8, 0x14, 0x17, 0xc1, 0x31, 0x4c, + 0xc4, 0x3e, 0xcc, 0xfa, 0x1c, 0x17, 0xe1, 0x04, 0xec, 0xf9, 0x10, 0x0c, 0xda, 0x56, 0x63, 0xd7, + 0xb6, 0xe2, 0x28, 0xf1, 0x69, 0x26, 0x01, 0x18, 0x04, 0x0b, 0xb8, 0x04, 0x03, 0x71, 0x1d, 0xf1, + 0xb9, 0x57, 0x79, 0x7a, 0x70, 0x0f, 0x5c, 0x81, 0x51, 0x5e, 0xa0, 0xea, 0xb6, 0x15, 0x43, 0xc4, + 0xe7, 0x99, 0x88, 0x91, 0x00, 0x8c, 0x4d, 0xc3, 0x45, 0x8e, 0xbb, 0x8d, 0xe2, 0x08, 0xf9, 0x02, + 0x9f, 0x06, 0x83, 0x30, 0x53, 0x6e, 0x22, 0xab, 0xba, 0x13, 0x4f, 0xc2, 0xf3, 0xdc, 0x94, 0x1c, + 0x83, 0x45, 0x14, 0x60, 0xb8, 0x69, 0xb6, 0x9d, 0x1d, 0xb3, 0x11, 0xcb, 0x1d, 0x5f, 0x64, 0x32, + 0x86, 0x3c, 0x10, 0xb3, 0x48, 0xc7, 0xda, 0x8f, 0x98, 0x2f, 0x71, 0x8b, 0x04, 0x60, 0x2c, 0xf5, + 0x1c, 0x97, 0xec, 0x95, 0xed, 0x47, 0xda, 0x1f, 0xf0, 0xd4, 0xa3, 0xd8, 0xe5, 0xa0, 0xc4, 0x4b, + 0x30, 0xe0, 0xd4, 0x9f, 0x8e, 0x25, 0xe6, 0x0f, 0xb9, 0xa7, 0x09, 0x00, 0x83, 0xaf, 0xc3, 0x6d, + 0xa1, 0xcb, 0x44, 0x0c, 0x61, 0x7f, 0xc4, 0x84, 0x4d, 0x84, 0x2c, 0x15, 0xac, 0x24, 0xec, 0x57, + 0xe4, 0x1f, 0xf3, 0x92, 0x80, 0x24, 0x59, 0xab, 0xf8, 0x5d, 0xc1, 0x31, 0xb7, 0xf6, 0x67, 0xb5, + 0x3f, 0xe1, 0x56, 0xa3, 0x58, 0xc1, 0x6a, 0xeb, 0x30, 0xc1, 0x24, 0xee, 0xcf, 0xaf, 0x5f, 0xe6, + 0x85, 0x95, 0xa2, 0x37, 0x44, 0xef, 0xbe, 0x17, 0x26, 0x3d, 0x73, 0xf2, 0xa6, 0xd4, 0xa9, 0x34, + 0xcd, 0x56, 0x0c, 0xc9, 0x5f, 0x61, 0x92, 0x79, 0xc5, 0xf7, 0xba, 0x5a, 0x67, 0xd9, 0x6c, 0x61, + 0xe1, 0x8f, 0x42, 0x9a, 0x0b, 0xef, 0x58, 0x6d, 0x54, 0xb5, 0xb7, 0xad, 0xfa, 0xd3, 0xa8, 0x16, + 0x43, 0xf4, 0x9f, 0x4a, 0xae, 0xda, 0x08, 0xc0, 0xb1, 0xe4, 0x25, 0xd0, 0xbc, 0x5e, 0xa5, 0x52, + 0x6f, 0xb6, 0xec, 0xb6, 0x1b, 0x21, 0xf1, 0xcf, 0xb8, 0xa7, 0x3c, 0xdc, 0x12, 0x81, 0x65, 0x4b, + 0x30, 0x42, 0xbe, 0xc6, 0x0d, 0xc9, 0xaf, 0x32, 0x41, 0xc3, 0x3e, 0x8a, 0x15, 0x8e, 0xaa, 0xdd, + 0x6c, 0x99, 0xed, 0x38, 0xf5, 0xef, 0xcf, 0x79, 0xe1, 0x60, 0x10, 0x56, 0x38, 0xdc, 0xdd, 0x16, + 0xc2, 0xab, 0x7d, 0x0c, 0x09, 0x5f, 0xe3, 0x85, 0x83, 0x63, 0x98, 0x08, 0xde, 0x30, 0xc4, 0x10, + 0xf1, 0x17, 0x5c, 0x04, 0xc7, 0x60, 0x11, 0xef, 0xf2, 0x17, 0xda, 0x36, 0xda, 0xae, 0x3b, 0x6e, + 0x9b, 0xb6, 0xc2, 0x7b, 0x8b, 0xfa, 0xfa, 0xab, 0x62, 0x13, 0x66, 0x04, 0xa0, 0xb8, 0x12, 0xb1, + 0x2d, 0x54, 0xf2, 0xa6, 0x14, 0xad, 0xd8, 0x37, 0x78, 0x25, 0x0a, 0xc0, 0xb0, 0x6e, 0x81, 0x0e, + 0x11, 0x9b, 0xbd, 0x8a, 0xdf, 0x0f, 0x62, 0x88, 0xfb, 0xa6, 0xa4, 0xdc, 0x1a, 0xc7, 0x62, 0x99, + 0x81, 0xfe, 0xa7, 0x63, 0x3d, 0x8e, 0x76, 0x63, 0x45, 0xe7, 0x5f, 0x4a, 0xfd, 0xcf, 0x06, 0x45, + 0xd2, 0x1a, 0x32, 0x2a, 0xf5, 0x53, 0x7a, 0xd4, 0x2d, 0xa0, 0xf4, 0xff, 0x7f, 0x8d, 0xcd, 0x57, + 0x6c, 0xa7, 0xb2, 0xd7, 0x70, 0x90, 0x8b, 0x4d, 0x4f, 0xb4, 0xb0, 0x0f, 0xbc, 0xe6, 0xc5, 0xb9, + 0xd0, 0xf3, 0x64, 0x2f, 0xc3, 0xb0, 0xd0, 0xf0, 0x44, 0x8b, 0xfa, 0x05, 0x26, 0x6a, 0x28, 0xd8, + 0xef, 0x64, 0xcf, 0x42, 0x12, 0x37, 0x2f, 0xd1, 0xf0, 0x5f, 0x64, 0x70, 0xc2, 0x9e, 0x7d, 0x00, + 0x52, 0xbc, 0x69, 0x89, 0x86, 0x7e, 0x90, 0x41, 0x3d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1a, 0xfe, + 0x4b, 0x1c, 0xce, 0x21, 0x18, 0x1e, 0xdf, 0x84, 0x2f, 0xfc, 0x4a, 0x92, 0x2d, 0x3a, 0xdc, 0x76, + 0x97, 0xe0, 0x20, 0xeb, 0x54, 0xa2, 0xd1, 0x1f, 0x66, 0x0f, 0xe7, 0x88, 0xec, 0x79, 0xe8, 0x8b, + 0x69, 0xf0, 0x5f, 0x63, 0x50, 0xca, 0x9f, 0x2d, 0xc0, 0x60, 0xa0, 0x3b, 0x89, 0x86, 0xff, 0x3a, + 0x83, 0x07, 0x51, 0x58, 0x75, 0xd6, 0x9d, 0x44, 0x0b, 0xf8, 0x0d, 0xae, 0x3a, 0x43, 0x60, 0xb3, + 0xf1, 0xc6, 0x24, 0x1a, 0xfd, 0x9b, 0xdc, 0xea, 0x1c, 0x92, 0x7d, 0x08, 0x06, 0xbc, 0xc5, 0x26, + 0x1a, 0xff, 0x5b, 0x0c, 0xef, 0x63, 0xb0, 0x05, 0x02, 0x8b, 0x5d, 0xb4, 0x88, 0xdf, 0xe6, 0x16, + 0x08, 0xa0, 0x70, 0x1a, 0xc9, 0x0d, 0x4c, 0xb4, 0xa4, 0x8f, 0xf0, 0x34, 0x92, 0xfa, 0x17, 0xec, + 0x4d, 0x52, 0xf3, 0xa3, 0x45, 0xfc, 0x0e, 0xf7, 0x26, 0xe1, 0xc7, 0x6a, 0xc8, 0x1d, 0x41, 0xb4, + 0x8c, 0xdf, 0xe3, 0x6a, 0x48, 0x0d, 0x41, 0x76, 0x15, 0xf4, 0xee, 0x6e, 0x20, 0x5a, 0xde, 0x47, + 0x99, 0xbc, 0xb1, 0xae, 0x66, 0x20, 0xfb, 0x08, 0x4c, 0x84, 0x77, 0x02, 0xd1, 0x52, 0x3f, 0xf6, + 0x9a, 0xf4, 0xee, 0x16, 0x6c, 0x04, 0xb2, 0xeb, 0xfe, 0x92, 0x12, 0xec, 0x02, 0xa2, 0xc5, 0x7e, + 0xfc, 0x35, 0xb1, 0x70, 0x07, 0x9b, 0x80, 0x6c, 0x0e, 0xc0, 0x5f, 0x80, 0xa3, 0x65, 0x7d, 0x82, + 0xc9, 0x0a, 0x80, 0x70, 0x6a, 0xb0, 0xf5, 0x37, 0x1a, 0xff, 0x49, 0x9e, 0x1a, 0x0c, 0x81, 0x53, + 0x83, 0x2f, 0xbd, 0xd1, 0xe8, 0x67, 0x79, 0x6a, 0x70, 0x08, 0x8e, 0xec, 0xc0, 0xea, 0x16, 0x2d, + 0xe1, 0xd3, 0x3c, 0xb2, 0x03, 0xa8, 0x6c, 0x19, 0xc6, 0xba, 0x16, 0xc4, 0x68, 0x51, 0x9f, 0x61, + 0xa2, 0x34, 0x79, 0x3d, 0x0c, 0x2e, 0x5e, 0x6c, 0x31, 0x8c, 0x96, 0xf6, 0x59, 0x69, 0xf1, 0x62, + 0x6b, 0x61, 0xf6, 0x12, 0xa4, 0xac, 0x4e, 0xa3, 0x81, 0x93, 0x47, 0xdf, 0xfb, 0xe6, 0x5e, 0xfa, + 0x9f, 0x5f, 0x67, 0xd6, 0xe1, 0x80, 0xec, 0x59, 0xe8, 0x43, 0xcd, 0x4d, 0x54, 0x8b, 0x42, 0xfe, + 0xcb, 0xeb, 0xbc, 0x60, 0x62, 0xee, 0xec, 0x43, 0x00, 0x74, 0x6b, 0x84, 0x1c, 0xfb, 0x45, 0x60, + 0xff, 0xf5, 0x75, 0x76, 0xa7, 0xc6, 0x87, 0xf8, 0x02, 0xe8, 0x0d, 0x9d, 0xbd, 0x05, 0xbc, 0x2a, + 0x0a, 0x20, 0x1e, 0xb9, 0x08, 0x07, 0x1f, 0x73, 0x6c, 0xcb, 0x35, 0xb7, 0xa3, 0xd0, 0xff, 0xc6, + 0xd0, 0x9c, 0x1f, 0x1b, 0xac, 0x69, 0xb7, 0x91, 0x6b, 0x6e, 0x3b, 0x51, 0xd8, 0x7f, 0x67, 0x58, + 0x0f, 0x80, 0xc1, 0x55, 0xd3, 0x71, 0xe3, 0xcc, 0xfb, 0x3f, 0x38, 0x98, 0x03, 0xb0, 0xd2, 0xf8, + 0xf3, 0xe3, 0x68, 0x37, 0x0a, 0xfb, 0x23, 0xae, 0x34, 0xe3, 0xcf, 0x3e, 0x00, 0x03, 0xf8, 0x23, + 0xbd, 0x28, 0x17, 0x01, 0xfe, 0x4f, 0x06, 0xf6, 0x11, 0xf8, 0xc9, 0x8e, 0x5b, 0x73, 0xeb, 0xd1, + 0xc6, 0xfe, 0x31, 0xf3, 0x34, 0xe7, 0xcf, 0xe6, 0x60, 0xd0, 0x71, 0x6b, 0xb5, 0x0e, 0xeb, 0x4f, + 0x23, 0xe0, 0xff, 0xf5, 0xba, 0xb7, 0x65, 0xe1, 0x61, 0xb0, 0xb7, 0x9f, 0x7c, 0xdc, 0x6d, 0xd9, + 0xe4, 0x98, 0x23, 0x4a, 0xc2, 0x6b, 0x4c, 0x42, 0x00, 0x92, 0x2f, 0x85, 0x6f, 0xdf, 0xc2, 0x15, + 0xfb, 0x8a, 0x4d, 0x37, 0x6e, 0xdf, 0x93, 0x89, 0xde, 0x81, 0x85, 0xef, 0x34, 0xe0, 0xb6, 0xaa, + 0xdd, 0xdc, 0xb4, 0x9d, 0x53, 0x9b, 0xb6, 0xbb, 0x73, 0xca, 0xdd, 0x41, 0x78, 0x01, 0x66, 0x9b, + 0xb2, 0x49, 0xfc, 0x79, 0x72, 0x7f, 0x3b, 0xb9, 0xe4, 0x9c, 0xbe, 0x5c, 0xc7, 0xca, 0x97, 0xc9, + 0x51, 0x89, 0x7e, 0x14, 0xfa, 0xc9, 0x74, 0x4e, 0x93, 0xe3, 0x48, 0x25, 0x9f, 0xbc, 0xf1, 0xd2, + 0xf4, 0x01, 0x83, 0x8d, 0x79, 0xd4, 0x05, 0xb2, 0x97, 0x9d, 0x10, 0xa8, 0x0b, 0x1e, 0xf5, 0x0c, + 0xdd, 0xce, 0x16, 0xa8, 0x67, 0x3c, 0xea, 0x22, 0xd9, 0xd8, 0x56, 0x05, 0xea, 0xa2, 0x47, 0x3d, + 0x4b, 0x0e, 0x6f, 0x86, 0x05, 0xea, 0x59, 0x8f, 0x7a, 0x8e, 0x1c, 0xd9, 0x24, 0x05, 0xea, 0x39, + 0x8f, 0x7a, 0x9e, 0x9c, 0xd6, 0x8c, 0x09, 0xd4, 0xf3, 0x1e, 0xf5, 0x02, 0x39, 0xa5, 0xd1, 0x05, + 0xea, 0x05, 0x8f, 0x7a, 0x91, 0xdc, 0xad, 0x3a, 0x28, 0x50, 0x2f, 0xea, 0x53, 0x70, 0x90, 0xce, + 0x7c, 0x9e, 0x1c, 0xe9, 0x8f, 0x32, 0x32, 0x1f, 0xf4, 0xe9, 0xa7, 0xc9, 0x3d, 0xaa, 0x7e, 0x91, + 0x7e, 0xda, 0xa7, 0x2f, 0x90, 0x3f, 0xe9, 0xd0, 0x44, 0xfa, 0x82, 0x4f, 0x3f, 0x93, 0x1e, 0x26, + 0x77, 0xc9, 0x04, 0xfa, 0x19, 0x9f, 0xbe, 0x98, 0x1e, 0xc1, 0x39, 0x21, 0xd2, 0x17, 0x7d, 0xfa, + 0xd9, 0xf4, 0xe8, 0x31, 0x65, 0x66, 0x48, 0xa4, 0x9f, 0xcd, 0xbc, 0x9f, 0xb8, 0xd7, 0xf2, 0xdd, + 0x3b, 0x21, 0xba, 0xd7, 0x73, 0xec, 0x84, 0xe8, 0x58, 0xcf, 0xa5, 0x13, 0xa2, 0x4b, 0x3d, 0x67, + 0x4e, 0x88, 0xce, 0xf4, 0xdc, 0x38, 0x21, 0xba, 0xd1, 0x73, 0xe0, 0x84, 0xe8, 0x40, 0xcf, 0x75, + 0x13, 0xa2, 0xeb, 0x3c, 0xa7, 0x4d, 0x88, 0x4e, 0xf3, 0xdc, 0x35, 0x21, 0xba, 0xcb, 0x73, 0x54, + 0x5a, 0x72, 0x94, 0xef, 0xa2, 0xb4, 0xe4, 0x22, 0xdf, 0x39, 0x69, 0xc9, 0x39, 0xbe, 0x5b, 0xd2, + 0x92, 0x5b, 0x7c, 0x87, 0xa4, 0x25, 0x87, 0xf8, 0xae, 0x48, 0x4b, 0xae, 0xf0, 0x9d, 0xc0, 0x72, + 0xcc, 0x40, 0xad, 0x90, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, + 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, 0xcf, + 0x1c, 0x53, 0xf7, 0xce, 0x31, 0x35, 0x22, 0xc7, 0xd4, 0x88, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0x8d, + 0xc8, 0x31, 0x35, 0x22, 0xc7, 0xd4, 0x9e, 0x39, 0xe6, 0xbb, 0x77, 0x42, 0x74, 0x6f, 0x68, 0x8e, + 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, 0xda, 0x23, + 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, 0xc8, 0x31, 0xb5, 0x57, 0x8e, 0xa9, 0x3d, 0x73, 0x4c, 0xed, + 0x99, 0x63, 0x6a, 0xcf, 0x1c, 0x53, 0x7b, 0xe6, 0x98, 0xda, 0x33, 0xc7, 0xd4, 0x60, 0x8e, 0xfd, + 0x95, 0x0a, 0x3a, 0xcd, 0xb1, 0x55, 0x72, 0x29, 0x8c, 0xb9, 0x62, 0x4a, 0xca, 0xb4, 0x7e, 0xec, + 0x3a, 0xcd, 0x77, 0xc9, 0x94, 0x94, 0x6b, 0x22, 0x7d, 0xc1, 0xa3, 0xf3, 0x6c, 0x13, 0xe9, 0x67, + 0x3c, 0x3a, 0xcf, 0x37, 0x91, 0xbe, 0xe8, 0xd1, 0x79, 0xc6, 0x89, 0xf4, 0xb3, 0x1e, 0x9d, 0xe7, + 0x9c, 0x48, 0x3f, 0xe7, 0xd1, 0x79, 0xd6, 0x89, 0xf4, 0xf3, 0x1e, 0x9d, 0xe7, 0x9d, 0x48, 0xbf, + 0xe0, 0xd1, 0x79, 0xe6, 0x89, 0xf4, 0x8b, 0xfa, 0x31, 0x39, 0xf7, 0x38, 0x83, 0xe7, 0xda, 0x63, + 0x72, 0xf6, 0x49, 0x1c, 0xa7, 0x7d, 0x0e, 0x9e, 0x7f, 0x12, 0xc7, 0x82, 0xcf, 0xc1, 0x33, 0x50, + 0xe2, 0x38, 0x93, 0xf9, 0x10, 0x71, 0x9f, 0x25, 0xbb, 0x6f, 0x52, 0x72, 0x5f, 0x22, 0xe0, 0xba, + 0x49, 0xc9, 0x75, 0x89, 0x80, 0xdb, 0x26, 0x25, 0xb7, 0x25, 0x02, 0x2e, 0x9b, 0x94, 0x5c, 0x96, + 0x08, 0xb8, 0x6b, 0x52, 0x72, 0x57, 0x22, 0xe0, 0xaa, 0x49, 0xc9, 0x55, 0x89, 0x80, 0x9b, 0x26, + 0x25, 0x37, 0x25, 0x02, 0x2e, 0x9a, 0x94, 0x5c, 0x94, 0x08, 0xb8, 0x67, 0x52, 0x72, 0x4f, 0x22, + 0xe0, 0x9a, 0xa3, 0xb2, 0x6b, 0x12, 0x41, 0xb7, 0x1c, 0x95, 0xdd, 0x92, 0x08, 0xba, 0xe4, 0xa8, + 0xec, 0x92, 0x44, 0xd0, 0x1d, 0x47, 0x65, 0x77, 0x24, 0x82, 0xae, 0xf8, 0x69, 0x82, 0x77, 0x84, + 0x6b, 0x6e, 0xbb, 0x53, 0x75, 0x6f, 0xa9, 0x23, 0x9c, 0x17, 0xda, 0x87, 0xc1, 0x05, 0x7d, 0x8e, + 0x34, 0xac, 0xc1, 0x8e, 0x53, 0x5a, 0xc1, 0xe6, 0x85, 0xc6, 0x22, 0x80, 0xb0, 0xc2, 0x11, 0x8b, + 0xb7, 0xd4, 0x1b, 0xce, 0x0b, 0x6d, 0x46, 0xb4, 0x7e, 0x17, 0xde, 0xf2, 0x8e, 0xed, 0x85, 0x04, + 0xef, 0xd8, 0x98, 0xf9, 0xf7, 0xdb, 0xb1, 0xcd, 0x46, 0x9b, 0xdc, 0x33, 0xf6, 0x6c, 0xb4, 0xb1, + 0xbb, 0x56, 0x9d, 0xb8, 0x1d, 0xdc, 0x6c, 0xb4, 0x69, 0x3d, 0xa3, 0xbe, 0xb9, 0xfd, 0x16, 0x8b, + 0x60, 0x03, 0xb5, 0x42, 0x22, 0x78, 0xbf, 0xfd, 0xd6, 0xbc, 0x50, 0x4a, 0xf6, 0x1b, 0xc1, 0xea, + 0xbe, 0x23, 0x78, 0xbf, 0x9d, 0xd7, 0xbc, 0x50, 0x5e, 0xf6, 0x1d, 0xc1, 0x6f, 0x41, 0x3f, 0xc4, + 0x22, 0xd8, 0x37, 0xff, 0x7e, 0xfb, 0xa1, 0xd9, 0x68, 0x93, 0x87, 0x46, 0xb0, 0xba, 0x8f, 0x08, + 0x8e, 0xd3, 0x1f, 0xcd, 0x46, 0x9b, 0x36, 0x3c, 0x82, 0x6f, 0xb9, 0x9b, 0xf9, 0x94, 0x02, 0x63, + 0xe5, 0x7a, 0xad, 0xd4, 0xdc, 0x44, 0xb5, 0x1a, 0xaa, 0x31, 0x3b, 0xce, 0x0b, 0x95, 0xa0, 0x87, + 0xab, 0x5f, 0x7c, 0x69, 0xda, 0xb7, 0xf0, 0x59, 0x48, 0x51, 0x9b, 0xce, 0xcf, 0xa7, 0x6f, 0x28, + 0x11, 0x15, 0xce, 0x63, 0xd5, 0x8f, 0x73, 0xd8, 0xe9, 0xf9, 0xf4, 0xdf, 0x2b, 0x81, 0x2a, 0xe7, + 0x0d, 0x67, 0x3e, 0x42, 0x34, 0xb4, 0x6e, 0x59, 0xc3, 0x53, 0xb1, 0x34, 0x0c, 0xe8, 0x76, 0x7b, + 0x97, 0x6e, 0x01, 0xad, 0x3a, 0x30, 0x5a, 0xae, 0xd7, 0xca, 0xe4, 0xc7, 0x04, 0xe2, 0xa8, 0x44, + 0x79, 0xa4, 0x7a, 0x30, 0x2f, 0x84, 0x65, 0x10, 0xe1, 0x85, 0xb4, 0x58, 0x23, 0x32, 0x75, 0xfc, + 0x58, 0x4b, 0x78, 0xec, 0x6c, 0xaf, 0xc7, 0xfa, 0x95, 0xdd, 0x7b, 0xe0, 0x6c, 0xaf, 0x07, 0xfa, + 0x39, 0xe4, 0x3d, 0xea, 0x29, 0xbe, 0x38, 0xd3, 0xab, 0x59, 0xfa, 0x51, 0x48, 0x2c, 0xd1, 0x9b, + 0xe3, 0x43, 0xf9, 0x21, 0xac, 0xd4, 0xf7, 0x5e, 0x9a, 0x4e, 0x6e, 0x74, 0xea, 0x35, 0x23, 0xb1, + 0x54, 0xd3, 0xaf, 0x42, 0xdf, 0xbb, 0xd9, 0x9f, 0xb4, 0x62, 0x86, 0x45, 0xc6, 0x70, 0x5f, 0xcf, + 0x3d, 0x22, 0xfc, 0xe0, 0x53, 0x74, 0x9b, 0x72, 0x6e, 0xa3, 0x6e, 0xb9, 0xa7, 0x17, 0x2e, 0x18, + 0x54, 0x44, 0xe6, 0x7f, 0x03, 0xd0, 0x67, 0x16, 0x4d, 0x67, 0x47, 0x2f, 0x73, 0xc9, 0xf4, 0xd1, + 0x17, 0xbe, 0xf7, 0xd2, 0xf4, 0x62, 0x1c, 0xa9, 0xf7, 0xd7, 0x4c, 0x67, 0xe7, 0x7e, 0x77, 0xb7, + 0x85, 0xe6, 0xf2, 0xbb, 0x2e, 0x72, 0xb8, 0xf4, 0x16, 0x5f, 0xf5, 0xd8, 0xbc, 0xd2, 0x81, 0x79, + 0xa5, 0x84, 0x39, 0x5d, 0x16, 0xe7, 0x34, 0xff, 0x46, 0xe7, 0xf3, 0x14, 0x5f, 0x24, 0x24, 0x4b, + 0xaa, 0x51, 0x96, 0x54, 0x6f, 0xd5, 0x92, 0x2d, 0x5e, 0x1f, 0xa5, 0xb9, 0xaa, 0x7b, 0xcd, 0x55, + 0xbd, 0x95, 0xb9, 0xfe, 0x37, 0xcd, 0x56, 0x2f, 0x9f, 0x36, 0x2c, 0x7a, 0x6b, 0xf5, 0xe7, 0x6b, + 0x2f, 0xe8, 0x4d, 0xed, 0x02, 0xb2, 0xc9, 0x1b, 0xcf, 0x4d, 0x2b, 0x99, 0x4f, 0x25, 0xf8, 0xcc, + 0x69, 0x22, 0xbd, 0xb1, 0x99, 0xff, 0xbc, 0xf4, 0x54, 0x6f, 0x85, 0x85, 0x9e, 0x55, 0x60, 0xa2, + 0xab, 0x92, 0x53, 0x33, 0xbd, 0xb9, 0xe5, 0xdc, 0xda, 0x6f, 0x39, 0x67, 0x0a, 0x7e, 0x55, 0x81, + 0x43, 0x52, 0x79, 0xa5, 0xea, 0x9d, 0x92, 0xd4, 0x3b, 0xd2, 0xfd, 0x24, 0xc2, 0x18, 0xd0, 0x2e, + 0xe8, 0x5e, 0x09, 0x10, 0x90, 0xec, 0xf9, 0x7d, 0x51, 0xf2, 0xfb, 0x51, 0x0f, 0x10, 0x62, 0x2e, + 0x1e, 0x01, 0x4c, 0x6d, 0x1b, 0x92, 0xeb, 0x6d, 0x84, 0xf4, 0x29, 0x48, 0xac, 0xb4, 0x99, 0x86, + 0x23, 0x14, 0xbf, 0xd2, 0xce, 0xb7, 0x4d, 0xab, 0xba, 0x63, 0x24, 0x56, 0xda, 0xfa, 0x71, 0x50, + 0x73, 0xec, 0xcf, 0xe9, 0x07, 0x17, 0x46, 0x29, 0x43, 0xce, 0xaa, 0x31, 0x0e, 0x4c, 0xd3, 0xa7, + 0x20, 0x79, 0x0d, 0x99, 0x5b, 0x4c, 0x09, 0xa0, 0x3c, 0x78, 0xc4, 0x20, 0xe3, 0xec, 0x81, 0x8f, + 0x42, 0x8a, 0x0b, 0xd6, 0x4f, 0x60, 0xc4, 0x96, 0xcb, 0x1e, 0xcb, 0x10, 0x58, 0x1d, 0xb6, 0x72, + 0x11, 0xaa, 0x7e, 0x12, 0xfa, 0x8c, 0xfa, 0xf6, 0x8e, 0xcb, 0x1e, 0xde, 0xcd, 0x46, 0xc9, 0x99, + 0xeb, 0x30, 0xe0, 0x69, 0xf4, 0x26, 0x8b, 0x2e, 0xd2, 0xa9, 0xe9, 0x93, 0xc1, 0xf5, 0x84, 0xef, + 0x5b, 0xd2, 0x21, 0xfd, 0x18, 0xa4, 0xd6, 0xdc, 0xb6, 0x5f, 0xf4, 0x79, 0x47, 0xea, 0x8d, 0x66, + 0xde, 0xaf, 0x40, 0xaa, 0x88, 0x50, 0x8b, 0x18, 0xfc, 0x2e, 0x48, 0x16, 0xed, 0x27, 0x2d, 0xa6, + 0xe0, 0x18, 0xb3, 0x28, 0x26, 0x33, 0x9b, 0x12, 0xb2, 0x7e, 0x57, 0xd0, 0xee, 0xe3, 0x9e, 0xdd, + 0x03, 0x7c, 0xc4, 0xf6, 0x19, 0xc1, 0xf6, 0xcc, 0x81, 0x98, 0xa9, 0xcb, 0xfe, 0xe7, 0x61, 0x30, + 0xf0, 0x14, 0x7d, 0x86, 0xa9, 0x91, 0x90, 0x81, 0x41, 0x5b, 0x61, 0x8e, 0x0c, 0x82, 0x61, 0xe1, + 0xc1, 0x18, 0x1a, 0x30, 0x71, 0x0f, 0x28, 0x31, 0xf3, 0xac, 0x68, 0xe6, 0x70, 0x56, 0x66, 0xea, + 0x79, 0x6a, 0x23, 0x62, 0xee, 0x13, 0x34, 0x38, 0x7b, 0x3b, 0x11, 0x7f, 0xce, 0xf4, 0x81, 0x5a, + 0xae, 0x37, 0x32, 0x0f, 0x00, 0xd0, 0x94, 0x2f, 0x59, 0x9d, 0xa6, 0x94, 0x75, 0x23, 0xdc, 0xc0, + 0xeb, 0x3b, 0x68, 0x1d, 0x39, 0x84, 0x45, 0xec, 0xa7, 0x70, 0x81, 0x01, 0x9a, 0x62, 0x04, 0x7f, + 0x4f, 0x24, 0x3e, 0xb4, 0x13, 0xc3, 0xac, 0x69, 0xca, 0x7a, 0x1d, 0xb9, 0x39, 0xcb, 0x76, 0x77, + 0x50, 0x5b, 0x42, 0x2c, 0xe8, 0x67, 0x84, 0x84, 0x1d, 0x59, 0xb8, 0xdd, 0x43, 0xf4, 0x04, 0x9d, + 0xc9, 0x7c, 0x99, 0x28, 0x88, 0x5b, 0x81, 0xae, 0x09, 0xaa, 0x31, 0x26, 0xa8, 0x9f, 0x13, 0xfa, + 0xb7, 0x3d, 0xd4, 0x94, 0x5e, 0x2d, 0x2f, 0x0a, 0xef, 0x39, 0x7b, 0x2b, 0x2b, 0xbe, 0x63, 0x72, + 0x9b, 0x72, 0x95, 0xef, 0x89, 0x54, 0xb9, 0x47, 0x77, 0xbb, 0x5f, 0x9b, 0xaa, 0x71, 0x6d, 0xfa, + 0x4d, 0xaf, 0xe3, 0xa0, 0xbf, 0x59, 0x42, 0x7e, 0xed, 0x47, 0xbf, 0x2f, 0xd2, 0xf7, 0x59, 0xa5, + 0xe0, 0xa9, 0xba, 0x18, 0xd7, 0xfd, 0xd9, 0x44, 0x3e, 0xef, 0xa9, 0x7b, 0x7e, 0x1f, 0x21, 0x90, + 0x4d, 0x14, 0x0a, 0x5e, 0xd9, 0x4e, 0x7d, 0xe8, 0xb9, 0x69, 0xe5, 0xf9, 0xe7, 0xa6, 0x0f, 0x64, + 0xbe, 0xa8, 0xc0, 0x18, 0xe3, 0x0c, 0x04, 0xee, 0xfd, 0x92, 0xf2, 0x87, 0x79, 0xcd, 0x08, 0xb3, + 0xc0, 0xdb, 0x16, 0xbc, 0xdf, 0x56, 0x20, 0xdd, 0xa5, 0x2b, 0xb7, 0xf7, 0x7c, 0x2c, 0x95, 0xb3, + 0x4a, 0xe9, 0x67, 0x6f, 0xf3, 0xeb, 0xd0, 0xb7, 0x5e, 0x6f, 0xa2, 0x36, 0x5e, 0x09, 0xf0, 0x07, + 0xaa, 0x32, 0x3f, 0xcc, 0xa1, 0x43, 0x9c, 0x46, 0x95, 0x13, 0x68, 0x0b, 0x7a, 0x1a, 0x92, 0x45, + 0xd3, 0x35, 0x89, 0x06, 0x43, 0x5e, 0x7d, 0x35, 0x5d, 0x33, 0x73, 0x06, 0x86, 0x96, 0x77, 0xc9, + 0x55, 0xa3, 0x1a, 0xb9, 0x65, 0x22, 0x76, 0x7f, 0xbc, 0x5f, 0x3d, 0x3d, 0xdb, 0x97, 0xaa, 0x69, + 0x37, 0x94, 0x6c, 0x92, 0xe8, 0xf3, 0x04, 0x8c, 0xac, 0x60, 0xb5, 0x09, 0x4e, 0x80, 0xd1, 0xa7, + 0xab, 0xde, 0xe4, 0xa5, 0xa6, 0x4c, 0xf5, 0x9b, 0xb2, 0x63, 0xa0, 0x2c, 0x8b, 0xad, 0x53, 0x50, + 0x0f, 0x43, 0x59, 0x9e, 0x4d, 0xa6, 0x46, 0xb4, 0xb1, 0xd9, 0x64, 0x0a, 0xb4, 0x61, 0xf6, 0xdc, + 0xbf, 0x55, 0x41, 0xa3, 0xad, 0x4e, 0x11, 0x6d, 0xd5, 0xad, 0xba, 0xdb, 0xdd, 0xaf, 0x7a, 0x1a, + 0xeb, 0x0f, 0xc1, 0x00, 0x36, 0xe9, 0x65, 0xf6, 0xa3, 0x7f, 0xd8, 0xf4, 0xc7, 0x59, 0x8b, 0x22, + 0x89, 0x60, 0x03, 0x24, 0x74, 0x7c, 0x8c, 0x7e, 0x19, 0xd4, 0x72, 0x79, 0x99, 0x2d, 0x6e, 0x8b, + 0x7b, 0x42, 0xd9, 0x75, 0x1e, 0xf6, 0x8d, 0x8d, 0x39, 0xdb, 0x06, 0x16, 0xa0, 0x2f, 0x42, 0xa2, + 0xbc, 0xcc, 0x1a, 0xde, 0x13, 0x71, 0xc4, 0x18, 0x89, 0xf2, 0xf2, 0xe4, 0x5f, 0x2b, 0x30, 0x2c, + 0x8c, 0xea, 0x19, 0x18, 0xa2, 0x03, 0x81, 0xe9, 0xf6, 0x1b, 0xc2, 0x18, 0xd7, 0x39, 0x71, 0x8b, + 0x3a, 0x4f, 0xe6, 0x60, 0x54, 0x1a, 0xd7, 0xe7, 0x40, 0x0f, 0x0e, 0x31, 0x25, 0xe8, 0x0f, 0x8e, + 0x85, 0x50, 0x32, 0x77, 0x00, 0xf8, 0x76, 0xf5, 0x7e, 0x27, 0xab, 0x5c, 0x5a, 0x5b, 0x2f, 0x15, + 0x35, 0x25, 0xf3, 0x35, 0x05, 0x06, 0x59, 0xdb, 0x5a, 0xb5, 0x5b, 0x48, 0xcf, 0x83, 0x92, 0x63, + 0xf1, 0xf0, 0xc6, 0xf4, 0x56, 0x72, 0xfa, 0x29, 0x50, 0xf2, 0xf1, 0x5d, 0xad, 0xe4, 0xf5, 0x05, + 0x50, 0x0a, 0xcc, 0xc1, 0xf1, 0x3c, 0xa3, 0x14, 0x32, 0x3f, 0x56, 0x61, 0x3c, 0xd8, 0x46, 0xf3, + 0x7a, 0x72, 0x5c, 0x7c, 0x6f, 0xca, 0x0e, 0x9c, 0x5e, 0x38, 0xb3, 0x38, 0x87, 0xff, 0xf1, 0x42, + 0x32, 0x23, 0xbe, 0x42, 0x65, 0xc1, 0x63, 0x39, 0xdd, 0xeb, 0x9e, 0x48, 0x36, 0x19, 0x90, 0xd0, + 0x75, 0x4f, 0x44, 0xa0, 0x76, 0xdd, 0x13, 0x11, 0xa8, 0x5d, 0xf7, 0x44, 0x04, 0x6a, 0xd7, 0x59, + 0x80, 0x40, 0xed, 0xba, 0x27, 0x22, 0x50, 0xbb, 0xee, 0x89, 0x08, 0xd4, 0xee, 0x7b, 0x22, 0x8c, + 0xdc, 0xf3, 0x9e, 0x88, 0x48, 0xef, 0xbe, 0x27, 0x22, 0xd2, 0xbb, 0xef, 0x89, 0x64, 0x93, 0x6e, + 0xbb, 0x83, 0x7a, 0x9f, 0x3a, 0x88, 0xf8, 0xbd, 0x5e, 0x02, 0xfd, 0x0a, 0xbc, 0x02, 0xa3, 0x74, + 0x43, 0xa2, 0x60, 0x5b, 0xae, 0x59, 0xb7, 0x50, 0x5b, 0x7f, 0x07, 0x0c, 0xd1, 0x21, 0xfa, 0x9a, + 0x13, 0xf6, 0x1a, 0x48, 0xe9, 0xac, 0xde, 0x0a, 0xdc, 0x99, 0x9f, 0x26, 0x61, 0x82, 0x0e, 0x94, + 0xcd, 0x26, 0x12, 0x6e, 0x19, 0x9d, 0x94, 0xce, 0x94, 0x46, 0x30, 0xfc, 0xe6, 0x4b, 0xd3, 0x74, + 0x34, 0xe7, 0x45, 0xd3, 0x49, 0xe9, 0x74, 0x49, 0xe4, 0xf3, 0x17, 0xa0, 0x93, 0xd2, 0xcd, 0x23, + 0x91, 0xcf, 0x5b, 0x6f, 0x3c, 0x3e, 0x7e, 0x07, 0x49, 0xe4, 0x2b, 0x7a, 0x51, 0x76, 0x52, 0xba, + 0x8d, 0x24, 0xf2, 0x95, 0xbc, 0x78, 0x3b, 0x29, 0x9d, 0x3d, 0x89, 0x7c, 0x97, 0xbd, 0xc8, 0x3b, + 0x29, 0x9d, 0x42, 0x89, 0x7c, 0x57, 0xbc, 0x18, 0x3c, 0x29, 0xdd, 0x55, 0x12, 0xf9, 0x1e, 0xf6, + 0xa2, 0xf1, 0xa4, 0x74, 0x6b, 0x49, 0xe4, 0x5b, 0xf2, 0xe2, 0x72, 0x46, 0xbe, 0xbf, 0x24, 0x32, + 0x5e, 0xf5, 0x23, 0x74, 0x46, 0xbe, 0xc9, 0x24, 0x72, 0xbe, 0xd3, 0x8f, 0xd5, 0x19, 0xf9, 0x4e, + 0x93, 0xc8, 0x79, 0xcd, 0x8f, 0xda, 0x19, 0xf9, 0xac, 0x4c, 0xe4, 0x5c, 0xf6, 0xe3, 0x77, 0x46, + 0x3e, 0x35, 0x13, 0x39, 0xcb, 0x7e, 0x24, 0xcf, 0xc8, 0xe7, 0x67, 0x22, 0xe7, 0x8a, 0xbf, 0x89, + 0xfe, 0x2d, 0x29, 0xfc, 0x02, 0xb7, 0xa0, 0x32, 0x52, 0xf8, 0x41, 0x48, 0xe8, 0x49, 0x85, 0x2c, + 0xc0, 0xe3, 0x87, 0x5d, 0x46, 0x0a, 0x3b, 0x08, 0x09, 0xb9, 0x8c, 0x14, 0x72, 0x10, 0x12, 0x6e, + 0x19, 0x29, 0xdc, 0x20, 0x24, 0xd4, 0x32, 0x52, 0xa8, 0x41, 0x48, 0x98, 0x65, 0xa4, 0x30, 0x83, + 0x90, 0x10, 0xcb, 0x48, 0x21, 0x06, 0x21, 0xe1, 0x95, 0x91, 0xc2, 0x0b, 0x42, 0x42, 0xeb, 0x84, + 0x1c, 0x5a, 0x10, 0x16, 0x56, 0x27, 0xe4, 0xb0, 0x82, 0xb0, 0x90, 0xba, 0x53, 0x0e, 0xa9, 0x81, + 0x9b, 0x2f, 0x4d, 0xf7, 0xe1, 0xa1, 0x40, 0x34, 0x9d, 0x90, 0xa3, 0x09, 0xc2, 0x22, 0xe9, 0x84, + 0x1c, 0x49, 0x10, 0x16, 0x45, 0x27, 0xe4, 0x28, 0x82, 0xb0, 0x08, 0x7a, 0x41, 0x8e, 0x20, 0xff, + 0x8e, 0x4f, 0x46, 0x3a, 0x52, 0x8c, 0x8a, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, 0x48, 0x8d, + 0x11, 0x41, 0x6a, 0x8c, 0x08, 0x52, 0x63, 0x44, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, 0xa4, + 0xc6, 0x89, 0x20, 0x35, 0x56, 0x04, 0xa9, 0xbd, 0x22, 0xe8, 0x84, 0x7c, 0xe3, 0x01, 0xc2, 0x0a, + 0xd2, 0x09, 0xf9, 0xe8, 0x33, 0x3a, 0x84, 0xd4, 0x58, 0x21, 0xa4, 0xf6, 0x0a, 0xa1, 0x6f, 0xa9, + 0x30, 0x2e, 0x84, 0x10, 0x3b, 0x1f, 0x7a, 0xb3, 0x2a, 0xd0, 0xb9, 0x18, 0x17, 0x2c, 0xc2, 0x62, + 0xea, 0x5c, 0x8c, 0x43, 0xea, 0xbd, 0xe2, 0xac, 0xbb, 0x0a, 0x95, 0x62, 0x54, 0xa1, 0xcb, 0x5e, + 0x0c, 0x9d, 0x8b, 0x71, 0xf1, 0xa2, 0x3b, 0xf6, 0x2e, 0xec, 0x55, 0x04, 0x1e, 0x8e, 0x55, 0x04, + 0x96, 0x62, 0x15, 0x81, 0xab, 0xbe, 0x07, 0x3f, 0x98, 0x80, 0x43, 0xbe, 0x07, 0xe9, 0x27, 0xf2, + 0xdb, 0x59, 0x99, 0xc0, 0x11, 0x95, 0xce, 0x8f, 0x6d, 0x02, 0x6e, 0x4c, 0x2c, 0xd5, 0xf4, 0x55, + 0xf1, 0xb0, 0x2a, 0xbb, 0xdf, 0x03, 0x9c, 0x80, 0xc7, 0xd9, 0x66, 0xe8, 0x09, 0x50, 0x97, 0x6a, + 0x0e, 0xa9, 0x16, 0x61, 0x8f, 0x2d, 0x18, 0x98, 0xac, 0x1b, 0xd0, 0x4f, 0xd8, 0x1d, 0xe2, 0xde, + 0x5b, 0x79, 0x70, 0xd1, 0x60, 0x92, 0x32, 0x2f, 0x28, 0x70, 0x4c, 0x08, 0xe5, 0x37, 0xe7, 0xc8, + 0xe0, 0x52, 0xac, 0x23, 0x03, 0x21, 0x41, 0xfc, 0xe3, 0x83, 0xbb, 0xbb, 0x4f, 0xaa, 0x83, 0x59, + 0x22, 0x1f, 0x25, 0xfc, 0x3f, 0x18, 0xf1, 0x67, 0x40, 0xde, 0xd9, 0xce, 0x46, 0xef, 0x66, 0x86, + 0xa5, 0xe6, 0x59, 0x69, 0x17, 0x6d, 0x4f, 0x98, 0x97, 0xad, 0x99, 0x2c, 0x8c, 0x96, 0xc5, 0x3f, + 0x7a, 0x8a, 0xda, 0x8c, 0x48, 0xe1, 0xd6, 0xfc, 0xc6, 0xa7, 0xa7, 0x0f, 0x64, 0xee, 0x83, 0xa1, + 0xe0, 0xdf, 0x35, 0x49, 0xc0, 0x01, 0x0e, 0xcc, 0x26, 0x5f, 0xc4, 0xdc, 0xbf, 0xab, 0xc0, 0xe1, + 0x20, 0xfb, 0x23, 0x75, 0x77, 0x67, 0xc9, 0xc2, 0x3d, 0xfd, 0x03, 0x90, 0x42, 0xcc, 0x71, 0xec, + 0x67, 0x70, 0xd8, 0x7b, 0x64, 0x28, 0xfb, 0x1c, 0xf9, 0xd7, 0xf0, 0x20, 0xd2, 0x2e, 0x08, 0x7f, + 0xec, 0xc2, 0xe4, 0x5d, 0xd0, 0x47, 0xe5, 0x8b, 0x7a, 0x0d, 0x4b, 0x7a, 0x7d, 0x2e, 0x44, 0x2f, + 0x12, 0x47, 0xfa, 0x55, 0x41, 0xaf, 0xc0, 0xeb, 0x6a, 0x28, 0xfb, 0x1c, 0x0f, 0xbe, 0x7c, 0x0a, + 0xf7, 0x7f, 0x24, 0xa2, 0xa2, 0x95, 0x9c, 0x81, 0x54, 0x49, 0xe6, 0x09, 0xd7, 0xb3, 0x08, 0xc9, + 0xb2, 0x5d, 0x23, 0x3f, 0xd0, 0x43, 0x7e, 0xea, 0x9a, 0x19, 0x99, 0xfd, 0xee, 0xf5, 0x49, 0x48, + 0x15, 0x76, 0xea, 0x8d, 0x5a, 0x1b, 0x59, 0xec, 0xcc, 0x9e, 0x6d, 0xa1, 0x63, 0x8c, 0xe1, 0xd1, + 0x32, 0x05, 0x18, 0x2b, 0xdb, 0x56, 0x7e, 0xd7, 0x0d, 0xd6, 0x8d, 0x39, 0x29, 0x45, 0xd8, 0x99, + 0x0f, 0xf9, 0x3b, 0x10, 0xcc, 0x90, 0xef, 0xfb, 0xde, 0x4b, 0xd3, 0xca, 0xba, 0xb7, 0x7f, 0xbe, + 0x0c, 0x47, 0x58, 0xfa, 0x74, 0x89, 0x5a, 0x88, 0x12, 0x35, 0xc0, 0xce, 0xa9, 0x03, 0xe2, 0x96, + 0xb0, 0x38, 0x2b, 0x54, 0xdc, 0x1b, 0xd3, 0x0c, 0x37, 0x45, 0x7b, 0x6a, 0xa6, 0xee, 0x4b, 0xb3, + 0x50, 0x71, 0x73, 0x51, 0xe2, 0x24, 0xcd, 0xee, 0x84, 0x01, 0x8f, 0x16, 0x88, 0x86, 0x60, 0xa6, + 0x2c, 0xcc, 0x66, 0x60, 0x30, 0x90, 0xb0, 0x7a, 0x1f, 0x28, 0x39, 0xed, 0x00, 0xfe, 0x2f, 0xaf, + 0x29, 0xf8, 0xbf, 0x82, 0x96, 0x98, 0xbd, 0x0b, 0x46, 0xa5, 0xfd, 0x4b, 0x4c, 0x29, 0x6a, 0x80, + 0xff, 0x2b, 0x69, 0x83, 0x93, 0xc9, 0x0f, 0x7d, 0x76, 0xea, 0xc0, 0xec, 0x25, 0xd0, 0xbb, 0x77, + 0x3a, 0xf5, 0x7e, 0x48, 0xe4, 0xb0, 0xc8, 0x23, 0x90, 0xc8, 0xe7, 0x35, 0x65, 0x72, 0xf4, 0x97, + 0x3f, 0x79, 0x6c, 0x30, 0x4f, 0xfe, 0x68, 0xfb, 0x3a, 0x72, 0xf3, 0x79, 0x06, 0x7e, 0x10, 0x0e, + 0x87, 0xee, 0x94, 0x62, 0x7c, 0xa1, 0x40, 0xf1, 0xc5, 0x62, 0x17, 0xbe, 0x58, 0x24, 0x78, 0x25, + 0xcb, 0x4f, 0x9c, 0x73, 0x7a, 0xc8, 0x2e, 0x63, 0xba, 0x16, 0x38, 0xe1, 0xce, 0x65, 0x1f, 0x64, + 0xbc, 0xf9, 0x50, 0x5e, 0x14, 0x71, 0x62, 0x9d, 0xcf, 0x16, 0x18, 0xbe, 0x10, 0x8a, 0xdf, 0x92, + 0x8e, 0x55, 0xc5, 0x15, 0x82, 0x09, 0x29, 0x78, 0x0a, 0x17, 0x43, 0x85, 0xec, 0x04, 0x2e, 0xbb, + 0x17, 0x3d, 0x85, 0x4b, 0xa1, 0xbc, 0xf5, 0x88, 0x4b, 0x5f, 0xa5, 0xec, 0x29, 0xb6, 0xc8, 0xe7, + 0x4e, 0xeb, 0x87, 0x79, 0x8e, 0x0a, 0x15, 0x98, 0x19, 0x88, 0x73, 0x65, 0x0b, 0x0c, 0x90, 0xef, + 0x09, 0xe8, 0x6d, 0x25, 0x8e, 0xcc, 0x3e, 0xcc, 0x84, 0x14, 0x7a, 0x0a, 0x89, 0x30, 0x15, 0x87, + 0xe7, 0xd7, 0x6f, 0xbc, 0x3c, 0x75, 0xe0, 0xc5, 0x97, 0xa7, 0x0e, 0xfc, 0xc3, 0xcb, 0x53, 0x07, + 0xbe, 0xff, 0xf2, 0x94, 0xf2, 0xc3, 0x97, 0xa7, 0x94, 0x1f, 0xbd, 0x3c, 0xa5, 0xfc, 0xe4, 0xe5, + 0x29, 0xe5, 0x99, 0x9b, 0x53, 0xca, 0xf3, 0x37, 0xa7, 0x94, 0x2f, 0xdf, 0x9c, 0x52, 0xbe, 0x7e, + 0x73, 0x4a, 0x79, 0xe1, 0xe6, 0x94, 0x72, 0xe3, 0xe6, 0x94, 0xf2, 0xe2, 0xcd, 0x29, 0xe5, 0xfb, + 0x37, 0xa7, 0x94, 0x1f, 0xde, 0x9c, 0x3a, 0xf0, 0xa3, 0x9b, 0x53, 0xca, 0x4f, 0x6e, 0x4e, 0x1d, + 0x78, 0xe6, 0x95, 0xa9, 0x03, 0xcf, 0xbd, 0x32, 0x75, 0xe0, 0xf9, 0x57, 0xa6, 0x94, 0xff, 0x09, + 0x00, 0x00, 0xff, 0xff, 0xb3, 0x44, 0x1b, 0x6f, 0x3e, 0x69, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -45836,202 +46056,3 @@ var ( ErrInvalidLengthThetest = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowThetest = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/both/thetest.proto", fileDescriptor_thetest_3e4f682cb8349b83) } - -var fileDescriptor_thetest_3e4f682cb8349b83 = []byte{ - // 3081 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, - 0x15, 0xd6, 0xec, 0x50, 0x0a, 0xf5, 0x24, 0x4b, 0xf4, 0x26, 0x56, 0xb6, 0x8c, 0xba, 0xa2, 0x37, - 0xb2, 0xca, 0x10, 0xb1, 0x44, 0x51, 0x94, 0x2c, 0x33, 0x4d, 0x0a, 0xf1, 0xc7, 0x8d, 0xdc, 0x88, - 0x32, 0x18, 0xb9, 0xad, 0x81, 0x02, 0x05, 0x25, 0xae, 0x45, 0xa2, 0xd2, 0x52, 0x20, 0x57, 0x69, - 0xdc, 0x43, 0x11, 0xe4, 0x50, 0x04, 0xbd, 0x16, 0x3d, 0xb6, 0x71, 0x51, 0x14, 0x48, 0x6f, 0x39, - 0x14, 0x45, 0x51, 0x14, 0x8d, 0x2f, 0x05, 0xd4, 0x9b, 0xd1, 0x53, 0x11, 0x14, 0x42, 0xc4, 0x5c, - 0x72, 0x0c, 0x7a, 0x69, 0x0e, 0x39, 0x14, 0xbb, 0x3b, 0x3b, 0x3b, 0x33, 0xdc, 0xe5, 0x2e, 0x2d, - 0xb9, 0xcd, 0xc5, 0x16, 0xe7, 0xbd, 0x37, 0xf3, 0xf6, 0x7d, 0xdf, 0x7b, 0xfb, 0x76, 0x66, 0xe0, - 0x6b, 0x7b, 0xed, 0xc3, 0xdd, 0x76, 0x77, 0x69, 0xb7, 0x6d, 0x36, 0x97, 0xcc, 0xa6, 0x6e, 0xea, - 0x5d, 0x73, 0xf1, 0xa8, 0xd3, 0x36, 0xdb, 0x72, 0xcc, 0xfa, 0x3b, 0x79, 0x7d, 0xbf, 0x65, 0x36, - 0x8f, 0x77, 0x17, 0xf7, 0xda, 0x87, 0x4b, 0xfb, 0xed, 0xfd, 0xf6, 0x92, 0x2d, 0xdc, 0x3d, 0xbe, - 0x6f, 0xff, 0xb2, 0x7f, 0xd8, 0x7f, 0x39, 0x46, 0xda, 0xbf, 0x30, 0x4c, 0x56, 0x5b, 0x8d, 0xed, - 0x23, 0xb3, 0x5a, 0x37, 0x5b, 0x6f, 0xe9, 0xf2, 0x2c, 0x8c, 0xdd, 0x6a, 0xe9, 0x07, 0x8d, 0x65, - 0x05, 0xa5, 0x50, 0x1a, 0x15, 0x63, 0x27, 0xa7, 0x73, 0x23, 0x35, 0x32, 0x46, 0xa5, 0x39, 0x45, - 0x4a, 0xa1, 0xb4, 0xc4, 0x49, 0x73, 0x54, 0xba, 0xa2, 0xe0, 0x14, 0x4a, 0x8f, 0x72, 0xd2, 0x15, - 0x2a, 0xcd, 0x2b, 0xb1, 0x14, 0x4a, 0x63, 0x4e, 0x9a, 0xa7, 0xd2, 0x55, 0x65, 0x34, 0x85, 0xd2, - 0x97, 0x38, 0xe9, 0x2a, 0x95, 0xae, 0x29, 0x63, 0x29, 0x94, 0x8e, 0x71, 0xd2, 0x35, 0x2a, 0xbd, - 0xa1, 0x3c, 0x93, 0x42, 0xe9, 0xcb, 0x9c, 0xf4, 0x06, 0x95, 0xae, 0x2b, 0xf1, 0x14, 0x4a, 0xcb, - 0x9c, 0x74, 0x9d, 0x4a, 0x6f, 0x2a, 0xe3, 0x29, 0x94, 0x7e, 0x86, 0x93, 0xde, 0x94, 0x55, 0x78, - 0xc6, 0x79, 0xf2, 0xac, 0x02, 0x29, 0x94, 0x9e, 0x26, 0x62, 0x77, 0xd0, 0x93, 0x2f, 0x2b, 0x13, - 0x29, 0x94, 0x1e, 0xe3, 0xe5, 0xcb, 0x9e, 0x3c, 0xa7, 0x4c, 0xa6, 0x50, 0x3a, 0xc1, 0xcb, 0x73, - 0x9e, 0x7c, 0x45, 0xb9, 0x94, 0x42, 0xe9, 0x38, 0x2f, 0x5f, 0xf1, 0xe4, 0x79, 0x65, 0x2a, 0x85, - 0xd2, 0xe3, 0xbc, 0x3c, 0xef, 0xc9, 0x57, 0x95, 0xe9, 0x14, 0x4a, 0x4f, 0xf2, 0xf2, 0x55, 0xed, - 0x5d, 0x1b, 0x5e, 0xc3, 0x83, 0x77, 0x86, 0x87, 0x97, 0x02, 0x3b, 0xc3, 0x03, 0x4b, 0x21, 0x9d, - 0xe1, 0x21, 0xa5, 0x60, 0xce, 0xf0, 0x60, 0x52, 0x18, 0x67, 0x78, 0x18, 0x29, 0x80, 0x33, 0x3c, - 0x80, 0x14, 0xba, 0x19, 0x1e, 0x3a, 0x0a, 0xda, 0x0c, 0x0f, 0x1a, 0x85, 0x6b, 0x86, 0x87, 0x8b, - 0x02, 0xa5, 0x08, 0x40, 0x79, 0x10, 0x29, 0x02, 0x44, 0x1e, 0x38, 0x8a, 0x00, 0x8e, 0x07, 0x8b, - 0x22, 0xc0, 0xe2, 0x01, 0xa2, 0x08, 0x80, 0x78, 0x50, 0x28, 0x02, 0x14, 0x1e, 0x08, 0x24, 0xc7, - 0x6a, 0xfa, 0x91, 0x4f, 0x8e, 0xe1, 0x81, 0x39, 0x86, 0x07, 0xe6, 0x18, 0x1e, 0x98, 0x63, 0x78, - 0x60, 0x8e, 0xe1, 0x81, 0x39, 0x86, 0x07, 0xe6, 0x18, 0x1e, 0x98, 0x63, 0x78, 0x60, 0x8e, 0xe1, - 0xc1, 0x39, 0x86, 0x43, 0x72, 0x0c, 0x87, 0xe4, 0x18, 0x0e, 0xc9, 0x31, 0x1c, 0x92, 0x63, 0x38, - 0x24, 0xc7, 0x70, 0x60, 0x8e, 0x79, 0xf0, 0xce, 0xf0, 0xf0, 0xfa, 0xe6, 0x18, 0x0e, 0xc8, 0x31, - 0x1c, 0x90, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, 0xc3, 0x01, 0x39, 0x86, - 0x03, 0x72, 0x0c, 0x07, 0xe5, 0x18, 0x0e, 0xcc, 0x31, 0x1c, 0x98, 0x63, 0x38, 0x30, 0xc7, 0x70, - 0x60, 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x6c, 0x8e, 0xfd, 0x05, 0x83, 0xec, 0xe4, 0xd8, 0x9d, 0xfa, - 0xde, 0x8f, 0xf4, 0x06, 0x81, 0x42, 0x15, 0x32, 0x6d, 0xcc, 0x82, 0x2e, 0xe1, 0x41, 0xa2, 0x0a, - 0xb9, 0xc6, 0xcb, 0x73, 0x54, 0xee, 0x66, 0x1b, 0x2f, 0x5f, 0xa1, 0x72, 0x37, 0xdf, 0x78, 0x79, - 0x9e, 0xca, 0xdd, 0x8c, 0xe3, 0xe5, 0xab, 0x54, 0xee, 0xe6, 0x1c, 0x2f, 0x5f, 0xa3, 0x72, 0x37, - 0xeb, 0x78, 0xf9, 0x0d, 0x2a, 0x77, 0xf3, 0x8e, 0x97, 0xaf, 0x53, 0xb9, 0x9b, 0x79, 0xbc, 0xfc, - 0xa6, 0x9c, 0x12, 0x73, 0xcf, 0x55, 0xa0, 0xd0, 0xa6, 0xc4, 0xec, 0x13, 0x34, 0x96, 0x3d, 0x0d, - 0x37, 0xff, 0x04, 0x8d, 0x9c, 0xa7, 0xe1, 0x66, 0xa0, 0xa0, 0xb1, 0xa2, 0xbd, 0x67, 0xc3, 0x67, - 0x88, 0xf0, 0x25, 0x05, 0xf8, 0x24, 0x06, 0xba, 0xa4, 0x00, 0x9d, 0xc4, 0xc0, 0x96, 0x14, 0x60, - 0x93, 0x18, 0xc8, 0x92, 0x02, 0x64, 0x12, 0x03, 0x57, 0x52, 0x80, 0x4b, 0x62, 0xa0, 0x4a, 0x0a, - 0x50, 0x49, 0x0c, 0x4c, 0x49, 0x01, 0x26, 0x89, 0x81, 0x28, 0x29, 0x40, 0x24, 0x31, 0xf0, 0x24, - 0x05, 0x78, 0x24, 0x06, 0x9a, 0x59, 0x11, 0x1a, 0x89, 0x85, 0x65, 0x56, 0x84, 0x45, 0x62, 0x21, - 0x99, 0x15, 0x21, 0x91, 0x58, 0x38, 0x66, 0x45, 0x38, 0x24, 0x16, 0x8a, 0x2f, 0x25, 0xb7, 0x23, - 0x7c, 0xd3, 0xec, 0x1c, 0xef, 0x99, 0xe7, 0xea, 0x08, 0xb3, 0x5c, 0xfb, 0x30, 0x91, 0x93, 0x17, - 0xed, 0x86, 0x95, 0xed, 0x38, 0x85, 0x37, 0x58, 0x96, 0x6b, 0x2c, 0x18, 0x0b, 0xc3, 0xdf, 0x22, - 0x7f, 0xae, 0xde, 0x30, 0xcb, 0xb5, 0x19, 0xe1, 0xfe, 0xad, 0x3f, 0xf5, 0x8e, 0xed, 0x91, 0xe4, - 0x76, 0x6c, 0x24, 0xfc, 0xc3, 0x76, 0x6c, 0x99, 0xf0, 0x90, 0xd3, 0x60, 0x67, 0xc2, 0x83, 0xdd, - 0xf7, 0xd6, 0x89, 0xda, 0xc1, 0x65, 0xc2, 0x43, 0x4b, 0x83, 0x7a, 0xb1, 0xfd, 0x16, 0x61, 0x70, - 0x4d, 0x3f, 0xf2, 0x61, 0xf0, 0xb0, 0xfd, 0x56, 0x96, 0x2b, 0x25, 0xc3, 0x32, 0x18, 0x0f, 0xcd, - 0xe0, 0x61, 0x3b, 0xaf, 0x2c, 0x57, 0x5e, 0x86, 0x66, 0xf0, 0x53, 0xe8, 0x87, 0x08, 0x83, 0xbd, - 0xf0, 0x0f, 0xdb, 0x0f, 0x65, 0xc2, 0x43, 0xee, 0xcb, 0x60, 0x3c, 0x04, 0x83, 0xa3, 0xf4, 0x47, - 0x99, 0xf0, 0xd0, 0xfa, 0x33, 0xf8, 0xdc, 0xdd, 0xcc, 0xfb, 0x08, 0x2e, 0x57, 0x5b, 0x8d, 0xca, - 0xe1, 0xae, 0xde, 0x68, 0xe8, 0x0d, 0x12, 0xc7, 0x2c, 0x57, 0x09, 0x02, 0xa0, 0x7e, 0x7c, 0x3a, - 0xe7, 0x45, 0x78, 0x15, 0xe2, 0x4e, 0x4c, 0xb3, 0x59, 0xe5, 0x04, 0x85, 0x54, 0x38, 0xaa, 0x2a, - 0x5f, 0x75, 0xcd, 0x96, 0xb3, 0xca, 0x3f, 0x10, 0x53, 0xe5, 0xe8, 0xb0, 0xf6, 0x0b, 0xdb, 0x43, - 0xe3, 0xdc, 0x1e, 0x2e, 0x45, 0xf2, 0x90, 0xf1, 0xed, 0x85, 0x3e, 0xdf, 0x18, 0xaf, 0x8e, 0x61, - 0xba, 0xda, 0x6a, 0x54, 0xf5, 0xae, 0x19, 0xcd, 0x25, 0x47, 0x47, 0xa8, 0x07, 0x59, 0x8e, 0x96, - 0xac, 0x05, 0xa5, 0x34, 0x5f, 0x23, 0xb4, 0x96, 0xb5, 0xac, 0xc1, 0x2d, 0x9b, 0x09, 0x5a, 0xd6, - 0xab, 0xec, 0x74, 0xc1, 0x4c, 0xd0, 0x82, 0x5e, 0x0e, 0xd1, 0xa5, 0xde, 0x76, 0x5f, 0xce, 0xa5, - 0xe3, 0xae, 0xd9, 0x3e, 0x94, 0x67, 0x41, 0xda, 0x6c, 0xd8, 0x6b, 0x4c, 0x16, 0x27, 0x2d, 0xa7, - 0x3e, 0x3e, 0x9d, 0x8b, 0xdd, 0x3d, 0x6e, 0x35, 0x6a, 0xd2, 0x66, 0x43, 0xbe, 0x0d, 0xa3, 0xdf, - 0xad, 0x1f, 0x1c, 0xeb, 0xf6, 0x2b, 0x62, 0xb2, 0x98, 0x27, 0x0a, 0x2f, 0x07, 0xee, 0x11, 0x59, - 0x0b, 0x2f, 0xed, 0xd9, 0x53, 0x2f, 0xde, 0x6d, 0x19, 0xe6, 0x72, 0x6e, 0xbd, 0xe6, 0x4c, 0xa1, - 0xfd, 0x00, 0xc0, 0x59, 0xb3, 0x5c, 0xef, 0x36, 0xe5, 0xaa, 0x3b, 0xb3, 0xb3, 0xf4, 0xfa, 0xc7, - 0xa7, 0x73, 0xf9, 0x28, 0xb3, 0x5e, 0x6f, 0xd4, 0xbb, 0xcd, 0xeb, 0xe6, 0x83, 0x23, 0x7d, 0xb1, - 0xf8, 0xc0, 0xd4, 0xbb, 0xee, 0xec, 0x47, 0xee, 0x5b, 0x8f, 0x3c, 0x97, 0xc2, 0x3c, 0x57, 0x9c, - 0x7b, 0xa6, 0x5b, 0xfc, 0x33, 0x65, 0x9f, 0xf4, 0x79, 0xde, 0x76, 0x5f, 0x12, 0x42, 0x24, 0x71, - 0x58, 0x24, 0xf1, 0x79, 0x23, 0x79, 0xe4, 0xd6, 0x47, 0xe1, 0x59, 0xf1, 0xa0, 0x67, 0xc5, 0xe7, - 0x79, 0xd6, 0xff, 0x38, 0xd9, 0x4a, 0xf3, 0xe9, 0xae, 0xd1, 0x6a, 0x1b, 0x5f, 0xb9, 0xbd, 0xa0, - 0x0b, 0xed, 0x02, 0x0a, 0xb1, 0x93, 0x87, 0x73, 0x48, 0x7b, 0x5f, 0x72, 0x9f, 0xdc, 0x49, 0xa4, - 0x27, 0x7b, 0xf2, 0xaf, 0x4a, 0x4f, 0xf5, 0x34, 0x22, 0xf4, 0x6b, 0x04, 0x33, 0x7d, 0x95, 0xdc, - 0x09, 0xd3, 0xc5, 0x96, 0x73, 0x63, 0xd8, 0x72, 0x4e, 0x1c, 0xfc, 0x03, 0x82, 0xe7, 0x84, 0xf2, - 0xea, 0xb8, 0xb7, 0x24, 0xb8, 0xf7, 0x7c, 0xff, 0x4a, 0xb6, 0x22, 0xe3, 0x1d, 0x0b, 0xaf, 0x60, - 0xc0, 0xcc, 0x4c, 0x71, 0xcf, 0x0b, 0xb8, 0xcf, 0x52, 0x03, 0x9f, 0x70, 0xb9, 0x0c, 0x20, 0x6e, - 0xb7, 0x21, 0xb6, 0xd3, 0xd1, 0x75, 0x59, 0x05, 0x69, 0xbb, 0x43, 0x3c, 0x9c, 0x72, 0xec, 0xb7, - 0x3b, 0xc5, 0x4e, 0xdd, 0xd8, 0x6b, 0xd6, 0xa4, 0xed, 0x8e, 0x7c, 0x15, 0xf0, 0x86, 0xd1, 0x20, - 0x1e, 0x4d, 0x3b, 0x0a, 0x1b, 0x46, 0x83, 0x68, 0x58, 0x32, 0x59, 0x85, 0xd8, 0x1b, 0x7a, 0xfd, - 0x3e, 0x71, 0x02, 0x1c, 0x1d, 0x6b, 0xa4, 0x66, 0x8f, 0x93, 0x05, 0xbf, 0x0f, 0x71, 0x77, 0x62, - 0x79, 0xde, 0xb2, 0xb8, 0x6f, 0x92, 0x65, 0x89, 0x85, 0xe5, 0x0e, 0x79, 0x73, 0xd9, 0x52, 0x79, - 0x01, 0x46, 0x6b, 0xad, 0xfd, 0xa6, 0x49, 0x16, 0xef, 0x57, 0x73, 0xc4, 0xda, 0x3d, 0x18, 0xa7, - 0x1e, 0x5d, 0xf0, 0xd4, 0x65, 0xe7, 0xd1, 0xe4, 0x24, 0xfb, 0x3e, 0x71, 0xf7, 0x2d, 0x9d, 0x21, - 0x39, 0x05, 0xf1, 0x37, 0xcd, 0x8e, 0x57, 0xf4, 0xdd, 0x8e, 0x94, 0x8e, 0x6a, 0xef, 0x22, 0x88, - 0x97, 0x75, 0xfd, 0xc8, 0x0e, 0xf8, 0x35, 0x88, 0x95, 0xdb, 0x3f, 0x36, 0x88, 0x83, 0x97, 0x49, - 0x44, 0x2d, 0x31, 0x89, 0xa9, 0x2d, 0x96, 0xaf, 0xb1, 0x71, 0x7f, 0x96, 0xc6, 0x9d, 0xd1, 0xb3, - 0x63, 0xaf, 0x71, 0xb1, 0x27, 0x00, 0x5a, 0x4a, 0x7d, 0xf1, 0xbf, 0x01, 0x13, 0xcc, 0x2a, 0x72, - 0x9a, 0xb8, 0x21, 0x89, 0x86, 0x6c, 0xac, 0x2c, 0x0d, 0x4d, 0x87, 0x4b, 0xdc, 0xc2, 0x96, 0x29, - 0x13, 0xe2, 0x00, 0x53, 0x3b, 0xcc, 0x19, 0x3e, 0xcc, 0xfe, 0xaa, 0x24, 0xd4, 0x59, 0x27, 0x46, - 0x76, 0xb8, 0xe7, 0x1d, 0x72, 0x06, 0x83, 0x68, 0xfd, 0xad, 0x8d, 0x02, 0xae, 0xb6, 0x0e, 0xb4, - 0x57, 0x01, 0x9c, 0x94, 0xaf, 0x18, 0xc7, 0x87, 0x42, 0xd6, 0x4d, 0xb9, 0x01, 0xde, 0x69, 0xea, - 0x3b, 0x7a, 0xd7, 0x56, 0xe1, 0xfb, 0x29, 0xab, 0xc0, 0x80, 0x93, 0x62, 0xb6, 0xfd, 0x4b, 0xa1, - 0xf6, 0xbe, 0x9d, 0x98, 0xa5, 0xaa, 0x38, 0xaa, 0xf7, 0x74, 0x73, 0xc3, 0x68, 0x9b, 0x4d, 0xbd, - 0x23, 0x58, 0xe4, 0xe4, 0x15, 0x2e, 0x61, 0xa7, 0x72, 0x2f, 0x50, 0x8b, 0x40, 0xa3, 0x15, 0xed, - 0x43, 0xdb, 0x41, 0xab, 0x15, 0xe8, 0x7b, 0x40, 0x1c, 0xe1, 0x01, 0xe5, 0x35, 0xae, 0x7f, 0x1b, - 0xe0, 0xa6, 0xf0, 0x69, 0x79, 0x93, 0xfb, 0xce, 0x19, 0xec, 0x2c, 0xff, 0x8d, 0xe9, 0xc6, 0xd4, - 0x75, 0xf9, 0xa5, 0x50, 0x97, 0x03, 0xba, 0xdb, 0x61, 0x63, 0x8a, 0xa3, 0xc6, 0xf4, 0xcf, 0xb4, - 0xe3, 0xb0, 0x86, 0xcb, 0xfa, 0xfd, 0xfa, 0xf1, 0x81, 0x29, 0xbf, 0x1c, 0x8a, 0x7d, 0x01, 0x95, - 0xa8, 0xab, 0xf9, 0xa8, 0xf0, 0x17, 0xa4, 0x62, 0x91, 0xba, 0x7b, 0x63, 0x08, 0x0a, 0x14, 0xa4, - 0x52, 0x89, 0x96, 0xed, 0xf8, 0x7b, 0x0f, 0xe7, 0xd0, 0x07, 0x0f, 0xe7, 0x46, 0xb4, 0xdf, 0x23, - 0xb8, 0x4c, 0x34, 0x19, 0xe2, 0x5e, 0x17, 0x9c, 0xbf, 0xe2, 0xd6, 0x0c, 0xbf, 0x08, 0xfc, 0xcf, - 0xc8, 0xfb, 0x37, 0x04, 0x4a, 0x9f, 0xaf, 0x6e, 0xbc, 0xb3, 0x91, 0x5c, 0x2e, 0xa0, 0xca, 0xff, - 0x3f, 0xe6, 0xf7, 0x60, 0x74, 0xa7, 0x75, 0xa8, 0x77, 0xac, 0x37, 0x81, 0xf5, 0x87, 0xe3, 0xb2, - 0x7b, 0x98, 0xe3, 0x0c, 0xb9, 0x32, 0xc7, 0x39, 0x4e, 0x96, 0x93, 0x15, 0x88, 0x95, 0xeb, 0x66, - 0xdd, 0xf6, 0x60, 0x92, 0xd6, 0xd7, 0xba, 0x59, 0xd7, 0x56, 0x60, 0x72, 0xeb, 0x41, 0xe5, 0x6d, - 0x53, 0x37, 0x1a, 0xf5, 0xdd, 0x03, 0xf1, 0x0c, 0xd4, 0xed, 0x57, 0x97, 0x33, 0xa3, 0xf1, 0x46, - 0xe2, 0x04, 0x15, 0x62, 0xb6, 0x3f, 0x6f, 0xc1, 0xd4, 0xb6, 0xe5, 0xb6, 0x6d, 0x67, 0x9b, 0xa5, - 0x00, 0x6d, 0xf1, 0x8d, 0x10, 0x3b, 0x6b, 0x0d, 0x6d, 0x09, 0xed, 0x23, 0xa6, 0xe1, 0x11, 0xda, - 0x36, 0x4c, 0xdb, 0xb6, 0x4c, 0x2c, 0x3e, 0x95, 0xb8, 0x9c, 0x89, 0xc5, 0x21, 0x71, 0x89, 0xac, - 0xfb, 0x77, 0x0c, 0x09, 0xa7, 0xd5, 0x29, 0xeb, 0xf7, 0x5b, 0x46, 0xcb, 0xec, 0xef, 0x57, 0xa9, - 0xc7, 0xf2, 0xb7, 0x60, 0xdc, 0x0a, 0xa9, 0xfd, 0x8b, 0x00, 0x76, 0x95, 0xb4, 0x28, 0xc2, 0x14, - 0x64, 0xc0, 0xa6, 0x8e, 0x67, 0x23, 0xdf, 0x02, 0x5c, 0xad, 0x6e, 0x91, 0x97, 0x5b, 0x7e, 0xa0, - 0xe9, 0x96, 0xde, 0xed, 0xd6, 0xf7, 0x75, 0xf2, 0x8b, 0x8c, 0x75, 0xf7, 0x6b, 0xd6, 0x04, 0x72, - 0x1e, 0xa4, 0xea, 0x16, 0x69, 0x78, 0xe7, 0xa3, 0x4c, 0x53, 0x93, 0xaa, 0x5b, 0xc9, 0xbf, 0x22, - 0xb8, 0xc4, 0x8d, 0xca, 0x1a, 0x4c, 0x3a, 0x03, 0xcc, 0xe3, 0x8e, 0xd5, 0xb8, 0x31, 0xd7, 0x67, - 0xe9, 0x9c, 0x3e, 0x27, 0x37, 0x60, 0x5a, 0x18, 0x97, 0x17, 0x41, 0x66, 0x87, 0x88, 0x13, 0x60, - 0x37, 0xd4, 0x3e, 0x12, 0xed, 0xeb, 0x00, 0x5e, 0x5c, 0xe5, 0x69, 0x98, 0xd8, 0xb9, 0x77, 0xa7, - 0xf2, 0xc3, 0x6a, 0xe5, 0xcd, 0x9d, 0x4a, 0x39, 0x81, 0xb4, 0x3f, 0x22, 0x98, 0x20, 0x6d, 0xeb, - 0x5e, 0xfb, 0x48, 0x97, 0x8b, 0x80, 0x36, 0x08, 0x83, 0x9e, 0xcc, 0x6f, 0xb4, 0x21, 0x2f, 0x01, - 0x2a, 0x46, 0x87, 0x1a, 0x15, 0xe5, 0x1c, 0xa0, 0x12, 0x01, 0x38, 0x1a, 0x32, 0xa8, 0xa4, 0xfd, - 0x1b, 0xc3, 0xb3, 0x6c, 0x1b, 0xed, 0xd6, 0x93, 0xab, 0xfc, 0x77, 0x53, 0x61, 0x7c, 0x39, 0xb7, - 0x92, 0x5f, 0xb4, 0xfe, 0xa1, 0x94, 0xd4, 0xf8, 0x4f, 0xa8, 0x02, 0x50, 0x95, 0xe5, 0xa0, 0x7b, - 0x22, 0x85, 0x18, 0x33, 0x43, 0xdf, 0x3d, 0x11, 0x4e, 0xda, 0x77, 0x4f, 0x84, 0x93, 0xf6, 0xdd, - 0x13, 0xe1, 0xa4, 0x7d, 0x67, 0x01, 0x9c, 0xb4, 0xef, 0x9e, 0x08, 0x27, 0xed, 0xbb, 0x27, 0xc2, - 0x49, 0xfb, 0xef, 0x89, 0x10, 0x71, 0xe0, 0x3d, 0x11, 0x5e, 0xde, 0x7f, 0x4f, 0x84, 0x97, 0xf7, - 0xdf, 0x13, 0x29, 0xc4, 0xcc, 0xce, 0xb1, 0x1e, 0x7c, 0xea, 0xc0, 0xdb, 0x0f, 0xfa, 0x08, 0xf4, - 0x2a, 0xf0, 0x36, 0x4c, 0x3b, 0x1b, 0x12, 0xa5, 0xb6, 0x61, 0xd6, 0x5b, 0x86, 0xde, 0x91, 0xbf, - 0x09, 0x93, 0xce, 0x90, 0xf3, 0x99, 0xe3, 0xf7, 0x19, 0xe8, 0xc8, 0x49, 0xbd, 0xe5, 0xb4, 0xb5, - 0x2f, 0x63, 0x30, 0xe3, 0x0c, 0x54, 0xeb, 0x87, 0x3a, 0x77, 0xcb, 0x68, 0x41, 0x38, 0x53, 0x9a, - 0xb2, 0xcc, 0x7b, 0xa7, 0x73, 0xce, 0xe8, 0x06, 0x65, 0xd3, 0x82, 0x70, 0xba, 0xc4, 0xeb, 0x79, - 0x2f, 0xa0, 0x05, 0xe1, 0xe6, 0x11, 0xaf, 0x47, 0xdf, 0x37, 0x54, 0xcf, 0xbd, 0x83, 0xc4, 0xeb, - 0x95, 0x29, 0xcb, 0x16, 0x84, 0xdb, 0x48, 0xbc, 0x5e, 0x85, 0xf2, 0x6d, 0x41, 0x38, 0x7b, 0xe2, - 0xf5, 0x6e, 0x51, 0xe6, 0x2d, 0x08, 0xa7, 0x50, 0xbc, 0xde, 0xb7, 0x29, 0x07, 0x17, 0x84, 0xbb, - 0x4a, 0xbc, 0xde, 0xeb, 0x94, 0x8d, 0x0b, 0xc2, 0xad, 0x25, 0x5e, 0x6f, 0x93, 0xf2, 0x32, 0x2d, - 0xde, 0x5f, 0xe2, 0x15, 0x6f, 0x7b, 0x0c, 0x4d, 0x8b, 0x37, 0x99, 0x78, 0xcd, 0xef, 0x78, 0x5c, - 0x4d, 0x8b, 0x77, 0x9a, 0x78, 0xcd, 0x37, 0x3c, 0xd6, 0xa6, 0xc5, 0xb3, 0x32, 0x5e, 0x73, 0xcb, - 0xe3, 0x6f, 0x5a, 0x3c, 0x35, 0xe3, 0x35, 0xab, 0x1e, 0x93, 0xd3, 0xe2, 0xf9, 0x19, 0xaf, 0xb9, - 0xed, 0x6d, 0xa2, 0x7f, 0x24, 0xd0, 0x8f, 0xb9, 0x05, 0xa5, 0x09, 0xf4, 0x03, 0x1f, 0xea, 0x09, - 0x85, 0x8c, 0xd1, 0xf1, 0x68, 0xa7, 0x09, 0xb4, 0x03, 0x1f, 0xca, 0x69, 0x02, 0xe5, 0xc0, 0x87, - 0x6e, 0x9a, 0x40, 0x37, 0xf0, 0xa1, 0x9a, 0x26, 0x50, 0x0d, 0x7c, 0x68, 0xa6, 0x09, 0x34, 0x03, - 0x1f, 0x8a, 0x69, 0x02, 0xc5, 0xc0, 0x87, 0x5e, 0x9a, 0x40, 0x2f, 0xf0, 0xa1, 0xd6, 0xbc, 0x48, - 0x2d, 0xf0, 0xa3, 0xd5, 0xbc, 0x48, 0x2b, 0xf0, 0xa3, 0xd4, 0x8b, 0x22, 0xa5, 0xc6, 0x7b, 0xa7, - 0x73, 0xa3, 0xd6, 0x10, 0xc3, 0xa6, 0x79, 0x91, 0x4d, 0xe0, 0xc7, 0xa4, 0x79, 0x91, 0x49, 0xe0, - 0xc7, 0xa2, 0x79, 0x91, 0x45, 0xe0, 0xc7, 0xa0, 0x47, 0x22, 0x83, 0xbc, 0x3b, 0x3e, 0x9a, 0x70, - 0xa4, 0x18, 0xc6, 0x20, 0x1c, 0x81, 0x41, 0x38, 0x02, 0x83, 0x70, 0x04, 0x06, 0xe1, 0x08, 0x0c, - 0xc2, 0x11, 0x18, 0x84, 0x23, 0x30, 0x08, 0x47, 0x60, 0x10, 0x8e, 0xc2, 0x20, 0x1c, 0x89, 0x41, - 0x38, 0x88, 0x41, 0xf3, 0xe2, 0x8d, 0x07, 0xf0, 0x2b, 0x48, 0xf3, 0xe2, 0xd1, 0x67, 0x38, 0x85, - 0x70, 0x24, 0x0a, 0xe1, 0x20, 0x0a, 0x7d, 0x84, 0xe1, 0x59, 0x8e, 0x42, 0xe4, 0x7c, 0xe8, 0xa2, - 0x2a, 0xd0, 0x5a, 0x84, 0x0b, 0x16, 0x7e, 0x9c, 0x5a, 0x8b, 0x70, 0x48, 0x3d, 0x88, 0x67, 0xfd, - 0x55, 0xa8, 0x12, 0xa1, 0x0a, 0xdd, 0xa2, 0x1c, 0x5a, 0x8b, 0x70, 0xf1, 0xa2, 0x9f, 0x7b, 0xeb, - 0x83, 0x8a, 0xc0, 0xeb, 0x91, 0x8a, 0xc0, 0x66, 0xa4, 0x22, 0x70, 0xdb, 0x43, 0xf0, 0x67, 0x12, - 0x3c, 0xe7, 0x21, 0xe8, 0xfc, 0xb5, 0xf3, 0xe0, 0xc8, 0x2a, 0x01, 0xde, 0x11, 0x95, 0xec, 0x1e, - 0xdb, 0x30, 0x30, 0x4a, 0x9b, 0x0d, 0xf9, 0x0e, 0x7f, 0x58, 0x55, 0x18, 0xf6, 0x00, 0x87, 0x41, - 0x9c, 0x6c, 0x86, 0xce, 0x03, 0xde, 0x6c, 0x74, 0xed, 0x6a, 0xe1, 0xb7, 0x6c, 0xa9, 0x66, 0x89, - 0xe5, 0x1a, 0x8c, 0xd9, 0xea, 0x5d, 0x1b, 0xde, 0xf3, 0x2c, 0x5c, 0xae, 0x91, 0x99, 0xb4, 0x47, - 0x08, 0x52, 0x1c, 0x95, 0x2f, 0xe6, 0xc8, 0xe0, 0x95, 0x48, 0x47, 0x06, 0x5c, 0x82, 0x78, 0xc7, - 0x07, 0xdf, 0xe8, 0x3f, 0xa9, 0x66, 0xb3, 0x44, 0x3c, 0x4a, 0xf8, 0x29, 0x4c, 0x79, 0x4f, 0x60, - 0x7f, 0xb3, 0xad, 0x86, 0xef, 0x66, 0xfa, 0xa5, 0xe6, 0xaa, 0xb0, 0x8b, 0x36, 0xd0, 0x8c, 0x66, - 0xab, 0x56, 0x80, 0xe9, 0x6a, 0xdb, 0xde, 0x33, 0xe8, 0xb6, 0xda, 0x46, 0x77, 0xab, 0x7e, 0x14, - 0xb6, 0x19, 0x11, 0xb7, 0x5a, 0xf3, 0x93, 0xdf, 0xcc, 0x8d, 0x68, 0x2f, 0xc3, 0xe4, 0x5d, 0xa3, - 0xa3, 0xef, 0xb5, 0xf7, 0x8d, 0xd6, 0x4f, 0xf4, 0x86, 0x60, 0x38, 0xee, 0x1a, 0x16, 0x62, 0x8f, - 0x2d, 0xed, 0x5f, 0x22, 0xb8, 0xc2, 0xaa, 0x7f, 0xaf, 0x65, 0x36, 0x37, 0x0d, 0xab, 0xa7, 0x7f, - 0x15, 0xe2, 0x3a, 0x01, 0xce, 0x7e, 0x77, 0x4d, 0xb8, 0xdf, 0x91, 0xbe, 0xea, 0x8b, 0xf6, 0xbf, - 0x35, 0x6a, 0x22, 0xec, 0x71, 0xb8, 0xcb, 0xe6, 0x92, 0xd7, 0x60, 0xd4, 0x99, 0x9f, 0xf7, 0xeb, - 0x92, 0xe0, 0xd7, 0xef, 0x7c, 0xfc, 0xb2, 0x79, 0x24, 0xdf, 0xe6, 0xfc, 0x62, 0x3e, 0x57, 0x7d, - 0xd5, 0x17, 0x5d, 0xf2, 0x15, 0xe3, 0x56, 0xff, 0x67, 0x33, 0x2a, 0xdc, 0xc9, 0x34, 0xc4, 0x2b, - 0xa2, 0x8e, 0xbf, 0x9f, 0x65, 0x88, 0x55, 0xdb, 0x0d, 0x5d, 0x7e, 0x0e, 0x46, 0xdf, 0xa8, 0xef, - 0xea, 0x07, 0x24, 0xc8, 0xce, 0x0f, 0x79, 0x01, 0xe2, 0xa5, 0x66, 0xeb, 0xa0, 0xd1, 0xd1, 0x0d, - 0x72, 0x66, 0x4f, 0xb6, 0xd0, 0x2d, 0x9b, 0x1a, 0x95, 0x69, 0x25, 0xb8, 0x5c, 0x6d, 0x1b, 0xc5, - 0x07, 0x26, 0x5b, 0x37, 0x16, 0x85, 0x14, 0x21, 0x67, 0x3e, 0x77, 0xac, 0x6c, 0xb4, 0x14, 0x8a, - 0xa3, 0x1f, 0x9f, 0xce, 0xa1, 0x1d, 0xba, 0x7f, 0xbe, 0x05, 0xcf, 0x93, 0xf4, 0xe9, 0x9b, 0x2a, - 0x17, 0x36, 0xd5, 0x38, 0x39, 0xa7, 0x66, 0xa6, 0xdb, 0xb4, 0xa6, 0x33, 0x7c, 0xa7, 0x7b, 0x32, - 0xcf, 0xac, 0xa6, 0x68, 0xa0, 0x67, 0x78, 0x28, 0xcf, 0x7c, 0xa7, 0x5b, 0x0c, 0x9b, 0x4e, 0xf0, - 0xec, 0x45, 0x18, 0xa7, 0x32, 0x86, 0x0d, 0x6c, 0xa6, 0xe4, 0x32, 0x1a, 0x4c, 0x30, 0x09, 0x2b, - 0x8f, 0x02, 0xda, 0x48, 0x8c, 0x58, 0xff, 0x15, 0x13, 0xc8, 0xfa, 0xaf, 0x94, 0x90, 0x32, 0xd7, - 0x60, 0x5a, 0xd8, 0xbf, 0xb4, 0x24, 0xe5, 0x04, 0x58, 0xff, 0x55, 0x12, 0x13, 0xc9, 0xd8, 0x7b, - 0xbf, 0x55, 0x47, 0x32, 0xaf, 0x80, 0xdc, 0xbf, 0xd3, 0x29, 0x8f, 0x81, 0xb4, 0x61, 0x4d, 0xf9, - 0x3c, 0x48, 0xc5, 0x62, 0x02, 0x25, 0xa7, 0x7f, 0xfe, 0xab, 0xd4, 0x44, 0x51, 0x37, 0x4d, 0xbd, - 0x73, 0x4f, 0x37, 0x8b, 0x45, 0x62, 0xfc, 0x1a, 0x5c, 0xf1, 0xdd, 0x29, 0xb5, 0xec, 0x4b, 0x25, - 0xc7, 0xbe, 0x5c, 0xee, 0xb3, 0x2f, 0x97, 0x6d, 0x7b, 0x54, 0x70, 0x4f, 0x9c, 0x37, 0x64, 0x9f, - 0x7d, 0x49, 0xa5, 0xc1, 0x9c, 0x70, 0x6f, 0x14, 0x5e, 0x23, 0xba, 0x45, 0x5f, 0x5d, 0x3d, 0xe4, - 0xc4, 0xba, 0x58, 0x28, 0x11, 0xfb, 0x92, 0xaf, 0xfd, 0x7d, 0xe1, 0x58, 0x95, 0x7f, 0x43, 0x90, - 0x49, 0x4a, 0xd4, 0xe1, 0xb2, 0xef, 0x24, 0x4d, 0xe6, 0xb2, 0x7b, 0x99, 0x3a, 0x5c, 0xf1, 0xd5, - 0x6d, 0x85, 0x5c, 0xfa, 0xaa, 0x14, 0x96, 0xc8, 0x4b, 0x7e, 0x63, 0x59, 0xbe, 0xe2, 0xe6, 0x28, - 0x57, 0x81, 0x49, 0x80, 0x5c, 0xad, 0x42, 0x89, 0x18, 0x14, 0x03, 0x0d, 0x82, 0xa3, 0xe4, 0x5a, - 0x16, 0x5e, 0x27, 0x93, 0x94, 0x02, 0x27, 0x09, 0x09, 0x95, 0x6b, 0x5e, 0xdc, 0x39, 0x39, 0x53, - 0x47, 0x1e, 0x9f, 0xa9, 0x23, 0xff, 0x3c, 0x53, 0x47, 0x3e, 0x39, 0x53, 0xd1, 0x67, 0x67, 0x2a, - 0xfa, 0xfc, 0x4c, 0x45, 0x5f, 0x9c, 0xa9, 0xe8, 0x9d, 0x9e, 0x8a, 0x3e, 0xe8, 0xa9, 0xe8, 0xc3, - 0x9e, 0x8a, 0xfe, 0xd4, 0x53, 0xd1, 0xa3, 0x9e, 0x8a, 0x4e, 0x7a, 0x2a, 0x7a, 0xdc, 0x53, 0xd1, - 0x27, 0x3d, 0x15, 0x7d, 0xd6, 0x53, 0x47, 0x3e, 0xef, 0xa9, 0xe8, 0x8b, 0x9e, 0x3a, 0xf2, 0xce, - 0xa7, 0xea, 0xc8, 0xc3, 0x4f, 0xd5, 0x91, 0x0f, 0x3e, 0x55, 0xd1, 0x7f, 0x03, 0x00, 0x00, 0xff, - 0xff, 0xe9, 0xa6, 0x38, 0x99, 0x47, 0x36, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/combos/marshaler/thetest.pb.go b/vendor/github.com/gogo/protobuf/test/combos/marshaler/thetest.pb.go index cc7e284e1..7c39ae9a2 100644 --- a/vendor/github.com/gogo/protobuf/test/combos/marshaler/thetest.pb.go +++ b/vendor/github.com/gogo/protobuf/test/combos/marshaler/thetest.pb.go @@ -3,29 +3,25 @@ package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" - -import bytes "bytes" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import compress_gzip "compress/gzip" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import sort "sort" -import reflect "reflect" - -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + sort "sort" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -51,6 +47,7 @@ var TheTestEnum_name = map[int32]string{ 1: "B", 2: "C", } + var TheTestEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -62,9 +59,11 @@ func (x TheTestEnum) Enum() *TheTestEnum { *p = x return p } + func (x TheTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(TheTestEnum_name, int32(x)) } + func (x *TheTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(TheTestEnum_value, data, "TheTestEnum") if err != nil { @@ -73,8 +72,9 @@ func (x *TheTestEnum) UnmarshalJSON(data []byte) error { *x = TheTestEnum(value) return nil } + func (TheTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{0} + return fileDescriptor_2c941132e75f38be, []int{0} } type AnotherTestEnum int32 @@ -88,6 +88,7 @@ var AnotherTestEnum_name = map[int32]string{ 10: "D", 11: "E", } + var AnotherTestEnum_value = map[string]int32{ "D": 10, "E": 11, @@ -98,9 +99,11 @@ func (x AnotherTestEnum) Enum() *AnotherTestEnum { *p = x return p } + func (x AnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(AnotherTestEnum_name, int32(x)) } + func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(AnotherTestEnum_value, data, "AnotherTestEnum") if err != nil { @@ -109,8 +112,9 @@ func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { *x = AnotherTestEnum(value) return nil } + func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{1} + return fileDescriptor_2c941132e75f38be, []int{1} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -126,6 +130,7 @@ var YetAnotherTestEnum_name = map[int32]string{ 0: "AA", 1: "BB", } + var YetAnotherTestEnum_value = map[string]int32{ "AA": 0, "BB": 1, @@ -136,9 +141,11 @@ func (x YetAnotherTestEnum) Enum() *YetAnotherTestEnum { *p = x return p } + func (x YetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetAnotherTestEnum_name, int32(x)) } + func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetAnotherTestEnum_value, data, "YetAnotherTestEnum") if err != nil { @@ -147,8 +154,9 @@ func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetAnotherTestEnum(value) return nil } + func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{2} + return fileDescriptor_2c941132e75f38be, []int{2} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -164,6 +172,7 @@ var YetYetAnotherTestEnum_name = map[int32]string{ 0: "CC", 1: "DD", } + var YetYetAnotherTestEnum_value = map[string]int32{ "CC": 0, "DD": 1, @@ -174,9 +183,11 @@ func (x YetYetAnotherTestEnum) Enum() *YetYetAnotherTestEnum { *p = x return p } + func (x YetYetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetYetAnotherTestEnum_name, int32(x)) } + func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetYetAnotherTestEnum_value, data, "YetYetAnotherTestEnum") if err != nil { @@ -185,8 +196,9 @@ func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetYetAnotherTestEnum(value) return nil } + func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{3} + return fileDescriptor_2c941132e75f38be, []int{3} } type NestedDefinition_NestedEnum int32 @@ -198,6 +210,7 @@ const ( var NestedDefinition_NestedEnum_name = map[int32]string{ 1: "TYPE_NESTED", } + var NestedDefinition_NestedEnum_value = map[string]int32{ "TYPE_NESTED": 1, } @@ -207,9 +220,11 @@ func (x NestedDefinition_NestedEnum) Enum() *NestedDefinition_NestedEnum { *p = x return p } + func (x NestedDefinition_NestedEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(NestedDefinition_NestedEnum_name, int32(x)) } + func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(NestedDefinition_NestedEnum_value, data, "NestedDefinition_NestedEnum") if err != nil { @@ -218,8 +233,9 @@ func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { *x = NestedDefinition_NestedEnum(value) return nil } + func (NestedDefinition_NestedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{42, 0} + return fileDescriptor_2c941132e75f38be, []int{42, 0} } type NidOptNative struct { @@ -246,7 +262,7 @@ type NidOptNative struct { func (m *NidOptNative) Reset() { *m = NidOptNative{} } func (*NidOptNative) ProtoMessage() {} func (*NidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{0} + return fileDescriptor_2c941132e75f38be, []int{0} } func (m *NidOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptNative.Unmarshal(m, b) @@ -263,8 +279,8 @@ func (m *NidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNative.Merge(dst, src) +func (m *NidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNative.Merge(m, src) } func (m *NidOptNative) XXX_Size() int { return m.Size() @@ -299,7 +315,7 @@ type NinOptNative struct { func (m *NinOptNative) Reset() { *m = NinOptNative{} } func (*NinOptNative) ProtoMessage() {} func (*NinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{1} + return fileDescriptor_2c941132e75f38be, []int{1} } func (m *NinOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNative.Unmarshal(m, b) @@ -316,8 +332,8 @@ func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNative.Merge(dst, src) +func (m *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(m, src) } func (m *NinOptNative) XXX_Size() int { return m.Size() @@ -352,7 +368,7 @@ type NidRepNative struct { func (m *NidRepNative) Reset() { *m = NidRepNative{} } func (*NidRepNative) ProtoMessage() {} func (*NidRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{2} + return fileDescriptor_2c941132e75f38be, []int{2} } func (m *NidRepNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepNative.Unmarshal(m, b) @@ -369,8 +385,8 @@ func (m *NidRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNative.Merge(dst, src) +func (m *NidRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNative.Merge(m, src) } func (m *NidRepNative) XXX_Size() int { return m.Size() @@ -405,7 +421,7 @@ type NinRepNative struct { func (m *NinRepNative) Reset() { *m = NinRepNative{} } func (*NinRepNative) ProtoMessage() {} func (*NinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{3} + return fileDescriptor_2c941132e75f38be, []int{3} } func (m *NinRepNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepNative.Unmarshal(m, b) @@ -422,8 +438,8 @@ func (m *NinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNative.Merge(dst, src) +func (m *NinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNative.Merge(m, src) } func (m *NinRepNative) XXX_Size() int { return m.Size() @@ -456,7 +472,7 @@ type NidRepPackedNative struct { func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } func (*NidRepPackedNative) ProtoMessage() {} func (*NidRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{4} + return fileDescriptor_2c941132e75f38be, []int{4} } func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepPackedNative.Unmarshal(m, b) @@ -473,8 +489,8 @@ func (m *NidRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NidRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepPackedNative.Merge(dst, src) +func (m *NidRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepPackedNative.Merge(m, src) } func (m *NidRepPackedNative) XXX_Size() int { return m.Size() @@ -507,7 +523,7 @@ type NinRepPackedNative struct { func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } func (*NinRepPackedNative) ProtoMessage() {} func (*NinRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{5} + return fileDescriptor_2c941132e75f38be, []int{5} } func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepPackedNative.Unmarshal(m, b) @@ -524,8 +540,8 @@ func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +func (m *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(m, src) } func (m *NinRepPackedNative) XXX_Size() int { return m.Size() @@ -555,7 +571,7 @@ type NidOptStruct struct { func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } func (*NidOptStruct) ProtoMessage() {} func (*NidOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{6} + return fileDescriptor_2c941132e75f38be, []int{6} } func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptStruct.Unmarshal(m, b) @@ -572,8 +588,8 @@ func (m *NidOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptStruct.Merge(dst, src) +func (m *NidOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptStruct.Merge(m, src) } func (m *NidOptStruct) XXX_Size() int { return m.Size() @@ -603,7 +619,7 @@ type NinOptStruct struct { func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } func (*NinOptStruct) ProtoMessage() {} func (*NinOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{7} + return fileDescriptor_2c941132e75f38be, []int{7} } func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptStruct.Unmarshal(m, b) @@ -620,8 +636,8 @@ func (m *NinOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStruct.Merge(dst, src) +func (m *NinOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStruct.Merge(m, src) } func (m *NinOptStruct) XXX_Size() int { return m.Size() @@ -651,7 +667,7 @@ type NidRepStruct struct { func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } func (*NidRepStruct) ProtoMessage() {} func (*NidRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{8} + return fileDescriptor_2c941132e75f38be, []int{8} } func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepStruct.Unmarshal(m, b) @@ -668,8 +684,8 @@ func (m *NidRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepStruct.Merge(dst, src) +func (m *NidRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepStruct.Merge(m, src) } func (m *NidRepStruct) XXX_Size() int { return m.Size() @@ -699,7 +715,7 @@ type NinRepStruct struct { func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } func (*NinRepStruct) ProtoMessage() {} func (*NinRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{9} + return fileDescriptor_2c941132e75f38be, []int{9} } func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepStruct.Unmarshal(m, b) @@ -716,8 +732,8 @@ func (m *NinRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepStruct.Merge(dst, src) +func (m *NinRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepStruct.Merge(m, src) } func (m *NinRepStruct) XXX_Size() int { return m.Size() @@ -740,7 +756,7 @@ type NidEmbeddedStruct struct { func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } func (*NidEmbeddedStruct) ProtoMessage() {} func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{10} + return fileDescriptor_2c941132e75f38be, []int{10} } func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidEmbeddedStruct.Unmarshal(m, b) @@ -757,8 +773,8 @@ func (m *NidEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NidEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidEmbeddedStruct.Merge(dst, src) +func (m *NidEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidEmbeddedStruct.Merge(m, src) } func (m *NidEmbeddedStruct) XXX_Size() int { return m.Size() @@ -781,7 +797,7 @@ type NinEmbeddedStruct struct { func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } func (*NinEmbeddedStruct) ProtoMessage() {} func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{11} + return fileDescriptor_2c941132e75f38be, []int{11} } func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinEmbeddedStruct.Unmarshal(m, b) @@ -798,8 +814,8 @@ func (m *NinEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStruct.Merge(dst, src) +func (m *NinEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStruct.Merge(m, src) } func (m *NinEmbeddedStruct) XXX_Size() int { return m.Size() @@ -821,7 +837,7 @@ type NidNestedStruct struct { func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } func (*NidNestedStruct) ProtoMessage() {} func (*NidNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{12} + return fileDescriptor_2c941132e75f38be, []int{12} } func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidNestedStruct.Unmarshal(m, b) @@ -838,8 +854,8 @@ func (m *NidNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *NidNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidNestedStruct.Merge(dst, src) +func (m *NidNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidNestedStruct.Merge(m, src) } func (m *NidNestedStruct) XXX_Size() int { return m.Size() @@ -861,7 +877,7 @@ type NinNestedStruct struct { func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } func (*NinNestedStruct) ProtoMessage() {} func (*NinNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{13} + return fileDescriptor_2c941132e75f38be, []int{13} } func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinNestedStruct.Unmarshal(m, b) @@ -878,8 +894,8 @@ func (m *NinNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *NinNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStruct.Merge(dst, src) +func (m *NinNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStruct.Merge(m, src) } func (m *NinNestedStruct) XXX_Size() int { return m.Size() @@ -901,7 +917,7 @@ type NidOptCustom struct { func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } func (*NidOptCustom) ProtoMessage() {} func (*NidOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{14} + return fileDescriptor_2c941132e75f38be, []int{14} } func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptCustom.Unmarshal(m, b) @@ -918,8 +934,8 @@ func (m *NidOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptCustom.Merge(dst, src) +func (m *NidOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptCustom.Merge(m, src) } func (m *NidOptCustom) XXX_Size() int { return m.Size() @@ -940,7 +956,7 @@ type CustomDash struct { func (m *CustomDash) Reset() { *m = CustomDash{} } func (*CustomDash) ProtoMessage() {} func (*CustomDash) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{15} + return fileDescriptor_2c941132e75f38be, []int{15} } func (m *CustomDash) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomDash.Unmarshal(m, b) @@ -957,8 +973,8 @@ func (m *CustomDash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *CustomDash) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomDash.Merge(dst, src) +func (m *CustomDash) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomDash.Merge(m, src) } func (m *CustomDash) XXX_Size() int { return m.Size() @@ -980,7 +996,7 @@ type NinOptCustom struct { func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } func (*NinOptCustom) ProtoMessage() {} func (*NinOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{16} + return fileDescriptor_2c941132e75f38be, []int{16} } func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptCustom.Unmarshal(m, b) @@ -997,8 +1013,8 @@ func (m *NinOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptCustom.Merge(dst, src) +func (m *NinOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptCustom.Merge(m, src) } func (m *NinOptCustom) XXX_Size() int { return m.Size() @@ -1020,7 +1036,7 @@ type NidRepCustom struct { func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } func (*NidRepCustom) ProtoMessage() {} func (*NidRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{17} + return fileDescriptor_2c941132e75f38be, []int{17} } func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepCustom.Unmarshal(m, b) @@ -1037,8 +1053,8 @@ func (m *NidRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepCustom.Merge(dst, src) +func (m *NidRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepCustom.Merge(m, src) } func (m *NidRepCustom) XXX_Size() int { return m.Size() @@ -1060,7 +1076,7 @@ type NinRepCustom struct { func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } func (*NinRepCustom) ProtoMessage() {} func (*NinRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{18} + return fileDescriptor_2c941132e75f38be, []int{18} } func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepCustom.Unmarshal(m, b) @@ -1077,8 +1093,8 @@ func (m *NinRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepCustom.Merge(dst, src) +func (m *NinRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepCustom.Merge(m, src) } func (m *NinRepCustom) XXX_Size() int { return m.Size() @@ -1107,7 +1123,7 @@ type NinOptNativeUnion struct { func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } func (*NinOptNativeUnion) ProtoMessage() {} func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{19} + return fileDescriptor_2c941132e75f38be, []int{19} } func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNativeUnion.Unmarshal(m, b) @@ -1124,8 +1140,8 @@ func (m *NinOptNativeUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinOptNativeUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeUnion.Merge(dst, src) +func (m *NinOptNativeUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeUnion.Merge(m, src) } func (m *NinOptNativeUnion) XXX_Size() int { return m.Size() @@ -1154,7 +1170,7 @@ type NinOptStructUnion struct { func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } func (*NinOptStructUnion) ProtoMessage() {} func (*NinOptStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{20} + return fileDescriptor_2c941132e75f38be, []int{20} } func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptStructUnion.Unmarshal(m, b) @@ -1171,8 +1187,8 @@ func (m *NinOptStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinOptStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStructUnion.Merge(dst, src) +func (m *NinOptStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStructUnion.Merge(m, src) } func (m *NinOptStructUnion) XXX_Size() int { return m.Size() @@ -1195,7 +1211,7 @@ type NinEmbeddedStructUnion struct { func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } func (*NinEmbeddedStructUnion) ProtoMessage() {} func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{21} + return fileDescriptor_2c941132e75f38be, []int{21} } func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinEmbeddedStructUnion.Unmarshal(m, b) @@ -1212,8 +1228,8 @@ func (m *NinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStructUnion.Merge(dst, src) +func (m *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStructUnion.Merge(m, src) } func (m *NinEmbeddedStructUnion) XXX_Size() int { return m.Size() @@ -1236,7 +1252,7 @@ type NinNestedStructUnion struct { func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } func (*NinNestedStructUnion) ProtoMessage() {} func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{22} + return fileDescriptor_2c941132e75f38be, []int{22} } func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinNestedStructUnion.Unmarshal(m, b) @@ -1253,8 +1269,8 @@ func (m *NinNestedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (dst *NinNestedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStructUnion.Merge(dst, src) +func (m *NinNestedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStructUnion.Merge(m, src) } func (m *NinNestedStructUnion) XXX_Size() int { return m.Size() @@ -1277,7 +1293,7 @@ type Tree struct { func (m *Tree) Reset() { *m = Tree{} } func (*Tree) ProtoMessage() {} func (*Tree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{23} + return fileDescriptor_2c941132e75f38be, []int{23} } func (m *Tree) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Tree.Unmarshal(m, b) @@ -1294,8 +1310,8 @@ func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Tree) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tree.Merge(dst, src) +func (m *Tree) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tree.Merge(m, src) } func (m *Tree) XXX_Size() int { return m.Size() @@ -1317,7 +1333,7 @@ type OrBranch struct { func (m *OrBranch) Reset() { *m = OrBranch{} } func (*OrBranch) ProtoMessage() {} func (*OrBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{24} + return fileDescriptor_2c941132e75f38be, []int{24} } func (m *OrBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrBranch.Unmarshal(m, b) @@ -1334,8 +1350,8 @@ func (m *OrBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *OrBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrBranch.Merge(dst, src) +func (m *OrBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrBranch.Merge(m, src) } func (m *OrBranch) XXX_Size() int { return m.Size() @@ -1357,7 +1373,7 @@ type AndBranch struct { func (m *AndBranch) Reset() { *m = AndBranch{} } func (*AndBranch) ProtoMessage() {} func (*AndBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{25} + return fileDescriptor_2c941132e75f38be, []int{25} } func (m *AndBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AndBranch.Unmarshal(m, b) @@ -1374,8 +1390,8 @@ func (m *AndBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *AndBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndBranch.Merge(dst, src) +func (m *AndBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndBranch.Merge(m, src) } func (m *AndBranch) XXX_Size() int { return m.Size() @@ -1397,7 +1413,7 @@ type Leaf struct { func (m *Leaf) Reset() { *m = Leaf{} } func (*Leaf) ProtoMessage() {} func (*Leaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{26} + return fileDescriptor_2c941132e75f38be, []int{26} } func (m *Leaf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Leaf.Unmarshal(m, b) @@ -1414,8 +1430,8 @@ func (m *Leaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Leaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_Leaf.Merge(dst, src) +func (m *Leaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_Leaf.Merge(m, src) } func (m *Leaf) XXX_Size() int { return m.Size() @@ -1438,7 +1454,7 @@ type DeepTree struct { func (m *DeepTree) Reset() { *m = DeepTree{} } func (*DeepTree) ProtoMessage() {} func (*DeepTree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{27} + return fileDescriptor_2c941132e75f38be, []int{27} } func (m *DeepTree) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeepTree.Unmarshal(m, b) @@ -1455,8 +1471,8 @@ func (m *DeepTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *DeepTree) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepTree.Merge(dst, src) +func (m *DeepTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepTree.Merge(m, src) } func (m *DeepTree) XXX_Size() int { return m.Size() @@ -1477,7 +1493,7 @@ type ADeepBranch struct { func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } func (*ADeepBranch) ProtoMessage() {} func (*ADeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{28} + return fileDescriptor_2c941132e75f38be, []int{28} } func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ADeepBranch.Unmarshal(m, b) @@ -1494,8 +1510,8 @@ func (m *ADeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *ADeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_ADeepBranch.Merge(dst, src) +func (m *ADeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_ADeepBranch.Merge(m, src) } func (m *ADeepBranch) XXX_Size() int { return m.Size() @@ -1517,7 +1533,7 @@ type AndDeepBranch struct { func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } func (*AndDeepBranch) ProtoMessage() {} func (*AndDeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{29} + return fileDescriptor_2c941132e75f38be, []int{29} } func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AndDeepBranch.Unmarshal(m, b) @@ -1534,8 +1550,8 @@ func (m *AndDeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *AndDeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndDeepBranch.Merge(dst, src) +func (m *AndDeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndDeepBranch.Merge(m, src) } func (m *AndDeepBranch) XXX_Size() int { return m.Size() @@ -1556,7 +1572,7 @@ type DeepLeaf struct { func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } func (*DeepLeaf) ProtoMessage() {} func (*DeepLeaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{30} + return fileDescriptor_2c941132e75f38be, []int{30} } func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeepLeaf.Unmarshal(m, b) @@ -1573,8 +1589,8 @@ func (m *DeepLeaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *DeepLeaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepLeaf.Merge(dst, src) +func (m *DeepLeaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepLeaf.Merge(m, src) } func (m *DeepLeaf) XXX_Size() int { return m.Size() @@ -1594,7 +1610,7 @@ type Nil struct { func (m *Nil) Reset() { *m = Nil{} } func (*Nil) ProtoMessage() {} func (*Nil) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{31} + return fileDescriptor_2c941132e75f38be, []int{31} } func (m *Nil) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Nil.Unmarshal(m, b) @@ -1611,8 +1627,8 @@ func (m *Nil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Nil) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nil.Merge(dst, src) +func (m *Nil) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nil.Merge(m, src) } func (m *Nil) XXX_Size() int { return m.Size() @@ -1633,7 +1649,7 @@ type NidOptEnum struct { func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } func (*NidOptEnum) ProtoMessage() {} func (*NidOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{32} + return fileDescriptor_2c941132e75f38be, []int{32} } func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptEnum.Unmarshal(m, b) @@ -1650,8 +1666,8 @@ func (m *NidOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NidOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptEnum.Merge(dst, src) +func (m *NidOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptEnum.Merge(m, src) } func (m *NidOptEnum) XXX_Size() int { return m.Size() @@ -1674,7 +1690,7 @@ type NinOptEnum struct { func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } func (*NinOptEnum) ProtoMessage() {} func (*NinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{33} + return fileDescriptor_2c941132e75f38be, []int{33} } func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptEnum.Unmarshal(m, b) @@ -1691,8 +1707,8 @@ func (m *NinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnum.Merge(dst, src) +func (m *NinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnum.Merge(m, src) } func (m *NinOptEnum) XXX_Size() int { return m.Size() @@ -1715,7 +1731,7 @@ type NidRepEnum struct { func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } func (*NidRepEnum) ProtoMessage() {} func (*NidRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{34} + return fileDescriptor_2c941132e75f38be, []int{34} } func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepEnum.Unmarshal(m, b) @@ -1732,8 +1748,8 @@ func (m *NidRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NidRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepEnum.Merge(dst, src) +func (m *NidRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepEnum.Merge(m, src) } func (m *NidRepEnum) XXX_Size() int { return m.Size() @@ -1756,7 +1772,7 @@ type NinRepEnum struct { func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } func (*NinRepEnum) ProtoMessage() {} func (*NinRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{35} + return fileDescriptor_2c941132e75f38be, []int{35} } func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepEnum.Unmarshal(m, b) @@ -1773,8 +1789,8 @@ func (m *NinRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NinRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepEnum.Merge(dst, src) +func (m *NinRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepEnum.Merge(m, src) } func (m *NinRepEnum) XXX_Size() int { return m.Size() @@ -1797,7 +1813,7 @@ type NinOptEnumDefault struct { func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } func (*NinOptEnumDefault) ProtoMessage() {} func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{36} + return fileDescriptor_2c941132e75f38be, []int{36} } func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptEnumDefault.Unmarshal(m, b) @@ -1814,8 +1830,8 @@ func (m *NinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnumDefault.Merge(dst, src) +func (m *NinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnumDefault.Merge(m, src) } func (m *NinOptEnumDefault) XXX_Size() int { return m.Size() @@ -1863,7 +1879,7 @@ type AnotherNinOptEnum struct { func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } func (*AnotherNinOptEnum) ProtoMessage() {} func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{37} + return fileDescriptor_2c941132e75f38be, []int{37} } func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnotherNinOptEnum.Unmarshal(m, b) @@ -1880,8 +1896,8 @@ func (m *AnotherNinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *AnotherNinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnum.Merge(dst, src) +func (m *AnotherNinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnum.Merge(m, src) } func (m *AnotherNinOptEnum) XXX_Size() int { return m.Size() @@ -1904,7 +1920,7 @@ type AnotherNinOptEnumDefault struct { func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } func (*AnotherNinOptEnumDefault) ProtoMessage() {} func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{38} + return fileDescriptor_2c941132e75f38be, []int{38} } func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnotherNinOptEnumDefault.Unmarshal(m, b) @@ -1921,8 +1937,8 @@ func (m *AnotherNinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (dst *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnumDefault.Merge(dst, src) +func (m *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnumDefault.Merge(m, src) } func (m *AnotherNinOptEnumDefault) XXX_Size() int { return m.Size() @@ -1970,7 +1986,7 @@ type Timer struct { func (m *Timer) Reset() { *m = Timer{} } func (*Timer) ProtoMessage() {} func (*Timer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{39} + return fileDescriptor_2c941132e75f38be, []int{39} } func (m *Timer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Timer.Unmarshal(m, b) @@ -1987,8 +2003,8 @@ func (m *Timer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Timer) XXX_Merge(src proto.Message) { - xxx_messageInfo_Timer.Merge(dst, src) +func (m *Timer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timer.Merge(m, src) } func (m *Timer) XXX_Size() int { return m.Size() @@ -2010,7 +2026,7 @@ type MyExtendable struct { func (m *MyExtendable) Reset() { *m = MyExtendable{} } func (*MyExtendable) ProtoMessage() {} func (*MyExtendable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{40} + return fileDescriptor_2c941132e75f38be, []int{40} } var extRange_MyExtendable = []proto.ExtensionRange{ @@ -2020,6 +2036,7 @@ var extRange_MyExtendable = []proto.ExtensionRange{ func (*MyExtendable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyExtendable } + func (m *MyExtendable) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MyExtendable.Unmarshal(m, b) } @@ -2035,8 +2052,8 @@ func (m *MyExtendable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *MyExtendable) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyExtendable.Merge(dst, src) +func (m *MyExtendable) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyExtendable.Merge(m, src) } func (m *MyExtendable) XXX_Size() int { return m.Size() @@ -2060,7 +2077,7 @@ type OtherExtenable struct { func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } func (*OtherExtenable) ProtoMessage() {} func (*OtherExtenable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{41} + return fileDescriptor_2c941132e75f38be, []int{41} } var extRange_OtherExtenable = []proto.ExtensionRange{ @@ -2071,6 +2088,7 @@ var extRange_OtherExtenable = []proto.ExtensionRange{ func (*OtherExtenable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherExtenable } + func (m *OtherExtenable) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OtherExtenable.Unmarshal(m, b) } @@ -2086,8 +2104,8 @@ func (m *OtherExtenable) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (dst *OtherExtenable) XXX_Merge(src proto.Message) { - xxx_messageInfo_OtherExtenable.Merge(dst, src) +func (m *OtherExtenable) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherExtenable.Merge(m, src) } func (m *OtherExtenable) XXX_Size() int { return m.Size() @@ -2111,7 +2129,7 @@ type NestedDefinition struct { func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } func (*NestedDefinition) ProtoMessage() {} func (*NestedDefinition) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{42} + return fileDescriptor_2c941132e75f38be, []int{42} } func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedDefinition.Unmarshal(m, b) @@ -2128,8 +2146,8 @@ func (m *NestedDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, er return b[:n], nil } } -func (dst *NestedDefinition) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition.Merge(dst, src) +func (m *NestedDefinition) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition.Merge(m, src) } func (m *NestedDefinition) XXX_Size() int { return m.Size() @@ -2151,7 +2169,7 @@ type NestedDefinition_NestedMessage struct { func (m *NestedDefinition_NestedMessage) Reset() { *m = NestedDefinition_NestedMessage{} } func (*NestedDefinition_NestedMessage) ProtoMessage() {} func (*NestedDefinition_NestedMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{42, 0} + return fileDescriptor_2c941132e75f38be, []int{42, 0} } func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedDefinition_NestedMessage.Unmarshal(m, b) @@ -2168,8 +2186,8 @@ func (m *NestedDefinition_NestedMessage) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (dst *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage.Merge(dst, src) +func (m *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage.Merge(m, src) } func (m *NestedDefinition_NestedMessage) XXX_Size() int { return m.Size() @@ -2192,7 +2210,7 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { } func (*NestedDefinition_NestedMessage_NestedNestedMsg) ProtoMessage() {} func (*NestedDefinition_NestedMessage_NestedNestedMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{42, 0, 0} + return fileDescriptor_2c941132e75f38be, []int{42, 0, 0} } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Unmarshal(m, b) @@ -2209,8 +2227,8 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Marshal(b []byte, d return b[:n], nil } } -func (dst *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(dst, src) +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(m, src) } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Size() int { return m.Size() @@ -2233,7 +2251,7 @@ type NestedScope struct { func (m *NestedScope) Reset() { *m = NestedScope{} } func (*NestedScope) ProtoMessage() {} func (*NestedScope) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{43} + return fileDescriptor_2c941132e75f38be, []int{43} } func (m *NestedScope) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedScope.Unmarshal(m, b) @@ -2250,8 +2268,8 @@ func (m *NestedScope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NestedScope) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedScope.Merge(dst, src) +func (m *NestedScope) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedScope.Merge(m, src) } func (m *NestedScope) XXX_Size() int { return m.Size() @@ -2264,7 +2282,7 @@ var xxx_messageInfo_NestedScope proto.InternalMessageInfo type NinOptNativeDefault struct { Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.1234" json:"Field2,omitempty"` Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` @@ -2286,7 +2304,7 @@ type NinOptNativeDefault struct { func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } func (*NinOptNativeDefault) ProtoMessage() {} func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{44} + return fileDescriptor_2c941132e75f38be, []int{44} } func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNativeDefault.Unmarshal(m, b) @@ -2303,8 +2321,8 @@ func (m *NinOptNativeDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NinOptNativeDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeDefault.Merge(dst, src) +func (m *NinOptNativeDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeDefault.Merge(m, src) } func (m *NinOptNativeDefault) XXX_Size() int { return m.Size() @@ -2316,7 +2334,7 @@ func (m *NinOptNativeDefault) XXX_DiscardUnknown() { var xxx_messageInfo_NinOptNativeDefault proto.InternalMessageInfo const Default_NinOptNativeDefault_Field1 float64 = 1234.1234 -const Default_NinOptNativeDefault_Field2 float32 = 1234.12341 +const Default_NinOptNativeDefault_Field2 float32 = 1234.1234 const Default_NinOptNativeDefault_Field3 int32 = 1234 const Default_NinOptNativeDefault_Field4 int64 = 1234 const Default_NinOptNativeDefault_Field5 uint32 = 1234 @@ -2445,7 +2463,7 @@ type CustomContainer struct { func (m *CustomContainer) Reset() { *m = CustomContainer{} } func (*CustomContainer) ProtoMessage() {} func (*CustomContainer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{45} + return fileDescriptor_2c941132e75f38be, []int{45} } func (m *CustomContainer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomContainer.Unmarshal(m, b) @@ -2462,8 +2480,8 @@ func (m *CustomContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *CustomContainer) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomContainer.Merge(dst, src) +func (m *CustomContainer) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomContainer.Merge(m, src) } func (m *CustomContainer) XXX_Size() int { return m.Size() @@ -2498,7 +2516,7 @@ type CustomNameNidOptNative struct { func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } func (*CustomNameNidOptNative) ProtoMessage() {} func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{46} + return fileDescriptor_2c941132e75f38be, []int{46} } func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNidOptNative.Unmarshal(m, b) @@ -2515,8 +2533,8 @@ func (m *CustomNameNidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *CustomNameNidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNidOptNative.Merge(dst, src) +func (m *CustomNameNidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNidOptNative.Merge(m, src) } func (m *CustomNameNidOptNative) XXX_Size() int { return m.Size() @@ -2551,7 +2569,7 @@ type CustomNameNinOptNative struct { func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } func (*CustomNameNinOptNative) ProtoMessage() {} func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{47} + return fileDescriptor_2c941132e75f38be, []int{47} } func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinOptNative.Unmarshal(m, b) @@ -2568,8 +2586,8 @@ func (m *CustomNameNinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *CustomNameNinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinOptNative.Merge(dst, src) +func (m *CustomNameNinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinOptNative.Merge(m, src) } func (m *CustomNameNinOptNative) XXX_Size() int { return m.Size() @@ -2604,7 +2622,7 @@ type CustomNameNinRepNative struct { func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } func (*CustomNameNinRepNative) ProtoMessage() {} func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{48} + return fileDescriptor_2c941132e75f38be, []int{48} } func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinRepNative.Unmarshal(m, b) @@ -2621,8 +2639,8 @@ func (m *CustomNameNinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (dst *CustomNameNinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinRepNative.Merge(dst, src) +func (m *CustomNameNinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinRepNative.Merge(m, src) } func (m *CustomNameNinRepNative) XXX_Size() int { return m.Size() @@ -2652,7 +2670,7 @@ type CustomNameNinStruct struct { func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } func (*CustomNameNinStruct) ProtoMessage() {} func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{49} + return fileDescriptor_2c941132e75f38be, []int{49} } func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinStruct.Unmarshal(m, b) @@ -2669,8 +2687,8 @@ func (m *CustomNameNinStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *CustomNameNinStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinStruct.Merge(dst, src) +func (m *CustomNameNinStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinStruct.Merge(m, src) } func (m *CustomNameNinStruct) XXX_Size() int { return m.Size() @@ -2694,7 +2712,7 @@ type CustomNameCustomType struct { func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } func (*CustomNameCustomType) ProtoMessage() {} func (*CustomNameCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{50} + return fileDescriptor_2c941132e75f38be, []int{50} } func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameCustomType.Unmarshal(m, b) @@ -2711,8 +2729,8 @@ func (m *CustomNameCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (dst *CustomNameCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameCustomType.Merge(dst, src) +func (m *CustomNameCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameCustomType.Merge(m, src) } func (m *CustomNameCustomType) XXX_Size() int { return m.Size() @@ -2735,7 +2753,7 @@ type CustomNameNinEmbeddedStructUnion struct { func (m *CustomNameNinEmbeddedStructUnion) Reset() { *m = CustomNameNinEmbeddedStructUnion{} } func (*CustomNameNinEmbeddedStructUnion) ProtoMessage() {} func (*CustomNameNinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{51} + return fileDescriptor_2c941132e75f38be, []int{51} } func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Unmarshal(m, b) @@ -2752,8 +2770,8 @@ func (m *CustomNameNinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic b return b[:n], nil } } -func (dst *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(dst, src) +func (m *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(m, src) } func (m *CustomNameNinEmbeddedStructUnion) XXX_Size() int { return m.Size() @@ -2775,7 +2793,7 @@ type CustomNameEnum struct { func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } func (*CustomNameEnum) ProtoMessage() {} func (*CustomNameEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{52} + return fileDescriptor_2c941132e75f38be, []int{52} } func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameEnum.Unmarshal(m, b) @@ -2792,8 +2810,8 @@ func (m *CustomNameEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (dst *CustomNameEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameEnum.Merge(dst, src) +func (m *CustomNameEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameEnum.Merge(m, src) } func (m *CustomNameEnum) XXX_Size() int { return m.Size() @@ -2815,7 +2833,7 @@ type NoExtensionsMap struct { func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } func (*NoExtensionsMap) ProtoMessage() {} func (*NoExtensionsMap) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{53} + return fileDescriptor_2c941132e75f38be, []int{53} } var extRange_NoExtensionsMap = []proto.ExtensionRange{ @@ -2825,6 +2843,7 @@ var extRange_NoExtensionsMap = []proto.ExtensionRange{ func (*NoExtensionsMap) ExtensionRangeArray() []proto.ExtensionRange { return extRange_NoExtensionsMap } + func (m *NoExtensionsMap) GetExtensions() *[]byte { if m.XXX_extensions == nil { m.XXX_extensions = make([]byte, 0) @@ -2846,8 +2865,8 @@ func (m *NoExtensionsMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *NoExtensionsMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_NoExtensionsMap.Merge(dst, src) +func (m *NoExtensionsMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NoExtensionsMap.Merge(m, src) } func (m *NoExtensionsMap) XXX_Size() int { return m.Size() @@ -2867,7 +2886,7 @@ type Unrecognized struct { func (m *Unrecognized) Reset() { *m = Unrecognized{} } func (*Unrecognized) ProtoMessage() {} func (*Unrecognized) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{54} + return fileDescriptor_2c941132e75f38be, []int{54} } func (m *Unrecognized) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Unrecognized.Unmarshal(m, b) @@ -2884,8 +2903,8 @@ func (m *Unrecognized) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *Unrecognized) XXX_Merge(src proto.Message) { - xxx_messageInfo_Unrecognized.Merge(dst, src) +func (m *Unrecognized) XXX_Merge(src proto.Message) { + xxx_messageInfo_Unrecognized.Merge(m, src) } func (m *Unrecognized) XXX_Size() int { return m.Size() @@ -2907,7 +2926,7 @@ type UnrecognizedWithInner struct { func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } func (*UnrecognizedWithInner) ProtoMessage() {} func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{55} + return fileDescriptor_2c941132e75f38be, []int{55} } func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithInner.Unmarshal(m, b) @@ -2924,8 +2943,8 @@ func (m *UnrecognizedWithInner) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (dst *UnrecognizedWithInner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner.Merge(dst, src) +func (m *UnrecognizedWithInner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner.Merge(m, src) } func (m *UnrecognizedWithInner) XXX_Size() int { return m.Size() @@ -2945,7 +2964,7 @@ type UnrecognizedWithInner_Inner struct { func (m *UnrecognizedWithInner_Inner) Reset() { *m = UnrecognizedWithInner_Inner{} } func (*UnrecognizedWithInner_Inner) ProtoMessage() {} func (*UnrecognizedWithInner_Inner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{55, 0} + return fileDescriptor_2c941132e75f38be, []int{55, 0} } func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithInner_Inner.Unmarshal(m, b) @@ -2962,8 +2981,8 @@ func (m *UnrecognizedWithInner_Inner) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (dst *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(dst, src) +func (m *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(m, src) } func (m *UnrecognizedWithInner_Inner) XXX_Size() int { return m.Size() @@ -2985,7 +3004,7 @@ type UnrecognizedWithEmbed struct { func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } func (*UnrecognizedWithEmbed) ProtoMessage() {} func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{56} + return fileDescriptor_2c941132e75f38be, []int{56} } func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithEmbed.Unmarshal(m, b) @@ -3002,8 +3021,8 @@ func (m *UnrecognizedWithEmbed) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (dst *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed.Merge(dst, src) +func (m *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed.Merge(m, src) } func (m *UnrecognizedWithEmbed) XXX_Size() int { return m.Size() @@ -3023,7 +3042,7 @@ type UnrecognizedWithEmbed_Embedded struct { func (m *UnrecognizedWithEmbed_Embedded) Reset() { *m = UnrecognizedWithEmbed_Embedded{} } func (*UnrecognizedWithEmbed_Embedded) ProtoMessage() {} func (*UnrecognizedWithEmbed_Embedded) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{56, 0} + return fileDescriptor_2c941132e75f38be, []int{56, 0} } func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Unmarshal(m, b) @@ -3040,8 +3059,8 @@ func (m *UnrecognizedWithEmbed_Embedded) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (dst *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(dst, src) +func (m *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(m, src) } func (m *UnrecognizedWithEmbed_Embedded) XXX_Size() int { return m.Size() @@ -3063,7 +3082,7 @@ type Node struct { func (m *Node) Reset() { *m = Node{} } func (*Node) ProtoMessage() {} func (*Node) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{57} + return fileDescriptor_2c941132e75f38be, []int{57} } func (m *Node) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Node.Unmarshal(m, b) @@ -3080,8 +3099,8 @@ func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Node) XXX_Merge(src proto.Message) { - xxx_messageInfo_Node.Merge(dst, src) +func (m *Node) XXX_Merge(src proto.Message) { + xxx_messageInfo_Node.Merge(m, src) } func (m *Node) XXX_Size() int { return m.Size() @@ -3102,7 +3121,7 @@ type NonByteCustomType struct { func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } func (*NonByteCustomType) ProtoMessage() {} func (*NonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{58} + return fileDescriptor_2c941132e75f38be, []int{58} } func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NonByteCustomType.Unmarshal(m, b) @@ -3119,8 +3138,8 @@ func (m *NonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *NonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NonByteCustomType.Merge(dst, src) +func (m *NonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonByteCustomType.Merge(m, src) } func (m *NonByteCustomType) XXX_Size() int { return m.Size() @@ -3141,7 +3160,7 @@ type NidOptNonByteCustomType struct { func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } func (*NidOptNonByteCustomType) ProtoMessage() {} func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{59} + return fileDescriptor_2c941132e75f38be, []int{59} } func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptNonByteCustomType.Unmarshal(m, b) @@ -3158,8 +3177,8 @@ func (m *NidOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNonByteCustomType.Merge(dst, src) +func (m *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNonByteCustomType.Merge(m, src) } func (m *NidOptNonByteCustomType) XXX_Size() int { return m.Size() @@ -3180,7 +3199,7 @@ type NinOptNonByteCustomType struct { func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } func (*NinOptNonByteCustomType) ProtoMessage() {} func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{60} + return fileDescriptor_2c941132e75f38be, []int{60} } func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNonByteCustomType.Unmarshal(m, b) @@ -3197,8 +3216,8 @@ func (m *NinOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNonByteCustomType.Merge(dst, src) +func (m *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNonByteCustomType.Merge(m, src) } func (m *NinOptNonByteCustomType) XXX_Size() int { return m.Size() @@ -3219,7 +3238,7 @@ type NidRepNonByteCustomType struct { func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } func (*NidRepNonByteCustomType) ProtoMessage() {} func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{61} + return fileDescriptor_2c941132e75f38be, []int{61} } func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepNonByteCustomType.Unmarshal(m, b) @@ -3236,8 +3255,8 @@ func (m *NidRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNonByteCustomType.Merge(dst, src) +func (m *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNonByteCustomType.Merge(m, src) } func (m *NidRepNonByteCustomType) XXX_Size() int { return m.Size() @@ -3258,7 +3277,7 @@ type NinRepNonByteCustomType struct { func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } func (*NinRepNonByteCustomType) ProtoMessage() {} func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{62} + return fileDescriptor_2c941132e75f38be, []int{62} } func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepNonByteCustomType.Unmarshal(m, b) @@ -3275,8 +3294,8 @@ func (m *NinRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (dst *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNonByteCustomType.Merge(dst, src) +func (m *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNonByteCustomType.Merge(m, src) } func (m *NinRepNonByteCustomType) XXX_Size() int { return m.Size() @@ -3297,7 +3316,7 @@ type ProtoType struct { func (m *ProtoType) Reset() { *m = ProtoType{} } func (*ProtoType) ProtoMessage() {} func (*ProtoType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_0843136744e013f8, []int{63} + return fileDescriptor_2c941132e75f38be, []int{63} } func (m *ProtoType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ProtoType.Unmarshal(m, b) @@ -3314,8 +3333,8 @@ func (m *ProtoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *ProtoType) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoType.Merge(dst, src) +func (m *ProtoType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoType.Merge(m, src) } func (m *ProtoType) XXX_Size() int { return m.Size() @@ -3399,6 +3418,11 @@ var E_FieldC1 = &proto.ExtensionDesc{ } func init() { + proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) + proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) + proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) + proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) + proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterType((*NidOptNative)(nil), "test.NidOptNative") proto.RegisterType((*NinOptNative)(nil), "test.NinOptNative") proto.RegisterType((*NidRepNative)(nil), "test.NidRepNative") @@ -3467,11 +3491,6 @@ func init() { proto.RegisterType((*NidRepNonByteCustomType)(nil), "test.NidRepNonByteCustomType") proto.RegisterType((*NinRepNonByteCustomType)(nil), "test.NinRepNonByteCustomType") proto.RegisterType((*ProtoType)(nil), "test.ProtoType") - proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) - proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) - proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) - proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) - proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterExtension(E_FieldA) proto.RegisterExtension(E_FieldB) proto.RegisterExtension(E_FieldC) @@ -3481,6 +3500,206 @@ func init() { proto.RegisterExtension(E_FieldB1) proto.RegisterExtension(E_FieldC1) } + +func init() { proto.RegisterFile("combos/marshaler/thetest.proto", fileDescriptor_2c941132e75f38be) } + +var fileDescriptor_2c941132e75f38be = []byte{ + // 3086 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6c, 0x1b, 0xc7, + 0xd5, 0xe7, 0xec, 0x50, 0x0a, 0xf5, 0x24, 0x4b, 0xf4, 0x26, 0x56, 0x16, 0x8c, 0xbe, 0x15, 0xbd, + 0x91, 0xf5, 0x31, 0x44, 0x2c, 0x51, 0x14, 0x25, 0xcb, 0x4c, 0x93, 0x42, 0xfc, 0xe3, 0x46, 0x6e, + 0x44, 0x19, 0x8c, 0xdc, 0xd6, 0x40, 0x81, 0x82, 0x16, 0xd7, 0x22, 0x51, 0x69, 0x29, 0x90, 0xab, + 0x34, 0xee, 0xa1, 0x08, 0x72, 0x28, 0x82, 0x5e, 0x8b, 0x1e, 0xdb, 0xb8, 0x28, 0x0a, 0xa4, 0xb7, + 0x1c, 0x8a, 0xa2, 0x28, 0x8a, 0xc6, 0x97, 0x02, 0xea, 0xcd, 0xe8, 0xa9, 0x08, 0x0a, 0x21, 0x62, + 0x2e, 0x39, 0x06, 0xbd, 0x34, 0x87, 0x1c, 0x8a, 0xdd, 0x9d, 0x9d, 0x9d, 0x19, 0xee, 0x72, 0x97, + 0x96, 0xd2, 0xe6, 0x62, 0x8b, 0xf3, 0xde, 0x9b, 0x79, 0xfb, 0x7e, 0xbf, 0xf7, 0xf6, 0xed, 0xcc, + 0x80, 0xba, 0xd7, 0x39, 0xbc, 0xdf, 0xe9, 0x2d, 0x1f, 0x36, 0xba, 0xbd, 0x56, 0xe3, 0x40, 0xef, + 0x2e, 0x9b, 0x2d, 0xdd, 0xd4, 0x7b, 0xe6, 0xd2, 0x51, 0xb7, 0x63, 0x76, 0xe4, 0xb8, 0xf5, 0x77, + 0xea, 0xfa, 0x7e, 0xdb, 0x6c, 0x1d, 0xdf, 0x5f, 0xda, 0xeb, 0x1c, 0x2e, 0xef, 0x77, 0xf6, 0x3b, + 0xcb, 0xb6, 0xf0, 0xfe, 0xf1, 0x03, 0xfb, 0x97, 0xfd, 0xc3, 0xfe, 0xcb, 0x31, 0xd2, 0xfe, 0x89, + 0x61, 0xaa, 0xd6, 0x6e, 0xee, 0x1c, 0x99, 0xb5, 0x86, 0xd9, 0x7e, 0x4b, 0x97, 0xe7, 0x60, 0xfc, + 0x56, 0x5b, 0x3f, 0x68, 0xae, 0x28, 0x28, 0x8d, 0x32, 0xa8, 0x14, 0x3f, 0x39, 0x9d, 0x8f, 0xd5, + 0xc9, 0x18, 0x95, 0xe6, 0x15, 0x29, 0x8d, 0x32, 0x12, 0x27, 0xcd, 0x53, 0xe9, 0xaa, 0x82, 0xd3, + 0x28, 0x33, 0xc6, 0x49, 0x57, 0xa9, 0xb4, 0xa0, 0xc4, 0xd3, 0x28, 0x83, 0x39, 0x69, 0x81, 0x4a, + 0xd7, 0x94, 0xb1, 0x34, 0xca, 0x5c, 0xe2, 0xa4, 0x6b, 0x54, 0xba, 0xae, 0x8c, 0xa7, 0x51, 0x26, + 0xce, 0x49, 0xd7, 0xa9, 0xf4, 0x86, 0xf2, 0x4c, 0x1a, 0x65, 0x2e, 0x73, 0xd2, 0x1b, 0x54, 0xba, + 0xa1, 0x24, 0xd2, 0x28, 0x23, 0x73, 0xd2, 0x0d, 0x2a, 0xbd, 0xa9, 0x4c, 0xa4, 0x51, 0xe6, 0x19, + 0x4e, 0x7a, 0x53, 0x56, 0xe1, 0x19, 0xe7, 0xc9, 0x73, 0x0a, 0xa4, 0x51, 0x66, 0x86, 0x88, 0xdd, + 0x41, 0x4f, 0xbe, 0xa2, 0x4c, 0xa6, 0x51, 0x66, 0x9c, 0x97, 0xaf, 0x78, 0xf2, 0xbc, 0x32, 0x95, + 0x46, 0x99, 0x24, 0x2f, 0xcf, 0x7b, 0xf2, 0x55, 0xe5, 0x52, 0x1a, 0x65, 0x12, 0xbc, 0x7c, 0xd5, + 0x93, 0x17, 0x94, 0xe9, 0x34, 0xca, 0x4c, 0xf0, 0xf2, 0x82, 0x27, 0x5f, 0x53, 0x66, 0xd2, 0x28, + 0x33, 0xc5, 0xcb, 0xd7, 0xb4, 0x77, 0x6d, 0x78, 0x0d, 0x0f, 0xde, 0x59, 0x1e, 0x5e, 0x0a, 0xec, + 0x2c, 0x0f, 0x2c, 0x85, 0x74, 0x96, 0x87, 0x94, 0x82, 0x39, 0xcb, 0x83, 0x49, 0x61, 0x9c, 0xe5, + 0x61, 0xa4, 0x00, 0xce, 0xf2, 0x00, 0x52, 0xe8, 0x66, 0x79, 0xe8, 0x28, 0x68, 0xb3, 0x3c, 0x68, + 0x14, 0xae, 0x59, 0x1e, 0x2e, 0x0a, 0x94, 0x22, 0x00, 0xe5, 0x41, 0xa4, 0x08, 0x10, 0x79, 0xe0, + 0x28, 0x02, 0x38, 0x1e, 0x2c, 0x8a, 0x00, 0x8b, 0x07, 0x88, 0x22, 0x00, 0xe2, 0x41, 0xa1, 0x08, + 0x50, 0x78, 0x20, 0x90, 0x1c, 0xab, 0xeb, 0x47, 0x3e, 0x39, 0x86, 0x87, 0xe6, 0x18, 0x1e, 0x9a, + 0x63, 0x78, 0x68, 0x8e, 0xe1, 0xa1, 0x39, 0x86, 0x87, 0xe6, 0x18, 0x1e, 0x9a, 0x63, 0x78, 0x68, + 0x8e, 0xe1, 0xa1, 0x39, 0x86, 0x87, 0xe7, 0x18, 0x0e, 0xc9, 0x31, 0x1c, 0x92, 0x63, 0x38, 0x24, + 0xc7, 0x70, 0x48, 0x8e, 0xe1, 0x90, 0x1c, 0xc3, 0x81, 0x39, 0xe6, 0xc1, 0x3b, 0xcb, 0xc3, 0xeb, + 0x9b, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, 0xc3, 0x01, 0x39, 0x86, 0x03, + 0x72, 0x0c, 0x07, 0xe4, 0x18, 0x0e, 0xc8, 0x31, 0x1c, 0x94, 0x63, 0x38, 0x30, 0xc7, 0x70, 0x60, + 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x81, 0x39, 0x86, 0x03, 0x73, 0x0c, 0xb3, 0x39, 0xf6, 0x67, 0x0c, + 0xb2, 0x93, 0x63, 0x77, 0x1a, 0x7b, 0x3f, 0xd4, 0x9b, 0x04, 0x0a, 0x55, 0xc8, 0xb4, 0x71, 0x0b, + 0xba, 0xa4, 0x07, 0x89, 0x2a, 0xe4, 0x1a, 0x2f, 0xcf, 0x53, 0xb9, 0x9b, 0x6d, 0xbc, 0x7c, 0x95, + 0xca, 0xdd, 0x7c, 0xe3, 0xe5, 0x05, 0x2a, 0x77, 0x33, 0x8e, 0x97, 0xaf, 0x51, 0xb9, 0x9b, 0x73, + 0xbc, 0x7c, 0x9d, 0xca, 0xdd, 0xac, 0xe3, 0xe5, 0x37, 0xa8, 0xdc, 0xcd, 0x3b, 0x5e, 0xbe, 0x41, + 0xe5, 0x6e, 0xe6, 0xf1, 0xf2, 0x9b, 0x72, 0x5a, 0xcc, 0x3d, 0x57, 0x81, 0x42, 0x9b, 0x16, 0xb3, + 0x4f, 0xd0, 0x58, 0xf1, 0x34, 0xdc, 0xfc, 0x13, 0x34, 0xf2, 0x9e, 0x86, 0x9b, 0x81, 0x82, 0xc6, + 0xaa, 0xf6, 0x9e, 0x0d, 0x9f, 0x21, 0xc2, 0x97, 0x12, 0xe0, 0x93, 0x18, 0xe8, 0x52, 0x02, 0x74, + 0x12, 0x03, 0x5b, 0x4a, 0x80, 0x4d, 0x62, 0x20, 0x4b, 0x09, 0x90, 0x49, 0x0c, 0x5c, 0x29, 0x01, + 0x2e, 0x89, 0x81, 0x2a, 0x25, 0x40, 0x25, 0x31, 0x30, 0xa5, 0x04, 0x98, 0x24, 0x06, 0xa2, 0x94, + 0x00, 0x91, 0xc4, 0xc0, 0x93, 0x12, 0xe0, 0x91, 0x18, 0x68, 0xe6, 0x44, 0x68, 0x24, 0x16, 0x96, + 0x39, 0x11, 0x16, 0x89, 0x85, 0x64, 0x4e, 0x84, 0x44, 0x62, 0xe1, 0x98, 0x13, 0xe1, 0x90, 0x58, + 0x28, 0xbe, 0x94, 0xdc, 0x8e, 0xf0, 0x4d, 0xb3, 0x7b, 0xbc, 0x67, 0x9e, 0xab, 0x23, 0xcc, 0x71, + 0xed, 0xc3, 0x64, 0x5e, 0x5e, 0xb2, 0x1b, 0x56, 0xb6, 0xe3, 0x14, 0xde, 0x60, 0x39, 0xae, 0xb1, + 0x60, 0x2c, 0x0c, 0x7f, 0x8b, 0xc2, 0xb9, 0x7a, 0xc3, 0x1c, 0xd7, 0x66, 0x84, 0xfb, 0xb7, 0xf1, + 0x95, 0x77, 0x6c, 0x8f, 0x25, 0xb7, 0x63, 0x23, 0xe1, 0x1f, 0xb5, 0x63, 0xcb, 0x86, 0x87, 0x9c, + 0x06, 0x3b, 0x1b, 0x1e, 0xec, 0x81, 0xb7, 0x4e, 0xd4, 0x0e, 0x2e, 0x1b, 0x1e, 0x5a, 0x1a, 0xd4, + 0x8b, 0xed, 0xb7, 0x08, 0x83, 0xeb, 0xfa, 0x91, 0x0f, 0x83, 0x47, 0xed, 0xb7, 0x72, 0x5c, 0x29, + 0x19, 0x95, 0xc1, 0x78, 0x64, 0x06, 0x8f, 0xda, 0x79, 0xe5, 0xb8, 0xf2, 0x32, 0x32, 0x83, 0xbf, + 0x82, 0x7e, 0x88, 0x30, 0xd8, 0x0b, 0xff, 0xa8, 0xfd, 0x50, 0x36, 0x3c, 0xe4, 0xbe, 0x0c, 0xc6, + 0x23, 0x30, 0x38, 0x4a, 0x7f, 0x94, 0x0d, 0x0f, 0xad, 0x3f, 0x83, 0xcf, 0xdd, 0xcd, 0xbc, 0x8f, + 0xe0, 0x72, 0xad, 0xdd, 0xac, 0x1e, 0xde, 0xd7, 0x9b, 0x4d, 0xbd, 0x49, 0xe2, 0x98, 0xe3, 0x2a, + 0x41, 0x00, 0xd4, 0x4f, 0x4e, 0xe7, 0xbd, 0x08, 0xaf, 0x41, 0xc2, 0x89, 0x69, 0x2e, 0xa7, 0x9c, + 0xa0, 0x90, 0x0a, 0x47, 0x55, 0xe5, 0xab, 0xae, 0xd9, 0x4a, 0x4e, 0xf9, 0x3b, 0x62, 0xaa, 0x1c, + 0x1d, 0xd6, 0x7e, 0x6e, 0x7b, 0x68, 0x9c, 0xdb, 0xc3, 0xe5, 0x48, 0x1e, 0x32, 0xbe, 0xbd, 0x30, + 0xe0, 0x1b, 0xe3, 0xd5, 0x31, 0xcc, 0xd4, 0xda, 0xcd, 0x9a, 0xde, 0x33, 0xa3, 0xb9, 0xe4, 0xe8, + 0x08, 0xf5, 0x20, 0xc7, 0xd1, 0x92, 0xb5, 0xa0, 0x94, 0xe6, 0x6b, 0x84, 0xd6, 0xb6, 0x96, 0x35, + 0xb8, 0x65, 0xb3, 0x41, 0xcb, 0x7a, 0x95, 0x9d, 0x2e, 0x98, 0x0d, 0x5a, 0xd0, 0xcb, 0x21, 0xba, + 0xd4, 0xdb, 0xee, 0xcb, 0xb9, 0x7c, 0xdc, 0x33, 0x3b, 0x87, 0xf2, 0x1c, 0x48, 0x5b, 0x4d, 0x7b, + 0x8d, 0xa9, 0xd2, 0x94, 0xe5, 0xd4, 0xc7, 0xa7, 0xf3, 0xf1, 0xbb, 0xc7, 0xed, 0x66, 0x5d, 0xda, + 0x6a, 0xca, 0xb7, 0x61, 0xec, 0x3b, 0x8d, 0x83, 0x63, 0xdd, 0x7e, 0x45, 0x4c, 0x95, 0x0a, 0x44, + 0xe1, 0xe5, 0xc0, 0x3d, 0x22, 0x6b, 0xe1, 0xe5, 0x3d, 0x7b, 0xea, 0xa5, 0xbb, 0x6d, 0xc3, 0x5c, + 0xc9, 0x6f, 0xd4, 0x9d, 0x29, 0xb4, 0xef, 0x03, 0x38, 0x6b, 0x56, 0x1a, 0xbd, 0x96, 0x5c, 0x73, + 0x67, 0x76, 0x96, 0xde, 0xf8, 0xf8, 0x74, 0xbe, 0x10, 0x65, 0xd6, 0xeb, 0xcd, 0x46, 0xaf, 0x75, + 0xdd, 0x7c, 0x78, 0xa4, 0x2f, 0x95, 0x1e, 0x9a, 0x7a, 0xcf, 0x9d, 0xfd, 0xc8, 0x7d, 0xeb, 0x91, + 0xe7, 0x52, 0x98, 0xe7, 0x4a, 0x70, 0xcf, 0x74, 0x8b, 0x7f, 0xa6, 0xdc, 0xd3, 0x3e, 0xcf, 0xdb, + 0xee, 0x4b, 0x42, 0x88, 0x24, 0x0e, 0x8b, 0x24, 0x3e, 0x6f, 0x24, 0x8f, 0xdc, 0xfa, 0x28, 0x3c, + 0x2b, 0x1e, 0xf6, 0xac, 0xf8, 0x3c, 0xcf, 0xfa, 0x6f, 0x27, 0x5b, 0x69, 0x3e, 0xdd, 0x35, 0xda, + 0x1d, 0xe3, 0x6b, 0xb7, 0x17, 0x74, 0xa1, 0x5d, 0x40, 0x31, 0x7e, 0xf2, 0x68, 0x1e, 0x69, 0xef, + 0x4b, 0xee, 0x93, 0x3b, 0x89, 0xf4, 0x74, 0x4f, 0xfe, 0x75, 0xe9, 0xa9, 0xbe, 0x8a, 0x08, 0xfd, + 0x0a, 0xc1, 0xec, 0x40, 0x25, 0x77, 0xc2, 0x74, 0xb1, 0xe5, 0xdc, 0x18, 0xb5, 0x9c, 0x13, 0x07, + 0x7f, 0x8f, 0xe0, 0x39, 0xa1, 0xbc, 0x3a, 0xee, 0x2d, 0x0b, 0xee, 0x3d, 0x3f, 0xb8, 0x92, 0xad, + 0xc8, 0x78, 0xc7, 0xc2, 0x2b, 0x18, 0x30, 0x33, 0x53, 0xdc, 0x0b, 0x02, 0xee, 0x73, 0xd4, 0xc0, + 0x27, 0x5c, 0x2e, 0x03, 0x88, 0xdb, 0x1d, 0x88, 0xef, 0x76, 0x75, 0x5d, 0x56, 0x41, 0xda, 0xe9, + 0x12, 0x0f, 0xa7, 0x1d, 0xfb, 0x9d, 0x6e, 0xa9, 0xdb, 0x30, 0xf6, 0x5a, 0x75, 0x69, 0xa7, 0x2b, + 0x5f, 0x05, 0xbc, 0x69, 0x34, 0x89, 0x47, 0x33, 0x8e, 0xc2, 0xa6, 0xd1, 0x24, 0x1a, 0x96, 0x4c, + 0x56, 0x21, 0xfe, 0x86, 0xde, 0x78, 0x40, 0x9c, 0x00, 0x47, 0xc7, 0x1a, 0xa9, 0xdb, 0xe3, 0x64, + 0xc1, 0xef, 0x41, 0xc2, 0x9d, 0x58, 0x5e, 0xb0, 0x2c, 0x1e, 0x98, 0x64, 0x59, 0x62, 0x61, 0xb9, + 0x43, 0xde, 0x5c, 0xb6, 0x54, 0x5e, 0x84, 0xb1, 0x7a, 0x7b, 0xbf, 0x65, 0x92, 0xc5, 0x07, 0xd5, + 0x1c, 0xb1, 0x76, 0x0f, 0x26, 0xa8, 0x47, 0x17, 0x3c, 0x75, 0xc5, 0x79, 0x34, 0x39, 0xc5, 0xbe, + 0x4f, 0xdc, 0x7d, 0x4b, 0x67, 0x48, 0x4e, 0x43, 0xe2, 0x4d, 0xb3, 0xeb, 0x15, 0x7d, 0xb7, 0x23, + 0xa5, 0xa3, 0xda, 0xbb, 0x08, 0x12, 0x15, 0x5d, 0x3f, 0xb2, 0x03, 0x7e, 0x0d, 0xe2, 0x95, 0xce, + 0x8f, 0x0c, 0xe2, 0xe0, 0x65, 0x12, 0x51, 0x4b, 0x4c, 0x62, 0x6a, 0x8b, 0xe5, 0x6b, 0x6c, 0xdc, + 0x9f, 0xa5, 0x71, 0x67, 0xf4, 0xec, 0xd8, 0x6b, 0x5c, 0xec, 0x09, 0x80, 0x96, 0xd2, 0x40, 0xfc, + 0x6f, 0xc0, 0x24, 0xb3, 0x8a, 0x9c, 0x21, 0x6e, 0x48, 0xa2, 0x21, 0x1b, 0x2b, 0x4b, 0x43, 0xd3, + 0xe1, 0x12, 0xb7, 0xb0, 0x65, 0xca, 0x84, 0x38, 0xc0, 0xd4, 0x0e, 0x73, 0x96, 0x0f, 0xb3, 0xbf, + 0x2a, 0x09, 0x75, 0xce, 0x89, 0x91, 0x1d, 0xee, 0x05, 0x87, 0x9c, 0xc1, 0x20, 0x5a, 0x7f, 0x6b, + 0x63, 0x80, 0x6b, 0xed, 0x03, 0xed, 0x55, 0x00, 0x27, 0xe5, 0xab, 0xc6, 0xf1, 0xa1, 0x90, 0x75, + 0xd3, 0x6e, 0x80, 0x77, 0x5b, 0xfa, 0xae, 0xde, 0xb3, 0x55, 0xf8, 0x7e, 0xca, 0x2a, 0x30, 0xe0, + 0xa4, 0x98, 0x6d, 0xff, 0x52, 0xa8, 0xbd, 0x6f, 0x27, 0x66, 0xa9, 0x2a, 0x8e, 0xea, 0x3d, 0xdd, + 0xdc, 0x34, 0x3a, 0x66, 0x4b, 0xef, 0x0a, 0x16, 0x79, 0x79, 0x95, 0x4b, 0xd8, 0xe9, 0xfc, 0x0b, + 0xd4, 0x22, 0xd0, 0x68, 0x55, 0xfb, 0xd0, 0x76, 0xd0, 0x6a, 0x05, 0x06, 0x1e, 0x10, 0x47, 0x78, + 0x40, 0x79, 0x9d, 0xeb, 0xdf, 0x86, 0xb8, 0x29, 0x7c, 0x5a, 0xde, 0xe4, 0xbe, 0x73, 0x86, 0x3b, + 0xcb, 0x7f, 0x63, 0xba, 0x31, 0x75, 0x5d, 0x7e, 0x29, 0xd4, 0xe5, 0x80, 0xee, 0x76, 0xd4, 0x98, + 0xe2, 0xa8, 0x31, 0xfd, 0x13, 0xed, 0x38, 0xac, 0xe1, 0x8a, 0xfe, 0xa0, 0x71, 0x7c, 0x60, 0xca, + 0x2f, 0x87, 0x62, 0x5f, 0x44, 0x65, 0xea, 0x6a, 0x21, 0x2a, 0xfc, 0x45, 0xa9, 0x54, 0xa2, 0xee, + 0xde, 0x18, 0x81, 0x02, 0x45, 0xa9, 0x5c, 0xa6, 0x65, 0x3b, 0xf1, 0xde, 0xa3, 0x79, 0xf4, 0xc1, + 0xa3, 0xf9, 0x98, 0xf6, 0x3b, 0x04, 0x97, 0x89, 0x26, 0x43, 0xdc, 0xeb, 0x82, 0xf3, 0x57, 0xdc, + 0x9a, 0xe1, 0x17, 0x81, 0xff, 0x1a, 0x79, 0xff, 0x8a, 0x40, 0x19, 0xf0, 0xd5, 0x8d, 0x77, 0x2e, + 0x92, 0xcb, 0x45, 0x54, 0xfd, 0xdf, 0xc7, 0xfc, 0x1e, 0x8c, 0xed, 0xb6, 0x0f, 0xf5, 0xae, 0xf5, + 0x26, 0xb0, 0xfe, 0x70, 0x5c, 0x76, 0x0f, 0x73, 0x9c, 0x21, 0x57, 0xe6, 0x38, 0xc7, 0xc9, 0xf2, + 0xb2, 0x02, 0xf1, 0x4a, 0xc3, 0x6c, 0xd8, 0x1e, 0x4c, 0xd1, 0xfa, 0xda, 0x30, 0x1b, 0xda, 0x2a, + 0x4c, 0x6d, 0x3f, 0xac, 0xbe, 0x6d, 0xea, 0x46, 0xb3, 0x71, 0xff, 0x40, 0x3c, 0x03, 0x75, 0xfb, + 0xd5, 0x95, 0xec, 0x58, 0xa2, 0x99, 0x3c, 0x41, 0xc5, 0xb8, 0xed, 0xcf, 0x5b, 0x30, 0xbd, 0x63, + 0xb9, 0x6d, 0xdb, 0x71, 0x66, 0xce, 0xea, 0x98, 0x3e, 0xbc, 0xd0, 0x94, 0x61, 0xaf, 0x29, 0x4b, + 0x03, 0xda, 0xe6, 0x5b, 0x27, 0xd6, 0x8f, 0x3a, 0xda, 0xce, 0xc6, 0x13, 0xd3, 0xc9, 0xcb, 0xd9, + 0x78, 0x02, 0x92, 0x97, 0xc8, 0xba, 0x7f, 0xc3, 0x90, 0x74, 0x5a, 0x9d, 0x8a, 0xfe, 0xa0, 0x6d, + 0xb4, 0xcd, 0xc1, 0x7e, 0x95, 0x7a, 0x2c, 0x7f, 0x13, 0x26, 0xac, 0x90, 0xda, 0xbf, 0x08, 0x60, + 0x57, 0x49, 0x8b, 0x22, 0x4c, 0x41, 0x06, 0x6c, 0xea, 0x78, 0x36, 0xf2, 0x2d, 0xc0, 0xb5, 0xda, + 0x36, 0x79, 0xb9, 0x15, 0x86, 0x9a, 0x6e, 0xeb, 0xbd, 0x5e, 0x63, 0x5f, 0x27, 0xbf, 0xc8, 0x58, + 0x6f, 0xbf, 0x6e, 0x4d, 0x20, 0x17, 0x40, 0xaa, 0x6d, 0x93, 0x86, 0x77, 0x21, 0xca, 0x34, 0x75, + 0xa9, 0xb6, 0x9d, 0xfa, 0x0b, 0x82, 0x4b, 0xdc, 0xa8, 0xac, 0xc1, 0x94, 0x33, 0xc0, 0x3c, 0xee, + 0x78, 0x9d, 0x1b, 0x73, 0x7d, 0x96, 0xce, 0xe9, 0x73, 0x6a, 0x13, 0x66, 0x84, 0x71, 0x79, 0x09, + 0x64, 0x76, 0x88, 0x38, 0x01, 0x76, 0x43, 0xed, 0x23, 0xd1, 0xfe, 0x0f, 0xc0, 0x8b, 0xab, 0x3c, + 0x03, 0x93, 0xbb, 0xf7, 0xee, 0x54, 0x7f, 0x50, 0xab, 0xbe, 0xb9, 0x5b, 0xad, 0x24, 0x91, 0xf6, + 0x07, 0x04, 0x93, 0xa4, 0x6d, 0xdd, 0xeb, 0x1c, 0xe9, 0x72, 0x09, 0xd0, 0x26, 0xe1, 0xc3, 0xd3, + 0xf9, 0x8d, 0x36, 0xe5, 0x65, 0x40, 0xa5, 0xe8, 0x50, 0xa3, 0x92, 0x9c, 0x07, 0x54, 0x26, 0x00, + 0x47, 0x43, 0x06, 0x95, 0xb5, 0x7f, 0x61, 0x78, 0x96, 0x6d, 0xa3, 0xdd, 0x7a, 0x72, 0x95, 0xff, + 0x6e, 0x2a, 0x4e, 0xac, 0xe4, 0x57, 0x0b, 0x4b, 0xd6, 0x3f, 0x94, 0x92, 0x1a, 0xff, 0x09, 0x55, + 0x04, 0xaa, 0xb2, 0x12, 0x74, 0x4f, 0xa4, 0x18, 0x67, 0x66, 0x18, 0xb8, 0x27, 0xc2, 0x49, 0x07, + 0xee, 0x89, 0x70, 0xd2, 0x81, 0x7b, 0x22, 0x9c, 0x74, 0xe0, 0x2c, 0x80, 0x93, 0x0e, 0xdc, 0x13, + 0xe1, 0xa4, 0x03, 0xf7, 0x44, 0x38, 0xe9, 0xe0, 0x3d, 0x11, 0x22, 0x0e, 0xbc, 0x27, 0xc2, 0xcb, + 0x07, 0xef, 0x89, 0xf0, 0xf2, 0xc1, 0x7b, 0x22, 0xc5, 0xb8, 0xd9, 0x3d, 0xd6, 0x83, 0x4f, 0x1d, + 0x78, 0xfb, 0x61, 0x1f, 0x81, 0x5e, 0x05, 0xde, 0x81, 0x19, 0x67, 0x43, 0xa2, 0xdc, 0x31, 0xcc, + 0x46, 0xdb, 0xd0, 0xbb, 0xf2, 0x37, 0x60, 0xca, 0x19, 0x72, 0x3e, 0x73, 0xfc, 0x3e, 0x03, 0x1d, + 0x39, 0xa9, 0xb7, 0x9c, 0xb6, 0xf6, 0x65, 0x1c, 0x66, 0x9d, 0x81, 0x5a, 0xe3, 0x50, 0xe7, 0x6e, + 0x19, 0x2d, 0x0a, 0x67, 0x4a, 0xd3, 0x96, 0x79, 0xff, 0x74, 0xde, 0x19, 0xdd, 0xa4, 0x6c, 0x5a, + 0x14, 0x4e, 0x97, 0x78, 0x3d, 0xef, 0x05, 0xb4, 0x28, 0xdc, 0x3c, 0xe2, 0xf5, 0xe8, 0xfb, 0x86, + 0xea, 0xb9, 0x77, 0x90, 0x78, 0xbd, 0x0a, 0x65, 0xd9, 0xa2, 0x70, 0x1b, 0x89, 0xd7, 0xab, 0x52, + 0xbe, 0x2d, 0x0a, 0x67, 0x4f, 0xbc, 0xde, 0x2d, 0xca, 0xbc, 0x45, 0xe1, 0x14, 0x8a, 0xd7, 0xfb, + 0x16, 0xe5, 0xe0, 0xa2, 0x70, 0x57, 0x89, 0xd7, 0x7b, 0x9d, 0xb2, 0x71, 0x51, 0xb8, 0xb5, 0xc4, + 0xeb, 0x6d, 0x51, 0x5e, 0x66, 0xc4, 0xfb, 0x4b, 0xbc, 0xe2, 0x6d, 0x8f, 0xa1, 0x19, 0xf1, 0x26, + 0x13, 0xaf, 0xf9, 0x6d, 0x8f, 0xab, 0x19, 0xf1, 0x4e, 0x13, 0xaf, 0xf9, 0x86, 0xc7, 0xda, 0x8c, + 0x78, 0x56, 0xc6, 0x6b, 0x6e, 0x7b, 0xfc, 0xcd, 0x88, 0xa7, 0x66, 0xbc, 0x66, 0xcd, 0x63, 0x72, + 0x46, 0x3c, 0x3f, 0xe3, 0x35, 0x77, 0xbc, 0x4d, 0xf4, 0x8f, 0x04, 0xfa, 0x31, 0xb7, 0xa0, 0x34, + 0x81, 0x7e, 0xe0, 0x43, 0x3d, 0xa1, 0x90, 0x31, 0x3a, 0x1e, 0xed, 0x34, 0x81, 0x76, 0xe0, 0x43, + 0x39, 0x4d, 0xa0, 0x1c, 0xf8, 0xd0, 0x4d, 0x13, 0xe8, 0x06, 0x3e, 0x54, 0xd3, 0x04, 0xaa, 0x81, + 0x0f, 0xcd, 0x34, 0x81, 0x66, 0xe0, 0x43, 0x31, 0x4d, 0xa0, 0x18, 0xf8, 0xd0, 0x4b, 0x13, 0xe8, + 0x05, 0x3e, 0xd4, 0x5a, 0x10, 0xa9, 0x05, 0x7e, 0xb4, 0x5a, 0x10, 0x69, 0x05, 0x7e, 0x94, 0x7a, + 0x51, 0xa4, 0xd4, 0x44, 0xff, 0x74, 0x7e, 0xcc, 0x1a, 0x62, 0xd8, 0xb4, 0x20, 0xb2, 0x09, 0xfc, + 0x98, 0xb4, 0x20, 0x32, 0x09, 0xfc, 0x58, 0xb4, 0x20, 0xb2, 0x08, 0xfc, 0x18, 0xf4, 0x58, 0x64, + 0x90, 0x77, 0xc7, 0x47, 0x13, 0x8e, 0x14, 0xc3, 0x18, 0x84, 0x23, 0x30, 0x08, 0x47, 0x60, 0x10, + 0x8e, 0xc0, 0x20, 0x1c, 0x81, 0x41, 0x38, 0x02, 0x83, 0x70, 0x04, 0x06, 0xe1, 0x08, 0x0c, 0xc2, + 0x51, 0x18, 0x84, 0x23, 0x31, 0x08, 0x07, 0x31, 0x68, 0x41, 0xbc, 0xf1, 0x00, 0x7e, 0x05, 0x69, + 0x41, 0x3c, 0xfa, 0x0c, 0xa7, 0x10, 0x8e, 0x44, 0x21, 0x1c, 0x44, 0xa1, 0x8f, 0x30, 0x3c, 0xcb, + 0x51, 0x88, 0x9c, 0x0f, 0x5d, 0x54, 0x05, 0x5a, 0x8f, 0x70, 0xc1, 0xc2, 0x8f, 0x53, 0xeb, 0x11, + 0x0e, 0xa9, 0x87, 0xf1, 0x6c, 0xb0, 0x0a, 0x55, 0x23, 0x54, 0xa1, 0x5b, 0x94, 0x43, 0xeb, 0x11, + 0x2e, 0x5e, 0x0c, 0x72, 0x6f, 0x63, 0x58, 0x11, 0x78, 0x3d, 0x52, 0x11, 0xd8, 0x8a, 0x54, 0x04, + 0x6e, 0x7b, 0x08, 0xfe, 0x54, 0x82, 0xe7, 0x3c, 0x04, 0x9d, 0xbf, 0x76, 0x1f, 0x1e, 0x59, 0x25, + 0xc0, 0x3b, 0xa2, 0x92, 0xdd, 0x63, 0x1b, 0x06, 0x46, 0x69, 0xab, 0x29, 0xdf, 0xe1, 0x0f, 0xab, + 0x8a, 0xa3, 0x1e, 0xe0, 0x30, 0x88, 0x93, 0xcd, 0xd0, 0x05, 0xc0, 0x5b, 0xcd, 0x9e, 0x5d, 0x2d, + 0xfc, 0x96, 0x2d, 0xd7, 0x2d, 0xb1, 0x5c, 0x87, 0x71, 0x5b, 0xbd, 0x67, 0xc3, 0x7b, 0x9e, 0x85, + 0x2b, 0x75, 0x32, 0x93, 0xf6, 0x18, 0x41, 0x9a, 0xa3, 0xf2, 0xc5, 0x1c, 0x19, 0xbc, 0x12, 0xe9, + 0xc8, 0x80, 0x4b, 0x10, 0xef, 0xf8, 0xe0, 0xff, 0x07, 0x4f, 0xaa, 0xd9, 0x2c, 0x11, 0x8f, 0x12, + 0x7e, 0x02, 0xd3, 0xde, 0x13, 0xd8, 0xdf, 0x6c, 0x6b, 0xe1, 0xbb, 0x99, 0x7e, 0xa9, 0xb9, 0x26, + 0xec, 0xa2, 0x0d, 0x35, 0xa3, 0xd9, 0xaa, 0x15, 0x61, 0xa6, 0xd6, 0xb1, 0x77, 0x00, 0x7a, 0xed, + 0x8e, 0xd1, 0xdb, 0x6e, 0x1c, 0x85, 0x6d, 0x46, 0x24, 0xac, 0xd6, 0xfc, 0xe4, 0xd7, 0xf3, 0x31, + 0xed, 0x65, 0x98, 0xba, 0x6b, 0x74, 0xf5, 0xbd, 0xce, 0xbe, 0xd1, 0xfe, 0xb1, 0xde, 0x14, 0x0c, + 0x27, 0x5c, 0xc3, 0x62, 0xfc, 0x89, 0xa5, 0xfd, 0x0b, 0x04, 0x57, 0x58, 0xf5, 0xef, 0xb6, 0xcd, + 0xd6, 0x96, 0x61, 0xf5, 0xf4, 0xaf, 0x42, 0x42, 0x27, 0xc0, 0xd9, 0xef, 0xae, 0x49, 0xf7, 0x3b, + 0xd2, 0x57, 0x7d, 0xc9, 0xfe, 0xb7, 0x4e, 0x4d, 0x84, 0x5d, 0x10, 0x77, 0xd9, 0x7c, 0xea, 0x1a, + 0x8c, 0x39, 0xf3, 0xf3, 0x7e, 0x5d, 0x12, 0xfc, 0xfa, 0xad, 0x8f, 0x5f, 0x36, 0x8f, 0xe4, 0xdb, + 0x9c, 0x5f, 0xcc, 0xe7, 0xaa, 0xaf, 0xfa, 0x92, 0x4b, 0xbe, 0x52, 0xc2, 0xea, 0xff, 0x6c, 0x46, + 0x85, 0x3b, 0x99, 0x81, 0x44, 0x55, 0xd4, 0xf1, 0xf7, 0xb3, 0x02, 0xf1, 0x5a, 0xa7, 0xa9, 0xcb, + 0xcf, 0xc1, 0xd8, 0x1b, 0x8d, 0xfb, 0xfa, 0x01, 0x09, 0xb2, 0xf3, 0x43, 0x5e, 0x84, 0x44, 0xb9, + 0xd5, 0x3e, 0x68, 0x76, 0x75, 0x83, 0x9c, 0xd9, 0x93, 0x2d, 0x74, 0xcb, 0xa6, 0x4e, 0x65, 0x5a, + 0x19, 0x2e, 0xd7, 0x3a, 0x46, 0xe9, 0xa1, 0xc9, 0xd6, 0x8d, 0x25, 0x21, 0x45, 0xc8, 0x99, 0xcf, + 0x1d, 0x2b, 0x1b, 0x2d, 0x85, 0xd2, 0xd8, 0xc7, 0xa7, 0xf3, 0x68, 0x97, 0xee, 0x9f, 0x6f, 0xc3, + 0xf3, 0x24, 0x7d, 0x06, 0xa6, 0xca, 0x87, 0x4d, 0x35, 0x41, 0xce, 0xa9, 0x99, 0xe9, 0xb6, 0xac, + 0xe9, 0x0c, 0xdf, 0xe9, 0x9e, 0xce, 0x33, 0xab, 0x29, 0x1a, 0xea, 0x19, 0x1e, 0xc9, 0x33, 0xdf, + 0xe9, 0x96, 0xc2, 0xa6, 0x13, 0x3c, 0x7b, 0x11, 0x26, 0xa8, 0x8c, 0x61, 0x03, 0x9b, 0x29, 0xf9, + 0xac, 0x06, 0x93, 0x4c, 0xc2, 0xca, 0x63, 0x80, 0x36, 0x93, 0x31, 0xeb, 0xbf, 0x52, 0x12, 0x59, + 0xff, 0x95, 0x93, 0x52, 0xf6, 0x1a, 0xcc, 0x08, 0xfb, 0x97, 0x96, 0xa4, 0x92, 0x04, 0xeb, 0xbf, + 0x6a, 0x72, 0x32, 0x15, 0x7f, 0xef, 0x37, 0x6a, 0x2c, 0xfb, 0x0a, 0xc8, 0x83, 0x3b, 0x9d, 0xf2, + 0x38, 0x48, 0x9b, 0xd6, 0x94, 0xcf, 0x83, 0x54, 0x2a, 0x25, 0x51, 0x6a, 0xe6, 0x67, 0xbf, 0x4c, + 0x4f, 0x96, 0x74, 0xd3, 0xd4, 0xbb, 0xf7, 0x74, 0xb3, 0x54, 0x22, 0xc6, 0xaf, 0xc1, 0x15, 0xdf, + 0x9d, 0x52, 0xcb, 0xbe, 0x5c, 0x76, 0xec, 0x2b, 0x95, 0x01, 0xfb, 0x4a, 0xc5, 0xb6, 0x47, 0x45, + 0xf7, 0xc4, 0x79, 0x53, 0xf6, 0xd9, 0x65, 0x54, 0x9a, 0xcc, 0x09, 0xf7, 0x66, 0xf1, 0x35, 0xa2, + 0x5b, 0xf2, 0xd5, 0xd5, 0x43, 0x4e, 0xac, 0x4b, 0xc5, 0x32, 0xb1, 0x2f, 0xfb, 0xda, 0x3f, 0x10, + 0x8e, 0x55, 0xf9, 0x37, 0x04, 0x99, 0xa4, 0x4c, 0x1d, 0xae, 0xf8, 0x4e, 0xd2, 0x62, 0x2e, 0xbb, + 0x57, 0xa8, 0xc3, 0x55, 0x5f, 0xdd, 0x76, 0xc8, 0xa5, 0xaf, 0x6a, 0x71, 0x99, 0xbc, 0xe4, 0x37, + 0x57, 0xe4, 0x2b, 0x6e, 0x8e, 0x72, 0x15, 0x98, 0x04, 0xc8, 0xd5, 0x2a, 0x96, 0x89, 0x41, 0x29, + 0xd0, 0x20, 0x38, 0x4a, 0xae, 0x65, 0xf1, 0x75, 0x32, 0x49, 0x39, 0x70, 0x92, 0x90, 0x50, 0xb9, + 0xe6, 0xa5, 0xdd, 0x93, 0x33, 0x35, 0xf6, 0xe4, 0x4c, 0x8d, 0xfd, 0xe3, 0x4c, 0x8d, 0x7d, 0x72, + 0xa6, 0xa2, 0xcf, 0xce, 0x54, 0xf4, 0xf9, 0x99, 0x8a, 0xbe, 0x38, 0x53, 0xd1, 0x3b, 0x7d, 0x15, + 0x7d, 0xd0, 0x57, 0xd1, 0x87, 0x7d, 0x15, 0xfd, 0xb1, 0xaf, 0xa2, 0xc7, 0x7d, 0x15, 0x9d, 0xf4, + 0x55, 0xf4, 0xa4, 0xaf, 0xc6, 0x3e, 0xe9, 0xab, 0xe8, 0xb3, 0xbe, 0x1a, 0xfb, 0xbc, 0xaf, 0xa2, + 0x2f, 0xfa, 0x6a, 0xec, 0x9d, 0x4f, 0xd5, 0xd8, 0xa3, 0x4f, 0xd5, 0xd8, 0x07, 0x9f, 0xaa, 0xe8, + 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xbb, 0x21, 0xff, 0xfc, 0x4c, 0x36, 0x00, 0x00, +} + func (this *NidOptNative) Compare(that interface{}) int { if that == nil { if this == nil { @@ -8934,428 +9153,430 @@ func (this *ProtoType) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func ThetestDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 6731 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x7b, 0x70, 0x24, 0x57, - 0x79, 0xaf, 0x7a, 0x7a, 0xa4, 0x1d, 0x7d, 0x7a, 0xb5, 0x5a, 0xbb, 0xda, 0xb1, 0xbc, 0x96, 0x76, - 0xc7, 0xeb, 0xb5, 0x2c, 0xdb, 0x5a, 0xad, 0x56, 0xfb, 0x9a, 0xc5, 0xf6, 0x9d, 0xd7, 0xae, 0xb5, - 0xac, 0x46, 0xa2, 0x25, 0x61, 0x2f, 0xdc, 0x5b, 0x53, 0xbd, 0x33, 0x47, 0xd2, 0xd8, 0x33, 0xdd, - 0xc3, 0x74, 0x8f, 0x6d, 0xb9, 0x6e, 0xdd, 0xf2, 0x85, 0x7b, 0x09, 0x24, 0x95, 0x27, 0x49, 0x05, - 0x08, 0x18, 0x03, 0x05, 0x18, 0xf2, 0x82, 0x40, 0x08, 0x90, 0x54, 0xf0, 0x3f, 0x24, 0x9b, 0xaa, - 0x54, 0xca, 0xe4, 0xaf, 0x14, 0x95, 0x72, 0xe1, 0x35, 0x55, 0x21, 0x89, 0x13, 0x08, 0x71, 0x55, - 0xa8, 0x32, 0x7f, 0xa4, 0xce, 0xab, 0xbb, 0xcf, 0x99, 0x1e, 0x75, 0xcb, 0x6b, 0x1b, 0xfe, 0xd9, - 0x9d, 0x39, 0xdf, 0xf7, 0xfb, 0xfa, 0x3b, 0xdf, 0xeb, 0x7c, 0x7d, 0xce, 0xd1, 0xc0, 0x8f, 0x2e, - 0xc0, 0xd1, 0x6d, 0xdb, 0xde, 0x6e, 0xa0, 0x93, 0xad, 0xb6, 0xed, 0xda, 0xd7, 0x3b, 0x5b, 0x27, - 0x6b, 0xc8, 0xa9, 0xb6, 0xeb, 0x2d, 0xd7, 0x6e, 0xcf, 0x93, 0x31, 0x7d, 0x8c, 0x72, 0xcc, 0x73, - 0x8e, 0xcc, 0x0a, 0x8c, 0x5f, 0xaa, 0x37, 0x50, 0xd1, 0x63, 0x5c, 0x47, 0xae, 0x7e, 0x1e, 0x92, - 0x5b, 0xf5, 0x06, 0x4a, 0x2b, 0x47, 0xd5, 0xd9, 0xa1, 0xc5, 0xe3, 0xf3, 0x12, 0x68, 0x5e, 0x44, - 0xac, 0xe1, 0x61, 0x83, 0x20, 0x32, 0x3f, 0x48, 0xc2, 0x44, 0x08, 0x55, 0xd7, 0x21, 0x69, 0x99, - 0x4d, 0x2c, 0x51, 0x99, 0x1d, 0x34, 0xc8, 0x67, 0x3d, 0x0d, 0x07, 0x5a, 0x66, 0xf5, 0x71, 0x73, - 0x1b, 0xa5, 0x13, 0x64, 0x98, 0x7f, 0xd5, 0xa7, 0x01, 0x6a, 0xa8, 0x85, 0xac, 0x1a, 0xb2, 0xaa, - 0xbb, 0x69, 0xf5, 0xa8, 0x3a, 0x3b, 0x68, 0x04, 0x46, 0xf4, 0x7b, 0x61, 0xbc, 0xd5, 0xb9, 0xde, - 0xa8, 0x57, 0x2b, 0x01, 0x36, 0x38, 0xaa, 0xce, 0xf6, 0x1b, 0x1a, 0x25, 0x14, 0x7d, 0xe6, 0xbb, - 0x61, 0xec, 0x49, 0x64, 0x3e, 0x1e, 0x64, 0x1d, 0x22, 0xac, 0xa3, 0x78, 0x38, 0xc0, 0x58, 0x80, - 0xe1, 0x26, 0x72, 0x1c, 0x73, 0x1b, 0x55, 0xdc, 0xdd, 0x16, 0x4a, 0x27, 0xc9, 0xec, 0x8f, 0x76, - 0xcd, 0x5e, 0x9e, 0xf9, 0x10, 0x43, 0x6d, 0xec, 0xb6, 0x90, 0x9e, 0x83, 0x41, 0x64, 0x75, 0x9a, - 0x54, 0x42, 0x7f, 0x0f, 0xfb, 0x95, 0xac, 0x4e, 0x53, 0x96, 0x92, 0xc2, 0x30, 0x26, 0xe2, 0x80, - 0x83, 0xda, 0x4f, 0xd4, 0xab, 0x28, 0x3d, 0x40, 0x04, 0xdc, 0xdd, 0x25, 0x60, 0x9d, 0xd2, 0x65, - 0x19, 0x1c, 0xa7, 0x17, 0x60, 0x10, 0x3d, 0xe5, 0x22, 0xcb, 0xa9, 0xdb, 0x56, 0xfa, 0x00, 0x11, - 0x72, 0x57, 0x88, 0x17, 0x51, 0xa3, 0x26, 0x8b, 0xf0, 0x71, 0xfa, 0x59, 0x38, 0x60, 0xb7, 0xdc, - 0xba, 0x6d, 0x39, 0xe9, 0xd4, 0x51, 0x65, 0x76, 0x68, 0xf1, 0x48, 0x68, 0x20, 0xac, 0x52, 0x1e, - 0x83, 0x33, 0xeb, 0xcb, 0xa0, 0x39, 0x76, 0xa7, 0x5d, 0x45, 0x95, 0xaa, 0x5d, 0x43, 0x95, 0xba, - 0xb5, 0x65, 0xa7, 0x07, 0x89, 0x80, 0x99, 0xee, 0x89, 0x10, 0xc6, 0x82, 0x5d, 0x43, 0xcb, 0xd6, - 0x96, 0x6d, 0x8c, 0x3a, 0xc2, 0x77, 0x7d, 0x12, 0x06, 0x9c, 0x5d, 0xcb, 0x35, 0x9f, 0x4a, 0x0f, - 0x93, 0x08, 0x61, 0xdf, 0x32, 0xdf, 0x1c, 0x80, 0xb1, 0x38, 0x21, 0x76, 0x11, 0xfa, 0xb7, 0xf0, - 0x2c, 0xd3, 0x89, 0xfd, 0xd8, 0x80, 0x62, 0x44, 0x23, 0x0e, 0xbc, 0x41, 0x23, 0xe6, 0x60, 0xc8, - 0x42, 0x8e, 0x8b, 0x6a, 0x34, 0x22, 0xd4, 0x98, 0x31, 0x05, 0x14, 0xd4, 0x1d, 0x52, 0xc9, 0x37, - 0x14, 0x52, 0x8f, 0xc2, 0x98, 0xa7, 0x52, 0xa5, 0x6d, 0x5a, 0xdb, 0x3c, 0x36, 0x4f, 0x46, 0x69, - 0x32, 0x5f, 0xe2, 0x38, 0x03, 0xc3, 0x8c, 0x51, 0x24, 0x7c, 0xd7, 0x8b, 0x00, 0xb6, 0x85, 0xec, - 0xad, 0x4a, 0x0d, 0x55, 0x1b, 0xe9, 0x54, 0x0f, 0x2b, 0xad, 0x62, 0x96, 0x2e, 0x2b, 0xd9, 0x74, - 0xb4, 0xda, 0xd0, 0x2f, 0xf8, 0xa1, 0x76, 0xa0, 0x47, 0xa4, 0xac, 0xd0, 0x24, 0xeb, 0x8a, 0xb6, - 0x4d, 0x18, 0x6d, 0x23, 0x1c, 0xf7, 0xa8, 0xc6, 0x66, 0x36, 0x48, 0x94, 0x98, 0x8f, 0x9c, 0x99, - 0xc1, 0x60, 0x74, 0x62, 0x23, 0xed, 0xe0, 0x57, 0xfd, 0x4e, 0xf0, 0x06, 0x2a, 0x24, 0xac, 0x80, - 0x54, 0xa1, 0x61, 0x3e, 0x58, 0x36, 0x9b, 0x68, 0xea, 0x69, 0x18, 0x15, 0xcd, 0xa3, 0x1f, 0x84, - 0x7e, 0xc7, 0x35, 0xdb, 0x2e, 0x89, 0xc2, 0x7e, 0x83, 0x7e, 0xd1, 0x35, 0x50, 0x91, 0x55, 0x23, - 0x55, 0xae, 0xdf, 0xc0, 0x1f, 0xf5, 0xff, 0xe1, 0x4f, 0x58, 0x25, 0x13, 0x3e, 0xd1, 0xed, 0x51, - 0x41, 0xb2, 0x3c, 0xef, 0xa9, 0x73, 0x30, 0x22, 0x4c, 0x20, 0xee, 0xa3, 0x33, 0xff, 0x1b, 0x0e, - 0x85, 0x8a, 0xd6, 0x1f, 0x85, 0x83, 0x1d, 0xab, 0x6e, 0xb9, 0xa8, 0xdd, 0x6a, 0x23, 0x1c, 0xb1, - 0xf4, 0x51, 0xe9, 0x7f, 0x3a, 0xd0, 0x23, 0xe6, 0x36, 0x83, 0xdc, 0x54, 0x8a, 0x31, 0xd1, 0xe9, - 0x1e, 0x9c, 0x1b, 0x4c, 0xfd, 0xf0, 0x80, 0xf6, 0xcc, 0x33, 0xcf, 0x3c, 0x93, 0xc8, 0x7c, 0x74, - 0x00, 0x0e, 0x86, 0xe5, 0x4c, 0x68, 0xfa, 0x4e, 0xc2, 0x80, 0xd5, 0x69, 0x5e, 0x47, 0x6d, 0x62, - 0xa4, 0x7e, 0x83, 0x7d, 0xd3, 0x73, 0xd0, 0xdf, 0x30, 0xaf, 0xa3, 0x46, 0x3a, 0x79, 0x54, 0x99, - 0x1d, 0x5d, 0xbc, 0x37, 0x56, 0x56, 0xce, 0x5f, 0xc5, 0x10, 0x83, 0x22, 0xf5, 0x07, 0x21, 0xc9, - 0x4a, 0x34, 0x96, 0x30, 0x17, 0x4f, 0x02, 0xce, 0x25, 0x83, 0xe0, 0xf4, 0xdb, 0x61, 0x10, 0xff, - 0x4f, 0x63, 0x63, 0x80, 0xe8, 0x9c, 0xc2, 0x03, 0x38, 0x2e, 0xf4, 0x29, 0x48, 0x91, 0x34, 0xa9, - 0x21, 0xbe, 0xb4, 0x79, 0xdf, 0x71, 0x60, 0xd5, 0xd0, 0x96, 0xd9, 0x69, 0xb8, 0x95, 0x27, 0xcc, - 0x46, 0x07, 0x91, 0x80, 0x1f, 0x34, 0x86, 0xd9, 0xe0, 0xbb, 0xf1, 0x98, 0x3e, 0x03, 0x43, 0x34, - 0xab, 0xea, 0x56, 0x0d, 0x3d, 0x45, 0xaa, 0x67, 0xbf, 0x41, 0x13, 0x6d, 0x19, 0x8f, 0xe0, 0xc7, - 0x3f, 0xe6, 0xd8, 0x16, 0x0f, 0x4d, 0xf2, 0x08, 0x3c, 0x40, 0x1e, 0x7f, 0x4e, 0x2e, 0xdc, 0x77, - 0x84, 0x4f, 0x4f, 0x8e, 0xa9, 0xcc, 0xd7, 0x13, 0x90, 0x24, 0xf5, 0x62, 0x0c, 0x86, 0x36, 0xae, - 0xad, 0x95, 0x2a, 0xc5, 0xd5, 0xcd, 0xfc, 0xd5, 0x92, 0xa6, 0xe8, 0xa3, 0x00, 0x64, 0xe0, 0xd2, - 0xd5, 0xd5, 0xdc, 0x86, 0x96, 0xf0, 0xbe, 0x2f, 0x97, 0x37, 0xce, 0x2e, 0x69, 0xaa, 0x07, 0xd8, - 0xa4, 0x03, 0xc9, 0x20, 0xc3, 0xe9, 0x45, 0xad, 0x5f, 0xd7, 0x60, 0x98, 0x0a, 0x58, 0x7e, 0xb4, - 0x54, 0x3c, 0xbb, 0xa4, 0x0d, 0x88, 0x23, 0xa7, 0x17, 0xb5, 0x03, 0xfa, 0x08, 0x0c, 0x92, 0x91, - 0xfc, 0xea, 0xea, 0x55, 0x2d, 0xe5, 0xc9, 0x5c, 0xdf, 0x30, 0x96, 0xcb, 0x97, 0xb5, 0x41, 0x4f, - 0xe6, 0x65, 0x63, 0x75, 0x73, 0x4d, 0x03, 0x4f, 0xc2, 0x4a, 0x69, 0x7d, 0x3d, 0x77, 0xb9, 0xa4, - 0x0d, 0x79, 0x1c, 0xf9, 0x6b, 0x1b, 0xa5, 0x75, 0x6d, 0x58, 0x50, 0xeb, 0xf4, 0xa2, 0x36, 0xe2, - 0x3d, 0xa2, 0x54, 0xde, 0x5c, 0xd1, 0x46, 0xf5, 0x71, 0x18, 0xa1, 0x8f, 0xe0, 0x4a, 0x8c, 0x49, - 0x43, 0x67, 0x97, 0x34, 0xcd, 0x57, 0x84, 0x4a, 0x19, 0x17, 0x06, 0xce, 0x2e, 0x69, 0x7a, 0xa6, - 0x00, 0xfd, 0x24, 0xba, 0x74, 0x1d, 0x46, 0xaf, 0xe6, 0xf2, 0xa5, 0xab, 0x95, 0xd5, 0xb5, 0x8d, - 0xe5, 0xd5, 0x72, 0xee, 0xaa, 0xa6, 0xf8, 0x63, 0x46, 0xe9, 0x5d, 0x9b, 0xcb, 0x46, 0xa9, 0xa8, - 0x25, 0x82, 0x63, 0x6b, 0xa5, 0xdc, 0x46, 0xa9, 0xa8, 0xa9, 0x99, 0x2a, 0x1c, 0x0c, 0xab, 0x93, - 0xa1, 0x99, 0x11, 0x70, 0x71, 0xa2, 0x87, 0x8b, 0x89, 0xac, 0x2e, 0x17, 0xbf, 0x92, 0x80, 0x89, - 0x90, 0xb5, 0x22, 0xf4, 0x21, 0x0f, 0x41, 0x3f, 0x0d, 0x51, 0xba, 0x7a, 0xde, 0x13, 0xba, 0xe8, - 0x90, 0x80, 0xed, 0x5a, 0x41, 0x09, 0x2e, 0xd8, 0x41, 0xa8, 0x3d, 0x3a, 0x08, 0x2c, 0xa2, 0xab, - 0xa6, 0xff, 0xaf, 0xae, 0x9a, 0x4e, 0x97, 0xbd, 0xb3, 0x71, 0x96, 0x3d, 0x32, 0xb6, 0xbf, 0xda, - 0xde, 0x1f, 0x52, 0xdb, 0x2f, 0xc2, 0x78, 0x97, 0xa0, 0xd8, 0x35, 0xf6, 0x03, 0x0a, 0xa4, 0x7b, - 0x19, 0x27, 0xa2, 0xd2, 0x25, 0x84, 0x4a, 0x77, 0x51, 0xb6, 0xe0, 0xb1, 0xde, 0x4e, 0xe8, 0xf2, - 0xf5, 0x17, 0x14, 0x98, 0x0c, 0xef, 0x14, 0x43, 0x75, 0x78, 0x10, 0x06, 0x9a, 0xc8, 0xdd, 0xb1, - 0x79, 0xb7, 0x74, 0x22, 0x64, 0x0d, 0xc6, 0x64, 0xd9, 0xd9, 0x0c, 0x15, 0x5c, 0xc4, 0xd5, 0x5e, - 0xed, 0x1e, 0xd5, 0xa6, 0x4b, 0xd3, 0x0f, 0x27, 0xe0, 0x50, 0xa8, 0xf0, 0x50, 0x45, 0xef, 0x00, - 0xa8, 0x5b, 0xad, 0x8e, 0x4b, 0x3b, 0x22, 0x5a, 0x60, 0x07, 0xc9, 0x08, 0x29, 0x5e, 0xb8, 0x78, - 0x76, 0x5c, 0x8f, 0xae, 0x12, 0x3a, 0xd0, 0x21, 0xc2, 0x70, 0xde, 0x57, 0x34, 0x49, 0x14, 0x9d, - 0xee, 0x31, 0xd3, 0xae, 0xc0, 0x5c, 0x00, 0xad, 0xda, 0xa8, 0x23, 0xcb, 0xad, 0x38, 0x6e, 0x1b, - 0x99, 0xcd, 0xba, 0xb5, 0x4d, 0x56, 0x90, 0x54, 0xb6, 0x7f, 0xcb, 0x6c, 0x38, 0xc8, 0x18, 0xa3, - 0xe4, 0x75, 0x4e, 0xc5, 0x08, 0x12, 0x40, 0xed, 0x00, 0x62, 0x40, 0x40, 0x50, 0xb2, 0x87, 0xc8, - 0x7c, 0x35, 0x05, 0x43, 0x81, 0xbe, 0x5a, 0x3f, 0x06, 0xc3, 0x8f, 0x99, 0x4f, 0x98, 0x15, 0xfe, - 0xae, 0x44, 0x2d, 0x31, 0x84, 0xc7, 0xd6, 0xd8, 0xfb, 0xd2, 0x02, 0x1c, 0x24, 0x2c, 0x76, 0xc7, - 0x45, 0xed, 0x4a, 0xb5, 0x61, 0x3a, 0x0e, 0x31, 0x5a, 0x8a, 0xb0, 0xea, 0x98, 0xb6, 0x8a, 0x49, - 0x05, 0x4e, 0xd1, 0xcf, 0xc0, 0x04, 0x41, 0x34, 0x3b, 0x0d, 0xb7, 0xde, 0x6a, 0xa0, 0x0a, 0x7e, - 0x7b, 0x73, 0xc8, 0x4a, 0xe2, 0x69, 0x36, 0x8e, 0x39, 0x56, 0x18, 0x03, 0xd6, 0xc8, 0xd1, 0x8b, - 0x70, 0x07, 0x81, 0x6d, 0x23, 0x0b, 0xb5, 0x4d, 0x17, 0x55, 0xd0, 0xfb, 0x3a, 0x66, 0xc3, 0xa9, - 0x98, 0x56, 0xad, 0xb2, 0x63, 0x3a, 0x3b, 0xe9, 0x83, 0x58, 0x40, 0x3e, 0x91, 0x56, 0x8c, 0xdb, - 0x30, 0xe3, 0x65, 0xc6, 0x57, 0x22, 0x6c, 0x39, 0xab, 0xf6, 0xb0, 0xe9, 0xec, 0xe8, 0x59, 0x98, - 0x24, 0x52, 0x1c, 0xb7, 0x5d, 0xb7, 0xb6, 0x2b, 0xd5, 0x1d, 0x54, 0x7d, 0xbc, 0xd2, 0x71, 0xb7, - 0xce, 0xa7, 0x6f, 0x0f, 0x3e, 0x9f, 0x68, 0xb8, 0x4e, 0x78, 0x0a, 0x98, 0x65, 0xd3, 0xdd, 0x3a, - 0xaf, 0xaf, 0xc3, 0x30, 0x76, 0x46, 0xb3, 0xfe, 0x34, 0xaa, 0x6c, 0xd9, 0x6d, 0xb2, 0x34, 0x8e, - 0x86, 0x94, 0xa6, 0x80, 0x05, 0xe7, 0x57, 0x19, 0x60, 0xc5, 0xae, 0xa1, 0x6c, 0xff, 0xfa, 0x5a, - 0xa9, 0x54, 0x34, 0x86, 0xb8, 0x94, 0x4b, 0x76, 0x1b, 0x07, 0xd4, 0xb6, 0xed, 0x19, 0x78, 0x88, - 0x06, 0xd4, 0xb6, 0xcd, 0xcd, 0x7b, 0x06, 0x26, 0xaa, 0x55, 0x3a, 0xe7, 0x7a, 0xb5, 0xc2, 0xde, - 0xb1, 0x9c, 0xb4, 0x26, 0x18, 0xab, 0x5a, 0xbd, 0x4c, 0x19, 0x58, 0x8c, 0x3b, 0xfa, 0x05, 0x38, - 0xe4, 0x1b, 0x2b, 0x08, 0x1c, 0xef, 0x9a, 0xa5, 0x0c, 0x3d, 0x03, 0x13, 0xad, 0xdd, 0x6e, 0xa0, - 0x2e, 0x3c, 0xb1, 0xb5, 0x2b, 0xc3, 0xce, 0xc1, 0xc1, 0xd6, 0x4e, 0xab, 0x1b, 0x37, 0x17, 0xc4, - 0xe9, 0xad, 0x9d, 0x96, 0x0c, 0xbc, 0x8b, 0xbc, 0x70, 0xb7, 0x51, 0xd5, 0x74, 0x51, 0x2d, 0x7d, - 0x38, 0xc8, 0x1e, 0x20, 0xe8, 0x27, 0x41, 0xab, 0x56, 0x2b, 0xc8, 0x32, 0xaf, 0x37, 0x50, 0xc5, - 0x6c, 0x23, 0xcb, 0x74, 0xd2, 0x33, 0x41, 0xe6, 0xd1, 0x6a, 0xb5, 0x44, 0xa8, 0x39, 0x42, 0xd4, - 0xe7, 0x60, 0xdc, 0xbe, 0xfe, 0x58, 0x95, 0x86, 0x64, 0xa5, 0xd5, 0x46, 0x5b, 0xf5, 0xa7, 0xd2, - 0xc7, 0x89, 0x7d, 0xc7, 0x30, 0x81, 0x04, 0xe4, 0x1a, 0x19, 0xd6, 0xef, 0x01, 0xad, 0xea, 0xec, - 0x98, 0xed, 0x16, 0xa9, 0xc9, 0x4e, 0xcb, 0xac, 0xa2, 0xf4, 0x5d, 0x94, 0x95, 0x8e, 0x97, 0xf9, - 0x30, 0x4e, 0x09, 0xe7, 0xc9, 0xfa, 0x96, 0xcb, 0x25, 0xde, 0x4d, 0x53, 0x82, 0x8c, 0x31, 0x69, - 0xb3, 0xa0, 0x61, 0x53, 0x08, 0x0f, 0x9e, 0x25, 0x6c, 0xa3, 0xad, 0x9d, 0x56, 0xf0, 0xb9, 0x77, - 0xc2, 0x08, 0xe6, 0xf4, 0x1f, 0x7a, 0x0f, 0x6d, 0xc8, 0x5a, 0x3b, 0x81, 0x27, 0xbe, 0x65, 0xbd, - 0x71, 0x26, 0x0b, 0xc3, 0xc1, 0xf8, 0xd4, 0x07, 0x81, 0x46, 0xa8, 0xa6, 0xe0, 0x66, 0xa5, 0xb0, - 0x5a, 0xc4, 0x6d, 0xc6, 0x7b, 0x4a, 0x5a, 0x02, 0xb7, 0x3b, 0x57, 0x97, 0x37, 0x4a, 0x15, 0x63, - 0xb3, 0xbc, 0xb1, 0xbc, 0x52, 0xd2, 0xd4, 0x60, 0x5f, 0xfd, 0x9d, 0x04, 0x8c, 0x8a, 0xaf, 0x48, - 0xfa, 0x3b, 0xe0, 0x30, 0xdf, 0xcf, 0x70, 0x90, 0x5b, 0x79, 0xb2, 0xde, 0x26, 0x29, 0xd3, 0x34, - 0xe9, 0xf2, 0xe5, 0x39, 0xed, 0x20, 0xe3, 0x5a, 0x47, 0xee, 0x23, 0xf5, 0x36, 0x4e, 0x88, 0xa6, - 0xe9, 0xea, 0x57, 0x61, 0xc6, 0xb2, 0x2b, 0x8e, 0x6b, 0x5a, 0x35, 0xb3, 0x5d, 0xab, 0xf8, 0x3b, - 0x49, 0x15, 0xb3, 0x5a, 0x45, 0x8e, 0x63, 0xd3, 0xa5, 0xca, 0x93, 0x72, 0xc4, 0xb2, 0xd7, 0x19, - 0xb3, 0x5f, 0xc3, 0x73, 0x8c, 0x55, 0x0a, 0x30, 0xb5, 0x57, 0x80, 0xdd, 0x0e, 0x83, 0x4d, 0xb3, - 0x55, 0x41, 0x96, 0xdb, 0xde, 0x25, 0x8d, 0x71, 0xca, 0x48, 0x35, 0xcd, 0x56, 0x09, 0x7f, 0x7f, - 0x7b, 0xde, 0x4f, 0xfe, 0x51, 0x85, 0xe1, 0x60, 0x73, 0x8c, 0xdf, 0x35, 0xaa, 0x64, 0x1d, 0x51, - 0x48, 0xa5, 0xb9, 0x73, 0xcf, 0x56, 0x7a, 0xbe, 0x80, 0x17, 0x98, 0xec, 0x00, 0x6d, 0x59, 0x0d, - 0x8a, 0xc4, 0x8b, 0x3b, 0xae, 0x2d, 0x88, 0xb6, 0x08, 0x29, 0x83, 0x7d, 0xd3, 0x2f, 0xc3, 0xc0, - 0x63, 0x0e, 0x91, 0x3d, 0x40, 0x64, 0x1f, 0xdf, 0x5b, 0xf6, 0x95, 0x75, 0x22, 0x7c, 0xf0, 0xca, - 0x7a, 0xa5, 0xbc, 0x6a, 0xac, 0xe4, 0xae, 0x1a, 0x0c, 0xae, 0xdf, 0x06, 0xc9, 0x86, 0xf9, 0xf4, - 0xae, 0xb8, 0x14, 0x91, 0xa1, 0xb8, 0x86, 0xbf, 0x0d, 0x92, 0x4f, 0x22, 0xf3, 0x71, 0x71, 0x01, - 0x20, 0x43, 0x6f, 0x61, 0xe8, 0x9f, 0x84, 0x7e, 0x62, 0x2f, 0x1d, 0x80, 0x59, 0x4c, 0xeb, 0xd3, - 0x53, 0x90, 0x2c, 0xac, 0x1a, 0x38, 0xfc, 0x35, 0x18, 0xa6, 0xa3, 0x95, 0xb5, 0xe5, 0x52, 0xa1, - 0xa4, 0x25, 0x32, 0x67, 0x60, 0x80, 0x1a, 0x01, 0xa7, 0x86, 0x67, 0x06, 0xad, 0x8f, 0x7d, 0x65, - 0x32, 0x14, 0x4e, 0xdd, 0x5c, 0xc9, 0x97, 0x0c, 0x2d, 0x11, 0x74, 0xaf, 0x03, 0xc3, 0xc1, 0xbe, - 0xf8, 0xed, 0x89, 0xa9, 0x6f, 0x29, 0x30, 0x14, 0xe8, 0x73, 0x71, 0x83, 0x62, 0x36, 0x1a, 0xf6, - 0x93, 0x15, 0xb3, 0x51, 0x37, 0x1d, 0x16, 0x14, 0x40, 0x86, 0x72, 0x78, 0x24, 0xae, 0xd3, 0xde, - 0x16, 0xe5, 0x9f, 0x55, 0x40, 0x93, 0x5b, 0x4c, 0x49, 0x41, 0xe5, 0xe7, 0xaa, 0xe0, 0x27, 0x14, - 0x18, 0x15, 0xfb, 0x4a, 0x49, 0xbd, 0x63, 0x3f, 0x57, 0xf5, 0xbe, 0x9f, 0x80, 0x11, 0xa1, 0x9b, - 0x8c, 0xab, 0xdd, 0xfb, 0x60, 0xbc, 0x5e, 0x43, 0xcd, 0x96, 0xed, 0x22, 0xab, 0xba, 0x5b, 0x69, - 0xa0, 0x27, 0x50, 0x23, 0x9d, 0x21, 0x85, 0xe2, 0xe4, 0xde, 0xfd, 0xea, 0xfc, 0xb2, 0x8f, 0xbb, - 0x8a, 0x61, 0xd9, 0x89, 0xe5, 0x62, 0x69, 0x65, 0x6d, 0x75, 0xa3, 0x54, 0x2e, 0x5c, 0xab, 0x6c, - 0x96, 0xdf, 0x59, 0x5e, 0x7d, 0xa4, 0x6c, 0x68, 0x75, 0x89, 0xed, 0x2d, 0x4c, 0xf5, 0x35, 0xd0, - 0x64, 0xa5, 0xf4, 0xc3, 0x10, 0xa6, 0x96, 0xd6, 0xa7, 0x4f, 0xc0, 0x58, 0x79, 0xb5, 0xb2, 0xbe, - 0x5c, 0x2c, 0x55, 0x4a, 0x97, 0x2e, 0x95, 0x0a, 0x1b, 0xeb, 0x74, 0x07, 0xc2, 0xe3, 0xde, 0x10, - 0x93, 0xfa, 0xe3, 0x2a, 0x4c, 0x84, 0x68, 0xa2, 0xe7, 0xd8, 0xbb, 0x03, 0x7d, 0x9d, 0xb9, 0x3f, - 0x8e, 0xf6, 0xf3, 0x78, 0xc9, 0x5f, 0x33, 0xdb, 0x2e, 0x7b, 0xd5, 0xb8, 0x07, 0xb0, 0x95, 0x2c, - 0xb7, 0xbe, 0x55, 0x47, 0x6d, 0xb6, 0x61, 0x43, 0x5f, 0x28, 0xc6, 0xfc, 0x71, 0xba, 0x67, 0x73, - 0x1f, 0xe8, 0x2d, 0xdb, 0xa9, 0xbb, 0xf5, 0x27, 0x50, 0xa5, 0x6e, 0xf1, 0xdd, 0x1d, 0xfc, 0x82, - 0x91, 0x34, 0x34, 0x4e, 0x59, 0xb6, 0x5c, 0x8f, 0xdb, 0x42, 0xdb, 0xa6, 0xc4, 0x8d, 0x0b, 0xb8, - 0x6a, 0x68, 0x9c, 0xe2, 0x71, 0x1f, 0x83, 0xe1, 0x9a, 0xdd, 0xc1, 0x5d, 0x17, 0xe5, 0xc3, 0xeb, - 0x85, 0x62, 0x0c, 0xd1, 0x31, 0x8f, 0x85, 0xf5, 0xd3, 0xfe, 0xb6, 0xd2, 0xb0, 0x31, 0x44, 0xc7, - 0x28, 0xcb, 0xdd, 0x30, 0x66, 0x6e, 0x6f, 0xb7, 0xb1, 0x70, 0x2e, 0x88, 0xbe, 0x21, 0x8c, 0x7a, - 0xc3, 0x84, 0x71, 0xea, 0x0a, 0xa4, 0xb8, 0x1d, 0xf0, 0x92, 0x8c, 0x2d, 0x51, 0x69, 0xd1, 0xd7, - 0xde, 0xc4, 0xec, 0xa0, 0x91, 0xb2, 0x38, 0xf1, 0x18, 0x0c, 0xd7, 0x9d, 0x8a, 0xbf, 0x4b, 0x9e, - 0x38, 0x9a, 0x98, 0x4d, 0x19, 0x43, 0x75, 0xc7, 0xdb, 0x61, 0xcc, 0x7c, 0x21, 0x01, 0xa3, 0xe2, - 0x2e, 0xbf, 0x5e, 0x84, 0x54, 0xc3, 0xae, 0x9a, 0x24, 0xb4, 0xe8, 0x11, 0xd3, 0x6c, 0xc4, 0xc1, - 0xc0, 0xfc, 0x55, 0xc6, 0x6f, 0x78, 0xc8, 0xa9, 0xbf, 0x53, 0x20, 0xc5, 0x87, 0xf5, 0x49, 0x48, - 0xb6, 0x4c, 0x77, 0x87, 0x88, 0xeb, 0xcf, 0x27, 0x34, 0xc5, 0x20, 0xdf, 0xf1, 0xb8, 0xd3, 0x32, - 0x2d, 0x12, 0x02, 0x6c, 0x1c, 0x7f, 0xc7, 0x7e, 0x6d, 0x20, 0xb3, 0x46, 0x5e, 0x3f, 0xec, 0x66, - 0x13, 0x59, 0xae, 0xc3, 0xfd, 0xca, 0xc6, 0x0b, 0x6c, 0x58, 0xbf, 0x17, 0xc6, 0xdd, 0xb6, 0x59, - 0x6f, 0x08, 0xbc, 0x49, 0xc2, 0xab, 0x71, 0x82, 0xc7, 0x9c, 0x85, 0xdb, 0xb8, 0xdc, 0x1a, 0x72, - 0xcd, 0xea, 0x0e, 0xaa, 0xf9, 0xa0, 0x01, 0xb2, 0xcd, 0x70, 0x98, 0x31, 0x14, 0x19, 0x9d, 0x63, - 0x33, 0xdf, 0x55, 0x60, 0x9c, 0xbf, 0x30, 0xd5, 0x3c, 0x63, 0xad, 0x00, 0x98, 0x96, 0x65, 0xbb, - 0x41, 0x73, 0x75, 0x87, 0x72, 0x17, 0x6e, 0x3e, 0xe7, 0x81, 0x8c, 0x80, 0x80, 0xa9, 0x26, 0x80, - 0x4f, 0xe9, 0x69, 0xb6, 0x19, 0x18, 0x62, 0x47, 0x38, 0xe4, 0x1c, 0x90, 0xbe, 0x62, 0x03, 0x1d, - 0xc2, 0x6f, 0x56, 0xfa, 0x41, 0xe8, 0xbf, 0x8e, 0xb6, 0xeb, 0x16, 0xdb, 0x98, 0xa5, 0x5f, 0xf8, - 0x46, 0x48, 0xd2, 0xdb, 0x08, 0xc9, 0xbf, 0x17, 0x26, 0xaa, 0x76, 0x53, 0x56, 0x37, 0xaf, 0x49, - 0xaf, 0xf9, 0xce, 0xc3, 0xca, 0x7b, 0xc0, 0x6f, 0x31, 0x7f, 0xaa, 0x28, 0x9f, 0x49, 0xa8, 0x97, - 0xd7, 0xf2, 0x5f, 0x4a, 0x4c, 0x5d, 0xa6, 0xd0, 0x35, 0x3e, 0x53, 0x03, 0x6d, 0x35, 0x50, 0x15, - 0x6b, 0x0f, 0x9f, 0xbf, 0x17, 0xee, 0xdf, 0xae, 0xbb, 0x3b, 0x9d, 0xeb, 0xf3, 0x55, 0xbb, 0x79, - 0x72, 0xdb, 0xde, 0xb6, 0xfd, 0xa3, 0x4f, 0xfc, 0x8d, 0x7c, 0x21, 0x9f, 0xd8, 0xf1, 0xe7, 0xa0, - 0x37, 0x3a, 0x15, 0x79, 0x56, 0x9a, 0x2d, 0xc3, 0x04, 0x63, 0xae, 0x90, 0xf3, 0x17, 0xfa, 0x16, - 0xa1, 0xef, 0xb9, 0x87, 0x95, 0xfe, 0xca, 0x0f, 0xc8, 0x72, 0x6d, 0x8c, 0x33, 0x28, 0xa6, 0xd1, - 0x17, 0x8d, 0xac, 0x01, 0x87, 0x04, 0x79, 0x34, 0x35, 0x51, 0x3b, 0x42, 0xe2, 0x77, 0x98, 0xc4, - 0x89, 0x80, 0xc4, 0x75, 0x06, 0xcd, 0x16, 0x60, 0x64, 0x3f, 0xb2, 0xfe, 0x8a, 0xc9, 0x1a, 0x46, - 0x41, 0x21, 0x97, 0x61, 0x8c, 0x08, 0xa9, 0x76, 0x1c, 0xd7, 0x6e, 0x92, 0xba, 0xb7, 0xb7, 0x98, - 0xbf, 0xfe, 0x01, 0xcd, 0x95, 0x51, 0x0c, 0x2b, 0x78, 0xa8, 0x6c, 0x16, 0xc8, 0x91, 0x53, 0x0d, - 0x55, 0x1b, 0x11, 0x12, 0x6e, 0x30, 0x45, 0x3c, 0xfe, 0xec, 0xbb, 0xe1, 0x20, 0xfe, 0x4c, 0xca, - 0x52, 0x50, 0x93, 0xe8, 0x0d, 0xaf, 0xf4, 0x77, 0x3f, 0x40, 0xd3, 0x71, 0xc2, 0x13, 0x10, 0xd0, - 0x29, 0xe0, 0xc5, 0x6d, 0xe4, 0xba, 0xa8, 0xed, 0x54, 0xcc, 0x46, 0x98, 0x7a, 0x81, 0x1d, 0x83, - 0xf4, 0xc7, 0x5e, 0x15, 0xbd, 0x78, 0x99, 0x22, 0x73, 0x8d, 0x46, 0x76, 0x13, 0x0e, 0x87, 0x44, - 0x45, 0x0c, 0x99, 0x1f, 0x67, 0x32, 0x0f, 0x76, 0x45, 0x06, 0x16, 0xbb, 0x06, 0x7c, 0xdc, 0xf3, - 0x65, 0x0c, 0x99, 0xbf, 0xc7, 0x64, 0xea, 0x0c, 0xcb, 0x5d, 0x8a, 0x25, 0x5e, 0x81, 0xf1, 0x27, - 0x50, 0xfb, 0xba, 0xed, 0xb0, 0x5d, 0x9a, 0x18, 0xe2, 0x3e, 0xc1, 0xc4, 0x8d, 0x31, 0x20, 0xd9, - 0xb6, 0xc1, 0xb2, 0x2e, 0x40, 0x6a, 0xcb, 0xac, 0xa2, 0x18, 0x22, 0x3e, 0xc9, 0x44, 0x1c, 0xc0, - 0xfc, 0x18, 0x9a, 0x83, 0xe1, 0x6d, 0x9b, 0xad, 0x4c, 0xd1, 0xf0, 0x67, 0x19, 0x7c, 0x88, 0x63, - 0x98, 0x88, 0x96, 0xdd, 0xea, 0x34, 0xf0, 0xb2, 0x15, 0x2d, 0xe2, 0x53, 0x5c, 0x04, 0xc7, 0x30, - 0x11, 0xfb, 0x30, 0xeb, 0x73, 0x5c, 0x84, 0x13, 0xb0, 0xe7, 0x43, 0x30, 0x64, 0x5b, 0x8d, 0x5d, - 0xdb, 0x8a, 0xa3, 0xc4, 0xa7, 0x99, 0x04, 0x60, 0x10, 0x2c, 0xe0, 0x22, 0x0c, 0xc6, 0x75, 0xc4, - 0xe7, 0x5e, 0xe5, 0xe9, 0xc1, 0x3d, 0x70, 0x19, 0xc6, 0x78, 0x81, 0xaa, 0xdb, 0x56, 0x0c, 0x11, - 0x9f, 0x67, 0x22, 0x46, 0x03, 0x30, 0x36, 0x0d, 0x17, 0x39, 0xee, 0x36, 0x8a, 0x23, 0xe4, 0x0b, - 0x7c, 0x1a, 0x0c, 0xc2, 0x4c, 0x79, 0x1d, 0x59, 0xd5, 0x9d, 0x78, 0x12, 0x9e, 0xe7, 0xa6, 0xe4, - 0x18, 0x2c, 0xa2, 0x00, 0x23, 0x4d, 0xb3, 0xed, 0xec, 0x98, 0x8d, 0x58, 0xee, 0xf8, 0x22, 0x93, - 0x31, 0xec, 0x81, 0x98, 0x45, 0x3a, 0xd6, 0x7e, 0xc4, 0x7c, 0x89, 0x5b, 0x24, 0x00, 0x63, 0xa9, - 0xe7, 0xb8, 0x64, 0x4b, 0x6b, 0x3f, 0xd2, 0x7e, 0x9f, 0xa7, 0x1e, 0xc5, 0xae, 0x04, 0x25, 0x5e, - 0x84, 0x41, 0xa7, 0xfe, 0x74, 0x2c, 0x31, 0x7f, 0xc0, 0x3d, 0x4d, 0x00, 0x18, 0x7c, 0x0d, 0x6e, - 0x0b, 0x5d, 0x26, 0x62, 0x08, 0xfb, 0x43, 0x26, 0x6c, 0x32, 0x64, 0xa9, 0x60, 0x25, 0x61, 0xbf, - 0x22, 0xff, 0x88, 0x97, 0x04, 0x24, 0xc9, 0x5a, 0xc3, 0xef, 0x0a, 0x8e, 0xb9, 0xb5, 0x3f, 0xab, - 0xfd, 0x31, 0xb7, 0x1a, 0xc5, 0x0a, 0x56, 0xdb, 0x80, 0x49, 0x26, 0x71, 0x7f, 0x7e, 0xfd, 0x32, - 0x2f, 0xac, 0x14, 0xbd, 0x29, 0x7a, 0xf7, 0xbd, 0x30, 0xe5, 0x99, 0x93, 0x37, 0xa5, 0x4e, 0xa5, - 0x69, 0xb6, 0x62, 0x48, 0xfe, 0x0a, 0x93, 0xcc, 0x2b, 0xbe, 0xd7, 0xd5, 0x3a, 0x2b, 0x66, 0x0b, - 0x0b, 0x7f, 0x14, 0xd2, 0x5c, 0x78, 0xc7, 0x6a, 0xa3, 0xaa, 0xbd, 0x6d, 0xd5, 0x9f, 0x46, 0xb5, - 0x18, 0xa2, 0xff, 0x44, 0x72, 0xd5, 0x66, 0x00, 0x8e, 0x25, 0x2f, 0x83, 0xe6, 0xf5, 0x2a, 0x95, - 0x7a, 0xb3, 0x65, 0xb7, 0xdd, 0x08, 0x89, 0x5f, 0xe5, 0x9e, 0xf2, 0x70, 0xcb, 0x04, 0x96, 0x2d, - 0xc1, 0x28, 0xf9, 0x1a, 0x37, 0x24, 0xbf, 0xc6, 0x04, 0x8d, 0xf8, 0x28, 0x56, 0x38, 0xaa, 0x76, - 0xb3, 0x65, 0xb6, 0xe3, 0xd4, 0xbf, 0x3f, 0xe5, 0x85, 0x83, 0x41, 0x58, 0xe1, 0x70, 0x77, 0x5b, - 0x08, 0xaf, 0xf6, 0x31, 0x24, 0x7c, 0x9d, 0x17, 0x0e, 0x8e, 0x61, 0x22, 0x78, 0xc3, 0x10, 0x43, - 0xc4, 0x9f, 0x71, 0x11, 0x1c, 0x83, 0x45, 0xbc, 0xcb, 0x5f, 0x68, 0xdb, 0x68, 0xbb, 0xee, 0xb8, - 0x6d, 0xda, 0x0a, 0xef, 0x2d, 0xea, 0x1b, 0xaf, 0x8a, 0x4d, 0x98, 0x11, 0x80, 0xe2, 0x4a, 0xc4, - 0xb6, 0x50, 0xc9, 0x9b, 0x52, 0xb4, 0x62, 0xdf, 0xe4, 0x95, 0x28, 0x00, 0xc3, 0xba, 0x05, 0x3a, - 0x44, 0x6c, 0xf6, 0x2a, 0x7e, 0x3f, 0x88, 0x21, 0xee, 0x5b, 0x92, 0x72, 0xeb, 0x1c, 0x8b, 0x65, - 0x06, 0xfa, 0x9f, 0x8e, 0xf5, 0x38, 0xda, 0x8d, 0x15, 0x9d, 0x7f, 0x2e, 0xf5, 0x3f, 0x9b, 0x14, - 0x49, 0x6b, 0xc8, 0x98, 0xd4, 0x4f, 0xe9, 0x51, 0x97, 0x75, 0xd2, 0xff, 0xf7, 0x35, 0x36, 0x5f, - 0xb1, 0x9d, 0xca, 0x5e, 0xc5, 0x41, 0x2e, 0x36, 0x3d, 0xd1, 0xc2, 0x3e, 0xf0, 0x9a, 0x17, 0xe7, - 0x42, 0xcf, 0x93, 0xbd, 0x04, 0x23, 0x42, 0xc3, 0x13, 0x2d, 0xea, 0xff, 0x31, 0x51, 0xc3, 0xc1, - 0x7e, 0x27, 0x7b, 0x06, 0x92, 0xb8, 0x79, 0x89, 0x86, 0xff, 0x7f, 0x06, 0x27, 0xec, 0xd9, 0x07, - 0x20, 0xc5, 0x9b, 0x96, 0x68, 0xe8, 0x07, 0x19, 0xd4, 0x83, 0x60, 0x38, 0x6f, 0x58, 0xa2, 0xe1, - 0xbf, 0xc4, 0xe1, 0x1c, 0x82, 0xe1, 0xf1, 0x4d, 0xf8, 0xc2, 0xaf, 0x24, 0xd9, 0xa2, 0xc3, 0x6d, - 0x77, 0x11, 0x0e, 0xb0, 0x4e, 0x25, 0x1a, 0xfd, 0x61, 0xf6, 0x70, 0x8e, 0xc8, 0x9e, 0x83, 0xfe, - 0x98, 0x06, 0xff, 0x55, 0x06, 0xa5, 0xfc, 0xd9, 0x02, 0x0c, 0x05, 0xba, 0x93, 0x68, 0xf8, 0xaf, - 0x31, 0x78, 0x10, 0x85, 0x55, 0x67, 0xdd, 0x49, 0xb4, 0x80, 0x5f, 0xe7, 0xaa, 0x33, 0x04, 0x36, - 0x1b, 0x6f, 0x4c, 0xa2, 0xd1, 0xbf, 0xc1, 0xad, 0xce, 0x21, 0xd9, 0x87, 0x60, 0xd0, 0x5b, 0x6c, - 0xa2, 0xf1, 0xbf, 0xc9, 0xf0, 0x3e, 0x06, 0x5b, 0x20, 0xb0, 0xd8, 0x45, 0x8b, 0xf8, 0x2d, 0x6e, - 0x81, 0x00, 0x0a, 0xa7, 0x91, 0xdc, 0xc0, 0x44, 0x4b, 0xfa, 0x08, 0x4f, 0x23, 0xa9, 0x7f, 0xc1, - 0xde, 0x24, 0x35, 0x3f, 0x5a, 0xc4, 0x6f, 0x73, 0x6f, 0x12, 0x7e, 0xac, 0x86, 0xdc, 0x11, 0x44, - 0xcb, 0xf8, 0x5d, 0xae, 0x86, 0xd4, 0x10, 0x64, 0xd7, 0x40, 0xef, 0xee, 0x06, 0xa2, 0xe5, 0x7d, - 0x94, 0xc9, 0x1b, 0xef, 0x6a, 0x06, 0xb2, 0x8f, 0xc0, 0x64, 0x78, 0x27, 0x10, 0x2d, 0xf5, 0x63, - 0xaf, 0x49, 0xef, 0x6e, 0xc1, 0x46, 0x20, 0xbb, 0xe1, 0x2f, 0x29, 0xc1, 0x2e, 0x20, 0x5a, 0xec, - 0xc7, 0x5f, 0x13, 0x0b, 0x77, 0xb0, 0x09, 0xc8, 0xe6, 0x00, 0xfc, 0x05, 0x38, 0x5a, 0xd6, 0x27, - 0x98, 0xac, 0x00, 0x08, 0xa7, 0x06, 0x5b, 0x7f, 0xa3, 0xf1, 0x9f, 0xe4, 0xa9, 0xc1, 0x10, 0x38, - 0x35, 0xf8, 0xd2, 0x1b, 0x8d, 0x7e, 0x96, 0xa7, 0x06, 0x87, 0xe0, 0xc8, 0x0e, 0xac, 0x6e, 0xd1, - 0x12, 0x3e, 0xcd, 0x23, 0x3b, 0x80, 0xca, 0x96, 0x61, 0xbc, 0x6b, 0x41, 0x8c, 0x16, 0xf5, 0x19, - 0x26, 0x4a, 0x93, 0xd7, 0xc3, 0xe0, 0xe2, 0xc5, 0x16, 0xc3, 0x68, 0x69, 0x9f, 0x95, 0x16, 0x2f, - 0xb6, 0x16, 0x66, 0x2f, 0x42, 0xca, 0xea, 0x34, 0x1a, 0x38, 0x79, 0xf4, 0xbd, 0x2f, 0xd8, 0xa5, - 0xff, 0xf9, 0x75, 0x66, 0x1d, 0x0e, 0xc8, 0x9e, 0x81, 0x7e, 0xd4, 0xbc, 0x8e, 0x6a, 0x51, 0xc8, - 0x7f, 0x79, 0x9d, 0x17, 0x4c, 0xcc, 0x9d, 0x7d, 0x08, 0x80, 0x6e, 0x8d, 0x90, 0x63, 0xbf, 0x08, - 0xec, 0xbf, 0xbe, 0xce, 0xae, 0xbe, 0xf8, 0x10, 0x5f, 0x00, 0xbd, 0x48, 0xb3, 0xb7, 0x80, 0x57, - 0x45, 0x01, 0xc4, 0x23, 0x17, 0xe0, 0xc0, 0x63, 0x8e, 0x6d, 0xb9, 0xe6, 0x76, 0x14, 0xfa, 0xdf, - 0x18, 0x9a, 0xf3, 0x63, 0x83, 0x35, 0xed, 0x36, 0x72, 0xcd, 0x6d, 0x27, 0x0a, 0xfb, 0xef, 0x0c, - 0xeb, 0x01, 0x30, 0xb8, 0x6a, 0x3a, 0x6e, 0x9c, 0x79, 0xff, 0x88, 0x83, 0x39, 0x00, 0x2b, 0x8d, - 0x3f, 0x3f, 0x8e, 0x76, 0xa3, 0xb0, 0x3f, 0xe6, 0x4a, 0x33, 0xfe, 0xec, 0x03, 0x30, 0x88, 0x3f, - 0xd2, 0xfb, 0x6c, 0x11, 0xe0, 0xff, 0x60, 0x60, 0x1f, 0x81, 0x9f, 0xec, 0xb8, 0x35, 0xb7, 0x1e, - 0x6d, 0xec, 0x9f, 0x30, 0x4f, 0x73, 0xfe, 0x6c, 0x0e, 0x86, 0x1c, 0xb7, 0x56, 0xeb, 0xb0, 0xfe, - 0x34, 0x02, 0xfe, 0x9f, 0xaf, 0x7b, 0x5b, 0x16, 0x1e, 0x06, 0x7b, 0xfb, 0xc9, 0xc7, 0xdd, 0x96, - 0x4d, 0x8e, 0x39, 0xa2, 0x24, 0xbc, 0xc6, 0x24, 0x04, 0x20, 0xf9, 0x52, 0xf8, 0xf6, 0x2d, 0x5c, - 0xb6, 0x2f, 0xdb, 0x74, 0xe3, 0xf6, 0x3d, 0x99, 0xe8, 0x1d, 0x58, 0xf8, 0xdb, 0x06, 0x4c, 0x57, - 0xed, 0xe6, 0x75, 0xdb, 0x39, 0xe9, 0x95, 0xe3, 0x93, 0xee, 0x0e, 0xc2, 0xab, 0x30, 0xdb, 0x99, - 0x4d, 0xe2, 0xcf, 0x53, 0xfb, 0xdb, 0xce, 0x25, 0x87, 0xf5, 0xe5, 0x3a, 0x9e, 0x41, 0x99, 0x9c, - 0x97, 0xe8, 0x47, 0x60, 0x80, 0xcc, 0xe9, 0x14, 0x39, 0x93, 0x54, 0xf2, 0xc9, 0x1b, 0x2f, 0xcd, - 0xf4, 0x19, 0x6c, 0xcc, 0xa3, 0x2e, 0x92, 0x0d, 0xed, 0x84, 0x40, 0x5d, 0xf4, 0xa8, 0xa7, 0xe9, - 0x9e, 0xb6, 0x40, 0x3d, 0xed, 0x51, 0x97, 0xc8, 0xee, 0xb6, 0x2a, 0x50, 0x97, 0x3c, 0xea, 0x19, - 0x72, 0x82, 0x33, 0x22, 0x50, 0xcf, 0x78, 0xd4, 0xb3, 0xe4, 0xdc, 0x26, 0x29, 0x50, 0xcf, 0x7a, - 0xd4, 0x73, 0xe4, 0xc8, 0x66, 0x5c, 0xa0, 0x9e, 0xf3, 0xa8, 0xe7, 0xc9, 0x51, 0x8d, 0x2e, 0x50, - 0xcf, 0x7b, 0xd4, 0x0b, 0xe4, 0x1e, 0xd4, 0x01, 0x81, 0x7a, 0x41, 0x9f, 0x86, 0x03, 0x74, 0xe6, - 0x0b, 0xe4, 0x5c, 0x7f, 0x8c, 0x91, 0xf9, 0xa0, 0x4f, 0x3f, 0x45, 0xee, 0x3c, 0x0d, 0x88, 0xf4, - 0x53, 0x3e, 0x7d, 0x91, 0xfc, 0xf9, 0x85, 0x26, 0xd2, 0x17, 0x7d, 0xfa, 0xe9, 0xf4, 0x08, 0xb9, - 0xf7, 0x25, 0xd0, 0x4f, 0xfb, 0xf4, 0xa5, 0xf4, 0x28, 0x4e, 0x0c, 0x91, 0xbe, 0xe4, 0xd3, 0xcf, - 0xa4, 0xc7, 0x8e, 0x2a, 0xb3, 0xc3, 0x22, 0xfd, 0x4c, 0xe6, 0xfd, 0xc4, 0xbd, 0x96, 0xef, 0xde, - 0x49, 0xd1, 0xbd, 0x9e, 0x63, 0x27, 0x45, 0xc7, 0x7a, 0x2e, 0x9d, 0x14, 0x5d, 0xea, 0x39, 0x73, - 0x52, 0x74, 0xa6, 0xe7, 0xc6, 0x49, 0xd1, 0x8d, 0x9e, 0x03, 0x27, 0x45, 0x07, 0x7a, 0xae, 0x9b, - 0x14, 0x5d, 0xe7, 0x39, 0x6d, 0x52, 0x74, 0x9a, 0xe7, 0xae, 0x49, 0xd1, 0x5d, 0x9e, 0xa3, 0xd2, - 0x92, 0xa3, 0x7c, 0x17, 0xa5, 0x25, 0x17, 0xf9, 0xce, 0x49, 0x4b, 0xce, 0xf1, 0xdd, 0x92, 0x96, - 0xdc, 0xe2, 0x3b, 0x24, 0x2d, 0x39, 0xc4, 0x77, 0x45, 0x5a, 0x72, 0x85, 0xef, 0x04, 0x96, 0x63, - 0x06, 0x6a, 0x85, 0xe4, 0x98, 0xba, 0x67, 0x8e, 0xa9, 0x7b, 0xe6, 0x98, 0xba, 0x67, 0x8e, 0xa9, - 0x7b, 0xe6, 0x98, 0xba, 0x67, 0x8e, 0xa9, 0x7b, 0xe6, 0x98, 0xba, 0x67, 0x8e, 0xa9, 0x7b, 0xe6, - 0x98, 0xba, 0x77, 0x8e, 0xa9, 0x11, 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0x44, - 0x8e, 0xa9, 0x11, 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0xdf, 0xbd, 0x93, 0xa2, 0x7b, 0x43, 0x73, 0x4c, - 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, - 0xa6, 0xf6, 0xc8, 0x31, 0xb5, 0x47, 0x8e, 0xa9, 0xbd, 0x72, 0x4c, 0xed, 0x99, 0x63, 0x6a, 0xcf, - 0x1c, 0x53, 0x7b, 0xe6, 0x98, 0xda, 0x33, 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0x06, 0x73, 0xec, 0x2f, - 0x54, 0xd0, 0x69, 0x8e, 0xad, 0x91, 0x9b, 0x61, 0xcc, 0x15, 0xd3, 0x52, 0xa6, 0x0d, 0x60, 0xd7, - 0x69, 0xbe, 0x4b, 0xa6, 0xa5, 0x5c, 0x13, 0xe9, 0x8b, 0x1e, 0x9d, 0x67, 0x9b, 0x48, 0x3f, 0xed, - 0xd1, 0x79, 0xbe, 0x89, 0xf4, 0x25, 0x8f, 0xce, 0x33, 0x4e, 0xa4, 0x9f, 0xf1, 0xe8, 0x3c, 0xe7, - 0x44, 0xfa, 0x59, 0x8f, 0xce, 0xb3, 0x4e, 0xa4, 0x9f, 0xf3, 0xe8, 0x3c, 0xef, 0x44, 0xfa, 0x79, - 0x8f, 0xce, 0x33, 0x4f, 0xa4, 0x5f, 0xd0, 0x8f, 0xca, 0xb9, 0xc7, 0x19, 0x3c, 0xd7, 0x1e, 0x95, - 0xb3, 0x4f, 0xe2, 0x38, 0xe5, 0x73, 0xf0, 0xfc, 0x93, 0x38, 0x16, 0x7d, 0x0e, 0x9e, 0x81, 0x12, - 0xc7, 0xe9, 0xcc, 0x87, 0x88, 0xfb, 0x2c, 0xd9, 0x7d, 0x53, 0x92, 0xfb, 0x12, 0x01, 0xd7, 0x4d, - 0x49, 0xae, 0x4b, 0x04, 0xdc, 0x36, 0x25, 0xb9, 0x2d, 0x11, 0x70, 0xd9, 0x94, 0xe4, 0xb2, 0x44, - 0xc0, 0x5d, 0x53, 0x92, 0xbb, 0x12, 0x01, 0x57, 0x4d, 0x49, 0xae, 0x4a, 0x04, 0xdc, 0x34, 0x25, - 0xb9, 0x29, 0x11, 0x70, 0xd1, 0x94, 0xe4, 0xa2, 0x44, 0xc0, 0x3d, 0x53, 0x92, 0x7b, 0x12, 0x01, - 0xd7, 0x1c, 0x91, 0x5d, 0x93, 0x08, 0xba, 0xe5, 0x88, 0xec, 0x96, 0x44, 0xd0, 0x25, 0x47, 0x64, - 0x97, 0x24, 0x82, 0xee, 0x38, 0x22, 0xbb, 0x23, 0x11, 0x74, 0xc5, 0xcf, 0x12, 0xbc, 0x23, 0x5c, - 0x77, 0xdb, 0x9d, 0xaa, 0x7b, 0x4b, 0x1d, 0xe1, 0x82, 0xd0, 0x3e, 0x0c, 0x2d, 0xea, 0xf3, 0xa4, - 0x61, 0x0d, 0x76, 0x9c, 0xd2, 0x0a, 0xb6, 0x20, 0x34, 0x16, 0x01, 0x84, 0x15, 0x8e, 0x58, 0xba, - 0xa5, 0xde, 0x70, 0x41, 0x68, 0x33, 0xa2, 0xf5, 0x3b, 0xff, 0x96, 0x77, 0x6c, 0x2f, 0x24, 0x78, - 0xc7, 0xc6, 0xcc, 0xbf, 0xdf, 0x8e, 0x6d, 0x2e, 0xda, 0xe4, 0x9e, 0xb1, 0xe7, 0xa2, 0x8d, 0xdd, - 0xb5, 0xea, 0xc4, 0xed, 0xe0, 0xe6, 0xa2, 0x4d, 0xeb, 0x19, 0xf5, 0xcd, 0xed, 0xb7, 0x58, 0x04, - 0x1b, 0xa8, 0x15, 0x12, 0xc1, 0xfb, 0xed, 0xb7, 0x16, 0x84, 0x52, 0xb2, 0xdf, 0x08, 0x56, 0xf7, - 0x1d, 0xc1, 0xfb, 0xed, 0xbc, 0x16, 0x84, 0xf2, 0xb2, 0xef, 0x08, 0x7e, 0x0b, 0xfa, 0x21, 0x16, - 0xc1, 0xbe, 0xf9, 0xf7, 0xdb, 0x0f, 0xcd, 0x45, 0x9b, 0x3c, 0x34, 0x82, 0xd5, 0x7d, 0x44, 0x70, - 0x9c, 0xfe, 0x68, 0x2e, 0xda, 0xb4, 0xe1, 0x11, 0x7c, 0xcb, 0xdd, 0xcc, 0xa7, 0x14, 0x18, 0x2f, - 0xd7, 0x6b, 0xa5, 0xe6, 0x75, 0x54, 0xab, 0xa1, 0x1a, 0xb3, 0xe3, 0x82, 0x50, 0x09, 0x7a, 0xb8, - 0xfa, 0xc5, 0x97, 0x66, 0x7c, 0x0b, 0x9f, 0x81, 0x14, 0xb5, 0xe9, 0xc2, 0x42, 0xfa, 0x86, 0x12, - 0x51, 0xe1, 0x3c, 0x56, 0xfd, 0x18, 0x87, 0x9d, 0x5a, 0x48, 0xff, 0xbd, 0x12, 0xa8, 0x72, 0xde, - 0x70, 0xe6, 0x23, 0x44, 0x43, 0xeb, 0x96, 0x35, 0x3c, 0x19, 0x4b, 0xc3, 0x80, 0x6e, 0xb7, 0x77, - 0xe9, 0x16, 0xd0, 0xaa, 0x03, 0x63, 0xe5, 0x7a, 0xad, 0x4c, 0xfe, 0xf0, 0x3f, 0x8e, 0x4a, 0x94, - 0x47, 0xaa, 0x07, 0x0b, 0x42, 0x58, 0x06, 0x11, 0x5e, 0x48, 0x8b, 0x35, 0x22, 0x53, 0xc7, 0x8f, - 0xb5, 0x84, 0xc7, 0xce, 0xf5, 0x7a, 0xac, 0x5f, 0xd9, 0xbd, 0x07, 0xce, 0xf5, 0x7a, 0xa0, 0x9f, - 0x43, 0xde, 0xa3, 0x9e, 0xe2, 0x8b, 0x33, 0xbd, 0x9f, 0xa5, 0x1f, 0x81, 0xc4, 0x32, 0xbd, 0x3e, - 0x3e, 0x9c, 0x1f, 0xc6, 0x4a, 0x7d, 0xef, 0xa5, 0x99, 0xe4, 0x66, 0xa7, 0x5e, 0x33, 0x12, 0xcb, - 0x35, 0xfd, 0x0a, 0xf4, 0xbf, 0x9b, 0xfd, 0xf9, 0x29, 0x66, 0x58, 0x62, 0x0c, 0xf7, 0xf5, 0xdc, - 0x23, 0xc2, 0x0f, 0x3e, 0x49, 0xf7, 0x2a, 0xe7, 0x37, 0xeb, 0x96, 0x7b, 0x6a, 0xf1, 0xbc, 0x41, - 0x45, 0x64, 0xfe, 0x27, 0x00, 0x7d, 0x66, 0xd1, 0x74, 0x76, 0xf4, 0x32, 0x97, 0x4c, 0x1f, 0x7d, - 0xfe, 0x7b, 0x2f, 0xcd, 0x2c, 0xc5, 0x91, 0x7a, 0x7f, 0xcd, 0x74, 0x76, 0xee, 0x77, 0x77, 0x5b, - 0x68, 0x3e, 0xbf, 0xeb, 0x22, 0x87, 0x4b, 0x6f, 0xf1, 0x55, 0x8f, 0xcd, 0x2b, 0x1d, 0x98, 0x57, - 0x4a, 0x98, 0xd3, 0x25, 0x71, 0x4e, 0x0b, 0x6f, 0x74, 0x3e, 0x4f, 0xf1, 0x45, 0x42, 0xb2, 0xa4, - 0x1a, 0x65, 0x49, 0xf5, 0x56, 0x2d, 0xd9, 0xe2, 0xf5, 0x51, 0x9a, 0xab, 0xba, 0xd7, 0x5c, 0xd5, - 0x5b, 0x99, 0xeb, 0x7f, 0xd1, 0x6c, 0xf5, 0xf2, 0x69, 0xd3, 0xa2, 0x57, 0x57, 0x7f, 0xb1, 0xf6, - 0x82, 0xde, 0xd4, 0x2e, 0x20, 0x9b, 0xbc, 0xf1, 0xdc, 0x8c, 0x92, 0xf9, 0x54, 0x82, 0xcf, 0x9c, - 0x26, 0xd2, 0x1b, 0x9b, 0xf9, 0x2f, 0x4a, 0x4f, 0xf5, 0x56, 0x58, 0xe8, 0x59, 0x05, 0x26, 0xbb, - 0x2a, 0x39, 0x35, 0xd3, 0x9b, 0x5b, 0xce, 0xad, 0xfd, 0x96, 0x73, 0xa6, 0xe0, 0xd7, 0x14, 0x38, - 0x28, 0x95, 0x57, 0xaa, 0xde, 0x49, 0x49, 0xbd, 0xc3, 0xdd, 0x4f, 0x22, 0x8c, 0x01, 0xed, 0x82, - 0xee, 0x95, 0x00, 0x01, 0xc9, 0x9e, 0xdf, 0x97, 0x24, 0xbf, 0x1f, 0xf1, 0x00, 0x21, 0xe6, 0xe2, - 0x11, 0xc0, 0xd4, 0xb6, 0x21, 0xb9, 0xd1, 0x46, 0x48, 0x9f, 0x86, 0xc4, 0x6a, 0x9b, 0x69, 0x38, - 0x4a, 0xf1, 0xab, 0xed, 0x7c, 0xdb, 0xb4, 0xaa, 0x3b, 0x46, 0x62, 0xb5, 0xad, 0x1f, 0x03, 0x35, - 0xc7, 0xfe, 0xf4, 0x7d, 0x68, 0x71, 0x8c, 0x32, 0xe4, 0xac, 0x1a, 0xe3, 0xc0, 0x34, 0x7d, 0x1a, - 0x92, 0x57, 0x91, 0xb9, 0xc5, 0x94, 0x00, 0xca, 0x83, 0x47, 0x0c, 0x32, 0xce, 0x1e, 0xf8, 0x28, - 0xa4, 0xb8, 0x60, 0xfd, 0x38, 0x46, 0x6c, 0xb9, 0xec, 0xb1, 0x0c, 0x81, 0xd5, 0x61, 0x2b, 0x17, - 0xa1, 0xea, 0x27, 0xa0, 0xdf, 0xa8, 0x6f, 0xef, 0xb8, 0xec, 0xe1, 0xdd, 0x6c, 0x94, 0x9c, 0xb9, - 0x06, 0x83, 0x9e, 0x46, 0x6f, 0xb2, 0xe8, 0x22, 0x9d, 0x9a, 0x3e, 0x15, 0x5c, 0x4f, 0xf8, 0xbe, - 0x25, 0x1d, 0xd2, 0x8f, 0x42, 0x6a, 0xdd, 0x6d, 0xfb, 0x45, 0x9f, 0x77, 0xa4, 0xde, 0x68, 0xe6, - 0xfd, 0x0a, 0xa4, 0x8a, 0x08, 0xb5, 0x88, 0xc1, 0xef, 0x82, 0x64, 0xd1, 0x7e, 0xd2, 0x62, 0x0a, - 0x8e, 0x33, 0x8b, 0x62, 0x32, 0xb3, 0x29, 0x21, 0xeb, 0x77, 0x05, 0xed, 0x3e, 0xe1, 0xd9, 0x3d, - 0xc0, 0x47, 0x6c, 0x9f, 0x11, 0x6c, 0xcf, 0x1c, 0x88, 0x99, 0xba, 0xec, 0x7f, 0x0e, 0x86, 0x02, - 0x4f, 0xd1, 0x67, 0x99, 0x1a, 0x09, 0x19, 0x18, 0xb4, 0x15, 0xe6, 0xc8, 0x20, 0x18, 0x11, 0x1e, - 0x8c, 0xa1, 0x01, 0x13, 0xf7, 0x80, 0x12, 0x33, 0xcf, 0x89, 0x66, 0x0e, 0x67, 0x65, 0xa6, 0x5e, - 0xa0, 0x36, 0x22, 0xe6, 0x3e, 0x4e, 0x83, 0xb3, 0xb7, 0x13, 0xf1, 0xe7, 0x4c, 0x3f, 0xa8, 0xe5, - 0x7a, 0x23, 0xf3, 0x00, 0x00, 0x4d, 0xf9, 0x92, 0xd5, 0x69, 0x4a, 0x59, 0x37, 0xca, 0x0d, 0xbc, - 0xb1, 0x83, 0x36, 0x90, 0x43, 0x58, 0xc4, 0x7e, 0x0a, 0x17, 0x18, 0xa0, 0x29, 0x46, 0xf0, 0xf7, - 0x44, 0xe2, 0x43, 0x3b, 0x31, 0xcc, 0x9a, 0xa6, 0xac, 0xd7, 0x90, 0x9b, 0xb3, 0x6c, 0x77, 0x07, - 0xb5, 0x25, 0xc4, 0xa2, 0x7e, 0x5a, 0x48, 0xd8, 0xd1, 0xc5, 0xdb, 0x3d, 0x44, 0x4f, 0xd0, 0xe9, - 0xcc, 0x97, 0x89, 0x82, 0xb8, 0x15, 0xe8, 0x9a, 0xa0, 0x1a, 0x63, 0x82, 0xfa, 0x59, 0xa1, 0x7f, - 0xdb, 0x43, 0x4d, 0xe9, 0xd5, 0xf2, 0x82, 0xf0, 0x9e, 0xb3, 0xb7, 0xb2, 0xe2, 0x3b, 0x26, 0xb7, - 0x29, 0x57, 0xf9, 0x9e, 0x48, 0x95, 0x7b, 0x74, 0xb7, 0xfb, 0xb5, 0xa9, 0x1a, 0xd7, 0xa6, 0xdf, - 0xf2, 0x3a, 0x0e, 0xfa, 0xfb, 0x22, 0xe4, 0x97, 0x79, 0xf4, 0xfb, 0x22, 0x7d, 0x9f, 0x55, 0x0a, - 0x9e, 0xaa, 0x4b, 0x71, 0xdd, 0x9f, 0x4d, 0xe4, 0xf3, 0x9e, 0xba, 0xe7, 0xf6, 0x11, 0x02, 0xd9, - 0x44, 0xa1, 0xe0, 0x95, 0xed, 0xd4, 0x87, 0x9e, 0x9b, 0x51, 0x9e, 0x7f, 0x6e, 0xa6, 0x2f, 0xf3, - 0x45, 0x05, 0xc6, 0x19, 0x67, 0x20, 0x70, 0xef, 0x97, 0x94, 0x3f, 0xc4, 0x6b, 0x46, 0x98, 0x05, - 0xde, 0xb6, 0xe0, 0xfd, 0x8e, 0x02, 0xe9, 0x2e, 0x5d, 0xb9, 0xbd, 0x17, 0x62, 0xa9, 0x9c, 0x55, - 0x4a, 0x3f, 0x7f, 0x9b, 0x5f, 0x83, 0xfe, 0x8d, 0x7a, 0x13, 0xb5, 0xf1, 0x4a, 0x80, 0x3f, 0x50, - 0x95, 0xf9, 0x61, 0x0e, 0x1d, 0xe2, 0x34, 0xaa, 0x9c, 0x40, 0x5b, 0xd4, 0xd3, 0x90, 0x2c, 0x9a, - 0xae, 0x49, 0x34, 0x18, 0xf6, 0xea, 0xab, 0xe9, 0x9a, 0x99, 0xd3, 0x30, 0xbc, 0xb2, 0x4b, 0xee, - 0x1b, 0xd5, 0xc8, 0x55, 0x13, 0xb1, 0xfb, 0xe3, 0xfd, 0xea, 0xa9, 0xb9, 0xfe, 0x54, 0x4d, 0xbb, - 0xa1, 0x64, 0x93, 0x44, 0x9f, 0x27, 0x60, 0x74, 0x15, 0xab, 0x4d, 0x70, 0x02, 0x8c, 0x3e, 0x5d, - 0xf5, 0x26, 0x2f, 0x35, 0x65, 0xaa, 0xdf, 0x94, 0x1d, 0x05, 0x65, 0x45, 0x6c, 0x9d, 0x82, 0x7a, - 0x18, 0xca, 0xca, 0x5c, 0x32, 0x35, 0xaa, 0x8d, 0xcf, 0x25, 0x53, 0xa0, 0x8d, 0xb0, 0xe7, 0xfe, - 0x8d, 0x0a, 0x1a, 0x6d, 0x75, 0x8a, 0x68, 0xab, 0x6e, 0xd5, 0xdd, 0xee, 0x7e, 0xd5, 0xd3, 0x58, - 0x7f, 0x08, 0x06, 0xb1, 0x49, 0x2f, 0xb1, 0x1f, 0xe8, 0xc3, 0xa6, 0x3f, 0xc6, 0x5a, 0x14, 0x49, - 0x04, 0x1b, 0x20, 0xa1, 0xe3, 0x63, 0xf4, 0x4b, 0xa0, 0x96, 0xcb, 0x2b, 0x6c, 0x71, 0x5b, 0xda, - 0x13, 0xca, 0xee, 0xf4, 0xb0, 0x6f, 0x6c, 0xcc, 0xd9, 0x36, 0xb0, 0x00, 0x7d, 0x09, 0x12, 0xe5, - 0x15, 0xd6, 0xf0, 0x1e, 0x8f, 0x23, 0xc6, 0x48, 0x94, 0x57, 0xa6, 0xfe, 0x52, 0x81, 0x11, 0x61, - 0x54, 0xcf, 0xc0, 0x30, 0x1d, 0x08, 0x4c, 0x77, 0xc0, 0x10, 0xc6, 0xb8, 0xce, 0x89, 0x5b, 0xd4, - 0x79, 0x2a, 0x07, 0x63, 0xd2, 0xb8, 0x3e, 0x0f, 0x7a, 0x70, 0x88, 0x29, 0x41, 0x7f, 0x1c, 0x2c, - 0x84, 0x92, 0xb9, 0x03, 0xc0, 0xb7, 0xab, 0xf7, 0x9b, 0x56, 0xe5, 0xd2, 0xfa, 0x46, 0xa9, 0xa8, - 0x29, 0x99, 0xaf, 0x2b, 0x30, 0xc4, 0xda, 0xd6, 0xaa, 0xdd, 0x42, 0x7a, 0x1e, 0x94, 0x1c, 0x8b, - 0x87, 0x37, 0xa6, 0xb7, 0x92, 0xd3, 0x4f, 0x82, 0x92, 0x8f, 0xef, 0x6a, 0x25, 0xaf, 0x2f, 0x82, - 0x52, 0x60, 0x0e, 0x8e, 0xe7, 0x19, 0xa5, 0x90, 0xf9, 0x89, 0x0a, 0x13, 0xc1, 0x36, 0x9a, 0xd7, - 0x93, 0x63, 0xe2, 0x7b, 0x53, 0x76, 0xf0, 0xd4, 0xe2, 0xe9, 0xa5, 0x79, 0xfc, 0x8f, 0x17, 0x92, - 0x19, 0xf1, 0x15, 0x2a, 0x0b, 0x1e, 0xcb, 0xa9, 0x5e, 0xf7, 0x44, 0xb2, 0xc9, 0x80, 0x84, 0xae, - 0x7b, 0x22, 0x02, 0xb5, 0xeb, 0x9e, 0x88, 0x40, 0xed, 0xba, 0x27, 0x22, 0x50, 0xbb, 0xce, 0x02, - 0x04, 0x6a, 0xd7, 0x3d, 0x11, 0x81, 0xda, 0x75, 0x4f, 0x44, 0xa0, 0x76, 0xdf, 0x13, 0x61, 0xe4, - 0x9e, 0xf7, 0x44, 0x44, 0x7a, 0xf7, 0x3d, 0x11, 0x91, 0xde, 0x7d, 0x4f, 0x24, 0x9b, 0x74, 0xdb, - 0x1d, 0xd4, 0xfb, 0xd4, 0x41, 0xc4, 0xef, 0xf5, 0x12, 0xe8, 0x57, 0xe0, 0x55, 0x18, 0xa3, 0x1b, - 0x12, 0x05, 0xdb, 0x72, 0xcd, 0xba, 0x85, 0xda, 0xfa, 0x3b, 0x60, 0x98, 0x0e, 0xd1, 0xd7, 0x9c, - 0xb0, 0xd7, 0x40, 0x4a, 0x67, 0xf5, 0x56, 0xe0, 0xce, 0xfc, 0x2c, 0x09, 0x93, 0x74, 0xa0, 0x6c, - 0x36, 0x91, 0x70, 0xcb, 0xe8, 0x84, 0x74, 0xa6, 0x34, 0x8a, 0xe1, 0x37, 0x5f, 0x9a, 0xa1, 0xa3, - 0x39, 0x2f, 0x9a, 0x4e, 0x48, 0xa7, 0x4b, 0x22, 0x9f, 0xbf, 0x00, 0x9d, 0x90, 0x6e, 0x1e, 0x89, - 0x7c, 0xde, 0x7a, 0xe3, 0xf1, 0xf1, 0x3b, 0x48, 0x22, 0x5f, 0xd1, 0x8b, 0xb2, 0x13, 0xd2, 0x6d, - 0x24, 0x91, 0xaf, 0xe4, 0xc5, 0xdb, 0x09, 0xe9, 0xec, 0x49, 0xe4, 0xbb, 0xe4, 0x45, 0xde, 0x09, - 0xe9, 0x14, 0x4a, 0xe4, 0xbb, 0xec, 0xc5, 0xe0, 0x09, 0xe9, 0xae, 0x92, 0xc8, 0xf7, 0xb0, 0x17, - 0x8d, 0x27, 0xa4, 0x5b, 0x4b, 0x22, 0xdf, 0xb2, 0x17, 0x97, 0xb3, 0xf2, 0xfd, 0x25, 0x91, 0xf1, - 0x8a, 0x1f, 0xa1, 0xb3, 0xf2, 0x4d, 0x26, 0x91, 0xf3, 0x9d, 0x7e, 0xac, 0xce, 0xca, 0x77, 0x9a, - 0x44, 0xce, 0xab, 0x7e, 0xd4, 0xce, 0xca, 0x67, 0x65, 0x22, 0xe7, 0x8a, 0x1f, 0xbf, 0xb3, 0xf2, - 0xa9, 0x99, 0xc8, 0x59, 0xf6, 0x23, 0x79, 0x56, 0x3e, 0x3f, 0x13, 0x39, 0x57, 0xfd, 0x4d, 0xf4, - 0x6f, 0x4b, 0xe1, 0x17, 0xb8, 0x05, 0x95, 0x91, 0xc2, 0x0f, 0x42, 0x42, 0x4f, 0x2a, 0x64, 0x01, - 0x1e, 0x3f, 0xec, 0x32, 0x52, 0xd8, 0x41, 0x48, 0xc8, 0x65, 0xa4, 0x90, 0x83, 0x90, 0x70, 0xcb, - 0x48, 0xe1, 0x06, 0x21, 0xa1, 0x96, 0x91, 0x42, 0x0d, 0x42, 0xc2, 0x2c, 0x23, 0x85, 0x19, 0x84, - 0x84, 0x58, 0x46, 0x0a, 0x31, 0x08, 0x09, 0xaf, 0x8c, 0x14, 0x5e, 0x10, 0x12, 0x5a, 0xc7, 0xe5, - 0xd0, 0x82, 0xb0, 0xb0, 0x3a, 0x2e, 0x87, 0x15, 0x84, 0x85, 0xd4, 0x9d, 0x72, 0x48, 0x0d, 0xde, - 0x7c, 0x69, 0xa6, 0x1f, 0x0f, 0x05, 0xa2, 0xe9, 0xb8, 0x1c, 0x4d, 0x10, 0x16, 0x49, 0xc7, 0xe5, - 0x48, 0x82, 0xb0, 0x28, 0x3a, 0x2e, 0x47, 0x11, 0x84, 0x45, 0xd0, 0x0b, 0x72, 0x04, 0xf9, 0x77, - 0x7c, 0x32, 0xd2, 0x91, 0x62, 0x54, 0x04, 0xa9, 0x31, 0x22, 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x8c, - 0x08, 0x52, 0x63, 0x44, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, 0xa4, 0xc6, 0x88, 0x20, 0x35, - 0x4e, 0x04, 0xa9, 0xb1, 0x22, 0x48, 0xed, 0x15, 0x41, 0xc7, 0xe5, 0x1b, 0x0f, 0x10, 0x56, 0x90, - 0x8e, 0xcb, 0x47, 0x9f, 0xd1, 0x21, 0xa4, 0xc6, 0x0a, 0x21, 0xb5, 0x57, 0x08, 0x7d, 0x5b, 0x85, - 0x09, 0x21, 0x84, 0xd8, 0xf9, 0xd0, 0x9b, 0x55, 0x81, 0xce, 0xc6, 0xb8, 0x60, 0x11, 0x16, 0x53, - 0x67, 0x63, 0x1c, 0x52, 0xef, 0x15, 0x67, 0xdd, 0x55, 0xa8, 0x14, 0xa3, 0x0a, 0x5d, 0xf2, 0x62, - 0xe8, 0x6c, 0x8c, 0x8b, 0x17, 0xdd, 0xb1, 0x77, 0x7e, 0xaf, 0x22, 0xf0, 0x70, 0xac, 0x22, 0xb0, - 0x1c, 0xab, 0x08, 0x5c, 0xf1, 0x3d, 0xf8, 0xc1, 0x04, 0x1c, 0xf4, 0x3d, 0x48, 0x3f, 0x91, 0x1f, - 0xd0, 0xca, 0x04, 0x8e, 0xa8, 0x74, 0x7e, 0x6c, 0x13, 0x70, 0x63, 0x62, 0xb9, 0xa6, 0xaf, 0x89, - 0x87, 0x55, 0xd9, 0xfd, 0x1e, 0xe0, 0x04, 0x3c, 0xce, 0x36, 0x43, 0x8f, 0x83, 0xba, 0x5c, 0x73, - 0x48, 0xb5, 0x08, 0x7b, 0x6c, 0xc1, 0xc0, 0x64, 0xdd, 0x80, 0x01, 0xc2, 0xee, 0x10, 0xf7, 0xde, - 0xca, 0x83, 0x8b, 0x06, 0x93, 0x94, 0x79, 0x41, 0x81, 0xa3, 0x42, 0x28, 0xbf, 0x39, 0x47, 0x06, - 0x17, 0x63, 0x1d, 0x19, 0x08, 0x09, 0xe2, 0x1f, 0x1f, 0xdc, 0xdd, 0x7d, 0x52, 0x1d, 0xcc, 0x12, - 0xf9, 0x28, 0xe1, 0xff, 0xc0, 0xa8, 0x3f, 0x03, 0xf2, 0xce, 0x76, 0x26, 0x7a, 0x37, 0x33, 0x2c, - 0x35, 0xcf, 0x48, 0xbb, 0x68, 0x7b, 0xc2, 0xbc, 0x6c, 0xcd, 0x64, 0x61, 0xac, 0x2c, 0xfe, 0xe5, - 0x53, 0xd4, 0x66, 0x44, 0x0a, 0xb7, 0xe6, 0x37, 0x3e, 0x3d, 0xd3, 0x97, 0xb9, 0x0f, 0x86, 0x83, - 0x7f, 0xdc, 0x24, 0x01, 0x07, 0x39, 0x30, 0x9b, 0x7c, 0x11, 0x73, 0xff, 0x8e, 0x02, 0x87, 0x82, - 0xec, 0x8f, 0xd4, 0xdd, 0x9d, 0x65, 0x0b, 0xf7, 0xf4, 0x0f, 0x40, 0x0a, 0x31, 0xc7, 0xb1, 0xdf, - 0xc2, 0x61, 0xef, 0x91, 0xa1, 0xec, 0xf3, 0xe4, 0x5f, 0xc3, 0x83, 0x48, 0xbb, 0x20, 0xfc, 0xb1, - 0x8b, 0x53, 0x77, 0x41, 0x3f, 0x95, 0x2f, 0xea, 0x35, 0x22, 0xe9, 0xf5, 0xb9, 0x10, 0xbd, 0x48, - 0x1c, 0xe9, 0x57, 0x04, 0xbd, 0x02, 0xaf, 0xab, 0xa1, 0xec, 0xf3, 0x3c, 0xf8, 0xf2, 0x29, 0xdc, - 0xff, 0x91, 0x88, 0x8a, 0x56, 0x72, 0x16, 0x52, 0x25, 0x99, 0x27, 0x5c, 0xcf, 0x22, 0x24, 0xcb, - 0x76, 0x8d, 0xfc, 0x4a, 0x0f, 0xf9, 0x59, 0x6a, 0x66, 0x64, 0xf6, 0x1b, 0xd5, 0x27, 0x20, 0x55, - 0xd8, 0xa9, 0x37, 0x6a, 0x6d, 0x64, 0xb1, 0x33, 0x7b, 0xb6, 0x85, 0x8e, 0x31, 0x86, 0x47, 0xcb, - 0x14, 0x60, 0xbc, 0x6c, 0x5b, 0xf9, 0x5d, 0x37, 0x58, 0x37, 0xe6, 0xa5, 0x14, 0x61, 0x67, 0x3e, - 0xe4, 0x8f, 0x41, 0x30, 0x43, 0xbe, 0xff, 0x7b, 0x2f, 0xcd, 0x28, 0x1b, 0xde, 0xfe, 0xf9, 0x0a, - 0x1c, 0x66, 0xe9, 0xd3, 0x25, 0x6a, 0x31, 0x4a, 0xd4, 0x20, 0x3b, 0xa7, 0x0e, 0x88, 0x5b, 0xc6, - 0xe2, 0xac, 0x50, 0x71, 0x6f, 0x4c, 0x33, 0xdc, 0x14, 0xed, 0xa9, 0x99, 0xba, 0x2f, 0xcd, 0x42, - 0xc5, 0xcd, 0x47, 0x89, 0x93, 0x34, 0xbb, 0x13, 0x06, 0x3d, 0x5a, 0x20, 0x1a, 0x82, 0x99, 0xb2, - 0x38, 0x97, 0x81, 0xa1, 0x40, 0xc2, 0xea, 0xfd, 0xa0, 0xe4, 0xb4, 0x3e, 0xfc, 0x5f, 0x5e, 0x53, - 0xf0, 0x7f, 0x05, 0x2d, 0x31, 0x77, 0x17, 0x8c, 0x49, 0xfb, 0x97, 0x98, 0x52, 0xd4, 0x00, 0xff, - 0x57, 0xd2, 0x86, 0xa6, 0x92, 0x1f, 0xfa, 0xec, 0x74, 0xdf, 0xdc, 0x45, 0xd0, 0xbb, 0x77, 0x3a, - 0xf5, 0x01, 0x48, 0xe4, 0xb0, 0xc8, 0xc3, 0x90, 0xc8, 0xe7, 0x35, 0x65, 0x6a, 0xec, 0x97, 0x3f, - 0x79, 0x74, 0x28, 0x4f, 0xfe, 0x72, 0xfb, 0x1a, 0x72, 0xf3, 0x79, 0x06, 0x7e, 0x10, 0x0e, 0x85, - 0xee, 0x94, 0x62, 0x7c, 0xa1, 0x40, 0xf1, 0xc5, 0x62, 0x17, 0xbe, 0x58, 0x24, 0x78, 0x25, 0xcb, - 0x4f, 0x9c, 0x73, 0x7a, 0xc8, 0x2e, 0x63, 0xba, 0x16, 0x38, 0xe1, 0xce, 0x65, 0x1f, 0x64, 0xbc, - 0xf9, 0x50, 0x5e, 0x14, 0x71, 0x62, 0x9d, 0xcf, 0x16, 0x18, 0xbe, 0x10, 0x8a, 0xdf, 0x92, 0x8e, - 0x55, 0xc5, 0x15, 0x82, 0x09, 0x29, 0x78, 0x0a, 0x17, 0x43, 0x85, 0xec, 0x04, 0x2e, 0xbb, 0x17, - 0x3d, 0x85, 0x4b, 0xa1, 0xbc, 0xf5, 0x88, 0x4b, 0x5f, 0xa5, 0xec, 0x49, 0xb6, 0xc8, 0xe7, 0x4e, - 0xe9, 0x87, 0x78, 0x8e, 0x0a, 0x15, 0x98, 0x19, 0x88, 0x73, 0x65, 0x0b, 0x0c, 0x90, 0xef, 0x09, - 0xe8, 0x6d, 0x25, 0x8e, 0xcc, 0x3e, 0xcc, 0x84, 0x14, 0x7a, 0x0a, 0x89, 0x30, 0x15, 0x87, 0xe7, - 0x37, 0x6e, 0xbc, 0x3c, 0xdd, 0xf7, 0xe2, 0xcb, 0xd3, 0x7d, 0xff, 0xf0, 0xf2, 0x74, 0xdf, 0xf7, - 0x5f, 0x9e, 0x56, 0x7e, 0xf8, 0xf2, 0xb4, 0xf2, 0xe3, 0x97, 0xa7, 0x95, 0x9f, 0xbe, 0x3c, 0xad, - 0x3c, 0x73, 0x73, 0x5a, 0x79, 0xfe, 0xe6, 0xb4, 0xf2, 0xe5, 0x9b, 0xd3, 0xca, 0x37, 0x6e, 0x4e, - 0x2b, 0x2f, 0xdc, 0x9c, 0x56, 0x6e, 0xdc, 0x9c, 0x56, 0x5e, 0xbc, 0x39, 0xdd, 0xf7, 0xfd, 0x9b, - 0xd3, 0xca, 0x0f, 0x6f, 0x4e, 0xf7, 0xfd, 0xf8, 0xe6, 0xb4, 0xf2, 0xd3, 0x9b, 0xd3, 0x7d, 0xcf, - 0xbc, 0x32, 0xdd, 0xf7, 0xdc, 0x2b, 0xd3, 0x7d, 0xcf, 0xbf, 0x32, 0xad, 0xfc, 0x77, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x09, 0x02, 0x7e, 0xa3, 0xea, 0x68, 0x00, 0x00, + // 6764 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x7b, 0x6c, 0x1c, 0xd7, + 0x75, 0x37, 0x67, 0x67, 0x49, 0x2d, 0x0f, 0x5f, 0xc3, 0xa1, 0x44, 0xad, 0x69, 0x99, 0x94, 0xd6, + 0xb2, 0x4c, 0xd3, 0x36, 0x45, 0x51, 0xd4, 0x6b, 0x15, 0xdb, 0xdf, 0xbe, 0x24, 0x53, 0x11, 0x97, + 0xcc, 0x90, 0x8c, 0xad, 0xe4, 0xfb, 0xb0, 0x18, 0xed, 0x5e, 0x92, 0x6b, 0xef, 0xce, 0x6c, 0x76, + 0x66, 0x6d, 0xd3, 0xf8, 0xf0, 0xc1, 0x5f, 0xd2, 0xa6, 0x49, 0xdf, 0x6d, 0x5a, 0x34, 0x49, 0x13, + 0xc7, 0x49, 0x90, 0xc4, 0x49, 0x5f, 0x49, 0x9b, 0xa6, 0x49, 0x5a, 0x34, 0xfe, 0x27, 0xad, 0x0a, + 0x14, 0x85, 0xd3, 0xbf, 0x8a, 0xa0, 0x30, 0x62, 0x39, 0x40, 0xd3, 0xd6, 0x6d, 0xd3, 0xd4, 0x40, + 0x03, 0x38, 0x7f, 0x14, 0xf7, 0x35, 0x33, 0xf7, 0xee, 0x2c, 0x67, 0x68, 0xd9, 0x4e, 0xfe, 0x91, + 0x76, 0xef, 0x39, 0xbf, 0x33, 0xe7, 0x9e, 0xd7, 0x3d, 0x73, 0xef, 0xe5, 0xc2, 0x8d, 0x2c, 0x1c, + 0xdd, 0xb6, 0xed, 0xed, 0x06, 0x3a, 0xd9, 0x6a, 0xdb, 0xae, 0x7d, 0xbd, 0xb3, 0x75, 0xb2, 0x86, + 0x9c, 0x6a, 0xbb, 0xde, 0x72, 0xed, 0xf6, 0x3c, 0x19, 0xd3, 0xc7, 0x28, 0xc7, 0x3c, 0xe7, 0xc8, + 0xac, 0xc0, 0xf8, 0xa5, 0x7a, 0x03, 0x15, 0x3d, 0xc6, 0x75, 0xe4, 0xea, 0xe7, 0x21, 0xb9, 0x55, + 0x6f, 0xa0, 0xb4, 0x72, 0x54, 0x9d, 0x1d, 0x5a, 0x3c, 0x3e, 0x2f, 0x81, 0xe6, 0x45, 0xc4, 0x1a, + 0x1e, 0x36, 0x08, 0x22, 0xf3, 0xfd, 0x24, 0x4c, 0x84, 0x50, 0x75, 0x1d, 0x92, 0x96, 0xd9, 0xc4, + 0x12, 0x95, 0xd9, 0x41, 0x83, 0x7c, 0xd6, 0xd3, 0x70, 0xa0, 0x65, 0x56, 0x1f, 0x37, 0xb7, 0x51, + 0x3a, 0x41, 0x86, 0xf9, 0x57, 0x7d, 0x1a, 0xa0, 0x86, 0x5a, 0xc8, 0xaa, 0x21, 0xab, 0xba, 0x9b, + 0x56, 0x8f, 0xaa, 0xb3, 0x83, 0x46, 0x60, 0x44, 0xbf, 0x17, 0xc6, 0x5b, 0x9d, 0xeb, 0x8d, 0x7a, + 0xb5, 0x12, 0x60, 0x83, 0xa3, 0xea, 0x6c, 0xbf, 0xa1, 0x51, 0x42, 0xd1, 0x67, 0xbe, 0x1b, 0xc6, + 0x9e, 0x44, 0xe6, 0xe3, 0x41, 0xd6, 0x21, 0xc2, 0x3a, 0x8a, 0x87, 0x03, 0x8c, 0x05, 0x18, 0x6e, + 0x22, 0xc7, 0x31, 0xb7, 0x51, 0xc5, 0xdd, 0x6d, 0xa1, 0x74, 0x92, 0xcc, 0xfe, 0x68, 0xd7, 0xec, + 0xe5, 0x99, 0x0f, 0x31, 0xd4, 0xc6, 0x6e, 0x0b, 0xe9, 0x39, 0x18, 0x44, 0x56, 0xa7, 0x49, 0x25, + 0xf4, 0xf7, 0xb0, 0x5f, 0xc9, 0xea, 0x34, 0x65, 0x29, 0x29, 0x0c, 0x63, 0x22, 0x0e, 0x38, 0xa8, + 0xfd, 0x44, 0xbd, 0x8a, 0xd2, 0x03, 0x44, 0xc0, 0xdd, 0x5d, 0x02, 0xd6, 0x29, 0x5d, 0x96, 0xc1, + 0x71, 0x7a, 0x01, 0x06, 0xd1, 0x53, 0x2e, 0xb2, 0x9c, 0xba, 0x6d, 0xa5, 0x0f, 0x10, 0x21, 0x77, + 0x85, 0x78, 0x11, 0x35, 0x6a, 0xb2, 0x08, 0x1f, 0xa7, 0x9f, 0x85, 0x03, 0x76, 0xcb, 0xad, 0xdb, + 0x96, 0x93, 0x4e, 0x1d, 0x55, 0x66, 0x87, 0x16, 0x8f, 0x84, 0x06, 0xc2, 0x2a, 0xe5, 0x31, 0x38, + 0xb3, 0xbe, 0x0c, 0x9a, 0x63, 0x77, 0xda, 0x55, 0x54, 0xa9, 0xda, 0x35, 0x54, 0xa9, 0x5b, 0x5b, + 0x76, 0x7a, 0x90, 0x08, 0x98, 0xe9, 0x9e, 0x08, 0x61, 0x2c, 0xd8, 0x35, 0xb4, 0x6c, 0x6d, 0xd9, + 0xc6, 0xa8, 0x23, 0x7c, 0xd7, 0x27, 0x61, 0xc0, 0xd9, 0xb5, 0x5c, 0xf3, 0xa9, 0xf4, 0x30, 0x89, + 0x10, 0xf6, 0x2d, 0xf3, 0x8d, 0x01, 0x18, 0x8b, 0x13, 0x62, 0x17, 0xa1, 0x7f, 0x0b, 0xcf, 0x32, + 0x9d, 0xd8, 0x8f, 0x0d, 0x28, 0x46, 0x34, 0xe2, 0xc0, 0x1b, 0x34, 0x62, 0x0e, 0x86, 0x2c, 0xe4, + 0xb8, 0xa8, 0x46, 0x23, 0x42, 0x8d, 0x19, 0x53, 0x40, 0x41, 0xdd, 0x21, 0x95, 0x7c, 0x43, 0x21, + 0xf5, 0x28, 0x8c, 0x79, 0x2a, 0x55, 0xda, 0xa6, 0xb5, 0xcd, 0x63, 0xf3, 0x64, 0x94, 0x26, 0xf3, + 0x25, 0x8e, 0x33, 0x30, 0xcc, 0x18, 0x45, 0xc2, 0x77, 0xbd, 0x08, 0x60, 0x5b, 0xc8, 0xde, 0xaa, + 0xd4, 0x50, 0xb5, 0x91, 0x4e, 0xf5, 0xb0, 0xd2, 0x2a, 0x66, 0xe9, 0xb2, 0x92, 0x4d, 0x47, 0xab, + 0x0d, 0xfd, 0x82, 0x1f, 0x6a, 0x07, 0x7a, 0x44, 0xca, 0x0a, 0x4d, 0xb2, 0xae, 0x68, 0xdb, 0x84, + 0xd1, 0x36, 0xc2, 0x71, 0x8f, 0x6a, 0x6c, 0x66, 0x83, 0x44, 0x89, 0xf9, 0xc8, 0x99, 0x19, 0x0c, + 0x46, 0x27, 0x36, 0xd2, 0x0e, 0x7e, 0xd5, 0xef, 0x04, 0x6f, 0xa0, 0x42, 0xc2, 0x0a, 0x48, 0x15, + 0x1a, 0xe6, 0x83, 0x65, 0xb3, 0x89, 0xa6, 0x9e, 0x86, 0x51, 0xd1, 0x3c, 0xfa, 0x41, 0xe8, 0x77, + 0x5c, 0xb3, 0xed, 0x92, 0x28, 0xec, 0x37, 0xe8, 0x17, 0x5d, 0x03, 0x15, 0x59, 0x35, 0x52, 0xe5, + 0xfa, 0x0d, 0xfc, 0x51, 0xff, 0x5f, 0xfe, 0x84, 0x55, 0x32, 0xe1, 0x13, 0xdd, 0x1e, 0x15, 0x24, + 0xcb, 0xf3, 0x9e, 0x3a, 0x07, 0x23, 0xc2, 0x04, 0xe2, 0x3e, 0x3a, 0xf3, 0x7f, 0xe1, 0x50, 0xa8, + 0x68, 0xfd, 0x51, 0x38, 0xd8, 0xb1, 0xea, 0x96, 0x8b, 0xda, 0xad, 0x36, 0xc2, 0x11, 0x4b, 0x1f, + 0x95, 0xfe, 0xa7, 0x03, 0x3d, 0x62, 0x6e, 0x33, 0xc8, 0x4d, 0xa5, 0x18, 0x13, 0x9d, 0xee, 0xc1, + 0xb9, 0xc1, 0xd4, 0x0f, 0x0e, 0x68, 0xcf, 0x3c, 0xf3, 0xcc, 0x33, 0x89, 0xcc, 0x47, 0x07, 0xe0, + 0x60, 0x58, 0xce, 0x84, 0xa6, 0xef, 0x24, 0x0c, 0x58, 0x9d, 0xe6, 0x75, 0xd4, 0x26, 0x46, 0xea, + 0x37, 0xd8, 0x37, 0x3d, 0x07, 0xfd, 0x0d, 0xf3, 0x3a, 0x6a, 0xa4, 0x93, 0x47, 0x95, 0xd9, 0xd1, + 0xc5, 0x7b, 0x63, 0x65, 0xe5, 0xfc, 0x55, 0x0c, 0x31, 0x28, 0x52, 0x7f, 0x10, 0x92, 0xac, 0x44, + 0x63, 0x09, 0x73, 0xf1, 0x24, 0xe0, 0x5c, 0x32, 0x08, 0x4e, 0xbf, 0x1d, 0x06, 0xf1, 0xff, 0x34, + 0x36, 0x06, 0x88, 0xce, 0x29, 0x3c, 0x80, 0xe3, 0x42, 0x9f, 0x82, 0x14, 0x49, 0x93, 0x1a, 0xe2, + 0x4b, 0x9b, 0xf7, 0x1d, 0x07, 0x56, 0x0d, 0x6d, 0x99, 0x9d, 0x86, 0x5b, 0x79, 0xc2, 0x6c, 0x74, + 0x10, 0x09, 0xf8, 0x41, 0x63, 0x98, 0x0d, 0xbe, 0x1b, 0x8f, 0xe9, 0x33, 0x30, 0x44, 0xb3, 0xaa, + 0x6e, 0xd5, 0xd0, 0x53, 0xa4, 0x7a, 0xf6, 0x1b, 0x34, 0xd1, 0x96, 0xf1, 0x08, 0x7e, 0xfc, 0x63, + 0x8e, 0x6d, 0xf1, 0xd0, 0x24, 0x8f, 0xc0, 0x03, 0xe4, 0xf1, 0xe7, 0xe4, 0xc2, 0x7d, 0x47, 0xf8, + 0xf4, 0xe4, 0x98, 0xca, 0x7c, 0x2d, 0x01, 0x49, 0x52, 0x2f, 0xc6, 0x60, 0x68, 0xe3, 0xda, 0x5a, + 0xa9, 0x52, 0x5c, 0xdd, 0xcc, 0x5f, 0x2d, 0x69, 0x8a, 0x3e, 0x0a, 0x40, 0x06, 0x2e, 0x5d, 0x5d, + 0xcd, 0x6d, 0x68, 0x09, 0xef, 0xfb, 0x72, 0x79, 0xe3, 0xec, 0x92, 0xa6, 0x7a, 0x80, 0x4d, 0x3a, + 0x90, 0x0c, 0x32, 0x9c, 0x5e, 0xd4, 0xfa, 0x75, 0x0d, 0x86, 0xa9, 0x80, 0xe5, 0x47, 0x4b, 0xc5, + 0xb3, 0x4b, 0xda, 0x80, 0x38, 0x72, 0x7a, 0x51, 0x3b, 0xa0, 0x8f, 0xc0, 0x20, 0x19, 0xc9, 0xaf, + 0xae, 0x5e, 0xd5, 0x52, 0x9e, 0xcc, 0xf5, 0x0d, 0x63, 0xb9, 0x7c, 0x59, 0x1b, 0xf4, 0x64, 0x5e, + 0x36, 0x56, 0x37, 0xd7, 0x34, 0xf0, 0x24, 0xac, 0x94, 0xd6, 0xd7, 0x73, 0x97, 0x4b, 0xda, 0x90, + 0xc7, 0x91, 0xbf, 0xb6, 0x51, 0x5a, 0xd7, 0x86, 0x05, 0xb5, 0x4e, 0x2f, 0x6a, 0x23, 0xde, 0x23, + 0x4a, 0xe5, 0xcd, 0x15, 0x6d, 0x54, 0x1f, 0x87, 0x11, 0xfa, 0x08, 0xae, 0xc4, 0x98, 0x34, 0x74, + 0x76, 0x49, 0xd3, 0x7c, 0x45, 0xa8, 0x94, 0x71, 0x61, 0xe0, 0xec, 0x92, 0xa6, 0x67, 0x0a, 0xd0, + 0x4f, 0xa2, 0x4b, 0xd7, 0x61, 0xf4, 0x6a, 0x2e, 0x5f, 0xba, 0x5a, 0x59, 0x5d, 0xdb, 0x58, 0x5e, + 0x2d, 0xe7, 0xae, 0x6a, 0x8a, 0x3f, 0x66, 0x94, 0xde, 0xb5, 0xb9, 0x6c, 0x94, 0x8a, 0x5a, 0x22, + 0x38, 0xb6, 0x56, 0xca, 0x6d, 0x94, 0x8a, 0x9a, 0x9a, 0xa9, 0xc2, 0xc1, 0xb0, 0x3a, 0x19, 0x9a, + 0x19, 0x01, 0x17, 0x27, 0x7a, 0xb8, 0x98, 0xc8, 0xea, 0x72, 0xf1, 0x2b, 0x09, 0x98, 0x08, 0x59, + 0x2b, 0x42, 0x1f, 0xf2, 0x10, 0xf4, 0xd3, 0x10, 0xa5, 0xab, 0xe7, 0x3d, 0xa1, 0x8b, 0x0e, 0x09, + 0xd8, 0xae, 0x15, 0x94, 0xe0, 0x82, 0x1d, 0x84, 0xda, 0xa3, 0x83, 0xc0, 0x22, 0xba, 0x6a, 0xfa, + 0xff, 0xe9, 0xaa, 0xe9, 0x74, 0xd9, 0x3b, 0x1b, 0x67, 0xd9, 0x23, 0x63, 0xfb, 0xab, 0xed, 0xfd, + 0x21, 0xb5, 0xfd, 0x22, 0x8c, 0x77, 0x09, 0x8a, 0x5d, 0x63, 0x3f, 0xa0, 0x40, 0xba, 0x97, 0x71, + 0x22, 0x2a, 0x5d, 0x42, 0xa8, 0x74, 0x17, 0x65, 0x0b, 0x1e, 0xeb, 0xed, 0x84, 0x2e, 0x5f, 0x7f, + 0x41, 0x81, 0xc9, 0xf0, 0x4e, 0x31, 0x54, 0x87, 0x07, 0x61, 0xa0, 0x89, 0xdc, 0x1d, 0x9b, 0x77, + 0x4b, 0x27, 0x42, 0xd6, 0x60, 0x4c, 0x96, 0x9d, 0xcd, 0x50, 0xc1, 0x45, 0x5c, 0xed, 0xd5, 0xee, + 0x51, 0x6d, 0xba, 0x34, 0xfd, 0x70, 0x02, 0x0e, 0x85, 0x0a, 0x0f, 0x55, 0xf4, 0x0e, 0x80, 0xba, + 0xd5, 0xea, 0xb8, 0xb4, 0x23, 0xa2, 0x05, 0x76, 0x90, 0x8c, 0x90, 0xe2, 0x85, 0x8b, 0x67, 0xc7, + 0xf5, 0xe8, 0x2a, 0xa1, 0x03, 0x1d, 0x22, 0x0c, 0xe7, 0x7d, 0x45, 0x93, 0x44, 0xd1, 0xe9, 0x1e, + 0x33, 0xed, 0x0a, 0xcc, 0x05, 0xd0, 0xaa, 0x8d, 0x3a, 0xb2, 0xdc, 0x8a, 0xe3, 0xb6, 0x91, 0xd9, + 0xac, 0x5b, 0xdb, 0x64, 0x05, 0x49, 0x65, 0xfb, 0xb7, 0xcc, 0x86, 0x83, 0x8c, 0x31, 0x4a, 0x5e, + 0xe7, 0x54, 0x8c, 0x20, 0x01, 0xd4, 0x0e, 0x20, 0x06, 0x04, 0x04, 0x25, 0x7b, 0x88, 0xcc, 0x2f, + 0x0f, 0xc2, 0x50, 0xa0, 0xaf, 0xd6, 0x8f, 0xc1, 0xf0, 0x63, 0xe6, 0x13, 0x66, 0x85, 0xbf, 0x2b, + 0x51, 0x4b, 0x0c, 0xe1, 0xb1, 0x35, 0xf6, 0xbe, 0xb4, 0x00, 0x07, 0x09, 0x8b, 0xdd, 0x71, 0x51, + 0xbb, 0x52, 0x6d, 0x98, 0x8e, 0x43, 0x8c, 0x96, 0x22, 0xac, 0x3a, 0xa6, 0xad, 0x62, 0x52, 0x81, + 0x53, 0xf4, 0x33, 0x30, 0x41, 0x10, 0xcd, 0x4e, 0xc3, 0xad, 0xb7, 0x1a, 0xa8, 0x82, 0xdf, 0xde, + 0x1c, 0xb2, 0x92, 0x78, 0x9a, 0x8d, 0x63, 0x8e, 0x15, 0xc6, 0x80, 0x35, 0x72, 0xf4, 0x22, 0xdc, + 0x41, 0x60, 0xdb, 0xc8, 0x42, 0x6d, 0xd3, 0x45, 0x15, 0xf4, 0xbe, 0x8e, 0xd9, 0x70, 0x2a, 0xa6, + 0x55, 0xab, 0xec, 0x98, 0xce, 0x4e, 0xfa, 0x20, 0x16, 0x90, 0x4f, 0xa4, 0x15, 0xe3, 0x36, 0xcc, + 0x78, 0x99, 0xf1, 0x95, 0x08, 0x5b, 0xce, 0xaa, 0x3d, 0x6c, 0x3a, 0x3b, 0x7a, 0x16, 0x26, 0x89, + 0x14, 0xc7, 0x6d, 0xd7, 0xad, 0xed, 0x4a, 0x75, 0x07, 0x55, 0x1f, 0xaf, 0x74, 0xdc, 0xad, 0xf3, + 0xe9, 0xdb, 0x83, 0xcf, 0x27, 0x1a, 0xae, 0x13, 0x9e, 0x02, 0x66, 0xd9, 0x74, 0xb7, 0xce, 0xeb, + 0xeb, 0x30, 0x8c, 0x9d, 0xd1, 0xac, 0x3f, 0x8d, 0x2a, 0x5b, 0x76, 0x9b, 0x2c, 0x8d, 0xa3, 0x21, + 0xa5, 0x29, 0x60, 0xc1, 0xf9, 0x55, 0x06, 0x58, 0xb1, 0x6b, 0x28, 0xdb, 0xbf, 0xbe, 0x56, 0x2a, + 0x15, 0x8d, 0x21, 0x2e, 0xe5, 0x92, 0xdd, 0xc6, 0x01, 0xb5, 0x6d, 0x7b, 0x06, 0x1e, 0xa2, 0x01, + 0xb5, 0x6d, 0x73, 0xf3, 0x9e, 0x81, 0x89, 0x6a, 0x95, 0xce, 0xb9, 0x5e, 0xad, 0xb0, 0x77, 0x2c, + 0x27, 0xad, 0x09, 0xc6, 0xaa, 0x56, 0x2f, 0x53, 0x06, 0x16, 0xe3, 0x8e, 0x7e, 0x01, 0x0e, 0xf9, + 0xc6, 0x0a, 0x02, 0xc7, 0xbb, 0x66, 0x29, 0x43, 0xcf, 0xc0, 0x44, 0x6b, 0xb7, 0x1b, 0xa8, 0x0b, + 0x4f, 0x6c, 0xed, 0xca, 0xb0, 0x73, 0x70, 0xb0, 0xb5, 0xd3, 0xea, 0xc6, 0xcd, 0x05, 0x71, 0x7a, + 0x6b, 0xa7, 0x25, 0x03, 0xef, 0x22, 0x2f, 0xdc, 0x6d, 0x54, 0x35, 0x5d, 0x54, 0x4b, 0x1f, 0x0e, + 0xb2, 0x07, 0x08, 0xfa, 0x49, 0xd0, 0xaa, 0xd5, 0x0a, 0xb2, 0xcc, 0xeb, 0x0d, 0x54, 0x31, 0xdb, + 0xc8, 0x32, 0x9d, 0xf4, 0x4c, 0x90, 0x79, 0xb4, 0x5a, 0x2d, 0x11, 0x6a, 0x8e, 0x10, 0xf5, 0x39, + 0x18, 0xb7, 0xaf, 0x3f, 0x56, 0xa5, 0x21, 0x59, 0x69, 0xb5, 0xd1, 0x56, 0xfd, 0xa9, 0xf4, 0x71, + 0x62, 0xdf, 0x31, 0x4c, 0x20, 0x01, 0xb9, 0x46, 0x86, 0xf5, 0x7b, 0x40, 0xab, 0x3a, 0x3b, 0x66, + 0xbb, 0x45, 0x6a, 0xb2, 0xd3, 0x32, 0xab, 0x28, 0x7d, 0x17, 0x65, 0xa5, 0xe3, 0x65, 0x3e, 0x8c, + 0x53, 0xc2, 0x79, 0xb2, 0xbe, 0xe5, 0x72, 0x89, 0x77, 0xd3, 0x94, 0x20, 0x63, 0x4c, 0xda, 0x2c, + 0x68, 0xd8, 0x14, 0xc2, 0x83, 0x67, 0x09, 0xdb, 0x68, 0x6b, 0xa7, 0x15, 0x7c, 0xee, 0x9d, 0x30, + 0x82, 0x39, 0xfd, 0x87, 0xde, 0x43, 0x1b, 0xb2, 0xd6, 0x4e, 0xe0, 0x89, 0x4b, 0x30, 0x89, 0x99, + 0x9a, 0xc8, 0x35, 0x6b, 0xa6, 0x6b, 0x06, 0xb8, 0xef, 0x23, 0xdc, 0xd8, 0xee, 0x2b, 0x8c, 0x28, + 0xe8, 0xd9, 0xee, 0x5c, 0xdf, 0xf5, 0x22, 0xeb, 0x7e, 0xaa, 0x27, 0x1e, 0xe3, 0xb1, 0xf5, 0x96, + 0x35, 0xdd, 0x99, 0x2c, 0x0c, 0x07, 0x03, 0x5f, 0x1f, 0x04, 0x1a, 0xfa, 0x9a, 0x82, 0xbb, 0xa0, + 0xc2, 0x6a, 0x11, 0xf7, 0x2f, 0xef, 0x29, 0x69, 0x09, 0xdc, 0x47, 0x5d, 0x5d, 0xde, 0x28, 0x55, + 0x8c, 0xcd, 0xf2, 0xc6, 0xf2, 0x4a, 0x49, 0x53, 0x83, 0x0d, 0xfb, 0xb7, 0x13, 0x30, 0x2a, 0xbe, + 0x7b, 0xe9, 0xef, 0x80, 0xc3, 0x7c, 0xa3, 0xc4, 0x41, 0x6e, 0xe5, 0xc9, 0x7a, 0x9b, 0xe4, 0x62, + 0xd3, 0xa4, 0xeb, 0xa2, 0x17, 0x0d, 0x07, 0x19, 0xd7, 0x3a, 0x72, 0x1f, 0xa9, 0xb7, 0x71, 0xa6, + 0x35, 0x4d, 0x57, 0xbf, 0x0a, 0x33, 0x96, 0x5d, 0x71, 0x5c, 0xd3, 0xaa, 0x99, 0xed, 0x5a, 0xc5, + 0xdf, 0xa2, 0xaa, 0x98, 0xd5, 0x2a, 0x72, 0x1c, 0x9b, 0xae, 0x81, 0x9e, 0x94, 0x23, 0x96, 0xbd, + 0xce, 0x98, 0xfd, 0xc5, 0x21, 0xc7, 0x58, 0xa5, 0xc8, 0x55, 0x7b, 0x45, 0xee, 0xed, 0x30, 0xd8, + 0x34, 0x5b, 0x15, 0x64, 0xb9, 0xed, 0x5d, 0xd2, 0x71, 0xa7, 0x8c, 0x54, 0xd3, 0x6c, 0x95, 0xf0, + 0xf7, 0xb7, 0xe7, 0xc5, 0xe7, 0x1f, 0x55, 0x18, 0x0e, 0x76, 0xdd, 0xf8, 0x25, 0xa6, 0x4a, 0x16, + 0x28, 0x85, 0x94, 0xb0, 0x3b, 0xf7, 0xec, 0xd1, 0xe7, 0x0b, 0x78, 0xe5, 0xca, 0x0e, 0xd0, 0x5e, + 0xd8, 0xa0, 0x48, 0xdc, 0x35, 0xe0, 0xd0, 0x42, 0xb4, 0xf7, 0x48, 0x19, 0xec, 0x9b, 0x7e, 0x19, + 0x06, 0x1e, 0x73, 0x88, 0xec, 0x01, 0x22, 0xfb, 0xf8, 0xde, 0xb2, 0xaf, 0xac, 0x13, 0xe1, 0x83, + 0x57, 0xd6, 0x2b, 0xe5, 0x55, 0x63, 0x25, 0x77, 0xd5, 0x60, 0x70, 0xfd, 0x36, 0x48, 0x36, 0xcc, + 0xa7, 0x77, 0xc5, 0x35, 0x8e, 0x0c, 0xc5, 0x35, 0xfc, 0x6d, 0x90, 0x7c, 0x12, 0x99, 0x8f, 0x8b, + 0x2b, 0x0b, 0x19, 0x7a, 0x0b, 0x43, 0xff, 0x24, 0xf4, 0x13, 0x7b, 0xe9, 0x00, 0xcc, 0x62, 0x5a, + 0x9f, 0x9e, 0x82, 0x64, 0x61, 0xd5, 0xc0, 0xe1, 0xaf, 0xc1, 0x30, 0x1d, 0xad, 0xac, 0x2d, 0x97, + 0x0a, 0x25, 0x2d, 0x91, 0x39, 0x03, 0x03, 0xd4, 0x08, 0x38, 0x35, 0x3c, 0x33, 0x68, 0x7d, 0xec, + 0x2b, 0x93, 0xa1, 0x70, 0xea, 0xe6, 0x4a, 0xbe, 0x64, 0x68, 0x89, 0xa0, 0x7b, 0x1d, 0x18, 0x0e, + 0x36, 0xdc, 0x6f, 0x4f, 0x4c, 0x7d, 0x53, 0x81, 0xa1, 0x40, 0x03, 0x8d, 0x3b, 0x1f, 0xb3, 0xd1, + 0xb0, 0x9f, 0xac, 0x98, 0x8d, 0xba, 0xe9, 0xb0, 0xa0, 0x00, 0x32, 0x94, 0xc3, 0x23, 0x71, 0x9d, + 0xf6, 0xb6, 0x28, 0xff, 0xac, 0x02, 0x9a, 0xdc, 0xbb, 0x4a, 0x0a, 0x2a, 0x3f, 0x55, 0x05, 0x3f, + 0xa1, 0xc0, 0xa8, 0xd8, 0xb0, 0x4a, 0xea, 0x1d, 0xfb, 0xa9, 0xaa, 0xf7, 0xbd, 0x04, 0x8c, 0x08, + 0x6d, 0x6a, 0x5c, 0xed, 0xde, 0x07, 0xe3, 0xf5, 0x1a, 0x6a, 0xb6, 0x6c, 0x17, 0x59, 0xd5, 0xdd, + 0x4a, 0x03, 0x3d, 0x81, 0x1a, 0xe9, 0x0c, 0x29, 0x14, 0x27, 0xf7, 0x6e, 0x84, 0xe7, 0x97, 0x7d, + 0xdc, 0x55, 0x0c, 0xcb, 0x4e, 0x2c, 0x17, 0x4b, 0x2b, 0x6b, 0xab, 0x1b, 0xa5, 0x72, 0xe1, 0x5a, + 0x65, 0xb3, 0xfc, 0xce, 0xf2, 0xea, 0x23, 0x65, 0x43, 0xab, 0x4b, 0x6c, 0x6f, 0x61, 0xaa, 0xaf, + 0x81, 0x26, 0x2b, 0xa5, 0x1f, 0x86, 0x30, 0xb5, 0xb4, 0x3e, 0x7d, 0x02, 0xc6, 0xca, 0xab, 0x95, + 0xf5, 0xe5, 0x62, 0xa9, 0x52, 0xba, 0x74, 0xa9, 0x54, 0xd8, 0x58, 0xa7, 0x5b, 0x1b, 0x1e, 0xf7, + 0x86, 0x98, 0xd4, 0x1f, 0x57, 0x61, 0x22, 0x44, 0x13, 0x3d, 0xc7, 0x5e, 0x4a, 0xe8, 0x7b, 0xd2, + 0xfd, 0x71, 0xb4, 0x9f, 0xc7, 0x5d, 0xc1, 0x9a, 0xd9, 0x76, 0xd9, 0x3b, 0xcc, 0x3d, 0x80, 0xad, + 0x64, 0xb9, 0xf5, 0xad, 0x3a, 0x6a, 0xb3, 0x9d, 0x20, 0xfa, 0xa6, 0x32, 0xe6, 0x8f, 0xd3, 0xcd, + 0xa0, 0xfb, 0x40, 0x6f, 0xd9, 0x4e, 0xdd, 0xad, 0x3f, 0x81, 0x2a, 0x75, 0x8b, 0x6f, 0x1b, 0xe1, + 0x37, 0x97, 0xa4, 0xa1, 0x71, 0xca, 0xb2, 0xe5, 0x7a, 0xdc, 0x16, 0xda, 0x36, 0x25, 0x6e, 0x5c, + 0xc0, 0x55, 0x43, 0xe3, 0x14, 0x8f, 0xfb, 0x18, 0x0c, 0xd7, 0xec, 0x0e, 0x6e, 0xe7, 0x28, 0x1f, + 0x5e, 0x2f, 0x14, 0x63, 0x88, 0x8e, 0x79, 0x2c, 0xac, 0x51, 0xf7, 0xf7, 0xab, 0x86, 0x8d, 0x21, + 0x3a, 0x46, 0x59, 0xee, 0x86, 0x31, 0x73, 0x7b, 0xbb, 0x8d, 0x85, 0x73, 0x41, 0xf4, 0xd5, 0x63, + 0xd4, 0x1b, 0x26, 0x8c, 0x53, 0x57, 0x20, 0xc5, 0xed, 0x80, 0x97, 0x64, 0x6c, 0x89, 0x4a, 0x8b, + 0xbe, 0x4f, 0x27, 0x66, 0x07, 0x8d, 0x94, 0xc5, 0x89, 0xc7, 0x60, 0xb8, 0xee, 0x54, 0xfc, 0xed, + 0xf7, 0xc4, 0xd1, 0xc4, 0x6c, 0xca, 0x18, 0xaa, 0x3b, 0xde, 0xd6, 0x65, 0xe6, 0x0b, 0x09, 0x18, + 0x15, 0x8f, 0x0f, 0xf4, 0x22, 0xa4, 0x1a, 0x76, 0xd5, 0x24, 0xa1, 0x45, 0xcf, 0xae, 0x66, 0x23, + 0x4e, 0x1c, 0xe6, 0xaf, 0x32, 0x7e, 0xc3, 0x43, 0x4e, 0xfd, 0x9d, 0x02, 0x29, 0x3e, 0xac, 0x4f, + 0x42, 0xb2, 0x65, 0xba, 0x3b, 0x44, 0x5c, 0x7f, 0x3e, 0xa1, 0x29, 0x06, 0xf9, 0x8e, 0xc7, 0x9d, + 0x96, 0x69, 0x91, 0x10, 0x60, 0xe3, 0xf8, 0x3b, 0xf6, 0x6b, 0x03, 0x99, 0x35, 0xf2, 0x5e, 0x63, + 0x37, 0x9b, 0xc8, 0x72, 0x1d, 0xee, 0x57, 0x36, 0x5e, 0x60, 0xc3, 0xfa, 0xbd, 0x30, 0xee, 0xb6, + 0xcd, 0x7a, 0x43, 0xe0, 0x4d, 0x12, 0x5e, 0x8d, 0x13, 0x3c, 0xe6, 0x2c, 0xdc, 0xc6, 0xe5, 0xd6, + 0x90, 0x6b, 0x56, 0x77, 0x50, 0xcd, 0x07, 0x0d, 0x90, 0xfd, 0x8b, 0xc3, 0x8c, 0xa1, 0xc8, 0xe8, + 0x1c, 0x9b, 0xf9, 0x8e, 0x02, 0xe3, 0xfc, 0x4d, 0xac, 0xe6, 0x19, 0x6b, 0x05, 0xc0, 0xb4, 0x2c, + 0xdb, 0x0d, 0x9a, 0xab, 0x3b, 0x94, 0xbb, 0x70, 0xf3, 0x39, 0x0f, 0x64, 0x04, 0x04, 0x4c, 0x35, + 0x01, 0x7c, 0x4a, 0x4f, 0xb3, 0xcd, 0xc0, 0x10, 0x3b, 0x1b, 0x22, 0x07, 0x8c, 0xf4, 0xdd, 0x1d, + 0xe8, 0x10, 0x7e, 0x65, 0xd3, 0x0f, 0x42, 0xff, 0x75, 0xb4, 0x5d, 0xb7, 0xd8, 0x8e, 0x2f, 0xfd, + 0xc2, 0x77, 0x58, 0x92, 0xde, 0x0e, 0x4b, 0xfe, 0xbd, 0x30, 0x51, 0xb5, 0x9b, 0xb2, 0xba, 0x79, + 0x4d, 0xda, 0x3f, 0x70, 0x1e, 0x56, 0xde, 0x03, 0x7e, 0x8b, 0xf9, 0x63, 0x45, 0xf9, 0x4c, 0x42, + 0xbd, 0xbc, 0x96, 0xff, 0x52, 0x62, 0xea, 0x32, 0x85, 0xae, 0xf1, 0x99, 0x1a, 0x68, 0xab, 0x81, + 0xaa, 0x58, 0x7b, 0xf8, 0xfc, 0xbd, 0x70, 0xff, 0x76, 0xdd, 0xdd, 0xe9, 0x5c, 0x9f, 0xaf, 0xda, + 0xcd, 0x93, 0xdb, 0xf6, 0xb6, 0xed, 0x9f, 0xa9, 0xe2, 0x6f, 0xe4, 0x0b, 0xf9, 0xc4, 0xce, 0x55, + 0x07, 0xbd, 0xd1, 0xa9, 0xc8, 0x43, 0xd8, 0x6c, 0x19, 0x26, 0x18, 0x73, 0x85, 0x1c, 0xec, 0xd0, + 0xd7, 0x13, 0x7d, 0xcf, 0xcd, 0xb1, 0xf4, 0x57, 0xbe, 0x4f, 0x96, 0x6b, 0x63, 0x9c, 0x41, 0x31, + 0x8d, 0xbe, 0xc1, 0x64, 0x0d, 0x38, 0x24, 0xc8, 0xa3, 0xa9, 0x89, 0xda, 0x11, 0x12, 0xbf, 0xcd, + 0x24, 0x4e, 0x04, 0x24, 0xae, 0x33, 0x68, 0xb6, 0x00, 0x23, 0xfb, 0x91, 0xf5, 0x57, 0x4c, 0xd6, + 0x30, 0x0a, 0x0a, 0xb9, 0x0c, 0x63, 0x44, 0x48, 0xb5, 0xe3, 0xb8, 0x76, 0x93, 0xd4, 0xbd, 0xbd, + 0xc5, 0xfc, 0xf5, 0xf7, 0x69, 0xae, 0x8c, 0x62, 0x58, 0xc1, 0x43, 0x65, 0xb3, 0x40, 0xce, 0xb2, + 0x6a, 0xa8, 0xda, 0x88, 0x90, 0x70, 0x83, 0x29, 0xe2, 0xf1, 0x67, 0xdf, 0x0d, 0x07, 0xf1, 0x67, + 0x52, 0x96, 0x82, 0x9a, 0x44, 0xef, 0xa4, 0xa5, 0xbf, 0xf3, 0x01, 0x9a, 0x8e, 0x13, 0x9e, 0x80, + 0x80, 0x4e, 0x01, 0x2f, 0x6e, 0x23, 0xd7, 0x45, 0x6d, 0xa7, 0x62, 0x36, 0xc2, 0xd4, 0x0b, 0x6c, + 0x45, 0xa4, 0x3f, 0xf6, 0xaa, 0xe8, 0xc5, 0xcb, 0x14, 0x99, 0x6b, 0x34, 0xb2, 0x9b, 0x70, 0x38, + 0x24, 0x2a, 0x62, 0xc8, 0xfc, 0x38, 0x93, 0x79, 0xb0, 0x2b, 0x32, 0xb0, 0xd8, 0x35, 0xe0, 0xe3, + 0x9e, 0x2f, 0x63, 0xc8, 0xfc, 0x5d, 0x26, 0x53, 0x67, 0x58, 0xee, 0x52, 0x2c, 0xf1, 0x0a, 0x8c, + 0x3f, 0x81, 0xda, 0xd7, 0x6d, 0x87, 0x6d, 0xff, 0xc4, 0x10, 0xf7, 0x09, 0x26, 0x6e, 0x8c, 0x01, + 0xc9, 0x7e, 0x10, 0x96, 0x75, 0x01, 0x52, 0x5b, 0x66, 0x15, 0xc5, 0x10, 0xf1, 0x49, 0x26, 0xe2, + 0x00, 0xe6, 0xc7, 0xd0, 0x1c, 0x0c, 0x6f, 0xdb, 0x6c, 0x65, 0x8a, 0x86, 0x3f, 0xcb, 0xe0, 0x43, + 0x1c, 0xc3, 0x44, 0xb4, 0xec, 0x56, 0xa7, 0x81, 0x97, 0xad, 0x68, 0x11, 0x9f, 0xe2, 0x22, 0x38, + 0x86, 0x89, 0xd8, 0x87, 0x59, 0x9f, 0xe3, 0x22, 0x9c, 0x80, 0x3d, 0x1f, 0x82, 0x21, 0xdb, 0x6a, + 0xec, 0xda, 0x56, 0x1c, 0x25, 0x3e, 0xcd, 0x24, 0x00, 0x83, 0x60, 0x01, 0x17, 0x61, 0x30, 0xae, + 0x23, 0x3e, 0xf7, 0x2a, 0x4f, 0x0f, 0xee, 0x81, 0xcb, 0x30, 0xc6, 0x0b, 0x54, 0xdd, 0xb6, 0x62, + 0x88, 0xf8, 0x3c, 0x13, 0x31, 0x1a, 0x80, 0xb1, 0x69, 0xb8, 0xc8, 0x71, 0xb7, 0x51, 0x1c, 0x21, + 0x5f, 0xe0, 0xd3, 0x60, 0x10, 0x66, 0xca, 0xeb, 0xc8, 0xaa, 0xee, 0xc4, 0x93, 0xf0, 0x3c, 0x37, + 0x25, 0xc7, 0x60, 0x11, 0x05, 0x18, 0x69, 0x9a, 0x6d, 0x67, 0xc7, 0x6c, 0xc4, 0x72, 0xc7, 0x17, + 0x99, 0x8c, 0x61, 0x0f, 0xc4, 0x2c, 0xd2, 0xb1, 0xf6, 0x23, 0xe6, 0x4b, 0xdc, 0x22, 0x01, 0x18, + 0x4b, 0x3d, 0xc7, 0x25, 0x7b, 0x65, 0xfb, 0x91, 0xf6, 0x7b, 0x3c, 0xf5, 0x28, 0x76, 0x25, 0x28, + 0xf1, 0x22, 0x0c, 0x3a, 0xf5, 0xa7, 0x63, 0x89, 0xf9, 0x7d, 0xee, 0x69, 0x02, 0xc0, 0xe0, 0x6b, + 0x70, 0x5b, 0xe8, 0x32, 0x11, 0x43, 0xd8, 0x1f, 0x30, 0x61, 0x93, 0x21, 0x4b, 0x05, 0x2b, 0x09, + 0xfb, 0x15, 0xf9, 0x87, 0xbc, 0x24, 0x20, 0x49, 0xd6, 0x1a, 0x7e, 0x57, 0x70, 0xcc, 0xad, 0xfd, + 0x59, 0xed, 0x8f, 0xb8, 0xd5, 0x28, 0x56, 0xb0, 0xda, 0x06, 0x4c, 0x32, 0x89, 0xfb, 0xf3, 0xeb, + 0x97, 0x79, 0x61, 0xa5, 0xe8, 0x4d, 0xd1, 0xbb, 0xef, 0x85, 0x29, 0xcf, 0x9c, 0xbc, 0x29, 0x75, + 0x2a, 0x4d, 0xb3, 0x15, 0x43, 0xf2, 0x57, 0x98, 0x64, 0x5e, 0xf1, 0xbd, 0xae, 0xd6, 0x59, 0x31, + 0x5b, 0x58, 0xf8, 0xa3, 0x90, 0xe6, 0xc2, 0x3b, 0x56, 0x1b, 0x55, 0xed, 0x6d, 0xab, 0xfe, 0x34, + 0xaa, 0xc5, 0x10, 0xfd, 0xc7, 0x92, 0xab, 0x36, 0x03, 0x70, 0x2c, 0x79, 0x19, 0x34, 0xaf, 0x57, + 0xa9, 0xd4, 0x9b, 0x2d, 0xbb, 0xed, 0x46, 0x48, 0xfc, 0x13, 0xee, 0x29, 0x0f, 0xb7, 0x4c, 0x60, + 0xd9, 0x12, 0x8c, 0x92, 0xaf, 0x71, 0x43, 0xf2, 0xab, 0x4c, 0xd0, 0x88, 0x8f, 0x62, 0x85, 0xa3, + 0x6a, 0x37, 0x5b, 0x66, 0x3b, 0x4e, 0xfd, 0xfb, 0x53, 0x5e, 0x38, 0x18, 0x84, 0x15, 0x0e, 0x77, + 0xb7, 0x85, 0xf0, 0x6a, 0x1f, 0x43, 0xc2, 0xd7, 0x78, 0xe1, 0xe0, 0x18, 0x26, 0x82, 0x37, 0x0c, + 0x31, 0x44, 0xfc, 0x19, 0x17, 0xc1, 0x31, 0x58, 0xc4, 0xbb, 0xfc, 0x85, 0xb6, 0x8d, 0xb6, 0xeb, + 0x8e, 0xdb, 0xa6, 0xad, 0xf0, 0xde, 0xa2, 0xbe, 0xfe, 0xaa, 0xd8, 0x84, 0x19, 0x01, 0x28, 0xae, + 0x44, 0x6c, 0x0b, 0x95, 0xbc, 0x29, 0x45, 0x2b, 0xf6, 0x0d, 0x5e, 0x89, 0x02, 0x30, 0xac, 0x5b, + 0xa0, 0x43, 0xc4, 0x66, 0xaf, 0xe2, 0xf7, 0x83, 0x18, 0xe2, 0xbe, 0x29, 0x29, 0xb7, 0xce, 0xb1, + 0x58, 0x66, 0xa0, 0xff, 0xe9, 0x58, 0x8f, 0xa3, 0xdd, 0x58, 0xd1, 0xf9, 0xe7, 0x52, 0xff, 0xb3, + 0x49, 0x91, 0xb4, 0x86, 0x8c, 0x49, 0xfd, 0x94, 0x1e, 0x75, 0x0b, 0x28, 0xfd, 0xff, 0x5f, 0x63, + 0xf3, 0x15, 0xdb, 0xa9, 0xec, 0x55, 0x1c, 0xe4, 0x62, 0xd3, 0x13, 0x2d, 0xec, 0x03, 0xaf, 0x79, + 0x71, 0x2e, 0xf4, 0x3c, 0xd9, 0x4b, 0x30, 0x22, 0x34, 0x3c, 0xd1, 0xa2, 0x7e, 0x8e, 0x89, 0x1a, + 0x0e, 0xf6, 0x3b, 0xd9, 0x33, 0x90, 0xc4, 0xcd, 0x4b, 0x34, 0xfc, 0xe7, 0x19, 0x9c, 0xb0, 0x67, + 0x1f, 0x80, 0x14, 0x6f, 0x5a, 0xa2, 0xa1, 0x1f, 0x64, 0x50, 0x0f, 0x82, 0xe1, 0xbc, 0x61, 0x89, + 0x86, 0xff, 0x02, 0x87, 0x73, 0x08, 0x86, 0xc7, 0x37, 0xe1, 0x0b, 0xbf, 0x94, 0x64, 0x8b, 0x0e, + 0xb7, 0xdd, 0x45, 0x38, 0xc0, 0x3a, 0x95, 0x68, 0xf4, 0x87, 0xd9, 0xc3, 0x39, 0x22, 0x7b, 0x0e, + 0xfa, 0x63, 0x1a, 0xfc, 0x57, 0x18, 0x94, 0xf2, 0x67, 0x0b, 0x30, 0x14, 0xe8, 0x4e, 0xa2, 0xe1, + 0xbf, 0xca, 0xe0, 0x41, 0x14, 0x56, 0x9d, 0x75, 0x27, 0xd1, 0x02, 0x7e, 0x8d, 0xab, 0xce, 0x10, + 0xd8, 0x6c, 0xbc, 0x31, 0x89, 0x46, 0xff, 0x3a, 0xb7, 0x3a, 0x87, 0x64, 0x1f, 0x82, 0x41, 0x6f, + 0xb1, 0x89, 0xc6, 0xff, 0x06, 0xc3, 0xfb, 0x18, 0x6c, 0x81, 0xc0, 0x62, 0x17, 0x2d, 0xe2, 0x37, + 0xb9, 0x05, 0x02, 0x28, 0x9c, 0x46, 0x72, 0x03, 0x13, 0x2d, 0xe9, 0x23, 0x3c, 0x8d, 0xa4, 0xfe, + 0x05, 0x7b, 0x93, 0xd4, 0xfc, 0x68, 0x11, 0xbf, 0xc5, 0xbd, 0x49, 0xf8, 0xb1, 0x1a, 0x72, 0x47, + 0x10, 0x2d, 0xe3, 0x77, 0xb8, 0x1a, 0x52, 0x43, 0x90, 0x5d, 0x03, 0xbd, 0xbb, 0x1b, 0x88, 0x96, + 0xf7, 0x51, 0x26, 0x6f, 0xbc, 0xab, 0x19, 0xc8, 0x3e, 0x02, 0x93, 0xe1, 0x9d, 0x40, 0xb4, 0xd4, + 0x8f, 0xbd, 0x26, 0xbd, 0xbb, 0x05, 0x1b, 0x81, 0xec, 0x86, 0xbf, 0xa4, 0x04, 0xbb, 0x80, 0x68, + 0xb1, 0x1f, 0x7f, 0x4d, 0x2c, 0xdc, 0xc1, 0x26, 0x20, 0x9b, 0x03, 0xf0, 0x17, 0xe0, 0x68, 0x59, + 0x9f, 0x60, 0xb2, 0x02, 0x20, 0x9c, 0x1a, 0x6c, 0xfd, 0x8d, 0xc6, 0x7f, 0x92, 0xa7, 0x06, 0x43, + 0xe0, 0xd4, 0xe0, 0x4b, 0x6f, 0x34, 0xfa, 0x59, 0x9e, 0x1a, 0x1c, 0x82, 0x23, 0x3b, 0xb0, 0xba, + 0x45, 0x4b, 0xf8, 0x34, 0x8f, 0xec, 0x00, 0x2a, 0x5b, 0x86, 0xf1, 0xae, 0x05, 0x31, 0x5a, 0xd4, + 0x67, 0x98, 0x28, 0x4d, 0x5e, 0x0f, 0x83, 0x8b, 0x17, 0x5b, 0x0c, 0xa3, 0xa5, 0x7d, 0x56, 0x5a, + 0xbc, 0xd8, 0x5a, 0x98, 0xbd, 0x08, 0x29, 0xab, 0xd3, 0x68, 0xe0, 0xe4, 0xd1, 0xf7, 0xbe, 0xb9, + 0x97, 0xfe, 0xe7, 0xd7, 0x99, 0x75, 0x38, 0x20, 0x7b, 0x06, 0xfa, 0x51, 0xf3, 0x3a, 0xaa, 0x45, + 0x21, 0xff, 0xe5, 0x75, 0x5e, 0x30, 0x31, 0x77, 0xf6, 0x21, 0x00, 0xba, 0x35, 0x42, 0x8e, 0xfd, + 0x22, 0xb0, 0xff, 0xfa, 0x3a, 0xbb, 0x53, 0xe3, 0x43, 0x7c, 0x01, 0xf4, 0x86, 0xce, 0xde, 0x02, + 0x5e, 0x15, 0x05, 0x10, 0x8f, 0x5c, 0x80, 0x03, 0x8f, 0x39, 0xb6, 0xe5, 0x9a, 0xdb, 0x51, 0xe8, + 0x7f, 0x63, 0x68, 0xce, 0x8f, 0x0d, 0xd6, 0xb4, 0xdb, 0xc8, 0x35, 0xb7, 0x9d, 0x28, 0xec, 0xbf, + 0x33, 0xac, 0x07, 0xc0, 0xe0, 0xaa, 0xe9, 0xb8, 0x71, 0xe6, 0xfd, 0x1f, 0x1c, 0xcc, 0x01, 0x58, + 0x69, 0xfc, 0xf9, 0x71, 0xb4, 0x1b, 0x85, 0xfd, 0x21, 0x57, 0x9a, 0xf1, 0x67, 0x1f, 0x80, 0x41, + 0xfc, 0x91, 0x5e, 0x94, 0x8b, 0x00, 0xff, 0x27, 0x03, 0xfb, 0x08, 0xfc, 0x64, 0xc7, 0xad, 0xb9, + 0xf5, 0x68, 0x63, 0xff, 0x88, 0x79, 0x9a, 0xf3, 0x67, 0x73, 0x30, 0xe4, 0xb8, 0xb5, 0x5a, 0x87, + 0xf5, 0xa7, 0x11, 0xf0, 0xff, 0x7a, 0xdd, 0xdb, 0xb2, 0xf0, 0x30, 0xd8, 0xdb, 0x4f, 0x3e, 0xee, + 0xb6, 0x6c, 0x72, 0xcc, 0x11, 0x25, 0xe1, 0x35, 0x26, 0x21, 0x00, 0xc9, 0x97, 0xc2, 0xb7, 0x6f, + 0xe1, 0xb2, 0x7d, 0xd9, 0xa6, 0x1b, 0xb7, 0xef, 0xc9, 0x44, 0xef, 0xc0, 0xc2, 0xdf, 0x36, 0x60, + 0xba, 0x6a, 0x37, 0xaf, 0xdb, 0xce, 0x49, 0xaf, 0x1c, 0x9f, 0x74, 0x77, 0x10, 0x5e, 0x85, 0xd9, + 0xce, 0x6c, 0x12, 0x7f, 0x9e, 0xda, 0xdf, 0x76, 0x2e, 0x39, 0xac, 0x2f, 0xd7, 0xf1, 0x0c, 0xca, + 0xe4, 0xbc, 0x44, 0x3f, 0x02, 0x03, 0x64, 0x4e, 0xa7, 0xc8, 0x99, 0xa4, 0x92, 0x4f, 0xde, 0x78, + 0x69, 0xa6, 0xcf, 0x60, 0x63, 0x1e, 0x75, 0x91, 0x6c, 0x68, 0x27, 0x04, 0xea, 0xa2, 0x47, 0x3d, + 0x4d, 0xf7, 0xb4, 0x05, 0xea, 0x69, 0x8f, 0xba, 0x44, 0x76, 0xb7, 0x55, 0x81, 0xba, 0xe4, 0x51, + 0xcf, 0x90, 0x13, 0x9c, 0x11, 0x81, 0x7a, 0xc6, 0xa3, 0x9e, 0x25, 0xe7, 0x36, 0x49, 0x81, 0x7a, + 0xd6, 0xa3, 0x9e, 0x23, 0x47, 0x36, 0xe3, 0x02, 0xf5, 0x9c, 0x47, 0x3d, 0x4f, 0x8e, 0x6a, 0x74, + 0x81, 0x7a, 0xde, 0xa3, 0x5e, 0x20, 0x17, 0xac, 0x0e, 0x08, 0xd4, 0x0b, 0xfa, 0x34, 0x1c, 0xa0, + 0x33, 0x5f, 0x20, 0xe7, 0xfa, 0x63, 0x8c, 0xcc, 0x07, 0x7d, 0xfa, 0x29, 0x72, 0x99, 0x6a, 0x40, + 0xa4, 0x9f, 0xf2, 0xe9, 0x8b, 0xe4, 0xef, 0x3a, 0x34, 0x91, 0xbe, 0xe8, 0xd3, 0x4f, 0xa7, 0x47, + 0xc8, 0x85, 0x32, 0x81, 0x7e, 0xda, 0xa7, 0x2f, 0xa5, 0x47, 0x71, 0x62, 0x88, 0xf4, 0x25, 0x9f, + 0x7e, 0x26, 0x3d, 0x76, 0x54, 0x99, 0x1d, 0x16, 0xe9, 0x67, 0x32, 0xef, 0x27, 0xee, 0xb5, 0x7c, + 0xf7, 0x4e, 0x8a, 0xee, 0xf5, 0x1c, 0x3b, 0x29, 0x3a, 0xd6, 0x73, 0xe9, 0xa4, 0xe8, 0x52, 0xcf, + 0x99, 0x93, 0xa2, 0x33, 0x3d, 0x37, 0x4e, 0x8a, 0x6e, 0xf4, 0x1c, 0x38, 0x29, 0x3a, 0xd0, 0x73, + 0xdd, 0xa4, 0xe8, 0x3a, 0xcf, 0x69, 0x93, 0xa2, 0xd3, 0x3c, 0x77, 0x4d, 0x8a, 0xee, 0xf2, 0x1c, + 0x95, 0x96, 0x1c, 0xe5, 0xbb, 0x28, 0x2d, 0xb9, 0xc8, 0x77, 0x4e, 0x5a, 0x72, 0x8e, 0xef, 0x96, + 0xb4, 0xe4, 0x16, 0xdf, 0x21, 0x69, 0xc9, 0x21, 0xbe, 0x2b, 0xd2, 0x92, 0x2b, 0x7c, 0x27, 0xb0, + 0x1c, 0x33, 0x50, 0x2b, 0x24, 0xc7, 0xd4, 0x3d, 0x73, 0x4c, 0xdd, 0x33, 0xc7, 0xd4, 0x3d, 0x73, + 0x4c, 0xdd, 0x33, 0xc7, 0xd4, 0x3d, 0x73, 0x4c, 0xdd, 0x33, 0xc7, 0xd4, 0x3d, 0x73, 0x4c, 0xdd, + 0x33, 0xc7, 0xd4, 0xbd, 0x73, 0x4c, 0x8d, 0xc8, 0x31, 0x35, 0x22, 0xc7, 0xd4, 0x88, 0x1c, 0x53, + 0x23, 0x72, 0x4c, 0x8d, 0xc8, 0x31, 0xb5, 0x67, 0x8e, 0xf9, 0xee, 0x9d, 0x14, 0xdd, 0x1b, 0x9a, + 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, + 0xc8, 0x31, 0xb5, 0x47, 0x8e, 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x95, 0x63, 0x6a, 0xcf, 0x1c, 0x53, + 0x7b, 0xe6, 0x98, 0xda, 0x33, 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0x35, 0x98, 0x63, + 0x7f, 0xa1, 0x82, 0x4e, 0x73, 0x6c, 0x8d, 0xdc, 0x0c, 0x63, 0xae, 0x98, 0x96, 0x32, 0x6d, 0x00, + 0xbb, 0x4e, 0xf3, 0x5d, 0x32, 0x2d, 0xe5, 0x9a, 0x48, 0x5f, 0xf4, 0xe8, 0x3c, 0xdb, 0x44, 0xfa, + 0x69, 0x8f, 0xce, 0xf3, 0x4d, 0xa4, 0x2f, 0x79, 0x74, 0x9e, 0x71, 0x22, 0xfd, 0x8c, 0x47, 0xe7, + 0x39, 0x27, 0xd2, 0xcf, 0x7a, 0x74, 0x9e, 0x75, 0x22, 0xfd, 0x9c, 0x47, 0xe7, 0x79, 0x27, 0xd2, + 0xcf, 0x7b, 0x74, 0x9e, 0x79, 0x22, 0xfd, 0x82, 0x7e, 0x54, 0xce, 0x3d, 0xce, 0xe0, 0xb9, 0xf6, + 0xa8, 0x9c, 0x7d, 0x12, 0xc7, 0x29, 0x9f, 0x83, 0xe7, 0x9f, 0xc4, 0xb1, 0xe8, 0x73, 0xf0, 0x0c, + 0x94, 0x38, 0x4e, 0x67, 0x3e, 0x44, 0xdc, 0x67, 0xc9, 0xee, 0x9b, 0x92, 0xdc, 0x97, 0x08, 0xb8, + 0x6e, 0x4a, 0x72, 0x5d, 0x22, 0xe0, 0xb6, 0x29, 0xc9, 0x6d, 0x89, 0x80, 0xcb, 0xa6, 0x24, 0x97, + 0x25, 0x02, 0xee, 0x9a, 0x92, 0xdc, 0x95, 0x08, 0xb8, 0x6a, 0x4a, 0x72, 0x55, 0x22, 0xe0, 0xa6, + 0x29, 0xc9, 0x4d, 0x89, 0x80, 0x8b, 0xa6, 0x24, 0x17, 0x25, 0x02, 0xee, 0x99, 0x92, 0xdc, 0x93, + 0x08, 0xb8, 0xe6, 0x88, 0xec, 0x9a, 0x44, 0xd0, 0x2d, 0x47, 0x64, 0xb7, 0x24, 0x82, 0x2e, 0x39, + 0x22, 0xbb, 0x24, 0x11, 0x74, 0xc7, 0x11, 0xd9, 0x1d, 0x89, 0xa0, 0x2b, 0x7e, 0x92, 0xe0, 0x1d, + 0xe1, 0xba, 0xdb, 0xee, 0x54, 0xdd, 0x5b, 0xea, 0x08, 0x17, 0x84, 0xf6, 0x61, 0x68, 0x51, 0x9f, + 0x27, 0x0d, 0x6b, 0xb0, 0xe3, 0x94, 0x56, 0xb0, 0x05, 0xa1, 0xb1, 0x08, 0x20, 0xac, 0x70, 0xc4, + 0xd2, 0x2d, 0xf5, 0x86, 0x0b, 0x42, 0x9b, 0x11, 0xad, 0xdf, 0xf9, 0xb7, 0xbc, 0x63, 0x7b, 0x21, + 0xc1, 0x3b, 0x36, 0x66, 0xfe, 0xfd, 0x76, 0x6c, 0x73, 0xd1, 0x26, 0xf7, 0x8c, 0x3d, 0x17, 0x6d, + 0xec, 0xae, 0x55, 0x27, 0x6e, 0x07, 0x37, 0x17, 0x6d, 0x5a, 0xcf, 0xa8, 0x6f, 0x6e, 0xbf, 0xc5, + 0x22, 0xd8, 0x40, 0xad, 0x90, 0x08, 0xde, 0x6f, 0xbf, 0xb5, 0x20, 0x94, 0x92, 0xfd, 0x46, 0xb0, + 0xba, 0xef, 0x08, 0xde, 0x6f, 0xe7, 0xb5, 0x20, 0x94, 0x97, 0x7d, 0x47, 0xf0, 0x5b, 0xd0, 0x0f, + 0xb1, 0x08, 0xf6, 0xcd, 0xbf, 0xdf, 0x7e, 0x68, 0x2e, 0xda, 0xe4, 0xa1, 0x11, 0xac, 0xee, 0x23, + 0x82, 0xe3, 0xf4, 0x47, 0x73, 0xd1, 0xa6, 0x0d, 0x8f, 0xe0, 0x5b, 0xee, 0x66, 0x3e, 0xa5, 0xc0, + 0x78, 0xb9, 0x5e, 0x2b, 0x35, 0xaf, 0xa3, 0x5a, 0x0d, 0xd5, 0x98, 0x1d, 0x17, 0x84, 0x4a, 0xd0, + 0xc3, 0xd5, 0x2f, 0xbe, 0x34, 0xe3, 0x5b, 0xf8, 0x0c, 0xa4, 0xa8, 0x4d, 0x17, 0x16, 0xd2, 0x37, + 0x94, 0x88, 0x0a, 0xe7, 0xb1, 0xea, 0xc7, 0x38, 0xec, 0xd4, 0x42, 0xfa, 0xef, 0x95, 0x40, 0x95, + 0xf3, 0x86, 0x33, 0x1f, 0x21, 0x1a, 0x5a, 0xb7, 0xac, 0xe1, 0xc9, 0x58, 0x1a, 0x06, 0x74, 0xbb, + 0xbd, 0x4b, 0xb7, 0x80, 0x56, 0x1d, 0x18, 0x2b, 0xd7, 0x6b, 0x65, 0xf2, 0x8b, 0x02, 0x71, 0x54, + 0xa2, 0x3c, 0x52, 0x3d, 0x58, 0x10, 0xc2, 0x32, 0x88, 0xf0, 0x42, 0x5a, 0xac, 0x11, 0x99, 0x3a, + 0x7e, 0xac, 0x25, 0x3c, 0x76, 0xae, 0xd7, 0x63, 0xfd, 0xca, 0xee, 0x3d, 0x70, 0xae, 0xd7, 0x03, + 0xfd, 0x1c, 0xf2, 0x1e, 0xf5, 0x14, 0x5f, 0x9c, 0xe9, 0xfd, 0x2c, 0xfd, 0x08, 0x24, 0x96, 0xe9, + 0xf5, 0xf1, 0xe1, 0xfc, 0x30, 0x56, 0xea, 0xbb, 0x2f, 0xcd, 0x24, 0x37, 0x3b, 0xf5, 0x9a, 0x91, + 0x58, 0xae, 0xe9, 0x57, 0xa0, 0xff, 0xdd, 0xec, 0xef, 0x5a, 0x31, 0xc3, 0x12, 0x63, 0xb8, 0xaf, + 0xe7, 0x1e, 0x11, 0x7e, 0xf0, 0x49, 0xba, 0x57, 0x39, 0xbf, 0x59, 0xb7, 0xdc, 0x53, 0x8b, 0xe7, + 0x0d, 0x2a, 0x22, 0xf3, 0xbf, 0x01, 0xe8, 0x33, 0x8b, 0xa6, 0xb3, 0xa3, 0x97, 0xb9, 0x64, 0xfa, + 0xe8, 0xf3, 0xdf, 0x7d, 0x69, 0x66, 0x29, 0x8e, 0xd4, 0xfb, 0x6b, 0xa6, 0xb3, 0x73, 0xbf, 0xbb, + 0xdb, 0x42, 0xf3, 0xf9, 0x5d, 0x17, 0x39, 0x5c, 0x7a, 0x8b, 0xaf, 0x7a, 0x6c, 0x5e, 0xe9, 0xc0, + 0xbc, 0x52, 0xc2, 0x9c, 0x2e, 0x89, 0x73, 0x5a, 0x78, 0xa3, 0xf3, 0x79, 0x8a, 0x2f, 0x12, 0x92, + 0x25, 0xd5, 0x28, 0x4b, 0xaa, 0xb7, 0x6a, 0xc9, 0x16, 0xaf, 0x8f, 0xd2, 0x5c, 0xd5, 0xbd, 0xe6, + 0xaa, 0xde, 0xca, 0x5c, 0xff, 0x9b, 0x66, 0xab, 0x97, 0x4f, 0x9b, 0x16, 0xbd, 0xba, 0xfa, 0xb3, + 0xb5, 0x17, 0xf4, 0xa6, 0x76, 0x01, 0xd9, 0xe4, 0x8d, 0xe7, 0x66, 0x94, 0xcc, 0xa7, 0x12, 0x7c, + 0xe6, 0x34, 0x91, 0xde, 0xd8, 0xcc, 0x7f, 0x56, 0x7a, 0xaa, 0xb7, 0xc2, 0x42, 0xcf, 0x2a, 0x30, + 0xd9, 0x55, 0xc9, 0xa9, 0x99, 0xde, 0xdc, 0x72, 0x6e, 0xed, 0xb7, 0x9c, 0x33, 0x05, 0xbf, 0xaa, + 0xc0, 0x41, 0xa9, 0xbc, 0x52, 0xf5, 0x4e, 0x4a, 0xea, 0x1d, 0xee, 0x7e, 0x12, 0x61, 0x0c, 0x68, + 0x17, 0x74, 0xaf, 0x04, 0x08, 0x48, 0xf6, 0xfc, 0xbe, 0x24, 0xf9, 0xfd, 0x88, 0x07, 0x08, 0x31, + 0x17, 0x8f, 0x00, 0xa6, 0xb6, 0x0d, 0xc9, 0x8d, 0x36, 0x42, 0xfa, 0x34, 0x24, 0x56, 0xdb, 0x4c, + 0xc3, 0x51, 0x8a, 0x5f, 0x6d, 0xe7, 0xdb, 0xa6, 0x55, 0xdd, 0x31, 0x12, 0xab, 0x6d, 0xfd, 0x18, + 0xa8, 0x39, 0xf6, 0x37, 0xf5, 0x43, 0x8b, 0x63, 0x94, 0x21, 0x67, 0xd5, 0x18, 0x07, 0xa6, 0xe9, + 0xd3, 0x90, 0xbc, 0x8a, 0xcc, 0x2d, 0xa6, 0x04, 0x50, 0x1e, 0x3c, 0x62, 0x90, 0x71, 0xf6, 0xc0, + 0x47, 0x21, 0xc5, 0x05, 0xeb, 0xc7, 0x31, 0x62, 0xcb, 0x65, 0x8f, 0x65, 0x08, 0xac, 0x0e, 0x5b, + 0xb9, 0x08, 0x55, 0x3f, 0x01, 0xfd, 0x46, 0x7d, 0x7b, 0xc7, 0x65, 0x0f, 0xef, 0x66, 0xa3, 0xe4, + 0xcc, 0x35, 0x18, 0xf4, 0x34, 0x7a, 0x93, 0x45, 0x17, 0xe9, 0xd4, 0xf4, 0xa9, 0xe0, 0x7a, 0xc2, + 0xf7, 0x2d, 0xe9, 0x90, 0x7e, 0x14, 0x52, 0xeb, 0x6e, 0xdb, 0x2f, 0xfa, 0xbc, 0x23, 0xf5, 0x46, + 0x33, 0xef, 0x57, 0x20, 0x55, 0x44, 0xa8, 0x45, 0x0c, 0x7e, 0x17, 0x24, 0x8b, 0xf6, 0x93, 0x16, + 0x53, 0x70, 0x9c, 0x59, 0x14, 0x93, 0x99, 0x4d, 0x09, 0x59, 0xbf, 0x2b, 0x68, 0xf7, 0x09, 0xcf, + 0xee, 0x01, 0x3e, 0x62, 0xfb, 0x8c, 0x60, 0x7b, 0xe6, 0x40, 0xcc, 0xd4, 0x65, 0xff, 0x73, 0x30, + 0x14, 0x78, 0x8a, 0x3e, 0xcb, 0xd4, 0x48, 0xc8, 0xc0, 0xa0, 0xad, 0x30, 0x47, 0x06, 0xc1, 0x88, + 0xf0, 0x60, 0x0c, 0x0d, 0x98, 0xb8, 0x07, 0x94, 0x98, 0x79, 0x4e, 0x34, 0x73, 0x38, 0x2b, 0x33, + 0xf5, 0x02, 0xb5, 0x11, 0x31, 0xf7, 0x71, 0x1a, 0x9c, 0xbd, 0x9d, 0x88, 0x3f, 0x67, 0xfa, 0x41, + 0x2d, 0xd7, 0x1b, 0x99, 0x07, 0x00, 0x68, 0xca, 0x97, 0xac, 0x4e, 0x53, 0xca, 0xba, 0x51, 0x6e, + 0xe0, 0x8d, 0x1d, 0xb4, 0x81, 0x1c, 0xc2, 0x22, 0xf6, 0x53, 0xb8, 0xc0, 0x00, 0x4d, 0x31, 0x82, + 0xbf, 0x27, 0x12, 0x1f, 0xda, 0x89, 0x61, 0xd6, 0x34, 0x65, 0xbd, 0x86, 0xdc, 0x9c, 0x65, 0xbb, + 0x3b, 0xa8, 0x2d, 0x21, 0x16, 0xf5, 0xd3, 0x42, 0xc2, 0x8e, 0x2e, 0xde, 0xee, 0x21, 0x7a, 0x82, + 0x4e, 0x67, 0xbe, 0x4c, 0x14, 0xc4, 0xad, 0x40, 0xd7, 0x04, 0xd5, 0x18, 0x13, 0xd4, 0xcf, 0x0a, + 0xfd, 0xdb, 0x1e, 0x6a, 0x4a, 0xaf, 0x96, 0x17, 0x84, 0xf7, 0x9c, 0xbd, 0x95, 0x15, 0xdf, 0x31, + 0xb9, 0x4d, 0xb9, 0xca, 0xf7, 0x44, 0xaa, 0xdc, 0xa3, 0xbb, 0xdd, 0xaf, 0x4d, 0xd5, 0xb8, 0x36, + 0xfd, 0xa6, 0xd7, 0x71, 0xd0, 0x1f, 0x2e, 0x21, 0x3f, 0xf9, 0xa3, 0xdf, 0x17, 0xe9, 0xfb, 0xac, + 0x52, 0xf0, 0x54, 0x5d, 0x8a, 0xeb, 0xfe, 0x6c, 0x22, 0x9f, 0xf7, 0xd4, 0x3d, 0xb7, 0x8f, 0x10, + 0xc8, 0x26, 0x0a, 0x05, 0xaf, 0x6c, 0xa7, 0x3e, 0xf4, 0xdc, 0x8c, 0xf2, 0xfc, 0x73, 0x33, 0x7d, + 0x99, 0x2f, 0x2a, 0x30, 0xce, 0x38, 0x03, 0x81, 0x7b, 0xbf, 0xa4, 0xfc, 0x21, 0x5e, 0x33, 0xc2, + 0x2c, 0xf0, 0xb6, 0x05, 0xef, 0xb7, 0x15, 0x48, 0x77, 0xe9, 0xca, 0xed, 0xbd, 0x10, 0x4b, 0xe5, + 0xac, 0x52, 0xfa, 0xe9, 0xdb, 0xfc, 0x1a, 0xf4, 0x6f, 0xd4, 0x9b, 0xa8, 0x8d, 0x57, 0x02, 0xfc, + 0x81, 0xaa, 0xcc, 0x0f, 0x73, 0xe8, 0x10, 0xa7, 0x51, 0xe5, 0x04, 0xda, 0xa2, 0x9e, 0x86, 0x64, + 0xd1, 0x74, 0x4d, 0xa2, 0xc1, 0xb0, 0x57, 0x5f, 0x4d, 0xd7, 0xcc, 0x9c, 0x86, 0xe1, 0x95, 0x5d, + 0x72, 0xdf, 0xa8, 0x46, 0xae, 0x9a, 0x88, 0xdd, 0x1f, 0xef, 0x57, 0x4f, 0xcd, 0xf5, 0xa7, 0x6a, + 0xda, 0x0d, 0x25, 0x9b, 0x24, 0xfa, 0x3c, 0x01, 0xa3, 0xab, 0x58, 0x6d, 0x82, 0x13, 0x60, 0xf4, + 0xe9, 0xaa, 0x37, 0x79, 0xa9, 0x29, 0x53, 0xfd, 0xa6, 0xec, 0x28, 0x28, 0x2b, 0x62, 0xeb, 0x14, + 0xd4, 0xc3, 0x50, 0x56, 0xe6, 0x92, 0xa9, 0x51, 0x6d, 0x7c, 0x2e, 0x99, 0x02, 0x6d, 0x84, 0x3d, + 0xf7, 0x6f, 0x54, 0xd0, 0x68, 0xab, 0x53, 0x44, 0x5b, 0x75, 0xab, 0xee, 0x76, 0xf7, 0xab, 0x9e, + 0xc6, 0xfa, 0x43, 0x30, 0x88, 0x4d, 0x7a, 0x89, 0xfd, 0xf2, 0x1f, 0x36, 0xfd, 0x31, 0xd6, 0xa2, + 0x48, 0x22, 0xd8, 0x00, 0x09, 0x1d, 0x1f, 0xa3, 0x5f, 0x02, 0xb5, 0x5c, 0x5e, 0x61, 0x8b, 0xdb, + 0xd2, 0x9e, 0x50, 0x76, 0xa7, 0x87, 0x7d, 0x63, 0x63, 0xce, 0xb6, 0x81, 0x05, 0xe8, 0x4b, 0x90, + 0x28, 0xaf, 0xb0, 0x86, 0xf7, 0x78, 0x1c, 0x31, 0x46, 0xa2, 0xbc, 0x32, 0xf5, 0x97, 0x0a, 0x8c, + 0x08, 0xa3, 0x7a, 0x06, 0x86, 0xe9, 0x40, 0x60, 0xba, 0x03, 0x86, 0x30, 0xc6, 0x75, 0x4e, 0xdc, + 0xa2, 0xce, 0x53, 0x39, 0x18, 0x93, 0xc6, 0xf5, 0x79, 0xd0, 0x83, 0x43, 0x4c, 0x09, 0xfa, 0xab, + 0x63, 0x21, 0x94, 0xcc, 0x1d, 0x00, 0xbe, 0x5d, 0xbd, 0x1f, 0xcb, 0x2a, 0x97, 0xd6, 0x37, 0x4a, + 0x45, 0x4d, 0xc9, 0x7c, 0x4d, 0x81, 0x21, 0xd6, 0xb6, 0x56, 0xed, 0x16, 0xd2, 0xf3, 0xa0, 0xe4, + 0x58, 0x3c, 0xbc, 0x31, 0xbd, 0x95, 0x9c, 0x7e, 0x12, 0x94, 0x7c, 0x7c, 0x57, 0x2b, 0x79, 0x7d, + 0x11, 0x94, 0x02, 0x73, 0x70, 0x3c, 0xcf, 0x28, 0x85, 0xcc, 0x8f, 0x54, 0x98, 0x08, 0xb6, 0xd1, + 0xbc, 0x9e, 0x1c, 0x13, 0xdf, 0x9b, 0xb2, 0x83, 0xa7, 0x16, 0x4f, 0x2f, 0xcd, 0xe3, 0x7f, 0xbc, + 0x90, 0xcc, 0x88, 0xaf, 0x50, 0x59, 0xf0, 0x58, 0x4e, 0xf5, 0xba, 0x27, 0x92, 0x4d, 0x06, 0x24, + 0x74, 0xdd, 0x13, 0x11, 0xa8, 0x5d, 0xf7, 0x44, 0x04, 0x6a, 0xd7, 0x3d, 0x11, 0x81, 0xda, 0x75, + 0x16, 0x20, 0x50, 0xbb, 0xee, 0x89, 0x08, 0xd4, 0xae, 0x7b, 0x22, 0x02, 0xb5, 0xfb, 0x9e, 0x08, + 0x23, 0xf7, 0xbc, 0x27, 0x22, 0xd2, 0xbb, 0xef, 0x89, 0x88, 0xf4, 0xee, 0x7b, 0x22, 0xd9, 0xa4, + 0xdb, 0xee, 0xa0, 0xde, 0xa7, 0x0e, 0x22, 0x7e, 0xaf, 0x97, 0x40, 0xbf, 0x02, 0xaf, 0xc2, 0x18, + 0xdd, 0x90, 0x28, 0xd8, 0x96, 0x6b, 0xd6, 0x2d, 0xd4, 0xd6, 0xdf, 0x01, 0xc3, 0x74, 0x88, 0xbe, + 0xe6, 0x84, 0xbd, 0x06, 0x52, 0x3a, 0xab, 0xb7, 0x02, 0x77, 0xe6, 0x27, 0x49, 0x98, 0xa4, 0x03, + 0x65, 0xb3, 0x89, 0x84, 0x5b, 0x46, 0x27, 0xa4, 0x33, 0xa5, 0x51, 0x0c, 0xbf, 0xf9, 0xd2, 0x0c, + 0x1d, 0xcd, 0x79, 0xd1, 0x74, 0x42, 0x3a, 0x5d, 0x12, 0xf9, 0xfc, 0x05, 0xe8, 0x84, 0x74, 0xf3, + 0x48, 0xe4, 0xf3, 0xd6, 0x1b, 0x8f, 0x8f, 0xdf, 0x41, 0x12, 0xf9, 0x8a, 0x5e, 0x94, 0x9d, 0x90, + 0x6e, 0x23, 0x89, 0x7c, 0x25, 0x2f, 0xde, 0x4e, 0x48, 0x67, 0x4f, 0x22, 0xdf, 0x25, 0x2f, 0xf2, + 0x4e, 0x48, 0xa7, 0x50, 0x22, 0xdf, 0x65, 0x2f, 0x06, 0x4f, 0x48, 0x77, 0x95, 0x44, 0xbe, 0x87, + 0xbd, 0x68, 0x3c, 0x21, 0xdd, 0x5a, 0x12, 0xf9, 0x96, 0xbd, 0xb8, 0x9c, 0x95, 0xef, 0x2f, 0x89, + 0x8c, 0x57, 0xfc, 0x08, 0x9d, 0x95, 0x6f, 0x32, 0x89, 0x9c, 0xef, 0xf4, 0x63, 0x75, 0x56, 0xbe, + 0xd3, 0x24, 0x72, 0x5e, 0xf5, 0xa3, 0x76, 0x56, 0x3e, 0x2b, 0x13, 0x39, 0x57, 0xfc, 0xf8, 0x9d, + 0x95, 0x4f, 0xcd, 0x44, 0xce, 0xb2, 0x1f, 0xc9, 0xb3, 0xf2, 0xf9, 0x99, 0xc8, 0xb9, 0xea, 0x6f, + 0xa2, 0x7f, 0x4b, 0x0a, 0xbf, 0xc0, 0x2d, 0xa8, 0x8c, 0x14, 0x7e, 0x10, 0x12, 0x7a, 0x52, 0x21, + 0x0b, 0xf0, 0xf8, 0x61, 0x97, 0x91, 0xc2, 0x0e, 0x42, 0x42, 0x2e, 0x23, 0x85, 0x1c, 0x84, 0x84, + 0x5b, 0x46, 0x0a, 0x37, 0x08, 0x09, 0xb5, 0x8c, 0x14, 0x6a, 0x10, 0x12, 0x66, 0x19, 0x29, 0xcc, + 0x20, 0x24, 0xc4, 0x32, 0x52, 0x88, 0x41, 0x48, 0x78, 0x65, 0xa4, 0xf0, 0x82, 0x90, 0xd0, 0x3a, + 0x2e, 0x87, 0x16, 0x84, 0x85, 0xd5, 0x71, 0x39, 0xac, 0x20, 0x2c, 0xa4, 0xee, 0x94, 0x43, 0x6a, + 0xf0, 0xe6, 0x4b, 0x33, 0xfd, 0x78, 0x28, 0x10, 0x4d, 0xc7, 0xe5, 0x68, 0x82, 0xb0, 0x48, 0x3a, + 0x2e, 0x47, 0x12, 0x84, 0x45, 0xd1, 0x71, 0x39, 0x8a, 0x20, 0x2c, 0x82, 0x5e, 0x90, 0x23, 0xc8, + 0xbf, 0xe3, 0x93, 0x91, 0x8e, 0x14, 0xa3, 0x22, 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x8c, 0x08, 0x52, + 0x63, 0x44, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, + 0xa9, 0x71, 0x22, 0x48, 0x8d, 0x15, 0x41, 0x6a, 0xaf, 0x08, 0x3a, 0x2e, 0xdf, 0x78, 0x80, 0xb0, + 0x82, 0x74, 0x5c, 0x3e, 0xfa, 0x8c, 0x0e, 0x21, 0x35, 0x56, 0x08, 0xa9, 0xbd, 0x42, 0xe8, 0x5b, + 0x2a, 0x4c, 0x08, 0x21, 0xc4, 0xce, 0x87, 0xde, 0xac, 0x0a, 0x74, 0x36, 0xc6, 0x05, 0x8b, 0xb0, + 0x98, 0x3a, 0x1b, 0xe3, 0x90, 0x7a, 0xaf, 0x38, 0xeb, 0xae, 0x42, 0xa5, 0x18, 0x55, 0xe8, 0x92, + 0x17, 0x43, 0x67, 0x63, 0x5c, 0xbc, 0xe8, 0x8e, 0xbd, 0xf3, 0x7b, 0x15, 0x81, 0x87, 0x63, 0x15, + 0x81, 0xe5, 0x58, 0x45, 0xe0, 0x8a, 0xef, 0xc1, 0x0f, 0x26, 0xe0, 0xa0, 0xef, 0x41, 0xfa, 0x89, + 0xfc, 0x80, 0x56, 0x26, 0x70, 0x44, 0xa5, 0xf3, 0x63, 0x9b, 0x80, 0x1b, 0x13, 0xcb, 0x35, 0x7d, + 0x4d, 0x3c, 0xac, 0xca, 0xee, 0xf7, 0x00, 0x27, 0xe0, 0x71, 0xb6, 0x19, 0x7a, 0x1c, 0xd4, 0xe5, + 0x9a, 0x43, 0xaa, 0x45, 0xd8, 0x63, 0x0b, 0x06, 0x26, 0xeb, 0x06, 0x0c, 0x10, 0x76, 0x87, 0xb8, + 0xf7, 0x56, 0x1e, 0x5c, 0x34, 0x98, 0xa4, 0xcc, 0x0b, 0x0a, 0x1c, 0x15, 0x42, 0xf9, 0xcd, 0x39, + 0x32, 0xb8, 0x18, 0xeb, 0xc8, 0x40, 0x48, 0x10, 0xff, 0xf8, 0xe0, 0xee, 0xee, 0x93, 0xea, 0x60, + 0x96, 0xc8, 0x47, 0x09, 0xff, 0x0f, 0x46, 0xfd, 0x19, 0x90, 0x77, 0xb6, 0x33, 0xd1, 0xbb, 0x99, + 0x61, 0xa9, 0x79, 0x46, 0xda, 0x45, 0xdb, 0x13, 0xe6, 0x65, 0x6b, 0x26, 0x0b, 0x63, 0x65, 0xf1, + 0x2f, 0x9f, 0xa2, 0x36, 0x23, 0x52, 0xb8, 0x35, 0xbf, 0xf1, 0xe9, 0x99, 0xbe, 0xcc, 0x7d, 0x30, + 0x1c, 0xfc, 0xe3, 0x26, 0x09, 0x38, 0xc8, 0x81, 0xd9, 0xe4, 0x8b, 0x98, 0xfb, 0xb7, 0x15, 0x38, + 0x14, 0x64, 0x7f, 0xa4, 0xee, 0xee, 0x2c, 0x5b, 0xb8, 0xa7, 0x7f, 0x00, 0x52, 0x88, 0x39, 0x8e, + 0xfd, 0x16, 0x0e, 0x7b, 0x8f, 0x0c, 0x65, 0x9f, 0x27, 0xff, 0x1a, 0x1e, 0x44, 0xda, 0x05, 0xe1, + 0x8f, 0x5d, 0x9c, 0xba, 0x0b, 0xfa, 0xa9, 0x7c, 0x51, 0xaf, 0x11, 0x49, 0xaf, 0xcf, 0x85, 0xe8, + 0x45, 0xe2, 0x48, 0xbf, 0x22, 0xe8, 0x15, 0x78, 0x5d, 0x0d, 0x65, 0x9f, 0xe7, 0xc1, 0x97, 0x4f, + 0xe1, 0xfe, 0x8f, 0x44, 0x54, 0xb4, 0x92, 0xb3, 0x90, 0x2a, 0xc9, 0x3c, 0xe1, 0x7a, 0x16, 0x21, + 0x59, 0xb6, 0x6b, 0xe4, 0x57, 0x7a, 0xc8, 0xef, 0x5d, 0x33, 0x23, 0xb3, 0x1f, 0xbf, 0x3e, 0x01, + 0xa9, 0xc2, 0x4e, 0xbd, 0x51, 0x6b, 0x23, 0x8b, 0x9d, 0xd9, 0xb3, 0x2d, 0x74, 0x8c, 0x31, 0x3c, + 0x5a, 0xa6, 0x00, 0xe3, 0x65, 0xdb, 0xca, 0xef, 0xba, 0xc1, 0xba, 0x31, 0x2f, 0xa5, 0x08, 0x3b, + 0xf3, 0x21, 0x7f, 0x0c, 0x82, 0x19, 0xf2, 0xfd, 0xdf, 0x7d, 0x69, 0x46, 0xd9, 0xf0, 0xf6, 0xcf, + 0x57, 0xe0, 0x30, 0x4b, 0x9f, 0x2e, 0x51, 0x8b, 0x51, 0xa2, 0x06, 0xd9, 0x39, 0x75, 0x40, 0xdc, + 0x32, 0x16, 0x67, 0x85, 0x8a, 0x7b, 0x63, 0x9a, 0xe1, 0xa6, 0x68, 0x4f, 0xcd, 0xd4, 0x7d, 0x69, + 0x16, 0x2a, 0x6e, 0x3e, 0x4a, 0x9c, 0xa4, 0xd9, 0x9d, 0x30, 0xe8, 0xd1, 0x02, 0xd1, 0x10, 0xcc, + 0x94, 0xc5, 0xb9, 0x0c, 0x0c, 0x05, 0x12, 0x56, 0xef, 0x07, 0x25, 0xa7, 0xf5, 0xe1, 0xff, 0xf2, + 0x9a, 0x82, 0xff, 0x2b, 0x68, 0x89, 0xb9, 0xbb, 0x60, 0x4c, 0xda, 0xbf, 0xc4, 0x94, 0xa2, 0x06, + 0xf8, 0xbf, 0x92, 0x36, 0x34, 0x95, 0xfc, 0xd0, 0x67, 0xa7, 0xfb, 0xe6, 0x2e, 0x82, 0xde, 0xbd, + 0xd3, 0xa9, 0x0f, 0x40, 0x22, 0x87, 0x45, 0x1e, 0x86, 0x44, 0x3e, 0xaf, 0x29, 0x53, 0x63, 0xbf, + 0xf8, 0xc9, 0xa3, 0x43, 0x79, 0xf2, 0x97, 0xdb, 0xd7, 0x90, 0x9b, 0xcf, 0x33, 0xf0, 0x83, 0x70, + 0x28, 0x74, 0xa7, 0x14, 0xe3, 0x0b, 0x05, 0x8a, 0x2f, 0x16, 0xbb, 0xf0, 0xc5, 0x22, 0xc1, 0x2b, + 0x59, 0x7e, 0xe2, 0x9c, 0xd3, 0x43, 0x76, 0x19, 0xd3, 0xb5, 0xc0, 0x09, 0x77, 0x2e, 0xfb, 0x20, + 0xe3, 0xcd, 0x87, 0xf2, 0xa2, 0x88, 0x13, 0xeb, 0x7c, 0xb6, 0xc0, 0xf0, 0x85, 0x50, 0xfc, 0x96, + 0x74, 0xac, 0x2a, 0xae, 0x10, 0x4c, 0x48, 0xc1, 0x53, 0xb8, 0x18, 0x2a, 0x64, 0x27, 0x70, 0xd9, + 0xbd, 0xe8, 0x29, 0x5c, 0x0a, 0xe5, 0xad, 0x47, 0x5c, 0xfa, 0x2a, 0x65, 0x4f, 0xb2, 0x45, 0x3e, + 0x77, 0x4a, 0x3f, 0xc4, 0x73, 0x54, 0xa8, 0xc0, 0xcc, 0x40, 0x9c, 0x2b, 0x5b, 0x60, 0x80, 0x7c, + 0x4f, 0x40, 0x6f, 0x2b, 0x71, 0x64, 0xf6, 0x61, 0x26, 0xa4, 0xd0, 0x53, 0x48, 0x84, 0xa9, 0x38, + 0x3c, 0xbf, 0x71, 0xe3, 0xe5, 0xe9, 0xbe, 0x17, 0x5f, 0x9e, 0xee, 0xfb, 0x87, 0x97, 0xa7, 0xfb, + 0xbe, 0xf7, 0xf2, 0xb4, 0xf2, 0x83, 0x97, 0xa7, 0x95, 0x1f, 0xbe, 0x3c, 0xad, 0xfc, 0xf8, 0xe5, + 0x69, 0xe5, 0x99, 0x9b, 0xd3, 0xca, 0xf3, 0x37, 0xa7, 0x95, 0x2f, 0xdf, 0x9c, 0x56, 0xbe, 0x7e, + 0x73, 0x5a, 0x79, 0xe1, 0xe6, 0xb4, 0x72, 0xe3, 0xe6, 0xb4, 0xf2, 0xe2, 0xcd, 0xe9, 0xbe, 0xef, + 0xdd, 0x9c, 0x56, 0x7e, 0x70, 0x73, 0xba, 0xef, 0x87, 0x37, 0xa7, 0x95, 0x1f, 0xdf, 0x9c, 0xee, + 0x7b, 0xe6, 0x95, 0xe9, 0xbe, 0xe7, 0x5e, 0x99, 0xee, 0x7b, 0xfe, 0x95, 0x69, 0xe5, 0x7f, 0x02, + 0x00, 0x00, 0xff, 0xff, 0xa0, 0x13, 0xdc, 0x9b, 0x43, 0x69, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -31481,204 +31702,3 @@ func (this *CustomNameNinEmbeddedStructUnion) SetValue(value interface{}) bool { } return true } - -func init() { - proto.RegisterFile("combos/marshaler/thetest.proto", fileDescriptor_thetest_0843136744e013f8) -} - -var fileDescriptor_thetest_0843136744e013f8 = []byte{ - // 3086 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6c, 0x1b, 0xc7, - 0xd5, 0xe7, 0xec, 0x50, 0x0a, 0xf5, 0x24, 0x4b, 0xf4, 0x26, 0x56, 0x16, 0x8c, 0xbe, 0x15, 0xbd, - 0x91, 0xf5, 0x31, 0x44, 0x2c, 0x51, 0x14, 0x25, 0xcb, 0x4c, 0x93, 0x42, 0xfc, 0xe3, 0x46, 0x6e, - 0x44, 0x19, 0x8c, 0xdc, 0xd6, 0x40, 0x81, 0x82, 0x16, 0xd7, 0x22, 0x51, 0x69, 0x29, 0x90, 0xab, - 0x34, 0xee, 0xa1, 0x08, 0x72, 0x28, 0x82, 0x5e, 0x8b, 0x1e, 0xdb, 0xb8, 0x28, 0x0a, 0xa4, 0xb7, - 0x1c, 0x8a, 0xa2, 0x28, 0x8a, 0xc6, 0x97, 0x02, 0xea, 0xcd, 0xe8, 0xa9, 0x08, 0x0a, 0x21, 0x62, - 0x2e, 0x39, 0x06, 0xbd, 0x34, 0x87, 0x1c, 0x8a, 0xdd, 0x9d, 0x9d, 0x9d, 0x19, 0xee, 0x72, 0x97, - 0x96, 0xd2, 0xe6, 0x62, 0x8b, 0xf3, 0xde, 0x9b, 0x79, 0xfb, 0x7e, 0xbf, 0xf7, 0xf6, 0xed, 0xcc, - 0x80, 0xba, 0xd7, 0x39, 0xbc, 0xdf, 0xe9, 0x2d, 0x1f, 0x36, 0xba, 0xbd, 0x56, 0xe3, 0x40, 0xef, - 0x2e, 0x9b, 0x2d, 0xdd, 0xd4, 0x7b, 0xe6, 0xd2, 0x51, 0xb7, 0x63, 0x76, 0xe4, 0xb8, 0xf5, 0x77, - 0xea, 0xfa, 0x7e, 0xdb, 0x6c, 0x1d, 0xdf, 0x5f, 0xda, 0xeb, 0x1c, 0x2e, 0xef, 0x77, 0xf6, 0x3b, - 0xcb, 0xb6, 0xf0, 0xfe, 0xf1, 0x03, 0xfb, 0x97, 0xfd, 0xc3, 0xfe, 0xcb, 0x31, 0xd2, 0xfe, 0x89, - 0x61, 0xaa, 0xd6, 0x6e, 0xee, 0x1c, 0x99, 0xb5, 0x86, 0xd9, 0x7e, 0x4b, 0x97, 0xe7, 0x60, 0xfc, - 0x56, 0x5b, 0x3f, 0x68, 0xae, 0x28, 0x28, 0x8d, 0x32, 0xa8, 0x14, 0x3f, 0x39, 0x9d, 0x8f, 0xd5, - 0xc9, 0x18, 0x95, 0xe6, 0x15, 0x29, 0x8d, 0x32, 0x12, 0x27, 0xcd, 0x53, 0xe9, 0xaa, 0x82, 0xd3, - 0x28, 0x33, 0xc6, 0x49, 0x57, 0xa9, 0xb4, 0xa0, 0xc4, 0xd3, 0x28, 0x83, 0x39, 0x69, 0x81, 0x4a, - 0xd7, 0x94, 0xb1, 0x34, 0xca, 0x5c, 0xe2, 0xa4, 0x6b, 0x54, 0xba, 0xae, 0x8c, 0xa7, 0x51, 0x26, - 0xce, 0x49, 0xd7, 0xa9, 0xf4, 0x86, 0xf2, 0x4c, 0x1a, 0x65, 0x2e, 0x73, 0xd2, 0x1b, 0x54, 0xba, - 0xa1, 0x24, 0xd2, 0x28, 0x23, 0x73, 0xd2, 0x0d, 0x2a, 0xbd, 0xa9, 0x4c, 0xa4, 0x51, 0xe6, 0x19, - 0x4e, 0x7a, 0x53, 0x56, 0xe1, 0x19, 0xe7, 0xc9, 0x73, 0x0a, 0xa4, 0x51, 0x66, 0x86, 0x88, 0xdd, - 0x41, 0x4f, 0xbe, 0xa2, 0x4c, 0xa6, 0x51, 0x66, 0x9c, 0x97, 0xaf, 0x78, 0xf2, 0xbc, 0x32, 0x95, - 0x46, 0x99, 0x24, 0x2f, 0xcf, 0x7b, 0xf2, 0x55, 0xe5, 0x52, 0x1a, 0x65, 0x12, 0xbc, 0x7c, 0xd5, - 0x93, 0x17, 0x94, 0xe9, 0x34, 0xca, 0x4c, 0xf0, 0xf2, 0x82, 0x27, 0x5f, 0x53, 0x66, 0xd2, 0x28, - 0x33, 0xc5, 0xcb, 0xd7, 0xb4, 0x77, 0x6d, 0x78, 0x0d, 0x0f, 0xde, 0x59, 0x1e, 0x5e, 0x0a, 0xec, - 0x2c, 0x0f, 0x2c, 0x85, 0x74, 0x96, 0x87, 0x94, 0x82, 0x39, 0xcb, 0x83, 0x49, 0x61, 0x9c, 0xe5, - 0x61, 0xa4, 0x00, 0xce, 0xf2, 0x00, 0x52, 0xe8, 0x66, 0x79, 0xe8, 0x28, 0x68, 0xb3, 0x3c, 0x68, - 0x14, 0xae, 0x59, 0x1e, 0x2e, 0x0a, 0x94, 0x22, 0x00, 0xe5, 0x41, 0xa4, 0x08, 0x10, 0x79, 0xe0, - 0x28, 0x02, 0x38, 0x1e, 0x2c, 0x8a, 0x00, 0x8b, 0x07, 0x88, 0x22, 0x00, 0xe2, 0x41, 0xa1, 0x08, - 0x50, 0x78, 0x20, 0x90, 0x1c, 0xab, 0xeb, 0x47, 0x3e, 0x39, 0x86, 0x87, 0xe6, 0x18, 0x1e, 0x9a, - 0x63, 0x78, 0x68, 0x8e, 0xe1, 0xa1, 0x39, 0x86, 0x87, 0xe6, 0x18, 0x1e, 0x9a, 0x63, 0x78, 0x68, - 0x8e, 0xe1, 0xa1, 0x39, 0x86, 0x87, 0xe7, 0x18, 0x0e, 0xc9, 0x31, 0x1c, 0x92, 0x63, 0x38, 0x24, - 0xc7, 0x70, 0x48, 0x8e, 0xe1, 0x90, 0x1c, 0xc3, 0x81, 0x39, 0xe6, 0xc1, 0x3b, 0xcb, 0xc3, 0xeb, - 0x9b, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, 0xc3, 0x01, 0x39, 0x86, 0x03, - 0x72, 0x0c, 0x07, 0xe4, 0x18, 0x0e, 0xc8, 0x31, 0x1c, 0x94, 0x63, 0x38, 0x30, 0xc7, 0x70, 0x60, - 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x81, 0x39, 0x86, 0x03, 0x73, 0x0c, 0xb3, 0x39, 0xf6, 0x67, 0x0c, - 0xb2, 0x93, 0x63, 0x77, 0x1a, 0x7b, 0x3f, 0xd4, 0x9b, 0x04, 0x0a, 0x55, 0xc8, 0xb4, 0x71, 0x0b, - 0xba, 0xa4, 0x07, 0x89, 0x2a, 0xe4, 0x1a, 0x2f, 0xcf, 0x53, 0xb9, 0x9b, 0x6d, 0xbc, 0x7c, 0x95, - 0xca, 0xdd, 0x7c, 0xe3, 0xe5, 0x05, 0x2a, 0x77, 0x33, 0x8e, 0x97, 0xaf, 0x51, 0xb9, 0x9b, 0x73, - 0xbc, 0x7c, 0x9d, 0xca, 0xdd, 0xac, 0xe3, 0xe5, 0x37, 0xa8, 0xdc, 0xcd, 0x3b, 0x5e, 0xbe, 0x41, - 0xe5, 0x6e, 0xe6, 0xf1, 0xf2, 0x9b, 0x72, 0x5a, 0xcc, 0x3d, 0x57, 0x81, 0x42, 0x9b, 0x16, 0xb3, - 0x4f, 0xd0, 0x58, 0xf1, 0x34, 0xdc, 0xfc, 0x13, 0x34, 0xf2, 0x9e, 0x86, 0x9b, 0x81, 0x82, 0xc6, - 0xaa, 0xf6, 0x9e, 0x0d, 0x9f, 0x21, 0xc2, 0x97, 0x12, 0xe0, 0x93, 0x18, 0xe8, 0x52, 0x02, 0x74, - 0x12, 0x03, 0x5b, 0x4a, 0x80, 0x4d, 0x62, 0x20, 0x4b, 0x09, 0x90, 0x49, 0x0c, 0x5c, 0x29, 0x01, - 0x2e, 0x89, 0x81, 0x2a, 0x25, 0x40, 0x25, 0x31, 0x30, 0xa5, 0x04, 0x98, 0x24, 0x06, 0xa2, 0x94, - 0x00, 0x91, 0xc4, 0xc0, 0x93, 0x12, 0xe0, 0x91, 0x18, 0x68, 0xe6, 0x44, 0x68, 0x24, 0x16, 0x96, - 0x39, 0x11, 0x16, 0x89, 0x85, 0x64, 0x4e, 0x84, 0x44, 0x62, 0xe1, 0x98, 0x13, 0xe1, 0x90, 0x58, - 0x28, 0xbe, 0x94, 0xdc, 0x8e, 0xf0, 0x4d, 0xb3, 0x7b, 0xbc, 0x67, 0x9e, 0xab, 0x23, 0xcc, 0x71, - 0xed, 0xc3, 0x64, 0x5e, 0x5e, 0xb2, 0x1b, 0x56, 0xb6, 0xe3, 0x14, 0xde, 0x60, 0x39, 0xae, 0xb1, - 0x60, 0x2c, 0x0c, 0x7f, 0x8b, 0xc2, 0xb9, 0x7a, 0xc3, 0x1c, 0xd7, 0x66, 0x84, 0xfb, 0xb7, 0xf1, - 0x95, 0x77, 0x6c, 0x8f, 0x25, 0xb7, 0x63, 0x23, 0xe1, 0x1f, 0xb5, 0x63, 0xcb, 0x86, 0x87, 0x9c, - 0x06, 0x3b, 0x1b, 0x1e, 0xec, 0x81, 0xb7, 0x4e, 0xd4, 0x0e, 0x2e, 0x1b, 0x1e, 0x5a, 0x1a, 0xd4, - 0x8b, 0xed, 0xb7, 0x08, 0x83, 0xeb, 0xfa, 0x91, 0x0f, 0x83, 0x47, 0xed, 0xb7, 0x72, 0x5c, 0x29, - 0x19, 0x95, 0xc1, 0x78, 0x64, 0x06, 0x8f, 0xda, 0x79, 0xe5, 0xb8, 0xf2, 0x32, 0x32, 0x83, 0xbf, - 0x82, 0x7e, 0x88, 0x30, 0xd8, 0x0b, 0xff, 0xa8, 0xfd, 0x50, 0x36, 0x3c, 0xe4, 0xbe, 0x0c, 0xc6, - 0x23, 0x30, 0x38, 0x4a, 0x7f, 0x94, 0x0d, 0x0f, 0xad, 0x3f, 0x83, 0xcf, 0xdd, 0xcd, 0xbc, 0x8f, - 0xe0, 0x72, 0xad, 0xdd, 0xac, 0x1e, 0xde, 0xd7, 0x9b, 0x4d, 0xbd, 0x49, 0xe2, 0x98, 0xe3, 0x2a, - 0x41, 0x00, 0xd4, 0x4f, 0x4e, 0xe7, 0xbd, 0x08, 0xaf, 0x41, 0xc2, 0x89, 0x69, 0x2e, 0xa7, 0x9c, - 0xa0, 0x90, 0x0a, 0x47, 0x55, 0xe5, 0xab, 0xae, 0xd9, 0x4a, 0x4e, 0xf9, 0x3b, 0x62, 0xaa, 0x1c, - 0x1d, 0xd6, 0x7e, 0x6e, 0x7b, 0x68, 0x9c, 0xdb, 0xc3, 0xe5, 0x48, 0x1e, 0x32, 0xbe, 0xbd, 0x30, - 0xe0, 0x1b, 0xe3, 0xd5, 0x31, 0xcc, 0xd4, 0xda, 0xcd, 0x9a, 0xde, 0x33, 0xa3, 0xb9, 0xe4, 0xe8, - 0x08, 0xf5, 0x20, 0xc7, 0xd1, 0x92, 0xb5, 0xa0, 0x94, 0xe6, 0x6b, 0x84, 0xd6, 0xb6, 0x96, 0x35, - 0xb8, 0x65, 0xb3, 0x41, 0xcb, 0x7a, 0x95, 0x9d, 0x2e, 0x98, 0x0d, 0x5a, 0xd0, 0xcb, 0x21, 0xba, - 0xd4, 0xdb, 0xee, 0xcb, 0xb9, 0x7c, 0xdc, 0x33, 0x3b, 0x87, 0xf2, 0x1c, 0x48, 0x5b, 0x4d, 0x7b, - 0x8d, 0xa9, 0xd2, 0x94, 0xe5, 0xd4, 0xc7, 0xa7, 0xf3, 0xf1, 0xbb, 0xc7, 0xed, 0x66, 0x5d, 0xda, - 0x6a, 0xca, 0xb7, 0x61, 0xec, 0x3b, 0x8d, 0x83, 0x63, 0xdd, 0x7e, 0x45, 0x4c, 0x95, 0x0a, 0x44, - 0xe1, 0xe5, 0xc0, 0x3d, 0x22, 0x6b, 0xe1, 0xe5, 0x3d, 0x7b, 0xea, 0xa5, 0xbb, 0x6d, 0xc3, 0x5c, - 0xc9, 0x6f, 0xd4, 0x9d, 0x29, 0xb4, 0xef, 0x03, 0x38, 0x6b, 0x56, 0x1a, 0xbd, 0x96, 0x5c, 0x73, - 0x67, 0x76, 0x96, 0xde, 0xf8, 0xf8, 0x74, 0xbe, 0x10, 0x65, 0xd6, 0xeb, 0xcd, 0x46, 0xaf, 0x75, - 0xdd, 0x7c, 0x78, 0xa4, 0x2f, 0x95, 0x1e, 0x9a, 0x7a, 0xcf, 0x9d, 0xfd, 0xc8, 0x7d, 0xeb, 0x91, - 0xe7, 0x52, 0x98, 0xe7, 0x4a, 0x70, 0xcf, 0x74, 0x8b, 0x7f, 0xa6, 0xdc, 0xd3, 0x3e, 0xcf, 0xdb, - 0xee, 0x4b, 0x42, 0x88, 0x24, 0x0e, 0x8b, 0x24, 0x3e, 0x6f, 0x24, 0x8f, 0xdc, 0xfa, 0x28, 0x3c, - 0x2b, 0x1e, 0xf6, 0xac, 0xf8, 0x3c, 0xcf, 0xfa, 0x6f, 0x27, 0x5b, 0x69, 0x3e, 0xdd, 0x35, 0xda, - 0x1d, 0xe3, 0x6b, 0xb7, 0x17, 0x74, 0xa1, 0x5d, 0x40, 0x31, 0x7e, 0xf2, 0x68, 0x1e, 0x69, 0xef, - 0x4b, 0xee, 0x93, 0x3b, 0x89, 0xf4, 0x74, 0x4f, 0xfe, 0x75, 0xe9, 0xa9, 0xbe, 0x8a, 0x08, 0xfd, - 0x0a, 0xc1, 0xec, 0x40, 0x25, 0x77, 0xc2, 0x74, 0xb1, 0xe5, 0xdc, 0x18, 0xb5, 0x9c, 0x13, 0x07, - 0x7f, 0x8f, 0xe0, 0x39, 0xa1, 0xbc, 0x3a, 0xee, 0x2d, 0x0b, 0xee, 0x3d, 0x3f, 0xb8, 0x92, 0xad, - 0xc8, 0x78, 0xc7, 0xc2, 0x2b, 0x18, 0x30, 0x33, 0x53, 0xdc, 0x0b, 0x02, 0xee, 0x73, 0xd4, 0xc0, - 0x27, 0x5c, 0x2e, 0x03, 0x88, 0xdb, 0x1d, 0x88, 0xef, 0x76, 0x75, 0x5d, 0x56, 0x41, 0xda, 0xe9, - 0x12, 0x0f, 0xa7, 0x1d, 0xfb, 0x9d, 0x6e, 0xa9, 0xdb, 0x30, 0xf6, 0x5a, 0x75, 0x69, 0xa7, 0x2b, - 0x5f, 0x05, 0xbc, 0x69, 0x34, 0x89, 0x47, 0x33, 0x8e, 0xc2, 0xa6, 0xd1, 0x24, 0x1a, 0x96, 0x4c, - 0x56, 0x21, 0xfe, 0x86, 0xde, 0x78, 0x40, 0x9c, 0x00, 0x47, 0xc7, 0x1a, 0xa9, 0xdb, 0xe3, 0x64, - 0xc1, 0xef, 0x41, 0xc2, 0x9d, 0x58, 0x5e, 0xb0, 0x2c, 0x1e, 0x98, 0x64, 0x59, 0x62, 0x61, 0xb9, - 0x43, 0xde, 0x5c, 0xb6, 0x54, 0x5e, 0x84, 0xb1, 0x7a, 0x7b, 0xbf, 0x65, 0x92, 0xc5, 0x07, 0xd5, - 0x1c, 0xb1, 0x76, 0x0f, 0x26, 0xa8, 0x47, 0x17, 0x3c, 0x75, 0xc5, 0x79, 0x34, 0x39, 0xc5, 0xbe, - 0x4f, 0xdc, 0x7d, 0x4b, 0x67, 0x48, 0x4e, 0x43, 0xe2, 0x4d, 0xb3, 0xeb, 0x15, 0x7d, 0xb7, 0x23, - 0xa5, 0xa3, 0xda, 0xbb, 0x08, 0x12, 0x15, 0x5d, 0x3f, 0xb2, 0x03, 0x7e, 0x0d, 0xe2, 0x95, 0xce, - 0x8f, 0x0c, 0xe2, 0xe0, 0x65, 0x12, 0x51, 0x4b, 0x4c, 0x62, 0x6a, 0x8b, 0xe5, 0x6b, 0x6c, 0xdc, - 0x9f, 0xa5, 0x71, 0x67, 0xf4, 0xec, 0xd8, 0x6b, 0x5c, 0xec, 0x09, 0x80, 0x96, 0xd2, 0x40, 0xfc, - 0x6f, 0xc0, 0x24, 0xb3, 0x8a, 0x9c, 0x21, 0x6e, 0x48, 0xa2, 0x21, 0x1b, 0x2b, 0x4b, 0x43, 0xd3, - 0xe1, 0x12, 0xb7, 0xb0, 0x65, 0xca, 0x84, 0x38, 0xc0, 0xd4, 0x0e, 0x73, 0x96, 0x0f, 0xb3, 0xbf, - 0x2a, 0x09, 0x75, 0xce, 0x89, 0x91, 0x1d, 0xee, 0x05, 0x87, 0x9c, 0xc1, 0x20, 0x5a, 0x7f, 0x6b, - 0x63, 0x80, 0x6b, 0xed, 0x03, 0xed, 0x55, 0x00, 0x27, 0xe5, 0xab, 0xc6, 0xf1, 0xa1, 0x90, 0x75, - 0xd3, 0x6e, 0x80, 0x77, 0x5b, 0xfa, 0xae, 0xde, 0xb3, 0x55, 0xf8, 0x7e, 0xca, 0x2a, 0x30, 0xe0, - 0xa4, 0x98, 0x6d, 0xff, 0x52, 0xa8, 0xbd, 0x6f, 0x27, 0x66, 0xa9, 0x2a, 0x8e, 0xea, 0x3d, 0xdd, - 0xdc, 0x34, 0x3a, 0x66, 0x4b, 0xef, 0x0a, 0x16, 0x79, 0x79, 0x95, 0x4b, 0xd8, 0xe9, 0xfc, 0x0b, - 0xd4, 0x22, 0xd0, 0x68, 0x55, 0xfb, 0xd0, 0x76, 0xd0, 0x6a, 0x05, 0x06, 0x1e, 0x10, 0x47, 0x78, - 0x40, 0x79, 0x9d, 0xeb, 0xdf, 0x86, 0xb8, 0x29, 0x7c, 0x5a, 0xde, 0xe4, 0xbe, 0x73, 0x86, 0x3b, - 0xcb, 0x7f, 0x63, 0xba, 0x31, 0x75, 0x5d, 0x7e, 0x29, 0xd4, 0xe5, 0x80, 0xee, 0x76, 0xd4, 0x98, - 0xe2, 0xa8, 0x31, 0xfd, 0x13, 0xed, 0x38, 0xac, 0xe1, 0x8a, 0xfe, 0xa0, 0x71, 0x7c, 0x60, 0xca, - 0x2f, 0x87, 0x62, 0x5f, 0x44, 0x65, 0xea, 0x6a, 0x21, 0x2a, 0xfc, 0x45, 0xa9, 0x54, 0xa2, 0xee, - 0xde, 0x18, 0x81, 0x02, 0x45, 0xa9, 0x5c, 0xa6, 0x65, 0x3b, 0xf1, 0xde, 0xa3, 0x79, 0xf4, 0xc1, - 0xa3, 0xf9, 0x98, 0xf6, 0x3b, 0x04, 0x97, 0x89, 0x26, 0x43, 0xdc, 0xeb, 0x82, 0xf3, 0x57, 0xdc, - 0x9a, 0xe1, 0x17, 0x81, 0xff, 0x1a, 0x79, 0xff, 0x8a, 0x40, 0x19, 0xf0, 0xd5, 0x8d, 0x77, 0x2e, - 0x92, 0xcb, 0x45, 0x54, 0xfd, 0xdf, 0xc7, 0xfc, 0x1e, 0x8c, 0xed, 0xb6, 0x0f, 0xf5, 0xae, 0xf5, - 0x26, 0xb0, 0xfe, 0x70, 0x5c, 0x76, 0x0f, 0x73, 0x9c, 0x21, 0x57, 0xe6, 0x38, 0xc7, 0xc9, 0xf2, - 0xb2, 0x02, 0xf1, 0x4a, 0xc3, 0x6c, 0xd8, 0x1e, 0x4c, 0xd1, 0xfa, 0xda, 0x30, 0x1b, 0xda, 0x2a, - 0x4c, 0x6d, 0x3f, 0xac, 0xbe, 0x6d, 0xea, 0x46, 0xb3, 0x71, 0xff, 0x40, 0x3c, 0x03, 0x75, 0xfb, - 0xd5, 0x95, 0xec, 0x58, 0xa2, 0x99, 0x3c, 0x41, 0xc5, 0xb8, 0xed, 0xcf, 0x5b, 0x30, 0xbd, 0x63, - 0xb9, 0x6d, 0xdb, 0xd9, 0x66, 0x69, 0x40, 0xdb, 0x7c, 0x23, 0xc4, 0xce, 0x5a, 0x47, 0xdb, 0x42, - 0xfb, 0x88, 0x69, 0x78, 0x84, 0xb6, 0x0d, 0xd3, 0xb6, 0x2d, 0x1b, 0x4f, 0x4c, 0x27, 0x2f, 0x67, - 0xe3, 0x09, 0x48, 0x5e, 0x22, 0xeb, 0xfe, 0x0d, 0x43, 0xd2, 0x69, 0x75, 0x2a, 0xfa, 0x83, 0xb6, - 0xd1, 0x36, 0x07, 0xfb, 0x55, 0xea, 0xb1, 0xfc, 0x4d, 0x98, 0xb0, 0x42, 0x6a, 0xff, 0x22, 0x80, - 0x5d, 0x25, 0x2d, 0x8a, 0x30, 0x05, 0x19, 0xb0, 0xa9, 0xe3, 0xd9, 0xc8, 0xb7, 0x00, 0xd7, 0x6a, - 0xdb, 0xe4, 0xe5, 0x56, 0x18, 0x6a, 0xba, 0xad, 0xf7, 0x7a, 0x8d, 0x7d, 0x9d, 0xfc, 0x22, 0x63, - 0xbd, 0xfd, 0xba, 0x35, 0x81, 0x5c, 0x00, 0xa9, 0xb6, 0x4d, 0x1a, 0xde, 0x85, 0x28, 0xd3, 0xd4, - 0xa5, 0xda, 0x76, 0xea, 0x2f, 0x08, 0x2e, 0x71, 0xa3, 0xb2, 0x06, 0x53, 0xce, 0x00, 0xf3, 0xb8, - 0xe3, 0x75, 0x6e, 0xcc, 0xf5, 0x59, 0x3a, 0xa7, 0xcf, 0xa9, 0x4d, 0x98, 0x11, 0xc6, 0xe5, 0x25, - 0x90, 0xd9, 0x21, 0xe2, 0x04, 0xd8, 0x0d, 0xb5, 0x8f, 0x44, 0xfb, 0x3f, 0x00, 0x2f, 0xae, 0xf2, - 0x0c, 0x4c, 0xee, 0xde, 0xbb, 0x53, 0xfd, 0x41, 0xad, 0xfa, 0xe6, 0x6e, 0xb5, 0x92, 0x44, 0xda, - 0x1f, 0x10, 0x4c, 0x92, 0xb6, 0x75, 0xaf, 0x73, 0xa4, 0xcb, 0x25, 0x40, 0x9b, 0x84, 0x41, 0x4f, - 0xe7, 0x37, 0xda, 0x94, 0x97, 0x01, 0x95, 0xa2, 0x43, 0x8d, 0x4a, 0x72, 0x1e, 0x50, 0x99, 0x00, - 0x1c, 0x0d, 0x19, 0x54, 0xd6, 0xfe, 0x85, 0xe1, 0x59, 0xb6, 0x8d, 0x76, 0xeb, 0xc9, 0x55, 0xfe, - 0xbb, 0xa9, 0x38, 0xb1, 0x92, 0x5f, 0x2d, 0x2c, 0x59, 0xff, 0x50, 0x4a, 0x6a, 0xfc, 0x27, 0x54, - 0x11, 0xa8, 0xca, 0x4a, 0xd0, 0x3d, 0x91, 0x62, 0x9c, 0x99, 0x61, 0xe0, 0x9e, 0x08, 0x27, 0x1d, - 0xb8, 0x27, 0xc2, 0x49, 0x07, 0xee, 0x89, 0x70, 0xd2, 0x81, 0xb3, 0x00, 0x4e, 0x3a, 0x70, 0x4f, - 0x84, 0x93, 0x0e, 0xdc, 0x13, 0xe1, 0xa4, 0x83, 0xf7, 0x44, 0x88, 0x38, 0xf0, 0x9e, 0x08, 0x2f, - 0x1f, 0xbc, 0x27, 0xc2, 0xcb, 0x07, 0xef, 0x89, 0x14, 0xe3, 0x66, 0xf7, 0x58, 0x0f, 0x3e, 0x75, - 0xe0, 0xed, 0x87, 0x7d, 0x04, 0x7a, 0x15, 0x78, 0x07, 0x66, 0x9c, 0x0d, 0x89, 0x72, 0xc7, 0x30, - 0x1b, 0x6d, 0x43, 0xef, 0xca, 0xdf, 0x80, 0x29, 0x67, 0xc8, 0xf9, 0xcc, 0xf1, 0xfb, 0x0c, 0x74, - 0xe4, 0xa4, 0xde, 0x72, 0xda, 0xda, 0x97, 0x71, 0x98, 0x75, 0x06, 0x6a, 0x8d, 0x43, 0x9d, 0xbb, - 0x65, 0xb4, 0x28, 0x9c, 0x29, 0x4d, 0x5b, 0xe6, 0xfd, 0xd3, 0x79, 0x67, 0x74, 0x93, 0xb2, 0x69, - 0x51, 0x38, 0x5d, 0xe2, 0xf5, 0xbc, 0x17, 0xd0, 0xa2, 0x70, 0xf3, 0x88, 0xd7, 0xa3, 0xef, 0x1b, - 0xaa, 0xe7, 0xde, 0x41, 0xe2, 0xf5, 0x2a, 0x94, 0x65, 0x8b, 0xc2, 0x6d, 0x24, 0x5e, 0xaf, 0x4a, - 0xf9, 0xb6, 0x28, 0x9c, 0x3d, 0xf1, 0x7a, 0xb7, 0x28, 0xf3, 0x16, 0x85, 0x53, 0x28, 0x5e, 0xef, - 0x5b, 0x94, 0x83, 0x8b, 0xc2, 0x5d, 0x25, 0x5e, 0xef, 0x75, 0xca, 0xc6, 0x45, 0xe1, 0xd6, 0x12, - 0xaf, 0xb7, 0x45, 0x79, 0x99, 0x11, 0xef, 0x2f, 0xf1, 0x8a, 0xb7, 0x3d, 0x86, 0x66, 0xc4, 0x9b, - 0x4c, 0xbc, 0xe6, 0xb7, 0x3d, 0xae, 0x66, 0xc4, 0x3b, 0x4d, 0xbc, 0xe6, 0x1b, 0x1e, 0x6b, 0x33, - 0xe2, 0x59, 0x19, 0xaf, 0xb9, 0xed, 0xf1, 0x37, 0x23, 0x9e, 0x9a, 0xf1, 0x9a, 0x35, 0x8f, 0xc9, - 0x19, 0xf1, 0xfc, 0x8c, 0xd7, 0xdc, 0xf1, 0x36, 0xd1, 0x3f, 0x12, 0xe8, 0xc7, 0xdc, 0x82, 0xd2, - 0x04, 0xfa, 0x81, 0x0f, 0xf5, 0x84, 0x42, 0xc6, 0xe8, 0x78, 0xb4, 0xd3, 0x04, 0xda, 0x81, 0x0f, - 0xe5, 0x34, 0x81, 0x72, 0xe0, 0x43, 0x37, 0x4d, 0xa0, 0x1b, 0xf8, 0x50, 0x4d, 0x13, 0xa8, 0x06, - 0x3e, 0x34, 0xd3, 0x04, 0x9a, 0x81, 0x0f, 0xc5, 0x34, 0x81, 0x62, 0xe0, 0x43, 0x2f, 0x4d, 0xa0, - 0x17, 0xf8, 0x50, 0x6b, 0x41, 0xa4, 0x16, 0xf8, 0xd1, 0x6a, 0x41, 0xa4, 0x15, 0xf8, 0x51, 0xea, - 0x45, 0x91, 0x52, 0x13, 0xfd, 0xd3, 0xf9, 0x31, 0x6b, 0x88, 0x61, 0xd3, 0x82, 0xc8, 0x26, 0xf0, - 0x63, 0xd2, 0x82, 0xc8, 0x24, 0xf0, 0x63, 0xd1, 0x82, 0xc8, 0x22, 0xf0, 0x63, 0xd0, 0x63, 0x91, - 0x41, 0xde, 0x1d, 0x1f, 0x4d, 0x38, 0x52, 0x0c, 0x63, 0x10, 0x8e, 0xc0, 0x20, 0x1c, 0x81, 0x41, - 0x38, 0x02, 0x83, 0x70, 0x04, 0x06, 0xe1, 0x08, 0x0c, 0xc2, 0x11, 0x18, 0x84, 0x23, 0x30, 0x08, - 0x47, 0x61, 0x10, 0x8e, 0xc4, 0x20, 0x1c, 0xc4, 0xa0, 0x05, 0xf1, 0xc6, 0x03, 0xf8, 0x15, 0xa4, - 0x05, 0xf1, 0xe8, 0x33, 0x9c, 0x42, 0x38, 0x12, 0x85, 0x70, 0x10, 0x85, 0x3e, 0xc2, 0xf0, 0x2c, - 0x47, 0x21, 0x72, 0x3e, 0x74, 0x51, 0x15, 0x68, 0x3d, 0xc2, 0x05, 0x0b, 0x3f, 0x4e, 0xad, 0x47, - 0x38, 0xa4, 0x1e, 0xc6, 0xb3, 0xc1, 0x2a, 0x54, 0x8d, 0x50, 0x85, 0x6e, 0x51, 0x0e, 0xad, 0x47, - 0xb8, 0x78, 0x31, 0xc8, 0xbd, 0x8d, 0x61, 0x45, 0xe0, 0xf5, 0x48, 0x45, 0x60, 0x2b, 0x52, 0x11, - 0xb8, 0xed, 0x21, 0xf8, 0x53, 0x09, 0x9e, 0xf3, 0x10, 0x74, 0xfe, 0xda, 0x7d, 0x78, 0x64, 0x95, - 0x00, 0xef, 0x88, 0x4a, 0x76, 0x8f, 0x6d, 0x18, 0x18, 0xa5, 0xad, 0xa6, 0x7c, 0x87, 0x3f, 0xac, - 0x2a, 0x8e, 0x7a, 0x80, 0xc3, 0x20, 0x4e, 0x36, 0x43, 0x17, 0x00, 0x6f, 0x35, 0x7b, 0x76, 0xb5, - 0xf0, 0x5b, 0xb6, 0x5c, 0xb7, 0xc4, 0x72, 0x1d, 0xc6, 0x6d, 0xf5, 0x9e, 0x0d, 0xef, 0x79, 0x16, - 0xae, 0xd4, 0xc9, 0x4c, 0xda, 0x63, 0x04, 0x69, 0x8e, 0xca, 0x17, 0x73, 0x64, 0xf0, 0x4a, 0xa4, - 0x23, 0x03, 0x2e, 0x41, 0xbc, 0xe3, 0x83, 0xff, 0x1f, 0x3c, 0xa9, 0x66, 0xb3, 0x44, 0x3c, 0x4a, - 0xf8, 0x09, 0x4c, 0x7b, 0x4f, 0x60, 0x7f, 0xb3, 0xad, 0x85, 0xef, 0x66, 0xfa, 0xa5, 0xe6, 0x9a, - 0xb0, 0x8b, 0x36, 0xd4, 0x8c, 0x66, 0xab, 0x56, 0x84, 0x99, 0x5a, 0xc7, 0xde, 0x33, 0xe8, 0xb5, - 0x3b, 0x46, 0x6f, 0xbb, 0x71, 0x14, 0xb6, 0x19, 0x91, 0xb0, 0x5a, 0xf3, 0x93, 0x5f, 0xcf, 0xc7, - 0xb4, 0x97, 0x61, 0xea, 0xae, 0xd1, 0xd5, 0xf7, 0x3a, 0xfb, 0x46, 0xfb, 0xc7, 0x7a, 0x53, 0x30, - 0x9c, 0x70, 0x0d, 0x8b, 0xf1, 0x27, 0x96, 0xf6, 0x2f, 0x10, 0x5c, 0x61, 0xd5, 0xbf, 0xdb, 0x36, - 0x5b, 0x5b, 0x86, 0xd5, 0xd3, 0xbf, 0x0a, 0x09, 0x9d, 0x00, 0x67, 0xbf, 0xbb, 0x26, 0xdd, 0xef, - 0x48, 0x5f, 0xf5, 0x25, 0xfb, 0xdf, 0x3a, 0x35, 0x11, 0xf6, 0x38, 0xdc, 0x65, 0xf3, 0xa9, 0x6b, - 0x30, 0xe6, 0xcc, 0xcf, 0xfb, 0x75, 0x49, 0xf0, 0xeb, 0xb7, 0x3e, 0x7e, 0xd9, 0x3c, 0x92, 0x6f, - 0x73, 0x7e, 0x31, 0x9f, 0xab, 0xbe, 0xea, 0x4b, 0x2e, 0xf9, 0x4a, 0x09, 0xab, 0xff, 0xb3, 0x19, - 0x15, 0xee, 0x64, 0x06, 0x12, 0x55, 0x51, 0xc7, 0xdf, 0xcf, 0x0a, 0xc4, 0x6b, 0x9d, 0xa6, 0x2e, - 0x3f, 0x07, 0x63, 0x6f, 0x34, 0xee, 0xeb, 0x07, 0x24, 0xc8, 0xce, 0x0f, 0x79, 0x11, 0x12, 0xe5, - 0x56, 0xfb, 0xa0, 0xd9, 0xd5, 0x0d, 0x72, 0x66, 0x4f, 0xb6, 0xd0, 0x2d, 0x9b, 0x3a, 0x95, 0x69, - 0x65, 0xb8, 0x5c, 0xeb, 0x18, 0xa5, 0x87, 0x26, 0x5b, 0x37, 0x96, 0x84, 0x14, 0x21, 0x67, 0x3e, - 0x77, 0xac, 0x6c, 0xb4, 0x14, 0x4a, 0x63, 0x1f, 0x9f, 0xce, 0xa3, 0x5d, 0xba, 0x7f, 0xbe, 0x0d, - 0xcf, 0x93, 0xf4, 0x19, 0x98, 0x2a, 0x1f, 0x36, 0xd5, 0x04, 0x39, 0xa7, 0x66, 0xa6, 0xdb, 0xb2, - 0xa6, 0x33, 0x7c, 0xa7, 0x7b, 0x3a, 0xcf, 0xac, 0xa6, 0x68, 0xa8, 0x67, 0x78, 0x24, 0xcf, 0x7c, - 0xa7, 0x5b, 0x0a, 0x9b, 0x4e, 0xf0, 0xec, 0x45, 0x98, 0xa0, 0x32, 0x86, 0x0d, 0x6c, 0xa6, 0xe4, - 0xb3, 0x1a, 0x4c, 0x32, 0x09, 0x2b, 0x8f, 0x01, 0xda, 0x4c, 0xc6, 0xac, 0xff, 0x4a, 0x49, 0x64, - 0xfd, 0x57, 0x4e, 0x4a, 0xd9, 0x6b, 0x30, 0x23, 0xec, 0x5f, 0x5a, 0x92, 0x4a, 0x12, 0xac, 0xff, - 0xaa, 0xc9, 0xc9, 0x54, 0xfc, 0xbd, 0xdf, 0xa8, 0xb1, 0xec, 0x2b, 0x20, 0x0f, 0xee, 0x74, 0xca, - 0xe3, 0x20, 0x6d, 0x5a, 0x53, 0x3e, 0x0f, 0x52, 0xa9, 0x94, 0x44, 0xa9, 0x99, 0x9f, 0xfd, 0x32, - 0x3d, 0x59, 0xd2, 0x4d, 0x53, 0xef, 0xde, 0xd3, 0xcd, 0x52, 0x89, 0x18, 0xbf, 0x06, 0x57, 0x7c, - 0x77, 0x4a, 0x2d, 0xfb, 0x72, 0xd9, 0xb1, 0xaf, 0x54, 0x06, 0xec, 0x2b, 0x15, 0xdb, 0x1e, 0x15, - 0xdd, 0x13, 0xe7, 0x4d, 0xd9, 0x67, 0x5f, 0x52, 0x69, 0x32, 0x27, 0xdc, 0x9b, 0xc5, 0xd7, 0x88, - 0x6e, 0xc9, 0x57, 0x57, 0x0f, 0x39, 0xb1, 0x2e, 0x15, 0xcb, 0xc4, 0xbe, 0xec, 0x6b, 0xff, 0x40, - 0x38, 0x56, 0xe5, 0xdf, 0x10, 0x64, 0x92, 0x32, 0x75, 0xb8, 0xe2, 0x3b, 0x49, 0x8b, 0xb9, 0xec, - 0x5e, 0xa1, 0x0e, 0x57, 0x7d, 0x75, 0xdb, 0x21, 0x97, 0xbe, 0xaa, 0xc5, 0x65, 0xf2, 0x92, 0xdf, - 0x5c, 0x91, 0xaf, 0xb8, 0x39, 0xca, 0x55, 0x60, 0x12, 0x20, 0x57, 0xab, 0x58, 0x26, 0x06, 0xa5, - 0x40, 0x83, 0xe0, 0x28, 0xb9, 0x96, 0xc5, 0xd7, 0xc9, 0x24, 0xe5, 0xc0, 0x49, 0x42, 0x42, 0xe5, - 0x9a, 0x97, 0x76, 0x4f, 0xce, 0xd4, 0xd8, 0x93, 0x33, 0x35, 0xf6, 0x8f, 0x33, 0x35, 0xf6, 0xc9, - 0x99, 0x8a, 0x3e, 0x3b, 0x53, 0xd1, 0xe7, 0x67, 0x2a, 0xfa, 0xe2, 0x4c, 0x45, 0xef, 0xf4, 0x55, - 0xf4, 0x41, 0x5f, 0x45, 0x1f, 0xf6, 0x55, 0xf4, 0xc7, 0xbe, 0x8a, 0x1e, 0xf7, 0x55, 0x74, 0xd2, - 0x57, 0xd1, 0x93, 0xbe, 0x1a, 0xfb, 0xa4, 0xaf, 0xa2, 0xcf, 0xfa, 0x6a, 0xec, 0xf3, 0xbe, 0x8a, - 0xbe, 0xe8, 0xab, 0xb1, 0x77, 0x3e, 0x55, 0x63, 0x8f, 0x3e, 0x55, 0x63, 0x1f, 0x7c, 0xaa, 0xa2, - 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x3d, 0xd8, 0x02, 0x18, 0x4c, 0x36, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/combos/unmarshaler/thetest.pb.go b/vendor/github.com/gogo/protobuf/test/combos/unmarshaler/thetest.pb.go index 82d30bca7..7d4a703e8 100644 --- a/vendor/github.com/gogo/protobuf/test/combos/unmarshaler/thetest.pb.go +++ b/vendor/github.com/gogo/protobuf/test/combos/unmarshaler/thetest.pb.go @@ -3,30 +3,26 @@ package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" - -import bytes "bytes" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import compress_gzip "compress/gzip" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import sort "sort" -import reflect "reflect" - -import io "io" -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + sort "sort" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -52,6 +48,7 @@ var TheTestEnum_name = map[int32]string{ 1: "B", 2: "C", } + var TheTestEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -63,9 +60,11 @@ func (x TheTestEnum) Enum() *TheTestEnum { *p = x return p } + func (x TheTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(TheTestEnum_name, int32(x)) } + func (x *TheTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(TheTestEnum_value, data, "TheTestEnum") if err != nil { @@ -74,8 +73,9 @@ func (x *TheTestEnum) UnmarshalJSON(data []byte) error { *x = TheTestEnum(value) return nil } + func (TheTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{0} + return fileDescriptor_dd04c51887e896dd, []int{0} } type AnotherTestEnum int32 @@ -89,6 +89,7 @@ var AnotherTestEnum_name = map[int32]string{ 10: "D", 11: "E", } + var AnotherTestEnum_value = map[string]int32{ "D": 10, "E": 11, @@ -99,9 +100,11 @@ func (x AnotherTestEnum) Enum() *AnotherTestEnum { *p = x return p } + func (x AnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(AnotherTestEnum_name, int32(x)) } + func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(AnotherTestEnum_value, data, "AnotherTestEnum") if err != nil { @@ -110,8 +113,9 @@ func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { *x = AnotherTestEnum(value) return nil } + func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{1} + return fileDescriptor_dd04c51887e896dd, []int{1} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -127,6 +131,7 @@ var YetAnotherTestEnum_name = map[int32]string{ 0: "AA", 1: "BB", } + var YetAnotherTestEnum_value = map[string]int32{ "AA": 0, "BB": 1, @@ -137,9 +142,11 @@ func (x YetAnotherTestEnum) Enum() *YetAnotherTestEnum { *p = x return p } + func (x YetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetAnotherTestEnum_name, int32(x)) } + func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetAnotherTestEnum_value, data, "YetAnotherTestEnum") if err != nil { @@ -148,8 +155,9 @@ func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetAnotherTestEnum(value) return nil } + func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{2} + return fileDescriptor_dd04c51887e896dd, []int{2} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -165,6 +173,7 @@ var YetYetAnotherTestEnum_name = map[int32]string{ 0: "CC", 1: "DD", } + var YetYetAnotherTestEnum_value = map[string]int32{ "CC": 0, "DD": 1, @@ -175,9 +184,11 @@ func (x YetYetAnotherTestEnum) Enum() *YetYetAnotherTestEnum { *p = x return p } + func (x YetYetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetYetAnotherTestEnum_name, int32(x)) } + func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetYetAnotherTestEnum_value, data, "YetYetAnotherTestEnum") if err != nil { @@ -186,8 +197,9 @@ func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetYetAnotherTestEnum(value) return nil } + func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{3} + return fileDescriptor_dd04c51887e896dd, []int{3} } type NestedDefinition_NestedEnum int32 @@ -199,6 +211,7 @@ const ( var NestedDefinition_NestedEnum_name = map[int32]string{ 1: "TYPE_NESTED", } + var NestedDefinition_NestedEnum_value = map[string]int32{ "TYPE_NESTED": 1, } @@ -208,9 +221,11 @@ func (x NestedDefinition_NestedEnum) Enum() *NestedDefinition_NestedEnum { *p = x return p } + func (x NestedDefinition_NestedEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(NestedDefinition_NestedEnum_name, int32(x)) } + func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(NestedDefinition_NestedEnum_value, data, "NestedDefinition_NestedEnum") if err != nil { @@ -219,8 +234,9 @@ func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { *x = NestedDefinition_NestedEnum(value) return nil } + func (NestedDefinition_NestedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{42, 0} + return fileDescriptor_dd04c51887e896dd, []int{42, 0} } type NidOptNative struct { @@ -247,7 +263,7 @@ type NidOptNative struct { func (m *NidOptNative) Reset() { *m = NidOptNative{} } func (*NidOptNative) ProtoMessage() {} func (*NidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{0} + return fileDescriptor_dd04c51887e896dd, []int{0} } func (m *NidOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -255,8 +271,8 @@ func (m *NidOptNative) XXX_Unmarshal(b []byte) error { func (m *NidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptNative.Marshal(b, m, deterministic) } -func (dst *NidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNative.Merge(dst, src) +func (m *NidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNative.Merge(m, src) } func (m *NidOptNative) XXX_Size() int { return xxx_messageInfo_NidOptNative.Size(m) @@ -291,7 +307,7 @@ type NinOptNative struct { func (m *NinOptNative) Reset() { *m = NinOptNative{} } func (*NinOptNative) ProtoMessage() {} func (*NinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{1} + return fileDescriptor_dd04c51887e896dd, []int{1} } func (m *NinOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -299,8 +315,8 @@ func (m *NinOptNative) XXX_Unmarshal(b []byte) error { func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNative.Marshal(b, m, deterministic) } -func (dst *NinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNative.Merge(dst, src) +func (m *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(m, src) } func (m *NinOptNative) XXX_Size() int { return xxx_messageInfo_NinOptNative.Size(m) @@ -335,7 +351,7 @@ type NidRepNative struct { func (m *NidRepNative) Reset() { *m = NidRepNative{} } func (*NidRepNative) ProtoMessage() {} func (*NidRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{2} + return fileDescriptor_dd04c51887e896dd, []int{2} } func (m *NidRepNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -343,8 +359,8 @@ func (m *NidRepNative) XXX_Unmarshal(b []byte) error { func (m *NidRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepNative.Marshal(b, m, deterministic) } -func (dst *NidRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNative.Merge(dst, src) +func (m *NidRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNative.Merge(m, src) } func (m *NidRepNative) XXX_Size() int { return xxx_messageInfo_NidRepNative.Size(m) @@ -379,7 +395,7 @@ type NinRepNative struct { func (m *NinRepNative) Reset() { *m = NinRepNative{} } func (*NinRepNative) ProtoMessage() {} func (*NinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{3} + return fileDescriptor_dd04c51887e896dd, []int{3} } func (m *NinRepNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -387,8 +403,8 @@ func (m *NinRepNative) XXX_Unmarshal(b []byte) error { func (m *NinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepNative.Marshal(b, m, deterministic) } -func (dst *NinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNative.Merge(dst, src) +func (m *NinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNative.Merge(m, src) } func (m *NinRepNative) XXX_Size() int { return xxx_messageInfo_NinRepNative.Size(m) @@ -421,7 +437,7 @@ type NidRepPackedNative struct { func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } func (*NidRepPackedNative) ProtoMessage() {} func (*NidRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{4} + return fileDescriptor_dd04c51887e896dd, []int{4} } func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -429,8 +445,8 @@ func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { func (m *NidRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepPackedNative.Marshal(b, m, deterministic) } -func (dst *NidRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepPackedNative.Merge(dst, src) +func (m *NidRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepPackedNative.Merge(m, src) } func (m *NidRepPackedNative) XXX_Size() int { return xxx_messageInfo_NidRepPackedNative.Size(m) @@ -463,7 +479,7 @@ type NinRepPackedNative struct { func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } func (*NinRepPackedNative) ProtoMessage() {} func (*NinRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{5} + return fileDescriptor_dd04c51887e896dd, []int{5} } func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -471,8 +487,8 @@ func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepPackedNative.Marshal(b, m, deterministic) } -func (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +func (m *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(m, src) } func (m *NinRepPackedNative) XXX_Size() int { return xxx_messageInfo_NinRepPackedNative.Size(m) @@ -502,7 +518,7 @@ type NidOptStruct struct { func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } func (*NidOptStruct) ProtoMessage() {} func (*NidOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{6} + return fileDescriptor_dd04c51887e896dd, []int{6} } func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -510,8 +526,8 @@ func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { func (m *NidOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptStruct.Marshal(b, m, deterministic) } -func (dst *NidOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptStruct.Merge(dst, src) +func (m *NidOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptStruct.Merge(m, src) } func (m *NidOptStruct) XXX_Size() int { return xxx_messageInfo_NidOptStruct.Size(m) @@ -541,7 +557,7 @@ type NinOptStruct struct { func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } func (*NinOptStruct) ProtoMessage() {} func (*NinOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{7} + return fileDescriptor_dd04c51887e896dd, []int{7} } func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -549,8 +565,8 @@ func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { func (m *NinOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptStruct.Marshal(b, m, deterministic) } -func (dst *NinOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStruct.Merge(dst, src) +func (m *NinOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStruct.Merge(m, src) } func (m *NinOptStruct) XXX_Size() int { return xxx_messageInfo_NinOptStruct.Size(m) @@ -580,7 +596,7 @@ type NidRepStruct struct { func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } func (*NidRepStruct) ProtoMessage() {} func (*NidRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{8} + return fileDescriptor_dd04c51887e896dd, []int{8} } func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -588,8 +604,8 @@ func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { func (m *NidRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepStruct.Marshal(b, m, deterministic) } -func (dst *NidRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepStruct.Merge(dst, src) +func (m *NidRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepStruct.Merge(m, src) } func (m *NidRepStruct) XXX_Size() int { return xxx_messageInfo_NidRepStruct.Size(m) @@ -619,7 +635,7 @@ type NinRepStruct struct { func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } func (*NinRepStruct) ProtoMessage() {} func (*NinRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{9} + return fileDescriptor_dd04c51887e896dd, []int{9} } func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -627,8 +643,8 @@ func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { func (m *NinRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepStruct.Marshal(b, m, deterministic) } -func (dst *NinRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepStruct.Merge(dst, src) +func (m *NinRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepStruct.Merge(m, src) } func (m *NinRepStruct) XXX_Size() int { return xxx_messageInfo_NinRepStruct.Size(m) @@ -651,7 +667,7 @@ type NidEmbeddedStruct struct { func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } func (*NidEmbeddedStruct) ProtoMessage() {} func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{10} + return fileDescriptor_dd04c51887e896dd, []int{10} } func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -659,8 +675,8 @@ func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { func (m *NidEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidEmbeddedStruct.Marshal(b, m, deterministic) } -func (dst *NidEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidEmbeddedStruct.Merge(dst, src) +func (m *NidEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidEmbeddedStruct.Merge(m, src) } func (m *NidEmbeddedStruct) XXX_Size() int { return xxx_messageInfo_NidEmbeddedStruct.Size(m) @@ -683,7 +699,7 @@ type NinEmbeddedStruct struct { func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } func (*NinEmbeddedStruct) ProtoMessage() {} func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{11} + return fileDescriptor_dd04c51887e896dd, []int{11} } func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -691,8 +707,8 @@ func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { func (m *NinEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinEmbeddedStruct.Marshal(b, m, deterministic) } -func (dst *NinEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStruct.Merge(dst, src) +func (m *NinEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStruct.Merge(m, src) } func (m *NinEmbeddedStruct) XXX_Size() int { return xxx_messageInfo_NinEmbeddedStruct.Size(m) @@ -714,7 +730,7 @@ type NidNestedStruct struct { func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } func (*NidNestedStruct) ProtoMessage() {} func (*NidNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{12} + return fileDescriptor_dd04c51887e896dd, []int{12} } func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -722,8 +738,8 @@ func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { func (m *NidNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidNestedStruct.Marshal(b, m, deterministic) } -func (dst *NidNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidNestedStruct.Merge(dst, src) +func (m *NidNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidNestedStruct.Merge(m, src) } func (m *NidNestedStruct) XXX_Size() int { return xxx_messageInfo_NidNestedStruct.Size(m) @@ -745,7 +761,7 @@ type NinNestedStruct struct { func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } func (*NinNestedStruct) ProtoMessage() {} func (*NinNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{13} + return fileDescriptor_dd04c51887e896dd, []int{13} } func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -753,8 +769,8 @@ func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { func (m *NinNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinNestedStruct.Marshal(b, m, deterministic) } -func (dst *NinNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStruct.Merge(dst, src) +func (m *NinNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStruct.Merge(m, src) } func (m *NinNestedStruct) XXX_Size() int { return xxx_messageInfo_NinNestedStruct.Size(m) @@ -776,7 +792,7 @@ type NidOptCustom struct { func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } func (*NidOptCustom) ProtoMessage() {} func (*NidOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{14} + return fileDescriptor_dd04c51887e896dd, []int{14} } func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -784,8 +800,8 @@ func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { func (m *NidOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptCustom.Marshal(b, m, deterministic) } -func (dst *NidOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptCustom.Merge(dst, src) +func (m *NidOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptCustom.Merge(m, src) } func (m *NidOptCustom) XXX_Size() int { return xxx_messageInfo_NidOptCustom.Size(m) @@ -806,7 +822,7 @@ type CustomDash struct { func (m *CustomDash) Reset() { *m = CustomDash{} } func (*CustomDash) ProtoMessage() {} func (*CustomDash) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{15} + return fileDescriptor_dd04c51887e896dd, []int{15} } func (m *CustomDash) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -814,8 +830,8 @@ func (m *CustomDash) XXX_Unmarshal(b []byte) error { func (m *CustomDash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomDash.Marshal(b, m, deterministic) } -func (dst *CustomDash) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomDash.Merge(dst, src) +func (m *CustomDash) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomDash.Merge(m, src) } func (m *CustomDash) XXX_Size() int { return xxx_messageInfo_CustomDash.Size(m) @@ -837,7 +853,7 @@ type NinOptCustom struct { func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } func (*NinOptCustom) ProtoMessage() {} func (*NinOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{16} + return fileDescriptor_dd04c51887e896dd, []int{16} } func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -845,8 +861,8 @@ func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { func (m *NinOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptCustom.Marshal(b, m, deterministic) } -func (dst *NinOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptCustom.Merge(dst, src) +func (m *NinOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptCustom.Merge(m, src) } func (m *NinOptCustom) XXX_Size() int { return xxx_messageInfo_NinOptCustom.Size(m) @@ -868,7 +884,7 @@ type NidRepCustom struct { func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } func (*NidRepCustom) ProtoMessage() {} func (*NidRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{17} + return fileDescriptor_dd04c51887e896dd, []int{17} } func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -876,8 +892,8 @@ func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { func (m *NidRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepCustom.Marshal(b, m, deterministic) } -func (dst *NidRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepCustom.Merge(dst, src) +func (m *NidRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepCustom.Merge(m, src) } func (m *NidRepCustom) XXX_Size() int { return xxx_messageInfo_NidRepCustom.Size(m) @@ -899,7 +915,7 @@ type NinRepCustom struct { func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } func (*NinRepCustom) ProtoMessage() {} func (*NinRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{18} + return fileDescriptor_dd04c51887e896dd, []int{18} } func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -907,8 +923,8 @@ func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { func (m *NinRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepCustom.Marshal(b, m, deterministic) } -func (dst *NinRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepCustom.Merge(dst, src) +func (m *NinRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepCustom.Merge(m, src) } func (m *NinRepCustom) XXX_Size() int { return xxx_messageInfo_NinRepCustom.Size(m) @@ -937,7 +953,7 @@ type NinOptNativeUnion struct { func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } func (*NinOptNativeUnion) ProtoMessage() {} func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{19} + return fileDescriptor_dd04c51887e896dd, []int{19} } func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -945,8 +961,8 @@ func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { func (m *NinOptNativeUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNativeUnion.Marshal(b, m, deterministic) } -func (dst *NinOptNativeUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeUnion.Merge(dst, src) +func (m *NinOptNativeUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeUnion.Merge(m, src) } func (m *NinOptNativeUnion) XXX_Size() int { return xxx_messageInfo_NinOptNativeUnion.Size(m) @@ -975,7 +991,7 @@ type NinOptStructUnion struct { func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } func (*NinOptStructUnion) ProtoMessage() {} func (*NinOptStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{20} + return fileDescriptor_dd04c51887e896dd, []int{20} } func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -983,8 +999,8 @@ func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { func (m *NinOptStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptStructUnion.Marshal(b, m, deterministic) } -func (dst *NinOptStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStructUnion.Merge(dst, src) +func (m *NinOptStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStructUnion.Merge(m, src) } func (m *NinOptStructUnion) XXX_Size() int { return xxx_messageInfo_NinOptStructUnion.Size(m) @@ -1007,7 +1023,7 @@ type NinEmbeddedStructUnion struct { func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } func (*NinEmbeddedStructUnion) ProtoMessage() {} func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{21} + return fileDescriptor_dd04c51887e896dd, []int{21} } func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1015,8 +1031,8 @@ func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { func (m *NinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinEmbeddedStructUnion.Marshal(b, m, deterministic) } -func (dst *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStructUnion.Merge(dst, src) +func (m *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStructUnion.Merge(m, src) } func (m *NinEmbeddedStructUnion) XXX_Size() int { return xxx_messageInfo_NinEmbeddedStructUnion.Size(m) @@ -1039,7 +1055,7 @@ type NinNestedStructUnion struct { func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } func (*NinNestedStructUnion) ProtoMessage() {} func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{22} + return fileDescriptor_dd04c51887e896dd, []int{22} } func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1047,8 +1063,8 @@ func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { func (m *NinNestedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinNestedStructUnion.Marshal(b, m, deterministic) } -func (dst *NinNestedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStructUnion.Merge(dst, src) +func (m *NinNestedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStructUnion.Merge(m, src) } func (m *NinNestedStructUnion) XXX_Size() int { return xxx_messageInfo_NinNestedStructUnion.Size(m) @@ -1071,7 +1087,7 @@ type Tree struct { func (m *Tree) Reset() { *m = Tree{} } func (*Tree) ProtoMessage() {} func (*Tree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{23} + return fileDescriptor_dd04c51887e896dd, []int{23} } func (m *Tree) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1079,8 +1095,8 @@ func (m *Tree) XXX_Unmarshal(b []byte) error { func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Tree.Marshal(b, m, deterministic) } -func (dst *Tree) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tree.Merge(dst, src) +func (m *Tree) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tree.Merge(m, src) } func (m *Tree) XXX_Size() int { return xxx_messageInfo_Tree.Size(m) @@ -1102,7 +1118,7 @@ type OrBranch struct { func (m *OrBranch) Reset() { *m = OrBranch{} } func (*OrBranch) ProtoMessage() {} func (*OrBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{24} + return fileDescriptor_dd04c51887e896dd, []int{24} } func (m *OrBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1110,8 +1126,8 @@ func (m *OrBranch) XXX_Unmarshal(b []byte) error { func (m *OrBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OrBranch.Marshal(b, m, deterministic) } -func (dst *OrBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrBranch.Merge(dst, src) +func (m *OrBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrBranch.Merge(m, src) } func (m *OrBranch) XXX_Size() int { return xxx_messageInfo_OrBranch.Size(m) @@ -1133,7 +1149,7 @@ type AndBranch struct { func (m *AndBranch) Reset() { *m = AndBranch{} } func (*AndBranch) ProtoMessage() {} func (*AndBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{25} + return fileDescriptor_dd04c51887e896dd, []int{25} } func (m *AndBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1141,8 +1157,8 @@ func (m *AndBranch) XXX_Unmarshal(b []byte) error { func (m *AndBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AndBranch.Marshal(b, m, deterministic) } -func (dst *AndBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndBranch.Merge(dst, src) +func (m *AndBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndBranch.Merge(m, src) } func (m *AndBranch) XXX_Size() int { return xxx_messageInfo_AndBranch.Size(m) @@ -1164,7 +1180,7 @@ type Leaf struct { func (m *Leaf) Reset() { *m = Leaf{} } func (*Leaf) ProtoMessage() {} func (*Leaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{26} + return fileDescriptor_dd04c51887e896dd, []int{26} } func (m *Leaf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1172,8 +1188,8 @@ func (m *Leaf) XXX_Unmarshal(b []byte) error { func (m *Leaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Leaf.Marshal(b, m, deterministic) } -func (dst *Leaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_Leaf.Merge(dst, src) +func (m *Leaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_Leaf.Merge(m, src) } func (m *Leaf) XXX_Size() int { return xxx_messageInfo_Leaf.Size(m) @@ -1196,7 +1212,7 @@ type DeepTree struct { func (m *DeepTree) Reset() { *m = DeepTree{} } func (*DeepTree) ProtoMessage() {} func (*DeepTree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{27} + return fileDescriptor_dd04c51887e896dd, []int{27} } func (m *DeepTree) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1204,8 +1220,8 @@ func (m *DeepTree) XXX_Unmarshal(b []byte) error { func (m *DeepTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DeepTree.Marshal(b, m, deterministic) } -func (dst *DeepTree) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepTree.Merge(dst, src) +func (m *DeepTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepTree.Merge(m, src) } func (m *DeepTree) XXX_Size() int { return xxx_messageInfo_DeepTree.Size(m) @@ -1226,7 +1242,7 @@ type ADeepBranch struct { func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } func (*ADeepBranch) ProtoMessage() {} func (*ADeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{28} + return fileDescriptor_dd04c51887e896dd, []int{28} } func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1234,8 +1250,8 @@ func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { func (m *ADeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ADeepBranch.Marshal(b, m, deterministic) } -func (dst *ADeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_ADeepBranch.Merge(dst, src) +func (m *ADeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_ADeepBranch.Merge(m, src) } func (m *ADeepBranch) XXX_Size() int { return xxx_messageInfo_ADeepBranch.Size(m) @@ -1257,7 +1273,7 @@ type AndDeepBranch struct { func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } func (*AndDeepBranch) ProtoMessage() {} func (*AndDeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{29} + return fileDescriptor_dd04c51887e896dd, []int{29} } func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1265,8 +1281,8 @@ func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { func (m *AndDeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AndDeepBranch.Marshal(b, m, deterministic) } -func (dst *AndDeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndDeepBranch.Merge(dst, src) +func (m *AndDeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndDeepBranch.Merge(m, src) } func (m *AndDeepBranch) XXX_Size() int { return xxx_messageInfo_AndDeepBranch.Size(m) @@ -1287,7 +1303,7 @@ type DeepLeaf struct { func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } func (*DeepLeaf) ProtoMessage() {} func (*DeepLeaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{30} + return fileDescriptor_dd04c51887e896dd, []int{30} } func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1295,8 +1311,8 @@ func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { func (m *DeepLeaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DeepLeaf.Marshal(b, m, deterministic) } -func (dst *DeepLeaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepLeaf.Merge(dst, src) +func (m *DeepLeaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepLeaf.Merge(m, src) } func (m *DeepLeaf) XXX_Size() int { return xxx_messageInfo_DeepLeaf.Size(m) @@ -1316,7 +1332,7 @@ type Nil struct { func (m *Nil) Reset() { *m = Nil{} } func (*Nil) ProtoMessage() {} func (*Nil) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{31} + return fileDescriptor_dd04c51887e896dd, []int{31} } func (m *Nil) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1324,8 +1340,8 @@ func (m *Nil) XXX_Unmarshal(b []byte) error { func (m *Nil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Nil.Marshal(b, m, deterministic) } -func (dst *Nil) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nil.Merge(dst, src) +func (m *Nil) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nil.Merge(m, src) } func (m *Nil) XXX_Size() int { return xxx_messageInfo_Nil.Size(m) @@ -1346,7 +1362,7 @@ type NidOptEnum struct { func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } func (*NidOptEnum) ProtoMessage() {} func (*NidOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{32} + return fileDescriptor_dd04c51887e896dd, []int{32} } func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1354,8 +1370,8 @@ func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { func (m *NidOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptEnum.Marshal(b, m, deterministic) } -func (dst *NidOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptEnum.Merge(dst, src) +func (m *NidOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptEnum.Merge(m, src) } func (m *NidOptEnum) XXX_Size() int { return xxx_messageInfo_NidOptEnum.Size(m) @@ -1378,7 +1394,7 @@ type NinOptEnum struct { func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } func (*NinOptEnum) ProtoMessage() {} func (*NinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{33} + return fileDescriptor_dd04c51887e896dd, []int{33} } func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1386,8 +1402,8 @@ func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { func (m *NinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptEnum.Marshal(b, m, deterministic) } -func (dst *NinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnum.Merge(dst, src) +func (m *NinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnum.Merge(m, src) } func (m *NinOptEnum) XXX_Size() int { return xxx_messageInfo_NinOptEnum.Size(m) @@ -1410,7 +1426,7 @@ type NidRepEnum struct { func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } func (*NidRepEnum) ProtoMessage() {} func (*NidRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{34} + return fileDescriptor_dd04c51887e896dd, []int{34} } func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1418,8 +1434,8 @@ func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { func (m *NidRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepEnum.Marshal(b, m, deterministic) } -func (dst *NidRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepEnum.Merge(dst, src) +func (m *NidRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepEnum.Merge(m, src) } func (m *NidRepEnum) XXX_Size() int { return xxx_messageInfo_NidRepEnum.Size(m) @@ -1442,7 +1458,7 @@ type NinRepEnum struct { func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } func (*NinRepEnum) ProtoMessage() {} func (*NinRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{35} + return fileDescriptor_dd04c51887e896dd, []int{35} } func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1450,8 +1466,8 @@ func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { func (m *NinRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepEnum.Marshal(b, m, deterministic) } -func (dst *NinRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepEnum.Merge(dst, src) +func (m *NinRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepEnum.Merge(m, src) } func (m *NinRepEnum) XXX_Size() int { return xxx_messageInfo_NinRepEnum.Size(m) @@ -1474,7 +1490,7 @@ type NinOptEnumDefault struct { func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } func (*NinOptEnumDefault) ProtoMessage() {} func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{36} + return fileDescriptor_dd04c51887e896dd, []int{36} } func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1482,8 +1498,8 @@ func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { func (m *NinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptEnumDefault.Marshal(b, m, deterministic) } -func (dst *NinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnumDefault.Merge(dst, src) +func (m *NinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnumDefault.Merge(m, src) } func (m *NinOptEnumDefault) XXX_Size() int { return xxx_messageInfo_NinOptEnumDefault.Size(m) @@ -1531,7 +1547,7 @@ type AnotherNinOptEnum struct { func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } func (*AnotherNinOptEnum) ProtoMessage() {} func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{37} + return fileDescriptor_dd04c51887e896dd, []int{37} } func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1539,8 +1555,8 @@ func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { func (m *AnotherNinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AnotherNinOptEnum.Marshal(b, m, deterministic) } -func (dst *AnotherNinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnum.Merge(dst, src) +func (m *AnotherNinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnum.Merge(m, src) } func (m *AnotherNinOptEnum) XXX_Size() int { return xxx_messageInfo_AnotherNinOptEnum.Size(m) @@ -1563,7 +1579,7 @@ type AnotherNinOptEnumDefault struct { func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } func (*AnotherNinOptEnumDefault) ProtoMessage() {} func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{38} + return fileDescriptor_dd04c51887e896dd, []int{38} } func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1571,8 +1587,8 @@ func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { func (m *AnotherNinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AnotherNinOptEnumDefault.Marshal(b, m, deterministic) } -func (dst *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnumDefault.Merge(dst, src) +func (m *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnumDefault.Merge(m, src) } func (m *AnotherNinOptEnumDefault) XXX_Size() int { return xxx_messageInfo_AnotherNinOptEnumDefault.Size(m) @@ -1620,7 +1636,7 @@ type Timer struct { func (m *Timer) Reset() { *m = Timer{} } func (*Timer) ProtoMessage() {} func (*Timer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{39} + return fileDescriptor_dd04c51887e896dd, []int{39} } func (m *Timer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1628,8 +1644,8 @@ func (m *Timer) XXX_Unmarshal(b []byte) error { func (m *Timer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Timer.Marshal(b, m, deterministic) } -func (dst *Timer) XXX_Merge(src proto.Message) { - xxx_messageInfo_Timer.Merge(dst, src) +func (m *Timer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timer.Merge(m, src) } func (m *Timer) XXX_Size() int { return xxx_messageInfo_Timer.Size(m) @@ -1651,7 +1667,7 @@ type MyExtendable struct { func (m *MyExtendable) Reset() { *m = MyExtendable{} } func (*MyExtendable) ProtoMessage() {} func (*MyExtendable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{40} + return fileDescriptor_dd04c51887e896dd, []int{40} } var extRange_MyExtendable = []proto.ExtensionRange{ @@ -1661,14 +1677,15 @@ var extRange_MyExtendable = []proto.ExtensionRange{ func (*MyExtendable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyExtendable } + func (m *MyExtendable) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } func (m *MyExtendable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MyExtendable.Marshal(b, m, deterministic) } -func (dst *MyExtendable) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyExtendable.Merge(dst, src) +func (m *MyExtendable) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyExtendable.Merge(m, src) } func (m *MyExtendable) XXX_Size() int { return xxx_messageInfo_MyExtendable.Size(m) @@ -1692,7 +1709,7 @@ type OtherExtenable struct { func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } func (*OtherExtenable) ProtoMessage() {} func (*OtherExtenable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{41} + return fileDescriptor_dd04c51887e896dd, []int{41} } var extRange_OtherExtenable = []proto.ExtensionRange{ @@ -1703,14 +1720,15 @@ var extRange_OtherExtenable = []proto.ExtensionRange{ func (*OtherExtenable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherExtenable } + func (m *OtherExtenable) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } func (m *OtherExtenable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OtherExtenable.Marshal(b, m, deterministic) } -func (dst *OtherExtenable) XXX_Merge(src proto.Message) { - xxx_messageInfo_OtherExtenable.Merge(dst, src) +func (m *OtherExtenable) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherExtenable.Merge(m, src) } func (m *OtherExtenable) XXX_Size() int { return xxx_messageInfo_OtherExtenable.Size(m) @@ -1734,7 +1752,7 @@ type NestedDefinition struct { func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } func (*NestedDefinition) ProtoMessage() {} func (*NestedDefinition) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{42} + return fileDescriptor_dd04c51887e896dd, []int{42} } func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1742,8 +1760,8 @@ func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { func (m *NestedDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedDefinition.Marshal(b, m, deterministic) } -func (dst *NestedDefinition) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition.Merge(dst, src) +func (m *NestedDefinition) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition.Merge(m, src) } func (m *NestedDefinition) XXX_Size() int { return xxx_messageInfo_NestedDefinition.Size(m) @@ -1765,7 +1783,7 @@ type NestedDefinition_NestedMessage struct { func (m *NestedDefinition_NestedMessage) Reset() { *m = NestedDefinition_NestedMessage{} } func (*NestedDefinition_NestedMessage) ProtoMessage() {} func (*NestedDefinition_NestedMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{42, 0} + return fileDescriptor_dd04c51887e896dd, []int{42, 0} } func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1773,8 +1791,8 @@ func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { func (m *NestedDefinition_NestedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedDefinition_NestedMessage.Marshal(b, m, deterministic) } -func (dst *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage.Merge(dst, src) +func (m *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage.Merge(m, src) } func (m *NestedDefinition_NestedMessage) XXX_Size() int { return xxx_messageInfo_NestedDefinition_NestedMessage.Size(m) @@ -1797,7 +1815,7 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { } func (*NestedDefinition_NestedMessage_NestedNestedMsg) ProtoMessage() {} func (*NestedDefinition_NestedMessage_NestedNestedMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{42, 0, 0} + return fileDescriptor_dd04c51887e896dd, []int{42, 0, 0} } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1805,8 +1823,8 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Marshal(b, m, deterministic) } -func (dst *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(dst, src) +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(m, src) } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Size() int { return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Size(m) @@ -1829,7 +1847,7 @@ type NestedScope struct { func (m *NestedScope) Reset() { *m = NestedScope{} } func (*NestedScope) ProtoMessage() {} func (*NestedScope) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{43} + return fileDescriptor_dd04c51887e896dd, []int{43} } func (m *NestedScope) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1837,8 +1855,8 @@ func (m *NestedScope) XXX_Unmarshal(b []byte) error { func (m *NestedScope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedScope.Marshal(b, m, deterministic) } -func (dst *NestedScope) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedScope.Merge(dst, src) +func (m *NestedScope) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedScope.Merge(m, src) } func (m *NestedScope) XXX_Size() int { return xxx_messageInfo_NestedScope.Size(m) @@ -1851,7 +1869,7 @@ var xxx_messageInfo_NestedScope proto.InternalMessageInfo type NinOptNativeDefault struct { Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.1234" json:"Field2,omitempty"` Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` @@ -1873,7 +1891,7 @@ type NinOptNativeDefault struct { func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } func (*NinOptNativeDefault) ProtoMessage() {} func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{44} + return fileDescriptor_dd04c51887e896dd, []int{44} } func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1881,8 +1899,8 @@ func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { func (m *NinOptNativeDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNativeDefault.Marshal(b, m, deterministic) } -func (dst *NinOptNativeDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeDefault.Merge(dst, src) +func (m *NinOptNativeDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeDefault.Merge(m, src) } func (m *NinOptNativeDefault) XXX_Size() int { return xxx_messageInfo_NinOptNativeDefault.Size(m) @@ -1894,7 +1912,7 @@ func (m *NinOptNativeDefault) XXX_DiscardUnknown() { var xxx_messageInfo_NinOptNativeDefault proto.InternalMessageInfo const Default_NinOptNativeDefault_Field1 float64 = 1234.1234 -const Default_NinOptNativeDefault_Field2 float32 = 1234.12341 +const Default_NinOptNativeDefault_Field2 float32 = 1234.1234 const Default_NinOptNativeDefault_Field3 int32 = 1234 const Default_NinOptNativeDefault_Field4 int64 = 1234 const Default_NinOptNativeDefault_Field5 uint32 = 1234 @@ -2023,7 +2041,7 @@ type CustomContainer struct { func (m *CustomContainer) Reset() { *m = CustomContainer{} } func (*CustomContainer) ProtoMessage() {} func (*CustomContainer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{45} + return fileDescriptor_dd04c51887e896dd, []int{45} } func (m *CustomContainer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2031,8 +2049,8 @@ func (m *CustomContainer) XXX_Unmarshal(b []byte) error { func (m *CustomContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomContainer.Marshal(b, m, deterministic) } -func (dst *CustomContainer) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomContainer.Merge(dst, src) +func (m *CustomContainer) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomContainer.Merge(m, src) } func (m *CustomContainer) XXX_Size() int { return xxx_messageInfo_CustomContainer.Size(m) @@ -2067,7 +2085,7 @@ type CustomNameNidOptNative struct { func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } func (*CustomNameNidOptNative) ProtoMessage() {} func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{46} + return fileDescriptor_dd04c51887e896dd, []int{46} } func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2075,8 +2093,8 @@ func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { func (m *CustomNameNidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNidOptNative.Marshal(b, m, deterministic) } -func (dst *CustomNameNidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNidOptNative.Merge(dst, src) +func (m *CustomNameNidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNidOptNative.Merge(m, src) } func (m *CustomNameNidOptNative) XXX_Size() int { return xxx_messageInfo_CustomNameNidOptNative.Size(m) @@ -2111,7 +2129,7 @@ type CustomNameNinOptNative struct { func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } func (*CustomNameNinOptNative) ProtoMessage() {} func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{47} + return fileDescriptor_dd04c51887e896dd, []int{47} } func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2119,8 +2137,8 @@ func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinOptNative.Marshal(b, m, deterministic) } -func (dst *CustomNameNinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinOptNative.Merge(dst, src) +func (m *CustomNameNinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinOptNative.Merge(m, src) } func (m *CustomNameNinOptNative) XXX_Size() int { return xxx_messageInfo_CustomNameNinOptNative.Size(m) @@ -2155,7 +2173,7 @@ type CustomNameNinRepNative struct { func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } func (*CustomNameNinRepNative) ProtoMessage() {} func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{48} + return fileDescriptor_dd04c51887e896dd, []int{48} } func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2163,8 +2181,8 @@ func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinRepNative.Marshal(b, m, deterministic) } -func (dst *CustomNameNinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinRepNative.Merge(dst, src) +func (m *CustomNameNinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinRepNative.Merge(m, src) } func (m *CustomNameNinRepNative) XXX_Size() int { return xxx_messageInfo_CustomNameNinRepNative.Size(m) @@ -2194,7 +2212,7 @@ type CustomNameNinStruct struct { func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } func (*CustomNameNinStruct) ProtoMessage() {} func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{49} + return fileDescriptor_dd04c51887e896dd, []int{49} } func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2202,8 +2220,8 @@ func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinStruct.Marshal(b, m, deterministic) } -func (dst *CustomNameNinStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinStruct.Merge(dst, src) +func (m *CustomNameNinStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinStruct.Merge(m, src) } func (m *CustomNameNinStruct) XXX_Size() int { return xxx_messageInfo_CustomNameNinStruct.Size(m) @@ -2227,7 +2245,7 @@ type CustomNameCustomType struct { func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } func (*CustomNameCustomType) ProtoMessage() {} func (*CustomNameCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{50} + return fileDescriptor_dd04c51887e896dd, []int{50} } func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2235,8 +2253,8 @@ func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { func (m *CustomNameCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameCustomType.Marshal(b, m, deterministic) } -func (dst *CustomNameCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameCustomType.Merge(dst, src) +func (m *CustomNameCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameCustomType.Merge(m, src) } func (m *CustomNameCustomType) XXX_Size() int { return xxx_messageInfo_CustomNameCustomType.Size(m) @@ -2259,7 +2277,7 @@ type CustomNameNinEmbeddedStructUnion struct { func (m *CustomNameNinEmbeddedStructUnion) Reset() { *m = CustomNameNinEmbeddedStructUnion{} } func (*CustomNameNinEmbeddedStructUnion) ProtoMessage() {} func (*CustomNameNinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{51} + return fileDescriptor_dd04c51887e896dd, []int{51} } func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2267,8 +2285,8 @@ func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Marshal(b, m, deterministic) } -func (dst *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(dst, src) +func (m *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(m, src) } func (m *CustomNameNinEmbeddedStructUnion) XXX_Size() int { return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Size(m) @@ -2290,7 +2308,7 @@ type CustomNameEnum struct { func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } func (*CustomNameEnum) ProtoMessage() {} func (*CustomNameEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{52} + return fileDescriptor_dd04c51887e896dd, []int{52} } func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2298,8 +2316,8 @@ func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { func (m *CustomNameEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameEnum.Marshal(b, m, deterministic) } -func (dst *CustomNameEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameEnum.Merge(dst, src) +func (m *CustomNameEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameEnum.Merge(m, src) } func (m *CustomNameEnum) XXX_Size() int { return xxx_messageInfo_CustomNameEnum.Size(m) @@ -2321,7 +2339,7 @@ type NoExtensionsMap struct { func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } func (*NoExtensionsMap) ProtoMessage() {} func (*NoExtensionsMap) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{53} + return fileDescriptor_dd04c51887e896dd, []int{53} } var extRange_NoExtensionsMap = []proto.ExtensionRange{ @@ -2331,6 +2349,7 @@ var extRange_NoExtensionsMap = []proto.ExtensionRange{ func (*NoExtensionsMap) ExtensionRangeArray() []proto.ExtensionRange { return extRange_NoExtensionsMap } + func (m *NoExtensionsMap) GetExtensions() *[]byte { if m.XXX_extensions == nil { m.XXX_extensions = make([]byte, 0) @@ -2343,8 +2362,8 @@ func (m *NoExtensionsMap) XXX_Unmarshal(b []byte) error { func (m *NoExtensionsMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NoExtensionsMap.Marshal(b, m, deterministic) } -func (dst *NoExtensionsMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_NoExtensionsMap.Merge(dst, src) +func (m *NoExtensionsMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NoExtensionsMap.Merge(m, src) } func (m *NoExtensionsMap) XXX_Size() int { return xxx_messageInfo_NoExtensionsMap.Size(m) @@ -2364,7 +2383,7 @@ type Unrecognized struct { func (m *Unrecognized) Reset() { *m = Unrecognized{} } func (*Unrecognized) ProtoMessage() {} func (*Unrecognized) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{54} + return fileDescriptor_dd04c51887e896dd, []int{54} } func (m *Unrecognized) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2372,8 +2391,8 @@ func (m *Unrecognized) XXX_Unmarshal(b []byte) error { func (m *Unrecognized) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Unrecognized.Marshal(b, m, deterministic) } -func (dst *Unrecognized) XXX_Merge(src proto.Message) { - xxx_messageInfo_Unrecognized.Merge(dst, src) +func (m *Unrecognized) XXX_Merge(src proto.Message) { + xxx_messageInfo_Unrecognized.Merge(m, src) } func (m *Unrecognized) XXX_Size() int { return xxx_messageInfo_Unrecognized.Size(m) @@ -2395,7 +2414,7 @@ type UnrecognizedWithInner struct { func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } func (*UnrecognizedWithInner) ProtoMessage() {} func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{55} + return fileDescriptor_dd04c51887e896dd, []int{55} } func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2403,8 +2422,8 @@ func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithInner.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithInner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner.Merge(dst, src) +func (m *UnrecognizedWithInner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner.Merge(m, src) } func (m *UnrecognizedWithInner) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithInner.Size(m) @@ -2424,7 +2443,7 @@ type UnrecognizedWithInner_Inner struct { func (m *UnrecognizedWithInner_Inner) Reset() { *m = UnrecognizedWithInner_Inner{} } func (*UnrecognizedWithInner_Inner) ProtoMessage() {} func (*UnrecognizedWithInner_Inner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{55, 0} + return fileDescriptor_dd04c51887e896dd, []int{55, 0} } func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2432,8 +2451,8 @@ func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithInner_Inner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithInner_Inner.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(dst, src) +func (m *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(m, src) } func (m *UnrecognizedWithInner_Inner) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithInner_Inner.Size(m) @@ -2455,7 +2474,7 @@ type UnrecognizedWithEmbed struct { func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } func (*UnrecognizedWithEmbed) ProtoMessage() {} func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{56} + return fileDescriptor_dd04c51887e896dd, []int{56} } func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2463,8 +2482,8 @@ func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithEmbed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithEmbed.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed.Merge(dst, src) +func (m *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed.Merge(m, src) } func (m *UnrecognizedWithEmbed) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithEmbed.Size(m) @@ -2484,7 +2503,7 @@ type UnrecognizedWithEmbed_Embedded struct { func (m *UnrecognizedWithEmbed_Embedded) Reset() { *m = UnrecognizedWithEmbed_Embedded{} } func (*UnrecognizedWithEmbed_Embedded) ProtoMessage() {} func (*UnrecognizedWithEmbed_Embedded) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{56, 0} + return fileDescriptor_dd04c51887e896dd, []int{56, 0} } func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2492,8 +2511,8 @@ func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithEmbed_Embedded) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(dst, src) +func (m *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(m, src) } func (m *UnrecognizedWithEmbed_Embedded) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Size(m) @@ -2515,7 +2534,7 @@ type Node struct { func (m *Node) Reset() { *m = Node{} } func (*Node) ProtoMessage() {} func (*Node) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{57} + return fileDescriptor_dd04c51887e896dd, []int{57} } func (m *Node) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2523,8 +2542,8 @@ func (m *Node) XXX_Unmarshal(b []byte) error { func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Node.Marshal(b, m, deterministic) } -func (dst *Node) XXX_Merge(src proto.Message) { - xxx_messageInfo_Node.Merge(dst, src) +func (m *Node) XXX_Merge(src proto.Message) { + xxx_messageInfo_Node.Merge(m, src) } func (m *Node) XXX_Size() int { return xxx_messageInfo_Node.Size(m) @@ -2545,7 +2564,7 @@ type NonByteCustomType struct { func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } func (*NonByteCustomType) ProtoMessage() {} func (*NonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{58} + return fileDescriptor_dd04c51887e896dd, []int{58} } func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2553,8 +2572,8 @@ func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NonByteCustomType.Merge(dst, src) +func (m *NonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonByteCustomType.Merge(m, src) } func (m *NonByteCustomType) XXX_Size() int { return xxx_messageInfo_NonByteCustomType.Size(m) @@ -2575,7 +2594,7 @@ type NidOptNonByteCustomType struct { func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } func (*NidOptNonByteCustomType) ProtoMessage() {} func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{59} + return fileDescriptor_dd04c51887e896dd, []int{59} } func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2583,8 +2602,8 @@ func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NidOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNonByteCustomType.Merge(dst, src) +func (m *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNonByteCustomType.Merge(m, src) } func (m *NidOptNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NidOptNonByteCustomType.Size(m) @@ -2605,7 +2624,7 @@ type NinOptNonByteCustomType struct { func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } func (*NinOptNonByteCustomType) ProtoMessage() {} func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{60} + return fileDescriptor_dd04c51887e896dd, []int{60} } func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2613,8 +2632,8 @@ func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NinOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNonByteCustomType.Merge(dst, src) +func (m *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNonByteCustomType.Merge(m, src) } func (m *NinOptNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NinOptNonByteCustomType.Size(m) @@ -2635,7 +2654,7 @@ type NidRepNonByteCustomType struct { func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } func (*NidRepNonByteCustomType) ProtoMessage() {} func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{61} + return fileDescriptor_dd04c51887e896dd, []int{61} } func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2643,8 +2662,8 @@ func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NidRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNonByteCustomType.Merge(dst, src) +func (m *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNonByteCustomType.Merge(m, src) } func (m *NidRepNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NidRepNonByteCustomType.Size(m) @@ -2665,7 +2684,7 @@ type NinRepNonByteCustomType struct { func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } func (*NinRepNonByteCustomType) ProtoMessage() {} func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{62} + return fileDescriptor_dd04c51887e896dd, []int{62} } func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2673,8 +2692,8 @@ func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NinRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNonByteCustomType.Merge(dst, src) +func (m *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNonByteCustomType.Merge(m, src) } func (m *NinRepNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NinRepNonByteCustomType.Size(m) @@ -2695,7 +2714,7 @@ type ProtoType struct { func (m *ProtoType) Reset() { *m = ProtoType{} } func (*ProtoType) ProtoMessage() {} func (*ProtoType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_4205beeb65ed6104, []int{63} + return fileDescriptor_dd04c51887e896dd, []int{63} } func (m *ProtoType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2703,8 +2722,8 @@ func (m *ProtoType) XXX_Unmarshal(b []byte) error { func (m *ProtoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ProtoType.Marshal(b, m, deterministic) } -func (dst *ProtoType) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoType.Merge(dst, src) +func (m *ProtoType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoType.Merge(m, src) } func (m *ProtoType) XXX_Size() int { return xxx_messageInfo_ProtoType.Size(m) @@ -2788,6 +2807,11 @@ var E_FieldC1 = &proto.ExtensionDesc{ } func init() { + proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) + proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) + proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) + proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) + proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterType((*NidOptNative)(nil), "test.NidOptNative") proto.RegisterType((*NinOptNative)(nil), "test.NinOptNative") proto.RegisterType((*NidRepNative)(nil), "test.NidRepNative") @@ -2856,11 +2880,6 @@ func init() { proto.RegisterType((*NidRepNonByteCustomType)(nil), "test.NidRepNonByteCustomType") proto.RegisterType((*NinRepNonByteCustomType)(nil), "test.NinRepNonByteCustomType") proto.RegisterType((*ProtoType)(nil), "test.ProtoType") - proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) - proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) - proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) - proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) - proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterExtension(E_FieldA) proto.RegisterExtension(E_FieldB) proto.RegisterExtension(E_FieldC) @@ -2870,6 +2889,206 @@ func init() { proto.RegisterExtension(E_FieldB1) proto.RegisterExtension(E_FieldC1) } + +func init() { proto.RegisterFile("combos/unmarshaler/thetest.proto", fileDescriptor_dd04c51887e896dd) } + +var fileDescriptor_dd04c51887e896dd = []byte{ + // 3088 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6c, 0x1b, 0xc7, + 0xd5, 0xe7, 0xec, 0x50, 0x0a, 0xf5, 0x24, 0x4b, 0xf4, 0x26, 0x56, 0x16, 0x8c, 0xbe, 0x15, 0xbd, + 0x91, 0xf5, 0x31, 0x44, 0x2c, 0x51, 0x14, 0x25, 0xcb, 0x4c, 0x93, 0x42, 0xfc, 0xe3, 0x46, 0x6e, + 0x44, 0x19, 0x8c, 0xdc, 0xd6, 0x40, 0x81, 0x82, 0x16, 0xd7, 0x22, 0x51, 0x69, 0x29, 0x90, 0xab, + 0x34, 0xee, 0xa1, 0x08, 0x72, 0x28, 0x82, 0x5e, 0x8b, 0x1e, 0xdb, 0xb8, 0x28, 0x0a, 0xa4, 0xb7, + 0x1c, 0x8a, 0xa2, 0x28, 0x8a, 0xc6, 0x97, 0x02, 0xea, 0xcd, 0xe8, 0xa9, 0x08, 0x0a, 0x21, 0x62, + 0x2e, 0x39, 0x06, 0xbd, 0x34, 0x87, 0x1c, 0x8a, 0xdd, 0x9d, 0x9d, 0x9d, 0x19, 0xee, 0x72, 0x97, + 0x96, 0xd2, 0xe6, 0x62, 0x8b, 0xf3, 0xde, 0x9b, 0x79, 0xfb, 0x7e, 0xbf, 0xf7, 0xf6, 0xed, 0xcc, + 0x40, 0x7a, 0xaf, 0x73, 0x78, 0xbf, 0xd3, 0x5b, 0x3e, 0x36, 0x0e, 0x1b, 0xdd, 0x5e, 0xab, 0x71, + 0xa0, 0x77, 0x97, 0xcd, 0x96, 0x6e, 0xea, 0x3d, 0x73, 0xe9, 0xa8, 0xdb, 0x31, 0x3b, 0x72, 0xdc, + 0xfa, 0x3b, 0x75, 0x7d, 0xbf, 0x6d, 0xb6, 0x8e, 0xef, 0x2f, 0xed, 0x75, 0x0e, 0x97, 0xf7, 0x3b, + 0xfb, 0x9d, 0x65, 0x5b, 0x78, 0xff, 0xf8, 0x81, 0xfd, 0xcb, 0xfe, 0x61, 0xff, 0xe5, 0x18, 0x69, + 0xff, 0xc4, 0x30, 0x55, 0x6b, 0x37, 0x77, 0x8e, 0xcc, 0x5a, 0xc3, 0x6c, 0xbf, 0xa5, 0xcb, 0x73, + 0x30, 0x7e, 0xab, 0xad, 0x1f, 0x34, 0x57, 0x14, 0x94, 0x46, 0x19, 0x54, 0x8a, 0x9f, 0x9c, 0xce, + 0xc7, 0xea, 0x64, 0x8c, 0x4a, 0xf3, 0x8a, 0x94, 0x46, 0x19, 0x89, 0x93, 0xe6, 0xa9, 0x74, 0x55, + 0xc1, 0x69, 0x94, 0x19, 0xe3, 0xa4, 0xab, 0x54, 0x5a, 0x50, 0xe2, 0x69, 0x94, 0xc1, 0x9c, 0xb4, + 0x40, 0xa5, 0x6b, 0xca, 0x58, 0x1a, 0x65, 0x2e, 0x71, 0xd2, 0x35, 0x2a, 0x5d, 0x57, 0xc6, 0xd3, + 0x28, 0x13, 0xe7, 0xa4, 0xeb, 0x54, 0x7a, 0x43, 0x79, 0x26, 0x8d, 0x32, 0x97, 0x39, 0xe9, 0x0d, + 0x2a, 0xdd, 0x50, 0x12, 0x69, 0x94, 0x91, 0x39, 0xe9, 0x06, 0x95, 0xde, 0x54, 0x26, 0xd2, 0x28, + 0xf3, 0x0c, 0x27, 0xbd, 0x29, 0xab, 0xf0, 0x8c, 0xf3, 0xe4, 0x39, 0x05, 0xd2, 0x28, 0x33, 0x43, + 0xc4, 0xee, 0xa0, 0x27, 0x5f, 0x51, 0x26, 0xd3, 0x28, 0x33, 0xce, 0xcb, 0x57, 0x3c, 0x79, 0x5e, + 0x99, 0x4a, 0xa3, 0x4c, 0x92, 0x97, 0xe7, 0x3d, 0xf9, 0xaa, 0x72, 0x29, 0x8d, 0x32, 0x09, 0x5e, + 0xbe, 0xea, 0xc9, 0x0b, 0xca, 0x74, 0x1a, 0x65, 0x26, 0x78, 0x79, 0xc1, 0x93, 0xaf, 0x29, 0x33, + 0x69, 0x94, 0x99, 0xe2, 0xe5, 0x6b, 0xda, 0xbb, 0x36, 0xbc, 0x86, 0x07, 0xef, 0x2c, 0x0f, 0x2f, + 0x05, 0x76, 0x96, 0x07, 0x96, 0x42, 0x3a, 0xcb, 0x43, 0x4a, 0xc1, 0x9c, 0xe5, 0xc1, 0xa4, 0x30, + 0xce, 0xf2, 0x30, 0x52, 0x00, 0x67, 0x79, 0x00, 0x29, 0x74, 0xb3, 0x3c, 0x74, 0x14, 0xb4, 0x59, + 0x1e, 0x34, 0x0a, 0xd7, 0x2c, 0x0f, 0x17, 0x05, 0x4a, 0x11, 0x80, 0xf2, 0x20, 0x52, 0x04, 0x88, + 0x3c, 0x70, 0x14, 0x01, 0x1c, 0x0f, 0x16, 0x45, 0x80, 0xc5, 0x03, 0x44, 0x11, 0x00, 0xf1, 0xa0, + 0x50, 0x04, 0x28, 0x3c, 0x10, 0x48, 0x8e, 0xd5, 0xf5, 0x23, 0x9f, 0x1c, 0xc3, 0x43, 0x73, 0x0c, + 0x0f, 0xcd, 0x31, 0x3c, 0x34, 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0x43, 0x73, 0x0c, 0x0f, 0xcd, 0x31, + 0x3c, 0x34, 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0xc3, 0x73, 0x0c, 0x87, 0xe4, 0x18, 0x0e, 0xc9, 0x31, + 0x1c, 0x92, 0x63, 0x38, 0x24, 0xc7, 0x70, 0x48, 0x8e, 0xe1, 0xc0, 0x1c, 0xf3, 0xe0, 0x9d, 0xe5, + 0xe1, 0xf5, 0xcd, 0x31, 0x1c, 0x90, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, + 0xc3, 0x01, 0x39, 0x86, 0x03, 0x72, 0x0c, 0x07, 0xe4, 0x18, 0x0e, 0xca, 0x31, 0x1c, 0x98, 0x63, + 0x38, 0x30, 0xc7, 0x70, 0x60, 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x81, 0x39, 0x86, 0xd9, 0x1c, 0xfb, + 0x33, 0x06, 0xd9, 0xc9, 0xb1, 0x3b, 0x8d, 0xbd, 0x1f, 0xea, 0x4d, 0x02, 0x85, 0x2a, 0x64, 0xda, + 0xb8, 0x05, 0x5d, 0xd2, 0x83, 0x44, 0x15, 0x72, 0x8d, 0x97, 0xe7, 0xa9, 0xdc, 0xcd, 0x36, 0x5e, + 0xbe, 0x4a, 0xe5, 0x6e, 0xbe, 0xf1, 0xf2, 0x02, 0x95, 0xbb, 0x19, 0xc7, 0xcb, 0xd7, 0xa8, 0xdc, + 0xcd, 0x39, 0x5e, 0xbe, 0x4e, 0xe5, 0x6e, 0xd6, 0xf1, 0xf2, 0x1b, 0x54, 0xee, 0xe6, 0x1d, 0x2f, + 0xdf, 0xa0, 0x72, 0x37, 0xf3, 0x78, 0xf9, 0x4d, 0x39, 0x2d, 0xe6, 0x9e, 0xab, 0x40, 0xa1, 0x4d, + 0x8b, 0xd9, 0x27, 0x68, 0xac, 0x78, 0x1a, 0x6e, 0xfe, 0x09, 0x1a, 0x79, 0x4f, 0xc3, 0xcd, 0x40, + 0x41, 0x63, 0x55, 0x7b, 0xcf, 0x86, 0xcf, 0x10, 0xe1, 0x4b, 0x09, 0xf0, 0x49, 0x0c, 0x74, 0x29, + 0x01, 0x3a, 0x89, 0x81, 0x2d, 0x25, 0xc0, 0x26, 0x31, 0x90, 0xa5, 0x04, 0xc8, 0x24, 0x06, 0xae, + 0x94, 0x00, 0x97, 0xc4, 0x40, 0x95, 0x12, 0xa0, 0x92, 0x18, 0x98, 0x52, 0x02, 0x4c, 0x12, 0x03, + 0x51, 0x4a, 0x80, 0x48, 0x62, 0xe0, 0x49, 0x09, 0xf0, 0x48, 0x0c, 0x34, 0x73, 0x22, 0x34, 0x12, + 0x0b, 0xcb, 0x9c, 0x08, 0x8b, 0xc4, 0x42, 0x32, 0x27, 0x42, 0x22, 0xb1, 0x70, 0xcc, 0x89, 0x70, + 0x48, 0x2c, 0x14, 0x5f, 0x4a, 0x6e, 0x47, 0xf8, 0xa6, 0xd9, 0x3d, 0xde, 0x33, 0xcf, 0xd5, 0x11, + 0xe6, 0xb8, 0xf6, 0x61, 0x32, 0x2f, 0x2f, 0xd9, 0x0d, 0x2b, 0xdb, 0x71, 0x0a, 0x6f, 0xb0, 0x1c, + 0xd7, 0x58, 0x30, 0x16, 0x86, 0xbf, 0x45, 0xe1, 0x5c, 0xbd, 0x61, 0x8e, 0x6b, 0x33, 0xc2, 0xfd, + 0xdb, 0xf8, 0xca, 0x3b, 0xb6, 0xc7, 0x92, 0xdb, 0xb1, 0x91, 0xf0, 0x8f, 0xda, 0xb1, 0x65, 0xc3, + 0x43, 0x4e, 0x83, 0x9d, 0x0d, 0x0f, 0xf6, 0xc0, 0x5b, 0x27, 0x6a, 0x07, 0x97, 0x0d, 0x0f, 0x2d, + 0x0d, 0xea, 0xc5, 0xf6, 0x5b, 0x84, 0xc1, 0x75, 0xfd, 0xc8, 0x87, 0xc1, 0xa3, 0xf6, 0x5b, 0x39, + 0xae, 0x94, 0x8c, 0xca, 0x60, 0x3c, 0x32, 0x83, 0x47, 0xed, 0xbc, 0x72, 0x5c, 0x79, 0x19, 0x99, + 0xc1, 0x5f, 0x41, 0x3f, 0x44, 0x18, 0xec, 0x85, 0x7f, 0xd4, 0x7e, 0x28, 0x1b, 0x1e, 0x72, 0x5f, + 0x06, 0xe3, 0x11, 0x18, 0x1c, 0xa5, 0x3f, 0xca, 0x86, 0x87, 0xd6, 0x9f, 0xc1, 0xe7, 0xee, 0x66, + 0xde, 0x47, 0x70, 0xb9, 0xd6, 0x6e, 0x56, 0x0f, 0xef, 0xeb, 0xcd, 0xa6, 0xde, 0x24, 0x71, 0xcc, + 0x71, 0x95, 0x20, 0x00, 0xea, 0x27, 0xa7, 0xf3, 0x5e, 0x84, 0xd7, 0x20, 0xe1, 0xc4, 0x34, 0x97, + 0x53, 0x4e, 0x50, 0x48, 0x85, 0xa3, 0xaa, 0xf2, 0x55, 0xd7, 0x6c, 0x25, 0xa7, 0xfc, 0x1d, 0x31, + 0x55, 0x8e, 0x0e, 0x6b, 0x3f, 0xb7, 0x3d, 0x34, 0xce, 0xed, 0xe1, 0x72, 0x24, 0x0f, 0x19, 0xdf, + 0x5e, 0x18, 0xf0, 0x8d, 0xf1, 0xea, 0x18, 0x66, 0x6a, 0xed, 0x66, 0x4d, 0xef, 0x99, 0xd1, 0x5c, + 0x72, 0x74, 0x84, 0x7a, 0x90, 0xe3, 0x68, 0xc9, 0x5a, 0x50, 0x4a, 0xf3, 0x35, 0x42, 0x6b, 0x5b, + 0xcb, 0x1a, 0xdc, 0xb2, 0xd9, 0xa0, 0x65, 0xbd, 0xca, 0x4e, 0x17, 0xcc, 0x06, 0x2d, 0xe8, 0xe5, + 0x10, 0x5d, 0xea, 0x6d, 0xf7, 0xe5, 0x5c, 0x3e, 0xee, 0x99, 0x9d, 0x43, 0x79, 0x0e, 0xa4, 0xad, + 0xa6, 0xbd, 0xc6, 0x54, 0x69, 0xca, 0x72, 0xea, 0xe3, 0xd3, 0xf9, 0xf8, 0xdd, 0xe3, 0x76, 0xb3, + 0x2e, 0x6d, 0x35, 0xe5, 0xdb, 0x30, 0xf6, 0x9d, 0xc6, 0xc1, 0xb1, 0x6e, 0xbf, 0x22, 0xa6, 0x4a, + 0x05, 0xa2, 0xf0, 0x72, 0xe0, 0x1e, 0x91, 0xb5, 0xf0, 0xf2, 0x9e, 0x3d, 0xf5, 0xd2, 0xdd, 0xb6, + 0x61, 0xae, 0xe4, 0x37, 0xea, 0xce, 0x14, 0xda, 0xf7, 0x01, 0x9c, 0x35, 0x2b, 0x8d, 0x5e, 0x4b, + 0xae, 0xb9, 0x33, 0x3b, 0x4b, 0x6f, 0x7c, 0x7c, 0x3a, 0x5f, 0x88, 0x32, 0xeb, 0xf5, 0x66, 0xa3, + 0xd7, 0xba, 0x6e, 0x3e, 0x3c, 0xd2, 0x97, 0x4a, 0x0f, 0x4d, 0xbd, 0xe7, 0xce, 0x7e, 0xe4, 0xbe, + 0xf5, 0xc8, 0x73, 0x29, 0xcc, 0x73, 0x25, 0xb8, 0x67, 0xba, 0xc5, 0x3f, 0x53, 0xee, 0x69, 0x9f, + 0xe7, 0x6d, 0xf7, 0x25, 0x21, 0x44, 0x12, 0x87, 0x45, 0x12, 0x9f, 0x37, 0x92, 0x47, 0x6e, 0x7d, + 0x14, 0x9e, 0x15, 0x0f, 0x7b, 0x56, 0x7c, 0x9e, 0x67, 0xfd, 0xb7, 0x93, 0xad, 0x34, 0x9f, 0xee, + 0x1a, 0xed, 0x8e, 0xf1, 0xb5, 0xdb, 0x0b, 0xba, 0xd0, 0x2e, 0xa0, 0x18, 0x3f, 0x79, 0x34, 0x8f, + 0xb4, 0xf7, 0x25, 0xf7, 0xc9, 0x9d, 0x44, 0x7a, 0xba, 0x27, 0xff, 0xba, 0xf4, 0x54, 0x5f, 0x45, + 0x84, 0x7e, 0x85, 0x60, 0x76, 0xa0, 0x92, 0x3b, 0x61, 0xba, 0xd8, 0x72, 0x6e, 0x8c, 0x5a, 0xce, + 0x89, 0x83, 0xbf, 0x47, 0xf0, 0x9c, 0x50, 0x5e, 0x1d, 0xf7, 0x96, 0x05, 0xf7, 0x9e, 0x1f, 0x5c, + 0xc9, 0x56, 0x64, 0xbc, 0x63, 0xe1, 0x15, 0x0c, 0x98, 0x99, 0x29, 0xee, 0x05, 0x01, 0xf7, 0x39, + 0x6a, 0xe0, 0x13, 0x2e, 0x97, 0x01, 0xc4, 0xed, 0x0e, 0xc4, 0x77, 0xbb, 0xba, 0x2e, 0xab, 0x20, + 0xed, 0x74, 0x89, 0x87, 0xd3, 0x8e, 0xfd, 0x4e, 0xb7, 0xd4, 0x6d, 0x18, 0x7b, 0xad, 0xba, 0xb4, + 0xd3, 0x95, 0xaf, 0x02, 0xde, 0x34, 0x9a, 0xc4, 0xa3, 0x19, 0x47, 0x61, 0xd3, 0x68, 0x12, 0x0d, + 0x4b, 0x26, 0xab, 0x10, 0x7f, 0x43, 0x6f, 0x3c, 0x20, 0x4e, 0x80, 0xa3, 0x63, 0x8d, 0xd4, 0xed, + 0x71, 0xb2, 0xe0, 0xf7, 0x20, 0xe1, 0x4e, 0x2c, 0x2f, 0x58, 0x16, 0x0f, 0x4c, 0xb2, 0x2c, 0xb1, + 0xb0, 0xdc, 0x21, 0x6f, 0x2e, 0x5b, 0x2a, 0x2f, 0xc2, 0x58, 0xbd, 0xbd, 0xdf, 0x32, 0xc9, 0xe2, + 0x83, 0x6a, 0x8e, 0x58, 0xbb, 0x07, 0x13, 0xd4, 0xa3, 0x0b, 0x9e, 0xba, 0xe2, 0x3c, 0x9a, 0x9c, + 0x62, 0xdf, 0x27, 0xee, 0xbe, 0xa5, 0x33, 0x24, 0xa7, 0x21, 0xf1, 0xa6, 0xd9, 0xf5, 0x8a, 0xbe, + 0xdb, 0x91, 0xd2, 0x51, 0xed, 0x5d, 0x04, 0x89, 0x8a, 0xae, 0x1f, 0xd9, 0x01, 0xbf, 0x06, 0xf1, + 0x4a, 0xe7, 0x47, 0x06, 0x71, 0xf0, 0x32, 0x89, 0xa8, 0x25, 0x26, 0x31, 0xb5, 0xc5, 0xf2, 0x35, + 0x36, 0xee, 0xcf, 0xd2, 0xb8, 0x33, 0x7a, 0x76, 0xec, 0x35, 0x2e, 0xf6, 0x04, 0x40, 0x4b, 0x69, + 0x20, 0xfe, 0x37, 0x60, 0x92, 0x59, 0x45, 0xce, 0x10, 0x37, 0x24, 0xd1, 0x90, 0x8d, 0x95, 0xa5, + 0xa1, 0xe9, 0x70, 0x89, 0x5b, 0xd8, 0x32, 0x65, 0x42, 0x1c, 0x60, 0x6a, 0x87, 0x39, 0xcb, 0x87, + 0xd9, 0x5f, 0x95, 0x84, 0x3a, 0xe7, 0xc4, 0xc8, 0x0e, 0xf7, 0x82, 0x43, 0xce, 0x60, 0x10, 0xad, + 0xbf, 0xb5, 0x31, 0xc0, 0xb5, 0xf6, 0x81, 0xf6, 0x2a, 0x80, 0x93, 0xf2, 0x55, 0xe3, 0xf8, 0x50, + 0xc8, 0xba, 0x69, 0x37, 0xc0, 0xbb, 0x2d, 0x7d, 0x57, 0xef, 0xd9, 0x2a, 0x7c, 0x3f, 0x65, 0x15, + 0x18, 0x70, 0x52, 0xcc, 0xb6, 0x7f, 0x29, 0xd4, 0xde, 0xb7, 0x13, 0xb3, 0x54, 0x15, 0x47, 0xf5, + 0x9e, 0x6e, 0x6e, 0x1a, 0x1d, 0xb3, 0xa5, 0x77, 0x05, 0x8b, 0xbc, 0xbc, 0xca, 0x25, 0xec, 0x74, + 0xfe, 0x05, 0x6a, 0x11, 0x68, 0xb4, 0xaa, 0x7d, 0x68, 0x3b, 0x68, 0xb5, 0x02, 0x03, 0x0f, 0x88, + 0x23, 0x3c, 0xa0, 0xbc, 0xce, 0xf5, 0x6f, 0x43, 0xdc, 0x14, 0x3e, 0x2d, 0x6f, 0x72, 0xdf, 0x39, + 0xc3, 0x9d, 0xe5, 0xbf, 0x31, 0xdd, 0x98, 0xba, 0x2e, 0xbf, 0x14, 0xea, 0x72, 0x40, 0x77, 0x3b, + 0x6a, 0x4c, 0x71, 0xd4, 0x98, 0xfe, 0x89, 0x76, 0x1c, 0xd6, 0x70, 0x45, 0x7f, 0xd0, 0x38, 0x3e, + 0x30, 0xe5, 0x97, 0x43, 0xb1, 0x2f, 0xa2, 0x32, 0x75, 0xb5, 0x10, 0x15, 0xfe, 0xa2, 0x54, 0x2a, + 0x51, 0x77, 0x6f, 0x8c, 0x40, 0x81, 0xa2, 0x54, 0x2e, 0xd3, 0xb2, 0x9d, 0x78, 0xef, 0xd1, 0x3c, + 0xfa, 0xe0, 0xd1, 0x7c, 0x4c, 0xfb, 0x1d, 0x82, 0xcb, 0x44, 0x93, 0x21, 0xee, 0x75, 0xc1, 0xf9, + 0x2b, 0x6e, 0xcd, 0xf0, 0x8b, 0xc0, 0x7f, 0x8d, 0xbc, 0x7f, 0x45, 0xa0, 0x0c, 0xf8, 0xea, 0xc6, + 0x3b, 0x17, 0xc9, 0xe5, 0x22, 0xaa, 0xfe, 0xef, 0x63, 0x7e, 0x0f, 0xc6, 0x76, 0xdb, 0x87, 0x7a, + 0xd7, 0x7a, 0x13, 0x58, 0x7f, 0x38, 0x2e, 0xbb, 0x87, 0x39, 0xce, 0x90, 0x2b, 0x73, 0x9c, 0xe3, + 0x64, 0x79, 0x59, 0x81, 0x78, 0xa5, 0x61, 0x36, 0x6c, 0x0f, 0xa6, 0x68, 0x7d, 0x6d, 0x98, 0x0d, + 0x6d, 0x15, 0xa6, 0xb6, 0x1f, 0x56, 0xdf, 0x36, 0x75, 0xa3, 0xd9, 0xb8, 0x7f, 0x20, 0x9e, 0x81, + 0xba, 0xfd, 0xea, 0x4a, 0x76, 0x2c, 0xd1, 0x4c, 0x9e, 0xa0, 0x62, 0xdc, 0xf6, 0xe7, 0x2d, 0x98, + 0xde, 0xb1, 0xdc, 0xb6, 0xed, 0x38, 0x33, 0x67, 0x75, 0x4c, 0x1f, 0x5e, 0x68, 0xca, 0xb0, 0xd7, + 0x94, 0xa5, 0x01, 0x6d, 0xf3, 0xad, 0x13, 0xeb, 0x47, 0x1d, 0x6d, 0x67, 0xe3, 0x89, 0xe9, 0xe4, + 0xe5, 0x6c, 0x3c, 0x01, 0xc9, 0x4b, 0x64, 0xdd, 0xbf, 0x61, 0x48, 0x3a, 0xad, 0x4e, 0x45, 0x7f, + 0xd0, 0x36, 0xda, 0xe6, 0x60, 0xbf, 0x4a, 0x3d, 0x96, 0xbf, 0x09, 0x13, 0x56, 0x48, 0xed, 0x5f, + 0x04, 0xb0, 0xab, 0xa4, 0x45, 0x11, 0xa6, 0x20, 0x03, 0x36, 0x75, 0x3c, 0x1b, 0xf9, 0x16, 0xe0, + 0x5a, 0x6d, 0x9b, 0xbc, 0xdc, 0x0a, 0x43, 0x4d, 0xb7, 0xf5, 0x5e, 0xaf, 0xb1, 0xaf, 0x93, 0x5f, + 0x64, 0xac, 0xb7, 0x5f, 0xb7, 0x26, 0x90, 0x0b, 0x20, 0xd5, 0xb6, 0x49, 0xc3, 0xbb, 0x10, 0x65, + 0x9a, 0xba, 0x54, 0xdb, 0x4e, 0xfd, 0x05, 0xc1, 0x25, 0x6e, 0x54, 0xd6, 0x60, 0xca, 0x19, 0x60, + 0x1e, 0x77, 0xbc, 0xce, 0x8d, 0xb9, 0x3e, 0x4b, 0xe7, 0xf4, 0x39, 0xb5, 0x09, 0x33, 0xc2, 0xb8, + 0xbc, 0x04, 0x32, 0x3b, 0x44, 0x9c, 0x00, 0xbb, 0xa1, 0xf6, 0x91, 0x68, 0xff, 0x07, 0xe0, 0xc5, + 0x55, 0x9e, 0x81, 0xc9, 0xdd, 0x7b, 0x77, 0xaa, 0x3f, 0xa8, 0x55, 0xdf, 0xdc, 0xad, 0x56, 0x92, + 0x48, 0xfb, 0x03, 0x82, 0x49, 0xd2, 0xb6, 0xee, 0x75, 0x8e, 0x74, 0xb9, 0x04, 0x68, 0x93, 0xf0, + 0xe1, 0xe9, 0xfc, 0x46, 0x9b, 0xf2, 0x32, 0xa0, 0x52, 0x74, 0xa8, 0x51, 0x49, 0xce, 0x03, 0x2a, + 0x13, 0x80, 0xa3, 0x21, 0x83, 0xca, 0xda, 0xbf, 0x30, 0x3c, 0xcb, 0xb6, 0xd1, 0x6e, 0x3d, 0xb9, + 0xca, 0x7f, 0x37, 0x15, 0x27, 0x56, 0xf2, 0xab, 0x85, 0x25, 0xeb, 0x1f, 0x4a, 0x49, 0x8d, 0xff, + 0x84, 0x2a, 0x02, 0x55, 0x59, 0x09, 0xba, 0x27, 0x52, 0x8c, 0x33, 0x33, 0x0c, 0xdc, 0x13, 0xe1, + 0xa4, 0x03, 0xf7, 0x44, 0x38, 0xe9, 0xc0, 0x3d, 0x11, 0x4e, 0x3a, 0x70, 0x16, 0xc0, 0x49, 0x07, + 0xee, 0x89, 0x70, 0xd2, 0x81, 0x7b, 0x22, 0x9c, 0x74, 0xf0, 0x9e, 0x08, 0x11, 0x07, 0xde, 0x13, + 0xe1, 0xe5, 0x83, 0xf7, 0x44, 0x78, 0xf9, 0xe0, 0x3d, 0x91, 0x62, 0xdc, 0xec, 0x1e, 0xeb, 0xc1, + 0xa7, 0x0e, 0xbc, 0xfd, 0xb0, 0x8f, 0x40, 0xaf, 0x02, 0xef, 0xc0, 0x8c, 0xb3, 0x21, 0x51, 0xee, + 0x18, 0x66, 0xa3, 0x6d, 0xe8, 0x5d, 0xf9, 0x1b, 0x30, 0xe5, 0x0c, 0x39, 0x9f, 0x39, 0x7e, 0x9f, + 0x81, 0x8e, 0x9c, 0xd4, 0x5b, 0x4e, 0x5b, 0xfb, 0x32, 0x0e, 0xb3, 0xce, 0x40, 0xad, 0x71, 0xa8, + 0x73, 0xb7, 0x8c, 0x16, 0x85, 0x33, 0xa5, 0x69, 0xcb, 0xbc, 0x7f, 0x3a, 0xef, 0x8c, 0x6e, 0x52, + 0x36, 0x2d, 0x0a, 0xa7, 0x4b, 0xbc, 0x9e, 0xf7, 0x02, 0x5a, 0x14, 0x6e, 0x1e, 0xf1, 0x7a, 0xf4, + 0x7d, 0x43, 0xf5, 0xdc, 0x3b, 0x48, 0xbc, 0x5e, 0x85, 0xb2, 0x6c, 0x51, 0xb8, 0x8d, 0xc4, 0xeb, + 0x55, 0x29, 0xdf, 0x16, 0x85, 0xb3, 0x27, 0x5e, 0xef, 0x16, 0x65, 0xde, 0xa2, 0x70, 0x0a, 0xc5, + 0xeb, 0x7d, 0x8b, 0x72, 0x70, 0x51, 0xb8, 0xab, 0xc4, 0xeb, 0xbd, 0x4e, 0xd9, 0xb8, 0x28, 0xdc, + 0x5a, 0xe2, 0xf5, 0xb6, 0x28, 0x2f, 0x33, 0xe2, 0xfd, 0x25, 0x5e, 0xf1, 0xb6, 0xc7, 0xd0, 0x8c, + 0x78, 0x93, 0x89, 0xd7, 0xfc, 0xb6, 0xc7, 0xd5, 0x8c, 0x78, 0xa7, 0x89, 0xd7, 0x7c, 0xc3, 0x63, + 0x6d, 0x46, 0x3c, 0x2b, 0xe3, 0x35, 0xb7, 0x3d, 0xfe, 0x66, 0xc4, 0x53, 0x33, 0x5e, 0xb3, 0xe6, + 0x31, 0x39, 0x23, 0x9e, 0x9f, 0xf1, 0x9a, 0x3b, 0xde, 0x26, 0xfa, 0x47, 0x02, 0xfd, 0x98, 0x5b, + 0x50, 0x9a, 0x40, 0x3f, 0xf0, 0xa1, 0x9e, 0x50, 0xc8, 0x18, 0x1d, 0x8f, 0x76, 0x9a, 0x40, 0x3b, + 0xf0, 0xa1, 0x9c, 0x26, 0x50, 0x0e, 0x7c, 0xe8, 0xa6, 0x09, 0x74, 0x03, 0x1f, 0xaa, 0x69, 0x02, + 0xd5, 0xc0, 0x87, 0x66, 0x9a, 0x40, 0x33, 0xf0, 0xa1, 0x98, 0x26, 0x50, 0x0c, 0x7c, 0xe8, 0xa5, + 0x09, 0xf4, 0x02, 0x1f, 0x6a, 0x2d, 0x88, 0xd4, 0x02, 0x3f, 0x5a, 0x2d, 0x88, 0xb4, 0x02, 0x3f, + 0x4a, 0xbd, 0x28, 0x52, 0x6a, 0xa2, 0x7f, 0x3a, 0x3f, 0x66, 0x0d, 0x31, 0x6c, 0x5a, 0x10, 0xd9, + 0x04, 0x7e, 0x4c, 0x5a, 0x10, 0x99, 0x04, 0x7e, 0x2c, 0x5a, 0x10, 0x59, 0x04, 0x7e, 0x0c, 0x7a, + 0x2c, 0x32, 0xc8, 0xbb, 0xe3, 0xa3, 0x09, 0x47, 0x8a, 0x61, 0x0c, 0xc2, 0x11, 0x18, 0x84, 0x23, + 0x30, 0x08, 0x47, 0x60, 0x10, 0x8e, 0xc0, 0x20, 0x1c, 0x81, 0x41, 0x38, 0x02, 0x83, 0x70, 0x04, + 0x06, 0xe1, 0x28, 0x0c, 0xc2, 0x91, 0x18, 0x84, 0x83, 0x18, 0xb4, 0x20, 0xde, 0x78, 0x00, 0xbf, + 0x82, 0xb4, 0x20, 0x1e, 0x7d, 0x86, 0x53, 0x08, 0x47, 0xa2, 0x10, 0x0e, 0xa2, 0xd0, 0x47, 0x18, + 0x9e, 0xe5, 0x28, 0x44, 0xce, 0x87, 0x2e, 0xaa, 0x02, 0xad, 0x47, 0xb8, 0x60, 0xe1, 0xc7, 0xa9, + 0xf5, 0x08, 0x87, 0xd4, 0xc3, 0x78, 0x36, 0x58, 0x85, 0xaa, 0x11, 0xaa, 0xd0, 0x2d, 0xca, 0xa1, + 0xf5, 0x08, 0x17, 0x2f, 0x06, 0xb9, 0xb7, 0x31, 0xac, 0x08, 0xbc, 0x1e, 0xa9, 0x08, 0x6c, 0x45, + 0x2a, 0x02, 0xb7, 0x3d, 0x04, 0x7f, 0x2a, 0xc1, 0x73, 0x1e, 0x82, 0xce, 0x5f, 0xbb, 0x0f, 0x8f, + 0xac, 0x12, 0xe0, 0x1d, 0x51, 0xc9, 0xee, 0xb1, 0x0d, 0x03, 0xa3, 0xb4, 0xd5, 0x94, 0xef, 0xf0, + 0x87, 0x55, 0xc5, 0x51, 0x0f, 0x70, 0x18, 0xc4, 0xc9, 0x66, 0xe8, 0x02, 0xe0, 0xad, 0x66, 0xcf, + 0xae, 0x16, 0x7e, 0xcb, 0x96, 0xeb, 0x96, 0x58, 0xae, 0xc3, 0xb8, 0xad, 0xde, 0xb3, 0xe1, 0x3d, + 0xcf, 0xc2, 0x95, 0x3a, 0x99, 0x49, 0x7b, 0x8c, 0x20, 0xcd, 0x51, 0xf9, 0x62, 0x8e, 0x0c, 0x5e, + 0x89, 0x74, 0x64, 0xc0, 0x25, 0x88, 0x77, 0x7c, 0xf0, 0xff, 0x83, 0x27, 0xd5, 0x6c, 0x96, 0x88, + 0x47, 0x09, 0x3f, 0x81, 0x69, 0xef, 0x09, 0xec, 0x6f, 0xb6, 0xb5, 0xf0, 0xdd, 0x4c, 0xbf, 0xd4, + 0x5c, 0x13, 0x76, 0xd1, 0x86, 0x9a, 0xd1, 0x6c, 0xd5, 0x8a, 0x30, 0x53, 0xeb, 0xd8, 0x3b, 0x00, + 0xbd, 0x76, 0xc7, 0xe8, 0x6d, 0x37, 0x8e, 0xc2, 0x36, 0x23, 0x12, 0x56, 0x6b, 0x7e, 0xf2, 0xeb, + 0xf9, 0x98, 0xf6, 0x32, 0x4c, 0xdd, 0x35, 0xba, 0xfa, 0x5e, 0x67, 0xdf, 0x68, 0xff, 0x58, 0x6f, + 0x0a, 0x86, 0x13, 0xae, 0x61, 0x31, 0xfe, 0xc4, 0xd2, 0xfe, 0x05, 0x82, 0x2b, 0xac, 0xfa, 0x77, + 0xdb, 0x66, 0x6b, 0xcb, 0xb0, 0x7a, 0xfa, 0x57, 0x21, 0xa1, 0x13, 0xe0, 0xec, 0x77, 0xd7, 0xa4, + 0xfb, 0x1d, 0xe9, 0xab, 0xbe, 0x64, 0xff, 0x5b, 0xa7, 0x26, 0xc2, 0x2e, 0x88, 0xbb, 0x6c, 0x3e, + 0x75, 0x0d, 0xc6, 0x9c, 0xf9, 0x79, 0xbf, 0x2e, 0x09, 0x7e, 0xfd, 0xd6, 0xc7, 0x2f, 0x9b, 0x47, + 0xf2, 0x6d, 0xce, 0x2f, 0xe6, 0x73, 0xd5, 0x57, 0x7d, 0xc9, 0x25, 0x5f, 0x29, 0x61, 0xf5, 0x7f, + 0x36, 0xa3, 0xc2, 0x9d, 0xcc, 0x40, 0xa2, 0x2a, 0xea, 0xf8, 0xfb, 0x59, 0x81, 0x78, 0xad, 0xd3, + 0xd4, 0xe5, 0xe7, 0x60, 0xec, 0x8d, 0xc6, 0x7d, 0xfd, 0x80, 0x04, 0xd9, 0xf9, 0x21, 0x2f, 0x42, + 0xa2, 0xdc, 0x6a, 0x1f, 0x34, 0xbb, 0xba, 0x41, 0xce, 0xec, 0xc9, 0x16, 0xba, 0x65, 0x53, 0xa7, + 0x32, 0xad, 0x0c, 0x97, 0x6b, 0x1d, 0xa3, 0xf4, 0xd0, 0x64, 0xeb, 0xc6, 0x92, 0x90, 0x22, 0xe4, + 0xcc, 0xe7, 0x8e, 0x95, 0x8d, 0x96, 0x42, 0x69, 0xec, 0xe3, 0xd3, 0x79, 0xb4, 0x4b, 0xf7, 0xcf, + 0xb7, 0xe1, 0x79, 0x92, 0x3e, 0x03, 0x53, 0xe5, 0xc3, 0xa6, 0x9a, 0x20, 0xe7, 0xd4, 0xcc, 0x74, + 0x5b, 0xd6, 0x74, 0x86, 0xef, 0x74, 0x4f, 0xe7, 0x99, 0xd5, 0x14, 0x0d, 0xf5, 0x0c, 0x8f, 0xe4, + 0x99, 0xef, 0x74, 0x4b, 0x61, 0xd3, 0x09, 0x9e, 0xbd, 0x08, 0x13, 0x54, 0xc6, 0xb0, 0x81, 0xcd, + 0x94, 0x7c, 0x56, 0x83, 0x49, 0x26, 0x61, 0xe5, 0x31, 0x40, 0x9b, 0xc9, 0x98, 0xf5, 0x5f, 0x29, + 0x89, 0xac, 0xff, 0xca, 0x49, 0x29, 0x7b, 0x0d, 0x66, 0x84, 0xfd, 0x4b, 0x4b, 0x52, 0x49, 0x82, + 0xf5, 0x5f, 0x35, 0x39, 0x99, 0x8a, 0xbf, 0xf7, 0x1b, 0x35, 0x96, 0x7d, 0x05, 0xe4, 0xc1, 0x9d, + 0x4e, 0x79, 0x1c, 0xa4, 0x4d, 0x6b, 0xca, 0xe7, 0x41, 0x2a, 0x95, 0x92, 0x28, 0x35, 0xf3, 0xb3, + 0x5f, 0xa6, 0x27, 0x4b, 0xba, 0x69, 0xea, 0xdd, 0x7b, 0xba, 0x59, 0x2a, 0x11, 0xe3, 0xd7, 0xe0, + 0x8a, 0xef, 0x4e, 0xa9, 0x65, 0x5f, 0x2e, 0x3b, 0xf6, 0x95, 0xca, 0x80, 0x7d, 0xa5, 0x62, 0xdb, + 0xa3, 0xa2, 0x7b, 0xe2, 0xbc, 0x29, 0xfb, 0xec, 0x32, 0x2a, 0x4d, 0xe6, 0x84, 0x7b, 0xb3, 0xf8, + 0x1a, 0xd1, 0x2d, 0xf9, 0xea, 0xea, 0x21, 0x27, 0xd6, 0xa5, 0x62, 0x99, 0xd8, 0x97, 0x7d, 0xed, + 0x1f, 0x08, 0xc7, 0xaa, 0xfc, 0x1b, 0x82, 0x4c, 0x52, 0xa6, 0x0e, 0x57, 0x7c, 0x27, 0x69, 0x31, + 0x97, 0xdd, 0x2b, 0xd4, 0xe1, 0xaa, 0xaf, 0x6e, 0x3b, 0xe4, 0xd2, 0x57, 0xb5, 0xb8, 0x4c, 0x5e, + 0xf2, 0x9b, 0x2b, 0xf2, 0x15, 0x37, 0x47, 0xb9, 0x0a, 0x4c, 0x02, 0xe4, 0x6a, 0x15, 0xcb, 0xc4, + 0xa0, 0x14, 0x68, 0x10, 0x1c, 0x25, 0xd7, 0xb2, 0xf8, 0x3a, 0x99, 0xa4, 0x1c, 0x38, 0x49, 0x48, + 0xa8, 0x5c, 0xf3, 0xd2, 0xee, 0xc9, 0x99, 0x1a, 0x7b, 0x72, 0xa6, 0xc6, 0xfe, 0x71, 0xa6, 0xc6, + 0x3e, 0x39, 0x53, 0xd1, 0x67, 0x67, 0x2a, 0xfa, 0xfc, 0x4c, 0x45, 0x5f, 0x9c, 0xa9, 0xe8, 0x9d, + 0xbe, 0x8a, 0x3e, 0xe8, 0xab, 0xe8, 0xc3, 0xbe, 0x8a, 0xfe, 0xd8, 0x57, 0xd1, 0xe3, 0xbe, 0x8a, + 0x4e, 0xfa, 0x6a, 0xec, 0x49, 0x5f, 0x45, 0x9f, 0xf4, 0x55, 0xf4, 0x59, 0x5f, 0x8d, 0x7d, 0xde, + 0x57, 0xd1, 0x17, 0x7d, 0x35, 0xf6, 0xce, 0xa7, 0x6a, 0xec, 0xd1, 0xa7, 0x6a, 0xec, 0x83, 0x4f, + 0x55, 0xf4, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xf6, 0x66, 0xae, 0x4e, 0x36, 0x00, 0x00, +} + func (this *NidOptNative) Compare(that interface{}) int { if that == nil { if this == nil { @@ -8323,428 +8542,430 @@ func (this *ProtoType) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func ThetestDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 6729 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x7b, 0x70, 0x24, 0x57, - 0x79, 0xaf, 0x7a, 0x7a, 0xa4, 0x1d, 0x7d, 0x7a, 0xb5, 0x5a, 0xbb, 0xda, 0xb1, 0xbc, 0x96, 0xb4, - 0xe3, 0xf5, 0x5a, 0x96, 0x6d, 0xad, 0x56, 0xab, 0x7d, 0xcd, 0x62, 0xfb, 0xce, 0x6b, 0xd7, 0x5a, - 0xa4, 0x91, 0x68, 0x49, 0xd8, 0x0b, 0xf7, 0xd6, 0x54, 0xef, 0xcc, 0x91, 0x34, 0xf6, 0x4c, 0xf7, - 0x30, 0xdd, 0xb2, 0x2d, 0xd7, 0xad, 0x5b, 0xbe, 0x70, 0x2f, 0x81, 0xa4, 0xf2, 0x24, 0xa9, 0x00, - 0x01, 0x63, 0xa0, 0x00, 0x43, 0x5e, 0x10, 0x08, 0x01, 0x92, 0x0a, 0xfe, 0x87, 0x64, 0xf3, 0x0f, - 0x65, 0xf2, 0x57, 0x8a, 0x4a, 0xb9, 0xf0, 0x9a, 0xaa, 0x90, 0xc4, 0x09, 0x84, 0xb8, 0x2a, 0x54, - 0x99, 0x3f, 0x52, 0xe7, 0xd5, 0xdd, 0xe7, 0x4c, 0x8f, 0xba, 0xe5, 0xb5, 0x0d, 0xff, 0xec, 0xce, - 0x9c, 0xef, 0xfb, 0x7d, 0xfd, 0x9d, 0xef, 0x75, 0xbe, 0x3e, 0xe7, 0x68, 0xe0, 0xc7, 0x17, 0x61, - 0x7a, 0xdb, 0xb6, 0xb7, 0x1b, 0xe8, 0x54, 0xab, 0x6d, 0xbb, 0xf6, 0xf5, 0xdd, 0xad, 0x53, 0x35, - 0xe4, 0x54, 0xdb, 0xf5, 0x96, 0x6b, 0xb7, 0xe7, 0xc8, 0x98, 0x3e, 0x42, 0x39, 0xe6, 0x38, 0x47, - 0x66, 0x05, 0x46, 0x2f, 0xd7, 0x1b, 0xa8, 0xe8, 0x31, 0xae, 0x23, 0x57, 0xbf, 0x00, 0xc9, 0xad, - 0x7a, 0x03, 0xa5, 0x95, 0x69, 0x75, 0x66, 0x60, 0xe1, 0xc4, 0x9c, 0x04, 0x9a, 0x13, 0x11, 0x6b, - 0x78, 0xd8, 0x20, 0x88, 0xcc, 0x0f, 0x93, 0x30, 0x16, 0x42, 0xd5, 0x75, 0x48, 0x5a, 0x66, 0x13, - 0x4b, 0x54, 0x66, 0xfa, 0x0d, 0xf2, 0x59, 0x4f, 0xc3, 0xa1, 0x96, 0x59, 0x7d, 0xdc, 0xdc, 0x46, - 0xe9, 0x04, 0x19, 0xe6, 0x5f, 0xf5, 0x49, 0x80, 0x1a, 0x6a, 0x21, 0xab, 0x86, 0xac, 0xea, 0x5e, - 0x5a, 0x9d, 0x56, 0x67, 0xfa, 0x8d, 0xc0, 0x88, 0x7e, 0x2f, 0x8c, 0xb6, 0x76, 0xaf, 0x37, 0xea, - 0xd5, 0x4a, 0x80, 0x0d, 0xa6, 0xd5, 0x99, 0x5e, 0x43, 0xa3, 0x84, 0xa2, 0xcf, 0x7c, 0x37, 0x8c, - 0x3c, 0x89, 0xcc, 0xc7, 0x83, 0xac, 0x03, 0x84, 0x75, 0x18, 0x0f, 0x07, 0x18, 0x0b, 0x30, 0xd8, - 0x44, 0x8e, 0x63, 0x6e, 0xa3, 0x8a, 0xbb, 0xd7, 0x42, 0xe9, 0x24, 0x99, 0xfd, 0x74, 0xc7, 0xec, - 0xe5, 0x99, 0x0f, 0x30, 0xd4, 0xc6, 0x5e, 0x0b, 0xe9, 0x39, 0xe8, 0x47, 0xd6, 0x6e, 0x93, 0x4a, - 0xe8, 0xed, 0x62, 0xbf, 0x92, 0xb5, 0xdb, 0x94, 0xa5, 0xa4, 0x30, 0x8c, 0x89, 0x38, 0xe4, 0xa0, - 0xf6, 0x13, 0xf5, 0x2a, 0x4a, 0xf7, 0x11, 0x01, 0x77, 0x77, 0x08, 0x58, 0xa7, 0x74, 0x59, 0x06, - 0xc7, 0xe9, 0x05, 0xe8, 0x47, 0x4f, 0xb9, 0xc8, 0x72, 0xea, 0xb6, 0x95, 0x3e, 0x44, 0x84, 0xdc, - 0x15, 0xe2, 0x45, 0xd4, 0xa8, 0xc9, 0x22, 0x7c, 0x9c, 0x7e, 0x0e, 0x0e, 0xd9, 0x2d, 0xb7, 0x6e, - 0x5b, 0x4e, 0x3a, 0x35, 0xad, 0xcc, 0x0c, 0x2c, 0x1c, 0x0b, 0x0d, 0x84, 0x55, 0xca, 0x63, 0x70, - 0x66, 0x7d, 0x09, 0x34, 0xc7, 0xde, 0x6d, 0x57, 0x51, 0xa5, 0x6a, 0xd7, 0x50, 0xa5, 0x6e, 0x6d, - 0xd9, 0xe9, 0x7e, 0x22, 0x60, 0xaa, 0x73, 0x22, 0x84, 0xb1, 0x60, 0xd7, 0xd0, 0x92, 0xb5, 0x65, - 0x1b, 0xc3, 0x8e, 0xf0, 0x5d, 0x1f, 0x87, 0x3e, 0x67, 0xcf, 0x72, 0xcd, 0xa7, 0xd2, 0x83, 0x24, - 0x42, 0xd8, 0xb7, 0xcc, 0x37, 0xfb, 0x60, 0x24, 0x4e, 0x88, 0x5d, 0x82, 0xde, 0x2d, 0x3c, 0xcb, - 0x74, 0xe2, 0x20, 0x36, 0xa0, 0x18, 0xd1, 0x88, 0x7d, 0x6f, 0xd0, 0x88, 0x39, 0x18, 0xb0, 0x90, - 0xe3, 0xa2, 0x1a, 0x8d, 0x08, 0x35, 0x66, 0x4c, 0x01, 0x05, 0x75, 0x86, 0x54, 0xf2, 0x0d, 0x85, - 0xd4, 0xa3, 0x30, 0xe2, 0xa9, 0x54, 0x69, 0x9b, 0xd6, 0x36, 0x8f, 0xcd, 0x53, 0x51, 0x9a, 0xcc, - 0x95, 0x38, 0xce, 0xc0, 0x30, 0x63, 0x18, 0x09, 0xdf, 0xf5, 0x22, 0x80, 0x6d, 0x21, 0x7b, 0xab, - 0x52, 0x43, 0xd5, 0x46, 0x3a, 0xd5, 0xc5, 0x4a, 0xab, 0x98, 0xa5, 0xc3, 0x4a, 0x36, 0x1d, 0xad, - 0x36, 0xf4, 0x8b, 0x7e, 0xa8, 0x1d, 0xea, 0x12, 0x29, 0x2b, 0x34, 0xc9, 0x3a, 0xa2, 0x6d, 0x13, - 0x86, 0xdb, 0x08, 0xc7, 0x3d, 0xaa, 0xb1, 0x99, 0xf5, 0x13, 0x25, 0xe6, 0x22, 0x67, 0x66, 0x30, - 0x18, 0x9d, 0xd8, 0x50, 0x3b, 0xf8, 0x55, 0xbf, 0x13, 0xbc, 0x81, 0x0a, 0x09, 0x2b, 0x20, 0x55, - 0x68, 0x90, 0x0f, 0x96, 0xcd, 0x26, 0x9a, 0x78, 0x1a, 0x86, 0x45, 0xf3, 0xe8, 0x87, 0xa1, 0xd7, - 0x71, 0xcd, 0xb6, 0x4b, 0xa2, 0xb0, 0xd7, 0xa0, 0x5f, 0x74, 0x0d, 0x54, 0x64, 0xd5, 0x48, 0x95, - 0xeb, 0x35, 0xf0, 0x47, 0xfd, 0x7f, 0xf8, 0x13, 0x56, 0xc9, 0x84, 0x4f, 0x76, 0x7a, 0x54, 0x90, - 0x2c, 0xcf, 0x7b, 0xe2, 0x3c, 0x0c, 0x09, 0x13, 0x88, 0xfb, 0xe8, 0xcc, 0xff, 0x86, 0x23, 0xa1, - 0xa2, 0xf5, 0x47, 0xe1, 0xf0, 0xae, 0x55, 0xb7, 0x5c, 0xd4, 0x6e, 0xb5, 0x11, 0x8e, 0x58, 0xfa, - 0xa8, 0xf4, 0x3f, 0x1d, 0xea, 0x12, 0x73, 0x9b, 0x41, 0x6e, 0x2a, 0xc5, 0x18, 0xdb, 0xed, 0x1c, - 0x9c, 0xed, 0x4f, 0xfd, 0xe8, 0x90, 0xf6, 0xcc, 0x33, 0xcf, 0x3c, 0x93, 0xc8, 0x7c, 0xb4, 0x0f, - 0x0e, 0x87, 0xe5, 0x4c, 0x68, 0xfa, 0x8e, 0x43, 0x9f, 0xb5, 0xdb, 0xbc, 0x8e, 0xda, 0xc4, 0x48, - 0xbd, 0x06, 0xfb, 0xa6, 0xe7, 0xa0, 0xb7, 0x61, 0x5e, 0x47, 0x8d, 0x74, 0x72, 0x5a, 0x99, 0x19, - 0x5e, 0xb8, 0x37, 0x56, 0x56, 0xce, 0x2d, 0x63, 0x88, 0x41, 0x91, 0xfa, 0x83, 0x90, 0x64, 0x25, - 0x1a, 0x4b, 0x98, 0x8d, 0x27, 0x01, 0xe7, 0x92, 0x41, 0x70, 0xfa, 0xed, 0xd0, 0x8f, 0xff, 0xa7, - 0xb1, 0xd1, 0x47, 0x74, 0x4e, 0xe1, 0x01, 0x1c, 0x17, 0xfa, 0x04, 0xa4, 0x48, 0x9a, 0xd4, 0x10, - 0x5f, 0xda, 0xbc, 0xef, 0x38, 0xb0, 0x6a, 0x68, 0xcb, 0xdc, 0x6d, 0xb8, 0x95, 0x27, 0xcc, 0xc6, - 0x2e, 0x22, 0x01, 0xdf, 0x6f, 0x0c, 0xb2, 0xc1, 0x77, 0xe3, 0x31, 0x7d, 0x0a, 0x06, 0x68, 0x56, - 0xd5, 0xad, 0x1a, 0x7a, 0x8a, 0x54, 0xcf, 0x5e, 0x83, 0x26, 0xda, 0x12, 0x1e, 0xc1, 0x8f, 0x7f, - 0xcc, 0xb1, 0x2d, 0x1e, 0x9a, 0xe4, 0x11, 0x78, 0x80, 0x3c, 0xfe, 0xbc, 0x5c, 0xb8, 0xef, 0x08, - 0x9f, 0x9e, 0x1c, 0x53, 0x99, 0xaf, 0x27, 0x20, 0x49, 0xea, 0xc5, 0x08, 0x0c, 0x6c, 0x5c, 0x5b, - 0x2b, 0x55, 0x8a, 0xab, 0x9b, 0xf9, 0xe5, 0x92, 0xa6, 0xe8, 0xc3, 0x00, 0x64, 0xe0, 0xf2, 0xf2, - 0x6a, 0x6e, 0x43, 0x4b, 0x78, 0xdf, 0x97, 0xca, 0x1b, 0xe7, 0x16, 0x35, 0xd5, 0x03, 0x6c, 0xd2, - 0x81, 0x64, 0x90, 0xe1, 0xcc, 0x82, 0xd6, 0xab, 0x6b, 0x30, 0x48, 0x05, 0x2c, 0x3d, 0x5a, 0x2a, - 0x9e, 0x5b, 0xd4, 0xfa, 0xc4, 0x91, 0x33, 0x0b, 0xda, 0x21, 0x7d, 0x08, 0xfa, 0xc9, 0x48, 0x7e, - 0x75, 0x75, 0x59, 0x4b, 0x79, 0x32, 0xd7, 0x37, 0x8c, 0xa5, 0xf2, 0x15, 0xad, 0xdf, 0x93, 0x79, - 0xc5, 0x58, 0xdd, 0x5c, 0xd3, 0xc0, 0x93, 0xb0, 0x52, 0x5a, 0x5f, 0xcf, 0x5d, 0x29, 0x69, 0x03, - 0x1e, 0x47, 0xfe, 0xda, 0x46, 0x69, 0x5d, 0x1b, 0x14, 0xd4, 0x3a, 0xb3, 0xa0, 0x0d, 0x79, 0x8f, - 0x28, 0x95, 0x37, 0x57, 0xb4, 0x61, 0x7d, 0x14, 0x86, 0xe8, 0x23, 0xb8, 0x12, 0x23, 0xd2, 0xd0, - 0xb9, 0x45, 0x4d, 0xf3, 0x15, 0xa1, 0x52, 0x46, 0x85, 0x81, 0x73, 0x8b, 0x9a, 0x9e, 0x29, 0x40, - 0x2f, 0x89, 0x2e, 0x5d, 0x87, 0xe1, 0xe5, 0x5c, 0xbe, 0xb4, 0x5c, 0x59, 0x5d, 0xdb, 0x58, 0x5a, - 0x2d, 0xe7, 0x96, 0x35, 0xc5, 0x1f, 0x33, 0x4a, 0xef, 0xda, 0x5c, 0x32, 0x4a, 0x45, 0x2d, 0x11, - 0x1c, 0x5b, 0x2b, 0xe5, 0x36, 0x4a, 0x45, 0x4d, 0xcd, 0x54, 0xe1, 0x70, 0x58, 0x9d, 0x0c, 0xcd, - 0x8c, 0x80, 0x8b, 0x13, 0x5d, 0x5c, 0x4c, 0x64, 0x75, 0xb8, 0xf8, 0x95, 0x04, 0x8c, 0x85, 0xac, - 0x15, 0xa1, 0x0f, 0x79, 0x08, 0x7a, 0x69, 0x88, 0xd2, 0xd5, 0xf3, 0x9e, 0xd0, 0x45, 0x87, 0x04, - 0x6c, 0xc7, 0x0a, 0x4a, 0x70, 0xc1, 0x0e, 0x42, 0xed, 0xd2, 0x41, 0x60, 0x11, 0x1d, 0x35, 0xfd, - 0x7f, 0x75, 0xd4, 0x74, 0xba, 0xec, 0x9d, 0x8b, 0xb3, 0xec, 0x91, 0xb1, 0x83, 0xd5, 0xf6, 0xde, - 0x90, 0xda, 0x7e, 0x09, 0x46, 0x3b, 0x04, 0xc5, 0xae, 0xb1, 0x1f, 0x50, 0x20, 0xdd, 0xcd, 0x38, - 0x11, 0x95, 0x2e, 0x21, 0x54, 0xba, 0x4b, 0xb2, 0x05, 0x8f, 0x77, 0x77, 0x42, 0x87, 0xaf, 0xbf, - 0xa0, 0xc0, 0x78, 0x78, 0xa7, 0x18, 0xaa, 0xc3, 0x83, 0xd0, 0xd7, 0x44, 0xee, 0x8e, 0xcd, 0xbb, - 0xa5, 0x93, 0x21, 0x6b, 0x30, 0x26, 0xcb, 0xce, 0x66, 0xa8, 0xe0, 0x22, 0xae, 0x76, 0x6b, 0xf7, - 0xa8, 0x36, 0x1d, 0x9a, 0x7e, 0x38, 0x01, 0x47, 0x42, 0x85, 0x87, 0x2a, 0x7a, 0x07, 0x40, 0xdd, - 0x6a, 0xed, 0xba, 0xb4, 0x23, 0xa2, 0x05, 0xb6, 0x9f, 0x8c, 0x90, 0xe2, 0x85, 0x8b, 0xe7, 0xae, - 0xeb, 0xd1, 0x55, 0x42, 0x07, 0x3a, 0x44, 0x18, 0x2e, 0xf8, 0x8a, 0x26, 0x89, 0xa2, 0x93, 0x5d, - 0x66, 0xda, 0x11, 0x98, 0xf3, 0xa0, 0x55, 0x1b, 0x75, 0x64, 0xb9, 0x15, 0xc7, 0x6d, 0x23, 0xb3, - 0x59, 0xb7, 0xb6, 0xc9, 0x0a, 0x92, 0xca, 0xf6, 0x6e, 0x99, 0x0d, 0x07, 0x19, 0x23, 0x94, 0xbc, - 0xce, 0xa9, 0x18, 0x41, 0x02, 0xa8, 0x1d, 0x40, 0xf4, 0x09, 0x08, 0x4a, 0xf6, 0x10, 0x99, 0xaf, - 0xa6, 0x60, 0x20, 0xd0, 0x57, 0xeb, 0xc7, 0x61, 0xf0, 0x31, 0xf3, 0x09, 0xb3, 0xc2, 0xdf, 0x95, - 0xa8, 0x25, 0x06, 0xf0, 0xd8, 0x1a, 0x7b, 0x5f, 0x9a, 0x87, 0xc3, 0x84, 0xc5, 0xde, 0x75, 0x51, - 0xbb, 0x52, 0x6d, 0x98, 0x8e, 0x43, 0x8c, 0x96, 0x22, 0xac, 0x3a, 0xa6, 0xad, 0x62, 0x52, 0x81, - 0x53, 0xf4, 0xb3, 0x30, 0x46, 0x10, 0xcd, 0xdd, 0x86, 0x5b, 0x6f, 0x35, 0x50, 0x05, 0xbf, 0xbd, - 0x39, 0x64, 0x25, 0xf1, 0x34, 0x1b, 0xc5, 0x1c, 0x2b, 0x8c, 0x01, 0x6b, 0xe4, 0xe8, 0x45, 0xb8, - 0x83, 0xc0, 0xb6, 0x91, 0x85, 0xda, 0xa6, 0x8b, 0x2a, 0xe8, 0x7d, 0xbb, 0x66, 0xc3, 0xa9, 0x98, - 0x56, 0xad, 0xb2, 0x63, 0x3a, 0x3b, 0xe9, 0xc3, 0x58, 0x40, 0x3e, 0x91, 0x56, 0x8c, 0xdb, 0x30, - 0xe3, 0x15, 0xc6, 0x57, 0x22, 0x6c, 0x39, 0xab, 0xf6, 0xb0, 0xe9, 0xec, 0xe8, 0x59, 0x18, 0x27, - 0x52, 0x1c, 0xb7, 0x5d, 0xb7, 0xb6, 0x2b, 0xd5, 0x1d, 0x54, 0x7d, 0xbc, 0xb2, 0xeb, 0x6e, 0x5d, - 0x48, 0xdf, 0x1e, 0x7c, 0x3e, 0xd1, 0x70, 0x9d, 0xf0, 0x14, 0x30, 0xcb, 0xa6, 0xbb, 0x75, 0x41, - 0x5f, 0x87, 0x41, 0xec, 0x8c, 0x66, 0xfd, 0x69, 0x54, 0xd9, 0xb2, 0xdb, 0x64, 0x69, 0x1c, 0x0e, - 0x29, 0x4d, 0x01, 0x0b, 0xce, 0xad, 0x32, 0xc0, 0x8a, 0x5d, 0x43, 0xd9, 0xde, 0xf5, 0xb5, 0x52, - 0xa9, 0x68, 0x0c, 0x70, 0x29, 0x97, 0xed, 0x36, 0x0e, 0xa8, 0x6d, 0xdb, 0x33, 0xf0, 0x00, 0x0d, - 0xa8, 0x6d, 0x9b, 0x9b, 0xf7, 0x2c, 0x8c, 0x55, 0xab, 0x74, 0xce, 0xf5, 0x6a, 0x85, 0xbd, 0x63, - 0x39, 0x69, 0x4d, 0x30, 0x56, 0xb5, 0x7a, 0x85, 0x32, 0xb0, 0x18, 0x77, 0xf4, 0x8b, 0x70, 0xc4, - 0x37, 0x56, 0x10, 0x38, 0xda, 0x31, 0x4b, 0x19, 0x7a, 0x16, 0xc6, 0x5a, 0x7b, 0x9d, 0x40, 0x5d, - 0x78, 0x62, 0x6b, 0x4f, 0x86, 0x9d, 0x87, 0xc3, 0xad, 0x9d, 0x56, 0x27, 0x6e, 0x36, 0x88, 0xd3, - 0x5b, 0x3b, 0x2d, 0x19, 0x78, 0x17, 0x79, 0xe1, 0x6e, 0xa3, 0xaa, 0xe9, 0xa2, 0x5a, 0xfa, 0x68, - 0x90, 0x3d, 0x40, 0xd0, 0x4f, 0x81, 0x56, 0xad, 0x56, 0x90, 0x65, 0x5e, 0x6f, 0xa0, 0x8a, 0xd9, - 0x46, 0x96, 0xe9, 0xa4, 0xa7, 0x82, 0xcc, 0xc3, 0xd5, 0x6a, 0x89, 0x50, 0x73, 0x84, 0xa8, 0xcf, - 0xc2, 0xa8, 0x7d, 0xfd, 0xb1, 0x2a, 0x0d, 0xc9, 0x4a, 0xab, 0x8d, 0xb6, 0xea, 0x4f, 0xa5, 0x4f, - 0x10, 0xfb, 0x8e, 0x60, 0x02, 0x09, 0xc8, 0x35, 0x32, 0xac, 0xdf, 0x03, 0x5a, 0xd5, 0xd9, 0x31, - 0xdb, 0x2d, 0x52, 0x93, 0x9d, 0x96, 0x59, 0x45, 0xe9, 0xbb, 0x28, 0x2b, 0x1d, 0x2f, 0xf3, 0x61, - 0x9c, 0x12, 0xce, 0x93, 0xf5, 0x2d, 0x97, 0x4b, 0xbc, 0x9b, 0xa6, 0x04, 0x19, 0x63, 0xd2, 0x66, - 0x40, 0xc3, 0xa6, 0x10, 0x1e, 0x3c, 0x43, 0xd8, 0x86, 0x5b, 0x3b, 0xad, 0xe0, 0x73, 0xef, 0x84, - 0x21, 0xcc, 0xe9, 0x3f, 0xf4, 0x1e, 0xda, 0x90, 0xb5, 0x76, 0x02, 0x4f, 0x7c, 0xcb, 0x7a, 0xe3, - 0x4c, 0x16, 0x06, 0x83, 0xf1, 0xa9, 0xf7, 0x03, 0x8d, 0x50, 0x4d, 0xc1, 0xcd, 0x4a, 0x61, 0xb5, - 0x88, 0xdb, 0x8c, 0xf7, 0x94, 0xb4, 0x04, 0x6e, 0x77, 0x96, 0x97, 0x36, 0x4a, 0x15, 0x63, 0xb3, - 0xbc, 0xb1, 0xb4, 0x52, 0xd2, 0xd4, 0x60, 0x5f, 0xfd, 0x9d, 0x04, 0x0c, 0x8b, 0xaf, 0x48, 0xfa, - 0x3b, 0xe0, 0x28, 0xdf, 0xcf, 0x70, 0x90, 0x5b, 0x79, 0xb2, 0xde, 0x26, 0x29, 0xd3, 0x34, 0xe9, - 0xf2, 0xe5, 0x39, 0xed, 0x30, 0xe3, 0x5a, 0x47, 0xee, 0x23, 0xf5, 0x36, 0x4e, 0x88, 0xa6, 0xe9, - 0xea, 0xcb, 0x30, 0x65, 0xd9, 0x15, 0xc7, 0x35, 0xad, 0x9a, 0xd9, 0xae, 0x55, 0xfc, 0x9d, 0xa4, - 0x8a, 0x59, 0xad, 0x22, 0xc7, 0xb1, 0xe9, 0x52, 0xe5, 0x49, 0x39, 0x66, 0xd9, 0xeb, 0x8c, 0xd9, - 0xaf, 0xe1, 0x39, 0xc6, 0x2a, 0x05, 0x98, 0xda, 0x2d, 0xc0, 0x6e, 0x87, 0xfe, 0xa6, 0xd9, 0xaa, - 0x20, 0xcb, 0x6d, 0xef, 0x91, 0xc6, 0x38, 0x65, 0xa4, 0x9a, 0x66, 0xab, 0x84, 0xbf, 0xbf, 0x3d, - 0xef, 0x27, 0xff, 0xa8, 0xc2, 0x60, 0xb0, 0x39, 0xc6, 0xef, 0x1a, 0x55, 0xb2, 0x8e, 0x28, 0xa4, - 0xd2, 0xdc, 0xb9, 0x6f, 0x2b, 0x3d, 0x57, 0xc0, 0x0b, 0x4c, 0xb6, 0x8f, 0xb6, 0xac, 0x06, 0x45, - 0xe2, 0xc5, 0x1d, 0xd7, 0x16, 0x44, 0x5b, 0x84, 0x94, 0xc1, 0xbe, 0xe9, 0x57, 0xa0, 0xef, 0x31, - 0x87, 0xc8, 0xee, 0x23, 0xb2, 0x4f, 0xec, 0x2f, 0xfb, 0xea, 0x3a, 0x11, 0xde, 0x7f, 0x75, 0xbd, - 0x52, 0x5e, 0x35, 0x56, 0x72, 0xcb, 0x06, 0x83, 0xeb, 0xb7, 0x41, 0xb2, 0x61, 0x3e, 0xbd, 0x27, - 0x2e, 0x45, 0x64, 0x28, 0xae, 0xe1, 0x6f, 0x83, 0xe4, 0x93, 0xc8, 0x7c, 0x5c, 0x5c, 0x00, 0xc8, - 0xd0, 0x5b, 0x18, 0xfa, 0xa7, 0xa0, 0x97, 0xd8, 0x4b, 0x07, 0x60, 0x16, 0xd3, 0x7a, 0xf4, 0x14, - 0x24, 0x0b, 0xab, 0x06, 0x0e, 0x7f, 0x0d, 0x06, 0xe9, 0x68, 0x65, 0x6d, 0xa9, 0x54, 0x28, 0x69, - 0x89, 0xcc, 0x59, 0xe8, 0xa3, 0x46, 0xc0, 0xa9, 0xe1, 0x99, 0x41, 0xeb, 0x61, 0x5f, 0x99, 0x0c, - 0x85, 0x53, 0x37, 0x57, 0xf2, 0x25, 0x43, 0x4b, 0x04, 0xdd, 0xeb, 0xc0, 0x60, 0xb0, 0x2f, 0x7e, - 0x7b, 0x62, 0xea, 0x5b, 0x0a, 0x0c, 0x04, 0xfa, 0x5c, 0xdc, 0xa0, 0x98, 0x8d, 0x86, 0xfd, 0x64, - 0xc5, 0x6c, 0xd4, 0x4d, 0x87, 0x05, 0x05, 0x90, 0xa1, 0x1c, 0x1e, 0x89, 0xeb, 0xb4, 0xb7, 0x45, - 0xf9, 0x67, 0x15, 0xd0, 0xe4, 0x16, 0x53, 0x52, 0x50, 0xf9, 0x85, 0x2a, 0xf8, 0x09, 0x05, 0x86, - 0xc5, 0xbe, 0x52, 0x52, 0xef, 0xf8, 0x2f, 0x54, 0xbd, 0x1f, 0x24, 0x60, 0x48, 0xe8, 0x26, 0xe3, - 0x6a, 0xf7, 0x3e, 0x18, 0xad, 0xd7, 0x50, 0xb3, 0x65, 0xbb, 0xc8, 0xaa, 0xee, 0x55, 0x1a, 0xe8, - 0x09, 0xd4, 0x48, 0x67, 0x48, 0xa1, 0x38, 0xb5, 0x7f, 0xbf, 0x3a, 0xb7, 0xe4, 0xe3, 0x96, 0x31, - 0x2c, 0x3b, 0xb6, 0x54, 0x2c, 0xad, 0xac, 0xad, 0x6e, 0x94, 0xca, 0x85, 0x6b, 0x95, 0xcd, 0xf2, - 0x3b, 0xcb, 0xab, 0x8f, 0x94, 0x0d, 0xad, 0x2e, 0xb1, 0xbd, 0x85, 0xa9, 0xbe, 0x06, 0x9a, 0xac, - 0x94, 0x7e, 0x14, 0xc2, 0xd4, 0xd2, 0x7a, 0xf4, 0x31, 0x18, 0x29, 0xaf, 0x56, 0xd6, 0x97, 0x8a, - 0xa5, 0x4a, 0xe9, 0xf2, 0xe5, 0x52, 0x61, 0x63, 0x9d, 0xee, 0x40, 0x78, 0xdc, 0x1b, 0x62, 0x52, - 0x7f, 0x5c, 0x85, 0xb1, 0x10, 0x4d, 0xf4, 0x1c, 0x7b, 0x77, 0xa0, 0xaf, 0x33, 0xf7, 0xc7, 0xd1, - 0x7e, 0x0e, 0x2f, 0xf9, 0x6b, 0x66, 0xdb, 0x65, 0xaf, 0x1a, 0xf7, 0x00, 0xb6, 0x92, 0xe5, 0xd6, - 0xb7, 0xea, 0xa8, 0xcd, 0x36, 0x6c, 0xe8, 0x0b, 0xc5, 0x88, 0x3f, 0x4e, 0xf7, 0x6c, 0xee, 0x03, - 0xbd, 0x65, 0x3b, 0x75, 0xb7, 0xfe, 0x04, 0xaa, 0xd4, 0x2d, 0xbe, 0xbb, 0x83, 0x5f, 0x30, 0x92, - 0x86, 0xc6, 0x29, 0x4b, 0x96, 0xeb, 0x71, 0x5b, 0x68, 0xdb, 0x94, 0xb8, 0x71, 0x01, 0x57, 0x0d, - 0x8d, 0x53, 0x3c, 0xee, 0xe3, 0x30, 0x58, 0xb3, 0x77, 0x71, 0xd7, 0x45, 0xf9, 0xf0, 0x7a, 0xa1, - 0x18, 0x03, 0x74, 0xcc, 0x63, 0x61, 0xfd, 0xb4, 0xbf, 0xad, 0x34, 0x68, 0x0c, 0xd0, 0x31, 0xca, - 0x72, 0x37, 0x8c, 0x98, 0xdb, 0xdb, 0x6d, 0x2c, 0x9c, 0x0b, 0xa2, 0x6f, 0x08, 0xc3, 0xde, 0x30, - 0x61, 0x9c, 0xb8, 0x0a, 0x29, 0x6e, 0x07, 0xbc, 0x24, 0x63, 0x4b, 0x54, 0x5a, 0xf4, 0xb5, 0x37, - 0x31, 0xd3, 0x6f, 0xa4, 0x2c, 0x4e, 0x3c, 0x0e, 0x83, 0x75, 0xa7, 0xe2, 0xef, 0x92, 0x27, 0xa6, - 0x13, 0x33, 0x29, 0x63, 0xa0, 0xee, 0x78, 0x3b, 0x8c, 0x99, 0x2f, 0x24, 0x60, 0x58, 0xdc, 0xe5, - 0xd7, 0x8b, 0x90, 0x6a, 0xd8, 0x55, 0x93, 0x84, 0x16, 0x3d, 0x62, 0x9a, 0x89, 0x38, 0x18, 0x98, - 0x5b, 0x66, 0xfc, 0x86, 0x87, 0x9c, 0xf8, 0xae, 0x02, 0x29, 0x3e, 0xac, 0x8f, 0x43, 0xb2, 0x65, - 0xba, 0x3b, 0x44, 0x5c, 0x6f, 0x3e, 0xa1, 0x29, 0x06, 0xf9, 0x8e, 0xc7, 0x9d, 0x96, 0x69, 0x91, - 0x10, 0x60, 0xe3, 0xf8, 0x3b, 0xf6, 0x6b, 0x03, 0x99, 0x35, 0xf2, 0xfa, 0x61, 0x37, 0x9b, 0xc8, - 0x72, 0x1d, 0xee, 0x57, 0x36, 0x5e, 0x60, 0xc3, 0xfa, 0xbd, 0x30, 0xea, 0xb6, 0xcd, 0x7a, 0x43, - 0xe0, 0x4d, 0x12, 0x5e, 0x8d, 0x13, 0x3c, 0xe6, 0x2c, 0xdc, 0xc6, 0xe5, 0xd6, 0x90, 0x6b, 0x56, - 0x77, 0x50, 0xcd, 0x07, 0xf5, 0x91, 0x6d, 0x86, 0xa3, 0x8c, 0xa1, 0xc8, 0xe8, 0x1c, 0x9b, 0xf9, - 0x9e, 0x02, 0xa3, 0xfc, 0x85, 0xa9, 0xe6, 0x19, 0x6b, 0x05, 0xc0, 0xb4, 0x2c, 0xdb, 0x0d, 0x9a, - 0xab, 0x33, 0x94, 0x3b, 0x70, 0x73, 0x39, 0x0f, 0x64, 0x04, 0x04, 0x4c, 0x34, 0x01, 0x7c, 0x4a, - 0x57, 0xb3, 0x4d, 0xc1, 0x00, 0x3b, 0xc2, 0x21, 0xe7, 0x80, 0xf4, 0x15, 0x1b, 0xe8, 0x10, 0x7e, - 0xb3, 0xd2, 0x0f, 0x43, 0xef, 0x75, 0xb4, 0x5d, 0xb7, 0xd8, 0xc6, 0x2c, 0xfd, 0xc2, 0x37, 0x42, - 0x92, 0xde, 0x46, 0x48, 0xfe, 0xbd, 0x30, 0x56, 0xb5, 0x9b, 0xb2, 0xba, 0x79, 0x4d, 0x7a, 0xcd, - 0x77, 0x1e, 0x56, 0xde, 0x03, 0x7e, 0x8b, 0xf9, 0x33, 0x45, 0xf9, 0x4c, 0x42, 0xbd, 0xb2, 0x96, - 0xff, 0x52, 0x62, 0xe2, 0x0a, 0x85, 0xae, 0xf1, 0x99, 0x1a, 0x68, 0xab, 0x81, 0xaa, 0x58, 0x7b, - 0xf8, 0xfc, 0xbd, 0x70, 0xff, 0x76, 0xdd, 0xdd, 0xd9, 0xbd, 0x3e, 0x57, 0xb5, 0x9b, 0xa7, 0xb6, - 0xed, 0x6d, 0xdb, 0x3f, 0xfa, 0xc4, 0xdf, 0xc8, 0x17, 0xf2, 0x89, 0x1d, 0x7f, 0xf6, 0x7b, 0xa3, - 0x13, 0x91, 0x67, 0xa5, 0xd9, 0x32, 0x8c, 0x31, 0xe6, 0x0a, 0x39, 0x7f, 0xa1, 0x6f, 0x11, 0xfa, - 0xbe, 0x7b, 0x58, 0xe9, 0xaf, 0xfc, 0x90, 0x2c, 0xd7, 0xc6, 0x28, 0x83, 0x62, 0x1a, 0x7d, 0xd1, - 0xc8, 0x1a, 0x70, 0x44, 0x90, 0x47, 0x53, 0x13, 0xb5, 0x23, 0x24, 0x7e, 0x87, 0x49, 0x1c, 0x0b, - 0x48, 0x5c, 0x67, 0xd0, 0x6c, 0x01, 0x86, 0x0e, 0x22, 0xeb, 0x6f, 0x98, 0xac, 0x41, 0x14, 0x14, - 0x72, 0x05, 0x46, 0x88, 0x90, 0xea, 0xae, 0xe3, 0xda, 0x4d, 0x52, 0xf7, 0xf6, 0x17, 0xf3, 0xb7, - 0x3f, 0xa4, 0xb9, 0x32, 0x8c, 0x61, 0x05, 0x0f, 0x95, 0xcd, 0x02, 0x39, 0x72, 0xaa, 0xa1, 0x6a, - 0x23, 0x42, 0xc2, 0x0d, 0xa6, 0x88, 0xc7, 0x9f, 0x7d, 0x37, 0x1c, 0xc6, 0x9f, 0x49, 0x59, 0x0a, - 0x6a, 0x12, 0xbd, 0xe1, 0x95, 0xfe, 0xde, 0x07, 0x68, 0x3a, 0x8e, 0x79, 0x02, 0x02, 0x3a, 0x05, - 0xbc, 0xb8, 0x8d, 0x5c, 0x17, 0xb5, 0x9d, 0x8a, 0xd9, 0x08, 0x53, 0x2f, 0xb0, 0x63, 0x90, 0xfe, - 0xd8, 0xab, 0xa2, 0x17, 0xaf, 0x50, 0x64, 0xae, 0xd1, 0xc8, 0x6e, 0xc2, 0xd1, 0x90, 0xa8, 0x88, - 0x21, 0xf3, 0xe3, 0x4c, 0xe6, 0xe1, 0x8e, 0xc8, 0xc0, 0x62, 0xd7, 0x80, 0x8f, 0x7b, 0xbe, 0x8c, - 0x21, 0xf3, 0x0f, 0x98, 0x4c, 0x9d, 0x61, 0xb9, 0x4b, 0xb1, 0xc4, 0xab, 0x30, 0xfa, 0x04, 0x6a, - 0x5f, 0xb7, 0x1d, 0xb6, 0x4b, 0x13, 0x43, 0xdc, 0x27, 0x98, 0xb8, 0x11, 0x06, 0x24, 0xdb, 0x36, - 0x58, 0xd6, 0x45, 0x48, 0x6d, 0x99, 0x55, 0x14, 0x43, 0xc4, 0x27, 0x99, 0x88, 0x43, 0x98, 0x1f, - 0x43, 0x73, 0x30, 0xb8, 0x6d, 0xb3, 0x95, 0x29, 0x1a, 0xfe, 0x2c, 0x83, 0x0f, 0x70, 0x0c, 0x13, - 0xd1, 0xb2, 0x5b, 0xbb, 0x0d, 0xbc, 0x6c, 0x45, 0x8b, 0xf8, 0x14, 0x17, 0xc1, 0x31, 0x4c, 0xc4, - 0x01, 0xcc, 0xfa, 0x1c, 0x17, 0xe1, 0x04, 0xec, 0xf9, 0x10, 0x0c, 0xd8, 0x56, 0x63, 0xcf, 0xb6, - 0xe2, 0x28, 0xf1, 0x69, 0x26, 0x01, 0x18, 0x04, 0x0b, 0xb8, 0x04, 0xfd, 0x71, 0x1d, 0xf1, 0xb9, - 0x57, 0x79, 0x7a, 0x70, 0x0f, 0x5c, 0x81, 0x11, 0x5e, 0xa0, 0xea, 0xb6, 0x15, 0x43, 0xc4, 0xe7, - 0x99, 0x88, 0xe1, 0x00, 0x8c, 0x4d, 0xc3, 0x45, 0x8e, 0xbb, 0x8d, 0xe2, 0x08, 0xf9, 0x02, 0x9f, - 0x06, 0x83, 0x30, 0x53, 0x5e, 0x47, 0x56, 0x75, 0x27, 0x9e, 0x84, 0xe7, 0xb9, 0x29, 0x39, 0x06, - 0x8b, 0x28, 0xc0, 0x50, 0xd3, 0x6c, 0x3b, 0x3b, 0x66, 0x23, 0x96, 0x3b, 0xbe, 0xc8, 0x64, 0x0c, - 0x7a, 0x20, 0x66, 0x91, 0x5d, 0xeb, 0x20, 0x62, 0xbe, 0xc4, 0x2d, 0x12, 0x80, 0xb1, 0xd4, 0x73, - 0x5c, 0xb2, 0xa5, 0x75, 0x10, 0x69, 0x7f, 0xc8, 0x53, 0x8f, 0x62, 0x57, 0x82, 0x12, 0x2f, 0x41, - 0xbf, 0x53, 0x7f, 0x3a, 0x96, 0x98, 0x3f, 0xe2, 0x9e, 0x26, 0x00, 0x0c, 0xbe, 0x06, 0xb7, 0x85, - 0x2e, 0x13, 0x31, 0x84, 0xfd, 0x31, 0x13, 0x36, 0x1e, 0xb2, 0x54, 0xb0, 0x92, 0x70, 0x50, 0x91, - 0x7f, 0xc2, 0x4b, 0x02, 0x92, 0x64, 0xad, 0xe1, 0x77, 0x05, 0xc7, 0xdc, 0x3a, 0x98, 0xd5, 0xfe, - 0x94, 0x5b, 0x8d, 0x62, 0x05, 0xab, 0x6d, 0xc0, 0x38, 0x93, 0x78, 0x30, 0xbf, 0x7e, 0x99, 0x17, - 0x56, 0x8a, 0xde, 0x14, 0xbd, 0xfb, 0x5e, 0x98, 0xf0, 0xcc, 0xc9, 0x9b, 0x52, 0xa7, 0xd2, 0x34, - 0x5b, 0x31, 0x24, 0x7f, 0x85, 0x49, 0xe6, 0x15, 0xdf, 0xeb, 0x6a, 0x9d, 0x15, 0xb3, 0x85, 0x85, - 0x3f, 0x0a, 0x69, 0x2e, 0x7c, 0xd7, 0x6a, 0xa3, 0xaa, 0xbd, 0x6d, 0xd5, 0x9f, 0x46, 0xb5, 0x18, - 0xa2, 0xff, 0x4c, 0x72, 0xd5, 0x66, 0x00, 0x8e, 0x25, 0x2f, 0x81, 0xe6, 0xf5, 0x2a, 0x95, 0x7a, - 0xb3, 0x65, 0xb7, 0xdd, 0x08, 0x89, 0x5f, 0xe5, 0x9e, 0xf2, 0x70, 0x4b, 0x04, 0x96, 0x2d, 0xc1, - 0x30, 0xf9, 0x1a, 0x37, 0x24, 0xbf, 0xc6, 0x04, 0x0d, 0xf9, 0x28, 0x56, 0x38, 0xaa, 0x76, 0xb3, - 0x65, 0xb6, 0xe3, 0xd4, 0xbf, 0x3f, 0xe7, 0x85, 0x83, 0x41, 0x58, 0xe1, 0x70, 0xf7, 0x5a, 0x08, - 0xaf, 0xf6, 0x31, 0x24, 0x7c, 0x9d, 0x17, 0x0e, 0x8e, 0x61, 0x22, 0x78, 0xc3, 0x10, 0x43, 0xc4, - 0x5f, 0x70, 0x11, 0x1c, 0x83, 0x45, 0xbc, 0xcb, 0x5f, 0x68, 0xdb, 0x68, 0xbb, 0xee, 0xb8, 0x6d, - 0xda, 0x0a, 0xef, 0x2f, 0xea, 0x1b, 0xaf, 0x8a, 0x4d, 0x98, 0x11, 0x80, 0xe2, 0x4a, 0xc4, 0xb6, - 0x50, 0xc9, 0x9b, 0x52, 0xb4, 0x62, 0xdf, 0xe4, 0x95, 0x28, 0x00, 0xc3, 0xba, 0x05, 0x3a, 0x44, - 0x6c, 0xf6, 0x2a, 0x7e, 0x3f, 0x88, 0x21, 0xee, 0x5b, 0x92, 0x72, 0xeb, 0x1c, 0x8b, 0x65, 0x06, - 0xfa, 0x9f, 0x5d, 0xeb, 0x71, 0xb4, 0x17, 0x2b, 0x3a, 0xff, 0x52, 0xea, 0x7f, 0x36, 0x29, 0x92, - 0xd6, 0x90, 0x11, 0xa9, 0x9f, 0xd2, 0xa3, 0x2e, 0xeb, 0xa4, 0xff, 0xef, 0x6b, 0x6c, 0xbe, 0x62, - 0x3b, 0x95, 0x5d, 0xc6, 0x41, 0x2e, 0x36, 0x3d, 0xd1, 0xc2, 0x3e, 0xf0, 0x9a, 0x17, 0xe7, 0x42, - 0xcf, 0x93, 0xbd, 0x0c, 0x43, 0x42, 0xc3, 0x13, 0x2d, 0xea, 0xff, 0x31, 0x51, 0x83, 0xc1, 0x7e, - 0x27, 0x7b, 0x16, 0x92, 0xb8, 0x79, 0x89, 0x86, 0xff, 0x7f, 0x06, 0x27, 0xec, 0xd9, 0x07, 0x20, - 0xc5, 0x9b, 0x96, 0x68, 0xe8, 0x07, 0x19, 0xd4, 0x83, 0x60, 0x38, 0x6f, 0x58, 0xa2, 0xe1, 0xbf, - 0xc2, 0xe1, 0x1c, 0x82, 0xe1, 0xf1, 0x4d, 0xf8, 0xc2, 0xaf, 0x25, 0xd9, 0xa2, 0xc3, 0x6d, 0x77, - 0x09, 0x0e, 0xb1, 0x4e, 0x25, 0x1a, 0xfd, 0x61, 0xf6, 0x70, 0x8e, 0xc8, 0x9e, 0x87, 0xde, 0x98, - 0x06, 0xff, 0x75, 0x06, 0xa5, 0xfc, 0xd9, 0x02, 0x0c, 0x04, 0xba, 0x93, 0x68, 0xf8, 0x6f, 0x30, - 0x78, 0x10, 0x85, 0x55, 0x67, 0xdd, 0x49, 0xb4, 0x80, 0xdf, 0xe4, 0xaa, 0x33, 0x04, 0x36, 0x1b, - 0x6f, 0x4c, 0xa2, 0xd1, 0xbf, 0xc5, 0xad, 0xce, 0x21, 0xd9, 0x87, 0xa0, 0xdf, 0x5b, 0x6c, 0xa2, - 0xf1, 0xbf, 0xcd, 0xf0, 0x3e, 0x06, 0x5b, 0x20, 0xb0, 0xd8, 0x45, 0x8b, 0xf8, 0x1d, 0x6e, 0x81, - 0x00, 0x0a, 0xa7, 0x91, 0xdc, 0xc0, 0x44, 0x4b, 0xfa, 0x08, 0x4f, 0x23, 0xa9, 0x7f, 0xc1, 0xde, - 0x24, 0x35, 0x3f, 0x5a, 0xc4, 0xef, 0x72, 0x6f, 0x12, 0x7e, 0xac, 0x86, 0xdc, 0x11, 0x44, 0xcb, - 0xf8, 0x7d, 0xae, 0x86, 0xd4, 0x10, 0x64, 0xd7, 0x40, 0xef, 0xec, 0x06, 0xa2, 0xe5, 0x7d, 0x94, - 0xc9, 0x1b, 0xed, 0x68, 0x06, 0xb2, 0x8f, 0xc0, 0x78, 0x78, 0x27, 0x10, 0x2d, 0xf5, 0x63, 0xaf, - 0x49, 0xef, 0x6e, 0xc1, 0x46, 0x20, 0xbb, 0xe1, 0x2f, 0x29, 0xc1, 0x2e, 0x20, 0x5a, 0xec, 0xc7, - 0x5f, 0x13, 0x0b, 0x77, 0xb0, 0x09, 0xc8, 0xe6, 0x00, 0xfc, 0x05, 0x38, 0x5a, 0xd6, 0x27, 0x98, - 0xac, 0x00, 0x08, 0xa7, 0x06, 0x5b, 0x7f, 0xa3, 0xf1, 0x9f, 0xe4, 0xa9, 0xc1, 0x10, 0x38, 0x35, - 0xf8, 0xd2, 0x1b, 0x8d, 0x7e, 0x96, 0xa7, 0x06, 0x87, 0xe0, 0xc8, 0x0e, 0xac, 0x6e, 0xd1, 0x12, - 0x3e, 0xcd, 0x23, 0x3b, 0x80, 0xca, 0x96, 0x61, 0xb4, 0x63, 0x41, 0x8c, 0x16, 0xf5, 0x19, 0x26, - 0x4a, 0x93, 0xd7, 0xc3, 0xe0, 0xe2, 0xc5, 0x16, 0xc3, 0x68, 0x69, 0x9f, 0x95, 0x16, 0x2f, 0xb6, - 0x16, 0x66, 0x2f, 0x41, 0xca, 0xda, 0x6d, 0x34, 0x70, 0xf2, 0xe8, 0xfb, 0x5f, 0xb0, 0x4b, 0xff, - 0xf3, 0xeb, 0xcc, 0x3a, 0x1c, 0x90, 0x3d, 0x0b, 0xbd, 0xa8, 0x79, 0x1d, 0xd5, 0xa2, 0x90, 0xff, - 0xf2, 0x3a, 0x2f, 0x98, 0x98, 0x3b, 0xfb, 0x10, 0x00, 0xdd, 0x1a, 0x21, 0xc7, 0x7e, 0x11, 0xd8, - 0x7f, 0x7d, 0x9d, 0x5d, 0x7d, 0xf1, 0x21, 0xbe, 0x00, 0x7a, 0x91, 0x66, 0x7f, 0x01, 0xaf, 0x8a, - 0x02, 0x88, 0x47, 0x2e, 0xc2, 0xa1, 0xc7, 0x1c, 0xdb, 0x72, 0xcd, 0xed, 0x28, 0xf4, 0xbf, 0x31, - 0x34, 0xe7, 0xc7, 0x06, 0x6b, 0xda, 0x6d, 0xe4, 0x9a, 0xdb, 0x4e, 0x14, 0xf6, 0xdf, 0x19, 0xd6, - 0x03, 0x60, 0x70, 0xd5, 0x74, 0xdc, 0x38, 0xf3, 0xfe, 0x31, 0x07, 0x73, 0x00, 0x56, 0x1a, 0x7f, - 0x7e, 0x1c, 0xed, 0x45, 0x61, 0x7f, 0xc2, 0x95, 0x66, 0xfc, 0xd9, 0x07, 0xa0, 0x1f, 0x7f, 0xa4, - 0xf7, 0xd9, 0x22, 0xc0, 0xff, 0xc1, 0xc0, 0x3e, 0x02, 0x3f, 0xd9, 0x71, 0x6b, 0x6e, 0x3d, 0xda, - 0xd8, 0x3f, 0x65, 0x9e, 0xe6, 0xfc, 0xd9, 0x1c, 0x0c, 0x38, 0x6e, 0xad, 0xb6, 0xcb, 0xfa, 0xd3, - 0x08, 0xf8, 0x7f, 0xbe, 0xee, 0x6d, 0x59, 0x78, 0x18, 0xec, 0xed, 0x27, 0x1f, 0x77, 0x5b, 0x36, - 0x39, 0xe6, 0x88, 0x92, 0xf0, 0x1a, 0x93, 0x10, 0x80, 0xe4, 0x4b, 0xe1, 0xdb, 0xb7, 0x70, 0xc5, - 0xbe, 0x62, 0xd3, 0x8d, 0xdb, 0xf7, 0x64, 0xa2, 0x77, 0x60, 0xe1, 0xbb, 0x0d, 0x98, 0xae, 0xda, - 0xcd, 0xeb, 0xb6, 0x73, 0x2a, 0x50, 0xcc, 0x4f, 0xb9, 0x3b, 0x08, 0xaf, 0xc3, 0x6c, 0x6f, 0x36, - 0x89, 0x3f, 0x4f, 0x1c, 0x6c, 0x43, 0x97, 0x1c, 0xd7, 0x97, 0xeb, 0x78, 0x0e, 0x65, 0x72, 0x62, - 0xa2, 0x1f, 0x83, 0x3e, 0x32, 0xab, 0xd3, 0xe4, 0x54, 0x52, 0xc9, 0x27, 0x6f, 0xbc, 0x34, 0xd5, - 0x63, 0xb0, 0x31, 0x8f, 0xba, 0x40, 0xb6, 0xb4, 0x13, 0x02, 0x75, 0xc1, 0xa3, 0x9e, 0xa1, 0xbb, - 0xda, 0x02, 0xf5, 0x8c, 0x47, 0x5d, 0x24, 0xfb, 0xdb, 0xaa, 0x40, 0x5d, 0xf4, 0xa8, 0x67, 0xc9, - 0x19, 0xce, 0x90, 0x40, 0x3d, 0xeb, 0x51, 0xcf, 0x91, 0x93, 0x9b, 0xa4, 0x40, 0x3d, 0xe7, 0x51, - 0xcf, 0x93, 0x43, 0x9b, 0x51, 0x81, 0x7a, 0xde, 0xa3, 0x5e, 0x20, 0x87, 0x35, 0xba, 0x40, 0xbd, - 0xe0, 0x51, 0x2f, 0x92, 0x9b, 0x50, 0x87, 0x04, 0xea, 0x45, 0x7d, 0x12, 0x0e, 0xd1, 0x99, 0xcf, - 0x93, 0x93, 0xfd, 0x11, 0x46, 0xe6, 0x83, 0x3e, 0xfd, 0x34, 0xb9, 0xf5, 0xd4, 0x27, 0xd2, 0x4f, - 0xfb, 0xf4, 0x05, 0xf2, 0x07, 0x18, 0x9a, 0x48, 0x5f, 0xf0, 0xe9, 0x67, 0xd2, 0x43, 0xe4, 0xe6, - 0x97, 0x40, 0x3f, 0xe3, 0xd3, 0x17, 0xd3, 0xc3, 0x38, 0x35, 0x44, 0xfa, 0xa2, 0x4f, 0x3f, 0x9b, - 0x1e, 0x99, 0x56, 0x66, 0x06, 0x45, 0xfa, 0xd9, 0xcc, 0xfb, 0x89, 0x7b, 0x2d, 0xdf, 0xbd, 0xe3, - 0xa2, 0x7b, 0x3d, 0xc7, 0x8e, 0x8b, 0x8e, 0xf5, 0x5c, 0x3a, 0x2e, 0xba, 0xd4, 0x73, 0xe6, 0xb8, - 0xe8, 0x4c, 0xcf, 0x8d, 0xe3, 0xa2, 0x1b, 0x3d, 0x07, 0x8e, 0x8b, 0x0e, 0xf4, 0x5c, 0x37, 0x2e, - 0xba, 0xce, 0x73, 0xda, 0xb8, 0xe8, 0x34, 0xcf, 0x5d, 0xe3, 0xa2, 0xbb, 0x3c, 0x47, 0xa5, 0x25, - 0x47, 0xf9, 0x2e, 0x4a, 0x4b, 0x2e, 0xf2, 0x9d, 0x93, 0x96, 0x9c, 0xe3, 0xbb, 0x25, 0x2d, 0xb9, - 0xc5, 0x77, 0x48, 0x5a, 0x72, 0x88, 0xef, 0x8a, 0xb4, 0xe4, 0x0a, 0xdf, 0x09, 0x2c, 0xc7, 0x0c, - 0xd4, 0x0a, 0xc9, 0x31, 0x75, 0xdf, 0x1c, 0x53, 0xf7, 0xcd, 0x31, 0x75, 0xdf, 0x1c, 0x53, 0xf7, - 0xcd, 0x31, 0x75, 0xdf, 0x1c, 0x53, 0xf7, 0xcd, 0x31, 0x75, 0xdf, 0x1c, 0x53, 0xf7, 0xcd, 0x31, - 0x75, 0xff, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0x8d, 0xc8, 0x31, 0x35, 0x22, 0xc7, 0xd4, 0x88, 0x1c, - 0x53, 0x23, 0x72, 0x4c, 0xed, 0x9a, 0x63, 0xbe, 0x7b, 0xc7, 0x45, 0xf7, 0x86, 0xe6, 0x98, 0xda, - 0x25, 0xc7, 0xd4, 0x2e, 0x39, 0xa6, 0x76, 0xc9, 0x31, 0xb5, 0x4b, 0x8e, 0xa9, 0x5d, 0x72, 0x4c, - 0xed, 0x92, 0x63, 0x6a, 0x97, 0x1c, 0x53, 0xbb, 0xe5, 0x98, 0xda, 0x35, 0xc7, 0xd4, 0xae, 0x39, - 0xa6, 0x76, 0xcd, 0x31, 0xb5, 0x6b, 0x8e, 0xa9, 0x5d, 0x73, 0x4c, 0x0d, 0xe6, 0xd8, 0x5f, 0xa9, - 0xa0, 0xd3, 0x1c, 0x5b, 0x23, 0x77, 0xc3, 0x98, 0x2b, 0x26, 0xa5, 0x4c, 0xeb, 0xc3, 0xae, 0xd3, - 0x7c, 0x97, 0x4c, 0x4a, 0xb9, 0x26, 0xd2, 0x17, 0x3c, 0x3a, 0xcf, 0x36, 0x91, 0x7e, 0xc6, 0xa3, - 0xf3, 0x7c, 0x13, 0xe9, 0x8b, 0x1e, 0x9d, 0x67, 0x9c, 0x48, 0x3f, 0xeb, 0xd1, 0x79, 0xce, 0x89, - 0xf4, 0x73, 0x1e, 0x9d, 0x67, 0x9d, 0x48, 0x3f, 0xef, 0xd1, 0x79, 0xde, 0x89, 0xf4, 0x0b, 0x1e, - 0x9d, 0x67, 0x9e, 0x48, 0xbf, 0xa8, 0x4f, 0xcb, 0xb9, 0xc7, 0x19, 0x3c, 0xd7, 0x4e, 0xcb, 0xd9, - 0x27, 0x71, 0x9c, 0xf6, 0x39, 0x78, 0xfe, 0x49, 0x1c, 0x0b, 0x3e, 0x07, 0xcf, 0x40, 0x89, 0xe3, - 0x4c, 0xe6, 0x43, 0xc4, 0x7d, 0x96, 0xec, 0xbe, 0x09, 0xc9, 0x7d, 0x89, 0x80, 0xeb, 0x26, 0x24, - 0xd7, 0x25, 0x02, 0x6e, 0x9b, 0x90, 0xdc, 0x96, 0x08, 0xb8, 0x6c, 0x42, 0x72, 0x59, 0x22, 0xe0, - 0xae, 0x09, 0xc9, 0x5d, 0x89, 0x80, 0xab, 0x26, 0x24, 0x57, 0x25, 0x02, 0x6e, 0x9a, 0x90, 0xdc, - 0x94, 0x08, 0xb8, 0x68, 0x42, 0x72, 0x51, 0x22, 0xe0, 0x9e, 0x09, 0xc9, 0x3d, 0x89, 0x80, 0x6b, - 0x8e, 0xc9, 0xae, 0x49, 0x04, 0xdd, 0x72, 0x4c, 0x76, 0x4b, 0x22, 0xe8, 0x92, 0x63, 0xb2, 0x4b, - 0x12, 0x41, 0x77, 0x1c, 0x93, 0xdd, 0x91, 0x08, 0xba, 0xe2, 0xe7, 0x09, 0xde, 0x11, 0xae, 0xbb, - 0xed, 0xdd, 0xaa, 0x7b, 0x4b, 0x1d, 0xe1, 0xbc, 0xd0, 0x3e, 0x0c, 0x2c, 0xe8, 0x73, 0xa4, 0x61, - 0x0d, 0x76, 0x9c, 0xd2, 0x0a, 0x36, 0x2f, 0x34, 0x16, 0x01, 0x84, 0x15, 0x8e, 0x58, 0xbc, 0xa5, - 0xde, 0x70, 0x5e, 0x68, 0x33, 0xa2, 0xf5, 0xbb, 0xf0, 0x96, 0x77, 0x6c, 0x2f, 0x24, 0x78, 0xc7, - 0xc6, 0xcc, 0x7f, 0xd0, 0x8e, 0x6d, 0x36, 0xda, 0xe4, 0x9e, 0xb1, 0x67, 0xa3, 0x8d, 0xdd, 0xb1, - 0xea, 0xc4, 0xed, 0xe0, 0x66, 0xa3, 0x4d, 0xeb, 0x19, 0xf5, 0xcd, 0xed, 0xb7, 0x58, 0x04, 0x1b, - 0xa8, 0x15, 0x12, 0xc1, 0x07, 0xed, 0xb7, 0xe6, 0x85, 0x52, 0x72, 0xd0, 0x08, 0x56, 0x0f, 0x1c, - 0xc1, 0x07, 0xed, 0xbc, 0xe6, 0x85, 0xf2, 0x72, 0xe0, 0x08, 0x7e, 0x0b, 0xfa, 0x21, 0x16, 0xc1, - 0xbe, 0xf9, 0x0f, 0xda, 0x0f, 0xcd, 0x46, 0x9b, 0x3c, 0x34, 0x82, 0xd5, 0x03, 0x44, 0x70, 0x9c, - 0xfe, 0x68, 0x36, 0xda, 0xb4, 0xe1, 0x11, 0x7c, 0xcb, 0xdd, 0xcc, 0xa7, 0x14, 0x18, 0x2d, 0xd7, - 0x6b, 0xa5, 0xe6, 0x75, 0x54, 0xab, 0xa1, 0x1a, 0xb3, 0xe3, 0xbc, 0x50, 0x09, 0xba, 0xb8, 0xfa, - 0xc5, 0x97, 0xa6, 0x7c, 0x0b, 0x9f, 0x85, 0x14, 0xb5, 0xe9, 0xfc, 0x7c, 0xfa, 0x86, 0x12, 0x51, - 0xe1, 0x3c, 0x56, 0xfd, 0x38, 0x87, 0x9d, 0x9e, 0x4f, 0xff, 0xbd, 0x12, 0xa8, 0x72, 0xde, 0x70, - 0xe6, 0x23, 0x44, 0x43, 0xeb, 0x96, 0x35, 0x3c, 0x15, 0x4b, 0xc3, 0x80, 0x6e, 0xb7, 0x77, 0xe8, - 0x16, 0xd0, 0x6a, 0x17, 0x46, 0xca, 0xf5, 0x5a, 0x99, 0xfc, 0xe9, 0x7f, 0x1c, 0x95, 0x28, 0x8f, - 0x54, 0x0f, 0xe6, 0x85, 0xb0, 0x0c, 0x22, 0xbc, 0x90, 0x16, 0x6b, 0x44, 0xa6, 0x8e, 0x1f, 0x6b, - 0x09, 0x8f, 0x9d, 0xed, 0xf6, 0x58, 0xbf, 0xb2, 0x7b, 0x0f, 0x9c, 0xed, 0xf6, 0x40, 0x3f, 0x87, - 0xbc, 0x47, 0x3d, 0xc5, 0x17, 0x67, 0x7a, 0x43, 0x4b, 0x3f, 0x06, 0x89, 0x25, 0x7a, 0x81, 0x7c, - 0x30, 0x3f, 0x88, 0x95, 0xfa, 0xfe, 0x4b, 0x53, 0xc9, 0xcd, 0xdd, 0x7a, 0xcd, 0x48, 0x2c, 0xd5, - 0xf4, 0xab, 0xd0, 0xfb, 0x6e, 0xf6, 0x07, 0xa8, 0x98, 0x61, 0x91, 0x31, 0xdc, 0xd7, 0x75, 0x8f, - 0x08, 0x3f, 0xf8, 0x14, 0xdd, 0xad, 0x9c, 0xdb, 0xac, 0x5b, 0xee, 0xe9, 0x85, 0x0b, 0x06, 0x15, - 0x91, 0xf9, 0x9f, 0x00, 0xf4, 0x99, 0x45, 0xd3, 0xd9, 0xd1, 0xcb, 0x5c, 0x32, 0x7d, 0xf4, 0x85, - 0xef, 0xbf, 0x34, 0xb5, 0x18, 0x47, 0xea, 0xfd, 0x35, 0xd3, 0xd9, 0xb9, 0xdf, 0xdd, 0x6b, 0xa1, - 0xb9, 0xfc, 0x9e, 0x8b, 0x1c, 0x2e, 0xbd, 0xc5, 0x57, 0x3d, 0x36, 0xaf, 0x74, 0x60, 0x5e, 0x29, - 0x61, 0x4e, 0x97, 0xc5, 0x39, 0xcd, 0xbf, 0xd1, 0xf9, 0x3c, 0xc5, 0x17, 0x09, 0xc9, 0x92, 0x6a, - 0x94, 0x25, 0xd5, 0x5b, 0xb5, 0x64, 0x8b, 0xd7, 0x47, 0x69, 0xae, 0xea, 0x7e, 0x73, 0x55, 0x6f, - 0x65, 0xae, 0xff, 0x45, 0xb3, 0xd5, 0xcb, 0xa7, 0x4d, 0x8b, 0x5e, 0x5e, 0xfd, 0xe5, 0xda, 0x0b, - 0x7a, 0x53, 0xbb, 0x80, 0x6c, 0xf2, 0xc6, 0x73, 0x53, 0x4a, 0xe6, 0x53, 0x09, 0x3e, 0x73, 0x9a, - 0x48, 0x6f, 0x6c, 0xe6, 0xbf, 0x2c, 0x3d, 0xd5, 0x5b, 0x61, 0xa1, 0x67, 0x15, 0x18, 0xef, 0xa8, - 0xe4, 0xd4, 0x4c, 0x6f, 0x6e, 0x39, 0xb7, 0x0e, 0x5a, 0xce, 0x99, 0x82, 0x5f, 0x53, 0xe0, 0xb0, - 0x54, 0x5e, 0xa9, 0x7a, 0xa7, 0x24, 0xf5, 0x8e, 0x76, 0x3e, 0x89, 0x30, 0x06, 0xb4, 0x0b, 0xba, - 0x57, 0x02, 0x04, 0x24, 0x7b, 0x7e, 0x5f, 0x94, 0xfc, 0x7e, 0xcc, 0x03, 0x84, 0x98, 0x8b, 0x47, - 0x00, 0x53, 0xdb, 0x86, 0xe4, 0x46, 0x1b, 0x21, 0x7d, 0x12, 0x12, 0xab, 0x6d, 0xa6, 0xe1, 0x30, - 0xc5, 0xaf, 0xb6, 0xf3, 0x6d, 0xd3, 0xaa, 0xee, 0x18, 0x89, 0xd5, 0xb6, 0x7e, 0x1c, 0xd4, 0x1c, - 0xfb, 0xe3, 0xf7, 0x81, 0x85, 0x11, 0xca, 0x90, 0xb3, 0x6a, 0x8c, 0x03, 0xd3, 0xf4, 0x49, 0x48, - 0x2e, 0x23, 0x73, 0x8b, 0x29, 0x01, 0x94, 0x07, 0x8f, 0x18, 0x64, 0x9c, 0x3d, 0xf0, 0x51, 0x48, - 0x71, 0xc1, 0xfa, 0x09, 0x8c, 0xd8, 0x72, 0xd9, 0x63, 0x19, 0x02, 0xab, 0xc3, 0x56, 0x2e, 0x42, - 0xd5, 0x4f, 0x42, 0xaf, 0x51, 0xdf, 0xde, 0x71, 0xd9, 0xc3, 0x3b, 0xd9, 0x28, 0x39, 0x73, 0x0d, - 0xfa, 0x3d, 0x8d, 0xde, 0x64, 0xd1, 0x45, 0x3a, 0x35, 0x7d, 0x22, 0xb8, 0x9e, 0xf0, 0x7d, 0x4b, - 0x3a, 0xa4, 0x4f, 0x43, 0x6a, 0xdd, 0x6d, 0xfb, 0x45, 0x9f, 0x77, 0xa4, 0xde, 0x68, 0xe6, 0xfd, - 0x0a, 0xa4, 0x8a, 0x08, 0xb5, 0x88, 0xc1, 0xef, 0x82, 0x64, 0xd1, 0x7e, 0xd2, 0x62, 0x0a, 0x8e, - 0x32, 0x8b, 0x62, 0x32, 0xb3, 0x29, 0x21, 0xeb, 0x77, 0x05, 0xed, 0x3e, 0xe6, 0xd9, 0x3d, 0xc0, - 0x47, 0x6c, 0x9f, 0x11, 0x6c, 0xcf, 0x1c, 0x88, 0x99, 0x3a, 0xec, 0x7f, 0x1e, 0x06, 0x02, 0x4f, - 0xd1, 0x67, 0x98, 0x1a, 0x09, 0x19, 0x18, 0xb4, 0x15, 0xe6, 0xc8, 0x20, 0x18, 0x12, 0x1e, 0x8c, - 0xa1, 0x01, 0x13, 0x77, 0x81, 0x12, 0x33, 0xcf, 0x8a, 0x66, 0x0e, 0x67, 0x65, 0xa6, 0x9e, 0xa7, - 0x36, 0x22, 0xe6, 0x3e, 0x41, 0x83, 0xb3, 0xbb, 0x13, 0xf1, 0xe7, 0x4c, 0x2f, 0xa8, 0xe5, 0x7a, - 0x23, 0xf3, 0x00, 0x00, 0x4d, 0xf9, 0x92, 0xb5, 0xdb, 0x94, 0xb2, 0x6e, 0x98, 0x1b, 0x78, 0x63, - 0x07, 0x6d, 0x20, 0x87, 0xb0, 0x88, 0xfd, 0x14, 0x2e, 0x30, 0x40, 0x53, 0x8c, 0xe0, 0xef, 0x89, - 0xc4, 0x87, 0x76, 0x62, 0x98, 0x35, 0x4d, 0x59, 0xaf, 0x21, 0x37, 0x67, 0xd9, 0xee, 0x0e, 0x6a, - 0x4b, 0x88, 0x05, 0xfd, 0x8c, 0x90, 0xb0, 0xc3, 0x0b, 0xb7, 0x7b, 0x88, 0xae, 0xa0, 0x33, 0x99, - 0x2f, 0x13, 0x05, 0x71, 0x2b, 0xd0, 0x31, 0x41, 0x35, 0xc6, 0x04, 0xf5, 0x73, 0x42, 0xff, 0xb6, - 0x8f, 0x9a, 0xd2, 0xab, 0xe5, 0x45, 0xe1, 0x3d, 0x67, 0x7f, 0x65, 0xc5, 0x77, 0x4c, 0x6e, 0x53, - 0xae, 0xf2, 0x3d, 0x91, 0x2a, 0x77, 0xe9, 0x6e, 0x0f, 0x6a, 0x53, 0x35, 0xae, 0x4d, 0xbf, 0xe5, - 0x75, 0x1c, 0xf4, 0x17, 0x46, 0xc8, 0x6f, 0xf3, 0xe8, 0xf7, 0x45, 0xfa, 0x3e, 0xab, 0x14, 0x3c, - 0x55, 0x17, 0xe3, 0xba, 0x3f, 0x9b, 0xc8, 0xe7, 0x3d, 0x75, 0xcf, 0x1f, 0x20, 0x04, 0xb2, 0x89, - 0x42, 0xc1, 0x2b, 0xdb, 0xa9, 0x0f, 0x3d, 0x37, 0xa5, 0x3c, 0xff, 0xdc, 0x54, 0x4f, 0xe6, 0x8b, - 0x0a, 0x8c, 0x32, 0xce, 0x40, 0xe0, 0xde, 0x2f, 0x29, 0x7f, 0x84, 0xd7, 0x8c, 0x30, 0x0b, 0xbc, - 0x6d, 0xc1, 0xfb, 0x1d, 0x05, 0xd2, 0x1d, 0xba, 0x72, 0x7b, 0xcf, 0xc7, 0x52, 0x39, 0xab, 0x94, - 0x7e, 0xf1, 0x36, 0xbf, 0x06, 0xbd, 0x1b, 0xf5, 0x26, 0x6a, 0xe3, 0x95, 0x00, 0x7f, 0xa0, 0x2a, - 0xf3, 0xc3, 0x1c, 0x3a, 0xc4, 0x69, 0x54, 0x39, 0x81, 0xb6, 0xa0, 0xa7, 0x21, 0x59, 0x34, 0x5d, - 0x93, 0x68, 0x30, 0xe8, 0xd5, 0x57, 0xd3, 0x35, 0x33, 0x67, 0x60, 0x70, 0x65, 0x8f, 0xdc, 0x38, - 0xaa, 0x91, 0xcb, 0x26, 0x62, 0xf7, 0xc7, 0xfb, 0xd5, 0xd3, 0xb3, 0xbd, 0xa9, 0x9a, 0x76, 0x43, - 0xc9, 0x26, 0x89, 0x3e, 0x4f, 0xc0, 0xf0, 0x2a, 0x56, 0x9b, 0xe0, 0x04, 0x18, 0x7d, 0xba, 0xea, - 0x4d, 0x5e, 0x6a, 0xca, 0x54, 0xbf, 0x29, 0x9b, 0x06, 0x65, 0x45, 0x6c, 0x9d, 0x82, 0x7a, 0x18, - 0xca, 0xca, 0x6c, 0x32, 0x35, 0xac, 0x8d, 0xce, 0x26, 0x53, 0xa0, 0x0d, 0xb1, 0xe7, 0xfe, 0x9d, - 0x0a, 0x1a, 0x6d, 0x75, 0x8a, 0x68, 0xab, 0x6e, 0xd5, 0xdd, 0xce, 0x7e, 0xd5, 0xd3, 0x58, 0x7f, - 0x08, 0xfa, 0xb1, 0x49, 0x2f, 0xb3, 0x9f, 0xe8, 0xc3, 0xa6, 0x3f, 0xce, 0x5a, 0x14, 0x49, 0x04, - 0x1b, 0x20, 0xa1, 0xe3, 0x63, 0xf4, 0xcb, 0xa0, 0x96, 0xcb, 0x2b, 0x6c, 0x71, 0x5b, 0xdc, 0x17, - 0xca, 0x6e, 0xf5, 0xb0, 0x6f, 0x6c, 0xcc, 0xd9, 0x36, 0xb0, 0x00, 0x7d, 0x11, 0x12, 0xe5, 0x15, - 0xd6, 0xf0, 0x9e, 0x88, 0x23, 0xc6, 0x48, 0x94, 0x57, 0x26, 0xfe, 0x5a, 0x81, 0x21, 0x61, 0x54, - 0xcf, 0xc0, 0x20, 0x1d, 0x08, 0x4c, 0xb7, 0xcf, 0x10, 0xc6, 0xb8, 0xce, 0x89, 0x5b, 0xd4, 0x79, - 0x22, 0x07, 0x23, 0xd2, 0xb8, 0x3e, 0x07, 0x7a, 0x70, 0x88, 0x29, 0x41, 0x7f, 0x1e, 0x2c, 0x84, - 0x92, 0xb9, 0x03, 0xc0, 0xb7, 0xab, 0xf7, 0xab, 0x56, 0xe5, 0xd2, 0xfa, 0x46, 0xa9, 0xa8, 0x29, - 0x99, 0xaf, 0x2b, 0x30, 0xc0, 0xda, 0xd6, 0xaa, 0xdd, 0x42, 0x7a, 0x1e, 0x94, 0x1c, 0x8b, 0x87, - 0x37, 0xa6, 0xb7, 0x92, 0xd3, 0x4f, 0x81, 0x92, 0x8f, 0xef, 0x6a, 0x25, 0xaf, 0x2f, 0x80, 0x52, - 0x60, 0x0e, 0x8e, 0xe7, 0x19, 0xa5, 0x90, 0xf9, 0xa9, 0x0a, 0x63, 0xc1, 0x36, 0x9a, 0xd7, 0x93, - 0xe3, 0xe2, 0x7b, 0x53, 0xb6, 0xff, 0xf4, 0xc2, 0x99, 0xc5, 0x39, 0xfc, 0x8f, 0x17, 0x92, 0x19, - 0xf1, 0x15, 0x2a, 0x0b, 0x1e, 0xcb, 0xe9, 0x6e, 0xf7, 0x44, 0xb2, 0xc9, 0x80, 0x84, 0x8e, 0x7b, - 0x22, 0x02, 0xb5, 0xe3, 0x9e, 0x88, 0x40, 0xed, 0xb8, 0x27, 0x22, 0x50, 0x3b, 0xce, 0x02, 0x04, - 0x6a, 0xc7, 0x3d, 0x11, 0x81, 0xda, 0x71, 0x4f, 0x44, 0xa0, 0x76, 0xde, 0x13, 0x61, 0xe4, 0xae, - 0xf7, 0x44, 0x44, 0x7a, 0xe7, 0x3d, 0x11, 0x91, 0xde, 0x79, 0x4f, 0x24, 0x9b, 0x74, 0xdb, 0xbb, - 0xa8, 0xfb, 0xa9, 0x83, 0x88, 0xdf, 0xef, 0x25, 0xd0, 0xaf, 0xc0, 0xab, 0x30, 0x42, 0x37, 0x24, - 0x0a, 0xb6, 0xe5, 0x9a, 0x75, 0x0b, 0xb5, 0xf5, 0x77, 0xc0, 0x20, 0x1d, 0xa2, 0xaf, 0x39, 0x61, - 0xaf, 0x81, 0x94, 0xce, 0xea, 0xad, 0xc0, 0x9d, 0xf9, 0x79, 0x12, 0xc6, 0xe9, 0x40, 0xd9, 0x6c, - 0x22, 0xe1, 0x96, 0xd1, 0x49, 0xe9, 0x4c, 0x69, 0x18, 0xc3, 0x6f, 0xbe, 0x34, 0x45, 0x47, 0x73, - 0x5e, 0x34, 0x9d, 0x94, 0x4e, 0x97, 0x44, 0x3e, 0x7f, 0x01, 0x3a, 0x29, 0xdd, 0x3c, 0x12, 0xf9, - 0xbc, 0xf5, 0xc6, 0xe3, 0xe3, 0x77, 0x90, 0x44, 0xbe, 0xa2, 0x17, 0x65, 0x27, 0xa5, 0xdb, 0x48, - 0x22, 0x5f, 0xc9, 0x8b, 0xb7, 0x93, 0xd2, 0xd9, 0x93, 0xc8, 0x77, 0xd9, 0x8b, 0xbc, 0x93, 0xd2, - 0x29, 0x94, 0xc8, 0x77, 0xc5, 0x8b, 0xc1, 0x93, 0xd2, 0x5d, 0x25, 0x91, 0xef, 0x61, 0x2f, 0x1a, - 0x4f, 0x4a, 0xb7, 0x96, 0x44, 0xbe, 0x25, 0x2f, 0x2e, 0x67, 0xe4, 0xfb, 0x4b, 0x22, 0xe3, 0x55, - 0x3f, 0x42, 0x67, 0xe4, 0x9b, 0x4c, 0x22, 0xe7, 0x3b, 0xfd, 0x58, 0x9d, 0x91, 0xef, 0x34, 0x89, - 0x9c, 0xcb, 0x7e, 0xd4, 0xce, 0xc8, 0x67, 0x65, 0x22, 0xe7, 0x8a, 0x1f, 0xbf, 0x33, 0xf2, 0xa9, - 0x99, 0xc8, 0x59, 0xf6, 0x23, 0x79, 0x46, 0x3e, 0x3f, 0x13, 0x39, 0x57, 0xfd, 0x4d, 0xf4, 0x6f, - 0x4b, 0xe1, 0x17, 0xb8, 0x05, 0x95, 0x91, 0xc2, 0x0f, 0x42, 0x42, 0x4f, 0x2a, 0x64, 0x01, 0x1e, - 0x3f, 0xec, 0x32, 0x52, 0xd8, 0x41, 0x48, 0xc8, 0x65, 0xa4, 0x90, 0x83, 0x90, 0x70, 0xcb, 0x48, - 0xe1, 0x06, 0x21, 0xa1, 0x96, 0x91, 0x42, 0x0d, 0x42, 0xc2, 0x2c, 0x23, 0x85, 0x19, 0x84, 0x84, - 0x58, 0x46, 0x0a, 0x31, 0x08, 0x09, 0xaf, 0x8c, 0x14, 0x5e, 0x10, 0x12, 0x5a, 0x27, 0xe4, 0xd0, - 0x82, 0xb0, 0xb0, 0x3a, 0x21, 0x87, 0x15, 0x84, 0x85, 0xd4, 0x9d, 0x72, 0x48, 0xf5, 0xdf, 0x7c, - 0x69, 0xaa, 0x17, 0x0f, 0x05, 0xa2, 0xe9, 0x84, 0x1c, 0x4d, 0x10, 0x16, 0x49, 0x27, 0xe4, 0x48, - 0x82, 0xb0, 0x28, 0x3a, 0x21, 0x47, 0x11, 0x84, 0x45, 0xd0, 0x0b, 0x72, 0x04, 0xf9, 0x77, 0x7c, - 0x32, 0xd2, 0x91, 0x62, 0x54, 0x04, 0xa9, 0x31, 0x22, 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x8c, 0x08, - 0x52, 0x63, 0x44, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x4e, - 0x04, 0xa9, 0xb1, 0x22, 0x48, 0xed, 0x16, 0x41, 0x27, 0xe4, 0x1b, 0x0f, 0x10, 0x56, 0x90, 0x4e, - 0xc8, 0x47, 0x9f, 0xd1, 0x21, 0xa4, 0xc6, 0x0a, 0x21, 0xb5, 0x5b, 0x08, 0x7d, 0x5b, 0x85, 0x31, - 0x21, 0x84, 0xd8, 0xf9, 0xd0, 0x9b, 0x55, 0x81, 0xce, 0xc5, 0xb8, 0x60, 0x11, 0x16, 0x53, 0xe7, - 0x62, 0x1c, 0x52, 0xef, 0x17, 0x67, 0x9d, 0x55, 0xa8, 0x14, 0xa3, 0x0a, 0x5d, 0xf6, 0x62, 0xe8, - 0x5c, 0x8c, 0x8b, 0x17, 0x9d, 0xb1, 0x77, 0x61, 0xbf, 0x22, 0xf0, 0x70, 0xac, 0x22, 0xb0, 0x14, - 0xab, 0x08, 0x5c, 0xf5, 0x3d, 0xf8, 0xc1, 0x04, 0x1c, 0xf6, 0x3d, 0x48, 0x3f, 0x91, 0x9f, 0xd0, - 0xca, 0x04, 0x8e, 0xa8, 0x74, 0x7e, 0x6c, 0x13, 0x70, 0x63, 0x62, 0xa9, 0xa6, 0xaf, 0x89, 0x87, - 0x55, 0xd9, 0x83, 0x1e, 0xe0, 0x04, 0x3c, 0xce, 0x36, 0x43, 0x4f, 0x80, 0xba, 0x54, 0x73, 0x48, - 0xb5, 0x08, 0x7b, 0x6c, 0xc1, 0xc0, 0x64, 0xdd, 0x80, 0x3e, 0xc2, 0xee, 0x10, 0xf7, 0xde, 0xca, - 0x83, 0x8b, 0x06, 0x93, 0x94, 0x79, 0x41, 0x81, 0x69, 0x21, 0x94, 0xdf, 0x9c, 0x23, 0x83, 0x4b, - 0xb1, 0x8e, 0x0c, 0x84, 0x04, 0xf1, 0x8f, 0x0f, 0xee, 0xee, 0x3c, 0xa9, 0x0e, 0x66, 0x89, 0x7c, - 0x94, 0xf0, 0x7f, 0x60, 0xd8, 0x9f, 0x01, 0x79, 0x67, 0x3b, 0x1b, 0xbd, 0x9b, 0x19, 0x96, 0x9a, - 0x67, 0xa5, 0x5d, 0xb4, 0x7d, 0x61, 0x5e, 0xb6, 0x66, 0xb2, 0x30, 0x52, 0x16, 0xff, 0xf6, 0x29, - 0x6a, 0x33, 0x22, 0x85, 0x5b, 0xf3, 0x1b, 0x9f, 0x9e, 0xea, 0xc9, 0xdc, 0x07, 0x83, 0xc1, 0x3f, - 0x6f, 0x92, 0x80, 0xfd, 0x1c, 0x98, 0x4d, 0xbe, 0x88, 0xb9, 0x7f, 0x4f, 0x81, 0x23, 0x41, 0xf6, - 0x47, 0xea, 0xee, 0xce, 0x92, 0x85, 0x7b, 0xfa, 0x07, 0x20, 0x85, 0x98, 0xe3, 0xd8, 0xaf, 0xe1, - 0xb0, 0xf7, 0xc8, 0x50, 0xf6, 0x39, 0xf2, 0xaf, 0xe1, 0x41, 0xa4, 0x5d, 0x10, 0xfe, 0xd8, 0x85, - 0x89, 0xbb, 0xa0, 0x97, 0xca, 0x17, 0xf5, 0x1a, 0x92, 0xf4, 0xfa, 0x5c, 0x88, 0x5e, 0x24, 0x8e, - 0xf4, 0xab, 0x82, 0x5e, 0x81, 0xd7, 0xd5, 0x50, 0xf6, 0x39, 0x1e, 0x7c, 0xf9, 0x14, 0xee, 0xff, - 0x48, 0x44, 0x45, 0x2b, 0x39, 0x03, 0xa9, 0x92, 0xcc, 0x13, 0xae, 0x67, 0x11, 0x92, 0x65, 0xbb, - 0x46, 0x7e, 0xa7, 0x87, 0xfc, 0x30, 0x35, 0x33, 0x32, 0xfb, 0x95, 0xea, 0x93, 0x90, 0x2a, 0xec, - 0xd4, 0x1b, 0xb5, 0x36, 0xb2, 0xd8, 0x99, 0x3d, 0xdb, 0x42, 0xc7, 0x18, 0xc3, 0xa3, 0x65, 0x0a, - 0x30, 0x5a, 0xb6, 0xad, 0xfc, 0x9e, 0x1b, 0xac, 0x1b, 0x73, 0x52, 0x8a, 0xb0, 0x33, 0x1f, 0xf2, - 0xe7, 0x20, 0x98, 0x21, 0xdf, 0xfb, 0xfd, 0x97, 0xa6, 0x94, 0x0d, 0x6f, 0xff, 0x7c, 0x05, 0x8e, - 0xb2, 0xf4, 0xe9, 0x10, 0xb5, 0x10, 0x25, 0xaa, 0x9f, 0x9d, 0x53, 0x07, 0xc4, 0x2d, 0x61, 0x71, - 0x56, 0xa8, 0xb8, 0x37, 0xa6, 0x19, 0x6e, 0x8a, 0xf6, 0xd5, 0x4c, 0x3d, 0x90, 0x66, 0xa1, 0xe2, - 0xe6, 0xa2, 0xc4, 0x49, 0x9a, 0xdd, 0x09, 0xfd, 0x1e, 0x2d, 0x10, 0x0d, 0xc1, 0x4c, 0x59, 0x98, - 0xcd, 0xc0, 0x40, 0x20, 0x61, 0xf5, 0x5e, 0x50, 0x72, 0x5a, 0x0f, 0xfe, 0x2f, 0xaf, 0x29, 0xf8, - 0xbf, 0x82, 0x96, 0x98, 0xbd, 0x0b, 0x46, 0xa4, 0xfd, 0x4b, 0x4c, 0x29, 0x6a, 0x80, 0xff, 0x2b, - 0x69, 0x03, 0x13, 0xc9, 0x0f, 0x7d, 0x76, 0xb2, 0x67, 0xf6, 0x12, 0xe8, 0x9d, 0x3b, 0x9d, 0x7a, - 0x1f, 0x24, 0x72, 0x58, 0xe4, 0x51, 0x48, 0xe4, 0xf3, 0x9a, 0x32, 0x31, 0xf2, 0xab, 0x9f, 0x9c, - 0x1e, 0xc8, 0x93, 0xbf, 0xdd, 0xbe, 0x86, 0xdc, 0x7c, 0x9e, 0x81, 0x1f, 0x84, 0x23, 0xa1, 0x3b, - 0xa5, 0x18, 0x5f, 0x28, 0x50, 0x7c, 0xb1, 0xd8, 0x81, 0x2f, 0x16, 0x09, 0x5e, 0xc9, 0xf2, 0x13, - 0xe7, 0x9c, 0x1e, 0xb2, 0xcb, 0x98, 0xae, 0x05, 0x4e, 0xb8, 0x73, 0xd9, 0x07, 0x19, 0x6f, 0x3e, - 0x94, 0x17, 0x45, 0x9c, 0x58, 0xe7, 0xb3, 0x05, 0x86, 0x2f, 0x84, 0xe2, 0xb7, 0xa4, 0x63, 0x55, - 0x71, 0x85, 0x60, 0x42, 0x0a, 0x9e, 0xc2, 0xc5, 0x50, 0x21, 0x3b, 0x81, 0xcb, 0xee, 0x45, 0x4f, - 0xe1, 0x52, 0x28, 0x6f, 0x3d, 0xe2, 0xd2, 0x57, 0x29, 0x7b, 0x8a, 0x2d, 0xf2, 0xb9, 0xd3, 0xfa, - 0x11, 0x9e, 0xa3, 0x42, 0x05, 0x66, 0x06, 0xe2, 0x5c, 0xd9, 0x02, 0x03, 0xe4, 0xbb, 0x02, 0xba, - 0x5b, 0x89, 0x23, 0xb3, 0x0f, 0x33, 0x21, 0x85, 0xae, 0x42, 0x22, 0x4c, 0xc5, 0xe1, 0xf9, 0x8d, - 0x1b, 0x2f, 0x4f, 0xf6, 0xbc, 0xf8, 0xf2, 0x64, 0xcf, 0x3f, 0xbc, 0x3c, 0xd9, 0xf3, 0x83, 0x97, - 0x27, 0x95, 0x1f, 0xbd, 0x3c, 0xa9, 0xfc, 0xe4, 0xe5, 0x49, 0xe5, 0x67, 0x2f, 0x4f, 0x2a, 0xcf, - 0xdc, 0x9c, 0x54, 0x9e, 0xbf, 0x39, 0xa9, 0x7c, 0xf9, 0xe6, 0xa4, 0xf2, 0x8d, 0x9b, 0x93, 0xca, - 0x0b, 0x37, 0x27, 0x95, 0x1b, 0x37, 0x27, 0x7b, 0x5e, 0xbc, 0x39, 0xa9, 0xfc, 0xe0, 0xe6, 0xa4, - 0xf2, 0xa3, 0x9b, 0x93, 0x3d, 0x3f, 0xb9, 0x39, 0xa9, 0xfc, 0xec, 0xe6, 0x64, 0xcf, 0x33, 0xaf, - 0x4c, 0xf6, 0x3c, 0xf7, 0xca, 0x64, 0xcf, 0xf3, 0xaf, 0x4c, 0x2a, 0xff, 0x1d, 0x00, 0x00, 0xff, - 0xff, 0x63, 0x19, 0xdf, 0xae, 0xec, 0x68, 0x00, 0x00, + // 6765 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x6b, 0x70, 0x1c, 0xd7, + 0x75, 0x26, 0x7a, 0x7a, 0x00, 0x0e, 0x0e, 0x5e, 0x8d, 0x06, 0x09, 0x8e, 0x20, 0x0a, 0x00, 0x47, + 0x14, 0x05, 0x41, 0x12, 0x08, 0x82, 0xe0, 0x6b, 0x68, 0x49, 0x3b, 0x2f, 0x52, 0xa0, 0x89, 0x01, + 0xdc, 0x00, 0x2c, 0xd1, 0xde, 0xad, 0xa9, 0xe6, 0xcc, 0x05, 0x30, 0xd2, 0x4c, 0xf7, 0x78, 0xba, + 0x47, 0x12, 0x54, 0x5b, 0x5b, 0x5a, 0x7b, 0xd7, 0x6b, 0xef, 0x7b, 0xd7, 0xbb, 0xb5, 0xb6, 0xd7, + 0x96, 0x65, 0xbb, 0x6c, 0xcb, 0xce, 0xcb, 0x4e, 0x1c, 0xc7, 0x76, 0x52, 0xb1, 0xfe, 0x38, 0x61, + 0xfe, 0xb8, 0xe4, 0xfc, 0x4a, 0xb9, 0x52, 0x2a, 0x8b, 0x72, 0x55, 0x9c, 0x44, 0x49, 0x1c, 0x47, + 0x55, 0x71, 0x95, 0xfc, 0x23, 0x75, 0x5f, 0xdd, 0x7d, 0xef, 0xf4, 0xa0, 0x1b, 0xa2, 0x24, 0xfb, + 0x0f, 0x39, 0x73, 0xcf, 0xf9, 0x4e, 0x9f, 0x7b, 0x5e, 0xf7, 0xf4, 0xbd, 0x17, 0x03, 0x37, 0xb3, + 0x30, 0xbb, 0x63, 0xdb, 0x3b, 0x0d, 0x74, 0xaa, 0xd5, 0xb6, 0x5d, 0xfb, 0x46, 0x67, 0xfb, 0x54, + 0x0d, 0x39, 0xd5, 0x76, 0xbd, 0xe5, 0xda, 0xed, 0x05, 0x32, 0xa6, 0x8f, 0x51, 0x8e, 0x05, 0xce, + 0x91, 0x59, 0x85, 0xf1, 0xcb, 0xf5, 0x06, 0x2a, 0x7a, 0x8c, 0x1b, 0xc8, 0xd5, 0x2f, 0x40, 0x72, + 0xbb, 0xde, 0x40, 0x69, 0x65, 0x56, 0x9d, 0x1b, 0x5a, 0x3a, 0xb1, 0x20, 0x81, 0x16, 0x44, 0xc4, + 0x3a, 0x1e, 0x36, 0x08, 0x22, 0xf3, 0x93, 0x24, 0x4c, 0x84, 0x50, 0x75, 0x1d, 0x92, 0x96, 0xd9, + 0xc4, 0x12, 0x95, 0xb9, 0x41, 0x83, 0x7c, 0xd6, 0xd3, 0x70, 0xa8, 0x65, 0x56, 0x9f, 0x34, 0x77, + 0x50, 0x3a, 0x41, 0x86, 0xf9, 0x57, 0x7d, 0x1a, 0xa0, 0x86, 0x5a, 0xc8, 0xaa, 0x21, 0xab, 0xba, + 0x97, 0x56, 0x67, 0xd5, 0xb9, 0x41, 0x23, 0x30, 0xa2, 0xdf, 0x0f, 0xe3, 0xad, 0xce, 0x8d, 0x46, + 0xbd, 0x5a, 0x09, 0xb0, 0xc1, 0xac, 0x3a, 0xd7, 0x6f, 0x68, 0x94, 0x50, 0xf4, 0x99, 0xef, 0x85, + 0xb1, 0xa7, 0x91, 0xf9, 0x64, 0x90, 0x75, 0x88, 0xb0, 0x8e, 0xe2, 0xe1, 0x00, 0x63, 0x01, 0x86, + 0x9b, 0xc8, 0x71, 0xcc, 0x1d, 0x54, 0x71, 0xf7, 0x5a, 0x28, 0x9d, 0x24, 0xb3, 0x9f, 0xed, 0x9a, + 0xbd, 0x3c, 0xf3, 0x21, 0x86, 0xda, 0xdc, 0x6b, 0x21, 0x3d, 0x07, 0x83, 0xc8, 0xea, 0x34, 0xa9, + 0x84, 0xfe, 0x1e, 0xf6, 0x2b, 0x59, 0x9d, 0xa6, 0x2c, 0x25, 0x85, 0x61, 0x4c, 0xc4, 0x21, 0x07, + 0xb5, 0x9f, 0xaa, 0x57, 0x51, 0x7a, 0x80, 0x08, 0xb8, 0xb7, 0x4b, 0xc0, 0x06, 0xa5, 0xcb, 0x32, + 0x38, 0x4e, 0x2f, 0xc0, 0x20, 0x7a, 0xc6, 0x45, 0x96, 0x53, 0xb7, 0xad, 0xf4, 0x21, 0x22, 0xe4, + 0x9e, 0x10, 0x2f, 0xa2, 0x46, 0x4d, 0x16, 0xe1, 0xe3, 0xf4, 0x73, 0x70, 0xc8, 0x6e, 0xb9, 0x75, + 0xdb, 0x72, 0xd2, 0xa9, 0x59, 0x65, 0x6e, 0x68, 0xe9, 0x58, 0x68, 0x20, 0xac, 0x51, 0x1e, 0x83, + 0x33, 0xeb, 0x2b, 0xa0, 0x39, 0x76, 0xa7, 0x5d, 0x45, 0x95, 0xaa, 0x5d, 0x43, 0x95, 0xba, 0xb5, + 0x6d, 0xa7, 0x07, 0x89, 0x80, 0x99, 0xee, 0x89, 0x10, 0xc6, 0x82, 0x5d, 0x43, 0x2b, 0xd6, 0xb6, + 0x6d, 0x8c, 0x3a, 0xc2, 0x77, 0x7d, 0x12, 0x06, 0x9c, 0x3d, 0xcb, 0x35, 0x9f, 0x49, 0x0f, 0x93, + 0x08, 0x61, 0xdf, 0x32, 0xdf, 0x19, 0x80, 0xb1, 0x38, 0x21, 0x76, 0x09, 0xfa, 0xb7, 0xf1, 0x2c, + 0xd3, 0x89, 0x83, 0xd8, 0x80, 0x62, 0x44, 0x23, 0x0e, 0xbc, 0x45, 0x23, 0xe6, 0x60, 0xc8, 0x42, + 0x8e, 0x8b, 0x6a, 0x34, 0x22, 0xd4, 0x98, 0x31, 0x05, 0x14, 0xd4, 0x1d, 0x52, 0xc9, 0xb7, 0x14, + 0x52, 0x8f, 0xc3, 0x98, 0xa7, 0x52, 0xa5, 0x6d, 0x5a, 0x3b, 0x3c, 0x36, 0x4f, 0x45, 0x69, 0xb2, + 0x50, 0xe2, 0x38, 0x03, 0xc3, 0x8c, 0x51, 0x24, 0x7c, 0xd7, 0x8b, 0x00, 0xb6, 0x85, 0xec, 0xed, + 0x4a, 0x0d, 0x55, 0x1b, 0xe9, 0x54, 0x0f, 0x2b, 0xad, 0x61, 0x96, 0x2e, 0x2b, 0xd9, 0x74, 0xb4, + 0xda, 0xd0, 0x2f, 0xfa, 0xa1, 0x76, 0xa8, 0x47, 0xa4, 0xac, 0xd2, 0x24, 0xeb, 0x8a, 0xb6, 0x2d, + 0x18, 0x6d, 0x23, 0x1c, 0xf7, 0xa8, 0xc6, 0x66, 0x36, 0x48, 0x94, 0x58, 0x88, 0x9c, 0x99, 0xc1, + 0x60, 0x74, 0x62, 0x23, 0xed, 0xe0, 0x57, 0xfd, 0x6e, 0xf0, 0x06, 0x2a, 0x24, 0xac, 0x80, 0x54, + 0xa1, 0x61, 0x3e, 0x58, 0x36, 0x9b, 0x68, 0xea, 0x59, 0x18, 0x15, 0xcd, 0xa3, 0x1f, 0x86, 0x7e, + 0xc7, 0x35, 0xdb, 0x2e, 0x89, 0xc2, 0x7e, 0x83, 0x7e, 0xd1, 0x35, 0x50, 0x91, 0x55, 0x23, 0x55, + 0xae, 0xdf, 0xc0, 0x1f, 0xf5, 0x7f, 0xe5, 0x4f, 0x58, 0x25, 0x13, 0x3e, 0xd9, 0xed, 0x51, 0x41, + 0xb2, 0x3c, 0xef, 0xa9, 0xf3, 0x30, 0x22, 0x4c, 0x20, 0xee, 0xa3, 0x33, 0xff, 0x16, 0x8e, 0x84, + 0x8a, 0xd6, 0x1f, 0x87, 0xc3, 0x1d, 0xab, 0x6e, 0xb9, 0xa8, 0xdd, 0x6a, 0x23, 0x1c, 0xb1, 0xf4, + 0x51, 0xe9, 0xbf, 0x3a, 0xd4, 0x23, 0xe6, 0xb6, 0x82, 0xdc, 0x54, 0x8a, 0x31, 0xd1, 0xe9, 0x1e, + 0x9c, 0x1f, 0x4c, 0xfd, 0xf4, 0x90, 0xf6, 0xdc, 0x73, 0xcf, 0x3d, 0x97, 0xc8, 0x7c, 0x72, 0x00, + 0x0e, 0x87, 0xe5, 0x4c, 0x68, 0xfa, 0x4e, 0xc2, 0x80, 0xd5, 0x69, 0xde, 0x40, 0x6d, 0x62, 0xa4, + 0x7e, 0x83, 0x7d, 0xd3, 0x73, 0xd0, 0xdf, 0x30, 0x6f, 0xa0, 0x46, 0x3a, 0x39, 0xab, 0xcc, 0x8d, + 0x2e, 0xdd, 0x1f, 0x2b, 0x2b, 0x17, 0xae, 0x61, 0x88, 0x41, 0x91, 0xfa, 0xc3, 0x90, 0x64, 0x25, + 0x1a, 0x4b, 0x98, 0x8f, 0x27, 0x01, 0xe7, 0x92, 0x41, 0x70, 0xfa, 0x9d, 0x30, 0x88, 0xff, 0xa7, + 0xb1, 0x31, 0x40, 0x74, 0x4e, 0xe1, 0x01, 0x1c, 0x17, 0xfa, 0x14, 0xa4, 0x48, 0x9a, 0xd4, 0x10, + 0x5f, 0xda, 0xbc, 0xef, 0x38, 0xb0, 0x6a, 0x68, 0xdb, 0xec, 0x34, 0xdc, 0xca, 0x53, 0x66, 0xa3, + 0x83, 0x48, 0xc0, 0x0f, 0x1a, 0xc3, 0x6c, 0xf0, 0xfd, 0x78, 0x4c, 0x9f, 0x81, 0x21, 0x9a, 0x55, + 0x75, 0xab, 0x86, 0x9e, 0x21, 0xd5, 0xb3, 0xdf, 0xa0, 0x89, 0xb6, 0x82, 0x47, 0xf0, 0xe3, 0x9f, + 0x70, 0x6c, 0x8b, 0x87, 0x26, 0x79, 0x04, 0x1e, 0x20, 0x8f, 0x3f, 0x2f, 0x17, 0xee, 0xbb, 0xc2, + 0xa7, 0x27, 0xc7, 0x54, 0xe6, 0x5b, 0x09, 0x48, 0x92, 0x7a, 0x31, 0x06, 0x43, 0x9b, 0xd7, 0xd7, + 0x4b, 0x95, 0xe2, 0xda, 0x56, 0xfe, 0x5a, 0x49, 0x53, 0xf4, 0x51, 0x00, 0x32, 0x70, 0xf9, 0xda, + 0x5a, 0x6e, 0x53, 0x4b, 0x78, 0xdf, 0x57, 0xca, 0x9b, 0xe7, 0x96, 0x35, 0xd5, 0x03, 0x6c, 0xd1, + 0x81, 0x64, 0x90, 0xe1, 0xcc, 0x92, 0xd6, 0xaf, 0x6b, 0x30, 0x4c, 0x05, 0xac, 0x3c, 0x5e, 0x2a, + 0x9e, 0x5b, 0xd6, 0x06, 0xc4, 0x91, 0x33, 0x4b, 0xda, 0x21, 0x7d, 0x04, 0x06, 0xc9, 0x48, 0x7e, + 0x6d, 0xed, 0x9a, 0x96, 0xf2, 0x64, 0x6e, 0x6c, 0x1a, 0x2b, 0xe5, 0x2b, 0xda, 0xa0, 0x27, 0xf3, + 0x8a, 0xb1, 0xb6, 0xb5, 0xae, 0x81, 0x27, 0x61, 0xb5, 0xb4, 0xb1, 0x91, 0xbb, 0x52, 0xd2, 0x86, + 0x3c, 0x8e, 0xfc, 0xf5, 0xcd, 0xd2, 0x86, 0x36, 0x2c, 0xa8, 0x75, 0x66, 0x49, 0x1b, 0xf1, 0x1e, + 0x51, 0x2a, 0x6f, 0xad, 0x6a, 0xa3, 0xfa, 0x38, 0x8c, 0xd0, 0x47, 0x70, 0x25, 0xc6, 0xa4, 0xa1, + 0x73, 0xcb, 0x9a, 0xe6, 0x2b, 0x42, 0xa5, 0x8c, 0x0b, 0x03, 0xe7, 0x96, 0x35, 0x3d, 0x53, 0x80, + 0x7e, 0x12, 0x5d, 0xba, 0x0e, 0xa3, 0xd7, 0x72, 0xf9, 0xd2, 0xb5, 0xca, 0xda, 0xfa, 0xe6, 0xca, + 0x5a, 0x39, 0x77, 0x4d, 0x53, 0xfc, 0x31, 0xa3, 0xf4, 0xbe, 0xad, 0x15, 0xa3, 0x54, 0xd4, 0x12, + 0xc1, 0xb1, 0xf5, 0x52, 0x6e, 0xb3, 0x54, 0xd4, 0xd4, 0x4c, 0x15, 0x0e, 0x87, 0xd5, 0xc9, 0xd0, + 0xcc, 0x08, 0xb8, 0x38, 0xd1, 0xc3, 0xc5, 0x44, 0x56, 0x97, 0x8b, 0x5f, 0x4b, 0xc0, 0x44, 0xc8, + 0x5a, 0x11, 0xfa, 0x90, 0x47, 0xa0, 0x9f, 0x86, 0x28, 0x5d, 0x3d, 0xef, 0x0b, 0x5d, 0x74, 0x48, + 0xc0, 0x76, 0xad, 0xa0, 0x04, 0x17, 0xec, 0x20, 0xd4, 0x1e, 0x1d, 0x04, 0x16, 0xd1, 0x55, 0xd3, + 0xff, 0x4d, 0x57, 0x4d, 0xa7, 0xcb, 0xde, 0xb9, 0x38, 0xcb, 0x1e, 0x19, 0x3b, 0x58, 0x6d, 0xef, + 0x0f, 0xa9, 0xed, 0x97, 0x60, 0xbc, 0x4b, 0x50, 0xec, 0x1a, 0xfb, 0x11, 0x05, 0xd2, 0xbd, 0x8c, + 0x13, 0x51, 0xe9, 0x12, 0x42, 0xa5, 0xbb, 0x24, 0x5b, 0xf0, 0x78, 0x6f, 0x27, 0x74, 0xf9, 0xfa, + 0x2b, 0x0a, 0x4c, 0x86, 0x77, 0x8a, 0xa1, 0x3a, 0x3c, 0x0c, 0x03, 0x4d, 0xe4, 0xee, 0xda, 0xbc, + 0x5b, 0x3a, 0x19, 0xb2, 0x06, 0x63, 0xb2, 0xec, 0x6c, 0x86, 0x0a, 0x2e, 0xe2, 0x6a, 0xaf, 0x76, + 0x8f, 0x6a, 0xd3, 0xa5, 0xe9, 0xc7, 0x13, 0x70, 0x24, 0x54, 0x78, 0xa8, 0xa2, 0x77, 0x01, 0xd4, + 0xad, 0x56, 0xc7, 0xa5, 0x1d, 0x11, 0x2d, 0xb0, 0x83, 0x64, 0x84, 0x14, 0x2f, 0x5c, 0x3c, 0x3b, + 0xae, 0x47, 0x57, 0x09, 0x1d, 0xe8, 0x10, 0x61, 0xb8, 0xe0, 0x2b, 0x9a, 0x24, 0x8a, 0x4e, 0xf7, + 0x98, 0x69, 0x57, 0x60, 0x2e, 0x82, 0x56, 0x6d, 0xd4, 0x91, 0xe5, 0x56, 0x1c, 0xb7, 0x8d, 0xcc, + 0x66, 0xdd, 0xda, 0x21, 0x2b, 0x48, 0x2a, 0xdb, 0xbf, 0x6d, 0x36, 0x1c, 0x64, 0x8c, 0x51, 0xf2, + 0x06, 0xa7, 0x62, 0x04, 0x09, 0xa0, 0x76, 0x00, 0x31, 0x20, 0x20, 0x28, 0xd9, 0x43, 0x64, 0xfe, + 0xeb, 0x20, 0x0c, 0x05, 0xfa, 0x6a, 0xfd, 0x38, 0x0c, 0x3f, 0x61, 0x3e, 0x65, 0x56, 0xf8, 0xbb, + 0x12, 0xb5, 0xc4, 0x10, 0x1e, 0x5b, 0x67, 0xef, 0x4b, 0x8b, 0x70, 0x98, 0xb0, 0xd8, 0x1d, 0x17, + 0xb5, 0x2b, 0xd5, 0x86, 0xe9, 0x38, 0xc4, 0x68, 0x29, 0xc2, 0xaa, 0x63, 0xda, 0x1a, 0x26, 0x15, + 0x38, 0x45, 0x3f, 0x0b, 0x13, 0x04, 0xd1, 0xec, 0x34, 0xdc, 0x7a, 0xab, 0x81, 0x2a, 0xf8, 0xed, + 0xcd, 0x21, 0x2b, 0x89, 0xa7, 0xd9, 0x38, 0xe6, 0x58, 0x65, 0x0c, 0x58, 0x23, 0x47, 0x2f, 0xc2, + 0x5d, 0x04, 0xb6, 0x83, 0x2c, 0xd4, 0x36, 0x5d, 0x54, 0x41, 0x1f, 0xea, 0x98, 0x0d, 0xa7, 0x62, + 0x5a, 0xb5, 0xca, 0xae, 0xe9, 0xec, 0xa6, 0x0f, 0x63, 0x01, 0xf9, 0x44, 0x5a, 0x31, 0xee, 0xc0, + 0x8c, 0x57, 0x18, 0x5f, 0x89, 0xb0, 0xe5, 0xac, 0xda, 0xa3, 0xa6, 0xb3, 0xab, 0x67, 0x61, 0x92, + 0x48, 0x71, 0xdc, 0x76, 0xdd, 0xda, 0xa9, 0x54, 0x77, 0x51, 0xf5, 0xc9, 0x4a, 0xc7, 0xdd, 0xbe, + 0x90, 0xbe, 0x33, 0xf8, 0x7c, 0xa2, 0xe1, 0x06, 0xe1, 0x29, 0x60, 0x96, 0x2d, 0x77, 0xfb, 0x82, + 0xbe, 0x01, 0xc3, 0xd8, 0x19, 0xcd, 0xfa, 0xb3, 0xa8, 0xb2, 0x6d, 0xb7, 0xc9, 0xd2, 0x38, 0x1a, + 0x52, 0x9a, 0x02, 0x16, 0x5c, 0x58, 0x63, 0x80, 0x55, 0xbb, 0x86, 0xb2, 0xfd, 0x1b, 0xeb, 0xa5, + 0x52, 0xd1, 0x18, 0xe2, 0x52, 0x2e, 0xdb, 0x6d, 0x1c, 0x50, 0x3b, 0xb6, 0x67, 0xe0, 0x21, 0x1a, + 0x50, 0x3b, 0x36, 0x37, 0xef, 0x59, 0x98, 0xa8, 0x56, 0xe9, 0x9c, 0xeb, 0xd5, 0x0a, 0x7b, 0xc7, + 0x72, 0xd2, 0x9a, 0x60, 0xac, 0x6a, 0xf5, 0x0a, 0x65, 0x60, 0x31, 0xee, 0xe8, 0x17, 0xe1, 0x88, + 0x6f, 0xac, 0x20, 0x70, 0xbc, 0x6b, 0x96, 0x32, 0xf4, 0x2c, 0x4c, 0xb4, 0xf6, 0xba, 0x81, 0xba, + 0xf0, 0xc4, 0xd6, 0x9e, 0x0c, 0x3b, 0x0f, 0x87, 0x5b, 0xbb, 0xad, 0x6e, 0xdc, 0x7c, 0x10, 0xa7, + 0xb7, 0x76, 0x5b, 0x32, 0xf0, 0x1e, 0xf2, 0xc2, 0xdd, 0x46, 0x55, 0xd3, 0x45, 0xb5, 0xf4, 0xd1, + 0x20, 0x7b, 0x80, 0xa0, 0x9f, 0x02, 0xad, 0x5a, 0xad, 0x20, 0xcb, 0xbc, 0xd1, 0x40, 0x15, 0xb3, + 0x8d, 0x2c, 0xd3, 0x49, 0xcf, 0x04, 0x99, 0x47, 0xab, 0xd5, 0x12, 0xa1, 0xe6, 0x08, 0x51, 0x9f, + 0x87, 0x71, 0xfb, 0xc6, 0x13, 0x55, 0x1a, 0x92, 0x95, 0x56, 0x1b, 0x6d, 0xd7, 0x9f, 0x49, 0x9f, + 0x20, 0xf6, 0x1d, 0xc3, 0x04, 0x12, 0x90, 0xeb, 0x64, 0x58, 0xbf, 0x0f, 0xb4, 0xaa, 0xb3, 0x6b, + 0xb6, 0x5b, 0xa4, 0x26, 0x3b, 0x2d, 0xb3, 0x8a, 0xd2, 0xf7, 0x50, 0x56, 0x3a, 0x5e, 0xe6, 0xc3, + 0x38, 0x25, 0x9c, 0xa7, 0xeb, 0xdb, 0x2e, 0x97, 0x78, 0x2f, 0x4d, 0x09, 0x32, 0xc6, 0xa4, 0xcd, + 0x81, 0x86, 0x4d, 0x21, 0x3c, 0x78, 0x8e, 0xb0, 0x8d, 0xb6, 0x76, 0x5b, 0xc1, 0xe7, 0xde, 0x0d, + 0x23, 0x98, 0xd3, 0x7f, 0xe8, 0x7d, 0xb4, 0x21, 0x6b, 0xed, 0x06, 0x9e, 0xb8, 0x0c, 0x93, 0x98, + 0xa9, 0x89, 0x5c, 0xb3, 0x66, 0xba, 0x66, 0x80, 0xfb, 0x01, 0xc2, 0x8d, 0xed, 0xbe, 0xca, 0x88, + 0x82, 0x9e, 0xed, 0xce, 0x8d, 0x3d, 0x2f, 0xb2, 0x1e, 0xa4, 0x7a, 0xe2, 0x31, 0x1e, 0x5b, 0xef, + 0x58, 0xd3, 0x9d, 0xc9, 0xc2, 0x70, 0x30, 0xf0, 0xf5, 0x41, 0xa0, 0xa1, 0xaf, 0x29, 0xb8, 0x0b, + 0x2a, 0xac, 0x15, 0x71, 0xff, 0xf2, 0x81, 0x92, 0x96, 0xc0, 0x7d, 0xd4, 0xb5, 0x95, 0xcd, 0x52, + 0xc5, 0xd8, 0x2a, 0x6f, 0xae, 0xac, 0x96, 0x34, 0x35, 0xd8, 0xb0, 0x7f, 0x3f, 0x01, 0xa3, 0xe2, + 0xbb, 0x97, 0xfe, 0x1e, 0x38, 0xca, 0x37, 0x4a, 0x1c, 0xe4, 0x56, 0x9e, 0xae, 0xb7, 0x49, 0x2e, + 0x36, 0x4d, 0xba, 0x2e, 0x7a, 0xd1, 0x70, 0x98, 0x71, 0x6d, 0x20, 0xf7, 0xb1, 0x7a, 0x1b, 0x67, + 0x5a, 0xd3, 0x74, 0xf5, 0x6b, 0x30, 0x63, 0xd9, 0x15, 0xc7, 0x35, 0xad, 0x9a, 0xd9, 0xae, 0x55, + 0xfc, 0x2d, 0xaa, 0x8a, 0x59, 0xad, 0x22, 0xc7, 0xb1, 0xe9, 0x1a, 0xe8, 0x49, 0x39, 0x66, 0xd9, + 0x1b, 0x8c, 0xd9, 0x5f, 0x1c, 0x72, 0x8c, 0x55, 0x8a, 0x5c, 0xb5, 0x57, 0xe4, 0xde, 0x09, 0x83, + 0x4d, 0xb3, 0x55, 0x41, 0x96, 0xdb, 0xde, 0x23, 0x1d, 0x77, 0xca, 0x48, 0x35, 0xcd, 0x56, 0x09, + 0x7f, 0x7f, 0x77, 0x5e, 0x7c, 0xfe, 0x52, 0x85, 0xe1, 0x60, 0xd7, 0x8d, 0x5f, 0x62, 0xaa, 0x64, + 0x81, 0x52, 0x48, 0x09, 0xbb, 0x7b, 0xdf, 0x1e, 0x7d, 0xa1, 0x80, 0x57, 0xae, 0xec, 0x00, 0xed, + 0x85, 0x0d, 0x8a, 0xc4, 0x5d, 0x03, 0x0e, 0x2d, 0x44, 0x7b, 0x8f, 0x94, 0xc1, 0xbe, 0xe9, 0x57, + 0x60, 0xe0, 0x09, 0x87, 0xc8, 0x1e, 0x20, 0xb2, 0x4f, 0xec, 0x2f, 0xfb, 0xea, 0x06, 0x11, 0x3e, + 0x78, 0x75, 0xa3, 0x52, 0x5e, 0x33, 0x56, 0x73, 0xd7, 0x0c, 0x06, 0xd7, 0xef, 0x80, 0x64, 0xc3, + 0x7c, 0x76, 0x4f, 0x5c, 0xe3, 0xc8, 0x50, 0x5c, 0xc3, 0xdf, 0x01, 0xc9, 0xa7, 0x91, 0xf9, 0xa4, + 0xb8, 0xb2, 0x90, 0xa1, 0x77, 0x30, 0xf4, 0x4f, 0x41, 0x3f, 0xb1, 0x97, 0x0e, 0xc0, 0x2c, 0xa6, + 0xf5, 0xe9, 0x29, 0x48, 0x16, 0xd6, 0x0c, 0x1c, 0xfe, 0x1a, 0x0c, 0xd3, 0xd1, 0xca, 0xfa, 0x4a, + 0xa9, 0x50, 0xd2, 0x12, 0x99, 0xb3, 0x30, 0x40, 0x8d, 0x80, 0x53, 0xc3, 0x33, 0x83, 0xd6, 0xc7, + 0xbe, 0x32, 0x19, 0x0a, 0xa7, 0x6e, 0xad, 0xe6, 0x4b, 0x86, 0x96, 0x08, 0xba, 0xd7, 0x81, 0xe1, + 0x60, 0xc3, 0xfd, 0xee, 0xc4, 0xd4, 0x77, 0x15, 0x18, 0x0a, 0x34, 0xd0, 0xb8, 0xf3, 0x31, 0x1b, + 0x0d, 0xfb, 0xe9, 0x8a, 0xd9, 0xa8, 0x9b, 0x0e, 0x0b, 0x0a, 0x20, 0x43, 0x39, 0x3c, 0x12, 0xd7, + 0x69, 0xef, 0x8a, 0xf2, 0xcf, 0x2b, 0xa0, 0xc9, 0xbd, 0xab, 0xa4, 0xa0, 0xf2, 0x2b, 0x55, 0xf0, + 0x33, 0x0a, 0x8c, 0x8a, 0x0d, 0xab, 0xa4, 0xde, 0xf1, 0x5f, 0xa9, 0x7a, 0x3f, 0x4e, 0xc0, 0x88, + 0xd0, 0xa6, 0xc6, 0xd5, 0xee, 0x43, 0x30, 0x5e, 0xaf, 0xa1, 0x66, 0xcb, 0x76, 0x91, 0x55, 0xdd, + 0xab, 0x34, 0xd0, 0x53, 0xa8, 0x91, 0xce, 0x90, 0x42, 0x71, 0x6a, 0xff, 0x46, 0x78, 0x61, 0xc5, + 0xc7, 0x5d, 0xc3, 0xb0, 0xec, 0xc4, 0x4a, 0xb1, 0xb4, 0xba, 0xbe, 0xb6, 0x59, 0x2a, 0x17, 0xae, + 0x57, 0xb6, 0xca, 0xef, 0x2d, 0xaf, 0x3d, 0x56, 0x36, 0xb4, 0xba, 0xc4, 0xf6, 0x0e, 0xa6, 0xfa, + 0x3a, 0x68, 0xb2, 0x52, 0xfa, 0x51, 0x08, 0x53, 0x4b, 0xeb, 0xd3, 0x27, 0x60, 0xac, 0xbc, 0x56, + 0xd9, 0x58, 0x29, 0x96, 0x2a, 0xa5, 0xcb, 0x97, 0x4b, 0x85, 0xcd, 0x0d, 0xba, 0xb5, 0xe1, 0x71, + 0x6f, 0x8a, 0x49, 0xfd, 0x69, 0x15, 0x26, 0x42, 0x34, 0xd1, 0x73, 0xec, 0xa5, 0x84, 0xbe, 0x27, + 0x3d, 0x18, 0x47, 0xfb, 0x05, 0xdc, 0x15, 0xac, 0x9b, 0x6d, 0x97, 0xbd, 0xc3, 0xdc, 0x07, 0xd8, + 0x4a, 0x96, 0x5b, 0xdf, 0xae, 0xa3, 0x36, 0xdb, 0x09, 0xa2, 0x6f, 0x2a, 0x63, 0xfe, 0x38, 0xdd, + 0x0c, 0x7a, 0x00, 0xf4, 0x96, 0xed, 0xd4, 0xdd, 0xfa, 0x53, 0xa8, 0x52, 0xb7, 0xf8, 0xb6, 0x11, + 0x7e, 0x73, 0x49, 0x1a, 0x1a, 0xa7, 0xac, 0x58, 0xae, 0xc7, 0x6d, 0xa1, 0x1d, 0x53, 0xe2, 0xc6, + 0x05, 0x5c, 0x35, 0x34, 0x4e, 0xf1, 0xb8, 0x8f, 0xc3, 0x70, 0xcd, 0xee, 0xe0, 0x76, 0x8e, 0xf2, + 0xe1, 0xf5, 0x42, 0x31, 0x86, 0xe8, 0x98, 0xc7, 0xc2, 0x1a, 0x75, 0x7f, 0xbf, 0x6a, 0xd8, 0x18, + 0xa2, 0x63, 0x94, 0xe5, 0x5e, 0x18, 0x33, 0x77, 0x76, 0xda, 0x58, 0x38, 0x17, 0x44, 0x5f, 0x3d, + 0x46, 0xbd, 0x61, 0xc2, 0x38, 0x75, 0x15, 0x52, 0xdc, 0x0e, 0x78, 0x49, 0xc6, 0x96, 0xa8, 0xb4, + 0xe8, 0xfb, 0x74, 0x62, 0x6e, 0xd0, 0x48, 0x59, 0x9c, 0x78, 0x1c, 0x86, 0xeb, 0x4e, 0xc5, 0xdf, + 0x7e, 0x4f, 0xcc, 0x26, 0xe6, 0x52, 0xc6, 0x50, 0xdd, 0xf1, 0xb6, 0x2e, 0x33, 0x5f, 0x49, 0xc0, + 0xa8, 0x78, 0x7c, 0xa0, 0x17, 0x21, 0xd5, 0xb0, 0xab, 0x26, 0x09, 0x2d, 0x7a, 0x76, 0x35, 0x17, + 0x71, 0xe2, 0xb0, 0x70, 0x8d, 0xf1, 0x1b, 0x1e, 0x72, 0xea, 0x07, 0x0a, 0xa4, 0xf8, 0xb0, 0x3e, + 0x09, 0xc9, 0x96, 0xe9, 0xee, 0x12, 0x71, 0xfd, 0xf9, 0x84, 0xa6, 0x18, 0xe4, 0x3b, 0x1e, 0x77, + 0x5a, 0xa6, 0x45, 0x42, 0x80, 0x8d, 0xe3, 0xef, 0xd8, 0xaf, 0x0d, 0x64, 0xd6, 0xc8, 0x7b, 0x8d, + 0xdd, 0x6c, 0x22, 0xcb, 0x75, 0xb8, 0x5f, 0xd9, 0x78, 0x81, 0x0d, 0xeb, 0xf7, 0xc3, 0xb8, 0xdb, + 0x36, 0xeb, 0x0d, 0x81, 0x37, 0x49, 0x78, 0x35, 0x4e, 0xf0, 0x98, 0xb3, 0x70, 0x07, 0x97, 0x5b, + 0x43, 0xae, 0x59, 0xdd, 0x45, 0x35, 0x1f, 0x34, 0x40, 0xf6, 0x2f, 0x8e, 0x32, 0x86, 0x22, 0xa3, + 0x73, 0x6c, 0xe6, 0x87, 0x0a, 0x8c, 0xf3, 0x37, 0xb1, 0x9a, 0x67, 0xac, 0x55, 0x00, 0xd3, 0xb2, + 0x6c, 0x37, 0x68, 0xae, 0xee, 0x50, 0xee, 0xc2, 0x2d, 0xe4, 0x3c, 0x90, 0x11, 0x10, 0x30, 0xd5, + 0x04, 0xf0, 0x29, 0x3d, 0xcd, 0x36, 0x03, 0x43, 0xec, 0x6c, 0x88, 0x1c, 0x30, 0xd2, 0x77, 0x77, + 0xa0, 0x43, 0xf8, 0x95, 0x4d, 0x3f, 0x0c, 0xfd, 0x37, 0xd0, 0x4e, 0xdd, 0x62, 0x3b, 0xbe, 0xf4, + 0x0b, 0xdf, 0x61, 0x49, 0x7a, 0x3b, 0x2c, 0xf9, 0x0f, 0xc2, 0x44, 0xd5, 0x6e, 0xca, 0xea, 0xe6, + 0x35, 0x69, 0xff, 0xc0, 0x79, 0x54, 0xf9, 0x00, 0xf8, 0x2d, 0xe6, 0x2f, 0x14, 0xe5, 0x0b, 0x09, + 0xf5, 0xca, 0x7a, 0xfe, 0x6b, 0x89, 0xa9, 0x2b, 0x14, 0xba, 0xce, 0x67, 0x6a, 0xa0, 0xed, 0x06, + 0xaa, 0x62, 0xed, 0xe1, 0xcb, 0xf7, 0xc3, 0x83, 0x3b, 0x75, 0x77, 0xb7, 0x73, 0x63, 0xa1, 0x6a, + 0x37, 0x4f, 0xed, 0xd8, 0x3b, 0xb6, 0x7f, 0xa6, 0x8a, 0xbf, 0x91, 0x2f, 0xe4, 0x13, 0x3b, 0x57, + 0x1d, 0xf4, 0x46, 0xa7, 0x22, 0x0f, 0x61, 0xb3, 0x65, 0x98, 0x60, 0xcc, 0x15, 0x72, 0xb0, 0x43, + 0x5f, 0x4f, 0xf4, 0x7d, 0x37, 0xc7, 0xd2, 0xdf, 0xf8, 0x09, 0x59, 0xae, 0x8d, 0x71, 0x06, 0xc5, + 0x34, 0xfa, 0x06, 0x93, 0x35, 0xe0, 0x88, 0x20, 0x8f, 0xa6, 0x26, 0x6a, 0x47, 0x48, 0xfc, 0x3e, + 0x93, 0x38, 0x11, 0x90, 0xb8, 0xc1, 0xa0, 0xd9, 0x02, 0x8c, 0x1c, 0x44, 0xd6, 0x9f, 0x30, 0x59, + 0xc3, 0x28, 0x28, 0xe4, 0x0a, 0x8c, 0x11, 0x21, 0xd5, 0x8e, 0xe3, 0xda, 0x4d, 0x52, 0xf7, 0xf6, + 0x17, 0xf3, 0xa7, 0x3f, 0xa1, 0xb9, 0x32, 0x8a, 0x61, 0x05, 0x0f, 0x95, 0xcd, 0x02, 0x39, 0xcb, + 0xaa, 0xa1, 0x6a, 0x23, 0x42, 0xc2, 0x4d, 0xa6, 0x88, 0xc7, 0x9f, 0x7d, 0x3f, 0x1c, 0xc6, 0x9f, + 0x49, 0x59, 0x0a, 0x6a, 0x12, 0xbd, 0x93, 0x96, 0xfe, 0xe1, 0x47, 0x68, 0x3a, 0x4e, 0x78, 0x02, + 0x02, 0x3a, 0x05, 0xbc, 0xb8, 0x83, 0x5c, 0x17, 0xb5, 0x9d, 0x8a, 0xd9, 0x08, 0x53, 0x2f, 0xb0, + 0x15, 0x91, 0xfe, 0xd4, 0xeb, 0xa2, 0x17, 0xaf, 0x50, 0x64, 0xae, 0xd1, 0xc8, 0x6e, 0xc1, 0xd1, + 0x90, 0xa8, 0x88, 0x21, 0xf3, 0xd3, 0x4c, 0xe6, 0xe1, 0xae, 0xc8, 0xc0, 0x62, 0xd7, 0x81, 0x8f, + 0x7b, 0xbe, 0x8c, 0x21, 0xf3, 0xff, 0x33, 0x99, 0x3a, 0xc3, 0x72, 0x97, 0x62, 0x89, 0x57, 0x61, + 0xfc, 0x29, 0xd4, 0xbe, 0x61, 0x3b, 0x6c, 0xfb, 0x27, 0x86, 0xb8, 0xcf, 0x30, 0x71, 0x63, 0x0c, + 0x48, 0xf6, 0x83, 0xb0, 0xac, 0x8b, 0x90, 0xda, 0x36, 0xab, 0x28, 0x86, 0x88, 0xcf, 0x32, 0x11, + 0x87, 0x30, 0x3f, 0x86, 0xe6, 0x60, 0x78, 0xc7, 0x66, 0x2b, 0x53, 0x34, 0xfc, 0x79, 0x06, 0x1f, + 0xe2, 0x18, 0x26, 0xa2, 0x65, 0xb7, 0x3a, 0x0d, 0xbc, 0x6c, 0x45, 0x8b, 0xf8, 0x1c, 0x17, 0xc1, + 0x31, 0x4c, 0xc4, 0x01, 0xcc, 0xfa, 0x02, 0x17, 0xe1, 0x04, 0xec, 0xf9, 0x08, 0x0c, 0xd9, 0x56, + 0x63, 0xcf, 0xb6, 0xe2, 0x28, 0xf1, 0x79, 0x26, 0x01, 0x18, 0x04, 0x0b, 0xb8, 0x04, 0x83, 0x71, + 0x1d, 0xf1, 0xa5, 0xd7, 0x79, 0x7a, 0x70, 0x0f, 0x5c, 0x81, 0x31, 0x5e, 0xa0, 0xea, 0xb6, 0x15, + 0x43, 0xc4, 0x97, 0x99, 0x88, 0xd1, 0x00, 0x8c, 0x4d, 0xc3, 0x45, 0x8e, 0xbb, 0x83, 0xe2, 0x08, + 0xf9, 0x0a, 0x9f, 0x06, 0x83, 0x30, 0x53, 0xde, 0x40, 0x56, 0x75, 0x37, 0x9e, 0x84, 0x17, 0xb9, + 0x29, 0x39, 0x06, 0x8b, 0x28, 0xc0, 0x48, 0xd3, 0x6c, 0x3b, 0xbb, 0x66, 0x23, 0x96, 0x3b, 0xbe, + 0xca, 0x64, 0x0c, 0x7b, 0x20, 0x66, 0x91, 0x8e, 0x75, 0x10, 0x31, 0x5f, 0xe3, 0x16, 0x09, 0xc0, + 0x58, 0xea, 0x39, 0x2e, 0xd9, 0x2b, 0x3b, 0x88, 0xb4, 0xdf, 0xe0, 0xa9, 0x47, 0xb1, 0xab, 0x41, + 0x89, 0x97, 0x60, 0xd0, 0xa9, 0x3f, 0x1b, 0x4b, 0xcc, 0x6f, 0x72, 0x4f, 0x13, 0x00, 0x06, 0x5f, + 0x87, 0x3b, 0x42, 0x97, 0x89, 0x18, 0xc2, 0x7e, 0x8b, 0x09, 0x9b, 0x0c, 0x59, 0x2a, 0x58, 0x49, + 0x38, 0xa8, 0xc8, 0xdf, 0xe6, 0x25, 0x01, 0x49, 0xb2, 0xd6, 0xf1, 0xbb, 0x82, 0x63, 0x6e, 0x1f, + 0xcc, 0x6a, 0xbf, 0xc3, 0xad, 0x46, 0xb1, 0x82, 0xd5, 0x36, 0x61, 0x92, 0x49, 0x3c, 0x98, 0x5f, + 0xbf, 0xce, 0x0b, 0x2b, 0x45, 0x6f, 0x89, 0xde, 0xfd, 0x20, 0x4c, 0x79, 0xe6, 0xe4, 0x4d, 0xa9, + 0x53, 0x69, 0x9a, 0xad, 0x18, 0x92, 0xbf, 0xc1, 0x24, 0xf3, 0x8a, 0xef, 0x75, 0xb5, 0xce, 0xaa, + 0xd9, 0xc2, 0xc2, 0x1f, 0x87, 0x34, 0x17, 0xde, 0xb1, 0xda, 0xa8, 0x6a, 0xef, 0x58, 0xf5, 0x67, + 0x51, 0x2d, 0x86, 0xe8, 0xdf, 0x95, 0x5c, 0xb5, 0x15, 0x80, 0x63, 0xc9, 0x2b, 0xa0, 0x79, 0xbd, + 0x4a, 0xa5, 0xde, 0x6c, 0xd9, 0x6d, 0x37, 0x42, 0xe2, 0xef, 0x71, 0x4f, 0x79, 0xb8, 0x15, 0x02, + 0xcb, 0x96, 0x60, 0x94, 0x7c, 0x8d, 0x1b, 0x92, 0xdf, 0x64, 0x82, 0x46, 0x7c, 0x14, 0x2b, 0x1c, + 0x55, 0xbb, 0xd9, 0x32, 0xdb, 0x71, 0xea, 0xdf, 0xef, 0xf3, 0xc2, 0xc1, 0x20, 0xac, 0x70, 0xb8, + 0x7b, 0x2d, 0x84, 0x57, 0xfb, 0x18, 0x12, 0xbe, 0xc5, 0x0b, 0x07, 0xc7, 0x30, 0x11, 0xbc, 0x61, + 0x88, 0x21, 0xe2, 0x0f, 0xb8, 0x08, 0x8e, 0xc1, 0x22, 0xde, 0xe7, 0x2f, 0xb4, 0x6d, 0xb4, 0x53, + 0x77, 0xdc, 0x36, 0x6d, 0x85, 0xf7, 0x17, 0xf5, 0xed, 0xd7, 0xc5, 0x26, 0xcc, 0x08, 0x40, 0x71, + 0x25, 0x62, 0x5b, 0xa8, 0xe4, 0x4d, 0x29, 0x5a, 0xb1, 0xef, 0xf0, 0x4a, 0x14, 0x80, 0x61, 0xdd, + 0x02, 0x1d, 0x22, 0x36, 0x7b, 0x15, 0xbf, 0x1f, 0xc4, 0x10, 0xf7, 0x5d, 0x49, 0xb9, 0x0d, 0x8e, + 0xc5, 0x32, 0x03, 0xfd, 0x4f, 0xc7, 0x7a, 0x12, 0xed, 0xc5, 0x8a, 0xce, 0x3f, 0x94, 0xfa, 0x9f, + 0x2d, 0x8a, 0xa4, 0x35, 0x64, 0x4c, 0xea, 0xa7, 0xf4, 0xa8, 0x5b, 0x40, 0xe9, 0x7f, 0xff, 0x06, + 0x9b, 0xaf, 0xd8, 0x4e, 0x65, 0xaf, 0xe1, 0x20, 0x17, 0x9b, 0x9e, 0x68, 0x61, 0x1f, 0x79, 0xc3, + 0x8b, 0x73, 0xa1, 0xe7, 0xc9, 0x5e, 0x86, 0x11, 0xa1, 0xe1, 0x89, 0x16, 0xf5, 0x1f, 0x98, 0xa8, + 0xe1, 0x60, 0xbf, 0x93, 0x3d, 0x0b, 0x49, 0xdc, 0xbc, 0x44, 0xc3, 0xff, 0x23, 0x83, 0x13, 0xf6, + 0xec, 0x43, 0x90, 0xe2, 0x4d, 0x4b, 0x34, 0xf4, 0xa3, 0x0c, 0xea, 0x41, 0x30, 0x9c, 0x37, 0x2c, + 0xd1, 0xf0, 0xff, 0xc4, 0xe1, 0x1c, 0x82, 0xe1, 0xf1, 0x4d, 0xf8, 0xd2, 0x7f, 0x49, 0xb2, 0x45, + 0x87, 0xdb, 0xee, 0x12, 0x1c, 0x62, 0x9d, 0x4a, 0x34, 0xfa, 0xe3, 0xec, 0xe1, 0x1c, 0x91, 0x3d, + 0x0f, 0xfd, 0x31, 0x0d, 0xfe, 0xdf, 0x18, 0x94, 0xf2, 0x67, 0x0b, 0x30, 0x14, 0xe8, 0x4e, 0xa2, + 0xe1, 0xff, 0x9d, 0xc1, 0x83, 0x28, 0xac, 0x3a, 0xeb, 0x4e, 0xa2, 0x05, 0xfc, 0x0f, 0xae, 0x3a, + 0x43, 0x60, 0xb3, 0xf1, 0xc6, 0x24, 0x1a, 0xfd, 0x3f, 0xb9, 0xd5, 0x39, 0x24, 0xfb, 0x08, 0x0c, + 0x7a, 0x8b, 0x4d, 0x34, 0xfe, 0x7f, 0x31, 0xbc, 0x8f, 0xc1, 0x16, 0x08, 0x2c, 0x76, 0xd1, 0x22, + 0xfe, 0x37, 0xb7, 0x40, 0x00, 0x85, 0xd3, 0x48, 0x6e, 0x60, 0xa2, 0x25, 0x7d, 0x82, 0xa7, 0x91, + 0xd4, 0xbf, 0x60, 0x6f, 0x92, 0x9a, 0x1f, 0x2d, 0xe2, 0xff, 0x70, 0x6f, 0x12, 0x7e, 0xac, 0x86, + 0xdc, 0x11, 0x44, 0xcb, 0xf8, 0x7f, 0x5c, 0x0d, 0xa9, 0x21, 0xc8, 0xae, 0x83, 0xde, 0xdd, 0x0d, + 0x44, 0xcb, 0xfb, 0x24, 0x93, 0x37, 0xde, 0xd5, 0x0c, 0x64, 0x1f, 0x83, 0xc9, 0xf0, 0x4e, 0x20, + 0x5a, 0xea, 0xa7, 0xde, 0x90, 0xde, 0xdd, 0x82, 0x8d, 0x40, 0x76, 0xd3, 0x5f, 0x52, 0x82, 0x5d, + 0x40, 0xb4, 0xd8, 0x4f, 0xbf, 0x21, 0x16, 0xee, 0x60, 0x13, 0x90, 0xcd, 0x01, 0xf8, 0x0b, 0x70, + 0xb4, 0xac, 0xcf, 0x30, 0x59, 0x01, 0x10, 0x4e, 0x0d, 0xb6, 0xfe, 0x46, 0xe3, 0x3f, 0xcb, 0x53, + 0x83, 0x21, 0x70, 0x6a, 0xf0, 0xa5, 0x37, 0x1a, 0xfd, 0x3c, 0x4f, 0x0d, 0x0e, 0xc1, 0x91, 0x1d, + 0x58, 0xdd, 0xa2, 0x25, 0x7c, 0x9e, 0x47, 0x76, 0x00, 0x95, 0x2d, 0xc3, 0x78, 0xd7, 0x82, 0x18, + 0x2d, 0xea, 0x0b, 0x4c, 0x94, 0x26, 0xaf, 0x87, 0xc1, 0xc5, 0x8b, 0x2d, 0x86, 0xd1, 0xd2, 0xbe, + 0x28, 0x2d, 0x5e, 0x6c, 0x2d, 0xcc, 0x5e, 0x82, 0x94, 0xd5, 0x69, 0x34, 0x70, 0xf2, 0xe8, 0xfb, + 0xdf, 0xdc, 0x4b, 0xff, 0xf5, 0x9b, 0xcc, 0x3a, 0x1c, 0x90, 0x3d, 0x0b, 0xfd, 0xa8, 0x79, 0x03, + 0xd5, 0xa2, 0x90, 0x7f, 0xf3, 0x26, 0x2f, 0x98, 0x98, 0x3b, 0xfb, 0x08, 0x00, 0xdd, 0x1a, 0x21, + 0xc7, 0x7e, 0x11, 0xd8, 0xbf, 0x7d, 0x93, 0xdd, 0xa9, 0xf1, 0x21, 0xbe, 0x00, 0x7a, 0x43, 0x67, + 0x7f, 0x01, 0xaf, 0x8b, 0x02, 0x88, 0x47, 0x2e, 0xc2, 0xa1, 0x27, 0x1c, 0xdb, 0x72, 0xcd, 0x9d, + 0x28, 0xf4, 0xdf, 0x31, 0x34, 0xe7, 0xc7, 0x06, 0x6b, 0xda, 0x6d, 0xe4, 0x9a, 0x3b, 0x4e, 0x14, + 0xf6, 0xef, 0x19, 0xd6, 0x03, 0x60, 0x70, 0xd5, 0x74, 0xdc, 0x38, 0xf3, 0xfe, 0x07, 0x0e, 0xe6, + 0x00, 0xac, 0x34, 0xfe, 0xfc, 0x24, 0xda, 0x8b, 0xc2, 0xfe, 0x8c, 0x2b, 0xcd, 0xf8, 0xb3, 0x0f, + 0xc1, 0x20, 0xfe, 0x48, 0x2f, 0xca, 0x45, 0x80, 0xff, 0x91, 0x81, 0x7d, 0x04, 0x7e, 0xb2, 0xe3, + 0xd6, 0xdc, 0x7a, 0xb4, 0xb1, 0x7f, 0xce, 0x3c, 0xcd, 0xf9, 0xb3, 0x39, 0x18, 0x72, 0xdc, 0x5a, + 0xad, 0xc3, 0xfa, 0xd3, 0x08, 0xf8, 0x3f, 0xbd, 0xe9, 0x6d, 0x59, 0x78, 0x18, 0xec, 0xed, 0xa7, + 0x9f, 0x74, 0x5b, 0x36, 0x39, 0xe6, 0x88, 0x92, 0xf0, 0x06, 0x93, 0x10, 0x80, 0xe4, 0x4b, 0xe1, + 0xdb, 0xb7, 0x70, 0xc5, 0xbe, 0x62, 0xd3, 0x8d, 0xdb, 0x0f, 0x64, 0xa2, 0x77, 0x60, 0xe1, 0x07, + 0x0d, 0x98, 0xad, 0xda, 0xcd, 0x1b, 0xb6, 0x73, 0x2a, 0x50, 0xcc, 0x4f, 0xb9, 0xbb, 0x08, 0xaf, + 0xc3, 0x6c, 0x6f, 0x36, 0x89, 0x3f, 0x4f, 0x1d, 0x6c, 0x43, 0x97, 0x1c, 0xd7, 0x97, 0xeb, 0x78, + 0x0e, 0x65, 0x72, 0x62, 0xa2, 0x1f, 0x83, 0x01, 0x32, 0xab, 0xd3, 0xe4, 0x54, 0x52, 0xc9, 0x27, + 0x6f, 0xbe, 0x32, 0xd3, 0x67, 0xb0, 0x31, 0x8f, 0xba, 0x44, 0xb6, 0xb4, 0x13, 0x02, 0x75, 0xc9, + 0xa3, 0x9e, 0xa1, 0xbb, 0xda, 0x02, 0xf5, 0x8c, 0x47, 0x5d, 0x26, 0xfb, 0xdb, 0xaa, 0x40, 0x5d, + 0xf6, 0xa8, 0x67, 0xc9, 0x19, 0xce, 0x88, 0x40, 0x3d, 0xeb, 0x51, 0xcf, 0x91, 0x93, 0x9b, 0xa4, + 0x40, 0x3d, 0xe7, 0x51, 0xcf, 0x93, 0x43, 0x9b, 0x71, 0x81, 0x7a, 0xde, 0xa3, 0x5e, 0x20, 0x87, + 0x35, 0xba, 0x40, 0xbd, 0xe0, 0x51, 0x2f, 0x92, 0x2b, 0x56, 0x87, 0x04, 0xea, 0x45, 0x7d, 0x1a, + 0x0e, 0xd1, 0x99, 0x2f, 0x92, 0x93, 0xfd, 0x31, 0x46, 0xe6, 0x83, 0x3e, 0xfd, 0x34, 0xb9, 0x4e, + 0x35, 0x20, 0xd2, 0x4f, 0xfb, 0xf4, 0x25, 0xf2, 0x97, 0x1d, 0x9a, 0x48, 0x5f, 0xf2, 0xe9, 0x67, + 0xd2, 0x23, 0xe4, 0x4a, 0x99, 0x40, 0x3f, 0xe3, 0xd3, 0x97, 0xd3, 0xa3, 0x38, 0x35, 0x44, 0xfa, + 0xb2, 0x4f, 0x3f, 0x9b, 0x1e, 0x9b, 0x55, 0xe6, 0x86, 0x45, 0xfa, 0xd9, 0xcc, 0x87, 0x89, 0x7b, + 0x2d, 0xdf, 0xbd, 0x93, 0xa2, 0x7b, 0x3d, 0xc7, 0x4e, 0x8a, 0x8e, 0xf5, 0x5c, 0x3a, 0x29, 0xba, + 0xd4, 0x73, 0xe6, 0xa4, 0xe8, 0x4c, 0xcf, 0x8d, 0x93, 0xa2, 0x1b, 0x3d, 0x07, 0x4e, 0x8a, 0x0e, + 0xf4, 0x5c, 0x37, 0x29, 0xba, 0xce, 0x73, 0xda, 0xa4, 0xe8, 0x34, 0xcf, 0x5d, 0x93, 0xa2, 0xbb, + 0x3c, 0x47, 0xa5, 0x25, 0x47, 0xf9, 0x2e, 0x4a, 0x4b, 0x2e, 0xf2, 0x9d, 0x93, 0x96, 0x9c, 0xe3, + 0xbb, 0x25, 0x2d, 0xb9, 0xc5, 0x77, 0x48, 0x5a, 0x72, 0x88, 0xef, 0x8a, 0xb4, 0xe4, 0x0a, 0xdf, + 0x09, 0x2c, 0xc7, 0x0c, 0xd4, 0x0a, 0xc9, 0x31, 0x75, 0xdf, 0x1c, 0x53, 0xf7, 0xcd, 0x31, 0x75, + 0xdf, 0x1c, 0x53, 0xf7, 0xcd, 0x31, 0x75, 0xdf, 0x1c, 0x53, 0xf7, 0xcd, 0x31, 0x75, 0xdf, 0x1c, + 0x53, 0xf7, 0xcd, 0x31, 0x75, 0xff, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0x8d, 0xc8, 0x31, 0x35, 0x22, + 0xc7, 0xd4, 0x88, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0xed, 0x99, 0x63, 0xbe, 0x7b, 0x27, 0x45, 0xf7, + 0x86, 0xe6, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, 0xc8, 0x31, 0xb5, 0x47, 0x8e, + 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe5, 0x98, 0xda, 0x33, + 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, 0x4c, 0x0d, + 0xe6, 0xd8, 0x1f, 0xa9, 0xa0, 0xd3, 0x1c, 0x5b, 0x27, 0x77, 0xc3, 0x98, 0x2b, 0xa6, 0xa5, 0x4c, + 0x1b, 0xc0, 0xae, 0xd3, 0x7c, 0x97, 0x4c, 0x4b, 0xb9, 0x26, 0xd2, 0x97, 0x3c, 0x3a, 0xcf, 0x36, + 0x91, 0x7e, 0xc6, 0xa3, 0xf3, 0x7c, 0x13, 0xe9, 0xcb, 0x1e, 0x9d, 0x67, 0x9c, 0x48, 0x3f, 0xeb, + 0xd1, 0x79, 0xce, 0x89, 0xf4, 0x73, 0x1e, 0x9d, 0x67, 0x9d, 0x48, 0x3f, 0xef, 0xd1, 0x79, 0xde, + 0x89, 0xf4, 0x0b, 0x1e, 0x9d, 0x67, 0x9e, 0x48, 0xbf, 0xa8, 0xcf, 0xca, 0xb9, 0xc7, 0x19, 0x3c, + 0xd7, 0xce, 0xca, 0xd9, 0x27, 0x71, 0x9c, 0xf6, 0x39, 0x78, 0xfe, 0x49, 0x1c, 0x4b, 0x3e, 0x07, + 0xcf, 0x40, 0x89, 0xe3, 0x4c, 0xe6, 0x63, 0xc4, 0x7d, 0x96, 0xec, 0xbe, 0x29, 0xc9, 0x7d, 0x89, + 0x80, 0xeb, 0xa6, 0x24, 0xd7, 0x25, 0x02, 0x6e, 0x9b, 0x92, 0xdc, 0x96, 0x08, 0xb8, 0x6c, 0x4a, + 0x72, 0x59, 0x22, 0xe0, 0xae, 0x29, 0xc9, 0x5d, 0x89, 0x80, 0xab, 0xa6, 0x24, 0x57, 0x25, 0x02, + 0x6e, 0x9a, 0x92, 0xdc, 0x94, 0x08, 0xb8, 0x68, 0x4a, 0x72, 0x51, 0x22, 0xe0, 0x9e, 0x29, 0xc9, + 0x3d, 0x89, 0x80, 0x6b, 0x8e, 0xc9, 0xae, 0x49, 0x04, 0xdd, 0x72, 0x4c, 0x76, 0x4b, 0x22, 0xe8, + 0x92, 0x63, 0xb2, 0x4b, 0x12, 0x41, 0x77, 0x1c, 0x93, 0xdd, 0x91, 0x08, 0xba, 0xe2, 0x97, 0x09, + 0xde, 0x11, 0x6e, 0xb8, 0xed, 0x4e, 0xd5, 0xbd, 0xad, 0x8e, 0x70, 0x51, 0x68, 0x1f, 0x86, 0x96, + 0xf4, 0x05, 0xd2, 0xb0, 0x06, 0x3b, 0x4e, 0x69, 0x05, 0x5b, 0x14, 0x1a, 0x8b, 0x00, 0xc2, 0x0a, + 0x47, 0x2c, 0xdf, 0x56, 0x6f, 0xb8, 0x28, 0xb4, 0x19, 0xd1, 0xfa, 0x5d, 0x78, 0xc7, 0x3b, 0xb6, + 0x97, 0x12, 0xbc, 0x63, 0x63, 0xe6, 0x3f, 0x68, 0xc7, 0x36, 0x1f, 0x6d, 0x72, 0xcf, 0xd8, 0xf3, + 0xd1, 0xc6, 0xee, 0x5a, 0x75, 0xe2, 0x76, 0x70, 0xf3, 0xd1, 0xa6, 0xf5, 0x8c, 0xfa, 0xf6, 0xf6, + 0x5b, 0x2c, 0x82, 0x0d, 0xd4, 0x0a, 0x89, 0xe0, 0x83, 0xf6, 0x5b, 0x8b, 0x42, 0x29, 0x39, 0x68, + 0x04, 0xab, 0x07, 0x8e, 0xe0, 0x83, 0x76, 0x5e, 0x8b, 0x42, 0x79, 0x39, 0x70, 0x04, 0xbf, 0x03, + 0xfd, 0x10, 0x8b, 0x60, 0xdf, 0xfc, 0x07, 0xed, 0x87, 0xe6, 0xa3, 0x4d, 0x1e, 0x1a, 0xc1, 0xea, + 0x01, 0x22, 0x38, 0x4e, 0x7f, 0x34, 0x1f, 0x6d, 0xda, 0xf0, 0x08, 0xbe, 0xed, 0x6e, 0xe6, 0x73, + 0x0a, 0x8c, 0x97, 0xeb, 0xb5, 0x52, 0xf3, 0x06, 0xaa, 0xd5, 0x50, 0x8d, 0xd9, 0x71, 0x51, 0xa8, + 0x04, 0x3d, 0x5c, 0xfd, 0xf2, 0x2b, 0x33, 0xbe, 0x85, 0xcf, 0x42, 0x8a, 0xda, 0x74, 0x71, 0x31, + 0x7d, 0x53, 0x89, 0xa8, 0x70, 0x1e, 0xab, 0x7e, 0x9c, 0xc3, 0x4e, 0x2f, 0xa6, 0xff, 0x5c, 0x09, + 0x54, 0x39, 0x6f, 0x38, 0xf3, 0x09, 0xa2, 0xa1, 0x75, 0xdb, 0x1a, 0x9e, 0x8a, 0xa5, 0x61, 0x40, + 0xb7, 0x3b, 0xbb, 0x74, 0x0b, 0x68, 0xd5, 0x81, 0xb1, 0x72, 0xbd, 0x56, 0x26, 0xbf, 0x29, 0x10, + 0x47, 0x25, 0xca, 0x23, 0xd5, 0x83, 0x45, 0x21, 0x2c, 0x83, 0x08, 0x2f, 0xa4, 0xc5, 0x1a, 0x91, + 0xa9, 0xe3, 0xc7, 0x5a, 0xc2, 0x63, 0xe7, 0x7b, 0x3d, 0xd6, 0xaf, 0xec, 0xde, 0x03, 0xe7, 0x7b, + 0x3d, 0xd0, 0xcf, 0x21, 0xef, 0x51, 0xcf, 0xf0, 0xc5, 0x99, 0xde, 0xd0, 0xd2, 0x8f, 0x41, 0x62, + 0x85, 0x5e, 0x20, 0x1f, 0xce, 0x0f, 0x63, 0xa5, 0x7e, 0xf4, 0xca, 0x4c, 0x72, 0xab, 0x53, 0xaf, + 0x19, 0x89, 0x95, 0x9a, 0x7e, 0x15, 0xfa, 0xdf, 0xcf, 0xfe, 0xb2, 0x15, 0x33, 0x2c, 0x33, 0x86, + 0x07, 0x7a, 0xee, 0x11, 0xe1, 0x07, 0x9f, 0xa2, 0xbb, 0x95, 0x0b, 0x5b, 0x75, 0xcb, 0x3d, 0xbd, + 0x74, 0xc1, 0xa0, 0x22, 0x32, 0xff, 0x1a, 0x80, 0x3e, 0xb3, 0x68, 0x3a, 0xbb, 0x7a, 0x99, 0x4b, + 0xa6, 0x8f, 0xbe, 0xf0, 0xa3, 0x57, 0x66, 0x96, 0xe3, 0x48, 0x7d, 0xb0, 0x66, 0x3a, 0xbb, 0x0f, + 0xba, 0x7b, 0x2d, 0xb4, 0x90, 0xdf, 0x73, 0x91, 0xc3, 0xa5, 0xb7, 0xf8, 0xaa, 0xc7, 0xe6, 0x95, + 0x0e, 0xcc, 0x2b, 0x25, 0xcc, 0xe9, 0xb2, 0x38, 0xa7, 0xc5, 0xb7, 0x3a, 0x9f, 0x67, 0xf8, 0x22, + 0x21, 0x59, 0x52, 0x8d, 0xb2, 0xa4, 0x7a, 0xbb, 0x96, 0x6c, 0xf1, 0xfa, 0x28, 0xcd, 0x55, 0xdd, + 0x6f, 0xae, 0xea, 0xed, 0xcc, 0xf5, 0x9f, 0x69, 0xb6, 0x7a, 0xf9, 0xb4, 0x65, 0xd1, 0xcb, 0xab, + 0xbf, 0x5e, 0x7b, 0x41, 0x6f, 0x6b, 0x17, 0x90, 0x4d, 0xde, 0x7c, 0x61, 0x46, 0xc9, 0x7c, 0x2e, + 0xc1, 0x67, 0x4e, 0x13, 0xe9, 0xad, 0xcd, 0xfc, 0xd7, 0xa5, 0xa7, 0x7a, 0x27, 0x2c, 0xf4, 0xbc, + 0x02, 0x93, 0x5d, 0x95, 0x9c, 0x9a, 0xe9, 0xed, 0x2d, 0xe7, 0xd6, 0x41, 0xcb, 0x39, 0x53, 0xf0, + 0x9b, 0x0a, 0x1c, 0x96, 0xca, 0x2b, 0x55, 0xef, 0x94, 0xa4, 0xde, 0xd1, 0xee, 0x27, 0x11, 0xc6, + 0x80, 0x76, 0x41, 0xf7, 0x4a, 0x80, 0x80, 0x64, 0xcf, 0xef, 0xcb, 0x92, 0xdf, 0x8f, 0x79, 0x80, + 0x10, 0x73, 0xf1, 0x08, 0x60, 0x6a, 0xdb, 0x90, 0xdc, 0x6c, 0x23, 0xa4, 0x4f, 0x43, 0x62, 0xad, + 0xcd, 0x34, 0x1c, 0xa5, 0xf8, 0xb5, 0x76, 0xbe, 0x6d, 0x5a, 0xd5, 0x5d, 0x23, 0xb1, 0xd6, 0xd6, + 0x8f, 0x83, 0x9a, 0x63, 0x7f, 0x55, 0x3f, 0xb4, 0x34, 0x46, 0x19, 0x72, 0x56, 0x8d, 0x71, 0x60, + 0x9a, 0x3e, 0x0d, 0xc9, 0x6b, 0xc8, 0xdc, 0x66, 0x4a, 0x00, 0xe5, 0xc1, 0x23, 0x06, 0x19, 0x67, + 0x0f, 0x7c, 0x1c, 0x52, 0x5c, 0xb0, 0x7e, 0x02, 0x23, 0xb6, 0x5d, 0xf6, 0x58, 0x86, 0xc0, 0xea, + 0xb0, 0x95, 0x8b, 0x50, 0xf5, 0x93, 0xd0, 0x6f, 0xd4, 0x77, 0x76, 0x5d, 0xf6, 0xf0, 0x6e, 0x36, + 0x4a, 0xce, 0x5c, 0x87, 0x41, 0x4f, 0xa3, 0xb7, 0x59, 0x74, 0x91, 0x4e, 0x4d, 0x9f, 0x0a, 0xae, + 0x27, 0x7c, 0xdf, 0x92, 0x0e, 0xe9, 0xb3, 0x90, 0xda, 0x70, 0xdb, 0x7e, 0xd1, 0xe7, 0x1d, 0xa9, + 0x37, 0x9a, 0xf9, 0xb0, 0x02, 0xa9, 0x22, 0x42, 0x2d, 0x62, 0xf0, 0x7b, 0x20, 0x59, 0xb4, 0x9f, + 0xb6, 0x98, 0x82, 0xe3, 0xcc, 0xa2, 0x98, 0xcc, 0x6c, 0x4a, 0xc8, 0xfa, 0x3d, 0x41, 0xbb, 0x4f, + 0x78, 0x76, 0x0f, 0xf0, 0x11, 0xdb, 0x67, 0x04, 0xdb, 0x33, 0x07, 0x62, 0xa6, 0x2e, 0xfb, 0x9f, + 0x87, 0xa1, 0xc0, 0x53, 0xf4, 0x39, 0xa6, 0x46, 0x42, 0x06, 0x06, 0x6d, 0x85, 0x39, 0x32, 0x08, + 0x46, 0x84, 0x07, 0x63, 0x68, 0xc0, 0xc4, 0x3d, 0xa0, 0xc4, 0xcc, 0xf3, 0xa2, 0x99, 0xc3, 0x59, + 0x99, 0xa9, 0x17, 0xa9, 0x8d, 0x88, 0xb9, 0x4f, 0xd0, 0xe0, 0xec, 0xed, 0x44, 0xfc, 0x39, 0xd3, + 0x0f, 0x6a, 0xb9, 0xde, 0xc8, 0x3c, 0x04, 0x40, 0x53, 0xbe, 0x64, 0x75, 0x9a, 0x52, 0xd6, 0x8d, + 0x72, 0x03, 0x6f, 0xee, 0xa2, 0x4d, 0xe4, 0x10, 0x16, 0xb1, 0x9f, 0xc2, 0x05, 0x06, 0x68, 0x8a, + 0x11, 0xfc, 0x7d, 0x91, 0xf8, 0xd0, 0x4e, 0x0c, 0xb3, 0xa6, 0x29, 0xeb, 0x75, 0xe4, 0xe6, 0x2c, + 0xdb, 0xdd, 0x45, 0x6d, 0x09, 0xb1, 0xa4, 0x9f, 0x11, 0x12, 0x76, 0x74, 0xe9, 0x4e, 0x0f, 0xd1, + 0x13, 0x74, 0x26, 0xf3, 0x75, 0xa2, 0x20, 0x6e, 0x05, 0xba, 0x26, 0xa8, 0xc6, 0x98, 0xa0, 0x7e, + 0x4e, 0xe8, 0xdf, 0xf6, 0x51, 0x53, 0x7a, 0xb5, 0xbc, 0x28, 0xbc, 0xe7, 0xec, 0xaf, 0xac, 0xf8, + 0x8e, 0xc9, 0x6d, 0xca, 0x55, 0xbe, 0x2f, 0x52, 0xe5, 0x1e, 0xdd, 0xed, 0x41, 0x6d, 0xaa, 0xc6, + 0xb5, 0xe9, 0x77, 0xbd, 0x8e, 0x83, 0xfe, 0x74, 0x09, 0xf9, 0xd1, 0x1f, 0xfd, 0x81, 0x48, 0xdf, + 0x67, 0x95, 0x82, 0xa7, 0xea, 0x72, 0x5c, 0xf7, 0x67, 0x13, 0xf9, 0xbc, 0xa7, 0xee, 0xf9, 0x03, + 0x84, 0x40, 0x36, 0x51, 0x28, 0x78, 0x65, 0x3b, 0xf5, 0xb1, 0x17, 0x66, 0x94, 0x17, 0x5f, 0x98, + 0xe9, 0xcb, 0x7c, 0x55, 0x81, 0x71, 0xc6, 0x19, 0x08, 0xdc, 0x07, 0x25, 0xe5, 0x8f, 0xf0, 0x9a, + 0x11, 0x66, 0x81, 0x77, 0x2d, 0x78, 0xbf, 0xaf, 0x40, 0xba, 0x4b, 0x57, 0x6e, 0xef, 0xc5, 0x58, + 0x2a, 0x67, 0x95, 0xd2, 0xaf, 0xde, 0xe6, 0xd7, 0xa1, 0x7f, 0xb3, 0xde, 0x44, 0x6d, 0xbc, 0x12, + 0xe0, 0x0f, 0x54, 0x65, 0x7e, 0x98, 0x43, 0x87, 0x38, 0x8d, 0x2a, 0x27, 0xd0, 0x96, 0xf4, 0x34, + 0x24, 0x8b, 0xa6, 0x6b, 0x12, 0x0d, 0x86, 0xbd, 0xfa, 0x6a, 0xba, 0x66, 0xe6, 0x0c, 0x0c, 0xaf, + 0xee, 0x91, 0x1b, 0x47, 0x35, 0x72, 0xd9, 0x44, 0xec, 0xfe, 0x78, 0xbf, 0x7a, 0x7a, 0xbe, 0x3f, + 0x55, 0xd3, 0x6e, 0x2a, 0xd9, 0x24, 0xd1, 0xe7, 0x29, 0x18, 0x5d, 0xc3, 0x6a, 0x13, 0x9c, 0x00, + 0xa3, 0x4f, 0x57, 0xbd, 0xc9, 0x4b, 0x4d, 0x99, 0xea, 0x37, 0x65, 0xb3, 0xa0, 0xac, 0x8a, 0xad, + 0x53, 0x50, 0x0f, 0x43, 0x59, 0x9d, 0x4f, 0xa6, 0x46, 0xb5, 0xf1, 0xf9, 0x64, 0x0a, 0xb4, 0x11, + 0xf6, 0xdc, 0x3f, 0x53, 0x41, 0xa3, 0xad, 0x4e, 0x11, 0x6d, 0xd7, 0xad, 0xba, 0xdb, 0xdd, 0xaf, + 0x7a, 0x1a, 0xeb, 0x8f, 0xc0, 0x20, 0x36, 0xe9, 0x65, 0xf6, 0xdb, 0x7f, 0xd8, 0xf4, 0xc7, 0x59, + 0x8b, 0x22, 0x89, 0x60, 0x03, 0x24, 0x74, 0x7c, 0x8c, 0x7e, 0x19, 0xd4, 0x72, 0x79, 0x95, 0x2d, + 0x6e, 0xcb, 0xfb, 0x42, 0xd9, 0xad, 0x1e, 0xf6, 0x8d, 0x8d, 0x39, 0x3b, 0x06, 0x16, 0xa0, 0x2f, + 0x43, 0xa2, 0xbc, 0xca, 0x1a, 0xde, 0x13, 0x71, 0xc4, 0x18, 0x89, 0xf2, 0xea, 0xd4, 0x1f, 0x2b, + 0x30, 0x22, 0x8c, 0xea, 0x19, 0x18, 0xa6, 0x03, 0x81, 0xe9, 0x0e, 0x18, 0xc2, 0x18, 0xd7, 0x39, + 0x71, 0x9b, 0x3a, 0x4f, 0xe5, 0x60, 0x4c, 0x1a, 0xd7, 0x17, 0x40, 0x0f, 0x0e, 0x31, 0x25, 0xe8, + 0xef, 0x8e, 0x85, 0x50, 0x32, 0x77, 0x01, 0xf8, 0x76, 0xf5, 0x7e, 0x2e, 0xab, 0x5c, 0xda, 0xd8, + 0x2c, 0x15, 0x35, 0x25, 0xf3, 0x2d, 0x05, 0x86, 0x58, 0xdb, 0x5a, 0xb5, 0x5b, 0x48, 0xcf, 0x83, + 0x92, 0x63, 0xf1, 0xf0, 0xd6, 0xf4, 0x56, 0x72, 0xfa, 0x29, 0x50, 0xf2, 0xf1, 0x5d, 0xad, 0xe4, + 0xf5, 0x25, 0x50, 0x0a, 0xcc, 0xc1, 0xf1, 0x3c, 0xa3, 0x14, 0x32, 0x3f, 0x57, 0x61, 0x22, 0xd8, + 0x46, 0xf3, 0x7a, 0x72, 0x5c, 0x7c, 0x6f, 0xca, 0x0e, 0x9e, 0x5e, 0x3a, 0xb3, 0xbc, 0x80, 0xff, + 0xf1, 0x42, 0x32, 0x23, 0xbe, 0x42, 0x65, 0xc1, 0x63, 0x39, 0xdd, 0xeb, 0x9e, 0x48, 0x36, 0x19, + 0x90, 0xd0, 0x75, 0x4f, 0x44, 0xa0, 0x76, 0xdd, 0x13, 0x11, 0xa8, 0x5d, 0xf7, 0x44, 0x04, 0x6a, + 0xd7, 0x59, 0x80, 0x40, 0xed, 0xba, 0x27, 0x22, 0x50, 0xbb, 0xee, 0x89, 0x08, 0xd4, 0xee, 0x7b, + 0x22, 0x8c, 0xdc, 0xf3, 0x9e, 0x88, 0x48, 0xef, 0xbe, 0x27, 0x22, 0xd2, 0xbb, 0xef, 0x89, 0x64, + 0x93, 0x6e, 0xbb, 0x83, 0x7a, 0x9f, 0x3a, 0x88, 0xf8, 0xfd, 0x5e, 0x02, 0xfd, 0x0a, 0xbc, 0x06, + 0x63, 0x74, 0x43, 0xa2, 0x60, 0x5b, 0xae, 0x59, 0xb7, 0x50, 0x5b, 0x7f, 0x0f, 0x0c, 0xd3, 0x21, + 0xfa, 0x9a, 0x13, 0xf6, 0x1a, 0x48, 0xe9, 0xac, 0xde, 0x0a, 0xdc, 0x99, 0x5f, 0x26, 0x61, 0x92, + 0x0e, 0x94, 0xcd, 0x26, 0x12, 0x6e, 0x19, 0x9d, 0x94, 0xce, 0x94, 0x46, 0x31, 0xfc, 0xd6, 0x2b, + 0x33, 0x74, 0x34, 0xe7, 0x45, 0xd3, 0x49, 0xe9, 0x74, 0x49, 0xe4, 0xf3, 0x17, 0xa0, 0x93, 0xd2, + 0xcd, 0x23, 0x91, 0xcf, 0x5b, 0x6f, 0x3c, 0x3e, 0x7e, 0x07, 0x49, 0xe4, 0x2b, 0x7a, 0x51, 0x76, + 0x52, 0xba, 0x8d, 0x24, 0xf2, 0x95, 0xbc, 0x78, 0x3b, 0x29, 0x9d, 0x3d, 0x89, 0x7c, 0x97, 0xbd, + 0xc8, 0x3b, 0x29, 0x9d, 0x42, 0x89, 0x7c, 0x57, 0xbc, 0x18, 0x3c, 0x29, 0xdd, 0x55, 0x12, 0xf9, + 0x1e, 0xf5, 0xa2, 0xf1, 0xa4, 0x74, 0x6b, 0x49, 0xe4, 0x5b, 0xf1, 0xe2, 0x72, 0x4e, 0xbe, 0xbf, + 0x24, 0x32, 0x5e, 0xf5, 0x23, 0x74, 0x4e, 0xbe, 0xc9, 0x24, 0x72, 0xbe, 0xd7, 0x8f, 0xd5, 0x39, + 0xf9, 0x4e, 0x93, 0xc8, 0x79, 0xcd, 0x8f, 0xda, 0x39, 0xf9, 0xac, 0x4c, 0xe4, 0x5c, 0xf5, 0xe3, + 0x77, 0x4e, 0x3e, 0x35, 0x13, 0x39, 0xcb, 0x7e, 0x24, 0xcf, 0xc9, 0xe7, 0x67, 0x22, 0xe7, 0x9a, + 0xbf, 0x89, 0xfe, 0x3d, 0x29, 0xfc, 0x02, 0xb7, 0xa0, 0x32, 0x52, 0xf8, 0x41, 0x48, 0xe8, 0x49, + 0x85, 0x2c, 0xc0, 0xe3, 0x87, 0x5d, 0x46, 0x0a, 0x3b, 0x08, 0x09, 0xb9, 0x8c, 0x14, 0x72, 0x10, + 0x12, 0x6e, 0x19, 0x29, 0xdc, 0x20, 0x24, 0xd4, 0x32, 0x52, 0xa8, 0x41, 0x48, 0x98, 0x65, 0xa4, + 0x30, 0x83, 0x90, 0x10, 0xcb, 0x48, 0x21, 0x06, 0x21, 0xe1, 0x95, 0x91, 0xc2, 0x0b, 0x42, 0x42, + 0xeb, 0x84, 0x1c, 0x5a, 0x10, 0x16, 0x56, 0x27, 0xe4, 0xb0, 0x82, 0xb0, 0x90, 0xba, 0x5b, 0x0e, + 0xa9, 0xc1, 0x5b, 0xaf, 0xcc, 0xf4, 0xe3, 0xa1, 0x40, 0x34, 0x9d, 0x90, 0xa3, 0x09, 0xc2, 0x22, + 0xe9, 0x84, 0x1c, 0x49, 0x10, 0x16, 0x45, 0x27, 0xe4, 0x28, 0x82, 0xb0, 0x08, 0x7a, 0x49, 0x8e, + 0x20, 0xff, 0x8e, 0x4f, 0x46, 0x3a, 0x52, 0x8c, 0x8a, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, + 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x8c, 0x08, 0x52, 0x63, 0x44, 0x90, 0x1a, 0x23, 0x82, 0xd4, 0x18, + 0x11, 0xa4, 0xc6, 0x89, 0x20, 0x35, 0x56, 0x04, 0xa9, 0xbd, 0x22, 0xe8, 0x84, 0x7c, 0xe3, 0x01, + 0xc2, 0x0a, 0xd2, 0x09, 0xf9, 0xe8, 0x33, 0x3a, 0x84, 0xd4, 0x58, 0x21, 0xa4, 0xf6, 0x0a, 0xa1, + 0xef, 0xa9, 0x30, 0x21, 0x84, 0x10, 0x3b, 0x1f, 0x7a, 0xbb, 0x2a, 0xd0, 0xb9, 0x18, 0x17, 0x2c, + 0xc2, 0x62, 0xea, 0x5c, 0x8c, 0x43, 0xea, 0xfd, 0xe2, 0xac, 0xbb, 0x0a, 0x95, 0x62, 0x54, 0xa1, + 0xcb, 0x5e, 0x0c, 0x9d, 0x8b, 0x71, 0xf1, 0xa2, 0x3b, 0xf6, 0x2e, 0xec, 0x57, 0x04, 0x1e, 0x8d, + 0x55, 0x04, 0x56, 0x62, 0x15, 0x81, 0xab, 0xbe, 0x07, 0x3f, 0x9a, 0x80, 0xc3, 0xbe, 0x07, 0xe9, + 0x27, 0xf2, 0x13, 0x5a, 0x99, 0xc0, 0x11, 0x95, 0xce, 0x8f, 0x6d, 0x02, 0x6e, 0x4c, 0xac, 0xd4, + 0xf4, 0x75, 0xf1, 0xb0, 0x2a, 0x7b, 0xd0, 0x03, 0x9c, 0x80, 0xc7, 0xd9, 0x66, 0xe8, 0x09, 0x50, + 0x57, 0x6a, 0x0e, 0xa9, 0x16, 0x61, 0x8f, 0x2d, 0x18, 0x98, 0xac, 0x1b, 0x30, 0x40, 0xd8, 0x1d, + 0xe2, 0xde, 0xdb, 0x79, 0x70, 0xd1, 0x60, 0x92, 0x32, 0x2f, 0x29, 0x30, 0x2b, 0x84, 0xf2, 0xdb, + 0x73, 0x64, 0x70, 0x29, 0xd6, 0x91, 0x81, 0x90, 0x20, 0xfe, 0xf1, 0xc1, 0xbd, 0xdd, 0x27, 0xd5, + 0xc1, 0x2c, 0x91, 0x8f, 0x12, 0xfe, 0x1d, 0x8c, 0xfa, 0x33, 0x20, 0xef, 0x6c, 0x67, 0xa3, 0x77, + 0x33, 0xc3, 0x52, 0xf3, 0xac, 0xb4, 0x8b, 0xb6, 0x2f, 0xcc, 0xcb, 0xd6, 0x4c, 0x16, 0xc6, 0xca, + 0xe2, 0xdf, 0x3e, 0x45, 0x6d, 0x46, 0xa4, 0x70, 0x6b, 0x7e, 0xf3, 0xf3, 0x33, 0x7d, 0x99, 0x07, + 0x60, 0x38, 0xf8, 0xe7, 0x4d, 0x12, 0x70, 0x90, 0x03, 0xb3, 0xc9, 0x97, 0x31, 0xf7, 0xff, 0x55, + 0xe0, 0x48, 0x90, 0xfd, 0xb1, 0xba, 0xbb, 0xbb, 0x62, 0xe1, 0x9e, 0xfe, 0x21, 0x48, 0x21, 0xe6, + 0x38, 0xf6, 0x6b, 0x38, 0xec, 0x3d, 0x32, 0x94, 0x7d, 0x81, 0xfc, 0x6b, 0x78, 0x10, 0x69, 0x17, + 0x84, 0x3f, 0x76, 0x69, 0xea, 0x1e, 0xe8, 0xa7, 0xf2, 0x45, 0xbd, 0x46, 0x24, 0xbd, 0xbe, 0x14, + 0xa2, 0x17, 0x89, 0x23, 0xfd, 0xaa, 0xa0, 0x57, 0xe0, 0x75, 0x35, 0x94, 0x7d, 0x81, 0x07, 0x5f, + 0x3e, 0x85, 0xfb, 0x3f, 0x12, 0x51, 0xd1, 0x4a, 0xce, 0x41, 0xaa, 0x24, 0xf3, 0x84, 0xeb, 0x59, + 0x84, 0x64, 0xd9, 0xae, 0x91, 0xdf, 0xe9, 0x21, 0xbf, 0x78, 0xcd, 0x8c, 0xcc, 0x7e, 0xfe, 0xfa, + 0x24, 0xa4, 0x0a, 0xbb, 0xf5, 0x46, 0xad, 0x8d, 0x2c, 0x76, 0x66, 0xcf, 0xb6, 0xd0, 0x31, 0xc6, + 0xf0, 0x68, 0x99, 0x02, 0x8c, 0x97, 0x6d, 0x2b, 0xbf, 0xe7, 0x06, 0xeb, 0xc6, 0x82, 0x94, 0x22, + 0xec, 0xcc, 0x87, 0xfc, 0x39, 0x08, 0x66, 0xc8, 0xf7, 0xff, 0xe8, 0x95, 0x19, 0x65, 0xd3, 0xdb, + 0x3f, 0x5f, 0x85, 0xa3, 0x2c, 0x7d, 0xba, 0x44, 0x2d, 0x45, 0x89, 0x1a, 0x64, 0xe7, 0xd4, 0x01, + 0x71, 0x2b, 0x58, 0x9c, 0x15, 0x2a, 0xee, 0xad, 0x69, 0x86, 0x9b, 0xa2, 0x7d, 0x35, 0x53, 0x0f, + 0xa4, 0x59, 0xa8, 0xb8, 0x85, 0x28, 0x71, 0x92, 0x66, 0x77, 0xc3, 0xa0, 0x47, 0x0b, 0x44, 0x43, + 0x30, 0x53, 0x96, 0xe6, 0x33, 0x30, 0x14, 0x48, 0x58, 0xbd, 0x1f, 0x94, 0x9c, 0xd6, 0x87, 0xff, + 0xcb, 0x6b, 0x0a, 0xfe, 0xaf, 0xa0, 0x25, 0xe6, 0xef, 0x81, 0x31, 0x69, 0xff, 0x12, 0x53, 0x8a, + 0x1a, 0xe0, 0xff, 0x4a, 0xda, 0xd0, 0x54, 0xf2, 0x63, 0x5f, 0x9c, 0xee, 0x9b, 0xbf, 0x04, 0x7a, + 0xf7, 0x4e, 0xa7, 0x3e, 0x00, 0x89, 0x1c, 0x16, 0x79, 0x14, 0x12, 0xf9, 0xbc, 0xa6, 0x4c, 0x8d, + 0xfd, 0xe7, 0xcf, 0xce, 0x0e, 0xe5, 0xc9, 0xdf, 0x6e, 0x5f, 0x47, 0x6e, 0x3e, 0xcf, 0xc0, 0x0f, + 0xc3, 0x91, 0xd0, 0x9d, 0x52, 0x8c, 0x2f, 0x14, 0x28, 0xbe, 0x58, 0xec, 0xc2, 0x17, 0x8b, 0x04, + 0xaf, 0x64, 0xf9, 0x89, 0x73, 0x4e, 0x0f, 0xd9, 0x65, 0x4c, 0xd7, 0x02, 0x27, 0xdc, 0xb9, 0xec, + 0xc3, 0x8c, 0x37, 0x1f, 0xca, 0x8b, 0x22, 0x4e, 0xac, 0xf3, 0xd9, 0x02, 0xc3, 0x17, 0x42, 0xf1, + 0xdb, 0xd2, 0xb1, 0xaa, 0xb8, 0x42, 0x30, 0x21, 0x05, 0x4f, 0xe1, 0x62, 0xa8, 0x90, 0xdd, 0xc0, + 0x65, 0xf7, 0xa2, 0xa7, 0x70, 0x29, 0x94, 0xb7, 0x1e, 0x71, 0xe9, 0xab, 0x94, 0x3d, 0xc5, 0x16, + 0xf9, 0xdc, 0x69, 0xfd, 0x08, 0xcf, 0x51, 0xa1, 0x02, 0x33, 0x03, 0x71, 0xae, 0x6c, 0x81, 0x01, + 0xf2, 0x3d, 0x01, 0xbd, 0xad, 0xc4, 0x91, 0xd9, 0x47, 0x99, 0x90, 0x42, 0x4f, 0x21, 0x11, 0xa6, + 0xe2, 0xf0, 0xfc, 0xe6, 0xcd, 0x57, 0xa7, 0xfb, 0x5e, 0x7e, 0x75, 0xba, 0xef, 0x2f, 0x5e, 0x9d, + 0xee, 0xfb, 0xf1, 0xab, 0xd3, 0xca, 0x4f, 0x5f, 0x9d, 0x56, 0x7e, 0xf6, 0xea, 0xb4, 0xf2, 0x8b, + 0x57, 0xa7, 0x95, 0xe7, 0x6e, 0x4d, 0x2b, 0x2f, 0xde, 0x9a, 0x56, 0xbe, 0x7e, 0x6b, 0x5a, 0xf9, + 0xf6, 0xad, 0x69, 0xe5, 0xa5, 0x5b, 0xd3, 0xca, 0xcd, 0x5b, 0xd3, 0x7d, 0x2f, 0xdf, 0x9a, 0x56, + 0x7e, 0x7c, 0x6b, 0x5a, 0xf9, 0xe9, 0xad, 0xe9, 0xbe, 0x9f, 0xdd, 0x9a, 0x56, 0x7e, 0x71, 0x6b, + 0xba, 0xef, 0xb9, 0xd7, 0xa6, 0xfb, 0x5e, 0x78, 0x6d, 0xba, 0xef, 0xc5, 0xd7, 0xa6, 0x95, 0x7f, + 0x09, 0x00, 0x00, 0xff, 0xff, 0x93, 0x06, 0xaa, 0xbb, 0x45, 0x69, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -41238,204 +41459,3 @@ var ( ErrInvalidLengthThetest = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowThetest = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/unmarshaler/thetest.proto", fileDescriptor_thetest_4205beeb65ed6104) -} - -var fileDescriptor_thetest_4205beeb65ed6104 = []byte{ - // 3088 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6c, 0x1b, 0xc7, - 0xd5, 0xe7, 0xec, 0x50, 0x0a, 0xf5, 0x24, 0x4b, 0xf4, 0x26, 0x56, 0x16, 0x8c, 0xbe, 0x15, 0xbd, - 0x91, 0xf5, 0x31, 0x44, 0x2c, 0x51, 0x14, 0x25, 0xcb, 0x4c, 0x93, 0x42, 0xfc, 0xe3, 0x46, 0x6e, - 0x44, 0x19, 0x8c, 0xdc, 0xd6, 0x40, 0x81, 0x82, 0x16, 0xd7, 0x22, 0x51, 0x69, 0x29, 0x90, 0xab, - 0x34, 0xee, 0xa1, 0x08, 0x72, 0x28, 0x82, 0x5e, 0x8b, 0x1e, 0xdb, 0xb8, 0x28, 0x0a, 0xa4, 0xb7, - 0x1c, 0x8a, 0xa2, 0x28, 0x8a, 0xc6, 0x97, 0x02, 0xea, 0xcd, 0xe8, 0xa9, 0x08, 0x0a, 0x21, 0x62, - 0x2e, 0x39, 0x06, 0xbd, 0x34, 0x87, 0x1c, 0x8a, 0xdd, 0x9d, 0x9d, 0x9d, 0x19, 0xee, 0x72, 0x97, - 0x96, 0xd2, 0xe6, 0x62, 0x8b, 0xf3, 0xde, 0x9b, 0x79, 0xfb, 0x7e, 0xbf, 0xf7, 0xf6, 0xed, 0xcc, - 0x40, 0x7a, 0xaf, 0x73, 0x78, 0xbf, 0xd3, 0x5b, 0x3e, 0x36, 0x0e, 0x1b, 0xdd, 0x5e, 0xab, 0x71, - 0xa0, 0x77, 0x97, 0xcd, 0x96, 0x6e, 0xea, 0x3d, 0x73, 0xe9, 0xa8, 0xdb, 0x31, 0x3b, 0x72, 0xdc, - 0xfa, 0x3b, 0x75, 0x7d, 0xbf, 0x6d, 0xb6, 0x8e, 0xef, 0x2f, 0xed, 0x75, 0x0e, 0x97, 0xf7, 0x3b, - 0xfb, 0x9d, 0x65, 0x5b, 0x78, 0xff, 0xf8, 0x81, 0xfd, 0xcb, 0xfe, 0x61, 0xff, 0xe5, 0x18, 0x69, - 0xff, 0xc4, 0x30, 0x55, 0x6b, 0x37, 0x77, 0x8e, 0xcc, 0x5a, 0xc3, 0x6c, 0xbf, 0xa5, 0xcb, 0x73, - 0x30, 0x7e, 0xab, 0xad, 0x1f, 0x34, 0x57, 0x14, 0x94, 0x46, 0x19, 0x54, 0x8a, 0x9f, 0x9c, 0xce, - 0xc7, 0xea, 0x64, 0x8c, 0x4a, 0xf3, 0x8a, 0x94, 0x46, 0x19, 0x89, 0x93, 0xe6, 0xa9, 0x74, 0x55, - 0xc1, 0x69, 0x94, 0x19, 0xe3, 0xa4, 0xab, 0x54, 0x5a, 0x50, 0xe2, 0x69, 0x94, 0xc1, 0x9c, 0xb4, - 0x40, 0xa5, 0x6b, 0xca, 0x58, 0x1a, 0x65, 0x2e, 0x71, 0xd2, 0x35, 0x2a, 0x5d, 0x57, 0xc6, 0xd3, - 0x28, 0x13, 0xe7, 0xa4, 0xeb, 0x54, 0x7a, 0x43, 0x79, 0x26, 0x8d, 0x32, 0x97, 0x39, 0xe9, 0x0d, - 0x2a, 0xdd, 0x50, 0x12, 0x69, 0x94, 0x91, 0x39, 0xe9, 0x06, 0x95, 0xde, 0x54, 0x26, 0xd2, 0x28, - 0xf3, 0x0c, 0x27, 0xbd, 0x29, 0xab, 0xf0, 0x8c, 0xf3, 0xe4, 0x39, 0x05, 0xd2, 0x28, 0x33, 0x43, - 0xc4, 0xee, 0xa0, 0x27, 0x5f, 0x51, 0x26, 0xd3, 0x28, 0x33, 0xce, 0xcb, 0x57, 0x3c, 0x79, 0x5e, - 0x99, 0x4a, 0xa3, 0x4c, 0x92, 0x97, 0xe7, 0x3d, 0xf9, 0xaa, 0x72, 0x29, 0x8d, 0x32, 0x09, 0x5e, - 0xbe, 0xea, 0xc9, 0x0b, 0xca, 0x74, 0x1a, 0x65, 0x26, 0x78, 0x79, 0xc1, 0x93, 0xaf, 0x29, 0x33, - 0x69, 0x94, 0x99, 0xe2, 0xe5, 0x6b, 0xda, 0xbb, 0x36, 0xbc, 0x86, 0x07, 0xef, 0x2c, 0x0f, 0x2f, - 0x05, 0x76, 0x96, 0x07, 0x96, 0x42, 0x3a, 0xcb, 0x43, 0x4a, 0xc1, 0x9c, 0xe5, 0xc1, 0xa4, 0x30, - 0xce, 0xf2, 0x30, 0x52, 0x00, 0x67, 0x79, 0x00, 0x29, 0x74, 0xb3, 0x3c, 0x74, 0x14, 0xb4, 0x59, - 0x1e, 0x34, 0x0a, 0xd7, 0x2c, 0x0f, 0x17, 0x05, 0x4a, 0x11, 0x80, 0xf2, 0x20, 0x52, 0x04, 0x88, - 0x3c, 0x70, 0x14, 0x01, 0x1c, 0x0f, 0x16, 0x45, 0x80, 0xc5, 0x03, 0x44, 0x11, 0x00, 0xf1, 0xa0, - 0x50, 0x04, 0x28, 0x3c, 0x10, 0x48, 0x8e, 0xd5, 0xf5, 0x23, 0x9f, 0x1c, 0xc3, 0x43, 0x73, 0x0c, - 0x0f, 0xcd, 0x31, 0x3c, 0x34, 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0x43, 0x73, 0x0c, 0x0f, 0xcd, 0x31, - 0x3c, 0x34, 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0xc3, 0x73, 0x0c, 0x87, 0xe4, 0x18, 0x0e, 0xc9, 0x31, - 0x1c, 0x92, 0x63, 0x38, 0x24, 0xc7, 0x70, 0x48, 0x8e, 0xe1, 0xc0, 0x1c, 0xf3, 0xe0, 0x9d, 0xe5, - 0xe1, 0xf5, 0xcd, 0x31, 0x1c, 0x90, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, - 0xc3, 0x01, 0x39, 0x86, 0x03, 0x72, 0x0c, 0x07, 0xe4, 0x18, 0x0e, 0xca, 0x31, 0x1c, 0x98, 0x63, - 0x38, 0x30, 0xc7, 0x70, 0x60, 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x81, 0x39, 0x86, 0xd9, 0x1c, 0xfb, - 0x33, 0x06, 0xd9, 0xc9, 0xb1, 0x3b, 0x8d, 0xbd, 0x1f, 0xea, 0x4d, 0x02, 0x85, 0x2a, 0x64, 0xda, - 0xb8, 0x05, 0x5d, 0xd2, 0x83, 0x44, 0x15, 0x72, 0x8d, 0x97, 0xe7, 0xa9, 0xdc, 0xcd, 0x36, 0x5e, - 0xbe, 0x4a, 0xe5, 0x6e, 0xbe, 0xf1, 0xf2, 0x02, 0x95, 0xbb, 0x19, 0xc7, 0xcb, 0xd7, 0xa8, 0xdc, - 0xcd, 0x39, 0x5e, 0xbe, 0x4e, 0xe5, 0x6e, 0xd6, 0xf1, 0xf2, 0x1b, 0x54, 0xee, 0xe6, 0x1d, 0x2f, - 0xdf, 0xa0, 0x72, 0x37, 0xf3, 0x78, 0xf9, 0x4d, 0x39, 0x2d, 0xe6, 0x9e, 0xab, 0x40, 0xa1, 0x4d, - 0x8b, 0xd9, 0x27, 0x68, 0xac, 0x78, 0x1a, 0x6e, 0xfe, 0x09, 0x1a, 0x79, 0x4f, 0xc3, 0xcd, 0x40, - 0x41, 0x63, 0x55, 0x7b, 0xcf, 0x86, 0xcf, 0x10, 0xe1, 0x4b, 0x09, 0xf0, 0x49, 0x0c, 0x74, 0x29, - 0x01, 0x3a, 0x89, 0x81, 0x2d, 0x25, 0xc0, 0x26, 0x31, 0x90, 0xa5, 0x04, 0xc8, 0x24, 0x06, 0xae, - 0x94, 0x00, 0x97, 0xc4, 0x40, 0x95, 0x12, 0xa0, 0x92, 0x18, 0x98, 0x52, 0x02, 0x4c, 0x12, 0x03, - 0x51, 0x4a, 0x80, 0x48, 0x62, 0xe0, 0x49, 0x09, 0xf0, 0x48, 0x0c, 0x34, 0x73, 0x22, 0x34, 0x12, - 0x0b, 0xcb, 0x9c, 0x08, 0x8b, 0xc4, 0x42, 0x32, 0x27, 0x42, 0x22, 0xb1, 0x70, 0xcc, 0x89, 0x70, - 0x48, 0x2c, 0x14, 0x5f, 0x4a, 0x6e, 0x47, 0xf8, 0xa6, 0xd9, 0x3d, 0xde, 0x33, 0xcf, 0xd5, 0x11, - 0xe6, 0xb8, 0xf6, 0x61, 0x32, 0x2f, 0x2f, 0xd9, 0x0d, 0x2b, 0xdb, 0x71, 0x0a, 0x6f, 0xb0, 0x1c, - 0xd7, 0x58, 0x30, 0x16, 0x86, 0xbf, 0x45, 0xe1, 0x5c, 0xbd, 0x61, 0x8e, 0x6b, 0x33, 0xc2, 0xfd, - 0xdb, 0xf8, 0xca, 0x3b, 0xb6, 0xc7, 0x92, 0xdb, 0xb1, 0x91, 0xf0, 0x8f, 0xda, 0xb1, 0x65, 0xc3, - 0x43, 0x4e, 0x83, 0x9d, 0x0d, 0x0f, 0xf6, 0xc0, 0x5b, 0x27, 0x6a, 0x07, 0x97, 0x0d, 0x0f, 0x2d, - 0x0d, 0xea, 0xc5, 0xf6, 0x5b, 0x84, 0xc1, 0x75, 0xfd, 0xc8, 0x87, 0xc1, 0xa3, 0xf6, 0x5b, 0x39, - 0xae, 0x94, 0x8c, 0xca, 0x60, 0x3c, 0x32, 0x83, 0x47, 0xed, 0xbc, 0x72, 0x5c, 0x79, 0x19, 0x99, - 0xc1, 0x5f, 0x41, 0x3f, 0x44, 0x18, 0xec, 0x85, 0x7f, 0xd4, 0x7e, 0x28, 0x1b, 0x1e, 0x72, 0x5f, - 0x06, 0xe3, 0x11, 0x18, 0x1c, 0xa5, 0x3f, 0xca, 0x86, 0x87, 0xd6, 0x9f, 0xc1, 0xe7, 0xee, 0x66, - 0xde, 0x47, 0x70, 0xb9, 0xd6, 0x6e, 0x56, 0x0f, 0xef, 0xeb, 0xcd, 0xa6, 0xde, 0x24, 0x71, 0xcc, - 0x71, 0x95, 0x20, 0x00, 0xea, 0x27, 0xa7, 0xf3, 0x5e, 0x84, 0xd7, 0x20, 0xe1, 0xc4, 0x34, 0x97, - 0x53, 0x4e, 0x50, 0x48, 0x85, 0xa3, 0xaa, 0xf2, 0x55, 0xd7, 0x6c, 0x25, 0xa7, 0xfc, 0x1d, 0x31, - 0x55, 0x8e, 0x0e, 0x6b, 0x3f, 0xb7, 0x3d, 0x34, 0xce, 0xed, 0xe1, 0x72, 0x24, 0x0f, 0x19, 0xdf, - 0x5e, 0x18, 0xf0, 0x8d, 0xf1, 0xea, 0x18, 0x66, 0x6a, 0xed, 0x66, 0x4d, 0xef, 0x99, 0xd1, 0x5c, - 0x72, 0x74, 0x84, 0x7a, 0x90, 0xe3, 0x68, 0xc9, 0x5a, 0x50, 0x4a, 0xf3, 0x35, 0x42, 0x6b, 0x5b, - 0xcb, 0x1a, 0xdc, 0xb2, 0xd9, 0xa0, 0x65, 0xbd, 0xca, 0x4e, 0x17, 0xcc, 0x06, 0x2d, 0xe8, 0xe5, - 0x10, 0x5d, 0xea, 0x6d, 0xf7, 0xe5, 0x5c, 0x3e, 0xee, 0x99, 0x9d, 0x43, 0x79, 0x0e, 0xa4, 0xad, - 0xa6, 0xbd, 0xc6, 0x54, 0x69, 0xca, 0x72, 0xea, 0xe3, 0xd3, 0xf9, 0xf8, 0xdd, 0xe3, 0x76, 0xb3, - 0x2e, 0x6d, 0x35, 0xe5, 0xdb, 0x30, 0xf6, 0x9d, 0xc6, 0xc1, 0xb1, 0x6e, 0xbf, 0x22, 0xa6, 0x4a, - 0x05, 0xa2, 0xf0, 0x72, 0xe0, 0x1e, 0x91, 0xb5, 0xf0, 0xf2, 0x9e, 0x3d, 0xf5, 0xd2, 0xdd, 0xb6, - 0x61, 0xae, 0xe4, 0x37, 0xea, 0xce, 0x14, 0xda, 0xf7, 0x01, 0x9c, 0x35, 0x2b, 0x8d, 0x5e, 0x4b, - 0xae, 0xb9, 0x33, 0x3b, 0x4b, 0x6f, 0x7c, 0x7c, 0x3a, 0x5f, 0x88, 0x32, 0xeb, 0xf5, 0x66, 0xa3, - 0xd7, 0xba, 0x6e, 0x3e, 0x3c, 0xd2, 0x97, 0x4a, 0x0f, 0x4d, 0xbd, 0xe7, 0xce, 0x7e, 0xe4, 0xbe, - 0xf5, 0xc8, 0x73, 0x29, 0xcc, 0x73, 0x25, 0xb8, 0x67, 0xba, 0xc5, 0x3f, 0x53, 0xee, 0x69, 0x9f, - 0xe7, 0x6d, 0xf7, 0x25, 0x21, 0x44, 0x12, 0x87, 0x45, 0x12, 0x9f, 0x37, 0x92, 0x47, 0x6e, 0x7d, - 0x14, 0x9e, 0x15, 0x0f, 0x7b, 0x56, 0x7c, 0x9e, 0x67, 0xfd, 0xb7, 0x93, 0xad, 0x34, 0x9f, 0xee, - 0x1a, 0xed, 0x8e, 0xf1, 0xb5, 0xdb, 0x0b, 0xba, 0xd0, 0x2e, 0xa0, 0x18, 0x3f, 0x79, 0x34, 0x8f, - 0xb4, 0xf7, 0x25, 0xf7, 0xc9, 0x9d, 0x44, 0x7a, 0xba, 0x27, 0xff, 0xba, 0xf4, 0x54, 0x5f, 0x45, - 0x84, 0x7e, 0x85, 0x60, 0x76, 0xa0, 0x92, 0x3b, 0x61, 0xba, 0xd8, 0x72, 0x6e, 0x8c, 0x5a, 0xce, - 0x89, 0x83, 0xbf, 0x47, 0xf0, 0x9c, 0x50, 0x5e, 0x1d, 0xf7, 0x96, 0x05, 0xf7, 0x9e, 0x1f, 0x5c, - 0xc9, 0x56, 0x64, 0xbc, 0x63, 0xe1, 0x15, 0x0c, 0x98, 0x99, 0x29, 0xee, 0x05, 0x01, 0xf7, 0x39, - 0x6a, 0xe0, 0x13, 0x2e, 0x97, 0x01, 0xc4, 0xed, 0x0e, 0xc4, 0x77, 0xbb, 0xba, 0x2e, 0xab, 0x20, - 0xed, 0x74, 0x89, 0x87, 0xd3, 0x8e, 0xfd, 0x4e, 0xb7, 0xd4, 0x6d, 0x18, 0x7b, 0xad, 0xba, 0xb4, - 0xd3, 0x95, 0xaf, 0x02, 0xde, 0x34, 0x9a, 0xc4, 0xa3, 0x19, 0x47, 0x61, 0xd3, 0x68, 0x12, 0x0d, - 0x4b, 0x26, 0xab, 0x10, 0x7f, 0x43, 0x6f, 0x3c, 0x20, 0x4e, 0x80, 0xa3, 0x63, 0x8d, 0xd4, 0xed, - 0x71, 0xb2, 0xe0, 0xf7, 0x20, 0xe1, 0x4e, 0x2c, 0x2f, 0x58, 0x16, 0x0f, 0x4c, 0xb2, 0x2c, 0xb1, - 0xb0, 0xdc, 0x21, 0x6f, 0x2e, 0x5b, 0x2a, 0x2f, 0xc2, 0x58, 0xbd, 0xbd, 0xdf, 0x32, 0xc9, 0xe2, - 0x83, 0x6a, 0x8e, 0x58, 0xbb, 0x07, 0x13, 0xd4, 0xa3, 0x0b, 0x9e, 0xba, 0xe2, 0x3c, 0x9a, 0x9c, - 0x62, 0xdf, 0x27, 0xee, 0xbe, 0xa5, 0x33, 0x24, 0xa7, 0x21, 0xf1, 0xa6, 0xd9, 0xf5, 0x8a, 0xbe, - 0xdb, 0x91, 0xd2, 0x51, 0xed, 0x5d, 0x04, 0x89, 0x8a, 0xae, 0x1f, 0xd9, 0x01, 0xbf, 0x06, 0xf1, - 0x4a, 0xe7, 0x47, 0x06, 0x71, 0xf0, 0x32, 0x89, 0xa8, 0x25, 0x26, 0x31, 0xb5, 0xc5, 0xf2, 0x35, - 0x36, 0xee, 0xcf, 0xd2, 0xb8, 0x33, 0x7a, 0x76, 0xec, 0x35, 0x2e, 0xf6, 0x04, 0x40, 0x4b, 0x69, - 0x20, 0xfe, 0x37, 0x60, 0x92, 0x59, 0x45, 0xce, 0x10, 0x37, 0x24, 0xd1, 0x90, 0x8d, 0x95, 0xa5, - 0xa1, 0xe9, 0x70, 0x89, 0x5b, 0xd8, 0x32, 0x65, 0x42, 0x1c, 0x60, 0x6a, 0x87, 0x39, 0xcb, 0x87, - 0xd9, 0x5f, 0x95, 0x84, 0x3a, 0xe7, 0xc4, 0xc8, 0x0e, 0xf7, 0x82, 0x43, 0xce, 0x60, 0x10, 0xad, - 0xbf, 0xb5, 0x31, 0xc0, 0xb5, 0xf6, 0x81, 0xf6, 0x2a, 0x80, 0x93, 0xf2, 0x55, 0xe3, 0xf8, 0x50, - 0xc8, 0xba, 0x69, 0x37, 0xc0, 0xbb, 0x2d, 0x7d, 0x57, 0xef, 0xd9, 0x2a, 0x7c, 0x3f, 0x65, 0x15, - 0x18, 0x70, 0x52, 0xcc, 0xb6, 0x7f, 0x29, 0xd4, 0xde, 0xb7, 0x13, 0xb3, 0x54, 0x15, 0x47, 0xf5, - 0x9e, 0x6e, 0x6e, 0x1a, 0x1d, 0xb3, 0xa5, 0x77, 0x05, 0x8b, 0xbc, 0xbc, 0xca, 0x25, 0xec, 0x74, - 0xfe, 0x05, 0x6a, 0x11, 0x68, 0xb4, 0xaa, 0x7d, 0x68, 0x3b, 0x68, 0xb5, 0x02, 0x03, 0x0f, 0x88, - 0x23, 0x3c, 0xa0, 0xbc, 0xce, 0xf5, 0x6f, 0x43, 0xdc, 0x14, 0x3e, 0x2d, 0x6f, 0x72, 0xdf, 0x39, - 0xc3, 0x9d, 0xe5, 0xbf, 0x31, 0xdd, 0x98, 0xba, 0x2e, 0xbf, 0x14, 0xea, 0x72, 0x40, 0x77, 0x3b, - 0x6a, 0x4c, 0x71, 0xd4, 0x98, 0xfe, 0x89, 0x76, 0x1c, 0xd6, 0x70, 0x45, 0x7f, 0xd0, 0x38, 0x3e, - 0x30, 0xe5, 0x97, 0x43, 0xb1, 0x2f, 0xa2, 0x32, 0x75, 0xb5, 0x10, 0x15, 0xfe, 0xa2, 0x54, 0x2a, - 0x51, 0x77, 0x6f, 0x8c, 0x40, 0x81, 0xa2, 0x54, 0x2e, 0xd3, 0xb2, 0x9d, 0x78, 0xef, 0xd1, 0x3c, - 0xfa, 0xe0, 0xd1, 0x7c, 0x4c, 0xfb, 0x1d, 0x82, 0xcb, 0x44, 0x93, 0x21, 0xee, 0x75, 0xc1, 0xf9, - 0x2b, 0x6e, 0xcd, 0xf0, 0x8b, 0xc0, 0x7f, 0x8d, 0xbc, 0x7f, 0x45, 0xa0, 0x0c, 0xf8, 0xea, 0xc6, - 0x3b, 0x17, 0xc9, 0xe5, 0x22, 0xaa, 0xfe, 0xef, 0x63, 0x7e, 0x0f, 0xc6, 0x76, 0xdb, 0x87, 0x7a, - 0xd7, 0x7a, 0x13, 0x58, 0x7f, 0x38, 0x2e, 0xbb, 0x87, 0x39, 0xce, 0x90, 0x2b, 0x73, 0x9c, 0xe3, - 0x64, 0x79, 0x59, 0x81, 0x78, 0xa5, 0x61, 0x36, 0x6c, 0x0f, 0xa6, 0x68, 0x7d, 0x6d, 0x98, 0x0d, - 0x6d, 0x15, 0xa6, 0xb6, 0x1f, 0x56, 0xdf, 0x36, 0x75, 0xa3, 0xd9, 0xb8, 0x7f, 0x20, 0x9e, 0x81, - 0xba, 0xfd, 0xea, 0x4a, 0x76, 0x2c, 0xd1, 0x4c, 0x9e, 0xa0, 0x62, 0xdc, 0xf6, 0xe7, 0x2d, 0x98, - 0xde, 0xb1, 0xdc, 0xb6, 0xed, 0x38, 0x33, 0x67, 0x75, 0x4c, 0x1f, 0x5e, 0x68, 0xca, 0xb0, 0xd7, - 0x94, 0xa5, 0x01, 0x6d, 0xf3, 0xad, 0x13, 0xeb, 0x47, 0x1d, 0x6d, 0x67, 0xe3, 0x89, 0xe9, 0xe4, - 0xe5, 0x6c, 0x3c, 0x01, 0xc9, 0x4b, 0x64, 0xdd, 0xbf, 0x61, 0x48, 0x3a, 0xad, 0x4e, 0x45, 0x7f, - 0xd0, 0x36, 0xda, 0xe6, 0x60, 0xbf, 0x4a, 0x3d, 0x96, 0xbf, 0x09, 0x13, 0x56, 0x48, 0xed, 0x5f, - 0x04, 0xb0, 0xab, 0xa4, 0x45, 0x11, 0xa6, 0x20, 0x03, 0x36, 0x75, 0x3c, 0x1b, 0xf9, 0x16, 0xe0, - 0x5a, 0x6d, 0x9b, 0xbc, 0xdc, 0x0a, 0x43, 0x4d, 0xb7, 0xf5, 0x5e, 0xaf, 0xb1, 0xaf, 0x93, 0x5f, - 0x64, 0xac, 0xb7, 0x5f, 0xb7, 0x26, 0x90, 0x0b, 0x20, 0xd5, 0xb6, 0x49, 0xc3, 0xbb, 0x10, 0x65, - 0x9a, 0xba, 0x54, 0xdb, 0x4e, 0xfd, 0x05, 0xc1, 0x25, 0x6e, 0x54, 0xd6, 0x60, 0xca, 0x19, 0x60, - 0x1e, 0x77, 0xbc, 0xce, 0x8d, 0xb9, 0x3e, 0x4b, 0xe7, 0xf4, 0x39, 0xb5, 0x09, 0x33, 0xc2, 0xb8, - 0xbc, 0x04, 0x32, 0x3b, 0x44, 0x9c, 0x00, 0xbb, 0xa1, 0xf6, 0x91, 0x68, 0xff, 0x07, 0xe0, 0xc5, - 0x55, 0x9e, 0x81, 0xc9, 0xdd, 0x7b, 0x77, 0xaa, 0x3f, 0xa8, 0x55, 0xdf, 0xdc, 0xad, 0x56, 0x92, - 0x48, 0xfb, 0x03, 0x82, 0x49, 0xd2, 0xb6, 0xee, 0x75, 0x8e, 0x74, 0xb9, 0x04, 0x68, 0x93, 0xf0, - 0xe1, 0xe9, 0xfc, 0x46, 0x9b, 0xf2, 0x32, 0xa0, 0x52, 0x74, 0xa8, 0x51, 0x49, 0xce, 0x03, 0x2a, - 0x13, 0x80, 0xa3, 0x21, 0x83, 0xca, 0xda, 0xbf, 0x30, 0x3c, 0xcb, 0xb6, 0xd1, 0x6e, 0x3d, 0xb9, - 0xca, 0x7f, 0x37, 0x15, 0x27, 0x56, 0xf2, 0xab, 0x85, 0x25, 0xeb, 0x1f, 0x4a, 0x49, 0x8d, 0xff, - 0x84, 0x2a, 0x02, 0x55, 0x59, 0x09, 0xba, 0x27, 0x52, 0x8c, 0x33, 0x33, 0x0c, 0xdc, 0x13, 0xe1, - 0xa4, 0x03, 0xf7, 0x44, 0x38, 0xe9, 0xc0, 0x3d, 0x11, 0x4e, 0x3a, 0x70, 0x16, 0xc0, 0x49, 0x07, - 0xee, 0x89, 0x70, 0xd2, 0x81, 0x7b, 0x22, 0x9c, 0x74, 0xf0, 0x9e, 0x08, 0x11, 0x07, 0xde, 0x13, - 0xe1, 0xe5, 0x83, 0xf7, 0x44, 0x78, 0xf9, 0xe0, 0x3d, 0x91, 0x62, 0xdc, 0xec, 0x1e, 0xeb, 0xc1, - 0xa7, 0x0e, 0xbc, 0xfd, 0xb0, 0x8f, 0x40, 0xaf, 0x02, 0xef, 0xc0, 0x8c, 0xb3, 0x21, 0x51, 0xee, - 0x18, 0x66, 0xa3, 0x6d, 0xe8, 0x5d, 0xf9, 0x1b, 0x30, 0xe5, 0x0c, 0x39, 0x9f, 0x39, 0x7e, 0x9f, - 0x81, 0x8e, 0x9c, 0xd4, 0x5b, 0x4e, 0x5b, 0xfb, 0x32, 0x0e, 0xb3, 0xce, 0x40, 0xad, 0x71, 0xa8, - 0x73, 0xb7, 0x8c, 0x16, 0x85, 0x33, 0xa5, 0x69, 0xcb, 0xbc, 0x7f, 0x3a, 0xef, 0x8c, 0x6e, 0x52, - 0x36, 0x2d, 0x0a, 0xa7, 0x4b, 0xbc, 0x9e, 0xf7, 0x02, 0x5a, 0x14, 0x6e, 0x1e, 0xf1, 0x7a, 0xf4, - 0x7d, 0x43, 0xf5, 0xdc, 0x3b, 0x48, 0xbc, 0x5e, 0x85, 0xb2, 0x6c, 0x51, 0xb8, 0x8d, 0xc4, 0xeb, - 0x55, 0x29, 0xdf, 0x16, 0x85, 0xb3, 0x27, 0x5e, 0xef, 0x16, 0x65, 0xde, 0xa2, 0x70, 0x0a, 0xc5, - 0xeb, 0x7d, 0x8b, 0x72, 0x70, 0x51, 0xb8, 0xab, 0xc4, 0xeb, 0xbd, 0x4e, 0xd9, 0xb8, 0x28, 0xdc, - 0x5a, 0xe2, 0xf5, 0xb6, 0x28, 0x2f, 0x33, 0xe2, 0xfd, 0x25, 0x5e, 0xf1, 0xb6, 0xc7, 0xd0, 0x8c, - 0x78, 0x93, 0x89, 0xd7, 0xfc, 0xb6, 0xc7, 0xd5, 0x8c, 0x78, 0xa7, 0x89, 0xd7, 0x7c, 0xc3, 0x63, - 0x6d, 0x46, 0x3c, 0x2b, 0xe3, 0x35, 0xb7, 0x3d, 0xfe, 0x66, 0xc4, 0x53, 0x33, 0x5e, 0xb3, 0xe6, - 0x31, 0x39, 0x23, 0x9e, 0x9f, 0xf1, 0x9a, 0x3b, 0xde, 0x26, 0xfa, 0x47, 0x02, 0xfd, 0x98, 0x5b, - 0x50, 0x9a, 0x40, 0x3f, 0xf0, 0xa1, 0x9e, 0x50, 0xc8, 0x18, 0x1d, 0x8f, 0x76, 0x9a, 0x40, 0x3b, - 0xf0, 0xa1, 0x9c, 0x26, 0x50, 0x0e, 0x7c, 0xe8, 0xa6, 0x09, 0x74, 0x03, 0x1f, 0xaa, 0x69, 0x02, - 0xd5, 0xc0, 0x87, 0x66, 0x9a, 0x40, 0x33, 0xf0, 0xa1, 0x98, 0x26, 0x50, 0x0c, 0x7c, 0xe8, 0xa5, - 0x09, 0xf4, 0x02, 0x1f, 0x6a, 0x2d, 0x88, 0xd4, 0x02, 0x3f, 0x5a, 0x2d, 0x88, 0xb4, 0x02, 0x3f, - 0x4a, 0xbd, 0x28, 0x52, 0x6a, 0xa2, 0x7f, 0x3a, 0x3f, 0x66, 0x0d, 0x31, 0x6c, 0x5a, 0x10, 0xd9, - 0x04, 0x7e, 0x4c, 0x5a, 0x10, 0x99, 0x04, 0x7e, 0x2c, 0x5a, 0x10, 0x59, 0x04, 0x7e, 0x0c, 0x7a, - 0x2c, 0x32, 0xc8, 0xbb, 0xe3, 0xa3, 0x09, 0x47, 0x8a, 0x61, 0x0c, 0xc2, 0x11, 0x18, 0x84, 0x23, - 0x30, 0x08, 0x47, 0x60, 0x10, 0x8e, 0xc0, 0x20, 0x1c, 0x81, 0x41, 0x38, 0x02, 0x83, 0x70, 0x04, - 0x06, 0xe1, 0x28, 0x0c, 0xc2, 0x91, 0x18, 0x84, 0x83, 0x18, 0xb4, 0x20, 0xde, 0x78, 0x00, 0xbf, - 0x82, 0xb4, 0x20, 0x1e, 0x7d, 0x86, 0x53, 0x08, 0x47, 0xa2, 0x10, 0x0e, 0xa2, 0xd0, 0x47, 0x18, - 0x9e, 0xe5, 0x28, 0x44, 0xce, 0x87, 0x2e, 0xaa, 0x02, 0xad, 0x47, 0xb8, 0x60, 0xe1, 0xc7, 0xa9, - 0xf5, 0x08, 0x87, 0xd4, 0xc3, 0x78, 0x36, 0x58, 0x85, 0xaa, 0x11, 0xaa, 0xd0, 0x2d, 0xca, 0xa1, - 0xf5, 0x08, 0x17, 0x2f, 0x06, 0xb9, 0xb7, 0x31, 0xac, 0x08, 0xbc, 0x1e, 0xa9, 0x08, 0x6c, 0x45, - 0x2a, 0x02, 0xb7, 0x3d, 0x04, 0x7f, 0x2a, 0xc1, 0x73, 0x1e, 0x82, 0xce, 0x5f, 0xbb, 0x0f, 0x8f, - 0xac, 0x12, 0xe0, 0x1d, 0x51, 0xc9, 0xee, 0xb1, 0x0d, 0x03, 0xa3, 0xb4, 0xd5, 0x94, 0xef, 0xf0, - 0x87, 0x55, 0xc5, 0x51, 0x0f, 0x70, 0x18, 0xc4, 0xc9, 0x66, 0xe8, 0x02, 0xe0, 0xad, 0x66, 0xcf, - 0xae, 0x16, 0x7e, 0xcb, 0x96, 0xeb, 0x96, 0x58, 0xae, 0xc3, 0xb8, 0xad, 0xde, 0xb3, 0xe1, 0x3d, - 0xcf, 0xc2, 0x95, 0x3a, 0x99, 0x49, 0x7b, 0x8c, 0x20, 0xcd, 0x51, 0xf9, 0x62, 0x8e, 0x0c, 0x5e, - 0x89, 0x74, 0x64, 0xc0, 0x25, 0x88, 0x77, 0x7c, 0xf0, 0xff, 0x83, 0x27, 0xd5, 0x6c, 0x96, 0x88, - 0x47, 0x09, 0x3f, 0x81, 0x69, 0xef, 0x09, 0xec, 0x6f, 0xb6, 0xb5, 0xf0, 0xdd, 0x4c, 0xbf, 0xd4, - 0x5c, 0x13, 0x76, 0xd1, 0x86, 0x9a, 0xd1, 0x6c, 0xd5, 0x8a, 0x30, 0x53, 0xeb, 0xd8, 0x3b, 0x00, - 0xbd, 0x76, 0xc7, 0xe8, 0x6d, 0x37, 0x8e, 0xc2, 0x36, 0x23, 0x12, 0x56, 0x6b, 0x7e, 0xf2, 0xeb, - 0xf9, 0x98, 0xf6, 0x32, 0x4c, 0xdd, 0x35, 0xba, 0xfa, 0x5e, 0x67, 0xdf, 0x68, 0xff, 0x58, 0x6f, - 0x0a, 0x86, 0x13, 0xae, 0x61, 0x31, 0xfe, 0xc4, 0xd2, 0xfe, 0x05, 0x82, 0x2b, 0xac, 0xfa, 0x77, - 0xdb, 0x66, 0x6b, 0xcb, 0xb0, 0x7a, 0xfa, 0x57, 0x21, 0xa1, 0x13, 0xe0, 0xec, 0x77, 0xd7, 0xa4, - 0xfb, 0x1d, 0xe9, 0xab, 0xbe, 0x64, 0xff, 0x5b, 0xa7, 0x26, 0xc2, 0x2e, 0x88, 0xbb, 0x6c, 0x3e, - 0x75, 0x0d, 0xc6, 0x9c, 0xf9, 0x79, 0xbf, 0x2e, 0x09, 0x7e, 0xfd, 0xd6, 0xc7, 0x2f, 0x9b, 0x47, - 0xf2, 0x6d, 0xce, 0x2f, 0xe6, 0x73, 0xd5, 0x57, 0x7d, 0xc9, 0x25, 0x5f, 0x29, 0x61, 0xf5, 0x7f, - 0x36, 0xa3, 0xc2, 0x9d, 0xcc, 0x40, 0xa2, 0x2a, 0xea, 0xf8, 0xfb, 0x59, 0x81, 0x78, 0xad, 0xd3, - 0xd4, 0xe5, 0xe7, 0x60, 0xec, 0x8d, 0xc6, 0x7d, 0xfd, 0x80, 0x04, 0xd9, 0xf9, 0x21, 0x2f, 0x42, - 0xa2, 0xdc, 0x6a, 0x1f, 0x34, 0xbb, 0xba, 0x41, 0xce, 0xec, 0xc9, 0x16, 0xba, 0x65, 0x53, 0xa7, - 0x32, 0xad, 0x0c, 0x97, 0x6b, 0x1d, 0xa3, 0xf4, 0xd0, 0x64, 0xeb, 0xc6, 0x92, 0x90, 0x22, 0xe4, - 0xcc, 0xe7, 0x8e, 0x95, 0x8d, 0x96, 0x42, 0x69, 0xec, 0xe3, 0xd3, 0x79, 0xb4, 0x4b, 0xf7, 0xcf, - 0xb7, 0xe1, 0x79, 0x92, 0x3e, 0x03, 0x53, 0xe5, 0xc3, 0xa6, 0x9a, 0x20, 0xe7, 0xd4, 0xcc, 0x74, - 0x5b, 0xd6, 0x74, 0x86, 0xef, 0x74, 0x4f, 0xe7, 0x99, 0xd5, 0x14, 0x0d, 0xf5, 0x0c, 0x8f, 0xe4, - 0x99, 0xef, 0x74, 0x4b, 0x61, 0xd3, 0x09, 0x9e, 0xbd, 0x08, 0x13, 0x54, 0xc6, 0xb0, 0x81, 0xcd, - 0x94, 0x7c, 0x56, 0x83, 0x49, 0x26, 0x61, 0xe5, 0x31, 0x40, 0x9b, 0xc9, 0x98, 0xf5, 0x5f, 0x29, - 0x89, 0xac, 0xff, 0xca, 0x49, 0x29, 0x7b, 0x0d, 0x66, 0x84, 0xfd, 0x4b, 0x4b, 0x52, 0x49, 0x82, - 0xf5, 0x5f, 0x35, 0x39, 0x99, 0x8a, 0xbf, 0xf7, 0x1b, 0x35, 0x96, 0x7d, 0x05, 0xe4, 0xc1, 0x9d, - 0x4e, 0x79, 0x1c, 0xa4, 0x4d, 0x6b, 0xca, 0xe7, 0x41, 0x2a, 0x95, 0x92, 0x28, 0x35, 0xf3, 0xb3, - 0x5f, 0xa6, 0x27, 0x4b, 0xba, 0x69, 0xea, 0xdd, 0x7b, 0xba, 0x59, 0x2a, 0x11, 0xe3, 0xd7, 0xe0, - 0x8a, 0xef, 0x4e, 0xa9, 0x65, 0x5f, 0x2e, 0x3b, 0xf6, 0x95, 0xca, 0x80, 0x7d, 0xa5, 0x62, 0xdb, - 0xa3, 0xa2, 0x7b, 0xe2, 0xbc, 0x29, 0xfb, 0xec, 0x32, 0x2a, 0x4d, 0xe6, 0x84, 0x7b, 0xb3, 0xf8, - 0x1a, 0xd1, 0x2d, 0xf9, 0xea, 0xea, 0x21, 0x27, 0xd6, 0xa5, 0x62, 0x99, 0xd8, 0x97, 0x7d, 0xed, - 0x1f, 0x08, 0xc7, 0xaa, 0xfc, 0x1b, 0x82, 0x4c, 0x52, 0xa6, 0x0e, 0x57, 0x7c, 0x27, 0x69, 0x31, - 0x97, 0xdd, 0x2b, 0xd4, 0xe1, 0xaa, 0xaf, 0x6e, 0x3b, 0xe4, 0xd2, 0x57, 0xb5, 0xb8, 0x4c, 0x5e, - 0xf2, 0x9b, 0x2b, 0xf2, 0x15, 0x37, 0x47, 0xb9, 0x0a, 0x4c, 0x02, 0xe4, 0x6a, 0x15, 0xcb, 0xc4, - 0xa0, 0x14, 0x68, 0x10, 0x1c, 0x25, 0xd7, 0xb2, 0xf8, 0x3a, 0x99, 0xa4, 0x1c, 0x38, 0x49, 0x48, - 0xa8, 0x5c, 0xf3, 0xd2, 0xee, 0xc9, 0x99, 0x1a, 0x7b, 0x72, 0xa6, 0xc6, 0xfe, 0x71, 0xa6, 0xc6, - 0x3e, 0x39, 0x53, 0xd1, 0x67, 0x67, 0x2a, 0xfa, 0xfc, 0x4c, 0x45, 0x5f, 0x9c, 0xa9, 0xe8, 0x9d, - 0xbe, 0x8a, 0x3e, 0xe8, 0xab, 0xe8, 0xc3, 0xbe, 0x8a, 0xfe, 0xd8, 0x57, 0xd1, 0xe3, 0xbe, 0x8a, - 0x4e, 0xfa, 0x6a, 0xec, 0x49, 0x5f, 0x45, 0x9f, 0xf4, 0x55, 0xf4, 0x59, 0x5f, 0x8d, 0x7d, 0xde, - 0x57, 0xd1, 0x17, 0x7d, 0x35, 0xf6, 0xce, 0xa7, 0x6a, 0xec, 0xd1, 0xa7, 0x6a, 0xec, 0x83, 0x4f, - 0x55, 0xf4, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xf6, 0x66, 0xae, 0x4e, 0x36, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/custombytesnonstruct/proto.pb.go b/vendor/github.com/gogo/protobuf/test/custombytesnonstruct/proto.pb.go index 775bbfead..e1396ca74 100644 --- a/vendor/github.com/gogo/protobuf/test/custombytesnonstruct/proto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/custombytesnonstruct/proto.pb.go @@ -3,12 +3,13 @@ package custombytesnonstruct -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -33,7 +34,7 @@ func (m *Object) Reset() { *m = Object{} } func (m *Object) String() string { return proto.CompactTextString(m) } func (*Object) ProtoMessage() {} func (*Object) Descriptor() ([]byte, []int) { - return fileDescriptor_proto_ae179068cc9a7711, []int{0} + return fileDescriptor_2fcc84b9998d60d8, []int{0} } func (m *Object) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -41,8 +42,8 @@ func (m *Object) XXX_Unmarshal(b []byte) error { func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Object.Marshal(b, m, deterministic) } -func (dst *Object) XXX_Merge(src proto.Message) { - xxx_messageInfo_Object.Merge(dst, src) +func (m *Object) XXX_Merge(src proto.Message) { + xxx_messageInfo_Object.Merge(m, src) } func (m *Object) XXX_Size() int { return xxx_messageInfo_Object.Size(m) @@ -56,6 +57,23 @@ var xxx_messageInfo_Object proto.InternalMessageInfo func init() { proto.RegisterType((*Object)(nil), "custombytesnonstruct.Object") } + +func init() { proto.RegisterFile("proto.proto", fileDescriptor_2fcc84b9998d60d8) } + +var fileDescriptor_2fcc84b9998d60d8 = []byte{ + // 147 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x28, 0xca, 0x2f, + 0xc9, 0xd7, 0x03, 0x93, 0x42, 0x22, 0xc9, 0xa5, 0xc5, 0x25, 0xf9, 0xb9, 0x49, 0x95, 0x25, 0xa9, + 0xc5, 0x79, 0xf9, 0x79, 0xc5, 0x25, 0x45, 0xa5, 0xc9, 0x25, 0x52, 0xba, 0xe9, 0x99, 0x25, 0x19, + 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0xc5, 0x49, 0xa5, + 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x0c, 0x51, 0x2a, 0xe0, 0x62, 0xf3, 0x4f, 0xca, 0x4a, + 0x4d, 0x2e, 0x11, 0x32, 0xe2, 0xe2, 0x71, 0x06, 0x1b, 0xe8, 0x96, 0x99, 0x9a, 0x93, 0x62, 0x28, + 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0xe3, 0xc4, 0x77, 0xeb, 0x9e, 0x3c, 0x17, 0x44, 0x3c, 0xa4, 0xb2, + 0x20, 0x35, 0x08, 0x45, 0x0d, 0x9a, 0x1e, 0x23, 0x09, 0x26, 0x05, 0x66, 0x02, 0x7a, 0x8c, 0x9c, + 0x58, 0x2e, 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0xdd, 0xc6, 0xf3, 0xe3, 0xca, + 0x00, 0x00, 0x00, +} + func (m *Object) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -275,19 +293,3 @@ var ( ErrInvalidLengthProto = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProto = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("proto.proto", fileDescriptor_proto_ae179068cc9a7711) } - -var fileDescriptor_proto_ae179068cc9a7711 = []byte{ - // 147 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x28, 0xca, 0x2f, - 0xc9, 0xd7, 0x03, 0x93, 0x42, 0x22, 0xc9, 0xa5, 0xc5, 0x25, 0xf9, 0xb9, 0x49, 0x95, 0x25, 0xa9, - 0xc5, 0x79, 0xf9, 0x79, 0xc5, 0x25, 0x45, 0xa5, 0xc9, 0x25, 0x52, 0xba, 0xe9, 0x99, 0x25, 0x19, - 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0xc5, 0x49, 0xa5, - 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x0c, 0x51, 0x2a, 0xe0, 0x62, 0xf3, 0x4f, 0xca, 0x4a, - 0x4d, 0x2e, 0x11, 0x32, 0xe2, 0xe2, 0x71, 0x06, 0x1b, 0xe8, 0x96, 0x99, 0x9a, 0x93, 0x62, 0x28, - 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0xe3, 0xc4, 0x77, 0xeb, 0x9e, 0x3c, 0x17, 0x44, 0x3c, 0xa4, 0xb2, - 0x20, 0x35, 0x08, 0x45, 0x0d, 0x9a, 0x1e, 0x23, 0x09, 0x26, 0x05, 0x66, 0x02, 0x7a, 0x8c, 0x9c, - 0x58, 0x2e, 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0xdd, 0xc6, 0xf3, 0xe3, 0xca, - 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/data/data.pb.go b/vendor/github.com/gogo/protobuf/test/data/data.pb.go index 37b0528cc..fce4e8567 100644 --- a/vendor/github.com/gogo/protobuf/test/data/data.pb.go +++ b/vendor/github.com/gogo/protobuf/test/data/data.pb.go @@ -3,17 +3,16 @@ package data -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -36,7 +35,7 @@ type MyMessage struct { func (m *MyMessage) Reset() { *m = MyMessage{} } func (*MyMessage) ProtoMessage() {} func (*MyMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_data_ad073f7719d49453, []int{0} + return fileDescriptor_871986018790d2fd, []int{0} } func (m *MyMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -53,8 +52,8 @@ func (m *MyMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *MyMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyMessage.Merge(dst, src) +func (m *MyMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessage.Merge(m, src) } func (m *MyMessage) XXX_Size() int { return m.Size() @@ -75,6 +74,23 @@ func (m *MyMessage) GetMyData() uint32 { func init() { proto.RegisterType((*MyMessage)(nil), "data.MyMessage") } + +func init() { proto.RegisterFile("data.proto", fileDescriptor_871986018790d2fd) } + +var fileDescriptor_871986018790d2fd = []byte{ + // 160 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4a, 0x49, 0x2c, 0x49, + 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x01, 0xb1, 0xa5, 0x74, 0xd3, 0x33, 0x4b, 0x32, + 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0x92, 0x49, 0xa5, + 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x34, 0x29, 0xa9, 0x70, 0x71, 0xfa, 0x56, 0xfa, 0xa6, + 0x16, 0x17, 0x27, 0xa6, 0xa7, 0x0a, 0x89, 0x73, 0xb1, 0xe7, 0x56, 0xc6, 0x83, 0x8c, 0x91, 0x60, + 0x54, 0x60, 0xd4, 0xe0, 0x0d, 0x62, 0xcb, 0xad, 0x74, 0x49, 0x2c, 0x49, 0x74, 0xd2, 0xb9, 0xf1, + 0x50, 0x8e, 0xe1, 0xc1, 0x43, 0x39, 0xc6, 0x0f, 0x0f, 0xe5, 0x18, 0x7f, 0x3c, 0x94, 0x63, 0x6c, + 0x78, 0x24, 0xc7, 0xb8, 0xe2, 0x91, 0x1c, 0xe3, 0x8e, 0x47, 0x72, 0x8c, 0x07, 0x1e, 0xc9, 0x31, + 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x49, 0x6c, 0x60, + 0xa3, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x4f, 0xfb, 0xa7, 0x9d, 0x00, 0x00, 0x00, +} + func (this *MyMessage) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -493,19 +509,3 @@ var ( ErrInvalidLengthData = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowData = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("data.proto", fileDescriptor_data_ad073f7719d49453) } - -var fileDescriptor_data_ad073f7719d49453 = []byte{ - // 160 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4a, 0x49, 0x2c, 0x49, - 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x01, 0xb1, 0xa5, 0x74, 0xd3, 0x33, 0x4b, 0x32, - 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0x92, 0x49, 0xa5, - 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x34, 0x29, 0xa9, 0x70, 0x71, 0xfa, 0x56, 0xfa, 0xa6, - 0x16, 0x17, 0x27, 0xa6, 0xa7, 0x0a, 0x89, 0x73, 0xb1, 0xe7, 0x56, 0xc6, 0x83, 0x8c, 0x91, 0x60, - 0x54, 0x60, 0xd4, 0xe0, 0x0d, 0x62, 0xcb, 0xad, 0x74, 0x49, 0x2c, 0x49, 0x74, 0xd2, 0xb9, 0xf1, - 0x50, 0x8e, 0xe1, 0xc1, 0x43, 0x39, 0xc6, 0x0f, 0x0f, 0xe5, 0x18, 0x7f, 0x3c, 0x94, 0x63, 0x6c, - 0x78, 0x24, 0xc7, 0xb8, 0xe2, 0x91, 0x1c, 0xe3, 0x8e, 0x47, 0x72, 0x8c, 0x07, 0x1e, 0xc9, 0x31, - 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x49, 0x6c, 0x60, - 0xa3, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x4f, 0xfb, 0xa7, 0x9d, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/deterministic/deterministic.pb.go b/vendor/github.com/gogo/protobuf/test/deterministic/deterministic.pb.go index 86e7b8643..6595dd366 100644 --- a/vendor/github.com/gogo/protobuf/test/deterministic/deterministic.pb.go +++ b/vendor/github.com/gogo/protobuf/test/deterministic/deterministic.pb.go @@ -3,14 +3,14 @@ package deterministic -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +34,7 @@ func (m *OrderedMap) Reset() { *m = OrderedMap{} } func (m *OrderedMap) String() string { return proto.CompactTextString(m) } func (*OrderedMap) ProtoMessage() {} func (*OrderedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_deterministic_f6340fb8decdd007, []int{0} + return fileDescriptor_c4c11acb40b6bc2e, []int{0} } func (m *OrderedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrderedMap.Unmarshal(m, b) @@ -47,8 +47,8 @@ func (m *OrderedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { } return b[:n], nil } -func (dst *OrderedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrderedMap.Merge(dst, src) +func (m *OrderedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrderedMap.Merge(m, src) } func (m *OrderedMap) XXX_Size() int { return m.Size() @@ -77,7 +77,7 @@ func (m *UnorderedMap) Reset() { *m = UnorderedMap{} } func (m *UnorderedMap) String() string { return proto.CompactTextString(m) } func (*UnorderedMap) ProtoMessage() {} func (*UnorderedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_deterministic_f6340fb8decdd007, []int{1} + return fileDescriptor_c4c11acb40b6bc2e, []int{1} } func (m *UnorderedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnorderedMap.Unmarshal(m, b) @@ -94,8 +94,8 @@ func (m *UnorderedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *UnorderedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnorderedMap.Merge(dst, src) +func (m *UnorderedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnorderedMap.Merge(m, src) } func (m *UnorderedMap) XXX_Size() int { return m.Size() @@ -124,7 +124,7 @@ func (m *MapNoMarshaler) Reset() { *m = MapNoMarshaler{} } func (m *MapNoMarshaler) String() string { return proto.CompactTextString(m) } func (*MapNoMarshaler) ProtoMessage() {} func (*MapNoMarshaler) Descriptor() ([]byte, []int) { - return fileDescriptor_deterministic_f6340fb8decdd007, []int{2} + return fileDescriptor_c4c11acb40b6bc2e, []int{2} } func (m *MapNoMarshaler) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapNoMarshaler.Unmarshal(m, b) @@ -132,8 +132,8 @@ func (m *MapNoMarshaler) XXX_Unmarshal(b []byte) error { func (m *MapNoMarshaler) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapNoMarshaler.Marshal(b, m, deterministic) } -func (dst *MapNoMarshaler) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapNoMarshaler.Merge(dst, src) +func (m *MapNoMarshaler) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapNoMarshaler.Merge(m, src) } func (m *MapNoMarshaler) XXX_Size() int { return xxx_messageInfo_MapNoMarshaler.Size(m) @@ -163,7 +163,7 @@ func (m *NestedOrderedMap) Reset() { *m = NestedOrderedMap{} } func (m *NestedOrderedMap) String() string { return proto.CompactTextString(m) } func (*NestedOrderedMap) ProtoMessage() {} func (*NestedOrderedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_deterministic_f6340fb8decdd007, []int{3} + return fileDescriptor_c4c11acb40b6bc2e, []int{3} } func (m *NestedOrderedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedOrderedMap.Unmarshal(m, b) @@ -176,8 +176,8 @@ func (m *NestedOrderedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, er } return b[:n], nil } -func (dst *NestedOrderedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedOrderedMap.Merge(dst, src) +func (m *NestedOrderedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedOrderedMap.Merge(m, src) } func (m *NestedOrderedMap) XXX_Size() int { return m.Size() @@ -213,7 +213,7 @@ func (m *NestedMap1) Reset() { *m = NestedMap1{} } func (m *NestedMap1) String() string { return proto.CompactTextString(m) } func (*NestedMap1) ProtoMessage() {} func (*NestedMap1) Descriptor() ([]byte, []int) { - return fileDescriptor_deterministic_f6340fb8decdd007, []int{4} + return fileDescriptor_c4c11acb40b6bc2e, []int{4} } func (m *NestedMap1) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedMap1.Unmarshal(m, b) @@ -226,8 +226,8 @@ func (m *NestedMap1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { } return b[:n], nil } -func (dst *NestedMap1) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedMap1.Merge(dst, src) +func (m *NestedMap1) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedMap1.Merge(m, src) } func (m *NestedMap1) XXX_Size() int { return m.Size() @@ -257,7 +257,7 @@ func (m *NestedUnorderedMap) Reset() { *m = NestedUnorderedMap{} } func (m *NestedUnorderedMap) String() string { return proto.CompactTextString(m) } func (*NestedUnorderedMap) ProtoMessage() {} func (*NestedUnorderedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_deterministic_f6340fb8decdd007, []int{5} + return fileDescriptor_c4c11acb40b6bc2e, []int{5} } func (m *NestedUnorderedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedUnorderedMap.Unmarshal(m, b) @@ -274,8 +274,8 @@ func (m *NestedUnorderedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NestedUnorderedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedUnorderedMap.Merge(dst, src) +func (m *NestedUnorderedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedUnorderedMap.Merge(m, src) } func (m *NestedUnorderedMap) XXX_Size() int { return m.Size() @@ -311,7 +311,7 @@ func (m *NestedMap2) Reset() { *m = NestedMap2{} } func (m *NestedMap2) String() string { return proto.CompactTextString(m) } func (*NestedMap2) ProtoMessage() {} func (*NestedMap2) Descriptor() ([]byte, []int) { - return fileDescriptor_deterministic_f6340fb8decdd007, []int{6} + return fileDescriptor_c4c11acb40b6bc2e, []int{6} } func (m *NestedMap2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedMap2.Unmarshal(m, b) @@ -328,8 +328,8 @@ func (m *NestedMap2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NestedMap2) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedMap2.Merge(dst, src) +func (m *NestedMap2) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedMap2.Merge(m, src) } func (m *NestedMap2) XXX_Size() int { return m.Size() @@ -363,6 +363,38 @@ func init() { proto.RegisterType((*NestedMap2)(nil), "deterministic.NestedMap2") proto.RegisterMapType((map[string]string)(nil), "deterministic.NestedMap2.NestedStringMapEntry") } + +func init() { proto.RegisterFile("deterministic.proto", fileDescriptor_c4c11acb40b6bc2e) } + +var fileDescriptor_c4c11acb40b6bc2e = []byte{ + // 385 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4e, 0x49, 0x2d, 0x49, + 0x2d, 0xca, 0xcd, 0xcc, 0xcb, 0x2c, 0x2e, 0xc9, 0x4c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, + 0xe2, 0x45, 0x11, 0x94, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, + 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, + 0xa2, 0x5b, 0x69, 0x0e, 0x23, 0x17, 0x97, 0x7f, 0x51, 0x4a, 0x6a, 0x51, 0x6a, 0x8a, 0x6f, 0x62, + 0x81, 0x90, 0x1b, 0x17, 0x67, 0x70, 0x49, 0x51, 0x66, 0x5e, 0xba, 0x6f, 0x62, 0x81, 0x04, 0xa3, + 0x02, 0xb3, 0x06, 0xb7, 0x91, 0x86, 0x1e, 0xaa, 0xad, 0x08, 0xd5, 0x7a, 0x70, 0xa5, 0xae, 0x79, + 0x25, 0x45, 0x95, 0x41, 0x08, 0xad, 0x52, 0x36, 0x5c, 0x7c, 0xa8, 0x92, 0x42, 0x02, 0x5c, 0xcc, + 0xd9, 0xa9, 0x95, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x20, 0xa6, 0x90, 0x08, 0x17, 0x6b, + 0x59, 0x62, 0x4e, 0x69, 0xaa, 0x04, 0x13, 0x58, 0x0c, 0xc2, 0xb1, 0x62, 0xb2, 0x60, 0xb4, 0xe2, + 0xe8, 0x58, 0x28, 0xcf, 0x38, 0x63, 0xa1, 0x3c, 0xa3, 0xd2, 0x02, 0x46, 0x2e, 0x9e, 0xd0, 0xbc, + 0x7c, 0x84, 0x03, 0x3d, 0x30, 0x1d, 0xa8, 0x85, 0xe6, 0x40, 0x64, 0xf5, 0x34, 0x77, 0x22, 0x03, + 0xc8, 0x89, 0x7c, 0xbe, 0x89, 0x05, 0x7e, 0xf9, 0xbe, 0x89, 0x45, 0xc5, 0x19, 0x89, 0x39, 0xa9, + 0x45, 0x42, 0x5e, 0x98, 0x8e, 0xd4, 0x41, 0x73, 0x24, 0xaa, 0x0e, 0x9a, 0x39, 0x93, 0xa5, 0x03, + 0xe4, 0xc4, 0x87, 0x8c, 0x5c, 0x02, 0x7e, 0xa9, 0xc5, 0x25, 0xa9, 0x29, 0x48, 0x51, 0xed, 0x83, + 0xe9, 0x48, 0x3d, 0x34, 0x47, 0xa2, 0xeb, 0xc1, 0xed, 0x4c, 0x21, 0x73, 0x2e, 0x4e, 0x88, 0x6a, + 0x90, 0x69, 0x20, 0x67, 0x70, 0x1b, 0x49, 0x62, 0x35, 0xcd, 0x37, 0xb1, 0xc0, 0x30, 0x08, 0xa1, + 0x96, 0x6a, 0x29, 0x65, 0x0b, 0x23, 0x17, 0x17, 0xc2, 0x06, 0xa1, 0x08, 0x2e, 0x7e, 0x08, 0x8f, + 0x38, 0x3f, 0x82, 0xf4, 0xe8, 0xa1, 0x69, 0x80, 0xf8, 0x11, 0xdd, 0x18, 0x29, 0x27, 0x2e, 0x11, + 0x6c, 0x0a, 0xc9, 0x74, 0xf6, 0x53, 0x46, 0x2e, 0x21, 0x88, 0x71, 0x28, 0xc9, 0xdc, 0x0f, 0x33, + 0x72, 0x0c, 0xb0, 0x3a, 0x9c, 0xb8, 0xc4, 0x4e, 0x52, 0xf4, 0x18, 0x51, 0x3f, 0x7a, 0x18, 0x50, + 0xa3, 0xc7, 0x88, 0x8c, 0xe8, 0x31, 0x1a, 0x80, 0xe8, 0x61, 0x70, 0x12, 0x78, 0xf0, 0x50, 0x8e, + 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x3f, 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, + 0x97, 0x9b, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa0, 0xcf, 0x58, 0xa8, 0x8c, 0x05, 0x00, + 0x00, +} + func (this *OrderedMap) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -1298,34 +1330,3 @@ func sovDeterministic(x uint64) (n int) { func sozDeterministic(x uint64) (n int) { return sovDeterministic(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } - -func init() { proto.RegisterFile("deterministic.proto", fileDescriptor_deterministic_f6340fb8decdd007) } - -var fileDescriptor_deterministic_f6340fb8decdd007 = []byte{ - // 385 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4e, 0x49, 0x2d, 0x49, - 0x2d, 0xca, 0xcd, 0xcc, 0xcb, 0x2c, 0x2e, 0xc9, 0x4c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, - 0xe2, 0x45, 0x11, 0x94, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, - 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, - 0xa2, 0x5b, 0x69, 0x0e, 0x23, 0x17, 0x97, 0x7f, 0x51, 0x4a, 0x6a, 0x51, 0x6a, 0x8a, 0x6f, 0x62, - 0x81, 0x90, 0x1b, 0x17, 0x67, 0x70, 0x49, 0x51, 0x66, 0x5e, 0xba, 0x6f, 0x62, 0x81, 0x04, 0xa3, - 0x02, 0xb3, 0x06, 0xb7, 0x91, 0x86, 0x1e, 0xaa, 0xad, 0x08, 0xd5, 0x7a, 0x70, 0xa5, 0xae, 0x79, - 0x25, 0x45, 0x95, 0x41, 0x08, 0xad, 0x52, 0x36, 0x5c, 0x7c, 0xa8, 0x92, 0x42, 0x02, 0x5c, 0xcc, - 0xd9, 0xa9, 0x95, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x20, 0xa6, 0x90, 0x08, 0x17, 0x6b, - 0x59, 0x62, 0x4e, 0x69, 0xaa, 0x04, 0x13, 0x58, 0x0c, 0xc2, 0xb1, 0x62, 0xb2, 0x60, 0xb4, 0xe2, - 0xe8, 0x58, 0x28, 0xcf, 0x38, 0x63, 0xa1, 0x3c, 0xa3, 0xd2, 0x02, 0x46, 0x2e, 0x9e, 0xd0, 0xbc, - 0x7c, 0x84, 0x03, 0x3d, 0x30, 0x1d, 0xa8, 0x85, 0xe6, 0x40, 0x64, 0xf5, 0x34, 0x77, 0x22, 0x03, - 0xc8, 0x89, 0x7c, 0xbe, 0x89, 0x05, 0x7e, 0xf9, 0xbe, 0x89, 0x45, 0xc5, 0x19, 0x89, 0x39, 0xa9, - 0x45, 0x42, 0x5e, 0x98, 0x8e, 0xd4, 0x41, 0x73, 0x24, 0xaa, 0x0e, 0x9a, 0x39, 0x93, 0xa5, 0x03, - 0xe4, 0xc4, 0x87, 0x8c, 0x5c, 0x02, 0x7e, 0xa9, 0xc5, 0x25, 0xa9, 0x29, 0x48, 0x51, 0xed, 0x83, - 0xe9, 0x48, 0x3d, 0x34, 0x47, 0xa2, 0xeb, 0xc1, 0xed, 0x4c, 0x21, 0x73, 0x2e, 0x4e, 0x88, 0x6a, - 0x90, 0x69, 0x20, 0x67, 0x70, 0x1b, 0x49, 0x62, 0x35, 0xcd, 0x37, 0xb1, 0xc0, 0x30, 0x08, 0xa1, - 0x96, 0x6a, 0x29, 0x65, 0x0b, 0x23, 0x17, 0x17, 0xc2, 0x06, 0xa1, 0x08, 0x2e, 0x7e, 0x08, 0x8f, - 0x38, 0x3f, 0x82, 0xf4, 0xe8, 0xa1, 0x69, 0x80, 0xf8, 0x11, 0xdd, 0x18, 0x29, 0x27, 0x2e, 0x11, - 0x6c, 0x0a, 0xc9, 0x74, 0xf6, 0x53, 0x46, 0x2e, 0x21, 0x88, 0x71, 0x28, 0xc9, 0xdc, 0x0f, 0x33, - 0x72, 0x0c, 0xb0, 0x3a, 0x9c, 0xb8, 0xc4, 0x4e, 0x52, 0xf4, 0x18, 0x51, 0x3f, 0x7a, 0x18, 0x50, - 0xa3, 0xc7, 0x88, 0x8c, 0xe8, 0x31, 0x1a, 0x80, 0xe8, 0x61, 0x70, 0x12, 0x78, 0xf0, 0x50, 0x8e, - 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x3f, 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, - 0x97, 0x9b, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa0, 0xcf, 0x58, 0xa8, 0x8c, 0x05, 0x00, - 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/empty-issue70/empty.pb.go b/vendor/github.com/gogo/protobuf/test/empty-issue70/empty.pb.go index a1091b762..d18feff40 100644 --- a/vendor/github.com/gogo/protobuf/test/empty-issue70/empty.pb.go +++ b/vendor/github.com/gogo/protobuf/test/empty-issue70/empty.pb.go @@ -3,12 +3,13 @@ package empty -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +32,7 @@ func (m *TestRequest) Reset() { *m = TestRequest{} } func (m *TestRequest) String() string { return proto.CompactTextString(m) } func (*TestRequest) ProtoMessage() {} func (*TestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_empty_5bb98b2f7e13ce4b, []int{0} + return fileDescriptor_2b3147679766dcb8, []int{0} } func (m *TestRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -39,8 +40,8 @@ func (m *TestRequest) XXX_Unmarshal(b []byte) error { func (m *TestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TestRequest.Marshal(b, m, deterministic) } -func (dst *TestRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TestRequest.Merge(dst, src) +func (m *TestRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_TestRequest.Merge(m, src) } func (m *TestRequest) XXX_Size() int { return xxx_messageInfo_TestRequest.Size(m) @@ -54,6 +55,19 @@ var xxx_messageInfo_TestRequest proto.InternalMessageInfo func init() { proto.RegisterType((*TestRequest)(nil), "empty.TestRequest") } + +func init() { proto.RegisterFile("empty.proto", fileDescriptor_2b3147679766dcb8) } + +var fileDescriptor_2b3147679766dcb8 = []byte{ + // 92 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4e, 0xcd, 0x2d, 0x28, + 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, + 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0xb2, 0x49, + 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x74, 0x29, 0xf1, 0x72, 0x71, 0x87, 0xa4, 0x16, + 0x97, 0x04, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x38, 0xb1, 0x5c, 0x78, 0x24, 0xc7, 0x08, 0x08, + 0x00, 0x00, 0xff, 0xff, 0x0e, 0xe3, 0x23, 0x3d, 0x58, 0x00, 0x00, 0x00, +} + func (m *TestRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -209,15 +223,3 @@ var ( ErrInvalidLengthEmpty = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEmpty = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("empty.proto", fileDescriptor_empty_5bb98b2f7e13ce4b) } - -var fileDescriptor_empty_5bb98b2f7e13ce4b = []byte{ - // 92 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4e, 0xcd, 0x2d, 0x28, - 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, - 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0xb2, 0x49, - 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x74, 0x29, 0xf1, 0x72, 0x71, 0x87, 0xa4, 0x16, - 0x97, 0x04, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x38, 0xb1, 0x5c, 0x78, 0x24, 0xc7, 0x08, 0x08, - 0x00, 0x00, 0xff, 0xff, 0x0e, 0xe3, 0x23, 0x3d, 0x58, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/enumcustomname/enumcustomname.pb.go b/vendor/github.com/gogo/protobuf/test/enumcustomname/enumcustomname.pb.go index 6db924668..1c3330f1e 100644 --- a/vendor/github.com/gogo/protobuf/test/enumcustomname/enumcustomname.pb.go +++ b/vendor/github.com/gogo/protobuf/test/enumcustomname/enumcustomname.pb.go @@ -1,20 +1,19 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: enumcustomname.proto -package enumcustomname - -/* -Package enumcustomname tests the behavior of enum_customname and -enumvalue_customname extensions. -*/ +// Package enumcustomname tests the behavior of enum_customname and +// enumvalue_customname extensions. -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import test "github.com/gogo/protobuf/test" +package enumcustomname -import strconv "strconv" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + test "github.com/gogo/protobuf/test" + math "math" + strconv "strconv" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -40,6 +39,7 @@ var MyCustomEnum_name = map[int32]string{ 0: "A", 1: "B", } + var MyCustomEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -50,9 +50,11 @@ func (x MyCustomEnum) Enum() *MyCustomEnum { *p = x return p } + func (x MyCustomEnum) String() string { return proto.EnumName(MyCustomEnum_name, int32(x)) } + func (x *MyCustomEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MyCustomEnum_value, data, "MyCustomEnum") if err != nil { @@ -61,8 +63,9 @@ func (x *MyCustomEnum) UnmarshalJSON(data []byte) error { *x = MyCustomEnum(value) return nil } + func (MyCustomEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_enumcustomname_d428393be9e73607, []int{0} + return fileDescriptor_49eed3c955d68b51, []int{0} } type MyCustomUnprefixedEnum int32 @@ -76,6 +79,7 @@ var MyCustomUnprefixedEnum_name = map[int32]string{ 0: "UNPREFIXED_A", 1: "UNPREFIXED_B", } + var MyCustomUnprefixedEnum_value = map[string]int32{ "UNPREFIXED_A": 0, "UNPREFIXED_B": 1, @@ -86,9 +90,11 @@ func (x MyCustomUnprefixedEnum) Enum() *MyCustomUnprefixedEnum { *p = x return p } + func (x MyCustomUnprefixedEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(MyCustomUnprefixedEnum_name, int32(x)) } + func (x *MyCustomUnprefixedEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MyCustomUnprefixedEnum_value, data, "MyCustomUnprefixedEnum") if err != nil { @@ -97,8 +103,9 @@ func (x *MyCustomUnprefixedEnum) UnmarshalJSON(data []byte) error { *x = MyCustomUnprefixedEnum(value) return nil } + func (MyCustomUnprefixedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_enumcustomname_d428393be9e73607, []int{1} + return fileDescriptor_49eed3c955d68b51, []int{1} } type MyEnumWithEnumStringer int32 @@ -112,6 +119,7 @@ var MyEnumWithEnumStringer_name = map[int32]string{ 0: "STRINGER_A", 1: "STRINGER_B", } + var MyEnumWithEnumStringer_value = map[string]int32{ "STRINGER_A": 0, "STRINGER_B": 1, @@ -122,9 +130,11 @@ func (x MyEnumWithEnumStringer) Enum() *MyEnumWithEnumStringer { *p = x return p } + func (x MyEnumWithEnumStringer) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(MyEnumWithEnumStringer_name, int32(x)) } + func (x *MyEnumWithEnumStringer) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MyEnumWithEnumStringer_value, data, "MyEnumWithEnumStringer") if err != nil { @@ -133,8 +143,9 @@ func (x *MyEnumWithEnumStringer) UnmarshalJSON(data []byte) error { *x = MyEnumWithEnumStringer(value) return nil } + func (MyEnumWithEnumStringer) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_enumcustomname_d428393be9e73607, []int{2} + return fileDescriptor_49eed3c955d68b51, []int{2} } type OnlyEnums struct { @@ -159,7 +170,7 @@ func (m *OnlyEnums) Reset() { *m = OnlyEnums{} } func (m *OnlyEnums) String() string { return proto.CompactTextString(m) } func (*OnlyEnums) ProtoMessage() {} func (*OnlyEnums) Descriptor() ([]byte, []int) { - return fileDescriptor_enumcustomname_d428393be9e73607, []int{0} + return fileDescriptor_49eed3c955d68b51, []int{0} } func (m *OnlyEnums) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OnlyEnums.Unmarshal(m, b) @@ -167,8 +178,8 @@ func (m *OnlyEnums) XXX_Unmarshal(b []byte) error { func (m *OnlyEnums) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OnlyEnums.Marshal(b, m, deterministic) } -func (dst *OnlyEnums) XXX_Merge(src proto.Message) { - xxx_messageInfo_OnlyEnums.Merge(dst, src) +func (m *OnlyEnums) XXX_Merge(src proto.Message) { + xxx_messageInfo_OnlyEnums.Merge(m, src) } func (m *OnlyEnums) XXX_Size() int { return xxx_messageInfo_OnlyEnums.Size(m) @@ -273,24 +284,15 @@ func (m *OnlyEnums) GetYetYetAnotherTestEnumDefaultDd() test.YetYetAnotherTestEn } func init() { - proto.RegisterType((*OnlyEnums)(nil), "enumcustomname.OnlyEnums") proto.RegisterEnum("enumcustomname.MyCustomEnum", MyCustomEnum_name, MyCustomEnum_value) proto.RegisterEnum("enumcustomname.MyCustomUnprefixedEnum", MyCustomUnprefixedEnum_name, MyCustomUnprefixedEnum_value) proto.RegisterEnum("enumcustomname.MyEnumWithEnumStringer", MyEnumWithEnumStringer_name, MyEnumWithEnumStringer_value) -} -func (x MyEnumWithEnumStringer) String() string { - s, ok := MyEnumWithEnumStringer_name[int32(x)] - if ok { - return s - } - return strconv.Itoa(int(x)) + proto.RegisterType((*OnlyEnums)(nil), "enumcustomname.OnlyEnums") } -func init() { - proto.RegisterFile("enumcustomname.proto", fileDescriptor_enumcustomname_d428393be9e73607) -} +func init() { proto.RegisterFile("enumcustomname.proto", fileDescriptor_49eed3c955d68b51) } -var fileDescriptor_enumcustomname_d428393be9e73607 = []byte{ +var fileDescriptor_49eed3c955d68b51 = []byte{ // 551 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0x4f, 0x8f, 0xd2, 0x40, 0x18, 0xc6, 0x29, 0xba, 0x2c, 0x3b, 0x22, 0xe9, 0x4e, 0x14, 0x47, 0x30, 0x4d, 0xb3, 0x31, 0xc6, @@ -328,3 +330,11 @@ var fileDescriptor_enumcustomname_d428393be9e73607 = []byte{ 0xd0, 0x71, 0x6a, 0x91, 0x13, 0xff, 0x2c, 0x15, 0xe9, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbe, 0x65, 0x55, 0xe7, 0xdb, 0x05, 0x00, 0x00, } + +func (x MyEnumWithEnumStringer) String() string { + s, ok := MyEnumWithEnumStringer_name[int32(x)] + if ok { + return s + } + return strconv.Itoa(int(x)) +} diff --git a/vendor/github.com/gogo/protobuf/test/enumdecl/enumdecl.pb.go b/vendor/github.com/gogo/protobuf/test/enumdecl/enumdecl.pb.go index 047cb045a..9894547ea 100644 --- a/vendor/github.com/gogo/protobuf/test/enumdecl/enumdecl.pb.go +++ b/vendor/github.com/gogo/protobuf/test/enumdecl/enumdecl.pb.go @@ -3,14 +3,14 @@ package enumdecl -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -27,6 +27,7 @@ var MyEnum_name = map[int32]string{ 0: "A", 1: "B", } + var MyEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -35,8 +36,9 @@ var MyEnum_value = map[string]int32{ func (x MyEnum) String() string { return proto.EnumName(MyEnum_name, int32(x)) } + func (MyEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_enumdecl_b298d32d6f1455f8, []int{0} + return fileDescriptor_869e4edba7b1e4e3, []int{0} } type Message struct { @@ -50,7 +52,7 @@ func (m *Message) Reset() { *m = Message{} } func (m *Message) String() string { return proto.CompactTextString(m) } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_enumdecl_b298d32d6f1455f8, []int{0} + return fileDescriptor_869e4edba7b1e4e3, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -67,8 +69,8 @@ func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return m.Size() @@ -87,9 +89,29 @@ func (m *Message) GetEnumeratedField() MyEnum { } func init() { - proto.RegisterType((*Message)(nil), "enumdecl.Message") proto.RegisterEnum("enumdecl.MyEnum", MyEnum_name, MyEnum_value) + proto.RegisterType((*Message)(nil), "enumdecl.Message") +} + +func init() { proto.RegisterFile("enumdecl.proto", fileDescriptor_869e4edba7b1e4e3) } + +var fileDescriptor_869e4edba7b1e4e3 = []byte{ + // 205 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4b, 0xcd, 0x2b, 0xcd, + 0x4d, 0x49, 0x4d, 0xce, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x72, 0xe3, 0x62, + 0xf7, 0x4d, 0x2d, 0x2e, 0x4e, 0x4c, 0x4f, 0x15, 0xb2, 0xe6, 0x12, 0x00, 0x99, 0x92, 0x5a, 0x94, + 0x58, 0x92, 0x9a, 0x12, 0x9f, 0x96, 0x99, 0x9a, 0x93, 0x22, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x67, + 0x24, 0xa0, 0x07, 0xb7, 0xce, 0xb7, 0xd2, 0x35, 0xaf, 0x34, 0x37, 0x88, 0x1f, 0xa1, 0xd2, 0x0d, + 0xa4, 0x50, 0x4b, 0x81, 0x8b, 0x0d, 0x22, 0x25, 0xc4, 0xca, 0xc5, 0xe8, 0x28, 0xc0, 0x00, 0xa2, + 0x9c, 0x04, 0x18, 0xa5, 0x38, 0x3a, 0x16, 0xcb, 0x31, 0x1c, 0x58, 0x22, 0xc7, 0xe0, 0xa4, 0xf1, + 0xe0, 0xa1, 0x1c, 0xe3, 0x8f, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0xee, 0x78, 0x24, 0xc7, + 0x78, 0xe0, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, + 0xc7, 0xf8, 0xe3, 0x91, 0x1c, 0x43, 0xc3, 0x63, 0x39, 0x86, 0x24, 0x36, 0xb0, 0xd3, 0x8c, 0x01, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x76, 0x04, 0x55, 0xb7, 0xe5, 0x00, 0x00, 0x00, } + func (this *Message) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -468,22 +490,3 @@ var ( ErrInvalidLengthEnumdecl = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEnumdecl = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("enumdecl.proto", fileDescriptor_enumdecl_b298d32d6f1455f8) } - -var fileDescriptor_enumdecl_b298d32d6f1455f8 = []byte{ - // 205 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4b, 0xcd, 0x2b, 0xcd, - 0x4d, 0x49, 0x4d, 0xce, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x72, 0xe3, 0x62, - 0xf7, 0x4d, 0x2d, 0x2e, 0x4e, 0x4c, 0x4f, 0x15, 0xb2, 0xe6, 0x12, 0x00, 0x99, 0x92, 0x5a, 0x94, - 0x58, 0x92, 0x9a, 0x12, 0x9f, 0x96, 0x99, 0x9a, 0x93, 0x22, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x67, - 0x24, 0xa0, 0x07, 0xb7, 0xce, 0xb7, 0xd2, 0x35, 0xaf, 0x34, 0x37, 0x88, 0x1f, 0xa1, 0xd2, 0x0d, - 0xa4, 0x50, 0x4b, 0x81, 0x8b, 0x0d, 0x22, 0x25, 0xc4, 0xca, 0xc5, 0xe8, 0x28, 0xc0, 0x00, 0xa2, - 0x9c, 0x04, 0x18, 0xa5, 0x38, 0x3a, 0x16, 0xcb, 0x31, 0x1c, 0x58, 0x22, 0xc7, 0xe0, 0xa4, 0xf1, - 0xe0, 0xa1, 0x1c, 0xe3, 0x8f, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0xee, 0x78, 0x24, 0xc7, - 0x78, 0xe0, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, - 0xc7, 0xf8, 0xe3, 0x91, 0x1c, 0x43, 0xc3, 0x63, 0x39, 0x86, 0x24, 0x36, 0xb0, 0xd3, 0x8c, 0x01, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x76, 0x04, 0x55, 0xb7, 0xe5, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/enumdecl_all/enumdeclall.pb.go b/vendor/github.com/gogo/protobuf/test/enumdecl_all/enumdeclall.pb.go index 6c41c9497..13d7cac85 100644 --- a/vendor/github.com/gogo/protobuf/test/enumdecl_all/enumdeclall.pb.go +++ b/vendor/github.com/gogo/protobuf/test/enumdecl_all/enumdeclall.pb.go @@ -3,14 +3,14 @@ package enumdeclall -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -27,6 +27,7 @@ var MyEnum_name = map[int32]string{ 0: "A", 1: "B", } + var MyEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -35,8 +36,9 @@ var MyEnum_value = map[string]int32{ func (x MyEnum) String() string { return proto.EnumName(MyEnum_name, int32(x)) } + func (MyEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_enumdeclall_97762bd47095d695, []int{0} + return fileDescriptor_d9b5f61a7b003e8e, []int{0} } type MyOtherEnum int32 @@ -50,6 +52,7 @@ var MyOtherEnum_name = map[int32]string{ 0: "C", 1: "D", } + var MyOtherEnum_value = map[string]int32{ "C": 0, "D": 1, @@ -58,8 +61,9 @@ var MyOtherEnum_value = map[string]int32{ func (x MyOtherEnum) String() string { return proto.EnumName(MyOtherEnum_name, int32(x)) } + func (MyOtherEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_enumdeclall_97762bd47095d695, []int{1} + return fileDescriptor_d9b5f61a7b003e8e, []int{1} } type Message struct { @@ -74,7 +78,7 @@ func (m *Message) Reset() { *m = Message{} } func (m *Message) String() string { return proto.CompactTextString(m) } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_enumdeclall_97762bd47095d695, []int{0} + return fileDescriptor_d9b5f61a7b003e8e, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -91,8 +95,8 @@ func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return m.Size() @@ -118,10 +122,34 @@ func (m *Message) GetOtherenumeratedField() MyOtherEnum { } func init() { - proto.RegisterType((*Message)(nil), "enumdeclall.Message") proto.RegisterEnum("enumdeclall.MyEnum", MyEnum_name, MyEnum_value) proto.RegisterEnum("enumdeclall.MyOtherEnum", MyOtherEnum_name, MyOtherEnum_value) + proto.RegisterType((*Message)(nil), "enumdeclall.Message") +} + +func init() { proto.RegisterFile("enumdeclall.proto", fileDescriptor_d9b5f61a7b003e8e) } + +var fileDescriptor_d9b5f61a7b003e8e = []byte{ + // 260 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4c, 0xcd, 0x2b, 0xcd, + 0x4d, 0x49, 0x4d, 0xce, 0x49, 0xcc, 0xc9, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x46, + 0x12, 0x92, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x49, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x57, + 0x69, 0x06, 0x23, 0x17, 0xbb, 0x6f, 0x6a, 0x71, 0x71, 0x62, 0x7a, 0xaa, 0x90, 0x1d, 0x97, 0x00, + 0xc8, 0xa4, 0xd4, 0xa2, 0xc4, 0x92, 0xd4, 0x94, 0xf8, 0xb4, 0xcc, 0xd4, 0x9c, 0x14, 0x09, 0x46, + 0x05, 0x46, 0x0d, 0x3e, 0x23, 0x61, 0x3d, 0x64, 0x5b, 0x7d, 0x2b, 0x5d, 0xf3, 0x4a, 0x73, 0x83, + 0xf8, 0x11, 0x8a, 0xdd, 0x40, 0x6a, 0x85, 0x7c, 0xb9, 0x44, 0xf3, 0x4b, 0x32, 0x52, 0x8b, 0x30, + 0x0c, 0x61, 0x02, 0x1b, 0x22, 0x81, 0x66, 0x88, 0x3f, 0x48, 0x2d, 0xd8, 0x24, 0x11, 0x34, 0x6d, + 0x60, 0xe3, 0xb4, 0x64, 0xb8, 0xd8, 0x20, 0x36, 0x09, 0xb1, 0x72, 0x31, 0x3a, 0x0a, 0x30, 0x80, + 0x28, 0x27, 0x01, 0x46, 0x29, 0x96, 0x8e, 0xc5, 0x72, 0x0c, 0x5a, 0xaa, 0x5c, 0xdc, 0x48, 0x46, + 0x80, 0xe4, 0x9c, 0x21, 0x4a, 0x5c, 0x04, 0x18, 0xa5, 0x38, 0x40, 0x4a, 0x0e, 0x2c, 0x91, 0x63, + 0x74, 0xd2, 0x79, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, + 0x3c, 0x92, 0x63, 0x3c, 0xf0, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, + 0x1f, 0x3c, 0x92, 0x63, 0xfc, 0xf1, 0x48, 0x8e, 0xa1, 0xe1, 0xb1, 0x1c, 0xc3, 0x8e, 0xc7, 0x72, + 0x0c, 0x49, 0x6c, 0xe0, 0x40, 0x31, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x91, 0xd9, 0xaf, + 0x65, 0x01, 0x00, 0x00, } + func (this *Message) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -534,26 +562,3 @@ var ( ErrInvalidLengthEnumdeclall = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEnumdeclall = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("enumdeclall.proto", fileDescriptor_enumdeclall_97762bd47095d695) } - -var fileDescriptor_enumdeclall_97762bd47095d695 = []byte{ - // 260 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4c, 0xcd, 0x2b, 0xcd, - 0x4d, 0x49, 0x4d, 0xce, 0x49, 0xcc, 0xc9, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x46, - 0x12, 0x92, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, - 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x49, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x57, - 0x69, 0x06, 0x23, 0x17, 0xbb, 0x6f, 0x6a, 0x71, 0x71, 0x62, 0x7a, 0xaa, 0x90, 0x1d, 0x97, 0x00, - 0xc8, 0xa4, 0xd4, 0xa2, 0xc4, 0x92, 0xd4, 0x94, 0xf8, 0xb4, 0xcc, 0xd4, 0x9c, 0x14, 0x09, 0x46, - 0x05, 0x46, 0x0d, 0x3e, 0x23, 0x61, 0x3d, 0x64, 0x5b, 0x7d, 0x2b, 0x5d, 0xf3, 0x4a, 0x73, 0x83, - 0xf8, 0x11, 0x8a, 0xdd, 0x40, 0x6a, 0x85, 0x7c, 0xb9, 0x44, 0xf3, 0x4b, 0x32, 0x52, 0x8b, 0x30, - 0x0c, 0x61, 0x02, 0x1b, 0x22, 0x81, 0x66, 0x88, 0x3f, 0x48, 0x2d, 0xd8, 0x24, 0x11, 0x34, 0x6d, - 0x60, 0xe3, 0xb4, 0x64, 0xb8, 0xd8, 0x20, 0x36, 0x09, 0xb1, 0x72, 0x31, 0x3a, 0x0a, 0x30, 0x80, - 0x28, 0x27, 0x01, 0x46, 0x29, 0x96, 0x8e, 0xc5, 0x72, 0x0c, 0x5a, 0xaa, 0x5c, 0xdc, 0x48, 0x46, - 0x80, 0xe4, 0x9c, 0x21, 0x4a, 0x5c, 0x04, 0x18, 0xa5, 0x38, 0x40, 0x4a, 0x0e, 0x2c, 0x91, 0x63, - 0x74, 0xd2, 0x79, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, - 0x3c, 0x92, 0x63, 0x3c, 0xf0, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, - 0x1f, 0x3c, 0x92, 0x63, 0xfc, 0xf1, 0x48, 0x8e, 0xa1, 0xe1, 0xb1, 0x1c, 0xc3, 0x8e, 0xc7, 0x72, - 0x0c, 0x49, 0x6c, 0xe0, 0x40, 0x31, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x91, 0xd9, 0xaf, - 0x65, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/enumprefix/enumprefix.pb.go b/vendor/github.com/gogo/protobuf/test/enumprefix/enumprefix.pb.go index 7f883261a..7361d7d38 100644 --- a/vendor/github.com/gogo/protobuf/test/enumprefix/enumprefix.pb.go +++ b/vendor/github.com/gogo/protobuf/test/enumprefix/enumprefix.pb.go @@ -3,11 +3,13 @@ package enumprefix -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import test "github.com/gogo/protobuf/test" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + test "github.com/gogo/protobuf/test" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +33,7 @@ func (m *MyMessage) Reset() { *m = MyMessage{} } func (m *MyMessage) String() string { return proto.CompactTextString(m) } func (*MyMessage) ProtoMessage() {} func (*MyMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_enumprefix_6ff751a3ee38216f, []int{0} + return fileDescriptor_d0d23e6cb4323eb3, []int{0} } func (m *MyMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MyMessage.Unmarshal(m, b) @@ -39,8 +41,8 @@ func (m *MyMessage) XXX_Unmarshal(b []byte) error { func (m *MyMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MyMessage.Marshal(b, m, deterministic) } -func (dst *MyMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyMessage.Merge(dst, src) +func (m *MyMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyMessage.Merge(m, src) } func (m *MyMessage) XXX_Size() int { return xxx_messageInfo_MyMessage.Size(m) @@ -62,9 +64,9 @@ func init() { proto.RegisterType((*MyMessage)(nil), "enumprefix.MyMessage") } -func init() { proto.RegisterFile("enumprefix.proto", fileDescriptor_enumprefix_6ff751a3ee38216f) } +func init() { proto.RegisterFile("enumprefix.proto", fileDescriptor_d0d23e6cb4323eb3) } -var fileDescriptor_enumprefix_6ff751a3ee38216f = []byte{ +var fileDescriptor_d0d23e6cb4323eb3 = []byte{ // 149 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcd, 0x2b, 0xcd, 0x2d, 0x28, 0x4a, 0x4d, 0xcb, 0xac, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x42, 0x88, diff --git a/vendor/github.com/gogo/protobuf/test/enumstringer/enumstringer.pb.go b/vendor/github.com/gogo/protobuf/test/enumstringer/enumstringer.pb.go index dae302e2c..639ab72e3 100644 --- a/vendor/github.com/gogo/protobuf/test/enumstringer/enumstringer.pb.go +++ b/vendor/github.com/gogo/protobuf/test/enumstringer/enumstringer.pb.go @@ -3,12 +3,13 @@ package enumstringer -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,6 +35,7 @@ var TheTestEnum_name = map[int32]string{ 1: "B", 2: "C", } + var TheTestEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -45,9 +47,11 @@ func (x TheTestEnum) Enum() *TheTestEnum { *p = x return p } + func (x TheTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(TheTestEnum_name, int32(x)) } + func (x *TheTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(TheTestEnum_value, data, "TheTestEnum") if err != nil { @@ -56,8 +60,9 @@ func (x *TheTestEnum) UnmarshalJSON(data []byte) error { *x = TheTestEnum(value) return nil } + func (TheTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_enumstringer_cc4e1499449a36f3, []int{0} + return fileDescriptor_59d933db60b09d07, []int{0} } type NidOptEnum struct { @@ -71,7 +76,7 @@ func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } func (m *NidOptEnum) String() string { return proto.CompactTextString(m) } func (*NidOptEnum) ProtoMessage() {} func (*NidOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_enumstringer_cc4e1499449a36f3, []int{0} + return fileDescriptor_59d933db60b09d07, []int{0} } func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptEnum.Unmarshal(m, b) @@ -79,8 +84,8 @@ func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { func (m *NidOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptEnum.Marshal(b, m, deterministic) } -func (dst *NidOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptEnum.Merge(dst, src) +func (m *NidOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptEnum.Merge(m, src) } func (m *NidOptEnum) XXX_Size() int { return xxx_messageInfo_NidOptEnum.Size(m) @@ -109,7 +114,7 @@ func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } func (m *NinOptEnum) String() string { return proto.CompactTextString(m) } func (*NinOptEnum) ProtoMessage() {} func (*NinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_enumstringer_cc4e1499449a36f3, []int{1} + return fileDescriptor_59d933db60b09d07, []int{1} } func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptEnum.Unmarshal(m, b) @@ -117,8 +122,8 @@ func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { func (m *NinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptEnum.Marshal(b, m, deterministic) } -func (dst *NinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnum.Merge(dst, src) +func (m *NinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnum.Merge(m, src) } func (m *NinOptEnum) XXX_Size() int { return xxx_messageInfo_NinOptEnum.Size(m) @@ -147,7 +152,7 @@ func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } func (m *NidRepEnum) String() string { return proto.CompactTextString(m) } func (*NidRepEnum) ProtoMessage() {} func (*NidRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_enumstringer_cc4e1499449a36f3, []int{2} + return fileDescriptor_59d933db60b09d07, []int{2} } func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepEnum.Unmarshal(m, b) @@ -155,8 +160,8 @@ func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { func (m *NidRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepEnum.Marshal(b, m, deterministic) } -func (dst *NidRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepEnum.Merge(dst, src) +func (m *NidRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepEnum.Merge(m, src) } func (m *NidRepEnum) XXX_Size() int { return xxx_messageInfo_NidRepEnum.Size(m) @@ -185,7 +190,7 @@ func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } func (m *NinRepEnum) String() string { return proto.CompactTextString(m) } func (*NinRepEnum) ProtoMessage() {} func (*NinRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_enumstringer_cc4e1499449a36f3, []int{3} + return fileDescriptor_59d933db60b09d07, []int{3} } func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepEnum.Unmarshal(m, b) @@ -193,8 +198,8 @@ func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { func (m *NinRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepEnum.Marshal(b, m, deterministic) } -func (dst *NinRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepEnum.Merge(dst, src) +func (m *NinRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepEnum.Merge(m, src) } func (m *NinRepEnum) XXX_Size() int { return xxx_messageInfo_NinRepEnum.Size(m) @@ -213,12 +218,32 @@ func (m *NinRepEnum) GetField1() []TheTestEnum { } func init() { + proto.RegisterEnum("enumstringer.TheTestEnum", TheTestEnum_name, TheTestEnum_value) proto.RegisterType((*NidOptEnum)(nil), "enumstringer.NidOptEnum") proto.RegisterType((*NinOptEnum)(nil), "enumstringer.NinOptEnum") proto.RegisterType((*NidRepEnum)(nil), "enumstringer.NidRepEnum") proto.RegisterType((*NinRepEnum)(nil), "enumstringer.NinRepEnum") - proto.RegisterEnum("enumstringer.TheTestEnum", TheTestEnum_name, TheTestEnum_value) } + +func init() { proto.RegisterFile("enumstringer.proto", fileDescriptor_59d933db60b09d07) } + +var fileDescriptor_59d933db60b09d07 = []byte{ + // 208 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4a, 0xcd, 0x2b, 0xcd, + 0x2d, 0x2e, 0x29, 0xca, 0xcc, 0x4b, 0x4f, 0x2d, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, + 0x41, 0x16, 0x93, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, + 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, + 0x59, 0xc9, 0x95, 0x8b, 0xcb, 0x2f, 0x33, 0xc5, 0xbf, 0xa0, 0xc4, 0x35, 0xaf, 0x34, 0x57, 0xc8, + 0x9c, 0x8b, 0xcd, 0x2d, 0x33, 0x35, 0x27, 0xc5, 0x50, 0x82, 0x51, 0x81, 0x51, 0x83, 0xcf, 0x48, + 0x52, 0x0f, 0xc5, 0xbe, 0x90, 0x8c, 0xd4, 0x90, 0xd4, 0x62, 0xb0, 0x52, 0x27, 0x96, 0x13, 0xf7, + 0xe4, 0x19, 0x82, 0xa0, 0xca, 0x95, 0xec, 0x41, 0xc6, 0xe4, 0xc1, 0x8c, 0x31, 0x24, 0xda, 0x18, + 0xb8, 0x01, 0x10, 0x77, 0x04, 0xa5, 0x16, 0x60, 0xb8, 0x83, 0x99, 0x74, 0x77, 0xc0, 0x8c, 0x31, + 0x24, 0xda, 0x18, 0x98, 0x01, 0x5a, 0x4a, 0x5c, 0xdc, 0x48, 0xc2, 0x42, 0xac, 0x5c, 0x8c, 0x8e, + 0x02, 0x0c, 0x20, 0xca, 0x49, 0x80, 0x11, 0x44, 0x39, 0x0b, 0x30, 0x39, 0x89, 0x3c, 0x78, 0x28, + 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0xbe, 0x78, + 0x24, 0xc7, 0x00, 0x08, 0x00, 0x00, 0xff, 0xff, 0x2c, 0xb2, 0x8f, 0xc2, 0x9b, 0x01, 0x00, 0x00, +} + func (this *NidOptEnum) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -614,22 +639,3 @@ func encodeVarintPopulateEnumstringer(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("enumstringer.proto", fileDescriptor_enumstringer_cc4e1499449a36f3) } - -var fileDescriptor_enumstringer_cc4e1499449a36f3 = []byte{ - // 208 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4a, 0xcd, 0x2b, 0xcd, - 0x2d, 0x2e, 0x29, 0xca, 0xcc, 0x4b, 0x4f, 0x2d, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, - 0x41, 0x16, 0x93, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, - 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, - 0x59, 0xc9, 0x95, 0x8b, 0xcb, 0x2f, 0x33, 0xc5, 0xbf, 0xa0, 0xc4, 0x35, 0xaf, 0x34, 0x57, 0xc8, - 0x9c, 0x8b, 0xcd, 0x2d, 0x33, 0x35, 0x27, 0xc5, 0x50, 0x82, 0x51, 0x81, 0x51, 0x83, 0xcf, 0x48, - 0x52, 0x0f, 0xc5, 0xbe, 0x90, 0x8c, 0xd4, 0x90, 0xd4, 0x62, 0xb0, 0x52, 0x27, 0x96, 0x13, 0xf7, - 0xe4, 0x19, 0x82, 0xa0, 0xca, 0x95, 0xec, 0x41, 0xc6, 0xe4, 0xc1, 0x8c, 0x31, 0x24, 0xda, 0x18, - 0xb8, 0x01, 0x10, 0x77, 0x04, 0xa5, 0x16, 0x60, 0xb8, 0x83, 0x99, 0x74, 0x77, 0xc0, 0x8c, 0x31, - 0x24, 0xda, 0x18, 0x98, 0x01, 0x5a, 0x4a, 0x5c, 0xdc, 0x48, 0xc2, 0x42, 0xac, 0x5c, 0x8c, 0x8e, - 0x02, 0x0c, 0x20, 0xca, 0x49, 0x80, 0x11, 0x44, 0x39, 0x0b, 0x30, 0x39, 0x89, 0x3c, 0x78, 0x28, - 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0xbe, 0x78, - 0x24, 0xc7, 0x00, 0x08, 0x00, 0x00, 0xff, 0xff, 0x2c, 0xb2, 0x8f, 0xc2, 0x9b, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/example/example.pb.go b/vendor/github.com/gogo/protobuf/test/example/example.pb.go index efd798ac9..8f8ae0c84 100644 --- a/vendor/github.com/gogo/protobuf/test/example/example.pb.go +++ b/vendor/github.com/gogo/protobuf/test/example/example.pb.go @@ -3,24 +3,22 @@ package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -45,7 +43,7 @@ type A struct { func (m *A) Reset() { *m = A{} } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_example_32f420a2a58e4270, []int{0} + return fileDescriptor_15a1dc8d40dadaa6, []int{0} } func (m *A) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -62,8 +60,8 @@ func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return m.Size() @@ -85,7 +83,7 @@ type B struct { func (m *B) Reset() { *m = B{} } func (*B) ProtoMessage() {} func (*B) Descriptor() ([]byte, []int) { - return fileDescriptor_example_32f420a2a58e4270, []int{1} + return fileDescriptor_15a1dc8d40dadaa6, []int{1} } func (m *B) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -102,8 +100,8 @@ func (m *B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *B) XXX_Merge(src proto.Message) { - xxx_messageInfo_B.Merge(dst, src) +func (m *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(m, src) } func (m *B) XXX_Size() int { return m.Size() @@ -124,7 +122,7 @@ type C struct { func (m *C) Reset() { *m = C{} } func (*C) ProtoMessage() {} func (*C) Descriptor() ([]byte, []int) { - return fileDescriptor_example_32f420a2a58e4270, []int{2} + return fileDescriptor_15a1dc8d40dadaa6, []int{2} } func (m *C) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -141,8 +139,8 @@ func (m *C) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *C) XXX_Merge(src proto.Message) { - xxx_messageInfo_C.Merge(dst, src) +func (m *C) XXX_Merge(src proto.Message) { + xxx_messageInfo_C.Merge(m, src) } func (m *C) XXX_Size() int { return m.Size() @@ -171,7 +169,7 @@ type U struct { func (m *U) Reset() { *m = U{} } func (*U) ProtoMessage() {} func (*U) Descriptor() ([]byte, []int) { - return fileDescriptor_example_32f420a2a58e4270, []int{3} + return fileDescriptor_15a1dc8d40dadaa6, []int{3} } func (m *U) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -188,8 +186,8 @@ func (m *U) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *U) XXX_Merge(src proto.Message) { - xxx_messageInfo_U.Merge(dst, src) +func (m *U) XXX_Merge(src proto.Message) { + xxx_messageInfo_U.Merge(m, src) } func (m *U) XXX_Size() int { return m.Size() @@ -224,7 +222,7 @@ type E struct { func (m *E) Reset() { *m = E{} } func (*E) ProtoMessage() {} func (*E) Descriptor() ([]byte, []int) { - return fileDescriptor_example_32f420a2a58e4270, []int{4} + return fileDescriptor_15a1dc8d40dadaa6, []int{4} } var extRange_E = []proto.ExtensionRange{ @@ -234,6 +232,7 @@ var extRange_E = []proto.ExtensionRange{ func (*E) ExtensionRangeArray() []proto.ExtensionRange { return extRange_E } + func (m *E) GetExtensions() *[]byte { if m.XXX_extensions == nil { m.XXX_extensions = make([]byte, 0) @@ -255,8 +254,8 @@ func (m *E) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *E) XXX_Merge(src proto.Message) { - xxx_messageInfo_E.Merge(dst, src) +func (m *E) XXX_Merge(src proto.Message) { + xxx_messageInfo_E.Merge(m, src) } func (m *E) XXX_Size() int { return m.Size() @@ -276,7 +275,7 @@ type R struct { func (m *R) Reset() { *m = R{} } func (*R) ProtoMessage() {} func (*R) Descriptor() ([]byte, []int) { - return fileDescriptor_example_32f420a2a58e4270, []int{5} + return fileDescriptor_15a1dc8d40dadaa6, []int{5} } func (m *R) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -293,8 +292,8 @@ func (m *R) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *R) XXX_Merge(src proto.Message) { - xxx_messageInfo_R.Merge(dst, src) +func (m *R) XXX_Merge(src proto.Message) { + xxx_messageInfo_R.Merge(m, src) } func (m *R) XXX_Size() int { return m.Size() @@ -322,7 +321,7 @@ type CastType struct { func (m *CastType) Reset() { *m = CastType{} } func (*CastType) ProtoMessage() {} func (*CastType) Descriptor() ([]byte, []int) { - return fileDescriptor_example_32f420a2a58e4270, []int{6} + return fileDescriptor_15a1dc8d40dadaa6, []int{6} } func (m *CastType) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -339,8 +338,8 @@ func (m *CastType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *CastType) XXX_Merge(src proto.Message) { - xxx_messageInfo_CastType.Merge(dst, src) +func (m *CastType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CastType.Merge(m, src) } func (m *CastType) XXX_Size() int { return m.Size() @@ -367,268 +366,304 @@ func init() { proto.RegisterType((*R)(nil), "test.R") proto.RegisterType((*CastType)(nil), "test.CastType") } + +func init() { proto.RegisterFile("example.proto", fileDescriptor_15a1dc8d40dadaa6) } + +var fileDescriptor_15a1dc8d40dadaa6 = []byte{ + // 425 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0x41, 0x6b, 0x13, 0x41, + 0x14, 0xc7, 0xf3, 0x36, 0xdb, 0xba, 0x7d, 0x6d, 0x41, 0x46, 0x0a, 0x41, 0x64, 0x26, 0xac, 0x20, + 0xb1, 0xd6, 0x0d, 0x46, 0x41, 0xd9, 0x5b, 0xa6, 0x4a, 0xc9, 0x41, 0x0f, 0xa3, 0xf9, 0x00, 0x4d, + 0x32, 0xc6, 0x01, 0xb3, 0x13, 0xb2, 0xb3, 0x60, 0x73, 0xda, 0xa3, 0x37, 0xbf, 0x42, 0xbd, 0xf5, + 0x23, 0x78, 0xf4, 0x98, 0x63, 0x8e, 0xe2, 0x61, 0x69, 0xe6, 0x13, 0xf4, 0x28, 0x9e, 0x64, 0xa6, + 0x41, 0x02, 0x62, 0x6f, 0xfb, 0x7e, 0xef, 0xed, 0xff, 0xff, 0x63, 0x70, 0x5f, 0x7e, 0x3a, 0x9d, + 0x4c, 0x3f, 0xca, 0x64, 0x3a, 0xd3, 0x46, 0x93, 0xd0, 0xc8, 0xdc, 0xdc, 0x7d, 0x3c, 0x56, 0xe6, + 0x43, 0x31, 0x48, 0x86, 0x7a, 0xd2, 0x1e, 0xeb, 0xb1, 0x6e, 0xfb, 0xe5, 0xa0, 0x78, 0xef, 0x27, + 0x3f, 0xf8, 0xaf, 0xeb, 0x9f, 0xe2, 0x2f, 0x80, 0xd0, 0x25, 0x0f, 0x70, 0xf7, 0xa5, 0xcc, 0x87, + 0x33, 0x35, 0x35, 0x4a, 0x67, 0x0d, 0x68, 0x42, 0x6b, 0x87, 0x87, 0x8b, 0x8a, 0xd5, 0xc4, 0xe6, + 0x82, 0xdc, 0xc3, 0xed, 0x37, 0xc5, 0x64, 0x20, 0x67, 0x8d, 0xa0, 0x09, 0xad, 0xfa, 0xfa, 0x64, + 0xcd, 0x48, 0x8a, 0x41, 0x6f, 0xd4, 0xa8, 0x37, 0xa1, 0xb5, 0xc7, 0x0f, 0xdd, 0xe6, 0x67, 0xc5, + 0xe2, 0xff, 0xea, 0x38, 0xdb, 0xa4, 0x5f, 0xa8, 0x91, 0x08, 0x7a, 0xa3, 0x34, 0xfa, 0x7c, 0xce, + 0x6a, 0x17, 0xe7, 0x0c, 0xe2, 0x0c, 0x81, 0x13, 0x86, 0xd0, 0xf5, 0x1a, 0xbb, 0x9d, 0x5b, 0x89, + 0xbf, 0xec, 0xf2, 0xc8, 0x45, 0x2e, 0x2b, 0x06, 0x02, 0xba, 0x84, 0x23, 0x9c, 0x34, 0x82, 0x66, + 0xbd, 0xb5, 0xc7, 0x9f, 0xad, 0xab, 0x8e, 0x6e, 0xac, 0x6a, 0x0f, 0x8b, 0xdc, 0xe8, 0x49, 0xd2, + 0x57, 0x99, 0x79, 0xd2, 0x79, 0x21, 0xe0, 0x24, 0x0d, 0xaf, 0x5c, 0xdf, 0x7d, 0x84, 0x63, 0x42, + 0x31, 0xcc, 0xd5, 0x5c, 0xfa, 0xca, 0x3a, 0x47, 0x5b, 0xb1, 0xed, 0xd7, 0x67, 0x6f, 0xd5, 0x5c, + 0x0a, 0xcf, 0xe3, 0xe7, 0x08, 0x7d, 0x72, 0xf0, 0xaf, 0x94, 0x53, 0x39, 0x40, 0xe0, 0xfe, 0x3d, + 0xfe, 0x62, 0x2e, 0x80, 0xa7, 0xe1, 0xc2, 0xa5, 0xdf, 0x41, 0x78, 0x75, 0x18, 0x45, 0x70, 0xbb, + 0x2c, 0xcb, 0x32, 0x48, 0xc3, 0xc5, 0x57, 0x56, 0x8b, 0x1f, 0x22, 0x08, 0x42, 0x11, 0x67, 0x72, + 0xa8, 0xc7, 0x99, 0x9a, 0xcb, 0x91, 0x8f, 0xdd, 0x17, 0x1b, 0x24, 0x0d, 0x97, 0xee, 0xf4, 0x11, + 0x46, 0xc7, 0xa7, 0xb9, 0x79, 0x77, 0x36, 0x95, 0x84, 0xe1, 0x56, 0x2f, 0x33, 0x4f, 0x3b, 0x6b, + 0xcb, 0x9d, 0xdf, 0x15, 0xdb, 0x52, 0x0e, 0x88, 0x6b, 0xce, 0x8f, 0x7e, 0xac, 0x68, 0xed, 0x72, + 0x45, 0xe1, 0x6a, 0x45, 0xe1, 0xd7, 0x8a, 0x42, 0x69, 0x29, 0x5c, 0x58, 0x0a, 0xdf, 0x2c, 0x85, + 0xef, 0x96, 0xc2, 0xc2, 0x52, 0x58, 0x5a, 0x0a, 0x97, 0x96, 0xc2, 0x9f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x71, 0x9d, 0xd3, 0x01, 0x3f, 0x02, 0x00, 0x00, +} + func (this *B) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return ExampleDescription() } func ExampleDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4068 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7a, 0x59, 0x70, 0x1c, 0xd7, - 0x75, 0x36, 0x7b, 0x16, 0x60, 0xe6, 0xcc, 0x60, 0xd0, 0xb8, 0x00, 0xc9, 0x21, 0x24, 0x01, 0xe4, - 0x68, 0x03, 0x49, 0x19, 0xf4, 0x4f, 0x71, 0x6d, 0xfe, 0xb6, 0x32, 0x33, 0x18, 0xc2, 0xa3, 0x60, - 0x73, 0x03, 0xb0, 0x16, 0x57, 0xaa, 0xab, 0xd1, 0x73, 0x31, 0x68, 0xb2, 0xa7, 0xbb, 0xdd, 0xdd, - 0x43, 0x12, 0xac, 0x3c, 0x30, 0xa5, 0x6c, 0xae, 0x54, 0xe2, 0x6c, 0x55, 0xb1, 0x15, 0x59, 0x91, - 0x9c, 0x8a, 0xa5, 0x38, 0xab, 0xe3, 0xc4, 0xb1, 0x9d, 0x87, 0xf8, 0xc5, 0x09, 0x9f, 0x52, 0xf2, - 0x5b, 0x2a, 0x95, 0x62, 0x49, 0x8c, 0xaa, 0xb2, 0x29, 0xb1, 0x92, 0xf0, 0xc1, 0x15, 0xbd, 0xa4, - 0xee, 0xd6, 0xd3, 0xb3, 0x00, 0x3d, 0x70, 0x95, 0xe4, 0x27, 0xa0, 0xcf, 0x3d, 0xdf, 0xd7, 0xe7, - 0x9e, 0x7b, 0xee, 0x39, 0xe7, 0xde, 0x1e, 0xf8, 0xc1, 0x65, 0x38, 0xde, 0x74, 0x9c, 0xa6, 0x85, - 0xcf, 0xb8, 0x9e, 0x13, 0x38, 0x5b, 0xed, 0xed, 0x33, 0x0d, 0xec, 0x1b, 0x9e, 0xe9, 0x06, 0x8e, - 0x37, 0x4f, 0x65, 0x68, 0x9c, 0x69, 0xcc, 0x0b, 0x8d, 0xd2, 0x32, 0x4c, 0x5c, 0x35, 0x2d, 0xbc, - 0x10, 0x2a, 0xae, 0xe3, 0x00, 0x5d, 0x82, 0xd4, 0xb6, 0x69, 0xe1, 0xa2, 0x74, 0x3c, 0x39, 0x97, - 0x3b, 0xfb, 0xd8, 0x7c, 0x0f, 0x68, 0xbe, 0x1b, 0xb1, 0x46, 0xc4, 0x2a, 0x45, 0x94, 0xde, 0x4d, - 0xc1, 0xe4, 0x80, 0x51, 0x84, 0x20, 0x65, 0xeb, 0x2d, 0xc2, 0x28, 0xcd, 0x65, 0x55, 0xfa, 0x3f, - 0x2a, 0xc2, 0xa8, 0xab, 0x1b, 0xd7, 0xf5, 0x26, 0x2e, 0x26, 0xa8, 0x58, 0x3c, 0xa2, 0x19, 0x80, - 0x06, 0x76, 0xb1, 0xdd, 0xc0, 0xb6, 0xb1, 0x5b, 0x4c, 0x1e, 0x4f, 0xce, 0x65, 0xd5, 0x88, 0x04, - 0x9d, 0x86, 0x09, 0xb7, 0xbd, 0x65, 0x99, 0x86, 0x16, 0x51, 0x83, 0xe3, 0xc9, 0xb9, 0xb4, 0x2a, - 0xb3, 0x81, 0x85, 0x8e, 0xf2, 0x93, 0x30, 0x7e, 0x13, 0xeb, 0xd7, 0xa3, 0xaa, 0x39, 0xaa, 0x5a, - 0x20, 0xe2, 0x88, 0x62, 0x15, 0xf2, 0x2d, 0xec, 0xfb, 0x7a, 0x13, 0x6b, 0xc1, 0xae, 0x8b, 0x8b, - 0x29, 0x3a, 0xfb, 0xe3, 0x7d, 0xb3, 0xef, 0x9d, 0x79, 0x8e, 0xa3, 0x36, 0x76, 0x5d, 0x8c, 0xca, - 0x90, 0xc5, 0x76, 0xbb, 0xc5, 0x18, 0xd2, 0x7b, 0xf8, 0xaf, 0x66, 0xb7, 0x5b, 0xbd, 0x2c, 0x19, - 0x02, 0xe3, 0x14, 0xa3, 0x3e, 0xf6, 0x6e, 0x98, 0x06, 0x2e, 0x8e, 0x50, 0x82, 0x27, 0xfb, 0x08, - 0xd6, 0xd9, 0x78, 0x2f, 0x87, 0xc0, 0xa1, 0x2a, 0x64, 0xf1, 0xad, 0x00, 0xdb, 0xbe, 0xe9, 0xd8, - 0xc5, 0x51, 0x4a, 0xf2, 0xf8, 0x80, 0x55, 0xc4, 0x56, 0xa3, 0x97, 0xa2, 0x83, 0x43, 0x17, 0x60, - 0xd4, 0x71, 0x03, 0xd3, 0xb1, 0xfd, 0x62, 0xe6, 0xb8, 0x34, 0x97, 0x3b, 0xfb, 0xf0, 0xc0, 0x40, - 0x58, 0x65, 0x3a, 0xaa, 0x50, 0x46, 0x75, 0x90, 0x7d, 0xa7, 0xed, 0x19, 0x58, 0x33, 0x9c, 0x06, - 0xd6, 0x4c, 0x7b, 0xdb, 0x29, 0x66, 0x29, 0xc1, 0x6c, 0xff, 0x44, 0xa8, 0x62, 0xd5, 0x69, 0xe0, - 0xba, 0xbd, 0xed, 0xa8, 0x05, 0xbf, 0xeb, 0x19, 0x1d, 0x81, 0x11, 0x7f, 0xd7, 0x0e, 0xf4, 0x5b, - 0xc5, 0x3c, 0x8d, 0x10, 0xfe, 0x54, 0xfa, 0xf6, 0x08, 0x8c, 0x0f, 0x13, 0x62, 0x57, 0x20, 0xbd, - 0x4d, 0x66, 0x59, 0x4c, 0x1c, 0xc4, 0x07, 0x0c, 0xd3, 0xed, 0xc4, 0x91, 0x1f, 0xd1, 0x89, 0x65, - 0xc8, 0xd9, 0xd8, 0x0f, 0x70, 0x83, 0x45, 0x44, 0x72, 0xc8, 0x98, 0x02, 0x06, 0xea, 0x0f, 0xa9, - 0xd4, 0x8f, 0x14, 0x52, 0xcf, 0xc3, 0x78, 0x68, 0x92, 0xe6, 0xe9, 0x76, 0x53, 0xc4, 0xe6, 0x99, - 0x38, 0x4b, 0xe6, 0x6b, 0x02, 0xa7, 0x12, 0x98, 0x5a, 0xc0, 0x5d, 0xcf, 0x68, 0x01, 0xc0, 0xb1, - 0xb1, 0xb3, 0xad, 0x35, 0xb0, 0x61, 0x15, 0x33, 0x7b, 0x78, 0x69, 0x95, 0xa8, 0xf4, 0x79, 0xc9, - 0x61, 0x52, 0xc3, 0x42, 0x97, 0x3b, 0xa1, 0x36, 0xba, 0x47, 0xa4, 0x2c, 0xb3, 0x4d, 0xd6, 0x17, - 0x6d, 0x9b, 0x50, 0xf0, 0x30, 0x89, 0x7b, 0xdc, 0xe0, 0x33, 0xcb, 0x52, 0x23, 0xe6, 0x63, 0x67, - 0xa6, 0x72, 0x18, 0x9b, 0xd8, 0x98, 0x17, 0x7d, 0x44, 0x8f, 0x42, 0x28, 0xd0, 0x68, 0x58, 0x01, - 0xcd, 0x42, 0x79, 0x21, 0x5c, 0xd1, 0x5b, 0x78, 0xfa, 0x36, 0x14, 0xba, 0xdd, 0x83, 0xa6, 0x20, - 0xed, 0x07, 0xba, 0x17, 0xd0, 0x28, 0x4c, 0xab, 0xec, 0x01, 0xc9, 0x90, 0xc4, 0x76, 0x83, 0x66, - 0xb9, 0xb4, 0x4a, 0xfe, 0x45, 0x3f, 0xd1, 0x99, 0x70, 0x92, 0x4e, 0xf8, 0x89, 0xfe, 0x15, 0xed, - 0x62, 0xee, 0x9d, 0xf7, 0xf4, 0x45, 0x18, 0xeb, 0x9a, 0xc0, 0xb0, 0xaf, 0x2e, 0xfd, 0x34, 0x1c, - 0x1e, 0x48, 0x8d, 0x9e, 0x87, 0xa9, 0xb6, 0x6d, 0xda, 0x01, 0xf6, 0x5c, 0x0f, 0x93, 0x88, 0x65, - 0xaf, 0x2a, 0xfe, 0xf3, 0xe8, 0x1e, 0x31, 0xb7, 0x19, 0xd5, 0x66, 0x2c, 0xea, 0x64, 0xbb, 0x5f, - 0x78, 0x2a, 0x9b, 0xf9, 0x97, 0x51, 0xf9, 0xce, 0x9d, 0x3b, 0x77, 0x12, 0xa5, 0x2f, 0x8e, 0xc0, - 0xd4, 0xa0, 0x3d, 0x33, 0x70, 0xfb, 0x1e, 0x81, 0x11, 0xbb, 0xdd, 0xda, 0xc2, 0x1e, 0x75, 0x52, - 0x5a, 0xe5, 0x4f, 0xa8, 0x0c, 0x69, 0x4b, 0xdf, 0xc2, 0x56, 0x31, 0x75, 0x5c, 0x9a, 0x2b, 0x9c, - 0x3d, 0x3d, 0xd4, 0xae, 0x9c, 0x5f, 0x22, 0x10, 0x95, 0x21, 0xd1, 0x27, 0x21, 0xc5, 0x53, 0x34, - 0x61, 0x38, 0x35, 0x1c, 0x03, 0xd9, 0x4b, 0x2a, 0xc5, 0xa1, 0x87, 0x20, 0x4b, 0xfe, 0xb2, 0xd8, - 0x18, 0xa1, 0x36, 0x67, 0x88, 0x80, 0xc4, 0x05, 0x9a, 0x86, 0x0c, 0xdd, 0x26, 0x0d, 0x2c, 0x4a, - 0x5b, 0xf8, 0x4c, 0x02, 0xab, 0x81, 0xb7, 0xf5, 0xb6, 0x15, 0x68, 0x37, 0x74, 0xab, 0x8d, 0x69, - 0xc0, 0x67, 0xd5, 0x3c, 0x17, 0x7e, 0x86, 0xc8, 0xd0, 0x2c, 0xe4, 0xd8, 0xae, 0x32, 0xed, 0x06, - 0xbe, 0x45, 0xb3, 0x67, 0x5a, 0x65, 0x1b, 0xad, 0x4e, 0x24, 0xe4, 0xf5, 0xd7, 0x7c, 0xc7, 0x16, - 0xa1, 0x49, 0x5f, 0x41, 0x04, 0xf4, 0xf5, 0x17, 0x7b, 0x13, 0xf7, 0x23, 0x83, 0xa7, 0xd7, 0x1b, - 0x53, 0xa5, 0x6f, 0x26, 0x20, 0x45, 0xf3, 0xc5, 0x38, 0xe4, 0x36, 0x5e, 0x58, 0xab, 0x69, 0x0b, - 0xab, 0x9b, 0x95, 0xa5, 0x9a, 0x2c, 0xa1, 0x02, 0x00, 0x15, 0x5c, 0x5d, 0x5a, 0x2d, 0x6f, 0xc8, - 0x89, 0xf0, 0xb9, 0xbe, 0xb2, 0x71, 0xe1, 0x9c, 0x9c, 0x0c, 0x01, 0x9b, 0x4c, 0x90, 0x8a, 0x2a, - 0x3c, 0x7d, 0x56, 0x4e, 0x23, 0x19, 0xf2, 0x8c, 0xa0, 0xfe, 0x7c, 0x6d, 0xe1, 0xc2, 0x39, 0x79, - 0xa4, 0x5b, 0xf2, 0xf4, 0x59, 0x79, 0x14, 0x8d, 0x41, 0x96, 0x4a, 0x2a, 0xab, 0xab, 0x4b, 0x72, - 0x26, 0xe4, 0x5c, 0xdf, 0x50, 0xeb, 0x2b, 0x8b, 0x72, 0x36, 0xe4, 0x5c, 0x54, 0x57, 0x37, 0xd7, - 0x64, 0x08, 0x19, 0x96, 0x6b, 0xeb, 0xeb, 0xe5, 0xc5, 0x9a, 0x9c, 0x0b, 0x35, 0x2a, 0x2f, 0x6c, - 0xd4, 0xd6, 0xe5, 0x7c, 0x97, 0x59, 0x4f, 0x9f, 0x95, 0xc7, 0xc2, 0x57, 0xd4, 0x56, 0x36, 0x97, - 0xe5, 0x02, 0x9a, 0x80, 0x31, 0xf6, 0x0a, 0x61, 0xc4, 0x78, 0x8f, 0xe8, 0xc2, 0x39, 0x59, 0xee, - 0x18, 0xc2, 0x58, 0x26, 0xba, 0x04, 0x17, 0xce, 0xc9, 0xa8, 0x54, 0x85, 0x34, 0x8d, 0x2e, 0x84, - 0xa0, 0xb0, 0x54, 0xae, 0xd4, 0x96, 0xb4, 0xd5, 0xb5, 0x8d, 0xfa, 0xea, 0x4a, 0x79, 0x49, 0x96, - 0x3a, 0x32, 0xb5, 0xf6, 0xe9, 0xcd, 0xba, 0x5a, 0x5b, 0x90, 0x13, 0x51, 0xd9, 0x5a, 0xad, 0xbc, - 0x51, 0x5b, 0x90, 0x93, 0x25, 0x03, 0xa6, 0x06, 0xe5, 0xc9, 0x81, 0x3b, 0x23, 0xb2, 0xc4, 0x89, - 0x3d, 0x96, 0x98, 0x72, 0xf5, 0x2d, 0xf1, 0x3f, 0x25, 0x60, 0x72, 0x40, 0xad, 0x18, 0xf8, 0x92, - 0x67, 0x20, 0xcd, 0x42, 0x94, 0x55, 0xcf, 0x93, 0x03, 0x8b, 0x0e, 0x0d, 0xd8, 0xbe, 0x0a, 0x4a, - 0x71, 0xd1, 0x0e, 0x22, 0xb9, 0x47, 0x07, 0x41, 0x28, 0xfa, 0x72, 0xfa, 0x4f, 0xf5, 0xe5, 0x74, - 0x56, 0xf6, 0x2e, 0x0c, 0x53, 0xf6, 0xa8, 0xec, 0x60, 0xb9, 0x3d, 0x3d, 0x20, 0xb7, 0x5f, 0x81, - 0x89, 0x3e, 0xa2, 0xa1, 0x73, 0xec, 0x4b, 0x12, 0x14, 0xf7, 0x72, 0x4e, 0x4c, 0xa6, 0x4b, 0x74, - 0x65, 0xba, 0x2b, 0xbd, 0x1e, 0x3c, 0xb1, 0xf7, 0x22, 0xf4, 0xad, 0xf5, 0x1b, 0x12, 0x1c, 0x19, - 0xdc, 0x29, 0x0e, 0xb4, 0xe1, 0x93, 0x30, 0xd2, 0xc2, 0xc1, 0x8e, 0x23, 0xba, 0xa5, 0x27, 0x06, - 0xd4, 0x60, 0x32, 0xdc, 0xbb, 0xd8, 0x1c, 0x15, 0x2d, 0xe2, 0xc9, 0xbd, 0xda, 0x3d, 0x66, 0x4d, - 0x9f, 0xa5, 0x9f, 0x4f, 0xc0, 0xe1, 0x81, 0xe4, 0x03, 0x0d, 0x7d, 0x04, 0xc0, 0xb4, 0xdd, 0x76, - 0xc0, 0x3a, 0x22, 0x96, 0x60, 0xb3, 0x54, 0x42, 0x93, 0x17, 0x49, 0x9e, 0xed, 0x20, 0x1c, 0x4f, - 0xd2, 0x71, 0x60, 0x22, 0xaa, 0x70, 0xa9, 0x63, 0x68, 0x8a, 0x1a, 0x3a, 0xb3, 0xc7, 0x4c, 0xfb, - 0x02, 0xf3, 0xe3, 0x20, 0x1b, 0x96, 0x89, 0xed, 0x40, 0xf3, 0x03, 0x0f, 0xeb, 0x2d, 0xd3, 0x6e, - 0xd2, 0x0a, 0x92, 0x51, 0xd2, 0xdb, 0xba, 0xe5, 0x63, 0x75, 0x9c, 0x0d, 0xaf, 0x8b, 0x51, 0x82, - 0xa0, 0x01, 0xe4, 0x45, 0x10, 0x23, 0x5d, 0x08, 0x36, 0x1c, 0x22, 0x4a, 0xdf, 0xc8, 0x40, 0x2e, - 0xd2, 0x57, 0xa3, 0x13, 0x90, 0xbf, 0xa6, 0xdf, 0xd0, 0x35, 0x71, 0x56, 0x62, 0x9e, 0xc8, 0x11, - 0xd9, 0x1a, 0x3f, 0x2f, 0x7d, 0x1c, 0xa6, 0xa8, 0x8a, 0xd3, 0x0e, 0xb0, 0xa7, 0x19, 0x96, 0xee, - 0xfb, 0xd4, 0x69, 0x19, 0xaa, 0x8a, 0xc8, 0xd8, 0x2a, 0x19, 0xaa, 0x8a, 0x11, 0x74, 0x1e, 0x26, - 0x29, 0xa2, 0xd5, 0xb6, 0x02, 0xd3, 0xb5, 0xb0, 0x46, 0x4e, 0x6f, 0x3e, 0xad, 0x24, 0xa1, 0x65, - 0x13, 0x44, 0x63, 0x99, 0x2b, 0x10, 0x8b, 0x7c, 0xb4, 0x00, 0x8f, 0x50, 0x58, 0x13, 0xdb, 0xd8, - 0xd3, 0x03, 0xac, 0xe1, 0xcf, 0xb5, 0x75, 0xcb, 0xd7, 0x74, 0xbb, 0xa1, 0xed, 0xe8, 0xfe, 0x4e, - 0x71, 0x8a, 0x10, 0x54, 0x12, 0x45, 0x49, 0x3d, 0x46, 0x14, 0x17, 0xb9, 0x5e, 0x8d, 0xaa, 0x95, - 0xed, 0xc6, 0xa7, 0x74, 0x7f, 0x07, 0x29, 0x70, 0x84, 0xb2, 0xf8, 0x81, 0x67, 0xda, 0x4d, 0xcd, - 0xd8, 0xc1, 0xc6, 0x75, 0xad, 0x1d, 0x6c, 0x5f, 0x2a, 0x3e, 0x14, 0x7d, 0x3f, 0xb5, 0x70, 0x9d, - 0xea, 0x54, 0x89, 0xca, 0x66, 0xb0, 0x7d, 0x09, 0xad, 0x43, 0x9e, 0x2c, 0x46, 0xcb, 0xbc, 0x8d, - 0xb5, 0x6d, 0xc7, 0xa3, 0xa5, 0xb1, 0x30, 0x20, 0x35, 0x45, 0x3c, 0x38, 0xbf, 0xca, 0x01, 0xcb, - 0x4e, 0x03, 0x2b, 0xe9, 0xf5, 0xb5, 0x5a, 0x6d, 0x41, 0xcd, 0x09, 0x96, 0xab, 0x8e, 0x47, 0x02, - 0xaa, 0xe9, 0x84, 0x0e, 0xce, 0xb1, 0x80, 0x6a, 0x3a, 0xc2, 0xbd, 0xe7, 0x61, 0xd2, 0x30, 0xd8, - 0x9c, 0x4d, 0x43, 0xe3, 0x67, 0x2c, 0xbf, 0x28, 0x77, 0x39, 0xcb, 0x30, 0x16, 0x99, 0x02, 0x8f, - 0x71, 0x1f, 0x5d, 0x86, 0xc3, 0x1d, 0x67, 0x45, 0x81, 0x13, 0x7d, 0xb3, 0xec, 0x85, 0x9e, 0x87, - 0x49, 0x77, 0xb7, 0x1f, 0x88, 0xba, 0xde, 0xe8, 0xee, 0xf6, 0xc2, 0x2e, 0xc2, 0x94, 0xbb, 0xe3, - 0xf6, 0xe3, 0x4e, 0x45, 0x71, 0xc8, 0xdd, 0x71, 0x7b, 0x81, 0x8f, 0xd3, 0x03, 0xb7, 0x87, 0x0d, - 0x3d, 0xc0, 0x8d, 0xe2, 0xd1, 0xa8, 0x7a, 0x64, 0x00, 0x9d, 0x01, 0xd9, 0x30, 0x34, 0x6c, 0xeb, - 0x5b, 0x16, 0xd6, 0x74, 0x0f, 0xdb, 0xba, 0x5f, 0x9c, 0x8d, 0x2a, 0x17, 0x0c, 0xa3, 0x46, 0x47, - 0xcb, 0x74, 0x10, 0x9d, 0x82, 0x09, 0x67, 0xeb, 0x9a, 0xc1, 0x42, 0x52, 0x73, 0x3d, 0xbc, 0x6d, - 0xde, 0x2a, 0x3e, 0x46, 0xfd, 0x3b, 0x4e, 0x06, 0x68, 0x40, 0xae, 0x51, 0x31, 0x3a, 0x09, 0xb2, - 0xe1, 0xef, 0xe8, 0x9e, 0x4b, 0x73, 0xb2, 0xef, 0xea, 0x06, 0x2e, 0x3e, 0xce, 0x54, 0x99, 0x7c, - 0x45, 0x88, 0xc9, 0x96, 0xf0, 0x6f, 0x9a, 0xdb, 0x81, 0x60, 0x7c, 0x92, 0x6d, 0x09, 0x2a, 0xe3, - 0x6c, 0x73, 0x20, 0x13, 0x57, 0x74, 0xbd, 0x78, 0x8e, 0xaa, 0x15, 0xdc, 0x1d, 0x37, 0xfa, 0xde, - 0x47, 0x61, 0x8c, 0x68, 0x76, 0x5e, 0x7a, 0x92, 0x35, 0x64, 0xee, 0x4e, 0xe4, 0x8d, 0x1f, 0x5a, - 0x6f, 0x5c, 0x52, 0x20, 0x1f, 0x8d, 0x4f, 0x94, 0x05, 0x16, 0xa1, 0xb2, 0x44, 0x9a, 0x95, 0xea, - 0xea, 0x02, 0x69, 0x33, 0x5e, 0xac, 0xc9, 0x09, 0xd2, 0xee, 0x2c, 0xd5, 0x37, 0x6a, 0x9a, 0xba, - 0xb9, 0xb2, 0x51, 0x5f, 0xae, 0xc9, 0xc9, 0x68, 0x5f, 0xfd, 0xbd, 0x04, 0x14, 0xba, 0x8f, 0x48, - 0xe8, 0xff, 0xc3, 0x51, 0x71, 0x9f, 0xe1, 0xe3, 0x40, 0xbb, 0x69, 0x7a, 0x74, 0xcb, 0xb4, 0x74, - 0x56, 0xbe, 0xc2, 0x45, 0x9b, 0xe2, 0x5a, 0xeb, 0x38, 0x78, 0xce, 0xf4, 0xc8, 0x86, 0x68, 0xe9, - 0x01, 0x5a, 0x82, 0x59, 0xdb, 0xd1, 0xfc, 0x40, 0xb7, 0x1b, 0xba, 0xd7, 0xd0, 0x3a, 0x37, 0x49, - 0x9a, 0x6e, 0x18, 0xd8, 0xf7, 0x1d, 0x56, 0xaa, 0x42, 0x96, 0x87, 0x6d, 0x67, 0x9d, 0x2b, 0x77, - 0x72, 0x78, 0x99, 0xab, 0xf6, 0x04, 0x58, 0x72, 0xaf, 0x00, 0x7b, 0x08, 0xb2, 0x2d, 0xdd, 0xd5, - 0xb0, 0x1d, 0x78, 0xbb, 0xb4, 0x31, 0xce, 0xa8, 0x99, 0x96, 0xee, 0xd6, 0xc8, 0xf3, 0x47, 0x73, - 0x3e, 0xf9, 0xc7, 0x24, 0xe4, 0xa3, 0xcd, 0x31, 0x39, 0x6b, 0x18, 0xb4, 0x8e, 0x48, 0x34, 0xd3, - 0x3c, 0xba, 0x6f, 0x2b, 0x3d, 0x5f, 0x25, 0x05, 0x46, 0x19, 0x61, 0x2d, 0xab, 0xca, 0x90, 0xa4, - 0xb8, 0x93, 0xdc, 0x82, 0x59, 0x8b, 0x90, 0x51, 0xf9, 0x13, 0x5a, 0x84, 0x91, 0x6b, 0x3e, 0xe5, - 0x1e, 0xa1, 0xdc, 0x8f, 0xed, 0xcf, 0xfd, 0xec, 0x3a, 0x25, 0xcf, 0x3e, 0xbb, 0xae, 0xad, 0xac, - 0xaa, 0xcb, 0xe5, 0x25, 0x95, 0xc3, 0xd1, 0x31, 0x48, 0x59, 0xfa, 0xed, 0xdd, 0xee, 0x52, 0x44, - 0x45, 0xc3, 0x3a, 0xfe, 0x18, 0xa4, 0x6e, 0x62, 0xfd, 0x7a, 0x77, 0x01, 0xa0, 0xa2, 0x0f, 0x31, - 0xf4, 0xcf, 0x40, 0x9a, 0xfa, 0x0b, 0x01, 0x70, 0x8f, 0xc9, 0x87, 0x50, 0x06, 0x52, 0xd5, 0x55, - 0x95, 0x84, 0xbf, 0x0c, 0x79, 0x26, 0xd5, 0xd6, 0xea, 0xb5, 0x6a, 0x4d, 0x4e, 0x94, 0xce, 0xc3, - 0x08, 0x73, 0x02, 0xd9, 0x1a, 0xa1, 0x1b, 0xe4, 0x43, 0xfc, 0x91, 0x73, 0x48, 0x62, 0x74, 0x73, - 0xb9, 0x52, 0x53, 0xe5, 0x44, 0x74, 0x79, 0x7d, 0xc8, 0x47, 0xfb, 0xe2, 0x8f, 0x26, 0xa6, 0xbe, - 0x23, 0x41, 0x2e, 0xd2, 0xe7, 0x92, 0x06, 0x45, 0xb7, 0x2c, 0xe7, 0xa6, 0xa6, 0x5b, 0xa6, 0xee, - 0xf3, 0xa0, 0x00, 0x2a, 0x2a, 0x13, 0xc9, 0xb0, 0x8b, 0xf6, 0x91, 0x18, 0xff, 0xaa, 0x04, 0x72, - 0x6f, 0x8b, 0xd9, 0x63, 0xa0, 0xf4, 0x63, 0x35, 0xf0, 0x15, 0x09, 0x0a, 0xdd, 0x7d, 0x65, 0x8f, - 0x79, 0x27, 0x7e, 0xac, 0xe6, 0xbd, 0x9d, 0x80, 0xb1, 0xae, 0x6e, 0x72, 0x58, 0xeb, 0x3e, 0x07, - 0x13, 0x66, 0x03, 0xb7, 0x5c, 0x27, 0xc0, 0xb6, 0xb1, 0xab, 0x59, 0xf8, 0x06, 0xb6, 0x8a, 0x25, - 0x9a, 0x28, 0xce, 0xec, 0xdf, 0xaf, 0xce, 0xd7, 0x3b, 0xb8, 0x25, 0x02, 0x53, 0x26, 0xeb, 0x0b, - 0xb5, 0xe5, 0xb5, 0xd5, 0x8d, 0xda, 0x4a, 0xf5, 0x05, 0x6d, 0x73, 0xe5, 0x27, 0x57, 0x56, 0x9f, - 0x5b, 0x51, 0x65, 0xb3, 0x47, 0xed, 0x43, 0xdc, 0xea, 0x6b, 0x20, 0xf7, 0x1a, 0x85, 0x8e, 0xc2, - 0x20, 0xb3, 0xe4, 0x43, 0x68, 0x12, 0xc6, 0x57, 0x56, 0xb5, 0xf5, 0xfa, 0x42, 0x4d, 0xab, 0x5d, - 0xbd, 0x5a, 0xab, 0x6e, 0xac, 0xb3, 0x1b, 0x88, 0x50, 0x7b, 0xa3, 0x7b, 0x53, 0xbf, 0x9c, 0x84, - 0xc9, 0x01, 0x96, 0xa0, 0x32, 0x3f, 0x3b, 0xb0, 0xe3, 0xcc, 0xc7, 0x86, 0xb1, 0x7e, 0x9e, 0x94, - 0xfc, 0x35, 0xdd, 0x0b, 0xf8, 0x51, 0xe3, 0x24, 0x10, 0x2f, 0xd9, 0x81, 0xb9, 0x6d, 0x62, 0x8f, - 0x5f, 0xd8, 0xb0, 0x03, 0xc5, 0x78, 0x47, 0xce, 0xee, 0x6c, 0x9e, 0x02, 0xe4, 0x3a, 0xbe, 0x19, - 0x98, 0x37, 0xb0, 0x66, 0xda, 0xe2, 0x76, 0x87, 0x1c, 0x30, 0x52, 0xaa, 0x2c, 0x46, 0xea, 0x76, - 0x10, 0x6a, 0xdb, 0xb8, 0xa9, 0xf7, 0x68, 0x93, 0x04, 0x9e, 0x54, 0x65, 0x31, 0x12, 0x6a, 0x9f, - 0x80, 0x7c, 0xc3, 0x69, 0x93, 0xae, 0x8b, 0xe9, 0x91, 0x7a, 0x21, 0xa9, 0x39, 0x26, 0x0b, 0x55, - 0x78, 0x3f, 0xdd, 0xb9, 0x56, 0xca, 0xab, 0x39, 0x26, 0x63, 0x2a, 0x4f, 0xc2, 0xb8, 0xde, 0x6c, - 0x7a, 0x84, 0x5c, 0x10, 0xb1, 0x13, 0x42, 0x21, 0x14, 0x53, 0xc5, 0xe9, 0x67, 0x21, 0x23, 0xfc, - 0x40, 0x4a, 0x32, 0xf1, 0x84, 0xe6, 0xb2, 0x63, 0x6f, 0x62, 0x2e, 0xab, 0x66, 0x6c, 0x31, 0x78, - 0x02, 0xf2, 0xa6, 0xaf, 0x75, 0x6e, 0xc9, 0x13, 0xc7, 0x13, 0x73, 0x19, 0x35, 0x67, 0xfa, 0xe1, - 0x0d, 0x63, 0xe9, 0x8d, 0x04, 0x14, 0xba, 0x6f, 0xf9, 0xd1, 0x02, 0x64, 0x2c, 0xc7, 0xd0, 0x69, - 0x68, 0xb1, 0x4f, 0x4c, 0x73, 0x31, 0x1f, 0x06, 0xe6, 0x97, 0xb8, 0xbe, 0x1a, 0x22, 0xa7, 0xff, - 0x4e, 0x82, 0x8c, 0x10, 0xa3, 0x23, 0x90, 0x72, 0xf5, 0x60, 0x87, 0xd2, 0xa5, 0x2b, 0x09, 0x59, - 0x52, 0xe9, 0x33, 0x91, 0xfb, 0xae, 0x6e, 0xd3, 0x10, 0xe0, 0x72, 0xf2, 0x4c, 0xd6, 0xd5, 0xc2, - 0x7a, 0x83, 0x1e, 0x3f, 0x9c, 0x56, 0x0b, 0xdb, 0x81, 0x2f, 0xd6, 0x95, 0xcb, 0xab, 0x5c, 0x8c, - 0x4e, 0xc3, 0x44, 0xe0, 0xe9, 0xa6, 0xd5, 0xa5, 0x9b, 0xa2, 0xba, 0xb2, 0x18, 0x08, 0x95, 0x15, - 0x38, 0x26, 0x78, 0x1b, 0x38, 0xd0, 0x8d, 0x1d, 0xdc, 0xe8, 0x80, 0x46, 0xe8, 0x35, 0xc3, 0x51, - 0xae, 0xb0, 0xc0, 0xc7, 0x05, 0xb6, 0xf4, 0x7d, 0x09, 0x26, 0xc4, 0x81, 0xa9, 0x11, 0x3a, 0x6b, - 0x19, 0x40, 0xb7, 0x6d, 0x27, 0x88, 0xba, 0xab, 0x3f, 0x94, 0xfb, 0x70, 0xf3, 0xe5, 0x10, 0xa4, - 0x46, 0x08, 0xa6, 0x5b, 0x00, 0x9d, 0x91, 0x3d, 0xdd, 0x36, 0x0b, 0x39, 0xfe, 0x09, 0x87, 0x7e, - 0x07, 0x64, 0x47, 0x6c, 0x60, 0x22, 0x72, 0xb2, 0x42, 0x53, 0x90, 0xde, 0xc2, 0x4d, 0xd3, 0xe6, - 0x17, 0xb3, 0xec, 0x41, 0x5c, 0x84, 0xa4, 0xc2, 0x8b, 0x90, 0xca, 0x67, 0x61, 0xd2, 0x70, 0x5a, - 0xbd, 0xe6, 0x56, 0xe4, 0x9e, 0x63, 0xbe, 0xff, 0x29, 0xe9, 0x45, 0xe8, 0xb4, 0x98, 0x3f, 0x94, - 0xa4, 0xaf, 0x24, 0x92, 0x8b, 0x6b, 0x95, 0xaf, 0x25, 0xa6, 0x17, 0x19, 0x74, 0x4d, 0xcc, 0x54, - 0xc5, 0xdb, 0x16, 0x36, 0x88, 0xf5, 0xf0, 0xd5, 0xd3, 0xf0, 0xb1, 0xa6, 0x19, 0xec, 0xb4, 0xb7, - 0xe6, 0x0d, 0xa7, 0x75, 0xa6, 0xe9, 0x34, 0x9d, 0xce, 0xa7, 0x4f, 0xf2, 0x44, 0x1f, 0xe8, 0x7f, - 0xfc, 0xf3, 0x67, 0x36, 0x94, 0x4e, 0xc7, 0x7e, 0x2b, 0x55, 0x56, 0x60, 0x92, 0x2b, 0x6b, 0xf4, - 0xfb, 0x0b, 0x3b, 0x45, 0xa0, 0x7d, 0xef, 0xb0, 0x8a, 0x5f, 0x7f, 0x97, 0x96, 0x6b, 0x75, 0x82, - 0x43, 0xc9, 0x18, 0x3b, 0x68, 0x28, 0x2a, 0x1c, 0xee, 0xe2, 0x63, 0x5b, 0x13, 0x7b, 0x31, 0x8c, - 0xdf, 0xe3, 0x8c, 0x93, 0x11, 0xc6, 0x75, 0x0e, 0x55, 0xaa, 0x30, 0x76, 0x10, 0xae, 0xbf, 0xe1, - 0x5c, 0x79, 0x1c, 0x25, 0x59, 0x84, 0x71, 0x4a, 0x62, 0xb4, 0xfd, 0xc0, 0x69, 0xd1, 0xbc, 0xb7, - 0x3f, 0xcd, 0xdf, 0xbe, 0xcb, 0xf6, 0x4a, 0x81, 0xc0, 0xaa, 0x21, 0x4a, 0x51, 0x80, 0x7e, 0x72, - 0x6a, 0x60, 0xc3, 0x8a, 0x61, 0xb8, 0xcb, 0x0d, 0x09, 0xf5, 0x95, 0xcf, 0xc0, 0x14, 0xf9, 0x9f, - 0xa6, 0xa5, 0xa8, 0x25, 0xf1, 0x17, 0x5e, 0xc5, 0xef, 0xbf, 0xc4, 0xb6, 0xe3, 0x64, 0x48, 0x10, - 0xb1, 0x29, 0xb2, 0x8a, 0x4d, 0x1c, 0x04, 0xd8, 0xf3, 0x35, 0xdd, 0x1a, 0x64, 0x5e, 0xe4, 0xc6, - 0xa0, 0xf8, 0xa5, 0xf7, 0xba, 0x57, 0x71, 0x91, 0x21, 0xcb, 0x96, 0xa5, 0x6c, 0xc2, 0xd1, 0x01, - 0x51, 0x31, 0x04, 0xe7, 0xcb, 0x9c, 0x73, 0xaa, 0x2f, 0x32, 0x08, 0xed, 0x1a, 0x08, 0x79, 0xb8, - 0x96, 0x43, 0x70, 0xfe, 0x36, 0xe7, 0x44, 0x1c, 0x2b, 0x96, 0x94, 0x30, 0x3e, 0x0b, 0x13, 0x37, - 0xb0, 0xb7, 0xe5, 0xf8, 0xfc, 0x96, 0x66, 0x08, 0xba, 0x57, 0x38, 0xdd, 0x38, 0x07, 0xd2, 0x6b, - 0x1b, 0xc2, 0x75, 0x19, 0x32, 0xdb, 0xba, 0x81, 0x87, 0xa0, 0xf8, 0x32, 0xa7, 0x18, 0x25, 0xfa, - 0x04, 0x5a, 0x86, 0x7c, 0xd3, 0xe1, 0x95, 0x29, 0x1e, 0xfe, 0x2a, 0x87, 0xe7, 0x04, 0x86, 0x53, - 0xb8, 0x8e, 0xdb, 0xb6, 0x48, 0xd9, 0x8a, 0xa7, 0xf8, 0x1d, 0x41, 0x21, 0x30, 0x9c, 0xe2, 0x00, - 0x6e, 0x7d, 0x4d, 0x50, 0xf8, 0x11, 0x7f, 0x3e, 0x03, 0x39, 0xc7, 0xb6, 0x76, 0x1d, 0x7b, 0x18, - 0x23, 0x5e, 0xe7, 0x0c, 0xc0, 0x21, 0x84, 0xe0, 0x0a, 0x64, 0x87, 0x5d, 0x88, 0xdf, 0x7b, 0x4f, - 0x6c, 0x0f, 0xb1, 0x02, 0x8b, 0x30, 0x2e, 0x12, 0x94, 0xe9, 0xd8, 0x43, 0x50, 0x7c, 0x95, 0x53, - 0x14, 0x22, 0x30, 0x3e, 0x8d, 0x00, 0xfb, 0x41, 0x13, 0x0f, 0x43, 0xf2, 0x86, 0x98, 0x06, 0x87, - 0x70, 0x57, 0x6e, 0x61, 0xdb, 0xd8, 0x19, 0x8e, 0xe1, 0x4d, 0xe1, 0x4a, 0x81, 0x21, 0x14, 0x55, - 0x18, 0x6b, 0xe9, 0x9e, 0xbf, 0xa3, 0x5b, 0x43, 0x2d, 0xc7, 0xef, 0x73, 0x8e, 0x7c, 0x08, 0xe2, - 0x1e, 0x69, 0xdb, 0x07, 0xa1, 0xf9, 0x9a, 0xf0, 0x48, 0x04, 0xc6, 0xb7, 0x9e, 0x1f, 0xd0, 0x2b, - 0xad, 0x83, 0xb0, 0xfd, 0x81, 0xd8, 0x7a, 0x0c, 0xbb, 0x1c, 0x65, 0xbc, 0x02, 0x59, 0xdf, 0xbc, - 0x3d, 0x14, 0xcd, 0x1f, 0x8a, 0x95, 0xa6, 0x00, 0x02, 0x7e, 0x01, 0x8e, 0x0d, 0x2c, 0x13, 0x43, - 0x90, 0xfd, 0x11, 0x27, 0x3b, 0x32, 0xa0, 0x54, 0xf0, 0x94, 0x70, 0x50, 0xca, 0x3f, 0x16, 0x29, - 0x01, 0xf7, 0x70, 0xad, 0x91, 0xb3, 0x82, 0xaf, 0x6f, 0x1f, 0xcc, 0x6b, 0x7f, 0x22, 0xbc, 0xc6, - 0xb0, 0x5d, 0x5e, 0xdb, 0x80, 0x23, 0x9c, 0xf1, 0x60, 0xeb, 0xfa, 0xa7, 0x22, 0xb1, 0x32, 0xf4, - 0x66, 0xf7, 0xea, 0x7e, 0x16, 0xa6, 0x43, 0x77, 0x8a, 0xa6, 0xd4, 0xd7, 0x5a, 0xba, 0x3b, 0x04, - 0xf3, 0xd7, 0x39, 0xb3, 0xc8, 0xf8, 0x61, 0x57, 0xeb, 0x2f, 0xeb, 0x2e, 0x21, 0x7f, 0x1e, 0x8a, - 0x82, 0xbc, 0x6d, 0x7b, 0xd8, 0x70, 0x9a, 0xb6, 0x79, 0x1b, 0x37, 0x86, 0xa0, 0xfe, 0xb3, 0x9e, - 0xa5, 0xda, 0x8c, 0xc0, 0x09, 0x73, 0x1d, 0xe4, 0xb0, 0x57, 0xd1, 0xcc, 0x96, 0xeb, 0x78, 0x41, - 0x0c, 0xe3, 0x37, 0xc4, 0x4a, 0x85, 0xb8, 0x3a, 0x85, 0x29, 0x35, 0x28, 0xd0, 0xc7, 0x61, 0x43, - 0xf2, 0xcf, 0x39, 0xd1, 0x58, 0x07, 0xc5, 0x13, 0x87, 0xe1, 0xb4, 0x5c, 0xdd, 0x1b, 0x26, 0xff, - 0xfd, 0x85, 0x48, 0x1c, 0x1c, 0xc2, 0x13, 0x47, 0xb0, 0xeb, 0x62, 0x52, 0xed, 0x87, 0x60, 0xf8, - 0xa6, 0x48, 0x1c, 0x02, 0xc3, 0x29, 0x44, 0xc3, 0x30, 0x04, 0xc5, 0x5f, 0x0a, 0x0a, 0x81, 0x21, - 0x14, 0x9f, 0xee, 0x14, 0x5a, 0x0f, 0x37, 0x4d, 0x3f, 0xf0, 0x58, 0x2b, 0xbc, 0x3f, 0xd5, 0xb7, - 0xde, 0xeb, 0x6e, 0xc2, 0xd4, 0x08, 0x94, 0x64, 0x22, 0x7e, 0x85, 0x4a, 0x4f, 0x4a, 0xf1, 0x86, - 0x7d, 0x5b, 0x64, 0xa2, 0x08, 0x8c, 0xd8, 0x16, 0xe9, 0x10, 0x89, 0xdb, 0x0d, 0x72, 0x3e, 0x18, - 0x82, 0xee, 0x3b, 0x3d, 0xc6, 0xad, 0x0b, 0x2c, 0xe1, 0x8c, 0xf4, 0x3f, 0x6d, 0xfb, 0x3a, 0xde, - 0x1d, 0x2a, 0x3a, 0xff, 0xaa, 0xa7, 0xff, 0xd9, 0x64, 0x48, 0x96, 0x43, 0xc6, 0x7b, 0xfa, 0x29, - 0x14, 0xf7, 0x63, 0x9d, 0xe2, 0xcf, 0x3c, 0xe0, 0xf3, 0xed, 0x6e, 0xa7, 0x94, 0x25, 0x12, 0xe4, - 0xdd, 0x4d, 0x4f, 0x3c, 0xd9, 0x4b, 0x0f, 0xc2, 0x38, 0xef, 0xea, 0x79, 0x94, 0xab, 0x30, 0xd6, - 0xd5, 0xf0, 0xc4, 0x53, 0xfd, 0x2c, 0xa7, 0xca, 0x47, 0xfb, 0x1d, 0xe5, 0x3c, 0xa4, 0x48, 0xf3, - 0x12, 0x0f, 0xff, 0x39, 0x0e, 0xa7, 0xea, 0xca, 0x27, 0x20, 0x23, 0x9a, 0x96, 0x78, 0xe8, 0xcf, - 0x73, 0x68, 0x08, 0x21, 0x70, 0xd1, 0xb0, 0xc4, 0xc3, 0x7f, 0x41, 0xc0, 0x05, 0x84, 0xc0, 0x87, - 0x77, 0xe1, 0x77, 0x7f, 0x29, 0xc5, 0x8b, 0x8e, 0xf0, 0xdd, 0x15, 0x18, 0xe5, 0x9d, 0x4a, 0x3c, - 0xfa, 0xf3, 0xfc, 0xe5, 0x02, 0xa1, 0x5c, 0x84, 0xf4, 0x90, 0x0e, 0xff, 0x65, 0x0e, 0x65, 0xfa, - 0x4a, 0x15, 0x72, 0x91, 0xee, 0x24, 0x1e, 0xfe, 0x2b, 0x1c, 0x1e, 0x45, 0x11, 0xd3, 0x79, 0x77, - 0x12, 0x4f, 0xf0, 0x05, 0x61, 0x3a, 0x47, 0x10, 0xb7, 0x89, 0xc6, 0x24, 0x1e, 0xfd, 0xab, 0xc2, - 0xeb, 0x02, 0xa2, 0x3c, 0x03, 0xd9, 0xb0, 0xd8, 0xc4, 0xe3, 0x7f, 0x8d, 0xe3, 0x3b, 0x18, 0xe2, - 0x81, 0x48, 0xb1, 0x8b, 0xa7, 0xf8, 0x75, 0xe1, 0x81, 0x08, 0x8a, 0x6c, 0xa3, 0xde, 0x06, 0x26, - 0x9e, 0xe9, 0x37, 0xc4, 0x36, 0xea, 0xe9, 0x5f, 0xc8, 0x6a, 0xd2, 0x9c, 0x1f, 0x4f, 0xf1, 0x9b, - 0x62, 0x35, 0xa9, 0x3e, 0x31, 0xa3, 0xb7, 0x23, 0x88, 0xe7, 0xf8, 0x2d, 0x61, 0x46, 0x4f, 0x43, - 0xa0, 0xac, 0x01, 0xea, 0xef, 0x06, 0xe2, 0xf9, 0xbe, 0xc8, 0xf9, 0x26, 0xfa, 0x9a, 0x01, 0xe5, - 0x39, 0x38, 0x32, 0xb8, 0x13, 0x88, 0x67, 0xfd, 0xd2, 0x83, 0x9e, 0xb3, 0x5b, 0xb4, 0x11, 0x50, - 0x36, 0x3a, 0x25, 0x25, 0xda, 0x05, 0xc4, 0xd3, 0xbe, 0xfc, 0xa0, 0x3b, 0x71, 0x47, 0x9b, 0x00, - 0xa5, 0x0c, 0xd0, 0x29, 0xc0, 0xf1, 0x5c, 0xaf, 0x70, 0xae, 0x08, 0x88, 0x6c, 0x0d, 0x5e, 0x7f, - 0xe3, 0xf1, 0x5f, 0x16, 0x5b, 0x83, 0x23, 0xc8, 0xd6, 0x10, 0xa5, 0x37, 0x1e, 0xfd, 0xaa, 0xd8, - 0x1a, 0x02, 0x42, 0x22, 0x3b, 0x52, 0xdd, 0xe2, 0x19, 0x5e, 0x17, 0x91, 0x1d, 0x41, 0x29, 0x2b, - 0x30, 0xd1, 0x57, 0x10, 0xe3, 0xa9, 0xbe, 0xc2, 0xa9, 0xe4, 0xde, 0x7a, 0x18, 0x2d, 0x5e, 0xbc, - 0x18, 0xc6, 0xb3, 0xfd, 0x6e, 0x4f, 0xf1, 0xe2, 0xb5, 0x50, 0xb9, 0x02, 0x19, 0xbb, 0x6d, 0x59, - 0x64, 0xf3, 0xa0, 0xfd, 0x7f, 0x60, 0x57, 0xfc, 0xd7, 0x0f, 0xb8, 0x77, 0x04, 0x40, 0x39, 0x0f, - 0x69, 0xdc, 0xda, 0xc2, 0x8d, 0x38, 0xe4, 0xbf, 0x7d, 0x20, 0x12, 0x26, 0xd1, 0x56, 0x9e, 0x01, - 0x60, 0x57, 0x23, 0xf4, 0xb3, 0x5f, 0x0c, 0xf6, 0xdf, 0x3f, 0xe0, 0x3f, 0x7d, 0xe9, 0x40, 0x3a, - 0x04, 0xec, 0x87, 0x34, 0xfb, 0x13, 0xbc, 0xd7, 0x4d, 0x40, 0x57, 0xe4, 0x32, 0x8c, 0x5e, 0xf3, - 0x1d, 0x3b, 0xd0, 0x9b, 0x71, 0xe8, 0xff, 0xe0, 0x68, 0xa1, 0x4f, 0x1c, 0xd6, 0x72, 0x3c, 0x1c, - 0xe8, 0x4d, 0x3f, 0x0e, 0xfb, 0x9f, 0x1c, 0x1b, 0x02, 0x08, 0xd8, 0xd0, 0xfd, 0x60, 0x98, 0x79, - 0xff, 0x40, 0x80, 0x05, 0x80, 0x18, 0x4d, 0xfe, 0xbf, 0x8e, 0x77, 0xe3, 0xb0, 0xef, 0x0b, 0xa3, - 0xb9, 0xbe, 0xf2, 0x09, 0xc8, 0x92, 0x7f, 0xd9, 0xef, 0xd9, 0x62, 0xc0, 0xff, 0xc5, 0xc1, 0x1d, - 0x04, 0x79, 0xb3, 0x1f, 0x34, 0x02, 0x33, 0xde, 0xd9, 0xff, 0xcd, 0x57, 0x5a, 0xe8, 0x2b, 0x65, - 0xc8, 0xf9, 0x41, 0xa3, 0xd1, 0xe6, 0xfd, 0x69, 0x0c, 0xfc, 0x7f, 0x3e, 0x08, 0xaf, 0x2c, 0x42, - 0x0c, 0x59, 0xed, 0x9b, 0xd7, 0x03, 0xd7, 0xa1, 0x9f, 0x39, 0xe2, 0x18, 0x1e, 0x70, 0x86, 0x08, - 0xa4, 0x52, 0x1b, 0x7c, 0x7d, 0x0b, 0x8b, 0xce, 0xa2, 0xc3, 0x2e, 0x6e, 0x5f, 0x2c, 0xc5, 0xdf, - 0xc0, 0xc2, 0x5f, 0xa7, 0x60, 0x0c, 0xdf, 0xd2, 0x5b, 0xae, 0x20, 0x41, 0x29, 0x52, 0x80, 0xa7, - 0x0f, 0x76, 0x7b, 0x5b, 0xfa, 0x82, 0x04, 0x52, 0x19, 0x3d, 0x01, 0xb9, 0x85, 0x4e, 0xf9, 0x67, - 0x3f, 0x87, 0xaa, 0xa4, 0xee, 0xde, 0x9b, 0x3d, 0xa4, 0x46, 0x07, 0xd0, 0xc3, 0x30, 0xb2, 0xd2, - 0xf9, 0x49, 0x5d, 0x92, 0xab, 0x70, 0x19, 0x52, 0x20, 0x51, 0x67, 0x9f, 0x56, 0xf3, 0x95, 0x53, - 0x64, 0xe4, 0x1f, 0xee, 0xcd, 0xee, 0x3d, 0x15, 0x62, 0xed, 0xfc, 0x66, 0xdb, 0x6c, 0xa8, 0x89, - 0x7a, 0x43, 0xc9, 0xfc, 0xe2, 0x6b, 0xb3, 0x87, 0xde, 0x7c, 0x6d, 0x56, 0x2a, 0xd9, 0x20, 0x55, - 0xd0, 0x2c, 0x48, 0x65, 0x6a, 0x46, 0xee, 0xec, 0xe8, 0x3c, 0xd5, 0x2c, 0x57, 0x32, 0x84, 0xf2, - 0xad, 0x7b, 0xb3, 0x92, 0x2a, 0x95, 0x51, 0x05, 0xa4, 0x45, 0xfa, 0x05, 0x22, 0x5f, 0x39, 0xc7, - 0x5f, 0xf5, 0xd4, 0xbe, 0xaf, 0x3a, 0xc3, 0x36, 0xdc, 0xfc, 0xa6, 0x69, 0x07, 0xff, 0xef, 0xec, - 0x25, 0x55, 0x5a, 0x54, 0x52, 0xef, 0x93, 0xf7, 0x3d, 0x0a, 0x52, 0x15, 0xcd, 0x40, 0x8a, 0x24, - 0x43, 0xfa, 0xca, 0x64, 0x05, 0xee, 0xdf, 0x9b, 0x1d, 0x59, 0xde, 0x25, 0x39, 0x4e, 0xa5, 0xf2, - 0xd2, 0x45, 0x90, 0x36, 0xd1, 0xe1, 0x7e, 0xa3, 0x88, 0x29, 0x87, 0x41, 0xaa, 0xf0, 0x5f, 0x8c, - 0x72, 0x71, 0x45, 0x95, 0x2a, 0x4a, 0xea, 0x2e, 0x61, 0x9f, 0x04, 0xa9, 0x76, 0x2a, 0x93, 0x91, - 0xd8, 0x67, 0x35, 0x25, 0x75, 0xf7, 0xf5, 0xd9, 0x43, 0xa5, 0x93, 0x20, 0xa9, 0x68, 0x06, 0xa0, - 0x53, 0x99, 0x28, 0xed, 0x98, 0x1a, 0x91, 0x28, 0xa9, 0xb7, 0x88, 0xea, 0x69, 0xc8, 0x54, 0x75, - 0x5f, 0xfc, 0x08, 0x2f, 0x5d, 0xb7, 0x83, 0xa7, 0xcf, 0x72, 0x2b, 0xb3, 0xff, 0x7b, 0x6f, 0x36, - 0x6d, 0x12, 0x81, 0xca, 0xe4, 0x95, 0xa7, 0xfe, 0xfe, 0x9d, 0x99, 0x43, 0x6f, 0xbf, 0x33, 0x23, - 0xbd, 0xff, 0xce, 0x8c, 0xf4, 0xc3, 0x77, 0x66, 0xa4, 0x3b, 0xf7, 0x67, 0xa4, 0x37, 0xef, 0xcf, - 0x48, 0xdf, 0xba, 0x3f, 0x23, 0x7d, 0xf7, 0xfe, 0x8c, 0x74, 0xf7, 0xfe, 0x8c, 0xf4, 0xd6, 0xfd, - 0x19, 0xe9, 0xed, 0xfb, 0x33, 0xd2, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x26, 0x51, 0x9d, - 0xdd, 0x34, 0x00, 0x00, + // 4101 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x59, 0x70, 0x1c, 0xd7, + 0x75, 0x65, 0xcf, 0x02, 0xcc, 0xdc, 0x19, 0x0c, 0x1a, 0x0f, 0x20, 0x39, 0x84, 0x24, 0x80, 0x1c, + 0x6d, 0x20, 0x29, 0x81, 0x0e, 0xc5, 0x4d, 0xcd, 0xd8, 0xca, 0xcc, 0x60, 0x08, 0x8f, 0x82, 0xcd, + 0x0d, 0xc0, 0x5a, 0x5c, 0xa9, 0xae, 0x46, 0xcf, 0xc3, 0xa0, 0xc9, 0x9e, 0xee, 0x76, 0x77, 0x0f, + 0x49, 0xb0, 0xf2, 0xc1, 0x94, 0xb2, 0xb9, 0xb2, 0x38, 0x5b, 0x55, 0x6c, 0x45, 0x56, 0x24, 0xa7, + 0x62, 0x29, 0xce, 0xea, 0x2c, 0x8e, 0xed, 0x7c, 0xc4, 0x3f, 0x4e, 0xf8, 0x95, 0x92, 0xff, 0x52, + 0xa9, 0x14, 0x4b, 0x62, 0x54, 0x95, 0x4d, 0x49, 0x94, 0x84, 0x1f, 0xae, 0xe8, 0x27, 0xf5, 0xb6, + 0x9e, 0x9e, 0x05, 0xe8, 0x81, 0xab, 0x24, 0x7d, 0x01, 0x7d, 0xdf, 0x3d, 0xa7, 0xef, 0xbb, 0xef, + 0xbe, 0x7b, 0xef, 0x7b, 0x3d, 0x70, 0x47, 0x81, 0xe3, 0x4d, 0xc7, 0x69, 0x5a, 0xf8, 0x8c, 0xeb, + 0x39, 0x81, 0xb3, 0xd5, 0xde, 0x3e, 0xd3, 0xc0, 0xbe, 0xe1, 0x99, 0x6e, 0xe0, 0x78, 0xf3, 0x54, + 0x86, 0xc6, 0x99, 0xc6, 0xbc, 0xd0, 0x28, 0x2d, 0xc3, 0xc4, 0x15, 0xd3, 0xc2, 0x0b, 0xa1, 0xe2, + 0x3a, 0x0e, 0xd0, 0x25, 0x48, 0x6d, 0x9b, 0x16, 0x2e, 0x4a, 0xc7, 0x93, 0x73, 0xb9, 0xb3, 0x8f, + 0xcc, 0xf7, 0x80, 0xe6, 0xbb, 0x11, 0x6b, 0x44, 0xac, 0x52, 0x44, 0xe9, 0xdd, 0x14, 0x4c, 0x0e, + 0x18, 0x45, 0x08, 0x52, 0xb6, 0xde, 0x22, 0x8c, 0xd2, 0x5c, 0x56, 0xa5, 0xff, 0xa3, 0x22, 0x8c, + 0xba, 0xba, 0x71, 0x4d, 0x6f, 0xe2, 0x62, 0x82, 0x8a, 0xc5, 0x23, 0x9a, 0x01, 0x68, 0x60, 0x17, + 0xdb, 0x0d, 0x6c, 0x1b, 0xbb, 0xc5, 0xe4, 0xf1, 0xe4, 0x5c, 0x56, 0x8d, 0x48, 0xd0, 0x69, 0x98, + 0x70, 0xdb, 0x5b, 0x96, 0x69, 0x68, 0x11, 0x35, 0x38, 0x9e, 0x9c, 0x4b, 0xab, 0x32, 0x1b, 0x58, + 0xe8, 0x28, 0x3f, 0x0e, 0xe3, 0x37, 0xb0, 0x7e, 0x2d, 0xaa, 0x9a, 0xa3, 0xaa, 0x05, 0x22, 0x8e, + 0x28, 0x56, 0x21, 0xdf, 0xc2, 0xbe, 0xaf, 0x37, 0xb1, 0x16, 0xec, 0xba, 0xb8, 0x98, 0xa2, 0xb3, + 0x3f, 0xde, 0x37, 0xfb, 0xde, 0x99, 0xe7, 0x38, 0x6a, 0x63, 0xd7, 0xc5, 0xa8, 0x0c, 0x59, 0x6c, + 0xb7, 0x5b, 0x8c, 0x21, 0xbd, 0x87, 0xff, 0x6a, 0x76, 0xbb, 0xd5, 0xcb, 0x92, 0x21, 0x30, 0x4e, + 0x31, 0xea, 0x63, 0xef, 0xba, 0x69, 0xe0, 0xe2, 0x08, 0x25, 0x78, 0xbc, 0x8f, 0x60, 0x9d, 0x8d, + 0xf7, 0x72, 0x08, 0x1c, 0xaa, 0x42, 0x16, 0xdf, 0x0c, 0xb0, 0xed, 0x9b, 0x8e, 0x5d, 0x1c, 0xa5, + 0x24, 0x8f, 0x0e, 0x58, 0x45, 0x6c, 0x35, 0x7a, 0x29, 0x3a, 0x38, 0x74, 0x01, 0x46, 0x1d, 0x37, + 0x30, 0x1d, 0xdb, 0x2f, 0x66, 0x8e, 0x4b, 0x73, 0xb9, 0xb3, 0x0f, 0x0e, 0x0c, 0x84, 0x55, 0xa6, + 0xa3, 0x0a, 0x65, 0x54, 0x07, 0xd9, 0x77, 0xda, 0x9e, 0x81, 0x35, 0xc3, 0x69, 0x60, 0xcd, 0xb4, + 0xb7, 0x9d, 0x62, 0x96, 0x12, 0xcc, 0xf6, 0x4f, 0x84, 0x2a, 0x56, 0x9d, 0x06, 0xae, 0xdb, 0xdb, + 0x8e, 0x5a, 0xf0, 0xbb, 0x9e, 0xd1, 0x11, 0x18, 0xf1, 0x77, 0xed, 0x40, 0xbf, 0x59, 0xcc, 0xd3, + 0x08, 0xe1, 0x4f, 0xa5, 0x6f, 0x8f, 0xc0, 0xf8, 0x30, 0x21, 0x76, 0x19, 0xd2, 0xdb, 0x64, 0x96, + 0xc5, 0xc4, 0x41, 0x7c, 0xc0, 0x30, 0xdd, 0x4e, 0x1c, 0xf9, 0x21, 0x9d, 0x58, 0x86, 0x9c, 0x8d, + 0xfd, 0x00, 0x37, 0x58, 0x44, 0x24, 0x87, 0x8c, 0x29, 0x60, 0xa0, 0xfe, 0x90, 0x4a, 0xfd, 0x50, + 0x21, 0xf5, 0x3c, 0x8c, 0x87, 0x26, 0x69, 0x9e, 0x6e, 0x37, 0x45, 0x6c, 0x9e, 0x89, 0xb3, 0x64, + 0xbe, 0x26, 0x70, 0x2a, 0x81, 0xa9, 0x05, 0xdc, 0xf5, 0x8c, 0x16, 0x00, 0x1c, 0x1b, 0x3b, 0xdb, + 0x5a, 0x03, 0x1b, 0x56, 0x31, 0xb3, 0x87, 0x97, 0x56, 0x89, 0x4a, 0x9f, 0x97, 0x1c, 0x26, 0x35, + 0x2c, 0xf4, 0x74, 0x27, 0xd4, 0x46, 0xf7, 0x88, 0x94, 0x65, 0xb6, 0xc9, 0xfa, 0xa2, 0x6d, 0x13, + 0x0a, 0x1e, 0x26, 0x71, 0x8f, 0x1b, 0x7c, 0x66, 0x59, 0x6a, 0xc4, 0x7c, 0xec, 0xcc, 0x54, 0x0e, + 0x63, 0x13, 0x1b, 0xf3, 0xa2, 0x8f, 0xe8, 0x61, 0x08, 0x05, 0x1a, 0x0d, 0x2b, 0xa0, 0x59, 0x28, + 0x2f, 0x84, 0x2b, 0x7a, 0x0b, 0x4f, 0xdf, 0x82, 0x42, 0xb7, 0x7b, 0xd0, 0x14, 0xa4, 0xfd, 0x40, + 0xf7, 0x02, 0x1a, 0x85, 0x69, 0x95, 0x3d, 0x20, 0x19, 0x92, 0xd8, 0x6e, 0xd0, 0x2c, 0x97, 0x56, + 0xc9, 0xbf, 0xe8, 0xc7, 0x3a, 0x13, 0x4e, 0xd2, 0x09, 0x3f, 0xd6, 0xbf, 0xa2, 0x5d, 0xcc, 0xbd, + 0xf3, 0x9e, 0xbe, 0x08, 0x63, 0x5d, 0x13, 0x18, 0xf6, 0xd5, 0xa5, 0x9f, 0x84, 0xc3, 0x03, 0xa9, + 0xd1, 0xf3, 0x30, 0xd5, 0xb6, 0x4d, 0x3b, 0xc0, 0x9e, 0xeb, 0x61, 0x12, 0xb1, 0xec, 0x55, 0xc5, + 0x7f, 0x1e, 0xdd, 0x23, 0xe6, 0x36, 0xa3, 0xda, 0x8c, 0x45, 0x9d, 0x6c, 0xf7, 0x0b, 0x4f, 0x65, + 0x33, 0xff, 0x32, 0x2a, 0xdf, 0xbe, 0x7d, 0xfb, 0x76, 0xa2, 0xf4, 0xa5, 0x11, 0x98, 0x1a, 0xb4, + 0x67, 0x06, 0x6e, 0xdf, 0x23, 0x30, 0x62, 0xb7, 0x5b, 0x5b, 0xd8, 0xa3, 0x4e, 0x4a, 0xab, 0xfc, + 0x09, 0x95, 0x21, 0x6d, 0xe9, 0x5b, 0xd8, 0x2a, 0xa6, 0x8e, 0x4b, 0x73, 0x85, 0xb3, 0xa7, 0x87, + 0xda, 0x95, 0xf3, 0x4b, 0x04, 0xa2, 0x32, 0x24, 0xfa, 0x14, 0xa4, 0x78, 0x8a, 0x26, 0x0c, 0xa7, + 0x86, 0x63, 0x20, 0x7b, 0x49, 0xa5, 0x38, 0xf4, 0x00, 0x64, 0xc9, 0x5f, 0x16, 0x1b, 0x23, 0xd4, + 0xe6, 0x0c, 0x11, 0x90, 0xb8, 0x40, 0xd3, 0x90, 0xa1, 0xdb, 0xa4, 0x81, 0x45, 0x69, 0x0b, 0x9f, + 0x49, 0x60, 0x35, 0xf0, 0xb6, 0xde, 0xb6, 0x02, 0xed, 0xba, 0x6e, 0xb5, 0x31, 0x0d, 0xf8, 0xac, + 0x9a, 0xe7, 0xc2, 0xcf, 0x12, 0x19, 0x9a, 0x85, 0x1c, 0xdb, 0x55, 0xa6, 0xdd, 0xc0, 0x37, 0x69, + 0xf6, 0x4c, 0xab, 0x6c, 0xa3, 0xd5, 0x89, 0x84, 0xbc, 0xfe, 0xaa, 0xef, 0xd8, 0x22, 0x34, 0xe9, + 0x2b, 0x88, 0x80, 0xbe, 0xfe, 0x62, 0x6f, 0xe2, 0x7e, 0x68, 0xf0, 0xf4, 0x7a, 0x63, 0xaa, 0xf4, + 0xcd, 0x04, 0xa4, 0x68, 0xbe, 0x18, 0x87, 0xdc, 0xc6, 0x0b, 0x6b, 0x35, 0x6d, 0x61, 0x75, 0xb3, + 0xb2, 0x54, 0x93, 0x25, 0x54, 0x00, 0xa0, 0x82, 0x2b, 0x4b, 0xab, 0xe5, 0x0d, 0x39, 0x11, 0x3e, + 0xd7, 0x57, 0x36, 0x2e, 0x9c, 0x93, 0x93, 0x21, 0x60, 0x93, 0x09, 0x52, 0x51, 0x85, 0xa7, 0xce, + 0xca, 0x69, 0x24, 0x43, 0x9e, 0x11, 0xd4, 0x9f, 0xaf, 0x2d, 0x5c, 0x38, 0x27, 0x8f, 0x74, 0x4b, + 0x9e, 0x3a, 0x2b, 0x8f, 0xa2, 0x31, 0xc8, 0x52, 0x49, 0x65, 0x75, 0x75, 0x49, 0xce, 0x84, 0x9c, + 0xeb, 0x1b, 0x6a, 0x7d, 0x65, 0x51, 0xce, 0x86, 0x9c, 0x8b, 0xea, 0xea, 0xe6, 0x9a, 0x0c, 0x21, + 0xc3, 0x72, 0x6d, 0x7d, 0xbd, 0xbc, 0x58, 0x93, 0x73, 0xa1, 0x46, 0xe5, 0x85, 0x8d, 0xda, 0xba, + 0x9c, 0xef, 0x32, 0xeb, 0xa9, 0xb3, 0xf2, 0x58, 0xf8, 0x8a, 0xda, 0xca, 0xe6, 0xb2, 0x5c, 0x40, + 0x13, 0x30, 0xc6, 0x5e, 0x21, 0x8c, 0x18, 0xef, 0x11, 0x5d, 0x38, 0x27, 0xcb, 0x1d, 0x43, 0x18, + 0xcb, 0x44, 0x97, 0xe0, 0xc2, 0x39, 0x19, 0x95, 0xaa, 0x90, 0xa6, 0xd1, 0x85, 0x10, 0x14, 0x96, + 0xca, 0x95, 0xda, 0x92, 0xb6, 0xba, 0xb6, 0x51, 0x5f, 0x5d, 0x29, 0x2f, 0xc9, 0x52, 0x47, 0xa6, + 0xd6, 0x3e, 0xb3, 0x59, 0x57, 0x6b, 0x0b, 0x72, 0x22, 0x2a, 0x5b, 0xab, 0x95, 0x37, 0x6a, 0x0b, + 0x72, 0xb2, 0x64, 0xc0, 0xd4, 0xa0, 0x3c, 0x39, 0x70, 0x67, 0x44, 0x96, 0x38, 0xb1, 0xc7, 0x12, + 0x53, 0xae, 0xbe, 0x25, 0xfe, 0xa7, 0x04, 0x4c, 0x0e, 0xa8, 0x15, 0x03, 0x5f, 0xf2, 0x0c, 0xa4, + 0x59, 0x88, 0xb2, 0xea, 0x79, 0x72, 0x60, 0xd1, 0xa1, 0x01, 0xdb, 0x57, 0x41, 0x29, 0x2e, 0xda, + 0x41, 0x24, 0xf7, 0xe8, 0x20, 0x08, 0x45, 0x5f, 0x4e, 0xff, 0x89, 0xbe, 0x9c, 0xce, 0xca, 0xde, + 0x85, 0x61, 0xca, 0x1e, 0x95, 0x1d, 0x2c, 0xb7, 0xa7, 0x07, 0xe4, 0xf6, 0xcb, 0x30, 0xd1, 0x47, + 0x34, 0x74, 0x8e, 0x7d, 0x49, 0x82, 0xe2, 0x5e, 0xce, 0x89, 0xc9, 0x74, 0x89, 0xae, 0x4c, 0x77, + 0xb9, 0xd7, 0x83, 0x27, 0xf6, 0x5e, 0x84, 0xbe, 0xb5, 0x7e, 0x43, 0x82, 0x23, 0x83, 0x3b, 0xc5, + 0x81, 0x36, 0x7c, 0x0a, 0x46, 0x5a, 0x38, 0xd8, 0x71, 0x44, 0xb7, 0xf4, 0xd8, 0x80, 0x1a, 0x4c, + 0x86, 0x7b, 0x17, 0x9b, 0xa3, 0xa2, 0x45, 0x3c, 0xb9, 0x57, 0xbb, 0xc7, 0xac, 0xe9, 0xb3, 0xf4, + 0x0b, 0x09, 0x38, 0x3c, 0x90, 0x7c, 0xa0, 0xa1, 0x0f, 0x01, 0x98, 0xb6, 0xdb, 0x0e, 0x58, 0x47, + 0xc4, 0x12, 0x6c, 0x96, 0x4a, 0x68, 0xf2, 0x22, 0xc9, 0xb3, 0x1d, 0x84, 0xe3, 0x49, 0x3a, 0x0e, + 0x4c, 0x44, 0x15, 0x2e, 0x75, 0x0c, 0x4d, 0x51, 0x43, 0x67, 0xf6, 0x98, 0x69, 0x5f, 0x60, 0x7e, + 0x02, 0x64, 0xc3, 0x32, 0xb1, 0x1d, 0x68, 0x7e, 0xe0, 0x61, 0xbd, 0x65, 0xda, 0x4d, 0x5a, 0x41, + 0x32, 0x4a, 0x7a, 0x5b, 0xb7, 0x7c, 0xac, 0x8e, 0xb3, 0xe1, 0x75, 0x31, 0x4a, 0x10, 0x34, 0x80, + 0xbc, 0x08, 0x62, 0xa4, 0x0b, 0xc1, 0x86, 0x43, 0x44, 0xe9, 0x17, 0xb3, 0x90, 0x8b, 0xf4, 0xd5, + 0xe8, 0x04, 0xe4, 0xaf, 0xea, 0xd7, 0x75, 0x4d, 0x9c, 0x95, 0x98, 0x27, 0x72, 0x44, 0xb6, 0xc6, + 0xcf, 0x4b, 0x9f, 0x80, 0x29, 0xaa, 0xe2, 0xb4, 0x03, 0xec, 0x69, 0x86, 0xa5, 0xfb, 0x3e, 0x75, + 0x5a, 0x86, 0xaa, 0x22, 0x32, 0xb6, 0x4a, 0x86, 0xaa, 0x62, 0x04, 0x9d, 0x87, 0x49, 0x8a, 0x68, + 0xb5, 0xad, 0xc0, 0x74, 0x2d, 0xac, 0x91, 0xd3, 0x9b, 0x4f, 0x2b, 0x49, 0x68, 0xd9, 0x04, 0xd1, + 0x58, 0xe6, 0x0a, 0xc4, 0x22, 0x1f, 0x2d, 0xc0, 0x43, 0x14, 0xd6, 0xc4, 0x36, 0xf6, 0xf4, 0x00, + 0x6b, 0xf8, 0xf3, 0x6d, 0xdd, 0xf2, 0x35, 0xdd, 0x6e, 0x68, 0x3b, 0xba, 0xbf, 0x53, 0x9c, 0x22, + 0x04, 0x95, 0x44, 0x51, 0x52, 0x8f, 0x11, 0xc5, 0x45, 0xae, 0x57, 0xa3, 0x6a, 0x65, 0xbb, 0xf1, + 0x69, 0xdd, 0xdf, 0x41, 0x0a, 0x1c, 0xa1, 0x2c, 0x7e, 0xe0, 0x99, 0x76, 0x53, 0x33, 0x76, 0xb0, + 0x71, 0x4d, 0x6b, 0x07, 0xdb, 0x97, 0x8a, 0x0f, 0x44, 0xdf, 0x4f, 0x2d, 0x5c, 0xa7, 0x3a, 0x55, + 0xa2, 0xb2, 0x19, 0x6c, 0x5f, 0x42, 0xeb, 0x90, 0x27, 0x8b, 0xd1, 0x32, 0x6f, 0x61, 0x6d, 0xdb, + 0xf1, 0x68, 0x69, 0x2c, 0x0c, 0x48, 0x4d, 0x11, 0x0f, 0xce, 0xaf, 0x72, 0xc0, 0xb2, 0xd3, 0xc0, + 0x4a, 0x7a, 0x7d, 0xad, 0x56, 0x5b, 0x50, 0x73, 0x82, 0xe5, 0x8a, 0xe3, 0x91, 0x80, 0x6a, 0x3a, + 0xa1, 0x83, 0x73, 0x2c, 0xa0, 0x9a, 0x8e, 0x70, 0xef, 0x79, 0x98, 0x34, 0x0c, 0x36, 0x67, 0xd3, + 0xd0, 0xf8, 0x19, 0xcb, 0x2f, 0xca, 0x5d, 0xce, 0x32, 0x8c, 0x45, 0xa6, 0xc0, 0x63, 0xdc, 0x47, + 0x4f, 0xc3, 0xe1, 0x8e, 0xb3, 0xa2, 0xc0, 0x89, 0xbe, 0x59, 0xf6, 0x42, 0xcf, 0xc3, 0xa4, 0xbb, + 0xdb, 0x0f, 0x44, 0x5d, 0x6f, 0x74, 0x77, 0x7b, 0x61, 0x17, 0x61, 0xca, 0xdd, 0x71, 0xfb, 0x71, + 0xa7, 0xa2, 0x38, 0xe4, 0xee, 0xb8, 0xbd, 0xc0, 0x47, 0xe9, 0x81, 0xdb, 0xc3, 0x86, 0x1e, 0xe0, + 0x46, 0xf1, 0x68, 0x54, 0x3d, 0x32, 0x80, 0xce, 0x80, 0x6c, 0x18, 0x1a, 0xb6, 0xf5, 0x2d, 0x0b, + 0x6b, 0xba, 0x87, 0x6d, 0xdd, 0x2f, 0xce, 0x46, 0x95, 0x0b, 0x86, 0x51, 0xa3, 0xa3, 0x65, 0x3a, + 0x88, 0x4e, 0xc1, 0x84, 0xb3, 0x75, 0xd5, 0x60, 0x21, 0xa9, 0xb9, 0x1e, 0xde, 0x36, 0x6f, 0x16, + 0x1f, 0xa1, 0xfe, 0x1d, 0x27, 0x03, 0x34, 0x20, 0xd7, 0xa8, 0x18, 0x9d, 0x04, 0xd9, 0xf0, 0x77, + 0x74, 0xcf, 0xa5, 0x39, 0xd9, 0x77, 0x75, 0x03, 0x17, 0x1f, 0x65, 0xaa, 0x4c, 0xbe, 0x22, 0xc4, + 0x64, 0x4b, 0xf8, 0x37, 0xcc, 0xed, 0x40, 0x30, 0x3e, 0xce, 0xb6, 0x04, 0x95, 0x71, 0xb6, 0x39, + 0x90, 0x89, 0x2b, 0xba, 0x5e, 0x3c, 0x47, 0xd5, 0x0a, 0xee, 0x8e, 0x1b, 0x7d, 0xef, 0xc3, 0x30, + 0x46, 0x34, 0x3b, 0x2f, 0x3d, 0xc9, 0x1a, 0x32, 0x77, 0x27, 0xf2, 0xc6, 0x73, 0x70, 0x84, 0x28, + 0xb5, 0x70, 0xa0, 0x37, 0xf4, 0x40, 0x8f, 0x68, 0x3f, 0x41, 0xb5, 0x89, 0xdf, 0x97, 0xf9, 0x60, + 0x97, 0x9d, 0x5e, 0x7b, 0x6b, 0x37, 0x8c, 0xac, 0x27, 0x99, 0x9d, 0x44, 0x26, 0x62, 0xeb, 0x43, + 0x6b, 0xba, 0x4b, 0x0a, 0xe4, 0xa3, 0x81, 0x8f, 0xb2, 0xc0, 0x42, 0x5f, 0x96, 0x48, 0x17, 0x54, + 0x5d, 0x5d, 0x20, 0xfd, 0xcb, 0x8b, 0x35, 0x39, 0x41, 0xfa, 0xa8, 0xa5, 0xfa, 0x46, 0x4d, 0x53, + 0x37, 0x57, 0x36, 0xea, 0xcb, 0x35, 0x39, 0x19, 0x6d, 0xd8, 0xbf, 0x97, 0x80, 0x42, 0xf7, 0xd9, + 0x0b, 0xfd, 0x28, 0x1c, 0x15, 0x17, 0x25, 0x3e, 0x0e, 0xb4, 0x1b, 0xa6, 0x47, 0xf7, 0x62, 0x4b, + 0x67, 0x75, 0x31, 0x8c, 0x86, 0x29, 0xae, 0xb5, 0x8e, 0x83, 0xe7, 0x4c, 0x8f, 0xec, 0xb4, 0x96, + 0x1e, 0xa0, 0x25, 0x98, 0xb5, 0x1d, 0xcd, 0x0f, 0x74, 0xbb, 0xa1, 0x7b, 0x0d, 0xad, 0x73, 0x45, + 0xa5, 0xe9, 0x86, 0x81, 0x7d, 0xdf, 0x61, 0x35, 0x30, 0x64, 0x79, 0xd0, 0x76, 0xd6, 0xb9, 0x72, + 0xa7, 0x38, 0x94, 0xb9, 0x6a, 0x4f, 0xe4, 0x26, 0xf7, 0x8a, 0xdc, 0x07, 0x20, 0xdb, 0xd2, 0x5d, + 0x0d, 0xdb, 0x81, 0xb7, 0x4b, 0x3b, 0xee, 0x8c, 0x9a, 0x69, 0xe9, 0x6e, 0x8d, 0x3c, 0x7f, 0x34, + 0x07, 0x9f, 0x7f, 0x4c, 0x42, 0x3e, 0xda, 0x75, 0x93, 0x43, 0x8c, 0x41, 0x0b, 0x94, 0x44, 0x53, + 0xd8, 0xc3, 0xfb, 0xf6, 0xe8, 0xf3, 0x55, 0x52, 0xb9, 0x94, 0x11, 0xd6, 0x0b, 0xab, 0x0c, 0x49, + 0xba, 0x06, 0x12, 0x5a, 0x98, 0xf5, 0x1e, 0x19, 0x95, 0x3f, 0xa1, 0x45, 0x18, 0xb9, 0xea, 0x53, + 0xee, 0x11, 0xca, 0xfd, 0xc8, 0xfe, 0xdc, 0xcf, 0xae, 0x53, 0xf2, 0xec, 0xb3, 0xeb, 0xda, 0xca, + 0xaa, 0xba, 0x5c, 0x5e, 0x52, 0x39, 0x1c, 0x1d, 0x83, 0x94, 0xa5, 0xdf, 0xda, 0xed, 0xae, 0x71, + 0x54, 0x34, 0xac, 0xe3, 0x8f, 0x41, 0xea, 0x06, 0xd6, 0xaf, 0x75, 0x57, 0x16, 0x2a, 0xfa, 0x10, + 0x43, 0xff, 0x0c, 0xa4, 0xa9, 0xbf, 0x10, 0x00, 0xf7, 0x98, 0x7c, 0x08, 0x65, 0x20, 0x55, 0x5d, + 0x55, 0x49, 0xf8, 0xcb, 0x90, 0x67, 0x52, 0x6d, 0xad, 0x5e, 0xab, 0xd6, 0xe4, 0x44, 0xe9, 0x3c, + 0x8c, 0x30, 0x27, 0x90, 0xad, 0x11, 0xba, 0x41, 0x3e, 0xc4, 0x1f, 0x39, 0x87, 0x24, 0x46, 0x37, + 0x97, 0x2b, 0x35, 0x55, 0x4e, 0x44, 0x97, 0xd7, 0x87, 0x7c, 0xb4, 0xe1, 0xfe, 0x68, 0x62, 0xea, + 0x3b, 0x12, 0xe4, 0x22, 0x0d, 0x34, 0xe9, 0x7c, 0x74, 0xcb, 0x72, 0x6e, 0x68, 0xba, 0x65, 0xea, + 0x3e, 0x0f, 0x0a, 0xa0, 0xa2, 0x32, 0x91, 0x0c, 0xbb, 0x68, 0x1f, 0x89, 0xf1, 0xaf, 0x4a, 0x20, + 0xf7, 0xf6, 0xae, 0x3d, 0x06, 0x4a, 0x1f, 0xab, 0x81, 0xaf, 0x48, 0x50, 0xe8, 0x6e, 0x58, 0x7b, + 0xcc, 0x3b, 0xf1, 0xb1, 0x9a, 0xf7, 0x76, 0x02, 0xc6, 0xba, 0xda, 0xd4, 0x61, 0xad, 0xfb, 0x3c, + 0x4c, 0x98, 0x0d, 0xdc, 0x72, 0x9d, 0x00, 0xdb, 0xc6, 0xae, 0x66, 0xe1, 0xeb, 0xd8, 0x2a, 0x96, + 0x68, 0xa2, 0x38, 0xb3, 0x7f, 0x23, 0x3c, 0x5f, 0xef, 0xe0, 0x96, 0x08, 0x4c, 0x99, 0xac, 0x2f, + 0xd4, 0x96, 0xd7, 0x56, 0x37, 0x6a, 0x2b, 0xd5, 0x17, 0xb4, 0xcd, 0x95, 0x1f, 0x5f, 0x59, 0x7d, + 0x6e, 0x45, 0x95, 0xcd, 0x1e, 0xb5, 0x0f, 0x71, 0xab, 0xaf, 0x81, 0xdc, 0x6b, 0x14, 0x3a, 0x0a, + 0x83, 0xcc, 0x92, 0x0f, 0xa1, 0x49, 0x18, 0x5f, 0x59, 0xd5, 0xd6, 0xeb, 0x0b, 0x35, 0xad, 0x76, + 0xe5, 0x4a, 0xad, 0xba, 0xb1, 0xce, 0xae, 0x36, 0x42, 0xed, 0x8d, 0xee, 0x4d, 0xfd, 0x72, 0x12, + 0x26, 0x07, 0x58, 0x82, 0xca, 0xfc, 0x50, 0xc2, 0xce, 0x49, 0x4f, 0x0e, 0x63, 0xfd, 0x3c, 0xe9, + 0x0a, 0xd6, 0x74, 0x2f, 0xe0, 0x67, 0x98, 0x93, 0x40, 0xbc, 0x64, 0x07, 0xe6, 0xb6, 0x89, 0x3d, + 0x7e, 0x13, 0xc4, 0x4e, 0x2a, 0xe3, 0x1d, 0x39, 0xbb, 0x0c, 0x7a, 0x02, 0x90, 0xeb, 0xf8, 0x66, + 0x60, 0x5e, 0xc7, 0x9a, 0x69, 0x8b, 0x6b, 0x23, 0x72, 0x72, 0x49, 0xa9, 0xb2, 0x18, 0xa9, 0xdb, + 0x41, 0xa8, 0x6d, 0xe3, 0xa6, 0xde, 0xa3, 0x4d, 0x12, 0x78, 0x52, 0x95, 0xc5, 0x48, 0xa8, 0x7d, + 0x02, 0xf2, 0x0d, 0xa7, 0x4d, 0xda, 0x39, 0xa6, 0x47, 0xea, 0x85, 0xa4, 0xe6, 0x98, 0x2c, 0x54, + 0xe1, 0x8d, 0x7a, 0xe7, 0xbe, 0x2a, 0xaf, 0xe6, 0x98, 0x8c, 0xa9, 0x3c, 0x0e, 0xe3, 0x7a, 0xb3, + 0xe9, 0x11, 0x72, 0x41, 0xc4, 0x8e, 0x1e, 0x85, 0x50, 0x4c, 0x15, 0xa7, 0x9f, 0x85, 0x8c, 0xf0, + 0x03, 0x29, 0xc9, 0xc4, 0x13, 0x9a, 0xcb, 0xce, 0xd3, 0x89, 0xb9, 0xac, 0x9a, 0xb1, 0xc5, 0xe0, + 0x09, 0xc8, 0x9b, 0xbe, 0xd6, 0xb9, 0x7e, 0x4f, 0x1c, 0x4f, 0xcc, 0x65, 0xd4, 0x9c, 0xe9, 0x87, + 0x57, 0x97, 0xa5, 0x37, 0x12, 0x50, 0xe8, 0xfe, 0x7c, 0x80, 0x16, 0x20, 0x63, 0x39, 0x86, 0x4e, + 0x43, 0x8b, 0x7d, 0xbb, 0x9a, 0x8b, 0xf9, 0xe2, 0x30, 0xbf, 0xc4, 0xf5, 0xd5, 0x10, 0x39, 0xfd, + 0x77, 0x12, 0x64, 0x84, 0x18, 0x1d, 0x81, 0x94, 0xab, 0x07, 0x3b, 0x94, 0x2e, 0x5d, 0x49, 0xc8, + 0x92, 0x4a, 0x9f, 0x89, 0xdc, 0x77, 0x75, 0x9b, 0x86, 0x00, 0x97, 0x93, 0x67, 0xb2, 0xae, 0x16, + 0xd6, 0x1b, 0xf4, 0x5c, 0xe3, 0xb4, 0x5a, 0xd8, 0x0e, 0x7c, 0xb1, 0xae, 0x5c, 0x5e, 0xe5, 0x62, + 0x74, 0x1a, 0x26, 0x02, 0x4f, 0x37, 0xad, 0x2e, 0xdd, 0x14, 0xd5, 0x95, 0xc5, 0x40, 0xa8, 0xac, + 0xc0, 0x31, 0xc1, 0xdb, 0xc0, 0x81, 0x6e, 0xec, 0xe0, 0x46, 0x07, 0x34, 0x42, 0xef, 0x2f, 0x8e, + 0x72, 0x85, 0x05, 0x3e, 0x2e, 0xb0, 0xa5, 0xef, 0x4b, 0x30, 0x21, 0x4e, 0x62, 0x8d, 0xd0, 0x59, + 0xcb, 0x00, 0xba, 0x6d, 0x3b, 0x41, 0xd4, 0x5d, 0xfd, 0xa1, 0xdc, 0x87, 0x9b, 0x2f, 0x87, 0x20, + 0x35, 0x42, 0x30, 0xdd, 0x02, 0xe8, 0x8c, 0xec, 0xe9, 0xb6, 0x59, 0xc8, 0xf1, 0x6f, 0x43, 0xf4, + 0x03, 0x23, 0x3b, 0xbb, 0x03, 0x13, 0x91, 0x23, 0x1b, 0x9a, 0x82, 0xf4, 0x16, 0x6e, 0x9a, 0x36, + 0xbf, 0xf1, 0x65, 0x0f, 0xe2, 0x86, 0x25, 0x15, 0xde, 0xb0, 0x54, 0x3e, 0x07, 0x93, 0x86, 0xd3, + 0xea, 0x35, 0xb7, 0x22, 0xf7, 0xdc, 0x1f, 0xf8, 0x9f, 0x96, 0x5e, 0x84, 0x4e, 0x8b, 0xf9, 0x03, + 0x49, 0xfa, 0x6a, 0x22, 0xb9, 0xb8, 0x56, 0xf9, 0x7a, 0x62, 0x7a, 0x91, 0x41, 0xd7, 0xc4, 0x4c, + 0x55, 0xbc, 0x6d, 0x61, 0x83, 0x58, 0x0f, 0x5f, 0x3b, 0x0d, 0x4f, 0x36, 0xcd, 0x60, 0xa7, 0xbd, + 0x35, 0x6f, 0x38, 0xad, 0x33, 0x4d, 0xa7, 0xe9, 0x74, 0xbe, 0xa9, 0x92, 0x27, 0xfa, 0x40, 0xff, + 0xe3, 0xdf, 0x55, 0xb3, 0xa1, 0x74, 0x3a, 0xf6, 0x23, 0xac, 0xb2, 0x02, 0x93, 0x5c, 0x59, 0xa3, + 0x1f, 0x76, 0xd8, 0xf1, 0x04, 0xed, 0x7b, 0x39, 0x56, 0xfc, 0xc6, 0xbb, 0xb4, 0x5c, 0xab, 0x13, + 0x1c, 0x4a, 0xc6, 0xd8, 0x09, 0x46, 0x51, 0xe1, 0x70, 0x17, 0x1f, 0xdb, 0x9a, 0xd8, 0x8b, 0x61, + 0xfc, 0x1e, 0x67, 0x9c, 0x8c, 0x30, 0xae, 0x73, 0xa8, 0x52, 0x85, 0xb1, 0x83, 0x70, 0xfd, 0x0d, + 0xe7, 0xca, 0xe3, 0x28, 0xc9, 0x22, 0x8c, 0x53, 0x12, 0xa3, 0xed, 0x07, 0x4e, 0x8b, 0xe6, 0xbd, + 0xfd, 0x69, 0xfe, 0xf6, 0x5d, 0xb6, 0x57, 0x0a, 0x04, 0x56, 0x0d, 0x51, 0x8a, 0x02, 0xf4, 0x5b, + 0x56, 0x03, 0x1b, 0x56, 0x0c, 0xc3, 0x1d, 0x6e, 0x48, 0xa8, 0xaf, 0x7c, 0x16, 0xa6, 0xc8, 0xff, + 0x34, 0x2d, 0x45, 0x2d, 0x89, 0xbf, 0x49, 0x2b, 0x7e, 0xff, 0x25, 0xb6, 0x1d, 0x27, 0x43, 0x82, + 0x88, 0x4d, 0x91, 0x55, 0x6c, 0xe2, 0x20, 0xc0, 0x9e, 0xaf, 0xe9, 0xd6, 0x20, 0xf3, 0x22, 0x57, + 0x11, 0xc5, 0x2f, 0xbf, 0xd7, 0xbd, 0x8a, 0x8b, 0x0c, 0x59, 0xb6, 0x2c, 0x65, 0x13, 0x8e, 0x0e, + 0x88, 0x8a, 0x21, 0x38, 0x5f, 0xe6, 0x9c, 0x53, 0x7d, 0x91, 0x41, 0x68, 0xd7, 0x40, 0xc8, 0xc3, + 0xb5, 0x1c, 0x82, 0xf3, 0xb7, 0x38, 0x27, 0xe2, 0x58, 0xb1, 0xa4, 0x84, 0xf1, 0x59, 0x98, 0xb8, + 0x8e, 0xbd, 0x2d, 0xc7, 0xe7, 0xd7, 0x3f, 0x43, 0xd0, 0xbd, 0xc2, 0xe9, 0xc6, 0x39, 0x90, 0xde, + 0x07, 0x11, 0xae, 0xa7, 0x21, 0xb3, 0xad, 0x1b, 0x78, 0x08, 0x8a, 0xaf, 0x70, 0x8a, 0x51, 0xa2, + 0x4f, 0xa0, 0x65, 0xc8, 0x37, 0x1d, 0x5e, 0x99, 0xe2, 0xe1, 0xaf, 0x72, 0x78, 0x4e, 0x60, 0x38, + 0x85, 0xeb, 0xb8, 0x6d, 0x8b, 0x94, 0xad, 0x78, 0x8a, 0xdf, 0x16, 0x14, 0x02, 0xc3, 0x29, 0x0e, + 0xe0, 0xd6, 0xd7, 0x04, 0x85, 0x1f, 0xf1, 0xe7, 0x33, 0x90, 0x73, 0x6c, 0x6b, 0xd7, 0xb1, 0x87, + 0x31, 0xe2, 0x75, 0xce, 0x00, 0x1c, 0x42, 0x08, 0x2e, 0x43, 0x76, 0xd8, 0x85, 0xf8, 0xdd, 0xf7, + 0xc4, 0xf6, 0x10, 0x2b, 0xb0, 0x08, 0xe3, 0x22, 0x41, 0x99, 0x8e, 0x3d, 0x04, 0xc5, 0xd7, 0x38, + 0x45, 0x21, 0x02, 0xe3, 0xd3, 0x08, 0xb0, 0x1f, 0x34, 0xf1, 0x30, 0x24, 0x6f, 0x88, 0x69, 0x70, + 0x08, 0x77, 0xe5, 0x16, 0xb6, 0x8d, 0x9d, 0xe1, 0x18, 0xde, 0x14, 0xae, 0x14, 0x18, 0x42, 0x51, + 0x85, 0xb1, 0x96, 0xee, 0xf9, 0x3b, 0xba, 0x35, 0xd4, 0x72, 0xfc, 0x1e, 0xe7, 0xc8, 0x87, 0x20, + 0xee, 0x91, 0xb6, 0x7d, 0x10, 0x9a, 0xaf, 0x0b, 0x8f, 0x44, 0x60, 0x7c, 0xeb, 0xf9, 0x01, 0xbd, + 0x2b, 0x3b, 0x08, 0xdb, 0xef, 0x8b, 0xad, 0xc7, 0xb0, 0xcb, 0x51, 0xc6, 0xcb, 0x90, 0xf5, 0xcd, + 0x5b, 0x43, 0xd1, 0xfc, 0x81, 0x58, 0x69, 0x0a, 0x20, 0xe0, 0x17, 0xe0, 0xd8, 0xc0, 0x32, 0x31, + 0x04, 0xd9, 0x1f, 0x72, 0xb2, 0x23, 0x03, 0x4a, 0x05, 0x4f, 0x09, 0x07, 0xa5, 0xfc, 0x23, 0x91, + 0x12, 0x70, 0x0f, 0xd7, 0x1a, 0x39, 0x2b, 0xf8, 0xfa, 0xf6, 0xc1, 0xbc, 0xf6, 0xc7, 0xc2, 0x6b, + 0x0c, 0xdb, 0xe5, 0xb5, 0x0d, 0x38, 0xc2, 0x19, 0x0f, 0xb6, 0xae, 0x7f, 0x22, 0x12, 0x2b, 0x43, + 0x6f, 0x76, 0xaf, 0xee, 0xe7, 0x60, 0x3a, 0x74, 0xa7, 0x68, 0x4a, 0x7d, 0xad, 0xa5, 0xbb, 0x43, + 0x30, 0x7f, 0x83, 0x33, 0x8b, 0x8c, 0x1f, 0x76, 0xb5, 0xfe, 0xb2, 0xee, 0x12, 0xf2, 0xe7, 0xa1, + 0x28, 0xc8, 0xdb, 0xb6, 0x87, 0x0d, 0xa7, 0x69, 0x9b, 0xb7, 0x70, 0x63, 0x08, 0xea, 0x3f, 0xed, + 0x59, 0xaa, 0xcd, 0x08, 0x9c, 0x30, 0xd7, 0x41, 0x0e, 0x7b, 0x15, 0xcd, 0x6c, 0xb9, 0x8e, 0x17, + 0xc4, 0x30, 0xfe, 0x99, 0x58, 0xa9, 0x10, 0x57, 0xa7, 0x30, 0xa5, 0x06, 0x05, 0xfa, 0x38, 0x6c, + 0x48, 0xfe, 0x39, 0x27, 0x1a, 0xeb, 0xa0, 0x78, 0xe2, 0x30, 0x9c, 0x96, 0xab, 0x7b, 0xc3, 0xe4, + 0xbf, 0xbf, 0x10, 0x89, 0x83, 0x43, 0x78, 0xe2, 0x08, 0x76, 0x5d, 0x4c, 0xaa, 0xfd, 0x10, 0x0c, + 0xdf, 0x14, 0x89, 0x43, 0x60, 0x38, 0x85, 0x68, 0x18, 0x86, 0xa0, 0xf8, 0x4b, 0x41, 0x21, 0x30, + 0x84, 0xe2, 0x33, 0x9d, 0x42, 0xeb, 0xe1, 0xa6, 0xe9, 0x07, 0x1e, 0x6b, 0x85, 0xf7, 0xa7, 0xfa, + 0xd6, 0x7b, 0xdd, 0x4d, 0x98, 0x1a, 0x81, 0x92, 0x4c, 0xc4, 0xaf, 0x50, 0xe9, 0x49, 0x29, 0xde, + 0xb0, 0x6f, 0x8b, 0x4c, 0x14, 0x81, 0x11, 0xdb, 0x22, 0x1d, 0x22, 0x71, 0xbb, 0x41, 0xce, 0x07, + 0x43, 0xd0, 0x7d, 0xa7, 0xc7, 0xb8, 0x75, 0x81, 0x25, 0x9c, 0x91, 0xfe, 0xa7, 0x6d, 0x5f, 0xc3, + 0xbb, 0x43, 0x45, 0xe7, 0x5f, 0xf5, 0xf4, 0x3f, 0x9b, 0x0c, 0xc9, 0x72, 0xc8, 0x78, 0x4f, 0x3f, + 0x85, 0xe2, 0x7e, 0x05, 0x54, 0xfc, 0xa9, 0xfb, 0x7c, 0xbe, 0xdd, 0xed, 0x94, 0xb2, 0x44, 0x82, + 0xbc, 0xbb, 0xe9, 0x89, 0x27, 0x7b, 0xe9, 0x7e, 0x18, 0xe7, 0x5d, 0x3d, 0x8f, 0x72, 0x05, 0xc6, + 0xba, 0x1a, 0x9e, 0x78, 0xaa, 0x9f, 0xe6, 0x54, 0xf9, 0x68, 0xbf, 0xa3, 0x9c, 0x87, 0x14, 0x69, + 0x5e, 0xe2, 0xe1, 0x3f, 0xc3, 0xe1, 0x54, 0x5d, 0xf9, 0x24, 0x64, 0x44, 0xd3, 0x12, 0x0f, 0xfd, + 0x59, 0x0e, 0x0d, 0x21, 0x04, 0x2e, 0x1a, 0x96, 0x78, 0xf8, 0xcf, 0x09, 0xb8, 0x80, 0x10, 0xf8, + 0xf0, 0x2e, 0xfc, 0xee, 0x2f, 0xa4, 0x78, 0xd1, 0x11, 0xbe, 0xbb, 0x0c, 0xa3, 0xbc, 0x53, 0x89, + 0x47, 0x7f, 0x81, 0xbf, 0x5c, 0x20, 0x94, 0x8b, 0x90, 0x1e, 0xd2, 0xe1, 0xbf, 0xc4, 0xa1, 0x4c, + 0x5f, 0xa9, 0x42, 0x2e, 0xd2, 0x9d, 0xc4, 0xc3, 0x7f, 0x99, 0xc3, 0xa3, 0x28, 0x62, 0x3a, 0xef, + 0x4e, 0xe2, 0x09, 0xbe, 0x28, 0x4c, 0xe7, 0x08, 0xe2, 0x36, 0xd1, 0x98, 0xc4, 0xa3, 0x7f, 0x45, + 0x78, 0x5d, 0x40, 0x94, 0x67, 0x20, 0x1b, 0x16, 0x9b, 0x78, 0xfc, 0xaf, 0x72, 0x7c, 0x07, 0x43, + 0x3c, 0x10, 0x29, 0x76, 0xf1, 0x14, 0xbf, 0x26, 0x3c, 0x10, 0x41, 0x91, 0x6d, 0xd4, 0xdb, 0xc0, + 0xc4, 0x33, 0xfd, 0xba, 0xd8, 0x46, 0x3d, 0xfd, 0x0b, 0x59, 0x4d, 0x9a, 0xf3, 0xe3, 0x29, 0x7e, + 0x43, 0xac, 0x26, 0xd5, 0x27, 0x66, 0xf4, 0x76, 0x04, 0xf1, 0x1c, 0xbf, 0x29, 0xcc, 0xe8, 0x69, + 0x08, 0x94, 0x35, 0x40, 0xfd, 0xdd, 0x40, 0x3c, 0xdf, 0x97, 0x38, 0xdf, 0x44, 0x5f, 0x33, 0xa0, + 0x3c, 0x07, 0x47, 0x06, 0x77, 0x02, 0xf1, 0xac, 0x5f, 0xbe, 0xdf, 0x73, 0x76, 0x8b, 0x36, 0x02, + 0xca, 0x46, 0xa7, 0xa4, 0x44, 0xbb, 0x80, 0x78, 0xda, 0x97, 0xef, 0x77, 0x27, 0xee, 0x68, 0x13, + 0xa0, 0x94, 0x01, 0x3a, 0x05, 0x38, 0x9e, 0xeb, 0x15, 0xce, 0x15, 0x01, 0x91, 0xad, 0xc1, 0xeb, + 0x6f, 0x3c, 0xfe, 0x2b, 0x62, 0x6b, 0x70, 0x04, 0xd9, 0x1a, 0xa2, 0xf4, 0xc6, 0xa3, 0x5f, 0x15, + 0x5b, 0x43, 0x40, 0x48, 0x64, 0x47, 0xaa, 0x5b, 0x3c, 0xc3, 0xeb, 0x22, 0xb2, 0x23, 0x28, 0x65, + 0x05, 0x26, 0xfa, 0x0a, 0x62, 0x3c, 0xd5, 0x57, 0x39, 0x95, 0xdc, 0x5b, 0x0f, 0xa3, 0xc5, 0x8b, + 0x17, 0xc3, 0x78, 0xb6, 0xdf, 0xe9, 0x29, 0x5e, 0xbc, 0x16, 0x2a, 0x97, 0x21, 0x63, 0xb7, 0x2d, + 0x8b, 0x6c, 0x1e, 0xb4, 0xff, 0x2f, 0xf7, 0x8a, 0xff, 0xfa, 0x01, 0xf7, 0x8e, 0x00, 0x28, 0xe7, + 0x21, 0x8d, 0x5b, 0x5b, 0xb8, 0x11, 0x87, 0xfc, 0xb7, 0x0f, 0x44, 0xc2, 0x24, 0xda, 0xca, 0x33, + 0x00, 0xec, 0x6a, 0x84, 0x7e, 0xf6, 0x8b, 0xc1, 0xfe, 0xfb, 0x07, 0xfc, 0x37, 0x35, 0x1d, 0x48, + 0x87, 0x80, 0xfd, 0x42, 0x67, 0x7f, 0x82, 0xf7, 0xba, 0x09, 0xe8, 0x8a, 0x3c, 0x0d, 0xa3, 0x57, + 0x7d, 0xc7, 0x0e, 0xf4, 0x66, 0x1c, 0xfa, 0x3f, 0x38, 0x5a, 0xe8, 0x13, 0x87, 0xb5, 0x1c, 0x0f, + 0x07, 0x7a, 0xd3, 0x8f, 0xc3, 0xfe, 0x27, 0xc7, 0x86, 0x00, 0x02, 0x36, 0x74, 0x3f, 0x18, 0x66, + 0xde, 0xff, 0x25, 0xc0, 0x02, 0x40, 0x8c, 0x26, 0xff, 0x5f, 0xc3, 0xbb, 0x71, 0xd8, 0xf7, 0x85, + 0xd1, 0x5c, 0x5f, 0xf9, 0x24, 0x64, 0xc9, 0xbf, 0xec, 0x87, 0x72, 0x31, 0xe0, 0xff, 0xe6, 0xe0, + 0x0e, 0x82, 0xbc, 0xd9, 0x0f, 0x1a, 0x81, 0x19, 0xef, 0xec, 0xff, 0xe1, 0x2b, 0x2d, 0xf4, 0x95, + 0x32, 0xe4, 0xfc, 0xa0, 0xd1, 0x68, 0xf3, 0xfe, 0x34, 0x06, 0xfe, 0xbf, 0x1f, 0x84, 0x57, 0x16, + 0x21, 0x86, 0xac, 0xf6, 0x8d, 0x6b, 0x81, 0xeb, 0xd0, 0xcf, 0x1c, 0x71, 0x0c, 0xf7, 0x39, 0x43, + 0x04, 0x52, 0xa9, 0x0d, 0xbe, 0xbe, 0x85, 0x45, 0x67, 0xd1, 0x61, 0x17, 0xb7, 0x2f, 0x96, 0xe2, + 0x6f, 0x60, 0xe1, 0xaf, 0x53, 0x30, 0x86, 0x6f, 0xea, 0x2d, 0x57, 0x90, 0xa0, 0x14, 0x29, 0xc0, + 0xd3, 0x07, 0xbb, 0xbd, 0x2d, 0x7d, 0x51, 0x02, 0xa9, 0x8c, 0x1e, 0x83, 0xdc, 0x42, 0xa7, 0xfc, + 0xb3, 0xdf, 0x59, 0x55, 0x52, 0x77, 0xee, 0xce, 0x1e, 0x52, 0xa3, 0x03, 0xe8, 0x41, 0x18, 0x59, + 0xe9, 0xfc, 0x56, 0x2f, 0xc9, 0x55, 0xb8, 0x0c, 0x29, 0x90, 0xa8, 0xb3, 0x4f, 0xab, 0xf9, 0xca, + 0x29, 0x32, 0xf2, 0x0f, 0x77, 0x67, 0xf7, 0x9e, 0x0a, 0xb1, 0x76, 0x7e, 0xb3, 0x6d, 0x36, 0xd4, + 0x44, 0xbd, 0xa1, 0x64, 0x7e, 0xfe, 0xb5, 0xd9, 0x43, 0x6f, 0xbe, 0x36, 0x2b, 0x95, 0x6c, 0x90, + 0x2a, 0x68, 0x16, 0xa4, 0x32, 0x35, 0x23, 0x77, 0x76, 0x74, 0x9e, 0x6a, 0x96, 0x2b, 0x19, 0x42, + 0xf9, 0xd6, 0xdd, 0x59, 0x49, 0x95, 0xca, 0xa8, 0x02, 0xd2, 0x22, 0xfd, 0x02, 0x91, 0xaf, 0x9c, + 0xe3, 0xaf, 0x7a, 0x62, 0xdf, 0x57, 0x9d, 0x61, 0x1b, 0x6e, 0x7e, 0xd3, 0xb4, 0x83, 0x1f, 0x39, + 0x7b, 0x49, 0x95, 0x16, 0x95, 0xd4, 0xfb, 0xe4, 0x7d, 0x0f, 0x83, 0x54, 0x45, 0x33, 0x90, 0x22, + 0xc9, 0x90, 0xbe, 0x32, 0x59, 0x81, 0x7b, 0x77, 0x67, 0x47, 0x96, 0x77, 0x49, 0x8e, 0x53, 0xa9, + 0xbc, 0x74, 0x11, 0xa4, 0x4d, 0x74, 0xb8, 0xdf, 0x28, 0x62, 0xca, 0x61, 0x90, 0x2a, 0xfc, 0xa7, + 0xa8, 0x5c, 0x5c, 0x51, 0xa5, 0x8a, 0x92, 0xba, 0x43, 0xd8, 0x27, 0x41, 0xaa, 0x9d, 0xca, 0x64, + 0x24, 0xf6, 0x59, 0x4d, 0x49, 0xdd, 0x79, 0x7d, 0xf6, 0x50, 0xe9, 0x24, 0x48, 0x2a, 0x9a, 0x01, + 0xe8, 0x54, 0x26, 0x4a, 0x3b, 0xa6, 0x46, 0x24, 0x4a, 0xea, 0x2d, 0xa2, 0x7a, 0x1a, 0x32, 0x55, + 0xdd, 0x17, 0xbf, 0xee, 0x4b, 0xd7, 0xed, 0xe0, 0xa9, 0xb3, 0xdc, 0xca, 0xec, 0xff, 0xdd, 0x9d, + 0x4d, 0x9b, 0x44, 0xa0, 0x32, 0x79, 0xe5, 0x89, 0xbf, 0x7f, 0x67, 0xe6, 0xd0, 0xdb, 0xef, 0xcc, + 0x48, 0xef, 0xbf, 0x33, 0x23, 0xfd, 0xe0, 0x9d, 0x19, 0xe9, 0xf6, 0xbd, 0x19, 0xe9, 0xcd, 0x7b, + 0x33, 0xd2, 0xb7, 0xee, 0xcd, 0x48, 0xdf, 0xbd, 0x37, 0x23, 0xdd, 0xb9, 0x37, 0x23, 0xbd, 0x75, + 0x6f, 0x46, 0x7a, 0xfb, 0xde, 0x8c, 0xf4, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x67, 0x48, 0x0f, + 0x02, 0x36, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2665,36 +2700,3 @@ var ( ErrInvalidLengthExample = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowExample = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("example.proto", fileDescriptor_example_32f420a2a58e4270) } - -var fileDescriptor_example_32f420a2a58e4270 = []byte{ - // 425 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x90, 0x41, 0x6b, 0x13, 0x41, - 0x14, 0xc7, 0xf3, 0x36, 0xdb, 0xba, 0x7d, 0x6d, 0x41, 0x46, 0x0a, 0x41, 0x64, 0x26, 0xac, 0x20, - 0xb1, 0xd6, 0x0d, 0x46, 0x41, 0xd9, 0x5b, 0xa6, 0x4a, 0xc9, 0x41, 0x0f, 0xa3, 0xf9, 0x00, 0x4d, - 0x32, 0xc6, 0x01, 0xb3, 0x13, 0xb2, 0xb3, 0x60, 0x73, 0xda, 0xa3, 0x37, 0xbf, 0x42, 0xbd, 0xf5, - 0x23, 0x78, 0xf4, 0x98, 0x63, 0x8e, 0xe2, 0x61, 0x69, 0xe6, 0x13, 0xf4, 0x28, 0x9e, 0x64, 0xa6, - 0x41, 0x02, 0x62, 0x6f, 0xfb, 0x7e, 0xef, 0xed, 0xff, 0xff, 0x63, 0x70, 0x5f, 0x7e, 0x3a, 0x9d, - 0x4c, 0x3f, 0xca, 0x64, 0x3a, 0xd3, 0x46, 0x93, 0xd0, 0xc8, 0xdc, 0xdc, 0x7d, 0x3c, 0x56, 0xe6, - 0x43, 0x31, 0x48, 0x86, 0x7a, 0xd2, 0x1e, 0xeb, 0xb1, 0x6e, 0xfb, 0xe5, 0xa0, 0x78, 0xef, 0x27, - 0x3f, 0xf8, 0xaf, 0xeb, 0x9f, 0xe2, 0x2f, 0x80, 0xd0, 0x25, 0x0f, 0x70, 0xf7, 0xa5, 0xcc, 0x87, - 0x33, 0x35, 0x35, 0x4a, 0x67, 0x0d, 0x68, 0x42, 0x6b, 0x87, 0x87, 0x8b, 0x8a, 0xd5, 0xc4, 0xe6, - 0x82, 0xdc, 0xc3, 0xed, 0x37, 0xc5, 0x64, 0x20, 0x67, 0x8d, 0xa0, 0x09, 0xad, 0xfa, 0xfa, 0x64, - 0xcd, 0x48, 0x8a, 0x41, 0x6f, 0xd4, 0xa8, 0x37, 0xa1, 0xb5, 0xc7, 0x0f, 0xdd, 0xe6, 0x67, 0xc5, - 0xe2, 0xff, 0xea, 0x38, 0xdb, 0xa4, 0x5f, 0xa8, 0x91, 0x08, 0x7a, 0xa3, 0x34, 0xfa, 0x7c, 0xce, - 0x6a, 0x17, 0xe7, 0x0c, 0xe2, 0x0c, 0x81, 0x13, 0x86, 0xd0, 0xf5, 0x1a, 0xbb, 0x9d, 0x5b, 0x89, - 0xbf, 0xec, 0xf2, 0xc8, 0x45, 0x2e, 0x2b, 0x06, 0x02, 0xba, 0x84, 0x23, 0x9c, 0x34, 0x82, 0x66, - 0xbd, 0xb5, 0xc7, 0x9f, 0xad, 0xab, 0x8e, 0x6e, 0xac, 0x6a, 0x0f, 0x8b, 0xdc, 0xe8, 0x49, 0xd2, - 0x57, 0x99, 0x79, 0xd2, 0x79, 0x21, 0xe0, 0x24, 0x0d, 0xaf, 0x5c, 0xdf, 0x7d, 0x84, 0x63, 0x42, - 0x31, 0xcc, 0xd5, 0x5c, 0xfa, 0xca, 0x3a, 0x47, 0x5b, 0xb1, 0xed, 0xd7, 0x67, 0x6f, 0xd5, 0x5c, - 0x0a, 0xcf, 0xe3, 0xe7, 0x08, 0x7d, 0x72, 0xf0, 0xaf, 0x94, 0x53, 0x39, 0x40, 0xe0, 0xfe, 0x3d, - 0xfe, 0x62, 0x2e, 0x80, 0xa7, 0xe1, 0xc2, 0xa5, 0xdf, 0x41, 0x78, 0x75, 0x18, 0x45, 0x70, 0xbb, - 0x2c, 0xcb, 0x32, 0x48, 0xc3, 0xc5, 0x57, 0x56, 0x8b, 0x1f, 0x22, 0x08, 0x42, 0x11, 0x67, 0x72, - 0xa8, 0xc7, 0x99, 0x9a, 0xcb, 0x91, 0x8f, 0xdd, 0x17, 0x1b, 0x24, 0x0d, 0x97, 0xee, 0xf4, 0x11, - 0x46, 0xc7, 0xa7, 0xb9, 0x79, 0x77, 0x36, 0x95, 0x84, 0xe1, 0x56, 0x2f, 0x33, 0x4f, 0x3b, 0x6b, - 0xcb, 0x9d, 0xdf, 0x15, 0xdb, 0x52, 0x0e, 0x88, 0x6b, 0xce, 0x8f, 0x7e, 0xac, 0x68, 0xed, 0x72, - 0x45, 0xe1, 0x6a, 0x45, 0xe1, 0xd7, 0x8a, 0x42, 0x69, 0x29, 0x5c, 0x58, 0x0a, 0xdf, 0x2c, 0x85, - 0xef, 0x96, 0xc2, 0xc2, 0x52, 0x58, 0x5a, 0x0a, 0x97, 0x96, 0xc2, 0x9f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x71, 0x9d, 0xd3, 0x01, 0x3f, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/filedotname/file.dot.pb.go b/vendor/github.com/gogo/protobuf/test/filedotname/file.dot.pb.go index a19783a80..86733377c 100644 --- a/vendor/github.com/gogo/protobuf/test/filedotname/file.dot.pb.go +++ b/vendor/github.com/gogo/protobuf/test/filedotname/file.dot.pb.go @@ -3,19 +3,19 @@ package filedotname -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -38,7 +38,7 @@ type M struct { func (m *M) Reset() { *m = M{} } func (*M) ProtoMessage() {} func (*M) Descriptor() ([]byte, []int) { - return fileDescriptor_file_dot_75a42d5db4a044f0, []int{0} + return fileDescriptor_76fff35a382d4826, []int{0} } func (m *M) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_M.Unmarshal(m, b) @@ -46,8 +46,8 @@ func (m *M) XXX_Unmarshal(b []byte) error { func (m *M) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_M.Marshal(b, m, deterministic) } -func (dst *M) XXX_Merge(src proto.Message) { - xxx_messageInfo_M.Merge(dst, src) +func (m *M) XXX_Merge(src proto.Message) { + xxx_messageInfo_M.Merge(m, src) } func (m *M) XXX_Size() int { return xxx_messageInfo_M.Size(m) @@ -61,256 +61,277 @@ var xxx_messageInfo_M proto.InternalMessageInfo func init() { proto.RegisterType((*M)(nil), "filedotname.M") } + +func init() { proto.RegisterFile("file.dot.proto", fileDescriptor_76fff35a382d4826) } + +var fileDescriptor_76fff35a382d4826 = []byte{ + // 179 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x24, 0xcb, 0xaf, 0x6e, 0xc2, 0x50, + 0x1c, 0xc5, 0xf1, 0xdf, 0x91, 0xeb, 0x96, 0x25, 0xab, 0x5a, 0x26, 0x4e, 0x96, 0xa9, 0x99, 0xb5, + 0xef, 0x30, 0x0d, 0x86, 0x37, 0x68, 0xe9, 0x1f, 0x9a, 0x50, 0x2e, 0x21, 0xb7, 0xbe, 0x8f, 0x83, + 0x44, 0x22, 0x91, 0x95, 0x95, 0xc8, 0xde, 0x1f, 0xa6, 0xb2, 0xb2, 0x92, 0x70, 0x71, 0xe7, 0x93, + 0x9c, 0x6f, 0xf0, 0x5e, 0x54, 0xdb, 0x3c, 0xca, 0x8c, 0x8d, 0xf6, 0x07, 0x63, 0x4d, 0xf8, 0xfa, + 0x70, 0x66, 0xec, 0x2e, 0xa9, 0xf3, 0xaf, 0xbf, 0xb2, 0xb2, 0x9b, 0x26, 0x8d, 0xd6, 0xa6, 0x8e, + 0x4b, 0x53, 0x9a, 0xd8, 0x7f, 0xd2, 0xa6, 0xf0, 0xf2, 0xf0, 0xeb, 0xd9, 0xfe, 0x7c, 0x04, 0x58, + 0x86, 0x6f, 0x01, 0x92, 0x4f, 0x7c, 0xe3, 0xf7, 0x65, 0x85, 0xe4, 0x7f, 0xd1, 0x39, 0x4a, 0xef, + 0x28, 0x57, 0x47, 0x19, 0x1c, 0x31, 0x3a, 0x62, 0x72, 0xc4, 0xec, 0x88, 0x56, 0x89, 0xa3, 0x12, + 0x27, 0x25, 0xce, 0x4a, 0x5c, 0x94, 0xe8, 0x94, 0xd2, 0x2b, 0x65, 0x50, 0x62, 0x54, 0xca, 0xa4, + 0xc4, 0xac, 0x94, 0xf6, 0x46, 0xb9, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x59, 0x32, 0x8a, 0xad, + 0x00, 0x00, 0x00, +} + func (this *M) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return FileDotDescription() } func FileDotDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3876 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xe3, 0xd6, - 0x75, 0x16, 0xf8, 0x23, 0x91, 0x87, 0x14, 0x05, 0x41, 0xf2, 0x2e, 0x57, 0x8e, 0xb9, 0xbb, 0xb2, - 0x1d, 0xcb, 0x76, 0xa3, 0xcd, 0xac, 0xbd, 0x6b, 0x2f, 0xb7, 0x89, 0x4b, 0x51, 0x5c, 0x85, 0xae, - 0x24, 0x32, 0xa0, 0x14, 0xff, 0x64, 0x3a, 0x18, 0x08, 0xbc, 0xa4, 0xb0, 0x0b, 0x02, 0x08, 0x00, - 0xee, 0x5a, 0x3b, 0x7d, 0xd8, 0x8e, 0xfb, 0x33, 0x99, 0x4e, 0xff, 0x3b, 0xd3, 0xc4, 0x75, 0xdc, - 0x26, 0x9d, 0xc6, 0x69, 0xda, 0xb4, 0x49, 0xd3, 0xa6, 0x49, 0xfa, 0x92, 0x97, 0xb4, 0x7e, 0xea, - 0x24, 0x6f, 0x7d, 0xe8, 0x83, 0x57, 0xf1, 0x4c, 0xdd, 0xd6, 0x6d, 0xdc, 0x76, 0x1f, 0x3c, 0xb3, - 0x2f, 0x99, 0xfb, 0x07, 0x02, 0x20, 0xb5, 0x80, 0x32, 0x63, 0xe7, 0x49, 0xc2, 0xb9, 0xe7, 0xfb, - 0x70, 0xee, 0xb9, 0xe7, 0x9e, 0x73, 0xee, 0x05, 0xe1, 0xc7, 0x97, 0xe0, 0x4c, 0xdf, 0xb2, 0xfa, - 0x06, 0x3a, 0x67, 0x3b, 0x96, 0x67, 0xed, 0x0d, 0x7b, 0xe7, 0xba, 0xc8, 0xd5, 0x1c, 0xdd, 0xf6, - 0x2c, 0x67, 0x95, 0xc8, 0xa4, 0x39, 0xaa, 0xb1, 0xca, 0x35, 0x96, 0xb7, 0x60, 0xfe, 0x8a, 0x6e, - 0xa0, 0x75, 0x5f, 0xb1, 0x83, 0x3c, 0xe9, 0x69, 0xc8, 0xf4, 0x74, 0x03, 0x95, 0x85, 0x33, 0xe9, - 0x95, 0xc2, 0xf9, 0x87, 0x56, 0x23, 0xa0, 0xd5, 0x30, 0xa2, 0x8d, 0xc5, 0x32, 0x41, 0x2c, 0xbf, - 0x95, 0x81, 0x85, 0x09, 0xa3, 0x92, 0x04, 0x19, 0x53, 0x1d, 0x60, 0x46, 0x61, 0x25, 0x2f, 0x93, - 0xff, 0xa5, 0x32, 0xcc, 0xd8, 0xaa, 0x76, 0x4d, 0xed, 0xa3, 0x72, 0x8a, 0x88, 0xf9, 0xa3, 0x54, - 0x01, 0xe8, 0x22, 0x1b, 0x99, 0x5d, 0x64, 0x6a, 0x07, 0xe5, 0xf4, 0x99, 0xf4, 0x4a, 0x5e, 0x0e, - 0x48, 0xa4, 0xc7, 0x61, 0xde, 0x1e, 0xee, 0x19, 0xba, 0xa6, 0x04, 0xd4, 0xe0, 0x4c, 0x7a, 0x25, - 0x2b, 0x8b, 0x74, 0x60, 0x7d, 0xa4, 0xfc, 0x08, 0xcc, 0xdd, 0x40, 0xea, 0xb5, 0xa0, 0x6a, 0x81, - 0xa8, 0x96, 0xb0, 0x38, 0xa0, 0x58, 0x87, 0xe2, 0x00, 0xb9, 0xae, 0xda, 0x47, 0x8a, 0x77, 0x60, - 0xa3, 0x72, 0x86, 0xcc, 0xfe, 0xcc, 0xd8, 0xec, 0xa3, 0x33, 0x2f, 0x30, 0xd4, 0xce, 0x81, 0x8d, - 0xa4, 0x1a, 0xe4, 0x91, 0x39, 0x1c, 0x50, 0x86, 0xec, 0x11, 0xfe, 0x6b, 0x98, 0xc3, 0x41, 0x94, - 0x25, 0x87, 0x61, 0x8c, 0x62, 0xc6, 0x45, 0xce, 0x75, 0x5d, 0x43, 0xe5, 0x69, 0x42, 0xf0, 0xc8, - 0x18, 0x41, 0x87, 0x8e, 0x47, 0x39, 0x38, 0x4e, 0xaa, 0x43, 0x1e, 0xbd, 0xe4, 0x21, 0xd3, 0xd5, - 0x2d, 0xb3, 0x3c, 0x43, 0x48, 0x1e, 0x9e, 0xb0, 0x8a, 0xc8, 0xe8, 0x46, 0x29, 0x46, 0x38, 0xe9, - 0x22, 0xcc, 0x58, 0xb6, 0xa7, 0x5b, 0xa6, 0x5b, 0xce, 0x9d, 0x11, 0x56, 0x0a, 0xe7, 0x3f, 0x34, - 0x31, 0x10, 0x5a, 0x54, 0x47, 0xe6, 0xca, 0x52, 0x13, 0x44, 0xd7, 0x1a, 0x3a, 0x1a, 0x52, 0x34, - 0xab, 0x8b, 0x14, 0xdd, 0xec, 0x59, 0xe5, 0x3c, 0x21, 0x38, 0x3d, 0x3e, 0x11, 0xa2, 0x58, 0xb7, - 0xba, 0xa8, 0x69, 0xf6, 0x2c, 0xb9, 0xe4, 0x86, 0x9e, 0xa5, 0x13, 0x30, 0xed, 0x1e, 0x98, 0x9e, - 0xfa, 0x52, 0xb9, 0x48, 0x22, 0x84, 0x3d, 0x2d, 0x7f, 0x67, 0x1a, 0xe6, 0x92, 0x84, 0xd8, 0x65, - 0xc8, 0xf6, 0xf0, 0x2c, 0xcb, 0xa9, 0xe3, 0xf8, 0x80, 0x62, 0xc2, 0x4e, 0x9c, 0xfe, 0x29, 0x9d, - 0x58, 0x83, 0x82, 0x89, 0x5c, 0x0f, 0x75, 0x69, 0x44, 0xa4, 0x13, 0xc6, 0x14, 0x50, 0xd0, 0x78, - 0x48, 0x65, 0x7e, 0xaa, 0x90, 0x7a, 0x1e, 0xe6, 0x7c, 0x93, 0x14, 0x47, 0x35, 0xfb, 0x3c, 0x36, - 0xcf, 0xc5, 0x59, 0xb2, 0xda, 0xe0, 0x38, 0x19, 0xc3, 0xe4, 0x12, 0x0a, 0x3d, 0x4b, 0xeb, 0x00, - 0x96, 0x89, 0xac, 0x9e, 0xd2, 0x45, 0x9a, 0x51, 0xce, 0x1d, 0xe1, 0xa5, 0x16, 0x56, 0x19, 0xf3, - 0x92, 0x45, 0xa5, 0x9a, 0x21, 0x5d, 0x1a, 0x85, 0xda, 0xcc, 0x11, 0x91, 0xb2, 0x45, 0x37, 0xd9, - 0x58, 0xb4, 0xed, 0x42, 0xc9, 0x41, 0x38, 0xee, 0x51, 0x97, 0xcd, 0x2c, 0x4f, 0x8c, 0x58, 0x8d, - 0x9d, 0x99, 0xcc, 0x60, 0x74, 0x62, 0xb3, 0x4e, 0xf0, 0x51, 0x7a, 0x10, 0x7c, 0x81, 0x42, 0xc2, - 0x0a, 0x48, 0x16, 0x2a, 0x72, 0xe1, 0xb6, 0x3a, 0x40, 0x4b, 0x37, 0xa1, 0x14, 0x76, 0x8f, 0xb4, - 0x08, 0x59, 0xd7, 0x53, 0x1d, 0x8f, 0x44, 0x61, 0x56, 0xa6, 0x0f, 0x92, 0x08, 0x69, 0x64, 0x76, - 0x49, 0x96, 0xcb, 0xca, 0xf8, 0x5f, 0xe9, 0x17, 0x46, 0x13, 0x4e, 0x93, 0x09, 0x7f, 0x78, 0x7c, - 0x45, 0x43, 0xcc, 0xd1, 0x79, 0x2f, 0x3d, 0x05, 0xb3, 0xa1, 0x09, 0x24, 0x7d, 0xf5, 0xf2, 0x2f, - 0xc3, 0x7d, 0x13, 0xa9, 0xa5, 0xe7, 0x61, 0x71, 0x68, 0xea, 0xa6, 0x87, 0x1c, 0xdb, 0x41, 0x38, - 0x62, 0xe9, 0xab, 0xca, 0xff, 0x3e, 0x73, 0x44, 0xcc, 0xed, 0x06, 0xb5, 0x29, 0x8b, 0xbc, 0x30, - 0x1c, 0x17, 0x3e, 0x96, 0xcf, 0xbd, 0x3d, 0x23, 0xde, 0xba, 0x75, 0xeb, 0x56, 0x6a, 0xf9, 0x73, - 0xd3, 0xb0, 0x38, 0x69, 0xcf, 0x4c, 0xdc, 0xbe, 0x27, 0x60, 0xda, 0x1c, 0x0e, 0xf6, 0x90, 0x43, - 0x9c, 0x94, 0x95, 0xd9, 0x93, 0x54, 0x83, 0xac, 0xa1, 0xee, 0x21, 0xa3, 0x9c, 0x39, 0x23, 0xac, - 0x94, 0xce, 0x3f, 0x9e, 0x68, 0x57, 0xae, 0x6e, 0x62, 0x88, 0x4c, 0x91, 0xd2, 0xc7, 0x21, 0xc3, - 0x52, 0x34, 0x66, 0x78, 0x2c, 0x19, 0x03, 0xde, 0x4b, 0x32, 0xc1, 0x49, 0xf7, 0x43, 0x1e, 0xff, - 0xa5, 0xb1, 0x31, 0x4d, 0x6c, 0xce, 0x61, 0x01, 0x8e, 0x0b, 0x69, 0x09, 0x72, 0x64, 0x9b, 0x74, - 0x11, 0x2f, 0x6d, 0xfe, 0x33, 0x0e, 0xac, 0x2e, 0xea, 0xa9, 0x43, 0xc3, 0x53, 0xae, 0xab, 0xc6, - 0x10, 0x91, 0x80, 0xcf, 0xcb, 0x45, 0x26, 0xfc, 0x14, 0x96, 0x49, 0xa7, 0xa1, 0x40, 0x77, 0x95, - 0x6e, 0x76, 0xd1, 0x4b, 0x24, 0x7b, 0x66, 0x65, 0xba, 0xd1, 0x9a, 0x58, 0x82, 0x5f, 0x7f, 0xd5, - 0xb5, 0x4c, 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0xff, 0x54, 0x34, 0x71, 0x3f, 0x30, 0x79, - 0x7a, 0xd1, 0x98, 0x5a, 0xfe, 0x56, 0x0a, 0x32, 0x24, 0x5f, 0xcc, 0x41, 0x61, 0xe7, 0x85, 0x76, - 0x43, 0x59, 0x6f, 0xed, 0xae, 0x6d, 0x36, 0x44, 0x41, 0x2a, 0x01, 0x10, 0xc1, 0x95, 0xcd, 0x56, - 0x6d, 0x47, 0x4c, 0xf9, 0xcf, 0xcd, 0xed, 0x9d, 0x8b, 0x4f, 0x8a, 0x69, 0x1f, 0xb0, 0x4b, 0x05, - 0x99, 0xa0, 0xc2, 0x13, 0xe7, 0xc5, 0xac, 0x24, 0x42, 0x91, 0x12, 0x34, 0x9f, 0x6f, 0xac, 0x5f, - 0x7c, 0x52, 0x9c, 0x0e, 0x4b, 0x9e, 0x38, 0x2f, 0xce, 0x48, 0xb3, 0x90, 0x27, 0x92, 0xb5, 0x56, - 0x6b, 0x53, 0xcc, 0xf9, 0x9c, 0x9d, 0x1d, 0xb9, 0xb9, 0xbd, 0x21, 0xe6, 0x7d, 0xce, 0x0d, 0xb9, - 0xb5, 0xdb, 0x16, 0xc1, 0x67, 0xd8, 0x6a, 0x74, 0x3a, 0xb5, 0x8d, 0x86, 0x58, 0xf0, 0x35, 0xd6, - 0x5e, 0xd8, 0x69, 0x74, 0xc4, 0x62, 0xc8, 0xac, 0x27, 0xce, 0x8b, 0xb3, 0xfe, 0x2b, 0x1a, 0xdb, - 0xbb, 0x5b, 0x62, 0x49, 0x9a, 0x87, 0x59, 0xfa, 0x0a, 0x6e, 0xc4, 0x5c, 0x44, 0x74, 0xf1, 0x49, - 0x51, 0x1c, 0x19, 0x42, 0x59, 0xe6, 0x43, 0x82, 0x8b, 0x4f, 0x8a, 0xd2, 0x72, 0x1d, 0xb2, 0x24, - 0xba, 0x24, 0x09, 0x4a, 0x9b, 0xb5, 0xb5, 0xc6, 0xa6, 0xd2, 0x6a, 0xef, 0x34, 0x5b, 0xdb, 0xb5, - 0x4d, 0x51, 0x18, 0xc9, 0xe4, 0xc6, 0x27, 0x77, 0x9b, 0x72, 0x63, 0x5d, 0x4c, 0x05, 0x65, 0xed, - 0x46, 0x6d, 0xa7, 0xb1, 0x2e, 0xa6, 0x97, 0x35, 0x58, 0x9c, 0x94, 0x27, 0x27, 0xee, 0x8c, 0xc0, - 0x12, 0xa7, 0x8e, 0x58, 0x62, 0xc2, 0x35, 0xb6, 0xc4, 0x3f, 0x4a, 0xc1, 0xc2, 0x84, 0x5a, 0x31, - 0xf1, 0x25, 0xcf, 0x40, 0x96, 0x86, 0x28, 0xad, 0x9e, 0x8f, 0x4e, 0x2c, 0x3a, 0x24, 0x60, 0xc7, - 0x2a, 0x28, 0xc1, 0x05, 0x3b, 0x88, 0xf4, 0x11, 0x1d, 0x04, 0xa6, 0x18, 0xcb, 0xe9, 0xbf, 0x34, - 0x96, 0xd3, 0x69, 0xd9, 0xbb, 0x98, 0xa4, 0xec, 0x11, 0xd9, 0xf1, 0x72, 0x7b, 0x76, 0x42, 0x6e, - 0xbf, 0x0c, 0xf3, 0x63, 0x44, 0x89, 0x73, 0xec, 0xcb, 0x02, 0x94, 0x8f, 0x72, 0x4e, 0x4c, 0xa6, - 0x4b, 0x85, 0x32, 0xdd, 0xe5, 0xa8, 0x07, 0xcf, 0x1e, 0xbd, 0x08, 0x63, 0x6b, 0xfd, 0xba, 0x00, - 0x27, 0x26, 0x77, 0x8a, 0x13, 0x6d, 0xf8, 0x38, 0x4c, 0x0f, 0x90, 0xb7, 0x6f, 0xf1, 0x6e, 0xe9, - 0xc3, 0x13, 0x6a, 0x30, 0x1e, 0x8e, 0x2e, 0x36, 0x43, 0x05, 0x8b, 0x78, 0xfa, 0xa8, 0x76, 0x8f, - 0x5a, 0x33, 0x66, 0xe9, 0x67, 0x53, 0x70, 0xdf, 0x44, 0xf2, 0x89, 0x86, 0x3e, 0x00, 0xa0, 0x9b, - 0xf6, 0xd0, 0xa3, 0x1d, 0x11, 0x4d, 0xb0, 0x79, 0x22, 0x21, 0xc9, 0x0b, 0x27, 0xcf, 0xa1, 0xe7, - 0x8f, 0xa7, 0xc9, 0x38, 0x50, 0x11, 0x51, 0x78, 0x7a, 0x64, 0x68, 0x86, 0x18, 0x5a, 0x39, 0x62, - 0xa6, 0x63, 0x81, 0xf9, 0x51, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, 0x81, - 0x6e, 0xf6, 0x49, 0x05, 0xc9, 0x55, 0xb3, 0x3d, 0xd5, 0x70, 0x91, 0x3c, 0x47, 0x87, 0x3b, 0x7c, - 0x14, 0x23, 0x48, 0x00, 0x39, 0x01, 0xc4, 0x74, 0x08, 0x41, 0x87, 0x7d, 0xc4, 0xf2, 0x37, 0x73, - 0x50, 0x08, 0xf4, 0xd5, 0xd2, 0x59, 0x28, 0x5e, 0x55, 0xaf, 0xab, 0x0a, 0x3f, 0x2b, 0x51, 0x4f, - 0x14, 0xb0, 0xac, 0xcd, 0xce, 0x4b, 0x1f, 0x85, 0x45, 0xa2, 0x62, 0x0d, 0x3d, 0xe4, 0x28, 0x9a, - 0xa1, 0xba, 0x2e, 0x71, 0x5a, 0x8e, 0xa8, 0x4a, 0x78, 0xac, 0x85, 0x87, 0xea, 0x7c, 0x44, 0xba, - 0x00, 0x0b, 0x04, 0x31, 0x18, 0x1a, 0x9e, 0x6e, 0x1b, 0x48, 0xc1, 0xa7, 0x37, 0x97, 0x54, 0x12, - 0xdf, 0xb2, 0x79, 0xac, 0xb1, 0xc5, 0x14, 0xb0, 0x45, 0xae, 0xb4, 0x0e, 0x0f, 0x10, 0x58, 0x1f, - 0x99, 0xc8, 0x51, 0x3d, 0xa4, 0xa0, 0xcf, 0x0c, 0x55, 0xc3, 0x55, 0x54, 0xb3, 0xab, 0xec, 0xab, - 0xee, 0x7e, 0x79, 0x11, 0x13, 0xac, 0xa5, 0xca, 0x82, 0x7c, 0x0a, 0x2b, 0x6e, 0x30, 0xbd, 0x06, - 0x51, 0xab, 0x99, 0xdd, 0x4f, 0xa8, 0xee, 0xbe, 0x54, 0x85, 0x13, 0x84, 0xc5, 0xf5, 0x1c, 0xdd, - 0xec, 0x2b, 0xda, 0x3e, 0xd2, 0xae, 0x29, 0x43, 0xaf, 0xf7, 0x74, 0xf9, 0xfe, 0xe0, 0xfb, 0x89, - 0x85, 0x1d, 0xa2, 0x53, 0xc7, 0x2a, 0xbb, 0x5e, 0xef, 0x69, 0xa9, 0x03, 0x45, 0xbc, 0x18, 0x03, - 0xfd, 0x26, 0x52, 0x7a, 0x96, 0x43, 0x4a, 0x63, 0x69, 0x42, 0x6a, 0x0a, 0x78, 0x70, 0xb5, 0xc5, - 0x00, 0x5b, 0x56, 0x17, 0x55, 0xb3, 0x9d, 0x76, 0xa3, 0xb1, 0x2e, 0x17, 0x38, 0xcb, 0x15, 0xcb, - 0xc1, 0x01, 0xd5, 0xb7, 0x7c, 0x07, 0x17, 0x68, 0x40, 0xf5, 0x2d, 0xee, 0xde, 0x0b, 0xb0, 0xa0, - 0x69, 0x74, 0xce, 0xba, 0xa6, 0xb0, 0x33, 0x96, 0x5b, 0x16, 0x43, 0xce, 0xd2, 0xb4, 0x0d, 0xaa, - 0xc0, 0x62, 0xdc, 0x95, 0x2e, 0xc1, 0x7d, 0x23, 0x67, 0x05, 0x81, 0xf3, 0x63, 0xb3, 0x8c, 0x42, - 0x2f, 0xc0, 0x82, 0x7d, 0x30, 0x0e, 0x94, 0x42, 0x6f, 0xb4, 0x0f, 0xa2, 0xb0, 0xa7, 0x60, 0xd1, - 0xde, 0xb7, 0xc7, 0x71, 0x8f, 0x05, 0x71, 0x92, 0xbd, 0x6f, 0x47, 0x81, 0x0f, 0x93, 0x03, 0xb7, - 0x83, 0x34, 0xd5, 0x43, 0xdd, 0xf2, 0xc9, 0xa0, 0x7a, 0x60, 0x40, 0x3a, 0x07, 0xa2, 0xa6, 0x29, - 0xc8, 0x54, 0xf7, 0x0c, 0xa4, 0xa8, 0x0e, 0x32, 0x55, 0xb7, 0x7c, 0x3a, 0xa8, 0x5c, 0xd2, 0xb4, - 0x06, 0x19, 0xad, 0x91, 0x41, 0xe9, 0x31, 0x98, 0xb7, 0xf6, 0xae, 0x6a, 0x34, 0x24, 0x15, 0xdb, - 0x41, 0x3d, 0xfd, 0xa5, 0xf2, 0x43, 0xc4, 0xbf, 0x73, 0x78, 0x80, 0x04, 0x64, 0x9b, 0x88, 0xa5, - 0x47, 0x41, 0xd4, 0xdc, 0x7d, 0xd5, 0xb1, 0x49, 0x4e, 0x76, 0x6d, 0x55, 0x43, 0xe5, 0x87, 0xa9, - 0x2a, 0x95, 0x6f, 0x73, 0x31, 0xde, 0x12, 0xee, 0x0d, 0xbd, 0xe7, 0x71, 0xc6, 0x47, 0xe8, 0x96, - 0x20, 0x32, 0xc6, 0xb6, 0x02, 0x22, 0x76, 0x45, 0xe8, 0xc5, 0x2b, 0x44, 0xad, 0x64, 0xef, 0xdb, - 0xc1, 0xf7, 0x3e, 0x08, 0xb3, 0x58, 0x73, 0xf4, 0xd2, 0x47, 0x69, 0x43, 0x66, 0xef, 0x07, 0xde, - 0xf8, 0xbe, 0xf5, 0xc6, 0xcb, 0x55, 0x28, 0x06, 0xe3, 0x53, 0xca, 0x03, 0x8d, 0x50, 0x51, 0xc0, - 0xcd, 0x4a, 0xbd, 0xb5, 0x8e, 0xdb, 0x8c, 0x17, 0x1b, 0x62, 0x0a, 0xb7, 0x3b, 0x9b, 0xcd, 0x9d, - 0x86, 0x22, 0xef, 0x6e, 0xef, 0x34, 0xb7, 0x1a, 0x62, 0x3a, 0xd8, 0x57, 0x7f, 0x3f, 0x05, 0xa5, - 0xf0, 0x11, 0x49, 0xfa, 0x79, 0x38, 0xc9, 0xef, 0x33, 0x5c, 0xe4, 0x29, 0x37, 0x74, 0x87, 0x6c, - 0x99, 0x81, 0x4a, 0xcb, 0x97, 0xbf, 0x68, 0x8b, 0x4c, 0xab, 0x83, 0xbc, 0xe7, 0x74, 0x07, 0x6f, - 0x88, 0x81, 0xea, 0x49, 0x9b, 0x70, 0xda, 0xb4, 0x14, 0xd7, 0x53, 0xcd, 0xae, 0xea, 0x74, 0x95, - 0xd1, 0x4d, 0x92, 0xa2, 0x6a, 0x1a, 0x72, 0x5d, 0x8b, 0x96, 0x2a, 0x9f, 0xe5, 0x43, 0xa6, 0xd5, - 0x61, 0xca, 0xa3, 0x1c, 0x5e, 0x63, 0xaa, 0x91, 0x00, 0x4b, 0x1f, 0x15, 0x60, 0xf7, 0x43, 0x7e, - 0xa0, 0xda, 0x0a, 0x32, 0x3d, 0xe7, 0x80, 0x34, 0xc6, 0x39, 0x39, 0x37, 0x50, 0xed, 0x06, 0x7e, - 0xfe, 0x60, 0xce, 0x27, 0xff, 0x96, 0x86, 0x62, 0xb0, 0x39, 0xc6, 0x67, 0x0d, 0x8d, 0xd4, 0x11, - 0x81, 0x64, 0x9a, 0x07, 0xef, 0xd9, 0x4a, 0xaf, 0xd6, 0x71, 0x81, 0xa9, 0x4e, 0xd3, 0x96, 0x55, - 0xa6, 0x48, 0x5c, 0xdc, 0x71, 0x6e, 0x41, 0xb4, 0x45, 0xc8, 0xc9, 0xec, 0x49, 0xda, 0x80, 0xe9, - 0xab, 0x2e, 0xe1, 0x9e, 0x26, 0xdc, 0x0f, 0xdd, 0x9b, 0xfb, 0xd9, 0x0e, 0x21, 0xcf, 0x3f, 0xdb, - 0x51, 0xb6, 0x5b, 0xf2, 0x56, 0x6d, 0x53, 0x66, 0x70, 0xe9, 0x14, 0x64, 0x0c, 0xf5, 0xe6, 0x41, - 0xb8, 0x14, 0x11, 0x51, 0x52, 0xc7, 0x9f, 0x82, 0xcc, 0x0d, 0xa4, 0x5e, 0x0b, 0x17, 0x00, 0x22, - 0x7a, 0x1f, 0x43, 0xff, 0x1c, 0x64, 0x89, 0xbf, 0x24, 0x00, 0xe6, 0x31, 0x71, 0x4a, 0xca, 0x41, - 0xa6, 0xde, 0x92, 0x71, 0xf8, 0x8b, 0x50, 0xa4, 0x52, 0xa5, 0xdd, 0x6c, 0xd4, 0x1b, 0x62, 0x6a, - 0xf9, 0x02, 0x4c, 0x53, 0x27, 0xe0, 0xad, 0xe1, 0xbb, 0x41, 0x9c, 0x62, 0x8f, 0x8c, 0x43, 0xe0, - 0xa3, 0xbb, 0x5b, 0x6b, 0x0d, 0x59, 0x4c, 0x05, 0x97, 0xd7, 0x85, 0x62, 0xb0, 0x2f, 0xfe, 0x60, - 0x62, 0xea, 0xbb, 0x02, 0x14, 0x02, 0x7d, 0x2e, 0x6e, 0x50, 0x54, 0xc3, 0xb0, 0x6e, 0x28, 0xaa, - 0xa1, 0xab, 0x2e, 0x0b, 0x0a, 0x20, 0xa2, 0x1a, 0x96, 0x24, 0x5d, 0xb4, 0x0f, 0xc4, 0xf8, 0xd7, - 0x04, 0x10, 0xa3, 0x2d, 0x66, 0xc4, 0x40, 0xe1, 0x67, 0x6a, 0xe0, 0xab, 0x02, 0x94, 0xc2, 0x7d, - 0x65, 0xc4, 0xbc, 0xb3, 0x3f, 0x53, 0xf3, 0xde, 0x4c, 0xc1, 0x6c, 0xa8, 0x9b, 0x4c, 0x6a, 0xdd, - 0x67, 0x60, 0x5e, 0xef, 0xa2, 0x81, 0x6d, 0x79, 0xc8, 0xd4, 0x0e, 0x14, 0x03, 0x5d, 0x47, 0x46, - 0x79, 0x99, 0x24, 0x8a, 0x73, 0xf7, 0xee, 0x57, 0x57, 0x9b, 0x23, 0xdc, 0x26, 0x86, 0x55, 0x17, - 0x9a, 0xeb, 0x8d, 0xad, 0x76, 0x6b, 0xa7, 0xb1, 0x5d, 0x7f, 0x41, 0xd9, 0xdd, 0xfe, 0xc5, 0xed, - 0xd6, 0x73, 0xdb, 0xb2, 0xa8, 0x47, 0xd4, 0xde, 0xc7, 0xad, 0xde, 0x06, 0x31, 0x6a, 0x94, 0x74, - 0x12, 0x26, 0x99, 0x25, 0x4e, 0x49, 0x0b, 0x30, 0xb7, 0xdd, 0x52, 0x3a, 0xcd, 0xf5, 0x86, 0xd2, - 0xb8, 0x72, 0xa5, 0x51, 0xdf, 0xe9, 0xd0, 0x1b, 0x08, 0x5f, 0x7b, 0x27, 0xbc, 0xa9, 0x5f, 0x49, - 0xc3, 0xc2, 0x04, 0x4b, 0xa4, 0x1a, 0x3b, 0x3b, 0xd0, 0xe3, 0xcc, 0x47, 0x92, 0x58, 0xbf, 0x8a, - 0x4b, 0x7e, 0x5b, 0x75, 0x3c, 0x76, 0xd4, 0x78, 0x14, 0xb0, 0x97, 0x4c, 0x4f, 0xef, 0xe9, 0xc8, - 0x61, 0x17, 0x36, 0xf4, 0x40, 0x31, 0x37, 0x92, 0xd3, 0x3b, 0x9b, 0x9f, 0x03, 0xc9, 0xb6, 0x5c, - 0xdd, 0xd3, 0xaf, 0x23, 0x45, 0x37, 0xf9, 0xed, 0x0e, 0x3e, 0x60, 0x64, 0x64, 0x91, 0x8f, 0x34, - 0x4d, 0xcf, 0xd7, 0x36, 0x51, 0x5f, 0x8d, 0x68, 0xe3, 0x04, 0x9e, 0x96, 0x45, 0x3e, 0xe2, 0x6b, - 0x9f, 0x85, 0x62, 0xd7, 0x1a, 0xe2, 0xae, 0x8b, 0xea, 0xe1, 0x7a, 0x21, 0xc8, 0x05, 0x2a, 0xf3, - 0x55, 0x58, 0x3f, 0x3d, 0xba, 0x56, 0x2a, 0xca, 0x05, 0x2a, 0xa3, 0x2a, 0x8f, 0xc0, 0x9c, 0xda, - 0xef, 0x3b, 0x98, 0x9c, 0x13, 0xd1, 0x13, 0x42, 0xc9, 0x17, 0x13, 0xc5, 0xa5, 0x67, 0x21, 0xc7, - 0xfd, 0x80, 0x4b, 0x32, 0xf6, 0x84, 0x62, 0xd3, 0x63, 0x6f, 0x6a, 0x25, 0x2f, 0xe7, 0x4c, 0x3e, - 0x78, 0x16, 0x8a, 0xba, 0xab, 0x8c, 0x6e, 0xc9, 0x53, 0x67, 0x52, 0x2b, 0x39, 0xb9, 0xa0, 0xbb, - 0xfe, 0x0d, 0xe3, 0xf2, 0xeb, 0x29, 0x28, 0x85, 0x6f, 0xf9, 0xa5, 0x75, 0xc8, 0x19, 0x96, 0xa6, - 0x92, 0xd0, 0xa2, 0x9f, 0x98, 0x56, 0x62, 0x3e, 0x0c, 0xac, 0x6e, 0x32, 0x7d, 0xd9, 0x47, 0x2e, - 0xfd, 0x8b, 0x00, 0x39, 0x2e, 0x96, 0x4e, 0x40, 0xc6, 0x56, 0xbd, 0x7d, 0x42, 0x97, 0x5d, 0x4b, - 0x89, 0x82, 0x4c, 0x9e, 0xb1, 0xdc, 0xb5, 0x55, 0x93, 0x84, 0x00, 0x93, 0xe3, 0x67, 0xbc, 0xae, - 0x06, 0x52, 0xbb, 0xe4, 0xf8, 0x61, 0x0d, 0x06, 0xc8, 0xf4, 0x5c, 0xbe, 0xae, 0x4c, 0x5e, 0x67, - 0x62, 0xe9, 0x71, 0x98, 0xf7, 0x1c, 0x55, 0x37, 0x42, 0xba, 0x19, 0xa2, 0x2b, 0xf2, 0x01, 0x5f, - 0xb9, 0x0a, 0xa7, 0x38, 0x6f, 0x17, 0x79, 0xaa, 0xb6, 0x8f, 0xba, 0x23, 0xd0, 0x34, 0xb9, 0x66, - 0x38, 0xc9, 0x14, 0xd6, 0xd9, 0x38, 0xc7, 0x2e, 0xff, 0x50, 0x80, 0x79, 0x7e, 0x60, 0xea, 0xfa, - 0xce, 0xda, 0x02, 0x50, 0x4d, 0xd3, 0xf2, 0x82, 0xee, 0x1a, 0x0f, 0xe5, 0x31, 0xdc, 0x6a, 0xcd, - 0x07, 0xc9, 0x01, 0x82, 0xa5, 0x01, 0xc0, 0x68, 0xe4, 0x48, 0xb7, 0x9d, 0x86, 0x02, 0xfb, 0x84, - 0x43, 0xbe, 0x03, 0xd2, 0x23, 0x36, 0x50, 0x11, 0x3e, 0x59, 0x49, 0x8b, 0x90, 0xdd, 0x43, 0x7d, - 0xdd, 0x64, 0x17, 0xb3, 0xf4, 0x81, 0x5f, 0x84, 0x64, 0xfc, 0x8b, 0x90, 0xb5, 0x4f, 0xc3, 0x82, - 0x66, 0x0d, 0xa2, 0xe6, 0xae, 0x89, 0x91, 0x63, 0xbe, 0xfb, 0x09, 0xe1, 0x45, 0x18, 0xb5, 0x98, - 0xef, 0x09, 0xc2, 0x97, 0x52, 0xe9, 0x8d, 0xf6, 0xda, 0x57, 0x53, 0x4b, 0x1b, 0x14, 0xda, 0xe6, - 0x33, 0x95, 0x51, 0xcf, 0x40, 0x1a, 0xb6, 0x1e, 0xbe, 0xfc, 0x38, 0x7c, 0xa4, 0xaf, 0x7b, 0xfb, - 0xc3, 0xbd, 0x55, 0xcd, 0x1a, 0x9c, 0xeb, 0x5b, 0x7d, 0x6b, 0xf4, 0xe9, 0x13, 0x3f, 0x91, 0x07, - 0xf2, 0x1f, 0xfb, 0xfc, 0x99, 0xf7, 0xa5, 0x4b, 0xb1, 0xdf, 0x4a, 0xab, 0xdb, 0xb0, 0xc0, 0x94, - 0x15, 0xf2, 0xfd, 0x85, 0x9e, 0x22, 0xa4, 0x7b, 0xde, 0x61, 0x95, 0xbf, 0xf1, 0x16, 0x29, 0xd7, - 0xf2, 0x3c, 0x83, 0xe2, 0x31, 0x7a, 0xd0, 0xa8, 0xca, 0x70, 0x5f, 0x88, 0x8f, 0x6e, 0x4d, 0xe4, - 0xc4, 0x30, 0x7e, 0x9f, 0x31, 0x2e, 0x04, 0x18, 0x3b, 0x0c, 0x5a, 0xad, 0xc3, 0xec, 0x71, 0xb8, - 0xfe, 0x89, 0x71, 0x15, 0x51, 0x90, 0x64, 0x03, 0xe6, 0x08, 0x89, 0x36, 0x74, 0x3d, 0x6b, 0x40, - 0xf2, 0xde, 0xbd, 0x69, 0xfe, 0xf9, 0x2d, 0xba, 0x57, 0x4a, 0x18, 0x56, 0xf7, 0x51, 0xd5, 0x2a, - 0x90, 0x4f, 0x4e, 0x5d, 0xa4, 0x19, 0x31, 0x0c, 0x6f, 0x30, 0x43, 0x7c, 0xfd, 0xea, 0xa7, 0x60, - 0x11, 0xff, 0x4f, 0xd2, 0x52, 0xd0, 0x92, 0xf8, 0x0b, 0xaf, 0xf2, 0x0f, 0x5f, 0xa6, 0xdb, 0x71, - 0xc1, 0x27, 0x08, 0xd8, 0x14, 0x58, 0xc5, 0x3e, 0xf2, 0x3c, 0xe4, 0xb8, 0x8a, 0x6a, 0x4c, 0x32, - 0x2f, 0x70, 0x63, 0x50, 0xfe, 0xfc, 0x3b, 0xe1, 0x55, 0xdc, 0xa0, 0xc8, 0x9a, 0x61, 0x54, 0x77, - 0xe1, 0xe4, 0x84, 0xa8, 0x48, 0xc0, 0xf9, 0x0a, 0xe3, 0x5c, 0x1c, 0x8b, 0x0c, 0x4c, 0xdb, 0x06, - 0x2e, 0xf7, 0xd7, 0x32, 0x01, 0xe7, 0x1f, 0x33, 0x4e, 0x89, 0x61, 0xf9, 0x92, 0x62, 0xc6, 0x67, - 0x61, 0xfe, 0x3a, 0x72, 0xf6, 0x2c, 0x97, 0xdd, 0xd2, 0x24, 0xa0, 0x7b, 0x95, 0xd1, 0xcd, 0x31, - 0x20, 0xb9, 0xb6, 0xc1, 0x5c, 0x97, 0x20, 0xd7, 0x53, 0x35, 0x94, 0x80, 0xe2, 0x0b, 0x8c, 0x62, - 0x06, 0xeb, 0x63, 0x68, 0x0d, 0x8a, 0x7d, 0x8b, 0x55, 0xa6, 0x78, 0xf8, 0x6b, 0x0c, 0x5e, 0xe0, - 0x18, 0x46, 0x61, 0x5b, 0xf6, 0xd0, 0xc0, 0x65, 0x2b, 0x9e, 0xe2, 0x4f, 0x38, 0x05, 0xc7, 0x30, - 0x8a, 0x63, 0xb8, 0xf5, 0x4f, 0x39, 0x85, 0x1b, 0xf0, 0xe7, 0x33, 0x50, 0xb0, 0x4c, 0xe3, 0xc0, - 0x32, 0x93, 0x18, 0xf1, 0x45, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0x2e, 0x43, 0x3e, 0xe9, 0x42, 0xfc, - 0xf9, 0x3b, 0x7c, 0x7b, 0xf0, 0x15, 0xd8, 0x80, 0x39, 0x9e, 0xa0, 0x74, 0xcb, 0x4c, 0x40, 0xf1, - 0x65, 0x46, 0x51, 0x0a, 0xc0, 0xd8, 0x34, 0x3c, 0xe4, 0x7a, 0x7d, 0x94, 0x84, 0xe4, 0x75, 0x3e, - 0x0d, 0x06, 0x61, 0xae, 0xdc, 0x43, 0xa6, 0xb6, 0x9f, 0x8c, 0xe1, 0x2b, 0xdc, 0x95, 0x1c, 0x83, - 0x29, 0xea, 0x30, 0x3b, 0x50, 0x1d, 0x77, 0x5f, 0x35, 0x12, 0x2d, 0xc7, 0x5f, 0x30, 0x8e, 0xa2, - 0x0f, 0x62, 0x1e, 0x19, 0x9a, 0xc7, 0xa1, 0xf9, 0x2a, 0xf7, 0x48, 0x00, 0xc6, 0xb6, 0x9e, 0xeb, - 0x91, 0x2b, 0xad, 0xe3, 0xb0, 0xfd, 0x25, 0xdf, 0x7a, 0x14, 0xbb, 0x15, 0x64, 0xbc, 0x0c, 0x79, - 0x57, 0xbf, 0x99, 0x88, 0xe6, 0xaf, 0xf8, 0x4a, 0x13, 0x00, 0x06, 0xbf, 0x00, 0xa7, 0x26, 0x96, - 0x89, 0x04, 0x64, 0x5f, 0x63, 0x64, 0x27, 0x26, 0x94, 0x0a, 0x96, 0x12, 0x8e, 0x4b, 0xf9, 0xd7, - 0x3c, 0x25, 0xa0, 0x08, 0x57, 0x1b, 0x9f, 0x15, 0x5c, 0xb5, 0x77, 0x3c, 0xaf, 0xfd, 0x0d, 0xf7, - 0x1a, 0xc5, 0x86, 0xbc, 0xb6, 0x03, 0x27, 0x18, 0xe3, 0xf1, 0xd6, 0xf5, 0xeb, 0x3c, 0xb1, 0x52, - 0xf4, 0x6e, 0x78, 0x75, 0x3f, 0x0d, 0x4b, 0xbe, 0x3b, 0x79, 0x53, 0xea, 0x2a, 0x03, 0xd5, 0x4e, - 0xc0, 0xfc, 0x0d, 0xc6, 0xcc, 0x33, 0xbe, 0xdf, 0xd5, 0xba, 0x5b, 0xaa, 0x8d, 0xc9, 0x9f, 0x87, - 0x32, 0x27, 0x1f, 0x9a, 0x0e, 0xd2, 0xac, 0xbe, 0xa9, 0xdf, 0x44, 0xdd, 0x04, 0xd4, 0x7f, 0x1b, - 0x59, 0xaa, 0xdd, 0x00, 0x1c, 0x33, 0x37, 0x41, 0xf4, 0x7b, 0x15, 0x45, 0x1f, 0xd8, 0x96, 0xe3, - 0xc5, 0x30, 0x7e, 0x93, 0xaf, 0x94, 0x8f, 0x6b, 0x12, 0x58, 0xb5, 0x01, 0x25, 0xf2, 0x98, 0x34, - 0x24, 0xff, 0x8e, 0x11, 0xcd, 0x8e, 0x50, 0x2c, 0x71, 0x68, 0xd6, 0xc0, 0x56, 0x9d, 0x24, 0xf9, - 0xef, 0xef, 0x79, 0xe2, 0x60, 0x10, 0x96, 0x38, 0xbc, 0x03, 0x1b, 0xe1, 0x6a, 0x9f, 0x80, 0xe1, - 0x5b, 0x3c, 0x71, 0x70, 0x0c, 0xa3, 0xe0, 0x0d, 0x43, 0x02, 0x8a, 0x7f, 0xe0, 0x14, 0x1c, 0x83, - 0x29, 0x3e, 0x39, 0x2a, 0xb4, 0x0e, 0xea, 0xeb, 0xae, 0xe7, 0xd0, 0x56, 0xf8, 0xde, 0x54, 0xdf, - 0x7e, 0x27, 0xdc, 0x84, 0xc9, 0x01, 0x28, 0xce, 0x44, 0xec, 0x0a, 0x95, 0x9c, 0x94, 0xe2, 0x0d, - 0xfb, 0x0e, 0xcf, 0x44, 0x01, 0x18, 0xb6, 0x2d, 0xd0, 0x21, 0x62, 0xb7, 0x6b, 0xf8, 0x7c, 0x90, - 0x80, 0xee, 0xbb, 0x11, 0xe3, 0x3a, 0x1c, 0x8b, 0x39, 0x03, 0xfd, 0xcf, 0xd0, 0xbc, 0x86, 0x0e, - 0x12, 0x45, 0xe7, 0x3f, 0x46, 0xfa, 0x9f, 0x5d, 0x8a, 0xa4, 0x39, 0x64, 0x2e, 0xd2, 0x4f, 0x49, - 0x71, 0x3f, 0xd6, 0x29, 0xff, 0xca, 0x1d, 0x36, 0xdf, 0x70, 0x3b, 0x55, 0xdd, 0xc4, 0x41, 0x1e, - 0x6e, 0x7a, 0xe2, 0xc9, 0x5e, 0xbe, 0xe3, 0xc7, 0x79, 0xa8, 0xe7, 0xa9, 0x5e, 0x81, 0xd9, 0x50, - 0xc3, 0x13, 0x4f, 0xf5, 0xab, 0x8c, 0xaa, 0x18, 0xec, 0x77, 0xaa, 0x17, 0x20, 0x83, 0x9b, 0x97, - 0x78, 0xf8, 0xaf, 0x31, 0x38, 0x51, 0xaf, 0x7e, 0x0c, 0x72, 0xbc, 0x69, 0x89, 0x87, 0xfe, 0x3a, - 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x0d, 0x4b, 0x3c, 0xfc, 0x37, 0x38, 0x9c, 0x43, 0x30, 0x3c, 0xb9, - 0x0b, 0xbf, 0xf7, 0x9b, 0x19, 0x56, 0x74, 0xb8, 0xef, 0x2e, 0xc3, 0x0c, 0xeb, 0x54, 0xe2, 0xd1, - 0x9f, 0x65, 0x2f, 0xe7, 0x88, 0xea, 0x53, 0x90, 0x4d, 0xe8, 0xf0, 0xdf, 0x62, 0x50, 0xaa, 0x5f, - 0xad, 0x43, 0x21, 0xd0, 0x9d, 0xc4, 0xc3, 0x7f, 0x9b, 0xc1, 0x83, 0x28, 0x6c, 0x3a, 0xeb, 0x4e, - 0xe2, 0x09, 0x7e, 0x87, 0x9b, 0xce, 0x10, 0xd8, 0x6d, 0xbc, 0x31, 0x89, 0x47, 0xff, 0x2e, 0xf7, - 0x3a, 0x87, 0x54, 0x9f, 0x81, 0xbc, 0x5f, 0x6c, 0xe2, 0xf1, 0xbf, 0xc7, 0xf0, 0x23, 0x0c, 0xf6, - 0x40, 0xa0, 0xd8, 0xc5, 0x53, 0xfc, 0x3e, 0xf7, 0x40, 0x00, 0x85, 0xb7, 0x51, 0xb4, 0x81, 0x89, - 0x67, 0xfa, 0x03, 0xbe, 0x8d, 0x22, 0xfd, 0x0b, 0x5e, 0x4d, 0x92, 0xf3, 0xe3, 0x29, 0xfe, 0x90, - 0xaf, 0x26, 0xd1, 0xc7, 0x66, 0x44, 0x3b, 0x82, 0x78, 0x8e, 0x3f, 0xe2, 0x66, 0x44, 0x1a, 0x82, - 0x6a, 0x1b, 0xa4, 0xf1, 0x6e, 0x20, 0x9e, 0xef, 0x73, 0x8c, 0x6f, 0x7e, 0xac, 0x19, 0xa8, 0x3e, - 0x07, 0x27, 0x26, 0x77, 0x02, 0xf1, 0xac, 0x9f, 0xbf, 0x13, 0x39, 0xbb, 0x05, 0x1b, 0x81, 0xea, - 0xce, 0xa8, 0xa4, 0x04, 0xbb, 0x80, 0x78, 0xda, 0x57, 0xee, 0x84, 0x13, 0x77, 0xb0, 0x09, 0xa8, - 0xd6, 0x00, 0x46, 0x05, 0x38, 0x9e, 0xeb, 0x55, 0xc6, 0x15, 0x00, 0xe1, 0xad, 0xc1, 0xea, 0x6f, - 0x3c, 0xfe, 0x0b, 0x7c, 0x6b, 0x30, 0x04, 0xde, 0x1a, 0xbc, 0xf4, 0xc6, 0xa3, 0x5f, 0xe3, 0x5b, - 0x83, 0x43, 0x70, 0x64, 0x07, 0xaa, 0x5b, 0x3c, 0xc3, 0x17, 0x79, 0x64, 0x07, 0x50, 0xd5, 0x6d, - 0x98, 0x1f, 0x2b, 0x88, 0xf1, 0x54, 0x5f, 0x62, 0x54, 0x62, 0xb4, 0x1e, 0x06, 0x8b, 0x17, 0x2b, - 0x86, 0xf1, 0x6c, 0x7f, 0x16, 0x29, 0x5e, 0xac, 0x16, 0x56, 0x2f, 0x43, 0xce, 0x1c, 0x1a, 0x06, - 0xde, 0x3c, 0xd2, 0xbd, 0x7f, 0x60, 0x57, 0xfe, 0x8f, 0xbb, 0xcc, 0x3b, 0x1c, 0x50, 0xbd, 0x00, - 0x59, 0x34, 0xd8, 0x43, 0xdd, 0x38, 0xe4, 0x7f, 0xde, 0xe5, 0x09, 0x13, 0x6b, 0x57, 0x9f, 0x01, - 0xa0, 0x57, 0x23, 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0xbf, 0xee, 0xb2, 0x9f, 0xbe, 0x8c, 0x20, 0x23, - 0x02, 0xfa, 0x43, 0x9a, 0x7b, 0x13, 0xbc, 0x13, 0x26, 0x20, 0x2b, 0x72, 0x09, 0x66, 0xae, 0xba, - 0x96, 0xe9, 0xa9, 0xfd, 0x38, 0xf4, 0x7f, 0x33, 0x34, 0xd7, 0xc7, 0x0e, 0x1b, 0x58, 0x0e, 0xf2, - 0xd4, 0xbe, 0x1b, 0x87, 0xfd, 0x1f, 0x86, 0xf5, 0x01, 0x18, 0xac, 0xa9, 0xae, 0x97, 0x64, 0xde, - 0x3f, 0xe6, 0x60, 0x0e, 0xc0, 0x46, 0xe3, 0xff, 0xaf, 0xa1, 0x83, 0x38, 0xec, 0xbb, 0xdc, 0x68, - 0xa6, 0x5f, 0xfd, 0x18, 0xe4, 0xf1, 0xbf, 0xf4, 0xf7, 0x6c, 0x31, 0xe0, 0xff, 0x65, 0xe0, 0x11, - 0x02, 0xbf, 0xd9, 0xf5, 0xba, 0x9e, 0x1e, 0xef, 0xec, 0xff, 0x63, 0x2b, 0xcd, 0xf5, 0xab, 0x35, - 0x28, 0xb8, 0x5e, 0xb7, 0x3b, 0x64, 0xfd, 0x69, 0x0c, 0xfc, 0xff, 0xef, 0xfa, 0x57, 0x16, 0x3e, - 0x06, 0xaf, 0xf6, 0x8d, 0x6b, 0x9e, 0x6d, 0x91, 0xcf, 0x1c, 0x71, 0x0c, 0x77, 0x18, 0x43, 0x00, - 0xb2, 0xd6, 0x98, 0x7c, 0x7d, 0x0b, 0x1b, 0xd6, 0x86, 0x45, 0x2f, 0x6e, 0x5f, 0x5c, 0x8e, 0xbf, - 0x81, 0x85, 0xaf, 0x09, 0x50, 0xea, 0xe9, 0x06, 0x5a, 0xed, 0x5a, 0x1e, 0xbb, 0x89, 0x2d, 0xe0, - 0xe7, 0xae, 0xe5, 0xe1, 0xa0, 0x5a, 0x3a, 0xde, 0x2d, 0xee, 0xf2, 0x3c, 0x08, 0x5b, 0x52, 0x11, - 0x04, 0x95, 0xfd, 0x16, 0x4a, 0x50, 0xd7, 0x36, 0xdf, 0xb8, 0x5d, 0x99, 0xfa, 0xc1, 0xed, 0xca, - 0xd4, 0xbf, 0xde, 0xae, 0x4c, 0xbd, 0x79, 0xbb, 0x22, 0xbc, 0x7d, 0xbb, 0x22, 0xbc, 0x7b, 0xbb, - 0x22, 0xbc, 0x77, 0xbb, 0x22, 0xdc, 0x3a, 0xac, 0x08, 0x5f, 0x39, 0xac, 0x08, 0x5f, 0x3f, 0xac, - 0x08, 0xdf, 0x3e, 0xac, 0x08, 0xdf, 0x3b, 0xac, 0x08, 0x6f, 0x1c, 0x56, 0xa6, 0x7e, 0x70, 0x58, - 0x99, 0x7a, 0xf3, 0xb0, 0x22, 0xbc, 0x7d, 0x58, 0x99, 0x7a, 0xf7, 0xb0, 0x22, 0xbc, 0x77, 0x58, - 0x99, 0xba, 0xf5, 0xa3, 0xca, 0xd4, 0x4f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xf4, 0xfc, 0x3b, 0xbe, - 0x4b, 0x33, 0x00, 0x00, + // 3910 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xdc, 0xd6, + 0x75, 0x26, 0xf6, 0x87, 0xdc, 0x3d, 0xbb, 0x5c, 0x82, 0x20, 0x2d, 0xad, 0xe8, 0x78, 0x25, 0xd1, + 0x76, 0x4c, 0xdb, 0x31, 0x95, 0x91, 0x25, 0xd9, 0x5e, 0x35, 0x71, 0x97, 0xe4, 0x8a, 0xa1, 0x4b, + 0x72, 0x37, 0x58, 0x32, 0xfe, 0xc9, 0x74, 0x30, 0x20, 0x70, 0x77, 0x09, 0x09, 0x0b, 0x20, 0x00, + 0x56, 0x32, 0x35, 0x7d, 0x50, 0xc7, 0xfd, 0x99, 0x4c, 0xff, 0x7f, 0x66, 0x9a, 0xb8, 0x8e, 0xdb, + 0xa4, 0xd3, 0x38, 0x4d, 0x9b, 0x36, 0xe9, 0x4f, 0x9a, 0xa4, 0x2f, 0x79, 0x49, 0xeb, 0xa7, 0x4e, + 0xf2, 0xd6, 0x87, 0x3e, 0x58, 0x8c, 0x67, 0xea, 0xb6, 0x6e, 0xeb, 0xb6, 0x7a, 0xf0, 0x8c, 0x5f, + 0x32, 0xf7, 0x0f, 0x0b, 0x60, 0x97, 0x02, 0x98, 0x19, 0xdb, 0x4f, 0x24, 0xce, 0x3d, 0xdf, 0x87, + 0x73, 0xcf, 0x3d, 0xf7, 0x9c, 0x73, 0x2f, 0x16, 0x5e, 0xaf, 0xc3, 0x99, 0x9e, 0x6d, 0xf7, 0x4c, + 0x74, 0xce, 0x71, 0x6d, 0xdf, 0xde, 0x1b, 0x74, 0xcf, 0xe9, 0xc8, 0xd3, 0x5c, 0xc3, 0xf1, 0x6d, + 0x77, 0x99, 0xc8, 0xa4, 0x19, 0xaa, 0xb1, 0xcc, 0x35, 0x16, 0xb7, 0x60, 0xf6, 0x8a, 0x61, 0xa2, + 0xb5, 0x40, 0xb1, 0x83, 0x7c, 0xe9, 0x49, 0xc8, 0x75, 0x0d, 0x13, 0x55, 0x85, 0x33, 0xd9, 0xa5, + 0xd2, 0xf9, 0x07, 0x96, 0x63, 0xa0, 0xe5, 0x28, 0xa2, 0x8d, 0xc5, 0x32, 0x41, 0x2c, 0xbe, 0x99, + 0x83, 0xb9, 0x31, 0xa3, 0x92, 0x04, 0x39, 0x4b, 0xed, 0x63, 0x46, 0x61, 0xa9, 0x28, 0x93, 0xff, + 0xa5, 0x2a, 0x4c, 0x39, 0xaa, 0x76, 0x4d, 0xed, 0xa1, 0x6a, 0x86, 0x88, 0xf9, 0xa3, 0x54, 0x03, + 0xd0, 0x91, 0x83, 0x2c, 0x1d, 0x59, 0xda, 0x41, 0x35, 0x7b, 0x26, 0xbb, 0x54, 0x94, 0x43, 0x12, + 0xe9, 0x51, 0x98, 0x75, 0x06, 0x7b, 0xa6, 0xa1, 0x29, 0x21, 0x35, 0x38, 0x93, 0x5d, 0xca, 0xcb, + 0x22, 0x1d, 0x58, 0x1b, 0x2a, 0x3f, 0x04, 0x33, 0x37, 0x90, 0x7a, 0x2d, 0xac, 0x5a, 0x22, 0xaa, + 0x15, 0x2c, 0x0e, 0x29, 0xae, 0x42, 0xb9, 0x8f, 0x3c, 0x4f, 0xed, 0x21, 0xc5, 0x3f, 0x70, 0x50, + 0x35, 0x47, 0x66, 0x7f, 0x66, 0x64, 0xf6, 0xf1, 0x99, 0x97, 0x18, 0x6a, 0xe7, 0xc0, 0x41, 0x52, + 0x03, 0x8a, 0xc8, 0x1a, 0xf4, 0x29, 0x43, 0xfe, 0x08, 0xff, 0x35, 0xad, 0x41, 0x3f, 0xce, 0x52, + 0xc0, 0x30, 0x46, 0x31, 0xe5, 0x21, 0xf7, 0xba, 0xa1, 0xa1, 0xea, 0x24, 0x21, 0x78, 0x68, 0x84, + 0xa0, 0x43, 0xc7, 0xe3, 0x1c, 0x1c, 0x27, 0xad, 0x42, 0x11, 0xbd, 0xe8, 0x23, 0xcb, 0x33, 0x6c, + 0xab, 0x3a, 0x45, 0x48, 0x1e, 0x1c, 0xb3, 0x8a, 0xc8, 0xd4, 0xe3, 0x14, 0x43, 0x9c, 0x74, 0x09, + 0xa6, 0x6c, 0xc7, 0x37, 0x6c, 0xcb, 0xab, 0x16, 0xce, 0x08, 0x4b, 0xa5, 0xf3, 0x1f, 0x19, 0x1b, + 0x08, 0x2d, 0xaa, 0x23, 0x73, 0x65, 0x69, 0x03, 0x44, 0xcf, 0x1e, 0xb8, 0x1a, 0x52, 0x34, 0x5b, + 0x47, 0x8a, 0x61, 0x75, 0xed, 0x6a, 0x91, 0x10, 0x9c, 0x1e, 0x9d, 0x08, 0x51, 0x5c, 0xb5, 0x75, + 0xb4, 0x61, 0x75, 0x6d, 0xb9, 0xe2, 0x45, 0x9e, 0xa5, 0x13, 0x30, 0xe9, 0x1d, 0x58, 0xbe, 0xfa, + 0x62, 0xb5, 0x4c, 0x22, 0x84, 0x3d, 0x2d, 0x7e, 0x77, 0x12, 0x66, 0xd2, 0x84, 0xd8, 0x65, 0xc8, + 0x77, 0xf1, 0x2c, 0xab, 0x99, 0xe3, 0xf8, 0x80, 0x62, 0xa2, 0x4e, 0x9c, 0xfc, 0x29, 0x9d, 0xd8, + 0x80, 0x92, 0x85, 0x3c, 0x1f, 0xe9, 0x34, 0x22, 0xb2, 0x29, 0x63, 0x0a, 0x28, 0x68, 0x34, 0xa4, + 0x72, 0x3f, 0x55, 0x48, 0x3d, 0x07, 0x33, 0x81, 0x49, 0x8a, 0xab, 0x5a, 0x3d, 0x1e, 0x9b, 0xe7, + 0x92, 0x2c, 0x59, 0x6e, 0x72, 0x9c, 0x8c, 0x61, 0x72, 0x05, 0x45, 0x9e, 0xa5, 0x35, 0x00, 0xdb, + 0x42, 0x76, 0x57, 0xd1, 0x91, 0x66, 0x56, 0x0b, 0x47, 0x78, 0xa9, 0x85, 0x55, 0x46, 0xbc, 0x64, + 0x53, 0xa9, 0x66, 0x4a, 0x4f, 0x0d, 0x43, 0x6d, 0xea, 0x88, 0x48, 0xd9, 0xa2, 0x9b, 0x6c, 0x24, + 0xda, 0x76, 0xa1, 0xe2, 0x22, 0x1c, 0xf7, 0x48, 0x67, 0x33, 0x2b, 0x12, 0x23, 0x96, 0x13, 0x67, + 0x26, 0x33, 0x18, 0x9d, 0xd8, 0xb4, 0x1b, 0x7e, 0x94, 0xee, 0x87, 0x40, 0xa0, 0x90, 0xb0, 0x02, + 0x92, 0x85, 0xca, 0x5c, 0xb8, 0xad, 0xf6, 0xd1, 0xc2, 0x4d, 0xa8, 0x44, 0xdd, 0x23, 0xcd, 0x43, + 0xde, 0xf3, 0x55, 0xd7, 0x27, 0x51, 0x98, 0x97, 0xe9, 0x83, 0x24, 0x42, 0x16, 0x59, 0x3a, 0xc9, + 0x72, 0x79, 0x19, 0xff, 0x2b, 0xfd, 0xec, 0x70, 0xc2, 0x59, 0x32, 0xe1, 0x8f, 0x8e, 0xae, 0x68, + 0x84, 0x39, 0x3e, 0xef, 0x85, 0x27, 0x60, 0x3a, 0x32, 0x81, 0xb4, 0xaf, 0x5e, 0xfc, 0x05, 0xb8, + 0x67, 0x2c, 0xb5, 0xf4, 0x1c, 0xcc, 0x0f, 0x2c, 0xc3, 0xf2, 0x91, 0xeb, 0xb8, 0x08, 0x47, 0x2c, + 0x7d, 0x55, 0xf5, 0xdf, 0xa6, 0x8e, 0x88, 0xb9, 0xdd, 0xb0, 0x36, 0x65, 0x91, 0xe7, 0x06, 0xa3, + 0xc2, 0x47, 0x8a, 0x85, 0xb7, 0xa6, 0xc4, 0x5b, 0xb7, 0x6e, 0xdd, 0xca, 0x2c, 0x7e, 0x61, 0x12, + 0xe6, 0xc7, 0xed, 0x99, 0xb1, 0xdb, 0xf7, 0x04, 0x4c, 0x5a, 0x83, 0xfe, 0x1e, 0x72, 0x89, 0x93, + 0xf2, 0x32, 0x7b, 0x92, 0x1a, 0x90, 0x37, 0xd5, 0x3d, 0x64, 0x56, 0x73, 0x67, 0x84, 0xa5, 0xca, + 0xf9, 0x47, 0x53, 0xed, 0xca, 0xe5, 0x4d, 0x0c, 0x91, 0x29, 0x52, 0xfa, 0x24, 0xe4, 0x58, 0x8a, + 0xc6, 0x0c, 0x8f, 0xa4, 0x63, 0xc0, 0x7b, 0x49, 0x26, 0x38, 0xe9, 0x5e, 0x28, 0xe2, 0xbf, 0x34, + 0x36, 0x26, 0x89, 0xcd, 0x05, 0x2c, 0xc0, 0x71, 0x21, 0x2d, 0x40, 0x81, 0x6c, 0x13, 0x1d, 0xf1, + 0xd2, 0x16, 0x3c, 0xe3, 0xc0, 0xd2, 0x51, 0x57, 0x1d, 0x98, 0xbe, 0x72, 0x5d, 0x35, 0x07, 0x88, + 0x04, 0x7c, 0x51, 0x2e, 0x33, 0xe1, 0x67, 0xb0, 0x4c, 0x3a, 0x0d, 0x25, 0xba, 0xab, 0x0c, 0x4b, + 0x47, 0x2f, 0x92, 0xec, 0x99, 0x97, 0xe9, 0x46, 0xdb, 0xc0, 0x12, 0xfc, 0xfa, 0xab, 0x9e, 0x6d, + 0xf1, 0xd0, 0x24, 0xaf, 0xc0, 0x02, 0xf2, 0xfa, 0x27, 0xe2, 0x89, 0xfb, 0xbe, 0xf1, 0xd3, 0x8b, + 0xc7, 0xd4, 0xe2, 0xb7, 0x33, 0x90, 0x23, 0xf9, 0x62, 0x06, 0x4a, 0x3b, 0xcf, 0xb7, 0x9b, 0xca, + 0x5a, 0x6b, 0x77, 0x65, 0xb3, 0x29, 0x0a, 0x52, 0x05, 0x80, 0x08, 0xae, 0x6c, 0xb6, 0x1a, 0x3b, + 0x62, 0x26, 0x78, 0xde, 0xd8, 0xde, 0xb9, 0x74, 0x41, 0xcc, 0x06, 0x80, 0x5d, 0x2a, 0xc8, 0x85, + 0x15, 0x1e, 0x3f, 0x2f, 0xe6, 0x25, 0x11, 0xca, 0x94, 0x60, 0xe3, 0xb9, 0xe6, 0xda, 0xa5, 0x0b, + 0xe2, 0x64, 0x54, 0xf2, 0xf8, 0x79, 0x71, 0x4a, 0x9a, 0x86, 0x22, 0x91, 0xac, 0xb4, 0x5a, 0x9b, + 0x62, 0x21, 0xe0, 0xec, 0xec, 0xc8, 0x1b, 0xdb, 0xeb, 0x62, 0x31, 0xe0, 0x5c, 0x97, 0x5b, 0xbb, + 0x6d, 0x11, 0x02, 0x86, 0xad, 0x66, 0xa7, 0xd3, 0x58, 0x6f, 0x8a, 0xa5, 0x40, 0x63, 0xe5, 0xf9, + 0x9d, 0x66, 0x47, 0x2c, 0x47, 0xcc, 0x7a, 0xfc, 0xbc, 0x38, 0x1d, 0xbc, 0xa2, 0xb9, 0xbd, 0xbb, + 0x25, 0x56, 0xa4, 0x59, 0x98, 0xa6, 0xaf, 0xe0, 0x46, 0xcc, 0xc4, 0x44, 0x97, 0x2e, 0x88, 0xe2, + 0xd0, 0x10, 0xca, 0x32, 0x1b, 0x11, 0x5c, 0xba, 0x20, 0x4a, 0x8b, 0xab, 0x90, 0x27, 0xd1, 0x25, + 0x49, 0x50, 0xd9, 0x6c, 0xac, 0x34, 0x37, 0x95, 0x56, 0x7b, 0x67, 0xa3, 0xb5, 0xdd, 0xd8, 0x14, + 0x85, 0xa1, 0x4c, 0x6e, 0x7e, 0x7a, 0x77, 0x43, 0x6e, 0xae, 0x89, 0x99, 0xb0, 0xac, 0xdd, 0x6c, + 0xec, 0x34, 0xd7, 0xc4, 0xec, 0xa2, 0x06, 0xf3, 0xe3, 0xf2, 0xe4, 0xd8, 0x9d, 0x11, 0x5a, 0xe2, + 0xcc, 0x11, 0x4b, 0x4c, 0xb8, 0x46, 0x96, 0xf8, 0xc7, 0x19, 0x98, 0x1b, 0x53, 0x2b, 0xc6, 0xbe, + 0xe4, 0x69, 0xc8, 0xd3, 0x10, 0xa5, 0xd5, 0xf3, 0xe1, 0xb1, 0x45, 0x87, 0x04, 0xec, 0x48, 0x05, + 0x25, 0xb8, 0x70, 0x07, 0x91, 0x3d, 0xa2, 0x83, 0xc0, 0x14, 0x23, 0x39, 0xfd, 0xe7, 0x47, 0x72, + 0x3a, 0x2d, 0x7b, 0x97, 0xd2, 0x94, 0x3d, 0x22, 0x3b, 0x5e, 0x6e, 0xcf, 0x8f, 0xc9, 0xed, 0x97, + 0x61, 0x76, 0x84, 0x28, 0x75, 0x8e, 0x7d, 0x49, 0x80, 0xea, 0x51, 0xce, 0x49, 0xc8, 0x74, 0x99, + 0x48, 0xa6, 0xbb, 0x1c, 0xf7, 0xe0, 0xd9, 0xa3, 0x17, 0x61, 0x64, 0xad, 0x5f, 0x13, 0xe0, 0xc4, + 0xf8, 0x4e, 0x71, 0xac, 0x0d, 0x9f, 0x84, 0xc9, 0x3e, 0xf2, 0xf7, 0x6d, 0xde, 0x2d, 0x7d, 0x74, + 0x4c, 0x0d, 0xc6, 0xc3, 0xf1, 0xc5, 0x66, 0xa8, 0x70, 0x11, 0xcf, 0x1e, 0xd5, 0xee, 0x51, 0x6b, + 0x46, 0x2c, 0xfd, 0x7c, 0x06, 0xee, 0x19, 0x4b, 0x3e, 0xd6, 0xd0, 0xfb, 0x00, 0x0c, 0xcb, 0x19, + 0xf8, 0xb4, 0x23, 0xa2, 0x09, 0xb6, 0x48, 0x24, 0x24, 0x79, 0xe1, 0xe4, 0x39, 0xf0, 0x83, 0xf1, + 0x2c, 0x19, 0x07, 0x2a, 0x22, 0x0a, 0x4f, 0x0e, 0x0d, 0xcd, 0x11, 0x43, 0x6b, 0x47, 0xcc, 0x74, + 0x24, 0x30, 0x3f, 0x0e, 0xa2, 0x66, 0x1a, 0xc8, 0xf2, 0x15, 0xcf, 0x77, 0x91, 0xda, 0x37, 0xac, + 0x1e, 0xa9, 0x20, 0x85, 0x7a, 0xbe, 0xab, 0x9a, 0x1e, 0x92, 0x67, 0xe8, 0x70, 0x87, 0x8f, 0x62, + 0x04, 0x09, 0x20, 0x37, 0x84, 0x98, 0x8c, 0x20, 0xe8, 0x70, 0x80, 0x58, 0xfc, 0xf5, 0x22, 0x94, + 0x42, 0x7d, 0xb5, 0x74, 0x16, 0xca, 0x57, 0xd5, 0xeb, 0xaa, 0xc2, 0xcf, 0x4a, 0xd4, 0x13, 0x25, + 0x2c, 0x6b, 0xb3, 0xf3, 0xd2, 0xc7, 0x61, 0x9e, 0xa8, 0xd8, 0x03, 0x1f, 0xb9, 0x8a, 0x66, 0xaa, + 0x9e, 0x47, 0x9c, 0x56, 0x20, 0xaa, 0x12, 0x1e, 0x6b, 0xe1, 0xa1, 0x55, 0x3e, 0x22, 0x5d, 0x84, + 0x39, 0x82, 0xe8, 0x0f, 0x4c, 0xdf, 0x70, 0x4c, 0xa4, 0xe0, 0xd3, 0x9b, 0x47, 0x2a, 0x49, 0x60, + 0xd9, 0x2c, 0xd6, 0xd8, 0x62, 0x0a, 0xd8, 0x22, 0x4f, 0x5a, 0x83, 0xfb, 0x08, 0xac, 0x87, 0x2c, + 0xe4, 0xaa, 0x3e, 0x52, 0xd0, 0xe7, 0x06, 0xaa, 0xe9, 0x29, 0xaa, 0xa5, 0x2b, 0xfb, 0xaa, 0xb7, + 0x5f, 0x9d, 0xc7, 0x04, 0x2b, 0x99, 0xaa, 0x20, 0x9f, 0xc2, 0x8a, 0xeb, 0x4c, 0xaf, 0x49, 0xd4, + 0x1a, 0x96, 0xfe, 0x29, 0xd5, 0xdb, 0x97, 0xea, 0x70, 0x82, 0xb0, 0x78, 0xbe, 0x6b, 0x58, 0x3d, + 0x45, 0xdb, 0x47, 0xda, 0x35, 0x65, 0xe0, 0x77, 0x9f, 0xac, 0xde, 0x1b, 0x7e, 0x3f, 0xb1, 0xb0, + 0x43, 0x74, 0x56, 0xb1, 0xca, 0xae, 0xdf, 0x7d, 0x52, 0xea, 0x40, 0x19, 0x2f, 0x46, 0xdf, 0xb8, + 0x89, 0x94, 0xae, 0xed, 0x92, 0xd2, 0x58, 0x19, 0x93, 0x9a, 0x42, 0x1e, 0x5c, 0x6e, 0x31, 0xc0, + 0x96, 0xad, 0xa3, 0x7a, 0xbe, 0xd3, 0x6e, 0x36, 0xd7, 0xe4, 0x12, 0x67, 0xb9, 0x62, 0xbb, 0x38, + 0xa0, 0x7a, 0x76, 0xe0, 0xe0, 0x12, 0x0d, 0xa8, 0x9e, 0xcd, 0xdd, 0x7b, 0x11, 0xe6, 0x34, 0x8d, + 0xce, 0xd9, 0xd0, 0x14, 0x76, 0xc6, 0xf2, 0xaa, 0x62, 0xc4, 0x59, 0x9a, 0xb6, 0x4e, 0x15, 0x58, + 0x8c, 0x7b, 0xd2, 0x53, 0x70, 0xcf, 0xd0, 0x59, 0x61, 0xe0, 0xec, 0xc8, 0x2c, 0xe3, 0xd0, 0x8b, + 0x30, 0xe7, 0x1c, 0x8c, 0x02, 0xa5, 0xc8, 0x1b, 0x9d, 0x83, 0x38, 0xec, 0x09, 0x98, 0x77, 0xf6, + 0x9d, 0x51, 0xdc, 0x23, 0x61, 0x9c, 0xe4, 0xec, 0x3b, 0x71, 0xe0, 0x83, 0xe4, 0xc0, 0xed, 0x22, + 0x4d, 0xf5, 0x91, 0x5e, 0x3d, 0x19, 0x56, 0x0f, 0x0d, 0x48, 0xe7, 0x40, 0xd4, 0x34, 0x05, 0x59, + 0xea, 0x9e, 0x89, 0x14, 0xd5, 0x45, 0x96, 0xea, 0x55, 0x4f, 0x87, 0x95, 0x2b, 0x9a, 0xd6, 0x24, + 0xa3, 0x0d, 0x32, 0x28, 0x3d, 0x02, 0xb3, 0xf6, 0xde, 0x55, 0x8d, 0x86, 0xa4, 0xe2, 0xb8, 0xa8, + 0x6b, 0xbc, 0x58, 0x7d, 0x80, 0xf8, 0x77, 0x06, 0x0f, 0x90, 0x80, 0x6c, 0x13, 0xb1, 0xf4, 0x30, + 0x88, 0x9a, 0xb7, 0xaf, 0xba, 0x0e, 0xc9, 0xc9, 0x9e, 0xa3, 0x6a, 0xa8, 0xfa, 0x20, 0x55, 0xa5, + 0xf2, 0x6d, 0x2e, 0xc6, 0x5b, 0xc2, 0xbb, 0x61, 0x74, 0x7d, 0xce, 0xf8, 0x10, 0xdd, 0x12, 0x44, + 0xc6, 0xd8, 0x96, 0x40, 0xc4, 0xae, 0x88, 0xbc, 0x78, 0x89, 0xa8, 0x55, 0x9c, 0x7d, 0x27, 0xfc, + 0xde, 0xfb, 0x61, 0x1a, 0x6b, 0x0e, 0x5f, 0xfa, 0x30, 0x6d, 0xc8, 0x9c, 0xfd, 0xd0, 0x1b, 0x2f, + 0xc0, 0x09, 0xac, 0xd4, 0x47, 0xbe, 0xaa, 0xab, 0xbe, 0x1a, 0xd2, 0xfe, 0x18, 0xd1, 0xc6, 0x7e, + 0xdf, 0x62, 0x83, 0x11, 0x3b, 0xdd, 0xc1, 0xde, 0x41, 0x10, 0x59, 0x8f, 0x51, 0x3b, 0xb1, 0x8c, + 0xc7, 0xd6, 0xfb, 0xd6, 0x74, 0x2f, 0xd6, 0xa1, 0x1c, 0x0e, 0x7c, 0xa9, 0x08, 0x34, 0xf4, 0x45, + 0x01, 0x77, 0x41, 0xab, 0xad, 0x35, 0xdc, 0xbf, 0xbc, 0xd0, 0x14, 0x33, 0xb8, 0x8f, 0xda, 0xdc, + 0xd8, 0x69, 0x2a, 0xf2, 0xee, 0xf6, 0xce, 0xc6, 0x56, 0x53, 0xcc, 0x86, 0x1b, 0xf6, 0x1f, 0x64, + 0xa0, 0x12, 0x3d, 0x7b, 0x49, 0x3f, 0x03, 0x27, 0xf9, 0x45, 0x89, 0x87, 0x7c, 0xe5, 0x86, 0xe1, + 0x92, 0xbd, 0xd8, 0x57, 0x69, 0x5d, 0x0c, 0xa2, 0x61, 0x9e, 0x69, 0x75, 0x90, 0xff, 0xac, 0xe1, + 0xe2, 0x9d, 0xd6, 0x57, 0x7d, 0x69, 0x13, 0x4e, 0x5b, 0xb6, 0xe2, 0xf9, 0xaa, 0xa5, 0xab, 0xae, + 0xae, 0x0c, 0xaf, 0xa8, 0x14, 0x55, 0xd3, 0x90, 0xe7, 0xd9, 0xb4, 0x06, 0x06, 0x2c, 0x1f, 0xb1, + 0xec, 0x0e, 0x53, 0x1e, 0x16, 0x87, 0x06, 0x53, 0x8d, 0x45, 0x6e, 0xf6, 0xa8, 0xc8, 0xbd, 0x17, + 0x8a, 0x7d, 0xd5, 0x51, 0x90, 0xe5, 0xbb, 0x07, 0xa4, 0xe3, 0x2e, 0xc8, 0x85, 0xbe, 0xea, 0x34, + 0xf1, 0xf3, 0x07, 0x73, 0xf0, 0xf9, 0xd7, 0x2c, 0x94, 0xc3, 0x5d, 0x37, 0x3e, 0xc4, 0x68, 0xa4, + 0x40, 0x09, 0x24, 0x85, 0xdd, 0x7f, 0xd7, 0x1e, 0x7d, 0x79, 0x15, 0x57, 0xae, 0xfa, 0x24, 0xed, + 0x85, 0x65, 0x8a, 0xc4, 0x5d, 0x03, 0x0e, 0x2d, 0x44, 0x7b, 0x8f, 0x82, 0xcc, 0x9e, 0xa4, 0x75, + 0x98, 0xbc, 0xea, 0x11, 0xee, 0x49, 0xc2, 0xfd, 0xc0, 0xdd, 0xb9, 0x9f, 0xe9, 0x10, 0xf2, 0xe2, + 0x33, 0x1d, 0x65, 0xbb, 0x25, 0x6f, 0x35, 0x36, 0x65, 0x06, 0x97, 0x4e, 0x41, 0xce, 0x54, 0x6f, + 0x1e, 0x44, 0x6b, 0x1c, 0x11, 0xa5, 0x75, 0xfc, 0x29, 0xc8, 0xdd, 0x40, 0xea, 0xb5, 0x68, 0x65, + 0x21, 0xa2, 0xf7, 0x31, 0xf4, 0xcf, 0x41, 0x9e, 0xf8, 0x4b, 0x02, 0x60, 0x1e, 0x13, 0x27, 0xa4, + 0x02, 0xe4, 0x56, 0x5b, 0x32, 0x0e, 0x7f, 0x11, 0xca, 0x54, 0xaa, 0xb4, 0x37, 0x9a, 0xab, 0x4d, + 0x31, 0xb3, 0x78, 0x11, 0x26, 0xa9, 0x13, 0xf0, 0xd6, 0x08, 0xdc, 0x20, 0x4e, 0xb0, 0x47, 0xc6, + 0x21, 0xf0, 0xd1, 0xdd, 0xad, 0x95, 0xa6, 0x2c, 0x66, 0xc2, 0xcb, 0xeb, 0x41, 0x39, 0xdc, 0x70, + 0x7f, 0x30, 0x31, 0xf5, 0x3d, 0x01, 0x4a, 0xa1, 0x06, 0x1a, 0x77, 0x3e, 0xaa, 0x69, 0xda, 0x37, + 0x14, 0xd5, 0x34, 0x54, 0x8f, 0x05, 0x05, 0x10, 0x51, 0x03, 0x4b, 0xd2, 0x2e, 0xda, 0x07, 0x62, + 0xfc, 0xab, 0x02, 0x88, 0xf1, 0xde, 0x35, 0x66, 0xa0, 0xf0, 0xa1, 0x1a, 0xf8, 0x8a, 0x00, 0x95, + 0x68, 0xc3, 0x1a, 0x33, 0xef, 0xec, 0x87, 0x6a, 0xde, 0x1b, 0x19, 0x98, 0x8e, 0xb4, 0xa9, 0x69, + 0xad, 0xfb, 0x1c, 0xcc, 0x1a, 0x3a, 0xea, 0x3b, 0xb6, 0x8f, 0x2c, 0xed, 0x40, 0x31, 0xd1, 0x75, + 0x64, 0x56, 0x17, 0x49, 0xa2, 0x38, 0x77, 0xf7, 0x46, 0x78, 0x79, 0x63, 0x88, 0xdb, 0xc4, 0xb0, + 0xfa, 0xdc, 0xc6, 0x5a, 0x73, 0xab, 0xdd, 0xda, 0x69, 0x6e, 0xaf, 0x3e, 0xaf, 0xec, 0x6e, 0xff, + 0xdc, 0x76, 0xeb, 0xd9, 0x6d, 0x59, 0x34, 0x62, 0x6a, 0xef, 0xe3, 0x56, 0x6f, 0x83, 0x18, 0x37, + 0x4a, 0x3a, 0x09, 0xe3, 0xcc, 0x12, 0x27, 0xa4, 0x39, 0x98, 0xd9, 0x6e, 0x29, 0x9d, 0x8d, 0xb5, + 0xa6, 0xd2, 0xbc, 0x72, 0xa5, 0xb9, 0xba, 0xd3, 0xa1, 0x57, 0x1b, 0x81, 0xf6, 0x4e, 0x74, 0x53, + 0xbf, 0x9c, 0x85, 0xb9, 0x31, 0x96, 0x48, 0x0d, 0x76, 0x28, 0xa1, 0xe7, 0xa4, 0xc7, 0xd2, 0x58, + 0xbf, 0x8c, 0xbb, 0x82, 0xb6, 0xea, 0xfa, 0xec, 0x0c, 0xf3, 0x30, 0x60, 0x2f, 0x59, 0xbe, 0xd1, + 0x35, 0x90, 0xcb, 0x6e, 0x82, 0xe8, 0x49, 0x65, 0x66, 0x28, 0xa7, 0x97, 0x41, 0x1f, 0x03, 0xc9, + 0xb1, 0x3d, 0xc3, 0x37, 0xae, 0x23, 0xc5, 0xb0, 0xf8, 0xb5, 0x11, 0x3e, 0xb9, 0xe4, 0x64, 0x91, + 0x8f, 0x6c, 0x58, 0x7e, 0xa0, 0x6d, 0xa1, 0x9e, 0x1a, 0xd3, 0xc6, 0x09, 0x3c, 0x2b, 0x8b, 0x7c, + 0x24, 0xd0, 0x3e, 0x0b, 0x65, 0xdd, 0x1e, 0xe0, 0x76, 0x8e, 0xea, 0xe1, 0x7a, 0x21, 0xc8, 0x25, + 0x2a, 0x0b, 0x54, 0x58, 0xa3, 0x3e, 0xbc, 0xaf, 0x2a, 0xcb, 0x25, 0x2a, 0xa3, 0x2a, 0x0f, 0xc1, + 0x8c, 0xda, 0xeb, 0xb9, 0x98, 0x9c, 0x13, 0xd1, 0xa3, 0x47, 0x25, 0x10, 0x13, 0xc5, 0x85, 0x67, + 0xa0, 0xc0, 0xfd, 0x80, 0x4b, 0x32, 0xf6, 0x84, 0xe2, 0xd0, 0xf3, 0x74, 0x66, 0xa9, 0x28, 0x17, + 0x2c, 0x3e, 0x78, 0x16, 0xca, 0x86, 0xa7, 0x0c, 0xaf, 0xdf, 0x33, 0x67, 0x32, 0x4b, 0x05, 0xb9, + 0x64, 0x78, 0xc1, 0xd5, 0xe5, 0xe2, 0x6b, 0x19, 0xa8, 0x44, 0x3f, 0x1f, 0x48, 0x6b, 0x50, 0x30, + 0x6d, 0x4d, 0x25, 0xa1, 0x45, 0xbf, 0x5d, 0x2d, 0x25, 0x7c, 0x71, 0x58, 0xde, 0x64, 0xfa, 0x72, + 0x80, 0x5c, 0xf8, 0x67, 0x01, 0x0a, 0x5c, 0x2c, 0x9d, 0x80, 0x9c, 0xa3, 0xfa, 0xfb, 0x84, 0x2e, + 0xbf, 0x92, 0x11, 0x05, 0x99, 0x3c, 0x63, 0xb9, 0xe7, 0xa8, 0x16, 0x09, 0x01, 0x26, 0xc7, 0xcf, + 0x78, 0x5d, 0x4d, 0xa4, 0xea, 0xe4, 0x5c, 0x63, 0xf7, 0xfb, 0xc8, 0xf2, 0x3d, 0xbe, 0xae, 0x4c, + 0xbe, 0xca, 0xc4, 0xd2, 0xa3, 0x30, 0xeb, 0xbb, 0xaa, 0x61, 0x46, 0x74, 0x73, 0x44, 0x57, 0xe4, + 0x03, 0x81, 0x72, 0x1d, 0x4e, 0x71, 0x5e, 0x1d, 0xf9, 0xaa, 0xb6, 0x8f, 0xf4, 0x21, 0x68, 0x92, + 0xdc, 0x5f, 0x9c, 0x64, 0x0a, 0x6b, 0x6c, 0x9c, 0x63, 0x17, 0x7f, 0x24, 0xc0, 0x2c, 0x3f, 0x89, + 0xe9, 0x81, 0xb3, 0xb6, 0x00, 0x54, 0xcb, 0xb2, 0xfd, 0xb0, 0xbb, 0x46, 0x43, 0x79, 0x04, 0xb7, + 0xdc, 0x08, 0x40, 0x72, 0x88, 0x60, 0xa1, 0x0f, 0x30, 0x1c, 0x39, 0xd2, 0x6d, 0xa7, 0xa1, 0xc4, + 0xbe, 0x0d, 0x91, 0x0f, 0x8c, 0xf4, 0xec, 0x0e, 0x54, 0x84, 0x8f, 0x6c, 0xd2, 0x3c, 0xe4, 0xf7, + 0x50, 0xcf, 0xb0, 0xd8, 0x8d, 0x2f, 0x7d, 0xe0, 0x37, 0x2c, 0xb9, 0xe0, 0x86, 0x65, 0xe5, 0xb3, + 0x30, 0xa7, 0xd9, 0xfd, 0xb8, 0xb9, 0x2b, 0x62, 0xec, 0xfe, 0xc0, 0xfb, 0x94, 0xf0, 0x02, 0x0c, + 0x5b, 0xcc, 0x77, 0x05, 0xe1, 0x2b, 0x99, 0xec, 0x7a, 0x7b, 0xe5, 0xeb, 0x99, 0x85, 0x75, 0x0a, + 0x6d, 0xf3, 0x99, 0xca, 0xa8, 0x6b, 0x22, 0x0d, 0x5b, 0x0f, 0x5f, 0x7d, 0x14, 0x1e, 0xeb, 0x19, + 0xfe, 0xfe, 0x60, 0x6f, 0x59, 0xb3, 0xfb, 0xe7, 0x7a, 0x76, 0xcf, 0x1e, 0x7e, 0x53, 0xc5, 0x4f, + 0xe4, 0x81, 0xfc, 0xc7, 0xbe, 0xab, 0x16, 0x03, 0xe9, 0x42, 0xe2, 0x47, 0xd8, 0xfa, 0x36, 0xcc, + 0x31, 0x65, 0x85, 0x7c, 0xd8, 0xa1, 0xc7, 0x13, 0xe9, 0xae, 0x97, 0x63, 0xd5, 0x6f, 0xbd, 0x49, + 0xca, 0xb5, 0x3c, 0xcb, 0xa0, 0x78, 0x8c, 0x9e, 0x60, 0xea, 0x32, 0xdc, 0x13, 0xe1, 0xa3, 0x5b, + 0x13, 0xb9, 0x09, 0x8c, 0x3f, 0x60, 0x8c, 0x73, 0x21, 0xc6, 0x0e, 0x83, 0xd6, 0x57, 0x61, 0xfa, + 0x38, 0x5c, 0xff, 0xc8, 0xb8, 0xca, 0x28, 0x4c, 0xb2, 0x0e, 0x33, 0x84, 0x44, 0x1b, 0x78, 0xbe, + 0xdd, 0x27, 0x79, 0xef, 0xee, 0x34, 0xff, 0xf4, 0x26, 0xdd, 0x2b, 0x15, 0x0c, 0x5b, 0x0d, 0x50, + 0xf5, 0x3a, 0x90, 0x6f, 0x59, 0x3a, 0xd2, 0xcc, 0x04, 0x86, 0xd7, 0x99, 0x21, 0x81, 0x7e, 0xfd, + 0x33, 0x30, 0x8f, 0xff, 0x27, 0x69, 0x29, 0x6c, 0x49, 0xf2, 0x4d, 0x5a, 0xf5, 0x47, 0x2f, 0xd1, + 0xed, 0x38, 0x17, 0x10, 0x84, 0x6c, 0x0a, 0xad, 0x62, 0x0f, 0xf9, 0x3e, 0x72, 0x3d, 0x45, 0x35, + 0xc7, 0x99, 0x17, 0xba, 0x8a, 0xa8, 0x7e, 0xf1, 0xed, 0xe8, 0x2a, 0xae, 0x53, 0x64, 0xc3, 0x34, + 0xeb, 0xbb, 0x70, 0x72, 0x4c, 0x54, 0xa4, 0xe0, 0x7c, 0x99, 0x71, 0xce, 0x8f, 0x44, 0x06, 0xa6, + 0x6d, 0x03, 0x97, 0x07, 0x6b, 0x99, 0x82, 0xf3, 0x0f, 0x19, 0xa7, 0xc4, 0xb0, 0x7c, 0x49, 0x31, + 0xe3, 0x33, 0x30, 0x7b, 0x1d, 0xb9, 0x7b, 0xb6, 0xc7, 0xae, 0x7f, 0x52, 0xd0, 0xbd, 0xc2, 0xe8, + 0x66, 0x18, 0x90, 0xdc, 0x07, 0x61, 0xae, 0xa7, 0xa0, 0xd0, 0x55, 0x35, 0x94, 0x82, 0xe2, 0x4b, + 0x8c, 0x62, 0x0a, 0xeb, 0x63, 0x68, 0x03, 0xca, 0x3d, 0x9b, 0x55, 0xa6, 0x64, 0xf8, 0xab, 0x0c, + 0x5e, 0xe2, 0x18, 0x46, 0xe1, 0xd8, 0xce, 0xc0, 0xc4, 0x65, 0x2b, 0x99, 0xe2, 0x8f, 0x38, 0x05, + 0xc7, 0x30, 0x8a, 0x63, 0xb8, 0xf5, 0x8f, 0x39, 0x85, 0x17, 0xf2, 0xe7, 0xd3, 0x50, 0xb2, 0x2d, + 0xf3, 0xc0, 0xb6, 0xd2, 0x18, 0xf1, 0x65, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0x2e, 0x43, 0x31, 0xed, + 0x42, 0xfc, 0xe9, 0xdb, 0x7c, 0x7b, 0xf0, 0x15, 0x58, 0x87, 0x19, 0x9e, 0xa0, 0x0c, 0xdb, 0x4a, + 0x41, 0xf1, 0x55, 0x46, 0x51, 0x09, 0xc1, 0xd8, 0x34, 0x7c, 0xe4, 0xf9, 0x3d, 0x94, 0x86, 0xe4, + 0x35, 0x3e, 0x0d, 0x06, 0x61, 0xae, 0xdc, 0x43, 0x96, 0xb6, 0x9f, 0x8e, 0xe1, 0x6b, 0xdc, 0x95, + 0x1c, 0x83, 0x29, 0x56, 0x61, 0xba, 0xaf, 0xba, 0xde, 0xbe, 0x6a, 0xa6, 0x5a, 0x8e, 0x3f, 0x63, + 0x1c, 0xe5, 0x00, 0xc4, 0x3c, 0x32, 0xb0, 0x8e, 0x43, 0xf3, 0x75, 0xee, 0x91, 0x10, 0x8c, 0x6d, + 0x3d, 0xcf, 0x27, 0x77, 0x65, 0xc7, 0x61, 0xfb, 0x73, 0xbe, 0xf5, 0x28, 0x76, 0x2b, 0xcc, 0x78, + 0x19, 0x8a, 0x9e, 0x71, 0x33, 0x15, 0xcd, 0x5f, 0xf0, 0x95, 0x26, 0x00, 0x0c, 0x7e, 0x1e, 0x4e, + 0x8d, 0x2d, 0x13, 0x29, 0xc8, 0xbe, 0xc1, 0xc8, 0x4e, 0x8c, 0x29, 0x15, 0x2c, 0x25, 0x1c, 0x97, + 0xf2, 0x2f, 0x79, 0x4a, 0x40, 0x31, 0xae, 0x36, 0x3e, 0x2b, 0x78, 0x6a, 0xf7, 0x78, 0x5e, 0xfb, + 0x2b, 0xee, 0x35, 0x8a, 0x8d, 0x78, 0x6d, 0x07, 0x4e, 0x30, 0xc6, 0xe3, 0xad, 0xeb, 0x37, 0x79, + 0x62, 0xa5, 0xe8, 0xdd, 0xe8, 0xea, 0x7e, 0x16, 0x16, 0x02, 0x77, 0xf2, 0xa6, 0xd4, 0x53, 0xfa, + 0xaa, 0x93, 0x82, 0xf9, 0x5b, 0x8c, 0x99, 0x67, 0xfc, 0xa0, 0xab, 0xf5, 0xb6, 0x54, 0x07, 0x93, + 0x3f, 0x07, 0x55, 0x4e, 0x3e, 0xb0, 0x5c, 0xa4, 0xd9, 0x3d, 0xcb, 0xb8, 0x89, 0xf4, 0x14, 0xd4, + 0x7f, 0x1d, 0x5b, 0xaa, 0xdd, 0x10, 0x1c, 0x33, 0x6f, 0x80, 0x18, 0xf4, 0x2a, 0x8a, 0xd1, 0x77, + 0x6c, 0xd7, 0x4f, 0x60, 0xfc, 0x1b, 0xbe, 0x52, 0x01, 0x6e, 0x83, 0xc0, 0xea, 0x4d, 0xa8, 0x90, + 0xc7, 0xb4, 0x21, 0xf9, 0xb7, 0x8c, 0x68, 0x7a, 0x88, 0x62, 0x89, 0x43, 0xb3, 0xfb, 0x8e, 0xea, + 0xa6, 0xc9, 0x7f, 0x7f, 0xc7, 0x13, 0x07, 0x83, 0xb0, 0xc4, 0xe1, 0x1f, 0x38, 0x08, 0x57, 0xfb, + 0x14, 0x0c, 0xdf, 0xe6, 0x89, 0x83, 0x63, 0x18, 0x05, 0x6f, 0x18, 0x52, 0x50, 0xfc, 0x3d, 0xa7, + 0xe0, 0x18, 0x4c, 0xf1, 0xe9, 0x61, 0xa1, 0x75, 0x51, 0xcf, 0xf0, 0x7c, 0x97, 0xb6, 0xc2, 0x77, + 0xa7, 0xfa, 0xce, 0xdb, 0xd1, 0x26, 0x4c, 0x0e, 0x41, 0x71, 0x26, 0x62, 0x57, 0xa8, 0xe4, 0xa4, + 0x94, 0x6c, 0xd8, 0x77, 0x79, 0x26, 0x0a, 0xc1, 0xb0, 0x6d, 0xa1, 0x0e, 0x11, 0xbb, 0x5d, 0xc3, + 0xe7, 0x83, 0x14, 0x74, 0xdf, 0x8b, 0x19, 0xd7, 0xe1, 0x58, 0xcc, 0x19, 0xea, 0x7f, 0x06, 0xd6, + 0x35, 0x74, 0x90, 0x2a, 0x3a, 0xff, 0x21, 0xd6, 0xff, 0xec, 0x52, 0x24, 0xcd, 0x21, 0x33, 0xb1, + 0x7e, 0x4a, 0x4a, 0xfa, 0x15, 0x50, 0xf5, 0x17, 0xef, 0xb0, 0xf9, 0x46, 0xdb, 0xa9, 0xfa, 0x26, + 0x0e, 0xf2, 0x68, 0xd3, 0x93, 0x4c, 0xf6, 0xd2, 0x9d, 0x20, 0xce, 0x23, 0x3d, 0x4f, 0xfd, 0x0a, + 0x4c, 0x47, 0x1a, 0x9e, 0x64, 0xaa, 0x5f, 0x62, 0x54, 0xe5, 0x70, 0xbf, 0x53, 0xbf, 0x08, 0x39, + 0xdc, 0xbc, 0x24, 0xc3, 0x7f, 0x99, 0xc1, 0x89, 0x7a, 0xfd, 0x13, 0x50, 0xe0, 0x4d, 0x4b, 0x32, + 0xf4, 0x57, 0x18, 0x34, 0x80, 0x60, 0x38, 0x6f, 0x58, 0x92, 0xe1, 0xbf, 0xca, 0xe1, 0x1c, 0x82, + 0xe1, 0xe9, 0x5d, 0xf8, 0xfd, 0x5f, 0xcb, 0xb1, 0xa2, 0xc3, 0x7d, 0x77, 0x19, 0xa6, 0x58, 0xa7, + 0x92, 0x8c, 0xfe, 0x3c, 0x7b, 0x39, 0x47, 0xd4, 0x9f, 0x80, 0x7c, 0x4a, 0x87, 0xff, 0x06, 0x83, + 0x52, 0xfd, 0xfa, 0x2a, 0x94, 0x42, 0xdd, 0x49, 0x32, 0xfc, 0x37, 0x19, 0x3c, 0x8c, 0xc2, 0xa6, + 0xb3, 0xee, 0x24, 0x99, 0xe0, 0xb7, 0xb8, 0xe9, 0x0c, 0x81, 0xdd, 0xc6, 0x1b, 0x93, 0x64, 0xf4, + 0x6f, 0x73, 0xaf, 0x73, 0x48, 0xfd, 0x69, 0x28, 0x06, 0xc5, 0x26, 0x19, 0xff, 0x3b, 0x0c, 0x3f, + 0xc4, 0x60, 0x0f, 0x84, 0x8a, 0x5d, 0x32, 0xc5, 0xef, 0x72, 0x0f, 0x84, 0x50, 0x78, 0x1b, 0xc5, + 0x1b, 0x98, 0x64, 0xa6, 0xdf, 0xe3, 0xdb, 0x28, 0xd6, 0xbf, 0xe0, 0xd5, 0x24, 0x39, 0x3f, 0x99, + 0xe2, 0xf7, 0xf9, 0x6a, 0x12, 0x7d, 0x6c, 0x46, 0xbc, 0x23, 0x48, 0xe6, 0xf8, 0x03, 0x6e, 0x46, + 0xac, 0x21, 0xa8, 0xb7, 0x41, 0x1a, 0xed, 0x06, 0x92, 0xf9, 0xbe, 0xc0, 0xf8, 0x66, 0x47, 0x9a, + 0x81, 0xfa, 0xb3, 0x70, 0x62, 0x7c, 0x27, 0x90, 0xcc, 0xfa, 0xc5, 0x3b, 0xb1, 0xb3, 0x5b, 0xb8, + 0x11, 0xa8, 0xef, 0x0c, 0x4b, 0x4a, 0xb8, 0x0b, 0x48, 0xa6, 0x7d, 0xf9, 0x4e, 0x34, 0x71, 0x87, + 0x9b, 0x80, 0x7a, 0x03, 0x60, 0x58, 0x80, 0x93, 0xb9, 0x5e, 0x61, 0x5c, 0x21, 0x10, 0xde, 0x1a, + 0xac, 0xfe, 0x26, 0xe3, 0xbf, 0xc4, 0xb7, 0x06, 0x43, 0xe0, 0xad, 0xc1, 0x4b, 0x6f, 0x32, 0xfa, + 0x55, 0xbe, 0x35, 0x38, 0x04, 0x47, 0x76, 0xa8, 0xba, 0x25, 0x33, 0x7c, 0x99, 0x47, 0x76, 0x08, + 0x55, 0xdf, 0x86, 0xd9, 0x91, 0x82, 0x98, 0x4c, 0xf5, 0x15, 0x46, 0x25, 0xc6, 0xeb, 0x61, 0xb8, + 0x78, 0xb1, 0x62, 0x98, 0xcc, 0xf6, 0x27, 0xb1, 0xe2, 0xc5, 0x6a, 0x61, 0xfd, 0x32, 0x14, 0xac, + 0x81, 0x69, 0xe2, 0xcd, 0x23, 0xdd, 0xfd, 0x97, 0x7b, 0xd5, 0x7f, 0x7f, 0x8f, 0x79, 0x87, 0x03, + 0xea, 0x17, 0x21, 0x8f, 0xfa, 0x7b, 0x48, 0x4f, 0x42, 0xfe, 0xc7, 0x7b, 0x3c, 0x61, 0x62, 0xed, + 0xfa, 0xd3, 0x00, 0xf4, 0x6a, 0x84, 0x7c, 0xf6, 0x4b, 0xc0, 0xfe, 0xe7, 0x7b, 0xec, 0x37, 0x35, + 0x43, 0xc8, 0x90, 0x80, 0xfe, 0x42, 0xe7, 0xee, 0x04, 0x6f, 0x47, 0x09, 0xc8, 0x8a, 0x3c, 0x05, + 0x53, 0x57, 0x3d, 0xdb, 0xf2, 0xd5, 0x5e, 0x12, 0xfa, 0xbf, 0x18, 0x9a, 0xeb, 0x63, 0x87, 0xf5, + 0x6d, 0x17, 0xf9, 0x6a, 0xcf, 0x4b, 0xc2, 0xfe, 0x37, 0xc3, 0x06, 0x00, 0x0c, 0xd6, 0x54, 0xcf, + 0x4f, 0x33, 0xef, 0xff, 0xe1, 0x60, 0x0e, 0xc0, 0x46, 0xe3, 0xff, 0xaf, 0xa1, 0x83, 0x24, 0xec, + 0x3b, 0xdc, 0x68, 0xa6, 0x5f, 0xff, 0x04, 0x14, 0xf1, 0xbf, 0xf4, 0x87, 0x72, 0x09, 0xe0, 0xff, + 0x65, 0xe0, 0x21, 0x02, 0xbf, 0xd9, 0xf3, 0x75, 0xdf, 0x48, 0x76, 0xf6, 0xff, 0xb1, 0x95, 0xe6, + 0xfa, 0xf5, 0x06, 0x94, 0x3c, 0x5f, 0xd7, 0x07, 0xac, 0x3f, 0x4d, 0x80, 0xff, 0xff, 0x7b, 0xc1, + 0x95, 0x45, 0x80, 0xc1, 0xab, 0x7d, 0xe3, 0x9a, 0xef, 0xd8, 0xe4, 0x33, 0x47, 0x12, 0xc3, 0x1d, + 0xc6, 0x10, 0x82, 0xac, 0x34, 0xc7, 0x5f, 0xdf, 0xc2, 0xba, 0xbd, 0x6e, 0xd3, 0x8b, 0xdb, 0x17, + 0x16, 0x93, 0x6f, 0x60, 0xe1, 0x1b, 0x02, 0x54, 0xba, 0x86, 0x89, 0x96, 0x75, 0xdb, 0x67, 0x37, + 0xb1, 0x25, 0xfc, 0xac, 0xdb, 0x3e, 0x0e, 0xaa, 0x85, 0xe3, 0xdd, 0xe2, 0x2e, 0xce, 0x82, 0xb0, + 0x25, 0x95, 0x41, 0x50, 0xd9, 0x8f, 0xac, 0x04, 0x75, 0x65, 0xf3, 0xf5, 0xdb, 0xb5, 0x89, 0x1f, + 0xde, 0xae, 0x4d, 0xfc, 0xcb, 0xed, 0xda, 0xc4, 0x1b, 0xb7, 0x6b, 0xc2, 0x5b, 0xb7, 0x6b, 0xc2, + 0x3b, 0xb7, 0x6b, 0xc2, 0xbb, 0xb7, 0x6b, 0xc2, 0xad, 0xc3, 0x9a, 0xf0, 0xb5, 0xc3, 0x9a, 0xf0, + 0xcd, 0xc3, 0x9a, 0xf0, 0x9d, 0xc3, 0x9a, 0xf0, 0xfd, 0xc3, 0x9a, 0xf0, 0xfa, 0x61, 0x6d, 0xe2, + 0x87, 0x87, 0xb5, 0x89, 0x37, 0x0e, 0x6b, 0xc2, 0x5b, 0x87, 0xb5, 0x89, 0x77, 0x0e, 0x6b, 0xc2, + 0xbb, 0x87, 0xb5, 0x89, 0x5b, 0x3f, 0xae, 0x4d, 0xfc, 0x24, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x47, + 0xfd, 0xb6, 0xa4, 0x33, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -577,21 +598,3 @@ func valueToStringFileDot(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("file.dot.proto", fileDescriptor_file_dot_75a42d5db4a044f0) } - -var fileDescriptor_file_dot_75a42d5db4a044f0 = []byte{ - // 179 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x24, 0xcb, 0xaf, 0x6e, 0xc2, 0x50, - 0x1c, 0xc5, 0xf1, 0xdf, 0x91, 0xeb, 0x96, 0x25, 0xab, 0x5a, 0x26, 0x4e, 0x96, 0xa9, 0x99, 0xb5, - 0xef, 0x30, 0x0d, 0x86, 0x37, 0x68, 0xe9, 0x1f, 0x9a, 0x50, 0x2e, 0x21, 0xb7, 0xbe, 0x8f, 0x83, - 0x44, 0x22, 0x91, 0x95, 0x95, 0xc8, 0xde, 0x1f, 0xa6, 0xb2, 0xb2, 0x92, 0x70, 0x71, 0xe7, 0x93, - 0x9c, 0x6f, 0xf0, 0x5e, 0x54, 0xdb, 0x3c, 0xca, 0x8c, 0x8d, 0xf6, 0x07, 0x63, 0x4d, 0xf8, 0xfa, - 0x70, 0x66, 0xec, 0x2e, 0xa9, 0xf3, 0xaf, 0xbf, 0xb2, 0xb2, 0x9b, 0x26, 0x8d, 0xd6, 0xa6, 0x8e, - 0x4b, 0x53, 0x9a, 0xd8, 0x7f, 0xd2, 0xa6, 0xf0, 0xf2, 0xf0, 0xeb, 0xd9, 0xfe, 0x7c, 0x04, 0x58, - 0x86, 0x6f, 0x01, 0x92, 0x4f, 0x7c, 0xe3, 0xf7, 0x65, 0x85, 0xe4, 0x7f, 0xd1, 0x39, 0x4a, 0xef, - 0x28, 0x57, 0x47, 0x19, 0x1c, 0x31, 0x3a, 0x62, 0x72, 0xc4, 0xec, 0x88, 0x56, 0x89, 0xa3, 0x12, - 0x27, 0x25, 0xce, 0x4a, 0x5c, 0x94, 0xe8, 0x94, 0xd2, 0x2b, 0x65, 0x50, 0x62, 0x54, 0xca, 0xa4, - 0xc4, 0xac, 0x94, 0xf6, 0x46, 0xb9, 0x07, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x59, 0x32, 0x8a, 0xad, - 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/fuzztests/fuzz.pb.go b/vendor/github.com/gogo/protobuf/test/fuzztests/fuzz.pb.go index 0c5c0baf3..a367aeb33 100644 --- a/vendor/github.com/gogo/protobuf/test/fuzztests/fuzz.pb.go +++ b/vendor/github.com/gogo/protobuf/test/fuzztests/fuzz.pb.go @@ -3,17 +3,16 @@ package fuzztests -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -36,7 +35,7 @@ func (m *Nil) Reset() { *m = Nil{} } func (m *Nil) String() string { return proto.CompactTextString(m) } func (*Nil) ProtoMessage() {} func (*Nil) Descriptor() ([]byte, []int) { - return fileDescriptor_fuzz_a9783a48f1b0a0f4, []int{0} + return fileDescriptor_9e61ff73369f13d2, []int{0} } func (m *Nil) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -53,8 +52,8 @@ func (m *Nil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Nil) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nil.Merge(dst, src) +func (m *Nil) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nil.Merge(m, src) } func (m *Nil) XXX_Size() int { return m.Size() @@ -88,7 +87,7 @@ func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } func (m *NinRepPackedNative) String() string { return proto.CompactTextString(m) } func (*NinRepPackedNative) ProtoMessage() {} func (*NinRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_fuzz_a9783a48f1b0a0f4, []int{1} + return fileDescriptor_9e61ff73369f13d2, []int{1} } func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -105,8 +104,8 @@ func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +func (m *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(m, src) } func (m *NinRepPackedNative) XXX_Size() int { return m.Size() @@ -233,7 +232,7 @@ func (m *NinOptNative) Reset() { *m = NinOptNative{} } func (m *NinOptNative) String() string { return proto.CompactTextString(m) } func (*NinOptNative) ProtoMessage() {} func (*NinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_fuzz_a9783a48f1b0a0f4, []int{2} + return fileDescriptor_9e61ff73369f13d2, []int{2} } func (m *NinOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -250,8 +249,8 @@ func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNative.Merge(dst, src) +func (m *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(m, src) } func (m *NinOptNative) XXX_Size() int { return m.Size() @@ -387,7 +386,7 @@ func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } func (m *NinOptStruct) String() string { return proto.CompactTextString(m) } func (*NinOptStruct) ProtoMessage() {} func (*NinOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_fuzz_a9783a48f1b0a0f4, []int{3} + return fileDescriptor_9e61ff73369f13d2, []int{3} } func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -404,8 +403,8 @@ func (m *NinOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStruct.Merge(dst, src) +func (m *NinOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStruct.Merge(m, src) } func (m *NinOptStruct) XXX_Size() int { return m.Size() @@ -492,6 +491,41 @@ func init() { proto.RegisterType((*NinOptNative)(nil), "fuzztests.NinOptNative") proto.RegisterType((*NinOptStruct)(nil), "fuzztests.NinOptStruct") } + +func init() { proto.RegisterFile("fuzz.proto", fileDescriptor_9e61ff73369f13d2) } + +var fileDescriptor_9e61ff73369f13d2 = []byte{ + // 445 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0xbf, 0x6e, 0x1a, 0x41, + 0x10, 0xc7, 0x71, 0xcd, 0x0d, 0x7f, 0xd7, 0x10, 0xf0, 0x15, 0x9b, 0x91, 0x15, 0xa1, 0x15, 0xd5, + 0x34, 0xe1, 0xc2, 0x71, 0xd8, 0xb8, 0x75, 0x91, 0x92, 0x44, 0xce, 0x13, 0xd8, 0xf8, 0x4c, 0x4e, + 0x71, 0x7c, 0xc8, 0x5e, 0x52, 0xb8, 0x4c, 0x95, 0x47, 0x4b, 0x97, 0x3c, 0x42, 0xc2, 0x13, 0xe4, + 0x11, 0xa2, 0x9c, 0xcd, 0xec, 0x50, 0x59, 0x48, 0xe9, 0xee, 0xf6, 0xc3, 0x0a, 0xf1, 0xfd, 0x09, + 0x63, 0xae, 0xd7, 0x0f, 0x0f, 0xa3, 0xd5, 0x5d, 0xe9, 0xcb, 0xb8, 0xfd, 0xef, 0xd9, 0xe7, 0xf7, + 0xfe, 0xfe, 0xe8, 0xf5, 0xb2, 0xf0, 0x1f, 0xd7, 0x97, 0xa3, 0x45, 0xf9, 0x39, 0x59, 0x96, 0xcb, + 0x32, 0xa9, 0x3e, 0x71, 0xb9, 0xbe, 0xae, 0xde, 0xaa, 0x97, 0xea, 0xe9, 0xf1, 0xe6, 0xb0, 0x6e, + 0x70, 0x5e, 0xdc, 0x0c, 0xbf, 0xa1, 0x89, 0xe7, 0xc5, 0xed, 0x79, 0xbe, 0x7a, 0x7f, 0xb1, 0xf8, + 0x94, 0x5f, 0xcd, 0x2f, 0x7c, 0xf1, 0x25, 0x8f, 0x8f, 0x4c, 0xe3, 0x6d, 0x91, 0xdf, 0x5c, 0x8d, + 0x09, 0x1c, 0x32, 0x9c, 0x45, 0x7d, 0x38, 0x7f, 0x3a, 0x11, 0x4b, 0x29, 0x72, 0xc8, 0x91, 0xb2, + 0x54, 0x6c, 0x42, 0xe8, 0x90, 0xeb, 0xca, 0x26, 0x62, 0x19, 0xd5, 0x1c, 0x32, 0x2a, 0xcb, 0xc4, + 0xa6, 0x54, 0x77, 0xc8, 0x5d, 0x65, 0x53, 0xb1, 0x63, 0x6a, 0x38, 0xe4, 0x9a, 0xb2, 0x63, 0xb1, + 0x13, 0x6a, 0x3a, 0xe4, 0x43, 0x65, 0x27, 0x62, 0x33, 0x6a, 0x39, 0xe4, 0x58, 0xd9, 0x4c, 0xec, + 0x94, 0xda, 0x0e, 0xb9, 0xa9, 0xec, 0x34, 0x7e, 0x65, 0x9a, 0x8f, 0xbf, 0xf4, 0x0d, 0x19, 0x87, + 0xdc, 0xab, 0x70, 0x7b, 0x14, 0x74, 0x4c, 0x07, 0x0e, 0xb9, 0xa1, 0x75, 0x1c, 0x34, 0xa5, 0x8e, + 0x43, 0xee, 0x6b, 0x4d, 0x83, 0x4e, 0xa8, 0xeb, 0x90, 0x5b, 0x5a, 0x27, 0xc3, 0xaf, 0x68, 0x3a, + 0xf3, 0xe2, 0xf6, 0xdd, 0xca, 0x3f, 0x8d, 0x60, 0xd5, 0x08, 0xc0, 0x61, 0x00, 0xab, 0x06, 0x00, + 0x8e, 0x24, 0xbe, 0x55, 0xf1, 0x81, 0xeb, 0x12, 0xde, 0xaa, 0xf0, 0xc0, 0x28, 0xd1, 0xad, 0x8a, + 0x0e, 0xdc, 0x95, 0xe0, 0x56, 0x05, 0x07, 0xae, 0x49, 0x6c, 0xab, 0x62, 0x03, 0x1f, 0x4a, 0x68, + 0xab, 0x42, 0x03, 0xc7, 0x12, 0xd9, 0xaa, 0xc8, 0xc0, 0x4d, 0x09, 0x4c, 0x3a, 0x30, 0x70, 0x2f, + 0xc4, 0x25, 0x1d, 0x17, 0xb8, 0x11, 0xc2, 0x92, 0x0e, 0x0b, 0xdc, 0x0f, 0x51, 0x49, 0x47, 0x05, + 0x6e, 0x49, 0xd0, 0x20, 0x19, 0xbd, 0x70, 0xc0, 0xed, 0xad, 0x64, 0x41, 0xa6, 0xd4, 0x73, 0xc0, + 0x9d, 0xad, 0x4c, 0x87, 0x3f, 0xa2, 0xed, 0x08, 0x1f, 0xfc, 0xdd, 0x7a, 0xe1, 0xf7, 0x1e, 0x21, + 0xd9, 0x19, 0xe1, 0x20, 0x7d, 0x39, 0x92, 0xbf, 0xe8, 0x48, 0xaf, 0x2b, 0xeb, 0x24, 0x3b, 0xeb, + 0x3c, 0x7b, 0x21, 0xdb, 0x7b, 0x9e, 0x64, 0x67, 0x9e, 0x67, 0xbf, 0x60, 0xf6, 0x7f, 0x8b, 0x9e, + 0xf5, 0xff, 0xfc, 0x1e, 0xc0, 0xf7, 0xcd, 0x00, 0x7e, 0x6e, 0x06, 0xf0, 0x6b, 0x33, 0x80, 0xbf, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x67, 0xe2, 0xa2, 0xc1, 0x04, 0x00, 0x00, +} + func (this *Nil) GoString() string { if this == nil { return "nil" @@ -2932,37 +2966,3 @@ var ( ErrInvalidLengthFuzz = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowFuzz = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("fuzz.proto", fileDescriptor_fuzz_a9783a48f1b0a0f4) } - -var fileDescriptor_fuzz_a9783a48f1b0a0f4 = []byte{ - // 445 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0xbf, 0x6e, 0x1a, 0x41, - 0x10, 0xc7, 0x71, 0xcd, 0x0d, 0x7f, 0xd7, 0x10, 0xf0, 0x15, 0x9b, 0x91, 0x15, 0xa1, 0x15, 0xd5, - 0x34, 0xe1, 0xc2, 0x71, 0xd8, 0xb8, 0x75, 0x91, 0x92, 0x44, 0xce, 0x13, 0xd8, 0xf8, 0x4c, 0x4e, - 0x71, 0x7c, 0xc8, 0x5e, 0x52, 0xb8, 0x4c, 0x95, 0x47, 0x4b, 0x97, 0x3c, 0x42, 0xc2, 0x13, 0xe4, - 0x11, 0xa2, 0x9c, 0xcd, 0xec, 0x50, 0x59, 0x48, 0xe9, 0xee, 0xf6, 0xc3, 0x0a, 0xf1, 0xfd, 0x09, - 0x63, 0xae, 0xd7, 0x0f, 0x0f, 0xa3, 0xd5, 0x5d, 0xe9, 0xcb, 0xb8, 0xfd, 0xef, 0xd9, 0xe7, 0xf7, - 0xfe, 0xfe, 0xe8, 0xf5, 0xb2, 0xf0, 0x1f, 0xd7, 0x97, 0xa3, 0x45, 0xf9, 0x39, 0x59, 0x96, 0xcb, - 0x32, 0xa9, 0x3e, 0x71, 0xb9, 0xbe, 0xae, 0xde, 0xaa, 0x97, 0xea, 0xe9, 0xf1, 0xe6, 0xb0, 0x6e, - 0x70, 0x5e, 0xdc, 0x0c, 0xbf, 0xa1, 0x89, 0xe7, 0xc5, 0xed, 0x79, 0xbe, 0x7a, 0x7f, 0xb1, 0xf8, - 0x94, 0x5f, 0xcd, 0x2f, 0x7c, 0xf1, 0x25, 0x8f, 0x8f, 0x4c, 0xe3, 0x6d, 0x91, 0xdf, 0x5c, 0x8d, - 0x09, 0x1c, 0x32, 0x9c, 0x45, 0x7d, 0x38, 0x7f, 0x3a, 0x11, 0x4b, 0x29, 0x72, 0xc8, 0x91, 0xb2, - 0x54, 0x6c, 0x42, 0xe8, 0x90, 0xeb, 0xca, 0x26, 0x62, 0x19, 0xd5, 0x1c, 0x32, 0x2a, 0xcb, 0xc4, - 0xa6, 0x54, 0x77, 0xc8, 0x5d, 0x65, 0x53, 0xb1, 0x63, 0x6a, 0x38, 0xe4, 0x9a, 0xb2, 0x63, 0xb1, - 0x13, 0x6a, 0x3a, 0xe4, 0x43, 0x65, 0x27, 0x62, 0x33, 0x6a, 0x39, 0xe4, 0x58, 0xd9, 0x4c, 0xec, - 0x94, 0xda, 0x0e, 0xb9, 0xa9, 0xec, 0x34, 0x7e, 0x65, 0x9a, 0x8f, 0xbf, 0xf4, 0x0d, 0x19, 0x87, - 0xdc, 0xab, 0x70, 0x7b, 0x14, 0x74, 0x4c, 0x07, 0x0e, 0xb9, 0xa1, 0x75, 0x1c, 0x34, 0xa5, 0x8e, - 0x43, 0xee, 0x6b, 0x4d, 0x83, 0x4e, 0xa8, 0xeb, 0x90, 0x5b, 0x5a, 0x27, 0xc3, 0xaf, 0x68, 0x3a, - 0xf3, 0xe2, 0xf6, 0xdd, 0xca, 0x3f, 0x8d, 0x60, 0xd5, 0x08, 0xc0, 0x61, 0x00, 0xab, 0x06, 0x00, - 0x8e, 0x24, 0xbe, 0x55, 0xf1, 0x81, 0xeb, 0x12, 0xde, 0xaa, 0xf0, 0xc0, 0x28, 0xd1, 0xad, 0x8a, - 0x0e, 0xdc, 0x95, 0xe0, 0x56, 0x05, 0x07, 0xae, 0x49, 0x6c, 0xab, 0x62, 0x03, 0x1f, 0x4a, 0x68, - 0xab, 0x42, 0x03, 0xc7, 0x12, 0xd9, 0xaa, 0xc8, 0xc0, 0x4d, 0x09, 0x4c, 0x3a, 0x30, 0x70, 0x2f, - 0xc4, 0x25, 0x1d, 0x17, 0xb8, 0x11, 0xc2, 0x92, 0x0e, 0x0b, 0xdc, 0x0f, 0x51, 0x49, 0x47, 0x05, - 0x6e, 0x49, 0xd0, 0x20, 0x19, 0xbd, 0x70, 0xc0, 0xed, 0xad, 0x64, 0x41, 0xa6, 0xd4, 0x73, 0xc0, - 0x9d, 0xad, 0x4c, 0x87, 0x3f, 0xa2, 0xed, 0x08, 0x1f, 0xfc, 0xdd, 0x7a, 0xe1, 0xf7, 0x1e, 0x21, - 0xd9, 0x19, 0xe1, 0x20, 0x7d, 0x39, 0x92, 0xbf, 0xe8, 0x48, 0xaf, 0x2b, 0xeb, 0x24, 0x3b, 0xeb, - 0x3c, 0x7b, 0x21, 0xdb, 0x7b, 0x9e, 0x64, 0x67, 0x9e, 0x67, 0xbf, 0x60, 0xf6, 0x7f, 0x8b, 0x9e, - 0xf5, 0xff, 0xfc, 0x1e, 0xc0, 0xf7, 0xcd, 0x00, 0x7e, 0x6e, 0x06, 0xf0, 0x6b, 0x33, 0x80, 0xbf, - 0x01, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x67, 0xe2, 0xa2, 0xc1, 0x04, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/group/group.pb.go b/vendor/github.com/gogo/protobuf/test/group/group.pb.go index 56160de3a..0028bf953 100644 --- a/vendor/github.com/gogo/protobuf/test/group/group.pb.go +++ b/vendor/github.com/gogo/protobuf/test/group/group.pb.go @@ -3,19 +3,19 @@ package group -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -38,7 +38,7 @@ type Groups1 struct { func (m *Groups1) Reset() { *m = Groups1{} } func (*Groups1) ProtoMessage() {} func (*Groups1) Descriptor() ([]byte, []int) { - return fileDescriptor_group_3742ba72ecbfc017, []int{0} + return fileDescriptor_e10f4c9b19ad8eee, []int{0} } func (m *Groups1) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Groups1.Unmarshal(m, b) @@ -46,8 +46,8 @@ func (m *Groups1) XXX_Unmarshal(b []byte) error { func (m *Groups1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Groups1.Marshal(b, m, deterministic) } -func (dst *Groups1) XXX_Merge(src proto.Message) { - xxx_messageInfo_Groups1.Merge(dst, src) +func (m *Groups1) XXX_Merge(src proto.Message) { + xxx_messageInfo_Groups1.Merge(m, src) } func (m *Groups1) XXX_Size() int { return xxx_messageInfo_Groups1.Size(m) @@ -69,7 +69,7 @@ type Groups1_G struct { func (m *Groups1_G) Reset() { *m = Groups1_G{} } func (*Groups1_G) ProtoMessage() {} func (*Groups1_G) Descriptor() ([]byte, []int) { - return fileDescriptor_group_3742ba72ecbfc017, []int{0, 0} + return fileDescriptor_e10f4c9b19ad8eee, []int{0, 0} } func (m *Groups1_G) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Groups1_G.Unmarshal(m, b) @@ -77,8 +77,8 @@ func (m *Groups1_G) XXX_Unmarshal(b []byte) error { func (m *Groups1_G) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Groups1_G.Marshal(b, m, deterministic) } -func (dst *Groups1_G) XXX_Merge(src proto.Message) { - xxx_messageInfo_Groups1_G.Merge(dst, src) +func (m *Groups1_G) XXX_Merge(src proto.Message) { + xxx_messageInfo_Groups1_G.Merge(m, src) } func (m *Groups1_G) XXX_Size() int { return xxx_messageInfo_Groups1_G.Size(m) @@ -99,7 +99,7 @@ type Groups2 struct { func (m *Groups2) Reset() { *m = Groups2{} } func (*Groups2) ProtoMessage() {} func (*Groups2) Descriptor() ([]byte, []int) { - return fileDescriptor_group_3742ba72ecbfc017, []int{1} + return fileDescriptor_e10f4c9b19ad8eee, []int{1} } func (m *Groups2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Groups2.Unmarshal(m, b) @@ -107,8 +107,8 @@ func (m *Groups2) XXX_Unmarshal(b []byte) error { func (m *Groups2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Groups2.Marshal(b, m, deterministic) } -func (dst *Groups2) XXX_Merge(src proto.Message) { - xxx_messageInfo_Groups2.Merge(dst, src) +func (m *Groups2) XXX_Merge(src proto.Message) { + xxx_messageInfo_Groups2.Merge(m, src) } func (m *Groups2) XXX_Size() int { return xxx_messageInfo_Groups2.Size(m) @@ -130,7 +130,7 @@ type Groups2_G struct { func (m *Groups2_G) Reset() { *m = Groups2_G{} } func (*Groups2_G) ProtoMessage() {} func (*Groups2_G) Descriptor() ([]byte, []int) { - return fileDescriptor_group_3742ba72ecbfc017, []int{1, 0} + return fileDescriptor_e10f4c9b19ad8eee, []int{1, 0} } func (m *Groups2_G) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Groups2_G.Unmarshal(m, b) @@ -138,8 +138,8 @@ func (m *Groups2_G) XXX_Unmarshal(b []byte) error { func (m *Groups2_G) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Groups2_G.Marshal(b, m, deterministic) } -func (dst *Groups2_G) XXX_Merge(src proto.Message) { - xxx_messageInfo_Groups2_G.Merge(dst, src) +func (m *Groups2_G) XXX_Merge(src proto.Message) { + xxx_messageInfo_Groups2_G.Merge(m, src) } func (m *Groups2_G) XXX_Size() int { return xxx_messageInfo_Groups2_G.Size(m) @@ -156,6 +156,27 @@ func init() { proto.RegisterType((*Groups2)(nil), "group.Groups2") proto.RegisterType((*Groups2_G)(nil), "group.Groups2.G") } + +func init() { proto.RegisterFile("group.proto", fileDescriptor_e10f4c9b19ad8eee) } + +var fileDescriptor_e10f4c9b19ad8eee = []byte{ + // 211 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4e, 0x2f, 0xca, 0x2f, + 0x2d, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, + 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0xb2, 0x49, + 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x74, 0x29, 0xc5, 0x71, 0xb1, 0xbb, 0x83, 0xf4, + 0x15, 0x1b, 0x0a, 0xc9, 0x71, 0x31, 0xa6, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x19, 0x09, 0xe8, + 0x41, 0x4c, 0x86, 0x4a, 0xe9, 0xb9, 0x07, 0x31, 0xa6, 0x4b, 0x19, 0x73, 0x31, 0xba, 0x0b, 0x89, + 0x71, 0xb1, 0xb9, 0x65, 0xa6, 0xe6, 0xa4, 0x18, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0x41, + 0x79, 0x70, 0x71, 0x23, 0x09, 0x26, 0x05, 0x46, 0x0d, 0x46, 0xa8, 0xb8, 0x11, 0xc2, 0x7c, 0x23, + 0x98, 0xf9, 0x8c, 0x18, 0xe6, 0x1b, 0x91, 0x68, 0x3e, 0x33, 0xc2, 0x7c, 0x27, 0x93, 0x13, 0x0f, + 0xe5, 0x18, 0x2e, 0x3c, 0x94, 0x63, 0xb8, 0xf1, 0x50, 0x8e, 0xe1, 0xc1, 0x43, 0x39, 0xc6, 0x0f, + 0x0f, 0xe5, 0x18, 0x7f, 0x3c, 0x94, 0x63, 0x6c, 0x78, 0x24, 0xc7, 0xb8, 0xe2, 0x91, 0x1c, 0xe3, + 0x86, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x70, 0xe1, 0x91, 0x1c, + 0xc3, 0x83, 0x47, 0x72, 0x0c, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3c, 0xd8, 0xef, 0x2c, 0x39, + 0x01, 0x00, 0x00, +} + func (this *Groups1) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return GroupDescription() } @@ -171,251 +192,253 @@ func (this *Groups2_G) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func GroupDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3896 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xe3, 0xd6, - 0x75, 0x16, 0xf8, 0x23, 0x91, 0x87, 0x14, 0x05, 0x41, 0xb2, 0x96, 0x2b, 0xc7, 0xda, 0x5d, 0xd9, - 0x8e, 0x65, 0xbb, 0xd1, 0x26, 0xf2, 0xee, 0xda, 0xcb, 0x6d, 0xe2, 0x52, 0x14, 0x57, 0xa1, 0x2b, - 0x89, 0x0c, 0x28, 0xc5, 0x3f, 0x99, 0x16, 0x03, 0x81, 0x97, 0x14, 0x76, 0x41, 0x00, 0x01, 0xc0, - 0x5d, 0x6b, 0xa7, 0x0f, 0xdb, 0x71, 0x7f, 0x26, 0xd3, 0xe9, 0x7f, 0x67, 0x9a, 0xb8, 0x8e, 0xdb, - 0xa4, 0xd3, 0x38, 0x4d, 0xff, 0x92, 0xa6, 0x4d, 0xe3, 0xf4, 0xa5, 0x2f, 0x69, 0xfd, 0xd4, 0x49, - 0xde, 0xfa, 0xd0, 0x07, 0xef, 0xd6, 0x33, 0xfd, 0x73, 0x9b, 0xb4, 0xdd, 0x87, 0xcc, 0xec, 0x4b, - 0xe7, 0xfe, 0x81, 0x00, 0x48, 0x09, 0x50, 0x66, 0x6c, 0x3f, 0x89, 0x38, 0xf7, 0x7c, 0x1f, 0xce, - 0x3d, 0xf7, 0xdc, 0x73, 0xce, 0xbd, 0x10, 0xfc, 0xe0, 0x32, 0x9c, 0xed, 0x59, 0x56, 0xcf, 0x40, - 0xe7, 0x6d, 0xc7, 0xf2, 0xac, 0xfd, 0x41, 0xf7, 0x7c, 0x07, 0xb9, 0x9a, 0xa3, 0xdb, 0x9e, 0xe5, - 0xac, 0x12, 0x99, 0x34, 0x43, 0x35, 0x56, 0xb9, 0xc6, 0xf2, 0x36, 0xcc, 0x5e, 0xd5, 0x0d, 0xb4, - 0xe1, 0x2b, 0xb6, 0x91, 0x27, 0x3d, 0x03, 0x99, 0xae, 0x6e, 0xa0, 0xb2, 0x70, 0x36, 0xbd, 0x52, - 0x58, 0x7b, 0x64, 0x35, 0x02, 0x5a, 0x0d, 0x23, 0x5a, 0x58, 0x2c, 0x13, 0xc4, 0xf2, 0x3b, 0x19, - 0x98, 0x1b, 0x33, 0x2a, 0x49, 0x90, 0x31, 0xd5, 0x3e, 0x66, 0x14, 0x56, 0xf2, 0x32, 0xf9, 0x2d, - 0x95, 0x61, 0xca, 0x56, 0xb5, 0xeb, 0x6a, 0x0f, 0x95, 0x53, 0x44, 0xcc, 0x1f, 0xa5, 0x25, 0x80, - 0x0e, 0xb2, 0x91, 0xd9, 0x41, 0xa6, 0x76, 0x58, 0x4e, 0x9f, 0x4d, 0xaf, 0xe4, 0xe5, 0x80, 0x44, - 0x7a, 0x12, 0x66, 0xed, 0xc1, 0xbe, 0xa1, 0x6b, 0x4a, 0x40, 0x0d, 0xce, 0xa6, 0x57, 0xb2, 0xb2, - 0x48, 0x07, 0x36, 0x86, 0xca, 0x8f, 0xc1, 0xcc, 0x4d, 0xa4, 0x5e, 0x0f, 0xaa, 0x16, 0x88, 0x6a, - 0x09, 0x8b, 0x03, 0x8a, 0x35, 0x28, 0xf6, 0x91, 0xeb, 0xaa, 0x3d, 0xa4, 0x78, 0x87, 0x36, 0x2a, - 0x67, 0xc8, 0xec, 0xcf, 0x8e, 0xcc, 0x3e, 0x3a, 0xf3, 0x02, 0x43, 0xed, 0x1e, 0xda, 0x48, 0xaa, - 0x42, 0x1e, 0x99, 0x83, 0x3e, 0x65, 0xc8, 0x1e, 0xe1, 0xbf, 0xba, 0x39, 0xe8, 0x47, 0x59, 0x72, - 0x18, 0xc6, 0x28, 0xa6, 0x5c, 0xe4, 0xdc, 0xd0, 0x35, 0x54, 0x9e, 0x24, 0x04, 0x8f, 0x8d, 0x10, - 0xb4, 0xe9, 0x78, 0x94, 0x83, 0xe3, 0xa4, 0x1a, 0xe4, 0xd1, 0xcb, 0x1e, 0x32, 0x5d, 0xdd, 0x32, - 0xcb, 0x53, 0x84, 0xe4, 0xd1, 0x31, 0xab, 0x88, 0x8c, 0x4e, 0x94, 0x62, 0x88, 0x93, 0x2e, 0xc1, - 0x94, 0x65, 0x7b, 0xba, 0x65, 0xba, 0xe5, 0xdc, 0x59, 0x61, 0xa5, 0xb0, 0xf6, 0xa1, 0xb1, 0x81, - 0xd0, 0xa4, 0x3a, 0x32, 0x57, 0x96, 0x1a, 0x20, 0xba, 0xd6, 0xc0, 0xd1, 0x90, 0xa2, 0x59, 0x1d, - 0xa4, 0xe8, 0x66, 0xd7, 0x2a, 0xe7, 0x09, 0xc1, 0x99, 0xd1, 0x89, 0x10, 0xc5, 0x9a, 0xd5, 0x41, - 0x0d, 0xb3, 0x6b, 0xc9, 0x25, 0x37, 0xf4, 0x2c, 0x2d, 0xc0, 0xa4, 0x7b, 0x68, 0x7a, 0xea, 0xcb, - 0xe5, 0x22, 0x89, 0x10, 0xf6, 0xb4, 0xfc, 0xe6, 0x24, 0xcc, 0x24, 0x09, 0xb1, 0x2b, 0x90, 0xed, - 0xe2, 0x59, 0x96, 0x53, 0x27, 0xf1, 0x01, 0xc5, 0x84, 0x9d, 0x38, 0xf9, 0x63, 0x3a, 0xb1, 0x0a, - 0x05, 0x13, 0xb9, 0x1e, 0xea, 0xd0, 0x88, 0x48, 0x27, 0x8c, 0x29, 0xa0, 0xa0, 0xd1, 0x90, 0xca, - 0xfc, 0x58, 0x21, 0xf5, 0x02, 0xcc, 0xf8, 0x26, 0x29, 0x8e, 0x6a, 0xf6, 0x78, 0x6c, 0x9e, 0x8f, - 0xb3, 0x64, 0xb5, 0xce, 0x71, 0x32, 0x86, 0xc9, 0x25, 0x14, 0x7a, 0x96, 0x36, 0x00, 0x2c, 0x13, - 0x59, 0x5d, 0xa5, 0x83, 0x34, 0xa3, 0x9c, 0x3b, 0xc2, 0x4b, 0x4d, 0xac, 0x32, 0xe2, 0x25, 0x8b, - 0x4a, 0x35, 0x43, 0xba, 0x3c, 0x0c, 0xb5, 0xa9, 0x23, 0x22, 0x65, 0x9b, 0x6e, 0xb2, 0x91, 0x68, - 0xdb, 0x83, 0x92, 0x83, 0x70, 0xdc, 0xa3, 0x0e, 0x9b, 0x59, 0x9e, 0x18, 0xb1, 0x1a, 0x3b, 0x33, - 0x99, 0xc1, 0xe8, 0xc4, 0xa6, 0x9d, 0xe0, 0xa3, 0xf4, 0x30, 0xf8, 0x02, 0x85, 0x84, 0x15, 0x90, - 0x2c, 0x54, 0xe4, 0xc2, 0x1d, 0xb5, 0x8f, 0x16, 0x6f, 0x41, 0x29, 0xec, 0x1e, 0x69, 0x1e, 0xb2, - 0xae, 0xa7, 0x3a, 0x1e, 0x89, 0xc2, 0xac, 0x4c, 0x1f, 0x24, 0x11, 0xd2, 0xc8, 0xec, 0x90, 0x2c, - 0x97, 0x95, 0xf1, 0x4f, 0xe9, 0xa7, 0x86, 0x13, 0x4e, 0x93, 0x09, 0x7f, 0x78, 0x74, 0x45, 0x43, - 0xcc, 0xd1, 0x79, 0x2f, 0x3e, 0x0d, 0xd3, 0xa1, 0x09, 0x24, 0x7d, 0xf5, 0xf2, 0xcf, 0xc1, 0x03, - 0x63, 0xa9, 0xa5, 0x17, 0x60, 0x7e, 0x60, 0xea, 0xa6, 0x87, 0x1c, 0xdb, 0x41, 0x38, 0x62, 0xe9, - 0xab, 0xca, 0xff, 0x3a, 0x75, 0x44, 0xcc, 0xed, 0x05, 0xb5, 0x29, 0x8b, 0x3c, 0x37, 0x18, 0x15, - 0x3e, 0x91, 0xcf, 0xfd, 0xdb, 0x94, 0x78, 0xfb, 0xf6, 0xed, 0xdb, 0xa9, 0xe5, 0xcf, 0x4f, 0xc2, - 0xfc, 0xb8, 0x3d, 0x33, 0x76, 0xfb, 0x2e, 0xc0, 0xa4, 0x39, 0xe8, 0xef, 0x23, 0x87, 0x38, 0x29, - 0x2b, 0xb3, 0x27, 0xa9, 0x0a, 0x59, 0x43, 0xdd, 0x47, 0x46, 0x39, 0x73, 0x56, 0x58, 0x29, 0xad, - 0x3d, 0x99, 0x68, 0x57, 0xae, 0x6e, 0x61, 0x88, 0x4c, 0x91, 0xd2, 0x27, 0x20, 0xc3, 0x52, 0x34, - 0x66, 0x78, 0x22, 0x19, 0x03, 0xde, 0x4b, 0x32, 0xc1, 0x49, 0x0f, 0x42, 0x1e, 0xff, 0xa5, 0xb1, - 0x31, 0x49, 0x6c, 0xce, 0x61, 0x01, 0x8e, 0x0b, 0x69, 0x11, 0x72, 0x64, 0x9b, 0x74, 0x10, 0x2f, - 0x6d, 0xfe, 0x33, 0x0e, 0xac, 0x0e, 0xea, 0xaa, 0x03, 0xc3, 0x53, 0x6e, 0xa8, 0xc6, 0x00, 0x91, - 0x80, 0xcf, 0xcb, 0x45, 0x26, 0xfc, 0x34, 0x96, 0x49, 0x67, 0xa0, 0x40, 0x77, 0x95, 0x6e, 0x76, - 0xd0, 0xcb, 0x24, 0x7b, 0x66, 0x65, 0xba, 0xd1, 0x1a, 0x58, 0x82, 0x5f, 0x7f, 0xcd, 0xb5, 0x4c, - 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0xff, 0x74, 0x34, 0x71, 0x3f, 0x34, 0x7e, 0x7a, 0xd1, - 0x98, 0x5a, 0xfe, 0x56, 0x0a, 0x32, 0x24, 0x5f, 0xcc, 0x40, 0x61, 0xf7, 0xc5, 0x56, 0x5d, 0xd9, - 0x68, 0xee, 0xad, 0x6f, 0xd5, 0x45, 0x41, 0x2a, 0x01, 0x10, 0xc1, 0xd5, 0xad, 0x66, 0x75, 0x57, - 0x4c, 0xf9, 0xcf, 0x8d, 0x9d, 0xdd, 0x4b, 0x17, 0xc4, 0xb4, 0x0f, 0xd8, 0xa3, 0x82, 0x4c, 0x50, - 0xe1, 0xa9, 0x35, 0x31, 0x2b, 0x89, 0x50, 0xa4, 0x04, 0x8d, 0x17, 0xea, 0x1b, 0x97, 0x2e, 0x88, - 0x93, 0x61, 0xc9, 0x53, 0x6b, 0xe2, 0x94, 0x34, 0x0d, 0x79, 0x22, 0x59, 0x6f, 0x36, 0xb7, 0xc4, - 0x9c, 0xcf, 0xd9, 0xde, 0x95, 0x1b, 0x3b, 0x9b, 0x62, 0xde, 0xe7, 0xdc, 0x94, 0x9b, 0x7b, 0x2d, - 0x11, 0x7c, 0x86, 0xed, 0x7a, 0xbb, 0x5d, 0xdd, 0xac, 0x8b, 0x05, 0x5f, 0x63, 0xfd, 0xc5, 0xdd, - 0x7a, 0x5b, 0x2c, 0x86, 0xcc, 0x7a, 0x6a, 0x4d, 0x9c, 0xf6, 0x5f, 0x51, 0xdf, 0xd9, 0xdb, 0x16, - 0x4b, 0xd2, 0x2c, 0x4c, 0xd3, 0x57, 0x70, 0x23, 0x66, 0x22, 0xa2, 0x4b, 0x17, 0x44, 0x71, 0x68, - 0x08, 0x65, 0x99, 0x0d, 0x09, 0x2e, 0x5d, 0x10, 0xa5, 0xe5, 0x1a, 0x64, 0x49, 0x74, 0x49, 0x12, - 0x94, 0xb6, 0xaa, 0xeb, 0xf5, 0x2d, 0xa5, 0xd9, 0xda, 0x6d, 0x34, 0x77, 0xaa, 0x5b, 0xa2, 0x30, - 0x94, 0xc9, 0xf5, 0x4f, 0xed, 0x35, 0xe4, 0xfa, 0x86, 0x98, 0x0a, 0xca, 0x5a, 0xf5, 0xea, 0x6e, - 0x7d, 0x43, 0x4c, 0x2f, 0x6b, 0x30, 0x3f, 0x2e, 0x4f, 0x8e, 0xdd, 0x19, 0x81, 0x25, 0x4e, 0x1d, - 0xb1, 0xc4, 0x84, 0x6b, 0x64, 0x89, 0xff, 0x25, 0x05, 0x73, 0x63, 0x6a, 0xc5, 0xd8, 0x97, 0x3c, - 0x0b, 0x59, 0x1a, 0xa2, 0xb4, 0x7a, 0x3e, 0x3e, 0xb6, 0xe8, 0x90, 0x80, 0x1d, 0xa9, 0xa0, 0x04, - 0x17, 0xec, 0x20, 0xd2, 0x47, 0x74, 0x10, 0x98, 0x62, 0x24, 0xa7, 0xff, 0xcc, 0x48, 0x4e, 0xa7, - 0x65, 0xef, 0x52, 0x92, 0xb2, 0x47, 0x64, 0x27, 0xcb, 0xed, 0xd9, 0x31, 0xb9, 0xfd, 0x0a, 0xcc, - 0x8e, 0x10, 0x25, 0xce, 0xb1, 0xaf, 0x08, 0x50, 0x3e, 0xca, 0x39, 0x31, 0x99, 0x2e, 0x15, 0xca, - 0x74, 0x57, 0xa2, 0x1e, 0x3c, 0x77, 0xf4, 0x22, 0x8c, 0xac, 0xf5, 0x1b, 0x02, 0x2c, 0x8c, 0xef, - 0x14, 0xc7, 0xda, 0xf0, 0x09, 0x98, 0xec, 0x23, 0xef, 0xc0, 0xe2, 0xdd, 0xd2, 0x87, 0xc7, 0xd4, - 0x60, 0x3c, 0x1c, 0x5d, 0x6c, 0x86, 0x0a, 0x16, 0xf1, 0xf4, 0x51, 0xed, 0x1e, 0xb5, 0x66, 0xc4, - 0xd2, 0xcf, 0xa5, 0xe0, 0x81, 0xb1, 0xe4, 0x63, 0x0d, 0x7d, 0x08, 0x40, 0x37, 0xed, 0x81, 0x47, - 0x3b, 0x22, 0x9a, 0x60, 0xf3, 0x44, 0x42, 0x92, 0x17, 0x4e, 0x9e, 0x03, 0xcf, 0x1f, 0x4f, 0x93, - 0x71, 0xa0, 0x22, 0xa2, 0xf0, 0xcc, 0xd0, 0xd0, 0x0c, 0x31, 0x74, 0xe9, 0x88, 0x99, 0x8e, 0x04, - 0xe6, 0x47, 0x41, 0xd4, 0x0c, 0x1d, 0x99, 0x9e, 0xe2, 0x7a, 0x0e, 0x52, 0xfb, 0xba, 0xd9, 0x23, - 0x15, 0x24, 0x57, 0xc9, 0x76, 0x55, 0xc3, 0x45, 0xf2, 0x0c, 0x1d, 0x6e, 0xf3, 0x51, 0x8c, 0x20, - 0x01, 0xe4, 0x04, 0x10, 0x93, 0x21, 0x04, 0x1d, 0xf6, 0x11, 0xcb, 0xdf, 0xcc, 0x41, 0x21, 0xd0, - 0x57, 0x4b, 0xe7, 0xa0, 0x78, 0x4d, 0xbd, 0xa1, 0x2a, 0xfc, 0xac, 0x44, 0x3d, 0x51, 0xc0, 0xb2, - 0x16, 0x3b, 0x2f, 0x7d, 0x14, 0xe6, 0x89, 0x8a, 0x35, 0xf0, 0x90, 0xa3, 0x68, 0x86, 0xea, 0xba, - 0xc4, 0x69, 0x39, 0xa2, 0x2a, 0xe1, 0xb1, 0x26, 0x1e, 0xaa, 0xf1, 0x11, 0xe9, 0x22, 0xcc, 0x11, - 0x44, 0x7f, 0x60, 0x78, 0xba, 0x6d, 0x20, 0x05, 0x9f, 0xde, 0x5c, 0x52, 0x49, 0x7c, 0xcb, 0x66, - 0xb1, 0xc6, 0x36, 0x53, 0xc0, 0x16, 0xb9, 0xd2, 0x06, 0x3c, 0x44, 0x60, 0x3d, 0x64, 0x22, 0x47, - 0xf5, 0x90, 0x82, 0x3e, 0x3b, 0x50, 0x0d, 0x57, 0x51, 0xcd, 0x8e, 0x72, 0xa0, 0xba, 0x07, 0xe5, - 0x79, 0x4c, 0xb0, 0x9e, 0x2a, 0x0b, 0xf2, 0x69, 0xac, 0xb8, 0xc9, 0xf4, 0xea, 0x44, 0xad, 0x6a, - 0x76, 0x3e, 0xa9, 0xba, 0x07, 0x52, 0x05, 0x16, 0x08, 0x8b, 0xeb, 0x39, 0xba, 0xd9, 0x53, 0xb4, - 0x03, 0xa4, 0x5d, 0x57, 0x06, 0x5e, 0xf7, 0x99, 0xf2, 0x83, 0xc1, 0xf7, 0x13, 0x0b, 0xdb, 0x44, - 0xa7, 0x86, 0x55, 0xf6, 0xbc, 0xee, 0x33, 0x52, 0x1b, 0x8a, 0x78, 0x31, 0xfa, 0xfa, 0x2d, 0xa4, - 0x74, 0x2d, 0x87, 0x94, 0xc6, 0xd2, 0x98, 0xd4, 0x14, 0xf0, 0xe0, 0x6a, 0x93, 0x01, 0xb6, 0xad, - 0x0e, 0xaa, 0x64, 0xdb, 0xad, 0x7a, 0x7d, 0x43, 0x2e, 0x70, 0x96, 0xab, 0x96, 0x83, 0x03, 0xaa, - 0x67, 0xf9, 0x0e, 0x2e, 0xd0, 0x80, 0xea, 0x59, 0xdc, 0xbd, 0x17, 0x61, 0x4e, 0xd3, 0xe8, 0x9c, - 0x75, 0x4d, 0x61, 0x67, 0x2c, 0xb7, 0x2c, 0x86, 0x9c, 0xa5, 0x69, 0x9b, 0x54, 0x81, 0xc5, 0xb8, - 0x2b, 0x5d, 0x86, 0x07, 0x86, 0xce, 0x0a, 0x02, 0x67, 0x47, 0x66, 0x19, 0x85, 0x5e, 0x84, 0x39, - 0xfb, 0x70, 0x14, 0x28, 0x85, 0xde, 0x68, 0x1f, 0x46, 0x61, 0x4f, 0xc3, 0xbc, 0x7d, 0x60, 0x8f, - 0xe2, 0x9e, 0x08, 0xe2, 0x24, 0xfb, 0xc0, 0x8e, 0x02, 0x1f, 0x25, 0x07, 0x6e, 0x07, 0x69, 0xaa, - 0x87, 0x3a, 0xe5, 0x53, 0x41, 0xf5, 0xc0, 0x80, 0x74, 0x1e, 0x44, 0x4d, 0x53, 0x90, 0xa9, 0xee, - 0x1b, 0x48, 0x51, 0x1d, 0x64, 0xaa, 0x6e, 0xf9, 0x4c, 0x50, 0xb9, 0xa4, 0x69, 0x75, 0x32, 0x5a, - 0x25, 0x83, 0xd2, 0x13, 0x30, 0x6b, 0xed, 0x5f, 0xd3, 0x68, 0x48, 0x2a, 0xb6, 0x83, 0xba, 0xfa, - 0xcb, 0xe5, 0x47, 0x88, 0x7f, 0x67, 0xf0, 0x00, 0x09, 0xc8, 0x16, 0x11, 0x4b, 0x8f, 0x83, 0xa8, - 0xb9, 0x07, 0xaa, 0x63, 0x93, 0x9c, 0xec, 0xda, 0xaa, 0x86, 0xca, 0x8f, 0x52, 0x55, 0x2a, 0xdf, - 0xe1, 0x62, 0xbc, 0x25, 0xdc, 0x9b, 0x7a, 0xd7, 0xe3, 0x8c, 0x8f, 0xd1, 0x2d, 0x41, 0x64, 0x8c, - 0x6d, 0x05, 0x44, 0xec, 0x8a, 0xd0, 0x8b, 0x57, 0x88, 0x5a, 0xc9, 0x3e, 0xb0, 0x83, 0xef, 0x7d, - 0x18, 0xa6, 0xb1, 0xe6, 0xf0, 0xa5, 0x8f, 0xd3, 0x86, 0xcc, 0x3e, 0x08, 0xbc, 0xf1, 0x3d, 0xeb, - 0x8d, 0x97, 0x2b, 0x50, 0x0c, 0xc6, 0xa7, 0x94, 0x07, 0x1a, 0xa1, 0xa2, 0x80, 0x9b, 0x95, 0x5a, - 0x73, 0x03, 0xb7, 0x19, 0x2f, 0xd5, 0xc5, 0x14, 0x6e, 0x77, 0xb6, 0x1a, 0xbb, 0x75, 0x45, 0xde, - 0xdb, 0xd9, 0x6d, 0x6c, 0xd7, 0xc5, 0x74, 0xb0, 0xaf, 0xfe, 0x6e, 0x0a, 0x4a, 0xe1, 0x23, 0x92, - 0xf4, 0x93, 0x70, 0x8a, 0xdf, 0x67, 0xb8, 0xc8, 0x53, 0x6e, 0xea, 0x0e, 0xd9, 0x32, 0x7d, 0x95, - 0x96, 0x2f, 0x7f, 0xd1, 0xe6, 0x99, 0x56, 0x1b, 0x79, 0xcf, 0xeb, 0x0e, 0xde, 0x10, 0x7d, 0xd5, - 0x93, 0xb6, 0xe0, 0x8c, 0x69, 0x29, 0xae, 0xa7, 0x9a, 0x1d, 0xd5, 0xe9, 0x28, 0xc3, 0x9b, 0x24, - 0x45, 0xd5, 0x34, 0xe4, 0xba, 0x16, 0x2d, 0x55, 0x3e, 0xcb, 0x87, 0x4c, 0xab, 0xcd, 0x94, 0x87, - 0x39, 0xbc, 0xca, 0x54, 0x23, 0x01, 0x96, 0x3e, 0x2a, 0xc0, 0x1e, 0x84, 0x7c, 0x5f, 0xb5, 0x15, - 0x64, 0x7a, 0xce, 0x21, 0x69, 0x8c, 0x73, 0x72, 0xae, 0xaf, 0xda, 0x75, 0xfc, 0xfc, 0xfe, 0x9c, - 0x4f, 0xfe, 0x39, 0x0d, 0xc5, 0x60, 0x73, 0x8c, 0xcf, 0x1a, 0x1a, 0xa9, 0x23, 0x02, 0xc9, 0x34, - 0x0f, 0x1f, 0xdb, 0x4a, 0xaf, 0xd6, 0x70, 0x81, 0xa9, 0x4c, 0xd2, 0x96, 0x55, 0xa6, 0x48, 0x5c, - 0xdc, 0x71, 0x6e, 0x41, 0xb4, 0x45, 0xc8, 0xc9, 0xec, 0x49, 0xda, 0x84, 0xc9, 0x6b, 0x2e, 0xe1, - 0x9e, 0x24, 0xdc, 0x8f, 0x1c, 0xcf, 0xfd, 0x5c, 0x9b, 0x90, 0xe7, 0x9f, 0x6b, 0x2b, 0x3b, 0x4d, - 0x79, 0xbb, 0xba, 0x25, 0x33, 0xb8, 0x74, 0x1a, 0x32, 0x86, 0x7a, 0xeb, 0x30, 0x5c, 0x8a, 0x88, - 0x28, 0xa9, 0xe3, 0x4f, 0x43, 0xe6, 0x26, 0x52, 0xaf, 0x87, 0x0b, 0x00, 0x11, 0xbd, 0x87, 0xa1, - 0x7f, 0x1e, 0xb2, 0xc4, 0x5f, 0x12, 0x00, 0xf3, 0x98, 0x38, 0x21, 0xe5, 0x20, 0x53, 0x6b, 0xca, - 0x38, 0xfc, 0x45, 0x28, 0x52, 0xa9, 0xd2, 0x6a, 0xd4, 0x6b, 0x75, 0x31, 0xb5, 0x7c, 0x11, 0x26, - 0xa9, 0x13, 0xf0, 0xd6, 0xf0, 0xdd, 0x20, 0x4e, 0xb0, 0x47, 0xc6, 0x21, 0xf0, 0xd1, 0xbd, 0xed, - 0xf5, 0xba, 0x2c, 0xa6, 0x82, 0xcb, 0xeb, 0x42, 0x31, 0xd8, 0x17, 0xbf, 0x3f, 0x31, 0xf5, 0x1d, - 0x01, 0x0a, 0x81, 0x3e, 0x17, 0x37, 0x28, 0xaa, 0x61, 0x58, 0x37, 0x15, 0xd5, 0xd0, 0x55, 0x97, - 0x05, 0x05, 0x10, 0x51, 0x15, 0x4b, 0x92, 0x2e, 0xda, 0xfb, 0x62, 0xfc, 0xeb, 0x02, 0x88, 0xd1, - 0x16, 0x33, 0x62, 0xa0, 0xf0, 0x81, 0x1a, 0xf8, 0x9a, 0x00, 0xa5, 0x70, 0x5f, 0x19, 0x31, 0xef, - 0xdc, 0x07, 0x6a, 0xde, 0xdb, 0x29, 0x98, 0x0e, 0x75, 0x93, 0x49, 0xad, 0xfb, 0x2c, 0xcc, 0xea, - 0x1d, 0xd4, 0xb7, 0x2d, 0x0f, 0x99, 0xda, 0xa1, 0x62, 0xa0, 0x1b, 0xc8, 0x28, 0x2f, 0x93, 0x44, - 0x71, 0xfe, 0xf8, 0x7e, 0x75, 0xb5, 0x31, 0xc4, 0x6d, 0x61, 0x58, 0x65, 0xae, 0xb1, 0x51, 0xdf, - 0x6e, 0x35, 0x77, 0xeb, 0x3b, 0xb5, 0x17, 0x95, 0xbd, 0x9d, 0x9f, 0xde, 0x69, 0x3e, 0xbf, 0x23, - 0x8b, 0x7a, 0x44, 0xed, 0x3d, 0xdc, 0xea, 0x2d, 0x10, 0xa3, 0x46, 0x49, 0xa7, 0x60, 0x9c, 0x59, - 0xe2, 0x84, 0x34, 0x07, 0x33, 0x3b, 0x4d, 0xa5, 0xdd, 0xd8, 0xa8, 0x2b, 0xf5, 0xab, 0x57, 0xeb, - 0xb5, 0xdd, 0x36, 0xbd, 0x81, 0xf0, 0xb5, 0x77, 0xc3, 0x9b, 0xfa, 0xd5, 0x34, 0xcc, 0x8d, 0xb1, - 0x44, 0xaa, 0xb2, 0xb3, 0x03, 0x3d, 0xce, 0x7c, 0x24, 0x89, 0xf5, 0xab, 0xb8, 0xe4, 0xb7, 0x54, - 0xc7, 0x63, 0x47, 0x8d, 0xc7, 0x01, 0x7b, 0xc9, 0xf4, 0xf4, 0xae, 0x8e, 0x1c, 0x76, 0x61, 0x43, - 0x0f, 0x14, 0x33, 0x43, 0x39, 0xbd, 0xb3, 0xf9, 0x09, 0x90, 0x6c, 0xcb, 0xd5, 0x3d, 0xfd, 0x06, - 0x52, 0x74, 0x93, 0xdf, 0xee, 0xe0, 0x03, 0x46, 0x46, 0x16, 0xf9, 0x48, 0xc3, 0xf4, 0x7c, 0x6d, - 0x13, 0xf5, 0xd4, 0x88, 0x36, 0x4e, 0xe0, 0x69, 0x59, 0xe4, 0x23, 0xbe, 0xf6, 0x39, 0x28, 0x76, - 0xac, 0x01, 0xee, 0xba, 0xa8, 0x1e, 0xae, 0x17, 0x82, 0x5c, 0xa0, 0x32, 0x5f, 0x85, 0xf5, 0xd3, - 0xc3, 0x6b, 0xa5, 0xa2, 0x5c, 0xa0, 0x32, 0xaa, 0xf2, 0x18, 0xcc, 0xa8, 0xbd, 0x9e, 0x83, 0xc9, - 0x39, 0x11, 0x3d, 0x21, 0x94, 0x7c, 0x31, 0x51, 0x5c, 0x7c, 0x0e, 0x72, 0xdc, 0x0f, 0xb8, 0x24, - 0x63, 0x4f, 0x28, 0x36, 0x3d, 0xf6, 0xa6, 0x56, 0xf2, 0x72, 0xce, 0xe4, 0x83, 0xe7, 0xa0, 0xa8, - 0xbb, 0xca, 0xf0, 0x96, 0x3c, 0x75, 0x36, 0xb5, 0x92, 0x93, 0x0b, 0xba, 0xeb, 0xdf, 0x30, 0x2e, - 0xbf, 0x91, 0x82, 0x52, 0xf8, 0x96, 0x5f, 0xda, 0x80, 0x9c, 0x61, 0x69, 0x2a, 0x09, 0x2d, 0xfa, - 0x89, 0x69, 0x25, 0xe6, 0xc3, 0xc0, 0xea, 0x16, 0xd3, 0x97, 0x7d, 0xe4, 0xe2, 0x3f, 0x0a, 0x90, - 0xe3, 0x62, 0x69, 0x01, 0x32, 0xb6, 0xea, 0x1d, 0x10, 0xba, 0xec, 0x7a, 0x4a, 0x14, 0x64, 0xf2, - 0x8c, 0xe5, 0xae, 0xad, 0x9a, 0x24, 0x04, 0x98, 0x1c, 0x3f, 0xe3, 0x75, 0x35, 0x90, 0xda, 0x21, - 0xc7, 0x0f, 0xab, 0xdf, 0x47, 0xa6, 0xe7, 0xf2, 0x75, 0x65, 0xf2, 0x1a, 0x13, 0x4b, 0x4f, 0xc2, - 0xac, 0xe7, 0xa8, 0xba, 0x11, 0xd2, 0xcd, 0x10, 0x5d, 0x91, 0x0f, 0xf8, 0xca, 0x15, 0x38, 0xcd, - 0x79, 0x3b, 0xc8, 0x53, 0xb5, 0x03, 0xd4, 0x19, 0x82, 0x26, 0xc9, 0x35, 0xc3, 0x29, 0xa6, 0xb0, - 0xc1, 0xc6, 0x39, 0x76, 0xf9, 0xfb, 0x02, 0xcc, 0xf2, 0x03, 0x53, 0xc7, 0x77, 0xd6, 0x36, 0x80, - 0x6a, 0x9a, 0x96, 0x17, 0x74, 0xd7, 0x68, 0x28, 0x8f, 0xe0, 0x56, 0xab, 0x3e, 0x48, 0x0e, 0x10, - 0x2c, 0xf6, 0x01, 0x86, 0x23, 0x47, 0xba, 0xed, 0x0c, 0x14, 0xd8, 0x27, 0x1c, 0xf2, 0x1d, 0x90, - 0x1e, 0xb1, 0x81, 0x8a, 0xf0, 0xc9, 0x4a, 0x9a, 0x87, 0xec, 0x3e, 0xea, 0xe9, 0x26, 0xbb, 0x98, - 0xa5, 0x0f, 0xfc, 0x22, 0x24, 0xe3, 0x5f, 0x84, 0xac, 0x7f, 0x06, 0xe6, 0x34, 0xab, 0x1f, 0x35, - 0x77, 0x5d, 0x8c, 0x1c, 0xf3, 0xdd, 0x4f, 0x0a, 0x2f, 0xc1, 0xb0, 0xc5, 0xfc, 0x91, 0x20, 0x7c, - 0x39, 0x95, 0xde, 0x6c, 0xad, 0x7f, 0x2d, 0xb5, 0xb8, 0x49, 0xa1, 0x2d, 0x3e, 0x53, 0x19, 0x75, - 0x0d, 0xa4, 0x61, 0xeb, 0xe1, 0x2b, 0x4f, 0xc2, 0x47, 0x7a, 0xba, 0x77, 0x30, 0xd8, 0x5f, 0xd5, - 0xac, 0xfe, 0xf9, 0x9e, 0xd5, 0xb3, 0x86, 0x9f, 0x3e, 0xf1, 0x13, 0x79, 0x20, 0xbf, 0xd8, 0xe7, - 0xcf, 0xbc, 0x2f, 0x5d, 0x8c, 0xfd, 0x56, 0x5a, 0xd9, 0x81, 0x39, 0xa6, 0xac, 0x90, 0xef, 0x2f, - 0xf4, 0x14, 0x21, 0x1d, 0x7b, 0x87, 0x55, 0xfe, 0xc6, 0x3b, 0xa4, 0x5c, 0xcb, 0xb3, 0x0c, 0x8a, - 0xc7, 0xe8, 0x41, 0xa3, 0x22, 0xc3, 0x03, 0x21, 0x3e, 0xba, 0x35, 0x91, 0x13, 0xc3, 0xf8, 0x5d, - 0xc6, 0x38, 0x17, 0x60, 0x6c, 0x33, 0x68, 0xa5, 0x06, 0xd3, 0x27, 0xe1, 0xfa, 0x7b, 0xc6, 0x55, - 0x44, 0x41, 0x92, 0x4d, 0x98, 0x21, 0x24, 0xda, 0xc0, 0xf5, 0xac, 0x3e, 0xc9, 0x7b, 0xc7, 0xd3, - 0xfc, 0xc3, 0x3b, 0x74, 0xaf, 0x94, 0x30, 0xac, 0xe6, 0xa3, 0x2a, 0x15, 0x20, 0x9f, 0x9c, 0x3a, - 0x48, 0x33, 0x62, 0x18, 0xde, 0x62, 0x86, 0xf8, 0xfa, 0x95, 0x4f, 0xc3, 0x3c, 0xfe, 0x4d, 0xd2, - 0x52, 0xd0, 0x92, 0xf8, 0x0b, 0xaf, 0xf2, 0xf7, 0x5f, 0xa1, 0xdb, 0x71, 0xce, 0x27, 0x08, 0xd8, - 0x14, 0x58, 0xc5, 0x1e, 0xf2, 0x3c, 0xe4, 0xb8, 0x8a, 0x6a, 0x8c, 0x33, 0x2f, 0x70, 0x63, 0x50, - 0xfe, 0xc2, 0xbb, 0xe1, 0x55, 0xdc, 0xa4, 0xc8, 0xaa, 0x61, 0x54, 0xf6, 0xe0, 0xd4, 0x98, 0xa8, - 0x48, 0xc0, 0xf9, 0x2a, 0xe3, 0x9c, 0x1f, 0x89, 0x0c, 0x4c, 0xdb, 0x02, 0x2e, 0xf7, 0xd7, 0x32, - 0x01, 0xe7, 0xef, 0x31, 0x4e, 0x89, 0x61, 0xf9, 0x92, 0x62, 0xc6, 0xe7, 0x60, 0xf6, 0x06, 0x72, - 0xf6, 0x2d, 0x97, 0xdd, 0xd2, 0x24, 0xa0, 0x7b, 0x8d, 0xd1, 0xcd, 0x30, 0x20, 0xb9, 0xb6, 0xc1, - 0x5c, 0x97, 0x21, 0xd7, 0x55, 0x35, 0x94, 0x80, 0xe2, 0x8b, 0x8c, 0x62, 0x0a, 0xeb, 0x63, 0x68, - 0x15, 0x8a, 0x3d, 0x8b, 0x55, 0xa6, 0x78, 0xf8, 0xeb, 0x0c, 0x5e, 0xe0, 0x18, 0x46, 0x61, 0x5b, - 0xf6, 0xc0, 0xc0, 0x65, 0x2b, 0x9e, 0xe2, 0xf7, 0x39, 0x05, 0xc7, 0x30, 0x8a, 0x13, 0xb8, 0xf5, - 0x0f, 0x38, 0x85, 0x1b, 0xf0, 0xe7, 0xb3, 0x50, 0xb0, 0x4c, 0xe3, 0xd0, 0x32, 0x93, 0x18, 0xf1, - 0x25, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0xae, 0x40, 0x3e, 0xe9, 0x42, 0xfc, 0xd1, 0xbb, 0x7c, 0x7b, - 0xf0, 0x15, 0xd8, 0x84, 0x19, 0x9e, 0xa0, 0x74, 0xcb, 0x4c, 0x40, 0xf1, 0x15, 0x46, 0x51, 0x0a, - 0xc0, 0xd8, 0x34, 0x3c, 0xe4, 0x7a, 0x3d, 0x94, 0x84, 0xe4, 0x0d, 0x3e, 0x0d, 0x06, 0x61, 0xae, - 0xdc, 0x47, 0xa6, 0x76, 0x90, 0x8c, 0xe1, 0xab, 0xdc, 0x95, 0x1c, 0x83, 0x29, 0x6a, 0x30, 0xdd, - 0x57, 0x1d, 0xf7, 0x40, 0x35, 0x12, 0x2d, 0xc7, 0x1f, 0x33, 0x8e, 0xa2, 0x0f, 0x62, 0x1e, 0x19, - 0x98, 0x27, 0xa1, 0xf9, 0x1a, 0xf7, 0x48, 0x00, 0xc6, 0xb6, 0x9e, 0xeb, 0x91, 0x2b, 0xad, 0x93, - 0xb0, 0xfd, 0x09, 0xdf, 0x7a, 0x14, 0xbb, 0x1d, 0x64, 0xbc, 0x02, 0x79, 0x57, 0xbf, 0x95, 0x88, - 0xe6, 0x4f, 0xf9, 0x4a, 0x13, 0x00, 0x06, 0xbf, 0x08, 0xa7, 0xc7, 0x96, 0x89, 0x04, 0x64, 0x7f, - 0xc6, 0xc8, 0x16, 0xc6, 0x94, 0x0a, 0x96, 0x12, 0x4e, 0x4a, 0xf9, 0xe7, 0x3c, 0x25, 0xa0, 0x08, - 0x57, 0x0b, 0x9f, 0x15, 0x5c, 0xb5, 0x7b, 0x32, 0xaf, 0xfd, 0x05, 0xf7, 0x1a, 0xc5, 0x86, 0xbc, - 0xb6, 0x0b, 0x0b, 0x8c, 0xf1, 0x64, 0xeb, 0xfa, 0x75, 0x9e, 0x58, 0x29, 0x7a, 0x2f, 0xbc, 0xba, - 0x9f, 0x81, 0x45, 0xdf, 0x9d, 0xbc, 0x29, 0x75, 0x95, 0xbe, 0x6a, 0x27, 0x60, 0xfe, 0x06, 0x63, - 0xe6, 0x19, 0xdf, 0xef, 0x6a, 0xdd, 0x6d, 0xd5, 0xc6, 0xe4, 0x2f, 0x40, 0x99, 0x93, 0x0f, 0x4c, - 0x07, 0x69, 0x56, 0xcf, 0xd4, 0x6f, 0xa1, 0x4e, 0x02, 0xea, 0xbf, 0x8c, 0x2c, 0xd5, 0x5e, 0x00, - 0x8e, 0x99, 0x1b, 0x20, 0xfa, 0xbd, 0x8a, 0xa2, 0xf7, 0x6d, 0xcb, 0xf1, 0x62, 0x18, 0xbf, 0xc9, - 0x57, 0xca, 0xc7, 0x35, 0x08, 0xac, 0x52, 0x87, 0x12, 0x79, 0x4c, 0x1a, 0x92, 0x7f, 0xc5, 0x88, - 0xa6, 0x87, 0x28, 0x96, 0x38, 0x34, 0xab, 0x6f, 0xab, 0x4e, 0x92, 0xfc, 0xf7, 0xd7, 0x3c, 0x71, - 0x30, 0x08, 0x4b, 0x1c, 0xde, 0xa1, 0x8d, 0x70, 0xb5, 0x4f, 0xc0, 0xf0, 0x2d, 0x9e, 0x38, 0x38, - 0x86, 0x51, 0xf0, 0x86, 0x21, 0x01, 0xc5, 0xdf, 0x70, 0x0a, 0x8e, 0xc1, 0x14, 0x9f, 0x1a, 0x16, - 0x5a, 0x07, 0xf5, 0x74, 0xd7, 0x73, 0x68, 0x2b, 0x7c, 0x3c, 0xd5, 0xb7, 0xdf, 0x0d, 0x37, 0x61, - 0x72, 0x00, 0x8a, 0x33, 0x11, 0xbb, 0x42, 0x25, 0x27, 0xa5, 0x78, 0xc3, 0xde, 0xe4, 0x99, 0x28, - 0x00, 0xc3, 0xb6, 0x05, 0x3a, 0x44, 0xec, 0x76, 0x0d, 0x9f, 0x0f, 0x12, 0xd0, 0x7d, 0x27, 0x62, - 0x5c, 0x9b, 0x63, 0x31, 0x67, 0xa0, 0xff, 0x19, 0x98, 0xd7, 0xd1, 0x61, 0xa2, 0xe8, 0xfc, 0xdb, - 0x48, 0xff, 0xb3, 0x47, 0x91, 0x34, 0x87, 0xcc, 0x44, 0xfa, 0x29, 0x29, 0xee, 0x9f, 0x75, 0xca, - 0x3f, 0x7f, 0x8f, 0xcd, 0x37, 0xdc, 0x4e, 0x55, 0xb6, 0x70, 0x90, 0x87, 0x9b, 0x9e, 0x78, 0xb2, - 0x57, 0xee, 0xf9, 0x71, 0x1e, 0xea, 0x79, 0x2a, 0x57, 0x61, 0x3a, 0xd4, 0xf0, 0xc4, 0x53, 0xfd, - 0x02, 0xa3, 0x2a, 0x06, 0xfb, 0x9d, 0xca, 0x45, 0xc8, 0xe0, 0xe6, 0x25, 0x1e, 0xfe, 0x8b, 0x0c, - 0x4e, 0xd4, 0x2b, 0x1f, 0x87, 0x1c, 0x6f, 0x5a, 0xe2, 0xa1, 0xbf, 0xc4, 0xa0, 0x3e, 0x04, 0xc3, - 0x79, 0xc3, 0x12, 0x0f, 0xff, 0x65, 0x0e, 0xe7, 0x10, 0x0c, 0x4f, 0xee, 0xc2, 0xbf, 0xfb, 0x95, - 0x0c, 0x2b, 0x3a, 0xdc, 0x77, 0x57, 0x60, 0x8a, 0x75, 0x2a, 0xf1, 0xe8, 0xcf, 0xb1, 0x97, 0x73, - 0x44, 0xe5, 0x69, 0xc8, 0x26, 0x74, 0xf8, 0xaf, 0x32, 0x28, 0xd5, 0xaf, 0xd4, 0xa0, 0x10, 0xe8, - 0x4e, 0xe2, 0xe1, 0xbf, 0xc6, 0xe0, 0x41, 0x14, 0x36, 0x9d, 0x75, 0x27, 0xf1, 0x04, 0xbf, 0xce, - 0x4d, 0x67, 0x08, 0xec, 0x36, 0xde, 0x98, 0xc4, 0xa3, 0x7f, 0x83, 0x7b, 0x9d, 0x43, 0x2a, 0xcf, - 0x42, 0xde, 0x2f, 0x36, 0xf1, 0xf8, 0xdf, 0x64, 0xf8, 0x21, 0x06, 0x7b, 0x20, 0x50, 0xec, 0xe2, - 0x29, 0x7e, 0x8b, 0x7b, 0x20, 0x80, 0xc2, 0xdb, 0x28, 0xda, 0xc0, 0xc4, 0x33, 0xfd, 0x36, 0xdf, - 0x46, 0x91, 0xfe, 0x05, 0xaf, 0x26, 0xc9, 0xf9, 0xf1, 0x14, 0xbf, 0xc3, 0x57, 0x93, 0xe8, 0x63, - 0x33, 0xa2, 0x1d, 0x41, 0x3c, 0xc7, 0xef, 0x72, 0x33, 0x22, 0x0d, 0x41, 0xa5, 0x05, 0xd2, 0x68, - 0x37, 0x10, 0xcf, 0xf7, 0x79, 0xc6, 0x37, 0x3b, 0xd2, 0x0c, 0x54, 0x9e, 0x87, 0x85, 0xf1, 0x9d, - 0x40, 0x3c, 0xeb, 0x17, 0xee, 0x45, 0xce, 0x6e, 0xc1, 0x46, 0xa0, 0xb2, 0x3b, 0x2c, 0x29, 0xc1, - 0x2e, 0x20, 0x9e, 0xf6, 0xd5, 0x7b, 0xe1, 0xc4, 0x1d, 0x6c, 0x02, 0x2a, 0x55, 0x80, 0x61, 0x01, - 0x8e, 0xe7, 0x7a, 0x8d, 0x71, 0x05, 0x40, 0x78, 0x6b, 0xb0, 0xfa, 0x1b, 0x8f, 0xff, 0x22, 0xdf, - 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, 0xf1, 0xe8, 0xd7, 0xf9, 0xd6, 0xe0, 0x10, 0x1c, 0xd9, - 0x81, 0xea, 0x16, 0xcf, 0xf0, 0x25, 0x1e, 0xd9, 0x01, 0x54, 0x65, 0x07, 0x66, 0x47, 0x0a, 0x62, - 0x3c, 0xd5, 0x97, 0x19, 0x95, 0x18, 0xad, 0x87, 0xc1, 0xe2, 0xc5, 0x8a, 0x61, 0x3c, 0xdb, 0x1f, - 0x46, 0x8a, 0x17, 0xab, 0x85, 0x95, 0x2b, 0x90, 0x33, 0x07, 0x86, 0x81, 0x37, 0x8f, 0x74, 0xfc, - 0x3f, 0xd8, 0x95, 0xff, 0xfd, 0x3e, 0xf3, 0x0e, 0x07, 0x54, 0x2e, 0x42, 0x16, 0xf5, 0xf7, 0x51, - 0x27, 0x0e, 0xf9, 0x1f, 0xf7, 0x79, 0xc2, 0xc4, 0xda, 0x95, 0x67, 0x01, 0xe8, 0xd5, 0x08, 0xf9, - 0xec, 0x17, 0x83, 0xfd, 0xcf, 0xfb, 0xec, 0x5f, 0x5f, 0x86, 0x90, 0x21, 0x01, 0xfd, 0x47, 0x9a, - 0xe3, 0x09, 0xde, 0x0d, 0x13, 0x90, 0x15, 0xb9, 0x0c, 0x53, 0xd7, 0x5c, 0xcb, 0xf4, 0xd4, 0x5e, - 0x1c, 0xfa, 0xbf, 0x18, 0x9a, 0xeb, 0x63, 0x87, 0xf5, 0x2d, 0x07, 0x79, 0x6a, 0xcf, 0x8d, 0xc3, - 0xfe, 0x37, 0xc3, 0xfa, 0x00, 0x0c, 0xd6, 0x54, 0xd7, 0x4b, 0x32, 0xef, 0x1f, 0x70, 0x30, 0x07, - 0x60, 0xa3, 0xf1, 0xef, 0xeb, 0xe8, 0x30, 0x0e, 0xfb, 0x43, 0x6e, 0x34, 0xd3, 0xaf, 0x7c, 0x1c, - 0xf2, 0xf8, 0x27, 0xfd, 0x7f, 0xb6, 0x18, 0xf0, 0xff, 0x30, 0xf0, 0x10, 0x81, 0xdf, 0xec, 0x7a, - 0x1d, 0x4f, 0x8f, 0x77, 0xf6, 0xff, 0xb2, 0x95, 0xe6, 0xfa, 0x95, 0x2a, 0x14, 0x5c, 0xaf, 0xd3, - 0x19, 0xb0, 0xfe, 0x34, 0x06, 0xfe, 0x7f, 0xf7, 0xfd, 0x2b, 0x0b, 0x1f, 0x83, 0x57, 0xfb, 0xe6, - 0x75, 0xcf, 0xb6, 0xc8, 0x67, 0x8e, 0x38, 0x86, 0x7b, 0x8c, 0x21, 0x00, 0x59, 0xaf, 0x8f, 0xbf, - 0xbe, 0x85, 0x4d, 0x6b, 0xd3, 0xa2, 0x17, 0xb7, 0x2f, 0x2d, 0xc7, 0xdf, 0xc0, 0xc2, 0x9b, 0x29, - 0x28, 0xf4, 0x1c, 0x6b, 0x60, 0xb3, 0x6b, 0xd8, 0x2c, 0x79, 0x58, 0x3c, 0xd9, 0xe5, 0xed, 0xf2, - 0xcf, 0xc2, 0xd4, 0x26, 0xc6, 0xb9, 0x1f, 0x93, 0x96, 0x40, 0xe8, 0x91, 0x4b, 0x6b, 0x58, 0x13, - 0x57, 0x29, 0x33, 0x1b, 0x5a, 0xdd, 0x94, 0x85, 0xde, 0xe2, 0x53, 0x20, 0x6c, 0x4a, 0x0b, 0x30, - 0x49, 0x26, 0xf8, 0x31, 0xf2, 0x81, 0x32, 0x2d, 0xb3, 0x27, 0x5f, 0xbe, 0x46, 0xee, 0xb5, 0x05, - 0x26, 0x5f, 0x1b, 0xf2, 0xaf, 0x71, 0x7e, 0x61, 0x84, 0x7f, 0xed, 0x84, 0xfc, 0xe9, 0x21, 0xff, - 0xfa, 0x85, 0xb7, 0xee, 0x2c, 0x4d, 0x7c, 0xef, 0xce, 0xd2, 0xc4, 0x3f, 0xdd, 0x59, 0x9a, 0x78, - 0xfb, 0xce, 0x92, 0xf0, 0xc3, 0x3b, 0x4b, 0xc2, 0x8f, 0xee, 0x2c, 0x09, 0xb7, 0xef, 0x2e, 0x09, - 0x5f, 0xbd, 0xbb, 0x24, 0x7c, 0xfd, 0xee, 0x92, 0xf0, 0xed, 0xbb, 0x4b, 0xc2, 0x5b, 0x77, 0x97, - 0x26, 0xbe, 0x77, 0x77, 0x69, 0xe2, 0xed, 0xbb, 0x4b, 0x13, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, - 0x46, 0xda, 0x48, 0xe6, 0xd7, 0x33, 0x00, 0x00, + // 3931 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0xe3, 0xe6, + 0x75, 0x16, 0x78, 0x91, 0xc8, 0x43, 0x8a, 0x82, 0x20, 0x59, 0xcb, 0x95, 0x63, 0xed, 0xae, 0x6c, + 0xc7, 0xb2, 0x1d, 0x6b, 0x13, 0x79, 0x77, 0x6d, 0x63, 0x9b, 0xb8, 0x94, 0xc4, 0x55, 0xe8, 0x4a, + 0x22, 0x03, 0x4a, 0xf1, 0x25, 0xd3, 0x62, 0x20, 0xf0, 0x27, 0x85, 0x5d, 0x10, 0x40, 0x00, 0x70, + 0xd7, 0xda, 0xe9, 0xc3, 0x76, 0xdc, 0xcb, 0x64, 0x7a, 0xbf, 0xcc, 0x34, 0x71, 0x1d, 0xb7, 0x49, + 0xa7, 0x71, 0x9a, 0xde, 0x92, 0x5e, 0xd2, 0x38, 0x7d, 0xe9, 0x4b, 0x5a, 0x3f, 0x75, 0x92, 0xb7, + 0x3e, 0xf4, 0xc1, 0xbb, 0xf5, 0x4c, 0x6f, 0x6e, 0x9b, 0xb6, 0xfb, 0x90, 0x19, 0xbf, 0x74, 0xfe, + 0x1b, 0x08, 0x80, 0xd4, 0x02, 0xca, 0x8c, 0x9d, 0x27, 0x11, 0xe7, 0x3f, 0xdf, 0x87, 0xf3, 0x9f, + 0xff, 0xfc, 0xe7, 0x9c, 0xff, 0x87, 0xe0, 0x2d, 0x19, 0xce, 0xf6, 0x6c, 0xbb, 0x67, 0xa2, 0xf3, + 0x8e, 0x6b, 0xfb, 0xf6, 0xc1, 0xa0, 0x7b, 0xbe, 0x83, 0x3c, 0xdd, 0x35, 0x1c, 0xdf, 0x76, 0x57, + 0x89, 0x4c, 0x9a, 0xa1, 0x1a, 0xab, 0x5c, 0x63, 0x79, 0x07, 0x66, 0xaf, 0x18, 0x26, 0xda, 0x0c, + 0x14, 0xdb, 0xc8, 0x97, 0x9e, 0x86, 0x5c, 0xd7, 0x30, 0x51, 0x55, 0x38, 0x9b, 0x5d, 0x29, 0xad, + 0x3d, 0xb4, 0x1a, 0x03, 0xad, 0x46, 0x11, 0x2d, 0x2c, 0x56, 0x08, 0x62, 0xf9, 0x9d, 0x1c, 0xcc, + 0x8d, 0x19, 0x95, 0x24, 0xc8, 0x59, 0x5a, 0x1f, 0x33, 0x0a, 0x2b, 0x45, 0x85, 0xfc, 0x96, 0xaa, + 0x30, 0xe5, 0x68, 0xfa, 0x35, 0xad, 0x87, 0xaa, 0x19, 0x22, 0xe6, 0x8f, 0xd2, 0x12, 0x40, 0x07, + 0x39, 0xc8, 0xea, 0x20, 0x4b, 0x3f, 0xaa, 0x66, 0xcf, 0x66, 0x57, 0x8a, 0x4a, 0x48, 0x22, 0x3d, + 0x0e, 0xb3, 0xce, 0xe0, 0xc0, 0x34, 0x74, 0x35, 0xa4, 0x06, 0x67, 0xb3, 0x2b, 0x79, 0x45, 0xa4, + 0x03, 0x9b, 0x43, 0xe5, 0x47, 0x60, 0xe6, 0x06, 0xd2, 0xae, 0x85, 0x55, 0x4b, 0x44, 0xb5, 0x82, + 0xc5, 0x21, 0xc5, 0x0d, 0x28, 0xf7, 0x91, 0xe7, 0x69, 0x3d, 0xa4, 0xfa, 0x47, 0x0e, 0xaa, 0xe6, + 0xc8, 0xec, 0xcf, 0x8e, 0xcc, 0x3e, 0x3e, 0xf3, 0x12, 0x43, 0xed, 0x1d, 0x39, 0x48, 0xaa, 0x41, + 0x11, 0x59, 0x83, 0x3e, 0x65, 0xc8, 0x1f, 0xe3, 0xbf, 0xba, 0x35, 0xe8, 0xc7, 0x59, 0x0a, 0x18, + 0xc6, 0x28, 0xa6, 0x3c, 0xe4, 0x5e, 0x37, 0x74, 0x54, 0x9d, 0x24, 0x04, 0x8f, 0x8c, 0x10, 0xb4, + 0xe9, 0x78, 0x9c, 0x83, 0xe3, 0xa4, 0x0d, 0x28, 0xa2, 0x97, 0x7d, 0x64, 0x79, 0x86, 0x6d, 0x55, + 0xa7, 0x08, 0xc9, 0xc3, 0x63, 0x56, 0x11, 0x99, 0x9d, 0x38, 0xc5, 0x10, 0x27, 0x5d, 0x82, 0x29, + 0xdb, 0xf1, 0x0d, 0xdb, 0xf2, 0xaa, 0x85, 0xb3, 0xc2, 0x4a, 0x69, 0xed, 0x43, 0x63, 0x03, 0xa1, + 0x49, 0x75, 0x14, 0xae, 0x2c, 0x35, 0x40, 0xf4, 0xec, 0x81, 0xab, 0x23, 0x55, 0xb7, 0x3b, 0x48, + 0x35, 0xac, 0xae, 0x5d, 0x2d, 0x12, 0x82, 0x33, 0xa3, 0x13, 0x21, 0x8a, 0x1b, 0x76, 0x07, 0x35, + 0xac, 0xae, 0xad, 0x54, 0xbc, 0xc8, 0xb3, 0xb4, 0x00, 0x93, 0xde, 0x91, 0xe5, 0x6b, 0x2f, 0x57, + 0xcb, 0x24, 0x42, 0xd8, 0xd3, 0xf2, 0x9b, 0x93, 0x30, 0x93, 0x26, 0xc4, 0x2e, 0x43, 0xbe, 0x8b, + 0x67, 0x59, 0xcd, 0x9c, 0xc4, 0x07, 0x14, 0x13, 0x75, 0xe2, 0xe4, 0x0f, 0xe9, 0xc4, 0x1a, 0x94, + 0x2c, 0xe4, 0xf9, 0xa8, 0x43, 0x23, 0x22, 0x9b, 0x32, 0xa6, 0x80, 0x82, 0x46, 0x43, 0x2a, 0xf7, + 0x43, 0x85, 0xd4, 0x0b, 0x30, 0x13, 0x98, 0xa4, 0xba, 0x9a, 0xd5, 0xe3, 0xb1, 0x79, 0x3e, 0xc9, + 0x92, 0xd5, 0x3a, 0xc7, 0x29, 0x18, 0xa6, 0x54, 0x50, 0xe4, 0x59, 0xda, 0x04, 0xb0, 0x2d, 0x64, + 0x77, 0xd5, 0x0e, 0xd2, 0xcd, 0x6a, 0xe1, 0x18, 0x2f, 0x35, 0xb1, 0xca, 0x88, 0x97, 0x6c, 0x2a, + 0xd5, 0x4d, 0xe9, 0x99, 0x61, 0xa8, 0x4d, 0x1d, 0x13, 0x29, 0x3b, 0x74, 0x93, 0x8d, 0x44, 0xdb, + 0x3e, 0x54, 0x5c, 0x84, 0xe3, 0x1e, 0x75, 0xd8, 0xcc, 0x8a, 0xc4, 0x88, 0xd5, 0xc4, 0x99, 0x29, + 0x0c, 0x46, 0x27, 0x36, 0xed, 0x86, 0x1f, 0xa5, 0x07, 0x21, 0x10, 0xa8, 0x24, 0xac, 0x80, 0x64, + 0xa1, 0x32, 0x17, 0xee, 0x6a, 0x7d, 0xb4, 0x78, 0x13, 0x2a, 0x51, 0xf7, 0x48, 0xf3, 0x90, 0xf7, + 0x7c, 0xcd, 0xf5, 0x49, 0x14, 0xe6, 0x15, 0xfa, 0x20, 0x89, 0x90, 0x45, 0x56, 0x87, 0x64, 0xb9, + 0xbc, 0x82, 0x7f, 0x4a, 0x3f, 0x3e, 0x9c, 0x70, 0x96, 0x4c, 0xf8, 0xc3, 0xa3, 0x2b, 0x1a, 0x61, + 0x8e, 0xcf, 0x7b, 0xf1, 0x29, 0x98, 0x8e, 0x4c, 0x20, 0xed, 0xab, 0x97, 0x7f, 0x1a, 0xee, 0x1b, + 0x4b, 0x2d, 0xbd, 0x00, 0xf3, 0x03, 0xcb, 0xb0, 0x7c, 0xe4, 0x3a, 0x2e, 0xc2, 0x11, 0x4b, 0x5f, + 0x55, 0xfd, 0x97, 0xa9, 0x63, 0x62, 0x6e, 0x3f, 0xac, 0x4d, 0x59, 0x94, 0xb9, 0xc1, 0xa8, 0xf0, + 0xb1, 0x62, 0xe1, 0x5f, 0xa7, 0xc4, 0x5b, 0xb7, 0x6e, 0xdd, 0xca, 0x2c, 0x7f, 0x7e, 0x12, 0xe6, + 0xc7, 0xed, 0x99, 0xb1, 0xdb, 0x77, 0x01, 0x26, 0xad, 0x41, 0xff, 0x00, 0xb9, 0xc4, 0x49, 0x79, + 0x85, 0x3d, 0x49, 0x35, 0xc8, 0x9b, 0xda, 0x01, 0x32, 0xab, 0xb9, 0xb3, 0xc2, 0x4a, 0x65, 0xed, + 0xf1, 0x54, 0xbb, 0x72, 0x75, 0x1b, 0x43, 0x14, 0x8a, 0x94, 0x3e, 0x01, 0x39, 0x96, 0xa2, 0x31, + 0xc3, 0x63, 0xe9, 0x18, 0xf0, 0x5e, 0x52, 0x08, 0x4e, 0xba, 0x1f, 0x8a, 0xf8, 0x2f, 0x8d, 0x8d, + 0x49, 0x62, 0x73, 0x01, 0x0b, 0x70, 0x5c, 0x48, 0x8b, 0x50, 0x20, 0xdb, 0xa4, 0x83, 0x78, 0x69, + 0x0b, 0x9e, 0x71, 0x60, 0x75, 0x50, 0x57, 0x1b, 0x98, 0xbe, 0x7a, 0x5d, 0x33, 0x07, 0x88, 0x04, + 0x7c, 0x51, 0x29, 0x33, 0xe1, 0xa7, 0xb1, 0x4c, 0x3a, 0x03, 0x25, 0xba, 0xab, 0x0c, 0xab, 0x83, + 0x5e, 0x26, 0xd9, 0x33, 0xaf, 0xd0, 0x8d, 0xd6, 0xc0, 0x12, 0xfc, 0xfa, 0xab, 0x9e, 0x6d, 0xf1, + 0xd0, 0x24, 0xaf, 0xc0, 0x02, 0xf2, 0xfa, 0xa7, 0xe2, 0x89, 0xfb, 0x81, 0xf1, 0xd3, 0x8b, 0xc7, + 0xd4, 0xf2, 0x37, 0x33, 0x90, 0x23, 0xf9, 0x62, 0x06, 0x4a, 0x7b, 0x2f, 0xb6, 0xea, 0xea, 0x66, + 0x73, 0x7f, 0x7d, 0xbb, 0x2e, 0x0a, 0x52, 0x05, 0x80, 0x08, 0xae, 0x6c, 0x37, 0x6b, 0x7b, 0x62, + 0x26, 0x78, 0x6e, 0xec, 0xee, 0x5d, 0xba, 0x20, 0x66, 0x03, 0xc0, 0x3e, 0x15, 0xe4, 0xc2, 0x0a, + 0x4f, 0xae, 0x89, 0x79, 0x49, 0x84, 0x32, 0x25, 0x68, 0xbc, 0x50, 0xdf, 0xbc, 0x74, 0x41, 0x9c, + 0x8c, 0x4a, 0x9e, 0x5c, 0x13, 0xa7, 0xa4, 0x69, 0x28, 0x12, 0xc9, 0x7a, 0xb3, 0xb9, 0x2d, 0x16, + 0x02, 0xce, 0xf6, 0x9e, 0xd2, 0xd8, 0xdd, 0x12, 0x8b, 0x01, 0xe7, 0x96, 0xd2, 0xdc, 0x6f, 0x89, + 0x10, 0x30, 0xec, 0xd4, 0xdb, 0xed, 0xda, 0x56, 0x5d, 0x2c, 0x05, 0x1a, 0xeb, 0x2f, 0xee, 0xd5, + 0xdb, 0x62, 0x39, 0x62, 0xd6, 0x93, 0x6b, 0xe2, 0x74, 0xf0, 0x8a, 0xfa, 0xee, 0xfe, 0x8e, 0x58, + 0x91, 0x66, 0x61, 0x9a, 0xbe, 0x82, 0x1b, 0x31, 0x13, 0x13, 0x5d, 0xba, 0x20, 0x8a, 0x43, 0x43, + 0x28, 0xcb, 0x6c, 0x44, 0x70, 0xe9, 0x82, 0x28, 0x2d, 0x6f, 0x40, 0x9e, 0x44, 0x97, 0x24, 0x41, + 0x65, 0xbb, 0xb6, 0x5e, 0xdf, 0x56, 0x9b, 0xad, 0xbd, 0x46, 0x73, 0xb7, 0xb6, 0x2d, 0x0a, 0x43, + 0x99, 0x52, 0xff, 0xd4, 0x7e, 0x43, 0xa9, 0x6f, 0x8a, 0x99, 0xb0, 0xac, 0x55, 0xaf, 0xed, 0xd5, + 0x37, 0xc5, 0xec, 0xb2, 0x0e, 0xf3, 0xe3, 0xf2, 0xe4, 0xd8, 0x9d, 0x11, 0x5a, 0xe2, 0xcc, 0x31, + 0x4b, 0x4c, 0xb8, 0x46, 0x96, 0xf8, 0x9f, 0x33, 0x30, 0x37, 0xa6, 0x56, 0x8c, 0x7d, 0xc9, 0xb3, + 0x90, 0xa7, 0x21, 0x4a, 0xab, 0xe7, 0xa3, 0x63, 0x8b, 0x0e, 0x09, 0xd8, 0x91, 0x0a, 0x4a, 0x70, + 0xe1, 0x0e, 0x22, 0x7b, 0x4c, 0x07, 0x81, 0x29, 0x46, 0x72, 0xfa, 0x4f, 0x8e, 0xe4, 0x74, 0x5a, + 0xf6, 0x2e, 0xa5, 0x29, 0x7b, 0x44, 0x76, 0xb2, 0xdc, 0x9e, 0x1f, 0x93, 0xdb, 0x2f, 0xc3, 0xec, + 0x08, 0x51, 0xea, 0x1c, 0xfb, 0x8a, 0x00, 0xd5, 0xe3, 0x9c, 0x93, 0x90, 0xe9, 0x32, 0x91, 0x4c, + 0x77, 0x39, 0xee, 0xc1, 0x73, 0xc7, 0x2f, 0xc2, 0xc8, 0x5a, 0xbf, 0x21, 0xc0, 0xc2, 0xf8, 0x4e, + 0x71, 0xac, 0x0d, 0x9f, 0x80, 0xc9, 0x3e, 0xf2, 0x0f, 0x6d, 0xde, 0x2d, 0x7d, 0x78, 0x4c, 0x0d, + 0xc6, 0xc3, 0xf1, 0xc5, 0x66, 0xa8, 0x70, 0x11, 0xcf, 0x1e, 0xd7, 0xee, 0x51, 0x6b, 0x46, 0x2c, + 0xfd, 0x5c, 0x06, 0xee, 0x1b, 0x4b, 0x3e, 0xd6, 0xd0, 0x07, 0x00, 0x0c, 0xcb, 0x19, 0xf8, 0xb4, + 0x23, 0xa2, 0x09, 0xb6, 0x48, 0x24, 0x24, 0x79, 0xe1, 0xe4, 0x39, 0xf0, 0x83, 0xf1, 0x2c, 0x19, + 0x07, 0x2a, 0x22, 0x0a, 0x4f, 0x0f, 0x0d, 0xcd, 0x11, 0x43, 0x97, 0x8e, 0x99, 0xe9, 0x48, 0x60, + 0x7e, 0x14, 0x44, 0xdd, 0x34, 0x90, 0xe5, 0xab, 0x9e, 0xef, 0x22, 0xad, 0x6f, 0x58, 0x3d, 0x52, + 0x41, 0x0a, 0x72, 0xbe, 0xab, 0x99, 0x1e, 0x52, 0x66, 0xe8, 0x70, 0x9b, 0x8f, 0x62, 0x04, 0x09, + 0x20, 0x37, 0x84, 0x98, 0x8c, 0x20, 0xe8, 0x70, 0x80, 0x58, 0xfe, 0xa5, 0x22, 0x94, 0x42, 0x7d, + 0xb5, 0x74, 0x0e, 0xca, 0x57, 0xb5, 0xeb, 0x9a, 0xca, 0xcf, 0x4a, 0xd4, 0x13, 0x25, 0x2c, 0x6b, + 0xb1, 0xf3, 0xd2, 0x47, 0x61, 0x9e, 0xa8, 0xd8, 0x03, 0x1f, 0xb9, 0xaa, 0x6e, 0x6a, 0x9e, 0x47, + 0x9c, 0x56, 0x20, 0xaa, 0x12, 0x1e, 0x6b, 0xe2, 0xa1, 0x0d, 0x3e, 0x22, 0x5d, 0x84, 0x39, 0x82, + 0xe8, 0x0f, 0x4c, 0xdf, 0x70, 0x4c, 0xa4, 0xe2, 0xd3, 0x9b, 0x47, 0x2a, 0x49, 0x60, 0xd9, 0x2c, + 0xd6, 0xd8, 0x61, 0x0a, 0xd8, 0x22, 0x4f, 0xda, 0x84, 0x07, 0x08, 0xac, 0x87, 0x2c, 0xe4, 0x6a, + 0x3e, 0x52, 0xd1, 0x67, 0x07, 0x9a, 0xe9, 0xa9, 0x9a, 0xd5, 0x51, 0x0f, 0x35, 0xef, 0xb0, 0x3a, + 0x8f, 0x09, 0xd6, 0x33, 0x55, 0x41, 0x39, 0x8d, 0x15, 0xb7, 0x98, 0x5e, 0x9d, 0xa8, 0xd5, 0xac, + 0xce, 0x27, 0x35, 0xef, 0x50, 0x92, 0x61, 0x81, 0xb0, 0x78, 0xbe, 0x6b, 0x58, 0x3d, 0x55, 0x3f, + 0x44, 0xfa, 0x35, 0x75, 0xe0, 0x77, 0x9f, 0xae, 0xde, 0x1f, 0x7e, 0x3f, 0xb1, 0xb0, 0x4d, 0x74, + 0x36, 0xb0, 0xca, 0xbe, 0xdf, 0x7d, 0x5a, 0x6a, 0x43, 0x19, 0x2f, 0x46, 0xdf, 0xb8, 0x89, 0xd4, + 0xae, 0xed, 0x92, 0xd2, 0x58, 0x19, 0x93, 0x9a, 0x42, 0x1e, 0x5c, 0x6d, 0x32, 0xc0, 0x8e, 0xdd, + 0x41, 0x72, 0xbe, 0xdd, 0xaa, 0xd7, 0x37, 0x95, 0x12, 0x67, 0xb9, 0x62, 0xbb, 0x38, 0xa0, 0x7a, + 0x76, 0xe0, 0xe0, 0x12, 0x0d, 0xa8, 0x9e, 0xcd, 0xdd, 0x7b, 0x11, 0xe6, 0x74, 0x9d, 0xce, 0xd9, + 0xd0, 0x55, 0x76, 0xc6, 0xf2, 0xaa, 0x62, 0xc4, 0x59, 0xba, 0xbe, 0x45, 0x15, 0x58, 0x8c, 0x7b, + 0xd2, 0x33, 0x70, 0xdf, 0xd0, 0x59, 0x61, 0xe0, 0xec, 0xc8, 0x2c, 0xe3, 0xd0, 0x8b, 0x30, 0xe7, + 0x1c, 0x8d, 0x02, 0xa5, 0xc8, 0x1b, 0x9d, 0xa3, 0x38, 0xec, 0x29, 0x98, 0x77, 0x0e, 0x9d, 0x51, + 0xdc, 0x63, 0x61, 0x9c, 0xe4, 0x1c, 0x3a, 0x71, 0xe0, 0xc3, 0xe4, 0xc0, 0xed, 0x22, 0x5d, 0xf3, + 0x51, 0xa7, 0x7a, 0x2a, 0xac, 0x1e, 0x1a, 0x90, 0xce, 0x83, 0xa8, 0xeb, 0x2a, 0xb2, 0xb4, 0x03, + 0x13, 0xa9, 0x9a, 0x8b, 0x2c, 0xcd, 0xab, 0x9e, 0x09, 0x2b, 0x57, 0x74, 0xbd, 0x4e, 0x46, 0x6b, + 0x64, 0x50, 0x7a, 0x0c, 0x66, 0xed, 0x83, 0xab, 0x3a, 0x0d, 0x49, 0xd5, 0x71, 0x51, 0xd7, 0x78, + 0xb9, 0xfa, 0x10, 0xf1, 0xef, 0x0c, 0x1e, 0x20, 0x01, 0xd9, 0x22, 0x62, 0xe9, 0x51, 0x10, 0x75, + 0xef, 0x50, 0x73, 0x1d, 0x92, 0x93, 0x3d, 0x47, 0xd3, 0x51, 0xf5, 0x61, 0xaa, 0x4a, 0xe5, 0xbb, + 0x5c, 0x8c, 0xb7, 0x84, 0x77, 0xc3, 0xe8, 0xfa, 0x9c, 0xf1, 0x11, 0xba, 0x25, 0x88, 0x8c, 0xb1, + 0xad, 0x80, 0x88, 0x5d, 0x11, 0x79, 0xf1, 0x0a, 0x51, 0xab, 0x38, 0x87, 0x4e, 0xf8, 0xbd, 0x0f, + 0xc2, 0x34, 0xd6, 0x1c, 0xbe, 0xf4, 0x51, 0xda, 0x90, 0x39, 0x87, 0xa1, 0x37, 0x5e, 0x80, 0x05, + 0xac, 0xd4, 0x47, 0xbe, 0xd6, 0xd1, 0x7c, 0x2d, 0xa4, 0xfd, 0x11, 0xa2, 0x8d, 0xfd, 0xbe, 0xc3, + 0x06, 0x23, 0x76, 0xba, 0x83, 0x83, 0xa3, 0x20, 0xb2, 0x9e, 0xa0, 0x76, 0x62, 0x19, 0x8f, 0xad, + 0xf7, 0xad, 0xe9, 0x5e, 0x96, 0xa1, 0x1c, 0x0e, 0x7c, 0xa9, 0x08, 0x34, 0xf4, 0x45, 0x01, 0x77, + 0x41, 0x1b, 0xcd, 0x4d, 0xdc, 0xbf, 0xbc, 0x54, 0x17, 0x33, 0xb8, 0x8f, 0xda, 0x6e, 0xec, 0xd5, + 0x55, 0x65, 0x7f, 0x77, 0xaf, 0xb1, 0x53, 0x17, 0xb3, 0xe1, 0x86, 0xfd, 0x3b, 0x19, 0xa8, 0x44, + 0xcf, 0x5e, 0xd2, 0x8f, 0xc1, 0x29, 0x7e, 0x51, 0xe2, 0x21, 0x5f, 0xbd, 0x61, 0xb8, 0x64, 0x2f, + 0xf6, 0x35, 0x5a, 0x17, 0x83, 0x68, 0x98, 0x67, 0x5a, 0x6d, 0xe4, 0x3f, 0x6f, 0xb8, 0x78, 0xa7, + 0xf5, 0x35, 0x5f, 0xda, 0x86, 0x33, 0x96, 0xad, 0x7a, 0xbe, 0x66, 0x75, 0x34, 0xb7, 0xa3, 0x0e, + 0xaf, 0xa8, 0x54, 0x4d, 0xd7, 0x91, 0xe7, 0xd9, 0xb4, 0x06, 0x06, 0x2c, 0x1f, 0xb2, 0xec, 0x36, + 0x53, 0x1e, 0x16, 0x87, 0x1a, 0x53, 0x8d, 0x45, 0x6e, 0xf6, 0xb8, 0xc8, 0xbd, 0x1f, 0x8a, 0x7d, + 0xcd, 0x51, 0x91, 0xe5, 0xbb, 0x47, 0xa4, 0xe3, 0x2e, 0x28, 0x85, 0xbe, 0xe6, 0xd4, 0xf1, 0xf3, + 0x07, 0x73, 0xf0, 0xf9, 0xa7, 0x2c, 0x94, 0xc3, 0x5d, 0x37, 0x3e, 0xc4, 0xe8, 0xa4, 0x40, 0x09, + 0x24, 0x85, 0x3d, 0x78, 0xcf, 0x1e, 0x7d, 0x75, 0x03, 0x57, 0x2e, 0x79, 0x92, 0xf6, 0xc2, 0x0a, + 0x45, 0xe2, 0xae, 0x01, 0x87, 0x16, 0xa2, 0xbd, 0x47, 0x41, 0x61, 0x4f, 0xd2, 0x16, 0x4c, 0x5e, + 0xf5, 0x08, 0xf7, 0x24, 0xe1, 0x7e, 0xe8, 0xde, 0xdc, 0xcf, 0xb5, 0x09, 0x79, 0xf1, 0xb9, 0xb6, + 0xba, 0xdb, 0x54, 0x76, 0x6a, 0xdb, 0x0a, 0x83, 0x4b, 0xa7, 0x21, 0x67, 0x6a, 0x37, 0x8f, 0xa2, + 0x35, 0x8e, 0x88, 0xd2, 0x3a, 0xfe, 0x34, 0xe4, 0x6e, 0x20, 0xed, 0x5a, 0xb4, 0xb2, 0x10, 0xd1, + 0xfb, 0x18, 0xfa, 0xe7, 0x21, 0x4f, 0xfc, 0x25, 0x01, 0x30, 0x8f, 0x89, 0x13, 0x52, 0x01, 0x72, + 0x1b, 0x4d, 0x05, 0x87, 0xbf, 0x08, 0x65, 0x2a, 0x55, 0x5b, 0x8d, 0xfa, 0x46, 0x5d, 0xcc, 0x2c, + 0x5f, 0x84, 0x49, 0xea, 0x04, 0xbc, 0x35, 0x02, 0x37, 0x88, 0x13, 0xec, 0x91, 0x71, 0x08, 0x7c, + 0x74, 0x7f, 0x67, 0xbd, 0xae, 0x88, 0x99, 0xf0, 0xf2, 0x7a, 0x50, 0x0e, 0x37, 0xdc, 0x1f, 0x4c, + 0x4c, 0x7d, 0x5b, 0x80, 0x52, 0xa8, 0x81, 0xc6, 0x9d, 0x8f, 0x66, 0x9a, 0xf6, 0x0d, 0x55, 0x33, + 0x0d, 0xcd, 0x63, 0x41, 0x01, 0x44, 0x54, 0xc3, 0x92, 0xb4, 0x8b, 0xf6, 0x81, 0x18, 0xff, 0xba, + 0x00, 0x62, 0xbc, 0x77, 0x8d, 0x19, 0x28, 0xfc, 0x48, 0x0d, 0x7c, 0x4d, 0x80, 0x4a, 0xb4, 0x61, + 0x8d, 0x99, 0x77, 0xee, 0x47, 0x6a, 0xde, 0xdb, 0x19, 0x98, 0x8e, 0xb4, 0xa9, 0x69, 0xad, 0xfb, + 0x2c, 0xcc, 0x1a, 0x1d, 0xd4, 0x77, 0x6c, 0x1f, 0x59, 0xfa, 0x91, 0x6a, 0xa2, 0xeb, 0xc8, 0xac, + 0x2e, 0x93, 0x44, 0x71, 0xfe, 0xde, 0x8d, 0xf0, 0x6a, 0x63, 0x88, 0xdb, 0xc6, 0x30, 0x79, 0xae, + 0xb1, 0x59, 0xdf, 0x69, 0x35, 0xf7, 0xea, 0xbb, 0x1b, 0x2f, 0xaa, 0xfb, 0xbb, 0x3f, 0xb1, 0xdb, + 0x7c, 0x7e, 0x57, 0x11, 0x8d, 0x98, 0xda, 0xfb, 0xb8, 0xd5, 0x5b, 0x20, 0xc6, 0x8d, 0x92, 0x4e, + 0xc1, 0x38, 0xb3, 0xc4, 0x09, 0x69, 0x0e, 0x66, 0x76, 0x9b, 0x6a, 0xbb, 0xb1, 0x59, 0x57, 0xeb, + 0x57, 0xae, 0xd4, 0x37, 0xf6, 0xda, 0xf4, 0x6a, 0x23, 0xd0, 0xde, 0x8b, 0x6e, 0xea, 0x57, 0xb3, + 0x30, 0x37, 0xc6, 0x12, 0xa9, 0xc6, 0x0e, 0x25, 0xf4, 0x9c, 0xf4, 0x44, 0x1a, 0xeb, 0x57, 0x71, + 0x57, 0xd0, 0xd2, 0x5c, 0x9f, 0x9d, 0x61, 0x1e, 0x05, 0xec, 0x25, 0xcb, 0x37, 0xba, 0x06, 0x72, + 0xd9, 0x4d, 0x10, 0x3d, 0xa9, 0xcc, 0x0c, 0xe5, 0xf4, 0x32, 0xe8, 0x23, 0x20, 0x39, 0xb6, 0x67, + 0xf8, 0xc6, 0x75, 0xa4, 0x1a, 0x16, 0xbf, 0x36, 0xc2, 0x27, 0x97, 0x9c, 0x22, 0xf2, 0x91, 0x86, + 0xe5, 0x07, 0xda, 0x16, 0xea, 0x69, 0x31, 0x6d, 0x9c, 0xc0, 0xb3, 0x8a, 0xc8, 0x47, 0x02, 0xed, + 0x73, 0x50, 0xee, 0xd8, 0x03, 0xdc, 0xce, 0x51, 0x3d, 0x5c, 0x2f, 0x04, 0xa5, 0x44, 0x65, 0x81, + 0x0a, 0x6b, 0xd4, 0x87, 0xf7, 0x55, 0x65, 0xa5, 0x44, 0x65, 0x54, 0xe5, 0x11, 0x98, 0xd1, 0x7a, + 0x3d, 0x17, 0x93, 0x73, 0x22, 0x7a, 0xf4, 0xa8, 0x04, 0x62, 0xa2, 0xb8, 0xf8, 0x1c, 0x14, 0xb8, + 0x1f, 0x70, 0x49, 0xc6, 0x9e, 0x50, 0x1d, 0x7a, 0x9e, 0xce, 0xac, 0x14, 0x95, 0x82, 0xc5, 0x07, + 0xcf, 0x41, 0xd9, 0xf0, 0xd4, 0xe1, 0xf5, 0x7b, 0xe6, 0x6c, 0x66, 0xa5, 0xa0, 0x94, 0x0c, 0x2f, + 0xb8, 0xba, 0x5c, 0x7e, 0x23, 0x03, 0x95, 0xe8, 0xe7, 0x03, 0x69, 0x13, 0x0a, 0xa6, 0xad, 0x6b, + 0x24, 0xb4, 0xe8, 0xb7, 0xab, 0x95, 0x84, 0x2f, 0x0e, 0xab, 0xdb, 0x4c, 0x5f, 0x09, 0x90, 0x8b, + 0xff, 0x20, 0x40, 0x81, 0x8b, 0xa5, 0x05, 0xc8, 0x39, 0x9a, 0x7f, 0x48, 0xe8, 0xf2, 0xeb, 0x19, + 0x51, 0x50, 0xc8, 0x33, 0x96, 0x7b, 0x8e, 0x66, 0x91, 0x10, 0x60, 0x72, 0xfc, 0x8c, 0xd7, 0xd5, + 0x44, 0x5a, 0x87, 0x9c, 0x6b, 0xec, 0x7e, 0x1f, 0x59, 0xbe, 0xc7, 0xd7, 0x95, 0xc9, 0x37, 0x98, + 0x58, 0x7a, 0x1c, 0x66, 0x7d, 0x57, 0x33, 0xcc, 0x88, 0x6e, 0x8e, 0xe8, 0x8a, 0x7c, 0x20, 0x50, + 0x96, 0xe1, 0x34, 0xe7, 0xed, 0x20, 0x5f, 0xd3, 0x0f, 0x51, 0x67, 0x08, 0x9a, 0x24, 0xf7, 0x17, + 0xa7, 0x98, 0xc2, 0x26, 0x1b, 0xe7, 0xd8, 0xe5, 0xef, 0x09, 0x30, 0xcb, 0x4f, 0x62, 0x9d, 0xc0, + 0x59, 0x3b, 0x00, 0x9a, 0x65, 0xd9, 0x7e, 0xd8, 0x5d, 0xa3, 0xa1, 0x3c, 0x82, 0x5b, 0xad, 0x05, + 0x20, 0x25, 0x44, 0xb0, 0xd8, 0x07, 0x18, 0x8e, 0x1c, 0xeb, 0xb6, 0x33, 0x50, 0x62, 0xdf, 0x86, + 0xc8, 0x07, 0x46, 0x7a, 0x76, 0x07, 0x2a, 0xc2, 0x47, 0x36, 0x69, 0x1e, 0xf2, 0x07, 0xa8, 0x67, + 0x58, 0xec, 0xc6, 0x97, 0x3e, 0xf0, 0x1b, 0x96, 0x5c, 0x70, 0xc3, 0xb2, 0xfe, 0x19, 0x98, 0xd3, + 0xed, 0x7e, 0xdc, 0xdc, 0x75, 0x31, 0x76, 0x7f, 0xe0, 0x7d, 0x52, 0x78, 0x09, 0x86, 0x2d, 0xe6, + 0x0f, 0x04, 0xe1, 0xcb, 0x99, 0xec, 0x56, 0x6b, 0xfd, 0x6b, 0x99, 0xc5, 0x2d, 0x0a, 0x6d, 0xf1, + 0x99, 0x2a, 0xa8, 0x6b, 0x22, 0x1d, 0x5b, 0x0f, 0x5f, 0x79, 0x1c, 0x9e, 0xe8, 0x19, 0xfe, 0xe1, + 0xe0, 0x60, 0x55, 0xb7, 0xfb, 0xe7, 0x7b, 0x76, 0xcf, 0x1e, 0x7e, 0x53, 0xc5, 0x4f, 0xe4, 0x81, + 0xfc, 0x62, 0xdf, 0x55, 0x8b, 0x81, 0x74, 0x31, 0xf1, 0x23, 0xac, 0xbc, 0x0b, 0x73, 0x4c, 0x59, + 0x25, 0x1f, 0x76, 0xe8, 0xf1, 0x44, 0xba, 0xe7, 0xe5, 0x58, 0xf5, 0x1b, 0xef, 0x90, 0x72, 0xad, + 0xcc, 0x32, 0x28, 0x1e, 0xa3, 0x27, 0x18, 0x59, 0x81, 0xfb, 0x22, 0x7c, 0x74, 0x6b, 0x22, 0x37, + 0x81, 0xf1, 0x3b, 0x8c, 0x71, 0x2e, 0xc4, 0xd8, 0x66, 0x50, 0x79, 0x03, 0xa6, 0x4f, 0xc2, 0xf5, + 0x77, 0x8c, 0xab, 0x8c, 0xc2, 0x24, 0x5b, 0x30, 0x43, 0x48, 0xf4, 0x81, 0xe7, 0xdb, 0x7d, 0x92, + 0xf7, 0xee, 0x4d, 0xf3, 0xf7, 0xef, 0xd0, 0xbd, 0x52, 0xc1, 0xb0, 0x8d, 0x00, 0x25, 0xcb, 0x40, + 0xbe, 0x65, 0x75, 0x90, 0x6e, 0x26, 0x30, 0xbc, 0xc5, 0x0c, 0x09, 0xf4, 0xe5, 0x4f, 0xc3, 0x3c, + 0xfe, 0x4d, 0xd2, 0x52, 0xd8, 0x92, 0xe4, 0x9b, 0xb4, 0xea, 0xf7, 0x5e, 0xa1, 0xdb, 0x71, 0x2e, + 0x20, 0x08, 0xd9, 0x14, 0x5a, 0xc5, 0x1e, 0xf2, 0x7d, 0xe4, 0x7a, 0xaa, 0x66, 0x8e, 0x33, 0x2f, + 0x74, 0x15, 0x51, 0xfd, 0xc2, 0xbb, 0xd1, 0x55, 0xdc, 0xa2, 0xc8, 0x9a, 0x69, 0xca, 0xfb, 0x70, + 0x6a, 0x4c, 0x54, 0xa4, 0xe0, 0x7c, 0x95, 0x71, 0xce, 0x8f, 0x44, 0x06, 0xa6, 0x6d, 0x01, 0x97, + 0x07, 0x6b, 0x99, 0x82, 0xf3, 0x77, 0x18, 0xa7, 0xc4, 0xb0, 0x7c, 0x49, 0x31, 0xe3, 0x73, 0x30, + 0x7b, 0x1d, 0xb9, 0x07, 0xb6, 0xc7, 0xae, 0x7f, 0x52, 0xd0, 0xbd, 0xc6, 0xe8, 0x66, 0x18, 0x90, + 0xdc, 0x07, 0x61, 0xae, 0x67, 0xa0, 0xd0, 0xd5, 0x74, 0x94, 0x82, 0xe2, 0x8b, 0x8c, 0x62, 0x0a, + 0xeb, 0x63, 0x68, 0x0d, 0xca, 0x3d, 0x9b, 0x55, 0xa6, 0x64, 0xf8, 0xeb, 0x0c, 0x5e, 0xe2, 0x18, + 0x46, 0xe1, 0xd8, 0xce, 0xc0, 0xc4, 0x65, 0x2b, 0x99, 0xe2, 0x77, 0x39, 0x05, 0xc7, 0x30, 0x8a, + 0x13, 0xb8, 0xf5, 0xf7, 0x38, 0x85, 0x17, 0xf2, 0xe7, 0xb3, 0x50, 0xb2, 0x2d, 0xf3, 0xc8, 0xb6, + 0xd2, 0x18, 0xf1, 0x25, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0x2e, 0x43, 0x31, 0xed, 0x42, 0xfc, 0xc1, + 0xbb, 0x7c, 0x7b, 0xf0, 0x15, 0xd8, 0x82, 0x19, 0x9e, 0xa0, 0x0c, 0xdb, 0x4a, 0x41, 0xf1, 0x15, + 0x46, 0x51, 0x09, 0xc1, 0xd8, 0x34, 0x7c, 0xe4, 0xf9, 0x3d, 0x94, 0x86, 0xe4, 0x0d, 0x3e, 0x0d, + 0x06, 0x61, 0xae, 0x3c, 0x40, 0x96, 0x7e, 0x98, 0x8e, 0xe1, 0xab, 0xdc, 0x95, 0x1c, 0x83, 0x29, + 0x36, 0x60, 0xba, 0xaf, 0xb9, 0xde, 0xa1, 0x66, 0xa6, 0x5a, 0x8e, 0x3f, 0x64, 0x1c, 0xe5, 0x00, + 0xc4, 0x3c, 0x32, 0xb0, 0x4e, 0x42, 0xf3, 0x35, 0xee, 0x91, 0x10, 0x8c, 0x6d, 0x3d, 0xcf, 0x27, + 0x77, 0x65, 0x27, 0x61, 0xfb, 0x23, 0xbe, 0xf5, 0x28, 0x76, 0x27, 0xcc, 0x78, 0x19, 0x8a, 0x9e, + 0x71, 0x33, 0x15, 0xcd, 0x1f, 0xf3, 0x95, 0x26, 0x00, 0x0c, 0x7e, 0x11, 0x4e, 0x8f, 0x2d, 0x13, + 0x29, 0xc8, 0xfe, 0x84, 0x91, 0x2d, 0x8c, 0x29, 0x15, 0x2c, 0x25, 0x9c, 0x94, 0xf2, 0x4f, 0x79, + 0x4a, 0x40, 0x31, 0xae, 0x16, 0x3e, 0x2b, 0x78, 0x5a, 0xf7, 0x64, 0x5e, 0xfb, 0x33, 0xee, 0x35, + 0x8a, 0x8d, 0x78, 0x6d, 0x0f, 0x16, 0x18, 0xe3, 0xc9, 0xd6, 0xf5, 0xeb, 0x3c, 0xb1, 0x52, 0xf4, + 0x7e, 0x74, 0x75, 0x3f, 0x03, 0x8b, 0x81, 0x3b, 0x79, 0x53, 0xea, 0xa9, 0x7d, 0xcd, 0x49, 0xc1, + 0xfc, 0x0d, 0xc6, 0xcc, 0x33, 0x7e, 0xd0, 0xd5, 0x7a, 0x3b, 0x9a, 0x83, 0xc9, 0x5f, 0x80, 0x2a, + 0x27, 0x1f, 0x58, 0x2e, 0xd2, 0xed, 0x9e, 0x65, 0xdc, 0x44, 0x9d, 0x14, 0xd4, 0x7f, 0x1e, 0x5b, + 0xaa, 0xfd, 0x10, 0x1c, 0x33, 0x37, 0x40, 0x0c, 0x7a, 0x15, 0xd5, 0xe8, 0x3b, 0xb6, 0xeb, 0x27, + 0x30, 0xfe, 0x05, 0x5f, 0xa9, 0x00, 0xd7, 0x20, 0x30, 0xb9, 0x0e, 0x15, 0xf2, 0x98, 0x36, 0x24, + 0xff, 0x92, 0x11, 0x4d, 0x0f, 0x51, 0x2c, 0x71, 0xe8, 0x76, 0xdf, 0xd1, 0xdc, 0x34, 0xf9, 0xef, + 0xaf, 0x78, 0xe2, 0x60, 0x10, 0x96, 0x38, 0xfc, 0x23, 0x07, 0xe1, 0x6a, 0x9f, 0x82, 0xe1, 0x9b, + 0x3c, 0x71, 0x70, 0x0c, 0xa3, 0xe0, 0x0d, 0x43, 0x0a, 0x8a, 0xbf, 0xe6, 0x14, 0x1c, 0x83, 0x29, + 0x3e, 0x35, 0x2c, 0xb4, 0x2e, 0xea, 0x19, 0x9e, 0xef, 0xd2, 0x56, 0xf8, 0xde, 0x54, 0xdf, 0x7a, + 0x37, 0xda, 0x84, 0x29, 0x21, 0x28, 0xce, 0x44, 0xec, 0x0a, 0x95, 0x9c, 0x94, 0x92, 0x0d, 0x7b, + 0x93, 0x67, 0xa2, 0x10, 0x0c, 0xdb, 0x16, 0xea, 0x10, 0xb1, 0xdb, 0x75, 0x7c, 0x3e, 0x48, 0x41, + 0xf7, 0xed, 0x98, 0x71, 0x6d, 0x8e, 0xc5, 0x9c, 0xa1, 0xfe, 0x67, 0x60, 0x5d, 0x43, 0x47, 0xa9, + 0xa2, 0xf3, 0x6f, 0x62, 0xfd, 0xcf, 0x3e, 0x45, 0xd2, 0x1c, 0x32, 0x13, 0xeb, 0xa7, 0xa4, 0xa4, + 0xff, 0x02, 0xaa, 0xfe, 0xcc, 0x5d, 0x36, 0xdf, 0x68, 0x3b, 0x25, 0x6f, 0xe3, 0x20, 0x8f, 0x36, + 0x3d, 0xc9, 0x64, 0xaf, 0xdc, 0x0d, 0xe2, 0x3c, 0xd2, 0xf3, 0xc8, 0x57, 0x60, 0x3a, 0xd2, 0xf0, + 0x24, 0x53, 0xfd, 0x2c, 0xa3, 0x2a, 0x87, 0xfb, 0x1d, 0xf9, 0x22, 0xe4, 0x70, 0xf3, 0x92, 0x0c, + 0xff, 0x39, 0x06, 0x27, 0xea, 0xf2, 0xc7, 0xa1, 0xc0, 0x9b, 0x96, 0x64, 0xe8, 0xcf, 0x33, 0x68, + 0x00, 0xc1, 0x70, 0xde, 0xb0, 0x24, 0xc3, 0x7f, 0x81, 0xc3, 0x39, 0x04, 0xc3, 0xd3, 0xbb, 0xf0, + 0x6f, 0x7f, 0x31, 0xc7, 0x8a, 0x0e, 0xf7, 0xdd, 0x65, 0x98, 0x62, 0x9d, 0x4a, 0x32, 0xfa, 0x73, + 0xec, 0xe5, 0x1c, 0x21, 0x3f, 0x05, 0xf9, 0x94, 0x0e, 0xff, 0x65, 0x06, 0xa5, 0xfa, 0xf2, 0x06, + 0x94, 0x42, 0xdd, 0x49, 0x32, 0xfc, 0x57, 0x18, 0x3c, 0x8c, 0xc2, 0xa6, 0xb3, 0xee, 0x24, 0x99, + 0xe0, 0x57, 0xb9, 0xe9, 0x0c, 0x81, 0xdd, 0xc6, 0x1b, 0x93, 0x64, 0xf4, 0xaf, 0x71, 0xaf, 0x73, + 0x88, 0xfc, 0x2c, 0x14, 0x83, 0x62, 0x93, 0x8c, 0xff, 0x75, 0x86, 0x1f, 0x62, 0xb0, 0x07, 0x42, + 0xc5, 0x2e, 0x99, 0xe2, 0x37, 0xb8, 0x07, 0x42, 0x28, 0xbc, 0x8d, 0xe2, 0x0d, 0x4c, 0x32, 0xd3, + 0x6f, 0xf2, 0x6d, 0x14, 0xeb, 0x5f, 0xf0, 0x6a, 0x92, 0x9c, 0x9f, 0x4c, 0xf1, 0x5b, 0x7c, 0x35, + 0x89, 0x3e, 0x36, 0x23, 0xde, 0x11, 0x24, 0x73, 0xfc, 0x36, 0x37, 0x23, 0xd6, 0x10, 0xc8, 0x2d, + 0x90, 0x46, 0xbb, 0x81, 0x64, 0xbe, 0xcf, 0x33, 0xbe, 0xd9, 0x91, 0x66, 0x40, 0x7e, 0x1e, 0x16, + 0xc6, 0x77, 0x02, 0xc9, 0xac, 0x5f, 0xb8, 0x1b, 0x3b, 0xbb, 0x85, 0x1b, 0x01, 0x79, 0x6f, 0x58, + 0x52, 0xc2, 0x5d, 0x40, 0x32, 0xed, 0xab, 0x77, 0xa3, 0x89, 0x3b, 0xdc, 0x04, 0xc8, 0x35, 0x80, + 0x61, 0x01, 0x4e, 0xe6, 0x7a, 0x8d, 0x71, 0x85, 0x40, 0x78, 0x6b, 0xb0, 0xfa, 0x9b, 0x8c, 0xff, + 0x22, 0xdf, 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, 0xc9, 0xe8, 0xd7, 0xf9, 0xd6, 0xe0, 0x10, + 0x1c, 0xd9, 0xa1, 0xea, 0x96, 0xcc, 0xf0, 0x25, 0x1e, 0xd9, 0x21, 0x94, 0xbc, 0x0b, 0xb3, 0x23, + 0x05, 0x31, 0x99, 0xea, 0xcb, 0x8c, 0x4a, 0x8c, 0xd7, 0xc3, 0x70, 0xf1, 0x62, 0xc5, 0x30, 0x99, + 0xed, 0xf7, 0x63, 0xc5, 0x8b, 0xd5, 0x42, 0xf9, 0x32, 0x14, 0xac, 0x81, 0x69, 0xe2, 0xcd, 0x23, + 0xdd, 0xfb, 0x3f, 0xf7, 0xaa, 0xff, 0xf6, 0x1e, 0xf3, 0x0e, 0x07, 0xc8, 0x17, 0x21, 0x8f, 0xfa, + 0x07, 0xa8, 0x93, 0x84, 0xfc, 0xf7, 0xf7, 0x78, 0xc2, 0xc4, 0xda, 0xf2, 0xb3, 0x00, 0xf4, 0x6a, + 0x84, 0x7c, 0xf6, 0x4b, 0xc0, 0xfe, 0xc7, 0x7b, 0xec, 0x7f, 0x6a, 0x86, 0x90, 0x21, 0x01, 0xfd, + 0x0f, 0x9d, 0x7b, 0x13, 0xbc, 0x1b, 0x25, 0x20, 0x2b, 0xf2, 0x0c, 0x4c, 0x5d, 0xf5, 0x6c, 0xcb, + 0xd7, 0x7a, 0x49, 0xe8, 0xff, 0x64, 0x68, 0xae, 0x8f, 0x1d, 0xd6, 0xb7, 0x5d, 0xe4, 0x6b, 0x3d, + 0x2f, 0x09, 0xfb, 0x5f, 0x0c, 0x1b, 0x00, 0x30, 0x58, 0xd7, 0x3c, 0x3f, 0xcd, 0xbc, 0xff, 0x9b, + 0x83, 0x39, 0x00, 0x1b, 0x8d, 0x7f, 0x5f, 0x43, 0x47, 0x49, 0xd8, 0xef, 0x73, 0xa3, 0x99, 0xbe, + 0xfc, 0x71, 0x28, 0xe2, 0x9f, 0xf4, 0x1f, 0xe5, 0x12, 0xc0, 0xff, 0xc3, 0xc0, 0x43, 0x04, 0x7e, + 0xb3, 0xe7, 0x77, 0x7c, 0x23, 0xd9, 0xd9, 0xff, 0xcb, 0x56, 0x9a, 0xeb, 0xcb, 0x35, 0x28, 0x79, + 0x7e, 0xa7, 0x33, 0x60, 0xfd, 0x69, 0x02, 0xfc, 0xff, 0xde, 0x0b, 0xae, 0x2c, 0x02, 0x0c, 0x5e, + 0xed, 0x1b, 0xd7, 0x7c, 0xc7, 0x26, 0x9f, 0x39, 0x92, 0x18, 0xee, 0x32, 0x86, 0x10, 0x64, 0xbd, + 0x3e, 0xfe, 0xfa, 0x16, 0xb6, 0xec, 0x2d, 0x9b, 0x5e, 0xdc, 0xbe, 0xb4, 0x9c, 0x7c, 0x03, 0x0b, + 0x6f, 0x66, 0xa0, 0xd4, 0x73, 0xed, 0x81, 0xc3, 0xae, 0x61, 0xf3, 0xe4, 0x61, 0xf1, 0x64, 0x97, + 0xb7, 0xcb, 0x3f, 0x05, 0x53, 0x5b, 0x18, 0xe7, 0x7d, 0x4c, 0x5a, 0x02, 0xa1, 0x47, 0x2e, 0xad, + 0x61, 0x4d, 0x5c, 0xa5, 0xcc, 0x6c, 0x68, 0x75, 0x4b, 0x11, 0x7a, 0x8b, 0x4f, 0x82, 0xb0, 0x25, + 0x2d, 0xc0, 0x24, 0x99, 0xe0, 0xc7, 0xc8, 0x07, 0xca, 0xac, 0xc2, 0x9e, 0x02, 0xf9, 0x1a, 0xb9, + 0xd7, 0x16, 0x98, 0x7c, 0x6d, 0xc8, 0xbf, 0xc6, 0xf9, 0x85, 0x11, 0xfe, 0xb5, 0x13, 0xf2, 0x67, + 0x87, 0xfc, 0xeb, 0x17, 0xde, 0xba, 0xbd, 0x34, 0xf1, 0xdd, 0xdb, 0x4b, 0x13, 0xff, 0x78, 0x7b, + 0x69, 0xe2, 0xed, 0xdb, 0x4b, 0xc2, 0xf7, 0x6f, 0x2f, 0x09, 0x3f, 0xb8, 0xbd, 0x24, 0xdc, 0xba, + 0xb3, 0x24, 0x7c, 0xf5, 0xce, 0x92, 0xf0, 0xf5, 0x3b, 0x4b, 0xc2, 0xb7, 0xee, 0x2c, 0x09, 0x6f, + 0xdd, 0x59, 0x9a, 0xf8, 0xee, 0x9d, 0xa5, 0x89, 0xb7, 0xef, 0x2c, 0x4d, 0xfc, 0x7f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x8a, 0xed, 0x42, 0xee, 0x30, 0x34, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1012,23 +1035,3 @@ func valueToStringGroup(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("group.proto", fileDescriptor_group_3742ba72ecbfc017) } - -var fileDescriptor_group_3742ba72ecbfc017 = []byte{ - // 211 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4e, 0x2f, 0xca, 0x2f, - 0x2d, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, - 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0xb2, 0x49, - 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x74, 0x29, 0xc5, 0x71, 0xb1, 0xbb, 0x83, 0xf4, - 0x15, 0x1b, 0x0a, 0xc9, 0x71, 0x31, 0xa6, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x19, 0x09, 0xe8, - 0x41, 0x4c, 0x86, 0x4a, 0xe9, 0xb9, 0x07, 0x31, 0xa6, 0x4b, 0x19, 0x73, 0x31, 0xba, 0x0b, 0x89, - 0x71, 0xb1, 0xb9, 0x65, 0xa6, 0xe6, 0xa4, 0x18, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0x41, - 0x79, 0x70, 0x71, 0x23, 0x09, 0x26, 0x05, 0x46, 0x0d, 0x46, 0xa8, 0xb8, 0x11, 0xc2, 0x7c, 0x23, - 0x98, 0xf9, 0x8c, 0x18, 0xe6, 0x1b, 0x91, 0x68, 0x3e, 0x33, 0xc2, 0x7c, 0x27, 0x93, 0x13, 0x0f, - 0xe5, 0x18, 0x2e, 0x3c, 0x94, 0x63, 0xb8, 0xf1, 0x50, 0x8e, 0xe1, 0xc1, 0x43, 0x39, 0xc6, 0x0f, - 0x0f, 0xe5, 0x18, 0x7f, 0x3c, 0x94, 0x63, 0x6c, 0x78, 0x24, 0xc7, 0xb8, 0xe2, 0x91, 0x1c, 0xe3, - 0x86, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x70, 0xe1, 0x91, 0x1c, - 0xc3, 0x83, 0x47, 0x72, 0x0c, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3c, 0xd8, 0xef, 0x2c, 0x39, - 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.pb.go b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.pb.go index e12b0cf18..70d517bb2 100644 --- a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/imported/a.pb.go @@ -3,14 +3,14 @@ package imported -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +34,7 @@ func (m *A) Reset() { *m = A{} } func (m *A) String() string { return proto.CompactTextString(m) } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_a_b3350f4009dfb5d2, []int{0} + return fileDescriptor_44591ff926c61195, []int{0} } func (m *A) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -51,8 +51,8 @@ func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return m.Size() @@ -73,6 +73,21 @@ func (m *A) GetF1() string { func init() { proto.RegisterType((*A)(nil), "imported.A") } + +func init() { proto.RegisterFile("a.proto", fileDescriptor_44591ff926c61195) } + +var fileDescriptor_44591ff926c61195 = []byte{ + // 127 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x62, 0x4f, 0xd4, 0x2b, 0x28, + 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xc8, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x49, 0x4d, 0x91, 0xd2, 0x4d, + 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, + 0x2b, 0x48, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x51, 0x49, 0x98, 0x8b, 0xd1, + 0x51, 0x88, 0x8f, 0x8b, 0x29, 0xcd, 0x50, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x88, 0x29, 0xcd, + 0xd0, 0x49, 0xe2, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x3c, + 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x93, 0xd8, 0xc0, 0xba, + 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x70, 0x12, 0x2a, 0xca, 0x79, 0x00, 0x00, 0x00, +} + func (this *A) Equal(that interface{}) bool { if that == nil { return this == nil @@ -430,17 +445,3 @@ var ( ErrInvalidLengthA = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowA = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("a.proto", fileDescriptor_a_b3350f4009dfb5d2) } - -var fileDescriptor_a_b3350f4009dfb5d2 = []byte{ - // 127 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x62, 0x4f, 0xd4, 0x2b, 0x28, - 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xc8, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0x49, 0x4d, 0x91, 0xd2, 0x4d, - 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, - 0x2b, 0x48, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x51, 0x49, 0x98, 0x8b, 0xd1, - 0x51, 0x88, 0x8f, 0x8b, 0x29, 0xcd, 0x50, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x88, 0x29, 0xcd, - 0xd0, 0x49, 0xe2, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x3c, - 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x93, 0xd8, 0xc0, 0xba, - 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x70, 0x12, 0x2a, 0xca, 0x79, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/importing/c.pb.go b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/importing/c.pb.go index b6a2973f6..dd1a4a669 100644 --- a/vendor/github.com/gogo/protobuf/test/importcustom-issue389/importing/c.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importcustom-issue389/importing/c.pb.go @@ -3,17 +3,16 @@ package importing -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/test/importcustom-issue389/imported" - -import github_com_gogo_protobuf_test_importcustom_issue389_imported "github.com/gogo/protobuf/test/importcustom-issue389/imported" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/test/importcustom-issue389/imported" + github_com_gogo_protobuf_test_importcustom_issue389_imported "github.com/gogo/protobuf/test/importcustom-issue389/imported" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -37,7 +36,7 @@ func (m *C) Reset() { *m = C{} } func (m *C) String() string { return proto.CompactTextString(m) } func (*C) ProtoMessage() {} func (*C) Descriptor() ([]byte, []int) { - return fileDescriptor_c_081b796ebd2c7433, []int{0} + return fileDescriptor_7086c139101e99ef, []int{0} } func (m *C) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -54,8 +53,8 @@ func (m *C) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *C) XXX_Merge(src proto.Message) { - xxx_messageInfo_C.Merge(dst, src) +func (m *C) XXX_Merge(src proto.Message) { + xxx_messageInfo_C.Merge(m, src) } func (m *C) XXX_Size() int { return m.Size() @@ -69,6 +68,25 @@ var xxx_messageInfo_C proto.InternalMessageInfo func init() { proto.RegisterType((*C)(nil), "importing.C") } + +func init() { proto.RegisterFile("c.proto", fileDescriptor_7086c139101e99ef) } + +var fileDescriptor_7086c139101e99ef = []byte{ + // 180 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x62, 0x4f, 0xd6, 0x2b, 0x28, + 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0xc9, 0xcc, 0x4b, 0x97, 0xd2, + 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, + 0x07, 0xab, 0x48, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x53, 0xca, 0x05, 0xa7, + 0xf2, 0x92, 0xd4, 0xe2, 0x12, 0x7d, 0x88, 0xb9, 0xc9, 0xa5, 0xc5, 0x25, 0xf9, 0xb9, 0xba, 0x99, + 0xc5, 0xc5, 0xa5, 0xa9, 0xc6, 0x16, 0x96, 0x50, 0xd1, 0xd4, 0x14, 0xfd, 0x44, 0x88, 0x29, 0x4a, + 0x29, 0x5c, 0x8c, 0xce, 0x42, 0xf1, 0x5c, 0x4c, 0x69, 0x46, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, + 0x46, 0xdc, 0x7a, 0x30, 0x35, 0x7a, 0x8e, 0x4e, 0x4e, 0xb7, 0xee, 0xc9, 0xdb, 0x51, 0x62, 0x8f, + 0x9e, 0x53, 0x10, 0x53, 0x9a, 0x91, 0x93, 0xc4, 0x8f, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, + 0xee, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, + 0x31, 0x26, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x06, 0x70, 0x86, 0x94, + 0x11, 0x01, 0x00, 0x00, +} + func (this *C) Equal(that interface{}) bool { if that == nil { return this == nil @@ -440,21 +458,3 @@ var ( ErrInvalidLengthC = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowC = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("c.proto", fileDescriptor_c_081b796ebd2c7433) } - -var fileDescriptor_c_081b796ebd2c7433 = []byte{ - // 180 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x62, 0x4f, 0xd6, 0x2b, 0x28, - 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xcc, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0xc9, 0xcc, 0x4b, 0x97, 0xd2, - 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, - 0x07, 0xab, 0x48, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x53, 0xca, 0x05, 0xa7, - 0xf2, 0x92, 0xd4, 0xe2, 0x12, 0x7d, 0x88, 0xb9, 0xc9, 0xa5, 0xc5, 0x25, 0xf9, 0xb9, 0xba, 0x99, - 0xc5, 0xc5, 0xa5, 0xa9, 0xc6, 0x16, 0x96, 0x50, 0xd1, 0xd4, 0x14, 0xfd, 0x44, 0x88, 0x29, 0x4a, - 0x29, 0x5c, 0x8c, 0xce, 0x42, 0xf1, 0x5c, 0x4c, 0x69, 0x46, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, - 0x46, 0xdc, 0x7a, 0x30, 0x35, 0x7a, 0x8e, 0x4e, 0x4e, 0xb7, 0xee, 0xc9, 0xdb, 0x51, 0x62, 0x8f, - 0x9e, 0x53, 0x10, 0x53, 0x9a, 0x91, 0x93, 0xc4, 0x8f, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, - 0xee, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, - 0x31, 0x26, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x06, 0x70, 0x86, 0x94, - 0x11, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/importdedup/proto.pb.go b/vendor/github.com/gogo/protobuf/test/importdedup/proto.pb.go index d12d86974..229c2a269 100644 --- a/vendor/github.com/gogo/protobuf/test/importdedup/proto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importdedup/proto.pb.go @@ -3,13 +3,14 @@ package importdedup -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import subpkg "github.com/gogo/protobuf/test/importdedup/subpkg" - -import github_com_gogo_protobuf_test_importdedup_subpkg "github.com/gogo/protobuf/test/importdedup/subpkg" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_test_importdedup_subpkg "github.com/gogo/protobuf/test/importdedup/subpkg" + subpkg "github.com/gogo/protobuf/test/importdedup/subpkg" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +35,7 @@ func (m *Object) Reset() { *m = Object{} } func (m *Object) String() string { return proto.CompactTextString(m) } func (*Object) ProtoMessage() {} func (*Object) Descriptor() ([]byte, []int) { - return fileDescriptor_proto_38d4f6a4f3773b6e, []int{0} + return fileDescriptor_2fcc84b9998d60d8, []int{0} } func (m *Object) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Object.Unmarshal(m, b) @@ -42,8 +43,8 @@ func (m *Object) XXX_Unmarshal(b []byte) error { func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Object.Marshal(b, m, deterministic) } -func (dst *Object) XXX_Merge(src proto.Message) { - xxx_messageInfo_Object.Merge(dst, src) +func (m *Object) XXX_Merge(src proto.Message) { + xxx_messageInfo_Object.Merge(m, src) } func (m *Object) XXX_Size() int { return xxx_messageInfo_Object.Size(m) @@ -65,9 +66,9 @@ func init() { proto.RegisterType((*Object)(nil), "importdedup.Object") } -func init() { proto.RegisterFile("proto.proto", fileDescriptor_proto_38d4f6a4f3773b6e) } +func init() { proto.RegisterFile("proto.proto", fileDescriptor_2fcc84b9998d60d8) } -var fileDescriptor_proto_38d4f6a4f3773b6e = []byte{ +var fileDescriptor_2fcc84b9998d60d8 = []byte{ // 175 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x03, 0x93, 0x42, 0xdc, 0x99, 0xb9, 0x05, 0xf9, 0x45, 0x25, 0x29, 0xa9, 0x29, 0xa5, diff --git a/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go b/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go index c8666c5b0..6d1e775df 100644 --- a/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importdedup/subpkg/subproto.pb.go @@ -3,10 +3,12 @@ package subpkg -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -29,7 +31,7 @@ func (m *SubObject) Reset() { *m = SubObject{} } func (m *SubObject) String() string { return proto.CompactTextString(m) } func (*SubObject) ProtoMessage() {} func (*SubObject) Descriptor() ([]byte, []int) { - return fileDescriptor_subproto_094c5f22e1aecb1e, []int{0} + return fileDescriptor_896c12f092e0b025, []int{0} } func (m *SubObject) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SubObject.Unmarshal(m, b) @@ -37,8 +39,8 @@ func (m *SubObject) XXX_Unmarshal(b []byte) error { func (m *SubObject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SubObject.Marshal(b, m, deterministic) } -func (dst *SubObject) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubObject.Merge(dst, src) +func (m *SubObject) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubObject.Merge(m, src) } func (m *SubObject) XXX_Size() int { return xxx_messageInfo_SubObject.Size(m) @@ -53,9 +55,9 @@ func init() { proto.RegisterType((*SubObject)(nil), "subpkg.SubObject") } -func init() { proto.RegisterFile("subpkg/subproto.proto", fileDescriptor_subproto_094c5f22e1aecb1e) } +func init() { proto.RegisterFile("subpkg/subproto.proto", fileDescriptor_896c12f092e0b025) } -var fileDescriptor_subproto_094c5f22e1aecb1e = []byte{ +var fileDescriptor_896c12f092e0b025 = []byte{ // 88 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2d, 0x2e, 0x4d, 0x2a, 0xc8, 0x4e, 0xd7, 0x07, 0x51, 0x45, 0xf9, 0x25, 0xf9, 0x7a, 0x60, 0x52, 0x88, 0x0d, 0x22, 0x2c, diff --git a/vendor/github.com/gogo/protobuf/test/importduplicate/importduplicate.pb.go b/vendor/github.com/gogo/protobuf/test/importduplicate/importduplicate.pb.go index e633c9049..26347ecf4 100644 --- a/vendor/github.com/gogo/protobuf/test/importduplicate/importduplicate.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importduplicate/importduplicate.pb.go @@ -3,18 +3,18 @@ package importduplicate -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import proto1 "github.com/gogo/protobuf/test/importduplicate/proto" -import sortkeys "github.com/gogo/protobuf/test/importduplicate/sortkeys" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + proto1 "github.com/gogo/protobuf/test/importduplicate/proto" + sortkeys "github.com/gogo/protobuf/test/importduplicate/sortkeys" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -40,7 +40,7 @@ func (m *MapAndSortKeys) Reset() { *m = MapAndSortKeys{} } func (m *MapAndSortKeys) String() string { return proto.CompactTextString(m) } func (*MapAndSortKeys) ProtoMessage() {} func (*MapAndSortKeys) Descriptor() ([]byte, []int) { - return fileDescriptor_importduplicate_e9d46e93914bce47, []int{0} + return fileDescriptor_f3b420b76fd5209f, []int{0} } func (m *MapAndSortKeys) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapAndSortKeys.Unmarshal(m, b) @@ -48,8 +48,8 @@ func (m *MapAndSortKeys) XXX_Unmarshal(b []byte) error { func (m *MapAndSortKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapAndSortKeys.Marshal(b, m, deterministic) } -func (dst *MapAndSortKeys) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapAndSortKeys.Merge(dst, src) +func (m *MapAndSortKeys) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapAndSortKeys.Merge(m, src) } func (m *MapAndSortKeys) XXX_Size() int { return xxx_messageInfo_MapAndSortKeys.Size(m) @@ -85,6 +85,31 @@ func init() { proto.RegisterType((*MapAndSortKeys)(nil), "importduplicate.MapAndSortKeys") proto.RegisterMapType((map[int32]string)(nil), "importduplicate.MapAndSortKeys.KeyValueEntry") } + +func init() { proto.RegisterFile("importduplicate.proto", fileDescriptor_f3b420b76fd5209f) } + +var fileDescriptor_f3b420b76fd5209f = []byte{ + // 277 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcd, 0xcc, 0x2d, 0xc8, + 0x2f, 0x2a, 0x49, 0x29, 0x2d, 0xc8, 0xc9, 0x4c, 0x4e, 0x2c, 0x49, 0xd5, 0x2b, 0x28, 0xca, 0x2f, + 0xc9, 0x17, 0xe2, 0x47, 0x13, 0x96, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, + 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x4b, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, + 0x30, 0x0b, 0xa2, 0x5f, 0xca, 0x15, 0xa7, 0xf2, 0x92, 0xd4, 0xe2, 0x12, 0x7d, 0x34, 0xd3, 0xf5, + 0x8b, 0xf3, 0x8b, 0x4a, 0xb2, 0x53, 0x2b, 0x8b, 0xc1, 0x8c, 0xc4, 0xa4, 0x1c, 0xa8, 0x33, 0xa4, + 0xec, 0x49, 0x33, 0x06, 0xe2, 0x0c, 0x30, 0x09, 0x31, 0x40, 0xe9, 0x11, 0x23, 0x17, 0x9f, 0x6f, + 0x62, 0x81, 0x63, 0x5e, 0x4a, 0x70, 0x7e, 0x51, 0x89, 0x77, 0x6a, 0x65, 0xb1, 0x90, 0x12, 0x17, + 0x73, 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x80, 0x1e, 0xcc, 0x6a, 0x3d, + 0xff, 0xa4, 0xac, 0xd4, 0xe4, 0x92, 0x20, 0x90, 0xa4, 0x90, 0x27, 0x17, 0x47, 0x76, 0x6a, 0x65, + 0x58, 0x62, 0x4e, 0x69, 0xaa, 0x04, 0x93, 0x02, 0xb3, 0x06, 0xb7, 0x91, 0xae, 0x1e, 0x7a, 0x40, + 0xa1, 0x1a, 0xab, 0xe7, 0x0d, 0x55, 0xef, 0x9a, 0x57, 0x52, 0x54, 0x19, 0x04, 0xd7, 0x2e, 0xa4, + 0xc2, 0xc5, 0x5a, 0x06, 0x36, 0x87, 0x19, 0x6c, 0x21, 0x1f, 0xc4, 0x61, 0x7a, 0xc1, 0xa5, 0x10, + 0xeb, 0x20, 0x92, 0x52, 0xd6, 0x5c, 0xbc, 0x28, 0x06, 0x08, 0x09, 0x20, 0x5c, 0xc9, 0x0a, 0x71, + 0x93, 0x08, 0xcc, 0x20, 0x26, 0x05, 0x46, 0x0d, 0x4e, 0xa8, 0x46, 0x2b, 0x26, 0x0b, 0x46, 0x27, + 0x81, 0x0f, 0x0f, 0xe5, 0x18, 0x7f, 0x3c, 0x94, 0x63, 0x5c, 0xf1, 0x48, 0x8e, 0x71, 0xc7, 0x23, + 0x39, 0xc6, 0x24, 0x36, 0xb0, 0x25, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x50, 0xcc, 0xec, + 0x38, 0xde, 0x01, 0x00, 0x00, +} + func (this *MapAndSortKeys) Equal(that interface{}) bool { if that == nil { return this == nil @@ -255,29 +280,3 @@ func encodeVarintPopulateImportduplicate(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { - proto.RegisterFile("importduplicate.proto", fileDescriptor_importduplicate_e9d46e93914bce47) -} - -var fileDescriptor_importduplicate_e9d46e93914bce47 = []byte{ - // 277 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcd, 0xcc, 0x2d, 0xc8, - 0x2f, 0x2a, 0x49, 0x29, 0x2d, 0xc8, 0xc9, 0x4c, 0x4e, 0x2c, 0x49, 0xd5, 0x2b, 0x28, 0xca, 0x2f, - 0xc9, 0x17, 0xe2, 0x47, 0x13, 0x96, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, - 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x4b, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, - 0x30, 0x0b, 0xa2, 0x5f, 0xca, 0x15, 0xa7, 0xf2, 0x92, 0xd4, 0xe2, 0x12, 0x7d, 0x34, 0xd3, 0xf5, - 0x8b, 0xf3, 0x8b, 0x4a, 0xb2, 0x53, 0x2b, 0x8b, 0xc1, 0x8c, 0xc4, 0xa4, 0x1c, 0xa8, 0x33, 0xa4, - 0xec, 0x49, 0x33, 0x06, 0xe2, 0x0c, 0x30, 0x09, 0x31, 0x40, 0xe9, 0x11, 0x23, 0x17, 0x9f, 0x6f, - 0x62, 0x81, 0x63, 0x5e, 0x4a, 0x70, 0x7e, 0x51, 0x89, 0x77, 0x6a, 0x65, 0xb1, 0x90, 0x12, 0x17, - 0x73, 0x76, 0x6a, 0xa5, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x80, 0x1e, 0xcc, 0x6a, 0x3d, - 0xff, 0xa4, 0xac, 0xd4, 0xe4, 0x92, 0x20, 0x90, 0xa4, 0x90, 0x27, 0x17, 0x47, 0x76, 0x6a, 0x65, - 0x58, 0x62, 0x4e, 0x69, 0xaa, 0x04, 0x93, 0x02, 0xb3, 0x06, 0xb7, 0x91, 0xae, 0x1e, 0x7a, 0x40, - 0xa1, 0x1a, 0xab, 0xe7, 0x0d, 0x55, 0xef, 0x9a, 0x57, 0x52, 0x54, 0x19, 0x04, 0xd7, 0x2e, 0xa4, - 0xc2, 0xc5, 0x5a, 0x06, 0x36, 0x87, 0x19, 0x6c, 0x21, 0x1f, 0xc4, 0x61, 0x7a, 0xc1, 0xa5, 0x10, - 0xeb, 0x20, 0x92, 0x52, 0xd6, 0x5c, 0xbc, 0x28, 0x06, 0x08, 0x09, 0x20, 0x5c, 0xc9, 0x0a, 0x71, - 0x93, 0x08, 0xcc, 0x20, 0x26, 0x05, 0x46, 0x0d, 0x4e, 0xa8, 0x46, 0x2b, 0x26, 0x0b, 0x46, 0x27, - 0x81, 0x0f, 0x0f, 0xe5, 0x18, 0x7f, 0x3c, 0x94, 0x63, 0x5c, 0xf1, 0x48, 0x8e, 0x71, 0xc7, 0x23, - 0x39, 0xc6, 0x24, 0x36, 0xb0, 0x25, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x50, 0xcc, 0xec, - 0x38, 0xde, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go b/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go index f9691630f..9e90377af 100644 --- a/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importduplicate/proto/proto.pb.go @@ -3,15 +3,15 @@ package proto -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +34,7 @@ func (m *Subject) Reset() { *m = Subject{} } func (m *Subject) String() string { return proto.CompactTextString(m) } func (*Subject) ProtoMessage() {} func (*Subject) Descriptor() ([]byte, []int) { - return fileDescriptor_proto_2eb405ba8c57e5a9, []int{0} + return fileDescriptor_9897619deba694d0, []int{0} } func (m *Subject) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Subject.Unmarshal(m, b) @@ -42,8 +42,8 @@ func (m *Subject) XXX_Unmarshal(b []byte) error { func (m *Subject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Subject.Marshal(b, m, deterministic) } -func (dst *Subject) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subject.Merge(dst, src) +func (m *Subject) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subject.Merge(m, src) } func (m *Subject) XXX_Size() int { return xxx_messageInfo_Subject.Size(m) @@ -57,6 +57,20 @@ var xxx_messageInfo_Subject proto.InternalMessageInfo func init() { proto.RegisterType((*Subject)(nil), "proto.Subject") } + +func init() { proto.RegisterFile("proto/proto.proto", fileDescriptor_9897619deba694d0) } + +var fileDescriptor_9897619deba694d0 = []byte{ + // 103 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2c, 0x28, 0xca, 0x2f, + 0xc9, 0xd7, 0x07, 0x93, 0x7a, 0x60, 0x52, 0x88, 0x15, 0x4c, 0x49, 0xe9, 0xa6, 0x67, 0x96, 0x64, + 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0x43, 0xd5, 0x24, 0x95, 0xa6, 0x81, + 0x79, 0x10, 0x6d, 0x20, 0x16, 0x44, 0x97, 0x12, 0x27, 0x17, 0x7b, 0x70, 0x69, 0x52, 0x56, 0x6a, + 0x72, 0x89, 0x93, 0xc0, 0x87, 0x87, 0x72, 0x8c, 0x3f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, + 0xb8, 0xe3, 0x91, 0x1c, 0x63, 0x12, 0x1b, 0x58, 0x8d, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xf0, + 0xc4, 0xe7, 0x73, 0x6e, 0x00, 0x00, 0x00, +} + func (this *Subject) Equal(that interface{}) bool { if that == nil { return this == nil @@ -181,16 +195,3 @@ func encodeVarintPopulateProto(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("proto/proto.proto", fileDescriptor_proto_2eb405ba8c57e5a9) } - -var fileDescriptor_proto_2eb405ba8c57e5a9 = []byte{ - // 103 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2c, 0x28, 0xca, 0x2f, - 0xc9, 0xd7, 0x07, 0x93, 0x7a, 0x60, 0x52, 0x88, 0x15, 0x4c, 0x49, 0xe9, 0xa6, 0x67, 0x96, 0x64, - 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0x43, 0xd5, 0x24, 0x95, 0xa6, 0x81, - 0x79, 0x10, 0x6d, 0x20, 0x16, 0x44, 0x97, 0x12, 0x27, 0x17, 0x7b, 0x70, 0x69, 0x52, 0x56, 0x6a, - 0x72, 0x89, 0x93, 0xc0, 0x87, 0x87, 0x72, 0x8c, 0x3f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, - 0xb8, 0xe3, 0x91, 0x1c, 0x63, 0x12, 0x1b, 0x58, 0x8d, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xf0, - 0xc4, 0xe7, 0x73, 0x6e, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go b/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go index cb6b8d31b..1d1b48b46 100644 --- a/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go +++ b/vendor/github.com/gogo/protobuf/test/importduplicate/sortkeys/sortable.pb.go @@ -3,15 +3,15 @@ package sortkeys -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +34,7 @@ func (m *Object) Reset() { *m = Object{} } func (m *Object) String() string { return proto.CompactTextString(m) } func (*Object) ProtoMessage() {} func (*Object) Descriptor() ([]byte, []int) { - return fileDescriptor_sortable_d1adc3e2593f24f3, []int{0} + return fileDescriptor_facf4ffffcc1013f, []int{0} } func (m *Object) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Object.Unmarshal(m, b) @@ -42,8 +42,8 @@ func (m *Object) XXX_Unmarshal(b []byte) error { func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Object.Marshal(b, m, deterministic) } -func (dst *Object) XXX_Merge(src proto.Message) { - xxx_messageInfo_Object.Merge(dst, src) +func (m *Object) XXX_Merge(src proto.Message) { + xxx_messageInfo_Object.Merge(m, src) } func (m *Object) XXX_Size() int { return xxx_messageInfo_Object.Size(m) @@ -57,6 +57,21 @@ var xxx_messageInfo_Object proto.InternalMessageInfo func init() { proto.RegisterType((*Object)(nil), "sortkeys.Object") } + +func init() { proto.RegisterFile("sortkeys/sortable.proto", fileDescriptor_facf4ffffcc1013f) } + +var fileDescriptor_facf4ffffcc1013f = []byte{ + // 115 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2f, 0xce, 0x2f, 0x2a, + 0xc9, 0x4e, 0xad, 0x2c, 0xd6, 0x07, 0x31, 0x12, 0x93, 0x72, 0x52, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, + 0xf2, 0x85, 0x38, 0x60, 0x12, 0x52, 0xba, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, + 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0x05, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, + 0x66, 0x41, 0x34, 0x2a, 0x71, 0x70, 0xb1, 0xf9, 0x27, 0x65, 0xa5, 0x26, 0x97, 0x38, 0x09, 0x7c, + 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, + 0x26, 0xb1, 0x81, 0x95, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd5, 0x1b, 0xba, 0xd6, 0x76, + 0x00, 0x00, 0x00, +} + func (this *Object) Equal(that interface{}) bool { if that == nil { return this == nil @@ -181,17 +196,3 @@ func encodeVarintPopulateSortable(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("sortkeys/sortable.proto", fileDescriptor_sortable_d1adc3e2593f24f3) } - -var fileDescriptor_sortable_d1adc3e2593f24f3 = []byte{ - // 115 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2f, 0xce, 0x2f, 0x2a, - 0xc9, 0x4e, 0xad, 0x2c, 0xd6, 0x07, 0x31, 0x12, 0x93, 0x72, 0x52, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, - 0xf2, 0x85, 0x38, 0x60, 0x12, 0x52, 0xba, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, - 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0x05, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, - 0x66, 0x41, 0x34, 0x2a, 0x71, 0x70, 0xb1, 0xf9, 0x27, 0x65, 0xa5, 0x26, 0x97, 0x38, 0x09, 0x7c, - 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, - 0x26, 0xb1, 0x81, 0x95, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd5, 0x1b, 0xba, 0xd6, 0x76, - 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go b/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go index 343c85bed..b647d041a 100644 --- a/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go +++ b/vendor/github.com/gogo/protobuf/test/indeximport-issue72/index/index.pb.go @@ -3,14 +3,14 @@ package index -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -35,7 +35,7 @@ func (m *IndexQuery) Reset() { *m = IndexQuery{} } func (m *IndexQuery) String() string { return proto.CompactTextString(m) } func (*IndexQuery) ProtoMessage() {} func (*IndexQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_index_5bc64712555c00b6, []int{0} + return fileDescriptor_f750e0f7889345b5, []int{0} } func (m *IndexQuery) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -52,8 +52,8 @@ func (m *IndexQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *IndexQuery) XXX_Merge(src proto.Message) { - xxx_messageInfo_IndexQuery.Merge(dst, src) +func (m *IndexQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexQuery.Merge(m, src) } func (m *IndexQuery) XXX_Size() int { return m.Size() @@ -81,6 +81,22 @@ func (m *IndexQuery) GetValue() string { func init() { proto.RegisterType((*IndexQuery)(nil), "index.IndexQuery") } + +func init() { proto.RegisterFile("index.proto", fileDescriptor_f750e0f7889345b5) } + +var fileDescriptor_f750e0f7889345b5 = []byte{ + // 141 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xce, 0xcc, 0x4b, 0x49, + 0xad, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, + 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0xb2, 0x49, + 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x74, 0x29, 0x99, 0x70, 0x71, 0x79, 0x82, 0xf4, + 0x05, 0x96, 0xa6, 0x16, 0x55, 0x0a, 0x09, 0x70, 0x31, 0x7b, 0xa7, 0x56, 0x4a, 0x30, 0x2a, 0x30, + 0x6a, 0x70, 0x06, 0x81, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x12, 0x4c, + 0x60, 0x31, 0x08, 0xc7, 0x49, 0xe2, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, + 0x92, 0x63, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x01, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x3d, 0x8f, 0x44, 0x93, 0x00, 0x00, 0x00, +} + func (this *IndexQuery) Equal(that interface{}) bool { if that == nil { return this == nil @@ -501,18 +517,3 @@ var ( ErrInvalidLengthIndex = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIndex = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("index.proto", fileDescriptor_index_5bc64712555c00b6) } - -var fileDescriptor_index_5bc64712555c00b6 = []byte{ - // 141 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xce, 0xcc, 0x4b, 0x49, - 0xad, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, - 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0xb2, 0x49, - 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x74, 0x29, 0x99, 0x70, 0x71, 0x79, 0x82, 0xf4, - 0x05, 0x96, 0xa6, 0x16, 0x55, 0x0a, 0x09, 0x70, 0x31, 0x7b, 0xa7, 0x56, 0x4a, 0x30, 0x2a, 0x30, - 0x6a, 0x70, 0x06, 0x81, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x12, 0x4c, - 0x60, 0x31, 0x08, 0xc7, 0x49, 0xe2, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, - 0x92, 0x63, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x01, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x7a, 0x3d, 0x8f, 0x44, 0x93, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/indeximport-issue72/indeximport.pb.go b/vendor/github.com/gogo/protobuf/test/indeximport-issue72/indeximport.pb.go index 1307f5ab2..8d965bf49 100644 --- a/vendor/github.com/gogo/protobuf/test/indeximport-issue72/indeximport.pb.go +++ b/vendor/github.com/gogo/protobuf/test/indeximport-issue72/indeximport.pb.go @@ -3,15 +3,15 @@ package indeximport -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import index "github.com/gogo/protobuf/test/indeximport-issue72/index" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + index "github.com/gogo/protobuf/test/indeximport-issue72/index" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -35,7 +35,7 @@ func (m *IndexQueries) Reset() { *m = IndexQueries{} } func (m *IndexQueries) String() string { return proto.CompactTextString(m) } func (*IndexQueries) ProtoMessage() {} func (*IndexQueries) Descriptor() ([]byte, []int) { - return fileDescriptor_indeximport_e35abb03a00df740, []int{0} + return fileDescriptor_86f07d240f84eb2d, []int{0} } func (m *IndexQueries) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -52,8 +52,8 @@ func (m *IndexQueries) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *IndexQueries) XXX_Merge(src proto.Message) { - xxx_messageInfo_IndexQueries.Merge(dst, src) +func (m *IndexQueries) XXX_Merge(src proto.Message) { + xxx_messageInfo_IndexQueries.Merge(m, src) } func (m *IndexQueries) XXX_Size() int { return m.Size() @@ -74,6 +74,24 @@ func (m *IndexQueries) GetQueries() []*index.IndexQuery { func init() { proto.RegisterType((*IndexQueries)(nil), "indeximport.IndexQueries") } + +func init() { proto.RegisterFile("indeximport.proto", fileDescriptor_86f07d240f84eb2d) } + +var fileDescriptor_86f07d240f84eb2d = []byte{ + // 168 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcc, 0xcc, 0x4b, 0x49, + 0xad, 0xc8, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x46, + 0x12, 0x92, 0x72, 0x4e, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x49, 0x2a, 0x4d, 0xd3, 0x2f, 0x49, 0x2d, 0x2e, 0xd1, 0x47, 0x52, + 0xaa, 0x9b, 0x59, 0x5c, 0x5c, 0x9a, 0x6a, 0x6e, 0x04, 0x11, 0x83, 0x90, 0x10, 0x13, 0xa5, 0x74, + 0x71, 0x1a, 0x02, 0xe2, 0x81, 0x39, 0x60, 0x16, 0x44, 0xb9, 0x92, 0x35, 0x17, 0x8f, 0x27, 0x48, + 0x77, 0x60, 0x69, 0x6a, 0x51, 0x66, 0x6a, 0xb1, 0x90, 0x36, 0x17, 0x3b, 0x94, 0x29, 0xc1, 0xa8, + 0xc0, 0xac, 0xc1, 0x6d, 0x24, 0xa8, 0x07, 0x31, 0x1d, 0xae, 0xaa, 0x32, 0x08, 0xa6, 0xc2, 0x49, + 0xe2, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, + 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xd4, 0x50, 0x15, 0x6f, 0xeb, 0x00, 0x00, 0x00, +} + func (this *IndexQueries) Equal(that interface{}) bool { if that == nil { return this == nil @@ -452,20 +470,3 @@ var ( ErrInvalidLengthIndeximport = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIndeximport = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("indeximport.proto", fileDescriptor_indeximport_e35abb03a00df740) } - -var fileDescriptor_indeximport_e35abb03a00df740 = []byte{ - // 168 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcc, 0xcc, 0x4b, 0x49, - 0xad, 0xc8, 0xcc, 0x2d, 0xc8, 0x2f, 0x2a, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x46, - 0x12, 0x92, 0x72, 0x4e, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, - 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x49, 0x2a, 0x4d, 0xd3, 0x2f, 0x49, 0x2d, 0x2e, 0xd1, 0x47, 0x52, - 0xaa, 0x9b, 0x59, 0x5c, 0x5c, 0x9a, 0x6a, 0x6e, 0x04, 0x11, 0x83, 0x90, 0x10, 0x13, 0xa5, 0x74, - 0x71, 0x1a, 0x02, 0xe2, 0x81, 0x39, 0x60, 0x16, 0x44, 0xb9, 0x92, 0x35, 0x17, 0x8f, 0x27, 0x48, - 0x77, 0x60, 0x69, 0x6a, 0x51, 0x66, 0x6a, 0xb1, 0x90, 0x36, 0x17, 0x3b, 0x94, 0x29, 0xc1, 0xa8, - 0xc0, 0xac, 0xc1, 0x6d, 0x24, 0xa8, 0x07, 0x31, 0x1d, 0xae, 0xaa, 0x32, 0x08, 0xa6, 0xc2, 0x49, - 0xe2, 0xc7, 0x43, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, - 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xd4, 0x50, 0x15, 0x6f, 0xeb, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/int64support/object.pb.go b/vendor/github.com/gogo/protobuf/test/int64support/object.pb.go index 52e9a5632..1ee90100c 100644 --- a/vendor/github.com/gogo/protobuf/test/int64support/object.pb.go +++ b/vendor/github.com/gogo/protobuf/test/int64support/object.pb.go @@ -3,15 +3,15 @@ package int64support -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -33,7 +33,7 @@ type Object struct { func (m *Object) Reset() { *m = Object{} } func (*Object) ProtoMessage() {} func (*Object) Descriptor() ([]byte, []int) { - return fileDescriptor_object_9a4b0c2b004c02f9, []int{0} + return fileDescriptor_41d48463eef19a5f, []int{0} } func (m *Object) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -50,8 +50,8 @@ func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Object) XXX_Merge(src proto.Message) { - xxx_messageInfo_Object.Merge(dst, src) +func (m *Object) XXX_Merge(src proto.Message) { + xxx_messageInfo_Object.Merge(m, src) } func (m *Object) XXX_Size() int { return m.Size() @@ -72,6 +72,25 @@ func (m *Object) GetOptionalNumber() int64 { func init() { proto.RegisterType((*Object)(nil), "int64support.Object") } + +func init() { proto.RegisterFile("object.proto", fileDescriptor_41d48463eef19a5f) } + +var fileDescriptor_41d48463eef19a5f = []byte{ + // 190 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xc9, 0x4f, 0xca, 0x4a, + 0x4d, 0x2e, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xc9, 0xcc, 0x2b, 0x31, 0x33, 0x29, + 0x2e, 0x2d, 0x28, 0xc8, 0x2f, 0x2a, 0x91, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, + 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, + 0x1c, 0x30, 0x0b, 0xa2, 0x59, 0xc9, 0x90, 0x8b, 0xcd, 0x1f, 0x6c, 0x98, 0x90, 0x3a, 0x17, 0x7f, + 0x7e, 0x41, 0x49, 0x66, 0x7e, 0x5e, 0x62, 0x4e, 0x7c, 0x5e, 0x69, 0x6e, 0x52, 0x6a, 0x91, 0x04, + 0xa3, 0x02, 0xa3, 0x06, 0x73, 0x10, 0x1f, 0x4c, 0xd8, 0x0f, 0x2c, 0xea, 0xe4, 0x75, 0xe1, 0xa1, + 0x1c, 0xc3, 0x8d, 0x87, 0x72, 0x0c, 0x0f, 0x1e, 0xca, 0x31, 0x7e, 0x78, 0x28, 0xc7, 0xf8, 0xe3, + 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x3c, + 0xf0, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, + 0x7c, 0xf1, 0x48, 0x8e, 0xe1, 0xc3, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0xa2, 0x50, 0x5c, + 0x0b, 0x08, 0x00, 0x00, 0xff, 0xff, 0x73, 0x60, 0x3c, 0xd6, 0xca, 0x00, 0x00, 0x00, +} + func (this *Object) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -493,21 +512,3 @@ var ( ErrInvalidLengthObject = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowObject = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("object.proto", fileDescriptor_object_9a4b0c2b004c02f9) } - -var fileDescriptor_object_9a4b0c2b004c02f9 = []byte{ - // 190 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xc9, 0x4f, 0xca, 0x4a, - 0x4d, 0x2e, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xc9, 0xcc, 0x2b, 0x31, 0x33, 0x29, - 0x2e, 0x2d, 0x28, 0xc8, 0x2f, 0x2a, 0x91, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, - 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, - 0x1c, 0x30, 0x0b, 0xa2, 0x59, 0xc9, 0x90, 0x8b, 0xcd, 0x1f, 0x6c, 0x98, 0x90, 0x3a, 0x17, 0x7f, - 0x7e, 0x41, 0x49, 0x66, 0x7e, 0x5e, 0x62, 0x4e, 0x7c, 0x5e, 0x69, 0x6e, 0x52, 0x6a, 0x91, 0x04, - 0xa3, 0x02, 0xa3, 0x06, 0x73, 0x10, 0x1f, 0x4c, 0xd8, 0x0f, 0x2c, 0xea, 0xe4, 0x75, 0xe1, 0xa1, - 0x1c, 0xc3, 0x8d, 0x87, 0x72, 0x0c, 0x0f, 0x1e, 0xca, 0x31, 0x7e, 0x78, 0x28, 0xc7, 0xf8, 0xe3, - 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x3c, - 0xf0, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, - 0x7c, 0xf1, 0x48, 0x8e, 0xe1, 0xc3, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0xa2, 0x50, 0x5c, - 0x0b, 0x08, 0x00, 0x00, 0xff, 0xff, 0x73, 0x60, 0x3c, 0xd6, 0xca, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue260/issue260.pb.go b/vendor/github.com/gogo/protobuf/test/issue260/issue260.pb.go index 67968b307..b051b6f56 100644 --- a/vendor/github.com/gogo/protobuf/test/issue260/issue260.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue260/issue260.pb.go @@ -3,17 +3,16 @@ package issue260 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" - -import time "time" - -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/types" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + io "io" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +30,7 @@ func (m *Dropped) Reset() { *m = Dropped{} } func (m *Dropped) String() string { return proto.CompactTextString(m) } func (*Dropped) ProtoMessage() {} func (*Dropped) Descriptor() ([]byte, []int) { - return fileDescriptor_issue260_6a5b9ffe9baf64cb, []int{0} + return fileDescriptor_750763c054810c1d, []int{0} } func (m *Dropped) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -48,8 +47,8 @@ func (m *Dropped) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Dropped) XXX_Merge(src proto.Message) { - xxx_messageInfo_Dropped.Merge(dst, src) +func (m *Dropped) XXX_Merge(src proto.Message) { + xxx_messageInfo_Dropped.Merge(m, src) } func (m *Dropped) XXX_Size() int { return m.Size() @@ -78,7 +77,7 @@ func (m *DroppedWithoutGetters) Reset() { *m = DroppedWithoutGetters{} } func (m *DroppedWithoutGetters) String() string { return proto.CompactTextString(m) } func (*DroppedWithoutGetters) ProtoMessage() {} func (*DroppedWithoutGetters) Descriptor() ([]byte, []int) { - return fileDescriptor_issue260_6a5b9ffe9baf64cb, []int{1} + return fileDescriptor_750763c054810c1d, []int{1} } func (m *DroppedWithoutGetters) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -95,8 +94,8 @@ func (m *DroppedWithoutGetters) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (dst *DroppedWithoutGetters) XXX_Merge(src proto.Message) { - xxx_messageInfo_DroppedWithoutGetters.Merge(dst, src) +func (m *DroppedWithoutGetters) XXX_Merge(src proto.Message) { + xxx_messageInfo_DroppedWithoutGetters.Merge(m, src) } func (m *DroppedWithoutGetters) XXX_Size() int { return m.Size() @@ -118,7 +117,7 @@ func (m *Kept) Reset() { *m = Kept{} } func (m *Kept) String() string { return proto.CompactTextString(m) } func (*Kept) ProtoMessage() {} func (*Kept) Descriptor() ([]byte, []int) { - return fileDescriptor_issue260_6a5b9ffe9baf64cb, []int{2} + return fileDescriptor_750763c054810c1d, []int{2} } func (m *Kept) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -135,8 +134,8 @@ func (m *Kept) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Kept) XXX_Merge(src proto.Message) { - xxx_messageInfo_Kept.Merge(dst, src) +func (m *Kept) XXX_Merge(src proto.Message) { + xxx_messageInfo_Kept.Merge(m, src) } func (m *Kept) XXX_Size() int { return m.Size() @@ -166,6 +165,33 @@ func init() { proto.RegisterType((*DroppedWithoutGetters)(nil), "issue260.DroppedWithoutGetters") proto.RegisterType((*Kept)(nil), "issue260.Kept") } + +func init() { proto.RegisterFile("issue260.proto", fileDescriptor_750763c054810c1d) } + +var fileDescriptor_750763c054810c1d = []byte{ + // 307 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x32, 0x33, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x94, 0x92, 0x4f, 0xcf, + 0xcf, 0x4f, 0xcf, 0x49, 0x45, 0xa8, 0x2a, 0xc9, 0xcc, 0x4d, 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0x80, + 0x28, 0x50, 0x32, 0xe5, 0x62, 0x77, 0x29, 0xca, 0x2f, 0x28, 0x48, 0x4d, 0x11, 0x12, 0xe2, 0x62, + 0xc9, 0x4b, 0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x04, 0xb8, + 0x98, 0x13, 0xd3, 0x53, 0x25, 0x98, 0x14, 0x18, 0x35, 0x58, 0x83, 0x40, 0x4c, 0x2b, 0x96, 0x0f, + 0x0b, 0xe5, 0x19, 0x94, 0x26, 0x33, 0x72, 0x89, 0x42, 0xf5, 0x85, 0x67, 0x96, 0x64, 0xe4, 0x97, + 0x96, 0xb8, 0xa7, 0x96, 0x94, 0xa4, 0x16, 0x15, 0x0b, 0x89, 0x71, 0xb1, 0x65, 0xa4, 0x66, 0xa6, + 0x67, 0x94, 0x80, 0xcd, 0x61, 0x0e, 0x82, 0xf2, 0x84, 0x44, 0xb8, 0x58, 0xcb, 0x33, 0x53, 0x4a, + 0x32, 0xc0, 0x66, 0x31, 0x07, 0x41, 0x38, 0x42, 0x4e, 0x5c, 0x9c, 0x70, 0x17, 0x49, 0x30, 0x2b, + 0x30, 0x6a, 0x70, 0x1b, 0x49, 0xe9, 0x41, 0xdc, 0xac, 0x07, 0x73, 0xb3, 0x5e, 0x08, 0x4c, 0x85, + 0x13, 0xc7, 0x89, 0x7b, 0xf2, 0x0c, 0x13, 0xee, 0xcb, 0x33, 0x06, 0x21, 0xb4, 0x59, 0x71, 0x74, + 0x2c, 0x90, 0x67, 0x00, 0xbb, 0x4a, 0x87, 0x8b, 0xc5, 0x3b, 0xb5, 0xa0, 0x84, 0x38, 0x9f, 0x38, + 0xe9, 0x3c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, + 0xc9, 0x31, 0x1e, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, + 0x1e, 0xc9, 0x31, 0xfe, 0x78, 0x24, 0xc7, 0xd0, 0xf0, 0x58, 0x8e, 0x61, 0xc2, 0x63, 0x39, 0x86, + 0x24, 0x36, 0xb0, 0x73, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x88, 0xbf, 0x62, 0x9b, + 0x01, 0x00, 0x00, +} + func (this *Dropped) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -1048,29 +1074,3 @@ var ( ErrInvalidLengthIssue260 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIssue260 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("issue260.proto", fileDescriptor_issue260_6a5b9ffe9baf64cb) } - -var fileDescriptor_issue260_6a5b9ffe9baf64cb = []byte{ - // 307 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, - 0x4d, 0x35, 0x32, 0x33, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x94, 0x92, 0x4f, 0xcf, - 0xcf, 0x4f, 0xcf, 0x49, 0x45, 0xa8, 0x2a, 0xc9, 0xcc, 0x4d, 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0x80, - 0x28, 0x50, 0x32, 0xe5, 0x62, 0x77, 0x29, 0xca, 0x2f, 0x28, 0x48, 0x4d, 0x11, 0x12, 0xe2, 0x62, - 0xc9, 0x4b, 0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x04, 0xb8, - 0x98, 0x13, 0xd3, 0x53, 0x25, 0x98, 0x14, 0x18, 0x35, 0x58, 0x83, 0x40, 0x4c, 0x2b, 0x96, 0x0f, - 0x0b, 0xe5, 0x19, 0x94, 0x26, 0x33, 0x72, 0x89, 0x42, 0xf5, 0x85, 0x67, 0x96, 0x64, 0xe4, 0x97, - 0x96, 0xb8, 0xa7, 0x96, 0x94, 0xa4, 0x16, 0x15, 0x0b, 0x89, 0x71, 0xb1, 0x65, 0xa4, 0x66, 0xa6, - 0x67, 0x94, 0x80, 0xcd, 0x61, 0x0e, 0x82, 0xf2, 0x84, 0x44, 0xb8, 0x58, 0xcb, 0x33, 0x53, 0x4a, - 0x32, 0xc0, 0x66, 0x31, 0x07, 0x41, 0x38, 0x42, 0x4e, 0x5c, 0x9c, 0x70, 0x17, 0x49, 0x30, 0x2b, - 0x30, 0x6a, 0x70, 0x1b, 0x49, 0xe9, 0x41, 0xdc, 0xac, 0x07, 0x73, 0xb3, 0x5e, 0x08, 0x4c, 0x85, - 0x13, 0xc7, 0x89, 0x7b, 0xf2, 0x0c, 0x13, 0xee, 0xcb, 0x33, 0x06, 0x21, 0xb4, 0x59, 0x71, 0x74, - 0x2c, 0x90, 0x67, 0x00, 0xbb, 0x4a, 0x87, 0x8b, 0xc5, 0x3b, 0xb5, 0xa0, 0x84, 0x38, 0x9f, 0x38, - 0xe9, 0x3c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, - 0xc9, 0x31, 0x1e, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, - 0x1e, 0xc9, 0x31, 0xfe, 0x78, 0x24, 0xc7, 0xd0, 0xf0, 0x58, 0x8e, 0x61, 0xc2, 0x63, 0x39, 0x86, - 0x24, 0x36, 0xb0, 0x73, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x88, 0xbf, 0x62, 0x9b, - 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue261/issue261.pb.go b/vendor/github.com/gogo/protobuf/test/issue261/issue261.pb.go index 187a7841d..42e90fa79 100644 --- a/vendor/github.com/gogo/protobuf/test/issue261/issue261.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue261/issue261.pb.go @@ -3,21 +3,19 @@ package issue261 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" - -import time "time" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + _ "github.com/gogo/protobuf/types" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + io "io" + math "math" + reflect "reflect" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -38,7 +36,7 @@ type MapStdTypes struct { func (m *MapStdTypes) Reset() { *m = MapStdTypes{} } func (*MapStdTypes) ProtoMessage() {} func (*MapStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_issue261_73ccdf10d7017cb8, []int{0} + return fileDescriptor_35fa31fa2023935a, []int{0} } func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -55,8 +53,8 @@ func (m *MapStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *MapStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapStdTypes.Merge(dst, src) +func (m *MapStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapStdTypes.Merge(m, src) } func (m *MapStdTypes) XXX_Size() int { return m.Size() @@ -78,6 +76,31 @@ func init() { proto.RegisterType((*MapStdTypes)(nil), "issue261.MapStdTypes") proto.RegisterMapType((map[int32]*time.Duration)(nil), "issue261.MapStdTypes.NullableDurationEntry") } + +func init() { proto.RegisterFile("issue261.proto", fileDescriptor_35fa31fa2023935a) } + +var fileDescriptor_35fa31fa2023935a = []byte{ + // 275 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x32, 0x33, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x94, 0x92, 0x4b, 0xcf, + 0xcf, 0x4f, 0xcf, 0x49, 0x45, 0xa8, 0x4a, 0x29, 0x2d, 0x4a, 0x2c, 0xc9, 0xcc, 0xcf, 0x83, 0xc8, + 0x2b, 0x9d, 0x61, 0xe4, 0xe2, 0xf6, 0x4d, 0x2c, 0x08, 0x2e, 0x49, 0x09, 0xa9, 0x2c, 0x48, 0x2d, + 0x16, 0x8a, 0xe5, 0x12, 0xc8, 0x2b, 0xcd, 0xc9, 0x49, 0x4c, 0xca, 0x49, 0x75, 0x81, 0xaa, 0x94, + 0x60, 0x56, 0x60, 0xd6, 0xe0, 0x36, 0xd2, 0xd6, 0x83, 0xbb, 0x09, 0x49, 0x83, 0x9e, 0x1f, 0x9a, + 0x6a, 0xd7, 0xbc, 0x92, 0xa2, 0x4a, 0x27, 0x96, 0x19, 0xf7, 0xe5, 0x19, 0x83, 0x30, 0x8c, 0x92, + 0x8a, 0xe3, 0x12, 0xc5, 0xaa, 0x41, 0x48, 0x80, 0x8b, 0x39, 0x3b, 0xb5, 0x52, 0x82, 0x51, 0x81, + 0x51, 0x83, 0x35, 0x08, 0xc4, 0x14, 0xd2, 0xe7, 0x62, 0x2d, 0x4b, 0xcc, 0x29, 0x4d, 0x95, 0x60, + 0x52, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd4, 0x83, 0xf8, 0x44, 0x0f, 0xe6, 0x13, 0x3d, 0x98, 0x01, + 0x41, 0x10, 0x75, 0x56, 0x4c, 0x16, 0x8c, 0x4e, 0x26, 0x17, 0x1e, 0xca, 0x31, 0xdc, 0x78, 0x28, + 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, + 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, + 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, + 0x92, 0xd8, 0xc0, 0x66, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa0, 0x4d, 0xcb, 0xf5, 0x76, + 0x01, 0x00, 0x00, +} + func (this *MapStdTypes) Equal(that interface{}) bool { if that == nil { return this == nil @@ -519,27 +542,3 @@ var ( ErrInvalidLengthIssue261 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIssue261 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("issue261.proto", fileDescriptor_issue261_73ccdf10d7017cb8) } - -var fileDescriptor_issue261_73ccdf10d7017cb8 = []byte{ - // 275 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, - 0x4d, 0x35, 0x32, 0x33, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x94, 0x92, 0x4b, 0xcf, - 0xcf, 0x4f, 0xcf, 0x49, 0x45, 0xa8, 0x4a, 0x29, 0x2d, 0x4a, 0x2c, 0xc9, 0xcc, 0xcf, 0x83, 0xc8, - 0x2b, 0x9d, 0x61, 0xe4, 0xe2, 0xf6, 0x4d, 0x2c, 0x08, 0x2e, 0x49, 0x09, 0xa9, 0x2c, 0x48, 0x2d, - 0x16, 0x8a, 0xe5, 0x12, 0xc8, 0x2b, 0xcd, 0xc9, 0x49, 0x4c, 0xca, 0x49, 0x75, 0x81, 0xaa, 0x94, - 0x60, 0x56, 0x60, 0xd6, 0xe0, 0x36, 0xd2, 0xd6, 0x83, 0xbb, 0x09, 0x49, 0x83, 0x9e, 0x1f, 0x9a, - 0x6a, 0xd7, 0xbc, 0x92, 0xa2, 0x4a, 0x27, 0x96, 0x19, 0xf7, 0xe5, 0x19, 0x83, 0x30, 0x8c, 0x92, - 0x8a, 0xe3, 0x12, 0xc5, 0xaa, 0x41, 0x48, 0x80, 0x8b, 0x39, 0x3b, 0xb5, 0x52, 0x82, 0x51, 0x81, - 0x51, 0x83, 0x35, 0x08, 0xc4, 0x14, 0xd2, 0xe7, 0x62, 0x2d, 0x4b, 0xcc, 0x29, 0x4d, 0x95, 0x60, - 0x52, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd4, 0x83, 0xf8, 0x44, 0x0f, 0xe6, 0x13, 0x3d, 0x98, 0x01, - 0x41, 0x10, 0x75, 0x56, 0x4c, 0x16, 0x8c, 0x4e, 0x26, 0x17, 0x1e, 0xca, 0x31, 0xdc, 0x78, 0x28, - 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, - 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, - 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, - 0x92, 0xd8, 0xc0, 0x66, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa0, 0x4d, 0xcb, 0xf5, 0x76, - 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue262/timefail.pb.go b/vendor/github.com/gogo/protobuf/test/issue262/timefail.pb.go index d7459d8da..85589f612 100644 --- a/vendor/github.com/gogo/protobuf/test/issue262/timefail.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue262/timefail.pb.go @@ -3,20 +3,18 @@ package timefail -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" - -import time "time" - -import strings "strings" -import reflect "reflect" - -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + _ "github.com/gogo/protobuf/types" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + io "io" + math "math" + reflect "reflect" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -37,7 +35,7 @@ type TimeFail struct { func (m *TimeFail) Reset() { *m = TimeFail{} } func (*TimeFail) ProtoMessage() {} func (*TimeFail) Descriptor() ([]byte, []int) { - return fileDescriptor_timefail_9e133aed3973196e, []int{0} + return fileDescriptor_395e61815f86626a, []int{0} } func (m *TimeFail) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -54,8 +52,8 @@ func (m *TimeFail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *TimeFail) XXX_Merge(src proto.Message) { - xxx_messageInfo_TimeFail.Merge(dst, src) +func (m *TimeFail) XXX_Merge(src proto.Message) { + xxx_messageInfo_TimeFail.Merge(m, src) } func (m *TimeFail) XXX_Size() int { return m.Size() @@ -76,6 +74,27 @@ func (m *TimeFail) GetTimeTest() *time.Time { func init() { proto.RegisterType((*TimeFail)(nil), "timefail.TimeFail") } + +func init() { proto.RegisterFile("timefail.proto", fileDescriptor_395e61815f86626a) } + +var fileDescriptor_395e61815f86626a = []byte{ + // 210 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0xc9, 0xcc, 0x4d, + 0x4d, 0x4b, 0xcc, 0xcc, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x94, 0x92, 0x4f, 0xcf, + 0xcf, 0x4f, 0xcf, 0x49, 0x45, 0xa8, 0x02, 0x19, 0x54, 0x5c, 0x92, 0x98, 0x5b, 0x00, 0x51, 0xa0, + 0xe4, 0xc9, 0xc5, 0x11, 0x92, 0x99, 0x9b, 0xea, 0x96, 0x98, 0x99, 0x23, 0x64, 0xcb, 0xc5, 0x09, + 0x92, 0x8e, 0x2f, 0x49, 0x2d, 0x2e, 0x91, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd2, 0x83, + 0x18, 0xa0, 0x07, 0x33, 0x40, 0x2f, 0x04, 0x66, 0x80, 0x13, 0xcb, 0x84, 0xfb, 0xf2, 0x8c, 0x41, + 0x60, 0xa7, 0x85, 0xa4, 0x16, 0x97, 0x38, 0x99, 0x5c, 0x78, 0x28, 0xc7, 0x70, 0xe3, 0xa1, 0x1c, + 0xc3, 0x87, 0x87, 0x72, 0x8c, 0x0d, 0x8f, 0xe4, 0x18, 0x57, 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, + 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x5f, 0x3c, 0x92, 0x63, 0xf8, 0xf0, + 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x48, + 0x62, 0x03, 0x9b, 0x6c, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x43, 0x63, 0x18, 0x5f, 0xf3, 0x00, + 0x00, 0x00, +} + func (this *TimeFail) Equal(that interface{}) bool { if that == nil { return this == nil @@ -390,23 +409,3 @@ var ( ErrInvalidLengthTimefail = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTimefail = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("timefail.proto", fileDescriptor_timefail_9e133aed3973196e) } - -var fileDescriptor_timefail_9e133aed3973196e = []byte{ - // 210 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0xc9, 0xcc, 0x4d, - 0x4d, 0x4b, 0xcc, 0xcc, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x94, 0x92, 0x4f, 0xcf, - 0xcf, 0x4f, 0xcf, 0x49, 0x45, 0xa8, 0x02, 0x19, 0x54, 0x5c, 0x92, 0x98, 0x5b, 0x00, 0x51, 0xa0, - 0xe4, 0xc9, 0xc5, 0x11, 0x92, 0x99, 0x9b, 0xea, 0x96, 0x98, 0x99, 0x23, 0x64, 0xcb, 0xc5, 0x09, - 0x92, 0x8e, 0x2f, 0x49, 0x2d, 0x2e, 0x91, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd2, 0x83, - 0x18, 0xa0, 0x07, 0x33, 0x40, 0x2f, 0x04, 0x66, 0x80, 0x13, 0xcb, 0x84, 0xfb, 0xf2, 0x8c, 0x41, - 0x60, 0xa7, 0x85, 0xa4, 0x16, 0x97, 0x38, 0x99, 0x5c, 0x78, 0x28, 0xc7, 0x70, 0xe3, 0xa1, 0x1c, - 0xc3, 0x87, 0x87, 0x72, 0x8c, 0x0d, 0x8f, 0xe4, 0x18, 0x57, 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, - 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x5f, 0x3c, 0x92, 0x63, 0xf8, 0xf0, - 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x48, - 0x62, 0x03, 0x9b, 0x6c, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x43, 0x63, 0x18, 0x5f, 0xf3, 0x00, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue312/events/events.pb.go b/vendor/github.com/gogo/protobuf/test/issue312/events/events.pb.go index 9f4abb12b..7cef7b9ef 100644 --- a/vendor/github.com/gogo/protobuf/test/issue312/events/events.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue312/events/events.pb.go @@ -3,16 +3,16 @@ package events -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import issue312 "github.com/gogo/protobuf/test/issue312" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + issue312 "github.com/gogo/protobuf/test/issue312" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -36,7 +36,7 @@ func (m *Subtype) Reset() { *m = Subtype{} } func (m *Subtype) String() string { return proto.CompactTextString(m) } func (*Subtype) ProtoMessage() {} func (*Subtype) Descriptor() ([]byte, []int) { - return fileDescriptor_events_4681b5f19350f6a9, []int{0} + return fileDescriptor_8f22242cb04491f9, []int{0} } func (m *Subtype) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Subtype.Unmarshal(m, b) @@ -44,8 +44,8 @@ func (m *Subtype) XXX_Unmarshal(b []byte) error { func (m *Subtype) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Subtype.Marshal(b, m, deterministic) } -func (dst *Subtype) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subtype.Merge(dst, src) +func (m *Subtype) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subtype.Merge(m, src) } func (m *Subtype) XXX_Size() int { return xxx_messageInfo_Subtype.Size(m) @@ -66,6 +66,24 @@ func (m *Subtype) GetState() issue312.TaskState { func init() { proto.RegisterType((*Subtype)(nil), "issue312.events.Subtype") } + +func init() { proto.RegisterFile("events.proto", fileDescriptor_8f22242cb04491f9) } + +var fileDescriptor_8f22242cb04491f9 = []byte{ + // 162 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x49, 0x2d, 0x4b, 0xcd, + 0x2b, 0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xcf, 0x2c, 0x2e, 0x2e, 0x4d, 0x35, + 0x36, 0x34, 0xd2, 0x83, 0x08, 0x4b, 0x99, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, + 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, 0xeb, 0x83, 0xd5, 0x25, 0x95, 0xa6, 0xe9, 0x97, 0xa4, 0x16, + 0x97, 0xe8, 0xc3, 0x94, 0xc3, 0x19, 0x10, 0x73, 0xa4, 0x74, 0x71, 0x6a, 0x03, 0xf1, 0xc0, 0x1c, + 0x30, 0x0b, 0xa2, 0x5c, 0xc9, 0x84, 0x8b, 0x3d, 0xb8, 0x34, 0xa9, 0xa4, 0xb2, 0x20, 0x55, 0x48, + 0x93, 0x8b, 0xb5, 0xb8, 0x24, 0xb1, 0x24, 0x55, 0x82, 0x45, 0x81, 0x51, 0x83, 0xcf, 0x48, 0x58, + 0x0f, 0x6e, 0x72, 0x48, 0x62, 0x71, 0x76, 0x30, 0x48, 0x2a, 0x08, 0xa2, 0xc2, 0x49, 0xe2, 0xc3, + 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x57, 0x3c, 0x92, 0x63, 0xdc, 0xf1, 0x48, 0x8e, 0x31, + 0x8a, 0x0d, 0xe2, 0x6a, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x99, 0x76, 0xdc, 0x82, 0xd5, 0x00, + 0x00, 0x00, +} + func (this *Subtype) Equal(that interface{}) bool { if that == nil { return this == nil @@ -206,20 +224,3 @@ func encodeVarintPopulateEvents(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("events.proto", fileDescriptor_events_4681b5f19350f6a9) } - -var fileDescriptor_events_4681b5f19350f6a9 = []byte{ - // 162 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x49, 0x2d, 0x4b, 0xcd, - 0x2b, 0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xcf, 0x2c, 0x2e, 0x2e, 0x4d, 0x35, - 0x36, 0x34, 0xd2, 0x83, 0x08, 0x4b, 0x99, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, - 0xe7, 0xea, 0xa7, 0xe7, 0xa7, 0xe7, 0xeb, 0x83, 0xd5, 0x25, 0x95, 0xa6, 0xe9, 0x97, 0xa4, 0x16, - 0x97, 0xe8, 0xc3, 0x94, 0xc3, 0x19, 0x10, 0x73, 0xa4, 0x74, 0x71, 0x6a, 0x03, 0xf1, 0xc0, 0x1c, - 0x30, 0x0b, 0xa2, 0x5c, 0xc9, 0x84, 0x8b, 0x3d, 0xb8, 0x34, 0xa9, 0xa4, 0xb2, 0x20, 0x55, 0x48, - 0x93, 0x8b, 0xb5, 0xb8, 0x24, 0xb1, 0x24, 0x55, 0x82, 0x45, 0x81, 0x51, 0x83, 0xcf, 0x48, 0x58, - 0x0f, 0x6e, 0x72, 0x48, 0x62, 0x71, 0x76, 0x30, 0x48, 0x2a, 0x08, 0xa2, 0xc2, 0x49, 0xe2, 0xc3, - 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x57, 0x3c, 0x92, 0x63, 0xdc, 0xf1, 0x48, 0x8e, 0x31, - 0x8a, 0x0d, 0xe2, 0x6a, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x99, 0x76, 0xdc, 0x82, 0xd5, 0x00, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go b/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go index 98b0142c4..b8673d907 100644 --- a/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue312/issue312.pb.go @@ -3,10 +3,12 @@ package issue312 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,6 +34,7 @@ var TaskState_name = map[int32]string{ 0: "TASK_STARTING", 1: "TASK_RUNNING", } + var TaskState_value = map[string]int32{ "TASK_STAGING": 6, "TASK_STARTING": 0, @@ -43,9 +46,11 @@ func (x TaskState) Enum() *TaskState { *p = x return p } + func (x TaskState) String() string { return proto.EnumName(TaskState_name, int32(x)) } + func (x *TaskState) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(TaskState_value, data, "TaskState") if err != nil { @@ -54,17 +59,18 @@ func (x *TaskState) UnmarshalJSON(data []byte) error { *x = TaskState(value) return nil } + func (TaskState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_issue312_ffe23d3d41bbbf36, []int{0} + return fileDescriptor_8a64932ccacef062, []int{0} } func init() { proto.RegisterEnum("issue312.TaskState", TaskState_name, TaskState_value) } -func init() { proto.RegisterFile("issue312.proto", fileDescriptor_issue312_ffe23d3d41bbbf36) } +func init() { proto.RegisterFile("issue312.proto", fileDescriptor_8a64932ccacef062) } -var fileDescriptor_issue312_ffe23d3d41bbbf36 = []byte{ +var fileDescriptor_8a64932ccacef062 = []byte{ // 147 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, 0x4d, 0x35, 0x36, 0x34, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, diff --git a/vendor/github.com/gogo/protobuf/test/issue322/issue322.pb.go b/vendor/github.com/gogo/protobuf/test/issue322/issue322.pb.go index 1ea35a479..99d596aff 100644 --- a/vendor/github.com/gogo/protobuf/test/issue322/issue322.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue322/issue322.pb.go @@ -3,17 +3,16 @@ package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -39,7 +38,7 @@ func (m *OneofTest) Reset() { *m = OneofTest{} } func (m *OneofTest) String() string { return proto.CompactTextString(m) } func (*OneofTest) ProtoMessage() {} func (*OneofTest) Descriptor() ([]byte, []int) { - return fileDescriptor_issue322_3e2db2f0d45a9027, []int{0} + return fileDescriptor_fbf4e8d164dccde1, []int{0} } func (m *OneofTest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -56,8 +55,8 @@ func (m *OneofTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *OneofTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofTest.Merge(dst, src) +func (m *OneofTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofTest.Merge(m, src) } func (m *OneofTest) XXX_Size() int { return m.Size() @@ -150,6 +149,23 @@ func _OneofTest_OneofSizer(msg proto.Message) (n int) { func init() { proto.RegisterType((*OneofTest)(nil), "test.OneofTest") } + +func init() { proto.RegisterFile("issue322.proto", fileDescriptor_fbf4e8d164dccde1) } + +var fileDescriptor_fbf4e8d164dccde1 = []byte{ + // 149 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x36, 0x32, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x29, 0x49, 0x2d, 0x2e, + 0x91, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, + 0xcf, 0xd7, 0x07, 0x4b, 0x26, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xa4, 0xa4, + 0xce, 0xc5, 0xe9, 0x9f, 0x97, 0x9a, 0x9f, 0x16, 0x92, 0x5a, 0x5c, 0x22, 0x24, 0xc8, 0xc5, 0x98, + 0x29, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x6a, 0xc5, 0x68, 0xe2, 0xc1, 0x10, 0xc4, 0x98, 0xe9, 0xc4, + 0xce, 0xc5, 0x5a, 0x9a, 0x97, 0x99, 0x9f, 0xe7, 0x24, 0xf3, 0xe1, 0xa1, 0x1c, 0xe3, 0x8f, 0x87, + 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0xee, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, + 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x02, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe6, 0x64, 0xd7, + 0x6a, 0x8c, 0x00, 0x00, 0x00, +} + func (this *OneofTest) Equal(that interface{}) bool { if that == nil { return this == nil @@ -589,19 +605,3 @@ var ( ErrInvalidLengthIssue322 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIssue322 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("issue322.proto", fileDescriptor_issue322_3e2db2f0d45a9027) } - -var fileDescriptor_issue322_3e2db2f0d45a9027 = []byte{ - // 149 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, - 0x4d, 0x35, 0x36, 0x32, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x29, 0x49, 0x2d, 0x2e, - 0x91, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, - 0xcf, 0xd7, 0x07, 0x4b, 0x26, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xa4, 0xa4, - 0xce, 0xc5, 0xe9, 0x9f, 0x97, 0x9a, 0x9f, 0x16, 0x92, 0x5a, 0x5c, 0x22, 0x24, 0xc8, 0xc5, 0x98, - 0x29, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x6a, 0xc5, 0x68, 0xe2, 0xc1, 0x10, 0xc4, 0x98, 0xe9, 0xc4, - 0xce, 0xc5, 0x5a, 0x9a, 0x97, 0x99, 0x9f, 0xe7, 0x24, 0xf3, 0xe1, 0xa1, 0x1c, 0xe3, 0x8f, 0x87, - 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0xee, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, - 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x02, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe6, 0x64, 0xd7, - 0x6a, 0x8c, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue330/issue330.pb.go b/vendor/github.com/gogo/protobuf/test/issue330/issue330.pb.go index beb1107de..893ad780c 100644 --- a/vendor/github.com/gogo/protobuf/test/issue330/issue330.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue330/issue330.pb.go @@ -3,14 +3,14 @@ package issue330 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +34,7 @@ func (m *Object) Reset() { *m = Object{} } func (m *Object) String() string { return proto.CompactTextString(m) } func (*Object) ProtoMessage() {} func (*Object) Descriptor() ([]byte, []int) { - return fileDescriptor_issue330_8ac709e024292525, []int{0} + return fileDescriptor_30faa33a004e0218, []int{0} } func (m *Object) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -51,8 +51,8 @@ func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Object) XXX_Merge(src proto.Message) { - xxx_messageInfo_Object.Merge(dst, src) +func (m *Object) XXX_Merge(src proto.Message) { + xxx_messageInfo_Object.Merge(m, src) } func (m *Object) XXX_Size() int { return m.Size() @@ -73,6 +73,23 @@ func (m *Object) GetType() TypeIdentifier { func init() { proto.RegisterType((*Object)(nil), "issue330.Object") } + +func init() { proto.RegisterFile("issue330.proto", fileDescriptor_30faa33a004e0218) } + +var fileDescriptor_30faa33a004e0218 = []byte{ + // 158 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x36, 0x36, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x32, 0xe0, 0x62, + 0xf3, 0x4f, 0xca, 0x4a, 0x4d, 0x2e, 0x11, 0x52, 0xe3, 0x62, 0x29, 0xa9, 0x2c, 0x48, 0x95, 0x60, + 0x54, 0x60, 0xd4, 0xe0, 0x75, 0x12, 0xfa, 0x75, 0x4f, 0x9e, 0x2f, 0xa4, 0xb2, 0x20, 0xd5, 0x33, + 0x25, 0x35, 0xaf, 0x24, 0x33, 0x2d, 0x33, 0xb5, 0x28, 0x08, 0x2c, 0xef, 0x24, 0xf3, 0xe3, 0xa1, + 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x1e, 0x78, 0x24, 0xc7, 0x78, 0xe2, + 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x26, 0xb1, 0x81, 0x8d, 0x35, + 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x41, 0xc2, 0x37, 0xa1, 0x00, 0x00, 0x00, +} + func (this *Object) Equal(that interface{}) bool { if that == nil { return this == nil @@ -418,19 +435,3 @@ var ( ErrInvalidLengthIssue330 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIssue330 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("issue330.proto", fileDescriptor_issue330_8ac709e024292525) } - -var fileDescriptor_issue330_8ac709e024292525 = []byte{ - // 158 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, - 0x4d, 0x35, 0x36, 0x36, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x32, 0xe0, 0x62, - 0xf3, 0x4f, 0xca, 0x4a, 0x4d, 0x2e, 0x11, 0x52, 0xe3, 0x62, 0x29, 0xa9, 0x2c, 0x48, 0x95, 0x60, - 0x54, 0x60, 0xd4, 0xe0, 0x75, 0x12, 0xfa, 0x75, 0x4f, 0x9e, 0x2f, 0xa4, 0xb2, 0x20, 0xd5, 0x33, - 0x25, 0x35, 0xaf, 0x24, 0x33, 0x2d, 0x33, 0xb5, 0x28, 0x08, 0x2c, 0xef, 0x24, 0xf3, 0xe3, 0xa1, - 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x1e, 0x78, 0x24, 0xc7, 0x78, 0xe2, - 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x26, 0xb1, 0x81, 0x8d, 0x35, - 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x41, 0xc2, 0x37, 0xa1, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue34/proto.pb.go b/vendor/github.com/gogo/protobuf/test/issue34/proto.pb.go index 56e05a457..d6b331345 100644 --- a/vendor/github.com/gogo/protobuf/test/issue34/proto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue34/proto.pb.go @@ -3,12 +3,13 @@ package issue34 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,7 +33,7 @@ func (m *Foo) Reset() { *m = Foo{} } func (m *Foo) String() string { return proto.CompactTextString(m) } func (*Foo) ProtoMessage() {} func (*Foo) Descriptor() ([]byte, []int) { - return fileDescriptor_proto_9c2649a35ed336bb, []int{0} + return fileDescriptor_2fcc84b9998d60d8, []int{0} } func (m *Foo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -40,8 +41,8 @@ func (m *Foo) XXX_Unmarshal(b []byte) error { func (m *Foo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Foo.Marshal(b, m, deterministic) } -func (dst *Foo) XXX_Merge(src proto.Message) { - xxx_messageInfo_Foo.Merge(dst, src) +func (m *Foo) XXX_Merge(src proto.Message) { + xxx_messageInfo_Foo.Merge(m, src) } func (m *Foo) XXX_Size() int { return xxx_messageInfo_Foo.Size(m) @@ -70,7 +71,7 @@ func (m *FooWithRepeated) Reset() { *m = FooWithRepeated{} } func (m *FooWithRepeated) String() string { return proto.CompactTextString(m) } func (*FooWithRepeated) ProtoMessage() {} func (*FooWithRepeated) Descriptor() ([]byte, []int) { - return fileDescriptor_proto_9c2649a35ed336bb, []int{1} + return fileDescriptor_2fcc84b9998d60d8, []int{1} } func (m *FooWithRepeated) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -78,8 +79,8 @@ func (m *FooWithRepeated) XXX_Unmarshal(b []byte) error { func (m *FooWithRepeated) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FooWithRepeated.Marshal(b, m, deterministic) } -func (dst *FooWithRepeated) XXX_Merge(src proto.Message) { - xxx_messageInfo_FooWithRepeated.Merge(dst, src) +func (m *FooWithRepeated) XXX_Merge(src proto.Message) { + xxx_messageInfo_FooWithRepeated.Merge(m, src) } func (m *FooWithRepeated) XXX_Size() int { return xxx_messageInfo_FooWithRepeated.Size(m) @@ -101,6 +102,21 @@ func init() { proto.RegisterType((*Foo)(nil), "issue34.Foo") proto.RegisterType((*FooWithRepeated)(nil), "issue34.FooWithRepeated") } + +func init() { proto.RegisterFile("proto.proto", fileDescriptor_2fcc84b9998d60d8) } + +var fileDescriptor_2fcc84b9998d60d8 = []byte{ + // 126 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x28, 0xca, 0x2f, + 0xc9, 0xd7, 0x03, 0x93, 0x42, 0xec, 0x99, 0xc5, 0xc5, 0xa5, 0xa9, 0xc6, 0x26, 0x52, 0xba, 0xe9, + 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, + 0xf9, 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0xfa, 0x94, 0xc4, 0xb9, 0x98, 0xdd, + 0xf2, 0xf3, 0x85, 0x04, 0xb8, 0x98, 0x93, 0x12, 0x8b, 0x24, 0x18, 0x15, 0x18, 0x35, 0x78, 0x82, + 0x40, 0x4c, 0x25, 0x65, 0x2e, 0x7e, 0xb7, 0xfc, 0xfc, 0xf0, 0xcc, 0x92, 0x8c, 0xa0, 0xd4, 0x82, + 0xd4, 0xc4, 0x92, 0xd4, 0x14, 0x84, 0x22, 0x66, 0xa8, 0x22, 0x27, 0x96, 0x0b, 0x8f, 0xe4, 0x18, + 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb2, 0x1b, 0xef, 0x89, 0x00, 0x00, 0x00, +} + func (m *Foo) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -367,17 +383,3 @@ var ( ErrInvalidLengthProto = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProto = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("proto.proto", fileDescriptor_proto_9c2649a35ed336bb) } - -var fileDescriptor_proto_9c2649a35ed336bb = []byte{ - // 126 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x28, 0xca, 0x2f, - 0xc9, 0xd7, 0x03, 0x93, 0x42, 0xec, 0x99, 0xc5, 0xc5, 0xa5, 0xa9, 0xc6, 0x26, 0x52, 0xba, 0xe9, - 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, - 0xf9, 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0xfa, 0x94, 0xc4, 0xb9, 0x98, 0xdd, - 0xf2, 0xf3, 0x85, 0x04, 0xb8, 0x98, 0x93, 0x12, 0x8b, 0x24, 0x18, 0x15, 0x18, 0x35, 0x78, 0x82, - 0x40, 0x4c, 0x25, 0x65, 0x2e, 0x7e, 0xb7, 0xfc, 0xfc, 0xf0, 0xcc, 0x92, 0x8c, 0xa0, 0xd4, 0x82, - 0xd4, 0xc4, 0x92, 0xd4, 0x14, 0x84, 0x22, 0x66, 0xa8, 0x22, 0x27, 0x96, 0x0b, 0x8f, 0xe4, 0x18, - 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb2, 0x1b, 0xef, 0x89, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue411/issue411.pb.go b/vendor/github.com/gogo/protobuf/test/issue411/issue411.pb.go index 6a31eceda..19657bc07 100644 --- a/vendor/github.com/gogo/protobuf/test/issue411/issue411.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue411/issue411.pb.go @@ -3,10 +3,12 @@ package issue411 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +33,7 @@ func (m *Span) Reset() { *m = Span{} } func (m *Span) String() string { return proto.CompactTextString(m) } func (*Span) ProtoMessage() {} func (*Span) Descriptor() ([]byte, []int) { - return fileDescriptor_issue411_3de9ea40a93d370b, []int{0} + return fileDescriptor_7e1ed5cde895f96f, []int{0} } func (m *Span) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Span.Unmarshal(m, b) @@ -39,8 +41,8 @@ func (m *Span) XXX_Unmarshal(b []byte) error { func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Span.Marshal(b, m, deterministic) } -func (dst *Span) XXX_Merge(src proto.Message) { - xxx_messageInfo_Span.Merge(dst, src) +func (m *Span) XXX_Merge(src proto.Message) { + xxx_messageInfo_Span.Merge(m, src) } func (m *Span) XXX_Size() int { return xxx_messageInfo_Span.Size(m) @@ -55,9 +57,9 @@ func init() { proto.RegisterType((*Span)(nil), "issue411.Span") } -func init() { proto.RegisterFile("issue411.proto", fileDescriptor_issue411_3de9ea40a93d370b) } +func init() { proto.RegisterFile("issue411.proto", fileDescriptor_7e1ed5cde895f96f) } -var fileDescriptor_issue411_3de9ea40a93d370b = []byte{ +var fileDescriptor_7e1ed5cde895f96f = []byte{ // 158 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, 0x4d, 0x35, 0x31, 0x34, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, diff --git a/vendor/github.com/gogo/protobuf/test/issue42order/issue42.pb.go b/vendor/github.com/gogo/protobuf/test/issue42order/issue42.pb.go index dbc5bfa22..ad9bdece4 100644 --- a/vendor/github.com/gogo/protobuf/test/issue42order/issue42.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue42order/issue42.pb.go @@ -3,14 +3,14 @@ package issue42 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -35,7 +35,7 @@ func (m *UnorderedFields) Reset() { *m = UnorderedFields{} } func (m *UnorderedFields) String() string { return proto.CompactTextString(m) } func (*UnorderedFields) ProtoMessage() {} func (*UnorderedFields) Descriptor() ([]byte, []int) { - return fileDescriptor_issue42_6157ac17a2848d4f, []int{0} + return fileDescriptor_fb4aafed97be2033, []int{0} } func (m *UnorderedFields) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -52,8 +52,8 @@ func (m *UnorderedFields) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *UnorderedFields) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnorderedFields.Merge(dst, src) +func (m *UnorderedFields) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnorderedFields.Merge(m, src) } func (m *UnorderedFields) XXX_Size() int { return m.Size() @@ -90,7 +90,7 @@ func (m *OrderedFields) Reset() { *m = OrderedFields{} } func (m *OrderedFields) String() string { return proto.CompactTextString(m) } func (*OrderedFields) ProtoMessage() {} func (*OrderedFields) Descriptor() ([]byte, []int) { - return fileDescriptor_issue42_6157ac17a2848d4f, []int{1} + return fileDescriptor_fb4aafed97be2033, []int{1} } func (m *OrderedFields) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -107,8 +107,8 @@ func (m *OrderedFields) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *OrderedFields) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrderedFields.Merge(dst, src) +func (m *OrderedFields) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrderedFields.Merge(m, src) } func (m *OrderedFields) XXX_Size() int { return m.Size() @@ -137,6 +137,23 @@ func init() { proto.RegisterType((*UnorderedFields)(nil), "issue42.UnorderedFields") proto.RegisterType((*OrderedFields)(nil), "issue42.OrderedFields") } + +func init() { proto.RegisterFile("issue42.proto", fileDescriptor_fb4aafed97be2033) } + +var fileDescriptor_fb4aafed97be2033 = []byte{ + // 148 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcd, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x31, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x87, 0x72, 0xa5, 0x74, 0xd3, + 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, + 0xf2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xf4, 0x29, 0xe9, 0x72, 0xf1, 0x87, + 0xe6, 0xe5, 0x17, 0xa5, 0xa4, 0x16, 0xa5, 0xa6, 0xb8, 0x65, 0xa6, 0xe6, 0xa4, 0x14, 0x0b, 0xf1, + 0x70, 0x31, 0x3a, 0x4a, 0x70, 0x29, 0x30, 0x6a, 0x30, 0x07, 0x31, 0x3a, 0x82, 0x78, 0x4e, 0x12, + 0x8c, 0x0a, 0x8c, 0x1a, 0x6c, 0x41, 0x8c, 0x4e, 0x4a, 0xda, 0x5c, 0xbc, 0xfe, 0xe8, 0x8a, 0x11, + 0xd2, 0xa8, 0x5a, 0x9d, 0x04, 0x7e, 0x3c, 0x94, 0x63, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, + 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x38, 0xfe, 0xba, 0xa3, + 0xb5, 0x00, 0x00, 0x00, +} + func (m *UnorderedFields) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -637,18 +654,3 @@ var ( ErrInvalidLengthIssue42 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIssue42 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("issue42.proto", fileDescriptor_issue42_6157ac17a2848d4f) } - -var fileDescriptor_issue42_6157ac17a2848d4f = []byte{ - // 144 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcd, 0x2c, 0x2e, 0x2e, - 0x4d, 0x35, 0x31, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x87, 0x72, 0xa5, 0x74, 0xd3, - 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, - 0xf2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xf4, 0x29, 0xe9, 0x72, 0xf1, 0x87, - 0xe6, 0xe5, 0x17, 0xa5, 0xa4, 0x16, 0xa5, 0xa6, 0xb8, 0x65, 0xa6, 0xe6, 0xa4, 0x14, 0x0b, 0xf1, - 0x70, 0x31, 0x3a, 0x49, 0x30, 0x2a, 0x30, 0x6a, 0xb0, 0x05, 0x31, 0x3a, 0x81, 0x78, 0x8e, 0x12, - 0x5c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x8c, 0x8e, 0x4a, 0xda, 0x5c, 0xbc, 0xfe, 0xc4, 0x2a, 0x76, - 0x12, 0xf8, 0xf1, 0x50, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, - 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0x94, 0xa9, 0xfd, 0x9c, 0xb5, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue435/issue435.pb.go b/vendor/github.com/gogo/protobuf/test/issue435/issue435.pb.go index e6be2e6b3..4d3c7f3e6 100644 --- a/vendor/github.com/gogo/protobuf/test/issue435/issue435.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue435/issue435.pb.go @@ -3,10 +3,12 @@ package issue435 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +33,7 @@ func (m *Message) Reset() { *m = Message{} } func (m *Message) String() string { return proto.CompactTextString(m) } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_issue435_f2d026e765e48290, []int{0} + return fileDescriptor_dba67e55f800df0d, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Message.Unmarshal(m, b) @@ -39,8 +41,8 @@ func (m *Message) XXX_Unmarshal(b []byte) error { func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Message.Marshal(b, m, deterministic) } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return xxx_messageInfo_Message.Size(m) @@ -76,7 +78,7 @@ func (m *SubMessage) Reset() { *m = SubMessage{} } func (m *SubMessage) String() string { return proto.CompactTextString(m) } func (*SubMessage) ProtoMessage() {} func (*SubMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_issue435_f2d026e765e48290, []int{1} + return fileDescriptor_dba67e55f800df0d, []int{1} } func (m *SubMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SubMessage.Unmarshal(m, b) @@ -84,8 +86,8 @@ func (m *SubMessage) XXX_Unmarshal(b []byte) error { func (m *SubMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SubMessage.Marshal(b, m, deterministic) } -func (dst *SubMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubMessage.Merge(dst, src) +func (m *SubMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubMessage.Merge(m, src) } func (m *SubMessage) XXX_Size() int { return xxx_messageInfo_SubMessage.Size(m) @@ -110,9 +112,9 @@ func init() { proto.RegisterType((*SubMessage)(nil), "issue435.SubMessage") } -func init() { proto.RegisterFile("issue435.proto", fileDescriptor_issue435_f2d026e765e48290) } +func init() { proto.RegisterFile("issue435.proto", fileDescriptor_dba67e55f800df0d) } -var fileDescriptor_issue435_f2d026e765e48290 = []byte{ +var fileDescriptor_dba67e55f800df0d = []byte{ // 189 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, 0x4d, 0x35, 0x31, 0x36, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, diff --git a/vendor/github.com/gogo/protobuf/test/issue438/issue438.pb.go b/vendor/github.com/gogo/protobuf/test/issue438/issue438.pb.go index bcc1a7832..4252614c3 100644 --- a/vendor/github.com/gogo/protobuf/test/issue438/issue438.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue438/issue438.pb.go @@ -3,11 +3,13 @@ package issue438 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import types "github.com/gogo/protobuf/types" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + types "github.com/gogo/protobuf/types" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -60,7 +62,7 @@ func (m *Types) Reset() { *m = Types{} } func (m *Types) String() string { return proto.CompactTextString(m) } func (*Types) ProtoMessage() {} func (*Types) Descriptor() ([]byte, []int) { - return fileDescriptor_issue438_0fea1881269710af, []int{0} + return fileDescriptor_43147f0c8dedbac4, []int{0} } func (m *Types) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Types.Unmarshal(m, b) @@ -68,8 +70,8 @@ func (m *Types) XXX_Unmarshal(b []byte) error { func (m *Types) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Types.Marshal(b, m, deterministic) } -func (dst *Types) XXX_Merge(src proto.Message) { - xxx_messageInfo_Types.Merge(dst, src) +func (m *Types) XXX_Merge(src proto.Message) { + xxx_messageInfo_Types.Merge(m, src) } func (m *Types) XXX_Size() int { return xxx_messageInfo_Types.Size(m) @@ -293,6 +295,56 @@ func (m *Types) GetBytes() *types.BytesValue { func init() { proto.RegisterType((*Types)(nil), "issue438.Types") } + +func init() { proto.RegisterFile("issue438.proto", fileDescriptor_43147f0c8dedbac4) } + +var fileDescriptor_43147f0c8dedbac4 = []byte{ + // 682 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0xd3, 0xef, 0x4e, 0x14, 0x3b, + 0x14, 0x00, 0xf0, 0x3b, 0x33, 0x2c, 0x97, 0x5b, 0xae, 0xa8, 0x95, 0x3f, 0x65, 0xc1, 0x95, 0x28, + 0x22, 0x6a, 0x18, 0x74, 0x77, 0xb3, 0xf1, 0xab, 0x08, 0x26, 0x26, 0xa2, 0x49, 0x41, 0xbf, 0x92, + 0x99, 0xdd, 0xce, 0xd2, 0xd0, 0x99, 0x36, 0xd3, 0x16, 0x77, 0xde, 0xc6, 0x47, 0xf2, 0x11, 0x8c, + 0xbe, 0x88, 0x69, 0xa7, 0xab, 0x66, 0x87, 0x12, 0xbe, 0xcd, 0xe4, 0xfc, 0xce, 0x69, 0x7b, 0x4e, + 0x0b, 0x96, 0xa8, 0x94, 0x9a, 0xf4, 0x7b, 0xaf, 0x62, 0x51, 0x72, 0xc5, 0xe1, 0xc2, 0xf4, 0xbf, + 0xbd, 0x37, 0xa6, 0xea, 0x5c, 0xa7, 0xf1, 0x90, 0xe7, 0xfb, 0x63, 0x3e, 0xe6, 0xfb, 0x16, 0xa4, + 0x3a, 0xb3, 0x7f, 0xf6, 0xc7, 0x7e, 0xd5, 0x89, 0xed, 0xf5, 0x31, 0xe7, 0x63, 0x46, 0xfe, 0xa8, + 0xa4, 0xa8, 0xbc, 0x21, 0x41, 0x5d, 0xa8, 0x33, 0x1b, 0x1a, 0xe9, 0x32, 0x51, 0x94, 0x17, 0x2e, + 0xbe, 0x31, 0x1b, 0x27, 0xb9, 0x50, 0xd3, 0xba, 0x5b, 0xb3, 0xc1, 0x8c, 0x12, 0x36, 0x3a, 0xcb, + 0x13, 0x79, 0xe1, 0xc4, 0xf6, 0xac, 0x90, 0x5c, 0x97, 0x43, 0x72, 0x36, 0xe4, 0x85, 0x22, 0x13, + 0xe5, 0xd4, 0x66, 0x43, 0xa9, 0x52, 0x0f, 0xa7, 0xd1, 0x07, 0xb3, 0x51, 0x45, 0x73, 0x22, 0x55, + 0x92, 0x0b, 0x07, 0xda, 0x0d, 0x50, 0x09, 0xe2, 0x3b, 0xdf, 0x97, 0x32, 0x11, 0x82, 0x94, 0xb2, + 0x8e, 0x3f, 0xfc, 0x06, 0x40, 0xeb, 0xb4, 0x12, 0x44, 0xc2, 0x1d, 0x10, 0x25, 0x45, 0x85, 0x82, + 0xad, 0x60, 0x77, 0xb1, 0xbb, 0x1c, 0xd7, 0x79, 0xf1, 0x34, 0x2f, 0x7e, 0x5d, 0x54, 0xd8, 0x00, + 0xeb, 0x04, 0x45, 0xa1, 0xcf, 0x09, 0x8a, 0x0d, 0x80, 0x4f, 0x41, 0x94, 0x13, 0x85, 0x22, 0xeb, + 0xd6, 0x1a, 0xee, 0x98, 0xa8, 0x73, 0x3e, 0xc2, 0xc6, 0xc0, 0x1d, 0x10, 0xe6, 0x13, 0x34, 0x67, + 0xe5, 0x6a, 0x53, 0xd2, 0x09, 0x2d, 0x70, 0x98, 0x4f, 0xe0, 0x73, 0x10, 0x8d, 0x74, 0x89, 0x5a, + 0x16, 0xae, 0x37, 0xe0, 0xa1, 0x1b, 0x1d, 0x36, 0xca, 0x14, 0x25, 0x39, 0x9a, 0xf7, 0x14, 0x3d, + 0x32, 0x63, 0xc4, 0x21, 0xc9, 0xe1, 0x33, 0x10, 0x66, 0x39, 0xfa, 0xd7, 0xba, 0x76, 0xc3, 0xbd, + 0x35, 0x13, 0x3d, 0x4e, 0xe4, 0x05, 0x0e, 0xb3, 0x1c, 0xc6, 0x20, 0x94, 0x43, 0xb4, 0x60, 0x6d, + 0xa7, 0x61, 0x4f, 0xec, 0x6c, 0xdf, 0xd4, 0xa3, 0xc5, 0xa1, 0x1c, 0xc2, 0x27, 0x20, 0x94, 0x0a, + 0xfd, 0xe7, 0x69, 0xc1, 0x89, 0x9d, 0x32, 0x0e, 0xa5, 0x82, 0xbb, 0x20, 0xba, 0x4c, 0x18, 0x02, + 0x9e, 0xdd, 0x7e, 0x4e, 0x98, 0x26, 0xd8, 0x10, 0xf8, 0x02, 0xb4, 0x0a, 0x66, 0xec, 0xe2, 0x56, + 0xb0, 0xbb, 0x74, 0xc5, 0x8e, 0x3f, 0x68, 0xc6, 0x6a, 0x5f, 0x43, 0xd8, 0x05, 0x2d, 0xa9, 0x4c, + 0xc6, 0xff, 0xb6, 0xfa, 0xe6, 0x55, 0xfb, 0xa0, 0xc5, 0xd8, 0xe5, 0x58, 0x0a, 0x63, 0x30, 0x97, + 0x9a, 0x94, 0x5b, 0x9e, 0xb6, 0x1c, 0x70, 0xee, 0x16, 0xb1, 0x0e, 0xee, 0x83, 0x79, 0xa9, 0x4a, + 0x93, 0xb1, 0x74, 0xfd, 0x61, 0x1d, 0x33, 0x0b, 0x30, 0xa9, 0x2e, 0xd1, 0x6d, 0xcf, 0x02, 0xef, + 0xa9, 0x54, 0x6e, 0x01, 0xe3, 0xcc, 0x94, 0x94, 0x44, 0x77, 0x3c, 0xfa, 0x74, 0xfa, 0x22, 0x70, + 0xa8, 0x24, 0x7c, 0x04, 0x02, 0x85, 0xee, 0x5a, 0xba, 0xd2, 0xa4, 0x95, 0x20, 0x38, 0x50, 0x70, + 0x1b, 0x04, 0x19, 0x82, 0x9e, 0x7e, 0xdb, 0xa9, 0xe3, 0x20, 0x83, 0x8f, 0x41, 0x48, 0x0a, 0x74, + 0xcf, 0x53, 0xeb, 0xa8, 0xd0, 0x39, 0x0e, 0x49, 0x61, 0x86, 0x42, 0x0a, 0x73, 0xfa, 0x65, 0xcf, + 0x06, 0x8d, 0x74, 0x0d, 0xb6, 0xd0, 0xbc, 0x0e, 0x2e, 0x14, 0x5a, 0xf1, 0x74, 0xeb, 0xa3, 0xa8, + 0x2f, 0x32, 0x17, 0x0a, 0xc6, 0x20, 0x1a, 0xa5, 0x0c, 0xad, 0x7a, 0xa6, 0x77, 0xc8, 0x75, 0xca, + 0x88, 0xbb, 0x21, 0xa3, 0x94, 0xc1, 0x3d, 0x10, 0x65, 0x4c, 0xa1, 0x35, 0xeb, 0x37, 0x9a, 0x67, + 0x63, 0x3c, 0x71, 0xad, 0x35, 0xce, 0x70, 0x3a, 0xe8, 0x23, 0xe4, 0xe1, 0xef, 0x0a, 0x35, 0xe8, + 0x3b, 0x4e, 0x07, 0x7d, 0xb3, 0x1b, 0x3d, 0xe8, 0xa3, 0x75, 0xcf, 0x6e, 0x3e, 0xfd, 0xed, 0xf5, + 0xa0, 0x6f, 0xcb, 0xf7, 0xba, 0xa8, 0xed, 0x2f, 0xdf, 0xeb, 0x4e, 0xcb, 0xf7, 0xba, 0xb6, 0x7c, + 0xaf, 0x8b, 0x36, 0xae, 0x29, 0xff, 0xdb, 0x6b, 0xeb, 0xe7, 0x52, 0xce, 0x19, 0xda, 0xbc, 0xc1, + 0x45, 0xe5, 0xdc, 0xdc, 0xbb, 0x48, 0xaa, 0x12, 0xdd, 0xbf, 0xc1, 0x53, 0x30, 0x10, 0xbe, 0x04, + 0xad, 0xb4, 0x52, 0x44, 0xa2, 0x8e, 0xe7, 0x00, 0x07, 0x26, 0xea, 0x46, 0x6b, 0xe5, 0xc1, 0xc2, + 0xf7, 0x1f, 0x9d, 0x7f, 0xbe, 0xfe, 0xec, 0x04, 0xe9, 0xbc, 0x55, 0xbd, 0x5f, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x99, 0xa8, 0x9a, 0xae, 0xe4, 0x06, 0x00, 0x00, +} + func (m *Types) ProtoSize() (n int) { if m == nil { return 0 @@ -437,52 +489,3 @@ func sovIssue438(x uint64) (n int) { func sozIssue438(x uint64) (n int) { return sovIssue438(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } - -func init() { proto.RegisterFile("issue438.proto", fileDescriptor_issue438_0fea1881269710af) } - -var fileDescriptor_issue438_0fea1881269710af = []byte{ - // 682 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0xd3, 0xef, 0x4e, 0x14, 0x3b, - 0x14, 0x00, 0xf0, 0x3b, 0x33, 0x2c, 0x97, 0x5b, 0xae, 0xa8, 0x95, 0x3f, 0x65, 0xc1, 0x95, 0x28, - 0x22, 0x6a, 0x18, 0x74, 0x77, 0xb3, 0xf1, 0xab, 0x08, 0x26, 0x26, 0xa2, 0x49, 0x41, 0xbf, 0x92, - 0x99, 0xdd, 0xce, 0xd2, 0xd0, 0x99, 0x36, 0xd3, 0x16, 0x77, 0xde, 0xc6, 0x47, 0xf2, 0x11, 0x8c, - 0xbe, 0x88, 0x69, 0xa7, 0xab, 0x66, 0x87, 0x12, 0xbe, 0xcd, 0xe4, 0xfc, 0xce, 0x69, 0x7b, 0x4e, - 0x0b, 0x96, 0xa8, 0x94, 0x9a, 0xf4, 0x7b, 0xaf, 0x62, 0x51, 0x72, 0xc5, 0xe1, 0xc2, 0xf4, 0xbf, - 0xbd, 0x37, 0xa6, 0xea, 0x5c, 0xa7, 0xf1, 0x90, 0xe7, 0xfb, 0x63, 0x3e, 0xe6, 0xfb, 0x16, 0xa4, - 0x3a, 0xb3, 0x7f, 0xf6, 0xc7, 0x7e, 0xd5, 0x89, 0xed, 0xf5, 0x31, 0xe7, 0x63, 0x46, 0xfe, 0xa8, - 0xa4, 0xa8, 0xbc, 0x21, 0x41, 0x5d, 0xa8, 0x33, 0x1b, 0x1a, 0xe9, 0x32, 0x51, 0x94, 0x17, 0x2e, - 0xbe, 0x31, 0x1b, 0x27, 0xb9, 0x50, 0xd3, 0xba, 0x5b, 0xb3, 0xc1, 0x8c, 0x12, 0x36, 0x3a, 0xcb, - 0x13, 0x79, 0xe1, 0xc4, 0xf6, 0xac, 0x90, 0x5c, 0x97, 0x43, 0x72, 0x36, 0xe4, 0x85, 0x22, 0x13, - 0xe5, 0xd4, 0x66, 0x43, 0xa9, 0x52, 0x0f, 0xa7, 0xd1, 0x07, 0xb3, 0x51, 0x45, 0x73, 0x22, 0x55, - 0x92, 0x0b, 0x07, 0xda, 0x0d, 0x50, 0x09, 0xe2, 0x3b, 0xdf, 0x97, 0x32, 0x11, 0x82, 0x94, 0xb2, - 0x8e, 0x3f, 0xfc, 0x06, 0x40, 0xeb, 0xb4, 0x12, 0x44, 0xc2, 0x1d, 0x10, 0x25, 0x45, 0x85, 0x82, - 0xad, 0x60, 0x77, 0xb1, 0xbb, 0x1c, 0xd7, 0x79, 0xf1, 0x34, 0x2f, 0x7e, 0x5d, 0x54, 0xd8, 0x00, - 0xeb, 0x04, 0x45, 0xa1, 0xcf, 0x09, 0x8a, 0x0d, 0x80, 0x4f, 0x41, 0x94, 0x13, 0x85, 0x22, 0xeb, - 0xd6, 0x1a, 0xee, 0x98, 0xa8, 0x73, 0x3e, 0xc2, 0xc6, 0xc0, 0x1d, 0x10, 0xe6, 0x13, 0x34, 0x67, - 0xe5, 0x6a, 0x53, 0xd2, 0x09, 0x2d, 0x70, 0x98, 0x4f, 0xe0, 0x73, 0x10, 0x8d, 0x74, 0x89, 0x5a, - 0x16, 0xae, 0x37, 0xe0, 0xa1, 0x1b, 0x1d, 0x36, 0xca, 0x14, 0x25, 0x39, 0x9a, 0xf7, 0x14, 0x3d, - 0x32, 0x63, 0xc4, 0x21, 0xc9, 0xe1, 0x33, 0x10, 0x66, 0x39, 0xfa, 0xd7, 0xba, 0x76, 0xc3, 0xbd, - 0x35, 0x13, 0x3d, 0x4e, 0xe4, 0x05, 0x0e, 0xb3, 0x1c, 0xc6, 0x20, 0x94, 0x43, 0xb4, 0x60, 0x6d, - 0xa7, 0x61, 0x4f, 0xec, 0x6c, 0xdf, 0xd4, 0xa3, 0xc5, 0xa1, 0x1c, 0xc2, 0x27, 0x20, 0x94, 0x0a, - 0xfd, 0xe7, 0x69, 0xc1, 0x89, 0x9d, 0x32, 0x0e, 0xa5, 0x82, 0xbb, 0x20, 0xba, 0x4c, 0x18, 0x02, - 0x9e, 0xdd, 0x7e, 0x4e, 0x98, 0x26, 0xd8, 0x10, 0xf8, 0x02, 0xb4, 0x0a, 0x66, 0xec, 0xe2, 0x56, - 0xb0, 0xbb, 0x74, 0xc5, 0x8e, 0x3f, 0x68, 0xc6, 0x6a, 0x5f, 0x43, 0xd8, 0x05, 0x2d, 0xa9, 0x4c, - 0xc6, 0xff, 0xb6, 0xfa, 0xe6, 0x55, 0xfb, 0xa0, 0xc5, 0xd8, 0xe5, 0x58, 0x0a, 0x63, 0x30, 0x97, - 0x9a, 0x94, 0x5b, 0x9e, 0xb6, 0x1c, 0x70, 0xee, 0x16, 0xb1, 0x0e, 0xee, 0x83, 0x79, 0xa9, 0x4a, - 0x93, 0xb1, 0x74, 0xfd, 0x61, 0x1d, 0x33, 0x0b, 0x30, 0xa9, 0x2e, 0xd1, 0x6d, 0xcf, 0x02, 0xef, - 0xa9, 0x54, 0x6e, 0x01, 0xe3, 0xcc, 0x94, 0x94, 0x44, 0x77, 0x3c, 0xfa, 0x74, 0xfa, 0x22, 0x70, - 0xa8, 0x24, 0x7c, 0x04, 0x02, 0x85, 0xee, 0x5a, 0xba, 0xd2, 0xa4, 0x95, 0x20, 0x38, 0x50, 0x70, - 0x1b, 0x04, 0x19, 0x82, 0x9e, 0x7e, 0xdb, 0xa9, 0xe3, 0x20, 0x83, 0x8f, 0x41, 0x48, 0x0a, 0x74, - 0xcf, 0x53, 0xeb, 0xa8, 0xd0, 0x39, 0x0e, 0x49, 0x61, 0x86, 0x42, 0x0a, 0x73, 0xfa, 0x65, 0xcf, - 0x06, 0x8d, 0x74, 0x0d, 0xb6, 0xd0, 0xbc, 0x0e, 0x2e, 0x14, 0x5a, 0xf1, 0x74, 0xeb, 0xa3, 0xa8, - 0x2f, 0x32, 0x17, 0x0a, 0xc6, 0x20, 0x1a, 0xa5, 0x0c, 0xad, 0x7a, 0xa6, 0x77, 0xc8, 0x75, 0xca, - 0x88, 0xbb, 0x21, 0xa3, 0x94, 0xc1, 0x3d, 0x10, 0x65, 0x4c, 0xa1, 0x35, 0xeb, 0x37, 0x9a, 0x67, - 0x63, 0x3c, 0x71, 0xad, 0x35, 0xce, 0x70, 0x3a, 0xe8, 0x23, 0xe4, 0xe1, 0xef, 0x0a, 0x35, 0xe8, - 0x3b, 0x4e, 0x07, 0x7d, 0xb3, 0x1b, 0x3d, 0xe8, 0xa3, 0x75, 0xcf, 0x6e, 0x3e, 0xfd, 0xed, 0xf5, - 0xa0, 0x6f, 0xcb, 0xf7, 0xba, 0xa8, 0xed, 0x2f, 0xdf, 0xeb, 0x4e, 0xcb, 0xf7, 0xba, 0xb6, 0x7c, - 0xaf, 0x8b, 0x36, 0xae, 0x29, 0xff, 0xdb, 0x6b, 0xeb, 0xe7, 0x52, 0xce, 0x19, 0xda, 0xbc, 0xc1, - 0x45, 0xe5, 0xdc, 0xdc, 0xbb, 0x48, 0xaa, 0x12, 0xdd, 0xbf, 0xc1, 0x53, 0x30, 0x10, 0xbe, 0x04, - 0xad, 0xb4, 0x52, 0x44, 0xa2, 0x8e, 0xe7, 0x00, 0x07, 0x26, 0xea, 0x46, 0x6b, 0xe5, 0xc1, 0xc2, - 0xf7, 0x1f, 0x9d, 0x7f, 0xbe, 0xfe, 0xec, 0x04, 0xe9, 0xbc, 0x55, 0xbd, 0x5f, 0x01, 0x00, 0x00, - 0xff, 0xff, 0x99, 0xa8, 0x9a, 0xae, 0xe4, 0x06, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue444/issue444.pb.go b/vendor/github.com/gogo/protobuf/test/issue444/issue444.pb.go index a4bacee5f..fb10a41c3 100644 --- a/vendor/github.com/gogo/protobuf/test/issue444/issue444.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue444/issue444.pb.go @@ -3,10 +3,12 @@ package issue444 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -30,7 +32,7 @@ func (m *SizeMe) Reset() { *m = SizeMe{} } func (m *SizeMe) String() string { return proto.CompactTextString(m) } func (*SizeMe) ProtoMessage() {} func (*SizeMe) Descriptor() ([]byte, []int) { - return fileDescriptor_issue444_3dcd5c81d21eac70, []int{0} + return fileDescriptor_e39b8ab75bd9d8cd, []int{0} } func (m *SizeMe) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SizeMe.Unmarshal(m, b) @@ -38,8 +40,8 @@ func (m *SizeMe) XXX_Unmarshal(b []byte) error { func (m *SizeMe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SizeMe.Marshal(b, m, deterministic) } -func (dst *SizeMe) XXX_Merge(src proto.Message) { - xxx_messageInfo_SizeMe.Merge(dst, src) +func (m *SizeMe) XXX_Merge(src proto.Message) { + xxx_messageInfo_SizeMe.Merge(m, src) } func (m *SizeMe) XXX_Size() int { return xxx_messageInfo_SizeMe.Size(m) @@ -60,6 +62,20 @@ func (m *SizeMe) GetFoo() string { func init() { proto.RegisterType((*SizeMe)(nil), "issue444.SizeMe") } + +func init() { proto.RegisterFile("issue444.proto", fileDescriptor_e39b8ab75bd9d8cd) } + +var fileDescriptor_e39b8ab75bd9d8cd = []byte{ + // 111 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x31, 0x31, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x92, 0xe2, 0x62, + 0x0b, 0xce, 0xac, 0x4a, 0xf5, 0x4d, 0x15, 0x12, 0xe0, 0x62, 0x4e, 0xcb, 0xcf, 0x97, 0x60, 0x54, + 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0x31, 0x9d, 0x58, 0x1e, 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, 0x2b, + 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x9a, 0xe0, 0xfa, 0x18, 0x73, 0x00, 0x00, 0x00, +} + func (m *SizeMe) Size() (n int) { if m == nil { return 0 @@ -89,16 +105,3 @@ func sovIssue444(x uint64) (n int) { func sozIssue444(x uint64) (n int) { return sovIssue444(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } - -func init() { proto.RegisterFile("issue444.proto", fileDescriptor_issue444_3dcd5c81d21eac70) } - -var fileDescriptor_issue444_3dcd5c81d21eac70 = []byte{ - // 111 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, - 0x4d, 0x35, 0x31, 0x31, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x92, 0xe2, 0x62, - 0x0b, 0xce, 0xac, 0x4a, 0xf5, 0x4d, 0x15, 0x12, 0xe0, 0x62, 0x4e, 0xcb, 0xcf, 0x97, 0x60, 0x54, - 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0x31, 0x9d, 0x58, 0x1e, 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, 0x2b, - 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x9a, 0xe0, 0xfa, 0x18, 0x73, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue449/issue449.pb.go b/vendor/github.com/gogo/protobuf/test/issue449/issue449.pb.go index 3e363be6b..a58b0109e 100644 --- a/vendor/github.com/gogo/protobuf/test/issue449/issue449.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue449/issue449.pb.go @@ -3,16 +3,15 @@ package issue449 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -39,7 +38,7 @@ func (m *CodeGenMsg) Reset() { *m = CodeGenMsg{} } func (m *CodeGenMsg) String() string { return proto.CompactTextString(m) } func (*CodeGenMsg) ProtoMessage() {} func (*CodeGenMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_issue449_65778f0ef21a6515, []int{0} + return fileDescriptor_dece653619274e1d, []int{0} } func (m *CodeGenMsg) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -56,8 +55,8 @@ func (m *CodeGenMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *CodeGenMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_CodeGenMsg.Merge(dst, src) +func (m *CodeGenMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_CodeGenMsg.Merge(m, src) } func (m *CodeGenMsg) XXX_Size() int { return m.Size() @@ -110,7 +109,7 @@ func (m *NonCodeGenMsg) Reset() { *m = NonCodeGenMsg{} } func (m *NonCodeGenMsg) String() string { return proto.CompactTextString(m) } func (*NonCodeGenMsg) ProtoMessage() {} func (*NonCodeGenMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_issue449_65778f0ef21a6515, []int{1} + return fileDescriptor_dece653619274e1d, []int{1} } func (m *NonCodeGenMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NonCodeGenMsg.Unmarshal(m, b) @@ -118,8 +117,8 @@ func (m *NonCodeGenMsg) XXX_Unmarshal(b []byte) error { func (m *NonCodeGenMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NonCodeGenMsg.Marshal(b, m, deterministic) } -func (dst *NonCodeGenMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_NonCodeGenMsg.Merge(dst, src) +func (m *NonCodeGenMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonCodeGenMsg.Merge(m, src) } func (m *NonCodeGenMsg) XXX_Size() int { return xxx_messageInfo_NonCodeGenMsg.Size(m) @@ -162,6 +161,26 @@ func init() { proto.RegisterType((*CodeGenMsg)(nil), "issue449.CodeGenMsg") proto.RegisterType((*NonCodeGenMsg)(nil), "issue449.NonCodeGenMsg") } + +func init() { proto.RegisterFile("issue449.proto", fileDescriptor_dece653619274e1d) } + +var fileDescriptor_dece653619274e1d = []byte{ + // 203 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, + 0x4d, 0x35, 0x31, 0xb1, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x5a, 0xc4, 0xc8, + 0xc5, 0xe5, 0x9c, 0x9f, 0x92, 0xea, 0x9e, 0x9a, 0xe7, 0x5b, 0x9c, 0x2e, 0xa4, 0xc0, 0xc5, 0xed, + 0x99, 0x57, 0x62, 0x66, 0x12, 0x94, 0x5a, 0x18, 0x50, 0x52, 0x24, 0xc1, 0xa8, 0xc0, 0xa4, 0xc1, + 0x1c, 0x84, 0x2c, 0x04, 0x55, 0x61, 0x6c, 0xe4, 0x5f, 0x50, 0x02, 0x52, 0xc1, 0xa4, 0xc0, 0xa8, + 0xc1, 0x1a, 0x84, 0x2c, 0x24, 0xa4, 0xc0, 0xc5, 0x01, 0xd3, 0x20, 0xc1, 0x0c, 0x32, 0xc0, 0x89, + 0xe5, 0xc4, 0x3d, 0x79, 0x86, 0x20, 0xb8, 0x28, 0x54, 0x05, 0x58, 0x83, 0x04, 0x0b, 0xc8, 0x00, + 0x24, 0x15, 0x60, 0x51, 0x2b, 0x9e, 0x8e, 0x85, 0xf2, 0x8c, 0x13, 0x16, 0xca, 0x33, 0x2e, 0x58, + 0x28, 0xcf, 0xa8, 0xb4, 0x94, 0x91, 0x8b, 0xd7, 0x2f, 0x3f, 0x6f, 0x90, 0xba, 0x93, 0x61, 0xc2, + 0x42, 0x79, 0x86, 0x05, 0x0b, 0xe5, 0x19, 0x9c, 0x58, 0x56, 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, + 0x00, 0xff, 0xff, 0xfd, 0x5a, 0xe2, 0x72, 0x9c, 0x01, 0x00, 0x00, +} + func (this *CodeGenMsg) Equal(that interface{}) bool { if that == nil { return this == nil @@ -581,22 +600,3 @@ var ( ErrInvalidLengthIssue449 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowIssue449 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("issue449.proto", fileDescriptor_issue449_65778f0ef21a6515) } - -var fileDescriptor_issue449_65778f0ef21a6515 = []byte{ - // 203 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcb, 0x2c, 0x2e, 0x2e, - 0x4d, 0x35, 0x31, 0xb1, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x5a, 0xc4, 0xc8, - 0xc5, 0xe5, 0x9c, 0x9f, 0x92, 0xea, 0x9e, 0x9a, 0xe7, 0x5b, 0x9c, 0x2e, 0xa4, 0xc0, 0xc5, 0xed, - 0x99, 0x57, 0x62, 0x66, 0x12, 0x94, 0x5a, 0x18, 0x50, 0x52, 0x24, 0xc1, 0xa8, 0xc0, 0xa4, 0xc1, - 0x1c, 0x84, 0x2c, 0x04, 0x55, 0x61, 0x6c, 0xe4, 0x5f, 0x50, 0x02, 0x52, 0xc1, 0xa4, 0xc0, 0xa8, - 0xc1, 0x1a, 0x84, 0x2c, 0x24, 0xa4, 0xc0, 0xc5, 0x01, 0xd3, 0x20, 0xc1, 0x0c, 0x32, 0xc0, 0x89, - 0xe5, 0xc4, 0x3d, 0x79, 0x86, 0x20, 0xb8, 0x28, 0x54, 0x05, 0x58, 0x83, 0x04, 0x0b, 0xc8, 0x00, - 0x24, 0x15, 0x60, 0x51, 0x2b, 0x9e, 0x8e, 0x85, 0xf2, 0x8c, 0x13, 0x16, 0xca, 0x33, 0x2e, 0x58, - 0x28, 0xcf, 0xa8, 0xb4, 0x94, 0x91, 0x8b, 0xd7, 0x2f, 0x3f, 0x6f, 0x90, 0xba, 0x93, 0x61, 0xc2, - 0x42, 0x79, 0x86, 0x05, 0x0b, 0xe5, 0x19, 0x9c, 0x58, 0x56, 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, - 0x00, 0xff, 0xff, 0xfd, 0x5a, 0xe2, 0x72, 0x9c, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/issue8/proto.pb.go b/vendor/github.com/gogo/protobuf/test/issue8/proto.pb.go index 949321819..9fe7d1e56 100644 --- a/vendor/github.com/gogo/protobuf/test/issue8/proto.pb.go +++ b/vendor/github.com/gogo/protobuf/test/issue8/proto.pb.go @@ -3,15 +3,15 @@ package proto -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -35,7 +35,7 @@ func (m *Foo) Reset() { *m = Foo{} } func (m *Foo) String() string { return proto.CompactTextString(m) } func (*Foo) ProtoMessage() {} func (*Foo) Descriptor() ([]byte, []int) { - return fileDescriptor_proto_77f3bd346fa75d17, []int{0} + return fileDescriptor_2fcc84b9998d60d8, []int{0} } func (m *Foo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -43,8 +43,8 @@ func (m *Foo) XXX_Unmarshal(b []byte) error { func (m *Foo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Foo.Marshal(b, m, deterministic) } -func (dst *Foo) XXX_Merge(src proto.Message) { - xxx_messageInfo_Foo.Merge(dst, src) +func (m *Foo) XXX_Merge(src proto.Message) { + xxx_messageInfo_Foo.Merge(m, src) } func (m *Foo) XXX_Size() int { return xxx_messageInfo_Foo.Size(m) @@ -65,6 +65,20 @@ func (m *Foo) GetBar() uint64 { func init() { proto.RegisterType((*Foo)(nil), "proto.Foo") } + +func init() { proto.RegisterFile("proto.proto", fileDescriptor_2fcc84b9998d60d8) } + +var fileDescriptor_2fcc84b9998d60d8 = []byte{ + // 109 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x28, 0xca, 0x2f, + 0xc9, 0xd7, 0x03, 0x93, 0x42, 0xac, 0x60, 0x4a, 0x4a, 0x37, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, + 0x2f, 0x39, 0x3f, 0x57, 0x3f, 0x3d, 0x3f, 0x3d, 0x5f, 0x1f, 0x2c, 0x9c, 0x54, 0x9a, 0x06, 0xe6, + 0x81, 0x39, 0x60, 0x16, 0x44, 0x97, 0x92, 0x38, 0x17, 0xb3, 0x5b, 0x7e, 0xbe, 0x90, 0x00, 0x17, + 0x73, 0x52, 0x62, 0x91, 0x04, 0xa3, 0x02, 0x93, 0x06, 0x4b, 0x10, 0x88, 0xe9, 0x24, 0xf0, 0xe3, + 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0x08, + 0x08, 0x00, 0x00, 0xff, 0xff, 0x54, 0x06, 0x1b, 0x76, 0x6e, 0x00, 0x00, 0x00, +} + func (this *Foo) Equal(that interface{}) bool { if that == nil { return this == nil @@ -360,16 +374,3 @@ var ( ErrInvalidLengthProto = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProto = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("proto.proto", fileDescriptor_proto_77f3bd346fa75d17) } - -var fileDescriptor_proto_77f3bd346fa75d17 = []byte{ - // 109 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x28, 0xca, 0x2f, - 0xc9, 0xd7, 0x03, 0x93, 0x42, 0xac, 0x60, 0x4a, 0x4a, 0x37, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, - 0x2f, 0x39, 0x3f, 0x57, 0x3f, 0x3d, 0x3f, 0x3d, 0x5f, 0x1f, 0x2c, 0x9c, 0x54, 0x9a, 0x06, 0xe6, - 0x81, 0x39, 0x60, 0x16, 0x44, 0x97, 0x92, 0x38, 0x17, 0xb3, 0x5b, 0x7e, 0xbe, 0x90, 0x00, 0x17, - 0x73, 0x52, 0x62, 0x91, 0x04, 0xa3, 0x02, 0x93, 0x06, 0x4b, 0x10, 0x88, 0xe9, 0x24, 0xf0, 0xe3, - 0xa1, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0x08, - 0x08, 0x00, 0x00, 0xff, 0xff, 0x54, 0x06, 0x1b, 0x76, 0x6e, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/both/map.pb.go b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/both/map.pb.go index d27e963f5..03733a113 100644 --- a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/both/map.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/both/map.pb.go @@ -3,22 +3,21 @@ package mapdefaults -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -41,7 +40,7 @@ type MapTest struct { func (m *MapTest) Reset() { *m = MapTest{} } func (*MapTest) ProtoMessage() {} func (*MapTest) Descriptor() ([]byte, []int) { - return fileDescriptor_map_746b24fd53d0701f, []int{0} + return fileDescriptor_b8f2a09ffeba7c12, []int{0} } func (m *MapTest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -58,8 +57,8 @@ func (m *MapTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *MapTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapTest.Merge(dst, src) +func (m *MapTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapTest.Merge(m, src) } func (m *MapTest) XXX_Size() int { return m.Size() @@ -80,7 +79,7 @@ type FakeMap struct { func (m *FakeMap) Reset() { *m = FakeMap{} } func (*FakeMap) ProtoMessage() {} func (*FakeMap) Descriptor() ([]byte, []int) { - return fileDescriptor_map_746b24fd53d0701f, []int{1} + return fileDescriptor_b8f2a09ffeba7c12, []int{1} } func (m *FakeMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -97,8 +96,8 @@ func (m *FakeMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *FakeMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMap.Merge(dst, src) +func (m *FakeMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMap.Merge(m, src) } func (m *FakeMap) XXX_Size() int { return m.Size() @@ -121,7 +120,7 @@ type FakeMapEntry struct { func (m *FakeMapEntry) Reset() { *m = FakeMapEntry{} } func (*FakeMapEntry) ProtoMessage() {} func (*FakeMapEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_map_746b24fd53d0701f, []int{2} + return fileDescriptor_b8f2a09ffeba7c12, []int{2} } func (m *FakeMapEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -138,8 +137,8 @@ func (m *FakeMapEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *FakeMapEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMapEntry.Merge(dst, src) +func (m *FakeMapEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMapEntry.Merge(m, src) } func (m *FakeMapEntry) XXX_Size() int { return m.Size() @@ -156,6 +155,33 @@ func init() { proto.RegisterType((*FakeMap)(nil), "mapdefaults.FakeMap") proto.RegisterType((*FakeMapEntry)(nil), "mapdefaults.FakeMapEntry") } + +func init() { proto.RegisterFile("combos/both/map.proto", fileDescriptor_b8f2a09ffeba7c12) } + +var fileDescriptor_b8f2a09ffeba7c12 = []byte{ + // 310 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0xbf, 0x4f, 0xc2, 0x40, + 0x14, 0xc7, 0xfb, 0x20, 0xd2, 0x78, 0x38, 0x98, 0x46, 0x93, 0xca, 0xf0, 0x42, 0x98, 0x58, 0x6c, + 0x13, 0x59, 0xc4, 0xc1, 0xc1, 0xa8, 0x93, 0x2c, 0xe0, 0x6e, 0xae, 0x78, 0xfc, 0x08, 0x94, 0x6b, + 0xee, 0x5e, 0x4d, 0x98, 0xe4, 0xcf, 0x71, 0x74, 0xf4, 0x4f, 0x60, 0x64, 0x74, 0xa4, 0xe7, 0xe2, + 0xc8, 0xc8, 0x68, 0xb8, 0x62, 0x52, 0x37, 0xb7, 0xf7, 0xf9, 0xde, 0xe7, 0xee, 0x7d, 0x73, 0xec, + 0xb4, 0x2f, 0xe3, 0x48, 0xea, 0x30, 0x92, 0x34, 0x0a, 0x63, 0x9e, 0x04, 0x89, 0x92, 0x24, 0xbd, + 0x6a, 0xcc, 0x93, 0x67, 0x31, 0xe0, 0xe9, 0x94, 0x74, 0xed, 0x7c, 0x38, 0xa6, 0x51, 0x1a, 0x05, + 0x7d, 0x19, 0x87, 0x43, 0x39, 0x94, 0xa1, 0x75, 0xa2, 0x74, 0x60, 0xc9, 0x82, 0x9d, 0xf2, 0xbb, + 0x8d, 0x57, 0xe6, 0x76, 0x78, 0xf2, 0x28, 0x34, 0x79, 0x6d, 0xe6, 0x6a, 0x52, 0x4f, 0x9a, 0x94, + 0x0f, 0xf5, 0x72, 0xb3, 0x7a, 0x51, 0x0f, 0x0a, 0x0f, 0x07, 0x7b, 0x2d, 0xe8, 0x91, 0xea, 0x91, + 0xba, 0x9b, 0x91, 0x9a, 0x77, 0x2b, 0xda, 0x42, 0xad, 0xcd, 0xaa, 0x85, 0xd8, 0x3b, 0x66, 0xe5, + 0x89, 0x98, 0xfb, 0x50, 0x87, 0xe6, 0x61, 0x77, 0x37, 0x7a, 0x27, 0xec, 0xe0, 0x85, 0x4f, 0x53, + 0xe1, 0x97, 0x6c, 0x96, 0xc3, 0x55, 0xe9, 0x12, 0x1a, 0xd7, 0xcc, 0xbd, 0xe7, 0x13, 0xd1, 0xe1, + 0x89, 0xd7, 0x62, 0xae, 0x98, 0x91, 0x1a, 0x0b, 0xbd, 0x2f, 0x70, 0xf6, 0xa7, 0xc0, 0x5e, 0xcb, + 0x37, 0xff, 0x9a, 0x8d, 0x07, 0x76, 0x54, 0x3c, 0xf8, 0xef, 0xee, 0x5d, 0x2a, 0x69, 0x24, 0x94, + 0x5f, 0xce, 0x53, 0x0b, 0x37, 0xb7, 0xcb, 0x0c, 0x9d, 0x55, 0x86, 0xce, 0x67, 0x86, 0xce, 0x3a, + 0x43, 0xd8, 0x64, 0x08, 0xdb, 0x0c, 0x61, 0x61, 0x10, 0xde, 0x0c, 0xc2, 0xbb, 0x41, 0xf8, 0x30, + 0x08, 0x4b, 0x83, 0xb0, 0x32, 0x08, 0x6b, 0x83, 0xf0, 0x6d, 0xd0, 0xd9, 0x18, 0x84, 0xad, 0x41, + 0x67, 0xf1, 0x85, 0x4e, 0x54, 0xb1, 0x7f, 0xdb, 0xfa, 0x09, 0x00, 0x00, 0xff, 0xff, 0x11, 0xc9, + 0x76, 0xfa, 0xb0, 0x01, 0x00, 0x00, +} + func (this *MapTest) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return MapDescription() } @@ -168,256 +194,258 @@ func (this *FakeMapEntry) Description() (desc *github_com_gogo_protobuf_protoc_g func MapDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3978 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xe3, 0xd6, - 0x75, 0x16, 0xf8, 0x23, 0x91, 0x87, 0x14, 0x05, 0x41, 0xda, 0x5d, 0xae, 0x1c, 0x73, 0xb5, 0xb4, - 0x1d, 0xcb, 0x76, 0x23, 0x65, 0x76, 0xbd, 0xeb, 0x5d, 0x6e, 0x63, 0x97, 0x92, 0xb8, 0x8a, 0x5c, - 0xfd, 0x05, 0x94, 0xe2, 0x9f, 0x4c, 0x07, 0x03, 0x81, 0x97, 0x24, 0x56, 0x20, 0x80, 0x00, 0xe0, - 0xae, 0xb5, 0xd3, 0x99, 0x6e, 0xc7, 0xfd, 0x99, 0x4c, 0xa7, 0xff, 0x9d, 0x69, 0xe2, 0x3a, 0x6e, - 0x93, 0x4e, 0xe3, 0x34, 0xfd, 0x73, 0x9a, 0x36, 0x4d, 0xd2, 0x97, 0xbe, 0xa4, 0xf5, 0x53, 0x27, - 0x79, 0xeb, 0x43, 0x1f, 0xbc, 0x8a, 0x67, 0x9a, 0xb6, 0x6e, 0xe3, 0xb6, 0xfb, 0xe0, 0x19, 0xbf, - 0x74, 0xee, 0x1f, 0x08, 0x80, 0xd4, 0x02, 0xca, 0x8c, 0x9d, 0x27, 0x09, 0xe7, 0x9e, 0xef, 0xc3, - 0xb9, 0xe7, 0x9e, 0x7b, 0xce, 0xb9, 0x97, 0x80, 0x1f, 0x5d, 0x85, 0xf9, 0x8e, 0x65, 0x75, 0x0c, - 0xb4, 0x64, 0x3b, 0x96, 0x67, 0xed, 0xf7, 0xdb, 0x4b, 0x2d, 0xe4, 0x6a, 0x8e, 0x6e, 0x7b, 0x96, - 0xb3, 0x48, 0x64, 0xd2, 0x14, 0xd5, 0x58, 0xe4, 0x1a, 0xd5, 0x4d, 0x98, 0xbe, 0xae, 0x1b, 0x68, - 0xd5, 0x57, 0x6c, 0x22, 0x4f, 0xba, 0x02, 0x99, 0xb6, 0x6e, 0xa0, 0xb2, 0x30, 0x9f, 0x5e, 0x28, - 0x5c, 0x78, 0x78, 0x31, 0x02, 0x5a, 0x0c, 0x23, 0x76, 0xb0, 0x58, 0x26, 0x88, 0xea, 0xdb, 0x19, - 0x98, 0x19, 0x31, 0x2a, 0x49, 0x90, 0x31, 0xd5, 0x1e, 0x66, 0x14, 0x16, 0xf2, 0x32, 0xf9, 0x5f, - 0x2a, 0xc3, 0x84, 0xad, 0x6a, 0x07, 0x6a, 0x07, 0x95, 0x53, 0x44, 0xcc, 0x1f, 0xa5, 0x0a, 0x40, - 0x0b, 0xd9, 0xc8, 0x6c, 0x21, 0x53, 0x3b, 0x2c, 0xa7, 0xe7, 0xd3, 0x0b, 0x79, 0x39, 0x20, 0x91, - 0x9e, 0x80, 0x69, 0xbb, 0xbf, 0x6f, 0xe8, 0x9a, 0x12, 0x50, 0x83, 0xf9, 0xf4, 0x42, 0x56, 0x16, - 0xe9, 0xc0, 0xea, 0x40, 0xf9, 0x51, 0x98, 0xba, 0x85, 0xd4, 0x83, 0xa0, 0x6a, 0x81, 0xa8, 0x96, - 0xb0, 0x38, 0xa0, 0xb8, 0x02, 0xc5, 0x1e, 0x72, 0x5d, 0xb5, 0x83, 0x14, 0xef, 0xd0, 0x46, 0xe5, - 0x0c, 0x99, 0xfd, 0xfc, 0xd0, 0xec, 0xa3, 0x33, 0x2f, 0x30, 0xd4, 0xee, 0xa1, 0x8d, 0xa4, 0x3a, - 0xe4, 0x91, 0xd9, 0xef, 0x51, 0x86, 0xec, 0x31, 0xfe, 0x6b, 0x98, 0xfd, 0x5e, 0x94, 0x25, 0x87, - 0x61, 0x8c, 0x62, 0xc2, 0x45, 0xce, 0x4d, 0x5d, 0x43, 0xe5, 0x71, 0x42, 0xf0, 0xe8, 0x10, 0x41, - 0x93, 0x8e, 0x47, 0x39, 0x38, 0x4e, 0x5a, 0x81, 0x3c, 0x7a, 0xc9, 0x43, 0xa6, 0xab, 0x5b, 0x66, - 0x79, 0x82, 0x90, 0x3c, 0x32, 0x62, 0x15, 0x91, 0xd1, 0x8a, 0x52, 0x0c, 0x70, 0xd2, 0x65, 0x98, - 0xb0, 0x6c, 0x4f, 0xb7, 0x4c, 0xb7, 0x9c, 0x9b, 0x17, 0x16, 0x0a, 0x17, 0x3e, 0x32, 0x32, 0x10, - 0xb6, 0xa9, 0x8e, 0xcc, 0x95, 0xa5, 0x75, 0x10, 0x5d, 0xab, 0xef, 0x68, 0x48, 0xd1, 0xac, 0x16, - 0x52, 0x74, 0xb3, 0x6d, 0x95, 0xf3, 0x84, 0xe0, 0xdc, 0xf0, 0x44, 0x88, 0xe2, 0x8a, 0xd5, 0x42, - 0xeb, 0x66, 0xdb, 0x92, 0x4b, 0x6e, 0xe8, 0x59, 0x3a, 0x0d, 0xe3, 0xee, 0xa1, 0xe9, 0xa9, 0x2f, - 0x95, 0x8b, 0x24, 0x42, 0xd8, 0x53, 0xf5, 0xdb, 0xe3, 0x30, 0x95, 0x24, 0xc4, 0xae, 0x41, 0xb6, - 0x8d, 0x67, 0x59, 0x4e, 0x9d, 0xc4, 0x07, 0x14, 0x13, 0x76, 0xe2, 0xf8, 0x8f, 0xe9, 0xc4, 0x3a, - 0x14, 0x4c, 0xe4, 0x7a, 0xa8, 0x45, 0x23, 0x22, 0x9d, 0x30, 0xa6, 0x80, 0x82, 0x86, 0x43, 0x2a, - 0xf3, 0x63, 0x85, 0xd4, 0xf3, 0x30, 0xe5, 0x9b, 0xa4, 0x38, 0xaa, 0xd9, 0xe1, 0xb1, 0xb9, 0x14, - 0x67, 0xc9, 0x62, 0x83, 0xe3, 0x64, 0x0c, 0x93, 0x4b, 0x28, 0xf4, 0x2c, 0xad, 0x02, 0x58, 0x26, - 0xb2, 0xda, 0x4a, 0x0b, 0x69, 0x46, 0x39, 0x77, 0x8c, 0x97, 0xb6, 0xb1, 0xca, 0x90, 0x97, 0x2c, - 0x2a, 0xd5, 0x0c, 0xe9, 0xea, 0x20, 0xd4, 0x26, 0x8e, 0x89, 0x94, 0x4d, 0xba, 0xc9, 0x86, 0xa2, - 0x6d, 0x0f, 0x4a, 0x0e, 0xc2, 0x71, 0x8f, 0x5a, 0x6c, 0x66, 0x79, 0x62, 0xc4, 0x62, 0xec, 0xcc, - 0x64, 0x06, 0xa3, 0x13, 0x9b, 0x74, 0x82, 0x8f, 0xd2, 0x43, 0xe0, 0x0b, 0x14, 0x12, 0x56, 0x40, - 0xb2, 0x50, 0x91, 0x0b, 0xb7, 0xd4, 0x1e, 0x9a, 0xbb, 0x0d, 0xa5, 0xb0, 0x7b, 0xa4, 0x59, 0xc8, - 0xba, 0x9e, 0xea, 0x78, 0x24, 0x0a, 0xb3, 0x32, 0x7d, 0x90, 0x44, 0x48, 0x23, 0xb3, 0x45, 0xb2, - 0x5c, 0x56, 0xc6, 0xff, 0x4a, 0x3f, 0x33, 0x98, 0x70, 0x9a, 0x4c, 0xf8, 0xa3, 0xc3, 0x2b, 0x1a, - 0x62, 0x8e, 0xce, 0x7b, 0xee, 0x29, 0x98, 0x0c, 0x4d, 0x20, 0xe9, 0xab, 0xab, 0x3f, 0x0f, 0xa7, - 0x46, 0x52, 0x4b, 0xcf, 0xc3, 0x6c, 0xdf, 0xd4, 0x4d, 0x0f, 0x39, 0xb6, 0x83, 0x70, 0xc4, 0xd2, - 0x57, 0x95, 0xff, 0x6d, 0xe2, 0x98, 0x98, 0xdb, 0x0b, 0x6a, 0x53, 0x16, 0x79, 0xa6, 0x3f, 0x2c, - 0x7c, 0x3c, 0x9f, 0xfb, 0xe1, 0x84, 0x78, 0xe7, 0xce, 0x9d, 0x3b, 0xa9, 0xea, 0xe7, 0xc7, 0x61, - 0x76, 0xd4, 0x9e, 0x19, 0xb9, 0x7d, 0x4f, 0xc3, 0xb8, 0xd9, 0xef, 0xed, 0x23, 0x87, 0x38, 0x29, - 0x2b, 0xb3, 0x27, 0xa9, 0x0e, 0x59, 0x43, 0xdd, 0x47, 0x46, 0x39, 0x33, 0x2f, 0x2c, 0x94, 0x2e, - 0x3c, 0x91, 0x68, 0x57, 0x2e, 0x6e, 0x60, 0x88, 0x4c, 0x91, 0xd2, 0xd3, 0x90, 0x61, 0x29, 0x1a, - 0x33, 0x3c, 0x9e, 0x8c, 0x01, 0xef, 0x25, 0x99, 0xe0, 0xa4, 0x07, 0x20, 0x8f, 0xff, 0xd2, 0xd8, - 0x18, 0x27, 0x36, 0xe7, 0xb0, 0x00, 0xc7, 0x85, 0x34, 0x07, 0x39, 0xb2, 0x4d, 0x5a, 0x88, 0x97, - 0x36, 0xff, 0x19, 0x07, 0x56, 0x0b, 0xb5, 0xd5, 0xbe, 0xe1, 0x29, 0x37, 0x55, 0xa3, 0x8f, 0x48, - 0xc0, 0xe7, 0xe5, 0x22, 0x13, 0x7e, 0x1a, 0xcb, 0xa4, 0x73, 0x50, 0xa0, 0xbb, 0x4a, 0x37, 0x5b, - 0xe8, 0x25, 0x92, 0x3d, 0xb3, 0x32, 0xdd, 0x68, 0xeb, 0x58, 0x82, 0x5f, 0x7f, 0xc3, 0xb5, 0x4c, - 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0xff, 0x54, 0x34, 0x71, 0x3f, 0x38, 0x7a, 0x7a, 0xd1, - 0x98, 0xaa, 0x7e, 0x33, 0x05, 0x19, 0x92, 0x2f, 0xa6, 0xa0, 0xb0, 0xfb, 0xc2, 0x4e, 0x43, 0x59, - 0xdd, 0xde, 0x5b, 0xde, 0x68, 0x88, 0x82, 0x54, 0x02, 0x20, 0x82, 0xeb, 0x1b, 0xdb, 0xf5, 0x5d, - 0x31, 0xe5, 0x3f, 0xaf, 0x6f, 0xed, 0x5e, 0x7e, 0x52, 0x4c, 0xfb, 0x80, 0x3d, 0x2a, 0xc8, 0x04, - 0x15, 0x2e, 0x5e, 0x10, 0xb3, 0x92, 0x08, 0x45, 0x4a, 0xb0, 0xfe, 0x7c, 0x63, 0xf5, 0xf2, 0x93, - 0xe2, 0x78, 0x58, 0x72, 0xf1, 0x82, 0x38, 0x21, 0x4d, 0x42, 0x9e, 0x48, 0x96, 0xb7, 0xb7, 0x37, - 0xc4, 0x9c, 0xcf, 0xd9, 0xdc, 0x95, 0xd7, 0xb7, 0xd6, 0xc4, 0xbc, 0xcf, 0xb9, 0x26, 0x6f, 0xef, - 0xed, 0x88, 0xe0, 0x33, 0x6c, 0x36, 0x9a, 0xcd, 0xfa, 0x5a, 0x43, 0x2c, 0xf8, 0x1a, 0xcb, 0x2f, - 0xec, 0x36, 0x9a, 0x62, 0x31, 0x64, 0xd6, 0xc5, 0x0b, 0xe2, 0xa4, 0xff, 0x8a, 0xc6, 0xd6, 0xde, - 0xa6, 0x58, 0x92, 0xa6, 0x61, 0x92, 0xbe, 0x82, 0x1b, 0x31, 0x15, 0x11, 0x5d, 0x7e, 0x52, 0x14, - 0x07, 0x86, 0x50, 0x96, 0xe9, 0x90, 0xe0, 0xf2, 0x93, 0xa2, 0x54, 0x5d, 0x81, 0x2c, 0x89, 0x2e, - 0x49, 0x82, 0xd2, 0x46, 0x7d, 0xb9, 0xb1, 0xa1, 0x6c, 0xef, 0xec, 0xae, 0x6f, 0x6f, 0xd5, 0x37, - 0x44, 0x61, 0x20, 0x93, 0x1b, 0x9f, 0xda, 0x5b, 0x97, 0x1b, 0xab, 0x62, 0x2a, 0x28, 0xdb, 0x69, - 0xd4, 0x77, 0x1b, 0xab, 0x62, 0xba, 0xaa, 0xc1, 0xec, 0xa8, 0x3c, 0x39, 0x72, 0x67, 0x04, 0x96, - 0x38, 0x75, 0xcc, 0x12, 0x13, 0xae, 0xa1, 0x25, 0xfe, 0x41, 0x0a, 0x66, 0x46, 0xd4, 0x8a, 0x91, - 0x2f, 0x79, 0x06, 0xb2, 0x34, 0x44, 0x69, 0xf5, 0x7c, 0x6c, 0x64, 0xd1, 0x21, 0x01, 0x3b, 0x54, - 0x41, 0x09, 0x2e, 0xd8, 0x41, 0xa4, 0x8f, 0xe9, 0x20, 0x30, 0xc5, 0x50, 0x4e, 0xff, 0xb9, 0xa1, - 0x9c, 0x4e, 0xcb, 0xde, 0xe5, 0x24, 0x65, 0x8f, 0xc8, 0x4e, 0x96, 0xdb, 0xb3, 0x23, 0x72, 0xfb, - 0x35, 0x98, 0x1e, 0x22, 0x4a, 0x9c, 0x63, 0x5f, 0x16, 0xa0, 0x7c, 0x9c, 0x73, 0x62, 0x32, 0x5d, - 0x2a, 0x94, 0xe9, 0xae, 0x45, 0x3d, 0x78, 0xfe, 0xf8, 0x45, 0x18, 0x5a, 0xeb, 0xd7, 0x05, 0x38, - 0x3d, 0xba, 0x53, 0x1c, 0x69, 0xc3, 0xd3, 0x30, 0xde, 0x43, 0x5e, 0xd7, 0xe2, 0xdd, 0xd2, 0x47, - 0x47, 0xd4, 0x60, 0x3c, 0x1c, 0x5d, 0x6c, 0x86, 0x0a, 0x16, 0xf1, 0xf4, 0x71, 0xed, 0x1e, 0xb5, - 0x66, 0xc8, 0xd2, 0xcf, 0xa5, 0xe0, 0xd4, 0x48, 0xf2, 0x91, 0x86, 0x3e, 0x08, 0xa0, 0x9b, 0x76, - 0xdf, 0xa3, 0x1d, 0x11, 0x4d, 0xb0, 0x79, 0x22, 0x21, 0xc9, 0x0b, 0x27, 0xcf, 0xbe, 0xe7, 0x8f, - 0xa7, 0xc9, 0x38, 0x50, 0x11, 0x51, 0xb8, 0x32, 0x30, 0x34, 0x43, 0x0c, 0xad, 0x1c, 0x33, 0xd3, - 0xa1, 0xc0, 0xfc, 0x38, 0x88, 0x9a, 0xa1, 0x23, 0xd3, 0x53, 0x5c, 0xcf, 0x41, 0x6a, 0x4f, 0x37, - 0x3b, 0xa4, 0x82, 0xe4, 0x6a, 0xd9, 0xb6, 0x6a, 0xb8, 0x48, 0x9e, 0xa2, 0xc3, 0x4d, 0x3e, 0x8a, - 0x11, 0x24, 0x80, 0x9c, 0x00, 0x62, 0x3c, 0x84, 0xa0, 0xc3, 0x3e, 0xa2, 0xfa, 0x8d, 0x1c, 0x14, - 0x02, 0x7d, 0xb5, 0x74, 0x1e, 0x8a, 0x37, 0xd4, 0x9b, 0xaa, 0xc2, 0xcf, 0x4a, 0xd4, 0x13, 0x05, - 0x2c, 0xdb, 0x61, 0xe7, 0xa5, 0x8f, 0xc3, 0x2c, 0x51, 0xb1, 0xfa, 0x1e, 0x72, 0x14, 0xcd, 0x50, - 0x5d, 0x97, 0x38, 0x2d, 0x47, 0x54, 0x25, 0x3c, 0xb6, 0x8d, 0x87, 0x56, 0xf8, 0x88, 0x74, 0x09, - 0x66, 0x08, 0xa2, 0xd7, 0x37, 0x3c, 0xdd, 0x36, 0x90, 0x82, 0x4f, 0x6f, 0x2e, 0xa9, 0x24, 0xbe, - 0x65, 0xd3, 0x58, 0x63, 0x93, 0x29, 0x60, 0x8b, 0x5c, 0x69, 0x15, 0x1e, 0x24, 0xb0, 0x0e, 0x32, - 0x91, 0xa3, 0x7a, 0x48, 0x41, 0x9f, 0xed, 0xab, 0x86, 0xab, 0xa8, 0x66, 0x4b, 0xe9, 0xaa, 0x6e, - 0xb7, 0x3c, 0x8b, 0x09, 0x96, 0x53, 0x65, 0x41, 0x3e, 0x8b, 0x15, 0xd7, 0x98, 0x5e, 0x83, 0xa8, - 0xd5, 0xcd, 0xd6, 0x27, 0x55, 0xb7, 0x2b, 0xd5, 0xe0, 0x34, 0x61, 0x71, 0x3d, 0x47, 0x37, 0x3b, - 0x8a, 0xd6, 0x45, 0xda, 0x81, 0xd2, 0xf7, 0xda, 0x57, 0xca, 0x0f, 0x04, 0xdf, 0x4f, 0x2c, 0x6c, - 0x12, 0x9d, 0x15, 0xac, 0xb2, 0xe7, 0xb5, 0xaf, 0x48, 0x4d, 0x28, 0xe2, 0xc5, 0xe8, 0xe9, 0xb7, - 0x91, 0xd2, 0xb6, 0x1c, 0x52, 0x1a, 0x4b, 0x23, 0x52, 0x53, 0xc0, 0x83, 0x8b, 0xdb, 0x0c, 0xb0, - 0x69, 0xb5, 0x50, 0x2d, 0xdb, 0xdc, 0x69, 0x34, 0x56, 0xe5, 0x02, 0x67, 0xb9, 0x6e, 0x39, 0x38, - 0xa0, 0x3a, 0x96, 0xef, 0xe0, 0x02, 0x0d, 0xa8, 0x8e, 0xc5, 0xdd, 0x7b, 0x09, 0x66, 0x34, 0x8d, - 0xce, 0x59, 0xd7, 0x14, 0x76, 0xc6, 0x72, 0xcb, 0x62, 0xc8, 0x59, 0x9a, 0xb6, 0x46, 0x15, 0x58, - 0x8c, 0xbb, 0xd2, 0x55, 0x38, 0x35, 0x70, 0x56, 0x10, 0x38, 0x3d, 0x34, 0xcb, 0x28, 0xf4, 0x12, - 0xcc, 0xd8, 0x87, 0xc3, 0x40, 0x29, 0xf4, 0x46, 0xfb, 0x30, 0x0a, 0x7b, 0x0a, 0x66, 0xed, 0xae, - 0x3d, 0x8c, 0x7b, 0x3c, 0x88, 0x93, 0xec, 0xae, 0x1d, 0x05, 0x3e, 0x42, 0x0e, 0xdc, 0x0e, 0xd2, - 0x54, 0x0f, 0xb5, 0xca, 0x67, 0x82, 0xea, 0x81, 0x01, 0x69, 0x09, 0x44, 0x4d, 0x53, 0x90, 0xa9, - 0xee, 0x1b, 0x48, 0x51, 0x1d, 0x64, 0xaa, 0x6e, 0xf9, 0x5c, 0x50, 0xb9, 0xa4, 0x69, 0x0d, 0x32, - 0x5a, 0x27, 0x83, 0xd2, 0xe3, 0x30, 0x6d, 0xed, 0xdf, 0xd0, 0x68, 0x48, 0x2a, 0xb6, 0x83, 0xda, - 0xfa, 0x4b, 0xe5, 0x87, 0x89, 0x7f, 0xa7, 0xf0, 0x00, 0x09, 0xc8, 0x1d, 0x22, 0x96, 0x1e, 0x03, - 0x51, 0x73, 0xbb, 0xaa, 0x63, 0x93, 0x9c, 0xec, 0xda, 0xaa, 0x86, 0xca, 0x8f, 0x50, 0x55, 0x2a, - 0xdf, 0xe2, 0x62, 0xbc, 0x25, 0xdc, 0x5b, 0x7a, 0xdb, 0xe3, 0x8c, 0x8f, 0xd2, 0x2d, 0x41, 0x64, - 0x8c, 0x6d, 0x01, 0x44, 0xec, 0x8a, 0xd0, 0x8b, 0x17, 0x88, 0x5a, 0xc9, 0xee, 0xda, 0xc1, 0xf7, - 0x3e, 0x04, 0x93, 0x58, 0x73, 0xf0, 0xd2, 0xc7, 0x68, 0x43, 0x66, 0x77, 0x03, 0x6f, 0xfc, 0xc0, - 0x7a, 0xe3, 0x6a, 0x0d, 0x8a, 0xc1, 0xf8, 0x94, 0xf2, 0x40, 0x23, 0x54, 0x14, 0x70, 0xb3, 0xb2, - 0xb2, 0xbd, 0x8a, 0xdb, 0x8c, 0x17, 0x1b, 0x62, 0x0a, 0xb7, 0x3b, 0x1b, 0xeb, 0xbb, 0x0d, 0x45, - 0xde, 0xdb, 0xda, 0x5d, 0xdf, 0x6c, 0x88, 0xe9, 0x60, 0x5f, 0xfd, 0xdd, 0x14, 0x94, 0xc2, 0x47, - 0x24, 0xe9, 0xa7, 0xe1, 0x0c, 0xbf, 0xcf, 0x70, 0x91, 0xa7, 0xdc, 0xd2, 0x1d, 0xb2, 0x65, 0x7a, - 0x2a, 0x2d, 0x5f, 0xfe, 0xa2, 0xcd, 0x32, 0xad, 0x26, 0xf2, 0x9e, 0xd3, 0x1d, 0xbc, 0x21, 0x7a, - 0xaa, 0x27, 0x6d, 0xc0, 0x39, 0xd3, 0x52, 0x5c, 0x4f, 0x35, 0x5b, 0xaa, 0xd3, 0x52, 0x06, 0x37, - 0x49, 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0xaa, 0x7c, 0x96, 0x8f, 0x98, 0x56, 0x93, 0x29, - 0x0f, 0x72, 0x78, 0x9d, 0xa9, 0x46, 0x02, 0x2c, 0x7d, 0x5c, 0x80, 0x3d, 0x00, 0xf9, 0x9e, 0x6a, - 0x2b, 0xc8, 0xf4, 0x9c, 0x43, 0xd2, 0x18, 0xe7, 0xe4, 0x5c, 0x4f, 0xb5, 0x1b, 0xf8, 0xf9, 0xc3, - 0x39, 0x9f, 0xfc, 0x6b, 0x1a, 0x8a, 0xc1, 0xe6, 0x18, 0x9f, 0x35, 0x34, 0x52, 0x47, 0x04, 0x92, - 0x69, 0x1e, 0xba, 0x6f, 0x2b, 0xbd, 0xb8, 0x82, 0x0b, 0x4c, 0x6d, 0x9c, 0xb6, 0xac, 0x32, 0x45, - 0xe2, 0xe2, 0x8e, 0x73, 0x0b, 0xa2, 0x2d, 0x42, 0x4e, 0x66, 0x4f, 0xd2, 0x1a, 0x8c, 0xdf, 0x70, - 0x09, 0xf7, 0x38, 0xe1, 0x7e, 0xf8, 0xfe, 0xdc, 0xcf, 0x36, 0x09, 0x79, 0xfe, 0xd9, 0xa6, 0xb2, - 0xb5, 0x2d, 0x6f, 0xd6, 0x37, 0x64, 0x06, 0x97, 0xce, 0x42, 0xc6, 0x50, 0x6f, 0x1f, 0x86, 0x4b, - 0x11, 0x11, 0x25, 0x75, 0xfc, 0x59, 0xc8, 0xdc, 0x42, 0xea, 0x41, 0xb8, 0x00, 0x10, 0xd1, 0x07, - 0x18, 0xfa, 0x4b, 0x90, 0x25, 0xfe, 0x92, 0x00, 0x98, 0xc7, 0xc4, 0x31, 0x29, 0x07, 0x99, 0x95, - 0x6d, 0x19, 0x87, 0xbf, 0x08, 0x45, 0x2a, 0x55, 0x76, 0xd6, 0x1b, 0x2b, 0x0d, 0x31, 0x55, 0xbd, - 0x04, 0xe3, 0xd4, 0x09, 0x78, 0x6b, 0xf8, 0x6e, 0x10, 0xc7, 0xd8, 0x23, 0xe3, 0x10, 0xf8, 0xe8, - 0xde, 0xe6, 0x72, 0x43, 0x16, 0x53, 0xc1, 0xe5, 0x75, 0xa1, 0x18, 0xec, 0x8b, 0x3f, 0x9c, 0x98, - 0xfa, 0x8e, 0x00, 0x85, 0x40, 0x9f, 0x8b, 0x1b, 0x14, 0xd5, 0x30, 0xac, 0x5b, 0x8a, 0x6a, 0xe8, - 0xaa, 0xcb, 0x82, 0x02, 0x88, 0xa8, 0x8e, 0x25, 0x49, 0x17, 0xed, 0x43, 0x31, 0xfe, 0x35, 0x01, - 0xc4, 0x68, 0x8b, 0x19, 0x31, 0x50, 0xf8, 0x89, 0x1a, 0xf8, 0xaa, 0x00, 0xa5, 0x70, 0x5f, 0x19, - 0x31, 0xef, 0xfc, 0x4f, 0xd4, 0xbc, 0xb7, 0x52, 0x30, 0x19, 0xea, 0x26, 0x93, 0x5a, 0xf7, 0x59, - 0x98, 0xd6, 0x5b, 0xa8, 0x67, 0x5b, 0x1e, 0x32, 0xb5, 0x43, 0xc5, 0x40, 0x37, 0x91, 0x51, 0xae, - 0x92, 0x44, 0xb1, 0x74, 0xff, 0x7e, 0x75, 0x71, 0x7d, 0x80, 0xdb, 0xc0, 0xb0, 0xda, 0xcc, 0xfa, - 0x6a, 0x63, 0x73, 0x67, 0x7b, 0xb7, 0xb1, 0xb5, 0xf2, 0x82, 0xb2, 0xb7, 0xf5, 0xb3, 0x5b, 0xdb, - 0xcf, 0x6d, 0xc9, 0xa2, 0x1e, 0x51, 0xfb, 0x00, 0xb7, 0xfa, 0x0e, 0x88, 0x51, 0xa3, 0xa4, 0x33, - 0x30, 0xca, 0x2c, 0x71, 0x4c, 0x9a, 0x81, 0xa9, 0xad, 0x6d, 0xa5, 0xb9, 0xbe, 0xda, 0x50, 0x1a, - 0xd7, 0xaf, 0x37, 0x56, 0x76, 0x9b, 0xf4, 0x06, 0xc2, 0xd7, 0xde, 0x0d, 0x6f, 0xea, 0x57, 0xd2, - 0x30, 0x33, 0xc2, 0x12, 0xa9, 0xce, 0xce, 0x0e, 0xf4, 0x38, 0xf3, 0xb1, 0x24, 0xd6, 0x2f, 0xe2, - 0x92, 0xbf, 0xa3, 0x3a, 0x1e, 0x3b, 0x6a, 0x3c, 0x06, 0xd8, 0x4b, 0xa6, 0xa7, 0xb7, 0x75, 0xe4, - 0xb0, 0x0b, 0x1b, 0x7a, 0xa0, 0x98, 0x1a, 0xc8, 0xe9, 0x9d, 0xcd, 0x4f, 0x81, 0x64, 0x5b, 0xae, - 0xee, 0xe9, 0x37, 0x91, 0xa2, 0x9b, 0xfc, 0x76, 0x07, 0x1f, 0x30, 0x32, 0xb2, 0xc8, 0x47, 0xd6, - 0x4d, 0xcf, 0xd7, 0x36, 0x51, 0x47, 0x8d, 0x68, 0xe3, 0x04, 0x9e, 0x96, 0x45, 0x3e, 0xe2, 0x6b, - 0x9f, 0x87, 0x62, 0xcb, 0xea, 0xe3, 0xae, 0x8b, 0xea, 0xe1, 0x7a, 0x21, 0xc8, 0x05, 0x2a, 0xf3, - 0x55, 0x58, 0x3f, 0x3d, 0xb8, 0x56, 0x2a, 0xca, 0x05, 0x2a, 0xa3, 0x2a, 0x8f, 0xc2, 0x94, 0xda, - 0xe9, 0x38, 0x98, 0x9c, 0x13, 0xd1, 0x13, 0x42, 0xc9, 0x17, 0x13, 0xc5, 0xb9, 0x67, 0x21, 0xc7, - 0xfd, 0x80, 0x4b, 0x32, 0xf6, 0x84, 0x62, 0xd3, 0x63, 0x6f, 0x6a, 0x21, 0x2f, 0xe7, 0x4c, 0x3e, - 0x78, 0x1e, 0x8a, 0xba, 0xab, 0x0c, 0x6e, 0xc9, 0x53, 0xf3, 0xa9, 0x85, 0x9c, 0x5c, 0xd0, 0x5d, - 0xff, 0x86, 0xb1, 0xfa, 0x7a, 0x0a, 0x4a, 0xe1, 0x5b, 0x7e, 0x69, 0x15, 0x72, 0x86, 0xa5, 0xa9, - 0x24, 0xb4, 0xe8, 0x4f, 0x4c, 0x0b, 0x31, 0x3f, 0x0c, 0x2c, 0x6e, 0x30, 0x7d, 0xd9, 0x47, 0xce, - 0xfd, 0xb3, 0x00, 0x39, 0x2e, 0x96, 0x4e, 0x43, 0xc6, 0x56, 0xbd, 0x2e, 0xa1, 0xcb, 0x2e, 0xa7, - 0x44, 0x41, 0x26, 0xcf, 0x58, 0xee, 0xda, 0xaa, 0x49, 0x42, 0x80, 0xc9, 0xf1, 0x33, 0x5e, 0x57, - 0x03, 0xa9, 0x2d, 0x72, 0xfc, 0xb0, 0x7a, 0x3d, 0x64, 0x7a, 0x2e, 0x5f, 0x57, 0x26, 0x5f, 0x61, - 0x62, 0xe9, 0x09, 0x98, 0xf6, 0x1c, 0x55, 0x37, 0x42, 0xba, 0x19, 0xa2, 0x2b, 0xf2, 0x01, 0x5f, - 0xb9, 0x06, 0x67, 0x39, 0x6f, 0x0b, 0x79, 0xaa, 0xd6, 0x45, 0xad, 0x01, 0x68, 0x9c, 0x5c, 0x33, - 0x9c, 0x61, 0x0a, 0xab, 0x6c, 0x9c, 0x63, 0xab, 0xdf, 0x17, 0x60, 0x9a, 0x1f, 0x98, 0x5a, 0xbe, - 0xb3, 0x36, 0x01, 0x54, 0xd3, 0xb4, 0xbc, 0xa0, 0xbb, 0x86, 0x43, 0x79, 0x08, 0xb7, 0x58, 0xf7, - 0x41, 0x72, 0x80, 0x60, 0xae, 0x07, 0x30, 0x18, 0x39, 0xd6, 0x6d, 0xe7, 0xa0, 0xc0, 0x7e, 0xc2, - 0x21, 0xbf, 0x03, 0xd2, 0x23, 0x36, 0x50, 0x11, 0x3e, 0x59, 0x49, 0xb3, 0x90, 0xdd, 0x47, 0x1d, - 0xdd, 0x64, 0x17, 0xb3, 0xf4, 0x81, 0x5f, 0x84, 0x64, 0xfc, 0x8b, 0x90, 0xe5, 0xcf, 0xc0, 0x8c, - 0x66, 0xf5, 0xa2, 0xe6, 0x2e, 0x8b, 0x91, 0x63, 0xbe, 0xfb, 0x49, 0xe1, 0x45, 0x18, 0xb4, 0x98, - 0xef, 0x09, 0xc2, 0x97, 0x53, 0xe9, 0xb5, 0x9d, 0xe5, 0xaf, 0xa5, 0xe6, 0xd6, 0x28, 0x74, 0x87, - 0xcf, 0x54, 0x46, 0x6d, 0x03, 0x69, 0xd8, 0x7a, 0xf8, 0xca, 0x13, 0xf0, 0xb1, 0x8e, 0xee, 0x75, - 0xfb, 0xfb, 0x8b, 0x9a, 0xd5, 0x5b, 0xea, 0x58, 0x1d, 0x6b, 0xf0, 0xd3, 0x27, 0x7e, 0x22, 0x0f, - 0xe4, 0x3f, 0xf6, 0xf3, 0x67, 0xde, 0x97, 0xce, 0xc5, 0xfe, 0x56, 0x5a, 0xdb, 0x82, 0x19, 0xa6, - 0xac, 0x90, 0xdf, 0x5f, 0xe8, 0x29, 0x42, 0xba, 0xef, 0x1d, 0x56, 0xf9, 0xeb, 0x6f, 0x93, 0x72, - 0x2d, 0x4f, 0x33, 0x28, 0x1e, 0xa3, 0x07, 0x8d, 0x9a, 0x0c, 0xa7, 0x42, 0x7c, 0x74, 0x6b, 0x22, - 0x27, 0x86, 0xf1, 0xbb, 0x8c, 0x71, 0x26, 0xc0, 0xd8, 0x64, 0xd0, 0xda, 0x0a, 0x4c, 0x9e, 0x84, - 0xeb, 0x1f, 0x19, 0x57, 0x11, 0x05, 0x49, 0xd6, 0x60, 0x8a, 0x90, 0x68, 0x7d, 0xd7, 0xb3, 0x7a, - 0x24, 0xef, 0xdd, 0x9f, 0xe6, 0x9f, 0xde, 0xa6, 0x7b, 0xa5, 0x84, 0x61, 0x2b, 0x3e, 0xaa, 0x56, - 0x03, 0xf2, 0x93, 0x53, 0x0b, 0x69, 0x46, 0x0c, 0xc3, 0x9b, 0xcc, 0x10, 0x5f, 0xbf, 0xf6, 0x69, - 0x98, 0xc5, 0xff, 0x93, 0xb4, 0x14, 0xb4, 0x24, 0xfe, 0xc2, 0xab, 0xfc, 0xfd, 0x97, 0xe9, 0x76, - 0x9c, 0xf1, 0x09, 0x02, 0x36, 0x05, 0x56, 0xb1, 0x83, 0x3c, 0x0f, 0x39, 0xae, 0xa2, 0x1a, 0xa3, - 0xcc, 0x0b, 0xdc, 0x18, 0x94, 0xbf, 0xf0, 0x4e, 0x78, 0x15, 0xd7, 0x28, 0xb2, 0x6e, 0x18, 0xb5, - 0x3d, 0x38, 0x33, 0x22, 0x2a, 0x12, 0x70, 0xbe, 0xc2, 0x38, 0x67, 0x87, 0x22, 0x03, 0xd3, 0xee, - 0x00, 0x97, 0xfb, 0x6b, 0x99, 0x80, 0xf3, 0x0f, 0x18, 0xa7, 0xc4, 0xb0, 0x7c, 0x49, 0x31, 0xe3, - 0xb3, 0x30, 0x7d, 0x13, 0x39, 0xfb, 0x96, 0xcb, 0x6e, 0x69, 0x12, 0xd0, 0xbd, 0xca, 0xe8, 0xa6, - 0x18, 0x90, 0x5c, 0xdb, 0x60, 0xae, 0xab, 0x90, 0x6b, 0xab, 0x1a, 0x4a, 0x40, 0xf1, 0x45, 0x46, - 0x31, 0x81, 0xf5, 0x31, 0xb4, 0x0e, 0xc5, 0x8e, 0xc5, 0x2a, 0x53, 0x3c, 0xfc, 0x35, 0x06, 0x2f, - 0x70, 0x0c, 0xa3, 0xb0, 0x2d, 0xbb, 0x6f, 0xe0, 0xb2, 0x15, 0x4f, 0xf1, 0x87, 0x9c, 0x82, 0x63, - 0x18, 0xc5, 0x09, 0xdc, 0xfa, 0x47, 0x9c, 0xc2, 0x0d, 0xf8, 0xf3, 0x19, 0x28, 0x58, 0xa6, 0x71, - 0x68, 0x99, 0x49, 0x8c, 0xf8, 0x12, 0x63, 0x00, 0x06, 0xc1, 0x04, 0xd7, 0x20, 0x9f, 0x74, 0x21, - 0xfe, 0xe4, 0x1d, 0xbe, 0x3d, 0xf8, 0x0a, 0xac, 0xc1, 0x14, 0x4f, 0x50, 0xba, 0x65, 0x26, 0xa0, - 0xf8, 0x0a, 0xa3, 0x28, 0x05, 0x60, 0x6c, 0x1a, 0x1e, 0x72, 0xbd, 0x0e, 0x4a, 0x42, 0xf2, 0x3a, - 0x9f, 0x06, 0x83, 0x30, 0x57, 0xee, 0x23, 0x53, 0xeb, 0x26, 0x63, 0xf8, 0x2a, 0x77, 0x25, 0xc7, - 0x60, 0x8a, 0x15, 0x98, 0xec, 0xa9, 0x8e, 0xdb, 0x55, 0x8d, 0x44, 0xcb, 0xf1, 0xa7, 0x8c, 0xa3, - 0xe8, 0x83, 0x98, 0x47, 0xfa, 0xe6, 0x49, 0x68, 0xbe, 0xc6, 0x3d, 0x12, 0x80, 0xb1, 0xad, 0xe7, - 0x7a, 0xe4, 0x4a, 0xeb, 0x24, 0x6c, 0x7f, 0xc6, 0xb7, 0x1e, 0xc5, 0x6e, 0x06, 0x19, 0xaf, 0x41, - 0xde, 0xd5, 0x6f, 0x27, 0xa2, 0xf9, 0x73, 0xbe, 0xd2, 0x04, 0x80, 0xc1, 0x2f, 0xc0, 0xd9, 0x91, - 0x65, 0x22, 0x01, 0xd9, 0x5f, 0x30, 0xb2, 0xd3, 0x23, 0x4a, 0x05, 0x4b, 0x09, 0x27, 0xa5, 0xfc, - 0x4b, 0x9e, 0x12, 0x50, 0x84, 0x6b, 0x07, 0x9f, 0x15, 0x5c, 0xb5, 0x7d, 0x32, 0xaf, 0xfd, 0x15, - 0xf7, 0x1a, 0xc5, 0x86, 0xbc, 0xb6, 0x0b, 0xa7, 0x19, 0xe3, 0xc9, 0xd6, 0xf5, 0x0d, 0x9e, 0x58, - 0x29, 0x7a, 0x2f, 0xbc, 0xba, 0x9f, 0x81, 0x39, 0xdf, 0x9d, 0xbc, 0x29, 0x75, 0x95, 0x9e, 0x6a, - 0x27, 0x60, 0xfe, 0x3a, 0x63, 0xe6, 0x19, 0xdf, 0xef, 0x6a, 0xdd, 0x4d, 0xd5, 0xc6, 0xe4, 0xcf, - 0x43, 0x99, 0x93, 0xf7, 0x4d, 0x07, 0x69, 0x56, 0xc7, 0xd4, 0x6f, 0xa3, 0x56, 0x02, 0xea, 0xbf, - 0x8e, 0x2c, 0xd5, 0x5e, 0x00, 0x8e, 0x99, 0xd7, 0x41, 0xf4, 0x7b, 0x15, 0x45, 0xef, 0xd9, 0x96, - 0xe3, 0xc5, 0x30, 0x7e, 0x83, 0xaf, 0x94, 0x8f, 0x5b, 0x27, 0xb0, 0x5a, 0x03, 0x4a, 0xe4, 0x31, - 0x69, 0x48, 0xfe, 0x0d, 0x23, 0x9a, 0x1c, 0xa0, 0x58, 0xe2, 0xd0, 0xac, 0x9e, 0xad, 0x3a, 0x49, - 0xf2, 0xdf, 0xdf, 0xf2, 0xc4, 0xc1, 0x20, 0x2c, 0x71, 0x78, 0x87, 0x36, 0xc2, 0xd5, 0x3e, 0x01, - 0xc3, 0x37, 0x79, 0xe2, 0xe0, 0x18, 0x46, 0xc1, 0x1b, 0x86, 0x04, 0x14, 0x7f, 0xc7, 0x29, 0x38, - 0x06, 0x53, 0x7c, 0x6a, 0x50, 0x68, 0x1d, 0xd4, 0xd1, 0x5d, 0xcf, 0xa1, 0xad, 0xf0, 0xfd, 0xa9, - 0xbe, 0xf5, 0x4e, 0xb8, 0x09, 0x93, 0x03, 0x50, 0x9c, 0x89, 0xd8, 0x15, 0x2a, 0x39, 0x29, 0xc5, - 0x1b, 0xf6, 0x6d, 0x9e, 0x89, 0x02, 0x30, 0x6c, 0x5b, 0xa0, 0x43, 0xc4, 0x6e, 0xd7, 0xf0, 0xf9, - 0x20, 0x01, 0xdd, 0x77, 0x22, 0xc6, 0x35, 0x39, 0x16, 0x73, 0x06, 0xfa, 0x9f, 0xbe, 0x79, 0x80, - 0x0e, 0x13, 0x45, 0xe7, 0xdf, 0x47, 0xfa, 0x9f, 0x3d, 0x8a, 0xa4, 0x39, 0x64, 0x2a, 0xd2, 0x4f, - 0x49, 0x71, 0x1f, 0xeb, 0x94, 0x7f, 0xf1, 0x1e, 0x9b, 0x6f, 0xb8, 0x9d, 0xaa, 0x6d, 0xe0, 0x20, - 0x0f, 0x37, 0x3d, 0xf1, 0x64, 0x2f, 0xdf, 0xf3, 0xe3, 0x3c, 0xd4, 0xf3, 0xd4, 0xae, 0xc3, 0x64, - 0xa8, 0xe1, 0x89, 0xa7, 0xfa, 0x25, 0x46, 0x55, 0x0c, 0xf6, 0x3b, 0xb5, 0x4b, 0x90, 0xc1, 0xcd, - 0x4b, 0x3c, 0xfc, 0x97, 0x19, 0x9c, 0xa8, 0xd7, 0x3e, 0x01, 0x39, 0xde, 0xb4, 0xc4, 0x43, 0x7f, - 0x85, 0x41, 0x7d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1e, 0xfe, 0xab, 0x1c, 0xce, 0x21, 0x18, 0x9e, - 0xdc, 0x85, 0xff, 0xf0, 0x6b, 0x19, 0x56, 0x74, 0xb8, 0xef, 0xae, 0xc1, 0x04, 0xeb, 0x54, 0xe2, - 0xd1, 0x9f, 0x63, 0x2f, 0xe7, 0x88, 0xda, 0x53, 0x90, 0x4d, 0xe8, 0xf0, 0x5f, 0x67, 0x50, 0xaa, - 0x5f, 0x5b, 0x81, 0x42, 0xa0, 0x3b, 0x89, 0x87, 0xff, 0x06, 0x83, 0x07, 0x51, 0xd8, 0x74, 0xd6, - 0x9d, 0xc4, 0x13, 0xfc, 0x26, 0x37, 0x9d, 0x21, 0xb0, 0xdb, 0x78, 0x63, 0x12, 0x8f, 0xfe, 0x2d, - 0xee, 0x75, 0x0e, 0xa9, 0x3d, 0x03, 0x79, 0xbf, 0xd8, 0xc4, 0xe3, 0x7f, 0x9b, 0xe1, 0x07, 0x18, - 0xec, 0x81, 0x40, 0xb1, 0x8b, 0xa7, 0xf8, 0x1d, 0xee, 0x81, 0x00, 0x0a, 0x6f, 0xa3, 0x68, 0x03, - 0x13, 0xcf, 0xf4, 0xbb, 0x7c, 0x1b, 0x45, 0xfa, 0x17, 0xbc, 0x9a, 0x24, 0xe7, 0xc7, 0x53, 0xfc, - 0x1e, 0x5f, 0x4d, 0xa2, 0x8f, 0xcd, 0x88, 0x76, 0x04, 0xf1, 0x1c, 0xbf, 0xcf, 0xcd, 0x88, 0x34, - 0x04, 0xb5, 0x1d, 0x90, 0x86, 0xbb, 0x81, 0x78, 0xbe, 0xcf, 0x33, 0xbe, 0xe9, 0xa1, 0x66, 0xa0, - 0xf6, 0x1c, 0x9c, 0x1e, 0xdd, 0x09, 0xc4, 0xb3, 0x7e, 0xe1, 0x5e, 0xe4, 0xec, 0x16, 0x6c, 0x04, - 0x6a, 0xbb, 0x83, 0x92, 0x12, 0xec, 0x02, 0xe2, 0x69, 0x5f, 0xb9, 0x17, 0x4e, 0xdc, 0xc1, 0x26, - 0xa0, 0x56, 0x07, 0x18, 0x14, 0xe0, 0x78, 0xae, 0x57, 0x19, 0x57, 0x00, 0x84, 0xb7, 0x06, 0xab, - 0xbf, 0xf1, 0xf8, 0x2f, 0xf2, 0xad, 0xc1, 0x10, 0x78, 0x6b, 0xf0, 0xd2, 0x1b, 0x8f, 0x7e, 0x8d, - 0x6f, 0x0d, 0x0e, 0xc1, 0x91, 0x1d, 0xa8, 0x6e, 0xf1, 0x0c, 0x5f, 0xe2, 0x91, 0x1d, 0x40, 0xd5, - 0xb6, 0x60, 0x7a, 0xa8, 0x20, 0xc6, 0x53, 0x7d, 0x99, 0x51, 0x89, 0xd1, 0x7a, 0x18, 0x2c, 0x5e, - 0xac, 0x18, 0xc6, 0xb3, 0xfd, 0x71, 0xa4, 0x78, 0xb1, 0x5a, 0x58, 0xbb, 0x06, 0x39, 0xb3, 0x6f, - 0x18, 0x78, 0xf3, 0x48, 0xf7, 0xff, 0xc0, 0xae, 0xfc, 0xef, 0xef, 0x33, 0xef, 0x70, 0x40, 0xed, - 0x12, 0x64, 0x51, 0x6f, 0x1f, 0xb5, 0xe2, 0x90, 0xff, 0xf1, 0x3e, 0x4f, 0x98, 0x58, 0xbb, 0xf6, - 0x0c, 0x00, 0xbd, 0x1a, 0x21, 0x3f, 0xfb, 0xc5, 0x60, 0xff, 0xf3, 0x7d, 0xf6, 0xe9, 0xcb, 0x00, - 0x32, 0x20, 0xa0, 0x1f, 0xd2, 0xdc, 0x9f, 0xe0, 0x9d, 0x30, 0x01, 0x59, 0x91, 0xab, 0x30, 0x71, - 0xc3, 0xb5, 0x4c, 0x4f, 0xed, 0xc4, 0xa1, 0xff, 0x8b, 0xa1, 0xb9, 0x3e, 0x76, 0x58, 0xcf, 0x72, - 0x90, 0xa7, 0x76, 0xdc, 0x38, 0xec, 0x7f, 0x33, 0xac, 0x0f, 0xc0, 0x60, 0x4d, 0x75, 0xbd, 0x24, - 0xf3, 0xfe, 0x11, 0x07, 0x73, 0x00, 0x36, 0x1a, 0xff, 0x7f, 0x80, 0x0e, 0xe3, 0xb0, 0xef, 0x72, - 0xa3, 0x99, 0x7e, 0xed, 0x13, 0x90, 0xc7, 0xff, 0xd2, 0xef, 0xd9, 0x62, 0xc0, 0xff, 0xc3, 0xc0, - 0x03, 0x04, 0x7e, 0xb3, 0xeb, 0xb5, 0x3c, 0x3d, 0xde, 0xd9, 0xff, 0xcb, 0x56, 0x9a, 0xeb, 0xd7, - 0xea, 0x50, 0x70, 0xbd, 0x56, 0xab, 0xcf, 0xfa, 0xd3, 0x18, 0xf8, 0xff, 0xbd, 0xef, 0x5f, 0x59, - 0xf8, 0x18, 0xbc, 0xda, 0xb7, 0x0e, 0x3c, 0xdb, 0x22, 0x3f, 0x73, 0xc4, 0x31, 0xdc, 0x63, 0x0c, - 0x01, 0xc8, 0x72, 0x63, 0xf4, 0xf5, 0x2d, 0xac, 0x59, 0x6b, 0x16, 0xbd, 0xb8, 0x7d, 0xb1, 0x1a, - 0x7f, 0x03, 0x0b, 0x6f, 0xa4, 0xe1, 0x94, 0x66, 0xf5, 0xf6, 0x2d, 0x77, 0x69, 0xdf, 0xf2, 0xba, - 0x4b, 0x3d, 0xd5, 0x66, 0x17, 0xb2, 0x85, 0x9e, 0x6a, 0xb3, 0x2f, 0x5f, 0xdd, 0xb9, 0x93, 0x5d, - 0xe6, 0x56, 0x7f, 0x01, 0x26, 0x36, 0x55, 0x7b, 0x17, 0xb9, 0x9e, 0x44, 0xdc, 0x4c, 0x3e, 0xb1, - 0x62, 0x37, 0xe4, 0xf3, 0x8b, 0x01, 0xe2, 0x45, 0xa6, 0xb6, 0xd8, 0xf4, 0x9c, 0xa6, 0xe7, 0x90, - 0xaf, 0x09, 0xe4, 0x71, 0x97, 0x3c, 0xcc, 0x5d, 0x85, 0x42, 0x40, 0x2c, 0x89, 0x90, 0x3e, 0x40, - 0x87, 0xec, 0x23, 0x2b, 0xfc, 0xaf, 0x34, 0x3b, 0xf8, 0x0a, 0x12, 0xcb, 0xe8, 0x43, 0x2d, 0x75, - 0x45, 0xa8, 0x3e, 0x0d, 0x13, 0xd7, 0xd5, 0x03, 0xb4, 0xa9, 0xda, 0xd2, 0x45, 0x98, 0x40, 0xa6, - 0xe7, 0xe8, 0xc8, 0x65, 0x06, 0x9c, 0x0d, 0x19, 0xc0, 0xd4, 0xe8, 0x9b, 0xb9, 0x66, 0x75, 0x03, - 0x8a, 0xc1, 0x81, 0xa4, 0xef, 0xc6, 0x52, 0xcb, 0xeb, 0xb2, 0xaf, 0xa2, 0xf3, 0x32, 0x7d, 0x58, - 0x5e, 0x7d, 0xf3, 0x6e, 0x65, 0xec, 0x7b, 0x77, 0x2b, 0x63, 0xff, 0x72, 0xb7, 0x32, 0xf6, 0xd6, - 0xdd, 0x8a, 0xf0, 0xee, 0xdd, 0x8a, 0xf0, 0xde, 0xdd, 0x8a, 0x70, 0xe7, 0xa8, 0x22, 0x7c, 0xf5, - 0xa8, 0x22, 0xbc, 0x71, 0x54, 0x11, 0xbe, 0x75, 0x54, 0x11, 0xde, 0x3c, 0xaa, 0x08, 0xdf, 0x3b, - 0xaa, 0x08, 0x6f, 0x1d, 0x55, 0x84, 0x1f, 0x1e, 0x55, 0xc6, 0xde, 0x3d, 0xaa, 0x08, 0xef, 0x1d, - 0x55, 0xc6, 0xee, 0xfc, 0xa0, 0x32, 0xb6, 0x3f, 0x4e, 0x7c, 0x7b, 0xf1, 0xff, 0x03, 0x00, 0x00, - 0xff, 0xff, 0xc7, 0x48, 0xca, 0xd1, 0x4e, 0x34, 0x00, 0x00, + // 4011 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0xe3, 0xe6, + 0x75, 0x16, 0x78, 0x91, 0xc8, 0x43, 0x8a, 0x82, 0x20, 0xad, 0x96, 0x2b, 0xc7, 0x5c, 0x2d, 0x6d, + 0xc7, 0xb2, 0x1d, 0x4b, 0x99, 0xbd, 0x79, 0x97, 0xdb, 0xd8, 0xa5, 0x24, 0xae, 0x22, 0x57, 0xb7, + 0x80, 0x52, 0x7c, 0xc9, 0x74, 0x30, 0x10, 0xf8, 0x8b, 0xc4, 0x0a, 0x04, 0x10, 0x00, 0xdc, 0xb5, + 0x76, 0x3a, 0xd3, 0xed, 0xb8, 0x97, 0xc9, 0xf4, 0x7e, 0x99, 0x69, 0xe2, 0x3a, 0x6e, 0x93, 0x4e, + 0xe3, 0x34, 0xbd, 0x39, 0xbd, 0xa4, 0x49, 0xfa, 0xd2, 0x97, 0xb4, 0x7e, 0xea, 0x24, 0x6f, 0x7d, + 0xe8, 0x83, 0x57, 0xf1, 0x4c, 0xd3, 0xd6, 0x6d, 0xdd, 0x76, 0x1f, 0x3c, 0xe3, 0x97, 0xce, 0x7f, + 0x03, 0x01, 0x90, 0x5a, 0x40, 0x99, 0xb1, 0xfd, 0x24, 0xe1, 0xfc, 0xe7, 0xfb, 0x70, 0xfe, 0xf3, + 0x9f, 0xff, 0x9c, 0xf3, 0xff, 0x20, 0xbc, 0x59, 0x83, 0xb9, 0xb6, 0x65, 0xb5, 0x0d, 0xb4, 0x68, + 0x3b, 0x96, 0x67, 0xed, 0xf5, 0xf6, 0x17, 0x5b, 0xc8, 0xd5, 0x1c, 0xdd, 0xf6, 0x2c, 0x67, 0x81, + 0xc8, 0xa4, 0x09, 0xaa, 0xb1, 0xc0, 0x35, 0xaa, 0x1b, 0x30, 0x79, 0x5d, 0x37, 0xd0, 0x8a, 0xaf, + 0xd8, 0x44, 0x9e, 0x74, 0x05, 0x32, 0xfb, 0xba, 0x81, 0xca, 0xc2, 0x5c, 0x7a, 0xbe, 0x70, 0xfe, + 0xe1, 0x85, 0x08, 0x68, 0x21, 0x8c, 0xd8, 0xc6, 0x62, 0x99, 0x20, 0xaa, 0x6f, 0x67, 0x60, 0x6a, + 0xc8, 0xa8, 0x24, 0x41, 0xc6, 0x54, 0xbb, 0x98, 0x51, 0x98, 0xcf, 0xcb, 0xe4, 0x7f, 0xa9, 0x0c, + 0x63, 0xb6, 0xaa, 0x1d, 0xa8, 0x6d, 0x54, 0x4e, 0x11, 0x31, 0x7f, 0x94, 0x2a, 0x00, 0x2d, 0x64, + 0x23, 0xb3, 0x85, 0x4c, 0xed, 0xb0, 0x9c, 0x9e, 0x4b, 0xcf, 0xe7, 0xe5, 0x80, 0x44, 0x7a, 0x02, + 0x26, 0xed, 0xde, 0x9e, 0xa1, 0x6b, 0x4a, 0x40, 0x0d, 0xe6, 0xd2, 0xf3, 0x59, 0x59, 0xa4, 0x03, + 0x2b, 0x7d, 0xe5, 0x47, 0x61, 0xe2, 0x16, 0x52, 0x0f, 0x82, 0xaa, 0x05, 0xa2, 0x5a, 0xc2, 0xe2, + 0x80, 0xe2, 0x32, 0x14, 0xbb, 0xc8, 0x75, 0xd5, 0x36, 0x52, 0xbc, 0x43, 0x1b, 0x95, 0x33, 0x64, + 0xf6, 0x73, 0x03, 0xb3, 0x8f, 0xce, 0xbc, 0xc0, 0x50, 0x3b, 0x87, 0x36, 0x92, 0xea, 0x90, 0x47, + 0x66, 0xaf, 0x4b, 0x19, 0xb2, 0xc7, 0xf8, 0xaf, 0x61, 0xf6, 0xba, 0x51, 0x96, 0x1c, 0x86, 0x31, + 0x8a, 0x31, 0x17, 0x39, 0x37, 0x75, 0x0d, 0x95, 0x47, 0x09, 0xc1, 0xa3, 0x03, 0x04, 0x4d, 0x3a, + 0x1e, 0xe5, 0xe0, 0x38, 0x69, 0x19, 0xf2, 0xe8, 0x25, 0x0f, 0x99, 0xae, 0x6e, 0x99, 0xe5, 0x31, + 0x42, 0xf2, 0xc8, 0x90, 0x55, 0x44, 0x46, 0x2b, 0x4a, 0xd1, 0xc7, 0x49, 0x97, 0x61, 0xcc, 0xb2, + 0x3d, 0xdd, 0x32, 0xdd, 0x72, 0x6e, 0x4e, 0x98, 0x2f, 0x9c, 0xff, 0xd8, 0xd0, 0x40, 0xd8, 0xa2, + 0x3a, 0x32, 0x57, 0x96, 0xd6, 0x40, 0x74, 0xad, 0x9e, 0xa3, 0x21, 0x45, 0xb3, 0x5a, 0x48, 0xd1, + 0xcd, 0x7d, 0xab, 0x9c, 0x27, 0x04, 0x67, 0x07, 0x27, 0x42, 0x14, 0x97, 0xad, 0x16, 0x5a, 0x33, + 0xf7, 0x2d, 0xb9, 0xe4, 0x86, 0x9e, 0xa5, 0x19, 0x18, 0x75, 0x0f, 0x4d, 0x4f, 0x7d, 0xa9, 0x5c, + 0x24, 0x11, 0xc2, 0x9e, 0xaa, 0xdf, 0x19, 0x85, 0x89, 0x24, 0x21, 0x76, 0x0d, 0xb2, 0xfb, 0x78, + 0x96, 0xe5, 0xd4, 0x49, 0x7c, 0x40, 0x31, 0x61, 0x27, 0x8e, 0xfe, 0x98, 0x4e, 0xac, 0x43, 0xc1, + 0x44, 0xae, 0x87, 0x5a, 0x34, 0x22, 0xd2, 0x09, 0x63, 0x0a, 0x28, 0x68, 0x30, 0xa4, 0x32, 0x3f, + 0x56, 0x48, 0x3d, 0x0f, 0x13, 0xbe, 0x49, 0x8a, 0xa3, 0x9a, 0x6d, 0x1e, 0x9b, 0x8b, 0x71, 0x96, + 0x2c, 0x34, 0x38, 0x4e, 0xc6, 0x30, 0xb9, 0x84, 0x42, 0xcf, 0xd2, 0x0a, 0x80, 0x65, 0x22, 0x6b, + 0x5f, 0x69, 0x21, 0xcd, 0x28, 0xe7, 0x8e, 0xf1, 0xd2, 0x16, 0x56, 0x19, 0xf0, 0x92, 0x45, 0xa5, + 0x9a, 0x21, 0x5d, 0xed, 0x87, 0xda, 0xd8, 0x31, 0x91, 0xb2, 0x41, 0x37, 0xd9, 0x40, 0xb4, 0xed, + 0x42, 0xc9, 0x41, 0x38, 0xee, 0x51, 0x8b, 0xcd, 0x2c, 0x4f, 0x8c, 0x58, 0x88, 0x9d, 0x99, 0xcc, + 0x60, 0x74, 0x62, 0xe3, 0x4e, 0xf0, 0x51, 0x7a, 0x08, 0x7c, 0x81, 0x42, 0xc2, 0x0a, 0x48, 0x16, + 0x2a, 0x72, 0xe1, 0xa6, 0xda, 0x45, 0xb3, 0xb7, 0xa1, 0x14, 0x76, 0x8f, 0x34, 0x0d, 0x59, 0xd7, + 0x53, 0x1d, 0x8f, 0x44, 0x61, 0x56, 0xa6, 0x0f, 0x92, 0x08, 0x69, 0x64, 0xb6, 0x48, 0x96, 0xcb, + 0xca, 0xf8, 0x5f, 0xe9, 0x27, 0xfb, 0x13, 0x4e, 0x93, 0x09, 0x7f, 0x7c, 0x70, 0x45, 0x43, 0xcc, + 0xd1, 0x79, 0xcf, 0x3e, 0x05, 0xe3, 0xa1, 0x09, 0x24, 0x7d, 0x75, 0xf5, 0x67, 0xe0, 0xd4, 0x50, + 0x6a, 0xe9, 0x79, 0x98, 0xee, 0x99, 0xba, 0xe9, 0x21, 0xc7, 0x76, 0x10, 0x8e, 0x58, 0xfa, 0xaa, + 0xf2, 0xbf, 0x8e, 0x1d, 0x13, 0x73, 0xbb, 0x41, 0x6d, 0xca, 0x22, 0x4f, 0xf5, 0x06, 0x85, 0x8f, + 0xe7, 0x73, 0x3f, 0x1a, 0x13, 0xef, 0xdc, 0xb9, 0x73, 0x27, 0x55, 0xfd, 0xe2, 0x28, 0x4c, 0x0f, + 0xdb, 0x33, 0x43, 0xb7, 0xef, 0x0c, 0x8c, 0x9a, 0xbd, 0xee, 0x1e, 0x72, 0x88, 0x93, 0xb2, 0x32, + 0x7b, 0x92, 0xea, 0x90, 0x35, 0xd4, 0x3d, 0x64, 0x94, 0x33, 0x73, 0xc2, 0x7c, 0xe9, 0xfc, 0x13, + 0x89, 0x76, 0xe5, 0xc2, 0x3a, 0x86, 0xc8, 0x14, 0x29, 0x3d, 0x0d, 0x19, 0x96, 0xa2, 0x31, 0xc3, + 0xe3, 0xc9, 0x18, 0xf0, 0x5e, 0x92, 0x09, 0x4e, 0x7a, 0x00, 0xf2, 0xf8, 0x2f, 0x8d, 0x8d, 0x51, + 0x62, 0x73, 0x0e, 0x0b, 0x70, 0x5c, 0x48, 0xb3, 0x90, 0x23, 0xdb, 0xa4, 0x85, 0x78, 0x69, 0xf3, + 0x9f, 0x71, 0x60, 0xb5, 0xd0, 0xbe, 0xda, 0x33, 0x3c, 0xe5, 0xa6, 0x6a, 0xf4, 0x10, 0x09, 0xf8, + 0xbc, 0x5c, 0x64, 0xc2, 0xcf, 0x62, 0x99, 0x74, 0x16, 0x0a, 0x74, 0x57, 0xe9, 0x66, 0x0b, 0xbd, + 0x44, 0xb2, 0x67, 0x56, 0xa6, 0x1b, 0x6d, 0x0d, 0x4b, 0xf0, 0xeb, 0x6f, 0xb8, 0x96, 0xc9, 0x43, + 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x9f, 0x8a, 0x26, 0xee, 0x07, 0x87, 0x4f, 0x2f, 0x1a, 0x53, + 0xd5, 0x6f, 0xa5, 0x20, 0x43, 0xf2, 0xc5, 0x04, 0x14, 0x76, 0x5e, 0xd8, 0x6e, 0x28, 0x2b, 0x5b, + 0xbb, 0x4b, 0xeb, 0x0d, 0x51, 0x90, 0x4a, 0x00, 0x44, 0x70, 0x7d, 0x7d, 0xab, 0xbe, 0x23, 0xa6, + 0xfc, 0xe7, 0xb5, 0xcd, 0x9d, 0xcb, 0x17, 0xc5, 0xb4, 0x0f, 0xd8, 0xa5, 0x82, 0x4c, 0x50, 0xe1, + 0xc2, 0x79, 0x31, 0x2b, 0x89, 0x50, 0xa4, 0x04, 0x6b, 0xcf, 0x37, 0x56, 0x2e, 0x5f, 0x14, 0x47, + 0xc3, 0x92, 0x0b, 0xe7, 0xc5, 0x31, 0x69, 0x1c, 0xf2, 0x44, 0xb2, 0xb4, 0xb5, 0xb5, 0x2e, 0xe6, + 0x7c, 0xce, 0xe6, 0x8e, 0xbc, 0xb6, 0xb9, 0x2a, 0xe6, 0x7d, 0xce, 0x55, 0x79, 0x6b, 0x77, 0x5b, + 0x04, 0x9f, 0x61, 0xa3, 0xd1, 0x6c, 0xd6, 0x57, 0x1b, 0x62, 0xc1, 0xd7, 0x58, 0x7a, 0x61, 0xa7, + 0xd1, 0x14, 0x8b, 0x21, 0xb3, 0x2e, 0x9c, 0x17, 0xc7, 0xfd, 0x57, 0x34, 0x36, 0x77, 0x37, 0xc4, + 0x92, 0x34, 0x09, 0xe3, 0xf4, 0x15, 0xdc, 0x88, 0x89, 0x88, 0xe8, 0xf2, 0x45, 0x51, 0xec, 0x1b, + 0x42, 0x59, 0x26, 0x43, 0x82, 0xcb, 0x17, 0x45, 0xa9, 0xba, 0x0c, 0x59, 0x12, 0x5d, 0x92, 0x04, + 0xa5, 0xf5, 0xfa, 0x52, 0x63, 0x5d, 0xd9, 0xda, 0xde, 0x59, 0xdb, 0xda, 0xac, 0xaf, 0x8b, 0x42, + 0x5f, 0x26, 0x37, 0x3e, 0xb3, 0xbb, 0x26, 0x37, 0x56, 0xc4, 0x54, 0x50, 0xb6, 0xdd, 0xa8, 0xef, + 0x34, 0x56, 0xc4, 0x74, 0x55, 0x83, 0xe9, 0x61, 0x79, 0x72, 0xe8, 0xce, 0x08, 0x2c, 0x71, 0xea, + 0x98, 0x25, 0x26, 0x5c, 0x03, 0x4b, 0xfc, 0xc3, 0x14, 0x4c, 0x0d, 0xa9, 0x15, 0x43, 0x5f, 0xf2, + 0x0c, 0x64, 0x69, 0x88, 0xd2, 0xea, 0xf9, 0xd8, 0xd0, 0xa2, 0x43, 0x02, 0x76, 0xa0, 0x82, 0x12, + 0x5c, 0xb0, 0x83, 0x48, 0x1f, 0xd3, 0x41, 0x60, 0x8a, 0x81, 0x9c, 0xfe, 0xd3, 0x03, 0x39, 0x9d, + 0x96, 0xbd, 0xcb, 0x49, 0xca, 0x1e, 0x91, 0x9d, 0x2c, 0xb7, 0x67, 0x87, 0xe4, 0xf6, 0x6b, 0x30, + 0x39, 0x40, 0x94, 0x38, 0xc7, 0xbe, 0x2c, 0x40, 0xf9, 0x38, 0xe7, 0xc4, 0x64, 0xba, 0x54, 0x28, + 0xd3, 0x5d, 0x8b, 0x7a, 0xf0, 0xdc, 0xf1, 0x8b, 0x30, 0xb0, 0xd6, 0xaf, 0x0b, 0x30, 0x33, 0xbc, + 0x53, 0x1c, 0x6a, 0xc3, 0xd3, 0x30, 0xda, 0x45, 0x5e, 0xc7, 0xe2, 0xdd, 0xd2, 0xc7, 0x87, 0xd4, + 0x60, 0x3c, 0x1c, 0x5d, 0x6c, 0x86, 0x0a, 0x16, 0xf1, 0xf4, 0x71, 0xed, 0x1e, 0xb5, 0x66, 0xc0, + 0xd2, 0x2f, 0xa4, 0xe0, 0xd4, 0x50, 0xf2, 0xa1, 0x86, 0x3e, 0x08, 0xa0, 0x9b, 0x76, 0xcf, 0xa3, + 0x1d, 0x11, 0x4d, 0xb0, 0x79, 0x22, 0x21, 0xc9, 0x0b, 0x27, 0xcf, 0x9e, 0xe7, 0x8f, 0xa7, 0xc9, + 0x38, 0x50, 0x11, 0x51, 0xb8, 0xd2, 0x37, 0x34, 0x43, 0x0c, 0xad, 0x1c, 0x33, 0xd3, 0x81, 0xc0, + 0xfc, 0x24, 0x88, 0x9a, 0xa1, 0x23, 0xd3, 0x53, 0x5c, 0xcf, 0x41, 0x6a, 0x57, 0x37, 0xdb, 0xa4, + 0x82, 0xe4, 0x6a, 0xd9, 0x7d, 0xd5, 0x70, 0x91, 0x3c, 0x41, 0x87, 0x9b, 0x7c, 0x14, 0x23, 0x48, + 0x00, 0x39, 0x01, 0xc4, 0x68, 0x08, 0x41, 0x87, 0x7d, 0x44, 0xf5, 0x57, 0xf2, 0x50, 0x08, 0xf4, + 0xd5, 0xd2, 0x39, 0x28, 0xde, 0x50, 0x6f, 0xaa, 0x0a, 0x3f, 0x2b, 0x51, 0x4f, 0x14, 0xb0, 0x6c, + 0x9b, 0x9d, 0x97, 0x3e, 0x09, 0xd3, 0x44, 0xc5, 0xea, 0x79, 0xc8, 0x51, 0x34, 0x43, 0x75, 0x5d, + 0xe2, 0xb4, 0x1c, 0x51, 0x95, 0xf0, 0xd8, 0x16, 0x1e, 0x5a, 0xe6, 0x23, 0xd2, 0x25, 0x98, 0x22, + 0x88, 0x6e, 0xcf, 0xf0, 0x74, 0xdb, 0x40, 0x0a, 0x3e, 0xbd, 0xb9, 0xa4, 0x92, 0xf8, 0x96, 0x4d, + 0x62, 0x8d, 0x0d, 0xa6, 0x80, 0x2d, 0x72, 0xa5, 0x15, 0x78, 0x90, 0xc0, 0xda, 0xc8, 0x44, 0x8e, + 0xea, 0x21, 0x05, 0x7d, 0xbe, 0xa7, 0x1a, 0xae, 0xa2, 0x9a, 0x2d, 0xa5, 0xa3, 0xba, 0x9d, 0xf2, + 0x34, 0x26, 0x58, 0x4a, 0x95, 0x05, 0xf9, 0x0c, 0x56, 0x5c, 0x65, 0x7a, 0x0d, 0xa2, 0x56, 0x37, + 0x5b, 0x9f, 0x56, 0xdd, 0x8e, 0x54, 0x83, 0x19, 0xc2, 0xe2, 0x7a, 0x8e, 0x6e, 0xb6, 0x15, 0xad, + 0x83, 0xb4, 0x03, 0xa5, 0xe7, 0xed, 0x5f, 0x29, 0x3f, 0x10, 0x7c, 0x3f, 0xb1, 0xb0, 0x49, 0x74, + 0x96, 0xb1, 0xca, 0xae, 0xb7, 0x7f, 0x45, 0x6a, 0x42, 0x11, 0x2f, 0x46, 0x57, 0xbf, 0x8d, 0x94, + 0x7d, 0xcb, 0x21, 0xa5, 0xb1, 0x34, 0x24, 0x35, 0x05, 0x3c, 0xb8, 0xb0, 0xc5, 0x00, 0x1b, 0x56, + 0x0b, 0xd5, 0xb2, 0xcd, 0xed, 0x46, 0x63, 0x45, 0x2e, 0x70, 0x96, 0xeb, 0x96, 0x83, 0x03, 0xaa, + 0x6d, 0xf9, 0x0e, 0x2e, 0xd0, 0x80, 0x6a, 0x5b, 0xdc, 0xbd, 0x97, 0x60, 0x4a, 0xd3, 0xe8, 0x9c, + 0x75, 0x4d, 0x61, 0x67, 0x2c, 0xb7, 0x2c, 0x86, 0x9c, 0xa5, 0x69, 0xab, 0x54, 0x81, 0xc5, 0xb8, + 0x2b, 0x5d, 0x85, 0x53, 0x7d, 0x67, 0x05, 0x81, 0x93, 0x03, 0xb3, 0x8c, 0x42, 0x2f, 0xc1, 0x94, + 0x7d, 0x38, 0x08, 0x94, 0x42, 0x6f, 0xb4, 0x0f, 0xa3, 0xb0, 0xa7, 0x60, 0xda, 0xee, 0xd8, 0x83, + 0xb8, 0xc7, 0x83, 0x38, 0xc9, 0xee, 0xd8, 0x51, 0xe0, 0x23, 0xe4, 0xc0, 0xed, 0x20, 0x4d, 0xf5, + 0x50, 0xab, 0x7c, 0x3a, 0xa8, 0x1e, 0x18, 0x90, 0x16, 0x41, 0xd4, 0x34, 0x05, 0x99, 0xea, 0x9e, + 0x81, 0x14, 0xd5, 0x41, 0xa6, 0xea, 0x96, 0xcf, 0x06, 0x95, 0x4b, 0x9a, 0xd6, 0x20, 0xa3, 0x75, + 0x32, 0x28, 0x3d, 0x0e, 0x93, 0xd6, 0xde, 0x0d, 0x8d, 0x86, 0xa4, 0x62, 0x3b, 0x68, 0x5f, 0x7f, + 0xa9, 0xfc, 0x30, 0xf1, 0xef, 0x04, 0x1e, 0x20, 0x01, 0xb9, 0x4d, 0xc4, 0xd2, 0x63, 0x20, 0x6a, + 0x6e, 0x47, 0x75, 0x6c, 0x92, 0x93, 0x5d, 0x5b, 0xd5, 0x50, 0xf9, 0x11, 0xaa, 0x4a, 0xe5, 0x9b, + 0x5c, 0x8c, 0xb7, 0x84, 0x7b, 0x4b, 0xdf, 0xf7, 0x38, 0xe3, 0xa3, 0x74, 0x4b, 0x10, 0x19, 0x63, + 0x9b, 0x07, 0x11, 0xbb, 0x22, 0xf4, 0xe2, 0x79, 0xa2, 0x56, 0xb2, 0x3b, 0x76, 0xf0, 0xbd, 0x0f, + 0xc1, 0x38, 0xd6, 0xec, 0xbf, 0xf4, 0x31, 0xda, 0x90, 0xd9, 0x9d, 0xc0, 0x1b, 0x2f, 0xc2, 0x0c, + 0x56, 0xea, 0x22, 0x4f, 0x6d, 0xa9, 0x9e, 0x1a, 0xd0, 0xfe, 0x04, 0xd1, 0xc6, 0x7e, 0xdf, 0x60, + 0x83, 0x21, 0x3b, 0x9d, 0xde, 0xde, 0xa1, 0x1f, 0x59, 0x4f, 0x52, 0x3b, 0xb1, 0x8c, 0xc7, 0xd6, + 0x07, 0xd6, 0x74, 0x57, 0x6b, 0x50, 0x0c, 0x06, 0xbe, 0x94, 0x07, 0x1a, 0xfa, 0xa2, 0x80, 0xbb, + 0xa0, 0xe5, 0xad, 0x15, 0xdc, 0xbf, 0xbc, 0xd8, 0x10, 0x53, 0xb8, 0x8f, 0x5a, 0x5f, 0xdb, 0x69, + 0x28, 0xf2, 0xee, 0xe6, 0xce, 0xda, 0x46, 0x43, 0x4c, 0x07, 0x1b, 0xf6, 0xef, 0xa5, 0xa0, 0x14, + 0x3e, 0x7b, 0x49, 0x3f, 0x01, 0xa7, 0xf9, 0x45, 0x89, 0x8b, 0x3c, 0xe5, 0x96, 0xee, 0x90, 0xbd, + 0xd8, 0x55, 0x69, 0x5d, 0xf4, 0xa3, 0x61, 0x9a, 0x69, 0x35, 0x91, 0xf7, 0x9c, 0xee, 0xe0, 0x9d, + 0xd6, 0x55, 0x3d, 0x69, 0x1d, 0xce, 0x9a, 0x96, 0xe2, 0x7a, 0xaa, 0xd9, 0x52, 0x9d, 0x96, 0xd2, + 0xbf, 0xa2, 0x52, 0x54, 0x4d, 0x43, 0xae, 0x6b, 0xd1, 0x1a, 0xe8, 0xb3, 0x7c, 0xcc, 0xb4, 0x9a, + 0x4c, 0xb9, 0x5f, 0x1c, 0xea, 0x4c, 0x35, 0x12, 0xb9, 0xe9, 0xe3, 0x22, 0xf7, 0x01, 0xc8, 0x77, + 0x55, 0x5b, 0x41, 0xa6, 0xe7, 0x1c, 0x92, 0x8e, 0x3b, 0x27, 0xe7, 0xba, 0xaa, 0xdd, 0xc0, 0xcf, + 0x1f, 0xce, 0xc1, 0xe7, 0x5f, 0xd2, 0x50, 0x0c, 0x76, 0xdd, 0xf8, 0x10, 0xa3, 0x91, 0x02, 0x25, + 0x90, 0x14, 0xf6, 0xd0, 0x7d, 0x7b, 0xf4, 0x85, 0x65, 0x5c, 0xb9, 0x6a, 0xa3, 0xb4, 0x17, 0x96, + 0x29, 0x12, 0x77, 0x0d, 0x38, 0xb4, 0x10, 0xed, 0x3d, 0x72, 0x32, 0x7b, 0x92, 0x56, 0x61, 0xf4, + 0x86, 0x4b, 0xb8, 0x47, 0x09, 0xf7, 0xc3, 0xf7, 0xe7, 0x7e, 0xb6, 0x49, 0xc8, 0xf3, 0xcf, 0x36, + 0x95, 0xcd, 0x2d, 0x79, 0xa3, 0xbe, 0x2e, 0x33, 0xb8, 0x74, 0x06, 0x32, 0x86, 0x7a, 0xfb, 0x30, + 0x5c, 0xe3, 0x88, 0x28, 0xa9, 0xe3, 0xcf, 0x40, 0xe6, 0x16, 0x52, 0x0f, 0xc2, 0x95, 0x85, 0x88, + 0x3e, 0xc0, 0xd0, 0x5f, 0x84, 0x2c, 0xf1, 0x97, 0x04, 0xc0, 0x3c, 0x26, 0x8e, 0x48, 0x39, 0xc8, + 0x2c, 0x6f, 0xc9, 0x38, 0xfc, 0x45, 0x28, 0x52, 0xa9, 0xb2, 0xbd, 0xd6, 0x58, 0x6e, 0x88, 0xa9, + 0xea, 0x25, 0x18, 0xa5, 0x4e, 0xc0, 0x5b, 0xc3, 0x77, 0x83, 0x38, 0xc2, 0x1e, 0x19, 0x87, 0xc0, + 0x47, 0x77, 0x37, 0x96, 0x1a, 0xb2, 0x98, 0x0a, 0x2e, 0xaf, 0x0b, 0xc5, 0x60, 0xc3, 0xfd, 0xe1, + 0xc4, 0xd4, 0x77, 0x05, 0x28, 0x04, 0x1a, 0x68, 0xdc, 0xf9, 0xa8, 0x86, 0x61, 0xdd, 0x52, 0x54, + 0x43, 0x57, 0x5d, 0x16, 0x14, 0x40, 0x44, 0x75, 0x2c, 0x49, 0xba, 0x68, 0x1f, 0x8a, 0xf1, 0xaf, + 0x09, 0x20, 0x46, 0x7b, 0xd7, 0x88, 0x81, 0xc2, 0x47, 0x6a, 0xe0, 0xab, 0x02, 0x94, 0xc2, 0x0d, + 0x6b, 0xc4, 0xbc, 0x73, 0x1f, 0xa9, 0x79, 0x6f, 0xa5, 0x60, 0x3c, 0xd4, 0xa6, 0x26, 0xb5, 0xee, + 0xf3, 0x30, 0xa9, 0xb7, 0x50, 0xd7, 0xb6, 0x3c, 0x64, 0x6a, 0x87, 0x8a, 0x81, 0x6e, 0x22, 0xa3, + 0x5c, 0x25, 0x89, 0x62, 0xf1, 0xfe, 0x8d, 0xf0, 0xc2, 0x5a, 0x1f, 0xb7, 0x8e, 0x61, 0xb5, 0xa9, + 0xb5, 0x95, 0xc6, 0xc6, 0xf6, 0xd6, 0x4e, 0x63, 0x73, 0xf9, 0x05, 0x65, 0x77, 0xf3, 0xa7, 0x36, + 0xb7, 0x9e, 0xdb, 0x94, 0x45, 0x3d, 0xa2, 0xf6, 0x01, 0x6e, 0xf5, 0x6d, 0x10, 0xa3, 0x46, 0x49, + 0xa7, 0x61, 0x98, 0x59, 0xe2, 0x88, 0x34, 0x05, 0x13, 0x9b, 0x5b, 0x4a, 0x73, 0x6d, 0xa5, 0xa1, + 0x34, 0xae, 0x5f, 0x6f, 0x2c, 0xef, 0x34, 0xe9, 0xd5, 0x86, 0xaf, 0xbd, 0x13, 0xde, 0xd4, 0xaf, + 0xa4, 0x61, 0x6a, 0x88, 0x25, 0x52, 0x9d, 0x1d, 0x4a, 0xe8, 0x39, 0xe9, 0xc9, 0x24, 0xd6, 0x2f, + 0xe0, 0xae, 0x60, 0x5b, 0x75, 0x3c, 0x76, 0x86, 0x79, 0x0c, 0xb0, 0x97, 0x4c, 0x4f, 0xdf, 0xd7, + 0x91, 0xc3, 0x6e, 0x82, 0xe8, 0x49, 0x65, 0xa2, 0x2f, 0xa7, 0x97, 0x41, 0x9f, 0x00, 0xc9, 0xb6, + 0x5c, 0xdd, 0xd3, 0x6f, 0x22, 0x45, 0x37, 0xf9, 0xb5, 0x11, 0x3e, 0xb9, 0x64, 0x64, 0x91, 0x8f, + 0xac, 0x99, 0x9e, 0xaf, 0x6d, 0xa2, 0xb6, 0x1a, 0xd1, 0xc6, 0x09, 0x3c, 0x2d, 0x8b, 0x7c, 0xc4, + 0xd7, 0x3e, 0x07, 0xc5, 0x96, 0xd5, 0xc3, 0xed, 0x1c, 0xd5, 0xc3, 0xf5, 0x42, 0x90, 0x0b, 0x54, + 0xe6, 0xab, 0xb0, 0x46, 0xbd, 0x7f, 0x5f, 0x55, 0x94, 0x0b, 0x54, 0x46, 0x55, 0x1e, 0x85, 0x09, + 0xb5, 0xdd, 0x76, 0x30, 0x39, 0x27, 0xa2, 0x47, 0x8f, 0x92, 0x2f, 0x26, 0x8a, 0xb3, 0xcf, 0x42, + 0x8e, 0xfb, 0x01, 0x97, 0x64, 0xec, 0x09, 0xc5, 0xa6, 0xe7, 0xe9, 0xd4, 0x7c, 0x5e, 0xce, 0x99, + 0x7c, 0xf0, 0x1c, 0x14, 0x75, 0x57, 0xe9, 0x5f, 0xbf, 0xa7, 0xe6, 0x52, 0xf3, 0x39, 0xb9, 0xa0, + 0xbb, 0xfe, 0xd5, 0x65, 0xf5, 0xf5, 0x14, 0x94, 0xc2, 0x9f, 0x0f, 0xa4, 0x15, 0xc8, 0x19, 0x96, + 0xa6, 0x92, 0xd0, 0xa2, 0xdf, 0xae, 0xe6, 0x63, 0xbe, 0x38, 0x2c, 0xac, 0x33, 0x7d, 0xd9, 0x47, + 0xce, 0xfe, 0x93, 0x00, 0x39, 0x2e, 0x96, 0x66, 0x20, 0x63, 0xab, 0x5e, 0x87, 0xd0, 0x65, 0x97, + 0x52, 0xa2, 0x20, 0x93, 0x67, 0x2c, 0x77, 0x6d, 0xd5, 0x24, 0x21, 0xc0, 0xe4, 0xf8, 0x19, 0xaf, + 0xab, 0x81, 0xd4, 0x16, 0x39, 0xd7, 0x58, 0xdd, 0x2e, 0x32, 0x3d, 0x97, 0xaf, 0x2b, 0x93, 0x2f, + 0x33, 0xb1, 0xf4, 0x04, 0x4c, 0x7a, 0x8e, 0xaa, 0x1b, 0x21, 0xdd, 0x0c, 0xd1, 0x15, 0xf9, 0x80, + 0xaf, 0x5c, 0x83, 0x33, 0x9c, 0xb7, 0x85, 0x3c, 0x55, 0xeb, 0xa0, 0x56, 0x1f, 0x34, 0x4a, 0xee, + 0x2f, 0x4e, 0x33, 0x85, 0x15, 0x36, 0xce, 0xb1, 0xd5, 0x1f, 0x08, 0x30, 0xc9, 0x4f, 0x62, 0x2d, + 0xdf, 0x59, 0x1b, 0x00, 0xaa, 0x69, 0x5a, 0x5e, 0xd0, 0x5d, 0x83, 0xa1, 0x3c, 0x80, 0x5b, 0xa8, + 0xfb, 0x20, 0x39, 0x40, 0x30, 0xdb, 0x05, 0xe8, 0x8f, 0x1c, 0xeb, 0xb6, 0xb3, 0x50, 0x60, 0xdf, + 0x86, 0xc8, 0x07, 0x46, 0x7a, 0x76, 0x07, 0x2a, 0xc2, 0x47, 0x36, 0x69, 0x1a, 0xb2, 0x7b, 0xa8, + 0xad, 0x9b, 0xec, 0xc6, 0x97, 0x3e, 0xf0, 0x1b, 0x96, 0x8c, 0x7f, 0xc3, 0xb2, 0xf4, 0x39, 0x98, + 0xd2, 0xac, 0x6e, 0xd4, 0xdc, 0x25, 0x31, 0x72, 0x7f, 0xe0, 0x7e, 0x5a, 0x78, 0x11, 0xfa, 0x2d, + 0xe6, 0x7b, 0x82, 0xf0, 0xd5, 0x54, 0x7a, 0x75, 0x7b, 0xe9, 0x1b, 0xa9, 0xd9, 0x55, 0x0a, 0xdd, + 0xe6, 0x33, 0x95, 0xd1, 0xbe, 0x81, 0x34, 0x6c, 0x3d, 0x7c, 0xed, 0x09, 0x78, 0xb2, 0xad, 0x7b, + 0x9d, 0xde, 0xde, 0x82, 0x66, 0x75, 0x17, 0xdb, 0x56, 0xdb, 0xea, 0x7f, 0x53, 0xc5, 0x4f, 0xe4, + 0x81, 0xfc, 0xc7, 0xbe, 0xab, 0xe6, 0x7d, 0xe9, 0x6c, 0xec, 0x47, 0xd8, 0xda, 0x26, 0x4c, 0x31, + 0x65, 0x85, 0x7c, 0xd8, 0xa1, 0xc7, 0x13, 0xe9, 0xbe, 0x97, 0x63, 0xe5, 0x6f, 0xbe, 0x4d, 0xca, + 0xb5, 0x3c, 0xc9, 0xa0, 0x78, 0x8c, 0x9e, 0x60, 0x6a, 0x32, 0x9c, 0x0a, 0xf1, 0xd1, 0xad, 0x89, + 0x9c, 0x18, 0xc6, 0xef, 0x31, 0xc6, 0xa9, 0x00, 0x63, 0x93, 0x41, 0x6b, 0xcb, 0x30, 0x7e, 0x12, + 0xae, 0x7f, 0x60, 0x5c, 0x45, 0x14, 0x24, 0x59, 0x85, 0x09, 0x42, 0xa2, 0xf5, 0x5c, 0xcf, 0xea, + 0x92, 0xbc, 0x77, 0x7f, 0x9a, 0x7f, 0x7c, 0x9b, 0xee, 0x95, 0x12, 0x86, 0x2d, 0xfb, 0xa8, 0x5a, + 0x0d, 0xc8, 0xb7, 0xac, 0x16, 0xd2, 0x8c, 0x18, 0x86, 0x37, 0x99, 0x21, 0xbe, 0x7e, 0xed, 0xb3, + 0x30, 0x8d, 0xff, 0x27, 0x69, 0x29, 0x68, 0x49, 0xfc, 0x4d, 0x5a, 0xf9, 0x07, 0x2f, 0xd3, 0xed, + 0x38, 0xe5, 0x13, 0x04, 0x6c, 0x0a, 0xac, 0x62, 0x1b, 0x79, 0x1e, 0x72, 0x5c, 0x45, 0x35, 0x86, + 0x99, 0x17, 0xb8, 0x8a, 0x28, 0x7f, 0xe9, 0x9d, 0xf0, 0x2a, 0xae, 0x52, 0x64, 0xdd, 0x30, 0x6a, + 0xbb, 0x70, 0x7a, 0x48, 0x54, 0x24, 0xe0, 0x7c, 0x85, 0x71, 0x4e, 0x0f, 0x44, 0x06, 0xa6, 0xdd, + 0x06, 0x2e, 0xf7, 0xd7, 0x32, 0x01, 0xe7, 0xef, 0x31, 0x4e, 0x89, 0x61, 0xf9, 0x92, 0x62, 0xc6, + 0x67, 0x61, 0xf2, 0x26, 0x72, 0xf6, 0x2c, 0x97, 0x5d, 0xff, 0x24, 0xa0, 0x7b, 0x95, 0xd1, 0x4d, + 0x30, 0x20, 0xb9, 0x0f, 0xc2, 0x5c, 0x57, 0x21, 0xb7, 0xaf, 0x6a, 0x28, 0x01, 0xc5, 0x97, 0x19, + 0xc5, 0x18, 0xd6, 0xc7, 0xd0, 0x3a, 0x14, 0xdb, 0x16, 0xab, 0x4c, 0xf1, 0xf0, 0xd7, 0x18, 0xbc, + 0xc0, 0x31, 0x8c, 0xc2, 0xb6, 0xec, 0x9e, 0x81, 0xcb, 0x56, 0x3c, 0xc5, 0xef, 0x73, 0x0a, 0x8e, + 0x61, 0x14, 0x27, 0x70, 0xeb, 0x1f, 0x70, 0x0a, 0x37, 0xe0, 0xcf, 0x67, 0xa0, 0x60, 0x99, 0xc6, + 0xa1, 0x65, 0x26, 0x31, 0xe2, 0x2b, 0x8c, 0x01, 0x18, 0x04, 0x13, 0x5c, 0x83, 0x7c, 0xd2, 0x85, + 0xf8, 0xa3, 0x77, 0xf8, 0xf6, 0xe0, 0x2b, 0xb0, 0x0a, 0x13, 0x3c, 0x41, 0xe9, 0x96, 0x99, 0x80, + 0xe2, 0x6b, 0x8c, 0xa2, 0x14, 0x80, 0xb1, 0x69, 0x78, 0xc8, 0xf5, 0xda, 0x28, 0x09, 0xc9, 0xeb, + 0x7c, 0x1a, 0x0c, 0xc2, 0x5c, 0xb9, 0x87, 0x4c, 0xad, 0x93, 0x8c, 0xe1, 0xeb, 0xdc, 0x95, 0x1c, + 0x83, 0x29, 0x96, 0x61, 0xbc, 0xab, 0x3a, 0x6e, 0x47, 0x35, 0x12, 0x2d, 0xc7, 0x1f, 0x33, 0x8e, + 0xa2, 0x0f, 0x62, 0x1e, 0xe9, 0x99, 0x27, 0xa1, 0xf9, 0x06, 0xf7, 0x48, 0x00, 0xc6, 0xb6, 0x9e, + 0xeb, 0x91, 0xbb, 0xb2, 0x93, 0xb0, 0xfd, 0x09, 0xdf, 0x7a, 0x14, 0xbb, 0x11, 0x64, 0xbc, 0x06, + 0x79, 0x57, 0xbf, 0x9d, 0x88, 0xe6, 0x4f, 0xf9, 0x4a, 0x13, 0x00, 0x06, 0xbf, 0x00, 0x67, 0x86, + 0x96, 0x89, 0x04, 0x64, 0x7f, 0xc6, 0xc8, 0x66, 0x86, 0x94, 0x0a, 0x96, 0x12, 0x4e, 0x4a, 0xf9, + 0xe7, 0x3c, 0x25, 0xa0, 0x08, 0xd7, 0x36, 0x3e, 0x2b, 0xb8, 0xea, 0xfe, 0xc9, 0xbc, 0xf6, 0x17, + 0xdc, 0x6b, 0x14, 0x1b, 0xf2, 0xda, 0x0e, 0xcc, 0x30, 0xc6, 0x93, 0xad, 0xeb, 0x1b, 0x3c, 0xb1, + 0x52, 0xf4, 0x6e, 0x78, 0x75, 0x3f, 0x07, 0xb3, 0xbe, 0x3b, 0x79, 0x53, 0xea, 0x2a, 0x5d, 0xd5, + 0x4e, 0xc0, 0xfc, 0x4d, 0xc6, 0xcc, 0x33, 0xbe, 0xdf, 0xd5, 0xba, 0x1b, 0xaa, 0x8d, 0xc9, 0x9f, + 0x87, 0x32, 0x27, 0xef, 0x99, 0x0e, 0xd2, 0xac, 0xb6, 0xa9, 0xdf, 0x46, 0xad, 0x04, 0xd4, 0x7f, + 0x19, 0x59, 0xaa, 0xdd, 0x00, 0x1c, 0x33, 0xaf, 0x81, 0xe8, 0xf7, 0x2a, 0x8a, 0xde, 0xb5, 0x2d, + 0xc7, 0x8b, 0x61, 0xfc, 0x2b, 0xbe, 0x52, 0x3e, 0x6e, 0x8d, 0xc0, 0x6a, 0x0d, 0x28, 0x91, 0xc7, + 0xa4, 0x21, 0xf9, 0xd7, 0x8c, 0x68, 0xbc, 0x8f, 0x62, 0x89, 0x43, 0xb3, 0xba, 0xb6, 0xea, 0x24, + 0xc9, 0x7f, 0x7f, 0xc3, 0x13, 0x07, 0x83, 0xb0, 0xc4, 0xe1, 0x1d, 0xda, 0x08, 0x57, 0xfb, 0x04, + 0x0c, 0xdf, 0xe2, 0x89, 0x83, 0x63, 0x18, 0x05, 0x6f, 0x18, 0x12, 0x50, 0xfc, 0x2d, 0xa7, 0xe0, + 0x18, 0x4c, 0xf1, 0x99, 0x7e, 0xa1, 0x75, 0x50, 0x5b, 0x77, 0x3d, 0x87, 0xb6, 0xc2, 0xf7, 0xa7, + 0xfa, 0xf6, 0x3b, 0xe1, 0x26, 0x4c, 0x0e, 0x40, 0x71, 0x26, 0x62, 0x57, 0xa8, 0xe4, 0xa4, 0x14, + 0x6f, 0xd8, 0x77, 0x78, 0x26, 0x0a, 0xc0, 0xb0, 0x6d, 0x81, 0x0e, 0x11, 0xbb, 0x5d, 0xc3, 0xe7, + 0x83, 0x04, 0x74, 0xdf, 0x8d, 0x18, 0xd7, 0xe4, 0x58, 0xcc, 0x19, 0xe8, 0x7f, 0x7a, 0xe6, 0x01, + 0x3a, 0x4c, 0x14, 0x9d, 0x7f, 0x17, 0xe9, 0x7f, 0x76, 0x29, 0x92, 0xe6, 0x90, 0x89, 0x48, 0x3f, + 0x25, 0xc5, 0xfd, 0x0a, 0xa8, 0xfc, 0x73, 0xf7, 0xd8, 0x7c, 0xc3, 0xed, 0x54, 0x6d, 0x1d, 0x07, + 0x79, 0xb8, 0xe9, 0x89, 0x27, 0x7b, 0xf9, 0x9e, 0x1f, 0xe7, 0xa1, 0x9e, 0xa7, 0x76, 0x1d, 0xc6, + 0x43, 0x0d, 0x4f, 0x3c, 0xd5, 0xcf, 0x33, 0xaa, 0x62, 0xb0, 0xdf, 0xa9, 0x5d, 0x82, 0x0c, 0x6e, + 0x5e, 0xe2, 0xe1, 0xbf, 0xc0, 0xe0, 0x44, 0xbd, 0xf6, 0x29, 0xc8, 0xf1, 0xa6, 0x25, 0x1e, 0xfa, + 0x8b, 0x0c, 0xea, 0x43, 0x30, 0x9c, 0x37, 0x2c, 0xf1, 0xf0, 0x5f, 0xe2, 0x70, 0x0e, 0xc1, 0xf0, + 0xe4, 0x2e, 0xfc, 0xfb, 0x5f, 0xce, 0xb0, 0xa2, 0xc3, 0x7d, 0x77, 0x0d, 0xc6, 0x58, 0xa7, 0x12, + 0x8f, 0xfe, 0x02, 0x7b, 0x39, 0x47, 0xd4, 0x9e, 0x82, 0x6c, 0x42, 0x87, 0xff, 0x2a, 0x83, 0x52, + 0xfd, 0xda, 0x32, 0x14, 0x02, 0xdd, 0x49, 0x3c, 0xfc, 0xd7, 0x18, 0x3c, 0x88, 0xc2, 0xa6, 0xb3, + 0xee, 0x24, 0x9e, 0xe0, 0xd7, 0xb9, 0xe9, 0x0c, 0x81, 0xdd, 0xc6, 0x1b, 0x93, 0x78, 0xf4, 0x6f, + 0x70, 0xaf, 0x73, 0x48, 0xed, 0x19, 0xc8, 0xfb, 0xc5, 0x26, 0x1e, 0xff, 0x9b, 0x0c, 0xdf, 0xc7, + 0x60, 0x0f, 0x04, 0x8a, 0x5d, 0x3c, 0xc5, 0x6f, 0x71, 0x0f, 0x04, 0x50, 0x78, 0x1b, 0x45, 0x1b, + 0x98, 0x78, 0xa6, 0xdf, 0xe6, 0xdb, 0x28, 0xd2, 0xbf, 0xe0, 0xd5, 0x24, 0x39, 0x3f, 0x9e, 0xe2, + 0x77, 0xf8, 0x6a, 0x12, 0x7d, 0x6c, 0x46, 0xb4, 0x23, 0x88, 0xe7, 0xf8, 0x5d, 0x6e, 0x46, 0xa4, + 0x21, 0xa8, 0x6d, 0x83, 0x34, 0xd8, 0x0d, 0xc4, 0xf3, 0x7d, 0x91, 0xf1, 0x4d, 0x0e, 0x34, 0x03, + 0xb5, 0xe7, 0x60, 0x66, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0xa5, 0x7b, 0x91, 0xb3, 0x5b, 0xb0, 0x11, + 0xa8, 0xed, 0xf4, 0x4b, 0x4a, 0xb0, 0x0b, 0x88, 0xa7, 0x7d, 0xe5, 0x5e, 0x38, 0x71, 0x07, 0x9b, + 0x80, 0x5a, 0x1d, 0xa0, 0x5f, 0x80, 0xe3, 0xb9, 0x5e, 0x65, 0x5c, 0x01, 0x10, 0xde, 0x1a, 0xac, + 0xfe, 0xc6, 0xe3, 0xbf, 0xcc, 0xb7, 0x06, 0x43, 0xe0, 0xad, 0xc1, 0x4b, 0x6f, 0x3c, 0xfa, 0x35, + 0xbe, 0x35, 0x38, 0x04, 0x47, 0x76, 0xa0, 0xba, 0xc5, 0x33, 0x7c, 0x85, 0x47, 0x76, 0x00, 0x55, + 0xdb, 0x84, 0xc9, 0x81, 0x82, 0x18, 0x4f, 0xf5, 0x55, 0x46, 0x25, 0x46, 0xeb, 0x61, 0xb0, 0x78, + 0xb1, 0x62, 0x18, 0xcf, 0xf6, 0x87, 0x91, 0xe2, 0xc5, 0x6a, 0x61, 0xed, 0x1a, 0xe4, 0xcc, 0x9e, + 0x61, 0xe0, 0xcd, 0x23, 0xdd, 0xff, 0x97, 0x7b, 0xe5, 0x7f, 0x7b, 0x9f, 0x79, 0x87, 0x03, 0x6a, + 0x97, 0x20, 0x8b, 0xba, 0x7b, 0xa8, 0x15, 0x87, 0xfc, 0xf7, 0xf7, 0x79, 0xc2, 0xc4, 0xda, 0xb5, + 0x67, 0x00, 0xe8, 0xd5, 0x08, 0xf9, 0xec, 0x17, 0x83, 0xfd, 0x8f, 0xf7, 0xd9, 0x6f, 0x6a, 0xfa, + 0x90, 0x3e, 0x01, 0xfd, 0x85, 0xce, 0xfd, 0x09, 0xde, 0x09, 0x13, 0x90, 0x15, 0xb9, 0x0a, 0x63, + 0x37, 0x5c, 0xcb, 0xf4, 0xd4, 0x76, 0x1c, 0xfa, 0x3f, 0x19, 0x9a, 0xeb, 0x63, 0x87, 0x75, 0x2d, + 0x07, 0x79, 0x6a, 0xdb, 0x8d, 0xc3, 0xfe, 0x17, 0xc3, 0xfa, 0x00, 0x0c, 0xd6, 0x54, 0xd7, 0x4b, + 0x32, 0xef, 0xff, 0xe6, 0x60, 0x0e, 0xc0, 0x46, 0xe3, 0xff, 0x0f, 0xd0, 0x61, 0x1c, 0xf6, 0x5d, + 0x6e, 0x34, 0xd3, 0xaf, 0x7d, 0x0a, 0xf2, 0xf8, 0x5f, 0xfa, 0x43, 0xb9, 0x18, 0xf0, 0xff, 0x30, + 0x70, 0x1f, 0x81, 0xdf, 0xec, 0x7a, 0x2d, 0x4f, 0x8f, 0x77, 0xf6, 0xff, 0xb2, 0x95, 0xe6, 0xfa, + 0xb5, 0x3a, 0x14, 0x5c, 0xaf, 0xd5, 0xea, 0xb1, 0xfe, 0x34, 0x06, 0xfe, 0x7f, 0xef, 0xfb, 0x57, + 0x16, 0x3e, 0x06, 0xaf, 0xf6, 0xad, 0x03, 0xcf, 0xb6, 0xc8, 0x67, 0x8e, 0x38, 0x86, 0x7b, 0x8c, + 0x21, 0x00, 0x59, 0x6a, 0x0c, 0xbf, 0xbe, 0x85, 0x55, 0x6b, 0xd5, 0xa2, 0x17, 0xb7, 0x2f, 0x56, + 0xe3, 0x6f, 0x60, 0xe1, 0x8d, 0x34, 0x9c, 0xd2, 0xac, 0xee, 0x9e, 0xe5, 0x2e, 0xee, 0x59, 0x5e, + 0x67, 0xb1, 0xab, 0xda, 0xec, 0x42, 0xb6, 0xd0, 0x55, 0x6d, 0xf6, 0x93, 0x5a, 0x77, 0xf6, 0x64, + 0x97, 0xb9, 0xd5, 0x9f, 0x85, 0xb1, 0x0d, 0xd5, 0xde, 0x41, 0xae, 0x27, 0x11, 0x37, 0x93, 0xdf, + 0x6e, 0xb1, 0x1b, 0xf2, 0xb9, 0x85, 0x00, 0xf1, 0x02, 0x53, 0x5b, 0x68, 0x7a, 0x4e, 0xd3, 0x73, + 0xc8, 0xaf, 0x09, 0xe4, 0x51, 0x97, 0x3c, 0xcc, 0x5e, 0x85, 0x42, 0x40, 0x2c, 0x89, 0x90, 0x3e, + 0x40, 0x87, 0xec, 0xd7, 0x5b, 0xf8, 0x5f, 0x69, 0xba, 0xff, 0xf3, 0x4a, 0x2c, 0xa3, 0x0f, 0xb5, + 0xd4, 0x15, 0xa1, 0xfa, 0x34, 0x8c, 0x5d, 0x57, 0x0f, 0xd0, 0x86, 0x6a, 0x4b, 0x17, 0x60, 0x0c, + 0x99, 0x9e, 0xa3, 0x23, 0x97, 0x19, 0x70, 0x26, 0x64, 0x00, 0x53, 0xa3, 0x6f, 0xe6, 0x9a, 0xd5, + 0x75, 0x28, 0x06, 0x07, 0x92, 0xbe, 0x1b, 0x4b, 0x2d, 0xaf, 0xc3, 0x7e, 0x6e, 0x9d, 0x97, 0xe9, + 0xc3, 0xd2, 0xca, 0x9b, 0x77, 0x2b, 0x23, 0xdf, 0xbf, 0x5b, 0x19, 0xf9, 0xe7, 0xbb, 0x95, 0x91, + 0xb7, 0xee, 0x56, 0x84, 0x77, 0xef, 0x56, 0x84, 0xf7, 0xee, 0x56, 0x84, 0x3b, 0x47, 0x15, 0xe1, + 0xeb, 0x47, 0x15, 0xe1, 0x8d, 0xa3, 0x8a, 0xf0, 0xed, 0xa3, 0x8a, 0xf0, 0xe6, 0x51, 0x45, 0xf8, + 0xfe, 0x51, 0x45, 0x78, 0xeb, 0xa8, 0x22, 0xfc, 0xe8, 0xa8, 0x32, 0xf2, 0xee, 0x51, 0x45, 0x78, + 0xef, 0xa8, 0x32, 0x72, 0xe7, 0x87, 0x95, 0x91, 0xbd, 0x51, 0xe2, 0xdb, 0x0b, 0xff, 0x1f, 0x00, + 0x00, 0xff, 0xff, 0x8e, 0xa9, 0xe9, 0xc6, 0xa7, 0x34, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1561,29 +1589,3 @@ var ( ErrInvalidLengthMap = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMap = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/both/map.proto", fileDescriptor_map_746b24fd53d0701f) } - -var fileDescriptor_map_746b24fd53d0701f = []byte{ - // 310 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0xbf, 0x4f, 0xc2, 0x40, - 0x14, 0xc7, 0xfb, 0x20, 0xd2, 0x78, 0x38, 0x98, 0x46, 0x93, 0xca, 0xf0, 0x42, 0x98, 0x58, 0x6c, - 0x13, 0x59, 0xc4, 0xc1, 0xc1, 0xa8, 0x93, 0x2c, 0xe0, 0x6e, 0xae, 0x78, 0xfc, 0x08, 0x94, 0x6b, - 0xee, 0x5e, 0x4d, 0x98, 0xe4, 0xcf, 0x71, 0x74, 0xf4, 0x4f, 0x60, 0x64, 0x74, 0xa4, 0xe7, 0xe2, - 0xc8, 0xc8, 0x68, 0xb8, 0x62, 0x52, 0x37, 0xb7, 0xf7, 0xf9, 0xde, 0xe7, 0xee, 0x7d, 0x73, 0xec, - 0xb4, 0x2f, 0xe3, 0x48, 0xea, 0x30, 0x92, 0x34, 0x0a, 0x63, 0x9e, 0x04, 0x89, 0x92, 0x24, 0xbd, - 0x6a, 0xcc, 0x93, 0x67, 0x31, 0xe0, 0xe9, 0x94, 0x74, 0xed, 0x7c, 0x38, 0xa6, 0x51, 0x1a, 0x05, - 0x7d, 0x19, 0x87, 0x43, 0x39, 0x94, 0xa1, 0x75, 0xa2, 0x74, 0x60, 0xc9, 0x82, 0x9d, 0xf2, 0xbb, - 0x8d, 0x57, 0xe6, 0x76, 0x78, 0xf2, 0x28, 0x34, 0x79, 0x6d, 0xe6, 0x6a, 0x52, 0x4f, 0x9a, 0x94, - 0x0f, 0xf5, 0x72, 0xb3, 0x7a, 0x51, 0x0f, 0x0a, 0x0f, 0x07, 0x7b, 0x2d, 0xe8, 0x91, 0xea, 0x91, - 0xba, 0x9b, 0x91, 0x9a, 0x77, 0x2b, 0xda, 0x42, 0xad, 0xcd, 0xaa, 0x85, 0xd8, 0x3b, 0x66, 0xe5, - 0x89, 0x98, 0xfb, 0x50, 0x87, 0xe6, 0x61, 0x77, 0x37, 0x7a, 0x27, 0xec, 0xe0, 0x85, 0x4f, 0x53, - 0xe1, 0x97, 0x6c, 0x96, 0xc3, 0x55, 0xe9, 0x12, 0x1a, 0xd7, 0xcc, 0xbd, 0xe7, 0x13, 0xd1, 0xe1, - 0x89, 0xd7, 0x62, 0xae, 0x98, 0x91, 0x1a, 0x0b, 0xbd, 0x2f, 0x70, 0xf6, 0xa7, 0xc0, 0x5e, 0xcb, - 0x37, 0xff, 0x9a, 0x8d, 0x07, 0x76, 0x54, 0x3c, 0xf8, 0xef, 0xee, 0x5d, 0x2a, 0x69, 0x24, 0x94, - 0x5f, 0xce, 0x53, 0x0b, 0x37, 0xb7, 0xcb, 0x0c, 0x9d, 0x55, 0x86, 0xce, 0x67, 0x86, 0xce, 0x3a, - 0x43, 0xd8, 0x64, 0x08, 0xdb, 0x0c, 0x61, 0x61, 0x10, 0xde, 0x0c, 0xc2, 0xbb, 0x41, 0xf8, 0x30, - 0x08, 0x4b, 0x83, 0xb0, 0x32, 0x08, 0x6b, 0x83, 0xf0, 0x6d, 0xd0, 0xd9, 0x18, 0x84, 0xad, 0x41, - 0x67, 0xf1, 0x85, 0x4e, 0x54, 0xb1, 0x7f, 0xdb, 0xfa, 0x09, 0x00, 0x00, 0xff, 0xff, 0x11, 0xc9, - 0x76, 0xfa, 0xb0, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/marshaler/map.pb.go b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/marshaler/map.pb.go index 064cd76bd..abbf4ad1e 100644 --- a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/marshaler/map.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/marshaler/map.pb.go @@ -3,20 +3,20 @@ package mapdefaults -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -39,7 +39,7 @@ type MapTest struct { func (m *MapTest) Reset() { *m = MapTest{} } func (*MapTest) ProtoMessage() {} func (*MapTest) Descriptor() ([]byte, []int) { - return fileDescriptor_map_65406068076b05e6, []int{0} + return fileDescriptor_7fb639ea48e3594a, []int{0} } func (m *MapTest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapTest.Unmarshal(m, b) @@ -56,8 +56,8 @@ func (m *MapTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *MapTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapTest.Merge(dst, src) +func (m *MapTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapTest.Merge(m, src) } func (m *MapTest) XXX_Size() int { return m.Size() @@ -78,7 +78,7 @@ type FakeMap struct { func (m *FakeMap) Reset() { *m = FakeMap{} } func (*FakeMap) ProtoMessage() {} func (*FakeMap) Descriptor() ([]byte, []int) { - return fileDescriptor_map_65406068076b05e6, []int{1} + return fileDescriptor_7fb639ea48e3594a, []int{1} } func (m *FakeMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FakeMap.Unmarshal(m, b) @@ -95,8 +95,8 @@ func (m *FakeMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *FakeMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMap.Merge(dst, src) +func (m *FakeMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMap.Merge(m, src) } func (m *FakeMap) XXX_Size() int { return m.Size() @@ -119,7 +119,7 @@ type FakeMapEntry struct { func (m *FakeMapEntry) Reset() { *m = FakeMapEntry{} } func (*FakeMapEntry) ProtoMessage() {} func (*FakeMapEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_map_65406068076b05e6, []int{2} + return fileDescriptor_7fb639ea48e3594a, []int{2} } func (m *FakeMapEntry) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FakeMapEntry.Unmarshal(m, b) @@ -136,8 +136,8 @@ func (m *FakeMapEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *FakeMapEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMapEntry.Merge(dst, src) +func (m *FakeMapEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMapEntry.Merge(m, src) } func (m *FakeMapEntry) XXX_Size() int { return m.Size() @@ -154,6 +154,33 @@ func init() { proto.RegisterType((*FakeMap)(nil), "mapdefaults.FakeMap") proto.RegisterType((*FakeMapEntry)(nil), "mapdefaults.FakeMapEntry") } + +func init() { proto.RegisterFile("combos/marshaler/map.proto", fileDescriptor_7fb639ea48e3594a) } + +var fileDescriptor_7fb639ea48e3594a = []byte{ + // 315 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x3f, 0x4f, 0x3a, 0x31, + 0x18, 0xc7, 0xfb, 0x40, 0x7e, 0x5c, 0x7e, 0xc5, 0xc1, 0x5c, 0x1c, 0x4e, 0x86, 0x27, 0x84, 0x89, + 0xc5, 0xbb, 0x44, 0x16, 0x71, 0x70, 0x30, 0xea, 0x24, 0x0b, 0xb8, 0x9b, 0x1e, 0x96, 0x3f, 0x81, + 0xa3, 0x97, 0xb6, 0x67, 0xc2, 0x24, 0x2f, 0xc7, 0xd1, 0xd1, 0x97, 0xc0, 0xc8, 0xe8, 0x48, 0xeb, + 0xe2, 0xc8, 0xc8, 0x68, 0xe8, 0x9d, 0xc9, 0xb9, 0xb9, 0x3d, 0x9f, 0x6f, 0x3f, 0xed, 0xf3, 0x4d, + 0x69, 0x63, 0x28, 0x92, 0x58, 0xa8, 0x28, 0x61, 0x52, 0x4d, 0xd8, 0x9c, 0xcb, 0x28, 0x61, 0x69, + 0x98, 0x4a, 0xa1, 0x85, 0x5f, 0x4f, 0x58, 0xfa, 0xc4, 0x47, 0x2c, 0x9b, 0x6b, 0xd5, 0x38, 0x1b, + 0x4f, 0xf5, 0x24, 0x8b, 0xc3, 0xa1, 0x48, 0xa2, 0xb1, 0x18, 0x8b, 0xc8, 0x39, 0x71, 0x36, 0x72, + 0xe4, 0xc0, 0x4d, 0xf9, 0xdd, 0xd6, 0x0b, 0xf5, 0x7a, 0x2c, 0x7d, 0xe0, 0x4a, 0xfb, 0x5d, 0xea, + 0x29, 0x2d, 0x1f, 0x95, 0x96, 0x01, 0x34, 0xab, 0xed, 0xfa, 0x79, 0x33, 0x2c, 0x3d, 0x1c, 0x16, + 0x5a, 0x38, 0xd0, 0x72, 0xa0, 0xe5, 0xed, 0x42, 0xcb, 0x65, 0xbf, 0xa6, 0x1c, 0x34, 0xba, 0xb4, + 0x5e, 0x8a, 0xfd, 0x63, 0x5a, 0x9d, 0xf1, 0x65, 0x00, 0x4d, 0x68, 0xff, 0xef, 0x1f, 0x46, 0xff, + 0x84, 0xfe, 0x7b, 0x66, 0xf3, 0x8c, 0x07, 0x15, 0x97, 0xe5, 0x70, 0x59, 0xb9, 0x80, 0xd6, 0x15, + 0xf5, 0xee, 0xd8, 0x8c, 0xf7, 0x58, 0xea, 0x77, 0xa8, 0xc7, 0x17, 0x5a, 0x4e, 0xb9, 0x2a, 0x0a, + 0x9c, 0xfe, 0x2a, 0x50, 0x68, 0xf9, 0xe6, 0x1f, 0xb3, 0x75, 0x4f, 0x8f, 0xca, 0x07, 0x7f, 0xdd, + 0x7d, 0x48, 0x85, 0x9e, 0x70, 0x19, 0x54, 0xf3, 0xd4, 0xc1, 0xf5, 0xcd, 0xda, 0x20, 0xd9, 0x18, + 0x24, 0x1f, 0x06, 0xc9, 0xd6, 0x20, 0xec, 0x0c, 0xc2, 0xde, 0x20, 0xac, 0x2c, 0xc2, 0xab, 0x45, + 0x78, 0xb3, 0x08, 0xef, 0x16, 0x61, 0x6d, 0x11, 0x36, 0x16, 0xc9, 0xd6, 0x22, 0x7c, 0x59, 0x24, + 0x3b, 0x8b, 0xb0, 0xb7, 0x48, 0x56, 0x9f, 0x48, 0xe2, 0x9a, 0xfb, 0xdb, 0xce, 0x77, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xde, 0x50, 0x18, 0x62, 0xb5, 0x01, 0x00, 0x00, +} + func (this *MapTest) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return MapDescription() } @@ -166,256 +193,258 @@ func (this *FakeMapEntry) Description() (desc *github_com_gogo_protobuf_protoc_g func MapDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3977 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xe3, 0xd6, - 0x75, 0x16, 0xf8, 0x23, 0x91, 0x87, 0x14, 0x05, 0x41, 0xf2, 0x2e, 0x57, 0x8e, 0xb9, 0x5a, 0xda, - 0x8e, 0x65, 0xbb, 0x91, 0x32, 0xbb, 0xde, 0xf5, 0x2e, 0xb7, 0xb1, 0x4b, 0x49, 0x5c, 0x45, 0xae, - 0x7e, 0x18, 0x50, 0x8a, 0x7f, 0x32, 0x1d, 0x0c, 0x04, 0x5e, 0x52, 0x58, 0x81, 0x00, 0x02, 0x80, - 0xbb, 0xd6, 0x4e, 0x67, 0xba, 0x1d, 0xf7, 0x67, 0x32, 0x9d, 0xfe, 0x77, 0xa6, 0x89, 0xeb, 0xb8, - 0x4d, 0x3a, 0x8d, 0xd3, 0xf4, 0x2f, 0x69, 0x9a, 0x34, 0x49, 0x5f, 0xfa, 0x92, 0xd6, 0x4f, 0x9d, - 0xe4, 0xad, 0x0f, 0x7d, 0xf0, 0x2a, 0x9e, 0x69, 0xda, 0xba, 0x8d, 0xdb, 0xee, 0x83, 0x67, 0xf6, - 0x25, 0x73, 0xff, 0x40, 0x00, 0xa4, 0x16, 0x50, 0x66, 0xec, 0x3c, 0x49, 0x38, 0xf7, 0x7c, 0x1f, - 0xce, 0x3d, 0xf7, 0xdc, 0x73, 0xce, 0xbd, 0x04, 0xfc, 0xe8, 0x0a, 0xcc, 0x77, 0x2d, 0xab, 0x6b, - 0xa0, 0x25, 0xdb, 0xb1, 0x3c, 0x6b, 0xaf, 0xdf, 0x59, 0x6a, 0x23, 0x57, 0x73, 0x74, 0xdb, 0xb3, - 0x9c, 0x45, 0x22, 0x93, 0xa6, 0xa8, 0xc6, 0x22, 0xd7, 0xa8, 0x6e, 0xc2, 0xf4, 0x35, 0xdd, 0x40, - 0xab, 0xbe, 0x62, 0x0b, 0x79, 0xd2, 0x65, 0xc8, 0x74, 0x74, 0x03, 0x95, 0x85, 0xf9, 0xf4, 0x42, - 0xe1, 0xfc, 0x23, 0x8b, 0x11, 0xd0, 0x62, 0x18, 0xd1, 0xc4, 0x62, 0x99, 0x20, 0xaa, 0x6f, 0x67, - 0x60, 0x66, 0xc4, 0xa8, 0x24, 0x41, 0xc6, 0x54, 0x7b, 0x98, 0x51, 0x58, 0xc8, 0xcb, 0xe4, 0x7f, - 0xa9, 0x0c, 0x13, 0xb6, 0xaa, 0x1d, 0xa8, 0x5d, 0x54, 0x4e, 0x11, 0x31, 0x7f, 0x94, 0x2a, 0x00, - 0x6d, 0x64, 0x23, 0xb3, 0x8d, 0x4c, 0xed, 0xb0, 0x9c, 0x9e, 0x4f, 0x2f, 0xe4, 0xe5, 0x80, 0x44, - 0x7a, 0x12, 0xa6, 0xed, 0xfe, 0x9e, 0xa1, 0x6b, 0x4a, 0x40, 0x0d, 0xe6, 0xd3, 0x0b, 0x59, 0x59, - 0xa4, 0x03, 0xab, 0x03, 0xe5, 0xc7, 0x60, 0xea, 0x26, 0x52, 0x0f, 0x82, 0xaa, 0x05, 0xa2, 0x5a, - 0xc2, 0xe2, 0x80, 0xe2, 0x0a, 0x14, 0x7b, 0xc8, 0x75, 0xd5, 0x2e, 0x52, 0xbc, 0x43, 0x1b, 0x95, - 0x33, 0x64, 0xf6, 0xf3, 0x43, 0xb3, 0x8f, 0xce, 0xbc, 0xc0, 0x50, 0x3b, 0x87, 0x36, 0x92, 0xea, - 0x90, 0x47, 0x66, 0xbf, 0x47, 0x19, 0xb2, 0xc7, 0xf8, 0xaf, 0x61, 0xf6, 0x7b, 0x51, 0x96, 0x1c, - 0x86, 0x31, 0x8a, 0x09, 0x17, 0x39, 0x37, 0x74, 0x0d, 0x95, 0xc7, 0x09, 0xc1, 0x63, 0x43, 0x04, - 0x2d, 0x3a, 0x1e, 0xe5, 0xe0, 0x38, 0x69, 0x05, 0xf2, 0xe8, 0x65, 0x0f, 0x99, 0xae, 0x6e, 0x99, - 0xe5, 0x09, 0x42, 0xf2, 0xe8, 0x88, 0x55, 0x44, 0x46, 0x3b, 0x4a, 0x31, 0xc0, 0x49, 0x97, 0x60, - 0xc2, 0xb2, 0x3d, 0xdd, 0x32, 0xdd, 0x72, 0x6e, 0x5e, 0x58, 0x28, 0x9c, 0xff, 0xd0, 0xc8, 0x40, - 0xd8, 0xa6, 0x3a, 0x32, 0x57, 0x96, 0xd6, 0x41, 0x74, 0xad, 0xbe, 0xa3, 0x21, 0x45, 0xb3, 0xda, - 0x48, 0xd1, 0xcd, 0x8e, 0x55, 0xce, 0x13, 0x82, 0xb3, 0xc3, 0x13, 0x21, 0x8a, 0x2b, 0x56, 0x1b, - 0xad, 0x9b, 0x1d, 0x4b, 0x2e, 0xb9, 0xa1, 0x67, 0xe9, 0x14, 0x8c, 0xbb, 0x87, 0xa6, 0xa7, 0xbe, - 0x5c, 0x2e, 0x92, 0x08, 0x61, 0x4f, 0xd5, 0x6f, 0x8f, 0xc3, 0x54, 0x92, 0x10, 0xbb, 0x0a, 0xd9, - 0x0e, 0x9e, 0x65, 0x39, 0x75, 0x12, 0x1f, 0x50, 0x4c, 0xd8, 0x89, 0xe3, 0x3f, 0xa1, 0x13, 0xeb, - 0x50, 0x30, 0x91, 0xeb, 0xa1, 0x36, 0x8d, 0x88, 0x74, 0xc2, 0x98, 0x02, 0x0a, 0x1a, 0x0e, 0xa9, - 0xcc, 0x4f, 0x14, 0x52, 0x2f, 0xc0, 0x94, 0x6f, 0x92, 0xe2, 0xa8, 0x66, 0x97, 0xc7, 0xe6, 0x52, - 0x9c, 0x25, 0x8b, 0x0d, 0x8e, 0x93, 0x31, 0x4c, 0x2e, 0xa1, 0xd0, 0xb3, 0xb4, 0x0a, 0x60, 0x99, - 0xc8, 0xea, 0x28, 0x6d, 0xa4, 0x19, 0xe5, 0xdc, 0x31, 0x5e, 0xda, 0xc6, 0x2a, 0x43, 0x5e, 0xb2, - 0xa8, 0x54, 0x33, 0xa4, 0x2b, 0x83, 0x50, 0x9b, 0x38, 0x26, 0x52, 0x36, 0xe9, 0x26, 0x1b, 0x8a, - 0xb6, 0x5d, 0x28, 0x39, 0x08, 0xc7, 0x3d, 0x6a, 0xb3, 0x99, 0xe5, 0x89, 0x11, 0x8b, 0xb1, 0x33, - 0x93, 0x19, 0x8c, 0x4e, 0x6c, 0xd2, 0x09, 0x3e, 0x4a, 0x0f, 0x83, 0x2f, 0x50, 0x48, 0x58, 0x01, - 0xc9, 0x42, 0x45, 0x2e, 0xdc, 0x52, 0x7b, 0x68, 0xee, 0x16, 0x94, 0xc2, 0xee, 0x91, 0x66, 0x21, - 0xeb, 0x7a, 0xaa, 0xe3, 0x91, 0x28, 0xcc, 0xca, 0xf4, 0x41, 0x12, 0x21, 0x8d, 0xcc, 0x36, 0xc9, - 0x72, 0x59, 0x19, 0xff, 0x2b, 0xfd, 0xdc, 0x60, 0xc2, 0x69, 0x32, 0xe1, 0x0f, 0x0f, 0xaf, 0x68, - 0x88, 0x39, 0x3a, 0xef, 0xb9, 0xa7, 0x61, 0x32, 0x34, 0x81, 0xa4, 0xaf, 0xae, 0xfe, 0x22, 0x3c, - 0x30, 0x92, 0x5a, 0x7a, 0x01, 0x66, 0xfb, 0xa6, 0x6e, 0x7a, 0xc8, 0xb1, 0x1d, 0x84, 0x23, 0x96, - 0xbe, 0xaa, 0xfc, 0xef, 0x13, 0xc7, 0xc4, 0xdc, 0x6e, 0x50, 0x9b, 0xb2, 0xc8, 0x33, 0xfd, 0x61, - 0xe1, 0x13, 0xf9, 0xdc, 0x0f, 0x27, 0xc4, 0xdb, 0xb7, 0x6f, 0xdf, 0x4e, 0x55, 0x3f, 0x3b, 0x0e, - 0xb3, 0xa3, 0xf6, 0xcc, 0xc8, 0xed, 0x7b, 0x0a, 0xc6, 0xcd, 0x7e, 0x6f, 0x0f, 0x39, 0xc4, 0x49, - 0x59, 0x99, 0x3d, 0x49, 0x75, 0xc8, 0x1a, 0xea, 0x1e, 0x32, 0xca, 0x99, 0x79, 0x61, 0xa1, 0x74, - 0xfe, 0xc9, 0x44, 0xbb, 0x72, 0x71, 0x03, 0x43, 0x64, 0x8a, 0x94, 0x9e, 0x81, 0x0c, 0x4b, 0xd1, - 0x98, 0xe1, 0x89, 0x64, 0x0c, 0x78, 0x2f, 0xc9, 0x04, 0x27, 0x3d, 0x08, 0x79, 0xfc, 0x97, 0xc6, - 0xc6, 0x38, 0xb1, 0x39, 0x87, 0x05, 0x38, 0x2e, 0xa4, 0x39, 0xc8, 0x91, 0x6d, 0xd2, 0x46, 0xbc, - 0xb4, 0xf9, 0xcf, 0x38, 0xb0, 0xda, 0xa8, 0xa3, 0xf6, 0x0d, 0x4f, 0xb9, 0xa1, 0x1a, 0x7d, 0x44, - 0x02, 0x3e, 0x2f, 0x17, 0x99, 0xf0, 0x93, 0x58, 0x26, 0x9d, 0x85, 0x02, 0xdd, 0x55, 0xba, 0xd9, - 0x46, 0x2f, 0x93, 0xec, 0x99, 0x95, 0xe9, 0x46, 0x5b, 0xc7, 0x12, 0xfc, 0xfa, 0xeb, 0xae, 0x65, - 0xf2, 0xd0, 0x24, 0xaf, 0xc0, 0x02, 0xf2, 0xfa, 0xa7, 0xa3, 0x89, 0xfb, 0xa1, 0xd1, 0xd3, 0x8b, - 0xc6, 0x54, 0xf5, 0x9b, 0x29, 0xc8, 0x90, 0x7c, 0x31, 0x05, 0x85, 0x9d, 0x17, 0x9b, 0x0d, 0x65, - 0x75, 0x7b, 0x77, 0x79, 0xa3, 0x21, 0x0a, 0x52, 0x09, 0x80, 0x08, 0xae, 0x6d, 0x6c, 0xd7, 0x77, - 0xc4, 0x94, 0xff, 0xbc, 0xbe, 0xb5, 0x73, 0xe9, 0x29, 0x31, 0xed, 0x03, 0x76, 0xa9, 0x20, 0x13, - 0x54, 0xb8, 0x70, 0x5e, 0xcc, 0x4a, 0x22, 0x14, 0x29, 0xc1, 0xfa, 0x0b, 0x8d, 0xd5, 0x4b, 0x4f, - 0x89, 0xe3, 0x61, 0xc9, 0x85, 0xf3, 0xe2, 0x84, 0x34, 0x09, 0x79, 0x22, 0x59, 0xde, 0xde, 0xde, - 0x10, 0x73, 0x3e, 0x67, 0x6b, 0x47, 0x5e, 0xdf, 0x5a, 0x13, 0xf3, 0x3e, 0xe7, 0x9a, 0xbc, 0xbd, - 0xdb, 0x14, 0xc1, 0x67, 0xd8, 0x6c, 0xb4, 0x5a, 0xf5, 0xb5, 0x86, 0x58, 0xf0, 0x35, 0x96, 0x5f, - 0xdc, 0x69, 0xb4, 0xc4, 0x62, 0xc8, 0xac, 0x0b, 0xe7, 0xc5, 0x49, 0xff, 0x15, 0x8d, 0xad, 0xdd, - 0x4d, 0xb1, 0x24, 0x4d, 0xc3, 0x24, 0x7d, 0x05, 0x37, 0x62, 0x2a, 0x22, 0xba, 0xf4, 0x94, 0x28, - 0x0e, 0x0c, 0xa1, 0x2c, 0xd3, 0x21, 0xc1, 0xa5, 0xa7, 0x44, 0xa9, 0xba, 0x02, 0x59, 0x12, 0x5d, - 0x92, 0x04, 0xa5, 0x8d, 0xfa, 0x72, 0x63, 0x43, 0xd9, 0x6e, 0xee, 0xac, 0x6f, 0x6f, 0xd5, 0x37, - 0x44, 0x61, 0x20, 0x93, 0x1b, 0x9f, 0xd8, 0x5d, 0x97, 0x1b, 0xab, 0x62, 0x2a, 0x28, 0x6b, 0x36, - 0xea, 0x3b, 0x8d, 0x55, 0x31, 0x5d, 0xd5, 0x60, 0x76, 0x54, 0x9e, 0x1c, 0xb9, 0x33, 0x02, 0x4b, - 0x9c, 0x3a, 0x66, 0x89, 0x09, 0xd7, 0xd0, 0x12, 0xff, 0x20, 0x05, 0x33, 0x23, 0x6a, 0xc5, 0xc8, - 0x97, 0x3c, 0x0b, 0x59, 0x1a, 0xa2, 0xb4, 0x7a, 0x3e, 0x3e, 0xb2, 0xe8, 0x90, 0x80, 0x1d, 0xaa, - 0xa0, 0x04, 0x17, 0xec, 0x20, 0xd2, 0xc7, 0x74, 0x10, 0x98, 0x62, 0x28, 0xa7, 0xff, 0xc2, 0x50, - 0x4e, 0xa7, 0x65, 0xef, 0x52, 0x92, 0xb2, 0x47, 0x64, 0x27, 0xcb, 0xed, 0xd9, 0x11, 0xb9, 0xfd, - 0x2a, 0x4c, 0x0f, 0x11, 0x25, 0xce, 0xb1, 0xaf, 0x08, 0x50, 0x3e, 0xce, 0x39, 0x31, 0x99, 0x2e, - 0x15, 0xca, 0x74, 0x57, 0xa3, 0x1e, 0x3c, 0x77, 0xfc, 0x22, 0x0c, 0xad, 0xf5, 0x1b, 0x02, 0x9c, - 0x1a, 0xdd, 0x29, 0x8e, 0xb4, 0xe1, 0x19, 0x18, 0xef, 0x21, 0x6f, 0xdf, 0xe2, 0xdd, 0xd2, 0x87, - 0x47, 0xd4, 0x60, 0x3c, 0x1c, 0x5d, 0x6c, 0x86, 0x0a, 0x16, 0xf1, 0xf4, 0x71, 0xed, 0x1e, 0xb5, - 0x66, 0xc8, 0xd2, 0xcf, 0xa4, 0xe0, 0x81, 0x91, 0xe4, 0x23, 0x0d, 0x7d, 0x08, 0x40, 0x37, 0xed, - 0xbe, 0x47, 0x3b, 0x22, 0x9a, 0x60, 0xf3, 0x44, 0x42, 0x92, 0x17, 0x4e, 0x9e, 0x7d, 0xcf, 0x1f, - 0x4f, 0x93, 0x71, 0xa0, 0x22, 0xa2, 0x70, 0x79, 0x60, 0x68, 0x86, 0x18, 0x5a, 0x39, 0x66, 0xa6, - 0x43, 0x81, 0xf9, 0x51, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, 0x9e, 0x6e, - 0x76, 0x49, 0x05, 0xc9, 0xd5, 0xb2, 0x1d, 0xd5, 0x70, 0x91, 0x3c, 0x45, 0x87, 0x5b, 0x7c, 0x14, - 0x23, 0x48, 0x00, 0x39, 0x01, 0xc4, 0x78, 0x08, 0x41, 0x87, 0x7d, 0x44, 0xf5, 0xeb, 0x39, 0x28, - 0x04, 0xfa, 0x6a, 0xe9, 0x1c, 0x14, 0xaf, 0xab, 0x37, 0x54, 0x85, 0x9f, 0x95, 0xa8, 0x27, 0x0a, - 0x58, 0xd6, 0x64, 0xe7, 0xa5, 0x8f, 0xc2, 0x2c, 0x51, 0xb1, 0xfa, 0x1e, 0x72, 0x14, 0xcd, 0x50, - 0x5d, 0x97, 0x38, 0x2d, 0x47, 0x54, 0x25, 0x3c, 0xb6, 0x8d, 0x87, 0x56, 0xf8, 0x88, 0x74, 0x11, - 0x66, 0x08, 0xa2, 0xd7, 0x37, 0x3c, 0xdd, 0x36, 0x90, 0x82, 0x4f, 0x6f, 0x2e, 0xa9, 0x24, 0xbe, - 0x65, 0xd3, 0x58, 0x63, 0x93, 0x29, 0x60, 0x8b, 0x5c, 0x69, 0x15, 0x1e, 0x22, 0xb0, 0x2e, 0x32, - 0x91, 0xa3, 0x7a, 0x48, 0x41, 0x9f, 0xee, 0xab, 0x86, 0xab, 0xa8, 0x66, 0x5b, 0xd9, 0x57, 0xdd, - 0xfd, 0xf2, 0x2c, 0x26, 0x58, 0x4e, 0x95, 0x05, 0xf9, 0x0c, 0x56, 0x5c, 0x63, 0x7a, 0x0d, 0xa2, - 0x56, 0x37, 0xdb, 0x1f, 0x57, 0xdd, 0x7d, 0xa9, 0x06, 0xa7, 0x08, 0x8b, 0xeb, 0x39, 0xba, 0xd9, - 0x55, 0xb4, 0x7d, 0xa4, 0x1d, 0x28, 0x7d, 0xaf, 0x73, 0xb9, 0xfc, 0x60, 0xf0, 0xfd, 0xc4, 0xc2, - 0x16, 0xd1, 0x59, 0xc1, 0x2a, 0xbb, 0x5e, 0xe7, 0xb2, 0xd4, 0x82, 0x22, 0x5e, 0x8c, 0x9e, 0x7e, - 0x0b, 0x29, 0x1d, 0xcb, 0x21, 0xa5, 0xb1, 0x34, 0x22, 0x35, 0x05, 0x3c, 0xb8, 0xb8, 0xcd, 0x00, - 0x9b, 0x56, 0x1b, 0xd5, 0xb2, 0xad, 0x66, 0xa3, 0xb1, 0x2a, 0x17, 0x38, 0xcb, 0x35, 0xcb, 0xc1, - 0x01, 0xd5, 0xb5, 0x7c, 0x07, 0x17, 0x68, 0x40, 0x75, 0x2d, 0xee, 0xde, 0x8b, 0x30, 0xa3, 0x69, - 0x74, 0xce, 0xba, 0xa6, 0xb0, 0x33, 0x96, 0x5b, 0x16, 0x43, 0xce, 0xd2, 0xb4, 0x35, 0xaa, 0xc0, - 0x62, 0xdc, 0x95, 0xae, 0xc0, 0x03, 0x03, 0x67, 0x05, 0x81, 0xd3, 0x43, 0xb3, 0x8c, 0x42, 0x2f, - 0xc2, 0x8c, 0x7d, 0x38, 0x0c, 0x94, 0x42, 0x6f, 0xb4, 0x0f, 0xa3, 0xb0, 0xa7, 0x61, 0xd6, 0xde, - 0xb7, 0x87, 0x71, 0x4f, 0x04, 0x71, 0x92, 0xbd, 0x6f, 0x47, 0x81, 0x8f, 0x92, 0x03, 0xb7, 0x83, - 0x34, 0xd5, 0x43, 0xed, 0xf2, 0xe9, 0xa0, 0x7a, 0x60, 0x40, 0x5a, 0x02, 0x51, 0xd3, 0x14, 0x64, - 0xaa, 0x7b, 0x06, 0x52, 0x54, 0x07, 0x99, 0xaa, 0x5b, 0x3e, 0x1b, 0x54, 0x2e, 0x69, 0x5a, 0x83, - 0x8c, 0xd6, 0xc9, 0xa0, 0xf4, 0x04, 0x4c, 0x5b, 0x7b, 0xd7, 0x35, 0x1a, 0x92, 0x8a, 0xed, 0xa0, - 0x8e, 0xfe, 0x72, 0xf9, 0x11, 0xe2, 0xdf, 0x29, 0x3c, 0x40, 0x02, 0xb2, 0x49, 0xc4, 0xd2, 0xe3, - 0x20, 0x6a, 0xee, 0xbe, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0xa1, 0xf2, 0xa3, 0x54, 0x95, - 0xca, 0xb7, 0xb8, 0x18, 0x6f, 0x09, 0xf7, 0xa6, 0xde, 0xf1, 0x38, 0xe3, 0x63, 0x74, 0x4b, 0x10, - 0x19, 0x63, 0x5b, 0x00, 0x11, 0xbb, 0x22, 0xf4, 0xe2, 0x05, 0xa2, 0x56, 0xb2, 0xf7, 0xed, 0xe0, - 0x7b, 0x1f, 0x86, 0x49, 0xac, 0x39, 0x78, 0xe9, 0xe3, 0xb4, 0x21, 0xb3, 0xf7, 0x03, 0x6f, 0x7c, - 0xdf, 0x7a, 0xe3, 0x6a, 0x0d, 0x8a, 0xc1, 0xf8, 0x94, 0xf2, 0x40, 0x23, 0x54, 0x14, 0x70, 0xb3, - 0xb2, 0xb2, 0xbd, 0x8a, 0xdb, 0x8c, 0x97, 0x1a, 0x62, 0x0a, 0xb7, 0x3b, 0x1b, 0xeb, 0x3b, 0x0d, - 0x45, 0xde, 0xdd, 0xda, 0x59, 0xdf, 0x6c, 0x88, 0xe9, 0x60, 0x5f, 0xfd, 0xdd, 0x14, 0x94, 0xc2, - 0x47, 0x24, 0xe9, 0x67, 0xe1, 0x34, 0xbf, 0xcf, 0x70, 0x91, 0xa7, 0xdc, 0xd4, 0x1d, 0xb2, 0x65, - 0x7a, 0x2a, 0x2d, 0x5f, 0xfe, 0xa2, 0xcd, 0x32, 0xad, 0x16, 0xf2, 0x9e, 0xd7, 0x1d, 0xbc, 0x21, - 0x7a, 0xaa, 0x27, 0x6d, 0xc0, 0x59, 0xd3, 0x52, 0x5c, 0x4f, 0x35, 0xdb, 0xaa, 0xd3, 0x56, 0x06, - 0x37, 0x49, 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0xaa, 0x7c, 0x96, 0x0f, 0x99, 0x56, 0x8b, - 0x29, 0x0f, 0x72, 0x78, 0x9d, 0xa9, 0x46, 0x02, 0x2c, 0x7d, 0x5c, 0x80, 0x3d, 0x08, 0xf9, 0x9e, - 0x6a, 0x2b, 0xc8, 0xf4, 0x9c, 0x43, 0xd2, 0x18, 0xe7, 0xe4, 0x5c, 0x4f, 0xb5, 0x1b, 0xf8, 0xf9, - 0x83, 0x39, 0x9f, 0xfc, 0x5b, 0x1a, 0x8a, 0xc1, 0xe6, 0x18, 0x9f, 0x35, 0x34, 0x52, 0x47, 0x04, - 0x92, 0x69, 0x1e, 0xbe, 0x6f, 0x2b, 0xbd, 0xb8, 0x82, 0x0b, 0x4c, 0x6d, 0x9c, 0xb6, 0xac, 0x32, - 0x45, 0xe2, 0xe2, 0x8e, 0x73, 0x0b, 0xa2, 0x2d, 0x42, 0x4e, 0x66, 0x4f, 0xd2, 0x1a, 0x8c, 0x5f, - 0x77, 0x09, 0xf7, 0x38, 0xe1, 0x7e, 0xe4, 0xfe, 0xdc, 0xcf, 0xb5, 0x08, 0x79, 0xfe, 0xb9, 0x96, - 0xb2, 0xb5, 0x2d, 0x6f, 0xd6, 0x37, 0x64, 0x06, 0x97, 0xce, 0x40, 0xc6, 0x50, 0x6f, 0x1d, 0x86, - 0x4b, 0x11, 0x11, 0x25, 0x75, 0xfc, 0x19, 0xc8, 0xdc, 0x44, 0xea, 0x41, 0xb8, 0x00, 0x10, 0xd1, - 0xfb, 0x18, 0xfa, 0x4b, 0x90, 0x25, 0xfe, 0x92, 0x00, 0x98, 0xc7, 0xc4, 0x31, 0x29, 0x07, 0x99, - 0x95, 0x6d, 0x19, 0x87, 0xbf, 0x08, 0x45, 0x2a, 0x55, 0x9a, 0xeb, 0x8d, 0x95, 0x86, 0x98, 0xaa, - 0x5e, 0x84, 0x71, 0xea, 0x04, 0xbc, 0x35, 0x7c, 0x37, 0x88, 0x63, 0xec, 0x91, 0x71, 0x08, 0x7c, - 0x74, 0x77, 0x73, 0xb9, 0x21, 0x8b, 0xa9, 0xe0, 0xf2, 0xba, 0x50, 0x0c, 0xf6, 0xc5, 0x1f, 0x4c, - 0x4c, 0x7d, 0x47, 0x80, 0x42, 0xa0, 0xcf, 0xc5, 0x0d, 0x8a, 0x6a, 0x18, 0xd6, 0x4d, 0x45, 0x35, - 0x74, 0xd5, 0x65, 0x41, 0x01, 0x44, 0x54, 0xc7, 0x92, 0xa4, 0x8b, 0xf6, 0x81, 0x18, 0xff, 0xba, - 0x00, 0x62, 0xb4, 0xc5, 0x8c, 0x18, 0x28, 0xfc, 0x54, 0x0d, 0x7c, 0x4d, 0x80, 0x52, 0xb8, 0xaf, - 0x8c, 0x98, 0x77, 0xee, 0xa7, 0x6a, 0xde, 0x5b, 0x29, 0x98, 0x0c, 0x75, 0x93, 0x49, 0xad, 0xfb, - 0x34, 0x4c, 0xeb, 0x6d, 0xd4, 0xb3, 0x2d, 0x0f, 0x99, 0xda, 0xa1, 0x62, 0xa0, 0x1b, 0xc8, 0x28, - 0x57, 0x49, 0xa2, 0x58, 0xba, 0x7f, 0xbf, 0xba, 0xb8, 0x3e, 0xc0, 0x6d, 0x60, 0x58, 0x6d, 0x66, - 0x7d, 0xb5, 0xb1, 0xd9, 0xdc, 0xde, 0x69, 0x6c, 0xad, 0xbc, 0xa8, 0xec, 0x6e, 0xfd, 0xfc, 0xd6, - 0xf6, 0xf3, 0x5b, 0xb2, 0xa8, 0x47, 0xd4, 0xde, 0xc7, 0xad, 0xde, 0x04, 0x31, 0x6a, 0x94, 0x74, - 0x1a, 0x46, 0x99, 0x25, 0x8e, 0x49, 0x33, 0x30, 0xb5, 0xb5, 0xad, 0xb4, 0xd6, 0x57, 0x1b, 0x4a, - 0xe3, 0xda, 0xb5, 0xc6, 0xca, 0x4e, 0x8b, 0xde, 0x40, 0xf8, 0xda, 0x3b, 0xe1, 0x4d, 0xfd, 0x6a, - 0x1a, 0x66, 0x46, 0x58, 0x22, 0xd5, 0xd9, 0xd9, 0x81, 0x1e, 0x67, 0x3e, 0x92, 0xc4, 0xfa, 0x45, - 0x5c, 0xf2, 0x9b, 0xaa, 0xe3, 0xb1, 0xa3, 0xc6, 0xe3, 0x80, 0xbd, 0x64, 0x7a, 0x7a, 0x47, 0x47, - 0x0e, 0xbb, 0xb0, 0xa1, 0x07, 0x8a, 0xa9, 0x81, 0x9c, 0xde, 0xd9, 0xfc, 0x0c, 0x48, 0xb6, 0xe5, - 0xea, 0x9e, 0x7e, 0x03, 0x29, 0xba, 0xc9, 0x6f, 0x77, 0xf0, 0x01, 0x23, 0x23, 0x8b, 0x7c, 0x64, - 0xdd, 0xf4, 0x7c, 0x6d, 0x13, 0x75, 0xd5, 0x88, 0x36, 0x4e, 0xe0, 0x69, 0x59, 0xe4, 0x23, 0xbe, - 0xf6, 0x39, 0x28, 0xb6, 0xad, 0x3e, 0xee, 0xba, 0xa8, 0x1e, 0xae, 0x17, 0x82, 0x5c, 0xa0, 0x32, - 0x5f, 0x85, 0xf5, 0xd3, 0x83, 0x6b, 0xa5, 0xa2, 0x5c, 0xa0, 0x32, 0xaa, 0xf2, 0x18, 0x4c, 0xa9, - 0xdd, 0xae, 0x83, 0xc9, 0x39, 0x11, 0x3d, 0x21, 0x94, 0x7c, 0x31, 0x51, 0x9c, 0x7b, 0x0e, 0x72, - 0xdc, 0x0f, 0xb8, 0x24, 0x63, 0x4f, 0x28, 0x36, 0x3d, 0xf6, 0xa6, 0x16, 0xf2, 0x72, 0xce, 0xe4, - 0x83, 0xe7, 0xa0, 0xa8, 0xbb, 0xca, 0xe0, 0x96, 0x3c, 0x35, 0x9f, 0x5a, 0xc8, 0xc9, 0x05, 0xdd, - 0xf5, 0x6f, 0x18, 0xab, 0x6f, 0xa4, 0xa0, 0x14, 0xbe, 0xe5, 0x97, 0x56, 0x21, 0x67, 0x58, 0x9a, - 0x4a, 0x42, 0x8b, 0xfe, 0xc4, 0xb4, 0x10, 0xf3, 0xc3, 0xc0, 0xe2, 0x06, 0xd3, 0x97, 0x7d, 0xe4, - 0xdc, 0xbf, 0x08, 0x90, 0xe3, 0x62, 0xe9, 0x14, 0x64, 0x6c, 0xd5, 0xdb, 0x27, 0x74, 0xd9, 0xe5, - 0x94, 0x28, 0xc8, 0xe4, 0x19, 0xcb, 0x5d, 0x5b, 0x35, 0x49, 0x08, 0x30, 0x39, 0x7e, 0xc6, 0xeb, - 0x6a, 0x20, 0xb5, 0x4d, 0x8e, 0x1f, 0x56, 0xaf, 0x87, 0x4c, 0xcf, 0xe5, 0xeb, 0xca, 0xe4, 0x2b, - 0x4c, 0x2c, 0x3d, 0x09, 0xd3, 0x9e, 0xa3, 0xea, 0x46, 0x48, 0x37, 0x43, 0x74, 0x45, 0x3e, 0xe0, - 0x2b, 0xd7, 0xe0, 0x0c, 0xe7, 0x6d, 0x23, 0x4f, 0xd5, 0xf6, 0x51, 0x7b, 0x00, 0x1a, 0x27, 0xd7, - 0x0c, 0xa7, 0x99, 0xc2, 0x2a, 0x1b, 0xe7, 0xd8, 0xea, 0xf7, 0x05, 0x98, 0xe6, 0x07, 0xa6, 0xb6, - 0xef, 0xac, 0x4d, 0x00, 0xd5, 0x34, 0x2d, 0x2f, 0xe8, 0xae, 0xe1, 0x50, 0x1e, 0xc2, 0x2d, 0xd6, - 0x7d, 0x90, 0x1c, 0x20, 0x98, 0xeb, 0x01, 0x0c, 0x46, 0x8e, 0x75, 0xdb, 0x59, 0x28, 0xb0, 0x9f, - 0x70, 0xc8, 0xef, 0x80, 0xf4, 0x88, 0x0d, 0x54, 0x84, 0x4f, 0x56, 0xd2, 0x2c, 0x64, 0xf7, 0x50, - 0x57, 0x37, 0xd9, 0xc5, 0x2c, 0x7d, 0xe0, 0x17, 0x21, 0x19, 0xff, 0x22, 0x64, 0xf9, 0x53, 0x30, - 0xa3, 0x59, 0xbd, 0xa8, 0xb9, 0xcb, 0x62, 0xe4, 0x98, 0xef, 0x7e, 0x5c, 0x78, 0x09, 0x06, 0x2d, - 0xe6, 0x7b, 0x82, 0xf0, 0xc5, 0x54, 0x7a, 0xad, 0xb9, 0xfc, 0x95, 0xd4, 0xdc, 0x1a, 0x85, 0x36, - 0xf9, 0x4c, 0x65, 0xd4, 0x31, 0x90, 0x86, 0xad, 0x87, 0x2f, 0x3d, 0x09, 0x1f, 0xe9, 0xea, 0xde, - 0x7e, 0x7f, 0x6f, 0x51, 0xb3, 0x7a, 0x4b, 0x5d, 0xab, 0x6b, 0x0d, 0x7e, 0xfa, 0xc4, 0x4f, 0xe4, - 0x81, 0xfc, 0xc7, 0x7e, 0xfe, 0xcc, 0xfb, 0xd2, 0xb9, 0xd8, 0xdf, 0x4a, 0x6b, 0x5b, 0x30, 0xc3, - 0x94, 0x15, 0xf2, 0xfb, 0x0b, 0x3d, 0x45, 0x48, 0xf7, 0xbd, 0xc3, 0x2a, 0x7f, 0xed, 0x6d, 0x52, - 0xae, 0xe5, 0x69, 0x06, 0xc5, 0x63, 0xf4, 0xa0, 0x51, 0x93, 0xe1, 0x81, 0x10, 0x1f, 0xdd, 0x9a, - 0xc8, 0x89, 0x61, 0xfc, 0x2e, 0x63, 0x9c, 0x09, 0x30, 0xb6, 0x18, 0xb4, 0xb6, 0x02, 0x93, 0x27, - 0xe1, 0xfa, 0x27, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x35, 0x98, 0x22, 0x24, 0x5a, 0xdf, 0xf5, 0xac, - 0x1e, 0xc9, 0x7b, 0xf7, 0xa7, 0xf9, 0xe7, 0xb7, 0xe9, 0x5e, 0x29, 0x61, 0xd8, 0x8a, 0x8f, 0xaa, - 0xd5, 0x80, 0xfc, 0xe4, 0xd4, 0x46, 0x9a, 0x11, 0xc3, 0xf0, 0x26, 0x33, 0xc4, 0xd7, 0xaf, 0x7d, - 0x12, 0x66, 0xf1, 0xff, 0x24, 0x2d, 0x05, 0x2d, 0x89, 0xbf, 0xf0, 0x2a, 0x7f, 0xff, 0x15, 0xba, - 0x1d, 0x67, 0x7c, 0x82, 0x80, 0x4d, 0x81, 0x55, 0xec, 0x22, 0xcf, 0x43, 0x8e, 0xab, 0xa8, 0xc6, - 0x28, 0xf3, 0x02, 0x37, 0x06, 0xe5, 0xcf, 0xbd, 0x13, 0x5e, 0xc5, 0x35, 0x8a, 0xac, 0x1b, 0x46, - 0x6d, 0x17, 0x4e, 0x8f, 0x88, 0x8a, 0x04, 0x9c, 0xaf, 0x32, 0xce, 0xd9, 0xa1, 0xc8, 0xc0, 0xb4, - 0x4d, 0xe0, 0x72, 0x7f, 0x2d, 0x13, 0x70, 0xfe, 0x11, 0xe3, 0x94, 0x18, 0x96, 0x2f, 0x29, 0x66, - 0x7c, 0x0e, 0xa6, 0x6f, 0x20, 0x67, 0xcf, 0x72, 0xd9, 0x2d, 0x4d, 0x02, 0xba, 0xd7, 0x18, 0xdd, - 0x14, 0x03, 0x92, 0x6b, 0x1b, 0xcc, 0x75, 0x05, 0x72, 0x1d, 0x55, 0x43, 0x09, 0x28, 0x3e, 0xcf, - 0x28, 0x26, 0xb0, 0x3e, 0x86, 0xd6, 0xa1, 0xd8, 0xb5, 0x58, 0x65, 0x8a, 0x87, 0xbf, 0xce, 0xe0, - 0x05, 0x8e, 0x61, 0x14, 0xb6, 0x65, 0xf7, 0x0d, 0x5c, 0xb6, 0xe2, 0x29, 0xfe, 0x98, 0x53, 0x70, - 0x0c, 0xa3, 0x38, 0x81, 0x5b, 0xff, 0x84, 0x53, 0xb8, 0x01, 0x7f, 0x3e, 0x0b, 0x05, 0xcb, 0x34, - 0x0e, 0x2d, 0x33, 0x89, 0x11, 0x5f, 0x60, 0x0c, 0xc0, 0x20, 0x98, 0xe0, 0x2a, 0xe4, 0x93, 0x2e, - 0xc4, 0x9f, 0xbd, 0xc3, 0xb7, 0x07, 0x5f, 0x81, 0x35, 0x98, 0xe2, 0x09, 0x4a, 0xb7, 0xcc, 0x04, - 0x14, 0x5f, 0x62, 0x14, 0xa5, 0x00, 0x8c, 0x4d, 0xc3, 0x43, 0xae, 0xd7, 0x45, 0x49, 0x48, 0xde, - 0xe0, 0xd3, 0x60, 0x10, 0xe6, 0xca, 0x3d, 0x64, 0x6a, 0xfb, 0xc9, 0x18, 0xbe, 0xcc, 0x5d, 0xc9, - 0x31, 0x98, 0x62, 0x05, 0x26, 0x7b, 0xaa, 0xe3, 0xee, 0xab, 0x46, 0xa2, 0xe5, 0xf8, 0x73, 0xc6, - 0x51, 0xf4, 0x41, 0xcc, 0x23, 0x7d, 0xf3, 0x24, 0x34, 0x5f, 0xe1, 0x1e, 0x09, 0xc0, 0xd8, 0xd6, - 0x73, 0x3d, 0x72, 0xa5, 0x75, 0x12, 0xb6, 0xbf, 0xe0, 0x5b, 0x8f, 0x62, 0x37, 0x83, 0x8c, 0x57, - 0x21, 0xef, 0xea, 0xb7, 0x12, 0xd1, 0xfc, 0x25, 0x5f, 0x69, 0x02, 0xc0, 0xe0, 0x17, 0xe1, 0xcc, - 0xc8, 0x32, 0x91, 0x80, 0xec, 0xaf, 0x18, 0xd9, 0xa9, 0x11, 0xa5, 0x82, 0xa5, 0x84, 0x93, 0x52, - 0xfe, 0x35, 0x4f, 0x09, 0x28, 0xc2, 0xd5, 0xc4, 0x67, 0x05, 0x57, 0xed, 0x9c, 0xcc, 0x6b, 0x7f, - 0xc3, 0xbd, 0x46, 0xb1, 0x21, 0xaf, 0xed, 0xc0, 0x29, 0xc6, 0x78, 0xb2, 0x75, 0xfd, 0x2a, 0x4f, - 0xac, 0x14, 0xbd, 0x1b, 0x5e, 0xdd, 0x4f, 0xc1, 0x9c, 0xef, 0x4e, 0xde, 0x94, 0xba, 0x4a, 0x4f, - 0xb5, 0x13, 0x30, 0x7f, 0x8d, 0x31, 0xf3, 0x8c, 0xef, 0x77, 0xb5, 0xee, 0xa6, 0x6a, 0x63, 0xf2, - 0x17, 0xa0, 0xcc, 0xc9, 0xfb, 0xa6, 0x83, 0x34, 0xab, 0x6b, 0xea, 0xb7, 0x50, 0x3b, 0x01, 0xf5, - 0xdf, 0x46, 0x96, 0x6a, 0x37, 0x00, 0xc7, 0xcc, 0xeb, 0x20, 0xfa, 0xbd, 0x8a, 0xa2, 0xf7, 0x6c, - 0xcb, 0xf1, 0x62, 0x18, 0xbf, 0xce, 0x57, 0xca, 0xc7, 0xad, 0x13, 0x58, 0xad, 0x01, 0x25, 0xf2, - 0x98, 0x34, 0x24, 0xff, 0x8e, 0x11, 0x4d, 0x0e, 0x50, 0x2c, 0x71, 0x68, 0x56, 0xcf, 0x56, 0x9d, - 0x24, 0xf9, 0xef, 0x1b, 0x3c, 0x71, 0x30, 0x08, 0x4b, 0x1c, 0xde, 0xa1, 0x8d, 0x70, 0xb5, 0x4f, - 0xc0, 0xf0, 0x4d, 0x9e, 0x38, 0x38, 0x86, 0x51, 0xf0, 0x86, 0x21, 0x01, 0xc5, 0xdf, 0x73, 0x0a, - 0x8e, 0xc1, 0x14, 0x9f, 0x18, 0x14, 0x5a, 0x07, 0x75, 0x75, 0xd7, 0x73, 0x68, 0x2b, 0x7c, 0x7f, - 0xaa, 0x6f, 0xbd, 0x13, 0x6e, 0xc2, 0xe4, 0x00, 0x14, 0x67, 0x22, 0x76, 0x85, 0x4a, 0x4e, 0x4a, - 0xf1, 0x86, 0x7d, 0x9b, 0x67, 0xa2, 0x00, 0x0c, 0xdb, 0x16, 0xe8, 0x10, 0xb1, 0xdb, 0x35, 0x7c, - 0x3e, 0x48, 0x40, 0xf7, 0x9d, 0x88, 0x71, 0x2d, 0x8e, 0xc5, 0x9c, 0x81, 0xfe, 0xa7, 0x6f, 0x1e, - 0xa0, 0xc3, 0x44, 0xd1, 0xf9, 0x0f, 0x91, 0xfe, 0x67, 0x97, 0x22, 0x69, 0x0e, 0x99, 0x8a, 0xf4, - 0x53, 0x52, 0xdc, 0xc7, 0x3a, 0xe5, 0x5f, 0xbe, 0xcb, 0xe6, 0x1b, 0x6e, 0xa7, 0x6a, 0x1b, 0x38, - 0xc8, 0xc3, 0x4d, 0x4f, 0x3c, 0xd9, 0x2b, 0x77, 0xfd, 0x38, 0x0f, 0xf5, 0x3c, 0xb5, 0x6b, 0x30, - 0x19, 0x6a, 0x78, 0xe2, 0xa9, 0x7e, 0x85, 0x51, 0x15, 0x83, 0xfd, 0x4e, 0xed, 0x22, 0x64, 0x70, - 0xf3, 0x12, 0x0f, 0xff, 0x55, 0x06, 0x27, 0xea, 0xb5, 0x8f, 0x41, 0x8e, 0x37, 0x2d, 0xf1, 0xd0, - 0x5f, 0x63, 0x50, 0x1f, 0x82, 0xe1, 0xbc, 0x61, 0x89, 0x87, 0xff, 0x3a, 0x87, 0x73, 0x08, 0x86, - 0x27, 0x77, 0xe1, 0x3f, 0xfe, 0x46, 0x86, 0x15, 0x1d, 0xee, 0xbb, 0xab, 0x30, 0xc1, 0x3a, 0x95, - 0x78, 0xf4, 0x67, 0xd8, 0xcb, 0x39, 0xa2, 0xf6, 0x34, 0x64, 0x13, 0x3a, 0xfc, 0x37, 0x19, 0x94, - 0xea, 0xd7, 0x56, 0xa0, 0x10, 0xe8, 0x4e, 0xe2, 0xe1, 0xbf, 0xc5, 0xe0, 0x41, 0x14, 0x36, 0x9d, - 0x75, 0x27, 0xf1, 0x04, 0xbf, 0xcd, 0x4d, 0x67, 0x08, 0xec, 0x36, 0xde, 0x98, 0xc4, 0xa3, 0x7f, - 0x87, 0x7b, 0x9d, 0x43, 0x6a, 0xcf, 0x42, 0xde, 0x2f, 0x36, 0xf1, 0xf8, 0xdf, 0x65, 0xf8, 0x01, - 0x06, 0x7b, 0x20, 0x50, 0xec, 0xe2, 0x29, 0x7e, 0x8f, 0x7b, 0x20, 0x80, 0xc2, 0xdb, 0x28, 0xda, - 0xc0, 0xc4, 0x33, 0xfd, 0x3e, 0xdf, 0x46, 0x91, 0xfe, 0x05, 0xaf, 0x26, 0xc9, 0xf9, 0xf1, 0x14, - 0x7f, 0xc0, 0x57, 0x93, 0xe8, 0x63, 0x33, 0xa2, 0x1d, 0x41, 0x3c, 0xc7, 0x1f, 0x72, 0x33, 0x22, - 0x0d, 0x41, 0xad, 0x09, 0xd2, 0x70, 0x37, 0x10, 0xcf, 0xf7, 0x59, 0xc6, 0x37, 0x3d, 0xd4, 0x0c, - 0xd4, 0x9e, 0x87, 0x53, 0xa3, 0x3b, 0x81, 0x78, 0xd6, 0xcf, 0xdd, 0x8d, 0x9c, 0xdd, 0x82, 0x8d, - 0x40, 0x6d, 0x67, 0x50, 0x52, 0x82, 0x5d, 0x40, 0x3c, 0xed, 0xab, 0x77, 0xc3, 0x89, 0x3b, 0xd8, - 0x04, 0xd4, 0xea, 0x00, 0x83, 0x02, 0x1c, 0xcf, 0xf5, 0x1a, 0xe3, 0x0a, 0x80, 0xf0, 0xd6, 0x60, - 0xf5, 0x37, 0x1e, 0xff, 0x79, 0xbe, 0x35, 0x18, 0x02, 0x6f, 0x0d, 0x5e, 0x7a, 0xe3, 0xd1, 0xaf, - 0xf3, 0xad, 0xc1, 0x21, 0x38, 0xb2, 0x03, 0xd5, 0x2d, 0x9e, 0xe1, 0x0b, 0x3c, 0xb2, 0x03, 0xa8, - 0xda, 0x16, 0x4c, 0x0f, 0x15, 0xc4, 0x78, 0xaa, 0x2f, 0x32, 0x2a, 0x31, 0x5a, 0x0f, 0x83, 0xc5, - 0x8b, 0x15, 0xc3, 0x78, 0xb6, 0x3f, 0x8d, 0x14, 0x2f, 0x56, 0x0b, 0x6b, 0x57, 0x21, 0x67, 0xf6, - 0x0d, 0x03, 0x6f, 0x1e, 0xe9, 0xfe, 0x1f, 0xd8, 0x95, 0xff, 0xe3, 0x1e, 0xf3, 0x0e, 0x07, 0xd4, - 0x2e, 0x42, 0x16, 0xf5, 0xf6, 0x50, 0x3b, 0x0e, 0xf9, 0x9f, 0xf7, 0x78, 0xc2, 0xc4, 0xda, 0xb5, - 0x67, 0x01, 0xe8, 0xd5, 0x08, 0xf9, 0xd9, 0x2f, 0x06, 0xfb, 0x5f, 0xf7, 0xd8, 0xa7, 0x2f, 0x03, - 0xc8, 0x80, 0x80, 0x7e, 0x48, 0x73, 0x7f, 0x82, 0x77, 0xc2, 0x04, 0x64, 0x45, 0xae, 0xc0, 0xc4, - 0x75, 0xd7, 0x32, 0x3d, 0xb5, 0x1b, 0x87, 0xfe, 0x6f, 0x86, 0xe6, 0xfa, 0xd8, 0x61, 0x3d, 0xcb, - 0x41, 0x9e, 0xda, 0x75, 0xe3, 0xb0, 0xff, 0xc3, 0xb0, 0x3e, 0x00, 0x83, 0x35, 0xd5, 0xf5, 0x92, - 0xcc, 0xfb, 0x47, 0x1c, 0xcc, 0x01, 0xd8, 0x68, 0xfc, 0xff, 0x01, 0x3a, 0x8c, 0xc3, 0xbe, 0xcb, - 0x8d, 0x66, 0xfa, 0xb5, 0x8f, 0x41, 0x1e, 0xff, 0x4b, 0xbf, 0x67, 0x8b, 0x01, 0xff, 0x2f, 0x03, - 0x0f, 0x10, 0xf8, 0xcd, 0xae, 0xd7, 0xf6, 0xf4, 0x78, 0x67, 0xff, 0x1f, 0x5b, 0x69, 0xae, 0x5f, - 0xab, 0x43, 0xc1, 0xf5, 0xda, 0xed, 0x3e, 0xeb, 0x4f, 0x63, 0xe0, 0xff, 0x7f, 0xcf, 0xbf, 0xb2, - 0xf0, 0x31, 0x78, 0xb5, 0x6f, 0x1e, 0x78, 0xb6, 0x45, 0x7e, 0xe6, 0x88, 0x63, 0xb8, 0xcb, 0x18, - 0x02, 0x90, 0xe5, 0xc6, 0xe8, 0xeb, 0x5b, 0x58, 0xb3, 0xd6, 0x2c, 0x7a, 0x71, 0xfb, 0x52, 0x35, - 0xfe, 0x06, 0x16, 0xbe, 0x91, 0x86, 0x39, 0xcd, 0xea, 0xed, 0x59, 0xee, 0x92, 0x9f, 0x8e, 0x97, - 0x7a, 0xaa, 0xcd, 0x6e, 0x65, 0x0b, 0x3d, 0xd5, 0x66, 0x9f, 0xbf, 0xba, 0x73, 0x27, 0xbb, 0xd1, - 0xad, 0xfe, 0x12, 0x4c, 0x6c, 0xaa, 0xf6, 0x0e, 0x72, 0x3d, 0x89, 0xf8, 0x9a, 0x7c, 0x67, 0xc5, - 0xae, 0xc9, 0xe7, 0x17, 0x03, 0xc4, 0x8b, 0x4c, 0x6d, 0xb1, 0xe5, 0x39, 0x2d, 0xcf, 0x21, 0x9f, - 0x14, 0xc8, 0xe3, 0x2e, 0x79, 0x98, 0xbb, 0x02, 0x85, 0x80, 0x58, 0x12, 0x21, 0x7d, 0x80, 0x0e, - 0xd9, 0x97, 0x56, 0xf8, 0x5f, 0x69, 0x76, 0xf0, 0x29, 0x24, 0x96, 0xd1, 0x87, 0x5a, 0xea, 0xb2, - 0x50, 0x7d, 0x06, 0x26, 0xae, 0xa9, 0x07, 0x68, 0x53, 0xb5, 0xa5, 0x0b, 0x30, 0x81, 0x4c, 0xcf, - 0xd1, 0x91, 0xcb, 0x0c, 0x38, 0x13, 0x32, 0x80, 0xa9, 0xd1, 0x37, 0x73, 0xcd, 0xea, 0x06, 0x14, - 0x83, 0x03, 0x49, 0xdf, 0x8d, 0xa5, 0x96, 0xb7, 0xcf, 0x3e, 0x8d, 0xce, 0xcb, 0xf4, 0x61, 0x79, - 0xf5, 0xcd, 0x3b, 0x95, 0xb1, 0xef, 0xdd, 0xa9, 0x8c, 0xfd, 0xeb, 0x9d, 0xca, 0xd8, 0x5b, 0x77, - 0x2a, 0xc2, 0xbb, 0x77, 0x2a, 0xc2, 0x7b, 0x77, 0x2a, 0xc2, 0xed, 0xa3, 0x8a, 0xf0, 0xe5, 0xa3, - 0x8a, 0xf0, 0xd5, 0xa3, 0x8a, 0xf0, 0xad, 0xa3, 0x8a, 0xf0, 0xe6, 0x51, 0x45, 0xf8, 0xde, 0x51, - 0x65, 0xec, 0xad, 0xa3, 0x8a, 0xf0, 0xc3, 0xa3, 0xca, 0xd8, 0xbb, 0x47, 0x15, 0xe1, 0xbd, 0xa3, - 0xca, 0xd8, 0xed, 0x1f, 0x54, 0xc6, 0xf6, 0xc6, 0x89, 0x6f, 0x2f, 0xfc, 0x38, 0x00, 0x00, 0xff, - 0xff, 0x86, 0x67, 0x00, 0x91, 0x53, 0x34, 0x00, 0x00, + // 4012 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7a, 0x4b, 0x70, 0xe4, 0xd6, + 0x75, 0x36, 0xfb, 0x45, 0x76, 0x9f, 0x6e, 0x36, 0x41, 0x90, 0x9a, 0xe9, 0xa1, 0xac, 0x1e, 0x4e, + 0x4b, 0xb2, 0x28, 0xc9, 0x22, 0x5d, 0xf3, 0xd2, 0x4c, 0xcf, 0x6f, 0xe9, 0x6f, 0x92, 0x3d, 0x34, + 0x15, 0xbe, 0x8c, 0x26, 0xad, 0x87, 0x2b, 0x85, 0xba, 0x44, 0x5f, 0x36, 0x31, 0x44, 0x03, 0x30, + 0x80, 0x9e, 0x11, 0xa7, 0x52, 0x95, 0x49, 0x29, 0x8f, 0x72, 0xe5, 0xfd, 0xa8, 0x8a, 0xad, 0xc8, + 0x4a, 0xec, 0x54, 0x2c, 0xc7, 0x79, 0xd9, 0x49, 0xec, 0xd8, 0xce, 0x26, 0x1b, 0x27, 0x5a, 0xa5, + 0xec, 0x5d, 0x16, 0x59, 0x68, 0x68, 0x55, 0xc5, 0x49, 0x94, 0x44, 0x49, 0x66, 0xa1, 0x2a, 0x6d, + 0x52, 0xf7, 0x85, 0x06, 0xd0, 0xcd, 0x01, 0xe8, 0x2a, 0xc9, 0x2b, 0x12, 0xe7, 0x9e, 0xef, 0xc3, + 0xb9, 0xe7, 0x9e, 0x7b, 0xce, 0xb9, 0x17, 0x0d, 0x6f, 0xd6, 0x61, 0xb6, 0x63, 0x59, 0x1d, 0x03, + 0x2f, 0xd8, 0x8e, 0xe5, 0x59, 0xbb, 0xbd, 0xbd, 0x85, 0x36, 0x76, 0x35, 0x47, 0xb7, 0x3d, 0xcb, + 0x99, 0xa7, 0x32, 0x79, 0x82, 0x69, 0xcc, 0x0b, 0x8d, 0xda, 0x3a, 0x4c, 0x5e, 0xd7, 0x0d, 0xbc, + 0xec, 0x2b, 0xb6, 0xb0, 0x27, 0x5f, 0x81, 0xec, 0x9e, 0x6e, 0xe0, 0x4a, 0x6a, 0x36, 0x33, 0x57, + 0x3c, 0xff, 0xc8, 0x7c, 0x04, 0x34, 0x1f, 0x46, 0x6c, 0x11, 0xb1, 0x42, 0x11, 0xb5, 0xb7, 0xb3, + 0x30, 0x35, 0x64, 0x54, 0x96, 0x21, 0x6b, 0xa2, 0x2e, 0x61, 0x4c, 0xcd, 0x15, 0x14, 0xfa, 0xbf, + 0x5c, 0x81, 0x31, 0x1b, 0x69, 0x07, 0xa8, 0x83, 0x2b, 0x69, 0x2a, 0x16, 0x8f, 0x72, 0x15, 0xa0, + 0x8d, 0x6d, 0x6c, 0xb6, 0xb1, 0xa9, 0x1d, 0x56, 0x32, 0xb3, 0x99, 0xb9, 0x82, 0x12, 0x90, 0xc8, + 0x4f, 0xc2, 0xa4, 0xdd, 0xdb, 0x35, 0x74, 0x4d, 0x0d, 0xa8, 0xc1, 0x6c, 0x66, 0x2e, 0xa7, 0x48, + 0x6c, 0x60, 0xb9, 0xaf, 0xfc, 0x18, 0x4c, 0xdc, 0xc2, 0xe8, 0x20, 0xa8, 0x5a, 0xa4, 0xaa, 0x65, + 0x22, 0x0e, 0x28, 0x2e, 0x41, 0xa9, 0x8b, 0x5d, 0x17, 0x75, 0xb0, 0xea, 0x1d, 0xda, 0xb8, 0x92, + 0xa5, 0xb3, 0x9f, 0x1d, 0x98, 0x7d, 0x74, 0xe6, 0x45, 0x8e, 0xda, 0x3e, 0xb4, 0xb1, 0xdc, 0x80, + 0x02, 0x36, 0x7b, 0x5d, 0xc6, 0x90, 0x3b, 0xc6, 0x7f, 0x4d, 0xb3, 0xd7, 0x8d, 0xb2, 0xe4, 0x09, + 0x8c, 0x53, 0x8c, 0xb9, 0xd8, 0xb9, 0xa9, 0x6b, 0xb8, 0x32, 0x4a, 0x09, 0x1e, 0x1b, 0x20, 0x68, + 0xb1, 0xf1, 0x28, 0x87, 0xc0, 0xc9, 0x4b, 0x50, 0xc0, 0x2f, 0x7b, 0xd8, 0x74, 0x75, 0xcb, 0xac, + 0x8c, 0x51, 0x92, 0x47, 0x87, 0xac, 0x22, 0x36, 0xda, 0x51, 0x8a, 0x3e, 0x4e, 0xbe, 0x0c, 0x63, + 0x96, 0xed, 0xe9, 0x96, 0xe9, 0x56, 0xf2, 0xb3, 0xa9, 0xb9, 0xe2, 0xf9, 0x8f, 0x0c, 0x0d, 0x84, + 0x4d, 0xa6, 0xa3, 0x08, 0x65, 0x79, 0x15, 0x24, 0xd7, 0xea, 0x39, 0x1a, 0x56, 0x35, 0xab, 0x8d, + 0x55, 0xdd, 0xdc, 0xb3, 0x2a, 0x05, 0x4a, 0x70, 0x76, 0x70, 0x22, 0x54, 0x71, 0xc9, 0x6a, 0xe3, + 0x55, 0x73, 0xcf, 0x52, 0xca, 0x6e, 0xe8, 0x59, 0x3e, 0x05, 0xa3, 0xee, 0xa1, 0xe9, 0xa1, 0x97, + 0x2b, 0x25, 0x1a, 0x21, 0xfc, 0xa9, 0xf6, 0x9d, 0x51, 0x98, 0x48, 0x12, 0x62, 0xd7, 0x20, 0xb7, + 0x47, 0x66, 0x59, 0x49, 0x9f, 0xc4, 0x07, 0x0c, 0x13, 0x76, 0xe2, 0xe8, 0x8f, 0xe9, 0xc4, 0x06, + 0x14, 0x4d, 0xec, 0x7a, 0xb8, 0xcd, 0x22, 0x22, 0x93, 0x30, 0xa6, 0x80, 0x81, 0x06, 0x43, 0x2a, + 0xfb, 0x63, 0x85, 0xd4, 0x0b, 0x30, 0xe1, 0x9b, 0xa4, 0x3a, 0xc8, 0xec, 0x88, 0xd8, 0x5c, 0x88, + 0xb3, 0x64, 0xbe, 0x29, 0x70, 0x0a, 0x81, 0x29, 0x65, 0x1c, 0x7a, 0x96, 0x97, 0x01, 0x2c, 0x13, + 0x5b, 0x7b, 0x6a, 0x1b, 0x6b, 0x46, 0x25, 0x7f, 0x8c, 0x97, 0x36, 0x89, 0xca, 0x80, 0x97, 0x2c, + 0x26, 0xd5, 0x0c, 0xf9, 0x6a, 0x3f, 0xd4, 0xc6, 0x8e, 0x89, 0x94, 0x75, 0xb6, 0xc9, 0x06, 0xa2, + 0x6d, 0x07, 0xca, 0x0e, 0x26, 0x71, 0x8f, 0xdb, 0x7c, 0x66, 0x05, 0x6a, 0xc4, 0x7c, 0xec, 0xcc, + 0x14, 0x0e, 0x63, 0x13, 0x1b, 0x77, 0x82, 0x8f, 0xf2, 0xc3, 0xe0, 0x0b, 0x54, 0x1a, 0x56, 0x40, + 0xb3, 0x50, 0x49, 0x08, 0x37, 0x50, 0x17, 0xcf, 0xdc, 0x86, 0x72, 0xd8, 0x3d, 0xf2, 0x34, 0xe4, + 0x5c, 0x0f, 0x39, 0x1e, 0x8d, 0xc2, 0x9c, 0xc2, 0x1e, 0x64, 0x09, 0x32, 0xd8, 0x6c, 0xd3, 0x2c, + 0x97, 0x53, 0xc8, 0xbf, 0xf2, 0xff, 0xef, 0x4f, 0x38, 0x43, 0x27, 0xfc, 0xd1, 0xc1, 0x15, 0x0d, + 0x31, 0x47, 0xe7, 0x3d, 0xf3, 0x34, 0x8c, 0x87, 0x26, 0x90, 0xf4, 0xd5, 0xb5, 0x9f, 0x81, 0x07, + 0x86, 0x52, 0xcb, 0x2f, 0xc0, 0x74, 0xcf, 0xd4, 0x4d, 0x0f, 0x3b, 0xb6, 0x83, 0x49, 0xc4, 0xb2, + 0x57, 0x55, 0xfe, 0x65, 0xec, 0x98, 0x98, 0xdb, 0x09, 0x6a, 0x33, 0x16, 0x65, 0xaa, 0x37, 0x28, + 0x7c, 0xa2, 0x90, 0xff, 0xd1, 0x98, 0x74, 0xe7, 0xce, 0x9d, 0x3b, 0xe9, 0xda, 0xe7, 0x47, 0x61, + 0x7a, 0xd8, 0x9e, 0x19, 0xba, 0x7d, 0x4f, 0xc1, 0xa8, 0xd9, 0xeb, 0xee, 0x62, 0x87, 0x3a, 0x29, + 0xa7, 0xf0, 0x27, 0xb9, 0x01, 0x39, 0x03, 0xed, 0x62, 0xa3, 0x92, 0x9d, 0x4d, 0xcd, 0x95, 0xcf, + 0x3f, 0x99, 0x68, 0x57, 0xce, 0xaf, 0x11, 0x88, 0xc2, 0x90, 0xf2, 0x33, 0x90, 0xe5, 0x29, 0x9a, + 0x30, 0x3c, 0x91, 0x8c, 0x81, 0xec, 0x25, 0x85, 0xe2, 0xe4, 0x07, 0xa1, 0x40, 0xfe, 0xb2, 0xd8, + 0x18, 0xa5, 0x36, 0xe7, 0x89, 0x80, 0xc4, 0x85, 0x3c, 0x03, 0x79, 0xba, 0x4d, 0xda, 0x58, 0x94, + 0x36, 0xff, 0x99, 0x04, 0x56, 0x1b, 0xef, 0xa1, 0x9e, 0xe1, 0xa9, 0x37, 0x91, 0xd1, 0xc3, 0x34, + 0xe0, 0x0b, 0x4a, 0x89, 0x0b, 0x3f, 0x4d, 0x64, 0xf2, 0x59, 0x28, 0xb2, 0x5d, 0xa5, 0x9b, 0x6d, + 0xfc, 0x32, 0xcd, 0x9e, 0x39, 0x85, 0x6d, 0xb4, 0x55, 0x22, 0x21, 0xaf, 0xbf, 0xe1, 0x5a, 0xa6, + 0x08, 0x4d, 0xfa, 0x0a, 0x22, 0xa0, 0xaf, 0x7f, 0x3a, 0x9a, 0xb8, 0x1f, 0x1a, 0x3e, 0xbd, 0x68, + 0x4c, 0xd5, 0xbe, 0x95, 0x86, 0x2c, 0xcd, 0x17, 0x13, 0x50, 0xdc, 0x7e, 0x71, 0xab, 0xa9, 0x2e, + 0x6f, 0xee, 0x2c, 0xae, 0x35, 0xa5, 0x94, 0x5c, 0x06, 0xa0, 0x82, 0xeb, 0x6b, 0x9b, 0x8d, 0x6d, + 0x29, 0xed, 0x3f, 0xaf, 0x6e, 0x6c, 0x5f, 0xbe, 0x28, 0x65, 0x7c, 0xc0, 0x0e, 0x13, 0x64, 0x83, + 0x0a, 0x17, 0xce, 0x4b, 0x39, 0x59, 0x82, 0x12, 0x23, 0x58, 0x7d, 0xa1, 0xb9, 0x7c, 0xf9, 0xa2, + 0x34, 0x1a, 0x96, 0x5c, 0x38, 0x2f, 0x8d, 0xc9, 0xe3, 0x50, 0xa0, 0x92, 0xc5, 0xcd, 0xcd, 0x35, + 0x29, 0xef, 0x73, 0xb6, 0xb6, 0x95, 0xd5, 0x8d, 0x15, 0xa9, 0xe0, 0x73, 0xae, 0x28, 0x9b, 0x3b, + 0x5b, 0x12, 0xf8, 0x0c, 0xeb, 0xcd, 0x56, 0xab, 0xb1, 0xd2, 0x94, 0x8a, 0xbe, 0xc6, 0xe2, 0x8b, + 0xdb, 0xcd, 0x96, 0x54, 0x0a, 0x99, 0x75, 0xe1, 0xbc, 0x34, 0xee, 0xbf, 0xa2, 0xb9, 0xb1, 0xb3, + 0x2e, 0x95, 0xe5, 0x49, 0x18, 0x67, 0xaf, 0x10, 0x46, 0x4c, 0x44, 0x44, 0x97, 0x2f, 0x4a, 0x52, + 0xdf, 0x10, 0xc6, 0x32, 0x19, 0x12, 0x5c, 0xbe, 0x28, 0xc9, 0xb5, 0x25, 0xc8, 0xd1, 0xe8, 0x92, + 0x65, 0x28, 0xaf, 0x35, 0x16, 0x9b, 0x6b, 0xea, 0xe6, 0xd6, 0xf6, 0xea, 0xe6, 0x46, 0x63, 0x4d, + 0x4a, 0xf5, 0x65, 0x4a, 0xf3, 0x53, 0x3b, 0xab, 0x4a, 0x73, 0x59, 0x4a, 0x07, 0x65, 0x5b, 0xcd, + 0xc6, 0x76, 0x73, 0x59, 0xca, 0xd4, 0x34, 0x98, 0x1e, 0x96, 0x27, 0x87, 0xee, 0x8c, 0xc0, 0x12, + 0xa7, 0x8f, 0x59, 0x62, 0xca, 0x35, 0xb0, 0xc4, 0x3f, 0x4c, 0xc3, 0xd4, 0x90, 0x5a, 0x31, 0xf4, + 0x25, 0xcf, 0x42, 0x8e, 0x85, 0x28, 0xab, 0x9e, 0x8f, 0x0f, 0x2d, 0x3a, 0x34, 0x60, 0x07, 0x2a, + 0x28, 0xc5, 0x05, 0x3b, 0x88, 0xcc, 0x31, 0x1d, 0x04, 0xa1, 0x18, 0xc8, 0xe9, 0x3f, 0x3d, 0x90, + 0xd3, 0x59, 0xd9, 0xbb, 0x9c, 0xa4, 0xec, 0x51, 0xd9, 0xc9, 0x72, 0x7b, 0x6e, 0x48, 0x6e, 0xbf, + 0x06, 0x93, 0x03, 0x44, 0x89, 0x73, 0xec, 0x2b, 0x29, 0xa8, 0x1c, 0xe7, 0x9c, 0x98, 0x4c, 0x97, + 0x0e, 0x65, 0xba, 0x6b, 0x51, 0x0f, 0x9e, 0x3b, 0x7e, 0x11, 0x06, 0xd6, 0xfa, 0x8d, 0x14, 0x9c, + 0x1a, 0xde, 0x29, 0x0e, 0xb5, 0xe1, 0x19, 0x18, 0xed, 0x62, 0x6f, 0xdf, 0x12, 0xdd, 0xd2, 0x47, + 0x87, 0xd4, 0x60, 0x32, 0x1c, 0x5d, 0x6c, 0x8e, 0x0a, 0x16, 0xf1, 0xcc, 0x71, 0xed, 0x1e, 0xb3, + 0x66, 0xc0, 0xd2, 0xcf, 0xa5, 0xe1, 0x81, 0xa1, 0xe4, 0x43, 0x0d, 0x7d, 0x08, 0x40, 0x37, 0xed, + 0x9e, 0xc7, 0x3a, 0x22, 0x96, 0x60, 0x0b, 0x54, 0x42, 0x93, 0x17, 0x49, 0x9e, 0x3d, 0xcf, 0x1f, + 0xcf, 0xd0, 0x71, 0x60, 0x22, 0xaa, 0x70, 0xa5, 0x6f, 0x68, 0x96, 0x1a, 0x5a, 0x3d, 0x66, 0xa6, + 0x03, 0x81, 0xf9, 0x71, 0x90, 0x34, 0x43, 0xc7, 0xa6, 0xa7, 0xba, 0x9e, 0x83, 0x51, 0x57, 0x37, + 0x3b, 0xb4, 0x82, 0xe4, 0xeb, 0xb9, 0x3d, 0x64, 0xb8, 0x58, 0x99, 0x60, 0xc3, 0x2d, 0x31, 0x4a, + 0x10, 0x34, 0x80, 0x9c, 0x00, 0x62, 0x34, 0x84, 0x60, 0xc3, 0x3e, 0xa2, 0xf6, 0x2b, 0x05, 0x28, + 0x06, 0xfa, 0x6a, 0xf9, 0x1c, 0x94, 0x6e, 0xa0, 0x9b, 0x48, 0x15, 0x67, 0x25, 0xe6, 0x89, 0x22, + 0x91, 0x6d, 0xf1, 0xf3, 0xd2, 0xc7, 0x61, 0x9a, 0xaa, 0x58, 0x3d, 0x0f, 0x3b, 0xaa, 0x66, 0x20, + 0xd7, 0xa5, 0x4e, 0xcb, 0x53, 0x55, 0x99, 0x8c, 0x6d, 0x92, 0xa1, 0x25, 0x31, 0x22, 0x5f, 0x82, + 0x29, 0x8a, 0xe8, 0xf6, 0x0c, 0x4f, 0xb7, 0x0d, 0xac, 0x92, 0xd3, 0x9b, 0x4b, 0x2b, 0x89, 0x6f, + 0xd9, 0x24, 0xd1, 0x58, 0xe7, 0x0a, 0xc4, 0x22, 0x57, 0x5e, 0x86, 0x87, 0x28, 0xac, 0x83, 0x4d, + 0xec, 0x20, 0x0f, 0xab, 0xf8, 0xb3, 0x3d, 0x64, 0xb8, 0x2a, 0x32, 0xdb, 0xea, 0x3e, 0x72, 0xf7, + 0x2b, 0xd3, 0x84, 0x60, 0x31, 0x5d, 0x49, 0x29, 0x67, 0x88, 0xe2, 0x0a, 0xd7, 0x6b, 0x52, 0xb5, + 0x86, 0xd9, 0xfe, 0x24, 0x72, 0xf7, 0xe5, 0x3a, 0x9c, 0xa2, 0x2c, 0xae, 0xe7, 0xe8, 0x66, 0x47, + 0xd5, 0xf6, 0xb1, 0x76, 0xa0, 0xf6, 0xbc, 0xbd, 0x2b, 0x95, 0x07, 0x83, 0xef, 0xa7, 0x16, 0xb6, + 0xa8, 0xce, 0x12, 0x51, 0xd9, 0xf1, 0xf6, 0xae, 0xc8, 0x2d, 0x28, 0x91, 0xc5, 0xe8, 0xea, 0xb7, + 0xb1, 0xba, 0x67, 0x39, 0xb4, 0x34, 0x96, 0x87, 0xa4, 0xa6, 0x80, 0x07, 0xe7, 0x37, 0x39, 0x60, + 0xdd, 0x6a, 0xe3, 0x7a, 0xae, 0xb5, 0xd5, 0x6c, 0x2e, 0x2b, 0x45, 0xc1, 0x72, 0xdd, 0x72, 0x48, + 0x40, 0x75, 0x2c, 0xdf, 0xc1, 0x45, 0x16, 0x50, 0x1d, 0x4b, 0xb8, 0xf7, 0x12, 0x4c, 0x69, 0x1a, + 0x9b, 0xb3, 0xae, 0xa9, 0xfc, 0x8c, 0xe5, 0x56, 0xa4, 0x90, 0xb3, 0x34, 0x6d, 0x85, 0x29, 0xf0, + 0x18, 0x77, 0xe5, 0xab, 0xf0, 0x40, 0xdf, 0x59, 0x41, 0xe0, 0xe4, 0xc0, 0x2c, 0xa3, 0xd0, 0x4b, + 0x30, 0x65, 0x1f, 0x0e, 0x02, 0xe5, 0xd0, 0x1b, 0xed, 0xc3, 0x28, 0xec, 0x69, 0x98, 0xb6, 0xf7, + 0xed, 0x41, 0xdc, 0x13, 0x41, 0x9c, 0x6c, 0xef, 0xdb, 0x51, 0xe0, 0xa3, 0xf4, 0xc0, 0xed, 0x60, + 0x0d, 0x79, 0xb8, 0x5d, 0x39, 0x1d, 0x54, 0x0f, 0x0c, 0xc8, 0x0b, 0x20, 0x69, 0x9a, 0x8a, 0x4d, + 0xb4, 0x6b, 0x60, 0x15, 0x39, 0xd8, 0x44, 0x6e, 0xe5, 0x6c, 0x50, 0xb9, 0xac, 0x69, 0x4d, 0x3a, + 0xda, 0xa0, 0x83, 0xf2, 0x13, 0x30, 0x69, 0xed, 0xde, 0xd0, 0x58, 0x48, 0xaa, 0xb6, 0x83, 0xf7, + 0xf4, 0x97, 0x2b, 0x8f, 0x50, 0xff, 0x4e, 0x90, 0x01, 0x1a, 0x90, 0x5b, 0x54, 0x2c, 0x3f, 0x0e, + 0x92, 0xe6, 0xee, 0x23, 0xc7, 0xa6, 0x39, 0xd9, 0xb5, 0x91, 0x86, 0x2b, 0x8f, 0x32, 0x55, 0x26, + 0xdf, 0x10, 0x62, 0xb2, 0x25, 0xdc, 0x5b, 0xfa, 0x9e, 0x27, 0x18, 0x1f, 0x63, 0x5b, 0x82, 0xca, + 0x38, 0xdb, 0x1c, 0x48, 0xc4, 0x15, 0xa1, 0x17, 0xcf, 0x51, 0xb5, 0xb2, 0xbd, 0x6f, 0x07, 0xdf, + 0xfb, 0x30, 0x8c, 0x13, 0xcd, 0xfe, 0x4b, 0x1f, 0x67, 0x0d, 0x99, 0xbd, 0x1f, 0x78, 0xe3, 0x45, + 0x38, 0x45, 0x94, 0xba, 0xd8, 0x43, 0x6d, 0xe4, 0xa1, 0x80, 0xf6, 0xc7, 0xa8, 0x36, 0xf1, 0xfb, + 0x3a, 0x1f, 0x0c, 0xd9, 0xe9, 0xf4, 0x76, 0x0f, 0xfd, 0xc8, 0x7a, 0x8a, 0xd9, 0x49, 0x64, 0x22, + 0xb6, 0x3e, 0xb0, 0xa6, 0xbb, 0x56, 0x87, 0x52, 0x30, 0xf0, 0xe5, 0x02, 0xb0, 0xd0, 0x97, 0x52, + 0xa4, 0x0b, 0x5a, 0xda, 0x5c, 0x26, 0xfd, 0xcb, 0x4b, 0x4d, 0x29, 0x4d, 0xfa, 0xa8, 0xb5, 0xd5, + 0xed, 0xa6, 0xaa, 0xec, 0x6c, 0x6c, 0xaf, 0xae, 0x37, 0xa5, 0x4c, 0xb0, 0x61, 0xff, 0x5e, 0x1a, + 0xca, 0xe1, 0xb3, 0x97, 0xfc, 0xff, 0xe0, 0xb4, 0xb8, 0x28, 0x71, 0xb1, 0xa7, 0xde, 0xd2, 0x1d, + 0xba, 0x17, 0xbb, 0x88, 0xd5, 0x45, 0x3f, 0x1a, 0xa6, 0xb9, 0x56, 0x0b, 0x7b, 0xcf, 0xeb, 0x0e, + 0xd9, 0x69, 0x5d, 0xe4, 0xc9, 0x6b, 0x70, 0xd6, 0xb4, 0x54, 0xd7, 0x43, 0x66, 0x1b, 0x39, 0x6d, + 0xb5, 0x7f, 0x45, 0xa5, 0x22, 0x4d, 0xc3, 0xae, 0x6b, 0xb1, 0x1a, 0xe8, 0xb3, 0x7c, 0xc4, 0xb4, + 0x5a, 0x5c, 0xb9, 0x5f, 0x1c, 0x1a, 0x5c, 0x35, 0x12, 0xb9, 0x99, 0xe3, 0x22, 0xf7, 0x41, 0x28, + 0x74, 0x91, 0xad, 0x62, 0xd3, 0x73, 0x0e, 0x69, 0xc7, 0x9d, 0x57, 0xf2, 0x5d, 0x64, 0x37, 0xc9, + 0xf3, 0x87, 0x73, 0xf0, 0xf9, 0xe7, 0x0c, 0x94, 0x82, 0x5d, 0x37, 0x39, 0xc4, 0x68, 0xb4, 0x40, + 0xa5, 0x68, 0x0a, 0x7b, 0xf8, 0xbe, 0x3d, 0xfa, 0xfc, 0x12, 0xa9, 0x5c, 0xf5, 0x51, 0xd6, 0x0b, + 0x2b, 0x0c, 0x49, 0xba, 0x06, 0x12, 0x5a, 0x98, 0xf5, 0x1e, 0x79, 0x85, 0x3f, 0xc9, 0x2b, 0x30, + 0x7a, 0xc3, 0xa5, 0xdc, 0xa3, 0x94, 0xfb, 0x91, 0xfb, 0x73, 0x3f, 0xd7, 0xa2, 0xe4, 0x85, 0xe7, + 0x5a, 0xea, 0xc6, 0xa6, 0xb2, 0xde, 0x58, 0x53, 0x38, 0x5c, 0x3e, 0x03, 0x59, 0x03, 0xdd, 0x3e, + 0x0c, 0xd7, 0x38, 0x2a, 0x4a, 0xea, 0xf8, 0x33, 0x90, 0xbd, 0x85, 0xd1, 0x41, 0xb8, 0xb2, 0x50, + 0xd1, 0x07, 0x18, 0xfa, 0x0b, 0x90, 0xa3, 0xfe, 0x92, 0x01, 0xb8, 0xc7, 0xa4, 0x11, 0x39, 0x0f, + 0xd9, 0xa5, 0x4d, 0x85, 0x84, 0xbf, 0x04, 0x25, 0x26, 0x55, 0xb7, 0x56, 0x9b, 0x4b, 0x4d, 0x29, + 0x5d, 0xbb, 0x04, 0xa3, 0xcc, 0x09, 0x64, 0x6b, 0xf8, 0x6e, 0x90, 0x46, 0xf8, 0x23, 0xe7, 0x48, + 0x89, 0xd1, 0x9d, 0xf5, 0xc5, 0xa6, 0x22, 0xa5, 0x83, 0xcb, 0xeb, 0x42, 0x29, 0xd8, 0x70, 0x7f, + 0x38, 0x31, 0xf5, 0xdd, 0x14, 0x14, 0x03, 0x0d, 0x34, 0xe9, 0x7c, 0x90, 0x61, 0x58, 0xb7, 0x54, + 0x64, 0xe8, 0xc8, 0xe5, 0x41, 0x01, 0x54, 0xd4, 0x20, 0x92, 0xa4, 0x8b, 0xf6, 0xa1, 0x18, 0xff, + 0x7a, 0x0a, 0xa4, 0x68, 0xef, 0x1a, 0x31, 0x30, 0xf5, 0x13, 0x35, 0xf0, 0xb5, 0x14, 0x94, 0xc3, + 0x0d, 0x6b, 0xc4, 0xbc, 0x73, 0x3f, 0x51, 0xf3, 0xde, 0x4a, 0xc3, 0x78, 0xa8, 0x4d, 0x4d, 0x6a, + 0xdd, 0x67, 0x61, 0x52, 0x6f, 0xe3, 0xae, 0x6d, 0x79, 0xd8, 0xd4, 0x0e, 0x55, 0x03, 0xdf, 0xc4, + 0x46, 0xa5, 0x46, 0x13, 0xc5, 0xc2, 0xfd, 0x1b, 0xe1, 0xf9, 0xd5, 0x3e, 0x6e, 0x8d, 0xc0, 0xea, + 0x53, 0xab, 0xcb, 0xcd, 0xf5, 0xad, 0xcd, 0xed, 0xe6, 0xc6, 0xd2, 0x8b, 0xea, 0xce, 0xc6, 0x4f, + 0x6d, 0x6c, 0x3e, 0xbf, 0xa1, 0x48, 0x7a, 0x44, 0xed, 0x03, 0xdc, 0xea, 0x5b, 0x20, 0x45, 0x8d, + 0x92, 0x4f, 0xc3, 0x30, 0xb3, 0xa4, 0x11, 0x79, 0x0a, 0x26, 0x36, 0x36, 0xd5, 0xd6, 0xea, 0x72, + 0x53, 0x6d, 0x5e, 0xbf, 0xde, 0x5c, 0xda, 0x6e, 0xb1, 0xab, 0x0d, 0x5f, 0x7b, 0x3b, 0xbc, 0xa9, + 0x5f, 0xcd, 0xc0, 0xd4, 0x10, 0x4b, 0xe4, 0x06, 0x3f, 0x94, 0xb0, 0x73, 0xd2, 0x53, 0x49, 0xac, + 0x9f, 0x27, 0x5d, 0xc1, 0x16, 0x72, 0x3c, 0x7e, 0x86, 0x79, 0x1c, 0x88, 0x97, 0x4c, 0x4f, 0xdf, + 0xd3, 0xb1, 0xc3, 0x6f, 0x82, 0xd8, 0x49, 0x65, 0xa2, 0x2f, 0x67, 0x97, 0x41, 0x1f, 0x03, 0xd9, + 0xb6, 0x5c, 0xdd, 0xd3, 0x6f, 0x62, 0x55, 0x37, 0xc5, 0xb5, 0x11, 0x39, 0xb9, 0x64, 0x15, 0x49, + 0x8c, 0xac, 0x9a, 0x9e, 0xaf, 0x6d, 0xe2, 0x0e, 0x8a, 0x68, 0x93, 0x04, 0x9e, 0x51, 0x24, 0x31, + 0xe2, 0x6b, 0x9f, 0x83, 0x52, 0xdb, 0xea, 0x91, 0x76, 0x8e, 0xe9, 0x91, 0x7a, 0x91, 0x52, 0x8a, + 0x4c, 0xe6, 0xab, 0xf0, 0x46, 0xbd, 0x7f, 0x5f, 0x55, 0x52, 0x8a, 0x4c, 0xc6, 0x54, 0x1e, 0x83, + 0x09, 0xd4, 0xe9, 0x38, 0x84, 0x5c, 0x10, 0xb1, 0xa3, 0x47, 0xd9, 0x17, 0x53, 0xc5, 0x99, 0xe7, + 0x20, 0x2f, 0xfc, 0x40, 0x4a, 0x32, 0xf1, 0x84, 0x6a, 0xb3, 0xf3, 0x74, 0x7a, 0xae, 0xa0, 0xe4, + 0x4d, 0x31, 0x78, 0x0e, 0x4a, 0xba, 0xab, 0xf6, 0xaf, 0xdf, 0xd3, 0xb3, 0xe9, 0xb9, 0xbc, 0x52, + 0xd4, 0x5d, 0xff, 0xea, 0xb2, 0xf6, 0x46, 0x1a, 0xca, 0xe1, 0xcf, 0x07, 0xf2, 0x32, 0xe4, 0x0d, + 0x4b, 0x43, 0x34, 0xb4, 0xd8, 0xb7, 0xab, 0xb9, 0x98, 0x2f, 0x0e, 0xf3, 0x6b, 0x5c, 0x5f, 0xf1, + 0x91, 0x33, 0xff, 0x98, 0x82, 0xbc, 0x10, 0xcb, 0xa7, 0x20, 0x6b, 0x23, 0x6f, 0x9f, 0xd2, 0xe5, + 0x16, 0xd3, 0x52, 0x4a, 0xa1, 0xcf, 0x44, 0xee, 0xda, 0xc8, 0xa4, 0x21, 0xc0, 0xe5, 0xe4, 0x99, + 0xac, 0xab, 0x81, 0x51, 0x9b, 0x9e, 0x6b, 0xac, 0x6e, 0x17, 0x9b, 0x9e, 0x2b, 0xd6, 0x95, 0xcb, + 0x97, 0xb8, 0x58, 0x7e, 0x12, 0x26, 0x3d, 0x07, 0xe9, 0x46, 0x48, 0x37, 0x4b, 0x75, 0x25, 0x31, + 0xe0, 0x2b, 0xd7, 0xe1, 0x8c, 0xe0, 0x6d, 0x63, 0x0f, 0x69, 0xfb, 0xb8, 0xdd, 0x07, 0x8d, 0xd2, + 0xfb, 0x8b, 0xd3, 0x5c, 0x61, 0x99, 0x8f, 0x0b, 0x6c, 0xed, 0x07, 0x29, 0x98, 0x14, 0x27, 0xb1, + 0xb6, 0xef, 0xac, 0x75, 0x00, 0x64, 0x9a, 0x96, 0x17, 0x74, 0xd7, 0x60, 0x28, 0x0f, 0xe0, 0xe6, + 0x1b, 0x3e, 0x48, 0x09, 0x10, 0xcc, 0x74, 0x01, 0xfa, 0x23, 0xc7, 0xba, 0xed, 0x2c, 0x14, 0xf9, + 0xb7, 0x21, 0xfa, 0x81, 0x91, 0x9d, 0xdd, 0x81, 0x89, 0xc8, 0x91, 0x4d, 0x9e, 0x86, 0xdc, 0x2e, + 0xee, 0xe8, 0x26, 0xbf, 0xf1, 0x65, 0x0f, 0xe2, 0x86, 0x25, 0xeb, 0xdf, 0xb0, 0x2c, 0x7e, 0x06, + 0xa6, 0x34, 0xab, 0x1b, 0x35, 0x77, 0x51, 0x8a, 0xdc, 0x1f, 0xb8, 0x9f, 0x4c, 0xbd, 0x04, 0xfd, + 0x16, 0xf3, 0xbd, 0x54, 0xea, 0xcb, 0xe9, 0xcc, 0xca, 0xd6, 0xe2, 0xd7, 0xd2, 0x33, 0x2b, 0x0c, + 0xba, 0x25, 0x66, 0xaa, 0xe0, 0x3d, 0x03, 0x6b, 0xc4, 0x7a, 0xf8, 0xca, 0x93, 0xf0, 0x54, 0x47, + 0xf7, 0xf6, 0x7b, 0xbb, 0xf3, 0x9a, 0xd5, 0x5d, 0xe8, 0x58, 0x1d, 0xab, 0xff, 0x4d, 0x95, 0x3c, + 0xd1, 0x07, 0xfa, 0x1f, 0xff, 0xae, 0x5a, 0xf0, 0xa5, 0x33, 0xb1, 0x1f, 0x61, 0xeb, 0x1b, 0x30, + 0xc5, 0x95, 0x55, 0xfa, 0x61, 0x87, 0x1d, 0x4f, 0xe4, 0xfb, 0x5e, 0x8e, 0x55, 0xbe, 0xf1, 0x36, + 0x2d, 0xd7, 0xca, 0x24, 0x87, 0x92, 0x31, 0x76, 0x82, 0xa9, 0x2b, 0xf0, 0x40, 0x88, 0x8f, 0x6d, + 0x4d, 0xec, 0xc4, 0x30, 0x7e, 0x8f, 0x33, 0x4e, 0x05, 0x18, 0x5b, 0x1c, 0x5a, 0x5f, 0x82, 0xf1, + 0x93, 0x70, 0xfd, 0x3d, 0xe7, 0x2a, 0xe1, 0x20, 0xc9, 0x0a, 0x4c, 0x50, 0x12, 0xad, 0xe7, 0x7a, + 0x56, 0x97, 0xe6, 0xbd, 0xfb, 0xd3, 0xfc, 0xc3, 0xdb, 0x6c, 0xaf, 0x94, 0x09, 0x6c, 0xc9, 0x47, + 0xd5, 0xeb, 0x40, 0xbf, 0x65, 0xb5, 0xb1, 0x66, 0xc4, 0x30, 0xbc, 0xc9, 0x0d, 0xf1, 0xf5, 0xeb, + 0x9f, 0x86, 0x69, 0xf2, 0x3f, 0x4d, 0x4b, 0x41, 0x4b, 0xe2, 0x6f, 0xd2, 0x2a, 0x3f, 0x78, 0x85, + 0x6d, 0xc7, 0x29, 0x9f, 0x20, 0x60, 0x53, 0x60, 0x15, 0x3b, 0xd8, 0xf3, 0xb0, 0xe3, 0xaa, 0xc8, + 0x18, 0x66, 0x5e, 0xe0, 0x2a, 0xa2, 0xf2, 0x85, 0x77, 0xc2, 0xab, 0xb8, 0xc2, 0x90, 0x0d, 0xc3, + 0xa8, 0xef, 0xc0, 0xe9, 0x21, 0x51, 0x91, 0x80, 0xf3, 0x55, 0xce, 0x39, 0x3d, 0x10, 0x19, 0x84, + 0x76, 0x0b, 0x84, 0xdc, 0x5f, 0xcb, 0x04, 0x9c, 0xbf, 0xc7, 0x39, 0x65, 0x8e, 0x15, 0x4b, 0x4a, + 0x18, 0x9f, 0x83, 0xc9, 0x9b, 0xd8, 0xd9, 0xb5, 0x5c, 0x7e, 0xfd, 0x93, 0x80, 0xee, 0x35, 0x4e, + 0x37, 0xc1, 0x81, 0xf4, 0x3e, 0x88, 0x70, 0x5d, 0x85, 0xfc, 0x1e, 0xd2, 0x70, 0x02, 0x8a, 0x2f, + 0x72, 0x8a, 0x31, 0xa2, 0x4f, 0xa0, 0x0d, 0x28, 0x75, 0x2c, 0x5e, 0x99, 0xe2, 0xe1, 0xaf, 0x73, + 0x78, 0x51, 0x60, 0x38, 0x85, 0x6d, 0xd9, 0x3d, 0x83, 0x94, 0xad, 0x78, 0x8a, 0xdf, 0x17, 0x14, + 0x02, 0xc3, 0x29, 0x4e, 0xe0, 0xd6, 0x3f, 0x10, 0x14, 0x6e, 0xc0, 0x9f, 0xcf, 0x42, 0xd1, 0x32, + 0x8d, 0x43, 0xcb, 0x4c, 0x62, 0xc4, 0x97, 0x38, 0x03, 0x70, 0x08, 0x21, 0xb8, 0x06, 0x85, 0xa4, + 0x0b, 0xf1, 0x47, 0xef, 0x88, 0xed, 0x21, 0x56, 0x60, 0x05, 0x26, 0x44, 0x82, 0xd2, 0x2d, 0x33, + 0x01, 0xc5, 0x57, 0x38, 0x45, 0x39, 0x00, 0xe3, 0xd3, 0xf0, 0xb0, 0xeb, 0x75, 0x70, 0x12, 0x92, + 0x37, 0xc4, 0x34, 0x38, 0x84, 0xbb, 0x72, 0x17, 0x9b, 0xda, 0x7e, 0x32, 0x86, 0xaf, 0x0a, 0x57, + 0x0a, 0x0c, 0xa1, 0x58, 0x82, 0xf1, 0x2e, 0x72, 0xdc, 0x7d, 0x64, 0x24, 0x5a, 0x8e, 0x3f, 0xe6, + 0x1c, 0x25, 0x1f, 0xc4, 0x3d, 0xd2, 0x33, 0x4f, 0x42, 0xf3, 0x35, 0xe1, 0x91, 0x00, 0x8c, 0x6f, + 0x3d, 0xd7, 0xa3, 0x77, 0x65, 0x27, 0x61, 0xfb, 0x13, 0xb1, 0xf5, 0x18, 0x76, 0x3d, 0xc8, 0x78, + 0x0d, 0x0a, 0xae, 0x7e, 0x3b, 0x11, 0xcd, 0x9f, 0x8a, 0x95, 0xa6, 0x00, 0x02, 0x7e, 0x11, 0xce, + 0x0c, 0x2d, 0x13, 0x09, 0xc8, 0xfe, 0x8c, 0x93, 0x9d, 0x1a, 0x52, 0x2a, 0x78, 0x4a, 0x38, 0x29, + 0xe5, 0x9f, 0x8b, 0x94, 0x80, 0x23, 0x5c, 0x5b, 0xe4, 0xac, 0xe0, 0xa2, 0xbd, 0x93, 0x79, 0xed, + 0x2f, 0x84, 0xd7, 0x18, 0x36, 0xe4, 0xb5, 0x6d, 0x38, 0xc5, 0x19, 0x4f, 0xb6, 0xae, 0x5f, 0x17, + 0x89, 0x95, 0xa1, 0x77, 0xc2, 0xab, 0xfb, 0x19, 0x98, 0xf1, 0xdd, 0x29, 0x9a, 0x52, 0x57, 0xed, + 0x22, 0x3b, 0x01, 0xf3, 0x37, 0x38, 0xb3, 0xc8, 0xf8, 0x7e, 0x57, 0xeb, 0xae, 0x23, 0x9b, 0x90, + 0xbf, 0x00, 0x15, 0x41, 0xde, 0x33, 0x1d, 0xac, 0x59, 0x1d, 0x53, 0xbf, 0x8d, 0xdb, 0x09, 0xa8, + 0xff, 0x32, 0xb2, 0x54, 0x3b, 0x01, 0x38, 0x61, 0x5e, 0x05, 0xc9, 0xef, 0x55, 0x54, 0xbd, 0x6b, + 0x5b, 0x8e, 0x17, 0xc3, 0xf8, 0x57, 0x62, 0xa5, 0x7c, 0xdc, 0x2a, 0x85, 0xd5, 0x9b, 0x50, 0xa6, + 0x8f, 0x49, 0x43, 0xf2, 0xaf, 0x39, 0xd1, 0x78, 0x1f, 0xc5, 0x13, 0x87, 0x66, 0x75, 0x6d, 0xe4, + 0x24, 0xc9, 0x7f, 0xdf, 0x14, 0x89, 0x83, 0x43, 0x78, 0xe2, 0xf0, 0x0e, 0x6d, 0x4c, 0xaa, 0x7d, + 0x02, 0x86, 0x6f, 0x89, 0xc4, 0x21, 0x30, 0x9c, 0x42, 0x34, 0x0c, 0x09, 0x28, 0xfe, 0x46, 0x50, + 0x08, 0x0c, 0xa1, 0xf8, 0x54, 0xbf, 0xd0, 0x3a, 0xb8, 0xa3, 0xbb, 0x9e, 0xc3, 0x5a, 0xe1, 0xfb, + 0x53, 0x7d, 0xfb, 0x9d, 0x70, 0x13, 0xa6, 0x04, 0xa0, 0x24, 0x13, 0xf1, 0x2b, 0x54, 0x7a, 0x52, + 0x8a, 0x37, 0xec, 0x3b, 0x22, 0x13, 0x05, 0x60, 0xc4, 0xb6, 0x40, 0x87, 0x48, 0xdc, 0xae, 0x91, + 0xf3, 0x41, 0x02, 0xba, 0xef, 0x46, 0x8c, 0x6b, 0x09, 0x2c, 0xe1, 0x0c, 0xf4, 0x3f, 0x3d, 0xf3, + 0x00, 0x1f, 0x26, 0x8a, 0xce, 0xbf, 0x8d, 0xf4, 0x3f, 0x3b, 0x0c, 0xc9, 0x72, 0xc8, 0x44, 0xa4, + 0x9f, 0x92, 0xe3, 0x7e, 0x05, 0x54, 0xf9, 0xb9, 0x7b, 0x7c, 0xbe, 0xe1, 0x76, 0xaa, 0xbe, 0x46, + 0x82, 0x3c, 0xdc, 0xf4, 0xc4, 0x93, 0xbd, 0x72, 0xcf, 0x8f, 0xf3, 0x50, 0xcf, 0x53, 0xbf, 0x0e, + 0xe3, 0xa1, 0x86, 0x27, 0x9e, 0xea, 0xe7, 0x39, 0x55, 0x29, 0xd8, 0xef, 0xd4, 0x2f, 0x41, 0x96, + 0x34, 0x2f, 0xf1, 0xf0, 0x5f, 0xe0, 0x70, 0xaa, 0x5e, 0xff, 0x04, 0xe4, 0x45, 0xd3, 0x12, 0x0f, + 0xfd, 0x45, 0x0e, 0xf5, 0x21, 0x04, 0x2e, 0x1a, 0x96, 0x78, 0xf8, 0x2f, 0x09, 0xb8, 0x80, 0x10, + 0x78, 0x72, 0x17, 0xfe, 0xdd, 0x2f, 0x67, 0x79, 0xd1, 0x11, 0xbe, 0xbb, 0x06, 0x63, 0xbc, 0x53, + 0x89, 0x47, 0x7f, 0x8e, 0xbf, 0x5c, 0x20, 0xea, 0x4f, 0x43, 0x2e, 0xa1, 0xc3, 0x7f, 0x95, 0x43, + 0x99, 0x7e, 0x7d, 0x09, 0x8a, 0x81, 0xee, 0x24, 0x1e, 0xfe, 0x6b, 0x1c, 0x1e, 0x44, 0x11, 0xd3, + 0x79, 0x77, 0x12, 0x4f, 0xf0, 0xeb, 0xc2, 0x74, 0x8e, 0x20, 0x6e, 0x13, 0x8d, 0x49, 0x3c, 0xfa, + 0x37, 0x84, 0xd7, 0x05, 0xa4, 0xfe, 0x2c, 0x14, 0xfc, 0x62, 0x13, 0x8f, 0xff, 0x4d, 0x8e, 0xef, + 0x63, 0x88, 0x07, 0x02, 0xc5, 0x2e, 0x9e, 0xe2, 0xb7, 0x84, 0x07, 0x02, 0x28, 0xb2, 0x8d, 0xa2, + 0x0d, 0x4c, 0x3c, 0xd3, 0x6f, 0x8b, 0x6d, 0x14, 0xe9, 0x5f, 0xc8, 0x6a, 0xd2, 0x9c, 0x1f, 0x4f, + 0xf1, 0x3b, 0x62, 0x35, 0xa9, 0x3e, 0x31, 0x23, 0xda, 0x11, 0xc4, 0x73, 0xfc, 0xae, 0x30, 0x23, + 0xd2, 0x10, 0xd4, 0xb7, 0x40, 0x1e, 0xec, 0x06, 0xe2, 0xf9, 0x3e, 0xcf, 0xf9, 0x26, 0x07, 0x9a, + 0x81, 0xfa, 0xf3, 0x70, 0x6a, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0x85, 0x7b, 0x91, 0xb3, 0x5b, 0xb0, + 0x11, 0xa8, 0x6f, 0xf7, 0x4b, 0x4a, 0xb0, 0x0b, 0x88, 0xa7, 0x7d, 0xf5, 0x5e, 0x38, 0x71, 0x07, + 0x9b, 0x80, 0x7a, 0x03, 0xa0, 0x5f, 0x80, 0xe3, 0xb9, 0x5e, 0xe3, 0x5c, 0x01, 0x10, 0xd9, 0x1a, + 0xbc, 0xfe, 0xc6, 0xe3, 0xbf, 0x28, 0xb6, 0x06, 0x47, 0x90, 0xad, 0x21, 0x4a, 0x6f, 0x3c, 0xfa, + 0x75, 0xb1, 0x35, 0x04, 0x84, 0x44, 0x76, 0xa0, 0xba, 0xc5, 0x33, 0x7c, 0x49, 0x44, 0x76, 0x00, + 0x55, 0xdf, 0x80, 0xc9, 0x81, 0x82, 0x18, 0x4f, 0xf5, 0x65, 0x4e, 0x25, 0x45, 0xeb, 0x61, 0xb0, + 0x78, 0xf1, 0x62, 0x18, 0xcf, 0xf6, 0x87, 0x91, 0xe2, 0xc5, 0x6b, 0x61, 0xfd, 0x1a, 0xe4, 0xcd, + 0x9e, 0x61, 0x90, 0xcd, 0x23, 0xdf, 0xff, 0x97, 0x7b, 0x95, 0x7f, 0x7d, 0x9f, 0x7b, 0x47, 0x00, + 0xea, 0x97, 0x20, 0x87, 0xbb, 0xbb, 0xb8, 0x1d, 0x87, 0xfc, 0xb7, 0xf7, 0x45, 0xc2, 0x24, 0xda, + 0xf5, 0x67, 0x01, 0xd8, 0xd5, 0x08, 0xfd, 0xec, 0x17, 0x83, 0xfd, 0xf7, 0xf7, 0xf9, 0x6f, 0x6a, + 0xfa, 0x90, 0x3e, 0x01, 0xfb, 0x85, 0xce, 0xfd, 0x09, 0xde, 0x09, 0x13, 0xd0, 0x15, 0xb9, 0x0a, + 0x63, 0x37, 0x5c, 0xcb, 0xf4, 0x50, 0x27, 0x0e, 0xfd, 0x1f, 0x1c, 0x2d, 0xf4, 0x89, 0xc3, 0xba, + 0x96, 0x83, 0x3d, 0xd4, 0x71, 0xe3, 0xb0, 0xff, 0xc9, 0xb1, 0x3e, 0x80, 0x80, 0x35, 0xe4, 0x7a, + 0x49, 0xe6, 0xfd, 0x5f, 0x02, 0x2c, 0x00, 0xc4, 0x68, 0xf2, 0xff, 0x01, 0x3e, 0x8c, 0xc3, 0xbe, + 0x2b, 0x8c, 0xe6, 0xfa, 0xf5, 0x4f, 0x40, 0x81, 0xfc, 0xcb, 0x7e, 0x28, 0x17, 0x03, 0xfe, 0x6f, + 0x0e, 0xee, 0x23, 0xc8, 0x9b, 0x5d, 0xaf, 0xed, 0xe9, 0xf1, 0xce, 0xfe, 0x1f, 0xbe, 0xd2, 0x42, + 0xbf, 0xde, 0x80, 0xa2, 0xeb, 0xb5, 0xdb, 0x3d, 0xde, 0x9f, 0xc6, 0xc0, 0xff, 0xf7, 0x7d, 0xff, + 0xca, 0xc2, 0xc7, 0x90, 0xd5, 0xbe, 0x75, 0xe0, 0xd9, 0x16, 0xfd, 0xcc, 0x11, 0xc7, 0x70, 0x8f, + 0x33, 0x04, 0x20, 0x8b, 0xcd, 0xe1, 0xd7, 0xb7, 0xb0, 0x62, 0xad, 0x58, 0xec, 0xe2, 0xf6, 0xa5, + 0x5a, 0xfc, 0x0d, 0x2c, 0x7c, 0x33, 0x03, 0x33, 0x9a, 0xd5, 0xdd, 0xb5, 0xdc, 0x05, 0x3f, 0x1d, + 0x2f, 0x74, 0x91, 0xcd, 0x6f, 0x65, 0x8b, 0x5d, 0x64, 0xf3, 0xdf, 0xd5, 0xba, 0x33, 0x27, 0xbb, + 0xd1, 0xad, 0xfd, 0x2c, 0x8c, 0xad, 0x23, 0x7b, 0x1b, 0xbb, 0x9e, 0x4c, 0x7d, 0x4d, 0x7f, 0xc0, + 0xc5, 0xaf, 0xc9, 0x67, 0xe7, 0x03, 0xc4, 0xf3, 0x5c, 0x6d, 0xbe, 0xe5, 0x39, 0x2d, 0xcf, 0xa1, + 0x3f, 0x29, 0x50, 0x46, 0x5d, 0xfa, 0x30, 0x73, 0x15, 0x8a, 0x01, 0xb1, 0x2c, 0x41, 0xe6, 0x00, + 0x1f, 0xf2, 0x9f, 0x70, 0x91, 0x7f, 0xe5, 0xe9, 0xfe, 0x6f, 0x2c, 0x89, 0x8c, 0x3d, 0xd4, 0xd3, + 0x57, 0x52, 0xb5, 0x67, 0x60, 0xec, 0x3a, 0x3a, 0xc0, 0xeb, 0xc8, 0x96, 0x2f, 0xc0, 0x18, 0x36, + 0x3d, 0x47, 0xc7, 0x2e, 0x37, 0xe0, 0x4c, 0xc8, 0x00, 0xae, 0xc6, 0xde, 0x2c, 0x34, 0x6b, 0x6b, + 0x50, 0x0a, 0x0e, 0x24, 0x7d, 0x37, 0x91, 0x5a, 0xde, 0x3e, 0xff, 0xcd, 0x75, 0x41, 0x61, 0x0f, + 0x8b, 0xcb, 0x6f, 0xde, 0xad, 0x8e, 0x7c, 0xff, 0x6e, 0x75, 0xe4, 0x9f, 0xee, 0x56, 0x47, 0xde, + 0xba, 0x5b, 0x4d, 0xbd, 0x7b, 0xb7, 0x9a, 0x7a, 0xef, 0x6e, 0x35, 0x75, 0xe7, 0xa8, 0x9a, 0xfa, + 0xea, 0x51, 0x35, 0xf5, 0xf5, 0xa3, 0x6a, 0xea, 0xdb, 0x47, 0xd5, 0xd4, 0x9b, 0x47, 0xd5, 0xd4, + 0xf7, 0x8f, 0xaa, 0x23, 0x6f, 0x1d, 0x55, 0x53, 0x3f, 0x3a, 0xaa, 0x8e, 0xbc, 0x7b, 0x54, 0x4d, + 0xbd, 0x77, 0x54, 0x1d, 0xb9, 0xf3, 0xc3, 0xea, 0xc8, 0xee, 0x28, 0xf5, 0xed, 0x85, 0xff, 0x0b, + 0x00, 0x00, 0xff, 0xff, 0xcc, 0x07, 0xa8, 0x95, 0xac, 0x34, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1066,29 +1095,3 @@ func valueToStringMap(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("combos/marshaler/map.proto", fileDescriptor_map_65406068076b05e6) } - -var fileDescriptor_map_65406068076b05e6 = []byte{ - // 315 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x3f, 0x4f, 0x3a, 0x31, - 0x18, 0xc7, 0xfb, 0x40, 0x7e, 0x5c, 0x7e, 0xc5, 0xc1, 0x5c, 0x1c, 0x4e, 0x86, 0x27, 0x84, 0x89, - 0xc5, 0xbb, 0x44, 0x16, 0x71, 0x70, 0x30, 0xea, 0x24, 0x0b, 0xb8, 0x9b, 0x1e, 0x96, 0x3f, 0x81, - 0xa3, 0x97, 0xb6, 0x67, 0xc2, 0x24, 0x2f, 0xc7, 0xd1, 0xd1, 0x97, 0xc0, 0xc8, 0xe8, 0x48, 0xeb, - 0xe2, 0xc8, 0xc8, 0x68, 0xe8, 0x9d, 0xc9, 0xb9, 0xb9, 0x3d, 0x9f, 0x6f, 0x3f, 0xed, 0xf3, 0x4d, - 0x69, 0x63, 0x28, 0x92, 0x58, 0xa8, 0x28, 0x61, 0x52, 0x4d, 0xd8, 0x9c, 0xcb, 0x28, 0x61, 0x69, - 0x98, 0x4a, 0xa1, 0x85, 0x5f, 0x4f, 0x58, 0xfa, 0xc4, 0x47, 0x2c, 0x9b, 0x6b, 0xd5, 0x38, 0x1b, - 0x4f, 0xf5, 0x24, 0x8b, 0xc3, 0xa1, 0x48, 0xa2, 0xb1, 0x18, 0x8b, 0xc8, 0x39, 0x71, 0x36, 0x72, - 0xe4, 0xc0, 0x4d, 0xf9, 0xdd, 0xd6, 0x0b, 0xf5, 0x7a, 0x2c, 0x7d, 0xe0, 0x4a, 0xfb, 0x5d, 0xea, - 0x29, 0x2d, 0x1f, 0x95, 0x96, 0x01, 0x34, 0xab, 0xed, 0xfa, 0x79, 0x33, 0x2c, 0x3d, 0x1c, 0x16, - 0x5a, 0x38, 0xd0, 0x72, 0xa0, 0xe5, 0xed, 0x42, 0xcb, 0x65, 0xbf, 0xa6, 0x1c, 0x34, 0xba, 0xb4, - 0x5e, 0x8a, 0xfd, 0x63, 0x5a, 0x9d, 0xf1, 0x65, 0x00, 0x4d, 0x68, 0xff, 0xef, 0x1f, 0x46, 0xff, - 0x84, 0xfe, 0x7b, 0x66, 0xf3, 0x8c, 0x07, 0x15, 0x97, 0xe5, 0x70, 0x59, 0xb9, 0x80, 0xd6, 0x15, - 0xf5, 0xee, 0xd8, 0x8c, 0xf7, 0x58, 0xea, 0x77, 0xa8, 0xc7, 0x17, 0x5a, 0x4e, 0xb9, 0x2a, 0x0a, - 0x9c, 0xfe, 0x2a, 0x50, 0x68, 0xf9, 0xe6, 0x1f, 0xb3, 0x75, 0x4f, 0x8f, 0xca, 0x07, 0x7f, 0xdd, - 0x7d, 0x48, 0x85, 0x9e, 0x70, 0x19, 0x54, 0xf3, 0xd4, 0xc1, 0xf5, 0xcd, 0xda, 0x20, 0xd9, 0x18, - 0x24, 0x1f, 0x06, 0xc9, 0xd6, 0x20, 0xec, 0x0c, 0xc2, 0xde, 0x20, 0xac, 0x2c, 0xc2, 0xab, 0x45, - 0x78, 0xb3, 0x08, 0xef, 0x16, 0x61, 0x6d, 0x11, 0x36, 0x16, 0xc9, 0xd6, 0x22, 0x7c, 0x59, 0x24, - 0x3b, 0x8b, 0xb0, 0xb7, 0x48, 0x56, 0x9f, 0x48, 0xe2, 0x9a, 0xfb, 0xdb, 0xce, 0x77, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xde, 0x50, 0x18, 0x62, 0xb5, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/neither/map.pb.go b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/neither/map.pb.go index 3a6cd46dc..57bbf669c 100644 --- a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/neither/map.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/neither/map.pb.go @@ -3,20 +3,20 @@ package mapdefaults -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -39,7 +39,7 @@ type MapTest struct { func (m *MapTest) Reset() { *m = MapTest{} } func (*MapTest) ProtoMessage() {} func (*MapTest) Descriptor() ([]byte, []int) { - return fileDescriptor_map_f8afe0c559a577e0, []int{0} + return fileDescriptor_8cd5e5326d33da91, []int{0} } func (m *MapTest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapTest.Unmarshal(m, b) @@ -47,8 +47,8 @@ func (m *MapTest) XXX_Unmarshal(b []byte) error { func (m *MapTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapTest.Marshal(b, m, deterministic) } -func (dst *MapTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapTest.Merge(dst, src) +func (m *MapTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapTest.Merge(m, src) } func (m *MapTest) XXX_Size() int { return xxx_messageInfo_MapTest.Size(m) @@ -69,7 +69,7 @@ type FakeMap struct { func (m *FakeMap) Reset() { *m = FakeMap{} } func (*FakeMap) ProtoMessage() {} func (*FakeMap) Descriptor() ([]byte, []int) { - return fileDescriptor_map_f8afe0c559a577e0, []int{1} + return fileDescriptor_8cd5e5326d33da91, []int{1} } func (m *FakeMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FakeMap.Unmarshal(m, b) @@ -77,8 +77,8 @@ func (m *FakeMap) XXX_Unmarshal(b []byte) error { func (m *FakeMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FakeMap.Marshal(b, m, deterministic) } -func (dst *FakeMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMap.Merge(dst, src) +func (m *FakeMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMap.Merge(m, src) } func (m *FakeMap) XXX_Size() int { return xxx_messageInfo_FakeMap.Size(m) @@ -101,7 +101,7 @@ type FakeMapEntry struct { func (m *FakeMapEntry) Reset() { *m = FakeMapEntry{} } func (*FakeMapEntry) ProtoMessage() {} func (*FakeMapEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_map_f8afe0c559a577e0, []int{2} + return fileDescriptor_8cd5e5326d33da91, []int{2} } func (m *FakeMapEntry) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FakeMapEntry.Unmarshal(m, b) @@ -109,8 +109,8 @@ func (m *FakeMapEntry) XXX_Unmarshal(b []byte) error { func (m *FakeMapEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FakeMapEntry.Marshal(b, m, deterministic) } -func (dst *FakeMapEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMapEntry.Merge(dst, src) +func (m *FakeMapEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMapEntry.Merge(m, src) } func (m *FakeMapEntry) XXX_Size() int { return xxx_messageInfo_FakeMapEntry.Size(m) @@ -127,6 +127,33 @@ func init() { proto.RegisterType((*FakeMap)(nil), "mapdefaults.FakeMap") proto.RegisterType((*FakeMapEntry)(nil), "mapdefaults.FakeMapEntry") } + +func init() { proto.RegisterFile("combos/neither/map.proto", fileDescriptor_8cd5e5326d33da91) } + +var fileDescriptor_8cd5e5326d33da91 = []byte{ + // 313 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x3f, 0x4f, 0x32, 0x41, + 0x10, 0x87, 0x77, 0x20, 0x2f, 0x97, 0x77, 0xb1, 0x30, 0x17, 0x8b, 0x93, 0x62, 0x42, 0xa8, 0x68, + 0xbc, 0x4b, 0xa4, 0x11, 0x0b, 0x0b, 0xa3, 0x56, 0xd2, 0x80, 0xbd, 0xd9, 0xc3, 0xe5, 0x4f, 0xe0, + 0xd8, 0xcb, 0xee, 0x9e, 0x09, 0x95, 0x7c, 0x1c, 0x4b, 0x4b, 0x3f, 0x02, 0x25, 0xa5, 0x25, 0xbb, + 0x36, 0x96, 0x94, 0x94, 0x86, 0xbd, 0x33, 0x39, 0x3b, 0xbb, 0x79, 0x7e, 0xfb, 0xec, 0xcc, 0x64, + 0x68, 0x30, 0x14, 0x49, 0x2c, 0x54, 0xb4, 0xe0, 0x53, 0x3d, 0xe1, 0x32, 0x4a, 0x58, 0x1a, 0xa6, + 0x52, 0x68, 0xe1, 0xd7, 0x13, 0x96, 0x3e, 0xf1, 0x11, 0xcb, 0xe6, 0x5a, 0x35, 0xce, 0xc6, 0x53, + 0x3d, 0xc9, 0xe2, 0x70, 0x28, 0x92, 0x68, 0x2c, 0xc6, 0x22, 0x72, 0x4e, 0x9c, 0x8d, 0x1c, 0x39, + 0x70, 0x55, 0xfe, 0xb7, 0xf5, 0x42, 0xbd, 0x1e, 0x4b, 0x1f, 0xb8, 0xd2, 0x7e, 0x97, 0x7a, 0x4a, + 0xcb, 0x47, 0xa5, 0x65, 0x00, 0xcd, 0x6a, 0xbb, 0x7e, 0xde, 0x0c, 0x4b, 0x8d, 0xc3, 0x42, 0x0b, + 0x07, 0x5a, 0x0e, 0xb4, 0xbc, 0x5d, 0x68, 0xb9, 0xec, 0xd7, 0x94, 0x83, 0x46, 0x97, 0xd6, 0x4b, + 0xb1, 0x7f, 0x4c, 0xab, 0x33, 0xbe, 0x0c, 0xa0, 0x09, 0xed, 0xff, 0xfd, 0x43, 0xe9, 0x9f, 0xd0, + 0x7f, 0xcf, 0x6c, 0x9e, 0xf1, 0xa0, 0xe2, 0xb2, 0x1c, 0x2e, 0x2b, 0x17, 0xd0, 0xba, 0xa2, 0xde, + 0x1d, 0x9b, 0xf1, 0x1e, 0x4b, 0xfd, 0x0e, 0xf5, 0xf8, 0x42, 0xcb, 0x29, 0x57, 0xc5, 0x02, 0xa7, + 0xbf, 0x16, 0x28, 0xb4, 0x7c, 0xf2, 0x8f, 0xd9, 0xba, 0xa7, 0x47, 0xe5, 0x87, 0xbf, 0xce, 0x3e, + 0xa4, 0xe2, 0x70, 0xc7, 0xa0, 0x9a, 0xa7, 0x0e, 0xae, 0x6f, 0xd6, 0x06, 0xc9, 0xc6, 0x20, 0xf9, + 0x30, 0x48, 0xb6, 0x06, 0x61, 0x67, 0x10, 0xf6, 0x06, 0x61, 0x65, 0x11, 0x5e, 0x2d, 0xc2, 0x9b, + 0x45, 0x78, 0xb7, 0x08, 0x6b, 0x8b, 0x64, 0x63, 0x91, 0x6c, 0x2d, 0xc2, 0x97, 0x45, 0xb2, 0xb3, + 0x08, 0x7b, 0x8b, 0x64, 0xf5, 0x89, 0x24, 0xae, 0xb9, 0xdb, 0x76, 0xbe, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x9d, 0x34, 0x83, 0xd1, 0xb3, 0x01, 0x00, 0x00, +} + func (this *MapTest) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return MapDescription() } @@ -139,256 +166,258 @@ func (this *FakeMapEntry) Description() (desc *github_com_gogo_protobuf_protoc_g func MapDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3978 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5d, 0x70, 0xe3, 0xd6, - 0x75, 0x16, 0xff, 0x24, 0xf2, 0x90, 0xa2, 0x20, 0x48, 0xde, 0xe5, 0xca, 0x31, 0x57, 0x4b, 0xdb, - 0xb1, 0x6c, 0x37, 0x52, 0x66, 0xd7, 0xbb, 0xde, 0xe5, 0x36, 0x76, 0x29, 0x89, 0xab, 0xd0, 0x95, - 0x44, 0x06, 0x94, 0xe2, 0x9f, 0x4c, 0x07, 0x03, 0x81, 0x97, 0x14, 0x56, 0x20, 0x80, 0x00, 0xe0, - 0xae, 0xb5, 0xd3, 0x99, 0x6e, 0xc7, 0xfd, 0x99, 0x4c, 0xa7, 0xff, 0x9d, 0x69, 0xe2, 0x3a, 0x6e, - 0x93, 0x4e, 0xe3, 0x34, 0xfd, 0x4b, 0xea, 0x36, 0x4d, 0xd2, 0x97, 0xbe, 0xa4, 0xf5, 0x53, 0x27, - 0x79, 0xeb, 0x43, 0x1f, 0xbc, 0x8a, 0x67, 0x9a, 0xb6, 0x6e, 0xe3, 0xb6, 0xfb, 0xe0, 0x99, 0x7d, - 0xe9, 0xdc, 0x3f, 0x10, 0x00, 0xa9, 0x05, 0x94, 0x19, 0x3b, 0x4f, 0x12, 0xce, 0x3d, 0xdf, 0x87, - 0x73, 0xcf, 0x3d, 0xf7, 0x9c, 0x73, 0x2f, 0x08, 0x3f, 0xba, 0x02, 0x8b, 0x3d, 0xd3, 0xec, 0xe9, - 0x68, 0xc5, 0xb2, 0x4d, 0xd7, 0xdc, 0x1b, 0x74, 0x57, 0x3a, 0xc8, 0x51, 0x6d, 0xcd, 0x72, 0x4d, - 0x7b, 0x99, 0xc8, 0xc4, 0x19, 0xaa, 0xb1, 0xcc, 0x35, 0x2a, 0x5b, 0x30, 0x7b, 0x4d, 0xd3, 0xd1, - 0xba, 0xa7, 0xd8, 0x46, 0xae, 0x78, 0x19, 0xd2, 0x5d, 0x4d, 0x47, 0xa5, 0xc4, 0x62, 0x6a, 0x29, - 0x7f, 0xfe, 0x91, 0xe5, 0x10, 0x68, 0x39, 0x88, 0x68, 0x61, 0xb1, 0x44, 0x10, 0x95, 0x77, 0xd2, - 0x30, 0x37, 0x66, 0x54, 0x14, 0x21, 0x6d, 0x28, 0x7d, 0xcc, 0x98, 0x58, 0xca, 0x49, 0xe4, 0x7f, - 0xb1, 0x04, 0x53, 0x96, 0xa2, 0x1e, 0x28, 0x3d, 0x54, 0x4a, 0x12, 0x31, 0x7f, 0x14, 0xcb, 0x00, - 0x1d, 0x64, 0x21, 0xa3, 0x83, 0x0c, 0xf5, 0xb0, 0x94, 0x5a, 0x4c, 0x2d, 0xe5, 0x24, 0x9f, 0x44, - 0x7c, 0x12, 0x66, 0xad, 0xc1, 0x9e, 0xae, 0xa9, 0xb2, 0x4f, 0x0d, 0x16, 0x53, 0x4b, 0x19, 0x49, - 0xa0, 0x03, 0xeb, 0x43, 0xe5, 0xc7, 0x60, 0xe6, 0x26, 0x52, 0x0e, 0xfc, 0xaa, 0x79, 0xa2, 0x5a, - 0xc4, 0x62, 0x9f, 0xe2, 0x1a, 0x14, 0xfa, 0xc8, 0x71, 0x94, 0x1e, 0x92, 0xdd, 0x43, 0x0b, 0x95, - 0xd2, 0x64, 0xf6, 0x8b, 0x23, 0xb3, 0x0f, 0xcf, 0x3c, 0xcf, 0x50, 0x3b, 0x87, 0x16, 0x12, 0x6b, - 0x90, 0x43, 0xc6, 0xa0, 0x4f, 0x19, 0x32, 0xc7, 0xf8, 0xaf, 0x6e, 0x0c, 0xfa, 0x61, 0x96, 0x2c, - 0x86, 0x31, 0x8a, 0x29, 0x07, 0xd9, 0x37, 0x34, 0x15, 0x95, 0x26, 0x09, 0xc1, 0x63, 0x23, 0x04, - 0x6d, 0x3a, 0x1e, 0xe6, 0xe0, 0x38, 0x71, 0x0d, 0x72, 0xe8, 0x65, 0x17, 0x19, 0x8e, 0x66, 0x1a, - 0xa5, 0x29, 0x42, 0xf2, 0xe8, 0x98, 0x55, 0x44, 0x7a, 0x27, 0x4c, 0x31, 0xc4, 0x89, 0x97, 0x60, - 0xca, 0xb4, 0x5c, 0xcd, 0x34, 0x9c, 0x52, 0x76, 0x31, 0xb1, 0x94, 0x3f, 0xff, 0x91, 0xb1, 0x81, - 0xd0, 0xa4, 0x3a, 0x12, 0x57, 0x16, 0x1b, 0x20, 0x38, 0xe6, 0xc0, 0x56, 0x91, 0xac, 0x9a, 0x1d, - 0x24, 0x6b, 0x46, 0xd7, 0x2c, 0xe5, 0x08, 0xc1, 0xd9, 0xd1, 0x89, 0x10, 0xc5, 0x35, 0xb3, 0x83, - 0x1a, 0x46, 0xd7, 0x94, 0x8a, 0x4e, 0xe0, 0x59, 0x3c, 0x05, 0x93, 0xce, 0xa1, 0xe1, 0x2a, 0x2f, - 0x97, 0x0a, 0x24, 0x42, 0xd8, 0x53, 0xe5, 0xdb, 0x93, 0x30, 0x13, 0x27, 0xc4, 0xae, 0x42, 0xa6, - 0x8b, 0x67, 0x59, 0x4a, 0x9e, 0xc4, 0x07, 0x14, 0x13, 0x74, 0xe2, 0xe4, 0x8f, 0xe9, 0xc4, 0x1a, - 0xe4, 0x0d, 0xe4, 0xb8, 0xa8, 0x43, 0x23, 0x22, 0x15, 0x33, 0xa6, 0x80, 0x82, 0x46, 0x43, 0x2a, - 0xfd, 0x63, 0x85, 0xd4, 0x0b, 0x30, 0xe3, 0x99, 0x24, 0xdb, 0x8a, 0xd1, 0xe3, 0xb1, 0xb9, 0x12, - 0x65, 0xc9, 0x72, 0x9d, 0xe3, 0x24, 0x0c, 0x93, 0x8a, 0x28, 0xf0, 0x2c, 0xae, 0x03, 0x98, 0x06, - 0x32, 0xbb, 0x72, 0x07, 0xa9, 0x7a, 0x29, 0x7b, 0x8c, 0x97, 0x9a, 0x58, 0x65, 0xc4, 0x4b, 0x26, - 0x95, 0xaa, 0xba, 0x78, 0x65, 0x18, 0x6a, 0x53, 0xc7, 0x44, 0xca, 0x16, 0xdd, 0x64, 0x23, 0xd1, - 0xb6, 0x0b, 0x45, 0x1b, 0xe1, 0xb8, 0x47, 0x1d, 0x36, 0xb3, 0x1c, 0x31, 0x62, 0x39, 0x72, 0x66, - 0x12, 0x83, 0xd1, 0x89, 0x4d, 0xdb, 0xfe, 0x47, 0xf1, 0x61, 0xf0, 0x04, 0x32, 0x09, 0x2b, 0x20, - 0x59, 0xa8, 0xc0, 0x85, 0xdb, 0x4a, 0x1f, 0x2d, 0xdc, 0x82, 0x62, 0xd0, 0x3d, 0xe2, 0x3c, 0x64, - 0x1c, 0x57, 0xb1, 0x5d, 0x12, 0x85, 0x19, 0x89, 0x3e, 0x88, 0x02, 0xa4, 0x90, 0xd1, 0x21, 0x59, - 0x2e, 0x23, 0xe1, 0x7f, 0xc5, 0x9f, 0x19, 0x4e, 0x38, 0x45, 0x26, 0xfc, 0xd1, 0xd1, 0x15, 0x0d, - 0x30, 0x87, 0xe7, 0xbd, 0xf0, 0x34, 0x4c, 0x07, 0x26, 0x10, 0xf7, 0xd5, 0x95, 0x9f, 0x87, 0x07, - 0xc6, 0x52, 0x8b, 0x2f, 0xc0, 0xfc, 0xc0, 0xd0, 0x0c, 0x17, 0xd9, 0x96, 0x8d, 0x70, 0xc4, 0xd2, - 0x57, 0x95, 0xfe, 0x6d, 0xea, 0x98, 0x98, 0xdb, 0xf5, 0x6b, 0x53, 0x16, 0x69, 0x6e, 0x30, 0x2a, - 0x7c, 0x22, 0x97, 0xfd, 0xe1, 0x94, 0x70, 0xfb, 0xf6, 0xed, 0xdb, 0xc9, 0xca, 0xe7, 0x27, 0x61, - 0x7e, 0xdc, 0x9e, 0x19, 0xbb, 0x7d, 0x4f, 0xc1, 0xa4, 0x31, 0xe8, 0xef, 0x21, 0x9b, 0x38, 0x29, - 0x23, 0xb1, 0x27, 0xb1, 0x06, 0x19, 0x5d, 0xd9, 0x43, 0x7a, 0x29, 0xbd, 0x98, 0x58, 0x2a, 0x9e, - 0x7f, 0x32, 0xd6, 0xae, 0x5c, 0xde, 0xc4, 0x10, 0x89, 0x22, 0xc5, 0x67, 0x20, 0xcd, 0x52, 0x34, - 0x66, 0x78, 0x22, 0x1e, 0x03, 0xde, 0x4b, 0x12, 0xc1, 0x89, 0x0f, 0x42, 0x0e, 0xff, 0xa5, 0xb1, - 0x31, 0x49, 0x6c, 0xce, 0x62, 0x01, 0x8e, 0x0b, 0x71, 0x01, 0xb2, 0x64, 0x9b, 0x74, 0x10, 0x2f, - 0x6d, 0xde, 0x33, 0x0e, 0xac, 0x0e, 0xea, 0x2a, 0x03, 0xdd, 0x95, 0x6f, 0x28, 0xfa, 0x00, 0x91, - 0x80, 0xcf, 0x49, 0x05, 0x26, 0xfc, 0x34, 0x96, 0x89, 0x67, 0x21, 0x4f, 0x77, 0x95, 0x66, 0x74, - 0xd0, 0xcb, 0x24, 0x7b, 0x66, 0x24, 0xba, 0xd1, 0x1a, 0x58, 0x82, 0x5f, 0x7f, 0xdd, 0x31, 0x0d, - 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0xff, 0x74, 0x38, 0x71, 0x3f, 0x34, 0x7e, 0x7a, 0xe1, - 0x98, 0xaa, 0x7c, 0x33, 0x09, 0x69, 0x92, 0x2f, 0x66, 0x20, 0xbf, 0xf3, 0x62, 0xab, 0x2e, 0xaf, - 0x37, 0x77, 0x57, 0x37, 0xeb, 0x42, 0x42, 0x2c, 0x02, 0x10, 0xc1, 0xb5, 0xcd, 0x66, 0x6d, 0x47, - 0x48, 0x7a, 0xcf, 0x8d, 0xed, 0x9d, 0x4b, 0x4f, 0x09, 0x29, 0x0f, 0xb0, 0x4b, 0x05, 0x69, 0xbf, - 0xc2, 0x85, 0xf3, 0x42, 0x46, 0x14, 0xa0, 0x40, 0x09, 0x1a, 0x2f, 0xd4, 0xd7, 0x2f, 0x3d, 0x25, - 0x4c, 0x06, 0x25, 0x17, 0xce, 0x0b, 0x53, 0xe2, 0x34, 0xe4, 0x88, 0x64, 0xb5, 0xd9, 0xdc, 0x14, - 0xb2, 0x1e, 0x67, 0x7b, 0x47, 0x6a, 0x6c, 0x6f, 0x08, 0x39, 0x8f, 0x73, 0x43, 0x6a, 0xee, 0xb6, - 0x04, 0xf0, 0x18, 0xb6, 0xea, 0xed, 0x76, 0x6d, 0xa3, 0x2e, 0xe4, 0x3d, 0x8d, 0xd5, 0x17, 0x77, - 0xea, 0x6d, 0xa1, 0x10, 0x30, 0xeb, 0xc2, 0x79, 0x61, 0xda, 0x7b, 0x45, 0x7d, 0x7b, 0x77, 0x4b, - 0x28, 0x8a, 0xb3, 0x30, 0x4d, 0x5f, 0xc1, 0x8d, 0x98, 0x09, 0x89, 0x2e, 0x3d, 0x25, 0x08, 0x43, - 0x43, 0x28, 0xcb, 0x6c, 0x40, 0x70, 0xe9, 0x29, 0x41, 0xac, 0xac, 0x41, 0x86, 0x44, 0x97, 0x28, - 0x42, 0x71, 0xb3, 0xb6, 0x5a, 0xdf, 0x94, 0x9b, 0xad, 0x9d, 0x46, 0x73, 0xbb, 0xb6, 0x29, 0x24, - 0x86, 0x32, 0xa9, 0xfe, 0xa9, 0xdd, 0x86, 0x54, 0x5f, 0x17, 0x92, 0x7e, 0x59, 0xab, 0x5e, 0xdb, - 0xa9, 0xaf, 0x0b, 0xa9, 0x8a, 0x0a, 0xf3, 0xe3, 0xf2, 0xe4, 0xd8, 0x9d, 0xe1, 0x5b, 0xe2, 0xe4, - 0x31, 0x4b, 0x4c, 0xb8, 0x46, 0x96, 0xf8, 0x07, 0x49, 0x98, 0x1b, 0x53, 0x2b, 0xc6, 0xbe, 0xe4, - 0x59, 0xc8, 0xd0, 0x10, 0xa5, 0xd5, 0xf3, 0xf1, 0xb1, 0x45, 0x87, 0x04, 0xec, 0x48, 0x05, 0x25, - 0x38, 0x7f, 0x07, 0x91, 0x3a, 0xa6, 0x83, 0xc0, 0x14, 0x23, 0x39, 0xfd, 0xe7, 0x46, 0x72, 0x3a, - 0x2d, 0x7b, 0x97, 0xe2, 0x94, 0x3d, 0x22, 0x3b, 0x59, 0x6e, 0xcf, 0x8c, 0xc9, 0xed, 0x57, 0x61, - 0x76, 0x84, 0x28, 0x76, 0x8e, 0x7d, 0x25, 0x01, 0xa5, 0xe3, 0x9c, 0x13, 0x91, 0xe9, 0x92, 0x81, - 0x4c, 0x77, 0x35, 0xec, 0xc1, 0x73, 0xc7, 0x2f, 0xc2, 0xc8, 0x5a, 0xbf, 0x91, 0x80, 0x53, 0xe3, - 0x3b, 0xc5, 0xb1, 0x36, 0x3c, 0x03, 0x93, 0x7d, 0xe4, 0xee, 0x9b, 0xbc, 0x5b, 0xfa, 0xe8, 0x98, - 0x1a, 0x8c, 0x87, 0xc3, 0x8b, 0xcd, 0x50, 0xfe, 0x22, 0x9e, 0x3a, 0xae, 0xdd, 0xa3, 0xd6, 0x8c, - 0x58, 0xfa, 0xb9, 0x24, 0x3c, 0x30, 0x96, 0x7c, 0xac, 0xa1, 0x0f, 0x01, 0x68, 0x86, 0x35, 0x70, - 0x69, 0x47, 0x44, 0x13, 0x6c, 0x8e, 0x48, 0x48, 0xf2, 0xc2, 0xc9, 0x73, 0xe0, 0x7a, 0xe3, 0x29, - 0x32, 0x0e, 0x54, 0x44, 0x14, 0x2e, 0x0f, 0x0d, 0x4d, 0x13, 0x43, 0xcb, 0xc7, 0xcc, 0x74, 0x24, - 0x30, 0x3f, 0x0e, 0x82, 0xaa, 0x6b, 0xc8, 0x70, 0x65, 0xc7, 0xb5, 0x91, 0xd2, 0xd7, 0x8c, 0x1e, - 0xa9, 0x20, 0xd9, 0x6a, 0xa6, 0xab, 0xe8, 0x0e, 0x92, 0x66, 0xe8, 0x70, 0x9b, 0x8f, 0x62, 0x04, - 0x09, 0x20, 0xdb, 0x87, 0x98, 0x0c, 0x20, 0xe8, 0xb0, 0x87, 0xa8, 0xbc, 0x99, 0x85, 0xbc, 0xaf, - 0xaf, 0x16, 0xcf, 0x41, 0xe1, 0xba, 0x72, 0x43, 0x91, 0xf9, 0x59, 0x89, 0x7a, 0x22, 0x8f, 0x65, - 0x2d, 0x76, 0x5e, 0xfa, 0x38, 0xcc, 0x13, 0x15, 0x73, 0xe0, 0x22, 0x5b, 0x56, 0x75, 0xc5, 0x71, - 0x88, 0xd3, 0xb2, 0x44, 0x55, 0xc4, 0x63, 0x4d, 0x3c, 0xb4, 0xc6, 0x47, 0xc4, 0x8b, 0x30, 0x47, - 0x10, 0xfd, 0x81, 0xee, 0x6a, 0x96, 0x8e, 0x64, 0x7c, 0x7a, 0x73, 0x48, 0x25, 0xf1, 0x2c, 0x9b, - 0xc5, 0x1a, 0x5b, 0x4c, 0x01, 0x5b, 0xe4, 0x88, 0xeb, 0xf0, 0x10, 0x81, 0xf5, 0x90, 0x81, 0x6c, - 0xc5, 0x45, 0x32, 0xfa, 0xec, 0x40, 0xd1, 0x1d, 0x59, 0x31, 0x3a, 0xf2, 0xbe, 0xe2, 0xec, 0x97, - 0xe6, 0x31, 0xc1, 0x6a, 0xb2, 0x94, 0x90, 0xce, 0x60, 0xc5, 0x0d, 0xa6, 0x57, 0x27, 0x6a, 0x35, - 0xa3, 0xf3, 0x49, 0xc5, 0xd9, 0x17, 0xab, 0x70, 0x8a, 0xb0, 0x38, 0xae, 0xad, 0x19, 0x3d, 0x59, - 0xdd, 0x47, 0xea, 0x81, 0x3c, 0x70, 0xbb, 0x97, 0x4b, 0x0f, 0xfa, 0xdf, 0x4f, 0x2c, 0x6c, 0x13, - 0x9d, 0x35, 0xac, 0xb2, 0xeb, 0x76, 0x2f, 0x8b, 0x6d, 0x28, 0xe0, 0xc5, 0xe8, 0x6b, 0xb7, 0x90, - 0xdc, 0x35, 0x6d, 0x52, 0x1a, 0x8b, 0x63, 0x52, 0x93, 0xcf, 0x83, 0xcb, 0x4d, 0x06, 0xd8, 0x32, - 0x3b, 0xa8, 0x9a, 0x69, 0xb7, 0xea, 0xf5, 0x75, 0x29, 0xcf, 0x59, 0xae, 0x99, 0x36, 0x0e, 0xa8, - 0x9e, 0xe9, 0x39, 0x38, 0x4f, 0x03, 0xaa, 0x67, 0x72, 0xf7, 0x5e, 0x84, 0x39, 0x55, 0xa5, 0x73, - 0xd6, 0x54, 0x99, 0x9d, 0xb1, 0x9c, 0x92, 0x10, 0x70, 0x96, 0xaa, 0x6e, 0x50, 0x05, 0x16, 0xe3, - 0x8e, 0x78, 0x05, 0x1e, 0x18, 0x3a, 0xcb, 0x0f, 0x9c, 0x1d, 0x99, 0x65, 0x18, 0x7a, 0x11, 0xe6, - 0xac, 0xc3, 0x51, 0xa0, 0x18, 0x78, 0xa3, 0x75, 0x18, 0x86, 0x3d, 0x0d, 0xf3, 0xd6, 0xbe, 0x35, - 0x8a, 0x7b, 0xc2, 0x8f, 0x13, 0xad, 0x7d, 0x2b, 0x0c, 0x7c, 0x94, 0x1c, 0xb8, 0x6d, 0xa4, 0x2a, - 0x2e, 0xea, 0x94, 0x4e, 0xfb, 0xd5, 0x7d, 0x03, 0xe2, 0x0a, 0x08, 0xaa, 0x2a, 0x23, 0x43, 0xd9, - 0xd3, 0x91, 0xac, 0xd8, 0xc8, 0x50, 0x9c, 0xd2, 0x59, 0xbf, 0x72, 0x51, 0x55, 0xeb, 0x64, 0xb4, - 0x46, 0x06, 0xc5, 0x27, 0x60, 0xd6, 0xdc, 0xbb, 0xae, 0xd2, 0x90, 0x94, 0x2d, 0x1b, 0x75, 0xb5, - 0x97, 0x4b, 0x8f, 0x10, 0xff, 0xce, 0xe0, 0x01, 0x12, 0x90, 0x2d, 0x22, 0x16, 0x1f, 0x07, 0x41, - 0x75, 0xf6, 0x15, 0xdb, 0x22, 0x39, 0xd9, 0xb1, 0x14, 0x15, 0x95, 0x1e, 0xa5, 0xaa, 0x54, 0xbe, - 0xcd, 0xc5, 0x78, 0x4b, 0x38, 0x37, 0xb5, 0xae, 0xcb, 0x19, 0x1f, 0xa3, 0x5b, 0x82, 0xc8, 0x18, - 0xdb, 0x12, 0x08, 0xd8, 0x15, 0x81, 0x17, 0x2f, 0x11, 0xb5, 0xa2, 0xb5, 0x6f, 0xf9, 0xdf, 0xfb, - 0x30, 0x4c, 0x63, 0xcd, 0xe1, 0x4b, 0x1f, 0xa7, 0x0d, 0x99, 0xb5, 0xef, 0x7b, 0xe3, 0x07, 0xd6, - 0x1b, 0x57, 0xaa, 0x50, 0xf0, 0xc7, 0xa7, 0x98, 0x03, 0x1a, 0xa1, 0x42, 0x02, 0x37, 0x2b, 0x6b, - 0xcd, 0x75, 0xdc, 0x66, 0xbc, 0x54, 0x17, 0x92, 0xb8, 0xdd, 0xd9, 0x6c, 0xec, 0xd4, 0x65, 0x69, - 0x77, 0x7b, 0xa7, 0xb1, 0x55, 0x17, 0x52, 0xfe, 0xbe, 0xfa, 0xbb, 0x49, 0x28, 0x06, 0x8f, 0x48, - 0xe2, 0x4f, 0xc3, 0x69, 0x7e, 0x9f, 0xe1, 0x20, 0x57, 0xbe, 0xa9, 0xd9, 0x64, 0xcb, 0xf4, 0x15, - 0x5a, 0xbe, 0xbc, 0x45, 0x9b, 0x67, 0x5a, 0x6d, 0xe4, 0x3e, 0xaf, 0xd9, 0x78, 0x43, 0xf4, 0x15, - 0x57, 0xdc, 0x84, 0xb3, 0x86, 0x29, 0x3b, 0xae, 0x62, 0x74, 0x14, 0xbb, 0x23, 0x0f, 0x6f, 0x92, - 0x64, 0x45, 0x55, 0x91, 0xe3, 0x98, 0xb4, 0x54, 0x79, 0x2c, 0x1f, 0x31, 0xcc, 0x36, 0x53, 0x1e, - 0xe6, 0xf0, 0x1a, 0x53, 0x0d, 0x05, 0x58, 0xea, 0xb8, 0x00, 0x7b, 0x10, 0x72, 0x7d, 0xc5, 0x92, - 0x91, 0xe1, 0xda, 0x87, 0xa4, 0x31, 0xce, 0x4a, 0xd9, 0xbe, 0x62, 0xd5, 0xf1, 0xf3, 0x87, 0x73, - 0x3e, 0xf9, 0xd7, 0x14, 0x14, 0xfc, 0xcd, 0x31, 0x3e, 0x6b, 0xa8, 0xa4, 0x8e, 0x24, 0x48, 0xa6, - 0x79, 0xf8, 0xbe, 0xad, 0xf4, 0xf2, 0x1a, 0x2e, 0x30, 0xd5, 0x49, 0xda, 0xb2, 0x4a, 0x14, 0x89, - 0x8b, 0x3b, 0xce, 0x2d, 0x88, 0xb6, 0x08, 0x59, 0x89, 0x3d, 0x89, 0x1b, 0x30, 0x79, 0xdd, 0x21, - 0xdc, 0x93, 0x84, 0xfb, 0x91, 0xfb, 0x73, 0x3f, 0xd7, 0x26, 0xe4, 0xb9, 0xe7, 0xda, 0xf2, 0x76, - 0x53, 0xda, 0xaa, 0x6d, 0x4a, 0x0c, 0x2e, 0x9e, 0x81, 0xb4, 0xae, 0xdc, 0x3a, 0x0c, 0x96, 0x22, - 0x22, 0x8a, 0xeb, 0xf8, 0x33, 0x90, 0xbe, 0x89, 0x94, 0x83, 0x60, 0x01, 0x20, 0xa2, 0x0f, 0x30, - 0xf4, 0x57, 0x20, 0x43, 0xfc, 0x25, 0x02, 0x30, 0x8f, 0x09, 0x13, 0x62, 0x16, 0xd2, 0x6b, 0x4d, - 0x09, 0x87, 0xbf, 0x00, 0x05, 0x2a, 0x95, 0x5b, 0x8d, 0xfa, 0x5a, 0x5d, 0x48, 0x56, 0x2e, 0xc2, - 0x24, 0x75, 0x02, 0xde, 0x1a, 0x9e, 0x1b, 0x84, 0x09, 0xf6, 0xc8, 0x38, 0x12, 0x7c, 0x74, 0x77, - 0x6b, 0xb5, 0x2e, 0x09, 0x49, 0xff, 0xf2, 0x3a, 0x50, 0xf0, 0xf7, 0xc5, 0x1f, 0x4e, 0x4c, 0x7d, - 0x27, 0x01, 0x79, 0x5f, 0x9f, 0x8b, 0x1b, 0x14, 0x45, 0xd7, 0xcd, 0x9b, 0xb2, 0xa2, 0x6b, 0x8a, - 0xc3, 0x82, 0x02, 0x88, 0xa8, 0x86, 0x25, 0x71, 0x17, 0xed, 0x43, 0x31, 0xfe, 0xf5, 0x04, 0x08, - 0xe1, 0x16, 0x33, 0x64, 0x60, 0xe2, 0x27, 0x6a, 0xe0, 0x6b, 0x09, 0x28, 0x06, 0xfb, 0xca, 0x90, - 0x79, 0xe7, 0x7e, 0xa2, 0xe6, 0xbd, 0x9d, 0x84, 0xe9, 0x40, 0x37, 0x19, 0xd7, 0xba, 0xcf, 0xc2, - 0xac, 0xd6, 0x41, 0x7d, 0xcb, 0x74, 0x91, 0xa1, 0x1e, 0xca, 0x3a, 0xba, 0x81, 0xf4, 0x52, 0x85, - 0x24, 0x8a, 0x95, 0xfb, 0xf7, 0xab, 0xcb, 0x8d, 0x21, 0x6e, 0x13, 0xc3, 0xaa, 0x73, 0x8d, 0xf5, - 0xfa, 0x56, 0xab, 0xb9, 0x53, 0xdf, 0x5e, 0x7b, 0x51, 0xde, 0xdd, 0xfe, 0xd9, 0xed, 0xe6, 0xf3, - 0xdb, 0x92, 0xa0, 0x85, 0xd4, 0x3e, 0xc0, 0xad, 0xde, 0x02, 0x21, 0x6c, 0x94, 0x78, 0x1a, 0xc6, - 0x99, 0x25, 0x4c, 0x88, 0x73, 0x30, 0xb3, 0xdd, 0x94, 0xdb, 0x8d, 0xf5, 0xba, 0x5c, 0xbf, 0x76, - 0xad, 0xbe, 0xb6, 0xd3, 0xa6, 0x37, 0x10, 0x9e, 0xf6, 0x4e, 0x70, 0x53, 0xbf, 0x9a, 0x82, 0xb9, - 0x31, 0x96, 0x88, 0x35, 0x76, 0x76, 0xa0, 0xc7, 0x99, 0x8f, 0xc5, 0xb1, 0x7e, 0x19, 0x97, 0xfc, - 0x96, 0x62, 0xbb, 0xec, 0xa8, 0xf1, 0x38, 0x60, 0x2f, 0x19, 0xae, 0xd6, 0xd5, 0x90, 0xcd, 0x2e, - 0x6c, 0xe8, 0x81, 0x62, 0x66, 0x28, 0xa7, 0x77, 0x36, 0x3f, 0x05, 0xa2, 0x65, 0x3a, 0x9a, 0xab, - 0xdd, 0x40, 0xb2, 0x66, 0xf0, 0xdb, 0x1d, 0x7c, 0xc0, 0x48, 0x4b, 0x02, 0x1f, 0x69, 0x18, 0xae, - 0xa7, 0x6d, 0xa0, 0x9e, 0x12, 0xd2, 0xc6, 0x09, 0x3c, 0x25, 0x09, 0x7c, 0xc4, 0xd3, 0x3e, 0x07, - 0x85, 0x8e, 0x39, 0xc0, 0x5d, 0x17, 0xd5, 0xc3, 0xf5, 0x22, 0x21, 0xe5, 0xa9, 0xcc, 0x53, 0x61, - 0xfd, 0xf4, 0xf0, 0x5a, 0xa9, 0x20, 0xe5, 0xa9, 0x8c, 0xaa, 0x3c, 0x06, 0x33, 0x4a, 0xaf, 0x67, - 0x63, 0x72, 0x4e, 0x44, 0x4f, 0x08, 0x45, 0x4f, 0x4c, 0x14, 0x17, 0x9e, 0x83, 0x2c, 0xf7, 0x03, - 0x2e, 0xc9, 0xd8, 0x13, 0xb2, 0x45, 0x8f, 0xbd, 0xc9, 0xa5, 0x9c, 0x94, 0x35, 0xf8, 0xe0, 0x39, - 0x28, 0x68, 0x8e, 0x3c, 0xbc, 0x25, 0x4f, 0x2e, 0x26, 0x97, 0xb2, 0x52, 0x5e, 0x73, 0xbc, 0x1b, - 0xc6, 0xca, 0x1b, 0x49, 0x28, 0x06, 0x6f, 0xf9, 0xc5, 0x75, 0xc8, 0xea, 0xa6, 0xaa, 0x90, 0xd0, - 0xa2, 0x9f, 0x98, 0x96, 0x22, 0x3e, 0x0c, 0x2c, 0x6f, 0x32, 0x7d, 0xc9, 0x43, 0x2e, 0xfc, 0x73, - 0x02, 0xb2, 0x5c, 0x2c, 0x9e, 0x82, 0xb4, 0xa5, 0xb8, 0xfb, 0x84, 0x2e, 0xb3, 0x9a, 0x14, 0x12, - 0x12, 0x79, 0xc6, 0x72, 0xc7, 0x52, 0x0c, 0x12, 0x02, 0x4c, 0x8e, 0x9f, 0xf1, 0xba, 0xea, 0x48, - 0xe9, 0x90, 0xe3, 0x87, 0xd9, 0xef, 0x23, 0xc3, 0x75, 0xf8, 0xba, 0x32, 0xf9, 0x1a, 0x13, 0x8b, - 0x4f, 0xc2, 0xac, 0x6b, 0x2b, 0x9a, 0x1e, 0xd0, 0x4d, 0x13, 0x5d, 0x81, 0x0f, 0x78, 0xca, 0x55, - 0x38, 0xc3, 0x79, 0x3b, 0xc8, 0x55, 0xd4, 0x7d, 0xd4, 0x19, 0x82, 0x26, 0xc9, 0x35, 0xc3, 0x69, - 0xa6, 0xb0, 0xce, 0xc6, 0x39, 0xb6, 0xf2, 0xfd, 0x04, 0xcc, 0xf2, 0x03, 0x53, 0xc7, 0x73, 0xd6, - 0x16, 0x80, 0x62, 0x18, 0xa6, 0xeb, 0x77, 0xd7, 0x68, 0x28, 0x8f, 0xe0, 0x96, 0x6b, 0x1e, 0x48, - 0xf2, 0x11, 0x2c, 0xf4, 0x01, 0x86, 0x23, 0xc7, 0xba, 0xed, 0x2c, 0xe4, 0xd9, 0x27, 0x1c, 0xf2, - 0x1d, 0x90, 0x1e, 0xb1, 0x81, 0x8a, 0xf0, 0xc9, 0x4a, 0x9c, 0x87, 0xcc, 0x1e, 0xea, 0x69, 0x06, - 0xbb, 0x98, 0xa5, 0x0f, 0xfc, 0x22, 0x24, 0xed, 0x5d, 0x84, 0xac, 0x7e, 0x06, 0xe6, 0x54, 0xb3, - 0x1f, 0x36, 0x77, 0x55, 0x08, 0x1d, 0xf3, 0x9d, 0x4f, 0x26, 0x5e, 0x82, 0x61, 0x8b, 0xf9, 0x7e, - 0x22, 0xf1, 0xe5, 0x64, 0x6a, 0xa3, 0xb5, 0xfa, 0xb5, 0xe4, 0xc2, 0x06, 0x85, 0xb6, 0xf8, 0x4c, - 0x25, 0xd4, 0xd5, 0x91, 0x8a, 0xad, 0x87, 0xaf, 0x3c, 0x09, 0x1f, 0xeb, 0x69, 0xee, 0xfe, 0x60, - 0x6f, 0x59, 0x35, 0xfb, 0x2b, 0x3d, 0xb3, 0x67, 0x0e, 0x3f, 0x7d, 0xe2, 0x27, 0xf2, 0x40, 0xfe, - 0x63, 0x9f, 0x3f, 0x73, 0x9e, 0x74, 0x21, 0xf2, 0x5b, 0x69, 0x75, 0x1b, 0xe6, 0x98, 0xb2, 0x4c, - 0xbe, 0xbf, 0xd0, 0x53, 0x84, 0x78, 0xdf, 0x3b, 0xac, 0xd2, 0x37, 0xde, 0x21, 0xe5, 0x5a, 0x9a, - 0x65, 0x50, 0x3c, 0x46, 0x0f, 0x1a, 0x55, 0x09, 0x1e, 0x08, 0xf0, 0xd1, 0xad, 0x89, 0xec, 0x08, - 0xc6, 0xef, 0x32, 0xc6, 0x39, 0x1f, 0x63, 0x9b, 0x41, 0xab, 0x6b, 0x30, 0x7d, 0x12, 0xae, 0x7f, - 0x64, 0x5c, 0x05, 0xe4, 0x27, 0xd9, 0x80, 0x19, 0x42, 0xa2, 0x0e, 0x1c, 0xd7, 0xec, 0x93, 0xbc, - 0x77, 0x7f, 0x9a, 0x7f, 0x7a, 0x87, 0xee, 0x95, 0x22, 0x86, 0xad, 0x79, 0xa8, 0x6a, 0x15, 0xc8, - 0x27, 0xa7, 0x0e, 0x52, 0xf5, 0x08, 0x86, 0xb7, 0x98, 0x21, 0x9e, 0x7e, 0xf5, 0xd3, 0x30, 0x8f, - 0xff, 0x27, 0x69, 0xc9, 0x6f, 0x49, 0xf4, 0x85, 0x57, 0xe9, 0xfb, 0xaf, 0xd0, 0xed, 0x38, 0xe7, - 0x11, 0xf8, 0x6c, 0xf2, 0xad, 0x62, 0x0f, 0xb9, 0x2e, 0xb2, 0x1d, 0x59, 0xd1, 0xc7, 0x99, 0xe7, - 0xbb, 0x31, 0x28, 0x7d, 0xe1, 0xdd, 0xe0, 0x2a, 0x6e, 0x50, 0x64, 0x4d, 0xd7, 0xab, 0xbb, 0x70, - 0x7a, 0x4c, 0x54, 0xc4, 0xe0, 0x7c, 0x95, 0x71, 0xce, 0x8f, 0x44, 0x06, 0xa6, 0x6d, 0x01, 0x97, - 0x7b, 0x6b, 0x19, 0x83, 0xf3, 0x0f, 0x18, 0xa7, 0xc8, 0xb0, 0x7c, 0x49, 0x31, 0xe3, 0x73, 0x30, - 0x7b, 0x03, 0xd9, 0x7b, 0xa6, 0xc3, 0x6e, 0x69, 0x62, 0xd0, 0xbd, 0xc6, 0xe8, 0x66, 0x18, 0x90, - 0x5c, 0xdb, 0x60, 0xae, 0x2b, 0x90, 0xed, 0x2a, 0x2a, 0x8a, 0x41, 0xf1, 0x45, 0x46, 0x31, 0x85, - 0xf5, 0x31, 0xb4, 0x06, 0x85, 0x9e, 0xc9, 0x2a, 0x53, 0x34, 0xfc, 0x75, 0x06, 0xcf, 0x73, 0x0c, - 0xa3, 0xb0, 0x4c, 0x6b, 0xa0, 0xe3, 0xb2, 0x15, 0x4d, 0xf1, 0x87, 0x9c, 0x82, 0x63, 0x18, 0xc5, - 0x09, 0xdc, 0xfa, 0x47, 0x9c, 0xc2, 0xf1, 0xf9, 0xf3, 0x59, 0xc8, 0x9b, 0x86, 0x7e, 0x68, 0x1a, - 0x71, 0x8c, 0xf8, 0x12, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x57, 0x21, 0x17, 0x77, 0x21, 0xfe, 0xe4, - 0x5d, 0xbe, 0x3d, 0xf8, 0x0a, 0x6c, 0xc0, 0x0c, 0x4f, 0x50, 0x9a, 0x69, 0xc4, 0xa0, 0xf8, 0x0a, - 0xa3, 0x28, 0xfa, 0x60, 0x6c, 0x1a, 0x2e, 0x72, 0xdc, 0x1e, 0x8a, 0x43, 0xf2, 0x06, 0x9f, 0x06, - 0x83, 0x30, 0x57, 0xee, 0x21, 0x43, 0xdd, 0x8f, 0xc7, 0xf0, 0x55, 0xee, 0x4a, 0x8e, 0xc1, 0x14, - 0x6b, 0x30, 0xdd, 0x57, 0x6c, 0x67, 0x5f, 0xd1, 0x63, 0x2d, 0xc7, 0x9f, 0x32, 0x8e, 0x82, 0x07, - 0x62, 0x1e, 0x19, 0x18, 0x27, 0xa1, 0xf9, 0x1a, 0xf7, 0x88, 0x0f, 0xc6, 0xb6, 0x9e, 0xe3, 0x92, - 0x2b, 0xad, 0x93, 0xb0, 0xfd, 0x19, 0xdf, 0x7a, 0x14, 0xbb, 0xe5, 0x67, 0xbc, 0x0a, 0x39, 0x47, - 0xbb, 0x15, 0x8b, 0xe6, 0xcf, 0xf9, 0x4a, 0x13, 0x00, 0x06, 0xbf, 0x08, 0x67, 0xc6, 0x96, 0x89, - 0x18, 0x64, 0x7f, 0xc1, 0xc8, 0x4e, 0x8d, 0x29, 0x15, 0x2c, 0x25, 0x9c, 0x94, 0xf2, 0x2f, 0x79, - 0x4a, 0x40, 0x21, 0xae, 0x16, 0x3e, 0x2b, 0x38, 0x4a, 0xf7, 0x64, 0x5e, 0xfb, 0x2b, 0xee, 0x35, - 0x8a, 0x0d, 0x78, 0x6d, 0x07, 0x4e, 0x31, 0xc6, 0x93, 0xad, 0xeb, 0xd7, 0x79, 0x62, 0xa5, 0xe8, - 0xdd, 0xe0, 0xea, 0x7e, 0x06, 0x16, 0x3c, 0x77, 0xf2, 0xa6, 0xd4, 0x91, 0xfb, 0x8a, 0x15, 0x83, - 0xf9, 0x1b, 0x8c, 0x99, 0x67, 0x7c, 0xaf, 0xab, 0x75, 0xb6, 0x14, 0x0b, 0x93, 0xbf, 0x00, 0x25, - 0x4e, 0x3e, 0x30, 0x6c, 0xa4, 0x9a, 0x3d, 0x43, 0xbb, 0x85, 0x3a, 0x31, 0xa8, 0xff, 0x3a, 0xb4, - 0x54, 0xbb, 0x3e, 0x38, 0x66, 0x6e, 0x80, 0xe0, 0xf5, 0x2a, 0xb2, 0xd6, 0xb7, 0x4c, 0xdb, 0x8d, - 0x60, 0x7c, 0x93, 0xaf, 0x94, 0x87, 0x6b, 0x10, 0x58, 0xb5, 0x0e, 0x45, 0xf2, 0x18, 0x37, 0x24, - 0xff, 0x86, 0x11, 0x4d, 0x0f, 0x51, 0x2c, 0x71, 0xa8, 0x66, 0xdf, 0x52, 0xec, 0x38, 0xf9, 0xef, - 0x6f, 0x79, 0xe2, 0x60, 0x10, 0x96, 0x38, 0xdc, 0x43, 0x0b, 0xe1, 0x6a, 0x1f, 0x83, 0xe1, 0x9b, - 0x3c, 0x71, 0x70, 0x0c, 0xa3, 0xe0, 0x0d, 0x43, 0x0c, 0x8a, 0xbf, 0xe3, 0x14, 0x1c, 0x83, 0x29, - 0x3e, 0x35, 0x2c, 0xb4, 0x36, 0xea, 0x69, 0x8e, 0x6b, 0xd3, 0x56, 0xf8, 0xfe, 0x54, 0xdf, 0x7a, - 0x37, 0xd8, 0x84, 0x49, 0x3e, 0x28, 0xce, 0x44, 0xec, 0x0a, 0x95, 0x9c, 0x94, 0xa2, 0x0d, 0xfb, - 0x36, 0xcf, 0x44, 0x3e, 0x18, 0xb6, 0xcd, 0xd7, 0x21, 0x62, 0xb7, 0xab, 0xf8, 0x7c, 0x10, 0x83, - 0xee, 0x3b, 0x21, 0xe3, 0xda, 0x1c, 0x8b, 0x39, 0x7d, 0xfd, 0xcf, 0xc0, 0x38, 0x40, 0x87, 0xb1, - 0xa2, 0xf3, 0xef, 0x43, 0xfd, 0xcf, 0x2e, 0x45, 0xd2, 0x1c, 0x32, 0x13, 0xea, 0xa7, 0xc4, 0xa8, - 0x1f, 0xeb, 0x94, 0x7e, 0xf1, 0x2e, 0x9b, 0x6f, 0xb0, 0x9d, 0xaa, 0x6e, 0xe2, 0x20, 0x0f, 0x36, - 0x3d, 0xd1, 0x64, 0xaf, 0xdc, 0xf5, 0xe2, 0x3c, 0xd0, 0xf3, 0x54, 0xaf, 0xc1, 0x74, 0xa0, 0xe1, - 0x89, 0xa6, 0xfa, 0x25, 0x46, 0x55, 0xf0, 0xf7, 0x3b, 0xd5, 0x8b, 0x90, 0xc6, 0xcd, 0x4b, 0x34, - 0xfc, 0x97, 0x19, 0x9c, 0xa8, 0x57, 0x3f, 0x01, 0x59, 0xde, 0xb4, 0x44, 0x43, 0x7f, 0x85, 0x41, - 0x3d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1a, 0xfe, 0xab, 0x1c, 0xce, 0x21, 0x18, 0x1e, 0xdf, 0x85, - 0xff, 0xf0, 0x6b, 0x69, 0x56, 0x74, 0xb8, 0xef, 0xae, 0xc2, 0x14, 0xeb, 0x54, 0xa2, 0xd1, 0x9f, - 0x63, 0x2f, 0xe7, 0x88, 0xea, 0xd3, 0x90, 0x89, 0xe9, 0xf0, 0x5f, 0x67, 0x50, 0xaa, 0x5f, 0x5d, - 0x83, 0xbc, 0xaf, 0x3b, 0x89, 0x86, 0xff, 0x06, 0x83, 0xfb, 0x51, 0xd8, 0x74, 0xd6, 0x9d, 0x44, - 0x13, 0xfc, 0x26, 0x37, 0x9d, 0x21, 0xb0, 0xdb, 0x78, 0x63, 0x12, 0x8d, 0xfe, 0x2d, 0xee, 0x75, - 0x0e, 0xa9, 0x3e, 0x0b, 0x39, 0xaf, 0xd8, 0x44, 0xe3, 0x7f, 0x9b, 0xe1, 0x87, 0x18, 0xec, 0x01, - 0x5f, 0xb1, 0x8b, 0xa6, 0xf8, 0x1d, 0xee, 0x01, 0x1f, 0x0a, 0x6f, 0xa3, 0x70, 0x03, 0x13, 0xcd, - 0xf4, 0xbb, 0x7c, 0x1b, 0x85, 0xfa, 0x17, 0xbc, 0x9a, 0x24, 0xe7, 0x47, 0x53, 0xfc, 0x1e, 0x5f, - 0x4d, 0xa2, 0x8f, 0xcd, 0x08, 0x77, 0x04, 0xd1, 0x1c, 0xbf, 0xcf, 0xcd, 0x08, 0x35, 0x04, 0xd5, - 0x16, 0x88, 0xa3, 0xdd, 0x40, 0x34, 0xdf, 0xe7, 0x19, 0xdf, 0xec, 0x48, 0x33, 0x50, 0x7d, 0x1e, - 0x4e, 0x8d, 0xef, 0x04, 0xa2, 0x59, 0xbf, 0x70, 0x37, 0x74, 0x76, 0xf3, 0x37, 0x02, 0xd5, 0x9d, - 0x61, 0x49, 0xf1, 0x77, 0x01, 0xd1, 0xb4, 0xaf, 0xde, 0x0d, 0x26, 0x6e, 0x7f, 0x13, 0x50, 0xad, - 0x01, 0x0c, 0x0b, 0x70, 0x34, 0xd7, 0x6b, 0x8c, 0xcb, 0x07, 0xc2, 0x5b, 0x83, 0xd5, 0xdf, 0x68, - 0xfc, 0x17, 0xf9, 0xd6, 0x60, 0x08, 0xbc, 0x35, 0x78, 0xe9, 0x8d, 0x46, 0xbf, 0xce, 0xb7, 0x06, - 0x87, 0xe0, 0xc8, 0xf6, 0x55, 0xb7, 0x68, 0x86, 0x2f, 0xf1, 0xc8, 0xf6, 0xa1, 0xaa, 0xdb, 0x30, - 0x3b, 0x52, 0x10, 0xa3, 0xa9, 0xbe, 0xcc, 0xa8, 0x84, 0x70, 0x3d, 0xf4, 0x17, 0x2f, 0x56, 0x0c, - 0xa3, 0xd9, 0xfe, 0x38, 0x54, 0xbc, 0x58, 0x2d, 0xac, 0x5e, 0x85, 0xac, 0x31, 0xd0, 0x75, 0xbc, - 0x79, 0xc4, 0xfb, 0xff, 0xc0, 0xae, 0xf4, 0xef, 0xf7, 0x98, 0x77, 0x38, 0xa0, 0x7a, 0x11, 0x32, - 0xa8, 0xbf, 0x87, 0x3a, 0x51, 0xc8, 0xff, 0xb8, 0xc7, 0x13, 0x26, 0xd6, 0xae, 0x3e, 0x0b, 0x40, - 0xaf, 0x46, 0xc8, 0x67, 0xbf, 0x08, 0xec, 0x7f, 0xde, 0x63, 0x3f, 0x7d, 0x19, 0x42, 0x86, 0x04, - 0xf4, 0x87, 0x34, 0xf7, 0x27, 0x78, 0x37, 0x48, 0x40, 0x56, 0xe4, 0x0a, 0x4c, 0x5d, 0x77, 0x4c, - 0xc3, 0x55, 0x7a, 0x51, 0xe8, 0xff, 0x62, 0x68, 0xae, 0x8f, 0x1d, 0xd6, 0x37, 0x6d, 0xe4, 0x2a, - 0x3d, 0x27, 0x0a, 0xfb, 0xdf, 0x0c, 0xeb, 0x01, 0x30, 0x58, 0x55, 0x1c, 0x37, 0xce, 0xbc, 0x7f, - 0xc4, 0xc1, 0x1c, 0x80, 0x8d, 0xc6, 0xff, 0x1f, 0xa0, 0xc3, 0x28, 0xec, 0x7b, 0xdc, 0x68, 0xa6, - 0x5f, 0xfd, 0x04, 0xe4, 0xf0, 0xbf, 0xf4, 0xf7, 0x6c, 0x11, 0xe0, 0xff, 0x61, 0xe0, 0x21, 0x02, - 0xbf, 0xd9, 0x71, 0x3b, 0xae, 0x16, 0xed, 0xec, 0xff, 0x65, 0x2b, 0xcd, 0xf5, 0xab, 0x35, 0xc8, - 0x3b, 0x6e, 0xa7, 0x33, 0x60, 0xfd, 0x69, 0x04, 0xfc, 0xff, 0xee, 0x79, 0x57, 0x16, 0x1e, 0x06, - 0xaf, 0xf6, 0xcd, 0x03, 0xd7, 0x32, 0xc9, 0x67, 0x8e, 0x28, 0x86, 0xbb, 0x8c, 0xc1, 0x07, 0x59, - 0xad, 0x8f, 0xbf, 0xbe, 0x85, 0x0d, 0x73, 0xc3, 0xa4, 0x17, 0xb7, 0x2f, 0x55, 0xa2, 0x6f, 0x60, - 0xe1, 0xcd, 0x14, 0x94, 0x54, 0xb3, 0xbf, 0x67, 0x3a, 0x2b, 0x06, 0xd2, 0xdc, 0x7d, 0x64, 0xaf, - 0xf4, 0x15, 0x8b, 0xdd, 0xc9, 0xe6, 0xfb, 0x8a, 0xc5, 0x7e, 0xfc, 0xea, 0x2c, 0x9c, 0xec, 0x3e, - 0xb7, 0xf2, 0x0b, 0x30, 0xb5, 0xa5, 0x58, 0x3b, 0xc8, 0x71, 0x45, 0xe2, 0x69, 0xf2, 0x2b, 0x2b, - 0x76, 0x49, 0xbe, 0xb8, 0xec, 0x23, 0x5e, 0x66, 0x6a, 0xcb, 0x6d, 0xd7, 0x6e, 0xbb, 0x36, 0xf9, - 0x41, 0x81, 0x34, 0xe9, 0x90, 0x87, 0x85, 0x2b, 0x90, 0xf7, 0x89, 0x45, 0x01, 0x52, 0x07, 0xe8, - 0x90, 0xfd, 0xce, 0x0a, 0xff, 0x2b, 0xce, 0x0f, 0x7f, 0x08, 0x89, 0x65, 0xf4, 0xa1, 0x9a, 0xbc, - 0x9c, 0xa8, 0x3c, 0x03, 0x53, 0xd7, 0x94, 0x03, 0xb4, 0xa5, 0x58, 0xe2, 0x05, 0x98, 0x42, 0x86, - 0x6b, 0x6b, 0xc8, 0x61, 0x06, 0x9c, 0x09, 0x18, 0xc0, 0xd4, 0xe8, 0x9b, 0xb9, 0x66, 0x65, 0x13, - 0x0a, 0xfe, 0x81, 0xb8, 0xef, 0xc6, 0x52, 0x13, 0xfb, 0x91, 0x7d, 0xb4, 0xa0, 0x0f, 0xab, 0xeb, - 0x6f, 0xdd, 0x29, 0x4f, 0x7c, 0xef, 0x4e, 0x79, 0xe2, 0x5f, 0xee, 0x94, 0x27, 0xde, 0xbe, 0x53, - 0x4e, 0xbc, 0x77, 0xa7, 0x9c, 0x78, 0xff, 0x4e, 0x39, 0x71, 0xfb, 0xa8, 0x9c, 0xf8, 0xea, 0x51, - 0x39, 0xf1, 0xf5, 0xa3, 0x72, 0xe2, 0x5b, 0x47, 0xe5, 0xc4, 0x5b, 0x47, 0xe5, 0x89, 0xef, 0x1d, - 0x95, 0x27, 0xde, 0x3e, 0x2a, 0x27, 0x7e, 0x78, 0x54, 0x9e, 0x78, 0xef, 0xa8, 0x9c, 0x78, 0xff, - 0xa8, 0x3c, 0x71, 0xfb, 0x07, 0xe5, 0x89, 0xbd, 0x49, 0xe2, 0xdb, 0x0b, 0xff, 0x1f, 0x00, 0x00, - 0xff, 0xff, 0xc5, 0xf8, 0xa0, 0x5b, 0x51, 0x34, 0x00, 0x00, + // 4013 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7a, 0x4b, 0x70, 0xe4, 0xd6, + 0x75, 0x36, 0xfb, 0x45, 0x76, 0x9f, 0x6e, 0x36, 0x41, 0x90, 0x9a, 0xe9, 0xa1, 0xac, 0x1e, 0x4e, + 0x4b, 0xb2, 0x28, 0xc9, 0x22, 0x5d, 0xf3, 0xd2, 0x4c, 0xcf, 0x6f, 0xe9, 0x6f, 0x92, 0x3d, 0x34, + 0x15, 0xbe, 0x8c, 0x26, 0xad, 0x87, 0x2b, 0x85, 0xba, 0x44, 0x5f, 0x36, 0x31, 0x44, 0x03, 0x30, + 0x80, 0x9e, 0x11, 0xa7, 0x52, 0x95, 0x49, 0x29, 0x8f, 0x72, 0xe5, 0xfd, 0xa8, 0x8a, 0xad, 0xc8, + 0x4a, 0xec, 0x54, 0x2c, 0xc7, 0x79, 0xd9, 0x71, 0xe2, 0xd8, 0xce, 0x26, 0x1b, 0x27, 0x5a, 0xa5, + 0xec, 0x5d, 0x16, 0x59, 0x68, 0x68, 0x55, 0xc5, 0x49, 0x94, 0x44, 0x49, 0x66, 0xa1, 0x2a, 0x6d, + 0x52, 0xf7, 0x85, 0x06, 0xd0, 0xcd, 0x01, 0xe8, 0x2a, 0xc9, 0x2b, 0x12, 0xe7, 0x9e, 0xef, 0xc3, + 0xb9, 0xe7, 0x9e, 0x7b, 0xce, 0xb9, 0x17, 0x0d, 0x6f, 0xd6, 0x61, 0xb6, 0x63, 0x59, 0x1d, 0x03, + 0x2f, 0xd8, 0x8e, 0xe5, 0x59, 0xbb, 0xbd, 0xbd, 0x85, 0x36, 0x76, 0x35, 0x47, 0xb7, 0x3d, 0xcb, + 0x99, 0xa7, 0x32, 0x79, 0x82, 0x69, 0xcc, 0x0b, 0x8d, 0xda, 0x3a, 0x4c, 0x5e, 0xd7, 0x0d, 0xbc, + 0xec, 0x2b, 0xb6, 0xb0, 0x27, 0x5f, 0x81, 0xec, 0x9e, 0x6e, 0xe0, 0x4a, 0x6a, 0x36, 0x33, 0x57, + 0x3c, 0xff, 0xc8, 0x7c, 0x04, 0x34, 0x1f, 0x46, 0x6c, 0x11, 0xb1, 0x42, 0x11, 0xb5, 0xb7, 0xb3, + 0x30, 0x35, 0x64, 0x54, 0x96, 0x21, 0x6b, 0xa2, 0x2e, 0x61, 0x4c, 0xcd, 0x15, 0x14, 0xfa, 0xbf, + 0x5c, 0x81, 0x31, 0x1b, 0x69, 0x07, 0xa8, 0x83, 0x2b, 0x69, 0x2a, 0x16, 0x8f, 0x72, 0x15, 0xa0, + 0x8d, 0x6d, 0x6c, 0xb6, 0xb1, 0xa9, 0x1d, 0x56, 0x32, 0xb3, 0x99, 0xb9, 0x82, 0x12, 0x90, 0xc8, + 0x4f, 0xc2, 0xa4, 0xdd, 0xdb, 0x35, 0x74, 0x4d, 0x0d, 0xa8, 0xc1, 0x6c, 0x66, 0x2e, 0xa7, 0x48, + 0x6c, 0x60, 0xb9, 0xaf, 0xfc, 0x18, 0x4c, 0xdc, 0xc2, 0xe8, 0x20, 0xa8, 0x5a, 0xa4, 0xaa, 0x65, + 0x22, 0x0e, 0x28, 0x2e, 0x41, 0xa9, 0x8b, 0x5d, 0x17, 0x75, 0xb0, 0xea, 0x1d, 0xda, 0xb8, 0x92, + 0xa5, 0xb3, 0x9f, 0x1d, 0x98, 0x7d, 0x74, 0xe6, 0x45, 0x8e, 0xda, 0x3e, 0xb4, 0xb1, 0xdc, 0x80, + 0x02, 0x36, 0x7b, 0x5d, 0xc6, 0x90, 0x3b, 0xc6, 0x7f, 0x4d, 0xb3, 0xd7, 0x8d, 0xb2, 0xe4, 0x09, + 0x8c, 0x53, 0x8c, 0xb9, 0xd8, 0xb9, 0xa9, 0x6b, 0xb8, 0x32, 0x4a, 0x09, 0x1e, 0x1b, 0x20, 0x68, + 0xb1, 0xf1, 0x28, 0x87, 0xc0, 0xc9, 0x4b, 0x50, 0xc0, 0x2f, 0x7b, 0xd8, 0x74, 0x75, 0xcb, 0xac, + 0x8c, 0x51, 0x92, 0x47, 0x87, 0xac, 0x22, 0x36, 0xda, 0x51, 0x8a, 0x3e, 0x4e, 0xbe, 0x0c, 0x63, + 0x96, 0xed, 0xe9, 0x96, 0xe9, 0x56, 0xf2, 0xb3, 0xa9, 0xb9, 0xe2, 0xf9, 0x8f, 0x0c, 0x0d, 0x84, + 0x4d, 0xa6, 0xa3, 0x08, 0x65, 0x79, 0x15, 0x24, 0xd7, 0xea, 0x39, 0x1a, 0x56, 0x35, 0xab, 0x8d, + 0x55, 0xdd, 0xdc, 0xb3, 0x2a, 0x05, 0x4a, 0x70, 0x76, 0x70, 0x22, 0x54, 0x71, 0xc9, 0x6a, 0xe3, + 0x55, 0x73, 0xcf, 0x52, 0xca, 0x6e, 0xe8, 0x59, 0x3e, 0x05, 0xa3, 0xee, 0xa1, 0xe9, 0xa1, 0x97, + 0x2b, 0x25, 0x1a, 0x21, 0xfc, 0xa9, 0xf6, 0x9d, 0x51, 0x98, 0x48, 0x12, 0x62, 0xd7, 0x20, 0xb7, + 0x47, 0x66, 0x59, 0x49, 0x9f, 0xc4, 0x07, 0x0c, 0x13, 0x76, 0xe2, 0xe8, 0x8f, 0xe9, 0xc4, 0x06, + 0x14, 0x4d, 0xec, 0x7a, 0xb8, 0xcd, 0x22, 0x22, 0x93, 0x30, 0xa6, 0x80, 0x81, 0x06, 0x43, 0x2a, + 0xfb, 0x63, 0x85, 0xd4, 0x0b, 0x30, 0xe1, 0x9b, 0xa4, 0x3a, 0xc8, 0xec, 0x88, 0xd8, 0x5c, 0x88, + 0xb3, 0x64, 0xbe, 0x29, 0x70, 0x0a, 0x81, 0x29, 0x65, 0x1c, 0x7a, 0x96, 0x97, 0x01, 0x2c, 0x13, + 0x5b, 0x7b, 0x6a, 0x1b, 0x6b, 0x46, 0x25, 0x7f, 0x8c, 0x97, 0x36, 0x89, 0xca, 0x80, 0x97, 0x2c, + 0x26, 0xd5, 0x0c, 0xf9, 0x6a, 0x3f, 0xd4, 0xc6, 0x8e, 0x89, 0x94, 0x75, 0xb6, 0xc9, 0x06, 0xa2, + 0x6d, 0x07, 0xca, 0x0e, 0x26, 0x71, 0x8f, 0xdb, 0x7c, 0x66, 0x05, 0x6a, 0xc4, 0x7c, 0xec, 0xcc, + 0x14, 0x0e, 0x63, 0x13, 0x1b, 0x77, 0x82, 0x8f, 0xf2, 0xc3, 0xe0, 0x0b, 0x54, 0x1a, 0x56, 0x40, + 0xb3, 0x50, 0x49, 0x08, 0x37, 0x50, 0x17, 0xcf, 0xdc, 0x86, 0x72, 0xd8, 0x3d, 0xf2, 0x34, 0xe4, + 0x5c, 0x0f, 0x39, 0x1e, 0x8d, 0xc2, 0x9c, 0xc2, 0x1e, 0x64, 0x09, 0x32, 0xd8, 0x6c, 0xd3, 0x2c, + 0x97, 0x53, 0xc8, 0xbf, 0xf2, 0xff, 0xef, 0x4f, 0x38, 0x43, 0x27, 0xfc, 0xd1, 0xc1, 0x15, 0x0d, + 0x31, 0x47, 0xe7, 0x3d, 0xf3, 0x34, 0x8c, 0x87, 0x26, 0x90, 0xf4, 0xd5, 0xb5, 0x9f, 0x81, 0x07, + 0x86, 0x52, 0xcb, 0x2f, 0xc0, 0x74, 0xcf, 0xd4, 0x4d, 0x0f, 0x3b, 0xb6, 0x83, 0x49, 0xc4, 0xb2, + 0x57, 0x55, 0xfe, 0x65, 0xec, 0x98, 0x98, 0xdb, 0x09, 0x6a, 0x33, 0x16, 0x65, 0xaa, 0x37, 0x28, + 0x7c, 0xa2, 0x90, 0xff, 0xd1, 0x98, 0x74, 0xe7, 0xce, 0x9d, 0x3b, 0xe9, 0xda, 0xe7, 0x47, 0x61, + 0x7a, 0xd8, 0x9e, 0x19, 0xba, 0x7d, 0x4f, 0xc1, 0xa8, 0xd9, 0xeb, 0xee, 0x62, 0x87, 0x3a, 0x29, + 0xa7, 0xf0, 0x27, 0xb9, 0x01, 0x39, 0x03, 0xed, 0x62, 0xa3, 0x92, 0x9d, 0x4d, 0xcd, 0x95, 0xcf, + 0x3f, 0x99, 0x68, 0x57, 0xce, 0xaf, 0x11, 0x88, 0xc2, 0x90, 0xf2, 0x33, 0x90, 0xe5, 0x29, 0x9a, + 0x30, 0x3c, 0x91, 0x8c, 0x81, 0xec, 0x25, 0x85, 0xe2, 0xe4, 0x07, 0xa1, 0x40, 0xfe, 0xb2, 0xd8, + 0x18, 0xa5, 0x36, 0xe7, 0x89, 0x80, 0xc4, 0x85, 0x3c, 0x03, 0x79, 0xba, 0x4d, 0xda, 0x58, 0x94, + 0x36, 0xff, 0x99, 0x04, 0x56, 0x1b, 0xef, 0xa1, 0x9e, 0xe1, 0xa9, 0x37, 0x91, 0xd1, 0xc3, 0x34, + 0xe0, 0x0b, 0x4a, 0x89, 0x0b, 0x3f, 0x4d, 0x64, 0xf2, 0x59, 0x28, 0xb2, 0x5d, 0xa5, 0x9b, 0x6d, + 0xfc, 0x32, 0xcd, 0x9e, 0x39, 0x85, 0x6d, 0xb4, 0x55, 0x22, 0x21, 0xaf, 0xbf, 0xe1, 0x5a, 0xa6, + 0x08, 0x4d, 0xfa, 0x0a, 0x22, 0xa0, 0xaf, 0x7f, 0x3a, 0x9a, 0xb8, 0x1f, 0x1a, 0x3e, 0xbd, 0x68, + 0x4c, 0xd5, 0xbe, 0x95, 0x86, 0x2c, 0xcd, 0x17, 0x13, 0x50, 0xdc, 0x7e, 0x71, 0xab, 0xa9, 0x2e, + 0x6f, 0xee, 0x2c, 0xae, 0x35, 0xa5, 0x94, 0x5c, 0x06, 0xa0, 0x82, 0xeb, 0x6b, 0x9b, 0x8d, 0x6d, + 0x29, 0xed, 0x3f, 0xaf, 0x6e, 0x6c, 0x5f, 0xbe, 0x28, 0x65, 0x7c, 0xc0, 0x0e, 0x13, 0x64, 0x83, + 0x0a, 0x17, 0xce, 0x4b, 0x39, 0x59, 0x82, 0x12, 0x23, 0x58, 0x7d, 0xa1, 0xb9, 0x7c, 0xf9, 0xa2, + 0x34, 0x1a, 0x96, 0x5c, 0x38, 0x2f, 0x8d, 0xc9, 0xe3, 0x50, 0xa0, 0x92, 0xc5, 0xcd, 0xcd, 0x35, + 0x29, 0xef, 0x73, 0xb6, 0xb6, 0x95, 0xd5, 0x8d, 0x15, 0xa9, 0xe0, 0x73, 0xae, 0x28, 0x9b, 0x3b, + 0x5b, 0x12, 0xf8, 0x0c, 0xeb, 0xcd, 0x56, 0xab, 0xb1, 0xd2, 0x94, 0x8a, 0xbe, 0xc6, 0xe2, 0x8b, + 0xdb, 0xcd, 0x96, 0x54, 0x0a, 0x99, 0x75, 0xe1, 0xbc, 0x34, 0xee, 0xbf, 0xa2, 0xb9, 0xb1, 0xb3, + 0x2e, 0x95, 0xe5, 0x49, 0x18, 0x67, 0xaf, 0x10, 0x46, 0x4c, 0x44, 0x44, 0x97, 0x2f, 0x4a, 0x52, + 0xdf, 0x10, 0xc6, 0x32, 0x19, 0x12, 0x5c, 0xbe, 0x28, 0xc9, 0xb5, 0x25, 0xc8, 0xd1, 0xe8, 0x92, + 0x65, 0x28, 0xaf, 0x35, 0x16, 0x9b, 0x6b, 0xea, 0xe6, 0xd6, 0xf6, 0xea, 0xe6, 0x46, 0x63, 0x4d, + 0x4a, 0xf5, 0x65, 0x4a, 0xf3, 0x53, 0x3b, 0xab, 0x4a, 0x73, 0x59, 0x4a, 0x07, 0x65, 0x5b, 0xcd, + 0xc6, 0x76, 0x73, 0x59, 0xca, 0xd4, 0x34, 0x98, 0x1e, 0x96, 0x27, 0x87, 0xee, 0x8c, 0xc0, 0x12, + 0xa7, 0x8f, 0x59, 0x62, 0xca, 0x35, 0xb0, 0xc4, 0x3f, 0x4c, 0xc3, 0xd4, 0x90, 0x5a, 0x31, 0xf4, + 0x25, 0xcf, 0x42, 0x8e, 0x85, 0x28, 0xab, 0x9e, 0x8f, 0x0f, 0x2d, 0x3a, 0x34, 0x60, 0x07, 0x2a, + 0x28, 0xc5, 0x05, 0x3b, 0x88, 0xcc, 0x31, 0x1d, 0x04, 0xa1, 0x18, 0xc8, 0xe9, 0x3f, 0x3d, 0x90, + 0xd3, 0x59, 0xd9, 0xbb, 0x9c, 0xa4, 0xec, 0x51, 0xd9, 0xc9, 0x72, 0x7b, 0x6e, 0x48, 0x6e, 0xbf, + 0x06, 0x93, 0x03, 0x44, 0x89, 0x73, 0xec, 0x2b, 0x29, 0xa8, 0x1c, 0xe7, 0x9c, 0x98, 0x4c, 0x97, + 0x0e, 0x65, 0xba, 0x6b, 0x51, 0x0f, 0x9e, 0x3b, 0x7e, 0x11, 0x06, 0xd6, 0xfa, 0x8d, 0x14, 0x9c, + 0x1a, 0xde, 0x29, 0x0e, 0xb5, 0xe1, 0x19, 0x18, 0xed, 0x62, 0x6f, 0xdf, 0x12, 0xdd, 0xd2, 0x47, + 0x87, 0xd4, 0x60, 0x32, 0x1c, 0x5d, 0x6c, 0x8e, 0x0a, 0x16, 0xf1, 0xcc, 0x71, 0xed, 0x1e, 0xb3, + 0x66, 0xc0, 0xd2, 0xcf, 0xa5, 0xe1, 0x81, 0xa1, 0xe4, 0x43, 0x0d, 0x7d, 0x08, 0x40, 0x37, 0xed, + 0x9e, 0xc7, 0x3a, 0x22, 0x96, 0x60, 0x0b, 0x54, 0x42, 0x93, 0x17, 0x49, 0x9e, 0x3d, 0xcf, 0x1f, + 0xcf, 0xd0, 0x71, 0x60, 0x22, 0xaa, 0x70, 0xa5, 0x6f, 0x68, 0x96, 0x1a, 0x5a, 0x3d, 0x66, 0xa6, + 0x03, 0x81, 0xf9, 0x71, 0x90, 0x34, 0x43, 0xc7, 0xa6, 0xa7, 0xba, 0x9e, 0x83, 0x51, 0x57, 0x37, + 0x3b, 0xb4, 0x82, 0xe4, 0xeb, 0xb9, 0x3d, 0x64, 0xb8, 0x58, 0x99, 0x60, 0xc3, 0x2d, 0x31, 0x4a, + 0x10, 0x34, 0x80, 0x9c, 0x00, 0x62, 0x34, 0x84, 0x60, 0xc3, 0x3e, 0xa2, 0xf6, 0x2b, 0x05, 0x28, + 0x06, 0xfa, 0x6a, 0xf9, 0x1c, 0x94, 0x6e, 0xa0, 0x9b, 0x48, 0x15, 0x67, 0x25, 0xe6, 0x89, 0x22, + 0x91, 0x6d, 0xf1, 0xf3, 0xd2, 0xc7, 0x61, 0x9a, 0xaa, 0x58, 0x3d, 0x0f, 0x3b, 0xaa, 0x66, 0x20, + 0xd7, 0xa5, 0x4e, 0xcb, 0x53, 0x55, 0x99, 0x8c, 0x6d, 0x92, 0xa1, 0x25, 0x31, 0x22, 0x5f, 0x82, + 0x29, 0x8a, 0xe8, 0xf6, 0x0c, 0x4f, 0xb7, 0x0d, 0xac, 0x92, 0xd3, 0x9b, 0x4b, 0x2b, 0x89, 0x6f, + 0xd9, 0x24, 0xd1, 0x58, 0xe7, 0x0a, 0xc4, 0x22, 0x57, 0x5e, 0x86, 0x87, 0x28, 0xac, 0x83, 0x4d, + 0xec, 0x20, 0x0f, 0xab, 0xf8, 0xb3, 0x3d, 0x64, 0xb8, 0x2a, 0x32, 0xdb, 0xea, 0x3e, 0x72, 0xf7, + 0x2b, 0xd3, 0x84, 0x60, 0x31, 0x5d, 0x49, 0x29, 0x67, 0x88, 0xe2, 0x0a, 0xd7, 0x6b, 0x52, 0xb5, + 0x86, 0xd9, 0xfe, 0x24, 0x72, 0xf7, 0xe5, 0x3a, 0x9c, 0xa2, 0x2c, 0xae, 0xe7, 0xe8, 0x66, 0x47, + 0xd5, 0xf6, 0xb1, 0x76, 0xa0, 0xf6, 0xbc, 0xbd, 0x2b, 0x95, 0x07, 0x83, 0xef, 0xa7, 0x16, 0xb6, + 0xa8, 0xce, 0x12, 0x51, 0xd9, 0xf1, 0xf6, 0xae, 0xc8, 0x2d, 0x28, 0x91, 0xc5, 0xe8, 0xea, 0xb7, + 0xb1, 0xba, 0x67, 0x39, 0xb4, 0x34, 0x96, 0x87, 0xa4, 0xa6, 0x80, 0x07, 0xe7, 0x37, 0x39, 0x60, + 0xdd, 0x6a, 0xe3, 0x7a, 0xae, 0xb5, 0xd5, 0x6c, 0x2e, 0x2b, 0x45, 0xc1, 0x72, 0xdd, 0x72, 0x48, + 0x40, 0x75, 0x2c, 0xdf, 0xc1, 0x45, 0x16, 0x50, 0x1d, 0x4b, 0xb8, 0xf7, 0x12, 0x4c, 0x69, 0x1a, + 0x9b, 0xb3, 0xae, 0xa9, 0xfc, 0x8c, 0xe5, 0x56, 0xa4, 0x90, 0xb3, 0x34, 0x6d, 0x85, 0x29, 0xf0, + 0x18, 0x77, 0xe5, 0xab, 0xf0, 0x40, 0xdf, 0x59, 0x41, 0xe0, 0xe4, 0xc0, 0x2c, 0xa3, 0xd0, 0x4b, + 0x30, 0x65, 0x1f, 0x0e, 0x02, 0xe5, 0xd0, 0x1b, 0xed, 0xc3, 0x28, 0xec, 0x69, 0x98, 0xb6, 0xf7, + 0xed, 0x41, 0xdc, 0x13, 0x41, 0x9c, 0x6c, 0xef, 0xdb, 0x51, 0xe0, 0xa3, 0xf4, 0xc0, 0xed, 0x60, + 0x0d, 0x79, 0xb8, 0x5d, 0x39, 0x1d, 0x54, 0x0f, 0x0c, 0xc8, 0x0b, 0x20, 0x69, 0x9a, 0x8a, 0x4d, + 0xb4, 0x6b, 0x60, 0x15, 0x39, 0xd8, 0x44, 0x6e, 0xe5, 0x6c, 0x50, 0xb9, 0xac, 0x69, 0x4d, 0x3a, + 0xda, 0xa0, 0x83, 0xf2, 0x13, 0x30, 0x69, 0xed, 0xde, 0xd0, 0x58, 0x48, 0xaa, 0xb6, 0x83, 0xf7, + 0xf4, 0x97, 0x2b, 0x8f, 0x50, 0xff, 0x4e, 0x90, 0x01, 0x1a, 0x90, 0x5b, 0x54, 0x2c, 0x3f, 0x0e, + 0x92, 0xe6, 0xee, 0x23, 0xc7, 0xa6, 0x39, 0xd9, 0xb5, 0x91, 0x86, 0x2b, 0x8f, 0x32, 0x55, 0x26, + 0xdf, 0x10, 0x62, 0xb2, 0x25, 0xdc, 0x5b, 0xfa, 0x9e, 0x27, 0x18, 0x1f, 0x63, 0x5b, 0x82, 0xca, + 0x38, 0xdb, 0x1c, 0x48, 0xc4, 0x15, 0xa1, 0x17, 0xcf, 0x51, 0xb5, 0xb2, 0xbd, 0x6f, 0x07, 0xdf, + 0xfb, 0x30, 0x8c, 0x13, 0xcd, 0xfe, 0x4b, 0x1f, 0x67, 0x0d, 0x99, 0xbd, 0x1f, 0x78, 0xe3, 0x45, + 0x38, 0x45, 0x94, 0xba, 0xd8, 0x43, 0x6d, 0xe4, 0xa1, 0x80, 0xf6, 0xc7, 0xa8, 0x36, 0xf1, 0xfb, + 0x3a, 0x1f, 0x0c, 0xd9, 0xe9, 0xf4, 0x76, 0x0f, 0xfd, 0xc8, 0x7a, 0x8a, 0xd9, 0x49, 0x64, 0x22, + 0xb6, 0x3e, 0xb0, 0xa6, 0xbb, 0x56, 0x87, 0x52, 0x30, 0xf0, 0xe5, 0x02, 0xb0, 0xd0, 0x97, 0x52, + 0xa4, 0x0b, 0x5a, 0xda, 0x5c, 0x26, 0xfd, 0xcb, 0x4b, 0x4d, 0x29, 0x4d, 0xfa, 0xa8, 0xb5, 0xd5, + 0xed, 0xa6, 0xaa, 0xec, 0x6c, 0x6c, 0xaf, 0xae, 0x37, 0xa5, 0x4c, 0xb0, 0x61, 0xff, 0x5e, 0x1a, + 0xca, 0xe1, 0xb3, 0x97, 0xfc, 0xff, 0xe0, 0xb4, 0xb8, 0x28, 0x71, 0xb1, 0xa7, 0xde, 0xd2, 0x1d, + 0xba, 0x17, 0xbb, 0x88, 0xd5, 0x45, 0x3f, 0x1a, 0xa6, 0xb9, 0x56, 0x0b, 0x7b, 0xcf, 0xeb, 0x0e, + 0xd9, 0x69, 0x5d, 0xe4, 0xc9, 0x6b, 0x70, 0xd6, 0xb4, 0x54, 0xd7, 0x43, 0x66, 0x1b, 0x39, 0x6d, + 0xb5, 0x7f, 0x45, 0xa5, 0x22, 0x4d, 0xc3, 0xae, 0x6b, 0xb1, 0x1a, 0xe8, 0xb3, 0x7c, 0xc4, 0xb4, + 0x5a, 0x5c, 0xb9, 0x5f, 0x1c, 0x1a, 0x5c, 0x35, 0x12, 0xb9, 0x99, 0xe3, 0x22, 0xf7, 0x41, 0x28, + 0x74, 0x91, 0xad, 0x62, 0xd3, 0x73, 0x0e, 0x69, 0xc7, 0x9d, 0x57, 0xf2, 0x5d, 0x64, 0x37, 0xc9, + 0xf3, 0x87, 0x73, 0xf0, 0xf9, 0xe7, 0x0c, 0x94, 0x82, 0x5d, 0x37, 0x39, 0xc4, 0x68, 0xb4, 0x40, + 0xa5, 0x68, 0x0a, 0x7b, 0xf8, 0xbe, 0x3d, 0xfa, 0xfc, 0x12, 0xa9, 0x5c, 0xf5, 0x51, 0xd6, 0x0b, + 0x2b, 0x0c, 0x49, 0xba, 0x06, 0x12, 0x5a, 0x98, 0xf5, 0x1e, 0x79, 0x85, 0x3f, 0xc9, 0x2b, 0x30, + 0x7a, 0xc3, 0xa5, 0xdc, 0xa3, 0x94, 0xfb, 0x91, 0xfb, 0x73, 0x3f, 0xd7, 0xa2, 0xe4, 0x85, 0xe7, + 0x5a, 0xea, 0xc6, 0xa6, 0xb2, 0xde, 0x58, 0x53, 0x38, 0x5c, 0x3e, 0x03, 0x59, 0x03, 0xdd, 0x3e, + 0x0c, 0xd7, 0x38, 0x2a, 0x4a, 0xea, 0xf8, 0x33, 0x90, 0xbd, 0x85, 0xd1, 0x41, 0xb8, 0xb2, 0x50, + 0xd1, 0x07, 0x18, 0xfa, 0x0b, 0x90, 0xa3, 0xfe, 0x92, 0x01, 0xb8, 0xc7, 0xa4, 0x11, 0x39, 0x0f, + 0xd9, 0xa5, 0x4d, 0x85, 0x84, 0xbf, 0x04, 0x25, 0x26, 0x55, 0xb7, 0x56, 0x9b, 0x4b, 0x4d, 0x29, + 0x5d, 0xbb, 0x04, 0xa3, 0xcc, 0x09, 0x64, 0x6b, 0xf8, 0x6e, 0x90, 0x46, 0xf8, 0x23, 0xe7, 0x48, + 0x89, 0xd1, 0x9d, 0xf5, 0xc5, 0xa6, 0x22, 0xa5, 0x83, 0xcb, 0xeb, 0x42, 0x29, 0xd8, 0x70, 0x7f, + 0x38, 0x31, 0xf5, 0xdd, 0x14, 0x14, 0x03, 0x0d, 0x34, 0xe9, 0x7c, 0x90, 0x61, 0x58, 0xb7, 0x54, + 0x64, 0xe8, 0xc8, 0xe5, 0x41, 0x01, 0x54, 0xd4, 0x20, 0x92, 0xa4, 0x8b, 0xf6, 0xa1, 0x18, 0xff, + 0x7a, 0x0a, 0xa4, 0x68, 0xef, 0x1a, 0x31, 0x30, 0xf5, 0x13, 0x35, 0xf0, 0xb5, 0x14, 0x94, 0xc3, + 0x0d, 0x6b, 0xc4, 0xbc, 0x73, 0x3f, 0x51, 0xf3, 0xde, 0x4a, 0xc3, 0x78, 0xa8, 0x4d, 0x4d, 0x6a, + 0xdd, 0x67, 0x61, 0x52, 0x6f, 0xe3, 0xae, 0x6d, 0x79, 0xd8, 0xd4, 0x0e, 0x55, 0x03, 0xdf, 0xc4, + 0x46, 0xa5, 0x46, 0x13, 0xc5, 0xc2, 0xfd, 0x1b, 0xe1, 0xf9, 0xd5, 0x3e, 0x6e, 0x8d, 0xc0, 0xea, + 0x53, 0xab, 0xcb, 0xcd, 0xf5, 0xad, 0xcd, 0xed, 0xe6, 0xc6, 0xd2, 0x8b, 0xea, 0xce, 0xc6, 0x4f, + 0x6d, 0x6c, 0x3e, 0xbf, 0xa1, 0x48, 0x7a, 0x44, 0xed, 0x03, 0xdc, 0xea, 0x5b, 0x20, 0x45, 0x8d, + 0x92, 0x4f, 0xc3, 0x30, 0xb3, 0xa4, 0x11, 0x79, 0x0a, 0x26, 0x36, 0x36, 0xd5, 0xd6, 0xea, 0x72, + 0x53, 0x6d, 0x5e, 0xbf, 0xde, 0x5c, 0xda, 0x6e, 0xb1, 0xab, 0x0d, 0x5f, 0x7b, 0x3b, 0xbc, 0xa9, + 0x5f, 0xcd, 0xc0, 0xd4, 0x10, 0x4b, 0xe4, 0x06, 0x3f, 0x94, 0xb0, 0x73, 0xd2, 0x53, 0x49, 0xac, + 0x9f, 0x27, 0x5d, 0xc1, 0x16, 0x72, 0x3c, 0x7e, 0x86, 0x79, 0x1c, 0x88, 0x97, 0x4c, 0x4f, 0xdf, + 0xd3, 0xb1, 0xc3, 0x6f, 0x82, 0xd8, 0x49, 0x65, 0xa2, 0x2f, 0x67, 0x97, 0x41, 0x1f, 0x03, 0xd9, + 0xb6, 0x5c, 0xdd, 0xd3, 0x6f, 0x62, 0x55, 0x37, 0xc5, 0xb5, 0x11, 0x39, 0xb9, 0x64, 0x15, 0x49, + 0x8c, 0xac, 0x9a, 0x9e, 0xaf, 0x6d, 0xe2, 0x0e, 0x8a, 0x68, 0x93, 0x04, 0x9e, 0x51, 0x24, 0x31, + 0xe2, 0x6b, 0x9f, 0x83, 0x52, 0xdb, 0xea, 0x91, 0x76, 0x8e, 0xe9, 0x91, 0x7a, 0x91, 0x52, 0x8a, + 0x4c, 0xe6, 0xab, 0xf0, 0x46, 0xbd, 0x7f, 0x5f, 0x55, 0x52, 0x8a, 0x4c, 0xc6, 0x54, 0x1e, 0x83, + 0x09, 0xd4, 0xe9, 0x38, 0x84, 0x5c, 0x10, 0xb1, 0xa3, 0x47, 0xd9, 0x17, 0x53, 0xc5, 0x99, 0xe7, + 0x20, 0x2f, 0xfc, 0x40, 0x4a, 0x32, 0xf1, 0x84, 0x6a, 0xb3, 0xf3, 0x74, 0x7a, 0xae, 0xa0, 0xe4, + 0x4d, 0x31, 0x78, 0x0e, 0x4a, 0xba, 0xab, 0xf6, 0xaf, 0xdf, 0xd3, 0xb3, 0xe9, 0xb9, 0xbc, 0x52, + 0xd4, 0x5d, 0xff, 0xea, 0xb2, 0xf6, 0x46, 0x1a, 0xca, 0xe1, 0xcf, 0x07, 0xf2, 0x32, 0xe4, 0x0d, + 0x4b, 0x43, 0x34, 0xb4, 0xd8, 0xb7, 0xab, 0xb9, 0x98, 0x2f, 0x0e, 0xf3, 0x6b, 0x5c, 0x5f, 0xf1, + 0x91, 0x33, 0xff, 0x98, 0x82, 0xbc, 0x10, 0xcb, 0xa7, 0x20, 0x6b, 0x23, 0x6f, 0x9f, 0xd2, 0xe5, + 0x16, 0xd3, 0x52, 0x4a, 0xa1, 0xcf, 0x44, 0xee, 0xda, 0xc8, 0xa4, 0x21, 0xc0, 0xe5, 0xe4, 0x99, + 0xac, 0xab, 0x81, 0x51, 0x9b, 0x9e, 0x6b, 0xac, 0x6e, 0x17, 0x9b, 0x9e, 0x2b, 0xd6, 0x95, 0xcb, + 0x97, 0xb8, 0x58, 0x7e, 0x12, 0x26, 0x3d, 0x07, 0xe9, 0x46, 0x48, 0x37, 0x4b, 0x75, 0x25, 0x31, + 0xe0, 0x2b, 0xd7, 0xe1, 0x8c, 0xe0, 0x6d, 0x63, 0x0f, 0x69, 0xfb, 0xb8, 0xdd, 0x07, 0x8d, 0xd2, + 0xfb, 0x8b, 0xd3, 0x5c, 0x61, 0x99, 0x8f, 0x0b, 0x6c, 0xed, 0x07, 0x29, 0x98, 0x14, 0x27, 0xb1, + 0xb6, 0xef, 0xac, 0x75, 0x00, 0x64, 0x9a, 0x96, 0x17, 0x74, 0xd7, 0x60, 0x28, 0x0f, 0xe0, 0xe6, + 0x1b, 0x3e, 0x48, 0x09, 0x10, 0xcc, 0x74, 0x01, 0xfa, 0x23, 0xc7, 0xba, 0xed, 0x2c, 0x14, 0xf9, + 0xb7, 0x21, 0xfa, 0x81, 0x91, 0x9d, 0xdd, 0x81, 0x89, 0xc8, 0x91, 0x4d, 0x9e, 0x86, 0xdc, 0x2e, + 0xee, 0xe8, 0x26, 0xbf, 0xf1, 0x65, 0x0f, 0xe2, 0x86, 0x25, 0xeb, 0xdf, 0xb0, 0x2c, 0x7e, 0x06, + 0xa6, 0x34, 0xab, 0x1b, 0x35, 0x77, 0x51, 0x8a, 0xdc, 0x1f, 0xb8, 0x9f, 0x4c, 0xbd, 0x04, 0xfd, + 0x16, 0xf3, 0xbd, 0x54, 0xea, 0xcb, 0xe9, 0xcc, 0xca, 0xd6, 0xe2, 0xd7, 0xd2, 0x33, 0x2b, 0x0c, + 0xba, 0x25, 0x66, 0xaa, 0xe0, 0x3d, 0x03, 0x6b, 0xc4, 0x7a, 0xf8, 0xca, 0x93, 0xf0, 0x54, 0x47, + 0xf7, 0xf6, 0x7b, 0xbb, 0xf3, 0x9a, 0xd5, 0x5d, 0xe8, 0x58, 0x1d, 0xab, 0xff, 0x4d, 0x95, 0x3c, + 0xd1, 0x07, 0xfa, 0x1f, 0xff, 0xae, 0x5a, 0xf0, 0xa5, 0x33, 0xb1, 0x1f, 0x61, 0xeb, 0x1b, 0x30, + 0xc5, 0x95, 0x55, 0xfa, 0x61, 0x87, 0x1d, 0x4f, 0xe4, 0xfb, 0x5e, 0x8e, 0x55, 0xbe, 0xf1, 0x36, + 0x2d, 0xd7, 0xca, 0x24, 0x87, 0x92, 0x31, 0x76, 0x82, 0xa9, 0x2b, 0xf0, 0x40, 0x88, 0x8f, 0x6d, + 0x4d, 0xec, 0xc4, 0x30, 0x7e, 0x8f, 0x33, 0x4e, 0x05, 0x18, 0x5b, 0x1c, 0x5a, 0x5f, 0x82, 0xf1, + 0x93, 0x70, 0xfd, 0x3d, 0xe7, 0x2a, 0xe1, 0x20, 0xc9, 0x0a, 0x4c, 0x50, 0x12, 0xad, 0xe7, 0x7a, + 0x56, 0x97, 0xe6, 0xbd, 0xfb, 0xd3, 0xfc, 0xc3, 0xdb, 0x6c, 0xaf, 0x94, 0x09, 0x6c, 0xc9, 0x47, + 0xd5, 0xeb, 0x40, 0xbf, 0x65, 0xb5, 0xb1, 0x66, 0xc4, 0x30, 0xbc, 0xc9, 0x0d, 0xf1, 0xf5, 0xeb, + 0x9f, 0x86, 0x69, 0xf2, 0x3f, 0x4d, 0x4b, 0x41, 0x4b, 0xe2, 0x6f, 0xd2, 0x2a, 0x3f, 0x78, 0x85, + 0x6d, 0xc7, 0x29, 0x9f, 0x20, 0x60, 0x53, 0x60, 0x15, 0x3b, 0xd8, 0xf3, 0xb0, 0xe3, 0xaa, 0xc8, + 0x18, 0x66, 0x5e, 0xe0, 0x2a, 0xa2, 0xf2, 0x85, 0x77, 0xc2, 0xab, 0xb8, 0xc2, 0x90, 0x0d, 0xc3, + 0xa8, 0xef, 0xc0, 0xe9, 0x21, 0x51, 0x91, 0x80, 0xf3, 0x55, 0xce, 0x39, 0x3d, 0x10, 0x19, 0x84, + 0x76, 0x0b, 0x84, 0xdc, 0x5f, 0xcb, 0x04, 0x9c, 0xbf, 0xc7, 0x39, 0x65, 0x8e, 0x15, 0x4b, 0x4a, + 0x18, 0x9f, 0x83, 0xc9, 0x9b, 0xd8, 0xd9, 0xb5, 0x5c, 0x7e, 0xfd, 0x93, 0x80, 0xee, 0x35, 0x4e, + 0x37, 0xc1, 0x81, 0xf4, 0x3e, 0x88, 0x70, 0x5d, 0x85, 0xfc, 0x1e, 0xd2, 0x70, 0x02, 0x8a, 0x2f, + 0x72, 0x8a, 0x31, 0xa2, 0x4f, 0xa0, 0x0d, 0x28, 0x75, 0x2c, 0x5e, 0x99, 0xe2, 0xe1, 0xaf, 0x73, + 0x78, 0x51, 0x60, 0x38, 0x85, 0x6d, 0xd9, 0x3d, 0x83, 0x94, 0xad, 0x78, 0x8a, 0xdf, 0x17, 0x14, + 0x02, 0xc3, 0x29, 0x4e, 0xe0, 0xd6, 0x3f, 0x10, 0x14, 0x6e, 0xc0, 0x9f, 0xcf, 0x42, 0xd1, 0x32, + 0x8d, 0x43, 0xcb, 0x4c, 0x62, 0xc4, 0x97, 0x38, 0x03, 0x70, 0x08, 0x21, 0xb8, 0x06, 0x85, 0xa4, + 0x0b, 0xf1, 0x47, 0xef, 0x88, 0xed, 0x21, 0x56, 0x60, 0x05, 0x26, 0x44, 0x82, 0xd2, 0x2d, 0x33, + 0x01, 0xc5, 0x57, 0x38, 0x45, 0x39, 0x00, 0xe3, 0xd3, 0xf0, 0xb0, 0xeb, 0x75, 0x70, 0x12, 0x92, + 0x37, 0xc4, 0x34, 0x38, 0x84, 0xbb, 0x72, 0x17, 0x9b, 0xda, 0x7e, 0x32, 0x86, 0xaf, 0x0a, 0x57, + 0x0a, 0x0c, 0xa1, 0x58, 0x82, 0xf1, 0x2e, 0x72, 0xdc, 0x7d, 0x64, 0x24, 0x5a, 0x8e, 0x3f, 0xe6, + 0x1c, 0x25, 0x1f, 0xc4, 0x3d, 0xd2, 0x33, 0x4f, 0x42, 0xf3, 0x35, 0xe1, 0x91, 0x00, 0x8c, 0x6f, + 0x3d, 0xd7, 0xa3, 0x77, 0x65, 0x27, 0x61, 0xfb, 0x13, 0xb1, 0xf5, 0x18, 0x76, 0x3d, 0xc8, 0x78, + 0x0d, 0x0a, 0xae, 0x7e, 0x3b, 0x11, 0xcd, 0x9f, 0x8a, 0x95, 0xa6, 0x00, 0x02, 0x7e, 0x11, 0xce, + 0x0c, 0x2d, 0x13, 0x09, 0xc8, 0xfe, 0x8c, 0x93, 0x9d, 0x1a, 0x52, 0x2a, 0x78, 0x4a, 0x38, 0x29, + 0xe5, 0x9f, 0x8b, 0x94, 0x80, 0x23, 0x5c, 0x5b, 0xe4, 0xac, 0xe0, 0xa2, 0xbd, 0x93, 0x79, 0xed, + 0x2f, 0x84, 0xd7, 0x18, 0x36, 0xe4, 0xb5, 0x6d, 0x38, 0xc5, 0x19, 0x4f, 0xb6, 0xae, 0x5f, 0x17, + 0x89, 0x95, 0xa1, 0x77, 0xc2, 0xab, 0xfb, 0x19, 0x98, 0xf1, 0xdd, 0x29, 0x9a, 0x52, 0x57, 0xed, + 0x22, 0x3b, 0x01, 0xf3, 0x37, 0x38, 0xb3, 0xc8, 0xf8, 0x7e, 0x57, 0xeb, 0xae, 0x23, 0x9b, 0x90, + 0xbf, 0x00, 0x15, 0x41, 0xde, 0x33, 0x1d, 0xac, 0x59, 0x1d, 0x53, 0xbf, 0x8d, 0xdb, 0x09, 0xa8, + 0xff, 0x32, 0xb2, 0x54, 0x3b, 0x01, 0x38, 0x61, 0x5e, 0x05, 0xc9, 0xef, 0x55, 0x54, 0xbd, 0x6b, + 0x5b, 0x8e, 0x17, 0xc3, 0xf8, 0x4d, 0xb1, 0x52, 0x3e, 0x6e, 0x95, 0xc2, 0xea, 0x4d, 0x28, 0xd3, + 0xc7, 0xa4, 0x21, 0xf9, 0x57, 0x9c, 0x68, 0xbc, 0x8f, 0xe2, 0x89, 0x43, 0xb3, 0xba, 0x36, 0x72, + 0x92, 0xe4, 0xbf, 0xbf, 0x16, 0x89, 0x83, 0x43, 0x78, 0xe2, 0xf0, 0x0e, 0x6d, 0x4c, 0xaa, 0x7d, + 0x02, 0x86, 0x6f, 0x89, 0xc4, 0x21, 0x30, 0x9c, 0x42, 0x34, 0x0c, 0x09, 0x28, 0xfe, 0x46, 0x50, + 0x08, 0x0c, 0xa1, 0xf8, 0x54, 0xbf, 0xd0, 0x3a, 0xb8, 0xa3, 0xbb, 0x9e, 0xc3, 0x5a, 0xe1, 0xfb, + 0x53, 0x7d, 0xfb, 0x9d, 0x70, 0x13, 0xa6, 0x04, 0xa0, 0x24, 0x13, 0xf1, 0x2b, 0x54, 0x7a, 0x52, + 0x8a, 0x37, 0xec, 0x3b, 0x22, 0x13, 0x05, 0x60, 0xc4, 0xb6, 0x40, 0x87, 0x48, 0xdc, 0xae, 0x91, + 0xf3, 0x41, 0x02, 0xba, 0xef, 0x46, 0x8c, 0x6b, 0x09, 0x2c, 0xe1, 0x0c, 0xf4, 0x3f, 0x3d, 0xf3, + 0x00, 0x1f, 0x26, 0x8a, 0xce, 0xbf, 0x8d, 0xf4, 0x3f, 0x3b, 0x0c, 0xc9, 0x72, 0xc8, 0x44, 0xa4, + 0x9f, 0x92, 0xe3, 0x7e, 0x05, 0x54, 0xf9, 0xb9, 0x7b, 0x7c, 0xbe, 0xe1, 0x76, 0xaa, 0xbe, 0x46, + 0x82, 0x3c, 0xdc, 0xf4, 0xc4, 0x93, 0xbd, 0x72, 0xcf, 0x8f, 0xf3, 0x50, 0xcf, 0x53, 0xbf, 0x0e, + 0xe3, 0xa1, 0x86, 0x27, 0x9e, 0xea, 0xe7, 0x39, 0x55, 0x29, 0xd8, 0xef, 0xd4, 0x2f, 0x41, 0x96, + 0x34, 0x2f, 0xf1, 0xf0, 0x5f, 0xe0, 0x70, 0xaa, 0x5e, 0xff, 0x04, 0xe4, 0x45, 0xd3, 0x12, 0x0f, + 0xfd, 0x45, 0x0e, 0xf5, 0x21, 0x04, 0x2e, 0x1a, 0x96, 0x78, 0xf8, 0x2f, 0x09, 0xb8, 0x80, 0x10, + 0x78, 0x72, 0x17, 0xfe, 0xdd, 0x2f, 0x67, 0x79, 0xd1, 0x11, 0xbe, 0xbb, 0x06, 0x63, 0xbc, 0x53, + 0x89, 0x47, 0x7f, 0x8e, 0xbf, 0x5c, 0x20, 0xea, 0x4f, 0x43, 0x2e, 0xa1, 0xc3, 0x7f, 0x95, 0x43, + 0x99, 0x7e, 0x7d, 0x09, 0x8a, 0x81, 0xee, 0x24, 0x1e, 0xfe, 0x6b, 0x1c, 0x1e, 0x44, 0x11, 0xd3, + 0x79, 0x77, 0x12, 0x4f, 0xf0, 0xeb, 0xc2, 0x74, 0x8e, 0x20, 0x6e, 0x13, 0x8d, 0x49, 0x3c, 0xfa, + 0x37, 0x84, 0xd7, 0x05, 0xa4, 0xfe, 0x2c, 0x14, 0xfc, 0x62, 0x13, 0x8f, 0xff, 0x4d, 0x8e, 0xef, + 0x63, 0x88, 0x07, 0x02, 0xc5, 0x2e, 0x9e, 0xe2, 0xb7, 0x84, 0x07, 0x02, 0x28, 0xb2, 0x8d, 0xa2, + 0x0d, 0x4c, 0x3c, 0xd3, 0x6f, 0x8b, 0x6d, 0x14, 0xe9, 0x5f, 0xc8, 0x6a, 0xd2, 0x9c, 0x1f, 0x4f, + 0xf1, 0x3b, 0x62, 0x35, 0xa9, 0x3e, 0x31, 0x23, 0xda, 0x11, 0xc4, 0x73, 0xfc, 0xae, 0x30, 0x23, + 0xd2, 0x10, 0xd4, 0xb7, 0x40, 0x1e, 0xec, 0x06, 0xe2, 0xf9, 0x3e, 0xcf, 0xf9, 0x26, 0x07, 0x9a, + 0x81, 0xfa, 0xf3, 0x70, 0x6a, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0x85, 0x7b, 0x91, 0xb3, 0x5b, 0xb0, + 0x11, 0xa8, 0x6f, 0xf7, 0x4b, 0x4a, 0xb0, 0x0b, 0x88, 0xa7, 0x7d, 0xf5, 0x5e, 0x38, 0x71, 0x07, + 0x9b, 0x80, 0x7a, 0x03, 0xa0, 0x5f, 0x80, 0xe3, 0xb9, 0x5e, 0xe3, 0x5c, 0x01, 0x10, 0xd9, 0x1a, + 0xbc, 0xfe, 0xc6, 0xe3, 0xbf, 0x28, 0xb6, 0x06, 0x47, 0x90, 0xad, 0x21, 0x4a, 0x6f, 0x3c, 0xfa, + 0x75, 0xb1, 0x35, 0x04, 0x84, 0x44, 0x76, 0xa0, 0xba, 0xc5, 0x33, 0x7c, 0x49, 0x44, 0x76, 0x00, + 0x55, 0xdf, 0x80, 0xc9, 0x81, 0x82, 0x18, 0x4f, 0xf5, 0x65, 0x4e, 0x25, 0x45, 0xeb, 0x61, 0xb0, + 0x78, 0xf1, 0x62, 0x18, 0xcf, 0xf6, 0x87, 0x91, 0xe2, 0xc5, 0x6b, 0x61, 0xfd, 0x1a, 0xe4, 0xcd, + 0x9e, 0x61, 0x90, 0xcd, 0x23, 0xdf, 0xff, 0x97, 0x7b, 0x95, 0x7f, 0x7d, 0x9f, 0x7b, 0x47, 0x00, + 0xea, 0x97, 0x20, 0x87, 0xbb, 0xbb, 0xb8, 0x1d, 0x87, 0xfc, 0xb7, 0xf7, 0x45, 0xc2, 0x24, 0xda, + 0xf5, 0x67, 0x01, 0xd8, 0xd5, 0x08, 0xfd, 0xec, 0x17, 0x83, 0xfd, 0xf7, 0xf7, 0xf9, 0x6f, 0x6a, + 0xfa, 0x90, 0x3e, 0x01, 0xfb, 0x85, 0xce, 0xfd, 0x09, 0xde, 0x09, 0x13, 0xd0, 0x15, 0xb9, 0x0a, + 0x63, 0x37, 0x5c, 0xcb, 0xf4, 0x50, 0x27, 0x0e, 0xfd, 0x1f, 0x1c, 0x2d, 0xf4, 0x89, 0xc3, 0xba, + 0x96, 0x83, 0x3d, 0xd4, 0x71, 0xe3, 0xb0, 0xff, 0xc9, 0xb1, 0x3e, 0x80, 0x80, 0x35, 0xe4, 0x7a, + 0x49, 0xe6, 0xfd, 0x5f, 0x02, 0x2c, 0x00, 0xc4, 0x68, 0xf2, 0xff, 0x01, 0x3e, 0x8c, 0xc3, 0xbe, + 0x2b, 0x8c, 0xe6, 0xfa, 0xf5, 0x4f, 0x40, 0x81, 0xfc, 0xcb, 0x7e, 0x28, 0x17, 0x03, 0xfe, 0x6f, + 0x0e, 0xee, 0x23, 0xc8, 0x9b, 0x5d, 0xaf, 0xed, 0xe9, 0xf1, 0xce, 0xfe, 0x1f, 0xbe, 0xd2, 0x42, + 0xbf, 0xde, 0x80, 0xa2, 0xeb, 0xb5, 0xdb, 0x3d, 0xde, 0x9f, 0xc6, 0xc0, 0xff, 0xf7, 0x7d, 0xff, + 0xca, 0xc2, 0xc7, 0x90, 0xd5, 0xbe, 0x75, 0xe0, 0xd9, 0x16, 0xfd, 0xcc, 0x11, 0xc7, 0x70, 0x8f, + 0x33, 0x04, 0x20, 0x8b, 0xcd, 0xe1, 0xd7, 0xb7, 0xb0, 0x62, 0xad, 0x58, 0xec, 0xe2, 0xf6, 0xa5, + 0x5a, 0xfc, 0x0d, 0x2c, 0x7c, 0x33, 0x03, 0x15, 0xcd, 0xea, 0xee, 0x5a, 0xee, 0x82, 0x89, 0x75, + 0x6f, 0x1f, 0x3b, 0x0b, 0x5d, 0x64, 0xf3, 0x3b, 0xd9, 0x62, 0x17, 0xd9, 0xfc, 0x57, 0xb5, 0xee, + 0xcc, 0xc9, 0xee, 0x73, 0x6b, 0x3f, 0x0b, 0x63, 0xeb, 0xc8, 0xde, 0xc6, 0xae, 0x27, 0x53, 0x4f, + 0xd3, 0x9f, 0x6f, 0xf1, 0x4b, 0xf2, 0xd9, 0xf9, 0x00, 0xf1, 0x3c, 0x57, 0x9b, 0x6f, 0x79, 0x4e, + 0xcb, 0x73, 0xe8, 0x0f, 0x0a, 0x94, 0x51, 0x97, 0x3e, 0xcc, 0x5c, 0x85, 0x62, 0x40, 0x2c, 0x4b, + 0x90, 0x39, 0xc0, 0x87, 0xfc, 0x07, 0x5c, 0xe4, 0x5f, 0x79, 0xba, 0xff, 0x0b, 0x4b, 0x22, 0x63, + 0x0f, 0xf5, 0xf4, 0x95, 0x54, 0xed, 0x19, 0x18, 0xbb, 0x8e, 0x0e, 0xf0, 0x3a, 0xb2, 0xe5, 0x0b, + 0x30, 0x86, 0x4d, 0xcf, 0xd1, 0xb1, 0xcb, 0x0d, 0x38, 0x13, 0x32, 0x80, 0xab, 0xb1, 0x37, 0x0b, + 0xcd, 0xda, 0x1a, 0x94, 0x82, 0x03, 0x49, 0xdf, 0x4d, 0xa4, 0x16, 0xf1, 0x23, 0xff, 0x68, 0xc1, + 0x1e, 0x16, 0x97, 0xdf, 0xbc, 0x5b, 0x1d, 0xf9, 0xfe, 0xdd, 0xea, 0xc8, 0x3f, 0xdd, 0xad, 0x8e, + 0xbc, 0x75, 0xb7, 0x9a, 0x7a, 0xf7, 0x6e, 0x35, 0xf5, 0xde, 0xdd, 0x6a, 0xea, 0xce, 0x51, 0x35, + 0xf5, 0xd5, 0xa3, 0x6a, 0xea, 0xeb, 0x47, 0xd5, 0xd4, 0xb7, 0x8f, 0xaa, 0xa9, 0x37, 0x8f, 0xaa, + 0x23, 0xdf, 0x3f, 0xaa, 0x8e, 0xbc, 0x75, 0x54, 0x4d, 0xfd, 0xe8, 0xa8, 0x3a, 0xf2, 0xee, 0x51, + 0x35, 0xf5, 0xde, 0x51, 0x75, 0xe4, 0xce, 0x0f, 0xab, 0x23, 0xbb, 0xa3, 0xd4, 0xb7, 0x17, 0xfe, + 0x2f, 0x00, 0x00, 0xff, 0xff, 0x42, 0xfd, 0xe9, 0xc1, 0xaa, 0x34, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -920,29 +949,3 @@ func valueToStringMap(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("combos/neither/map.proto", fileDescriptor_map_f8afe0c559a577e0) } - -var fileDescriptor_map_f8afe0c559a577e0 = []byte{ - // 313 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0x3f, 0x4f, 0x32, 0x41, - 0x10, 0x87, 0x77, 0x20, 0x2f, 0x97, 0x77, 0xb1, 0x30, 0x17, 0x8b, 0x93, 0x62, 0x42, 0xa8, 0x68, - 0xbc, 0x4b, 0xa4, 0x11, 0x0b, 0x0b, 0xa3, 0x56, 0xd2, 0x80, 0xbd, 0xd9, 0xc3, 0xe5, 0x4f, 0xe0, - 0xd8, 0xcb, 0xee, 0x9e, 0x09, 0x95, 0x7c, 0x1c, 0x4b, 0x4b, 0x3f, 0x02, 0x25, 0xa5, 0x25, 0xbb, - 0x36, 0x96, 0x94, 0x94, 0x86, 0xbd, 0x33, 0x39, 0x3b, 0xbb, 0x79, 0x7e, 0xfb, 0xec, 0xcc, 0x64, - 0x68, 0x30, 0x14, 0x49, 0x2c, 0x54, 0xb4, 0xe0, 0x53, 0x3d, 0xe1, 0x32, 0x4a, 0x58, 0x1a, 0xa6, - 0x52, 0x68, 0xe1, 0xd7, 0x13, 0x96, 0x3e, 0xf1, 0x11, 0xcb, 0xe6, 0x5a, 0x35, 0xce, 0xc6, 0x53, - 0x3d, 0xc9, 0xe2, 0x70, 0x28, 0x92, 0x68, 0x2c, 0xc6, 0x22, 0x72, 0x4e, 0x9c, 0x8d, 0x1c, 0x39, - 0x70, 0x55, 0xfe, 0xb7, 0xf5, 0x42, 0xbd, 0x1e, 0x4b, 0x1f, 0xb8, 0xd2, 0x7e, 0x97, 0x7a, 0x4a, - 0xcb, 0x47, 0xa5, 0x65, 0x00, 0xcd, 0x6a, 0xbb, 0x7e, 0xde, 0x0c, 0x4b, 0x8d, 0xc3, 0x42, 0x0b, - 0x07, 0x5a, 0x0e, 0xb4, 0xbc, 0x5d, 0x68, 0xb9, 0xec, 0xd7, 0x94, 0x83, 0x46, 0x97, 0xd6, 0x4b, - 0xb1, 0x7f, 0x4c, 0xab, 0x33, 0xbe, 0x0c, 0xa0, 0x09, 0xed, 0xff, 0xfd, 0x43, 0xe9, 0x9f, 0xd0, - 0x7f, 0xcf, 0x6c, 0x9e, 0xf1, 0xa0, 0xe2, 0xb2, 0x1c, 0x2e, 0x2b, 0x17, 0xd0, 0xba, 0xa2, 0xde, - 0x1d, 0x9b, 0xf1, 0x1e, 0x4b, 0xfd, 0x0e, 0xf5, 0xf8, 0x42, 0xcb, 0x29, 0x57, 0xc5, 0x02, 0xa7, - 0xbf, 0x16, 0x28, 0xb4, 0x7c, 0xf2, 0x8f, 0xd9, 0xba, 0xa7, 0x47, 0xe5, 0x87, 0xbf, 0xce, 0x3e, - 0xa4, 0xe2, 0x70, 0xc7, 0xa0, 0x9a, 0xa7, 0x0e, 0xae, 0x6f, 0xd6, 0x06, 0xc9, 0xc6, 0x20, 0xf9, - 0x30, 0x48, 0xb6, 0x06, 0x61, 0x67, 0x10, 0xf6, 0x06, 0x61, 0x65, 0x11, 0x5e, 0x2d, 0xc2, 0x9b, - 0x45, 0x78, 0xb7, 0x08, 0x6b, 0x8b, 0x64, 0x63, 0x91, 0x6c, 0x2d, 0xc2, 0x97, 0x45, 0xb2, 0xb3, - 0x08, 0x7b, 0x8b, 0x64, 0xf5, 0x89, 0x24, 0xae, 0xb9, 0xdb, 0x76, 0xbe, 0x03, 0x00, 0x00, 0xff, - 0xff, 0x9d, 0x34, 0x83, 0xd1, 0xb3, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/unmarshaler/map.pb.go b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/unmarshaler/map.pb.go index 4553399f4..679eee966 100644 --- a/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/unmarshaler/map.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapdefaults/combos/unmarshaler/map.pb.go @@ -3,22 +3,21 @@ package mapdefaults -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -41,7 +40,7 @@ type MapTest struct { func (m *MapTest) Reset() { *m = MapTest{} } func (*MapTest) ProtoMessage() {} func (*MapTest) Descriptor() ([]byte, []int) { - return fileDescriptor_map_c5bc2daa9ca30987, []int{0} + return fileDescriptor_5846b82278d94871, []int{0} } func (m *MapTest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -49,8 +48,8 @@ func (m *MapTest) XXX_Unmarshal(b []byte) error { func (m *MapTest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapTest.Marshal(b, m, deterministic) } -func (dst *MapTest) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapTest.Merge(dst, src) +func (m *MapTest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapTest.Merge(m, src) } func (m *MapTest) XXX_Size() int { return xxx_messageInfo_MapTest.Size(m) @@ -71,7 +70,7 @@ type FakeMap struct { func (m *FakeMap) Reset() { *m = FakeMap{} } func (*FakeMap) ProtoMessage() {} func (*FakeMap) Descriptor() ([]byte, []int) { - return fileDescriptor_map_c5bc2daa9ca30987, []int{1} + return fileDescriptor_5846b82278d94871, []int{1} } func (m *FakeMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -79,8 +78,8 @@ func (m *FakeMap) XXX_Unmarshal(b []byte) error { func (m *FakeMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FakeMap.Marshal(b, m, deterministic) } -func (dst *FakeMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMap.Merge(dst, src) +func (m *FakeMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMap.Merge(m, src) } func (m *FakeMap) XXX_Size() int { return xxx_messageInfo_FakeMap.Size(m) @@ -103,7 +102,7 @@ type FakeMapEntry struct { func (m *FakeMapEntry) Reset() { *m = FakeMapEntry{} } func (*FakeMapEntry) ProtoMessage() {} func (*FakeMapEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_map_c5bc2daa9ca30987, []int{2} + return fileDescriptor_5846b82278d94871, []int{2} } func (m *FakeMapEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -111,8 +110,8 @@ func (m *FakeMapEntry) XXX_Unmarshal(b []byte) error { func (m *FakeMapEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FakeMapEntry.Marshal(b, m, deterministic) } -func (dst *FakeMapEntry) XXX_Merge(src proto.Message) { - xxx_messageInfo_FakeMapEntry.Merge(dst, src) +func (m *FakeMapEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_FakeMapEntry.Merge(m, src) } func (m *FakeMapEntry) XXX_Size() int { return xxx_messageInfo_FakeMapEntry.Size(m) @@ -129,6 +128,33 @@ func init() { proto.RegisterType((*FakeMap)(nil), "mapdefaults.FakeMap") proto.RegisterType((*FakeMapEntry)(nil), "mapdefaults.FakeMapEntry") } + +func init() { proto.RegisterFile("combos/unmarshaler/map.proto", fileDescriptor_5846b82278d94871) } + +var fileDescriptor_5846b82278d94871 = []byte{ + // 315 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0xbf, 0x4f, 0x02, 0x31, + 0x14, 0xc7, 0xfb, 0x20, 0x72, 0xb1, 0x38, 0x98, 0x8b, 0xc3, 0x49, 0xcc, 0x0b, 0x61, 0x62, 0xf1, + 0x2e, 0x91, 0x45, 0x1c, 0x1c, 0x8c, 0x3a, 0xc9, 0x02, 0xee, 0xa6, 0x87, 0xe5, 0x47, 0xe0, 0xe8, + 0xa5, 0xed, 0x99, 0x30, 0xc9, 0x9f, 0xe3, 0xe8, 0xe8, 0x9f, 0xc0, 0xc8, 0xe8, 0x48, 0xeb, 0xe2, + 0xc8, 0xc8, 0x68, 0xe8, 0x61, 0x72, 0x6e, 0x6e, 0xef, 0xf3, 0xed, 0xa7, 0x7d, 0xdf, 0x94, 0x9e, + 0xf5, 0x45, 0x12, 0x0b, 0x15, 0x65, 0xb3, 0x84, 0x49, 0x35, 0x62, 0x53, 0x2e, 0xa3, 0x84, 0xa5, + 0x61, 0x2a, 0x85, 0x16, 0x7e, 0x35, 0x61, 0xe9, 0x33, 0x1f, 0xb0, 0x6c, 0xaa, 0x55, 0xed, 0x7c, + 0x38, 0xd6, 0xa3, 0x2c, 0x0e, 0xfb, 0x22, 0x89, 0x86, 0x62, 0x28, 0x22, 0xe7, 0xc4, 0xd9, 0xc0, + 0x91, 0x03, 0x37, 0xe5, 0x77, 0x1b, 0xaf, 0xd4, 0xeb, 0xb0, 0xf4, 0x91, 0x2b, 0xed, 0xb7, 0xa9, + 0xa7, 0xb4, 0x7c, 0x52, 0x5a, 0x06, 0x50, 0x2f, 0x37, 0xab, 0x17, 0xf5, 0xb0, 0xf0, 0x70, 0xb8, + 0xd7, 0xc2, 0x9e, 0x96, 0x3d, 0x2d, 0xef, 0x66, 0x5a, 0xce, 0xbb, 0x15, 0xe5, 0xa0, 0xd6, 0xa6, + 0xd5, 0x42, 0xec, 0x1f, 0xd3, 0xf2, 0x84, 0xcf, 0x03, 0xa8, 0x43, 0xf3, 0xb0, 0xbb, 0x1b, 0xfd, + 0x13, 0x7a, 0xf0, 0xc2, 0xa6, 0x19, 0x0f, 0x4a, 0x2e, 0xcb, 0xe1, 0xaa, 0x74, 0x09, 0x8d, 0x6b, + 0xea, 0xdd, 0xb3, 0x09, 0xef, 0xb0, 0xd4, 0x6f, 0x51, 0x8f, 0xcf, 0xb4, 0x1c, 0x73, 0xb5, 0x2f, + 0x70, 0xfa, 0xa7, 0xc0, 0x5e, 0xcb, 0x37, 0xff, 0x9a, 0x8d, 0x07, 0x7a, 0x54, 0x3c, 0xf8, 0xef, + 0xee, 0x5d, 0x2a, 0xf4, 0x88, 0xcb, 0xa0, 0x9c, 0xa7, 0x0e, 0x6e, 0x6e, 0x97, 0x06, 0xc9, 0xca, + 0x20, 0xf9, 0x34, 0x48, 0xd6, 0x06, 0x61, 0x63, 0x10, 0xb6, 0x06, 0x61, 0x61, 0x11, 0xde, 0x2c, + 0xc2, 0xbb, 0x45, 0xf8, 0xb0, 0x08, 0x4b, 0x8b, 0x64, 0x65, 0x11, 0xd6, 0x16, 0xe1, 0xdb, 0x22, + 0xd9, 0x58, 0x84, 0xad, 0x45, 0xb2, 0xf8, 0x42, 0x12, 0x57, 0xdc, 0xdf, 0xb6, 0x7e, 0x02, 0x00, + 0x00, 0xff, 0xff, 0x44, 0xd1, 0x73, 0x81, 0xb7, 0x01, 0x00, 0x00, +} + func (this *MapTest) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return MapDescription() } @@ -141,256 +167,258 @@ func (this *FakeMapEntry) Description() (desc *github_com_gogo_protobuf_protoc_g func MapDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3977 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0xe3, 0xe6, - 0x75, 0x16, 0x78, 0x91, 0xc8, 0x43, 0x8a, 0x82, 0x20, 0x79, 0x97, 0x2b, 0xdb, 0x5c, 0x2d, 0x6d, - 0xc7, 0xb2, 0xdd, 0x48, 0x99, 0x5d, 0xef, 0x7a, 0x97, 0xdb, 0xd8, 0xa5, 0x24, 0xae, 0x22, 0x57, - 0x17, 0x06, 0x94, 0xe2, 0x4b, 0xa6, 0x83, 0x81, 0xc0, 0x9f, 0x14, 0x56, 0x20, 0x80, 0x00, 0xe0, - 0xae, 0xb5, 0xd3, 0x99, 0x6e, 0xc7, 0xbd, 0x4c, 0xa6, 0xd3, 0x7b, 0x67, 0x9a, 0xb8, 0x8e, 0xdb, - 0xa4, 0xd3, 0x38, 0x4d, 0x6f, 0x49, 0xd3, 0xe6, 0xd6, 0x97, 0xbe, 0xa4, 0xf5, 0x53, 0x27, 0x79, - 0xeb, 0x43, 0x1f, 0xbc, 0x8a, 0x67, 0x9a, 0xb6, 0x6e, 0xe3, 0xb6, 0xfb, 0xe0, 0x19, 0xbf, 0x64, - 0xfe, 0x1b, 0x08, 0x80, 0xd4, 0x02, 0xca, 0x8c, 0xed, 0x27, 0x09, 0xe7, 0x3f, 0xdf, 0x87, 0xf3, - 0x9f, 0xff, 0xfc, 0xe7, 0x9c, 0xff, 0x27, 0xe0, 0xc7, 0x57, 0x60, 0xbe, 0x6b, 0x59, 0x5d, 0x03, - 0x2d, 0xd9, 0x8e, 0xe5, 0x59, 0x7b, 0xfd, 0xce, 0x52, 0x1b, 0xb9, 0x9a, 0xa3, 0xdb, 0x9e, 0xe5, - 0x2c, 0x12, 0x99, 0x34, 0x45, 0x35, 0x16, 0xb9, 0x46, 0x75, 0x13, 0xa6, 0xaf, 0xe9, 0x06, 0x5a, - 0xf5, 0x15, 0x5b, 0xc8, 0x93, 0x2e, 0x43, 0xa6, 0xa3, 0x1b, 0xa8, 0x2c, 0xcc, 0xa7, 0x17, 0x0a, - 0xe7, 0x1f, 0x5e, 0x8c, 0x80, 0x16, 0xc3, 0x88, 0x26, 0x16, 0xcb, 0x04, 0x51, 0x7d, 0x2b, 0x03, - 0x33, 0x23, 0x46, 0x25, 0x09, 0x32, 0xa6, 0xda, 0xc3, 0x8c, 0xc2, 0x42, 0x5e, 0x26, 0xff, 0x4b, - 0x65, 0x98, 0xb0, 0x55, 0xed, 0x40, 0xed, 0xa2, 0x72, 0x8a, 0x88, 0xf9, 0xa3, 0x54, 0x01, 0x68, - 0x23, 0x1b, 0x99, 0x6d, 0x64, 0x6a, 0x87, 0xe5, 0xf4, 0x7c, 0x7a, 0x21, 0x2f, 0x07, 0x24, 0xd2, - 0x13, 0x30, 0x6d, 0xf7, 0xf7, 0x0c, 0x5d, 0x53, 0x02, 0x6a, 0x30, 0x9f, 0x5e, 0xc8, 0xca, 0x22, - 0x1d, 0x58, 0x1d, 0x28, 0x3f, 0x0a, 0x53, 0x37, 0x91, 0x7a, 0x10, 0x54, 0x2d, 0x10, 0xd5, 0x12, - 0x16, 0x07, 0x14, 0x57, 0xa0, 0xd8, 0x43, 0xae, 0xab, 0x76, 0x91, 0xe2, 0x1d, 0xda, 0xa8, 0x9c, - 0x21, 0xb3, 0x9f, 0x1f, 0x9a, 0x7d, 0x74, 0xe6, 0x05, 0x86, 0xda, 0x39, 0xb4, 0x91, 0x54, 0x87, - 0x3c, 0x32, 0xfb, 0x3d, 0xca, 0x90, 0x3d, 0xc6, 0x7f, 0x0d, 0xb3, 0xdf, 0x8b, 0xb2, 0xe4, 0x30, - 0x8c, 0x51, 0x4c, 0xb8, 0xc8, 0xb9, 0xa1, 0x6b, 0xa8, 0x3c, 0x4e, 0x08, 0x1e, 0x1d, 0x22, 0x68, - 0xd1, 0xf1, 0x28, 0x07, 0xc7, 0x49, 0x2b, 0x90, 0x47, 0x2f, 0x79, 0xc8, 0x74, 0x75, 0xcb, 0x2c, - 0x4f, 0x10, 0x92, 0x47, 0x46, 0xac, 0x22, 0x32, 0xda, 0x51, 0x8a, 0x01, 0x4e, 0xba, 0x04, 0x13, - 0x96, 0xed, 0xe9, 0x96, 0xe9, 0x96, 0x73, 0xf3, 0xc2, 0x42, 0xe1, 0xfc, 0x03, 0x23, 0x03, 0x61, - 0x9b, 0xea, 0xc8, 0x5c, 0x59, 0x5a, 0x07, 0xd1, 0xb5, 0xfa, 0x8e, 0x86, 0x14, 0xcd, 0x6a, 0x23, - 0x45, 0x37, 0x3b, 0x56, 0x39, 0x4f, 0x08, 0xce, 0x0e, 0x4f, 0x84, 0x28, 0xae, 0x58, 0x6d, 0xb4, - 0x6e, 0x76, 0x2c, 0xb9, 0xe4, 0x86, 0x9e, 0xa5, 0x53, 0x30, 0xee, 0x1e, 0x9a, 0x9e, 0xfa, 0x52, - 0xb9, 0x48, 0x22, 0x84, 0x3d, 0x55, 0xbf, 0x33, 0x0e, 0x53, 0x49, 0x42, 0xec, 0x2a, 0x64, 0x3b, - 0x78, 0x96, 0xe5, 0xd4, 0x49, 0x7c, 0x40, 0x31, 0x61, 0x27, 0x8e, 0xff, 0x94, 0x4e, 0xac, 0x43, - 0xc1, 0x44, 0xae, 0x87, 0xda, 0x34, 0x22, 0xd2, 0x09, 0x63, 0x0a, 0x28, 0x68, 0x38, 0xa4, 0x32, - 0x3f, 0x55, 0x48, 0x3d, 0x0f, 0x53, 0xbe, 0x49, 0x8a, 0xa3, 0x9a, 0x5d, 0x1e, 0x9b, 0x4b, 0x71, - 0x96, 0x2c, 0x36, 0x38, 0x4e, 0xc6, 0x30, 0xb9, 0x84, 0x42, 0xcf, 0xd2, 0x2a, 0x80, 0x65, 0x22, - 0xab, 0xa3, 0xb4, 0x91, 0x66, 0x94, 0x73, 0xc7, 0x78, 0x69, 0x1b, 0xab, 0x0c, 0x79, 0xc9, 0xa2, - 0x52, 0xcd, 0x90, 0xae, 0x0c, 0x42, 0x6d, 0xe2, 0x98, 0x48, 0xd9, 0xa4, 0x9b, 0x6c, 0x28, 0xda, - 0x76, 0xa1, 0xe4, 0x20, 0x1c, 0xf7, 0xa8, 0xcd, 0x66, 0x96, 0x27, 0x46, 0x2c, 0xc6, 0xce, 0x4c, - 0x66, 0x30, 0x3a, 0xb1, 0x49, 0x27, 0xf8, 0x28, 0x3d, 0x04, 0xbe, 0x40, 0x21, 0x61, 0x05, 0x24, - 0x0b, 0x15, 0xb9, 0x70, 0x4b, 0xed, 0xa1, 0xb9, 0x5b, 0x50, 0x0a, 0xbb, 0x47, 0x9a, 0x85, 0xac, - 0xeb, 0xa9, 0x8e, 0x47, 0xa2, 0x30, 0x2b, 0xd3, 0x07, 0x49, 0x84, 0x34, 0x32, 0xdb, 0x24, 0xcb, - 0x65, 0x65, 0xfc, 0xaf, 0xf4, 0x73, 0x83, 0x09, 0xa7, 0xc9, 0x84, 0x3f, 0x32, 0xbc, 0xa2, 0x21, - 0xe6, 0xe8, 0xbc, 0xe7, 0x9e, 0x82, 0xc9, 0xd0, 0x04, 0x92, 0xbe, 0xba, 0xfa, 0x8b, 0x70, 0xdf, - 0x48, 0x6a, 0xe9, 0x79, 0x98, 0xed, 0x9b, 0xba, 0xe9, 0x21, 0xc7, 0x76, 0x10, 0x8e, 0x58, 0xfa, - 0xaa, 0xf2, 0xbf, 0x4f, 0x1c, 0x13, 0x73, 0xbb, 0x41, 0x6d, 0xca, 0x22, 0xcf, 0xf4, 0x87, 0x85, - 0x8f, 0xe7, 0x73, 0x3f, 0x9a, 0x10, 0x6f, 0xdf, 0xbe, 0x7d, 0x3b, 0x55, 0xfd, 0xdc, 0x38, 0xcc, - 0x8e, 0xda, 0x33, 0x23, 0xb7, 0xef, 0x29, 0x18, 0x37, 0xfb, 0xbd, 0x3d, 0xe4, 0x10, 0x27, 0x65, - 0x65, 0xf6, 0x24, 0xd5, 0x21, 0x6b, 0xa8, 0x7b, 0xc8, 0x28, 0x67, 0xe6, 0x85, 0x85, 0xd2, 0xf9, - 0x27, 0x12, 0xed, 0xca, 0xc5, 0x0d, 0x0c, 0x91, 0x29, 0x52, 0x7a, 0x1a, 0x32, 0x2c, 0x45, 0x63, - 0x86, 0xc7, 0x93, 0x31, 0xe0, 0xbd, 0x24, 0x13, 0x9c, 0x74, 0x3f, 0xe4, 0xf1, 0x5f, 0x1a, 0x1b, - 0xe3, 0xc4, 0xe6, 0x1c, 0x16, 0xe0, 0xb8, 0x90, 0xe6, 0x20, 0x47, 0xb6, 0x49, 0x1b, 0xf1, 0xd2, - 0xe6, 0x3f, 0xe3, 0xc0, 0x6a, 0xa3, 0x8e, 0xda, 0x37, 0x3c, 0xe5, 0x86, 0x6a, 0xf4, 0x11, 0x09, - 0xf8, 0xbc, 0x5c, 0x64, 0xc2, 0x4f, 0x61, 0x99, 0x74, 0x16, 0x0a, 0x74, 0x57, 0xe9, 0x66, 0x1b, - 0xbd, 0x44, 0xb2, 0x67, 0x56, 0xa6, 0x1b, 0x6d, 0x1d, 0x4b, 0xf0, 0xeb, 0xaf, 0xbb, 0x96, 0xc9, - 0x43, 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x9f, 0x8a, 0x26, 0xee, 0x07, 0x47, 0x4f, 0x2f, 0x1a, - 0x53, 0xd5, 0x6f, 0xa6, 0x20, 0x43, 0xf2, 0xc5, 0x14, 0x14, 0x76, 0x5e, 0x68, 0x36, 0x94, 0xd5, - 0xed, 0xdd, 0xe5, 0x8d, 0x86, 0x28, 0x48, 0x25, 0x00, 0x22, 0xb8, 0xb6, 0xb1, 0x5d, 0xdf, 0x11, - 0x53, 0xfe, 0xf3, 0xfa, 0xd6, 0xce, 0xa5, 0x27, 0xc5, 0xb4, 0x0f, 0xd8, 0xa5, 0x82, 0x4c, 0x50, - 0xe1, 0xc2, 0x79, 0x31, 0x2b, 0x89, 0x50, 0xa4, 0x04, 0xeb, 0xcf, 0x37, 0x56, 0x2f, 0x3d, 0x29, - 0x8e, 0x87, 0x25, 0x17, 0xce, 0x8b, 0x13, 0xd2, 0x24, 0xe4, 0x89, 0x64, 0x79, 0x7b, 0x7b, 0x43, - 0xcc, 0xf9, 0x9c, 0xad, 0x1d, 0x79, 0x7d, 0x6b, 0x4d, 0xcc, 0xfb, 0x9c, 0x6b, 0xf2, 0xf6, 0x6e, - 0x53, 0x04, 0x9f, 0x61, 0xb3, 0xd1, 0x6a, 0xd5, 0xd7, 0x1a, 0x62, 0xc1, 0xd7, 0x58, 0x7e, 0x61, - 0xa7, 0xd1, 0x12, 0x8b, 0x21, 0xb3, 0x2e, 0x9c, 0x17, 0x27, 0xfd, 0x57, 0x34, 0xb6, 0x76, 0x37, - 0xc5, 0x92, 0x34, 0x0d, 0x93, 0xf4, 0x15, 0xdc, 0x88, 0xa9, 0x88, 0xe8, 0xd2, 0x93, 0xa2, 0x38, - 0x30, 0x84, 0xb2, 0x4c, 0x87, 0x04, 0x97, 0x9e, 0x14, 0xa5, 0xea, 0x0a, 0x64, 0x49, 0x74, 0x49, - 0x12, 0x94, 0x36, 0xea, 0xcb, 0x8d, 0x0d, 0x65, 0xbb, 0xb9, 0xb3, 0xbe, 0xbd, 0x55, 0xdf, 0x10, - 0x85, 0x81, 0x4c, 0x6e, 0x7c, 0x72, 0x77, 0x5d, 0x6e, 0xac, 0x8a, 0xa9, 0xa0, 0xac, 0xd9, 0xa8, - 0xef, 0x34, 0x56, 0xc5, 0x74, 0x55, 0x83, 0xd9, 0x51, 0x79, 0x72, 0xe4, 0xce, 0x08, 0x2c, 0x71, - 0xea, 0x98, 0x25, 0x26, 0x5c, 0x43, 0x4b, 0xfc, 0xc3, 0x14, 0xcc, 0x8c, 0xa8, 0x15, 0x23, 0x5f, - 0xf2, 0x0c, 0x64, 0x69, 0x88, 0xd2, 0xea, 0xf9, 0xd8, 0xc8, 0xa2, 0x43, 0x02, 0x76, 0xa8, 0x82, - 0x12, 0x5c, 0xb0, 0x83, 0x48, 0x1f, 0xd3, 0x41, 0x60, 0x8a, 0xa1, 0x9c, 0xfe, 0x0b, 0x43, 0x39, - 0x9d, 0x96, 0xbd, 0x4b, 0x49, 0xca, 0x1e, 0x91, 0x9d, 0x2c, 0xb7, 0x67, 0x47, 0xe4, 0xf6, 0xab, - 0x30, 0x3d, 0x44, 0x94, 0x38, 0xc7, 0xbe, 0x2c, 0x40, 0xf9, 0x38, 0xe7, 0xc4, 0x64, 0xba, 0x54, - 0x28, 0xd3, 0x5d, 0x8d, 0x7a, 0xf0, 0xdc, 0xf1, 0x8b, 0x30, 0xb4, 0xd6, 0xaf, 0x0b, 0x70, 0x6a, - 0x74, 0xa7, 0x38, 0xd2, 0x86, 0xa7, 0x61, 0xbc, 0x87, 0xbc, 0x7d, 0x8b, 0x77, 0x4b, 0x1f, 0x19, - 0x51, 0x83, 0xf1, 0x70, 0x74, 0xb1, 0x19, 0x2a, 0x58, 0xc4, 0xd3, 0xc7, 0xb5, 0x7b, 0xd4, 0x9a, - 0x21, 0x4b, 0x3f, 0x9b, 0x82, 0xfb, 0x46, 0x92, 0x8f, 0x34, 0xf4, 0x41, 0x00, 0xdd, 0xb4, 0xfb, - 0x1e, 0xed, 0x88, 0x68, 0x82, 0xcd, 0x13, 0x09, 0x49, 0x5e, 0x38, 0x79, 0xf6, 0x3d, 0x7f, 0x3c, - 0x4d, 0xc6, 0x81, 0x8a, 0x88, 0xc2, 0xe5, 0x81, 0xa1, 0x19, 0x62, 0x68, 0xe5, 0x98, 0x99, 0x0e, - 0x05, 0xe6, 0xc7, 0x40, 0xd4, 0x0c, 0x1d, 0x99, 0x9e, 0xe2, 0x7a, 0x0e, 0x52, 0x7b, 0xba, 0xd9, - 0x25, 0x15, 0x24, 0x57, 0xcb, 0x76, 0x54, 0xc3, 0x45, 0xf2, 0x14, 0x1d, 0x6e, 0xf1, 0x51, 0x8c, - 0x20, 0x01, 0xe4, 0x04, 0x10, 0xe3, 0x21, 0x04, 0x1d, 0xf6, 0x11, 0xd5, 0x6f, 0xe4, 0xa0, 0x10, - 0xe8, 0xab, 0xa5, 0x73, 0x50, 0xbc, 0xae, 0xde, 0x50, 0x15, 0x7e, 0x56, 0xa2, 0x9e, 0x28, 0x60, - 0x59, 0x93, 0x9d, 0x97, 0x3e, 0x06, 0xb3, 0x44, 0xc5, 0xea, 0x7b, 0xc8, 0x51, 0x34, 0x43, 0x75, - 0x5d, 0xe2, 0xb4, 0x1c, 0x51, 0x95, 0xf0, 0xd8, 0x36, 0x1e, 0x5a, 0xe1, 0x23, 0xd2, 0x45, 0x98, - 0x21, 0x88, 0x5e, 0xdf, 0xf0, 0x74, 0xdb, 0x40, 0x0a, 0x3e, 0xbd, 0xb9, 0xa4, 0x92, 0xf8, 0x96, - 0x4d, 0x63, 0x8d, 0x4d, 0xa6, 0x80, 0x2d, 0x72, 0xa5, 0x55, 0x78, 0x90, 0xc0, 0xba, 0xc8, 0x44, - 0x8e, 0xea, 0x21, 0x05, 0x7d, 0xa6, 0xaf, 0x1a, 0xae, 0xa2, 0x9a, 0x6d, 0x65, 0x5f, 0x75, 0xf7, - 0xcb, 0xb3, 0x98, 0x60, 0x39, 0x55, 0x16, 0xe4, 0x33, 0x58, 0x71, 0x8d, 0xe9, 0x35, 0x88, 0x5a, - 0xdd, 0x6c, 0x7f, 0x42, 0x75, 0xf7, 0xa5, 0x1a, 0x9c, 0x22, 0x2c, 0xae, 0xe7, 0xe8, 0x66, 0x57, - 0xd1, 0xf6, 0x91, 0x76, 0xa0, 0xf4, 0xbd, 0xce, 0xe5, 0xf2, 0xfd, 0xc1, 0xf7, 0x13, 0x0b, 0x5b, - 0x44, 0x67, 0x05, 0xab, 0xec, 0x7a, 0x9d, 0xcb, 0x52, 0x0b, 0x8a, 0x78, 0x31, 0x7a, 0xfa, 0x2d, - 0xa4, 0x74, 0x2c, 0x87, 0x94, 0xc6, 0xd2, 0x88, 0xd4, 0x14, 0xf0, 0xe0, 0xe2, 0x36, 0x03, 0x6c, - 0x5a, 0x6d, 0x54, 0xcb, 0xb6, 0x9a, 0x8d, 0xc6, 0xaa, 0x5c, 0xe0, 0x2c, 0xd7, 0x2c, 0x07, 0x07, - 0x54, 0xd7, 0xf2, 0x1d, 0x5c, 0xa0, 0x01, 0xd5, 0xb5, 0xb8, 0x7b, 0x2f, 0xc2, 0x8c, 0xa6, 0xd1, - 0x39, 0xeb, 0x9a, 0xc2, 0xce, 0x58, 0x6e, 0x59, 0x0c, 0x39, 0x4b, 0xd3, 0xd6, 0xa8, 0x02, 0x8b, - 0x71, 0x57, 0xba, 0x02, 0xf7, 0x0d, 0x9c, 0x15, 0x04, 0x4e, 0x0f, 0xcd, 0x32, 0x0a, 0xbd, 0x08, - 0x33, 0xf6, 0xe1, 0x30, 0x50, 0x0a, 0xbd, 0xd1, 0x3e, 0x8c, 0xc2, 0x9e, 0x82, 0x59, 0x7b, 0xdf, - 0x1e, 0xc6, 0x3d, 0x1e, 0xc4, 0x49, 0xf6, 0xbe, 0x1d, 0x05, 0x3e, 0x42, 0x0e, 0xdc, 0x0e, 0xd2, - 0x54, 0x0f, 0xb5, 0xcb, 0xa7, 0x83, 0xea, 0x81, 0x01, 0x69, 0x09, 0x44, 0x4d, 0x53, 0x90, 0xa9, - 0xee, 0x19, 0x48, 0x51, 0x1d, 0x64, 0xaa, 0x6e, 0xf9, 0x6c, 0x50, 0xb9, 0xa4, 0x69, 0x0d, 0x32, - 0x5a, 0x27, 0x83, 0xd2, 0xe3, 0x30, 0x6d, 0xed, 0x5d, 0xd7, 0x68, 0x48, 0x2a, 0xb6, 0x83, 0x3a, - 0xfa, 0x4b, 0xe5, 0x87, 0x89, 0x7f, 0xa7, 0xf0, 0x00, 0x09, 0xc8, 0x26, 0x11, 0x4b, 0x8f, 0x81, - 0xa8, 0xb9, 0xfb, 0xaa, 0x63, 0x93, 0x9c, 0xec, 0xda, 0xaa, 0x86, 0xca, 0x8f, 0x50, 0x55, 0x2a, - 0xdf, 0xe2, 0x62, 0xbc, 0x25, 0xdc, 0x9b, 0x7a, 0xc7, 0xe3, 0x8c, 0x8f, 0xd2, 0x2d, 0x41, 0x64, - 0x8c, 0x6d, 0x01, 0x44, 0xec, 0x8a, 0xd0, 0x8b, 0x17, 0x88, 0x5a, 0xc9, 0xde, 0xb7, 0x83, 0xef, - 0x7d, 0x08, 0x26, 0xb1, 0xe6, 0xe0, 0xa5, 0x8f, 0xd1, 0x86, 0xcc, 0xde, 0x0f, 0xbc, 0xf1, 0x7d, - 0xeb, 0x8d, 0xab, 0x35, 0x28, 0x06, 0xe3, 0x53, 0xca, 0x03, 0x8d, 0x50, 0x51, 0xc0, 0xcd, 0xca, - 0xca, 0xf6, 0x2a, 0x6e, 0x33, 0x5e, 0x6c, 0x88, 0x29, 0xdc, 0xee, 0x6c, 0xac, 0xef, 0x34, 0x14, - 0x79, 0x77, 0x6b, 0x67, 0x7d, 0xb3, 0x21, 0xa6, 0x83, 0x7d, 0xf5, 0xf7, 0x52, 0x50, 0x0a, 0x1f, - 0x91, 0xa4, 0x9f, 0x85, 0xd3, 0xfc, 0x3e, 0xc3, 0x45, 0x9e, 0x72, 0x53, 0x77, 0xc8, 0x96, 0xe9, - 0xa9, 0xb4, 0x7c, 0xf9, 0x8b, 0x36, 0xcb, 0xb4, 0x5a, 0xc8, 0x7b, 0x4e, 0x77, 0xf0, 0x86, 0xe8, - 0xa9, 0x9e, 0xb4, 0x01, 0x67, 0x4d, 0x4b, 0x71, 0x3d, 0xd5, 0x6c, 0xab, 0x4e, 0x5b, 0x19, 0xdc, - 0x24, 0x29, 0xaa, 0xa6, 0x21, 0xd7, 0xb5, 0x68, 0xa9, 0xf2, 0x59, 0x1e, 0x30, 0xad, 0x16, 0x53, - 0x1e, 0xe4, 0xf0, 0x3a, 0x53, 0x8d, 0x04, 0x58, 0xfa, 0xb8, 0x00, 0xbb, 0x1f, 0xf2, 0x3d, 0xd5, - 0x56, 0x90, 0xe9, 0x39, 0x87, 0xa4, 0x31, 0xce, 0xc9, 0xb9, 0x9e, 0x6a, 0x37, 0xf0, 0xf3, 0x07, - 0x73, 0x3e, 0xf9, 0xb7, 0x34, 0x14, 0x83, 0xcd, 0x31, 0x3e, 0x6b, 0x68, 0xa4, 0x8e, 0x08, 0x24, - 0xd3, 0x3c, 0x74, 0xcf, 0x56, 0x7a, 0x71, 0x05, 0x17, 0x98, 0xda, 0x38, 0x6d, 0x59, 0x65, 0x8a, - 0xc4, 0xc5, 0x1d, 0xe7, 0x16, 0x44, 0x5b, 0x84, 0x9c, 0xcc, 0x9e, 0xa4, 0x35, 0x18, 0xbf, 0xee, - 0x12, 0xee, 0x71, 0xc2, 0xfd, 0xf0, 0xbd, 0xb9, 0x9f, 0x6d, 0x11, 0xf2, 0xfc, 0xb3, 0x2d, 0x65, - 0x6b, 0x5b, 0xde, 0xac, 0x6f, 0xc8, 0x0c, 0x2e, 0x9d, 0x81, 0x8c, 0xa1, 0xde, 0x3a, 0x0c, 0x97, - 0x22, 0x22, 0x4a, 0xea, 0xf8, 0x33, 0x90, 0xb9, 0x89, 0xd4, 0x83, 0x70, 0x01, 0x20, 0xa2, 0xf7, - 0x31, 0xf4, 0x97, 0x20, 0x4b, 0xfc, 0x25, 0x01, 0x30, 0x8f, 0x89, 0x63, 0x52, 0x0e, 0x32, 0x2b, - 0xdb, 0x32, 0x0e, 0x7f, 0x11, 0x8a, 0x54, 0xaa, 0x34, 0xd7, 0x1b, 0x2b, 0x0d, 0x31, 0x55, 0xbd, - 0x08, 0xe3, 0xd4, 0x09, 0x78, 0x6b, 0xf8, 0x6e, 0x10, 0xc7, 0xd8, 0x23, 0xe3, 0x10, 0xf8, 0xe8, - 0xee, 0xe6, 0x72, 0x43, 0x16, 0x53, 0xc1, 0xe5, 0x75, 0xa1, 0x18, 0xec, 0x8b, 0x3f, 0x98, 0x98, - 0xfa, 0xae, 0x00, 0x85, 0x40, 0x9f, 0x8b, 0x1b, 0x14, 0xd5, 0x30, 0xac, 0x9b, 0x8a, 0x6a, 0xe8, - 0xaa, 0xcb, 0x82, 0x02, 0x88, 0xa8, 0x8e, 0x25, 0x49, 0x17, 0xed, 0x03, 0x31, 0xfe, 0x35, 0x01, - 0xc4, 0x68, 0x8b, 0x19, 0x31, 0x50, 0xf8, 0x50, 0x0d, 0x7c, 0x55, 0x80, 0x52, 0xb8, 0xaf, 0x8c, - 0x98, 0x77, 0xee, 0x43, 0x35, 0xef, 0xcd, 0x14, 0x4c, 0x86, 0xba, 0xc9, 0xa4, 0xd6, 0x7d, 0x06, - 0xa6, 0xf5, 0x36, 0xea, 0xd9, 0x96, 0x87, 0x4c, 0xed, 0x50, 0x31, 0xd0, 0x0d, 0x64, 0x94, 0xab, - 0x24, 0x51, 0x2c, 0xdd, 0xbb, 0x5f, 0x5d, 0x5c, 0x1f, 0xe0, 0x36, 0x30, 0xac, 0x36, 0xb3, 0xbe, - 0xda, 0xd8, 0x6c, 0x6e, 0xef, 0x34, 0xb6, 0x56, 0x5e, 0x50, 0x76, 0xb7, 0x7e, 0x7e, 0x6b, 0xfb, - 0xb9, 0x2d, 0x59, 0xd4, 0x23, 0x6a, 0xef, 0xe3, 0x56, 0x6f, 0x82, 0x18, 0x35, 0x4a, 0x3a, 0x0d, - 0xa3, 0xcc, 0x12, 0xc7, 0xa4, 0x19, 0x98, 0xda, 0xda, 0x56, 0x5a, 0xeb, 0xab, 0x0d, 0xa5, 0x71, - 0xed, 0x5a, 0x63, 0x65, 0xa7, 0x45, 0x6f, 0x20, 0x7c, 0xed, 0x9d, 0xf0, 0xa6, 0x7e, 0x25, 0x0d, - 0x33, 0x23, 0x2c, 0x91, 0xea, 0xec, 0xec, 0x40, 0x8f, 0x33, 0x1f, 0x4d, 0x62, 0xfd, 0x22, 0x2e, - 0xf9, 0x4d, 0xd5, 0xf1, 0xd8, 0x51, 0xe3, 0x31, 0xc0, 0x5e, 0x32, 0x3d, 0xbd, 0xa3, 0x23, 0x87, - 0x5d, 0xd8, 0xd0, 0x03, 0xc5, 0xd4, 0x40, 0x4e, 0xef, 0x6c, 0x7e, 0x06, 0x24, 0xdb, 0x72, 0x75, - 0x4f, 0xbf, 0x81, 0x14, 0xdd, 0xe4, 0xb7, 0x3b, 0xf8, 0x80, 0x91, 0x91, 0x45, 0x3e, 0xb2, 0x6e, - 0x7a, 0xbe, 0xb6, 0x89, 0xba, 0x6a, 0x44, 0x1b, 0x27, 0xf0, 0xb4, 0x2c, 0xf2, 0x11, 0x5f, 0xfb, - 0x1c, 0x14, 0xdb, 0x56, 0x1f, 0x77, 0x5d, 0x54, 0x0f, 0xd7, 0x0b, 0x41, 0x2e, 0x50, 0x99, 0xaf, - 0xc2, 0xfa, 0xe9, 0xc1, 0xb5, 0x52, 0x51, 0x2e, 0x50, 0x19, 0x55, 0x79, 0x14, 0xa6, 0xd4, 0x6e, - 0xd7, 0xc1, 0xe4, 0x9c, 0x88, 0x9e, 0x10, 0x4a, 0xbe, 0x98, 0x28, 0xce, 0x3d, 0x0b, 0x39, 0xee, - 0x07, 0x5c, 0x92, 0xb1, 0x27, 0x14, 0x9b, 0x1e, 0x7b, 0x53, 0x0b, 0x79, 0x39, 0x67, 0xf2, 0xc1, - 0x73, 0x50, 0xd4, 0x5d, 0x65, 0x70, 0x4b, 0x9e, 0x9a, 0x4f, 0x2d, 0xe4, 0xe4, 0x82, 0xee, 0xfa, - 0x37, 0x8c, 0xd5, 0xd7, 0x53, 0x50, 0x0a, 0xdf, 0xf2, 0x4b, 0xab, 0x90, 0x33, 0x2c, 0x4d, 0x25, - 0xa1, 0x45, 0x7f, 0x62, 0x5a, 0x88, 0xf9, 0x61, 0x60, 0x71, 0x83, 0xe9, 0xcb, 0x3e, 0x72, 0xee, - 0x5f, 0x04, 0xc8, 0x71, 0xb1, 0x74, 0x0a, 0x32, 0xb6, 0xea, 0xed, 0x13, 0xba, 0xec, 0x72, 0x4a, - 0x14, 0x64, 0xf2, 0x8c, 0xe5, 0xae, 0xad, 0x9a, 0x24, 0x04, 0x98, 0x1c, 0x3f, 0xe3, 0x75, 0x35, - 0x90, 0xda, 0x26, 0xc7, 0x0f, 0xab, 0xd7, 0x43, 0xa6, 0xe7, 0xf2, 0x75, 0x65, 0xf2, 0x15, 0x26, - 0x96, 0x9e, 0x80, 0x69, 0xcf, 0x51, 0x75, 0x23, 0xa4, 0x9b, 0x21, 0xba, 0x22, 0x1f, 0xf0, 0x95, - 0x6b, 0x70, 0x86, 0xf3, 0xb6, 0x91, 0xa7, 0x6a, 0xfb, 0xa8, 0x3d, 0x00, 0x8d, 0x93, 0x6b, 0x86, - 0xd3, 0x4c, 0x61, 0x95, 0x8d, 0x73, 0x6c, 0xf5, 0x07, 0x02, 0x4c, 0xf3, 0x03, 0x53, 0xdb, 0x77, - 0xd6, 0x26, 0x80, 0x6a, 0x9a, 0x96, 0x17, 0x74, 0xd7, 0x70, 0x28, 0x0f, 0xe1, 0x16, 0xeb, 0x3e, - 0x48, 0x0e, 0x10, 0xcc, 0xf5, 0x00, 0x06, 0x23, 0xc7, 0xba, 0xed, 0x2c, 0x14, 0xd8, 0x4f, 0x38, - 0xe4, 0x77, 0x40, 0x7a, 0xc4, 0x06, 0x2a, 0xc2, 0x27, 0x2b, 0x69, 0x16, 0xb2, 0x7b, 0xa8, 0xab, - 0x9b, 0xec, 0x62, 0x96, 0x3e, 0xf0, 0x8b, 0x90, 0x8c, 0x7f, 0x11, 0xb2, 0xfc, 0x69, 0x98, 0xd1, - 0xac, 0x5e, 0xd4, 0xdc, 0x65, 0x31, 0x72, 0xcc, 0x77, 0x3f, 0x21, 0xbc, 0x08, 0x83, 0x16, 0xf3, - 0x5d, 0x41, 0xf8, 0x52, 0x2a, 0xbd, 0xd6, 0x5c, 0xfe, 0x6a, 0x6a, 0x6e, 0x8d, 0x42, 0x9b, 0x7c, - 0xa6, 0x32, 0xea, 0x18, 0x48, 0xc3, 0xd6, 0xc3, 0x97, 0x9f, 0x80, 0x8f, 0x76, 0x75, 0x6f, 0xbf, - 0xbf, 0xb7, 0xa8, 0x59, 0xbd, 0xa5, 0xae, 0xd5, 0xb5, 0x06, 0x3f, 0x7d, 0xe2, 0x27, 0xf2, 0x40, - 0xfe, 0x63, 0x3f, 0x7f, 0xe6, 0x7d, 0xe9, 0x5c, 0xec, 0x6f, 0xa5, 0xb5, 0x2d, 0x98, 0x61, 0xca, - 0x0a, 0xf9, 0xfd, 0x85, 0x9e, 0x22, 0xa4, 0x7b, 0xde, 0x61, 0x95, 0xbf, 0xfe, 0x16, 0x29, 0xd7, - 0xf2, 0x34, 0x83, 0xe2, 0x31, 0x7a, 0xd0, 0xa8, 0xc9, 0x70, 0x5f, 0x88, 0x8f, 0x6e, 0x4d, 0xe4, - 0xc4, 0x30, 0x7e, 0x8f, 0x31, 0xce, 0x04, 0x18, 0x5b, 0x0c, 0x5a, 0x5b, 0x81, 0xc9, 0x93, 0x70, - 0xfd, 0x13, 0xe3, 0x2a, 0xa2, 0x20, 0xc9, 0x1a, 0x4c, 0x11, 0x12, 0xad, 0xef, 0x7a, 0x56, 0x8f, - 0xe4, 0xbd, 0x7b, 0xd3, 0xfc, 0xf3, 0x5b, 0x74, 0xaf, 0x94, 0x30, 0x6c, 0xc5, 0x47, 0xd5, 0x6a, - 0x40, 0x7e, 0x72, 0x6a, 0x23, 0xcd, 0x88, 0x61, 0x78, 0x83, 0x19, 0xe2, 0xeb, 0xd7, 0x3e, 0x05, - 0xb3, 0xf8, 0x7f, 0x92, 0x96, 0x82, 0x96, 0xc4, 0x5f, 0x78, 0x95, 0x7f, 0xf0, 0x32, 0xdd, 0x8e, - 0x33, 0x3e, 0x41, 0xc0, 0xa6, 0xc0, 0x2a, 0x76, 0x91, 0xe7, 0x21, 0xc7, 0x55, 0x54, 0x63, 0x94, - 0x79, 0x81, 0x1b, 0x83, 0xf2, 0xe7, 0xdf, 0x0e, 0xaf, 0xe2, 0x1a, 0x45, 0xd6, 0x0d, 0xa3, 0xb6, - 0x0b, 0xa7, 0x47, 0x44, 0x45, 0x02, 0xce, 0x57, 0x18, 0xe7, 0xec, 0x50, 0x64, 0x60, 0xda, 0x26, - 0x70, 0xb9, 0xbf, 0x96, 0x09, 0x38, 0xff, 0x88, 0x71, 0x4a, 0x0c, 0xcb, 0x97, 0x14, 0x33, 0x3e, - 0x0b, 0xd3, 0x37, 0x90, 0xb3, 0x67, 0xb9, 0xec, 0x96, 0x26, 0x01, 0xdd, 0xab, 0x8c, 0x6e, 0x8a, - 0x01, 0xc9, 0xb5, 0x0d, 0xe6, 0xba, 0x02, 0xb9, 0x8e, 0xaa, 0xa1, 0x04, 0x14, 0x5f, 0x60, 0x14, - 0x13, 0x58, 0x1f, 0x43, 0xeb, 0x50, 0xec, 0x5a, 0xac, 0x32, 0xc5, 0xc3, 0x5f, 0x63, 0xf0, 0x02, - 0xc7, 0x30, 0x0a, 0xdb, 0xb2, 0xfb, 0x06, 0x2e, 0x5b, 0xf1, 0x14, 0x7f, 0xcc, 0x29, 0x38, 0x86, - 0x51, 0x9c, 0xc0, 0xad, 0x7f, 0xc2, 0x29, 0xdc, 0x80, 0x3f, 0x9f, 0x81, 0x82, 0x65, 0x1a, 0x87, - 0x96, 0x99, 0xc4, 0x88, 0x2f, 0x32, 0x06, 0x60, 0x10, 0x4c, 0x70, 0x15, 0xf2, 0x49, 0x17, 0xe2, - 0xcf, 0xde, 0xe6, 0xdb, 0x83, 0xaf, 0xc0, 0x1a, 0x4c, 0xf1, 0x04, 0xa5, 0x5b, 0x66, 0x02, 0x8a, - 0x2f, 0x33, 0x8a, 0x52, 0x00, 0xc6, 0xa6, 0xe1, 0x21, 0xd7, 0xeb, 0xa2, 0x24, 0x24, 0xaf, 0xf3, - 0x69, 0x30, 0x08, 0x73, 0xe5, 0x1e, 0x32, 0xb5, 0xfd, 0x64, 0x0c, 0x5f, 0xe1, 0xae, 0xe4, 0x18, - 0x4c, 0xb1, 0x02, 0x93, 0x3d, 0xd5, 0x71, 0xf7, 0x55, 0x23, 0xd1, 0x72, 0xfc, 0x39, 0xe3, 0x28, - 0xfa, 0x20, 0xe6, 0x91, 0xbe, 0x79, 0x12, 0x9a, 0xaf, 0x72, 0x8f, 0x04, 0x60, 0x6c, 0xeb, 0xb9, - 0x1e, 0xb9, 0xd2, 0x3a, 0x09, 0xdb, 0x5f, 0xf0, 0xad, 0x47, 0xb1, 0x9b, 0x41, 0xc6, 0xab, 0x90, - 0x77, 0xf5, 0x5b, 0x89, 0x68, 0xfe, 0x92, 0xaf, 0x34, 0x01, 0x60, 0xf0, 0x0b, 0x70, 0x66, 0x64, - 0x99, 0x48, 0x40, 0xf6, 0x57, 0x8c, 0xec, 0xd4, 0x88, 0x52, 0xc1, 0x52, 0xc2, 0x49, 0x29, 0xff, - 0x9a, 0xa7, 0x04, 0x14, 0xe1, 0x6a, 0xe2, 0xb3, 0x82, 0xab, 0x76, 0x4e, 0xe6, 0xb5, 0xbf, 0xe1, - 0x5e, 0xa3, 0xd8, 0x90, 0xd7, 0x76, 0xe0, 0x14, 0x63, 0x3c, 0xd9, 0xba, 0x7e, 0x8d, 0x27, 0x56, - 0x8a, 0xde, 0x0d, 0xaf, 0xee, 0xa7, 0x61, 0xce, 0x77, 0x27, 0x6f, 0x4a, 0x5d, 0xa5, 0xa7, 0xda, - 0x09, 0x98, 0xbf, 0xce, 0x98, 0x79, 0xc6, 0xf7, 0xbb, 0x5a, 0x77, 0x53, 0xb5, 0x31, 0xf9, 0xf3, - 0x50, 0xe6, 0xe4, 0x7d, 0xd3, 0x41, 0x9a, 0xd5, 0x35, 0xf5, 0x5b, 0xa8, 0x9d, 0x80, 0xfa, 0x6f, - 0x23, 0x4b, 0xb5, 0x1b, 0x80, 0x63, 0xe6, 0x75, 0x10, 0xfd, 0x5e, 0x45, 0xd1, 0x7b, 0xb6, 0xe5, - 0x78, 0x31, 0x8c, 0xdf, 0xe0, 0x2b, 0xe5, 0xe3, 0xd6, 0x09, 0xac, 0xd6, 0x80, 0x12, 0x79, 0x4c, - 0x1a, 0x92, 0x7f, 0xc7, 0x88, 0x26, 0x07, 0x28, 0x96, 0x38, 0x34, 0xab, 0x67, 0xab, 0x4e, 0x92, - 0xfc, 0xf7, 0xf7, 0x3c, 0x71, 0x30, 0x08, 0x4b, 0x1c, 0xde, 0xa1, 0x8d, 0x70, 0xb5, 0x4f, 0xc0, - 0xf0, 0x4d, 0x9e, 0x38, 0x38, 0x86, 0x51, 0xf0, 0x86, 0x21, 0x01, 0xc5, 0xb7, 0x38, 0x05, 0xc7, - 0x60, 0x8a, 0x4f, 0x0e, 0x0a, 0xad, 0x83, 0xba, 0xba, 0xeb, 0x39, 0xb4, 0x15, 0xbe, 0x37, 0xd5, - 0xb7, 0xdf, 0x0e, 0x37, 0x61, 0x72, 0x00, 0x8a, 0x33, 0x11, 0xbb, 0x42, 0x25, 0x27, 0xa5, 0x78, - 0xc3, 0xbe, 0xc3, 0x33, 0x51, 0x00, 0x86, 0x6d, 0x0b, 0x74, 0x88, 0xd8, 0xed, 0x1a, 0x3e, 0x1f, - 0x24, 0xa0, 0xfb, 0x6e, 0xc4, 0xb8, 0x16, 0xc7, 0x62, 0xce, 0x40, 0xff, 0xd3, 0x37, 0x0f, 0xd0, - 0x61, 0xa2, 0xe8, 0xfc, 0x87, 0x48, 0xff, 0xb3, 0x4b, 0x91, 0x34, 0x87, 0x4c, 0x45, 0xfa, 0x29, - 0x29, 0xee, 0x63, 0x9d, 0xf2, 0x2f, 0xdf, 0x65, 0xf3, 0x0d, 0xb7, 0x53, 0xb5, 0x0d, 0x1c, 0xe4, - 0xe1, 0xa6, 0x27, 0x9e, 0xec, 0xe5, 0xbb, 0x7e, 0x9c, 0x87, 0x7a, 0x9e, 0xda, 0x35, 0x98, 0x0c, - 0x35, 0x3c, 0xf1, 0x54, 0xbf, 0xc2, 0xa8, 0x8a, 0xc1, 0x7e, 0xa7, 0x76, 0x11, 0x32, 0xb8, 0x79, - 0x89, 0x87, 0xff, 0x2a, 0x83, 0x13, 0xf5, 0xda, 0xc7, 0x21, 0xc7, 0x9b, 0x96, 0x78, 0xe8, 0xaf, - 0x31, 0xa8, 0x0f, 0xc1, 0x70, 0xde, 0xb0, 0xc4, 0xc3, 0x7f, 0x9d, 0xc3, 0x39, 0x04, 0xc3, 0x93, - 0xbb, 0xf0, 0x1f, 0x7f, 0x23, 0xc3, 0x8a, 0x0e, 0xf7, 0xdd, 0x55, 0x98, 0x60, 0x9d, 0x4a, 0x3c, - 0xfa, 0xb3, 0xec, 0xe5, 0x1c, 0x51, 0x7b, 0x0a, 0xb2, 0x09, 0x1d, 0xfe, 0x9b, 0x0c, 0x4a, 0xf5, - 0x6b, 0x2b, 0x50, 0x08, 0x74, 0x27, 0xf1, 0xf0, 0xdf, 0x62, 0xf0, 0x20, 0x0a, 0x9b, 0xce, 0xba, - 0x93, 0x78, 0x82, 0xdf, 0xe6, 0xa6, 0x33, 0x04, 0x76, 0x1b, 0x6f, 0x4c, 0xe2, 0xd1, 0xbf, 0xc3, - 0xbd, 0xce, 0x21, 0xb5, 0x67, 0x20, 0xef, 0x17, 0x9b, 0x78, 0xfc, 0xef, 0x32, 0xfc, 0x00, 0x83, - 0x3d, 0x10, 0x28, 0x76, 0xf1, 0x14, 0xbf, 0xc7, 0x3d, 0x10, 0x40, 0xe1, 0x6d, 0x14, 0x6d, 0x60, - 0xe2, 0x99, 0x7e, 0x9f, 0x6f, 0xa3, 0x48, 0xff, 0x82, 0x57, 0x93, 0xe4, 0xfc, 0x78, 0x8a, 0x3f, - 0xe0, 0xab, 0x49, 0xf4, 0xb1, 0x19, 0xd1, 0x8e, 0x20, 0x9e, 0xe3, 0x0f, 0xb9, 0x19, 0x91, 0x86, - 0xa0, 0xd6, 0x04, 0x69, 0xb8, 0x1b, 0x88, 0xe7, 0xfb, 0x1c, 0xe3, 0x9b, 0x1e, 0x6a, 0x06, 0x6a, - 0xcf, 0xc1, 0xa9, 0xd1, 0x9d, 0x40, 0x3c, 0xeb, 0xe7, 0xef, 0x46, 0xce, 0x6e, 0xc1, 0x46, 0xa0, - 0xb6, 0x33, 0x28, 0x29, 0xc1, 0x2e, 0x20, 0x9e, 0xf6, 0x95, 0xbb, 0xe1, 0xc4, 0x1d, 0x6c, 0x02, - 0x6a, 0x75, 0x80, 0x41, 0x01, 0x8e, 0xe7, 0x7a, 0x95, 0x71, 0x05, 0x40, 0x78, 0x6b, 0xb0, 0xfa, - 0x1b, 0x8f, 0xff, 0x02, 0xdf, 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, 0xf1, 0xe8, 0xd7, 0xf8, - 0xd6, 0xe0, 0x10, 0x1c, 0xd9, 0x81, 0xea, 0x16, 0xcf, 0xf0, 0x45, 0x1e, 0xd9, 0x01, 0x54, 0x6d, - 0x0b, 0xa6, 0x87, 0x0a, 0x62, 0x3c, 0xd5, 0x97, 0x18, 0x95, 0x18, 0xad, 0x87, 0xc1, 0xe2, 0xc5, - 0x8a, 0x61, 0x3c, 0xdb, 0x9f, 0x46, 0x8a, 0x17, 0xab, 0x85, 0xb5, 0xab, 0x90, 0x33, 0xfb, 0x86, - 0x81, 0x37, 0x8f, 0x74, 0xef, 0x0f, 0xec, 0xca, 0xff, 0xf1, 0x1e, 0xf3, 0x0e, 0x07, 0xd4, 0x2e, - 0x42, 0x16, 0xf5, 0xf6, 0x50, 0x3b, 0x0e, 0xf9, 0x9f, 0xef, 0xf1, 0x84, 0x89, 0xb5, 0x6b, 0xcf, - 0x00, 0xd0, 0xab, 0x11, 0xf2, 0xb3, 0x5f, 0x0c, 0xf6, 0xbf, 0xde, 0x63, 0x9f, 0xbe, 0x0c, 0x20, - 0x03, 0x02, 0xfa, 0x21, 0xcd, 0xbd, 0x09, 0xde, 0x0e, 0x13, 0x90, 0x15, 0xb9, 0x02, 0x13, 0xd7, - 0x5d, 0xcb, 0xf4, 0xd4, 0x6e, 0x1c, 0xfa, 0xbf, 0x19, 0x9a, 0xeb, 0x63, 0x87, 0xf5, 0x2c, 0x07, - 0x79, 0x6a, 0xd7, 0x8d, 0xc3, 0xfe, 0x0f, 0xc3, 0xfa, 0x00, 0x0c, 0xd6, 0x54, 0xd7, 0x4b, 0x32, - 0xef, 0x1f, 0x73, 0x30, 0x07, 0x60, 0xa3, 0xf1, 0xff, 0x07, 0xe8, 0x30, 0x0e, 0xfb, 0x0e, 0x37, - 0x9a, 0xe9, 0xd7, 0x3e, 0x0e, 0x79, 0xfc, 0x2f, 0xfd, 0x9e, 0x2d, 0x06, 0xfc, 0xbf, 0x0c, 0x3c, - 0x40, 0xe0, 0x37, 0xbb, 0x5e, 0xdb, 0xd3, 0xe3, 0x9d, 0xfd, 0x7f, 0x6c, 0xa5, 0xb9, 0x7e, 0xad, - 0x0e, 0x05, 0xd7, 0x6b, 0xb7, 0xfb, 0xac, 0x3f, 0x8d, 0x81, 0xff, 0xff, 0x7b, 0xfe, 0x95, 0x85, - 0x8f, 0xc1, 0xab, 0x7d, 0xf3, 0xc0, 0xb3, 0x2d, 0xf2, 0x33, 0x47, 0x1c, 0xc3, 0x5d, 0xc6, 0x10, - 0x80, 0x2c, 0x37, 0x46, 0x5f, 0xdf, 0xc2, 0x9a, 0xb5, 0x66, 0xd1, 0x8b, 0xdb, 0x17, 0xab, 0xf1, - 0x37, 0xb0, 0xf0, 0xad, 0x34, 0x3c, 0xa0, 0x59, 0xbd, 0x3d, 0xcb, 0x5d, 0x0a, 0x24, 0xf3, 0xa5, - 0x9e, 0x6a, 0xb3, 0x7b, 0xd9, 0x42, 0x4f, 0xb5, 0xd9, 0x07, 0xb0, 0xee, 0xdc, 0xc9, 0xee, 0x74, - 0xab, 0xbf, 0x04, 0x13, 0x9b, 0xaa, 0xbd, 0x83, 0x5c, 0x4f, 0x22, 0xde, 0x26, 0x5f, 0x5a, 0xb1, - 0x8b, 0xf2, 0xf9, 0xc5, 0x00, 0xf1, 0x22, 0x53, 0x5b, 0x6c, 0x79, 0x4e, 0xcb, 0x73, 0xc8, 0x47, - 0x05, 0xf2, 0xb8, 0x4b, 0x1e, 0xe6, 0xae, 0x40, 0x21, 0x20, 0x96, 0x44, 0x48, 0x1f, 0xa0, 0x43, - 0xf6, 0xad, 0x15, 0xfe, 0x57, 0x9a, 0x1d, 0x7c, 0x0c, 0x89, 0x65, 0xf4, 0xa1, 0x96, 0xba, 0x2c, - 0x54, 0x9f, 0x86, 0x89, 0x6b, 0xea, 0x01, 0xda, 0x54, 0x6d, 0xe9, 0x02, 0x4c, 0x20, 0xd3, 0x73, - 0x74, 0xe4, 0x32, 0x03, 0xce, 0x84, 0x0c, 0x60, 0x6a, 0xf4, 0xcd, 0x5c, 0xb3, 0xba, 0x01, 0xc5, - 0xe0, 0x40, 0xd2, 0x77, 0x63, 0xa9, 0xe5, 0xed, 0xb3, 0x8f, 0xa3, 0xf3, 0x32, 0x7d, 0x58, 0x5e, - 0x7d, 0xe3, 0x4e, 0x65, 0xec, 0xfb, 0x77, 0x2a, 0x63, 0xff, 0x7a, 0xa7, 0x32, 0xf6, 0xe6, 0x9d, - 0x8a, 0xf0, 0xce, 0x9d, 0x8a, 0xf0, 0xee, 0x9d, 0x8a, 0x70, 0xfb, 0xa8, 0x22, 0x7c, 0xe5, 0xa8, - 0x22, 0x7c, 0xed, 0xa8, 0x22, 0x7c, 0xfb, 0xa8, 0x22, 0xbc, 0x71, 0x54, 0x19, 0xfb, 0xfe, 0x51, - 0x45, 0x78, 0xf3, 0xa8, 0x22, 0xfc, 0xe8, 0xa8, 0x32, 0xf6, 0xce, 0x51, 0x45, 0x78, 0xf7, 0xa8, - 0x32, 0x76, 0xfb, 0x87, 0x95, 0xb1, 0xbd, 0x71, 0xe2, 0xdb, 0x0b, 0x3f, 0x09, 0x00, 0x00, 0xff, - 0xff, 0x1b, 0x1e, 0x8e, 0xa7, 0x55, 0x34, 0x00, 0x00, + // 4010 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x59, 0x70, 0xe4, 0xd6, + 0x75, 0x65, 0x6f, 0x64, 0xf7, 0xed, 0x66, 0x13, 0x04, 0xa9, 0x51, 0x0f, 0x25, 0xf5, 0x70, 0x5a, + 0x92, 0x45, 0x49, 0x16, 0xe9, 0x9a, 0x4d, 0x33, 0x3d, 0xb1, 0x94, 0x26, 0xd9, 0x43, 0x53, 0xe1, + 0x66, 0x34, 0x69, 0x2d, 0xae, 0x14, 0xea, 0x11, 0xfd, 0xd8, 0xc4, 0x10, 0x0d, 0xc0, 0x00, 0x7a, + 0x46, 0x9c, 0x4a, 0x55, 0x26, 0xa5, 0x2c, 0xe5, 0xca, 0xbe, 0x54, 0xc5, 0x56, 0x64, 0x25, 0x76, + 0x2a, 0x96, 0xe3, 0x6c, 0x76, 0x16, 0x6f, 0xf9, 0xc9, 0x8f, 0x13, 0x7d, 0xa5, 0xec, 0xbf, 0x7c, + 0xe4, 0x43, 0x43, 0xab, 0x2a, 0x4e, 0xa2, 0x24, 0x4a, 0x32, 0x1f, 0xaa, 0xd2, 0x8f, 0xeb, 0x6d, + 0x68, 0x00, 0xdd, 0x1c, 0x80, 0xae, 0x92, 0xfc, 0x45, 0xe2, 0xbe, 0x7b, 0x0e, 0xee, 0xbb, 0xef, + 0xbe, 0x7b, 0xef, 0x7b, 0x68, 0x78, 0xb3, 0x0e, 0xb3, 0x1d, 0xcb, 0xea, 0x18, 0x78, 0xc1, 0x76, + 0x2c, 0xcf, 0xda, 0xed, 0xed, 0x2d, 0xb4, 0xb1, 0xab, 0x39, 0xba, 0xed, 0x59, 0xce, 0x3c, 0x95, + 0xc9, 0x13, 0x4c, 0x63, 0x5e, 0x68, 0xd4, 0xd6, 0x61, 0xf2, 0x9a, 0x6e, 0xe0, 0x65, 0x5f, 0xb1, + 0x85, 0x3d, 0xf9, 0x32, 0x64, 0xf7, 0x74, 0x03, 0x57, 0x52, 0xb3, 0x99, 0xb9, 0xe2, 0xb9, 0x47, + 0xe6, 0x23, 0xa0, 0xf9, 0x30, 0x62, 0x8b, 0x88, 0x15, 0x8a, 0xa8, 0xbd, 0x9d, 0x85, 0xa9, 0x21, + 0xa3, 0xb2, 0x0c, 0x59, 0x13, 0x75, 0x09, 0x63, 0x6a, 0xae, 0xa0, 0xd0, 0xff, 0xe5, 0x0a, 0x8c, + 0xd9, 0x48, 0x3b, 0x40, 0x1d, 0x5c, 0x49, 0x53, 0xb1, 0x78, 0x94, 0xab, 0x00, 0x6d, 0x6c, 0x63, + 0xb3, 0x8d, 0x4d, 0xed, 0xb0, 0x92, 0x99, 0xcd, 0xcc, 0x15, 0x94, 0x80, 0x44, 0x7e, 0x12, 0x26, + 0xed, 0xde, 0xae, 0xa1, 0x6b, 0x6a, 0x40, 0x0d, 0x66, 0x33, 0x73, 0x39, 0x45, 0x62, 0x03, 0xcb, + 0x7d, 0xe5, 0xc7, 0x60, 0xe2, 0x26, 0x46, 0x07, 0x41, 0xd5, 0x22, 0x55, 0x2d, 0x13, 0x71, 0x40, + 0x71, 0x09, 0x4a, 0x5d, 0xec, 0xba, 0xa8, 0x83, 0x55, 0xef, 0xd0, 0xc6, 0x95, 0x2c, 0x9d, 0xfd, + 0xec, 0xc0, 0xec, 0xa3, 0x33, 0x2f, 0x72, 0xd4, 0xf6, 0xa1, 0x8d, 0xe5, 0x06, 0x14, 0xb0, 0xd9, + 0xeb, 0x32, 0x86, 0xdc, 0x31, 0xfe, 0x6b, 0x9a, 0xbd, 0x6e, 0x94, 0x25, 0x4f, 0x60, 0x9c, 0x62, + 0xcc, 0xc5, 0xce, 0x0d, 0x5d, 0xc3, 0x95, 0x51, 0x4a, 0xf0, 0xd8, 0x00, 0x41, 0x8b, 0x8d, 0x47, + 0x39, 0x04, 0x4e, 0x5e, 0x82, 0x02, 0x7e, 0xd9, 0xc3, 0xa6, 0xab, 0x5b, 0x66, 0x65, 0x8c, 0x92, + 0x3c, 0x3a, 0x64, 0x15, 0xb1, 0xd1, 0x8e, 0x52, 0xf4, 0x71, 0xf2, 0x25, 0x18, 0xb3, 0x6c, 0x4f, + 0xb7, 0x4c, 0xb7, 0x92, 0x9f, 0x4d, 0xcd, 0x15, 0xcf, 0x3d, 0x38, 0x34, 0x10, 0x36, 0x99, 0x8e, + 0x22, 0x94, 0xe5, 0x55, 0x90, 0x5c, 0xab, 0xe7, 0x68, 0x58, 0xd5, 0xac, 0x36, 0x56, 0x75, 0x73, + 0xcf, 0xaa, 0x14, 0x28, 0xc1, 0x99, 0xc1, 0x89, 0x50, 0xc5, 0x25, 0xab, 0x8d, 0x57, 0xcd, 0x3d, + 0x4b, 0x29, 0xbb, 0xa1, 0x67, 0xf9, 0x14, 0x8c, 0xba, 0x87, 0xa6, 0x87, 0x5e, 0xae, 0x94, 0x68, + 0x84, 0xf0, 0xa7, 0xda, 0xb7, 0x47, 0x61, 0x22, 0x49, 0x88, 0x5d, 0x85, 0xdc, 0x1e, 0x99, 0x65, + 0x25, 0x7d, 0x12, 0x1f, 0x30, 0x4c, 0xd8, 0x89, 0xa3, 0x3f, 0xa6, 0x13, 0x1b, 0x50, 0x34, 0xb1, + 0xeb, 0xe1, 0x36, 0x8b, 0x88, 0x4c, 0xc2, 0x98, 0x02, 0x06, 0x1a, 0x0c, 0xa9, 0xec, 0x8f, 0x15, + 0x52, 0x2f, 0xc0, 0x84, 0x6f, 0x92, 0xea, 0x20, 0xb3, 0x23, 0x62, 0x73, 0x21, 0xce, 0x92, 0xf9, + 0xa6, 0xc0, 0x29, 0x04, 0xa6, 0x94, 0x71, 0xe8, 0x59, 0x5e, 0x06, 0xb0, 0x4c, 0x6c, 0xed, 0xa9, + 0x6d, 0xac, 0x19, 0x95, 0xfc, 0x31, 0x5e, 0xda, 0x24, 0x2a, 0x03, 0x5e, 0xb2, 0x98, 0x54, 0x33, + 0xe4, 0x2b, 0xfd, 0x50, 0x1b, 0x3b, 0x26, 0x52, 0xd6, 0xd9, 0x26, 0x1b, 0x88, 0xb6, 0x1d, 0x28, + 0x3b, 0x98, 0xc4, 0x3d, 0x6e, 0xf3, 0x99, 0x15, 0xa8, 0x11, 0xf3, 0xb1, 0x33, 0x53, 0x38, 0x8c, + 0x4d, 0x6c, 0xdc, 0x09, 0x3e, 0xca, 0x0f, 0x83, 0x2f, 0x50, 0x69, 0x58, 0x01, 0xcd, 0x42, 0x25, + 0x21, 0xdc, 0x40, 0x5d, 0x3c, 0x73, 0x0b, 0xca, 0x61, 0xf7, 0xc8, 0xd3, 0x90, 0x73, 0x3d, 0xe4, + 0x78, 0x34, 0x0a, 0x73, 0x0a, 0x7b, 0x90, 0x25, 0xc8, 0x60, 0xb3, 0x4d, 0xb3, 0x5c, 0x4e, 0x21, + 0xff, 0xca, 0x3f, 0xdd, 0x9f, 0x70, 0x86, 0x4e, 0xf8, 0x23, 0x83, 0x2b, 0x1a, 0x62, 0x8e, 0xce, + 0x7b, 0xe6, 0x69, 0x18, 0x0f, 0x4d, 0x20, 0xe9, 0xab, 0x6b, 0x3f, 0x07, 0xf7, 0x0d, 0xa5, 0x96, + 0x5f, 0x80, 0xe9, 0x9e, 0xa9, 0x9b, 0x1e, 0x76, 0x6c, 0x07, 0x93, 0x88, 0x65, 0xaf, 0xaa, 0xfc, + 0xdb, 0xd8, 0x31, 0x31, 0xb7, 0x13, 0xd4, 0x66, 0x2c, 0xca, 0x54, 0x6f, 0x50, 0xf8, 0x44, 0x21, + 0xff, 0xc3, 0x31, 0xe9, 0xf6, 0xed, 0xdb, 0xb7, 0xd3, 0xb5, 0xcf, 0x8d, 0xc2, 0xf4, 0xb0, 0x3d, + 0x33, 0x74, 0xfb, 0x9e, 0x82, 0x51, 0xb3, 0xd7, 0xdd, 0xc5, 0x0e, 0x75, 0x52, 0x4e, 0xe1, 0x4f, + 0x72, 0x03, 0x72, 0x06, 0xda, 0xc5, 0x46, 0x25, 0x3b, 0x9b, 0x9a, 0x2b, 0x9f, 0x7b, 0x32, 0xd1, + 0xae, 0x9c, 0x5f, 0x23, 0x10, 0x85, 0x21, 0xe5, 0x67, 0x20, 0xcb, 0x53, 0x34, 0x61, 0x78, 0x22, + 0x19, 0x03, 0xd9, 0x4b, 0x0a, 0xc5, 0xc9, 0x0f, 0x40, 0x81, 0xfc, 0x65, 0xb1, 0x31, 0x4a, 0x6d, + 0xce, 0x13, 0x01, 0x89, 0x0b, 0x79, 0x06, 0xf2, 0x74, 0x9b, 0xb4, 0xb1, 0x28, 0x6d, 0xfe, 0x33, + 0x09, 0xac, 0x36, 0xde, 0x43, 0x3d, 0xc3, 0x53, 0x6f, 0x20, 0xa3, 0x87, 0x69, 0xc0, 0x17, 0x94, + 0x12, 0x17, 0x7e, 0x8a, 0xc8, 0xe4, 0x33, 0x50, 0x64, 0xbb, 0x4a, 0x37, 0xdb, 0xf8, 0x65, 0x9a, + 0x3d, 0x73, 0x0a, 0xdb, 0x68, 0xab, 0x44, 0x42, 0x5e, 0x7f, 0xdd, 0xb5, 0x4c, 0x11, 0x9a, 0xf4, + 0x15, 0x44, 0x40, 0x5f, 0xff, 0x74, 0x34, 0x71, 0x3f, 0x34, 0x7c, 0x7a, 0xd1, 0x98, 0xaa, 0x7d, + 0x23, 0x0d, 0x59, 0x9a, 0x2f, 0x26, 0xa0, 0xb8, 0xfd, 0xe2, 0x56, 0x53, 0x5d, 0xde, 0xdc, 0x59, + 0x5c, 0x6b, 0x4a, 0x29, 0xb9, 0x0c, 0x40, 0x05, 0xd7, 0xd6, 0x36, 0x1b, 0xdb, 0x52, 0xda, 0x7f, + 0x5e, 0xdd, 0xd8, 0xbe, 0x74, 0x41, 0xca, 0xf8, 0x80, 0x1d, 0x26, 0xc8, 0x06, 0x15, 0xce, 0x9f, + 0x93, 0x72, 0xb2, 0x04, 0x25, 0x46, 0xb0, 0xfa, 0x42, 0x73, 0xf9, 0xd2, 0x05, 0x69, 0x34, 0x2c, + 0x39, 0x7f, 0x4e, 0x1a, 0x93, 0xc7, 0xa1, 0x40, 0x25, 0x8b, 0x9b, 0x9b, 0x6b, 0x52, 0xde, 0xe7, + 0x6c, 0x6d, 0x2b, 0xab, 0x1b, 0x2b, 0x52, 0xc1, 0xe7, 0x5c, 0x51, 0x36, 0x77, 0xb6, 0x24, 0xf0, + 0x19, 0xd6, 0x9b, 0xad, 0x56, 0x63, 0xa5, 0x29, 0x15, 0x7d, 0x8d, 0xc5, 0x17, 0xb7, 0x9b, 0x2d, + 0xa9, 0x14, 0x32, 0xeb, 0xfc, 0x39, 0x69, 0xdc, 0x7f, 0x45, 0x73, 0x63, 0x67, 0x5d, 0x2a, 0xcb, + 0x93, 0x30, 0xce, 0x5e, 0x21, 0x8c, 0x98, 0x88, 0x88, 0x2e, 0x5d, 0x90, 0xa4, 0xbe, 0x21, 0x8c, + 0x65, 0x32, 0x24, 0xb8, 0x74, 0x41, 0x92, 0x6b, 0x4b, 0x90, 0xa3, 0xd1, 0x25, 0xcb, 0x50, 0x5e, + 0x6b, 0x2c, 0x36, 0xd7, 0xd4, 0xcd, 0xad, 0xed, 0xd5, 0xcd, 0x8d, 0xc6, 0x9a, 0x94, 0xea, 0xcb, + 0x94, 0xe6, 0x27, 0x77, 0x56, 0x95, 0xe6, 0xb2, 0x94, 0x0e, 0xca, 0xb6, 0x9a, 0x8d, 0xed, 0xe6, + 0xb2, 0x94, 0xa9, 0x69, 0x30, 0x3d, 0x2c, 0x4f, 0x0e, 0xdd, 0x19, 0x81, 0x25, 0x4e, 0x1f, 0xb3, + 0xc4, 0x94, 0x6b, 0x60, 0x89, 0x7f, 0x90, 0x86, 0xa9, 0x21, 0xb5, 0x62, 0xe8, 0x4b, 0x9e, 0x85, + 0x1c, 0x0b, 0x51, 0x56, 0x3d, 0x1f, 0x1f, 0x5a, 0x74, 0x68, 0xc0, 0x0e, 0x54, 0x50, 0x8a, 0x0b, + 0x76, 0x10, 0x99, 0x63, 0x3a, 0x08, 0x42, 0x31, 0x90, 0xd3, 0x7f, 0x76, 0x20, 0xa7, 0xb3, 0xb2, + 0x77, 0x29, 0x49, 0xd9, 0xa3, 0xb2, 0x93, 0xe5, 0xf6, 0xdc, 0x90, 0xdc, 0x7e, 0x15, 0x26, 0x07, + 0x88, 0x12, 0xe7, 0xd8, 0x57, 0x52, 0x50, 0x39, 0xce, 0x39, 0x31, 0x99, 0x2e, 0x1d, 0xca, 0x74, + 0x57, 0xa3, 0x1e, 0x3c, 0x7b, 0xfc, 0x22, 0x0c, 0xac, 0xf5, 0x1b, 0x29, 0x38, 0x35, 0xbc, 0x53, + 0x1c, 0x6a, 0xc3, 0x33, 0x30, 0xda, 0xc5, 0xde, 0xbe, 0x25, 0xba, 0xa5, 0x8f, 0x0c, 0xa9, 0xc1, + 0x64, 0x38, 0xba, 0xd8, 0x1c, 0x15, 0x2c, 0xe2, 0x99, 0xe3, 0xda, 0x3d, 0x66, 0xcd, 0x80, 0xa5, + 0x9f, 0x4d, 0xc3, 0x7d, 0x43, 0xc9, 0x87, 0x1a, 0xfa, 0x10, 0x80, 0x6e, 0xda, 0x3d, 0x8f, 0x75, + 0x44, 0x2c, 0xc1, 0x16, 0xa8, 0x84, 0x26, 0x2f, 0x92, 0x3c, 0x7b, 0x9e, 0x3f, 0x9e, 0xa1, 0xe3, + 0xc0, 0x44, 0x54, 0xe1, 0x72, 0xdf, 0xd0, 0x2c, 0x35, 0xb4, 0x7a, 0xcc, 0x4c, 0x07, 0x02, 0xf3, + 0x63, 0x20, 0x69, 0x86, 0x8e, 0x4d, 0x4f, 0x75, 0x3d, 0x07, 0xa3, 0xae, 0x6e, 0x76, 0x68, 0x05, + 0xc9, 0xd7, 0x73, 0x7b, 0xc8, 0x70, 0xb1, 0x32, 0xc1, 0x86, 0x5b, 0x62, 0x94, 0x20, 0x68, 0x00, + 0x39, 0x01, 0xc4, 0x68, 0x08, 0xc1, 0x86, 0x7d, 0x44, 0xed, 0xd7, 0x0a, 0x50, 0x0c, 0xf4, 0xd5, + 0xf2, 0x59, 0x28, 0x5d, 0x47, 0x37, 0x90, 0x2a, 0xce, 0x4a, 0xcc, 0x13, 0x45, 0x22, 0xdb, 0xe2, + 0xe7, 0xa5, 0x8f, 0xc1, 0x34, 0x55, 0xb1, 0x7a, 0x1e, 0x76, 0x54, 0xcd, 0x40, 0xae, 0x4b, 0x9d, + 0x96, 0xa7, 0xaa, 0x32, 0x19, 0xdb, 0x24, 0x43, 0x4b, 0x62, 0x44, 0xbe, 0x08, 0x53, 0x14, 0xd1, + 0xed, 0x19, 0x9e, 0x6e, 0x1b, 0x58, 0x25, 0xa7, 0x37, 0x97, 0x56, 0x12, 0xdf, 0xb2, 0x49, 0xa2, + 0xb1, 0xce, 0x15, 0x88, 0x45, 0xae, 0xbc, 0x0c, 0x0f, 0x51, 0x58, 0x07, 0x9b, 0xd8, 0x41, 0x1e, + 0x56, 0xf1, 0x67, 0x7a, 0xc8, 0x70, 0x55, 0x64, 0xb6, 0xd5, 0x7d, 0xe4, 0xee, 0x57, 0xa6, 0x09, + 0xc1, 0x62, 0xba, 0x92, 0x52, 0x4e, 0x13, 0xc5, 0x15, 0xae, 0xd7, 0xa4, 0x6a, 0x0d, 0xb3, 0xfd, + 0x09, 0xe4, 0xee, 0xcb, 0x75, 0x38, 0x45, 0x59, 0x5c, 0xcf, 0xd1, 0xcd, 0x8e, 0xaa, 0xed, 0x63, + 0xed, 0x40, 0xed, 0x79, 0x7b, 0x97, 0x2b, 0x0f, 0x04, 0xdf, 0x4f, 0x2d, 0x6c, 0x51, 0x9d, 0x25, + 0xa2, 0xb2, 0xe3, 0xed, 0x5d, 0x96, 0x5b, 0x50, 0x22, 0x8b, 0xd1, 0xd5, 0x6f, 0x61, 0x75, 0xcf, + 0x72, 0x68, 0x69, 0x2c, 0x0f, 0x49, 0x4d, 0x01, 0x0f, 0xce, 0x6f, 0x72, 0xc0, 0xba, 0xd5, 0xc6, + 0xf5, 0x5c, 0x6b, 0xab, 0xd9, 0x5c, 0x56, 0x8a, 0x82, 0xe5, 0x9a, 0xe5, 0x90, 0x80, 0xea, 0x58, + 0xbe, 0x83, 0x8b, 0x2c, 0xa0, 0x3a, 0x96, 0x70, 0xef, 0x45, 0x98, 0xd2, 0x34, 0x36, 0x67, 0x5d, + 0x53, 0xf9, 0x19, 0xcb, 0xad, 0x48, 0x21, 0x67, 0x69, 0xda, 0x0a, 0x53, 0xe0, 0x31, 0xee, 0xca, + 0x57, 0xe0, 0xbe, 0xbe, 0xb3, 0x82, 0xc0, 0xc9, 0x81, 0x59, 0x46, 0xa1, 0x17, 0x61, 0xca, 0x3e, + 0x1c, 0x04, 0xca, 0xa1, 0x37, 0xda, 0x87, 0x51, 0xd8, 0xd3, 0x30, 0x6d, 0xef, 0xdb, 0x83, 0xb8, + 0x27, 0x82, 0x38, 0xd9, 0xde, 0xb7, 0xa3, 0xc0, 0x47, 0xe9, 0x81, 0xdb, 0xc1, 0x1a, 0xf2, 0x70, + 0xbb, 0x72, 0x7f, 0x50, 0x3d, 0x30, 0x20, 0x2f, 0x80, 0xa4, 0x69, 0x2a, 0x36, 0xd1, 0xae, 0x81, + 0x55, 0xe4, 0x60, 0x13, 0xb9, 0x95, 0x33, 0x41, 0xe5, 0xb2, 0xa6, 0x35, 0xe9, 0x68, 0x83, 0x0e, + 0xca, 0x4f, 0xc0, 0xa4, 0xb5, 0x7b, 0x5d, 0x63, 0x21, 0xa9, 0xda, 0x0e, 0xde, 0xd3, 0x5f, 0xae, + 0x3c, 0x42, 0xfd, 0x3b, 0x41, 0x06, 0x68, 0x40, 0x6e, 0x51, 0xb1, 0xfc, 0x38, 0x48, 0x9a, 0xbb, + 0x8f, 0x1c, 0x9b, 0xe6, 0x64, 0xd7, 0x46, 0x1a, 0xae, 0x3c, 0xca, 0x54, 0x99, 0x7c, 0x43, 0x88, + 0xc9, 0x96, 0x70, 0x6f, 0xea, 0x7b, 0x9e, 0x60, 0x7c, 0x8c, 0x6d, 0x09, 0x2a, 0xe3, 0x6c, 0x73, + 0x20, 0x11, 0x57, 0x84, 0x5e, 0x3c, 0x47, 0xd5, 0xca, 0xf6, 0xbe, 0x1d, 0x7c, 0xef, 0xc3, 0x30, + 0x4e, 0x34, 0xfb, 0x2f, 0x7d, 0x9c, 0x35, 0x64, 0xf6, 0x7e, 0xe0, 0x8d, 0x17, 0xe0, 0x14, 0x51, + 0xea, 0x62, 0x0f, 0xb5, 0x91, 0x87, 0x02, 0xda, 0x1f, 0xa5, 0xda, 0xc4, 0xef, 0xeb, 0x7c, 0x30, + 0x64, 0xa7, 0xd3, 0xdb, 0x3d, 0xf4, 0x23, 0xeb, 0x29, 0x66, 0x27, 0x91, 0x89, 0xd8, 0xfa, 0xc0, + 0x9a, 0xee, 0x5a, 0x1d, 0x4a, 0xc1, 0xc0, 0x97, 0x0b, 0xc0, 0x42, 0x5f, 0x4a, 0x91, 0x2e, 0x68, + 0x69, 0x73, 0x99, 0xf4, 0x2f, 0x2f, 0x35, 0xa5, 0x34, 0xe9, 0xa3, 0xd6, 0x56, 0xb7, 0x9b, 0xaa, + 0xb2, 0xb3, 0xb1, 0xbd, 0xba, 0xde, 0x94, 0x32, 0xc1, 0x86, 0xfd, 0xbb, 0x69, 0x28, 0x87, 0xcf, + 0x5e, 0xf2, 0x4f, 0xc1, 0xfd, 0xe2, 0xa2, 0xc4, 0xc5, 0x9e, 0x7a, 0x53, 0x77, 0xe8, 0x5e, 0xec, + 0x22, 0x56, 0x17, 0xfd, 0x68, 0x98, 0xe6, 0x5a, 0x2d, 0xec, 0x3d, 0xaf, 0x3b, 0x64, 0xa7, 0x75, + 0x91, 0x27, 0xaf, 0xc1, 0x19, 0xd3, 0x52, 0x5d, 0x0f, 0x99, 0x6d, 0xe4, 0xb4, 0xd5, 0xfe, 0x15, + 0x95, 0x8a, 0x34, 0x0d, 0xbb, 0xae, 0xc5, 0x6a, 0xa0, 0xcf, 0xf2, 0xa0, 0x69, 0xb5, 0xb8, 0x72, + 0xbf, 0x38, 0x34, 0xb8, 0x6a, 0x24, 0x72, 0x33, 0xc7, 0x45, 0xee, 0x03, 0x50, 0xe8, 0x22, 0x5b, + 0xc5, 0xa6, 0xe7, 0x1c, 0xd2, 0x8e, 0x3b, 0xaf, 0xe4, 0xbb, 0xc8, 0x6e, 0x92, 0xe7, 0x0f, 0xe7, + 0xe0, 0xf3, 0xaf, 0x19, 0x28, 0x05, 0xbb, 0x6e, 0x72, 0x88, 0xd1, 0x68, 0x81, 0x4a, 0xd1, 0x14, + 0xf6, 0xf0, 0x3d, 0x7b, 0xf4, 0xf9, 0x25, 0x52, 0xb9, 0xea, 0xa3, 0xac, 0x17, 0x56, 0x18, 0x92, + 0x74, 0x0d, 0x24, 0xb4, 0x30, 0xeb, 0x3d, 0xf2, 0x0a, 0x7f, 0x92, 0x57, 0x60, 0xf4, 0xba, 0x4b, + 0xb9, 0x47, 0x29, 0xf7, 0x23, 0xf7, 0xe6, 0x7e, 0xae, 0x45, 0xc9, 0x0b, 0xcf, 0xb5, 0xd4, 0x8d, + 0x4d, 0x65, 0xbd, 0xb1, 0xa6, 0x70, 0xb8, 0x7c, 0x1a, 0xb2, 0x06, 0xba, 0x75, 0x18, 0xae, 0x71, + 0x54, 0x94, 0xd4, 0xf1, 0xa7, 0x21, 0x7b, 0x13, 0xa3, 0x83, 0x70, 0x65, 0xa1, 0xa2, 0x0f, 0x30, + 0xf4, 0x17, 0x20, 0x47, 0xfd, 0x25, 0x03, 0x70, 0x8f, 0x49, 0x23, 0x72, 0x1e, 0xb2, 0x4b, 0x9b, + 0x0a, 0x09, 0x7f, 0x09, 0x4a, 0x4c, 0xaa, 0x6e, 0xad, 0x36, 0x97, 0x9a, 0x52, 0xba, 0x76, 0x11, + 0x46, 0x99, 0x13, 0xc8, 0xd6, 0xf0, 0xdd, 0x20, 0x8d, 0xf0, 0x47, 0xce, 0x91, 0x12, 0xa3, 0x3b, + 0xeb, 0x8b, 0x4d, 0x45, 0x4a, 0x07, 0x97, 0xd7, 0x85, 0x52, 0xb0, 0xe1, 0xfe, 0x70, 0x62, 0xea, + 0x3b, 0x29, 0x28, 0x06, 0x1a, 0x68, 0xd2, 0xf9, 0x20, 0xc3, 0xb0, 0x6e, 0xaa, 0xc8, 0xd0, 0x91, + 0xcb, 0x83, 0x02, 0xa8, 0xa8, 0x41, 0x24, 0x49, 0x17, 0xed, 0x43, 0x31, 0xfe, 0xf5, 0x14, 0x48, + 0xd1, 0xde, 0x35, 0x62, 0x60, 0xea, 0x27, 0x6a, 0xe0, 0x6b, 0x29, 0x28, 0x87, 0x1b, 0xd6, 0x88, + 0x79, 0x67, 0x7f, 0xa2, 0xe6, 0xbd, 0x95, 0x86, 0xf1, 0x50, 0x9b, 0x9a, 0xd4, 0xba, 0xcf, 0xc0, + 0xa4, 0xde, 0xc6, 0x5d, 0xdb, 0xf2, 0xb0, 0xa9, 0x1d, 0xaa, 0x06, 0xbe, 0x81, 0x8d, 0x4a, 0x8d, + 0x26, 0x8a, 0x85, 0x7b, 0x37, 0xc2, 0xf3, 0xab, 0x7d, 0xdc, 0x1a, 0x81, 0xd5, 0xa7, 0x56, 0x97, + 0x9b, 0xeb, 0x5b, 0x9b, 0xdb, 0xcd, 0x8d, 0xa5, 0x17, 0xd5, 0x9d, 0x8d, 0x9f, 0xd9, 0xd8, 0x7c, + 0x7e, 0x43, 0x91, 0xf4, 0x88, 0xda, 0x07, 0xb8, 0xd5, 0xb7, 0x40, 0x8a, 0x1a, 0x25, 0xdf, 0x0f, + 0xc3, 0xcc, 0x92, 0x46, 0xe4, 0x29, 0x98, 0xd8, 0xd8, 0x54, 0x5b, 0xab, 0xcb, 0x4d, 0xb5, 0x79, + 0xed, 0x5a, 0x73, 0x69, 0xbb, 0xc5, 0xae, 0x36, 0x7c, 0xed, 0xed, 0xf0, 0xa6, 0x7e, 0x35, 0x03, + 0x53, 0x43, 0x2c, 0x91, 0x1b, 0xfc, 0x50, 0xc2, 0xce, 0x49, 0x4f, 0x25, 0xb1, 0x7e, 0x9e, 0x74, + 0x05, 0x5b, 0xc8, 0xf1, 0xf8, 0x19, 0xe6, 0x71, 0x20, 0x5e, 0x32, 0x3d, 0x7d, 0x4f, 0xc7, 0x0e, + 0xbf, 0x09, 0x62, 0x27, 0x95, 0x89, 0xbe, 0x9c, 0x5d, 0x06, 0x7d, 0x14, 0x64, 0xdb, 0x72, 0x75, + 0x4f, 0xbf, 0x81, 0x55, 0xdd, 0x14, 0xd7, 0x46, 0xe4, 0xe4, 0x92, 0x55, 0x24, 0x31, 0xb2, 0x6a, + 0x7a, 0xbe, 0xb6, 0x89, 0x3b, 0x28, 0xa2, 0x4d, 0x12, 0x78, 0x46, 0x91, 0xc4, 0x88, 0xaf, 0x7d, + 0x16, 0x4a, 0x6d, 0xab, 0x47, 0xda, 0x39, 0xa6, 0x47, 0xea, 0x45, 0x4a, 0x29, 0x32, 0x99, 0xaf, + 0xc2, 0x1b, 0xf5, 0xfe, 0x7d, 0x55, 0x49, 0x29, 0x32, 0x19, 0x53, 0x79, 0x0c, 0x26, 0x50, 0xa7, + 0xe3, 0x10, 0x72, 0x41, 0xc4, 0x8e, 0x1e, 0x65, 0x5f, 0x4c, 0x15, 0x67, 0x9e, 0x83, 0xbc, 0xf0, + 0x03, 0x29, 0xc9, 0xc4, 0x13, 0xaa, 0xcd, 0xce, 0xd3, 0xe9, 0xb9, 0x82, 0x92, 0x37, 0xc5, 0xe0, + 0x59, 0x28, 0xe9, 0xae, 0xda, 0xbf, 0x7e, 0x4f, 0xcf, 0xa6, 0xe7, 0xf2, 0x4a, 0x51, 0x77, 0xfd, + 0xab, 0xcb, 0xda, 0x1b, 0x69, 0x28, 0x87, 0x3f, 0x1f, 0xc8, 0xcb, 0x90, 0x37, 0x2c, 0x0d, 0xd1, + 0xd0, 0x62, 0xdf, 0xae, 0xe6, 0x62, 0xbe, 0x38, 0xcc, 0xaf, 0x71, 0x7d, 0xc5, 0x47, 0xce, 0xfc, + 0x73, 0x0a, 0xf2, 0x42, 0x2c, 0x9f, 0x82, 0xac, 0x8d, 0xbc, 0x7d, 0x4a, 0x97, 0x5b, 0x4c, 0x4b, + 0x29, 0x85, 0x3e, 0x13, 0xb9, 0x6b, 0x23, 0x93, 0x86, 0x00, 0x97, 0x93, 0x67, 0xb2, 0xae, 0x06, + 0x46, 0x6d, 0x7a, 0xae, 0xb1, 0xba, 0x5d, 0x6c, 0x7a, 0xae, 0x58, 0x57, 0x2e, 0x5f, 0xe2, 0x62, + 0xf9, 0x49, 0x98, 0xf4, 0x1c, 0xa4, 0x1b, 0x21, 0xdd, 0x2c, 0xd5, 0x95, 0xc4, 0x80, 0xaf, 0x5c, + 0x87, 0xd3, 0x82, 0xb7, 0x8d, 0x3d, 0xa4, 0xed, 0xe3, 0x76, 0x1f, 0x34, 0x4a, 0xef, 0x2f, 0xee, + 0xe7, 0x0a, 0xcb, 0x7c, 0x5c, 0x60, 0x6b, 0xdf, 0x4f, 0xc1, 0xa4, 0x38, 0x89, 0xb5, 0x7d, 0x67, + 0xad, 0x03, 0x20, 0xd3, 0xb4, 0xbc, 0xa0, 0xbb, 0x06, 0x43, 0x79, 0x00, 0x37, 0xdf, 0xf0, 0x41, + 0x4a, 0x80, 0x60, 0xa6, 0x0b, 0xd0, 0x1f, 0x39, 0xd6, 0x6d, 0x67, 0xa0, 0xc8, 0xbf, 0x0d, 0xd1, + 0x0f, 0x8c, 0xec, 0xec, 0x0e, 0x4c, 0x44, 0x8e, 0x6c, 0xf2, 0x34, 0xe4, 0x76, 0x71, 0x47, 0x37, + 0xf9, 0x8d, 0x2f, 0x7b, 0x10, 0x37, 0x2c, 0x59, 0xff, 0x86, 0x65, 0xf1, 0xd3, 0x30, 0xa5, 0x59, + 0xdd, 0xa8, 0xb9, 0x8b, 0x52, 0xe4, 0xfe, 0xc0, 0xfd, 0x44, 0xea, 0x25, 0xe8, 0xb7, 0x98, 0xef, + 0xa5, 0x52, 0x5f, 0x4a, 0x67, 0x56, 0xb6, 0x16, 0xbf, 0x9a, 0x9e, 0x59, 0x61, 0xd0, 0x2d, 0x31, + 0x53, 0x05, 0xef, 0x19, 0x58, 0x23, 0xd6, 0xc3, 0x97, 0x9f, 0x84, 0xa7, 0x3a, 0xba, 0xb7, 0xdf, + 0xdb, 0x9d, 0xd7, 0xac, 0xee, 0x42, 0xc7, 0xea, 0x58, 0xfd, 0x6f, 0xaa, 0xe4, 0x89, 0x3e, 0xd0, + 0xff, 0xf8, 0x77, 0xd5, 0x82, 0x2f, 0x9d, 0x89, 0xfd, 0x08, 0x5b, 0xdf, 0x80, 0x29, 0xae, 0xac, + 0xd2, 0x0f, 0x3b, 0xec, 0x78, 0x22, 0xdf, 0xf3, 0x72, 0xac, 0xf2, 0xf5, 0xb7, 0x69, 0xb9, 0x56, + 0x26, 0x39, 0x94, 0x8c, 0xb1, 0x13, 0x4c, 0x5d, 0x81, 0xfb, 0x42, 0x7c, 0x6c, 0x6b, 0x62, 0x27, + 0x86, 0xf1, 0xbb, 0x9c, 0x71, 0x2a, 0xc0, 0xd8, 0xe2, 0xd0, 0xfa, 0x12, 0x8c, 0x9f, 0x84, 0xeb, + 0x1f, 0x39, 0x57, 0x09, 0x07, 0x49, 0x56, 0x60, 0x82, 0x92, 0x68, 0x3d, 0xd7, 0xb3, 0xba, 0x34, + 0xef, 0xdd, 0x9b, 0xe6, 0x9f, 0xde, 0x66, 0x7b, 0xa5, 0x4c, 0x60, 0x4b, 0x3e, 0xaa, 0x5e, 0x07, + 0xfa, 0x2d, 0xab, 0x8d, 0x35, 0x23, 0x86, 0xe1, 0x4d, 0x6e, 0x88, 0xaf, 0x5f, 0xff, 0x14, 0x4c, + 0x93, 0xff, 0x69, 0x5a, 0x0a, 0x5a, 0x12, 0x7f, 0x93, 0x56, 0xf9, 0xfe, 0x2b, 0x6c, 0x3b, 0x4e, + 0xf9, 0x04, 0x01, 0x9b, 0x02, 0xab, 0xd8, 0xc1, 0x9e, 0x87, 0x1d, 0x57, 0x45, 0xc6, 0x30, 0xf3, + 0x02, 0x57, 0x11, 0x95, 0xcf, 0xbf, 0x13, 0x5e, 0xc5, 0x15, 0x86, 0x6c, 0x18, 0x46, 0x7d, 0x07, + 0xee, 0x1f, 0x12, 0x15, 0x09, 0x38, 0x5f, 0xe5, 0x9c, 0xd3, 0x03, 0x91, 0x41, 0x68, 0xb7, 0x40, + 0xc8, 0xfd, 0xb5, 0x4c, 0xc0, 0xf9, 0x07, 0x9c, 0x53, 0xe6, 0x58, 0xb1, 0xa4, 0x84, 0xf1, 0x39, + 0x98, 0xbc, 0x81, 0x9d, 0x5d, 0xcb, 0xe5, 0xd7, 0x3f, 0x09, 0xe8, 0x5e, 0xe3, 0x74, 0x13, 0x1c, + 0x48, 0xef, 0x83, 0x08, 0xd7, 0x15, 0xc8, 0xef, 0x21, 0x0d, 0x27, 0xa0, 0xf8, 0x02, 0xa7, 0x18, + 0x23, 0xfa, 0x04, 0xda, 0x80, 0x52, 0xc7, 0xe2, 0x95, 0x29, 0x1e, 0xfe, 0x3a, 0x87, 0x17, 0x05, + 0x86, 0x53, 0xd8, 0x96, 0xdd, 0x33, 0x48, 0xd9, 0x8a, 0xa7, 0xf8, 0x43, 0x41, 0x21, 0x30, 0x9c, + 0xe2, 0x04, 0x6e, 0xfd, 0x23, 0x41, 0xe1, 0x06, 0xfc, 0xf9, 0x2c, 0x14, 0x2d, 0xd3, 0x38, 0xb4, + 0xcc, 0x24, 0x46, 0x7c, 0x91, 0x33, 0x00, 0x87, 0x10, 0x82, 0xab, 0x50, 0x48, 0xba, 0x10, 0x7f, + 0xf2, 0x8e, 0xd8, 0x1e, 0x62, 0x05, 0x56, 0x60, 0x42, 0x24, 0x28, 0xdd, 0x32, 0x13, 0x50, 0x7c, + 0x99, 0x53, 0x94, 0x03, 0x30, 0x3e, 0x0d, 0x0f, 0xbb, 0x5e, 0x07, 0x27, 0x21, 0x79, 0x43, 0x4c, + 0x83, 0x43, 0xb8, 0x2b, 0x77, 0xb1, 0xa9, 0xed, 0x27, 0x63, 0xf8, 0x8a, 0x70, 0xa5, 0xc0, 0x10, + 0x8a, 0x25, 0x18, 0xef, 0x22, 0xc7, 0xdd, 0x47, 0x46, 0xa2, 0xe5, 0xf8, 0x53, 0xce, 0x51, 0xf2, + 0x41, 0xdc, 0x23, 0x3d, 0xf3, 0x24, 0x34, 0x5f, 0x15, 0x1e, 0x09, 0xc0, 0xf8, 0xd6, 0x73, 0x3d, + 0x7a, 0x57, 0x76, 0x12, 0xb6, 0x3f, 0x13, 0x5b, 0x8f, 0x61, 0xd7, 0x83, 0x8c, 0x57, 0xa1, 0xe0, + 0xea, 0xb7, 0x12, 0xd1, 0xfc, 0xb9, 0x58, 0x69, 0x0a, 0x20, 0xe0, 0x17, 0xe1, 0xf4, 0xd0, 0x32, + 0x91, 0x80, 0xec, 0x2f, 0x38, 0xd9, 0xa9, 0x21, 0xa5, 0x82, 0xa7, 0x84, 0x93, 0x52, 0xfe, 0xa5, + 0x48, 0x09, 0x38, 0xc2, 0xb5, 0x45, 0xce, 0x0a, 0x2e, 0xda, 0x3b, 0x99, 0xd7, 0xfe, 0x4a, 0x78, + 0x8d, 0x61, 0x43, 0x5e, 0xdb, 0x86, 0x53, 0x9c, 0xf1, 0x64, 0xeb, 0xfa, 0x35, 0x91, 0x58, 0x19, + 0x7a, 0x27, 0xbc, 0xba, 0x9f, 0x86, 0x19, 0xdf, 0x9d, 0xa2, 0x29, 0x75, 0xd5, 0x2e, 0xb2, 0x13, + 0x30, 0x7f, 0x9d, 0x33, 0x8b, 0x8c, 0xef, 0x77, 0xb5, 0xee, 0x3a, 0xb2, 0x09, 0xf9, 0x0b, 0x50, + 0x11, 0xe4, 0x3d, 0xd3, 0xc1, 0x9a, 0xd5, 0x31, 0xf5, 0x5b, 0xb8, 0x9d, 0x80, 0xfa, 0xaf, 0x23, + 0x4b, 0xb5, 0x13, 0x80, 0x13, 0xe6, 0x55, 0x90, 0xfc, 0x5e, 0x45, 0xd5, 0xbb, 0xb6, 0xe5, 0x78, + 0x31, 0x8c, 0x7f, 0x23, 0x56, 0xca, 0xc7, 0xad, 0x52, 0x58, 0xbd, 0x09, 0x65, 0xfa, 0x98, 0x34, + 0x24, 0xff, 0x96, 0x13, 0x8d, 0xf7, 0x51, 0x3c, 0x71, 0x68, 0x56, 0xd7, 0x46, 0x4e, 0x92, 0xfc, + 0xf7, 0x77, 0x22, 0x71, 0x70, 0x08, 0x4f, 0x1c, 0xde, 0xa1, 0x8d, 0x49, 0xb5, 0x4f, 0xc0, 0xf0, + 0x0d, 0x91, 0x38, 0x04, 0x86, 0x53, 0x88, 0x86, 0x21, 0x01, 0xc5, 0x37, 0x05, 0x85, 0xc0, 0x10, + 0x8a, 0x4f, 0xf6, 0x0b, 0xad, 0x83, 0x3b, 0xba, 0xeb, 0x39, 0xac, 0x15, 0xbe, 0x37, 0xd5, 0xb7, + 0xde, 0x09, 0x37, 0x61, 0x4a, 0x00, 0x4a, 0x32, 0x11, 0xbf, 0x42, 0xa5, 0x27, 0xa5, 0x78, 0xc3, + 0xbe, 0x2d, 0x32, 0x51, 0x00, 0x46, 0x6c, 0x0b, 0x74, 0x88, 0xc4, 0xed, 0x1a, 0x39, 0x1f, 0x24, + 0xa0, 0xfb, 0x4e, 0xc4, 0xb8, 0x96, 0xc0, 0x12, 0xce, 0x40, 0xff, 0xd3, 0x33, 0x0f, 0xf0, 0x61, + 0xa2, 0xe8, 0xfc, 0xfb, 0x48, 0xff, 0xb3, 0xc3, 0x90, 0x2c, 0x87, 0x4c, 0x44, 0xfa, 0x29, 0x39, + 0xee, 0x57, 0x40, 0x95, 0x5f, 0xb8, 0xcb, 0xe7, 0x1b, 0x6e, 0xa7, 0xea, 0x6b, 0x24, 0xc8, 0xc3, + 0x4d, 0x4f, 0x3c, 0xd9, 0x2b, 0x77, 0xfd, 0x38, 0x0f, 0xf5, 0x3c, 0xf5, 0x6b, 0x30, 0x1e, 0x6a, + 0x78, 0xe2, 0xa9, 0x7e, 0x91, 0x53, 0x95, 0x82, 0xfd, 0x4e, 0xfd, 0x22, 0x64, 0x49, 0xf3, 0x12, + 0x0f, 0xff, 0x25, 0x0e, 0xa7, 0xea, 0xf5, 0x8f, 0x43, 0x5e, 0x34, 0x2d, 0xf1, 0xd0, 0x5f, 0xe6, + 0x50, 0x1f, 0x42, 0xe0, 0xa2, 0x61, 0x89, 0x87, 0xff, 0x8a, 0x80, 0x0b, 0x08, 0x81, 0x27, 0x77, + 0xe1, 0x3f, 0xfc, 0x6a, 0x96, 0x17, 0x1d, 0xe1, 0xbb, 0xab, 0x30, 0xc6, 0x3b, 0x95, 0x78, 0xf4, + 0x67, 0xf9, 0xcb, 0x05, 0xa2, 0xfe, 0x34, 0xe4, 0x12, 0x3a, 0xfc, 0xd7, 0x39, 0x94, 0xe9, 0xd7, + 0x97, 0xa0, 0x18, 0xe8, 0x4e, 0xe2, 0xe1, 0xbf, 0xc1, 0xe1, 0x41, 0x14, 0x31, 0x9d, 0x77, 0x27, + 0xf1, 0x04, 0xbf, 0x29, 0x4c, 0xe7, 0x08, 0xe2, 0x36, 0xd1, 0x98, 0xc4, 0xa3, 0x7f, 0x4b, 0x78, + 0x5d, 0x40, 0xea, 0xcf, 0x42, 0xc1, 0x2f, 0x36, 0xf1, 0xf8, 0xdf, 0xe6, 0xf8, 0x3e, 0x86, 0x78, + 0x20, 0x50, 0xec, 0xe2, 0x29, 0x7e, 0x47, 0x78, 0x20, 0x80, 0x22, 0xdb, 0x28, 0xda, 0xc0, 0xc4, + 0x33, 0xfd, 0xae, 0xd8, 0x46, 0x91, 0xfe, 0x85, 0xac, 0x26, 0xcd, 0xf9, 0xf1, 0x14, 0xbf, 0x27, + 0x56, 0x93, 0xea, 0x13, 0x33, 0xa2, 0x1d, 0x41, 0x3c, 0xc7, 0xef, 0x0b, 0x33, 0x22, 0x0d, 0x41, + 0x7d, 0x0b, 0xe4, 0xc1, 0x6e, 0x20, 0x9e, 0xef, 0x73, 0x9c, 0x6f, 0x72, 0xa0, 0x19, 0xa8, 0x3f, + 0x0f, 0xa7, 0x86, 0x77, 0x02, 0xf1, 0xac, 0x9f, 0xbf, 0x1b, 0x39, 0xbb, 0x05, 0x1b, 0x81, 0xfa, + 0x76, 0xbf, 0xa4, 0x04, 0xbb, 0x80, 0x78, 0xda, 0x57, 0xef, 0x86, 0x13, 0x77, 0xb0, 0x09, 0xa8, + 0x37, 0x00, 0xfa, 0x05, 0x38, 0x9e, 0xeb, 0x35, 0xce, 0x15, 0x00, 0x91, 0xad, 0xc1, 0xeb, 0x6f, + 0x3c, 0xfe, 0x0b, 0x62, 0x6b, 0x70, 0x04, 0xd9, 0x1a, 0xa2, 0xf4, 0xc6, 0xa3, 0x5f, 0x17, 0x5b, + 0x43, 0x40, 0x48, 0x64, 0x07, 0xaa, 0x5b, 0x3c, 0xc3, 0x17, 0x45, 0x64, 0x07, 0x50, 0xf5, 0x0d, + 0x98, 0x1c, 0x28, 0x88, 0xf1, 0x54, 0x5f, 0xe2, 0x54, 0x52, 0xb4, 0x1e, 0x06, 0x8b, 0x17, 0x2f, + 0x86, 0xf1, 0x6c, 0x7f, 0x1c, 0x29, 0x5e, 0xbc, 0x16, 0xd6, 0xaf, 0x42, 0xde, 0xec, 0x19, 0x06, + 0xd9, 0x3c, 0xf2, 0xbd, 0x7f, 0xb9, 0x57, 0xf9, 0xf7, 0xf7, 0xb9, 0x77, 0x04, 0xa0, 0x7e, 0x11, + 0x72, 0xb8, 0xbb, 0x8b, 0xdb, 0x71, 0xc8, 0xff, 0x78, 0x5f, 0x24, 0x4c, 0xa2, 0x5d, 0x7f, 0x16, + 0x80, 0x5d, 0x8d, 0xd0, 0xcf, 0x7e, 0x31, 0xd8, 0xff, 0x7c, 0x9f, 0xff, 0xa6, 0xa6, 0x0f, 0xe9, + 0x13, 0xb0, 0x5f, 0xe8, 0xdc, 0x9b, 0xe0, 0x9d, 0x30, 0x01, 0x5d, 0x91, 0x2b, 0x30, 0x76, 0xdd, + 0xb5, 0x4c, 0x0f, 0x75, 0xe2, 0xd0, 0xff, 0xc5, 0xd1, 0x42, 0x9f, 0x38, 0xac, 0x6b, 0x39, 0xd8, + 0x43, 0x1d, 0x37, 0x0e, 0xfb, 0xdf, 0x1c, 0xeb, 0x03, 0x08, 0x58, 0x43, 0xae, 0x97, 0x64, 0xde, + 0xff, 0x23, 0xc0, 0x02, 0x40, 0x8c, 0x26, 0xff, 0x1f, 0xe0, 0xc3, 0x38, 0xec, 0xbb, 0xc2, 0x68, + 0xae, 0x5f, 0xff, 0x38, 0x14, 0xc8, 0xbf, 0xec, 0x87, 0x72, 0x31, 0xe0, 0xff, 0xe5, 0xe0, 0x3e, + 0x82, 0xbc, 0xd9, 0xf5, 0xda, 0x9e, 0x1e, 0xef, 0xec, 0xff, 0xe3, 0x2b, 0x2d, 0xf4, 0xeb, 0x0d, + 0x28, 0xba, 0x5e, 0xbb, 0xdd, 0xe3, 0xfd, 0x69, 0x0c, 0xfc, 0xff, 0xdf, 0xf7, 0xaf, 0x2c, 0x7c, + 0x0c, 0x59, 0xed, 0x9b, 0x07, 0x9e, 0x6d, 0xd1, 0xcf, 0x1c, 0x71, 0x0c, 0x77, 0x39, 0x43, 0x00, + 0xb2, 0xd8, 0x1c, 0x7e, 0x7d, 0x0b, 0x2b, 0xd6, 0x8a, 0xc5, 0x2e, 0x6e, 0x5f, 0xaa, 0xc5, 0xdf, + 0xc0, 0xc2, 0x37, 0x33, 0xf0, 0xa0, 0x66, 0x75, 0x77, 0x2d, 0x77, 0x21, 0x90, 0xcc, 0x17, 0xba, + 0xc8, 0xe6, 0xf7, 0xb2, 0xc5, 0x2e, 0xb2, 0xf9, 0x2f, 0x6b, 0xdd, 0x99, 0x93, 0xdd, 0xe9, 0xd6, + 0x7e, 0x1e, 0xc6, 0xd6, 0x91, 0xbd, 0x8d, 0x5d, 0x4f, 0xa6, 0xde, 0xa6, 0x3f, 0xe1, 0xe2, 0x17, + 0xe5, 0xb3, 0xf3, 0x01, 0xe2, 0x79, 0xae, 0x36, 0xdf, 0xf2, 0x9c, 0x96, 0xe7, 0xd0, 0x1f, 0x15, + 0x28, 0xa3, 0x2e, 0x7d, 0x98, 0xb9, 0x02, 0xc5, 0x80, 0x58, 0x96, 0x20, 0x73, 0x80, 0x0f, 0xf9, + 0x8f, 0xb8, 0xc8, 0xbf, 0xf2, 0x74, 0xff, 0x57, 0x96, 0x44, 0xc6, 0x1e, 0xea, 0xe9, 0xcb, 0xa9, + 0xda, 0x33, 0x30, 0x76, 0x0d, 0x1d, 0xe0, 0x75, 0x64, 0xcb, 0xe7, 0x61, 0x0c, 0x9b, 0x9e, 0xa3, + 0x63, 0x97, 0x1b, 0x70, 0x3a, 0x64, 0x00, 0x57, 0x63, 0x6f, 0x16, 0x9a, 0xb5, 0x35, 0x28, 0x05, + 0x07, 0x92, 0xbe, 0x9b, 0x48, 0x2d, 0x6f, 0x9f, 0xff, 0xea, 0xba, 0xa0, 0xb0, 0x87, 0xc5, 0xe5, + 0x37, 0xef, 0x54, 0x47, 0xbe, 0x77, 0xa7, 0x3a, 0xf2, 0x2f, 0x77, 0xaa, 0x23, 0x6f, 0xdd, 0xa9, + 0xa6, 0xde, 0xbd, 0x53, 0x4d, 0xbd, 0x77, 0xa7, 0x9a, 0xba, 0x7d, 0x54, 0x4d, 0x7d, 0xe5, 0xa8, + 0x9a, 0xfa, 0xda, 0x51, 0x35, 0xf5, 0xad, 0xa3, 0x6a, 0xea, 0xcd, 0xa3, 0xea, 0xc8, 0xf7, 0x8e, + 0xaa, 0xa9, 0xb7, 0x8e, 0xaa, 0xa9, 0x1f, 0x1e, 0x55, 0x47, 0xde, 0x3d, 0xaa, 0xa6, 0xde, 0x3b, + 0xaa, 0x8e, 0xdc, 0xfe, 0x41, 0x75, 0x64, 0x77, 0x94, 0xfa, 0xf6, 0xfc, 0x8f, 0x02, 0x00, 0x00, + 0xff, 0xff, 0x64, 0xdc, 0xaa, 0xe0, 0xae, 0x34, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1415,29 +1443,3 @@ var ( ErrInvalidLengthMap = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMap = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/unmarshaler/map.proto", fileDescriptor_map_c5bc2daa9ca30987) } - -var fileDescriptor_map_c5bc2daa9ca30987 = []byte{ - // 315 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x90, 0xbf, 0x4f, 0x02, 0x31, - 0x14, 0xc7, 0xfb, 0x20, 0x72, 0xb1, 0x38, 0x98, 0x8b, 0xc3, 0x49, 0xcc, 0x0b, 0x61, 0x62, 0xf1, - 0x2e, 0x91, 0x45, 0x1c, 0x1c, 0x8c, 0x3a, 0xc9, 0x02, 0xee, 0xa6, 0x87, 0xe5, 0x47, 0xe0, 0xe8, - 0xa5, 0xed, 0x99, 0x30, 0xc9, 0x9f, 0xe3, 0xe8, 0xe8, 0x9f, 0xc0, 0xc8, 0xe8, 0x48, 0xeb, 0xe2, - 0xc8, 0xc8, 0x68, 0xe8, 0x61, 0x72, 0x6e, 0x6e, 0xef, 0xf3, 0xed, 0xa7, 0x7d, 0xdf, 0x94, 0x9e, - 0xf5, 0x45, 0x12, 0x0b, 0x15, 0x65, 0xb3, 0x84, 0x49, 0x35, 0x62, 0x53, 0x2e, 0xa3, 0x84, 0xa5, - 0x61, 0x2a, 0x85, 0x16, 0x7e, 0x35, 0x61, 0xe9, 0x33, 0x1f, 0xb0, 0x6c, 0xaa, 0x55, 0xed, 0x7c, - 0x38, 0xd6, 0xa3, 0x2c, 0x0e, 0xfb, 0x22, 0x89, 0x86, 0x62, 0x28, 0x22, 0xe7, 0xc4, 0xd9, 0xc0, - 0x91, 0x03, 0x37, 0xe5, 0x77, 0x1b, 0xaf, 0xd4, 0xeb, 0xb0, 0xf4, 0x91, 0x2b, 0xed, 0xb7, 0xa9, - 0xa7, 0xb4, 0x7c, 0x52, 0x5a, 0x06, 0x50, 0x2f, 0x37, 0xab, 0x17, 0xf5, 0xb0, 0xf0, 0x70, 0xb8, - 0xd7, 0xc2, 0x9e, 0x96, 0x3d, 0x2d, 0xef, 0x66, 0x5a, 0xce, 0xbb, 0x15, 0xe5, 0xa0, 0xd6, 0xa6, - 0xd5, 0x42, 0xec, 0x1f, 0xd3, 0xf2, 0x84, 0xcf, 0x03, 0xa8, 0x43, 0xf3, 0xb0, 0xbb, 0x1b, 0xfd, - 0x13, 0x7a, 0xf0, 0xc2, 0xa6, 0x19, 0x0f, 0x4a, 0x2e, 0xcb, 0xe1, 0xaa, 0x74, 0x09, 0x8d, 0x6b, - 0xea, 0xdd, 0xb3, 0x09, 0xef, 0xb0, 0xd4, 0x6f, 0x51, 0x8f, 0xcf, 0xb4, 0x1c, 0x73, 0xb5, 0x2f, - 0x70, 0xfa, 0xa7, 0xc0, 0x5e, 0xcb, 0x37, 0xff, 0x9a, 0x8d, 0x07, 0x7a, 0x54, 0x3c, 0xf8, 0xef, - 0xee, 0x5d, 0x2a, 0xf4, 0x88, 0xcb, 0xa0, 0x9c, 0xa7, 0x0e, 0x6e, 0x6e, 0x97, 0x06, 0xc9, 0xca, - 0x20, 0xf9, 0x34, 0x48, 0xd6, 0x06, 0x61, 0x63, 0x10, 0xb6, 0x06, 0x61, 0x61, 0x11, 0xde, 0x2c, - 0xc2, 0xbb, 0x45, 0xf8, 0xb0, 0x08, 0x4b, 0x8b, 0x64, 0x65, 0x11, 0xd6, 0x16, 0xe1, 0xdb, 0x22, - 0xd9, 0x58, 0x84, 0xad, 0x45, 0xb2, 0xf8, 0x42, 0x12, 0x57, 0xdc, 0xdf, 0xb6, 0x7e, 0x02, 0x00, - 0x00, 0xff, 0xff, 0x44, 0xd1, 0x73, 0x81, 0xb7, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/both/mapsproto2.pb.go b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/both/mapsproto2.pb.go index fbeee989c..c616be2ee 100644 --- a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/both/mapsproto2.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/both/mapsproto2.pb.go @@ -3,29 +3,25 @@ package proto2_maps -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -51,6 +47,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -62,9 +59,11 @@ func (x MapEnum) Enum() *MapEnum { *p = x return p } + func (x MapEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(MapEnum_name, int32(x)) } + func (x *MapEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MapEnum_value, data, "MapEnum") if err != nil { @@ -73,8 +72,9 @@ func (x *MapEnum) UnmarshalJSON(data []byte) error { *x = MapEnum(value) return nil } + func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_7bd3336f77331b84, []int{0} + return fileDescriptor_0549d724f3f4db02, []int{0} } type FloatingPoint struct { @@ -87,7 +87,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_7bd3336f77331b84, []int{0} + return fileDescriptor_0549d724f3f4db02, []int{0} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -104,8 +104,8 @@ func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return m.Size() @@ -129,7 +129,7 @@ type CustomMap struct { func (m *CustomMap) Reset() { *m = CustomMap{} } func (*CustomMap) ProtoMessage() {} func (*CustomMap) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_7bd3336f77331b84, []int{1} + return fileDescriptor_0549d724f3f4db02, []int{1} } func (m *CustomMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -146,8 +146,8 @@ func (m *CustomMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *CustomMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomMap.Merge(dst, src) +func (m *CustomMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomMap.Merge(m, src) } func (m *CustomMap) XXX_Size() int { return m.Size() @@ -184,7 +184,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_7bd3336f77331b84, []int{2} + return fileDescriptor_0549d724f3f4db02, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -201,8 +201,8 @@ func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return m.Size() @@ -239,7 +239,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_7bd3336f77331b84, []int{3} + return fileDescriptor_0549d724f3f4db02, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -252,8 +252,8 @@ func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro } return b[:n], nil } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return m.Size() @@ -265,6 +265,7 @@ func (m *AllMapsOrdered) XXX_DiscardUnknown() { var xxx_messageInfo_AllMapsOrdered proto.InternalMessageInfo func init() { + proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) proto.RegisterType((*FloatingPoint)(nil), "proto2.maps.FloatingPoint") proto.RegisterType((*CustomMap)(nil), "proto2.maps.CustomMap") proto.RegisterMapType((map[string]github_com_gogo_protobuf_test.Uuid)(nil), "proto2.maps.CustomMap.IdsEntry") @@ -307,8 +308,86 @@ func init() { proto.RegisterMapType((map[string]*FloatingPoint)(nil), "proto2.maps.AllMapsOrdered.StringToMsgMapEntry") proto.RegisterMapType((map[uint32]uint32)(nil), "proto2.maps.AllMapsOrdered.Uint32MapEntry") proto.RegisterMapType((map[uint64]uint64)(nil), "proto2.maps.AllMapsOrdered.Uint64MapEntry") - proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) } + +func init() { proto.RegisterFile("combos/both/mapsproto2.proto", fileDescriptor_0549d724f3f4db02) } + +var fileDescriptor_0549d724f3f4db02 = []byte{ + // 1143 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcb, 0x6f, 0x1a, 0x57, + 0x14, 0xc6, 0xb9, 0x3c, 0x0c, 0x5c, 0xde, 0x37, 0x69, 0x85, 0x50, 0x7b, 0x71, 0xe8, 0x8b, 0x90, + 0x14, 0x6c, 0x1a, 0x45, 0x96, 0xd3, 0xa6, 0x32, 0xb6, 0x53, 0xac, 0x14, 0x37, 0x82, 0xa6, 0x2f, + 0xc9, 0x52, 0xc1, 0x3c, 0x82, 0x0a, 0x0c, 0x65, 0x86, 0xa8, 0xde, 0x54, 0xf9, 0x33, 0xba, 0xed, + 0xae, 0xcb, 0x2e, 0xbb, 0xec, 0xd2, 0x52, 0x37, 0x59, 0x46, 0x51, 0x65, 0x85, 0xe9, 0x26, 0xcb, + 0x2c, 0xb3, 0xac, 0xe6, 0xce, 0x83, 0x3b, 0x33, 0x67, 0x66, 0xa0, 0xab, 0x2e, 0xbc, 0xc2, 0x77, + 0x38, 0xdf, 0xef, 0x3b, 0x33, 0x73, 0xef, 0xe1, 0x33, 0x7e, 0xeb, 0x54, 0x18, 0x77, 0x04, 0xb1, + 0xd2, 0x11, 0xa4, 0x47, 0x95, 0x71, 0x7b, 0x2a, 0x4e, 0x67, 0x82, 0x24, 0x54, 0xcb, 0xec, 0x83, + 0xc4, 0xb4, 0x95, 0xf2, 0x45, 0xee, 0xc3, 0xc1, 0x50, 0x7a, 0x34, 0xef, 0x94, 0x4f, 0x85, 0x71, + 0x65, 0x20, 0x0c, 0x84, 0x0a, 0xfb, 0xb2, 0x33, 0xef, 0xb3, 0x15, 0x5b, 0xb0, 0xbf, 0x54, 0x6d, + 0xe1, 0x6d, 0x9c, 0xb8, 0x37, 0x12, 0xda, 0xd2, 0x70, 0x32, 0x78, 0x20, 0x0c, 0x27, 0x12, 0x89, + 0x63, 0xd4, 0xcf, 0xa2, 0x4d, 0x54, 0x44, 0x4d, 0xd4, 0x2f, 0xfc, 0x15, 0xc2, 0xd1, 0xfd, 0xb9, + 0x28, 0x09, 0xe3, 0x46, 0x7b, 0x4a, 0x7e, 0xc6, 0xf1, 0xe3, 0xf9, 0x68, 0xd4, 0xee, 0x8c, 0x7a, + 0xdb, 0xd5, 0x1d, 0x31, 0x8b, 0x36, 0x03, 0xc5, 0x58, 0xb5, 0x58, 0xe6, 0xfc, 0xcb, 0x46, 0x75, + 0x99, 0x2f, 0x3d, 0x9c, 0x48, 0xb3, 0xb3, 0xda, 0xd6, 0xf3, 0x8b, 0xfc, 0x4d, 0xc7, 0xfe, 0xa4, + 0x9e, 0x28, 0x55, 0x4e, 0x99, 0xbc, 0xfc, 0x70, 0x38, 0x91, 0xb6, 0xab, 0x3b, 0x4d, 0x93, 0x1f, + 0x79, 0x8c, 0x23, 0xda, 0x17, 0x62, 0xd6, 0xcf, 0xbc, 0xdf, 0x75, 0xf0, 0xd6, 0xcb, 0x54, 0xdf, + 0x5b, 0xe7, 0x17, 0x79, 0xdf, 0xda, 0xde, 0x86, 0x17, 0xf9, 0x11, 0xc7, 0xf4, 0x3e, 0x8e, 0xba, + 0x62, 0x36, 0xc0, 0xac, 0x3f, 0xf0, 0xb8, 0xed, 0xa3, 0xae, 0xe6, 0xfe, 0xfe, 0xf3, 0x8b, 0x7c, + 0xc1, 0xd5, 0xb9, 0xfc, 0x70, 0x3e, 0xec, 0x36, 0x79, 0x0f, 0x72, 0x82, 0x03, 0x8a, 0x55, 0x90, + 0x59, 0xe5, 0x1d, 0xac, 0x0c, 0x8b, 0x92, 0x76, 0x83, 0xab, 0xd8, 0x28, 0xdc, 0xdc, 0xa7, 0x38, + 0x63, 0x7b, 0x3d, 0x24, 0x8d, 0x03, 0x3f, 0xf4, 0xce, 0xd8, 0xcb, 0x8f, 0x36, 0x95, 0x3f, 0xc9, + 0x55, 0x1c, 0x7a, 0xdc, 0x1e, 0xcd, 0x7b, 0x59, 0xff, 0x26, 0x2a, 0xc6, 0x9b, 0xea, 0x62, 0xd7, + 0xbf, 0x83, 0x72, 0x77, 0x70, 0xc2, 0xf4, 0x8c, 0xd7, 0x12, 0xdf, 0xc5, 0x69, 0xeb, 0x53, 0x5a, + 0x4b, 0x7f, 0x1b, 0x47, 0xfe, 0x8b, 0xae, 0xf0, 0x8c, 0xe0, 0xf0, 0xde, 0x68, 0xd4, 0x68, 0x4f, + 0x45, 0xf2, 0x2d, 0xce, 0xb4, 0xa4, 0xd9, 0x70, 0x32, 0xf8, 0x52, 0x38, 0x10, 0xe6, 0x9d, 0x51, + 0xaf, 0xd1, 0x9e, 0x6a, 0x1b, 0xfa, 0x86, 0xe9, 0x71, 0x6b, 0x82, 0xb2, 0xad, 0x9a, 0xf9, 0x37, + 0xed, 0x14, 0xf2, 0x15, 0x4e, 0xeb, 0x17, 0xd9, 0xd9, 0x52, 0xc8, 0xea, 0x76, 0x2d, 0xb9, 0x92, + 0xf5, 0x62, 0x15, 0x6c, 0x63, 0x90, 0xbb, 0x38, 0x72, 0x34, 0x91, 0x3e, 0xaa, 0x2a, 0x3c, 0x75, + 0x0f, 0x16, 0x40, 0x9e, 0x5e, 0xa4, 0x72, 0x0c, 0x8d, 0xa6, 0xbf, 0x7d, 0x4b, 0xd1, 0x07, 0xdd, + 0xf5, 0xac, 0x68, 0xa9, 0x67, 0x4b, 0xb2, 0x87, 0xa3, 0xca, 0x3b, 0x57, 0x1b, 0x08, 0x31, 0xc0, + 0x3b, 0x20, 0xc0, 0xa8, 0x52, 0x09, 0x4b, 0x95, 0x8e, 0x50, 0x7b, 0xd8, 0xf0, 0x40, 0x70, 0x4d, + 0x2c, 0x55, 0x0a, 0xa2, 0x65, 0x74, 0x11, 0x76, 0x41, 0xb4, 0x2c, 0x5d, 0xb4, 0xf8, 0x2e, 0x5a, + 0x46, 0x17, 0x11, 0x0f, 0x04, 0xdf, 0x85, 0xb1, 0x26, 0x07, 0x18, 0xdf, 0x1b, 0xfe, 0xd4, 0xeb, + 0xaa, 0x6d, 0x44, 0x81, 0x61, 0xa4, 0x33, 0x96, 0x65, 0x2a, 0x84, 0xd3, 0x91, 0xcf, 0x70, 0xac, + 0xd5, 0x5f, 0x62, 0x30, 0xc3, 0xbc, 0x07, 0xb7, 0xd2, 0xb7, 0x70, 0x78, 0xa5, 0xd1, 0x8e, 0x7a, + 0x4b, 0x31, 0xaf, 0x76, 0xb8, 0x7b, 0xe2, 0x74, 0xcb, 0x76, 0x54, 0x4c, 0xdc, 0xb3, 0x1d, 0x8e, + 0xc3, 0x2b, 0xc9, 0x1d, 0x1c, 0xae, 0x09, 0x82, 0x52, 0x99, 0x4d, 0x30, 0xc8, 0x35, 0x10, 0xa2, + 0xd5, 0xa8, 0x00, 0x5d, 0xc1, 0xde, 0x0e, 0xdb, 0xfa, 0x8a, 0x3c, 0xe9, 0xf6, 0x76, 0xf4, 0x2a, + 0xfd, 0xed, 0xe8, 0x6b, 0xfe, 0x04, 0xd6, 0xce, 0xa4, 0x9e, 0xa8, 0x90, 0x52, 0x2b, 0x9c, 0x40, + 0xbd, 0xd8, 0x72, 0x02, 0xf5, 0xcb, 0xa4, 0x85, 0x53, 0xfa, 0xb5, 0xc3, 0xc9, 0x5c, 0x99, 0xc1, + 0xd9, 0x34, 0xc3, 0x5e, 0x77, 0xc5, 0x6a, 0xb5, 0x2a, 0xd5, 0x4a, 0x20, 0x0f, 0x70, 0x52, 0xbf, + 0xd4, 0x10, 0xd9, 0x4d, 0x67, 0x80, 0xdf, 0x55, 0x2b, 0x53, 0x2d, 0x55, 0x91, 0x16, 0x7d, 0xee, + 0x00, 0xbf, 0x09, 0x4f, 0x2b, 0xaf, 0x69, 0x89, 0xf8, 0x29, 0xbb, 0x8f, 0xdf, 0x00, 0x27, 0x93, + 0x17, 0xc4, 0x6f, 0xf9, 0x9d, 0x30, 0x8d, 0x23, 0x5e, 0x1c, 0x02, 0xc4, 0x21, 0xbb, 0x78, 0xb9, + 0xc9, 0x78, 0x71, 0x00, 0x10, 0x07, 0x78, 0xf1, 0xc7, 0x38, 0x69, 0x9e, 0x43, 0xbc, 0x3a, 0x01, + 0xa8, 0x13, 0x80, 0x1a, 0xf6, 0x0e, 0x02, 0xea, 0xa0, 0x45, 0xdd, 0x72, 0xf4, 0xce, 0x00, 0xea, + 0x0c, 0xa0, 0x86, 0xbd, 0x09, 0xa0, 0x26, 0xbc, 0xfa, 0x13, 0x9c, 0xb2, 0x8c, 0x1c, 0x5e, 0x1e, + 0x06, 0xe4, 0x61, 0xcb, 0x6f, 0xb3, 0x75, 0xd4, 0xf0, 0xfa, 0x14, 0xa0, 0x4f, 0x41, 0xf6, 0x70, + 0xf7, 0x1b, 0x80, 0x7c, 0x03, 0xb4, 0x87, 0xf5, 0x69, 0x40, 0x9f, 0xe6, 0xf5, 0xbb, 0x38, 0xce, + 0x4f, 0x15, 0x5e, 0x1b, 0x01, 0xb4, 0x11, 0xeb, 0x73, 0x37, 0x8d, 0x14, 0xaf, 0x9d, 0x1e, 0x75, + 0x38, 0x2e, 0xa6, 0x31, 0xb2, 0x56, 0xb2, 0xf9, 0x06, 0x5f, 0x85, 0x86, 0x06, 0xc0, 0x28, 0xf1, + 0x8c, 0x64, 0xf5, 0xaa, 0x69, 0x58, 0x30, 0xdd, 0x7c, 0xcc, 0x93, 0x4f, 0xf0, 0x15, 0x60, 0x74, + 0x00, 0xe0, 0x2d, 0x1e, 0x1c, 0xab, 0xe6, 0x4c, 0x60, 0xd3, 0xff, 0x0a, 0x7c, 0xb4, 0xfa, 0xfb, + 0x0a, 0x4e, 0x6a, 0x23, 0xea, 0x8b, 0x59, 0xb7, 0x37, 0xeb, 0x75, 0xc9, 0xf7, 0xce, 0x09, 0xab, + 0x0a, 0x8d, 0x36, 0x4d, 0xb7, 0x46, 0xd0, 0x3a, 0x71, 0x0c, 0x5a, 0xdb, 0xab, 0x18, 0x78, 0xe5, + 0xad, 0x43, 0x5b, 0xde, 0xba, 0xee, 0x86, 0x75, 0x8a, 0x5d, 0x87, 0xb6, 0xd8, 0xe5, 0x85, 0x01, + 0xd3, 0x57, 0xdd, 0x9e, 0xbe, 0x4a, 0x6e, 0x1c, 0xe7, 0x10, 0x56, 0xb7, 0x87, 0x30, 0x4f, 0x12, + 0x9c, 0xc5, 0xea, 0xf6, 0x2c, 0xe6, 0x4a, 0x72, 0x8e, 0x64, 0x75, 0x7b, 0x24, 0xf3, 0x24, 0xc1, + 0xc9, 0xec, 0x3e, 0x90, 0xcc, 0x6e, 0xb8, 0xa1, 0xdc, 0x02, 0xda, 0x31, 0x14, 0xd0, 0x6e, 0xba, + 0x36, 0xe6, 0x9a, 0xd3, 0xee, 0x03, 0x39, 0xcd, 0xbb, 0x39, 0x87, 0xb8, 0x76, 0x0c, 0xc5, 0xb5, + 0x15, 0x9a, 0x73, 0x4a, 0x6d, 0x35, 0x6b, 0x6a, 0x2b, 0xba, 0xb1, 0xe0, 0xf0, 0x56, 0xb7, 0x87, + 0xb7, 0x92, 0xf7, 0x59, 0x84, 0x32, 0xdc, 0x89, 0x63, 0x86, 0x5b, 0xe9, 0x70, 0x7b, 0x45, 0xb9, + 0xef, 0x9c, 0xa2, 0xdc, 0xd6, 0x2a, 0x74, 0xf7, 0x44, 0xf7, 0xb5, 0x43, 0xa2, 0xab, 0xac, 0x82, + 0xbe, 0x0c, 0x76, 0x97, 0xc1, 0xee, 0x32, 0xd8, 0x5d, 0x06, 0xbb, 0xff, 0x47, 0xb0, 0xdb, 0x0d, + 0xfe, 0xf2, 0x6b, 0x1e, 0x95, 0xae, 0xe1, 0xb0, 0x66, 0x4d, 0x36, 0xb0, 0xbf, 0xb1, 0x97, 0xf6, + 0xb1, 0xcf, 0x5a, 0x1a, 0xb1, 0xcf, 0xfd, 0xb4, 0xbf, 0xf6, 0xf9, 0xf9, 0x82, 0xfa, 0x9e, 0x2e, + 0xa8, 0xef, 0xd9, 0x82, 0xfa, 0x5e, 0x2c, 0x28, 0x7a, 0xb9, 0xa0, 0xe8, 0xd5, 0x82, 0xa2, 0xd7, + 0x0b, 0x8a, 0x9e, 0xc8, 0x14, 0xfd, 0x26, 0x53, 0xf4, 0xbb, 0x4c, 0xd1, 0x1f, 0x32, 0x45, 0x7f, + 0xca, 0x14, 0x9d, 0xcb, 0x14, 0x3d, 0x95, 0x29, 0x7a, 0x21, 0x53, 0xf4, 0x52, 0xa6, 0xbe, 0x57, + 0x32, 0x45, 0xaf, 0x65, 0xea, 0x7b, 0xf2, 0x0f, 0xf5, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xfa, + 0x87, 0xd5, 0x9e, 0xf2, 0x16, 0x00, 0x00, +} + func (this *FloatingPoint) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Mapsproto2Description() } @@ -324,222 +403,224 @@ func (this *AllMapsOrdered) Description() (desc *github_com_gogo_protobuf_protoc func Mapsproto2Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4797 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7b, 0x5b, 0x6c, 0x23, 0xd7, - 0x79, 0xbf, 0x86, 0x17, 0x89, 0xfc, 0x48, 0x51, 0xa3, 0x91, 0xbc, 0xa6, 0x95, 0x58, 0xbb, 0x2b, - 0xdf, 0xe4, 0x5d, 0x5b, 0xb2, 0xe5, 0xdd, 0xf5, 0x9a, 0x1b, 0xdb, 0x7f, 0x4a, 0xe2, 0x6a, 0x65, - 0xeb, 0x96, 0xa1, 0xe4, 0x5b, 0x60, 0xcc, 0x7f, 0x34, 0x3c, 0xa2, 0xc6, 0x4b, 0xce, 0xd0, 0x33, - 0xc3, 0x5d, 0xcb, 0x28, 0x8a, 0x2d, 0xdc, 0x0b, 0x82, 0xa2, 0xf7, 0x02, 0x75, 0x5c, 0xc7, 0xad, - 0x53, 0x34, 0x4e, 0xd3, 0x5b, 0xd2, 0xb4, 0x69, 0x92, 0xbe, 0xe4, 0x25, 0xad, 0x81, 0x02, 0x45, - 0xf2, 0x16, 0x04, 0x81, 0xe1, 0x55, 0x0c, 0xd4, 0x6d, 0xdd, 0xc6, 0x4d, 0xfd, 0x60, 0xc0, 0x2f, - 0xc5, 0xb9, 0x0d, 0xcf, 0x0c, 0x87, 0x1c, 0xca, 0x80, 0x9d, 0x3e, 0xf8, 0x69, 0x35, 0xe7, 0x7c, - 0xbf, 0xdf, 0xf9, 0xe6, 0x3b, 0xdf, 0xf9, 0xce, 0xef, 0x9c, 0xe1, 0xc2, 0x4f, 0x1f, 0x80, 0x13, - 0x75, 0xdb, 0xae, 0x37, 0xd0, 0x7c, 0xcb, 0xb1, 0x3d, 0x7b, 0xb7, 0xbd, 0x37, 0x5f, 0x43, 0xae, - 0xe1, 0x98, 0x2d, 0xcf, 0x76, 0xe6, 0x48, 0x9b, 0x32, 0x46, 0x2d, 0xe6, 0xb8, 0xc5, 0xcc, 0x3a, - 0x8c, 0x5f, 0x34, 0x1b, 0x68, 0xd9, 0x37, 0xac, 0x22, 0x4f, 0x39, 0x0f, 0xa9, 0x3d, 0xb3, 0x81, - 0x8a, 0xd2, 0x89, 0xe4, 0x6c, 0x6e, 0xe1, 0xd6, 0xb9, 0x10, 0x68, 0x2e, 0x88, 0xd8, 0xc2, 0xcd, - 0x2a, 0x41, 0xcc, 0xbc, 0x95, 0x82, 0x89, 0x88, 0x5e, 0x45, 0x81, 0x94, 0xa5, 0x37, 0x31, 0xa3, - 0x34, 0x9b, 0x55, 0xc9, 0xdf, 0x4a, 0x11, 0x46, 0x5a, 0xba, 0x71, 0x59, 0xaf, 0xa3, 0x62, 0x82, - 0x34, 0xf3, 0x47, 0x65, 0x1a, 0xa0, 0x86, 0x5a, 0xc8, 0xaa, 0x21, 0xcb, 0x38, 0x28, 0x26, 0x4f, - 0x24, 0x67, 0xb3, 0xaa, 0xd0, 0xa2, 0x9c, 0x86, 0xf1, 0x56, 0x7b, 0xb7, 0x61, 0x1a, 0x9a, 0x60, - 0x06, 0x27, 0x92, 0xb3, 0x69, 0x55, 0xa6, 0x1d, 0xcb, 0x1d, 0xe3, 0x3b, 0x60, 0xec, 0x2a, 0xd2, - 0x2f, 0x8b, 0xa6, 0x39, 0x62, 0x5a, 0xc0, 0xcd, 0x82, 0xe1, 0x12, 0xe4, 0x9b, 0xc8, 0x75, 0xf5, - 0x3a, 0xd2, 0xbc, 0x83, 0x16, 0x2a, 0xa6, 0xc8, 0xdb, 0x9f, 0xe8, 0x7a, 0xfb, 0xf0, 0x9b, 0xe7, - 0x18, 0x6a, 0xfb, 0xa0, 0x85, 0x94, 0x32, 0x64, 0x91, 0xd5, 0x6e, 0x52, 0x86, 0x74, 0x8f, 0xf8, - 0x55, 0xac, 0x76, 0x33, 0xcc, 0x92, 0xc1, 0x30, 0x46, 0x31, 0xe2, 0x22, 0xe7, 0x8a, 0x69, 0xa0, - 0xe2, 0x30, 0x21, 0xb8, 0xa3, 0x8b, 0xa0, 0x4a, 0xfb, 0xc3, 0x1c, 0x1c, 0xa7, 0x2c, 0x41, 0x16, - 0x3d, 0xe7, 0x21, 0xcb, 0x35, 0x6d, 0xab, 0x38, 0x42, 0x48, 0x6e, 0x8b, 0x98, 0x45, 0xd4, 0xa8, - 0x85, 0x29, 0x3a, 0x38, 0xe5, 0x1c, 0x8c, 0xd8, 0x2d, 0xcf, 0xb4, 0x2d, 0xb7, 0x98, 0x39, 0x21, - 0xcd, 0xe6, 0x16, 0x3e, 0x1d, 0x99, 0x08, 0x9b, 0xd4, 0x46, 0xe5, 0xc6, 0xca, 0x2a, 0xc8, 0xae, - 0xdd, 0x76, 0x0c, 0xa4, 0x19, 0x76, 0x0d, 0x69, 0xa6, 0xb5, 0x67, 0x17, 0xb3, 0x84, 0xe0, 0x78, - 0xf7, 0x8b, 0x10, 0xc3, 0x25, 0xbb, 0x86, 0x56, 0xad, 0x3d, 0x5b, 0x2d, 0xb8, 0x81, 0x67, 0xe5, - 0x18, 0x0c, 0xbb, 0x07, 0x96, 0xa7, 0x3f, 0x57, 0xcc, 0x93, 0x0c, 0x61, 0x4f, 0x33, 0xdf, 0x1e, - 0x86, 0xb1, 0x41, 0x52, 0xec, 0x02, 0xa4, 0xf7, 0xf0, 0x5b, 0x16, 0x13, 0x47, 0x89, 0x01, 0xc5, - 0x04, 0x83, 0x38, 0xfc, 0x21, 0x83, 0x58, 0x86, 0x9c, 0x85, 0x5c, 0x0f, 0xd5, 0x68, 0x46, 0x24, - 0x07, 0xcc, 0x29, 0xa0, 0xa0, 0xee, 0x94, 0x4a, 0x7d, 0xa8, 0x94, 0x7a, 0x02, 0xc6, 0x7c, 0x97, - 0x34, 0x47, 0xb7, 0xea, 0x3c, 0x37, 0xe7, 0xe3, 0x3c, 0x99, 0xab, 0x70, 0x9c, 0x8a, 0x61, 0x6a, - 0x01, 0x05, 0x9e, 0x95, 0x65, 0x00, 0xdb, 0x42, 0xf6, 0x9e, 0x56, 0x43, 0x46, 0xa3, 0x98, 0xe9, - 0x11, 0xa5, 0x4d, 0x6c, 0xd2, 0x15, 0x25, 0x9b, 0xb6, 0x1a, 0x0d, 0xe5, 0x81, 0x4e, 0xaa, 0x8d, - 0xf4, 0xc8, 0x94, 0x75, 0xba, 0xc8, 0xba, 0xb2, 0x6d, 0x07, 0x0a, 0x0e, 0xc2, 0x79, 0x8f, 0x6a, - 0xec, 0xcd, 0xb2, 0xc4, 0x89, 0xb9, 0xd8, 0x37, 0x53, 0x19, 0x8c, 0xbe, 0xd8, 0xa8, 0x23, 0x3e, - 0x2a, 0xb7, 0x80, 0xdf, 0xa0, 0x91, 0xb4, 0x02, 0x52, 0x85, 0xf2, 0xbc, 0x71, 0x43, 0x6f, 0xa2, - 0xa9, 0xe7, 0xa1, 0x10, 0x0c, 0x8f, 0x32, 0x09, 0x69, 0xd7, 0xd3, 0x1d, 0x8f, 0x64, 0x61, 0x5a, - 0xa5, 0x0f, 0x8a, 0x0c, 0x49, 0x64, 0xd5, 0x48, 0x95, 0x4b, 0xab, 0xf8, 0x4f, 0xe5, 0xff, 0x75, - 0x5e, 0x38, 0x49, 0x5e, 0xf8, 0xf6, 0xee, 0x19, 0x0d, 0x30, 0x87, 0xdf, 0x7b, 0xea, 0x7e, 0x18, - 0x0d, 0xbc, 0xc0, 0xa0, 0x43, 0xcf, 0xfc, 0x02, 0xdc, 0x10, 0x49, 0xad, 0x3c, 0x01, 0x93, 0x6d, - 0xcb, 0xb4, 0x3c, 0xe4, 0xb4, 0x1c, 0x84, 0x33, 0x96, 0x0e, 0x55, 0xfc, 0xd7, 0x91, 0x1e, 0x39, - 0xb7, 0x23, 0x5a, 0x53, 0x16, 0x75, 0xa2, 0xdd, 0xdd, 0x78, 0x2a, 0x9b, 0x79, 0x7b, 0x44, 0xbe, - 0x76, 0xed, 0xda, 0xb5, 0xc4, 0xcc, 0x8b, 0xc3, 0x30, 0x19, 0xb5, 0x66, 0x22, 0x97, 0xef, 0x31, - 0x18, 0xb6, 0xda, 0xcd, 0x5d, 0xe4, 0x90, 0x20, 0xa5, 0x55, 0xf6, 0xa4, 0x94, 0x21, 0xdd, 0xd0, - 0x77, 0x51, 0xa3, 0x98, 0x3a, 0x21, 0xcd, 0x16, 0x16, 0x4e, 0x0f, 0xb4, 0x2a, 0xe7, 0xd6, 0x30, - 0x44, 0xa5, 0x48, 0xe5, 0x21, 0x48, 0xb1, 0x12, 0x8d, 0x19, 0x4e, 0x0d, 0xc6, 0x80, 0xd7, 0x92, - 0x4a, 0x70, 0xca, 0xa7, 0x20, 0x8b, 0xff, 0xa5, 0xb9, 0x31, 0x4c, 0x7c, 0xce, 0xe0, 0x06, 0x9c, - 0x17, 0xca, 0x14, 0x64, 0xc8, 0x32, 0xa9, 0x21, 0xbe, 0xb5, 0xf9, 0xcf, 0x38, 0xb1, 0x6a, 0x68, - 0x4f, 0x6f, 0x37, 0x3c, 0xed, 0x8a, 0xde, 0x68, 0x23, 0x92, 0xf0, 0x59, 0x35, 0xcf, 0x1a, 0x1f, - 0xc3, 0x6d, 0xca, 0x71, 0xc8, 0xd1, 0x55, 0x65, 0x5a, 0x35, 0xf4, 0x1c, 0xa9, 0x9e, 0x69, 0x95, - 0x2e, 0xb4, 0x55, 0xdc, 0x82, 0x87, 0x7f, 0xc6, 0xb5, 0x2d, 0x9e, 0x9a, 0x64, 0x08, 0xdc, 0x40, - 0x86, 0xbf, 0x3f, 0x5c, 0xb8, 0x6f, 0x8e, 0x7e, 0xbd, 0x70, 0x4e, 0xcd, 0x7c, 0x33, 0x01, 0x29, - 0x52, 0x2f, 0xc6, 0x20, 0xb7, 0xfd, 0xe4, 0x56, 0x45, 0x5b, 0xde, 0xdc, 0x59, 0x5c, 0xab, 0xc8, - 0x92, 0x52, 0x00, 0x20, 0x0d, 0x17, 0xd7, 0x36, 0xcb, 0xdb, 0x72, 0xc2, 0x7f, 0x5e, 0xdd, 0xd8, - 0x3e, 0x77, 0x46, 0x4e, 0xfa, 0x80, 0x1d, 0xda, 0x90, 0x12, 0x0d, 0xee, 0x5b, 0x90, 0xd3, 0x8a, - 0x0c, 0x79, 0x4a, 0xb0, 0xfa, 0x44, 0x65, 0xf9, 0xdc, 0x19, 0x79, 0x38, 0xd8, 0x72, 0xdf, 0x82, - 0x3c, 0xa2, 0x8c, 0x42, 0x96, 0xb4, 0x2c, 0x6e, 0x6e, 0xae, 0xc9, 0x19, 0x9f, 0xb3, 0xba, 0xad, - 0xae, 0x6e, 0xac, 0xc8, 0x59, 0x9f, 0x73, 0x45, 0xdd, 0xdc, 0xd9, 0x92, 0xc1, 0x67, 0x58, 0xaf, - 0x54, 0xab, 0xe5, 0x95, 0x8a, 0x9c, 0xf3, 0x2d, 0x16, 0x9f, 0xdc, 0xae, 0x54, 0xe5, 0x7c, 0xc0, - 0xad, 0xfb, 0x16, 0xe4, 0x51, 0x7f, 0x88, 0xca, 0xc6, 0xce, 0xba, 0x5c, 0x50, 0xc6, 0x61, 0x94, - 0x0e, 0xc1, 0x9d, 0x18, 0x0b, 0x35, 0x9d, 0x3b, 0x23, 0xcb, 0x1d, 0x47, 0x28, 0xcb, 0x78, 0xa0, - 0xe1, 0xdc, 0x19, 0x59, 0x99, 0x59, 0x82, 0x34, 0xc9, 0x2e, 0x45, 0x81, 0xc2, 0x5a, 0x79, 0xb1, - 0xb2, 0xa6, 0x6d, 0x6e, 0x6d, 0xaf, 0x6e, 0x6e, 0x94, 0xd7, 0x64, 0xa9, 0xd3, 0xa6, 0x56, 0x3e, - 0xbb, 0xb3, 0xaa, 0x56, 0x96, 0xe5, 0x84, 0xd8, 0xb6, 0x55, 0x29, 0x6f, 0x57, 0x96, 0xe5, 0xe4, - 0x8c, 0x01, 0x93, 0x51, 0x75, 0x32, 0x72, 0x65, 0x08, 0x53, 0x9c, 0xe8, 0x31, 0xc5, 0x84, 0xab, - 0x6b, 0x8a, 0x7f, 0x92, 0x80, 0x89, 0x88, 0xbd, 0x22, 0x72, 0x90, 0x87, 0x21, 0x4d, 0x53, 0x94, - 0xee, 0x9e, 0x77, 0x46, 0x6e, 0x3a, 0x24, 0x61, 0xbb, 0x76, 0x50, 0x82, 0x13, 0x15, 0x44, 0xb2, - 0x87, 0x82, 0xc0, 0x14, 0x5d, 0x35, 0xfd, 0xe9, 0xae, 0x9a, 0x4e, 0xb7, 0xbd, 0x73, 0x83, 0x6c, - 0x7b, 0xa4, 0xed, 0x68, 0xb5, 0x3d, 0x1d, 0x51, 0xdb, 0x2f, 0xc0, 0x78, 0x17, 0xd1, 0xc0, 0x35, - 0xf6, 0x05, 0x09, 0x8a, 0xbd, 0x82, 0x13, 0x53, 0xe9, 0x12, 0x81, 0x4a, 0x77, 0x21, 0x1c, 0xc1, - 0x93, 0xbd, 0x27, 0xa1, 0x6b, 0xae, 0x5f, 0x93, 0xe0, 0x58, 0xb4, 0x52, 0x8c, 0xf4, 0xe1, 0x21, - 0x18, 0x6e, 0x22, 0x6f, 0xdf, 0xe6, 0x6a, 0xe9, 0xf6, 0x88, 0x3d, 0x18, 0x77, 0x87, 0x27, 0x9b, - 0xa1, 0xc4, 0x4d, 0x3c, 0xd9, 0x4b, 0xee, 0x51, 0x6f, 0xba, 0x3c, 0xfd, 0x7c, 0x02, 0x6e, 0x88, - 0x24, 0x8f, 0x74, 0xf4, 0x66, 0x00, 0xd3, 0x6a, 0xb5, 0x3d, 0xaa, 0x88, 0x68, 0x81, 0xcd, 0x92, - 0x16, 0x52, 0xbc, 0x70, 0xf1, 0x6c, 0x7b, 0x7e, 0x7f, 0x92, 0xf4, 0x03, 0x6d, 0x22, 0x06, 0xe7, - 0x3b, 0x8e, 0xa6, 0x88, 0xa3, 0xd3, 0x3d, 0xde, 0xb4, 0x2b, 0x31, 0xef, 0x01, 0xd9, 0x68, 0x98, - 0xc8, 0xf2, 0x34, 0xd7, 0x73, 0x90, 0xde, 0x34, 0xad, 0x3a, 0xd9, 0x41, 0x32, 0xa5, 0xf4, 0x9e, - 0xde, 0x70, 0x91, 0x3a, 0x46, 0xbb, 0xab, 0xbc, 0x17, 0x23, 0x48, 0x02, 0x39, 0x02, 0x62, 0x38, - 0x80, 0xa0, 0xdd, 0x3e, 0x62, 0xe6, 0x1b, 0x19, 0xc8, 0x09, 0xba, 0x5a, 0x39, 0x09, 0xf9, 0x67, - 0xf4, 0x2b, 0xba, 0xc6, 0xcf, 0x4a, 0x34, 0x12, 0x39, 0xdc, 0xb6, 0xc5, 0xce, 0x4b, 0xf7, 0xc0, - 0x24, 0x31, 0xb1, 0xdb, 0x1e, 0x72, 0x34, 0xa3, 0xa1, 0xbb, 0x2e, 0x09, 0x5a, 0x86, 0x98, 0x2a, - 0xb8, 0x6f, 0x13, 0x77, 0x2d, 0xf1, 0x1e, 0xe5, 0x2c, 0x4c, 0x10, 0x44, 0xb3, 0xdd, 0xf0, 0xcc, - 0x56, 0x03, 0x69, 0xf8, 0xf4, 0xe6, 0x92, 0x9d, 0xc4, 0xf7, 0x6c, 0x1c, 0x5b, 0xac, 0x33, 0x03, - 0xec, 0x91, 0xab, 0x2c, 0xc3, 0xcd, 0x04, 0x56, 0x47, 0x16, 0x72, 0x74, 0x0f, 0x69, 0xe8, 0xd9, - 0xb6, 0xde, 0x70, 0x35, 0xdd, 0xaa, 0x69, 0xfb, 0xba, 0xbb, 0x5f, 0x9c, 0xc4, 0x04, 0x8b, 0x89, - 0xa2, 0xa4, 0xde, 0x84, 0x0d, 0x57, 0x98, 0x5d, 0x85, 0x98, 0x95, 0xad, 0xda, 0x25, 0xdd, 0xdd, - 0x57, 0x4a, 0x70, 0x8c, 0xb0, 0xb8, 0x9e, 0x63, 0x5a, 0x75, 0xcd, 0xd8, 0x47, 0xc6, 0x65, 0xad, - 0xed, 0xed, 0x9d, 0x2f, 0x7e, 0x4a, 0x1c, 0x9f, 0x78, 0x58, 0x25, 0x36, 0x4b, 0xd8, 0x64, 0xc7, - 0xdb, 0x3b, 0xaf, 0x54, 0x21, 0x8f, 0x27, 0xa3, 0x69, 0x3e, 0x8f, 0xb4, 0x3d, 0xdb, 0x21, 0x5b, - 0x63, 0x21, 0xa2, 0x34, 0x09, 0x11, 0x9c, 0xdb, 0x64, 0x80, 0x75, 0xbb, 0x86, 0x4a, 0xe9, 0xea, - 0x56, 0xa5, 0xb2, 0xac, 0xe6, 0x38, 0xcb, 0x45, 0xdb, 0xc1, 0x09, 0x55, 0xb7, 0xfd, 0x00, 0xe7, - 0x68, 0x42, 0xd5, 0x6d, 0x1e, 0xde, 0xb3, 0x30, 0x61, 0x18, 0xf4, 0x9d, 0x4d, 0x43, 0x63, 0x67, - 0x2c, 0xb7, 0x28, 0x07, 0x82, 0x65, 0x18, 0x2b, 0xd4, 0x80, 0xe5, 0xb8, 0xab, 0x3c, 0x00, 0x37, - 0x74, 0x82, 0x25, 0x02, 0xc7, 0xbb, 0xde, 0x32, 0x0c, 0x3d, 0x0b, 0x13, 0xad, 0x83, 0x6e, 0xa0, - 0x12, 0x18, 0xb1, 0x75, 0x10, 0x86, 0xdd, 0x0f, 0x93, 0xad, 0xfd, 0x56, 0x37, 0xee, 0x94, 0x88, - 0x53, 0x5a, 0xfb, 0xad, 0x30, 0xf0, 0x36, 0x72, 0xe0, 0x76, 0x90, 0xa1, 0x7b, 0xa8, 0x56, 0xbc, - 0x51, 0x34, 0x17, 0x3a, 0x94, 0x79, 0x90, 0x0d, 0x43, 0x43, 0x96, 0xbe, 0xdb, 0x40, 0x9a, 0xee, - 0x20, 0x4b, 0x77, 0x8b, 0xc7, 0x45, 0xe3, 0x82, 0x61, 0x54, 0x48, 0x6f, 0x99, 0x74, 0x2a, 0xa7, - 0x60, 0xdc, 0xde, 0x7d, 0xc6, 0xa0, 0x29, 0xa9, 0xb5, 0x1c, 0xb4, 0x67, 0x3e, 0x57, 0xbc, 0x95, - 0xc4, 0x77, 0x0c, 0x77, 0x90, 0x84, 0xdc, 0x22, 0xcd, 0xca, 0x9d, 0x20, 0x1b, 0xee, 0xbe, 0xee, - 0xb4, 0x48, 0x4d, 0x76, 0x5b, 0xba, 0x81, 0x8a, 0xb7, 0x51, 0x53, 0xda, 0xbe, 0xc1, 0x9b, 0xf1, - 0x92, 0x70, 0xaf, 0x9a, 0x7b, 0x1e, 0x67, 0xbc, 0x83, 0x2e, 0x09, 0xd2, 0xc6, 0xd8, 0x66, 0x41, - 0xc6, 0xa1, 0x08, 0x0c, 0x3c, 0x4b, 0xcc, 0x0a, 0xad, 0xfd, 0x96, 0x38, 0xee, 0x2d, 0x30, 0x8a, - 0x2d, 0x3b, 0x83, 0xde, 0x49, 0x05, 0x59, 0x6b, 0x5f, 0x18, 0xf1, 0x23, 0xd3, 0xc6, 0x33, 0x25, - 0xc8, 0x8b, 0xf9, 0xa9, 0x64, 0x81, 0x66, 0xa8, 0x2c, 0x61, 0xb1, 0xb2, 0xb4, 0xb9, 0x8c, 0x65, - 0xc6, 0x53, 0x15, 0x39, 0x81, 0xe5, 0xce, 0xda, 0xea, 0x76, 0x45, 0x53, 0x77, 0x36, 0xb6, 0x57, - 0xd7, 0x2b, 0x72, 0x52, 0xd4, 0xd5, 0xdf, 0x4b, 0x40, 0x21, 0x78, 0x44, 0x52, 0x3e, 0x03, 0x37, - 0xf2, 0xfb, 0x0c, 0x17, 0x79, 0xda, 0x55, 0xd3, 0x21, 0x4b, 0xa6, 0xa9, 0xd3, 0xed, 0xcb, 0x9f, - 0xb4, 0x49, 0x66, 0x55, 0x45, 0xde, 0xe3, 0xa6, 0x83, 0x17, 0x44, 0x53, 0xf7, 0x94, 0x35, 0x38, - 0x6e, 0xd9, 0x9a, 0xeb, 0xe9, 0x56, 0x4d, 0x77, 0x6a, 0x5a, 0xe7, 0x26, 0x49, 0xd3, 0x0d, 0x03, - 0xb9, 0xae, 0x4d, 0xb7, 0x2a, 0x9f, 0xe5, 0xd3, 0x96, 0x5d, 0x65, 0xc6, 0x9d, 0x1a, 0x5e, 0x66, - 0xa6, 0xa1, 0x04, 0x4b, 0xf6, 0x4a, 0xb0, 0x4f, 0x41, 0xb6, 0xa9, 0xb7, 0x34, 0x64, 0x79, 0xce, - 0x01, 0x11, 0xc6, 0x19, 0x35, 0xd3, 0xd4, 0x5b, 0x15, 0xfc, 0xfc, 0xf1, 0x9c, 0x4f, 0x7e, 0x9c, - 0x84, 0xbc, 0x28, 0x8e, 0xf1, 0x59, 0xc3, 0x20, 0xfb, 0x88, 0x44, 0x2a, 0xcd, 0x2d, 0x7d, 0xa5, - 0xf4, 0xdc, 0x12, 0xde, 0x60, 0x4a, 0xc3, 0x54, 0xb2, 0xaa, 0x14, 0x89, 0x37, 0x77, 0x5c, 0x5b, - 0x10, 0x95, 0x08, 0x19, 0x95, 0x3d, 0x29, 0x2b, 0x30, 0xfc, 0x8c, 0x4b, 0xb8, 0x87, 0x09, 0xf7, - 0xad, 0xfd, 0xb9, 0x1f, 0xa9, 0x12, 0xf2, 0xec, 0x23, 0x55, 0x6d, 0x63, 0x53, 0x5d, 0x2f, 0xaf, - 0xa9, 0x0c, 0xae, 0xdc, 0x04, 0xa9, 0x86, 0xfe, 0xfc, 0x41, 0x70, 0x2b, 0x22, 0x4d, 0x83, 0x06, - 0xfe, 0x26, 0x48, 0x5d, 0x45, 0xfa, 0xe5, 0xe0, 0x06, 0x40, 0x9a, 0x3e, 0xc2, 0xd4, 0x9f, 0x87, - 0x34, 0x89, 0x97, 0x02, 0xc0, 0x22, 0x26, 0x0f, 0x29, 0x19, 0x48, 0x2d, 0x6d, 0xaa, 0x38, 0xfd, - 0x65, 0xc8, 0xd3, 0x56, 0x6d, 0x6b, 0xb5, 0xb2, 0x54, 0x91, 0x13, 0x33, 0x67, 0x61, 0x98, 0x06, - 0x01, 0x2f, 0x0d, 0x3f, 0x0c, 0xf2, 0x10, 0x7b, 0x64, 0x1c, 0x12, 0xef, 0xdd, 0x59, 0x5f, 0xac, - 0xa8, 0x72, 0x42, 0x9c, 0x5e, 0x17, 0xf2, 0xa2, 0x2e, 0xfe, 0x78, 0x72, 0xea, 0x3b, 0x12, 0xe4, - 0x04, 0x9d, 0x8b, 0x05, 0x8a, 0xde, 0x68, 0xd8, 0x57, 0x35, 0xbd, 0x61, 0xea, 0x2e, 0x4b, 0x0a, - 0x20, 0x4d, 0x65, 0xdc, 0x32, 0xe8, 0xa4, 0x7d, 0x2c, 0xce, 0xbf, 0x22, 0x81, 0x1c, 0x96, 0x98, - 0x21, 0x07, 0xa5, 0x9f, 0xab, 0x83, 0x2f, 0x4b, 0x50, 0x08, 0xea, 0xca, 0x90, 0x7b, 0x27, 0x7f, - 0xae, 0xee, 0xbd, 0x99, 0x80, 0xd1, 0x80, 0x9a, 0x1c, 0xd4, 0xbb, 0x67, 0x61, 0xdc, 0xac, 0xa1, - 0x66, 0xcb, 0xf6, 0x90, 0x65, 0x1c, 0x68, 0x0d, 0x74, 0x05, 0x35, 0x8a, 0x33, 0xa4, 0x50, 0xcc, - 0xf7, 0xd7, 0xab, 0x73, 0xab, 0x1d, 0xdc, 0x1a, 0x86, 0x95, 0x26, 0x56, 0x97, 0x2b, 0xeb, 0x5b, - 0x9b, 0xdb, 0x95, 0x8d, 0xa5, 0x27, 0xb5, 0x9d, 0x8d, 0x47, 0x37, 0x36, 0x1f, 0xdf, 0x50, 0x65, - 0x33, 0x64, 0xf6, 0x11, 0x2e, 0xf5, 0x2d, 0x90, 0xc3, 0x4e, 0x29, 0x37, 0x42, 0x94, 0x5b, 0xf2, - 0x90, 0x32, 0x01, 0x63, 0x1b, 0x9b, 0x5a, 0x75, 0x75, 0xb9, 0xa2, 0x55, 0x2e, 0x5e, 0xac, 0x2c, - 0x6d, 0x57, 0xe9, 0x0d, 0x84, 0x6f, 0xbd, 0x1d, 0x5c, 0xd4, 0x2f, 0x25, 0x61, 0x22, 0xc2, 0x13, - 0xa5, 0xcc, 0xce, 0x0e, 0xf4, 0x38, 0x73, 0xf7, 0x20, 0xde, 0xcf, 0xe1, 0x2d, 0x7f, 0x4b, 0x77, - 0x3c, 0x76, 0xd4, 0xb8, 0x13, 0x70, 0x94, 0x2c, 0xcf, 0xdc, 0x33, 0x91, 0xc3, 0x2e, 0x6c, 0xe8, - 0x81, 0x62, 0xac, 0xd3, 0x4e, 0xef, 0x6c, 0xee, 0x02, 0xa5, 0x65, 0xbb, 0xa6, 0x67, 0x5e, 0x41, - 0x9a, 0x69, 0xf1, 0xdb, 0x1d, 0x7c, 0xc0, 0x48, 0xa9, 0x32, 0xef, 0x59, 0xb5, 0x3c, 0xdf, 0xda, - 0x42, 0x75, 0x3d, 0x64, 0x8d, 0x0b, 0x78, 0x52, 0x95, 0x79, 0x8f, 0x6f, 0x7d, 0x12, 0xf2, 0x35, - 0xbb, 0x8d, 0x55, 0x17, 0xb5, 0xc3, 0xfb, 0x85, 0xa4, 0xe6, 0x68, 0x9b, 0x6f, 0xc2, 0xf4, 0x74, - 0xe7, 0x5a, 0x29, 0xaf, 0xe6, 0x68, 0x1b, 0x35, 0xb9, 0x03, 0xc6, 0xf4, 0x7a, 0xdd, 0xc1, 0xe4, - 0x9c, 0x88, 0x9e, 0x10, 0x0a, 0x7e, 0x33, 0x31, 0x9c, 0x7a, 0x04, 0x32, 0x3c, 0x0e, 0x78, 0x4b, - 0xc6, 0x91, 0xd0, 0x5a, 0xf4, 0xd8, 0x9b, 0x98, 0xcd, 0xaa, 0x19, 0x8b, 0x77, 0x9e, 0x84, 0xbc, - 0xe9, 0x6a, 0x9d, 0x5b, 0xf2, 0xc4, 0x89, 0xc4, 0x6c, 0x46, 0xcd, 0x99, 0xae, 0x7f, 0xc3, 0x38, - 0xf3, 0x5a, 0x02, 0x0a, 0xc1, 0x5b, 0x7e, 0x65, 0x19, 0x32, 0x0d, 0xdb, 0xd0, 0x49, 0x6a, 0xd1, - 0x4f, 0x4c, 0xb3, 0x31, 0x1f, 0x06, 0xe6, 0xd6, 0x98, 0xbd, 0xea, 0x23, 0xa7, 0xfe, 0x45, 0x82, - 0x0c, 0x6f, 0x56, 0x8e, 0x41, 0xaa, 0xa5, 0x7b, 0xfb, 0x84, 0x2e, 0xbd, 0x98, 0x90, 0x25, 0x95, - 0x3c, 0xe3, 0x76, 0xb7, 0xa5, 0x5b, 0x24, 0x05, 0x58, 0x3b, 0x7e, 0xc6, 0xf3, 0xda, 0x40, 0x7a, - 0x8d, 0x1c, 0x3f, 0xec, 0x66, 0x13, 0x59, 0x9e, 0xcb, 0xe7, 0x95, 0xb5, 0x2f, 0xb1, 0x66, 0xe5, - 0x34, 0x8c, 0x7b, 0x8e, 0x6e, 0x36, 0x02, 0xb6, 0x29, 0x62, 0x2b, 0xf3, 0x0e, 0xdf, 0xb8, 0x04, - 0x37, 0x71, 0xde, 0x1a, 0xf2, 0x74, 0x63, 0x1f, 0xd5, 0x3a, 0xa0, 0x61, 0x72, 0xcd, 0x70, 0x23, - 0x33, 0x58, 0x66, 0xfd, 0x1c, 0x3b, 0xf3, 0x03, 0x09, 0xc6, 0xf9, 0x81, 0xa9, 0xe6, 0x07, 0x6b, - 0x1d, 0x40, 0xb7, 0x2c, 0xdb, 0x13, 0xc3, 0xd5, 0x9d, 0xca, 0x5d, 0xb8, 0xb9, 0xb2, 0x0f, 0x52, - 0x05, 0x82, 0xa9, 0x26, 0x40, 0xa7, 0xa7, 0x67, 0xd8, 0x8e, 0x43, 0x8e, 0x7d, 0xc2, 0x21, 0xdf, - 0x01, 0xe9, 0x11, 0x1b, 0x68, 0x13, 0x3e, 0x59, 0x29, 0x93, 0x90, 0xde, 0x45, 0x75, 0xd3, 0x62, - 0x17, 0xb3, 0xf4, 0x81, 0x5f, 0x84, 0xa4, 0xfc, 0x8b, 0x90, 0xc5, 0xcf, 0xc1, 0x84, 0x61, 0x37, - 0xc3, 0xee, 0x2e, 0xca, 0xa1, 0x63, 0xbe, 0x7b, 0x49, 0x7a, 0x0a, 0x3a, 0x12, 0xf3, 0x7d, 0x49, - 0xfa, 0x52, 0x22, 0xb9, 0xb2, 0xb5, 0xf8, 0xd5, 0xc4, 0xd4, 0x0a, 0x85, 0x6e, 0xf1, 0x37, 0x55, - 0xd1, 0x5e, 0x03, 0x19, 0xd8, 0x7b, 0xf8, 0xf2, 0x69, 0xb8, 0xbb, 0x6e, 0x7a, 0xfb, 0xed, 0xdd, - 0x39, 0xc3, 0x6e, 0xce, 0xd7, 0xed, 0xba, 0xdd, 0xf9, 0xf4, 0x89, 0x9f, 0xc8, 0x03, 0xf9, 0x8b, - 0x7d, 0xfe, 0xcc, 0xfa, 0xad, 0x53, 0xb1, 0xdf, 0x4a, 0x4b, 0x1b, 0x30, 0xc1, 0x8c, 0x35, 0xf2, - 0xfd, 0x85, 0x9e, 0x22, 0x94, 0xbe, 0x77, 0x58, 0xc5, 0xaf, 0xbf, 0x45, 0xb6, 0x6b, 0x75, 0x9c, - 0x41, 0x71, 0x1f, 0x3d, 0x68, 0x94, 0x54, 0xb8, 0x21, 0xc0, 0x47, 0x97, 0x26, 0x72, 0x62, 0x18, - 0xbf, 0xc7, 0x18, 0x27, 0x04, 0xc6, 0x2a, 0x83, 0x96, 0x96, 0x60, 0xf4, 0x28, 0x5c, 0xff, 0xc8, - 0xb8, 0xf2, 0x48, 0x24, 0x59, 0x81, 0x31, 0x42, 0x62, 0xb4, 0x5d, 0xcf, 0x6e, 0x92, 0xba, 0xd7, - 0x9f, 0xe6, 0x9f, 0xde, 0xa2, 0x6b, 0xa5, 0x80, 0x61, 0x4b, 0x3e, 0xaa, 0x54, 0x02, 0xf2, 0xc9, - 0xa9, 0x86, 0x8c, 0x46, 0x0c, 0xc3, 0xeb, 0xcc, 0x11, 0xdf, 0xbe, 0xf4, 0x18, 0x4c, 0xe2, 0xbf, - 0x49, 0x59, 0x12, 0x3d, 0x89, 0xbf, 0xf0, 0x2a, 0xfe, 0xe0, 0x05, 0xba, 0x1c, 0x27, 0x7c, 0x02, - 0xc1, 0x27, 0x61, 0x16, 0xeb, 0xc8, 0xf3, 0x90, 0xe3, 0x6a, 0x7a, 0x23, 0xca, 0x3d, 0xe1, 0xc6, - 0xa0, 0xf8, 0x85, 0x77, 0x82, 0xb3, 0xb8, 0x42, 0x91, 0xe5, 0x46, 0xa3, 0xb4, 0x03, 0x37, 0x46, - 0x64, 0xc5, 0x00, 0x9c, 0x2f, 0x31, 0xce, 0xc9, 0xae, 0xcc, 0xc0, 0xb4, 0x5b, 0xc0, 0xdb, 0xfd, - 0xb9, 0x1c, 0x80, 0xf3, 0x0f, 0x19, 0xa7, 0xc2, 0xb0, 0x7c, 0x4a, 0x31, 0xe3, 0x23, 0x30, 0x7e, - 0x05, 0x39, 0xbb, 0xb6, 0xcb, 0x6e, 0x69, 0x06, 0xa0, 0x7b, 0x99, 0xd1, 0x8d, 0x31, 0x20, 0xb9, - 0xb6, 0xc1, 0x5c, 0x0f, 0x40, 0x66, 0x4f, 0x37, 0xd0, 0x00, 0x14, 0x5f, 0x64, 0x14, 0x23, 0xd8, - 0x1e, 0x43, 0xcb, 0x90, 0xaf, 0xdb, 0x6c, 0x67, 0x8a, 0x87, 0xbf, 0xc2, 0xe0, 0x39, 0x8e, 0x61, - 0x14, 0x2d, 0xbb, 0xd5, 0x6e, 0xe0, 0x6d, 0x2b, 0x9e, 0xe2, 0x8f, 0x38, 0x05, 0xc7, 0x30, 0x8a, - 0x23, 0x84, 0xf5, 0x8f, 0x39, 0x85, 0x2b, 0xc4, 0xf3, 0x61, 0xc8, 0xd9, 0x56, 0xe3, 0xc0, 0xb6, - 0x06, 0x71, 0xe2, 0x55, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0x2e, 0x40, 0x76, 0xd0, 0x89, 0xf8, 0xd3, - 0x77, 0xf8, 0xf2, 0xe0, 0x33, 0xb0, 0x02, 0x63, 0xbc, 0x40, 0x99, 0xb6, 0x35, 0x00, 0xc5, 0x97, - 0x19, 0x45, 0x41, 0x80, 0xb1, 0xd7, 0xf0, 0x90, 0xeb, 0xd5, 0xd1, 0x20, 0x24, 0xaf, 0xf1, 0xd7, - 0x60, 0x10, 0x16, 0xca, 0x5d, 0x64, 0x19, 0xfb, 0x83, 0x31, 0x7c, 0x85, 0x87, 0x92, 0x63, 0x30, - 0xc5, 0x12, 0x8c, 0x36, 0x75, 0xc7, 0xdd, 0xd7, 0x1b, 0x03, 0x4d, 0xc7, 0x9f, 0x31, 0x8e, 0xbc, - 0x0f, 0x62, 0x11, 0x69, 0x5b, 0x47, 0xa1, 0xf9, 0x2a, 0x8f, 0x88, 0x00, 0x63, 0x4b, 0xcf, 0xf5, - 0xc8, 0x95, 0xd6, 0x51, 0xd8, 0xfe, 0x9c, 0x2f, 0x3d, 0x8a, 0x5d, 0x17, 0x19, 0x2f, 0x40, 0xd6, - 0x35, 0x9f, 0x1f, 0x88, 0xe6, 0x2f, 0xf8, 0x4c, 0x13, 0x00, 0x06, 0x3f, 0x09, 0x37, 0x45, 0x6e, - 0x13, 0x03, 0x90, 0xfd, 0x25, 0x23, 0x3b, 0x16, 0xb1, 0x55, 0xb0, 0x92, 0x70, 0x54, 0xca, 0xbf, - 0xe2, 0x25, 0x01, 0x85, 0xb8, 0xb6, 0xf0, 0x59, 0xc1, 0xd5, 0xf7, 0x8e, 0x16, 0xb5, 0xbf, 0xe6, - 0x51, 0xa3, 0xd8, 0x40, 0xd4, 0xb6, 0xe1, 0x18, 0x63, 0x3c, 0xda, 0xbc, 0x7e, 0x8d, 0x17, 0x56, - 0x8a, 0xde, 0x09, 0xce, 0xee, 0xe7, 0x60, 0xca, 0x0f, 0x27, 0x17, 0xa5, 0xae, 0xd6, 0xd4, 0x5b, - 0x03, 0x30, 0x7f, 0x9d, 0x31, 0xf3, 0x8a, 0xef, 0xab, 0x5a, 0x77, 0x5d, 0x6f, 0x61, 0xf2, 0x27, - 0xa0, 0xc8, 0xc9, 0xdb, 0x96, 0x83, 0x0c, 0xbb, 0x6e, 0x99, 0xcf, 0xa3, 0xda, 0x00, 0xd4, 0x7f, - 0x13, 0x9a, 0xaa, 0x1d, 0x01, 0x8e, 0x99, 0x57, 0x41, 0xf6, 0xb5, 0x8a, 0x66, 0x36, 0x5b, 0xb6, - 0xe3, 0xc5, 0x30, 0x7e, 0x83, 0xcf, 0x94, 0x8f, 0x5b, 0x25, 0xb0, 0x52, 0x05, 0x0a, 0xe4, 0x71, + // 4830 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x5b, 0x6c, 0x23, 0xd7, + 0x79, 0xd6, 0xf0, 0x22, 0x91, 0x3f, 0x29, 0x6a, 0x34, 0x92, 0xd7, 0xb4, 0x12, 0x6b, 0x77, 0xe5, + 0x9b, 0xbc, 0x6b, 0x4b, 0xb6, 0xbc, 0xbb, 0x5e, 0x73, 0x63, 0xbb, 0x94, 0xc4, 0xd5, 0xca, 0xd6, + 0x2d, 0x43, 0xc9, 0xb7, 0xc0, 0x98, 0x8e, 0x86, 0x47, 0xd4, 0x78, 0xc9, 0x19, 0x7a, 0x66, 0xb8, + 0x6b, 0x19, 0x45, 0xb1, 0x85, 0x7b, 0x41, 0xd0, 0xfb, 0x05, 0xa8, 0xe3, 0x3a, 0x6e, 0x9d, 0xa2, + 0x71, 0x9a, 0xde, 0x92, 0x5e, 0xd2, 0x24, 0x7d, 0xc9, 0x4b, 0x5a, 0x03, 0x05, 0x8a, 0xe4, 0x2d, + 0x08, 0x02, 0xc3, 0xab, 0x18, 0xa8, 0xdb, 0xba, 0xad, 0x9b, 0xfa, 0xc1, 0x80, 0x5f, 0x8a, 0x73, + 0x1b, 0x9e, 0x19, 0x0e, 0x39, 0x94, 0x01, 0x3b, 0x7d, 0xf0, 0xd3, 0x6a, 0xce, 0xf9, 0xbf, 0xef, + 0xfc, 0xf3, 0x9f, 0xff, 0xfc, 0xe7, 0x3b, 0x67, 0xb8, 0xf0, 0x7a, 0x09, 0x4e, 0xd4, 0x6d, 0xbb, + 0xde, 0x40, 0xf3, 0x2d, 0xc7, 0xf6, 0xec, 0xdd, 0xf6, 0xde, 0x7c, 0x0d, 0xb9, 0x86, 0x63, 0xb6, + 0x3c, 0xdb, 0x99, 0x23, 0x6d, 0xca, 0x18, 0xb5, 0x98, 0xe3, 0x16, 0x33, 0xeb, 0x30, 0x7e, 0xd1, + 0x6c, 0xa0, 0x65, 0xdf, 0xb0, 0x8a, 0x3c, 0xe5, 0x3c, 0xa4, 0xf6, 0xcc, 0x06, 0x2a, 0x4a, 0x27, + 0x92, 0xb3, 0xb9, 0x85, 0x5b, 0xe7, 0x42, 0xa0, 0xb9, 0x20, 0x62, 0x0b, 0x37, 0xab, 0x04, 0x31, + 0xf3, 0x56, 0x0a, 0x26, 0x22, 0x7a, 0x15, 0x05, 0x52, 0x96, 0xde, 0xc4, 0x8c, 0xd2, 0x6c, 0x56, + 0x25, 0x7f, 0x2b, 0x45, 0x18, 0x69, 0xe9, 0xc6, 0x65, 0xbd, 0x8e, 0x8a, 0x09, 0xd2, 0xcc, 0x1f, + 0x95, 0x69, 0x80, 0x1a, 0x6a, 0x21, 0xab, 0x86, 0x2c, 0xe3, 0xa0, 0x98, 0x3c, 0x91, 0x9c, 0xcd, + 0xaa, 0x42, 0x8b, 0x72, 0x1a, 0xc6, 0x5b, 0xed, 0xdd, 0x86, 0x69, 0x68, 0x82, 0x19, 0x9c, 0x48, + 0xce, 0xa6, 0x55, 0x99, 0x76, 0x2c, 0x77, 0x8c, 0xef, 0x80, 0xb1, 0xab, 0x48, 0xbf, 0x2c, 0x9a, + 0xe6, 0x88, 0x69, 0x01, 0x37, 0x0b, 0x86, 0x4b, 0x90, 0x6f, 0x22, 0xd7, 0xd5, 0xeb, 0x48, 0xf3, + 0x0e, 0x5a, 0xa8, 0x98, 0x22, 0x6f, 0x7f, 0xa2, 0xeb, 0xed, 0xc3, 0x6f, 0x9e, 0x63, 0xa8, 0xed, + 0x83, 0x16, 0x52, 0xca, 0x90, 0x45, 0x56, 0xbb, 0x49, 0x19, 0xd2, 0x3d, 0xe2, 0x57, 0xb1, 0xda, + 0xcd, 0x30, 0x4b, 0x06, 0xc3, 0x18, 0xc5, 0x88, 0x8b, 0x9c, 0x2b, 0xa6, 0x81, 0x8a, 0xc3, 0x84, + 0xe0, 0x8e, 0x2e, 0x82, 0x2a, 0xed, 0x0f, 0x73, 0x70, 0x9c, 0xb2, 0x04, 0x59, 0xf4, 0x9c, 0x87, + 0x2c, 0xd7, 0xb4, 0xad, 0xe2, 0x08, 0x21, 0xb9, 0x2d, 0x62, 0x16, 0x51, 0xa3, 0x16, 0xa6, 0xe8, + 0xe0, 0x94, 0x73, 0x30, 0x62, 0xb7, 0x3c, 0xd3, 0xb6, 0xdc, 0x62, 0xe6, 0x84, 0x34, 0x9b, 0x5b, + 0xf8, 0x74, 0x64, 0x22, 0x6c, 0x52, 0x1b, 0x95, 0x1b, 0x2b, 0xab, 0x20, 0xbb, 0x76, 0xdb, 0x31, + 0x90, 0x66, 0xd8, 0x35, 0xa4, 0x99, 0xd6, 0x9e, 0x5d, 0xcc, 0x12, 0x82, 0xe3, 0xdd, 0x2f, 0x42, + 0x0c, 0x97, 0xec, 0x1a, 0x5a, 0xb5, 0xf6, 0x6c, 0xb5, 0xe0, 0x06, 0x9e, 0x95, 0x63, 0x30, 0xec, + 0x1e, 0x58, 0x9e, 0xfe, 0x5c, 0x31, 0x4f, 0x32, 0x84, 0x3d, 0xcd, 0x7c, 0x6b, 0x18, 0xc6, 0x06, + 0x49, 0xb1, 0x0b, 0x90, 0xde, 0xc3, 0x6f, 0x59, 0x4c, 0x1c, 0x25, 0x06, 0x14, 0x13, 0x0c, 0xe2, + 0xf0, 0x87, 0x0c, 0x62, 0x19, 0x72, 0x16, 0x72, 0x3d, 0x54, 0xa3, 0x19, 0x91, 0x1c, 0x30, 0xa7, + 0x80, 0x82, 0xba, 0x53, 0x2a, 0xf5, 0xa1, 0x52, 0xea, 0x09, 0x18, 0xf3, 0x5d, 0xd2, 0x1c, 0xdd, + 0xaa, 0xf3, 0xdc, 0x9c, 0x8f, 0xf3, 0x64, 0xae, 0xc2, 0x71, 0x2a, 0x86, 0xa9, 0x05, 0x14, 0x78, + 0x56, 0x96, 0x01, 0x6c, 0x0b, 0xd9, 0x7b, 0x5a, 0x0d, 0x19, 0x8d, 0x62, 0xa6, 0x47, 0x94, 0x36, + 0xb1, 0x49, 0x57, 0x94, 0x6c, 0xda, 0x6a, 0x34, 0x94, 0x07, 0x3a, 0xa9, 0x36, 0xd2, 0x23, 0x53, + 0xd6, 0xe9, 0x22, 0xeb, 0xca, 0xb6, 0x1d, 0x28, 0x38, 0x08, 0xe7, 0x3d, 0xaa, 0xb1, 0x37, 0xcb, + 0x12, 0x27, 0xe6, 0x62, 0xdf, 0x4c, 0x65, 0x30, 0xfa, 0x62, 0xa3, 0x8e, 0xf8, 0xa8, 0xdc, 0x02, + 0x7e, 0x83, 0x46, 0xd2, 0x0a, 0x48, 0x15, 0xca, 0xf3, 0xc6, 0x0d, 0xbd, 0x89, 0xa6, 0x9e, 0x87, + 0x42, 0x30, 0x3c, 0xca, 0x24, 0xa4, 0x5d, 0x4f, 0x77, 0x3c, 0x92, 0x85, 0x69, 0x95, 0x3e, 0x28, + 0x32, 0x24, 0x91, 0x55, 0x23, 0x55, 0x2e, 0xad, 0xe2, 0x3f, 0x95, 0x9f, 0xe9, 0xbc, 0x70, 0x92, + 0xbc, 0xf0, 0xed, 0xdd, 0x33, 0x1a, 0x60, 0x0e, 0xbf, 0xf7, 0xd4, 0xfd, 0x30, 0x1a, 0x78, 0x81, + 0x41, 0x87, 0x9e, 0xf9, 0x39, 0xb8, 0x21, 0x92, 0x5a, 0x79, 0x02, 0x26, 0xdb, 0x96, 0x69, 0x79, + 0xc8, 0x69, 0x39, 0x08, 0x67, 0x2c, 0x1d, 0xaa, 0xf8, 0xaf, 0x23, 0x3d, 0x72, 0x6e, 0x47, 0xb4, + 0xa6, 0x2c, 0xea, 0x44, 0xbb, 0xbb, 0xf1, 0x54, 0x36, 0xf3, 0xf6, 0x88, 0x7c, 0xed, 0xda, 0xb5, + 0x6b, 0x89, 0x99, 0x17, 0x87, 0x61, 0x32, 0x6a, 0xcd, 0x44, 0x2e, 0xdf, 0x63, 0x30, 0x6c, 0xb5, + 0x9b, 0xbb, 0xc8, 0x21, 0x41, 0x4a, 0xab, 0xec, 0x49, 0x29, 0x43, 0xba, 0xa1, 0xef, 0xa2, 0x46, + 0x31, 0x75, 0x42, 0x9a, 0x2d, 0x2c, 0x9c, 0x1e, 0x68, 0x55, 0xce, 0xad, 0x61, 0x88, 0x4a, 0x91, + 0xca, 0x43, 0x90, 0x62, 0x25, 0x1a, 0x33, 0x9c, 0x1a, 0x8c, 0x01, 0xaf, 0x25, 0x95, 0xe0, 0x94, + 0x4f, 0x41, 0x16, 0xff, 0x4b, 0x73, 0x63, 0x98, 0xf8, 0x9c, 0xc1, 0x0d, 0x38, 0x2f, 0x94, 0x29, + 0xc8, 0x90, 0x65, 0x52, 0x43, 0x7c, 0x6b, 0xf3, 0x9f, 0x71, 0x62, 0xd5, 0xd0, 0x9e, 0xde, 0x6e, + 0x78, 0xda, 0x15, 0xbd, 0xd1, 0x46, 0x24, 0xe1, 0xb3, 0x6a, 0x9e, 0x35, 0x3e, 0x86, 0xdb, 0x94, + 0xe3, 0x90, 0xa3, 0xab, 0xca, 0xb4, 0x6a, 0xe8, 0x39, 0x52, 0x3d, 0xd3, 0x2a, 0x5d, 0x68, 0xab, + 0xb8, 0x05, 0x0f, 0xff, 0x8c, 0x6b, 0x5b, 0x3c, 0x35, 0xc9, 0x10, 0xb8, 0x81, 0x0c, 0x7f, 0x7f, + 0xb8, 0x70, 0xdf, 0x1c, 0xfd, 0x7a, 0xe1, 0x9c, 0x9a, 0xf9, 0x46, 0x02, 0x52, 0xa4, 0x5e, 0x8c, + 0x41, 0x6e, 0xfb, 0xc9, 0xad, 0x8a, 0xb6, 0xbc, 0xb9, 0xb3, 0xb8, 0x56, 0x91, 0x25, 0xa5, 0x00, + 0x40, 0x1a, 0x2e, 0xae, 0x6d, 0x96, 0xb7, 0xe5, 0x84, 0xff, 0xbc, 0xba, 0xb1, 0x7d, 0xee, 0x8c, + 0x9c, 0xf4, 0x01, 0x3b, 0xb4, 0x21, 0x25, 0x1a, 0xdc, 0xb7, 0x20, 0xa7, 0x15, 0x19, 0xf2, 0x94, + 0x60, 0xf5, 0x89, 0xca, 0xf2, 0xb9, 0x33, 0xf2, 0x70, 0xb0, 0xe5, 0xbe, 0x05, 0x79, 0x44, 0x19, + 0x85, 0x2c, 0x69, 0x59, 0xdc, 0xdc, 0x5c, 0x93, 0x33, 0x3e, 0x67, 0x75, 0x5b, 0x5d, 0xdd, 0x58, + 0x91, 0xb3, 0x3e, 0xe7, 0x8a, 0xba, 0xb9, 0xb3, 0x25, 0x83, 0xcf, 0xb0, 0x5e, 0xa9, 0x56, 0xcb, + 0x2b, 0x15, 0x39, 0xe7, 0x5b, 0x2c, 0x3e, 0xb9, 0x5d, 0xa9, 0xca, 0xf9, 0x80, 0x5b, 0xf7, 0x2d, + 0xc8, 0xa3, 0xfe, 0x10, 0x95, 0x8d, 0x9d, 0x75, 0xb9, 0xa0, 0x8c, 0xc3, 0x28, 0x1d, 0x82, 0x3b, + 0x31, 0x16, 0x6a, 0x3a, 0x77, 0x46, 0x96, 0x3b, 0x8e, 0x50, 0x96, 0xf1, 0x40, 0xc3, 0xb9, 0x33, + 0xb2, 0x32, 0xb3, 0x04, 0x69, 0x92, 0x5d, 0x8a, 0x02, 0x85, 0xb5, 0xf2, 0x62, 0x65, 0x4d, 0xdb, + 0xdc, 0xda, 0x5e, 0xdd, 0xdc, 0x28, 0xaf, 0xc9, 0x52, 0xa7, 0x4d, 0xad, 0x7c, 0x76, 0x67, 0x55, + 0xad, 0x2c, 0xcb, 0x09, 0xb1, 0x6d, 0xab, 0x52, 0xde, 0xae, 0x2c, 0xcb, 0xc9, 0x19, 0x03, 0x26, + 0xa3, 0xea, 0x64, 0xe4, 0xca, 0x10, 0xa6, 0x38, 0xd1, 0x63, 0x8a, 0x09, 0x57, 0xd7, 0x14, 0xff, + 0x38, 0x01, 0x13, 0x11, 0x7b, 0x45, 0xe4, 0x20, 0x0f, 0x43, 0x9a, 0xa6, 0x28, 0xdd, 0x3d, 0xef, + 0x8c, 0xdc, 0x74, 0x48, 0xc2, 0x76, 0xed, 0xa0, 0x04, 0x27, 0x2a, 0x88, 0x64, 0x0f, 0x05, 0x81, + 0x29, 0xba, 0x6a, 0xfa, 0xd3, 0x5d, 0x35, 0x9d, 0x6e, 0x7b, 0xe7, 0x06, 0xd9, 0xf6, 0x48, 0xdb, + 0xd1, 0x6a, 0x7b, 0x3a, 0xa2, 0xb6, 0x5f, 0x80, 0xf1, 0x2e, 0xa2, 0x81, 0x6b, 0xec, 0x0b, 0x12, + 0x14, 0x7b, 0x05, 0x27, 0xa6, 0xd2, 0x25, 0x02, 0x95, 0xee, 0x42, 0x38, 0x82, 0x27, 0x7b, 0x4f, + 0x42, 0xd7, 0x5c, 0xbf, 0x26, 0xc1, 0xb1, 0x68, 0xa5, 0x18, 0xe9, 0xc3, 0x43, 0x30, 0xdc, 0x44, + 0xde, 0xbe, 0xcd, 0xd5, 0xd2, 0xed, 0x11, 0x7b, 0x30, 0xee, 0x0e, 0x4f, 0x36, 0x43, 0x89, 0x9b, + 0x78, 0xb2, 0x97, 0xdc, 0xa3, 0xde, 0x74, 0x79, 0xfa, 0xf9, 0x04, 0xdc, 0x10, 0x49, 0x1e, 0xe9, + 0xe8, 0xcd, 0x00, 0xa6, 0xd5, 0x6a, 0x7b, 0x54, 0x11, 0xd1, 0x02, 0x9b, 0x25, 0x2d, 0xa4, 0x78, + 0xe1, 0xe2, 0xd9, 0xf6, 0xfc, 0xfe, 0x24, 0xe9, 0x07, 0xda, 0x44, 0x0c, 0xce, 0x77, 0x1c, 0x4d, + 0x11, 0x47, 0xa7, 0x7b, 0xbc, 0x69, 0x57, 0x62, 0xde, 0x03, 0xb2, 0xd1, 0x30, 0x91, 0xe5, 0x69, + 0xae, 0xe7, 0x20, 0xbd, 0x69, 0x5a, 0x75, 0xb2, 0x83, 0x64, 0x4a, 0xe9, 0x3d, 0xbd, 0xe1, 0x22, + 0x75, 0x8c, 0x76, 0x57, 0x79, 0x2f, 0x46, 0x90, 0x04, 0x72, 0x04, 0xc4, 0x70, 0x00, 0x41, 0xbb, + 0x7d, 0xc4, 0xcc, 0xaf, 0x65, 0x21, 0x27, 0xe8, 0x6a, 0xe5, 0x24, 0xe4, 0x9f, 0xd1, 0xaf, 0xe8, + 0x1a, 0x3f, 0x2b, 0xd1, 0x48, 0xe4, 0x70, 0xdb, 0x16, 0x3b, 0x2f, 0xdd, 0x03, 0x93, 0xc4, 0xc4, + 0x6e, 0x7b, 0xc8, 0xd1, 0x8c, 0x86, 0xee, 0xba, 0x24, 0x68, 0x19, 0x62, 0xaa, 0xe0, 0xbe, 0x4d, + 0xdc, 0xb5, 0xc4, 0x7b, 0x94, 0xb3, 0x30, 0x41, 0x10, 0xcd, 0x76, 0xc3, 0x33, 0x5b, 0x0d, 0xa4, + 0xe1, 0xd3, 0x9b, 0x4b, 0x76, 0x12, 0xdf, 0xb3, 0x71, 0x6c, 0xb1, 0xce, 0x0c, 0xb0, 0x47, 0xae, + 0xb2, 0x0c, 0x37, 0x13, 0x58, 0x1d, 0x59, 0xc8, 0xd1, 0x3d, 0xa4, 0xa1, 0x67, 0xdb, 0x7a, 0xc3, + 0xd5, 0x74, 0xab, 0xa6, 0xed, 0xeb, 0xee, 0x7e, 0x71, 0x12, 0x13, 0x2c, 0x26, 0x8a, 0x92, 0x7a, + 0x13, 0x36, 0x5c, 0x61, 0x76, 0x15, 0x62, 0x56, 0xb6, 0x6a, 0x97, 0x74, 0x77, 0x5f, 0x29, 0xc1, + 0x31, 0xc2, 0xe2, 0x7a, 0x8e, 0x69, 0xd5, 0x35, 0x63, 0x1f, 0x19, 0x97, 0xb5, 0xb6, 0xb7, 0x77, + 0xbe, 0xf8, 0x29, 0x71, 0x7c, 0xe2, 0x61, 0x95, 0xd8, 0x2c, 0x61, 0x93, 0x1d, 0x6f, 0xef, 0xbc, + 0x52, 0x85, 0x3c, 0x9e, 0x8c, 0xa6, 0xf9, 0x3c, 0xd2, 0xf6, 0x6c, 0x87, 0x6c, 0x8d, 0x85, 0x88, + 0xd2, 0x24, 0x44, 0x70, 0x6e, 0x93, 0x01, 0xd6, 0xed, 0x1a, 0x2a, 0xa5, 0xab, 0x5b, 0x95, 0xca, + 0xb2, 0x9a, 0xe3, 0x2c, 0x17, 0x6d, 0x07, 0x27, 0x54, 0xdd, 0xf6, 0x03, 0x9c, 0xa3, 0x09, 0x55, + 0xb7, 0x79, 0x78, 0xcf, 0xc2, 0x84, 0x61, 0xd0, 0x77, 0x36, 0x0d, 0x8d, 0x9d, 0xb1, 0xdc, 0xa2, + 0x1c, 0x08, 0x96, 0x61, 0xac, 0x50, 0x03, 0x96, 0xe3, 0xae, 0xf2, 0x00, 0xdc, 0xd0, 0x09, 0x96, + 0x08, 0x1c, 0xef, 0x7a, 0xcb, 0x30, 0xf4, 0x2c, 0x4c, 0xb4, 0x0e, 0xba, 0x81, 0x4a, 0x60, 0xc4, + 0xd6, 0x41, 0x18, 0x76, 0x3f, 0x4c, 0xb6, 0xf6, 0x5b, 0xdd, 0xb8, 0x53, 0x22, 0x4e, 0x69, 0xed, + 0xb7, 0xc2, 0xc0, 0xdb, 0xc8, 0x81, 0xdb, 0x41, 0x86, 0xee, 0xa1, 0x5a, 0xf1, 0x46, 0xd1, 0x5c, + 0xe8, 0x50, 0xe6, 0x41, 0x36, 0x0c, 0x0d, 0x59, 0xfa, 0x6e, 0x03, 0x69, 0xba, 0x83, 0x2c, 0xdd, + 0x2d, 0x1e, 0x17, 0x8d, 0x0b, 0x86, 0x51, 0x21, 0xbd, 0x65, 0xd2, 0xa9, 0x9c, 0x82, 0x71, 0x7b, + 0xf7, 0x19, 0x83, 0xa6, 0xa4, 0xd6, 0x72, 0xd0, 0x9e, 0xf9, 0x5c, 0xf1, 0x56, 0x12, 0xdf, 0x31, + 0xdc, 0x41, 0x12, 0x72, 0x8b, 0x34, 0x2b, 0x77, 0x82, 0x6c, 0xb8, 0xfb, 0xba, 0xd3, 0x22, 0x35, + 0xd9, 0x6d, 0xe9, 0x06, 0x2a, 0xde, 0x46, 0x4d, 0x69, 0xfb, 0x06, 0x6f, 0xc6, 0x4b, 0xc2, 0xbd, + 0x6a, 0xee, 0x79, 0x9c, 0xf1, 0x0e, 0xba, 0x24, 0x48, 0x1b, 0x63, 0x9b, 0x05, 0x19, 0x87, 0x22, + 0x30, 0xf0, 0x2c, 0x31, 0x2b, 0xb4, 0xf6, 0x5b, 0xe2, 0xb8, 0xb7, 0xc0, 0x28, 0xb6, 0xec, 0x0c, + 0x7a, 0x27, 0x15, 0x64, 0xad, 0x7d, 0x61, 0xc4, 0x33, 0x70, 0x0c, 0x1b, 0x35, 0x91, 0xa7, 0xd7, + 0x74, 0x4f, 0x17, 0xac, 0xef, 0x22, 0xd6, 0x38, 0xee, 0xeb, 0xac, 0x33, 0xe0, 0xa7, 0xd3, 0xde, + 0x3d, 0xf0, 0x33, 0xeb, 0x6e, 0xea, 0x27, 0x6e, 0xe3, 0xb9, 0xf5, 0x91, 0x89, 0xee, 0x99, 0x12, + 0xe4, 0xc5, 0xc4, 0x57, 0xb2, 0x40, 0x53, 0x5f, 0x96, 0xb0, 0x0a, 0x5a, 0xda, 0x5c, 0xc6, 0xfa, + 0xe5, 0xa9, 0x8a, 0x9c, 0xc0, 0x3a, 0x6a, 0x6d, 0x75, 0xbb, 0xa2, 0xa9, 0x3b, 0x1b, 0xdb, 0xab, + 0xeb, 0x15, 0x39, 0x29, 0x0a, 0xf6, 0xef, 0x26, 0xa0, 0x10, 0x3c, 0x7b, 0x29, 0x9f, 0x81, 0x1b, + 0xf9, 0x45, 0x89, 0x8b, 0x3c, 0xed, 0xaa, 0xe9, 0x90, 0xb5, 0xd8, 0xd4, 0xe9, 0xbe, 0xe8, 0x67, + 0xc3, 0x24, 0xb3, 0xaa, 0x22, 0xef, 0x71, 0xd3, 0xc1, 0x2b, 0xad, 0xa9, 0x7b, 0xca, 0x1a, 0x1c, + 0xb7, 0x6c, 0xcd, 0xf5, 0x74, 0xab, 0xa6, 0x3b, 0x35, 0xad, 0x73, 0x45, 0xa5, 0xe9, 0x86, 0x81, + 0x5c, 0xd7, 0xa6, 0x7b, 0xa0, 0xcf, 0xf2, 0x69, 0xcb, 0xae, 0x32, 0xe3, 0xce, 0xe6, 0x50, 0x66, + 0xa6, 0xa1, 0xcc, 0x4d, 0xf6, 0xca, 0xdc, 0x4f, 0x41, 0xb6, 0xa9, 0xb7, 0x34, 0x64, 0x79, 0xce, + 0x01, 0x51, 0xdc, 0x19, 0x35, 0xd3, 0xd4, 0x5b, 0x15, 0xfc, 0xfc, 0xf1, 0x1c, 0x7c, 0x7e, 0x94, + 0x84, 0xbc, 0xa8, 0xba, 0xf1, 0x21, 0xc6, 0x20, 0x1b, 0x94, 0x44, 0x4a, 0xd8, 0x2d, 0x7d, 0x35, + 0xfa, 0xdc, 0x12, 0xde, 0xb9, 0x4a, 0xc3, 0x54, 0x0b, 0xab, 0x14, 0x89, 0x55, 0x03, 0x4e, 0x2d, + 0x44, 0xb5, 0x47, 0x46, 0x65, 0x4f, 0xca, 0x0a, 0x0c, 0x3f, 0xe3, 0x12, 0xee, 0x61, 0xc2, 0x7d, + 0x6b, 0x7f, 0xee, 0x47, 0xaa, 0x84, 0x3c, 0xfb, 0x48, 0x55, 0xdb, 0xd8, 0x54, 0xd7, 0xcb, 0x6b, + 0x2a, 0x83, 0x2b, 0x37, 0x41, 0xaa, 0xa1, 0x3f, 0x7f, 0x10, 0xdc, 0xe3, 0x48, 0xd3, 0xa0, 0x81, + 0xbf, 0x09, 0x52, 0x57, 0x91, 0x7e, 0x39, 0xb8, 0xb3, 0x90, 0xa6, 0x8f, 0x30, 0xf5, 0xe7, 0x21, + 0x4d, 0xe2, 0xa5, 0x00, 0xb0, 0x88, 0xc9, 0x43, 0x4a, 0x06, 0x52, 0x4b, 0x9b, 0x2a, 0x4e, 0x7f, + 0x19, 0xf2, 0xb4, 0x55, 0xdb, 0x5a, 0xad, 0x2c, 0x55, 0xe4, 0xc4, 0xcc, 0x59, 0x18, 0xa6, 0x41, + 0xc0, 0x4b, 0xc3, 0x0f, 0x83, 0x3c, 0xc4, 0x1e, 0x19, 0x87, 0xc4, 0x7b, 0x77, 0xd6, 0x17, 0x2b, + 0xaa, 0x9c, 0x10, 0xa7, 0xd7, 0x85, 0xbc, 0x28, 0xb8, 0x3f, 0x9e, 0x9c, 0xfa, 0xb6, 0x04, 0x39, + 0x41, 0x40, 0x63, 0xe5, 0xa3, 0x37, 0x1a, 0xf6, 0x55, 0x4d, 0x6f, 0x98, 0xba, 0xcb, 0x92, 0x02, + 0x48, 0x53, 0x19, 0xb7, 0x0c, 0x3a, 0x69, 0x1f, 0x8b, 0xf3, 0xaf, 0x48, 0x20, 0x87, 0xb5, 0x6b, + 0xc8, 0x41, 0xe9, 0xa7, 0xea, 0xe0, 0xcb, 0x12, 0x14, 0x82, 0x82, 0x35, 0xe4, 0xde, 0xc9, 0x9f, + 0xaa, 0x7b, 0x6f, 0x26, 0x60, 0x34, 0x20, 0x53, 0x07, 0xf5, 0xee, 0x59, 0x18, 0x37, 0x6b, 0xa8, + 0xd9, 0xb2, 0x3d, 0x64, 0x19, 0x07, 0x5a, 0x03, 0x5d, 0x41, 0x8d, 0xe2, 0x0c, 0x29, 0x14, 0xf3, + 0xfd, 0x85, 0xf0, 0xdc, 0x6a, 0x07, 0xb7, 0x86, 0x61, 0xa5, 0x89, 0xd5, 0xe5, 0xca, 0xfa, 0xd6, + 0xe6, 0x76, 0x65, 0x63, 0xe9, 0x49, 0x6d, 0x67, 0xe3, 0xd1, 0x8d, 0xcd, 0xc7, 0x37, 0x54, 0xd9, + 0x0c, 0x99, 0x7d, 0x84, 0x4b, 0x7d, 0x0b, 0xe4, 0xb0, 0x53, 0xca, 0x8d, 0x10, 0xe5, 0x96, 0x3c, + 0xa4, 0x4c, 0xc0, 0xd8, 0xc6, 0xa6, 0x56, 0x5d, 0x5d, 0xae, 0x68, 0x95, 0x8b, 0x17, 0x2b, 0x4b, + 0xdb, 0x55, 0x7a, 0xb5, 0xe1, 0x5b, 0x6f, 0x07, 0x17, 0xf5, 0x4b, 0x49, 0x98, 0x88, 0xf0, 0x44, + 0x29, 0xb3, 0x43, 0x09, 0x3d, 0x27, 0xdd, 0x3d, 0x88, 0xf7, 0x73, 0x58, 0x15, 0x6c, 0xe9, 0x8e, + 0xc7, 0xce, 0x30, 0x77, 0x02, 0x8e, 0x92, 0xe5, 0x99, 0x7b, 0x26, 0x72, 0xd8, 0x4d, 0x10, 0x3d, + 0xa9, 0x8c, 0x75, 0xda, 0xe9, 0x65, 0xd0, 0x5d, 0xa0, 0xb4, 0x6c, 0xd7, 0xf4, 0xcc, 0x2b, 0x48, + 0x33, 0x2d, 0x7e, 0x6d, 0x84, 0x4f, 0x2e, 0x29, 0x55, 0xe6, 0x3d, 0xab, 0x96, 0xe7, 0x5b, 0x5b, + 0xa8, 0xae, 0x87, 0xac, 0x71, 0x01, 0x4f, 0xaa, 0x32, 0xef, 0xf1, 0xad, 0x4f, 0x42, 0xbe, 0x66, + 0xb7, 0xb1, 0x9c, 0xa3, 0x76, 0x78, 0xbf, 0x90, 0xd4, 0x1c, 0x6d, 0xf3, 0x4d, 0x98, 0x50, 0xef, + 0xdc, 0x57, 0xe5, 0xd5, 0x1c, 0x6d, 0xa3, 0x26, 0x77, 0xc0, 0x98, 0x5e, 0xaf, 0x3b, 0x98, 0x9c, + 0x13, 0xd1, 0xa3, 0x47, 0xc1, 0x6f, 0x26, 0x86, 0x53, 0x8f, 0x40, 0x86, 0xc7, 0x01, 0x6f, 0xc9, + 0x38, 0x12, 0x5a, 0x8b, 0x9e, 0xa7, 0x13, 0xb3, 0x59, 0x35, 0x63, 0xf1, 0xce, 0x93, 0x90, 0x37, + 0x5d, 0xad, 0x73, 0xfd, 0x9e, 0x38, 0x91, 0x98, 0xcd, 0xa8, 0x39, 0xd3, 0xf5, 0xaf, 0x2e, 0x67, + 0x5e, 0x4b, 0x40, 0x21, 0xf8, 0xf9, 0x40, 0x59, 0x86, 0x4c, 0xc3, 0x36, 0x74, 0x92, 0x5a, 0xf4, + 0xdb, 0xd5, 0x6c, 0xcc, 0x17, 0x87, 0xb9, 0x35, 0x66, 0xaf, 0xfa, 0xc8, 0xa9, 0x7f, 0x91, 0x20, + 0xc3, 0x9b, 0x95, 0x63, 0x90, 0x6a, 0xe9, 0xde, 0x3e, 0xa1, 0x4b, 0x2f, 0x26, 0x64, 0x49, 0x25, + 0xcf, 0xb8, 0xdd, 0x6d, 0xe9, 0x16, 0x49, 0x01, 0xd6, 0x8e, 0x9f, 0xf1, 0xbc, 0x36, 0x90, 0x5e, + 0x23, 0xe7, 0x1a, 0xbb, 0xd9, 0x44, 0x96, 0xe7, 0xf2, 0x79, 0x65, 0xed, 0x4b, 0xac, 0x59, 0x39, + 0x0d, 0xe3, 0x9e, 0xa3, 0x9b, 0x8d, 0x80, 0x6d, 0x8a, 0xd8, 0xca, 0xbc, 0xc3, 0x37, 0x2e, 0xc1, + 0x4d, 0x9c, 0xb7, 0x86, 0x3c, 0xdd, 0xd8, 0x47, 0xb5, 0x0e, 0x68, 0x98, 0xdc, 0x5f, 0xdc, 0xc8, + 0x0c, 0x96, 0x59, 0x3f, 0xc7, 0xce, 0x7c, 0x5f, 0x82, 0x71, 0x7e, 0x12, 0xab, 0xf9, 0xc1, 0x5a, + 0x07, 0xd0, 0x2d, 0xcb, 0xf6, 0xc4, 0x70, 0x75, 0xa7, 0x72, 0x17, 0x6e, 0xae, 0xec, 0x83, 0x54, + 0x81, 0x60, 0xaa, 0x09, 0xd0, 0xe9, 0xe9, 0x19, 0xb6, 0xe3, 0x90, 0x63, 0xdf, 0x86, 0xc8, 0x07, + 0x46, 0x7a, 0x76, 0x07, 0xda, 0x84, 0x8f, 0x6c, 0xca, 0x24, 0xa4, 0x77, 0x51, 0xdd, 0xb4, 0xd8, + 0x8d, 0x2f, 0x7d, 0xe0, 0x37, 0x2c, 0x29, 0xff, 0x86, 0x65, 0xf1, 0x73, 0x30, 0x61, 0xd8, 0xcd, + 0xb0, 0xbb, 0x8b, 0x72, 0xe8, 0xfe, 0xc0, 0xbd, 0x24, 0x3d, 0x05, 0x1d, 0x89, 0xf9, 0xbe, 0x24, + 0x7d, 0x29, 0x91, 0x5c, 0xd9, 0x5a, 0xfc, 0x6a, 0x62, 0x6a, 0x85, 0x42, 0xb7, 0xf8, 0x9b, 0xaa, + 0x68, 0xaf, 0x81, 0x0c, 0xec, 0x3d, 0x7c, 0xf9, 0x34, 0xdc, 0x5d, 0x37, 0xbd, 0xfd, 0xf6, 0xee, + 0x9c, 0x61, 0x37, 0xe7, 0xeb, 0x76, 0xdd, 0xee, 0x7c, 0x53, 0xc5, 0x4f, 0xe4, 0x81, 0xfc, 0xc5, + 0xbe, 0xab, 0x66, 0xfd, 0xd6, 0xa9, 0xd8, 0x8f, 0xb0, 0xa5, 0x0d, 0x98, 0x60, 0xc6, 0x1a, 0xf9, + 0xb0, 0x43, 0x8f, 0x27, 0x4a, 0xdf, 0xcb, 0xb1, 0xe2, 0xd7, 0xdf, 0x22, 0xdb, 0xb5, 0x3a, 0xce, + 0xa0, 0xb8, 0x8f, 0x9e, 0x60, 0x4a, 0x2a, 0xdc, 0x10, 0xe0, 0xa3, 0x4b, 0x13, 0x39, 0x31, 0x8c, + 0xdf, 0x65, 0x8c, 0x13, 0x02, 0x63, 0x95, 0x41, 0x4b, 0x4b, 0x30, 0x7a, 0x14, 0xae, 0x7f, 0x64, + 0x5c, 0x79, 0x24, 0x92, 0xac, 0xc0, 0x18, 0x21, 0x31, 0xda, 0xae, 0x67, 0x37, 0x49, 0xdd, 0xeb, + 0x4f, 0xf3, 0x4f, 0x6f, 0xd1, 0xb5, 0x52, 0xc0, 0xb0, 0x25, 0x1f, 0x55, 0x2a, 0x01, 0xf9, 0x96, + 0x55, 0x43, 0x46, 0x23, 0x86, 0xe1, 0x75, 0xe6, 0x88, 0x6f, 0x5f, 0x7a, 0x0c, 0x26, 0xf1, 0xdf, + 0xa4, 0x2c, 0x89, 0x9e, 0xc4, 0xdf, 0xa4, 0x15, 0xbf, 0xff, 0x02, 0x5d, 0x8e, 0x13, 0x3e, 0x81, + 0xe0, 0x93, 0x30, 0x8b, 0x75, 0xe4, 0x79, 0xc8, 0x71, 0x35, 0xbd, 0x11, 0xe5, 0x9e, 0x70, 0x15, + 0x51, 0xfc, 0xc2, 0x3b, 0xc1, 0x59, 0x5c, 0xa1, 0xc8, 0x72, 0xa3, 0x51, 0xda, 0x81, 0x1b, 0x23, + 0xb2, 0x62, 0x00, 0xce, 0x97, 0x18, 0xe7, 0x64, 0x57, 0x66, 0x60, 0xda, 0x2d, 0xe0, 0xed, 0xfe, + 0x5c, 0x0e, 0xc0, 0xf9, 0x07, 0x8c, 0x53, 0x61, 0x58, 0x3e, 0xa5, 0x98, 0xf1, 0x11, 0x18, 0xbf, + 0x82, 0x9c, 0x5d, 0xdb, 0x65, 0xd7, 0x3f, 0x03, 0xd0, 0xbd, 0xcc, 0xe8, 0xc6, 0x18, 0x90, 0xdc, + 0x07, 0x61, 0xae, 0x07, 0x20, 0xb3, 0xa7, 0x1b, 0x68, 0x00, 0x8a, 0x2f, 0x32, 0x8a, 0x11, 0x6c, + 0x8f, 0xa1, 0x65, 0xc8, 0xd7, 0x6d, 0xb6, 0x33, 0xc5, 0xc3, 0x5f, 0x61, 0xf0, 0x1c, 0xc7, 0x30, + 0x8a, 0x96, 0xdd, 0x6a, 0x37, 0xf0, 0xb6, 0x15, 0x4f, 0xf1, 0x87, 0x9c, 0x82, 0x63, 0x18, 0xc5, + 0x11, 0xc2, 0xfa, 0x47, 0x9c, 0xc2, 0x15, 0xe2, 0xf9, 0x30, 0xe4, 0x6c, 0xab, 0x71, 0x60, 0x5b, + 0x83, 0x38, 0xf1, 0x2a, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x17, 0x20, 0x3b, 0xe8, 0x44, 0xfc, 0xc9, + 0x3b, 0x7c, 0x79, 0xf0, 0x19, 0x58, 0x81, 0x31, 0x5e, 0xa0, 0x4c, 0xdb, 0x1a, 0x80, 0xe2, 0xcb, + 0x8c, 0xa2, 0x20, 0xc0, 0xd8, 0x6b, 0x78, 0xc8, 0xf5, 0xea, 0x68, 0x10, 0x92, 0xd7, 0xf8, 0x6b, + 0x30, 0x08, 0x0b, 0xe5, 0x2e, 0xb2, 0x8c, 0xfd, 0xc1, 0x18, 0xbe, 0xc2, 0x43, 0xc9, 0x31, 0x98, + 0x62, 0x09, 0x46, 0x9b, 0xba, 0xe3, 0xee, 0xeb, 0x8d, 0x81, 0xa6, 0xe3, 0x4f, 0x19, 0x47, 0xde, + 0x07, 0xb1, 0x88, 0xb4, 0xad, 0xa3, 0xd0, 0x7c, 0x95, 0x47, 0x44, 0x80, 0xb1, 0xa5, 0xe7, 0x7a, + 0xe4, 0xae, 0xec, 0x28, 0x6c, 0x7f, 0xc6, 0x97, 0x1e, 0xc5, 0xae, 0x8b, 0x8c, 0x17, 0x20, 0xeb, + 0x9a, 0xcf, 0x0f, 0x44, 0xf3, 0xe7, 0x7c, 0xa6, 0x09, 0x00, 0x83, 0x9f, 0x84, 0x9b, 0x22, 0xb7, + 0x89, 0x01, 0xc8, 0xfe, 0x82, 0x91, 0x1d, 0x8b, 0xd8, 0x2a, 0x58, 0x49, 0x38, 0x2a, 0xe5, 0x5f, + 0xf2, 0x92, 0x80, 0x42, 0x5c, 0x5b, 0xf8, 0xac, 0xe0, 0xea, 0x7b, 0x47, 0x8b, 0xda, 0x5f, 0xf1, + 0xa8, 0x51, 0x6c, 0x20, 0x6a, 0xdb, 0x70, 0x8c, 0x31, 0x1e, 0x6d, 0x5e, 0xbf, 0xc6, 0x0b, 0x2b, + 0x45, 0xef, 0x04, 0x67, 0xf7, 0x73, 0x30, 0xe5, 0x87, 0x93, 0x8b, 0x52, 0x57, 0x6b, 0xea, 0xad, + 0x01, 0x98, 0xbf, 0xce, 0x98, 0x79, 0xc5, 0xf7, 0x55, 0xad, 0xbb, 0xae, 0xb7, 0x30, 0xf9, 0x13, + 0x50, 0xe4, 0xe4, 0x6d, 0xcb, 0x41, 0x86, 0x5d, 0xb7, 0xcc, 0xe7, 0x51, 0x6d, 0x00, 0xea, 0xbf, + 0x0e, 0x4d, 0xd5, 0x8e, 0x00, 0xc7, 0xcc, 0xab, 0x20, 0xfb, 0x5a, 0x45, 0x33, 0x9b, 0x2d, 0xdb, + 0xf1, 0x62, 0x18, 0xff, 0x86, 0xcf, 0x94, 0x8f, 0x5b, 0x25, 0xb0, 0x52, 0x05, 0x0a, 0xe4, 0x71, 0xd0, 0x94, 0xfc, 0x5b, 0x46, 0x34, 0xda, 0x41, 0xb1, 0xc2, 0x61, 0xd8, 0xcd, 0x96, 0xee, 0x0c, 0x52, 0xff, 0xfe, 0x8e, 0x17, 0x0e, 0x06, 0x61, 0x85, 0xc3, 0x3b, 0x68, 0x21, 0xbc, 0xdb, 0x0f, - 0xc0, 0xf0, 0x4d, 0x5e, 0x38, 0x38, 0x86, 0x51, 0x70, 0xc1, 0x30, 0x00, 0xc5, 0xdf, 0x73, 0x0a, + 0xc0, 0xf0, 0x0d, 0x5e, 0x38, 0x38, 0x86, 0x51, 0x70, 0xc1, 0x30, 0x00, 0xc5, 0xdf, 0x73, 0x0a, 0x8e, 0xc1, 0x14, 0x9f, 0xed, 0x6c, 0xb4, 0x0e, 0xaa, 0x9b, 0xae, 0xe7, 0x50, 0x29, 0xdc, 0x9f, - 0xea, 0x5b, 0xef, 0x04, 0x45, 0x98, 0x2a, 0x40, 0x71, 0x25, 0x62, 0x57, 0xa8, 0xe4, 0xa4, 0x14, - 0xef, 0xd8, 0xb7, 0x79, 0x25, 0x12, 0x60, 0xd8, 0x37, 0x41, 0x21, 0xe2, 0xb0, 0x1b, 0xf8, 0x7c, - 0x30, 0x00, 0xdd, 0x77, 0x42, 0xce, 0x55, 0x39, 0x16, 0x73, 0x0a, 0xfa, 0xa7, 0x6d, 0x5d, 0x46, + 0xea, 0x9b, 0xef, 0x04, 0x45, 0x98, 0x2a, 0x40, 0x71, 0x25, 0x62, 0x57, 0xa8, 0xe4, 0xa4, 0x14, + 0xef, 0xd8, 0xb7, 0x78, 0x25, 0x12, 0x60, 0xd8, 0x37, 0x41, 0x21, 0xe2, 0xb0, 0x1b, 0xf8, 0x7c, + 0x30, 0x00, 0xdd, 0xb7, 0x43, 0xce, 0x55, 0x39, 0x16, 0x73, 0x0a, 0xfa, 0xa7, 0x6d, 0x5d, 0x46, 0x07, 0x03, 0x65, 0xe7, 0x3f, 0x84, 0xf4, 0xcf, 0x0e, 0x45, 0xd2, 0x1a, 0x32, 0x16, 0xd2, 0x53, - 0x4a, 0xdc, 0x8f, 0x75, 0x8a, 0xbf, 0xf4, 0x1e, 0x7b, 0xdf, 0xa0, 0x9c, 0x2a, 0xad, 0xe1, 0x24, + 0x4a, 0xdc, 0xaf, 0x80, 0x8a, 0xbf, 0xf0, 0x1e, 0x7b, 0xdf, 0xa0, 0x9c, 0x2a, 0xad, 0xe1, 0x24, 0x0f, 0x8a, 0x9e, 0x78, 0xb2, 0x17, 0xde, 0xf3, 0xf3, 0x3c, 0xa0, 0x79, 0x4a, 0x17, 0x61, 0x34, - 0x20, 0x78, 0xe2, 0xa9, 0x7e, 0x99, 0x51, 0xe5, 0x45, 0xbd, 0x53, 0x3a, 0x0b, 0x29, 0x2c, 0x5e, - 0xe2, 0xe1, 0xbf, 0xc2, 0xe0, 0xc4, 0xbc, 0xf4, 0x20, 0x64, 0xb8, 0x68, 0x89, 0x87, 0xfe, 0x2a, - 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x82, 0x25, 0x1e, 0xfe, 0x6b, 0x1c, 0xce, 0x21, 0x18, 0x3e, 0x78, - 0x08, 0xbf, 0xfb, 0xeb, 0x29, 0xb6, 0xe9, 0xf0, 0xd8, 0x5d, 0x80, 0x11, 0xa6, 0x54, 0xe2, 0xd1, - 0x9f, 0x67, 0x83, 0x73, 0x44, 0xe9, 0x7e, 0x48, 0x0f, 0x18, 0xf0, 0xdf, 0x60, 0x50, 0x6a, 0x5f, - 0x5a, 0x82, 0x9c, 0xa0, 0x4e, 0xe2, 0xe1, 0xbf, 0xc9, 0xe0, 0x22, 0x0a, 0xbb, 0xce, 0xd4, 0x49, - 0x3c, 0xc1, 0x6f, 0x71, 0xd7, 0x19, 0x02, 0x87, 0x8d, 0x0b, 0x93, 0x78, 0xf4, 0x6f, 0xf3, 0xa8, - 0x73, 0x48, 0xe9, 0x61, 0xc8, 0xfa, 0x9b, 0x4d, 0x3c, 0xfe, 0x77, 0x18, 0xbe, 0x83, 0xc1, 0x11, - 0x10, 0x36, 0xbb, 0x78, 0x8a, 0xdf, 0xe5, 0x11, 0x10, 0x50, 0x78, 0x19, 0x85, 0x05, 0x4c, 0x3c, - 0xd3, 0xef, 0xf1, 0x65, 0x14, 0xd2, 0x2f, 0x78, 0x36, 0x49, 0xcd, 0x8f, 0xa7, 0xf8, 0x7d, 0x3e, - 0x9b, 0xc4, 0x1e, 0xbb, 0x11, 0x56, 0x04, 0xf1, 0x1c, 0x7f, 0xc0, 0xdd, 0x08, 0x09, 0x82, 0xd2, + 0x20, 0x78, 0xe2, 0xa9, 0x7e, 0x91, 0x51, 0xe5, 0x45, 0xbd, 0x53, 0x3a, 0x0b, 0x29, 0x2c, 0x5e, + 0xe2, 0xe1, 0xbf, 0xc4, 0xe0, 0xc4, 0xbc, 0xf4, 0x20, 0x64, 0xb8, 0x68, 0x89, 0x87, 0xfe, 0x32, + 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x82, 0x25, 0x1e, 0xfe, 0x2b, 0x1c, 0xce, 0x21, 0x18, 0x3e, 0x78, + 0x08, 0xbf, 0xf3, 0xab, 0x29, 0xb6, 0xe9, 0xf0, 0xd8, 0x5d, 0x80, 0x11, 0xa6, 0x54, 0xe2, 0xd1, + 0x9f, 0x67, 0x83, 0x73, 0x44, 0xe9, 0x7e, 0x48, 0x0f, 0x18, 0xf0, 0x5f, 0x67, 0x50, 0x6a, 0x5f, + 0x5a, 0x82, 0x9c, 0xa0, 0x4e, 0xe2, 0xe1, 0xbf, 0xc1, 0xe0, 0x22, 0x0a, 0xbb, 0xce, 0xd4, 0x49, + 0x3c, 0xc1, 0x6f, 0x72, 0xd7, 0x19, 0x02, 0x87, 0x8d, 0x0b, 0x93, 0x78, 0xf4, 0x6f, 0xf1, 0xa8, + 0x73, 0x48, 0xe9, 0x61, 0xc8, 0xfa, 0x9b, 0x4d, 0x3c, 0xfe, 0xb7, 0x19, 0xbe, 0x83, 0xc1, 0x11, + 0x10, 0x36, 0xbb, 0x78, 0x8a, 0xdf, 0xe1, 0x11, 0x10, 0x50, 0x78, 0x19, 0x85, 0x05, 0x4c, 0x3c, + 0xd3, 0xef, 0xf2, 0x65, 0x14, 0xd2, 0x2f, 0x78, 0x36, 0x49, 0xcd, 0x8f, 0xa7, 0xf8, 0x3d, 0x3e, + 0x9b, 0xc4, 0x1e, 0xbb, 0x11, 0x56, 0x04, 0xf1, 0x1c, 0xbf, 0xcf, 0xdd, 0x08, 0x09, 0x82, 0xd2, 0x16, 0x28, 0xdd, 0x6a, 0x20, 0x9e, 0xef, 0x45, 0xc6, 0x37, 0xde, 0x25, 0x06, 0x4a, 0x8f, 0xc3, 0xb1, 0x68, 0x25, 0x10, 0xcf, 0xfa, 0x85, 0xf7, 0x42, 0x67, 0x37, 0x51, 0x08, 0x94, 0xb6, 0x3b, 0x5b, 0x8a, 0xa8, 0x02, 0xe2, 0x69, 0x5f, 0x7a, 0x2f, 0x58, 0xb8, 0x45, 0x11, 0x50, 0x2a, 0x03, @@ -547,84 +628,84 @@ func Mapsproto2Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_des 0x2f, 0xf2, 0xa5, 0xc1, 0x10, 0x78, 0x69, 0xf0, 0xad, 0x37, 0x1e, 0xfd, 0x0a, 0x5f, 0x1a, 0x1c, 0x82, 0x33, 0x5b, 0xd8, 0xdd, 0xe2, 0x19, 0x5e, 0xe5, 0x99, 0x2d, 0xa0, 0x4a, 0x1b, 0x30, 0xde, 0xb5, 0x21, 0xc6, 0x53, 0x7d, 0x89, 0x51, 0xc9, 0xe1, 0xfd, 0x50, 0xdc, 0xbc, 0xd8, 0x66, 0x18, - 0xcf, 0xf6, 0x27, 0xa1, 0xcd, 0x8b, 0xed, 0x85, 0xa5, 0x0b, 0x90, 0xb1, 0xda, 0x8d, 0x06, 0x5e, - 0x3c, 0x4a, 0xff, 0x1f, 0xd8, 0x15, 0xff, 0xed, 0x03, 0x16, 0x1d, 0x0e, 0x28, 0x9d, 0x85, 0x34, + 0xcf, 0xf6, 0xc7, 0xa1, 0xcd, 0x8b, 0xed, 0x85, 0xa5, 0x0b, 0x90, 0xb1, 0xda, 0x8d, 0x06, 0x5e, + 0x3c, 0x4a, 0xff, 0x5f, 0xee, 0x15, 0xff, 0xed, 0x03, 0x16, 0x1d, 0x0e, 0x28, 0x9d, 0x85, 0x34, 0x6a, 0xee, 0xa2, 0x5a, 0x1c, 0xf2, 0xdf, 0x3f, 0xe0, 0x05, 0x13, 0x5b, 0x97, 0x1e, 0x06, 0xa0, - 0x57, 0x23, 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0x3f, 0x3e, 0x60, 0x3f, 0x7d, 0xe9, 0x40, 0x3a, 0x04, - 0xf4, 0x87, 0x34, 0xfd, 0x09, 0xde, 0x09, 0x12, 0x90, 0x19, 0x79, 0x00, 0x46, 0x9e, 0x71, 0x6d, + 0x57, 0x23, 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0x3f, 0x3e, 0x60, 0xbf, 0xa9, 0xe9, 0x40, 0x3a, 0x04, + 0xf4, 0x17, 0x3a, 0xfd, 0x09, 0xde, 0x09, 0x12, 0x90, 0x19, 0x79, 0x00, 0x46, 0x9e, 0x71, 0x6d, 0xcb, 0xd3, 0xeb, 0x71, 0xe8, 0xff, 0x64, 0x68, 0x6e, 0x8f, 0x03, 0xd6, 0xb4, 0x1d, 0xe4, 0xe9, 0x75, 0x37, 0x0e, 0xfb, 0x5f, 0x0c, 0xeb, 0x03, 0x30, 0xd8, 0xd0, 0x5d, 0x6f, 0x90, 0xf7, 0xfe, - 0x29, 0x07, 0x73, 0x00, 0x76, 0x1a, 0xff, 0x7d, 0x19, 0x1d, 0xc4, 0x61, 0xdf, 0xe5, 0x4e, 0x33, - 0xfb, 0xd2, 0x83, 0x90, 0xc5, 0x7f, 0xd2, 0xdf, 0xb3, 0xc5, 0x80, 0xff, 0x9b, 0x81, 0x3b, 0x08, - 0x3c, 0xb2, 0xeb, 0xd5, 0x3c, 0x33, 0x3e, 0xd8, 0x3f, 0x63, 0x33, 0xcd, 0xed, 0x4b, 0x65, 0xc8, - 0xb9, 0x5e, 0xad, 0xd6, 0x66, 0xfa, 0x34, 0x06, 0xfe, 0x3f, 0x1f, 0xf8, 0x57, 0x16, 0x3e, 0x06, - 0xcf, 0xf6, 0xd5, 0xcb, 0x5e, 0xcb, 0x26, 0x9f, 0x39, 0xe2, 0x18, 0xde, 0x63, 0x0c, 0x02, 0x64, - 0xb1, 0x12, 0x7d, 0x7d, 0x0b, 0x2b, 0xf6, 0x8a, 0x4d, 0x2f, 0x6e, 0x9f, 0x9a, 0x89, 0xbf, 0x81, - 0x85, 0x9f, 0xdd, 0x0d, 0x9f, 0x36, 0xec, 0xe6, 0xae, 0xed, 0xce, 0xef, 0xda, 0xde, 0xfe, 0x7c, - 0x53, 0x6f, 0xb9, 0xa4, 0x67, 0x81, 0xdd, 0xcb, 0xe6, 0xd8, 0x13, 0xee, 0x98, 0x3a, 0xda, 0x9d, - 0xee, 0xcc, 0xcd, 0x30, 0x7a, 0xb1, 0x61, 0xeb, 0x9e, 0x69, 0xd5, 0xb7, 0xb0, 0xdb, 0x4a, 0x1e, - 0xa4, 0x3d, 0xf2, 0x4d, 0x52, 0x52, 0xa5, 0xbd, 0x99, 0x7f, 0x4e, 0x43, 0x96, 0x5e, 0x07, 0xae, - 0xeb, 0x2d, 0xe5, 0x17, 0x21, 0xbf, 0xc1, 0xd6, 0xe0, 0xbd, 0x0b, 0xe7, 0x5d, 0xff, 0xf3, 0x83, - 0x30, 0xfe, 0x9c, 0x6f, 0x3d, 0x27, 0x9a, 0x92, 0xdf, 0x20, 0x2c, 0xde, 0xf3, 0xa3, 0x37, 0x8e, - 0xdf, 0xd5, 0xd3, 0x3f, 0xac, 0x2a, 0xe6, 0xe9, 0x62, 0x99, 0xdb, 0x31, 0x2d, 0xef, 0xde, 0x85, - 0xf3, 0x6a, 0x60, 0x3c, 0xe5, 0x0a, 0x64, 0x58, 0x87, 0xcb, 0x3e, 0x4b, 0xdd, 0xda, 0x63, 0x6c, - 0x6e, 0x46, 0xc7, 0x3d, 0xf3, 0xfa, 0x1b, 0xc7, 0x87, 0x8e, 0x3c, 0xb6, 0x3f, 0x96, 0xf2, 0x2c, - 0xe4, 0xb8, 0x1f, 0xab, 0x35, 0x97, 0xfd, 0x37, 0x84, 0x3b, 0x62, 0x5e, 0x7b, 0xb5, 0xc6, 0x46, - 0xbf, 0xfd, 0x47, 0x6f, 0x1c, 0x9f, 0xe9, 0x3b, 0xf2, 0xdc, 0x4e, 0xdb, 0xac, 0xa9, 0xe2, 0x18, - 0xca, 0xd3, 0x90, 0xc4, 0x43, 0xd1, 0x5f, 0x6e, 0x1e, 0xef, 0x31, 0x94, 0x3f, 0xc4, 0x29, 0xf6, - 0x82, 0x83, 0x0c, 0x83, 0x79, 0xa7, 0x1e, 0x86, 0xf1, 0xae, 0xe9, 0x51, 0x64, 0x48, 0x5e, 0x46, - 0x07, 0xec, 0x27, 0x72, 0xf8, 0x4f, 0x65, 0xb2, 0xf3, 0x1b, 0x56, 0x69, 0x36, 0xcf, 0x7e, 0x98, - 0x5a, 0x4a, 0x9c, 0x97, 0xa6, 0x2e, 0xc0, 0x68, 0x20, 0xc6, 0x47, 0x02, 0x3f, 0x04, 0x72, 0x38, - 0x4a, 0x47, 0xc2, 0x9f, 0x83, 0xcc, 0x87, 0xc1, 0xcd, 0xfc, 0x50, 0x81, 0x91, 0x72, 0xa3, 0xb1, - 0xae, 0xb7, 0x5c, 0xe5, 0x49, 0x18, 0xa7, 0x67, 0x9f, 0x6d, 0x7b, 0x99, 0x7c, 0x08, 0x5c, 0xd7, - 0x5b, 0x2c, 0xa1, 0x4f, 0x07, 0xc2, 0xcd, 0x00, 0x73, 0x5d, 0xd6, 0x64, 0x7c, 0xb5, 0x9b, 0x45, - 0x79, 0x0c, 0x64, 0xde, 0x48, 0xd6, 0x16, 0x66, 0xa6, 0xe9, 0x7a, 0xaa, 0x2f, 0x33, 0x37, 0xa6, - 0xc4, 0x5d, 0x1c, 0xca, 0x43, 0x90, 0x59, 0xb5, 0xbc, 0xfb, 0x16, 0x30, 0x1f, 0xcd, 0xc1, 0x99, - 0x48, 0x3e, 0x6e, 0x44, 0x79, 0x7c, 0x0c, 0xc3, 0x9f, 0x3b, 0x83, 0xf1, 0xa9, 0xfe, 0x78, 0x62, - 0xd4, 0xc1, 0x93, 0x47, 0xa5, 0x0c, 0x59, 0x3c, 0xe7, 0xd4, 0x01, 0xfa, 0x3f, 0x60, 0x6e, 0x89, - 0x24, 0xf0, 0xad, 0x28, 0x43, 0x07, 0xc5, 0x29, 0xa8, 0x0f, 0xc3, 0x31, 0x14, 0x82, 0x13, 0x1d, - 0x14, 0xa6, 0xa8, 0xfa, 0x5e, 0x8c, 0xf4, 0xa1, 0xa8, 0x86, 0xbc, 0xa8, 0x8a, 0x5e, 0x54, 0x7d, - 0x2f, 0x32, 0x31, 0x14, 0xa2, 0x17, 0xfe, 0xb3, 0xb2, 0x0c, 0x70, 0xd1, 0x7c, 0x0e, 0xd5, 0xa8, - 0x1b, 0xd9, 0x88, 0x62, 0xc4, 0x39, 0x3a, 0x66, 0x94, 0x44, 0xc0, 0x29, 0x2b, 0x90, 0xab, 0xee, - 0x75, 0x68, 0x80, 0xfd, 0x07, 0xa0, 0x48, 0x57, 0xf6, 0x42, 0x3c, 0x22, 0xd2, 0x77, 0x87, 0xbe, - 0x52, 0x2e, 0xce, 0x1d, 0xe1, 0x9d, 0x04, 0x5c, 0xc7, 0x1d, 0x4a, 0x93, 0x8f, 0x75, 0x47, 0xe0, - 0x11, 0x91, 0xca, 0x05, 0x18, 0x59, 0xb4, 0x6d, 0x6c, 0x59, 0x1c, 0x25, 0x24, 0x27, 0x23, 0x49, - 0x98, 0x0d, 0x25, 0xe0, 0x08, 0x32, 0x3b, 0x24, 0xf5, 0x31, 0xbc, 0xd0, 0x6f, 0x76, 0xb8, 0x15, - 0x9f, 0x1d, 0xfe, 0x2c, 0xae, 0xc0, 0xc5, 0x03, 0x0f, 0xe1, 0x73, 0x46, 0x71, 0x6c, 0x80, 0x15, - 0xc8, 0x8d, 0x43, 0x2b, 0x90, 0x37, 0x2b, 0x55, 0x18, 0xe3, 0x6d, 0x15, 0xab, 0x8d, 0x6b, 0x70, - 0x51, 0x66, 0xbf, 0xee, 0xef, 0x47, 0xcb, 0x6c, 0x29, 0x6b, 0x98, 0x41, 0xd9, 0x82, 0x02, 0x6f, - 0x5a, 0x77, 0xc9, 0x4b, 0x8f, 0x47, 0xec, 0xab, 0x61, 0x4e, 0x6a, 0x4a, 0x29, 0x43, 0xf8, 0xa9, - 0x65, 0x38, 0x16, 0x5d, 0xad, 0xe2, 0xaa, 0xa5, 0x24, 0x56, 0xd9, 0x25, 0xb8, 0x21, 0xb2, 0x32, - 0xc5, 0x91, 0x24, 0x42, 0xfb, 0x44, 0xa0, 0x1c, 0x89, 0xe0, 0x74, 0x04, 0x38, 0xdd, 0x0d, 0xee, - 0x24, 0x99, 0x08, 0x4e, 0x46, 0x80, 0x93, 0x22, 0xf8, 0x33, 0x50, 0x08, 0xd6, 0x21, 0x11, 0x3d, - 0x1a, 0x81, 0x1e, 0x8d, 0x40, 0x47, 0x8f, 0x9d, 0x8a, 0x40, 0xa7, 0x42, 0xe8, 0x6a, 0xcf, 0xb1, - 0xc7, 0x23, 0xd0, 0xe3, 0x11, 0xe8, 0xe8, 0xb1, 0x95, 0x08, 0xb4, 0x22, 0xa2, 0x1f, 0x84, 0xb1, - 0x50, 0xc9, 0x11, 0xe1, 0x23, 0x11, 0xf0, 0x91, 0xd0, 0xde, 0x1c, 0x2e, 0x35, 0x22, 0x7e, 0x2c, - 0x02, 0x3f, 0x16, 0x35, 0x7c, 0xb4, 0xf7, 0xc3, 0x11, 0xf0, 0xe1, 0xc8, 0xe1, 0xa3, 0xf1, 0x72, - 0x04, 0x5e, 0x16, 0xf1, 0x25, 0xc8, 0x8b, 0x55, 0x45, 0xc4, 0x66, 0x22, 0xb0, 0x99, 0x70, 0xdc, - 0x03, 0x25, 0x25, 0x2e, 0xd3, 0xb3, 0x3d, 0x96, 0x4b, 0xa0, 0x8c, 0x1c, 0x49, 0xd9, 0x3c, 0x01, - 0x93, 0x51, 0x45, 0x23, 0x82, 0xe3, 0x94, 0xc8, 0x51, 0x58, 0x98, 0x0c, 0x14, 0x0b, 0x82, 0x6b, - 0x37, 0x45, 0xe6, 0xa7, 0x61, 0x22, 0xa2, 0x74, 0x44, 0x10, 0xdf, 0x23, 0x12, 0xe7, 0x16, 0xa6, - 0x02, 0xc4, 0x81, 0xb3, 0x82, 0x28, 0xad, 0x7e, 0x3c, 0x01, 0x05, 0x56, 0xa2, 0x36, 0x9d, 0x1a, - 0x72, 0x50, 0x4d, 0xf9, 0xff, 0xbd, 0x15, 0xd6, 0x42, 0x54, 0x69, 0x63, 0xb8, 0x23, 0x08, 0xad, - 0xa7, 0x7b, 0x0a, 0xad, 0x7b, 0x07, 0x19, 0x20, 0x4e, 0x6f, 0x55, 0xba, 0xf4, 0xd6, 0x9d, 0xfd, - 0x68, 0x7b, 0xc9, 0xae, 0x4a, 0x97, 0xec, 0x8a, 0xa3, 0x89, 0x54, 0x5f, 0x97, 0xba, 0xd5, 0xd7, - 0xa9, 0x7e, 0x3c, 0xbd, 0x45, 0xd8, 0xa5, 0x6e, 0x11, 0x16, 0xcb, 0x14, 0xad, 0xc5, 0x2e, 0x75, - 0x6b, 0xb1, 0xbe, 0x4c, 0xbd, 0x25, 0xd9, 0xa5, 0x6e, 0x49, 0x16, 0xcb, 0x14, 0xad, 0xcc, 0x1e, - 0x8d, 0x50, 0x66, 0xa7, 0xfb, 0x51, 0xf5, 0x13, 0x68, 0x1b, 0x51, 0x02, 0xed, 0xae, 0xbe, 0x8e, - 0xf5, 0xd5, 0x69, 0x8f, 0x46, 0xe8, 0xb4, 0x78, 0xe7, 0x7a, 0xc8, 0xb5, 0x8d, 0x28, 0xb9, 0x36, - 0x80, 0x73, 0xbd, 0x54, 0xdb, 0x62, 0x58, 0xb5, 0xcd, 0xf6, 0xe3, 0x8a, 0x16, 0x6f, 0x97, 0xba, - 0xc5, 0xdb, 0xa9, 0xf8, 0xb5, 0x18, 0xa5, 0xe1, 0x9e, 0xee, 0xa9, 0xe1, 0x06, 0x5a, 0xdc, 0x71, - 0x52, 0xee, 0xa9, 0x5e, 0x52, 0xee, 0x9e, 0x41, 0xd8, 0xfb, 0x2b, 0xba, 0xc7, 0x7b, 0x28, 0xba, - 0xf9, 0x41, 0xa8, 0x3f, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0x4f, 0x84, 0xdd, 0x27, 0xc2, 0xee, 0xff, - 0x86, 0xb0, 0x2b, 0xa5, 0x5e, 0x7c, 0xf5, 0xb8, 0x74, 0xea, 0x24, 0x8c, 0xb0, 0xa1, 0x95, 0x61, - 0x48, 0xac, 0x97, 0xe5, 0x21, 0xf2, 0xef, 0xa2, 0x2c, 0x91, 0x7f, 0x97, 0xe4, 0xc4, 0xe2, 0xda, - 0xeb, 0xd7, 0xa7, 0x87, 0xbe, 0x7f, 0x7d, 0x7a, 0xe8, 0x87, 0xd7, 0xa7, 0x87, 0xde, 0xbc, 0x3e, - 0x2d, 0xbd, 0x7d, 0x7d, 0x5a, 0x7a, 0xf7, 0xfa, 0xb4, 0xf4, 0xfe, 0xf5, 0x69, 0xe9, 0xda, 0xe1, - 0xb4, 0xf4, 0x95, 0xc3, 0x69, 0xe9, 0x6b, 0x87, 0xd3, 0xd2, 0xb7, 0x0e, 0xa7, 0xa5, 0xef, 0x1e, - 0x4e, 0x4b, 0xaf, 0x1f, 0x4e, 0x4b, 0xdf, 0x3f, 0x9c, 0x96, 0xde, 0x3c, 0x9c, 0x96, 0xde, 0x3e, - 0x9c, 0x1e, 0x7a, 0xf7, 0x70, 0x5a, 0x7a, 0xff, 0x70, 0x7a, 0xe8, 0xda, 0x4f, 0xa6, 0x87, 0xfe, - 0x37, 0x00, 0x00, 0xff, 0xff, 0x71, 0xf1, 0x7d, 0x92, 0x90, 0x49, 0x00, 0x00, + 0x6f, 0x0e, 0xe6, 0x00, 0xec, 0x34, 0xfe, 0xfb, 0x32, 0x3a, 0x88, 0xc3, 0xbe, 0xcb, 0x9d, 0x66, + 0xf6, 0xa5, 0x07, 0x21, 0x8b, 0xff, 0xa4, 0x3f, 0x94, 0x8b, 0x01, 0xff, 0x0f, 0x03, 0x77, 0x10, + 0x78, 0x64, 0xd7, 0xab, 0x79, 0x66, 0x7c, 0xb0, 0x7f, 0xc2, 0x66, 0x9a, 0xdb, 0x97, 0xca, 0x90, + 0x73, 0xbd, 0x5a, 0xad, 0xcd, 0xf4, 0x69, 0x0c, 0xfc, 0x7f, 0x3f, 0xf0, 0xaf, 0x2c, 0x7c, 0x0c, + 0x9e, 0xed, 0xab, 0x97, 0xbd, 0x96, 0x4d, 0x3e, 0x73, 0xc4, 0x31, 0xbc, 0xc7, 0x18, 0x04, 0xc8, + 0x62, 0x25, 0xfa, 0xfa, 0x16, 0x56, 0xec, 0x15, 0x9b, 0x5e, 0xdc, 0x3e, 0x35, 0x13, 0x7f, 0x03, + 0x0b, 0x3f, 0xb9, 0x1b, 0x3e, 0x6d, 0xd8, 0xcd, 0x5d, 0xdb, 0x9d, 0xdf, 0xb5, 0xbd, 0xfd, 0xf9, + 0xa6, 0xde, 0x72, 0x49, 0xcf, 0x02, 0xbb, 0x97, 0xcd, 0xb1, 0x27, 0xdc, 0x31, 0x75, 0xb4, 0x3b, + 0xdd, 0x99, 0x9b, 0x61, 0xf4, 0x62, 0xc3, 0xd6, 0x3d, 0xd3, 0xaa, 0x6f, 0x61, 0xb7, 0x95, 0x3c, + 0x48, 0x7b, 0xe4, 0x9b, 0xa4, 0xa4, 0x4a, 0x7b, 0x33, 0xff, 0x9c, 0x86, 0x2c, 0xbd, 0x0e, 0x5c, + 0xd7, 0x5b, 0xca, 0xcf, 0x43, 0x7e, 0x83, 0xad, 0xc1, 0x7b, 0x17, 0xce, 0xbb, 0xfe, 0xe7, 0x07, + 0x61, 0xfc, 0x39, 0xdf, 0x7a, 0x4e, 0x34, 0x25, 0xbf, 0x41, 0x58, 0xbc, 0xe7, 0x87, 0x6f, 0x1c, + 0xbf, 0xab, 0xa7, 0x7f, 0x58, 0x55, 0xcc, 0xd3, 0xc5, 0x32, 0xb7, 0x63, 0x5a, 0xde, 0xbd, 0x0b, + 0xe7, 0xd5, 0xc0, 0x78, 0xca, 0x15, 0xc8, 0xb0, 0x0e, 0x97, 0x7d, 0x96, 0xba, 0xb5, 0xc7, 0xd8, + 0xdc, 0x8c, 0x8e, 0x7b, 0xe6, 0xf5, 0x37, 0x8e, 0x0f, 0x1d, 0x79, 0x6c, 0x7f, 0x2c, 0xe5, 0x59, + 0xc8, 0x71, 0x3f, 0x56, 0x6b, 0x2e, 0xfb, 0xff, 0x0d, 0x77, 0xc4, 0xbc, 0xf6, 0x6a, 0x8d, 0x8d, + 0x7e, 0xfb, 0x0f, 0xdf, 0x38, 0x3e, 0xd3, 0x77, 0xe4, 0xb9, 0x9d, 0xb6, 0x59, 0x53, 0xc5, 0x31, + 0x94, 0xa7, 0x21, 0x89, 0x87, 0xa2, 0x3f, 0x09, 0x3d, 0xde, 0x63, 0x28, 0x7f, 0x88, 0x53, 0xec, + 0x05, 0x07, 0x19, 0x06, 0xf3, 0x4e, 0x3d, 0x0c, 0xe3, 0x5d, 0xd3, 0xa3, 0xc8, 0x90, 0xbc, 0x8c, + 0x0e, 0xd8, 0x6f, 0xef, 0xf0, 0x9f, 0xca, 0x64, 0xe7, 0xc7, 0xb1, 0xd2, 0x6c, 0x9e, 0xfd, 0xe2, + 0xb5, 0x94, 0x38, 0x2f, 0x4d, 0x5d, 0x80, 0xd1, 0x40, 0x8c, 0x8f, 0x04, 0x7e, 0x08, 0xe4, 0x70, + 0x94, 0x8e, 0x84, 0x3f, 0x07, 0x99, 0x0f, 0x83, 0x9b, 0xf9, 0x81, 0x02, 0x23, 0xe5, 0x46, 0x63, + 0x5d, 0x6f, 0xb9, 0xca, 0x93, 0x30, 0x4e, 0xcf, 0x3e, 0xdb, 0xf6, 0x32, 0xf9, 0x10, 0xb8, 0xae, + 0xb7, 0x58, 0x42, 0x9f, 0x0e, 0x84, 0x9b, 0x01, 0xe6, 0xba, 0xac, 0xc9, 0xf8, 0x6a, 0x37, 0x8b, + 0xf2, 0x18, 0xc8, 0xbc, 0x91, 0xac, 0x2d, 0xcc, 0x4c, 0xd3, 0xf5, 0x54, 0x5f, 0x66, 0x6e, 0x4c, + 0x89, 0xbb, 0x38, 0x94, 0x87, 0x20, 0xb3, 0x6a, 0x79, 0xf7, 0x2d, 0x60, 0x3e, 0x9a, 0x83, 0x33, + 0x91, 0x7c, 0xdc, 0x88, 0xf2, 0xf8, 0x18, 0x86, 0x3f, 0x77, 0x06, 0xe3, 0x53, 0xfd, 0xf1, 0xc4, + 0xa8, 0x83, 0x27, 0x8f, 0x4a, 0x19, 0xb2, 0x78, 0xce, 0xa9, 0x03, 0xf4, 0xbf, 0xd6, 0xdc, 0x12, + 0x49, 0xe0, 0x5b, 0x51, 0x86, 0x0e, 0x8a, 0x53, 0x50, 0x1f, 0x86, 0x63, 0x28, 0x04, 0x27, 0x3a, + 0x28, 0x4c, 0x51, 0xf5, 0xbd, 0x18, 0xe9, 0x43, 0x51, 0x0d, 0x79, 0x51, 0x15, 0xbd, 0xa8, 0xfa, + 0x5e, 0x64, 0x62, 0x28, 0x44, 0x2f, 0xfc, 0x67, 0x65, 0x19, 0xe0, 0xa2, 0xf9, 0x1c, 0xaa, 0x51, + 0x37, 0xb2, 0x11, 0xc5, 0x88, 0x73, 0x74, 0xcc, 0x28, 0x89, 0x80, 0x53, 0x56, 0x20, 0x57, 0xdd, + 0xeb, 0xd0, 0x00, 0xfb, 0x9f, 0x45, 0x91, 0xae, 0xec, 0x85, 0x78, 0x44, 0xa4, 0xef, 0x0e, 0x7d, + 0xa5, 0x5c, 0x9c, 0x3b, 0xc2, 0x3b, 0x09, 0xb8, 0x8e, 0x3b, 0x94, 0x26, 0x1f, 0xeb, 0x8e, 0xc0, + 0x23, 0x22, 0x95, 0x0b, 0x30, 0xb2, 0x68, 0xdb, 0xd8, 0xb2, 0x38, 0x4a, 0x48, 0x4e, 0x46, 0x92, + 0x30, 0x1b, 0x4a, 0xc0, 0x11, 0x64, 0x76, 0x48, 0xea, 0x63, 0x78, 0xa1, 0xdf, 0xec, 0x70, 0x2b, + 0x3e, 0x3b, 0xfc, 0x59, 0x5c, 0x81, 0x8b, 0x07, 0x1e, 0xc2, 0xe7, 0x8c, 0xe2, 0xd8, 0x00, 0x2b, + 0x90, 0x1b, 0x87, 0x56, 0x20, 0x6f, 0x56, 0xaa, 0x30, 0xc6, 0xdb, 0x2a, 0x56, 0x1b, 0xd7, 0xe0, + 0xa2, 0xcc, 0xfe, 0xdb, 0x40, 0x3f, 0x5a, 0x66, 0x4b, 0x59, 0xc3, 0x0c, 0xca, 0x16, 0x14, 0x78, + 0xd3, 0xba, 0x4b, 0x5e, 0x7a, 0x3c, 0x62, 0x5f, 0x0d, 0x73, 0x52, 0x53, 0x4a, 0x19, 0xc2, 0x4f, + 0x2d, 0xc3, 0xb1, 0xe8, 0x6a, 0x15, 0x57, 0x2d, 0x25, 0xb1, 0xca, 0x2e, 0xc1, 0x0d, 0x91, 0x95, + 0x29, 0x8e, 0x24, 0x11, 0xda, 0x27, 0x02, 0xe5, 0x48, 0x04, 0xa7, 0x23, 0xc0, 0xe9, 0x6e, 0x70, + 0x27, 0xc9, 0x44, 0x70, 0x32, 0x02, 0x9c, 0x14, 0xc1, 0x9f, 0x81, 0x42, 0xb0, 0x0e, 0x89, 0xe8, + 0xd1, 0x08, 0xf4, 0x68, 0x04, 0x3a, 0x7a, 0xec, 0x54, 0x04, 0x3a, 0x15, 0x42, 0x57, 0x7b, 0x8e, + 0x3d, 0x1e, 0x81, 0x1e, 0x8f, 0x40, 0x47, 0x8f, 0xad, 0x44, 0xa0, 0x15, 0x11, 0xfd, 0x20, 0x8c, + 0x85, 0x4a, 0x8e, 0x08, 0x1f, 0x89, 0x80, 0x8f, 0x84, 0xf6, 0xe6, 0x70, 0xa9, 0x11, 0xf1, 0x63, + 0x11, 0xf8, 0xb1, 0xa8, 0xe1, 0xa3, 0xbd, 0x1f, 0x8e, 0x80, 0x0f, 0x47, 0x0e, 0x1f, 0x8d, 0x97, + 0x23, 0xf0, 0xb2, 0x88, 0x2f, 0x41, 0x5e, 0xac, 0x2a, 0x22, 0x36, 0x13, 0x81, 0xcd, 0x84, 0xe3, + 0x1e, 0x28, 0x29, 0x71, 0x99, 0x9e, 0xed, 0xb1, 0x5c, 0x02, 0x65, 0xe4, 0x48, 0xca, 0xe6, 0x09, + 0x98, 0x8c, 0x2a, 0x1a, 0x11, 0x1c, 0xa7, 0x44, 0x8e, 0xc2, 0xc2, 0x64, 0xa0, 0x58, 0x10, 0x5c, + 0xbb, 0x29, 0x32, 0x3f, 0x0d, 0x13, 0x11, 0xa5, 0x23, 0x82, 0xf8, 0x1e, 0x91, 0x38, 0xb7, 0x30, + 0x15, 0x20, 0x0e, 0x9c, 0x15, 0x44, 0x69, 0xf5, 0xa3, 0x09, 0x28, 0xb0, 0x12, 0xb5, 0xe9, 0xd4, + 0x90, 0x83, 0x6a, 0xca, 0xcf, 0xf6, 0x56, 0x58, 0x0b, 0x51, 0xa5, 0x8d, 0xe1, 0x8e, 0x20, 0xb4, + 0x9e, 0xee, 0x29, 0xb4, 0xee, 0x1d, 0x64, 0x80, 0x38, 0xbd, 0x55, 0xe9, 0xd2, 0x5b, 0x77, 0xf6, + 0xa3, 0xed, 0x25, 0xbb, 0x2a, 0x5d, 0xb2, 0x2b, 0x8e, 0x26, 0x52, 0x7d, 0x5d, 0xea, 0x56, 0x5f, + 0xa7, 0xfa, 0xf1, 0xf4, 0x16, 0x61, 0x97, 0xba, 0x45, 0x58, 0x2c, 0x53, 0xb4, 0x16, 0xbb, 0xd4, + 0xad, 0xc5, 0xfa, 0x32, 0xf5, 0x96, 0x64, 0x97, 0xba, 0x25, 0x59, 0x2c, 0x53, 0xb4, 0x32, 0x7b, + 0x34, 0x42, 0x99, 0x9d, 0xee, 0x47, 0xd5, 0x4f, 0xa0, 0x6d, 0x44, 0x09, 0xb4, 0xbb, 0xfa, 0x3a, + 0xd6, 0x57, 0xa7, 0x3d, 0x1a, 0xa1, 0xd3, 0xe2, 0x9d, 0xeb, 0x21, 0xd7, 0x36, 0xa2, 0xe4, 0xda, + 0x00, 0xce, 0xf5, 0x52, 0x6d, 0x8b, 0x61, 0xd5, 0x36, 0xdb, 0x8f, 0x2b, 0x5a, 0xbc, 0x5d, 0xea, + 0x16, 0x6f, 0xa7, 0xe2, 0xd7, 0x62, 0x94, 0x86, 0x7b, 0xba, 0xa7, 0x86, 0x1b, 0x68, 0x71, 0xc7, + 0x49, 0xb9, 0xa7, 0x7a, 0x49, 0xb9, 0x7b, 0x06, 0x61, 0xef, 0xaf, 0xe8, 0x1e, 0xef, 0xa1, 0xe8, + 0xe6, 0x07, 0xa1, 0xfe, 0x44, 0xd8, 0x7d, 0x22, 0xec, 0x3e, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0xff, + 0x1f, 0xc2, 0xae, 0x94, 0x7a, 0xf1, 0xd5, 0xe3, 0xd2, 0xa9, 0x93, 0x30, 0xc2, 0x86, 0x56, 0x86, + 0x21, 0xb1, 0x5e, 0x96, 0x87, 0xc8, 0xbf, 0x8b, 0xb2, 0x44, 0xfe, 0x5d, 0x92, 0x13, 0x8b, 0x6b, + 0xaf, 0x5f, 0x9f, 0x1e, 0xfa, 0xde, 0xf5, 0xe9, 0xa1, 0x1f, 0x5c, 0x9f, 0x1e, 0x7a, 0xf3, 0xfa, + 0xb4, 0xf4, 0xf6, 0xf5, 0x69, 0xe9, 0xdd, 0xeb, 0xd3, 0xd2, 0xfb, 0xd7, 0xa7, 0xa5, 0x6b, 0x87, + 0xd3, 0xd2, 0x57, 0x0e, 0xa7, 0xa5, 0xaf, 0x1d, 0x4e, 0x4b, 0xdf, 0x3c, 0x9c, 0x96, 0xbe, 0x73, + 0x38, 0x2d, 0xbd, 0x7e, 0x38, 0x2d, 0x7d, 0xef, 0x70, 0x5a, 0x7a, 0xf3, 0x70, 0x5a, 0x7a, 0xfb, + 0x70, 0x7a, 0xe8, 0xdd, 0xc3, 0x69, 0xe9, 0xfd, 0xc3, 0xe9, 0xa1, 0x6b, 0x3f, 0x9e, 0x1e, 0xfa, + 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x2a, 0xe1, 0x89, 0xe9, 0x49, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -8711,83 +8792,3 @@ var ( ErrInvalidLengthMapsproto2 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMapsproto2 = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/both/mapsproto2.proto", fileDescriptor_mapsproto2_7bd3336f77331b84) -} - -var fileDescriptor_mapsproto2_7bd3336f77331b84 = []byte{ - // 1143 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcb, 0x6f, 0x1a, 0x57, - 0x14, 0xc6, 0xb9, 0x3c, 0x0c, 0x5c, 0xde, 0x37, 0x69, 0x85, 0x50, 0x7b, 0x71, 0xe8, 0x8b, 0x90, - 0x14, 0x6c, 0x1a, 0x45, 0x96, 0xd3, 0xa6, 0x32, 0xb6, 0x53, 0xac, 0x14, 0x37, 0x82, 0xa6, 0x2f, - 0xc9, 0x52, 0xc1, 0x3c, 0x82, 0x0a, 0x0c, 0x65, 0x86, 0xa8, 0xde, 0x54, 0xf9, 0x33, 0xba, 0xed, - 0xae, 0xcb, 0x2e, 0xbb, 0xec, 0xd2, 0x52, 0x37, 0x59, 0x46, 0x51, 0x65, 0x85, 0xe9, 0x26, 0xcb, - 0x2c, 0xb3, 0xac, 0xe6, 0xce, 0x83, 0x3b, 0x33, 0x67, 0x66, 0xa0, 0xab, 0x2e, 0xbc, 0xc2, 0x77, - 0x38, 0xdf, 0xef, 0x3b, 0x33, 0x73, 0xef, 0xe1, 0x33, 0x7e, 0xeb, 0x54, 0x18, 0x77, 0x04, 0xb1, - 0xd2, 0x11, 0xa4, 0x47, 0x95, 0x71, 0x7b, 0x2a, 0x4e, 0x67, 0x82, 0x24, 0x54, 0xcb, 0xec, 0x83, - 0xc4, 0xb4, 0x95, 0xf2, 0x45, 0xee, 0xc3, 0xc1, 0x50, 0x7a, 0x34, 0xef, 0x94, 0x4f, 0x85, 0x71, - 0x65, 0x20, 0x0c, 0x84, 0x0a, 0xfb, 0xb2, 0x33, 0xef, 0xb3, 0x15, 0x5b, 0xb0, 0xbf, 0x54, 0x6d, - 0xe1, 0x6d, 0x9c, 0xb8, 0x37, 0x12, 0xda, 0xd2, 0x70, 0x32, 0x78, 0x20, 0x0c, 0x27, 0x12, 0x89, - 0x63, 0xd4, 0xcf, 0xa2, 0x4d, 0x54, 0x44, 0x4d, 0xd4, 0x2f, 0xfc, 0x15, 0xc2, 0xd1, 0xfd, 0xb9, - 0x28, 0x09, 0xe3, 0x46, 0x7b, 0x4a, 0x7e, 0xc6, 0xf1, 0xe3, 0xf9, 0x68, 0xd4, 0xee, 0x8c, 0x7a, - 0xdb, 0xd5, 0x1d, 0x31, 0x8b, 0x36, 0x03, 0xc5, 0x58, 0xb5, 0x58, 0xe6, 0xfc, 0xcb, 0x46, 0x75, - 0x99, 0x2f, 0x3d, 0x9c, 0x48, 0xb3, 0xb3, 0xda, 0xd6, 0xf3, 0x8b, 0xfc, 0x4d, 0xc7, 0xfe, 0xa4, - 0x9e, 0x28, 0x55, 0x4e, 0x99, 0xbc, 0xfc, 0x70, 0x38, 0x91, 0xb6, 0xab, 0x3b, 0x4d, 0x93, 0x1f, - 0x79, 0x8c, 0x23, 0xda, 0x17, 0x62, 0xd6, 0xcf, 0xbc, 0xdf, 0x75, 0xf0, 0xd6, 0xcb, 0x54, 0xdf, - 0x5b, 0xe7, 0x17, 0x79, 0xdf, 0xda, 0xde, 0x86, 0x17, 0xf9, 0x11, 0xc7, 0xf4, 0x3e, 0x8e, 0xba, - 0x62, 0x36, 0xc0, 0xac, 0x3f, 0xf0, 0xb8, 0xed, 0xa3, 0xae, 0xe6, 0xfe, 0xfe, 0xf3, 0x8b, 0x7c, - 0xc1, 0xd5, 0xb9, 0xfc, 0x70, 0x3e, 0xec, 0x36, 0x79, 0x0f, 0x72, 0x82, 0x03, 0x8a, 0x55, 0x90, - 0x59, 0xe5, 0x1d, 0xac, 0x0c, 0x8b, 0x92, 0x76, 0x83, 0xab, 0xd8, 0x28, 0xdc, 0xdc, 0xa7, 0x38, - 0x63, 0x7b, 0x3d, 0x24, 0x8d, 0x03, 0x3f, 0xf4, 0xce, 0xd8, 0xcb, 0x8f, 0x36, 0x95, 0x3f, 0xc9, - 0x55, 0x1c, 0x7a, 0xdc, 0x1e, 0xcd, 0x7b, 0x59, 0xff, 0x26, 0x2a, 0xc6, 0x9b, 0xea, 0x62, 0xd7, - 0xbf, 0x83, 0x72, 0x77, 0x70, 0xc2, 0xf4, 0x8c, 0xd7, 0x12, 0xdf, 0xc5, 0x69, 0xeb, 0x53, 0x5a, - 0x4b, 0x7f, 0x1b, 0x47, 0xfe, 0x8b, 0xae, 0xf0, 0x8c, 0xe0, 0xf0, 0xde, 0x68, 0xd4, 0x68, 0x4f, - 0x45, 0xf2, 0x2d, 0xce, 0xb4, 0xa4, 0xd9, 0x70, 0x32, 0xf8, 0x52, 0x38, 0x10, 0xe6, 0x9d, 0x51, - 0xaf, 0xd1, 0x9e, 0x6a, 0x1b, 0xfa, 0x86, 0xe9, 0x71, 0x6b, 0x82, 0xb2, 0xad, 0x9a, 0xf9, 0x37, - 0xed, 0x14, 0xf2, 0x15, 0x4e, 0xeb, 0x17, 0xd9, 0xd9, 0x52, 0xc8, 0xea, 0x76, 0x2d, 0xb9, 0x92, - 0xf5, 0x62, 0x15, 0x6c, 0x63, 0x90, 0xbb, 0x38, 0x72, 0x34, 0x91, 0x3e, 0xaa, 0x2a, 0x3c, 0x75, - 0x0f, 0x16, 0x40, 0x9e, 0x5e, 0xa4, 0x72, 0x0c, 0x8d, 0xa6, 0xbf, 0x7d, 0x4b, 0xd1, 0x07, 0xdd, - 0xf5, 0xac, 0x68, 0xa9, 0x67, 0x4b, 0xb2, 0x87, 0xa3, 0xca, 0x3b, 0x57, 0x1b, 0x08, 0x31, 0xc0, - 0x3b, 0x20, 0xc0, 0xa8, 0x52, 0x09, 0x4b, 0x95, 0x8e, 0x50, 0x7b, 0xd8, 0xf0, 0x40, 0x70, 0x4d, - 0x2c, 0x55, 0x0a, 0xa2, 0x65, 0x74, 0x11, 0x76, 0x41, 0xb4, 0x2c, 0x5d, 0xb4, 0xf8, 0x2e, 0x5a, - 0x46, 0x17, 0x11, 0x0f, 0x04, 0xdf, 0x85, 0xb1, 0x26, 0x07, 0x18, 0xdf, 0x1b, 0xfe, 0xd4, 0xeb, - 0xaa, 0x6d, 0x44, 0x81, 0x61, 0xa4, 0x33, 0x96, 0x65, 0x2a, 0x84, 0xd3, 0x91, 0xcf, 0x70, 0xac, - 0xd5, 0x5f, 0x62, 0x30, 0xc3, 0xbc, 0x07, 0xb7, 0xd2, 0xb7, 0x70, 0x78, 0xa5, 0xd1, 0x8e, 0x7a, - 0x4b, 0x31, 0xaf, 0x76, 0xb8, 0x7b, 0xe2, 0x74, 0xcb, 0x76, 0x54, 0x4c, 0xdc, 0xb3, 0x1d, 0x8e, - 0xc3, 0x2b, 0xc9, 0x1d, 0x1c, 0xae, 0x09, 0x82, 0x52, 0x99, 0x4d, 0x30, 0xc8, 0x35, 0x10, 0xa2, - 0xd5, 0xa8, 0x00, 0x5d, 0xc1, 0xde, 0x0e, 0xdb, 0xfa, 0x8a, 0x3c, 0xe9, 0xf6, 0x76, 0xf4, 0x2a, - 0xfd, 0xed, 0xe8, 0x6b, 0xfe, 0x04, 0xd6, 0xce, 0xa4, 0x9e, 0xa8, 0x90, 0x52, 0x2b, 0x9c, 0x40, - 0xbd, 0xd8, 0x72, 0x02, 0xf5, 0xcb, 0xa4, 0x85, 0x53, 0xfa, 0xb5, 0xc3, 0xc9, 0x5c, 0x99, 0xc1, - 0xd9, 0x34, 0xc3, 0x5e, 0x77, 0xc5, 0x6a, 0xb5, 0x2a, 0xd5, 0x4a, 0x20, 0x0f, 0x70, 0x52, 0xbf, - 0xd4, 0x10, 0xd9, 0x4d, 0x67, 0x80, 0xdf, 0x55, 0x2b, 0x53, 0x2d, 0x55, 0x91, 0x16, 0x7d, 0xee, - 0x00, 0xbf, 0x09, 0x4f, 0x2b, 0xaf, 0x69, 0x89, 0xf8, 0x29, 0xbb, 0x8f, 0xdf, 0x00, 0x27, 0x93, - 0x17, 0xc4, 0x6f, 0xf9, 0x9d, 0x30, 0x8d, 0x23, 0x5e, 0x1c, 0x02, 0xc4, 0x21, 0xbb, 0x78, 0xb9, - 0xc9, 0x78, 0x71, 0x00, 0x10, 0x07, 0x78, 0xf1, 0xc7, 0x38, 0x69, 0x9e, 0x43, 0xbc, 0x3a, 0x01, - 0xa8, 0x13, 0x80, 0x1a, 0xf6, 0x0e, 0x02, 0xea, 0xa0, 0x45, 0xdd, 0x72, 0xf4, 0xce, 0x00, 0xea, - 0x0c, 0xa0, 0x86, 0xbd, 0x09, 0xa0, 0x26, 0xbc, 0xfa, 0x13, 0x9c, 0xb2, 0x8c, 0x1c, 0x5e, 0x1e, - 0x06, 0xe4, 0x61, 0xcb, 0x6f, 0xb3, 0x75, 0xd4, 0xf0, 0xfa, 0x14, 0xa0, 0x4f, 0x41, 0xf6, 0x70, - 0xf7, 0x1b, 0x80, 0x7c, 0x03, 0xb4, 0x87, 0xf5, 0x69, 0x40, 0x9f, 0xe6, 0xf5, 0xbb, 0x38, 0xce, - 0x4f, 0x15, 0x5e, 0x1b, 0x01, 0xb4, 0x11, 0xeb, 0x73, 0x37, 0x8d, 0x14, 0xaf, 0x9d, 0x1e, 0x75, - 0x38, 0x2e, 0xa6, 0x31, 0xb2, 0x56, 0xb2, 0xf9, 0x06, 0x5f, 0x85, 0x86, 0x06, 0xc0, 0x28, 0xf1, - 0x8c, 0x64, 0xf5, 0xaa, 0x69, 0x58, 0x30, 0xdd, 0x7c, 0xcc, 0x93, 0x4f, 0xf0, 0x15, 0x60, 0x74, - 0x00, 0xe0, 0x2d, 0x1e, 0x1c, 0xab, 0xe6, 0x4c, 0x60, 0xd3, 0xff, 0x0a, 0x7c, 0xb4, 0xfa, 0xfb, - 0x0a, 0x4e, 0x6a, 0x23, 0xea, 0x8b, 0x59, 0xb7, 0x37, 0xeb, 0x75, 0xc9, 0xf7, 0xce, 0x09, 0xab, - 0x0a, 0x8d, 0x36, 0x4d, 0xb7, 0x46, 0xd0, 0x3a, 0x71, 0x0c, 0x5a, 0xdb, 0xab, 0x18, 0x78, 0xe5, - 0xad, 0x43, 0x5b, 0xde, 0xba, 0xee, 0x86, 0x75, 0x8a, 0x5d, 0x87, 0xb6, 0xd8, 0xe5, 0x85, 0x01, - 0xd3, 0x57, 0xdd, 0x9e, 0xbe, 0x4a, 0x6e, 0x1c, 0xe7, 0x10, 0x56, 0xb7, 0x87, 0x30, 0x4f, 0x12, - 0x9c, 0xc5, 0xea, 0xf6, 0x2c, 0xe6, 0x4a, 0x72, 0x8e, 0x64, 0x75, 0x7b, 0x24, 0xf3, 0x24, 0xc1, - 0xc9, 0xec, 0x3e, 0x90, 0xcc, 0x6e, 0xb8, 0xa1, 0xdc, 0x02, 0xda, 0x31, 0x14, 0xd0, 0x6e, 0xba, - 0x36, 0xe6, 0x9a, 0xd3, 0xee, 0x03, 0x39, 0xcd, 0xbb, 0x39, 0x87, 0xb8, 0x76, 0x0c, 0xc5, 0xb5, - 0x15, 0x9a, 0x73, 0x4a, 0x6d, 0x35, 0x6b, 0x6a, 0x2b, 0xba, 0xb1, 0xe0, 0xf0, 0x56, 0xb7, 0x87, - 0xb7, 0x92, 0xf7, 0x59, 0x84, 0x32, 0xdc, 0x89, 0x63, 0x86, 0x5b, 0xe9, 0x70, 0x7b, 0x45, 0xb9, - 0xef, 0x9c, 0xa2, 0xdc, 0xd6, 0x2a, 0x74, 0xf7, 0x44, 0xf7, 0xb5, 0x43, 0xa2, 0xab, 0xac, 0x82, - 0xbe, 0x0c, 0x76, 0x97, 0xc1, 0xee, 0x32, 0xd8, 0x5d, 0x06, 0xbb, 0xff, 0x47, 0xb0, 0xdb, 0x0d, - 0xfe, 0xf2, 0x6b, 0x1e, 0x95, 0xae, 0xe1, 0xb0, 0x66, 0x4d, 0x36, 0xb0, 0xbf, 0xb1, 0x97, 0xf6, - 0xb1, 0xcf, 0x5a, 0x1a, 0xb1, 0xcf, 0xfd, 0xb4, 0xbf, 0xf6, 0xf9, 0xf9, 0x82, 0xfa, 0x9e, 0x2e, - 0xa8, 0xef, 0xd9, 0x82, 0xfa, 0x5e, 0x2c, 0x28, 0x7a, 0xb9, 0xa0, 0xe8, 0xd5, 0x82, 0xa2, 0xd7, - 0x0b, 0x8a, 0x9e, 0xc8, 0x14, 0xfd, 0x26, 0x53, 0xf4, 0xbb, 0x4c, 0xd1, 0x1f, 0x32, 0x45, 0x7f, - 0xca, 0x14, 0x9d, 0xcb, 0x14, 0x3d, 0x95, 0x29, 0x7a, 0x21, 0x53, 0xf4, 0x52, 0xa6, 0xbe, 0x57, - 0x32, 0x45, 0xaf, 0x65, 0xea, 0x7b, 0xf2, 0x0f, 0xf5, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xfa, - 0x87, 0xd5, 0x9e, 0xf2, 0x16, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/marshaler/mapsproto2.pb.go b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/marshaler/mapsproto2.pb.go index de7aaa19e..0c4d6e7a3 100644 --- a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/marshaler/mapsproto2.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/marshaler/mapsproto2.pb.go @@ -3,27 +3,24 @@ package proto2_maps -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -49,6 +46,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -60,9 +58,11 @@ func (x MapEnum) Enum() *MapEnum { *p = x return p } + func (x MapEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(MapEnum_name, int32(x)) } + func (x *MapEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MapEnum_value, data, "MapEnum") if err != nil { @@ -71,8 +71,9 @@ func (x *MapEnum) UnmarshalJSON(data []byte) error { *x = MapEnum(value) return nil } + func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_9bd23591ad6768d5, []int{0} + return fileDescriptor_67f0f1497f401c3f, []int{0} } type FloatingPoint struct { @@ -85,7 +86,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_9bd23591ad6768d5, []int{0} + return fileDescriptor_67f0f1497f401c3f, []int{0} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FloatingPoint.Unmarshal(m, b) @@ -102,8 +103,8 @@ func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return m.Size() @@ -127,7 +128,7 @@ type CustomMap struct { func (m *CustomMap) Reset() { *m = CustomMap{} } func (*CustomMap) ProtoMessage() {} func (*CustomMap) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_9bd23591ad6768d5, []int{1} + return fileDescriptor_67f0f1497f401c3f, []int{1} } func (m *CustomMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomMap.Unmarshal(m, b) @@ -144,8 +145,8 @@ func (m *CustomMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *CustomMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomMap.Merge(dst, src) +func (m *CustomMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomMap.Merge(m, src) } func (m *CustomMap) XXX_Size() int { return m.Size() @@ -182,7 +183,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_9bd23591ad6768d5, []int{2} + return fileDescriptor_67f0f1497f401c3f, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMaps.Unmarshal(m, b) @@ -199,8 +200,8 @@ func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return m.Size() @@ -237,7 +238,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_9bd23591ad6768d5, []int{3} + return fileDescriptor_67f0f1497f401c3f, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMapsOrdered.Unmarshal(m, b) @@ -250,8 +251,8 @@ func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro } return b[:n], nil } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return m.Size() @@ -263,6 +264,7 @@ func (m *AllMapsOrdered) XXX_DiscardUnknown() { var xxx_messageInfo_AllMapsOrdered proto.InternalMessageInfo func init() { + proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) proto.RegisterType((*FloatingPoint)(nil), "proto2.maps.FloatingPoint") proto.RegisterType((*CustomMap)(nil), "proto2.maps.CustomMap") proto.RegisterMapType((map[string]github_com_gogo_protobuf_test.Uuid)(nil), "proto2.maps.CustomMap.IdsEntry") @@ -305,8 +307,86 @@ func init() { proto.RegisterMapType((map[string]*FloatingPoint)(nil), "proto2.maps.AllMapsOrdered.StringToMsgMapEntry") proto.RegisterMapType((map[uint32]uint32)(nil), "proto2.maps.AllMapsOrdered.Uint32MapEntry") proto.RegisterMapType((map[uint64]uint64)(nil), "proto2.maps.AllMapsOrdered.Uint64MapEntry") - proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) } + +func init() { proto.RegisterFile("combos/marshaler/mapsproto2.proto", fileDescriptor_67f0f1497f401c3f) } + +var fileDescriptor_67f0f1497f401c3f = []byte{ + // 1148 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcd, 0x6f, 0x1a, 0x47, + 0x18, 0xc6, 0x19, 0x30, 0x06, 0x86, 0xef, 0x89, 0x5b, 0x21, 0xa4, 0x0e, 0x36, 0xfd, 0x22, 0x24, + 0x05, 0x9b, 0x46, 0x91, 0xe5, 0xb4, 0xa9, 0x8c, 0xed, 0x14, 0x2b, 0xc5, 0x8d, 0xa0, 0xe9, 0x97, + 0x64, 0xa9, 0x60, 0x16, 0x82, 0x0a, 0x2c, 0x65, 0x97, 0xa8, 0xbe, 0x54, 0xf9, 0x33, 0x7a, 0xed, + 0xad, 0xc7, 0x1e, 0x7b, 0xec, 0xd1, 0x52, 0x2f, 0x39, 0x46, 0x51, 0x65, 0x85, 0xed, 0x25, 0xc7, + 0x1c, 0x73, 0xac, 0x76, 0x76, 0x17, 0x66, 0x77, 0xdf, 0xdd, 0x85, 0x9e, 0x72, 0xf0, 0x09, 0xcf, + 0xf2, 0x3e, 0xbf, 0xe7, 0xdd, 0xdd, 0x99, 0x97, 0xc7, 0x78, 0xeb, 0x4c, 0x1c, 0xb6, 0x45, 0xa9, + 0x3c, 0x6c, 0x4d, 0xa4, 0x47, 0xad, 0x81, 0x30, 0x29, 0x0f, 0x5b, 0x63, 0x69, 0x3c, 0x11, 0x65, + 0xb1, 0x52, 0x62, 0x1f, 0x24, 0xaa, 0xaf, 0xd4, 0x2f, 0xb2, 0x1f, 0xf5, 0xfa, 0xf2, 0xa3, 0x69, + 0xbb, 0x74, 0x26, 0x0e, 0xcb, 0x3d, 0xb1, 0x27, 0x96, 0xd9, 0x97, 0xed, 0x69, 0x97, 0xad, 0xd8, + 0x82, 0xfd, 0xa5, 0x69, 0xf3, 0xef, 0xe0, 0xf8, 0xbd, 0x81, 0xd8, 0x92, 0xfb, 0xa3, 0xde, 0x03, + 0xb1, 0x3f, 0x92, 0x49, 0x0c, 0xa3, 0x6e, 0x06, 0x6d, 0xa2, 0x02, 0x6a, 0xa0, 0x6e, 0xfe, 0xef, + 0x20, 0x8e, 0x1c, 0x4c, 0x25, 0x59, 0x1c, 0xd6, 0x5b, 0x63, 0xf2, 0x0b, 0x8e, 0x9d, 0x4c, 0x07, + 0x83, 0x56, 0x7b, 0x20, 0xec, 0x54, 0x76, 0xa5, 0x0c, 0xda, 0x0c, 0x14, 0xa2, 0x95, 0x42, 0x89, + 0xf3, 0x2f, 0xcd, 0xab, 0x4b, 0x7c, 0xe9, 0xd1, 0x48, 0x9e, 0x9c, 0x57, 0xb7, 0x9f, 0x5f, 0xe6, + 0x6e, 0x3a, 0xf6, 0x27, 0x0b, 0x92, 0x5c, 0x3e, 0x63, 0xf2, 0xd2, 0xc3, 0xfe, 0x48, 0xde, 0xa9, + 0xec, 0x36, 0x4c, 0x7e, 0xe4, 0x31, 0x0e, 0xeb, 0x5f, 0x48, 0x19, 0x3f, 0xf3, 0x7e, 0xcf, 0xc1, + 0xdb, 0x28, 0xd3, 0x7c, 0x6f, 0x5d, 0x5c, 0xe6, 0x7c, 0x2b, 0x7b, 0xcf, 0xbd, 0xc8, 0x4f, 0x38, + 0x6a, 0xf4, 0x71, 0xdc, 0x91, 0x32, 0x01, 0x66, 0xfd, 0xa1, 0xc7, 0x6d, 0x1f, 0x77, 0x74, 0xf7, + 0x0f, 0x9e, 0x5f, 0xe6, 0xf2, 0xae, 0xce, 0xa5, 0x87, 0xd3, 0x7e, 0xa7, 0xc1, 0x7b, 0x90, 0x53, + 0x1c, 0x50, 0xad, 0xd6, 0x98, 0x55, 0xce, 0xc1, 0x6a, 0x6e, 0x51, 0xd4, 0x6f, 0x70, 0x19, 0x1b, + 0x95, 0x9b, 0xfd, 0x0c, 0xa7, 0x6d, 0xaf, 0x87, 0xa4, 0x70, 0xe0, 0x47, 0xe1, 0x9c, 0xbd, 0xfc, + 0x48, 0x43, 0xfd, 0x93, 0x6c, 0xe0, 0xe0, 0xe3, 0xd6, 0x60, 0x2a, 0x64, 0xfc, 0x9b, 0xa8, 0x10, + 0x6b, 0x68, 0x8b, 0x3d, 0xff, 0x2e, 0xca, 0xde, 0xc1, 0x71, 0xd3, 0x33, 0x5e, 0x49, 0x7c, 0x17, + 0xa7, 0xac, 0x4f, 0x69, 0x25, 0xfd, 0x6d, 0x1c, 0xfe, 0x3f, 0xba, 0xfc, 0x33, 0x82, 0x43, 0xfb, + 0x83, 0x41, 0xbd, 0x35, 0x96, 0xc8, 0x77, 0x38, 0xdd, 0x94, 0x27, 0xfd, 0x51, 0xef, 0x2b, 0xf1, + 0x50, 0x9c, 0xb6, 0x07, 0x42, 0xbd, 0x35, 0xd6, 0x37, 0xf4, 0x0d, 0xd3, 0xe3, 0xd6, 0x05, 0x25, + 0x5b, 0x35, 0xf3, 0x6f, 0xd8, 0x29, 0xe4, 0x6b, 0x9c, 0x32, 0x2e, 0xb2, 0xb3, 0xa5, 0x92, 0xb5, + 0xed, 0x5a, 0x74, 0x25, 0x1b, 0xc5, 0x1a, 0xd8, 0xc6, 0x20, 0x77, 0x71, 0xf8, 0x78, 0x24, 0x7f, + 0x5c, 0x51, 0x79, 0xda, 0x1e, 0xcc, 0x83, 0x3c, 0xa3, 0x48, 0xe3, 0xcc, 0x35, 0xba, 0xfe, 0xf6, + 0x2d, 0x55, 0xbf, 0xe6, 0xae, 0x67, 0x45, 0x0b, 0x3d, 0x5b, 0x92, 0x7d, 0x1c, 0x51, 0xdf, 0xb9, + 0xd6, 0x40, 0x90, 0x01, 0xde, 0x05, 0x01, 0xf3, 0x2a, 0x8d, 0xb0, 0x50, 0x19, 0x08, 0xad, 0x87, + 0x75, 0x0f, 0x04, 0xd7, 0xc4, 0x42, 0xa5, 0x22, 0x9a, 0xf3, 0x2e, 0x42, 0x2e, 0x88, 0xa6, 0xa5, + 0x8b, 0x26, 0xdf, 0x45, 0x73, 0xde, 0x45, 0xd8, 0x03, 0xc1, 0x77, 0x31, 0x5f, 0x93, 0x43, 0x8c, + 0xef, 0xf5, 0x7f, 0x16, 0x3a, 0x5a, 0x1b, 0x11, 0x60, 0x18, 0x19, 0x8c, 0x45, 0x99, 0x06, 0xe1, + 0x74, 0xe4, 0x73, 0x1c, 0x6d, 0x76, 0x17, 0x18, 0xcc, 0x30, 0xef, 0xc3, 0xad, 0x74, 0x2d, 0x1c, + 0x5e, 0x39, 0x6f, 0x47, 0xbb, 0xa5, 0xa8, 0x57, 0x3b, 0xdc, 0x3d, 0x71, 0xba, 0x45, 0x3b, 0x1a, + 0x26, 0xe6, 0xd9, 0x0e, 0xc7, 0xe1, 0x95, 0xe4, 0x0e, 0x0e, 0x55, 0x45, 0x51, 0xad, 0xcc, 0xc4, + 0x19, 0x64, 0x0b, 0x84, 0xe8, 0x35, 0x1a, 0xc0, 0x50, 0xb0, 0xb7, 0xc3, 0xb6, 0xbe, 0x2a, 0x4f, + 0xb8, 0xbd, 0x1d, 0xa3, 0xca, 0x78, 0x3b, 0xc6, 0x9a, 0x3f, 0x81, 0xd5, 0x73, 0x59, 0x90, 0x54, + 0x52, 0x72, 0x89, 0x13, 0x68, 0x14, 0x5b, 0x4e, 0xa0, 0x71, 0x99, 0x34, 0x71, 0xd2, 0xb8, 0x76, + 0x34, 0x9a, 0xaa, 0x33, 0x38, 0x93, 0x62, 0xd8, 0xeb, 0xae, 0x58, 0xbd, 0x56, 0xa3, 0x5a, 0x09, + 0xe4, 0x01, 0x4e, 0x18, 0x97, 0xea, 0x12, 0xbb, 0xe9, 0x34, 0xf0, 0xbb, 0x6a, 0x65, 0x6a, 0xa5, + 0x1a, 0xd2, 0xa2, 0xcf, 0x1e, 0xe2, 0xb7, 0xe1, 0x69, 0xe5, 0x35, 0x2d, 0x11, 0x3f, 0x65, 0x0f, + 0xf0, 0x5b, 0xe0, 0x64, 0xf2, 0x82, 0xf8, 0x2d, 0xbf, 0x13, 0xa6, 0x71, 0xc4, 0x8b, 0x83, 0x80, + 0x38, 0x68, 0x17, 0x2f, 0x36, 0x19, 0x2f, 0x0e, 0x00, 0xe2, 0x00, 0x2f, 0xfe, 0x04, 0x27, 0xcc, + 0x73, 0x88, 0x57, 0xc7, 0x01, 0x75, 0x1c, 0x50, 0xc3, 0xde, 0x6b, 0x80, 0x7a, 0xcd, 0xa2, 0x6e, + 0x3a, 0x7a, 0xa7, 0x01, 0x75, 0x1a, 0x50, 0xc3, 0xde, 0x04, 0x50, 0x13, 0x5e, 0xfd, 0x29, 0x4e, + 0x5a, 0x46, 0x0e, 0x2f, 0x0f, 0x01, 0xf2, 0x90, 0xe5, 0xb7, 0xd9, 0x3a, 0x6a, 0x78, 0x7d, 0x12, + 0xd0, 0x27, 0x21, 0x7b, 0xb8, 0xfb, 0x75, 0x40, 0xbe, 0x0e, 0xda, 0xc3, 0xfa, 0x14, 0xa0, 0x4f, + 0xf1, 0xfa, 0x3d, 0x1c, 0xe3, 0xa7, 0x0a, 0xaf, 0x0d, 0x03, 0xda, 0xb0, 0xf5, 0xb9, 0x9b, 0x46, + 0x8a, 0xd7, 0x4e, 0x8f, 0x38, 0x1c, 0x17, 0xd3, 0x18, 0x59, 0x29, 0xd9, 0x7c, 0x8b, 0x37, 0xa0, + 0xa1, 0x01, 0x30, 0x8a, 0x3c, 0x23, 0x51, 0xd9, 0x30, 0x0d, 0x0b, 0xa6, 0x9b, 0x0e, 0x79, 0xf2, + 0x29, 0xbe, 0x06, 0x8c, 0x0e, 0x00, 0xbc, 0xcd, 0x83, 0xa3, 0x95, 0xac, 0x09, 0x6c, 0xfa, 0x5f, + 0x81, 0x8f, 0x56, 0xff, 0x5c, 0xc3, 0x09, 0x7d, 0x44, 0x7d, 0x39, 0xe9, 0x08, 0x13, 0xa1, 0x43, + 0x7e, 0x70, 0x4e, 0x58, 0x15, 0x68, 0xb4, 0xe9, 0xba, 0x15, 0x82, 0xd6, 0xa9, 0x63, 0xd0, 0xda, + 0x59, 0xc6, 0xc0, 0x2b, 0x6f, 0x1d, 0xd9, 0xf2, 0xd6, 0x75, 0x37, 0xac, 0x53, 0xec, 0x3a, 0xb2, + 0xc5, 0x2e, 0x2f, 0x0c, 0x98, 0xbe, 0x6a, 0xf6, 0xf4, 0x55, 0x74, 0xe3, 0x38, 0x87, 0xb0, 0x9a, + 0x3d, 0x84, 0x79, 0x92, 0xe0, 0x2c, 0x56, 0xb3, 0x67, 0x31, 0x57, 0x92, 0x73, 0x24, 0xab, 0xd9, + 0x23, 0x99, 0x27, 0x09, 0x4e, 0x66, 0xf7, 0x81, 0x64, 0x76, 0xc3, 0x0d, 0xe5, 0x16, 0xd0, 0x4e, + 0xa0, 0x80, 0x76, 0xd3, 0xb5, 0x31, 0xd7, 0x9c, 0x76, 0x1f, 0xc8, 0x69, 0xde, 0xcd, 0x39, 0xc4, + 0xb5, 0x13, 0x28, 0xae, 0x2d, 0xd1, 0x9c, 0x53, 0x6a, 0xab, 0x5a, 0x53, 0x5b, 0xc1, 0x8d, 0x05, + 0x87, 0xb7, 0x9a, 0x3d, 0xbc, 0x15, 0xbd, 0xcf, 0x22, 0x94, 0xe1, 0x4e, 0x1d, 0x33, 0xdc, 0x52, + 0x87, 0xdb, 0x2b, 0xca, 0x7d, 0xef, 0x14, 0xe5, 0xb6, 0x97, 0xa1, 0xbb, 0x27, 0xba, 0x6f, 0x1c, + 0x12, 0x5d, 0x79, 0x19, 0xf4, 0x55, 0xb0, 0xbb, 0x0a, 0x76, 0x57, 0xc1, 0xee, 0x2a, 0xd8, 0xbd, + 0x19, 0xc1, 0x6e, 0x6f, 0xed, 0xd7, 0xdf, 0x72, 0xa8, 0xb8, 0x85, 0x43, 0xba, 0x35, 0x59, 0xc7, + 0xfe, 0xfa, 0x7e, 0xca, 0xc7, 0x3e, 0xab, 0x29, 0xc4, 0x3e, 0x0f, 0x52, 0xfe, 0xea, 0x17, 0x17, + 0x33, 0xea, 0x7b, 0x3a, 0xa3, 0xbe, 0x67, 0x33, 0xea, 0x7b, 0x31, 0xa3, 0xe8, 0xe5, 0x8c, 0xa2, + 0x57, 0x33, 0x8a, 0x5e, 0xcf, 0x28, 0x7a, 0xa2, 0x50, 0xf4, 0xbb, 0x42, 0xd1, 0x1f, 0x0a, 0x45, + 0x7f, 0x2a, 0x14, 0xfd, 0xa5, 0x50, 0x74, 0xa1, 0x50, 0xf4, 0x54, 0xa1, 0xbe, 0x17, 0x0a, 0x45, + 0x2f, 0x15, 0xea, 0x7b, 0xa5, 0x50, 0xf4, 0x5a, 0xa1, 0xbe, 0x27, 0xff, 0x52, 0xdf, 0x7f, 0x01, + 0x00, 0x00, 0xff, 0xff, 0xec, 0x4e, 0x18, 0x12, 0xf7, 0x16, 0x00, 0x00, +} + func (this *FloatingPoint) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Mapsproto2Description() } @@ -322,222 +402,224 @@ func (this *AllMapsOrdered) Description() (desc *github_com_gogo_protobuf_protoc func Mapsproto2Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4797 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7b, 0x5b, 0x6c, 0x23, 0xd7, - 0x79, 0xbf, 0x86, 0x17, 0x89, 0xfc, 0x48, 0x51, 0xa3, 0x91, 0xbc, 0xa6, 0x95, 0x58, 0xbb, 0x2b, - 0xdf, 0xe4, 0x5d, 0x5b, 0xb2, 0xe5, 0xdd, 0xf5, 0x9a, 0x1b, 0xdb, 0x7f, 0x4a, 0xe2, 0x6a, 0x65, - 0xeb, 0x96, 0xa1, 0xe4, 0x5b, 0x60, 0xcc, 0x7f, 0x34, 0x3c, 0xa2, 0xc6, 0x4b, 0xce, 0xd0, 0x33, - 0xc3, 0x5d, 0xcb, 0x28, 0x8a, 0x2d, 0xdc, 0x0b, 0x82, 0xa2, 0xf7, 0x02, 0x75, 0x5c, 0xc7, 0xad, - 0x53, 0x34, 0x4e, 0xd3, 0x5b, 0xd2, 0xb4, 0x69, 0x92, 0xbe, 0xe4, 0x25, 0xad, 0x81, 0x02, 0x45, - 0xf2, 0x16, 0x04, 0x81, 0xe1, 0x55, 0x0c, 0xd4, 0x6d, 0xdd, 0xc6, 0x6d, 0x0d, 0xd4, 0x80, 0x5f, - 0x8a, 0x73, 0x1b, 0x9e, 0x19, 0x0e, 0x39, 0x94, 0x01, 0x3b, 0x7d, 0xf0, 0xd3, 0x6a, 0xce, 0xf9, - 0x7e, 0xbf, 0xf3, 0xcd, 0x77, 0xbe, 0xf3, 0x9d, 0xdf, 0x39, 0xc3, 0x85, 0x9f, 0x3e, 0x00, 0x27, - 0xea, 0xb6, 0x5d, 0x6f, 0xa0, 0xf9, 0x96, 0x63, 0x7b, 0xf6, 0x6e, 0x7b, 0x6f, 0xbe, 0x86, 0x5c, - 0xc3, 0x31, 0x5b, 0x9e, 0xed, 0xcc, 0x91, 0x36, 0x65, 0x8c, 0x5a, 0xcc, 0x71, 0x8b, 0x99, 0x75, - 0x18, 0xbf, 0x68, 0x36, 0xd0, 0xb2, 0x6f, 0x58, 0x45, 0x9e, 0x72, 0x1e, 0x52, 0x7b, 0x66, 0x03, - 0x15, 0xa5, 0x13, 0xc9, 0xd9, 0xdc, 0xc2, 0xad, 0x73, 0x21, 0xd0, 0x5c, 0x10, 0xb1, 0x85, 0x9b, - 0x55, 0x82, 0x98, 0x79, 0x2b, 0x05, 0x13, 0x11, 0xbd, 0x8a, 0x02, 0x29, 0x4b, 0x6f, 0x62, 0x46, - 0x69, 0x36, 0xab, 0x92, 0xbf, 0x95, 0x22, 0x8c, 0xb4, 0x74, 0xe3, 0xb2, 0x5e, 0x47, 0xc5, 0x04, - 0x69, 0xe6, 0x8f, 0xca, 0x34, 0x40, 0x0d, 0xb5, 0x90, 0x55, 0x43, 0x96, 0x71, 0x50, 0x4c, 0x9e, - 0x48, 0xce, 0x66, 0x55, 0xa1, 0x45, 0x39, 0x0d, 0xe3, 0xad, 0xf6, 0x6e, 0xc3, 0x34, 0x34, 0xc1, - 0x0c, 0x4e, 0x24, 0x67, 0xd3, 0xaa, 0x4c, 0x3b, 0x96, 0x3b, 0xc6, 0x77, 0xc0, 0xd8, 0x55, 0xa4, - 0x5f, 0x16, 0x4d, 0x73, 0xc4, 0xb4, 0x80, 0x9b, 0x05, 0xc3, 0x25, 0xc8, 0x37, 0x91, 0xeb, 0xea, - 0x75, 0xa4, 0x79, 0x07, 0x2d, 0x54, 0x4c, 0x91, 0xb7, 0x3f, 0xd1, 0xf5, 0xf6, 0xe1, 0x37, 0xcf, - 0x31, 0xd4, 0xf6, 0x41, 0x0b, 0x29, 0x65, 0xc8, 0x22, 0xab, 0xdd, 0xa4, 0x0c, 0xe9, 0x1e, 0xf1, - 0xab, 0x58, 0xed, 0x66, 0x98, 0x25, 0x83, 0x61, 0x8c, 0x62, 0xc4, 0x45, 0xce, 0x15, 0xd3, 0x40, - 0xc5, 0x61, 0x42, 0x70, 0x47, 0x17, 0x41, 0x95, 0xf6, 0x87, 0x39, 0x38, 0x4e, 0x59, 0x82, 0x2c, - 0x7a, 0xce, 0x43, 0x96, 0x6b, 0xda, 0x56, 0x71, 0x84, 0x90, 0xdc, 0x16, 0x31, 0x8b, 0xa8, 0x51, - 0x0b, 0x53, 0x74, 0x70, 0xca, 0x39, 0x18, 0xb1, 0x5b, 0x9e, 0x69, 0x5b, 0x6e, 0x31, 0x73, 0x42, - 0x9a, 0xcd, 0x2d, 0x7c, 0x3a, 0x32, 0x11, 0x36, 0xa9, 0x8d, 0xca, 0x8d, 0x95, 0x55, 0x90, 0x5d, - 0xbb, 0xed, 0x18, 0x48, 0x33, 0xec, 0x1a, 0xd2, 0x4c, 0x6b, 0xcf, 0x2e, 0x66, 0x09, 0xc1, 0xf1, - 0xee, 0x17, 0x21, 0x86, 0x4b, 0x76, 0x0d, 0xad, 0x5a, 0x7b, 0xb6, 0x5a, 0x70, 0x03, 0xcf, 0xca, - 0x31, 0x18, 0x76, 0x0f, 0x2c, 0x4f, 0x7f, 0xae, 0x98, 0x27, 0x19, 0xc2, 0x9e, 0x66, 0xbe, 0x3d, - 0x0c, 0x63, 0x83, 0xa4, 0xd8, 0x05, 0x48, 0xef, 0xe1, 0xb7, 0x2c, 0x26, 0x8e, 0x12, 0x03, 0x8a, - 0x09, 0x06, 0x71, 0xf8, 0x43, 0x06, 0xb1, 0x0c, 0x39, 0x0b, 0xb9, 0x1e, 0xaa, 0xd1, 0x8c, 0x48, - 0x0e, 0x98, 0x53, 0x40, 0x41, 0xdd, 0x29, 0x95, 0xfa, 0x50, 0x29, 0xf5, 0x04, 0x8c, 0xf9, 0x2e, - 0x69, 0x8e, 0x6e, 0xd5, 0x79, 0x6e, 0xce, 0xc7, 0x79, 0x32, 0x57, 0xe1, 0x38, 0x15, 0xc3, 0xd4, - 0x02, 0x0a, 0x3c, 0x2b, 0xcb, 0x00, 0xb6, 0x85, 0xec, 0x3d, 0xad, 0x86, 0x8c, 0x46, 0x31, 0xd3, - 0x23, 0x4a, 0x9b, 0xd8, 0xa4, 0x2b, 0x4a, 0x36, 0x6d, 0x35, 0x1a, 0xca, 0x03, 0x9d, 0x54, 0x1b, - 0xe9, 0x91, 0x29, 0xeb, 0x74, 0x91, 0x75, 0x65, 0xdb, 0x0e, 0x14, 0x1c, 0x84, 0xf3, 0x1e, 0xd5, - 0xd8, 0x9b, 0x65, 0x89, 0x13, 0x73, 0xb1, 0x6f, 0xa6, 0x32, 0x18, 0x7d, 0xb1, 0x51, 0x47, 0x7c, - 0x54, 0x6e, 0x01, 0xbf, 0x41, 0x23, 0x69, 0x05, 0xa4, 0x0a, 0xe5, 0x79, 0xe3, 0x86, 0xde, 0x44, - 0x53, 0xcf, 0x43, 0x21, 0x18, 0x1e, 0x65, 0x12, 0xd2, 0xae, 0xa7, 0x3b, 0x1e, 0xc9, 0xc2, 0xb4, - 0x4a, 0x1f, 0x14, 0x19, 0x92, 0xc8, 0xaa, 0x91, 0x2a, 0x97, 0x56, 0xf1, 0x9f, 0xca, 0xff, 0xeb, - 0xbc, 0x70, 0x92, 0xbc, 0xf0, 0xed, 0xdd, 0x33, 0x1a, 0x60, 0x0e, 0xbf, 0xf7, 0xd4, 0xfd, 0x30, - 0x1a, 0x78, 0x81, 0x41, 0x87, 0x9e, 0xf9, 0x39, 0xb8, 0x21, 0x92, 0x5a, 0x79, 0x02, 0x26, 0xdb, - 0x96, 0x69, 0x79, 0xc8, 0x69, 0x39, 0x08, 0x67, 0x2c, 0x1d, 0xaa, 0xf8, 0xcf, 0x23, 0x3d, 0x72, - 0x6e, 0x47, 0xb4, 0xa6, 0x2c, 0xea, 0x44, 0xbb, 0xbb, 0xf1, 0x54, 0x36, 0xf3, 0xf6, 0x88, 0x7c, - 0xed, 0xda, 0xb5, 0x6b, 0x89, 0x99, 0x17, 0x87, 0x61, 0x32, 0x6a, 0xcd, 0x44, 0x2e, 0xdf, 0x63, - 0x30, 0x6c, 0xb5, 0x9b, 0xbb, 0xc8, 0x21, 0x41, 0x4a, 0xab, 0xec, 0x49, 0x29, 0x43, 0xba, 0xa1, - 0xef, 0xa2, 0x46, 0x31, 0x75, 0x42, 0x9a, 0x2d, 0x2c, 0x9c, 0x1e, 0x68, 0x55, 0xce, 0xad, 0x61, - 0x88, 0x4a, 0x91, 0xca, 0x43, 0x90, 0x62, 0x25, 0x1a, 0x33, 0x9c, 0x1a, 0x8c, 0x01, 0xaf, 0x25, - 0x95, 0xe0, 0x94, 0x4f, 0x41, 0x16, 0xff, 0x4b, 0x73, 0x63, 0x98, 0xf8, 0x9c, 0xc1, 0x0d, 0x38, - 0x2f, 0x94, 0x29, 0xc8, 0x90, 0x65, 0x52, 0x43, 0x7c, 0x6b, 0xf3, 0x9f, 0x71, 0x62, 0xd5, 0xd0, - 0x9e, 0xde, 0x6e, 0x78, 0xda, 0x15, 0xbd, 0xd1, 0x46, 0x24, 0xe1, 0xb3, 0x6a, 0x9e, 0x35, 0x3e, - 0x86, 0xdb, 0x94, 0xe3, 0x90, 0xa3, 0xab, 0xca, 0xb4, 0x6a, 0xe8, 0x39, 0x52, 0x3d, 0xd3, 0x2a, - 0x5d, 0x68, 0xab, 0xb8, 0x05, 0x0f, 0xff, 0x8c, 0x6b, 0x5b, 0x3c, 0x35, 0xc9, 0x10, 0xb8, 0x81, - 0x0c, 0x7f, 0x7f, 0xb8, 0x70, 0xdf, 0x1c, 0xfd, 0x7a, 0xe1, 0x9c, 0x9a, 0xf9, 0x66, 0x02, 0x52, - 0xa4, 0x5e, 0x8c, 0x41, 0x6e, 0xfb, 0xc9, 0xad, 0x8a, 0xb6, 0xbc, 0xb9, 0xb3, 0xb8, 0x56, 0x91, - 0x25, 0xa5, 0x00, 0x40, 0x1a, 0x2e, 0xae, 0x6d, 0x96, 0xb7, 0xe5, 0x84, 0xff, 0xbc, 0xba, 0xb1, - 0x7d, 0xee, 0x8c, 0x9c, 0xf4, 0x01, 0x3b, 0xb4, 0x21, 0x25, 0x1a, 0xdc, 0xb7, 0x20, 0xa7, 0x15, - 0x19, 0xf2, 0x94, 0x60, 0xf5, 0x89, 0xca, 0xf2, 0xb9, 0x33, 0xf2, 0x70, 0xb0, 0xe5, 0xbe, 0x05, - 0x79, 0x44, 0x19, 0x85, 0x2c, 0x69, 0x59, 0xdc, 0xdc, 0x5c, 0x93, 0x33, 0x3e, 0x67, 0x75, 0x5b, - 0x5d, 0xdd, 0x58, 0x91, 0xb3, 0x3e, 0xe7, 0x8a, 0xba, 0xb9, 0xb3, 0x25, 0x83, 0xcf, 0xb0, 0x5e, - 0xa9, 0x56, 0xcb, 0x2b, 0x15, 0x39, 0xe7, 0x5b, 0x2c, 0x3e, 0xb9, 0x5d, 0xa9, 0xca, 0xf9, 0x80, - 0x5b, 0xf7, 0x2d, 0xc8, 0xa3, 0xfe, 0x10, 0x95, 0x8d, 0x9d, 0x75, 0xb9, 0xa0, 0x8c, 0xc3, 0x28, - 0x1d, 0x82, 0x3b, 0x31, 0x16, 0x6a, 0x3a, 0x77, 0x46, 0x96, 0x3b, 0x8e, 0x50, 0x96, 0xf1, 0x40, - 0xc3, 0xb9, 0x33, 0xb2, 0x32, 0xb3, 0x04, 0x69, 0x92, 0x5d, 0x8a, 0x02, 0x85, 0xb5, 0xf2, 0x62, - 0x65, 0x4d, 0xdb, 0xdc, 0xda, 0x5e, 0xdd, 0xdc, 0x28, 0xaf, 0xc9, 0x52, 0xa7, 0x4d, 0xad, 0x7c, - 0x76, 0x67, 0x55, 0xad, 0x2c, 0xcb, 0x09, 0xb1, 0x6d, 0xab, 0x52, 0xde, 0xae, 0x2c, 0xcb, 0xc9, - 0x19, 0x03, 0x26, 0xa3, 0xea, 0x64, 0xe4, 0xca, 0x10, 0xa6, 0x38, 0xd1, 0x63, 0x8a, 0x09, 0x57, - 0xd7, 0x14, 0xff, 0x24, 0x01, 0x13, 0x11, 0x7b, 0x45, 0xe4, 0x20, 0x0f, 0x43, 0x9a, 0xa6, 0x28, - 0xdd, 0x3d, 0xef, 0x8c, 0xdc, 0x74, 0x48, 0xc2, 0x76, 0xed, 0xa0, 0x04, 0x27, 0x2a, 0x88, 0x64, - 0x0f, 0x05, 0x81, 0x29, 0xba, 0x6a, 0xfa, 0xd3, 0x5d, 0x35, 0x9d, 0x6e, 0x7b, 0xe7, 0x06, 0xd9, - 0xf6, 0x48, 0xdb, 0xd1, 0x6a, 0x7b, 0x3a, 0xa2, 0xb6, 0x5f, 0x80, 0xf1, 0x2e, 0xa2, 0x81, 0x6b, - 0xec, 0x0b, 0x12, 0x14, 0x7b, 0x05, 0x27, 0xa6, 0xd2, 0x25, 0x02, 0x95, 0xee, 0x42, 0x38, 0x82, - 0x27, 0x7b, 0x4f, 0x42, 0xd7, 0x5c, 0xbf, 0x26, 0xc1, 0xb1, 0x68, 0xa5, 0x18, 0xe9, 0xc3, 0x43, - 0x30, 0xdc, 0x44, 0xde, 0xbe, 0xcd, 0xd5, 0xd2, 0xed, 0x11, 0x7b, 0x30, 0xee, 0x0e, 0x4f, 0x36, - 0x43, 0x89, 0x9b, 0x78, 0xb2, 0x97, 0xdc, 0xa3, 0xde, 0x74, 0x79, 0xfa, 0xf9, 0x04, 0xdc, 0x10, - 0x49, 0x1e, 0xe9, 0xe8, 0xcd, 0x00, 0xa6, 0xd5, 0x6a, 0x7b, 0x54, 0x11, 0xd1, 0x02, 0x9b, 0x25, - 0x2d, 0xa4, 0x78, 0xe1, 0xe2, 0xd9, 0xf6, 0xfc, 0xfe, 0x24, 0xe9, 0x07, 0xda, 0x44, 0x0c, 0xce, - 0x77, 0x1c, 0x4d, 0x11, 0x47, 0xa7, 0x7b, 0xbc, 0x69, 0x57, 0x62, 0xde, 0x03, 0xb2, 0xd1, 0x30, - 0x91, 0xe5, 0x69, 0xae, 0xe7, 0x20, 0xbd, 0x69, 0x5a, 0x75, 0xb2, 0x83, 0x64, 0x4a, 0xe9, 0x3d, - 0xbd, 0xe1, 0x22, 0x75, 0x8c, 0x76, 0x57, 0x79, 0x2f, 0x46, 0x90, 0x04, 0x72, 0x04, 0xc4, 0x70, - 0x00, 0x41, 0xbb, 0x7d, 0xc4, 0xcc, 0x37, 0x32, 0x90, 0x13, 0x74, 0xb5, 0x72, 0x12, 0xf2, 0xcf, - 0xe8, 0x57, 0x74, 0x8d, 0x9f, 0x95, 0x68, 0x24, 0x72, 0xb8, 0x6d, 0x8b, 0x9d, 0x97, 0xee, 0x81, - 0x49, 0x62, 0x62, 0xb7, 0x3d, 0xe4, 0x68, 0x46, 0x43, 0x77, 0x5d, 0x12, 0xb4, 0x0c, 0x31, 0x55, - 0x70, 0xdf, 0x26, 0xee, 0x5a, 0xe2, 0x3d, 0xca, 0x59, 0x98, 0x20, 0x88, 0x66, 0xbb, 0xe1, 0x99, - 0xad, 0x06, 0xd2, 0xf0, 0xe9, 0xcd, 0x25, 0x3b, 0x89, 0xef, 0xd9, 0x38, 0xb6, 0x58, 0x67, 0x06, - 0xd8, 0x23, 0x57, 0x59, 0x86, 0x9b, 0x09, 0xac, 0x8e, 0x2c, 0xe4, 0xe8, 0x1e, 0xd2, 0xd0, 0xb3, - 0x6d, 0xbd, 0xe1, 0x6a, 0xba, 0x55, 0xd3, 0xf6, 0x75, 0x77, 0xbf, 0x38, 0x89, 0x09, 0x16, 0x13, - 0x45, 0x49, 0xbd, 0x09, 0x1b, 0xae, 0x30, 0xbb, 0x0a, 0x31, 0x2b, 0x5b, 0xb5, 0x4b, 0xba, 0xbb, - 0xaf, 0x94, 0xe0, 0x18, 0x61, 0x71, 0x3d, 0xc7, 0xb4, 0xea, 0x9a, 0xb1, 0x8f, 0x8c, 0xcb, 0x5a, - 0xdb, 0xdb, 0x3b, 0x5f, 0xfc, 0x94, 0x38, 0x3e, 0xf1, 0xb0, 0x4a, 0x6c, 0x96, 0xb0, 0xc9, 0x8e, - 0xb7, 0x77, 0x5e, 0xa9, 0x42, 0x1e, 0x4f, 0x46, 0xd3, 0x7c, 0x1e, 0x69, 0x7b, 0xb6, 0x43, 0xb6, - 0xc6, 0x42, 0x44, 0x69, 0x12, 0x22, 0x38, 0xb7, 0xc9, 0x00, 0xeb, 0x76, 0x0d, 0x95, 0xd2, 0xd5, - 0xad, 0x4a, 0x65, 0x59, 0xcd, 0x71, 0x96, 0x8b, 0xb6, 0x83, 0x13, 0xaa, 0x6e, 0xfb, 0x01, 0xce, - 0xd1, 0x84, 0xaa, 0xdb, 0x3c, 0xbc, 0x67, 0x61, 0xc2, 0x30, 0xe8, 0x3b, 0x9b, 0x86, 0xc6, 0xce, - 0x58, 0x6e, 0x51, 0x0e, 0x04, 0xcb, 0x30, 0x56, 0xa8, 0x01, 0xcb, 0x71, 0x57, 0x79, 0x00, 0x6e, - 0xe8, 0x04, 0x4b, 0x04, 0x8e, 0x77, 0xbd, 0x65, 0x18, 0x7a, 0x16, 0x26, 0x5a, 0x07, 0xdd, 0x40, - 0x25, 0x30, 0x62, 0xeb, 0x20, 0x0c, 0xbb, 0x1f, 0x26, 0x5b, 0xfb, 0xad, 0x6e, 0xdc, 0x29, 0x11, - 0xa7, 0xb4, 0xf6, 0x5b, 0x61, 0xe0, 0x6d, 0xe4, 0xc0, 0xed, 0x20, 0x43, 0xf7, 0x50, 0xad, 0x78, - 0xa3, 0x68, 0x2e, 0x74, 0x28, 0xf3, 0x20, 0x1b, 0x86, 0x86, 0x2c, 0x7d, 0xb7, 0x81, 0x34, 0xdd, - 0x41, 0x96, 0xee, 0x16, 0x8f, 0x8b, 0xc6, 0x05, 0xc3, 0xa8, 0x90, 0xde, 0x32, 0xe9, 0x54, 0x4e, - 0xc1, 0xb8, 0xbd, 0xfb, 0x8c, 0x41, 0x53, 0x52, 0x6b, 0x39, 0x68, 0xcf, 0x7c, 0xae, 0x78, 0x2b, - 0x89, 0xef, 0x18, 0xee, 0x20, 0x09, 0xb9, 0x45, 0x9a, 0x95, 0x3b, 0x41, 0x36, 0xdc, 0x7d, 0xdd, - 0x69, 0x91, 0x9a, 0xec, 0xb6, 0x74, 0x03, 0x15, 0x6f, 0xa3, 0xa6, 0xb4, 0x7d, 0x83, 0x37, 0xe3, - 0x25, 0xe1, 0x5e, 0x35, 0xf7, 0x3c, 0xce, 0x78, 0x07, 0x5d, 0x12, 0xa4, 0x8d, 0xb1, 0xcd, 0x82, - 0x8c, 0x43, 0x11, 0x18, 0x78, 0x96, 0x98, 0x15, 0x5a, 0xfb, 0x2d, 0x71, 0xdc, 0x5b, 0x60, 0x14, - 0x5b, 0x76, 0x06, 0xbd, 0x93, 0x0a, 0xb2, 0xd6, 0xbe, 0x30, 0xe2, 0x47, 0xa6, 0x8d, 0x67, 0x4a, - 0x90, 0x17, 0xf3, 0x53, 0xc9, 0x02, 0xcd, 0x50, 0x59, 0xc2, 0x62, 0x65, 0x69, 0x73, 0x19, 0xcb, - 0x8c, 0xa7, 0x2a, 0x72, 0x02, 0xcb, 0x9d, 0xb5, 0xd5, 0xed, 0x8a, 0xa6, 0xee, 0x6c, 0x6c, 0xaf, - 0xae, 0x57, 0xe4, 0xa4, 0xa8, 0xab, 0xbf, 0x97, 0x80, 0x42, 0xf0, 0x88, 0xa4, 0x7c, 0x06, 0x6e, - 0xe4, 0xf7, 0x19, 0x2e, 0xf2, 0xb4, 0xab, 0xa6, 0x43, 0x96, 0x4c, 0x53, 0xa7, 0xdb, 0x97, 0x3f, - 0x69, 0x93, 0xcc, 0xaa, 0x8a, 0xbc, 0xc7, 0x4d, 0x07, 0x2f, 0x88, 0xa6, 0xee, 0x29, 0x6b, 0x70, - 0xdc, 0xb2, 0x35, 0xd7, 0xd3, 0xad, 0x9a, 0xee, 0xd4, 0xb4, 0xce, 0x4d, 0x92, 0xa6, 0x1b, 0x06, - 0x72, 0x5d, 0x9b, 0x6e, 0x55, 0x3e, 0xcb, 0xa7, 0x2d, 0xbb, 0xca, 0x8c, 0x3b, 0x35, 0xbc, 0xcc, - 0x4c, 0x43, 0x09, 0x96, 0xec, 0x95, 0x60, 0x9f, 0x82, 0x6c, 0x53, 0x6f, 0x69, 0xc8, 0xf2, 0x9c, - 0x03, 0x22, 0x8c, 0x33, 0x6a, 0xa6, 0xa9, 0xb7, 0x2a, 0xf8, 0xf9, 0xe3, 0x39, 0x9f, 0xfc, 0x38, - 0x09, 0x79, 0x51, 0x1c, 0xe3, 0xb3, 0x86, 0x41, 0xf6, 0x11, 0x89, 0x54, 0x9a, 0x5b, 0xfa, 0x4a, - 0xe9, 0xb9, 0x25, 0xbc, 0xc1, 0x94, 0x86, 0xa9, 0x64, 0x55, 0x29, 0x12, 0x6f, 0xee, 0xb8, 0xb6, - 0x20, 0x2a, 0x11, 0x32, 0x2a, 0x7b, 0x52, 0x56, 0x60, 0xf8, 0x19, 0x97, 0x70, 0x0f, 0x13, 0xee, - 0x5b, 0xfb, 0x73, 0x3f, 0x52, 0x25, 0xe4, 0xd9, 0x47, 0xaa, 0xda, 0xc6, 0xa6, 0xba, 0x5e, 0x5e, - 0x53, 0x19, 0x5c, 0xb9, 0x09, 0x52, 0x0d, 0xfd, 0xf9, 0x83, 0xe0, 0x56, 0x44, 0x9a, 0x06, 0x0d, - 0xfc, 0x4d, 0x90, 0xba, 0x8a, 0xf4, 0xcb, 0xc1, 0x0d, 0x80, 0x34, 0x7d, 0x84, 0xa9, 0x3f, 0x0f, - 0x69, 0x12, 0x2f, 0x05, 0x80, 0x45, 0x4c, 0x1e, 0x52, 0x32, 0x90, 0x5a, 0xda, 0x54, 0x71, 0xfa, - 0xcb, 0x90, 0xa7, 0xad, 0xda, 0xd6, 0x6a, 0x65, 0xa9, 0x22, 0x27, 0x66, 0xce, 0xc2, 0x30, 0x0d, - 0x02, 0x5e, 0x1a, 0x7e, 0x18, 0xe4, 0x21, 0xf6, 0xc8, 0x38, 0x24, 0xde, 0xbb, 0xb3, 0xbe, 0x58, - 0x51, 0xe5, 0x84, 0x38, 0xbd, 0x2e, 0xe4, 0x45, 0x5d, 0xfc, 0xf1, 0xe4, 0xd4, 0x77, 0x24, 0xc8, - 0x09, 0x3a, 0x17, 0x0b, 0x14, 0xbd, 0xd1, 0xb0, 0xaf, 0x6a, 0x7a, 0xc3, 0xd4, 0x5d, 0x96, 0x14, - 0x40, 0x9a, 0xca, 0xb8, 0x65, 0xd0, 0x49, 0xfb, 0x58, 0x9c, 0x7f, 0x45, 0x02, 0x39, 0x2c, 0x31, - 0x43, 0x0e, 0x4a, 0x3f, 0x53, 0x07, 0x5f, 0x96, 0xa0, 0x10, 0xd4, 0x95, 0x21, 0xf7, 0x4e, 0xfe, - 0x4c, 0xdd, 0x7b, 0x33, 0x01, 0xa3, 0x01, 0x35, 0x39, 0xa8, 0x77, 0xcf, 0xc2, 0xb8, 0x59, 0x43, - 0xcd, 0x96, 0xed, 0x21, 0xcb, 0x38, 0xd0, 0x1a, 0xe8, 0x0a, 0x6a, 0x14, 0x67, 0x48, 0xa1, 0x98, - 0xef, 0xaf, 0x57, 0xe7, 0x56, 0x3b, 0xb8, 0x35, 0x0c, 0x2b, 0x4d, 0xac, 0x2e, 0x57, 0xd6, 0xb7, - 0x36, 0xb7, 0x2b, 0x1b, 0x4b, 0x4f, 0x6a, 0x3b, 0x1b, 0x8f, 0x6e, 0x6c, 0x3e, 0xbe, 0xa1, 0xca, - 0x66, 0xc8, 0xec, 0x23, 0x5c, 0xea, 0x5b, 0x20, 0x87, 0x9d, 0x52, 0x6e, 0x84, 0x28, 0xb7, 0xe4, - 0x21, 0x65, 0x02, 0xc6, 0x36, 0x36, 0xb5, 0xea, 0xea, 0x72, 0x45, 0xab, 0x5c, 0xbc, 0x58, 0x59, - 0xda, 0xae, 0xd2, 0x1b, 0x08, 0xdf, 0x7a, 0x3b, 0xb8, 0xa8, 0x5f, 0x4a, 0xc2, 0x44, 0x84, 0x27, - 0x4a, 0x99, 0x9d, 0x1d, 0xe8, 0x71, 0xe6, 0xee, 0x41, 0xbc, 0x9f, 0xc3, 0x5b, 0xfe, 0x96, 0xee, - 0x78, 0xec, 0xa8, 0x71, 0x27, 0xe0, 0x28, 0x59, 0x9e, 0xb9, 0x67, 0x22, 0x87, 0x5d, 0xd8, 0xd0, - 0x03, 0xc5, 0x58, 0xa7, 0x9d, 0xde, 0xd9, 0xdc, 0x05, 0x4a, 0xcb, 0x76, 0x4d, 0xcf, 0xbc, 0x82, - 0x34, 0xd3, 0xe2, 0xb7, 0x3b, 0xf8, 0x80, 0x91, 0x52, 0x65, 0xde, 0xb3, 0x6a, 0x79, 0xbe, 0xb5, - 0x85, 0xea, 0x7a, 0xc8, 0x1a, 0x17, 0xf0, 0xa4, 0x2a, 0xf3, 0x1e, 0xdf, 0xfa, 0x24, 0xe4, 0x6b, - 0x76, 0x1b, 0xab, 0x2e, 0x6a, 0x87, 0xf7, 0x0b, 0x49, 0xcd, 0xd1, 0x36, 0xdf, 0x84, 0xe9, 0xe9, - 0xce, 0xb5, 0x52, 0x5e, 0xcd, 0xd1, 0x36, 0x6a, 0x72, 0x07, 0x8c, 0xe9, 0xf5, 0xba, 0x83, 0xc9, - 0x39, 0x11, 0x3d, 0x21, 0x14, 0xfc, 0x66, 0x62, 0x38, 0xf5, 0x08, 0x64, 0x78, 0x1c, 0xf0, 0x96, - 0x8c, 0x23, 0xa1, 0xb5, 0xe8, 0xb1, 0x37, 0x31, 0x9b, 0x55, 0x33, 0x16, 0xef, 0x3c, 0x09, 0x79, - 0xd3, 0xd5, 0x3a, 0xb7, 0xe4, 0x89, 0x13, 0x89, 0xd9, 0x8c, 0x9a, 0x33, 0x5d, 0xff, 0x86, 0x71, - 0xe6, 0xb5, 0x04, 0x14, 0x82, 0xb7, 0xfc, 0xca, 0x32, 0x64, 0x1a, 0xb6, 0xa1, 0x93, 0xd4, 0xa2, - 0x9f, 0x98, 0x66, 0x63, 0x3e, 0x0c, 0xcc, 0xad, 0x31, 0x7b, 0xd5, 0x47, 0x4e, 0xfd, 0x93, 0x04, - 0x19, 0xde, 0xac, 0x1c, 0x83, 0x54, 0x4b, 0xf7, 0xf6, 0x09, 0x5d, 0x7a, 0x31, 0x21, 0x4b, 0x2a, - 0x79, 0xc6, 0xed, 0x6e, 0x4b, 0xb7, 0x48, 0x0a, 0xb0, 0x76, 0xfc, 0x8c, 0xe7, 0xb5, 0x81, 0xf4, - 0x1a, 0x39, 0x7e, 0xd8, 0xcd, 0x26, 0xb2, 0x3c, 0x97, 0xcf, 0x2b, 0x6b, 0x5f, 0x62, 0xcd, 0xca, - 0x69, 0x18, 0xf7, 0x1c, 0xdd, 0x6c, 0x04, 0x6c, 0x53, 0xc4, 0x56, 0xe6, 0x1d, 0xbe, 0x71, 0x09, - 0x6e, 0xe2, 0xbc, 0x35, 0xe4, 0xe9, 0xc6, 0x3e, 0xaa, 0x75, 0x40, 0xc3, 0xe4, 0x9a, 0xe1, 0x46, - 0x66, 0xb0, 0xcc, 0xfa, 0x39, 0x76, 0xe6, 0x07, 0x12, 0x8c, 0xf3, 0x03, 0x53, 0xcd, 0x0f, 0xd6, - 0x3a, 0x80, 0x6e, 0x59, 0xb6, 0x27, 0x86, 0xab, 0x3b, 0x95, 0xbb, 0x70, 0x73, 0x65, 0x1f, 0xa4, - 0x0a, 0x04, 0x53, 0x4d, 0x80, 0x4e, 0x4f, 0xcf, 0xb0, 0x1d, 0x87, 0x1c, 0xfb, 0x84, 0x43, 0xbe, - 0x03, 0xd2, 0x23, 0x36, 0xd0, 0x26, 0x7c, 0xb2, 0x52, 0x26, 0x21, 0xbd, 0x8b, 0xea, 0xa6, 0xc5, - 0x2e, 0x66, 0xe9, 0x03, 0xbf, 0x08, 0x49, 0xf9, 0x17, 0x21, 0x8b, 0x9f, 0x83, 0x09, 0xc3, 0x6e, - 0x86, 0xdd, 0x5d, 0x94, 0x43, 0xc7, 0x7c, 0xf7, 0x92, 0xf4, 0x14, 0x74, 0x24, 0xe6, 0xfb, 0x92, - 0xf4, 0xa5, 0x44, 0x72, 0x65, 0x6b, 0xf1, 0xab, 0x89, 0xa9, 0x15, 0x0a, 0xdd, 0xe2, 0x6f, 0xaa, - 0xa2, 0xbd, 0x06, 0x32, 0xb0, 0xf7, 0xf0, 0xe5, 0xd3, 0x70, 0x77, 0xdd, 0xf4, 0xf6, 0xdb, 0xbb, - 0x73, 0x86, 0xdd, 0x9c, 0xaf, 0xdb, 0x75, 0xbb, 0xf3, 0xe9, 0x13, 0x3f, 0x91, 0x07, 0xf2, 0x17, - 0xfb, 0xfc, 0x99, 0xf5, 0x5b, 0xa7, 0x62, 0xbf, 0x95, 0x96, 0x36, 0x60, 0x82, 0x19, 0x6b, 0xe4, - 0xfb, 0x0b, 0x3d, 0x45, 0x28, 0x7d, 0xef, 0xb0, 0x8a, 0x5f, 0x7f, 0x8b, 0x6c, 0xd7, 0xea, 0x38, - 0x83, 0xe2, 0x3e, 0x7a, 0xd0, 0x28, 0xa9, 0x70, 0x43, 0x80, 0x8f, 0x2e, 0x4d, 0xe4, 0xc4, 0x30, - 0x7e, 0x8f, 0x31, 0x4e, 0x08, 0x8c, 0x55, 0x06, 0x2d, 0x2d, 0xc1, 0xe8, 0x51, 0xb8, 0xfe, 0x9e, - 0x71, 0xe5, 0x91, 0x48, 0xb2, 0x02, 0x63, 0x84, 0xc4, 0x68, 0xbb, 0x9e, 0xdd, 0x24, 0x75, 0xaf, - 0x3f, 0xcd, 0x3f, 0xbc, 0x45, 0xd7, 0x4a, 0x01, 0xc3, 0x96, 0x7c, 0x54, 0xa9, 0x04, 0xe4, 0x93, - 0x53, 0x0d, 0x19, 0x8d, 0x18, 0x86, 0xd7, 0x99, 0x23, 0xbe, 0x7d, 0xe9, 0x31, 0x98, 0xc4, 0x7f, - 0x93, 0xb2, 0x24, 0x7a, 0x12, 0x7f, 0xe1, 0x55, 0xfc, 0xc1, 0x0b, 0x74, 0x39, 0x4e, 0xf8, 0x04, - 0x82, 0x4f, 0xc2, 0x2c, 0xd6, 0x91, 0xe7, 0x21, 0xc7, 0xd5, 0xf4, 0x46, 0x94, 0x7b, 0xc2, 0x8d, - 0x41, 0xf1, 0x0b, 0xef, 0x04, 0x67, 0x71, 0x85, 0x22, 0xcb, 0x8d, 0x46, 0x69, 0x07, 0x6e, 0x8c, - 0xc8, 0x8a, 0x01, 0x38, 0x5f, 0x62, 0x9c, 0x93, 0x5d, 0x99, 0x81, 0x69, 0xb7, 0x80, 0xb7, 0xfb, - 0x73, 0x39, 0x00, 0xe7, 0xef, 0x33, 0x4e, 0x85, 0x61, 0xf9, 0x94, 0x62, 0xc6, 0x47, 0x60, 0xfc, - 0x0a, 0x72, 0x76, 0x6d, 0x97, 0xdd, 0xd2, 0x0c, 0x40, 0xf7, 0x32, 0xa3, 0x1b, 0x63, 0x40, 0x72, - 0x6d, 0x83, 0xb9, 0x1e, 0x80, 0xcc, 0x9e, 0x6e, 0xa0, 0x01, 0x28, 0xbe, 0xc8, 0x28, 0x46, 0xb0, - 0x3d, 0x86, 0x96, 0x21, 0x5f, 0xb7, 0xd9, 0xce, 0x14, 0x0f, 0x7f, 0x85, 0xc1, 0x73, 0x1c, 0xc3, - 0x28, 0x5a, 0x76, 0xab, 0xdd, 0xc0, 0xdb, 0x56, 0x3c, 0xc5, 0x1f, 0x70, 0x0a, 0x8e, 0x61, 0x14, - 0x47, 0x08, 0xeb, 0x1f, 0x72, 0x0a, 0x57, 0x88, 0xe7, 0xc3, 0x90, 0xb3, 0xad, 0xc6, 0x81, 0x6d, - 0x0d, 0xe2, 0xc4, 0xab, 0x8c, 0x01, 0x18, 0x04, 0x13, 0x5c, 0x80, 0xec, 0xa0, 0x13, 0xf1, 0xc7, - 0xef, 0xf0, 0xe5, 0xc1, 0x67, 0x60, 0x05, 0xc6, 0x78, 0x81, 0x32, 0x6d, 0x6b, 0x00, 0x8a, 0x2f, - 0x33, 0x8a, 0x82, 0x00, 0x63, 0xaf, 0xe1, 0x21, 0xd7, 0xab, 0xa3, 0x41, 0x48, 0x5e, 0xe3, 0xaf, - 0xc1, 0x20, 0x2c, 0x94, 0xbb, 0xc8, 0x32, 0xf6, 0x07, 0x63, 0xf8, 0x0a, 0x0f, 0x25, 0xc7, 0x60, - 0x8a, 0x25, 0x18, 0x6d, 0xea, 0x8e, 0xbb, 0xaf, 0x37, 0x06, 0x9a, 0x8e, 0x3f, 0x61, 0x1c, 0x79, - 0x1f, 0xc4, 0x22, 0xd2, 0xb6, 0x8e, 0x42, 0xf3, 0x55, 0x1e, 0x11, 0x01, 0xc6, 0x96, 0x9e, 0xeb, - 0x91, 0x2b, 0xad, 0xa3, 0xb0, 0xfd, 0x29, 0x5f, 0x7a, 0x14, 0xbb, 0x2e, 0x32, 0x5e, 0x80, 0xac, - 0x6b, 0x3e, 0x3f, 0x10, 0xcd, 0x9f, 0xf1, 0x99, 0x26, 0x00, 0x0c, 0x7e, 0x12, 0x6e, 0x8a, 0xdc, - 0x26, 0x06, 0x20, 0xfb, 0x73, 0x46, 0x76, 0x2c, 0x62, 0xab, 0x60, 0x25, 0xe1, 0xa8, 0x94, 0x7f, - 0xc1, 0x4b, 0x02, 0x0a, 0x71, 0x6d, 0xe1, 0xb3, 0x82, 0xab, 0xef, 0x1d, 0x2d, 0x6a, 0x7f, 0xc9, - 0xa3, 0x46, 0xb1, 0x81, 0xa8, 0x6d, 0xc3, 0x31, 0xc6, 0x78, 0xb4, 0x79, 0xfd, 0x1a, 0x2f, 0xac, - 0x14, 0xbd, 0x13, 0x9c, 0xdd, 0xcf, 0xc1, 0x94, 0x1f, 0x4e, 0x2e, 0x4a, 0x5d, 0xad, 0xa9, 0xb7, - 0x06, 0x60, 0xfe, 0x3a, 0x63, 0xe6, 0x15, 0xdf, 0x57, 0xb5, 0xee, 0xba, 0xde, 0xc2, 0xe4, 0x4f, - 0x40, 0x91, 0x93, 0xb7, 0x2d, 0x07, 0x19, 0x76, 0xdd, 0x32, 0x9f, 0x47, 0xb5, 0x01, 0xa8, 0xff, - 0x2a, 0x34, 0x55, 0x3b, 0x02, 0x1c, 0x33, 0xaf, 0x82, 0xec, 0x6b, 0x15, 0xcd, 0x6c, 0xb6, 0x6c, - 0xc7, 0x8b, 0x61, 0xfc, 0x06, 0x9f, 0x29, 0x1f, 0xb7, 0x4a, 0x60, 0xa5, 0x0a, 0x14, 0xc8, 0xe3, + // 4829 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x5b, 0x6c, 0x23, 0xd7, + 0x79, 0xd6, 0xf0, 0x22, 0x91, 0x3f, 0x29, 0x6a, 0x34, 0x92, 0xd7, 0xb4, 0x12, 0x6b, 0x77, 0xe5, + 0x9b, 0xbc, 0x6b, 0x4b, 0xb6, 0xbc, 0xbb, 0x5e, 0x73, 0x63, 0xbb, 0x94, 0xc4, 0xd5, 0xca, 0xd6, + 0x2d, 0x43, 0xc9, 0xb7, 0xc0, 0x98, 0x8e, 0x86, 0x47, 0xd4, 0x78, 0xc9, 0x19, 0x7a, 0x66, 0xb8, + 0x6b, 0x19, 0x45, 0xb1, 0x85, 0x7b, 0x41, 0xd0, 0xfb, 0x05, 0xa8, 0xe3, 0x3a, 0x6e, 0x9d, 0xa2, + 0x71, 0x9a, 0xde, 0x92, 0x5e, 0xd2, 0x24, 0x7d, 0xc9, 0x4b, 0x5a, 0x03, 0x05, 0x8a, 0xe4, 0x2d, + 0x08, 0x02, 0xc3, 0xab, 0x18, 0xa8, 0xdb, 0xba, 0xad, 0xdb, 0x1a, 0xa8, 0x01, 0xbf, 0x14, 0xe7, + 0x36, 0x3c, 0x33, 0x1c, 0x72, 0x28, 0x03, 0x76, 0xfa, 0xe0, 0xa7, 0xd5, 0x9c, 0xf3, 0x7f, 0xdf, + 0xf9, 0xe7, 0x3f, 0xff, 0xf9, 0xcf, 0x77, 0xce, 0x70, 0xe1, 0xf5, 0x12, 0x9c, 0xa8, 0xdb, 0x76, + 0xbd, 0x81, 0xe6, 0x5b, 0x8e, 0xed, 0xd9, 0xbb, 0xed, 0xbd, 0xf9, 0x1a, 0x72, 0x0d, 0xc7, 0x6c, + 0x79, 0xb6, 0x33, 0x47, 0xda, 0x94, 0x31, 0x6a, 0x31, 0xc7, 0x2d, 0x66, 0xd6, 0x61, 0xfc, 0xa2, + 0xd9, 0x40, 0xcb, 0xbe, 0x61, 0x15, 0x79, 0xca, 0x79, 0x48, 0xed, 0x99, 0x0d, 0x54, 0x94, 0x4e, + 0x24, 0x67, 0x73, 0x0b, 0xb7, 0xce, 0x85, 0x40, 0x73, 0x41, 0xc4, 0x16, 0x6e, 0x56, 0x09, 0x62, + 0xe6, 0xad, 0x14, 0x4c, 0x44, 0xf4, 0x2a, 0x0a, 0xa4, 0x2c, 0xbd, 0x89, 0x19, 0xa5, 0xd9, 0xac, + 0x4a, 0xfe, 0x56, 0x8a, 0x30, 0xd2, 0xd2, 0x8d, 0xcb, 0x7a, 0x1d, 0x15, 0x13, 0xa4, 0x99, 0x3f, + 0x2a, 0xd3, 0x00, 0x35, 0xd4, 0x42, 0x56, 0x0d, 0x59, 0xc6, 0x41, 0x31, 0x79, 0x22, 0x39, 0x9b, + 0x55, 0x85, 0x16, 0xe5, 0x34, 0x8c, 0xb7, 0xda, 0xbb, 0x0d, 0xd3, 0xd0, 0x04, 0x33, 0x38, 0x91, + 0x9c, 0x4d, 0xab, 0x32, 0xed, 0x58, 0xee, 0x18, 0xdf, 0x01, 0x63, 0x57, 0x91, 0x7e, 0x59, 0x34, + 0xcd, 0x11, 0xd3, 0x02, 0x6e, 0x16, 0x0c, 0x97, 0x20, 0xdf, 0x44, 0xae, 0xab, 0xd7, 0x91, 0xe6, + 0x1d, 0xb4, 0x50, 0x31, 0x45, 0xde, 0xfe, 0x44, 0xd7, 0xdb, 0x87, 0xdf, 0x3c, 0xc7, 0x50, 0xdb, + 0x07, 0x2d, 0xa4, 0x94, 0x21, 0x8b, 0xac, 0x76, 0x93, 0x32, 0xa4, 0x7b, 0xc4, 0xaf, 0x62, 0xb5, + 0x9b, 0x61, 0x96, 0x0c, 0x86, 0x31, 0x8a, 0x11, 0x17, 0x39, 0x57, 0x4c, 0x03, 0x15, 0x87, 0x09, + 0xc1, 0x1d, 0x5d, 0x04, 0x55, 0xda, 0x1f, 0xe6, 0xe0, 0x38, 0x65, 0x09, 0xb2, 0xe8, 0x39, 0x0f, + 0x59, 0xae, 0x69, 0x5b, 0xc5, 0x11, 0x42, 0x72, 0x5b, 0xc4, 0x2c, 0xa2, 0x46, 0x2d, 0x4c, 0xd1, + 0xc1, 0x29, 0xe7, 0x60, 0xc4, 0x6e, 0x79, 0xa6, 0x6d, 0xb9, 0xc5, 0xcc, 0x09, 0x69, 0x36, 0xb7, + 0xf0, 0xe9, 0xc8, 0x44, 0xd8, 0xa4, 0x36, 0x2a, 0x37, 0x56, 0x56, 0x41, 0x76, 0xed, 0xb6, 0x63, + 0x20, 0xcd, 0xb0, 0x6b, 0x48, 0x33, 0xad, 0x3d, 0xbb, 0x98, 0x25, 0x04, 0xc7, 0xbb, 0x5f, 0x84, + 0x18, 0x2e, 0xd9, 0x35, 0xb4, 0x6a, 0xed, 0xd9, 0x6a, 0xc1, 0x0d, 0x3c, 0x2b, 0xc7, 0x60, 0xd8, + 0x3d, 0xb0, 0x3c, 0xfd, 0xb9, 0x62, 0x9e, 0x64, 0x08, 0x7b, 0x9a, 0xf9, 0xd6, 0x30, 0x8c, 0x0d, + 0x92, 0x62, 0x17, 0x20, 0xbd, 0x87, 0xdf, 0xb2, 0x98, 0x38, 0x4a, 0x0c, 0x28, 0x26, 0x18, 0xc4, + 0xe1, 0x0f, 0x19, 0xc4, 0x32, 0xe4, 0x2c, 0xe4, 0x7a, 0xa8, 0x46, 0x33, 0x22, 0x39, 0x60, 0x4e, + 0x01, 0x05, 0x75, 0xa7, 0x54, 0xea, 0x43, 0xa5, 0xd4, 0x13, 0x30, 0xe6, 0xbb, 0xa4, 0x39, 0xba, + 0x55, 0xe7, 0xb9, 0x39, 0x1f, 0xe7, 0xc9, 0x5c, 0x85, 0xe3, 0x54, 0x0c, 0x53, 0x0b, 0x28, 0xf0, + 0xac, 0x2c, 0x03, 0xd8, 0x16, 0xb2, 0xf7, 0xb4, 0x1a, 0x32, 0x1a, 0xc5, 0x4c, 0x8f, 0x28, 0x6d, + 0x62, 0x93, 0xae, 0x28, 0xd9, 0xb4, 0xd5, 0x68, 0x28, 0x0f, 0x74, 0x52, 0x6d, 0xa4, 0x47, 0xa6, + 0xac, 0xd3, 0x45, 0xd6, 0x95, 0x6d, 0x3b, 0x50, 0x70, 0x10, 0xce, 0x7b, 0x54, 0x63, 0x6f, 0x96, + 0x25, 0x4e, 0xcc, 0xc5, 0xbe, 0x99, 0xca, 0x60, 0xf4, 0xc5, 0x46, 0x1d, 0xf1, 0x51, 0xb9, 0x05, + 0xfc, 0x06, 0x8d, 0xa4, 0x15, 0x90, 0x2a, 0x94, 0xe7, 0x8d, 0x1b, 0x7a, 0x13, 0x4d, 0x3d, 0x0f, + 0x85, 0x60, 0x78, 0x94, 0x49, 0x48, 0xbb, 0x9e, 0xee, 0x78, 0x24, 0x0b, 0xd3, 0x2a, 0x7d, 0x50, + 0x64, 0x48, 0x22, 0xab, 0x46, 0xaa, 0x5c, 0x5a, 0xc5, 0x7f, 0x2a, 0x3f, 0xd5, 0x79, 0xe1, 0x24, + 0x79, 0xe1, 0xdb, 0xbb, 0x67, 0x34, 0xc0, 0x1c, 0x7e, 0xef, 0xa9, 0xfb, 0x61, 0x34, 0xf0, 0x02, + 0x83, 0x0e, 0x3d, 0xf3, 0x33, 0x70, 0x43, 0x24, 0xb5, 0xf2, 0x04, 0x4c, 0xb6, 0x2d, 0xd3, 0xf2, + 0x90, 0xd3, 0x72, 0x10, 0xce, 0x58, 0x3a, 0x54, 0xf1, 0x9f, 0x47, 0x7a, 0xe4, 0xdc, 0x8e, 0x68, + 0x4d, 0x59, 0xd4, 0x89, 0x76, 0x77, 0xe3, 0xa9, 0x6c, 0xe6, 0xed, 0x11, 0xf9, 0xda, 0xb5, 0x6b, + 0xd7, 0x12, 0x33, 0x2f, 0x0e, 0xc3, 0x64, 0xd4, 0x9a, 0x89, 0x5c, 0xbe, 0xc7, 0x60, 0xd8, 0x6a, + 0x37, 0x77, 0x91, 0x43, 0x82, 0x94, 0x56, 0xd9, 0x93, 0x52, 0x86, 0x74, 0x43, 0xdf, 0x45, 0x8d, + 0x62, 0xea, 0x84, 0x34, 0x5b, 0x58, 0x38, 0x3d, 0xd0, 0xaa, 0x9c, 0x5b, 0xc3, 0x10, 0x95, 0x22, + 0x95, 0x87, 0x20, 0xc5, 0x4a, 0x34, 0x66, 0x38, 0x35, 0x18, 0x03, 0x5e, 0x4b, 0x2a, 0xc1, 0x29, + 0x9f, 0x82, 0x2c, 0xfe, 0x97, 0xe6, 0xc6, 0x30, 0xf1, 0x39, 0x83, 0x1b, 0x70, 0x5e, 0x28, 0x53, + 0x90, 0x21, 0xcb, 0xa4, 0x86, 0xf8, 0xd6, 0xe6, 0x3f, 0xe3, 0xc4, 0xaa, 0xa1, 0x3d, 0xbd, 0xdd, + 0xf0, 0xb4, 0x2b, 0x7a, 0xa3, 0x8d, 0x48, 0xc2, 0x67, 0xd5, 0x3c, 0x6b, 0x7c, 0x0c, 0xb7, 0x29, + 0xc7, 0x21, 0x47, 0x57, 0x95, 0x69, 0xd5, 0xd0, 0x73, 0xa4, 0x7a, 0xa6, 0x55, 0xba, 0xd0, 0x56, + 0x71, 0x0b, 0x1e, 0xfe, 0x19, 0xd7, 0xb6, 0x78, 0x6a, 0x92, 0x21, 0x70, 0x03, 0x19, 0xfe, 0xfe, + 0x70, 0xe1, 0xbe, 0x39, 0xfa, 0xf5, 0xc2, 0x39, 0x35, 0xf3, 0x8d, 0x04, 0xa4, 0x48, 0xbd, 0x18, + 0x83, 0xdc, 0xf6, 0x93, 0x5b, 0x15, 0x6d, 0x79, 0x73, 0x67, 0x71, 0xad, 0x22, 0x4b, 0x4a, 0x01, + 0x80, 0x34, 0x5c, 0x5c, 0xdb, 0x2c, 0x6f, 0xcb, 0x09, 0xff, 0x79, 0x75, 0x63, 0xfb, 0xdc, 0x19, + 0x39, 0xe9, 0x03, 0x76, 0x68, 0x43, 0x4a, 0x34, 0xb8, 0x6f, 0x41, 0x4e, 0x2b, 0x32, 0xe4, 0x29, + 0xc1, 0xea, 0x13, 0x95, 0xe5, 0x73, 0x67, 0xe4, 0xe1, 0x60, 0xcb, 0x7d, 0x0b, 0xf2, 0x88, 0x32, + 0x0a, 0x59, 0xd2, 0xb2, 0xb8, 0xb9, 0xb9, 0x26, 0x67, 0x7c, 0xce, 0xea, 0xb6, 0xba, 0xba, 0xb1, + 0x22, 0x67, 0x7d, 0xce, 0x15, 0x75, 0x73, 0x67, 0x4b, 0x06, 0x9f, 0x61, 0xbd, 0x52, 0xad, 0x96, + 0x57, 0x2a, 0x72, 0xce, 0xb7, 0x58, 0x7c, 0x72, 0xbb, 0x52, 0x95, 0xf3, 0x01, 0xb7, 0xee, 0x5b, + 0x90, 0x47, 0xfd, 0x21, 0x2a, 0x1b, 0x3b, 0xeb, 0x72, 0x41, 0x19, 0x87, 0x51, 0x3a, 0x04, 0x77, + 0x62, 0x2c, 0xd4, 0x74, 0xee, 0x8c, 0x2c, 0x77, 0x1c, 0xa1, 0x2c, 0xe3, 0x81, 0x86, 0x73, 0x67, + 0x64, 0x65, 0x66, 0x09, 0xd2, 0x24, 0xbb, 0x14, 0x05, 0x0a, 0x6b, 0xe5, 0xc5, 0xca, 0x9a, 0xb6, + 0xb9, 0xb5, 0xbd, 0xba, 0xb9, 0x51, 0x5e, 0x93, 0xa5, 0x4e, 0x9b, 0x5a, 0xf9, 0xec, 0xce, 0xaa, + 0x5a, 0x59, 0x96, 0x13, 0x62, 0xdb, 0x56, 0xa5, 0xbc, 0x5d, 0x59, 0x96, 0x93, 0x33, 0x06, 0x4c, + 0x46, 0xd5, 0xc9, 0xc8, 0x95, 0x21, 0x4c, 0x71, 0xa2, 0xc7, 0x14, 0x13, 0xae, 0xae, 0x29, 0xfe, + 0x71, 0x02, 0x26, 0x22, 0xf6, 0x8a, 0xc8, 0x41, 0x1e, 0x86, 0x34, 0x4d, 0x51, 0xba, 0x7b, 0xde, + 0x19, 0xb9, 0xe9, 0x90, 0x84, 0xed, 0xda, 0x41, 0x09, 0x4e, 0x54, 0x10, 0xc9, 0x1e, 0x0a, 0x02, + 0x53, 0x74, 0xd5, 0xf4, 0xa7, 0xbb, 0x6a, 0x3a, 0xdd, 0xf6, 0xce, 0x0d, 0xb2, 0xed, 0x91, 0xb6, + 0xa3, 0xd5, 0xf6, 0x74, 0x44, 0x6d, 0xbf, 0x00, 0xe3, 0x5d, 0x44, 0x03, 0xd7, 0xd8, 0x17, 0x24, + 0x28, 0xf6, 0x0a, 0x4e, 0x4c, 0xa5, 0x4b, 0x04, 0x2a, 0xdd, 0x85, 0x70, 0x04, 0x4f, 0xf6, 0x9e, + 0x84, 0xae, 0xb9, 0x7e, 0x4d, 0x82, 0x63, 0xd1, 0x4a, 0x31, 0xd2, 0x87, 0x87, 0x60, 0xb8, 0x89, + 0xbc, 0x7d, 0x9b, 0xab, 0xa5, 0xdb, 0x23, 0xf6, 0x60, 0xdc, 0x1d, 0x9e, 0x6c, 0x86, 0x12, 0x37, + 0xf1, 0x64, 0x2f, 0xb9, 0x47, 0xbd, 0xe9, 0xf2, 0xf4, 0xf3, 0x09, 0xb8, 0x21, 0x92, 0x3c, 0xd2, + 0xd1, 0x9b, 0x01, 0x4c, 0xab, 0xd5, 0xf6, 0xa8, 0x22, 0xa2, 0x05, 0x36, 0x4b, 0x5a, 0x48, 0xf1, + 0xc2, 0xc5, 0xb3, 0xed, 0xf9, 0xfd, 0x49, 0xd2, 0x0f, 0xb4, 0x89, 0x18, 0x9c, 0xef, 0x38, 0x9a, + 0x22, 0x8e, 0x4e, 0xf7, 0x78, 0xd3, 0xae, 0xc4, 0xbc, 0x07, 0x64, 0xa3, 0x61, 0x22, 0xcb, 0xd3, + 0x5c, 0xcf, 0x41, 0x7a, 0xd3, 0xb4, 0xea, 0x64, 0x07, 0xc9, 0x94, 0xd2, 0x7b, 0x7a, 0xc3, 0x45, + 0xea, 0x18, 0xed, 0xae, 0xf2, 0x5e, 0x8c, 0x20, 0x09, 0xe4, 0x08, 0x88, 0xe1, 0x00, 0x82, 0x76, + 0xfb, 0x88, 0x99, 0x5f, 0xc9, 0x42, 0x4e, 0xd0, 0xd5, 0xca, 0x49, 0xc8, 0x3f, 0xa3, 0x5f, 0xd1, + 0x35, 0x7e, 0x56, 0xa2, 0x91, 0xc8, 0xe1, 0xb6, 0x2d, 0x76, 0x5e, 0xba, 0x07, 0x26, 0x89, 0x89, + 0xdd, 0xf6, 0x90, 0xa3, 0x19, 0x0d, 0xdd, 0x75, 0x49, 0xd0, 0x32, 0xc4, 0x54, 0xc1, 0x7d, 0x9b, + 0xb8, 0x6b, 0x89, 0xf7, 0x28, 0x67, 0x61, 0x82, 0x20, 0x9a, 0xed, 0x86, 0x67, 0xb6, 0x1a, 0x48, + 0xc3, 0xa7, 0x37, 0x97, 0xec, 0x24, 0xbe, 0x67, 0xe3, 0xd8, 0x62, 0x9d, 0x19, 0x60, 0x8f, 0x5c, + 0x65, 0x19, 0x6e, 0x26, 0xb0, 0x3a, 0xb2, 0x90, 0xa3, 0x7b, 0x48, 0x43, 0xcf, 0xb6, 0xf5, 0x86, + 0xab, 0xe9, 0x56, 0x4d, 0xdb, 0xd7, 0xdd, 0xfd, 0xe2, 0x24, 0x26, 0x58, 0x4c, 0x14, 0x25, 0xf5, + 0x26, 0x6c, 0xb8, 0xc2, 0xec, 0x2a, 0xc4, 0xac, 0x6c, 0xd5, 0x2e, 0xe9, 0xee, 0xbe, 0x52, 0x82, + 0x63, 0x84, 0xc5, 0xf5, 0x1c, 0xd3, 0xaa, 0x6b, 0xc6, 0x3e, 0x32, 0x2e, 0x6b, 0x6d, 0x6f, 0xef, + 0x7c, 0xf1, 0x53, 0xe2, 0xf8, 0xc4, 0xc3, 0x2a, 0xb1, 0x59, 0xc2, 0x26, 0x3b, 0xde, 0xde, 0x79, + 0xa5, 0x0a, 0x79, 0x3c, 0x19, 0x4d, 0xf3, 0x79, 0xa4, 0xed, 0xd9, 0x0e, 0xd9, 0x1a, 0x0b, 0x11, + 0xa5, 0x49, 0x88, 0xe0, 0xdc, 0x26, 0x03, 0xac, 0xdb, 0x35, 0x54, 0x4a, 0x57, 0xb7, 0x2a, 0x95, + 0x65, 0x35, 0xc7, 0x59, 0x2e, 0xda, 0x0e, 0x4e, 0xa8, 0xba, 0xed, 0x07, 0x38, 0x47, 0x13, 0xaa, + 0x6e, 0xf3, 0xf0, 0x9e, 0x85, 0x09, 0xc3, 0xa0, 0xef, 0x6c, 0x1a, 0x1a, 0x3b, 0x63, 0xb9, 0x45, + 0x39, 0x10, 0x2c, 0xc3, 0x58, 0xa1, 0x06, 0x2c, 0xc7, 0x5d, 0xe5, 0x01, 0xb8, 0xa1, 0x13, 0x2c, + 0x11, 0x38, 0xde, 0xf5, 0x96, 0x61, 0xe8, 0x59, 0x98, 0x68, 0x1d, 0x74, 0x03, 0x95, 0xc0, 0x88, + 0xad, 0x83, 0x30, 0xec, 0x7e, 0x98, 0x6c, 0xed, 0xb7, 0xba, 0x71, 0xa7, 0x44, 0x9c, 0xd2, 0xda, + 0x6f, 0x85, 0x81, 0xb7, 0x91, 0x03, 0xb7, 0x83, 0x0c, 0xdd, 0x43, 0xb5, 0xe2, 0x8d, 0xa2, 0xb9, + 0xd0, 0xa1, 0xcc, 0x83, 0x6c, 0x18, 0x1a, 0xb2, 0xf4, 0xdd, 0x06, 0xd2, 0x74, 0x07, 0x59, 0xba, + 0x5b, 0x3c, 0x2e, 0x1a, 0x17, 0x0c, 0xa3, 0x42, 0x7a, 0xcb, 0xa4, 0x53, 0x39, 0x05, 0xe3, 0xf6, + 0xee, 0x33, 0x06, 0x4d, 0x49, 0xad, 0xe5, 0xa0, 0x3d, 0xf3, 0xb9, 0xe2, 0xad, 0x24, 0xbe, 0x63, + 0xb8, 0x83, 0x24, 0xe4, 0x16, 0x69, 0x56, 0xee, 0x04, 0xd9, 0x70, 0xf7, 0x75, 0xa7, 0x45, 0x6a, + 0xb2, 0xdb, 0xd2, 0x0d, 0x54, 0xbc, 0x8d, 0x9a, 0xd2, 0xf6, 0x0d, 0xde, 0x8c, 0x97, 0x84, 0x7b, + 0xd5, 0xdc, 0xf3, 0x38, 0xe3, 0x1d, 0x74, 0x49, 0x90, 0x36, 0xc6, 0x36, 0x0b, 0x32, 0x0e, 0x45, + 0x60, 0xe0, 0x59, 0x62, 0x56, 0x68, 0xed, 0xb7, 0xc4, 0x71, 0x6f, 0x81, 0x51, 0x6c, 0xd9, 0x19, + 0xf4, 0x4e, 0x2a, 0xc8, 0x5a, 0xfb, 0xc2, 0x88, 0x67, 0xe0, 0x18, 0x36, 0x6a, 0x22, 0x4f, 0xaf, + 0xe9, 0x9e, 0x2e, 0x58, 0xdf, 0x45, 0xac, 0x71, 0xdc, 0xd7, 0x59, 0x67, 0xc0, 0x4f, 0xa7, 0xbd, + 0x7b, 0xe0, 0x67, 0xd6, 0xdd, 0xd4, 0x4f, 0xdc, 0xc6, 0x73, 0xeb, 0x23, 0x13, 0xdd, 0x33, 0x25, + 0xc8, 0x8b, 0x89, 0xaf, 0x64, 0x81, 0xa6, 0xbe, 0x2c, 0x61, 0x15, 0xb4, 0xb4, 0xb9, 0x8c, 0xf5, + 0xcb, 0x53, 0x15, 0x39, 0x81, 0x75, 0xd4, 0xda, 0xea, 0x76, 0x45, 0x53, 0x77, 0x36, 0xb6, 0x57, + 0xd7, 0x2b, 0x72, 0x52, 0x14, 0xec, 0xdf, 0x4d, 0x40, 0x21, 0x78, 0xf6, 0x52, 0x3e, 0x03, 0x37, + 0xf2, 0x8b, 0x12, 0x17, 0x79, 0xda, 0x55, 0xd3, 0x21, 0x6b, 0xb1, 0xa9, 0xd3, 0x7d, 0xd1, 0xcf, + 0x86, 0x49, 0x66, 0x55, 0x45, 0xde, 0xe3, 0xa6, 0x83, 0x57, 0x5a, 0x53, 0xf7, 0x94, 0x35, 0x38, + 0x6e, 0xd9, 0x9a, 0xeb, 0xe9, 0x56, 0x4d, 0x77, 0x6a, 0x5a, 0xe7, 0x8a, 0x4a, 0xd3, 0x0d, 0x03, + 0xb9, 0xae, 0x4d, 0xf7, 0x40, 0x9f, 0xe5, 0xd3, 0x96, 0x5d, 0x65, 0xc6, 0x9d, 0xcd, 0xa1, 0xcc, + 0x4c, 0x43, 0x99, 0x9b, 0xec, 0x95, 0xb9, 0x9f, 0x82, 0x6c, 0x53, 0x6f, 0x69, 0xc8, 0xf2, 0x9c, + 0x03, 0xa2, 0xb8, 0x33, 0x6a, 0xa6, 0xa9, 0xb7, 0x2a, 0xf8, 0xf9, 0xe3, 0x39, 0xf8, 0xfc, 0x28, + 0x09, 0x79, 0x51, 0x75, 0xe3, 0x43, 0x8c, 0x41, 0x36, 0x28, 0x89, 0x94, 0xb0, 0x5b, 0xfa, 0x6a, + 0xf4, 0xb9, 0x25, 0xbc, 0x73, 0x95, 0x86, 0xa9, 0x16, 0x56, 0x29, 0x12, 0xab, 0x06, 0x9c, 0x5a, + 0x88, 0x6a, 0x8f, 0x8c, 0xca, 0x9e, 0x94, 0x15, 0x18, 0x7e, 0xc6, 0x25, 0xdc, 0xc3, 0x84, 0xfb, + 0xd6, 0xfe, 0xdc, 0x8f, 0x54, 0x09, 0x79, 0xf6, 0x91, 0xaa, 0xb6, 0xb1, 0xa9, 0xae, 0x97, 0xd7, + 0x54, 0x06, 0x57, 0x6e, 0x82, 0x54, 0x43, 0x7f, 0xfe, 0x20, 0xb8, 0xc7, 0x91, 0xa6, 0x41, 0x03, + 0x7f, 0x13, 0xa4, 0xae, 0x22, 0xfd, 0x72, 0x70, 0x67, 0x21, 0x4d, 0x1f, 0x61, 0xea, 0xcf, 0x43, + 0x9a, 0xc4, 0x4b, 0x01, 0x60, 0x11, 0x93, 0x87, 0x94, 0x0c, 0xa4, 0x96, 0x36, 0x55, 0x9c, 0xfe, + 0x32, 0xe4, 0x69, 0xab, 0xb6, 0xb5, 0x5a, 0x59, 0xaa, 0xc8, 0x89, 0x99, 0xb3, 0x30, 0x4c, 0x83, + 0x80, 0x97, 0x86, 0x1f, 0x06, 0x79, 0x88, 0x3d, 0x32, 0x0e, 0x89, 0xf7, 0xee, 0xac, 0x2f, 0x56, + 0x54, 0x39, 0x21, 0x4e, 0xaf, 0x0b, 0x79, 0x51, 0x70, 0x7f, 0x3c, 0x39, 0xf5, 0x6d, 0x09, 0x72, + 0x82, 0x80, 0xc6, 0xca, 0x47, 0x6f, 0x34, 0xec, 0xab, 0x9a, 0xde, 0x30, 0x75, 0x97, 0x25, 0x05, + 0x90, 0xa6, 0x32, 0x6e, 0x19, 0x74, 0xd2, 0x3e, 0x16, 0xe7, 0x5f, 0x91, 0x40, 0x0e, 0x6b, 0xd7, + 0x90, 0x83, 0xd2, 0x4f, 0xd4, 0xc1, 0x97, 0x25, 0x28, 0x04, 0x05, 0x6b, 0xc8, 0xbd, 0x93, 0x3f, + 0x51, 0xf7, 0xde, 0x4c, 0xc0, 0x68, 0x40, 0xa6, 0x0e, 0xea, 0xdd, 0xb3, 0x30, 0x6e, 0xd6, 0x50, + 0xb3, 0x65, 0x7b, 0xc8, 0x32, 0x0e, 0xb4, 0x06, 0xba, 0x82, 0x1a, 0xc5, 0x19, 0x52, 0x28, 0xe6, + 0xfb, 0x0b, 0xe1, 0xb9, 0xd5, 0x0e, 0x6e, 0x0d, 0xc3, 0x4a, 0x13, 0xab, 0xcb, 0x95, 0xf5, 0xad, + 0xcd, 0xed, 0xca, 0xc6, 0xd2, 0x93, 0xda, 0xce, 0xc6, 0xa3, 0x1b, 0x9b, 0x8f, 0x6f, 0xa8, 0xb2, + 0x19, 0x32, 0xfb, 0x08, 0x97, 0xfa, 0x16, 0xc8, 0x61, 0xa7, 0x94, 0x1b, 0x21, 0xca, 0x2d, 0x79, + 0x48, 0x99, 0x80, 0xb1, 0x8d, 0x4d, 0xad, 0xba, 0xba, 0x5c, 0xd1, 0x2a, 0x17, 0x2f, 0x56, 0x96, + 0xb6, 0xab, 0xf4, 0x6a, 0xc3, 0xb7, 0xde, 0x0e, 0x2e, 0xea, 0x97, 0x92, 0x30, 0x11, 0xe1, 0x89, + 0x52, 0x66, 0x87, 0x12, 0x7a, 0x4e, 0xba, 0x7b, 0x10, 0xef, 0xe7, 0xb0, 0x2a, 0xd8, 0xd2, 0x1d, + 0x8f, 0x9d, 0x61, 0xee, 0x04, 0x1c, 0x25, 0xcb, 0x33, 0xf7, 0x4c, 0xe4, 0xb0, 0x9b, 0x20, 0x7a, + 0x52, 0x19, 0xeb, 0xb4, 0xd3, 0xcb, 0xa0, 0xbb, 0x40, 0x69, 0xd9, 0xae, 0xe9, 0x99, 0x57, 0x90, + 0x66, 0x5a, 0xfc, 0xda, 0x08, 0x9f, 0x5c, 0x52, 0xaa, 0xcc, 0x7b, 0x56, 0x2d, 0xcf, 0xb7, 0xb6, + 0x50, 0x5d, 0x0f, 0x59, 0xe3, 0x02, 0x9e, 0x54, 0x65, 0xde, 0xe3, 0x5b, 0x9f, 0x84, 0x7c, 0xcd, + 0x6e, 0x63, 0x39, 0x47, 0xed, 0xf0, 0x7e, 0x21, 0xa9, 0x39, 0xda, 0xe6, 0x9b, 0x30, 0xa1, 0xde, + 0xb9, 0xaf, 0xca, 0xab, 0x39, 0xda, 0x46, 0x4d, 0xee, 0x80, 0x31, 0xbd, 0x5e, 0x77, 0x30, 0x39, + 0x27, 0xa2, 0x47, 0x8f, 0x82, 0xdf, 0x4c, 0x0c, 0xa7, 0x1e, 0x81, 0x0c, 0x8f, 0x03, 0xde, 0x92, + 0x71, 0x24, 0xb4, 0x16, 0x3d, 0x4f, 0x27, 0x66, 0xb3, 0x6a, 0xc6, 0xe2, 0x9d, 0x27, 0x21, 0x6f, + 0xba, 0x5a, 0xe7, 0xfa, 0x3d, 0x71, 0x22, 0x31, 0x9b, 0x51, 0x73, 0xa6, 0xeb, 0x5f, 0x5d, 0xce, + 0xbc, 0x96, 0x80, 0x42, 0xf0, 0xf3, 0x81, 0xb2, 0x0c, 0x99, 0x86, 0x6d, 0xe8, 0x24, 0xb5, 0xe8, + 0xb7, 0xab, 0xd9, 0x98, 0x2f, 0x0e, 0x73, 0x6b, 0xcc, 0x5e, 0xf5, 0x91, 0x53, 0xff, 0x24, 0x41, + 0x86, 0x37, 0x2b, 0xc7, 0x20, 0xd5, 0xd2, 0xbd, 0x7d, 0x42, 0x97, 0x5e, 0x4c, 0xc8, 0x92, 0x4a, + 0x9e, 0x71, 0xbb, 0xdb, 0xd2, 0x2d, 0x92, 0x02, 0xac, 0x1d, 0x3f, 0xe3, 0x79, 0x6d, 0x20, 0xbd, + 0x46, 0xce, 0x35, 0x76, 0xb3, 0x89, 0x2c, 0xcf, 0xe5, 0xf3, 0xca, 0xda, 0x97, 0x58, 0xb3, 0x72, + 0x1a, 0xc6, 0x3d, 0x47, 0x37, 0x1b, 0x01, 0xdb, 0x14, 0xb1, 0x95, 0x79, 0x87, 0x6f, 0x5c, 0x82, + 0x9b, 0x38, 0x6f, 0x0d, 0x79, 0xba, 0xb1, 0x8f, 0x6a, 0x1d, 0xd0, 0x30, 0xb9, 0xbf, 0xb8, 0x91, + 0x19, 0x2c, 0xb3, 0x7e, 0x8e, 0x9d, 0xf9, 0xbe, 0x04, 0xe3, 0xfc, 0x24, 0x56, 0xf3, 0x83, 0xb5, + 0x0e, 0xa0, 0x5b, 0x96, 0xed, 0x89, 0xe1, 0xea, 0x4e, 0xe5, 0x2e, 0xdc, 0x5c, 0xd9, 0x07, 0xa9, + 0x02, 0xc1, 0x54, 0x13, 0xa0, 0xd3, 0xd3, 0x33, 0x6c, 0xc7, 0x21, 0xc7, 0xbe, 0x0d, 0x91, 0x0f, + 0x8c, 0xf4, 0xec, 0x0e, 0xb4, 0x09, 0x1f, 0xd9, 0x94, 0x49, 0x48, 0xef, 0xa2, 0xba, 0x69, 0xb1, + 0x1b, 0x5f, 0xfa, 0xc0, 0x6f, 0x58, 0x52, 0xfe, 0x0d, 0xcb, 0xe2, 0xe7, 0x60, 0xc2, 0xb0, 0x9b, + 0x61, 0x77, 0x17, 0xe5, 0xd0, 0xfd, 0x81, 0x7b, 0x49, 0x7a, 0x0a, 0x3a, 0x12, 0xf3, 0x7d, 0x49, + 0xfa, 0x52, 0x22, 0xb9, 0xb2, 0xb5, 0xf8, 0xd5, 0xc4, 0xd4, 0x0a, 0x85, 0x6e, 0xf1, 0x37, 0x55, + 0xd1, 0x5e, 0x03, 0x19, 0xd8, 0x7b, 0xf8, 0xf2, 0x69, 0xb8, 0xbb, 0x6e, 0x7a, 0xfb, 0xed, 0xdd, + 0x39, 0xc3, 0x6e, 0xce, 0xd7, 0xed, 0xba, 0xdd, 0xf9, 0xa6, 0x8a, 0x9f, 0xc8, 0x03, 0xf9, 0x8b, + 0x7d, 0x57, 0xcd, 0xfa, 0xad, 0x53, 0xb1, 0x1f, 0x61, 0x4b, 0x1b, 0x30, 0xc1, 0x8c, 0x35, 0xf2, + 0x61, 0x87, 0x1e, 0x4f, 0x94, 0xbe, 0x97, 0x63, 0xc5, 0xaf, 0xbf, 0x45, 0xb6, 0x6b, 0x75, 0x9c, + 0x41, 0x71, 0x1f, 0x3d, 0xc1, 0x94, 0x54, 0xb8, 0x21, 0xc0, 0x47, 0x97, 0x26, 0x72, 0x62, 0x18, + 0xbf, 0xcb, 0x18, 0x27, 0x04, 0xc6, 0x2a, 0x83, 0x96, 0x96, 0x60, 0xf4, 0x28, 0x5c, 0x7f, 0xcf, + 0xb8, 0xf2, 0x48, 0x24, 0x59, 0x81, 0x31, 0x42, 0x62, 0xb4, 0x5d, 0xcf, 0x6e, 0x92, 0xba, 0xd7, + 0x9f, 0xe6, 0x1f, 0xde, 0xa2, 0x6b, 0xa5, 0x80, 0x61, 0x4b, 0x3e, 0xaa, 0x54, 0x02, 0xf2, 0x2d, + 0xab, 0x86, 0x8c, 0x46, 0x0c, 0xc3, 0xeb, 0xcc, 0x11, 0xdf, 0xbe, 0xf4, 0x18, 0x4c, 0xe2, 0xbf, + 0x49, 0x59, 0x12, 0x3d, 0x89, 0xbf, 0x49, 0x2b, 0x7e, 0xff, 0x05, 0xba, 0x1c, 0x27, 0x7c, 0x02, + 0xc1, 0x27, 0x61, 0x16, 0xeb, 0xc8, 0xf3, 0x90, 0xe3, 0x6a, 0x7a, 0x23, 0xca, 0x3d, 0xe1, 0x2a, + 0xa2, 0xf8, 0x85, 0x77, 0x82, 0xb3, 0xb8, 0x42, 0x91, 0xe5, 0x46, 0xa3, 0xb4, 0x03, 0x37, 0x46, + 0x64, 0xc5, 0x00, 0x9c, 0x2f, 0x31, 0xce, 0xc9, 0xae, 0xcc, 0xc0, 0xb4, 0x5b, 0xc0, 0xdb, 0xfd, + 0xb9, 0x1c, 0x80, 0xf3, 0xf7, 0x18, 0xa7, 0xc2, 0xb0, 0x7c, 0x4a, 0x31, 0xe3, 0x23, 0x30, 0x7e, + 0x05, 0x39, 0xbb, 0xb6, 0xcb, 0xae, 0x7f, 0x06, 0xa0, 0x7b, 0x99, 0xd1, 0x8d, 0x31, 0x20, 0xb9, + 0x0f, 0xc2, 0x5c, 0x0f, 0x40, 0x66, 0x4f, 0x37, 0xd0, 0x00, 0x14, 0x5f, 0x64, 0x14, 0x23, 0xd8, + 0x1e, 0x43, 0xcb, 0x90, 0xaf, 0xdb, 0x6c, 0x67, 0x8a, 0x87, 0xbf, 0xc2, 0xe0, 0x39, 0x8e, 0x61, + 0x14, 0x2d, 0xbb, 0xd5, 0x6e, 0xe0, 0x6d, 0x2b, 0x9e, 0xe2, 0xf7, 0x39, 0x05, 0xc7, 0x30, 0x8a, + 0x23, 0x84, 0xf5, 0x0f, 0x38, 0x85, 0x2b, 0xc4, 0xf3, 0x61, 0xc8, 0xd9, 0x56, 0xe3, 0xc0, 0xb6, + 0x06, 0x71, 0xe2, 0x55, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0x2e, 0x40, 0x76, 0xd0, 0x89, 0xf8, 0xa3, + 0x77, 0xf8, 0xf2, 0xe0, 0x33, 0xb0, 0x02, 0x63, 0xbc, 0x40, 0x99, 0xb6, 0x35, 0x00, 0xc5, 0x97, + 0x19, 0x45, 0x41, 0x80, 0xb1, 0xd7, 0xf0, 0x90, 0xeb, 0xd5, 0xd1, 0x20, 0x24, 0xaf, 0xf1, 0xd7, + 0x60, 0x10, 0x16, 0xca, 0x5d, 0x64, 0x19, 0xfb, 0x83, 0x31, 0x7c, 0x85, 0x87, 0x92, 0x63, 0x30, + 0xc5, 0x12, 0x8c, 0x36, 0x75, 0xc7, 0xdd, 0xd7, 0x1b, 0x03, 0x4d, 0xc7, 0x1f, 0x33, 0x8e, 0xbc, + 0x0f, 0x62, 0x11, 0x69, 0x5b, 0x47, 0xa1, 0xf9, 0x2a, 0x8f, 0x88, 0x00, 0x63, 0x4b, 0xcf, 0xf5, + 0xc8, 0x5d, 0xd9, 0x51, 0xd8, 0xfe, 0x84, 0x2f, 0x3d, 0x8a, 0x5d, 0x17, 0x19, 0x2f, 0x40, 0xd6, + 0x35, 0x9f, 0x1f, 0x88, 0xe6, 0x4f, 0xf9, 0x4c, 0x13, 0x00, 0x06, 0x3f, 0x09, 0x37, 0x45, 0x6e, + 0x13, 0x03, 0x90, 0xfd, 0x19, 0x23, 0x3b, 0x16, 0xb1, 0x55, 0xb0, 0x92, 0x70, 0x54, 0xca, 0x3f, + 0xe7, 0x25, 0x01, 0x85, 0xb8, 0xb6, 0xf0, 0x59, 0xc1, 0xd5, 0xf7, 0x8e, 0x16, 0xb5, 0xbf, 0xe0, + 0x51, 0xa3, 0xd8, 0x40, 0xd4, 0xb6, 0xe1, 0x18, 0x63, 0x3c, 0xda, 0xbc, 0x7e, 0x8d, 0x17, 0x56, + 0x8a, 0xde, 0x09, 0xce, 0xee, 0xe7, 0x60, 0xca, 0x0f, 0x27, 0x17, 0xa5, 0xae, 0xd6, 0xd4, 0x5b, + 0x03, 0x30, 0x7f, 0x9d, 0x31, 0xf3, 0x8a, 0xef, 0xab, 0x5a, 0x77, 0x5d, 0x6f, 0x61, 0xf2, 0x27, + 0xa0, 0xc8, 0xc9, 0xdb, 0x96, 0x83, 0x0c, 0xbb, 0x6e, 0x99, 0xcf, 0xa3, 0xda, 0x00, 0xd4, 0x7f, + 0x19, 0x9a, 0xaa, 0x1d, 0x01, 0x8e, 0x99, 0x57, 0x41, 0xf6, 0xb5, 0x8a, 0x66, 0x36, 0x5b, 0xb6, + 0xe3, 0xc5, 0x30, 0xfe, 0x15, 0x9f, 0x29, 0x1f, 0xb7, 0x4a, 0x60, 0xa5, 0x0a, 0x14, 0xc8, 0xe3, 0xa0, 0x29, 0xf9, 0xd7, 0x8c, 0x68, 0xb4, 0x83, 0x62, 0x85, 0xc3, 0xb0, 0x9b, 0x2d, 0xdd, 0x19, 0xa4, 0xfe, 0xfd, 0x0d, 0x2f, 0x1c, 0x0c, 0xc2, 0x0a, 0x87, 0x77, 0xd0, 0x42, 0x78, 0xb7, 0x1f, - 0x80, 0xe1, 0x9b, 0xbc, 0x70, 0x70, 0x0c, 0xa3, 0xe0, 0x82, 0x61, 0x00, 0x8a, 0xbf, 0xe5, 0x14, + 0x80, 0xe1, 0x1b, 0xbc, 0x70, 0x70, 0x0c, 0xa3, 0xe0, 0x82, 0x61, 0x00, 0x8a, 0xbf, 0xe5, 0x14, 0x1c, 0x83, 0x29, 0x3e, 0xdb, 0xd9, 0x68, 0x1d, 0x54, 0x37, 0x5d, 0xcf, 0xa1, 0x52, 0xb8, 0x3f, - 0xd5, 0xb7, 0xde, 0x09, 0x8a, 0x30, 0x55, 0x80, 0xe2, 0x4a, 0xc4, 0xae, 0x50, 0xc9, 0x49, 0x29, - 0xde, 0xb1, 0x6f, 0xf3, 0x4a, 0x24, 0xc0, 0xb0, 0x6f, 0x82, 0x42, 0xc4, 0x61, 0x37, 0xf0, 0xf9, - 0x60, 0x00, 0xba, 0xef, 0x84, 0x9c, 0xab, 0x72, 0x2c, 0xe6, 0x14, 0xf4, 0x4f, 0xdb, 0xba, 0x8c, + 0xd5, 0x37, 0xdf, 0x09, 0x8a, 0x30, 0x55, 0x80, 0xe2, 0x4a, 0xc4, 0xae, 0x50, 0xc9, 0x49, 0x29, + 0xde, 0xb1, 0x6f, 0xf1, 0x4a, 0x24, 0xc0, 0xb0, 0x6f, 0x82, 0x42, 0xc4, 0x61, 0x37, 0xf0, 0xf9, + 0x60, 0x00, 0xba, 0x6f, 0x87, 0x9c, 0xab, 0x72, 0x2c, 0xe6, 0x14, 0xf4, 0x4f, 0xdb, 0xba, 0x8c, 0x0e, 0x06, 0xca, 0xce, 0xbf, 0x0b, 0xe9, 0x9f, 0x1d, 0x8a, 0xa4, 0x35, 0x64, 0x2c, 0xa4, 0xa7, - 0x94, 0xb8, 0x1f, 0xeb, 0x14, 0x7f, 0xe1, 0x3d, 0xf6, 0xbe, 0x41, 0x39, 0x55, 0x5a, 0xc3, 0x49, + 0x94, 0xb8, 0x5f, 0x01, 0x15, 0x7f, 0xee, 0x3d, 0xf6, 0xbe, 0x41, 0x39, 0x55, 0x5a, 0xc3, 0x49, 0x1e, 0x14, 0x3d, 0xf1, 0x64, 0x2f, 0xbc, 0xe7, 0xe7, 0x79, 0x40, 0xf3, 0x94, 0x2e, 0xc2, 0x68, - 0x40, 0xf0, 0xc4, 0x53, 0xfd, 0x22, 0xa3, 0xca, 0x8b, 0x7a, 0xa7, 0x74, 0x16, 0x52, 0x58, 0xbc, - 0xc4, 0xc3, 0x7f, 0x89, 0xc1, 0x89, 0x79, 0xe9, 0x41, 0xc8, 0x70, 0xd1, 0x12, 0x0f, 0xfd, 0x65, - 0x06, 0xf5, 0x21, 0x18, 0xce, 0x05, 0x4b, 0x3c, 0xfc, 0x57, 0x38, 0x9c, 0x43, 0x30, 0x7c, 0xf0, - 0x10, 0x7e, 0xf7, 0x57, 0x53, 0x6c, 0xd3, 0xe1, 0xb1, 0xbb, 0x00, 0x23, 0x4c, 0xa9, 0xc4, 0xa3, - 0x3f, 0xcf, 0x06, 0xe7, 0x88, 0xd2, 0xfd, 0x90, 0x1e, 0x30, 0xe0, 0xbf, 0xc6, 0xa0, 0xd4, 0xbe, - 0xb4, 0x04, 0x39, 0x41, 0x9d, 0xc4, 0xc3, 0x7f, 0x9d, 0xc1, 0x45, 0x14, 0x76, 0x9d, 0xa9, 0x93, - 0x78, 0x82, 0xdf, 0xe0, 0xae, 0x33, 0x04, 0x0e, 0x1b, 0x17, 0x26, 0xf1, 0xe8, 0xdf, 0xe4, 0x51, - 0xe7, 0x90, 0xd2, 0xc3, 0x90, 0xf5, 0x37, 0x9b, 0x78, 0xfc, 0x6f, 0x31, 0x7c, 0x07, 0x83, 0x23, - 0x20, 0x6c, 0x76, 0xf1, 0x14, 0xbf, 0xcd, 0x23, 0x20, 0xa0, 0xf0, 0x32, 0x0a, 0x0b, 0x98, 0x78, - 0xa6, 0xdf, 0xe1, 0xcb, 0x28, 0xa4, 0x5f, 0xf0, 0x6c, 0x92, 0x9a, 0x1f, 0x4f, 0xf1, 0xbb, 0x7c, - 0x36, 0x89, 0x3d, 0x76, 0x23, 0xac, 0x08, 0xe2, 0x39, 0x7e, 0x8f, 0xbb, 0x11, 0x12, 0x04, 0xa5, + 0x40, 0xf0, 0xc4, 0x53, 0xfd, 0x3c, 0xa3, 0xca, 0x8b, 0x7a, 0xa7, 0x74, 0x16, 0x52, 0x58, 0xbc, + 0xc4, 0xc3, 0x7f, 0x81, 0xc1, 0x89, 0x79, 0xe9, 0x41, 0xc8, 0x70, 0xd1, 0x12, 0x0f, 0xfd, 0x45, + 0x06, 0xf5, 0x21, 0x18, 0xce, 0x05, 0x4b, 0x3c, 0xfc, 0x97, 0x38, 0x9c, 0x43, 0x30, 0x7c, 0xf0, + 0x10, 0x7e, 0xe7, 0x97, 0x53, 0x6c, 0xd3, 0xe1, 0xb1, 0xbb, 0x00, 0x23, 0x4c, 0xa9, 0xc4, 0xa3, + 0x3f, 0xcf, 0x06, 0xe7, 0x88, 0xd2, 0xfd, 0x90, 0x1e, 0x30, 0xe0, 0xbf, 0xca, 0xa0, 0xd4, 0xbe, + 0xb4, 0x04, 0x39, 0x41, 0x9d, 0xc4, 0xc3, 0x7f, 0x8d, 0xc1, 0x45, 0x14, 0x76, 0x9d, 0xa9, 0x93, + 0x78, 0x82, 0x5f, 0xe7, 0xae, 0x33, 0x04, 0x0e, 0x1b, 0x17, 0x26, 0xf1, 0xe8, 0xdf, 0xe0, 0x51, + 0xe7, 0x90, 0xd2, 0xc3, 0x90, 0xf5, 0x37, 0x9b, 0x78, 0xfc, 0x6f, 0x32, 0x7c, 0x07, 0x83, 0x23, + 0x20, 0x6c, 0x76, 0xf1, 0x14, 0xbf, 0xc5, 0x23, 0x20, 0xa0, 0xf0, 0x32, 0x0a, 0x0b, 0x98, 0x78, + 0xa6, 0xdf, 0xe6, 0xcb, 0x28, 0xa4, 0x5f, 0xf0, 0x6c, 0x92, 0x9a, 0x1f, 0x4f, 0xf1, 0x3b, 0x7c, + 0x36, 0x89, 0x3d, 0x76, 0x23, 0xac, 0x08, 0xe2, 0x39, 0x7e, 0x97, 0xbb, 0x11, 0x12, 0x04, 0xa5, 0x2d, 0x50, 0xba, 0xd5, 0x40, 0x3c, 0xdf, 0x8b, 0x8c, 0x6f, 0xbc, 0x4b, 0x0c, 0x94, 0x1e, 0x87, 0x63, 0xd1, 0x4a, 0x20, 0x9e, 0xf5, 0x0b, 0xef, 0x85, 0xce, 0x6e, 0xa2, 0x10, 0x28, 0x6d, 0x77, 0xb6, 0x14, 0x51, 0x05, 0xc4, 0xd3, 0xbe, 0xf4, 0x5e, 0xb0, 0x70, 0x8b, 0x22, 0xa0, 0x54, 0x06, @@ -545,84 +627,84 @@ func Mapsproto2Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_des 0x5f, 0xe4, 0x4b, 0x83, 0x21, 0xf0, 0xd2, 0xe0, 0x5b, 0x6f, 0x3c, 0xfa, 0x15, 0xbe, 0x34, 0x38, 0x04, 0x67, 0xb6, 0xb0, 0xbb, 0xc5, 0x33, 0xbc, 0xca, 0x33, 0x5b, 0x40, 0x95, 0x36, 0x60, 0xbc, 0x6b, 0x43, 0x8c, 0xa7, 0xfa, 0x12, 0xa3, 0x92, 0xc3, 0xfb, 0xa1, 0xb8, 0x79, 0xb1, 0xcd, 0x30, - 0x9e, 0xed, 0x8f, 0x42, 0x9b, 0x17, 0xdb, 0x0b, 0x4b, 0x17, 0x20, 0x63, 0xb5, 0x1b, 0x0d, 0xbc, - 0x78, 0x94, 0xfe, 0x3f, 0xb0, 0x2b, 0xfe, 0xcb, 0x07, 0x2c, 0x3a, 0x1c, 0x50, 0x3a, 0x0b, 0x69, + 0x9e, 0xed, 0x0f, 0x43, 0x9b, 0x17, 0xdb, 0x0b, 0x4b, 0x17, 0x20, 0x63, 0xb5, 0x1b, 0x0d, 0xbc, + 0x78, 0x94, 0xfe, 0xbf, 0xdc, 0x2b, 0xfe, 0xcb, 0x07, 0x2c, 0x3a, 0x1c, 0x50, 0x3a, 0x0b, 0x69, 0xd4, 0xdc, 0x45, 0xb5, 0x38, 0xe4, 0xbf, 0x7e, 0xc0, 0x0b, 0x26, 0xb6, 0x2e, 0x3d, 0x0c, 0x40, - 0xaf, 0x46, 0xc8, 0x67, 0xbf, 0x18, 0xec, 0xbf, 0x7d, 0xc0, 0x7e, 0xfa, 0xd2, 0x81, 0x74, 0x08, - 0xe8, 0x0f, 0x69, 0xfa, 0x13, 0xbc, 0x13, 0x24, 0x20, 0x33, 0xf2, 0x00, 0x8c, 0x3c, 0xe3, 0xda, + 0xaf, 0x46, 0xc8, 0x67, 0xbf, 0x18, 0xec, 0xbf, 0x7d, 0xc0, 0x7e, 0x53, 0xd3, 0x81, 0x74, 0x08, + 0xe8, 0x2f, 0x74, 0xfa, 0x13, 0xbc, 0x13, 0x24, 0x20, 0x33, 0xf2, 0x00, 0x8c, 0x3c, 0xe3, 0xda, 0x96, 0xa7, 0xd7, 0xe3, 0xd0, 0xff, 0xce, 0xd0, 0xdc, 0x1e, 0x07, 0xac, 0x69, 0x3b, 0xc8, 0xd3, 0xeb, 0x6e, 0x1c, 0xf6, 0x3f, 0x18, 0xd6, 0x07, 0x60, 0xb0, 0xa1, 0xbb, 0xde, 0x20, 0xef, 0xfd, - 0x53, 0x0e, 0xe6, 0x00, 0xec, 0x34, 0xfe, 0xfb, 0x32, 0x3a, 0x88, 0xc3, 0xbe, 0xcb, 0x9d, 0x66, - 0xf6, 0xa5, 0x07, 0x21, 0x8b, 0xff, 0xa4, 0xbf, 0x67, 0x8b, 0x01, 0xff, 0x27, 0x03, 0x77, 0x10, - 0x78, 0x64, 0xd7, 0xab, 0x79, 0x66, 0x7c, 0xb0, 0xff, 0x8b, 0xcd, 0x34, 0xb7, 0x2f, 0x95, 0x21, - 0xe7, 0x7a, 0xb5, 0x5a, 0x9b, 0xe9, 0xd3, 0x18, 0xf8, 0x7f, 0x7f, 0xe0, 0x5f, 0x59, 0xf8, 0x18, - 0x3c, 0xdb, 0x57, 0x2f, 0x7b, 0x2d, 0x9b, 0x7c, 0xe6, 0x88, 0x63, 0x78, 0x8f, 0x31, 0x08, 0x90, - 0xc5, 0x4a, 0xf4, 0xf5, 0x2d, 0xac, 0xd8, 0x2b, 0x36, 0xbd, 0xb8, 0x7d, 0x6a, 0x26, 0xfe, 0x06, - 0x16, 0xfe, 0xe7, 0x6e, 0x38, 0x69, 0xd8, 0xcd, 0x5d, 0xdb, 0x9d, 0xf7, 0xcb, 0xf1, 0x7c, 0x53, - 0x6f, 0xb9, 0xa4, 0x7b, 0x81, 0x5d, 0xce, 0xe6, 0xd8, 0x13, 0xee, 0x98, 0x3a, 0xda, 0xc5, 0xee, - 0xcc, 0xcd, 0x30, 0x7a, 0xb1, 0x61, 0xeb, 0x9e, 0x69, 0xd5, 0xb7, 0xb0, 0xef, 0x4a, 0x1e, 0xa4, - 0x3d, 0xf2, 0x61, 0x52, 0x52, 0xa5, 0xbd, 0x99, 0x7f, 0x4c, 0x43, 0x96, 0xde, 0x09, 0xae, 0xeb, - 0x2d, 0xe5, 0xe7, 0x21, 0xbf, 0xc1, 0x16, 0xe2, 0xbd, 0x0b, 0xe7, 0x5d, 0xff, 0x1b, 0x84, 0x30, - 0xfe, 0x9c, 0x6f, 0x3d, 0x27, 0x9a, 0x92, 0x1f, 0x22, 0x2c, 0xde, 0xf3, 0xa3, 0x37, 0x8e, 0xdf, - 0xd5, 0xd3, 0x3f, 0x2c, 0x2d, 0xe6, 0xe9, 0x8a, 0x99, 0xdb, 0x31, 0x2d, 0xef, 0xde, 0x85, 0xf3, - 0x6a, 0x60, 0x3c, 0xe5, 0x0a, 0x64, 0x58, 0x87, 0xcb, 0xbe, 0x4d, 0xdd, 0xda, 0x63, 0x6c, 0x6e, - 0x46, 0xc7, 0x3d, 0xf3, 0xfa, 0x1b, 0xc7, 0x87, 0x8e, 0x3c, 0xb6, 0x3f, 0x96, 0xf2, 0x2c, 0xe4, - 0xb8, 0x1f, 0xab, 0x35, 0x97, 0xfd, 0x5f, 0x84, 0x3b, 0x62, 0x5e, 0x7b, 0xb5, 0xc6, 0x46, 0xbf, - 0xfd, 0x47, 0x6f, 0x1c, 0x9f, 0xe9, 0x3b, 0xf2, 0xdc, 0x4e, 0xdb, 0xac, 0xa9, 0xe2, 0x18, 0xca, - 0xd3, 0x90, 0xc4, 0x43, 0xd1, 0x9f, 0x6f, 0x1e, 0xef, 0x31, 0x94, 0x3f, 0xc4, 0x29, 0xf6, 0x82, - 0x83, 0x0c, 0x83, 0x79, 0xa7, 0x1e, 0x86, 0xf1, 0xae, 0xe9, 0x51, 0x64, 0x48, 0x5e, 0x46, 0x07, - 0xec, 0x77, 0x72, 0xf8, 0x4f, 0x65, 0xb2, 0xf3, 0x43, 0x56, 0x69, 0x36, 0xcf, 0x7e, 0x9d, 0x5a, - 0x4a, 0x9c, 0x97, 0xa6, 0x2e, 0xc0, 0x68, 0x20, 0xc6, 0x47, 0x02, 0x3f, 0x04, 0x72, 0x38, 0x4a, - 0x47, 0xc2, 0x9f, 0x83, 0xcc, 0x87, 0xc1, 0xcd, 0xfc, 0x50, 0x81, 0x91, 0x72, 0xa3, 0xb1, 0xae, - 0xb7, 0x5c, 0xe5, 0x49, 0x18, 0xa7, 0x07, 0xa0, 0x6d, 0x7b, 0x99, 0x7c, 0x0d, 0x5c, 0xd7, 0x5b, - 0x2c, 0xa1, 0x4f, 0x07, 0xc2, 0xcd, 0x00, 0x73, 0x5d, 0xd6, 0x64, 0x7c, 0xb5, 0x9b, 0x45, 0x79, - 0x0c, 0x64, 0xde, 0x48, 0xd6, 0x16, 0x66, 0xa6, 0xe9, 0x7a, 0xaa, 0x2f, 0x33, 0x37, 0xa6, 0xc4, - 0x5d, 0x1c, 0xca, 0x43, 0x90, 0x59, 0xb5, 0xbc, 0xfb, 0x16, 0x30, 0x1f, 0xcd, 0xc1, 0x99, 0x48, - 0x3e, 0x6e, 0x44, 0x79, 0x7c, 0x0c, 0xc3, 0x9f, 0x3b, 0x83, 0xf1, 0xa9, 0xfe, 0x78, 0x62, 0xd4, - 0xc1, 0x93, 0x47, 0xa5, 0x0c, 0x59, 0x3c, 0xe7, 0xd4, 0x01, 0xfa, 0xdf, 0x60, 0x6e, 0x89, 0x24, - 0xf0, 0xad, 0x28, 0x43, 0x07, 0xc5, 0x29, 0xa8, 0x0f, 0xc3, 0x31, 0x14, 0x82, 0x13, 0x1d, 0x14, - 0xa6, 0xa8, 0xfa, 0x5e, 0x8c, 0xf4, 0xa1, 0xa8, 0x86, 0xbc, 0xa8, 0x8a, 0x5e, 0x54, 0x7d, 0x2f, - 0x32, 0x31, 0x14, 0xa2, 0x17, 0xfe, 0xb3, 0xb2, 0x0c, 0x70, 0xd1, 0x7c, 0x0e, 0xd5, 0xa8, 0x1b, - 0xd9, 0x88, 0x62, 0xc4, 0x39, 0x3a, 0x66, 0x94, 0x44, 0xc0, 0x29, 0x2b, 0x90, 0xab, 0xee, 0x75, - 0x68, 0x80, 0xfd, 0x2f, 0xa0, 0x48, 0x57, 0xf6, 0x42, 0x3c, 0x22, 0xd2, 0x77, 0x87, 0xbe, 0x52, - 0x2e, 0xce, 0x1d, 0xe1, 0x9d, 0x04, 0x5c, 0xc7, 0x1d, 0x4a, 0x93, 0x8f, 0x75, 0x47, 0xe0, 0x11, - 0x91, 0xca, 0x05, 0x18, 0x59, 0xb4, 0x6d, 0x6c, 0x59, 0x1c, 0x25, 0x24, 0x27, 0x23, 0x49, 0x98, - 0x0d, 0x25, 0xe0, 0x08, 0x32, 0x3b, 0x24, 0xf5, 0x31, 0xbc, 0xd0, 0x6f, 0x76, 0xb8, 0x15, 0x9f, - 0x1d, 0xfe, 0x2c, 0xae, 0xc0, 0xc5, 0x03, 0x0f, 0xe1, 0xc3, 0x46, 0x71, 0x6c, 0x80, 0x15, 0xc8, - 0x8d, 0x43, 0x2b, 0x90, 0x37, 0x2b, 0x55, 0x18, 0xe3, 0x6d, 0x15, 0xab, 0x8d, 0x6b, 0x70, 0x51, - 0x66, 0x3f, 0xf1, 0xef, 0x47, 0xcb, 0x6c, 0x29, 0x6b, 0x98, 0x41, 0xd9, 0x82, 0x02, 0x6f, 0x5a, - 0x77, 0xc9, 0x4b, 0x8f, 0x47, 0xec, 0xab, 0x61, 0x4e, 0x6a, 0x4a, 0x29, 0x43, 0xf8, 0xa9, 0x65, - 0x38, 0x16, 0x5d, 0xad, 0xe2, 0xaa, 0xa5, 0x24, 0x56, 0xd9, 0x25, 0xb8, 0x21, 0xb2, 0x32, 0xc5, - 0x91, 0x24, 0x42, 0xfb, 0x44, 0xa0, 0x1c, 0x89, 0xe0, 0x74, 0x04, 0x38, 0xdd, 0x0d, 0xee, 0x24, - 0x99, 0x08, 0x4e, 0x46, 0x80, 0x93, 0x22, 0xf8, 0x33, 0x50, 0x08, 0xd6, 0x21, 0x11, 0x3d, 0x1a, - 0x81, 0x1e, 0x8d, 0x40, 0x47, 0x8f, 0x9d, 0x8a, 0x40, 0xa7, 0x42, 0xe8, 0x6a, 0xcf, 0xb1, 0xc7, - 0x23, 0xd0, 0xe3, 0x11, 0xe8, 0xe8, 0xb1, 0x95, 0x08, 0xb4, 0x22, 0xa2, 0x1f, 0x84, 0xb1, 0x50, - 0xc9, 0x11, 0xe1, 0x23, 0x11, 0xf0, 0x91, 0xd0, 0xde, 0x1c, 0x2e, 0x35, 0x22, 0x7e, 0x2c, 0x02, - 0x3f, 0x16, 0x35, 0x7c, 0xb4, 0xf7, 0xc3, 0x11, 0xf0, 0xe1, 0xc8, 0xe1, 0xa3, 0xf1, 0x72, 0x04, - 0x5e, 0x16, 0xf1, 0x25, 0xc8, 0x8b, 0x55, 0x45, 0xc4, 0x66, 0x22, 0xb0, 0x99, 0x70, 0xdc, 0x03, - 0x25, 0x25, 0x2e, 0xd3, 0xb3, 0x3d, 0x96, 0x4b, 0xa0, 0x8c, 0x1c, 0x49, 0xd9, 0x3c, 0x01, 0x93, - 0x51, 0x45, 0x23, 0x82, 0xe3, 0x94, 0xc8, 0x51, 0x58, 0x98, 0x0c, 0x14, 0x0b, 0x82, 0x6b, 0x37, - 0x45, 0xe6, 0xa7, 0x61, 0x22, 0xa2, 0x74, 0x44, 0x10, 0xdf, 0x23, 0x12, 0xe7, 0x16, 0xa6, 0x02, - 0xc4, 0x81, 0xb3, 0x82, 0x28, 0xad, 0x7e, 0x3c, 0x01, 0x05, 0x56, 0xa2, 0x36, 0x9d, 0x1a, 0x72, - 0x50, 0x4d, 0xf9, 0xff, 0xbd, 0x15, 0xd6, 0x42, 0x54, 0x69, 0x63, 0xb8, 0x23, 0x08, 0xad, 0xa7, - 0x7b, 0x0a, 0xad, 0x7b, 0x07, 0x19, 0x20, 0x4e, 0x6f, 0x55, 0xba, 0xf4, 0xd6, 0x9d, 0xfd, 0x68, - 0x7b, 0xc9, 0xae, 0x4a, 0x97, 0xec, 0x8a, 0xa3, 0x89, 0x54, 0x5f, 0x97, 0xba, 0xd5, 0xd7, 0xa9, - 0x7e, 0x3c, 0xbd, 0x45, 0xd8, 0xa5, 0x6e, 0x11, 0x16, 0xcb, 0x14, 0xad, 0xc5, 0x2e, 0x75, 0x6b, - 0xb1, 0xbe, 0x4c, 0xbd, 0x25, 0xd9, 0xa5, 0x6e, 0x49, 0x16, 0xcb, 0x14, 0xad, 0xcc, 0x1e, 0x8d, - 0x50, 0x66, 0xa7, 0xfb, 0x51, 0xf5, 0x13, 0x68, 0x1b, 0x51, 0x02, 0xed, 0xae, 0xbe, 0x8e, 0xf5, - 0xd5, 0x69, 0x8f, 0x46, 0xe8, 0xb4, 0x78, 0xe7, 0x7a, 0xc8, 0xb5, 0x8d, 0x28, 0xb9, 0x36, 0x80, - 0x73, 0xbd, 0x54, 0xdb, 0x62, 0x58, 0xb5, 0xcd, 0xf6, 0xe3, 0x8a, 0x16, 0x6f, 0x97, 0xba, 0xc5, - 0xdb, 0xa9, 0xf8, 0xb5, 0x18, 0xa5, 0xe1, 0x9e, 0xee, 0xa9, 0xe1, 0x06, 0x5a, 0xdc, 0x71, 0x52, - 0xee, 0xa9, 0x5e, 0x52, 0xee, 0x9e, 0x41, 0xd8, 0xfb, 0x2b, 0xba, 0xc7, 0x7b, 0x28, 0xba, 0xf9, - 0x41, 0xa8, 0x3f, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0x4f, 0x84, 0xdd, 0x27, 0xc2, 0xee, 0xff, 0x86, - 0xb0, 0x2b, 0xa5, 0x5e, 0x7c, 0xf5, 0xb8, 0x74, 0xea, 0x24, 0x8c, 0xb0, 0xa1, 0x95, 0x61, 0x48, - 0xac, 0x97, 0xe5, 0x21, 0xf2, 0xef, 0xa2, 0x2c, 0x91, 0x7f, 0x97, 0xe4, 0xc4, 0xe2, 0xda, 0xeb, - 0xd7, 0xa7, 0x87, 0xbe, 0x7f, 0x7d, 0x7a, 0xe8, 0x87, 0xd7, 0xa7, 0x87, 0xde, 0xbc, 0x3e, 0x2d, - 0xbd, 0x7d, 0x7d, 0x5a, 0x7a, 0xf7, 0xfa, 0xb4, 0xf4, 0xfe, 0xf5, 0x69, 0xe9, 0xda, 0xe1, 0xb4, - 0xf4, 0x95, 0xc3, 0x69, 0xe9, 0x6b, 0x87, 0xd3, 0xd2, 0xb7, 0x0e, 0xa7, 0xa5, 0xef, 0x1e, 0x4e, - 0x4b, 0xaf, 0x1f, 0x4e, 0x4b, 0xdf, 0x3f, 0x9c, 0x1e, 0x7a, 0xf3, 0x70, 0x5a, 0x7a, 0xfb, 0x70, - 0x7a, 0xe8, 0xdd, 0xc3, 0x69, 0xe9, 0xfd, 0xc3, 0xe9, 0xa1, 0x6b, 0x3f, 0x99, 0x1e, 0xfa, 0xdf, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xbb, 0xc4, 0x26, 0x95, 0x49, 0x00, 0x00, + 0x9f, 0x1c, 0xcc, 0x01, 0xd8, 0x69, 0xfc, 0xf7, 0x65, 0x74, 0x10, 0x87, 0x7d, 0x97, 0x3b, 0xcd, + 0xec, 0x4b, 0x0f, 0x42, 0x16, 0xff, 0x49, 0x7f, 0x28, 0x17, 0x03, 0xfe, 0x2f, 0x06, 0xee, 0x20, + 0xf0, 0xc8, 0xae, 0x57, 0xf3, 0xcc, 0xf8, 0x60, 0xff, 0x37, 0x9b, 0x69, 0x6e, 0x5f, 0x2a, 0x43, + 0xce, 0xf5, 0x6a, 0xb5, 0x36, 0xd3, 0xa7, 0x31, 0xf0, 0xff, 0xf9, 0xc0, 0xbf, 0xb2, 0xf0, 0x31, + 0x78, 0xb6, 0xaf, 0x5e, 0xf6, 0x5a, 0x36, 0xf9, 0xcc, 0x11, 0xc7, 0xf0, 0x1e, 0x63, 0x10, 0x20, + 0x8b, 0x95, 0xe8, 0xeb, 0x5b, 0x58, 0xb1, 0x57, 0x6c, 0x7a, 0x71, 0xfb, 0xd4, 0x4c, 0xfc, 0x0d, + 0x2c, 0xfc, 0xef, 0xdd, 0x70, 0xd2, 0xb0, 0x9b, 0xbb, 0xb6, 0x3b, 0xef, 0x97, 0xe3, 0xf9, 0xa6, + 0xde, 0x72, 0x49, 0xf7, 0x02, 0xbb, 0x9c, 0xcd, 0xb1, 0x27, 0xdc, 0x31, 0x75, 0xb4, 0x8b, 0xdd, + 0x99, 0x9b, 0x61, 0xf4, 0x62, 0xc3, 0xd6, 0x3d, 0xd3, 0xaa, 0x6f, 0x61, 0xdf, 0x95, 0x3c, 0x48, + 0x7b, 0xe4, 0xc3, 0xa4, 0xa4, 0x4a, 0x7b, 0x33, 0xff, 0x98, 0x86, 0x2c, 0xbd, 0x13, 0x5c, 0xd7, + 0x5b, 0xca, 0xcf, 0x42, 0x7e, 0x83, 0x2d, 0xc4, 0x7b, 0x17, 0xce, 0xbb, 0xfe, 0x37, 0x08, 0x61, + 0xfc, 0x39, 0xdf, 0x7a, 0x4e, 0x34, 0x25, 0x3f, 0x44, 0x58, 0xbc, 0xe7, 0x87, 0x6f, 0x1c, 0xbf, + 0xab, 0xa7, 0x7f, 0x58, 0x5a, 0xcc, 0xd3, 0x15, 0x33, 0xb7, 0x63, 0x5a, 0xde, 0xbd, 0x0b, 0xe7, + 0xd5, 0xc0, 0x78, 0xca, 0x15, 0xc8, 0xb0, 0x0e, 0x97, 0x7d, 0x9b, 0xba, 0xb5, 0xc7, 0xd8, 0xdc, + 0x8c, 0x8e, 0x7b, 0xe6, 0xf5, 0x37, 0x8e, 0x0f, 0x1d, 0x79, 0x6c, 0x7f, 0x2c, 0xe5, 0x59, 0xc8, + 0x71, 0x3f, 0x56, 0x6b, 0x2e, 0xfb, 0x4f, 0x0e, 0x77, 0xc4, 0xbc, 0xf6, 0x6a, 0x8d, 0x8d, 0x7e, + 0xfb, 0x0f, 0xdf, 0x38, 0x3e, 0xd3, 0x77, 0xe4, 0xb9, 0x9d, 0xb6, 0x59, 0x53, 0xc5, 0x31, 0x94, + 0xa7, 0x21, 0x89, 0x87, 0xa2, 0xbf, 0x0b, 0x3d, 0xde, 0x63, 0x28, 0x7f, 0x88, 0x53, 0xec, 0x05, + 0x07, 0x19, 0x06, 0xf3, 0x4e, 0x3d, 0x0c, 0xe3, 0x5d, 0xd3, 0xa3, 0xc8, 0x90, 0xbc, 0x8c, 0x0e, + 0xd8, 0x0f, 0xf0, 0xf0, 0x9f, 0xca, 0x64, 0xe7, 0x17, 0xb2, 0xd2, 0x6c, 0x9e, 0xfd, 0xec, 0xb5, + 0x94, 0x38, 0x2f, 0x4d, 0x5d, 0x80, 0xd1, 0x40, 0x8c, 0x8f, 0x04, 0x7e, 0x08, 0xe4, 0x70, 0x94, + 0x8e, 0x84, 0x3f, 0x07, 0x99, 0x0f, 0x83, 0x9b, 0xf9, 0x81, 0x02, 0x23, 0xe5, 0x46, 0x63, 0x5d, + 0x6f, 0xb9, 0xca, 0x93, 0x30, 0x4e, 0x0f, 0x40, 0xdb, 0xf6, 0x32, 0xf9, 0x1a, 0xb8, 0xae, 0xb7, + 0x58, 0x42, 0x9f, 0x0e, 0x84, 0x9b, 0x01, 0xe6, 0xba, 0xac, 0xc9, 0xf8, 0x6a, 0x37, 0x8b, 0xf2, + 0x18, 0xc8, 0xbc, 0x91, 0xac, 0x2d, 0xcc, 0x4c, 0xd3, 0xf5, 0x54, 0x5f, 0x66, 0x6e, 0x4c, 0x89, + 0xbb, 0x38, 0x94, 0x87, 0x20, 0xb3, 0x6a, 0x79, 0xf7, 0x2d, 0x60, 0x3e, 0x9a, 0x83, 0x33, 0x91, + 0x7c, 0xdc, 0x88, 0xf2, 0xf8, 0x18, 0x86, 0x3f, 0x77, 0x06, 0xe3, 0x53, 0xfd, 0xf1, 0xc4, 0xa8, + 0x83, 0x27, 0x8f, 0x4a, 0x19, 0xb2, 0x78, 0xce, 0xa9, 0x03, 0xf4, 0xff, 0xd7, 0xdc, 0x12, 0x49, + 0xe0, 0x5b, 0x51, 0x86, 0x0e, 0x8a, 0x53, 0x50, 0x1f, 0x86, 0x63, 0x28, 0x04, 0x27, 0x3a, 0x28, + 0x4c, 0x51, 0xf5, 0xbd, 0x18, 0xe9, 0x43, 0x51, 0x0d, 0x79, 0x51, 0x15, 0xbd, 0xa8, 0xfa, 0x5e, + 0x64, 0x62, 0x28, 0x44, 0x2f, 0xfc, 0x67, 0x65, 0x19, 0xe0, 0xa2, 0xf9, 0x1c, 0xaa, 0x51, 0x37, + 0xb2, 0x11, 0xc5, 0x88, 0x73, 0x74, 0xcc, 0x28, 0x89, 0x80, 0x53, 0x56, 0x20, 0x57, 0xdd, 0xeb, + 0xd0, 0x00, 0xfb, 0xef, 0x45, 0x91, 0xae, 0xec, 0x85, 0x78, 0x44, 0xa4, 0xef, 0x0e, 0x7d, 0xa5, + 0x5c, 0x9c, 0x3b, 0xc2, 0x3b, 0x09, 0xb8, 0x8e, 0x3b, 0x94, 0x26, 0x1f, 0xeb, 0x8e, 0xc0, 0x23, + 0x22, 0x95, 0x0b, 0x30, 0xb2, 0x68, 0xdb, 0xd8, 0xb2, 0x38, 0x4a, 0x48, 0x4e, 0x46, 0x92, 0x30, + 0x1b, 0x4a, 0xc0, 0x11, 0x64, 0x76, 0x48, 0xea, 0x63, 0x78, 0xa1, 0xdf, 0xec, 0x70, 0x2b, 0x3e, + 0x3b, 0xfc, 0x59, 0x5c, 0x81, 0x8b, 0x07, 0x1e, 0xc2, 0x87, 0x8d, 0xe2, 0xd8, 0x00, 0x2b, 0x90, + 0x1b, 0x87, 0x56, 0x20, 0x6f, 0x56, 0xaa, 0x30, 0xc6, 0xdb, 0x2a, 0x56, 0x1b, 0xd7, 0xe0, 0xa2, + 0xcc, 0xfe, 0xef, 0x40, 0x3f, 0x5a, 0x66, 0x4b, 0x59, 0xc3, 0x0c, 0xca, 0x16, 0x14, 0x78, 0xd3, + 0xba, 0x4b, 0x5e, 0x7a, 0x3c, 0x62, 0x5f, 0x0d, 0x73, 0x52, 0x53, 0x4a, 0x19, 0xc2, 0x4f, 0x2d, + 0xc3, 0xb1, 0xe8, 0x6a, 0x15, 0x57, 0x2d, 0x25, 0xb1, 0xca, 0x2e, 0xc1, 0x0d, 0x91, 0x95, 0x29, + 0x8e, 0x24, 0x11, 0xda, 0x27, 0x02, 0xe5, 0x48, 0x04, 0xa7, 0x23, 0xc0, 0xe9, 0x6e, 0x70, 0x27, + 0xc9, 0x44, 0x70, 0x32, 0x02, 0x9c, 0x14, 0xc1, 0x9f, 0x81, 0x42, 0xb0, 0x0e, 0x89, 0xe8, 0xd1, + 0x08, 0xf4, 0x68, 0x04, 0x3a, 0x7a, 0xec, 0x54, 0x04, 0x3a, 0x15, 0x42, 0x57, 0x7b, 0x8e, 0x3d, + 0x1e, 0x81, 0x1e, 0x8f, 0x40, 0x47, 0x8f, 0xad, 0x44, 0xa0, 0x15, 0x11, 0xfd, 0x20, 0x8c, 0x85, + 0x4a, 0x8e, 0x08, 0x1f, 0x89, 0x80, 0x8f, 0x84, 0xf6, 0xe6, 0x70, 0xa9, 0x11, 0xf1, 0x63, 0x11, + 0xf8, 0xb1, 0xa8, 0xe1, 0xa3, 0xbd, 0x1f, 0x8e, 0x80, 0x0f, 0x47, 0x0e, 0x1f, 0x8d, 0x97, 0x23, + 0xf0, 0xb2, 0x88, 0x2f, 0x41, 0x5e, 0xac, 0x2a, 0x22, 0x36, 0x13, 0x81, 0xcd, 0x84, 0xe3, 0x1e, + 0x28, 0x29, 0x71, 0x99, 0x9e, 0xed, 0xb1, 0x5c, 0x02, 0x65, 0xe4, 0x48, 0xca, 0xe6, 0x09, 0x98, + 0x8c, 0x2a, 0x1a, 0x11, 0x1c, 0xa7, 0x44, 0x8e, 0xc2, 0xc2, 0x64, 0xa0, 0x58, 0x10, 0x5c, 0xbb, + 0x29, 0x32, 0x3f, 0x0d, 0x13, 0x11, 0xa5, 0x23, 0x82, 0xf8, 0x1e, 0x91, 0x38, 0xb7, 0x30, 0x15, + 0x20, 0x0e, 0x9c, 0x15, 0x44, 0x69, 0xf5, 0xa3, 0x09, 0x28, 0xb0, 0x12, 0xb5, 0xe9, 0xd4, 0x90, + 0x83, 0x6a, 0xca, 0x4f, 0xf7, 0x56, 0x58, 0x0b, 0x51, 0xa5, 0x8d, 0xe1, 0x8e, 0x20, 0xb4, 0x9e, + 0xee, 0x29, 0xb4, 0xee, 0x1d, 0x64, 0x80, 0x38, 0xbd, 0x55, 0xe9, 0xd2, 0x5b, 0x77, 0xf6, 0xa3, + 0xed, 0x25, 0xbb, 0x2a, 0x5d, 0xb2, 0x2b, 0x8e, 0x26, 0x52, 0x7d, 0x5d, 0xea, 0x56, 0x5f, 0xa7, + 0xfa, 0xf1, 0xf4, 0x16, 0x61, 0x97, 0xba, 0x45, 0x58, 0x2c, 0x53, 0xb4, 0x16, 0xbb, 0xd4, 0xad, + 0xc5, 0xfa, 0x32, 0xf5, 0x96, 0x64, 0x97, 0xba, 0x25, 0x59, 0x2c, 0x53, 0xb4, 0x32, 0x7b, 0x34, + 0x42, 0x99, 0x9d, 0xee, 0x47, 0xd5, 0x4f, 0xa0, 0x6d, 0x44, 0x09, 0xb4, 0xbb, 0xfa, 0x3a, 0xd6, + 0x57, 0xa7, 0x3d, 0x1a, 0xa1, 0xd3, 0xe2, 0x9d, 0xeb, 0x21, 0xd7, 0x36, 0xa2, 0xe4, 0xda, 0x00, + 0xce, 0xf5, 0x52, 0x6d, 0x8b, 0x61, 0xd5, 0x36, 0xdb, 0x8f, 0x2b, 0x5a, 0xbc, 0x5d, 0xea, 0x16, + 0x6f, 0xa7, 0xe2, 0xd7, 0x62, 0x94, 0x86, 0x7b, 0xba, 0xa7, 0x86, 0x1b, 0x68, 0x71, 0xc7, 0x49, + 0xb9, 0xa7, 0x7a, 0x49, 0xb9, 0x7b, 0x06, 0x61, 0xef, 0xaf, 0xe8, 0x1e, 0xef, 0xa1, 0xe8, 0xe6, + 0x07, 0xa1, 0xfe, 0x44, 0xd8, 0x7d, 0x22, 0xec, 0x3e, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0xff, 0x1f, + 0xc2, 0xae, 0x94, 0x7a, 0xf1, 0xd5, 0xe3, 0xd2, 0xa9, 0x93, 0x30, 0xc2, 0x86, 0x56, 0x86, 0x21, + 0xb1, 0x5e, 0x96, 0x87, 0xc8, 0xbf, 0x8b, 0xb2, 0x44, 0xfe, 0x5d, 0x92, 0x13, 0x8b, 0x6b, 0xaf, + 0x5f, 0x9f, 0x1e, 0xfa, 0xde, 0xf5, 0xe9, 0xa1, 0x1f, 0x5c, 0x9f, 0x1e, 0x7a, 0xf3, 0xfa, 0xb4, + 0xf4, 0xf6, 0xf5, 0x69, 0xe9, 0xdd, 0xeb, 0xd3, 0xd2, 0xfb, 0xd7, 0xa7, 0xa5, 0x6b, 0x87, 0xd3, + 0xd2, 0x57, 0x0e, 0xa7, 0xa5, 0xaf, 0x1d, 0x4e, 0x4b, 0xdf, 0x3c, 0x9c, 0x96, 0xbe, 0x73, 0x38, + 0x2d, 0xbd, 0x7e, 0x38, 0x2d, 0x7d, 0xef, 0x70, 0x7a, 0xe8, 0xcd, 0xc3, 0x69, 0xe9, 0xed, 0xc3, + 0xe9, 0xa1, 0x77, 0x0f, 0xa7, 0xa5, 0xf7, 0x0f, 0xa7, 0x87, 0xae, 0xfd, 0x78, 0x7a, 0xe8, 0xff, + 0x02, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x90, 0x89, 0xfa, 0xee, 0x49, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -4571,83 +4653,3 @@ func valueToStringMapsproto2(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { - proto.RegisterFile("combos/marshaler/mapsproto2.proto", fileDescriptor_mapsproto2_9bd23591ad6768d5) -} - -var fileDescriptor_mapsproto2_9bd23591ad6768d5 = []byte{ - // 1148 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcd, 0x6f, 0x1a, 0x47, - 0x18, 0xc6, 0x19, 0x30, 0x06, 0x86, 0xef, 0x89, 0x5b, 0x21, 0xa4, 0x0e, 0x36, 0xfd, 0x22, 0x24, - 0x05, 0x9b, 0x46, 0x91, 0xe5, 0xb4, 0xa9, 0x8c, 0xed, 0x14, 0x2b, 0xc5, 0x8d, 0xa0, 0xe9, 0x97, - 0x64, 0xa9, 0x60, 0x16, 0x82, 0x0a, 0x2c, 0x65, 0x97, 0xa8, 0xbe, 0x54, 0xf9, 0x33, 0x7a, 0xed, - 0xad, 0xc7, 0x1e, 0x7b, 0xec, 0xd1, 0x52, 0x2f, 0x39, 0x46, 0x51, 0x65, 0x85, 0xed, 0x25, 0xc7, - 0x1c, 0x73, 0xac, 0x76, 0x76, 0x17, 0x66, 0x77, 0xdf, 0xdd, 0x85, 0x9e, 0x72, 0xf0, 0x09, 0xcf, - 0xf2, 0x3e, 0xbf, 0xe7, 0xdd, 0xdd, 0x99, 0x97, 0xc7, 0x78, 0xeb, 0x4c, 0x1c, 0xb6, 0x45, 0xa9, - 0x3c, 0x6c, 0x4d, 0xa4, 0x47, 0xad, 0x81, 0x30, 0x29, 0x0f, 0x5b, 0x63, 0x69, 0x3c, 0x11, 0x65, - 0xb1, 0x52, 0x62, 0x1f, 0x24, 0xaa, 0xaf, 0xd4, 0x2f, 0xb2, 0x1f, 0xf5, 0xfa, 0xf2, 0xa3, 0x69, - 0xbb, 0x74, 0x26, 0x0e, 0xcb, 0x3d, 0xb1, 0x27, 0x96, 0xd9, 0x97, 0xed, 0x69, 0x97, 0xad, 0xd8, - 0x82, 0xfd, 0xa5, 0x69, 0xf3, 0xef, 0xe0, 0xf8, 0xbd, 0x81, 0xd8, 0x92, 0xfb, 0xa3, 0xde, 0x03, - 0xb1, 0x3f, 0x92, 0x49, 0x0c, 0xa3, 0x6e, 0x06, 0x6d, 0xa2, 0x02, 0x6a, 0xa0, 0x6e, 0xfe, 0xef, - 0x20, 0x8e, 0x1c, 0x4c, 0x25, 0x59, 0x1c, 0xd6, 0x5b, 0x63, 0xf2, 0x0b, 0x8e, 0x9d, 0x4c, 0x07, - 0x83, 0x56, 0x7b, 0x20, 0xec, 0x54, 0x76, 0xa5, 0x0c, 0xda, 0x0c, 0x14, 0xa2, 0x95, 0x42, 0x89, - 0xf3, 0x2f, 0xcd, 0xab, 0x4b, 0x7c, 0xe9, 0xd1, 0x48, 0x9e, 0x9c, 0x57, 0xb7, 0x9f, 0x5f, 0xe6, - 0x6e, 0x3a, 0xf6, 0x27, 0x0b, 0x92, 0x5c, 0x3e, 0x63, 0xf2, 0xd2, 0xc3, 0xfe, 0x48, 0xde, 0xa9, - 0xec, 0x36, 0x4c, 0x7e, 0xe4, 0x31, 0x0e, 0xeb, 0x5f, 0x48, 0x19, 0x3f, 0xf3, 0x7e, 0xcf, 0xc1, - 0xdb, 0x28, 0xd3, 0x7c, 0x6f, 0x5d, 0x5c, 0xe6, 0x7c, 0x2b, 0x7b, 0xcf, 0xbd, 0xc8, 0x4f, 0x38, - 0x6a, 0xf4, 0x71, 0xdc, 0x91, 0x32, 0x01, 0x66, 0xfd, 0xa1, 0xc7, 0x6d, 0x1f, 0x77, 0x74, 0xf7, - 0x0f, 0x9e, 0x5f, 0xe6, 0xf2, 0xae, 0xce, 0xa5, 0x87, 0xd3, 0x7e, 0xa7, 0xc1, 0x7b, 0x90, 0x53, - 0x1c, 0x50, 0xad, 0xd6, 0x98, 0x55, 0xce, 0xc1, 0x6a, 0x6e, 0x51, 0xd4, 0x6f, 0x70, 0x19, 0x1b, - 0x95, 0x9b, 0xfd, 0x0c, 0xa7, 0x6d, 0xaf, 0x87, 0xa4, 0x70, 0xe0, 0x47, 0xe1, 0x9c, 0xbd, 0xfc, - 0x48, 0x43, 0xfd, 0x93, 0x6c, 0xe0, 0xe0, 0xe3, 0xd6, 0x60, 0x2a, 0x64, 0xfc, 0x9b, 0xa8, 0x10, - 0x6b, 0x68, 0x8b, 0x3d, 0xff, 0x2e, 0xca, 0xde, 0xc1, 0x71, 0xd3, 0x33, 0x5e, 0x49, 0x7c, 0x17, - 0xa7, 0xac, 0x4f, 0x69, 0x25, 0xfd, 0x6d, 0x1c, 0xfe, 0x3f, 0xba, 0xfc, 0x33, 0x82, 0x43, 0xfb, - 0x83, 0x41, 0xbd, 0x35, 0x96, 0xc8, 0x77, 0x38, 0xdd, 0x94, 0x27, 0xfd, 0x51, 0xef, 0x2b, 0xf1, - 0x50, 0x9c, 0xb6, 0x07, 0x42, 0xbd, 0x35, 0xd6, 0x37, 0xf4, 0x0d, 0xd3, 0xe3, 0xd6, 0x05, 0x25, - 0x5b, 0x35, 0xf3, 0x6f, 0xd8, 0x29, 0xe4, 0x6b, 0x9c, 0x32, 0x2e, 0xb2, 0xb3, 0xa5, 0x92, 0xb5, - 0xed, 0x5a, 0x74, 0x25, 0x1b, 0xc5, 0x1a, 0xd8, 0xc6, 0x20, 0x77, 0x71, 0xf8, 0x78, 0x24, 0x7f, - 0x5c, 0x51, 0x79, 0xda, 0x1e, 0xcc, 0x83, 0x3c, 0xa3, 0x48, 0xe3, 0xcc, 0x35, 0xba, 0xfe, 0xf6, - 0x2d, 0x55, 0xbf, 0xe6, 0xae, 0x67, 0x45, 0x0b, 0x3d, 0x5b, 0x92, 0x7d, 0x1c, 0x51, 0xdf, 0xb9, - 0xd6, 0x40, 0x90, 0x01, 0xde, 0x05, 0x01, 0xf3, 0x2a, 0x8d, 0xb0, 0x50, 0x19, 0x08, 0xad, 0x87, - 0x75, 0x0f, 0x04, 0xd7, 0xc4, 0x42, 0xa5, 0x22, 0x9a, 0xf3, 0x2e, 0x42, 0x2e, 0x88, 0xa6, 0xa5, - 0x8b, 0x26, 0xdf, 0x45, 0x73, 0xde, 0x45, 0xd8, 0x03, 0xc1, 0x77, 0x31, 0x5f, 0x93, 0x43, 0x8c, - 0xef, 0xf5, 0x7f, 0x16, 0x3a, 0x5a, 0x1b, 0x11, 0x60, 0x18, 0x19, 0x8c, 0x45, 0x99, 0x06, 0xe1, - 0x74, 0xe4, 0x73, 0x1c, 0x6d, 0x76, 0x17, 0x18, 0xcc, 0x30, 0xef, 0xc3, 0xad, 0x74, 0x2d, 0x1c, - 0x5e, 0x39, 0x6f, 0x47, 0xbb, 0xa5, 0xa8, 0x57, 0x3b, 0xdc, 0x3d, 0x71, 0xba, 0x45, 0x3b, 0x1a, - 0x26, 0xe6, 0xd9, 0x0e, 0xc7, 0xe1, 0x95, 0xe4, 0x0e, 0x0e, 0x55, 0x45, 0x51, 0xad, 0xcc, 0xc4, - 0x19, 0x64, 0x0b, 0x84, 0xe8, 0x35, 0x1a, 0xc0, 0x50, 0xb0, 0xb7, 0xc3, 0xb6, 0xbe, 0x2a, 0x4f, - 0xb8, 0xbd, 0x1d, 0xa3, 0xca, 0x78, 0x3b, 0xc6, 0x9a, 0x3f, 0x81, 0xd5, 0x73, 0x59, 0x90, 0x54, - 0x52, 0x72, 0x89, 0x13, 0x68, 0x14, 0x5b, 0x4e, 0xa0, 0x71, 0x99, 0x34, 0x71, 0xd2, 0xb8, 0x76, - 0x34, 0x9a, 0xaa, 0x33, 0x38, 0x93, 0x62, 0xd8, 0xeb, 0xae, 0x58, 0xbd, 0x56, 0xa3, 0x5a, 0x09, - 0xe4, 0x01, 0x4e, 0x18, 0x97, 0xea, 0x12, 0xbb, 0xe9, 0x34, 0xf0, 0xbb, 0x6a, 0x65, 0x6a, 0xa5, - 0x1a, 0xd2, 0xa2, 0xcf, 0x1e, 0xe2, 0xb7, 0xe1, 0x69, 0xe5, 0x35, 0x2d, 0x11, 0x3f, 0x65, 0x0f, - 0xf0, 0x5b, 0xe0, 0x64, 0xf2, 0x82, 0xf8, 0x2d, 0xbf, 0x13, 0xa6, 0x71, 0xc4, 0x8b, 0x83, 0x80, - 0x38, 0x68, 0x17, 0x2f, 0x36, 0x19, 0x2f, 0x0e, 0x00, 0xe2, 0x00, 0x2f, 0xfe, 0x04, 0x27, 0xcc, - 0x73, 0x88, 0x57, 0xc7, 0x01, 0x75, 0x1c, 0x50, 0xc3, 0xde, 0x6b, 0x80, 0x7a, 0xcd, 0xa2, 0x6e, - 0x3a, 0x7a, 0xa7, 0x01, 0x75, 0x1a, 0x50, 0xc3, 0xde, 0x04, 0x50, 0x13, 0x5e, 0xfd, 0x29, 0x4e, - 0x5a, 0x46, 0x0e, 0x2f, 0x0f, 0x01, 0xf2, 0x90, 0xe5, 0xb7, 0xd9, 0x3a, 0x6a, 0x78, 0x7d, 0x12, - 0xd0, 0x27, 0x21, 0x7b, 0xb8, 0xfb, 0x75, 0x40, 0xbe, 0x0e, 0xda, 0xc3, 0xfa, 0x14, 0xa0, 0x4f, - 0xf1, 0xfa, 0x3d, 0x1c, 0xe3, 0xa7, 0x0a, 0xaf, 0x0d, 0x03, 0xda, 0xb0, 0xf5, 0xb9, 0x9b, 0x46, - 0x8a, 0xd7, 0x4e, 0x8f, 0x38, 0x1c, 0x17, 0xd3, 0x18, 0x59, 0x29, 0xd9, 0x7c, 0x8b, 0x37, 0xa0, - 0xa1, 0x01, 0x30, 0x8a, 0x3c, 0x23, 0x51, 0xd9, 0x30, 0x0d, 0x0b, 0xa6, 0x9b, 0x0e, 0x79, 0xf2, - 0x29, 0xbe, 0x06, 0x8c, 0x0e, 0x00, 0xbc, 0xcd, 0x83, 0xa3, 0x95, 0xac, 0x09, 0x6c, 0xfa, 0x5f, - 0x81, 0x8f, 0x56, 0xff, 0x5c, 0xc3, 0x09, 0x7d, 0x44, 0x7d, 0x39, 0xe9, 0x08, 0x13, 0xa1, 0x43, - 0x7e, 0x70, 0x4e, 0x58, 0x15, 0x68, 0xb4, 0xe9, 0xba, 0x15, 0x82, 0xd6, 0xa9, 0x63, 0xd0, 0xda, - 0x59, 0xc6, 0xc0, 0x2b, 0x6f, 0x1d, 0xd9, 0xf2, 0xd6, 0x75, 0x37, 0xac, 0x53, 0xec, 0x3a, 0xb2, - 0xc5, 0x2e, 0x2f, 0x0c, 0x98, 0xbe, 0x6a, 0xf6, 0xf4, 0x55, 0x74, 0xe3, 0x38, 0x87, 0xb0, 0x9a, - 0x3d, 0x84, 0x79, 0x92, 0xe0, 0x2c, 0x56, 0xb3, 0x67, 0x31, 0x57, 0x92, 0x73, 0x24, 0xab, 0xd9, - 0x23, 0x99, 0x27, 0x09, 0x4e, 0x66, 0xf7, 0x81, 0x64, 0x76, 0xc3, 0x0d, 0xe5, 0x16, 0xd0, 0x4e, - 0xa0, 0x80, 0x76, 0xd3, 0xb5, 0x31, 0xd7, 0x9c, 0x76, 0x1f, 0xc8, 0x69, 0xde, 0xcd, 0x39, 0xc4, - 0xb5, 0x13, 0x28, 0xae, 0x2d, 0xd1, 0x9c, 0x53, 0x6a, 0xab, 0x5a, 0x53, 0x5b, 0xc1, 0x8d, 0x05, - 0x87, 0xb7, 0x9a, 0x3d, 0xbc, 0x15, 0xbd, 0xcf, 0x22, 0x94, 0xe1, 0x4e, 0x1d, 0x33, 0xdc, 0x52, - 0x87, 0xdb, 0x2b, 0xca, 0x7d, 0xef, 0x14, 0xe5, 0xb6, 0x97, 0xa1, 0xbb, 0x27, 0xba, 0x6f, 0x1c, - 0x12, 0x5d, 0x79, 0x19, 0xf4, 0x55, 0xb0, 0xbb, 0x0a, 0x76, 0x57, 0xc1, 0xee, 0x2a, 0xd8, 0xbd, - 0x19, 0xc1, 0x6e, 0x6f, 0xed, 0xd7, 0xdf, 0x72, 0xa8, 0xb8, 0x85, 0x43, 0xba, 0x35, 0x59, 0xc7, - 0xfe, 0xfa, 0x7e, 0xca, 0xc7, 0x3e, 0xab, 0x29, 0xc4, 0x3e, 0x0f, 0x52, 0xfe, 0xea, 0x17, 0x17, - 0x33, 0xea, 0x7b, 0x3a, 0xa3, 0xbe, 0x67, 0x33, 0xea, 0x7b, 0x31, 0xa3, 0xe8, 0xe5, 0x8c, 0xa2, - 0x57, 0x33, 0x8a, 0x5e, 0xcf, 0x28, 0x7a, 0xa2, 0x50, 0xf4, 0xbb, 0x42, 0xd1, 0x1f, 0x0a, 0x45, - 0x7f, 0x2a, 0x14, 0xfd, 0xa5, 0x50, 0x74, 0xa1, 0x50, 0xf4, 0x54, 0xa1, 0xbe, 0x17, 0x0a, 0x45, - 0x2f, 0x15, 0xea, 0x7b, 0xa5, 0x50, 0xf4, 0x5a, 0xa1, 0xbe, 0x27, 0xff, 0x52, 0xdf, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0xec, 0x4e, 0x18, 0x12, 0xf7, 0x16, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/neither/mapsproto2.pb.go b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/neither/mapsproto2.pb.go index db99ea19d..239618f0a 100644 --- a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/neither/mapsproto2.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/neither/mapsproto2.pb.go @@ -3,25 +3,23 @@ package proto2_maps -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -47,6 +45,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -58,9 +57,11 @@ func (x MapEnum) Enum() *MapEnum { *p = x return p } + func (x MapEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(MapEnum_name, int32(x)) } + func (x *MapEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MapEnum_value, data, "MapEnum") if err != nil { @@ -69,8 +70,9 @@ func (x *MapEnum) UnmarshalJSON(data []byte) error { *x = MapEnum(value) return nil } + func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_62fb8c1076af60e4, []int{0} + return fileDescriptor_8fa67a1e07543f1e, []int{0} } type FloatingPoint struct { @@ -83,7 +85,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_62fb8c1076af60e4, []int{0} + return fileDescriptor_8fa67a1e07543f1e, []int{0} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FloatingPoint.Unmarshal(m, b) @@ -91,8 +93,8 @@ func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FloatingPoint.Marshal(b, m, deterministic) } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return xxx_messageInfo_FloatingPoint.Size(m) @@ -116,7 +118,7 @@ type CustomMap struct { func (m *CustomMap) Reset() { *m = CustomMap{} } func (*CustomMap) ProtoMessage() {} func (*CustomMap) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_62fb8c1076af60e4, []int{1} + return fileDescriptor_8fa67a1e07543f1e, []int{1} } func (m *CustomMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomMap.Unmarshal(m, b) @@ -124,8 +126,8 @@ func (m *CustomMap) XXX_Unmarshal(b []byte) error { func (m *CustomMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomMap.Marshal(b, m, deterministic) } -func (dst *CustomMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomMap.Merge(dst, src) +func (m *CustomMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomMap.Merge(m, src) } func (m *CustomMap) XXX_Size() int { return xxx_messageInfo_CustomMap.Size(m) @@ -162,7 +164,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_62fb8c1076af60e4, []int{2} + return fileDescriptor_8fa67a1e07543f1e, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMaps.Unmarshal(m, b) @@ -170,8 +172,8 @@ func (m *AllMaps) XXX_Unmarshal(b []byte) error { func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMaps.Marshal(b, m, deterministic) } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return xxx_messageInfo_AllMaps.Size(m) @@ -208,7 +210,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_62fb8c1076af60e4, []int{3} + return fileDescriptor_8fa67a1e07543f1e, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMapsOrdered.Unmarshal(m, b) @@ -216,8 +218,8 @@ func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMapsOrdered.Marshal(b, m, deterministic) } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return xxx_messageInfo_AllMapsOrdered.Size(m) @@ -229,6 +231,7 @@ func (m *AllMapsOrdered) XXX_DiscardUnknown() { var xxx_messageInfo_AllMapsOrdered proto.InternalMessageInfo func init() { + proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) proto.RegisterType((*FloatingPoint)(nil), "proto2.maps.FloatingPoint") proto.RegisterType((*CustomMap)(nil), "proto2.maps.CustomMap") proto.RegisterMapType((map[string]github_com_gogo_protobuf_test.Uuid)(nil), "proto2.maps.CustomMap.IdsEntry") @@ -271,8 +274,86 @@ func init() { proto.RegisterMapType((map[string]*FloatingPoint)(nil), "proto2.maps.AllMapsOrdered.StringToMsgMapEntry") proto.RegisterMapType((map[uint32]uint32)(nil), "proto2.maps.AllMapsOrdered.Uint32MapEntry") proto.RegisterMapType((map[uint64]uint64)(nil), "proto2.maps.AllMapsOrdered.Uint64MapEntry") - proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) } + +func init() { proto.RegisterFile("combos/neither/mapsproto2.proto", fileDescriptor_8fa67a1e07543f1e) } + +var fileDescriptor_8fa67a1e07543f1e = []byte{ + // 1148 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcd, 0x6f, 0x1a, 0xc7, + 0x1b, 0xc7, 0x77, 0xc0, 0x36, 0x30, 0xbc, 0x4f, 0xfc, 0xfb, 0x09, 0x21, 0x75, 0x70, 0xe8, 0x1b, + 0x21, 0x29, 0xd8, 0x34, 0x8a, 0x2c, 0xa7, 0x4d, 0x65, 0x6c, 0xa7, 0x58, 0x29, 0x6e, 0x04, 0x4d, + 0xdf, 0x24, 0x4b, 0x05, 0xb3, 0x10, 0x54, 0x60, 0x29, 0xbb, 0x44, 0xf5, 0xa5, 0xca, 0x9f, 0xd1, + 0x6b, 0x6f, 0x3d, 0xf6, 0xd8, 0x63, 0x8f, 0x96, 0x7a, 0xc9, 0x31, 0x8a, 0x2a, 0x2b, 0x6c, 0x2f, + 0x39, 0xe6, 0x98, 0x63, 0xb5, 0xb3, 0xbb, 0x30, 0xbb, 0xfb, 0xec, 0x2e, 0xf4, 0xd4, 0x83, 0x4f, + 0x78, 0x96, 0xe7, 0xfb, 0xf9, 0x3e, 0xbb, 0x3b, 0xf3, 0xf0, 0x35, 0xce, 0x9d, 0x49, 0xc3, 0xb6, + 0x24, 0x97, 0x47, 0x62, 0x5f, 0x79, 0x2c, 0x4e, 0xca, 0xc3, 0xd6, 0x58, 0x1e, 0x4f, 0x24, 0x45, + 0xaa, 0x94, 0xd8, 0x07, 0x89, 0x1a, 0x2b, 0xed, 0x8b, 0xec, 0x07, 0xbd, 0xbe, 0xf2, 0x78, 0xda, + 0x2e, 0x9d, 0x49, 0xc3, 0x72, 0x4f, 0xea, 0x49, 0x65, 0xf6, 0x65, 0x7b, 0xda, 0x65, 0x2b, 0xb6, + 0x60, 0x7f, 0xe9, 0xda, 0xfc, 0x5b, 0x38, 0x7e, 0x7f, 0x20, 0xb5, 0x94, 0xfe, 0xa8, 0xf7, 0x50, + 0xea, 0x8f, 0x14, 0x12, 0xc3, 0xa8, 0x9b, 0x41, 0x5b, 0xa8, 0x80, 0x1a, 0xa8, 0x9b, 0xff, 0x73, + 0x1d, 0x47, 0x0e, 0xa6, 0xb2, 0x22, 0x0d, 0xeb, 0xad, 0x31, 0xf9, 0x09, 0xc7, 0x4e, 0xa6, 0x83, + 0x41, 0xab, 0x3d, 0x10, 0x77, 0x2a, 0xbb, 0x72, 0x06, 0x6d, 0x05, 0x0b, 0xd1, 0x4a, 0xa1, 0xc4, + 0xf9, 0x97, 0xe6, 0xd5, 0x25, 0xbe, 0xf4, 0x68, 0xa4, 0x4c, 0xce, 0xab, 0xdb, 0x2f, 0x2e, 0x73, + 0xb7, 0x5c, 0xfb, 0x53, 0x44, 0x59, 0x29, 0x9f, 0x31, 0x79, 0xe9, 0x51, 0x7f, 0xa4, 0xec, 0x54, + 0x76, 0x1b, 0x16, 0x3f, 0xf2, 0x04, 0x87, 0x8d, 0x2f, 0xe4, 0x4c, 0x80, 0x79, 0xbf, 0xe3, 0xe2, + 0x6d, 0x96, 0xe9, 0xbe, 0xb7, 0x2f, 0x2e, 0x73, 0xc2, 0xca, 0xde, 0x73, 0x2f, 0xf2, 0x03, 0x8e, + 0x9a, 0x7d, 0x1c, 0x77, 0xe4, 0x4c, 0x90, 0x59, 0xbf, 0xef, 0x73, 0xdb, 0xc7, 0x1d, 0xc3, 0xfd, + 0xbd, 0x17, 0x97, 0xb9, 0xbc, 0xa7, 0x73, 0xe9, 0xd1, 0xb4, 0xdf, 0x69, 0xf0, 0x1e, 0xe4, 0x14, + 0x07, 0x35, 0xab, 0x35, 0x66, 0x95, 0x73, 0xb1, 0x9a, 0x5b, 0x14, 0x8d, 0x1b, 0x5c, 0xc6, 0x46, + 0xe3, 0x66, 0x3f, 0xc1, 0x69, 0xc7, 0xeb, 0x21, 0x29, 0x1c, 0xfc, 0x5e, 0x3c, 0x67, 0x2f, 0x3f, + 0xd2, 0xd0, 0xfe, 0x24, 0x9b, 0x78, 0xfd, 0x49, 0x6b, 0x30, 0x15, 0x33, 0x81, 0x2d, 0x54, 0x88, + 0x35, 0xf4, 0xc5, 0x5e, 0x60, 0x17, 0x65, 0xef, 0xe2, 0xb8, 0xe5, 0x19, 0xaf, 0x24, 0xbe, 0x87, + 0x53, 0xf6, 0xa7, 0xb4, 0x92, 0xfe, 0x0e, 0x0e, 0xff, 0x1b, 0x5d, 0xfe, 0x39, 0xc1, 0xa1, 0xfd, + 0xc1, 0xa0, 0xde, 0x1a, 0xcb, 0xe4, 0x1b, 0x9c, 0x6e, 0x2a, 0x93, 0xfe, 0xa8, 0xf7, 0x85, 0x74, + 0x28, 0x4d, 0xdb, 0x03, 0xb1, 0xde, 0x1a, 0x1b, 0x1b, 0xfa, 0xa6, 0xe5, 0x71, 0x1b, 0x82, 0x92, + 0xa3, 0x9a, 0xf9, 0x37, 0x9c, 0x14, 0xf2, 0x25, 0x4e, 0x99, 0x17, 0xd9, 0xd9, 0xd2, 0xc8, 0xfa, + 0x76, 0x2d, 0x7a, 0x92, 0xcd, 0x62, 0x1d, 0xec, 0x60, 0x90, 0x7b, 0x38, 0x7c, 0x3c, 0x52, 0x3e, + 0xac, 0x68, 0x3c, 0x7d, 0x0f, 0xe6, 0x41, 0x9e, 0x59, 0xa4, 0x73, 0xe6, 0x1a, 0x43, 0x7f, 0xe7, + 0xb6, 0xa6, 0x5f, 0xf3, 0xd6, 0xb3, 0xa2, 0x85, 0x9e, 0x2d, 0xc9, 0x3e, 0x8e, 0x68, 0xef, 0x5c, + 0x6f, 0x60, 0x9d, 0x01, 0xde, 0x06, 0x01, 0xf3, 0x2a, 0x9d, 0xb0, 0x50, 0x99, 0x08, 0xbd, 0x87, + 0x0d, 0x1f, 0x04, 0xd7, 0xc4, 0x42, 0xa5, 0x21, 0x9a, 0xf3, 0x2e, 0x42, 0x1e, 0x88, 0xa6, 0xad, + 0x8b, 0x26, 0xdf, 0x45, 0x73, 0xde, 0x45, 0xd8, 0x07, 0xc1, 0x77, 0x31, 0x5f, 0x93, 0x43, 0x8c, + 0xef, 0xf7, 0x7f, 0x14, 0x3b, 0x7a, 0x1b, 0x11, 0x60, 0x18, 0x99, 0x8c, 0x45, 0x99, 0x0e, 0xe1, + 0x74, 0xe4, 0x53, 0x1c, 0x6d, 0x76, 0x17, 0x18, 0xcc, 0x30, 0xef, 0xc2, 0xad, 0x74, 0x6d, 0x1c, + 0x5e, 0x39, 0x6f, 0x47, 0xbf, 0xa5, 0xa8, 0x5f, 0x3b, 0xdc, 0x3d, 0x71, 0xba, 0x45, 0x3b, 0x3a, + 0x26, 0xe6, 0xdb, 0x0e, 0xc7, 0xe1, 0x95, 0xe4, 0x2e, 0x0e, 0x55, 0x25, 0x49, 0xab, 0xcc, 0xc4, + 0x19, 0xe4, 0x3a, 0x08, 0x31, 0x6a, 0x74, 0x80, 0xa9, 0x60, 0x6f, 0x87, 0x6d, 0x7d, 0x4d, 0x9e, + 0xf0, 0x7a, 0x3b, 0x66, 0x95, 0xf9, 0x76, 0xcc, 0x35, 0x7f, 0x02, 0xab, 0xe7, 0x8a, 0x28, 0x6b, + 0xa4, 0xe4, 0x12, 0x27, 0xd0, 0x2c, 0xb6, 0x9d, 0x40, 0xf3, 0x32, 0x69, 0xe2, 0xa4, 0x79, 0xed, + 0x68, 0x34, 0xd5, 0x66, 0x70, 0x26, 0xc5, 0xb0, 0x37, 0x3c, 0xb1, 0x46, 0xad, 0x4e, 0xb5, 0x13, + 0xc8, 0x43, 0x9c, 0x30, 0x2f, 0xd5, 0x65, 0x76, 0xd3, 0x69, 0xe0, 0x77, 0xd5, 0xce, 0xd4, 0x4b, + 0x75, 0xa4, 0x4d, 0x9f, 0x3d, 0xc4, 0xff, 0x87, 0xa7, 0x95, 0xdf, 0xb4, 0x44, 0xfc, 0x94, 0x3d, + 0xc0, 0xff, 0x03, 0x27, 0x93, 0x1f, 0x24, 0x60, 0xfb, 0x9d, 0xb0, 0x8c, 0x23, 0x5e, 0xbc, 0x0e, + 0x88, 0xd7, 0x9d, 0xe2, 0xc5, 0x26, 0xe3, 0xc5, 0x41, 0x40, 0x1c, 0xe4, 0xc5, 0x1f, 0xe1, 0x84, + 0x75, 0x0e, 0xf1, 0xea, 0x38, 0xa0, 0x8e, 0x03, 0x6a, 0xd8, 0x7b, 0x0d, 0x50, 0xaf, 0xd9, 0xd4, + 0x4d, 0x57, 0xef, 0x34, 0xa0, 0x4e, 0x03, 0x6a, 0xd8, 0x9b, 0x00, 0x6a, 0xc2, 0xab, 0x3f, 0xc6, + 0x49, 0xdb, 0xc8, 0xe1, 0xe5, 0x21, 0x40, 0x1e, 0xb2, 0xfd, 0x36, 0xdb, 0x47, 0x0d, 0xaf, 0x4f, + 0x02, 0xfa, 0x24, 0x64, 0x0f, 0x77, 0xbf, 0x01, 0xc8, 0x37, 0x40, 0x7b, 0x58, 0x9f, 0x02, 0xf4, + 0x29, 0x5e, 0xbf, 0x87, 0x63, 0xfc, 0x54, 0xe1, 0xb5, 0x61, 0x40, 0x1b, 0xb6, 0x3f, 0x77, 0xcb, + 0x48, 0xf1, 0xdb, 0xe9, 0x11, 0x97, 0xe3, 0x62, 0x19, 0x23, 0x2b, 0x25, 0x9b, 0xaf, 0xf1, 0x26, + 0x34, 0x34, 0x00, 0x46, 0x91, 0x67, 0x24, 0x2a, 0x9b, 0x96, 0x61, 0xc1, 0x74, 0xd3, 0x21, 0x4f, + 0x3e, 0xc5, 0xd7, 0x80, 0xd1, 0x01, 0x80, 0xb7, 0x79, 0x70, 0xb4, 0x92, 0xb5, 0x80, 0x2d, 0xff, + 0x2b, 0xf0, 0xd1, 0xea, 0xaf, 0x6b, 0x38, 0x61, 0x8c, 0xa8, 0xcf, 0x27, 0x1d, 0x71, 0x22, 0x76, + 0xc8, 0x77, 0xee, 0x09, 0xab, 0x02, 0x8d, 0x36, 0x43, 0xb7, 0x42, 0xd0, 0x3a, 0x75, 0x0d, 0x5a, + 0x3b, 0xcb, 0x18, 0xf8, 0xe5, 0xad, 0x23, 0x47, 0xde, 0xba, 0xe1, 0x85, 0x75, 0x8b, 0x5d, 0x47, + 0x8e, 0xd8, 0xe5, 0x87, 0x01, 0xd3, 0x57, 0xcd, 0x99, 0xbe, 0x8a, 0x5e, 0x1c, 0xf7, 0x10, 0x56, + 0x73, 0x86, 0x30, 0x5f, 0x12, 0x9c, 0xc5, 0x6a, 0xce, 0x2c, 0xe6, 0x49, 0x72, 0x8f, 0x64, 0x35, + 0x67, 0x24, 0xf3, 0x25, 0xc1, 0xc9, 0xec, 0x01, 0x90, 0xcc, 0x6e, 0x7a, 0xa1, 0xbc, 0x02, 0xda, + 0x09, 0x14, 0xd0, 0x6e, 0x79, 0x36, 0xe6, 0x99, 0xd3, 0x1e, 0x00, 0x39, 0xcd, 0xbf, 0x39, 0x97, + 0xb8, 0x76, 0x02, 0xc5, 0xb5, 0x25, 0x9a, 0x73, 0x4b, 0x6d, 0x55, 0x7b, 0x6a, 0x2b, 0x78, 0xb1, + 0xe0, 0xf0, 0x56, 0x73, 0x86, 0xb7, 0xa2, 0xff, 0x59, 0x84, 0x32, 0xdc, 0xa9, 0x6b, 0x86, 0x5b, + 0xea, 0x70, 0xfb, 0x45, 0xb9, 0x6f, 0xdd, 0xa2, 0xdc, 0xf6, 0x32, 0x74, 0xef, 0x44, 0xf7, 0x95, + 0x4b, 0xa2, 0x2b, 0x2f, 0x83, 0xbe, 0x0a, 0x76, 0x57, 0xc1, 0xee, 0x2a, 0xd8, 0x5d, 0x05, 0xbb, + 0xff, 0x46, 0xb0, 0xdb, 0x5b, 0xfb, 0xf9, 0x97, 0x1c, 0x2a, 0x5e, 0xc7, 0x21, 0xc3, 0x9a, 0x6c, + 0xe0, 0x40, 0x7d, 0x3f, 0x25, 0xb0, 0xcf, 0x6a, 0x0a, 0xb1, 0xcf, 0x83, 0x54, 0xa0, 0xfa, 0xd9, + 0xc5, 0x8c, 0x0a, 0xcf, 0x66, 0x54, 0x78, 0x3e, 0xa3, 0xc2, 0xcb, 0x19, 0x45, 0xaf, 0x66, 0x14, + 0xbd, 0x9e, 0x51, 0xf4, 0x66, 0x46, 0xd1, 0x53, 0x95, 0xa2, 0x5f, 0x55, 0x8a, 0x7e, 0x53, 0x29, + 0xfa, 0x5d, 0xa5, 0xe8, 0x0f, 0x95, 0xa2, 0x0b, 0x95, 0x0a, 0xcf, 0x54, 0x2a, 0xbc, 0x54, 0x29, + 0x7a, 0xa5, 0x52, 0xe1, 0xb5, 0x4a, 0xd1, 0x1b, 0x95, 0x0a, 0x4f, 0xff, 0xa6, 0xc2, 0x3f, 0x01, + 0x00, 0x00, 0xff, 0xff, 0x3c, 0x2b, 0x76, 0x8f, 0xf5, 0x16, 0x00, 0x00, +} + func (this *FloatingPoint) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Mapsproto2Description() } @@ -288,307 +369,309 @@ func (this *AllMapsOrdered) Description() (desc *github_com_gogo_protobuf_protoc func Mapsproto2Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4797 bytes of a gzipped FileDescriptorSet + // 4832 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x5b, 0x6c, 0x23, 0xd7, - 0x79, 0x16, 0x6f, 0x12, 0xf9, 0x93, 0xa2, 0x46, 0x23, 0x79, 0x4d, 0xcb, 0xb1, 0xb4, 0x2b, 0xdf, - 0xe4, 0x5d, 0x5b, 0xb2, 0xe5, 0xdd, 0xf5, 0x9a, 0x1b, 0xdb, 0xa5, 0x24, 0xae, 0x56, 0xb6, 0x6e, - 0x19, 0x4a, 0xbe, 0x05, 0xc6, 0x74, 0x34, 0x3c, 0xa4, 0xc6, 0x4b, 0xce, 0xd0, 0x33, 0xc3, 0x5d, - 0xcb, 0x28, 0x8a, 0x2d, 0xdc, 0x0b, 0x82, 0xa2, 0xf7, 0x02, 0x75, 0x5c, 0xc7, 0xad, 0x53, 0x34, - 0x4e, 0xd3, 0x5b, 0xd2, 0xb4, 0x69, 0x92, 0xbe, 0xe4, 0x25, 0xad, 0x81, 0x02, 0x45, 0xf2, 0x16, - 0x04, 0x81, 0xe1, 0x55, 0x0c, 0xd4, 0x6d, 0xdd, 0xc6, 0x6d, 0xb7, 0x80, 0x01, 0xbf, 0x14, 0xe7, - 0x36, 0x3c, 0x33, 0x1c, 0x72, 0x28, 0x03, 0x76, 0xf2, 0xe0, 0xa7, 0xd5, 0x9c, 0xf3, 0x7f, 0xdf, - 0xf9, 0xe7, 0x3f, 0xff, 0xf9, 0xcf, 0x77, 0xce, 0x70, 0xe1, 0x27, 0x0f, 0xc2, 0xf1, 0xba, 0x65, - 0xd5, 0x1b, 0x68, 0xa1, 0x65, 0x5b, 0xae, 0xb5, 0xd7, 0xae, 0x2d, 0x54, 0x91, 0xa3, 0xdb, 0x46, - 0xcb, 0xb5, 0xec, 0x79, 0xd2, 0x26, 0x8f, 0x51, 0x8b, 0x79, 0x6e, 0x31, 0xbb, 0x01, 0xe3, 0x17, - 0x8c, 0x06, 0x5a, 0xf1, 0x0c, 0x2b, 0xc8, 0x95, 0xcf, 0x41, 0xb2, 0x66, 0x34, 0x50, 0x21, 0x76, - 0x3c, 0x31, 0x97, 0x5d, 0xbc, 0x6d, 0x3e, 0x00, 0x9a, 0xf7, 0x23, 0xb6, 0x71, 0xb3, 0x42, 0x10, - 0xb3, 0x6f, 0x27, 0x61, 0x22, 0xa4, 0x57, 0x96, 0x21, 0x69, 0x6a, 0x4d, 0xcc, 0x18, 0x9b, 0xcb, - 0x28, 0xe4, 0x6f, 0xb9, 0x00, 0x23, 0x2d, 0x4d, 0xbf, 0xa4, 0xd5, 0x51, 0x21, 0x4e, 0x9a, 0xf9, - 0xa3, 0x3c, 0x0d, 0x50, 0x45, 0x2d, 0x64, 0x56, 0x91, 0xa9, 0x1f, 0x14, 0x12, 0xc7, 0x13, 0x73, - 0x19, 0x45, 0x68, 0x91, 0x4f, 0xc1, 0x78, 0xab, 0xbd, 0xd7, 0x30, 0x74, 0x55, 0x30, 0x83, 0xe3, - 0x89, 0xb9, 0x94, 0x22, 0xd1, 0x8e, 0x95, 0x8e, 0xf1, 0x9d, 0x30, 0x76, 0x05, 0x69, 0x97, 0x44, - 0xd3, 0x2c, 0x31, 0xcd, 0xe3, 0x66, 0xc1, 0x70, 0x19, 0x72, 0x4d, 0xe4, 0x38, 0x5a, 0x1d, 0xa9, - 0xee, 0x41, 0x0b, 0x15, 0x92, 0xe4, 0xed, 0x8f, 0x77, 0xbd, 0x7d, 0xf0, 0xcd, 0xb3, 0x0c, 0xb5, - 0x73, 0xd0, 0x42, 0x72, 0x09, 0x32, 0xc8, 0x6c, 0x37, 0x29, 0x43, 0xaa, 0x47, 0xfc, 0xca, 0x66, - 0xbb, 0x19, 0x64, 0x49, 0x63, 0x18, 0xa3, 0x18, 0x71, 0x90, 0x7d, 0xd9, 0xd0, 0x51, 0x61, 0x98, - 0x10, 0xdc, 0xd9, 0x45, 0x50, 0xa1, 0xfd, 0x41, 0x0e, 0x8e, 0x93, 0x97, 0x21, 0x83, 0x9e, 0x77, - 0x91, 0xe9, 0x18, 0x96, 0x59, 0x18, 0x21, 0x24, 0xb7, 0x87, 0xcc, 0x22, 0x6a, 0x54, 0x83, 0x14, - 0x1d, 0x9c, 0x7c, 0x16, 0x46, 0xac, 0x96, 0x6b, 0x58, 0xa6, 0x53, 0x48, 0x1f, 0x8f, 0xcd, 0x65, - 0x17, 0x3f, 0x15, 0x9a, 0x08, 0x5b, 0xd4, 0x46, 0xe1, 0xc6, 0xf2, 0x1a, 0x48, 0x8e, 0xd5, 0xb6, - 0x75, 0xa4, 0xea, 0x56, 0x15, 0xa9, 0x86, 0x59, 0xb3, 0x0a, 0x19, 0x42, 0x30, 0xd3, 0xfd, 0x22, - 0xc4, 0x70, 0xd9, 0xaa, 0xa2, 0x35, 0xb3, 0x66, 0x29, 0x79, 0xc7, 0xf7, 0x2c, 0x1f, 0x83, 0x61, - 0xe7, 0xc0, 0x74, 0xb5, 0xe7, 0x0b, 0x39, 0x92, 0x21, 0xec, 0x69, 0xf6, 0x5b, 0xc3, 0x30, 0x36, - 0x48, 0x8a, 0x9d, 0x87, 0x54, 0x0d, 0xbf, 0x65, 0x21, 0x7e, 0x94, 0x18, 0x50, 0x8c, 0x3f, 0x88, - 0xc3, 0x1f, 0x32, 0x88, 0x25, 0xc8, 0x9a, 0xc8, 0x71, 0x51, 0x95, 0x66, 0x44, 0x62, 0xc0, 0x9c, - 0x02, 0x0a, 0xea, 0x4e, 0xa9, 0xe4, 0x87, 0x4a, 0xa9, 0x27, 0x61, 0xcc, 0x73, 0x49, 0xb5, 0x35, - 0xb3, 0xce, 0x73, 0x73, 0x21, 0xca, 0x93, 0xf9, 0x32, 0xc7, 0x29, 0x18, 0xa6, 0xe4, 0x91, 0xef, - 0x59, 0x5e, 0x01, 0xb0, 0x4c, 0x64, 0xd5, 0xd4, 0x2a, 0xd2, 0x1b, 0x85, 0x74, 0x8f, 0x28, 0x6d, - 0x61, 0x93, 0xae, 0x28, 0x59, 0xb4, 0x55, 0x6f, 0xc8, 0x0f, 0x76, 0x52, 0x6d, 0xa4, 0x47, 0xa6, - 0x6c, 0xd0, 0x45, 0xd6, 0x95, 0x6d, 0xbb, 0x90, 0xb7, 0x11, 0xce, 0x7b, 0x54, 0x65, 0x6f, 0x96, - 0x21, 0x4e, 0xcc, 0x47, 0xbe, 0x99, 0xc2, 0x60, 0xf4, 0xc5, 0x46, 0x6d, 0xf1, 0x51, 0xbe, 0x15, - 0xbc, 0x06, 0x95, 0xa4, 0x15, 0x90, 0x2a, 0x94, 0xe3, 0x8d, 0x9b, 0x5a, 0x13, 0x4d, 0xbd, 0x00, - 0x79, 0x7f, 0x78, 0xe4, 0x49, 0x48, 0x39, 0xae, 0x66, 0xbb, 0x24, 0x0b, 0x53, 0x0a, 0x7d, 0x90, - 0x25, 0x48, 0x20, 0xb3, 0x4a, 0xaa, 0x5c, 0x4a, 0xc1, 0x7f, 0xca, 0x3f, 0xd7, 0x79, 0xe1, 0x04, - 0x79, 0xe1, 0x3b, 0xba, 0x67, 0xd4, 0xc7, 0x1c, 0x7c, 0xef, 0xa9, 0x07, 0x60, 0xd4, 0xf7, 0x02, - 0x83, 0x0e, 0x3d, 0xfb, 0x0b, 0x70, 0x43, 0x28, 0xb5, 0xfc, 0x24, 0x4c, 0xb6, 0x4d, 0xc3, 0x74, - 0x91, 0xdd, 0xb2, 0x11, 0xce, 0x58, 0x3a, 0x54, 0xe1, 0x5f, 0x47, 0x7a, 0xe4, 0xdc, 0xae, 0x68, - 0x4d, 0x59, 0x94, 0x89, 0x76, 0x77, 0xe3, 0xc9, 0x4c, 0xfa, 0x9d, 0x11, 0xe9, 0xea, 0xd5, 0xab, - 0x57, 0xe3, 0xb3, 0x2f, 0x0d, 0xc3, 0x64, 0xd8, 0x9a, 0x09, 0x5d, 0xbe, 0xc7, 0x60, 0xd8, 0x6c, - 0x37, 0xf7, 0x90, 0x4d, 0x82, 0x94, 0x52, 0xd8, 0x93, 0x5c, 0x82, 0x54, 0x43, 0xdb, 0x43, 0x8d, - 0x42, 0xf2, 0x78, 0x6c, 0x2e, 0xbf, 0x78, 0x6a, 0xa0, 0x55, 0x39, 0xbf, 0x8e, 0x21, 0x0a, 0x45, - 0xca, 0x0f, 0x43, 0x92, 0x95, 0x68, 0xcc, 0x70, 0x72, 0x30, 0x06, 0xbc, 0x96, 0x14, 0x82, 0x93, - 0x6f, 0x86, 0x0c, 0xfe, 0x97, 0xe6, 0xc6, 0x30, 0xf1, 0x39, 0x8d, 0x1b, 0x70, 0x5e, 0xc8, 0x53, - 0x90, 0x26, 0xcb, 0xa4, 0x8a, 0xf8, 0xd6, 0xe6, 0x3d, 0xe3, 0xc4, 0xaa, 0xa2, 0x9a, 0xd6, 0x6e, - 0xb8, 0xea, 0x65, 0xad, 0xd1, 0x46, 0x24, 0xe1, 0x33, 0x4a, 0x8e, 0x35, 0x3e, 0x8e, 0xdb, 0xe4, - 0x19, 0xc8, 0xd2, 0x55, 0x65, 0x98, 0x55, 0xf4, 0x3c, 0xa9, 0x9e, 0x29, 0x85, 0x2e, 0xb4, 0x35, - 0xdc, 0x82, 0x87, 0x7f, 0xd6, 0xb1, 0x4c, 0x9e, 0x9a, 0x64, 0x08, 0xdc, 0x40, 0x86, 0x7f, 0x20, - 0x58, 0xb8, 0x6f, 0x09, 0x7f, 0xbd, 0x60, 0x4e, 0xcd, 0x7e, 0x23, 0x0e, 0x49, 0x52, 0x2f, 0xc6, - 0x20, 0xbb, 0xf3, 0xd4, 0x76, 0x59, 0x5d, 0xd9, 0xda, 0x5d, 0x5a, 0x2f, 0x4b, 0x31, 0x39, 0x0f, - 0x40, 0x1a, 0x2e, 0xac, 0x6f, 0x95, 0x76, 0xa4, 0xb8, 0xf7, 0xbc, 0xb6, 0xb9, 0x73, 0xf6, 0xb4, - 0x94, 0xf0, 0x00, 0xbb, 0xb4, 0x21, 0x29, 0x1a, 0xdc, 0xbf, 0x28, 0xa5, 0x64, 0x09, 0x72, 0x94, - 0x60, 0xed, 0xc9, 0xf2, 0xca, 0xd9, 0xd3, 0xd2, 0xb0, 0xbf, 0xe5, 0xfe, 0x45, 0x69, 0x44, 0x1e, - 0x85, 0x0c, 0x69, 0x59, 0xda, 0xda, 0x5a, 0x97, 0xd2, 0x1e, 0x67, 0x65, 0x47, 0x59, 0xdb, 0x5c, - 0x95, 0x32, 0x1e, 0xe7, 0xaa, 0xb2, 0xb5, 0xbb, 0x2d, 0x81, 0xc7, 0xb0, 0x51, 0xae, 0x54, 0x4a, - 0xab, 0x65, 0x29, 0xeb, 0x59, 0x2c, 0x3d, 0xb5, 0x53, 0xae, 0x48, 0x39, 0x9f, 0x5b, 0xf7, 0x2f, - 0x4a, 0xa3, 0xde, 0x10, 0xe5, 0xcd, 0xdd, 0x0d, 0x29, 0x2f, 0x8f, 0xc3, 0x28, 0x1d, 0x82, 0x3b, - 0x31, 0x16, 0x68, 0x3a, 0x7b, 0x5a, 0x92, 0x3a, 0x8e, 0x50, 0x96, 0x71, 0x5f, 0xc3, 0xd9, 0xd3, - 0x92, 0x3c, 0xbb, 0x0c, 0x29, 0x92, 0x5d, 0xb2, 0x0c, 0xf9, 0xf5, 0xd2, 0x52, 0x79, 0x5d, 0xdd, - 0xda, 0xde, 0x59, 0xdb, 0xda, 0x2c, 0xad, 0x4b, 0xb1, 0x4e, 0x9b, 0x52, 0xfe, 0xcc, 0xee, 0x9a, - 0x52, 0x5e, 0x91, 0xe2, 0x62, 0xdb, 0x76, 0xb9, 0xb4, 0x53, 0x5e, 0x91, 0x12, 0xb3, 0x3a, 0x4c, - 0x86, 0xd5, 0xc9, 0xd0, 0x95, 0x21, 0x4c, 0x71, 0xbc, 0xc7, 0x14, 0x13, 0xae, 0xae, 0x29, 0xfe, - 0x71, 0x1c, 0x26, 0x42, 0xf6, 0x8a, 0xd0, 0x41, 0x1e, 0x81, 0x14, 0x4d, 0x51, 0xba, 0x7b, 0xde, - 0x15, 0xba, 0xe9, 0x90, 0x84, 0xed, 0xda, 0x41, 0x09, 0x4e, 0x54, 0x10, 0x89, 0x1e, 0x0a, 0x02, - 0x53, 0x74, 0xd5, 0xf4, 0x67, 0xba, 0x6a, 0x3a, 0xdd, 0xf6, 0xce, 0x0e, 0xb2, 0xed, 0x91, 0xb6, - 0xa3, 0xd5, 0xf6, 0x54, 0x48, 0x6d, 0x3f, 0x0f, 0xe3, 0x5d, 0x44, 0x03, 0xd7, 0xd8, 0x17, 0x63, - 0x50, 0xe8, 0x15, 0x9c, 0x88, 0x4a, 0x17, 0xf7, 0x55, 0xba, 0xf3, 0xc1, 0x08, 0x9e, 0xe8, 0x3d, - 0x09, 0x5d, 0x73, 0xfd, 0x7a, 0x0c, 0x8e, 0x85, 0x2b, 0xc5, 0x50, 0x1f, 0x1e, 0x86, 0xe1, 0x26, - 0x72, 0xf7, 0x2d, 0xae, 0x96, 0xee, 0x08, 0xd9, 0x83, 0x71, 0x77, 0x70, 0xb2, 0x19, 0x4a, 0xdc, - 0xc4, 0x13, 0xbd, 0xe4, 0x1e, 0xf5, 0xa6, 0xcb, 0xd3, 0xcf, 0xc5, 0xe1, 0x86, 0x50, 0xf2, 0x50, - 0x47, 0x6f, 0x01, 0x30, 0xcc, 0x56, 0xdb, 0xa5, 0x8a, 0x88, 0x16, 0xd8, 0x0c, 0x69, 0x21, 0xc5, - 0x0b, 0x17, 0xcf, 0xb6, 0xeb, 0xf5, 0x27, 0x48, 0x3f, 0xd0, 0x26, 0x62, 0x70, 0xae, 0xe3, 0x68, - 0x92, 0x38, 0x3a, 0xdd, 0xe3, 0x4d, 0xbb, 0x12, 0xf3, 0x5e, 0x90, 0xf4, 0x86, 0x81, 0x4c, 0x57, - 0x75, 0x5c, 0x1b, 0x69, 0x4d, 0xc3, 0xac, 0x93, 0x1d, 0x24, 0x5d, 0x4c, 0xd5, 0xb4, 0x86, 0x83, - 0x94, 0x31, 0xda, 0x5d, 0xe1, 0xbd, 0x18, 0x41, 0x12, 0xc8, 0x16, 0x10, 0xc3, 0x3e, 0x04, 0xed, - 0xf6, 0x10, 0xb3, 0x5f, 0x4f, 0x43, 0x56, 0xd0, 0xd5, 0xf2, 0x09, 0xc8, 0x3d, 0xab, 0x5d, 0xd6, - 0x54, 0x7e, 0x56, 0xa2, 0x91, 0xc8, 0xe2, 0xb6, 0x6d, 0x76, 0x5e, 0xba, 0x17, 0x26, 0x89, 0x89, - 0xd5, 0x76, 0x91, 0xad, 0xea, 0x0d, 0xcd, 0x71, 0x48, 0xd0, 0xd2, 0xc4, 0x54, 0xc6, 0x7d, 0x5b, - 0xb8, 0x6b, 0x99, 0xf7, 0xc8, 0x67, 0x60, 0x82, 0x20, 0x9a, 0xed, 0x86, 0x6b, 0xb4, 0x1a, 0x48, - 0xc5, 0xa7, 0x37, 0x87, 0xec, 0x24, 0x9e, 0x67, 0xe3, 0xd8, 0x62, 0x83, 0x19, 0x60, 0x8f, 0x1c, - 0x79, 0x05, 0x6e, 0x21, 0xb0, 0x3a, 0x32, 0x91, 0xad, 0xb9, 0x48, 0x45, 0xcf, 0xb5, 0xb5, 0x86, - 0xa3, 0x6a, 0x66, 0x55, 0xdd, 0xd7, 0x9c, 0xfd, 0xc2, 0x24, 0x26, 0x58, 0x8a, 0x17, 0x62, 0xca, - 0x4d, 0xd8, 0x70, 0x95, 0xd9, 0x95, 0x89, 0x59, 0xc9, 0xac, 0x5e, 0xd4, 0x9c, 0x7d, 0xb9, 0x08, - 0xc7, 0x08, 0x8b, 0xe3, 0xda, 0x86, 0x59, 0x57, 0xf5, 0x7d, 0xa4, 0x5f, 0x52, 0xdb, 0x6e, 0xed, - 0x5c, 0xe1, 0x66, 0x71, 0x7c, 0xe2, 0x61, 0x85, 0xd8, 0x2c, 0x63, 0x93, 0x5d, 0xb7, 0x76, 0x4e, - 0xae, 0x40, 0x0e, 0x4f, 0x46, 0xd3, 0x78, 0x01, 0xa9, 0x35, 0xcb, 0x26, 0x5b, 0x63, 0x3e, 0xa4, - 0x34, 0x09, 0x11, 0x9c, 0xdf, 0x62, 0x80, 0x0d, 0xab, 0x8a, 0x8a, 0xa9, 0xca, 0x76, 0xb9, 0xbc, - 0xa2, 0x64, 0x39, 0xcb, 0x05, 0xcb, 0xc6, 0x09, 0x55, 0xb7, 0xbc, 0x00, 0x67, 0x69, 0x42, 0xd5, - 0x2d, 0x1e, 0xde, 0x33, 0x30, 0xa1, 0xeb, 0xf4, 0x9d, 0x0d, 0x5d, 0x65, 0x67, 0x2c, 0xa7, 0x20, - 0xf9, 0x82, 0xa5, 0xeb, 0xab, 0xd4, 0x80, 0xe5, 0xb8, 0x23, 0x3f, 0x08, 0x37, 0x74, 0x82, 0x25, - 0x02, 0xc7, 0xbb, 0xde, 0x32, 0x08, 0x3d, 0x03, 0x13, 0xad, 0x83, 0x6e, 0xa0, 0xec, 0x1b, 0xb1, - 0x75, 0x10, 0x84, 0x3d, 0x00, 0x93, 0xad, 0xfd, 0x56, 0x37, 0xee, 0xa4, 0x88, 0x93, 0x5b, 0xfb, - 0xad, 0x20, 0xf0, 0x76, 0x72, 0xe0, 0xb6, 0x91, 0xae, 0xb9, 0xa8, 0x5a, 0xb8, 0x51, 0x34, 0x17, - 0x3a, 0xe4, 0x05, 0x90, 0x74, 0x5d, 0x45, 0xa6, 0xb6, 0xd7, 0x40, 0xaa, 0x66, 0x23, 0x53, 0x73, - 0x0a, 0x33, 0xa2, 0x71, 0x5e, 0xd7, 0xcb, 0xa4, 0xb7, 0x44, 0x3a, 0xe5, 0x93, 0x30, 0x6e, 0xed, - 0x3d, 0xab, 0xd3, 0x94, 0x54, 0x5b, 0x36, 0xaa, 0x19, 0xcf, 0x17, 0x6e, 0x23, 0xf1, 0x1d, 0xc3, - 0x1d, 0x24, 0x21, 0xb7, 0x49, 0xb3, 0x7c, 0x17, 0x48, 0xba, 0xb3, 0xaf, 0xd9, 0x2d, 0x52, 0x93, - 0x9d, 0x96, 0xa6, 0xa3, 0xc2, 0xed, 0xd4, 0x94, 0xb6, 0x6f, 0xf2, 0x66, 0xbc, 0x24, 0x9c, 0x2b, - 0x46, 0xcd, 0xe5, 0x8c, 0x77, 0xd2, 0x25, 0x41, 0xda, 0x18, 0xdb, 0x1c, 0x48, 0x38, 0x14, 0xbe, - 0x81, 0xe7, 0x88, 0x59, 0xbe, 0xb5, 0xdf, 0x12, 0xc7, 0xbd, 0x15, 0x46, 0xb1, 0x65, 0x67, 0xd0, - 0xbb, 0xa8, 0x20, 0x6b, 0xed, 0x0b, 0x23, 0x7e, 0x64, 0xda, 0x78, 0xb6, 0x08, 0x39, 0x31, 0x3f, - 0xe5, 0x0c, 0xd0, 0x0c, 0x95, 0x62, 0x58, 0xac, 0x2c, 0x6f, 0xad, 0x60, 0x99, 0xf1, 0x74, 0x59, - 0x8a, 0x63, 0xb9, 0xb3, 0xbe, 0xb6, 0x53, 0x56, 0x95, 0xdd, 0xcd, 0x9d, 0xb5, 0x8d, 0xb2, 0x94, - 0x10, 0x75, 0xf5, 0x77, 0xe3, 0x90, 0xf7, 0x1f, 0x91, 0xe4, 0x4f, 0xc3, 0x8d, 0xfc, 0x3e, 0xc3, - 0x41, 0xae, 0x7a, 0xc5, 0xb0, 0xc9, 0x92, 0x69, 0x6a, 0x74, 0xfb, 0xf2, 0x26, 0x6d, 0x92, 0x59, - 0x55, 0x90, 0xfb, 0x84, 0x61, 0xe3, 0x05, 0xd1, 0xd4, 0x5c, 0x79, 0x1d, 0x66, 0x4c, 0x4b, 0x75, - 0x5c, 0xcd, 0xac, 0x6a, 0x76, 0x55, 0xed, 0xdc, 0x24, 0xa9, 0x9a, 0xae, 0x23, 0xc7, 0xb1, 0xe8, - 0x56, 0xe5, 0xb1, 0x7c, 0xca, 0xb4, 0x2a, 0xcc, 0xb8, 0x53, 0xc3, 0x4b, 0xcc, 0x34, 0x90, 0x60, - 0x89, 0x5e, 0x09, 0x76, 0x33, 0x64, 0x9a, 0x5a, 0x4b, 0x45, 0xa6, 0x6b, 0x1f, 0x10, 0x61, 0x9c, - 0x56, 0xd2, 0x4d, 0xad, 0x55, 0xc6, 0xcf, 0x1f, 0xcf, 0xf9, 0xe4, 0x47, 0x09, 0xc8, 0x89, 0xe2, - 0x18, 0x9f, 0x35, 0x74, 0xb2, 0x8f, 0xc4, 0x48, 0xa5, 0xb9, 0xb5, 0xaf, 0x94, 0x9e, 0x5f, 0xc6, - 0x1b, 0x4c, 0x71, 0x98, 0x4a, 0x56, 0x85, 0x22, 0xf1, 0xe6, 0x8e, 0x6b, 0x0b, 0xa2, 0x12, 0x21, - 0xad, 0xb0, 0x27, 0x79, 0x15, 0x86, 0x9f, 0x75, 0x08, 0xf7, 0x30, 0xe1, 0xbe, 0xad, 0x3f, 0xf7, - 0xa3, 0x15, 0x42, 0x9e, 0x79, 0xb4, 0xa2, 0x6e, 0x6e, 0x29, 0x1b, 0xa5, 0x75, 0x85, 0xc1, 0xe5, - 0x9b, 0x20, 0xd9, 0xd0, 0x5e, 0x38, 0xf0, 0x6f, 0x45, 0xa4, 0x69, 0xd0, 0xc0, 0xdf, 0x04, 0xc9, - 0x2b, 0x48, 0xbb, 0xe4, 0xdf, 0x00, 0x48, 0xd3, 0x47, 0x98, 0xfa, 0x0b, 0x90, 0x22, 0xf1, 0x92, - 0x01, 0x58, 0xc4, 0xa4, 0x21, 0x39, 0x0d, 0xc9, 0xe5, 0x2d, 0x05, 0xa7, 0xbf, 0x04, 0x39, 0xda, - 0xaa, 0x6e, 0xaf, 0x95, 0x97, 0xcb, 0x52, 0x7c, 0xf6, 0x0c, 0x0c, 0xd3, 0x20, 0xe0, 0xa5, 0xe1, - 0x85, 0x41, 0x1a, 0x62, 0x8f, 0x8c, 0x23, 0xc6, 0x7b, 0x77, 0x37, 0x96, 0xca, 0x8a, 0x14, 0x17, - 0xa7, 0xd7, 0x81, 0x9c, 0xa8, 0x8b, 0x3f, 0x9e, 0x9c, 0xfa, 0x76, 0x0c, 0xb2, 0x82, 0xce, 0xc5, - 0x02, 0x45, 0x6b, 0x34, 0xac, 0x2b, 0xaa, 0xd6, 0x30, 0x34, 0x87, 0x25, 0x05, 0x90, 0xa6, 0x12, - 0x6e, 0x19, 0x74, 0xd2, 0x3e, 0x16, 0xe7, 0x5f, 0x8d, 0x81, 0x14, 0x94, 0x98, 0x01, 0x07, 0x63, - 0x3f, 0x55, 0x07, 0x5f, 0x89, 0x41, 0xde, 0xaf, 0x2b, 0x03, 0xee, 0x9d, 0xf8, 0xa9, 0xba, 0xf7, - 0x56, 0x1c, 0x46, 0x7d, 0x6a, 0x72, 0x50, 0xef, 0x9e, 0x83, 0x71, 0xa3, 0x8a, 0x9a, 0x2d, 0xcb, - 0x45, 0xa6, 0x7e, 0xa0, 0x36, 0xd0, 0x65, 0xd4, 0x28, 0xcc, 0x92, 0x42, 0xb1, 0xd0, 0x5f, 0xaf, - 0xce, 0xaf, 0x75, 0x70, 0xeb, 0x18, 0x56, 0x9c, 0x58, 0x5b, 0x29, 0x6f, 0x6c, 0x6f, 0xed, 0x94, - 0x37, 0x97, 0x9f, 0x52, 0x77, 0x37, 0x1f, 0xdb, 0xdc, 0x7a, 0x62, 0x53, 0x91, 0x8c, 0x80, 0xd9, - 0x47, 0xb8, 0xd4, 0xb7, 0x41, 0x0a, 0x3a, 0x25, 0xdf, 0x08, 0x61, 0x6e, 0x49, 0x43, 0xf2, 0x04, - 0x8c, 0x6d, 0x6e, 0xa9, 0x95, 0xb5, 0x95, 0xb2, 0x5a, 0xbe, 0x70, 0xa1, 0xbc, 0xbc, 0x53, 0xa1, - 0x37, 0x10, 0x9e, 0xf5, 0x8e, 0x7f, 0x51, 0xbf, 0x9c, 0x80, 0x89, 0x10, 0x4f, 0xe4, 0x12, 0x3b, - 0x3b, 0xd0, 0xe3, 0xcc, 0x3d, 0x83, 0x78, 0x3f, 0x8f, 0xb7, 0xfc, 0x6d, 0xcd, 0x76, 0xd9, 0x51, - 0xe3, 0x2e, 0xc0, 0x51, 0x32, 0x5d, 0xa3, 0x66, 0x20, 0x9b, 0x5d, 0xd8, 0xd0, 0x03, 0xc5, 0x58, - 0xa7, 0x9d, 0xde, 0xd9, 0xdc, 0x0d, 0x72, 0xcb, 0x72, 0x0c, 0xd7, 0xb8, 0x8c, 0x54, 0xc3, 0xe4, - 0xb7, 0x3b, 0xf8, 0x80, 0x91, 0x54, 0x24, 0xde, 0xb3, 0x66, 0xba, 0x9e, 0xb5, 0x89, 0xea, 0x5a, - 0xc0, 0x1a, 0x17, 0xf0, 0x84, 0x22, 0xf1, 0x1e, 0xcf, 0xfa, 0x04, 0xe4, 0xaa, 0x56, 0x1b, 0xab, - 0x2e, 0x6a, 0x87, 0xf7, 0x8b, 0x98, 0x92, 0xa5, 0x6d, 0x9e, 0x09, 0xd3, 0xd3, 0x9d, 0x6b, 0xa5, - 0x9c, 0x92, 0xa5, 0x6d, 0xd4, 0xe4, 0x4e, 0x18, 0xd3, 0xea, 0x75, 0x1b, 0x93, 0x73, 0x22, 0x7a, - 0x42, 0xc8, 0x7b, 0xcd, 0xc4, 0x70, 0xea, 0x51, 0x48, 0xf3, 0x38, 0xe0, 0x2d, 0x19, 0x47, 0x42, - 0x6d, 0xd1, 0x63, 0x6f, 0x7c, 0x2e, 0xa3, 0xa4, 0x4d, 0xde, 0x79, 0x02, 0x72, 0x86, 0xa3, 0x76, - 0x6e, 0xc9, 0xe3, 0xc7, 0xe3, 0x73, 0x69, 0x25, 0x6b, 0x38, 0xde, 0x0d, 0xe3, 0xec, 0xeb, 0x71, - 0xc8, 0xfb, 0x6f, 0xf9, 0xe5, 0x15, 0x48, 0x37, 0x2c, 0x5d, 0x23, 0xa9, 0x45, 0x3f, 0x31, 0xcd, - 0x45, 0x7c, 0x18, 0x98, 0x5f, 0x67, 0xf6, 0x8a, 0x87, 0x9c, 0xfa, 0x97, 0x18, 0xa4, 0x79, 0xb3, - 0x7c, 0x0c, 0x92, 0x2d, 0xcd, 0xdd, 0x27, 0x74, 0xa9, 0xa5, 0xb8, 0x14, 0x53, 0xc8, 0x33, 0x6e, - 0x77, 0x5a, 0x9a, 0x49, 0x52, 0x80, 0xb5, 0xe3, 0x67, 0x3c, 0xaf, 0x0d, 0xa4, 0x55, 0xc9, 0xf1, - 0xc3, 0x6a, 0x36, 0x91, 0xe9, 0x3a, 0x7c, 0x5e, 0x59, 0xfb, 0x32, 0x6b, 0x96, 0x4f, 0xc1, 0xb8, - 0x6b, 0x6b, 0x46, 0xc3, 0x67, 0x9b, 0x24, 0xb6, 0x12, 0xef, 0xf0, 0x8c, 0x8b, 0x70, 0x13, 0xe7, - 0xad, 0x22, 0x57, 0xd3, 0xf7, 0x51, 0xb5, 0x03, 0x1a, 0x26, 0xd7, 0x0c, 0x37, 0x32, 0x83, 0x15, - 0xd6, 0xcf, 0xb1, 0xb3, 0xdf, 0x8f, 0xc1, 0x38, 0x3f, 0x30, 0x55, 0xbd, 0x60, 0x6d, 0x00, 0x68, - 0xa6, 0x69, 0xb9, 0x62, 0xb8, 0xba, 0x53, 0xb9, 0x0b, 0x37, 0x5f, 0xf2, 0x40, 0x8a, 0x40, 0x30, - 0xd5, 0x04, 0xe8, 0xf4, 0xf4, 0x0c, 0xdb, 0x0c, 0x64, 0xd9, 0x27, 0x1c, 0xf2, 0x1d, 0x90, 0x1e, - 0xb1, 0x81, 0x36, 0xe1, 0x93, 0x95, 0x3c, 0x09, 0xa9, 0x3d, 0x54, 0x37, 0x4c, 0x76, 0x31, 0x4b, - 0x1f, 0xf8, 0x45, 0x48, 0xd2, 0xbb, 0x08, 0x59, 0xfa, 0x2c, 0x4c, 0xe8, 0x56, 0x33, 0xe8, 0xee, - 0x92, 0x14, 0x38, 0xe6, 0x3b, 0x17, 0x63, 0x4f, 0x43, 0x47, 0x62, 0xbe, 0x1f, 0x8b, 0x7d, 0x31, - 0x9e, 0x58, 0xdd, 0x5e, 0xfa, 0x4a, 0x7c, 0x6a, 0x95, 0x42, 0xb7, 0xf9, 0x9b, 0x2a, 0xa8, 0xd6, - 0x40, 0x3a, 0xf6, 0x1e, 0xbe, 0x74, 0x0a, 0xee, 0xa9, 0x1b, 0xee, 0x7e, 0x7b, 0x6f, 0x5e, 0xb7, - 0x9a, 0x0b, 0x75, 0xab, 0x6e, 0x75, 0x3e, 0x7d, 0xe2, 0x27, 0xf2, 0x40, 0xfe, 0x62, 0x9f, 0x3f, - 0x33, 0x5e, 0xeb, 0x54, 0xe4, 0xb7, 0xd2, 0xe2, 0x26, 0x4c, 0x30, 0x63, 0x95, 0x7c, 0x7f, 0xa1, - 0xa7, 0x08, 0xb9, 0xef, 0x1d, 0x56, 0xe1, 0x6b, 0x6f, 0x93, 0xed, 0x5a, 0x19, 0x67, 0x50, 0xdc, - 0x47, 0x0f, 0x1a, 0x45, 0x05, 0x6e, 0xf0, 0xf1, 0xd1, 0xa5, 0x89, 0xec, 0x08, 0xc6, 0xef, 0x32, - 0xc6, 0x09, 0x81, 0xb1, 0xc2, 0xa0, 0xc5, 0x65, 0x18, 0x3d, 0x0a, 0xd7, 0x3f, 0x32, 0xae, 0x1c, - 0x12, 0x49, 0x56, 0x61, 0x8c, 0x90, 0xe8, 0x6d, 0xc7, 0xb5, 0x9a, 0xa4, 0xee, 0xf5, 0xa7, 0xf9, - 0xa7, 0xb7, 0xe9, 0x5a, 0xc9, 0x63, 0xd8, 0xb2, 0x87, 0x2a, 0x16, 0x81, 0x7c, 0x72, 0xaa, 0x22, - 0xbd, 0x11, 0xc1, 0xf0, 0x06, 0x73, 0xc4, 0xb3, 0x2f, 0x3e, 0x0e, 0x93, 0xf8, 0x6f, 0x52, 0x96, - 0x44, 0x4f, 0xa2, 0x2f, 0xbc, 0x0a, 0xdf, 0x7f, 0x91, 0x2e, 0xc7, 0x09, 0x8f, 0x40, 0xf0, 0x49, - 0x98, 0xc5, 0x3a, 0x72, 0x5d, 0x64, 0x3b, 0xaa, 0xd6, 0x08, 0x73, 0x4f, 0xb8, 0x31, 0x28, 0x7c, - 0xfe, 0x5d, 0xff, 0x2c, 0xae, 0x52, 0x64, 0xa9, 0xd1, 0x28, 0xee, 0xc2, 0x8d, 0x21, 0x59, 0x31, - 0x00, 0xe7, 0xcb, 0x8c, 0x73, 0xb2, 0x2b, 0x33, 0x30, 0xed, 0x36, 0xf0, 0x76, 0x6f, 0x2e, 0x07, - 0xe0, 0xfc, 0x43, 0xc6, 0x29, 0x33, 0x2c, 0x9f, 0x52, 0xcc, 0xf8, 0x28, 0x8c, 0x5f, 0x46, 0xf6, - 0x9e, 0xe5, 0xb0, 0x5b, 0x9a, 0x01, 0xe8, 0x5e, 0x61, 0x74, 0x63, 0x0c, 0x48, 0xae, 0x6d, 0x30, - 0xd7, 0x83, 0x90, 0xae, 0x69, 0x3a, 0x1a, 0x80, 0xe2, 0x0b, 0x8c, 0x62, 0x04, 0xdb, 0x63, 0x68, - 0x09, 0x72, 0x75, 0x8b, 0xed, 0x4c, 0xd1, 0xf0, 0x57, 0x19, 0x3c, 0xcb, 0x31, 0x8c, 0xa2, 0x65, - 0xb5, 0xda, 0x0d, 0xbc, 0x6d, 0x45, 0x53, 0xfc, 0x11, 0xa7, 0xe0, 0x18, 0x46, 0x71, 0x84, 0xb0, - 0xfe, 0x31, 0xa7, 0x70, 0x84, 0x78, 0x3e, 0x02, 0x59, 0xcb, 0x6c, 0x1c, 0x58, 0xe6, 0x20, 0x4e, - 0xbc, 0xc6, 0x18, 0x80, 0x41, 0x30, 0xc1, 0x79, 0xc8, 0x0c, 0x3a, 0x11, 0x7f, 0xfa, 0x2e, 0x5f, - 0x1e, 0x7c, 0x06, 0x56, 0x61, 0x8c, 0x17, 0x28, 0xc3, 0x32, 0x07, 0xa0, 0xf8, 0x12, 0xa3, 0xc8, - 0x0b, 0x30, 0xf6, 0x1a, 0x2e, 0x72, 0xdc, 0x3a, 0x1a, 0x84, 0xe4, 0x75, 0xfe, 0x1a, 0x0c, 0xc2, - 0x42, 0xb9, 0x87, 0x4c, 0x7d, 0x7f, 0x30, 0x86, 0x2f, 0xf3, 0x50, 0x72, 0x0c, 0xa6, 0x58, 0x86, - 0xd1, 0xa6, 0x66, 0x3b, 0xfb, 0x5a, 0x63, 0xa0, 0xe9, 0xf8, 0x33, 0xc6, 0x91, 0xf3, 0x40, 0x2c, - 0x22, 0x6d, 0xf3, 0x28, 0x34, 0x5f, 0xe1, 0x11, 0x11, 0x60, 0x6c, 0xe9, 0x39, 0x2e, 0xb9, 0xd2, - 0x3a, 0x0a, 0xdb, 0x9f, 0xf3, 0xa5, 0x47, 0xb1, 0x1b, 0x22, 0xe3, 0x79, 0xc8, 0x38, 0xc6, 0x0b, - 0x03, 0xd1, 0xfc, 0x05, 0x9f, 0x69, 0x02, 0xc0, 0xe0, 0xa7, 0xe0, 0xa6, 0xd0, 0x6d, 0x62, 0x00, - 0xb2, 0xbf, 0x64, 0x64, 0xc7, 0x42, 0xb6, 0x0a, 0x56, 0x12, 0x8e, 0x4a, 0xf9, 0x57, 0xbc, 0x24, - 0xa0, 0x00, 0xd7, 0x36, 0x3e, 0x2b, 0x38, 0x5a, 0xed, 0x68, 0x51, 0xfb, 0x6b, 0x1e, 0x35, 0x8a, - 0xf5, 0x45, 0x6d, 0x07, 0x8e, 0x31, 0xc6, 0xa3, 0xcd, 0xeb, 0x57, 0x79, 0x61, 0xa5, 0xe8, 0x5d, - 0xff, 0xec, 0x7e, 0x16, 0xa6, 0xbc, 0x70, 0x72, 0x51, 0xea, 0xa8, 0x4d, 0xad, 0x35, 0x00, 0xf3, - 0xd7, 0x18, 0x33, 0xaf, 0xf8, 0x9e, 0xaa, 0x75, 0x36, 0xb4, 0x16, 0x26, 0x7f, 0x12, 0x0a, 0x9c, - 0xbc, 0x6d, 0xda, 0x48, 0xb7, 0xea, 0xa6, 0xf1, 0x02, 0xaa, 0x0e, 0x40, 0xfd, 0x37, 0x81, 0xa9, - 0xda, 0x15, 0xe0, 0x98, 0x79, 0x0d, 0x24, 0x4f, 0xab, 0xa8, 0x46, 0xb3, 0x65, 0xd9, 0x6e, 0x04, - 0xe3, 0xd7, 0xf9, 0x4c, 0x79, 0xb8, 0x35, 0x02, 0x2b, 0x96, 0x21, 0x4f, 0x1e, 0x07, 0x4d, 0xc9, - 0xbf, 0x65, 0x44, 0xa3, 0x1d, 0x14, 0x2b, 0x1c, 0xba, 0xd5, 0x6c, 0x69, 0xf6, 0x20, 0xf5, 0xef, - 0xef, 0x78, 0xe1, 0x60, 0x10, 0x56, 0x38, 0xdc, 0x83, 0x16, 0xc2, 0xbb, 0xfd, 0x00, 0x0c, 0xdf, - 0xe0, 0x85, 0x83, 0x63, 0x18, 0x05, 0x17, 0x0c, 0x03, 0x50, 0xfc, 0x3d, 0xa7, 0xe0, 0x18, 0x4c, - 0xf1, 0x99, 0xce, 0x46, 0x6b, 0xa3, 0xba, 0xe1, 0xb8, 0x36, 0x95, 0xc2, 0xfd, 0xa9, 0xbe, 0xf9, - 0xae, 0x5f, 0x84, 0x29, 0x02, 0x14, 0x57, 0x22, 0x76, 0x85, 0x4a, 0x4e, 0x4a, 0xd1, 0x8e, 0x7d, - 0x8b, 0x57, 0x22, 0x01, 0x86, 0x7d, 0x13, 0x14, 0x22, 0x0e, 0xbb, 0x8e, 0xcf, 0x07, 0x03, 0xd0, - 0x7d, 0x3b, 0xe0, 0x5c, 0x85, 0x63, 0x31, 0xa7, 0xa0, 0x7f, 0xda, 0xe6, 0x25, 0x74, 0x30, 0x50, - 0x76, 0xfe, 0x43, 0x40, 0xff, 0xec, 0x52, 0x24, 0xad, 0x21, 0x63, 0x01, 0x3d, 0x25, 0x47, 0xfd, - 0x58, 0xa7, 0xf0, 0x4b, 0xd7, 0xd9, 0xfb, 0xfa, 0xe5, 0x54, 0x71, 0x1d, 0x27, 0xb9, 0x5f, 0xf4, - 0x44, 0x93, 0xbd, 0x78, 0xdd, 0xcb, 0x73, 0x9f, 0xe6, 0x29, 0x5e, 0x80, 0x51, 0x9f, 0xe0, 0x89, - 0xa6, 0xfa, 0x65, 0x46, 0x95, 0x13, 0xf5, 0x4e, 0xf1, 0x0c, 0x24, 0xb1, 0x78, 0x89, 0x86, 0xff, - 0x0a, 0x83, 0x13, 0xf3, 0xe2, 0x43, 0x90, 0xe6, 0xa2, 0x25, 0x1a, 0xfa, 0xab, 0x0c, 0xea, 0x41, - 0x30, 0x9c, 0x0b, 0x96, 0x68, 0xf8, 0xaf, 0x71, 0x38, 0x87, 0x60, 0xf8, 0xe0, 0x21, 0xfc, 0xce, - 0xaf, 0x27, 0xd9, 0xa6, 0xc3, 0x63, 0x77, 0x1e, 0x46, 0x98, 0x52, 0x89, 0x46, 0x7f, 0x8e, 0x0d, - 0xce, 0x11, 0xc5, 0x07, 0x20, 0x35, 0x60, 0xc0, 0x7f, 0x83, 0x41, 0xa9, 0x7d, 0x71, 0x19, 0xb2, - 0x82, 0x3a, 0x89, 0x86, 0xff, 0x26, 0x83, 0x8b, 0x28, 0xec, 0x3a, 0x53, 0x27, 0xd1, 0x04, 0xbf, - 0xc5, 0x5d, 0x67, 0x08, 0x1c, 0x36, 0x2e, 0x4c, 0xa2, 0xd1, 0xbf, 0xcd, 0xa3, 0xce, 0x21, 0xc5, - 0x47, 0x20, 0xe3, 0x6d, 0x36, 0xd1, 0xf8, 0xdf, 0x61, 0xf8, 0x0e, 0x06, 0x47, 0x40, 0xd8, 0xec, - 0xa2, 0x29, 0x7e, 0x97, 0x47, 0x40, 0x40, 0xe1, 0x65, 0x14, 0x14, 0x30, 0xd1, 0x4c, 0xbf, 0xc7, - 0x97, 0x51, 0x40, 0xbf, 0xe0, 0xd9, 0x24, 0x35, 0x3f, 0x9a, 0xe2, 0xf7, 0xf9, 0x6c, 0x12, 0x7b, - 0xec, 0x46, 0x50, 0x11, 0x44, 0x73, 0xfc, 0x01, 0x77, 0x23, 0x20, 0x08, 0x8a, 0xdb, 0x20, 0x77, - 0xab, 0x81, 0x68, 0xbe, 0x97, 0x18, 0xdf, 0x78, 0x97, 0x18, 0x28, 0x3e, 0x01, 0xc7, 0xc2, 0x95, - 0x40, 0x34, 0xeb, 0xe7, 0xaf, 0x07, 0xce, 0x6e, 0xa2, 0x10, 0x28, 0xee, 0x74, 0xb6, 0x14, 0x51, - 0x05, 0x44, 0xd3, 0xbe, 0x7c, 0xdd, 0x5f, 0xb8, 0x45, 0x11, 0x50, 0x2c, 0x01, 0x74, 0x36, 0xe0, - 0x68, 0xae, 0x57, 0x18, 0x97, 0x00, 0xc2, 0x4b, 0x83, 0xed, 0xbf, 0xd1, 0xf8, 0x2f, 0xf0, 0xa5, - 0xc1, 0x10, 0x78, 0x69, 0xf0, 0xad, 0x37, 0x1a, 0xfd, 0x2a, 0x5f, 0x1a, 0x1c, 0x82, 0x33, 0x5b, - 0xd8, 0xdd, 0xa2, 0x19, 0x5e, 0xe3, 0x99, 0x2d, 0xa0, 0x8a, 0x9b, 0x30, 0xde, 0xb5, 0x21, 0x46, - 0x53, 0x7d, 0x91, 0x51, 0x49, 0xc1, 0xfd, 0x50, 0xdc, 0xbc, 0xd8, 0x66, 0x18, 0xcd, 0xf6, 0x27, - 0x81, 0xcd, 0x8b, 0xed, 0x85, 0xc5, 0xf3, 0x90, 0x36, 0xdb, 0x8d, 0x06, 0x5e, 0x3c, 0x72, 0xff, - 0x1f, 0xd8, 0x15, 0xfe, 0xed, 0x03, 0x16, 0x1d, 0x0e, 0x28, 0x9e, 0x81, 0x14, 0x6a, 0xee, 0xa1, - 0x6a, 0x14, 0xf2, 0xdf, 0x3f, 0xe0, 0x05, 0x13, 0x5b, 0x17, 0x1f, 0x01, 0xa0, 0x57, 0x23, 0xe4, - 0xb3, 0x5f, 0x04, 0xf6, 0x3f, 0x3e, 0x60, 0x3f, 0x7d, 0xe9, 0x40, 0x3a, 0x04, 0xf4, 0x87, 0x34, - 0xfd, 0x09, 0xde, 0xf5, 0x13, 0x90, 0x19, 0x79, 0x10, 0x46, 0x9e, 0x75, 0x2c, 0xd3, 0xd5, 0xea, - 0x51, 0xe8, 0xff, 0x64, 0x68, 0x6e, 0x8f, 0x03, 0xd6, 0xb4, 0x6c, 0xe4, 0x6a, 0x75, 0x27, 0x0a, - 0xfb, 0x5f, 0x0c, 0xeb, 0x01, 0x30, 0x58, 0xd7, 0x1c, 0x77, 0x90, 0xf7, 0xfe, 0x09, 0x07, 0x73, - 0x00, 0x76, 0x1a, 0xff, 0x7d, 0x09, 0x1d, 0x44, 0x61, 0xdf, 0xe3, 0x4e, 0x33, 0xfb, 0xe2, 0x43, - 0x90, 0xc1, 0x7f, 0xd2, 0xdf, 0xb3, 0x45, 0x80, 0xff, 0x9b, 0x81, 0x3b, 0x08, 0x3c, 0xb2, 0xe3, - 0x56, 0x5d, 0x23, 0x3a, 0xd8, 0xff, 0xc3, 0x66, 0x9a, 0xdb, 0x17, 0x4b, 0x90, 0x75, 0xdc, 0x6a, - 0xb5, 0xcd, 0xf4, 0x69, 0x04, 0xfc, 0x7f, 0x3f, 0xf0, 0xae, 0x2c, 0x3c, 0x0c, 0x9e, 0xed, 0x2b, - 0x97, 0xdc, 0x96, 0x45, 0x3e, 0x73, 0x44, 0x31, 0x5c, 0x67, 0x0c, 0x02, 0x64, 0xa9, 0x1c, 0x7e, - 0x7d, 0x0b, 0xab, 0xd6, 0xaa, 0x45, 0x2f, 0x6e, 0x9f, 0x9e, 0x8d, 0xbe, 0x81, 0x85, 0xff, 0xbb, - 0x07, 0x66, 0x74, 0xab, 0xb9, 0x67, 0x39, 0x0b, 0x26, 0x32, 0xdc, 0x7d, 0x64, 0x2f, 0x34, 0xb5, - 0x96, 0x43, 0x3a, 0x17, 0xd9, 0xd5, 0x6c, 0x96, 0x3d, 0xe1, 0x8e, 0xa9, 0xa3, 0x5d, 0xeb, 0xce, - 0xde, 0x02, 0xa3, 0x17, 0x1a, 0x96, 0xe6, 0x1a, 0x66, 0x7d, 0x1b, 0x7b, 0x2e, 0xe7, 0x20, 0x56, - 0x23, 0x9f, 0x25, 0x63, 0x4a, 0xac, 0x36, 0xfb, 0xcf, 0x29, 0xc8, 0xd0, 0x1b, 0xc1, 0x0d, 0xad, - 0x25, 0xff, 0x22, 0xe4, 0x36, 0xd9, 0x32, 0xbc, 0x6f, 0xf1, 0x9c, 0xe3, 0x7d, 0x81, 0x10, 0xc6, - 0x9f, 0xf7, 0xac, 0xe7, 0x45, 0x53, 0xf2, 0x33, 0x84, 0xa5, 0x7b, 0x7f, 0xf8, 0xe6, 0xcc, 0xdd, - 0x3d, 0xfd, 0xc3, 0xc2, 0x62, 0x81, 0xae, 0x97, 0xf9, 0x5d, 0xc3, 0x74, 0xef, 0x5b, 0x3c, 0xa7, - 0xf8, 0xc6, 0x93, 0x2f, 0x43, 0x9a, 0x75, 0x38, 0xec, 0xcb, 0xd4, 0x6d, 0x3d, 0xc6, 0xe6, 0x66, - 0x74, 0xdc, 0xd3, 0x6f, 0xbc, 0x39, 0x33, 0x74, 0xe4, 0xb1, 0xbd, 0xb1, 0xe4, 0xe7, 0x20, 0xcb, - 0xfd, 0x58, 0xab, 0x3a, 0xec, 0x7f, 0x22, 0xdc, 0x19, 0xf1, 0xda, 0x6b, 0x55, 0x36, 0xfa, 0x1d, - 0x3f, 0x7c, 0x73, 0x66, 0xb6, 0xef, 0xc8, 0xf3, 0xbb, 0x6d, 0xa3, 0xaa, 0x88, 0x63, 0xc8, 0xcf, - 0x40, 0x02, 0x0f, 0x45, 0x7f, 0xbc, 0x39, 0xd3, 0x63, 0x28, 0x6f, 0x88, 0x93, 0xec, 0x05, 0x07, - 0x19, 0x06, 0xf3, 0x4e, 0x3d, 0x02, 0xe3, 0x5d, 0xd3, 0x23, 0x4b, 0x90, 0xb8, 0x84, 0x0e, 0xd8, - 0xaf, 0xe4, 0xf0, 0x9f, 0xf2, 0x64, 0xe7, 0x67, 0xac, 0xb1, 0xb9, 0x1c, 0xfb, 0x6d, 0x6a, 0x31, - 0x7e, 0x2e, 0x36, 0x75, 0x1e, 0x46, 0x7d, 0x31, 0x3e, 0x12, 0xf8, 0x61, 0x90, 0x82, 0x51, 0x3a, - 0x12, 0xfe, 0x2c, 0xa4, 0x3f, 0x0c, 0x6e, 0xf6, 0x07, 0x32, 0x8c, 0x94, 0x1a, 0x8d, 0x0d, 0xad, - 0xe5, 0xc8, 0x4f, 0xc1, 0x38, 0x3d, 0xfe, 0xec, 0x58, 0x2b, 0xe4, 0x5b, 0xe0, 0x86, 0xd6, 0x62, - 0x09, 0x7d, 0xca, 0x17, 0x6e, 0x06, 0x98, 0xef, 0xb2, 0x26, 0xe3, 0x2b, 0xdd, 0x2c, 0xf2, 0xe3, - 0x20, 0xf1, 0x46, 0xb2, 0xb6, 0x30, 0x33, 0x4d, 0xd7, 0x93, 0x7d, 0x99, 0xb9, 0x31, 0x25, 0xee, - 0xe2, 0x90, 0x1f, 0x86, 0xf4, 0x9a, 0xe9, 0xde, 0xbf, 0x88, 0xf9, 0x68, 0x0e, 0xce, 0x86, 0xf2, - 0x71, 0x23, 0xca, 0xe3, 0x61, 0x18, 0xfe, 0xec, 0x69, 0x8c, 0x4f, 0xf6, 0xc7, 0x13, 0xa3, 0x0e, - 0x9e, 0x3c, 0xca, 0x25, 0xc8, 0xe0, 0x39, 0xa7, 0x0e, 0xd0, 0xff, 0x04, 0x73, 0x6b, 0x28, 0x81, - 0x67, 0x45, 0x19, 0x3a, 0x28, 0x4e, 0x41, 0x7d, 0x18, 0x8e, 0xa0, 0x10, 0x9c, 0xe8, 0xa0, 0x30, - 0x45, 0xc5, 0xf3, 0x62, 0xa4, 0x0f, 0x45, 0x25, 0xe0, 0x45, 0x45, 0xf4, 0xa2, 0xe2, 0x79, 0x91, - 0x8e, 0xa0, 0x10, 0xbd, 0xf0, 0x9e, 0xe5, 0x15, 0x80, 0x0b, 0xc6, 0xf3, 0xa8, 0x4a, 0xdd, 0xc8, - 0x84, 0x14, 0x23, 0xce, 0xd1, 0x31, 0xa3, 0x24, 0x02, 0x4e, 0x5e, 0x85, 0x6c, 0xa5, 0xd6, 0xa1, - 0x01, 0xf6, 0x7f, 0x80, 0x42, 0x5d, 0xa9, 0x05, 0x78, 0x44, 0xa4, 0xe7, 0x0e, 0x7d, 0xa5, 0x6c, - 0x94, 0x3b, 0xc2, 0x3b, 0x09, 0xb8, 0x8e, 0x3b, 0x94, 0x26, 0x17, 0xe9, 0x8e, 0xc0, 0x23, 0x22, - 0xe5, 0xf3, 0x30, 0xb2, 0x64, 0x59, 0xd8, 0xb2, 0x30, 0x4a, 0x48, 0x4e, 0x84, 0x92, 0x30, 0x1b, - 0x4a, 0xc0, 0x11, 0x64, 0x76, 0x48, 0xea, 0x63, 0x78, 0xbe, 0xdf, 0xec, 0x70, 0x2b, 0x3e, 0x3b, - 0xfc, 0x59, 0x5c, 0x81, 0x4b, 0x07, 0x2e, 0xc2, 0x47, 0x8d, 0xc2, 0xd8, 0x00, 0x2b, 0x90, 0x1b, - 0x07, 0x56, 0x20, 0x6f, 0x96, 0x2b, 0x30, 0xc6, 0xdb, 0xca, 0x66, 0x1b, 0xd7, 0xe0, 0x82, 0xc4, - 0x7e, 0xe0, 0xdf, 0x8f, 0x96, 0xd9, 0x52, 0xd6, 0x20, 0x83, 0xbc, 0x0d, 0x79, 0xde, 0xb4, 0xe1, - 0x90, 0x97, 0x1e, 0x0f, 0xd9, 0x57, 0x83, 0x9c, 0xd4, 0x94, 0x52, 0x06, 0xf0, 0x53, 0x2b, 0x70, - 0x2c, 0xbc, 0x5a, 0x45, 0x55, 0xcb, 0x98, 0x58, 0x65, 0x97, 0xe1, 0x86, 0xd0, 0xca, 0x14, 0x45, - 0x12, 0x0f, 0xec, 0x13, 0xbe, 0x72, 0x24, 0x82, 0x53, 0x21, 0xe0, 0x54, 0x37, 0xb8, 0x93, 0x64, - 0x22, 0x38, 0x11, 0x02, 0x4e, 0x88, 0xe0, 0x4f, 0x43, 0xde, 0x5f, 0x87, 0x44, 0xf4, 0x68, 0x08, - 0x7a, 0x34, 0x04, 0x1d, 0x3e, 0x76, 0x32, 0x04, 0x9d, 0x0c, 0xa0, 0x2b, 0x3d, 0xc7, 0x1e, 0x0f, - 0x41, 0x8f, 0x87, 0xa0, 0xc3, 0xc7, 0x96, 0x43, 0xd0, 0xb2, 0x88, 0x7e, 0x08, 0xc6, 0x02, 0x25, - 0x47, 0x84, 0x8f, 0x84, 0xc0, 0x47, 0x02, 0x7b, 0x73, 0xb0, 0xd4, 0x88, 0xf8, 0xb1, 0x10, 0xfc, - 0x58, 0xd8, 0xf0, 0xe1, 0xde, 0x0f, 0x87, 0xc0, 0x87, 0x43, 0x87, 0x0f, 0xc7, 0x4b, 0x21, 0x78, - 0x49, 0xc4, 0x17, 0x21, 0x27, 0x56, 0x15, 0x11, 0x9b, 0x0e, 0xc1, 0xa6, 0x83, 0x71, 0xf7, 0x95, - 0x94, 0xa8, 0x4c, 0xcf, 0xf4, 0x58, 0x2e, 0xbe, 0x32, 0x72, 0x24, 0x65, 0xf3, 0x24, 0x4c, 0x86, - 0x15, 0x8d, 0x10, 0x8e, 0x93, 0x22, 0x47, 0x7e, 0x71, 0xd2, 0x57, 0x2c, 0x08, 0xae, 0xdd, 0x14, - 0x99, 0x9f, 0x81, 0x89, 0x90, 0xd2, 0x11, 0x42, 0x7c, 0xaf, 0x48, 0x9c, 0x5d, 0x9c, 0xf2, 0x11, - 0xfb, 0xce, 0x0a, 0xa2, 0xb4, 0xfa, 0xd1, 0x04, 0xe4, 0x59, 0x89, 0xda, 0xb2, 0xab, 0xc8, 0x46, - 0x55, 0xf9, 0xe7, 0x7b, 0x2b, 0xac, 0xc5, 0xb0, 0xd2, 0xc6, 0x70, 0x47, 0x10, 0x5a, 0xcf, 0xf4, - 0x14, 0x5a, 0xf7, 0x0d, 0x32, 0x40, 0x94, 0xde, 0x2a, 0x77, 0xe9, 0xad, 0xbb, 0xfa, 0xd1, 0xf6, - 0x92, 0x5d, 0xe5, 0x2e, 0xd9, 0x15, 0x45, 0x13, 0xaa, 0xbe, 0x2e, 0x76, 0xab, 0xaf, 0x93, 0xfd, - 0x78, 0x7a, 0x8b, 0xb0, 0x8b, 0xdd, 0x22, 0x2c, 0x92, 0x29, 0x5c, 0x8b, 0x5d, 0xec, 0xd6, 0x62, - 0x7d, 0x99, 0x7a, 0x4b, 0xb2, 0x8b, 0xdd, 0x92, 0x2c, 0x92, 0x29, 0x5c, 0x99, 0x3d, 0x16, 0xa2, - 0xcc, 0x4e, 0xf5, 0xa3, 0xea, 0x27, 0xd0, 0x36, 0xc3, 0x04, 0xda, 0xdd, 0x7d, 0x1d, 0xeb, 0xab, - 0xd3, 0x1e, 0x0b, 0xd1, 0x69, 0xd1, 0xce, 0xf5, 0x90, 0x6b, 0x9b, 0x61, 0x72, 0x6d, 0x00, 0xe7, - 0x7a, 0xa9, 0xb6, 0xa5, 0xa0, 0x6a, 0x9b, 0xeb, 0xc7, 0x15, 0x2e, 0xde, 0x2e, 0x76, 0x8b, 0xb7, - 0x93, 0xd1, 0x6b, 0x31, 0x4c, 0xc3, 0x3d, 0xd3, 0x53, 0xc3, 0x0d, 0xb4, 0xb8, 0xa3, 0xa4, 0xdc, - 0xd3, 0xbd, 0xa4, 0xdc, 0xbd, 0x83, 0xb0, 0xf7, 0x57, 0x74, 0x4f, 0xf4, 0x50, 0x74, 0x0b, 0x83, - 0x50, 0x7f, 0x22, 0xec, 0x3e, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0x4f, 0x84, 0xdd, 0xcf, 0x86, 0xb0, - 0x2b, 0x26, 0x5f, 0x7a, 0x6d, 0x26, 0x76, 0xf2, 0x04, 0x8c, 0xb0, 0xa1, 0xe5, 0x61, 0x88, 0x6f, - 0x94, 0xa4, 0x21, 0xf2, 0xef, 0x92, 0x14, 0x23, 0xff, 0x2e, 0x4b, 0xf1, 0xa5, 0xf5, 0x37, 0xae, - 0x4d, 0x0f, 0x7d, 0xef, 0xda, 0xf4, 0xd0, 0x0f, 0xae, 0x4d, 0x0f, 0xbd, 0x75, 0x6d, 0x3a, 0xf6, - 0xce, 0xb5, 0xe9, 0xd8, 0x7b, 0xd7, 0xa6, 0x63, 0xef, 0x5f, 0x9b, 0x8e, 0x5d, 0x3d, 0x9c, 0x8e, - 0x7d, 0xf9, 0x70, 0x3a, 0xf6, 0xd5, 0xc3, 0xe9, 0xd8, 0x37, 0x0f, 0xa7, 0x63, 0xdf, 0x39, 0x9c, - 0x8e, 0xbd, 0x71, 0x38, 0x3d, 0xf4, 0xbd, 0xc3, 0xe9, 0xa1, 0xb7, 0x0e, 0xa7, 0x63, 0xef, 0x1c, - 0x4e, 0x0f, 0xbd, 0x77, 0x38, 0x1d, 0x7b, 0xff, 0x70, 0x7a, 0xe8, 0xea, 0x8f, 0xa7, 0x87, 0xfe, - 0x3f, 0x00, 0x00, 0xff, 0xff, 0x76, 0x17, 0x54, 0xda, 0x93, 0x49, 0x00, 0x00, + 0x79, 0x16, 0x6f, 0x12, 0xf9, 0x93, 0xa2, 0x46, 0x23, 0x79, 0x4d, 0x2b, 0xb1, 0x76, 0x57, 0xbe, + 0xc9, 0xbb, 0xb6, 0x64, 0xcb, 0xbb, 0xeb, 0x35, 0x37, 0xb6, 0x4b, 0x49, 0x5c, 0xad, 0x6c, 0xdd, + 0x32, 0x94, 0x7c, 0x0b, 0x8c, 0xe9, 0x68, 0x78, 0x44, 0x8d, 0x97, 0x9c, 0x19, 0xcf, 0x0c, 0x77, + 0x2d, 0xa3, 0x28, 0xb6, 0x70, 0x2f, 0x08, 0x7a, 0xbf, 0x00, 0x75, 0x5c, 0xc7, 0xad, 0x53, 0x34, + 0x4e, 0xd3, 0x5b, 0xd2, 0x4b, 0x9a, 0xa4, 0x2f, 0x79, 0x49, 0x6b, 0xa0, 0x40, 0x91, 0xbc, 0x05, + 0x41, 0x60, 0x78, 0x15, 0x03, 0x75, 0x5b, 0xb7, 0x75, 0x5b, 0x17, 0x30, 0xe0, 0x97, 0xe2, 0xdc, + 0x86, 0x67, 0x86, 0x43, 0x0e, 0x65, 0xc0, 0x4e, 0x1f, 0xfc, 0xb4, 0x9a, 0x73, 0xfe, 0xef, 0x3b, + 0xff, 0xfc, 0xe7, 0x3f, 0xff, 0xf9, 0xce, 0x19, 0x2e, 0xbc, 0x5e, 0x86, 0x13, 0x0d, 0xcb, 0x6a, + 0x34, 0xd1, 0xbc, 0xed, 0x58, 0x9e, 0xb5, 0xdb, 0xde, 0x9b, 0xaf, 0x23, 0x57, 0x77, 0x0c, 0xdb, + 0xb3, 0x9c, 0x39, 0xd2, 0x26, 0x8f, 0x51, 0x8b, 0x39, 0x6e, 0x31, 0xb3, 0x0e, 0xe3, 0x17, 0x8d, + 0x26, 0x5a, 0xf6, 0x0d, 0x6b, 0xc8, 0x93, 0xcf, 0x43, 0x7a, 0xcf, 0x68, 0xa2, 0x52, 0xe2, 0x44, + 0x6a, 0x36, 0xbf, 0x70, 0xeb, 0x5c, 0x08, 0x34, 0x17, 0x44, 0x6c, 0xe1, 0x66, 0x85, 0x20, 0x66, + 0xde, 0x4a, 0xc3, 0x44, 0x44, 0xaf, 0x2c, 0x43, 0xda, 0xd4, 0x5a, 0x98, 0x31, 0x31, 0x9b, 0x53, + 0xc8, 0xdf, 0x72, 0x09, 0x46, 0x6c, 0x4d, 0xbf, 0xac, 0x35, 0x50, 0x29, 0x49, 0x9a, 0xf9, 0xa3, + 0x3c, 0x0d, 0x50, 0x47, 0x36, 0x32, 0xeb, 0xc8, 0xd4, 0x0f, 0x4a, 0xa9, 0x13, 0xa9, 0xd9, 0x9c, + 0x22, 0xb4, 0xc8, 0xa7, 0x61, 0xdc, 0x6e, 0xef, 0x36, 0x0d, 0x5d, 0x15, 0xcc, 0xe0, 0x44, 0x6a, + 0x36, 0xa3, 0x48, 0xb4, 0x63, 0xb9, 0x63, 0x7c, 0x07, 0x8c, 0x5d, 0x45, 0xda, 0x65, 0xd1, 0x34, + 0x4f, 0x4c, 0x8b, 0xb8, 0x59, 0x30, 0x5c, 0x82, 0x42, 0x0b, 0xb9, 0xae, 0xd6, 0x40, 0xaa, 0x77, + 0x60, 0xa3, 0x52, 0x9a, 0xbc, 0xfd, 0x89, 0xae, 0xb7, 0x0f, 0xbf, 0x79, 0x9e, 0xa1, 0xb6, 0x0f, + 0x6c, 0x24, 0x57, 0x20, 0x87, 0xcc, 0x76, 0x8b, 0x32, 0x64, 0x7a, 0xc4, 0xaf, 0x6a, 0xb6, 0x5b, + 0x61, 0x96, 0x2c, 0x86, 0x31, 0x8a, 0x11, 0x17, 0x39, 0x57, 0x0c, 0x1d, 0x95, 0x86, 0x09, 0xc1, + 0x1d, 0x5d, 0x04, 0x35, 0xda, 0x1f, 0xe6, 0xe0, 0x38, 0x79, 0x09, 0x72, 0xe8, 0x39, 0x0f, 0x99, + 0xae, 0x61, 0x99, 0xa5, 0x11, 0x42, 0x72, 0x5b, 0xc4, 0x2c, 0xa2, 0x66, 0x3d, 0x4c, 0xd1, 0xc1, + 0xc9, 0xe7, 0x60, 0xc4, 0xb2, 0x3d, 0xc3, 0x32, 0xdd, 0x52, 0xf6, 0x44, 0x62, 0x36, 0xbf, 0xf0, + 0xe9, 0xc8, 0x44, 0xd8, 0xa4, 0x36, 0x0a, 0x37, 0x96, 0x57, 0x41, 0x72, 0xad, 0xb6, 0xa3, 0x23, + 0x55, 0xb7, 0xea, 0x48, 0x35, 0xcc, 0x3d, 0xab, 0x94, 0x23, 0x04, 0xc7, 0xbb, 0x5f, 0x84, 0x18, + 0x2e, 0x59, 0x75, 0xb4, 0x6a, 0xee, 0x59, 0x4a, 0xd1, 0x0d, 0x3c, 0xcb, 0xc7, 0x60, 0xd8, 0x3d, + 0x30, 0x3d, 0xed, 0xb9, 0x52, 0x81, 0x64, 0x08, 0x7b, 0x9a, 0xf9, 0xd6, 0x30, 0x8c, 0x0d, 0x92, + 0x62, 0x17, 0x20, 0xb3, 0x87, 0xdf, 0xb2, 0x94, 0x3c, 0x4a, 0x0c, 0x28, 0x26, 0x18, 0xc4, 0xe1, + 0x0f, 0x19, 0xc4, 0x0a, 0xe4, 0x4d, 0xe4, 0x7a, 0xa8, 0x4e, 0x33, 0x22, 0x35, 0x60, 0x4e, 0x01, + 0x05, 0x75, 0xa7, 0x54, 0xfa, 0x43, 0xa5, 0xd4, 0x13, 0x30, 0xe6, 0xbb, 0xa4, 0x3a, 0x9a, 0xd9, + 0xe0, 0xb9, 0x39, 0x1f, 0xe7, 0xc9, 0x5c, 0x95, 0xe3, 0x14, 0x0c, 0x53, 0x8a, 0x28, 0xf0, 0x2c, + 0x2f, 0x03, 0x58, 0x26, 0xb2, 0xf6, 0xd4, 0x3a, 0xd2, 0x9b, 0xa5, 0x6c, 0x8f, 0x28, 0x6d, 0x62, + 0x93, 0xae, 0x28, 0x59, 0xb4, 0x55, 0x6f, 0xca, 0x0f, 0x74, 0x52, 0x6d, 0xa4, 0x47, 0xa6, 0xac, + 0xd3, 0x45, 0xd6, 0x95, 0x6d, 0x3b, 0x50, 0x74, 0x10, 0xce, 0x7b, 0x54, 0x67, 0x6f, 0x96, 0x23, + 0x4e, 0xcc, 0xc5, 0xbe, 0x99, 0xc2, 0x60, 0xf4, 0xc5, 0x46, 0x1d, 0xf1, 0x51, 0xbe, 0x05, 0xfc, + 0x06, 0x95, 0xa4, 0x15, 0x90, 0x2a, 0x54, 0xe0, 0x8d, 0x1b, 0x5a, 0x0b, 0x4d, 0x3d, 0x0f, 0xc5, + 0x60, 0x78, 0xe4, 0x49, 0xc8, 0xb8, 0x9e, 0xe6, 0x78, 0x24, 0x0b, 0x33, 0x0a, 0x7d, 0x90, 0x25, + 0x48, 0x21, 0xb3, 0x4e, 0xaa, 0x5c, 0x46, 0xc1, 0x7f, 0xca, 0x3f, 0xd5, 0x79, 0xe1, 0x14, 0x79, + 0xe1, 0xdb, 0xbb, 0x67, 0x34, 0xc0, 0x1c, 0x7e, 0xef, 0xa9, 0xfb, 0x61, 0x34, 0xf0, 0x02, 0x83, + 0x0e, 0x3d, 0xf3, 0x33, 0x70, 0x43, 0x24, 0xb5, 0xfc, 0x04, 0x4c, 0xb6, 0x4d, 0xc3, 0xf4, 0x90, + 0x63, 0x3b, 0x08, 0x67, 0x2c, 0x1d, 0xaa, 0xf4, 0xcf, 0x23, 0x3d, 0x72, 0x6e, 0x47, 0xb4, 0xa6, + 0x2c, 0xca, 0x44, 0xbb, 0xbb, 0xf1, 0x54, 0x2e, 0xfb, 0xf6, 0x88, 0x74, 0xed, 0xda, 0xb5, 0x6b, + 0xc9, 0x99, 0x17, 0x87, 0x61, 0x32, 0x6a, 0xcd, 0x44, 0x2e, 0xdf, 0x63, 0x30, 0x6c, 0xb6, 0x5b, + 0xbb, 0xc8, 0x21, 0x41, 0xca, 0x28, 0xec, 0x49, 0xae, 0x40, 0xa6, 0xa9, 0xed, 0xa2, 0x66, 0x29, + 0x7d, 0x22, 0x31, 0x5b, 0x5c, 0x38, 0x3d, 0xd0, 0xaa, 0x9c, 0x5b, 0xc3, 0x10, 0x85, 0x22, 0xe5, + 0x87, 0x20, 0xcd, 0x4a, 0x34, 0x66, 0x38, 0x35, 0x18, 0x03, 0x5e, 0x4b, 0x0a, 0xc1, 0xc9, 0x9f, + 0x82, 0x1c, 0xfe, 0x97, 0xe6, 0xc6, 0x30, 0xf1, 0x39, 0x8b, 0x1b, 0x70, 0x5e, 0xc8, 0x53, 0x90, + 0x25, 0xcb, 0xa4, 0x8e, 0xf8, 0xd6, 0xe6, 0x3f, 0xe3, 0xc4, 0xaa, 0xa3, 0x3d, 0xad, 0xdd, 0xf4, + 0xd4, 0x2b, 0x5a, 0xb3, 0x8d, 0x48, 0xc2, 0xe7, 0x94, 0x02, 0x6b, 0x7c, 0x0c, 0xb7, 0xc9, 0xc7, + 0x21, 0x4f, 0x57, 0x95, 0x61, 0xd6, 0xd1, 0x73, 0xa4, 0x7a, 0x66, 0x14, 0xba, 0xd0, 0x56, 0x71, + 0x0b, 0x1e, 0xfe, 0x19, 0xd7, 0x32, 0x79, 0x6a, 0x92, 0x21, 0x70, 0x03, 0x19, 0xfe, 0xfe, 0x70, + 0xe1, 0xbe, 0x39, 0xfa, 0xf5, 0xc2, 0x39, 0x35, 0xf3, 0x8d, 0x24, 0xa4, 0x49, 0xbd, 0x18, 0x83, + 0xfc, 0xf6, 0x93, 0x5b, 0x55, 0x75, 0x79, 0x73, 0x67, 0x71, 0xad, 0x2a, 0x25, 0xe4, 0x22, 0x00, + 0x69, 0xb8, 0xb8, 0xb6, 0x59, 0xd9, 0x96, 0x92, 0xfe, 0xf3, 0xea, 0xc6, 0xf6, 0xb9, 0x33, 0x52, + 0xca, 0x07, 0xec, 0xd0, 0x86, 0xb4, 0x68, 0x70, 0xdf, 0x82, 0x94, 0x91, 0x25, 0x28, 0x50, 0x82, + 0xd5, 0x27, 0xaa, 0xcb, 0xe7, 0xce, 0x48, 0xc3, 0xc1, 0x96, 0xfb, 0x16, 0xa4, 0x11, 0x79, 0x14, + 0x72, 0xa4, 0x65, 0x71, 0x73, 0x73, 0x4d, 0xca, 0xfa, 0x9c, 0xb5, 0x6d, 0x65, 0x75, 0x63, 0x45, + 0xca, 0xf9, 0x9c, 0x2b, 0xca, 0xe6, 0xce, 0x96, 0x04, 0x3e, 0xc3, 0x7a, 0xb5, 0x56, 0xab, 0xac, + 0x54, 0xa5, 0xbc, 0x6f, 0xb1, 0xf8, 0xe4, 0x76, 0xb5, 0x26, 0x15, 0x02, 0x6e, 0xdd, 0xb7, 0x20, + 0x8d, 0xfa, 0x43, 0x54, 0x37, 0x76, 0xd6, 0xa5, 0xa2, 0x3c, 0x0e, 0xa3, 0x74, 0x08, 0xee, 0xc4, + 0x58, 0xa8, 0xe9, 0xdc, 0x19, 0x49, 0xea, 0x38, 0x42, 0x59, 0xc6, 0x03, 0x0d, 0xe7, 0xce, 0x48, + 0xf2, 0xcc, 0x12, 0x64, 0x48, 0x76, 0xc9, 0x32, 0x14, 0xd7, 0x2a, 0x8b, 0xd5, 0x35, 0x75, 0x73, + 0x6b, 0x7b, 0x75, 0x73, 0xa3, 0xb2, 0x26, 0x25, 0x3a, 0x6d, 0x4a, 0xf5, 0xb3, 0x3b, 0xab, 0x4a, + 0x75, 0x59, 0x4a, 0x8a, 0x6d, 0x5b, 0xd5, 0xca, 0x76, 0x75, 0x59, 0x4a, 0xcd, 0xe8, 0x30, 0x19, + 0x55, 0x27, 0x23, 0x57, 0x86, 0x30, 0xc5, 0xc9, 0x1e, 0x53, 0x4c, 0xb8, 0xba, 0xa6, 0xf8, 0xc7, + 0x49, 0x98, 0x88, 0xd8, 0x2b, 0x22, 0x07, 0x79, 0x18, 0x32, 0x34, 0x45, 0xe9, 0xee, 0x79, 0x67, + 0xe4, 0xa6, 0x43, 0x12, 0xb6, 0x6b, 0x07, 0x25, 0x38, 0x51, 0x41, 0xa4, 0x7a, 0x28, 0x08, 0x4c, + 0xd1, 0x55, 0xd3, 0x9f, 0xee, 0xaa, 0xe9, 0x74, 0xdb, 0x3b, 0x37, 0xc8, 0xb6, 0x47, 0xda, 0x8e, + 0x56, 0xdb, 0x33, 0x11, 0xb5, 0xfd, 0x02, 0x8c, 0x77, 0x11, 0x0d, 0x5c, 0x63, 0x5f, 0x48, 0x40, + 0xa9, 0x57, 0x70, 0x62, 0x2a, 0x5d, 0x32, 0x50, 0xe9, 0x2e, 0x84, 0x23, 0x78, 0xb2, 0xf7, 0x24, + 0x74, 0xcd, 0xf5, 0x6b, 0x09, 0x38, 0x16, 0xad, 0x14, 0x23, 0x7d, 0x78, 0x08, 0x86, 0x5b, 0xc8, + 0xdb, 0xb7, 0xb8, 0x5a, 0xba, 0x3d, 0x62, 0x0f, 0xc6, 0xdd, 0xe1, 0xc9, 0x66, 0x28, 0x71, 0x13, + 0x4f, 0xf5, 0x92, 0x7b, 0xd4, 0x9b, 0x2e, 0x4f, 0x3f, 0x9f, 0x84, 0x1b, 0x22, 0xc9, 0x23, 0x1d, + 0xbd, 0x19, 0xc0, 0x30, 0xed, 0xb6, 0x47, 0x15, 0x11, 0x2d, 0xb0, 0x39, 0xd2, 0x42, 0x8a, 0x17, + 0x2e, 0x9e, 0x6d, 0xcf, 0xef, 0x4f, 0x91, 0x7e, 0xa0, 0x4d, 0xc4, 0xe0, 0x7c, 0xc7, 0xd1, 0x34, + 0x71, 0x74, 0xba, 0xc7, 0x9b, 0x76, 0x25, 0xe6, 0x3d, 0x20, 0xe9, 0x4d, 0x03, 0x99, 0x9e, 0xea, + 0x7a, 0x0e, 0xd2, 0x5a, 0x86, 0xd9, 0x20, 0x3b, 0x48, 0xb6, 0x9c, 0xd9, 0xd3, 0x9a, 0x2e, 0x52, + 0xc6, 0x68, 0x77, 0x8d, 0xf7, 0x62, 0x04, 0x49, 0x20, 0x47, 0x40, 0x0c, 0x07, 0x10, 0xb4, 0xdb, + 0x47, 0xcc, 0xfc, 0x4a, 0x0e, 0xf2, 0x82, 0xae, 0x96, 0x4f, 0x42, 0xe1, 0x19, 0xed, 0x8a, 0xa6, + 0xf2, 0xb3, 0x12, 0x8d, 0x44, 0x1e, 0xb7, 0x6d, 0xb1, 0xf3, 0xd2, 0x3d, 0x30, 0x49, 0x4c, 0xac, + 0xb6, 0x87, 0x1c, 0x55, 0x6f, 0x6a, 0xae, 0x4b, 0x82, 0x96, 0x25, 0xa6, 0x32, 0xee, 0xdb, 0xc4, + 0x5d, 0x4b, 0xbc, 0x47, 0x3e, 0x0b, 0x13, 0x04, 0xd1, 0x6a, 0x37, 0x3d, 0xc3, 0x6e, 0x22, 0x15, + 0x9f, 0xde, 0x5c, 0xb2, 0x93, 0xf8, 0x9e, 0x8d, 0x63, 0x8b, 0x75, 0x66, 0x80, 0x3d, 0x72, 0xe5, + 0x65, 0xb8, 0x99, 0xc0, 0x1a, 0xc8, 0x44, 0x8e, 0xe6, 0x21, 0x15, 0x3d, 0xdb, 0xd6, 0x9a, 0xae, + 0xaa, 0x99, 0x75, 0x75, 0x5f, 0x73, 0xf7, 0x4b, 0x93, 0x98, 0x60, 0x31, 0x59, 0x4a, 0x28, 0x37, + 0x61, 0xc3, 0x15, 0x66, 0x57, 0x25, 0x66, 0x15, 0xb3, 0x7e, 0x49, 0x73, 0xf7, 0xe5, 0x32, 0x1c, + 0x23, 0x2c, 0xae, 0xe7, 0x18, 0x66, 0x43, 0xd5, 0xf7, 0x91, 0x7e, 0x59, 0x6d, 0x7b, 0x7b, 0xe7, + 0x4b, 0x9f, 0x12, 0xc7, 0x27, 0x1e, 0xd6, 0x88, 0xcd, 0x12, 0x36, 0xd9, 0xf1, 0xf6, 0xce, 0xcb, + 0x35, 0x28, 0xe0, 0xc9, 0x68, 0x19, 0xcf, 0x23, 0x75, 0xcf, 0x72, 0xc8, 0xd6, 0x58, 0x8c, 0x28, + 0x4d, 0x42, 0x04, 0xe7, 0x36, 0x19, 0x60, 0xdd, 0xaa, 0xa3, 0x72, 0xa6, 0xb6, 0x55, 0xad, 0x2e, + 0x2b, 0x79, 0xce, 0x72, 0xd1, 0x72, 0x70, 0x42, 0x35, 0x2c, 0x3f, 0xc0, 0x79, 0x9a, 0x50, 0x0d, + 0x8b, 0x87, 0xf7, 0x2c, 0x4c, 0xe8, 0x3a, 0x7d, 0x67, 0x43, 0x57, 0xd9, 0x19, 0xcb, 0x2d, 0x49, + 0x81, 0x60, 0xe9, 0xfa, 0x0a, 0x35, 0x60, 0x39, 0xee, 0xca, 0x0f, 0xc0, 0x0d, 0x9d, 0x60, 0x89, + 0xc0, 0xf1, 0xae, 0xb7, 0x0c, 0x43, 0xcf, 0xc2, 0x84, 0x7d, 0xd0, 0x0d, 0x94, 0x03, 0x23, 0xda, + 0x07, 0x61, 0xd8, 0xfd, 0x30, 0x69, 0xef, 0xdb, 0xdd, 0xb8, 0x53, 0x22, 0x4e, 0xb6, 0xf7, 0xed, + 0x30, 0xf0, 0x36, 0x72, 0xe0, 0x76, 0x90, 0xae, 0x79, 0xa8, 0x5e, 0xba, 0x51, 0x34, 0x17, 0x3a, + 0xe4, 0x79, 0x90, 0x74, 0x5d, 0x45, 0xa6, 0xb6, 0xdb, 0x44, 0xaa, 0xe6, 0x20, 0x53, 0x73, 0x4b, + 0xc7, 0x45, 0xe3, 0xa2, 0xae, 0x57, 0x49, 0x6f, 0x85, 0x74, 0xca, 0xa7, 0x60, 0xdc, 0xda, 0x7d, + 0x46, 0xa7, 0x29, 0xa9, 0xda, 0x0e, 0xda, 0x33, 0x9e, 0x2b, 0xdd, 0x4a, 0xe2, 0x3b, 0x86, 0x3b, + 0x48, 0x42, 0x6e, 0x91, 0x66, 0xf9, 0x4e, 0x90, 0x74, 0x77, 0x5f, 0x73, 0x6c, 0x52, 0x93, 0x5d, + 0x5b, 0xd3, 0x51, 0xe9, 0x36, 0x6a, 0x4a, 0xdb, 0x37, 0x78, 0x33, 0x5e, 0x12, 0xee, 0x55, 0x63, + 0xcf, 0xe3, 0x8c, 0x77, 0xd0, 0x25, 0x41, 0xda, 0x18, 0xdb, 0x2c, 0x48, 0x38, 0x14, 0x81, 0x81, + 0x67, 0x89, 0x59, 0xd1, 0xde, 0xb7, 0xc5, 0x71, 0x6f, 0x81, 0x51, 0x6c, 0xd9, 0x19, 0xf4, 0x4e, + 0x2a, 0xc8, 0xec, 0x7d, 0x61, 0xc4, 0x33, 0x70, 0x0c, 0x1b, 0xb5, 0x90, 0xa7, 0xd5, 0x35, 0x4f, + 0x13, 0xac, 0xef, 0x22, 0xd6, 0x38, 0xee, 0xeb, 0xac, 0x33, 0xe0, 0xa7, 0xd3, 0xde, 0x3d, 0xf0, + 0x33, 0xeb, 0x6e, 0xea, 0x27, 0x6e, 0xe3, 0xb9, 0xf5, 0x91, 0x89, 0xee, 0x99, 0x32, 0x14, 0xc4, + 0xc4, 0x97, 0x73, 0x40, 0x53, 0x5f, 0x4a, 0x60, 0x15, 0xb4, 0xb4, 0xb9, 0x8c, 0xf5, 0xcb, 0x53, + 0x55, 0x29, 0x89, 0x75, 0xd4, 0xda, 0xea, 0x76, 0x55, 0x55, 0x76, 0x36, 0xb6, 0x57, 0xd7, 0xab, + 0x52, 0x4a, 0x14, 0xec, 0xdf, 0x4d, 0x42, 0x31, 0x78, 0xf6, 0x92, 0x3f, 0x03, 0x37, 0xf2, 0x8b, + 0x12, 0x17, 0x79, 0xea, 0x55, 0xc3, 0x21, 0x6b, 0xb1, 0xa5, 0xd1, 0x7d, 0xd1, 0xcf, 0x86, 0x49, + 0x66, 0x55, 0x43, 0xde, 0xe3, 0x86, 0x83, 0x57, 0x5a, 0x4b, 0xf3, 0xe4, 0x35, 0x38, 0x6e, 0x5a, + 0xaa, 0xeb, 0x69, 0x66, 0x5d, 0x73, 0xea, 0x6a, 0xe7, 0x8a, 0x4a, 0xd5, 0x74, 0x1d, 0xb9, 0xae, + 0x45, 0xf7, 0x40, 0x9f, 0xe5, 0xd3, 0xa6, 0x55, 0x63, 0xc6, 0x9d, 0xcd, 0xa1, 0xc2, 0x4c, 0x43, + 0x99, 0x9b, 0xea, 0x95, 0xb9, 0x9f, 0x82, 0x5c, 0x4b, 0xb3, 0x55, 0x64, 0x7a, 0xce, 0x01, 0x51, + 0xdc, 0x59, 0x25, 0xdb, 0xd2, 0xec, 0x2a, 0x7e, 0xfe, 0x78, 0x0e, 0x3e, 0x3f, 0x4a, 0x41, 0x41, + 0x54, 0xdd, 0xf8, 0x10, 0xa3, 0x93, 0x0d, 0x2a, 0x41, 0x4a, 0xd8, 0x2d, 0x7d, 0x35, 0xfa, 0xdc, + 0x12, 0xde, 0xb9, 0xca, 0xc3, 0x54, 0x0b, 0x2b, 0x14, 0x89, 0x55, 0x03, 0x4e, 0x2d, 0x44, 0xb5, + 0x47, 0x56, 0x61, 0x4f, 0xf2, 0x0a, 0x0c, 0x3f, 0xe3, 0x12, 0xee, 0x61, 0xc2, 0x7d, 0x6b, 0x7f, + 0xee, 0x47, 0x6a, 0x84, 0x3c, 0xf7, 0x48, 0x4d, 0xdd, 0xd8, 0x54, 0xd6, 0x2b, 0x6b, 0x0a, 0x83, + 0xcb, 0x37, 0x41, 0xba, 0xa9, 0x3d, 0x7f, 0x10, 0xdc, 0xe3, 0x48, 0xd3, 0xa0, 0x81, 0xbf, 0x09, + 0xd2, 0x57, 0x91, 0x76, 0x39, 0xb8, 0xb3, 0x90, 0xa6, 0x8f, 0x30, 0xf5, 0xe7, 0x21, 0x43, 0xe2, + 0x25, 0x03, 0xb0, 0x88, 0x49, 0x43, 0x72, 0x16, 0xd2, 0x4b, 0x9b, 0x0a, 0x4e, 0x7f, 0x09, 0x0a, + 0xb4, 0x55, 0xdd, 0x5a, 0xad, 0x2e, 0x55, 0xa5, 0xe4, 0xcc, 0x59, 0x18, 0xa6, 0x41, 0xc0, 0x4b, + 0xc3, 0x0f, 0x83, 0x34, 0xc4, 0x1e, 0x19, 0x47, 0x82, 0xf7, 0xee, 0xac, 0x2f, 0x56, 0x15, 0x29, + 0x29, 0x4e, 0xaf, 0x0b, 0x05, 0x51, 0x70, 0x7f, 0x3c, 0x39, 0xf5, 0xed, 0x04, 0xe4, 0x05, 0x01, + 0x8d, 0x95, 0x8f, 0xd6, 0x6c, 0x5a, 0x57, 0x55, 0xad, 0x69, 0x68, 0x2e, 0x4b, 0x0a, 0x20, 0x4d, + 0x15, 0xdc, 0x32, 0xe8, 0xa4, 0x7d, 0x2c, 0xce, 0xbf, 0x92, 0x00, 0x29, 0xac, 0x5d, 0x43, 0x0e, + 0x26, 0x7e, 0xa2, 0x0e, 0xbe, 0x9c, 0x80, 0x62, 0x50, 0xb0, 0x86, 0xdc, 0x3b, 0xf9, 0x13, 0x75, + 0xef, 0xcd, 0x24, 0x8c, 0x06, 0x64, 0xea, 0xa0, 0xde, 0x3d, 0x0b, 0xe3, 0x46, 0x1d, 0xb5, 0x6c, + 0xcb, 0x43, 0xa6, 0x7e, 0xa0, 0x36, 0xd1, 0x15, 0xd4, 0x2c, 0xcd, 0x90, 0x42, 0x31, 0xdf, 0x5f, + 0x08, 0xcf, 0xad, 0x76, 0x70, 0x6b, 0x18, 0x56, 0x9e, 0x58, 0x5d, 0xae, 0xae, 0x6f, 0x6d, 0x6e, + 0x57, 0x37, 0x96, 0x9e, 0x54, 0x77, 0x36, 0x1e, 0xdd, 0xd8, 0x7c, 0x7c, 0x43, 0x91, 0x8c, 0x90, + 0xd9, 0x47, 0xb8, 0xd4, 0xb7, 0x40, 0x0a, 0x3b, 0x25, 0xdf, 0x08, 0x51, 0x6e, 0x49, 0x43, 0xf2, + 0x04, 0x8c, 0x6d, 0x6c, 0xaa, 0xb5, 0xd5, 0xe5, 0xaa, 0x5a, 0xbd, 0x78, 0xb1, 0xba, 0xb4, 0x5d, + 0xa3, 0x57, 0x1b, 0xbe, 0xf5, 0x76, 0x70, 0x51, 0xbf, 0x94, 0x82, 0x89, 0x08, 0x4f, 0xe4, 0x0a, + 0x3b, 0x94, 0xd0, 0x73, 0xd2, 0xdd, 0x83, 0x78, 0x3f, 0x87, 0x55, 0xc1, 0x96, 0xe6, 0x78, 0xec, + 0x0c, 0x73, 0x27, 0xe0, 0x28, 0x99, 0x9e, 0xb1, 0x67, 0x20, 0x87, 0xdd, 0x04, 0xd1, 0x93, 0xca, + 0x58, 0xa7, 0x9d, 0x5e, 0x06, 0xdd, 0x05, 0xb2, 0x6d, 0xb9, 0x86, 0x67, 0x5c, 0x41, 0xaa, 0x61, + 0xf2, 0x6b, 0x23, 0x7c, 0x72, 0x49, 0x2b, 0x12, 0xef, 0x59, 0x35, 0x3d, 0xdf, 0xda, 0x44, 0x0d, + 0x2d, 0x64, 0x8d, 0x0b, 0x78, 0x4a, 0x91, 0x78, 0x8f, 0x6f, 0x7d, 0x12, 0x0a, 0x75, 0xab, 0x8d, + 0xe5, 0x1c, 0xb5, 0xc3, 0xfb, 0x45, 0x42, 0xc9, 0xd3, 0x36, 0xdf, 0x84, 0x09, 0xf5, 0xce, 0x7d, + 0x55, 0x41, 0xc9, 0xd3, 0x36, 0x6a, 0x72, 0x07, 0x8c, 0x69, 0x8d, 0x86, 0x83, 0xc9, 0x39, 0x11, + 0x3d, 0x7a, 0x14, 0xfd, 0x66, 0x62, 0x38, 0xf5, 0x08, 0x64, 0x79, 0x1c, 0xf0, 0x96, 0x8c, 0x23, + 0xa1, 0xda, 0xf4, 0x3c, 0x9d, 0x9c, 0xcd, 0x29, 0x59, 0x93, 0x77, 0x9e, 0x84, 0x82, 0xe1, 0xaa, + 0x9d, 0xeb, 0xf7, 0xe4, 0x89, 0xe4, 0x6c, 0x56, 0xc9, 0x1b, 0xae, 0x7f, 0x75, 0x39, 0xf3, 0x5a, + 0x12, 0x8a, 0xc1, 0xcf, 0x07, 0xf2, 0x32, 0x64, 0x9b, 0x96, 0xae, 0x91, 0xd4, 0xa2, 0xdf, 0xae, + 0x66, 0x63, 0xbe, 0x38, 0xcc, 0xad, 0x31, 0x7b, 0xc5, 0x47, 0x4e, 0xfd, 0x53, 0x02, 0xb2, 0xbc, + 0x59, 0x3e, 0x06, 0x69, 0x5b, 0xf3, 0xf6, 0x09, 0x5d, 0x66, 0x31, 0x29, 0x25, 0x14, 0xf2, 0x8c, + 0xdb, 0x5d, 0x5b, 0x33, 0x49, 0x0a, 0xb0, 0x76, 0xfc, 0x8c, 0xe7, 0xb5, 0x89, 0xb4, 0x3a, 0x39, + 0xd7, 0x58, 0xad, 0x16, 0x32, 0x3d, 0x97, 0xcf, 0x2b, 0x6b, 0x5f, 0x62, 0xcd, 0xf2, 0x69, 0x18, + 0xf7, 0x1c, 0xcd, 0x68, 0x06, 0x6c, 0xd3, 0xc4, 0x56, 0xe2, 0x1d, 0xbe, 0x71, 0x19, 0x6e, 0xe2, + 0xbc, 0x75, 0xe4, 0x69, 0xfa, 0x3e, 0xaa, 0x77, 0x40, 0xc3, 0xe4, 0xfe, 0xe2, 0x46, 0x66, 0xb0, + 0xcc, 0xfa, 0x39, 0x76, 0xe6, 0xfb, 0x09, 0x18, 0xe7, 0x27, 0xb1, 0xba, 0x1f, 0xac, 0x75, 0x00, + 0xcd, 0x34, 0x2d, 0x4f, 0x0c, 0x57, 0x77, 0x2a, 0x77, 0xe1, 0xe6, 0x2a, 0x3e, 0x48, 0x11, 0x08, + 0xa6, 0x5a, 0x00, 0x9d, 0x9e, 0x9e, 0x61, 0x3b, 0x0e, 0x79, 0xf6, 0x6d, 0x88, 0x7c, 0x60, 0xa4, + 0x67, 0x77, 0xa0, 0x4d, 0xf8, 0xc8, 0x26, 0x4f, 0x42, 0x66, 0x17, 0x35, 0x0c, 0x93, 0xdd, 0xf8, + 0xd2, 0x07, 0x7e, 0xc3, 0x92, 0xf6, 0x6f, 0x58, 0x16, 0x3f, 0x07, 0x13, 0xba, 0xd5, 0x0a, 0xbb, + 0xbb, 0x28, 0x85, 0xee, 0x0f, 0xdc, 0x4b, 0x89, 0xa7, 0xa0, 0x23, 0x31, 0xdf, 0x4f, 0x24, 0xbe, + 0x94, 0x4c, 0xad, 0x6c, 0x2d, 0x7e, 0x35, 0x39, 0xb5, 0x42, 0xa1, 0x5b, 0xfc, 0x4d, 0x15, 0xb4, + 0xd7, 0x44, 0x3a, 0xf6, 0x1e, 0xbe, 0x7c, 0x1a, 0xee, 0x6e, 0x18, 0xde, 0x7e, 0x7b, 0x77, 0x4e, + 0xb7, 0x5a, 0xf3, 0x0d, 0xab, 0x61, 0x75, 0xbe, 0xa9, 0xe2, 0x27, 0xf2, 0x40, 0xfe, 0x62, 0xdf, + 0x55, 0x73, 0x7e, 0xeb, 0x54, 0xec, 0x47, 0xd8, 0xf2, 0x06, 0x4c, 0x30, 0x63, 0x95, 0x7c, 0xd8, + 0xa1, 0xc7, 0x13, 0xb9, 0xef, 0xe5, 0x58, 0xe9, 0xeb, 0x6f, 0x91, 0xed, 0x5a, 0x19, 0x67, 0x50, + 0xdc, 0x47, 0x4f, 0x30, 0x65, 0x05, 0x6e, 0x08, 0xf0, 0xd1, 0xa5, 0x89, 0x9c, 0x18, 0xc6, 0xef, + 0x32, 0xc6, 0x09, 0x81, 0xb1, 0xc6, 0xa0, 0xe5, 0x25, 0x18, 0x3d, 0x0a, 0xd7, 0xdf, 0x33, 0xae, + 0x02, 0x12, 0x49, 0x56, 0x60, 0x8c, 0x90, 0xe8, 0x6d, 0xd7, 0xb3, 0x5a, 0xa4, 0xee, 0xf5, 0xa7, + 0xf9, 0x87, 0xb7, 0xe8, 0x5a, 0x29, 0x62, 0xd8, 0x92, 0x8f, 0x2a, 0x97, 0x81, 0x7c, 0xcb, 0xaa, + 0x23, 0xbd, 0x19, 0xc3, 0xf0, 0x3a, 0x73, 0xc4, 0xb7, 0x2f, 0x3f, 0x06, 0x93, 0xf8, 0x6f, 0x52, + 0x96, 0x44, 0x4f, 0xe2, 0x6f, 0xd2, 0x4a, 0xdf, 0x7f, 0x81, 0x2e, 0xc7, 0x09, 0x9f, 0x40, 0xf0, + 0x49, 0x98, 0xc5, 0x06, 0xf2, 0x3c, 0xe4, 0xb8, 0xaa, 0xd6, 0x8c, 0x72, 0x4f, 0xb8, 0x8a, 0x28, + 0x7d, 0xe1, 0x9d, 0xe0, 0x2c, 0xae, 0x50, 0x64, 0xa5, 0xd9, 0x2c, 0xef, 0xc0, 0x8d, 0x11, 0x59, + 0x31, 0x00, 0xe7, 0x4b, 0x8c, 0x73, 0xb2, 0x2b, 0x33, 0x30, 0xed, 0x16, 0xf0, 0x76, 0x7f, 0x2e, + 0x07, 0xe0, 0xfc, 0x3d, 0xc6, 0x29, 0x33, 0x2c, 0x9f, 0x52, 0xcc, 0xf8, 0x08, 0x8c, 0x5f, 0x41, + 0xce, 0xae, 0xe5, 0xb2, 0xeb, 0x9f, 0x01, 0xe8, 0x5e, 0x66, 0x74, 0x63, 0x0c, 0x48, 0xee, 0x83, + 0x30, 0xd7, 0x03, 0x90, 0xdd, 0xd3, 0x74, 0x34, 0x00, 0xc5, 0x17, 0x19, 0xc5, 0x08, 0xb6, 0xc7, + 0xd0, 0x0a, 0x14, 0x1a, 0x16, 0xdb, 0x99, 0xe2, 0xe1, 0xaf, 0x30, 0x78, 0x9e, 0x63, 0x18, 0x85, + 0x6d, 0xd9, 0xed, 0x26, 0xde, 0xb6, 0xe2, 0x29, 0x7e, 0x9f, 0x53, 0x70, 0x0c, 0xa3, 0x38, 0x42, + 0x58, 0xff, 0x80, 0x53, 0xb8, 0x42, 0x3c, 0x1f, 0x86, 0xbc, 0x65, 0x36, 0x0f, 0x2c, 0x73, 0x10, + 0x27, 0x5e, 0x65, 0x0c, 0xc0, 0x20, 0x98, 0xe0, 0x02, 0xe4, 0x06, 0x9d, 0x88, 0x3f, 0x7a, 0x87, + 0x2f, 0x0f, 0x3e, 0x03, 0x2b, 0x30, 0xc6, 0x0b, 0x94, 0x61, 0x99, 0x03, 0x50, 0x7c, 0x99, 0x51, + 0x14, 0x05, 0x18, 0x7b, 0x0d, 0x0f, 0xb9, 0x5e, 0x03, 0x0d, 0x42, 0xf2, 0x1a, 0x7f, 0x0d, 0x06, + 0x61, 0xa1, 0xdc, 0x45, 0xa6, 0xbe, 0x3f, 0x18, 0xc3, 0x57, 0x78, 0x28, 0x39, 0x06, 0x53, 0x2c, + 0xc1, 0x68, 0x4b, 0x73, 0xdc, 0x7d, 0xad, 0x39, 0xd0, 0x74, 0xfc, 0x31, 0xe3, 0x28, 0xf8, 0x20, + 0x16, 0x91, 0xb6, 0x79, 0x14, 0x9a, 0xaf, 0xf2, 0x88, 0x08, 0x30, 0xb6, 0xf4, 0x5c, 0x8f, 0xdc, + 0x95, 0x1d, 0x85, 0xed, 0x4f, 0xf8, 0xd2, 0xa3, 0xd8, 0x75, 0x91, 0xf1, 0x02, 0xe4, 0x5c, 0xe3, + 0xf9, 0x81, 0x68, 0xfe, 0x94, 0xcf, 0x34, 0x01, 0x60, 0xf0, 0x93, 0x70, 0x53, 0xe4, 0x36, 0x31, + 0x00, 0xd9, 0x9f, 0x31, 0xb2, 0x63, 0x11, 0x5b, 0x05, 0x2b, 0x09, 0x47, 0xa5, 0xfc, 0x73, 0x5e, + 0x12, 0x50, 0x88, 0x6b, 0x0b, 0x9f, 0x15, 0x5c, 0x6d, 0xef, 0x68, 0x51, 0xfb, 0x0b, 0x1e, 0x35, + 0x8a, 0x0d, 0x44, 0x6d, 0x1b, 0x8e, 0x31, 0xc6, 0xa3, 0xcd, 0xeb, 0xd7, 0x78, 0x61, 0xa5, 0xe8, + 0x9d, 0xe0, 0xec, 0x7e, 0x0e, 0xa6, 0xfc, 0x70, 0x72, 0x51, 0xea, 0xaa, 0x2d, 0xcd, 0x1e, 0x80, + 0xf9, 0xeb, 0x8c, 0x99, 0x57, 0x7c, 0x5f, 0xd5, 0xba, 0xeb, 0x9a, 0x8d, 0xc9, 0x9f, 0x80, 0x12, + 0x27, 0x6f, 0x9b, 0x0e, 0xd2, 0xad, 0x86, 0x69, 0x3c, 0x8f, 0xea, 0x03, 0x50, 0xff, 0x65, 0x68, + 0xaa, 0x76, 0x04, 0x38, 0x66, 0x5e, 0x05, 0xc9, 0xd7, 0x2a, 0xaa, 0xd1, 0xb2, 0x2d, 0xc7, 0x8b, + 0x61, 0xfc, 0x2b, 0x3e, 0x53, 0x3e, 0x6e, 0x95, 0xc0, 0xca, 0x55, 0x28, 0x92, 0xc7, 0x41, 0x53, + 0xf2, 0xaf, 0x19, 0xd1, 0x68, 0x07, 0xc5, 0x0a, 0x87, 0x6e, 0xb5, 0x6c, 0xcd, 0x19, 0xa4, 0xfe, + 0xfd, 0x0d, 0x2f, 0x1c, 0x0c, 0xc2, 0x0a, 0x87, 0x77, 0x60, 0x23, 0xbc, 0xdb, 0x0f, 0xc0, 0xf0, + 0x0d, 0x5e, 0x38, 0x38, 0x86, 0x51, 0x70, 0xc1, 0x30, 0x00, 0xc5, 0xdf, 0x72, 0x0a, 0x8e, 0xc1, + 0x14, 0x9f, 0xed, 0x6c, 0xb4, 0x0e, 0x6a, 0x18, 0xae, 0xe7, 0x50, 0x29, 0xdc, 0x9f, 0xea, 0x9b, + 0xef, 0x04, 0x45, 0x98, 0x22, 0x40, 0x71, 0x25, 0x62, 0x57, 0xa8, 0xe4, 0xa4, 0x14, 0xef, 0xd8, + 0xb7, 0x78, 0x25, 0x12, 0x60, 0xd8, 0x37, 0x41, 0x21, 0xe2, 0xb0, 0xeb, 0xf8, 0x7c, 0x30, 0x00, + 0xdd, 0xb7, 0x43, 0xce, 0xd5, 0x38, 0x16, 0x73, 0x0a, 0xfa, 0xa7, 0x6d, 0x5e, 0x46, 0x07, 0x03, + 0x65, 0xe7, 0xdf, 0x85, 0xf4, 0xcf, 0x0e, 0x45, 0xd2, 0x1a, 0x32, 0x16, 0xd2, 0x53, 0x72, 0xdc, + 0xaf, 0x80, 0x4a, 0x3f, 0xf7, 0x1e, 0x7b, 0xdf, 0xa0, 0x9c, 0x2a, 0xaf, 0xe1, 0x24, 0x0f, 0x8a, + 0x9e, 0x78, 0xb2, 0x17, 0xde, 0xf3, 0xf3, 0x3c, 0xa0, 0x79, 0xca, 0x17, 0x61, 0x34, 0x20, 0x78, + 0xe2, 0xa9, 0x7e, 0x9e, 0x51, 0x15, 0x44, 0xbd, 0x53, 0x3e, 0x0b, 0x69, 0x2c, 0x5e, 0xe2, 0xe1, + 0xbf, 0xc0, 0xe0, 0xc4, 0xbc, 0xfc, 0x20, 0x64, 0xb9, 0x68, 0x89, 0x87, 0xfe, 0x22, 0x83, 0xfa, + 0x10, 0x0c, 0xe7, 0x82, 0x25, 0x1e, 0xfe, 0x4b, 0x1c, 0xce, 0x21, 0x18, 0x3e, 0x78, 0x08, 0xbf, + 0xf3, 0xcb, 0x69, 0xb6, 0xe9, 0xf0, 0xd8, 0x5d, 0x80, 0x11, 0xa6, 0x54, 0xe2, 0xd1, 0x9f, 0x67, + 0x83, 0x73, 0x44, 0xf9, 0x7e, 0xc8, 0x0c, 0x18, 0xf0, 0x5f, 0x65, 0x50, 0x6a, 0x5f, 0x5e, 0x82, + 0xbc, 0xa0, 0x4e, 0xe2, 0xe1, 0xbf, 0xc6, 0xe0, 0x22, 0x0a, 0xbb, 0xce, 0xd4, 0x49, 0x3c, 0xc1, + 0xaf, 0x73, 0xd7, 0x19, 0x02, 0x87, 0x8d, 0x0b, 0x93, 0x78, 0xf4, 0x6f, 0xf0, 0xa8, 0x73, 0x48, + 0xf9, 0x61, 0xc8, 0xf9, 0x9b, 0x4d, 0x3c, 0xfe, 0x37, 0x19, 0xbe, 0x83, 0xc1, 0x11, 0x10, 0x36, + 0xbb, 0x78, 0x8a, 0xdf, 0xe2, 0x11, 0x10, 0x50, 0x78, 0x19, 0x85, 0x05, 0x4c, 0x3c, 0xd3, 0x6f, + 0xf3, 0x65, 0x14, 0xd2, 0x2f, 0x78, 0x36, 0x49, 0xcd, 0x8f, 0xa7, 0xf8, 0x1d, 0x3e, 0x9b, 0xc4, + 0x1e, 0xbb, 0x11, 0x56, 0x04, 0xf1, 0x1c, 0xbf, 0xcb, 0xdd, 0x08, 0x09, 0x82, 0xf2, 0x16, 0xc8, + 0xdd, 0x6a, 0x20, 0x9e, 0xef, 0x45, 0xc6, 0x37, 0xde, 0x25, 0x06, 0xca, 0x8f, 0xc3, 0xb1, 0x68, + 0x25, 0x10, 0xcf, 0xfa, 0x85, 0xf7, 0x42, 0x67, 0x37, 0x51, 0x08, 0x94, 0xb7, 0x3b, 0x5b, 0x8a, + 0xa8, 0x02, 0xe2, 0x69, 0x5f, 0x7a, 0x2f, 0x58, 0xb8, 0x45, 0x11, 0x50, 0xae, 0x00, 0x74, 0x36, + 0xe0, 0x78, 0xae, 0x97, 0x19, 0x97, 0x00, 0xc2, 0x4b, 0x83, 0xed, 0xbf, 0xf1, 0xf8, 0x2f, 0xf2, + 0xa5, 0xc1, 0x10, 0x78, 0x69, 0xf0, 0xad, 0x37, 0x1e, 0xfd, 0x0a, 0x5f, 0x1a, 0x1c, 0x82, 0x33, + 0x5b, 0xd8, 0xdd, 0xe2, 0x19, 0x5e, 0xe5, 0x99, 0x2d, 0xa0, 0xca, 0x1b, 0x30, 0xde, 0xb5, 0x21, + 0xc6, 0x53, 0x7d, 0x89, 0x51, 0x49, 0xe1, 0xfd, 0x50, 0xdc, 0xbc, 0xd8, 0x66, 0x18, 0xcf, 0xf6, + 0x87, 0xa1, 0xcd, 0x8b, 0xed, 0x85, 0xe5, 0x0b, 0x90, 0x35, 0xdb, 0xcd, 0x26, 0x5e, 0x3c, 0x72, + 0xff, 0x5f, 0xee, 0x95, 0xfe, 0xe5, 0x03, 0x16, 0x1d, 0x0e, 0x28, 0x9f, 0x85, 0x0c, 0x6a, 0xed, + 0xa2, 0x7a, 0x1c, 0xf2, 0x5f, 0x3f, 0xe0, 0x05, 0x13, 0x5b, 0x97, 0x1f, 0x06, 0xa0, 0x57, 0x23, + 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0xdf, 0x3e, 0x60, 0xbf, 0xa9, 0xe9, 0x40, 0x3a, 0x04, 0xf4, 0x17, + 0x3a, 0xfd, 0x09, 0xde, 0x09, 0x12, 0x90, 0x19, 0x79, 0x00, 0x46, 0x9e, 0x71, 0x2d, 0xd3, 0xd3, + 0x1a, 0x71, 0xe8, 0x7f, 0x67, 0x68, 0x6e, 0x8f, 0x03, 0xd6, 0xb2, 0x1c, 0xe4, 0x69, 0x0d, 0x37, + 0x0e, 0xfb, 0x1f, 0x0c, 0xeb, 0x03, 0x30, 0x58, 0xd7, 0x5c, 0x6f, 0x90, 0xf7, 0xfe, 0x4f, 0x0e, + 0xe6, 0x00, 0xec, 0x34, 0xfe, 0xfb, 0x32, 0x3a, 0x88, 0xc3, 0xbe, 0xcb, 0x9d, 0x66, 0xf6, 0xe5, + 0x07, 0x21, 0x87, 0xff, 0xa4, 0x3f, 0x94, 0x8b, 0x01, 0xff, 0x17, 0x03, 0x77, 0x10, 0x78, 0x64, + 0xd7, 0xab, 0x7b, 0x46, 0x7c, 0xb0, 0xff, 0x9b, 0xcd, 0x34, 0xb7, 0x2f, 0x57, 0x20, 0xef, 0x7a, + 0xf5, 0x7a, 0x9b, 0xe9, 0xd3, 0x18, 0xf8, 0xff, 0x7c, 0xe0, 0x5f, 0x59, 0xf8, 0x18, 0x3c, 0xdb, + 0x57, 0x2f, 0x7b, 0xb6, 0x45, 0x3e, 0x73, 0xc4, 0x31, 0xbc, 0xc7, 0x18, 0x04, 0xc8, 0x62, 0x35, + 0xfa, 0xfa, 0x16, 0x56, 0xac, 0x15, 0x8b, 0x5e, 0xdc, 0x3e, 0x35, 0x13, 0x7f, 0x03, 0x0b, 0xff, + 0x7b, 0x37, 0x1c, 0xd7, 0xad, 0xd6, 0xae, 0xe5, 0xce, 0x9b, 0xc8, 0xf0, 0xf6, 0x91, 0x33, 0xdf, + 0xd2, 0x6c, 0x97, 0x74, 0x2e, 0xb0, 0xab, 0xd9, 0x3c, 0x7b, 0xc2, 0x1d, 0x53, 0x47, 0xbb, 0xd6, + 0x9d, 0xb9, 0x19, 0x46, 0x2f, 0x36, 0x2d, 0xcd, 0x33, 0xcc, 0xc6, 0x16, 0xf6, 0x5c, 0x2e, 0x40, + 0x62, 0x8f, 0x7c, 0x96, 0x4c, 0x28, 0x89, 0xbd, 0x99, 0x7f, 0xcc, 0x40, 0x8e, 0xde, 0x08, 0xae, + 0x6b, 0xb6, 0xfc, 0xb3, 0x50, 0xd8, 0x60, 0xcb, 0xf0, 0xde, 0x85, 0xf3, 0xae, 0xff, 0x05, 0x42, + 0x18, 0x7f, 0xce, 0xb7, 0x9e, 0x13, 0x4d, 0xc9, 0xcf, 0x10, 0x16, 0xef, 0xf9, 0xe1, 0x1b, 0xc7, + 0xef, 0xea, 0xe9, 0x1f, 0x16, 0x16, 0xf3, 0x74, 0xbd, 0xcc, 0xed, 0x18, 0xa6, 0x77, 0xef, 0xc2, + 0x79, 0x25, 0x30, 0x9e, 0x7c, 0x05, 0xb2, 0xac, 0xc3, 0x65, 0x5f, 0xa6, 0x6e, 0xed, 0x31, 0x36, + 0x37, 0xa3, 0xe3, 0x9e, 0x79, 0xfd, 0x8d, 0xe3, 0x43, 0x47, 0x1e, 0xdb, 0x1f, 0x4b, 0x7e, 0x16, + 0xf2, 0xdc, 0x8f, 0xd5, 0xba, 0xcb, 0xfe, 0x8b, 0xc3, 0x1d, 0x31, 0xaf, 0xbd, 0x5a, 0x67, 0xa3, + 0xdf, 0xfe, 0xc3, 0x37, 0x8e, 0xcf, 0xf4, 0x1d, 0x79, 0x6e, 0xa7, 0x6d, 0xd4, 0x15, 0x71, 0x0c, + 0xf9, 0x69, 0x48, 0xe1, 0xa1, 0xe8, 0xaf, 0x42, 0x8f, 0xf7, 0x18, 0xca, 0x1f, 0xe2, 0x14, 0x7b, + 0xc1, 0x41, 0x86, 0xc1, 0xbc, 0x53, 0x0f, 0xc3, 0x78, 0xd7, 0xf4, 0xc8, 0x12, 0xa4, 0x2e, 0xa3, + 0x03, 0xf6, 0xf3, 0x3b, 0xfc, 0xa7, 0x3c, 0xd9, 0xf9, 0x7d, 0x6c, 0x62, 0xb6, 0xc0, 0x7e, 0xf4, + 0x5a, 0x4e, 0x9e, 0x4f, 0x4c, 0x5d, 0x80, 0xd1, 0x40, 0x8c, 0x8f, 0x04, 0x7e, 0x08, 0xa4, 0x70, + 0x94, 0x8e, 0x84, 0x3f, 0x07, 0xd9, 0x0f, 0x83, 0x9b, 0xf9, 0x81, 0x0c, 0x23, 0x95, 0x66, 0x73, + 0x5d, 0xb3, 0x5d, 0xf9, 0x49, 0x18, 0xa7, 0xc7, 0x9f, 0x6d, 0x6b, 0x99, 0x7c, 0x0b, 0x5c, 0xd7, + 0x6c, 0x96, 0xd0, 0xa7, 0x03, 0xe1, 0x66, 0x80, 0xb9, 0x2e, 0x6b, 0x32, 0xbe, 0xd2, 0xcd, 0x22, + 0x3f, 0x06, 0x12, 0x6f, 0x24, 0x6b, 0x0b, 0x33, 0xd3, 0x74, 0x3d, 0xd5, 0x97, 0x99, 0x1b, 0x53, + 0xe2, 0x2e, 0x0e, 0xf9, 0x21, 0xc8, 0xae, 0x9a, 0xde, 0x7d, 0x0b, 0x98, 0x8f, 0xe6, 0xe0, 0x4c, + 0x24, 0x1f, 0x37, 0xa2, 0x3c, 0x3e, 0x86, 0xe1, 0xcf, 0x9d, 0xc1, 0xf8, 0x74, 0x7f, 0x3c, 0x31, + 0xea, 0xe0, 0xc9, 0xa3, 0x5c, 0x81, 0x1c, 0x9e, 0x73, 0xea, 0x00, 0xfd, 0xdf, 0x35, 0xb7, 0x44, + 0x12, 0xf8, 0x56, 0x94, 0xa1, 0x83, 0xe2, 0x14, 0xd4, 0x87, 0xe1, 0x18, 0x0a, 0xc1, 0x89, 0x0e, + 0x0a, 0x53, 0xd4, 0x7c, 0x2f, 0x46, 0xfa, 0x50, 0xd4, 0x42, 0x5e, 0xd4, 0x44, 0x2f, 0x6a, 0xbe, + 0x17, 0xd9, 0x18, 0x0a, 0xd1, 0x0b, 0xff, 0x59, 0x5e, 0x06, 0xb8, 0x68, 0x3c, 0x87, 0xea, 0xd4, + 0x8d, 0x5c, 0x44, 0x31, 0xe2, 0x1c, 0x1d, 0x33, 0x4a, 0x22, 0xe0, 0xe4, 0x15, 0xc8, 0xd7, 0xf6, + 0x3a, 0x34, 0xc0, 0xfe, 0x73, 0x51, 0xa4, 0x2b, 0x7b, 0x21, 0x1e, 0x11, 0xe9, 0xbb, 0x43, 0x5f, + 0x29, 0x1f, 0xe7, 0x8e, 0xf0, 0x4e, 0x02, 0xae, 0xe3, 0x0e, 0xa5, 0x29, 0xc4, 0xba, 0x23, 0xf0, + 0x88, 0x48, 0xf9, 0x02, 0x8c, 0x2c, 0x5a, 0x16, 0xb6, 0x2c, 0x8d, 0x12, 0x92, 0x93, 0x91, 0x24, + 0xcc, 0x86, 0x12, 0x70, 0x04, 0x99, 0x1d, 0x92, 0xfa, 0x18, 0x5e, 0xec, 0x37, 0x3b, 0xdc, 0x8a, + 0xcf, 0x0e, 0x7f, 0x16, 0x57, 0xe0, 0xe2, 0x81, 0x87, 0xf0, 0x51, 0xa3, 0x34, 0x36, 0xc0, 0x0a, + 0xe4, 0xc6, 0xa1, 0x15, 0xc8, 0x9b, 0xe5, 0x1a, 0x8c, 0xf1, 0xb6, 0xaa, 0xd9, 0xc6, 0x35, 0xb8, + 0x24, 0xb1, 0xff, 0x39, 0xd0, 0x8f, 0x96, 0xd9, 0x52, 0xd6, 0x30, 0x83, 0xbc, 0x05, 0x45, 0xde, + 0xb4, 0xee, 0x92, 0x97, 0x1e, 0x8f, 0xd8, 0x57, 0xc3, 0x9c, 0xd4, 0x94, 0x52, 0x86, 0xf0, 0x53, + 0xcb, 0x70, 0x2c, 0xba, 0x5a, 0xc5, 0x55, 0xcb, 0x84, 0x58, 0x65, 0x97, 0xe0, 0x86, 0xc8, 0xca, + 0x14, 0x47, 0x92, 0x0c, 0xed, 0x13, 0x81, 0x72, 0x24, 0x82, 0x33, 0x11, 0xe0, 0x4c, 0x37, 0xb8, + 0x93, 0x64, 0x22, 0x38, 0x15, 0x01, 0x4e, 0x89, 0xe0, 0xcf, 0x40, 0x31, 0x58, 0x87, 0x44, 0xf4, + 0x68, 0x04, 0x7a, 0x34, 0x02, 0x1d, 0x3d, 0x76, 0x3a, 0x02, 0x9d, 0x0e, 0xa1, 0x6b, 0x3d, 0xc7, + 0x1e, 0x8f, 0x40, 0x8f, 0x47, 0xa0, 0xa3, 0xc7, 0x96, 0x23, 0xd0, 0xb2, 0x88, 0x7e, 0x10, 0xc6, + 0x42, 0x25, 0x47, 0x84, 0x8f, 0x44, 0xc0, 0x47, 0x42, 0x7b, 0x73, 0xb8, 0xd4, 0x88, 0xf8, 0xb1, + 0x08, 0xfc, 0x58, 0xd4, 0xf0, 0xd1, 0xde, 0x0f, 0x47, 0xc0, 0x87, 0x23, 0x87, 0x8f, 0xc6, 0x4b, + 0x11, 0x78, 0x49, 0xc4, 0x97, 0xa1, 0x20, 0x56, 0x15, 0x11, 0x9b, 0x8d, 0xc0, 0x66, 0xc3, 0x71, + 0x0f, 0x94, 0x94, 0xb8, 0x4c, 0xcf, 0xf5, 0x58, 0x2e, 0x81, 0x32, 0x72, 0x24, 0x65, 0xf3, 0x04, + 0x4c, 0x46, 0x15, 0x8d, 0x08, 0x8e, 0x53, 0x22, 0x47, 0x71, 0x61, 0x32, 0x50, 0x2c, 0x08, 0xae, + 0xdd, 0x12, 0x99, 0x9f, 0x86, 0x89, 0x88, 0xd2, 0x11, 0x41, 0x7c, 0x8f, 0x48, 0x9c, 0x5f, 0x98, + 0x0a, 0x10, 0x07, 0xce, 0x0a, 0xa2, 0xb4, 0xfa, 0xd1, 0x04, 0x14, 0x59, 0x89, 0xda, 0x74, 0xea, + 0xc8, 0x41, 0x75, 0xf9, 0xa7, 0x7b, 0x2b, 0xac, 0x85, 0xa8, 0xd2, 0xc6, 0x70, 0x47, 0x10, 0x5a, + 0x4f, 0xf7, 0x14, 0x5a, 0xf7, 0x0e, 0x32, 0x40, 0x9c, 0xde, 0xaa, 0x76, 0xe9, 0xad, 0x3b, 0xfb, + 0xd1, 0xf6, 0x92, 0x5d, 0xd5, 0x2e, 0xd9, 0x15, 0x47, 0x13, 0xa9, 0xbe, 0x2e, 0x75, 0xab, 0xaf, + 0x53, 0xfd, 0x78, 0x7a, 0x8b, 0xb0, 0x4b, 0xdd, 0x22, 0x2c, 0x96, 0x29, 0x5a, 0x8b, 0x5d, 0xea, + 0xd6, 0x62, 0x7d, 0x99, 0x7a, 0x4b, 0xb2, 0x4b, 0xdd, 0x92, 0x2c, 0x96, 0x29, 0x5a, 0x99, 0x3d, + 0x1a, 0xa1, 0xcc, 0x4e, 0xf7, 0xa3, 0xea, 0x27, 0xd0, 0x36, 0xa2, 0x04, 0xda, 0x5d, 0x7d, 0x1d, + 0xeb, 0xab, 0xd3, 0x1e, 0x8d, 0xd0, 0x69, 0xf1, 0xce, 0xf5, 0x90, 0x6b, 0x1b, 0x51, 0x72, 0x6d, + 0x00, 0xe7, 0x7a, 0xa9, 0xb6, 0xc5, 0xb0, 0x6a, 0x9b, 0xed, 0xc7, 0x15, 0x2d, 0xde, 0x2e, 0x75, + 0x8b, 0xb7, 0x53, 0xf1, 0x6b, 0x31, 0x4a, 0xc3, 0x3d, 0xdd, 0x53, 0xc3, 0x0d, 0xb4, 0xb8, 0xe3, + 0xa4, 0xdc, 0x53, 0xbd, 0xa4, 0xdc, 0x3d, 0x83, 0xb0, 0xf7, 0x57, 0x74, 0x8f, 0xf7, 0x50, 0x74, + 0xf3, 0x83, 0x50, 0x7f, 0x22, 0xec, 0x3e, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0x4f, 0x84, 0xdd, 0xff, + 0x0f, 0x61, 0x57, 0x4e, 0xbf, 0xf8, 0xea, 0xf1, 0xc4, 0xa9, 0x93, 0x30, 0xc2, 0x86, 0x96, 0x87, + 0x21, 0xb9, 0x5e, 0x91, 0x86, 0xc8, 0xbf, 0x8b, 0x52, 0x82, 0xfc, 0xbb, 0x24, 0x25, 0x17, 0xd7, + 0x5e, 0xbf, 0x3e, 0x3d, 0xf4, 0xbd, 0xeb, 0xd3, 0x43, 0x3f, 0xb8, 0x3e, 0x3d, 0xf4, 0xe6, 0xf5, + 0xe9, 0xc4, 0xdb, 0xd7, 0xa7, 0x13, 0xef, 0x5e, 0x9f, 0x4e, 0xbc, 0x7f, 0x7d, 0x3a, 0x71, 0xed, + 0x70, 0x3a, 0xf1, 0x95, 0xc3, 0xe9, 0xc4, 0xd7, 0x0e, 0xa7, 0x13, 0xdf, 0x3c, 0x9c, 0x4e, 0x7c, + 0xe7, 0x70, 0x3a, 0xf1, 0xfa, 0xe1, 0xf4, 0xd0, 0xf7, 0x0e, 0xa7, 0x87, 0xde, 0x3c, 0x9c, 0x4e, + 0xbc, 0x7d, 0x38, 0x3d, 0xf4, 0xee, 0xe1, 0x74, 0xe2, 0xfd, 0xc3, 0xe9, 0xa1, 0x6b, 0x3f, 0x9e, + 0x1e, 0xfa, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x89, 0x59, 0x98, 0xec, 0x49, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -3639,83 +3722,3 @@ func valueToStringMapsproto2(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { - proto.RegisterFile("combos/neither/mapsproto2.proto", fileDescriptor_mapsproto2_62fb8c1076af60e4) -} - -var fileDescriptor_mapsproto2_62fb8c1076af60e4 = []byte{ - // 1148 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcd, 0x6f, 0x1a, 0xc7, - 0x1b, 0xc7, 0x77, 0xc0, 0x36, 0x30, 0xbc, 0x4f, 0xfc, 0xfb, 0x09, 0x21, 0x75, 0x70, 0xe8, 0x1b, - 0x21, 0x29, 0xd8, 0x34, 0x8a, 0x2c, 0xa7, 0x4d, 0x65, 0x6c, 0xa7, 0x58, 0x29, 0x6e, 0x04, 0x4d, - 0xdf, 0x24, 0x4b, 0x05, 0xb3, 0x10, 0x54, 0x60, 0x29, 0xbb, 0x44, 0xf5, 0xa5, 0xca, 0x9f, 0xd1, - 0x6b, 0x6f, 0x3d, 0xf6, 0xd8, 0x63, 0x8f, 0x96, 0x7a, 0xc9, 0x31, 0x8a, 0x2a, 0x2b, 0x6c, 0x2f, - 0x39, 0xe6, 0x98, 0x63, 0xb5, 0xb3, 0xbb, 0x30, 0xbb, 0xfb, 0xec, 0x2e, 0xf4, 0xd4, 0x83, 0x4f, - 0x78, 0x96, 0xe7, 0xfb, 0xf9, 0x3e, 0xbb, 0x3b, 0xf3, 0xf0, 0x35, 0xce, 0x9d, 0x49, 0xc3, 0xb6, - 0x24, 0x97, 0x47, 0x62, 0x5f, 0x79, 0x2c, 0x4e, 0xca, 0xc3, 0xd6, 0x58, 0x1e, 0x4f, 0x24, 0x45, - 0xaa, 0x94, 0xd8, 0x07, 0x89, 0x1a, 0x2b, 0xed, 0x8b, 0xec, 0x07, 0xbd, 0xbe, 0xf2, 0x78, 0xda, - 0x2e, 0x9d, 0x49, 0xc3, 0x72, 0x4f, 0xea, 0x49, 0x65, 0xf6, 0x65, 0x7b, 0xda, 0x65, 0x2b, 0xb6, - 0x60, 0x7f, 0xe9, 0xda, 0xfc, 0x5b, 0x38, 0x7e, 0x7f, 0x20, 0xb5, 0x94, 0xfe, 0xa8, 0xf7, 0x50, - 0xea, 0x8f, 0x14, 0x12, 0xc3, 0xa8, 0x9b, 0x41, 0x5b, 0xa8, 0x80, 0x1a, 0xa8, 0x9b, 0xff, 0x73, - 0x1d, 0x47, 0x0e, 0xa6, 0xb2, 0x22, 0x0d, 0xeb, 0xad, 0x31, 0xf9, 0x09, 0xc7, 0x4e, 0xa6, 0x83, - 0x41, 0xab, 0x3d, 0x10, 0x77, 0x2a, 0xbb, 0x72, 0x06, 0x6d, 0x05, 0x0b, 0xd1, 0x4a, 0xa1, 0xc4, - 0xf9, 0x97, 0xe6, 0xd5, 0x25, 0xbe, 0xf4, 0x68, 0xa4, 0x4c, 0xce, 0xab, 0xdb, 0x2f, 0x2e, 0x73, - 0xb7, 0x5c, 0xfb, 0x53, 0x44, 0x59, 0x29, 0x9f, 0x31, 0x79, 0xe9, 0x51, 0x7f, 0xa4, 0xec, 0x54, - 0x76, 0x1b, 0x16, 0x3f, 0xf2, 0x04, 0x87, 0x8d, 0x2f, 0xe4, 0x4c, 0x80, 0x79, 0xbf, 0xe3, 0xe2, - 0x6d, 0x96, 0xe9, 0xbe, 0xb7, 0x2f, 0x2e, 0x73, 0xc2, 0xca, 0xde, 0x73, 0x2f, 0xf2, 0x03, 0x8e, - 0x9a, 0x7d, 0x1c, 0x77, 0xe4, 0x4c, 0x90, 0x59, 0xbf, 0xef, 0x73, 0xdb, 0xc7, 0x1d, 0xc3, 0xfd, - 0xbd, 0x17, 0x97, 0xb9, 0xbc, 0xa7, 0x73, 0xe9, 0xd1, 0xb4, 0xdf, 0x69, 0xf0, 0x1e, 0xe4, 0x14, - 0x07, 0x35, 0xab, 0x35, 0x66, 0x95, 0x73, 0xb1, 0x9a, 0x5b, 0x14, 0x8d, 0x1b, 0x5c, 0xc6, 0x46, - 0xe3, 0x66, 0x3f, 0xc1, 0x69, 0xc7, 0xeb, 0x21, 0x29, 0x1c, 0xfc, 0x5e, 0x3c, 0x67, 0x2f, 0x3f, - 0xd2, 0xd0, 0xfe, 0x24, 0x9b, 0x78, 0xfd, 0x49, 0x6b, 0x30, 0x15, 0x33, 0x81, 0x2d, 0x54, 0x88, - 0x35, 0xf4, 0xc5, 0x5e, 0x60, 0x17, 0x65, 0xef, 0xe2, 0xb8, 0xe5, 0x19, 0xaf, 0x24, 0xbe, 0x87, - 0x53, 0xf6, 0xa7, 0xb4, 0x92, 0xfe, 0x0e, 0x0e, 0xff, 0x1b, 0x5d, 0xfe, 0x39, 0xc1, 0xa1, 0xfd, - 0xc1, 0xa0, 0xde, 0x1a, 0xcb, 0xe4, 0x1b, 0x9c, 0x6e, 0x2a, 0x93, 0xfe, 0xa8, 0xf7, 0x85, 0x74, - 0x28, 0x4d, 0xdb, 0x03, 0xb1, 0xde, 0x1a, 0x1b, 0x1b, 0xfa, 0xa6, 0xe5, 0x71, 0x1b, 0x82, 0x92, - 0xa3, 0x9a, 0xf9, 0x37, 0x9c, 0x14, 0xf2, 0x25, 0x4e, 0x99, 0x17, 0xd9, 0xd9, 0xd2, 0xc8, 0xfa, - 0x76, 0x2d, 0x7a, 0x92, 0xcd, 0x62, 0x1d, 0xec, 0x60, 0x90, 0x7b, 0x38, 0x7c, 0x3c, 0x52, 0x3e, - 0xac, 0x68, 0x3c, 0x7d, 0x0f, 0xe6, 0x41, 0x9e, 0x59, 0xa4, 0x73, 0xe6, 0x1a, 0x43, 0x7f, 0xe7, - 0xb6, 0xa6, 0x5f, 0xf3, 0xd6, 0xb3, 0xa2, 0x85, 0x9e, 0x2d, 0xc9, 0x3e, 0x8e, 0x68, 0xef, 0x5c, - 0x6f, 0x60, 0x9d, 0x01, 0xde, 0x06, 0x01, 0xf3, 0x2a, 0x9d, 0xb0, 0x50, 0x99, 0x08, 0xbd, 0x87, - 0x0d, 0x1f, 0x04, 0xd7, 0xc4, 0x42, 0xa5, 0x21, 0x9a, 0xf3, 0x2e, 0x42, 0x1e, 0x88, 0xa6, 0xad, - 0x8b, 0x26, 0xdf, 0x45, 0x73, 0xde, 0x45, 0xd8, 0x07, 0xc1, 0x77, 0x31, 0x5f, 0x93, 0x43, 0x8c, - 0xef, 0xf7, 0x7f, 0x14, 0x3b, 0x7a, 0x1b, 0x11, 0x60, 0x18, 0x99, 0x8c, 0x45, 0x99, 0x0e, 0xe1, - 0x74, 0xe4, 0x53, 0x1c, 0x6d, 0x76, 0x17, 0x18, 0xcc, 0x30, 0xef, 0xc2, 0xad, 0x74, 0x6d, 0x1c, - 0x5e, 0x39, 0x6f, 0x47, 0xbf, 0xa5, 0xa8, 0x5f, 0x3b, 0xdc, 0x3d, 0x71, 0xba, 0x45, 0x3b, 0x3a, - 0x26, 0xe6, 0xdb, 0x0e, 0xc7, 0xe1, 0x95, 0xe4, 0x2e, 0x0e, 0x55, 0x25, 0x49, 0xab, 0xcc, 0xc4, - 0x19, 0xe4, 0x3a, 0x08, 0x31, 0x6a, 0x74, 0x80, 0xa9, 0x60, 0x6f, 0x87, 0x6d, 0x7d, 0x4d, 0x9e, - 0xf0, 0x7a, 0x3b, 0x66, 0x95, 0xf9, 0x76, 0xcc, 0x35, 0x7f, 0x02, 0xab, 0xe7, 0x8a, 0x28, 0x6b, - 0xa4, 0xe4, 0x12, 0x27, 0xd0, 0x2c, 0xb6, 0x9d, 0x40, 0xf3, 0x32, 0x69, 0xe2, 0xa4, 0x79, 0xed, - 0x68, 0x34, 0xd5, 0x66, 0x70, 0x26, 0xc5, 0xb0, 0x37, 0x3c, 0xb1, 0x46, 0xad, 0x4e, 0xb5, 0x13, - 0xc8, 0x43, 0x9c, 0x30, 0x2f, 0xd5, 0x65, 0x76, 0xd3, 0x69, 0xe0, 0x77, 0xd5, 0xce, 0xd4, 0x4b, - 0x75, 0xa4, 0x4d, 0x9f, 0x3d, 0xc4, 0xff, 0x87, 0xa7, 0x95, 0xdf, 0xb4, 0x44, 0xfc, 0x94, 0x3d, - 0xc0, 0xff, 0x03, 0x27, 0x93, 0x1f, 0x24, 0x60, 0xfb, 0x9d, 0xb0, 0x8c, 0x23, 0x5e, 0xbc, 0x0e, - 0x88, 0xd7, 0x9d, 0xe2, 0xc5, 0x26, 0xe3, 0xc5, 0x41, 0x40, 0x1c, 0xe4, 0xc5, 0x1f, 0xe1, 0x84, - 0x75, 0x0e, 0xf1, 0xea, 0x38, 0xa0, 0x8e, 0x03, 0x6a, 0xd8, 0x7b, 0x0d, 0x50, 0xaf, 0xd9, 0xd4, - 0x4d, 0x57, 0xef, 0x34, 0xa0, 0x4e, 0x03, 0x6a, 0xd8, 0x9b, 0x00, 0x6a, 0xc2, 0xab, 0x3f, 0xc6, - 0x49, 0xdb, 0xc8, 0xe1, 0xe5, 0x21, 0x40, 0x1e, 0xb2, 0xfd, 0x36, 0xdb, 0x47, 0x0d, 0xaf, 0x4f, - 0x02, 0xfa, 0x24, 0x64, 0x0f, 0x77, 0xbf, 0x01, 0xc8, 0x37, 0x40, 0x7b, 0x58, 0x9f, 0x02, 0xf4, - 0x29, 0x5e, 0xbf, 0x87, 0x63, 0xfc, 0x54, 0xe1, 0xb5, 0x61, 0x40, 0x1b, 0xb6, 0x3f, 0x77, 0xcb, - 0x48, 0xf1, 0xdb, 0xe9, 0x11, 0x97, 0xe3, 0x62, 0x19, 0x23, 0x2b, 0x25, 0x9b, 0xaf, 0xf1, 0x26, - 0x34, 0x34, 0x00, 0x46, 0x91, 0x67, 0x24, 0x2a, 0x9b, 0x96, 0x61, 0xc1, 0x74, 0xd3, 0x21, 0x4f, - 0x3e, 0xc5, 0xd7, 0x80, 0xd1, 0x01, 0x80, 0xb7, 0x79, 0x70, 0xb4, 0x92, 0xb5, 0x80, 0x2d, 0xff, - 0x2b, 0xf0, 0xd1, 0xea, 0xaf, 0x6b, 0x38, 0x61, 0x8c, 0xa8, 0xcf, 0x27, 0x1d, 0x71, 0x22, 0x76, - 0xc8, 0x77, 0xee, 0x09, 0xab, 0x02, 0x8d, 0x36, 0x43, 0xb7, 0x42, 0xd0, 0x3a, 0x75, 0x0d, 0x5a, - 0x3b, 0xcb, 0x18, 0xf8, 0xe5, 0xad, 0x23, 0x47, 0xde, 0xba, 0xe1, 0x85, 0x75, 0x8b, 0x5d, 0x47, - 0x8e, 0xd8, 0xe5, 0x87, 0x01, 0xd3, 0x57, 0xcd, 0x99, 0xbe, 0x8a, 0x5e, 0x1c, 0xf7, 0x10, 0x56, - 0x73, 0x86, 0x30, 0x5f, 0x12, 0x9c, 0xc5, 0x6a, 0xce, 0x2c, 0xe6, 0x49, 0x72, 0x8f, 0x64, 0x35, - 0x67, 0x24, 0xf3, 0x25, 0xc1, 0xc9, 0xec, 0x01, 0x90, 0xcc, 0x6e, 0x7a, 0xa1, 0xbc, 0x02, 0xda, - 0x09, 0x14, 0xd0, 0x6e, 0x79, 0x36, 0xe6, 0x99, 0xd3, 0x1e, 0x00, 0x39, 0xcd, 0xbf, 0x39, 0x97, - 0xb8, 0x76, 0x02, 0xc5, 0xb5, 0x25, 0x9a, 0x73, 0x4b, 0x6d, 0x55, 0x7b, 0x6a, 0x2b, 0x78, 0xb1, - 0xe0, 0xf0, 0x56, 0x73, 0x86, 0xb7, 0xa2, 0xff, 0x59, 0x84, 0x32, 0xdc, 0xa9, 0x6b, 0x86, 0x5b, - 0xea, 0x70, 0xfb, 0x45, 0xb9, 0x6f, 0xdd, 0xa2, 0xdc, 0xf6, 0x32, 0x74, 0xef, 0x44, 0xf7, 0x95, - 0x4b, 0xa2, 0x2b, 0x2f, 0x83, 0xbe, 0x0a, 0x76, 0x57, 0xc1, 0xee, 0x2a, 0xd8, 0x5d, 0x05, 0xbb, - 0xff, 0x46, 0xb0, 0xdb, 0x5b, 0xfb, 0xf9, 0x97, 0x1c, 0x2a, 0x5e, 0xc7, 0x21, 0xc3, 0x9a, 0x6c, - 0xe0, 0x40, 0x7d, 0x3f, 0x25, 0xb0, 0xcf, 0x6a, 0x0a, 0xb1, 0xcf, 0x83, 0x54, 0xa0, 0xfa, 0xd9, - 0xc5, 0x8c, 0x0a, 0xcf, 0x66, 0x54, 0x78, 0x3e, 0xa3, 0xc2, 0xcb, 0x19, 0x45, 0xaf, 0x66, 0x14, - 0xbd, 0x9e, 0x51, 0xf4, 0x66, 0x46, 0xd1, 0x53, 0x95, 0xa2, 0x5f, 0x55, 0x8a, 0x7e, 0x53, 0x29, - 0xfa, 0x5d, 0xa5, 0xe8, 0x0f, 0x95, 0xa2, 0x0b, 0x95, 0x0a, 0xcf, 0x54, 0x2a, 0xbc, 0x54, 0x29, - 0x7a, 0xa5, 0x52, 0xe1, 0xb5, 0x4a, 0xd1, 0x1b, 0x95, 0x0a, 0x4f, 0xff, 0xa6, 0xc2, 0x3f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x3c, 0x2b, 0x76, 0x8f, 0xf5, 0x16, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/unmarshaler/mapsproto2.pb.go b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/unmarshaler/mapsproto2.pb.go index ed1224dfd..3350da0b3 100644 --- a/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/unmarshaler/mapsproto2.pb.go +++ b/vendor/github.com/gogo/protobuf/test/mapsproto2/combos/unmarshaler/mapsproto2.pb.go @@ -3,28 +3,25 @@ package proto2_maps -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test "github.com/gogo/protobuf/test" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -50,6 +47,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -61,9 +59,11 @@ func (x MapEnum) Enum() *MapEnum { *p = x return p } + func (x MapEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(MapEnum_name, int32(x)) } + func (x *MapEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(MapEnum_value, data, "MapEnum") if err != nil { @@ -72,8 +72,9 @@ func (x *MapEnum) UnmarshalJSON(data []byte) error { *x = MapEnum(value) return nil } + func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_4a77fadeb5c37480, []int{0} + return fileDescriptor_6f53681484260870, []int{0} } type FloatingPoint struct { @@ -86,7 +87,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_4a77fadeb5c37480, []int{0} + return fileDescriptor_6f53681484260870, []int{0} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -94,8 +95,8 @@ func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FloatingPoint.Marshal(b, m, deterministic) } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return xxx_messageInfo_FloatingPoint.Size(m) @@ -119,7 +120,7 @@ type CustomMap struct { func (m *CustomMap) Reset() { *m = CustomMap{} } func (*CustomMap) ProtoMessage() {} func (*CustomMap) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_4a77fadeb5c37480, []int{1} + return fileDescriptor_6f53681484260870, []int{1} } func (m *CustomMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -127,8 +128,8 @@ func (m *CustomMap) XXX_Unmarshal(b []byte) error { func (m *CustomMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomMap.Marshal(b, m, deterministic) } -func (dst *CustomMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomMap.Merge(dst, src) +func (m *CustomMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomMap.Merge(m, src) } func (m *CustomMap) XXX_Size() int { return xxx_messageInfo_CustomMap.Size(m) @@ -165,7 +166,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_4a77fadeb5c37480, []int{2} + return fileDescriptor_6f53681484260870, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -173,8 +174,8 @@ func (m *AllMaps) XXX_Unmarshal(b []byte) error { func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMaps.Marshal(b, m, deterministic) } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return xxx_messageInfo_AllMaps.Size(m) @@ -211,7 +212,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_mapsproto2_4a77fadeb5c37480, []int{3} + return fileDescriptor_6f53681484260870, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -219,8 +220,8 @@ func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMapsOrdered.Marshal(b, m, deterministic) } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return xxx_messageInfo_AllMapsOrdered.Size(m) @@ -232,6 +233,7 @@ func (m *AllMapsOrdered) XXX_DiscardUnknown() { var xxx_messageInfo_AllMapsOrdered proto.InternalMessageInfo func init() { + proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) proto.RegisterType((*FloatingPoint)(nil), "proto2.maps.FloatingPoint") proto.RegisterType((*CustomMap)(nil), "proto2.maps.CustomMap") proto.RegisterMapType((map[string]github_com_gogo_protobuf_test.Uuid)(nil), "proto2.maps.CustomMap.IdsEntry") @@ -274,8 +276,88 @@ func init() { proto.RegisterMapType((map[string]*FloatingPoint)(nil), "proto2.maps.AllMapsOrdered.StringToMsgMapEntry") proto.RegisterMapType((map[uint32]uint32)(nil), "proto2.maps.AllMapsOrdered.Uint32MapEntry") proto.RegisterMapType((map[uint64]uint64)(nil), "proto2.maps.AllMapsOrdered.Uint64MapEntry") - proto.RegisterEnum("proto2.maps.MapEnum", MapEnum_name, MapEnum_value) } + +func init() { + proto.RegisterFile("combos/unmarshaler/mapsproto2.proto", fileDescriptor_6f53681484260870) +} + +var fileDescriptor_6f53681484260870 = []byte{ + // 1150 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcd, 0x6f, 0x1a, 0x47, + 0x18, 0xc6, 0x19, 0xb0, 0x0d, 0x0c, 0xdf, 0x93, 0xb4, 0x42, 0x48, 0x1d, 0x1c, 0xd2, 0x0f, 0x42, + 0x52, 0xb0, 0x69, 0x14, 0x59, 0x4e, 0x9b, 0xca, 0xd8, 0x4e, 0xb1, 0x52, 0xdc, 0x08, 0x9a, 0x7e, + 0x49, 0x96, 0x0a, 0x66, 0x21, 0xa8, 0xc0, 0x52, 0x76, 0x37, 0xaa, 0x2f, 0x55, 0xfe, 0x8c, 0x5e, + 0x7b, 0xeb, 0xb1, 0xc7, 0x1e, 0x7b, 0xb4, 0xd4, 0x4b, 0x8e, 0x51, 0x54, 0x59, 0x61, 0x7b, 0xc9, + 0x31, 0xc7, 0x1c, 0xab, 0x9d, 0xdd, 0x85, 0xd9, 0xdd, 0x77, 0x77, 0xa1, 0xa7, 0x1e, 0x7c, 0xc2, + 0xb3, 0xbc, 0xcf, 0xef, 0x79, 0x77, 0x77, 0xe6, 0xe5, 0x31, 0xbe, 0x7e, 0x2a, 0x8e, 0x3a, 0xa2, + 0x54, 0x51, 0xc6, 0xa3, 0xf6, 0x54, 0x7a, 0xdc, 0x1e, 0x0a, 0xd3, 0xca, 0xa8, 0x3d, 0x91, 0x26, + 0x53, 0x51, 0x16, 0xab, 0x65, 0xf6, 0x41, 0x62, 0xc6, 0x4a, 0xfb, 0x22, 0xf7, 0x61, 0x7f, 0x20, + 0x3f, 0x56, 0x3a, 0xe5, 0x53, 0x71, 0x54, 0xe9, 0x8b, 0x7d, 0xb1, 0xc2, 0xbe, 0xec, 0x28, 0x3d, + 0xb6, 0x62, 0x0b, 0xf6, 0x97, 0xae, 0x2d, 0xbc, 0x83, 0x13, 0xf7, 0x87, 0x62, 0x5b, 0x1e, 0x8c, + 0xfb, 0x0f, 0xc5, 0xc1, 0x58, 0x26, 0x71, 0x8c, 0x7a, 0x59, 0xb4, 0x89, 0x8a, 0xa8, 0x89, 0x7a, + 0x85, 0xbf, 0xd6, 0x71, 0x74, 0x5f, 0x91, 0x64, 0x71, 0xd4, 0x68, 0x4f, 0xc8, 0xcf, 0x38, 0x7e, + 0xac, 0x0c, 0x87, 0xed, 0xce, 0x50, 0xd8, 0xae, 0xee, 0x48, 0x59, 0xb4, 0x19, 0x2a, 0xc6, 0xaa, + 0xc5, 0x32, 0xe7, 0x5f, 0x9e, 0x57, 0x97, 0xf9, 0xd2, 0xc3, 0xb1, 0x3c, 0x3d, 0xab, 0x6d, 0xbd, + 0xb8, 0xc8, 0xdf, 0x72, 0xed, 0x4f, 0x16, 0x24, 0xb9, 0x72, 0xca, 0xe4, 0xe5, 0x47, 0x83, 0xb1, + 0xbc, 0x5d, 0xdd, 0x69, 0x5a, 0xfc, 0xc8, 0x13, 0x1c, 0x31, 0xbe, 0x90, 0xb2, 0x41, 0xe6, 0xfd, + 0xae, 0x8b, 0xb7, 0x59, 0xa6, 0xfb, 0xde, 0x3e, 0xbf, 0xc8, 0x07, 0x56, 0xf6, 0x9e, 0x7b, 0x91, + 0x1f, 0x71, 0xcc, 0xec, 0xe3, 0xa8, 0x2b, 0x65, 0x43, 0xcc, 0xfa, 0x03, 0x9f, 0xdb, 0x3e, 0xea, + 0x1a, 0xee, 0xef, 0xbf, 0xb8, 0xc8, 0x17, 0x3c, 0x9d, 0xcb, 0x8f, 0x94, 0x41, 0xb7, 0xc9, 0x7b, + 0x90, 0x13, 0x1c, 0xd2, 0xac, 0xd6, 0x98, 0x55, 0xde, 0xc5, 0x6a, 0x6e, 0x51, 0x32, 0x6e, 0x70, + 0x19, 0x1b, 0x8d, 0x9b, 0xfb, 0x14, 0x67, 0x1c, 0xaf, 0x87, 0xa4, 0x71, 0xe8, 0x07, 0xe1, 0x8c, + 0xbd, 0xfc, 0x68, 0x53, 0xfb, 0x93, 0x5c, 0xc5, 0xeb, 0x4f, 0xda, 0x43, 0x45, 0xc8, 0x06, 0x37, + 0x51, 0x31, 0xde, 0xd4, 0x17, 0xbb, 0xc1, 0x1d, 0x94, 0xbb, 0x8b, 0x13, 0x96, 0x67, 0xbc, 0x92, + 0xf8, 0x1e, 0x4e, 0xdb, 0x9f, 0xd2, 0x4a, 0xfa, 0x3b, 0x38, 0xf2, 0x5f, 0x74, 0x85, 0xe7, 0x04, + 0x87, 0xf7, 0x86, 0xc3, 0x46, 0x7b, 0x22, 0x91, 0x6f, 0x71, 0xa6, 0x25, 0x4f, 0x07, 0xe3, 0xfe, + 0x97, 0xe2, 0x81, 0xa8, 0x74, 0x86, 0x42, 0xa3, 0x3d, 0x31, 0x36, 0xf4, 0x4d, 0xcb, 0xe3, 0x36, + 0x04, 0x65, 0x47, 0x35, 0xf3, 0x6f, 0x3a, 0x29, 0xe4, 0x2b, 0x9c, 0x36, 0x2f, 0xb2, 0xb3, 0xa5, + 0x91, 0xf5, 0xed, 0x5a, 0xf2, 0x24, 0x9b, 0xc5, 0x3a, 0xd8, 0xc1, 0x20, 0xf7, 0x70, 0xe4, 0x68, + 0x2c, 0x7f, 0x54, 0xd5, 0x78, 0xfa, 0x1e, 0x2c, 0x80, 0x3c, 0xb3, 0x48, 0xe7, 0xcc, 0x35, 0x86, + 0xfe, 0xce, 0x6d, 0x4d, 0xbf, 0xe6, 0xad, 0x67, 0x45, 0x0b, 0x3d, 0x5b, 0x92, 0x3d, 0x1c, 0xd5, + 0xde, 0xb9, 0xde, 0xc0, 0x3a, 0x03, 0x5c, 0x07, 0x01, 0xf3, 0x2a, 0x9d, 0xb0, 0x50, 0x99, 0x08, + 0xbd, 0x87, 0x0d, 0x1f, 0x04, 0xd7, 0xc4, 0x42, 0xa5, 0x21, 0x5a, 0xf3, 0x2e, 0xc2, 0x1e, 0x88, + 0x96, 0xad, 0x8b, 0x16, 0xdf, 0x45, 0x6b, 0xde, 0x45, 0xc4, 0x07, 0xc1, 0x77, 0x31, 0x5f, 0x93, + 0x03, 0x8c, 0xef, 0x0f, 0x7e, 0x12, 0xba, 0x7a, 0x1b, 0x51, 0x60, 0x18, 0x99, 0x8c, 0x45, 0x99, + 0x0e, 0xe1, 0x74, 0xe4, 0x33, 0x1c, 0x6b, 0xf5, 0x16, 0x18, 0xcc, 0x30, 0xef, 0xc1, 0xad, 0xf4, + 0x6c, 0x1c, 0x5e, 0x39, 0x6f, 0x47, 0xbf, 0xa5, 0x98, 0x5f, 0x3b, 0xdc, 0x3d, 0x71, 0xba, 0x45, + 0x3b, 0x3a, 0x26, 0xee, 0xdb, 0x0e, 0xc7, 0xe1, 0x95, 0xe4, 0x2e, 0x0e, 0xd7, 0x44, 0x51, 0xab, + 0xcc, 0x26, 0x18, 0xe4, 0x1a, 0x08, 0x31, 0x6a, 0x74, 0x80, 0xa9, 0x60, 0x6f, 0x87, 0x6d, 0x7d, + 0x4d, 0x9e, 0xf4, 0x7a, 0x3b, 0x66, 0x95, 0xf9, 0x76, 0xcc, 0x35, 0x7f, 0x02, 0x6b, 0x67, 0xb2, + 0x20, 0x69, 0xa4, 0xd4, 0x12, 0x27, 0xd0, 0x2c, 0xb6, 0x9d, 0x40, 0xf3, 0x32, 0x69, 0xe1, 0x94, + 0x79, 0xed, 0x70, 0xac, 0x68, 0x33, 0x38, 0x9b, 0x66, 0xd8, 0x1b, 0x9e, 0x58, 0xa3, 0x56, 0xa7, + 0xda, 0x09, 0xe4, 0x21, 0x4e, 0x9a, 0x97, 0x1a, 0x12, 0xbb, 0xe9, 0x0c, 0xf0, 0xbb, 0x6a, 0x67, + 0xea, 0xa5, 0x3a, 0xd2, 0xa6, 0xcf, 0x1d, 0xe0, 0xb7, 0xe1, 0x69, 0xe5, 0x37, 0x2d, 0x11, 0x3f, + 0x65, 0xf7, 0xf1, 0x5b, 0xe0, 0x64, 0xf2, 0x83, 0x04, 0x6d, 0xbf, 0x13, 0x96, 0x71, 0xc4, 0x8b, + 0xd7, 0x01, 0xf1, 0xba, 0x53, 0xbc, 0xd8, 0x64, 0xbc, 0x38, 0x04, 0x88, 0x43, 0xbc, 0xf8, 0x63, + 0x9c, 0xb4, 0xce, 0x21, 0x5e, 0x9d, 0x00, 0xd4, 0x09, 0x40, 0x0d, 0x7b, 0xaf, 0x01, 0xea, 0x35, + 0x9b, 0xba, 0xe5, 0xea, 0x9d, 0x01, 0xd4, 0x19, 0x40, 0x0d, 0x7b, 0x13, 0x40, 0x4d, 0x78, 0xf5, + 0x27, 0x38, 0x65, 0x1b, 0x39, 0xbc, 0x3c, 0x0c, 0xc8, 0xc3, 0xb6, 0xdf, 0x66, 0xfb, 0xa8, 0xe1, + 0xf5, 0x29, 0x40, 0x9f, 0x82, 0xec, 0xe1, 0xee, 0x37, 0x00, 0xf9, 0x06, 0x68, 0x0f, 0xeb, 0xd3, + 0x80, 0x3e, 0xcd, 0xeb, 0x77, 0x71, 0x9c, 0x9f, 0x2a, 0xbc, 0x36, 0x02, 0x68, 0x23, 0xf6, 0xe7, + 0x6e, 0x19, 0x29, 0x7e, 0x3b, 0x3d, 0xea, 0x72, 0x5c, 0x2c, 0x63, 0x64, 0xa5, 0x64, 0xf3, 0x0d, + 0xbe, 0x0a, 0x0d, 0x0d, 0x80, 0x51, 0xe2, 0x19, 0xc9, 0xea, 0x55, 0xcb, 0xb0, 0x60, 0x3a, 0x65, + 0xc4, 0x93, 0x4f, 0xf0, 0x15, 0x60, 0x74, 0x00, 0xe0, 0x2d, 0x1e, 0x1c, 0xab, 0xe6, 0x2c, 0x60, + 0xcb, 0xff, 0x0a, 0x7c, 0xb4, 0xfa, 0xfb, 0x0a, 0x4e, 0x1a, 0x23, 0xea, 0x8b, 0x69, 0x57, 0x98, + 0x0a, 0x5d, 0xf2, 0xbd, 0x7b, 0xc2, 0xaa, 0x42, 0xa3, 0xcd, 0xd0, 0xad, 0x10, 0xb4, 0x4e, 0x5c, + 0x83, 0xd6, 0xf6, 0x32, 0x06, 0x7e, 0x79, 0xeb, 0xd0, 0x91, 0xb7, 0x6e, 0x78, 0x61, 0xdd, 0x62, + 0xd7, 0xa1, 0x23, 0x76, 0xf9, 0x61, 0xc0, 0xf4, 0x55, 0x77, 0xa6, 0xaf, 0x92, 0x17, 0xc7, 0x3d, + 0x84, 0xd5, 0x9d, 0x21, 0xcc, 0x97, 0x04, 0x67, 0xb1, 0xba, 0x33, 0x8b, 0x79, 0x92, 0xdc, 0x23, + 0x59, 0xdd, 0x19, 0xc9, 0x7c, 0x49, 0x70, 0x32, 0x7b, 0x00, 0x24, 0xb3, 0x9b, 0x5e, 0x28, 0xaf, + 0x80, 0x76, 0x0c, 0x05, 0xb4, 0x5b, 0x9e, 0x8d, 0x79, 0xe6, 0xb4, 0x07, 0x40, 0x4e, 0xf3, 0x6f, + 0xce, 0x25, 0xae, 0x1d, 0x43, 0x71, 0x6d, 0x89, 0xe6, 0xdc, 0x52, 0x5b, 0xcd, 0x9e, 0xda, 0x8a, + 0x5e, 0x2c, 0x38, 0xbc, 0xd5, 0x9d, 0xe1, 0xad, 0xe4, 0x7f, 0x16, 0xa1, 0x0c, 0x77, 0xe2, 0x9a, + 0xe1, 0x96, 0x3a, 0xdc, 0x7e, 0x51, 0xee, 0x3b, 0xb7, 0x28, 0xb7, 0xb5, 0x0c, 0xdd, 0x3b, 0xd1, + 0x7d, 0xed, 0x92, 0xe8, 0x2a, 0xcb, 0xa0, 0x2f, 0x83, 0xdd, 0x65, 0xb0, 0xbb, 0x0c, 0x76, 0x97, + 0xc1, 0xee, 0xff, 0x11, 0xec, 0x76, 0xd7, 0x7e, 0xf9, 0x35, 0x8f, 0x4a, 0xd7, 0x70, 0xd8, 0xb0, + 0x26, 0x1b, 0x38, 0xd8, 0xd8, 0x4b, 0x07, 0xd8, 0x67, 0x2d, 0x8d, 0xd8, 0xe7, 0x7e, 0x3a, 0x58, + 0xfb, 0xfc, 0x7c, 0x46, 0x03, 0xcf, 0x66, 0x34, 0xf0, 0x7c, 0x46, 0x03, 0x2f, 0x67, 0x14, 0xbd, + 0x9a, 0x51, 0xf4, 0x7a, 0x46, 0xd1, 0x9b, 0x19, 0x45, 0x4f, 0x55, 0x8a, 0x7e, 0x53, 0x29, 0xfa, + 0x5d, 0xa5, 0xe8, 0x0f, 0x95, 0xa2, 0x3f, 0x55, 0x8a, 0xce, 0x55, 0x1a, 0x78, 0xa6, 0x52, 0xf4, + 0x52, 0xa5, 0xe8, 0x95, 0x4a, 0x03, 0xaf, 0x55, 0x8a, 0xde, 0xa8, 0x34, 0xf0, 0xf4, 0x1f, 0x1a, + 0xf8, 0x37, 0x00, 0x00, 0xff, 0xff, 0x1b, 0xc4, 0xd5, 0x8e, 0xf9, 0x16, 0x00, 0x00, +} + func (this *FloatingPoint) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Mapsproto2Description() } @@ -291,307 +373,309 @@ func (this *AllMapsOrdered) Description() (desc *github_com_gogo_protobuf_protoc func Mapsproto2Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4797 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7b, 0x5b, 0x6c, 0x23, 0xd7, - 0x79, 0xbf, 0x86, 0x17, 0x89, 0xfc, 0x48, 0x51, 0xa3, 0x91, 0xbc, 0xa6, 0x95, 0x58, 0xbb, 0x2b, - 0xdf, 0xe4, 0x5d, 0x5b, 0xb2, 0xe5, 0xdd, 0xf5, 0x9a, 0x1b, 0xdb, 0x7f, 0x4a, 0xe2, 0x6a, 0x65, - 0xeb, 0x96, 0xa1, 0xe4, 0x5b, 0x60, 0xcc, 0x7f, 0x34, 0x3c, 0xa2, 0xc6, 0x4b, 0xce, 0xd0, 0x33, - 0xc3, 0x5d, 0xcb, 0x28, 0x8a, 0x2d, 0xdc, 0x0b, 0x82, 0xa2, 0xf7, 0x02, 0x75, 0x5c, 0xc7, 0xad, - 0x53, 0x34, 0x4e, 0xd3, 0x5b, 0xd2, 0xb4, 0x69, 0x92, 0xbe, 0xe4, 0x25, 0xad, 0x81, 0x02, 0x45, - 0xf2, 0x16, 0x04, 0x81, 0xe1, 0x55, 0x0c, 0xd4, 0x6d, 0xdd, 0xc6, 0x6d, 0xfd, 0xe0, 0xc2, 0x2f, - 0xc5, 0xb9, 0x0d, 0xcf, 0x0c, 0x87, 0x1c, 0xca, 0x80, 0x9d, 0x3e, 0xf8, 0x69, 0x35, 0x67, 0xbe, - 0xdf, 0xef, 0x7c, 0xe7, 0x3b, 0xdf, 0xf9, 0xce, 0xef, 0x9c, 0xe1, 0xc2, 0x4f, 0x1f, 0x80, 0x13, - 0x75, 0xdb, 0xae, 0x37, 0xd0, 0x7c, 0xcb, 0xb1, 0x3d, 0x7b, 0xb7, 0xbd, 0x37, 0x5f, 0x43, 0xae, - 0xe1, 0x98, 0x2d, 0xcf, 0x76, 0xe6, 0x48, 0x9b, 0x32, 0x46, 0x2d, 0xe6, 0xb8, 0xc5, 0xcc, 0x3a, - 0x8c, 0x5f, 0x34, 0x1b, 0x68, 0xd9, 0x37, 0xac, 0x22, 0x4f, 0x39, 0x0f, 0xa9, 0x3d, 0xb3, 0x81, - 0x8a, 0xd2, 0x89, 0xe4, 0x6c, 0x6e, 0xe1, 0xd6, 0xb9, 0x10, 0x68, 0x2e, 0x88, 0xd8, 0xc2, 0xcd, - 0x2a, 0x41, 0xcc, 0xbc, 0x95, 0x82, 0x89, 0x88, 0xb7, 0x8a, 0x02, 0x29, 0x4b, 0x6f, 0x62, 0x46, - 0x69, 0x36, 0xab, 0x92, 0xbf, 0x95, 0x22, 0x8c, 0xb4, 0x74, 0xe3, 0xb2, 0x5e, 0x47, 0xc5, 0x04, - 0x69, 0xe6, 0x8f, 0xca, 0x34, 0x40, 0x0d, 0xb5, 0x90, 0x55, 0x43, 0x96, 0x71, 0x50, 0x4c, 0x9e, - 0x48, 0xce, 0x66, 0x55, 0xa1, 0x45, 0x39, 0x0d, 0xe3, 0xad, 0xf6, 0x6e, 0xc3, 0x34, 0x34, 0xc1, - 0x0c, 0x4e, 0x24, 0x67, 0xd3, 0xaa, 0x4c, 0x5f, 0x2c, 0x77, 0x8c, 0xef, 0x80, 0xb1, 0xab, 0x48, - 0xbf, 0x2c, 0x9a, 0xe6, 0x88, 0x69, 0x01, 0x37, 0x0b, 0x86, 0x4b, 0x90, 0x6f, 0x22, 0xd7, 0xd5, - 0xeb, 0x48, 0xf3, 0x0e, 0x5a, 0xa8, 0x98, 0x22, 0xa3, 0x3f, 0xd1, 0x35, 0xfa, 0xf0, 0xc8, 0x73, - 0x0c, 0xb5, 0x7d, 0xd0, 0x42, 0x4a, 0x19, 0xb2, 0xc8, 0x6a, 0x37, 0x29, 0x43, 0xba, 0x47, 0xfc, - 0x2a, 0x56, 0xbb, 0x19, 0x66, 0xc9, 0x60, 0x18, 0xa3, 0x18, 0x71, 0x91, 0x73, 0xc5, 0x34, 0x50, - 0x71, 0x98, 0x10, 0xdc, 0xd1, 0x45, 0x50, 0xa5, 0xef, 0xc3, 0x1c, 0x1c, 0xa7, 0x2c, 0x41, 0x16, - 0x3d, 0xe7, 0x21, 0xcb, 0x35, 0x6d, 0xab, 0x38, 0x42, 0x48, 0x6e, 0x8b, 0x98, 0x45, 0xd4, 0xa8, - 0x85, 0x29, 0x3a, 0x38, 0xe5, 0x1c, 0x8c, 0xd8, 0x2d, 0xcf, 0xb4, 0x2d, 0xb7, 0x98, 0x39, 0x21, - 0xcd, 0xe6, 0x16, 0x3e, 0x1d, 0x99, 0x08, 0x9b, 0xd4, 0x46, 0xe5, 0xc6, 0xca, 0x2a, 0xc8, 0xae, - 0xdd, 0x76, 0x0c, 0xa4, 0x19, 0x76, 0x0d, 0x69, 0xa6, 0xb5, 0x67, 0x17, 0xb3, 0x84, 0xe0, 0x78, - 0xf7, 0x40, 0x88, 0xe1, 0x92, 0x5d, 0x43, 0xab, 0xd6, 0x9e, 0xad, 0x16, 0xdc, 0xc0, 0xb3, 0x72, - 0x0c, 0x86, 0xdd, 0x03, 0xcb, 0xd3, 0x9f, 0x2b, 0xe6, 0x49, 0x86, 0xb0, 0xa7, 0x99, 0x6f, 0x0f, - 0xc3, 0xd8, 0x20, 0x29, 0x76, 0x01, 0xd2, 0x7b, 0x78, 0x94, 0xc5, 0xc4, 0x51, 0x62, 0x40, 0x31, - 0xc1, 0x20, 0x0e, 0x7f, 0xc8, 0x20, 0x96, 0x21, 0x67, 0x21, 0xd7, 0x43, 0x35, 0x9a, 0x11, 0xc9, - 0x01, 0x73, 0x0a, 0x28, 0xa8, 0x3b, 0xa5, 0x52, 0x1f, 0x2a, 0xa5, 0x9e, 0x80, 0x31, 0xdf, 0x25, - 0xcd, 0xd1, 0xad, 0x3a, 0xcf, 0xcd, 0xf9, 0x38, 0x4f, 0xe6, 0x2a, 0x1c, 0xa7, 0x62, 0x98, 0x5a, - 0x40, 0x81, 0x67, 0x65, 0x19, 0xc0, 0xb6, 0x90, 0xbd, 0xa7, 0xd5, 0x90, 0xd1, 0x28, 0x66, 0x7a, - 0x44, 0x69, 0x13, 0x9b, 0x74, 0x45, 0xc9, 0xa6, 0xad, 0x46, 0x43, 0x79, 0xa0, 0x93, 0x6a, 0x23, - 0x3d, 0x32, 0x65, 0x9d, 0x2e, 0xb2, 0xae, 0x6c, 0xdb, 0x81, 0x82, 0x83, 0x70, 0xde, 0xa3, 0x1a, - 0x1b, 0x59, 0x96, 0x38, 0x31, 0x17, 0x3b, 0x32, 0x95, 0xc1, 0xe8, 0xc0, 0x46, 0x1d, 0xf1, 0x51, - 0xb9, 0x05, 0xfc, 0x06, 0x8d, 0xa4, 0x15, 0x90, 0x2a, 0x94, 0xe7, 0x8d, 0x1b, 0x7a, 0x13, 0x4d, - 0x3d, 0x0f, 0x85, 0x60, 0x78, 0x94, 0x49, 0x48, 0xbb, 0x9e, 0xee, 0x78, 0x24, 0x0b, 0xd3, 0x2a, - 0x7d, 0x50, 0x64, 0x48, 0x22, 0xab, 0x46, 0xaa, 0x5c, 0x5a, 0xc5, 0x7f, 0x2a, 0xff, 0xaf, 0x33, - 0xe0, 0x24, 0x19, 0xf0, 0xed, 0xdd, 0x33, 0x1a, 0x60, 0x0e, 0x8f, 0x7b, 0xea, 0x7e, 0x18, 0x0d, - 0x0c, 0x60, 0xd0, 0xae, 0x67, 0x7e, 0x0e, 0x6e, 0x88, 0xa4, 0x56, 0x9e, 0x80, 0xc9, 0xb6, 0x65, - 0x5a, 0x1e, 0x72, 0x5a, 0x0e, 0xc2, 0x19, 0x4b, 0xbb, 0x2a, 0xfe, 0xf3, 0x48, 0x8f, 0x9c, 0xdb, - 0x11, 0xad, 0x29, 0x8b, 0x3a, 0xd1, 0xee, 0x6e, 0x3c, 0x95, 0xcd, 0xbc, 0x3d, 0x22, 0x5f, 0xbb, - 0x76, 0xed, 0x5a, 0x62, 0xe6, 0xc5, 0x61, 0x98, 0x8c, 0x5a, 0x33, 0x91, 0xcb, 0xf7, 0x18, 0x0c, - 0x5b, 0xed, 0xe6, 0x2e, 0x72, 0x48, 0x90, 0xd2, 0x2a, 0x7b, 0x52, 0xca, 0x90, 0x6e, 0xe8, 0xbb, - 0xa8, 0x51, 0x4c, 0x9d, 0x90, 0x66, 0x0b, 0x0b, 0xa7, 0x07, 0x5a, 0x95, 0x73, 0x6b, 0x18, 0xa2, - 0x52, 0xa4, 0xf2, 0x10, 0xa4, 0x58, 0x89, 0xc6, 0x0c, 0xa7, 0x06, 0x63, 0xc0, 0x6b, 0x49, 0x25, - 0x38, 0xe5, 0x53, 0x90, 0xc5, 0xff, 0xd2, 0xdc, 0x18, 0x26, 0x3e, 0x67, 0x70, 0x03, 0xce, 0x0b, - 0x65, 0x0a, 0x32, 0x64, 0x99, 0xd4, 0x10, 0xdf, 0xda, 0xfc, 0x67, 0x9c, 0x58, 0x35, 0xb4, 0xa7, - 0xb7, 0x1b, 0x9e, 0x76, 0x45, 0x6f, 0xb4, 0x11, 0x49, 0xf8, 0xac, 0x9a, 0x67, 0x8d, 0x8f, 0xe1, - 0x36, 0xe5, 0x38, 0xe4, 0xe8, 0xaa, 0x32, 0xad, 0x1a, 0x7a, 0x8e, 0x54, 0xcf, 0xb4, 0x4a, 0x17, - 0xda, 0x2a, 0x6e, 0xc1, 0xdd, 0x3f, 0xe3, 0xda, 0x16, 0x4f, 0x4d, 0xd2, 0x05, 0x6e, 0x20, 0xdd, - 0xdf, 0x1f, 0x2e, 0xdc, 0x37, 0x47, 0x0f, 0x2f, 0x9c, 0x53, 0x33, 0xdf, 0x4c, 0x40, 0x8a, 0xd4, - 0x8b, 0x31, 0xc8, 0x6d, 0x3f, 0xb9, 0x55, 0xd1, 0x96, 0x37, 0x77, 0x16, 0xd7, 0x2a, 0xb2, 0xa4, - 0x14, 0x00, 0x48, 0xc3, 0xc5, 0xb5, 0xcd, 0xf2, 0xb6, 0x9c, 0xf0, 0x9f, 0x57, 0x37, 0xb6, 0xcf, - 0x9d, 0x91, 0x93, 0x3e, 0x60, 0x87, 0x36, 0xa4, 0x44, 0x83, 0xfb, 0x16, 0xe4, 0xb4, 0x22, 0x43, - 0x9e, 0x12, 0xac, 0x3e, 0x51, 0x59, 0x3e, 0x77, 0x46, 0x1e, 0x0e, 0xb6, 0xdc, 0xb7, 0x20, 0x8f, - 0x28, 0xa3, 0x90, 0x25, 0x2d, 0x8b, 0x9b, 0x9b, 0x6b, 0x72, 0xc6, 0xe7, 0xac, 0x6e, 0xab, 0xab, - 0x1b, 0x2b, 0x72, 0xd6, 0xe7, 0x5c, 0x51, 0x37, 0x77, 0xb6, 0x64, 0xf0, 0x19, 0xd6, 0x2b, 0xd5, - 0x6a, 0x79, 0xa5, 0x22, 0xe7, 0x7c, 0x8b, 0xc5, 0x27, 0xb7, 0x2b, 0x55, 0x39, 0x1f, 0x70, 0xeb, - 0xbe, 0x05, 0x79, 0xd4, 0xef, 0xa2, 0xb2, 0xb1, 0xb3, 0x2e, 0x17, 0x94, 0x71, 0x18, 0xa5, 0x5d, - 0x70, 0x27, 0xc6, 0x42, 0x4d, 0xe7, 0xce, 0xc8, 0x72, 0xc7, 0x11, 0xca, 0x32, 0x1e, 0x68, 0x38, - 0x77, 0x46, 0x56, 0x66, 0x96, 0x20, 0x4d, 0xb2, 0x4b, 0x51, 0xa0, 0xb0, 0x56, 0x5e, 0xac, 0xac, - 0x69, 0x9b, 0x5b, 0xdb, 0xab, 0x9b, 0x1b, 0xe5, 0x35, 0x59, 0xea, 0xb4, 0xa9, 0x95, 0xcf, 0xee, - 0xac, 0xaa, 0x95, 0x65, 0x39, 0x21, 0xb6, 0x6d, 0x55, 0xca, 0xdb, 0x95, 0x65, 0x39, 0x39, 0x63, - 0xc0, 0x64, 0x54, 0x9d, 0x8c, 0x5c, 0x19, 0xc2, 0x14, 0x27, 0x7a, 0x4c, 0x31, 0xe1, 0xea, 0x9a, - 0xe2, 0x9f, 0x24, 0x60, 0x22, 0x62, 0xaf, 0x88, 0xec, 0xe4, 0x61, 0x48, 0xd3, 0x14, 0xa5, 0xbb, - 0xe7, 0x9d, 0x91, 0x9b, 0x0e, 0x49, 0xd8, 0xae, 0x1d, 0x94, 0xe0, 0x44, 0x05, 0x91, 0xec, 0xa1, - 0x20, 0x30, 0x45, 0x57, 0x4d, 0x7f, 0xba, 0xab, 0xa6, 0xd3, 0x6d, 0xef, 0xdc, 0x20, 0xdb, 0x1e, - 0x69, 0x3b, 0x5a, 0x6d, 0x4f, 0x47, 0xd4, 0xf6, 0x0b, 0x30, 0xde, 0x45, 0x34, 0x70, 0x8d, 0x7d, - 0x41, 0x82, 0x62, 0xaf, 0xe0, 0xc4, 0x54, 0xba, 0x44, 0xa0, 0xd2, 0x5d, 0x08, 0x47, 0xf0, 0x64, - 0xef, 0x49, 0xe8, 0x9a, 0xeb, 0xd7, 0x24, 0x38, 0x16, 0xad, 0x14, 0x23, 0x7d, 0x78, 0x08, 0x86, - 0x9b, 0xc8, 0xdb, 0xb7, 0xb9, 0x5a, 0xba, 0x3d, 0x62, 0x0f, 0xc6, 0xaf, 0xc3, 0x93, 0xcd, 0x50, - 0xe2, 0x26, 0x9e, 0xec, 0x25, 0xf7, 0xa8, 0x37, 0x5d, 0x9e, 0x7e, 0x3e, 0x01, 0x37, 0x44, 0x92, - 0x47, 0x3a, 0x7a, 0x33, 0x80, 0x69, 0xb5, 0xda, 0x1e, 0x55, 0x44, 0xb4, 0xc0, 0x66, 0x49, 0x0b, - 0x29, 0x5e, 0xb8, 0x78, 0xb6, 0x3d, 0xff, 0x7d, 0x92, 0xbc, 0x07, 0xda, 0x44, 0x0c, 0xce, 0x77, - 0x1c, 0x4d, 0x11, 0x47, 0xa7, 0x7b, 0x8c, 0xb4, 0x2b, 0x31, 0xef, 0x01, 0xd9, 0x68, 0x98, 0xc8, - 0xf2, 0x34, 0xd7, 0x73, 0x90, 0xde, 0x34, 0xad, 0x3a, 0xd9, 0x41, 0x32, 0xa5, 0xf4, 0x9e, 0xde, - 0x70, 0x91, 0x3a, 0x46, 0x5f, 0x57, 0xf9, 0x5b, 0x8c, 0x20, 0x09, 0xe4, 0x08, 0x88, 0xe1, 0x00, - 0x82, 0xbe, 0xf6, 0x11, 0x33, 0xdf, 0xc8, 0x40, 0x4e, 0xd0, 0xd5, 0xca, 0x49, 0xc8, 0x3f, 0xa3, - 0x5f, 0xd1, 0x35, 0x7e, 0x56, 0xa2, 0x91, 0xc8, 0xe1, 0xb6, 0x2d, 0x76, 0x5e, 0xba, 0x07, 0x26, - 0x89, 0x89, 0xdd, 0xf6, 0x90, 0xa3, 0x19, 0x0d, 0xdd, 0x75, 0x49, 0xd0, 0x32, 0xc4, 0x54, 0xc1, - 0xef, 0x36, 0xf1, 0xab, 0x25, 0xfe, 0x46, 0x39, 0x0b, 0x13, 0x04, 0xd1, 0x6c, 0x37, 0x3c, 0xb3, - 0xd5, 0x40, 0x1a, 0x3e, 0xbd, 0xb9, 0x64, 0x27, 0xf1, 0x3d, 0x1b, 0xc7, 0x16, 0xeb, 0xcc, 0x00, - 0x7b, 0xe4, 0x2a, 0xcb, 0x70, 0x33, 0x81, 0xd5, 0x91, 0x85, 0x1c, 0xdd, 0x43, 0x1a, 0x7a, 0xb6, - 0xad, 0x37, 0x5c, 0x4d, 0xb7, 0x6a, 0xda, 0xbe, 0xee, 0xee, 0x17, 0x27, 0x31, 0xc1, 0x62, 0xa2, - 0x28, 0xa9, 0x37, 0x61, 0xc3, 0x15, 0x66, 0x57, 0x21, 0x66, 0x65, 0xab, 0x76, 0x49, 0x77, 0xf7, - 0x95, 0x12, 0x1c, 0x23, 0x2c, 0xae, 0xe7, 0x98, 0x56, 0x5d, 0x33, 0xf6, 0x91, 0x71, 0x59, 0x6b, - 0x7b, 0x7b, 0xe7, 0x8b, 0x9f, 0x12, 0xfb, 0x27, 0x1e, 0x56, 0x89, 0xcd, 0x12, 0x36, 0xd9, 0xf1, - 0xf6, 0xce, 0x2b, 0x55, 0xc8, 0xe3, 0xc9, 0x68, 0x9a, 0xcf, 0x23, 0x6d, 0xcf, 0x76, 0xc8, 0xd6, - 0x58, 0x88, 0x28, 0x4d, 0x42, 0x04, 0xe7, 0x36, 0x19, 0x60, 0xdd, 0xae, 0xa1, 0x52, 0xba, 0xba, - 0x55, 0xa9, 0x2c, 0xab, 0x39, 0xce, 0x72, 0xd1, 0x76, 0x70, 0x42, 0xd5, 0x6d, 0x3f, 0xc0, 0x39, - 0x9a, 0x50, 0x75, 0x9b, 0x87, 0xf7, 0x2c, 0x4c, 0x18, 0x06, 0x1d, 0xb3, 0x69, 0x68, 0xec, 0x8c, - 0xe5, 0x16, 0xe5, 0x40, 0xb0, 0x0c, 0x63, 0x85, 0x1a, 0xb0, 0x1c, 0x77, 0x95, 0x07, 0xe0, 0x86, - 0x4e, 0xb0, 0x44, 0xe0, 0x78, 0xd7, 0x28, 0xc3, 0xd0, 0xb3, 0x30, 0xd1, 0x3a, 0xe8, 0x06, 0x2a, - 0x81, 0x1e, 0x5b, 0x07, 0x61, 0xd8, 0xfd, 0x30, 0xd9, 0xda, 0x6f, 0x75, 0xe3, 0x4e, 0x89, 0x38, - 0xa5, 0xb5, 0xdf, 0x0a, 0x03, 0x6f, 0x23, 0x07, 0x6e, 0x07, 0x19, 0xba, 0x87, 0x6a, 0xc5, 0x1b, - 0x45, 0x73, 0xe1, 0x85, 0x32, 0x0f, 0xb2, 0x61, 0x68, 0xc8, 0xd2, 0x77, 0x1b, 0x48, 0xd3, 0x1d, - 0x64, 0xe9, 0x6e, 0xf1, 0xb8, 0x68, 0x5c, 0x30, 0x8c, 0x0a, 0x79, 0x5b, 0x26, 0x2f, 0x95, 0x53, - 0x30, 0x6e, 0xef, 0x3e, 0x63, 0xd0, 0x94, 0xd4, 0x5a, 0x0e, 0xda, 0x33, 0x9f, 0x2b, 0xde, 0x4a, - 0xe2, 0x3b, 0x86, 0x5f, 0x90, 0x84, 0xdc, 0x22, 0xcd, 0xca, 0x9d, 0x20, 0x1b, 0xee, 0xbe, 0xee, - 0xb4, 0x48, 0x4d, 0x76, 0x5b, 0xba, 0x81, 0x8a, 0xb7, 0x51, 0x53, 0xda, 0xbe, 0xc1, 0x9b, 0xf1, - 0x92, 0x70, 0xaf, 0x9a, 0x7b, 0x1e, 0x67, 0xbc, 0x83, 0x2e, 0x09, 0xd2, 0xc6, 0xd8, 0x66, 0x41, - 0xc6, 0xa1, 0x08, 0x74, 0x3c, 0x4b, 0xcc, 0x0a, 0xad, 0xfd, 0x96, 0xd8, 0xef, 0x2d, 0x30, 0x8a, - 0x2d, 0x3b, 0x9d, 0xde, 0x49, 0x05, 0x59, 0x6b, 0x5f, 0xe8, 0xf1, 0x23, 0xd3, 0xc6, 0x33, 0x25, - 0xc8, 0x8b, 0xf9, 0xa9, 0x64, 0x81, 0x66, 0xa8, 0x2c, 0x61, 0xb1, 0xb2, 0xb4, 0xb9, 0x8c, 0x65, - 0xc6, 0x53, 0x15, 0x39, 0x81, 0xe5, 0xce, 0xda, 0xea, 0x76, 0x45, 0x53, 0x77, 0x36, 0xb6, 0x57, - 0xd7, 0x2b, 0x72, 0x52, 0xd4, 0xd5, 0xdf, 0x4b, 0x40, 0x21, 0x78, 0x44, 0x52, 0x3e, 0x03, 0x37, - 0xf2, 0xfb, 0x0c, 0x17, 0x79, 0xda, 0x55, 0xd3, 0x21, 0x4b, 0xa6, 0xa9, 0xd3, 0xed, 0xcb, 0x9f, - 0xb4, 0x49, 0x66, 0x55, 0x45, 0xde, 0xe3, 0xa6, 0x83, 0x17, 0x44, 0x53, 0xf7, 0x94, 0x35, 0x38, - 0x6e, 0xd9, 0x9a, 0xeb, 0xe9, 0x56, 0x4d, 0x77, 0x6a, 0x5a, 0xe7, 0x26, 0x49, 0xd3, 0x0d, 0x03, - 0xb9, 0xae, 0x4d, 0xb7, 0x2a, 0x9f, 0xe5, 0xd3, 0x96, 0x5d, 0x65, 0xc6, 0x9d, 0x1a, 0x5e, 0x66, - 0xa6, 0xa1, 0x04, 0x4b, 0xf6, 0x4a, 0xb0, 0x4f, 0x41, 0xb6, 0xa9, 0xb7, 0x34, 0x64, 0x79, 0xce, - 0x01, 0x11, 0xc6, 0x19, 0x35, 0xd3, 0xd4, 0x5b, 0x15, 0xfc, 0xfc, 0xf1, 0x9c, 0x4f, 0x7e, 0x9c, - 0x84, 0xbc, 0x28, 0x8e, 0xf1, 0x59, 0xc3, 0x20, 0xfb, 0x88, 0x44, 0x2a, 0xcd, 0x2d, 0x7d, 0xa5, - 0xf4, 0xdc, 0x12, 0xde, 0x60, 0x4a, 0xc3, 0x54, 0xb2, 0xaa, 0x14, 0x89, 0x37, 0x77, 0x5c, 0x5b, - 0x10, 0x95, 0x08, 0x19, 0x95, 0x3d, 0x29, 0x2b, 0x30, 0xfc, 0x8c, 0x4b, 0xb8, 0x87, 0x09, 0xf7, - 0xad, 0xfd, 0xb9, 0x1f, 0xa9, 0x12, 0xf2, 0xec, 0x23, 0x55, 0x6d, 0x63, 0x53, 0x5d, 0x2f, 0xaf, - 0xa9, 0x0c, 0xae, 0xdc, 0x04, 0xa9, 0x86, 0xfe, 0xfc, 0x41, 0x70, 0x2b, 0x22, 0x4d, 0x83, 0x06, - 0xfe, 0x26, 0x48, 0x5d, 0x45, 0xfa, 0xe5, 0xe0, 0x06, 0x40, 0x9a, 0x3e, 0xc2, 0xd4, 0x9f, 0x87, - 0x34, 0x89, 0x97, 0x02, 0xc0, 0x22, 0x26, 0x0f, 0x29, 0x19, 0x48, 0x2d, 0x6d, 0xaa, 0x38, 0xfd, - 0x65, 0xc8, 0xd3, 0x56, 0x6d, 0x6b, 0xb5, 0xb2, 0x54, 0x91, 0x13, 0x33, 0x67, 0x61, 0x98, 0x06, - 0x01, 0x2f, 0x0d, 0x3f, 0x0c, 0xf2, 0x10, 0x7b, 0x64, 0x1c, 0x12, 0x7f, 0xbb, 0xb3, 0xbe, 0x58, - 0x51, 0xe5, 0x84, 0x38, 0xbd, 0x2e, 0xe4, 0x45, 0x5d, 0xfc, 0xf1, 0xe4, 0xd4, 0x77, 0x24, 0xc8, - 0x09, 0x3a, 0x17, 0x0b, 0x14, 0xbd, 0xd1, 0xb0, 0xaf, 0x6a, 0x7a, 0xc3, 0xd4, 0x5d, 0x96, 0x14, - 0x40, 0x9a, 0xca, 0xb8, 0x65, 0xd0, 0x49, 0xfb, 0x58, 0x9c, 0x7f, 0x45, 0x02, 0x39, 0x2c, 0x31, - 0x43, 0x0e, 0x4a, 0x3f, 0x53, 0x07, 0x5f, 0x96, 0xa0, 0x10, 0xd4, 0x95, 0x21, 0xf7, 0x4e, 0xfe, - 0x4c, 0xdd, 0x7b, 0x33, 0x01, 0xa3, 0x01, 0x35, 0x39, 0xa8, 0x77, 0xcf, 0xc2, 0xb8, 0x59, 0x43, - 0xcd, 0x96, 0xed, 0x21, 0xcb, 0x38, 0xd0, 0x1a, 0xe8, 0x0a, 0x6a, 0x14, 0x67, 0x48, 0xa1, 0x98, - 0xef, 0xaf, 0x57, 0xe7, 0x56, 0x3b, 0xb8, 0x35, 0x0c, 0x2b, 0x4d, 0xac, 0x2e, 0x57, 0xd6, 0xb7, - 0x36, 0xb7, 0x2b, 0x1b, 0x4b, 0x4f, 0x6a, 0x3b, 0x1b, 0x8f, 0x6e, 0x6c, 0x3e, 0xbe, 0xa1, 0xca, - 0x66, 0xc8, 0xec, 0x23, 0x5c, 0xea, 0x5b, 0x20, 0x87, 0x9d, 0x52, 0x6e, 0x84, 0x28, 0xb7, 0xe4, - 0x21, 0x65, 0x02, 0xc6, 0x36, 0x36, 0xb5, 0xea, 0xea, 0x72, 0x45, 0xab, 0x5c, 0xbc, 0x58, 0x59, - 0xda, 0xae, 0xd2, 0x1b, 0x08, 0xdf, 0x7a, 0x3b, 0xb8, 0xa8, 0x5f, 0x4a, 0xc2, 0x44, 0x84, 0x27, - 0x4a, 0x99, 0x9d, 0x1d, 0xe8, 0x71, 0xe6, 0xee, 0x41, 0xbc, 0x9f, 0xc3, 0x5b, 0xfe, 0x96, 0xee, - 0x78, 0xec, 0xa8, 0x71, 0x27, 0xe0, 0x28, 0x59, 0x9e, 0xb9, 0x67, 0x22, 0x87, 0x5d, 0xd8, 0xd0, - 0x03, 0xc5, 0x58, 0xa7, 0x9d, 0xde, 0xd9, 0xdc, 0x05, 0x4a, 0xcb, 0x76, 0x4d, 0xcf, 0xbc, 0x82, - 0x34, 0xd3, 0xe2, 0xb7, 0x3b, 0xf8, 0x80, 0x91, 0x52, 0x65, 0xfe, 0x66, 0xd5, 0xf2, 0x7c, 0x6b, - 0x0b, 0xd5, 0xf5, 0x90, 0x35, 0x2e, 0xe0, 0x49, 0x55, 0xe6, 0x6f, 0x7c, 0xeb, 0x93, 0x90, 0xaf, - 0xd9, 0x6d, 0xac, 0xba, 0xa8, 0x1d, 0xde, 0x2f, 0x24, 0x35, 0x47, 0xdb, 0x7c, 0x13, 0xa6, 0xa7, - 0x3b, 0xd7, 0x4a, 0x79, 0x35, 0x47, 0xdb, 0xa8, 0xc9, 0x1d, 0x30, 0xa6, 0xd7, 0xeb, 0x0e, 0x26, - 0xe7, 0x44, 0xf4, 0x84, 0x50, 0xf0, 0x9b, 0x89, 0xe1, 0xd4, 0x23, 0x90, 0xe1, 0x71, 0xc0, 0x5b, - 0x32, 0x8e, 0x84, 0xd6, 0xa2, 0xc7, 0xde, 0xc4, 0x6c, 0x56, 0xcd, 0x58, 0xfc, 0xe5, 0x49, 0xc8, - 0x9b, 0xae, 0xd6, 0xb9, 0x25, 0x4f, 0x9c, 0x48, 0xcc, 0x66, 0xd4, 0x9c, 0xe9, 0xfa, 0x37, 0x8c, - 0x33, 0xaf, 0x25, 0xa0, 0x10, 0xbc, 0xe5, 0x57, 0x96, 0x21, 0xd3, 0xb0, 0x0d, 0x9d, 0xa4, 0x16, - 0xfd, 0xc4, 0x34, 0x1b, 0xf3, 0x61, 0x60, 0x6e, 0x8d, 0xd9, 0xab, 0x3e, 0x72, 0xea, 0x9f, 0x24, - 0xc8, 0xf0, 0x66, 0xe5, 0x18, 0xa4, 0x5a, 0xba, 0xb7, 0x4f, 0xe8, 0xd2, 0x8b, 0x09, 0x59, 0x52, - 0xc9, 0x33, 0x6e, 0x77, 0x5b, 0xba, 0x45, 0x52, 0x80, 0xb5, 0xe3, 0x67, 0x3c, 0xaf, 0x0d, 0xa4, - 0xd7, 0xc8, 0xf1, 0xc3, 0x6e, 0x36, 0x91, 0xe5, 0xb9, 0x7c, 0x5e, 0x59, 0xfb, 0x12, 0x6b, 0x56, - 0x4e, 0xc3, 0xb8, 0xe7, 0xe8, 0x66, 0x23, 0x60, 0x9b, 0x22, 0xb6, 0x32, 0x7f, 0xe1, 0x1b, 0x97, - 0xe0, 0x26, 0xce, 0x5b, 0x43, 0x9e, 0x6e, 0xec, 0xa3, 0x5a, 0x07, 0x34, 0x4c, 0xae, 0x19, 0x6e, - 0x64, 0x06, 0xcb, 0xec, 0x3d, 0xc7, 0xce, 0xfc, 0x40, 0x82, 0x71, 0x7e, 0x60, 0xaa, 0xf9, 0xc1, - 0x5a, 0x07, 0xd0, 0x2d, 0xcb, 0xf6, 0xc4, 0x70, 0x75, 0xa7, 0x72, 0x17, 0x6e, 0xae, 0xec, 0x83, - 0x54, 0x81, 0x60, 0xaa, 0x09, 0xd0, 0x79, 0xd3, 0x33, 0x6c, 0xc7, 0x21, 0xc7, 0x3e, 0xe1, 0x90, - 0xef, 0x80, 0xf4, 0x88, 0x0d, 0xb4, 0x09, 0x9f, 0xac, 0x94, 0x49, 0x48, 0xef, 0xa2, 0xba, 0x69, - 0xb1, 0x8b, 0x59, 0xfa, 0xc0, 0x2f, 0x42, 0x52, 0xfe, 0x45, 0xc8, 0xe2, 0xe7, 0x60, 0xc2, 0xb0, - 0x9b, 0x61, 0x77, 0x17, 0xe5, 0xd0, 0x31, 0xdf, 0xbd, 0x24, 0x3d, 0x05, 0x1d, 0x89, 0xf9, 0xbe, - 0x24, 0x7d, 0x29, 0x91, 0x5c, 0xd9, 0x5a, 0xfc, 0x6a, 0x62, 0x6a, 0x85, 0x42, 0xb7, 0xf8, 0x48, - 0x55, 0xb4, 0xd7, 0x40, 0x06, 0xf6, 0x1e, 0xbe, 0x7c, 0x1a, 0xee, 0xae, 0x9b, 0xde, 0x7e, 0x7b, - 0x77, 0xce, 0xb0, 0x9b, 0xf3, 0x75, 0xbb, 0x6e, 0x77, 0x3e, 0x7d, 0xe2, 0x27, 0xf2, 0x40, 0xfe, - 0x62, 0x9f, 0x3f, 0xb3, 0x7e, 0xeb, 0x54, 0xec, 0xb7, 0xd2, 0xd2, 0x06, 0x4c, 0x30, 0x63, 0x8d, - 0x7c, 0x7f, 0xa1, 0xa7, 0x08, 0xa5, 0xef, 0x1d, 0x56, 0xf1, 0xeb, 0x6f, 0x91, 0xed, 0x5a, 0x1d, - 0x67, 0x50, 0xfc, 0x8e, 0x1e, 0x34, 0x4a, 0x2a, 0xdc, 0x10, 0xe0, 0xa3, 0x4b, 0x13, 0x39, 0x31, - 0x8c, 0xdf, 0x63, 0x8c, 0x13, 0x02, 0x63, 0x95, 0x41, 0x4b, 0x4b, 0x30, 0x7a, 0x14, 0xae, 0xbf, - 0x67, 0x5c, 0x79, 0x24, 0x92, 0xac, 0xc0, 0x18, 0x21, 0x31, 0xda, 0xae, 0x67, 0x37, 0x49, 0xdd, - 0xeb, 0x4f, 0xf3, 0x0f, 0x6f, 0xd1, 0xb5, 0x52, 0xc0, 0xb0, 0x25, 0x1f, 0x55, 0x2a, 0x01, 0xf9, - 0xe4, 0x54, 0x43, 0x46, 0x23, 0x86, 0xe1, 0x75, 0xe6, 0x88, 0x6f, 0x5f, 0x7a, 0x0c, 0x26, 0xf1, - 0xdf, 0xa4, 0x2c, 0x89, 0x9e, 0xc4, 0x5f, 0x78, 0x15, 0x7f, 0xf0, 0x02, 0x5d, 0x8e, 0x13, 0x3e, - 0x81, 0xe0, 0x93, 0x30, 0x8b, 0x75, 0xe4, 0x79, 0xc8, 0x71, 0x35, 0xbd, 0x11, 0xe5, 0x9e, 0x70, - 0x63, 0x50, 0xfc, 0xc2, 0x3b, 0xc1, 0x59, 0x5c, 0xa1, 0xc8, 0x72, 0xa3, 0x51, 0xda, 0x81, 0x1b, - 0x23, 0xb2, 0x62, 0x00, 0xce, 0x97, 0x18, 0xe7, 0x64, 0x57, 0x66, 0x60, 0xda, 0x2d, 0xe0, 0xed, - 0xfe, 0x5c, 0x0e, 0xc0, 0xf9, 0xfb, 0x8c, 0x53, 0x61, 0x58, 0x3e, 0xa5, 0x98, 0xf1, 0x11, 0x18, - 0xbf, 0x82, 0x9c, 0x5d, 0xdb, 0x65, 0xb7, 0x34, 0x03, 0xd0, 0xbd, 0xcc, 0xe8, 0xc6, 0x18, 0x90, - 0x5c, 0xdb, 0x60, 0xae, 0x07, 0x20, 0xb3, 0xa7, 0x1b, 0x68, 0x00, 0x8a, 0x2f, 0x32, 0x8a, 0x11, - 0x6c, 0x8f, 0xa1, 0x65, 0xc8, 0xd7, 0x6d, 0xb6, 0x33, 0xc5, 0xc3, 0x5f, 0x61, 0xf0, 0x1c, 0xc7, - 0x30, 0x8a, 0x96, 0xdd, 0x6a, 0x37, 0xf0, 0xb6, 0x15, 0x4f, 0xf1, 0x07, 0x9c, 0x82, 0x63, 0x18, - 0xc5, 0x11, 0xc2, 0xfa, 0x87, 0x9c, 0xc2, 0x15, 0xe2, 0xf9, 0x30, 0xe4, 0x6c, 0xab, 0x71, 0x60, - 0x5b, 0x83, 0x38, 0xf1, 0x2a, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x17, 0x20, 0x3b, 0xe8, 0x44, 0xfc, - 0xf1, 0x3b, 0x7c, 0x79, 0xf0, 0x19, 0x58, 0x81, 0x31, 0x5e, 0xa0, 0x4c, 0xdb, 0x1a, 0x80, 0xe2, - 0xcb, 0x8c, 0xa2, 0x20, 0xc0, 0xd8, 0x30, 0x3c, 0xe4, 0x7a, 0x75, 0x34, 0x08, 0xc9, 0x6b, 0x7c, - 0x18, 0x0c, 0xc2, 0x42, 0xb9, 0x8b, 0x2c, 0x63, 0x7f, 0x30, 0x86, 0xaf, 0xf0, 0x50, 0x72, 0x0c, - 0xa6, 0x58, 0x82, 0xd1, 0xa6, 0xee, 0xb8, 0xfb, 0x7a, 0x63, 0xa0, 0xe9, 0xf8, 0x13, 0xc6, 0x91, - 0xf7, 0x41, 0x2c, 0x22, 0x6d, 0xeb, 0x28, 0x34, 0x5f, 0xe5, 0x11, 0x11, 0x60, 0x6c, 0xe9, 0xb9, - 0x1e, 0xb9, 0xd2, 0x3a, 0x0a, 0xdb, 0x9f, 0xf2, 0xa5, 0x47, 0xb1, 0xeb, 0x22, 0xe3, 0x05, 0xc8, - 0xba, 0xe6, 0xf3, 0x03, 0xd1, 0xfc, 0x19, 0x9f, 0x69, 0x02, 0xc0, 0xe0, 0x27, 0xe1, 0xa6, 0xc8, - 0x6d, 0x62, 0x00, 0xb2, 0x3f, 0x67, 0x64, 0xc7, 0x22, 0xb6, 0x0a, 0x56, 0x12, 0x8e, 0x4a, 0xf9, - 0x17, 0xbc, 0x24, 0xa0, 0x10, 0xd7, 0x16, 0x3e, 0x2b, 0xb8, 0xfa, 0xde, 0xd1, 0xa2, 0xf6, 0x97, - 0x3c, 0x6a, 0x14, 0x1b, 0x88, 0xda, 0x36, 0x1c, 0x63, 0x8c, 0x47, 0x9b, 0xd7, 0xaf, 0xf1, 0xc2, - 0x4a, 0xd1, 0x3b, 0xc1, 0xd9, 0xfd, 0x1c, 0x4c, 0xf9, 0xe1, 0xe4, 0xa2, 0xd4, 0xd5, 0x9a, 0x7a, - 0x6b, 0x00, 0xe6, 0xaf, 0x33, 0x66, 0x5e, 0xf1, 0x7d, 0x55, 0xeb, 0xae, 0xeb, 0x2d, 0x4c, 0xfe, - 0x04, 0x14, 0x39, 0x79, 0xdb, 0x72, 0x90, 0x61, 0xd7, 0x2d, 0xf3, 0x79, 0x54, 0x1b, 0x80, 0xfa, - 0xaf, 0x42, 0x53, 0xb5, 0x23, 0xc0, 0x31, 0xf3, 0x2a, 0xc8, 0xbe, 0x56, 0xd1, 0xcc, 0x66, 0xcb, - 0x76, 0xbc, 0x18, 0xc6, 0x6f, 0xf0, 0x99, 0xf2, 0x71, 0xab, 0x04, 0x56, 0xaa, 0x40, 0x81, 0x3c, - 0x0e, 0x9a, 0x92, 0x7f, 0xcd, 0x88, 0x46, 0x3b, 0x28, 0x56, 0x38, 0x0c, 0xbb, 0xd9, 0xd2, 0x9d, - 0x41, 0xea, 0xdf, 0xdf, 0xf0, 0xc2, 0xc1, 0x20, 0xac, 0x70, 0x78, 0x07, 0x2d, 0x84, 0x77, 0xfb, - 0x01, 0x18, 0xbe, 0xc9, 0x0b, 0x07, 0xc7, 0x30, 0x0a, 0x2e, 0x18, 0x06, 0xa0, 0xf8, 0x5b, 0x4e, - 0xc1, 0x31, 0x98, 0xe2, 0xb3, 0x9d, 0x8d, 0xd6, 0x41, 0x75, 0xd3, 0xf5, 0x1c, 0x2a, 0x85, 0xfb, - 0x53, 0x7d, 0xeb, 0x9d, 0xa0, 0x08, 0x53, 0x05, 0x28, 0xae, 0x44, 0xec, 0x0a, 0x95, 0x9c, 0x94, - 0xe2, 0x1d, 0xfb, 0x36, 0xaf, 0x44, 0x02, 0x0c, 0xfb, 0x26, 0x28, 0x44, 0x1c, 0x76, 0x03, 0x9f, - 0x0f, 0x06, 0xa0, 0xfb, 0x4e, 0xc8, 0xb9, 0x2a, 0xc7, 0x62, 0x4e, 0x41, 0xff, 0xb4, 0xad, 0xcb, - 0xe8, 0x60, 0xa0, 0xec, 0xfc, 0xbb, 0x90, 0xfe, 0xd9, 0xa1, 0x48, 0x5a, 0x43, 0xc6, 0x42, 0x7a, - 0x4a, 0x89, 0xfb, 0xb1, 0x4e, 0xf1, 0x17, 0xde, 0x63, 0xe3, 0x0d, 0xca, 0xa9, 0xd2, 0x1a, 0x4e, - 0xf2, 0xa0, 0xe8, 0x89, 0x27, 0x7b, 0xe1, 0x3d, 0x3f, 0xcf, 0x03, 0x9a, 0xa7, 0x74, 0x11, 0x46, - 0x03, 0x82, 0x27, 0x9e, 0xea, 0x17, 0x19, 0x55, 0x5e, 0xd4, 0x3b, 0xa5, 0xb3, 0x90, 0xc2, 0xe2, - 0x25, 0x1e, 0xfe, 0x4b, 0x0c, 0x4e, 0xcc, 0x4b, 0x0f, 0x42, 0x86, 0x8b, 0x96, 0x78, 0xe8, 0x2f, - 0x33, 0xa8, 0x0f, 0xc1, 0x70, 0x2e, 0x58, 0xe2, 0xe1, 0xbf, 0xc2, 0xe1, 0x1c, 0x82, 0xe1, 0x83, - 0x87, 0xf0, 0xbb, 0xbf, 0x9a, 0x62, 0x9b, 0x0e, 0x8f, 0xdd, 0x05, 0x18, 0x61, 0x4a, 0x25, 0x1e, - 0xfd, 0x79, 0xd6, 0x39, 0x47, 0x94, 0xee, 0x87, 0xf4, 0x80, 0x01, 0xff, 0x35, 0x06, 0xa5, 0xf6, - 0xa5, 0x25, 0xc8, 0x09, 0xea, 0x24, 0x1e, 0xfe, 0xeb, 0x0c, 0x2e, 0xa2, 0xb0, 0xeb, 0x4c, 0x9d, - 0xc4, 0x13, 0xfc, 0x06, 0x77, 0x9d, 0x21, 0x70, 0xd8, 0xb8, 0x30, 0x89, 0x47, 0xff, 0x26, 0x8f, - 0x3a, 0x87, 0x94, 0x1e, 0x86, 0xac, 0xbf, 0xd9, 0xc4, 0xe3, 0x7f, 0x8b, 0xe1, 0x3b, 0x18, 0x1c, - 0x01, 0x61, 0xb3, 0x8b, 0xa7, 0xf8, 0x6d, 0x1e, 0x01, 0x01, 0x85, 0x97, 0x51, 0x58, 0xc0, 0xc4, - 0x33, 0xfd, 0x0e, 0x5f, 0x46, 0x21, 0xfd, 0x82, 0x67, 0x93, 0xd4, 0xfc, 0x78, 0x8a, 0xdf, 0xe5, - 0xb3, 0x49, 0xec, 0xb1, 0x1b, 0x61, 0x45, 0x10, 0xcf, 0xf1, 0x7b, 0xdc, 0x8d, 0x90, 0x20, 0x28, - 0x6d, 0x81, 0xd2, 0xad, 0x06, 0xe2, 0xf9, 0x5e, 0x64, 0x7c, 0xe3, 0x5d, 0x62, 0xa0, 0xf4, 0x38, - 0x1c, 0x8b, 0x56, 0x02, 0xf1, 0xac, 0x5f, 0x78, 0x2f, 0x74, 0x76, 0x13, 0x85, 0x40, 0x69, 0xbb, - 0xb3, 0xa5, 0x88, 0x2a, 0x20, 0x9e, 0xf6, 0xa5, 0xf7, 0x82, 0x85, 0x5b, 0x14, 0x01, 0xa5, 0x32, - 0x40, 0x67, 0x03, 0x8e, 0xe7, 0x7a, 0x99, 0x71, 0x09, 0x20, 0xbc, 0x34, 0xd8, 0xfe, 0x1b, 0x8f, - 0xff, 0x22, 0x5f, 0x1a, 0x0c, 0x81, 0x97, 0x06, 0xdf, 0x7a, 0xe3, 0xd1, 0xaf, 0xf0, 0xa5, 0xc1, - 0x21, 0x38, 0xb3, 0x85, 0xdd, 0x2d, 0x9e, 0xe1, 0x55, 0x9e, 0xd9, 0x02, 0xaa, 0xb4, 0x01, 0xe3, - 0x5d, 0x1b, 0x62, 0x3c, 0xd5, 0x97, 0x18, 0x95, 0x1c, 0xde, 0x0f, 0xc5, 0xcd, 0x8b, 0x6d, 0x86, - 0xf1, 0x6c, 0x7f, 0x14, 0xda, 0xbc, 0xd8, 0x5e, 0x58, 0xba, 0x00, 0x19, 0xab, 0xdd, 0x68, 0xe0, - 0xc5, 0xa3, 0xf4, 0xff, 0x81, 0x5d, 0xf1, 0x5f, 0x3e, 0x60, 0xd1, 0xe1, 0x80, 0xd2, 0x59, 0x48, - 0xa3, 0xe6, 0x2e, 0xaa, 0xc5, 0x21, 0xff, 0xf5, 0x03, 0x5e, 0x30, 0xb1, 0x75, 0xe9, 0x61, 0x00, - 0x7a, 0x35, 0x42, 0x3e, 0xfb, 0xc5, 0x60, 0xff, 0xed, 0x03, 0xf6, 0xd3, 0x97, 0x0e, 0xa4, 0x43, - 0x40, 0x7f, 0x48, 0xd3, 0x9f, 0xe0, 0x9d, 0x20, 0x01, 0x99, 0x91, 0x07, 0x60, 0xe4, 0x19, 0xd7, - 0xb6, 0x3c, 0xbd, 0x1e, 0x87, 0xfe, 0x77, 0x86, 0xe6, 0xf6, 0x38, 0x60, 0x4d, 0xdb, 0x41, 0x9e, - 0x5e, 0x77, 0xe3, 0xb0, 0xff, 0xc1, 0xb0, 0x3e, 0x00, 0x83, 0x0d, 0xdd, 0xf5, 0x06, 0x19, 0xf7, - 0x4f, 0x39, 0x98, 0x03, 0xb0, 0xd3, 0xf8, 0xef, 0xcb, 0xe8, 0x20, 0x0e, 0xfb, 0x2e, 0x77, 0x9a, - 0xd9, 0x97, 0x1e, 0x84, 0x2c, 0xfe, 0x93, 0xfe, 0x9e, 0x2d, 0x06, 0xfc, 0x9f, 0x0c, 0xdc, 0x41, - 0xe0, 0x9e, 0x5d, 0xaf, 0xe6, 0x99, 0xf1, 0xc1, 0xfe, 0x2f, 0x36, 0xd3, 0xdc, 0xbe, 0x54, 0x86, - 0x9c, 0xeb, 0xd5, 0x6a, 0x6d, 0xa6, 0x4f, 0x63, 0xe0, 0xff, 0xfd, 0x81, 0x7f, 0x65, 0xe1, 0x63, - 0xf0, 0x6c, 0x5f, 0xbd, 0xec, 0xb5, 0x6c, 0xf2, 0x99, 0x23, 0x8e, 0xe1, 0x3d, 0xc6, 0x20, 0x40, - 0x16, 0x2b, 0xd1, 0xd7, 0xb7, 0xb0, 0x62, 0xaf, 0xd8, 0xf4, 0xe2, 0xf6, 0xa9, 0x99, 0xf8, 0x1b, - 0x58, 0xf8, 0x9f, 0xbb, 0xe1, 0x16, 0xc3, 0x6e, 0xee, 0xda, 0xee, 0xbc, 0x50, 0xcc, 0xe7, 0x9b, - 0x7a, 0xcb, 0x25, 0x06, 0x0b, 0xec, 0x7a, 0x36, 0xc7, 0x9e, 0xf0, 0x8b, 0xa9, 0xa3, 0x5d, 0xed, - 0xce, 0xdc, 0x0c, 0xa3, 0x17, 0x1b, 0xb6, 0xee, 0x99, 0x56, 0x7d, 0x0b, 0x7b, 0xaf, 0xe4, 0x41, - 0xda, 0x23, 0x9f, 0x26, 0x25, 0x55, 0xda, 0x9b, 0xf9, 0xc7, 0x34, 0x64, 0xe9, 0xad, 0xe0, 0xba, - 0xde, 0x52, 0x7e, 0x1e, 0xf2, 0x1b, 0x6c, 0x29, 0xde, 0xbb, 0x70, 0xde, 0xf5, 0xbf, 0x42, 0x08, - 0xfd, 0xcf, 0xf9, 0xd6, 0x73, 0xa2, 0x29, 0xf9, 0x29, 0xc2, 0xe2, 0x3d, 0x3f, 0x7a, 0xe3, 0xf8, - 0x5d, 0x3d, 0xfd, 0xc3, 0xe2, 0x62, 0x9e, 0xae, 0x99, 0xb9, 0x1d, 0xd3, 0xf2, 0xee, 0x5d, 0x38, - 0xaf, 0x06, 0xfa, 0x53, 0xae, 0x40, 0x86, 0xbd, 0x70, 0xd9, 0xd7, 0xa9, 0x5b, 0x7b, 0xf4, 0xcd, - 0xcd, 0x68, 0xbf, 0x67, 0x5e, 0x7f, 0xe3, 0xf8, 0xd0, 0x91, 0xfb, 0xf6, 0xfb, 0x52, 0x9e, 0x85, - 0x1c, 0xf7, 0x63, 0xb5, 0xe6, 0xb2, 0xff, 0x8d, 0x70, 0x47, 0xcc, 0xb0, 0x57, 0x6b, 0xac, 0xf7, - 0xdb, 0x7f, 0xf4, 0xc6, 0xf1, 0x99, 0xbe, 0x3d, 0xcf, 0xed, 0xb4, 0xcd, 0x9a, 0x2a, 0xf6, 0xa1, - 0x3c, 0x0d, 0x49, 0xdc, 0x15, 0xfd, 0x01, 0xe7, 0xf1, 0x1e, 0x5d, 0xf9, 0x5d, 0x9c, 0x62, 0x03, - 0x1c, 0xa4, 0x1b, 0xcc, 0x3b, 0xf5, 0x30, 0x8c, 0x77, 0x4d, 0x8f, 0x22, 0x43, 0xf2, 0x32, 0x3a, - 0x60, 0xbf, 0x94, 0xc3, 0x7f, 0x2a, 0x93, 0x9d, 0x9f, 0xb2, 0x4a, 0xb3, 0x79, 0xf6, 0xfb, 0xd4, - 0x52, 0xe2, 0xbc, 0x34, 0x75, 0x01, 0x46, 0x03, 0x31, 0x3e, 0x12, 0xf8, 0x21, 0x90, 0xc3, 0x51, - 0x3a, 0x12, 0xfe, 0x1c, 0x64, 0x3e, 0x0c, 0x6e, 0xe6, 0x87, 0x0a, 0x8c, 0x94, 0x1b, 0x8d, 0x75, - 0xbd, 0xe5, 0x2a, 0x4f, 0xc2, 0x38, 0x3d, 0x02, 0x6d, 0xdb, 0xcb, 0xe4, 0x7b, 0xe0, 0xba, 0xde, - 0x62, 0x09, 0x7d, 0x3a, 0x10, 0x6e, 0x06, 0x98, 0xeb, 0xb2, 0x26, 0xfd, 0xab, 0xdd, 0x2c, 0xca, - 0x63, 0x20, 0xf3, 0x46, 0xb2, 0xb6, 0x30, 0x33, 0x4d, 0xd7, 0x53, 0x7d, 0x99, 0xb9, 0x31, 0x25, - 0xee, 0xe2, 0x50, 0x1e, 0x82, 0xcc, 0xaa, 0xe5, 0xdd, 0xb7, 0x80, 0xf9, 0x68, 0x0e, 0xce, 0x44, - 0xf2, 0x71, 0x23, 0xca, 0xe3, 0x63, 0x18, 0xfe, 0xdc, 0x19, 0x8c, 0x4f, 0xf5, 0xc7, 0x13, 0xa3, - 0x0e, 0x9e, 0x3c, 0x2a, 0x65, 0xc8, 0xe2, 0x39, 0xa7, 0x0e, 0xd0, 0xff, 0x08, 0x73, 0x4b, 0x24, - 0x81, 0x6f, 0x45, 0x19, 0x3a, 0x28, 0x4e, 0x41, 0x7d, 0x18, 0x8e, 0xa1, 0x10, 0x9c, 0xe8, 0xa0, - 0x30, 0x45, 0xd5, 0xf7, 0x62, 0xa4, 0x0f, 0x45, 0x35, 0xe4, 0x45, 0x55, 0xf4, 0xa2, 0xea, 0x7b, - 0x91, 0x89, 0xa1, 0x10, 0xbd, 0xf0, 0x9f, 0x95, 0x65, 0x80, 0x8b, 0xe6, 0x73, 0xa8, 0x46, 0xdd, - 0xc8, 0x46, 0x14, 0x23, 0xce, 0xd1, 0x31, 0xa3, 0x24, 0x02, 0x4e, 0x59, 0x81, 0x5c, 0x75, 0xaf, - 0x43, 0x03, 0xec, 0xff, 0x01, 0x45, 0xba, 0xb2, 0x17, 0xe2, 0x11, 0x91, 0xbe, 0x3b, 0x74, 0x48, - 0xb9, 0x38, 0x77, 0x84, 0x31, 0x09, 0xb8, 0x8e, 0x3b, 0x94, 0x26, 0x1f, 0xeb, 0x8e, 0xc0, 0x23, + // 4829 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x5b, 0x6c, 0x23, 0xd7, + 0x79, 0xd6, 0xf0, 0x22, 0x91, 0x3f, 0x29, 0x6a, 0x34, 0x92, 0xd7, 0xb4, 0x12, 0x6b, 0x77, 0xe5, + 0x9b, 0xbc, 0x6b, 0x4b, 0xb6, 0xbc, 0xbb, 0x5e, 0x73, 0x63, 0xbb, 0x94, 0xc4, 0xd5, 0xca, 0xd6, + 0x2d, 0x43, 0xc9, 0xb7, 0xc0, 0x98, 0x8e, 0x86, 0x47, 0xd4, 0x78, 0xc9, 0x19, 0x7a, 0x66, 0xb8, + 0x6b, 0x19, 0x45, 0xb1, 0x85, 0x7b, 0x41, 0xd0, 0xfb, 0x05, 0xa8, 0xe3, 0x3a, 0x6e, 0x9d, 0xa2, + 0x71, 0x9a, 0xde, 0x92, 0x5e, 0xd2, 0x24, 0x7d, 0xc9, 0x4b, 0x5a, 0x03, 0x05, 0x8a, 0xe4, 0x2d, + 0x08, 0x02, 0xc3, 0xab, 0x18, 0xa8, 0xdb, 0xba, 0xad, 0xdb, 0xfa, 0xc1, 0x85, 0x5f, 0x8a, 0x73, + 0x1b, 0x9e, 0x19, 0x0e, 0x39, 0x94, 0x01, 0x3b, 0x7d, 0xf0, 0xd3, 0x6a, 0xce, 0xf9, 0xbf, 0xef, + 0xfc, 0xf3, 0x9f, 0xff, 0xfc, 0xe7, 0x3b, 0x67, 0xb8, 0xf0, 0x7a, 0x09, 0x4e, 0xd4, 0x6d, 0xbb, + 0xde, 0x40, 0xf3, 0x2d, 0xc7, 0xf6, 0xec, 0xdd, 0xf6, 0xde, 0x7c, 0x0d, 0xb9, 0x86, 0x63, 0xb6, + 0x3c, 0xdb, 0x99, 0x23, 0x6d, 0xca, 0x18, 0xb5, 0x98, 0xe3, 0x16, 0x33, 0xeb, 0x30, 0x7e, 0xd1, + 0x6c, 0xa0, 0x65, 0xdf, 0xb0, 0x8a, 0x3c, 0xe5, 0x3c, 0xa4, 0xf6, 0xcc, 0x06, 0x2a, 0x4a, 0x27, + 0x92, 0xb3, 0xb9, 0x85, 0x5b, 0xe7, 0x42, 0xa0, 0xb9, 0x20, 0x62, 0x0b, 0x37, 0xab, 0x04, 0x31, + 0xf3, 0x56, 0x0a, 0x26, 0x22, 0x7a, 0x15, 0x05, 0x52, 0x96, 0xde, 0xc4, 0x8c, 0xd2, 0x6c, 0x56, + 0x25, 0x7f, 0x2b, 0x45, 0x18, 0x69, 0xe9, 0xc6, 0x65, 0xbd, 0x8e, 0x8a, 0x09, 0xd2, 0xcc, 0x1f, + 0x95, 0x69, 0x80, 0x1a, 0x6a, 0x21, 0xab, 0x86, 0x2c, 0xe3, 0xa0, 0x98, 0x3c, 0x91, 0x9c, 0xcd, + 0xaa, 0x42, 0x8b, 0x72, 0x1a, 0xc6, 0x5b, 0xed, 0xdd, 0x86, 0x69, 0x68, 0x82, 0x19, 0x9c, 0x48, + 0xce, 0xa6, 0x55, 0x99, 0x76, 0x2c, 0x77, 0x8c, 0xef, 0x80, 0xb1, 0xab, 0x48, 0xbf, 0x2c, 0x9a, + 0xe6, 0x88, 0x69, 0x01, 0x37, 0x0b, 0x86, 0x4b, 0x90, 0x6f, 0x22, 0xd7, 0xd5, 0xeb, 0x48, 0xf3, + 0x0e, 0x5a, 0xa8, 0x98, 0x22, 0x6f, 0x7f, 0xa2, 0xeb, 0xed, 0xc3, 0x6f, 0x9e, 0x63, 0xa8, 0xed, + 0x83, 0x16, 0x52, 0xca, 0x90, 0x45, 0x56, 0xbb, 0x49, 0x19, 0xd2, 0x3d, 0xe2, 0x57, 0xb1, 0xda, + 0xcd, 0x30, 0x4b, 0x06, 0xc3, 0x18, 0xc5, 0x88, 0x8b, 0x9c, 0x2b, 0xa6, 0x81, 0x8a, 0xc3, 0x84, + 0xe0, 0x8e, 0x2e, 0x82, 0x2a, 0xed, 0x0f, 0x73, 0x70, 0x9c, 0xb2, 0x04, 0x59, 0xf4, 0x9c, 0x87, + 0x2c, 0xd7, 0xb4, 0xad, 0xe2, 0x08, 0x21, 0xb9, 0x2d, 0x62, 0x16, 0x51, 0xa3, 0x16, 0xa6, 0xe8, + 0xe0, 0x94, 0x73, 0x30, 0x62, 0xb7, 0x3c, 0xd3, 0xb6, 0xdc, 0x62, 0xe6, 0x84, 0x34, 0x9b, 0x5b, + 0xf8, 0x74, 0x64, 0x22, 0x6c, 0x52, 0x1b, 0x95, 0x1b, 0x2b, 0xab, 0x20, 0xbb, 0x76, 0xdb, 0x31, + 0x90, 0x66, 0xd8, 0x35, 0xa4, 0x99, 0xd6, 0x9e, 0x5d, 0xcc, 0x12, 0x82, 0xe3, 0xdd, 0x2f, 0x42, + 0x0c, 0x97, 0xec, 0x1a, 0x5a, 0xb5, 0xf6, 0x6c, 0xb5, 0xe0, 0x06, 0x9e, 0x95, 0x63, 0x30, 0xec, + 0x1e, 0x58, 0x9e, 0xfe, 0x5c, 0x31, 0x4f, 0x32, 0x84, 0x3d, 0xcd, 0x7c, 0x6b, 0x18, 0xc6, 0x06, + 0x49, 0xb1, 0x0b, 0x90, 0xde, 0xc3, 0x6f, 0x59, 0x4c, 0x1c, 0x25, 0x06, 0x14, 0x13, 0x0c, 0xe2, + 0xf0, 0x87, 0x0c, 0x62, 0x19, 0x72, 0x16, 0x72, 0x3d, 0x54, 0xa3, 0x19, 0x91, 0x1c, 0x30, 0xa7, + 0x80, 0x82, 0xba, 0x53, 0x2a, 0xf5, 0xa1, 0x52, 0xea, 0x09, 0x18, 0xf3, 0x5d, 0xd2, 0x1c, 0xdd, + 0xaa, 0xf3, 0xdc, 0x9c, 0x8f, 0xf3, 0x64, 0xae, 0xc2, 0x71, 0x2a, 0x86, 0xa9, 0x05, 0x14, 0x78, + 0x56, 0x96, 0x01, 0x6c, 0x0b, 0xd9, 0x7b, 0x5a, 0x0d, 0x19, 0x8d, 0x62, 0xa6, 0x47, 0x94, 0x36, + 0xb1, 0x49, 0x57, 0x94, 0x6c, 0xda, 0x6a, 0x34, 0x94, 0x07, 0x3a, 0xa9, 0x36, 0xd2, 0x23, 0x53, + 0xd6, 0xe9, 0x22, 0xeb, 0xca, 0xb6, 0x1d, 0x28, 0x38, 0x08, 0xe7, 0x3d, 0xaa, 0xb1, 0x37, 0xcb, + 0x12, 0x27, 0xe6, 0x62, 0xdf, 0x4c, 0x65, 0x30, 0xfa, 0x62, 0xa3, 0x8e, 0xf8, 0xa8, 0xdc, 0x02, + 0x7e, 0x83, 0x46, 0xd2, 0x0a, 0x48, 0x15, 0xca, 0xf3, 0xc6, 0x0d, 0xbd, 0x89, 0xa6, 0x9e, 0x87, + 0x42, 0x30, 0x3c, 0xca, 0x24, 0xa4, 0x5d, 0x4f, 0x77, 0x3c, 0x92, 0x85, 0x69, 0x95, 0x3e, 0x28, + 0x32, 0x24, 0x91, 0x55, 0x23, 0x55, 0x2e, 0xad, 0xe2, 0x3f, 0x95, 0x9f, 0xea, 0xbc, 0x70, 0x92, + 0xbc, 0xf0, 0xed, 0xdd, 0x33, 0x1a, 0x60, 0x0e, 0xbf, 0xf7, 0xd4, 0xfd, 0x30, 0x1a, 0x78, 0x81, + 0x41, 0x87, 0x9e, 0xf9, 0x19, 0xb8, 0x21, 0x92, 0x5a, 0x79, 0x02, 0x26, 0xdb, 0x96, 0x69, 0x79, + 0xc8, 0x69, 0x39, 0x08, 0x67, 0x2c, 0x1d, 0xaa, 0xf8, 0xcf, 0x23, 0x3d, 0x72, 0x6e, 0x47, 0xb4, + 0xa6, 0x2c, 0xea, 0x44, 0xbb, 0xbb, 0xf1, 0x54, 0x36, 0xf3, 0xf6, 0x88, 0x7c, 0xed, 0xda, 0xb5, + 0x6b, 0x89, 0x99, 0x17, 0x87, 0x61, 0x32, 0x6a, 0xcd, 0x44, 0x2e, 0xdf, 0x63, 0x30, 0x6c, 0xb5, + 0x9b, 0xbb, 0xc8, 0x21, 0x41, 0x4a, 0xab, 0xec, 0x49, 0x29, 0x43, 0xba, 0xa1, 0xef, 0xa2, 0x46, + 0x31, 0x75, 0x42, 0x9a, 0x2d, 0x2c, 0x9c, 0x1e, 0x68, 0x55, 0xce, 0xad, 0x61, 0x88, 0x4a, 0x91, + 0xca, 0x43, 0x90, 0x62, 0x25, 0x1a, 0x33, 0x9c, 0x1a, 0x8c, 0x01, 0xaf, 0x25, 0x95, 0xe0, 0x94, + 0x4f, 0x41, 0x16, 0xff, 0x4b, 0x73, 0x63, 0x98, 0xf8, 0x9c, 0xc1, 0x0d, 0x38, 0x2f, 0x94, 0x29, + 0xc8, 0x90, 0x65, 0x52, 0x43, 0x7c, 0x6b, 0xf3, 0x9f, 0x71, 0x62, 0xd5, 0xd0, 0x9e, 0xde, 0x6e, + 0x78, 0xda, 0x15, 0xbd, 0xd1, 0x46, 0x24, 0xe1, 0xb3, 0x6a, 0x9e, 0x35, 0x3e, 0x86, 0xdb, 0x94, + 0xe3, 0x90, 0xa3, 0xab, 0xca, 0xb4, 0x6a, 0xe8, 0x39, 0x52, 0x3d, 0xd3, 0x2a, 0x5d, 0x68, 0xab, + 0xb8, 0x05, 0x0f, 0xff, 0x8c, 0x6b, 0x5b, 0x3c, 0x35, 0xc9, 0x10, 0xb8, 0x81, 0x0c, 0x7f, 0x7f, + 0xb8, 0x70, 0xdf, 0x1c, 0xfd, 0x7a, 0xe1, 0x9c, 0x9a, 0xf9, 0x46, 0x02, 0x52, 0xa4, 0x5e, 0x8c, + 0x41, 0x6e, 0xfb, 0xc9, 0xad, 0x8a, 0xb6, 0xbc, 0xb9, 0xb3, 0xb8, 0x56, 0x91, 0x25, 0xa5, 0x00, + 0x40, 0x1a, 0x2e, 0xae, 0x6d, 0x96, 0xb7, 0xe5, 0x84, 0xff, 0xbc, 0xba, 0xb1, 0x7d, 0xee, 0x8c, + 0x9c, 0xf4, 0x01, 0x3b, 0xb4, 0x21, 0x25, 0x1a, 0xdc, 0xb7, 0x20, 0xa7, 0x15, 0x19, 0xf2, 0x94, + 0x60, 0xf5, 0x89, 0xca, 0xf2, 0xb9, 0x33, 0xf2, 0x70, 0xb0, 0xe5, 0xbe, 0x05, 0x79, 0x44, 0x19, + 0x85, 0x2c, 0x69, 0x59, 0xdc, 0xdc, 0x5c, 0x93, 0x33, 0x3e, 0x67, 0x75, 0x5b, 0x5d, 0xdd, 0x58, + 0x91, 0xb3, 0x3e, 0xe7, 0x8a, 0xba, 0xb9, 0xb3, 0x25, 0x83, 0xcf, 0xb0, 0x5e, 0xa9, 0x56, 0xcb, + 0x2b, 0x15, 0x39, 0xe7, 0x5b, 0x2c, 0x3e, 0xb9, 0x5d, 0xa9, 0xca, 0xf9, 0x80, 0x5b, 0xf7, 0x2d, + 0xc8, 0xa3, 0xfe, 0x10, 0x95, 0x8d, 0x9d, 0x75, 0xb9, 0xa0, 0x8c, 0xc3, 0x28, 0x1d, 0x82, 0x3b, + 0x31, 0x16, 0x6a, 0x3a, 0x77, 0x46, 0x96, 0x3b, 0x8e, 0x50, 0x96, 0xf1, 0x40, 0xc3, 0xb9, 0x33, + 0xb2, 0x32, 0xb3, 0x04, 0x69, 0x92, 0x5d, 0x8a, 0x02, 0x85, 0xb5, 0xf2, 0x62, 0x65, 0x4d, 0xdb, + 0xdc, 0xda, 0x5e, 0xdd, 0xdc, 0x28, 0xaf, 0xc9, 0x52, 0xa7, 0x4d, 0xad, 0x7c, 0x76, 0x67, 0x55, + 0xad, 0x2c, 0xcb, 0x09, 0xb1, 0x6d, 0xab, 0x52, 0xde, 0xae, 0x2c, 0xcb, 0xc9, 0x19, 0x03, 0x26, + 0xa3, 0xea, 0x64, 0xe4, 0xca, 0x10, 0xa6, 0x38, 0xd1, 0x63, 0x8a, 0x09, 0x57, 0xd7, 0x14, 0xff, + 0x38, 0x01, 0x13, 0x11, 0x7b, 0x45, 0xe4, 0x20, 0x0f, 0x43, 0x9a, 0xa6, 0x28, 0xdd, 0x3d, 0xef, + 0x8c, 0xdc, 0x74, 0x48, 0xc2, 0x76, 0xed, 0xa0, 0x04, 0x27, 0x2a, 0x88, 0x64, 0x0f, 0x05, 0x81, + 0x29, 0xba, 0x6a, 0xfa, 0xd3, 0x5d, 0x35, 0x9d, 0x6e, 0x7b, 0xe7, 0x06, 0xd9, 0xf6, 0x48, 0xdb, + 0xd1, 0x6a, 0x7b, 0x3a, 0xa2, 0xb6, 0x5f, 0x80, 0xf1, 0x2e, 0xa2, 0x81, 0x6b, 0xec, 0x0b, 0x12, + 0x14, 0x7b, 0x05, 0x27, 0xa6, 0xd2, 0x25, 0x02, 0x95, 0xee, 0x42, 0x38, 0x82, 0x27, 0x7b, 0x4f, + 0x42, 0xd7, 0x5c, 0xbf, 0x26, 0xc1, 0xb1, 0x68, 0xa5, 0x18, 0xe9, 0xc3, 0x43, 0x30, 0xdc, 0x44, + 0xde, 0xbe, 0xcd, 0xd5, 0xd2, 0xed, 0x11, 0x7b, 0x30, 0xee, 0x0e, 0x4f, 0x36, 0x43, 0x89, 0x9b, + 0x78, 0xb2, 0x97, 0xdc, 0xa3, 0xde, 0x74, 0x79, 0xfa, 0xf9, 0x04, 0xdc, 0x10, 0x49, 0x1e, 0xe9, + 0xe8, 0xcd, 0x00, 0xa6, 0xd5, 0x6a, 0x7b, 0x54, 0x11, 0xd1, 0x02, 0x9b, 0x25, 0x2d, 0xa4, 0x78, + 0xe1, 0xe2, 0xd9, 0xf6, 0xfc, 0xfe, 0x24, 0xe9, 0x07, 0xda, 0x44, 0x0c, 0xce, 0x77, 0x1c, 0x4d, + 0x11, 0x47, 0xa7, 0x7b, 0xbc, 0x69, 0x57, 0x62, 0xde, 0x03, 0xb2, 0xd1, 0x30, 0x91, 0xe5, 0x69, + 0xae, 0xe7, 0x20, 0xbd, 0x69, 0x5a, 0x75, 0xb2, 0x83, 0x64, 0x4a, 0xe9, 0x3d, 0xbd, 0xe1, 0x22, + 0x75, 0x8c, 0x76, 0x57, 0x79, 0x2f, 0x46, 0x90, 0x04, 0x72, 0x04, 0xc4, 0x70, 0x00, 0x41, 0xbb, + 0x7d, 0xc4, 0xcc, 0xaf, 0x64, 0x21, 0x27, 0xe8, 0x6a, 0xe5, 0x24, 0xe4, 0x9f, 0xd1, 0xaf, 0xe8, + 0x1a, 0x3f, 0x2b, 0xd1, 0x48, 0xe4, 0x70, 0xdb, 0x16, 0x3b, 0x2f, 0xdd, 0x03, 0x93, 0xc4, 0xc4, + 0x6e, 0x7b, 0xc8, 0xd1, 0x8c, 0x86, 0xee, 0xba, 0x24, 0x68, 0x19, 0x62, 0xaa, 0xe0, 0xbe, 0x4d, + 0xdc, 0xb5, 0xc4, 0x7b, 0x94, 0xb3, 0x30, 0x41, 0x10, 0xcd, 0x76, 0xc3, 0x33, 0x5b, 0x0d, 0xa4, + 0xe1, 0xd3, 0x9b, 0x4b, 0x76, 0x12, 0xdf, 0xb3, 0x71, 0x6c, 0xb1, 0xce, 0x0c, 0xb0, 0x47, 0xae, + 0xb2, 0x0c, 0x37, 0x13, 0x58, 0x1d, 0x59, 0xc8, 0xd1, 0x3d, 0xa4, 0xa1, 0x67, 0xdb, 0x7a, 0xc3, + 0xd5, 0x74, 0xab, 0xa6, 0xed, 0xeb, 0xee, 0x7e, 0x71, 0x12, 0x13, 0x2c, 0x26, 0x8a, 0x92, 0x7a, + 0x13, 0x36, 0x5c, 0x61, 0x76, 0x15, 0x62, 0x56, 0xb6, 0x6a, 0x97, 0x74, 0x77, 0x5f, 0x29, 0xc1, + 0x31, 0xc2, 0xe2, 0x7a, 0x8e, 0x69, 0xd5, 0x35, 0x63, 0x1f, 0x19, 0x97, 0xb5, 0xb6, 0xb7, 0x77, + 0xbe, 0xf8, 0x29, 0x71, 0x7c, 0xe2, 0x61, 0x95, 0xd8, 0x2c, 0x61, 0x93, 0x1d, 0x6f, 0xef, 0xbc, + 0x52, 0x85, 0x3c, 0x9e, 0x8c, 0xa6, 0xf9, 0x3c, 0xd2, 0xf6, 0x6c, 0x87, 0x6c, 0x8d, 0x85, 0x88, + 0xd2, 0x24, 0x44, 0x70, 0x6e, 0x93, 0x01, 0xd6, 0xed, 0x1a, 0x2a, 0xa5, 0xab, 0x5b, 0x95, 0xca, + 0xb2, 0x9a, 0xe3, 0x2c, 0x17, 0x6d, 0x07, 0x27, 0x54, 0xdd, 0xf6, 0x03, 0x9c, 0xa3, 0x09, 0x55, + 0xb7, 0x79, 0x78, 0xcf, 0xc2, 0x84, 0x61, 0xd0, 0x77, 0x36, 0x0d, 0x8d, 0x9d, 0xb1, 0xdc, 0xa2, + 0x1c, 0x08, 0x96, 0x61, 0xac, 0x50, 0x03, 0x96, 0xe3, 0xae, 0xf2, 0x00, 0xdc, 0xd0, 0x09, 0x96, + 0x08, 0x1c, 0xef, 0x7a, 0xcb, 0x30, 0xf4, 0x2c, 0x4c, 0xb4, 0x0e, 0xba, 0x81, 0x4a, 0x60, 0xc4, + 0xd6, 0x41, 0x18, 0x76, 0x3f, 0x4c, 0xb6, 0xf6, 0x5b, 0xdd, 0xb8, 0x53, 0x22, 0x4e, 0x69, 0xed, + 0xb7, 0xc2, 0xc0, 0xdb, 0xc8, 0x81, 0xdb, 0x41, 0x86, 0xee, 0xa1, 0x5a, 0xf1, 0x46, 0xd1, 0x5c, + 0xe8, 0x50, 0xe6, 0x41, 0x36, 0x0c, 0x0d, 0x59, 0xfa, 0x6e, 0x03, 0x69, 0xba, 0x83, 0x2c, 0xdd, + 0x2d, 0x1e, 0x17, 0x8d, 0x0b, 0x86, 0x51, 0x21, 0xbd, 0x65, 0xd2, 0xa9, 0x9c, 0x82, 0x71, 0x7b, + 0xf7, 0x19, 0x83, 0xa6, 0xa4, 0xd6, 0x72, 0xd0, 0x9e, 0xf9, 0x5c, 0xf1, 0x56, 0x12, 0xdf, 0x31, + 0xdc, 0x41, 0x12, 0x72, 0x8b, 0x34, 0x2b, 0x77, 0x82, 0x6c, 0xb8, 0xfb, 0xba, 0xd3, 0x22, 0x35, + 0xd9, 0x6d, 0xe9, 0x06, 0x2a, 0xde, 0x46, 0x4d, 0x69, 0xfb, 0x06, 0x6f, 0xc6, 0x4b, 0xc2, 0xbd, + 0x6a, 0xee, 0x79, 0x9c, 0xf1, 0x0e, 0xba, 0x24, 0x48, 0x1b, 0x63, 0x9b, 0x05, 0x19, 0x87, 0x22, + 0x30, 0xf0, 0x2c, 0x31, 0x2b, 0xb4, 0xf6, 0x5b, 0xe2, 0xb8, 0xb7, 0xc0, 0x28, 0xb6, 0xec, 0x0c, + 0x7a, 0x27, 0x15, 0x64, 0xad, 0x7d, 0x61, 0xc4, 0x33, 0x70, 0x0c, 0x1b, 0x35, 0x91, 0xa7, 0xd7, + 0x74, 0x4f, 0x17, 0xac, 0xef, 0x22, 0xd6, 0x38, 0xee, 0xeb, 0xac, 0x33, 0xe0, 0xa7, 0xd3, 0xde, + 0x3d, 0xf0, 0x33, 0xeb, 0x6e, 0xea, 0x27, 0x6e, 0xe3, 0xb9, 0xf5, 0x91, 0x89, 0xee, 0x99, 0x12, + 0xe4, 0xc5, 0xc4, 0x57, 0xb2, 0x40, 0x53, 0x5f, 0x96, 0xb0, 0x0a, 0x5a, 0xda, 0x5c, 0xc6, 0xfa, + 0xe5, 0xa9, 0x8a, 0x9c, 0xc0, 0x3a, 0x6a, 0x6d, 0x75, 0xbb, 0xa2, 0xa9, 0x3b, 0x1b, 0xdb, 0xab, + 0xeb, 0x15, 0x39, 0x29, 0x0a, 0xf6, 0xef, 0x26, 0xa0, 0x10, 0x3c, 0x7b, 0x29, 0x9f, 0x81, 0x1b, + 0xf9, 0x45, 0x89, 0x8b, 0x3c, 0xed, 0xaa, 0xe9, 0x90, 0xb5, 0xd8, 0xd4, 0xe9, 0xbe, 0xe8, 0x67, + 0xc3, 0x24, 0xb3, 0xaa, 0x22, 0xef, 0x71, 0xd3, 0xc1, 0x2b, 0xad, 0xa9, 0x7b, 0xca, 0x1a, 0x1c, + 0xb7, 0x6c, 0xcd, 0xf5, 0x74, 0xab, 0xa6, 0x3b, 0x35, 0xad, 0x73, 0x45, 0xa5, 0xe9, 0x86, 0x81, + 0x5c, 0xd7, 0xa6, 0x7b, 0xa0, 0xcf, 0xf2, 0x69, 0xcb, 0xae, 0x32, 0xe3, 0xce, 0xe6, 0x50, 0x66, + 0xa6, 0xa1, 0xcc, 0x4d, 0xf6, 0xca, 0xdc, 0x4f, 0x41, 0xb6, 0xa9, 0xb7, 0x34, 0x64, 0x79, 0xce, + 0x01, 0x51, 0xdc, 0x19, 0x35, 0xd3, 0xd4, 0x5b, 0x15, 0xfc, 0xfc, 0xf1, 0x1c, 0x7c, 0x7e, 0x94, + 0x84, 0xbc, 0xa8, 0xba, 0xf1, 0x21, 0xc6, 0x20, 0x1b, 0x94, 0x44, 0x4a, 0xd8, 0x2d, 0x7d, 0x35, + 0xfa, 0xdc, 0x12, 0xde, 0xb9, 0x4a, 0xc3, 0x54, 0x0b, 0xab, 0x14, 0x89, 0x55, 0x03, 0x4e, 0x2d, + 0x44, 0xb5, 0x47, 0x46, 0x65, 0x4f, 0xca, 0x0a, 0x0c, 0x3f, 0xe3, 0x12, 0xee, 0x61, 0xc2, 0x7d, + 0x6b, 0x7f, 0xee, 0x47, 0xaa, 0x84, 0x3c, 0xfb, 0x48, 0x55, 0xdb, 0xd8, 0x54, 0xd7, 0xcb, 0x6b, + 0x2a, 0x83, 0x2b, 0x37, 0x41, 0xaa, 0xa1, 0x3f, 0x7f, 0x10, 0xdc, 0xe3, 0x48, 0xd3, 0xa0, 0x81, + 0xbf, 0x09, 0x52, 0x57, 0x91, 0x7e, 0x39, 0xb8, 0xb3, 0x90, 0xa6, 0x8f, 0x30, 0xf5, 0xe7, 0x21, + 0x4d, 0xe2, 0xa5, 0x00, 0xb0, 0x88, 0xc9, 0x43, 0x4a, 0x06, 0x52, 0x4b, 0x9b, 0x2a, 0x4e, 0x7f, + 0x19, 0xf2, 0xb4, 0x55, 0xdb, 0x5a, 0xad, 0x2c, 0x55, 0xe4, 0xc4, 0xcc, 0x59, 0x18, 0xa6, 0x41, + 0xc0, 0x4b, 0xc3, 0x0f, 0x83, 0x3c, 0xc4, 0x1e, 0x19, 0x87, 0xc4, 0x7b, 0x77, 0xd6, 0x17, 0x2b, + 0xaa, 0x9c, 0x10, 0xa7, 0xd7, 0x85, 0xbc, 0x28, 0xb8, 0x3f, 0x9e, 0x9c, 0xfa, 0xb6, 0x04, 0x39, + 0x41, 0x40, 0x63, 0xe5, 0xa3, 0x37, 0x1a, 0xf6, 0x55, 0x4d, 0x6f, 0x98, 0xba, 0xcb, 0x92, 0x02, + 0x48, 0x53, 0x19, 0xb7, 0x0c, 0x3a, 0x69, 0x1f, 0x8b, 0xf3, 0xaf, 0x48, 0x20, 0x87, 0xb5, 0x6b, + 0xc8, 0x41, 0xe9, 0x27, 0xea, 0xe0, 0xcb, 0x12, 0x14, 0x82, 0x82, 0x35, 0xe4, 0xde, 0xc9, 0x9f, + 0xa8, 0x7b, 0x6f, 0x26, 0x60, 0x34, 0x20, 0x53, 0x07, 0xf5, 0xee, 0x59, 0x18, 0x37, 0x6b, 0xa8, + 0xd9, 0xb2, 0x3d, 0x64, 0x19, 0x07, 0x5a, 0x03, 0x5d, 0x41, 0x8d, 0xe2, 0x0c, 0x29, 0x14, 0xf3, + 0xfd, 0x85, 0xf0, 0xdc, 0x6a, 0x07, 0xb7, 0x86, 0x61, 0xa5, 0x89, 0xd5, 0xe5, 0xca, 0xfa, 0xd6, + 0xe6, 0x76, 0x65, 0x63, 0xe9, 0x49, 0x6d, 0x67, 0xe3, 0xd1, 0x8d, 0xcd, 0xc7, 0x37, 0x54, 0xd9, + 0x0c, 0x99, 0x7d, 0x84, 0x4b, 0x7d, 0x0b, 0xe4, 0xb0, 0x53, 0xca, 0x8d, 0x10, 0xe5, 0x96, 0x3c, + 0xa4, 0x4c, 0xc0, 0xd8, 0xc6, 0xa6, 0x56, 0x5d, 0x5d, 0xae, 0x68, 0x95, 0x8b, 0x17, 0x2b, 0x4b, + 0xdb, 0x55, 0x7a, 0xb5, 0xe1, 0x5b, 0x6f, 0x07, 0x17, 0xf5, 0x4b, 0x49, 0x98, 0x88, 0xf0, 0x44, + 0x29, 0xb3, 0x43, 0x09, 0x3d, 0x27, 0xdd, 0x3d, 0x88, 0xf7, 0x73, 0x58, 0x15, 0x6c, 0xe9, 0x8e, + 0xc7, 0xce, 0x30, 0x77, 0x02, 0x8e, 0x92, 0xe5, 0x99, 0x7b, 0x26, 0x72, 0xd8, 0x4d, 0x10, 0x3d, + 0xa9, 0x8c, 0x75, 0xda, 0xe9, 0x65, 0xd0, 0x5d, 0xa0, 0xb4, 0x6c, 0xd7, 0xf4, 0xcc, 0x2b, 0x48, + 0x33, 0x2d, 0x7e, 0x6d, 0x84, 0x4f, 0x2e, 0x29, 0x55, 0xe6, 0x3d, 0xab, 0x96, 0xe7, 0x5b, 0x5b, + 0xa8, 0xae, 0x87, 0xac, 0x71, 0x01, 0x4f, 0xaa, 0x32, 0xef, 0xf1, 0xad, 0x4f, 0x42, 0xbe, 0x66, + 0xb7, 0xb1, 0x9c, 0xa3, 0x76, 0x78, 0xbf, 0x90, 0xd4, 0x1c, 0x6d, 0xf3, 0x4d, 0x98, 0x50, 0xef, + 0xdc, 0x57, 0xe5, 0xd5, 0x1c, 0x6d, 0xa3, 0x26, 0x77, 0xc0, 0x98, 0x5e, 0xaf, 0x3b, 0x98, 0x9c, + 0x13, 0xd1, 0xa3, 0x47, 0xc1, 0x6f, 0x26, 0x86, 0x53, 0x8f, 0x40, 0x86, 0xc7, 0x01, 0x6f, 0xc9, + 0x38, 0x12, 0x5a, 0x8b, 0x9e, 0xa7, 0x13, 0xb3, 0x59, 0x35, 0x63, 0xf1, 0xce, 0x93, 0x90, 0x37, + 0x5d, 0xad, 0x73, 0xfd, 0x9e, 0x38, 0x91, 0x98, 0xcd, 0xa8, 0x39, 0xd3, 0xf5, 0xaf, 0x2e, 0x67, + 0x5e, 0x4b, 0x40, 0x21, 0xf8, 0xf9, 0x40, 0x59, 0x86, 0x4c, 0xc3, 0x36, 0x74, 0x92, 0x5a, 0xf4, + 0xdb, 0xd5, 0x6c, 0xcc, 0x17, 0x87, 0xb9, 0x35, 0x66, 0xaf, 0xfa, 0xc8, 0xa9, 0x7f, 0x92, 0x20, + 0xc3, 0x9b, 0x95, 0x63, 0x90, 0x6a, 0xe9, 0xde, 0x3e, 0xa1, 0x4b, 0x2f, 0x26, 0x64, 0x49, 0x25, + 0xcf, 0xb8, 0xdd, 0x6d, 0xe9, 0x16, 0x49, 0x01, 0xd6, 0x8e, 0x9f, 0xf1, 0xbc, 0x36, 0x90, 0x5e, + 0x23, 0xe7, 0x1a, 0xbb, 0xd9, 0x44, 0x96, 0xe7, 0xf2, 0x79, 0x65, 0xed, 0x4b, 0xac, 0x59, 0x39, + 0x0d, 0xe3, 0x9e, 0xa3, 0x9b, 0x8d, 0x80, 0x6d, 0x8a, 0xd8, 0xca, 0xbc, 0xc3, 0x37, 0x2e, 0xc1, + 0x4d, 0x9c, 0xb7, 0x86, 0x3c, 0xdd, 0xd8, 0x47, 0xb5, 0x0e, 0x68, 0x98, 0xdc, 0x5f, 0xdc, 0xc8, + 0x0c, 0x96, 0x59, 0x3f, 0xc7, 0xce, 0x7c, 0x5f, 0x82, 0x71, 0x7e, 0x12, 0xab, 0xf9, 0xc1, 0x5a, + 0x07, 0xd0, 0x2d, 0xcb, 0xf6, 0xc4, 0x70, 0x75, 0xa7, 0x72, 0x17, 0x6e, 0xae, 0xec, 0x83, 0x54, + 0x81, 0x60, 0xaa, 0x09, 0xd0, 0xe9, 0xe9, 0x19, 0xb6, 0xe3, 0x90, 0x63, 0xdf, 0x86, 0xc8, 0x07, + 0x46, 0x7a, 0x76, 0x07, 0xda, 0x84, 0x8f, 0x6c, 0xca, 0x24, 0xa4, 0x77, 0x51, 0xdd, 0xb4, 0xd8, + 0x8d, 0x2f, 0x7d, 0xe0, 0x37, 0x2c, 0x29, 0xff, 0x86, 0x65, 0xf1, 0x73, 0x30, 0x61, 0xd8, 0xcd, + 0xb0, 0xbb, 0x8b, 0x72, 0xe8, 0xfe, 0xc0, 0xbd, 0x24, 0x3d, 0x05, 0x1d, 0x89, 0xf9, 0xbe, 0x24, + 0x7d, 0x29, 0x91, 0x5c, 0xd9, 0x5a, 0xfc, 0x6a, 0x62, 0x6a, 0x85, 0x42, 0xb7, 0xf8, 0x9b, 0xaa, + 0x68, 0xaf, 0x81, 0x0c, 0xec, 0x3d, 0x7c, 0xf9, 0x34, 0xdc, 0x5d, 0x37, 0xbd, 0xfd, 0xf6, 0xee, + 0x9c, 0x61, 0x37, 0xe7, 0xeb, 0x76, 0xdd, 0xee, 0x7c, 0x53, 0xc5, 0x4f, 0xe4, 0x81, 0xfc, 0xc5, + 0xbe, 0xab, 0x66, 0xfd, 0xd6, 0xa9, 0xd8, 0x8f, 0xb0, 0xa5, 0x0d, 0x98, 0x60, 0xc6, 0x1a, 0xf9, + 0xb0, 0x43, 0x8f, 0x27, 0x4a, 0xdf, 0xcb, 0xb1, 0xe2, 0xd7, 0xdf, 0x22, 0xdb, 0xb5, 0x3a, 0xce, + 0xa0, 0xb8, 0x8f, 0x9e, 0x60, 0x4a, 0x2a, 0xdc, 0x10, 0xe0, 0xa3, 0x4b, 0x13, 0x39, 0x31, 0x8c, + 0xdf, 0x65, 0x8c, 0x13, 0x02, 0x63, 0x95, 0x41, 0x4b, 0x4b, 0x30, 0x7a, 0x14, 0xae, 0xbf, 0x67, + 0x5c, 0x79, 0x24, 0x92, 0xac, 0xc0, 0x18, 0x21, 0x31, 0xda, 0xae, 0x67, 0x37, 0x49, 0xdd, 0xeb, + 0x4f, 0xf3, 0x0f, 0x6f, 0xd1, 0xb5, 0x52, 0xc0, 0xb0, 0x25, 0x1f, 0x55, 0x2a, 0x01, 0xf9, 0x96, + 0x55, 0x43, 0x46, 0x23, 0x86, 0xe1, 0x75, 0xe6, 0x88, 0x6f, 0x5f, 0x7a, 0x0c, 0x26, 0xf1, 0xdf, + 0xa4, 0x2c, 0x89, 0x9e, 0xc4, 0xdf, 0xa4, 0x15, 0xbf, 0xff, 0x02, 0x5d, 0x8e, 0x13, 0x3e, 0x81, + 0xe0, 0x93, 0x30, 0x8b, 0x75, 0xe4, 0x79, 0xc8, 0x71, 0x35, 0xbd, 0x11, 0xe5, 0x9e, 0x70, 0x15, + 0x51, 0xfc, 0xc2, 0x3b, 0xc1, 0x59, 0x5c, 0xa1, 0xc8, 0x72, 0xa3, 0x51, 0xda, 0x81, 0x1b, 0x23, + 0xb2, 0x62, 0x00, 0xce, 0x97, 0x18, 0xe7, 0x64, 0x57, 0x66, 0x60, 0xda, 0x2d, 0xe0, 0xed, 0xfe, + 0x5c, 0x0e, 0xc0, 0xf9, 0x7b, 0x8c, 0x53, 0x61, 0x58, 0x3e, 0xa5, 0x98, 0xf1, 0x11, 0x18, 0xbf, + 0x82, 0x9c, 0x5d, 0xdb, 0x65, 0xd7, 0x3f, 0x03, 0xd0, 0xbd, 0xcc, 0xe8, 0xc6, 0x18, 0x90, 0xdc, + 0x07, 0x61, 0xae, 0x07, 0x20, 0xb3, 0xa7, 0x1b, 0x68, 0x00, 0x8a, 0x2f, 0x32, 0x8a, 0x11, 0x6c, + 0x8f, 0xa1, 0x65, 0xc8, 0xd7, 0x6d, 0xb6, 0x33, 0xc5, 0xc3, 0x5f, 0x61, 0xf0, 0x1c, 0xc7, 0x30, + 0x8a, 0x96, 0xdd, 0x6a, 0x37, 0xf0, 0xb6, 0x15, 0x4f, 0xf1, 0xfb, 0x9c, 0x82, 0x63, 0x18, 0xc5, + 0x11, 0xc2, 0xfa, 0x07, 0x9c, 0xc2, 0x15, 0xe2, 0xf9, 0x30, 0xe4, 0x6c, 0xab, 0x71, 0x60, 0x5b, + 0x83, 0x38, 0xf1, 0x2a, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x17, 0x20, 0x3b, 0xe8, 0x44, 0xfc, 0xd1, + 0x3b, 0x7c, 0x79, 0xf0, 0x19, 0x58, 0x81, 0x31, 0x5e, 0xa0, 0x4c, 0xdb, 0x1a, 0x80, 0xe2, 0xcb, + 0x8c, 0xa2, 0x20, 0xc0, 0xd8, 0x6b, 0x78, 0xc8, 0xf5, 0xea, 0x68, 0x10, 0x92, 0xd7, 0xf8, 0x6b, + 0x30, 0x08, 0x0b, 0xe5, 0x2e, 0xb2, 0x8c, 0xfd, 0xc1, 0x18, 0xbe, 0xc2, 0x43, 0xc9, 0x31, 0x98, + 0x62, 0x09, 0x46, 0x9b, 0xba, 0xe3, 0xee, 0xeb, 0x8d, 0x81, 0xa6, 0xe3, 0x8f, 0x19, 0x47, 0xde, + 0x07, 0xb1, 0x88, 0xb4, 0xad, 0xa3, 0xd0, 0x7c, 0x95, 0x47, 0x44, 0x80, 0xb1, 0xa5, 0xe7, 0x7a, + 0xe4, 0xae, 0xec, 0x28, 0x6c, 0x7f, 0xc2, 0x97, 0x1e, 0xc5, 0xae, 0x8b, 0x8c, 0x17, 0x20, 0xeb, + 0x9a, 0xcf, 0x0f, 0x44, 0xf3, 0xa7, 0x7c, 0xa6, 0x09, 0x00, 0x83, 0x9f, 0x84, 0x9b, 0x22, 0xb7, + 0x89, 0x01, 0xc8, 0xfe, 0x8c, 0x91, 0x1d, 0x8b, 0xd8, 0x2a, 0x58, 0x49, 0x38, 0x2a, 0xe5, 0x9f, + 0xf3, 0x92, 0x80, 0x42, 0x5c, 0x5b, 0xf8, 0xac, 0xe0, 0xea, 0x7b, 0x47, 0x8b, 0xda, 0x5f, 0xf0, + 0xa8, 0x51, 0x6c, 0x20, 0x6a, 0xdb, 0x70, 0x8c, 0x31, 0x1e, 0x6d, 0x5e, 0xbf, 0xc6, 0x0b, 0x2b, + 0x45, 0xef, 0x04, 0x67, 0xf7, 0x73, 0x30, 0xe5, 0x87, 0x93, 0x8b, 0x52, 0x57, 0x6b, 0xea, 0xad, + 0x01, 0x98, 0xbf, 0xce, 0x98, 0x79, 0xc5, 0xf7, 0x55, 0xad, 0xbb, 0xae, 0xb7, 0x30, 0xf9, 0x13, + 0x50, 0xe4, 0xe4, 0x6d, 0xcb, 0x41, 0x86, 0x5d, 0xb7, 0xcc, 0xe7, 0x51, 0x6d, 0x00, 0xea, 0xbf, + 0x0c, 0x4d, 0xd5, 0x8e, 0x00, 0xc7, 0xcc, 0xab, 0x20, 0xfb, 0x5a, 0x45, 0x33, 0x9b, 0x2d, 0xdb, + 0xf1, 0x62, 0x18, 0xff, 0x8a, 0xcf, 0x94, 0x8f, 0x5b, 0x25, 0xb0, 0x52, 0x05, 0x0a, 0xe4, 0x71, + 0xd0, 0x94, 0xfc, 0x6b, 0x46, 0x34, 0xda, 0x41, 0xb1, 0xc2, 0x61, 0xd8, 0xcd, 0x96, 0xee, 0x0c, + 0x52, 0xff, 0xfe, 0x86, 0x17, 0x0e, 0x06, 0x61, 0x85, 0xc3, 0x3b, 0x68, 0x21, 0xbc, 0xdb, 0x0f, + 0xc0, 0xf0, 0x0d, 0x5e, 0x38, 0x38, 0x86, 0x51, 0x70, 0xc1, 0x30, 0x00, 0xc5, 0xdf, 0x72, 0x0a, + 0x8e, 0xc1, 0x14, 0x9f, 0xed, 0x6c, 0xb4, 0x0e, 0xaa, 0x9b, 0xae, 0xe7, 0x50, 0x29, 0xdc, 0x9f, + 0xea, 0x9b, 0xef, 0x04, 0x45, 0x98, 0x2a, 0x40, 0x71, 0x25, 0x62, 0x57, 0xa8, 0xe4, 0xa4, 0x14, + 0xef, 0xd8, 0xb7, 0x78, 0x25, 0x12, 0x60, 0xd8, 0x37, 0x41, 0x21, 0xe2, 0xb0, 0x1b, 0xf8, 0x7c, + 0x30, 0x00, 0xdd, 0xb7, 0x43, 0xce, 0x55, 0x39, 0x16, 0x73, 0x0a, 0xfa, 0xa7, 0x6d, 0x5d, 0x46, + 0x07, 0x03, 0x65, 0xe7, 0xdf, 0x85, 0xf4, 0xcf, 0x0e, 0x45, 0xd2, 0x1a, 0x32, 0x16, 0xd2, 0x53, + 0x4a, 0xdc, 0xaf, 0x80, 0x8a, 0x3f, 0xf7, 0x1e, 0x7b, 0xdf, 0xa0, 0x9c, 0x2a, 0xad, 0xe1, 0x24, + 0x0f, 0x8a, 0x9e, 0x78, 0xb2, 0x17, 0xde, 0xf3, 0xf3, 0x3c, 0xa0, 0x79, 0x4a, 0x17, 0x61, 0x34, + 0x20, 0x78, 0xe2, 0xa9, 0x7e, 0x9e, 0x51, 0xe5, 0x45, 0xbd, 0x53, 0x3a, 0x0b, 0x29, 0x2c, 0x5e, + 0xe2, 0xe1, 0xbf, 0xc0, 0xe0, 0xc4, 0xbc, 0xf4, 0x20, 0x64, 0xb8, 0x68, 0x89, 0x87, 0xfe, 0x22, + 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x82, 0x25, 0x1e, 0xfe, 0x4b, 0x1c, 0xce, 0x21, 0x18, 0x3e, 0x78, + 0x08, 0xbf, 0xf3, 0xcb, 0x29, 0xb6, 0xe9, 0xf0, 0xd8, 0x5d, 0x80, 0x11, 0xa6, 0x54, 0xe2, 0xd1, + 0x9f, 0x67, 0x83, 0x73, 0x44, 0xe9, 0x7e, 0x48, 0x0f, 0x18, 0xf0, 0x5f, 0x65, 0x50, 0x6a, 0x5f, + 0x5a, 0x82, 0x9c, 0xa0, 0x4e, 0xe2, 0xe1, 0xbf, 0xc6, 0xe0, 0x22, 0x0a, 0xbb, 0xce, 0xd4, 0x49, + 0x3c, 0xc1, 0xaf, 0x73, 0xd7, 0x19, 0x02, 0x87, 0x8d, 0x0b, 0x93, 0x78, 0xf4, 0x6f, 0xf0, 0xa8, + 0x73, 0x48, 0xe9, 0x61, 0xc8, 0xfa, 0x9b, 0x4d, 0x3c, 0xfe, 0x37, 0x19, 0xbe, 0x83, 0xc1, 0x11, + 0x10, 0x36, 0xbb, 0x78, 0x8a, 0xdf, 0xe2, 0x11, 0x10, 0x50, 0x78, 0x19, 0x85, 0x05, 0x4c, 0x3c, + 0xd3, 0x6f, 0xf3, 0x65, 0x14, 0xd2, 0x2f, 0x78, 0x36, 0x49, 0xcd, 0x8f, 0xa7, 0xf8, 0x1d, 0x3e, + 0x9b, 0xc4, 0x1e, 0xbb, 0x11, 0x56, 0x04, 0xf1, 0x1c, 0xbf, 0xcb, 0xdd, 0x08, 0x09, 0x82, 0xd2, + 0x16, 0x28, 0xdd, 0x6a, 0x20, 0x9e, 0xef, 0x45, 0xc6, 0x37, 0xde, 0x25, 0x06, 0x4a, 0x8f, 0xc3, + 0xb1, 0x68, 0x25, 0x10, 0xcf, 0xfa, 0x85, 0xf7, 0x42, 0x67, 0x37, 0x51, 0x08, 0x94, 0xb6, 0x3b, + 0x5b, 0x8a, 0xa8, 0x02, 0xe2, 0x69, 0x5f, 0x7a, 0x2f, 0x58, 0xb8, 0x45, 0x11, 0x50, 0x2a, 0x03, + 0x74, 0x36, 0xe0, 0x78, 0xae, 0x97, 0x19, 0x97, 0x00, 0xc2, 0x4b, 0x83, 0xed, 0xbf, 0xf1, 0xf8, + 0x2f, 0xf2, 0xa5, 0xc1, 0x10, 0x78, 0x69, 0xf0, 0xad, 0x37, 0x1e, 0xfd, 0x0a, 0x5f, 0x1a, 0x1c, + 0x82, 0x33, 0x5b, 0xd8, 0xdd, 0xe2, 0x19, 0x5e, 0xe5, 0x99, 0x2d, 0xa0, 0x4a, 0x1b, 0x30, 0xde, + 0xb5, 0x21, 0xc6, 0x53, 0x7d, 0x89, 0x51, 0xc9, 0xe1, 0xfd, 0x50, 0xdc, 0xbc, 0xd8, 0x66, 0x18, + 0xcf, 0xf6, 0x87, 0xa1, 0xcd, 0x8b, 0xed, 0x85, 0xa5, 0x0b, 0x90, 0xb1, 0xda, 0x8d, 0x06, 0x5e, + 0x3c, 0x4a, 0xff, 0x5f, 0xee, 0x15, 0xff, 0xe5, 0x03, 0x16, 0x1d, 0x0e, 0x28, 0x9d, 0x85, 0x34, + 0x6a, 0xee, 0xa2, 0x5a, 0x1c, 0xf2, 0x5f, 0x3f, 0xe0, 0x05, 0x13, 0x5b, 0x97, 0x1e, 0x06, 0xa0, + 0x57, 0x23, 0xe4, 0xb3, 0x5f, 0x0c, 0xf6, 0xdf, 0x3e, 0x60, 0xbf, 0xa9, 0xe9, 0x40, 0x3a, 0x04, + 0xf4, 0x17, 0x3a, 0xfd, 0x09, 0xde, 0x09, 0x12, 0x90, 0x19, 0x79, 0x00, 0x46, 0x9e, 0x71, 0x6d, + 0xcb, 0xd3, 0xeb, 0x71, 0xe8, 0x7f, 0x67, 0x68, 0x6e, 0x8f, 0x03, 0xd6, 0xb4, 0x1d, 0xe4, 0xe9, + 0x75, 0x37, 0x0e, 0xfb, 0x1f, 0x0c, 0xeb, 0x03, 0x30, 0xd8, 0xd0, 0x5d, 0x6f, 0x90, 0xf7, 0xfe, + 0x4f, 0x0e, 0xe6, 0x00, 0xec, 0x34, 0xfe, 0xfb, 0x32, 0x3a, 0x88, 0xc3, 0xbe, 0xcb, 0x9d, 0x66, + 0xf6, 0xa5, 0x07, 0x21, 0x8b, 0xff, 0xa4, 0x3f, 0x94, 0x8b, 0x01, 0xff, 0x17, 0x03, 0x77, 0x10, + 0x78, 0x64, 0xd7, 0xab, 0x79, 0x66, 0x7c, 0xb0, 0xff, 0x9b, 0xcd, 0x34, 0xb7, 0x2f, 0x95, 0x21, + 0xe7, 0x7a, 0xb5, 0x5a, 0x9b, 0xe9, 0xd3, 0x18, 0xf8, 0xff, 0x7c, 0xe0, 0x5f, 0x59, 0xf8, 0x18, + 0x3c, 0xdb, 0x57, 0x2f, 0x7b, 0x2d, 0x9b, 0x7c, 0xe6, 0x88, 0x63, 0x78, 0x8f, 0x31, 0x08, 0x90, + 0xc5, 0x4a, 0xf4, 0xf5, 0x2d, 0xac, 0xd8, 0x2b, 0x36, 0xbd, 0xb8, 0x7d, 0x6a, 0x26, 0xfe, 0x06, + 0x16, 0xfe, 0xf7, 0x6e, 0xb8, 0xc5, 0xb0, 0x9b, 0xbb, 0xb6, 0x3b, 0x2f, 0x14, 0xf3, 0xf9, 0xa6, + 0xde, 0x72, 0x89, 0xc1, 0x02, 0xbb, 0x9e, 0xcd, 0xb1, 0x27, 0xdc, 0x31, 0x75, 0xb4, 0xab, 0xdd, + 0x99, 0x9b, 0x61, 0xf4, 0x62, 0xc3, 0xd6, 0x3d, 0xd3, 0xaa, 0x6f, 0x61, 0xef, 0x95, 0x3c, 0x48, + 0x7b, 0xe4, 0xd3, 0xa4, 0xa4, 0x4a, 0x7b, 0x33, 0xff, 0x98, 0x86, 0x2c, 0xbd, 0x15, 0x5c, 0xd7, + 0x5b, 0xca, 0xcf, 0x42, 0x7e, 0x83, 0x2d, 0xc5, 0x7b, 0x17, 0xce, 0xbb, 0xfe, 0x57, 0x08, 0x61, + 0xfc, 0x39, 0xdf, 0x7a, 0x4e, 0x34, 0x25, 0x3f, 0x45, 0x58, 0xbc, 0xe7, 0x87, 0x6f, 0x1c, 0xbf, + 0xab, 0xa7, 0x7f, 0x58, 0x5c, 0xcc, 0xd3, 0x35, 0x33, 0xb7, 0x63, 0x5a, 0xde, 0xbd, 0x0b, 0xe7, + 0xd5, 0xc0, 0x78, 0xca, 0x15, 0xc8, 0xb0, 0x0e, 0x97, 0x7d, 0x9d, 0xba, 0xb5, 0xc7, 0xd8, 0xdc, + 0x8c, 0x8e, 0x7b, 0xe6, 0xf5, 0x37, 0x8e, 0x0f, 0x1d, 0x79, 0x6c, 0x7f, 0x2c, 0xe5, 0x59, 0xc8, + 0x71, 0x3f, 0x56, 0x6b, 0x2e, 0xfb, 0x6f, 0x0e, 0x77, 0xc4, 0xbc, 0xf6, 0x6a, 0x8d, 0x8d, 0x7e, + 0xfb, 0x0f, 0xdf, 0x38, 0x3e, 0xd3, 0x77, 0xe4, 0xb9, 0x9d, 0xb6, 0x59, 0x53, 0xc5, 0x31, 0x94, + 0xa7, 0x21, 0x89, 0x87, 0xa2, 0xbf, 0x0c, 0x3d, 0xde, 0x63, 0x28, 0x7f, 0x88, 0x53, 0xec, 0x05, + 0x07, 0x19, 0x06, 0xf3, 0x4e, 0x3d, 0x0c, 0xe3, 0x5d, 0xd3, 0xa3, 0xc8, 0x90, 0xbc, 0x8c, 0x0e, + 0xd8, 0x4f, 0xf0, 0xf0, 0x9f, 0xca, 0x64, 0xe7, 0x37, 0xb2, 0xd2, 0x6c, 0x9e, 0xfd, 0xf0, 0xb5, + 0x94, 0x38, 0x2f, 0x4d, 0x5d, 0x80, 0xd1, 0x40, 0x8c, 0x8f, 0x04, 0x7e, 0x08, 0xe4, 0x70, 0x94, + 0x8e, 0x84, 0x3f, 0x07, 0x99, 0x0f, 0x83, 0x9b, 0xf9, 0x81, 0x02, 0x23, 0xe5, 0x46, 0x63, 0x5d, + 0x6f, 0xb9, 0xca, 0x93, 0x30, 0x4e, 0x8f, 0x40, 0xdb, 0xf6, 0x32, 0xf9, 0x1e, 0xb8, 0xae, 0xb7, + 0x58, 0x42, 0x9f, 0x0e, 0x84, 0x9b, 0x01, 0xe6, 0xba, 0xac, 0xc9, 0xf8, 0x6a, 0x37, 0x8b, 0xf2, + 0x18, 0xc8, 0xbc, 0x91, 0xac, 0x2d, 0xcc, 0x4c, 0xd3, 0xf5, 0x54, 0x5f, 0x66, 0x6e, 0x4c, 0x89, + 0xbb, 0x38, 0x94, 0x87, 0x20, 0xb3, 0x6a, 0x79, 0xf7, 0x2d, 0x60, 0x3e, 0x9a, 0x83, 0x33, 0x91, + 0x7c, 0xdc, 0x88, 0xf2, 0xf8, 0x18, 0x86, 0x3f, 0x77, 0x06, 0xe3, 0x53, 0xfd, 0xf1, 0xc4, 0xa8, + 0x83, 0x27, 0x8f, 0x4a, 0x19, 0xb2, 0x78, 0xce, 0xa9, 0x03, 0xf4, 0x7f, 0xd8, 0xdc, 0x12, 0x49, + 0xe0, 0x5b, 0x51, 0x86, 0x0e, 0x8a, 0x53, 0x50, 0x1f, 0x86, 0x63, 0x28, 0x04, 0x27, 0x3a, 0x28, + 0x4c, 0x51, 0xf5, 0xbd, 0x18, 0xe9, 0x43, 0x51, 0x0d, 0x79, 0x51, 0x15, 0xbd, 0xa8, 0xfa, 0x5e, + 0x64, 0x62, 0x28, 0x44, 0x2f, 0xfc, 0x67, 0x65, 0x19, 0xe0, 0xa2, 0xf9, 0x1c, 0xaa, 0x51, 0x37, + 0xb2, 0x11, 0xc5, 0x88, 0x73, 0x74, 0xcc, 0x28, 0x89, 0x80, 0x53, 0x56, 0x20, 0x57, 0xdd, 0xeb, + 0xd0, 0x00, 0xfb, 0x0f, 0x46, 0x91, 0xae, 0xec, 0x85, 0x78, 0x44, 0xa4, 0xef, 0x0e, 0x7d, 0xa5, + 0x5c, 0x9c, 0x3b, 0xc2, 0x3b, 0x09, 0xb8, 0x8e, 0x3b, 0x94, 0x26, 0x1f, 0xeb, 0x8e, 0xc0, 0x23, 0x22, 0x95, 0x0b, 0x30, 0xb2, 0x68, 0xdb, 0xd8, 0xb2, 0x38, 0x4a, 0x48, 0x4e, 0x46, 0x92, 0x30, 0x1b, 0x4a, 0xc0, 0x11, 0x64, 0x76, 0x48, 0xea, 0x63, 0x78, 0xa1, 0xdf, 0xec, 0x70, 0x2b, 0x3e, 0x3b, 0xfc, 0x59, 0x5c, 0x81, 0x8b, 0x07, 0x1e, 0xc2, 0xc7, 0x8d, 0xe2, 0xd8, 0x00, 0x2b, 0x90, 0x1b, 0x87, 0x56, 0x20, 0x6f, 0x56, 0xaa, 0x30, 0xc6, 0xdb, 0x2a, 0x56, 0x1b, 0xd7, 0xe0, 0xa2, - 0xcc, 0x7e, 0xe4, 0xdf, 0x8f, 0x96, 0xd9, 0x52, 0xd6, 0x30, 0x83, 0xb2, 0x05, 0x05, 0xde, 0xb4, - 0xee, 0x92, 0x41, 0x8f, 0x47, 0xec, 0xab, 0x61, 0x4e, 0x6a, 0x4a, 0x29, 0x43, 0xf8, 0xa9, 0x65, - 0x38, 0x16, 0x5d, 0xad, 0xe2, 0xaa, 0xa5, 0x24, 0x56, 0xd9, 0x25, 0xb8, 0x21, 0xb2, 0x32, 0xc5, - 0x91, 0x24, 0x42, 0xfb, 0x44, 0xa0, 0x1c, 0x89, 0xe0, 0x74, 0x04, 0x38, 0xdd, 0x0d, 0xee, 0x24, - 0x99, 0x08, 0x4e, 0x46, 0x80, 0x93, 0x22, 0xf8, 0x33, 0x50, 0x08, 0xd6, 0x21, 0x11, 0x3d, 0x1a, - 0x81, 0x1e, 0x8d, 0x40, 0x47, 0xf7, 0x9d, 0x8a, 0x40, 0xa7, 0x42, 0xe8, 0x6a, 0xcf, 0xbe, 0xc7, - 0x23, 0xd0, 0xe3, 0x11, 0xe8, 0xe8, 0xbe, 0x95, 0x08, 0xb4, 0x22, 0xa2, 0x1f, 0x84, 0xb1, 0x50, - 0xc9, 0x11, 0xe1, 0x23, 0x11, 0xf0, 0x91, 0xd0, 0xde, 0x1c, 0x2e, 0x35, 0x22, 0x7e, 0x2c, 0x02, - 0x3f, 0x16, 0xd5, 0x7d, 0xb4, 0xf7, 0xc3, 0x11, 0xf0, 0xe1, 0xc8, 0xee, 0xa3, 0xf1, 0x72, 0x04, - 0x5e, 0x16, 0xf1, 0x25, 0xc8, 0x8b, 0x55, 0x45, 0xc4, 0x66, 0x22, 0xb0, 0x99, 0x70, 0xdc, 0x03, - 0x25, 0x25, 0x2e, 0xd3, 0xb3, 0x3d, 0x96, 0x4b, 0xa0, 0x8c, 0x1c, 0x49, 0xd9, 0x3c, 0x01, 0x93, - 0x51, 0x45, 0x23, 0x82, 0xe3, 0x94, 0xc8, 0x51, 0x58, 0x98, 0x0c, 0x14, 0x0b, 0x82, 0x6b, 0x37, - 0x45, 0xe6, 0xa7, 0x61, 0x22, 0xa2, 0x74, 0x44, 0x10, 0xdf, 0x23, 0x12, 0xe7, 0x16, 0xa6, 0x02, - 0xc4, 0x81, 0xb3, 0x82, 0x28, 0xad, 0x7e, 0x3c, 0x01, 0x05, 0x56, 0xa2, 0x36, 0x9d, 0x1a, 0x72, - 0x50, 0x4d, 0xf9, 0xff, 0xbd, 0x15, 0xd6, 0x42, 0x54, 0x69, 0x63, 0xb8, 0x23, 0x08, 0xad, 0xa7, - 0x7b, 0x0a, 0xad, 0x7b, 0x07, 0xe9, 0x20, 0x4e, 0x6f, 0x55, 0xba, 0xf4, 0xd6, 0x9d, 0xfd, 0x68, - 0x7b, 0xc9, 0xae, 0x4a, 0x97, 0xec, 0x8a, 0xa3, 0x89, 0x54, 0x5f, 0x97, 0xba, 0xd5, 0xd7, 0xa9, - 0x7e, 0x3c, 0xbd, 0x45, 0xd8, 0xa5, 0x6e, 0x11, 0x16, 0xcb, 0x14, 0xad, 0xc5, 0x2e, 0x75, 0x6b, - 0xb1, 0xbe, 0x4c, 0xbd, 0x25, 0xd9, 0xa5, 0x6e, 0x49, 0x16, 0xcb, 0x14, 0xad, 0xcc, 0x1e, 0x8d, - 0x50, 0x66, 0xa7, 0xfb, 0x51, 0xf5, 0x13, 0x68, 0x1b, 0x51, 0x02, 0xed, 0xae, 0xbe, 0x8e, 0xf5, - 0xd5, 0x69, 0x8f, 0x46, 0xe8, 0xb4, 0x78, 0xe7, 0x7a, 0xc8, 0xb5, 0x8d, 0x28, 0xb9, 0x36, 0x80, - 0x73, 0xbd, 0x54, 0xdb, 0x62, 0x58, 0xb5, 0xcd, 0xf6, 0xe3, 0x8a, 0x16, 0x6f, 0x97, 0xba, 0xc5, - 0xdb, 0xa9, 0xf8, 0xb5, 0x18, 0xa5, 0xe1, 0x9e, 0xee, 0xa9, 0xe1, 0x06, 0x5a, 0xdc, 0x71, 0x52, - 0xee, 0xa9, 0x5e, 0x52, 0xee, 0x9e, 0x41, 0xd8, 0xfb, 0x2b, 0xba, 0xc7, 0x7b, 0x28, 0xba, 0xf9, - 0x41, 0xa8, 0x3f, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0x4f, 0x84, 0xdd, 0x27, 0xc2, 0xee, 0xff, 0x86, - 0xb0, 0x2b, 0xa5, 0x5e, 0x7c, 0xf5, 0xb8, 0x74, 0xea, 0x24, 0x8c, 0xb0, 0xae, 0x95, 0x61, 0x48, - 0xac, 0x97, 0xe5, 0x21, 0xf2, 0xef, 0xa2, 0x2c, 0x91, 0x7f, 0x97, 0xe4, 0xc4, 0xe2, 0xda, 0xeb, - 0xd7, 0xa7, 0x87, 0xbe, 0x7f, 0x7d, 0x7a, 0xe8, 0x87, 0xd7, 0xa7, 0x87, 0xde, 0xbc, 0x3e, 0x2d, - 0xbd, 0x7d, 0x7d, 0x5a, 0x7a, 0xf7, 0xfa, 0xb4, 0xf4, 0xfe, 0xf5, 0x69, 0xe9, 0xda, 0xe1, 0xb4, - 0xf4, 0x95, 0xc3, 0x69, 0xe9, 0x6b, 0x87, 0xd3, 0xd2, 0xb7, 0x0e, 0xa7, 0xa5, 0xef, 0x1e, 0x4e, - 0x4b, 0xaf, 0x1f, 0x4e, 0x0f, 0x7d, 0xff, 0x70, 0x5a, 0x7a, 0xf3, 0x70, 0x5a, 0x7a, 0xfb, 0x70, - 0x7a, 0xe8, 0xdd, 0xc3, 0x69, 0xe9, 0xfd, 0xc3, 0xe9, 0xa1, 0x6b, 0x3f, 0x99, 0x1e, 0xfa, 0xdf, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x04, 0x5c, 0xe3, 0x45, 0x97, 0x49, 0x00, 0x00, + 0xcc, 0xfe, 0xf7, 0x40, 0x3f, 0x5a, 0x66, 0x4b, 0x59, 0xc3, 0x0c, 0xca, 0x16, 0x14, 0x78, 0xd3, + 0xba, 0x4b, 0x5e, 0x7a, 0x3c, 0x62, 0x5f, 0x0d, 0x73, 0x52, 0x53, 0x4a, 0x19, 0xc2, 0x4f, 0x2d, + 0xc3, 0xb1, 0xe8, 0x6a, 0x15, 0x57, 0x2d, 0x25, 0xb1, 0xca, 0x2e, 0xc1, 0x0d, 0x91, 0x95, 0x29, + 0x8e, 0x24, 0x11, 0xda, 0x27, 0x02, 0xe5, 0x48, 0x04, 0xa7, 0x23, 0xc0, 0xe9, 0x6e, 0x70, 0x27, + 0xc9, 0x44, 0x70, 0x32, 0x02, 0x9c, 0x14, 0xc1, 0x9f, 0x81, 0x42, 0xb0, 0x0e, 0x89, 0xe8, 0xd1, + 0x08, 0xf4, 0x68, 0x04, 0x3a, 0x7a, 0xec, 0x54, 0x04, 0x3a, 0x15, 0x42, 0x57, 0x7b, 0x8e, 0x3d, + 0x1e, 0x81, 0x1e, 0x8f, 0x40, 0x47, 0x8f, 0xad, 0x44, 0xa0, 0x15, 0x11, 0xfd, 0x20, 0x8c, 0x85, + 0x4a, 0x8e, 0x08, 0x1f, 0x89, 0x80, 0x8f, 0x84, 0xf6, 0xe6, 0x70, 0xa9, 0x11, 0xf1, 0x63, 0x11, + 0xf8, 0xb1, 0xa8, 0xe1, 0xa3, 0xbd, 0x1f, 0x8e, 0x80, 0x0f, 0x47, 0x0e, 0x1f, 0x8d, 0x97, 0x23, + 0xf0, 0xb2, 0x88, 0x2f, 0x41, 0x5e, 0xac, 0x2a, 0x22, 0x36, 0x13, 0x81, 0xcd, 0x84, 0xe3, 0x1e, + 0x28, 0x29, 0x71, 0x99, 0x9e, 0xed, 0xb1, 0x5c, 0x02, 0x65, 0xe4, 0x48, 0xca, 0xe6, 0x09, 0x98, + 0x8c, 0x2a, 0x1a, 0x11, 0x1c, 0xa7, 0x44, 0x8e, 0xc2, 0xc2, 0x64, 0xa0, 0x58, 0x10, 0x5c, 0xbb, + 0x29, 0x32, 0x3f, 0x0d, 0x13, 0x11, 0xa5, 0x23, 0x82, 0xf8, 0x1e, 0x91, 0x38, 0xb7, 0x30, 0x15, + 0x20, 0x0e, 0x9c, 0x15, 0x44, 0x69, 0xf5, 0xa3, 0x09, 0x28, 0xb0, 0x12, 0xb5, 0xe9, 0xd4, 0x90, + 0x83, 0x6a, 0xca, 0x4f, 0xf7, 0x56, 0x58, 0x0b, 0x51, 0xa5, 0x8d, 0xe1, 0x8e, 0x20, 0xb4, 0x9e, + 0xee, 0x29, 0xb4, 0xee, 0x1d, 0x64, 0x80, 0x38, 0xbd, 0x55, 0xe9, 0xd2, 0x5b, 0x77, 0xf6, 0xa3, + 0xed, 0x25, 0xbb, 0x2a, 0x5d, 0xb2, 0x2b, 0x8e, 0x26, 0x52, 0x7d, 0x5d, 0xea, 0x56, 0x5f, 0xa7, + 0xfa, 0xf1, 0xf4, 0x16, 0x61, 0x97, 0xba, 0x45, 0x58, 0x2c, 0x53, 0xb4, 0x16, 0xbb, 0xd4, 0xad, + 0xc5, 0xfa, 0x32, 0xf5, 0x96, 0x64, 0x97, 0xba, 0x25, 0x59, 0x2c, 0x53, 0xb4, 0x32, 0x7b, 0x34, + 0x42, 0x99, 0x9d, 0xee, 0x47, 0xd5, 0x4f, 0xa0, 0x6d, 0x44, 0x09, 0xb4, 0xbb, 0xfa, 0x3a, 0xd6, + 0x57, 0xa7, 0x3d, 0x1a, 0xa1, 0xd3, 0xe2, 0x9d, 0xeb, 0x21, 0xd7, 0x36, 0xa2, 0xe4, 0xda, 0x00, + 0xce, 0xf5, 0x52, 0x6d, 0x8b, 0x61, 0xd5, 0x36, 0xdb, 0x8f, 0x2b, 0x5a, 0xbc, 0x5d, 0xea, 0x16, + 0x6f, 0xa7, 0xe2, 0xd7, 0x62, 0x94, 0x86, 0x7b, 0xba, 0xa7, 0x86, 0x1b, 0x68, 0x71, 0xc7, 0x49, + 0xb9, 0xa7, 0x7a, 0x49, 0xb9, 0x7b, 0x06, 0x61, 0xef, 0xaf, 0xe8, 0x1e, 0xef, 0xa1, 0xe8, 0xe6, + 0x07, 0xa1, 0xfe, 0x44, 0xd8, 0x7d, 0x22, 0xec, 0x3e, 0x11, 0x76, 0x9f, 0x08, 0xbb, 0xff, 0x1f, + 0xc2, 0xae, 0x94, 0x7a, 0xf1, 0xd5, 0xe3, 0xd2, 0xa9, 0x93, 0x30, 0xc2, 0x86, 0x56, 0x86, 0x21, + 0xb1, 0x5e, 0x96, 0x87, 0xc8, 0xbf, 0x8b, 0xb2, 0x44, 0xfe, 0x5d, 0x92, 0x13, 0x8b, 0x6b, 0xaf, + 0x5f, 0x9f, 0x1e, 0xfa, 0xde, 0xf5, 0xe9, 0xa1, 0x1f, 0x5c, 0x9f, 0x1e, 0x7a, 0xf3, 0xfa, 0xb4, + 0xf4, 0xf6, 0xf5, 0x69, 0xe9, 0xdd, 0xeb, 0xd3, 0xd2, 0xfb, 0xd7, 0xa7, 0xa5, 0x6b, 0x87, 0xd3, + 0xd2, 0x57, 0x0e, 0xa7, 0xa5, 0xaf, 0x1d, 0x4e, 0x4b, 0xdf, 0x3c, 0x9c, 0x96, 0xbe, 0x73, 0x38, + 0x2d, 0xbd, 0x7e, 0x38, 0x3d, 0xf4, 0xbd, 0xc3, 0x69, 0xe9, 0xcd, 0xc3, 0x69, 0xe9, 0xed, 0xc3, + 0xe9, 0xa1, 0x77, 0x0f, 0xa7, 0xa5, 0xf7, 0x0f, 0xa7, 0x87, 0xae, 0xfd, 0x78, 0x7a, 0xe8, 0xff, + 0x02, 0x00, 0x00, 0xff, 0xff, 0x09, 0x79, 0x5f, 0xe9, 0xf0, 0x49, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -7780,83 +7864,3 @@ var ( ErrInvalidLengthMapsproto2 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMapsproto2 = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/unmarshaler/mapsproto2.proto", fileDescriptor_mapsproto2_4a77fadeb5c37480) -} - -var fileDescriptor_mapsproto2_4a77fadeb5c37480 = []byte{ - // 1150 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x97, 0xcd, 0x6f, 0x1a, 0x47, - 0x18, 0xc6, 0x19, 0xb0, 0x0d, 0x0c, 0xdf, 0x93, 0xb4, 0x42, 0x48, 0x1d, 0x1c, 0xd2, 0x0f, 0x42, - 0x52, 0xb0, 0x69, 0x14, 0x59, 0x4e, 0x9b, 0xca, 0xd8, 0x4e, 0xb1, 0x52, 0xdc, 0x08, 0x9a, 0x7e, - 0x49, 0x96, 0x0a, 0x66, 0x21, 0xa8, 0xc0, 0x52, 0x76, 0x37, 0xaa, 0x2f, 0x55, 0xfe, 0x8c, 0x5e, - 0x7b, 0xeb, 0xb1, 0xc7, 0x1e, 0x7b, 0xb4, 0xd4, 0x4b, 0x8e, 0x51, 0x54, 0x59, 0x61, 0x7b, 0xc9, - 0x31, 0xc7, 0x1c, 0xab, 0x9d, 0xdd, 0x85, 0xd9, 0xdd, 0x77, 0x77, 0xa1, 0xa7, 0x1e, 0x7c, 0xc2, - 0xb3, 0xbc, 0xcf, 0xef, 0x79, 0x77, 0x77, 0xe6, 0xe5, 0x31, 0xbe, 0x7e, 0x2a, 0x8e, 0x3a, 0xa2, - 0x54, 0x51, 0xc6, 0xa3, 0xf6, 0x54, 0x7a, 0xdc, 0x1e, 0x0a, 0xd3, 0xca, 0xa8, 0x3d, 0x91, 0x26, - 0x53, 0x51, 0x16, 0xab, 0x65, 0xf6, 0x41, 0x62, 0xc6, 0x4a, 0xfb, 0x22, 0xf7, 0x61, 0x7f, 0x20, - 0x3f, 0x56, 0x3a, 0xe5, 0x53, 0x71, 0x54, 0xe9, 0x8b, 0x7d, 0xb1, 0xc2, 0xbe, 0xec, 0x28, 0x3d, - 0xb6, 0x62, 0x0b, 0xf6, 0x97, 0xae, 0x2d, 0xbc, 0x83, 0x13, 0xf7, 0x87, 0x62, 0x5b, 0x1e, 0x8c, - 0xfb, 0x0f, 0xc5, 0xc1, 0x58, 0x26, 0x71, 0x8c, 0x7a, 0x59, 0xb4, 0x89, 0x8a, 0xa8, 0x89, 0x7a, - 0x85, 0xbf, 0xd6, 0x71, 0x74, 0x5f, 0x91, 0x64, 0x71, 0xd4, 0x68, 0x4f, 0xc8, 0xcf, 0x38, 0x7e, - 0xac, 0x0c, 0x87, 0xed, 0xce, 0x50, 0xd8, 0xae, 0xee, 0x48, 0x59, 0xb4, 0x19, 0x2a, 0xc6, 0xaa, - 0xc5, 0x32, 0xe7, 0x5f, 0x9e, 0x57, 0x97, 0xf9, 0xd2, 0xc3, 0xb1, 0x3c, 0x3d, 0xab, 0x6d, 0xbd, - 0xb8, 0xc8, 0xdf, 0x72, 0xed, 0x4f, 0x16, 0x24, 0xb9, 0x72, 0xca, 0xe4, 0xe5, 0x47, 0x83, 0xb1, - 0xbc, 0x5d, 0xdd, 0x69, 0x5a, 0xfc, 0xc8, 0x13, 0x1c, 0x31, 0xbe, 0x90, 0xb2, 0x41, 0xe6, 0xfd, - 0xae, 0x8b, 0xb7, 0x59, 0xa6, 0xfb, 0xde, 0x3e, 0xbf, 0xc8, 0x07, 0x56, 0xf6, 0x9e, 0x7b, 0x91, - 0x1f, 0x71, 0xcc, 0xec, 0xe3, 0xa8, 0x2b, 0x65, 0x43, 0xcc, 0xfa, 0x03, 0x9f, 0xdb, 0x3e, 0xea, - 0x1a, 0xee, 0xef, 0xbf, 0xb8, 0xc8, 0x17, 0x3c, 0x9d, 0xcb, 0x8f, 0x94, 0x41, 0xb7, 0xc9, 0x7b, - 0x90, 0x13, 0x1c, 0xd2, 0xac, 0xd6, 0x98, 0x55, 0xde, 0xc5, 0x6a, 0x6e, 0x51, 0x32, 0x6e, 0x70, - 0x19, 0x1b, 0x8d, 0x9b, 0xfb, 0x14, 0x67, 0x1c, 0xaf, 0x87, 0xa4, 0x71, 0xe8, 0x07, 0xe1, 0x8c, - 0xbd, 0xfc, 0x68, 0x53, 0xfb, 0x93, 0x5c, 0xc5, 0xeb, 0x4f, 0xda, 0x43, 0x45, 0xc8, 0x06, 0x37, - 0x51, 0x31, 0xde, 0xd4, 0x17, 0xbb, 0xc1, 0x1d, 0x94, 0xbb, 0x8b, 0x13, 0x96, 0x67, 0xbc, 0x92, - 0xf8, 0x1e, 0x4e, 0xdb, 0x9f, 0xd2, 0x4a, 0xfa, 0x3b, 0x38, 0xf2, 0x5f, 0x74, 0x85, 0xe7, 0x04, - 0x87, 0xf7, 0x86, 0xc3, 0x46, 0x7b, 0x22, 0x91, 0x6f, 0x71, 0xa6, 0x25, 0x4f, 0x07, 0xe3, 0xfe, - 0x97, 0xe2, 0x81, 0xa8, 0x74, 0x86, 0x42, 0xa3, 0x3d, 0x31, 0x36, 0xf4, 0x4d, 0xcb, 0xe3, 0x36, - 0x04, 0x65, 0x47, 0x35, 0xf3, 0x6f, 0x3a, 0x29, 0xe4, 0x2b, 0x9c, 0x36, 0x2f, 0xb2, 0xb3, 0xa5, - 0x91, 0xf5, 0xed, 0x5a, 0xf2, 0x24, 0x9b, 0xc5, 0x3a, 0xd8, 0xc1, 0x20, 0xf7, 0x70, 0xe4, 0x68, - 0x2c, 0x7f, 0x54, 0xd5, 0x78, 0xfa, 0x1e, 0x2c, 0x80, 0x3c, 0xb3, 0x48, 0xe7, 0xcc, 0x35, 0x86, - 0xfe, 0xce, 0x6d, 0x4d, 0xbf, 0xe6, 0xad, 0x67, 0x45, 0x0b, 0x3d, 0x5b, 0x92, 0x3d, 0x1c, 0xd5, - 0xde, 0xb9, 0xde, 0xc0, 0x3a, 0x03, 0x5c, 0x07, 0x01, 0xf3, 0x2a, 0x9d, 0xb0, 0x50, 0x99, 0x08, - 0xbd, 0x87, 0x0d, 0x1f, 0x04, 0xd7, 0xc4, 0x42, 0xa5, 0x21, 0x5a, 0xf3, 0x2e, 0xc2, 0x1e, 0x88, - 0x96, 0xad, 0x8b, 0x16, 0xdf, 0x45, 0x6b, 0xde, 0x45, 0xc4, 0x07, 0xc1, 0x77, 0x31, 0x5f, 0x93, - 0x03, 0x8c, 0xef, 0x0f, 0x7e, 0x12, 0xba, 0x7a, 0x1b, 0x51, 0x60, 0x18, 0x99, 0x8c, 0x45, 0x99, - 0x0e, 0xe1, 0x74, 0xe4, 0x33, 0x1c, 0x6b, 0xf5, 0x16, 0x18, 0xcc, 0x30, 0xef, 0xc1, 0xad, 0xf4, - 0x6c, 0x1c, 0x5e, 0x39, 0x6f, 0x47, 0xbf, 0xa5, 0x98, 0x5f, 0x3b, 0xdc, 0x3d, 0x71, 0xba, 0x45, - 0x3b, 0x3a, 0x26, 0xee, 0xdb, 0x0e, 0xc7, 0xe1, 0x95, 0xe4, 0x2e, 0x0e, 0xd7, 0x44, 0x51, 0xab, - 0xcc, 0x26, 0x18, 0xe4, 0x1a, 0x08, 0x31, 0x6a, 0x74, 0x80, 0xa9, 0x60, 0x6f, 0x87, 0x6d, 0x7d, - 0x4d, 0x9e, 0xf4, 0x7a, 0x3b, 0x66, 0x95, 0xf9, 0x76, 0xcc, 0x35, 0x7f, 0x02, 0x6b, 0x67, 0xb2, - 0x20, 0x69, 0xa4, 0xd4, 0x12, 0x27, 0xd0, 0x2c, 0xb6, 0x9d, 0x40, 0xf3, 0x32, 0x69, 0xe1, 0x94, - 0x79, 0xed, 0x70, 0xac, 0x68, 0x33, 0x38, 0x9b, 0x66, 0xd8, 0x1b, 0x9e, 0x58, 0xa3, 0x56, 0xa7, - 0xda, 0x09, 0xe4, 0x21, 0x4e, 0x9a, 0x97, 0x1a, 0x12, 0xbb, 0xe9, 0x0c, 0xf0, 0xbb, 0x6a, 0x67, - 0xea, 0xa5, 0x3a, 0xd2, 0xa6, 0xcf, 0x1d, 0xe0, 0xb7, 0xe1, 0x69, 0xe5, 0x37, 0x2d, 0x11, 0x3f, - 0x65, 0xf7, 0xf1, 0x5b, 0xe0, 0x64, 0xf2, 0x83, 0x04, 0x6d, 0xbf, 0x13, 0x96, 0x71, 0xc4, 0x8b, - 0xd7, 0x01, 0xf1, 0xba, 0x53, 0xbc, 0xd8, 0x64, 0xbc, 0x38, 0x04, 0x88, 0x43, 0xbc, 0xf8, 0x63, - 0x9c, 0xb4, 0xce, 0x21, 0x5e, 0x9d, 0x00, 0xd4, 0x09, 0x40, 0x0d, 0x7b, 0xaf, 0x01, 0xea, 0x35, - 0x9b, 0xba, 0xe5, 0xea, 0x9d, 0x01, 0xd4, 0x19, 0x40, 0x0d, 0x7b, 0x13, 0x40, 0x4d, 0x78, 0xf5, - 0x27, 0x38, 0x65, 0x1b, 0x39, 0xbc, 0x3c, 0x0c, 0xc8, 0xc3, 0xb6, 0xdf, 0x66, 0xfb, 0xa8, 0xe1, - 0xf5, 0x29, 0x40, 0x9f, 0x82, 0xec, 0xe1, 0xee, 0x37, 0x00, 0xf9, 0x06, 0x68, 0x0f, 0xeb, 0xd3, - 0x80, 0x3e, 0xcd, 0xeb, 0x77, 0x71, 0x9c, 0x9f, 0x2a, 0xbc, 0x36, 0x02, 0x68, 0x23, 0xf6, 0xe7, - 0x6e, 0x19, 0x29, 0x7e, 0x3b, 0x3d, 0xea, 0x72, 0x5c, 0x2c, 0x63, 0x64, 0xa5, 0x64, 0xf3, 0x0d, - 0xbe, 0x0a, 0x0d, 0x0d, 0x80, 0x51, 0xe2, 0x19, 0xc9, 0xea, 0x55, 0xcb, 0xb0, 0x60, 0x3a, 0x65, - 0xc4, 0x93, 0x4f, 0xf0, 0x15, 0x60, 0x74, 0x00, 0xe0, 0x2d, 0x1e, 0x1c, 0xab, 0xe6, 0x2c, 0x60, - 0xcb, 0xff, 0x0a, 0x7c, 0xb4, 0xfa, 0xfb, 0x0a, 0x4e, 0x1a, 0x23, 0xea, 0x8b, 0x69, 0x57, 0x98, - 0x0a, 0x5d, 0xf2, 0xbd, 0x7b, 0xc2, 0xaa, 0x42, 0xa3, 0xcd, 0xd0, 0xad, 0x10, 0xb4, 0x4e, 0x5c, - 0x83, 0xd6, 0xf6, 0x32, 0x06, 0x7e, 0x79, 0xeb, 0xd0, 0x91, 0xb7, 0x6e, 0x78, 0x61, 0xdd, 0x62, - 0xd7, 0xa1, 0x23, 0x76, 0xf9, 0x61, 0xc0, 0xf4, 0x55, 0x77, 0xa6, 0xaf, 0x92, 0x17, 0xc7, 0x3d, - 0x84, 0xd5, 0x9d, 0x21, 0xcc, 0x97, 0x04, 0x67, 0xb1, 0xba, 0x33, 0x8b, 0x79, 0x92, 0xdc, 0x23, - 0x59, 0xdd, 0x19, 0xc9, 0x7c, 0x49, 0x70, 0x32, 0x7b, 0x00, 0x24, 0xb3, 0x9b, 0x5e, 0x28, 0xaf, - 0x80, 0x76, 0x0c, 0x05, 0xb4, 0x5b, 0x9e, 0x8d, 0x79, 0xe6, 0xb4, 0x07, 0x40, 0x4e, 0xf3, 0x6f, - 0xce, 0x25, 0xae, 0x1d, 0x43, 0x71, 0x6d, 0x89, 0xe6, 0xdc, 0x52, 0x5b, 0xcd, 0x9e, 0xda, 0x8a, - 0x5e, 0x2c, 0x38, 0xbc, 0xd5, 0x9d, 0xe1, 0xad, 0xe4, 0x7f, 0x16, 0xa1, 0x0c, 0x77, 0xe2, 0x9a, - 0xe1, 0x96, 0x3a, 0xdc, 0x7e, 0x51, 0xee, 0x3b, 0xb7, 0x28, 0xb7, 0xb5, 0x0c, 0xdd, 0x3b, 0xd1, - 0x7d, 0xed, 0x92, 0xe8, 0x2a, 0xcb, 0xa0, 0x2f, 0x83, 0xdd, 0x65, 0xb0, 0xbb, 0x0c, 0x76, 0x97, - 0xc1, 0xee, 0xff, 0x11, 0xec, 0x76, 0xd7, 0x7e, 0xf9, 0x35, 0x8f, 0x4a, 0xd7, 0x70, 0xd8, 0xb0, - 0x26, 0x1b, 0x38, 0xd8, 0xd8, 0x4b, 0x07, 0xd8, 0x67, 0x2d, 0x8d, 0xd8, 0xe7, 0x7e, 0x3a, 0x58, - 0xfb, 0xfc, 0x7c, 0x46, 0x03, 0xcf, 0x66, 0x34, 0xf0, 0x7c, 0x46, 0x03, 0x2f, 0x67, 0x14, 0xbd, - 0x9a, 0x51, 0xf4, 0x7a, 0x46, 0xd1, 0x9b, 0x19, 0x45, 0x4f, 0x55, 0x8a, 0x7e, 0x53, 0x29, 0xfa, - 0x5d, 0xa5, 0xe8, 0x0f, 0x95, 0xa2, 0x3f, 0x55, 0x8a, 0xce, 0x55, 0x1a, 0x78, 0xa6, 0x52, 0xf4, - 0x52, 0xa5, 0xe8, 0x95, 0x4a, 0x03, 0xaf, 0x55, 0x8a, 0xde, 0xa8, 0x34, 0xf0, 0xf4, 0x1f, 0x1a, - 0xf8, 0x37, 0x00, 0x00, 0xff, 0xff, 0x1b, 0xc4, 0xd5, 0x8e, 0xf9, 0x16, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/merge/merge.pb.go b/vendor/github.com/gogo/protobuf/test/merge/merge.pb.go index cfd3a098e..789f72a0c 100644 --- a/vendor/github.com/gogo/protobuf/test/merge/merge.pb.go +++ b/vendor/github.com/gogo/protobuf/test/merge/merge.pb.go @@ -3,10 +3,12 @@ package merge -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -30,7 +32,7 @@ func (m *A) Reset() { *m = A{} } func (m *A) String() string { return proto.CompactTextString(m) } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_merge_7440dca413742023, []int{0} + return fileDescriptor_82caea6f5430298b, []int{0} } func (m *A) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_A.Unmarshal(m, b) @@ -38,8 +40,8 @@ func (m *A) XXX_Unmarshal(b []byte) error { func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_A.Marshal(b, m, deterministic) } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return xxx_messageInfo_A.Size(m) @@ -68,7 +70,7 @@ func (m *B) Reset() { *m = B{} } func (m *B) String() string { return proto.CompactTextString(m) } func (*B) ProtoMessage() {} func (*B) Descriptor() ([]byte, []int) { - return fileDescriptor_merge_7440dca413742023, []int{1} + return fileDescriptor_82caea6f5430298b, []int{1} } func (m *B) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_B.Unmarshal(m, b) @@ -76,8 +78,8 @@ func (m *B) XXX_Unmarshal(b []byte) error { func (m *B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_B.Marshal(b, m, deterministic) } -func (dst *B) XXX_Merge(src proto.Message) { - xxx_messageInfo_B.Merge(dst, src) +func (m *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(m, src) } func (m *B) XXX_Size() int { return xxx_messageInfo_B.Size(m) @@ -100,9 +102,9 @@ func init() { proto.RegisterType((*B)(nil), "merge.B") } -func init() { proto.RegisterFile("merge.proto", fileDescriptor_merge_7440dca413742023) } +func init() { proto.RegisterFile("merge.proto", fileDescriptor_82caea6f5430298b) } -var fileDescriptor_merge_7440dca413742023 = []byte{ +var fileDescriptor_82caea6f5430298b = []byte{ // 123 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xce, 0x4d, 0x2d, 0x4a, 0x4f, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0xa4, 0x74, 0xd3, 0x33, 0x4b, diff --git a/vendor/github.com/gogo/protobuf/test/moredefaults/md.pb.go b/vendor/github.com/gogo/protobuf/test/moredefaults/md.pb.go index 2abe65cb7..7f02b2e97 100644 --- a/vendor/github.com/gogo/protobuf/test/moredefaults/md.pb.go +++ b/vendor/github.com/gogo/protobuf/test/moredefaults/md.pb.go @@ -3,13 +3,14 @@ package moredefaults -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import example "github.com/gogo/protobuf/test/example" - -import bytes "bytes" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + example "github.com/gogo/protobuf/test/example" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -33,7 +34,7 @@ func (m *MoreDefaultsB) Reset() { *m = MoreDefaultsB{} } func (m *MoreDefaultsB) String() string { return proto.CompactTextString(m) } func (*MoreDefaultsB) ProtoMessage() {} func (*MoreDefaultsB) Descriptor() ([]byte, []int) { - return fileDescriptor_md_dba3fb70ca5eb304, []int{0} + return fileDescriptor_e0e149d9fdc447d0, []int{0} } func (m *MoreDefaultsB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MoreDefaultsB.Unmarshal(m, b) @@ -41,8 +42,8 @@ func (m *MoreDefaultsB) XXX_Unmarshal(b []byte) error { func (m *MoreDefaultsB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MoreDefaultsB.Marshal(b, m, deterministic) } -func (dst *MoreDefaultsB) XXX_Merge(src proto.Message) { - xxx_messageInfo_MoreDefaultsB.Merge(dst, src) +func (m *MoreDefaultsB) XXX_Merge(src proto.Message) { + xxx_messageInfo_MoreDefaultsB.Merge(m, src) } func (m *MoreDefaultsB) XXX_Size() int { return xxx_messageInfo_MoreDefaultsB.Size(m) @@ -76,7 +77,7 @@ func (m *MoreDefaultsA) Reset() { *m = MoreDefaultsA{} } func (m *MoreDefaultsA) String() string { return proto.CompactTextString(m) } func (*MoreDefaultsA) ProtoMessage() {} func (*MoreDefaultsA) Descriptor() ([]byte, []int) { - return fileDescriptor_md_dba3fb70ca5eb304, []int{1} + return fileDescriptor_e0e149d9fdc447d0, []int{1} } func (m *MoreDefaultsA) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MoreDefaultsA.Unmarshal(m, b) @@ -84,8 +85,8 @@ func (m *MoreDefaultsA) XXX_Unmarshal(b []byte) error { func (m *MoreDefaultsA) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MoreDefaultsA.Marshal(b, m, deterministic) } -func (dst *MoreDefaultsA) XXX_Merge(src proto.Message) { - xxx_messageInfo_MoreDefaultsA.Merge(dst, src) +func (m *MoreDefaultsA) XXX_Merge(src proto.Message) { + xxx_messageInfo_MoreDefaultsA.Merge(m, src) } func (m *MoreDefaultsA) XXX_Size() int { return xxx_messageInfo_MoreDefaultsA.Size(m) @@ -144,6 +145,30 @@ func init() { proto.RegisterType((*MoreDefaultsB)(nil), "moredefaults.MoreDefaultsB") proto.RegisterType((*MoreDefaultsA)(nil), "moredefaults.MoreDefaultsA") } + +func init() { proto.RegisterFile("md.proto", fileDescriptor_e0e149d9fdc447d0) } + +var fileDescriptor_e0e149d9fdc447d0 = []byte{ + // 258 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xc8, 0x4d, 0xd1, 0x2b, + 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xc9, 0xcd, 0x2f, 0x4a, 0x4d, 0x49, 0x4d, 0x4b, 0x2c, 0xcd, + 0x29, 0x29, 0x96, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, + 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, + 0x59, 0xca, 0x18, 0xa7, 0xf2, 0x92, 0xd4, 0xe2, 0x12, 0xfd, 0xd4, 0x8a, 0xc4, 0xdc, 0x82, 0x9c, + 0x54, 0x18, 0x0d, 0xd1, 0xa4, 0xa4, 0xce, 0xc5, 0xeb, 0x9b, 0x5f, 0x94, 0xea, 0x02, 0xb5, 0xd3, + 0x49, 0x48, 0x8c, 0x8b, 0xcd, 0x2d, 0x33, 0x35, 0x27, 0xc5, 0x50, 0x82, 0x51, 0x81, 0x51, 0x83, + 0x33, 0x08, 0xca, 0x53, 0x7a, 0xcc, 0x88, 0xaa, 0xd2, 0x51, 0x48, 0x06, 0x45, 0x25, 0xb3, 0x15, + 0x8b, 0xa1, 0x91, 0xb1, 0x09, 0x4c, 0x3d, 0x5c, 0xd6, 0x48, 0x82, 0x09, 0x24, 0xeb, 0xc4, 0x72, + 0xe2, 0x9e, 0x3c, 0x03, 0x54, 0xd6, 0x48, 0x48, 0x9b, 0x8b, 0xc9, 0xc9, 0x50, 0x82, 0x59, 0x81, + 0x51, 0x83, 0xdb, 0x48, 0x5a, 0x0f, 0xd9, 0xd7, 0x7a, 0x28, 0xce, 0x09, 0x62, 0x72, 0x32, 0x14, + 0x32, 0xe4, 0x62, 0x72, 0x32, 0x92, 0x60, 0x21, 0xa8, 0x18, 0x6a, 0x07, 0x93, 0x93, 0x91, 0x90, + 0x38, 0x17, 0x93, 0xa3, 0xa1, 0x04, 0x2b, 0x58, 0x0b, 0xbb, 0x1e, 0xc8, 0xff, 0x7a, 0x8e, 0x41, + 0x4c, 0x8e, 0x86, 0x42, 0xb2, 0x5c, 0x4c, 0x8e, 0x46, 0x12, 0x6c, 0x28, 0x12, 0x30, 0x7d, 0x8e, + 0x46, 0x4e, 0x02, 0x27, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xb8, 0xe2, 0x91, 0x1c, 0xe3, + 0x8e, 0x47, 0x72, 0x8c, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xf0, 0x3f, 0xeb, 0x9d, 0x01, + 0x00, 0x00, +} + func (this *MoreDefaultsB) Equal(that interface{}) bool { if that == nil { return this == nil @@ -338,26 +363,3 @@ func encodeVarintPopulateMd(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("md.proto", fileDescriptor_md_dba3fb70ca5eb304) } - -var fileDescriptor_md_dba3fb70ca5eb304 = []byte{ - // 258 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xc8, 0x4d, 0xd1, 0x2b, - 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0xc9, 0xcd, 0x2f, 0x4a, 0x4d, 0x49, 0x4d, 0x4b, 0x2c, 0xcd, - 0x29, 0x29, 0x96, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, - 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4a, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, - 0x59, 0xca, 0x18, 0xa7, 0xf2, 0x92, 0xd4, 0xe2, 0x12, 0xfd, 0xd4, 0x8a, 0xc4, 0xdc, 0x82, 0x9c, - 0x54, 0x18, 0x0d, 0xd1, 0xa4, 0xa4, 0xce, 0xc5, 0xeb, 0x9b, 0x5f, 0x94, 0xea, 0x02, 0xb5, 0xd3, - 0x49, 0x48, 0x8c, 0x8b, 0xcd, 0x2d, 0x33, 0x35, 0x27, 0xc5, 0x50, 0x82, 0x51, 0x81, 0x51, 0x83, - 0x33, 0x08, 0xca, 0x53, 0x7a, 0xcc, 0x88, 0xaa, 0xd2, 0x51, 0x48, 0x06, 0x45, 0x25, 0xb3, 0x15, - 0x8b, 0xa1, 0x91, 0xb1, 0x09, 0x4c, 0x3d, 0x5c, 0xd6, 0x48, 0x82, 0x09, 0x24, 0xeb, 0xc4, 0x72, - 0xe2, 0x9e, 0x3c, 0x03, 0x54, 0xd6, 0x48, 0x48, 0x9b, 0x8b, 0xc9, 0xc9, 0x50, 0x82, 0x59, 0x81, - 0x51, 0x83, 0xdb, 0x48, 0x5a, 0x0f, 0xd9, 0xd7, 0x7a, 0x28, 0xce, 0x09, 0x62, 0x72, 0x32, 0x14, - 0x32, 0xe4, 0x62, 0x72, 0x32, 0x92, 0x60, 0x21, 0xa8, 0x18, 0x6a, 0x07, 0x93, 0x93, 0x91, 0x90, - 0x38, 0x17, 0x93, 0xa3, 0xa1, 0x04, 0x2b, 0x58, 0x0b, 0xbb, 0x1e, 0xc8, 0xff, 0x7a, 0x8e, 0x41, - 0x4c, 0x8e, 0x86, 0x42, 0xb2, 0x5c, 0x4c, 0x8e, 0x46, 0x12, 0x6c, 0x28, 0x12, 0x30, 0x7d, 0x8e, - 0x46, 0x4e, 0x02, 0x27, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xb8, 0xe2, 0x91, 0x1c, 0xe3, - 0x8e, 0x47, 0x72, 0x8c, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xf0, 0x3f, 0xeb, 0x9d, 0x01, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/nopackage/nopackage.pb.go b/vendor/github.com/gogo/protobuf/test/nopackage/nopackage.pb.go index 0e583b795..f2a25650e 100644 --- a/vendor/github.com/gogo/protobuf/test/nopackage/nopackage.pb.go +++ b/vendor/github.com/gogo/protobuf/test/nopackage/nopackage.pb.go @@ -3,13 +3,13 @@ package nopackage -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -33,7 +33,7 @@ func (m *M) Reset() { *m = M{} } func (m *M) String() string { return proto.CompactTextString(m) } func (*M) ProtoMessage() {} func (*M) Descriptor() ([]byte, []int) { - return fileDescriptor_nopackage_085d7f4350f51d1d, []int{0} + return fileDescriptor_b1b32965c0afa91f, []int{0} } func (m *M) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -50,8 +50,8 @@ func (m *M) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *M) XXX_Merge(src proto.Message) { - xxx_messageInfo_M.Merge(dst, src) +func (m *M) XXX_Merge(src proto.Message) { + xxx_messageInfo_M.Merge(m, src) } func (m *M) XXX_Size() int { return m.Size() @@ -73,6 +73,22 @@ func init() { proto.RegisterType((*M)(nil), "M") proto.RegisterMapType((map[string]float64)(nil), "M.FEntry") } + +func init() { proto.RegisterFile("nopackage.proto", fileDescriptor_b1b32965c0afa91f) } + +var fileDescriptor_b1b32965c0afa91f = []byte{ + // 134 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcf, 0xcb, 0x2f, 0x48, + 0x4c, 0xce, 0x4e, 0x4c, 0x4f, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x57, 0x0a, 0xe2, 0x62, 0xf4, + 0x15, 0x12, 0xe7, 0x62, 0x4c, 0x93, 0x60, 0x54, 0x60, 0xd6, 0xe0, 0x36, 0xe2, 0xd4, 0xf3, 0xd5, + 0x73, 0x73, 0xcd, 0x2b, 0x29, 0xaa, 0x0c, 0x62, 0x4c, 0x93, 0x32, 0xe1, 0x62, 0x83, 0x70, 0x84, + 0x04, 0xb8, 0x98, 0xb3, 0x53, 0x2b, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0x40, 0x4c, 0x21, + 0x11, 0x2e, 0xd6, 0xb2, 0xc4, 0x9c, 0xd2, 0x54, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xc6, 0x20, 0x08, + 0xc7, 0x8a, 0xc9, 0x82, 0xd1, 0x89, 0xe7, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, + 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, 0x5b, 0x64, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x62, 0x62, + 0xb2, 0xed, 0x7b, 0x00, 0x00, 0x00, +} + func (m *M) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -408,18 +424,3 @@ var ( ErrInvalidLengthNopackage = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowNopackage = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("nopackage.proto", fileDescriptor_nopackage_085d7f4350f51d1d) } - -var fileDescriptor_nopackage_085d7f4350f51d1d = []byte{ - // 134 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xcf, 0xcb, 0x2f, 0x48, - 0x4c, 0xce, 0x4e, 0x4c, 0x4f, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x57, 0x0a, 0xe2, 0x62, 0xf4, - 0x15, 0x12, 0xe7, 0x62, 0x4c, 0x93, 0x60, 0x54, 0x60, 0xd6, 0xe0, 0x36, 0xe2, 0xd4, 0xf3, 0xd5, - 0x73, 0x73, 0xcd, 0x2b, 0x29, 0xaa, 0x0c, 0x62, 0x4c, 0x93, 0x32, 0xe1, 0x62, 0x83, 0x70, 0x84, - 0x04, 0xb8, 0x98, 0xb3, 0x53, 0x2b, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0x40, 0x4c, 0x21, - 0x11, 0x2e, 0xd6, 0xb2, 0xc4, 0x9c, 0xd2, 0x54, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xc6, 0x20, 0x08, - 0xc7, 0x8a, 0xc9, 0x82, 0xd1, 0x89, 0xe7, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, - 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, 0x5b, 0x64, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x62, 0x62, - 0xb2, 0xed, 0x7b, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof/combos/both/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof/combos/both/one.pb.go index 762811d22..38fe39410 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof/combos/both/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof/combos/both/one.pb.go @@ -3,26 +3,23 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -45,7 +42,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1ca237849e17659c, []int{0} + return fileDescriptor_5ca5df6bbfd2f47d, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -62,8 +59,8 @@ func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return m.Size() @@ -101,7 +98,7 @@ type AllTypesOneOf struct { func (m *AllTypesOneOf) Reset() { *m = AllTypesOneOf{} } func (*AllTypesOneOf) ProtoMessage() {} func (*AllTypesOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1ca237849e17659c, []int{1} + return fileDescriptor_5ca5df6bbfd2f47d, []int{1} } func (m *AllTypesOneOf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -118,8 +115,8 @@ func (m *AllTypesOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *AllTypesOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTypesOneOf.Merge(dst, src) +func (m *AllTypesOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllTypesOneOf.Merge(m, src) } func (m *AllTypesOneOf) XXX_Size() int { return m.Size() @@ -613,7 +610,7 @@ type TwoOneofs struct { func (m *TwoOneofs) Reset() { *m = TwoOneofs{} } func (*TwoOneofs) ProtoMessage() {} func (*TwoOneofs) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1ca237849e17659c, []int{2} + return fileDescriptor_5ca5df6bbfd2f47d, []int{2} } func (m *TwoOneofs) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -630,8 +627,8 @@ func (m *TwoOneofs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *TwoOneofs) XXX_Merge(src proto.Message) { - xxx_messageInfo_TwoOneofs.Merge(dst, src) +func (m *TwoOneofs) XXX_Merge(src proto.Message) { + xxx_messageInfo_TwoOneofs.Merge(m, src) } func (m *TwoOneofs) XXX_Size() int { return m.Size() @@ -892,7 +889,7 @@ type CustomOneof struct { func (m *CustomOneof) Reset() { *m = CustomOneof{} } func (*CustomOneof) ProtoMessage() {} func (*CustomOneof) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1ca237849e17659c, []int{3} + return fileDescriptor_5ca5df6bbfd2f47d, []int{3} } func (m *CustomOneof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -909,8 +906,8 @@ func (m *CustomOneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *CustomOneof) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomOneof.Merge(dst, src) +func (m *CustomOneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomOneof.Merge(m, src) } func (m *CustomOneof) XXX_Size() int { return m.Size() @@ -1085,6 +1082,51 @@ func init() { proto.RegisterType((*TwoOneofs)(nil), "one.TwoOneofs") proto.RegisterType((*CustomOneof)(nil), "one.CustomOneof") } + +func init() { proto.RegisterFile("combos/both/one.proto", fileDescriptor_5ca5df6bbfd2f47d) } + +var fileDescriptor_5ca5df6bbfd2f47d = []byte{ + // 596 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0x3f, 0x4f, 0xdb, 0x40, + 0x14, 0x00, 0x70, 0x3f, 0x42, 0x42, 0xb8, 0x84, 0x92, 0x5a, 0xaa, 0x74, 0x65, 0x38, 0x4e, 0x69, + 0x2b, 0xdd, 0x50, 0x12, 0xe2, 0xd8, 0xfc, 0x19, 0x6b, 0xaa, 0x2a, 0x0b, 0x45, 0x32, 0x30, 0xa3, + 0x98, 0x9a, 0x10, 0x89, 0xf8, 0x10, 0x77, 0x16, 0xf2, 0xc6, 0x67, 0xe8, 0xa7, 0xe8, 0xd8, 0xb1, + 0x1f, 0x81, 0x31, 0x63, 0xd5, 0x21, 0xc2, 0xee, 0xd2, 0x91, 0x11, 0x75, 0xaa, 0xce, 0x26, 0x77, + 0x95, 0xaa, 0xaa, 0x4b, 0xa7, 0xf8, 0xbd, 0x9f, 0xef, 0xe5, 0x3d, 0xdf, 0x1d, 0x7a, 0x76, 0xca, + 0x27, 0x21, 0x17, 0xdd, 0x90, 0xcb, 0xf3, 0x2e, 0x8f, 0xa3, 0xce, 0xe5, 0x15, 0x97, 0xdc, 0xae, + 0xf0, 0x38, 0x5a, 0xdb, 0x18, 0x8d, 0xe5, 0x79, 0x12, 0x76, 0x4e, 0xf9, 0xa4, 0x3b, 0xe2, 0x23, + 0xde, 0x2d, 0x2c, 0x4c, 0xce, 0x8a, 0xa8, 0x08, 0x8a, 0xa7, 0x72, 0x4d, 0xfb, 0x39, 0xaa, 0x1e, + 0x26, 0x61, 0x98, 0xda, 0x2d, 0x54, 0x11, 0x49, 0x88, 0x81, 0x02, 0x5b, 0x0e, 0xd4, 0x63, 0x7b, + 0x56, 0x41, 0x2b, 0x6f, 0x2e, 0x2e, 0x8e, 0xd2, 0xcb, 0x48, 0x1c, 0xc4, 0xd1, 0xc1, 0x99, 0x8d, + 0x51, 0xed, 0xdd, 0x38, 0xba, 0xf8, 0xd0, 0x2b, 0x5e, 0x83, 0x81, 0x15, 0x3c, 0xc6, 0x5a, 0x1c, + 0xbc, 0x40, 0x81, 0x2d, 0x68, 0x71, 0xb4, 0xf4, 0x71, 0x85, 0x02, 0xab, 0x6a, 0xe9, 0x6b, 0x71, + 0xf1, 0x22, 0x05, 0x56, 0xd1, 0xe2, 0x6a, 0xf1, 0x70, 0x95, 0x02, 0x5b, 0xd1, 0xe2, 0x69, 0xd9, + 0xc2, 0x35, 0x0a, 0x6c, 0x51, 0xcb, 0x96, 0x96, 0x6d, 0xbc, 0x44, 0x81, 0x3d, 0xd5, 0xb2, 0xad, + 0x65, 0x07, 0xd7, 0x29, 0x30, 0x5b, 0xcb, 0x8e, 0x96, 0x5d, 0xbc, 0x4c, 0x81, 0x2d, 0x69, 0xd9, + 0xb5, 0xd7, 0xd0, 0x52, 0x39, 0xd9, 0x26, 0x46, 0x14, 0xd8, 0xea, 0xc0, 0x0a, 0xe6, 0x09, 0x63, + 0x3d, 0xdc, 0xa0, 0xc0, 0x6a, 0xc6, 0x7a, 0xc6, 0x1c, 0xdc, 0xa4, 0xc0, 0x5a, 0xc6, 0x1c, 0x63, + 0x7d, 0xbc, 0x42, 0x81, 0xd5, 0x8d, 0xf5, 0x8d, 0xb9, 0xf8, 0x89, 0xda, 0x01, 0x63, 0xae, 0x31, + 0x0f, 0xaf, 0x52, 0x60, 0x4d, 0x63, 0x9e, 0xbd, 0x81, 0x1a, 0x22, 0x09, 0x4f, 0x26, 0x91, 0x10, + 0xc3, 0x51, 0x84, 0x5b, 0x14, 0x58, 0xc3, 0x41, 0x1d, 0x75, 0x26, 0x8a, 0x6d, 0x1d, 0x58, 0x01, + 0x12, 0x49, 0xb8, 0x5f, 0xba, 0xdf, 0x44, 0x48, 0x46, 0x42, 0x9e, 0xf0, 0x38, 0xe2, 0x67, 0xed, + 0x29, 0xa0, 0xe5, 0xa3, 0x6b, 0x7e, 0xa0, 0x02, 0xf1, 0x9f, 0x37, 0x77, 0xde, 0x74, 0xdf, 0xc5, + 0xed, 0x62, 0x20, 0x08, 0xe6, 0x09, 0x63, 0x1e, 0x7e, 0x51, 0x0c, 0xa4, 0xcd, 0xb3, 0xbb, 0xa8, + 0xf9, 0xdb, 0x40, 0x0e, 0x7e, 0xf9, 0xc7, 0x44, 0x10, 0x34, 0xcc, 0x44, 0x8e, 0x5f, 0x45, 0xea, + 0xd8, 0xab, 0x1f, 0x79, 0xcd, 0xdb, 0x1f, 0x17, 0x50, 0x63, 0x2f, 0x11, 0x92, 0x4f, 0x8a, 0xa9, + 0xd4, 0x5f, 0x1d, 0xca, 0xab, 0x71, 0x3c, 0x4a, 0x1f, 0xdb, 0xb0, 0x82, 0x79, 0xc2, 0x0e, 0x10, + 0x2a, 0x5f, 0x55, 0x27, 0xbc, 0xec, 0xc4, 0xdf, 0xfc, 0x36, 0x5b, 0x7f, 0xfd, 0xd7, 0x1b, 0xa4, + 0xbe, 0x5d, 0xf7, 0xb4, 0x58, 0xd3, 0x39, 0x1e, 0xc7, 0xb2, 0xe7, 0xec, 0xa8, 0x0f, 0x6c, 0xaa, + 0xd8, 0xc7, 0xa8, 0xbe, 0x37, 0x14, 0xb2, 0xa8, 0xa8, 0x5a, 0x5f, 0xf4, 0xb7, 0x7f, 0xce, 0xd6, + 0xfb, 0xff, 0xa8, 0x38, 0x14, 0x52, 0xa6, 0x97, 0x51, 0x67, 0x3f, 0x55, 0x55, 0xb7, 0x5c, 0xb5, + 0x7c, 0x60, 0x05, 0xba, 0x94, 0xed, 0xcc, 0x5b, 0x7d, 0x3f, 0x9c, 0x44, 0xf8, 0x95, 0xba, 0x2e, + 0x7e, 0x2b, 0x9f, 0xad, 0x37, 0xf7, 0x53, 0x93, 0x37, 0xad, 0xa8, 0xc8, 0xaf, 0xa3, 0x5a, 0xd9, + 0xaa, 0xff, 0xf6, 0x36, 0x23, 0xd6, 0x34, 0x23, 0xd6, 0xd7, 0x8c, 0x58, 0x77, 0x19, 0x81, 0xfb, + 0x8c, 0xc0, 0x43, 0x46, 0xe0, 0x26, 0x27, 0xf0, 0x29, 0x27, 0xf0, 0x39, 0x27, 0xf0, 0x25, 0x27, + 0x70, 0x9b, 0x13, 0x98, 0xe6, 0x04, 0xee, 0x72, 0x02, 0x3f, 0x72, 0x62, 0xdd, 0xe7, 0x04, 0x1e, + 0x72, 0x62, 0xdd, 0x7c, 0x27, 0xd6, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x65, 0xb5, 0xca, + 0x75, 0x04, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -1100,274 +1142,276 @@ func (this *CustomOneof) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4264 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0xe6, 0xe2, 0x87, 0x04, 0x0e, 0x40, 0x70, 0xb9, 0xa4, 0x24, 0x88, 0x8e, 0x21, 0x09, 0xb6, - 0x63, 0xda, 0x8e, 0x49, 0x9b, 0x22, 0x29, 0x09, 0x6a, 0xe2, 0x82, 0x24, 0x44, 0xd1, 0x25, 0x09, - 0x66, 0x41, 0xc6, 0x3f, 0x99, 0xce, 0xce, 0x72, 0x71, 0x01, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, - 0x24, 0x43, 0xd3, 0x07, 0x75, 0xdc, 0x9f, 0xc9, 0x74, 0xfa, 0x97, 0x76, 0xa6, 0x89, 0xeb, 0xb8, - 0x4d, 0x3a, 0x8d, 0xd3, 0xf4, 0x2f, 0x69, 0xda, 0x34, 0x49, 0x5f, 0xfa, 0x92, 0xd6, 0x4f, 0x1d, - 0xe7, 0xad, 0xd3, 0xe9, 0x78, 0x2c, 0xc6, 0x33, 0x4d, 0x5b, 0xb7, 0x71, 0x5b, 0x75, 0xc6, 0x53, - 0xbf, 0x74, 0xee, 0xdf, 0xee, 0xe2, 0x87, 0x5a, 0x30, 0x13, 0xdb, 0x4f, 0xe2, 0x9e, 0x73, 0xbe, - 0x6f, 0xcf, 0x3d, 0xf7, 0xdc, 0x73, 0xcf, 0xbd, 0x0b, 0xc1, 0x8f, 0x2e, 0xc1, 0xd9, 0xa6, 0x65, - 0x35, 0x0d, 0x34, 0x6f, 0x3b, 0x96, 0x67, 0xed, 0xb7, 0x1b, 0xf3, 0x75, 0xe4, 0x6a, 0x8e, 0x6e, - 0x7b, 0x96, 0x33, 0x47, 0x64, 0xd2, 0x04, 0xb5, 0x98, 0xe3, 0x16, 0xc5, 0x2d, 0x98, 0xbc, 0xa2, - 0x1b, 0x68, 0xcd, 0x37, 0xac, 0x21, 0x4f, 0xba, 0x08, 0x89, 0x86, 0x6e, 0xa0, 0xbc, 0x70, 0x36, - 0x3e, 0x9b, 0x59, 0x78, 0x70, 0xae, 0x07, 0x34, 0xd7, 0x8d, 0xd8, 0xc1, 0x62, 0x99, 0x20, 0x8a, - 0x6f, 0x25, 0x60, 0x6a, 0x80, 0x56, 0x92, 0x20, 0x61, 0xaa, 0x2d, 0xcc, 0x28, 0xcc, 0xa6, 0x65, - 0xf2, 0xb7, 0x94, 0x87, 0x31, 0x5b, 0xd5, 0xae, 0xab, 0x4d, 0x94, 0x8f, 0x11, 0x31, 0x7f, 0x94, - 0x0a, 0x00, 0x75, 0x64, 0x23, 0xb3, 0x8e, 0x4c, 0xad, 0x93, 0x8f, 0x9f, 0x8d, 0xcf, 0xa6, 0xe5, - 0x90, 0x44, 0x7a, 0x0c, 0x26, 0xed, 0xf6, 0xbe, 0xa1, 0x6b, 0x4a, 0xc8, 0x0c, 0xce, 0xc6, 0x67, - 0x93, 0xb2, 0x48, 0x15, 0x6b, 0x81, 0xf1, 0xc3, 0x30, 0x71, 0x13, 0xa9, 0xd7, 0xc3, 0xa6, 0x19, - 0x62, 0x9a, 0xc3, 0xe2, 0x90, 0xe1, 0x2a, 0x64, 0x5b, 0xc8, 0x75, 0xd5, 0x26, 0x52, 0xbc, 0x8e, - 0x8d, 0xf2, 0x09, 0x32, 0xfa, 0xb3, 0x7d, 0xa3, 0xef, 0x1d, 0x79, 0x86, 0xa1, 0x76, 0x3b, 0x36, - 0x92, 0xca, 0x90, 0x46, 0x66, 0xbb, 0x45, 0x19, 0x92, 0x47, 0xc4, 0xaf, 0x62, 0xb6, 0x5b, 0xbd, - 0x2c, 0x29, 0x0c, 0x63, 0x14, 0x63, 0x2e, 0x72, 0x6e, 0xe8, 0x1a, 0xca, 0x8f, 0x12, 0x82, 0x87, - 0xfb, 0x08, 0x6a, 0x54, 0xdf, 0xcb, 0xc1, 0x71, 0xd2, 0x2a, 0xa4, 0xd1, 0x0b, 0x1e, 0x32, 0x5d, - 0xdd, 0x32, 0xf3, 0x63, 0x84, 0xe4, 0xa1, 0x01, 0xb3, 0x88, 0x8c, 0x7a, 0x2f, 0x45, 0x80, 0x93, - 0x96, 0x61, 0xcc, 0xb2, 0x3d, 0xdd, 0x32, 0xdd, 0x7c, 0xea, 0xac, 0x30, 0x9b, 0x59, 0xf8, 0xc8, - 0xc0, 0x44, 0xa8, 0x52, 0x1b, 0x99, 0x1b, 0x4b, 0x1b, 0x20, 0xba, 0x56, 0xdb, 0xd1, 0x90, 0xa2, - 0x59, 0x75, 0xa4, 0xe8, 0x66, 0xc3, 0xca, 0xa7, 0x09, 0xc1, 0x99, 0xfe, 0x81, 0x10, 0xc3, 0x55, - 0xab, 0x8e, 0x36, 0xcc, 0x86, 0x25, 0xe7, 0xdc, 0xae, 0x67, 0xe9, 0x24, 0x8c, 0xba, 0x1d, 0xd3, - 0x53, 0x5f, 0xc8, 0x67, 0x49, 0x86, 0xb0, 0xa7, 0xe2, 0x77, 0x46, 0x61, 0x62, 0x98, 0x14, 0xbb, - 0x0c, 0xc9, 0x06, 0x1e, 0x65, 0x3e, 0x76, 0x9c, 0x18, 0x50, 0x4c, 0x77, 0x10, 0x47, 0x7f, 0xcc, - 0x20, 0x96, 0x21, 0x63, 0x22, 0xd7, 0x43, 0x75, 0x9a, 0x11, 0xf1, 0x21, 0x73, 0x0a, 0x28, 0xa8, - 0x3f, 0xa5, 0x12, 0x3f, 0x56, 0x4a, 0x3d, 0x0b, 0x13, 0xbe, 0x4b, 0x8a, 0xa3, 0x9a, 0x4d, 0x9e, - 0x9b, 0xf3, 0x51, 0x9e, 0xcc, 0x55, 0x38, 0x4e, 0xc6, 0x30, 0x39, 0x87, 0xba, 0x9e, 0xa5, 0x35, - 0x00, 0xcb, 0x44, 0x56, 0x43, 0xa9, 0x23, 0xcd, 0xc8, 0xa7, 0x8e, 0x88, 0x52, 0x15, 0x9b, 0xf4, - 0x45, 0xc9, 0xa2, 0x52, 0xcd, 0x90, 0x2e, 0x05, 0xa9, 0x36, 0x76, 0x44, 0xa6, 0x6c, 0xd1, 0x45, - 0xd6, 0x97, 0x6d, 0x7b, 0x90, 0x73, 0x10, 0xce, 0x7b, 0x54, 0x67, 0x23, 0x4b, 0x13, 0x27, 0xe6, - 0x22, 0x47, 0x26, 0x33, 0x18, 0x1d, 0xd8, 0xb8, 0x13, 0x7e, 0x94, 0x1e, 0x00, 0x5f, 0xa0, 0x90, - 0xb4, 0x02, 0x52, 0x85, 0xb2, 0x5c, 0xb8, 0xad, 0xb6, 0xd0, 0xcc, 0x2d, 0xc8, 0x75, 0x87, 0x47, - 0x9a, 0x86, 0xa4, 0xeb, 0xa9, 0x8e, 0x47, 0xb2, 0x30, 0x29, 0xd3, 0x07, 0x49, 0x84, 0x38, 0x32, - 0xeb, 0xa4, 0xca, 0x25, 0x65, 0xfc, 0xa7, 0xf4, 0xd3, 0xc1, 0x80, 0xe3, 0x64, 0xc0, 0x1f, 0xed, - 0x9f, 0xd1, 0x2e, 0xe6, 0xde, 0x71, 0xcf, 0x5c, 0x80, 0xf1, 0xae, 0x01, 0x0c, 0xfb, 0xea, 0xe2, - 0xcf, 0xc1, 0x89, 0x81, 0xd4, 0xd2, 0xb3, 0x30, 0xdd, 0x36, 0x75, 0xd3, 0x43, 0x8e, 0xed, 0x20, - 0x9c, 0xb1, 0xf4, 0x55, 0xf9, 0x7f, 0x19, 0x3b, 0x22, 0xe7, 0xf6, 0xc2, 0xd6, 0x94, 0x45, 0x9e, - 0x6a, 0xf7, 0x0b, 0x1f, 0x4d, 0xa7, 0x7e, 0x38, 0x26, 0xde, 0xbe, 0x7d, 0xfb, 0x76, 0xac, 0xf8, - 0xf9, 0x51, 0x98, 0x1e, 0xb4, 0x66, 0x06, 0x2e, 0xdf, 0x93, 0x30, 0x6a, 0xb6, 0x5b, 0xfb, 0xc8, - 0x21, 0x41, 0x4a, 0xca, 0xec, 0x49, 0x2a, 0x43, 0xd2, 0x50, 0xf7, 0x91, 0x91, 0x4f, 0x9c, 0x15, - 0x66, 0x73, 0x0b, 0x8f, 0x0d, 0xb5, 0x2a, 0xe7, 0x36, 0x31, 0x44, 0xa6, 0x48, 0xe9, 0x13, 0x90, - 0x60, 0x25, 0x1a, 0x33, 0x3c, 0x3a, 0x1c, 0x03, 0x5e, 0x4b, 0x32, 0xc1, 0x49, 0xf7, 0x41, 0x1a, - 0xff, 0x4b, 0x73, 0x63, 0x94, 0xf8, 0x9c, 0xc2, 0x02, 0x9c, 0x17, 0xd2, 0x0c, 0xa4, 0xc8, 0x32, - 0xa9, 0x23, 0xbe, 0xb5, 0xf9, 0xcf, 0x38, 0xb1, 0xea, 0xa8, 0xa1, 0xb6, 0x0d, 0x4f, 0xb9, 0xa1, - 0x1a, 0x6d, 0x44, 0x12, 0x3e, 0x2d, 0x67, 0x99, 0xf0, 0x53, 0x58, 0x26, 0x9d, 0x81, 0x0c, 0x5d, - 0x55, 0xba, 0x59, 0x47, 0x2f, 0x90, 0xea, 0x99, 0x94, 0xe9, 0x42, 0xdb, 0xc0, 0x12, 0xfc, 0xfa, - 0x6b, 0xae, 0x65, 0xf2, 0xd4, 0x24, 0xaf, 0xc0, 0x02, 0xf2, 0xfa, 0x0b, 0xbd, 0x85, 0xfb, 0xfe, - 0xc1, 0xc3, 0xeb, 0xcd, 0xa9, 0xe2, 0xb7, 0x62, 0x90, 0x20, 0xf5, 0x62, 0x02, 0x32, 0xbb, 0xcf, - 0xed, 0x54, 0x94, 0xb5, 0xea, 0xde, 0xca, 0x66, 0x45, 0x14, 0xa4, 0x1c, 0x00, 0x11, 0x5c, 0xd9, - 0xac, 0x96, 0x77, 0xc5, 0x98, 0xff, 0xbc, 0xb1, 0xbd, 0xbb, 0xbc, 0x28, 0xc6, 0x7d, 0xc0, 0x1e, - 0x15, 0x24, 0xc2, 0x06, 0xe7, 0x17, 0xc4, 0xa4, 0x24, 0x42, 0x96, 0x12, 0x6c, 0x3c, 0x5b, 0x59, - 0x5b, 0x5e, 0x14, 0x47, 0xbb, 0x25, 0xe7, 0x17, 0xc4, 0x31, 0x69, 0x1c, 0xd2, 0x44, 0xb2, 0x52, - 0xad, 0x6e, 0x8a, 0x29, 0x9f, 0xb3, 0xb6, 0x2b, 0x6f, 0x6c, 0xaf, 0x8b, 0x69, 0x9f, 0x73, 0x5d, - 0xae, 0xee, 0xed, 0x88, 0xe0, 0x33, 0x6c, 0x55, 0x6a, 0xb5, 0xf2, 0x7a, 0x45, 0xcc, 0xf8, 0x16, - 0x2b, 0xcf, 0xed, 0x56, 0x6a, 0x62, 0xb6, 0xcb, 0xad, 0xf3, 0x0b, 0xe2, 0xb8, 0xff, 0x8a, 0xca, - 0xf6, 0xde, 0x96, 0x98, 0x93, 0x26, 0x61, 0x9c, 0xbe, 0x82, 0x3b, 0x31, 0xd1, 0x23, 0x5a, 0x5e, - 0x14, 0xc5, 0xc0, 0x11, 0xca, 0x32, 0xd9, 0x25, 0x58, 0x5e, 0x14, 0xa5, 0xe2, 0x2a, 0x24, 0x49, - 0x76, 0x49, 0x12, 0xe4, 0x36, 0xcb, 0x2b, 0x95, 0x4d, 0xa5, 0xba, 0xb3, 0xbb, 0x51, 0xdd, 0x2e, - 0x6f, 0x8a, 0x42, 0x20, 0x93, 0x2b, 0x9f, 0xdc, 0xdb, 0x90, 0x2b, 0x6b, 0x62, 0x2c, 0x2c, 0xdb, - 0xa9, 0x94, 0x77, 0x2b, 0x6b, 0x62, 0xbc, 0xa8, 0xc1, 0xf4, 0xa0, 0x3a, 0x39, 0x70, 0x65, 0x84, - 0xa6, 0x38, 0x76, 0xc4, 0x14, 0x13, 0xae, 0xbe, 0x29, 0xfe, 0x41, 0x0c, 0xa6, 0x06, 0xec, 0x15, - 0x03, 0x5f, 0xf2, 0x14, 0x24, 0x69, 0x8a, 0xd2, 0xdd, 0xf3, 0x91, 0x81, 0x9b, 0x0e, 0x49, 0xd8, - 0xbe, 0x1d, 0x94, 0xe0, 0xc2, 0x1d, 0x44, 0xfc, 0x88, 0x0e, 0x02, 0x53, 0xf4, 0xd5, 0xf4, 0x9f, - 0xed, 0xab, 0xe9, 0x74, 0xdb, 0x5b, 0x1e, 0x66, 0xdb, 0x23, 0xb2, 0xe3, 0xd5, 0xf6, 0xe4, 0x80, - 0xda, 0x7e, 0x19, 0x26, 0xfb, 0x88, 0x86, 0xae, 0xb1, 0x2f, 0x0a, 0x90, 0x3f, 0x2a, 0x38, 0x11, - 0x95, 0x2e, 0xd6, 0x55, 0xe9, 0x2e, 0xf7, 0x46, 0xf0, 0xdc, 0xd1, 0x93, 0xd0, 0x37, 0xd7, 0xaf, - 0x0a, 0x70, 0x72, 0x70, 0xa7, 0x38, 0xd0, 0x87, 0x4f, 0xc0, 0x68, 0x0b, 0x79, 0x07, 0x16, 0xef, - 0x96, 0x3e, 0x3a, 0x60, 0x0f, 0xc6, 0xea, 0xde, 0xc9, 0x66, 0xa8, 0xf0, 0x26, 0x1e, 0x3f, 0xaa, - 0xdd, 0xa3, 0xde, 0xf4, 0x79, 0xfa, 0xd9, 0x18, 0x9c, 0x18, 0x48, 0x3e, 0xd0, 0xd1, 0xfb, 0x01, - 0x74, 0xd3, 0x6e, 0x7b, 0xb4, 0x23, 0xa2, 0x05, 0x36, 0x4d, 0x24, 0xa4, 0x78, 0xe1, 0xe2, 0xd9, - 0xf6, 0x7c, 0x7d, 0x9c, 0xe8, 0x81, 0x8a, 0x88, 0xc1, 0xc5, 0xc0, 0xd1, 0x04, 0x71, 0xb4, 0x70, - 0xc4, 0x48, 0xfb, 0x12, 0xf3, 0x09, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, - 0x96, 0x6e, 0x36, 0xc9, 0x0e, 0x92, 0x2a, 0x25, 0x1b, 0xaa, 0xe1, 0x22, 0x79, 0x82, 0xaa, 0x6b, - 0x5c, 0x8b, 0x11, 0x24, 0x81, 0x9c, 0x10, 0x62, 0xb4, 0x0b, 0x41, 0xd5, 0x3e, 0xa2, 0xf8, 0xcd, - 0x14, 0x64, 0x42, 0x7d, 0xb5, 0x74, 0x0e, 0xb2, 0xd7, 0xd4, 0x1b, 0xaa, 0xc2, 0xcf, 0x4a, 0x34, - 0x12, 0x19, 0x2c, 0xdb, 0x61, 0xe7, 0xa5, 0x27, 0x60, 0x9a, 0x98, 0x58, 0x6d, 0x0f, 0x39, 0x8a, - 0x66, 0xa8, 0xae, 0x4b, 0x82, 0x96, 0x22, 0xa6, 0x12, 0xd6, 0x55, 0xb1, 0x6a, 0x95, 0x6b, 0xa4, - 0x25, 0x98, 0x22, 0x88, 0x56, 0xdb, 0xf0, 0x74, 0xdb, 0x40, 0x0a, 0x3e, 0xbd, 0xb9, 0x64, 0x27, - 0xf1, 0x3d, 0x9b, 0xc4, 0x16, 0x5b, 0xcc, 0x00, 0x7b, 0xe4, 0x4a, 0x6b, 0x70, 0x3f, 0x81, 0x35, - 0x91, 0x89, 0x1c, 0xd5, 0x43, 0x0a, 0xfa, 0x4c, 0x5b, 0x35, 0x5c, 0x45, 0x35, 0xeb, 0xca, 0x81, - 0xea, 0x1e, 0xe4, 0xa7, 0x31, 0xc1, 0x4a, 0x2c, 0x2f, 0xc8, 0xa7, 0xb1, 0xe1, 0x3a, 0xb3, 0xab, - 0x10, 0xb3, 0xb2, 0x59, 0xbf, 0xaa, 0xba, 0x07, 0x52, 0x09, 0x4e, 0x12, 0x16, 0xd7, 0x73, 0x74, - 0xb3, 0xa9, 0x68, 0x07, 0x48, 0xbb, 0xae, 0xb4, 0xbd, 0xc6, 0xc5, 0xfc, 0x7d, 0xe1, 0xf7, 0x13, - 0x0f, 0x6b, 0xc4, 0x66, 0x15, 0x9b, 0xec, 0x79, 0x8d, 0x8b, 0x52, 0x0d, 0xb2, 0x78, 0x32, 0x5a, - 0xfa, 0x2d, 0xa4, 0x34, 0x2c, 0x87, 0x6c, 0x8d, 0xb9, 0x01, 0xa5, 0x29, 0x14, 0xc1, 0xb9, 0x2a, - 0x03, 0x6c, 0x59, 0x75, 0x54, 0x4a, 0xd6, 0x76, 0x2a, 0x95, 0x35, 0x39, 0xc3, 0x59, 0xae, 0x58, - 0x0e, 0x4e, 0xa8, 0xa6, 0xe5, 0x07, 0x38, 0x43, 0x13, 0xaa, 0x69, 0xf1, 0xf0, 0x2e, 0xc1, 0x94, - 0xa6, 0xd1, 0x31, 0xeb, 0x9a, 0xc2, 0xce, 0x58, 0x6e, 0x5e, 0xec, 0x0a, 0x96, 0xa6, 0xad, 0x53, - 0x03, 0x96, 0xe3, 0xae, 0x74, 0x09, 0x4e, 0x04, 0xc1, 0x0a, 0x03, 0x27, 0xfb, 0x46, 0xd9, 0x0b, - 0x5d, 0x82, 0x29, 0xbb, 0xd3, 0x0f, 0x94, 0xba, 0xde, 0x68, 0x77, 0x7a, 0x61, 0x17, 0x60, 0xda, - 0x3e, 0xb0, 0xfb, 0x71, 0x8f, 0x86, 0x71, 0x92, 0x7d, 0x60, 0xf7, 0x02, 0x1f, 0x22, 0x07, 0x6e, - 0x07, 0x69, 0xaa, 0x87, 0xea, 0xf9, 0x53, 0x61, 0xf3, 0x90, 0x42, 0x9a, 0x07, 0x51, 0xd3, 0x14, - 0x64, 0xaa, 0xfb, 0x06, 0x52, 0x54, 0x07, 0x99, 0xaa, 0x9b, 0x3f, 0x13, 0x36, 0xce, 0x69, 0x5a, - 0x85, 0x68, 0xcb, 0x44, 0x29, 0x3d, 0x0a, 0x93, 0xd6, 0xfe, 0x35, 0x8d, 0xa6, 0xa4, 0x62, 0x3b, - 0xa8, 0xa1, 0xbf, 0x90, 0x7f, 0x90, 0xc4, 0x77, 0x02, 0x2b, 0x48, 0x42, 0xee, 0x10, 0xb1, 0xf4, - 0x08, 0x88, 0x9a, 0x7b, 0xa0, 0x3a, 0x36, 0xa9, 0xc9, 0xae, 0xad, 0x6a, 0x28, 0xff, 0x10, 0x35, - 0xa5, 0xf2, 0x6d, 0x2e, 0xc6, 0x4b, 0xc2, 0xbd, 0xa9, 0x37, 0x3c, 0xce, 0xf8, 0x30, 0x5d, 0x12, - 0x44, 0xc6, 0xd8, 0x66, 0x41, 0xc4, 0xa1, 0xe8, 0x7a, 0xf1, 0x2c, 0x31, 0xcb, 0xd9, 0x07, 0x76, - 0xf8, 0xbd, 0x0f, 0xc0, 0x38, 0xb6, 0x0c, 0x5e, 0xfa, 0x08, 0x6d, 0xc8, 0xec, 0x83, 0xd0, 0x1b, - 0xdf, 0xb7, 0xde, 0xb8, 0x58, 0x82, 0x6c, 0x38, 0x3f, 0xa5, 0x34, 0xd0, 0x0c, 0x15, 0x05, 0xdc, - 0xac, 0xac, 0x56, 0xd7, 0x70, 0x9b, 0xf1, 0x7c, 0x45, 0x8c, 0xe1, 0x76, 0x67, 0x73, 0x63, 0xb7, - 0xa2, 0xc8, 0x7b, 0xdb, 0xbb, 0x1b, 0x5b, 0x15, 0x31, 0x1e, 0xee, 0xab, 0xbf, 0x17, 0x83, 0x5c, - 0xf7, 0x11, 0x49, 0xfa, 0x29, 0x38, 0xc5, 0xef, 0x33, 0x5c, 0xe4, 0x29, 0x37, 0x75, 0x87, 0x2c, - 0x99, 0x96, 0x4a, 0xb7, 0x2f, 0x7f, 0xd2, 0xa6, 0x99, 0x55, 0x0d, 0x79, 0xcf, 0xe8, 0x0e, 0x5e, - 0x10, 0x2d, 0xd5, 0x93, 0x36, 0xe1, 0x8c, 0x69, 0x29, 0xae, 0xa7, 0x9a, 0x75, 0xd5, 0xa9, 0x2b, - 0xc1, 0x4d, 0x92, 0xa2, 0x6a, 0x1a, 0x72, 0x5d, 0x8b, 0x6e, 0x55, 0x3e, 0xcb, 0x47, 0x4c, 0xab, - 0xc6, 0x8c, 0x83, 0x1a, 0x5e, 0x66, 0xa6, 0x3d, 0x09, 0x16, 0x3f, 0x2a, 0xc1, 0xee, 0x83, 0x74, - 0x4b, 0xb5, 0x15, 0x64, 0x7a, 0x4e, 0x87, 0x34, 0xc6, 0x29, 0x39, 0xd5, 0x52, 0xed, 0x0a, 0x7e, - 0xfe, 0x60, 0xce, 0x27, 0xff, 0x1c, 0x87, 0x6c, 0xb8, 0x39, 0xc6, 0x67, 0x0d, 0x8d, 0xec, 0x23, - 0x02, 0xa9, 0x34, 0x0f, 0xdc, 0xb3, 0x95, 0x9e, 0x5b, 0xc5, 0x1b, 0x4c, 0x69, 0x94, 0xb6, 0xac, - 0x32, 0x45, 0xe2, 0xcd, 0x1d, 0xd7, 0x16, 0x44, 0x5b, 0x84, 0x94, 0xcc, 0x9e, 0xa4, 0x75, 0x18, - 0xbd, 0xe6, 0x12, 0xee, 0x51, 0xc2, 0xfd, 0xe0, 0xbd, 0xb9, 0x9f, 0xae, 0x11, 0xf2, 0xf4, 0xd3, - 0x35, 0x65, 0xbb, 0x2a, 0x6f, 0x95, 0x37, 0x65, 0x06, 0x97, 0x4e, 0x43, 0xc2, 0x50, 0x6f, 0x75, - 0xba, 0xb7, 0x22, 0x22, 0x1a, 0x36, 0xf0, 0xa7, 0x21, 0x71, 0x13, 0xa9, 0xd7, 0xbb, 0x37, 0x00, - 0x22, 0x7a, 0x1f, 0x53, 0x7f, 0x1e, 0x92, 0x24, 0x5e, 0x12, 0x00, 0x8b, 0x98, 0x38, 0x22, 0xa5, - 0x20, 0xb1, 0x5a, 0x95, 0x71, 0xfa, 0x8b, 0x90, 0xa5, 0x52, 0x65, 0x67, 0xa3, 0xb2, 0x5a, 0x11, - 0x63, 0xc5, 0x25, 0x18, 0xa5, 0x41, 0xc0, 0x4b, 0xc3, 0x0f, 0x83, 0x38, 0xc2, 0x1e, 0x19, 0x87, - 0xc0, 0xb5, 0x7b, 0x5b, 0x2b, 0x15, 0x59, 0x8c, 0x85, 0xa7, 0xd7, 0x85, 0x6c, 0xb8, 0x2f, 0xfe, - 0x60, 0x72, 0xea, 0xbb, 0x02, 0x64, 0x42, 0x7d, 0x2e, 0x6e, 0x50, 0x54, 0xc3, 0xb0, 0x6e, 0x2a, - 0xaa, 0xa1, 0xab, 0x2e, 0x4b, 0x0a, 0x20, 0xa2, 0x32, 0x96, 0x0c, 0x3b, 0x69, 0x1f, 0x88, 0xf3, - 0xaf, 0x08, 0x20, 0xf6, 0xb6, 0x98, 0x3d, 0x0e, 0x0a, 0x1f, 0xaa, 0x83, 0x2f, 0x0b, 0x90, 0xeb, - 0xee, 0x2b, 0x7b, 0xdc, 0x3b, 0xf7, 0xa1, 0xba, 0xf7, 0x66, 0x0c, 0xc6, 0xbb, 0xba, 0xc9, 0x61, - 0xbd, 0xfb, 0x0c, 0x4c, 0xea, 0x75, 0xd4, 0xb2, 0x2d, 0x0f, 0x99, 0x5a, 0x47, 0x31, 0xd0, 0x0d, - 0x64, 0xe4, 0x8b, 0xa4, 0x50, 0xcc, 0xdf, 0xbb, 0x5f, 0x9d, 0xdb, 0x08, 0x70, 0x9b, 0x18, 0x56, - 0x9a, 0xda, 0x58, 0xab, 0x6c, 0xed, 0x54, 0x77, 0x2b, 0xdb, 0xab, 0xcf, 0x29, 0x7b, 0xdb, 0x3f, - 0xb3, 0x5d, 0x7d, 0x66, 0x5b, 0x16, 0xf5, 0x1e, 0xb3, 0xf7, 0x71, 0xa9, 0xef, 0x80, 0xd8, 0xeb, - 0x94, 0x74, 0x0a, 0x06, 0xb9, 0x25, 0x8e, 0x48, 0x53, 0x30, 0xb1, 0x5d, 0x55, 0x6a, 0x1b, 0x6b, - 0x15, 0xa5, 0x72, 0xe5, 0x4a, 0x65, 0x75, 0xb7, 0x46, 0x6f, 0x20, 0x7c, 0xeb, 0xdd, 0xee, 0x45, - 0xfd, 0x52, 0x1c, 0xa6, 0x06, 0x78, 0x22, 0x95, 0xd9, 0xd9, 0x81, 0x1e, 0x67, 0x1e, 0x1f, 0xc6, - 0xfb, 0x39, 0xbc, 0xe5, 0xef, 0xa8, 0x8e, 0xc7, 0x8e, 0x1a, 0x8f, 0x00, 0x8e, 0x92, 0xe9, 0xe9, - 0x0d, 0x1d, 0x39, 0xec, 0xc2, 0x86, 0x1e, 0x28, 0x26, 0x02, 0x39, 0xbd, 0xb3, 0xf9, 0x18, 0x48, - 0xb6, 0xe5, 0xea, 0x9e, 0x7e, 0x03, 0x29, 0xba, 0xc9, 0x6f, 0x77, 0xf0, 0x01, 0x23, 0x21, 0x8b, - 0x5c, 0xb3, 0x61, 0x7a, 0xbe, 0xb5, 0x89, 0x9a, 0x6a, 0x8f, 0x35, 0x2e, 0xe0, 0x71, 0x59, 0xe4, - 0x1a, 0xdf, 0xfa, 0x1c, 0x64, 0xeb, 0x56, 0x1b, 0x77, 0x5d, 0xd4, 0x0e, 0xef, 0x17, 0x82, 0x9c, - 0xa1, 0x32, 0xdf, 0x84, 0xf5, 0xd3, 0xc1, 0xb5, 0x52, 0x56, 0xce, 0x50, 0x19, 0x35, 0x79, 0x18, - 0x26, 0xd4, 0x66, 0xd3, 0xc1, 0xe4, 0x9c, 0x88, 0x9e, 0x10, 0x72, 0xbe, 0x98, 0x18, 0xce, 0x3c, - 0x0d, 0x29, 0x1e, 0x07, 0xbc, 0x25, 0xe3, 0x48, 0x28, 0x36, 0x3d, 0xf6, 0xc6, 0x66, 0xd3, 0x72, - 0xca, 0xe4, 0xca, 0x73, 0x90, 0xd5, 0x5d, 0x25, 0xb8, 0x25, 0x8f, 0x9d, 0x8d, 0xcd, 0xa6, 0xe4, - 0x8c, 0xee, 0xfa, 0x37, 0x8c, 0xc5, 0x57, 0x63, 0x90, 0xeb, 0xbe, 0xe5, 0x97, 0xd6, 0x20, 0x65, - 0x58, 0x9a, 0x4a, 0x52, 0x8b, 0x7e, 0x62, 0x9a, 0x8d, 0xf8, 0x30, 0x30, 0xb7, 0xc9, 0xec, 0x65, - 0x1f, 0x39, 0xf3, 0x0f, 0x02, 0xa4, 0xb8, 0x58, 0x3a, 0x09, 0x09, 0x5b, 0xf5, 0x0e, 0x08, 0x5d, - 0x72, 0x25, 0x26, 0x0a, 0x32, 0x79, 0xc6, 0x72, 0xd7, 0x56, 0x4d, 0x92, 0x02, 0x4c, 0x8e, 0x9f, - 0xf1, 0xbc, 0x1a, 0x48, 0xad, 0x93, 0xe3, 0x87, 0xd5, 0x6a, 0x21, 0xd3, 0x73, 0xf9, 0xbc, 0x32, - 0xf9, 0x2a, 0x13, 0x4b, 0x8f, 0xc1, 0xa4, 0xe7, 0xa8, 0xba, 0xd1, 0x65, 0x9b, 0x20, 0xb6, 0x22, - 0x57, 0xf8, 0xc6, 0x25, 0x38, 0xcd, 0x79, 0xeb, 0xc8, 0x53, 0xb5, 0x03, 0x54, 0x0f, 0x40, 0xa3, - 0xe4, 0x9a, 0xe1, 0x14, 0x33, 0x58, 0x63, 0x7a, 0x8e, 0x2d, 0x7e, 0x5f, 0x80, 0x49, 0x7e, 0x60, - 0xaa, 0xfb, 0xc1, 0xda, 0x02, 0x50, 0x4d, 0xd3, 0xf2, 0xc2, 0xe1, 0xea, 0x4f, 0xe5, 0x3e, 0xdc, - 0x5c, 0xd9, 0x07, 0xc9, 0x21, 0x82, 0x99, 0x16, 0x40, 0xa0, 0x39, 0x32, 0x6c, 0x67, 0x20, 0xc3, - 0x3e, 0xe1, 0x90, 0xef, 0x80, 0xf4, 0x88, 0x0d, 0x54, 0x84, 0x4f, 0x56, 0xd2, 0x34, 0x24, 0xf7, - 0x51, 0x53, 0x37, 0xd9, 0xc5, 0x2c, 0x7d, 0xe0, 0x17, 0x21, 0x09, 0xff, 0x22, 0x64, 0xe5, 0xd3, - 0x30, 0xa5, 0x59, 0xad, 0x5e, 0x77, 0x57, 0xc4, 0x9e, 0x63, 0xbe, 0x7b, 0x55, 0x78, 0x1e, 0x82, - 0x16, 0xf3, 0x5d, 0x41, 0xf8, 0x72, 0x2c, 0xbe, 0xbe, 0xb3, 0xf2, 0xb5, 0xd8, 0xcc, 0x3a, 0x85, - 0xee, 0xf0, 0x91, 0xca, 0xa8, 0x61, 0x20, 0x0d, 0x7b, 0x0f, 0x5f, 0x79, 0x0c, 0x1e, 0x6f, 0xea, - 0xde, 0x41, 0x7b, 0x7f, 0x4e, 0xb3, 0x5a, 0xf3, 0x4d, 0xab, 0x69, 0x05, 0x9f, 0x3e, 0xf1, 0x13, - 0x79, 0x20, 0x7f, 0xb1, 0xcf, 0x9f, 0x69, 0x5f, 0x3a, 0x13, 0xf9, 0xad, 0xb4, 0xb4, 0x0d, 0x53, - 0xcc, 0x58, 0x21, 0xdf, 0x5f, 0xe8, 0x29, 0x42, 0xba, 0xe7, 0x1d, 0x56, 0xfe, 0x1b, 0x6f, 0x91, - 0xed, 0x5a, 0x9e, 0x64, 0x50, 0xac, 0xa3, 0x07, 0x8d, 0x92, 0x0c, 0x27, 0xba, 0xf8, 0xe8, 0xd2, - 0x44, 0x4e, 0x04, 0xe3, 0xf7, 0x18, 0xe3, 0x54, 0x88, 0xb1, 0xc6, 0xa0, 0xa5, 0x55, 0x18, 0x3f, - 0x0e, 0xd7, 0xdf, 0x31, 0xae, 0x2c, 0x0a, 0x93, 0xac, 0xc3, 0x04, 0x21, 0xd1, 0xda, 0xae, 0x67, - 0xb5, 0x48, 0xdd, 0xbb, 0x37, 0xcd, 0xdf, 0xbf, 0x45, 0xd7, 0x4a, 0x0e, 0xc3, 0x56, 0x7d, 0x54, - 0xa9, 0x04, 0xe4, 0x93, 0x53, 0x1d, 0x69, 0x46, 0x04, 0xc3, 0x6b, 0xcc, 0x11, 0xdf, 0xbe, 0xf4, - 0x29, 0x98, 0xc6, 0x7f, 0x93, 0xb2, 0x14, 0xf6, 0x24, 0xfa, 0xc2, 0x2b, 0xff, 0xfd, 0x17, 0xe9, - 0x72, 0x9c, 0xf2, 0x09, 0x42, 0x3e, 0x85, 0x66, 0xb1, 0x89, 0x3c, 0x0f, 0x39, 0xae, 0xa2, 0x1a, - 0x83, 0xdc, 0x0b, 0xdd, 0x18, 0xe4, 0xbf, 0xf0, 0x76, 0xf7, 0x2c, 0xae, 0x53, 0x64, 0xd9, 0x30, - 0x4a, 0x7b, 0x70, 0x6a, 0x40, 0x56, 0x0c, 0xc1, 0xf9, 0x12, 0xe3, 0x9c, 0xee, 0xcb, 0x0c, 0x4c, - 0xbb, 0x03, 0x5c, 0xee, 0xcf, 0xe5, 0x10, 0x9c, 0xbf, 0xcb, 0x38, 0x25, 0x86, 0xe5, 0x53, 0x8a, - 0x19, 0x9f, 0x86, 0xc9, 0x1b, 0xc8, 0xd9, 0xb7, 0x5c, 0x76, 0x4b, 0x33, 0x04, 0xdd, 0xcb, 0x8c, - 0x6e, 0x82, 0x01, 0xc9, 0xb5, 0x0d, 0xe6, 0xba, 0x04, 0xa9, 0x86, 0xaa, 0xa1, 0x21, 0x28, 0xbe, - 0xc8, 0x28, 0xc6, 0xb0, 0x3d, 0x86, 0x96, 0x21, 0xdb, 0xb4, 0xd8, 0xce, 0x14, 0x0d, 0x7f, 0x85, - 0xc1, 0x33, 0x1c, 0xc3, 0x28, 0x6c, 0xcb, 0x6e, 0x1b, 0x78, 0xdb, 0x8a, 0xa6, 0xf8, 0x3d, 0x4e, - 0xc1, 0x31, 0x8c, 0xe2, 0x18, 0x61, 0xfd, 0x7d, 0x4e, 0xe1, 0x86, 0xe2, 0xf9, 0x14, 0x64, 0x2c, - 0xd3, 0xe8, 0x58, 0xe6, 0x30, 0x4e, 0x7c, 0x89, 0x31, 0x00, 0x83, 0x60, 0x82, 0xcb, 0x90, 0x1e, - 0x76, 0x22, 0xfe, 0xf0, 0x6d, 0xbe, 0x3c, 0xf8, 0x0c, 0xac, 0xc3, 0x04, 0x2f, 0x50, 0xba, 0x65, - 0x0e, 0x41, 0xf1, 0x15, 0x46, 0x91, 0x0b, 0xc1, 0xd8, 0x30, 0x3c, 0xe4, 0x7a, 0x4d, 0x34, 0x0c, - 0xc9, 0xab, 0x7c, 0x18, 0x0c, 0xc2, 0x42, 0xb9, 0x8f, 0x4c, 0xed, 0x60, 0x38, 0x86, 0xaf, 0xf2, - 0x50, 0x72, 0x0c, 0xa6, 0x58, 0x85, 0xf1, 0x96, 0xea, 0xb8, 0x07, 0xaa, 0x31, 0xd4, 0x74, 0xfc, - 0x11, 0xe3, 0xc8, 0xfa, 0x20, 0x16, 0x91, 0xb6, 0x79, 0x1c, 0x9a, 0xaf, 0xf1, 0x88, 0x84, 0x60, - 0x6c, 0xe9, 0xb9, 0x1e, 0xb9, 0xd2, 0x3a, 0x0e, 0xdb, 0x1f, 0xf3, 0xa5, 0x47, 0xb1, 0x5b, 0x61, - 0xc6, 0xcb, 0x90, 0x76, 0xf5, 0x5b, 0x43, 0xd1, 0xfc, 0x09, 0x9f, 0x69, 0x02, 0xc0, 0xe0, 0xe7, - 0xe0, 0xf4, 0xc0, 0x6d, 0x62, 0x08, 0xb2, 0x3f, 0x65, 0x64, 0x27, 0x07, 0x6c, 0x15, 0xac, 0x24, - 0x1c, 0x97, 0xf2, 0xcf, 0x78, 0x49, 0x40, 0x3d, 0x5c, 0x3b, 0xf8, 0xac, 0xe0, 0xaa, 0x8d, 0xe3, - 0x45, 0xed, 0xcf, 0x79, 0xd4, 0x28, 0xb6, 0x2b, 0x6a, 0xbb, 0x70, 0x92, 0x31, 0x1e, 0x6f, 0x5e, - 0xbf, 0xce, 0x0b, 0x2b, 0x45, 0xef, 0x75, 0xcf, 0xee, 0xa7, 0x61, 0xc6, 0x0f, 0x27, 0x6f, 0x4a, - 0x5d, 0xa5, 0xa5, 0xda, 0x43, 0x30, 0x7f, 0x83, 0x31, 0xf3, 0x8a, 0xef, 0x77, 0xb5, 0xee, 0x96, - 0x6a, 0x63, 0xf2, 0x67, 0x21, 0xcf, 0xc9, 0xdb, 0xa6, 0x83, 0x34, 0xab, 0x69, 0xea, 0xb7, 0x50, - 0x7d, 0x08, 0xea, 0xbf, 0xe8, 0x99, 0xaa, 0xbd, 0x10, 0x1c, 0x33, 0x6f, 0x80, 0xe8, 0xf7, 0x2a, - 0x8a, 0xde, 0xb2, 0x2d, 0xc7, 0x8b, 0x60, 0xfc, 0x26, 0x9f, 0x29, 0x1f, 0xb7, 0x41, 0x60, 0xa5, - 0x0a, 0xe4, 0xc8, 0xe3, 0xb0, 0x29, 0xf9, 0x97, 0x8c, 0x68, 0x3c, 0x40, 0xb1, 0xc2, 0xa1, 0x59, - 0x2d, 0x5b, 0x75, 0x86, 0xa9, 0x7f, 0x7f, 0xc5, 0x0b, 0x07, 0x83, 0xb0, 0xc2, 0xe1, 0x75, 0x6c, - 0x84, 0x77, 0xfb, 0x21, 0x18, 0xbe, 0xc5, 0x0b, 0x07, 0xc7, 0x30, 0x0a, 0xde, 0x30, 0x0c, 0x41, - 0xf1, 0xd7, 0x9c, 0x82, 0x63, 0x30, 0xc5, 0x27, 0x83, 0x8d, 0xd6, 0x41, 0x4d, 0xdd, 0xf5, 0x1c, - 0xda, 0x0a, 0xdf, 0x9b, 0xea, 0xdb, 0x6f, 0x77, 0x37, 0x61, 0x72, 0x08, 0x8a, 0x2b, 0x11, 0xbb, - 0x42, 0x25, 0x27, 0xa5, 0x68, 0xc7, 0xbe, 0xc3, 0x2b, 0x51, 0x08, 0x86, 0x7d, 0x0b, 0x75, 0x88, - 0x38, 0xec, 0x1a, 0x3e, 0x1f, 0x0c, 0x41, 0xf7, 0xdd, 0x1e, 0xe7, 0x6a, 0x1c, 0x8b, 0x39, 0x43, - 0xfd, 0x4f, 0xdb, 0xbc, 0x8e, 0x3a, 0x43, 0x65, 0xe7, 0xdf, 0xf4, 0xf4, 0x3f, 0x7b, 0x14, 0x49, - 0x6b, 0xc8, 0x44, 0x4f, 0x3f, 0x25, 0x45, 0xfd, 0x58, 0x27, 0xff, 0xf3, 0x77, 0xd9, 0x78, 0xbb, - 0xdb, 0xa9, 0xd2, 0x26, 0x4e, 0xf2, 0xee, 0xa6, 0x27, 0x9a, 0xec, 0xc5, 0xbb, 0x7e, 0x9e, 0x77, - 0xf5, 0x3c, 0xa5, 0x2b, 0x30, 0xde, 0xd5, 0xf0, 0x44, 0x53, 0xfd, 0x02, 0xa3, 0xca, 0x86, 0xfb, - 0x9d, 0xd2, 0x12, 0x24, 0x70, 0xf3, 0x12, 0x0d, 0xff, 0x45, 0x06, 0x27, 0xe6, 0xa5, 0x8f, 0x43, - 0x8a, 0x37, 0x2d, 0xd1, 0xd0, 0x5f, 0x62, 0x50, 0x1f, 0x82, 0xe1, 0xbc, 0x61, 0x89, 0x86, 0xff, - 0x32, 0x87, 0x73, 0x08, 0x86, 0x0f, 0x1f, 0xc2, 0xbf, 0xfd, 0x95, 0x04, 0xdb, 0x74, 0x78, 0xec, - 0x2e, 0xc3, 0x18, 0xeb, 0x54, 0xa2, 0xd1, 0x9f, 0x65, 0x2f, 0xe7, 0x88, 0xd2, 0x05, 0x48, 0x0e, - 0x19, 0xf0, 0x5f, 0x65, 0x50, 0x6a, 0x5f, 0x5a, 0x85, 0x4c, 0xa8, 0x3b, 0x89, 0x86, 0xff, 0x1a, - 0x83, 0x87, 0x51, 0xd8, 0x75, 0xd6, 0x9d, 0x44, 0x13, 0xfc, 0x3a, 0x77, 0x9d, 0x21, 0x70, 0xd8, - 0x78, 0x63, 0x12, 0x8d, 0xfe, 0x0d, 0x1e, 0x75, 0x0e, 0x29, 0x3d, 0x05, 0x69, 0x7f, 0xb3, 0x89, - 0xc6, 0xff, 0x26, 0xc3, 0x07, 0x18, 0x1c, 0x81, 0xd0, 0x66, 0x17, 0x4d, 0xf1, 0x39, 0x1e, 0x81, - 0x10, 0x0a, 0x2f, 0xa3, 0xde, 0x06, 0x26, 0x9a, 0xe9, 0xb7, 0xf8, 0x32, 0xea, 0xe9, 0x5f, 0xf0, - 0x6c, 0x92, 0x9a, 0x1f, 0x4d, 0xf1, 0xdb, 0x7c, 0x36, 0x89, 0x3d, 0x76, 0xa3, 0xb7, 0x23, 0x88, - 0xe6, 0xf8, 0x1d, 0xee, 0x46, 0x4f, 0x43, 0x50, 0xda, 0x01, 0xa9, 0xbf, 0x1b, 0x88, 0xe6, 0xfb, - 0x3c, 0xe3, 0x9b, 0xec, 0x6b, 0x06, 0x4a, 0xcf, 0xc0, 0xc9, 0xc1, 0x9d, 0x40, 0x34, 0xeb, 0x17, - 0xee, 0xf6, 0x9c, 0xdd, 0xc2, 0x8d, 0x40, 0x69, 0x37, 0xd8, 0x52, 0xc2, 0x5d, 0x40, 0x34, 0xed, - 0x4b, 0x77, 0xbb, 0x0b, 0x77, 0xb8, 0x09, 0x28, 0x95, 0x01, 0x82, 0x0d, 0x38, 0x9a, 0xeb, 0x65, - 0xc6, 0x15, 0x02, 0xe1, 0xa5, 0xc1, 0xf6, 0xdf, 0x68, 0xfc, 0x17, 0xf9, 0xd2, 0x60, 0x08, 0xbc, - 0x34, 0xf8, 0xd6, 0x1b, 0x8d, 0x7e, 0x85, 0x2f, 0x0d, 0x0e, 0xc1, 0x99, 0x1d, 0xda, 0xdd, 0xa2, - 0x19, 0xbe, 0xc4, 0x33, 0x3b, 0x84, 0x2a, 0x6d, 0xc3, 0x64, 0xdf, 0x86, 0x18, 0x4d, 0xf5, 0x65, - 0x46, 0x25, 0xf6, 0xee, 0x87, 0xe1, 0xcd, 0x8b, 0x6d, 0x86, 0xd1, 0x6c, 0x7f, 0xd0, 0xb3, 0x79, - 0xb1, 0xbd, 0xb0, 0x74, 0x19, 0x52, 0x66, 0xdb, 0x30, 0xf0, 0xe2, 0x91, 0xee, 0xfd, 0x03, 0xbb, - 0xfc, 0xbf, 0xbe, 0xc7, 0xa2, 0xc3, 0x01, 0xa5, 0x25, 0x48, 0xa2, 0xd6, 0x3e, 0xaa, 0x47, 0x21, - 0xff, 0xed, 0x3d, 0x5e, 0x30, 0xb1, 0x75, 0xe9, 0x29, 0x00, 0x7a, 0x35, 0x42, 0x3e, 0xfb, 0x45, - 0x60, 0xff, 0xfd, 0x3d, 0xf6, 0xd3, 0x97, 0x00, 0x12, 0x10, 0xd0, 0x1f, 0xd2, 0xdc, 0x9b, 0xe0, - 0xed, 0x6e, 0x02, 0x32, 0x23, 0x97, 0x60, 0xec, 0x9a, 0x6b, 0x99, 0x9e, 0xda, 0x8c, 0x42, 0xff, - 0x07, 0x43, 0x73, 0x7b, 0x1c, 0xb0, 0x96, 0xe5, 0x20, 0x4f, 0x6d, 0xba, 0x51, 0xd8, 0xff, 0x64, - 0x58, 0x1f, 0x80, 0xc1, 0x9a, 0xea, 0x7a, 0xc3, 0x8c, 0xfb, 0x47, 0x1c, 0xcc, 0x01, 0xd8, 0x69, - 0xfc, 0xf7, 0x75, 0xd4, 0x89, 0xc2, 0xbe, 0xc3, 0x9d, 0x66, 0xf6, 0xa5, 0x8f, 0x43, 0x1a, 0xff, - 0x49, 0x7f, 0xcf, 0x16, 0x01, 0xfe, 0x2f, 0x06, 0x0e, 0x10, 0xf8, 0xcd, 0xae, 0x57, 0xf7, 0xf4, - 0xe8, 0x60, 0xff, 0x37, 0x9b, 0x69, 0x6e, 0x5f, 0x2a, 0x43, 0xc6, 0xf5, 0xea, 0xf5, 0x36, 0xeb, - 0x4f, 0x23, 0xe0, 0xff, 0xf3, 0x9e, 0x7f, 0x65, 0xe1, 0x63, 0xf0, 0x6c, 0xdf, 0xbc, 0xee, 0xd9, - 0x16, 0xf9, 0xcc, 0x11, 0xc5, 0x70, 0x97, 0x31, 0x84, 0x20, 0x2b, 0x95, 0xc1, 0xd7, 0xb7, 0xb0, - 0x6e, 0xad, 0x5b, 0xf4, 0xe2, 0xf6, 0xf9, 0x62, 0xf4, 0x0d, 0x2c, 0xfc, 0x6f, 0x0a, 0x4e, 0x68, - 0x56, 0x6b, 0xdf, 0x72, 0xe7, 0xf7, 0x2d, 0xef, 0x60, 0xde, 0x32, 0x19, 0x99, 0x14, 0xb7, 0x4c, - 0x34, 0x73, 0xbc, 0x4b, 0xdc, 0xe2, 0x69, 0x48, 0xd6, 0xda, 0xfb, 0xfb, 0x1d, 0x49, 0x84, 0xb8, - 0xdb, 0xde, 0x67, 0x3f, 0x88, 0xc2, 0x7f, 0x16, 0xdf, 0x88, 0xc3, 0x78, 0xd9, 0x30, 0x76, 0x3b, - 0x36, 0x72, 0xab, 0x26, 0xaa, 0x36, 0xa4, 0x3c, 0x8c, 0x92, 0x51, 0x3e, 0x49, 0xcc, 0x84, 0xab, - 0x23, 0x32, 0x7b, 0xf6, 0x35, 0x0b, 0xe4, 0x7a, 0x3b, 0xe6, 0x6b, 0x16, 0x7c, 0xcd, 0x79, 0x7a, - 0xbb, 0xed, 0x6b, 0xce, 0xfb, 0x9a, 0x45, 0x72, 0xc7, 0x1d, 0xf7, 0x35, 0x8b, 0xbe, 0x66, 0x89, - 0x7c, 0xc3, 0x19, 0xf7, 0x35, 0x4b, 0xbe, 0x66, 0x99, 0x7c, 0xb5, 0x49, 0xf8, 0x9a, 0x65, 0x5f, - 0x73, 0x81, 0x7c, 0xac, 0x99, 0xf4, 0x35, 0x17, 0x7c, 0xcd, 0x45, 0xf2, 0x81, 0x46, 0xf2, 0x35, - 0x17, 0x7d, 0xcd, 0x25, 0xf2, 0xcb, 0xa7, 0x31, 0x5f, 0x73, 0x49, 0x9a, 0x81, 0x31, 0x3a, 0xb2, - 0x27, 0xc8, 0x57, 0xfc, 0x89, 0xab, 0x23, 0x32, 0x17, 0x04, 0xba, 0x27, 0xc9, 0xaf, 0x9b, 0x46, - 0x03, 0xdd, 0x93, 0x81, 0x6e, 0x81, 0xfc, 0x27, 0x0b, 0x31, 0xd0, 0x2d, 0x04, 0xba, 0xf3, 0xf9, - 0x71, 0x9c, 0x1c, 0x81, 0xee, 0x7c, 0xa0, 0x5b, 0xcc, 0xe7, 0xf0, 0x0c, 0x04, 0xba, 0xc5, 0x40, - 0xb7, 0x94, 0x9f, 0x38, 0x2b, 0xcc, 0x66, 0x03, 0xdd, 0x92, 0xf4, 0x38, 0x64, 0xdc, 0xf6, 0xbe, - 0xc2, 0xca, 0x3c, 0xf9, 0x15, 0x55, 0x66, 0x01, 0xe6, 0x70, 0x4e, 0x90, 0x69, 0xbd, 0x3a, 0x22, - 0x83, 0xdb, 0xde, 0x67, 0x55, 0x78, 0x25, 0x0b, 0xe4, 0xf2, 0x49, 0x21, 0x3f, 0x7e, 0x2e, 0xbe, - 0x2e, 0x40, 0x7a, 0xf7, 0xa6, 0x45, 0xbe, 0xe1, 0xbb, 0x3f, 0xe1, 0xc9, 0xe5, 0x4e, 0x9f, 0x5f, - 0x24, 0x9f, 0x59, 0xd3, 0x57, 0x05, 0x99, 0x0b, 0x02, 0xdd, 0x52, 0xfe, 0x01, 0x32, 0x20, 0x5f, - 0xb7, 0x24, 0xcd, 0x43, 0x36, 0x34, 0xa0, 0x05, 0xf2, 0xfb, 0xa6, 0xee, 0x11, 0x09, 0x72, 0x26, - 0x18, 0xd1, 0xc2, 0x4a, 0x12, 0x70, 0xda, 0xe3, 0x7f, 0xbc, 0x9b, 0x56, 0xf1, 0x73, 0x31, 0xc8, - 0xd0, 0xfb, 0x6a, 0x32, 0x2a, 0xfc, 0x2a, 0x7a, 0xa4, 0xe9, 0x30, 0x37, 0x46, 0x64, 0x2e, 0x90, - 0x64, 0x00, 0x6a, 0x8a, 0x33, 0x9c, 0x7a, 0xb2, 0xf2, 0xc4, 0x3f, 0xbd, 0x71, 0xe6, 0x63, 0x47, - 0xae, 0x20, 0x1c, 0xbb, 0x79, 0x5a, 0xbf, 0xe7, 0xf6, 0x74, 0xd3, 0x7b, 0x72, 0xe1, 0x22, 0x0e, - 0x70, 0xc0, 0x22, 0xed, 0x41, 0x6a, 0x55, 0x75, 0xc9, 0x2f, 0x23, 0x89, 0xeb, 0x89, 0x95, 0x0b, - 0xff, 0xf7, 0xc6, 0x99, 0xf3, 0x11, 0x8c, 0xac, 0xb4, 0xce, 0x6d, 0x75, 0x30, 0xeb, 0xf2, 0x22, - 0x86, 0x5f, 0x1d, 0x91, 0x7d, 0x2a, 0x69, 0x81, 0xbb, 0xba, 0xad, 0xb6, 0xe8, 0x0f, 0xb9, 0xe2, - 0x2b, 0xe2, 0xe1, 0x1b, 0x67, 0xb2, 0x5b, 0x9d, 0x40, 0x1e, 0xb8, 0x82, 0x9f, 0x56, 0x52, 0x30, - 0x4a, 0x5d, 0x5d, 0x59, 0x7b, 0xed, 0x4e, 0x61, 0xe4, 0xf5, 0x3b, 0x85, 0x91, 0x7f, 0xbc, 0x53, - 0x18, 0x79, 0xf3, 0x4e, 0x41, 0x78, 0xe7, 0x4e, 0x41, 0x78, 0xf7, 0x4e, 0x41, 0xb8, 0x7d, 0x58, - 0x10, 0xbe, 0x7a, 0x58, 0x10, 0xbe, 0x7e, 0x58, 0x10, 0xbe, 0x7d, 0x58, 0x10, 0x5e, 0x3b, 0x2c, - 0x08, 0xaf, 0x1f, 0x16, 0x84, 0x37, 0x0f, 0x0b, 0xc2, 0x0f, 0x0f, 0x0b, 0x23, 0xef, 0x1c, 0x16, - 0x84, 0x77, 0x0f, 0x0b, 0x23, 0xb7, 0x7f, 0x50, 0x18, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x23, 0xf5, 0xf1, 0xb4, 0x13, 0x37, 0x00, 0x00, + // 4296 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x6b, 0x70, 0x1b, 0xd7, + 0x75, 0xe6, 0xe2, 0x41, 0x02, 0x07, 0x20, 0xb8, 0x5c, 0x52, 0x12, 0x44, 0xc7, 0x90, 0x04, 0xdb, + 0x31, 0xfd, 0x22, 0x6d, 0x8a, 0xa4, 0x24, 0xa8, 0x89, 0x0b, 0x92, 0x10, 0x45, 0x97, 0x24, 0x98, + 0x05, 0x19, 0x3f, 0x32, 0x9d, 0x9d, 0xc5, 0xe2, 0x12, 0x5c, 0x69, 0xb1, 0xbb, 0xd9, 0x5d, 0x48, + 0x86, 0xa6, 0x3f, 0xd4, 0x71, 0x1f, 0x93, 0xe9, 0x3b, 0xed, 0x4c, 0x13, 0xd7, 0x71, 0x9b, 0x74, + 0x1a, 0xa7, 0xe9, 0x2b, 0xe9, 0x23, 0x4d, 0xd2, 0x3f, 0xfd, 0x93, 0xd6, 0xbf, 0x3a, 0xce, 0xbf, + 0x4e, 0xa7, 0xe3, 0xb1, 0x18, 0xcf, 0x34, 0x6d, 0xdd, 0xd6, 0x6d, 0xd5, 0x19, 0x4f, 0xfd, 0xa7, + 0x73, 0x5f, 0xbb, 0x8b, 0x07, 0xb5, 0x60, 0xa6, 0xb6, 0x7f, 0x89, 0x7b, 0xce, 0xf9, 0xbe, 0x3d, + 0xf7, 0xdc, 0x73, 0xcf, 0x3d, 0xf7, 0x2e, 0x04, 0xaf, 0x97, 0xe0, 0x6c, 0xd3, 0xb2, 0x9a, 0x06, + 0x9a, 0xb7, 0x1d, 0xcb, 0xb3, 0xea, 0xed, 0xfd, 0xf9, 0x06, 0x72, 0x35, 0x47, 0xb7, 0x3d, 0xcb, + 0x99, 0x23, 0x32, 0x69, 0x82, 0x5a, 0xcc, 0x71, 0x8b, 0xe2, 0x16, 0x4c, 0x5e, 0xd1, 0x0d, 0xb4, + 0xe6, 0x1b, 0xd6, 0x90, 0x27, 0x5d, 0x84, 0xc4, 0xbe, 0x6e, 0xa0, 0xbc, 0x70, 0x36, 0x3e, 0x9b, + 0x59, 0x78, 0x70, 0xae, 0x07, 0x34, 0xd7, 0x8d, 0xd8, 0xc1, 0x62, 0x99, 0x20, 0x8a, 0x6f, 0x27, + 0x60, 0x6a, 0x80, 0x56, 0x92, 0x20, 0x61, 0xaa, 0x2d, 0xcc, 0x28, 0xcc, 0xa6, 0x65, 0xf2, 0xb7, + 0x94, 0x87, 0x31, 0x5b, 0xd5, 0xae, 0xab, 0x4d, 0x94, 0x8f, 0x11, 0x31, 0x7f, 0x94, 0x0a, 0x00, + 0x0d, 0x64, 0x23, 0xb3, 0x81, 0x4c, 0xad, 0x93, 0x8f, 0x9f, 0x8d, 0xcf, 0xa6, 0xe5, 0x90, 0x44, + 0x7a, 0x0c, 0x26, 0xed, 0x76, 0xdd, 0xd0, 0x35, 0x25, 0x64, 0x06, 0x67, 0xe3, 0xb3, 0x49, 0x59, + 0xa4, 0x8a, 0xb5, 0xc0, 0xf8, 0x61, 0x98, 0xb8, 0x89, 0xd4, 0xeb, 0x61, 0xd3, 0x0c, 0x31, 0xcd, + 0x61, 0x71, 0xc8, 0x70, 0x15, 0xb2, 0x2d, 0xe4, 0xba, 0x6a, 0x13, 0x29, 0x5e, 0xc7, 0x46, 0xf9, + 0x04, 0x19, 0xfd, 0xd9, 0xbe, 0xd1, 0xf7, 0x8e, 0x3c, 0xc3, 0x50, 0xbb, 0x1d, 0x1b, 0x49, 0x65, + 0x48, 0x23, 0xb3, 0xdd, 0xa2, 0x0c, 0xc9, 0x23, 0xe2, 0x57, 0x31, 0xdb, 0xad, 0x5e, 0x96, 0x14, + 0x86, 0x31, 0x8a, 0x31, 0x17, 0x39, 0x37, 0x74, 0x0d, 0xe5, 0x47, 0x09, 0xc1, 0xc3, 0x7d, 0x04, + 0x35, 0xaa, 0xef, 0xe5, 0xe0, 0x38, 0x69, 0x15, 0xd2, 0xe8, 0x45, 0x0f, 0x99, 0xae, 0x6e, 0x99, + 0xf9, 0x31, 0x42, 0xf2, 0xd0, 0x80, 0x59, 0x44, 0x46, 0xa3, 0x97, 0x22, 0xc0, 0x49, 0xcb, 0x30, + 0x66, 0xd9, 0x9e, 0x6e, 0x99, 0x6e, 0x3e, 0x75, 0x56, 0x98, 0xcd, 0x2c, 0x7c, 0x6c, 0x60, 0x22, + 0x54, 0xa9, 0x8d, 0xcc, 0x8d, 0xa5, 0x0d, 0x10, 0x5d, 0xab, 0xed, 0x68, 0x48, 0xd1, 0xac, 0x06, + 0x52, 0x74, 0x73, 0xdf, 0xca, 0xa7, 0x09, 0xc1, 0x99, 0xfe, 0x81, 0x10, 0xc3, 0x55, 0xab, 0x81, + 0x36, 0xcc, 0x7d, 0x4b, 0xce, 0xb9, 0x5d, 0xcf, 0xd2, 0x49, 0x18, 0x75, 0x3b, 0xa6, 0xa7, 0xbe, + 0x98, 0xcf, 0x92, 0x0c, 0x61, 0x4f, 0xc5, 0xef, 0x8c, 0xc2, 0xc4, 0x30, 0x29, 0x76, 0x19, 0x92, + 0xfb, 0x78, 0x94, 0xf9, 0xd8, 0x71, 0x62, 0x40, 0x31, 0xdd, 0x41, 0x1c, 0xfd, 0x11, 0x83, 0x58, + 0x86, 0x8c, 0x89, 0x5c, 0x0f, 0x35, 0x68, 0x46, 0xc4, 0x87, 0xcc, 0x29, 0xa0, 0xa0, 0xfe, 0x94, + 0x4a, 0xfc, 0x48, 0x29, 0xf5, 0x1c, 0x4c, 0xf8, 0x2e, 0x29, 0x8e, 0x6a, 0x36, 0x79, 0x6e, 0xce, + 0x47, 0x79, 0x32, 0x57, 0xe1, 0x38, 0x19, 0xc3, 0xe4, 0x1c, 0xea, 0x7a, 0x96, 0xd6, 0x00, 0x2c, + 0x13, 0x59, 0xfb, 0x4a, 0x03, 0x69, 0x46, 0x3e, 0x75, 0x44, 0x94, 0xaa, 0xd8, 0xa4, 0x2f, 0x4a, + 0x16, 0x95, 0x6a, 0x86, 0x74, 0x29, 0x48, 0xb5, 0xb1, 0x23, 0x32, 0x65, 0x8b, 0x2e, 0xb2, 0xbe, + 0x6c, 0xdb, 0x83, 0x9c, 0x83, 0x70, 0xde, 0xa3, 0x06, 0x1b, 0x59, 0x9a, 0x38, 0x31, 0x17, 0x39, + 0x32, 0x99, 0xc1, 0xe8, 0xc0, 0xc6, 0x9d, 0xf0, 0xa3, 0xf4, 0x00, 0xf8, 0x02, 0x85, 0xa4, 0x15, + 0x90, 0x2a, 0x94, 0xe5, 0xc2, 0x6d, 0xb5, 0x85, 0x66, 0x6e, 0x41, 0xae, 0x3b, 0x3c, 0xd2, 0x34, + 0x24, 0x5d, 0x4f, 0x75, 0x3c, 0x92, 0x85, 0x49, 0x99, 0x3e, 0x48, 0x22, 0xc4, 0x91, 0xd9, 0x20, + 0x55, 0x2e, 0x29, 0xe3, 0x3f, 0xa5, 0x1f, 0x0f, 0x06, 0x1c, 0x27, 0x03, 0xfe, 0x78, 0xff, 0x8c, + 0x76, 0x31, 0xf7, 0x8e, 0x7b, 0xe6, 0x02, 0x8c, 0x77, 0x0d, 0x60, 0xd8, 0x57, 0x17, 0x7f, 0x0a, + 0x4e, 0x0c, 0xa4, 0x96, 0x9e, 0x83, 0xe9, 0xb6, 0xa9, 0x9b, 0x1e, 0x72, 0x6c, 0x07, 0xe1, 0x8c, + 0xa5, 0xaf, 0xca, 0xff, 0xd3, 0xd8, 0x11, 0x39, 0xb7, 0x17, 0xb6, 0xa6, 0x2c, 0xf2, 0x54, 0xbb, + 0x5f, 0xf8, 0x68, 0x3a, 0xf5, 0xc3, 0x31, 0xf1, 0xf6, 0xed, 0xdb, 0xb7, 0x63, 0xc5, 0x2f, 0x8c, + 0xc2, 0xf4, 0xa0, 0x35, 0x33, 0x70, 0xf9, 0x9e, 0x84, 0x51, 0xb3, 0xdd, 0xaa, 0x23, 0x87, 0x04, + 0x29, 0x29, 0xb3, 0x27, 0xa9, 0x0c, 0x49, 0x43, 0xad, 0x23, 0x23, 0x9f, 0x38, 0x2b, 0xcc, 0xe6, + 0x16, 0x1e, 0x1b, 0x6a, 0x55, 0xce, 0x6d, 0x62, 0x88, 0x4c, 0x91, 0xd2, 0x27, 0x21, 0xc1, 0x4a, + 0x34, 0x66, 0x78, 0x74, 0x38, 0x06, 0xbc, 0x96, 0x64, 0x82, 0x93, 0xee, 0x83, 0x34, 0xfe, 0x97, + 0xe6, 0xc6, 0x28, 0xf1, 0x39, 0x85, 0x05, 0x38, 0x2f, 0xa4, 0x19, 0x48, 0x91, 0x65, 0xd2, 0x40, + 0x7c, 0x6b, 0xf3, 0x9f, 0x71, 0x62, 0x35, 0xd0, 0xbe, 0xda, 0x36, 0x3c, 0xe5, 0x86, 0x6a, 0xb4, + 0x11, 0x49, 0xf8, 0xb4, 0x9c, 0x65, 0xc2, 0x4f, 0x63, 0x99, 0x74, 0x06, 0x32, 0x74, 0x55, 0xe9, + 0x66, 0x03, 0xbd, 0x48, 0xaa, 0x67, 0x52, 0xa6, 0x0b, 0x6d, 0x03, 0x4b, 0xf0, 0xeb, 0xaf, 0xb9, + 0x96, 0xc9, 0x53, 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x2f, 0xf4, 0x16, 0xee, 0xfb, 0x07, 0x0f, + 0xaf, 0x37, 0xa7, 0x8a, 0xdf, 0x8a, 0x41, 0x82, 0xd4, 0x8b, 0x09, 0xc8, 0xec, 0x3e, 0xbf, 0x53, + 0x51, 0xd6, 0xaa, 0x7b, 0x2b, 0x9b, 0x15, 0x51, 0x90, 0x72, 0x00, 0x44, 0x70, 0x65, 0xb3, 0x5a, + 0xde, 0x15, 0x63, 0xfe, 0xf3, 0xc6, 0xf6, 0xee, 0xf2, 0xa2, 0x18, 0xf7, 0x01, 0x7b, 0x54, 0x90, + 0x08, 0x1b, 0x9c, 0x5f, 0x10, 0x93, 0x92, 0x08, 0x59, 0x4a, 0xb0, 0xf1, 0x5c, 0x65, 0x6d, 0x79, + 0x51, 0x1c, 0xed, 0x96, 0x9c, 0x5f, 0x10, 0xc7, 0xa4, 0x71, 0x48, 0x13, 0xc9, 0x4a, 0xb5, 0xba, + 0x29, 0xa6, 0x7c, 0xce, 0xda, 0xae, 0xbc, 0xb1, 0xbd, 0x2e, 0xa6, 0x7d, 0xce, 0x75, 0xb9, 0xba, + 0xb7, 0x23, 0x82, 0xcf, 0xb0, 0x55, 0xa9, 0xd5, 0xca, 0xeb, 0x15, 0x31, 0xe3, 0x5b, 0xac, 0x3c, + 0xbf, 0x5b, 0xa9, 0x89, 0xd9, 0x2e, 0xb7, 0xce, 0x2f, 0x88, 0xe3, 0xfe, 0x2b, 0x2a, 0xdb, 0x7b, + 0x5b, 0x62, 0x4e, 0x9a, 0x84, 0x71, 0xfa, 0x0a, 0xee, 0xc4, 0x44, 0x8f, 0x68, 0x79, 0x51, 0x14, + 0x03, 0x47, 0x28, 0xcb, 0x64, 0x97, 0x60, 0x79, 0x51, 0x94, 0x8a, 0xab, 0x90, 0x24, 0xd9, 0x25, + 0x49, 0x90, 0xdb, 0x2c, 0xaf, 0x54, 0x36, 0x95, 0xea, 0xce, 0xee, 0x46, 0x75, 0xbb, 0xbc, 0x29, + 0x0a, 0x81, 0x4c, 0xae, 0x7c, 0x6a, 0x6f, 0x43, 0xae, 0xac, 0x89, 0xb1, 0xb0, 0x6c, 0xa7, 0x52, + 0xde, 0xad, 0xac, 0x89, 0xf1, 0xa2, 0x06, 0xd3, 0x83, 0xea, 0xe4, 0xc0, 0x95, 0x11, 0x9a, 0xe2, + 0xd8, 0x11, 0x53, 0x4c, 0xb8, 0xfa, 0xa6, 0xf8, 0x07, 0x31, 0x98, 0x1a, 0xb0, 0x57, 0x0c, 0x7c, + 0xc9, 0xd3, 0x90, 0xa4, 0x29, 0x4a, 0x77, 0xcf, 0x47, 0x06, 0x6e, 0x3a, 0x24, 0x61, 0xfb, 0x76, + 0x50, 0x82, 0x0b, 0x77, 0x10, 0xf1, 0x23, 0x3a, 0x08, 0x4c, 0xd1, 0x57, 0xd3, 0x7f, 0xb2, 0xaf, + 0xa6, 0xd3, 0x6d, 0x6f, 0x79, 0x98, 0x6d, 0x8f, 0xc8, 0x8e, 0x57, 0xdb, 0x93, 0x03, 0x6a, 0xfb, + 0x65, 0x98, 0xec, 0x23, 0x1a, 0xba, 0xc6, 0xbe, 0x24, 0x40, 0xfe, 0xa8, 0xe0, 0x44, 0x54, 0xba, + 0x58, 0x57, 0xa5, 0xbb, 0xdc, 0x1b, 0xc1, 0x73, 0x47, 0x4f, 0x42, 0xdf, 0x5c, 0xbf, 0x26, 0xc0, + 0xc9, 0xc1, 0x9d, 0xe2, 0x40, 0x1f, 0x3e, 0x09, 0xa3, 0x2d, 0xe4, 0x1d, 0x58, 0xbc, 0x5b, 0xfa, + 0xf8, 0x80, 0x3d, 0x18, 0xab, 0x7b, 0x27, 0x9b, 0xa1, 0xc2, 0x9b, 0x78, 0xfc, 0xa8, 0x76, 0x8f, + 0x7a, 0xd3, 0xe7, 0xe9, 0xe7, 0x62, 0x70, 0x62, 0x20, 0xf9, 0x40, 0x47, 0xef, 0x07, 0xd0, 0x4d, + 0xbb, 0xed, 0xd1, 0x8e, 0x88, 0x16, 0xd8, 0x34, 0x91, 0x90, 0xe2, 0x85, 0x8b, 0x67, 0xdb, 0xf3, + 0xf5, 0x71, 0xa2, 0x07, 0x2a, 0x22, 0x06, 0x17, 0x03, 0x47, 0x13, 0xc4, 0xd1, 0xc2, 0x11, 0x23, + 0xed, 0x4b, 0xcc, 0x27, 0x41, 0xd4, 0x0c, 0x1d, 0x99, 0x9e, 0xe2, 0x7a, 0x0e, 0x52, 0x5b, 0xba, + 0xd9, 0x24, 0x3b, 0x48, 0xaa, 0x94, 0xdc, 0x57, 0x0d, 0x17, 0xc9, 0x13, 0x54, 0x5d, 0xe3, 0x5a, + 0x8c, 0x20, 0x09, 0xe4, 0x84, 0x10, 0xa3, 0x5d, 0x08, 0xaa, 0xf6, 0x11, 0xc5, 0x5f, 0x4c, 0x43, + 0x26, 0xd4, 0x57, 0x4b, 0xe7, 0x20, 0x7b, 0x4d, 0xbd, 0xa1, 0x2a, 0xfc, 0xac, 0x44, 0x23, 0x91, + 0xc1, 0xb2, 0x1d, 0x76, 0x5e, 0x7a, 0x12, 0xa6, 0x89, 0x89, 0xd5, 0xf6, 0x90, 0xa3, 0x68, 0x86, + 0xea, 0xba, 0x24, 0x68, 0x29, 0x62, 0x2a, 0x61, 0x5d, 0x15, 0xab, 0x56, 0xb9, 0x46, 0x5a, 0x82, + 0x29, 0x82, 0x68, 0xb5, 0x0d, 0x4f, 0xb7, 0x0d, 0xa4, 0xe0, 0xd3, 0x9b, 0x4b, 0x76, 0x12, 0xdf, + 0xb3, 0x49, 0x6c, 0xb1, 0xc5, 0x0c, 0xb0, 0x47, 0xae, 0xb4, 0x06, 0xf7, 0x13, 0x58, 0x13, 0x99, + 0xc8, 0x51, 0x3d, 0xa4, 0xa0, 0xcf, 0xb6, 0x55, 0xc3, 0x55, 0x54, 0xb3, 0xa1, 0x1c, 0xa8, 0xee, + 0x41, 0x7e, 0x1a, 0x13, 0xac, 0xc4, 0xf2, 0x82, 0x7c, 0x1a, 0x1b, 0xae, 0x33, 0xbb, 0x0a, 0x31, + 0x2b, 0x9b, 0x8d, 0xab, 0xaa, 0x7b, 0x20, 0x95, 0xe0, 0x24, 0x61, 0x71, 0x3d, 0x47, 0x37, 0x9b, + 0x8a, 0x76, 0x80, 0xb4, 0xeb, 0x4a, 0xdb, 0xdb, 0xbf, 0x98, 0xbf, 0x2f, 0xfc, 0x7e, 0xe2, 0x61, + 0x8d, 0xd8, 0xac, 0x62, 0x93, 0x3d, 0x6f, 0xff, 0xa2, 0x54, 0x83, 0x2c, 0x9e, 0x8c, 0x96, 0x7e, + 0x0b, 0x29, 0xfb, 0x96, 0x43, 0xb6, 0xc6, 0xdc, 0x80, 0xd2, 0x14, 0x8a, 0xe0, 0x5c, 0x95, 0x01, + 0xb6, 0xac, 0x06, 0x2a, 0x25, 0x6b, 0x3b, 0x95, 0xca, 0x9a, 0x9c, 0xe1, 0x2c, 0x57, 0x2c, 0x07, + 0x27, 0x54, 0xd3, 0xf2, 0x03, 0x9c, 0xa1, 0x09, 0xd5, 0xb4, 0x78, 0x78, 0x97, 0x60, 0x4a, 0xd3, + 0xe8, 0x98, 0x75, 0x4d, 0x61, 0x67, 0x2c, 0x37, 0x2f, 0x76, 0x05, 0x4b, 0xd3, 0xd6, 0xa9, 0x01, + 0xcb, 0x71, 0x57, 0xba, 0x04, 0x27, 0x82, 0x60, 0x85, 0x81, 0x93, 0x7d, 0xa3, 0xec, 0x85, 0x2e, + 0xc1, 0x94, 0xdd, 0xe9, 0x07, 0x4a, 0x5d, 0x6f, 0xb4, 0x3b, 0xbd, 0xb0, 0x0b, 0x30, 0x6d, 0x1f, + 0xd8, 0xfd, 0xb8, 0x47, 0xc3, 0x38, 0xc9, 0x3e, 0xb0, 0x7b, 0x81, 0x0f, 0x91, 0x03, 0xb7, 0x83, + 0x34, 0xd5, 0x43, 0x8d, 0xfc, 0xa9, 0xb0, 0x79, 0x48, 0x21, 0xcd, 0x83, 0xa8, 0x69, 0x0a, 0x32, + 0xd5, 0xba, 0x81, 0x14, 0xd5, 0x41, 0xa6, 0xea, 0xe6, 0xcf, 0x84, 0x8d, 0x73, 0x9a, 0x56, 0x21, + 0xda, 0x32, 0x51, 0x4a, 0x8f, 0xc2, 0xa4, 0x55, 0xbf, 0xa6, 0xd1, 0x94, 0x54, 0x6c, 0x07, 0xed, + 0xeb, 0x2f, 0xe6, 0x1f, 0x24, 0xf1, 0x9d, 0xc0, 0x0a, 0x92, 0x90, 0x3b, 0x44, 0x2c, 0x3d, 0x02, + 0xa2, 0xe6, 0x1e, 0xa8, 0x8e, 0x4d, 0x6a, 0xb2, 0x6b, 0xab, 0x1a, 0xca, 0x3f, 0x44, 0x4d, 0xa9, + 0x7c, 0x9b, 0x8b, 0xf1, 0x92, 0x70, 0x6f, 0xea, 0xfb, 0x1e, 0x67, 0x7c, 0x98, 0x2e, 0x09, 0x22, + 0x63, 0x6c, 0xb3, 0x20, 0xe2, 0x50, 0x74, 0xbd, 0x78, 0x96, 0x98, 0xe5, 0xec, 0x03, 0x3b, 0xfc, + 0xde, 0x07, 0x60, 0x1c, 0x5b, 0x06, 0x2f, 0x7d, 0x84, 0x36, 0x64, 0xf6, 0x41, 0xe8, 0x8d, 0x8b, + 0x70, 0x12, 0x1b, 0xb5, 0x90, 0xa7, 0x36, 0x54, 0x4f, 0x0d, 0x59, 0x3f, 0x4e, 0xac, 0x71, 0xdc, + 0xb7, 0x98, 0xb2, 0xcb, 0x4f, 0xa7, 0x5d, 0xef, 0xf8, 0x99, 0xf5, 0x04, 0xf5, 0x13, 0xcb, 0x78, + 0x6e, 0x7d, 0x60, 0x4d, 0x77, 0xb1, 0x04, 0xd9, 0x70, 0xe2, 0x4b, 0x69, 0xa0, 0xa9, 0x2f, 0x0a, + 0xb8, 0x0b, 0x5a, 0xad, 0xae, 0xe1, 0xfe, 0xe5, 0x85, 0x8a, 0x18, 0xc3, 0x7d, 0xd4, 0xe6, 0xc6, + 0x6e, 0x45, 0x91, 0xf7, 0xb6, 0x77, 0x37, 0xb6, 0x2a, 0x62, 0x3c, 0xdc, 0xb0, 0x7f, 0x2f, 0x06, + 0xb9, 0xee, 0xb3, 0x97, 0xf4, 0x63, 0x70, 0x8a, 0x5f, 0x94, 0xb8, 0xc8, 0x53, 0x6e, 0xea, 0x0e, + 0x59, 0x8b, 0x2d, 0x95, 0xee, 0x8b, 0x7e, 0x36, 0x4c, 0x33, 0xab, 0x1a, 0xf2, 0x9e, 0xd5, 0x1d, + 0xbc, 0xd2, 0x5a, 0xaa, 0x27, 0x6d, 0xc2, 0x19, 0xd3, 0x52, 0x5c, 0x4f, 0x35, 0x1b, 0xaa, 0xd3, + 0x50, 0x82, 0x2b, 0x2a, 0x45, 0xd5, 0x34, 0xe4, 0xba, 0x16, 0xdd, 0x03, 0x7d, 0x96, 0x8f, 0x99, + 0x56, 0x8d, 0x19, 0x07, 0x9b, 0x43, 0x99, 0x99, 0xf6, 0x64, 0x6e, 0xfc, 0xa8, 0xcc, 0xbd, 0x0f, + 0xd2, 0x2d, 0xd5, 0x56, 0x90, 0xe9, 0x39, 0x1d, 0xd2, 0x71, 0xa7, 0xe4, 0x54, 0x4b, 0xb5, 0x2b, + 0xf8, 0xf9, 0xc3, 0x39, 0xf8, 0xfc, 0x63, 0x1c, 0xb2, 0xe1, 0xae, 0x1b, 0x1f, 0x62, 0x34, 0xb2, + 0x41, 0x09, 0xa4, 0x84, 0x3d, 0x70, 0xcf, 0x1e, 0x7d, 0x6e, 0x15, 0xef, 0x5c, 0xa5, 0x51, 0xda, + 0x0b, 0xcb, 0x14, 0x89, 0xbb, 0x06, 0x9c, 0x5a, 0x88, 0xf6, 0x1e, 0x29, 0x99, 0x3d, 0x49, 0xeb, + 0x30, 0x7a, 0xcd, 0x25, 0xdc, 0xa3, 0x84, 0xfb, 0xc1, 0x7b, 0x73, 0x3f, 0x53, 0x23, 0xe4, 0xe9, + 0x67, 0x6a, 0xca, 0x76, 0x55, 0xde, 0x2a, 0x6f, 0xca, 0x0c, 0x2e, 0x9d, 0x86, 0x84, 0xa1, 0xde, + 0xea, 0x74, 0xef, 0x71, 0x44, 0x34, 0x6c, 0xe0, 0x4f, 0x43, 0xe2, 0x26, 0x52, 0xaf, 0x77, 0xef, + 0x2c, 0x44, 0xf4, 0x01, 0xa6, 0xfe, 0x3c, 0x24, 0x49, 0xbc, 0x24, 0x00, 0x16, 0x31, 0x71, 0x44, + 0x4a, 0x41, 0x62, 0xb5, 0x2a, 0xe3, 0xf4, 0x17, 0x21, 0x4b, 0xa5, 0xca, 0xce, 0x46, 0x65, 0xb5, + 0x22, 0xc6, 0x8a, 0x4b, 0x30, 0x4a, 0x83, 0x80, 0x97, 0x86, 0x1f, 0x06, 0x71, 0x84, 0x3d, 0x32, + 0x0e, 0x81, 0x6b, 0xf7, 0xb6, 0x56, 0x2a, 0xb2, 0x18, 0x0b, 0x4f, 0xaf, 0x0b, 0xd9, 0x70, 0xc3, + 0xfd, 0xe1, 0xe4, 0xd4, 0x77, 0x05, 0xc8, 0x84, 0x1a, 0x68, 0xdc, 0xf9, 0xa8, 0x86, 0x61, 0xdd, + 0x54, 0x54, 0x43, 0x57, 0x5d, 0x96, 0x14, 0x40, 0x44, 0x65, 0x2c, 0x19, 0x76, 0xd2, 0x3e, 0x14, + 0xe7, 0x5f, 0x15, 0x40, 0xec, 0xed, 0x5d, 0x7b, 0x1c, 0x14, 0x3e, 0x52, 0x07, 0x5f, 0x11, 0x20, + 0xd7, 0xdd, 0xb0, 0xf6, 0xb8, 0x77, 0xee, 0x23, 0x75, 0xef, 0xad, 0x18, 0x8c, 0x77, 0xb5, 0xa9, + 0xc3, 0x7a, 0xf7, 0x59, 0x98, 0xd4, 0x1b, 0xa8, 0x65, 0x5b, 0x1e, 0x32, 0xb5, 0x8e, 0x62, 0xa0, + 0x1b, 0xc8, 0xc8, 0x17, 0x49, 0xa1, 0x98, 0xbf, 0x77, 0x23, 0x3c, 0xb7, 0x11, 0xe0, 0x36, 0x31, + 0xac, 0x34, 0xb5, 0xb1, 0x56, 0xd9, 0xda, 0xa9, 0xee, 0x56, 0xb6, 0x57, 0x9f, 0x57, 0xf6, 0xb6, + 0x7f, 0x62, 0xbb, 0xfa, 0xec, 0xb6, 0x2c, 0xea, 0x3d, 0x66, 0x1f, 0xe0, 0x52, 0xdf, 0x01, 0xb1, + 0xd7, 0x29, 0xe9, 0x14, 0x0c, 0x72, 0x4b, 0x1c, 0x91, 0xa6, 0x60, 0x62, 0xbb, 0xaa, 0xd4, 0x36, + 0xd6, 0x2a, 0x4a, 0xe5, 0xca, 0x95, 0xca, 0xea, 0x6e, 0x8d, 0x5e, 0x6d, 0xf8, 0xd6, 0xbb, 0xdd, + 0x8b, 0xfa, 0xe5, 0x38, 0x4c, 0x0d, 0xf0, 0x44, 0x2a, 0xb3, 0x43, 0x09, 0x3d, 0x27, 0x3d, 0x31, + 0x8c, 0xf7, 0x73, 0xb8, 0x2b, 0xd8, 0x51, 0x1d, 0x8f, 0x9d, 0x61, 0x1e, 0x01, 0x1c, 0x25, 0xd3, + 0xd3, 0xf7, 0x75, 0xe4, 0xb0, 0x9b, 0x20, 0x7a, 0x52, 0x99, 0x08, 0xe4, 0xf4, 0x32, 0xe8, 0x71, + 0x90, 0x6c, 0xcb, 0xd5, 0x3d, 0xfd, 0x06, 0x52, 0x74, 0x93, 0x5f, 0x1b, 0xe1, 0x93, 0x4b, 0x42, + 0x16, 0xb9, 0x66, 0xc3, 0xf4, 0x7c, 0x6b, 0x13, 0x35, 0xd5, 0x1e, 0x6b, 0x5c, 0xc0, 0xe3, 0xb2, + 0xc8, 0x35, 0xbe, 0xf5, 0x39, 0xc8, 0x36, 0xac, 0x36, 0x6e, 0xe7, 0xa8, 0x1d, 0xde, 0x2f, 0x04, + 0x39, 0x43, 0x65, 0xbe, 0x09, 0x6b, 0xd4, 0x83, 0xfb, 0xaa, 0xac, 0x9c, 0xa1, 0x32, 0x6a, 0xf2, + 0x30, 0x4c, 0xa8, 0xcd, 0xa6, 0x83, 0xc9, 0x39, 0x11, 0x3d, 0x7a, 0xe4, 0x7c, 0x31, 0x31, 0x9c, + 0x79, 0x06, 0x52, 0x3c, 0x0e, 0x78, 0x4b, 0xc6, 0x91, 0x50, 0x6c, 0x7a, 0x9e, 0x8e, 0xcd, 0xa6, + 0xe5, 0x94, 0xc9, 0x95, 0xe7, 0x20, 0xab, 0xbb, 0x4a, 0x70, 0xfd, 0x1e, 0x3b, 0x1b, 0x9b, 0x4d, + 0xc9, 0x19, 0xdd, 0xf5, 0xaf, 0x2e, 0x8b, 0xaf, 0xc5, 0x20, 0xd7, 0xfd, 0xf9, 0x40, 0x5a, 0x83, + 0x94, 0x61, 0x69, 0x2a, 0x49, 0x2d, 0xfa, 0xed, 0x6a, 0x36, 0xe2, 0x8b, 0xc3, 0xdc, 0x26, 0xb3, + 0x97, 0x7d, 0xe4, 0xcc, 0xdf, 0x09, 0x90, 0xe2, 0x62, 0xe9, 0x24, 0x24, 0x6c, 0xd5, 0x3b, 0x20, + 0x74, 0xc9, 0x95, 0x98, 0x28, 0xc8, 0xe4, 0x19, 0xcb, 0x5d, 0x5b, 0x35, 0x49, 0x0a, 0x30, 0x39, + 0x7e, 0xc6, 0xf3, 0x6a, 0x20, 0xb5, 0x41, 0xce, 0x35, 0x56, 0xab, 0x85, 0x4c, 0xcf, 0xe5, 0xf3, + 0xca, 0xe4, 0xab, 0x4c, 0x2c, 0x3d, 0x06, 0x93, 0x9e, 0xa3, 0xea, 0x46, 0x97, 0x6d, 0x82, 0xd8, + 0x8a, 0x5c, 0xe1, 0x1b, 0x97, 0xe0, 0x34, 0xe7, 0x6d, 0x20, 0x4f, 0xd5, 0x0e, 0x50, 0x23, 0x00, + 0x8d, 0x92, 0xfb, 0x8b, 0x53, 0xcc, 0x60, 0x8d, 0xe9, 0x39, 0xb6, 0xf8, 0x7d, 0x01, 0x26, 0xf9, + 0x49, 0xac, 0xe1, 0x07, 0x6b, 0x0b, 0x40, 0x35, 0x4d, 0xcb, 0x0b, 0x87, 0xab, 0x3f, 0x95, 0xfb, + 0x70, 0x73, 0x65, 0x1f, 0x24, 0x87, 0x08, 0x66, 0x5a, 0x00, 0x81, 0xe6, 0xc8, 0xb0, 0x9d, 0x81, + 0x0c, 0xfb, 0x36, 0x44, 0x3e, 0x30, 0xd2, 0xb3, 0x3b, 0x50, 0x11, 0x3e, 0xb2, 0x49, 0xd3, 0x90, + 0xac, 0xa3, 0xa6, 0x6e, 0xb2, 0x1b, 0x5f, 0xfa, 0xc0, 0x6f, 0x58, 0x12, 0xfe, 0x0d, 0xcb, 0xca, + 0x67, 0x60, 0x4a, 0xb3, 0x5a, 0xbd, 0xee, 0xae, 0x88, 0x3d, 0xf7, 0x07, 0xee, 0x55, 0xe1, 0x05, + 0x08, 0x5a, 0xcc, 0xf7, 0x04, 0xe1, 0x2b, 0xb1, 0xf8, 0xfa, 0xce, 0xca, 0xd7, 0x63, 0x33, 0xeb, + 0x14, 0xba, 0xc3, 0x47, 0x2a, 0xa3, 0x7d, 0x03, 0x69, 0xd8, 0x7b, 0xf8, 0xea, 0x63, 0xf0, 0x44, + 0x53, 0xf7, 0x0e, 0xda, 0xf5, 0x39, 0xcd, 0x6a, 0xcd, 0x37, 0xad, 0xa6, 0x15, 0x7c, 0x53, 0xc5, + 0x4f, 0xe4, 0x81, 0xfc, 0xc5, 0xbe, 0xab, 0xa6, 0x7d, 0xe9, 0x4c, 0xe4, 0x47, 0xd8, 0xd2, 0x36, + 0x4c, 0x31, 0x63, 0x85, 0x7c, 0xd8, 0xa1, 0xc7, 0x13, 0xe9, 0x9e, 0x97, 0x63, 0xf9, 0x6f, 0xbe, + 0x4d, 0xb6, 0x6b, 0x79, 0x92, 0x41, 0xb1, 0x8e, 0x9e, 0x60, 0x4a, 0x32, 0x9c, 0xe8, 0xe2, 0xa3, + 0x4b, 0x13, 0x39, 0x11, 0x8c, 0xdf, 0x63, 0x8c, 0x53, 0x21, 0xc6, 0x1a, 0x83, 0x96, 0x56, 0x61, + 0xfc, 0x38, 0x5c, 0x7f, 0xc3, 0xb8, 0xb2, 0x28, 0x4c, 0xb2, 0x0e, 0x13, 0x84, 0x44, 0x6b, 0xbb, + 0x9e, 0xd5, 0x22, 0x75, 0xef, 0xde, 0x34, 0x7f, 0xfb, 0x36, 0x5d, 0x2b, 0x39, 0x0c, 0x5b, 0xf5, + 0x51, 0xa5, 0x12, 0x90, 0x6f, 0x59, 0x0d, 0xa4, 0x19, 0x11, 0x0c, 0xaf, 0x33, 0x47, 0x7c, 0xfb, + 0xd2, 0xa7, 0x61, 0x1a, 0xff, 0x4d, 0xca, 0x52, 0xd8, 0x93, 0xe8, 0x9b, 0xb4, 0xfc, 0xf7, 0x5f, + 0xa2, 0xcb, 0x71, 0xca, 0x27, 0x08, 0xf9, 0x14, 0x9a, 0xc5, 0x26, 0xf2, 0x3c, 0xe4, 0xb8, 0x8a, + 0x6a, 0x0c, 0x72, 0x2f, 0x74, 0x15, 0x91, 0xff, 0xe2, 0x3b, 0xdd, 0xb3, 0xb8, 0x4e, 0x91, 0x65, + 0xc3, 0x28, 0xed, 0xc1, 0xa9, 0x01, 0x59, 0x31, 0x04, 0xe7, 0xcb, 0x8c, 0x73, 0xba, 0x2f, 0x33, + 0x30, 0xed, 0x0e, 0x70, 0xb9, 0x3f, 0x97, 0x43, 0x70, 0xfe, 0x16, 0xe3, 0x94, 0x18, 0x96, 0x4f, + 0x29, 0x66, 0x7c, 0x06, 0x26, 0x6f, 0x20, 0xa7, 0x6e, 0xb9, 0xec, 0xfa, 0x67, 0x08, 0xba, 0x57, + 0x18, 0xdd, 0x04, 0x03, 0x92, 0xfb, 0x20, 0xcc, 0x75, 0x09, 0x52, 0xfb, 0xaa, 0x86, 0x86, 0xa0, + 0xf8, 0x12, 0xa3, 0x18, 0xc3, 0xf6, 0x18, 0x5a, 0x86, 0x6c, 0xd3, 0x62, 0x3b, 0x53, 0x34, 0xfc, + 0x55, 0x06, 0xcf, 0x70, 0x0c, 0xa3, 0xb0, 0x2d, 0xbb, 0x6d, 0xe0, 0x6d, 0x2b, 0x9a, 0xe2, 0xb7, + 0x39, 0x05, 0xc7, 0x30, 0x8a, 0x63, 0x84, 0xf5, 0x77, 0x38, 0x85, 0x1b, 0x8a, 0xe7, 0xd3, 0x90, + 0xb1, 0x4c, 0xa3, 0x63, 0x99, 0xc3, 0x38, 0xf1, 0x65, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0x2e, 0x43, + 0x7a, 0xd8, 0x89, 0xf8, 0xbd, 0x77, 0xf8, 0xf2, 0xe0, 0x33, 0xb0, 0x0e, 0x13, 0xbc, 0x40, 0xe9, + 0x96, 0x39, 0x04, 0xc5, 0x57, 0x19, 0x45, 0x2e, 0x04, 0x63, 0xc3, 0xf0, 0x90, 0xeb, 0x35, 0xd1, + 0x30, 0x24, 0xaf, 0xf1, 0x61, 0x30, 0x08, 0x0b, 0x65, 0x1d, 0x99, 0xda, 0xc1, 0x70, 0x0c, 0x5f, + 0xe3, 0xa1, 0xe4, 0x18, 0x4c, 0xb1, 0x0a, 0xe3, 0x2d, 0xd5, 0x71, 0x0f, 0x54, 0x63, 0xa8, 0xe9, + 0xf8, 0x7d, 0xc6, 0x91, 0xf5, 0x41, 0x2c, 0x22, 0x6d, 0xf3, 0x38, 0x34, 0x5f, 0xe7, 0x11, 0x09, + 0xc1, 0xd8, 0xd2, 0x73, 0x3d, 0x72, 0x57, 0x76, 0x1c, 0xb6, 0x3f, 0xe0, 0x4b, 0x8f, 0x62, 0xb7, + 0xc2, 0x8c, 0x97, 0x21, 0xed, 0xea, 0xb7, 0x86, 0xa2, 0xf9, 0x43, 0x3e, 0xd3, 0x04, 0x80, 0xc1, + 0xcf, 0xc3, 0xe9, 0x81, 0xdb, 0xc4, 0x10, 0x64, 0x7f, 0xc4, 0xc8, 0x4e, 0x0e, 0xd8, 0x2a, 0x58, + 0x49, 0x38, 0x2e, 0xe5, 0x1f, 0xf3, 0x92, 0x80, 0x7a, 0xb8, 0x76, 0xf0, 0x59, 0xc1, 0x55, 0xf7, + 0x8f, 0x17, 0xb5, 0x3f, 0xe1, 0x51, 0xa3, 0xd8, 0xae, 0xa8, 0xed, 0xc2, 0x49, 0xc6, 0x78, 0xbc, + 0x79, 0xfd, 0x06, 0x2f, 0xac, 0x14, 0xbd, 0xd7, 0x3d, 0xbb, 0x9f, 0x81, 0x19, 0x3f, 0x9c, 0xbc, + 0x29, 0x75, 0x95, 0x96, 0x6a, 0x0f, 0xc1, 0xfc, 0x4d, 0xc6, 0xcc, 0x2b, 0xbe, 0xdf, 0xd5, 0xba, + 0x5b, 0xaa, 0x8d, 0xc9, 0x9f, 0x83, 0x3c, 0x27, 0x6f, 0x9b, 0x0e, 0xd2, 0xac, 0xa6, 0xa9, 0xdf, + 0x42, 0x8d, 0x21, 0xa8, 0xff, 0xb4, 0x67, 0xaa, 0xf6, 0x42, 0x70, 0xcc, 0xbc, 0x01, 0xa2, 0xdf, + 0xab, 0x28, 0x7a, 0xcb, 0xb6, 0x1c, 0x2f, 0x82, 0xf1, 0xcf, 0xf8, 0x4c, 0xf9, 0xb8, 0x0d, 0x02, + 0x2b, 0x55, 0x20, 0x47, 0x1e, 0x87, 0x4d, 0xc9, 0x3f, 0x67, 0x44, 0xe3, 0x01, 0x8a, 0x15, 0x0e, + 0xcd, 0x6a, 0xd9, 0xaa, 0x33, 0x4c, 0xfd, 0xfb, 0x0b, 0x5e, 0x38, 0x18, 0x84, 0x15, 0x0e, 0xaf, + 0x63, 0x23, 0xbc, 0xdb, 0x0f, 0xc1, 0xf0, 0x2d, 0x5e, 0x38, 0x38, 0x86, 0x51, 0xf0, 0x86, 0x61, + 0x08, 0x8a, 0xbf, 0xe4, 0x14, 0x1c, 0x83, 0x29, 0x3e, 0x15, 0x6c, 0xb4, 0x0e, 0x6a, 0xea, 0xae, + 0xe7, 0xd0, 0x56, 0xf8, 0xde, 0x54, 0xdf, 0x7e, 0xa7, 0xbb, 0x09, 0x93, 0x43, 0x50, 0x5c, 0x89, + 0xd8, 0x15, 0x2a, 0x39, 0x29, 0x45, 0x3b, 0xf6, 0x1d, 0x5e, 0x89, 0x42, 0x30, 0xec, 0x5b, 0xa8, + 0x43, 0xc4, 0x61, 0xd7, 0xf0, 0xf9, 0x60, 0x08, 0xba, 0xef, 0xf6, 0x38, 0x57, 0xe3, 0x58, 0xcc, + 0x19, 0xea, 0x7f, 0xda, 0xe6, 0x75, 0xd4, 0x19, 0x2a, 0x3b, 0xff, 0xaa, 0xa7, 0xff, 0xd9, 0xa3, + 0x48, 0x5a, 0x43, 0x26, 0x7a, 0xfa, 0x29, 0x29, 0xea, 0x57, 0x40, 0xf9, 0x9f, 0xbe, 0xcb, 0xc6, + 0xdb, 0xdd, 0x4e, 0x95, 0x36, 0x71, 0x92, 0x77, 0x37, 0x3d, 0xd1, 0x64, 0x2f, 0xdd, 0xf5, 0xf3, + 0xbc, 0xab, 0xe7, 0x29, 0x5d, 0x81, 0xf1, 0xae, 0x86, 0x27, 0x9a, 0xea, 0x67, 0x18, 0x55, 0x36, + 0xdc, 0xef, 0x94, 0x96, 0x20, 0x81, 0x9b, 0x97, 0x68, 0xf8, 0xcf, 0x32, 0x38, 0x31, 0x2f, 0x7d, + 0x02, 0x52, 0xbc, 0x69, 0x89, 0x86, 0xfe, 0x1c, 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x0d, 0x4b, 0x34, + 0xfc, 0xe7, 0x39, 0x9c, 0x43, 0x30, 0x7c, 0xf8, 0x10, 0xfe, 0xf5, 0x2f, 0x24, 0xd8, 0xa6, 0xc3, + 0x63, 0x77, 0x19, 0xc6, 0x58, 0xa7, 0x12, 0x8d, 0xfe, 0x1c, 0x7b, 0x39, 0x47, 0x94, 0x2e, 0x40, + 0x72, 0xc8, 0x80, 0xff, 0x12, 0x83, 0x52, 0xfb, 0xd2, 0x2a, 0x64, 0x42, 0xdd, 0x49, 0x34, 0xfc, + 0x97, 0x19, 0x3c, 0x8c, 0xc2, 0xae, 0xb3, 0xee, 0x24, 0x9a, 0xe0, 0x57, 0xb8, 0xeb, 0x0c, 0x81, + 0xc3, 0xc6, 0x1b, 0x93, 0x68, 0xf4, 0xaf, 0xf2, 0xa8, 0x73, 0x48, 0xe9, 0x69, 0x48, 0xfb, 0x9b, + 0x4d, 0x34, 0xfe, 0xd7, 0x18, 0x3e, 0xc0, 0xe0, 0x08, 0x84, 0x36, 0xbb, 0x68, 0x8a, 0xcf, 0xf3, + 0x08, 0x84, 0x50, 0x78, 0x19, 0xf5, 0x36, 0x30, 0xd1, 0x4c, 0xbf, 0xce, 0x97, 0x51, 0x4f, 0xff, + 0x82, 0x67, 0x93, 0xd4, 0xfc, 0x68, 0x8a, 0xdf, 0xe0, 0xb3, 0x49, 0xec, 0xb1, 0x1b, 0xbd, 0x1d, + 0x41, 0x34, 0xc7, 0x6f, 0x72, 0x37, 0x7a, 0x1a, 0x82, 0xd2, 0x0e, 0x48, 0xfd, 0xdd, 0x40, 0x34, + 0xdf, 0x17, 0x18, 0xdf, 0x64, 0x5f, 0x33, 0x50, 0x7a, 0x16, 0x4e, 0x0e, 0xee, 0x04, 0xa2, 0x59, + 0xbf, 0x78, 0xb7, 0xe7, 0xec, 0x16, 0x6e, 0x04, 0x4a, 0xbb, 0xc1, 0x96, 0x12, 0xee, 0x02, 0xa2, + 0x69, 0x5f, 0xbe, 0xdb, 0x5d, 0xb8, 0xc3, 0x4d, 0x40, 0xa9, 0x0c, 0x10, 0x6c, 0xc0, 0xd1, 0x5c, + 0xaf, 0x30, 0xae, 0x10, 0x08, 0x2f, 0x0d, 0xb6, 0xff, 0x46, 0xe3, 0xbf, 0xc4, 0x97, 0x06, 0x43, + 0xe0, 0xa5, 0xc1, 0xb7, 0xde, 0x68, 0xf4, 0xab, 0x7c, 0x69, 0x70, 0x08, 0xce, 0xec, 0xd0, 0xee, + 0x16, 0xcd, 0xf0, 0x65, 0x9e, 0xd9, 0x21, 0x54, 0x69, 0x1b, 0x26, 0xfb, 0x36, 0xc4, 0x68, 0xaa, + 0xaf, 0x30, 0x2a, 0xb1, 0x77, 0x3f, 0x0c, 0x6f, 0x5e, 0x6c, 0x33, 0x8c, 0x66, 0xfb, 0xdd, 0x9e, + 0xcd, 0x8b, 0xed, 0x85, 0xa5, 0xcb, 0x90, 0x32, 0xdb, 0x86, 0x81, 0x17, 0x8f, 0x74, 0xef, 0x5f, + 0xee, 0xe5, 0xff, 0xf9, 0x7d, 0x16, 0x1d, 0x0e, 0x28, 0x2d, 0x41, 0x12, 0xb5, 0xea, 0xa8, 0x11, + 0x85, 0xfc, 0x97, 0xf7, 0x79, 0xc1, 0xc4, 0xd6, 0xa5, 0xa7, 0x01, 0xe8, 0xd5, 0x08, 0xf9, 0xec, + 0x17, 0x81, 0xfd, 0xd7, 0xf7, 0xd9, 0x6f, 0x6a, 0x02, 0x48, 0x40, 0x40, 0x7f, 0xa1, 0x73, 0x6f, + 0x82, 0x77, 0xba, 0x09, 0xc8, 0x8c, 0x5c, 0x82, 0xb1, 0x6b, 0xae, 0x65, 0x7a, 0x6a, 0x33, 0x0a, + 0xfd, 0x6f, 0x0c, 0xcd, 0xed, 0x71, 0xc0, 0x5a, 0x96, 0x83, 0x3c, 0xb5, 0xe9, 0x46, 0x61, 0xff, + 0x9d, 0x61, 0x7d, 0x00, 0x06, 0x6b, 0xaa, 0xeb, 0x0d, 0x33, 0xee, 0xff, 0xe0, 0x60, 0x0e, 0xc0, + 0x4e, 0xe3, 0xbf, 0xaf, 0xa3, 0x4e, 0x14, 0xf6, 0x5d, 0xee, 0x34, 0xb3, 0x2f, 0x7d, 0x02, 0xd2, + 0xf8, 0x4f, 0xfa, 0x43, 0xb9, 0x08, 0xf0, 0x7f, 0x32, 0x70, 0x80, 0xc0, 0x6f, 0x76, 0xbd, 0x86, + 0xa7, 0x47, 0x07, 0xfb, 0xbf, 0xd8, 0x4c, 0x73, 0xfb, 0x52, 0x19, 0x32, 0xae, 0xd7, 0x68, 0xb4, + 0x59, 0x7f, 0x1a, 0x01, 0xff, 0xef, 0xf7, 0xfd, 0x2b, 0x0b, 0x1f, 0x83, 0x67, 0xfb, 0xe6, 0x75, + 0xcf, 0xb6, 0xc8, 0x67, 0x8e, 0x28, 0x86, 0xbb, 0x8c, 0x21, 0x04, 0x59, 0xa9, 0x0c, 0xbe, 0xbe, + 0x85, 0x75, 0x6b, 0xdd, 0xa2, 0x17, 0xb7, 0x2f, 0x14, 0xa3, 0x6f, 0x60, 0xe1, 0x7f, 0x52, 0x70, + 0x42, 0xb3, 0x5a, 0x75, 0xcb, 0x9d, 0xaf, 0x5b, 0xde, 0xc1, 0xbc, 0x65, 0x32, 0x32, 0x29, 0x6e, + 0x99, 0x68, 0xe6, 0x78, 0x97, 0xb8, 0xc5, 0xd3, 0x90, 0xac, 0xb5, 0xeb, 0xf5, 0x8e, 0x24, 0x42, + 0xdc, 0x6d, 0xd7, 0xd9, 0x2f, 0xad, 0xf0, 0x9f, 0xc5, 0x37, 0xe3, 0x30, 0x5e, 0x36, 0x8c, 0xdd, + 0x8e, 0x8d, 0xdc, 0xaa, 0x89, 0xaa, 0xfb, 0x52, 0x1e, 0x46, 0xc9, 0x28, 0x9f, 0x22, 0x66, 0xc2, + 0xd5, 0x11, 0x99, 0x3d, 0xfb, 0x9a, 0x05, 0x72, 0xbd, 0x1d, 0xf3, 0x35, 0x0b, 0xbe, 0xe6, 0x3c, + 0xbd, 0xdd, 0xf6, 0x35, 0xe7, 0x7d, 0xcd, 0x22, 0xb9, 0xe3, 0x8e, 0xfb, 0x9a, 0x45, 0x5f, 0xb3, + 0x44, 0xbe, 0xe1, 0x8c, 0xfb, 0x9a, 0x25, 0x5f, 0xb3, 0x4c, 0xbe, 0xda, 0x24, 0x7c, 0xcd, 0xb2, + 0xaf, 0xb9, 0x40, 0x3e, 0xd6, 0x4c, 0xfa, 0x9a, 0x0b, 0xbe, 0xe6, 0x22, 0xf9, 0x40, 0x23, 0xf9, + 0x9a, 0x8b, 0xbe, 0xe6, 0x12, 0xf9, 0x49, 0xd5, 0x98, 0xaf, 0xb9, 0x24, 0xcd, 0xc0, 0x18, 0x1d, + 0xd9, 0x93, 0xe4, 0x2b, 0xfe, 0xc4, 0xd5, 0x11, 0x99, 0x0b, 0x02, 0xdd, 0x53, 0xe4, 0x67, 0x53, + 0xa3, 0x81, 0xee, 0xa9, 0x40, 0xb7, 0x40, 0xfe, 0xf7, 0x86, 0x18, 0xe8, 0x16, 0x02, 0xdd, 0xf9, + 0xfc, 0x38, 0x4e, 0x8e, 0x40, 0x77, 0x3e, 0xd0, 0x2d, 0xe6, 0x73, 0x78, 0x06, 0x02, 0xdd, 0x62, + 0xa0, 0x5b, 0xca, 0x4f, 0x9c, 0x15, 0x66, 0xb3, 0x81, 0x6e, 0x49, 0x7a, 0x02, 0x32, 0x6e, 0xbb, + 0xae, 0xb0, 0x32, 0x4f, 0x7e, 0x9e, 0x95, 0x59, 0x80, 0x39, 0x9c, 0x13, 0x64, 0x5a, 0xaf, 0x8e, + 0xc8, 0xe0, 0xb6, 0xeb, 0xac, 0x0a, 0xaf, 0x64, 0x81, 0x5c, 0x3e, 0x29, 0xe4, 0x57, 0xd5, 0xc5, + 0x37, 0x04, 0x48, 0xef, 0xde, 0xb4, 0xc8, 0x37, 0x7c, 0xf7, 0xff, 0x79, 0x72, 0xb9, 0xd3, 0xe7, + 0x17, 0xc9, 0x67, 0xd6, 0xf4, 0x55, 0x41, 0xe6, 0x82, 0x40, 0xb7, 0x94, 0x7f, 0x80, 0x0c, 0xc8, + 0xd7, 0x2d, 0x49, 0xf3, 0x90, 0x0d, 0x0d, 0x68, 0x81, 0xfc, 0x70, 0xaa, 0x7b, 0x44, 0x82, 0x9c, + 0x09, 0x46, 0xb4, 0xb0, 0x92, 0x04, 0x9c, 0xf6, 0xf8, 0x1f, 0xef, 0xa6, 0x55, 0xfc, 0x7c, 0x0c, + 0x32, 0xf4, 0xbe, 0x9a, 0x8c, 0x0a, 0xbf, 0x8a, 0x1e, 0x69, 0x3a, 0xcc, 0x8d, 0x11, 0x99, 0x0b, + 0x24, 0x19, 0x80, 0x9a, 0xe2, 0x0c, 0xa7, 0x9e, 0xac, 0x3c, 0xf9, 0x0f, 0x6f, 0x9e, 0x79, 0xfc, + 0xc8, 0x15, 0x84, 0x63, 0x37, 0x4f, 0xeb, 0xf7, 0xdc, 0x9e, 0x6e, 0x7a, 0x4f, 0x2d, 0x5c, 0xc4, + 0x01, 0x0e, 0x58, 0xa4, 0x3d, 0x48, 0xad, 0xaa, 0x2e, 0xf9, 0xc9, 0x25, 0x71, 0x3d, 0xb1, 0x72, + 0xe1, 0x7f, 0xdf, 0x3c, 0x73, 0x3e, 0x82, 0x91, 0x95, 0xd6, 0xb9, 0xad, 0x0e, 0x66, 0x5d, 0x5e, + 0xc4, 0xf0, 0xab, 0x23, 0xb2, 0x4f, 0x25, 0x2d, 0x70, 0x57, 0xb7, 0xd5, 0x16, 0xfd, 0x85, 0x58, + 0x7c, 0x45, 0x3c, 0x7c, 0xf3, 0x4c, 0x76, 0xab, 0x13, 0xc8, 0x03, 0x57, 0xf0, 0xd3, 0x4a, 0x0a, + 0x46, 0xa9, 0xab, 0x2b, 0x6b, 0xaf, 0xdf, 0x29, 0x8c, 0xbc, 0x71, 0xa7, 0x30, 0xf2, 0xf7, 0x77, + 0x0a, 0x23, 0x6f, 0xdd, 0x29, 0x08, 0xef, 0xde, 0x29, 0x08, 0xef, 0xdd, 0x29, 0x08, 0xb7, 0x0f, + 0x0b, 0xc2, 0xd7, 0x0e, 0x0b, 0xc2, 0x37, 0x0e, 0x0b, 0xc2, 0xb7, 0x0f, 0x0b, 0xc2, 0xeb, 0x87, + 0x05, 0xe1, 0x8d, 0xc3, 0x82, 0xf0, 0xd6, 0x61, 0x41, 0xf8, 0xe1, 0x61, 0x61, 0xe4, 0xdd, 0xc3, + 0x82, 0xf0, 0xde, 0x61, 0x61, 0xe4, 0xf6, 0x0f, 0x0a, 0x23, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, + 0x73, 0xc4, 0x37, 0x6f, 0x6c, 0x37, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -5600,47 +5644,3 @@ var ( ErrInvalidLengthOne = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowOne = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/both/one.proto", fileDescriptor_one_1ca237849e17659c) } - -var fileDescriptor_one_1ca237849e17659c = []byte{ - // 596 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0x3f, 0x4f, 0xdb, 0x40, - 0x14, 0x00, 0x70, 0x3f, 0x42, 0x42, 0xb8, 0x84, 0x92, 0x5a, 0xaa, 0x74, 0x65, 0x38, 0x4e, 0x69, - 0x2b, 0xdd, 0x50, 0x12, 0xe2, 0xd8, 0xfc, 0x19, 0x6b, 0xaa, 0x2a, 0x0b, 0x45, 0x32, 0x30, 0xa3, - 0x98, 0x9a, 0x10, 0x89, 0xf8, 0x10, 0x77, 0x16, 0xf2, 0xc6, 0x67, 0xe8, 0xa7, 0xe8, 0xd8, 0xb1, - 0x1f, 0x81, 0x31, 0x63, 0xd5, 0x21, 0xc2, 0xee, 0xd2, 0x91, 0x11, 0x75, 0xaa, 0xce, 0x26, 0x77, - 0x95, 0xaa, 0xaa, 0x4b, 0xa7, 0xf8, 0xbd, 0x9f, 0xef, 0xe5, 0x3d, 0xdf, 0x1d, 0x7a, 0x76, 0xca, - 0x27, 0x21, 0x17, 0xdd, 0x90, 0xcb, 0xf3, 0x2e, 0x8f, 0xa3, 0xce, 0xe5, 0x15, 0x97, 0xdc, 0xae, - 0xf0, 0x38, 0x5a, 0xdb, 0x18, 0x8d, 0xe5, 0x79, 0x12, 0x76, 0x4e, 0xf9, 0xa4, 0x3b, 0xe2, 0x23, - 0xde, 0x2d, 0x2c, 0x4c, 0xce, 0x8a, 0xa8, 0x08, 0x8a, 0xa7, 0x72, 0x4d, 0xfb, 0x39, 0xaa, 0x1e, - 0x26, 0x61, 0x98, 0xda, 0x2d, 0x54, 0x11, 0x49, 0x88, 0x81, 0x02, 0x5b, 0x0e, 0xd4, 0x63, 0x7b, - 0x56, 0x41, 0x2b, 0x6f, 0x2e, 0x2e, 0x8e, 0xd2, 0xcb, 0x48, 0x1c, 0xc4, 0xd1, 0xc1, 0x99, 0x8d, - 0x51, 0xed, 0xdd, 0x38, 0xba, 0xf8, 0xd0, 0x2b, 0x5e, 0x83, 0x81, 0x15, 0x3c, 0xc6, 0x5a, 0x1c, - 0xbc, 0x40, 0x81, 0x2d, 0x68, 0x71, 0xb4, 0xf4, 0x71, 0x85, 0x02, 0xab, 0x6a, 0xe9, 0x6b, 0x71, - 0xf1, 0x22, 0x05, 0x56, 0xd1, 0xe2, 0x6a, 0xf1, 0x70, 0x95, 0x02, 0x5b, 0xd1, 0xe2, 0x69, 0xd9, - 0xc2, 0x35, 0x0a, 0x6c, 0x51, 0xcb, 0x96, 0x96, 0x6d, 0xbc, 0x44, 0x81, 0x3d, 0xd5, 0xb2, 0xad, - 0x65, 0x07, 0xd7, 0x29, 0x30, 0x5b, 0xcb, 0x8e, 0x96, 0x5d, 0xbc, 0x4c, 0x81, 0x2d, 0x69, 0xd9, - 0xb5, 0xd7, 0xd0, 0x52, 0x39, 0xd9, 0x26, 0x46, 0x14, 0xd8, 0xea, 0xc0, 0x0a, 0xe6, 0x09, 0x63, - 0x3d, 0xdc, 0xa0, 0xc0, 0x6a, 0xc6, 0x7a, 0xc6, 0x1c, 0xdc, 0xa4, 0xc0, 0x5a, 0xc6, 0x1c, 0x63, - 0x7d, 0xbc, 0x42, 0x81, 0xd5, 0x8d, 0xf5, 0x8d, 0xb9, 0xf8, 0x89, 0xda, 0x01, 0x63, 0xae, 0x31, - 0x0f, 0xaf, 0x52, 0x60, 0x4d, 0x63, 0x9e, 0xbd, 0x81, 0x1a, 0x22, 0x09, 0x4f, 0x26, 0x91, 0x10, - 0xc3, 0x51, 0x84, 0x5b, 0x14, 0x58, 0xc3, 0x41, 0x1d, 0x75, 0x26, 0x8a, 0x6d, 0x1d, 0x58, 0x01, - 0x12, 0x49, 0xb8, 0x5f, 0xba, 0xdf, 0x44, 0x48, 0x46, 0x42, 0x9e, 0xf0, 0x38, 0xe2, 0x67, 0xed, - 0x29, 0xa0, 0xe5, 0xa3, 0x6b, 0x7e, 0xa0, 0x02, 0xf1, 0x9f, 0x37, 0x77, 0xde, 0x74, 0xdf, 0xc5, - 0xed, 0x62, 0x20, 0x08, 0xe6, 0x09, 0x63, 0x1e, 0x7e, 0x51, 0x0c, 0xa4, 0xcd, 0xb3, 0xbb, 0xa8, - 0xf9, 0xdb, 0x40, 0x0e, 0x7e, 0xf9, 0xc7, 0x44, 0x10, 0x34, 0xcc, 0x44, 0x8e, 0x5f, 0x45, 0xea, - 0xd8, 0xab, 0x1f, 0x79, 0xcd, 0xdb, 0x1f, 0x17, 0x50, 0x63, 0x2f, 0x11, 0x92, 0x4f, 0x8a, 0xa9, - 0xd4, 0x5f, 0x1d, 0xca, 0xab, 0x71, 0x3c, 0x4a, 0x1f, 0xdb, 0xb0, 0x82, 0x79, 0xc2, 0x0e, 0x10, - 0x2a, 0x5f, 0x55, 0x27, 0xbc, 0xec, 0xc4, 0xdf, 0xfc, 0x36, 0x5b, 0x7f, 0xfd, 0xd7, 0x1b, 0xa4, - 0xbe, 0x5d, 0xf7, 0xb4, 0x58, 0xd3, 0x39, 0x1e, 0xc7, 0xb2, 0xe7, 0xec, 0xa8, 0x0f, 0x6c, 0xaa, - 0xd8, 0xc7, 0xa8, 0xbe, 0x37, 0x14, 0xb2, 0xa8, 0xa8, 0x5a, 0x5f, 0xf4, 0xb7, 0x7f, 0xce, 0xd6, - 0xfb, 0xff, 0xa8, 0x38, 0x14, 0x52, 0xa6, 0x97, 0x51, 0x67, 0x3f, 0x55, 0x55, 0xb7, 0x5c, 0xb5, - 0x7c, 0x60, 0x05, 0xba, 0x94, 0xed, 0xcc, 0x5b, 0x7d, 0x3f, 0x9c, 0x44, 0xf8, 0x95, 0xba, 0x2e, - 0x7e, 0x2b, 0x9f, 0xad, 0x37, 0xf7, 0x53, 0x93, 0x37, 0xad, 0xa8, 0xc8, 0xaf, 0xa3, 0x5a, 0xd9, - 0xaa, 0xff, 0xf6, 0x36, 0x23, 0xd6, 0x34, 0x23, 0xd6, 0xd7, 0x8c, 0x58, 0x77, 0x19, 0x81, 0xfb, - 0x8c, 0xc0, 0x43, 0x46, 0xe0, 0x26, 0x27, 0xf0, 0x29, 0x27, 0xf0, 0x39, 0x27, 0xf0, 0x25, 0x27, - 0x70, 0x9b, 0x13, 0x98, 0xe6, 0x04, 0xee, 0x72, 0x02, 0x3f, 0x72, 0x62, 0xdd, 0xe7, 0x04, 0x1e, - 0x72, 0x62, 0xdd, 0x7c, 0x27, 0xd6, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x65, 0xb5, 0xca, - 0x75, 0x04, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof/combos/marshaler/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof/combos/marshaler/one.pb.go index 33359d57b..278df7440 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof/combos/marshaler/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof/combos/marshaler/one.pb.go @@ -3,24 +3,22 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -43,7 +41,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_2f6d76776b72edfd, []int{0} + return fileDescriptor_f8ef4705d619eecc, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Subby.Unmarshal(m, b) @@ -60,8 +58,8 @@ func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return m.Size() @@ -99,7 +97,7 @@ type AllTypesOneOf struct { func (m *AllTypesOneOf) Reset() { *m = AllTypesOneOf{} } func (*AllTypesOneOf) ProtoMessage() {} func (*AllTypesOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_2f6d76776b72edfd, []int{1} + return fileDescriptor_f8ef4705d619eecc, []int{1} } func (m *AllTypesOneOf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllTypesOneOf.Unmarshal(m, b) @@ -116,8 +114,8 @@ func (m *AllTypesOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *AllTypesOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTypesOneOf.Merge(dst, src) +func (m *AllTypesOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllTypesOneOf.Merge(m, src) } func (m *AllTypesOneOf) XXX_Size() int { return m.Size() @@ -611,7 +609,7 @@ type TwoOneofs struct { func (m *TwoOneofs) Reset() { *m = TwoOneofs{} } func (*TwoOneofs) ProtoMessage() {} func (*TwoOneofs) Descriptor() ([]byte, []int) { - return fileDescriptor_one_2f6d76776b72edfd, []int{2} + return fileDescriptor_f8ef4705d619eecc, []int{2} } func (m *TwoOneofs) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TwoOneofs.Unmarshal(m, b) @@ -628,8 +626,8 @@ func (m *TwoOneofs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *TwoOneofs) XXX_Merge(src proto.Message) { - xxx_messageInfo_TwoOneofs.Merge(dst, src) +func (m *TwoOneofs) XXX_Merge(src proto.Message) { + xxx_messageInfo_TwoOneofs.Merge(m, src) } func (m *TwoOneofs) XXX_Size() int { return m.Size() @@ -890,7 +888,7 @@ type CustomOneof struct { func (m *CustomOneof) Reset() { *m = CustomOneof{} } func (*CustomOneof) ProtoMessage() {} func (*CustomOneof) Descriptor() ([]byte, []int) { - return fileDescriptor_one_2f6d76776b72edfd, []int{3} + return fileDescriptor_f8ef4705d619eecc, []int{3} } func (m *CustomOneof) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomOneof.Unmarshal(m, b) @@ -907,8 +905,8 @@ func (m *CustomOneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *CustomOneof) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomOneof.Merge(dst, src) +func (m *CustomOneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomOneof.Merge(m, src) } func (m *CustomOneof) XXX_Size() int { return m.Size() @@ -1083,6 +1081,51 @@ func init() { proto.RegisterType((*TwoOneofs)(nil), "one.TwoOneofs") proto.RegisterType((*CustomOneof)(nil), "one.CustomOneof") } + +func init() { proto.RegisterFile("combos/marshaler/one.proto", fileDescriptor_f8ef4705d619eecc) } + +var fileDescriptor_f8ef4705d619eecc = []byte{ + // 601 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0xbf, 0x4f, 0xdb, 0x4e, + 0x14, 0x00, 0xf0, 0x7b, 0x84, 0x84, 0x70, 0x09, 0x5f, 0xf2, 0xf5, 0x74, 0x65, 0x38, 0x4e, 0x69, + 0x2b, 0xdd, 0x50, 0x12, 0xe2, 0x24, 0xfc, 0x18, 0x6b, 0xaa, 0x2a, 0x0b, 0x45, 0x32, 0x30, 0xa3, + 0x98, 0x1e, 0x21, 0x52, 0xe2, 0x43, 0x39, 0x5b, 0xc8, 0x1b, 0x7f, 0x43, 0xff, 0x8a, 0x8e, 0x1d, + 0xfb, 0x27, 0x30, 0x32, 0x56, 0x1d, 0x22, 0xec, 0x2e, 0x1d, 0x19, 0x51, 0xa7, 0xea, 0x6c, 0x72, + 0x57, 0xa9, 0xaa, 0xba, 0x74, 0x8a, 0xdf, 0xfb, 0xf8, 0x5e, 0xde, 0xf3, 0xdd, 0xe1, 0x8d, 0x73, + 0x39, 0x0d, 0xa4, 0x6a, 0x4f, 0x87, 0x33, 0x75, 0x39, 0x9c, 0x88, 0x59, 0x5b, 0x86, 0xa2, 0x75, + 0x35, 0x93, 0x91, 0x74, 0x4a, 0x32, 0x14, 0x1b, 0x5b, 0xa3, 0x71, 0x74, 0x19, 0x07, 0xad, 0x73, + 0x39, 0x6d, 0x8f, 0xe4, 0x48, 0xb6, 0x73, 0x0b, 0xe2, 0x8b, 0x3c, 0xca, 0x83, 0xfc, 0xa9, 0x58, + 0xd3, 0x7c, 0x86, 0xcb, 0xc7, 0x71, 0x10, 0x24, 0x4e, 0x03, 0x97, 0x54, 0x1c, 0x10, 0x60, 0xc0, + 0x57, 0x7d, 0xfd, 0xd8, 0x9c, 0x97, 0xf0, 0xda, 0xeb, 0xc9, 0xe4, 0x24, 0xb9, 0x12, 0xea, 0x28, + 0x14, 0x47, 0x17, 0x0e, 0xc1, 0x95, 0xb7, 0x63, 0x31, 0x79, 0xdf, 0xc9, 0x5f, 0x83, 0x01, 0xf2, + 0x9f, 0x62, 0x23, 0x2e, 0x59, 0x62, 0xc0, 0x97, 0x8c, 0xb8, 0x46, 0xba, 0xa4, 0xc4, 0x80, 0x97, + 0x8d, 0x74, 0x8d, 0xf4, 0xc8, 0x32, 0x03, 0x5e, 0x32, 0xd2, 0x33, 0xd2, 0x27, 0x65, 0x06, 0x7c, + 0xcd, 0x48, 0xdf, 0xc8, 0x0e, 0xa9, 0x30, 0xe0, 0xcb, 0x46, 0x76, 0x8c, 0xec, 0x92, 0x15, 0x06, + 0xfc, 0x7f, 0x23, 0xbb, 0x46, 0xf6, 0x48, 0x95, 0x01, 0x77, 0x8c, 0xec, 0x19, 0xd9, 0x27, 0xab, + 0x0c, 0xf8, 0x8a, 0x91, 0x7d, 0x67, 0x03, 0xaf, 0x14, 0x93, 0x6d, 0x13, 0xcc, 0x80, 0xaf, 0x0f, + 0x90, 0xbf, 0x48, 0x58, 0xeb, 0x90, 0x1a, 0x03, 0x5e, 0xb1, 0xd6, 0xb1, 0xe6, 0x92, 0x3a, 0x03, + 0xde, 0xb0, 0xe6, 0x5a, 0xeb, 0x92, 0x35, 0x06, 0xbc, 0x6a, 0xad, 0x6b, 0xad, 0x47, 0xfe, 0xd3, + 0x3b, 0x60, 0xad, 0x67, 0xad, 0x4f, 0xd6, 0x19, 0xf0, 0xba, 0xb5, 0xbe, 0xb3, 0x85, 0x6b, 0x2a, + 0x0e, 0xce, 0xa6, 0x42, 0xa9, 0xe1, 0x48, 0x90, 0x06, 0x03, 0x5e, 0x73, 0x71, 0x4b, 0x9f, 0x89, + 0x7c, 0x5b, 0x07, 0xc8, 0xc7, 0x2a, 0x0e, 0x0e, 0x0b, 0xf7, 0xea, 0x18, 0x47, 0x42, 0x45, 0x67, + 0x32, 0x14, 0xf2, 0xa2, 0x79, 0x07, 0x78, 0xf5, 0xe4, 0x5a, 0x1e, 0xe9, 0x40, 0xfd, 0xe3, 0xcd, + 0x5d, 0x34, 0xdd, 0xed, 0x91, 0x66, 0x3e, 0x10, 0xf8, 0x8b, 0x84, 0xb5, 0x3e, 0x79, 0x9e, 0x0f, + 0x64, 0xac, 0xef, 0xb4, 0x71, 0xfd, 0x97, 0x81, 0x5c, 0xf2, 0xe2, 0xb7, 0x89, 0xc0, 0xaf, 0xd9, + 0x89, 0x5c, 0xaf, 0x8c, 0xf5, 0xb1, 0xd7, 0x3f, 0xd1, 0xb5, 0x6c, 0x7e, 0x58, 0xc2, 0xb5, 0x83, + 0x58, 0x45, 0x72, 0x9a, 0x4f, 0xa5, 0xff, 0xea, 0x38, 0x9a, 0x8d, 0xc3, 0x51, 0xf2, 0xd4, 0x06, + 0xf2, 0x17, 0x09, 0xc7, 0xc7, 0xb8, 0x78, 0x55, 0x9f, 0xf0, 0xa2, 0x13, 0x6f, 0xfb, 0xeb, 0x7c, + 0xf3, 0xd5, 0x1f, 0x6f, 0x90, 0xfe, 0x76, 0xed, 0xf3, 0x7c, 0x4d, 0xeb, 0x74, 0x1c, 0x46, 0x1d, + 0x77, 0x4f, 0x7f, 0x60, 0x5b, 0xc5, 0x39, 0xc5, 0xd5, 0x83, 0xa1, 0x8a, 0xf2, 0x8a, 0xba, 0xf5, + 0x65, 0x6f, 0xf7, 0xc7, 0x7c, 0xb3, 0xfb, 0x97, 0x8a, 0x43, 0x15, 0x45, 0xc9, 0x95, 0x68, 0x1d, + 0x26, 0xba, 0xea, 0x4e, 0x4f, 0x2f, 0x1f, 0x20, 0xdf, 0x94, 0x72, 0xdc, 0x45, 0xab, 0xef, 0x86, + 0x53, 0x41, 0x5e, 0xea, 0xeb, 0xe2, 0x35, 0xb2, 0xf9, 0x66, 0xfd, 0x30, 0xb1, 0x79, 0xdb, 0x8a, + 0x8e, 0xbc, 0x2a, 0xae, 0x14, 0xad, 0x7a, 0x6f, 0x6e, 0x53, 0x8a, 0xee, 0x52, 0x8a, 0xbe, 0xa4, + 0x14, 0xdd, 0xa7, 0x14, 0x1e, 0x52, 0x0a, 0x8f, 0x29, 0x85, 0x9b, 0x8c, 0xc2, 0xc7, 0x8c, 0xc2, + 0xa7, 0x8c, 0xc2, 0xe7, 0x8c, 0xc2, 0x6d, 0x46, 0xe1, 0x2e, 0xa3, 0xe8, 0x3e, 0xa3, 0xf0, 0x3d, + 0xa3, 0xe8, 0x21, 0xa3, 0xf0, 0x98, 0x51, 0x74, 0xf3, 0x8d, 0xa2, 0x9f, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xcf, 0xa5, 0xfc, 0x33, 0x7a, 0x04, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -1098,274 +1141,276 @@ func (this *CustomOneof) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4264 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7b, 0x5d, 0x70, 0xdc, 0xd6, - 0x75, 0x3f, 0xb1, 0x1f, 0xe4, 0xee, 0xd9, 0xe5, 0x12, 0xbc, 0xa4, 0xa5, 0x15, 0x1d, 0x53, 0xd2, - 0xda, 0x8e, 0x69, 0x3b, 0x26, 0x6d, 0x8a, 0xd4, 0xc7, 0xea, 0x9f, 0xf8, 0xbf, 0x24, 0x57, 0x14, - 0x5d, 0x92, 0xcb, 0x60, 0xc9, 0xf8, 0x23, 0xd3, 0xc1, 0x80, 0xd8, 0xcb, 0x25, 0x24, 0x2c, 0x80, - 0x00, 0x58, 0xc9, 0xd4, 0xf4, 0x41, 0x1d, 0xf7, 0x63, 0x32, 0x9d, 0x7e, 0xa5, 0x9d, 0x69, 0xe2, - 0x3a, 0x6e, 0x93, 0x4e, 0xe3, 0x34, 0xfd, 0x4a, 0x9a, 0x36, 0x4d, 0xd2, 0x97, 0xbe, 0xa4, 0xf5, - 0x53, 0xc7, 0x79, 0xeb, 0x74, 0x3a, 0x1e, 0x8b, 0xf1, 0x4c, 0xd3, 0xd6, 0x6d, 0xdc, 0x56, 0x0f, - 0x9e, 0xf8, 0xa5, 0x73, 0xbf, 0x00, 0xec, 0x07, 0x85, 0x65, 0xa6, 0x76, 0x9e, 0x44, 0x9c, 0x73, - 0x7e, 0x3f, 0x9c, 0x7b, 0xee, 0xb9, 0xe7, 0x9e, 0x7b, 0xb1, 0x82, 0x1f, 0x5d, 0x82, 0x33, 0x4d, - 0xdb, 0x6e, 0x9a, 0x78, 0xce, 0x71, 0x6d, 0xdf, 0xde, 0x6d, 0xef, 0xcd, 0x35, 0xb0, 0xa7, 0xbb, - 0x86, 0xe3, 0xdb, 0xee, 0x2c, 0x95, 0xa1, 0x31, 0x66, 0x31, 0x2b, 0x2c, 0x4a, 0x1b, 0x30, 0x7e, - 0xc5, 0x30, 0xf1, 0x4a, 0x60, 0x58, 0xc7, 0x3e, 0xba, 0x08, 0xa9, 0x3d, 0xc3, 0xc4, 0x45, 0xe9, - 0x4c, 0x72, 0x26, 0x37, 0xff, 0xd0, 0x6c, 0x17, 0x68, 0xb6, 0x13, 0xb1, 0x45, 0xc4, 0x0a, 0x45, - 0x94, 0xde, 0x4e, 0xc1, 0x44, 0x1f, 0x2d, 0x42, 0x90, 0xb2, 0xb4, 0x16, 0x61, 0x94, 0x66, 0xb2, - 0x0a, 0xfd, 0x1b, 0x15, 0x61, 0xc4, 0xd1, 0xf4, 0xeb, 0x5a, 0x13, 0x17, 0x13, 0x54, 0x2c, 0x1e, - 0xd1, 0x34, 0x40, 0x03, 0x3b, 0xd8, 0x6a, 0x60, 0x4b, 0x3f, 0x28, 0x26, 0xcf, 0x24, 0x67, 0xb2, - 0x4a, 0x44, 0x82, 0x1e, 0x87, 0x71, 0xa7, 0xbd, 0x6b, 0x1a, 0xba, 0x1a, 0x31, 0x83, 0x33, 0xc9, - 0x99, 0xb4, 0x22, 0x33, 0xc5, 0x4a, 0x68, 0xfc, 0x08, 0x8c, 0xdd, 0xc4, 0xda, 0xf5, 0xa8, 0x69, - 0x8e, 0x9a, 0x16, 0x88, 0x38, 0x62, 0xb8, 0x0c, 0xf9, 0x16, 0xf6, 0x3c, 0xad, 0x89, 0x55, 0xff, - 0xc0, 0xc1, 0xc5, 0x14, 0x1d, 0xfd, 0x99, 0x9e, 0xd1, 0x77, 0x8f, 0x3c, 0xc7, 0x51, 0xdb, 0x07, - 0x0e, 0x46, 0x15, 0xc8, 0x62, 0xab, 0xdd, 0x62, 0x0c, 0xe9, 0x23, 0xe2, 0x57, 0xb5, 0xda, 0xad, - 0x6e, 0x96, 0x0c, 0x81, 0x71, 0x8a, 0x11, 0x0f, 0xbb, 0x37, 0x0c, 0x1d, 0x17, 0x87, 0x29, 0xc1, - 0x23, 0x3d, 0x04, 0x75, 0xa6, 0xef, 0xe6, 0x10, 0x38, 0xb4, 0x0c, 0x59, 0xfc, 0xa2, 0x8f, 0x2d, - 0xcf, 0xb0, 0xad, 0xe2, 0x08, 0x25, 0x79, 0xb8, 0xcf, 0x2c, 0x62, 0xb3, 0xd1, 0x4d, 0x11, 0xe2, - 0xd0, 0x79, 0x18, 0xb1, 0x1d, 0xdf, 0xb0, 0x2d, 0xaf, 0x98, 0x39, 0x23, 0xcd, 0xe4, 0xe6, 0x3f, - 0xd2, 0x37, 0x11, 0x6a, 0xcc, 0x46, 0x11, 0xc6, 0x68, 0x0d, 0x64, 0xcf, 0x6e, 0xbb, 0x3a, 0x56, - 0x75, 0xbb, 0x81, 0x55, 0xc3, 0xda, 0xb3, 0x8b, 0x59, 0x4a, 0x70, 0xba, 0x77, 0x20, 0xd4, 0x70, - 0xd9, 0x6e, 0xe0, 0x35, 0x6b, 0xcf, 0x56, 0x0a, 0x5e, 0xc7, 0x33, 0x3a, 0x01, 0xc3, 0xde, 0x81, - 0xe5, 0x6b, 0x2f, 0x16, 0xf3, 0x34, 0x43, 0xf8, 0x53, 0xe9, 0x3b, 0xc3, 0x30, 0x36, 0x48, 0x8a, - 0x5d, 0x86, 0xf4, 0x1e, 0x19, 0x65, 0x31, 0x71, 0x9c, 0x18, 0x30, 0x4c, 0x67, 0x10, 0x87, 0x7f, - 0xc2, 0x20, 0x56, 0x20, 0x67, 0x61, 0xcf, 0xc7, 0x0d, 0x96, 0x11, 0xc9, 0x01, 0x73, 0x0a, 0x18, - 0xa8, 0x37, 0xa5, 0x52, 0x3f, 0x51, 0x4a, 0x3d, 0x07, 0x63, 0x81, 0x4b, 0xaa, 0xab, 0x59, 0x4d, - 0x91, 0x9b, 0x73, 0x71, 0x9e, 0xcc, 0x56, 0x05, 0x4e, 0x21, 0x30, 0xa5, 0x80, 0x3b, 0x9e, 0xd1, - 0x0a, 0x80, 0x6d, 0x61, 0x7b, 0x4f, 0x6d, 0x60, 0xdd, 0x2c, 0x66, 0x8e, 0x88, 0x52, 0x8d, 0x98, - 0xf4, 0x44, 0xc9, 0x66, 0x52, 0xdd, 0x44, 0x97, 0xc2, 0x54, 0x1b, 0x39, 0x22, 0x53, 0x36, 0xd8, - 0x22, 0xeb, 0xc9, 0xb6, 0x1d, 0x28, 0xb8, 0x98, 0xe4, 0x3d, 0x6e, 0xf0, 0x91, 0x65, 0xa9, 0x13, - 0xb3, 0xb1, 0x23, 0x53, 0x38, 0x8c, 0x0d, 0x6c, 0xd4, 0x8d, 0x3e, 0xa2, 0x07, 0x21, 0x10, 0xa8, - 0x34, 0xad, 0x80, 0x56, 0xa1, 0xbc, 0x10, 0x6e, 0x6a, 0x2d, 0x3c, 0x75, 0x0b, 0x0a, 0x9d, 0xe1, - 0x41, 0x93, 0x90, 0xf6, 0x7c, 0xcd, 0xf5, 0x69, 0x16, 0xa6, 0x15, 0xf6, 0x80, 0x64, 0x48, 0x62, - 0xab, 0x41, 0xab, 0x5c, 0x5a, 0x21, 0x7f, 0xa2, 0xff, 0x1f, 0x0e, 0x38, 0x49, 0x07, 0xfc, 0xd1, - 0xde, 0x19, 0xed, 0x60, 0xee, 0x1e, 0xf7, 0xd4, 0x05, 0x18, 0xed, 0x18, 0xc0, 0xa0, 0xaf, 0x2e, - 0xfd, 0x1c, 0xdc, 0xd7, 0x97, 0x1a, 0x3d, 0x07, 0x93, 0x6d, 0xcb, 0xb0, 0x7c, 0xec, 0x3a, 0x2e, - 0x26, 0x19, 0xcb, 0x5e, 0x55, 0xfc, 0x97, 0x91, 0x23, 0x72, 0x6e, 0x27, 0x6a, 0xcd, 0x58, 0x94, - 0x89, 0x76, 0xaf, 0xf0, 0xb1, 0x6c, 0xe6, 0x87, 0x23, 0xf2, 0xed, 0xdb, 0xb7, 0x6f, 0x27, 0x4a, - 0x9f, 0x1f, 0x86, 0xc9, 0x7e, 0x6b, 0xa6, 0xef, 0xf2, 0x3d, 0x01, 0xc3, 0x56, 0xbb, 0xb5, 0x8b, - 0x5d, 0x1a, 0xa4, 0xb4, 0xc2, 0x9f, 0x50, 0x05, 0xd2, 0xa6, 0xb6, 0x8b, 0xcd, 0x62, 0xea, 0x8c, - 0x34, 0x53, 0x98, 0x7f, 0x7c, 0xa0, 0x55, 0x39, 0xbb, 0x4e, 0x20, 0x0a, 0x43, 0xa2, 0x4f, 0x40, - 0x8a, 0x97, 0x68, 0xc2, 0xf0, 0xd8, 0x60, 0x0c, 0x64, 0x2d, 0x29, 0x14, 0x87, 0xee, 0x87, 0x2c, - 0xf9, 0x97, 0xe5, 0xc6, 0x30, 0xf5, 0x39, 0x43, 0x04, 0x24, 0x2f, 0xd0, 0x14, 0x64, 0xe8, 0x32, - 0x69, 0x60, 0xb1, 0xb5, 0x05, 0xcf, 0x24, 0xb1, 0x1a, 0x78, 0x4f, 0x6b, 0x9b, 0xbe, 0x7a, 0x43, - 0x33, 0xdb, 0x98, 0x26, 0x7c, 0x56, 0xc9, 0x73, 0xe1, 0xa7, 0x88, 0x0c, 0x9d, 0x86, 0x1c, 0x5b, - 0x55, 0x86, 0xd5, 0xc0, 0x2f, 0xd2, 0xea, 0x99, 0x56, 0xd8, 0x42, 0x5b, 0x23, 0x12, 0xf2, 0xfa, - 0x6b, 0x9e, 0x6d, 0x89, 0xd4, 0xa4, 0xaf, 0x20, 0x02, 0xfa, 0xfa, 0x0b, 0xdd, 0x85, 0xfb, 0x81, - 0xfe, 0xc3, 0xeb, 0xce, 0xa9, 0xd2, 0xb7, 0x12, 0x90, 0xa2, 0xf5, 0x62, 0x0c, 0x72, 0xdb, 0xcf, - 0x6f, 0x55, 0xd5, 0x95, 0xda, 0xce, 0xd2, 0x7a, 0x55, 0x96, 0x50, 0x01, 0x80, 0x0a, 0xae, 0xac, - 0xd7, 0x2a, 0xdb, 0x72, 0x22, 0x78, 0x5e, 0xdb, 0xdc, 0x3e, 0xbf, 0x20, 0x27, 0x03, 0xc0, 0x0e, - 0x13, 0xa4, 0xa2, 0x06, 0xe7, 0xe6, 0xe5, 0x34, 0x92, 0x21, 0xcf, 0x08, 0xd6, 0x9e, 0xab, 0xae, - 0x9c, 0x5f, 0x90, 0x87, 0x3b, 0x25, 0xe7, 0xe6, 0xe5, 0x11, 0x34, 0x0a, 0x59, 0x2a, 0x59, 0xaa, - 0xd5, 0xd6, 0xe5, 0x4c, 0xc0, 0x59, 0xdf, 0x56, 0xd6, 0x36, 0x57, 0xe5, 0x6c, 0xc0, 0xb9, 0xaa, - 0xd4, 0x76, 0xb6, 0x64, 0x08, 0x18, 0x36, 0xaa, 0xf5, 0x7a, 0x65, 0xb5, 0x2a, 0xe7, 0x02, 0x8b, - 0xa5, 0xe7, 0xb7, 0xab, 0x75, 0x39, 0xdf, 0xe1, 0xd6, 0xb9, 0x79, 0x79, 0x34, 0x78, 0x45, 0x75, - 0x73, 0x67, 0x43, 0x2e, 0xa0, 0x71, 0x18, 0x65, 0xaf, 0x10, 0x4e, 0x8c, 0x75, 0x89, 0xce, 0x2f, - 0xc8, 0x72, 0xe8, 0x08, 0x63, 0x19, 0xef, 0x10, 0x9c, 0x5f, 0x90, 0x51, 0x69, 0x19, 0xd2, 0x34, - 0xbb, 0x10, 0x82, 0xc2, 0x7a, 0x65, 0xa9, 0xba, 0xae, 0xd6, 0xb6, 0xb6, 0xd7, 0x6a, 0x9b, 0x95, - 0x75, 0x59, 0x0a, 0x65, 0x4a, 0xf5, 0x93, 0x3b, 0x6b, 0x4a, 0x75, 0x45, 0x4e, 0x44, 0x65, 0x5b, - 0xd5, 0xca, 0x76, 0x75, 0x45, 0x4e, 0x96, 0x74, 0x98, 0xec, 0x57, 0x27, 0xfb, 0xae, 0x8c, 0xc8, - 0x14, 0x27, 0x8e, 0x98, 0x62, 0xca, 0xd5, 0x33, 0xc5, 0x3f, 0x48, 0xc0, 0x44, 0x9f, 0xbd, 0xa2, - 0xef, 0x4b, 0x9e, 0x86, 0x34, 0x4b, 0x51, 0xb6, 0x7b, 0x3e, 0xda, 0x77, 0xd3, 0xa1, 0x09, 0xdb, - 0xb3, 0x83, 0x52, 0x5c, 0xb4, 0x83, 0x48, 0x1e, 0xd1, 0x41, 0x10, 0x8a, 0x9e, 0x9a, 0xfe, 0xb3, - 0x3d, 0x35, 0x9d, 0x6d, 0x7b, 0xe7, 0x07, 0xd9, 0xf6, 0xa8, 0xec, 0x78, 0xb5, 0x3d, 0xdd, 0xa7, - 0xb6, 0x5f, 0x86, 0xf1, 0x1e, 0xa2, 0x81, 0x6b, 0xec, 0x4b, 0x12, 0x14, 0x8f, 0x0a, 0x4e, 0x4c, - 0xa5, 0x4b, 0x74, 0x54, 0xba, 0xcb, 0xdd, 0x11, 0x3c, 0x7b, 0xf4, 0x24, 0xf4, 0xcc, 0xf5, 0x6b, - 0x12, 0x9c, 0xe8, 0xdf, 0x29, 0xf6, 0xf5, 0xe1, 0x13, 0x30, 0xdc, 0xc2, 0xfe, 0xbe, 0x2d, 0xba, - 0xa5, 0x8f, 0xf6, 0xd9, 0x83, 0x89, 0xba, 0x7b, 0xb2, 0x39, 0x2a, 0xba, 0x89, 0x27, 0x8f, 0x6a, - 0xf7, 0x98, 0x37, 0x3d, 0x9e, 0x7e, 0x36, 0x01, 0xf7, 0xf5, 0x25, 0xef, 0xeb, 0xe8, 0x03, 0x00, - 0x86, 0xe5, 0xb4, 0x7d, 0xd6, 0x11, 0xb1, 0x02, 0x9b, 0xa5, 0x12, 0x5a, 0xbc, 0x48, 0xf1, 0x6c, - 0xfb, 0x81, 0x3e, 0x49, 0xf5, 0xc0, 0x44, 0xd4, 0xe0, 0x62, 0xe8, 0x68, 0x8a, 0x3a, 0x3a, 0x7d, - 0xc4, 0x48, 0x7b, 0x12, 0xf3, 0x49, 0x90, 0x75, 0xd3, 0xc0, 0x96, 0xaf, 0x7a, 0xbe, 0x8b, 0xb5, - 0x96, 0x61, 0x35, 0xe9, 0x0e, 0x92, 0x29, 0xa7, 0xf7, 0x34, 0xd3, 0xc3, 0xca, 0x18, 0x53, 0xd7, - 0x85, 0x96, 0x20, 0x68, 0x02, 0xb9, 0x11, 0xc4, 0x70, 0x07, 0x82, 0xa9, 0x03, 0x44, 0xe9, 0x9b, - 0x19, 0xc8, 0x45, 0xfa, 0x6a, 0x74, 0x16, 0xf2, 0xd7, 0xb4, 0x1b, 0x9a, 0x2a, 0xce, 0x4a, 0x2c, - 0x12, 0x39, 0x22, 0xdb, 0xe2, 0xe7, 0xa5, 0x27, 0x61, 0x92, 0x9a, 0xd8, 0x6d, 0x1f, 0xbb, 0xaa, - 0x6e, 0x6a, 0x9e, 0x47, 0x83, 0x96, 0xa1, 0xa6, 0x88, 0xe8, 0x6a, 0x44, 0xb5, 0x2c, 0x34, 0x68, - 0x11, 0x26, 0x28, 0xa2, 0xd5, 0x36, 0x7d, 0xc3, 0x31, 0xb1, 0x4a, 0x4e, 0x6f, 0x1e, 0xdd, 0x49, - 0x02, 0xcf, 0xc6, 0x89, 0xc5, 0x06, 0x37, 0x20, 0x1e, 0x79, 0x68, 0x05, 0x1e, 0xa0, 0xb0, 0x26, - 0xb6, 0xb0, 0xab, 0xf9, 0x58, 0xc5, 0x9f, 0x69, 0x6b, 0xa6, 0xa7, 0x6a, 0x56, 0x43, 0xdd, 0xd7, - 0xbc, 0xfd, 0xe2, 0x24, 0x21, 0x58, 0x4a, 0x14, 0x25, 0xe5, 0x14, 0x31, 0x5c, 0xe5, 0x76, 0x55, - 0x6a, 0x56, 0xb1, 0x1a, 0x57, 0x35, 0x6f, 0x1f, 0x95, 0xe1, 0x04, 0x65, 0xf1, 0x7c, 0xd7, 0xb0, - 0x9a, 0xaa, 0xbe, 0x8f, 0xf5, 0xeb, 0x6a, 0xdb, 0xdf, 0xbb, 0x58, 0xbc, 0x3f, 0xfa, 0x7e, 0xea, - 0x61, 0x9d, 0xda, 0x2c, 0x13, 0x93, 0x1d, 0x7f, 0xef, 0x22, 0xaa, 0x43, 0x9e, 0x4c, 0x46, 0xcb, - 0xb8, 0x85, 0xd5, 0x3d, 0xdb, 0xa5, 0x5b, 0x63, 0xa1, 0x4f, 0x69, 0x8a, 0x44, 0x70, 0xb6, 0xc6, - 0x01, 0x1b, 0x76, 0x03, 0x97, 0xd3, 0xf5, 0xad, 0x6a, 0x75, 0x45, 0xc9, 0x09, 0x96, 0x2b, 0xb6, - 0x4b, 0x12, 0xaa, 0x69, 0x07, 0x01, 0xce, 0xb1, 0x84, 0x6a, 0xda, 0x22, 0xbc, 0x8b, 0x30, 0xa1, - 0xeb, 0x6c, 0xcc, 0x86, 0xae, 0xf2, 0x33, 0x96, 0x57, 0x94, 0x3b, 0x82, 0xa5, 0xeb, 0xab, 0xcc, - 0x80, 0xe7, 0xb8, 0x87, 0x2e, 0xc1, 0x7d, 0x61, 0xb0, 0xa2, 0xc0, 0xf1, 0x9e, 0x51, 0x76, 0x43, - 0x17, 0x61, 0xc2, 0x39, 0xe8, 0x05, 0xa2, 0x8e, 0x37, 0x3a, 0x07, 0xdd, 0xb0, 0x0b, 0x30, 0xe9, - 0xec, 0x3b, 0xbd, 0xb8, 0xc7, 0xa2, 0x38, 0xe4, 0xec, 0x3b, 0xdd, 0xc0, 0x87, 0xe9, 0x81, 0xdb, - 0xc5, 0xba, 0xe6, 0xe3, 0x46, 0xf1, 0x64, 0xd4, 0x3c, 0xa2, 0x40, 0x73, 0x20, 0xeb, 0xba, 0x8a, - 0x2d, 0x6d, 0xd7, 0xc4, 0xaa, 0xe6, 0x62, 0x4b, 0xf3, 0x8a, 0xa7, 0xa3, 0xc6, 0x05, 0x5d, 0xaf, - 0x52, 0x6d, 0x85, 0x2a, 0xd1, 0x63, 0x30, 0x6e, 0xef, 0x5e, 0xd3, 0x59, 0x4a, 0xaa, 0x8e, 0x8b, - 0xf7, 0x8c, 0x17, 0x8b, 0x0f, 0xd1, 0xf8, 0x8e, 0x11, 0x05, 0x4d, 0xc8, 0x2d, 0x2a, 0x46, 0x8f, - 0x82, 0xac, 0x7b, 0xfb, 0x9a, 0xeb, 0xd0, 0x9a, 0xec, 0x39, 0x9a, 0x8e, 0x8b, 0x0f, 0x33, 0x53, - 0x26, 0xdf, 0x14, 0x62, 0xb2, 0x24, 0xbc, 0x9b, 0xc6, 0x9e, 0x2f, 0x18, 0x1f, 0x61, 0x4b, 0x82, - 0xca, 0x38, 0xdb, 0x0c, 0xc8, 0x24, 0x14, 0x1d, 0x2f, 0x9e, 0xa1, 0x66, 0x05, 0x67, 0xdf, 0x89, - 0xbe, 0xf7, 0x41, 0x18, 0x25, 0x96, 0xe1, 0x4b, 0x1f, 0x65, 0x0d, 0x99, 0xb3, 0x1f, 0x79, 0xe3, - 0x07, 0xd6, 0x1b, 0x97, 0xca, 0x90, 0x8f, 0xe6, 0x27, 0xca, 0x02, 0xcb, 0x50, 0x59, 0x22, 0xcd, - 0xca, 0x72, 0x6d, 0x85, 0xb4, 0x19, 0x2f, 0x54, 0xe5, 0x04, 0x69, 0x77, 0xd6, 0xd7, 0xb6, 0xab, - 0xaa, 0xb2, 0xb3, 0xb9, 0xbd, 0xb6, 0x51, 0x95, 0x93, 0xd1, 0xbe, 0xfa, 0x7b, 0x09, 0x28, 0x74, - 0x1e, 0x91, 0xd0, 0xff, 0x83, 0x93, 0xe2, 0x3e, 0xc3, 0xc3, 0xbe, 0x7a, 0xd3, 0x70, 0xe9, 0x92, - 0x69, 0x69, 0x6c, 0xfb, 0x0a, 0x26, 0x6d, 0x92, 0x5b, 0xd5, 0xb1, 0xff, 0xac, 0xe1, 0x92, 0x05, - 0xd1, 0xd2, 0x7c, 0xb4, 0x0e, 0xa7, 0x2d, 0x5b, 0xf5, 0x7c, 0xcd, 0x6a, 0x68, 0x6e, 0x43, 0x0d, - 0x6f, 0x92, 0x54, 0x4d, 0xd7, 0xb1, 0xe7, 0xd9, 0x6c, 0xab, 0x0a, 0x58, 0x3e, 0x62, 0xd9, 0x75, - 0x6e, 0x1c, 0xd6, 0xf0, 0x0a, 0x37, 0xed, 0x4a, 0xb0, 0xe4, 0x51, 0x09, 0x76, 0x3f, 0x64, 0x5b, - 0x9a, 0xa3, 0x62, 0xcb, 0x77, 0x0f, 0x68, 0x63, 0x9c, 0x51, 0x32, 0x2d, 0xcd, 0xa9, 0x92, 0xe7, - 0x0f, 0xe7, 0x7c, 0xf2, 0xcf, 0x49, 0xc8, 0x47, 0x9b, 0x63, 0x72, 0xd6, 0xd0, 0xe9, 0x3e, 0x22, - 0xd1, 0x4a, 0xf3, 0xe0, 0x3d, 0x5b, 0xe9, 0xd9, 0x65, 0xb2, 0xc1, 0x94, 0x87, 0x59, 0xcb, 0xaa, - 0x30, 0x24, 0xd9, 0xdc, 0x49, 0x6d, 0xc1, 0xac, 0x45, 0xc8, 0x28, 0xfc, 0x09, 0xad, 0xc2, 0xf0, - 0x35, 0x8f, 0x72, 0x0f, 0x53, 0xee, 0x87, 0xee, 0xcd, 0xfd, 0x4c, 0x9d, 0x92, 0x67, 0x9f, 0xa9, - 0xab, 0x9b, 0x35, 0x65, 0xa3, 0xb2, 0xae, 0x70, 0x38, 0x3a, 0x05, 0x29, 0x53, 0xbb, 0x75, 0xd0, - 0xb9, 0x15, 0x51, 0xd1, 0xa0, 0x81, 0x3f, 0x05, 0xa9, 0x9b, 0x58, 0xbb, 0xde, 0xb9, 0x01, 0x50, - 0xd1, 0x07, 0x98, 0xfa, 0x73, 0x90, 0xa6, 0xf1, 0x42, 0x00, 0x3c, 0x62, 0xf2, 0x10, 0xca, 0x40, - 0x6a, 0xb9, 0xa6, 0x90, 0xf4, 0x97, 0x21, 0xcf, 0xa4, 0xea, 0xd6, 0x5a, 0x75, 0xb9, 0x2a, 0x27, - 0x4a, 0x8b, 0x30, 0xcc, 0x82, 0x40, 0x96, 0x46, 0x10, 0x06, 0x79, 0x88, 0x3f, 0x72, 0x0e, 0x49, - 0x68, 0x77, 0x36, 0x96, 0xaa, 0x8a, 0x9c, 0x88, 0x4e, 0xaf, 0x07, 0xf9, 0x68, 0x5f, 0xfc, 0xe1, - 0xe4, 0xd4, 0x77, 0x25, 0xc8, 0x45, 0xfa, 0x5c, 0xd2, 0xa0, 0x68, 0xa6, 0x69, 0xdf, 0x54, 0x35, - 0xd3, 0xd0, 0x3c, 0x9e, 0x14, 0x40, 0x45, 0x15, 0x22, 0x19, 0x74, 0xd2, 0x3e, 0x14, 0xe7, 0x5f, - 0x95, 0x40, 0xee, 0x6e, 0x31, 0xbb, 0x1c, 0x94, 0x7e, 0xaa, 0x0e, 0xbe, 0x22, 0x41, 0xa1, 0xb3, - 0xaf, 0xec, 0x72, 0xef, 0xec, 0x4f, 0xd5, 0xbd, 0xb7, 0x12, 0x30, 0xda, 0xd1, 0x4d, 0x0e, 0xea, - 0xdd, 0x67, 0x60, 0xdc, 0x68, 0xe0, 0x96, 0x63, 0xfb, 0xd8, 0xd2, 0x0f, 0x54, 0x13, 0xdf, 0xc0, - 0x66, 0xb1, 0x44, 0x0b, 0xc5, 0xdc, 0xbd, 0xfb, 0xd5, 0xd9, 0xb5, 0x10, 0xb7, 0x4e, 0x60, 0xe5, - 0x89, 0xb5, 0x95, 0xea, 0xc6, 0x56, 0x6d, 0xbb, 0xba, 0xb9, 0xfc, 0xbc, 0xba, 0xb3, 0xf9, 0x33, - 0x9b, 0xb5, 0x67, 0x37, 0x15, 0xd9, 0xe8, 0x32, 0xfb, 0x00, 0x97, 0xfa, 0x16, 0xc8, 0xdd, 0x4e, - 0xa1, 0x93, 0xd0, 0xcf, 0x2d, 0x79, 0x08, 0x4d, 0xc0, 0xd8, 0x66, 0x4d, 0xad, 0xaf, 0xad, 0x54, - 0xd5, 0xea, 0x95, 0x2b, 0xd5, 0xe5, 0xed, 0x3a, 0xbb, 0x81, 0x08, 0xac, 0xb7, 0x3b, 0x17, 0xf5, - 0xcb, 0x49, 0x98, 0xe8, 0xe3, 0x09, 0xaa, 0xf0, 0xb3, 0x03, 0x3b, 0xce, 0x3c, 0x31, 0x88, 0xf7, - 0xb3, 0x64, 0xcb, 0xdf, 0xd2, 0x5c, 0x9f, 0x1f, 0x35, 0x1e, 0x05, 0x12, 0x25, 0xcb, 0x37, 0xf6, - 0x0c, 0xec, 0xf2, 0x0b, 0x1b, 0x76, 0xa0, 0x18, 0x0b, 0xe5, 0xec, 0xce, 0xe6, 0x63, 0x80, 0x1c, - 0xdb, 0x33, 0x7c, 0xe3, 0x06, 0x56, 0x0d, 0x4b, 0xdc, 0xee, 0x90, 0x03, 0x46, 0x4a, 0x91, 0x85, - 0x66, 0xcd, 0xf2, 0x03, 0x6b, 0x0b, 0x37, 0xb5, 0x2e, 0x6b, 0x52, 0xc0, 0x93, 0x8a, 0x2c, 0x34, - 0x81, 0xf5, 0x59, 0xc8, 0x37, 0xec, 0x36, 0xe9, 0xba, 0x98, 0x1d, 0xd9, 0x2f, 0x24, 0x25, 0xc7, - 0x64, 0x81, 0x09, 0xef, 0xa7, 0xc3, 0x6b, 0xa5, 0xbc, 0x92, 0x63, 0x32, 0x66, 0xf2, 0x08, 0x8c, - 0x69, 0xcd, 0xa6, 0x4b, 0xc8, 0x05, 0x11, 0x3b, 0x21, 0x14, 0x02, 0x31, 0x35, 0x9c, 0x7a, 0x06, - 0x32, 0x22, 0x0e, 0x64, 0x4b, 0x26, 0x91, 0x50, 0x1d, 0x76, 0xec, 0x4d, 0xcc, 0x64, 0x95, 0x8c, - 0x25, 0x94, 0x67, 0x21, 0x6f, 0x78, 0x6a, 0x78, 0x4b, 0x9e, 0x38, 0x93, 0x98, 0xc9, 0x28, 0x39, - 0xc3, 0x0b, 0x6e, 0x18, 0x4b, 0xaf, 0x25, 0xa0, 0xd0, 0x79, 0xcb, 0x8f, 0x56, 0x20, 0x63, 0xda, - 0xba, 0x46, 0x53, 0x8b, 0x7d, 0x62, 0x9a, 0x89, 0xf9, 0x30, 0x30, 0xbb, 0xce, 0xed, 0x95, 0x00, - 0x39, 0xf5, 0x0f, 0x12, 0x64, 0x84, 0x18, 0x9d, 0x80, 0x94, 0xa3, 0xf9, 0xfb, 0x94, 0x2e, 0xbd, - 0x94, 0x90, 0x25, 0x85, 0x3e, 0x13, 0xb9, 0xe7, 0x68, 0x16, 0x4d, 0x01, 0x2e, 0x27, 0xcf, 0x64, - 0x5e, 0x4d, 0xac, 0x35, 0xe8, 0xf1, 0xc3, 0x6e, 0xb5, 0xb0, 0xe5, 0x7b, 0x62, 0x5e, 0xb9, 0x7c, - 0x99, 0x8b, 0xd1, 0xe3, 0x30, 0xee, 0xbb, 0x9a, 0x61, 0x76, 0xd8, 0xa6, 0xa8, 0xad, 0x2c, 0x14, - 0x81, 0x71, 0x19, 0x4e, 0x09, 0xde, 0x06, 0xf6, 0x35, 0x7d, 0x1f, 0x37, 0x42, 0xd0, 0x30, 0xbd, - 0x66, 0x38, 0xc9, 0x0d, 0x56, 0xb8, 0x5e, 0x60, 0x4b, 0xdf, 0x97, 0x60, 0x5c, 0x1c, 0x98, 0x1a, - 0x41, 0xb0, 0x36, 0x00, 0x34, 0xcb, 0xb2, 0xfd, 0x68, 0xb8, 0x7a, 0x53, 0xb9, 0x07, 0x37, 0x5b, - 0x09, 0x40, 0x4a, 0x84, 0x60, 0xaa, 0x05, 0x10, 0x6a, 0x8e, 0x0c, 0xdb, 0x69, 0xc8, 0xf1, 0x4f, - 0x38, 0xf4, 0x3b, 0x20, 0x3b, 0x62, 0x03, 0x13, 0x91, 0x93, 0x15, 0x9a, 0x84, 0xf4, 0x2e, 0x6e, - 0x1a, 0x16, 0xbf, 0x98, 0x65, 0x0f, 0xe2, 0x22, 0x24, 0x15, 0x5c, 0x84, 0x2c, 0x7d, 0x1a, 0x26, - 0x74, 0xbb, 0xd5, 0xed, 0xee, 0x92, 0xdc, 0x75, 0xcc, 0xf7, 0xae, 0x4a, 0x2f, 0x40, 0xd8, 0x62, - 0xbe, 0x27, 0x49, 0x5f, 0x4e, 0x24, 0x57, 0xb7, 0x96, 0xbe, 0x96, 0x98, 0x5a, 0x65, 0xd0, 0x2d, - 0x31, 0x52, 0x05, 0xef, 0x99, 0x58, 0x27, 0xde, 0xc3, 0x57, 0x1e, 0x87, 0x27, 0x9a, 0x86, 0xbf, - 0xdf, 0xde, 0x9d, 0xd5, 0xed, 0xd6, 0x5c, 0xd3, 0x6e, 0xda, 0xe1, 0xa7, 0x4f, 0xf2, 0x44, 0x1f, - 0xe8, 0x5f, 0xfc, 0xf3, 0x67, 0x36, 0x90, 0x4e, 0xc5, 0x7e, 0x2b, 0x2d, 0x6f, 0xc2, 0x04, 0x37, - 0x56, 0xe9, 0xf7, 0x17, 0x76, 0x8a, 0x40, 0xf7, 0xbc, 0xc3, 0x2a, 0x7e, 0xe3, 0x6d, 0xba, 0x5d, - 0x2b, 0xe3, 0x1c, 0x4a, 0x74, 0xec, 0xa0, 0x51, 0x56, 0xe0, 0xbe, 0x0e, 0x3e, 0xb6, 0x34, 0xb1, - 0x1b, 0xc3, 0xf8, 0x3d, 0xce, 0x38, 0x11, 0x61, 0xac, 0x73, 0x68, 0x79, 0x19, 0x46, 0x8f, 0xc3, - 0xf5, 0x77, 0x9c, 0x2b, 0x8f, 0xa3, 0x24, 0xab, 0x30, 0x46, 0x49, 0xf4, 0xb6, 0xe7, 0xdb, 0x2d, - 0x5a, 0xf7, 0xee, 0x4d, 0xf3, 0xf7, 0x6f, 0xb3, 0xb5, 0x52, 0x20, 0xb0, 0xe5, 0x00, 0x55, 0x2e, - 0x03, 0xfd, 0xe4, 0xd4, 0xc0, 0xba, 0x19, 0xc3, 0xf0, 0x3a, 0x77, 0x24, 0xb0, 0x2f, 0x7f, 0x0a, - 0x26, 0xc9, 0xdf, 0xb4, 0x2c, 0x45, 0x3d, 0x89, 0xbf, 0xf0, 0x2a, 0x7e, 0xff, 0x25, 0xb6, 0x1c, - 0x27, 0x02, 0x82, 0x88, 0x4f, 0x91, 0x59, 0x6c, 0x62, 0xdf, 0xc7, 0xae, 0xa7, 0x6a, 0x66, 0x3f, - 0xf7, 0x22, 0x37, 0x06, 0xc5, 0x2f, 0xbc, 0xd3, 0x39, 0x8b, 0xab, 0x0c, 0x59, 0x31, 0xcd, 0xf2, - 0x0e, 0x9c, 0xec, 0x93, 0x15, 0x03, 0x70, 0xbe, 0xcc, 0x39, 0x27, 0x7b, 0x32, 0x83, 0xd0, 0x6e, - 0x81, 0x90, 0x07, 0x73, 0x39, 0x00, 0xe7, 0xef, 0x72, 0x4e, 0xc4, 0xb1, 0x62, 0x4a, 0x09, 0xe3, - 0x33, 0x30, 0x7e, 0x03, 0xbb, 0xbb, 0xb6, 0xc7, 0x6f, 0x69, 0x06, 0xa0, 0x7b, 0x85, 0xd3, 0x8d, - 0x71, 0x20, 0xbd, 0xb6, 0x21, 0x5c, 0x97, 0x20, 0xb3, 0xa7, 0xe9, 0x78, 0x00, 0x8a, 0x2f, 0x72, - 0x8a, 0x11, 0x62, 0x4f, 0xa0, 0x15, 0xc8, 0x37, 0x6d, 0xbe, 0x33, 0xc5, 0xc3, 0x5f, 0xe5, 0xf0, - 0x9c, 0xc0, 0x70, 0x0a, 0xc7, 0x76, 0xda, 0x26, 0xd9, 0xb6, 0xe2, 0x29, 0x7e, 0x4f, 0x50, 0x08, - 0x0c, 0xa7, 0x38, 0x46, 0x58, 0x7f, 0x5f, 0x50, 0x78, 0x91, 0x78, 0x3e, 0x0d, 0x39, 0xdb, 0x32, - 0x0f, 0x6c, 0x6b, 0x10, 0x27, 0xbe, 0xc4, 0x19, 0x80, 0x43, 0x08, 0xc1, 0x65, 0xc8, 0x0e, 0x3a, - 0x11, 0x7f, 0xf8, 0x8e, 0x58, 0x1e, 0x62, 0x06, 0x56, 0x61, 0x4c, 0x14, 0x28, 0xc3, 0xb6, 0x06, - 0xa0, 0xf8, 0x0a, 0xa7, 0x28, 0x44, 0x60, 0x7c, 0x18, 0x3e, 0xf6, 0xfc, 0x26, 0x1e, 0x84, 0xe4, - 0x35, 0x31, 0x0c, 0x0e, 0xe1, 0xa1, 0xdc, 0xc5, 0x96, 0xbe, 0x3f, 0x18, 0xc3, 0x57, 0x45, 0x28, - 0x05, 0x86, 0x50, 0x2c, 0xc3, 0x68, 0x4b, 0x73, 0xbd, 0x7d, 0xcd, 0x1c, 0x68, 0x3a, 0xfe, 0x88, - 0x73, 0xe4, 0x03, 0x10, 0x8f, 0x48, 0xdb, 0x3a, 0x0e, 0xcd, 0xd7, 0x44, 0x44, 0x22, 0x30, 0xbe, - 0xf4, 0x3c, 0x9f, 0x5e, 0x69, 0x1d, 0x87, 0xed, 0x8f, 0xc5, 0xd2, 0x63, 0xd8, 0x8d, 0x28, 0xe3, - 0x65, 0xc8, 0x7a, 0xc6, 0xad, 0x81, 0x68, 0xfe, 0x44, 0xcc, 0x34, 0x05, 0x10, 0xf0, 0xf3, 0x70, - 0xaa, 0xef, 0x36, 0x31, 0x00, 0xd9, 0x9f, 0x72, 0xb2, 0x13, 0x7d, 0xb6, 0x0a, 0x5e, 0x12, 0x8e, - 0x4b, 0xf9, 0x67, 0xa2, 0x24, 0xe0, 0x2e, 0xae, 0x2d, 0x72, 0x56, 0xf0, 0xb4, 0xbd, 0xe3, 0x45, - 0xed, 0xcf, 0x45, 0xd4, 0x18, 0xb6, 0x23, 0x6a, 0xdb, 0x70, 0x82, 0x33, 0x1e, 0x6f, 0x5e, 0xbf, - 0x2e, 0x0a, 0x2b, 0x43, 0xef, 0x74, 0xce, 0xee, 0xa7, 0x61, 0x2a, 0x08, 0xa7, 0x68, 0x4a, 0x3d, - 0xb5, 0xa5, 0x39, 0x03, 0x30, 0x7f, 0x83, 0x33, 0x8b, 0x8a, 0x1f, 0x74, 0xb5, 0xde, 0x86, 0xe6, - 0x10, 0xf2, 0xe7, 0xa0, 0x28, 0xc8, 0xdb, 0x96, 0x8b, 0x75, 0xbb, 0x69, 0x19, 0xb7, 0x70, 0x63, - 0x00, 0xea, 0xbf, 0xe8, 0x9a, 0xaa, 0x9d, 0x08, 0x9c, 0x30, 0xaf, 0x81, 0x1c, 0xf4, 0x2a, 0xaa, - 0xd1, 0x72, 0x6c, 0xd7, 0x8f, 0x61, 0xfc, 0xa6, 0x98, 0xa9, 0x00, 0xb7, 0x46, 0x61, 0xe5, 0x2a, - 0x14, 0xe8, 0xe3, 0xa0, 0x29, 0xf9, 0x97, 0x9c, 0x68, 0x34, 0x44, 0xf1, 0xc2, 0xa1, 0xdb, 0x2d, - 0x47, 0x73, 0x07, 0xa9, 0x7f, 0x7f, 0x25, 0x0a, 0x07, 0x87, 0xf0, 0xc2, 0xe1, 0x1f, 0x38, 0x98, - 0xec, 0xf6, 0x03, 0x30, 0x7c, 0x4b, 0x14, 0x0e, 0x81, 0xe1, 0x14, 0xa2, 0x61, 0x18, 0x80, 0xe2, - 0xaf, 0x05, 0x85, 0xc0, 0x10, 0x8a, 0x4f, 0x86, 0x1b, 0xad, 0x8b, 0x9b, 0x86, 0xe7, 0xbb, 0xac, - 0x15, 0xbe, 0x37, 0xd5, 0xb7, 0xdf, 0xe9, 0x6c, 0xc2, 0x94, 0x08, 0x94, 0x54, 0x22, 0x7e, 0x85, - 0x4a, 0x4f, 0x4a, 0xf1, 0x8e, 0x7d, 0x47, 0x54, 0xa2, 0x08, 0x8c, 0xf8, 0x16, 0xe9, 0x10, 0x49, - 0xd8, 0x75, 0x72, 0x3e, 0x18, 0x80, 0xee, 0xbb, 0x5d, 0xce, 0xd5, 0x05, 0x96, 0x70, 0x46, 0xfa, - 0x9f, 0xb6, 0x75, 0x1d, 0x1f, 0x0c, 0x94, 0x9d, 0x7f, 0xd3, 0xd5, 0xff, 0xec, 0x30, 0x24, 0xab, - 0x21, 0x63, 0x5d, 0xfd, 0x14, 0x8a, 0xfb, 0xb1, 0x4e, 0xf1, 0xe7, 0xef, 0xf2, 0xf1, 0x76, 0xb6, - 0x53, 0xe5, 0x75, 0x92, 0xe4, 0x9d, 0x4d, 0x4f, 0x3c, 0xd9, 0x4b, 0x77, 0x83, 0x3c, 0xef, 0xe8, - 0x79, 0xca, 0x57, 0x60, 0xb4, 0xa3, 0xe1, 0x89, 0xa7, 0xfa, 0x05, 0x4e, 0x95, 0x8f, 0xf6, 0x3b, - 0xe5, 0x45, 0x48, 0x91, 0xe6, 0x25, 0x1e, 0xfe, 0x8b, 0x1c, 0x4e, 0xcd, 0xcb, 0x1f, 0x87, 0x8c, - 0x68, 0x5a, 0xe2, 0xa1, 0xbf, 0xc4, 0xa1, 0x01, 0x84, 0xc0, 0x45, 0xc3, 0x12, 0x0f, 0xff, 0x65, - 0x01, 0x17, 0x10, 0x02, 0x1f, 0x3c, 0x84, 0x7f, 0xfb, 0x2b, 0x29, 0xbe, 0xe9, 0x88, 0xd8, 0x5d, - 0x86, 0x11, 0xde, 0xa9, 0xc4, 0xa3, 0x3f, 0xcb, 0x5f, 0x2e, 0x10, 0xe5, 0x0b, 0x90, 0x1e, 0x30, - 0xe0, 0xbf, 0xca, 0xa1, 0xcc, 0xbe, 0xbc, 0x0c, 0xb9, 0x48, 0x77, 0x12, 0x0f, 0xff, 0x35, 0x0e, - 0x8f, 0xa2, 0x88, 0xeb, 0xbc, 0x3b, 0x89, 0x27, 0xf8, 0x75, 0xe1, 0x3a, 0x47, 0x90, 0xb0, 0x89, - 0xc6, 0x24, 0x1e, 0xfd, 0x1b, 0x22, 0xea, 0x02, 0x52, 0x7e, 0x1a, 0xb2, 0xc1, 0x66, 0x13, 0x8f, - 0xff, 0x4d, 0x8e, 0x0f, 0x31, 0x24, 0x02, 0x91, 0xcd, 0x2e, 0x9e, 0xe2, 0x73, 0x22, 0x02, 0x11, - 0x14, 0x59, 0x46, 0xdd, 0x0d, 0x4c, 0x3c, 0xd3, 0x6f, 0x89, 0x65, 0xd4, 0xd5, 0xbf, 0x90, 0xd9, - 0xa4, 0x35, 0x3f, 0x9e, 0xe2, 0xb7, 0xc5, 0x6c, 0x52, 0x7b, 0xe2, 0x46, 0x77, 0x47, 0x10, 0xcf, - 0xf1, 0x3b, 0xc2, 0x8d, 0xae, 0x86, 0xa0, 0xbc, 0x05, 0xa8, 0xb7, 0x1b, 0x88, 0xe7, 0xfb, 0x3c, - 0xe7, 0x1b, 0xef, 0x69, 0x06, 0xca, 0xcf, 0xc2, 0x89, 0xfe, 0x9d, 0x40, 0x3c, 0xeb, 0x17, 0xee, - 0x76, 0x9d, 0xdd, 0xa2, 0x8d, 0x40, 0x79, 0x3b, 0xdc, 0x52, 0xa2, 0x5d, 0x40, 0x3c, 0xed, 0xcb, - 0x77, 0x3b, 0x0b, 0x77, 0xb4, 0x09, 0x28, 0x57, 0x00, 0xc2, 0x0d, 0x38, 0x9e, 0xeb, 0x15, 0xce, - 0x15, 0x01, 0x91, 0xa5, 0xc1, 0xf7, 0xdf, 0x78, 0xfc, 0x17, 0xc5, 0xd2, 0xe0, 0x08, 0xb2, 0x34, - 0xc4, 0xd6, 0x1b, 0x8f, 0x7e, 0x55, 0x2c, 0x0d, 0x01, 0x21, 0x99, 0x1d, 0xd9, 0xdd, 0xe2, 0x19, - 0xbe, 0x24, 0x32, 0x3b, 0x82, 0x2a, 0x6f, 0xc2, 0x78, 0xcf, 0x86, 0x18, 0x4f, 0xf5, 0x65, 0x4e, - 0x25, 0x77, 0xef, 0x87, 0xd1, 0xcd, 0x8b, 0x6f, 0x86, 0xf1, 0x6c, 0x7f, 0xd0, 0xb5, 0x79, 0xf1, - 0xbd, 0xb0, 0x7c, 0x19, 0x32, 0x56, 0xdb, 0x34, 0xc9, 0xe2, 0x41, 0xf7, 0xfe, 0x81, 0x5d, 0xf1, - 0x5f, 0xdf, 0xe7, 0xd1, 0x11, 0x80, 0xf2, 0x22, 0xa4, 0x71, 0x6b, 0x17, 0x37, 0xe2, 0x90, 0xff, - 0xf6, 0xbe, 0x28, 0x98, 0xc4, 0xba, 0xfc, 0x34, 0x00, 0xbb, 0x1a, 0xa1, 0x9f, 0xfd, 0x62, 0xb0, - 0xff, 0xfe, 0x3e, 0xff, 0xe9, 0x4b, 0x08, 0x09, 0x09, 0xd8, 0x0f, 0x69, 0xee, 0x4d, 0xf0, 0x4e, - 0x27, 0x01, 0x9d, 0x91, 0x4b, 0x30, 0x72, 0xcd, 0xb3, 0x2d, 0x5f, 0x6b, 0xc6, 0xa1, 0xff, 0x83, - 0xa3, 0x85, 0x3d, 0x09, 0x58, 0xcb, 0x76, 0xb1, 0xaf, 0x35, 0xbd, 0x38, 0xec, 0x7f, 0x72, 0x6c, - 0x00, 0x20, 0x60, 0x5d, 0xf3, 0xfc, 0x41, 0xc6, 0xfd, 0x23, 0x01, 0x16, 0x00, 0xe2, 0x34, 0xf9, - 0xfb, 0x3a, 0x3e, 0x88, 0xc3, 0xbe, 0x2b, 0x9c, 0xe6, 0xf6, 0xe5, 0x8f, 0x43, 0x96, 0xfc, 0xc9, - 0x7e, 0xcf, 0x16, 0x03, 0xfe, 0x2f, 0x0e, 0x0e, 0x11, 0xe4, 0xcd, 0x9e, 0xdf, 0xf0, 0x8d, 0xf8, - 0x60, 0xff, 0x37, 0x9f, 0x69, 0x61, 0x5f, 0xae, 0x40, 0xce, 0xf3, 0x1b, 0x8d, 0x36, 0xef, 0x4f, - 0x63, 0xe0, 0xff, 0xf3, 0x7e, 0x70, 0x65, 0x11, 0x60, 0xc8, 0x6c, 0xdf, 0xbc, 0xee, 0x3b, 0x36, - 0xfd, 0xcc, 0x11, 0xc7, 0x70, 0x97, 0x33, 0x44, 0x20, 0x4b, 0xd5, 0xfe, 0xd7, 0xb7, 0xb0, 0x6a, - 0xaf, 0xda, 0xec, 0xe2, 0xf6, 0x85, 0x52, 0xfc, 0x0d, 0x2c, 0xfc, 0x38, 0x03, 0x53, 0xba, 0xdd, - 0xda, 0xb5, 0xbd, 0xb9, 0xa0, 0x1c, 0xcf, 0xd9, 0x16, 0x67, 0x44, 0x49, 0xdb, 0xc2, 0x53, 0xc7, - 0xbb, 0xc9, 0x2d, 0x9d, 0x82, 0x74, 0xbd, 0xbd, 0xbb, 0x7b, 0x80, 0x64, 0x48, 0x7a, 0xed, 0x5d, - 0xfe, 0xab, 0x28, 0xf2, 0x67, 0xe9, 0xcd, 0x24, 0x8c, 0x56, 0x4c, 0x73, 0xfb, 0xc0, 0xc1, 0x5e, - 0xcd, 0xc2, 0xb5, 0x3d, 0x54, 0x84, 0x61, 0x3a, 0xd4, 0xa7, 0xa8, 0x99, 0x74, 0x75, 0x48, 0xe1, - 0xcf, 0x81, 0x66, 0x9e, 0xde, 0x71, 0x27, 0x02, 0xcd, 0x7c, 0xa0, 0x39, 0xc7, 0xae, 0xb8, 0x03, - 0xcd, 0xb9, 0x40, 0xb3, 0x40, 0x2f, 0xba, 0x93, 0x81, 0x66, 0x21, 0xd0, 0x2c, 0xd2, 0x0f, 0x39, - 0xa3, 0x81, 0x66, 0x31, 0xd0, 0x9c, 0xa7, 0x9f, 0x6e, 0x52, 0x81, 0xe6, 0x7c, 0xa0, 0xb9, 0x40, - 0xbf, 0xd8, 0x8c, 0x07, 0x9a, 0x0b, 0x81, 0xe6, 0x22, 0xfd, 0x4a, 0x83, 0x02, 0xcd, 0xc5, 0x40, - 0x73, 0x89, 0xfe, 0xfc, 0x69, 0x24, 0xd0, 0x5c, 0x42, 0x53, 0x30, 0xc2, 0x46, 0xf6, 0x24, 0xfd, - 0x94, 0x3f, 0x76, 0x75, 0x48, 0x11, 0x82, 0x50, 0xf7, 0x14, 0xfd, 0x89, 0xd3, 0x70, 0xa8, 0x7b, - 0x2a, 0xd4, 0xcd, 0xd3, 0xff, 0x69, 0x21, 0x87, 0xba, 0xf9, 0x50, 0x77, 0xae, 0x38, 0x4a, 0x32, - 0x24, 0xd4, 0x9d, 0x0b, 0x75, 0x0b, 0xc5, 0x02, 0x99, 0x81, 0x50, 0xb7, 0x10, 0xea, 0x16, 0x8b, - 0x63, 0x67, 0xa4, 0x99, 0x7c, 0xa8, 0x5b, 0x44, 0x4f, 0x40, 0xce, 0x6b, 0xef, 0xaa, 0xbc, 0xd6, - 0xd3, 0x9f, 0x52, 0xe5, 0xe6, 0x61, 0x96, 0xe4, 0x04, 0x9d, 0xd6, 0xab, 0x43, 0x0a, 0x78, 0xed, - 0x5d, 0x5e, 0x8a, 0x97, 0xf2, 0x40, 0x6f, 0xa0, 0x54, 0xfa, 0x0b, 0xe8, 0xd2, 0x1b, 0x12, 0x64, - 0xb7, 0x6f, 0xda, 0xf4, 0x43, 0xbe, 0xf7, 0x7f, 0x3c, 0xb9, 0xc2, 0xe9, 0x73, 0x0b, 0xf4, 0x5b, - 0x6b, 0xf6, 0xaa, 0xa4, 0x08, 0x41, 0xa8, 0x5b, 0x2c, 0x3e, 0x48, 0x07, 0x14, 0xe8, 0x16, 0xd1, - 0x1c, 0xe4, 0x23, 0x03, 0x9a, 0xa7, 0x3f, 0x72, 0xea, 0x1c, 0x91, 0xa4, 0xe4, 0xc2, 0x11, 0xcd, - 0x2f, 0xa5, 0x81, 0xa4, 0x3d, 0xf9, 0xc7, 0xbf, 0x69, 0x97, 0x3e, 0x97, 0x80, 0x1c, 0xbb, 0xb4, - 0xa6, 0xa3, 0x22, 0xaf, 0x62, 0xe7, 0x9a, 0x03, 0xee, 0xc6, 0x90, 0x22, 0x04, 0x48, 0x01, 0x60, - 0xa6, 0x24, 0xc3, 0x99, 0x27, 0x4b, 0x4f, 0xfe, 0xd3, 0x9b, 0xa7, 0x3f, 0x76, 0xe4, 0x0a, 0x22, - 0xb1, 0x9b, 0x63, 0x45, 0x7c, 0x76, 0xc7, 0xb0, 0xfc, 0xa7, 0xe6, 0x2f, 0x92, 0x00, 0x87, 0x2c, - 0x68, 0x07, 0x32, 0xcb, 0x9a, 0x47, 0x7f, 0x1e, 0x49, 0x5d, 0x4f, 0x2d, 0x5d, 0xf8, 0xf1, 0x9b, - 0xa7, 0xcf, 0xc5, 0x30, 0xf2, 0xfa, 0x3a, 0xbb, 0x71, 0x40, 0x58, 0xcf, 0x2f, 0x10, 0xf8, 0xd5, - 0x21, 0x25, 0xa0, 0x42, 0xf3, 0xc2, 0xd5, 0x4d, 0xad, 0xc5, 0x7e, 0xcd, 0x95, 0x5c, 0x92, 0x0f, - 0xdf, 0x3c, 0x9d, 0xdf, 0x38, 0x08, 0xe5, 0xa1, 0x2b, 0xe4, 0x69, 0x29, 0x03, 0xc3, 0xcc, 0xd5, - 0xa5, 0x95, 0xd7, 0xef, 0x4c, 0x0f, 0xbd, 0x71, 0x67, 0x7a, 0xe8, 0x1f, 0xef, 0x4c, 0x0f, 0xbd, - 0x75, 0x67, 0x5a, 0x7a, 0xf7, 0xce, 0xb4, 0xf4, 0xde, 0x9d, 0x69, 0xe9, 0xf6, 0xe1, 0xb4, 0xf4, - 0xd5, 0xc3, 0x69, 0xe9, 0xeb, 0x87, 0xd3, 0xd2, 0xb7, 0x0f, 0xa7, 0xa5, 0xd7, 0x0f, 0xa7, 0xa5, - 0x37, 0x0e, 0xa7, 0x87, 0xde, 0x3a, 0x9c, 0x96, 0x7e, 0x78, 0x38, 0x3d, 0xf4, 0xee, 0xe1, 0xb4, - 0xf4, 0xde, 0xe1, 0xf4, 0xd0, 0xed, 0x1f, 0x4c, 0x0f, 0xfd, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x14, 0x89, 0x89, 0xba, 0x18, 0x37, 0x00, 0x00, + // 4294 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xe7, + 0x75, 0xe6, 0xe2, 0x42, 0x02, 0x07, 0x20, 0xb8, 0x5c, 0xd2, 0x12, 0xc4, 0xc4, 0x90, 0x04, 0xdb, + 0x31, 0x7d, 0x23, 0x6d, 0x8a, 0xd4, 0x05, 0x6a, 0xe2, 0x82, 0x24, 0x44, 0xd1, 0x25, 0x09, 0x66, + 0x41, 0xc6, 0x97, 0x4c, 0x67, 0x67, 0xb9, 0xf8, 0x09, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, 0x24, + 0x43, 0xd3, 0x07, 0x75, 0xdc, 0xcb, 0x64, 0x7a, 0x4f, 0x3b, 0xd3, 0xc4, 0x75, 0xdc, 0x26, 0x9d, + 0xc6, 0x69, 0x7a, 0x4b, 0x7a, 0x49, 0x93, 0xf4, 0xa5, 0x2f, 0x69, 0xfd, 0xd4, 0x71, 0xde, 0x3a, + 0x9d, 0x8e, 0xc7, 0x62, 0x3c, 0xd3, 0xb4, 0x75, 0x5b, 0xb7, 0xd5, 0x83, 0x27, 0x7e, 0xe9, 0xfc, + 0xb7, 0xbd, 0x00, 0xa0, 0x16, 0xcc, 0xd4, 0xce, 0x93, 0xb8, 0xe7, 0x9c, 0xef, 0xdb, 0xf3, 0x9f, + 0xff, 0xfc, 0xe7, 0x3f, 0xff, 0xbf, 0x10, 0xbc, 0x5e, 0x81, 0x33, 0x2d, 0xcb, 0x6a, 0x19, 0x68, + 0xde, 0x76, 0x2c, 0xcf, 0xda, 0xeb, 0xec, 0xcf, 0x37, 0x91, 0xab, 0x39, 0xba, 0xed, 0x59, 0xce, + 0x1c, 0x91, 0x49, 0x13, 0xd4, 0x62, 0x8e, 0x5b, 0x94, 0x37, 0x61, 0xf2, 0x8a, 0x6e, 0xa0, 0x55, + 0xdf, 0xb0, 0x81, 0x3c, 0xe9, 0x22, 0xa4, 0xf6, 0x75, 0x03, 0x15, 0x85, 0x33, 0xc9, 0xd9, 0xdc, + 0xc2, 0x83, 0x73, 0x3d, 0xa0, 0xb9, 0x28, 0x62, 0x1b, 0x8b, 0x65, 0x82, 0x28, 0xbf, 0x9d, 0x82, + 0xa9, 0x01, 0x5a, 0x49, 0x82, 0x94, 0xa9, 0xb6, 0x31, 0xa3, 0x30, 0x9b, 0x95, 0xc9, 0xdf, 0x52, + 0x11, 0xc6, 0x6c, 0x55, 0xbb, 0xae, 0xb6, 0x50, 0x31, 0x41, 0xc4, 0xfc, 0x51, 0x2a, 0x01, 0x34, + 0x91, 0x8d, 0xcc, 0x26, 0x32, 0xb5, 0x6e, 0x31, 0x79, 0x26, 0x39, 0x9b, 0x95, 0x43, 0x12, 0xe9, + 0x31, 0x98, 0xb4, 0x3b, 0x7b, 0x86, 0xae, 0x29, 0x21, 0x33, 0x38, 0x93, 0x9c, 0x4d, 0xcb, 0x22, + 0x55, 0xac, 0x06, 0xc6, 0x0f, 0xc3, 0xc4, 0x4d, 0xa4, 0x5e, 0x0f, 0x9b, 0xe6, 0x88, 0x69, 0x01, + 0x8b, 0x43, 0x86, 0x2b, 0x90, 0x6f, 0x23, 0xd7, 0x55, 0x5b, 0x48, 0xf1, 0xba, 0x36, 0x2a, 0xa6, + 0xc8, 0xe8, 0xcf, 0xf4, 0x8d, 0xbe, 0x77, 0xe4, 0x39, 0x86, 0xda, 0xe9, 0xda, 0x48, 0xaa, 0x42, + 0x16, 0x99, 0x9d, 0x36, 0x65, 0x48, 0x1f, 0x11, 0xbf, 0x9a, 0xd9, 0x69, 0xf7, 0xb2, 0x64, 0x30, + 0x8c, 0x51, 0x8c, 0xb9, 0xc8, 0xb9, 0xa1, 0x6b, 0xa8, 0x38, 0x4a, 0x08, 0x1e, 0xee, 0x23, 0x68, + 0x50, 0x7d, 0x2f, 0x07, 0xc7, 0x49, 0x2b, 0x90, 0x45, 0x2f, 0x7a, 0xc8, 0x74, 0x75, 0xcb, 0x2c, + 0x8e, 0x11, 0x92, 0x87, 0x06, 0xcc, 0x22, 0x32, 0x9a, 0xbd, 0x14, 0x01, 0x4e, 0x3a, 0x0f, 0x63, + 0x96, 0xed, 0xe9, 0x96, 0xe9, 0x16, 0x33, 0x67, 0x84, 0xd9, 0xdc, 0xc2, 0x47, 0x07, 0x26, 0x42, + 0x9d, 0xda, 0xc8, 0xdc, 0x58, 0x5a, 0x07, 0xd1, 0xb5, 0x3a, 0x8e, 0x86, 0x14, 0xcd, 0x6a, 0x22, + 0x45, 0x37, 0xf7, 0xad, 0x62, 0x96, 0x10, 0x9c, 0xee, 0x1f, 0x08, 0x31, 0x5c, 0xb1, 0x9a, 0x68, + 0xdd, 0xdc, 0xb7, 0xe4, 0x82, 0x1b, 0x79, 0x96, 0x4e, 0xc0, 0xa8, 0xdb, 0x35, 0x3d, 0xf5, 0xc5, + 0x62, 0x9e, 0x64, 0x08, 0x7b, 0x2a, 0x7f, 0x7b, 0x14, 0x26, 0x86, 0x49, 0xb1, 0xcb, 0x90, 0xde, + 0xc7, 0xa3, 0x2c, 0x26, 0x8e, 0x13, 0x03, 0x8a, 0x89, 0x06, 0x71, 0xf4, 0x47, 0x0c, 0x62, 0x15, + 0x72, 0x26, 0x72, 0x3d, 0xd4, 0xa4, 0x19, 0x91, 0x1c, 0x32, 0xa7, 0x80, 0x82, 0xfa, 0x53, 0x2a, + 0xf5, 0x23, 0xa5, 0xd4, 0x73, 0x30, 0xe1, 0xbb, 0xa4, 0x38, 0xaa, 0xd9, 0xe2, 0xb9, 0x39, 0x1f, + 0xe7, 0xc9, 0x5c, 0x8d, 0xe3, 0x64, 0x0c, 0x93, 0x0b, 0x28, 0xf2, 0x2c, 0xad, 0x02, 0x58, 0x26, + 0xb2, 0xf6, 0x95, 0x26, 0xd2, 0x8c, 0x62, 0xe6, 0x88, 0x28, 0xd5, 0xb1, 0x49, 0x5f, 0x94, 0x2c, + 0x2a, 0xd5, 0x0c, 0xe9, 0x52, 0x90, 0x6a, 0x63, 0x47, 0x64, 0xca, 0x26, 0x5d, 0x64, 0x7d, 0xd9, + 0xb6, 0x0b, 0x05, 0x07, 0xe1, 0xbc, 0x47, 0x4d, 0x36, 0xb2, 0x2c, 0x71, 0x62, 0x2e, 0x76, 0x64, + 0x32, 0x83, 0xd1, 0x81, 0x8d, 0x3b, 0xe1, 0x47, 0xe9, 0x01, 0xf0, 0x05, 0x0a, 0x49, 0x2b, 0x20, + 0x55, 0x28, 0xcf, 0x85, 0x5b, 0x6a, 0x1b, 0xcd, 0xdc, 0x82, 0x42, 0x34, 0x3c, 0xd2, 0x34, 0xa4, + 0x5d, 0x4f, 0x75, 0x3c, 0x92, 0x85, 0x69, 0x99, 0x3e, 0x48, 0x22, 0x24, 0x91, 0xd9, 0x24, 0x55, + 0x2e, 0x2d, 0xe3, 0x3f, 0xa5, 0x9f, 0x0c, 0x06, 0x9c, 0x24, 0x03, 0xfe, 0x58, 0xff, 0x8c, 0x46, + 0x98, 0x7b, 0xc7, 0x3d, 0x73, 0x01, 0xc6, 0x23, 0x03, 0x18, 0xf6, 0xd5, 0xe5, 0x9f, 0x81, 0xfb, + 0x06, 0x52, 0x4b, 0xcf, 0xc1, 0x74, 0xc7, 0xd4, 0x4d, 0x0f, 0x39, 0xb6, 0x83, 0x70, 0xc6, 0xd2, + 0x57, 0x15, 0xff, 0x65, 0xec, 0x88, 0x9c, 0xdb, 0x0d, 0x5b, 0x53, 0x16, 0x79, 0xaa, 0xd3, 0x2f, + 0x7c, 0x34, 0x9b, 0xf9, 0xc1, 0x98, 0x78, 0xfb, 0xf6, 0xed, 0xdb, 0x89, 0xf2, 0xe7, 0x47, 0x61, + 0x7a, 0xd0, 0x9a, 0x19, 0xb8, 0x7c, 0x4f, 0xc0, 0xa8, 0xd9, 0x69, 0xef, 0x21, 0x87, 0x04, 0x29, + 0x2d, 0xb3, 0x27, 0xa9, 0x0a, 0x69, 0x43, 0xdd, 0x43, 0x46, 0x31, 0x75, 0x46, 0x98, 0x2d, 0x2c, + 0x3c, 0x36, 0xd4, 0xaa, 0x9c, 0xdb, 0xc0, 0x10, 0x99, 0x22, 0xa5, 0x4f, 0x40, 0x8a, 0x95, 0x68, + 0xcc, 0xf0, 0xe8, 0x70, 0x0c, 0x78, 0x2d, 0xc9, 0x04, 0x27, 0x7d, 0x04, 0xb2, 0xf8, 0x5f, 0x9a, + 0x1b, 0xa3, 0xc4, 0xe7, 0x0c, 0x16, 0xe0, 0xbc, 0x90, 0x66, 0x20, 0x43, 0x96, 0x49, 0x13, 0xf1, + 0xad, 0xcd, 0x7f, 0xc6, 0x89, 0xd5, 0x44, 0xfb, 0x6a, 0xc7, 0xf0, 0x94, 0x1b, 0xaa, 0xd1, 0x41, + 0x24, 0xe1, 0xb3, 0x72, 0x9e, 0x09, 0x3f, 0x85, 0x65, 0xd2, 0x69, 0xc8, 0xd1, 0x55, 0xa5, 0x9b, + 0x4d, 0xf4, 0x22, 0xa9, 0x9e, 0x69, 0x99, 0x2e, 0xb4, 0x75, 0x2c, 0xc1, 0xaf, 0xbf, 0xe6, 0x5a, + 0x26, 0x4f, 0x4d, 0xf2, 0x0a, 0x2c, 0x20, 0xaf, 0xbf, 0xd0, 0x5b, 0xb8, 0xef, 0x1f, 0x3c, 0xbc, + 0xde, 0x9c, 0x2a, 0x7f, 0x33, 0x01, 0x29, 0x52, 0x2f, 0x26, 0x20, 0xb7, 0xf3, 0xfc, 0x76, 0x4d, + 0x59, 0xad, 0xef, 0x2e, 0x6f, 0xd4, 0x44, 0x41, 0x2a, 0x00, 0x10, 0xc1, 0x95, 0x8d, 0x7a, 0x75, + 0x47, 0x4c, 0xf8, 0xcf, 0xeb, 0x5b, 0x3b, 0xe7, 0x17, 0xc5, 0xa4, 0x0f, 0xd8, 0xa5, 0x82, 0x54, + 0xd8, 0xe0, 0xdc, 0x82, 0x98, 0x96, 0x44, 0xc8, 0x53, 0x82, 0xf5, 0xe7, 0x6a, 0xab, 0xe7, 0x17, + 0xc5, 0xd1, 0xa8, 0xe4, 0xdc, 0x82, 0x38, 0x26, 0x8d, 0x43, 0x96, 0x48, 0x96, 0xeb, 0xf5, 0x0d, + 0x31, 0xe3, 0x73, 0x36, 0x76, 0xe4, 0xf5, 0xad, 0x35, 0x31, 0xeb, 0x73, 0xae, 0xc9, 0xf5, 0xdd, + 0x6d, 0x11, 0x7c, 0x86, 0xcd, 0x5a, 0xa3, 0x51, 0x5d, 0xab, 0x89, 0x39, 0xdf, 0x62, 0xf9, 0xf9, + 0x9d, 0x5a, 0x43, 0xcc, 0x47, 0xdc, 0x3a, 0xb7, 0x20, 0x8e, 0xfb, 0xaf, 0xa8, 0x6d, 0xed, 0x6e, + 0x8a, 0x05, 0x69, 0x12, 0xc6, 0xe9, 0x2b, 0xb8, 0x13, 0x13, 0x3d, 0xa2, 0xf3, 0x8b, 0xa2, 0x18, + 0x38, 0x42, 0x59, 0x26, 0x23, 0x82, 0xf3, 0x8b, 0xa2, 0x54, 0x5e, 0x81, 0x34, 0xc9, 0x2e, 0x49, + 0x82, 0xc2, 0x46, 0x75, 0xb9, 0xb6, 0xa1, 0xd4, 0xb7, 0x77, 0xd6, 0xeb, 0x5b, 0xd5, 0x0d, 0x51, + 0x08, 0x64, 0x72, 0xed, 0x93, 0xbb, 0xeb, 0x72, 0x6d, 0x55, 0x4c, 0x84, 0x65, 0xdb, 0xb5, 0xea, + 0x4e, 0x6d, 0x55, 0x4c, 0x96, 0x35, 0x98, 0x1e, 0x54, 0x27, 0x07, 0xae, 0x8c, 0xd0, 0x14, 0x27, + 0x8e, 0x98, 0x62, 0xc2, 0xd5, 0x37, 0xc5, 0xdf, 0x4f, 0xc0, 0xd4, 0x80, 0xbd, 0x62, 0xe0, 0x4b, + 0x9e, 0x86, 0x34, 0x4d, 0x51, 0xba, 0x7b, 0x3e, 0x32, 0x70, 0xd3, 0x21, 0x09, 0xdb, 0xb7, 0x83, + 0x12, 0x5c, 0xb8, 0x83, 0x48, 0x1e, 0xd1, 0x41, 0x60, 0x8a, 0xbe, 0x9a, 0xfe, 0xd3, 0x7d, 0x35, + 0x9d, 0x6e, 0x7b, 0xe7, 0x87, 0xd9, 0xf6, 0x88, 0xec, 0x78, 0xb5, 0x3d, 0x3d, 0xa0, 0xb6, 0x5f, + 0x86, 0xc9, 0x3e, 0xa2, 0xa1, 0x6b, 0xec, 0x4b, 0x02, 0x14, 0x8f, 0x0a, 0x4e, 0x4c, 0xa5, 0x4b, + 0x44, 0x2a, 0xdd, 0xe5, 0xde, 0x08, 0x9e, 0x3d, 0x7a, 0x12, 0xfa, 0xe6, 0xfa, 0x35, 0x01, 0x4e, + 0x0c, 0xee, 0x14, 0x07, 0xfa, 0xf0, 0x09, 0x18, 0x6d, 0x23, 0xef, 0xc0, 0xe2, 0xdd, 0xd2, 0xc7, + 0x06, 0xec, 0xc1, 0x58, 0xdd, 0x3b, 0xd9, 0x0c, 0x15, 0xde, 0xc4, 0x93, 0x47, 0xb5, 0x7b, 0xd4, + 0x9b, 0x3e, 0x4f, 0x3f, 0x9b, 0x80, 0xfb, 0x06, 0x92, 0x0f, 0x74, 0xf4, 0x7e, 0x00, 0xdd, 0xb4, + 0x3b, 0x1e, 0xed, 0x88, 0x68, 0x81, 0xcd, 0x12, 0x09, 0x29, 0x5e, 0xb8, 0x78, 0x76, 0x3c, 0x5f, + 0x9f, 0x24, 0x7a, 0xa0, 0x22, 0x62, 0x70, 0x31, 0x70, 0x34, 0x45, 0x1c, 0x2d, 0x1d, 0x31, 0xd2, + 0xbe, 0xc4, 0x7c, 0x12, 0x44, 0xcd, 0xd0, 0x91, 0xe9, 0x29, 0xae, 0xe7, 0x20, 0xb5, 0xad, 0x9b, + 0x2d, 0xb2, 0x83, 0x64, 0x2a, 0xe9, 0x7d, 0xd5, 0x70, 0x91, 0x3c, 0x41, 0xd5, 0x0d, 0xae, 0xc5, + 0x08, 0x92, 0x40, 0x4e, 0x08, 0x31, 0x1a, 0x41, 0x50, 0xb5, 0x8f, 0x28, 0xff, 0x72, 0x16, 0x72, + 0xa1, 0xbe, 0x5a, 0x3a, 0x0b, 0xf9, 0x6b, 0xea, 0x0d, 0x55, 0xe1, 0x67, 0x25, 0x1a, 0x89, 0x1c, + 0x96, 0x6d, 0xb3, 0xf3, 0xd2, 0x93, 0x30, 0x4d, 0x4c, 0xac, 0x8e, 0x87, 0x1c, 0x45, 0x33, 0x54, + 0xd7, 0x25, 0x41, 0xcb, 0x10, 0x53, 0x09, 0xeb, 0xea, 0x58, 0xb5, 0xc2, 0x35, 0xd2, 0x12, 0x4c, + 0x11, 0x44, 0xbb, 0x63, 0x78, 0xba, 0x6d, 0x20, 0x05, 0x9f, 0xde, 0x5c, 0xb2, 0x93, 0xf8, 0x9e, + 0x4d, 0x62, 0x8b, 0x4d, 0x66, 0x80, 0x3d, 0x72, 0xa5, 0x55, 0xb8, 0x9f, 0xc0, 0x5a, 0xc8, 0x44, + 0x8e, 0xea, 0x21, 0x05, 0x7d, 0xa6, 0xa3, 0x1a, 0xae, 0xa2, 0x9a, 0x4d, 0xe5, 0x40, 0x75, 0x0f, + 0x8a, 0xd3, 0x98, 0x60, 0x39, 0x51, 0x14, 0xe4, 0x53, 0xd8, 0x70, 0x8d, 0xd9, 0xd5, 0x88, 0x59, + 0xd5, 0x6c, 0x5e, 0x55, 0xdd, 0x03, 0xa9, 0x02, 0x27, 0x08, 0x8b, 0xeb, 0x39, 0xba, 0xd9, 0x52, + 0xb4, 0x03, 0xa4, 0x5d, 0x57, 0x3a, 0xde, 0xfe, 0xc5, 0xe2, 0x47, 0xc2, 0xef, 0x27, 0x1e, 0x36, + 0x88, 0xcd, 0x0a, 0x36, 0xd9, 0xf5, 0xf6, 0x2f, 0x4a, 0x0d, 0xc8, 0xe3, 0xc9, 0x68, 0xeb, 0xb7, + 0x90, 0xb2, 0x6f, 0x39, 0x64, 0x6b, 0x2c, 0x0c, 0x28, 0x4d, 0xa1, 0x08, 0xce, 0xd5, 0x19, 0x60, + 0xd3, 0x6a, 0xa2, 0x4a, 0xba, 0xb1, 0x5d, 0xab, 0xad, 0xca, 0x39, 0xce, 0x72, 0xc5, 0x72, 0x70, + 0x42, 0xb5, 0x2c, 0x3f, 0xc0, 0x39, 0x9a, 0x50, 0x2d, 0x8b, 0x87, 0x77, 0x09, 0xa6, 0x34, 0x8d, + 0x8e, 0x59, 0xd7, 0x14, 0x76, 0xc6, 0x72, 0x8b, 0x62, 0x24, 0x58, 0x9a, 0xb6, 0x46, 0x0d, 0x58, + 0x8e, 0xbb, 0xd2, 0x25, 0xb8, 0x2f, 0x08, 0x56, 0x18, 0x38, 0xd9, 0x37, 0xca, 0x5e, 0xe8, 0x12, + 0x4c, 0xd9, 0xdd, 0x7e, 0xa0, 0x14, 0x79, 0xa3, 0xdd, 0xed, 0x85, 0x5d, 0x80, 0x69, 0xfb, 0xc0, + 0xee, 0xc7, 0x3d, 0x1a, 0xc6, 0x49, 0xf6, 0x81, 0xdd, 0x0b, 0x7c, 0x88, 0x1c, 0xb8, 0x1d, 0xa4, + 0xa9, 0x1e, 0x6a, 0x16, 0x4f, 0x86, 0xcd, 0x43, 0x0a, 0x69, 0x1e, 0x44, 0x4d, 0x53, 0x90, 0xa9, + 0xee, 0x19, 0x48, 0x51, 0x1d, 0x64, 0xaa, 0x6e, 0xf1, 0x74, 0xd8, 0xb8, 0xa0, 0x69, 0x35, 0xa2, + 0xad, 0x12, 0xa5, 0xf4, 0x28, 0x4c, 0x5a, 0x7b, 0xd7, 0x34, 0x9a, 0x92, 0x8a, 0xed, 0xa0, 0x7d, + 0xfd, 0xc5, 0xe2, 0x83, 0x24, 0xbe, 0x13, 0x58, 0x41, 0x12, 0x72, 0x9b, 0x88, 0xa5, 0x47, 0x40, + 0xd4, 0xdc, 0x03, 0xd5, 0xb1, 0x49, 0x4d, 0x76, 0x6d, 0x55, 0x43, 0xc5, 0x87, 0xa8, 0x29, 0x95, + 0x6f, 0x71, 0x31, 0x5e, 0x12, 0xee, 0x4d, 0x7d, 0xdf, 0xe3, 0x8c, 0x0f, 0xd3, 0x25, 0x41, 0x64, + 0x8c, 0x6d, 0x16, 0x44, 0x1c, 0x8a, 0xc8, 0x8b, 0x67, 0x89, 0x59, 0xc1, 0x3e, 0xb0, 0xc3, 0xef, + 0x7d, 0x00, 0xc6, 0xb1, 0x65, 0xf0, 0xd2, 0x47, 0x68, 0x43, 0x66, 0x1f, 0x84, 0xde, 0xb8, 0x08, + 0x27, 0xb0, 0x51, 0x1b, 0x79, 0x6a, 0x53, 0xf5, 0xd4, 0x90, 0xf5, 0xe3, 0xc4, 0x1a, 0xc7, 0x7d, + 0x93, 0x29, 0x23, 0x7e, 0x3a, 0x9d, 0xbd, 0xae, 0x9f, 0x59, 0x4f, 0x50, 0x3f, 0xb1, 0x8c, 0xe7, + 0xd6, 0x07, 0xd6, 0x74, 0x97, 0x2b, 0x90, 0x0f, 0x27, 0xbe, 0x94, 0x05, 0x9a, 0xfa, 0xa2, 0x80, + 0xbb, 0xa0, 0x95, 0xfa, 0x2a, 0xee, 0x5f, 0x5e, 0xa8, 0x89, 0x09, 0xdc, 0x47, 0x6d, 0xac, 0xef, + 0xd4, 0x14, 0x79, 0x77, 0x6b, 0x67, 0x7d, 0xb3, 0x26, 0x26, 0xc3, 0x0d, 0xfb, 0x77, 0x13, 0x50, + 0x88, 0x9e, 0xbd, 0xa4, 0x9f, 0x80, 0x93, 0xfc, 0xa2, 0xc4, 0x45, 0x9e, 0x72, 0x53, 0x77, 0xc8, + 0x5a, 0x6c, 0xab, 0x74, 0x5f, 0xf4, 0xb3, 0x61, 0x9a, 0x59, 0x35, 0x90, 0xf7, 0xac, 0xee, 0xe0, + 0x95, 0xd6, 0x56, 0x3d, 0x69, 0x03, 0x4e, 0x9b, 0x96, 0xe2, 0x7a, 0xaa, 0xd9, 0x54, 0x9d, 0xa6, + 0x12, 0x5c, 0x51, 0x29, 0xaa, 0xa6, 0x21, 0xd7, 0xb5, 0xe8, 0x1e, 0xe8, 0xb3, 0x7c, 0xd4, 0xb4, + 0x1a, 0xcc, 0x38, 0xd8, 0x1c, 0xaa, 0xcc, 0xb4, 0x27, 0x73, 0x93, 0x47, 0x65, 0xee, 0x47, 0x20, + 0xdb, 0x56, 0x6d, 0x05, 0x99, 0x9e, 0xd3, 0x25, 0x1d, 0x77, 0x46, 0xce, 0xb4, 0x55, 0xbb, 0x86, + 0x9f, 0x3f, 0x9c, 0x83, 0xcf, 0x3f, 0x27, 0x21, 0x1f, 0xee, 0xba, 0xf1, 0x21, 0x46, 0x23, 0x1b, + 0x94, 0x40, 0x4a, 0xd8, 0x03, 0xf7, 0xec, 0xd1, 0xe7, 0x56, 0xf0, 0xce, 0x55, 0x19, 0xa5, 0xbd, + 0xb0, 0x4c, 0x91, 0xb8, 0x6b, 0xc0, 0xa9, 0x85, 0x68, 0xef, 0x91, 0x91, 0xd9, 0x93, 0xb4, 0x06, + 0xa3, 0xd7, 0x5c, 0xc2, 0x3d, 0x4a, 0xb8, 0x1f, 0xbc, 0x37, 0xf7, 0x33, 0x0d, 0x42, 0x9e, 0x7d, + 0xa6, 0xa1, 0x6c, 0xd5, 0xe5, 0xcd, 0xea, 0x86, 0xcc, 0xe0, 0xd2, 0x29, 0x48, 0x19, 0xea, 0xad, + 0x6e, 0x74, 0x8f, 0x23, 0xa2, 0x61, 0x03, 0x7f, 0x0a, 0x52, 0x37, 0x91, 0x7a, 0x3d, 0xba, 0xb3, + 0x10, 0xd1, 0x07, 0x98, 0xfa, 0xf3, 0x90, 0x26, 0xf1, 0x92, 0x00, 0x58, 0xc4, 0xc4, 0x11, 0x29, + 0x03, 0xa9, 0x95, 0xba, 0x8c, 0xd3, 0x5f, 0x84, 0x3c, 0x95, 0x2a, 0xdb, 0xeb, 0xb5, 0x95, 0x9a, + 0x98, 0x28, 0x2f, 0xc1, 0x28, 0x0d, 0x02, 0x5e, 0x1a, 0x7e, 0x18, 0xc4, 0x11, 0xf6, 0xc8, 0x38, + 0x04, 0xae, 0xdd, 0xdd, 0x5c, 0xae, 0xc9, 0x62, 0x22, 0x3c, 0xbd, 0x2e, 0xe4, 0xc3, 0x0d, 0xf7, + 0x87, 0x93, 0x53, 0xdf, 0x11, 0x20, 0x17, 0x6a, 0xa0, 0x71, 0xe7, 0xa3, 0x1a, 0x86, 0x75, 0x53, + 0x51, 0x0d, 0x5d, 0x75, 0x59, 0x52, 0x00, 0x11, 0x55, 0xb1, 0x64, 0xd8, 0x49, 0xfb, 0x50, 0x9c, + 0x7f, 0x55, 0x00, 0xb1, 0xb7, 0x77, 0xed, 0x71, 0x50, 0xf8, 0xb1, 0x3a, 0xf8, 0x8a, 0x00, 0x85, + 0x68, 0xc3, 0xda, 0xe3, 0xde, 0xd9, 0x1f, 0xab, 0x7b, 0x6f, 0x25, 0x60, 0x3c, 0xd2, 0xa6, 0x0e, + 0xeb, 0xdd, 0x67, 0x60, 0x52, 0x6f, 0xa2, 0xb6, 0x6d, 0x79, 0xc8, 0xd4, 0xba, 0x8a, 0x81, 0x6e, + 0x20, 0xa3, 0x58, 0x26, 0x85, 0x62, 0xfe, 0xde, 0x8d, 0xf0, 0xdc, 0x7a, 0x80, 0xdb, 0xc0, 0xb0, + 0xca, 0xd4, 0xfa, 0x6a, 0x6d, 0x73, 0xbb, 0xbe, 0x53, 0xdb, 0x5a, 0x79, 0x5e, 0xd9, 0xdd, 0xfa, + 0xa9, 0xad, 0xfa, 0xb3, 0x5b, 0xb2, 0xa8, 0xf7, 0x98, 0x7d, 0x80, 0x4b, 0x7d, 0x1b, 0xc4, 0x5e, + 0xa7, 0xa4, 0x93, 0x30, 0xc8, 0x2d, 0x71, 0x44, 0x9a, 0x82, 0x89, 0xad, 0xba, 0xd2, 0x58, 0x5f, + 0xad, 0x29, 0xb5, 0x2b, 0x57, 0x6a, 0x2b, 0x3b, 0x0d, 0x7a, 0xb5, 0xe1, 0x5b, 0xef, 0x44, 0x17, + 0xf5, 0xcb, 0x49, 0x98, 0x1a, 0xe0, 0x89, 0x54, 0x65, 0x87, 0x12, 0x7a, 0x4e, 0x7a, 0x62, 0x18, + 0xef, 0xe7, 0x70, 0x57, 0xb0, 0xad, 0x3a, 0x1e, 0x3b, 0xc3, 0x3c, 0x02, 0x38, 0x4a, 0xa6, 0xa7, + 0xef, 0xeb, 0xc8, 0x61, 0x37, 0x41, 0xf4, 0xa4, 0x32, 0x11, 0xc8, 0xe9, 0x65, 0xd0, 0xe3, 0x20, + 0xd9, 0x96, 0xab, 0x7b, 0xfa, 0x0d, 0xa4, 0xe8, 0x26, 0xbf, 0x36, 0xc2, 0x27, 0x97, 0x94, 0x2c, + 0x72, 0xcd, 0xba, 0xe9, 0xf9, 0xd6, 0x26, 0x6a, 0xa9, 0x3d, 0xd6, 0xb8, 0x80, 0x27, 0x65, 0x91, + 0x6b, 0x7c, 0xeb, 0xb3, 0x90, 0x6f, 0x5a, 0x1d, 0xdc, 0xce, 0x51, 0x3b, 0xbc, 0x5f, 0x08, 0x72, + 0x8e, 0xca, 0x7c, 0x13, 0xd6, 0xa8, 0x07, 0xf7, 0x55, 0x79, 0x39, 0x47, 0x65, 0xd4, 0xe4, 0x61, + 0x98, 0x50, 0x5b, 0x2d, 0x07, 0x93, 0x73, 0x22, 0x7a, 0xf4, 0x28, 0xf8, 0x62, 0x62, 0x38, 0xf3, + 0x0c, 0x64, 0x78, 0x1c, 0xf0, 0x96, 0x8c, 0x23, 0xa1, 0xd8, 0xf4, 0x3c, 0x9d, 0x98, 0xcd, 0xca, + 0x19, 0x93, 0x2b, 0xcf, 0x42, 0x5e, 0x77, 0x95, 0xe0, 0xfa, 0x3d, 0x71, 0x26, 0x31, 0x9b, 0x91, + 0x73, 0xba, 0xeb, 0x5f, 0x5d, 0x96, 0x5f, 0x4b, 0x40, 0x21, 0xfa, 0xf9, 0x40, 0x5a, 0x85, 0x8c, + 0x61, 0x69, 0x2a, 0x49, 0x2d, 0xfa, 0xed, 0x6a, 0x36, 0xe6, 0x8b, 0xc3, 0xdc, 0x06, 0xb3, 0x97, + 0x7d, 0xe4, 0xcc, 0x3f, 0x08, 0x90, 0xe1, 0x62, 0xe9, 0x04, 0xa4, 0x6c, 0xd5, 0x3b, 0x20, 0x74, + 0xe9, 0xe5, 0x84, 0x28, 0xc8, 0xe4, 0x19, 0xcb, 0x5d, 0x5b, 0x35, 0x49, 0x0a, 0x30, 0x39, 0x7e, + 0xc6, 0xf3, 0x6a, 0x20, 0xb5, 0x49, 0xce, 0x35, 0x56, 0xbb, 0x8d, 0x4c, 0xcf, 0xe5, 0xf3, 0xca, + 0xe4, 0x2b, 0x4c, 0x2c, 0x3d, 0x06, 0x93, 0x9e, 0xa3, 0xea, 0x46, 0xc4, 0x36, 0x45, 0x6c, 0x45, + 0xae, 0xf0, 0x8d, 0x2b, 0x70, 0x8a, 0xf3, 0x36, 0x91, 0xa7, 0x6a, 0x07, 0xa8, 0x19, 0x80, 0x46, + 0xc9, 0xfd, 0xc5, 0x49, 0x66, 0xb0, 0xca, 0xf4, 0x1c, 0x5b, 0xfe, 0x9e, 0x00, 0x93, 0xfc, 0x24, + 0xd6, 0xf4, 0x83, 0xb5, 0x09, 0xa0, 0x9a, 0xa6, 0xe5, 0x85, 0xc3, 0xd5, 0x9f, 0xca, 0x7d, 0xb8, + 0xb9, 0xaa, 0x0f, 0x92, 0x43, 0x04, 0x33, 0x6d, 0x80, 0x40, 0x73, 0x64, 0xd8, 0x4e, 0x43, 0x8e, + 0x7d, 0x1b, 0x22, 0x1f, 0x18, 0xe9, 0xd9, 0x1d, 0xa8, 0x08, 0x1f, 0xd9, 0xa4, 0x69, 0x48, 0xef, + 0xa1, 0x96, 0x6e, 0xb2, 0x1b, 0x5f, 0xfa, 0xc0, 0x6f, 0x58, 0x52, 0xfe, 0x0d, 0xcb, 0xf2, 0xa7, + 0x61, 0x4a, 0xb3, 0xda, 0xbd, 0xee, 0x2e, 0x8b, 0x3d, 0xf7, 0x07, 0xee, 0x55, 0xe1, 0x05, 0x08, + 0x5a, 0xcc, 0xf7, 0x04, 0xe1, 0xcb, 0x89, 0xe4, 0xda, 0xf6, 0xf2, 0xd7, 0x12, 0x33, 0x6b, 0x14, + 0xba, 0xcd, 0x47, 0x2a, 0xa3, 0x7d, 0x03, 0x69, 0xd8, 0x7b, 0xf8, 0xca, 0x63, 0xf0, 0x44, 0x4b, + 0xf7, 0x0e, 0x3a, 0x7b, 0x73, 0x9a, 0xd5, 0x9e, 0x6f, 0x59, 0x2d, 0x2b, 0xf8, 0xa6, 0x8a, 0x9f, + 0xc8, 0x03, 0xf9, 0x8b, 0x7d, 0x57, 0xcd, 0xfa, 0xd2, 0x99, 0xd8, 0x8f, 0xb0, 0x95, 0x2d, 0x98, + 0x62, 0xc6, 0x0a, 0xf9, 0xb0, 0x43, 0x8f, 0x27, 0xd2, 0x3d, 0x2f, 0xc7, 0x8a, 0xdf, 0x78, 0x9b, + 0x6c, 0xd7, 0xf2, 0x24, 0x83, 0x62, 0x1d, 0x3d, 0xc1, 0x54, 0x64, 0xb8, 0x2f, 0xc2, 0x47, 0x97, + 0x26, 0x72, 0x62, 0x18, 0xbf, 0xcb, 0x18, 0xa7, 0x42, 0x8c, 0x0d, 0x06, 0xad, 0xac, 0xc0, 0xf8, + 0x71, 0xb8, 0xfe, 0x8e, 0x71, 0xe5, 0x51, 0x98, 0x64, 0x0d, 0x26, 0x08, 0x89, 0xd6, 0x71, 0x3d, + 0xab, 0x4d, 0xea, 0xde, 0xbd, 0x69, 0xfe, 0xfe, 0x6d, 0xba, 0x56, 0x0a, 0x18, 0xb6, 0xe2, 0xa3, + 0x2a, 0x15, 0x20, 0xdf, 0xb2, 0x9a, 0x48, 0x33, 0x62, 0x18, 0x5e, 0x67, 0x8e, 0xf8, 0xf6, 0x95, + 0x4f, 0xc1, 0x34, 0xfe, 0x9b, 0x94, 0xa5, 0xb0, 0x27, 0xf1, 0x37, 0x69, 0xc5, 0xef, 0xbd, 0x44, + 0x97, 0xe3, 0x94, 0x4f, 0x10, 0xf2, 0x29, 0x34, 0x8b, 0x2d, 0xe4, 0x79, 0xc8, 0x71, 0x15, 0xd5, + 0x18, 0xe4, 0x5e, 0xe8, 0x2a, 0xa2, 0xf8, 0x85, 0x77, 0xa2, 0xb3, 0xb8, 0x46, 0x91, 0x55, 0xc3, + 0xa8, 0xec, 0xc2, 0xc9, 0x01, 0x59, 0x31, 0x04, 0xe7, 0xcb, 0x8c, 0x73, 0xba, 0x2f, 0x33, 0x30, + 0xed, 0x36, 0x70, 0xb9, 0x3f, 0x97, 0x43, 0x70, 0xfe, 0x0e, 0xe3, 0x94, 0x18, 0x96, 0x4f, 0x29, + 0x66, 0x7c, 0x06, 0x26, 0x6f, 0x20, 0x67, 0xcf, 0x72, 0xd9, 0xf5, 0xcf, 0x10, 0x74, 0xaf, 0x30, + 0xba, 0x09, 0x06, 0x24, 0xf7, 0x41, 0x98, 0xeb, 0x12, 0x64, 0xf6, 0x55, 0x0d, 0x0d, 0x41, 0xf1, + 0x45, 0x46, 0x31, 0x86, 0xed, 0x31, 0xb4, 0x0a, 0xf9, 0x96, 0xc5, 0x76, 0xa6, 0x78, 0xf8, 0xab, + 0x0c, 0x9e, 0xe3, 0x18, 0x46, 0x61, 0x5b, 0x76, 0xc7, 0xc0, 0xdb, 0x56, 0x3c, 0xc5, 0xef, 0x72, + 0x0a, 0x8e, 0x61, 0x14, 0xc7, 0x08, 0xeb, 0xef, 0x71, 0x0a, 0x37, 0x14, 0xcf, 0xa7, 0x21, 0x67, + 0x99, 0x46, 0xd7, 0x32, 0x87, 0x71, 0xe2, 0x4b, 0x8c, 0x01, 0x18, 0x04, 0x13, 0x5c, 0x86, 0xec, + 0xb0, 0x13, 0xf1, 0x07, 0xef, 0xf0, 0xe5, 0xc1, 0x67, 0x60, 0x0d, 0x26, 0x78, 0x81, 0xd2, 0x2d, + 0x73, 0x08, 0x8a, 0xaf, 0x30, 0x8a, 0x42, 0x08, 0xc6, 0x86, 0xe1, 0x21, 0xd7, 0x6b, 0xa1, 0x61, + 0x48, 0x5e, 0xe3, 0xc3, 0x60, 0x10, 0x16, 0xca, 0x3d, 0x64, 0x6a, 0x07, 0xc3, 0x31, 0x7c, 0x95, + 0x87, 0x92, 0x63, 0x30, 0xc5, 0x0a, 0x8c, 0xb7, 0x55, 0xc7, 0x3d, 0x50, 0x8d, 0xa1, 0xa6, 0xe3, + 0x0f, 0x19, 0x47, 0xde, 0x07, 0xb1, 0x88, 0x74, 0xcc, 0xe3, 0xd0, 0x7c, 0x8d, 0x47, 0x24, 0x04, + 0x63, 0x4b, 0xcf, 0xf5, 0xc8, 0x5d, 0xd9, 0x71, 0xd8, 0xfe, 0x88, 0x2f, 0x3d, 0x8a, 0xdd, 0x0c, + 0x33, 0x5e, 0x86, 0xac, 0xab, 0xdf, 0x1a, 0x8a, 0xe6, 0x8f, 0xf9, 0x4c, 0x13, 0x00, 0x06, 0x3f, + 0x0f, 0xa7, 0x06, 0x6e, 0x13, 0x43, 0x90, 0xfd, 0x09, 0x23, 0x3b, 0x31, 0x60, 0xab, 0x60, 0x25, + 0xe1, 0xb8, 0x94, 0x7f, 0xca, 0x4b, 0x02, 0xea, 0xe1, 0xda, 0xc6, 0x67, 0x05, 0x57, 0xdd, 0x3f, + 0x5e, 0xd4, 0xfe, 0x8c, 0x47, 0x8d, 0x62, 0x23, 0x51, 0xdb, 0x81, 0x13, 0x8c, 0xf1, 0x78, 0xf3, + 0xfa, 0x75, 0x5e, 0x58, 0x29, 0x7a, 0x37, 0x3a, 0xbb, 0x9f, 0x86, 0x19, 0x3f, 0x9c, 0xbc, 0x29, + 0x75, 0x95, 0xb6, 0x6a, 0x0f, 0xc1, 0xfc, 0x0d, 0xc6, 0xcc, 0x2b, 0xbe, 0xdf, 0xd5, 0xba, 0x9b, + 0xaa, 0x8d, 0xc9, 0x9f, 0x83, 0x22, 0x27, 0xef, 0x98, 0x0e, 0xd2, 0xac, 0x96, 0xa9, 0xdf, 0x42, + 0xcd, 0x21, 0xa8, 0xff, 0xbc, 0x67, 0xaa, 0x76, 0x43, 0x70, 0xcc, 0xbc, 0x0e, 0xa2, 0xdf, 0xab, + 0x28, 0x7a, 0xdb, 0xb6, 0x1c, 0x2f, 0x86, 0xf1, 0x2f, 0xf8, 0x4c, 0xf9, 0xb8, 0x75, 0x02, 0xab, + 0xd4, 0xa0, 0x40, 0x1e, 0x87, 0x4d, 0xc9, 0xbf, 0x64, 0x44, 0xe3, 0x01, 0x8a, 0x15, 0x0e, 0xcd, + 0x6a, 0xdb, 0xaa, 0x33, 0x4c, 0xfd, 0xfb, 0x2b, 0x5e, 0x38, 0x18, 0x84, 0x15, 0x0e, 0xaf, 0x6b, + 0x23, 0xbc, 0xdb, 0x0f, 0xc1, 0xf0, 0x4d, 0x5e, 0x38, 0x38, 0x86, 0x51, 0xf0, 0x86, 0x61, 0x08, + 0x8a, 0xbf, 0xe6, 0x14, 0x1c, 0x83, 0x29, 0x3e, 0x19, 0x6c, 0xb4, 0x0e, 0x6a, 0xe9, 0xae, 0xe7, + 0xd0, 0x56, 0xf8, 0xde, 0x54, 0xdf, 0x7a, 0x27, 0xda, 0x84, 0xc9, 0x21, 0x28, 0xae, 0x44, 0xec, + 0x0a, 0x95, 0x9c, 0x94, 0xe2, 0x1d, 0xfb, 0x36, 0xaf, 0x44, 0x21, 0x18, 0xf6, 0x2d, 0xd4, 0x21, + 0xe2, 0xb0, 0x6b, 0xf8, 0x7c, 0x30, 0x04, 0xdd, 0x77, 0x7a, 0x9c, 0x6b, 0x70, 0x2c, 0xe6, 0x0c, + 0xf5, 0x3f, 0x1d, 0xf3, 0x3a, 0xea, 0x0e, 0x95, 0x9d, 0x7f, 0xd3, 0xd3, 0xff, 0xec, 0x52, 0x24, + 0xad, 0x21, 0x13, 0x3d, 0xfd, 0x94, 0x14, 0xf7, 0x2b, 0xa0, 0xe2, 0xcf, 0xde, 0x65, 0xe3, 0x8d, + 0xb6, 0x53, 0x95, 0x0d, 0x9c, 0xe4, 0xd1, 0xa6, 0x27, 0x9e, 0xec, 0xa5, 0xbb, 0x7e, 0x9e, 0x47, + 0x7a, 0x9e, 0xca, 0x15, 0x18, 0x8f, 0x34, 0x3c, 0xf1, 0x54, 0x3f, 0xc7, 0xa8, 0xf2, 0xe1, 0x7e, + 0xa7, 0xb2, 0x04, 0x29, 0xdc, 0xbc, 0xc4, 0xc3, 0x7f, 0x9e, 0xc1, 0x89, 0x79, 0xe5, 0xe3, 0x90, + 0xe1, 0x4d, 0x4b, 0x3c, 0xf4, 0x17, 0x18, 0xd4, 0x87, 0x60, 0x38, 0x6f, 0x58, 0xe2, 0xe1, 0xbf, + 0xc8, 0xe1, 0x1c, 0x82, 0xe1, 0xc3, 0x87, 0xf0, 0x6f, 0x7f, 0x29, 0xc5, 0x36, 0x1d, 0x1e, 0xbb, + 0xcb, 0x30, 0xc6, 0x3a, 0x95, 0x78, 0xf4, 0x67, 0xd9, 0xcb, 0x39, 0xa2, 0x72, 0x01, 0xd2, 0x43, + 0x06, 0xfc, 0x57, 0x18, 0x94, 0xda, 0x57, 0x56, 0x20, 0x17, 0xea, 0x4e, 0xe2, 0xe1, 0xbf, 0xca, + 0xe0, 0x61, 0x14, 0x76, 0x9d, 0x75, 0x27, 0xf1, 0x04, 0xbf, 0xc6, 0x5d, 0x67, 0x08, 0x1c, 0x36, + 0xde, 0x98, 0xc4, 0xa3, 0x7f, 0x9d, 0x47, 0x9d, 0x43, 0x2a, 0x4f, 0x43, 0xd6, 0xdf, 0x6c, 0xe2, + 0xf1, 0xbf, 0xc1, 0xf0, 0x01, 0x06, 0x47, 0x20, 0xb4, 0xd9, 0xc5, 0x53, 0x7c, 0x8e, 0x47, 0x20, + 0x84, 0xc2, 0xcb, 0xa8, 0xb7, 0x81, 0x89, 0x67, 0xfa, 0x4d, 0xbe, 0x8c, 0x7a, 0xfa, 0x17, 0x3c, + 0x9b, 0xa4, 0xe6, 0xc7, 0x53, 0xfc, 0x16, 0x9f, 0x4d, 0x62, 0x8f, 0xdd, 0xe8, 0xed, 0x08, 0xe2, + 0x39, 0x7e, 0x9b, 0xbb, 0xd1, 0xd3, 0x10, 0x54, 0xb6, 0x41, 0xea, 0xef, 0x06, 0xe2, 0xf9, 0x3e, + 0xcf, 0xf8, 0x26, 0xfb, 0x9a, 0x81, 0xca, 0xb3, 0x70, 0x62, 0x70, 0x27, 0x10, 0xcf, 0xfa, 0x85, + 0xbb, 0x3d, 0x67, 0xb7, 0x70, 0x23, 0x50, 0xd9, 0x09, 0xb6, 0x94, 0x70, 0x17, 0x10, 0x4f, 0xfb, + 0xf2, 0xdd, 0x68, 0xe1, 0x0e, 0x37, 0x01, 0x95, 0x2a, 0x40, 0xb0, 0x01, 0xc7, 0x73, 0xbd, 0xc2, + 0xb8, 0x42, 0x20, 0xbc, 0x34, 0xd8, 0xfe, 0x1b, 0x8f, 0xff, 0x22, 0x5f, 0x1a, 0x0c, 0x81, 0x97, + 0x06, 0xdf, 0x7a, 0xe3, 0xd1, 0xaf, 0xf2, 0xa5, 0xc1, 0x21, 0x38, 0xb3, 0x43, 0xbb, 0x5b, 0x3c, + 0xc3, 0x97, 0x78, 0x66, 0x87, 0x50, 0x95, 0x2d, 0x98, 0xec, 0xdb, 0x10, 0xe3, 0xa9, 0xbe, 0xcc, + 0xa8, 0xc4, 0xde, 0xfd, 0x30, 0xbc, 0x79, 0xb1, 0xcd, 0x30, 0x9e, 0xed, 0xf7, 0x7b, 0x36, 0x2f, + 0xb6, 0x17, 0x56, 0x2e, 0x43, 0xc6, 0xec, 0x18, 0x06, 0x5e, 0x3c, 0xd2, 0xbd, 0x7f, 0xb9, 0x57, + 0xfc, 0xd7, 0xf7, 0x59, 0x74, 0x38, 0xa0, 0xb2, 0x04, 0x69, 0xd4, 0xde, 0x43, 0xcd, 0x38, 0xe4, + 0xbf, 0xbd, 0xcf, 0x0b, 0x26, 0xb6, 0xae, 0x3c, 0x0d, 0x40, 0xaf, 0x46, 0xc8, 0x67, 0xbf, 0x18, + 0xec, 0xbf, 0xbf, 0xcf, 0x7e, 0x53, 0x13, 0x40, 0x02, 0x02, 0xfa, 0x0b, 0x9d, 0x7b, 0x13, 0xbc, + 0x13, 0x25, 0x20, 0x33, 0x72, 0x09, 0xc6, 0xae, 0xb9, 0x96, 0xe9, 0xa9, 0xad, 0x38, 0xf4, 0x7f, + 0x30, 0x34, 0xb7, 0xc7, 0x01, 0x6b, 0x5b, 0x0e, 0xf2, 0xd4, 0x96, 0x1b, 0x87, 0xfd, 0x4f, 0x86, + 0xf5, 0x01, 0x18, 0xac, 0xa9, 0xae, 0x37, 0xcc, 0xb8, 0xff, 0x8b, 0x83, 0x39, 0x00, 0x3b, 0x8d, + 0xff, 0xbe, 0x8e, 0xba, 0x71, 0xd8, 0x77, 0xb9, 0xd3, 0xcc, 0xbe, 0xf2, 0x71, 0xc8, 0xe2, 0x3f, + 0xe9, 0x0f, 0xe5, 0x62, 0xc0, 0xff, 0xcd, 0xc0, 0x01, 0x02, 0xbf, 0xd9, 0xf5, 0x9a, 0x9e, 0x1e, + 0x1f, 0xec, 0xff, 0x61, 0x33, 0xcd, 0xed, 0x2b, 0x55, 0xc8, 0xb9, 0x5e, 0xb3, 0xd9, 0x61, 0xfd, + 0x69, 0x0c, 0xfc, 0x7f, 0xdf, 0xf7, 0xaf, 0x2c, 0x7c, 0x0c, 0x9e, 0xed, 0x9b, 0xd7, 0x3d, 0xdb, + 0x22, 0x9f, 0x39, 0xe2, 0x18, 0xee, 0x32, 0x86, 0x10, 0x64, 0xb9, 0x36, 0xf8, 0xfa, 0x16, 0xd6, + 0xac, 0x35, 0x8b, 0x5e, 0xdc, 0xbe, 0x50, 0x8e, 0xbf, 0x81, 0x85, 0x1f, 0x66, 0x60, 0x46, 0xb3, + 0xda, 0x7b, 0x96, 0x3b, 0xef, 0x97, 0xe3, 0x79, 0xcb, 0x64, 0x8c, 0x52, 0xd2, 0x32, 0xd1, 0xcc, + 0xf1, 0x6e, 0x72, 0xcb, 0xa7, 0x20, 0xdd, 0xe8, 0xec, 0xed, 0x75, 0x25, 0x11, 0x92, 0x6e, 0x67, + 0x8f, 0xfd, 0xdc, 0x0a, 0xff, 0x59, 0x7e, 0x33, 0x09, 0xe3, 0x55, 0xc3, 0xd8, 0xe9, 0xda, 0xc8, + 0xad, 0x9b, 0xa8, 0xbe, 0x2f, 0x15, 0x61, 0x94, 0x0c, 0xf5, 0x29, 0x62, 0x26, 0x5c, 0x1d, 0x91, + 0xd9, 0xb3, 0xaf, 0x59, 0x20, 0x77, 0xdc, 0x09, 0x5f, 0xb3, 0xe0, 0x6b, 0xce, 0xd1, 0x2b, 0x6e, + 0x5f, 0x73, 0xce, 0xd7, 0x2c, 0x92, 0x8b, 0xee, 0xa4, 0xaf, 0x59, 0xf4, 0x35, 0x4b, 0xe4, 0x43, + 0xce, 0xb8, 0xaf, 0x59, 0xf2, 0x35, 0xe7, 0xc9, 0xa7, 0x9b, 0x94, 0xaf, 0x39, 0xef, 0x6b, 0x2e, + 0x90, 0x2f, 0x36, 0x93, 0xbe, 0xe6, 0x82, 0xaf, 0xb9, 0x48, 0xbe, 0xd2, 0x48, 0xbe, 0xe6, 0xa2, + 0xaf, 0xb9, 0x44, 0x7e, 0x57, 0x35, 0xe6, 0x6b, 0x2e, 0x49, 0x33, 0x30, 0x46, 0x47, 0xf6, 0x24, + 0xf9, 0x94, 0x3f, 0x71, 0x75, 0x44, 0xe6, 0x82, 0x40, 0xf7, 0x14, 0xf9, 0xed, 0xd4, 0x68, 0xa0, + 0x7b, 0x2a, 0xd0, 0x2d, 0x90, 0xff, 0xc2, 0x21, 0x06, 0xba, 0x85, 0x40, 0x77, 0xae, 0x38, 0x8e, + 0x33, 0x24, 0xd0, 0x9d, 0x0b, 0x74, 0x8b, 0xc5, 0x02, 0x9e, 0x81, 0x40, 0xb7, 0x18, 0xe8, 0x96, + 0x8a, 0x13, 0x67, 0x84, 0xd9, 0x7c, 0xa0, 0x5b, 0x92, 0x9e, 0x80, 0x9c, 0xdb, 0xd9, 0x53, 0x58, + 0xad, 0x27, 0xbf, 0xd1, 0xca, 0x2d, 0xc0, 0x1c, 0xce, 0x09, 0x32, 0xad, 0x57, 0x47, 0x64, 0x70, + 0x3b, 0x7b, 0xac, 0x14, 0x2f, 0xe7, 0x81, 0xdc, 0x40, 0x29, 0xe4, 0xa7, 0xd5, 0xe5, 0x37, 0x04, + 0xc8, 0xee, 0xdc, 0xb4, 0xc8, 0x87, 0x7c, 0xf7, 0xff, 0x79, 0x72, 0xb9, 0xd3, 0xe7, 0x16, 0xc9, + 0xb7, 0xd6, 0xec, 0x55, 0x41, 0xe6, 0x82, 0x40, 0xb7, 0x54, 0x7c, 0x80, 0x0c, 0xc8, 0xd7, 0x2d, + 0x49, 0xf3, 0x90, 0x0f, 0x0d, 0x68, 0x81, 0xfc, 0x7a, 0x2a, 0x3a, 0x22, 0x41, 0xce, 0x05, 0x23, + 0x5a, 0x58, 0x4e, 0x03, 0x4e, 0x7b, 0xfc, 0x8f, 0x77, 0xd3, 0x2a, 0x7f, 0x2e, 0x01, 0x39, 0x7a, + 0x69, 0x4d, 0x46, 0x85, 0x5f, 0x45, 0xcf, 0x35, 0x5d, 0xe6, 0xc6, 0x88, 0xcc, 0x05, 0x92, 0x0c, + 0x40, 0x4d, 0x71, 0x86, 0x53, 0x4f, 0x96, 0x9f, 0xfc, 0xa7, 0x37, 0x4f, 0x3f, 0x7e, 0xe4, 0x0a, + 0xc2, 0xb1, 0x9b, 0xa7, 0x45, 0x7c, 0x6e, 0x57, 0x37, 0xbd, 0xa7, 0x16, 0x2e, 0xe2, 0x00, 0x07, + 0x2c, 0xd2, 0x2e, 0x64, 0x56, 0x54, 0x97, 0xfc, 0xee, 0x92, 0xb8, 0x9e, 0x5a, 0xbe, 0xf0, 0xc3, + 0x37, 0x4f, 0x9f, 0x8b, 0x61, 0x64, 0xf5, 0x75, 0x6e, 0xb3, 0x8b, 0x59, 0xcf, 0x2f, 0x62, 0xf8, + 0xd5, 0x11, 0xd9, 0xa7, 0x92, 0x16, 0xb8, 0xab, 0x5b, 0x6a, 0x9b, 0xfe, 0x4c, 0x2c, 0xb9, 0x2c, + 0x1e, 0xbe, 0x79, 0x3a, 0xbf, 0xd9, 0x0d, 0xe4, 0x81, 0x2b, 0xf8, 0x69, 0x39, 0x03, 0xa3, 0xd4, + 0xd5, 0xe5, 0xd5, 0xd7, 0xef, 0x94, 0x46, 0xde, 0xb8, 0x53, 0x1a, 0xf9, 0xc7, 0x3b, 0xa5, 0x91, + 0xb7, 0xee, 0x94, 0x84, 0x77, 0xef, 0x94, 0x84, 0xf7, 0xee, 0x94, 0x84, 0xdb, 0x87, 0x25, 0xe1, + 0xab, 0x87, 0x25, 0xe1, 0xeb, 0x87, 0x25, 0xe1, 0x5b, 0x87, 0x25, 0xe1, 0xf5, 0xc3, 0x92, 0xf0, + 0xc6, 0x61, 0x69, 0xe4, 0xad, 0xc3, 0x92, 0xf0, 0x83, 0xc3, 0xd2, 0xc8, 0xbb, 0x87, 0x25, 0xe1, + 0xbd, 0xc3, 0xd2, 0xc8, 0xed, 0xef, 0x97, 0x46, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x2f, + 0xe3, 0x3d, 0x71, 0x37, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -4725,47 +4770,3 @@ func valueToStringOne(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("combos/marshaler/one.proto", fileDescriptor_one_2f6d76776b72edfd) } - -var fileDescriptor_one_2f6d76776b72edfd = []byte{ - // 601 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0xbf, 0x4f, 0xdb, 0x4e, - 0x14, 0x00, 0xf0, 0x7b, 0x84, 0x84, 0x70, 0x09, 0x5f, 0xf2, 0xf5, 0x74, 0x65, 0x38, 0x4e, 0x69, - 0x2b, 0xdd, 0x50, 0x12, 0xe2, 0x24, 0xfc, 0x18, 0x6b, 0xaa, 0x2a, 0x0b, 0x45, 0x32, 0x30, 0xa3, - 0x98, 0x1e, 0x21, 0x52, 0xe2, 0x43, 0x39, 0x5b, 0xc8, 0x1b, 0x7f, 0x43, 0xff, 0x8a, 0x8e, 0x1d, - 0xfb, 0x27, 0x30, 0x32, 0x56, 0x1d, 0x22, 0xec, 0x2e, 0x1d, 0x19, 0x51, 0xa7, 0xea, 0x6c, 0x72, - 0x57, 0xa9, 0xaa, 0xba, 0x74, 0x8a, 0xdf, 0xfb, 0xf8, 0x5e, 0xde, 0xf3, 0xdd, 0xe1, 0x8d, 0x73, - 0x39, 0x0d, 0xa4, 0x6a, 0x4f, 0x87, 0x33, 0x75, 0x39, 0x9c, 0x88, 0x59, 0x5b, 0x86, 0xa2, 0x75, - 0x35, 0x93, 0x91, 0x74, 0x4a, 0x32, 0x14, 0x1b, 0x5b, 0xa3, 0x71, 0x74, 0x19, 0x07, 0xad, 0x73, - 0x39, 0x6d, 0x8f, 0xe4, 0x48, 0xb6, 0x73, 0x0b, 0xe2, 0x8b, 0x3c, 0xca, 0x83, 0xfc, 0xa9, 0x58, - 0xd3, 0x7c, 0x86, 0xcb, 0xc7, 0x71, 0x10, 0x24, 0x4e, 0x03, 0x97, 0x54, 0x1c, 0x10, 0x60, 0xc0, - 0x57, 0x7d, 0xfd, 0xd8, 0x9c, 0x97, 0xf0, 0xda, 0xeb, 0xc9, 0xe4, 0x24, 0xb9, 0x12, 0xea, 0x28, - 0x14, 0x47, 0x17, 0x0e, 0xc1, 0x95, 0xb7, 0x63, 0x31, 0x79, 0xdf, 0xc9, 0x5f, 0x83, 0x01, 0xf2, - 0x9f, 0x62, 0x23, 0x2e, 0x59, 0x62, 0xc0, 0x97, 0x8c, 0xb8, 0x46, 0xba, 0xa4, 0xc4, 0x80, 0x97, - 0x8d, 0x74, 0x8d, 0xf4, 0xc8, 0x32, 0x03, 0x5e, 0x32, 0xd2, 0x33, 0xd2, 0x27, 0x65, 0x06, 0x7c, - 0xcd, 0x48, 0xdf, 0xc8, 0x0e, 0xa9, 0x30, 0xe0, 0xcb, 0x46, 0x76, 0x8c, 0xec, 0x92, 0x15, 0x06, - 0xfc, 0x7f, 0x23, 0xbb, 0x46, 0xf6, 0x48, 0x95, 0x01, 0x77, 0x8c, 0xec, 0x19, 0xd9, 0x27, 0xab, - 0x0c, 0xf8, 0x8a, 0x91, 0x7d, 0x67, 0x03, 0xaf, 0x14, 0x93, 0x6d, 0x13, 0xcc, 0x80, 0xaf, 0x0f, - 0x90, 0xbf, 0x48, 0x58, 0xeb, 0x90, 0x1a, 0x03, 0x5e, 0xb1, 0xd6, 0xb1, 0xe6, 0x92, 0x3a, 0x03, - 0xde, 0xb0, 0xe6, 0x5a, 0xeb, 0x92, 0x35, 0x06, 0xbc, 0x6a, 0xad, 0x6b, 0xad, 0x47, 0xfe, 0xd3, - 0x3b, 0x60, 0xad, 0x67, 0xad, 0x4f, 0xd6, 0x19, 0xf0, 0xba, 0xb5, 0xbe, 0xb3, 0x85, 0x6b, 0x2a, - 0x0e, 0xce, 0xa6, 0x42, 0xa9, 0xe1, 0x48, 0x90, 0x06, 0x03, 0x5e, 0x73, 0x71, 0x4b, 0x9f, 0x89, - 0x7c, 0x5b, 0x07, 0xc8, 0xc7, 0x2a, 0x0e, 0x0e, 0x0b, 0xf7, 0xea, 0x18, 0x47, 0x42, 0x45, 0x67, - 0x32, 0x14, 0xf2, 0xa2, 0x79, 0x07, 0x78, 0xf5, 0xe4, 0x5a, 0x1e, 0xe9, 0x40, 0xfd, 0xe3, 0xcd, - 0x5d, 0x34, 0xdd, 0xed, 0x91, 0x66, 0x3e, 0x10, 0xf8, 0x8b, 0x84, 0xb5, 0x3e, 0x79, 0x9e, 0x0f, - 0x64, 0xac, 0xef, 0xb4, 0x71, 0xfd, 0x97, 0x81, 0x5c, 0xf2, 0xe2, 0xb7, 0x89, 0xc0, 0xaf, 0xd9, - 0x89, 0x5c, 0xaf, 0x8c, 0xf5, 0xb1, 0xd7, 0x3f, 0xd1, 0xb5, 0x6c, 0x7e, 0x58, 0xc2, 0xb5, 0x83, - 0x58, 0x45, 0x72, 0x9a, 0x4f, 0xa5, 0xff, 0xea, 0x38, 0x9a, 0x8d, 0xc3, 0x51, 0xf2, 0xd4, 0x06, - 0xf2, 0x17, 0x09, 0xc7, 0xc7, 0xb8, 0x78, 0x55, 0x9f, 0xf0, 0xa2, 0x13, 0x6f, 0xfb, 0xeb, 0x7c, - 0xf3, 0xd5, 0x1f, 0x6f, 0x90, 0xfe, 0x76, 0xed, 0xf3, 0x7c, 0x4d, 0xeb, 0x74, 0x1c, 0x46, 0x1d, - 0x77, 0x4f, 0x7f, 0x60, 0x5b, 0xc5, 0x39, 0xc5, 0xd5, 0x83, 0xa1, 0x8a, 0xf2, 0x8a, 0xba, 0xf5, - 0x65, 0x6f, 0xf7, 0xc7, 0x7c, 0xb3, 0xfb, 0x97, 0x8a, 0x43, 0x15, 0x45, 0xc9, 0x95, 0x68, 0x1d, - 0x26, 0xba, 0xea, 0x4e, 0x4f, 0x2f, 0x1f, 0x20, 0xdf, 0x94, 0x72, 0xdc, 0x45, 0xab, 0xef, 0x86, - 0x53, 0x41, 0x5e, 0xea, 0xeb, 0xe2, 0x35, 0xb2, 0xf9, 0x66, 0xfd, 0x30, 0xb1, 0x79, 0xdb, 0x8a, - 0x8e, 0xbc, 0x2a, 0xae, 0x14, 0xad, 0x7a, 0x6f, 0x6e, 0x53, 0x8a, 0xee, 0x52, 0x8a, 0xbe, 0xa4, - 0x14, 0xdd, 0xa7, 0x14, 0x1e, 0x52, 0x0a, 0x8f, 0x29, 0x85, 0x9b, 0x8c, 0xc2, 0xc7, 0x8c, 0xc2, - 0xa7, 0x8c, 0xc2, 0xe7, 0x8c, 0xc2, 0x6d, 0x46, 0xe1, 0x2e, 0xa3, 0xe8, 0x3e, 0xa3, 0xf0, 0x3d, - 0xa3, 0xe8, 0x21, 0xa3, 0xf0, 0x98, 0x51, 0x74, 0xf3, 0x8d, 0xa2, 0x9f, 0x01, 0x00, 0x00, 0xff, - 0xff, 0xcf, 0xa5, 0xfc, 0x33, 0x7a, 0x04, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof/combos/neither/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof/combos/neither/one.pb.go index 39f4548eb..0efc15580 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof/combos/neither/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof/combos/neither/one.pb.go @@ -3,22 +3,21 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -41,7 +40,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1be15a5672864d55, []int{0} + return fileDescriptor_e4ee9759a7520144, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Subby.Unmarshal(m, b) @@ -49,8 +48,8 @@ func (m *Subby) XXX_Unmarshal(b []byte) error { func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Subby.Marshal(b, m, deterministic) } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return xxx_messageInfo_Subby.Size(m) @@ -88,7 +87,7 @@ type AllTypesOneOf struct { func (m *AllTypesOneOf) Reset() { *m = AllTypesOneOf{} } func (*AllTypesOneOf) ProtoMessage() {} func (*AllTypesOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1be15a5672864d55, []int{1} + return fileDescriptor_e4ee9759a7520144, []int{1} } func (m *AllTypesOneOf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllTypesOneOf.Unmarshal(m, b) @@ -96,8 +95,8 @@ func (m *AllTypesOneOf) XXX_Unmarshal(b []byte) error { func (m *AllTypesOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllTypesOneOf.Marshal(b, m, deterministic) } -func (dst *AllTypesOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTypesOneOf.Merge(dst, src) +func (m *AllTypesOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllTypesOneOf.Merge(m, src) } func (m *AllTypesOneOf) XXX_Size() int { return xxx_messageInfo_AllTypesOneOf.Size(m) @@ -590,7 +589,7 @@ type TwoOneofs struct { func (m *TwoOneofs) Reset() { *m = TwoOneofs{} } func (*TwoOneofs) ProtoMessage() {} func (*TwoOneofs) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1be15a5672864d55, []int{2} + return fileDescriptor_e4ee9759a7520144, []int{2} } func (m *TwoOneofs) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TwoOneofs.Unmarshal(m, b) @@ -598,8 +597,8 @@ func (m *TwoOneofs) XXX_Unmarshal(b []byte) error { func (m *TwoOneofs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TwoOneofs.Marshal(b, m, deterministic) } -func (dst *TwoOneofs) XXX_Merge(src proto.Message) { - xxx_messageInfo_TwoOneofs.Merge(dst, src) +func (m *TwoOneofs) XXX_Merge(src proto.Message) { + xxx_messageInfo_TwoOneofs.Merge(m, src) } func (m *TwoOneofs) XXX_Size() int { return xxx_messageInfo_TwoOneofs.Size(m) @@ -858,7 +857,7 @@ type CustomOneof struct { func (m *CustomOneof) Reset() { *m = CustomOneof{} } func (*CustomOneof) ProtoMessage() {} func (*CustomOneof) Descriptor() ([]byte, []int) { - return fileDescriptor_one_1be15a5672864d55, []int{3} + return fileDescriptor_e4ee9759a7520144, []int{3} } func (m *CustomOneof) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomOneof.Unmarshal(m, b) @@ -866,8 +865,8 @@ func (m *CustomOneof) XXX_Unmarshal(b []byte) error { func (m *CustomOneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomOneof.Marshal(b, m, deterministic) } -func (dst *CustomOneof) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomOneof.Merge(dst, src) +func (m *CustomOneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomOneof.Merge(m, src) } func (m *CustomOneof) XXX_Size() int { return xxx_messageInfo_CustomOneof.Size(m) @@ -1041,6 +1040,51 @@ func init() { proto.RegisterType((*TwoOneofs)(nil), "one.TwoOneofs") proto.RegisterType((*CustomOneof)(nil), "one.CustomOneof") } + +func init() { proto.RegisterFile("combos/neither/one.proto", fileDescriptor_e4ee9759a7520144) } + +var fileDescriptor_e4ee9759a7520144 = []byte{ + // 598 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0xbf, 0x4f, 0x1b, 0x3f, + 0x14, 0x00, 0x70, 0x3f, 0x42, 0x42, 0x70, 0xc2, 0x97, 0x7c, 0x6f, 0x72, 0x19, 0x8c, 0x95, 0xb6, + 0x92, 0x87, 0x92, 0x90, 0x4b, 0xc2, 0x8f, 0xb1, 0x47, 0x55, 0x65, 0xa1, 0x48, 0x07, 0xcc, 0x28, + 0x47, 0x4d, 0x88, 0x44, 0xce, 0x08, 0xfb, 0x84, 0xb2, 0xf1, 0x37, 0xf4, 0xaf, 0xe8, 0xd8, 0xb1, + 0x7f, 0x02, 0x23, 0x63, 0xd5, 0x21, 0xe2, 0xae, 0x4b, 0x47, 0x46, 0xd4, 0xa9, 0xf2, 0x1d, 0xb1, + 0x2b, 0x55, 0x55, 0x97, 0x4e, 0xb9, 0xf7, 0x3e, 0xe7, 0x97, 0xf7, 0xce, 0x36, 0x26, 0xa7, 0x72, + 0x12, 0x49, 0xd5, 0x8e, 0xc5, 0x58, 0x9f, 0x8b, 0xab, 0xb6, 0x8c, 0x45, 0xeb, 0xf2, 0x4a, 0x6a, + 0xe9, 0x95, 0x64, 0x2c, 0xd6, 0x36, 0x46, 0x63, 0x7d, 0x9e, 0x44, 0xad, 0x53, 0x39, 0x69, 0x8f, + 0xe4, 0x48, 0xb6, 0x73, 0x8b, 0x92, 0xb3, 0x3c, 0xca, 0x83, 0xfc, 0xa9, 0x58, 0xd3, 0x7c, 0x86, + 0xcb, 0x87, 0x49, 0x14, 0x4d, 0xbd, 0x06, 0x2e, 0xa9, 0x24, 0x22, 0xc0, 0x80, 0x2f, 0x87, 0xe6, + 0xb1, 0x39, 0x2b, 0xe1, 0x95, 0xd7, 0x17, 0x17, 0x47, 0xd3, 0x4b, 0xa1, 0x0e, 0x62, 0x71, 0x70, + 0xe6, 0x11, 0x5c, 0x79, 0x3b, 0x16, 0x17, 0xef, 0x3b, 0xf9, 0x6b, 0x30, 0x40, 0xe1, 0x53, 0x6c, + 0xc5, 0x27, 0x0b, 0x0c, 0xf8, 0x82, 0x15, 0xdf, 0x4a, 0x97, 0x94, 0x18, 0xf0, 0xb2, 0x95, 0xae, + 0x95, 0x1e, 0x59, 0x64, 0xc0, 0x4b, 0x56, 0x7a, 0x56, 0xfa, 0xa4, 0xcc, 0x80, 0xaf, 0x58, 0xe9, + 0x5b, 0xd9, 0x22, 0x15, 0x06, 0x7c, 0xd1, 0xca, 0x96, 0x95, 0x6d, 0xb2, 0xc4, 0x80, 0xff, 0x6f, + 0x65, 0xdb, 0xca, 0x0e, 0xa9, 0x32, 0xe0, 0x9e, 0x95, 0x1d, 0x2b, 0xbb, 0x64, 0x99, 0x01, 0x5f, + 0xb2, 0xb2, 0xeb, 0xad, 0xe1, 0xa5, 0x62, 0xb2, 0x4d, 0x82, 0x19, 0xf0, 0xd5, 0x01, 0x0a, 0xe7, + 0x09, 0x67, 0x1d, 0x52, 0x63, 0xc0, 0x2b, 0xce, 0x3a, 0xce, 0x7c, 0x52, 0x67, 0xc0, 0x1b, 0xce, + 0x7c, 0x67, 0x5d, 0xb2, 0xc2, 0x80, 0x57, 0x9d, 0x75, 0x9d, 0xf5, 0xc8, 0x7f, 0x66, 0x07, 0x9c, + 0xf5, 0x9c, 0xf5, 0xc9, 0x2a, 0x03, 0x5e, 0x77, 0xd6, 0xf7, 0x36, 0x70, 0x4d, 0x25, 0xd1, 0xc9, + 0x44, 0x28, 0x35, 0x1c, 0x09, 0xd2, 0x60, 0xc0, 0x6b, 0x3e, 0x6e, 0x99, 0x33, 0x91, 0x6f, 0xeb, + 0x00, 0x85, 0x58, 0x25, 0xd1, 0x7e, 0xe1, 0x41, 0x1d, 0x63, 0x2d, 0x94, 0x3e, 0x91, 0xb1, 0x90, + 0x67, 0xcd, 0x3b, 0xc0, 0xcb, 0x47, 0xd7, 0xf2, 0xc0, 0x04, 0xea, 0x1f, 0x6f, 0xee, 0xbc, 0xe9, + 0x6e, 0x8f, 0x34, 0xf3, 0x81, 0x20, 0x9c, 0x27, 0x9c, 0xf5, 0xc9, 0xf3, 0x7c, 0x20, 0x6b, 0x7d, + 0xaf, 0x8d, 0xeb, 0xbf, 0x0c, 0xe4, 0x93, 0x17, 0xbf, 0x4d, 0x04, 0x61, 0xcd, 0x4d, 0xe4, 0x07, + 0x65, 0x6c, 0x8e, 0xbd, 0xf9, 0xd1, 0xd7, 0xb2, 0xf9, 0x61, 0x01, 0xd7, 0xf6, 0x12, 0xa5, 0xe5, + 0x24, 0x9f, 0xca, 0xfc, 0xd5, 0xa1, 0xbe, 0x1a, 0xc7, 0xa3, 0xe9, 0x53, 0x1b, 0x28, 0x9c, 0x27, + 0xbc, 0x10, 0xe3, 0xe2, 0x55, 0x73, 0xc2, 0x8b, 0x4e, 0x82, 0xcd, 0xaf, 0xb3, 0xf5, 0x57, 0x7f, + 0xbc, 0x41, 0xe6, 0xdb, 0xb5, 0x4f, 0xf3, 0x35, 0xad, 0xe3, 0x71, 0xac, 0x3b, 0xfe, 0x8e, 0xf9, + 0xc0, 0xae, 0x8a, 0x77, 0x8c, 0xab, 0x7b, 0x43, 0xa5, 0xf3, 0x8a, 0xa6, 0xf5, 0xc5, 0x60, 0xfb, + 0xc7, 0x6c, 0xbd, 0xfb, 0x97, 0x8a, 0x43, 0xa5, 0xf5, 0xf4, 0x52, 0xb4, 0xf6, 0xa7, 0xa6, 0xea, + 0x56, 0xcf, 0x2c, 0x1f, 0xa0, 0xd0, 0x96, 0xf2, 0xfc, 0x79, 0xab, 0xef, 0x86, 0x13, 0x41, 0x5e, + 0x9a, 0xeb, 0x12, 0x34, 0xb2, 0xd9, 0x7a, 0x7d, 0x7f, 0xea, 0xf2, 0xae, 0x15, 0x13, 0x05, 0x55, + 0x5c, 0x29, 0x5a, 0x0d, 0xde, 0xdc, 0xa6, 0x14, 0xdd, 0xa5, 0x14, 0x7d, 0x49, 0x29, 0xba, 0x4f, + 0x29, 0x3c, 0xa4, 0x14, 0x1e, 0x53, 0x0a, 0x37, 0x19, 0x85, 0x8f, 0x19, 0x85, 0x4f, 0x19, 0x85, + 0xcf, 0x19, 0x85, 0xdb, 0x8c, 0xa2, 0xbb, 0x8c, 0xa2, 0xfb, 0x8c, 0xc2, 0xf7, 0x8c, 0xa2, 0x87, + 0x8c, 0xc2, 0x63, 0x46, 0xd1, 0xcd, 0x37, 0x8a, 0x7e, 0x06, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x27, + 0x4d, 0xb9, 0x78, 0x04, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -1056,274 +1100,276 @@ func (this *CustomOneof) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4265 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x24, 0xd7, - 0x55, 0x56, 0xcf, 0x8f, 0x34, 0x73, 0x66, 0x34, 0x6a, 0x5d, 0xc9, 0xbb, 0xb3, 0x72, 0xac, 0xdd, - 0x1d, 0xdb, 0xb1, 0x6c, 0xc7, 0x92, 0xad, 0x95, 0xf6, 0x67, 0x96, 0xc4, 0x8c, 0xa4, 0x59, 0xad, - 0x8c, 0xa4, 0x51, 0x7a, 0xa4, 0xf8, 0x27, 0x45, 0x75, 0xb5, 0x7a, 0xae, 0x46, 0xbd, 0xdb, 0xd3, - 0xdd, 0xe9, 0xee, 0xd9, 0xb5, 0xb6, 0x78, 0x58, 0xca, 0xfc, 0x54, 0x8a, 0xe2, 0x2f, 0x50, 0x45, - 0x62, 0x1c, 0x43, 0x42, 0x11, 0x87, 0xf0, 0x97, 0x10, 0x08, 0x49, 0x78, 0xe1, 0x25, 0xe0, 0x27, - 0xca, 0x79, 0xa3, 0x28, 0xca, 0xe5, 0x55, 0x5c, 0x45, 0x00, 0x43, 0x0c, 0xec, 0x83, 0x0b, 0xbf, - 0x50, 0xf7, 0xaf, 0xbb, 0xe7, 0x47, 0xdb, 0xa3, 0x14, 0x76, 0x9e, 0x56, 0x7d, 0xce, 0xf9, 0xbe, - 0x3e, 0xf7, 0xdc, 0x73, 0xcf, 0x3d, 0xf7, 0xf6, 0x2c, 0xfc, 0xe8, 0x12, 0x9c, 0x69, 0xda, 0x76, - 0xd3, 0xc4, 0x73, 0x8e, 0x6b, 0xfb, 0xf6, 0x6e, 0x7b, 0x6f, 0xae, 0x81, 0x3d, 0xdd, 0x35, 0x1c, - 0xdf, 0x76, 0x67, 0xa9, 0x0c, 0x8d, 0x31, 0x8b, 0x59, 0x61, 0x51, 0xda, 0x80, 0xf1, 0x2b, 0x86, - 0x89, 0x57, 0x02, 0xc3, 0x3a, 0xf6, 0xd1, 0x45, 0x48, 0xed, 0x19, 0x26, 0x2e, 0x4a, 0x67, 0x92, - 0x33, 0xb9, 0xf9, 0x87, 0x66, 0xbb, 0x40, 0xb3, 0x9d, 0x88, 0x2d, 0x22, 0x56, 0x28, 0xa2, 0xf4, - 0x76, 0x0a, 0x26, 0xfa, 0x68, 0x11, 0x82, 0x94, 0xa5, 0xb5, 0x08, 0xa3, 0x34, 0x93, 0x55, 0xe8, - 0xdf, 0xa8, 0x08, 0x23, 0x8e, 0xa6, 0x5f, 0xd7, 0x9a, 0xb8, 0x98, 0xa0, 0x62, 0xf1, 0x88, 0xa6, - 0x01, 0x1a, 0xd8, 0xc1, 0x56, 0x03, 0x5b, 0xfa, 0x41, 0x31, 0x79, 0x26, 0x39, 0x93, 0x55, 0x22, - 0x12, 0xf4, 0x38, 0x8c, 0x3b, 0xed, 0x5d, 0xd3, 0xd0, 0xd5, 0x88, 0x19, 0x9c, 0x49, 0xce, 0xa4, - 0x15, 0x99, 0x29, 0x56, 0x42, 0xe3, 0x47, 0x60, 0xec, 0x26, 0xd6, 0xae, 0x47, 0x4d, 0x73, 0xd4, - 0xb4, 0x40, 0xc4, 0x11, 0xc3, 0x65, 0xc8, 0xb7, 0xb0, 0xe7, 0x69, 0x4d, 0xac, 0xfa, 0x07, 0x0e, - 0x2e, 0xa6, 0xe8, 0xe8, 0xcf, 0xf4, 0x8c, 0xbe, 0x7b, 0xe4, 0x39, 0x8e, 0xda, 0x3e, 0x70, 0x30, - 0xaa, 0x40, 0x16, 0x5b, 0xed, 0x16, 0x63, 0x48, 0x1f, 0x11, 0xbf, 0xaa, 0xd5, 0x6e, 0x75, 0xb3, - 0x64, 0x08, 0x8c, 0x53, 0x8c, 0x78, 0xd8, 0xbd, 0x61, 0xe8, 0xb8, 0x38, 0x4c, 0x09, 0x1e, 0xe9, - 0x21, 0xa8, 0x33, 0x7d, 0x37, 0x87, 0xc0, 0xa1, 0x65, 0xc8, 0xe2, 0x17, 0x7d, 0x6c, 0x79, 0x86, - 0x6d, 0x15, 0x47, 0x28, 0xc9, 0xc3, 0x7d, 0x66, 0x11, 0x9b, 0x8d, 0x6e, 0x8a, 0x10, 0x87, 0xce, - 0xc3, 0x88, 0xed, 0xf8, 0x86, 0x6d, 0x79, 0xc5, 0xcc, 0x19, 0x69, 0x26, 0x37, 0xff, 0x91, 0xbe, - 0x89, 0x50, 0x63, 0x36, 0x8a, 0x30, 0x46, 0x6b, 0x20, 0x7b, 0x76, 0xdb, 0xd5, 0xb1, 0xaa, 0xdb, - 0x0d, 0xac, 0x1a, 0xd6, 0x9e, 0x5d, 0xcc, 0x52, 0x82, 0xd3, 0xbd, 0x03, 0xa1, 0x86, 0xcb, 0x76, - 0x03, 0xaf, 0x59, 0x7b, 0xb6, 0x52, 0xf0, 0x3a, 0x9e, 0xd1, 0x09, 0x18, 0xf6, 0x0e, 0x2c, 0x5f, - 0x7b, 0xb1, 0x98, 0xa7, 0x19, 0xc2, 0x9f, 0x4a, 0xdf, 0x19, 0x86, 0xb1, 0x41, 0x52, 0xec, 0x32, - 0xa4, 0xf7, 0xc8, 0x28, 0x8b, 0x89, 0xe3, 0xc4, 0x80, 0x61, 0x3a, 0x83, 0x38, 0xfc, 0x63, 0x06, - 0xb1, 0x02, 0x39, 0x0b, 0x7b, 0x3e, 0x6e, 0xb0, 0x8c, 0x48, 0x0e, 0x98, 0x53, 0xc0, 0x40, 0xbd, - 0x29, 0x95, 0xfa, 0xb1, 0x52, 0xea, 0x39, 0x18, 0x0b, 0x5c, 0x52, 0x5d, 0xcd, 0x6a, 0x8a, 0xdc, - 0x9c, 0x8b, 0xf3, 0x64, 0xb6, 0x2a, 0x70, 0x0a, 0x81, 0x29, 0x05, 0xdc, 0xf1, 0x8c, 0x56, 0x00, - 0x6c, 0x0b, 0xdb, 0x7b, 0x6a, 0x03, 0xeb, 0x66, 0x31, 0x73, 0x44, 0x94, 0x6a, 0xc4, 0xa4, 0x27, - 0x4a, 0x36, 0x93, 0xea, 0x26, 0xba, 0x14, 0xa6, 0xda, 0xc8, 0x11, 0x99, 0xb2, 0xc1, 0x16, 0x59, - 0x4f, 0xb6, 0xed, 0x40, 0xc1, 0xc5, 0x24, 0xef, 0x71, 0x83, 0x8f, 0x2c, 0x4b, 0x9d, 0x98, 0x8d, - 0x1d, 0x99, 0xc2, 0x61, 0x6c, 0x60, 0xa3, 0x6e, 0xf4, 0x11, 0x3d, 0x08, 0x81, 0x40, 0xa5, 0x69, - 0x05, 0xb4, 0x0a, 0xe5, 0x85, 0x70, 0x53, 0x6b, 0xe1, 0xa9, 0x5b, 0x50, 0xe8, 0x0c, 0x0f, 0x9a, - 0x84, 0xb4, 0xe7, 0x6b, 0xae, 0x4f, 0xb3, 0x30, 0xad, 0xb0, 0x07, 0x24, 0x43, 0x12, 0x5b, 0x0d, - 0x5a, 0xe5, 0xd2, 0x0a, 0xf9, 0x13, 0xfd, 0x74, 0x38, 0xe0, 0x24, 0x1d, 0xf0, 0x47, 0x7b, 0x67, - 0xb4, 0x83, 0xb9, 0x7b, 0xdc, 0x53, 0x17, 0x60, 0xb4, 0x63, 0x00, 0x83, 0xbe, 0xba, 0xf4, 0x73, - 0x70, 0x5f, 0x5f, 0x6a, 0xf4, 0x1c, 0x4c, 0xb6, 0x2d, 0xc3, 0xf2, 0xb1, 0xeb, 0xb8, 0x98, 0x64, - 0x2c, 0x7b, 0x55, 0xf1, 0x5f, 0x46, 0x8e, 0xc8, 0xb9, 0x9d, 0xa8, 0x35, 0x63, 0x51, 0x26, 0xda, - 0xbd, 0xc2, 0xc7, 0xb2, 0x99, 0x1f, 0x8e, 0xc8, 0xb7, 0x6f, 0xdf, 0xbe, 0x9d, 0x28, 0x7d, 0x7e, - 0x18, 0x26, 0xfb, 0xad, 0x99, 0xbe, 0xcb, 0xf7, 0x04, 0x0c, 0x5b, 0xed, 0xd6, 0x2e, 0x76, 0x69, - 0x90, 0xd2, 0x0a, 0x7f, 0x42, 0x15, 0x48, 0x9b, 0xda, 0x2e, 0x36, 0x8b, 0xa9, 0x33, 0xd2, 0x4c, - 0x61, 0xfe, 0xf1, 0x81, 0x56, 0xe5, 0xec, 0x3a, 0x81, 0x28, 0x0c, 0x89, 0x3e, 0x01, 0x29, 0x5e, - 0xa2, 0x09, 0xc3, 0x63, 0x83, 0x31, 0x90, 0xb5, 0xa4, 0x50, 0x1c, 0xba, 0x1f, 0xb2, 0xe4, 0x5f, - 0x96, 0x1b, 0xc3, 0xd4, 0xe7, 0x0c, 0x11, 0x90, 0xbc, 0x40, 0x53, 0x90, 0xa1, 0xcb, 0xa4, 0x81, - 0xc5, 0xd6, 0x16, 0x3c, 0x93, 0xc4, 0x6a, 0xe0, 0x3d, 0xad, 0x6d, 0xfa, 0xea, 0x0d, 0xcd, 0x6c, - 0x63, 0x9a, 0xf0, 0x59, 0x25, 0xcf, 0x85, 0x9f, 0x22, 0x32, 0x74, 0x1a, 0x72, 0x6c, 0x55, 0x19, - 0x56, 0x03, 0xbf, 0x48, 0xab, 0x67, 0x5a, 0x61, 0x0b, 0x6d, 0x8d, 0x48, 0xc8, 0xeb, 0xaf, 0x79, - 0xb6, 0x25, 0x52, 0x93, 0xbe, 0x82, 0x08, 0xe8, 0xeb, 0x2f, 0x74, 0x17, 0xee, 0x07, 0xfa, 0x0f, - 0xaf, 0x3b, 0xa7, 0x4a, 0xdf, 0x4a, 0x40, 0x8a, 0xd6, 0x8b, 0x31, 0xc8, 0x6d, 0x3f, 0xbf, 0x55, - 0x55, 0x57, 0x6a, 0x3b, 0x4b, 0xeb, 0x55, 0x59, 0x42, 0x05, 0x00, 0x2a, 0xb8, 0xb2, 0x5e, 0xab, - 0x6c, 0xcb, 0x89, 0xe0, 0x79, 0x6d, 0x73, 0xfb, 0xfc, 0x82, 0x9c, 0x0c, 0x00, 0x3b, 0x4c, 0x90, - 0x8a, 0x1a, 0x9c, 0x9b, 0x97, 0xd3, 0x48, 0x86, 0x3c, 0x23, 0x58, 0x7b, 0xae, 0xba, 0x72, 0x7e, - 0x41, 0x1e, 0xee, 0x94, 0x9c, 0x9b, 0x97, 0x47, 0xd0, 0x28, 0x64, 0xa9, 0x64, 0xa9, 0x56, 0x5b, - 0x97, 0x33, 0x01, 0x67, 0x7d, 0x5b, 0x59, 0xdb, 0x5c, 0x95, 0xb3, 0x01, 0xe7, 0xaa, 0x52, 0xdb, - 0xd9, 0x92, 0x21, 0x60, 0xd8, 0xa8, 0xd6, 0xeb, 0x95, 0xd5, 0xaa, 0x9c, 0x0b, 0x2c, 0x96, 0x9e, - 0xdf, 0xae, 0xd6, 0xe5, 0x7c, 0x87, 0x5b, 0xe7, 0xe6, 0xe5, 0xd1, 0xe0, 0x15, 0xd5, 0xcd, 0x9d, - 0x0d, 0xb9, 0x80, 0xc6, 0x61, 0x94, 0xbd, 0x42, 0x38, 0x31, 0xd6, 0x25, 0x3a, 0xbf, 0x20, 0xcb, - 0xa1, 0x23, 0x8c, 0x65, 0xbc, 0x43, 0x70, 0x7e, 0x41, 0x46, 0xa5, 0x65, 0x48, 0xd3, 0xec, 0x42, - 0x08, 0x0a, 0xeb, 0x95, 0xa5, 0xea, 0xba, 0x5a, 0xdb, 0xda, 0x5e, 0xab, 0x6d, 0x56, 0xd6, 0x65, - 0x29, 0x94, 0x29, 0xd5, 0x4f, 0xee, 0xac, 0x29, 0xd5, 0x15, 0x39, 0x11, 0x95, 0x6d, 0x55, 0x2b, - 0xdb, 0xd5, 0x15, 0x39, 0x59, 0xd2, 0x61, 0xb2, 0x5f, 0x9d, 0xec, 0xbb, 0x32, 0x22, 0x53, 0x9c, - 0x38, 0x62, 0x8a, 0x29, 0x57, 0xcf, 0x14, 0xff, 0x20, 0x01, 0x13, 0x7d, 0xf6, 0x8a, 0xbe, 0x2f, - 0x79, 0x1a, 0xd2, 0x2c, 0x45, 0xd9, 0xee, 0xf9, 0x68, 0xdf, 0x4d, 0x87, 0x26, 0x6c, 0xcf, 0x0e, - 0x4a, 0x71, 0xd1, 0x0e, 0x22, 0x79, 0x44, 0x07, 0x41, 0x28, 0x7a, 0x6a, 0xfa, 0xcf, 0xf6, 0xd4, - 0x74, 0xb6, 0xed, 0x9d, 0x1f, 0x64, 0xdb, 0xa3, 0xb2, 0xe3, 0xd5, 0xf6, 0x74, 0x9f, 0xda, 0x7e, - 0x19, 0xc6, 0x7b, 0x88, 0x06, 0xae, 0xb1, 0x2f, 0x49, 0x50, 0x3c, 0x2a, 0x38, 0x31, 0x95, 0x2e, - 0xd1, 0x51, 0xe9, 0x2e, 0x77, 0x47, 0xf0, 0xec, 0xd1, 0x93, 0xd0, 0x33, 0xd7, 0xaf, 0x49, 0x70, - 0xa2, 0x7f, 0xa7, 0xd8, 0xd7, 0x87, 0x4f, 0xc0, 0x70, 0x0b, 0xfb, 0xfb, 0xb6, 0xe8, 0x96, 0x3e, - 0xda, 0x67, 0x0f, 0x26, 0xea, 0xee, 0xc9, 0xe6, 0xa8, 0xe8, 0x26, 0x9e, 0x3c, 0xaa, 0xdd, 0x63, - 0xde, 0xf4, 0x78, 0xfa, 0xd9, 0x04, 0xdc, 0xd7, 0x97, 0xbc, 0xaf, 0xa3, 0x0f, 0x00, 0x18, 0x96, - 0xd3, 0xf6, 0x59, 0x47, 0xc4, 0x0a, 0x6c, 0x96, 0x4a, 0x68, 0xf1, 0x22, 0xc5, 0xb3, 0xed, 0x07, - 0xfa, 0x24, 0xd5, 0x03, 0x13, 0x51, 0x83, 0x8b, 0xa1, 0xa3, 0x29, 0xea, 0xe8, 0xf4, 0x11, 0x23, - 0xed, 0x49, 0xcc, 0x27, 0x41, 0xd6, 0x4d, 0x03, 0x5b, 0xbe, 0xea, 0xf9, 0x2e, 0xd6, 0x5a, 0x86, - 0xd5, 0xa4, 0x3b, 0x48, 0xa6, 0x9c, 0xde, 0xd3, 0x4c, 0x0f, 0x2b, 0x63, 0x4c, 0x5d, 0x17, 0x5a, - 0x82, 0xa0, 0x09, 0xe4, 0x46, 0x10, 0xc3, 0x1d, 0x08, 0xa6, 0x0e, 0x10, 0xa5, 0x6f, 0x66, 0x20, - 0x17, 0xe9, 0xab, 0xd1, 0x59, 0xc8, 0x5f, 0xd3, 0x6e, 0x68, 0xaa, 0x38, 0x2b, 0xb1, 0x48, 0xe4, - 0x88, 0x6c, 0x8b, 0x9f, 0x97, 0x9e, 0x84, 0x49, 0x6a, 0x62, 0xb7, 0x7d, 0xec, 0xaa, 0xba, 0xa9, - 0x79, 0x1e, 0x0d, 0x5a, 0x86, 0x9a, 0x22, 0xa2, 0xab, 0x11, 0xd5, 0xb2, 0xd0, 0xa0, 0x45, 0x98, - 0xa0, 0x88, 0x56, 0xdb, 0xf4, 0x0d, 0xc7, 0xc4, 0x2a, 0x39, 0xbd, 0x79, 0x74, 0x27, 0x09, 0x3c, - 0x1b, 0x27, 0x16, 0x1b, 0xdc, 0x80, 0x78, 0xe4, 0xa1, 0x15, 0x78, 0x80, 0xc2, 0x9a, 0xd8, 0xc2, - 0xae, 0xe6, 0x63, 0x15, 0x7f, 0xa6, 0xad, 0x99, 0x9e, 0xaa, 0x59, 0x0d, 0x75, 0x5f, 0xf3, 0xf6, - 0x8b, 0x93, 0x84, 0x60, 0x29, 0x51, 0x94, 0x94, 0x53, 0xc4, 0x70, 0x95, 0xdb, 0x55, 0xa9, 0x59, - 0xc5, 0x6a, 0x5c, 0xd5, 0xbc, 0x7d, 0x54, 0x86, 0x13, 0x94, 0xc5, 0xf3, 0x5d, 0xc3, 0x6a, 0xaa, - 0xfa, 0x3e, 0xd6, 0xaf, 0xab, 0x6d, 0x7f, 0xef, 0x62, 0xf1, 0xfe, 0xe8, 0xfb, 0xa9, 0x87, 0x75, - 0x6a, 0xb3, 0x4c, 0x4c, 0x76, 0xfc, 0xbd, 0x8b, 0xa8, 0x0e, 0x79, 0x32, 0x19, 0x2d, 0xe3, 0x16, - 0x56, 0xf7, 0x6c, 0x97, 0x6e, 0x8d, 0x85, 0x3e, 0xa5, 0x29, 0x12, 0xc1, 0xd9, 0x1a, 0x07, 0x6c, - 0xd8, 0x0d, 0x5c, 0x4e, 0xd7, 0xb7, 0xaa, 0xd5, 0x15, 0x25, 0x27, 0x58, 0xae, 0xd8, 0x2e, 0x49, - 0xa8, 0xa6, 0x1d, 0x04, 0x38, 0xc7, 0x12, 0xaa, 0x69, 0x8b, 0xf0, 0x2e, 0xc2, 0x84, 0xae, 0xb3, - 0x31, 0x1b, 0xba, 0xca, 0xcf, 0x58, 0x5e, 0x51, 0xee, 0x08, 0x96, 0xae, 0xaf, 0x32, 0x03, 0x9e, - 0xe3, 0x1e, 0xba, 0x04, 0xf7, 0x85, 0xc1, 0x8a, 0x02, 0xc7, 0x7b, 0x46, 0xd9, 0x0d, 0x5d, 0x84, - 0x09, 0xe7, 0xa0, 0x17, 0x88, 0x3a, 0xde, 0xe8, 0x1c, 0x74, 0xc3, 0x2e, 0xc0, 0xa4, 0xb3, 0xef, - 0xf4, 0xe2, 0x1e, 0x8b, 0xe2, 0x90, 0xb3, 0xef, 0x74, 0x03, 0x1f, 0xa6, 0x07, 0x6e, 0x17, 0xeb, - 0x9a, 0x8f, 0x1b, 0xc5, 0x93, 0x51, 0xf3, 0x88, 0x02, 0xcd, 0x81, 0xac, 0xeb, 0x2a, 0xb6, 0xb4, - 0x5d, 0x13, 0xab, 0x9a, 0x8b, 0x2d, 0xcd, 0x2b, 0x9e, 0x8e, 0x1a, 0x17, 0x74, 0xbd, 0x4a, 0xb5, - 0x15, 0xaa, 0x44, 0x8f, 0xc1, 0xb8, 0xbd, 0x7b, 0x4d, 0x67, 0x29, 0xa9, 0x3a, 0x2e, 0xde, 0x33, - 0x5e, 0x2c, 0x3e, 0x44, 0xe3, 0x3b, 0x46, 0x14, 0x34, 0x21, 0xb7, 0xa8, 0x18, 0x3d, 0x0a, 0xb2, - 0xee, 0xed, 0x6b, 0xae, 0x43, 0x6b, 0xb2, 0xe7, 0x68, 0x3a, 0x2e, 0x3e, 0xcc, 0x4c, 0x99, 0x7c, - 0x53, 0x88, 0xc9, 0x92, 0xf0, 0x6e, 0x1a, 0x7b, 0xbe, 0x60, 0x7c, 0x84, 0x2d, 0x09, 0x2a, 0xe3, - 0x6c, 0x33, 0x20, 0x93, 0x50, 0x74, 0xbc, 0x78, 0x86, 0x9a, 0x15, 0x9c, 0x7d, 0x27, 0xfa, 0xde, - 0x07, 0x61, 0x94, 0x58, 0x86, 0x2f, 0x7d, 0x94, 0x35, 0x64, 0xce, 0x7e, 0xe4, 0x8d, 0x1f, 0x58, - 0x6f, 0x5c, 0x2a, 0x43, 0x3e, 0x9a, 0x9f, 0x28, 0x0b, 0x2c, 0x43, 0x65, 0x89, 0x34, 0x2b, 0xcb, - 0xb5, 0x15, 0xd2, 0x66, 0xbc, 0x50, 0x95, 0x13, 0xa4, 0xdd, 0x59, 0x5f, 0xdb, 0xae, 0xaa, 0xca, - 0xce, 0xe6, 0xf6, 0xda, 0x46, 0x55, 0x4e, 0x46, 0xfb, 0xea, 0xef, 0x25, 0xa0, 0xd0, 0x79, 0x44, - 0x42, 0x3f, 0x05, 0x27, 0xc5, 0x7d, 0x86, 0x87, 0x7d, 0xf5, 0xa6, 0xe1, 0xd2, 0x25, 0xd3, 0xd2, - 0xd8, 0xf6, 0x15, 0x4c, 0xda, 0x24, 0xb7, 0xaa, 0x63, 0xff, 0x59, 0xc3, 0x25, 0x0b, 0xa2, 0xa5, - 0xf9, 0x68, 0x1d, 0x4e, 0x5b, 0xb6, 0xea, 0xf9, 0x9a, 0xd5, 0xd0, 0xdc, 0x86, 0x1a, 0xde, 0x24, - 0xa9, 0x9a, 0xae, 0x63, 0xcf, 0xb3, 0xd9, 0x56, 0x15, 0xb0, 0x7c, 0xc4, 0xb2, 0xeb, 0xdc, 0x38, - 0xac, 0xe1, 0x15, 0x6e, 0xda, 0x95, 0x60, 0xc9, 0xa3, 0x12, 0xec, 0x7e, 0xc8, 0xb6, 0x34, 0x47, - 0xc5, 0x96, 0xef, 0x1e, 0xd0, 0xc6, 0x38, 0xa3, 0x64, 0x5a, 0x9a, 0x53, 0x25, 0xcf, 0x1f, 0xce, - 0xf9, 0xe4, 0x9f, 0x93, 0x90, 0x8f, 0x36, 0xc7, 0xe4, 0xac, 0xa1, 0xd3, 0x7d, 0x44, 0xa2, 0x95, - 0xe6, 0xc1, 0x7b, 0xb6, 0xd2, 0xb3, 0xcb, 0x64, 0x83, 0x29, 0x0f, 0xb3, 0x96, 0x55, 0x61, 0x48, - 0xb2, 0xb9, 0x93, 0xda, 0x82, 0x59, 0x8b, 0x90, 0x51, 0xf8, 0x13, 0x5a, 0x85, 0xe1, 0x6b, 0x1e, - 0xe5, 0x1e, 0xa6, 0xdc, 0x0f, 0xdd, 0x9b, 0xfb, 0x99, 0x3a, 0x25, 0xcf, 0x3e, 0x53, 0x57, 0x37, - 0x6b, 0xca, 0x46, 0x65, 0x5d, 0xe1, 0x70, 0x74, 0x0a, 0x52, 0xa6, 0x76, 0xeb, 0xa0, 0x73, 0x2b, - 0xa2, 0xa2, 0x41, 0x03, 0x7f, 0x0a, 0x52, 0x37, 0xb1, 0x76, 0xbd, 0x73, 0x03, 0xa0, 0xa2, 0x0f, - 0x30, 0xf5, 0xe7, 0x20, 0x4d, 0xe3, 0x85, 0x00, 0x78, 0xc4, 0xe4, 0x21, 0x94, 0x81, 0xd4, 0x72, - 0x4d, 0x21, 0xe9, 0x2f, 0x43, 0x9e, 0x49, 0xd5, 0xad, 0xb5, 0xea, 0x72, 0x55, 0x4e, 0x94, 0x16, - 0x61, 0x98, 0x05, 0x81, 0x2c, 0x8d, 0x20, 0x0c, 0xf2, 0x10, 0x7f, 0xe4, 0x1c, 0x92, 0xd0, 0xee, - 0x6c, 0x2c, 0x55, 0x15, 0x39, 0x11, 0x9d, 0x5e, 0x0f, 0xf2, 0xd1, 0xbe, 0xf8, 0xc3, 0xc9, 0xa9, - 0xef, 0x4a, 0x90, 0x8b, 0xf4, 0xb9, 0xa4, 0x41, 0xd1, 0x4c, 0xd3, 0xbe, 0xa9, 0x6a, 0xa6, 0xa1, - 0x79, 0x3c, 0x29, 0x80, 0x8a, 0x2a, 0x44, 0x32, 0xe8, 0xa4, 0x7d, 0x28, 0xce, 0xbf, 0x2a, 0x81, - 0xdc, 0xdd, 0x62, 0x76, 0x39, 0x28, 0xfd, 0x44, 0x1d, 0x7c, 0x45, 0x82, 0x42, 0x67, 0x5f, 0xd9, - 0xe5, 0xde, 0xd9, 0x9f, 0xa8, 0x7b, 0x6f, 0x25, 0x60, 0xb4, 0xa3, 0x9b, 0x1c, 0xd4, 0xbb, 0xcf, - 0xc0, 0xb8, 0xd1, 0xc0, 0x2d, 0xc7, 0xf6, 0xb1, 0xa5, 0x1f, 0xa8, 0x26, 0xbe, 0x81, 0xcd, 0x62, - 0x89, 0x16, 0x8a, 0xb9, 0x7b, 0xf7, 0xab, 0xb3, 0x6b, 0x21, 0x6e, 0x9d, 0xc0, 0xca, 0x13, 0x6b, - 0x2b, 0xd5, 0x8d, 0xad, 0xda, 0x76, 0x75, 0x73, 0xf9, 0x79, 0x75, 0x67, 0xf3, 0x67, 0x36, 0x6b, - 0xcf, 0x6e, 0x2a, 0xb2, 0xd1, 0x65, 0xf6, 0x01, 0x2e, 0xf5, 0x2d, 0x90, 0xbb, 0x9d, 0x42, 0x27, - 0xa1, 0x9f, 0x5b, 0xf2, 0x10, 0x9a, 0x80, 0xb1, 0xcd, 0x9a, 0x5a, 0x5f, 0x5b, 0xa9, 0xaa, 0xd5, - 0x2b, 0x57, 0xaa, 0xcb, 0xdb, 0x75, 0x76, 0x03, 0x11, 0x58, 0x6f, 0x77, 0x2e, 0xea, 0x97, 0x93, - 0x30, 0xd1, 0xc7, 0x13, 0x54, 0xe1, 0x67, 0x07, 0x76, 0x9c, 0x79, 0x62, 0x10, 0xef, 0x67, 0xc9, - 0x96, 0xbf, 0xa5, 0xb9, 0x3e, 0x3f, 0x6a, 0x3c, 0x0a, 0x24, 0x4a, 0x96, 0x6f, 0xec, 0x19, 0xd8, - 0xe5, 0x17, 0x36, 0xec, 0x40, 0x31, 0x16, 0xca, 0xd9, 0x9d, 0xcd, 0xc7, 0x00, 0x39, 0xb6, 0x67, - 0xf8, 0xc6, 0x0d, 0xac, 0x1a, 0x96, 0xb8, 0xdd, 0x21, 0x07, 0x8c, 0x94, 0x22, 0x0b, 0xcd, 0x9a, - 0xe5, 0x07, 0xd6, 0x16, 0x6e, 0x6a, 0x5d, 0xd6, 0xa4, 0x80, 0x27, 0x15, 0x59, 0x68, 0x02, 0xeb, - 0xb3, 0x90, 0x6f, 0xd8, 0x6d, 0xd2, 0x75, 0x31, 0x3b, 0xb2, 0x5f, 0x48, 0x4a, 0x8e, 0xc9, 0x02, - 0x13, 0xde, 0x4f, 0x87, 0xd7, 0x4a, 0x79, 0x25, 0xc7, 0x64, 0xcc, 0xe4, 0x11, 0x18, 0xd3, 0x9a, - 0x4d, 0x97, 0x90, 0x0b, 0x22, 0x76, 0x42, 0x28, 0x04, 0x62, 0x6a, 0x38, 0xf5, 0x0c, 0x64, 0x44, - 0x1c, 0xc8, 0x96, 0x4c, 0x22, 0xa1, 0x3a, 0xec, 0xd8, 0x9b, 0x98, 0xc9, 0x2a, 0x19, 0x4b, 0x28, - 0xcf, 0x42, 0xde, 0xf0, 0xd4, 0xf0, 0x96, 0x3c, 0x71, 0x26, 0x31, 0x93, 0x51, 0x72, 0x86, 0x17, - 0xdc, 0x30, 0x96, 0x5e, 0x4b, 0x40, 0xa1, 0xf3, 0x96, 0x1f, 0xad, 0x40, 0xc6, 0xb4, 0x75, 0x8d, - 0xa6, 0x16, 0xfb, 0xc4, 0x34, 0x13, 0xf3, 0x61, 0x60, 0x76, 0x9d, 0xdb, 0x2b, 0x01, 0x72, 0xea, - 0x1f, 0x24, 0xc8, 0x08, 0x31, 0x3a, 0x01, 0x29, 0x47, 0xf3, 0xf7, 0x29, 0x5d, 0x7a, 0x29, 0x21, - 0x4b, 0x0a, 0x7d, 0x26, 0x72, 0xcf, 0xd1, 0x2c, 0x9a, 0x02, 0x5c, 0x4e, 0x9e, 0xc9, 0xbc, 0x9a, - 0x58, 0x6b, 0xd0, 0xe3, 0x87, 0xdd, 0x6a, 0x61, 0xcb, 0xf7, 0xc4, 0xbc, 0x72, 0xf9, 0x32, 0x17, - 0xa3, 0xc7, 0x61, 0xdc, 0x77, 0x35, 0xc3, 0xec, 0xb0, 0x4d, 0x51, 0x5b, 0x59, 0x28, 0x02, 0xe3, - 0x32, 0x9c, 0x12, 0xbc, 0x0d, 0xec, 0x6b, 0xfa, 0x3e, 0x6e, 0x84, 0xa0, 0x61, 0x7a, 0xcd, 0x70, - 0x92, 0x1b, 0xac, 0x70, 0xbd, 0xc0, 0x96, 0xbe, 0x2f, 0xc1, 0xb8, 0x38, 0x30, 0x35, 0x82, 0x60, - 0x6d, 0x00, 0x68, 0x96, 0x65, 0xfb, 0xd1, 0x70, 0xf5, 0xa6, 0x72, 0x0f, 0x6e, 0xb6, 0x12, 0x80, - 0x94, 0x08, 0xc1, 0x54, 0x0b, 0x20, 0xd4, 0x1c, 0x19, 0xb6, 0xd3, 0x90, 0xe3, 0x9f, 0x70, 0xe8, - 0x77, 0x40, 0x76, 0xc4, 0x06, 0x26, 0x22, 0x27, 0x2b, 0x34, 0x09, 0xe9, 0x5d, 0xdc, 0x34, 0x2c, - 0x7e, 0x31, 0xcb, 0x1e, 0xc4, 0x45, 0x48, 0x2a, 0xb8, 0x08, 0x59, 0xfa, 0x34, 0x4c, 0xe8, 0x76, - 0xab, 0xdb, 0xdd, 0x25, 0xb9, 0xeb, 0x98, 0xef, 0x5d, 0x95, 0x5e, 0x80, 0xb0, 0xc5, 0x7c, 0x4f, - 0x92, 0xbe, 0x9c, 0x48, 0xae, 0x6e, 0x2d, 0x7d, 0x2d, 0x31, 0xb5, 0xca, 0xa0, 0x5b, 0x62, 0xa4, - 0x0a, 0xde, 0x33, 0xb1, 0x4e, 0xbc, 0x87, 0xaf, 0x3c, 0x0e, 0x4f, 0x34, 0x0d, 0x7f, 0xbf, 0xbd, - 0x3b, 0xab, 0xdb, 0xad, 0xb9, 0xa6, 0xdd, 0xb4, 0xc3, 0x4f, 0x9f, 0xe4, 0x89, 0x3e, 0xd0, 0xbf, - 0xf8, 0xe7, 0xcf, 0x6c, 0x20, 0x9d, 0x8a, 0xfd, 0x56, 0x5a, 0xde, 0x84, 0x09, 0x6e, 0xac, 0xd2, - 0xef, 0x2f, 0xec, 0x14, 0x81, 0xee, 0x79, 0x87, 0x55, 0xfc, 0xc6, 0xdb, 0x74, 0xbb, 0x56, 0xc6, - 0x39, 0x94, 0xe8, 0xd8, 0x41, 0xa3, 0xac, 0xc0, 0x7d, 0x1d, 0x7c, 0x6c, 0x69, 0x62, 0x37, 0x86, - 0xf1, 0x7b, 0x9c, 0x71, 0x22, 0xc2, 0x58, 0xe7, 0xd0, 0xf2, 0x32, 0x8c, 0x1e, 0x87, 0xeb, 0xef, - 0x38, 0x57, 0x1e, 0x47, 0x49, 0x56, 0x61, 0x8c, 0x92, 0xe8, 0x6d, 0xcf, 0xb7, 0x5b, 0xb4, 0xee, - 0xdd, 0x9b, 0xe6, 0xef, 0xdf, 0x66, 0x6b, 0xa5, 0x40, 0x60, 0xcb, 0x01, 0xaa, 0x5c, 0x06, 0xfa, - 0xc9, 0xa9, 0x81, 0x75, 0x33, 0x86, 0xe1, 0x75, 0xee, 0x48, 0x60, 0x5f, 0xfe, 0x14, 0x4c, 0x92, - 0xbf, 0x69, 0x59, 0x8a, 0x7a, 0x12, 0x7f, 0xe1, 0x55, 0xfc, 0xfe, 0x4b, 0x6c, 0x39, 0x4e, 0x04, - 0x04, 0x11, 0x9f, 0x22, 0xb3, 0xd8, 0xc4, 0xbe, 0x8f, 0x5d, 0x4f, 0xd5, 0xcc, 0x7e, 0xee, 0x45, - 0x6e, 0x0c, 0x8a, 0x5f, 0x78, 0xa7, 0x73, 0x16, 0x57, 0x19, 0xb2, 0x62, 0x9a, 0xe5, 0x1d, 0x38, - 0xd9, 0x27, 0x2b, 0x06, 0xe0, 0x7c, 0x99, 0x73, 0x4e, 0xf6, 0x64, 0x06, 0xa1, 0xdd, 0x02, 0x21, - 0x0f, 0xe6, 0x72, 0x00, 0xce, 0xdf, 0xe5, 0x9c, 0x88, 0x63, 0xc5, 0x94, 0x12, 0xc6, 0x67, 0x60, - 0xfc, 0x06, 0x76, 0x77, 0x6d, 0x8f, 0xdf, 0xd2, 0x0c, 0x40, 0xf7, 0x0a, 0xa7, 0x1b, 0xe3, 0x40, - 0x7a, 0x6d, 0x43, 0xb8, 0x2e, 0x41, 0x66, 0x4f, 0xd3, 0xf1, 0x00, 0x14, 0x5f, 0xe4, 0x14, 0x23, - 0xc4, 0x9e, 0x40, 0x2b, 0x90, 0x6f, 0xda, 0x7c, 0x67, 0x8a, 0x87, 0xbf, 0xca, 0xe1, 0x39, 0x81, - 0xe1, 0x14, 0x8e, 0xed, 0xb4, 0x4d, 0xb2, 0x6d, 0xc5, 0x53, 0xfc, 0x9e, 0xa0, 0x10, 0x18, 0x4e, - 0x71, 0x8c, 0xb0, 0xfe, 0xbe, 0xa0, 0xf0, 0x22, 0xf1, 0x7c, 0x1a, 0x72, 0xb6, 0x65, 0x1e, 0xd8, - 0xd6, 0x20, 0x4e, 0x7c, 0x89, 0x33, 0x00, 0x87, 0x10, 0x82, 0xcb, 0x90, 0x1d, 0x74, 0x22, 0xfe, - 0xf0, 0x1d, 0xb1, 0x3c, 0xc4, 0x0c, 0xac, 0xc2, 0x98, 0x28, 0x50, 0x86, 0x6d, 0x0d, 0x40, 0xf1, - 0x15, 0x4e, 0x51, 0x88, 0xc0, 0xf8, 0x30, 0x7c, 0xec, 0xf9, 0x4d, 0x3c, 0x08, 0xc9, 0x6b, 0x62, - 0x18, 0x1c, 0xc2, 0x43, 0xb9, 0x8b, 0x2d, 0x7d, 0x7f, 0x30, 0x86, 0xaf, 0x8a, 0x50, 0x0a, 0x0c, - 0xa1, 0x58, 0x86, 0xd1, 0x96, 0xe6, 0x7a, 0xfb, 0x9a, 0x39, 0xd0, 0x74, 0xfc, 0x11, 0xe7, 0xc8, - 0x07, 0x20, 0x1e, 0x91, 0xb6, 0x75, 0x1c, 0x9a, 0xaf, 0x89, 0x88, 0x44, 0x60, 0x7c, 0xe9, 0x79, - 0x3e, 0xbd, 0xd2, 0x3a, 0x0e, 0xdb, 0x1f, 0x8b, 0xa5, 0xc7, 0xb0, 0x1b, 0x51, 0xc6, 0xcb, 0x90, - 0xf5, 0x8c, 0x5b, 0x03, 0xd1, 0xfc, 0x89, 0x98, 0x69, 0x0a, 0x20, 0xe0, 0xe7, 0xe1, 0x54, 0xdf, - 0x6d, 0x62, 0x00, 0xb2, 0x3f, 0xe5, 0x64, 0x27, 0xfa, 0x6c, 0x15, 0xbc, 0x24, 0x1c, 0x97, 0xf2, - 0xcf, 0x44, 0x49, 0xc0, 0x5d, 0x5c, 0x5b, 0xe4, 0xac, 0xe0, 0x69, 0x7b, 0xc7, 0x8b, 0xda, 0x9f, - 0x8b, 0xa8, 0x31, 0x6c, 0x47, 0xd4, 0xb6, 0xe1, 0x04, 0x67, 0x3c, 0xde, 0xbc, 0x7e, 0x5d, 0x14, - 0x56, 0x86, 0xde, 0xe9, 0x9c, 0xdd, 0x4f, 0xc3, 0x54, 0x10, 0x4e, 0xd1, 0x94, 0x7a, 0x6a, 0x4b, - 0x73, 0x06, 0x60, 0xfe, 0x06, 0x67, 0x16, 0x15, 0x3f, 0xe8, 0x6a, 0xbd, 0x0d, 0xcd, 0x21, 0xe4, - 0xcf, 0x41, 0x51, 0x90, 0xb7, 0x2d, 0x17, 0xeb, 0x76, 0xd3, 0x32, 0x6e, 0xe1, 0xc6, 0x00, 0xd4, - 0x7f, 0xd1, 0x35, 0x55, 0x3b, 0x11, 0x38, 0x61, 0x5e, 0x03, 0x39, 0xe8, 0x55, 0x54, 0xa3, 0xe5, - 0xd8, 0xae, 0x1f, 0xc3, 0xf8, 0x4d, 0x31, 0x53, 0x01, 0x6e, 0x8d, 0xc2, 0xca, 0x55, 0x28, 0xd0, - 0xc7, 0x41, 0x53, 0xf2, 0x2f, 0x39, 0xd1, 0x68, 0x88, 0xe2, 0x85, 0x43, 0xb7, 0x5b, 0x8e, 0xe6, - 0x0e, 0x52, 0xff, 0xfe, 0x4a, 0x14, 0x0e, 0x0e, 0xe1, 0x85, 0xc3, 0x3f, 0x70, 0x30, 0xd9, 0xed, - 0x07, 0x60, 0xf8, 0x96, 0x28, 0x1c, 0x02, 0xc3, 0x29, 0x44, 0xc3, 0x30, 0x00, 0xc5, 0x5f, 0x0b, - 0x0a, 0x81, 0x21, 0x14, 0x9f, 0x0c, 0x37, 0x5a, 0x17, 0x37, 0x0d, 0xcf, 0x77, 0x59, 0x2b, 0x7c, - 0x6f, 0xaa, 0x6f, 0xbf, 0xd3, 0xd9, 0x84, 0x29, 0x11, 0x28, 0xa9, 0x44, 0xfc, 0x0a, 0x95, 0x9e, - 0x94, 0xe2, 0x1d, 0xfb, 0x8e, 0xa8, 0x44, 0x11, 0x18, 0xf1, 0x2d, 0xd2, 0x21, 0x92, 0xb0, 0xeb, - 0xe4, 0x7c, 0x30, 0x00, 0xdd, 0x77, 0xbb, 0x9c, 0xab, 0x0b, 0x2c, 0xe1, 0x8c, 0xf4, 0x3f, 0x6d, - 0xeb, 0x3a, 0x3e, 0x18, 0x28, 0x3b, 0xff, 0xa6, 0xab, 0xff, 0xd9, 0x61, 0x48, 0x56, 0x43, 0xc6, - 0xba, 0xfa, 0x29, 0x14, 0xf7, 0x63, 0x9d, 0xe2, 0xcf, 0xdf, 0xe5, 0xe3, 0xed, 0x6c, 0xa7, 0xca, - 0xeb, 0x24, 0xc9, 0x3b, 0x9b, 0x9e, 0x78, 0xb2, 0x97, 0xee, 0x06, 0x79, 0xde, 0xd1, 0xf3, 0x94, - 0xaf, 0xc0, 0x68, 0x47, 0xc3, 0x13, 0x4f, 0xf5, 0x0b, 0x9c, 0x2a, 0x1f, 0xed, 0x77, 0xca, 0x8b, - 0x90, 0x22, 0xcd, 0x4b, 0x3c, 0xfc, 0x17, 0x39, 0x9c, 0x9a, 0x97, 0x3f, 0x0e, 0x19, 0xd1, 0xb4, - 0xc4, 0x43, 0x7f, 0x89, 0x43, 0x03, 0x08, 0x81, 0x8b, 0x86, 0x25, 0x1e, 0xfe, 0xcb, 0x02, 0x2e, - 0x20, 0x04, 0x3e, 0x78, 0x08, 0xff, 0xf6, 0x57, 0x52, 0x7c, 0xd3, 0x11, 0xb1, 0xbb, 0x0c, 0x23, - 0xbc, 0x53, 0x89, 0x47, 0x7f, 0x96, 0xbf, 0x5c, 0x20, 0xca, 0x17, 0x20, 0x3d, 0x60, 0xc0, 0x7f, - 0x95, 0x43, 0x99, 0x7d, 0x79, 0x19, 0x72, 0x91, 0xee, 0x24, 0x1e, 0xfe, 0x6b, 0x1c, 0x1e, 0x45, - 0x11, 0xd7, 0x79, 0x77, 0x12, 0x4f, 0xf0, 0xeb, 0xc2, 0x75, 0x8e, 0x20, 0x61, 0x13, 0x8d, 0x49, - 0x3c, 0xfa, 0x37, 0x44, 0xd4, 0x05, 0xa4, 0xfc, 0x34, 0x64, 0x83, 0xcd, 0x26, 0x1e, 0xff, 0x9b, - 0x1c, 0x1f, 0x62, 0x48, 0x04, 0x22, 0x9b, 0x5d, 0x3c, 0xc5, 0xe7, 0x44, 0x04, 0x22, 0x28, 0xb2, - 0x8c, 0xba, 0x1b, 0x98, 0x78, 0xa6, 0xdf, 0x12, 0xcb, 0xa8, 0xab, 0x7f, 0x21, 0xb3, 0x49, 0x6b, - 0x7e, 0x3c, 0xc5, 0x6f, 0x8b, 0xd9, 0xa4, 0xf6, 0xc4, 0x8d, 0xee, 0x8e, 0x20, 0x9e, 0xe3, 0x77, - 0x84, 0x1b, 0x5d, 0x0d, 0x41, 0x79, 0x0b, 0x50, 0x6f, 0x37, 0x10, 0xcf, 0xf7, 0x79, 0xce, 0x37, - 0xde, 0xd3, 0x0c, 0x94, 0x9f, 0x85, 0x13, 0xfd, 0x3b, 0x81, 0x78, 0xd6, 0x2f, 0xdc, 0xed, 0x3a, - 0xbb, 0x45, 0x1b, 0x81, 0xf2, 0x76, 0xb8, 0xa5, 0x44, 0xbb, 0x80, 0x78, 0xda, 0x97, 0xef, 0x76, - 0x16, 0xee, 0x68, 0x13, 0x50, 0xae, 0x00, 0x84, 0x1b, 0x70, 0x3c, 0xd7, 0x2b, 0x9c, 0x2b, 0x02, - 0x22, 0x4b, 0x83, 0xef, 0xbf, 0xf1, 0xf8, 0x2f, 0x8a, 0xa5, 0xc1, 0x11, 0x64, 0x69, 0x88, 0xad, - 0x37, 0x1e, 0xfd, 0xaa, 0x58, 0x1a, 0x02, 0x42, 0x32, 0x3b, 0xb2, 0xbb, 0xc5, 0x33, 0x7c, 0x49, - 0x64, 0x76, 0x04, 0x55, 0xde, 0x84, 0xf1, 0x9e, 0x0d, 0x31, 0x9e, 0xea, 0xcb, 0x9c, 0x4a, 0xee, - 0xde, 0x0f, 0xa3, 0x9b, 0x17, 0xdf, 0x0c, 0xe3, 0xd9, 0xfe, 0xa0, 0x6b, 0xf3, 0xe2, 0x7b, 0x61, - 0xf9, 0x32, 0x64, 0xac, 0xb6, 0x69, 0x92, 0xc5, 0x83, 0xee, 0xfd, 0x03, 0xbb, 0xe2, 0xbf, 0xbe, - 0xcf, 0xa3, 0x23, 0x00, 0xe5, 0x45, 0x48, 0xe3, 0xd6, 0x2e, 0x6e, 0xc4, 0x21, 0xff, 0xed, 0x7d, - 0x51, 0x30, 0x89, 0x75, 0xf9, 0x69, 0x00, 0x76, 0x35, 0x42, 0x3f, 0xfb, 0xc5, 0x60, 0xff, 0xfd, - 0x7d, 0xfe, 0xd3, 0x97, 0x10, 0x12, 0x12, 0xb0, 0x1f, 0xd2, 0xdc, 0x9b, 0xe0, 0x9d, 0x4e, 0x02, - 0x3a, 0x23, 0x97, 0x60, 0xe4, 0x9a, 0x67, 0x5b, 0xbe, 0xd6, 0x8c, 0x43, 0xff, 0x07, 0x47, 0x0b, - 0x7b, 0x12, 0xb0, 0x96, 0xed, 0x62, 0x5f, 0x6b, 0x7a, 0x71, 0xd8, 0xff, 0xe4, 0xd8, 0x00, 0x40, - 0xc0, 0xba, 0xe6, 0xf9, 0x83, 0x8c, 0xfb, 0x47, 0x02, 0x2c, 0x00, 0xc4, 0x69, 0xf2, 0xf7, 0x75, - 0x7c, 0x10, 0x87, 0x7d, 0x57, 0x38, 0xcd, 0xed, 0xcb, 0x1f, 0x87, 0x2c, 0xf9, 0x93, 0xfd, 0x9e, - 0x2d, 0x06, 0xfc, 0x5f, 0x1c, 0x1c, 0x22, 0xc8, 0x9b, 0x3d, 0xbf, 0xe1, 0x1b, 0xf1, 0xc1, 0xfe, - 0x6f, 0x3e, 0xd3, 0xc2, 0xbe, 0x5c, 0x81, 0x9c, 0xe7, 0x37, 0x1a, 0x6d, 0xde, 0x9f, 0xc6, 0xc0, - 0xff, 0xe7, 0xfd, 0xe0, 0xca, 0x22, 0xc0, 0x90, 0xd9, 0xbe, 0x79, 0xdd, 0x77, 0x6c, 0xfa, 0x99, - 0x23, 0x8e, 0xe1, 0x2e, 0x67, 0x88, 0x40, 0x96, 0xaa, 0xfd, 0xaf, 0x6f, 0x61, 0xd5, 0x5e, 0xb5, - 0xd9, 0xc5, 0xed, 0x0b, 0xa5, 0xf8, 0x1b, 0x58, 0x78, 0x2f, 0x03, 0x45, 0xdd, 0x6e, 0xed, 0xda, - 0xde, 0x9c, 0x85, 0x0d, 0x7f, 0x1f, 0xbb, 0x73, 0xb6, 0xc5, 0xf9, 0x50, 0xd2, 0xb6, 0xf0, 0xd4, - 0xf1, 0xee, 0x71, 0x4b, 0xa7, 0x20, 0x5d, 0x6f, 0xef, 0xee, 0x1e, 0x20, 0x19, 0x92, 0x5e, 0x7b, - 0x97, 0xff, 0x26, 0x8a, 0xfc, 0x59, 0x7a, 0x33, 0x09, 0xa3, 0x15, 0xd3, 0xdc, 0x3e, 0x70, 0xb0, - 0x57, 0xb3, 0x70, 0x6d, 0x0f, 0x15, 0x61, 0x98, 0x0e, 0xf4, 0x29, 0x6a, 0x26, 0x5d, 0x1d, 0x52, - 0xf8, 0x73, 0xa0, 0x99, 0xa7, 0x37, 0xdc, 0x89, 0x40, 0x33, 0x1f, 0x68, 0xce, 0xb1, 0x0b, 0xee, - 0x40, 0x73, 0x2e, 0xd0, 0x2c, 0xd0, 0x6b, 0xee, 0x64, 0xa0, 0x59, 0x08, 0x34, 0x8b, 0xf4, 0x33, - 0xce, 0x68, 0xa0, 0x59, 0x0c, 0x34, 0xe7, 0xe9, 0x87, 0x9b, 0x54, 0xa0, 0x39, 0x1f, 0x68, 0x2e, - 0xd0, 0xef, 0x35, 0xe3, 0x81, 0xe6, 0x42, 0xa0, 0xb9, 0x48, 0xbf, 0xd1, 0xa0, 0x40, 0x73, 0x31, - 0xd0, 0x5c, 0xa2, 0x3f, 0x7e, 0x1a, 0x09, 0x34, 0x97, 0xd0, 0x14, 0x8c, 0xb0, 0x91, 0x3d, 0x49, - 0x3f, 0xe4, 0x8f, 0x5d, 0x1d, 0x52, 0x84, 0x20, 0xd4, 0x3d, 0x45, 0x7f, 0xe0, 0x34, 0x1c, 0xea, - 0x9e, 0x0a, 0x75, 0xf3, 0xf4, 0xff, 0x59, 0xc8, 0xa1, 0x6e, 0x3e, 0xd4, 0x9d, 0x2b, 0x8e, 0x92, - 0xfc, 0x08, 0x75, 0xe7, 0x42, 0xdd, 0x42, 0xb1, 0x40, 0x66, 0x20, 0xd4, 0x2d, 0x84, 0xba, 0xc5, - 0xe2, 0xd8, 0x19, 0x69, 0x26, 0x1f, 0xea, 0x16, 0xd1, 0x13, 0x90, 0xf3, 0xda, 0xbb, 0x2a, 0xaf, - 0xf4, 0xf4, 0x87, 0x54, 0xb9, 0x79, 0x98, 0x25, 0x39, 0x41, 0xa7, 0xf5, 0xea, 0x90, 0x02, 0x5e, - 0x7b, 0x97, 0x17, 0xe2, 0xa5, 0x3c, 0xd0, 0xfb, 0x27, 0x95, 0xfe, 0xfe, 0xb9, 0xf4, 0x86, 0x04, - 0xd9, 0xed, 0x9b, 0x36, 0xfd, 0x8c, 0xef, 0xfd, 0x3f, 0x4f, 0xae, 0x70, 0xfa, 0xdc, 0x02, 0xfd, - 0xd2, 0x9a, 0xbd, 0x2a, 0x29, 0x42, 0x10, 0xea, 0x16, 0x8b, 0x0f, 0xd2, 0x01, 0x05, 0xba, 0x45, - 0x34, 0x07, 0xf9, 0xc8, 0x80, 0xe6, 0xe9, 0x4f, 0x9c, 0x3a, 0x47, 0x24, 0x29, 0xb9, 0x70, 0x44, - 0xf3, 0x4b, 0x69, 0x20, 0x69, 0x4f, 0xfe, 0xf1, 0x6f, 0xda, 0xa5, 0xcf, 0x25, 0x20, 0xc7, 0xae, - 0xac, 0xe9, 0xa8, 0xc8, 0xab, 0xd8, 0xa9, 0xe6, 0x80, 0xbb, 0x31, 0xa4, 0x08, 0x01, 0x52, 0x00, - 0x98, 0x29, 0xc9, 0x70, 0xe6, 0xc9, 0xd2, 0x93, 0xff, 0xf4, 0xe6, 0xe9, 0x8f, 0x1d, 0xb9, 0x82, - 0x48, 0xec, 0xe6, 0x58, 0x09, 0x9f, 0xdd, 0x31, 0x2c, 0xff, 0xa9, 0xf9, 0x8b, 0x24, 0xc0, 0x21, - 0x0b, 0xda, 0x81, 0xcc, 0xb2, 0xe6, 0xd1, 0x1f, 0x47, 0x52, 0xd7, 0x53, 0x4b, 0x17, 0xfe, 0xf7, - 0xcd, 0xd3, 0xe7, 0x62, 0x18, 0x79, 0x75, 0x9d, 0xdd, 0x38, 0x20, 0xac, 0xe7, 0x17, 0x08, 0xfc, - 0xea, 0x90, 0x12, 0x50, 0xa1, 0x79, 0xe1, 0xea, 0xa6, 0xd6, 0x62, 0xbf, 0xe5, 0x4a, 0x2e, 0xc9, - 0x87, 0x6f, 0x9e, 0xce, 0x6f, 0x1c, 0x84, 0xf2, 0xd0, 0x15, 0xf2, 0xb4, 0x94, 0x81, 0x61, 0xe6, - 0xea, 0xd2, 0xca, 0xeb, 0x77, 0xa6, 0x87, 0xde, 0xb8, 0x33, 0x3d, 0xf4, 0x8f, 0x77, 0xa6, 0x87, - 0xde, 0xba, 0x33, 0x2d, 0xbd, 0x7b, 0x67, 0x5a, 0x7a, 0xef, 0xce, 0xb4, 0x74, 0xfb, 0x70, 0x5a, - 0xfa, 0xea, 0xe1, 0xb4, 0xf4, 0xf5, 0xc3, 0x69, 0xe9, 0xdb, 0x87, 0xd3, 0xd2, 0xeb, 0x87, 0xd3, - 0x43, 0x6f, 0x1c, 0x4e, 0x0f, 0xbd, 0x75, 0x38, 0x2d, 0xfd, 0xf0, 0x70, 0x7a, 0xe8, 0xdd, 0xc3, - 0x69, 0xe9, 0xbd, 0xc3, 0xe9, 0xa1, 0xdb, 0x3f, 0x98, 0x1e, 0xfa, 0xbf, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x37, 0x1b, 0x08, 0xc3, 0x16, 0x37, 0x00, 0x00, + // 4299 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7b, 0x6b, 0x70, 0x1b, 0xd7, + 0x75, 0x3f, 0xf1, 0x22, 0x81, 0x03, 0x10, 0x5c, 0x5e, 0xd2, 0x12, 0x44, 0xc7, 0x90, 0x04, 0xdb, + 0x31, 0xfd, 0x22, 0x6d, 0x8a, 0xd4, 0x03, 0xfa, 0x27, 0xfe, 0x83, 0x24, 0x44, 0xd1, 0x25, 0x09, + 0x66, 0x41, 0xc6, 0x8f, 0x4c, 0x67, 0x67, 0xb9, 0xb8, 0x04, 0x57, 0x5a, 0xec, 0x6e, 0x76, 0x17, + 0x92, 0xa1, 0xe9, 0x07, 0x75, 0xdc, 0xc7, 0x64, 0xfa, 0x4e, 0x3b, 0xd3, 0xc4, 0x75, 0xdc, 0x26, + 0x9d, 0xc6, 0x69, 0xfa, 0x4a, 0xfa, 0x48, 0x93, 0xf4, 0x4b, 0xbf, 0xa4, 0xf5, 0xa7, 0x8e, 0xf3, + 0xad, 0xd3, 0xe9, 0x78, 0x2c, 0xc6, 0x33, 0x4d, 0x5b, 0xb7, 0x75, 0x5b, 0x7d, 0xf0, 0xd4, 0x5f, + 0x3a, 0xf7, 0xb5, 0xbb, 0x78, 0x50, 0x0b, 0x66, 0x6a, 0xe7, 0x93, 0xb8, 0xe7, 0x9c, 0xdf, 0x6f, + 0xcf, 0x3d, 0xf7, 0xdc, 0x73, 0xcf, 0xbd, 0x0b, 0xc1, 0x1b, 0x65, 0x38, 0xd3, 0xb4, 0xac, 0xa6, + 0x81, 0xe7, 0x6d, 0xc7, 0xf2, 0xac, 0xbd, 0xf6, 0xfe, 0x7c, 0x03, 0xbb, 0x9a, 0xa3, 0xdb, 0x9e, + 0xe5, 0xcc, 0x51, 0x19, 0x9a, 0x60, 0x16, 0x73, 0xc2, 0xa2, 0xb4, 0x09, 0x93, 0x57, 0x74, 0x03, + 0xaf, 0xfa, 0x86, 0x75, 0xec, 0xa1, 0x8b, 0x90, 0xdc, 0xd7, 0x0d, 0x5c, 0x88, 0x9d, 0x49, 0xcc, + 0x66, 0x17, 0x1e, 0x9a, 0xeb, 0x01, 0xcd, 0x75, 0x23, 0xb6, 0x89, 0x58, 0xa6, 0x88, 0xd2, 0x3b, + 0x49, 0x98, 0x1a, 0xa0, 0x45, 0x08, 0x92, 0xa6, 0xda, 0x22, 0x8c, 0xb1, 0xd9, 0x8c, 0x4c, 0xff, + 0x46, 0x05, 0x18, 0xb3, 0x55, 0xed, 0xba, 0xda, 0xc4, 0x85, 0x38, 0x15, 0x8b, 0x47, 0x54, 0x04, + 0x68, 0x60, 0x1b, 0x9b, 0x0d, 0x6c, 0x6a, 0x9d, 0x42, 0xe2, 0x4c, 0x62, 0x36, 0x23, 0x87, 0x24, + 0xe8, 0x71, 0x98, 0xb4, 0xdb, 0x7b, 0x86, 0xae, 0x29, 0x21, 0x33, 0x38, 0x93, 0x98, 0x4d, 0xc9, + 0x12, 0x53, 0xac, 0x06, 0xc6, 0x8f, 0xc0, 0xc4, 0x4d, 0xac, 0x5e, 0x0f, 0x9b, 0x66, 0xa9, 0x69, + 0x9e, 0x88, 0x43, 0x86, 0x2b, 0x90, 0x6b, 0x61, 0xd7, 0x55, 0x9b, 0x58, 0xf1, 0x3a, 0x36, 0x2e, + 0x24, 0xe9, 0xe8, 0xcf, 0xf4, 0x8d, 0xbe, 0x77, 0xe4, 0x59, 0x8e, 0xda, 0xe9, 0xd8, 0x18, 0x55, + 0x20, 0x83, 0xcd, 0x76, 0x8b, 0x31, 0xa4, 0x8e, 0x88, 0x5f, 0xd5, 0x6c, 0xb7, 0x7a, 0x59, 0xd2, + 0x04, 0xc6, 0x29, 0xc6, 0x5c, 0xec, 0xdc, 0xd0, 0x35, 0x5c, 0x18, 0xa5, 0x04, 0x8f, 0xf4, 0x11, + 0xd4, 0x99, 0xbe, 0x97, 0x43, 0xe0, 0xd0, 0x0a, 0x64, 0xf0, 0x4b, 0x1e, 0x36, 0x5d, 0xdd, 0x32, + 0x0b, 0x63, 0x94, 0xe4, 0xe1, 0x01, 0xb3, 0x88, 0x8d, 0x46, 0x2f, 0x45, 0x80, 0x43, 0xe7, 0x61, + 0xcc, 0xb2, 0x3d, 0xdd, 0x32, 0xdd, 0x42, 0xfa, 0x4c, 0x6c, 0x36, 0xbb, 0xf0, 0xb1, 0x81, 0x89, + 0x50, 0x63, 0x36, 0xb2, 0x30, 0x46, 0xeb, 0x20, 0xb9, 0x56, 0xdb, 0xd1, 0xb0, 0xa2, 0x59, 0x0d, + 0xac, 0xe8, 0xe6, 0xbe, 0x55, 0xc8, 0x50, 0x82, 0xd3, 0xfd, 0x03, 0xa1, 0x86, 0x2b, 0x56, 0x03, + 0xaf, 0x9b, 0xfb, 0x96, 0x9c, 0x77, 0xbb, 0x9e, 0xd1, 0x09, 0x18, 0x75, 0x3b, 0xa6, 0xa7, 0xbe, + 0x54, 0xc8, 0xd1, 0x0c, 0xe1, 0x4f, 0xa5, 0xef, 0x8c, 0xc2, 0xc4, 0x30, 0x29, 0x76, 0x19, 0x52, + 0xfb, 0x64, 0x94, 0x85, 0xf8, 0x71, 0x62, 0xc0, 0x30, 0xdd, 0x41, 0x1c, 0xfd, 0x11, 0x83, 0x58, + 0x81, 0xac, 0x89, 0x5d, 0x0f, 0x37, 0x58, 0x46, 0x24, 0x86, 0xcc, 0x29, 0x60, 0xa0, 0xfe, 0x94, + 0x4a, 0xfe, 0x48, 0x29, 0xf5, 0x3c, 0x4c, 0xf8, 0x2e, 0x29, 0x8e, 0x6a, 0x36, 0x45, 0x6e, 0xce, + 0x47, 0x79, 0x32, 0x57, 0x15, 0x38, 0x99, 0xc0, 0xe4, 0x3c, 0xee, 0x7a, 0x46, 0xab, 0x00, 0x96, + 0x89, 0xad, 0x7d, 0xa5, 0x81, 0x35, 0xa3, 0x90, 0x3e, 0x22, 0x4a, 0x35, 0x62, 0xd2, 0x17, 0x25, + 0x8b, 0x49, 0x35, 0x03, 0x5d, 0x0a, 0x52, 0x6d, 0xec, 0x88, 0x4c, 0xd9, 0x64, 0x8b, 0xac, 0x2f, + 0xdb, 0x76, 0x21, 0xef, 0x60, 0x92, 0xf7, 0xb8, 0xc1, 0x47, 0x96, 0xa1, 0x4e, 0xcc, 0x45, 0x8e, + 0x4c, 0xe6, 0x30, 0x36, 0xb0, 0x71, 0x27, 0xfc, 0x88, 0x1e, 0x04, 0x5f, 0xa0, 0xd0, 0xb4, 0x02, + 0x5a, 0x85, 0x72, 0x42, 0xb8, 0xa5, 0xb6, 0xf0, 0xcc, 0x2d, 0xc8, 0x77, 0x87, 0x07, 0x4d, 0x43, + 0xca, 0xf5, 0x54, 0xc7, 0xa3, 0x59, 0x98, 0x92, 0xd9, 0x03, 0x92, 0x20, 0x81, 0xcd, 0x06, 0xad, + 0x72, 0x29, 0x99, 0xfc, 0x89, 0xfe, 0x7f, 0x30, 0xe0, 0x04, 0x1d, 0xf0, 0xc7, 0xfb, 0x67, 0xb4, + 0x8b, 0xb9, 0x77, 0xdc, 0x33, 0x17, 0x60, 0xbc, 0x6b, 0x00, 0xc3, 0xbe, 0xba, 0xf4, 0x53, 0x70, + 0xdf, 0x40, 0x6a, 0xf4, 0x3c, 0x4c, 0xb7, 0x4d, 0xdd, 0xf4, 0xb0, 0x63, 0x3b, 0x98, 0x64, 0x2c, + 0x7b, 0x55, 0xe1, 0x9f, 0xc6, 0x8e, 0xc8, 0xb9, 0xdd, 0xb0, 0x35, 0x63, 0x91, 0xa7, 0xda, 0xfd, + 0xc2, 0xc7, 0x32, 0xe9, 0x1f, 0x8e, 0x49, 0xb7, 0x6f, 0xdf, 0xbe, 0x1d, 0x2f, 0x7d, 0x61, 0x14, + 0xa6, 0x07, 0xad, 0x99, 0x81, 0xcb, 0xf7, 0x04, 0x8c, 0x9a, 0xed, 0xd6, 0x1e, 0x76, 0x68, 0x90, + 0x52, 0x32, 0x7f, 0x42, 0x15, 0x48, 0x19, 0xea, 0x1e, 0x36, 0x0a, 0xc9, 0x33, 0xb1, 0xd9, 0xfc, + 0xc2, 0xe3, 0x43, 0xad, 0xca, 0xb9, 0x0d, 0x02, 0x91, 0x19, 0x12, 0x7d, 0x12, 0x92, 0xbc, 0x44, + 0x13, 0x86, 0xc7, 0x86, 0x63, 0x20, 0x6b, 0x49, 0xa6, 0x38, 0x74, 0x3f, 0x64, 0xc8, 0xbf, 0x2c, + 0x37, 0x46, 0xa9, 0xcf, 0x69, 0x22, 0x20, 0x79, 0x81, 0x66, 0x20, 0x4d, 0x97, 0x49, 0x03, 0x8b, + 0xad, 0xcd, 0x7f, 0x26, 0x89, 0xd5, 0xc0, 0xfb, 0x6a, 0xdb, 0xf0, 0x94, 0x1b, 0xaa, 0xd1, 0xc6, + 0x34, 0xe1, 0x33, 0x72, 0x8e, 0x0b, 0x3f, 0x4d, 0x64, 0xe8, 0x34, 0x64, 0xd9, 0xaa, 0xd2, 0xcd, + 0x06, 0x7e, 0x89, 0x56, 0xcf, 0x94, 0xcc, 0x16, 0xda, 0x3a, 0x91, 0x90, 0xd7, 0x5f, 0x73, 0x2d, + 0x53, 0xa4, 0x26, 0x7d, 0x05, 0x11, 0xd0, 0xd7, 0x5f, 0xe8, 0x2d, 0xdc, 0x0f, 0x0c, 0x1e, 0x5e, + 0x6f, 0x4e, 0x95, 0xbe, 0x15, 0x87, 0x24, 0xad, 0x17, 0x13, 0x90, 0xdd, 0x79, 0x61, 0xbb, 0xaa, + 0xac, 0xd6, 0x76, 0x97, 0x37, 0xaa, 0x52, 0x0c, 0xe5, 0x01, 0xa8, 0xe0, 0xca, 0x46, 0xad, 0xb2, + 0x23, 0xc5, 0xfd, 0xe7, 0xf5, 0xad, 0x9d, 0xf3, 0x8b, 0x52, 0xc2, 0x07, 0xec, 0x32, 0x41, 0x32, + 0x6c, 0x70, 0x6e, 0x41, 0x4a, 0x21, 0x09, 0x72, 0x8c, 0x60, 0xfd, 0xf9, 0xea, 0xea, 0xf9, 0x45, + 0x69, 0xb4, 0x5b, 0x72, 0x6e, 0x41, 0x1a, 0x43, 0xe3, 0x90, 0xa1, 0x92, 0xe5, 0x5a, 0x6d, 0x43, + 0x4a, 0xfb, 0x9c, 0xf5, 0x1d, 0x79, 0x7d, 0x6b, 0x4d, 0xca, 0xf8, 0x9c, 0x6b, 0x72, 0x6d, 0x77, + 0x5b, 0x02, 0x9f, 0x61, 0xb3, 0x5a, 0xaf, 0x57, 0xd6, 0xaa, 0x52, 0xd6, 0xb7, 0x58, 0x7e, 0x61, + 0xa7, 0x5a, 0x97, 0x72, 0x5d, 0x6e, 0x9d, 0x5b, 0x90, 0xc6, 0xfd, 0x57, 0x54, 0xb7, 0x76, 0x37, + 0xa5, 0x3c, 0x9a, 0x84, 0x71, 0xf6, 0x0a, 0xe1, 0xc4, 0x44, 0x8f, 0xe8, 0xfc, 0xa2, 0x24, 0x05, + 0x8e, 0x30, 0x96, 0xc9, 0x2e, 0xc1, 0xf9, 0x45, 0x09, 0x95, 0x56, 0x20, 0x45, 0xb3, 0x0b, 0x21, + 0xc8, 0x6f, 0x54, 0x96, 0xab, 0x1b, 0x4a, 0x6d, 0x7b, 0x67, 0xbd, 0xb6, 0x55, 0xd9, 0x90, 0x62, + 0x81, 0x4c, 0xae, 0x7e, 0x6a, 0x77, 0x5d, 0xae, 0xae, 0x4a, 0xf1, 0xb0, 0x6c, 0xbb, 0x5a, 0xd9, + 0xa9, 0xae, 0x4a, 0x89, 0x92, 0x06, 0xd3, 0x83, 0xea, 0xe4, 0xc0, 0x95, 0x11, 0x9a, 0xe2, 0xf8, + 0x11, 0x53, 0x4c, 0xb9, 0xfa, 0xa6, 0xf8, 0x07, 0x71, 0x98, 0x1a, 0xb0, 0x57, 0x0c, 0x7c, 0xc9, + 0x33, 0x90, 0x62, 0x29, 0xca, 0x76, 0xcf, 0x47, 0x07, 0x6e, 0x3a, 0x34, 0x61, 0xfb, 0x76, 0x50, + 0x8a, 0x0b, 0x77, 0x10, 0x89, 0x23, 0x3a, 0x08, 0x42, 0xd1, 0x57, 0xd3, 0x7f, 0xb2, 0xaf, 0xa6, + 0xb3, 0x6d, 0xef, 0xfc, 0x30, 0xdb, 0x1e, 0x95, 0x1d, 0xaf, 0xb6, 0xa7, 0x06, 0xd4, 0xf6, 0xcb, + 0x30, 0xd9, 0x47, 0x34, 0x74, 0x8d, 0x7d, 0x39, 0x06, 0x85, 0xa3, 0x82, 0x13, 0x51, 0xe9, 0xe2, + 0x5d, 0x95, 0xee, 0x72, 0x6f, 0x04, 0xcf, 0x1e, 0x3d, 0x09, 0x7d, 0x73, 0xfd, 0x7a, 0x0c, 0x4e, + 0x0c, 0xee, 0x14, 0x07, 0xfa, 0xf0, 0x49, 0x18, 0x6d, 0x61, 0xef, 0xc0, 0x12, 0xdd, 0xd2, 0xc7, + 0x07, 0xec, 0xc1, 0x44, 0xdd, 0x3b, 0xd9, 0x1c, 0x15, 0xde, 0xc4, 0x13, 0x47, 0xb5, 0x7b, 0xcc, + 0x9b, 0x3e, 0x4f, 0x3f, 0x17, 0x87, 0xfb, 0x06, 0x92, 0x0f, 0x74, 0xf4, 0x01, 0x00, 0xdd, 0xb4, + 0xdb, 0x1e, 0xeb, 0x88, 0x58, 0x81, 0xcd, 0x50, 0x09, 0x2d, 0x5e, 0xa4, 0x78, 0xb6, 0x3d, 0x5f, + 0x9f, 0xa0, 0x7a, 0x60, 0x22, 0x6a, 0x70, 0x31, 0x70, 0x34, 0x49, 0x1d, 0x2d, 0x1e, 0x31, 0xd2, + 0xbe, 0xc4, 0x7c, 0x0a, 0x24, 0xcd, 0xd0, 0xb1, 0xe9, 0x29, 0xae, 0xe7, 0x60, 0xb5, 0xa5, 0x9b, + 0x4d, 0xba, 0x83, 0xa4, 0xcb, 0xa9, 0x7d, 0xd5, 0x70, 0xb1, 0x3c, 0xc1, 0xd4, 0x75, 0xa1, 0x25, + 0x08, 0x9a, 0x40, 0x4e, 0x08, 0x31, 0xda, 0x85, 0x60, 0x6a, 0x1f, 0x51, 0xfa, 0xc5, 0x0c, 0x64, + 0x43, 0x7d, 0x35, 0x3a, 0x0b, 0xb9, 0x6b, 0xea, 0x0d, 0x55, 0x11, 0x67, 0x25, 0x16, 0x89, 0x2c, + 0x91, 0x6d, 0xf3, 0xf3, 0xd2, 0x53, 0x30, 0x4d, 0x4d, 0xac, 0xb6, 0x87, 0x1d, 0x45, 0x33, 0x54, + 0xd7, 0xa5, 0x41, 0x4b, 0x53, 0x53, 0x44, 0x74, 0x35, 0xa2, 0x5a, 0x11, 0x1a, 0xb4, 0x04, 0x53, + 0x14, 0xd1, 0x6a, 0x1b, 0x9e, 0x6e, 0x1b, 0x58, 0x21, 0xa7, 0x37, 0x97, 0xee, 0x24, 0xbe, 0x67, + 0x93, 0xc4, 0x62, 0x93, 0x1b, 0x10, 0x8f, 0x5c, 0xb4, 0x0a, 0x0f, 0x50, 0x58, 0x13, 0x9b, 0xd8, + 0x51, 0x3d, 0xac, 0xe0, 0xcf, 0xb6, 0x55, 0xc3, 0x55, 0x54, 0xb3, 0xa1, 0x1c, 0xa8, 0xee, 0x41, + 0x61, 0x9a, 0x10, 0x2c, 0xc7, 0x0b, 0x31, 0xf9, 0x14, 0x31, 0x5c, 0xe3, 0x76, 0x55, 0x6a, 0x56, + 0x31, 0x1b, 0x57, 0x55, 0xf7, 0x00, 0x95, 0xe1, 0x04, 0x65, 0x71, 0x3d, 0x47, 0x37, 0x9b, 0x8a, + 0x76, 0x80, 0xb5, 0xeb, 0x4a, 0xdb, 0xdb, 0xbf, 0x58, 0xb8, 0x3f, 0xfc, 0x7e, 0xea, 0x61, 0x9d, + 0xda, 0xac, 0x10, 0x93, 0x5d, 0x6f, 0xff, 0x22, 0xaa, 0x43, 0x8e, 0x4c, 0x46, 0x4b, 0xbf, 0x85, + 0x95, 0x7d, 0xcb, 0xa1, 0x5b, 0x63, 0x7e, 0x40, 0x69, 0x0a, 0x45, 0x70, 0xae, 0xc6, 0x01, 0x9b, + 0x56, 0x03, 0x97, 0x53, 0xf5, 0xed, 0x6a, 0x75, 0x55, 0xce, 0x0a, 0x96, 0x2b, 0x96, 0x43, 0x12, + 0xaa, 0x69, 0xf9, 0x01, 0xce, 0xb2, 0x84, 0x6a, 0x5a, 0x22, 0xbc, 0x4b, 0x30, 0xa5, 0x69, 0x6c, + 0xcc, 0xba, 0xa6, 0xf0, 0x33, 0x96, 0x5b, 0x90, 0xba, 0x82, 0xa5, 0x69, 0x6b, 0xcc, 0x80, 0xe7, + 0xb8, 0x8b, 0x2e, 0xc1, 0x7d, 0x41, 0xb0, 0xc2, 0xc0, 0xc9, 0xbe, 0x51, 0xf6, 0x42, 0x97, 0x60, + 0xca, 0xee, 0xf4, 0x03, 0x51, 0xd7, 0x1b, 0xed, 0x4e, 0x2f, 0xec, 0x02, 0x4c, 0xdb, 0x07, 0x76, + 0x3f, 0xee, 0xb1, 0x30, 0x0e, 0xd9, 0x07, 0x76, 0x2f, 0xf0, 0x61, 0x7a, 0xe0, 0x76, 0xb0, 0xa6, + 0x7a, 0xb8, 0x51, 0x38, 0x19, 0x36, 0x0f, 0x29, 0xd0, 0x3c, 0x48, 0x9a, 0xa6, 0x60, 0x53, 0xdd, + 0x33, 0xb0, 0xa2, 0x3a, 0xd8, 0x54, 0xdd, 0xc2, 0xe9, 0xb0, 0x71, 0x5e, 0xd3, 0xaa, 0x54, 0x5b, + 0xa1, 0x4a, 0xf4, 0x18, 0x4c, 0x5a, 0x7b, 0xd7, 0x34, 0x96, 0x92, 0x8a, 0xed, 0xe0, 0x7d, 0xfd, + 0xa5, 0xc2, 0x43, 0x34, 0xbe, 0x13, 0x44, 0x41, 0x13, 0x72, 0x9b, 0x8a, 0xd1, 0xa3, 0x20, 0x69, + 0xee, 0x81, 0xea, 0xd8, 0xb4, 0x26, 0xbb, 0xb6, 0xaa, 0xe1, 0xc2, 0xc3, 0xcc, 0x94, 0xc9, 0xb7, + 0x84, 0x98, 0x2c, 0x09, 0xf7, 0xa6, 0xbe, 0xef, 0x09, 0xc6, 0x47, 0xd8, 0x92, 0xa0, 0x32, 0xce, + 0x36, 0x0b, 0x12, 0x09, 0x45, 0xd7, 0x8b, 0x67, 0xa9, 0x59, 0xde, 0x3e, 0xb0, 0xc3, 0xef, 0x7d, + 0x10, 0xc6, 0x89, 0x65, 0xf0, 0xd2, 0x47, 0x59, 0x43, 0x66, 0x1f, 0x84, 0xde, 0xb8, 0x08, 0x27, + 0x88, 0x51, 0x0b, 0x7b, 0x6a, 0x43, 0xf5, 0xd4, 0x90, 0xf5, 0x13, 0xd4, 0x9a, 0xc4, 0x7d, 0x93, + 0x2b, 0xbb, 0xfc, 0x74, 0xda, 0x7b, 0x1d, 0x3f, 0xb3, 0x9e, 0x64, 0x7e, 0x12, 0x99, 0xc8, 0xad, + 0x0f, 0xad, 0xe9, 0x2e, 0x95, 0x21, 0x17, 0x4e, 0x7c, 0x94, 0x01, 0x96, 0xfa, 0x52, 0x8c, 0x74, + 0x41, 0x2b, 0xb5, 0x55, 0xd2, 0xbf, 0xbc, 0x58, 0x95, 0xe2, 0xa4, 0x8f, 0xda, 0x58, 0xdf, 0xa9, + 0x2a, 0xf2, 0xee, 0xd6, 0xce, 0xfa, 0x66, 0x55, 0x4a, 0x84, 0x1b, 0xf6, 0xef, 0xc5, 0x21, 0xdf, + 0x7d, 0xf6, 0x42, 0xff, 0x0f, 0x4e, 0x8a, 0x8b, 0x12, 0x17, 0x7b, 0xca, 0x4d, 0xdd, 0xa1, 0x6b, + 0xb1, 0xa5, 0xb2, 0x7d, 0xd1, 0xcf, 0x86, 0x69, 0x6e, 0x55, 0xc7, 0xde, 0x73, 0xba, 0x43, 0x56, + 0x5a, 0x4b, 0xf5, 0xd0, 0x06, 0x9c, 0x36, 0x2d, 0xc5, 0xf5, 0x54, 0xb3, 0xa1, 0x3a, 0x0d, 0x25, + 0xb8, 0xa2, 0x52, 0x54, 0x4d, 0xc3, 0xae, 0x6b, 0xb1, 0x3d, 0xd0, 0x67, 0xf9, 0x98, 0x69, 0xd5, + 0xb9, 0x71, 0xb0, 0x39, 0x54, 0xb8, 0x69, 0x4f, 0xe6, 0x26, 0x8e, 0xca, 0xdc, 0xfb, 0x21, 0xd3, + 0x52, 0x6d, 0x05, 0x9b, 0x9e, 0xd3, 0xa1, 0x1d, 0x77, 0x5a, 0x4e, 0xb7, 0x54, 0xbb, 0x4a, 0x9e, + 0x3f, 0x9a, 0x83, 0xcf, 0x3f, 0x26, 0x20, 0x17, 0xee, 0xba, 0xc9, 0x21, 0x46, 0xa3, 0x1b, 0x54, + 0x8c, 0x96, 0xb0, 0x07, 0xef, 0xd9, 0xa3, 0xcf, 0xad, 0x90, 0x9d, 0xab, 0x3c, 0xca, 0x7a, 0x61, + 0x99, 0x21, 0x49, 0xd7, 0x40, 0x52, 0x0b, 0xb3, 0xde, 0x23, 0x2d, 0xf3, 0x27, 0xb4, 0x06, 0xa3, + 0xd7, 0x5c, 0xca, 0x3d, 0x4a, 0xb9, 0x1f, 0xba, 0x37, 0xf7, 0xb3, 0x75, 0x4a, 0x9e, 0x79, 0xb6, + 0xae, 0x6c, 0xd5, 0xe4, 0xcd, 0xca, 0x86, 0xcc, 0xe1, 0xe8, 0x14, 0x24, 0x0d, 0xf5, 0x56, 0xa7, + 0x7b, 0x8f, 0xa3, 0xa2, 0x61, 0x03, 0x7f, 0x0a, 0x92, 0x37, 0xb1, 0x7a, 0xbd, 0x7b, 0x67, 0xa1, + 0xa2, 0x0f, 0x31, 0xf5, 0xe7, 0x21, 0x45, 0xe3, 0x85, 0x00, 0x78, 0xc4, 0xa4, 0x11, 0x94, 0x86, + 0xe4, 0x4a, 0x4d, 0x26, 0xe9, 0x2f, 0x41, 0x8e, 0x49, 0x95, 0xed, 0xf5, 0xea, 0x4a, 0x55, 0x8a, + 0x97, 0x96, 0x60, 0x94, 0x05, 0x81, 0x2c, 0x0d, 0x3f, 0x0c, 0xd2, 0x08, 0x7f, 0xe4, 0x1c, 0x31, + 0xa1, 0xdd, 0xdd, 0x5c, 0xae, 0xca, 0x52, 0x3c, 0x3c, 0xbd, 0x2e, 0xe4, 0xc2, 0x0d, 0xf7, 0x47, + 0x93, 0x53, 0xdf, 0x8d, 0x41, 0x36, 0xd4, 0x40, 0x93, 0xce, 0x47, 0x35, 0x0c, 0xeb, 0xa6, 0xa2, + 0x1a, 0xba, 0xea, 0xf2, 0xa4, 0x00, 0x2a, 0xaa, 0x10, 0xc9, 0xb0, 0x93, 0xf6, 0x91, 0x38, 0xff, + 0x5a, 0x0c, 0xa4, 0xde, 0xde, 0xb5, 0xc7, 0xc1, 0xd8, 0x8f, 0xd5, 0xc1, 0x57, 0x63, 0x90, 0xef, + 0x6e, 0x58, 0x7b, 0xdc, 0x3b, 0xfb, 0x63, 0x75, 0xef, 0xed, 0x38, 0x8c, 0x77, 0xb5, 0xa9, 0xc3, + 0x7a, 0xf7, 0x59, 0x98, 0xd4, 0x1b, 0xb8, 0x65, 0x5b, 0x1e, 0x36, 0xb5, 0x8e, 0x62, 0xe0, 0x1b, + 0xd8, 0x28, 0x94, 0x68, 0xa1, 0x98, 0xbf, 0x77, 0x23, 0x3c, 0xb7, 0x1e, 0xe0, 0x36, 0x08, 0xac, + 0x3c, 0xb5, 0xbe, 0x5a, 0xdd, 0xdc, 0xae, 0xed, 0x54, 0xb7, 0x56, 0x5e, 0x50, 0x76, 0xb7, 0x7e, + 0x62, 0xab, 0xf6, 0xdc, 0x96, 0x2c, 0xe9, 0x3d, 0x66, 0x1f, 0xe2, 0x52, 0xdf, 0x06, 0xa9, 0xd7, + 0x29, 0x74, 0x12, 0x06, 0xb9, 0x25, 0x8d, 0xa0, 0x29, 0x98, 0xd8, 0xaa, 0x29, 0xf5, 0xf5, 0xd5, + 0xaa, 0x52, 0xbd, 0x72, 0xa5, 0xba, 0xb2, 0x53, 0x67, 0x57, 0x1b, 0xbe, 0xf5, 0x4e, 0xf7, 0xa2, + 0x7e, 0x25, 0x01, 0x53, 0x03, 0x3c, 0x41, 0x15, 0x7e, 0x28, 0x61, 0xe7, 0xa4, 0x27, 0x87, 0xf1, + 0x7e, 0x8e, 0x74, 0x05, 0xdb, 0xaa, 0xe3, 0xf1, 0x33, 0xcc, 0xa3, 0x40, 0xa2, 0x64, 0x7a, 0xfa, + 0xbe, 0x8e, 0x1d, 0x7e, 0x13, 0xc4, 0x4e, 0x2a, 0x13, 0x81, 0x9c, 0x5d, 0x06, 0x3d, 0x01, 0xc8, + 0xb6, 0x5c, 0xdd, 0xd3, 0x6f, 0x60, 0x45, 0x37, 0xc5, 0xb5, 0x11, 0x39, 0xb9, 0x24, 0x65, 0x49, + 0x68, 0xd6, 0x4d, 0xcf, 0xb7, 0x36, 0x71, 0x53, 0xed, 0xb1, 0x26, 0x05, 0x3c, 0x21, 0x4b, 0x42, + 0xe3, 0x5b, 0x9f, 0x85, 0x5c, 0xc3, 0x6a, 0x93, 0x76, 0x8e, 0xd9, 0x91, 0xfd, 0x22, 0x26, 0x67, + 0x99, 0xcc, 0x37, 0xe1, 0x8d, 0x7a, 0x70, 0x5f, 0x95, 0x93, 0xb3, 0x4c, 0xc6, 0x4c, 0x1e, 0x81, + 0x09, 0xb5, 0xd9, 0x74, 0x08, 0xb9, 0x20, 0x62, 0x47, 0x8f, 0xbc, 0x2f, 0xa6, 0x86, 0x33, 0xcf, + 0x42, 0x5a, 0xc4, 0x81, 0x6c, 0xc9, 0x24, 0x12, 0x8a, 0xcd, 0xce, 0xd3, 0xf1, 0xd9, 0x8c, 0x9c, + 0x36, 0x85, 0xf2, 0x2c, 0xe4, 0x74, 0x57, 0x09, 0xae, 0xdf, 0xe3, 0x67, 0xe2, 0xb3, 0x69, 0x39, + 0xab, 0xbb, 0xfe, 0xd5, 0x65, 0xe9, 0xf5, 0x38, 0xe4, 0xbb, 0x3f, 0x1f, 0xa0, 0x55, 0x48, 0x1b, + 0x96, 0xa6, 0xd2, 0xd4, 0x62, 0xdf, 0xae, 0x66, 0x23, 0xbe, 0x38, 0xcc, 0x6d, 0x70, 0x7b, 0xd9, + 0x47, 0xce, 0xfc, 0x5d, 0x0c, 0xd2, 0x42, 0x8c, 0x4e, 0x40, 0xd2, 0x56, 0xbd, 0x03, 0x4a, 0x97, + 0x5a, 0x8e, 0x4b, 0x31, 0x99, 0x3e, 0x13, 0xb9, 0x6b, 0xab, 0x26, 0x4d, 0x01, 0x2e, 0x27, 0xcf, + 0x64, 0x5e, 0x0d, 0xac, 0x36, 0xe8, 0xb9, 0xc6, 0x6a, 0xb5, 0xb0, 0xe9, 0xb9, 0x62, 0x5e, 0xb9, + 0x7c, 0x85, 0x8b, 0xd1, 0xe3, 0x30, 0xe9, 0x39, 0xaa, 0x6e, 0x74, 0xd9, 0x26, 0xa9, 0xad, 0x24, + 0x14, 0xbe, 0x71, 0x19, 0x4e, 0x09, 0xde, 0x06, 0xf6, 0x54, 0xed, 0x00, 0x37, 0x02, 0xd0, 0x28, + 0xbd, 0xbf, 0x38, 0xc9, 0x0d, 0x56, 0xb9, 0x5e, 0x60, 0x4b, 0xdf, 0x8f, 0xc1, 0xa4, 0x38, 0x89, + 0x35, 0xfc, 0x60, 0x6d, 0x02, 0xa8, 0xa6, 0x69, 0x79, 0xe1, 0x70, 0xf5, 0xa7, 0x72, 0x1f, 0x6e, + 0xae, 0xe2, 0x83, 0xe4, 0x10, 0xc1, 0x4c, 0x0b, 0x20, 0xd0, 0x1c, 0x19, 0xb6, 0xd3, 0x90, 0xe5, + 0xdf, 0x86, 0xe8, 0x07, 0x46, 0x76, 0x76, 0x07, 0x26, 0x22, 0x47, 0x36, 0x34, 0x0d, 0xa9, 0x3d, + 0xdc, 0xd4, 0x4d, 0x7e, 0xe3, 0xcb, 0x1e, 0xc4, 0x0d, 0x4b, 0xd2, 0xbf, 0x61, 0x59, 0xfe, 0x0c, + 0x4c, 0x69, 0x56, 0xab, 0xd7, 0xdd, 0x65, 0xa9, 0xe7, 0xfe, 0xc0, 0xbd, 0x1a, 0x7b, 0x11, 0x82, + 0x16, 0xf3, 0xfd, 0x58, 0xec, 0x2b, 0xf1, 0xc4, 0xda, 0xf6, 0xf2, 0xd7, 0xe3, 0x33, 0x6b, 0x0c, + 0xba, 0x2d, 0x46, 0x2a, 0xe3, 0x7d, 0x03, 0x6b, 0xc4, 0x7b, 0xf8, 0xea, 0xe3, 0xf0, 0x64, 0x53, + 0xf7, 0x0e, 0xda, 0x7b, 0x73, 0x9a, 0xd5, 0x9a, 0x6f, 0x5a, 0x4d, 0x2b, 0xf8, 0xa6, 0x4a, 0x9e, + 0xe8, 0x03, 0xfd, 0x8b, 0x7f, 0x57, 0xcd, 0xf8, 0xd2, 0x99, 0xc8, 0x8f, 0xb0, 0xe5, 0x2d, 0x98, + 0xe2, 0xc6, 0x0a, 0xfd, 0xb0, 0xc3, 0x8e, 0x27, 0xe8, 0x9e, 0x97, 0x63, 0x85, 0x6f, 0xbe, 0x43, + 0xb7, 0x6b, 0x79, 0x92, 0x43, 0x89, 0x8e, 0x9d, 0x60, 0xca, 0x32, 0xdc, 0xd7, 0xc5, 0xc7, 0x96, + 0x26, 0x76, 0x22, 0x18, 0xbf, 0xc7, 0x19, 0xa7, 0x42, 0x8c, 0x75, 0x0e, 0x2d, 0xaf, 0xc0, 0xf8, + 0x71, 0xb8, 0xfe, 0x86, 0x73, 0xe5, 0x70, 0x98, 0x64, 0x0d, 0x26, 0x28, 0x89, 0xd6, 0x76, 0x3d, + 0xab, 0x45, 0xeb, 0xde, 0xbd, 0x69, 0xfe, 0xf6, 0x1d, 0xb6, 0x56, 0xf2, 0x04, 0xb6, 0xe2, 0xa3, + 0xca, 0x65, 0xa0, 0xdf, 0xb2, 0x1a, 0x58, 0x33, 0x22, 0x18, 0xde, 0xe0, 0x8e, 0xf8, 0xf6, 0xe5, + 0x4f, 0xc3, 0x34, 0xf9, 0x9b, 0x96, 0xa5, 0xb0, 0x27, 0xd1, 0x37, 0x69, 0x85, 0xef, 0xbf, 0xcc, + 0x96, 0xe3, 0x94, 0x4f, 0x10, 0xf2, 0x29, 0x34, 0x8b, 0x4d, 0xec, 0x79, 0xd8, 0x71, 0x15, 0xd5, + 0x18, 0xe4, 0x5e, 0xe8, 0x2a, 0xa2, 0xf0, 0xc5, 0x77, 0xbb, 0x67, 0x71, 0x8d, 0x21, 0x2b, 0x86, + 0x51, 0xde, 0x85, 0x93, 0x03, 0xb2, 0x62, 0x08, 0xce, 0x57, 0x38, 0xe7, 0x74, 0x5f, 0x66, 0x10, + 0xda, 0x6d, 0x10, 0x72, 0x7f, 0x2e, 0x87, 0xe0, 0xfc, 0x2d, 0xce, 0x89, 0x38, 0x56, 0x4c, 0x29, + 0x61, 0x7c, 0x16, 0x26, 0x6f, 0x60, 0x67, 0xcf, 0x72, 0xf9, 0xf5, 0xcf, 0x10, 0x74, 0xaf, 0x72, + 0xba, 0x09, 0x0e, 0xa4, 0xf7, 0x41, 0x84, 0xeb, 0x12, 0xa4, 0xf7, 0x55, 0x0d, 0x0f, 0x41, 0xf1, + 0x25, 0x4e, 0x31, 0x46, 0xec, 0x09, 0xb4, 0x02, 0xb9, 0xa6, 0xc5, 0x77, 0xa6, 0x68, 0xf8, 0x6b, + 0x1c, 0x9e, 0x15, 0x18, 0x4e, 0x61, 0x5b, 0x76, 0xdb, 0x20, 0xdb, 0x56, 0x34, 0xc5, 0x6f, 0x0b, + 0x0a, 0x81, 0xe1, 0x14, 0xc7, 0x08, 0xeb, 0xef, 0x08, 0x0a, 0x37, 0x14, 0xcf, 0x67, 0x20, 0x6b, + 0x99, 0x46, 0xc7, 0x32, 0x87, 0x71, 0xe2, 0xcb, 0x9c, 0x01, 0x38, 0x84, 0x10, 0x5c, 0x86, 0xcc, + 0xb0, 0x13, 0xf1, 0x7b, 0xef, 0x8a, 0xe5, 0x21, 0x66, 0x60, 0x0d, 0x26, 0x44, 0x81, 0xd2, 0x2d, + 0x73, 0x08, 0x8a, 0xaf, 0x72, 0x8a, 0x7c, 0x08, 0xc6, 0x87, 0xe1, 0x61, 0xd7, 0x6b, 0xe2, 0x61, + 0x48, 0x5e, 0x17, 0xc3, 0xe0, 0x10, 0x1e, 0xca, 0x3d, 0x6c, 0x6a, 0x07, 0xc3, 0x31, 0x7c, 0x4d, + 0x84, 0x52, 0x60, 0x08, 0xc5, 0x0a, 0x8c, 0xb7, 0x54, 0xc7, 0x3d, 0x50, 0x8d, 0xa1, 0xa6, 0xe3, + 0xf7, 0x39, 0x47, 0xce, 0x07, 0xf1, 0x88, 0xb4, 0xcd, 0xe3, 0xd0, 0x7c, 0x5d, 0x44, 0x24, 0x04, + 0xe3, 0x4b, 0xcf, 0xf5, 0xe8, 0x5d, 0xd9, 0x71, 0xd8, 0xfe, 0x40, 0x2c, 0x3d, 0x86, 0xdd, 0x0c, + 0x33, 0x5e, 0x86, 0x8c, 0xab, 0xdf, 0x1a, 0x8a, 0xe6, 0x0f, 0xc5, 0x4c, 0x53, 0x00, 0x01, 0xbf, + 0x00, 0xa7, 0x06, 0x6e, 0x13, 0x43, 0x90, 0xfd, 0x11, 0x27, 0x3b, 0x31, 0x60, 0xab, 0xe0, 0x25, + 0xe1, 0xb8, 0x94, 0x7f, 0x2c, 0x4a, 0x02, 0xee, 0xe1, 0xda, 0x26, 0x67, 0x05, 0x57, 0xdd, 0x3f, + 0x5e, 0xd4, 0xfe, 0x44, 0x44, 0x8d, 0x61, 0xbb, 0xa2, 0xb6, 0x03, 0x27, 0x38, 0xe3, 0xf1, 0xe6, + 0xf5, 0x1b, 0xa2, 0xb0, 0x32, 0xf4, 0x6e, 0xf7, 0xec, 0x7e, 0x06, 0x66, 0xfc, 0x70, 0x8a, 0xa6, + 0xd4, 0x55, 0x5a, 0xaa, 0x3d, 0x04, 0xf3, 0x37, 0x39, 0xb3, 0xa8, 0xf8, 0x7e, 0x57, 0xeb, 0x6e, + 0xaa, 0x36, 0x21, 0x7f, 0x1e, 0x0a, 0x82, 0xbc, 0x6d, 0x3a, 0x58, 0xb3, 0x9a, 0xa6, 0x7e, 0x0b, + 0x37, 0x86, 0xa0, 0xfe, 0xd3, 0x9e, 0xa9, 0xda, 0x0d, 0xc1, 0x09, 0xf3, 0x3a, 0x48, 0x7e, 0xaf, + 0xa2, 0xe8, 0x2d, 0xdb, 0x72, 0xbc, 0x08, 0xc6, 0x3f, 0x13, 0x33, 0xe5, 0xe3, 0xd6, 0x29, 0xac, + 0x5c, 0x85, 0x3c, 0x7d, 0x1c, 0x36, 0x25, 0xff, 0x9c, 0x13, 0x8d, 0x07, 0x28, 0x5e, 0x38, 0x34, + 0xab, 0x65, 0xab, 0xce, 0x30, 0xf5, 0xef, 0x2f, 0x44, 0xe1, 0xe0, 0x10, 0x5e, 0x38, 0xbc, 0x8e, + 0x8d, 0xc9, 0x6e, 0x3f, 0x04, 0xc3, 0xb7, 0x44, 0xe1, 0x10, 0x18, 0x4e, 0x21, 0x1a, 0x86, 0x21, + 0x28, 0xfe, 0x52, 0x50, 0x08, 0x0c, 0xa1, 0xf8, 0x54, 0xb0, 0xd1, 0x3a, 0xb8, 0xa9, 0xbb, 0x9e, + 0xc3, 0x5a, 0xe1, 0x7b, 0x53, 0x7d, 0xfb, 0xdd, 0xee, 0x26, 0x4c, 0x0e, 0x41, 0x49, 0x25, 0xe2, + 0x57, 0xa8, 0xf4, 0xa4, 0x14, 0xed, 0xd8, 0x77, 0x44, 0x25, 0x0a, 0xc1, 0x88, 0x6f, 0xa1, 0x0e, + 0x91, 0x84, 0x5d, 0x23, 0xe7, 0x83, 0x21, 0xe8, 0xbe, 0xdb, 0xe3, 0x5c, 0x5d, 0x60, 0x09, 0x67, + 0xa8, 0xff, 0x69, 0x9b, 0xd7, 0x71, 0x67, 0xa8, 0xec, 0xfc, 0xab, 0x9e, 0xfe, 0x67, 0x97, 0x21, + 0x59, 0x0d, 0x99, 0xe8, 0xe9, 0xa7, 0x50, 0xd4, 0xaf, 0x80, 0x0a, 0x3f, 0x7d, 0x97, 0x8f, 0xb7, + 0xbb, 0x9d, 0x2a, 0x6f, 0x90, 0x24, 0xef, 0x6e, 0x7a, 0xa2, 0xc9, 0x5e, 0xbe, 0xeb, 0xe7, 0x79, + 0x57, 0xcf, 0x53, 0xbe, 0x02, 0xe3, 0x5d, 0x0d, 0x4f, 0x34, 0xd5, 0xcf, 0x70, 0xaa, 0x5c, 0xb8, + 0xdf, 0x29, 0x2f, 0x41, 0x92, 0x34, 0x2f, 0xd1, 0xf0, 0x9f, 0xe5, 0x70, 0x6a, 0x5e, 0xfe, 0x04, + 0xa4, 0x45, 0xd3, 0x12, 0x0d, 0xfd, 0x39, 0x0e, 0xf5, 0x21, 0x04, 0x2e, 0x1a, 0x96, 0x68, 0xf8, + 0xcf, 0x0b, 0xb8, 0x80, 0x10, 0xf8, 0xf0, 0x21, 0xfc, 0xeb, 0x5f, 0x48, 0xf2, 0x4d, 0x47, 0xc4, + 0xee, 0x32, 0x8c, 0xf1, 0x4e, 0x25, 0x1a, 0xfd, 0x39, 0xfe, 0x72, 0x81, 0x28, 0x5f, 0x80, 0xd4, + 0x90, 0x01, 0xff, 0x25, 0x0e, 0x65, 0xf6, 0xe5, 0x15, 0xc8, 0x86, 0xba, 0x93, 0x68, 0xf8, 0x2f, + 0x73, 0x78, 0x18, 0x45, 0x5c, 0xe7, 0xdd, 0x49, 0x34, 0xc1, 0xaf, 0x08, 0xd7, 0x39, 0x82, 0x84, + 0x4d, 0x34, 0x26, 0xd1, 0xe8, 0x5f, 0x15, 0x51, 0x17, 0x90, 0xf2, 0x33, 0x90, 0xf1, 0x37, 0x9b, + 0x68, 0xfc, 0xaf, 0x71, 0x7c, 0x80, 0x21, 0x11, 0x08, 0x6d, 0x76, 0xd1, 0x14, 0x9f, 0x17, 0x11, + 0x08, 0xa1, 0xc8, 0x32, 0xea, 0x6d, 0x60, 0xa2, 0x99, 0x7e, 0x5d, 0x2c, 0xa3, 0x9e, 0xfe, 0x85, + 0xcc, 0x26, 0xad, 0xf9, 0xd1, 0x14, 0xbf, 0x21, 0x66, 0x93, 0xda, 0x13, 0x37, 0x7a, 0x3b, 0x82, + 0x68, 0x8e, 0xdf, 0x14, 0x6e, 0xf4, 0x34, 0x04, 0xe5, 0x6d, 0x40, 0xfd, 0xdd, 0x40, 0x34, 0xdf, + 0x17, 0x38, 0xdf, 0x64, 0x5f, 0x33, 0x50, 0x7e, 0x0e, 0x4e, 0x0c, 0xee, 0x04, 0xa2, 0x59, 0xbf, + 0x78, 0xb7, 0xe7, 0xec, 0x16, 0x6e, 0x04, 0xca, 0x3b, 0xc1, 0x96, 0x12, 0xee, 0x02, 0xa2, 0x69, + 0x5f, 0xb9, 0xdb, 0x5d, 0xb8, 0xc3, 0x4d, 0x40, 0xb9, 0x02, 0x10, 0x6c, 0xc0, 0xd1, 0x5c, 0xaf, + 0x72, 0xae, 0x10, 0x88, 0x2c, 0x0d, 0xbe, 0xff, 0x46, 0xe3, 0xbf, 0x24, 0x96, 0x06, 0x47, 0x90, + 0xa5, 0x21, 0xb6, 0xde, 0x68, 0xf4, 0x6b, 0x62, 0x69, 0x08, 0x08, 0xc9, 0xec, 0xd0, 0xee, 0x16, + 0xcd, 0xf0, 0x65, 0x91, 0xd9, 0x21, 0x54, 0x79, 0x0b, 0x26, 0xfb, 0x36, 0xc4, 0x68, 0xaa, 0xaf, + 0x70, 0x2a, 0xa9, 0x77, 0x3f, 0x0c, 0x6f, 0x5e, 0x7c, 0x33, 0x8c, 0x66, 0xfb, 0xdd, 0x9e, 0xcd, + 0x8b, 0xef, 0x85, 0xe5, 0xcb, 0x90, 0x36, 0xdb, 0x86, 0x41, 0x16, 0x0f, 0xba, 0xf7, 0x2f, 0xf7, + 0x0a, 0xff, 0xfc, 0x01, 0x8f, 0x8e, 0x00, 0x94, 0x97, 0x20, 0x85, 0x5b, 0x7b, 0xb8, 0x11, 0x85, + 0xfc, 0x97, 0x0f, 0x44, 0xc1, 0x24, 0xd6, 0xe5, 0x67, 0x00, 0xd8, 0xd5, 0x08, 0xfd, 0xec, 0x17, + 0x81, 0xfd, 0xd7, 0x0f, 0xf8, 0x6f, 0x6a, 0x02, 0x48, 0x40, 0xc0, 0x7e, 0xa1, 0x73, 0x6f, 0x82, + 0x77, 0xbb, 0x09, 0xe8, 0x8c, 0x5c, 0x82, 0xb1, 0x6b, 0xae, 0x65, 0x7a, 0x6a, 0x33, 0x0a, 0xfd, + 0x6f, 0x1c, 0x2d, 0xec, 0x49, 0xc0, 0x5a, 0x96, 0x83, 0x3d, 0xb5, 0xe9, 0x46, 0x61, 0xff, 0x9d, + 0x63, 0x7d, 0x00, 0x01, 0x6b, 0xaa, 0xeb, 0x0d, 0x33, 0xee, 0xff, 0x10, 0x60, 0x01, 0x20, 0x4e, + 0x93, 0xbf, 0xaf, 0xe3, 0x4e, 0x14, 0xf6, 0x3d, 0xe1, 0x34, 0xb7, 0x2f, 0x7f, 0x02, 0x32, 0xe4, + 0x4f, 0xf6, 0x43, 0xb9, 0x08, 0xf0, 0x7f, 0x72, 0x70, 0x80, 0x20, 0x6f, 0x76, 0xbd, 0x86, 0xa7, + 0x47, 0x07, 0xfb, 0xbf, 0xf8, 0x4c, 0x0b, 0xfb, 0x72, 0x05, 0xb2, 0xae, 0xd7, 0x68, 0xb4, 0x79, + 0x7f, 0x1a, 0x01, 0xff, 0xef, 0x0f, 0xfc, 0x2b, 0x0b, 0x1f, 0x43, 0x66, 0xfb, 0xe6, 0x75, 0xcf, + 0xb6, 0xe8, 0x67, 0x8e, 0x28, 0x86, 0xbb, 0x9c, 0x21, 0x04, 0x59, 0xae, 0x0e, 0xbe, 0xbe, 0x85, + 0x35, 0x6b, 0xcd, 0x62, 0x17, 0xb7, 0x2f, 0x96, 0xa2, 0x6f, 0x60, 0xe1, 0xfd, 0x34, 0x14, 0x34, + 0xab, 0xb5, 0x67, 0xb9, 0xf3, 0x26, 0xd6, 0xbd, 0x03, 0xec, 0xcc, 0x5b, 0x26, 0xe7, 0x43, 0x09, + 0xcb, 0xc4, 0x33, 0xc7, 0xbb, 0xc7, 0x2d, 0x9d, 0x82, 0x54, 0xbd, 0xbd, 0xb7, 0xd7, 0x41, 0x12, + 0x24, 0xdc, 0xf6, 0x1e, 0xff, 0xb1, 0x15, 0xf9, 0xb3, 0xf4, 0x56, 0x02, 0xc6, 0x2b, 0x86, 0xb1, + 0xd3, 0xb1, 0xb1, 0x5b, 0x33, 0x71, 0x6d, 0x1f, 0x15, 0x60, 0x94, 0x0e, 0xf4, 0x69, 0x6a, 0x16, + 0xbb, 0x3a, 0x22, 0xf3, 0x67, 0x5f, 0xb3, 0x40, 0x6f, 0xb8, 0xe3, 0xbe, 0x66, 0xc1, 0xd7, 0x9c, + 0x63, 0x17, 0xdc, 0xbe, 0xe6, 0x9c, 0xaf, 0x59, 0xa4, 0xd7, 0xdc, 0x09, 0x5f, 0xb3, 0xe8, 0x6b, + 0x96, 0xe8, 0x67, 0x9c, 0x71, 0x5f, 0xb3, 0xe4, 0x6b, 0xce, 0xd3, 0x0f, 0x37, 0x49, 0x5f, 0x73, + 0xde, 0xd7, 0x5c, 0xa0, 0xdf, 0x6b, 0x26, 0x7d, 0xcd, 0x05, 0x5f, 0x73, 0x91, 0x7e, 0xa3, 0x41, + 0xbe, 0xe6, 0xa2, 0xaf, 0xb9, 0x44, 0x7f, 0x55, 0x35, 0xe6, 0x6b, 0x2e, 0xa1, 0x19, 0x18, 0x63, + 0x23, 0x7b, 0x8a, 0x7e, 0xc8, 0x9f, 0xb8, 0x3a, 0x22, 0x0b, 0x41, 0xa0, 0x7b, 0x9a, 0xfe, 0x72, + 0x6a, 0x34, 0xd0, 0x3d, 0x1d, 0xe8, 0x16, 0xe8, 0x7f, 0xe0, 0x90, 0x02, 0xdd, 0x42, 0xa0, 0x3b, + 0x57, 0x18, 0x27, 0xf9, 0x11, 0xe8, 0xce, 0x05, 0xba, 0xc5, 0x42, 0x9e, 0xcc, 0x40, 0xa0, 0x5b, + 0x0c, 0x74, 0x4b, 0x85, 0x89, 0x33, 0xb1, 0xd9, 0x5c, 0xa0, 0x5b, 0x42, 0x4f, 0x42, 0xd6, 0x6d, + 0xef, 0x29, 0xbc, 0xd2, 0xd3, 0x5f, 0x68, 0x65, 0x17, 0x60, 0x8e, 0xe4, 0x04, 0x9d, 0xd6, 0xab, + 0x23, 0x32, 0xb8, 0xed, 0x3d, 0x5e, 0x88, 0x97, 0x73, 0x40, 0xef, 0x9f, 0x14, 0xfa, 0xc3, 0xea, + 0xd2, 0x9b, 0x31, 0xc8, 0xec, 0xdc, 0xb4, 0xe8, 0x67, 0x7c, 0xf7, 0xff, 0x78, 0x72, 0x85, 0xd3, + 0xe7, 0x16, 0xe9, 0x97, 0xd6, 0xcc, 0xd5, 0x98, 0x2c, 0x04, 0x81, 0x6e, 0xa9, 0xf0, 0x20, 0x1d, + 0x90, 0xaf, 0x5b, 0x42, 0xf3, 0x90, 0x0b, 0x0d, 0x68, 0x81, 0xfe, 0x76, 0xaa, 0x7b, 0x44, 0x31, + 0x39, 0x1b, 0x8c, 0x68, 0x61, 0x39, 0x05, 0x24, 0xed, 0xc9, 0x3f, 0xde, 0x4d, 0xab, 0xf4, 0xf9, + 0x38, 0x64, 0xd9, 0x95, 0x35, 0x1d, 0x15, 0x79, 0x15, 0x3b, 0xd5, 0x74, 0xb8, 0x1b, 0x23, 0xb2, + 0x10, 0x20, 0x19, 0x80, 0x99, 0x92, 0x0c, 0x67, 0x9e, 0x2c, 0x3f, 0xf5, 0x0f, 0x6f, 0x9d, 0x7e, + 0xe2, 0xc8, 0x15, 0x44, 0x62, 0x37, 0xcf, 0x4a, 0xf8, 0xdc, 0xae, 0x6e, 0x7a, 0x4f, 0x2f, 0x5c, + 0x24, 0x01, 0x0e, 0x58, 0xd0, 0x2e, 0xa4, 0x57, 0x54, 0x97, 0xfe, 0xea, 0x92, 0xba, 0x9e, 0x5c, + 0xbe, 0xf0, 0x3f, 0x6f, 0x9d, 0x3e, 0x17, 0xc1, 0xc8, 0xab, 0xeb, 0xdc, 0x66, 0x87, 0xb0, 0x9e, + 0x5f, 0x24, 0xf0, 0xab, 0x23, 0xb2, 0x4f, 0x85, 0x16, 0x84, 0xab, 0x5b, 0x6a, 0x8b, 0xfd, 0x48, + 0x2c, 0xb1, 0x2c, 0x1d, 0xbe, 0x75, 0x3a, 0xb7, 0xd9, 0x09, 0xe4, 0x81, 0x2b, 0xe4, 0x69, 0x39, + 0x0d, 0xa3, 0xcc, 0xd5, 0xe5, 0xd5, 0x37, 0xee, 0x14, 0x47, 0xde, 0xbc, 0x53, 0x1c, 0xf9, 0xfb, + 0x3b, 0xc5, 0x91, 0xb7, 0xef, 0x14, 0x63, 0xef, 0xdd, 0x29, 0xc6, 0xde, 0xbf, 0x53, 0x8c, 0xdd, + 0x3e, 0x2c, 0xc6, 0xbe, 0x76, 0x58, 0x8c, 0x7d, 0xe3, 0xb0, 0x18, 0xfb, 0xf6, 0x61, 0x31, 0xf6, + 0xc6, 0x61, 0x71, 0xe4, 0xcd, 0xc3, 0xe2, 0xc8, 0xdb, 0x87, 0xc5, 0xd8, 0x0f, 0x0f, 0x8b, 0x23, + 0xef, 0x1d, 0x16, 0x63, 0xef, 0x1f, 0x16, 0x47, 0x6e, 0xff, 0xa0, 0x38, 0xf2, 0xbf, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x6b, 0x55, 0xee, 0x1b, 0x6f, 0x37, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -4317,47 +4363,3 @@ func valueToStringOne(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("combos/neither/one.proto", fileDescriptor_one_1be15a5672864d55) } - -var fileDescriptor_one_1be15a5672864d55 = []byte{ - // 598 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0xbf, 0x4f, 0x1b, 0x3f, - 0x14, 0x00, 0x70, 0x3f, 0x42, 0x42, 0x70, 0xc2, 0x97, 0x7c, 0x6f, 0x72, 0x19, 0x8c, 0x95, 0xb6, - 0x92, 0x87, 0x92, 0x90, 0x4b, 0xc2, 0x8f, 0xb1, 0x47, 0x55, 0x65, 0xa1, 0x48, 0x07, 0xcc, 0x28, - 0x47, 0x4d, 0x88, 0x44, 0xce, 0x08, 0xfb, 0x84, 0xb2, 0xf1, 0x37, 0xf4, 0xaf, 0xe8, 0xd8, 0xb1, - 0x7f, 0x02, 0x23, 0x63, 0xd5, 0x21, 0xe2, 0xae, 0x4b, 0x47, 0x46, 0xd4, 0xa9, 0xf2, 0x1d, 0xb1, - 0x2b, 0x55, 0x55, 0x97, 0x4e, 0xb9, 0xf7, 0x3e, 0xe7, 0x97, 0xf7, 0xce, 0x36, 0x26, 0xa7, 0x72, - 0x12, 0x49, 0xd5, 0x8e, 0xc5, 0x58, 0x9f, 0x8b, 0xab, 0xb6, 0x8c, 0x45, 0xeb, 0xf2, 0x4a, 0x6a, - 0xe9, 0x95, 0x64, 0x2c, 0xd6, 0x36, 0x46, 0x63, 0x7d, 0x9e, 0x44, 0xad, 0x53, 0x39, 0x69, 0x8f, - 0xe4, 0x48, 0xb6, 0x73, 0x8b, 0x92, 0xb3, 0x3c, 0xca, 0x83, 0xfc, 0xa9, 0x58, 0xd3, 0x7c, 0x86, - 0xcb, 0x87, 0x49, 0x14, 0x4d, 0xbd, 0x06, 0x2e, 0xa9, 0x24, 0x22, 0xc0, 0x80, 0x2f, 0x87, 0xe6, - 0xb1, 0x39, 0x2b, 0xe1, 0x95, 0xd7, 0x17, 0x17, 0x47, 0xd3, 0x4b, 0xa1, 0x0e, 0x62, 0x71, 0x70, - 0xe6, 0x11, 0x5c, 0x79, 0x3b, 0x16, 0x17, 0xef, 0x3b, 0xf9, 0x6b, 0x30, 0x40, 0xe1, 0x53, 0x6c, - 0xc5, 0x27, 0x0b, 0x0c, 0xf8, 0x82, 0x15, 0xdf, 0x4a, 0x97, 0x94, 0x18, 0xf0, 0xb2, 0x95, 0xae, - 0x95, 0x1e, 0x59, 0x64, 0xc0, 0x4b, 0x56, 0x7a, 0x56, 0xfa, 0xa4, 0xcc, 0x80, 0xaf, 0x58, 0xe9, - 0x5b, 0xd9, 0x22, 0x15, 0x06, 0x7c, 0xd1, 0xca, 0x96, 0x95, 0x6d, 0xb2, 0xc4, 0x80, 0xff, 0x6f, - 0x65, 0xdb, 0xca, 0x0e, 0xa9, 0x32, 0xe0, 0x9e, 0x95, 0x1d, 0x2b, 0xbb, 0x64, 0x99, 0x01, 0x5f, - 0xb2, 0xb2, 0xeb, 0xad, 0xe1, 0xa5, 0x62, 0xb2, 0x4d, 0x82, 0x19, 0xf0, 0xd5, 0x01, 0x0a, 0xe7, - 0x09, 0x67, 0x1d, 0x52, 0x63, 0xc0, 0x2b, 0xce, 0x3a, 0xce, 0x7c, 0x52, 0x67, 0xc0, 0x1b, 0xce, - 0x7c, 0x67, 0x5d, 0xb2, 0xc2, 0x80, 0x57, 0x9d, 0x75, 0x9d, 0xf5, 0xc8, 0x7f, 0x66, 0x07, 0x9c, - 0xf5, 0x9c, 0xf5, 0xc9, 0x2a, 0x03, 0x5e, 0x77, 0xd6, 0xf7, 0x36, 0x70, 0x4d, 0x25, 0xd1, 0xc9, - 0x44, 0x28, 0x35, 0x1c, 0x09, 0xd2, 0x60, 0xc0, 0x6b, 0x3e, 0x6e, 0x99, 0x33, 0x91, 0x6f, 0xeb, - 0x00, 0x85, 0x58, 0x25, 0xd1, 0x7e, 0xe1, 0x41, 0x1d, 0x63, 0x2d, 0x94, 0x3e, 0x91, 0xb1, 0x90, - 0x67, 0xcd, 0x3b, 0xc0, 0xcb, 0x47, 0xd7, 0xf2, 0xc0, 0x04, 0xea, 0x1f, 0x6f, 0xee, 0xbc, 0xe9, - 0x6e, 0x8f, 0x34, 0xf3, 0x81, 0x20, 0x9c, 0x27, 0x9c, 0xf5, 0xc9, 0xf3, 0x7c, 0x20, 0x6b, 0x7d, - 0xaf, 0x8d, 0xeb, 0xbf, 0x0c, 0xe4, 0x93, 0x17, 0xbf, 0x4d, 0x04, 0x61, 0xcd, 0x4d, 0xe4, 0x07, - 0x65, 0x6c, 0x8e, 0xbd, 0xf9, 0xd1, 0xd7, 0xb2, 0xf9, 0x61, 0x01, 0xd7, 0xf6, 0x12, 0xa5, 0xe5, - 0x24, 0x9f, 0xca, 0xfc, 0xd5, 0xa1, 0xbe, 0x1a, 0xc7, 0xa3, 0xe9, 0x53, 0x1b, 0x28, 0x9c, 0x27, - 0xbc, 0x10, 0xe3, 0xe2, 0x55, 0x73, 0xc2, 0x8b, 0x4e, 0x82, 0xcd, 0xaf, 0xb3, 0xf5, 0x57, 0x7f, - 0xbc, 0x41, 0xe6, 0xdb, 0xb5, 0x4f, 0xf3, 0x35, 0xad, 0xe3, 0x71, 0xac, 0x3b, 0xfe, 0x8e, 0xf9, - 0xc0, 0xae, 0x8a, 0x77, 0x8c, 0xab, 0x7b, 0x43, 0xa5, 0xf3, 0x8a, 0xa6, 0xf5, 0xc5, 0x60, 0xfb, - 0xc7, 0x6c, 0xbd, 0xfb, 0x97, 0x8a, 0x43, 0xa5, 0xf5, 0xf4, 0x52, 0xb4, 0xf6, 0xa7, 0xa6, 0xea, - 0x56, 0xcf, 0x2c, 0x1f, 0xa0, 0xd0, 0x96, 0xf2, 0xfc, 0x79, 0xab, 0xef, 0x86, 0x13, 0x41, 0x5e, - 0x9a, 0xeb, 0x12, 0x34, 0xb2, 0xd9, 0x7a, 0x7d, 0x7f, 0xea, 0xf2, 0xae, 0x15, 0x13, 0x05, 0x55, - 0x5c, 0x29, 0x5a, 0x0d, 0xde, 0xdc, 0xa6, 0x14, 0xdd, 0xa5, 0x14, 0x7d, 0x49, 0x29, 0xba, 0x4f, - 0x29, 0x3c, 0xa4, 0x14, 0x1e, 0x53, 0x0a, 0x37, 0x19, 0x85, 0x8f, 0x19, 0x85, 0x4f, 0x19, 0x85, - 0xcf, 0x19, 0x85, 0xdb, 0x8c, 0xa2, 0xbb, 0x8c, 0xa2, 0xfb, 0x8c, 0xc2, 0xf7, 0x8c, 0xa2, 0x87, - 0x8c, 0xc2, 0x63, 0x46, 0xd1, 0xcd, 0x37, 0x8a, 0x7e, 0x06, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x27, - 0x4d, 0xb9, 0x78, 0x04, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof/combos/unmarshaler/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof/combos/unmarshaler/one.pb.go index 9a7f26820..2a5922bb2 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof/combos/unmarshaler/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof/combos/unmarshaler/one.pb.go @@ -3,25 +3,23 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import io "io" -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -44,7 +42,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_539b073fce05cef9, []int{0} + return fileDescriptor_9eef12518f7c4f58, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -52,8 +50,8 @@ func (m *Subby) XXX_Unmarshal(b []byte) error { func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Subby.Marshal(b, m, deterministic) } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return xxx_messageInfo_Subby.Size(m) @@ -91,7 +89,7 @@ type AllTypesOneOf struct { func (m *AllTypesOneOf) Reset() { *m = AllTypesOneOf{} } func (*AllTypesOneOf) ProtoMessage() {} func (*AllTypesOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_539b073fce05cef9, []int{1} + return fileDescriptor_9eef12518f7c4f58, []int{1} } func (m *AllTypesOneOf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -99,8 +97,8 @@ func (m *AllTypesOneOf) XXX_Unmarshal(b []byte) error { func (m *AllTypesOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllTypesOneOf.Marshal(b, m, deterministic) } -func (dst *AllTypesOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllTypesOneOf.Merge(dst, src) +func (m *AllTypesOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllTypesOneOf.Merge(m, src) } func (m *AllTypesOneOf) XXX_Size() int { return xxx_messageInfo_AllTypesOneOf.Size(m) @@ -593,7 +591,7 @@ type TwoOneofs struct { func (m *TwoOneofs) Reset() { *m = TwoOneofs{} } func (*TwoOneofs) ProtoMessage() {} func (*TwoOneofs) Descriptor() ([]byte, []int) { - return fileDescriptor_one_539b073fce05cef9, []int{2} + return fileDescriptor_9eef12518f7c4f58, []int{2} } func (m *TwoOneofs) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -601,8 +599,8 @@ func (m *TwoOneofs) XXX_Unmarshal(b []byte) error { func (m *TwoOneofs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_TwoOneofs.Marshal(b, m, deterministic) } -func (dst *TwoOneofs) XXX_Merge(src proto.Message) { - xxx_messageInfo_TwoOneofs.Merge(dst, src) +func (m *TwoOneofs) XXX_Merge(src proto.Message) { + xxx_messageInfo_TwoOneofs.Merge(m, src) } func (m *TwoOneofs) XXX_Size() int { return xxx_messageInfo_TwoOneofs.Size(m) @@ -861,7 +859,7 @@ type CustomOneof struct { func (m *CustomOneof) Reset() { *m = CustomOneof{} } func (*CustomOneof) ProtoMessage() {} func (*CustomOneof) Descriptor() ([]byte, []int) { - return fileDescriptor_one_539b073fce05cef9, []int{3} + return fileDescriptor_9eef12518f7c4f58, []int{3} } func (m *CustomOneof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -869,8 +867,8 @@ func (m *CustomOneof) XXX_Unmarshal(b []byte) error { func (m *CustomOneof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomOneof.Marshal(b, m, deterministic) } -func (dst *CustomOneof) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomOneof.Merge(dst, src) +func (m *CustomOneof) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomOneof.Merge(m, src) } func (m *CustomOneof) XXX_Size() int { return xxx_messageInfo_CustomOneof.Size(m) @@ -1044,6 +1042,51 @@ func init() { proto.RegisterType((*TwoOneofs)(nil), "one.TwoOneofs") proto.RegisterType((*CustomOneof)(nil), "one.CustomOneof") } + +func init() { proto.RegisterFile("combos/unmarshaler/one.proto", fileDescriptor_9eef12518f7c4f58) } + +var fileDescriptor_9eef12518f7c4f58 = []byte{ + // 602 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0x3f, 0x4f, 0x1b, 0x31, + 0x14, 0x00, 0x70, 0x3f, 0x42, 0x42, 0x70, 0x42, 0x49, 0x6f, 0x72, 0x51, 0x65, 0xac, 0xb4, 0x95, + 0x3c, 0x94, 0x84, 0x5c, 0x12, 0xfe, 0x8c, 0x3d, 0xaa, 0x2a, 0x0b, 0x45, 0x3a, 0x60, 0x46, 0x39, + 0x6a, 0x42, 0xa4, 0xe4, 0x8c, 0xe2, 0x3b, 0xa1, 0x6c, 0x7c, 0x86, 0x7e, 0x8a, 0x8e, 0x1d, 0xfb, + 0x11, 0x18, 0x33, 0x56, 0x1d, 0x22, 0xee, 0xba, 0x74, 0x64, 0x44, 0x9d, 0x2a, 0xdf, 0x11, 0xbb, + 0x52, 0x55, 0x75, 0xe9, 0x94, 0x7b, 0xef, 0x77, 0x7e, 0x79, 0xef, 0x6c, 0xe3, 0xe7, 0xe7, 0x72, + 0x1c, 0x48, 0xd5, 0x8c, 0xc3, 0x71, 0x7f, 0xa2, 0x2e, 0xfb, 0x23, 0x31, 0x69, 0xca, 0x50, 0x34, + 0xae, 0x26, 0x32, 0x92, 0x4e, 0x41, 0x86, 0x62, 0x63, 0x6b, 0x30, 0x8c, 0x2e, 0xe3, 0xa0, 0x71, + 0x2e, 0xc7, 0xcd, 0x81, 0x1c, 0xc8, 0x66, 0x66, 0x41, 0x7c, 0x91, 0x45, 0x59, 0x90, 0x3d, 0xe5, + 0x6b, 0xea, 0xcf, 0x70, 0xf1, 0x38, 0x0e, 0x82, 0xa9, 0x53, 0xc3, 0x05, 0x15, 0x07, 0x04, 0x18, + 0xf0, 0x55, 0x5f, 0x3f, 0xd6, 0xe7, 0x05, 0xbc, 0xf6, 0x66, 0x34, 0x3a, 0x99, 0x5e, 0x09, 0x75, + 0x14, 0x8a, 0xa3, 0x0b, 0x87, 0xe0, 0xd2, 0xbb, 0xa1, 0x18, 0x7d, 0x68, 0x65, 0xaf, 0x41, 0x0f, + 0xf9, 0x8f, 0xb1, 0x11, 0x97, 0x2c, 0x31, 0xe0, 0x4b, 0x46, 0x5c, 0x23, 0x6d, 0x52, 0x60, 0xc0, + 0x8b, 0x46, 0xda, 0x46, 0x3a, 0x64, 0x99, 0x01, 0x2f, 0x18, 0xe9, 0x18, 0xe9, 0x92, 0x22, 0x03, + 0xbe, 0x66, 0xa4, 0x6b, 0x64, 0x87, 0x94, 0x18, 0xf0, 0x65, 0x23, 0x3b, 0x46, 0x76, 0xc9, 0x0a, + 0x03, 0xfe, 0xd4, 0xc8, 0xae, 0x91, 0x3d, 0x52, 0x66, 0xc0, 0x1d, 0x23, 0x7b, 0x46, 0xf6, 0xc9, + 0x2a, 0x03, 0xbe, 0x62, 0x64, 0xdf, 0xd9, 0xc0, 0x2b, 0xf9, 0x64, 0xdb, 0x04, 0x33, 0xe0, 0xeb, + 0x3d, 0xe4, 0x2f, 0x12, 0xd6, 0x5a, 0xa4, 0xc2, 0x80, 0x97, 0xac, 0xb5, 0xac, 0xb9, 0xa4, 0xca, + 0x80, 0xd7, 0xac, 0xb9, 0xd6, 0xda, 0x64, 0x8d, 0x01, 0x2f, 0x5b, 0x6b, 0x5b, 0xeb, 0x90, 0x27, + 0x7a, 0x07, 0xac, 0x75, 0xac, 0x75, 0xc9, 0x3a, 0x03, 0x5e, 0xb5, 0xd6, 0x75, 0xb6, 0x70, 0x45, + 0xc5, 0xc1, 0xd9, 0x58, 0x28, 0xd5, 0x1f, 0x08, 0x52, 0x63, 0xc0, 0x2b, 0x2e, 0x6e, 0xe8, 0x33, + 0x91, 0x6d, 0x6b, 0x0f, 0xf9, 0x58, 0xc5, 0xc1, 0x61, 0xee, 0x5e, 0x15, 0xe3, 0x48, 0xa8, 0xe8, + 0x4c, 0x86, 0x42, 0x5e, 0xd4, 0x67, 0x80, 0x57, 0x4f, 0xae, 0xe5, 0x91, 0x0e, 0xd4, 0x7f, 0xde, + 0xdc, 0x45, 0xd3, 0xed, 0x0e, 0xa9, 0x67, 0x03, 0x81, 0xbf, 0x48, 0x58, 0xeb, 0x92, 0x17, 0xd9, + 0x40, 0xc6, 0xba, 0x4e, 0x13, 0x57, 0x7f, 0x1b, 0xc8, 0x25, 0x2f, 0xff, 0x98, 0x08, 0xfc, 0x8a, + 0x9d, 0xc8, 0xf5, 0x8a, 0x58, 0x1f, 0x7b, 0xfd, 0x13, 0x5d, 0xcb, 0xfa, 0xc7, 0x25, 0x5c, 0x39, + 0x88, 0x55, 0x24, 0xc7, 0xd9, 0x54, 0xfa, 0xaf, 0x8e, 0xa3, 0xc9, 0x30, 0x1c, 0x4c, 0x1f, 0xdb, + 0x40, 0xfe, 0x22, 0xe1, 0xf8, 0x18, 0xe7, 0xaf, 0xea, 0x13, 0x9e, 0x77, 0xe2, 0x6d, 0x7f, 0x9b, + 0x6f, 0xbe, 0xfe, 0xeb, 0x0d, 0xd2, 0xdf, 0xae, 0x79, 0x9e, 0xad, 0x69, 0x9c, 0x0e, 0xc3, 0xa8, + 0xe5, 0xee, 0xe9, 0x0f, 0x6c, 0xab, 0x38, 0xa7, 0xb8, 0x7c, 0xd0, 0x57, 0x51, 0x56, 0x51, 0xb7, + 0xbe, 0xec, 0xed, 0xfe, 0x9c, 0x6f, 0xb6, 0xff, 0x51, 0xb1, 0xaf, 0xa2, 0x68, 0x7a, 0x25, 0x1a, + 0x87, 0x53, 0x5d, 0x75, 0xa7, 0xa3, 0x97, 0xf7, 0x90, 0x6f, 0x4a, 0x39, 0xee, 0xa2, 0xd5, 0xf7, + 0xfd, 0xb1, 0x20, 0xaf, 0xf4, 0x75, 0xf1, 0x6a, 0xe9, 0x7c, 0xb3, 0x7a, 0x38, 0xb5, 0x79, 0xdb, + 0x8a, 0x8e, 0xbc, 0x32, 0x2e, 0xe5, 0xad, 0x7a, 0x6f, 0x6f, 0x13, 0x8a, 0x66, 0x09, 0x45, 0x5f, + 0x13, 0x8a, 0xee, 0x12, 0x0a, 0xf7, 0x09, 0x85, 0x87, 0x84, 0xc2, 0x4d, 0x4a, 0xe1, 0x53, 0x4a, + 0xe1, 0x73, 0x4a, 0xe1, 0x4b, 0x4a, 0xe1, 0x36, 0xa5, 0x68, 0x96, 0x52, 0xb8, 0x4b, 0x29, 0xfc, + 0x48, 0x29, 0xba, 0x4f, 0x29, 0x3c, 0xa4, 0x14, 0xdd, 0x7c, 0xa7, 0xe8, 0x57, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xdd, 0x1c, 0x58, 0x6c, 0x7c, 0x04, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -1059,274 +1102,276 @@ func (this *CustomOneof) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4263 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x24, 0xd7, - 0x55, 0x56, 0xcf, 0x8f, 0x34, 0x73, 0x66, 0x34, 0x6a, 0x5d, 0xc9, 0xeb, 0x59, 0xd9, 0xd6, 0xee, - 0x8e, 0xed, 0x58, 0xb6, 0x63, 0xc9, 0xd6, 0x4a, 0xfb, 0x33, 0x4b, 0x62, 0x46, 0xd2, 0xac, 0x56, - 0x46, 0xd2, 0x28, 0x3d, 0x52, 0xfc, 0x93, 0xa2, 0xba, 0x5a, 0x3d, 0x57, 0xa3, 0xde, 0xed, 0xe9, - 0xee, 0x74, 0xf7, 0xec, 0x5a, 0x5b, 0x3c, 0x2c, 0x65, 0x7e, 0x2a, 0x45, 0xf1, 0x17, 0xa8, 0x22, - 0x31, 0x8e, 0x21, 0xa1, 0x88, 0x43, 0xf8, 0x4b, 0x08, 0x84, 0x24, 0xbc, 0xf0, 0x12, 0xf0, 0x13, - 0xe5, 0xbc, 0x51, 0x14, 0xe5, 0xf2, 0x2a, 0xae, 0x22, 0x80, 0x21, 0x06, 0xf6, 0xc1, 0x85, 0x79, - 0xa0, 0xee, 0x5f, 0x77, 0xcf, 0x8f, 0xb6, 0x47, 0xa9, 0xd8, 0x79, 0x5a, 0xf5, 0x39, 0xe7, 0xfb, - 0xfa, 0xdc, 0x73, 0xcf, 0x3d, 0xf7, 0xdc, 0xdb, 0xb3, 0xf0, 0xc3, 0x8b, 0x70, 0xba, 0x69, 0xdb, - 0x4d, 0x13, 0xcf, 0x39, 0xae, 0xed, 0xdb, 0xbb, 0xed, 0xbd, 0xb9, 0x06, 0xf6, 0x74, 0xd7, 0x70, - 0x7c, 0xdb, 0x9d, 0xa5, 0x32, 0x34, 0xc6, 0x2c, 0x66, 0x85, 0x45, 0x69, 0x03, 0xc6, 0x2f, 0x1b, - 0x26, 0x5e, 0x09, 0x0c, 0xeb, 0xd8, 0x47, 0x17, 0x20, 0xb5, 0x67, 0x98, 0xb8, 0x28, 0x9d, 0x4e, - 0xce, 0xe4, 0xe6, 0x1f, 0x9a, 0xed, 0x02, 0xcd, 0x76, 0x22, 0xb6, 0x88, 0x58, 0xa1, 0x88, 0xd2, - 0xdb, 0x29, 0x98, 0xe8, 0xa3, 0x45, 0x08, 0x52, 0x96, 0xd6, 0x22, 0x8c, 0xd2, 0x4c, 0x56, 0xa1, - 0x7f, 0xa3, 0x22, 0x8c, 0x38, 0x9a, 0x7e, 0x4d, 0x6b, 0xe2, 0x62, 0x82, 0x8a, 0xc5, 0x23, 0x9a, - 0x06, 0x68, 0x60, 0x07, 0x5b, 0x0d, 0x6c, 0xe9, 0x07, 0xc5, 0xe4, 0xe9, 0xe4, 0x4c, 0x56, 0x89, - 0x48, 0xd0, 0xe3, 0x30, 0xee, 0xb4, 0x77, 0x4d, 0x43, 0x57, 0x23, 0x66, 0x70, 0x3a, 0x39, 0x93, - 0x56, 0x64, 0xa6, 0x58, 0x09, 0x8d, 0x1f, 0x81, 0xb1, 0x1b, 0x58, 0xbb, 0x16, 0x35, 0xcd, 0x51, - 0xd3, 0x02, 0x11, 0x47, 0x0c, 0x97, 0x21, 0xdf, 0xc2, 0x9e, 0xa7, 0x35, 0xb1, 0xea, 0x1f, 0x38, - 0xb8, 0x98, 0xa2, 0xa3, 0x3f, 0xdd, 0x33, 0xfa, 0xee, 0x91, 0xe7, 0x38, 0x6a, 0xfb, 0xc0, 0xc1, - 0xa8, 0x02, 0x59, 0x6c, 0xb5, 0x5b, 0x8c, 0x21, 0x7d, 0x44, 0xfc, 0xaa, 0x56, 0xbb, 0xd5, 0xcd, - 0x92, 0x21, 0x30, 0x4e, 0x31, 0xe2, 0x61, 0xf7, 0xba, 0xa1, 0xe3, 0xe2, 0x30, 0x25, 0x78, 0xa4, - 0x87, 0xa0, 0xce, 0xf4, 0xdd, 0x1c, 0x02, 0x87, 0x96, 0x21, 0x8b, 0x5f, 0xf4, 0xb1, 0xe5, 0x19, - 0xb6, 0x55, 0x1c, 0xa1, 0x24, 0x0f, 0xf7, 0x99, 0x45, 0x6c, 0x36, 0xba, 0x29, 0x42, 0x1c, 0x3a, - 0x07, 0x23, 0xb6, 0xe3, 0x1b, 0xb6, 0xe5, 0x15, 0x33, 0xa7, 0xa5, 0x99, 0xdc, 0xfc, 0xfd, 0x7d, - 0x13, 0xa1, 0xc6, 0x6c, 0x14, 0x61, 0x8c, 0xd6, 0x40, 0xf6, 0xec, 0xb6, 0xab, 0x63, 0x55, 0xb7, - 0x1b, 0x58, 0x35, 0xac, 0x3d, 0xbb, 0x98, 0xa5, 0x04, 0xa7, 0x7a, 0x07, 0x42, 0x0d, 0x97, 0xed, - 0x06, 0x5e, 0xb3, 0xf6, 0x6c, 0xa5, 0xe0, 0x75, 0x3c, 0xa3, 0x13, 0x30, 0xec, 0x1d, 0x58, 0xbe, - 0xf6, 0x62, 0x31, 0x4f, 0x33, 0x84, 0x3f, 0x95, 0xbe, 0x3d, 0x0c, 0x63, 0x83, 0xa4, 0xd8, 0x25, - 0x48, 0xef, 0x91, 0x51, 0x16, 0x13, 0xc7, 0x89, 0x01, 0xc3, 0x74, 0x06, 0x71, 0xf8, 0x47, 0x0c, - 0x62, 0x05, 0x72, 0x16, 0xf6, 0x7c, 0xdc, 0x60, 0x19, 0x91, 0x1c, 0x30, 0xa7, 0x80, 0x81, 0x7a, - 0x53, 0x2a, 0xf5, 0x23, 0xa5, 0xd4, 0x73, 0x30, 0x16, 0xb8, 0xa4, 0xba, 0x9a, 0xd5, 0x14, 0xb9, - 0x39, 0x17, 0xe7, 0xc9, 0x6c, 0x55, 0xe0, 0x14, 0x02, 0x53, 0x0a, 0xb8, 0xe3, 0x19, 0xad, 0x00, - 0xd8, 0x16, 0xb6, 0xf7, 0xd4, 0x06, 0xd6, 0xcd, 0x62, 0xe6, 0x88, 0x28, 0xd5, 0x88, 0x49, 0x4f, - 0x94, 0x6c, 0x26, 0xd5, 0x4d, 0x74, 0x31, 0x4c, 0xb5, 0x91, 0x23, 0x32, 0x65, 0x83, 0x2d, 0xb2, - 0x9e, 0x6c, 0xdb, 0x81, 0x82, 0x8b, 0x49, 0xde, 0xe3, 0x06, 0x1f, 0x59, 0x96, 0x3a, 0x31, 0x1b, - 0x3b, 0x32, 0x85, 0xc3, 0xd8, 0xc0, 0x46, 0xdd, 0xe8, 0x23, 0x7a, 0x10, 0x02, 0x81, 0x4a, 0xd3, - 0x0a, 0x68, 0x15, 0xca, 0x0b, 0xe1, 0xa6, 0xd6, 0xc2, 0x53, 0x37, 0xa1, 0xd0, 0x19, 0x1e, 0x34, - 0x09, 0x69, 0xcf, 0xd7, 0x5c, 0x9f, 0x66, 0x61, 0x5a, 0x61, 0x0f, 0x48, 0x86, 0x24, 0xb6, 0x1a, - 0xb4, 0xca, 0xa5, 0x15, 0xf2, 0x27, 0xfa, 0xe9, 0x70, 0xc0, 0x49, 0x3a, 0xe0, 0x8f, 0xf4, 0xce, - 0x68, 0x07, 0x73, 0xf7, 0xb8, 0xa7, 0xce, 0xc3, 0x68, 0xc7, 0x00, 0x06, 0x7d, 0x75, 0xe9, 0xe7, - 0xe0, 0x9e, 0xbe, 0xd4, 0xe8, 0x39, 0x98, 0x6c, 0x5b, 0x86, 0xe5, 0x63, 0xd7, 0x71, 0x31, 0xc9, - 0x58, 0xf6, 0xaa, 0xe2, 0xbf, 0x8c, 0x1c, 0x91, 0x73, 0x3b, 0x51, 0x6b, 0xc6, 0xa2, 0x4c, 0xb4, - 0x7b, 0x85, 0x8f, 0x65, 0x33, 0x3f, 0x18, 0x91, 0x6f, 0xdd, 0xba, 0x75, 0x2b, 0x51, 0xfa, 0xdc, - 0x30, 0x4c, 0xf6, 0x5b, 0x33, 0x7d, 0x97, 0xef, 0x09, 0x18, 0xb6, 0xda, 0xad, 0x5d, 0xec, 0xd2, - 0x20, 0xa5, 0x15, 0xfe, 0x84, 0x2a, 0x90, 0x36, 0xb5, 0x5d, 0x6c, 0x16, 0x53, 0xa7, 0xa5, 0x99, - 0xc2, 0xfc, 0xe3, 0x03, 0xad, 0xca, 0xd9, 0x75, 0x02, 0x51, 0x18, 0x12, 0x7d, 0x1c, 0x52, 0xbc, - 0x44, 0x13, 0x86, 0xc7, 0x06, 0x63, 0x20, 0x6b, 0x49, 0xa1, 0x38, 0x74, 0x1f, 0x64, 0xc9, 0xbf, - 0x2c, 0x37, 0x86, 0xa9, 0xcf, 0x19, 0x22, 0x20, 0x79, 0x81, 0xa6, 0x20, 0x43, 0x97, 0x49, 0x03, - 0x8b, 0xad, 0x2d, 0x78, 0x26, 0x89, 0xd5, 0xc0, 0x7b, 0x5a, 0xdb, 0xf4, 0xd5, 0xeb, 0x9a, 0xd9, - 0xc6, 0x34, 0xe1, 0xb3, 0x4a, 0x9e, 0x0b, 0x3f, 0x49, 0x64, 0xe8, 0x14, 0xe4, 0xd8, 0xaa, 0x32, - 0xac, 0x06, 0x7e, 0x91, 0x56, 0xcf, 0xb4, 0xc2, 0x16, 0xda, 0x1a, 0x91, 0x90, 0xd7, 0x5f, 0xf5, - 0x6c, 0x4b, 0xa4, 0x26, 0x7d, 0x05, 0x11, 0xd0, 0xd7, 0x9f, 0xef, 0x2e, 0xdc, 0x0f, 0xf4, 0x1f, - 0x5e, 0x77, 0x4e, 0x95, 0xbe, 0x99, 0x80, 0x14, 0xad, 0x17, 0x63, 0x90, 0xdb, 0x7e, 0x7e, 0xab, - 0xaa, 0xae, 0xd4, 0x76, 0x96, 0xd6, 0xab, 0xb2, 0x84, 0x0a, 0x00, 0x54, 0x70, 0x79, 0xbd, 0x56, - 0xd9, 0x96, 0x13, 0xc1, 0xf3, 0xda, 0xe6, 0xf6, 0xb9, 0x05, 0x39, 0x19, 0x00, 0x76, 0x98, 0x20, - 0x15, 0x35, 0x38, 0x3b, 0x2f, 0xa7, 0x91, 0x0c, 0x79, 0x46, 0xb0, 0xf6, 0x5c, 0x75, 0xe5, 0xdc, - 0x82, 0x3c, 0xdc, 0x29, 0x39, 0x3b, 0x2f, 0x8f, 0xa0, 0x51, 0xc8, 0x52, 0xc9, 0x52, 0xad, 0xb6, - 0x2e, 0x67, 0x02, 0xce, 0xfa, 0xb6, 0xb2, 0xb6, 0xb9, 0x2a, 0x67, 0x03, 0xce, 0x55, 0xa5, 0xb6, - 0xb3, 0x25, 0x43, 0xc0, 0xb0, 0x51, 0xad, 0xd7, 0x2b, 0xab, 0x55, 0x39, 0x17, 0x58, 0x2c, 0x3d, - 0xbf, 0x5d, 0xad, 0xcb, 0xf9, 0x0e, 0xb7, 0xce, 0xce, 0xcb, 0xa3, 0xc1, 0x2b, 0xaa, 0x9b, 0x3b, - 0x1b, 0x72, 0x01, 0x8d, 0xc3, 0x28, 0x7b, 0x85, 0x70, 0x62, 0xac, 0x4b, 0x74, 0x6e, 0x41, 0x96, - 0x43, 0x47, 0x18, 0xcb, 0x78, 0x87, 0xe0, 0xdc, 0x82, 0x8c, 0x4a, 0xcb, 0x90, 0xa6, 0xd9, 0x85, - 0x10, 0x14, 0xd6, 0x2b, 0x4b, 0xd5, 0x75, 0xb5, 0xb6, 0xb5, 0xbd, 0x56, 0xdb, 0xac, 0xac, 0xcb, - 0x52, 0x28, 0x53, 0xaa, 0x9f, 0xd8, 0x59, 0x53, 0xaa, 0x2b, 0x72, 0x22, 0x2a, 0xdb, 0xaa, 0x56, - 0xb6, 0xab, 0x2b, 0x72, 0xb2, 0xa4, 0xc3, 0x64, 0xbf, 0x3a, 0xd9, 0x77, 0x65, 0x44, 0xa6, 0x38, - 0x71, 0xc4, 0x14, 0x53, 0xae, 0x9e, 0x29, 0xfe, 0x7e, 0x02, 0x26, 0xfa, 0xec, 0x15, 0x7d, 0x5f, - 0xf2, 0x34, 0xa4, 0x59, 0x8a, 0xb2, 0xdd, 0xf3, 0xd1, 0xbe, 0x9b, 0x0e, 0x4d, 0xd8, 0x9e, 0x1d, - 0x94, 0xe2, 0xa2, 0x1d, 0x44, 0xf2, 0x88, 0x0e, 0x82, 0x50, 0xf4, 0xd4, 0xf4, 0x9f, 0xed, 0xa9, - 0xe9, 0x6c, 0xdb, 0x3b, 0x37, 0xc8, 0xb6, 0x47, 0x65, 0xc7, 0xab, 0xed, 0xe9, 0x3e, 0xb5, 0xfd, - 0x12, 0x8c, 0xf7, 0x10, 0x0d, 0x5c, 0x63, 0x5f, 0x92, 0xa0, 0x78, 0x54, 0x70, 0x62, 0x2a, 0x5d, - 0xa2, 0xa3, 0xd2, 0x5d, 0xea, 0x8e, 0xe0, 0x99, 0xa3, 0x27, 0xa1, 0x67, 0xae, 0x5f, 0x93, 0xe0, - 0x44, 0xff, 0x4e, 0xb1, 0xaf, 0x0f, 0x1f, 0x87, 0xe1, 0x16, 0xf6, 0xf7, 0x6d, 0xd1, 0x2d, 0x7d, - 0xa4, 0xcf, 0x1e, 0x4c, 0xd4, 0xdd, 0x93, 0xcd, 0x51, 0xd1, 0x4d, 0x3c, 0x79, 0x54, 0xbb, 0xc7, - 0xbc, 0xe9, 0xf1, 0xf4, 0x33, 0x09, 0xb8, 0xa7, 0x2f, 0x79, 0x5f, 0x47, 0x1f, 0x00, 0x30, 0x2c, - 0xa7, 0xed, 0xb3, 0x8e, 0x88, 0x15, 0xd8, 0x2c, 0x95, 0xd0, 0xe2, 0x45, 0x8a, 0x67, 0xdb, 0x0f, - 0xf4, 0x49, 0xaa, 0x07, 0x26, 0xa2, 0x06, 0x17, 0x42, 0x47, 0x53, 0xd4, 0xd1, 0xe9, 0x23, 0x46, - 0xda, 0x93, 0x98, 0x4f, 0x82, 0xac, 0x9b, 0x06, 0xb6, 0x7c, 0xd5, 0xf3, 0x5d, 0xac, 0xb5, 0x0c, - 0xab, 0x49, 0x77, 0x90, 0x4c, 0x39, 0xbd, 0xa7, 0x99, 0x1e, 0x56, 0xc6, 0x98, 0xba, 0x2e, 0xb4, - 0x04, 0x41, 0x13, 0xc8, 0x8d, 0x20, 0x86, 0x3b, 0x10, 0x4c, 0x1d, 0x20, 0x4a, 0xdf, 0xc8, 0x40, - 0x2e, 0xd2, 0x57, 0xa3, 0x33, 0x90, 0xbf, 0xaa, 0x5d, 0xd7, 0x54, 0x71, 0x56, 0x62, 0x91, 0xc8, - 0x11, 0xd9, 0x16, 0x3f, 0x2f, 0x3d, 0x09, 0x93, 0xd4, 0xc4, 0x6e, 0xfb, 0xd8, 0x55, 0x75, 0x53, - 0xf3, 0x3c, 0x1a, 0xb4, 0x0c, 0x35, 0x45, 0x44, 0x57, 0x23, 0xaa, 0x65, 0xa1, 0x41, 0x8b, 0x30, - 0x41, 0x11, 0xad, 0xb6, 0xe9, 0x1b, 0x8e, 0x89, 0x55, 0x72, 0x7a, 0xf3, 0xe8, 0x4e, 0x12, 0x78, - 0x36, 0x4e, 0x2c, 0x36, 0xb8, 0x01, 0xf1, 0xc8, 0x43, 0x2b, 0xf0, 0x00, 0x85, 0x35, 0xb1, 0x85, - 0x5d, 0xcd, 0xc7, 0x2a, 0xfe, 0x74, 0x5b, 0x33, 0x3d, 0x55, 0xb3, 0x1a, 0xea, 0xbe, 0xe6, 0xed, - 0x17, 0x27, 0x09, 0xc1, 0x52, 0xa2, 0x28, 0x29, 0x27, 0x89, 0xe1, 0x2a, 0xb7, 0xab, 0x52, 0xb3, - 0x8a, 0xd5, 0xb8, 0xa2, 0x79, 0xfb, 0xa8, 0x0c, 0x27, 0x28, 0x8b, 0xe7, 0xbb, 0x86, 0xd5, 0x54, - 0xf5, 0x7d, 0xac, 0x5f, 0x53, 0xdb, 0xfe, 0xde, 0x85, 0xe2, 0x7d, 0xd1, 0xf7, 0x53, 0x0f, 0xeb, - 0xd4, 0x66, 0x99, 0x98, 0xec, 0xf8, 0x7b, 0x17, 0x50, 0x1d, 0xf2, 0x64, 0x32, 0x5a, 0xc6, 0x4d, - 0xac, 0xee, 0xd9, 0x2e, 0xdd, 0x1a, 0x0b, 0x7d, 0x4a, 0x53, 0x24, 0x82, 0xb3, 0x35, 0x0e, 0xd8, - 0xb0, 0x1b, 0xb8, 0x9c, 0xae, 0x6f, 0x55, 0xab, 0x2b, 0x4a, 0x4e, 0xb0, 0x5c, 0xb6, 0x5d, 0x92, - 0x50, 0x4d, 0x3b, 0x08, 0x70, 0x8e, 0x25, 0x54, 0xd3, 0x16, 0xe1, 0x5d, 0x84, 0x09, 0x5d, 0x67, - 0x63, 0x36, 0x74, 0x95, 0x9f, 0xb1, 0xbc, 0xa2, 0xdc, 0x11, 0x2c, 0x5d, 0x5f, 0x65, 0x06, 0x3c, - 0xc7, 0x3d, 0x74, 0x11, 0xee, 0x09, 0x83, 0x15, 0x05, 0x8e, 0xf7, 0x8c, 0xb2, 0x1b, 0xba, 0x08, - 0x13, 0xce, 0x41, 0x2f, 0x10, 0x75, 0xbc, 0xd1, 0x39, 0xe8, 0x86, 0x9d, 0x87, 0x49, 0x67, 0xdf, - 0xe9, 0xc5, 0x3d, 0x16, 0xc5, 0x21, 0x67, 0xdf, 0xe9, 0x06, 0x3e, 0x4c, 0x0f, 0xdc, 0x2e, 0xd6, - 0x35, 0x1f, 0x37, 0x8a, 0xf7, 0x46, 0xcd, 0x23, 0x0a, 0x34, 0x07, 0xb2, 0xae, 0xab, 0xd8, 0xd2, - 0x76, 0x4d, 0xac, 0x6a, 0x2e, 0xb6, 0x34, 0xaf, 0x78, 0x2a, 0x6a, 0x5c, 0xd0, 0xf5, 0x2a, 0xd5, - 0x56, 0xa8, 0x12, 0x3d, 0x06, 0xe3, 0xf6, 0xee, 0x55, 0x9d, 0xa5, 0xa4, 0xea, 0xb8, 0x78, 0xcf, - 0x78, 0xb1, 0xf8, 0x10, 0x8d, 0xef, 0x18, 0x51, 0xd0, 0x84, 0xdc, 0xa2, 0x62, 0xf4, 0x28, 0xc8, - 0xba, 0xb7, 0xaf, 0xb9, 0x0e, 0xad, 0xc9, 0x9e, 0xa3, 0xe9, 0xb8, 0xf8, 0x30, 0x33, 0x65, 0xf2, - 0x4d, 0x21, 0x26, 0x4b, 0xc2, 0xbb, 0x61, 0xec, 0xf9, 0x82, 0xf1, 0x11, 0xb6, 0x24, 0xa8, 0x8c, - 0xb3, 0xcd, 0x80, 0x4c, 0x42, 0xd1, 0xf1, 0xe2, 0x19, 0x6a, 0x56, 0x70, 0xf6, 0x9d, 0xe8, 0x7b, - 0x1f, 0x84, 0x51, 0x62, 0x19, 0xbe, 0xf4, 0x51, 0xd6, 0x90, 0x39, 0xfb, 0x91, 0x37, 0x7e, 0x60, - 0xbd, 0x71, 0xa9, 0x0c, 0xf9, 0x68, 0x7e, 0xa2, 0x2c, 0xb0, 0x0c, 0x95, 0x25, 0xd2, 0xac, 0x2c, - 0xd7, 0x56, 0x48, 0x9b, 0xf1, 0x42, 0x55, 0x4e, 0x90, 0x76, 0x67, 0x7d, 0x6d, 0xbb, 0xaa, 0x2a, - 0x3b, 0x9b, 0xdb, 0x6b, 0x1b, 0x55, 0x39, 0x19, 0xed, 0xab, 0xbf, 0x9b, 0x80, 0x42, 0xe7, 0x11, - 0x09, 0xfd, 0x14, 0xdc, 0x2b, 0xee, 0x33, 0x3c, 0xec, 0xab, 0x37, 0x0c, 0x97, 0x2e, 0x99, 0x96, - 0xc6, 0xb6, 0xaf, 0x60, 0xd2, 0x26, 0xb9, 0x55, 0x1d, 0xfb, 0xcf, 0x1a, 0x2e, 0x59, 0x10, 0x2d, - 0xcd, 0x47, 0xeb, 0x70, 0xca, 0xb2, 0x55, 0xcf, 0xd7, 0xac, 0x86, 0xe6, 0x36, 0xd4, 0xf0, 0x26, - 0x49, 0xd5, 0x74, 0x1d, 0x7b, 0x9e, 0xcd, 0xb6, 0xaa, 0x80, 0xe5, 0x7e, 0xcb, 0xae, 0x73, 0xe3, - 0xb0, 0x86, 0x57, 0xb8, 0x69, 0x57, 0x82, 0x25, 0x8f, 0x4a, 0xb0, 0xfb, 0x20, 0xdb, 0xd2, 0x1c, - 0x15, 0x5b, 0xbe, 0x7b, 0x40, 0x1b, 0xe3, 0x8c, 0x92, 0x69, 0x69, 0x4e, 0x95, 0x3c, 0x7f, 0x38, - 0xe7, 0x93, 0x7f, 0x4e, 0x42, 0x3e, 0xda, 0x1c, 0x93, 0xb3, 0x86, 0x4e, 0xf7, 0x11, 0x89, 0x56, - 0x9a, 0x07, 0xef, 0xda, 0x4a, 0xcf, 0x2e, 0x93, 0x0d, 0xa6, 0x3c, 0xcc, 0x5a, 0x56, 0x85, 0x21, - 0xc9, 0xe6, 0x4e, 0x6a, 0x0b, 0x66, 0x2d, 0x42, 0x46, 0xe1, 0x4f, 0x68, 0x15, 0x86, 0xaf, 0x7a, - 0x94, 0x7b, 0x98, 0x72, 0x3f, 0x74, 0x77, 0xee, 0x67, 0xea, 0x94, 0x3c, 0xfb, 0x4c, 0x5d, 0xdd, - 0xac, 0x29, 0x1b, 0x95, 0x75, 0x85, 0xc3, 0xd1, 0x49, 0x48, 0x99, 0xda, 0xcd, 0x83, 0xce, 0xad, - 0x88, 0x8a, 0x06, 0x0d, 0xfc, 0x49, 0x48, 0xdd, 0xc0, 0xda, 0xb5, 0xce, 0x0d, 0x80, 0x8a, 0x3e, - 0xc0, 0xd4, 0x9f, 0x83, 0x34, 0x8d, 0x17, 0x02, 0xe0, 0x11, 0x93, 0x87, 0x50, 0x06, 0x52, 0xcb, - 0x35, 0x85, 0xa4, 0xbf, 0x0c, 0x79, 0x26, 0x55, 0xb7, 0xd6, 0xaa, 0xcb, 0x55, 0x39, 0x51, 0x5a, - 0x84, 0x61, 0x16, 0x04, 0xb2, 0x34, 0x82, 0x30, 0xc8, 0x43, 0xfc, 0x91, 0x73, 0x48, 0x42, 0xbb, - 0xb3, 0xb1, 0x54, 0x55, 0xe4, 0x44, 0x74, 0x7a, 0x3d, 0xc8, 0x47, 0xfb, 0xe2, 0x0f, 0x27, 0xa7, - 0xbe, 0x23, 0x41, 0x2e, 0xd2, 0xe7, 0x92, 0x06, 0x45, 0x33, 0x4d, 0xfb, 0x86, 0xaa, 0x99, 0x86, - 0xe6, 0xf1, 0xa4, 0x00, 0x2a, 0xaa, 0x10, 0xc9, 0xa0, 0x93, 0xf6, 0xa1, 0x38, 0xff, 0xaa, 0x04, - 0x72, 0x77, 0x8b, 0xd9, 0xe5, 0xa0, 0xf4, 0x13, 0x75, 0xf0, 0x15, 0x09, 0x0a, 0x9d, 0x7d, 0x65, - 0x97, 0x7b, 0x67, 0x7e, 0xa2, 0xee, 0xbd, 0x95, 0x80, 0xd1, 0x8e, 0x6e, 0x72, 0x50, 0xef, 0x3e, - 0x0d, 0xe3, 0x46, 0x03, 0xb7, 0x1c, 0xdb, 0xc7, 0x96, 0x7e, 0xa0, 0x9a, 0xf8, 0x3a, 0x36, 0x8b, - 0x25, 0x5a, 0x28, 0xe6, 0xee, 0xde, 0xaf, 0xce, 0xae, 0x85, 0xb8, 0x75, 0x02, 0x2b, 0x4f, 0xac, - 0xad, 0x54, 0x37, 0xb6, 0x6a, 0xdb, 0xd5, 0xcd, 0xe5, 0xe7, 0xd5, 0x9d, 0xcd, 0x9f, 0xd9, 0xac, - 0x3d, 0xbb, 0xa9, 0xc8, 0x46, 0x97, 0xd9, 0x07, 0xb8, 0xd4, 0xb7, 0x40, 0xee, 0x76, 0x0a, 0xdd, - 0x0b, 0xfd, 0xdc, 0x92, 0x87, 0xd0, 0x04, 0x8c, 0x6d, 0xd6, 0xd4, 0xfa, 0xda, 0x4a, 0x55, 0xad, - 0x5e, 0xbe, 0x5c, 0x5d, 0xde, 0xae, 0xb3, 0x1b, 0x88, 0xc0, 0x7a, 0xbb, 0x73, 0x51, 0xbf, 0x9c, - 0x84, 0x89, 0x3e, 0x9e, 0xa0, 0x0a, 0x3f, 0x3b, 0xb0, 0xe3, 0xcc, 0x13, 0x83, 0x78, 0x3f, 0x4b, - 0xb6, 0xfc, 0x2d, 0xcd, 0xf5, 0xf9, 0x51, 0xe3, 0x51, 0x20, 0x51, 0xb2, 0x7c, 0x63, 0xcf, 0xc0, - 0x2e, 0xbf, 0xb0, 0x61, 0x07, 0x8a, 0xb1, 0x50, 0xce, 0xee, 0x6c, 0x3e, 0x0a, 0xc8, 0xb1, 0x3d, - 0xc3, 0x37, 0xae, 0x63, 0xd5, 0xb0, 0xc4, 0xed, 0x0e, 0x39, 0x60, 0xa4, 0x14, 0x59, 0x68, 0xd6, - 0x2c, 0x3f, 0xb0, 0xb6, 0x70, 0x53, 0xeb, 0xb2, 0x26, 0x05, 0x3c, 0xa9, 0xc8, 0x42, 0x13, 0x58, - 0x9f, 0x81, 0x7c, 0xc3, 0x6e, 0x93, 0xae, 0x8b, 0xd9, 0x91, 0xfd, 0x42, 0x52, 0x72, 0x4c, 0x16, - 0x98, 0xf0, 0x7e, 0x3a, 0xbc, 0x56, 0xca, 0x2b, 0x39, 0x26, 0x63, 0x26, 0x8f, 0xc0, 0x98, 0xd6, - 0x6c, 0xba, 0x84, 0x5c, 0x10, 0xb1, 0x13, 0x42, 0x21, 0x10, 0x53, 0xc3, 0xa9, 0x67, 0x20, 0x23, - 0xe2, 0x40, 0xb6, 0x64, 0x12, 0x09, 0xd5, 0x61, 0xc7, 0xde, 0xc4, 0x4c, 0x56, 0xc9, 0x58, 0x42, - 0x79, 0x06, 0xf2, 0x86, 0xa7, 0x86, 0xb7, 0xe4, 0x89, 0xd3, 0x89, 0x99, 0x8c, 0x92, 0x33, 0xbc, - 0xe0, 0x86, 0xb1, 0xf4, 0x5a, 0x02, 0x0a, 0x9d, 0xb7, 0xfc, 0x68, 0x05, 0x32, 0xa6, 0xad, 0x6b, - 0x34, 0xb5, 0xd8, 0x27, 0xa6, 0x99, 0x98, 0x0f, 0x03, 0xb3, 0xeb, 0xdc, 0x5e, 0x09, 0x90, 0x53, - 0xff, 0x20, 0x41, 0x46, 0x88, 0xd1, 0x09, 0x48, 0x39, 0x9a, 0xbf, 0x4f, 0xe9, 0xd2, 0x4b, 0x09, - 0x59, 0x52, 0xe8, 0x33, 0x91, 0x7b, 0x8e, 0x66, 0xd1, 0x14, 0xe0, 0x72, 0xf2, 0x4c, 0xe6, 0xd5, - 0xc4, 0x5a, 0x83, 0x1e, 0x3f, 0xec, 0x56, 0x0b, 0x5b, 0xbe, 0x27, 0xe6, 0x95, 0xcb, 0x97, 0xb9, - 0x18, 0x3d, 0x0e, 0xe3, 0xbe, 0xab, 0x19, 0x66, 0x87, 0x6d, 0x8a, 0xda, 0xca, 0x42, 0x11, 0x18, - 0x97, 0xe1, 0xa4, 0xe0, 0x6d, 0x60, 0x5f, 0xd3, 0xf7, 0x71, 0x23, 0x04, 0x0d, 0xd3, 0x6b, 0x86, - 0x7b, 0xb9, 0xc1, 0x0a, 0xd7, 0x0b, 0x6c, 0xe9, 0x7b, 0x12, 0x8c, 0x8b, 0x03, 0x53, 0x23, 0x08, - 0xd6, 0x06, 0x80, 0x66, 0x59, 0xb6, 0x1f, 0x0d, 0x57, 0x6f, 0x2a, 0xf7, 0xe0, 0x66, 0x2b, 0x01, - 0x48, 0x89, 0x10, 0x4c, 0xb5, 0x00, 0x42, 0xcd, 0x91, 0x61, 0x3b, 0x05, 0x39, 0xfe, 0x09, 0x87, - 0x7e, 0x07, 0x64, 0x47, 0x6c, 0x60, 0x22, 0x72, 0xb2, 0x42, 0x93, 0x90, 0xde, 0xc5, 0x4d, 0xc3, - 0xe2, 0x17, 0xb3, 0xec, 0x41, 0x5c, 0x84, 0xa4, 0x82, 0x8b, 0x90, 0xa5, 0x4f, 0xc1, 0x84, 0x6e, - 0xb7, 0xba, 0xdd, 0x5d, 0x92, 0xbb, 0x8e, 0xf9, 0xde, 0x15, 0xe9, 0x05, 0x08, 0x5b, 0xcc, 0xf7, - 0x24, 0xe9, 0x4b, 0x89, 0xe4, 0xea, 0xd6, 0xd2, 0x57, 0x13, 0x53, 0xab, 0x0c, 0xba, 0x25, 0x46, - 0xaa, 0xe0, 0x3d, 0x13, 0xeb, 0xc4, 0x7b, 0xf8, 0xf2, 0xe3, 0xf0, 0x44, 0xd3, 0xf0, 0xf7, 0xdb, - 0xbb, 0xb3, 0xba, 0xdd, 0x9a, 0x6b, 0xda, 0x4d, 0x3b, 0xfc, 0xf4, 0x49, 0x9e, 0xe8, 0x03, 0xfd, - 0x8b, 0x7f, 0xfe, 0xcc, 0x06, 0xd2, 0xa9, 0xd8, 0x6f, 0xa5, 0xe5, 0x4d, 0x98, 0xe0, 0xc6, 0x2a, - 0xfd, 0xfe, 0xc2, 0x4e, 0x11, 0xe8, 0xae, 0x77, 0x58, 0xc5, 0xaf, 0xbf, 0x4d, 0xb7, 0x6b, 0x65, - 0x9c, 0x43, 0x89, 0x8e, 0x1d, 0x34, 0xca, 0x0a, 0xdc, 0xd3, 0xc1, 0xc7, 0x96, 0x26, 0x76, 0x63, - 0x18, 0xbf, 0xcb, 0x19, 0x27, 0x22, 0x8c, 0x75, 0x0e, 0x2d, 0x2f, 0xc3, 0xe8, 0x71, 0xb8, 0xfe, - 0x8e, 0x73, 0xe5, 0x71, 0x94, 0x64, 0x15, 0xc6, 0x28, 0x89, 0xde, 0xf6, 0x7c, 0xbb, 0x45, 0xeb, - 0xde, 0xdd, 0x69, 0xfe, 0xfe, 0x6d, 0xb6, 0x56, 0x0a, 0x04, 0xb6, 0x1c, 0xa0, 0xca, 0x65, 0xa0, - 0x9f, 0x9c, 0x1a, 0x58, 0x37, 0x63, 0x18, 0x5e, 0xe7, 0x8e, 0x04, 0xf6, 0xe5, 0x4f, 0xc2, 0x24, - 0xf9, 0x9b, 0x96, 0xa5, 0xa8, 0x27, 0xf1, 0x17, 0x5e, 0xc5, 0xef, 0xbd, 0xc4, 0x96, 0xe3, 0x44, - 0x40, 0x10, 0xf1, 0x29, 0x32, 0x8b, 0x4d, 0xec, 0xfb, 0xd8, 0xf5, 0x54, 0xcd, 0xec, 0xe7, 0x5e, - 0xe4, 0xc6, 0xa0, 0xf8, 0xf9, 0x77, 0x3a, 0x67, 0x71, 0x95, 0x21, 0x2b, 0xa6, 0x59, 0xde, 0x81, - 0x7b, 0xfb, 0x64, 0xc5, 0x00, 0x9c, 0x2f, 0x73, 0xce, 0xc9, 0x9e, 0xcc, 0x20, 0xb4, 0x5b, 0x20, - 0xe4, 0xc1, 0x5c, 0x0e, 0xc0, 0xf9, 0xbb, 0x9c, 0x13, 0x71, 0xac, 0x98, 0x52, 0xc2, 0xf8, 0x0c, - 0x8c, 0x5f, 0xc7, 0xee, 0xae, 0xed, 0xf1, 0x5b, 0x9a, 0x01, 0xe8, 0x5e, 0xe1, 0x74, 0x63, 0x1c, - 0x48, 0xaf, 0x6d, 0x08, 0xd7, 0x45, 0xc8, 0xec, 0x69, 0x3a, 0x1e, 0x80, 0xe2, 0x0b, 0x9c, 0x62, - 0x84, 0xd8, 0x13, 0x68, 0x05, 0xf2, 0x4d, 0x9b, 0xef, 0x4c, 0xf1, 0xf0, 0x57, 0x39, 0x3c, 0x27, - 0x30, 0x9c, 0xc2, 0xb1, 0x9d, 0xb6, 0x49, 0xb6, 0xad, 0x78, 0x8a, 0xdf, 0x13, 0x14, 0x02, 0xc3, - 0x29, 0x8e, 0x11, 0xd6, 0xdf, 0x17, 0x14, 0x5e, 0x24, 0x9e, 0x4f, 0x43, 0xce, 0xb6, 0xcc, 0x03, - 0xdb, 0x1a, 0xc4, 0x89, 0x2f, 0x72, 0x06, 0xe0, 0x10, 0x42, 0x70, 0x09, 0xb2, 0x83, 0x4e, 0xc4, - 0x1f, 0xbe, 0x23, 0x96, 0x87, 0x98, 0x81, 0x55, 0x18, 0x13, 0x05, 0xca, 0xb0, 0xad, 0x01, 0x28, - 0xbe, 0xcc, 0x29, 0x0a, 0x11, 0x18, 0x1f, 0x86, 0x8f, 0x3d, 0xbf, 0x89, 0x07, 0x21, 0x79, 0x4d, - 0x0c, 0x83, 0x43, 0x78, 0x28, 0x77, 0xb1, 0xa5, 0xef, 0x0f, 0xc6, 0xf0, 0x15, 0x11, 0x4a, 0x81, - 0x21, 0x14, 0xcb, 0x30, 0xda, 0xd2, 0x5c, 0x6f, 0x5f, 0x33, 0x07, 0x9a, 0x8e, 0x3f, 0xe2, 0x1c, - 0xf9, 0x00, 0xc4, 0x23, 0xd2, 0xb6, 0x8e, 0x43, 0xf3, 0x55, 0x11, 0x91, 0x08, 0x8c, 0x2f, 0x3d, - 0xcf, 0xa7, 0x57, 0x5a, 0xc7, 0x61, 0xfb, 0x63, 0xb1, 0xf4, 0x18, 0x76, 0x23, 0xca, 0x78, 0x09, - 0xb2, 0x9e, 0x71, 0x73, 0x20, 0x9a, 0x3f, 0x11, 0x33, 0x4d, 0x01, 0x04, 0xfc, 0x3c, 0x9c, 0xec, - 0xbb, 0x4d, 0x0c, 0x40, 0xf6, 0xa7, 0x9c, 0xec, 0x44, 0x9f, 0xad, 0x82, 0x97, 0x84, 0xe3, 0x52, - 0xfe, 0x99, 0x28, 0x09, 0xb8, 0x8b, 0x6b, 0x8b, 0x9c, 0x15, 0x3c, 0x6d, 0xef, 0x78, 0x51, 0xfb, - 0x73, 0x11, 0x35, 0x86, 0xed, 0x88, 0xda, 0x36, 0x9c, 0xe0, 0x8c, 0xc7, 0x9b, 0xd7, 0xaf, 0x89, - 0xc2, 0xca, 0xd0, 0x3b, 0x9d, 0xb3, 0xfb, 0x29, 0x98, 0x0a, 0xc2, 0x29, 0x9a, 0x52, 0x4f, 0x6d, - 0x69, 0xce, 0x00, 0xcc, 0x5f, 0xe7, 0xcc, 0xa2, 0xe2, 0x07, 0x5d, 0xad, 0xb7, 0xa1, 0x39, 0x84, - 0xfc, 0x39, 0x28, 0x0a, 0xf2, 0xb6, 0xe5, 0x62, 0xdd, 0x6e, 0x5a, 0xc6, 0x4d, 0xdc, 0x18, 0x80, - 0xfa, 0x2f, 0xba, 0xa6, 0x6a, 0x27, 0x02, 0x27, 0xcc, 0x6b, 0x20, 0x07, 0xbd, 0x8a, 0x6a, 0xb4, - 0x1c, 0xdb, 0xf5, 0x63, 0x18, 0xbf, 0x21, 0x66, 0x2a, 0xc0, 0xad, 0x51, 0x58, 0xb9, 0x0a, 0x05, - 0xfa, 0x38, 0x68, 0x4a, 0xfe, 0x25, 0x27, 0x1a, 0x0d, 0x51, 0xbc, 0x70, 0xe8, 0x76, 0xcb, 0xd1, - 0xdc, 0x41, 0xea, 0xdf, 0x5f, 0x89, 0xc2, 0xc1, 0x21, 0xbc, 0x70, 0xf8, 0x07, 0x0e, 0x26, 0xbb, - 0xfd, 0x00, 0x0c, 0xdf, 0x14, 0x85, 0x43, 0x60, 0x38, 0x85, 0x68, 0x18, 0x06, 0xa0, 0xf8, 0x6b, - 0x41, 0x21, 0x30, 0x84, 0xe2, 0x13, 0xe1, 0x46, 0xeb, 0xe2, 0xa6, 0xe1, 0xf9, 0x2e, 0x6b, 0x85, - 0xef, 0x4e, 0xf5, 0xad, 0x77, 0x3a, 0x9b, 0x30, 0x25, 0x02, 0x25, 0x95, 0x88, 0x5f, 0xa1, 0xd2, - 0x93, 0x52, 0xbc, 0x63, 0xdf, 0x16, 0x95, 0x28, 0x02, 0x23, 0xbe, 0x45, 0x3a, 0x44, 0x12, 0x76, - 0x9d, 0x9c, 0x0f, 0x06, 0xa0, 0xfb, 0x4e, 0x97, 0x73, 0x75, 0x81, 0x25, 0x9c, 0x91, 0xfe, 0xa7, - 0x6d, 0x5d, 0xc3, 0x07, 0x03, 0x65, 0xe7, 0xdf, 0x74, 0xf5, 0x3f, 0x3b, 0x0c, 0xc9, 0x6a, 0xc8, - 0x58, 0x57, 0x3f, 0x85, 0xe2, 0x7e, 0xac, 0x53, 0xfc, 0xf9, 0x3b, 0x7c, 0xbc, 0x9d, 0xed, 0x54, - 0x79, 0x9d, 0x24, 0x79, 0x67, 0xd3, 0x13, 0x4f, 0xf6, 0xd2, 0x9d, 0x20, 0xcf, 0x3b, 0x7a, 0x9e, - 0xf2, 0x65, 0x18, 0xed, 0x68, 0x78, 0xe2, 0xa9, 0x7e, 0x81, 0x53, 0xe5, 0xa3, 0xfd, 0x4e, 0x79, - 0x11, 0x52, 0xa4, 0x79, 0x89, 0x87, 0xff, 0x22, 0x87, 0x53, 0xf3, 0xf2, 0xc7, 0x20, 0x23, 0x9a, - 0x96, 0x78, 0xe8, 0x2f, 0x71, 0x68, 0x00, 0x21, 0x70, 0xd1, 0xb0, 0xc4, 0xc3, 0x7f, 0x59, 0xc0, - 0x05, 0x84, 0xc0, 0x07, 0x0f, 0xe1, 0xdf, 0xfe, 0x4a, 0x8a, 0x6f, 0x3a, 0x22, 0x76, 0x97, 0x60, - 0x84, 0x77, 0x2a, 0xf1, 0xe8, 0xcf, 0xf0, 0x97, 0x0b, 0x44, 0xf9, 0x3c, 0xa4, 0x07, 0x0c, 0xf8, - 0xaf, 0x72, 0x28, 0xb3, 0x2f, 0x2f, 0x43, 0x2e, 0xd2, 0x9d, 0xc4, 0xc3, 0x7f, 0x8d, 0xc3, 0xa3, - 0x28, 0xe2, 0x3a, 0xef, 0x4e, 0xe2, 0x09, 0x7e, 0x5d, 0xb8, 0xce, 0x11, 0x24, 0x6c, 0xa2, 0x31, - 0x89, 0x47, 0xff, 0x86, 0x88, 0xba, 0x80, 0x94, 0x9f, 0x86, 0x6c, 0xb0, 0xd9, 0xc4, 0xe3, 0x7f, - 0x93, 0xe3, 0x43, 0x0c, 0x89, 0x40, 0x64, 0xb3, 0x8b, 0xa7, 0xf8, 0xac, 0x88, 0x40, 0x04, 0x45, - 0x96, 0x51, 0x77, 0x03, 0x13, 0xcf, 0xf4, 0x5b, 0x62, 0x19, 0x75, 0xf5, 0x2f, 0x64, 0x36, 0x69, - 0xcd, 0x8f, 0xa7, 0xf8, 0x6d, 0x31, 0x9b, 0xd4, 0x9e, 0xb8, 0xd1, 0xdd, 0x11, 0xc4, 0x73, 0xfc, - 0x8e, 0x70, 0xa3, 0xab, 0x21, 0x28, 0x6f, 0x01, 0xea, 0xed, 0x06, 0xe2, 0xf9, 0x3e, 0xc7, 0xf9, - 0xc6, 0x7b, 0x9a, 0x81, 0xf2, 0xb3, 0x70, 0xa2, 0x7f, 0x27, 0x10, 0xcf, 0xfa, 0xf9, 0x3b, 0x5d, - 0x67, 0xb7, 0x68, 0x23, 0x50, 0xde, 0x0e, 0xb7, 0x94, 0x68, 0x17, 0x10, 0x4f, 0xfb, 0xf2, 0x9d, - 0xce, 0xc2, 0x1d, 0x6d, 0x02, 0xca, 0x15, 0x80, 0x70, 0x03, 0x8e, 0xe7, 0x7a, 0x85, 0x73, 0x45, - 0x40, 0x64, 0x69, 0xf0, 0xfd, 0x37, 0x1e, 0xff, 0x05, 0xb1, 0x34, 0x38, 0x82, 0x2c, 0x0d, 0xb1, - 0xf5, 0xc6, 0xa3, 0x5f, 0x15, 0x4b, 0x43, 0x40, 0x48, 0x66, 0x47, 0x76, 0xb7, 0x78, 0x86, 0x2f, - 0x8a, 0xcc, 0x8e, 0xa0, 0xca, 0x9b, 0x30, 0xde, 0xb3, 0x21, 0xc6, 0x53, 0x7d, 0x89, 0x53, 0xc9, - 0xdd, 0xfb, 0x61, 0x74, 0xf3, 0xe2, 0x9b, 0x61, 0x3c, 0xdb, 0x1f, 0x74, 0x6d, 0x5e, 0x7c, 0x2f, - 0x2c, 0x5f, 0x82, 0x8c, 0xd5, 0x36, 0x4d, 0xb2, 0x78, 0xd0, 0xdd, 0x7f, 0x60, 0x57, 0xfc, 0xd7, - 0xf7, 0x79, 0x74, 0x04, 0xa0, 0xbc, 0x08, 0x69, 0xdc, 0xda, 0xc5, 0x8d, 0x38, 0xe4, 0xbf, 0xbd, - 0x2f, 0x0a, 0x26, 0xb1, 0x2e, 0x3f, 0x0d, 0xc0, 0xae, 0x46, 0xe8, 0x67, 0xbf, 0x18, 0xec, 0xbf, - 0xbf, 0xcf, 0x7f, 0xfa, 0x12, 0x42, 0x42, 0x02, 0xf6, 0x43, 0x9a, 0xbb, 0x13, 0xbc, 0xd3, 0x49, - 0x40, 0x67, 0xe4, 0x22, 0x8c, 0x5c, 0xf5, 0x6c, 0xcb, 0xd7, 0x9a, 0x71, 0xe8, 0xff, 0xe0, 0x68, - 0x61, 0x4f, 0x02, 0xd6, 0xb2, 0x5d, 0xec, 0x6b, 0x4d, 0x2f, 0x0e, 0xfb, 0x9f, 0x1c, 0x1b, 0x00, - 0x08, 0x58, 0xd7, 0x3c, 0x7f, 0x90, 0x71, 0xff, 0x50, 0x80, 0x05, 0x80, 0x38, 0x4d, 0xfe, 0xbe, - 0x86, 0x0f, 0xe2, 0xb0, 0xef, 0x0a, 0xa7, 0xb9, 0x7d, 0xf9, 0x63, 0x90, 0x25, 0x7f, 0xb2, 0xdf, - 0xb3, 0xc5, 0x80, 0xff, 0x8b, 0x83, 0x43, 0x04, 0x79, 0xb3, 0xe7, 0x37, 0x7c, 0x23, 0x3e, 0xd8, - 0xff, 0xcd, 0x67, 0x5a, 0xd8, 0x97, 0x2b, 0x90, 0xf3, 0xfc, 0x46, 0xa3, 0xcd, 0xfb, 0xd3, 0x18, - 0xf8, 0xff, 0xbc, 0x1f, 0x5c, 0x59, 0x04, 0x18, 0x32, 0xdb, 0x37, 0xae, 0xf9, 0x8e, 0x4d, 0x3f, - 0x73, 0xc4, 0x31, 0xdc, 0xe1, 0x0c, 0x11, 0xc8, 0x52, 0xb5, 0xff, 0xf5, 0x2d, 0xac, 0xda, 0xab, - 0x36, 0xbb, 0xb8, 0x7d, 0xa1, 0x14, 0x7f, 0x03, 0x0b, 0xff, 0x97, 0x81, 0xfb, 0x75, 0xbb, 0xb5, - 0x6b, 0x7b, 0x73, 0x91, 0x62, 0x3e, 0x67, 0x5b, 0x9c, 0x13, 0x25, 0x6d, 0x0b, 0x4f, 0x1d, 0xef, - 0x2e, 0xb7, 0x74, 0x12, 0xd2, 0xf5, 0xf6, 0xee, 0xee, 0x01, 0x92, 0x21, 0xe9, 0xb5, 0x77, 0xf9, - 0xef, 0xa2, 0xc8, 0x9f, 0xa5, 0x37, 0x93, 0x30, 0x5a, 0x31, 0xcd, 0xed, 0x03, 0x07, 0x7b, 0x35, - 0x0b, 0xd7, 0xf6, 0x50, 0x11, 0x86, 0xe9, 0x60, 0x9f, 0xa2, 0x66, 0xd2, 0x95, 0x21, 0x85, 0x3f, - 0x07, 0x9a, 0x79, 0x7a, 0xcb, 0x9d, 0x08, 0x34, 0xf3, 0x81, 0xe6, 0x2c, 0xbb, 0xe4, 0x0e, 0x34, - 0x67, 0x03, 0xcd, 0x02, 0xbd, 0xea, 0x4e, 0x06, 0x9a, 0x85, 0x40, 0xb3, 0x48, 0x3f, 0xe5, 0x8c, - 0x06, 0x9a, 0xc5, 0x40, 0x73, 0x8e, 0x7e, 0xbc, 0x49, 0x05, 0x9a, 0x73, 0x81, 0xe6, 0x3c, 0xfd, - 0x66, 0x33, 0x1e, 0x68, 0xce, 0x07, 0x9a, 0x0b, 0xf4, 0x3b, 0x0d, 0x0a, 0x34, 0x17, 0x02, 0xcd, - 0x45, 0xfa, 0x03, 0xa8, 0x91, 0x40, 0x73, 0x11, 0x4d, 0xc1, 0x08, 0x1b, 0xd9, 0x93, 0xf4, 0x63, - 0xfe, 0xd8, 0x95, 0x21, 0x45, 0x08, 0x42, 0xdd, 0x53, 0xf4, 0x47, 0x4e, 0xc3, 0xa1, 0xee, 0xa9, - 0x50, 0x37, 0x4f, 0xff, 0xaf, 0x85, 0x1c, 0xea, 0xe6, 0x43, 0xdd, 0xd9, 0xe2, 0x28, 0xc9, 0x91, - 0x50, 0x77, 0x36, 0xd4, 0x2d, 0x14, 0x0b, 0x64, 0x06, 0x42, 0xdd, 0x42, 0xa8, 0x5b, 0x2c, 0x8e, - 0x9d, 0x96, 0x66, 0xf2, 0xa1, 0x6e, 0x11, 0x3d, 0x01, 0x39, 0xaf, 0xbd, 0xab, 0xf2, 0x6a, 0x4f, - 0x7f, 0x4c, 0x95, 0x9b, 0x87, 0x59, 0x92, 0x13, 0x74, 0x5a, 0xaf, 0x0c, 0x29, 0xe0, 0xb5, 0x77, - 0x79, 0x31, 0x5e, 0xca, 0x03, 0xbd, 0x83, 0x52, 0xe9, 0x6f, 0xa0, 0x4b, 0x6f, 0x48, 0x90, 0xdd, - 0xbe, 0x61, 0xd3, 0x4f, 0xf9, 0xde, 0x8f, 0x79, 0x72, 0x85, 0xd3, 0x67, 0x17, 0xe8, 0xd7, 0xd6, - 0xec, 0x15, 0x49, 0x11, 0x82, 0x50, 0xb7, 0x58, 0x7c, 0x90, 0x0e, 0x28, 0xd0, 0x2d, 0xa2, 0x39, - 0xc8, 0x47, 0x06, 0x34, 0x4f, 0x7f, 0xe6, 0xd4, 0x39, 0x22, 0x49, 0xc9, 0x85, 0x23, 0x9a, 0x5f, - 0x4a, 0x03, 0x49, 0x7b, 0xf2, 0x8f, 0x7f, 0xc3, 0x2e, 0x7d, 0x36, 0x01, 0x39, 0x76, 0x6d, 0x4d, - 0x47, 0x45, 0x5e, 0xc5, 0x4e, 0x36, 0x07, 0xdc, 0x8d, 0x21, 0x45, 0x08, 0x90, 0x02, 0xc0, 0x4c, - 0x49, 0x86, 0x33, 0x4f, 0x96, 0x9e, 0xfc, 0xa7, 0x37, 0x4f, 0x7d, 0xf4, 0xc8, 0x15, 0x44, 0x62, - 0x37, 0xc7, 0xca, 0xf8, 0xec, 0x8e, 0x61, 0xf9, 0x4f, 0xcd, 0x5f, 0x20, 0x01, 0x0e, 0x59, 0xd0, - 0x0e, 0x64, 0x96, 0x35, 0x8f, 0xfe, 0x40, 0x92, 0xba, 0x9e, 0x5a, 0x3a, 0xff, 0xbf, 0x6f, 0x9e, - 0x3a, 0x1b, 0xc3, 0xc8, 0x2b, 0xec, 0xec, 0xc6, 0x01, 0x61, 0x3d, 0xb7, 0x40, 0xe0, 0x57, 0x86, - 0x94, 0x80, 0x0a, 0xcd, 0x0b, 0x57, 0x37, 0xb5, 0x16, 0xfb, 0x3d, 0x57, 0x72, 0x49, 0x3e, 0x7c, - 0xf3, 0x54, 0x7e, 0xe3, 0x20, 0x94, 0x87, 0xae, 0x90, 0xa7, 0xa5, 0x0c, 0x0c, 0x33, 0x57, 0x97, - 0x56, 0x5e, 0xbf, 0x3d, 0x3d, 0xf4, 0xc6, 0xed, 0xe9, 0xa1, 0x7f, 0xbc, 0x3d, 0x3d, 0xf4, 0xd6, - 0xed, 0x69, 0xe9, 0xdd, 0xdb, 0xd3, 0xd2, 0x7b, 0xb7, 0xa7, 0xa5, 0x5b, 0x87, 0xd3, 0xd2, 0x57, - 0x0e, 0xa7, 0xa5, 0xaf, 0x1d, 0x4e, 0x4b, 0xdf, 0x3a, 0x9c, 0x96, 0x5e, 0x3f, 0x9c, 0x1e, 0x7a, - 0xe3, 0x70, 0x5a, 0x7a, 0xeb, 0x70, 0x5a, 0xfa, 0xc1, 0xe1, 0xf4, 0xd0, 0xbb, 0x87, 0xd3, 0xd2, - 0x7b, 0x87, 0xd3, 0x43, 0xb7, 0xbe, 0x3f, 0x3d, 0xf4, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xdf, - 0x71, 0x95, 0xb1, 0x1a, 0x37, 0x00, 0x00, + // 4295 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xe7, + 0x75, 0xe6, 0xe2, 0x42, 0x02, 0x07, 0x20, 0xb8, 0x5c, 0xd2, 0x32, 0x44, 0xdb, 0x90, 0x04, 0xdb, + 0x31, 0x7d, 0x23, 0x6d, 0x8a, 0xd4, 0x05, 0x6a, 0xe2, 0x82, 0x24, 0x44, 0xd1, 0x25, 0x09, 0x66, + 0x41, 0xc6, 0x97, 0x4c, 0x67, 0x67, 0xb9, 0xf8, 0x09, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, 0x24, + 0x43, 0xd3, 0x07, 0x75, 0xdc, 0xcb, 0x64, 0x7a, 0x4f, 0x3b, 0xd3, 0xc4, 0x75, 0xdc, 0x26, 0x9d, + 0xc6, 0x69, 0x7a, 0x4b, 0x7a, 0x49, 0x93, 0xf4, 0xa5, 0x2f, 0x69, 0xfd, 0xd4, 0x71, 0xde, 0x3a, + 0x9d, 0x8e, 0xc7, 0x62, 0x3c, 0xd3, 0xb4, 0x75, 0x5b, 0xb7, 0xd5, 0x83, 0xa7, 0xee, 0x43, 0xe7, + 0xbf, 0xed, 0x05, 0x00, 0xb5, 0x60, 0xa6, 0x76, 0x9e, 0xc4, 0x3d, 0xe7, 0x7c, 0xdf, 0x9e, 0xff, + 0xfc, 0xe7, 0x3f, 0xff, 0xf9, 0xff, 0x85, 0xe0, 0x8d, 0x0a, 0x9c, 0x6e, 0x59, 0x56, 0xcb, 0x40, + 0xf3, 0xb6, 0x63, 0x79, 0xd6, 0x5e, 0x67, 0x7f, 0xbe, 0x89, 0x5c, 0xcd, 0xd1, 0x6d, 0xcf, 0x72, + 0xe6, 0x88, 0x4c, 0x9a, 0xa0, 0x16, 0x73, 0xdc, 0xa2, 0xbc, 0x09, 0x93, 0x97, 0x75, 0x03, 0xad, + 0xfa, 0x86, 0x0d, 0xe4, 0x49, 0x17, 0x20, 0xb5, 0xaf, 0x1b, 0xa8, 0x28, 0x9c, 0x4e, 0xce, 0xe6, + 0x16, 0x1e, 0x9a, 0xeb, 0x01, 0xcd, 0x45, 0x11, 0xdb, 0x58, 0x2c, 0x13, 0x44, 0xf9, 0x9d, 0x14, + 0x4c, 0x0d, 0xd0, 0x4a, 0x12, 0xa4, 0x4c, 0xb5, 0x8d, 0x19, 0x85, 0xd9, 0xac, 0x4c, 0xfe, 0x96, + 0x8a, 0x30, 0x66, 0xab, 0xda, 0x35, 0xb5, 0x85, 0x8a, 0x09, 0x22, 0xe6, 0x8f, 0x52, 0x09, 0xa0, + 0x89, 0x6c, 0x64, 0x36, 0x91, 0xa9, 0x75, 0x8b, 0xc9, 0xd3, 0xc9, 0xd9, 0xac, 0x1c, 0x92, 0x48, + 0x8f, 0xc3, 0xa4, 0xdd, 0xd9, 0x33, 0x74, 0x4d, 0x09, 0x99, 0xc1, 0xe9, 0xe4, 0x6c, 0x5a, 0x16, + 0xa9, 0x62, 0x35, 0x30, 0x7e, 0x04, 0x26, 0x6e, 0x20, 0xf5, 0x5a, 0xd8, 0x34, 0x47, 0x4c, 0x0b, + 0x58, 0x1c, 0x32, 0x5c, 0x81, 0x7c, 0x1b, 0xb9, 0xae, 0xda, 0x42, 0x8a, 0xd7, 0xb5, 0x51, 0x31, + 0x45, 0x46, 0x7f, 0xba, 0x6f, 0xf4, 0xbd, 0x23, 0xcf, 0x31, 0xd4, 0x4e, 0xd7, 0x46, 0x52, 0x15, + 0xb2, 0xc8, 0xec, 0xb4, 0x29, 0x43, 0xfa, 0x88, 0xf8, 0xd5, 0xcc, 0x4e, 0xbb, 0x97, 0x25, 0x83, + 0x61, 0x8c, 0x62, 0xcc, 0x45, 0xce, 0x75, 0x5d, 0x43, 0xc5, 0x51, 0x42, 0xf0, 0x48, 0x1f, 0x41, + 0x83, 0xea, 0x7b, 0x39, 0x38, 0x4e, 0x5a, 0x81, 0x2c, 0x7a, 0xc9, 0x43, 0xa6, 0xab, 0x5b, 0x66, + 0x71, 0x8c, 0x90, 0x3c, 0x3c, 0x60, 0x16, 0x91, 0xd1, 0xec, 0xa5, 0x08, 0x70, 0xd2, 0x39, 0x18, + 0xb3, 0x6c, 0x4f, 0xb7, 0x4c, 0xb7, 0x98, 0x39, 0x2d, 0xcc, 0xe6, 0x16, 0xee, 0x1f, 0x98, 0x08, + 0x75, 0x6a, 0x23, 0x73, 0x63, 0x69, 0x1d, 0x44, 0xd7, 0xea, 0x38, 0x1a, 0x52, 0x34, 0xab, 0x89, + 0x14, 0xdd, 0xdc, 0xb7, 0x8a, 0x59, 0x42, 0x70, 0xaa, 0x7f, 0x20, 0xc4, 0x70, 0xc5, 0x6a, 0xa2, + 0x75, 0x73, 0xdf, 0x92, 0x0b, 0x6e, 0xe4, 0x59, 0x3a, 0x01, 0xa3, 0x6e, 0xd7, 0xf4, 0xd4, 0x97, + 0x8a, 0x79, 0x92, 0x21, 0xec, 0xa9, 0xfc, 0xed, 0x51, 0x98, 0x18, 0x26, 0xc5, 0x2e, 0x41, 0x7a, + 0x1f, 0x8f, 0xb2, 0x98, 0x38, 0x4e, 0x0c, 0x28, 0x26, 0x1a, 0xc4, 0xd1, 0x1f, 0x32, 0x88, 0x55, + 0xc8, 0x99, 0xc8, 0xf5, 0x50, 0x93, 0x66, 0x44, 0x72, 0xc8, 0x9c, 0x02, 0x0a, 0xea, 0x4f, 0xa9, + 0xd4, 0x0f, 0x95, 0x52, 0xcf, 0xc3, 0x84, 0xef, 0x92, 0xe2, 0xa8, 0x66, 0x8b, 0xe7, 0xe6, 0x7c, + 0x9c, 0x27, 0x73, 0x35, 0x8e, 0x93, 0x31, 0x4c, 0x2e, 0xa0, 0xc8, 0xb3, 0xb4, 0x0a, 0x60, 0x99, + 0xc8, 0xda, 0x57, 0x9a, 0x48, 0x33, 0x8a, 0x99, 0x23, 0xa2, 0x54, 0xc7, 0x26, 0x7d, 0x51, 0xb2, + 0xa8, 0x54, 0x33, 0xa4, 0x8b, 0x41, 0xaa, 0x8d, 0x1d, 0x91, 0x29, 0x9b, 0x74, 0x91, 0xf5, 0x65, + 0xdb, 0x2e, 0x14, 0x1c, 0x84, 0xf3, 0x1e, 0x35, 0xd9, 0xc8, 0xb2, 0xc4, 0x89, 0xb9, 0xd8, 0x91, + 0xc9, 0x0c, 0x46, 0x07, 0x36, 0xee, 0x84, 0x1f, 0xa5, 0x07, 0xc1, 0x17, 0x28, 0x24, 0xad, 0x80, + 0x54, 0xa1, 0x3c, 0x17, 0x6e, 0xa9, 0x6d, 0x34, 0x73, 0x13, 0x0a, 0xd1, 0xf0, 0x48, 0xd3, 0x90, + 0x76, 0x3d, 0xd5, 0xf1, 0x48, 0x16, 0xa6, 0x65, 0xfa, 0x20, 0x89, 0x90, 0x44, 0x66, 0x93, 0x54, + 0xb9, 0xb4, 0x8c, 0xff, 0x94, 0x7e, 0x3c, 0x18, 0x70, 0x92, 0x0c, 0xf8, 0x63, 0xfd, 0x33, 0x1a, + 0x61, 0xee, 0x1d, 0xf7, 0xcc, 0x79, 0x18, 0x8f, 0x0c, 0x60, 0xd8, 0x57, 0x97, 0x7f, 0x0a, 0xee, + 0x19, 0x48, 0x2d, 0x3d, 0x0f, 0xd3, 0x1d, 0x53, 0x37, 0x3d, 0xe4, 0xd8, 0x0e, 0xc2, 0x19, 0x4b, + 0x5f, 0x55, 0xfc, 0xa7, 0xb1, 0x23, 0x72, 0x6e, 0x37, 0x6c, 0x4d, 0x59, 0xe4, 0xa9, 0x4e, 0xbf, + 0xf0, 0xb1, 0x6c, 0xe6, 0x07, 0x63, 0xe2, 0xad, 0x5b, 0xb7, 0x6e, 0x25, 0xca, 0x9f, 0x1f, 0x85, + 0xe9, 0x41, 0x6b, 0x66, 0xe0, 0xf2, 0x3d, 0x01, 0xa3, 0x66, 0xa7, 0xbd, 0x87, 0x1c, 0x12, 0xa4, + 0xb4, 0xcc, 0x9e, 0xa4, 0x2a, 0xa4, 0x0d, 0x75, 0x0f, 0x19, 0xc5, 0xd4, 0x69, 0x61, 0xb6, 0xb0, + 0xf0, 0xf8, 0x50, 0xab, 0x72, 0x6e, 0x03, 0x43, 0x64, 0x8a, 0x94, 0x3e, 0x01, 0x29, 0x56, 0xa2, + 0x31, 0xc3, 0x63, 0xc3, 0x31, 0xe0, 0xb5, 0x24, 0x13, 0x9c, 0x74, 0x1f, 0x64, 0xf1, 0xbf, 0x34, + 0x37, 0x46, 0x89, 0xcf, 0x19, 0x2c, 0xc0, 0x79, 0x21, 0xcd, 0x40, 0x86, 0x2c, 0x93, 0x26, 0xe2, + 0x5b, 0x9b, 0xff, 0x8c, 0x13, 0xab, 0x89, 0xf6, 0xd5, 0x8e, 0xe1, 0x29, 0xd7, 0x55, 0xa3, 0x83, + 0x48, 0xc2, 0x67, 0xe5, 0x3c, 0x13, 0x7e, 0x0a, 0xcb, 0xa4, 0x53, 0x90, 0xa3, 0xab, 0x4a, 0x37, + 0x9b, 0xe8, 0x25, 0x52, 0x3d, 0xd3, 0x32, 0x5d, 0x68, 0xeb, 0x58, 0x82, 0x5f, 0x7f, 0xd5, 0xb5, + 0x4c, 0x9e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0x7f, 0xbe, 0xb7, 0x70, 0x3f, 0x30, 0x78, 0x78, + 0xbd, 0x39, 0x55, 0xfe, 0x66, 0x02, 0x52, 0xa4, 0x5e, 0x4c, 0x40, 0x6e, 0xe7, 0x85, 0xed, 0x9a, + 0xb2, 0x5a, 0xdf, 0x5d, 0xde, 0xa8, 0x89, 0x82, 0x54, 0x00, 0x20, 0x82, 0xcb, 0x1b, 0xf5, 0xea, + 0x8e, 0x98, 0xf0, 0x9f, 0xd7, 0xb7, 0x76, 0xce, 0x2d, 0x8a, 0x49, 0x1f, 0xb0, 0x4b, 0x05, 0xa9, + 0xb0, 0xc1, 0xd9, 0x05, 0x31, 0x2d, 0x89, 0x90, 0xa7, 0x04, 0xeb, 0xcf, 0xd7, 0x56, 0xcf, 0x2d, + 0x8a, 0xa3, 0x51, 0xc9, 0xd9, 0x05, 0x71, 0x4c, 0x1a, 0x87, 0x2c, 0x91, 0x2c, 0xd7, 0xeb, 0x1b, + 0x62, 0xc6, 0xe7, 0x6c, 0xec, 0xc8, 0xeb, 0x5b, 0x6b, 0x62, 0xd6, 0xe7, 0x5c, 0x93, 0xeb, 0xbb, + 0xdb, 0x22, 0xf8, 0x0c, 0x9b, 0xb5, 0x46, 0xa3, 0xba, 0x56, 0x13, 0x73, 0xbe, 0xc5, 0xf2, 0x0b, + 0x3b, 0xb5, 0x86, 0x98, 0x8f, 0xb8, 0x75, 0x76, 0x41, 0x1c, 0xf7, 0x5f, 0x51, 0xdb, 0xda, 0xdd, + 0x14, 0x0b, 0xd2, 0x24, 0x8c, 0xd3, 0x57, 0x70, 0x27, 0x26, 0x7a, 0x44, 0xe7, 0x16, 0x45, 0x31, + 0x70, 0x84, 0xb2, 0x4c, 0x46, 0x04, 0xe7, 0x16, 0x45, 0xa9, 0xbc, 0x02, 0x69, 0x92, 0x5d, 0x92, + 0x04, 0x85, 0x8d, 0xea, 0x72, 0x6d, 0x43, 0xa9, 0x6f, 0xef, 0xac, 0xd7, 0xb7, 0xaa, 0x1b, 0xa2, + 0x10, 0xc8, 0xe4, 0xda, 0x27, 0x77, 0xd7, 0xe5, 0xda, 0xaa, 0x98, 0x08, 0xcb, 0xb6, 0x6b, 0xd5, + 0x9d, 0xda, 0xaa, 0x98, 0x2c, 0x6b, 0x30, 0x3d, 0xa8, 0x4e, 0x0e, 0x5c, 0x19, 0xa1, 0x29, 0x4e, + 0x1c, 0x31, 0xc5, 0x84, 0xab, 0x6f, 0x8a, 0xbf, 0x9f, 0x80, 0xa9, 0x01, 0x7b, 0xc5, 0xc0, 0x97, + 0x3c, 0x03, 0x69, 0x9a, 0xa2, 0x74, 0xf7, 0x7c, 0x74, 0xe0, 0xa6, 0x43, 0x12, 0xb6, 0x6f, 0x07, + 0x25, 0xb8, 0x70, 0x07, 0x91, 0x3c, 0xa2, 0x83, 0xc0, 0x14, 0x7d, 0x35, 0xfd, 0x27, 0xfb, 0x6a, + 0x3a, 0xdd, 0xf6, 0xce, 0x0d, 0xb3, 0xed, 0x11, 0xd9, 0xf1, 0x6a, 0x7b, 0x7a, 0x40, 0x6d, 0xbf, + 0x04, 0x93, 0x7d, 0x44, 0x43, 0xd7, 0xd8, 0x97, 0x05, 0x28, 0x1e, 0x15, 0x9c, 0x98, 0x4a, 0x97, + 0x88, 0x54, 0xba, 0x4b, 0xbd, 0x11, 0x3c, 0x73, 0xf4, 0x24, 0xf4, 0xcd, 0xf5, 0xeb, 0x02, 0x9c, + 0x18, 0xdc, 0x29, 0x0e, 0xf4, 0xe1, 0x13, 0x30, 0xda, 0x46, 0xde, 0x81, 0xc5, 0xbb, 0xa5, 0x8f, + 0x0d, 0xd8, 0x83, 0xb1, 0xba, 0x77, 0xb2, 0x19, 0x2a, 0xbc, 0x89, 0x27, 0x8f, 0x6a, 0xf7, 0xa8, + 0x37, 0x7d, 0x9e, 0x7e, 0x36, 0x01, 0xf7, 0x0c, 0x24, 0x1f, 0xe8, 0xe8, 0x03, 0x00, 0xba, 0x69, + 0x77, 0x3c, 0xda, 0x11, 0xd1, 0x02, 0x9b, 0x25, 0x12, 0x52, 0xbc, 0x70, 0xf1, 0xec, 0x78, 0xbe, + 0x3e, 0x49, 0xf4, 0x40, 0x45, 0xc4, 0xe0, 0x42, 0xe0, 0x68, 0x8a, 0x38, 0x5a, 0x3a, 0x62, 0xa4, + 0x7d, 0x89, 0xf9, 0x14, 0x88, 0x9a, 0xa1, 0x23, 0xd3, 0x53, 0x5c, 0xcf, 0x41, 0x6a, 0x5b, 0x37, + 0x5b, 0x64, 0x07, 0xc9, 0x54, 0xd2, 0xfb, 0xaa, 0xe1, 0x22, 0x79, 0x82, 0xaa, 0x1b, 0x5c, 0x8b, + 0x11, 0x24, 0x81, 0x9c, 0x10, 0x62, 0x34, 0x82, 0xa0, 0x6a, 0x1f, 0x51, 0xfe, 0xc5, 0x2c, 0xe4, + 0x42, 0x7d, 0xb5, 0x74, 0x06, 0xf2, 0x57, 0xd5, 0xeb, 0xaa, 0xc2, 0xcf, 0x4a, 0x34, 0x12, 0x39, + 0x2c, 0xdb, 0x66, 0xe7, 0xa5, 0xa7, 0x60, 0x9a, 0x98, 0x58, 0x1d, 0x0f, 0x39, 0x8a, 0x66, 0xa8, + 0xae, 0x4b, 0x82, 0x96, 0x21, 0xa6, 0x12, 0xd6, 0xd5, 0xb1, 0x6a, 0x85, 0x6b, 0xa4, 0x25, 0x98, + 0x22, 0x88, 0x76, 0xc7, 0xf0, 0x74, 0xdb, 0x40, 0x0a, 0x3e, 0xbd, 0xb9, 0x64, 0x27, 0xf1, 0x3d, + 0x9b, 0xc4, 0x16, 0x9b, 0xcc, 0x00, 0x7b, 0xe4, 0x4a, 0xab, 0xf0, 0x00, 0x81, 0xb5, 0x90, 0x89, + 0x1c, 0xd5, 0x43, 0x0a, 0xfa, 0x4c, 0x47, 0x35, 0x5c, 0x45, 0x35, 0x9b, 0xca, 0x81, 0xea, 0x1e, + 0x14, 0xa7, 0x31, 0xc1, 0x72, 0xa2, 0x28, 0xc8, 0x27, 0xb1, 0xe1, 0x1a, 0xb3, 0xab, 0x11, 0xb3, + 0xaa, 0xd9, 0xbc, 0xa2, 0xba, 0x07, 0x52, 0x05, 0x4e, 0x10, 0x16, 0xd7, 0x73, 0x74, 0xb3, 0xa5, + 0x68, 0x07, 0x48, 0xbb, 0xa6, 0x74, 0xbc, 0xfd, 0x0b, 0xc5, 0xfb, 0xc2, 0xef, 0x27, 0x1e, 0x36, + 0x88, 0xcd, 0x0a, 0x36, 0xd9, 0xf5, 0xf6, 0x2f, 0x48, 0x0d, 0xc8, 0xe3, 0xc9, 0x68, 0xeb, 0x37, + 0x91, 0xb2, 0x6f, 0x39, 0x64, 0x6b, 0x2c, 0x0c, 0x28, 0x4d, 0xa1, 0x08, 0xce, 0xd5, 0x19, 0x60, + 0xd3, 0x6a, 0xa2, 0x4a, 0xba, 0xb1, 0x5d, 0xab, 0xad, 0xca, 0x39, 0xce, 0x72, 0xd9, 0x72, 0x70, + 0x42, 0xb5, 0x2c, 0x3f, 0xc0, 0x39, 0x9a, 0x50, 0x2d, 0x8b, 0x87, 0x77, 0x09, 0xa6, 0x34, 0x8d, + 0x8e, 0x59, 0xd7, 0x14, 0x76, 0xc6, 0x72, 0x8b, 0x62, 0x24, 0x58, 0x9a, 0xb6, 0x46, 0x0d, 0x58, + 0x8e, 0xbb, 0xd2, 0x45, 0xb8, 0x27, 0x08, 0x56, 0x18, 0x38, 0xd9, 0x37, 0xca, 0x5e, 0xe8, 0x12, + 0x4c, 0xd9, 0xdd, 0x7e, 0xa0, 0x14, 0x79, 0xa3, 0xdd, 0xed, 0x85, 0x9d, 0x87, 0x69, 0xfb, 0xc0, + 0xee, 0xc7, 0x3d, 0x16, 0xc6, 0x49, 0xf6, 0x81, 0xdd, 0x0b, 0x7c, 0x98, 0x1c, 0xb8, 0x1d, 0xa4, + 0xa9, 0x1e, 0x6a, 0x16, 0xef, 0x0d, 0x9b, 0x87, 0x14, 0xd2, 0x3c, 0x88, 0x9a, 0xa6, 0x20, 0x53, + 0xdd, 0x33, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xe2, 0xa9, 0xb0, 0x71, 0x41, 0xd3, 0x6a, 0x44, + 0x5b, 0x25, 0x4a, 0xe9, 0x31, 0x98, 0xb4, 0xf6, 0xae, 0x6a, 0x34, 0x25, 0x15, 0xdb, 0x41, 0xfb, + 0xfa, 0x4b, 0xc5, 0x87, 0x48, 0x7c, 0x27, 0xb0, 0x82, 0x24, 0xe4, 0x36, 0x11, 0x4b, 0x8f, 0x82, + 0xa8, 0xb9, 0x07, 0xaa, 0x63, 0x93, 0x9a, 0xec, 0xda, 0xaa, 0x86, 0x8a, 0x0f, 0x53, 0x53, 0x2a, + 0xdf, 0xe2, 0x62, 0xbc, 0x24, 0xdc, 0x1b, 0xfa, 0xbe, 0xc7, 0x19, 0x1f, 0xa1, 0x4b, 0x82, 0xc8, + 0x18, 0xdb, 0x2c, 0x88, 0x38, 0x14, 0x91, 0x17, 0xcf, 0x12, 0xb3, 0x82, 0x7d, 0x60, 0x87, 0xdf, + 0xfb, 0x20, 0x8c, 0x63, 0xcb, 0xe0, 0xa5, 0x8f, 0xd2, 0x86, 0xcc, 0x3e, 0x08, 0xbd, 0x71, 0x11, + 0x4e, 0x60, 0xa3, 0x36, 0xf2, 0xd4, 0xa6, 0xea, 0xa9, 0x21, 0xeb, 0x27, 0x88, 0x35, 0x8e, 0xfb, + 0x26, 0x53, 0x46, 0xfc, 0x74, 0x3a, 0x7b, 0x5d, 0x3f, 0xb3, 0x9e, 0xa4, 0x7e, 0x62, 0x19, 0xcf, + 0xad, 0x0f, 0xad, 0xe9, 0x2e, 0x57, 0x20, 0x1f, 0x4e, 0x7c, 0x29, 0x0b, 0x34, 0xf5, 0x45, 0x01, + 0x77, 0x41, 0x2b, 0xf5, 0x55, 0xdc, 0xbf, 0xbc, 0x58, 0x13, 0x13, 0xb8, 0x8f, 0xda, 0x58, 0xdf, + 0xa9, 0x29, 0xf2, 0xee, 0xd6, 0xce, 0xfa, 0x66, 0x4d, 0x4c, 0x86, 0x1b, 0xf6, 0xef, 0x26, 0xa0, + 0x10, 0x3d, 0x7b, 0x49, 0x3f, 0x06, 0xf7, 0xf2, 0x8b, 0x12, 0x17, 0x79, 0xca, 0x0d, 0xdd, 0x21, + 0x6b, 0xb1, 0xad, 0xd2, 0x7d, 0xd1, 0xcf, 0x86, 0x69, 0x66, 0xd5, 0x40, 0xde, 0x73, 0xba, 0x83, + 0x57, 0x5a, 0x5b, 0xf5, 0xa4, 0x0d, 0x38, 0x65, 0x5a, 0x8a, 0xeb, 0xa9, 0x66, 0x53, 0x75, 0x9a, + 0x4a, 0x70, 0x45, 0xa5, 0xa8, 0x9a, 0x86, 0x5c, 0xd7, 0xa2, 0x7b, 0xa0, 0xcf, 0x72, 0xbf, 0x69, + 0x35, 0x98, 0x71, 0xb0, 0x39, 0x54, 0x99, 0x69, 0x4f, 0xe6, 0x26, 0x8f, 0xca, 0xdc, 0xfb, 0x20, + 0xdb, 0x56, 0x6d, 0x05, 0x99, 0x9e, 0xd3, 0x25, 0x1d, 0x77, 0x46, 0xce, 0xb4, 0x55, 0xbb, 0x86, + 0x9f, 0x3f, 0x9a, 0x83, 0xcf, 0x3f, 0x26, 0x21, 0x1f, 0xee, 0xba, 0xf1, 0x21, 0x46, 0x23, 0x1b, + 0x94, 0x40, 0x4a, 0xd8, 0x83, 0x77, 0xed, 0xd1, 0xe7, 0x56, 0xf0, 0xce, 0x55, 0x19, 0xa5, 0xbd, + 0xb0, 0x4c, 0x91, 0xb8, 0x6b, 0xc0, 0xa9, 0x85, 0x68, 0xef, 0x91, 0x91, 0xd9, 0x93, 0xb4, 0x06, + 0xa3, 0x57, 0x5d, 0xc2, 0x3d, 0x4a, 0xb8, 0x1f, 0xba, 0x3b, 0xf7, 0xb3, 0x0d, 0x42, 0x9e, 0x7d, + 0xb6, 0xa1, 0x6c, 0xd5, 0xe5, 0xcd, 0xea, 0x86, 0xcc, 0xe0, 0xd2, 0x49, 0x48, 0x19, 0xea, 0xcd, + 0x6e, 0x74, 0x8f, 0x23, 0xa2, 0x61, 0x03, 0x7f, 0x12, 0x52, 0x37, 0x90, 0x7a, 0x2d, 0xba, 0xb3, + 0x10, 0xd1, 0x87, 0x98, 0xfa, 0xf3, 0x90, 0x26, 0xf1, 0x92, 0x00, 0x58, 0xc4, 0xc4, 0x11, 0x29, + 0x03, 0xa9, 0x95, 0xba, 0x8c, 0xd3, 0x5f, 0x84, 0x3c, 0x95, 0x2a, 0xdb, 0xeb, 0xb5, 0x95, 0x9a, + 0x98, 0x28, 0x2f, 0xc1, 0x28, 0x0d, 0x02, 0x5e, 0x1a, 0x7e, 0x18, 0xc4, 0x11, 0xf6, 0xc8, 0x38, + 0x04, 0xae, 0xdd, 0xdd, 0x5c, 0xae, 0xc9, 0x62, 0x22, 0x3c, 0xbd, 0x2e, 0xe4, 0xc3, 0x0d, 0xf7, + 0x47, 0x93, 0x53, 0xdf, 0x11, 0x20, 0x17, 0x6a, 0xa0, 0x71, 0xe7, 0xa3, 0x1a, 0x86, 0x75, 0x43, + 0x51, 0x0d, 0x5d, 0x75, 0x59, 0x52, 0x00, 0x11, 0x55, 0xb1, 0x64, 0xd8, 0x49, 0xfb, 0x48, 0x9c, + 0x7f, 0x4d, 0x00, 0xb1, 0xb7, 0x77, 0xed, 0x71, 0x50, 0xf8, 0x91, 0x3a, 0xf8, 0xaa, 0x00, 0x85, + 0x68, 0xc3, 0xda, 0xe3, 0xde, 0x99, 0x1f, 0xa9, 0x7b, 0x6f, 0x27, 0x60, 0x3c, 0xd2, 0xa6, 0x0e, + 0xeb, 0xdd, 0x67, 0x60, 0x52, 0x6f, 0xa2, 0xb6, 0x6d, 0x79, 0xc8, 0xd4, 0xba, 0x8a, 0x81, 0xae, + 0x23, 0xa3, 0x58, 0x26, 0x85, 0x62, 0xfe, 0xee, 0x8d, 0xf0, 0xdc, 0x7a, 0x80, 0xdb, 0xc0, 0xb0, + 0xca, 0xd4, 0xfa, 0x6a, 0x6d, 0x73, 0xbb, 0xbe, 0x53, 0xdb, 0x5a, 0x79, 0x41, 0xd9, 0xdd, 0xfa, + 0x89, 0xad, 0xfa, 0x73, 0x5b, 0xb2, 0xa8, 0xf7, 0x98, 0x7d, 0x88, 0x4b, 0x7d, 0x1b, 0xc4, 0x5e, + 0xa7, 0xa4, 0x7b, 0x61, 0x90, 0x5b, 0xe2, 0x88, 0x34, 0x05, 0x13, 0x5b, 0x75, 0xa5, 0xb1, 0xbe, + 0x5a, 0x53, 0x6a, 0x97, 0x2f, 0xd7, 0x56, 0x76, 0x1a, 0xf4, 0x6a, 0xc3, 0xb7, 0xde, 0x89, 0x2e, + 0xea, 0x57, 0x92, 0x30, 0x35, 0xc0, 0x13, 0xa9, 0xca, 0x0e, 0x25, 0xf4, 0x9c, 0xf4, 0xe4, 0x30, + 0xde, 0xcf, 0xe1, 0xae, 0x60, 0x5b, 0x75, 0x3c, 0x76, 0x86, 0x79, 0x14, 0x70, 0x94, 0x4c, 0x4f, + 0xdf, 0xd7, 0x91, 0xc3, 0x6e, 0x82, 0xe8, 0x49, 0x65, 0x22, 0x90, 0xd3, 0xcb, 0xa0, 0x27, 0x40, + 0xb2, 0x2d, 0x57, 0xf7, 0xf4, 0xeb, 0x48, 0xd1, 0x4d, 0x7e, 0x6d, 0x84, 0x4f, 0x2e, 0x29, 0x59, + 0xe4, 0x9a, 0x75, 0xd3, 0xf3, 0xad, 0x4d, 0xd4, 0x52, 0x7b, 0xac, 0x71, 0x01, 0x4f, 0xca, 0x22, + 0xd7, 0xf8, 0xd6, 0x67, 0x20, 0xdf, 0xb4, 0x3a, 0xb8, 0x9d, 0xa3, 0x76, 0x78, 0xbf, 0x10, 0xe4, + 0x1c, 0x95, 0xf9, 0x26, 0xac, 0x51, 0x0f, 0xee, 0xab, 0xf2, 0x72, 0x8e, 0xca, 0xa8, 0xc9, 0x23, + 0x30, 0xa1, 0xb6, 0x5a, 0x0e, 0x26, 0xe7, 0x44, 0xf4, 0xe8, 0x51, 0xf0, 0xc5, 0xc4, 0x70, 0xe6, + 0x59, 0xc8, 0xf0, 0x38, 0xe0, 0x2d, 0x19, 0x47, 0x42, 0xb1, 0xe9, 0x79, 0x3a, 0x31, 0x9b, 0x95, + 0x33, 0x26, 0x57, 0x9e, 0x81, 0xbc, 0xee, 0x2a, 0xc1, 0xf5, 0x7b, 0xe2, 0x74, 0x62, 0x36, 0x23, + 0xe7, 0x74, 0xd7, 0xbf, 0xba, 0x2c, 0xbf, 0x9e, 0x80, 0x42, 0xf4, 0xf3, 0x81, 0xb4, 0x0a, 0x19, + 0xc3, 0xd2, 0x54, 0x92, 0x5a, 0xf4, 0xdb, 0xd5, 0x6c, 0xcc, 0x17, 0x87, 0xb9, 0x0d, 0x66, 0x2f, + 0xfb, 0xc8, 0x99, 0xbf, 0x13, 0x20, 0xc3, 0xc5, 0xd2, 0x09, 0x48, 0xd9, 0xaa, 0x77, 0x40, 0xe8, + 0xd2, 0xcb, 0x09, 0x51, 0x90, 0xc9, 0x33, 0x96, 0xbb, 0xb6, 0x6a, 0x92, 0x14, 0x60, 0x72, 0xfc, + 0x8c, 0xe7, 0xd5, 0x40, 0x6a, 0x93, 0x9c, 0x6b, 0xac, 0x76, 0x1b, 0x99, 0x9e, 0xcb, 0xe7, 0x95, + 0xc9, 0x57, 0x98, 0x58, 0x7a, 0x1c, 0x26, 0x3d, 0x47, 0xd5, 0x8d, 0x88, 0x6d, 0x8a, 0xd8, 0x8a, + 0x5c, 0xe1, 0x1b, 0x57, 0xe0, 0x24, 0xe7, 0x6d, 0x22, 0x4f, 0xd5, 0x0e, 0x50, 0x33, 0x00, 0x8d, + 0x92, 0xfb, 0x8b, 0x7b, 0x99, 0xc1, 0x2a, 0xd3, 0x73, 0x6c, 0xf9, 0x7b, 0x02, 0x4c, 0xf2, 0x93, + 0x58, 0xd3, 0x0f, 0xd6, 0x26, 0x80, 0x6a, 0x9a, 0x96, 0x17, 0x0e, 0x57, 0x7f, 0x2a, 0xf7, 0xe1, + 0xe6, 0xaa, 0x3e, 0x48, 0x0e, 0x11, 0xcc, 0xb4, 0x01, 0x02, 0xcd, 0x91, 0x61, 0x3b, 0x05, 0x39, + 0xf6, 0x6d, 0x88, 0x7c, 0x60, 0xa4, 0x67, 0x77, 0xa0, 0x22, 0x7c, 0x64, 0x93, 0xa6, 0x21, 0xbd, + 0x87, 0x5a, 0xba, 0xc9, 0x6e, 0x7c, 0xe9, 0x03, 0xbf, 0x61, 0x49, 0xf9, 0x37, 0x2c, 0xcb, 0x9f, + 0x86, 0x29, 0xcd, 0x6a, 0xf7, 0xba, 0xbb, 0x2c, 0xf6, 0xdc, 0x1f, 0xb8, 0x57, 0x84, 0x17, 0x21, + 0x68, 0x31, 0xdf, 0x17, 0x84, 0x2f, 0x27, 0x92, 0x6b, 0xdb, 0xcb, 0x5f, 0x4b, 0xcc, 0xac, 0x51, + 0xe8, 0x36, 0x1f, 0xa9, 0x8c, 0xf6, 0x0d, 0xa4, 0x61, 0xef, 0xe1, 0x2b, 0x8f, 0xc3, 0x93, 0x2d, + 0xdd, 0x3b, 0xe8, 0xec, 0xcd, 0x69, 0x56, 0x7b, 0xbe, 0x65, 0xb5, 0xac, 0xe0, 0x9b, 0x2a, 0x7e, + 0x22, 0x0f, 0xe4, 0x2f, 0xf6, 0x5d, 0x35, 0xeb, 0x4b, 0x67, 0x62, 0x3f, 0xc2, 0x56, 0xb6, 0x60, + 0x8a, 0x19, 0x2b, 0xe4, 0xc3, 0x0e, 0x3d, 0x9e, 0x48, 0x77, 0xbd, 0x1c, 0x2b, 0x7e, 0xe3, 0x1d, + 0xb2, 0x5d, 0xcb, 0x93, 0x0c, 0x8a, 0x75, 0xf4, 0x04, 0x53, 0x91, 0xe1, 0x9e, 0x08, 0x1f, 0x5d, + 0x9a, 0xc8, 0x89, 0x61, 0xfc, 0x2e, 0x63, 0x9c, 0x0a, 0x31, 0x36, 0x18, 0xb4, 0xb2, 0x02, 0xe3, + 0xc7, 0xe1, 0xfa, 0x1b, 0xc6, 0x95, 0x47, 0x61, 0x92, 0x35, 0x98, 0x20, 0x24, 0x5a, 0xc7, 0xf5, + 0xac, 0x36, 0xa9, 0x7b, 0x77, 0xa7, 0xf9, 0xdb, 0x77, 0xe8, 0x5a, 0x29, 0x60, 0xd8, 0x8a, 0x8f, + 0xaa, 0x54, 0x80, 0x7c, 0xcb, 0x6a, 0x22, 0xcd, 0x88, 0x61, 0x78, 0x83, 0x39, 0xe2, 0xdb, 0x57, + 0x3e, 0x05, 0xd3, 0xf8, 0x6f, 0x52, 0x96, 0xc2, 0x9e, 0xc4, 0xdf, 0xa4, 0x15, 0xbf, 0xf7, 0x32, + 0x5d, 0x8e, 0x53, 0x3e, 0x41, 0xc8, 0xa7, 0xd0, 0x2c, 0xb6, 0x90, 0xe7, 0x21, 0xc7, 0x55, 0x54, + 0x63, 0x90, 0x7b, 0xa1, 0xab, 0x88, 0xe2, 0x17, 0xde, 0x8d, 0xce, 0xe2, 0x1a, 0x45, 0x56, 0x0d, + 0xa3, 0xb2, 0x0b, 0xf7, 0x0e, 0xc8, 0x8a, 0x21, 0x38, 0x5f, 0x61, 0x9c, 0xd3, 0x7d, 0x99, 0x81, + 0x69, 0xb7, 0x81, 0xcb, 0xfd, 0xb9, 0x1c, 0x82, 0xf3, 0xb7, 0x18, 0xa7, 0xc4, 0xb0, 0x7c, 0x4a, + 0x31, 0xe3, 0xb3, 0x30, 0x79, 0x1d, 0x39, 0x7b, 0x96, 0xcb, 0xae, 0x7f, 0x86, 0xa0, 0x7b, 0x95, + 0xd1, 0x4d, 0x30, 0x20, 0xb9, 0x0f, 0xc2, 0x5c, 0x17, 0x21, 0xb3, 0xaf, 0x6a, 0x68, 0x08, 0x8a, + 0x2f, 0x32, 0x8a, 0x31, 0x6c, 0x8f, 0xa1, 0x55, 0xc8, 0xb7, 0x2c, 0xb6, 0x33, 0xc5, 0xc3, 0x5f, + 0x63, 0xf0, 0x1c, 0xc7, 0x30, 0x0a, 0xdb, 0xb2, 0x3b, 0x06, 0xde, 0xb6, 0xe2, 0x29, 0x7e, 0x9b, + 0x53, 0x70, 0x0c, 0xa3, 0x38, 0x46, 0x58, 0x7f, 0x87, 0x53, 0xb8, 0xa1, 0x78, 0x3e, 0x03, 0x39, + 0xcb, 0x34, 0xba, 0x96, 0x39, 0x8c, 0x13, 0x5f, 0x62, 0x0c, 0xc0, 0x20, 0x98, 0xe0, 0x12, 0x64, + 0x87, 0x9d, 0x88, 0xdf, 0x7b, 0x97, 0x2f, 0x0f, 0x3e, 0x03, 0x6b, 0x30, 0xc1, 0x0b, 0x94, 0x6e, + 0x99, 0x43, 0x50, 0x7c, 0x85, 0x51, 0x14, 0x42, 0x30, 0x36, 0x0c, 0x0f, 0xb9, 0x5e, 0x0b, 0x0d, + 0x43, 0xf2, 0x3a, 0x1f, 0x06, 0x83, 0xb0, 0x50, 0xee, 0x21, 0x53, 0x3b, 0x18, 0x8e, 0xe1, 0xab, + 0x3c, 0x94, 0x1c, 0x83, 0x29, 0x56, 0x60, 0xbc, 0xad, 0x3a, 0xee, 0x81, 0x6a, 0x0c, 0x35, 0x1d, + 0xbf, 0xcf, 0x38, 0xf2, 0x3e, 0x88, 0x45, 0xa4, 0x63, 0x1e, 0x87, 0xe6, 0x6b, 0x3c, 0x22, 0x21, + 0x18, 0x5b, 0x7a, 0xae, 0x47, 0xee, 0xca, 0x8e, 0xc3, 0xf6, 0x07, 0x7c, 0xe9, 0x51, 0xec, 0x66, + 0x98, 0xf1, 0x12, 0x64, 0x5d, 0xfd, 0xe6, 0x50, 0x34, 0x7f, 0xc8, 0x67, 0x9a, 0x00, 0x30, 0xf8, + 0x05, 0x38, 0x39, 0x70, 0x9b, 0x18, 0x82, 0xec, 0x8f, 0x18, 0xd9, 0x89, 0x01, 0x5b, 0x05, 0x2b, + 0x09, 0xc7, 0xa5, 0xfc, 0x63, 0x5e, 0x12, 0x50, 0x0f, 0xd7, 0x36, 0x3e, 0x2b, 0xb8, 0xea, 0xfe, + 0xf1, 0xa2, 0xf6, 0x27, 0x3c, 0x6a, 0x14, 0x1b, 0x89, 0xda, 0x0e, 0x9c, 0x60, 0x8c, 0xc7, 0x9b, + 0xd7, 0xaf, 0xf3, 0xc2, 0x4a, 0xd1, 0xbb, 0xd1, 0xd9, 0xfd, 0x34, 0xcc, 0xf8, 0xe1, 0xe4, 0x4d, + 0xa9, 0xab, 0xb4, 0x55, 0x7b, 0x08, 0xe6, 0x6f, 0x30, 0x66, 0x5e, 0xf1, 0xfd, 0xae, 0xd6, 0xdd, + 0x54, 0x6d, 0x4c, 0xfe, 0x3c, 0x14, 0x39, 0x79, 0xc7, 0x74, 0x90, 0x66, 0xb5, 0x4c, 0xfd, 0x26, + 0x6a, 0x0e, 0x41, 0xfd, 0xa7, 0x3d, 0x53, 0xb5, 0x1b, 0x82, 0x63, 0xe6, 0x75, 0x10, 0xfd, 0x5e, + 0x45, 0xd1, 0xdb, 0xb6, 0xe5, 0x78, 0x31, 0x8c, 0x7f, 0xc6, 0x67, 0xca, 0xc7, 0xad, 0x13, 0x58, + 0xa5, 0x06, 0x05, 0xf2, 0x38, 0x6c, 0x4a, 0xfe, 0x39, 0x23, 0x1a, 0x0f, 0x50, 0xac, 0x70, 0x68, + 0x56, 0xdb, 0x56, 0x9d, 0x61, 0xea, 0xdf, 0x5f, 0xf0, 0xc2, 0xc1, 0x20, 0xac, 0x70, 0x78, 0x5d, + 0x1b, 0xe1, 0xdd, 0x7e, 0x08, 0x86, 0x6f, 0xf2, 0xc2, 0xc1, 0x31, 0x8c, 0x82, 0x37, 0x0c, 0x43, + 0x50, 0xfc, 0x25, 0xa7, 0xe0, 0x18, 0x4c, 0xf1, 0xc9, 0x60, 0xa3, 0x75, 0x50, 0x4b, 0x77, 0x3d, + 0x87, 0xb6, 0xc2, 0x77, 0xa7, 0xfa, 0xd6, 0xbb, 0xd1, 0x26, 0x4c, 0x0e, 0x41, 0x71, 0x25, 0x62, + 0x57, 0xa8, 0xe4, 0xa4, 0x14, 0xef, 0xd8, 0xb7, 0x79, 0x25, 0x0a, 0xc1, 0xb0, 0x6f, 0xa1, 0x0e, + 0x11, 0x87, 0x5d, 0xc3, 0xe7, 0x83, 0x21, 0xe8, 0xbe, 0xd3, 0xe3, 0x5c, 0x83, 0x63, 0x31, 0x67, + 0xa8, 0xff, 0xe9, 0x98, 0xd7, 0x50, 0x77, 0xa8, 0xec, 0xfc, 0xab, 0x9e, 0xfe, 0x67, 0x97, 0x22, + 0x69, 0x0d, 0x99, 0xe8, 0xe9, 0xa7, 0xa4, 0xb8, 0x5f, 0x01, 0x15, 0x7f, 0xfa, 0x0e, 0x1b, 0x6f, + 0xb4, 0x9d, 0xaa, 0x6c, 0xe0, 0x24, 0x8f, 0x36, 0x3d, 0xf1, 0x64, 0x2f, 0xdf, 0xf1, 0xf3, 0x3c, + 0xd2, 0xf3, 0x54, 0x2e, 0xc3, 0x78, 0xa4, 0xe1, 0x89, 0xa7, 0xfa, 0x19, 0x46, 0x95, 0x0f, 0xf7, + 0x3b, 0x95, 0x25, 0x48, 0xe1, 0xe6, 0x25, 0x1e, 0xfe, 0xb3, 0x0c, 0x4e, 0xcc, 0x2b, 0x1f, 0x87, + 0x0c, 0x6f, 0x5a, 0xe2, 0xa1, 0x3f, 0xc7, 0xa0, 0x3e, 0x04, 0xc3, 0x79, 0xc3, 0x12, 0x0f, 0xff, + 0x79, 0x0e, 0xe7, 0x10, 0x0c, 0x1f, 0x3e, 0x84, 0x7f, 0xfd, 0x0b, 0x29, 0xb6, 0xe9, 0xf0, 0xd8, + 0x5d, 0x82, 0x31, 0xd6, 0xa9, 0xc4, 0xa3, 0x3f, 0xcb, 0x5e, 0xce, 0x11, 0x95, 0xf3, 0x90, 0x1e, + 0x32, 0xe0, 0xbf, 0xc4, 0xa0, 0xd4, 0xbe, 0xb2, 0x02, 0xb9, 0x50, 0x77, 0x12, 0x0f, 0xff, 0x65, + 0x06, 0x0f, 0xa3, 0xb0, 0xeb, 0xac, 0x3b, 0x89, 0x27, 0xf8, 0x15, 0xee, 0x3a, 0x43, 0xe0, 0xb0, + 0xf1, 0xc6, 0x24, 0x1e, 0xfd, 0xab, 0x3c, 0xea, 0x1c, 0x52, 0x79, 0x06, 0xb2, 0xfe, 0x66, 0x13, + 0x8f, 0xff, 0x35, 0x86, 0x0f, 0x30, 0x38, 0x02, 0xa1, 0xcd, 0x2e, 0x9e, 0xe2, 0x73, 0x3c, 0x02, + 0x21, 0x14, 0x5e, 0x46, 0xbd, 0x0d, 0x4c, 0x3c, 0xd3, 0xaf, 0xf3, 0x65, 0xd4, 0xd3, 0xbf, 0xe0, + 0xd9, 0x24, 0x35, 0x3f, 0x9e, 0xe2, 0x37, 0xf8, 0x6c, 0x12, 0x7b, 0xec, 0x46, 0x6f, 0x47, 0x10, + 0xcf, 0xf1, 0x9b, 0xdc, 0x8d, 0x9e, 0x86, 0xa0, 0xb2, 0x0d, 0x52, 0x7f, 0x37, 0x10, 0xcf, 0xf7, + 0x79, 0xc6, 0x37, 0xd9, 0xd7, 0x0c, 0x54, 0x9e, 0x83, 0x13, 0x83, 0x3b, 0x81, 0x78, 0xd6, 0x2f, + 0xdc, 0xe9, 0x39, 0xbb, 0x85, 0x1b, 0x81, 0xca, 0x4e, 0xb0, 0xa5, 0x84, 0xbb, 0x80, 0x78, 0xda, + 0x57, 0xee, 0x44, 0x0b, 0x77, 0xb8, 0x09, 0xa8, 0x54, 0x01, 0x82, 0x0d, 0x38, 0x9e, 0xeb, 0x55, + 0xc6, 0x15, 0x02, 0xe1, 0xa5, 0xc1, 0xf6, 0xdf, 0x78, 0xfc, 0x17, 0xf9, 0xd2, 0x60, 0x08, 0xbc, + 0x34, 0xf8, 0xd6, 0x1b, 0x8f, 0x7e, 0x8d, 0x2f, 0x0d, 0x0e, 0xc1, 0x99, 0x1d, 0xda, 0xdd, 0xe2, + 0x19, 0xbe, 0xc4, 0x33, 0x3b, 0x84, 0xaa, 0x6c, 0xc1, 0x64, 0xdf, 0x86, 0x18, 0x4f, 0xf5, 0x65, + 0x46, 0x25, 0xf6, 0xee, 0x87, 0xe1, 0xcd, 0x8b, 0x6d, 0x86, 0xf1, 0x6c, 0xbf, 0xdb, 0xb3, 0x79, + 0xb1, 0xbd, 0xb0, 0x72, 0x09, 0x32, 0x66, 0xc7, 0x30, 0xf0, 0xe2, 0x91, 0xee, 0xfe, 0xcb, 0xbd, + 0xe2, 0x3f, 0x7f, 0xc0, 0xa2, 0xc3, 0x01, 0x95, 0x25, 0x48, 0xa3, 0xf6, 0x1e, 0x6a, 0xc6, 0x21, + 0xff, 0xe5, 0x03, 0x5e, 0x30, 0xb1, 0x75, 0xe5, 0x19, 0x00, 0x7a, 0x35, 0x42, 0x3e, 0xfb, 0xc5, + 0x60, 0xff, 0xf5, 0x03, 0xf6, 0x9b, 0x9a, 0x00, 0x12, 0x10, 0xd0, 0x5f, 0xe8, 0xdc, 0x9d, 0xe0, + 0xdd, 0x28, 0x01, 0x99, 0x91, 0x8b, 0x30, 0x76, 0xd5, 0xb5, 0x4c, 0x4f, 0x6d, 0xc5, 0xa1, 0xff, + 0x8d, 0xa1, 0xb9, 0x3d, 0x0e, 0x58, 0xdb, 0x72, 0x90, 0xa7, 0xb6, 0xdc, 0x38, 0xec, 0xbf, 0x33, + 0xac, 0x0f, 0xc0, 0x60, 0x4d, 0x75, 0xbd, 0x61, 0xc6, 0xfd, 0x1f, 0x1c, 0xcc, 0x01, 0xd8, 0x69, + 0xfc, 0xf7, 0x35, 0xd4, 0x8d, 0xc3, 0xbe, 0xc7, 0x9d, 0x66, 0xf6, 0x95, 0x8f, 0x43, 0x16, 0xff, + 0x49, 0x7f, 0x28, 0x17, 0x03, 0xfe, 0x4f, 0x06, 0x0e, 0x10, 0xf8, 0xcd, 0xae, 0xd7, 0xf4, 0xf4, + 0xf8, 0x60, 0xff, 0x17, 0x9b, 0x69, 0x6e, 0x5f, 0xa9, 0x42, 0xce, 0xf5, 0x9a, 0xcd, 0x0e, 0xeb, + 0x4f, 0x63, 0xe0, 0xff, 0xfd, 0x81, 0x7f, 0x65, 0xe1, 0x63, 0xf0, 0x6c, 0xdf, 0xb8, 0xe6, 0xd9, + 0x16, 0xf9, 0xcc, 0x11, 0xc7, 0x70, 0x87, 0x31, 0x84, 0x20, 0xcb, 0xb5, 0xc1, 0xd7, 0xb7, 0xb0, + 0x66, 0xad, 0x59, 0xf4, 0xe2, 0xf6, 0xc5, 0x72, 0xfc, 0x0d, 0x2c, 0xfc, 0x6f, 0x06, 0xee, 0xd7, + 0xac, 0xf6, 0x9e, 0xe5, 0xce, 0x87, 0x8a, 0xf9, 0xbc, 0x65, 0x32, 0x4e, 0x29, 0x69, 0x99, 0x68, + 0xe6, 0x78, 0x77, 0xb9, 0xe5, 0x93, 0x90, 0x6e, 0x74, 0xf6, 0xf6, 0xba, 0x92, 0x08, 0x49, 0xb7, + 0xb3, 0xc7, 0x7e, 0x70, 0x85, 0xff, 0x2c, 0xbf, 0x95, 0x84, 0xf1, 0xaa, 0x61, 0xec, 0x74, 0x6d, + 0xe4, 0xd6, 0x4d, 0x54, 0xdf, 0x97, 0x8a, 0x30, 0x4a, 0x06, 0xfb, 0x34, 0x31, 0x13, 0xae, 0x8c, + 0xc8, 0xec, 0xd9, 0xd7, 0x2c, 0x90, 0x5b, 0xee, 0x84, 0xaf, 0x59, 0xf0, 0x35, 0x67, 0xe9, 0x25, + 0xb7, 0xaf, 0x39, 0xeb, 0x6b, 0x16, 0xc9, 0x55, 0x77, 0xd2, 0xd7, 0x2c, 0xfa, 0x9a, 0x25, 0xf2, + 0x29, 0x67, 0xdc, 0xd7, 0x2c, 0xf9, 0x9a, 0x73, 0xe4, 0xe3, 0x4d, 0xca, 0xd7, 0x9c, 0xf3, 0x35, + 0xe7, 0xc9, 0x37, 0x9b, 0x49, 0x5f, 0x73, 0xde, 0xd7, 0x5c, 0x20, 0xdf, 0x69, 0x24, 0x5f, 0x73, + 0xc1, 0xd7, 0x5c, 0x24, 0xbf, 0xac, 0x1a, 0xf3, 0x35, 0x17, 0xa5, 0x19, 0x18, 0xa3, 0x23, 0x7b, + 0x8a, 0x7c, 0xcc, 0x9f, 0xb8, 0x32, 0x22, 0x73, 0x41, 0xa0, 0x7b, 0x9a, 0xfc, 0x7a, 0x6a, 0x34, + 0xd0, 0x3d, 0x1d, 0xe8, 0x16, 0xc8, 0x7f, 0xe2, 0x10, 0x03, 0xdd, 0x42, 0xa0, 0x3b, 0x5b, 0x1c, + 0xc7, 0x39, 0x12, 0xe8, 0xce, 0x06, 0xba, 0xc5, 0x62, 0x01, 0xcf, 0x40, 0xa0, 0x5b, 0x0c, 0x74, + 0x4b, 0xc5, 0x89, 0xd3, 0xc2, 0x6c, 0x3e, 0xd0, 0x2d, 0x49, 0x4f, 0x42, 0xce, 0xed, 0xec, 0x29, + 0xac, 0xda, 0x93, 0x5f, 0x69, 0xe5, 0x16, 0x60, 0x0e, 0xe7, 0x04, 0x99, 0xd6, 0x2b, 0x23, 0x32, + 0xb8, 0x9d, 0x3d, 0x56, 0x8c, 0x97, 0xf3, 0x40, 0xee, 0xa0, 0x14, 0xf2, 0xe3, 0xea, 0xf2, 0x9b, + 0x02, 0x64, 0x77, 0x6e, 0x58, 0xe4, 0x53, 0xbe, 0xfb, 0xff, 0x3c, 0xb9, 0xdc, 0xe9, 0xb3, 0x8b, + 0xe4, 0x6b, 0x6b, 0xf6, 0x8a, 0x20, 0x73, 0x41, 0xa0, 0x5b, 0x2a, 0x3e, 0x48, 0x06, 0xe4, 0xeb, + 0x96, 0xa4, 0x79, 0xc8, 0x87, 0x06, 0xb4, 0x40, 0x7e, 0x3f, 0x15, 0x1d, 0x91, 0x20, 0xe7, 0x82, + 0x11, 0x2d, 0x2c, 0xa7, 0x01, 0xa7, 0x3d, 0xfe, 0xc7, 0xbb, 0x61, 0x95, 0x3f, 0x97, 0x80, 0x1c, + 0xbd, 0xb6, 0x26, 0xa3, 0xc2, 0xaf, 0xa2, 0x27, 0x9b, 0x2e, 0x73, 0x63, 0x44, 0xe6, 0x02, 0x49, + 0x06, 0xa0, 0xa6, 0x38, 0xc3, 0xa9, 0x27, 0xcb, 0x4f, 0xfd, 0xc3, 0x5b, 0xa7, 0x9e, 0x38, 0x72, + 0x05, 0xe1, 0xd8, 0xcd, 0xd3, 0x32, 0x3e, 0xb7, 0xab, 0x9b, 0xde, 0xd3, 0x0b, 0x17, 0x70, 0x80, + 0x03, 0x16, 0x69, 0x17, 0x32, 0x2b, 0xaa, 0x4b, 0x7e, 0x79, 0x49, 0x5c, 0x4f, 0x2d, 0x9f, 0xff, + 0x9f, 0xb7, 0x4e, 0x9d, 0x8d, 0x61, 0x64, 0x15, 0x76, 0x6e, 0xb3, 0x8b, 0x59, 0xcf, 0x2d, 0x62, + 0xf8, 0x95, 0x11, 0xd9, 0xa7, 0x92, 0x16, 0xb8, 0xab, 0x5b, 0x6a, 0x9b, 0xfe, 0x50, 0x2c, 0xb9, + 0x2c, 0x1e, 0xbe, 0x75, 0x2a, 0xbf, 0xd9, 0x0d, 0xe4, 0x81, 0x2b, 0xf8, 0x69, 0x39, 0x03, 0xa3, + 0xd4, 0xd5, 0xe5, 0xd5, 0x37, 0x6e, 0x97, 0x46, 0xde, 0xbc, 0x5d, 0x1a, 0xf9, 0xfb, 0xdb, 0xa5, + 0x91, 0xb7, 0x6f, 0x97, 0x84, 0xf7, 0x6e, 0x97, 0x84, 0xf7, 0x6f, 0x97, 0x84, 0x5b, 0x87, 0x25, + 0xe1, 0xab, 0x87, 0x25, 0xe1, 0xeb, 0x87, 0x25, 0xe1, 0x5b, 0x87, 0x25, 0xe1, 0x8d, 0xc3, 0xd2, + 0xc8, 0x9b, 0x87, 0x25, 0xe1, 0xed, 0xc3, 0x92, 0xf0, 0x83, 0xc3, 0xd2, 0xc8, 0x7b, 0x87, 0x25, + 0xe1, 0xfd, 0xc3, 0xd2, 0xc8, 0xad, 0xef, 0x97, 0x46, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x83, + 0x6f, 0x66, 0xca, 0x73, 0x37, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -5193,47 +5238,3 @@ var ( ErrInvalidLengthOne = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowOne = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/unmarshaler/one.proto", fileDescriptor_one_539b073fce05cef9) } - -var fileDescriptor_one_539b073fce05cef9 = []byte{ - // 602 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0xd3, 0x3f, 0x4f, 0x1b, 0x31, - 0x14, 0x00, 0x70, 0x3f, 0x42, 0x42, 0x70, 0x42, 0x49, 0x6f, 0x72, 0x51, 0x65, 0xac, 0xb4, 0x95, - 0x3c, 0x94, 0x84, 0x5c, 0x12, 0xfe, 0x8c, 0x3d, 0xaa, 0x2a, 0x0b, 0x45, 0x3a, 0x60, 0x46, 0x39, - 0x6a, 0x42, 0xa4, 0xe4, 0x8c, 0xe2, 0x3b, 0xa1, 0x6c, 0x7c, 0x86, 0x7e, 0x8a, 0x8e, 0x1d, 0xfb, - 0x11, 0x18, 0x33, 0x56, 0x1d, 0x22, 0xee, 0xba, 0x74, 0x64, 0x44, 0x9d, 0x2a, 0xdf, 0x11, 0xbb, - 0x52, 0x55, 0x75, 0xe9, 0x94, 0x7b, 0xef, 0x77, 0x7e, 0x79, 0xef, 0x6c, 0xe3, 0xe7, 0xe7, 0x72, - 0x1c, 0x48, 0xd5, 0x8c, 0xc3, 0x71, 0x7f, 0xa2, 0x2e, 0xfb, 0x23, 0x31, 0x69, 0xca, 0x50, 0x34, - 0xae, 0x26, 0x32, 0x92, 0x4e, 0x41, 0x86, 0x62, 0x63, 0x6b, 0x30, 0x8c, 0x2e, 0xe3, 0xa0, 0x71, - 0x2e, 0xc7, 0xcd, 0x81, 0x1c, 0xc8, 0x66, 0x66, 0x41, 0x7c, 0x91, 0x45, 0x59, 0x90, 0x3d, 0xe5, - 0x6b, 0xea, 0xcf, 0x70, 0xf1, 0x38, 0x0e, 0x82, 0xa9, 0x53, 0xc3, 0x05, 0x15, 0x07, 0x04, 0x18, - 0xf0, 0x55, 0x5f, 0x3f, 0xd6, 0xe7, 0x05, 0xbc, 0xf6, 0x66, 0x34, 0x3a, 0x99, 0x5e, 0x09, 0x75, - 0x14, 0x8a, 0xa3, 0x0b, 0x87, 0xe0, 0xd2, 0xbb, 0xa1, 0x18, 0x7d, 0x68, 0x65, 0xaf, 0x41, 0x0f, - 0xf9, 0x8f, 0xb1, 0x11, 0x97, 0x2c, 0x31, 0xe0, 0x4b, 0x46, 0x5c, 0x23, 0x6d, 0x52, 0x60, 0xc0, - 0x8b, 0x46, 0xda, 0x46, 0x3a, 0x64, 0x99, 0x01, 0x2f, 0x18, 0xe9, 0x18, 0xe9, 0x92, 0x22, 0x03, - 0xbe, 0x66, 0xa4, 0x6b, 0x64, 0x87, 0x94, 0x18, 0xf0, 0x65, 0x23, 0x3b, 0x46, 0x76, 0xc9, 0x0a, - 0x03, 0xfe, 0xd4, 0xc8, 0xae, 0x91, 0x3d, 0x52, 0x66, 0xc0, 0x1d, 0x23, 0x7b, 0x46, 0xf6, 0xc9, - 0x2a, 0x03, 0xbe, 0x62, 0x64, 0xdf, 0xd9, 0xc0, 0x2b, 0xf9, 0x64, 0xdb, 0x04, 0x33, 0xe0, 0xeb, - 0x3d, 0xe4, 0x2f, 0x12, 0xd6, 0x5a, 0xa4, 0xc2, 0x80, 0x97, 0xac, 0xb5, 0xac, 0xb9, 0xa4, 0xca, - 0x80, 0xd7, 0xac, 0xb9, 0xd6, 0xda, 0x64, 0x8d, 0x01, 0x2f, 0x5b, 0x6b, 0x5b, 0xeb, 0x90, 0x27, - 0x7a, 0x07, 0xac, 0x75, 0xac, 0x75, 0xc9, 0x3a, 0x03, 0x5e, 0xb5, 0xd6, 0x75, 0xb6, 0x70, 0x45, - 0xc5, 0xc1, 0xd9, 0x58, 0x28, 0xd5, 0x1f, 0x08, 0x52, 0x63, 0xc0, 0x2b, 0x2e, 0x6e, 0xe8, 0x33, - 0x91, 0x6d, 0x6b, 0x0f, 0xf9, 0x58, 0xc5, 0xc1, 0x61, 0xee, 0x5e, 0x15, 0xe3, 0x48, 0xa8, 0xe8, - 0x4c, 0x86, 0x42, 0x5e, 0xd4, 0x67, 0x80, 0x57, 0x4f, 0xae, 0xe5, 0x91, 0x0e, 0xd4, 0x7f, 0xde, - 0xdc, 0x45, 0xd3, 0xed, 0x0e, 0xa9, 0x67, 0x03, 0x81, 0xbf, 0x48, 0x58, 0xeb, 0x92, 0x17, 0xd9, - 0x40, 0xc6, 0xba, 0x4e, 0x13, 0x57, 0x7f, 0x1b, 0xc8, 0x25, 0x2f, 0xff, 0x98, 0x08, 0xfc, 0x8a, - 0x9d, 0xc8, 0xf5, 0x8a, 0x58, 0x1f, 0x7b, 0xfd, 0x13, 0x5d, 0xcb, 0xfa, 0xc7, 0x25, 0x5c, 0x39, - 0x88, 0x55, 0x24, 0xc7, 0xd9, 0x54, 0xfa, 0xaf, 0x8e, 0xa3, 0xc9, 0x30, 0x1c, 0x4c, 0x1f, 0xdb, - 0x40, 0xfe, 0x22, 0xe1, 0xf8, 0x18, 0xe7, 0xaf, 0xea, 0x13, 0x9e, 0x77, 0xe2, 0x6d, 0x7f, 0x9b, - 0x6f, 0xbe, 0xfe, 0xeb, 0x0d, 0xd2, 0xdf, 0xae, 0x79, 0x9e, 0xad, 0x69, 0x9c, 0x0e, 0xc3, 0xa8, - 0xe5, 0xee, 0xe9, 0x0f, 0x6c, 0xab, 0x38, 0xa7, 0xb8, 0x7c, 0xd0, 0x57, 0x51, 0x56, 0x51, 0xb7, - 0xbe, 0xec, 0xed, 0xfe, 0x9c, 0x6f, 0xb6, 0xff, 0x51, 0xb1, 0xaf, 0xa2, 0x68, 0x7a, 0x25, 0x1a, - 0x87, 0x53, 0x5d, 0x75, 0xa7, 0xa3, 0x97, 0xf7, 0x90, 0x6f, 0x4a, 0x39, 0xee, 0xa2, 0xd5, 0xf7, - 0xfd, 0xb1, 0x20, 0xaf, 0xf4, 0x75, 0xf1, 0x6a, 0xe9, 0x7c, 0xb3, 0x7a, 0x38, 0xb5, 0x79, 0xdb, - 0x8a, 0x8e, 0xbc, 0x32, 0x2e, 0xe5, 0xad, 0x7a, 0x6f, 0x6f, 0x13, 0x8a, 0x66, 0x09, 0x45, 0x5f, - 0x13, 0x8a, 0xee, 0x12, 0x0a, 0xf7, 0x09, 0x85, 0x87, 0x84, 0xc2, 0x4d, 0x4a, 0xe1, 0x53, 0x4a, - 0xe1, 0x73, 0x4a, 0xe1, 0x4b, 0x4a, 0xe1, 0x36, 0xa5, 0x68, 0x96, 0x52, 0xb8, 0x4b, 0x29, 0xfc, - 0x48, 0x29, 0xba, 0x4f, 0x29, 0x3c, 0xa4, 0x14, 0xdd, 0x7c, 0xa7, 0xe8, 0x57, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xdd, 0x1c, 0x58, 0x6c, 0x7c, 0x04, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof3/combos/both/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof3/combos/both/one.pb.go index f406acc9c..bb78c3d29 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof3/combos/both/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof3/combos/both/one.pb.go @@ -3,23 +3,21 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -42,7 +40,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_475397b14a80232f, []int{0} + return fileDescriptor_5ca5df6bbfd2f47d, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -59,8 +57,8 @@ func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return m.Size() @@ -98,7 +96,7 @@ type SampleOneOf struct { func (m *SampleOneOf) Reset() { *m = SampleOneOf{} } func (*SampleOneOf) ProtoMessage() {} func (*SampleOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_475397b14a80232f, []int{1} + return fileDescriptor_5ca5df6bbfd2f47d, []int{1} } func (m *SampleOneOf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -115,8 +113,8 @@ func (m *SampleOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *SampleOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_SampleOneOf.Merge(dst, src) +func (m *SampleOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_SampleOneOf.Merge(m, src) } func (m *SampleOneOf) XXX_Size() int { return m.Size() @@ -595,6 +593,39 @@ func init() { proto.RegisterType((*Subby)(nil), "one.Subby") proto.RegisterType((*SampleOneOf)(nil), "one.SampleOneOf") } + +func init() { proto.RegisterFile("combos/both/one.proto", fileDescriptor_5ca5df6bbfd2f47d) } + +var fileDescriptor_5ca5df6bbfd2f47d = []byte{ + // 404 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, + 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0x9e, 0x54, 0xe9, 0x95, 0xe1, 0xc9, 0x62, + 0xf2, 0x42, 0xd2, 0xdc, 0x25, 0xfc, 0x58, 0x51, 0x55, 0x65, 0xa9, 0x90, 0xc2, 0x1f, 0x80, 0x30, + 0x75, 0x0e, 0x24, 0xee, 0x8c, 0x7a, 0x77, 0x43, 0x37, 0xfe, 0x9c, 0x8e, 0x1d, 0xfb, 0x27, 0x30, + 0x32, 0x76, 0xe8, 0xc0, 0xb9, 0x4b, 0x47, 0x46, 0xc6, 0x2a, 0x97, 0xf2, 0xbc, 0xbd, 0xaf, 0x3f, + 0xf6, 0x60, 0xfb, 0x2b, 0xdf, 0x5d, 0xb9, 0xdc, 0xb8, 0x72, 0x6c, 0x5c, 0x75, 0x3d, 0x76, 0x85, + 0x1d, 0xdd, 0x7d, 0x75, 0x95, 0x8b, 0x23, 0x57, 0xd8, 0xbd, 0x83, 0xec, 0xa6, 0xba, 0xae, 0xcd, + 0xe8, 0xca, 0xe5, 0xe3, 0xcc, 0x65, 0x6e, 0xdc, 0x9a, 0xa9, 0x97, 0x6d, 0x6a, 0x43, 0x3b, 0xad, + 0xcf, 0xec, 0xbf, 0x97, 0x9d, 0xf3, 0xda, 0x98, 0x6f, 0xf1, 0x50, 0x46, 0x65, 0x6d, 0x10, 0x14, + 0xe8, 0xed, 0xc5, 0x6a, 0xdc, 0xff, 0x1d, 0xc9, 0xfe, 0xf9, 0x65, 0x7e, 0x77, 0x6b, 0xcf, 0x0a, + 0x7b, 0xb6, 0x8c, 0x51, 0x76, 0x3f, 0xdd, 0xd8, 0xdb, 0x2f, 0x93, 0x76, 0x13, 0xcc, 0xc5, 0xe2, + 0x7f, 0x66, 0x49, 0x70, 0x43, 0x81, 0xde, 0x60, 0x49, 0x58, 0x52, 0x8c, 0x14, 0xe8, 0x0e, 0x4b, + 0xca, 0x32, 0xc5, 0x4d, 0x05, 0x3a, 0x62, 0x99, 0xb2, 0xcc, 0xb0, 0xa3, 0x40, 0xef, 0xb0, 0xcc, + 0x58, 0x0e, 0xb1, 0xab, 0x40, 0x6f, 0xb2, 0x1c, 0xb2, 0x1c, 0x61, 0x4f, 0x81, 0x7e, 0xcb, 0x72, + 0xc4, 0x72, 0x8c, 0x5b, 0x0a, 0x74, 0xcc, 0x72, 0xcc, 0x72, 0x82, 0xdb, 0x0a, 0x74, 0x8f, 0xe5, + 0x24, 0xde, 0x93, 0xbd, 0xf5, 0xcd, 0x3e, 0xa0, 0x54, 0xa0, 0x77, 0xe7, 0x62, 0xf1, 0xba, 0x10, + 0x6c, 0x82, 0x7d, 0x05, 0xba, 0x1b, 0x6c, 0x12, 0x2c, 0xc1, 0x81, 0x02, 0x3d, 0x0c, 0x96, 0x04, + 0x4b, 0x71, 0x47, 0x81, 0xde, 0x0a, 0x96, 0x06, 0x9b, 0xe2, 0x9b, 0xd5, 0xfb, 0x07, 0x9b, 0x06, + 0x9b, 0xe1, 0xae, 0x02, 0x3d, 0x08, 0x36, 0x8b, 0x0f, 0x64, 0xbf, 0xac, 0xcd, 0x45, 0x6e, 0xcb, + 0xf2, 0x32, 0xb3, 0x38, 0x54, 0xa0, 0xfb, 0x89, 0x1c, 0xad, 0x1a, 0xd1, 0x7e, 0xea, 0x5c, 0x2c, + 0x64, 0x59, 0x9b, 0xcf, 0x6b, 0x3f, 0x1d, 0x48, 0x59, 0xd9, 0xb2, 0xba, 0x70, 0x85, 0x75, 0xcb, + 0xd3, 0x8f, 0x0f, 0x0d, 0x89, 0xc7, 0x86, 0xc4, 0xaf, 0x86, 0xc4, 0x53, 0x43, 0xf0, 0xdc, 0x10, + 0xbc, 0x34, 0x04, 0xf7, 0x9e, 0xe0, 0xbb, 0x27, 0xf8, 0xe1, 0x09, 0x7e, 0x7a, 0x82, 0x07, 0x4f, + 0xf0, 0xe8, 0x09, 0x9e, 0x3c, 0xc1, 0x5f, 0x4f, 0xe2, 0xd9, 0x13, 0xbc, 0x78, 0x12, 0xf7, 0x7f, + 0x48, 0x98, 0x6e, 0x5b, 0xa3, 0xf4, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x42, 0xd6, 0x88, + 0x93, 0x02, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -604,263 +635,265 @@ func (this *SampleOneOf) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4083 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0xe6, 0xe2, 0x8f, 0xc0, 0x01, 0x08, 0x2e, 0x97, 0xb4, 0x04, 0xd1, 0x31, 0x24, 0xd1, 0x76, - 0x4c, 0xdb, 0x35, 0x69, 0x53, 0xa2, 0x7e, 0xa0, 0x26, 0x2e, 0x48, 0x42, 0x14, 0x5d, 0x92, 0x60, - 0x16, 0x64, 0xfc, 0x93, 0xe9, 0xec, 0x2c, 0x16, 0x17, 0xe0, 0x4a, 0x8b, 0xdd, 0xcd, 0xee, 0x42, - 0x32, 0x35, 0x7d, 0x50, 0xc7, 0xfd, 0x99, 0x4c, 0xa7, 0xbf, 0xe9, 0x4c, 0x13, 0xd7, 0x71, 0x9b, - 0x74, 0x1a, 0xa7, 0xe9, 0x5f, 0xd2, 0xb4, 0x69, 0x92, 0xbe, 0xf4, 0x25, 0xad, 0x9f, 0x3a, 0xc9, - 0x5b, 0x1f, 0xf2, 0x60, 0x31, 0x9e, 0x69, 0xda, 0xba, 0x8d, 0xdb, 0xea, 0xc1, 0x33, 0x7e, 0xc9, - 0xdc, 0xbf, 0xdd, 0xc5, 0x02, 0xd4, 0x82, 0x99, 0xb1, 0xf3, 0x24, 0xee, 0x39, 0xe7, 0xfb, 0xf6, - 0xde, 0x73, 0xcf, 0x3d, 0xe7, 0xdc, 0xbb, 0x10, 0xfc, 0xf8, 0x32, 0x9c, 0xe9, 0x58, 0x56, 0xc7, - 0x40, 0x8b, 0xb6, 0x63, 0x79, 0x56, 0xb3, 0xd7, 0x5e, 0x6c, 0x21, 0x57, 0x73, 0x74, 0xdb, 0xb3, - 0x9c, 0x05, 0x22, 0x93, 0x26, 0xa9, 0xc5, 0x02, 0xb7, 0x98, 0xdb, 0x82, 0xa9, 0xab, 0xba, 0x81, - 0xd6, 0x7c, 0xc3, 0x06, 0xf2, 0xa4, 0x4b, 0x90, 0x6a, 0xeb, 0x06, 0x2a, 0x09, 0x67, 0x92, 0xf3, - 0xf9, 0xa5, 0x47, 0x16, 0x22, 0xa0, 0x85, 0x7e, 0xc4, 0x0e, 0x16, 0xcb, 0x04, 0x31, 0xf7, 0x76, - 0x0a, 0xa6, 0x87, 0x68, 0x25, 0x09, 0x52, 0xa6, 0xda, 0xc5, 0x8c, 0xc2, 0x7c, 0x4e, 0x26, 0x7f, - 0x4b, 0x25, 0x18, 0xb7, 0x55, 0xed, 0x86, 0xda, 0x41, 0xa5, 0x04, 0x11, 0xf3, 0x47, 0xa9, 0x0c, - 0xd0, 0x42, 0x36, 0x32, 0x5b, 0xc8, 0xd4, 0x0e, 0x4a, 0xc9, 0x33, 0xc9, 0xf9, 0x9c, 0x1c, 0x92, - 0x48, 0x4f, 0xc2, 0x94, 0xdd, 0x6b, 0x1a, 0xba, 0xa6, 0x84, 0xcc, 0xe0, 0x4c, 0x72, 0x3e, 0x2d, - 0x8b, 0x54, 0xb1, 0x16, 0x18, 0x3f, 0x06, 0x93, 0xb7, 0x90, 0x7a, 0x23, 0x6c, 0x9a, 0x27, 0xa6, - 0x45, 0x2c, 0x0e, 0x19, 0xae, 0x42, 0xa1, 0x8b, 0x5c, 0x57, 0xed, 0x20, 0xc5, 0x3b, 0xb0, 0x51, - 0x29, 0x45, 0x66, 0x7f, 0x66, 0x60, 0xf6, 0xd1, 0x99, 0xe7, 0x19, 0x6a, 0xf7, 0xc0, 0x46, 0x52, - 0x15, 0x72, 0xc8, 0xec, 0x75, 0x29, 0x43, 0xfa, 0x08, 0xff, 0xd5, 0xcc, 0x5e, 0x37, 0xca, 0x92, - 0xc5, 0x30, 0x46, 0x31, 0xee, 0x22, 0xe7, 0xa6, 0xae, 0xa1, 0x52, 0x86, 0x10, 0x3c, 0x36, 0x40, - 0xd0, 0xa0, 0xfa, 0x28, 0x07, 0xc7, 0x49, 0xab, 0x90, 0x43, 0x2f, 0x7b, 0xc8, 0x74, 0x75, 0xcb, - 0x2c, 0x8d, 0x13, 0x92, 0x47, 0x87, 0xac, 0x22, 0x32, 0x5a, 0x51, 0x8a, 0x00, 0x27, 0x5d, 0x80, - 0x71, 0xcb, 0xf6, 0x74, 0xcb, 0x74, 0x4b, 0xd9, 0x33, 0xc2, 0x7c, 0x7e, 0xe9, 0x23, 0x43, 0x03, - 0xa1, 0x4e, 0x6d, 0x64, 0x6e, 0x2c, 0x6d, 0x80, 0xe8, 0x5a, 0x3d, 0x47, 0x43, 0x8a, 0x66, 0xb5, - 0x90, 0xa2, 0x9b, 0x6d, 0xab, 0x94, 0x23, 0x04, 0xa7, 0x07, 0x27, 0x42, 0x0c, 0x57, 0xad, 0x16, - 0xda, 0x30, 0xdb, 0x96, 0x5c, 0x74, 0xfb, 0x9e, 0xa5, 0x13, 0x90, 0x71, 0x0f, 0x4c, 0x4f, 0x7d, - 0xb9, 0x54, 0x20, 0x11, 0xc2, 0x9e, 0xe6, 0xbe, 0x9d, 0x81, 0xc9, 0x51, 0x42, 0xec, 0x0a, 0xa4, - 0xdb, 0x78, 0x96, 0xa5, 0xc4, 0x71, 0x7c, 0x40, 0x31, 0xfd, 0x4e, 0xcc, 0xfc, 0x94, 0x4e, 0xac, - 0x42, 0xde, 0x44, 0xae, 0x87, 0x5a, 0x34, 0x22, 0x92, 0x23, 0xc6, 0x14, 0x50, 0xd0, 0x60, 0x48, - 0xa5, 0x7e, 0xaa, 0x90, 0x7a, 0x01, 0x26, 0xfd, 0x21, 0x29, 0x8e, 0x6a, 0x76, 0x78, 0x6c, 0x2e, - 0xc6, 0x8d, 0x64, 0xa1, 0xc6, 0x71, 0x32, 0x86, 0xc9, 0x45, 0xd4, 0xf7, 0x2c, 0xad, 0x01, 0x58, - 0x26, 0xb2, 0xda, 0x4a, 0x0b, 0x69, 0x46, 0x29, 0x7b, 0x84, 0x97, 0xea, 0xd8, 0x64, 0xc0, 0x4b, - 0x16, 0x95, 0x6a, 0x86, 0x74, 0x39, 0x08, 0xb5, 0xf1, 0x23, 0x22, 0x65, 0x8b, 0x6e, 0xb2, 0x81, - 0x68, 0xdb, 0x83, 0xa2, 0x83, 0x70, 0xdc, 0xa3, 0x16, 0x9b, 0x59, 0x8e, 0x0c, 0x62, 0x21, 0x76, - 0x66, 0x32, 0x83, 0xd1, 0x89, 0x4d, 0x38, 0xe1, 0x47, 0xe9, 0x61, 0xf0, 0x05, 0x0a, 0x09, 0x2b, - 0x20, 0x59, 0xa8, 0xc0, 0x85, 0xdb, 0x6a, 0x17, 0xcd, 0xde, 0x86, 0x62, 0xbf, 0x7b, 0xa4, 0x19, - 0x48, 0xbb, 0x9e, 0xea, 0x78, 0x24, 0x0a, 0xd3, 0x32, 0x7d, 0x90, 0x44, 0x48, 0x22, 0xb3, 0x45, - 0xb2, 0x5c, 0x5a, 0xc6, 0x7f, 0x4a, 0xbf, 0x10, 0x4c, 0x38, 0x49, 0x26, 0xfc, 0xd1, 0xc1, 0x15, - 0xed, 0x63, 0x8e, 0xce, 0x7b, 0xf6, 0x22, 0x4c, 0xf4, 0x4d, 0x60, 0xd4, 0x57, 0xcf, 0xfd, 0x32, - 0x3c, 0x30, 0x94, 0x5a, 0x7a, 0x01, 0x66, 0x7a, 0xa6, 0x6e, 0x7a, 0xc8, 0xb1, 0x1d, 0x84, 0x23, - 0x96, 0xbe, 0xaa, 0xf4, 0xef, 0xe3, 0x47, 0xc4, 0xdc, 0x5e, 0xd8, 0x9a, 0xb2, 0xc8, 0xd3, 0xbd, - 0x41, 0xe1, 0x13, 0xb9, 0xec, 0x8f, 0xc6, 0xc5, 0x3b, 0x77, 0xee, 0xdc, 0x49, 0xcc, 0x7d, 0x2e, - 0x03, 0x33, 0xc3, 0xf6, 0xcc, 0xd0, 0xed, 0x7b, 0x02, 0x32, 0x66, 0xaf, 0xdb, 0x44, 0x0e, 0x71, - 0x52, 0x5a, 0x66, 0x4f, 0x52, 0x15, 0xd2, 0x86, 0xda, 0x44, 0x46, 0x29, 0x75, 0x46, 0x98, 0x2f, - 0x2e, 0x3d, 0x39, 0xd2, 0xae, 0x5c, 0xd8, 0xc4, 0x10, 0x99, 0x22, 0xa5, 0x8f, 0x43, 0x8a, 0xa5, - 0x68, 0xcc, 0xf0, 0xc4, 0x68, 0x0c, 0x78, 0x2f, 0xc9, 0x04, 0x27, 0x3d, 0x08, 0x39, 0xfc, 0x2f, - 0x8d, 0x8d, 0x0c, 0x19, 0x73, 0x16, 0x0b, 0x70, 0x5c, 0x48, 0xb3, 0x90, 0x25, 0xdb, 0xa4, 0x85, - 0x78, 0x69, 0xf3, 0x9f, 0x71, 0x60, 0xb5, 0x50, 0x5b, 0xed, 0x19, 0x9e, 0x72, 0x53, 0x35, 0x7a, - 0x88, 0x04, 0x7c, 0x4e, 0x2e, 0x30, 0xe1, 0x27, 0xb1, 0x4c, 0x3a, 0x0d, 0x79, 0xba, 0xab, 0x74, - 0xb3, 0x85, 0x5e, 0x26, 0xd9, 0x33, 0x2d, 0xd3, 0x8d, 0xb6, 0x81, 0x25, 0xf8, 0xf5, 0xd7, 0x5d, - 0xcb, 0xe4, 0xa1, 0x49, 0x5e, 0x81, 0x05, 0xe4, 0xf5, 0x17, 0xa3, 0x89, 0xfb, 0xa1, 0xe1, 0xd3, - 0x8b, 0xc6, 0xd4, 0xdc, 0x37, 0x13, 0x90, 0x22, 0xf9, 0x62, 0x12, 0xf2, 0xbb, 0x2f, 0xee, 0xd4, - 0x94, 0xb5, 0xfa, 0xde, 0xca, 0x66, 0x4d, 0x14, 0xa4, 0x22, 0x00, 0x11, 0x5c, 0xdd, 0xac, 0x57, - 0x77, 0xc5, 0x84, 0xff, 0xbc, 0xb1, 0xbd, 0x7b, 0xe1, 0xbc, 0x98, 0xf4, 0x01, 0x7b, 0x54, 0x90, - 0x0a, 0x1b, 0x9c, 0x5b, 0x12, 0xd3, 0x92, 0x08, 0x05, 0x4a, 0xb0, 0xf1, 0x42, 0x6d, 0xed, 0xc2, - 0x79, 0x31, 0xd3, 0x2f, 0x39, 0xb7, 0x24, 0x8e, 0x4b, 0x13, 0x90, 0x23, 0x92, 0x95, 0x7a, 0x7d, - 0x53, 0xcc, 0xfa, 0x9c, 0x8d, 0x5d, 0x79, 0x63, 0x7b, 0x5d, 0xcc, 0xf9, 0x9c, 0xeb, 0x72, 0x7d, - 0x6f, 0x47, 0x04, 0x9f, 0x61, 0xab, 0xd6, 0x68, 0x54, 0xd7, 0x6b, 0x62, 0xde, 0xb7, 0x58, 0x79, - 0x71, 0xb7, 0xd6, 0x10, 0x0b, 0x7d, 0xc3, 0x3a, 0xb7, 0x24, 0x4e, 0xf8, 0xaf, 0xa8, 0x6d, 0xef, - 0x6d, 0x89, 0x45, 0x69, 0x0a, 0x26, 0xe8, 0x2b, 0xf8, 0x20, 0x26, 0x23, 0xa2, 0x0b, 0xe7, 0x45, - 0x31, 0x18, 0x08, 0x65, 0x99, 0xea, 0x13, 0x5c, 0x38, 0x2f, 0x4a, 0x73, 0xab, 0x90, 0x26, 0xd1, - 0x25, 0x49, 0x50, 0xdc, 0xac, 0xae, 0xd4, 0x36, 0x95, 0xfa, 0xce, 0xee, 0x46, 0x7d, 0xbb, 0xba, - 0x29, 0x0a, 0x81, 0x4c, 0xae, 0x7d, 0x62, 0x6f, 0x43, 0xae, 0xad, 0x89, 0x89, 0xb0, 0x6c, 0xa7, - 0x56, 0xdd, 0xad, 0xad, 0x89, 0xc9, 0x39, 0x0d, 0x66, 0x86, 0xe5, 0xc9, 0xa1, 0x3b, 0x23, 0xb4, - 0xc4, 0x89, 0x23, 0x96, 0x98, 0x70, 0x0d, 0x2c, 0xf1, 0x0f, 0x13, 0x30, 0x3d, 0xa4, 0x56, 0x0c, - 0x7d, 0xc9, 0xb3, 0x90, 0xa6, 0x21, 0x4a, 0xab, 0xe7, 0xe3, 0x43, 0x8b, 0x0e, 0x09, 0xd8, 0x81, - 0x0a, 0x4a, 0x70, 0xe1, 0x0e, 0x22, 0x79, 0x44, 0x07, 0x81, 0x29, 0x06, 0x72, 0xfa, 0x2f, 0x0d, - 0xe4, 0x74, 0x5a, 0xf6, 0x2e, 0x8c, 0x52, 0xf6, 0x88, 0xec, 0x78, 0xb9, 0x3d, 0x3d, 0x24, 0xb7, - 0x5f, 0x81, 0xa9, 0x01, 0xa2, 0x91, 0x73, 0xec, 0x2b, 0x02, 0x94, 0x8e, 0x72, 0x4e, 0x4c, 0xa6, - 0x4b, 0xf4, 0x65, 0xba, 0x2b, 0x51, 0x0f, 0x9e, 0x3d, 0x7a, 0x11, 0x06, 0xd6, 0xfa, 0x0d, 0x01, - 0x4e, 0x0c, 0xef, 0x14, 0x87, 0x8e, 0xe1, 0xe3, 0x90, 0xe9, 0x22, 0x6f, 0xdf, 0xe2, 0xdd, 0xd2, - 0x47, 0x87, 0xd4, 0x60, 0xac, 0x8e, 0x2e, 0x36, 0x43, 0x85, 0x8b, 0x78, 0xf2, 0xa8, 0x76, 0x8f, - 0x8e, 0x66, 0x60, 0xa4, 0x9f, 0x49, 0xc0, 0x03, 0x43, 0xc9, 0x87, 0x0e, 0xf4, 0x21, 0x00, 0xdd, - 0xb4, 0x7b, 0x1e, 0xed, 0x88, 0x68, 0x82, 0xcd, 0x11, 0x09, 0x49, 0x5e, 0x38, 0x79, 0xf6, 0x3c, - 0x5f, 0x9f, 0x24, 0x7a, 0xa0, 0x22, 0x62, 0x70, 0x29, 0x18, 0x68, 0x8a, 0x0c, 0xb4, 0x7c, 0xc4, - 0x4c, 0x07, 0x02, 0xf3, 0x69, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, 0xae, - 0x6e, 0x76, 0x48, 0x05, 0xc9, 0x56, 0xd2, 0x6d, 0xd5, 0x70, 0x91, 0x3c, 0x49, 0xd5, 0x0d, 0xae, - 0xc5, 0x08, 0x12, 0x40, 0x4e, 0x08, 0x91, 0xe9, 0x43, 0x50, 0xb5, 0x8f, 0x98, 0xfb, 0x46, 0x16, - 0xf2, 0xa1, 0xbe, 0x5a, 0x3a, 0x0b, 0x85, 0xeb, 0xea, 0x4d, 0x55, 0xe1, 0x67, 0x25, 0xea, 0x89, - 0x3c, 0x96, 0xed, 0xb0, 0xf3, 0xd2, 0xd3, 0x30, 0x43, 0x4c, 0xac, 0x9e, 0x87, 0x1c, 0x45, 0x33, - 0x54, 0xd7, 0x25, 0x4e, 0xcb, 0x12, 0x53, 0x09, 0xeb, 0xea, 0x58, 0xb5, 0xca, 0x35, 0xd2, 0x32, - 0x4c, 0x13, 0x44, 0xb7, 0x67, 0x78, 0xba, 0x6d, 0x20, 0x05, 0x9f, 0xde, 0x5c, 0x52, 0x49, 0xfc, - 0x91, 0x4d, 0x61, 0x8b, 0x2d, 0x66, 0x80, 0x47, 0xe4, 0x4a, 0x6b, 0xf0, 0x10, 0x81, 0x75, 0x90, - 0x89, 0x1c, 0xd5, 0x43, 0x0a, 0xfa, 0x74, 0x4f, 0x35, 0x5c, 0x45, 0x35, 0x5b, 0xca, 0xbe, 0xea, - 0xee, 0x97, 0x66, 0x30, 0xc1, 0x4a, 0xa2, 0x24, 0xc8, 0xa7, 0xb0, 0xe1, 0x3a, 0xb3, 0xab, 0x11, - 0xb3, 0xaa, 0xd9, 0xba, 0xa6, 0xba, 0xfb, 0x52, 0x05, 0x4e, 0x10, 0x16, 0xd7, 0x73, 0x74, 0xb3, - 0xa3, 0x68, 0xfb, 0x48, 0xbb, 0xa1, 0xf4, 0xbc, 0xf6, 0xa5, 0xd2, 0x83, 0xe1, 0xf7, 0x93, 0x11, - 0x36, 0x88, 0xcd, 0x2a, 0x36, 0xd9, 0xf3, 0xda, 0x97, 0xa4, 0x06, 0x14, 0xf0, 0x62, 0x74, 0xf5, - 0xdb, 0x48, 0x69, 0x5b, 0x0e, 0x29, 0x8d, 0xc5, 0x21, 0xa9, 0x29, 0xe4, 0xc1, 0x85, 0x3a, 0x03, - 0x6c, 0x59, 0x2d, 0x54, 0x49, 0x37, 0x76, 0x6a, 0xb5, 0x35, 0x39, 0xcf, 0x59, 0xae, 0x5a, 0x0e, - 0x0e, 0xa8, 0x8e, 0xe5, 0x3b, 0x38, 0x4f, 0x03, 0xaa, 0x63, 0x71, 0xf7, 0x2e, 0xc3, 0xb4, 0xa6, - 0xd1, 0x39, 0xeb, 0x9a, 0xc2, 0xce, 0x58, 0x6e, 0x49, 0xec, 0x73, 0x96, 0xa6, 0xad, 0x53, 0x03, - 0x16, 0xe3, 0xae, 0x74, 0x19, 0x1e, 0x08, 0x9c, 0x15, 0x06, 0x4e, 0x0d, 0xcc, 0x32, 0x0a, 0x5d, - 0x86, 0x69, 0xfb, 0x60, 0x10, 0x28, 0xf5, 0xbd, 0xd1, 0x3e, 0x88, 0xc2, 0x2e, 0xc2, 0x8c, 0xbd, - 0x6f, 0x0f, 0xe2, 0x9e, 0x08, 0xe3, 0x24, 0x7b, 0xdf, 0x8e, 0x02, 0x1f, 0x25, 0x07, 0x6e, 0x07, - 0x69, 0xaa, 0x87, 0x5a, 0xa5, 0x93, 0x61, 0xf3, 0x90, 0x42, 0x5a, 0x04, 0x51, 0xd3, 0x14, 0x64, - 0xaa, 0x4d, 0x03, 0x29, 0xaa, 0x83, 0x4c, 0xd5, 0x2d, 0x9d, 0x0e, 0x1b, 0x17, 0x35, 0xad, 0x46, - 0xb4, 0x55, 0xa2, 0x94, 0x9e, 0x80, 0x29, 0xab, 0x79, 0x5d, 0xa3, 0x21, 0xa9, 0xd8, 0x0e, 0x6a, - 0xeb, 0x2f, 0x97, 0x1e, 0x21, 0xfe, 0x9d, 0xc4, 0x0a, 0x12, 0x90, 0x3b, 0x44, 0x2c, 0x3d, 0x0e, - 0xa2, 0xe6, 0xee, 0xab, 0x8e, 0x4d, 0x72, 0xb2, 0x6b, 0xab, 0x1a, 0x2a, 0x3d, 0x4a, 0x4d, 0xa9, - 0x7c, 0x9b, 0x8b, 0xf1, 0x96, 0x70, 0x6f, 0xe9, 0x6d, 0x8f, 0x33, 0x3e, 0x46, 0xb7, 0x04, 0x91, - 0x31, 0xb6, 0x79, 0x10, 0xb1, 0x2b, 0xfa, 0x5e, 0x3c, 0x4f, 0xcc, 0x8a, 0xf6, 0xbe, 0x1d, 0x7e, - 0xef, 0xc3, 0x30, 0x81, 0x2d, 0x83, 0x97, 0x3e, 0x4e, 0x1b, 0x32, 0x7b, 0x3f, 0xf4, 0xc6, 0x0f, - 0xac, 0x37, 0x9e, 0xab, 0x40, 0x21, 0x1c, 0x9f, 0x52, 0x0e, 0x68, 0x84, 0x8a, 0x02, 0x6e, 0x56, - 0x56, 0xeb, 0x6b, 0xb8, 0xcd, 0x78, 0xa9, 0x26, 0x26, 0x70, 0xbb, 0xb3, 0xb9, 0xb1, 0x5b, 0x53, - 0xe4, 0xbd, 0xed, 0xdd, 0x8d, 0xad, 0x9a, 0x98, 0x0c, 0xf7, 0xd5, 0xdf, 0x4d, 0x40, 0xb1, 0xff, - 0x88, 0x24, 0xfd, 0x3c, 0x9c, 0xe4, 0xf7, 0x19, 0x2e, 0xf2, 0x94, 0x5b, 0xba, 0x43, 0xb6, 0x4c, - 0x57, 0xa5, 0xe5, 0xcb, 0x5f, 0xb4, 0x19, 0x66, 0xd5, 0x40, 0xde, 0xf3, 0xba, 0x83, 0x37, 0x44, - 0x57, 0xf5, 0xa4, 0x4d, 0x38, 0x6d, 0x5a, 0x8a, 0xeb, 0xa9, 0x66, 0x4b, 0x75, 0x5a, 0x4a, 0x70, - 0x93, 0xa4, 0xa8, 0x9a, 0x86, 0x5c, 0xd7, 0xa2, 0xa5, 0xca, 0x67, 0xf9, 0x88, 0x69, 0x35, 0x98, - 0x71, 0x90, 0xc3, 0xab, 0xcc, 0x34, 0x12, 0x60, 0xc9, 0xa3, 0x02, 0xec, 0x41, 0xc8, 0x75, 0x55, - 0x5b, 0x41, 0xa6, 0xe7, 0x1c, 0x90, 0xc6, 0x38, 0x2b, 0x67, 0xbb, 0xaa, 0x5d, 0xc3, 0xcf, 0x1f, - 0xce, 0xf9, 0xe4, 0x07, 0x49, 0x28, 0x84, 0x9b, 0x63, 0x7c, 0xd6, 0xd0, 0x48, 0x1d, 0x11, 0x48, - 0xa6, 0x79, 0xf8, 0xbe, 0xad, 0xf4, 0xc2, 0x2a, 0x2e, 0x30, 0x95, 0x0c, 0x6d, 0x59, 0x65, 0x8a, - 0xc4, 0xc5, 0x1d, 0xe7, 0x16, 0x44, 0x5b, 0x84, 0xac, 0xcc, 0x9e, 0xa4, 0x75, 0xc8, 0x5c, 0x77, - 0x09, 0x77, 0x86, 0x70, 0x3f, 0x72, 0x7f, 0xee, 0xe7, 0x1a, 0x84, 0x3c, 0xf7, 0x5c, 0x43, 0xd9, - 0xae, 0xcb, 0x5b, 0xd5, 0x4d, 0x99, 0xc1, 0xa5, 0x53, 0x90, 0x32, 0xd4, 0xdb, 0x07, 0xfd, 0xa5, - 0x88, 0x88, 0x46, 0x75, 0xfc, 0x29, 0x48, 0xdd, 0x42, 0xea, 0x8d, 0xfe, 0x02, 0x40, 0x44, 0x1f, - 0x60, 0xe8, 0x2f, 0x42, 0x9a, 0xf8, 0x4b, 0x02, 0x60, 0x1e, 0x13, 0xc7, 0xa4, 0x2c, 0xa4, 0x56, - 0xeb, 0x32, 0x0e, 0x7f, 0x11, 0x0a, 0x54, 0xaa, 0xec, 0x6c, 0xd4, 0x56, 0x6b, 0x62, 0x62, 0x6e, - 0x19, 0x32, 0xd4, 0x09, 0x78, 0x6b, 0xf8, 0x6e, 0x10, 0xc7, 0xd8, 0x23, 0xe3, 0x10, 0xb8, 0x76, - 0x6f, 0x6b, 0xa5, 0x26, 0x8b, 0x89, 0xf0, 0xf2, 0xba, 0x50, 0x08, 0xf7, 0xc5, 0x1f, 0x4e, 0x4c, - 0x7d, 0x47, 0x80, 0x7c, 0xa8, 0xcf, 0xc5, 0x0d, 0x8a, 0x6a, 0x18, 0xd6, 0x2d, 0x45, 0x35, 0x74, - 0xd5, 0x65, 0x41, 0x01, 0x44, 0x54, 0xc5, 0x92, 0x51, 0x17, 0xed, 0x43, 0x19, 0xfc, 0xeb, 0x02, - 0x88, 0xd1, 0x16, 0x33, 0x32, 0x40, 0xe1, 0x67, 0x3a, 0xc0, 0xd7, 0x04, 0x28, 0xf6, 0xf7, 0x95, - 0x91, 0xe1, 0x9d, 0xfd, 0x99, 0x0e, 0xef, 0xad, 0x04, 0x4c, 0xf4, 0x75, 0x93, 0xa3, 0x8e, 0xee, - 0xd3, 0x30, 0xa5, 0xb7, 0x50, 0xd7, 0xb6, 0x3c, 0x64, 0x6a, 0x07, 0x8a, 0x81, 0x6e, 0x22, 0xa3, - 0x34, 0x47, 0x12, 0xc5, 0xe2, 0xfd, 0xfb, 0xd5, 0x85, 0x8d, 0x00, 0xb7, 0x89, 0x61, 0x95, 0xe9, - 0x8d, 0xb5, 0xda, 0xd6, 0x4e, 0x7d, 0xb7, 0xb6, 0xbd, 0xfa, 0xa2, 0xb2, 0xb7, 0xfd, 0x8b, 0xdb, - 0xf5, 0xe7, 0xb7, 0x65, 0x51, 0x8f, 0x98, 0x7d, 0x80, 0x5b, 0x7d, 0x07, 0xc4, 0xe8, 0xa0, 0xa4, - 0x93, 0x30, 0x6c, 0x58, 0xe2, 0x98, 0x34, 0x0d, 0x93, 0xdb, 0x75, 0xa5, 0xb1, 0xb1, 0x56, 0x53, - 0x6a, 0x57, 0xaf, 0xd6, 0x56, 0x77, 0x1b, 0xf4, 0x06, 0xc2, 0xb7, 0xde, 0xed, 0xdf, 0xd4, 0xaf, - 0x26, 0x61, 0x7a, 0xc8, 0x48, 0xa4, 0x2a, 0x3b, 0x3b, 0xd0, 0xe3, 0xcc, 0x53, 0xa3, 0x8c, 0x7e, - 0x01, 0x97, 0xfc, 0x1d, 0xd5, 0xf1, 0xd8, 0x51, 0xe3, 0x71, 0xc0, 0x5e, 0x32, 0x3d, 0xbd, 0xad, - 0x23, 0x87, 0x5d, 0xd8, 0xd0, 0x03, 0xc5, 0x64, 0x20, 0xa7, 0x77, 0x36, 0x3f, 0x07, 0x92, 0x6d, - 0xb9, 0xba, 0xa7, 0xdf, 0x44, 0x8a, 0x6e, 0xf2, 0xdb, 0x1d, 0x7c, 0xc0, 0x48, 0xc9, 0x22, 0xd7, - 0x6c, 0x98, 0x9e, 0x6f, 0x6d, 0xa2, 0x8e, 0x1a, 0xb1, 0xc6, 0x09, 0x3c, 0x29, 0x8b, 0x5c, 0xe3, - 0x5b, 0x9f, 0x85, 0x42, 0xcb, 0xea, 0xe1, 0xae, 0x8b, 0xda, 0xe1, 0x7a, 0x21, 0xc8, 0x79, 0x2a, - 0xf3, 0x4d, 0x58, 0x3f, 0x1d, 0x5c, 0x2b, 0x15, 0xe4, 0x3c, 0x95, 0x51, 0x93, 0xc7, 0x60, 0x52, - 0xed, 0x74, 0x1c, 0x4c, 0xce, 0x89, 0xe8, 0x09, 0xa1, 0xe8, 0x8b, 0x89, 0xe1, 0xec, 0x73, 0x90, - 0xe5, 0x7e, 0xc0, 0x25, 0x19, 0x7b, 0x42, 0xb1, 0xe9, 0xb1, 0x37, 0x31, 0x9f, 0x93, 0xb3, 0x26, - 0x57, 0x9e, 0x85, 0x82, 0xee, 0x2a, 0xc1, 0x2d, 0x79, 0xe2, 0x4c, 0x62, 0x3e, 0x2b, 0xe7, 0x75, - 0xd7, 0xbf, 0x61, 0x9c, 0x7b, 0x23, 0x01, 0xc5, 0xfe, 0x5b, 0x7e, 0x69, 0x0d, 0xb2, 0x86, 0xa5, - 0xa9, 0x24, 0xb4, 0xe8, 0x27, 0xa6, 0xf9, 0x98, 0x0f, 0x03, 0x0b, 0x9b, 0xcc, 0x5e, 0xf6, 0x91, - 0xb3, 0xff, 0x2a, 0x40, 0x96, 0x8b, 0xa5, 0x13, 0x90, 0xb2, 0x55, 0x6f, 0x9f, 0xd0, 0xa5, 0x57, - 0x12, 0xa2, 0x20, 0x93, 0x67, 0x2c, 0x77, 0x6d, 0xd5, 0x24, 0x21, 0xc0, 0xe4, 0xf8, 0x19, 0xaf, - 0xab, 0x81, 0xd4, 0x16, 0x39, 0x7e, 0x58, 0xdd, 0x2e, 0x32, 0x3d, 0x97, 0xaf, 0x2b, 0x93, 0xaf, - 0x32, 0xb1, 0xf4, 0x24, 0x4c, 0x79, 0x8e, 0xaa, 0x1b, 0x7d, 0xb6, 0x29, 0x62, 0x2b, 0x72, 0x85, - 0x6f, 0x5c, 0x81, 0x53, 0x9c, 0xb7, 0x85, 0x3c, 0x55, 0xdb, 0x47, 0xad, 0x00, 0x94, 0x21, 0xd7, - 0x0c, 0x27, 0x99, 0xc1, 0x1a, 0xd3, 0x73, 0xec, 0xdc, 0xf7, 0x05, 0x98, 0xe2, 0x07, 0xa6, 0x96, - 0xef, 0xac, 0x2d, 0x00, 0xd5, 0x34, 0x2d, 0x2f, 0xec, 0xae, 0xc1, 0x50, 0x1e, 0xc0, 0x2d, 0x54, - 0x7d, 0x90, 0x1c, 0x22, 0x98, 0xed, 0x02, 0x04, 0x9a, 0x23, 0xdd, 0x76, 0x1a, 0xf2, 0xec, 0x13, - 0x0e, 0xf9, 0x0e, 0x48, 0x8f, 0xd8, 0x40, 0x45, 0xf8, 0x64, 0x25, 0xcd, 0x40, 0xba, 0x89, 0x3a, - 0xba, 0xc9, 0x2e, 0x66, 0xe9, 0x03, 0xbf, 0x08, 0x49, 0xf9, 0x17, 0x21, 0x2b, 0x9f, 0x82, 0x69, - 0xcd, 0xea, 0x46, 0x87, 0xbb, 0x22, 0x46, 0x8e, 0xf9, 0xee, 0x35, 0xe1, 0x25, 0x08, 0x5a, 0xcc, - 0xf7, 0x04, 0xe1, 0x4b, 0x89, 0xe4, 0xfa, 0xce, 0xca, 0x57, 0x13, 0xb3, 0xeb, 0x14, 0xba, 0xc3, - 0x67, 0x2a, 0xa3, 0xb6, 0x81, 0x34, 0x3c, 0x7a, 0xf8, 0xf2, 0x93, 0xf0, 0x54, 0x47, 0xf7, 0xf6, - 0x7b, 0xcd, 0x05, 0xcd, 0xea, 0x2e, 0x76, 0xac, 0x8e, 0x15, 0x7c, 0xfa, 0xc4, 0x4f, 0xe4, 0x81, - 0xfc, 0xc5, 0x3e, 0x7f, 0xe6, 0x7c, 0xe9, 0x6c, 0xec, 0xb7, 0xd2, 0xca, 0x36, 0x4c, 0x33, 0x63, - 0x85, 0x7c, 0x7f, 0xa1, 0xa7, 0x08, 0xe9, 0xbe, 0x77, 0x58, 0xa5, 0xaf, 0xbf, 0x4d, 0xca, 0xb5, - 0x3c, 0xc5, 0xa0, 0x58, 0x47, 0x0f, 0x1a, 0x15, 0x19, 0x1e, 0xe8, 0xe3, 0xa3, 0x5b, 0x13, 0x39, - 0x31, 0x8c, 0xdf, 0x65, 0x8c, 0xd3, 0x21, 0xc6, 0x06, 0x83, 0x56, 0x56, 0x61, 0xe2, 0x38, 0x5c, - 0xff, 0xcc, 0xb8, 0x0a, 0x28, 0x4c, 0xb2, 0x0e, 0x93, 0x84, 0x44, 0xeb, 0xb9, 0x9e, 0xd5, 0x25, - 0x79, 0xef, 0xfe, 0x34, 0xff, 0xf2, 0x36, 0xdd, 0x2b, 0x45, 0x0c, 0x5b, 0xf5, 0x51, 0x95, 0x0a, - 0x90, 0x4f, 0x4e, 0x2d, 0xa4, 0x19, 0x31, 0x0c, 0x6f, 0xb2, 0x81, 0xf8, 0xf6, 0x95, 0x4f, 0xc2, - 0x0c, 0xfe, 0x9b, 0xa4, 0xa5, 0xf0, 0x48, 0xe2, 0x2f, 0xbc, 0x4a, 0xdf, 0x7f, 0x85, 0x6e, 0xc7, - 0x69, 0x9f, 0x20, 0x34, 0xa6, 0xd0, 0x2a, 0x76, 0x90, 0xe7, 0x21, 0xc7, 0x55, 0x54, 0x63, 0xd8, - 0xf0, 0x42, 0x37, 0x06, 0xa5, 0xcf, 0xbf, 0xd3, 0xbf, 0x8a, 0xeb, 0x14, 0x59, 0x35, 0x8c, 0xca, - 0x1e, 0x9c, 0x1c, 0x12, 0x15, 0x23, 0x70, 0xbe, 0xca, 0x38, 0x67, 0x06, 0x22, 0x03, 0xd3, 0xee, - 0x00, 0x97, 0xfb, 0x6b, 0x39, 0x02, 0xe7, 0x1f, 0x31, 0x4e, 0x89, 0x61, 0xf9, 0x92, 0x62, 0xc6, - 0xe7, 0x60, 0xea, 0x26, 0x72, 0x9a, 0x96, 0xcb, 0x6e, 0x69, 0x46, 0xa0, 0x7b, 0x8d, 0xd1, 0x4d, - 0x32, 0x20, 0xb9, 0xb6, 0xc1, 0x5c, 0x97, 0x21, 0xdb, 0x56, 0x35, 0x34, 0x02, 0xc5, 0x17, 0x18, - 0xc5, 0x38, 0xb6, 0xc7, 0xd0, 0x2a, 0x14, 0x3a, 0x16, 0xab, 0x4c, 0xf1, 0xf0, 0xd7, 0x19, 0x3c, - 0xcf, 0x31, 0x8c, 0xc2, 0xb6, 0xec, 0x9e, 0x81, 0xcb, 0x56, 0x3c, 0xc5, 0x1f, 0x73, 0x0a, 0x8e, - 0x61, 0x14, 0xc7, 0x70, 0xeb, 0x9f, 0x70, 0x0a, 0x37, 0xe4, 0xcf, 0x67, 0x21, 0x6f, 0x99, 0xc6, - 0x81, 0x65, 0x8e, 0x32, 0x88, 0x2f, 0x32, 0x06, 0x60, 0x10, 0x4c, 0x70, 0x05, 0x72, 0xa3, 0x2e, - 0xc4, 0x9f, 0xbd, 0xc3, 0xb7, 0x07, 0x5f, 0x81, 0x75, 0x98, 0xe4, 0x09, 0x4a, 0xb7, 0xcc, 0x11, - 0x28, 0xbe, 0xcc, 0x28, 0x8a, 0x21, 0x18, 0x9b, 0x86, 0x87, 0x5c, 0xaf, 0x83, 0x46, 0x21, 0x79, - 0x83, 0x4f, 0x83, 0x41, 0x98, 0x2b, 0x9b, 0xc8, 0xd4, 0xf6, 0x47, 0x63, 0xf8, 0x0a, 0x77, 0x25, - 0xc7, 0x60, 0x8a, 0x55, 0x98, 0xe8, 0xaa, 0x8e, 0xbb, 0xaf, 0x1a, 0x23, 0x2d, 0xc7, 0x9f, 0x33, - 0x8e, 0x82, 0x0f, 0x62, 0x1e, 0xe9, 0x99, 0xc7, 0xa1, 0xf9, 0x2a, 0xf7, 0x48, 0x08, 0xc6, 0xb6, - 0x9e, 0xeb, 0x91, 0x2b, 0xad, 0xe3, 0xb0, 0xfd, 0x05, 0xdf, 0x7a, 0x14, 0xbb, 0x15, 0x66, 0xbc, - 0x02, 0x39, 0x57, 0xbf, 0x3d, 0x12, 0xcd, 0x5f, 0xf2, 0x95, 0x26, 0x00, 0x0c, 0x7e, 0x11, 0x4e, - 0x0d, 0x2d, 0x13, 0x23, 0x90, 0xfd, 0x15, 0x23, 0x3b, 0x31, 0xa4, 0x54, 0xb0, 0x94, 0x70, 0x5c, - 0xca, 0xbf, 0xe6, 0x29, 0x01, 0x45, 0xb8, 0x76, 0xf0, 0x59, 0xc1, 0x55, 0xdb, 0xc7, 0xf3, 0xda, - 0xdf, 0x70, 0xaf, 0x51, 0x6c, 0x9f, 0xd7, 0x76, 0xe1, 0x04, 0x63, 0x3c, 0xde, 0xba, 0x7e, 0x8d, - 0x27, 0x56, 0x8a, 0xde, 0xeb, 0x5f, 0xdd, 0x4f, 0xc1, 0xac, 0xef, 0x4e, 0xde, 0x94, 0xba, 0x4a, - 0x57, 0xb5, 0x47, 0x60, 0xfe, 0x3a, 0x63, 0xe6, 0x19, 0xdf, 0xef, 0x6a, 0xdd, 0x2d, 0xd5, 0xc6, - 0xe4, 0x2f, 0x40, 0x89, 0x93, 0xf7, 0x4c, 0x07, 0x69, 0x56, 0xc7, 0xd4, 0x6f, 0xa3, 0xd6, 0x08, - 0xd4, 0x7f, 0x1b, 0x59, 0xaa, 0xbd, 0x10, 0x1c, 0x33, 0x6f, 0x80, 0xe8, 0xf7, 0x2a, 0x8a, 0xde, - 0xb5, 0x2d, 0xc7, 0x8b, 0x61, 0xfc, 0x06, 0x5f, 0x29, 0x1f, 0xb7, 0x41, 0x60, 0x95, 0x1a, 0x14, - 0xc9, 0xe3, 0xa8, 0x21, 0xf9, 0x77, 0x8c, 0x68, 0x22, 0x40, 0xb1, 0xc4, 0xa1, 0x59, 0x5d, 0x5b, - 0x75, 0x46, 0xc9, 0x7f, 0x7f, 0xcf, 0x13, 0x07, 0x83, 0xb0, 0xc4, 0xe1, 0x1d, 0xd8, 0x08, 0x57, - 0xfb, 0x11, 0x18, 0xbe, 0xc9, 0x13, 0x07, 0xc7, 0x30, 0x0a, 0xde, 0x30, 0x8c, 0x40, 0xf1, 0x0f, - 0x9c, 0x82, 0x63, 0x30, 0xc5, 0x27, 0x82, 0x42, 0xeb, 0xa0, 0x8e, 0xee, 0x7a, 0x0e, 0x6d, 0x85, - 0xef, 0x4f, 0xf5, 0xad, 0x77, 0xfa, 0x9b, 0x30, 0x39, 0x04, 0xc5, 0x99, 0x88, 0x5d, 0xa1, 0x92, - 0x93, 0x52, 0xfc, 0xc0, 0xbe, 0xcd, 0x33, 0x51, 0x08, 0x86, 0xc7, 0x16, 0xea, 0x10, 0xb1, 0xdb, - 0x35, 0x7c, 0x3e, 0x18, 0x81, 0xee, 0x3b, 0x91, 0xc1, 0x35, 0x38, 0x16, 0x73, 0x86, 0xfa, 0x9f, - 0x9e, 0x79, 0x03, 0x1d, 0x8c, 0x14, 0x9d, 0xff, 0x18, 0xe9, 0x7f, 0xf6, 0x28, 0x92, 0xe6, 0x90, - 0xc9, 0x48, 0x3f, 0x25, 0xc5, 0xfd, 0x58, 0xa7, 0xf4, 0x2b, 0xf7, 0xd8, 0x7c, 0xfb, 0xdb, 0xa9, - 0xca, 0x26, 0x0e, 0xf2, 0xfe, 0xa6, 0x27, 0x9e, 0xec, 0x95, 0x7b, 0x7e, 0x9c, 0xf7, 0xf5, 0x3c, - 0x95, 0xab, 0x30, 0xd1, 0xd7, 0xf0, 0xc4, 0x53, 0xfd, 0x2a, 0xa3, 0x2a, 0x84, 0xfb, 0x9d, 0xca, - 0x32, 0xa4, 0x70, 0xf3, 0x12, 0x0f, 0xff, 0x35, 0x06, 0x27, 0xe6, 0x95, 0x8f, 0x41, 0x96, 0x37, - 0x2d, 0xf1, 0xd0, 0x5f, 0x67, 0x50, 0x1f, 0x82, 0xe1, 0xbc, 0x61, 0x89, 0x87, 0xff, 0x06, 0x87, - 0x73, 0x08, 0x86, 0x8f, 0xee, 0xc2, 0x7f, 0xfa, 0xcd, 0x14, 0x2b, 0x3a, 0xdc, 0x77, 0x57, 0x60, - 0x9c, 0x75, 0x2a, 0xf1, 0xe8, 0xcf, 0xb0, 0x97, 0x73, 0x44, 0xe5, 0x22, 0xa4, 0x47, 0x74, 0xf8, - 0x6f, 0x31, 0x28, 0xb5, 0xaf, 0xac, 0x42, 0x3e, 0xd4, 0x9d, 0xc4, 0xc3, 0x7f, 0x9b, 0xc1, 0xc3, - 0x28, 0x3c, 0x74, 0xd6, 0x9d, 0xc4, 0x13, 0xfc, 0x0e, 0x1f, 0x3a, 0x43, 0x60, 0xb7, 0xf1, 0xc6, - 0x24, 0x1e, 0xfd, 0xbb, 0xdc, 0xeb, 0x1c, 0x52, 0x79, 0x16, 0x72, 0x7e, 0xb1, 0x89, 0xc7, 0xff, - 0x1e, 0xc3, 0x07, 0x18, 0xec, 0x81, 0x50, 0xb1, 0x8b, 0xa7, 0xf8, 0x7d, 0xee, 0x81, 0x10, 0x0a, - 0x6f, 0xa3, 0x68, 0x03, 0x13, 0xcf, 0xf4, 0x59, 0xbe, 0x8d, 0x22, 0xfd, 0x0b, 0x5e, 0x4d, 0x92, - 0xf3, 0xe3, 0x29, 0xfe, 0x80, 0xaf, 0x26, 0xb1, 0xc7, 0xc3, 0x88, 0x76, 0x04, 0xf1, 0x1c, 0x7f, - 0xc8, 0x87, 0x11, 0x69, 0x08, 0x2a, 0x3b, 0x20, 0x0d, 0x76, 0x03, 0xf1, 0x7c, 0x9f, 0x63, 0x7c, - 0x53, 0x03, 0xcd, 0x40, 0xe5, 0x79, 0x38, 0x31, 0xbc, 0x13, 0x88, 0x67, 0xfd, 0xfc, 0xbd, 0xc8, - 0xd9, 0x2d, 0xdc, 0x08, 0x54, 0x76, 0x83, 0x92, 0x12, 0xee, 0x02, 0xe2, 0x69, 0x5f, 0xbd, 0xd7, - 0x9f, 0xb8, 0xc3, 0x4d, 0x40, 0xa5, 0x0a, 0x10, 0x14, 0xe0, 0x78, 0xae, 0xd7, 0x18, 0x57, 0x08, - 0x84, 0xb7, 0x06, 0xab, 0xbf, 0xf1, 0xf8, 0x2f, 0xf0, 0xad, 0xc1, 0x10, 0x78, 0x6b, 0xf0, 0xd2, - 0x1b, 0x8f, 0x7e, 0x9d, 0x6f, 0x0d, 0x0e, 0xc1, 0x91, 0x1d, 0xaa, 0x6e, 0xf1, 0x0c, 0x5f, 0xe4, - 0x91, 0x1d, 0x42, 0x55, 0xb6, 0x61, 0x6a, 0xa0, 0x20, 0xc6, 0x53, 0x7d, 0x89, 0x51, 0x89, 0xd1, - 0x7a, 0x18, 0x2e, 0x5e, 0xac, 0x18, 0xc6, 0xb3, 0xfd, 0x69, 0xa4, 0x78, 0xb1, 0x5a, 0x58, 0xb9, - 0x02, 0x59, 0xb3, 0x67, 0x18, 0x78, 0xf3, 0x48, 0xf7, 0xff, 0x81, 0x5d, 0xe9, 0x3f, 0xde, 0x67, - 0xde, 0xe1, 0x80, 0xca, 0x32, 0xa4, 0x51, 0xb7, 0x89, 0x5a, 0x71, 0xc8, 0xff, 0x7c, 0x9f, 0x27, - 0x4c, 0x6c, 0x5d, 0x79, 0x16, 0x80, 0x5e, 0x8d, 0x90, 0xcf, 0x7e, 0x31, 0xd8, 0xff, 0x7a, 0x9f, - 0xfd, 0xf4, 0x25, 0x80, 0x04, 0x04, 0xf4, 0x87, 0x34, 0xf7, 0x27, 0x78, 0xa7, 0x9f, 0x80, 0xac, - 0xc8, 0x65, 0x18, 0xbf, 0xee, 0x5a, 0xa6, 0xa7, 0x76, 0xe2, 0xd0, 0xff, 0xcd, 0xd0, 0xdc, 0x1e, - 0x3b, 0xac, 0x6b, 0x39, 0xc8, 0x53, 0x3b, 0x6e, 0x1c, 0xf6, 0x7f, 0x18, 0xd6, 0x07, 0x60, 0xb0, - 0xa6, 0xba, 0xde, 0x28, 0xf3, 0xfe, 0x31, 0x07, 0x73, 0x00, 0x1e, 0x34, 0xfe, 0xfb, 0x06, 0x3a, - 0x88, 0xc3, 0xbe, 0xcb, 0x07, 0xcd, 0xec, 0x2b, 0x1f, 0x83, 0x1c, 0xfe, 0x93, 0xfe, 0x9e, 0x2d, - 0x06, 0xfc, 0xbf, 0x0c, 0x1c, 0x20, 0xf0, 0x9b, 0x5d, 0xaf, 0xe5, 0xe9, 0xf1, 0xce, 0xfe, 0x3f, - 0xb6, 0xd2, 0xdc, 0xbe, 0x52, 0x85, 0xbc, 0xeb, 0xb5, 0x5a, 0x3d, 0xd6, 0x9f, 0xc6, 0xc0, 0xff, - 0xff, 0x7d, 0xff, 0xca, 0xc2, 0xc7, 0xe0, 0xd5, 0xbe, 0x75, 0xc3, 0xb3, 0x2d, 0xf2, 0x99, 0x23, - 0x8e, 0xe1, 0x1e, 0x63, 0x08, 0x41, 0x56, 0x6a, 0xc3, 0xaf, 0x6f, 0x61, 0xdd, 0x5a, 0xb7, 0xe8, - 0xc5, 0xed, 0x4b, 0x73, 0xf1, 0x37, 0xb0, 0xf0, 0xd9, 0x34, 0x3c, 0xa0, 0x59, 0xdd, 0xa6, 0xe5, - 0x2e, 0x36, 0x2d, 0x6f, 0x7f, 0xd1, 0x32, 0x19, 0x99, 0x94, 0xb4, 0x4c, 0x34, 0x7b, 0xbc, 0x4b, - 0xdc, 0xb9, 0x53, 0x90, 0x6e, 0xf4, 0x9a, 0xcd, 0x03, 0x49, 0x84, 0xa4, 0xdb, 0x6b, 0xb2, 0x1f, - 0x44, 0xe1, 0x3f, 0xe7, 0x7e, 0x90, 0x84, 0x7c, 0x43, 0xed, 0xda, 0x06, 0xaa, 0x9b, 0xa8, 0xde, - 0x96, 0x4a, 0x90, 0x21, 0x73, 0x7c, 0x86, 0x18, 0x09, 0xd7, 0xc6, 0x64, 0xf6, 0xec, 0x6b, 0x96, - 0xc8, 0xe5, 0x76, 0xc2, 0xd7, 0x2c, 0xf9, 0x9a, 0x73, 0xf4, 0x6e, 0xdb, 0xd7, 0x9c, 0xf3, 0x35, - 0xe7, 0xc9, 0x0d, 0x77, 0xd2, 0xd7, 0x9c, 0xf7, 0x35, 0xcb, 0xe4, 0x0b, 0xce, 0x84, 0xaf, 0x59, - 0xf6, 0x35, 0x17, 0xc8, 0x37, 0x9b, 0x94, 0xaf, 0xb9, 0xe0, 0x6b, 0x2e, 0x92, 0x4f, 0x35, 0x53, - 0xbe, 0xe6, 0xa2, 0xaf, 0xb9, 0x44, 0x3e, 0xcf, 0x48, 0xbe, 0xe6, 0x92, 0xaf, 0xb9, 0x4c, 0x7e, - 0xf7, 0x34, 0xee, 0x6b, 0x2e, 0x4b, 0xb3, 0x30, 0x4e, 0x67, 0xf6, 0x34, 0xf9, 0x86, 0x3f, 0x79, - 0x6d, 0x4c, 0xe6, 0x82, 0x40, 0xf7, 0x0c, 0xf9, 0x6d, 0x53, 0x26, 0xd0, 0x3d, 0x13, 0xe8, 0x96, - 0xc8, 0x7f, 0xb1, 0x10, 0x03, 0xdd, 0x52, 0xa0, 0x3b, 0x57, 0x9a, 0xc0, 0xa1, 0x11, 0xe8, 0xce, - 0x05, 0xba, 0xf3, 0xa5, 0x22, 0xf6, 0x7f, 0xa0, 0x3b, 0x1f, 0xe8, 0x96, 0x4b, 0x93, 0x67, 0x84, - 0xf9, 0x42, 0xa0, 0x5b, 0x96, 0x9e, 0x82, 0xbc, 0xdb, 0x6b, 0x2a, 0x2c, 0xc9, 0x93, 0xdf, 0x50, - 0xe5, 0x97, 0x60, 0x01, 0x47, 0x04, 0x59, 0xd4, 0x6b, 0x63, 0x32, 0xb8, 0xbd, 0x26, 0xcb, 0xc1, - 0x2b, 0x05, 0x20, 0x57, 0x4f, 0x0a, 0xf9, 0xe9, 0xf3, 0xca, 0xda, 0x9b, 0x77, 0xcb, 0x63, 0xdf, - 0xbb, 0x5b, 0x1e, 0xfb, 0xb7, 0xbb, 0xe5, 0xb1, 0xb7, 0xee, 0x96, 0x85, 0x77, 0xef, 0x96, 0x85, - 0xf7, 0xee, 0x96, 0x85, 0x3b, 0x87, 0x65, 0xe1, 0x2b, 0x87, 0x65, 0xe1, 0x6b, 0x87, 0x65, 0xe1, - 0x5b, 0x87, 0x65, 0xe1, 0xcd, 0xc3, 0xb2, 0xf0, 0xbd, 0xc3, 0xb2, 0xf0, 0xd6, 0x61, 0x59, 0xf8, - 0xd1, 0x61, 0x79, 0xec, 0xdd, 0xc3, 0xb2, 0xf0, 0xde, 0x61, 0x79, 0xec, 0xce, 0x0f, 0xcb, 0x63, - 0xcd, 0x0c, 0x09, 0xa3, 0x73, 0x3f, 0x09, 0x00, 0x00, 0xff, 0xff, 0x25, 0xd2, 0x18, 0xa9, 0x31, - 0x35, 0x00, 0x00, + // 4117 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xe7, + 0x75, 0xe6, 0xe2, 0x46, 0xe0, 0x00, 0x04, 0x97, 0x4b, 0x8a, 0x82, 0xe8, 0x18, 0xa2, 0x68, 0x3b, + 0xa6, 0xed, 0x98, 0xb4, 0x29, 0x52, 0x17, 0xa8, 0x89, 0x0b, 0x92, 0x10, 0x45, 0x97, 0x24, 0x98, + 0x05, 0x19, 0x5f, 0x32, 0x9d, 0x9d, 0xc5, 0xe2, 0x07, 0xb8, 0xd2, 0x62, 0x77, 0xb3, 0xbb, 0x90, + 0x4c, 0x4d, 0x1f, 0xd4, 0x71, 0x2f, 0x93, 0xe9, 0xbd, 0xe9, 0x4c, 0x13, 0xd7, 0x71, 0x9b, 0x74, + 0x1a, 0xa7, 0xe9, 0x2d, 0xe9, 0x25, 0x4d, 0xd2, 0x97, 0xbe, 0xa4, 0xf5, 0x53, 0x27, 0x79, 0xeb, + 0x43, 0x1e, 0x2c, 0xc6, 0x33, 0x4d, 0x5b, 0xb7, 0x75, 0x5b, 0x3d, 0x78, 0x46, 0x2f, 0x99, 0xff, + 0xb6, 0xbb, 0xb8, 0x50, 0x0b, 0x66, 0xc6, 0xce, 0x93, 0xb8, 0xe7, 0x9c, 0xef, 0xdb, 0xf3, 0x9f, + 0xff, 0xfc, 0xff, 0x39, 0xff, 0xbf, 0x10, 0xbc, 0x55, 0x82, 0xd9, 0x96, 0x65, 0xb5, 0x0c, 0xb4, + 0x68, 0x3b, 0x96, 0x67, 0xd5, 0x3b, 0xcd, 0xc5, 0x06, 0x72, 0x35, 0x47, 0xb7, 0x3d, 0xcb, 0x59, + 0x20, 0x32, 0x69, 0x9c, 0x5a, 0x2c, 0x70, 0x8b, 0xb9, 0x6d, 0x98, 0xb8, 0xaa, 0x1b, 0x68, 0xdd, + 0x37, 0xac, 0x21, 0x4f, 0xba, 0x04, 0x89, 0xa6, 0x6e, 0xa0, 0x82, 0x30, 0x1b, 0x9f, 0xcf, 0x2e, + 0x3d, 0xba, 0xd0, 0x03, 0x5a, 0xe8, 0x46, 0xec, 0x62, 0xb1, 0x4c, 0x10, 0x73, 0xef, 0x24, 0x60, + 0x72, 0x80, 0x56, 0x92, 0x20, 0x61, 0xaa, 0x6d, 0xcc, 0x28, 0xcc, 0x67, 0x64, 0xf2, 0xb7, 0x54, + 0x80, 0x51, 0x5b, 0xd5, 0x6e, 0xa8, 0x2d, 0x54, 0x88, 0x11, 0x31, 0x7f, 0x94, 0x8a, 0x00, 0x0d, + 0x64, 0x23, 0xb3, 0x81, 0x4c, 0xed, 0xb0, 0x10, 0x9f, 0x8d, 0xcf, 0x67, 0xe4, 0x90, 0x44, 0x7a, + 0x0a, 0x26, 0xec, 0x4e, 0xdd, 0xd0, 0x35, 0x25, 0x64, 0x06, 0xb3, 0xf1, 0xf9, 0xa4, 0x2c, 0x52, + 0xc5, 0x7a, 0x60, 0xfc, 0x38, 0x8c, 0xdf, 0x42, 0xea, 0x8d, 0xb0, 0x69, 0x96, 0x98, 0xe6, 0xb1, + 0x38, 0x64, 0xb8, 0x06, 0xb9, 0x36, 0x72, 0x5d, 0xb5, 0x85, 0x14, 0xef, 0xd0, 0x46, 0x85, 0x04, + 0x19, 0xfd, 0x6c, 0xdf, 0xe8, 0x7b, 0x47, 0x9e, 0x65, 0xa8, 0xbd, 0x43, 0x1b, 0x49, 0x65, 0xc8, + 0x20, 0xb3, 0xd3, 0xa6, 0x0c, 0xc9, 0x63, 0xe2, 0x57, 0x31, 0x3b, 0xed, 0x5e, 0x96, 0x34, 0x86, + 0x31, 0x8a, 0x51, 0x17, 0x39, 0x37, 0x75, 0x0d, 0x15, 0x52, 0x84, 0xe0, 0xf1, 0x3e, 0x82, 0x1a, + 0xd5, 0xf7, 0x72, 0x70, 0x9c, 0xb4, 0x06, 0x19, 0xf4, 0x8a, 0x87, 0x4c, 0x57, 0xb7, 0xcc, 0xc2, + 0x28, 0x21, 0x79, 0x6c, 0xc0, 0x2c, 0x22, 0xa3, 0xd1, 0x4b, 0x11, 0xe0, 0xa4, 0x0b, 0x30, 0x6a, + 0xd9, 0x9e, 0x6e, 0x99, 0x6e, 0x21, 0x3d, 0x2b, 0xcc, 0x67, 0x97, 0x3e, 0x32, 0x30, 0x11, 0xaa, + 0xd4, 0x46, 0xe6, 0xc6, 0xd2, 0x26, 0x88, 0xae, 0xd5, 0x71, 0x34, 0xa4, 0x68, 0x56, 0x03, 0x29, + 0xba, 0xd9, 0xb4, 0x0a, 0x19, 0x42, 0x70, 0xb6, 0x7f, 0x20, 0xc4, 0x70, 0xcd, 0x6a, 0xa0, 0x4d, + 0xb3, 0x69, 0xc9, 0x79, 0xb7, 0xeb, 0x59, 0x9a, 0x86, 0x94, 0x7b, 0x68, 0x7a, 0xea, 0x2b, 0x85, + 0x1c, 0xc9, 0x10, 0xf6, 0x34, 0xf7, 0xed, 0x14, 0x8c, 0x0f, 0x93, 0x62, 0x57, 0x20, 0xd9, 0xc4, + 0xa3, 0x2c, 0xc4, 0x4e, 0x12, 0x03, 0x8a, 0xe9, 0x0e, 0x62, 0xea, 0x27, 0x0c, 0x62, 0x19, 0xb2, + 0x26, 0x72, 0x3d, 0xd4, 0xa0, 0x19, 0x11, 0x1f, 0x32, 0xa7, 0x80, 0x82, 0xfa, 0x53, 0x2a, 0xf1, + 0x13, 0xa5, 0xd4, 0x8b, 0x30, 0xee, 0xbb, 0xa4, 0x38, 0xaa, 0xd9, 0xe2, 0xb9, 0xb9, 0x18, 0xe5, + 0xc9, 0x42, 0x85, 0xe3, 0x64, 0x0c, 0x93, 0xf3, 0xa8, 0xeb, 0x59, 0x5a, 0x07, 0xb0, 0x4c, 0x64, + 0x35, 0x95, 0x06, 0xd2, 0x8c, 0x42, 0xfa, 0x98, 0x28, 0x55, 0xb1, 0x49, 0x5f, 0x94, 0x2c, 0x2a, + 0xd5, 0x0c, 0xe9, 0x72, 0x90, 0x6a, 0xa3, 0xc7, 0x64, 0xca, 0x36, 0x5d, 0x64, 0x7d, 0xd9, 0xb6, + 0x0f, 0x79, 0x07, 0xe1, 0xbc, 0x47, 0x0d, 0x36, 0xb2, 0x0c, 0x71, 0x62, 0x21, 0x72, 0x64, 0x32, + 0x83, 0xd1, 0x81, 0x8d, 0x39, 0xe1, 0x47, 0xe9, 0x11, 0xf0, 0x05, 0x0a, 0x49, 0x2b, 0x20, 0xbb, + 0x50, 0x8e, 0x0b, 0x77, 0xd4, 0x36, 0x9a, 0xb9, 0x0d, 0xf9, 0xee, 0xf0, 0x48, 0x53, 0x90, 0x74, + 0x3d, 0xd5, 0xf1, 0x48, 0x16, 0x26, 0x65, 0xfa, 0x20, 0x89, 0x10, 0x47, 0x66, 0x83, 0xec, 0x72, + 0x49, 0x19, 0xff, 0x29, 0xfd, 0x6c, 0x30, 0xe0, 0x38, 0x19, 0xf0, 0x47, 0xfb, 0x67, 0xb4, 0x8b, + 0xb9, 0x77, 0xdc, 0x33, 0x17, 0x61, 0xac, 0x6b, 0x00, 0xc3, 0xbe, 0x7a, 0xee, 0x17, 0xe0, 0xd4, + 0x40, 0x6a, 0xe9, 0x45, 0x98, 0xea, 0x98, 0xba, 0xe9, 0x21, 0xc7, 0x76, 0x10, 0xce, 0x58, 0xfa, + 0xaa, 0xc2, 0xbf, 0x8d, 0x1e, 0x93, 0x73, 0xfb, 0x61, 0x6b, 0xca, 0x22, 0x4f, 0x76, 0xfa, 0x85, + 0x4f, 0x66, 0xd2, 0x3f, 0x1a, 0x15, 0xef, 0xdc, 0xb9, 0x73, 0x27, 0x36, 0xf7, 0xf9, 0x14, 0x4c, + 0x0d, 0x5a, 0x33, 0x03, 0x97, 0xef, 0x34, 0xa4, 0xcc, 0x4e, 0xbb, 0x8e, 0x1c, 0x12, 0xa4, 0xa4, + 0xcc, 0x9e, 0xa4, 0x32, 0x24, 0x0d, 0xb5, 0x8e, 0x8c, 0x42, 0x62, 0x56, 0x98, 0xcf, 0x2f, 0x3d, + 0x35, 0xd4, 0xaa, 0x5c, 0xd8, 0xc2, 0x10, 0x99, 0x22, 0xa5, 0x4f, 0x40, 0x82, 0x6d, 0xd1, 0x98, + 0xe1, 0xc9, 0xe1, 0x18, 0xf0, 0x5a, 0x92, 0x09, 0x4e, 0x7a, 0x08, 0x32, 0xf8, 0x5f, 0x9a, 0x1b, + 0x29, 0xe2, 0x73, 0x1a, 0x0b, 0x70, 0x5e, 0x48, 0x33, 0x90, 0x26, 0xcb, 0xa4, 0x81, 0x78, 0x69, + 0xf3, 0x9f, 0x71, 0x62, 0x35, 0x50, 0x53, 0xed, 0x18, 0x9e, 0x72, 0x53, 0x35, 0x3a, 0x88, 0x24, + 0x7c, 0x46, 0xce, 0x31, 0xe1, 0xa7, 0xb0, 0x4c, 0x3a, 0x0b, 0x59, 0xba, 0xaa, 0x74, 0xb3, 0x81, + 0x5e, 0x21, 0xbb, 0x67, 0x52, 0xa6, 0x0b, 0x6d, 0x13, 0x4b, 0xf0, 0xeb, 0xaf, 0xbb, 0x96, 0xc9, + 0x53, 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x2f, 0xf6, 0x6e, 0xdc, 0x0f, 0x0f, 0x1e, 0x5e, 0x6f, + 0x4e, 0xcd, 0x7d, 0x33, 0x06, 0x09, 0xb2, 0x5f, 0x8c, 0x43, 0x76, 0xef, 0xa5, 0xdd, 0x8a, 0xb2, + 0x5e, 0xdd, 0x5f, 0xdd, 0xaa, 0x88, 0x82, 0x94, 0x07, 0x20, 0x82, 0xab, 0x5b, 0xd5, 0xf2, 0x9e, + 0x18, 0xf3, 0x9f, 0x37, 0x77, 0xf6, 0x2e, 0x2c, 0x8b, 0x71, 0x1f, 0xb0, 0x4f, 0x05, 0x89, 0xb0, + 0xc1, 0xf9, 0x25, 0x31, 0x29, 0x89, 0x90, 0xa3, 0x04, 0x9b, 0x2f, 0x56, 0xd6, 0x2f, 0x2c, 0x8b, + 0xa9, 0x6e, 0xc9, 0xf9, 0x25, 0x71, 0x54, 0x1a, 0x83, 0x0c, 0x91, 0xac, 0x56, 0xab, 0x5b, 0x62, + 0xda, 0xe7, 0xac, 0xed, 0xc9, 0x9b, 0x3b, 0x1b, 0x62, 0xc6, 0xe7, 0xdc, 0x90, 0xab, 0xfb, 0xbb, + 0x22, 0xf8, 0x0c, 0xdb, 0x95, 0x5a, 0xad, 0xbc, 0x51, 0x11, 0xb3, 0xbe, 0xc5, 0xea, 0x4b, 0x7b, + 0x95, 0x9a, 0x98, 0xeb, 0x72, 0xeb, 0xfc, 0x92, 0x38, 0xe6, 0xbf, 0xa2, 0xb2, 0xb3, 0xbf, 0x2d, + 0xe6, 0xa5, 0x09, 0x18, 0xa3, 0xaf, 0xe0, 0x4e, 0x8c, 0xf7, 0x88, 0x2e, 0x2c, 0x8b, 0x62, 0xe0, + 0x08, 0x65, 0x99, 0xe8, 0x12, 0x5c, 0x58, 0x16, 0xa5, 0xb9, 0x35, 0x48, 0x92, 0xec, 0x92, 0x24, + 0xc8, 0x6f, 0x95, 0x57, 0x2b, 0x5b, 0x4a, 0x75, 0x77, 0x6f, 0xb3, 0xba, 0x53, 0xde, 0x12, 0x85, + 0x40, 0x26, 0x57, 0x3e, 0xb9, 0xbf, 0x29, 0x57, 0xd6, 0xc5, 0x58, 0x58, 0xb6, 0x5b, 0x29, 0xef, + 0x55, 0xd6, 0xc5, 0xf8, 0x9c, 0x06, 0x53, 0x83, 0xf6, 0xc9, 0x81, 0x2b, 0x23, 0x34, 0xc5, 0xb1, + 0x63, 0xa6, 0x98, 0x70, 0xf5, 0x4d, 0xf1, 0x0f, 0x63, 0x30, 0x39, 0xa0, 0x56, 0x0c, 0x7c, 0xc9, + 0x73, 0x90, 0xa4, 0x29, 0x4a, 0xab, 0xe7, 0x13, 0x03, 0x8b, 0x0e, 0x49, 0xd8, 0xbe, 0x0a, 0x4a, + 0x70, 0xe1, 0x0e, 0x22, 0x7e, 0x4c, 0x07, 0x81, 0x29, 0xfa, 0xf6, 0xf4, 0x9f, 0xef, 0xdb, 0xd3, + 0x69, 0xd9, 0xbb, 0x30, 0x4c, 0xd9, 0x23, 0xb2, 0x93, 0xed, 0xed, 0xc9, 0x01, 0x7b, 0xfb, 0x15, + 0x98, 0xe8, 0x23, 0x1a, 0x7a, 0x8f, 0x7d, 0x55, 0x80, 0xc2, 0x71, 0xc1, 0x89, 0xd8, 0xe9, 0x62, + 0x5d, 0x3b, 0xdd, 0x95, 0xde, 0x08, 0x9e, 0x3b, 0x7e, 0x12, 0xfa, 0xe6, 0xfa, 0x4d, 0x01, 0xa6, + 0x07, 0x77, 0x8a, 0x03, 0x7d, 0xf8, 0x04, 0xa4, 0xda, 0xc8, 0x3b, 0xb0, 0x78, 0xb7, 0xf4, 0xd1, + 0x01, 0x35, 0x18, 0xab, 0x7b, 0x27, 0x9b, 0xa1, 0xc2, 0x45, 0x3c, 0x7e, 0x5c, 0xbb, 0x47, 0xbd, + 0xe9, 0xf3, 0xf4, 0xb3, 0x31, 0x38, 0x35, 0x90, 0x7c, 0xa0, 0xa3, 0x0f, 0x03, 0xe8, 0xa6, 0xdd, + 0xf1, 0x68, 0x47, 0x44, 0x37, 0xd8, 0x0c, 0x91, 0x90, 0xcd, 0x0b, 0x6f, 0x9e, 0x1d, 0xcf, 0xd7, + 0xc7, 0x89, 0x1e, 0xa8, 0x88, 0x18, 0x5c, 0x0a, 0x1c, 0x4d, 0x10, 0x47, 0x8b, 0xc7, 0x8c, 0xb4, + 0x2f, 0x31, 0x9f, 0x01, 0x51, 0x33, 0x74, 0x64, 0x7a, 0x8a, 0xeb, 0x39, 0x48, 0x6d, 0xeb, 0x66, + 0x8b, 0x54, 0x90, 0x74, 0x29, 0xd9, 0x54, 0x0d, 0x17, 0xc9, 0xe3, 0x54, 0x5d, 0xe3, 0x5a, 0x8c, + 0x20, 0x09, 0xe4, 0x84, 0x10, 0xa9, 0x2e, 0x04, 0x55, 0xfb, 0x88, 0xb9, 0x5f, 0xcf, 0x40, 0x36, + 0xd4, 0x57, 0x4b, 0xe7, 0x20, 0x77, 0x5d, 0xbd, 0xa9, 0x2a, 0xfc, 0xac, 0x44, 0x23, 0x91, 0xc5, + 0xb2, 0x5d, 0x76, 0x5e, 0x7a, 0x06, 0xa6, 0x88, 0x89, 0xd5, 0xf1, 0x90, 0xa3, 0x68, 0x86, 0xea, + 0xba, 0x24, 0x68, 0x69, 0x62, 0x2a, 0x61, 0x5d, 0x15, 0xab, 0xd6, 0xb8, 0x46, 0x5a, 0x81, 0x49, + 0x82, 0x68, 0x77, 0x0c, 0x4f, 0xb7, 0x0d, 0xa4, 0xe0, 0xd3, 0x9b, 0x4b, 0x2a, 0x89, 0xef, 0xd9, + 0x04, 0xb6, 0xd8, 0x66, 0x06, 0xd8, 0x23, 0x57, 0x5a, 0x87, 0x87, 0x09, 0xac, 0x85, 0x4c, 0xe4, + 0xa8, 0x1e, 0x52, 0xd0, 0x67, 0x3a, 0xaa, 0xe1, 0x2a, 0xaa, 0xd9, 0x50, 0x0e, 0x54, 0xf7, 0xa0, + 0x30, 0x85, 0x09, 0x56, 0x63, 0x05, 0x41, 0x3e, 0x83, 0x0d, 0x37, 0x98, 0x5d, 0x85, 0x98, 0x95, + 0xcd, 0xc6, 0x35, 0xd5, 0x3d, 0x90, 0x4a, 0x30, 0x4d, 0x58, 0x5c, 0xcf, 0xd1, 0xcd, 0x96, 0xa2, + 0x1d, 0x20, 0xed, 0x86, 0xd2, 0xf1, 0x9a, 0x97, 0x0a, 0x0f, 0x85, 0xdf, 0x4f, 0x3c, 0xac, 0x11, + 0x9b, 0x35, 0x6c, 0xb2, 0xef, 0x35, 0x2f, 0x49, 0x35, 0xc8, 0xe1, 0xc9, 0x68, 0xeb, 0xb7, 0x91, + 0xd2, 0xb4, 0x1c, 0x52, 0x1a, 0xf3, 0x03, 0xb6, 0xa6, 0x50, 0x04, 0x17, 0xaa, 0x0c, 0xb0, 0x6d, + 0x35, 0x50, 0x29, 0x59, 0xdb, 0xad, 0x54, 0xd6, 0xe5, 0x2c, 0x67, 0xb9, 0x6a, 0x39, 0x38, 0xa1, + 0x5a, 0x96, 0x1f, 0xe0, 0x2c, 0x4d, 0xa8, 0x96, 0xc5, 0xc3, 0xbb, 0x02, 0x93, 0x9a, 0x46, 0xc7, + 0xac, 0x6b, 0x0a, 0x3b, 0x63, 0xb9, 0x05, 0xb1, 0x2b, 0x58, 0x9a, 0xb6, 0x41, 0x0d, 0x58, 0x8e, + 0xbb, 0xd2, 0x65, 0x38, 0x15, 0x04, 0x2b, 0x0c, 0x9c, 0xe8, 0x1b, 0x65, 0x2f, 0x74, 0x05, 0x26, + 0xed, 0xc3, 0x7e, 0xa0, 0xd4, 0xf5, 0x46, 0xfb, 0xb0, 0x17, 0x76, 0x11, 0xa6, 0xec, 0x03, 0xbb, + 0x1f, 0xf7, 0x64, 0x18, 0x27, 0xd9, 0x07, 0x76, 0x2f, 0xf0, 0x31, 0x72, 0xe0, 0x76, 0x90, 0xa6, + 0x7a, 0xa8, 0x51, 0x38, 0x1d, 0x36, 0x0f, 0x29, 0xa4, 0x45, 0x10, 0x35, 0x4d, 0x41, 0xa6, 0x5a, + 0x37, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xc2, 0xd9, 0xb0, 0x71, 0x5e, 0xd3, 0x2a, 0x44, 0x5b, + 0x26, 0x4a, 0xe9, 0x49, 0x98, 0xb0, 0xea, 0xd7, 0x35, 0x9a, 0x92, 0x8a, 0xed, 0xa0, 0xa6, 0xfe, + 0x4a, 0xe1, 0x51, 0x12, 0xdf, 0x71, 0xac, 0x20, 0x09, 0xb9, 0x4b, 0xc4, 0xd2, 0x13, 0x20, 0x6a, + 0xee, 0x81, 0xea, 0xd8, 0x64, 0x4f, 0x76, 0x6d, 0x55, 0x43, 0x85, 0xc7, 0xa8, 0x29, 0x95, 0xef, + 0x70, 0x31, 0x5e, 0x12, 0xee, 0x2d, 0xbd, 0xe9, 0x71, 0xc6, 0xc7, 0xe9, 0x92, 0x20, 0x32, 0xc6, + 0x36, 0x0f, 0x22, 0x0e, 0x45, 0xd7, 0x8b, 0xe7, 0x89, 0x59, 0xde, 0x3e, 0xb0, 0xc3, 0xef, 0x7d, + 0x04, 0xc6, 0xb0, 0x65, 0xf0, 0xd2, 0x27, 0x68, 0x43, 0x66, 0x1f, 0x84, 0xde, 0xb8, 0x0c, 0xd3, + 0xd8, 0xa8, 0x8d, 0x3c, 0xb5, 0xa1, 0x7a, 0x6a, 0xc8, 0xfa, 0x63, 0xc4, 0x1a, 0xc7, 0x7d, 0x9b, + 0x29, 0xbb, 0xfc, 0x74, 0x3a, 0xf5, 0x43, 0x3f, 0xb3, 0x9e, 0xa6, 0x7e, 0x62, 0x19, 0xcf, 0xad, + 0x0f, 0xac, 0xe9, 0x9e, 0x2b, 0x41, 0x2e, 0x9c, 0xf8, 0x52, 0x06, 0x68, 0xea, 0x8b, 0x02, 0xee, + 0x82, 0xd6, 0xaa, 0xeb, 0xb8, 0x7f, 0x79, 0xb9, 0x22, 0xc6, 0x70, 0x1f, 0xb5, 0xb5, 0xb9, 0x57, + 0x51, 0xe4, 0xfd, 0x9d, 0xbd, 0xcd, 0xed, 0x8a, 0x18, 0x0f, 0x37, 0xec, 0xdf, 0x8d, 0x41, 0xbe, + 0xfb, 0xec, 0x25, 0xfd, 0x0c, 0x9c, 0xe6, 0x17, 0x25, 0x2e, 0xf2, 0x94, 0x5b, 0xba, 0x43, 0xd6, + 0x62, 0x5b, 0xa5, 0x75, 0xd1, 0xcf, 0x86, 0x29, 0x66, 0x55, 0x43, 0xde, 0x0b, 0xba, 0x83, 0x57, + 0x5a, 0x5b, 0xf5, 0xa4, 0x2d, 0x38, 0x6b, 0x5a, 0x8a, 0xeb, 0xa9, 0x66, 0x43, 0x75, 0x1a, 0x4a, + 0x70, 0x45, 0xa5, 0xa8, 0x9a, 0x86, 0x5c, 0xd7, 0xa2, 0x35, 0xd0, 0x67, 0xf9, 0x88, 0x69, 0xd5, + 0x98, 0x71, 0x50, 0x1c, 0xca, 0xcc, 0xb4, 0x27, 0x73, 0xe3, 0xc7, 0x65, 0xee, 0x43, 0x90, 0x69, + 0xab, 0xb6, 0x82, 0x4c, 0xcf, 0x39, 0x24, 0x1d, 0x77, 0x5a, 0x4e, 0xb7, 0x55, 0xbb, 0x82, 0x9f, + 0x3f, 0x9c, 0x83, 0xcf, 0x0f, 0xe2, 0x90, 0x0b, 0x77, 0xdd, 0xf8, 0x10, 0xa3, 0x91, 0x02, 0x25, + 0x90, 0x2d, 0xec, 0x91, 0x07, 0xf6, 0xe8, 0x0b, 0x6b, 0xb8, 0x72, 0x95, 0x52, 0xb4, 0x17, 0x96, + 0x29, 0x12, 0x77, 0x0d, 0x38, 0xb5, 0x10, 0xed, 0x3d, 0xd2, 0x32, 0x7b, 0x92, 0x36, 0x20, 0x75, + 0xdd, 0x25, 0xdc, 0x29, 0xc2, 0xfd, 0xe8, 0x83, 0xb9, 0x9f, 0xaf, 0x11, 0xf2, 0xcc, 0xf3, 0x35, + 0x65, 0xa7, 0x2a, 0x6f, 0x97, 0xb7, 0x64, 0x06, 0x97, 0xce, 0x40, 0xc2, 0x50, 0x6f, 0x1f, 0x76, + 0xd7, 0x38, 0x22, 0x1a, 0x36, 0xf0, 0x67, 0x20, 0x71, 0x0b, 0xa9, 0x37, 0xba, 0x2b, 0x0b, 0x11, + 0x7d, 0x80, 0xa9, 0xbf, 0x08, 0x49, 0x12, 0x2f, 0x09, 0x80, 0x45, 0x4c, 0x1c, 0x91, 0xd2, 0x90, + 0x58, 0xab, 0xca, 0x38, 0xfd, 0x45, 0xc8, 0x51, 0xa9, 0xb2, 0xbb, 0x59, 0x59, 0xab, 0x88, 0xb1, + 0xb9, 0x15, 0x48, 0xd1, 0x20, 0xe0, 0xa5, 0xe1, 0x87, 0x41, 0x1c, 0x61, 0x8f, 0x8c, 0x43, 0xe0, + 0xda, 0xfd, 0xed, 0xd5, 0x8a, 0x2c, 0xc6, 0xc2, 0xd3, 0xeb, 0x42, 0x2e, 0xdc, 0x70, 0x7f, 0x38, + 0x39, 0xf5, 0x1d, 0x01, 0xb2, 0xa1, 0x06, 0x1a, 0x77, 0x3e, 0xaa, 0x61, 0x58, 0xb7, 0x14, 0xd5, + 0xd0, 0x55, 0x97, 0x25, 0x05, 0x10, 0x51, 0x19, 0x4b, 0x86, 0x9d, 0xb4, 0x0f, 0xc5, 0xf9, 0x37, + 0x04, 0x10, 0x7b, 0x7b, 0xd7, 0x1e, 0x07, 0x85, 0x9f, 0xaa, 0x83, 0xaf, 0x0b, 0x90, 0xef, 0x6e, + 0x58, 0x7b, 0xdc, 0x3b, 0xf7, 0x53, 0x75, 0xef, 0xed, 0x18, 0x8c, 0x75, 0xb5, 0xa9, 0xc3, 0x7a, + 0xf7, 0x19, 0x98, 0xd0, 0x1b, 0xa8, 0x6d, 0x5b, 0x1e, 0x32, 0xb5, 0x43, 0xc5, 0x40, 0x37, 0x91, + 0x51, 0x98, 0x23, 0x1b, 0xc5, 0xe2, 0x83, 0x1b, 0xe1, 0x85, 0xcd, 0x00, 0xb7, 0x85, 0x61, 0xa5, + 0xc9, 0xcd, 0xf5, 0xca, 0xf6, 0x6e, 0x75, 0xaf, 0xb2, 0xb3, 0xf6, 0x92, 0xb2, 0xbf, 0xf3, 0x73, + 0x3b, 0xd5, 0x17, 0x76, 0x64, 0x51, 0xef, 0x31, 0xfb, 0x00, 0x97, 0xfa, 0x2e, 0x88, 0xbd, 0x4e, + 0x49, 0xa7, 0x61, 0x90, 0x5b, 0xe2, 0x88, 0x34, 0x09, 0xe3, 0x3b, 0x55, 0xa5, 0xb6, 0xb9, 0x5e, + 0x51, 0x2a, 0x57, 0xaf, 0x56, 0xd6, 0xf6, 0x6a, 0xf4, 0x6a, 0xc3, 0xb7, 0xde, 0xeb, 0x5e, 0xd4, + 0xaf, 0xc5, 0x61, 0x72, 0x80, 0x27, 0x52, 0x99, 0x1d, 0x4a, 0xe8, 0x39, 0xe9, 0xe9, 0x61, 0xbc, + 0x5f, 0xc0, 0x5d, 0xc1, 0xae, 0xea, 0x78, 0xec, 0x0c, 0xf3, 0x04, 0xe0, 0x28, 0x99, 0x9e, 0xde, + 0xd4, 0x91, 0xc3, 0x6e, 0x82, 0xe8, 0x49, 0x65, 0x3c, 0x90, 0xd3, 0xcb, 0xa0, 0x8f, 0x81, 0x64, + 0x5b, 0xae, 0xee, 0xe9, 0x37, 0x91, 0xa2, 0x9b, 0xfc, 0xda, 0x08, 0x9f, 0x5c, 0x12, 0xb2, 0xc8, + 0x35, 0x9b, 0xa6, 0xe7, 0x5b, 0x9b, 0xa8, 0xa5, 0xf6, 0x58, 0xe3, 0x0d, 0x3c, 0x2e, 0x8b, 0x5c, + 0xe3, 0x5b, 0x9f, 0x83, 0x5c, 0xc3, 0xea, 0xe0, 0x76, 0x8e, 0xda, 0xe1, 0x7a, 0x21, 0xc8, 0x59, + 0x2a, 0xf3, 0x4d, 0x58, 0xa3, 0x1e, 0xdc, 0x57, 0xe5, 0xe4, 0x2c, 0x95, 0x51, 0x93, 0xc7, 0x61, + 0x5c, 0x6d, 0xb5, 0x1c, 0x4c, 0xce, 0x89, 0xe8, 0xd1, 0x23, 0xef, 0x8b, 0x89, 0xe1, 0xcc, 0xf3, + 0x90, 0xe6, 0x71, 0xc0, 0x25, 0x19, 0x47, 0x42, 0xb1, 0xe9, 0x79, 0x3a, 0x36, 0x9f, 0x91, 0xd3, + 0x26, 0x57, 0x9e, 0x83, 0x9c, 0xee, 0x2a, 0xc1, 0xf5, 0x7b, 0x6c, 0x36, 0x36, 0x9f, 0x96, 0xb3, + 0xba, 0xeb, 0x5f, 0x5d, 0xce, 0xbd, 0x19, 0x83, 0x7c, 0xf7, 0xe7, 0x03, 0x69, 0x1d, 0xd2, 0x86, + 0xa5, 0xa9, 0x24, 0xb5, 0xe8, 0xb7, 0xab, 0xf9, 0x88, 0x2f, 0x0e, 0x0b, 0x5b, 0xcc, 0x5e, 0xf6, + 0x91, 0x33, 0xff, 0x22, 0x40, 0x9a, 0x8b, 0xa5, 0x69, 0x48, 0xd8, 0xaa, 0x77, 0x40, 0xe8, 0x92, + 0xab, 0x31, 0x51, 0x90, 0xc9, 0x33, 0x96, 0xbb, 0xb6, 0x6a, 0x92, 0x14, 0x60, 0x72, 0xfc, 0x8c, + 0xe7, 0xd5, 0x40, 0x6a, 0x83, 0x9c, 0x6b, 0xac, 0x76, 0x1b, 0x99, 0x9e, 0xcb, 0xe7, 0x95, 0xc9, + 0xd7, 0x98, 0x58, 0x7a, 0x0a, 0x26, 0x3c, 0x47, 0xd5, 0x8d, 0x2e, 0xdb, 0x04, 0xb1, 0x15, 0xb9, + 0xc2, 0x37, 0x2e, 0xc1, 0x19, 0xce, 0xdb, 0x40, 0x9e, 0xaa, 0x1d, 0xa0, 0x46, 0x00, 0x4a, 0x91, + 0xfb, 0x8b, 0xd3, 0xcc, 0x60, 0x9d, 0xe9, 0x39, 0x76, 0xee, 0xfb, 0x02, 0x4c, 0xf0, 0x93, 0x58, + 0xc3, 0x0f, 0xd6, 0x36, 0x80, 0x6a, 0x9a, 0x96, 0x17, 0x0e, 0x57, 0x7f, 0x2a, 0xf7, 0xe1, 0x16, + 0xca, 0x3e, 0x48, 0x0e, 0x11, 0xcc, 0xb4, 0x01, 0x02, 0xcd, 0xb1, 0x61, 0x3b, 0x0b, 0x59, 0xf6, + 0x6d, 0x88, 0x7c, 0x60, 0xa4, 0x67, 0x77, 0xa0, 0x22, 0x7c, 0x64, 0x93, 0xa6, 0x20, 0x59, 0x47, + 0x2d, 0xdd, 0x64, 0x37, 0xbe, 0xf4, 0x81, 0xdf, 0xb0, 0x24, 0xfc, 0x1b, 0x96, 0xd5, 0x4f, 0xc3, + 0xa4, 0x66, 0xb5, 0x7b, 0xdd, 0x5d, 0x15, 0x7b, 0xee, 0x0f, 0xdc, 0x6b, 0xc2, 0xcb, 0x10, 0xb4, + 0x98, 0xef, 0x0b, 0xc2, 0x97, 0x63, 0xf1, 0x8d, 0xdd, 0xd5, 0xaf, 0xc5, 0x66, 0x36, 0x28, 0x74, + 0x97, 0x8f, 0x54, 0x46, 0x4d, 0x03, 0x69, 0xd8, 0x7b, 0xf8, 0xca, 0x53, 0xf0, 0x74, 0x4b, 0xf7, + 0x0e, 0x3a, 0xf5, 0x05, 0xcd, 0x6a, 0x2f, 0xb6, 0xac, 0x96, 0x15, 0x7c, 0x53, 0xc5, 0x4f, 0xe4, + 0x81, 0xfc, 0xc5, 0xbe, 0xab, 0x66, 0x7c, 0xe9, 0x4c, 0xe4, 0x47, 0xd8, 0xd2, 0x0e, 0x4c, 0x32, + 0x63, 0x85, 0x7c, 0xd8, 0xa1, 0xc7, 0x13, 0xe9, 0x81, 0x97, 0x63, 0x85, 0x6f, 0xbc, 0x43, 0xca, + 0xb5, 0x3c, 0xc1, 0xa0, 0x58, 0x47, 0x4f, 0x30, 0x25, 0x19, 0x4e, 0x75, 0xf1, 0xd1, 0xa5, 0x89, + 0x9c, 0x08, 0xc6, 0xef, 0x32, 0xc6, 0xc9, 0x10, 0x63, 0x8d, 0x41, 0x4b, 0x6b, 0x30, 0x76, 0x12, + 0xae, 0x7f, 0x62, 0x5c, 0x39, 0x14, 0x26, 0xd9, 0x80, 0x71, 0x42, 0xa2, 0x75, 0x5c, 0xcf, 0x6a, + 0x93, 0x7d, 0xef, 0xc1, 0x34, 0xff, 0xfc, 0x0e, 0x5d, 0x2b, 0x79, 0x0c, 0x5b, 0xf3, 0x51, 0xa5, + 0x12, 0x90, 0x6f, 0x59, 0x0d, 0xa4, 0x19, 0x11, 0x0c, 0x6f, 0x31, 0x47, 0x7c, 0xfb, 0xd2, 0xa7, + 0x60, 0x0a, 0xff, 0x4d, 0xb6, 0xa5, 0xb0, 0x27, 0xd1, 0x37, 0x69, 0x85, 0xef, 0xbf, 0x4a, 0x97, + 0xe3, 0xa4, 0x4f, 0x10, 0xf2, 0x29, 0x34, 0x8b, 0x2d, 0xe4, 0x79, 0xc8, 0x71, 0x15, 0xd5, 0x18, + 0xe4, 0x5e, 0xe8, 0x2a, 0xa2, 0xf0, 0x85, 0x77, 0xbb, 0x67, 0x71, 0x83, 0x22, 0xcb, 0x86, 0x51, + 0xda, 0x87, 0xd3, 0x03, 0xb2, 0x62, 0x08, 0xce, 0xd7, 0x18, 0xe7, 0x54, 0x5f, 0x66, 0x60, 0xda, + 0x5d, 0xe0, 0x72, 0x7f, 0x2e, 0x87, 0xe0, 0xfc, 0x03, 0xc6, 0x29, 0x31, 0x2c, 0x9f, 0x52, 0xcc, + 0xf8, 0x3c, 0x4c, 0xdc, 0x44, 0x4e, 0xdd, 0x72, 0xd9, 0xf5, 0xcf, 0x10, 0x74, 0xaf, 0x33, 0xba, + 0x71, 0x06, 0x24, 0xf7, 0x41, 0x98, 0xeb, 0x32, 0xa4, 0x9b, 0xaa, 0x86, 0x86, 0xa0, 0xf8, 0x22, + 0xa3, 0x18, 0xc5, 0xf6, 0x18, 0x5a, 0x86, 0x5c, 0xcb, 0x62, 0x95, 0x29, 0x1a, 0xfe, 0x06, 0x83, + 0x67, 0x39, 0x86, 0x51, 0xd8, 0x96, 0xdd, 0x31, 0x70, 0xd9, 0x8a, 0xa6, 0xf8, 0x43, 0x4e, 0xc1, + 0x31, 0x8c, 0xe2, 0x04, 0x61, 0xfd, 0x23, 0x4e, 0xe1, 0x86, 0xe2, 0xf9, 0x1c, 0x64, 0x2d, 0xd3, + 0x38, 0xb4, 0xcc, 0x61, 0x9c, 0xf8, 0x12, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x57, 0x20, 0x33, 0xec, + 0x44, 0xfc, 0xc9, 0xbb, 0x7c, 0x79, 0xf0, 0x19, 0xd8, 0x80, 0x71, 0xbe, 0x41, 0xe9, 0x96, 0x39, + 0x04, 0xc5, 0x57, 0x18, 0x45, 0x3e, 0x04, 0x63, 0xc3, 0xf0, 0x90, 0xeb, 0xb5, 0xd0, 0x30, 0x24, + 0x6f, 0xf2, 0x61, 0x30, 0x08, 0x0b, 0x65, 0x1d, 0x99, 0xda, 0xc1, 0x70, 0x0c, 0x5f, 0xe5, 0xa1, + 0xe4, 0x18, 0x4c, 0xb1, 0x06, 0x63, 0x6d, 0xd5, 0x71, 0x0f, 0x54, 0x63, 0xa8, 0xe9, 0xf8, 0x53, + 0xc6, 0x91, 0xf3, 0x41, 0x2c, 0x22, 0x1d, 0xf3, 0x24, 0x34, 0x5f, 0xe3, 0x11, 0x09, 0xc1, 0xd8, + 0xd2, 0x73, 0x3d, 0x72, 0x57, 0x76, 0x12, 0xb6, 0x3f, 0xe3, 0x4b, 0x8f, 0x62, 0xb7, 0xc3, 0x8c, + 0x57, 0x20, 0xe3, 0xea, 0xb7, 0x87, 0xa2, 0xf9, 0x73, 0x3e, 0xd3, 0x04, 0x80, 0xc1, 0x2f, 0xc1, + 0x99, 0x81, 0x65, 0x62, 0x08, 0xb2, 0xbf, 0x60, 0x64, 0xd3, 0x03, 0x4a, 0x05, 0xdb, 0x12, 0x4e, + 0x4a, 0xf9, 0x97, 0x7c, 0x4b, 0x40, 0x3d, 0x5c, 0xbb, 0xf8, 0xac, 0xe0, 0xaa, 0xcd, 0x93, 0x45, + 0xed, 0xaf, 0x78, 0xd4, 0x28, 0xb6, 0x2b, 0x6a, 0x7b, 0x30, 0xcd, 0x18, 0x4f, 0x36, 0xaf, 0x5f, + 0xe7, 0x1b, 0x2b, 0x45, 0xef, 0x77, 0xcf, 0xee, 0xa7, 0x61, 0xc6, 0x0f, 0x27, 0x6f, 0x4a, 0x5d, + 0xa5, 0xad, 0xda, 0x43, 0x30, 0x7f, 0x83, 0x31, 0xf3, 0x1d, 0xdf, 0xef, 0x6a, 0xdd, 0x6d, 0xd5, + 0xc6, 0xe4, 0x2f, 0x42, 0x81, 0x93, 0x77, 0x4c, 0x07, 0x69, 0x56, 0xcb, 0xd4, 0x6f, 0xa3, 0xc6, + 0x10, 0xd4, 0x7f, 0xdd, 0x33, 0x55, 0xfb, 0x21, 0x38, 0x66, 0xde, 0x04, 0xd1, 0xef, 0x55, 0x14, + 0xbd, 0x6d, 0x5b, 0x8e, 0x17, 0xc1, 0xf8, 0x37, 0x7c, 0xa6, 0x7c, 0xdc, 0x26, 0x81, 0x95, 0x2a, + 0x90, 0x27, 0x8f, 0xc3, 0xa6, 0xe4, 0xdf, 0x32, 0xa2, 0xb1, 0x00, 0xc5, 0x36, 0x0e, 0xcd, 0x6a, + 0xdb, 0xaa, 0x33, 0xcc, 0xfe, 0xf7, 0x77, 0x7c, 0xe3, 0x60, 0x10, 0xb6, 0x71, 0x78, 0x87, 0x36, + 0xc2, 0xd5, 0x7e, 0x08, 0x86, 0x6f, 0xf2, 0x8d, 0x83, 0x63, 0x18, 0x05, 0x6f, 0x18, 0x86, 0xa0, + 0xf8, 0x7b, 0x4e, 0xc1, 0x31, 0x98, 0xe2, 0x93, 0x41, 0xa1, 0x75, 0x50, 0x4b, 0x77, 0x3d, 0x87, + 0xb6, 0xc2, 0x0f, 0xa6, 0xfa, 0xd6, 0xbb, 0xdd, 0x4d, 0x98, 0x1c, 0x82, 0xe2, 0x9d, 0x88, 0x5d, + 0xa1, 0x92, 0x93, 0x52, 0xb4, 0x63, 0xdf, 0xe6, 0x3b, 0x51, 0x08, 0x86, 0x7d, 0x0b, 0x75, 0x88, + 0x38, 0xec, 0x1a, 0x3e, 0x1f, 0x0c, 0x41, 0xf7, 0x9d, 0x1e, 0xe7, 0x6a, 0x1c, 0x8b, 0x39, 0x43, + 0xfd, 0x4f, 0xc7, 0xbc, 0x81, 0x0e, 0x87, 0xca, 0xce, 0x7f, 0xe8, 0xe9, 0x7f, 0xf6, 0x29, 0x92, + 0xee, 0x21, 0xe3, 0x3d, 0xfd, 0x94, 0x14, 0xf5, 0x2b, 0xa0, 0xc2, 0x2f, 0xde, 0x63, 0xe3, 0xed, + 0x6e, 0xa7, 0x4a, 0x5b, 0x38, 0xc9, 0xbb, 0x9b, 0x9e, 0x68, 0xb2, 0x57, 0xef, 0xf9, 0x79, 0xde, + 0xd5, 0xf3, 0x94, 0xae, 0xc2, 0x58, 0x57, 0xc3, 0x13, 0x4d, 0xf5, 0x4b, 0x8c, 0x2a, 0x17, 0xee, + 0x77, 0x4a, 0x2b, 0x90, 0xc0, 0xcd, 0x4b, 0x34, 0xfc, 0x97, 0x19, 0x9c, 0x98, 0x97, 0x3e, 0x0e, + 0x69, 0xde, 0xb4, 0x44, 0x43, 0x7f, 0x85, 0x41, 0x7d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1a, 0xfe, + 0xab, 0x1c, 0xce, 0x21, 0x18, 0x3e, 0x7c, 0x08, 0xff, 0xf1, 0xd7, 0x12, 0xac, 0xe8, 0xf0, 0xd8, + 0x5d, 0x81, 0x51, 0xd6, 0xa9, 0x44, 0xa3, 0x3f, 0xcb, 0x5e, 0xce, 0x11, 0xa5, 0x8b, 0x90, 0x1c, + 0x32, 0xe0, 0xbf, 0xc1, 0xa0, 0xd4, 0xbe, 0xb4, 0x06, 0xd9, 0x50, 0x77, 0x12, 0x0d, 0xff, 0x4d, + 0x06, 0x0f, 0xa3, 0xb0, 0xeb, 0xac, 0x3b, 0x89, 0x26, 0xf8, 0x2d, 0xee, 0x3a, 0x43, 0xe0, 0xb0, + 0xf1, 0xc6, 0x24, 0x1a, 0xfd, 0xdb, 0x3c, 0xea, 0x1c, 0x52, 0x7a, 0x0e, 0x32, 0x7e, 0xb1, 0x89, + 0xc6, 0xff, 0x0e, 0xc3, 0x07, 0x18, 0x1c, 0x81, 0x50, 0xb1, 0x8b, 0xa6, 0xf8, 0x5d, 0x1e, 0x81, + 0x10, 0x0a, 0x2f, 0xa3, 0xde, 0x06, 0x26, 0x9a, 0xe9, 0x73, 0x7c, 0x19, 0xf5, 0xf4, 0x2f, 0x78, + 0x36, 0xc9, 0x9e, 0x1f, 0x4d, 0xf1, 0x7b, 0x7c, 0x36, 0x89, 0x3d, 0x76, 0xa3, 0xb7, 0x23, 0x88, + 0xe6, 0xf8, 0x7d, 0xee, 0x46, 0x4f, 0x43, 0x50, 0xda, 0x05, 0xa9, 0xbf, 0x1b, 0x88, 0xe6, 0xfb, + 0x3c, 0xe3, 0x9b, 0xe8, 0x6b, 0x06, 0x4a, 0x2f, 0xc0, 0xf4, 0xe0, 0x4e, 0x20, 0x9a, 0xf5, 0x0b, + 0xf7, 0x7a, 0xce, 0x6e, 0xe1, 0x46, 0xa0, 0xb4, 0x17, 0x94, 0x94, 0x70, 0x17, 0x10, 0x4d, 0xfb, + 0xda, 0xbd, 0xee, 0x8d, 0x3b, 0xdc, 0x04, 0x94, 0xca, 0x00, 0x41, 0x01, 0x8e, 0xe6, 0x7a, 0x9d, + 0x71, 0x85, 0x40, 0x78, 0x69, 0xb0, 0xfa, 0x1b, 0x8d, 0xff, 0x22, 0x5f, 0x1a, 0x0c, 0x81, 0x97, + 0x06, 0x2f, 0xbd, 0xd1, 0xe8, 0x37, 0xf8, 0xd2, 0xe0, 0x10, 0x9c, 0xd9, 0xa1, 0xea, 0x16, 0xcd, + 0xf0, 0x25, 0x9e, 0xd9, 0x21, 0x54, 0x69, 0x07, 0x26, 0xfa, 0x0a, 0x62, 0x34, 0xd5, 0x97, 0x19, + 0x95, 0xd8, 0x5b, 0x0f, 0xc3, 0xc5, 0x8b, 0x15, 0xc3, 0x68, 0xb6, 0x3f, 0xee, 0x29, 0x5e, 0xac, + 0x16, 0x96, 0xae, 0x40, 0xda, 0xec, 0x18, 0x06, 0x5e, 0x3c, 0xd2, 0x83, 0x7f, 0xb9, 0x57, 0xf8, + 0xf7, 0xfb, 0x2c, 0x3a, 0x1c, 0x50, 0x5a, 0x81, 0x24, 0x6a, 0xd7, 0x51, 0x23, 0x0a, 0xf9, 0x1f, + 0xf7, 0xf9, 0x86, 0x89, 0xad, 0x4b, 0xcf, 0x01, 0xd0, 0xab, 0x11, 0xf2, 0xd9, 0x2f, 0x02, 0xfb, + 0x9f, 0xf7, 0xd9, 0x6f, 0x6a, 0x02, 0x48, 0x40, 0x40, 0x7f, 0xa1, 0xf3, 0x60, 0x82, 0x77, 0xbb, + 0x09, 0xc8, 0x8c, 0x5c, 0x86, 0xd1, 0xeb, 0xae, 0x65, 0x7a, 0x6a, 0x2b, 0x0a, 0xfd, 0x5f, 0x0c, + 0xcd, 0xed, 0x71, 0xc0, 0xda, 0x96, 0x83, 0x3c, 0xb5, 0xe5, 0x46, 0x61, 0xff, 0x9b, 0x61, 0x7d, + 0x00, 0x06, 0x6b, 0xaa, 0xeb, 0x0d, 0x33, 0xee, 0xff, 0xe1, 0x60, 0x0e, 0xc0, 0x4e, 0xe3, 0xbf, + 0x6f, 0xa0, 0xc3, 0x28, 0xec, 0x7b, 0xdc, 0x69, 0x66, 0x5f, 0xfa, 0x38, 0x64, 0xf0, 0x9f, 0xf4, + 0x87, 0x72, 0x11, 0xe0, 0xff, 0x65, 0xe0, 0x00, 0x81, 0xdf, 0xec, 0x7a, 0x0d, 0x4f, 0x8f, 0x0e, + 0xf6, 0xff, 0xb1, 0x99, 0xe6, 0xf6, 0xa5, 0x32, 0x64, 0x5d, 0xaf, 0xd1, 0xe8, 0xb0, 0xfe, 0x34, + 0x02, 0xfe, 0xff, 0xf7, 0xfd, 0x2b, 0x0b, 0x1f, 0x83, 0x67, 0xfb, 0xd6, 0x0d, 0xcf, 0xb6, 0xc8, + 0x67, 0x8e, 0x28, 0x86, 0x7b, 0x8c, 0x21, 0x04, 0x59, 0xad, 0x0c, 0xbe, 0xbe, 0x85, 0x0d, 0x6b, + 0xc3, 0xa2, 0x17, 0xb7, 0x2f, 0xcf, 0x45, 0xdf, 0xc0, 0xc2, 0xe7, 0x92, 0x70, 0x4a, 0xb3, 0xda, + 0x75, 0xcb, 0x5d, 0xac, 0x5b, 0xde, 0xc1, 0xa2, 0x65, 0x32, 0x32, 0x29, 0x6e, 0x99, 0x68, 0xe6, + 0x64, 0x97, 0xb8, 0x73, 0x67, 0x20, 0x59, 0xeb, 0xd4, 0xeb, 0x87, 0x92, 0x08, 0x71, 0xb7, 0x53, + 0x67, 0xbf, 0xb4, 0xc2, 0x7f, 0xce, 0xfd, 0x20, 0x0e, 0xd9, 0x9a, 0xda, 0xb6, 0x0d, 0x54, 0x35, + 0x51, 0xb5, 0x29, 0x15, 0x20, 0x45, 0xc6, 0xf8, 0x2c, 0x31, 0x12, 0xae, 0x8d, 0xc8, 0xec, 0xd9, + 0xd7, 0x2c, 0x91, 0xcb, 0xed, 0x98, 0xaf, 0x59, 0xf2, 0x35, 0xe7, 0xe9, 0xdd, 0xb6, 0xaf, 0x39, + 0xef, 0x6b, 0x96, 0xc9, 0x0d, 0x77, 0xdc, 0xd7, 0x2c, 0xfb, 0x9a, 0x15, 0xf2, 0x05, 0x67, 0xcc, + 0xd7, 0xac, 0xf8, 0x9a, 0x0b, 0xe4, 0x9b, 0x4d, 0xc2, 0xd7, 0x5c, 0xf0, 0x35, 0x17, 0xc9, 0xa7, + 0x9a, 0x09, 0x5f, 0x73, 0xd1, 0xd7, 0x5c, 0x22, 0x9f, 0x67, 0x24, 0x5f, 0x73, 0xc9, 0xd7, 0x5c, + 0x26, 0x3f, 0xa8, 0x1a, 0xf5, 0x35, 0x97, 0xa5, 0x19, 0x18, 0xa5, 0x23, 0x7b, 0x86, 0x7c, 0xc3, + 0x1f, 0xbf, 0x36, 0x22, 0x73, 0x41, 0xa0, 0x7b, 0x96, 0xfc, 0x68, 0x2a, 0x15, 0xe8, 0x9e, 0x0d, + 0x74, 0x4b, 0xe4, 0xff, 0x6e, 0x88, 0x81, 0x6e, 0x29, 0xd0, 0x9d, 0x2f, 0x8c, 0xe1, 0xd4, 0x08, + 0x74, 0xe7, 0x03, 0xdd, 0x72, 0x21, 0x8f, 0xe3, 0x1f, 0xe8, 0x96, 0x03, 0xdd, 0x4a, 0x61, 0x7c, + 0x56, 0x98, 0xcf, 0x05, 0xba, 0x15, 0xe9, 0x69, 0xc8, 0xba, 0x9d, 0xba, 0xc2, 0x36, 0x79, 0xf2, + 0xe3, 0xac, 0xec, 0x12, 0x2c, 0xe0, 0x8c, 0x20, 0x93, 0x7a, 0x6d, 0x44, 0x06, 0xb7, 0x53, 0x67, + 0x7b, 0xf0, 0x6a, 0x0e, 0xc8, 0xd5, 0x93, 0x42, 0x7e, 0x53, 0xbd, 0xba, 0xfe, 0xd6, 0xdd, 0xe2, + 0xc8, 0xf7, 0xee, 0x16, 0x47, 0xfe, 0xf5, 0x6e, 0x71, 0xe4, 0xed, 0xbb, 0x45, 0xe1, 0xbd, 0xbb, + 0x45, 0xe1, 0xfd, 0xbb, 0x45, 0xe1, 0xce, 0x51, 0x51, 0xf8, 0xea, 0x51, 0x51, 0xf8, 0xfa, 0x51, + 0x51, 0xf8, 0xd6, 0x51, 0x51, 0x78, 0xeb, 0xa8, 0x28, 0x7c, 0xef, 0xa8, 0x28, 0xbc, 0x7d, 0x54, + 0x14, 0x7e, 0x74, 0x54, 0x1c, 0x79, 0xef, 0xa8, 0x28, 0xbc, 0x7f, 0x54, 0x1c, 0xb9, 0xf3, 0xc3, + 0xe2, 0x48, 0x3d, 0x45, 0xd2, 0xe8, 0xfc, 0x8f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x60, 0x64, + 0x9d, 0x8a, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -3390,35 +3423,3 @@ var ( ErrInvalidLengthOne = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowOne = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/both/one.proto", fileDescriptor_one_475397b14a80232f) } - -var fileDescriptor_one_475397b14a80232f = []byte{ - // 404 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, - 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0x9e, 0x54, 0xe9, 0x95, 0xe1, 0xc9, 0x62, - 0xf2, 0x42, 0xd2, 0xdc, 0x25, 0xfc, 0x58, 0x51, 0x55, 0x65, 0xa9, 0x90, 0xc2, 0x1f, 0x80, 0x30, - 0x75, 0x0e, 0x24, 0xee, 0x8c, 0x7a, 0x77, 0x43, 0x37, 0xfe, 0x9c, 0x8e, 0x1d, 0xfb, 0x27, 0x30, - 0x32, 0x76, 0xe8, 0xc0, 0xb9, 0x4b, 0x47, 0x46, 0xc6, 0x2a, 0x97, 0xf2, 0xbc, 0xbd, 0xaf, 0x3f, - 0xf6, 0x60, 0xfb, 0x2b, 0xdf, 0x5d, 0xb9, 0xdc, 0xb8, 0x72, 0x6c, 0x5c, 0x75, 0x3d, 0x76, 0x85, - 0x1d, 0xdd, 0x7d, 0x75, 0x95, 0x8b, 0x23, 0x57, 0xd8, 0xbd, 0x83, 0xec, 0xa6, 0xba, 0xae, 0xcd, - 0xe8, 0xca, 0xe5, 0xe3, 0xcc, 0x65, 0x6e, 0xdc, 0x9a, 0xa9, 0x97, 0x6d, 0x6a, 0x43, 0x3b, 0xad, - 0xcf, 0xec, 0xbf, 0x97, 0x9d, 0xf3, 0xda, 0x98, 0x6f, 0xf1, 0x50, 0x46, 0x65, 0x6d, 0x10, 0x14, - 0xe8, 0xed, 0xc5, 0x6a, 0xdc, 0xff, 0x1d, 0xc9, 0xfe, 0xf9, 0x65, 0x7e, 0x77, 0x6b, 0xcf, 0x0a, - 0x7b, 0xb6, 0x8c, 0x51, 0x76, 0x3f, 0xdd, 0xd8, 0xdb, 0x2f, 0x93, 0x76, 0x13, 0xcc, 0xc5, 0xe2, - 0x7f, 0x66, 0x49, 0x70, 0x43, 0x81, 0xde, 0x60, 0x49, 0x58, 0x52, 0x8c, 0x14, 0xe8, 0x0e, 0x4b, - 0xca, 0x32, 0xc5, 0x4d, 0x05, 0x3a, 0x62, 0x99, 0xb2, 0xcc, 0xb0, 0xa3, 0x40, 0xef, 0xb0, 0xcc, - 0x58, 0x0e, 0xb1, 0xab, 0x40, 0x6f, 0xb2, 0x1c, 0xb2, 0x1c, 0x61, 0x4f, 0x81, 0x7e, 0xcb, 0x72, - 0xc4, 0x72, 0x8c, 0x5b, 0x0a, 0x74, 0xcc, 0x72, 0xcc, 0x72, 0x82, 0xdb, 0x0a, 0x74, 0x8f, 0xe5, - 0x24, 0xde, 0x93, 0xbd, 0xf5, 0xcd, 0x3e, 0xa0, 0x54, 0xa0, 0x77, 0xe7, 0x62, 0xf1, 0xba, 0x10, - 0x6c, 0x82, 0x7d, 0x05, 0xba, 0x1b, 0x6c, 0x12, 0x2c, 0xc1, 0x81, 0x02, 0x3d, 0x0c, 0x96, 0x04, - 0x4b, 0x71, 0x47, 0x81, 0xde, 0x0a, 0x96, 0x06, 0x9b, 0xe2, 0x9b, 0xd5, 0xfb, 0x07, 0x9b, 0x06, - 0x9b, 0xe1, 0xae, 0x02, 0x3d, 0x08, 0x36, 0x8b, 0x0f, 0x64, 0xbf, 0xac, 0xcd, 0x45, 0x6e, 0xcb, - 0xf2, 0x32, 0xb3, 0x38, 0x54, 0xa0, 0xfb, 0x89, 0x1c, 0xad, 0x1a, 0xd1, 0x7e, 0xea, 0x5c, 0x2c, - 0x64, 0x59, 0x9b, 0xcf, 0x6b, 0x3f, 0x1d, 0x48, 0x59, 0xd9, 0xb2, 0xba, 0x70, 0x85, 0x75, 0xcb, - 0xd3, 0x8f, 0x0f, 0x0d, 0x89, 0xc7, 0x86, 0xc4, 0xaf, 0x86, 0xc4, 0x53, 0x43, 0xf0, 0xdc, 0x10, - 0xbc, 0x34, 0x04, 0xf7, 0x9e, 0xe0, 0xbb, 0x27, 0xf8, 0xe1, 0x09, 0x7e, 0x7a, 0x82, 0x07, 0x4f, - 0xf0, 0xe8, 0x09, 0x9e, 0x3c, 0xc1, 0x5f, 0x4f, 0xe2, 0xd9, 0x13, 0xbc, 0x78, 0x12, 0xf7, 0x7f, - 0x48, 0x98, 0x6e, 0x5b, 0xa3, 0xf4, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x42, 0xd6, 0x88, - 0x93, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof3/combos/marshaler/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof3/combos/marshaler/one.pb.go index 15e3f83ff..a5043c0c1 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof3/combos/marshaler/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof3/combos/marshaler/one.pb.go @@ -3,21 +3,20 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -40,7 +39,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_c146381302ae1a39, []int{0} + return fileDescriptor_f8ef4705d619eecc, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Subby.Unmarshal(m, b) @@ -57,8 +56,8 @@ func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return m.Size() @@ -96,7 +95,7 @@ type SampleOneOf struct { func (m *SampleOneOf) Reset() { *m = SampleOneOf{} } func (*SampleOneOf) ProtoMessage() {} func (*SampleOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_c146381302ae1a39, []int{1} + return fileDescriptor_f8ef4705d619eecc, []int{1} } func (m *SampleOneOf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SampleOneOf.Unmarshal(m, b) @@ -113,8 +112,8 @@ func (m *SampleOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *SampleOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_SampleOneOf.Merge(dst, src) +func (m *SampleOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_SampleOneOf.Merge(m, src) } func (m *SampleOneOf) XXX_Size() int { return m.Size() @@ -593,6 +592,39 @@ func init() { proto.RegisterType((*Subby)(nil), "one.Subby") proto.RegisterType((*SampleOneOf)(nil), "one.SampleOneOf") } + +func init() { proto.RegisterFile("combos/marshaler/one.proto", fileDescriptor_f8ef4705d619eecc) } + +var fileDescriptor_f8ef4705d619eecc = []byte{ + // 407 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, + 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0xde, 0xf4, 0x9a, 0xe1, 0xc9, 0x62, 0xf2, + 0x42, 0xd2, 0xdc, 0x25, 0xfc, 0x58, 0x51, 0x55, 0x65, 0xa9, 0x90, 0xc2, 0x1f, 0x80, 0x62, 0xea, + 0x04, 0xa4, 0x5c, 0x8c, 0x72, 0x77, 0x43, 0x37, 0xfe, 0x9c, 0x8e, 0x1d, 0xfb, 0x27, 0x30, 0x32, + 0x76, 0xe8, 0xc0, 0xb9, 0x4b, 0x47, 0x46, 0xc6, 0x2a, 0x97, 0xf2, 0xbc, 0xbd, 0xaf, 0x3f, 0xf6, + 0x60, 0xfb, 0x2b, 0x7b, 0x37, 0x2e, 0x33, 0x2e, 0x1f, 0x64, 0xb3, 0x75, 0x7e, 0x3b, 0x5b, 0xda, + 0xf5, 0xc0, 0xad, 0x6c, 0xff, 0x7e, 0xed, 0x0a, 0x17, 0x47, 0x6e, 0x65, 0x7b, 0xc7, 0x8b, 0xbb, + 0xe2, 0xb6, 0x34, 0xfd, 0x1b, 0x97, 0x0d, 0x16, 0x6e, 0xe1, 0x06, 0xb5, 0x99, 0x72, 0x5e, 0xa7, + 0x3a, 0xd4, 0xd3, 0xf6, 0xcc, 0xd1, 0x07, 0xd9, 0xb8, 0x2a, 0x8d, 0xf9, 0x16, 0x77, 0x65, 0x94, + 0x97, 0x06, 0x41, 0x81, 0xde, 0x9f, 0x6e, 0xc6, 0xa3, 0xdf, 0x91, 0x6c, 0x5f, 0xcd, 0xb2, 0xfb, + 0xa5, 0xbd, 0x5c, 0xd9, 0xcb, 0x79, 0x8c, 0xb2, 0xf9, 0xf9, 0xce, 0x2e, 0xbf, 0x0e, 0xeb, 0x4d, + 0x30, 0x11, 0xd3, 0xff, 0x99, 0x25, 0xc1, 0x1d, 0x05, 0x7a, 0x87, 0x25, 0x61, 0x49, 0x31, 0x52, + 0xa0, 0x1b, 0x2c, 0x29, 0xcb, 0x08, 0x77, 0x15, 0xe8, 0x88, 0x65, 0xc4, 0x32, 0xc6, 0x86, 0x02, + 0x7d, 0xc0, 0x32, 0x66, 0x39, 0xc1, 0xa6, 0x02, 0xbd, 0xcb, 0x72, 0xc2, 0x72, 0x8a, 0x2d, 0x05, + 0xfa, 0x3d, 0xcb, 0x29, 0xcb, 0x19, 0xee, 0x29, 0xd0, 0x31, 0xcb, 0x19, 0xcb, 0x39, 0xee, 0x2b, + 0xd0, 0x2d, 0x96, 0xf3, 0xb8, 0x27, 0x5b, 0xdb, 0x9b, 0x7d, 0x44, 0xa9, 0x40, 0x1f, 0x4e, 0xc4, + 0xf4, 0x6d, 0x21, 0xd8, 0x10, 0xdb, 0x0a, 0x74, 0x33, 0xd8, 0x30, 0x58, 0x82, 0x1d, 0x05, 0xba, + 0x1b, 0x2c, 0x09, 0x96, 0xe2, 0x81, 0x02, 0xbd, 0x17, 0x2c, 0x0d, 0x36, 0xc2, 0x77, 0x9b, 0xf7, + 0x0f, 0x36, 0x0a, 0x36, 0xc6, 0x43, 0x05, 0xba, 0x13, 0x6c, 0x1c, 0x1f, 0xcb, 0x76, 0x5e, 0x9a, + 0xeb, 0xcc, 0xe6, 0xf9, 0x6c, 0x61, 0xb1, 0xab, 0x40, 0xb7, 0x13, 0xd9, 0xdf, 0x34, 0xa2, 0xfe, + 0xd4, 0x89, 0x98, 0xca, 0xbc, 0x34, 0x5f, 0xb6, 0x7e, 0xd1, 0x91, 0xb2, 0xb0, 0x79, 0x71, 0xed, + 0x56, 0xd6, 0xcd, 0x2f, 0x3e, 0x3d, 0x56, 0x24, 0x9e, 0x2a, 0x12, 0xbf, 0x2a, 0x12, 0xcf, 0x15, + 0xc1, 0x4b, 0x45, 0xf0, 0x5a, 0x11, 0x3c, 0x78, 0x82, 0xef, 0x9e, 0xe0, 0x87, 0x27, 0xf8, 0xe9, + 0x09, 0x1e, 0x3d, 0xc1, 0x93, 0x27, 0xf1, 0xec, 0x09, 0xfe, 0x7a, 0x12, 0x2f, 0x9e, 0xe0, 0xd5, + 0x93, 0x78, 0xf8, 0x43, 0xc2, 0x34, 0xeb, 0x1a, 0xa5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x34, + 0x55, 0x0b, 0x2b, 0x98, 0x02, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -602,263 +634,265 @@ func (this *SampleOneOf) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4082 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0xe6, 0xe2, 0x8f, 0xc0, 0x01, 0x08, 0x2e, 0x97, 0xb4, 0x04, 0xd1, 0x31, 0x24, 0xd1, 0x76, - 0x4c, 0xdb, 0x35, 0x69, 0x53, 0xa2, 0x7e, 0xa0, 0x26, 0x2e, 0x48, 0x42, 0x14, 0x5d, 0x92, 0x60, - 0x16, 0x64, 0xfc, 0x93, 0xe9, 0xec, 0x2c, 0x16, 0x17, 0xe0, 0x4a, 0x8b, 0xdd, 0xcd, 0xee, 0x42, - 0x32, 0x35, 0x7d, 0x50, 0xc7, 0xfd, 0x99, 0x4c, 0xa7, 0xff, 0x9d, 0xa9, 0xe3, 0x3a, 0x6e, 0x93, - 0x4e, 0xe3, 0x34, 0xfd, 0x4b, 0x9a, 0x36, 0x4d, 0xd2, 0x97, 0xbe, 0xa4, 0xf5, 0x53, 0x27, 0x79, - 0xeb, 0x43, 0x1e, 0x2c, 0xc6, 0x33, 0x4d, 0x5b, 0xb7, 0x71, 0x5b, 0x3d, 0x78, 0xc6, 0x2f, 0x9d, - 0xfb, 0xb7, 0xbb, 0x58, 0x80, 0x5a, 0x30, 0x33, 0x76, 0x9e, 0xc4, 0x3d, 0xe7, 0x7c, 0xdf, 0xde, - 0x7b, 0xee, 0xb9, 0xe7, 0x9c, 0x7b, 0x17, 0x82, 0x1f, 0x5f, 0x86, 0x33, 0x1d, 0xcb, 0xea, 0x18, - 0x68, 0xd1, 0x76, 0x2c, 0xcf, 0x6a, 0xf6, 0xda, 0x8b, 0x2d, 0xe4, 0x6a, 0x8e, 0x6e, 0x7b, 0x96, - 0xb3, 0x40, 0x64, 0xd2, 0x24, 0xb5, 0x58, 0xe0, 0x16, 0x73, 0x5b, 0x30, 0x75, 0x55, 0x37, 0xd0, - 0x9a, 0x6f, 0xd8, 0x40, 0x9e, 0x74, 0x09, 0x52, 0x6d, 0xdd, 0x40, 0x25, 0xe1, 0x4c, 0x72, 0x3e, - 0xbf, 0xf4, 0xc8, 0x42, 0x04, 0xb4, 0xd0, 0x8f, 0xd8, 0xc1, 0x62, 0x99, 0x20, 0xe6, 0xde, 0x49, - 0xc1, 0xf4, 0x10, 0xad, 0x24, 0x41, 0xca, 0x54, 0xbb, 0x98, 0x51, 0x98, 0xcf, 0xc9, 0xe4, 0x6f, - 0xa9, 0x04, 0xe3, 0xb6, 0xaa, 0xdd, 0x50, 0x3b, 0xa8, 0x94, 0x20, 0x62, 0xfe, 0x28, 0x95, 0x01, - 0x5a, 0xc8, 0x46, 0x66, 0x0b, 0x99, 0xda, 0x41, 0x29, 0x79, 0x26, 0x39, 0x9f, 0x93, 0x43, 0x12, - 0xe9, 0x49, 0x98, 0xb2, 0x7b, 0x4d, 0x43, 0xd7, 0x94, 0x90, 0x19, 0x9c, 0x49, 0xce, 0xa7, 0x65, - 0x91, 0x2a, 0xd6, 0x02, 0xe3, 0xc7, 0x60, 0xf2, 0x16, 0x52, 0x6f, 0x84, 0x4d, 0xf3, 0xc4, 0xb4, - 0x88, 0xc5, 0x21, 0xc3, 0x55, 0x28, 0x74, 0x91, 0xeb, 0xaa, 0x1d, 0xa4, 0x78, 0x07, 0x36, 0x2a, - 0xa5, 0xc8, 0xec, 0xcf, 0x0c, 0xcc, 0x3e, 0x3a, 0xf3, 0x3c, 0x43, 0xed, 0x1e, 0xd8, 0x48, 0xaa, - 0x42, 0x0e, 0x99, 0xbd, 0x2e, 0x65, 0x48, 0x1f, 0xe1, 0xbf, 0x9a, 0xd9, 0xeb, 0x46, 0x59, 0xb2, - 0x18, 0xc6, 0x28, 0xc6, 0x5d, 0xe4, 0xdc, 0xd4, 0x35, 0x54, 0xca, 0x10, 0x82, 0xc7, 0x06, 0x08, - 0x1a, 0x54, 0x1f, 0xe5, 0xe0, 0x38, 0x69, 0x15, 0x72, 0xe8, 0x65, 0x0f, 0x99, 0xae, 0x6e, 0x99, - 0xa5, 0x71, 0x42, 0xf2, 0xe8, 0x90, 0x55, 0x44, 0x46, 0x2b, 0x4a, 0x11, 0xe0, 0xa4, 0x0b, 0x30, - 0x6e, 0xd9, 0x9e, 0x6e, 0x99, 0x6e, 0x29, 0x7b, 0x46, 0x98, 0xcf, 0x2f, 0x7d, 0x6c, 0x68, 0x20, - 0xd4, 0xa9, 0x8d, 0xcc, 0x8d, 0xa5, 0x0d, 0x10, 0x5d, 0xab, 0xe7, 0x68, 0x48, 0xd1, 0xac, 0x16, - 0x52, 0x74, 0xb3, 0x6d, 0x95, 0x72, 0x84, 0xe0, 0xf4, 0xe0, 0x44, 0x88, 0xe1, 0xaa, 0xd5, 0x42, - 0x1b, 0x66, 0xdb, 0x92, 0x8b, 0x6e, 0xdf, 0xb3, 0x74, 0x02, 0x32, 0xee, 0x81, 0xe9, 0xa9, 0x2f, - 0x97, 0x0a, 0x24, 0x42, 0xd8, 0xd3, 0xdc, 0xb7, 0x33, 0x30, 0x39, 0x4a, 0x88, 0x5d, 0x81, 0x74, - 0x1b, 0xcf, 0xb2, 0x94, 0x38, 0x8e, 0x0f, 0x28, 0xa6, 0xdf, 0x89, 0x99, 0x9f, 0xd0, 0x89, 0x55, - 0xc8, 0x9b, 0xc8, 0xf5, 0x50, 0x8b, 0x46, 0x44, 0x72, 0xc4, 0x98, 0x02, 0x0a, 0x1a, 0x0c, 0xa9, - 0xd4, 0x4f, 0x14, 0x52, 0x2f, 0xc0, 0xa4, 0x3f, 0x24, 0xc5, 0x51, 0xcd, 0x0e, 0x8f, 0xcd, 0xc5, - 0xb8, 0x91, 0x2c, 0xd4, 0x38, 0x4e, 0xc6, 0x30, 0xb9, 0x88, 0xfa, 0x9e, 0xa5, 0x35, 0x00, 0xcb, - 0x44, 0x56, 0x5b, 0x69, 0x21, 0xcd, 0x28, 0x65, 0x8f, 0xf0, 0x52, 0x1d, 0x9b, 0x0c, 0x78, 0xc9, - 0xa2, 0x52, 0xcd, 0x90, 0x2e, 0x07, 0xa1, 0x36, 0x7e, 0x44, 0xa4, 0x6c, 0xd1, 0x4d, 0x36, 0x10, - 0x6d, 0x7b, 0x50, 0x74, 0x10, 0x8e, 0x7b, 0xd4, 0x62, 0x33, 0xcb, 0x91, 0x41, 0x2c, 0xc4, 0xce, - 0x4c, 0x66, 0x30, 0x3a, 0xb1, 0x09, 0x27, 0xfc, 0x28, 0x3d, 0x0c, 0xbe, 0x40, 0x21, 0x61, 0x05, - 0x24, 0x0b, 0x15, 0xb8, 0x70, 0x5b, 0xed, 0xa2, 0xd9, 0xdb, 0x50, 0xec, 0x77, 0x8f, 0x34, 0x03, - 0x69, 0xd7, 0x53, 0x1d, 0x8f, 0x44, 0x61, 0x5a, 0xa6, 0x0f, 0x92, 0x08, 0x49, 0x64, 0xb6, 0x48, - 0x96, 0x4b, 0xcb, 0xf8, 0x4f, 0xe9, 0xe7, 0x82, 0x09, 0x27, 0xc9, 0x84, 0x3f, 0x3e, 0xb8, 0xa2, - 0x7d, 0xcc, 0xd1, 0x79, 0xcf, 0x5e, 0x84, 0x89, 0xbe, 0x09, 0x8c, 0xfa, 0xea, 0xb9, 0x5f, 0x84, - 0x07, 0x86, 0x52, 0x4b, 0x2f, 0xc0, 0x4c, 0xcf, 0xd4, 0x4d, 0x0f, 0x39, 0xb6, 0x83, 0x70, 0xc4, - 0xd2, 0x57, 0x95, 0xfe, 0x6d, 0xfc, 0x88, 0x98, 0xdb, 0x0b, 0x5b, 0x53, 0x16, 0x79, 0xba, 0x37, - 0x28, 0x7c, 0x22, 0x97, 0xfd, 0xd1, 0xb8, 0x78, 0xe7, 0xce, 0x9d, 0x3b, 0x89, 0xb9, 0x57, 0x33, - 0x30, 0x33, 0x6c, 0xcf, 0x0c, 0xdd, 0xbe, 0x27, 0x20, 0x63, 0xf6, 0xba, 0x4d, 0xe4, 0x10, 0x27, - 0xa5, 0x65, 0xf6, 0x24, 0x55, 0x21, 0x6d, 0xa8, 0x4d, 0x64, 0x94, 0x52, 0x67, 0x84, 0xf9, 0xe2, - 0xd2, 0x93, 0x23, 0xed, 0xca, 0x85, 0x4d, 0x0c, 0x91, 0x29, 0x52, 0xfa, 0x24, 0xa4, 0x58, 0x8a, - 0xc6, 0x0c, 0x4f, 0x8c, 0xc6, 0x80, 0xf7, 0x92, 0x4c, 0x70, 0xd2, 0x83, 0x90, 0xc3, 0xff, 0xd2, - 0xd8, 0xc8, 0x90, 0x31, 0x67, 0xb1, 0x00, 0xc7, 0x85, 0x34, 0x0b, 0x59, 0xb2, 0x4d, 0x5a, 0x88, - 0x97, 0x36, 0xff, 0x19, 0x07, 0x56, 0x0b, 0xb5, 0xd5, 0x9e, 0xe1, 0x29, 0x37, 0x55, 0xa3, 0x87, - 0x48, 0xc0, 0xe7, 0xe4, 0x02, 0x13, 0x7e, 0x1a, 0xcb, 0xa4, 0xd3, 0x90, 0xa7, 0xbb, 0x4a, 0x37, - 0x5b, 0xe8, 0x65, 0x92, 0x3d, 0xd3, 0x32, 0xdd, 0x68, 0x1b, 0x58, 0x82, 0x5f, 0x7f, 0xdd, 0xb5, - 0x4c, 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0x7f, 0x31, 0x9a, 0xb8, 0x1f, 0x1a, 0x3e, 0xbd, - 0x68, 0x4c, 0xcd, 0x7d, 0x33, 0x01, 0x29, 0x92, 0x2f, 0x26, 0x21, 0xbf, 0xfb, 0xe2, 0x4e, 0x4d, - 0x59, 0xab, 0xef, 0xad, 0x6c, 0xd6, 0x44, 0x41, 0x2a, 0x02, 0x10, 0xc1, 0xd5, 0xcd, 0x7a, 0x75, - 0x57, 0x4c, 0xf8, 0xcf, 0x1b, 0xdb, 0xbb, 0x17, 0xce, 0x8b, 0x49, 0x1f, 0xb0, 0x47, 0x05, 0xa9, - 0xb0, 0xc1, 0xb9, 0x25, 0x31, 0x2d, 0x89, 0x50, 0xa0, 0x04, 0x1b, 0x2f, 0xd4, 0xd6, 0x2e, 0x9c, - 0x17, 0x33, 0xfd, 0x92, 0x73, 0x4b, 0xe2, 0xb8, 0x34, 0x01, 0x39, 0x22, 0x59, 0xa9, 0xd7, 0x37, - 0xc5, 0xac, 0xcf, 0xd9, 0xd8, 0x95, 0x37, 0xb6, 0xd7, 0xc5, 0x9c, 0xcf, 0xb9, 0x2e, 0xd7, 0xf7, - 0x76, 0x44, 0xf0, 0x19, 0xb6, 0x6a, 0x8d, 0x46, 0x75, 0xbd, 0x26, 0xe6, 0x7d, 0x8b, 0x95, 0x17, - 0x77, 0x6b, 0x0d, 0xb1, 0xd0, 0x37, 0xac, 0x73, 0x4b, 0xe2, 0x84, 0xff, 0x8a, 0xda, 0xf6, 0xde, - 0x96, 0x58, 0x94, 0xa6, 0x60, 0x82, 0xbe, 0x82, 0x0f, 0x62, 0x32, 0x22, 0xba, 0x70, 0x5e, 0x14, - 0x83, 0x81, 0x50, 0x96, 0xa9, 0x3e, 0xc1, 0x85, 0xf3, 0xa2, 0x34, 0xb7, 0x0a, 0x69, 0x12, 0x5d, - 0x92, 0x04, 0xc5, 0xcd, 0xea, 0x4a, 0x6d, 0x53, 0xa9, 0xef, 0xec, 0x6e, 0xd4, 0xb7, 0xab, 0x9b, - 0xa2, 0x10, 0xc8, 0xe4, 0xda, 0xa7, 0xf6, 0x36, 0xe4, 0xda, 0x9a, 0x98, 0x08, 0xcb, 0x76, 0x6a, - 0xd5, 0xdd, 0xda, 0x9a, 0x98, 0x9c, 0xd3, 0x60, 0x66, 0x58, 0x9e, 0x1c, 0xba, 0x33, 0x42, 0x4b, - 0x9c, 0x38, 0x62, 0x89, 0x09, 0xd7, 0xc0, 0x12, 0xff, 0x30, 0x01, 0xd3, 0x43, 0x6a, 0xc5, 0xd0, - 0x97, 0x3c, 0x0b, 0x69, 0x1a, 0xa2, 0xb4, 0x7a, 0x3e, 0x3e, 0xb4, 0xe8, 0x90, 0x80, 0x1d, 0xa8, - 0xa0, 0x04, 0x17, 0xee, 0x20, 0x92, 0x47, 0x74, 0x10, 0x98, 0x62, 0x20, 0xa7, 0xff, 0xc2, 0x40, - 0x4e, 0xa7, 0x65, 0xef, 0xc2, 0x28, 0x65, 0x8f, 0xc8, 0x8e, 0x97, 0xdb, 0xd3, 0x43, 0x72, 0xfb, - 0x15, 0x98, 0x1a, 0x20, 0x1a, 0x39, 0xc7, 0xbe, 0x22, 0x40, 0xe9, 0x28, 0xe7, 0xc4, 0x64, 0xba, - 0x44, 0x5f, 0xa6, 0xbb, 0x12, 0xf5, 0xe0, 0xd9, 0xa3, 0x17, 0x61, 0x60, 0xad, 0xdf, 0x14, 0xe0, - 0xc4, 0xf0, 0x4e, 0x71, 0xe8, 0x18, 0x3e, 0x09, 0x99, 0x2e, 0xf2, 0xf6, 0x2d, 0xde, 0x2d, 0x7d, - 0x7c, 0x48, 0x0d, 0xc6, 0xea, 0xe8, 0x62, 0x33, 0x54, 0xb8, 0x88, 0x27, 0x8f, 0x6a, 0xf7, 0xe8, - 0x68, 0x06, 0x46, 0xfa, 0xb9, 0x04, 0x3c, 0x30, 0x94, 0x7c, 0xe8, 0x40, 0x1f, 0x02, 0xd0, 0x4d, - 0xbb, 0xe7, 0xd1, 0x8e, 0x88, 0x26, 0xd8, 0x1c, 0x91, 0x90, 0xe4, 0x85, 0x93, 0x67, 0xcf, 0xf3, - 0xf5, 0x49, 0xa2, 0x07, 0x2a, 0x22, 0x06, 0x97, 0x82, 0x81, 0xa6, 0xc8, 0x40, 0xcb, 0x47, 0xcc, - 0x74, 0x20, 0x30, 0x9f, 0x06, 0x51, 0x33, 0x74, 0x64, 0x7a, 0x8a, 0xeb, 0x39, 0x48, 0xed, 0xea, - 0x66, 0x87, 0x54, 0x90, 0x6c, 0x25, 0xdd, 0x56, 0x0d, 0x17, 0xc9, 0x93, 0x54, 0xdd, 0xe0, 0x5a, - 0x8c, 0x20, 0x01, 0xe4, 0x84, 0x10, 0x99, 0x3e, 0x04, 0x55, 0xfb, 0x88, 0xb9, 0x6f, 0x64, 0x21, - 0x1f, 0xea, 0xab, 0xa5, 0xb3, 0x50, 0xb8, 0xae, 0xde, 0x54, 0x15, 0x7e, 0x56, 0xa2, 0x9e, 0xc8, - 0x63, 0xd9, 0x0e, 0x3b, 0x2f, 0x3d, 0x0d, 0x33, 0xc4, 0xc4, 0xea, 0x79, 0xc8, 0x51, 0x34, 0x43, - 0x75, 0x5d, 0xe2, 0xb4, 0x2c, 0x31, 0x95, 0xb0, 0xae, 0x8e, 0x55, 0xab, 0x5c, 0x23, 0x2d, 0xc3, - 0x34, 0x41, 0x74, 0x7b, 0x86, 0xa7, 0xdb, 0x06, 0x52, 0xf0, 0xe9, 0xcd, 0x25, 0x95, 0xc4, 0x1f, - 0xd9, 0x14, 0xb6, 0xd8, 0x62, 0x06, 0x78, 0x44, 0xae, 0xb4, 0x06, 0x0f, 0x11, 0x58, 0x07, 0x99, - 0xc8, 0x51, 0x3d, 0xa4, 0xa0, 0xcf, 0xf6, 0x54, 0xc3, 0x55, 0x54, 0xb3, 0xa5, 0xec, 0xab, 0xee, - 0x7e, 0x69, 0x06, 0x13, 0xac, 0x24, 0x4a, 0x82, 0x7c, 0x0a, 0x1b, 0xae, 0x33, 0xbb, 0x1a, 0x31, - 0xab, 0x9a, 0xad, 0x6b, 0xaa, 0xbb, 0x2f, 0x55, 0xe0, 0x04, 0x61, 0x71, 0x3d, 0x47, 0x37, 0x3b, - 0x8a, 0xb6, 0x8f, 0xb4, 0x1b, 0x4a, 0xcf, 0x6b, 0x5f, 0x2a, 0x3d, 0x18, 0x7e, 0x3f, 0x19, 0x61, - 0x83, 0xd8, 0xac, 0x62, 0x93, 0x3d, 0xaf, 0x7d, 0x49, 0x6a, 0x40, 0x01, 0x2f, 0x46, 0x57, 0xbf, - 0x8d, 0x94, 0xb6, 0xe5, 0x90, 0xd2, 0x58, 0x1c, 0x92, 0x9a, 0x42, 0x1e, 0x5c, 0xa8, 0x33, 0xc0, - 0x96, 0xd5, 0x42, 0x95, 0x74, 0x63, 0xa7, 0x56, 0x5b, 0x93, 0xf3, 0x9c, 0xe5, 0xaa, 0xe5, 0xe0, - 0x80, 0xea, 0x58, 0xbe, 0x83, 0xf3, 0x34, 0xa0, 0x3a, 0x16, 0x77, 0xef, 0x32, 0x4c, 0x6b, 0x1a, - 0x9d, 0xb3, 0xae, 0x29, 0xec, 0x8c, 0xe5, 0x96, 0xc4, 0x3e, 0x67, 0x69, 0xda, 0x3a, 0x35, 0x60, - 0x31, 0xee, 0x4a, 0x97, 0xe1, 0x81, 0xc0, 0x59, 0x61, 0xe0, 0xd4, 0xc0, 0x2c, 0xa3, 0xd0, 0x65, - 0x98, 0xb6, 0x0f, 0x06, 0x81, 0x52, 0xdf, 0x1b, 0xed, 0x83, 0x28, 0xec, 0x22, 0xcc, 0xd8, 0xfb, - 0xf6, 0x20, 0xee, 0x89, 0x30, 0x4e, 0xb2, 0xf7, 0xed, 0x28, 0xf0, 0x51, 0x72, 0xe0, 0x76, 0x90, - 0xa6, 0x7a, 0xa8, 0x55, 0x3a, 0x19, 0x36, 0x0f, 0x29, 0xa4, 0x45, 0x10, 0x35, 0x4d, 0x41, 0xa6, - 0xda, 0x34, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xd2, 0xe9, 0xb0, 0x71, 0x51, 0xd3, 0x6a, 0x44, - 0x5b, 0x25, 0x4a, 0xe9, 0x09, 0x98, 0xb2, 0x9a, 0xd7, 0x35, 0x1a, 0x92, 0x8a, 0xed, 0xa0, 0xb6, - 0xfe, 0x72, 0xe9, 0x11, 0xe2, 0xdf, 0x49, 0xac, 0x20, 0x01, 0xb9, 0x43, 0xc4, 0xd2, 0xe3, 0x20, - 0x6a, 0xee, 0xbe, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0xa1, 0xd2, 0xa3, 0xd4, 0x94, 0xca, - 0xb7, 0xb9, 0x18, 0x6f, 0x09, 0xf7, 0x96, 0xde, 0xf6, 0x38, 0xe3, 0x63, 0x74, 0x4b, 0x10, 0x19, - 0x63, 0x9b, 0x07, 0x11, 0xbb, 0xa2, 0xef, 0xc5, 0xf3, 0xc4, 0xac, 0x68, 0xef, 0xdb, 0xe1, 0xf7, - 0x3e, 0x0c, 0x13, 0xd8, 0x32, 0x78, 0xe9, 0xe3, 0xb4, 0x21, 0xb3, 0xf7, 0x43, 0x6f, 0xfc, 0xd0, - 0x7a, 0xe3, 0xb9, 0x0a, 0x14, 0xc2, 0xf1, 0x29, 0xe5, 0x80, 0x46, 0xa8, 0x28, 0xe0, 0x66, 0x65, - 0xb5, 0xbe, 0x86, 0xdb, 0x8c, 0x97, 0x6a, 0x62, 0x02, 0xb7, 0x3b, 0x9b, 0x1b, 0xbb, 0x35, 0x45, - 0xde, 0xdb, 0xde, 0xdd, 0xd8, 0xaa, 0x89, 0xc9, 0x70, 0x5f, 0xfd, 0xdd, 0x04, 0x14, 0xfb, 0x8f, - 0x48, 0xd2, 0xcf, 0xc2, 0x49, 0x7e, 0x9f, 0xe1, 0x22, 0x4f, 0xb9, 0xa5, 0x3b, 0x64, 0xcb, 0x74, - 0x55, 0x5a, 0xbe, 0xfc, 0x45, 0x9b, 0x61, 0x56, 0x0d, 0xe4, 0x3d, 0xaf, 0x3b, 0x78, 0x43, 0x74, - 0x55, 0x4f, 0xda, 0x84, 0xd3, 0xa6, 0xa5, 0xb8, 0x9e, 0x6a, 0xb6, 0x54, 0xa7, 0xa5, 0x04, 0x37, - 0x49, 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0xaa, 0x7c, 0x96, 0x8f, 0x99, 0x56, 0x83, 0x19, - 0x07, 0x39, 0xbc, 0xca, 0x4c, 0x23, 0x01, 0x96, 0x3c, 0x2a, 0xc0, 0x1e, 0x84, 0x5c, 0x57, 0xb5, - 0x15, 0x64, 0x7a, 0xce, 0x01, 0x69, 0x8c, 0xb3, 0x72, 0xb6, 0xab, 0xda, 0x35, 0xfc, 0xfc, 0xd1, - 0x9c, 0x4f, 0x7e, 0x90, 0x84, 0x42, 0xb8, 0x39, 0xc6, 0x67, 0x0d, 0x8d, 0xd4, 0x11, 0x81, 0x64, - 0x9a, 0x87, 0xef, 0xdb, 0x4a, 0x2f, 0xac, 0xe2, 0x02, 0x53, 0xc9, 0xd0, 0x96, 0x55, 0xa6, 0x48, - 0x5c, 0xdc, 0x71, 0x6e, 0x41, 0xb4, 0x45, 0xc8, 0xca, 0xec, 0x49, 0x5a, 0x87, 0xcc, 0x75, 0x97, - 0x70, 0x67, 0x08, 0xf7, 0x23, 0xf7, 0xe7, 0x7e, 0xae, 0x41, 0xc8, 0x73, 0xcf, 0x35, 0x94, 0xed, - 0xba, 0xbc, 0x55, 0xdd, 0x94, 0x19, 0x5c, 0x3a, 0x05, 0x29, 0x43, 0xbd, 0x7d, 0xd0, 0x5f, 0x8a, - 0x88, 0x68, 0x54, 0xc7, 0x9f, 0x82, 0xd4, 0x2d, 0xa4, 0xde, 0xe8, 0x2f, 0x00, 0x44, 0xf4, 0x21, - 0x86, 0xfe, 0x22, 0xa4, 0x89, 0xbf, 0x24, 0x00, 0xe6, 0x31, 0x71, 0x4c, 0xca, 0x42, 0x6a, 0xb5, - 0x2e, 0xe3, 0xf0, 0x17, 0xa1, 0x40, 0xa5, 0xca, 0xce, 0x46, 0x6d, 0xb5, 0x26, 0x26, 0xe6, 0x96, - 0x21, 0x43, 0x9d, 0x80, 0xb7, 0x86, 0xef, 0x06, 0x71, 0x8c, 0x3d, 0x32, 0x0e, 0x81, 0x6b, 0xf7, - 0xb6, 0x56, 0x6a, 0xb2, 0x98, 0x08, 0x2f, 0xaf, 0x0b, 0x85, 0x70, 0x5f, 0xfc, 0xd1, 0xc4, 0xd4, - 0x77, 0x04, 0xc8, 0x87, 0xfa, 0x5c, 0xdc, 0xa0, 0xa8, 0x86, 0x61, 0xdd, 0x52, 0x54, 0x43, 0x57, - 0x5d, 0x16, 0x14, 0x40, 0x44, 0x55, 0x2c, 0x19, 0x75, 0xd1, 0x3e, 0x92, 0xc1, 0xbf, 0x21, 0x80, - 0x18, 0x6d, 0x31, 0x23, 0x03, 0x14, 0x7e, 0xaa, 0x03, 0x7c, 0x5d, 0x80, 0x62, 0x7f, 0x5f, 0x19, - 0x19, 0xde, 0xd9, 0x9f, 0xea, 0xf0, 0xde, 0x4e, 0xc0, 0x44, 0x5f, 0x37, 0x39, 0xea, 0xe8, 0x3e, - 0x0b, 0x53, 0x7a, 0x0b, 0x75, 0x6d, 0xcb, 0x43, 0xa6, 0x76, 0xa0, 0x18, 0xe8, 0x26, 0x32, 0x4a, - 0x73, 0x24, 0x51, 0x2c, 0xde, 0xbf, 0x5f, 0x5d, 0xd8, 0x08, 0x70, 0x9b, 0x18, 0x56, 0x99, 0xde, - 0x58, 0xab, 0x6d, 0xed, 0xd4, 0x77, 0x6b, 0xdb, 0xab, 0x2f, 0x2a, 0x7b, 0xdb, 0x3f, 0xbf, 0x5d, - 0x7f, 0x7e, 0x5b, 0x16, 0xf5, 0x88, 0xd9, 0x87, 0xb8, 0xd5, 0x77, 0x40, 0x8c, 0x0e, 0x4a, 0x3a, - 0x09, 0xc3, 0x86, 0x25, 0x8e, 0x49, 0xd3, 0x30, 0xb9, 0x5d, 0x57, 0x1a, 0x1b, 0x6b, 0x35, 0xa5, - 0x76, 0xf5, 0x6a, 0x6d, 0x75, 0xb7, 0x41, 0x6f, 0x20, 0x7c, 0xeb, 0xdd, 0xfe, 0x4d, 0xfd, 0x5a, - 0x12, 0xa6, 0x87, 0x8c, 0x44, 0xaa, 0xb2, 0xb3, 0x03, 0x3d, 0xce, 0x3c, 0x35, 0xca, 0xe8, 0x17, - 0x70, 0xc9, 0xdf, 0x51, 0x1d, 0x8f, 0x1d, 0x35, 0x1e, 0x07, 0xec, 0x25, 0xd3, 0xd3, 0xdb, 0x3a, - 0x72, 0xd8, 0x85, 0x0d, 0x3d, 0x50, 0x4c, 0x06, 0x72, 0x7a, 0x67, 0xf3, 0x33, 0x20, 0xd9, 0x96, - 0xab, 0x7b, 0xfa, 0x4d, 0xa4, 0xe8, 0x26, 0xbf, 0xdd, 0xc1, 0x07, 0x8c, 0x94, 0x2c, 0x72, 0xcd, - 0x86, 0xe9, 0xf9, 0xd6, 0x26, 0xea, 0xa8, 0x11, 0x6b, 0x9c, 0xc0, 0x93, 0xb2, 0xc8, 0x35, 0xbe, - 0xf5, 0x59, 0x28, 0xb4, 0xac, 0x1e, 0xee, 0xba, 0xa8, 0x1d, 0xae, 0x17, 0x82, 0x9c, 0xa7, 0x32, - 0xdf, 0x84, 0xf5, 0xd3, 0xc1, 0xb5, 0x52, 0x41, 0xce, 0x53, 0x19, 0x35, 0x79, 0x0c, 0x26, 0xd5, - 0x4e, 0xc7, 0xc1, 0xe4, 0x9c, 0x88, 0x9e, 0x10, 0x8a, 0xbe, 0x98, 0x18, 0xce, 0x3e, 0x07, 0x59, - 0xee, 0x07, 0x5c, 0x92, 0xb1, 0x27, 0x14, 0x9b, 0x1e, 0x7b, 0x13, 0xf3, 0x39, 0x39, 0x6b, 0x72, - 0xe5, 0x59, 0x28, 0xe8, 0xae, 0x12, 0xdc, 0x92, 0x27, 0xce, 0x24, 0xe6, 0xb3, 0x72, 0x5e, 0x77, - 0xfd, 0x1b, 0xc6, 0xb9, 0x37, 0x13, 0x50, 0xec, 0xbf, 0xe5, 0x97, 0xd6, 0x20, 0x6b, 0x58, 0x9a, - 0x4a, 0x42, 0x8b, 0x7e, 0x62, 0x9a, 0x8f, 0xf9, 0x30, 0xb0, 0xb0, 0xc9, 0xec, 0x65, 0x1f, 0x39, - 0xfb, 0x2f, 0x02, 0x64, 0xb9, 0x58, 0x3a, 0x01, 0x29, 0x5b, 0xf5, 0xf6, 0x09, 0x5d, 0x7a, 0x25, - 0x21, 0x0a, 0x32, 0x79, 0xc6, 0x72, 0xd7, 0x56, 0x4d, 0x12, 0x02, 0x4c, 0x8e, 0x9f, 0xf1, 0xba, - 0x1a, 0x48, 0x6d, 0x91, 0xe3, 0x87, 0xd5, 0xed, 0x22, 0xd3, 0x73, 0xf9, 0xba, 0x32, 0xf9, 0x2a, - 0x13, 0x4b, 0x4f, 0xc2, 0x94, 0xe7, 0xa8, 0xba, 0xd1, 0x67, 0x9b, 0x22, 0xb6, 0x22, 0x57, 0xf8, - 0xc6, 0x15, 0x38, 0xc5, 0x79, 0x5b, 0xc8, 0x53, 0xb5, 0x7d, 0xd4, 0x0a, 0x40, 0x19, 0x72, 0xcd, - 0x70, 0x92, 0x19, 0xac, 0x31, 0x3d, 0xc7, 0xce, 0x7d, 0x5f, 0x80, 0x29, 0x7e, 0x60, 0x6a, 0xf9, - 0xce, 0xda, 0x02, 0x50, 0x4d, 0xd3, 0xf2, 0xc2, 0xee, 0x1a, 0x0c, 0xe5, 0x01, 0xdc, 0x42, 0xd5, - 0x07, 0xc9, 0x21, 0x82, 0xd9, 0x2e, 0x40, 0xa0, 0x39, 0xd2, 0x6d, 0xa7, 0x21, 0xcf, 0x3e, 0xe1, - 0x90, 0xef, 0x80, 0xf4, 0x88, 0x0d, 0x54, 0x84, 0x4f, 0x56, 0xd2, 0x0c, 0xa4, 0x9b, 0xa8, 0xa3, - 0x9b, 0xec, 0x62, 0x96, 0x3e, 0xf0, 0x8b, 0x90, 0x94, 0x7f, 0x11, 0xb2, 0xf2, 0x19, 0x98, 0xd6, - 0xac, 0x6e, 0x74, 0xb8, 0x2b, 0x62, 0xe4, 0x98, 0xef, 0x5e, 0x13, 0x5e, 0x82, 0xa0, 0xc5, 0x7c, - 0x5f, 0x10, 0xbe, 0x94, 0x48, 0xae, 0xef, 0xac, 0x7c, 0x35, 0x31, 0xbb, 0x4e, 0xa1, 0x3b, 0x7c, - 0xa6, 0x32, 0x6a, 0x1b, 0x48, 0xc3, 0xa3, 0x87, 0x2f, 0x3f, 0x09, 0x4f, 0x75, 0x74, 0x6f, 0xbf, - 0xd7, 0x5c, 0xd0, 0xac, 0xee, 0x62, 0xc7, 0xea, 0x58, 0xc1, 0xa7, 0x4f, 0xfc, 0x44, 0x1e, 0xc8, - 0x5f, 0xec, 0xf3, 0x67, 0xce, 0x97, 0xce, 0xc6, 0x7e, 0x2b, 0xad, 0x6c, 0xc3, 0x34, 0x33, 0x56, - 0xc8, 0xf7, 0x17, 0x7a, 0x8a, 0x90, 0xee, 0x7b, 0x87, 0x55, 0xfa, 0xfa, 0x3b, 0xa4, 0x5c, 0xcb, - 0x53, 0x0c, 0x8a, 0x75, 0xf4, 0xa0, 0x51, 0x91, 0xe1, 0x81, 0x3e, 0x3e, 0xba, 0x35, 0x91, 0x13, - 0xc3, 0xf8, 0x5d, 0xc6, 0x38, 0x1d, 0x62, 0x6c, 0x30, 0x68, 0x65, 0x15, 0x26, 0x8e, 0xc3, 0xf5, - 0x4f, 0x8c, 0xab, 0x80, 0xc2, 0x24, 0xeb, 0x30, 0x49, 0x48, 0xb4, 0x9e, 0xeb, 0x59, 0x5d, 0x92, - 0xf7, 0xee, 0x4f, 0xf3, 0xcf, 0xef, 0xd0, 0xbd, 0x52, 0xc4, 0xb0, 0x55, 0x1f, 0x55, 0xa9, 0x00, - 0xf9, 0xe4, 0xd4, 0x42, 0x9a, 0x11, 0xc3, 0xf0, 0x16, 0x1b, 0x88, 0x6f, 0x5f, 0xf9, 0x34, 0xcc, - 0xe0, 0xbf, 0x49, 0x5a, 0x0a, 0x8f, 0x24, 0xfe, 0xc2, 0xab, 0xf4, 0xfd, 0x57, 0xe8, 0x76, 0x9c, - 0xf6, 0x09, 0x42, 0x63, 0x0a, 0xad, 0x62, 0x07, 0x79, 0x1e, 0x72, 0x5c, 0x45, 0x35, 0x86, 0x0d, - 0x2f, 0x74, 0x63, 0x50, 0xfa, 0xfc, 0xbb, 0xfd, 0xab, 0xb8, 0x4e, 0x91, 0x55, 0xc3, 0xa8, 0xec, - 0xc1, 0xc9, 0x21, 0x51, 0x31, 0x02, 0xe7, 0x6b, 0x8c, 0x73, 0x66, 0x20, 0x32, 0x30, 0xed, 0x0e, - 0x70, 0xb9, 0xbf, 0x96, 0x23, 0x70, 0xfe, 0x21, 0xe3, 0x94, 0x18, 0x96, 0x2f, 0x29, 0x66, 0x7c, - 0x0e, 0xa6, 0x6e, 0x22, 0xa7, 0x69, 0xb9, 0xec, 0x96, 0x66, 0x04, 0xba, 0xd7, 0x19, 0xdd, 0x24, - 0x03, 0x92, 0x6b, 0x1b, 0xcc, 0x75, 0x19, 0xb2, 0x6d, 0x55, 0x43, 0x23, 0x50, 0x7c, 0x81, 0x51, - 0x8c, 0x63, 0x7b, 0x0c, 0xad, 0x42, 0xa1, 0x63, 0xb1, 0xca, 0x14, 0x0f, 0x7f, 0x83, 0xc1, 0xf3, - 0x1c, 0xc3, 0x28, 0x6c, 0xcb, 0xee, 0x19, 0xb8, 0x6c, 0xc5, 0x53, 0xfc, 0x11, 0xa7, 0xe0, 0x18, - 0x46, 0x71, 0x0c, 0xb7, 0xfe, 0x31, 0xa7, 0x70, 0x43, 0xfe, 0x7c, 0x16, 0xf2, 0x96, 0x69, 0x1c, - 0x58, 0xe6, 0x28, 0x83, 0xf8, 0x22, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x57, 0x20, 0x37, 0xea, 0x42, - 0xfc, 0xe9, 0xbb, 0x7c, 0x7b, 0xf0, 0x15, 0x58, 0x87, 0x49, 0x9e, 0xa0, 0x74, 0xcb, 0x1c, 0x81, - 0xe2, 0xcb, 0x8c, 0xa2, 0x18, 0x82, 0xb1, 0x69, 0x78, 0xc8, 0xf5, 0x3a, 0x68, 0x14, 0x92, 0x37, - 0xf9, 0x34, 0x18, 0x84, 0xb9, 0xb2, 0x89, 0x4c, 0x6d, 0x7f, 0x34, 0x86, 0xaf, 0x70, 0x57, 0x72, - 0x0c, 0xa6, 0x58, 0x85, 0x89, 0xae, 0xea, 0xb8, 0xfb, 0xaa, 0x31, 0xd2, 0x72, 0xfc, 0x19, 0xe3, - 0x28, 0xf8, 0x20, 0xe6, 0x91, 0x9e, 0x79, 0x1c, 0x9a, 0xaf, 0x72, 0x8f, 0x84, 0x60, 0x6c, 0xeb, - 0xb9, 0x1e, 0xb9, 0xd2, 0x3a, 0x0e, 0xdb, 0x9f, 0xf3, 0xad, 0x47, 0xb1, 0x5b, 0x61, 0xc6, 0x2b, - 0x90, 0x73, 0xf5, 0xdb, 0x23, 0xd1, 0xfc, 0x05, 0x5f, 0x69, 0x02, 0xc0, 0xe0, 0x17, 0xe1, 0xd4, - 0xd0, 0x32, 0x31, 0x02, 0xd9, 0x5f, 0x32, 0xb2, 0x13, 0x43, 0x4a, 0x05, 0x4b, 0x09, 0xc7, 0xa5, - 0xfc, 0x2b, 0x9e, 0x12, 0x50, 0x84, 0x6b, 0x07, 0x9f, 0x15, 0x5c, 0xb5, 0x7d, 0x3c, 0xaf, 0xfd, - 0x35, 0xf7, 0x1a, 0xc5, 0xf6, 0x79, 0x6d, 0x17, 0x4e, 0x30, 0xc6, 0xe3, 0xad, 0xeb, 0xd7, 0x78, - 0x62, 0xa5, 0xe8, 0xbd, 0xfe, 0xd5, 0xfd, 0x0c, 0xcc, 0xfa, 0xee, 0xe4, 0x4d, 0xa9, 0xab, 0x74, - 0x55, 0x7b, 0x04, 0xe6, 0xaf, 0x33, 0x66, 0x9e, 0xf1, 0xfd, 0xae, 0xd6, 0xdd, 0x52, 0x6d, 0x4c, - 0xfe, 0x02, 0x94, 0x38, 0x79, 0xcf, 0x74, 0x90, 0x66, 0x75, 0x4c, 0xfd, 0x36, 0x6a, 0x8d, 0x40, - 0xfd, 0x37, 0x91, 0xa5, 0xda, 0x0b, 0xc1, 0x31, 0xf3, 0x06, 0x88, 0x7e, 0xaf, 0xa2, 0xe8, 0x5d, - 0xdb, 0x72, 0xbc, 0x18, 0xc6, 0x6f, 0xf0, 0x95, 0xf2, 0x71, 0x1b, 0x04, 0x56, 0xa9, 0x41, 0x91, - 0x3c, 0x8e, 0x1a, 0x92, 0x7f, 0xcb, 0x88, 0x26, 0x02, 0x14, 0x4b, 0x1c, 0x9a, 0xd5, 0xb5, 0x55, - 0x67, 0x94, 0xfc, 0xf7, 0x77, 0x3c, 0x71, 0x30, 0x08, 0x4b, 0x1c, 0xde, 0x81, 0x8d, 0x70, 0xb5, - 0x1f, 0x81, 0xe1, 0x9b, 0x3c, 0x71, 0x70, 0x0c, 0xa3, 0xe0, 0x0d, 0xc3, 0x08, 0x14, 0x7f, 0xcf, - 0x29, 0x38, 0x06, 0x53, 0x7c, 0x2a, 0x28, 0xb4, 0x0e, 0xea, 0xe8, 0xae, 0xe7, 0xd0, 0x56, 0xf8, - 0xfe, 0x54, 0xdf, 0x7a, 0xb7, 0xbf, 0x09, 0x93, 0x43, 0x50, 0x9c, 0x89, 0xd8, 0x15, 0x2a, 0x39, - 0x29, 0xc5, 0x0f, 0xec, 0xdb, 0x3c, 0x13, 0x85, 0x60, 0x78, 0x6c, 0xa1, 0x0e, 0x11, 0xbb, 0x5d, - 0xc3, 0xe7, 0x83, 0x11, 0xe8, 0xbe, 0x13, 0x19, 0x5c, 0x83, 0x63, 0x31, 0x67, 0xa8, 0xff, 0xe9, - 0x99, 0x37, 0xd0, 0xc1, 0x48, 0xd1, 0xf9, 0x0f, 0x91, 0xfe, 0x67, 0x8f, 0x22, 0x69, 0x0e, 0x99, - 0x8c, 0xf4, 0x53, 0x52, 0xdc, 0x8f, 0x75, 0x4a, 0xbf, 0x74, 0x8f, 0xcd, 0xb7, 0xbf, 0x9d, 0xaa, - 0x6c, 0xe2, 0x20, 0xef, 0x6f, 0x7a, 0xe2, 0xc9, 0x5e, 0xb9, 0xe7, 0xc7, 0x79, 0x5f, 0xcf, 0x53, - 0xb9, 0x0a, 0x13, 0x7d, 0x0d, 0x4f, 0x3c, 0xd5, 0x2f, 0x33, 0xaa, 0x42, 0xb8, 0xdf, 0xa9, 0x2c, - 0x43, 0x0a, 0x37, 0x2f, 0xf1, 0xf0, 0x5f, 0x61, 0x70, 0x62, 0x5e, 0xf9, 0x04, 0x64, 0x79, 0xd3, - 0x12, 0x0f, 0xfd, 0x55, 0x06, 0xf5, 0x21, 0x18, 0xce, 0x1b, 0x96, 0x78, 0xf8, 0xaf, 0x71, 0x38, - 0x87, 0x60, 0xf8, 0xe8, 0x2e, 0xfc, 0xc7, 0x5f, 0x4f, 0xb1, 0xa2, 0xc3, 0x7d, 0x77, 0x05, 0xc6, - 0x59, 0xa7, 0x12, 0x8f, 0xfe, 0x1c, 0x7b, 0x39, 0x47, 0x54, 0x2e, 0x42, 0x7a, 0x44, 0x87, 0xff, - 0x06, 0x83, 0x52, 0xfb, 0xca, 0x2a, 0xe4, 0x43, 0xdd, 0x49, 0x3c, 0xfc, 0x37, 0x19, 0x3c, 0x8c, - 0xc2, 0x43, 0x67, 0xdd, 0x49, 0x3c, 0xc1, 0x6f, 0xf1, 0xa1, 0x33, 0x04, 0x76, 0x1b, 0x6f, 0x4c, - 0xe2, 0xd1, 0xbf, 0xcd, 0xbd, 0xce, 0x21, 0x95, 0x67, 0x21, 0xe7, 0x17, 0x9b, 0x78, 0xfc, 0xef, - 0x30, 0x7c, 0x80, 0xc1, 0x1e, 0x08, 0x15, 0xbb, 0x78, 0x8a, 0xdf, 0xe5, 0x1e, 0x08, 0xa1, 0xf0, - 0x36, 0x8a, 0x36, 0x30, 0xf1, 0x4c, 0xbf, 0xc7, 0xb7, 0x51, 0xa4, 0x7f, 0xc1, 0xab, 0x49, 0x72, - 0x7e, 0x3c, 0xc5, 0xef, 0xf3, 0xd5, 0x24, 0xf6, 0x78, 0x18, 0xd1, 0x8e, 0x20, 0x9e, 0xe3, 0x0f, - 0xf8, 0x30, 0x22, 0x0d, 0x41, 0x65, 0x07, 0xa4, 0xc1, 0x6e, 0x20, 0x9e, 0xef, 0x55, 0xc6, 0x37, - 0x35, 0xd0, 0x0c, 0x54, 0x9e, 0x87, 0x13, 0xc3, 0x3b, 0x81, 0x78, 0xd6, 0xcf, 0xdf, 0x8b, 0x9c, - 0xdd, 0xc2, 0x8d, 0x40, 0x65, 0x37, 0x28, 0x29, 0xe1, 0x2e, 0x20, 0x9e, 0xf6, 0xb5, 0x7b, 0xfd, - 0x89, 0x3b, 0xdc, 0x04, 0x54, 0xaa, 0x00, 0x41, 0x01, 0x8e, 0xe7, 0x7a, 0x9d, 0x71, 0x85, 0x40, - 0x78, 0x6b, 0xb0, 0xfa, 0x1b, 0x8f, 0xff, 0x02, 0xdf, 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, - 0xf1, 0xe8, 0x37, 0xf8, 0xd6, 0xe0, 0x10, 0x1c, 0xd9, 0xa1, 0xea, 0x16, 0xcf, 0xf0, 0x45, 0x1e, - 0xd9, 0x21, 0x54, 0x65, 0x1b, 0xa6, 0x06, 0x0a, 0x62, 0x3c, 0xd5, 0x97, 0x18, 0x95, 0x18, 0xad, - 0x87, 0xe1, 0xe2, 0xc5, 0x8a, 0x61, 0x3c, 0xdb, 0x9f, 0x44, 0x8a, 0x17, 0xab, 0x85, 0x95, 0x2b, - 0x90, 0x35, 0x7b, 0x86, 0x81, 0x37, 0x8f, 0x74, 0xff, 0x1f, 0xd8, 0x95, 0xfe, 0xfd, 0x03, 0xe6, - 0x1d, 0x0e, 0xa8, 0x2c, 0x43, 0x1a, 0x75, 0x9b, 0xa8, 0x15, 0x87, 0xfc, 0x8f, 0x0f, 0x78, 0xc2, - 0xc4, 0xd6, 0x95, 0x67, 0x01, 0xe8, 0xd5, 0x08, 0xf9, 0xec, 0x17, 0x83, 0xfd, 0xcf, 0x0f, 0xd8, - 0x4f, 0x5f, 0x02, 0x48, 0x40, 0x40, 0x7f, 0x48, 0x73, 0x7f, 0x82, 0x77, 0xfb, 0x09, 0xc8, 0x8a, - 0x5c, 0x86, 0xf1, 0xeb, 0xae, 0x65, 0x7a, 0x6a, 0x27, 0x0e, 0xfd, 0x5f, 0x0c, 0xcd, 0xed, 0xb1, - 0xc3, 0xba, 0x96, 0x83, 0x3c, 0xb5, 0xe3, 0xc6, 0x61, 0xff, 0x9b, 0x61, 0x7d, 0x00, 0x06, 0x6b, - 0xaa, 0xeb, 0x8d, 0x32, 0xef, 0x1f, 0x73, 0x30, 0x07, 0xe0, 0x41, 0xe3, 0xbf, 0x6f, 0xa0, 0x83, - 0x38, 0xec, 0x7b, 0x7c, 0xd0, 0xcc, 0xbe, 0xf2, 0x09, 0xc8, 0xe1, 0x3f, 0xe9, 0xef, 0xd9, 0x62, - 0xc0, 0xff, 0xc3, 0xc0, 0x01, 0x02, 0xbf, 0xd9, 0xf5, 0x5a, 0x9e, 0x1e, 0xef, 0xec, 0xff, 0x65, - 0x2b, 0xcd, 0xed, 0x2b, 0x55, 0xc8, 0xbb, 0x5e, 0xab, 0xd5, 0x63, 0xfd, 0x69, 0x0c, 0xfc, 0xff, - 0x3e, 0xf0, 0xaf, 0x2c, 0x7c, 0x0c, 0x5e, 0xed, 0x5b, 0x37, 0x3c, 0xdb, 0x22, 0x9f, 0x39, 0xe2, - 0x18, 0xee, 0x31, 0x86, 0x10, 0x64, 0xa5, 0x36, 0xfc, 0xfa, 0x16, 0xd6, 0xad, 0x75, 0x8b, 0x5e, - 0xdc, 0xbe, 0x34, 0x17, 0x7f, 0x03, 0x0b, 0xaf, 0xa6, 0x61, 0x56, 0xb3, 0xba, 0x4d, 0xcb, 0x5d, - 0xf4, 0xd3, 0xf1, 0xa2, 0x65, 0x32, 0x46, 0x29, 0x69, 0x99, 0x68, 0xf6, 0x78, 0x37, 0xb9, 0x73, - 0xa7, 0x20, 0xdd, 0xe8, 0x35, 0x9b, 0x07, 0x92, 0x08, 0x49, 0xb7, 0xd7, 0x64, 0xbf, 0x8a, 0xc2, - 0x7f, 0xce, 0xfd, 0x20, 0x09, 0xf9, 0x86, 0xda, 0xb5, 0x0d, 0x54, 0x37, 0x51, 0xbd, 0x2d, 0x95, - 0x20, 0x43, 0x26, 0xfa, 0x0c, 0x31, 0x12, 0xae, 0x8d, 0xc9, 0xec, 0xd9, 0xd7, 0x2c, 0x91, 0x1b, - 0xee, 0x84, 0xaf, 0x59, 0xf2, 0x35, 0xe7, 0xe8, 0x05, 0xb7, 0xaf, 0x39, 0xe7, 0x6b, 0xce, 0x93, - 0x6b, 0xee, 0xa4, 0xaf, 0x39, 0xef, 0x6b, 0x96, 0xc9, 0x67, 0x9c, 0x09, 0x5f, 0xb3, 0xec, 0x6b, - 0x2e, 0x90, 0x0f, 0x37, 0x29, 0x5f, 0x73, 0xc1, 0xd7, 0x5c, 0x24, 0xdf, 0x6b, 0xa6, 0x7c, 0xcd, - 0x45, 0x5f, 0x73, 0x89, 0x7c, 0xa3, 0x91, 0x7c, 0xcd, 0x25, 0x5f, 0x73, 0x99, 0xfc, 0xf8, 0x69, - 0xdc, 0xd7, 0x5c, 0x96, 0x66, 0x61, 0x9c, 0xce, 0xec, 0x69, 0xf2, 0x21, 0x7f, 0xf2, 0xda, 0x98, - 0xcc, 0x05, 0x81, 0xee, 0x19, 0xf2, 0x03, 0xa7, 0x4c, 0xa0, 0x7b, 0x26, 0xd0, 0x2d, 0x91, 0xff, - 0x67, 0x21, 0x06, 0xba, 0xa5, 0x40, 0x77, 0xae, 0x34, 0x81, 0xe3, 0x23, 0xd0, 0x9d, 0x0b, 0x74, - 0xe7, 0x4b, 0x45, 0xec, 0xff, 0x40, 0x77, 0x3e, 0xd0, 0x2d, 0x97, 0x26, 0xcf, 0x08, 0xf3, 0x85, - 0x40, 0xb7, 0x2c, 0x3d, 0x05, 0x79, 0xb7, 0xd7, 0x54, 0x58, 0xa6, 0x27, 0x3f, 0xa4, 0xca, 0x2f, - 0xc1, 0x02, 0x8e, 0x08, 0xb2, 0xa8, 0xd7, 0xc6, 0x64, 0x70, 0x7b, 0x4d, 0x96, 0x88, 0x57, 0x0a, - 0x40, 0xee, 0x9f, 0x14, 0xf2, 0xfb, 0xe7, 0x95, 0xb5, 0xb7, 0xee, 0x96, 0xc7, 0xbe, 0x77, 0xb7, - 0x3c, 0xf6, 0xaf, 0x77, 0xcb, 0x63, 0x6f, 0xdf, 0x2d, 0x0b, 0xef, 0xdd, 0x2d, 0x0b, 0xef, 0xdf, - 0x2d, 0x0b, 0x77, 0x0e, 0xcb, 0xc2, 0x57, 0x0e, 0xcb, 0xc2, 0xd7, 0x0e, 0xcb, 0xc2, 0xb7, 0x0e, - 0xcb, 0xc2, 0x5b, 0x87, 0x65, 0xe1, 0x7b, 0x87, 0xe5, 0xb1, 0xb7, 0x0f, 0xcb, 0xc2, 0x8f, 0x0e, - 0xcb, 0x63, 0xef, 0x1d, 0x96, 0x85, 0xf7, 0x0f, 0xcb, 0x63, 0x77, 0x7e, 0x58, 0x1e, 0x6b, 0x66, - 0x48, 0x18, 0x9d, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x14, 0xab, 0x18, 0x36, 0x35, - 0x00, 0x00, + // 4115 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xe7, + 0x75, 0x26, 0xae, 0x04, 0x0e, 0x40, 0x70, 0xb9, 0xa4, 0x25, 0x88, 0x8e, 0x21, 0x89, 0xb6, 0x63, + 0xda, 0x8e, 0x29, 0x9b, 0x22, 0x75, 0x81, 0x9a, 0xb8, 0x20, 0x09, 0x51, 0x74, 0x49, 0x82, 0x59, + 0x90, 0xf1, 0x25, 0xd3, 0xd9, 0x59, 0x2c, 0x7e, 0x80, 0x2b, 0x2d, 0x76, 0x37, 0xbb, 0x0b, 0xc9, + 0xd4, 0xf4, 0x41, 0x1d, 0xf7, 0x32, 0x99, 0xde, 0x2f, 0x33, 0x75, 0x5c, 0xc7, 0x6d, 0xd2, 0x69, + 0x9c, 0xa6, 0xb7, 0xa4, 0x97, 0x34, 0x49, 0x5f, 0xfa, 0x92, 0xd6, 0x4f, 0x9d, 0xe4, 0xad, 0x0f, + 0x79, 0xb0, 0x18, 0xcf, 0x34, 0x6d, 0xdd, 0xd6, 0x6d, 0xf5, 0xe0, 0x19, 0xbf, 0x74, 0xfe, 0xdb, + 0xde, 0x00, 0x6a, 0xc1, 0xcc, 0xd8, 0x79, 0x12, 0xf7, 0x9c, 0xf3, 0x7d, 0x7b, 0xfe, 0xf3, 0x9f, + 0xff, 0xfc, 0xe7, 0xff, 0x17, 0x82, 0xb7, 0xaa, 0x70, 0xa6, 0x6b, 0x9a, 0x5d, 0x1d, 0x9d, 0xb3, + 0x6c, 0xd3, 0x35, 0x5b, 0xfd, 0xce, 0xb9, 0x36, 0x72, 0x54, 0x5b, 0xb3, 0x5c, 0xd3, 0x5e, 0x20, + 0x32, 0x71, 0x92, 0x5a, 0x2c, 0x70, 0x8b, 0xb9, 0x2d, 0x98, 0xba, 0xaa, 0xe9, 0x68, 0xcd, 0x33, + 0x6c, 0x22, 0x57, 0xbc, 0x04, 0xe9, 0x8e, 0xa6, 0xa3, 0x72, 0xe2, 0x4c, 0x6a, 0xbe, 0xb0, 0xf8, + 0xc8, 0x42, 0x04, 0xb4, 0x10, 0x46, 0xec, 0x60, 0xb1, 0x44, 0x10, 0x73, 0xef, 0xa4, 0x61, 0x7a, + 0x88, 0x56, 0x14, 0x21, 0x6d, 0x28, 0x3d, 0xcc, 0x98, 0x98, 0xcf, 0x4b, 0xe4, 0x6f, 0xb1, 0x0c, + 0xe3, 0x96, 0xa2, 0xde, 0x50, 0xba, 0xa8, 0x9c, 0x24, 0x62, 0xfe, 0x28, 0x56, 0x00, 0xda, 0xc8, + 0x42, 0x46, 0x1b, 0x19, 0xea, 0x41, 0x39, 0x75, 0x26, 0x35, 0x9f, 0x97, 0x02, 0x12, 0xf1, 0x49, + 0x98, 0xb2, 0xfa, 0x2d, 0x5d, 0x53, 0xe5, 0x80, 0x19, 0x9c, 0x49, 0xcd, 0x67, 0x24, 0x81, 0x2a, + 0xd6, 0x7c, 0xe3, 0xc7, 0x60, 0xf2, 0x16, 0x52, 0x6e, 0x04, 0x4d, 0x0b, 0xc4, 0xb4, 0x84, 0xc5, + 0x01, 0xc3, 0x55, 0x28, 0xf6, 0x90, 0xe3, 0x28, 0x5d, 0x24, 0xbb, 0x07, 0x16, 0x2a, 0xa7, 0xc9, + 0xe8, 0xcf, 0x0c, 0x8c, 0x3e, 0x3a, 0xf2, 0x02, 0x43, 0xed, 0x1e, 0x58, 0x48, 0xac, 0x41, 0x1e, + 0x19, 0xfd, 0x1e, 0x65, 0xc8, 0x1c, 0x11, 0xbf, 0xba, 0xd1, 0xef, 0x45, 0x59, 0x72, 0x18, 0xc6, + 0x28, 0xc6, 0x1d, 0x64, 0xdf, 0xd4, 0x54, 0x54, 0xce, 0x12, 0x82, 0xc7, 0x06, 0x08, 0x9a, 0x54, + 0x1f, 0xe5, 0xe0, 0x38, 0x71, 0x15, 0xf2, 0xe8, 0x65, 0x17, 0x19, 0x8e, 0x66, 0x1a, 0xe5, 0x71, + 0x42, 0xf2, 0xe8, 0x90, 0x59, 0x44, 0x7a, 0x3b, 0x4a, 0xe1, 0xe3, 0xc4, 0x0b, 0x30, 0x6e, 0x5a, + 0xae, 0x66, 0x1a, 0x4e, 0x39, 0x77, 0x26, 0x31, 0x5f, 0x58, 0xfc, 0xd8, 0xd0, 0x44, 0x68, 0x50, + 0x1b, 0x89, 0x1b, 0x8b, 0x1b, 0x20, 0x38, 0x66, 0xdf, 0x56, 0x91, 0xac, 0x9a, 0x6d, 0x24, 0x6b, + 0x46, 0xc7, 0x2c, 0xe7, 0x09, 0xc1, 0xe9, 0xc1, 0x81, 0x10, 0xc3, 0x55, 0xb3, 0x8d, 0x36, 0x8c, + 0x8e, 0x29, 0x95, 0x9c, 0xd0, 0xb3, 0x78, 0x02, 0xb2, 0xce, 0x81, 0xe1, 0x2a, 0x2f, 0x97, 0x8b, + 0x24, 0x43, 0xd8, 0xd3, 0xdc, 0xb7, 0xb3, 0x30, 0x39, 0x4a, 0x8a, 0x5d, 0x81, 0x4c, 0x07, 0x8f, + 0xb2, 0x9c, 0x3c, 0x4e, 0x0c, 0x28, 0x26, 0x1c, 0xc4, 0xec, 0x8f, 0x19, 0xc4, 0x1a, 0x14, 0x0c, + 0xe4, 0xb8, 0xa8, 0x4d, 0x33, 0x22, 0x35, 0x62, 0x4e, 0x01, 0x05, 0x0d, 0xa6, 0x54, 0xfa, 0xc7, + 0x4a, 0xa9, 0x17, 0x60, 0xd2, 0x73, 0x49, 0xb6, 0x15, 0xa3, 0xcb, 0x73, 0xf3, 0x5c, 0x9c, 0x27, + 0x0b, 0x75, 0x8e, 0x93, 0x30, 0x4c, 0x2a, 0xa1, 0xd0, 0xb3, 0xb8, 0x06, 0x60, 0x1a, 0xc8, 0xec, + 0xc8, 0x6d, 0xa4, 0xea, 0xe5, 0xdc, 0x11, 0x51, 0x6a, 0x60, 0x93, 0x81, 0x28, 0x99, 0x54, 0xaa, + 0xea, 0xe2, 0x65, 0x3f, 0xd5, 0xc6, 0x8f, 0xc8, 0x94, 0x2d, 0xba, 0xc8, 0x06, 0xb2, 0x6d, 0x0f, + 0x4a, 0x36, 0xc2, 0x79, 0x8f, 0xda, 0x6c, 0x64, 0x79, 0xe2, 0xc4, 0x42, 0xec, 0xc8, 0x24, 0x06, + 0xa3, 0x03, 0x9b, 0xb0, 0x83, 0x8f, 0xe2, 0xc3, 0xe0, 0x09, 0x64, 0x92, 0x56, 0x40, 0xaa, 0x50, + 0x91, 0x0b, 0xb7, 0x95, 0x1e, 0x9a, 0xbd, 0x0d, 0xa5, 0x70, 0x78, 0xc4, 0x19, 0xc8, 0x38, 0xae, + 0x62, 0xbb, 0x24, 0x0b, 0x33, 0x12, 0x7d, 0x10, 0x05, 0x48, 0x21, 0xa3, 0x4d, 0xaa, 0x5c, 0x46, + 0xc2, 0x7f, 0x8a, 0x3f, 0xed, 0x0f, 0x38, 0x45, 0x06, 0xfc, 0xf1, 0xc1, 0x19, 0x0d, 0x31, 0x47, + 0xc7, 0x3d, 0x7b, 0x11, 0x26, 0x42, 0x03, 0x18, 0xf5, 0xd5, 0x73, 0x3f, 0x07, 0x0f, 0x0c, 0xa5, + 0x16, 0x5f, 0x80, 0x99, 0xbe, 0xa1, 0x19, 0x2e, 0xb2, 0x2d, 0x1b, 0xe1, 0x8c, 0xa5, 0xaf, 0x2a, + 0xff, 0xeb, 0xf8, 0x11, 0x39, 0xb7, 0x17, 0xb4, 0xa6, 0x2c, 0xd2, 0x74, 0x7f, 0x50, 0xf8, 0x44, + 0x3e, 0xf7, 0xa3, 0x71, 0xe1, 0xce, 0x9d, 0x3b, 0x77, 0x92, 0x73, 0xaf, 0x66, 0x61, 0x66, 0xd8, + 0x9a, 0x19, 0xba, 0x7c, 0x4f, 0x40, 0xd6, 0xe8, 0xf7, 0x5a, 0xc8, 0x26, 0x41, 0xca, 0x48, 0xec, + 0x49, 0xac, 0x41, 0x46, 0x57, 0x5a, 0x48, 0x2f, 0xa7, 0xcf, 0x24, 0xe6, 0x4b, 0x8b, 0x4f, 0x8e, + 0xb4, 0x2a, 0x17, 0x36, 0x31, 0x44, 0xa2, 0x48, 0xf1, 0x53, 0x90, 0x66, 0x25, 0x1a, 0x33, 0x3c, + 0x31, 0x1a, 0x03, 0x5e, 0x4b, 0x12, 0xc1, 0x89, 0x0f, 0x42, 0x1e, 0xff, 0x4b, 0x73, 0x23, 0x4b, + 0x7c, 0xce, 0x61, 0x01, 0xce, 0x0b, 0x71, 0x16, 0x72, 0x64, 0x99, 0xb4, 0x11, 0xdf, 0xda, 0xbc, + 0x67, 0x9c, 0x58, 0x6d, 0xd4, 0x51, 0xfa, 0xba, 0x2b, 0xdf, 0x54, 0xf4, 0x3e, 0x22, 0x09, 0x9f, + 0x97, 0x8a, 0x4c, 0xf8, 0x19, 0x2c, 0x13, 0x4f, 0x43, 0x81, 0xae, 0x2a, 0xcd, 0x68, 0xa3, 0x97, + 0x49, 0xf5, 0xcc, 0x48, 0x74, 0xa1, 0x6d, 0x60, 0x09, 0x7e, 0xfd, 0x75, 0xc7, 0x34, 0x78, 0x6a, + 0x92, 0x57, 0x60, 0x01, 0x79, 0xfd, 0xc5, 0x68, 0xe1, 0x7e, 0x68, 0xf8, 0xf0, 0xa2, 0x39, 0x35, + 0xf7, 0xcd, 0x24, 0xa4, 0x49, 0xbd, 0x98, 0x84, 0xc2, 0xee, 0x8b, 0x3b, 0x75, 0x79, 0xad, 0xb1, + 0xb7, 0xb2, 0x59, 0x17, 0x12, 0x62, 0x09, 0x80, 0x08, 0xae, 0x6e, 0x36, 0x6a, 0xbb, 0x42, 0xd2, + 0x7b, 0xde, 0xd8, 0xde, 0xbd, 0xb0, 0x24, 0xa4, 0x3c, 0xc0, 0x1e, 0x15, 0xa4, 0x83, 0x06, 0xe7, + 0x17, 0x85, 0x8c, 0x28, 0x40, 0x91, 0x12, 0x6c, 0xbc, 0x50, 0x5f, 0xbb, 0xb0, 0x24, 0x64, 0xc3, + 0x92, 0xf3, 0x8b, 0xc2, 0xb8, 0x38, 0x01, 0x79, 0x22, 0x59, 0x69, 0x34, 0x36, 0x85, 0x9c, 0xc7, + 0xd9, 0xdc, 0x95, 0x36, 0xb6, 0xd7, 0x85, 0xbc, 0xc7, 0xb9, 0x2e, 0x35, 0xf6, 0x76, 0x04, 0xf0, + 0x18, 0xb6, 0xea, 0xcd, 0x66, 0x6d, 0xbd, 0x2e, 0x14, 0x3c, 0x8b, 0x95, 0x17, 0x77, 0xeb, 0x4d, + 0xa1, 0x18, 0x72, 0xeb, 0xfc, 0xa2, 0x30, 0xe1, 0xbd, 0xa2, 0xbe, 0xbd, 0xb7, 0x25, 0x94, 0xc4, + 0x29, 0x98, 0xa0, 0xaf, 0xe0, 0x4e, 0x4c, 0x46, 0x44, 0x17, 0x96, 0x04, 0xc1, 0x77, 0x84, 0xb2, + 0x4c, 0x85, 0x04, 0x17, 0x96, 0x04, 0x71, 0x6e, 0x15, 0x32, 0x24, 0xbb, 0x44, 0x11, 0x4a, 0x9b, + 0xb5, 0x95, 0xfa, 0xa6, 0xdc, 0xd8, 0xd9, 0xdd, 0x68, 0x6c, 0xd7, 0x36, 0x85, 0x84, 0x2f, 0x93, + 0xea, 0x9f, 0xde, 0xdb, 0x90, 0xea, 0x6b, 0x42, 0x32, 0x28, 0xdb, 0xa9, 0xd7, 0x76, 0xeb, 0x6b, + 0x42, 0x6a, 0x4e, 0x85, 0x99, 0x61, 0x75, 0x72, 0xe8, 0xca, 0x08, 0x4c, 0x71, 0xf2, 0x88, 0x29, + 0x26, 0x5c, 0x03, 0x53, 0xfc, 0xc3, 0x24, 0x4c, 0x0f, 0xd9, 0x2b, 0x86, 0xbe, 0xe4, 0x59, 0xc8, + 0xd0, 0x14, 0xa5, 0xbb, 0xe7, 0xe3, 0x43, 0x37, 0x1d, 0x92, 0xb0, 0x03, 0x3b, 0x28, 0xc1, 0x05, + 0x3b, 0x88, 0xd4, 0x11, 0x1d, 0x04, 0xa6, 0x18, 0xa8, 0xe9, 0x3f, 0x3b, 0x50, 0xd3, 0xe9, 0xb6, + 0x77, 0x61, 0x94, 0x6d, 0x8f, 0xc8, 0x8e, 0x57, 0xdb, 0x33, 0x43, 0x6a, 0xfb, 0x15, 0x98, 0x1a, + 0x20, 0x1a, 0xb9, 0xc6, 0xbe, 0x92, 0x80, 0xf2, 0x51, 0xc1, 0x89, 0xa9, 0x74, 0xc9, 0x50, 0xa5, + 0xbb, 0x12, 0x8d, 0xe0, 0xd9, 0xa3, 0x27, 0x61, 0x60, 0xae, 0xdf, 0x4c, 0xc0, 0x89, 0xe1, 0x9d, + 0xe2, 0x50, 0x1f, 0x3e, 0x05, 0xd9, 0x1e, 0x72, 0xf7, 0x4d, 0xde, 0x2d, 0x7d, 0x7c, 0xc8, 0x1e, + 0x8c, 0xd5, 0xd1, 0xc9, 0x66, 0xa8, 0xe0, 0x26, 0x9e, 0x3a, 0xaa, 0xdd, 0xa3, 0xde, 0x0c, 0x78, + 0xfa, 0xf9, 0x24, 0x3c, 0x30, 0x94, 0x7c, 0xa8, 0xa3, 0x0f, 0x01, 0x68, 0x86, 0xd5, 0x77, 0x69, + 0x47, 0x44, 0x0b, 0x6c, 0x9e, 0x48, 0x48, 0xf1, 0xc2, 0xc5, 0xb3, 0xef, 0x7a, 0xfa, 0x14, 0xd1, + 0x03, 0x15, 0x11, 0x83, 0x4b, 0xbe, 0xa3, 0x69, 0xe2, 0x68, 0xe5, 0x88, 0x91, 0x0e, 0x24, 0xe6, + 0xd3, 0x20, 0xa8, 0xba, 0x86, 0x0c, 0x57, 0x76, 0x5c, 0x1b, 0x29, 0x3d, 0xcd, 0xe8, 0x92, 0x1d, + 0x24, 0x57, 0xcd, 0x74, 0x14, 0xdd, 0x41, 0xd2, 0x24, 0x55, 0x37, 0xb9, 0x16, 0x23, 0x48, 0x02, + 0xd9, 0x01, 0x44, 0x36, 0x84, 0xa0, 0x6a, 0x0f, 0x31, 0xf7, 0xab, 0x79, 0x28, 0x04, 0xfa, 0x6a, + 0xf1, 0x2c, 0x14, 0xaf, 0x2b, 0x37, 0x15, 0x99, 0x9f, 0x95, 0x68, 0x24, 0x0a, 0x58, 0xb6, 0xc3, + 0xce, 0x4b, 0x4f, 0xc3, 0x0c, 0x31, 0x31, 0xfb, 0x2e, 0xb2, 0x65, 0x55, 0x57, 0x1c, 0x87, 0x04, + 0x2d, 0x47, 0x4c, 0x45, 0xac, 0x6b, 0x60, 0xd5, 0x2a, 0xd7, 0x88, 0xcb, 0x30, 0x4d, 0x10, 0xbd, + 0xbe, 0xee, 0x6a, 0x96, 0x8e, 0x64, 0x7c, 0x7a, 0x73, 0xc8, 0x4e, 0xe2, 0x79, 0x36, 0x85, 0x2d, + 0xb6, 0x98, 0x01, 0xf6, 0xc8, 0x11, 0xd7, 0xe0, 0x21, 0x02, 0xeb, 0x22, 0x03, 0xd9, 0x8a, 0x8b, + 0x64, 0xf4, 0xb9, 0xbe, 0xa2, 0x3b, 0xb2, 0x62, 0xb4, 0xe5, 0x7d, 0xc5, 0xd9, 0x2f, 0xcf, 0x60, + 0x82, 0x95, 0x64, 0x39, 0x21, 0x9d, 0xc2, 0x86, 0xeb, 0xcc, 0xae, 0x4e, 0xcc, 0x6a, 0x46, 0xfb, + 0x9a, 0xe2, 0xec, 0x8b, 0x55, 0x38, 0x41, 0x58, 0x1c, 0xd7, 0xd6, 0x8c, 0xae, 0xac, 0xee, 0x23, + 0xf5, 0x86, 0xdc, 0x77, 0x3b, 0x97, 0xca, 0x0f, 0x06, 0xdf, 0x4f, 0x3c, 0x6c, 0x12, 0x9b, 0x55, + 0x6c, 0xb2, 0xe7, 0x76, 0x2e, 0x89, 0x4d, 0x28, 0xe2, 0xc9, 0xe8, 0x69, 0xb7, 0x91, 0xdc, 0x31, + 0x6d, 0xb2, 0x35, 0x96, 0x86, 0x94, 0xa6, 0x40, 0x04, 0x17, 0x1a, 0x0c, 0xb0, 0x65, 0xb6, 0x51, + 0x35, 0xd3, 0xdc, 0xa9, 0xd7, 0xd7, 0xa4, 0x02, 0x67, 0xb9, 0x6a, 0xda, 0x38, 0xa1, 0xba, 0xa6, + 0x17, 0xe0, 0x02, 0x4d, 0xa8, 0xae, 0xc9, 0xc3, 0xbb, 0x0c, 0xd3, 0xaa, 0x4a, 0xc7, 0xac, 0xa9, + 0x32, 0x3b, 0x63, 0x39, 0x65, 0x21, 0x14, 0x2c, 0x55, 0x5d, 0xa7, 0x06, 0x2c, 0xc7, 0x1d, 0xf1, + 0x32, 0x3c, 0xe0, 0x07, 0x2b, 0x08, 0x9c, 0x1a, 0x18, 0x65, 0x14, 0xba, 0x0c, 0xd3, 0xd6, 0xc1, + 0x20, 0x50, 0x0c, 0xbd, 0xd1, 0x3a, 0x88, 0xc2, 0x2e, 0xc2, 0x8c, 0xb5, 0x6f, 0x0d, 0xe2, 0x9e, + 0x08, 0xe2, 0x44, 0x6b, 0xdf, 0x8a, 0x02, 0x1f, 0x25, 0x07, 0x6e, 0x1b, 0xa9, 0x8a, 0x8b, 0xda, + 0xe5, 0x93, 0x41, 0xf3, 0x80, 0x42, 0x3c, 0x07, 0x82, 0xaa, 0xca, 0xc8, 0x50, 0x5a, 0x3a, 0x92, + 0x15, 0x1b, 0x19, 0x8a, 0x53, 0x3e, 0x1d, 0x34, 0x2e, 0xa9, 0x6a, 0x9d, 0x68, 0x6b, 0x44, 0x29, + 0x3e, 0x01, 0x53, 0x66, 0xeb, 0xba, 0x4a, 0x53, 0x52, 0xb6, 0x6c, 0xd4, 0xd1, 0x5e, 0x2e, 0x3f, + 0x42, 0xe2, 0x3b, 0x89, 0x15, 0x24, 0x21, 0x77, 0x88, 0x58, 0x7c, 0x1c, 0x04, 0xd5, 0xd9, 0x57, + 0x6c, 0x8b, 0xd4, 0x64, 0xc7, 0x52, 0x54, 0x54, 0x7e, 0x94, 0x9a, 0x52, 0xf9, 0x36, 0x17, 0xe3, + 0x25, 0xe1, 0xdc, 0xd2, 0x3a, 0x2e, 0x67, 0x7c, 0x8c, 0x2e, 0x09, 0x22, 0x63, 0x6c, 0xf3, 0x20, + 0xe0, 0x50, 0x84, 0x5e, 0x3c, 0x4f, 0xcc, 0x4a, 0xd6, 0xbe, 0x15, 0x7c, 0xef, 0xc3, 0x30, 0x81, + 0x2d, 0xfd, 0x97, 0x3e, 0x4e, 0x1b, 0x32, 0x6b, 0x3f, 0xf0, 0xc6, 0x25, 0x38, 0x81, 0x8d, 0x7a, + 0xc8, 0x55, 0xda, 0x8a, 0xab, 0x04, 0xac, 0x3f, 0x41, 0xac, 0x71, 0xdc, 0xb7, 0x98, 0x32, 0xe4, + 0xa7, 0xdd, 0x6f, 0x1d, 0x78, 0x99, 0xf5, 0x14, 0xf5, 0x13, 0xcb, 0x78, 0x6e, 0x7d, 0x68, 0x4d, + 0xf7, 0x5c, 0x15, 0x8a, 0xc1, 0xc4, 0x17, 0xf3, 0x40, 0x53, 0x5f, 0x48, 0xe0, 0x2e, 0x68, 0xb5, + 0xb1, 0x86, 0xfb, 0x97, 0x97, 0xea, 0x42, 0x12, 0xf7, 0x51, 0x9b, 0x1b, 0xbb, 0x75, 0x59, 0xda, + 0xdb, 0xde, 0xdd, 0xd8, 0xaa, 0x0b, 0xa9, 0x60, 0xc3, 0xfe, 0xdd, 0x24, 0x94, 0xc2, 0x67, 0x2f, + 0xf1, 0xa7, 0xe0, 0x24, 0xbf, 0x28, 0x71, 0x90, 0x2b, 0xdf, 0xd2, 0x6c, 0xb2, 0x16, 0x7b, 0x0a, + 0xdd, 0x17, 0xbd, 0x6c, 0x98, 0x61, 0x56, 0x4d, 0xe4, 0x3e, 0xaf, 0xd9, 0x78, 0xa5, 0xf5, 0x14, + 0x57, 0xdc, 0x84, 0xd3, 0x86, 0x29, 0x3b, 0xae, 0x62, 0xb4, 0x15, 0xbb, 0x2d, 0xfb, 0x57, 0x54, + 0xb2, 0xa2, 0xaa, 0xc8, 0x71, 0x4c, 0xba, 0x07, 0x7a, 0x2c, 0x1f, 0x33, 0xcc, 0x26, 0x33, 0xf6, + 0x37, 0x87, 0x1a, 0x33, 0x8d, 0x64, 0x6e, 0xea, 0xa8, 0xcc, 0x7d, 0x10, 0xf2, 0x3d, 0xc5, 0x92, + 0x91, 0xe1, 0xda, 0x07, 0xa4, 0xe3, 0xce, 0x49, 0xb9, 0x9e, 0x62, 0xd5, 0xf1, 0xf3, 0x47, 0x73, + 0xf0, 0xf9, 0x41, 0x0a, 0x8a, 0xc1, 0xae, 0x1b, 0x1f, 0x62, 0x54, 0xb2, 0x41, 0x25, 0x48, 0x09, + 0x7b, 0xf8, 0xbe, 0x3d, 0xfa, 0xc2, 0x2a, 0xde, 0xb9, 0xaa, 0x59, 0xda, 0x0b, 0x4b, 0x14, 0x89, + 0xbb, 0x06, 0x9c, 0x5a, 0x88, 0xf6, 0x1e, 0x39, 0x89, 0x3d, 0x89, 0xeb, 0x90, 0xbd, 0xee, 0x10, + 0xee, 0x2c, 0xe1, 0x7e, 0xe4, 0xfe, 0xdc, 0xcf, 0x35, 0x09, 0x79, 0xfe, 0xb9, 0xa6, 0xbc, 0xdd, + 0x90, 0xb6, 0x6a, 0x9b, 0x12, 0x83, 0x8b, 0xa7, 0x20, 0xad, 0x2b, 0xb7, 0x0f, 0xc2, 0x7b, 0x1c, + 0x11, 0x8d, 0x1a, 0xf8, 0x53, 0x90, 0xbe, 0x85, 0x94, 0x1b, 0xe1, 0x9d, 0x85, 0x88, 0x3e, 0xc4, + 0xd4, 0x3f, 0x07, 0x19, 0x12, 0x2f, 0x11, 0x80, 0x45, 0x4c, 0x18, 0x13, 0x73, 0x90, 0x5e, 0x6d, + 0x48, 0x38, 0xfd, 0x05, 0x28, 0x52, 0xa9, 0xbc, 0xb3, 0x51, 0x5f, 0xad, 0x0b, 0xc9, 0xb9, 0x65, + 0xc8, 0xd2, 0x20, 0xe0, 0xa5, 0xe1, 0x85, 0x41, 0x18, 0x63, 0x8f, 0x8c, 0x23, 0xc1, 0xb5, 0x7b, + 0x5b, 0x2b, 0x75, 0x49, 0x48, 0x06, 0xa7, 0xd7, 0x81, 0x62, 0xb0, 0xe1, 0xfe, 0x68, 0x72, 0xea, + 0x3b, 0x09, 0x28, 0x04, 0x1a, 0x68, 0xdc, 0xf9, 0x28, 0xba, 0x6e, 0xde, 0x92, 0x15, 0x5d, 0x53, + 0x1c, 0x96, 0x14, 0x40, 0x44, 0x35, 0x2c, 0x19, 0x75, 0xd2, 0x3e, 0x12, 0xe7, 0xdf, 0x48, 0x80, + 0x10, 0xed, 0x5d, 0x23, 0x0e, 0x26, 0x7e, 0xa2, 0x0e, 0xbe, 0x9e, 0x80, 0x52, 0xb8, 0x61, 0x8d, + 0xb8, 0x77, 0xf6, 0x27, 0xea, 0xde, 0xdb, 0x49, 0x98, 0x08, 0xb5, 0xa9, 0xa3, 0x7a, 0xf7, 0x39, + 0x98, 0xd2, 0xda, 0xa8, 0x67, 0x99, 0x2e, 0x32, 0xd4, 0x03, 0x59, 0x47, 0x37, 0x91, 0x5e, 0x9e, + 0x23, 0x85, 0xe2, 0xdc, 0xfd, 0x1b, 0xe1, 0x85, 0x0d, 0x1f, 0xb7, 0x89, 0x61, 0xd5, 0xe9, 0x8d, + 0xb5, 0xfa, 0xd6, 0x4e, 0x63, 0xb7, 0xbe, 0xbd, 0xfa, 0xa2, 0xbc, 0xb7, 0xfd, 0x33, 0xdb, 0x8d, + 0xe7, 0xb7, 0x25, 0x41, 0x8b, 0x98, 0x7d, 0x88, 0x4b, 0x7d, 0x07, 0x84, 0xa8, 0x53, 0xe2, 0x49, + 0x18, 0xe6, 0x96, 0x30, 0x26, 0x4e, 0xc3, 0xe4, 0x76, 0x43, 0x6e, 0x6e, 0xac, 0xd5, 0xe5, 0xfa, + 0xd5, 0xab, 0xf5, 0xd5, 0xdd, 0x26, 0xbd, 0xda, 0xf0, 0xac, 0x77, 0xc3, 0x8b, 0xfa, 0xb5, 0x14, + 0x4c, 0x0f, 0xf1, 0x44, 0xac, 0xb1, 0x43, 0x09, 0x3d, 0x27, 0x3d, 0x35, 0x8a, 0xf7, 0x0b, 0xb8, + 0x2b, 0xd8, 0x51, 0x6c, 0x97, 0x9d, 0x61, 0x1e, 0x07, 0x1c, 0x25, 0xc3, 0xd5, 0x3a, 0x1a, 0xb2, + 0xd9, 0x4d, 0x10, 0x3d, 0xa9, 0x4c, 0xfa, 0x72, 0x7a, 0x19, 0xf4, 0x09, 0x10, 0x2d, 0xd3, 0xd1, + 0x5c, 0xed, 0x26, 0x92, 0x35, 0x83, 0x5f, 0x1b, 0xe1, 0x93, 0x4b, 0x5a, 0x12, 0xb8, 0x66, 0xc3, + 0x70, 0x3d, 0x6b, 0x03, 0x75, 0x95, 0x88, 0x35, 0x2e, 0xe0, 0x29, 0x49, 0xe0, 0x1a, 0xcf, 0xfa, + 0x2c, 0x14, 0xdb, 0x66, 0x1f, 0xb7, 0x73, 0xd4, 0x0e, 0xef, 0x17, 0x09, 0xa9, 0x40, 0x65, 0x9e, + 0x09, 0x6b, 0xd4, 0xfd, 0xfb, 0xaa, 0xa2, 0x54, 0xa0, 0x32, 0x6a, 0xf2, 0x18, 0x4c, 0x2a, 0xdd, + 0xae, 0x8d, 0xc9, 0x39, 0x11, 0x3d, 0x7a, 0x94, 0x3c, 0x31, 0x31, 0x9c, 0x7d, 0x0e, 0x72, 0x3c, + 0x0e, 0x78, 0x4b, 0xc6, 0x91, 0x90, 0x2d, 0x7a, 0x9e, 0x4e, 0xce, 0xe7, 0xa5, 0x9c, 0xc1, 0x95, + 0x67, 0xa1, 0xa8, 0x39, 0xb2, 0x7f, 0xfd, 0x9e, 0x3c, 0x93, 0x9c, 0xcf, 0x49, 0x05, 0xcd, 0xf1, + 0xae, 0x2e, 0xe7, 0xde, 0x4c, 0x42, 0x29, 0xfc, 0xf9, 0x40, 0x5c, 0x83, 0x9c, 0x6e, 0xaa, 0x0a, + 0x49, 0x2d, 0xfa, 0xed, 0x6a, 0x3e, 0xe6, 0x8b, 0xc3, 0xc2, 0x26, 0xb3, 0x97, 0x3c, 0xe4, 0xec, + 0x3f, 0x27, 0x20, 0xc7, 0xc5, 0xe2, 0x09, 0x48, 0x5b, 0x8a, 0xbb, 0x4f, 0xe8, 0x32, 0x2b, 0x49, + 0x21, 0x21, 0x91, 0x67, 0x2c, 0x77, 0x2c, 0xc5, 0x20, 0x29, 0xc0, 0xe4, 0xf8, 0x19, 0xcf, 0xab, + 0x8e, 0x94, 0x36, 0x39, 0xd7, 0x98, 0xbd, 0x1e, 0x32, 0x5c, 0x87, 0xcf, 0x2b, 0x93, 0xaf, 0x32, + 0xb1, 0xf8, 0x24, 0x4c, 0xb9, 0xb6, 0xa2, 0xe9, 0x21, 0xdb, 0x34, 0xb1, 0x15, 0xb8, 0xc2, 0x33, + 0xae, 0xc2, 0x29, 0xce, 0xdb, 0x46, 0xae, 0xa2, 0xee, 0xa3, 0xb6, 0x0f, 0xca, 0x92, 0xfb, 0x8b, + 0x93, 0xcc, 0x60, 0x8d, 0xe9, 0x39, 0x76, 0xee, 0xfb, 0x09, 0x98, 0xe2, 0x27, 0xb1, 0xb6, 0x17, + 0xac, 0x2d, 0x00, 0xc5, 0x30, 0x4c, 0x37, 0x18, 0xae, 0xc1, 0x54, 0x1e, 0xc0, 0x2d, 0xd4, 0x3c, + 0x90, 0x14, 0x20, 0x98, 0xed, 0x01, 0xf8, 0x9a, 0x23, 0xc3, 0x76, 0x1a, 0x0a, 0xec, 0xdb, 0x10, + 0xf9, 0xc0, 0x48, 0xcf, 0xee, 0x40, 0x45, 0xf8, 0xc8, 0x26, 0xce, 0x40, 0xa6, 0x85, 0xba, 0x9a, + 0xc1, 0x6e, 0x7c, 0xe9, 0x03, 0xbf, 0x61, 0x49, 0x7b, 0x37, 0x2c, 0x2b, 0x9f, 0x85, 0x69, 0xd5, + 0xec, 0x45, 0xdd, 0x5d, 0x11, 0x22, 0xf7, 0x07, 0xce, 0xb5, 0xc4, 0x4b, 0xe0, 0xb7, 0x98, 0xef, + 0x27, 0x12, 0x5f, 0x4e, 0xa6, 0xd6, 0x77, 0x56, 0xbe, 0x96, 0x9c, 0x5d, 0xa7, 0xd0, 0x1d, 0x3e, + 0x52, 0x09, 0x75, 0x74, 0xa4, 0x62, 0xef, 0xe1, 0x2b, 0x4f, 0xc2, 0x53, 0x5d, 0xcd, 0xdd, 0xef, + 0xb7, 0x16, 0x54, 0xb3, 0x77, 0xae, 0x6b, 0x76, 0x4d, 0xff, 0x9b, 0x2a, 0x7e, 0x22, 0x0f, 0xe4, + 0x2f, 0xf6, 0x5d, 0x35, 0xef, 0x49, 0x67, 0x63, 0x3f, 0xc2, 0x56, 0xb7, 0x61, 0x9a, 0x19, 0xcb, + 0xe4, 0xc3, 0x0e, 0x3d, 0x9e, 0x88, 0xf7, 0xbd, 0x1c, 0x2b, 0x7f, 0xe3, 0x1d, 0xb2, 0x5d, 0x4b, + 0x53, 0x0c, 0x8a, 0x75, 0xf4, 0x04, 0x53, 0x95, 0xe0, 0x81, 0x10, 0x1f, 0x5d, 0x9a, 0xc8, 0x8e, + 0x61, 0xfc, 0x2e, 0x63, 0x9c, 0x0e, 0x30, 0x36, 0x19, 0xb4, 0xba, 0x0a, 0x13, 0xc7, 0xe1, 0xfa, + 0x47, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x75, 0x98, 0x24, 0x24, 0x6a, 0xdf, 0x71, 0xcd, 0x1e, 0xa9, + 0x7b, 0xf7, 0xa7, 0xf9, 0xa7, 0x77, 0xe8, 0x5a, 0x29, 0x61, 0xd8, 0xaa, 0x87, 0xaa, 0x56, 0x81, + 0x7c, 0xcb, 0x6a, 0x23, 0x55, 0x8f, 0x61, 0x78, 0x8b, 0x39, 0xe2, 0xd9, 0x57, 0x3f, 0x03, 0x33, + 0xf8, 0x6f, 0x52, 0x96, 0x82, 0x9e, 0xc4, 0xdf, 0xa4, 0x95, 0xbf, 0xff, 0x0a, 0x5d, 0x8e, 0xd3, + 0x1e, 0x41, 0xc0, 0xa7, 0xc0, 0x2c, 0x76, 0x91, 0xeb, 0x22, 0xdb, 0x91, 0x15, 0x7d, 0x98, 0x7b, + 0x81, 0xab, 0x88, 0xf2, 0x17, 0xde, 0x0d, 0xcf, 0xe2, 0x3a, 0x45, 0xd6, 0x74, 0xbd, 0xba, 0x07, + 0x27, 0x87, 0x64, 0xc5, 0x08, 0x9c, 0xaf, 0x31, 0xce, 0x99, 0x81, 0xcc, 0xc0, 0xb4, 0x3b, 0xc0, + 0xe5, 0xde, 0x5c, 0x8e, 0xc0, 0xf9, 0xfb, 0x8c, 0x53, 0x64, 0x58, 0x3e, 0xa5, 0x98, 0xf1, 0x39, + 0x98, 0xba, 0x89, 0xec, 0x96, 0xe9, 0xb0, 0xeb, 0x9f, 0x11, 0xe8, 0x5e, 0x67, 0x74, 0x93, 0x0c, + 0x48, 0xee, 0x83, 0x30, 0xd7, 0x65, 0xc8, 0x75, 0x14, 0x15, 0x8d, 0x40, 0xf1, 0x45, 0x46, 0x31, + 0x8e, 0xed, 0x31, 0xb4, 0x06, 0xc5, 0xae, 0xc9, 0x76, 0xa6, 0x78, 0xf8, 0x1b, 0x0c, 0x5e, 0xe0, + 0x18, 0x46, 0x61, 0x99, 0x56, 0x5f, 0xc7, 0xdb, 0x56, 0x3c, 0xc5, 0x1f, 0x70, 0x0a, 0x8e, 0x61, + 0x14, 0xc7, 0x08, 0xeb, 0x1f, 0x72, 0x0a, 0x27, 0x10, 0xcf, 0x67, 0xa1, 0x60, 0x1a, 0xfa, 0x81, + 0x69, 0x8c, 0xe2, 0xc4, 0x97, 0x18, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x02, 0xf9, 0x51, 0x27, 0xe2, + 0x8f, 0xdf, 0xe5, 0xcb, 0x83, 0xcf, 0xc0, 0x3a, 0x4c, 0xf2, 0x02, 0xa5, 0x99, 0xc6, 0x08, 0x14, + 0x5f, 0x61, 0x14, 0xa5, 0x00, 0x8c, 0x0d, 0xc3, 0x45, 0x8e, 0xdb, 0x45, 0xa3, 0x90, 0xbc, 0xc9, + 0x87, 0xc1, 0x20, 0x2c, 0x94, 0x2d, 0x64, 0xa8, 0xfb, 0xa3, 0x31, 0x7c, 0x95, 0x87, 0x92, 0x63, + 0x30, 0xc5, 0x2a, 0x4c, 0xf4, 0x14, 0xdb, 0xd9, 0x57, 0xf4, 0x91, 0xa6, 0xe3, 0x4f, 0x18, 0x47, + 0xd1, 0x03, 0xb1, 0x88, 0xf4, 0x8d, 0xe3, 0xd0, 0x7c, 0x8d, 0x47, 0x24, 0x00, 0x63, 0x4b, 0xcf, + 0x71, 0xc9, 0x5d, 0xd9, 0x71, 0xd8, 0xfe, 0x94, 0x2f, 0x3d, 0x8a, 0xdd, 0x0a, 0x32, 0x5e, 0x81, + 0xbc, 0xa3, 0xdd, 0x1e, 0x89, 0xe6, 0xcf, 0xf8, 0x4c, 0x13, 0x00, 0x06, 0xbf, 0x08, 0xa7, 0x86, + 0x6e, 0x13, 0x23, 0x90, 0xfd, 0x39, 0x23, 0x3b, 0x31, 0x64, 0xab, 0x60, 0x25, 0xe1, 0xb8, 0x94, + 0x7f, 0xc1, 0x4b, 0x02, 0x8a, 0x70, 0xed, 0xe0, 0xb3, 0x82, 0xa3, 0x74, 0x8e, 0x17, 0xb5, 0xbf, + 0xe4, 0x51, 0xa3, 0xd8, 0x50, 0xd4, 0x76, 0xe1, 0x04, 0x63, 0x3c, 0xde, 0xbc, 0x7e, 0x9d, 0x17, + 0x56, 0x8a, 0xde, 0x0b, 0xcf, 0xee, 0x67, 0x61, 0xd6, 0x0b, 0x27, 0x6f, 0x4a, 0x1d, 0xb9, 0xa7, + 0x58, 0x23, 0x30, 0x7f, 0x83, 0x31, 0xf3, 0x8a, 0xef, 0x75, 0xb5, 0xce, 0x96, 0x62, 0x61, 0xf2, + 0x17, 0xa0, 0xcc, 0xc9, 0xfb, 0x86, 0x8d, 0x54, 0xb3, 0x6b, 0x68, 0xb7, 0x51, 0x7b, 0x04, 0xea, + 0xbf, 0x8a, 0x4c, 0xd5, 0x5e, 0x00, 0x8e, 0x99, 0x37, 0x40, 0xf0, 0x7a, 0x15, 0x59, 0xeb, 0x59, + 0xa6, 0xed, 0xc6, 0x30, 0xfe, 0x35, 0x9f, 0x29, 0x0f, 0xb7, 0x41, 0x60, 0xd5, 0x3a, 0x94, 0xc8, + 0xe3, 0xa8, 0x29, 0xf9, 0x37, 0x8c, 0x68, 0xc2, 0x47, 0xb1, 0xc2, 0xa1, 0x9a, 0x3d, 0x4b, 0xb1, + 0x47, 0xa9, 0x7f, 0x7f, 0xcb, 0x0b, 0x07, 0x83, 0xb0, 0xc2, 0xe1, 0x1e, 0x58, 0x08, 0xef, 0xf6, + 0x23, 0x30, 0x7c, 0x93, 0x17, 0x0e, 0x8e, 0x61, 0x14, 0xbc, 0x61, 0x18, 0x81, 0xe2, 0xef, 0x38, + 0x05, 0xc7, 0x60, 0x8a, 0x4f, 0xfb, 0x1b, 0xad, 0x8d, 0xba, 0x9a, 0xe3, 0xda, 0xb4, 0x15, 0xbe, + 0x3f, 0xd5, 0xb7, 0xde, 0x0d, 0x37, 0x61, 0x52, 0x00, 0x8a, 0x2b, 0x11, 0xbb, 0x42, 0x25, 0x27, + 0xa5, 0x78, 0xc7, 0xbe, 0xcd, 0x2b, 0x51, 0x00, 0x86, 0x7d, 0x0b, 0x74, 0x88, 0x38, 0xec, 0x2a, + 0x3e, 0x1f, 0x8c, 0x40, 0xf7, 0x9d, 0x88, 0x73, 0x4d, 0x8e, 0xc5, 0x9c, 0x81, 0xfe, 0xa7, 0x6f, + 0xdc, 0x40, 0x07, 0x23, 0x65, 0xe7, 0xdf, 0x47, 0xfa, 0x9f, 0x3d, 0x8a, 0xa4, 0x35, 0x64, 0x32, + 0xd2, 0x4f, 0x89, 0x71, 0xbf, 0x02, 0x2a, 0xff, 0xfc, 0x3d, 0x36, 0xde, 0x70, 0x3b, 0x55, 0xdd, + 0xc4, 0x49, 0x1e, 0x6e, 0x7a, 0xe2, 0xc9, 0x5e, 0xb9, 0xe7, 0xe5, 0x79, 0xa8, 0xe7, 0xa9, 0x5e, + 0x85, 0x89, 0x50, 0xc3, 0x13, 0x4f, 0xf5, 0x0b, 0x8c, 0xaa, 0x18, 0xec, 0x77, 0xaa, 0xcb, 0x90, + 0xc6, 0xcd, 0x4b, 0x3c, 0xfc, 0x17, 0x19, 0x9c, 0x98, 0x57, 0x3f, 0x09, 0x39, 0xde, 0xb4, 0xc4, + 0x43, 0x7f, 0x89, 0x41, 0x3d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1e, 0xfe, 0xcb, 0x1c, 0xce, 0x21, + 0x18, 0x3e, 0x7a, 0x08, 0xff, 0xe1, 0x57, 0xd2, 0x6c, 0xd3, 0xe1, 0xb1, 0xbb, 0x02, 0xe3, 0xac, + 0x53, 0x89, 0x47, 0x7f, 0x9e, 0xbd, 0x9c, 0x23, 0xaa, 0x17, 0x21, 0x33, 0x62, 0xc0, 0x7f, 0x8d, + 0x41, 0xa9, 0x7d, 0x75, 0x15, 0x0a, 0x81, 0xee, 0x24, 0x1e, 0xfe, 0xeb, 0x0c, 0x1e, 0x44, 0x61, + 0xd7, 0x59, 0x77, 0x12, 0x4f, 0xf0, 0x1b, 0xdc, 0x75, 0x86, 0xc0, 0x61, 0xe3, 0x8d, 0x49, 0x3c, + 0xfa, 0x37, 0x79, 0xd4, 0x39, 0xa4, 0xfa, 0x2c, 0xe4, 0xbd, 0xcd, 0x26, 0x1e, 0xff, 0x5b, 0x0c, + 0xef, 0x63, 0x70, 0x04, 0x02, 0x9b, 0x5d, 0x3c, 0xc5, 0x6f, 0xf3, 0x08, 0x04, 0x50, 0x78, 0x19, + 0x45, 0x1b, 0x98, 0x78, 0xa6, 0xdf, 0xe1, 0xcb, 0x28, 0xd2, 0xbf, 0xe0, 0xd9, 0x24, 0x35, 0x3f, + 0x9e, 0xe2, 0x77, 0xf9, 0x6c, 0x12, 0x7b, 0xec, 0x46, 0xb4, 0x23, 0x88, 0xe7, 0xf8, 0x3d, 0xee, + 0x46, 0xa4, 0x21, 0xa8, 0xee, 0x80, 0x38, 0xd8, 0x0d, 0xc4, 0xf3, 0xbd, 0xca, 0xf8, 0xa6, 0x06, + 0x9a, 0x81, 0xea, 0xf3, 0x70, 0x62, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0x85, 0x7b, 0x91, 0xb3, 0x5b, + 0xb0, 0x11, 0xa8, 0xee, 0xfa, 0x5b, 0x4a, 0xb0, 0x0b, 0x88, 0xa7, 0x7d, 0xed, 0x5e, 0xb8, 0x70, + 0x07, 0x9b, 0x80, 0x6a, 0x0d, 0xc0, 0xdf, 0x80, 0xe3, 0xb9, 0x5e, 0x67, 0x5c, 0x01, 0x10, 0x5e, + 0x1a, 0x6c, 0xff, 0x8d, 0xc7, 0x7f, 0x91, 0x2f, 0x0d, 0x86, 0xc0, 0x4b, 0x83, 0x6f, 0xbd, 0xf1, + 0xe8, 0x37, 0xf8, 0xd2, 0xe0, 0x10, 0x9c, 0xd9, 0x81, 0xdd, 0x2d, 0x9e, 0xe1, 0x4b, 0x3c, 0xb3, + 0x03, 0xa8, 0xea, 0x36, 0x4c, 0x0d, 0x6c, 0x88, 0xf1, 0x54, 0x5f, 0x66, 0x54, 0x42, 0x74, 0x3f, + 0x0c, 0x6e, 0x5e, 0x6c, 0x33, 0x8c, 0x67, 0xfb, 0xa3, 0xc8, 0xe6, 0xc5, 0xf6, 0xc2, 0xea, 0x15, + 0xc8, 0x19, 0x7d, 0x5d, 0xc7, 0x8b, 0x47, 0xbc, 0xff, 0x2f, 0xf7, 0xca, 0xff, 0xf6, 0x01, 0x8b, + 0x0e, 0x07, 0x54, 0x97, 0x21, 0x83, 0x7a, 0x2d, 0xd4, 0x8e, 0x43, 0xfe, 0xfb, 0x07, 0xbc, 0x60, + 0x62, 0xeb, 0xea, 0xb3, 0x00, 0xf4, 0x6a, 0x84, 0x7c, 0xf6, 0x8b, 0xc1, 0xfe, 0xc7, 0x07, 0xec, + 0x37, 0x35, 0x3e, 0xc4, 0x27, 0xa0, 0xbf, 0xd0, 0xb9, 0x3f, 0xc1, 0xbb, 0x61, 0x02, 0x32, 0x23, + 0x97, 0x61, 0xfc, 0xba, 0x63, 0x1a, 0xae, 0xd2, 0x8d, 0x43, 0xff, 0x27, 0x43, 0x73, 0x7b, 0x1c, + 0xb0, 0x9e, 0x69, 0x23, 0x57, 0xe9, 0x3a, 0x71, 0xd8, 0xff, 0x62, 0x58, 0x0f, 0x80, 0xc1, 0xaa, + 0xe2, 0xb8, 0xa3, 0x8c, 0xfb, 0xbf, 0x39, 0x98, 0x03, 0xb0, 0xd3, 0xf8, 0xef, 0x1b, 0xe8, 0x20, + 0x0e, 0xfb, 0x1e, 0x77, 0x9a, 0xd9, 0x57, 0x3f, 0x09, 0x79, 0xfc, 0x27, 0xfd, 0xa1, 0x5c, 0x0c, + 0xf8, 0x7f, 0x18, 0xd8, 0x47, 0xe0, 0x37, 0x3b, 0x6e, 0xdb, 0xd5, 0xe2, 0x83, 0xfd, 0xbf, 0x6c, + 0xa6, 0xb9, 0x7d, 0xb5, 0x06, 0x05, 0xc7, 0x6d, 0xb7, 0xfb, 0xac, 0x3f, 0x8d, 0x81, 0xff, 0xdf, + 0x07, 0xde, 0x95, 0x85, 0x87, 0xc1, 0xb3, 0x7d, 0xeb, 0x86, 0x6b, 0x99, 0xe4, 0x33, 0x47, 0x1c, + 0xc3, 0x3d, 0xc6, 0x10, 0x80, 0xac, 0xd4, 0x87, 0x5f, 0xdf, 0xc2, 0xba, 0xb9, 0x6e, 0xd2, 0x8b, + 0xdb, 0x97, 0xe6, 0xe2, 0x6f, 0x60, 0xe1, 0xd5, 0x0c, 0xcc, 0xaa, 0x66, 0xaf, 0x65, 0x3a, 0xe7, + 0xbc, 0x72, 0x7c, 0xce, 0x34, 0x18, 0xa3, 0x98, 0x32, 0x0d, 0x34, 0x7b, 0xbc, 0x9b, 0xdc, 0xb9, + 0x53, 0x90, 0x69, 0xf6, 0x5b, 0xad, 0x03, 0x51, 0x80, 0x94, 0xd3, 0x6f, 0xb1, 0x9f, 0x5b, 0xe1, + 0x3f, 0xe7, 0x7e, 0x90, 0x82, 0x42, 0x53, 0xe9, 0x59, 0x3a, 0x6a, 0x18, 0xa8, 0xd1, 0x11, 0xcb, + 0x90, 0x25, 0x03, 0x7d, 0x86, 0x18, 0x25, 0xae, 0x8d, 0x49, 0xec, 0xd9, 0xd3, 0x2c, 0x92, 0x1b, + 0xee, 0xa4, 0xa7, 0x59, 0xf4, 0x34, 0xe7, 0xe9, 0x05, 0xb7, 0xa7, 0x39, 0xef, 0x69, 0x96, 0xc8, + 0x35, 0x77, 0xca, 0xd3, 0x2c, 0x79, 0x9a, 0x65, 0xf2, 0x19, 0x67, 0xc2, 0xd3, 0x2c, 0x7b, 0x9a, + 0x0b, 0xe4, 0xc3, 0x4d, 0xda, 0xd3, 0x5c, 0xf0, 0x34, 0x17, 0xc9, 0xf7, 0x9a, 0x29, 0x4f, 0x73, + 0xd1, 0xd3, 0x5c, 0x22, 0xdf, 0x68, 0x44, 0x4f, 0x73, 0xc9, 0xd3, 0x5c, 0x26, 0xbf, 0xaa, 0x1a, + 0xf7, 0x34, 0x97, 0xc5, 0x59, 0x18, 0xa7, 0x23, 0x7b, 0x9a, 0x7c, 0xc8, 0x9f, 0xbc, 0x36, 0x26, + 0x71, 0x81, 0xaf, 0x7b, 0x86, 0xfc, 0x72, 0x2a, 0xeb, 0xeb, 0x9e, 0xf1, 0x75, 0x8b, 0xe4, 0x3f, + 0x70, 0x08, 0xbe, 0x6e, 0xd1, 0xd7, 0x9d, 0x2f, 0x4f, 0xe0, 0xfc, 0xf0, 0x75, 0xe7, 0x7d, 0xdd, + 0x52, 0xb9, 0x84, 0xe3, 0xef, 0xeb, 0x96, 0x7c, 0xdd, 0x72, 0x79, 0xf2, 0x4c, 0x62, 0xbe, 0xe8, + 0xeb, 0x96, 0xc5, 0xa7, 0xa0, 0xe0, 0xf4, 0x5b, 0x32, 0xab, 0xf4, 0xe4, 0x17, 0x5a, 0x85, 0x45, + 0x58, 0xc0, 0x19, 0x41, 0x26, 0xf5, 0xda, 0x98, 0x04, 0x4e, 0xbf, 0xc5, 0x0a, 0xf1, 0x4a, 0x11, + 0xc8, 0xfd, 0x93, 0x4c, 0x7e, 0x58, 0xbd, 0xb2, 0xf6, 0xd6, 0xdd, 0xca, 0xd8, 0xf7, 0xee, 0x56, + 0xc6, 0xfe, 0xe5, 0x6e, 0x65, 0xec, 0xed, 0xbb, 0x95, 0xc4, 0x7b, 0x77, 0x2b, 0x89, 0xf7, 0xef, + 0x56, 0x12, 0x77, 0x0e, 0x2b, 0x89, 0xaf, 0x1e, 0x56, 0x12, 0x5f, 0x3f, 0xac, 0x24, 0xbe, 0x75, + 0x58, 0x49, 0xbc, 0x75, 0x58, 0x49, 0x7c, 0xef, 0xb0, 0x32, 0xf6, 0xf6, 0x61, 0x25, 0xf1, 0xa3, + 0xc3, 0xca, 0xd8, 0x7b, 0x87, 0x95, 0xc4, 0xfb, 0x87, 0x95, 0xb1, 0x3b, 0x3f, 0xac, 0x8c, 0xb5, + 0xb2, 0x24, 0x8d, 0xce, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xed, 0xb5, 0xb7, 0x77, 0x8f, + 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2853,35 +2887,3 @@ func valueToStringOne(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("combos/marshaler/one.proto", fileDescriptor_one_c146381302ae1a39) } - -var fileDescriptor_one_c146381302ae1a39 = []byte{ - // 407 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, - 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0xde, 0xf4, 0x9a, 0xe1, 0xc9, 0x62, 0xf2, - 0x42, 0xd2, 0xdc, 0x25, 0xfc, 0x58, 0x51, 0x55, 0x65, 0xa9, 0x90, 0xc2, 0x1f, 0x80, 0x62, 0xea, - 0x04, 0xa4, 0x5c, 0x8c, 0x72, 0x77, 0x43, 0x37, 0xfe, 0x9c, 0x8e, 0x1d, 0xfb, 0x27, 0x30, 0x32, - 0x76, 0xe8, 0xc0, 0xb9, 0x4b, 0x47, 0x46, 0xc6, 0x2a, 0x97, 0xf2, 0xbc, 0xbd, 0xaf, 0x3f, 0xf6, - 0x60, 0xfb, 0x2b, 0x7b, 0x37, 0x2e, 0x33, 0x2e, 0x1f, 0x64, 0xb3, 0x75, 0x7e, 0x3b, 0x5b, 0xda, - 0xf5, 0xc0, 0xad, 0x6c, 0xff, 0x7e, 0xed, 0x0a, 0x17, 0x47, 0x6e, 0x65, 0x7b, 0xc7, 0x8b, 0xbb, - 0xe2, 0xb6, 0x34, 0xfd, 0x1b, 0x97, 0x0d, 0x16, 0x6e, 0xe1, 0x06, 0xb5, 0x99, 0x72, 0x5e, 0xa7, - 0x3a, 0xd4, 0xd3, 0xf6, 0xcc, 0xd1, 0x07, 0xd9, 0xb8, 0x2a, 0x8d, 0xf9, 0x16, 0x77, 0x65, 0x94, - 0x97, 0x06, 0x41, 0x81, 0xde, 0x9f, 0x6e, 0xc6, 0xa3, 0xdf, 0x91, 0x6c, 0x5f, 0xcd, 0xb2, 0xfb, - 0xa5, 0xbd, 0x5c, 0xd9, 0xcb, 0x79, 0x8c, 0xb2, 0xf9, 0xf9, 0xce, 0x2e, 0xbf, 0x0e, 0xeb, 0x4d, - 0x30, 0x11, 0xd3, 0xff, 0x99, 0x25, 0xc1, 0x1d, 0x05, 0x7a, 0x87, 0x25, 0x61, 0x49, 0x31, 0x52, - 0xa0, 0x1b, 0x2c, 0x29, 0xcb, 0x08, 0x77, 0x15, 0xe8, 0x88, 0x65, 0xc4, 0x32, 0xc6, 0x86, 0x02, - 0x7d, 0xc0, 0x32, 0x66, 0x39, 0xc1, 0xa6, 0x02, 0xbd, 0xcb, 0x72, 0xc2, 0x72, 0x8a, 0x2d, 0x05, - 0xfa, 0x3d, 0xcb, 0x29, 0xcb, 0x19, 0xee, 0x29, 0xd0, 0x31, 0xcb, 0x19, 0xcb, 0x39, 0xee, 0x2b, - 0xd0, 0x2d, 0x96, 0xf3, 0xb8, 0x27, 0x5b, 0xdb, 0x9b, 0x7d, 0x44, 0xa9, 0x40, 0x1f, 0x4e, 0xc4, - 0xf4, 0x6d, 0x21, 0xd8, 0x10, 0xdb, 0x0a, 0x74, 0x33, 0xd8, 0x30, 0x58, 0x82, 0x1d, 0x05, 0xba, - 0x1b, 0x2c, 0x09, 0x96, 0xe2, 0x81, 0x02, 0xbd, 0x17, 0x2c, 0x0d, 0x36, 0xc2, 0x77, 0x9b, 0xf7, - 0x0f, 0x36, 0x0a, 0x36, 0xc6, 0x43, 0x05, 0xba, 0x13, 0x6c, 0x1c, 0x1f, 0xcb, 0x76, 0x5e, 0x9a, - 0xeb, 0xcc, 0xe6, 0xf9, 0x6c, 0x61, 0xb1, 0xab, 0x40, 0xb7, 0x13, 0xd9, 0xdf, 0x34, 0xa2, 0xfe, - 0xd4, 0x89, 0x98, 0xca, 0xbc, 0x34, 0x5f, 0xb6, 0x7e, 0xd1, 0x91, 0xb2, 0xb0, 0x79, 0x71, 0xed, - 0x56, 0xd6, 0xcd, 0x2f, 0x3e, 0x3d, 0x56, 0x24, 0x9e, 0x2a, 0x12, 0xbf, 0x2a, 0x12, 0xcf, 0x15, - 0xc1, 0x4b, 0x45, 0xf0, 0x5a, 0x11, 0x3c, 0x78, 0x82, 0xef, 0x9e, 0xe0, 0x87, 0x27, 0xf8, 0xe9, - 0x09, 0x1e, 0x3d, 0xc1, 0x93, 0x27, 0xf1, 0xec, 0x09, 0xfe, 0x7a, 0x12, 0x2f, 0x9e, 0xe0, 0xd5, - 0x93, 0x78, 0xf8, 0x43, 0xc2, 0x34, 0xeb, 0x1a, 0xa5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x34, - 0x55, 0x0b, 0x2b, 0x98, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof3/combos/neither/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof3/combos/neither/one.pb.go index 04724111c..93140da10 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof3/combos/neither/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof3/combos/neither/one.pb.go @@ -3,19 +3,19 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -38,7 +38,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_827a0063df79db69, []int{0} + return fileDescriptor_e4ee9759a7520144, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Subby.Unmarshal(m, b) @@ -46,8 +46,8 @@ func (m *Subby) XXX_Unmarshal(b []byte) error { func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Subby.Marshal(b, m, deterministic) } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return xxx_messageInfo_Subby.Size(m) @@ -85,7 +85,7 @@ type SampleOneOf struct { func (m *SampleOneOf) Reset() { *m = SampleOneOf{} } func (*SampleOneOf) ProtoMessage() {} func (*SampleOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_827a0063df79db69, []int{1} + return fileDescriptor_e4ee9759a7520144, []int{1} } func (m *SampleOneOf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SampleOneOf.Unmarshal(m, b) @@ -93,8 +93,8 @@ func (m *SampleOneOf) XXX_Unmarshal(b []byte) error { func (m *SampleOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SampleOneOf.Marshal(b, m, deterministic) } -func (dst *SampleOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_SampleOneOf.Merge(dst, src) +func (m *SampleOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_SampleOneOf.Merge(m, src) } func (m *SampleOneOf) XXX_Size() int { return xxx_messageInfo_SampleOneOf.Size(m) @@ -572,6 +572,39 @@ func init() { proto.RegisterType((*Subby)(nil), "one.Subby") proto.RegisterType((*SampleOneOf)(nil), "one.SampleOneOf") } + +func init() { proto.RegisterFile("combos/neither/one.proto", fileDescriptor_e4ee9759a7520144) } + +var fileDescriptor_e4ee9759a7520144 = []byte{ + // 405 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, + 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0xde, 0xf4, 0xca, 0xf0, 0x64, 0x31, 0x79, + 0x21, 0x69, 0xee, 0x12, 0x7e, 0xac, 0xa8, 0xaa, 0xb2, 0x54, 0x48, 0xe1, 0x0f, 0x40, 0x98, 0x3a, + 0x21, 0x12, 0x77, 0x46, 0xdc, 0xdd, 0xd0, 0x8d, 0x3f, 0xa7, 0x63, 0xc7, 0xfe, 0x09, 0x8c, 0x8c, + 0x1d, 0x3a, 0x70, 0xee, 0xd2, 0x91, 0x31, 0x63, 0x95, 0x4b, 0x79, 0xde, 0xde, 0xd7, 0x1f, 0x7b, + 0xb0, 0xfd, 0x95, 0x78, 0xe3, 0x32, 0xe3, 0x8a, 0x61, 0x6e, 0x97, 0xe5, 0xad, 0x7d, 0x18, 0xba, + 0xdc, 0x0e, 0xee, 0x1f, 0x5c, 0xe9, 0xe2, 0xc8, 0xe5, 0xf6, 0xe0, 0x68, 0xb1, 0x2c, 0x6f, 0x2b, + 0x33, 0xb8, 0x71, 0xd9, 0x70, 0xe1, 0x16, 0x6e, 0xd8, 0x98, 0xa9, 0xe6, 0x4d, 0x6a, 0x42, 0x33, + 0x6d, 0xce, 0x1c, 0x7e, 0x90, 0xad, 0xcb, 0xca, 0x98, 0x6f, 0x71, 0x5f, 0x46, 0x45, 0x65, 0x10, + 0x14, 0xe8, 0xdd, 0xd9, 0x7a, 0x3c, 0xfc, 0x1d, 0xc9, 0xee, 0xe5, 0x75, 0x76, 0x7f, 0x67, 0x2f, + 0x72, 0x7b, 0x31, 0x8f, 0x51, 0xb6, 0x3f, 0x2f, 0xed, 0xdd, 0xd7, 0x51, 0xb3, 0x09, 0xa6, 0x62, + 0xf6, 0x3f, 0xb3, 0x24, 0xb8, 0xa5, 0x40, 0x6f, 0xb1, 0x24, 0x2c, 0x29, 0x46, 0x0a, 0x74, 0x8b, + 0x25, 0x65, 0x19, 0xe3, 0xb6, 0x02, 0x1d, 0xb1, 0x8c, 0x59, 0x26, 0xd8, 0x52, 0xa0, 0xf7, 0x58, + 0x26, 0x2c, 0xc7, 0xd8, 0x56, 0xa0, 0xb7, 0x59, 0x8e, 0x59, 0x4e, 0xb0, 0xa3, 0x40, 0xbf, 0x67, + 0x39, 0x61, 0x39, 0xc5, 0x1d, 0x05, 0x3a, 0x66, 0x39, 0x65, 0x39, 0xc3, 0x5d, 0x05, 0xba, 0xc3, + 0x72, 0x16, 0x1f, 0xc8, 0xce, 0xe6, 0x66, 0x1f, 0x51, 0x2a, 0xd0, 0xfb, 0x53, 0x31, 0x7b, 0x5b, + 0x08, 0x36, 0xc2, 0xae, 0x02, 0xdd, 0x0e, 0x36, 0x0a, 0x96, 0x60, 0x4f, 0x81, 0xee, 0x07, 0x4b, + 0x82, 0xa5, 0xb8, 0xa7, 0x40, 0xef, 0x04, 0x4b, 0x83, 0x8d, 0xf1, 0xdd, 0xfa, 0xfd, 0x83, 0x8d, + 0x83, 0x4d, 0x70, 0x5f, 0x81, 0xee, 0x05, 0x9b, 0xc4, 0x47, 0xb2, 0x5b, 0x54, 0xe6, 0x2a, 0xb3, + 0x45, 0x71, 0xbd, 0xb0, 0xd8, 0x57, 0xa0, 0xbb, 0x89, 0x1c, 0xac, 0x1b, 0xd1, 0x7c, 0xea, 0x54, + 0xcc, 0x64, 0x51, 0x99, 0x2f, 0x1b, 0x3f, 0xef, 0x49, 0x59, 0xda, 0xa2, 0xbc, 0x72, 0xb9, 0x75, + 0xf3, 0xf3, 0x4f, 0x4f, 0x35, 0x89, 0xe7, 0x9a, 0xc4, 0xaf, 0x9a, 0xc4, 0x4b, 0x4d, 0xf0, 0x5a, + 0x13, 0xac, 0x6a, 0x82, 0x47, 0x4f, 0xf0, 0xdd, 0x13, 0xfc, 0xf0, 0x04, 0x3f, 0x3d, 0xc1, 0x93, + 0x27, 0xf1, 0xec, 0x49, 0xbc, 0x78, 0x82, 0xbf, 0x9e, 0xc4, 0xab, 0x27, 0x58, 0x79, 0x12, 0x8f, + 0x7f, 0x48, 0x98, 0x76, 0x53, 0xa3, 0xf4, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x04, 0xd2, + 0x98, 0x96, 0x02, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -581,263 +614,265 @@ func (this *SampleOneOf) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4084 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0x26, 0x7e, 0x09, 0x1c, 0x80, 0xe0, 0x72, 0x49, 0x4b, 0x2b, 0x3a, 0x86, 0x24, 0xda, 0x8e, - 0x69, 0xbb, 0x26, 0x6d, 0x4a, 0xd4, 0x0f, 0xd4, 0xc4, 0x05, 0x49, 0x88, 0xa2, 0x4b, 0x12, 0xcc, - 0x82, 0x8c, 0x7f, 0x32, 0x9d, 0x9d, 0xc5, 0xe2, 0x02, 0x5c, 0x69, 0xb1, 0xbb, 0xd9, 0x5d, 0x48, - 0xa6, 0xa6, 0x0f, 0xea, 0xb8, 0x3f, 0x93, 0xe9, 0xf4, 0xbf, 0xd3, 0x26, 0xae, 0xe3, 0x36, 0xe9, - 0x34, 0x4e, 0xd3, 0xbf, 0xa4, 0x69, 0xd3, 0x24, 0x7d, 0xe9, 0x4b, 0x5a, 0x3f, 0x75, 0x92, 0xb7, - 0x3e, 0xe4, 0xc1, 0x62, 0x3c, 0xd3, 0xb4, 0x75, 0x1b, 0xb7, 0xd5, 0x83, 0x67, 0xfc, 0x92, 0xb9, - 0x7f, 0xbb, 0x8b, 0x05, 0xa8, 0x05, 0x33, 0x63, 0xe7, 0x49, 0xdc, 0x73, 0xce, 0xf7, 0xed, 0xbd, - 0xe7, 0x9e, 0x7b, 0xce, 0xb9, 0x77, 0x21, 0xf8, 0xd1, 0x65, 0x38, 0xd3, 0xb1, 0xac, 0x8e, 0x81, - 0x16, 0x6d, 0xc7, 0xf2, 0xac, 0x66, 0xaf, 0xbd, 0xd8, 0x42, 0xae, 0xe6, 0xe8, 0xb6, 0x67, 0x39, - 0x0b, 0x44, 0x26, 0x4e, 0x52, 0x8b, 0x05, 0x6e, 0x31, 0xb7, 0x05, 0x53, 0x57, 0x75, 0x03, 0xad, - 0xf9, 0x86, 0x0d, 0xe4, 0x89, 0x97, 0x20, 0xdd, 0xd6, 0x0d, 0x24, 0x25, 0xce, 0xa4, 0xe6, 0x0b, - 0x4b, 0x8f, 0x2c, 0x44, 0x40, 0x0b, 0xfd, 0x88, 0x1d, 0x2c, 0x96, 0x09, 0x62, 0xee, 0xed, 0x34, - 0x4c, 0x0f, 0xd1, 0x8a, 0x22, 0xa4, 0x4d, 0xb5, 0x8b, 0x19, 0x13, 0xf3, 0x79, 0x99, 0xfc, 0x2d, - 0x4a, 0x30, 0x6e, 0xab, 0xda, 0x0d, 0xb5, 0x83, 0xa4, 0x24, 0x11, 0xf3, 0x47, 0xb1, 0x0c, 0xd0, - 0x42, 0x36, 0x32, 0x5b, 0xc8, 0xd4, 0x0e, 0xa4, 0xd4, 0x99, 0xd4, 0x7c, 0x5e, 0x0e, 0x49, 0xc4, - 0x27, 0x61, 0xca, 0xee, 0x35, 0x0d, 0x5d, 0x53, 0x42, 0x66, 0x70, 0x26, 0x35, 0x9f, 0x91, 0x05, - 0xaa, 0x58, 0x0b, 0x8c, 0x1f, 0x83, 0xc9, 0x5b, 0x48, 0xbd, 0x11, 0x36, 0x2d, 0x10, 0xd3, 0x12, - 0x16, 0x87, 0x0c, 0x57, 0xa1, 0xd8, 0x45, 0xae, 0xab, 0x76, 0x90, 0xe2, 0x1d, 0xd8, 0x48, 0x4a, - 0x93, 0xd9, 0x9f, 0x19, 0x98, 0x7d, 0x74, 0xe6, 0x05, 0x86, 0xda, 0x3d, 0xb0, 0x91, 0x58, 0x85, - 0x3c, 0x32, 0x7b, 0x5d, 0xca, 0x90, 0x39, 0xc2, 0x7f, 0x35, 0xb3, 0xd7, 0x8d, 0xb2, 0xe4, 0x30, - 0x8c, 0x51, 0x8c, 0xbb, 0xc8, 0xb9, 0xa9, 0x6b, 0x48, 0xca, 0x12, 0x82, 0xc7, 0x06, 0x08, 0x1a, - 0x54, 0x1f, 0xe5, 0xe0, 0x38, 0x71, 0x15, 0xf2, 0xe8, 0x65, 0x0f, 0x99, 0xae, 0x6e, 0x99, 0xd2, - 0x38, 0x21, 0x79, 0x74, 0xc8, 0x2a, 0x22, 0xa3, 0x15, 0xa5, 0x08, 0x70, 0xe2, 0x05, 0x18, 0xb7, - 0x6c, 0x4f, 0xb7, 0x4c, 0x57, 0xca, 0x9d, 0x49, 0xcc, 0x17, 0x96, 0x3e, 0x32, 0x34, 0x10, 0xea, - 0xd4, 0x46, 0xe6, 0xc6, 0xe2, 0x06, 0x08, 0xae, 0xd5, 0x73, 0x34, 0xa4, 0x68, 0x56, 0x0b, 0x29, - 0xba, 0xd9, 0xb6, 0xa4, 0x3c, 0x21, 0x38, 0x3d, 0x38, 0x11, 0x62, 0xb8, 0x6a, 0xb5, 0xd0, 0x86, - 0xd9, 0xb6, 0xe4, 0x92, 0xdb, 0xf7, 0x2c, 0x9e, 0x80, 0xac, 0x7b, 0x60, 0x7a, 0xea, 0xcb, 0x52, - 0x91, 0x44, 0x08, 0x7b, 0x9a, 0xfb, 0x56, 0x16, 0x26, 0x47, 0x09, 0xb1, 0x2b, 0x90, 0x69, 0xe3, - 0x59, 0x4a, 0xc9, 0xe3, 0xf8, 0x80, 0x62, 0xfa, 0x9d, 0x98, 0xfd, 0x09, 0x9d, 0x58, 0x85, 0x82, - 0x89, 0x5c, 0x0f, 0xb5, 0x68, 0x44, 0xa4, 0x46, 0x8c, 0x29, 0xa0, 0xa0, 0xc1, 0x90, 0x4a, 0xff, - 0x44, 0x21, 0xf5, 0x02, 0x4c, 0xfa, 0x43, 0x52, 0x1c, 0xd5, 0xec, 0xf0, 0xd8, 0x5c, 0x8c, 0x1b, - 0xc9, 0x42, 0x8d, 0xe3, 0x64, 0x0c, 0x93, 0x4b, 0xa8, 0xef, 0x59, 0x5c, 0x03, 0xb0, 0x4c, 0x64, - 0xb5, 0x95, 0x16, 0xd2, 0x0c, 0x29, 0x77, 0x84, 0x97, 0xea, 0xd8, 0x64, 0xc0, 0x4b, 0x16, 0x95, - 0x6a, 0x86, 0x78, 0x39, 0x08, 0xb5, 0xf1, 0x23, 0x22, 0x65, 0x8b, 0x6e, 0xb2, 0x81, 0x68, 0xdb, - 0x83, 0x92, 0x83, 0x70, 0xdc, 0xa3, 0x16, 0x9b, 0x59, 0x9e, 0x0c, 0x62, 0x21, 0x76, 0x66, 0x32, - 0x83, 0xd1, 0x89, 0x4d, 0x38, 0xe1, 0x47, 0xf1, 0x61, 0xf0, 0x05, 0x0a, 0x09, 0x2b, 0x20, 0x59, - 0xa8, 0xc8, 0x85, 0xdb, 0x6a, 0x17, 0xcd, 0xde, 0x86, 0x52, 0xbf, 0x7b, 0xc4, 0x19, 0xc8, 0xb8, - 0x9e, 0xea, 0x78, 0x24, 0x0a, 0x33, 0x32, 0x7d, 0x10, 0x05, 0x48, 0x21, 0xb3, 0x45, 0xb2, 0x5c, - 0x46, 0xc6, 0x7f, 0x8a, 0x3f, 0x17, 0x4c, 0x38, 0x45, 0x26, 0xfc, 0xd1, 0xc1, 0x15, 0xed, 0x63, - 0x8e, 0xce, 0x7b, 0xf6, 0x22, 0x4c, 0xf4, 0x4d, 0x60, 0xd4, 0x57, 0xcf, 0xfd, 0x22, 0x3c, 0x30, - 0x94, 0x5a, 0x7c, 0x01, 0x66, 0x7a, 0xa6, 0x6e, 0x7a, 0xc8, 0xb1, 0x1d, 0x84, 0x23, 0x96, 0xbe, - 0x4a, 0xfa, 0xf7, 0xf1, 0x23, 0x62, 0x6e, 0x2f, 0x6c, 0x4d, 0x59, 0xe4, 0xe9, 0xde, 0xa0, 0xf0, - 0x89, 0x7c, 0xee, 0x87, 0xe3, 0xc2, 0x9d, 0x3b, 0x77, 0xee, 0x24, 0xe7, 0x3e, 0x9b, 0x85, 0x99, - 0x61, 0x7b, 0x66, 0xe8, 0xf6, 0x3d, 0x01, 0x59, 0xb3, 0xd7, 0x6d, 0x22, 0x87, 0x38, 0x29, 0x23, - 0xb3, 0x27, 0xb1, 0x0a, 0x19, 0x43, 0x6d, 0x22, 0x43, 0x4a, 0x9f, 0x49, 0xcc, 0x97, 0x96, 0x9e, - 0x1c, 0x69, 0x57, 0x2e, 0x6c, 0x62, 0x88, 0x4c, 0x91, 0xe2, 0xc7, 0x21, 0xcd, 0x52, 0x34, 0x66, - 0x78, 0x62, 0x34, 0x06, 0xbc, 0x97, 0x64, 0x82, 0x13, 0x1f, 0x84, 0x3c, 0xfe, 0x97, 0xc6, 0x46, - 0x96, 0x8c, 0x39, 0x87, 0x05, 0x38, 0x2e, 0xc4, 0x59, 0xc8, 0x91, 0x6d, 0xd2, 0x42, 0xbc, 0xb4, - 0xf9, 0xcf, 0x38, 0xb0, 0x5a, 0xa8, 0xad, 0xf6, 0x0c, 0x4f, 0xb9, 0xa9, 0x1a, 0x3d, 0x44, 0x02, - 0x3e, 0x2f, 0x17, 0x99, 0xf0, 0x93, 0x58, 0x26, 0x9e, 0x86, 0x02, 0xdd, 0x55, 0xba, 0xd9, 0x42, - 0x2f, 0x93, 0xec, 0x99, 0x91, 0xe9, 0x46, 0xdb, 0xc0, 0x12, 0xfc, 0xfa, 0xeb, 0xae, 0x65, 0xf2, - 0xd0, 0x24, 0xaf, 0xc0, 0x02, 0xf2, 0xfa, 0x8b, 0xd1, 0xc4, 0xfd, 0xd0, 0xf0, 0xe9, 0x45, 0x63, - 0x6a, 0xee, 0x1b, 0x49, 0x48, 0x93, 0x7c, 0x31, 0x09, 0x85, 0xdd, 0x17, 0x77, 0x6a, 0xca, 0x5a, - 0x7d, 0x6f, 0x65, 0xb3, 0x26, 0x24, 0xc4, 0x12, 0x00, 0x11, 0x5c, 0xdd, 0xac, 0x57, 0x77, 0x85, - 0xa4, 0xff, 0xbc, 0xb1, 0xbd, 0x7b, 0xe1, 0xbc, 0x90, 0xf2, 0x01, 0x7b, 0x54, 0x90, 0x0e, 0x1b, - 0x9c, 0x5b, 0x12, 0x32, 0xa2, 0x00, 0x45, 0x4a, 0xb0, 0xf1, 0x42, 0x6d, 0xed, 0xc2, 0x79, 0x21, - 0xdb, 0x2f, 0x39, 0xb7, 0x24, 0x8c, 0x8b, 0x13, 0x90, 0x27, 0x92, 0x95, 0x7a, 0x7d, 0x53, 0xc8, - 0xf9, 0x9c, 0x8d, 0x5d, 0x79, 0x63, 0x7b, 0x5d, 0xc8, 0xfb, 0x9c, 0xeb, 0x72, 0x7d, 0x6f, 0x47, - 0x00, 0x9f, 0x61, 0xab, 0xd6, 0x68, 0x54, 0xd7, 0x6b, 0x42, 0xc1, 0xb7, 0x58, 0x79, 0x71, 0xb7, - 0xd6, 0x10, 0x8a, 0x7d, 0xc3, 0x3a, 0xb7, 0x24, 0x4c, 0xf8, 0xaf, 0xa8, 0x6d, 0xef, 0x6d, 0x09, - 0x25, 0x71, 0x0a, 0x26, 0xe8, 0x2b, 0xf8, 0x20, 0x26, 0x23, 0xa2, 0x0b, 0xe7, 0x05, 0x21, 0x18, - 0x08, 0x65, 0x99, 0xea, 0x13, 0x5c, 0x38, 0x2f, 0x88, 0x73, 0xab, 0x90, 0x21, 0xd1, 0x25, 0x8a, - 0x50, 0xda, 0xac, 0xae, 0xd4, 0x36, 0x95, 0xfa, 0xce, 0xee, 0x46, 0x7d, 0xbb, 0xba, 0x29, 0x24, - 0x02, 0x99, 0x5c, 0xfb, 0xc4, 0xde, 0x86, 0x5c, 0x5b, 0x13, 0x92, 0x61, 0xd9, 0x4e, 0xad, 0xba, - 0x5b, 0x5b, 0x13, 0x52, 0x73, 0x1a, 0xcc, 0x0c, 0xcb, 0x93, 0x43, 0x77, 0x46, 0x68, 0x89, 0x93, - 0x47, 0x2c, 0x31, 0xe1, 0x1a, 0x58, 0xe2, 0x1f, 0x24, 0x61, 0x7a, 0x48, 0xad, 0x18, 0xfa, 0x92, - 0x67, 0x21, 0x43, 0x43, 0x94, 0x56, 0xcf, 0xc7, 0x87, 0x16, 0x1d, 0x12, 0xb0, 0x03, 0x15, 0x94, - 0xe0, 0xc2, 0x1d, 0x44, 0xea, 0x88, 0x0e, 0x02, 0x53, 0x0c, 0xe4, 0xf4, 0x5f, 0x18, 0xc8, 0xe9, - 0xb4, 0xec, 0x5d, 0x18, 0xa5, 0xec, 0x11, 0xd9, 0xf1, 0x72, 0x7b, 0x66, 0x48, 0x6e, 0xbf, 0x02, - 0x53, 0x03, 0x44, 0x23, 0xe7, 0xd8, 0x57, 0x12, 0x20, 0x1d, 0xe5, 0x9c, 0x98, 0x4c, 0x97, 0xec, - 0xcb, 0x74, 0x57, 0xa2, 0x1e, 0x3c, 0x7b, 0xf4, 0x22, 0x0c, 0xac, 0xf5, 0x1b, 0x09, 0x38, 0x31, - 0xbc, 0x53, 0x1c, 0x3a, 0x86, 0x8f, 0x43, 0xb6, 0x8b, 0xbc, 0x7d, 0x8b, 0x77, 0x4b, 0x1f, 0x1d, - 0x52, 0x83, 0xb1, 0x3a, 0xba, 0xd8, 0x0c, 0x15, 0x2e, 0xe2, 0xa9, 0xa3, 0xda, 0x3d, 0x3a, 0x9a, - 0x81, 0x91, 0x7e, 0x26, 0x09, 0x0f, 0x0c, 0x25, 0x1f, 0x3a, 0xd0, 0x87, 0x00, 0x74, 0xd3, 0xee, - 0x79, 0xb4, 0x23, 0xa2, 0x09, 0x36, 0x4f, 0x24, 0x24, 0x79, 0xe1, 0xe4, 0xd9, 0xf3, 0x7c, 0x7d, - 0x8a, 0xe8, 0x81, 0x8a, 0x88, 0xc1, 0xa5, 0x60, 0xa0, 0x69, 0x32, 0xd0, 0xf2, 0x11, 0x33, 0x1d, - 0x08, 0xcc, 0xa7, 0x41, 0xd0, 0x0c, 0x1d, 0x99, 0x9e, 0xe2, 0x7a, 0x0e, 0x52, 0xbb, 0xba, 0xd9, - 0x21, 0x15, 0x24, 0x57, 0xc9, 0xb4, 0x55, 0xc3, 0x45, 0xf2, 0x24, 0x55, 0x37, 0xb8, 0x16, 0x23, - 0x48, 0x00, 0x39, 0x21, 0x44, 0xb6, 0x0f, 0x41, 0xd5, 0x3e, 0x62, 0xee, 0xeb, 0x39, 0x28, 0x84, - 0xfa, 0x6a, 0xf1, 0x2c, 0x14, 0xaf, 0xab, 0x37, 0x55, 0x85, 0x9f, 0x95, 0xa8, 0x27, 0x0a, 0x58, - 0xb6, 0xc3, 0xce, 0x4b, 0x4f, 0xc3, 0x0c, 0x31, 0xb1, 0x7a, 0x1e, 0x72, 0x14, 0xcd, 0x50, 0x5d, - 0x97, 0x38, 0x2d, 0x47, 0x4c, 0x45, 0xac, 0xab, 0x63, 0xd5, 0x2a, 0xd7, 0x88, 0xcb, 0x30, 0x4d, - 0x10, 0xdd, 0x9e, 0xe1, 0xe9, 0xb6, 0x81, 0x14, 0x7c, 0x7a, 0x73, 0x49, 0x25, 0xf1, 0x47, 0x36, - 0x85, 0x2d, 0xb6, 0x98, 0x01, 0x1e, 0x91, 0x2b, 0xae, 0xc1, 0x43, 0x04, 0xd6, 0x41, 0x26, 0x72, - 0x54, 0x0f, 0x29, 0xe8, 0xd3, 0x3d, 0xd5, 0x70, 0x15, 0xd5, 0x6c, 0x29, 0xfb, 0xaa, 0xbb, 0x2f, - 0xcd, 0x60, 0x82, 0x95, 0xa4, 0x94, 0x90, 0x4f, 0x61, 0xc3, 0x75, 0x66, 0x57, 0x23, 0x66, 0x55, - 0xb3, 0x75, 0x4d, 0x75, 0xf7, 0xc5, 0x0a, 0x9c, 0x20, 0x2c, 0xae, 0xe7, 0xe8, 0x66, 0x47, 0xd1, - 0xf6, 0x91, 0x76, 0x43, 0xe9, 0x79, 0xed, 0x4b, 0xd2, 0x83, 0xe1, 0xf7, 0x93, 0x11, 0x36, 0x88, - 0xcd, 0x2a, 0x36, 0xd9, 0xf3, 0xda, 0x97, 0xc4, 0x06, 0x14, 0xf1, 0x62, 0x74, 0xf5, 0xdb, 0x48, - 0x69, 0x5b, 0x0e, 0x29, 0x8d, 0xa5, 0x21, 0xa9, 0x29, 0xe4, 0xc1, 0x85, 0x3a, 0x03, 0x6c, 0x59, - 0x2d, 0x54, 0xc9, 0x34, 0x76, 0x6a, 0xb5, 0x35, 0xb9, 0xc0, 0x59, 0xae, 0x5a, 0x0e, 0x0e, 0xa8, - 0x8e, 0xe5, 0x3b, 0xb8, 0x40, 0x03, 0xaa, 0x63, 0x71, 0xf7, 0x2e, 0xc3, 0xb4, 0xa6, 0xd1, 0x39, - 0xeb, 0x9a, 0xc2, 0xce, 0x58, 0xae, 0x24, 0xf4, 0x39, 0x4b, 0xd3, 0xd6, 0xa9, 0x01, 0x8b, 0x71, - 0x57, 0xbc, 0x0c, 0x0f, 0x04, 0xce, 0x0a, 0x03, 0xa7, 0x06, 0x66, 0x19, 0x85, 0x2e, 0xc3, 0xb4, - 0x7d, 0x30, 0x08, 0x14, 0xfb, 0xde, 0x68, 0x1f, 0x44, 0x61, 0x17, 0x61, 0xc6, 0xde, 0xb7, 0x07, - 0x71, 0x4f, 0x84, 0x71, 0xa2, 0xbd, 0x6f, 0x47, 0x81, 0x8f, 0x92, 0x03, 0xb7, 0x83, 0x34, 0xd5, - 0x43, 0x2d, 0xe9, 0x64, 0xd8, 0x3c, 0xa4, 0x10, 0x17, 0x41, 0xd0, 0x34, 0x05, 0x99, 0x6a, 0xd3, - 0x40, 0x8a, 0xea, 0x20, 0x53, 0x75, 0xa5, 0xd3, 0x61, 0xe3, 0x92, 0xa6, 0xd5, 0x88, 0xb6, 0x4a, - 0x94, 0xe2, 0x13, 0x30, 0x65, 0x35, 0xaf, 0x6b, 0x34, 0x24, 0x15, 0xdb, 0x41, 0x6d, 0xfd, 0x65, - 0xe9, 0x11, 0xe2, 0xdf, 0x49, 0xac, 0x20, 0x01, 0xb9, 0x43, 0xc4, 0xe2, 0xe3, 0x20, 0x68, 0xee, - 0xbe, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0x21, 0xe9, 0x51, 0x6a, 0x4a, 0xe5, 0xdb, 0x5c, - 0x8c, 0xb7, 0x84, 0x7b, 0x4b, 0x6f, 0x7b, 0x9c, 0xf1, 0x31, 0xba, 0x25, 0x88, 0x8c, 0xb1, 0xcd, - 0x83, 0x80, 0x5d, 0xd1, 0xf7, 0xe2, 0x79, 0x62, 0x56, 0xb2, 0xf7, 0xed, 0xf0, 0x7b, 0x1f, 0x86, - 0x09, 0x6c, 0x19, 0xbc, 0xf4, 0x71, 0xda, 0x90, 0xd9, 0xfb, 0xa1, 0x37, 0x7e, 0x60, 0xbd, 0xf1, - 0x5c, 0x05, 0x8a, 0xe1, 0xf8, 0x14, 0xf3, 0x40, 0x23, 0x54, 0x48, 0xe0, 0x66, 0x65, 0xb5, 0xbe, - 0x86, 0xdb, 0x8c, 0x97, 0x6a, 0x42, 0x12, 0xb7, 0x3b, 0x9b, 0x1b, 0xbb, 0x35, 0x45, 0xde, 0xdb, - 0xde, 0xdd, 0xd8, 0xaa, 0x09, 0xa9, 0x70, 0x5f, 0xfd, 0x9d, 0x24, 0x94, 0xfa, 0x8f, 0x48, 0xe2, - 0xcf, 0xc2, 0x49, 0x7e, 0x9f, 0xe1, 0x22, 0x4f, 0xb9, 0xa5, 0x3b, 0x64, 0xcb, 0x74, 0x55, 0x5a, - 0xbe, 0xfc, 0x45, 0x9b, 0x61, 0x56, 0x0d, 0xe4, 0x3d, 0xaf, 0x3b, 0x78, 0x43, 0x74, 0x55, 0x4f, - 0xdc, 0x84, 0xd3, 0xa6, 0xa5, 0xb8, 0x9e, 0x6a, 0xb6, 0x54, 0xa7, 0xa5, 0x04, 0x37, 0x49, 0x8a, - 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0xaa, 0x7c, 0x96, 0x8f, 0x98, 0x56, 0x83, 0x19, 0x07, 0x39, - 0xbc, 0xca, 0x4c, 0x23, 0x01, 0x96, 0x3a, 0x2a, 0xc0, 0x1e, 0x84, 0x7c, 0x57, 0xb5, 0x15, 0x64, - 0x7a, 0xce, 0x01, 0x69, 0x8c, 0x73, 0x72, 0xae, 0xab, 0xda, 0x35, 0xfc, 0xfc, 0xe1, 0x9c, 0x4f, - 0xbe, 0x9f, 0x82, 0x62, 0xb8, 0x39, 0xc6, 0x67, 0x0d, 0x8d, 0xd4, 0x91, 0x04, 0xc9, 0x34, 0x0f, - 0xdf, 0xb7, 0x95, 0x5e, 0x58, 0xc5, 0x05, 0xa6, 0x92, 0xa5, 0x2d, 0xab, 0x4c, 0x91, 0xb8, 0xb8, - 0xe3, 0xdc, 0x82, 0x68, 0x8b, 0x90, 0x93, 0xd9, 0x93, 0xb8, 0x0e, 0xd9, 0xeb, 0x2e, 0xe1, 0xce, - 0x12, 0xee, 0x47, 0xee, 0xcf, 0xfd, 0x5c, 0x83, 0x90, 0xe7, 0x9f, 0x6b, 0x28, 0xdb, 0x75, 0x79, - 0xab, 0xba, 0x29, 0x33, 0xb8, 0x78, 0x0a, 0xd2, 0x86, 0x7a, 0xfb, 0xa0, 0xbf, 0x14, 0x11, 0xd1, - 0xa8, 0x8e, 0x3f, 0x05, 0xe9, 0x5b, 0x48, 0xbd, 0xd1, 0x5f, 0x00, 0x88, 0xe8, 0x03, 0x0c, 0xfd, - 0x45, 0xc8, 0x10, 0x7f, 0x89, 0x00, 0xcc, 0x63, 0xc2, 0x98, 0x98, 0x83, 0xf4, 0x6a, 0x5d, 0xc6, - 0xe1, 0x2f, 0x40, 0x91, 0x4a, 0x95, 0x9d, 0x8d, 0xda, 0x6a, 0x4d, 0x48, 0xce, 0x2d, 0x43, 0x96, - 0x3a, 0x01, 0x6f, 0x0d, 0xdf, 0x0d, 0xc2, 0x18, 0x7b, 0x64, 0x1c, 0x09, 0xae, 0xdd, 0xdb, 0x5a, - 0xa9, 0xc9, 0x42, 0x32, 0xbc, 0xbc, 0x2e, 0x14, 0xc3, 0x7d, 0xf1, 0x87, 0x13, 0x53, 0xdf, 0x4e, - 0x40, 0x21, 0xd4, 0xe7, 0xe2, 0x06, 0x45, 0x35, 0x0c, 0xeb, 0x96, 0xa2, 0x1a, 0xba, 0xea, 0xb2, - 0xa0, 0x00, 0x22, 0xaa, 0x62, 0xc9, 0xa8, 0x8b, 0xf6, 0xa1, 0x0c, 0xfe, 0xf5, 0x04, 0x08, 0xd1, - 0x16, 0x33, 0x32, 0xc0, 0xc4, 0x4f, 0x75, 0x80, 0xaf, 0x25, 0xa0, 0xd4, 0xdf, 0x57, 0x46, 0x86, - 0x77, 0xf6, 0xa7, 0x3a, 0xbc, 0xb7, 0x92, 0x30, 0xd1, 0xd7, 0x4d, 0x8e, 0x3a, 0xba, 0x4f, 0xc3, - 0x94, 0xde, 0x42, 0x5d, 0xdb, 0xf2, 0x90, 0xa9, 0x1d, 0x28, 0x06, 0xba, 0x89, 0x0c, 0x69, 0x8e, - 0x24, 0x8a, 0xc5, 0xfb, 0xf7, 0xab, 0x0b, 0x1b, 0x01, 0x6e, 0x13, 0xc3, 0x2a, 0xd3, 0x1b, 0x6b, - 0xb5, 0xad, 0x9d, 0xfa, 0x6e, 0x6d, 0x7b, 0xf5, 0x45, 0x65, 0x6f, 0xfb, 0xe7, 0xb7, 0xeb, 0xcf, - 0x6f, 0xcb, 0x82, 0x1e, 0x31, 0xfb, 0x00, 0xb7, 0xfa, 0x0e, 0x08, 0xd1, 0x41, 0x89, 0x27, 0x61, - 0xd8, 0xb0, 0x84, 0x31, 0x71, 0x1a, 0x26, 0xb7, 0xeb, 0x4a, 0x63, 0x63, 0xad, 0xa6, 0xd4, 0xae, - 0x5e, 0xad, 0xad, 0xee, 0x36, 0xe8, 0x0d, 0x84, 0x6f, 0xbd, 0xdb, 0xbf, 0xa9, 0x5f, 0x4d, 0xc1, - 0xf4, 0x90, 0x91, 0x88, 0x55, 0x76, 0x76, 0xa0, 0xc7, 0x99, 0xa7, 0x46, 0x19, 0xfd, 0x02, 0x2e, - 0xf9, 0x3b, 0xaa, 0xe3, 0xb1, 0xa3, 0xc6, 0xe3, 0x80, 0xbd, 0x64, 0x7a, 0x7a, 0x5b, 0x47, 0x0e, - 0xbb, 0xb0, 0xa1, 0x07, 0x8a, 0xc9, 0x40, 0x4e, 0xef, 0x6c, 0x7e, 0x06, 0x44, 0xdb, 0x72, 0x75, - 0x4f, 0xbf, 0x89, 0x14, 0xdd, 0xe4, 0xb7, 0x3b, 0xf8, 0x80, 0x91, 0x96, 0x05, 0xae, 0xd9, 0x30, - 0x3d, 0xdf, 0xda, 0x44, 0x1d, 0x35, 0x62, 0x8d, 0x13, 0x78, 0x4a, 0x16, 0xb8, 0xc6, 0xb7, 0x3e, - 0x0b, 0xc5, 0x96, 0xd5, 0xc3, 0x5d, 0x17, 0xb5, 0xc3, 0xf5, 0x22, 0x21, 0x17, 0xa8, 0xcc, 0x37, - 0x61, 0xfd, 0x74, 0x70, 0xad, 0x54, 0x94, 0x0b, 0x54, 0x46, 0x4d, 0x1e, 0x83, 0x49, 0xb5, 0xd3, - 0x71, 0x30, 0x39, 0x27, 0xa2, 0x27, 0x84, 0x92, 0x2f, 0x26, 0x86, 0xb3, 0xcf, 0x41, 0x8e, 0xfb, - 0x01, 0x97, 0x64, 0xec, 0x09, 0xc5, 0xa6, 0xc7, 0xde, 0xe4, 0x7c, 0x5e, 0xce, 0x99, 0x5c, 0x79, - 0x16, 0x8a, 0xba, 0xab, 0x04, 0xb7, 0xe4, 0xc9, 0x33, 0xc9, 0xf9, 0x9c, 0x5c, 0xd0, 0x5d, 0xff, - 0x86, 0x71, 0xee, 0x8d, 0x24, 0x94, 0xfa, 0x6f, 0xf9, 0xc5, 0x35, 0xc8, 0x19, 0x96, 0xa6, 0x92, - 0xd0, 0xa2, 0x9f, 0x98, 0xe6, 0x63, 0x3e, 0x0c, 0x2c, 0x6c, 0x32, 0x7b, 0xd9, 0x47, 0xce, 0xfe, - 0x6b, 0x02, 0x72, 0x5c, 0x2c, 0x9e, 0x80, 0xb4, 0xad, 0x7a, 0xfb, 0x84, 0x2e, 0xb3, 0x92, 0x14, - 0x12, 0x32, 0x79, 0xc6, 0x72, 0xd7, 0x56, 0x4d, 0x12, 0x02, 0x4c, 0x8e, 0x9f, 0xf1, 0xba, 0x1a, - 0x48, 0x6d, 0x91, 0xe3, 0x87, 0xd5, 0xed, 0x22, 0xd3, 0x73, 0xf9, 0xba, 0x32, 0xf9, 0x2a, 0x13, - 0x8b, 0x4f, 0xc2, 0x94, 0xe7, 0xa8, 0xba, 0xd1, 0x67, 0x9b, 0x26, 0xb6, 0x02, 0x57, 0xf8, 0xc6, - 0x15, 0x38, 0xc5, 0x79, 0x5b, 0xc8, 0x53, 0xb5, 0x7d, 0xd4, 0x0a, 0x40, 0x59, 0x72, 0xcd, 0x70, - 0x92, 0x19, 0xac, 0x31, 0x3d, 0xc7, 0xce, 0x7d, 0x2f, 0x01, 0x53, 0xfc, 0xc0, 0xd4, 0xf2, 0x9d, - 0xb5, 0x05, 0xa0, 0x9a, 0xa6, 0xe5, 0x85, 0xdd, 0x35, 0x18, 0xca, 0x03, 0xb8, 0x85, 0xaa, 0x0f, - 0x92, 0x43, 0x04, 0xb3, 0x5d, 0x80, 0x40, 0x73, 0xa4, 0xdb, 0x4e, 0x43, 0x81, 0x7d, 0xc2, 0x21, - 0xdf, 0x01, 0xe9, 0x11, 0x1b, 0xa8, 0x08, 0x9f, 0xac, 0xc4, 0x19, 0xc8, 0x34, 0x51, 0x47, 0x37, - 0xd9, 0xc5, 0x2c, 0x7d, 0xe0, 0x17, 0x21, 0x69, 0xff, 0x22, 0x64, 0xe5, 0x53, 0x30, 0xad, 0x59, - 0xdd, 0xe8, 0x70, 0x57, 0x84, 0xc8, 0x31, 0xdf, 0xbd, 0x96, 0x78, 0x09, 0x82, 0x16, 0xf3, 0xbd, - 0x44, 0xe2, 0x8b, 0xc9, 0xd4, 0xfa, 0xce, 0xca, 0x57, 0x92, 0xb3, 0xeb, 0x14, 0xba, 0xc3, 0x67, - 0x2a, 0xa3, 0xb6, 0x81, 0x34, 0x3c, 0x7a, 0xf8, 0xd2, 0x93, 0xf0, 0x54, 0x47, 0xf7, 0xf6, 0x7b, - 0xcd, 0x05, 0xcd, 0xea, 0x2e, 0x76, 0xac, 0x8e, 0x15, 0x7c, 0xfa, 0xc4, 0x4f, 0xe4, 0x81, 0xfc, - 0xc5, 0x3e, 0x7f, 0xe6, 0x7d, 0xe9, 0x6c, 0xec, 0xb7, 0xd2, 0xca, 0x36, 0x4c, 0x33, 0x63, 0x85, - 0x7c, 0x7f, 0xa1, 0xa7, 0x08, 0xf1, 0xbe, 0x77, 0x58, 0xd2, 0xd7, 0xde, 0x26, 0xe5, 0x5a, 0x9e, - 0x62, 0x50, 0xac, 0xa3, 0x07, 0x8d, 0x8a, 0x0c, 0x0f, 0xf4, 0xf1, 0xd1, 0xad, 0x89, 0x9c, 0x18, - 0xc6, 0xef, 0x30, 0xc6, 0xe9, 0x10, 0x63, 0x83, 0x41, 0x2b, 0xab, 0x30, 0x71, 0x1c, 0xae, 0x7f, - 0x66, 0x5c, 0x45, 0x14, 0x26, 0x59, 0x87, 0x49, 0x42, 0xa2, 0xf5, 0x5c, 0xcf, 0xea, 0x92, 0xbc, - 0x77, 0x7f, 0x9a, 0x7f, 0x79, 0x9b, 0xee, 0x95, 0x12, 0x86, 0xad, 0xfa, 0xa8, 0x4a, 0x05, 0xc8, - 0x27, 0xa7, 0x16, 0xd2, 0x8c, 0x18, 0x86, 0x37, 0xd9, 0x40, 0x7c, 0xfb, 0xca, 0x27, 0x61, 0x06, - 0xff, 0x4d, 0xd2, 0x52, 0x78, 0x24, 0xf1, 0x17, 0x5e, 0xd2, 0xf7, 0x5e, 0xa1, 0xdb, 0x71, 0xda, - 0x27, 0x08, 0x8d, 0x29, 0xb4, 0x8a, 0x1d, 0xe4, 0x79, 0xc8, 0x71, 0x15, 0xd5, 0x18, 0x36, 0xbc, - 0xd0, 0x8d, 0x81, 0xf4, 0xb9, 0x77, 0xfa, 0x57, 0x71, 0x9d, 0x22, 0xab, 0x86, 0x51, 0xd9, 0x83, - 0x93, 0x43, 0xa2, 0x62, 0x04, 0xce, 0x57, 0x19, 0xe7, 0xcc, 0x40, 0x64, 0x60, 0xda, 0x1d, 0xe0, - 0x72, 0x7f, 0x2d, 0x47, 0xe0, 0xfc, 0x23, 0xc6, 0x29, 0x32, 0x2c, 0x5f, 0x52, 0xcc, 0xf8, 0x1c, - 0x4c, 0xdd, 0x44, 0x4e, 0xd3, 0x72, 0xd9, 0x2d, 0xcd, 0x08, 0x74, 0xaf, 0x31, 0xba, 0x49, 0x06, - 0x24, 0xd7, 0x36, 0x98, 0xeb, 0x32, 0xe4, 0xda, 0xaa, 0x86, 0x46, 0xa0, 0xf8, 0x3c, 0xa3, 0x18, - 0xc7, 0xf6, 0x18, 0x5a, 0x85, 0x62, 0xc7, 0x62, 0x95, 0x29, 0x1e, 0xfe, 0x3a, 0x83, 0x17, 0x38, - 0x86, 0x51, 0xd8, 0x96, 0xdd, 0x33, 0x70, 0xd9, 0x8a, 0xa7, 0xf8, 0x63, 0x4e, 0xc1, 0x31, 0x8c, - 0xe2, 0x18, 0x6e, 0xfd, 0x13, 0x4e, 0xe1, 0x86, 0xfc, 0xf9, 0x2c, 0x14, 0x2c, 0xd3, 0x38, 0xb0, - 0xcc, 0x51, 0x06, 0xf1, 0x05, 0xc6, 0x00, 0x0c, 0x82, 0x09, 0xae, 0x40, 0x7e, 0xd4, 0x85, 0xf8, - 0xb3, 0x77, 0xf8, 0xf6, 0xe0, 0x2b, 0xb0, 0x0e, 0x93, 0x3c, 0x41, 0xe9, 0x96, 0x39, 0x02, 0xc5, - 0x97, 0x18, 0x45, 0x29, 0x04, 0x63, 0xd3, 0xf0, 0x90, 0xeb, 0x75, 0xd0, 0x28, 0x24, 0x6f, 0xf0, - 0x69, 0x30, 0x08, 0x73, 0x65, 0x13, 0x99, 0xda, 0xfe, 0x68, 0x0c, 0x5f, 0xe6, 0xae, 0xe4, 0x18, - 0x4c, 0xb1, 0x0a, 0x13, 0x5d, 0xd5, 0x71, 0xf7, 0x55, 0x63, 0xa4, 0xe5, 0xf8, 0x73, 0xc6, 0x51, - 0xf4, 0x41, 0xcc, 0x23, 0x3d, 0xf3, 0x38, 0x34, 0x5f, 0xe1, 0x1e, 0x09, 0xc1, 0xd8, 0xd6, 0x73, - 0x3d, 0x72, 0xa5, 0x75, 0x1c, 0xb6, 0xbf, 0xe0, 0x5b, 0x8f, 0x62, 0xb7, 0xc2, 0x8c, 0x57, 0x20, - 0xef, 0xea, 0xb7, 0x47, 0xa2, 0xf9, 0x4b, 0xbe, 0xd2, 0x04, 0x80, 0xc1, 0x2f, 0xc2, 0xa9, 0xa1, - 0x65, 0x62, 0x04, 0xb2, 0xbf, 0x62, 0x64, 0x27, 0x86, 0x94, 0x0a, 0x96, 0x12, 0x8e, 0x4b, 0xf9, - 0xd7, 0x3c, 0x25, 0xa0, 0x08, 0xd7, 0x0e, 0x3e, 0x2b, 0xb8, 0x6a, 0xfb, 0x78, 0x5e, 0xfb, 0x1b, - 0xee, 0x35, 0x8a, 0xed, 0xf3, 0xda, 0x2e, 0x9c, 0x60, 0x8c, 0xc7, 0x5b, 0xd7, 0xaf, 0xf2, 0xc4, - 0x4a, 0xd1, 0x7b, 0xfd, 0xab, 0xfb, 0x29, 0x98, 0xf5, 0xdd, 0xc9, 0x9b, 0x52, 0x57, 0xe9, 0xaa, - 0xf6, 0x08, 0xcc, 0x5f, 0x63, 0xcc, 0x3c, 0xe3, 0xfb, 0x5d, 0xad, 0xbb, 0xa5, 0xda, 0x98, 0xfc, - 0x05, 0x90, 0x38, 0x79, 0xcf, 0x74, 0x90, 0x66, 0x75, 0x4c, 0xfd, 0x36, 0x6a, 0x8d, 0x40, 0xfd, - 0xb7, 0x91, 0xa5, 0xda, 0x0b, 0xc1, 0x31, 0xf3, 0x06, 0x08, 0x7e, 0xaf, 0xa2, 0xe8, 0x5d, 0xdb, - 0x72, 0xbc, 0x18, 0xc6, 0xaf, 0xf3, 0x95, 0xf2, 0x71, 0x1b, 0x04, 0x56, 0xa9, 0x41, 0x89, 0x3c, - 0x8e, 0x1a, 0x92, 0x7f, 0xc7, 0x88, 0x26, 0x02, 0x14, 0x4b, 0x1c, 0x9a, 0xd5, 0xb5, 0x55, 0x67, - 0x94, 0xfc, 0xf7, 0xf7, 0x3c, 0x71, 0x30, 0x08, 0x4b, 0x1c, 0xde, 0x81, 0x8d, 0x70, 0xb5, 0x1f, - 0x81, 0xe1, 0x1b, 0x3c, 0x71, 0x70, 0x0c, 0xa3, 0xe0, 0x0d, 0xc3, 0x08, 0x14, 0xff, 0xc0, 0x29, - 0x38, 0x06, 0x53, 0x7c, 0x22, 0x28, 0xb4, 0x0e, 0xea, 0xe8, 0xae, 0xe7, 0xd0, 0x56, 0xf8, 0xfe, - 0x54, 0xdf, 0x7c, 0xa7, 0xbf, 0x09, 0x93, 0x43, 0x50, 0x9c, 0x89, 0xd8, 0x15, 0x2a, 0x39, 0x29, - 0xc5, 0x0f, 0xec, 0x5b, 0x3c, 0x13, 0x85, 0x60, 0x78, 0x6c, 0xa1, 0x0e, 0x11, 0xbb, 0x5d, 0xc3, - 0xe7, 0x83, 0x11, 0xe8, 0xbe, 0x1d, 0x19, 0x5c, 0x83, 0x63, 0x31, 0x67, 0xa8, 0xff, 0xe9, 0x99, - 0x37, 0xd0, 0xc1, 0x48, 0xd1, 0xf9, 0x8f, 0x91, 0xfe, 0x67, 0x8f, 0x22, 0x69, 0x0e, 0x99, 0x8c, - 0xf4, 0x53, 0x62, 0xdc, 0x8f, 0x75, 0xa4, 0x5f, 0xba, 0xc7, 0xe6, 0xdb, 0xdf, 0x4e, 0x55, 0x36, - 0x71, 0x90, 0xf7, 0x37, 0x3d, 0xf1, 0x64, 0xaf, 0xdc, 0xf3, 0xe3, 0xbc, 0xaf, 0xe7, 0xa9, 0x5c, - 0x85, 0x89, 0xbe, 0x86, 0x27, 0x9e, 0xea, 0x97, 0x19, 0x55, 0x31, 0xdc, 0xef, 0x54, 0x96, 0x21, - 0x8d, 0x9b, 0x97, 0x78, 0xf8, 0xaf, 0x30, 0x38, 0x31, 0xaf, 0x7c, 0x0c, 0x72, 0xbc, 0x69, 0x89, - 0x87, 0xfe, 0x2a, 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x0d, 0x4b, 0x3c, 0xfc, 0xd7, 0x38, 0x9c, 0x43, - 0x30, 0x7c, 0x74, 0x17, 0xfe, 0xd3, 0xaf, 0xa7, 0x59, 0xd1, 0xe1, 0xbe, 0xbb, 0x02, 0xe3, 0xac, - 0x53, 0x89, 0x47, 0x7f, 0x86, 0xbd, 0x9c, 0x23, 0x2a, 0x17, 0x21, 0x33, 0xa2, 0xc3, 0x7f, 0x83, - 0x41, 0xa9, 0x7d, 0x65, 0x15, 0x0a, 0xa1, 0xee, 0x24, 0x1e, 0xfe, 0x9b, 0x0c, 0x1e, 0x46, 0xe1, - 0xa1, 0xb3, 0xee, 0x24, 0x9e, 0xe0, 0xb7, 0xf8, 0xd0, 0x19, 0x02, 0xbb, 0x8d, 0x37, 0x26, 0xf1, - 0xe8, 0xdf, 0xe6, 0x5e, 0xe7, 0x90, 0xca, 0xb3, 0x90, 0xf7, 0x8b, 0x4d, 0x3c, 0xfe, 0x77, 0x18, - 0x3e, 0xc0, 0x60, 0x0f, 0x84, 0x8a, 0x5d, 0x3c, 0xc5, 0xef, 0x72, 0x0f, 0x84, 0x50, 0x78, 0x1b, - 0x45, 0x1b, 0x98, 0x78, 0xa6, 0xdf, 0xe3, 0xdb, 0x28, 0xd2, 0xbf, 0xe0, 0xd5, 0x24, 0x39, 0x3f, - 0x9e, 0xe2, 0xf7, 0xf9, 0x6a, 0x12, 0x7b, 0x3c, 0x8c, 0x68, 0x47, 0x10, 0xcf, 0xf1, 0x87, 0x7c, - 0x18, 0x91, 0x86, 0xa0, 0xb2, 0x03, 0xe2, 0x60, 0x37, 0x10, 0xcf, 0xf7, 0x59, 0xc6, 0x37, 0x35, - 0xd0, 0x0c, 0x54, 0x9e, 0x87, 0x13, 0xc3, 0x3b, 0x81, 0x78, 0xd6, 0xcf, 0xdd, 0x8b, 0x9c, 0xdd, - 0xc2, 0x8d, 0x40, 0x65, 0x37, 0x28, 0x29, 0xe1, 0x2e, 0x20, 0x9e, 0xf6, 0xd5, 0x7b, 0xfd, 0x89, - 0x3b, 0xdc, 0x04, 0x54, 0xaa, 0x00, 0x41, 0x01, 0x8e, 0xe7, 0x7a, 0x8d, 0x71, 0x85, 0x40, 0x78, - 0x6b, 0xb0, 0xfa, 0x1b, 0x8f, 0xff, 0x3c, 0xdf, 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, 0xf1, - 0xe8, 0xd7, 0xf9, 0xd6, 0xe0, 0x10, 0x1c, 0xd9, 0xa1, 0xea, 0x16, 0xcf, 0xf0, 0x05, 0x1e, 0xd9, - 0x21, 0x54, 0x65, 0x1b, 0xa6, 0x06, 0x0a, 0x62, 0x3c, 0xd5, 0x17, 0x19, 0x95, 0x10, 0xad, 0x87, - 0xe1, 0xe2, 0xc5, 0x8a, 0x61, 0x3c, 0xdb, 0x9f, 0x46, 0x8a, 0x17, 0xab, 0x85, 0x95, 0x2b, 0x90, - 0x33, 0x7b, 0x86, 0x81, 0x37, 0x8f, 0x78, 0xff, 0x1f, 0xd8, 0x49, 0xff, 0xf1, 0x3e, 0xf3, 0x0e, - 0x07, 0x54, 0x96, 0x21, 0x83, 0xba, 0x4d, 0xd4, 0x8a, 0x43, 0xfe, 0xe7, 0xfb, 0x3c, 0x61, 0x62, - 0xeb, 0xca, 0xb3, 0x00, 0xf4, 0x6a, 0x84, 0x7c, 0xf6, 0x8b, 0xc1, 0xfe, 0xd7, 0xfb, 0xec, 0xa7, - 0x2f, 0x01, 0x24, 0x20, 0xa0, 0x3f, 0xa4, 0xb9, 0x3f, 0xc1, 0x3b, 0xfd, 0x04, 0x64, 0x45, 0x2e, - 0xc3, 0xf8, 0x75, 0xd7, 0x32, 0x3d, 0xb5, 0x13, 0x87, 0xfe, 0x6f, 0x86, 0xe6, 0xf6, 0xd8, 0x61, - 0x5d, 0xcb, 0x41, 0x9e, 0xda, 0x71, 0xe3, 0xb0, 0xff, 0xc3, 0xb0, 0x3e, 0x00, 0x83, 0x35, 0xd5, - 0xf5, 0x46, 0x99, 0xf7, 0x8f, 0x38, 0x98, 0x03, 0xf0, 0xa0, 0xf1, 0xdf, 0x37, 0xd0, 0x41, 0x1c, - 0xf6, 0x5d, 0x3e, 0x68, 0x66, 0x5f, 0xf9, 0x18, 0xe4, 0xf1, 0x9f, 0xf4, 0xf7, 0x6c, 0x31, 0xe0, - 0xff, 0x65, 0xe0, 0x00, 0x81, 0xdf, 0xec, 0x7a, 0x2d, 0x4f, 0x8f, 0x77, 0xf6, 0xff, 0xb1, 0x95, - 0xe6, 0xf6, 0x95, 0x2a, 0x14, 0x5c, 0xaf, 0xd5, 0xea, 0xb1, 0xfe, 0x34, 0x06, 0xfe, 0xff, 0xef, - 0xfb, 0x57, 0x16, 0x3e, 0x06, 0xaf, 0xf6, 0xad, 0x1b, 0x9e, 0x6d, 0x91, 0xcf, 0x1c, 0x71, 0x0c, - 0xf7, 0x18, 0x43, 0x08, 0xb2, 0x52, 0x1b, 0x7e, 0x7d, 0x0b, 0xeb, 0xd6, 0xba, 0x45, 0x2f, 0x6e, - 0x5f, 0x9a, 0x8b, 0xbf, 0x81, 0x85, 0x3f, 0xc8, 0x80, 0xa4, 0x59, 0xdd, 0xa6, 0xe5, 0x2e, 0x9a, - 0x48, 0xf7, 0xf6, 0x91, 0xb3, 0x68, 0x99, 0x8c, 0x4f, 0x4c, 0x59, 0x26, 0x9a, 0x3d, 0xde, 0x3d, - 0xee, 0xdc, 0x29, 0xc8, 0x34, 0x7a, 0xcd, 0xe6, 0x81, 0x28, 0x40, 0xca, 0xed, 0x35, 0xd9, 0x6f, - 0xa2, 0xf0, 0x9f, 0x73, 0xdf, 0x4f, 0x41, 0xa1, 0xa1, 0x76, 0x6d, 0x03, 0xd5, 0x4d, 0x54, 0x6f, - 0x8b, 0x12, 0x64, 0xc9, 0x34, 0x9f, 0x21, 0x46, 0x89, 0x6b, 0x63, 0x32, 0x7b, 0xf6, 0x35, 0x4b, - 0xe4, 0x7e, 0x3b, 0xe9, 0x6b, 0x96, 0x7c, 0xcd, 0x39, 0x7a, 0xbd, 0xed, 0x6b, 0xce, 0xf9, 0x9a, - 0xf3, 0xe4, 0x92, 0x3b, 0xe5, 0x6b, 0xce, 0xfb, 0x9a, 0x65, 0xf2, 0x11, 0x67, 0xc2, 0xd7, 0x2c, - 0xfb, 0x9a, 0x0b, 0xe4, 0xb3, 0x4d, 0xda, 0xd7, 0x5c, 0xf0, 0x35, 0x17, 0xc9, 0xd7, 0x9a, 0x29, - 0x5f, 0x73, 0xd1, 0xd7, 0x5c, 0x22, 0x5f, 0x68, 0x44, 0x5f, 0x73, 0xc9, 0xd7, 0x5c, 0x26, 0x3f, - 0x7d, 0x1a, 0xf7, 0x35, 0x97, 0xc5, 0x59, 0x18, 0xa7, 0x33, 0x7b, 0x9a, 0x7c, 0xc6, 0x9f, 0xbc, - 0x36, 0x26, 0x73, 0x41, 0xa0, 0x7b, 0x86, 0xfc, 0xbc, 0x29, 0x1b, 0xe8, 0x9e, 0x09, 0x74, 0x4b, - 0xe4, 0x7f, 0x59, 0x08, 0x81, 0x6e, 0x29, 0xd0, 0x9d, 0x93, 0x26, 0x70, 0x74, 0x04, 0xba, 0x73, - 0x81, 0xee, 0xbc, 0x54, 0xc2, 0xfe, 0x0f, 0x74, 0xe7, 0x03, 0xdd, 0xb2, 0x34, 0x79, 0x26, 0x31, - 0x5f, 0x0c, 0x74, 0xcb, 0xe2, 0x53, 0x50, 0x70, 0x7b, 0x4d, 0x85, 0xe5, 0x79, 0xf2, 0x33, 0xaa, - 0xc2, 0x12, 0x2c, 0xe0, 0x88, 0x20, 0x8b, 0x7a, 0x6d, 0x4c, 0x06, 0xb7, 0xd7, 0x64, 0x69, 0x78, - 0xa5, 0x08, 0xe4, 0xf6, 0x49, 0x21, 0xbf, 0x7e, 0x5e, 0x59, 0x7b, 0xf3, 0x6e, 0x79, 0xec, 0xbb, - 0x77, 0xcb, 0x63, 0xff, 0x76, 0xb7, 0x3c, 0xf6, 0xd6, 0xdd, 0x72, 0xe2, 0xdd, 0xbb, 0xe5, 0xc4, - 0x7b, 0x77, 0xcb, 0x89, 0x3b, 0x87, 0xe5, 0xc4, 0x97, 0x0f, 0xcb, 0x89, 0xaf, 0x1e, 0x96, 0x13, - 0xdf, 0x3c, 0x2c, 0x27, 0xde, 0x3c, 0x2c, 0x8f, 0x7d, 0xf7, 0xb0, 0x3c, 0xf6, 0xd6, 0x61, 0x39, - 0xf1, 0xc3, 0xc3, 0xf2, 0xd8, 0xbb, 0x87, 0xe5, 0xc4, 0x7b, 0x87, 0xe5, 0xb1, 0x3b, 0x3f, 0x28, - 0x8f, 0x35, 0xb3, 0x24, 0x8c, 0xce, 0xfd, 0x38, 0x00, 0x00, 0xff, 0xff, 0x9b, 0x57, 0xc6, 0xb3, - 0x34, 0x35, 0x00, 0x00, + // 4118 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xe7, + 0x75, 0x26, 0xae, 0x04, 0x0e, 0x40, 0x70, 0xb9, 0xa4, 0x25, 0x88, 0x8e, 0x21, 0x89, 0xb6, 0x63, + 0xda, 0x8e, 0x29, 0x9b, 0x22, 0x75, 0x81, 0x9a, 0xb8, 0x20, 0x09, 0x51, 0x74, 0x49, 0x82, 0x59, + 0x90, 0xf1, 0x25, 0xd3, 0xd9, 0x59, 0x2c, 0x7e, 0x80, 0x2b, 0x2d, 0x76, 0x37, 0xbb, 0x0b, 0xc9, + 0xd4, 0xf4, 0x41, 0x1d, 0xf7, 0x32, 0x99, 0xde, 0x2f, 0xd3, 0x26, 0xae, 0xe3, 0x36, 0xe9, 0x34, + 0x4e, 0xd3, 0x5b, 0xd2, 0x4b, 0x9a, 0xa4, 0x2f, 0x7d, 0x49, 0xeb, 0xa7, 0x4e, 0xf2, 0xd6, 0x87, + 0x3c, 0x58, 0x8c, 0x67, 0x9a, 0xb6, 0x6e, 0xeb, 0xb6, 0x7a, 0xf0, 0x8c, 0x5f, 0x32, 0xff, 0x6d, + 0x6f, 0x00, 0xb5, 0x60, 0x66, 0xec, 0x3c, 0x89, 0x7b, 0xce, 0xf9, 0xbe, 0x3d, 0xff, 0xf9, 0xcf, + 0xff, 0x9f, 0xf3, 0xff, 0x0b, 0xc1, 0x9b, 0x55, 0x38, 0xd3, 0x35, 0xcd, 0xae, 0x8e, 0xce, 0x59, + 0xb6, 0xe9, 0x9a, 0xad, 0x7e, 0xe7, 0x5c, 0x1b, 0x39, 0xaa, 0xad, 0x59, 0xae, 0x69, 0x2f, 0x10, + 0x99, 0x38, 0x49, 0x2d, 0x16, 0xb8, 0xc5, 0xdc, 0x16, 0x4c, 0x5d, 0xd5, 0x74, 0xb4, 0xe6, 0x19, + 0x36, 0x91, 0x2b, 0x5e, 0x82, 0x74, 0x47, 0xd3, 0x51, 0x39, 0x71, 0x26, 0x35, 0x5f, 0x58, 0x7c, + 0x64, 0x21, 0x02, 0x5a, 0x08, 0x23, 0x76, 0xb0, 0x58, 0x22, 0x88, 0xb9, 0xb7, 0xd3, 0x30, 0x3d, + 0x44, 0x2b, 0x8a, 0x90, 0x36, 0x94, 0x1e, 0x66, 0x4c, 0xcc, 0xe7, 0x25, 0xf2, 0xb7, 0x58, 0x86, + 0x71, 0x4b, 0x51, 0x6f, 0x28, 0x5d, 0x54, 0x4e, 0x12, 0x31, 0x7f, 0x14, 0x2b, 0x00, 0x6d, 0x64, + 0x21, 0xa3, 0x8d, 0x0c, 0xf5, 0xa0, 0x9c, 0x3a, 0x93, 0x9a, 0xcf, 0x4b, 0x01, 0x89, 0xf8, 0x24, + 0x4c, 0x59, 0xfd, 0x96, 0xae, 0xa9, 0x72, 0xc0, 0x0c, 0xce, 0xa4, 0xe6, 0x33, 0x92, 0x40, 0x15, + 0x6b, 0xbe, 0xf1, 0x63, 0x30, 0x79, 0x0b, 0x29, 0x37, 0x82, 0xa6, 0x05, 0x62, 0x5a, 0xc2, 0xe2, + 0x80, 0xe1, 0x2a, 0x14, 0x7b, 0xc8, 0x71, 0x94, 0x2e, 0x92, 0xdd, 0x03, 0x0b, 0x95, 0xd3, 0x64, + 0xf4, 0x67, 0x06, 0x46, 0x1f, 0x1d, 0x79, 0x81, 0xa1, 0x76, 0x0f, 0x2c, 0x24, 0xd6, 0x20, 0x8f, + 0x8c, 0x7e, 0x8f, 0x32, 0x64, 0x8e, 0x88, 0x5f, 0xdd, 0xe8, 0xf7, 0xa2, 0x2c, 0x39, 0x0c, 0x63, + 0x14, 0xe3, 0x0e, 0xb2, 0x6f, 0x6a, 0x2a, 0x2a, 0x67, 0x09, 0xc1, 0x63, 0x03, 0x04, 0x4d, 0xaa, + 0x8f, 0x72, 0x70, 0x9c, 0xb8, 0x0a, 0x79, 0xf4, 0xb2, 0x8b, 0x0c, 0x47, 0x33, 0x8d, 0xf2, 0x38, + 0x21, 0x79, 0x74, 0xc8, 0x2c, 0x22, 0xbd, 0x1d, 0xa5, 0xf0, 0x71, 0xe2, 0x05, 0x18, 0x37, 0x2d, + 0x57, 0x33, 0x0d, 0xa7, 0x9c, 0x3b, 0x93, 0x98, 0x2f, 0x2c, 0x7e, 0x64, 0x68, 0x22, 0x34, 0xa8, + 0x8d, 0xc4, 0x8d, 0xc5, 0x0d, 0x10, 0x1c, 0xb3, 0x6f, 0xab, 0x48, 0x56, 0xcd, 0x36, 0x92, 0x35, + 0xa3, 0x63, 0x96, 0xf3, 0x84, 0xe0, 0xf4, 0xe0, 0x40, 0x88, 0xe1, 0xaa, 0xd9, 0x46, 0x1b, 0x46, + 0xc7, 0x94, 0x4a, 0x4e, 0xe8, 0x59, 0x3c, 0x01, 0x59, 0xe7, 0xc0, 0x70, 0x95, 0x97, 0xcb, 0x45, + 0x92, 0x21, 0xec, 0x69, 0xee, 0x5b, 0x59, 0x98, 0x1c, 0x25, 0xc5, 0xae, 0x40, 0xa6, 0x83, 0x47, + 0x59, 0x4e, 0x1e, 0x27, 0x06, 0x14, 0x13, 0x0e, 0x62, 0xf6, 0xc7, 0x0c, 0x62, 0x0d, 0x0a, 0x06, + 0x72, 0x5c, 0xd4, 0xa6, 0x19, 0x91, 0x1a, 0x31, 0xa7, 0x80, 0x82, 0x06, 0x53, 0x2a, 0xfd, 0x63, + 0xa5, 0xd4, 0x0b, 0x30, 0xe9, 0xb9, 0x24, 0xdb, 0x8a, 0xd1, 0xe5, 0xb9, 0x79, 0x2e, 0xce, 0x93, + 0x85, 0x3a, 0xc7, 0x49, 0x18, 0x26, 0x95, 0x50, 0xe8, 0x59, 0x5c, 0x03, 0x30, 0x0d, 0x64, 0x76, + 0xe4, 0x36, 0x52, 0xf5, 0x72, 0xee, 0x88, 0x28, 0x35, 0xb0, 0xc9, 0x40, 0x94, 0x4c, 0x2a, 0x55, + 0x75, 0xf1, 0xb2, 0x9f, 0x6a, 0xe3, 0x47, 0x64, 0xca, 0x16, 0x5d, 0x64, 0x03, 0xd9, 0xb6, 0x07, + 0x25, 0x1b, 0xe1, 0xbc, 0x47, 0x6d, 0x36, 0xb2, 0x3c, 0x71, 0x62, 0x21, 0x76, 0x64, 0x12, 0x83, + 0xd1, 0x81, 0x4d, 0xd8, 0xc1, 0x47, 0xf1, 0x61, 0xf0, 0x04, 0x32, 0x49, 0x2b, 0x20, 0xbb, 0x50, + 0x91, 0x0b, 0xb7, 0x95, 0x1e, 0x9a, 0xbd, 0x0d, 0xa5, 0x70, 0x78, 0xc4, 0x19, 0xc8, 0x38, 0xae, + 0x62, 0xbb, 0x24, 0x0b, 0x33, 0x12, 0x7d, 0x10, 0x05, 0x48, 0x21, 0xa3, 0x4d, 0x76, 0xb9, 0x8c, + 0x84, 0xff, 0x14, 0x7f, 0xda, 0x1f, 0x70, 0x8a, 0x0c, 0xf8, 0xa3, 0x83, 0x33, 0x1a, 0x62, 0x8e, + 0x8e, 0x7b, 0xf6, 0x22, 0x4c, 0x84, 0x06, 0x30, 0xea, 0xab, 0xe7, 0x7e, 0x0e, 0x1e, 0x18, 0x4a, + 0x2d, 0xbe, 0x00, 0x33, 0x7d, 0x43, 0x33, 0x5c, 0x64, 0x5b, 0x36, 0xc2, 0x19, 0x4b, 0x5f, 0x55, + 0xfe, 0xb7, 0xf1, 0x23, 0x72, 0x6e, 0x2f, 0x68, 0x4d, 0x59, 0xa4, 0xe9, 0xfe, 0xa0, 0xf0, 0x89, + 0x7c, 0xee, 0x87, 0xe3, 0xc2, 0x9d, 0x3b, 0x77, 0xee, 0x24, 0xe7, 0x3e, 0x97, 0x85, 0x99, 0x61, + 0x6b, 0x66, 0xe8, 0xf2, 0x3d, 0x01, 0x59, 0xa3, 0xdf, 0x6b, 0x21, 0x9b, 0x04, 0x29, 0x23, 0xb1, + 0x27, 0xb1, 0x06, 0x19, 0x5d, 0x69, 0x21, 0xbd, 0x9c, 0x3e, 0x93, 0x98, 0x2f, 0x2d, 0x3e, 0x39, + 0xd2, 0xaa, 0x5c, 0xd8, 0xc4, 0x10, 0x89, 0x22, 0xc5, 0x4f, 0x40, 0x9a, 0x6d, 0xd1, 0x98, 0xe1, + 0x89, 0xd1, 0x18, 0xf0, 0x5a, 0x92, 0x08, 0x4e, 0x7c, 0x10, 0xf2, 0xf8, 0x5f, 0x9a, 0x1b, 0x59, + 0xe2, 0x73, 0x0e, 0x0b, 0x70, 0x5e, 0x88, 0xb3, 0x90, 0x23, 0xcb, 0xa4, 0x8d, 0x78, 0x69, 0xf3, + 0x9e, 0x71, 0x62, 0xb5, 0x51, 0x47, 0xe9, 0xeb, 0xae, 0x7c, 0x53, 0xd1, 0xfb, 0x88, 0x24, 0x7c, + 0x5e, 0x2a, 0x32, 0xe1, 0xa7, 0xb0, 0x4c, 0x3c, 0x0d, 0x05, 0xba, 0xaa, 0x34, 0xa3, 0x8d, 0x5e, + 0x26, 0xbb, 0x67, 0x46, 0xa2, 0x0b, 0x6d, 0x03, 0x4b, 0xf0, 0xeb, 0xaf, 0x3b, 0xa6, 0xc1, 0x53, + 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x2f, 0x46, 0x37, 0xee, 0x87, 0x86, 0x0f, 0x2f, 0x9a, 0x53, + 0x73, 0xdf, 0x48, 0x42, 0x9a, 0xec, 0x17, 0x93, 0x50, 0xd8, 0x7d, 0x71, 0xa7, 0x2e, 0xaf, 0x35, + 0xf6, 0x56, 0x36, 0xeb, 0x42, 0x42, 0x2c, 0x01, 0x10, 0xc1, 0xd5, 0xcd, 0x46, 0x6d, 0x57, 0x48, + 0x7a, 0xcf, 0x1b, 0xdb, 0xbb, 0x17, 0x96, 0x84, 0x94, 0x07, 0xd8, 0xa3, 0x82, 0x74, 0xd0, 0xe0, + 0xfc, 0xa2, 0x90, 0x11, 0x05, 0x28, 0x52, 0x82, 0x8d, 0x17, 0xea, 0x6b, 0x17, 0x96, 0x84, 0x6c, + 0x58, 0x72, 0x7e, 0x51, 0x18, 0x17, 0x27, 0x20, 0x4f, 0x24, 0x2b, 0x8d, 0xc6, 0xa6, 0x90, 0xf3, + 0x38, 0x9b, 0xbb, 0xd2, 0xc6, 0xf6, 0xba, 0x90, 0xf7, 0x38, 0xd7, 0xa5, 0xc6, 0xde, 0x8e, 0x00, + 0x1e, 0xc3, 0x56, 0xbd, 0xd9, 0xac, 0xad, 0xd7, 0x85, 0x82, 0x67, 0xb1, 0xf2, 0xe2, 0x6e, 0xbd, + 0x29, 0x14, 0x43, 0x6e, 0x9d, 0x5f, 0x14, 0x26, 0xbc, 0x57, 0xd4, 0xb7, 0xf7, 0xb6, 0x84, 0x92, + 0x38, 0x05, 0x13, 0xf4, 0x15, 0xdc, 0x89, 0xc9, 0x88, 0xe8, 0xc2, 0x92, 0x20, 0xf8, 0x8e, 0x50, + 0x96, 0xa9, 0x90, 0xe0, 0xc2, 0x92, 0x20, 0xce, 0xad, 0x42, 0x86, 0x64, 0x97, 0x28, 0x42, 0x69, + 0xb3, 0xb6, 0x52, 0xdf, 0x94, 0x1b, 0x3b, 0xbb, 0x1b, 0x8d, 0xed, 0xda, 0xa6, 0x90, 0xf0, 0x65, + 0x52, 0xfd, 0x93, 0x7b, 0x1b, 0x52, 0x7d, 0x4d, 0x48, 0x06, 0x65, 0x3b, 0xf5, 0xda, 0x6e, 0x7d, + 0x4d, 0x48, 0xcd, 0xa9, 0x30, 0x33, 0x6c, 0x9f, 0x1c, 0xba, 0x32, 0x02, 0x53, 0x9c, 0x3c, 0x62, + 0x8a, 0x09, 0xd7, 0xc0, 0x14, 0xff, 0x20, 0x09, 0xd3, 0x43, 0x6a, 0xc5, 0xd0, 0x97, 0x3c, 0x0b, + 0x19, 0x9a, 0xa2, 0xb4, 0x7a, 0x3e, 0x3e, 0xb4, 0xe8, 0x90, 0x84, 0x1d, 0xa8, 0xa0, 0x04, 0x17, + 0xec, 0x20, 0x52, 0x47, 0x74, 0x10, 0x98, 0x62, 0x60, 0x4f, 0xff, 0xd9, 0x81, 0x3d, 0x9d, 0x96, + 0xbd, 0x0b, 0xa3, 0x94, 0x3d, 0x22, 0x3b, 0xde, 0xde, 0x9e, 0x19, 0xb2, 0xb7, 0x5f, 0x81, 0xa9, + 0x01, 0xa2, 0x91, 0xf7, 0xd8, 0x57, 0x12, 0x50, 0x3e, 0x2a, 0x38, 0x31, 0x3b, 0x5d, 0x32, 0xb4, + 0xd3, 0x5d, 0x89, 0x46, 0xf0, 0xec, 0xd1, 0x93, 0x30, 0x30, 0xd7, 0x6f, 0x24, 0xe0, 0xc4, 0xf0, + 0x4e, 0x71, 0xa8, 0x0f, 0x9f, 0x80, 0x6c, 0x0f, 0xb9, 0xfb, 0x26, 0xef, 0x96, 0x3e, 0x3a, 0xa4, + 0x06, 0x63, 0x75, 0x74, 0xb2, 0x19, 0x2a, 0x58, 0xc4, 0x53, 0x47, 0xb5, 0x7b, 0xd4, 0x9b, 0x01, + 0x4f, 0x3f, 0x9b, 0x84, 0x07, 0x86, 0x92, 0x0f, 0x75, 0xf4, 0x21, 0x00, 0xcd, 0xb0, 0xfa, 0x2e, + 0xed, 0x88, 0xe8, 0x06, 0x9b, 0x27, 0x12, 0xb2, 0x79, 0xe1, 0xcd, 0xb3, 0xef, 0x7a, 0xfa, 0x14, + 0xd1, 0x03, 0x15, 0x11, 0x83, 0x4b, 0xbe, 0xa3, 0x69, 0xe2, 0x68, 0xe5, 0x88, 0x91, 0x0e, 0x24, + 0xe6, 0xd3, 0x20, 0xa8, 0xba, 0x86, 0x0c, 0x57, 0x76, 0x5c, 0x1b, 0x29, 0x3d, 0xcd, 0xe8, 0x92, + 0x0a, 0x92, 0xab, 0x66, 0x3a, 0x8a, 0xee, 0x20, 0x69, 0x92, 0xaa, 0x9b, 0x5c, 0x8b, 0x11, 0x24, + 0x81, 0xec, 0x00, 0x22, 0x1b, 0x42, 0x50, 0xb5, 0x87, 0x98, 0xfb, 0xd5, 0x3c, 0x14, 0x02, 0x7d, + 0xb5, 0x78, 0x16, 0x8a, 0xd7, 0x95, 0x9b, 0x8a, 0xcc, 0xcf, 0x4a, 0x34, 0x12, 0x05, 0x2c, 0xdb, + 0x61, 0xe7, 0xa5, 0xa7, 0x61, 0x86, 0x98, 0x98, 0x7d, 0x17, 0xd9, 0xb2, 0xaa, 0x2b, 0x8e, 0x43, + 0x82, 0x96, 0x23, 0xa6, 0x22, 0xd6, 0x35, 0xb0, 0x6a, 0x95, 0x6b, 0xc4, 0x65, 0x98, 0x26, 0x88, + 0x5e, 0x5f, 0x77, 0x35, 0x4b, 0x47, 0x32, 0x3e, 0xbd, 0x39, 0xa4, 0x92, 0x78, 0x9e, 0x4d, 0x61, + 0x8b, 0x2d, 0x66, 0x80, 0x3d, 0x72, 0xc4, 0x35, 0x78, 0x88, 0xc0, 0xba, 0xc8, 0x40, 0xb6, 0xe2, + 0x22, 0x19, 0x7d, 0xa6, 0xaf, 0xe8, 0x8e, 0xac, 0x18, 0x6d, 0x79, 0x5f, 0x71, 0xf6, 0xcb, 0x33, + 0x98, 0x60, 0x25, 0x59, 0x4e, 0x48, 0xa7, 0xb0, 0xe1, 0x3a, 0xb3, 0xab, 0x13, 0xb3, 0x9a, 0xd1, + 0xbe, 0xa6, 0x38, 0xfb, 0x62, 0x15, 0x4e, 0x10, 0x16, 0xc7, 0xb5, 0x35, 0xa3, 0x2b, 0xab, 0xfb, + 0x48, 0xbd, 0x21, 0xf7, 0xdd, 0xce, 0xa5, 0xf2, 0x83, 0xc1, 0xf7, 0x13, 0x0f, 0x9b, 0xc4, 0x66, + 0x15, 0x9b, 0xec, 0xb9, 0x9d, 0x4b, 0x62, 0x13, 0x8a, 0x78, 0x32, 0x7a, 0xda, 0x6d, 0x24, 0x77, + 0x4c, 0x9b, 0x94, 0xc6, 0xd2, 0x90, 0xad, 0x29, 0x10, 0xc1, 0x85, 0x06, 0x03, 0x6c, 0x99, 0x6d, + 0x54, 0xcd, 0x34, 0x77, 0xea, 0xf5, 0x35, 0xa9, 0xc0, 0x59, 0xae, 0x9a, 0x36, 0x4e, 0xa8, 0xae, + 0xe9, 0x05, 0xb8, 0x40, 0x13, 0xaa, 0x6b, 0xf2, 0xf0, 0x2e, 0xc3, 0xb4, 0xaa, 0xd2, 0x31, 0x6b, + 0xaa, 0xcc, 0xce, 0x58, 0x4e, 0x59, 0x08, 0x05, 0x4b, 0x55, 0xd7, 0xa9, 0x01, 0xcb, 0x71, 0x47, + 0xbc, 0x0c, 0x0f, 0xf8, 0xc1, 0x0a, 0x02, 0xa7, 0x06, 0x46, 0x19, 0x85, 0x2e, 0xc3, 0xb4, 0x75, + 0x30, 0x08, 0x14, 0x43, 0x6f, 0xb4, 0x0e, 0xa2, 0xb0, 0x8b, 0x30, 0x63, 0xed, 0x5b, 0x83, 0xb8, + 0x27, 0x82, 0x38, 0xd1, 0xda, 0xb7, 0xa2, 0xc0, 0x47, 0xc9, 0x81, 0xdb, 0x46, 0xaa, 0xe2, 0xa2, + 0x76, 0xf9, 0x64, 0xd0, 0x3c, 0xa0, 0x10, 0xcf, 0x81, 0xa0, 0xaa, 0x32, 0x32, 0x94, 0x96, 0x8e, + 0x64, 0xc5, 0x46, 0x86, 0xe2, 0x94, 0x4f, 0x07, 0x8d, 0x4b, 0xaa, 0x5a, 0x27, 0xda, 0x1a, 0x51, + 0x8a, 0x4f, 0xc0, 0x94, 0xd9, 0xba, 0xae, 0xd2, 0x94, 0x94, 0x2d, 0x1b, 0x75, 0xb4, 0x97, 0xcb, + 0x8f, 0x90, 0xf8, 0x4e, 0x62, 0x05, 0x49, 0xc8, 0x1d, 0x22, 0x16, 0x1f, 0x07, 0x41, 0x75, 0xf6, + 0x15, 0xdb, 0x22, 0x7b, 0xb2, 0x63, 0x29, 0x2a, 0x2a, 0x3f, 0x4a, 0x4d, 0xa9, 0x7c, 0x9b, 0x8b, + 0xf1, 0x92, 0x70, 0x6e, 0x69, 0x1d, 0x97, 0x33, 0x3e, 0x46, 0x97, 0x04, 0x91, 0x31, 0xb6, 0x79, + 0x10, 0x70, 0x28, 0x42, 0x2f, 0x9e, 0x27, 0x66, 0x25, 0x6b, 0xdf, 0x0a, 0xbe, 0xf7, 0x61, 0x98, + 0xc0, 0x96, 0xfe, 0x4b, 0x1f, 0xa7, 0x0d, 0x99, 0xb5, 0x1f, 0x78, 0xe3, 0x12, 0x9c, 0xc0, 0x46, + 0x3d, 0xe4, 0x2a, 0x6d, 0xc5, 0x55, 0x02, 0xd6, 0x1f, 0x23, 0xd6, 0x38, 0xee, 0x5b, 0x4c, 0x19, + 0xf2, 0xd3, 0xee, 0xb7, 0x0e, 0xbc, 0xcc, 0x7a, 0x8a, 0xfa, 0x89, 0x65, 0x3c, 0xb7, 0x3e, 0xb0, + 0xa6, 0x7b, 0xae, 0x0a, 0xc5, 0x60, 0xe2, 0x8b, 0x79, 0xa0, 0xa9, 0x2f, 0x24, 0x70, 0x17, 0xb4, + 0xda, 0x58, 0xc3, 0xfd, 0xcb, 0x4b, 0x75, 0x21, 0x89, 0xfb, 0xa8, 0xcd, 0x8d, 0xdd, 0xba, 0x2c, + 0xed, 0x6d, 0xef, 0x6e, 0x6c, 0xd5, 0x85, 0x54, 0xb0, 0x61, 0xff, 0x4e, 0x12, 0x4a, 0xe1, 0xb3, + 0x97, 0xf8, 0x53, 0x70, 0x92, 0x5f, 0x94, 0x38, 0xc8, 0x95, 0x6f, 0x69, 0x36, 0x59, 0x8b, 0x3d, + 0x85, 0xd6, 0x45, 0x2f, 0x1b, 0x66, 0x98, 0x55, 0x13, 0xb9, 0xcf, 0x6b, 0x36, 0x5e, 0x69, 0x3d, + 0xc5, 0x15, 0x37, 0xe1, 0xb4, 0x61, 0xca, 0x8e, 0xab, 0x18, 0x6d, 0xc5, 0x6e, 0xcb, 0xfe, 0x15, + 0x95, 0xac, 0xa8, 0x2a, 0x72, 0x1c, 0x93, 0xd6, 0x40, 0x8f, 0xe5, 0x23, 0x86, 0xd9, 0x64, 0xc6, + 0x7e, 0x71, 0xa8, 0x31, 0xd3, 0x48, 0xe6, 0xa6, 0x8e, 0xca, 0xdc, 0x07, 0x21, 0xdf, 0x53, 0x2c, + 0x19, 0x19, 0xae, 0x7d, 0x40, 0x3a, 0xee, 0x9c, 0x94, 0xeb, 0x29, 0x56, 0x1d, 0x3f, 0x7f, 0x38, + 0x07, 0x9f, 0xef, 0xa7, 0xa0, 0x18, 0xec, 0xba, 0xf1, 0x21, 0x46, 0x25, 0x05, 0x2a, 0x41, 0xb6, + 0xb0, 0x87, 0xef, 0xdb, 0xa3, 0x2f, 0xac, 0xe2, 0xca, 0x55, 0xcd, 0xd2, 0x5e, 0x58, 0xa2, 0x48, + 0xdc, 0x35, 0xe0, 0xd4, 0x42, 0xb4, 0xf7, 0xc8, 0x49, 0xec, 0x49, 0x5c, 0x87, 0xec, 0x75, 0x87, + 0x70, 0x67, 0x09, 0xf7, 0x23, 0xf7, 0xe7, 0x7e, 0xae, 0x49, 0xc8, 0xf3, 0xcf, 0x35, 0xe5, 0xed, + 0x86, 0xb4, 0x55, 0xdb, 0x94, 0x18, 0x5c, 0x3c, 0x05, 0x69, 0x5d, 0xb9, 0x7d, 0x10, 0xae, 0x71, + 0x44, 0x34, 0x6a, 0xe0, 0x4f, 0x41, 0xfa, 0x16, 0x52, 0x6e, 0x84, 0x2b, 0x0b, 0x11, 0x7d, 0x80, + 0xa9, 0x7f, 0x0e, 0x32, 0x24, 0x5e, 0x22, 0x00, 0x8b, 0x98, 0x30, 0x26, 0xe6, 0x20, 0xbd, 0xda, + 0x90, 0x70, 0xfa, 0x0b, 0x50, 0xa4, 0x52, 0x79, 0x67, 0xa3, 0xbe, 0x5a, 0x17, 0x92, 0x73, 0xcb, + 0x90, 0xa5, 0x41, 0xc0, 0x4b, 0xc3, 0x0b, 0x83, 0x30, 0xc6, 0x1e, 0x19, 0x47, 0x82, 0x6b, 0xf7, + 0xb6, 0x56, 0xea, 0x92, 0x90, 0x0c, 0x4e, 0xaf, 0x03, 0xc5, 0x60, 0xc3, 0xfd, 0xe1, 0xe4, 0xd4, + 0xb7, 0x13, 0x50, 0x08, 0x34, 0xd0, 0xb8, 0xf3, 0x51, 0x74, 0xdd, 0xbc, 0x25, 0x2b, 0xba, 0xa6, + 0x38, 0x2c, 0x29, 0x80, 0x88, 0x6a, 0x58, 0x32, 0xea, 0xa4, 0x7d, 0x28, 0xce, 0xbf, 0x9e, 0x00, + 0x21, 0xda, 0xbb, 0x46, 0x1c, 0x4c, 0xfc, 0x44, 0x1d, 0x7c, 0x2d, 0x01, 0xa5, 0x70, 0xc3, 0x1a, + 0x71, 0xef, 0xec, 0x4f, 0xd4, 0xbd, 0xb7, 0x92, 0x30, 0x11, 0x6a, 0x53, 0x47, 0xf5, 0xee, 0x33, + 0x30, 0xa5, 0xb5, 0x51, 0xcf, 0x32, 0x5d, 0x64, 0xa8, 0x07, 0xb2, 0x8e, 0x6e, 0x22, 0xbd, 0x3c, + 0x47, 0x36, 0x8a, 0x73, 0xf7, 0x6f, 0x84, 0x17, 0x36, 0x7c, 0xdc, 0x26, 0x86, 0x55, 0xa7, 0x37, + 0xd6, 0xea, 0x5b, 0x3b, 0x8d, 0xdd, 0xfa, 0xf6, 0xea, 0x8b, 0xf2, 0xde, 0xf6, 0xcf, 0x6c, 0x37, + 0x9e, 0xdf, 0x96, 0x04, 0x2d, 0x62, 0xf6, 0x01, 0x2e, 0xf5, 0x1d, 0x10, 0xa2, 0x4e, 0x89, 0x27, + 0x61, 0x98, 0x5b, 0xc2, 0x98, 0x38, 0x0d, 0x93, 0xdb, 0x0d, 0xb9, 0xb9, 0xb1, 0x56, 0x97, 0xeb, + 0x57, 0xaf, 0xd6, 0x57, 0x77, 0x9b, 0xf4, 0x6a, 0xc3, 0xb3, 0xde, 0x0d, 0x2f, 0xea, 0x57, 0x53, + 0x30, 0x3d, 0xc4, 0x13, 0xb1, 0xc6, 0x0e, 0x25, 0xf4, 0x9c, 0xf4, 0xd4, 0x28, 0xde, 0x2f, 0xe0, + 0xae, 0x60, 0x47, 0xb1, 0x5d, 0x76, 0x86, 0x79, 0x1c, 0x70, 0x94, 0x0c, 0x57, 0xeb, 0x68, 0xc8, + 0x66, 0x37, 0x41, 0xf4, 0xa4, 0x32, 0xe9, 0xcb, 0xe9, 0x65, 0xd0, 0xc7, 0x40, 0xb4, 0x4c, 0x47, + 0x73, 0xb5, 0x9b, 0x48, 0xd6, 0x0c, 0x7e, 0x6d, 0x84, 0x4f, 0x2e, 0x69, 0x49, 0xe0, 0x9a, 0x0d, + 0xc3, 0xf5, 0xac, 0x0d, 0xd4, 0x55, 0x22, 0xd6, 0x78, 0x03, 0x4f, 0x49, 0x02, 0xd7, 0x78, 0xd6, + 0x67, 0xa1, 0xd8, 0x36, 0xfb, 0xb8, 0x9d, 0xa3, 0x76, 0xb8, 0x5e, 0x24, 0xa4, 0x02, 0x95, 0x79, + 0x26, 0xac, 0x51, 0xf7, 0xef, 0xab, 0x8a, 0x52, 0x81, 0xca, 0xa8, 0xc9, 0x63, 0x30, 0xa9, 0x74, + 0xbb, 0x36, 0x26, 0xe7, 0x44, 0xf4, 0xe8, 0x51, 0xf2, 0xc4, 0xc4, 0x70, 0xf6, 0x39, 0xc8, 0xf1, + 0x38, 0xe0, 0x92, 0x8c, 0x23, 0x21, 0x5b, 0xf4, 0x3c, 0x9d, 0x9c, 0xcf, 0x4b, 0x39, 0x83, 0x2b, + 0xcf, 0x42, 0x51, 0x73, 0x64, 0xff, 0xfa, 0x3d, 0x79, 0x26, 0x39, 0x9f, 0x93, 0x0a, 0x9a, 0xe3, + 0x5d, 0x5d, 0xce, 0xbd, 0x91, 0x84, 0x52, 0xf8, 0xf3, 0x81, 0xb8, 0x06, 0x39, 0xdd, 0x54, 0x15, + 0x92, 0x5a, 0xf4, 0xdb, 0xd5, 0x7c, 0xcc, 0x17, 0x87, 0x85, 0x4d, 0x66, 0x2f, 0x79, 0xc8, 0xd9, + 0x7f, 0x49, 0x40, 0x8e, 0x8b, 0xc5, 0x13, 0x90, 0xb6, 0x14, 0x77, 0x9f, 0xd0, 0x65, 0x56, 0x92, + 0x42, 0x42, 0x22, 0xcf, 0x58, 0xee, 0x58, 0x8a, 0x41, 0x52, 0x80, 0xc9, 0xf1, 0x33, 0x9e, 0x57, + 0x1d, 0x29, 0x6d, 0x72, 0xae, 0x31, 0x7b, 0x3d, 0x64, 0xb8, 0x0e, 0x9f, 0x57, 0x26, 0x5f, 0x65, + 0x62, 0xf1, 0x49, 0x98, 0x72, 0x6d, 0x45, 0xd3, 0x43, 0xb6, 0x69, 0x62, 0x2b, 0x70, 0x85, 0x67, + 0x5c, 0x85, 0x53, 0x9c, 0xb7, 0x8d, 0x5c, 0x45, 0xdd, 0x47, 0x6d, 0x1f, 0x94, 0x25, 0xf7, 0x17, + 0x27, 0x99, 0xc1, 0x1a, 0xd3, 0x73, 0xec, 0xdc, 0xf7, 0x12, 0x30, 0xc5, 0x4f, 0x62, 0x6d, 0x2f, + 0x58, 0x5b, 0x00, 0x8a, 0x61, 0x98, 0x6e, 0x30, 0x5c, 0x83, 0xa9, 0x3c, 0x80, 0x5b, 0xa8, 0x79, + 0x20, 0x29, 0x40, 0x30, 0xdb, 0x03, 0xf0, 0x35, 0x47, 0x86, 0xed, 0x34, 0x14, 0xd8, 0xb7, 0x21, + 0xf2, 0x81, 0x91, 0x9e, 0xdd, 0x81, 0x8a, 0xf0, 0x91, 0x4d, 0x9c, 0x81, 0x4c, 0x0b, 0x75, 0x35, + 0x83, 0xdd, 0xf8, 0xd2, 0x07, 0x7e, 0xc3, 0x92, 0xf6, 0x6e, 0x58, 0x56, 0x3e, 0x0d, 0xd3, 0xaa, + 0xd9, 0x8b, 0xba, 0xbb, 0x22, 0x44, 0xee, 0x0f, 0x9c, 0x6b, 0x89, 0x97, 0xc0, 0x6f, 0x31, 0xdf, + 0x4b, 0x24, 0xbe, 0x94, 0x4c, 0xad, 0xef, 0xac, 0x7c, 0x35, 0x39, 0xbb, 0x4e, 0xa1, 0x3b, 0x7c, + 0xa4, 0x12, 0xea, 0xe8, 0x48, 0xc5, 0xde, 0xc3, 0x97, 0x9f, 0x84, 0xa7, 0xba, 0x9a, 0xbb, 0xdf, + 0x6f, 0x2d, 0xa8, 0x66, 0xef, 0x5c, 0xd7, 0xec, 0x9a, 0xfe, 0x37, 0x55, 0xfc, 0x44, 0x1e, 0xc8, + 0x5f, 0xec, 0xbb, 0x6a, 0xde, 0x93, 0xce, 0xc6, 0x7e, 0x84, 0xad, 0x6e, 0xc3, 0x34, 0x33, 0x96, + 0xc9, 0x87, 0x1d, 0x7a, 0x3c, 0x11, 0xef, 0x7b, 0x39, 0x56, 0xfe, 0xfa, 0xdb, 0xa4, 0x5c, 0x4b, + 0x53, 0x0c, 0x8a, 0x75, 0xf4, 0x04, 0x53, 0x95, 0xe0, 0x81, 0x10, 0x1f, 0x5d, 0x9a, 0xc8, 0x8e, + 0x61, 0xfc, 0x0e, 0x63, 0x9c, 0x0e, 0x30, 0x36, 0x19, 0xb4, 0xba, 0x0a, 0x13, 0xc7, 0xe1, 0xfa, + 0x27, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x75, 0x98, 0x24, 0x24, 0x6a, 0xdf, 0x71, 0xcd, 0x1e, 0xd9, + 0xf7, 0xee, 0x4f, 0xf3, 0xcf, 0x6f, 0xd3, 0xb5, 0x52, 0xc2, 0xb0, 0x55, 0x0f, 0x55, 0xad, 0x02, + 0xf9, 0x96, 0xd5, 0x46, 0xaa, 0x1e, 0xc3, 0xf0, 0x26, 0x73, 0xc4, 0xb3, 0xaf, 0x7e, 0x0a, 0x66, + 0xf0, 0xdf, 0x64, 0x5b, 0x0a, 0x7a, 0x12, 0x7f, 0x93, 0x56, 0xfe, 0xde, 0x2b, 0x74, 0x39, 0x4e, + 0x7b, 0x04, 0x01, 0x9f, 0x02, 0xb3, 0xd8, 0x45, 0xae, 0x8b, 0x6c, 0x47, 0x56, 0xf4, 0x61, 0xee, + 0x05, 0xae, 0x22, 0xca, 0x9f, 0x7f, 0x27, 0x3c, 0x8b, 0xeb, 0x14, 0x59, 0xd3, 0xf5, 0xea, 0x1e, + 0x9c, 0x1c, 0x92, 0x15, 0x23, 0x70, 0xbe, 0xca, 0x38, 0x67, 0x06, 0x32, 0x03, 0xd3, 0xee, 0x00, + 0x97, 0x7b, 0x73, 0x39, 0x02, 0xe7, 0x1f, 0x30, 0x4e, 0x91, 0x61, 0xf9, 0x94, 0x62, 0xc6, 0xe7, + 0x60, 0xea, 0x26, 0xb2, 0x5b, 0xa6, 0xc3, 0xae, 0x7f, 0x46, 0xa0, 0x7b, 0x8d, 0xd1, 0x4d, 0x32, + 0x20, 0xb9, 0x0f, 0xc2, 0x5c, 0x97, 0x21, 0xd7, 0x51, 0x54, 0x34, 0x02, 0xc5, 0x17, 0x18, 0xc5, + 0x38, 0xb6, 0xc7, 0xd0, 0x1a, 0x14, 0xbb, 0x26, 0xab, 0x4c, 0xf1, 0xf0, 0xd7, 0x19, 0xbc, 0xc0, + 0x31, 0x8c, 0xc2, 0x32, 0xad, 0xbe, 0x8e, 0xcb, 0x56, 0x3c, 0xc5, 0x1f, 0x72, 0x0a, 0x8e, 0x61, + 0x14, 0xc7, 0x08, 0xeb, 0x1f, 0x71, 0x0a, 0x27, 0x10, 0xcf, 0x67, 0xa1, 0x60, 0x1a, 0xfa, 0x81, + 0x69, 0x8c, 0xe2, 0xc4, 0x17, 0x19, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x02, 0xf9, 0x51, 0x27, 0xe2, + 0x4f, 0xde, 0xe1, 0xcb, 0x83, 0xcf, 0xc0, 0x3a, 0x4c, 0xf2, 0x0d, 0x4a, 0x33, 0x8d, 0x11, 0x28, + 0xbe, 0xcc, 0x28, 0x4a, 0x01, 0x18, 0x1b, 0x86, 0x8b, 0x1c, 0xb7, 0x8b, 0x46, 0x21, 0x79, 0x83, + 0x0f, 0x83, 0x41, 0x58, 0x28, 0x5b, 0xc8, 0x50, 0xf7, 0x47, 0x63, 0xf8, 0x0a, 0x0f, 0x25, 0xc7, + 0x60, 0x8a, 0x55, 0x98, 0xe8, 0x29, 0xb6, 0xb3, 0xaf, 0xe8, 0x23, 0x4d, 0xc7, 0x9f, 0x32, 0x8e, + 0xa2, 0x07, 0x62, 0x11, 0xe9, 0x1b, 0xc7, 0xa1, 0xf9, 0x2a, 0x8f, 0x48, 0x00, 0xc6, 0x96, 0x9e, + 0xe3, 0x92, 0xbb, 0xb2, 0xe3, 0xb0, 0xfd, 0x19, 0x5f, 0x7a, 0x14, 0xbb, 0x15, 0x64, 0xbc, 0x02, + 0x79, 0x47, 0xbb, 0x3d, 0x12, 0xcd, 0x9f, 0xf3, 0x99, 0x26, 0x00, 0x0c, 0x7e, 0x11, 0x4e, 0x0d, + 0x2d, 0x13, 0x23, 0x90, 0xfd, 0x05, 0x23, 0x3b, 0x31, 0xa4, 0x54, 0xb0, 0x2d, 0xe1, 0xb8, 0x94, + 0x7f, 0xc9, 0xb7, 0x04, 0x14, 0xe1, 0xda, 0xc1, 0x67, 0x05, 0x47, 0xe9, 0x1c, 0x2f, 0x6a, 0x7f, + 0xc5, 0xa3, 0x46, 0xb1, 0xa1, 0xa8, 0xed, 0xc2, 0x09, 0xc6, 0x78, 0xbc, 0x79, 0xfd, 0x1a, 0xdf, + 0x58, 0x29, 0x7a, 0x2f, 0x3c, 0xbb, 0x9f, 0x86, 0x59, 0x2f, 0x9c, 0xbc, 0x29, 0x75, 0xe4, 0x9e, + 0x62, 0x8d, 0xc0, 0xfc, 0x75, 0xc6, 0xcc, 0x77, 0x7c, 0xaf, 0xab, 0x75, 0xb6, 0x14, 0x0b, 0x93, + 0xbf, 0x00, 0x65, 0x4e, 0xde, 0x37, 0x6c, 0xa4, 0x9a, 0x5d, 0x43, 0xbb, 0x8d, 0xda, 0x23, 0x50, + 0xff, 0x75, 0x64, 0xaa, 0xf6, 0x02, 0x70, 0xcc, 0xbc, 0x01, 0x82, 0xd7, 0xab, 0xc8, 0x5a, 0xcf, + 0x32, 0x6d, 0x37, 0x86, 0xf1, 0x6f, 0xf8, 0x4c, 0x79, 0xb8, 0x0d, 0x02, 0xab, 0xd6, 0xa1, 0x44, + 0x1e, 0x47, 0x4d, 0xc9, 0xbf, 0x65, 0x44, 0x13, 0x3e, 0x8a, 0x6d, 0x1c, 0xaa, 0xd9, 0xb3, 0x14, + 0x7b, 0x94, 0xfd, 0xef, 0xef, 0xf8, 0xc6, 0xc1, 0x20, 0x6c, 0xe3, 0x70, 0x0f, 0x2c, 0x84, 0xab, + 0xfd, 0x08, 0x0c, 0xdf, 0xe0, 0x1b, 0x07, 0xc7, 0x30, 0x0a, 0xde, 0x30, 0x8c, 0x40, 0xf1, 0xf7, + 0x9c, 0x82, 0x63, 0x30, 0xc5, 0x27, 0xfd, 0x42, 0x6b, 0xa3, 0xae, 0xe6, 0xb8, 0x36, 0x6d, 0x85, + 0xef, 0x4f, 0xf5, 0xcd, 0x77, 0xc2, 0x4d, 0x98, 0x14, 0x80, 0xe2, 0x9d, 0x88, 0x5d, 0xa1, 0x92, + 0x93, 0x52, 0xbc, 0x63, 0xdf, 0xe2, 0x3b, 0x51, 0x00, 0x86, 0x7d, 0x0b, 0x74, 0x88, 0x38, 0xec, + 0x2a, 0x3e, 0x1f, 0x8c, 0x40, 0xf7, 0xed, 0x88, 0x73, 0x4d, 0x8e, 0xc5, 0x9c, 0x81, 0xfe, 0xa7, + 0x6f, 0xdc, 0x40, 0x07, 0x23, 0x65, 0xe7, 0x3f, 0x44, 0xfa, 0x9f, 0x3d, 0x8a, 0xa4, 0x7b, 0xc8, + 0x64, 0xa4, 0x9f, 0x12, 0xe3, 0x7e, 0x05, 0x54, 0xfe, 0xf9, 0x7b, 0x6c, 0xbc, 0xe1, 0x76, 0xaa, + 0xba, 0x89, 0x93, 0x3c, 0xdc, 0xf4, 0xc4, 0x93, 0xbd, 0x72, 0xcf, 0xcb, 0xf3, 0x50, 0xcf, 0x53, + 0xbd, 0x0a, 0x13, 0xa1, 0x86, 0x27, 0x9e, 0xea, 0x17, 0x18, 0x55, 0x31, 0xd8, 0xef, 0x54, 0x97, + 0x21, 0x8d, 0x9b, 0x97, 0x78, 0xf8, 0x2f, 0x32, 0x38, 0x31, 0xaf, 0x7e, 0x1c, 0x72, 0xbc, 0x69, + 0x89, 0x87, 0xfe, 0x12, 0x83, 0x7a, 0x10, 0x0c, 0xe7, 0x0d, 0x4b, 0x3c, 0xfc, 0x97, 0x39, 0x9c, + 0x43, 0x30, 0x7c, 0xf4, 0x10, 0xfe, 0xe3, 0xaf, 0xa4, 0x59, 0xd1, 0xe1, 0xb1, 0xbb, 0x02, 0xe3, + 0xac, 0x53, 0x89, 0x47, 0x7f, 0x96, 0xbd, 0x9c, 0x23, 0xaa, 0x17, 0x21, 0x33, 0x62, 0xc0, 0x7f, + 0x8d, 0x41, 0xa9, 0x7d, 0x75, 0x15, 0x0a, 0x81, 0xee, 0x24, 0x1e, 0xfe, 0xeb, 0x0c, 0x1e, 0x44, + 0x61, 0xd7, 0x59, 0x77, 0x12, 0x4f, 0xf0, 0x1b, 0xdc, 0x75, 0x86, 0xc0, 0x61, 0xe3, 0x8d, 0x49, + 0x3c, 0xfa, 0x37, 0x79, 0xd4, 0x39, 0xa4, 0xfa, 0x2c, 0xe4, 0xbd, 0x62, 0x13, 0x8f, 0xff, 0x2d, + 0x86, 0xf7, 0x31, 0x38, 0x02, 0x81, 0x62, 0x17, 0x4f, 0xf1, 0xdb, 0x3c, 0x02, 0x01, 0x14, 0x5e, + 0x46, 0xd1, 0x06, 0x26, 0x9e, 0xe9, 0x77, 0xf8, 0x32, 0x8a, 0xf4, 0x2f, 0x78, 0x36, 0xc9, 0x9e, + 0x1f, 0x4f, 0xf1, 0xbb, 0x7c, 0x36, 0x89, 0x3d, 0x76, 0x23, 0xda, 0x11, 0xc4, 0x73, 0xfc, 0x3e, + 0x77, 0x23, 0xd2, 0x10, 0x54, 0x77, 0x40, 0x1c, 0xec, 0x06, 0xe2, 0xf9, 0x3e, 0xc7, 0xf8, 0xa6, + 0x06, 0x9a, 0x81, 0xea, 0xf3, 0x70, 0x62, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0xf9, 0x7b, 0x91, 0xb3, + 0x5b, 0xb0, 0x11, 0xa8, 0xee, 0xfa, 0x25, 0x25, 0xd8, 0x05, 0xc4, 0xd3, 0xbe, 0x7a, 0x2f, 0xbc, + 0x71, 0x07, 0x9b, 0x80, 0x6a, 0x0d, 0xc0, 0x2f, 0xc0, 0xf1, 0x5c, 0xaf, 0x31, 0xae, 0x00, 0x08, + 0x2f, 0x0d, 0x56, 0x7f, 0xe3, 0xf1, 0x5f, 0xe0, 0x4b, 0x83, 0x21, 0xf0, 0xd2, 0xe0, 0xa5, 0x37, + 0x1e, 0xfd, 0x3a, 0x5f, 0x1a, 0x1c, 0x82, 0x33, 0x3b, 0x50, 0xdd, 0xe2, 0x19, 0xbe, 0xc8, 0x33, + 0x3b, 0x80, 0xaa, 0x6e, 0xc3, 0xd4, 0x40, 0x41, 0x8c, 0xa7, 0xfa, 0x12, 0xa3, 0x12, 0xa2, 0xf5, + 0x30, 0x58, 0xbc, 0x58, 0x31, 0x8c, 0x67, 0xfb, 0xe3, 0x48, 0xf1, 0x62, 0xb5, 0xb0, 0x7a, 0x05, + 0x72, 0x46, 0x5f, 0xd7, 0xf1, 0xe2, 0x11, 0xef, 0xff, 0xcb, 0xbd, 0xf2, 0xbf, 0xbf, 0xcf, 0xa2, + 0xc3, 0x01, 0xd5, 0x65, 0xc8, 0xa0, 0x5e, 0x0b, 0xb5, 0xe3, 0x90, 0xff, 0xf1, 0x3e, 0xdf, 0x30, + 0xb1, 0x75, 0xf5, 0x59, 0x00, 0x7a, 0x35, 0x42, 0x3e, 0xfb, 0xc5, 0x60, 0xff, 0xf3, 0x7d, 0xf6, + 0x9b, 0x1a, 0x1f, 0xe2, 0x13, 0xd0, 0x5f, 0xe8, 0xdc, 0x9f, 0xe0, 0x9d, 0x30, 0x01, 0x99, 0x91, + 0xcb, 0x30, 0x7e, 0xdd, 0x31, 0x0d, 0x57, 0xe9, 0xc6, 0xa1, 0xff, 0x8b, 0xa1, 0xb9, 0x3d, 0x0e, + 0x58, 0xcf, 0xb4, 0x91, 0xab, 0x74, 0x9d, 0x38, 0xec, 0x7f, 0x33, 0xac, 0x07, 0xc0, 0x60, 0x55, + 0x71, 0xdc, 0x51, 0xc6, 0xfd, 0x3f, 0x1c, 0xcc, 0x01, 0xd8, 0x69, 0xfc, 0xf7, 0x0d, 0x74, 0x10, + 0x87, 0x7d, 0x97, 0x3b, 0xcd, 0xec, 0xab, 0x1f, 0x87, 0x3c, 0xfe, 0x93, 0xfe, 0x50, 0x2e, 0x06, + 0xfc, 0xbf, 0x0c, 0xec, 0x23, 0xf0, 0x9b, 0x1d, 0xb7, 0xed, 0x6a, 0xf1, 0xc1, 0xfe, 0x3f, 0x36, + 0xd3, 0xdc, 0xbe, 0x5a, 0x83, 0x82, 0xe3, 0xb6, 0xdb, 0x7d, 0xd6, 0x9f, 0xc6, 0xc0, 0xff, 0xff, + 0x7d, 0xef, 0xca, 0xc2, 0xc3, 0xe0, 0xd9, 0xbe, 0x75, 0xc3, 0xb5, 0x4c, 0xf2, 0x99, 0x23, 0x8e, + 0xe1, 0x1e, 0x63, 0x08, 0x40, 0x56, 0xea, 0xc3, 0xaf, 0x6f, 0x61, 0xdd, 0x5c, 0x37, 0xe9, 0xc5, + 0xed, 0x4b, 0x73, 0xf1, 0x37, 0xb0, 0xf0, 0x7b, 0x19, 0x28, 0xab, 0x66, 0xaf, 0x65, 0x3a, 0xe7, + 0x0c, 0xa4, 0xb9, 0xfb, 0xc8, 0x3e, 0x67, 0x1a, 0x8c, 0x4f, 0x4c, 0x99, 0x06, 0x9a, 0x3d, 0xde, + 0x3d, 0xee, 0xdc, 0x29, 0xc8, 0x34, 0xfb, 0xad, 0xd6, 0x81, 0x28, 0x40, 0xca, 0xe9, 0xb7, 0xd8, + 0x8f, 0xad, 0xf0, 0x9f, 0x73, 0xdf, 0x4f, 0x41, 0xa1, 0xa9, 0xf4, 0x2c, 0x1d, 0x35, 0x0c, 0xd4, + 0xe8, 0x88, 0x65, 0xc8, 0x92, 0x61, 0x3e, 0x43, 0x8c, 0x12, 0xd7, 0xc6, 0x24, 0xf6, 0xec, 0x69, + 0x16, 0xc9, 0xfd, 0x76, 0xd2, 0xd3, 0x2c, 0x7a, 0x9a, 0xf3, 0xf4, 0x7a, 0xdb, 0xd3, 0x9c, 0xf7, + 0x34, 0x4b, 0xe4, 0x92, 0x3b, 0xe5, 0x69, 0x96, 0x3c, 0xcd, 0x32, 0xf9, 0x88, 0x33, 0xe1, 0x69, + 0x96, 0x3d, 0xcd, 0x05, 0xf2, 0xd9, 0x26, 0xed, 0x69, 0x2e, 0x78, 0x9a, 0x8b, 0xe4, 0x6b, 0xcd, + 0x94, 0xa7, 0xb9, 0xe8, 0x69, 0x2e, 0x91, 0x2f, 0x34, 0xa2, 0xa7, 0xb9, 0xe4, 0x69, 0x2e, 0x93, + 0xdf, 0x54, 0x8d, 0x7b, 0x9a, 0xcb, 0xe2, 0x2c, 0x8c, 0xd3, 0x91, 0x3d, 0x4d, 0x3e, 0xe3, 0x4f, + 0x5e, 0x1b, 0x93, 0xb8, 0xc0, 0xd7, 0x3d, 0x43, 0x7e, 0x37, 0x95, 0xf5, 0x75, 0xcf, 0xf8, 0xba, + 0x45, 0xf2, 0xdf, 0x37, 0x04, 0x5f, 0xb7, 0xe8, 0xeb, 0xce, 0x97, 0x27, 0x70, 0x76, 0xf8, 0xba, + 0xf3, 0xbe, 0x6e, 0xa9, 0x5c, 0xc2, 0xf1, 0xf7, 0x75, 0x4b, 0xbe, 0x6e, 0xb9, 0x3c, 0x79, 0x26, + 0x31, 0x5f, 0xf4, 0x75, 0xcb, 0xe2, 0x53, 0x50, 0x70, 0xfa, 0x2d, 0x99, 0xed, 0xf3, 0xe4, 0xf7, + 0x59, 0x85, 0x45, 0x58, 0xc0, 0x19, 0x41, 0x26, 0xf5, 0xda, 0x98, 0x04, 0x4e, 0xbf, 0xc5, 0xb6, + 0xe1, 0x95, 0x22, 0x90, 0xdb, 0x27, 0x99, 0xfc, 0xac, 0x7a, 0x65, 0xed, 0xcd, 0xbb, 0x95, 0xb1, + 0xef, 0xde, 0xad, 0x8c, 0xfd, 0xeb, 0xdd, 0xca, 0xd8, 0x5b, 0x77, 0x2b, 0x89, 0x77, 0xef, 0x56, + 0x12, 0xef, 0xdd, 0xad, 0x24, 0xee, 0x1c, 0x56, 0x12, 0x5f, 0x39, 0xac, 0x24, 0xbe, 0x76, 0x58, + 0x49, 0x7c, 0xf3, 0xb0, 0x92, 0x78, 0xf3, 0xb0, 0x32, 0xf6, 0xdd, 0xc3, 0xca, 0xd8, 0x5b, 0x87, + 0x95, 0xc4, 0x0f, 0x0f, 0x2b, 0x63, 0xef, 0x1e, 0x56, 0x12, 0xef, 0x1d, 0x56, 0xc6, 0xee, 0xfc, + 0xa0, 0x32, 0xd6, 0xca, 0x92, 0x34, 0x3a, 0xff, 0xa3, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb0, 0xc1, + 0x3e, 0xd9, 0x8d, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2632,35 +2667,3 @@ func valueToStringOne(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { proto.RegisterFile("combos/neither/one.proto", fileDescriptor_one_827a0063df79db69) } - -var fileDescriptor_one_827a0063df79db69 = []byte{ - // 405 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, - 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0xde, 0xf4, 0xca, 0xf0, 0x64, 0x31, 0x79, - 0x21, 0x69, 0xee, 0x12, 0x7e, 0xac, 0xa8, 0xaa, 0xb2, 0x54, 0x48, 0xe1, 0x0f, 0x40, 0x98, 0x3a, - 0x21, 0x12, 0x77, 0x46, 0xdc, 0xdd, 0xd0, 0x8d, 0x3f, 0xa7, 0x63, 0xc7, 0xfe, 0x09, 0x8c, 0x8c, - 0x1d, 0x3a, 0x70, 0xee, 0xd2, 0x91, 0x31, 0x63, 0x95, 0x4b, 0x79, 0xde, 0xde, 0xd7, 0x1f, 0x7b, - 0xb0, 0xfd, 0x95, 0x78, 0xe3, 0x32, 0xe3, 0x8a, 0x61, 0x6e, 0x97, 0xe5, 0xad, 0x7d, 0x18, 0xba, - 0xdc, 0x0e, 0xee, 0x1f, 0x5c, 0xe9, 0xe2, 0xc8, 0xe5, 0xf6, 0xe0, 0x68, 0xb1, 0x2c, 0x6f, 0x2b, - 0x33, 0xb8, 0x71, 0xd9, 0x70, 0xe1, 0x16, 0x6e, 0xd8, 0x98, 0xa9, 0xe6, 0x4d, 0x6a, 0x42, 0x33, - 0x6d, 0xce, 0x1c, 0x7e, 0x90, 0xad, 0xcb, 0xca, 0x98, 0x6f, 0x71, 0x5f, 0x46, 0x45, 0x65, 0x10, - 0x14, 0xe8, 0xdd, 0xd9, 0x7a, 0x3c, 0xfc, 0x1d, 0xc9, 0xee, 0xe5, 0x75, 0x76, 0x7f, 0x67, 0x2f, - 0x72, 0x7b, 0x31, 0x8f, 0x51, 0xb6, 0x3f, 0x2f, 0xed, 0xdd, 0xd7, 0x51, 0xb3, 0x09, 0xa6, 0x62, - 0xf6, 0x3f, 0xb3, 0x24, 0xb8, 0xa5, 0x40, 0x6f, 0xb1, 0x24, 0x2c, 0x29, 0x46, 0x0a, 0x74, 0x8b, - 0x25, 0x65, 0x19, 0xe3, 0xb6, 0x02, 0x1d, 0xb1, 0x8c, 0x59, 0x26, 0xd8, 0x52, 0xa0, 0xf7, 0x58, - 0x26, 0x2c, 0xc7, 0xd8, 0x56, 0xa0, 0xb7, 0x59, 0x8e, 0x59, 0x4e, 0xb0, 0xa3, 0x40, 0xbf, 0x67, - 0x39, 0x61, 0x39, 0xc5, 0x1d, 0x05, 0x3a, 0x66, 0x39, 0x65, 0x39, 0xc3, 0x5d, 0x05, 0xba, 0xc3, - 0x72, 0x16, 0x1f, 0xc8, 0xce, 0xe6, 0x66, 0x1f, 0x51, 0x2a, 0xd0, 0xfb, 0x53, 0x31, 0x7b, 0x5b, - 0x08, 0x36, 0xc2, 0xae, 0x02, 0xdd, 0x0e, 0x36, 0x0a, 0x96, 0x60, 0x4f, 0x81, 0xee, 0x07, 0x4b, - 0x82, 0xa5, 0xb8, 0xa7, 0x40, 0xef, 0x04, 0x4b, 0x83, 0x8d, 0xf1, 0xdd, 0xfa, 0xfd, 0x83, 0x8d, - 0x83, 0x4d, 0x70, 0x5f, 0x81, 0xee, 0x05, 0x9b, 0xc4, 0x47, 0xb2, 0x5b, 0x54, 0xe6, 0x2a, 0xb3, - 0x45, 0x71, 0xbd, 0xb0, 0xd8, 0x57, 0xa0, 0xbb, 0x89, 0x1c, 0xac, 0x1b, 0xd1, 0x7c, 0xea, 0x54, - 0xcc, 0x64, 0x51, 0x99, 0x2f, 0x1b, 0x3f, 0xef, 0x49, 0x59, 0xda, 0xa2, 0xbc, 0x72, 0xb9, 0x75, - 0xf3, 0xf3, 0x4f, 0x4f, 0x35, 0x89, 0xe7, 0x9a, 0xc4, 0xaf, 0x9a, 0xc4, 0x4b, 0x4d, 0xf0, 0x5a, - 0x13, 0xac, 0x6a, 0x82, 0x47, 0x4f, 0xf0, 0xdd, 0x13, 0xfc, 0xf0, 0x04, 0x3f, 0x3d, 0xc1, 0x93, - 0x27, 0xf1, 0xec, 0x49, 0xbc, 0x78, 0x82, 0xbf, 0x9e, 0xc4, 0xab, 0x27, 0x58, 0x79, 0x12, 0x8f, - 0x7f, 0x48, 0x98, 0x76, 0x53, 0xa3, 0xf4, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x04, 0xd2, - 0x98, 0x96, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneof3/combos/unmarshaler/one.pb.go b/vendor/github.com/gogo/protobuf/test/oneof3/combos/unmarshaler/one.pb.go index 5f66e81cc..fc2c9cc9b 100644 --- a/vendor/github.com/gogo/protobuf/test/oneof3/combos/unmarshaler/one.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneof3/combos/unmarshaler/one.pb.go @@ -3,22 +3,21 @@ package one -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import io "io" -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -41,7 +40,7 @@ type Subby struct { func (m *Subby) Reset() { *m = Subby{} } func (*Subby) ProtoMessage() {} func (*Subby) Descriptor() ([]byte, []int) { - return fileDescriptor_one_2f1bc4354e19d7a9, []int{0} + return fileDescriptor_9eef12518f7c4f58, []int{0} } func (m *Subby) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -49,8 +48,8 @@ func (m *Subby) XXX_Unmarshal(b []byte) error { func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Subby.Marshal(b, m, deterministic) } -func (dst *Subby) XXX_Merge(src proto.Message) { - xxx_messageInfo_Subby.Merge(dst, src) +func (m *Subby) XXX_Merge(src proto.Message) { + xxx_messageInfo_Subby.Merge(m, src) } func (m *Subby) XXX_Size() int { return xxx_messageInfo_Subby.Size(m) @@ -88,7 +87,7 @@ type SampleOneOf struct { func (m *SampleOneOf) Reset() { *m = SampleOneOf{} } func (*SampleOneOf) ProtoMessage() {} func (*SampleOneOf) Descriptor() ([]byte, []int) { - return fileDescriptor_one_2f1bc4354e19d7a9, []int{1} + return fileDescriptor_9eef12518f7c4f58, []int{1} } func (m *SampleOneOf) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -96,8 +95,8 @@ func (m *SampleOneOf) XXX_Unmarshal(b []byte) error { func (m *SampleOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SampleOneOf.Marshal(b, m, deterministic) } -func (dst *SampleOneOf) XXX_Merge(src proto.Message) { - xxx_messageInfo_SampleOneOf.Merge(dst, src) +func (m *SampleOneOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_SampleOneOf.Merge(m, src) } func (m *SampleOneOf) XXX_Size() int { return xxx_messageInfo_SampleOneOf.Size(m) @@ -575,6 +574,39 @@ func init() { proto.RegisterType((*Subby)(nil), "one.Subby") proto.RegisterType((*SampleOneOf)(nil), "one.SampleOneOf") } + +func init() { proto.RegisterFile("combos/unmarshaler/one.proto", fileDescriptor_9eef12518f7c4f58) } + +var fileDescriptor_9eef12518f7c4f58 = []byte{ + // 409 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, + 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0xde, 0xf4, 0x8a, 0xaa, 0x27, 0x8b, 0xc9, + 0x0b, 0x49, 0x73, 0x97, 0xf0, 0x63, 0x45, 0x55, 0x95, 0xa5, 0x42, 0x0a, 0x7f, 0x00, 0x8a, 0xa9, + 0x13, 0x90, 0x72, 0x67, 0x94, 0xcb, 0x0d, 0xdd, 0xf8, 0x73, 0x3a, 0x76, 0xec, 0x9f, 0xc0, 0xc8, + 0xd8, 0xa1, 0x03, 0xe7, 0x2e, 0x1d, 0x19, 0x33, 0x56, 0xb9, 0xb4, 0xcf, 0xdb, 0xfb, 0xfa, 0x63, + 0x0f, 0xb6, 0xbf, 0xf2, 0xfd, 0xad, 0xcb, 0x8c, 0x2b, 0xfa, 0x65, 0x9e, 0x4d, 0x97, 0xc5, 0xdd, + 0x74, 0x61, 0x97, 0x7d, 0x97, 0xdb, 0xde, 0xc3, 0xd2, 0xad, 0x5c, 0x1c, 0xb9, 0xdc, 0x1e, 0x9d, + 0xcc, 0xef, 0x57, 0x77, 0xa5, 0xe9, 0xdd, 0xba, 0xac, 0x3f, 0x77, 0x73, 0xd7, 0xaf, 0xcd, 0x94, + 0xb3, 0x3a, 0xd5, 0xa1, 0x9e, 0xb6, 0x67, 0x8e, 0xdf, 0xc9, 0xc6, 0x75, 0x69, 0xcc, 0xd7, 0xb8, + 0x2b, 0xa3, 0xa2, 0x34, 0x08, 0x0a, 0xf4, 0xfe, 0x64, 0x33, 0x1e, 0xff, 0x8a, 0x64, 0xfb, 0x7a, + 0x9a, 0x3d, 0x2c, 0xec, 0x55, 0x6e, 0xaf, 0x66, 0x31, 0xca, 0xe6, 0xa7, 0x7b, 0xbb, 0xf8, 0x32, + 0xa8, 0x37, 0xc1, 0x58, 0x4c, 0xfe, 0x65, 0x96, 0x04, 0x77, 0x14, 0xe8, 0x1d, 0x96, 0x84, 0x25, + 0xc5, 0x48, 0x81, 0x6e, 0xb0, 0xa4, 0x2c, 0x43, 0xdc, 0x55, 0xa0, 0x23, 0x96, 0x21, 0xcb, 0x08, + 0x1b, 0x0a, 0xf4, 0x01, 0xcb, 0x88, 0xe5, 0x14, 0x9b, 0x0a, 0xf4, 0x2e, 0xcb, 0x29, 0xcb, 0x19, + 0xb6, 0x14, 0xe8, 0xb7, 0x2c, 0x67, 0x2c, 0xe7, 0xb8, 0xa7, 0x40, 0xc7, 0x2c, 0xe7, 0x2c, 0x17, + 0xb8, 0xaf, 0x40, 0xb7, 0x58, 0x2e, 0xe2, 0x23, 0xd9, 0xda, 0xde, 0xec, 0x03, 0x4a, 0x05, 0xfa, + 0x70, 0x2c, 0x26, 0xff, 0x17, 0x82, 0x0d, 0xb0, 0xad, 0x40, 0x37, 0x83, 0x0d, 0x82, 0x25, 0xd8, + 0x51, 0xa0, 0xbb, 0xc1, 0x92, 0x60, 0x29, 0x1e, 0x28, 0xd0, 0x7b, 0xc1, 0xd2, 0x60, 0x43, 0x7c, + 0xb3, 0x79, 0xff, 0x60, 0xc3, 0x60, 0x23, 0x3c, 0x54, 0xa0, 0x3b, 0xc1, 0x46, 0xf1, 0x89, 0x6c, + 0x17, 0xa5, 0xb9, 0xc9, 0x6c, 0x51, 0x4c, 0xe7, 0x16, 0xbb, 0x0a, 0x74, 0x3b, 0x91, 0xbd, 0x4d, + 0x23, 0xea, 0x4f, 0x1d, 0x8b, 0x89, 0x2c, 0x4a, 0xf3, 0x79, 0xeb, 0x97, 0x1d, 0x29, 0x57, 0xb6, + 0x58, 0xdd, 0xb8, 0xdc, 0xba, 0xd9, 0xe5, 0xc7, 0xa7, 0x8a, 0xc4, 0x73, 0x45, 0xe2, 0x67, 0x45, + 0xe2, 0xa5, 0x22, 0x78, 0xad, 0x08, 0xd6, 0x15, 0xc1, 0xa3, 0x27, 0xf8, 0xe6, 0x09, 0xbe, 0x7b, + 0x82, 0x1f, 0x9e, 0xe0, 0xc9, 0x93, 0x78, 0xf6, 0x04, 0x2f, 0x9e, 0xe0, 0x8f, 0x27, 0xf1, 0xea, + 0x09, 0xd6, 0x9e, 0xc4, 0xe3, 0x6f, 0x12, 0xa6, 0x59, 0xd7, 0x28, 0xfd, 0x1b, 0x00, 0x00, 0xff, + 0xff, 0x3b, 0xfb, 0xd3, 0x99, 0x9a, 0x02, 0x00, 0x00, +} + func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return OneDescription() } @@ -584,263 +616,265 @@ func (this *SampleOneOf) Description() (desc *github_com_gogo_protobuf_protoc_ge func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4082 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0xe6, 0xe2, 0x8f, 0xc0, 0x01, 0x08, 0x2e, 0x97, 0xb4, 0x04, 0xd1, 0x36, 0x24, 0xd1, 0x76, - 0x4c, 0xdb, 0x35, 0x69, 0x53, 0xa2, 0x7e, 0xa0, 0x26, 0x2e, 0x48, 0x42, 0x14, 0x5d, 0x92, 0x60, - 0x16, 0x64, 0xfc, 0x93, 0xe9, 0xec, 0x2c, 0x16, 0x17, 0xe0, 0x4a, 0x8b, 0xdd, 0xcd, 0xee, 0x42, - 0x32, 0x35, 0x7d, 0x50, 0xc7, 0xfd, 0x99, 0x4c, 0xa7, 0xff, 0x9d, 0x69, 0xe2, 0x3a, 0x6e, 0x93, - 0x4e, 0xe3, 0x34, 0xfd, 0x4b, 0x9a, 0x36, 0x4d, 0xd2, 0x97, 0xbe, 0xa4, 0xf5, 0x53, 0x27, 0x79, - 0xeb, 0x43, 0x1e, 0x2c, 0xc6, 0x33, 0x4d, 0x5b, 0xb7, 0x71, 0x5b, 0x3d, 0x78, 0xc6, 0x2f, 0x9d, - 0xfb, 0xb7, 0xbb, 0x58, 0x80, 0x5a, 0x30, 0x33, 0x76, 0x9e, 0xc4, 0x3d, 0xe7, 0x7c, 0xdf, 0xde, - 0x7b, 0xee, 0xb9, 0xe7, 0x9c, 0x7b, 0x17, 0x82, 0x1f, 0x5f, 0x86, 0x33, 0x1d, 0xcb, 0xea, 0x18, - 0x68, 0xd1, 0x76, 0x2c, 0xcf, 0x6a, 0xf6, 0xda, 0x8b, 0x2d, 0xe4, 0x6a, 0x8e, 0x6e, 0x7b, 0x96, - 0xb3, 0x40, 0x64, 0xd2, 0x24, 0xb5, 0x58, 0xe0, 0x16, 0x73, 0x5b, 0x30, 0x75, 0x55, 0x37, 0xd0, - 0x9a, 0x6f, 0xd8, 0x40, 0x9e, 0x74, 0x09, 0x52, 0x6d, 0xdd, 0x40, 0x25, 0xe1, 0x4c, 0x72, 0x3e, - 0xbf, 0xf4, 0xe8, 0x42, 0x04, 0xb4, 0xd0, 0x8f, 0xd8, 0xc1, 0x62, 0x99, 0x20, 0xe6, 0xde, 0x49, - 0xc1, 0xf4, 0x10, 0xad, 0x24, 0x41, 0xca, 0x54, 0xbb, 0x98, 0x51, 0x98, 0xcf, 0xc9, 0xe4, 0x6f, - 0xa9, 0x04, 0xe3, 0xb6, 0xaa, 0xdd, 0x50, 0x3b, 0xa8, 0x94, 0x20, 0x62, 0xfe, 0x28, 0x95, 0x01, - 0x5a, 0xc8, 0x46, 0x66, 0x0b, 0x99, 0xda, 0x41, 0x29, 0x79, 0x26, 0x39, 0x9f, 0x93, 0x43, 0x12, - 0xe9, 0x29, 0x98, 0xb2, 0x7b, 0x4d, 0x43, 0xd7, 0x94, 0x90, 0x19, 0x9c, 0x49, 0xce, 0xa7, 0x65, - 0x91, 0x2a, 0xd6, 0x02, 0xe3, 0xc7, 0x61, 0xf2, 0x16, 0x52, 0x6f, 0x84, 0x4d, 0xf3, 0xc4, 0xb4, - 0x88, 0xc5, 0x21, 0xc3, 0x55, 0x28, 0x74, 0x91, 0xeb, 0xaa, 0x1d, 0xa4, 0x78, 0x07, 0x36, 0x2a, - 0xa5, 0xc8, 0xec, 0xcf, 0x0c, 0xcc, 0x3e, 0x3a, 0xf3, 0x3c, 0x43, 0xed, 0x1e, 0xd8, 0x48, 0xaa, - 0x42, 0x0e, 0x99, 0xbd, 0x2e, 0x65, 0x48, 0x1f, 0xe1, 0xbf, 0x9a, 0xd9, 0xeb, 0x46, 0x59, 0xb2, - 0x18, 0xc6, 0x28, 0xc6, 0x5d, 0xe4, 0xdc, 0xd4, 0x35, 0x54, 0xca, 0x10, 0x82, 0xc7, 0x07, 0x08, - 0x1a, 0x54, 0x1f, 0xe5, 0xe0, 0x38, 0x69, 0x15, 0x72, 0xe8, 0x15, 0x0f, 0x99, 0xae, 0x6e, 0x99, - 0xa5, 0x71, 0x42, 0xf2, 0xd8, 0x90, 0x55, 0x44, 0x46, 0x2b, 0x4a, 0x11, 0xe0, 0xa4, 0x0b, 0x30, - 0x6e, 0xd9, 0x9e, 0x6e, 0x99, 0x6e, 0x29, 0x7b, 0x46, 0x98, 0xcf, 0x2f, 0x3d, 0x34, 0x34, 0x10, - 0xea, 0xd4, 0x46, 0xe6, 0xc6, 0xd2, 0x06, 0x88, 0xae, 0xd5, 0x73, 0x34, 0xa4, 0x68, 0x56, 0x0b, - 0x29, 0xba, 0xd9, 0xb6, 0x4a, 0x39, 0x42, 0x70, 0x7a, 0x70, 0x22, 0xc4, 0x70, 0xd5, 0x6a, 0xa1, - 0x0d, 0xb3, 0x6d, 0xc9, 0x45, 0xb7, 0xef, 0x59, 0x3a, 0x01, 0x19, 0xf7, 0xc0, 0xf4, 0xd4, 0x57, - 0x4a, 0x05, 0x12, 0x21, 0xec, 0x69, 0xee, 0xdb, 0x19, 0x98, 0x1c, 0x25, 0xc4, 0xae, 0x40, 0xba, - 0x8d, 0x67, 0x59, 0x4a, 0x1c, 0xc7, 0x07, 0x14, 0xd3, 0xef, 0xc4, 0xcc, 0x4f, 0xe8, 0xc4, 0x2a, - 0xe4, 0x4d, 0xe4, 0x7a, 0xa8, 0x45, 0x23, 0x22, 0x39, 0x62, 0x4c, 0x01, 0x05, 0x0d, 0x86, 0x54, - 0xea, 0x27, 0x0a, 0xa9, 0x17, 0x61, 0xd2, 0x1f, 0x92, 0xe2, 0xa8, 0x66, 0x87, 0xc7, 0xe6, 0x62, - 0xdc, 0x48, 0x16, 0x6a, 0x1c, 0x27, 0x63, 0x98, 0x5c, 0x44, 0x7d, 0xcf, 0xd2, 0x1a, 0x80, 0x65, - 0x22, 0xab, 0xad, 0xb4, 0x90, 0x66, 0x94, 0xb2, 0x47, 0x78, 0xa9, 0x8e, 0x4d, 0x06, 0xbc, 0x64, - 0x51, 0xa9, 0x66, 0x48, 0x97, 0x83, 0x50, 0x1b, 0x3f, 0x22, 0x52, 0xb6, 0xe8, 0x26, 0x1b, 0x88, - 0xb6, 0x3d, 0x28, 0x3a, 0x08, 0xc7, 0x3d, 0x6a, 0xb1, 0x99, 0xe5, 0xc8, 0x20, 0x16, 0x62, 0x67, - 0x26, 0x33, 0x18, 0x9d, 0xd8, 0x84, 0x13, 0x7e, 0x94, 0x1e, 0x01, 0x5f, 0xa0, 0x90, 0xb0, 0x02, - 0x92, 0x85, 0x0a, 0x5c, 0xb8, 0xad, 0x76, 0xd1, 0xec, 0x6d, 0x28, 0xf6, 0xbb, 0x47, 0x9a, 0x81, - 0xb4, 0xeb, 0xa9, 0x8e, 0x47, 0xa2, 0x30, 0x2d, 0xd3, 0x07, 0x49, 0x84, 0x24, 0x32, 0x5b, 0x24, - 0xcb, 0xa5, 0x65, 0xfc, 0xa7, 0xf4, 0x73, 0xc1, 0x84, 0x93, 0x64, 0xc2, 0x1f, 0x1b, 0x5c, 0xd1, - 0x3e, 0xe6, 0xe8, 0xbc, 0x67, 0x2f, 0xc2, 0x44, 0xdf, 0x04, 0x46, 0x7d, 0xf5, 0xdc, 0x2f, 0xc2, - 0x03, 0x43, 0xa9, 0xa5, 0x17, 0x61, 0xa6, 0x67, 0xea, 0xa6, 0x87, 0x1c, 0xdb, 0x41, 0x38, 0x62, - 0xe9, 0xab, 0x4a, 0xff, 0x36, 0x7e, 0x44, 0xcc, 0xed, 0x85, 0xad, 0x29, 0x8b, 0x3c, 0xdd, 0x1b, - 0x14, 0x3e, 0x99, 0xcb, 0xfe, 0x68, 0x5c, 0xbc, 0x73, 0xe7, 0xce, 0x9d, 0xc4, 0xdc, 0xe7, 0x32, - 0x30, 0x33, 0x6c, 0xcf, 0x0c, 0xdd, 0xbe, 0x27, 0x20, 0x63, 0xf6, 0xba, 0x4d, 0xe4, 0x10, 0x27, - 0xa5, 0x65, 0xf6, 0x24, 0x55, 0x21, 0x6d, 0xa8, 0x4d, 0x64, 0x94, 0x52, 0x67, 0x84, 0xf9, 0xe2, - 0xd2, 0x53, 0x23, 0xed, 0xca, 0x85, 0x4d, 0x0c, 0x91, 0x29, 0x52, 0xfa, 0x04, 0xa4, 0x58, 0x8a, - 0xc6, 0x0c, 0x4f, 0x8e, 0xc6, 0x80, 0xf7, 0x92, 0x4c, 0x70, 0xd2, 0x83, 0x90, 0xc3, 0xff, 0xd2, - 0xd8, 0xc8, 0x90, 0x31, 0x67, 0xb1, 0x00, 0xc7, 0x85, 0x34, 0x0b, 0x59, 0xb2, 0x4d, 0x5a, 0x88, - 0x97, 0x36, 0xff, 0x19, 0x07, 0x56, 0x0b, 0xb5, 0xd5, 0x9e, 0xe1, 0x29, 0x37, 0x55, 0xa3, 0x87, - 0x48, 0xc0, 0xe7, 0xe4, 0x02, 0x13, 0x7e, 0x0a, 0xcb, 0xa4, 0xd3, 0x90, 0xa7, 0xbb, 0x4a, 0x37, - 0x5b, 0xe8, 0x15, 0x92, 0x3d, 0xd3, 0x32, 0xdd, 0x68, 0x1b, 0x58, 0x82, 0x5f, 0x7f, 0xdd, 0xb5, - 0x4c, 0x1e, 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0x7f, 0x31, 0x9a, 0xb8, 0x1f, 0x1e, 0x3e, 0xbd, - 0x68, 0x4c, 0xcd, 0x7d, 0x33, 0x01, 0x29, 0x92, 0x2f, 0x26, 0x21, 0xbf, 0xfb, 0xd2, 0x4e, 0x4d, - 0x59, 0xab, 0xef, 0xad, 0x6c, 0xd6, 0x44, 0x41, 0x2a, 0x02, 0x10, 0xc1, 0xd5, 0xcd, 0x7a, 0x75, - 0x57, 0x4c, 0xf8, 0xcf, 0x1b, 0xdb, 0xbb, 0x17, 0xce, 0x8b, 0x49, 0x1f, 0xb0, 0x47, 0x05, 0xa9, - 0xb0, 0xc1, 0xb9, 0x25, 0x31, 0x2d, 0x89, 0x50, 0xa0, 0x04, 0x1b, 0x2f, 0xd6, 0xd6, 0x2e, 0x9c, - 0x17, 0x33, 0xfd, 0x92, 0x73, 0x4b, 0xe2, 0xb8, 0x34, 0x01, 0x39, 0x22, 0x59, 0xa9, 0xd7, 0x37, - 0xc5, 0xac, 0xcf, 0xd9, 0xd8, 0x95, 0x37, 0xb6, 0xd7, 0xc5, 0x9c, 0xcf, 0xb9, 0x2e, 0xd7, 0xf7, - 0x76, 0x44, 0xf0, 0x19, 0xb6, 0x6a, 0x8d, 0x46, 0x75, 0xbd, 0x26, 0xe6, 0x7d, 0x8b, 0x95, 0x97, - 0x76, 0x6b, 0x0d, 0xb1, 0xd0, 0x37, 0xac, 0x73, 0x4b, 0xe2, 0x84, 0xff, 0x8a, 0xda, 0xf6, 0xde, - 0x96, 0x58, 0x94, 0xa6, 0x60, 0x82, 0xbe, 0x82, 0x0f, 0x62, 0x32, 0x22, 0xba, 0x70, 0x5e, 0x14, - 0x83, 0x81, 0x50, 0x96, 0xa9, 0x3e, 0xc1, 0x85, 0xf3, 0xa2, 0x34, 0xb7, 0x0a, 0x69, 0x12, 0x5d, - 0x92, 0x04, 0xc5, 0xcd, 0xea, 0x4a, 0x6d, 0x53, 0xa9, 0xef, 0xec, 0x6e, 0xd4, 0xb7, 0xab, 0x9b, - 0xa2, 0x10, 0xc8, 0xe4, 0xda, 0x27, 0xf7, 0x36, 0xe4, 0xda, 0x9a, 0x98, 0x08, 0xcb, 0x76, 0x6a, - 0xd5, 0xdd, 0xda, 0x9a, 0x98, 0x9c, 0xd3, 0x60, 0x66, 0x58, 0x9e, 0x1c, 0xba, 0x33, 0x42, 0x4b, - 0x9c, 0x38, 0x62, 0x89, 0x09, 0xd7, 0xc0, 0x12, 0xff, 0x30, 0x01, 0xd3, 0x43, 0x6a, 0xc5, 0xd0, - 0x97, 0x3c, 0x07, 0x69, 0x1a, 0xa2, 0xb4, 0x7a, 0x3e, 0x31, 0xb4, 0xe8, 0x90, 0x80, 0x1d, 0xa8, - 0xa0, 0x04, 0x17, 0xee, 0x20, 0x92, 0x47, 0x74, 0x10, 0x98, 0x62, 0x20, 0xa7, 0xff, 0xc2, 0x40, - 0x4e, 0xa7, 0x65, 0xef, 0xc2, 0x28, 0x65, 0x8f, 0xc8, 0x8e, 0x97, 0xdb, 0xd3, 0x43, 0x72, 0xfb, - 0x15, 0x98, 0x1a, 0x20, 0x1a, 0x39, 0xc7, 0xbe, 0x2a, 0x40, 0xe9, 0x28, 0xe7, 0xc4, 0x64, 0xba, - 0x44, 0x5f, 0xa6, 0xbb, 0x12, 0xf5, 0xe0, 0xd9, 0xa3, 0x17, 0x61, 0x60, 0xad, 0xdf, 0x14, 0xe0, - 0xc4, 0xf0, 0x4e, 0x71, 0xe8, 0x18, 0x3e, 0x01, 0x99, 0x2e, 0xf2, 0xf6, 0x2d, 0xde, 0x2d, 0x7d, - 0x6c, 0x48, 0x0d, 0xc6, 0xea, 0xe8, 0x62, 0x33, 0x54, 0xb8, 0x88, 0x27, 0x8f, 0x6a, 0xf7, 0xe8, - 0x68, 0x06, 0x46, 0xfa, 0xd9, 0x04, 0x3c, 0x30, 0x94, 0x7c, 0xe8, 0x40, 0x1f, 0x06, 0xd0, 0x4d, - 0xbb, 0xe7, 0xd1, 0x8e, 0x88, 0x26, 0xd8, 0x1c, 0x91, 0x90, 0xe4, 0x85, 0x93, 0x67, 0xcf, 0xf3, - 0xf5, 0x49, 0xa2, 0x07, 0x2a, 0x22, 0x06, 0x97, 0x82, 0x81, 0xa6, 0xc8, 0x40, 0xcb, 0x47, 0xcc, - 0x74, 0x20, 0x30, 0x9f, 0x01, 0x51, 0x33, 0x74, 0x64, 0x7a, 0x8a, 0xeb, 0x39, 0x48, 0xed, 0xea, - 0x66, 0x87, 0x54, 0x90, 0x6c, 0x25, 0xdd, 0x56, 0x0d, 0x17, 0xc9, 0x93, 0x54, 0xdd, 0xe0, 0x5a, - 0x8c, 0x20, 0x01, 0xe4, 0x84, 0x10, 0x99, 0x3e, 0x04, 0x55, 0xfb, 0x88, 0xb9, 0x6f, 0x64, 0x21, - 0x1f, 0xea, 0xab, 0xa5, 0xb3, 0x50, 0xb8, 0xae, 0xde, 0x54, 0x15, 0x7e, 0x56, 0xa2, 0x9e, 0xc8, - 0x63, 0xd9, 0x0e, 0x3b, 0x2f, 0x3d, 0x03, 0x33, 0xc4, 0xc4, 0xea, 0x79, 0xc8, 0x51, 0x34, 0x43, - 0x75, 0x5d, 0xe2, 0xb4, 0x2c, 0x31, 0x95, 0xb0, 0xae, 0x8e, 0x55, 0xab, 0x5c, 0x23, 0x2d, 0xc3, - 0x34, 0x41, 0x74, 0x7b, 0x86, 0xa7, 0xdb, 0x06, 0x52, 0xf0, 0xe9, 0xcd, 0x25, 0x95, 0xc4, 0x1f, - 0xd9, 0x14, 0xb6, 0xd8, 0x62, 0x06, 0x78, 0x44, 0xae, 0xb4, 0x06, 0x0f, 0x13, 0x58, 0x07, 0x99, - 0xc8, 0x51, 0x3d, 0xa4, 0xa0, 0xcf, 0xf4, 0x54, 0xc3, 0x55, 0x54, 0xb3, 0xa5, 0xec, 0xab, 0xee, - 0x7e, 0x69, 0x06, 0x13, 0xac, 0x24, 0x4a, 0x82, 0x7c, 0x0a, 0x1b, 0xae, 0x33, 0xbb, 0x1a, 0x31, - 0xab, 0x9a, 0xad, 0x6b, 0xaa, 0xbb, 0x2f, 0x55, 0xe0, 0x04, 0x61, 0x71, 0x3d, 0x47, 0x37, 0x3b, - 0x8a, 0xb6, 0x8f, 0xb4, 0x1b, 0x4a, 0xcf, 0x6b, 0x5f, 0x2a, 0x3d, 0x18, 0x7e, 0x3f, 0x19, 0x61, - 0x83, 0xd8, 0xac, 0x62, 0x93, 0x3d, 0xaf, 0x7d, 0x49, 0x6a, 0x40, 0x01, 0x2f, 0x46, 0x57, 0xbf, - 0x8d, 0x94, 0xb6, 0xe5, 0x90, 0xd2, 0x58, 0x1c, 0x92, 0x9a, 0x42, 0x1e, 0x5c, 0xa8, 0x33, 0xc0, - 0x96, 0xd5, 0x42, 0x95, 0x74, 0x63, 0xa7, 0x56, 0x5b, 0x93, 0xf3, 0x9c, 0xe5, 0xaa, 0xe5, 0xe0, - 0x80, 0xea, 0x58, 0xbe, 0x83, 0xf3, 0x34, 0xa0, 0x3a, 0x16, 0x77, 0xef, 0x32, 0x4c, 0x6b, 0x1a, - 0x9d, 0xb3, 0xae, 0x29, 0xec, 0x8c, 0xe5, 0x96, 0xc4, 0x3e, 0x67, 0x69, 0xda, 0x3a, 0x35, 0x60, - 0x31, 0xee, 0x4a, 0x97, 0xe1, 0x81, 0xc0, 0x59, 0x61, 0xe0, 0xd4, 0xc0, 0x2c, 0xa3, 0xd0, 0x65, - 0x98, 0xb6, 0x0f, 0x06, 0x81, 0x52, 0xdf, 0x1b, 0xed, 0x83, 0x28, 0xec, 0x22, 0xcc, 0xd8, 0xfb, - 0xf6, 0x20, 0xee, 0xc9, 0x30, 0x4e, 0xb2, 0xf7, 0xed, 0x28, 0xf0, 0x31, 0x72, 0xe0, 0x76, 0x90, - 0xa6, 0x7a, 0xa8, 0x55, 0x3a, 0x19, 0x36, 0x0f, 0x29, 0xa4, 0x45, 0x10, 0x35, 0x4d, 0x41, 0xa6, - 0xda, 0x34, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xd2, 0xe9, 0xb0, 0x71, 0x51, 0xd3, 0x6a, 0x44, - 0x5b, 0x25, 0x4a, 0xe9, 0x49, 0x98, 0xb2, 0x9a, 0xd7, 0x35, 0x1a, 0x92, 0x8a, 0xed, 0xa0, 0xb6, - 0xfe, 0x4a, 0xe9, 0x51, 0xe2, 0xdf, 0x49, 0xac, 0x20, 0x01, 0xb9, 0x43, 0xc4, 0xd2, 0x13, 0x20, - 0x6a, 0xee, 0xbe, 0xea, 0xd8, 0x24, 0x27, 0xbb, 0xb6, 0xaa, 0xa1, 0xd2, 0x63, 0xd4, 0x94, 0xca, - 0xb7, 0xb9, 0x18, 0x6f, 0x09, 0xf7, 0x96, 0xde, 0xf6, 0x38, 0xe3, 0xe3, 0x74, 0x4b, 0x10, 0x19, - 0x63, 0x9b, 0x07, 0x11, 0xbb, 0xa2, 0xef, 0xc5, 0xf3, 0xc4, 0xac, 0x68, 0xef, 0xdb, 0xe1, 0xf7, - 0x3e, 0x02, 0x13, 0xd8, 0x32, 0x78, 0xe9, 0x13, 0xb4, 0x21, 0xb3, 0xf7, 0x43, 0x6f, 0xfc, 0xd0, - 0x7a, 0xe3, 0xb9, 0x0a, 0x14, 0xc2, 0xf1, 0x29, 0xe5, 0x80, 0x46, 0xa8, 0x28, 0xe0, 0x66, 0x65, - 0xb5, 0xbe, 0x86, 0xdb, 0x8c, 0x97, 0x6b, 0x62, 0x02, 0xb7, 0x3b, 0x9b, 0x1b, 0xbb, 0x35, 0x45, - 0xde, 0xdb, 0xde, 0xdd, 0xd8, 0xaa, 0x89, 0xc9, 0x70, 0x5f, 0xfd, 0xdd, 0x04, 0x14, 0xfb, 0x8f, - 0x48, 0xd2, 0xcf, 0xc2, 0x49, 0x7e, 0x9f, 0xe1, 0x22, 0x4f, 0xb9, 0xa5, 0x3b, 0x64, 0xcb, 0x74, - 0x55, 0x5a, 0xbe, 0xfc, 0x45, 0x9b, 0x61, 0x56, 0x0d, 0xe4, 0xbd, 0xa0, 0x3b, 0x78, 0x43, 0x74, - 0x55, 0x4f, 0xda, 0x84, 0xd3, 0xa6, 0xa5, 0xb8, 0x9e, 0x6a, 0xb6, 0x54, 0xa7, 0xa5, 0x04, 0x37, - 0x49, 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0xaa, 0x7c, 0x96, 0x87, 0x4c, 0xab, 0xc1, 0x8c, - 0x83, 0x1c, 0x5e, 0x65, 0xa6, 0x91, 0x00, 0x4b, 0x1e, 0x15, 0x60, 0x0f, 0x42, 0xae, 0xab, 0xda, - 0x0a, 0x32, 0x3d, 0xe7, 0x80, 0x34, 0xc6, 0x59, 0x39, 0xdb, 0x55, 0xed, 0x1a, 0x7e, 0xfe, 0x68, - 0xce, 0x27, 0x3f, 0x48, 0x42, 0x21, 0xdc, 0x1c, 0xe3, 0xb3, 0x86, 0x46, 0xea, 0x88, 0x40, 0x32, - 0xcd, 0x23, 0xf7, 0x6d, 0xa5, 0x17, 0x56, 0x71, 0x81, 0xa9, 0x64, 0x68, 0xcb, 0x2a, 0x53, 0x24, - 0x2e, 0xee, 0x38, 0xb7, 0x20, 0xda, 0x22, 0x64, 0x65, 0xf6, 0x24, 0xad, 0x43, 0xe6, 0xba, 0x4b, - 0xb8, 0x33, 0x84, 0xfb, 0xd1, 0xfb, 0x73, 0x3f, 0xdf, 0x20, 0xe4, 0xb9, 0xe7, 0x1b, 0xca, 0x76, - 0x5d, 0xde, 0xaa, 0x6e, 0xca, 0x0c, 0x2e, 0x9d, 0x82, 0x94, 0xa1, 0xde, 0x3e, 0xe8, 0x2f, 0x45, - 0x44, 0x34, 0xaa, 0xe3, 0x4f, 0x41, 0xea, 0x16, 0x52, 0x6f, 0xf4, 0x17, 0x00, 0x22, 0xfa, 0x10, - 0x43, 0x7f, 0x11, 0xd2, 0xc4, 0x5f, 0x12, 0x00, 0xf3, 0x98, 0x38, 0x26, 0x65, 0x21, 0xb5, 0x5a, - 0x97, 0x71, 0xf8, 0x8b, 0x50, 0xa0, 0x52, 0x65, 0x67, 0xa3, 0xb6, 0x5a, 0x13, 0x13, 0x73, 0xcb, - 0x90, 0xa1, 0x4e, 0xc0, 0x5b, 0xc3, 0x77, 0x83, 0x38, 0xc6, 0x1e, 0x19, 0x87, 0xc0, 0xb5, 0x7b, - 0x5b, 0x2b, 0x35, 0x59, 0x4c, 0x84, 0x97, 0xd7, 0x85, 0x42, 0xb8, 0x2f, 0xfe, 0x68, 0x62, 0xea, - 0x3b, 0x02, 0xe4, 0x43, 0x7d, 0x2e, 0x6e, 0x50, 0x54, 0xc3, 0xb0, 0x6e, 0x29, 0xaa, 0xa1, 0xab, - 0x2e, 0x0b, 0x0a, 0x20, 0xa2, 0x2a, 0x96, 0x8c, 0xba, 0x68, 0x1f, 0xc9, 0xe0, 0xdf, 0x10, 0x40, - 0x8c, 0xb6, 0x98, 0x91, 0x01, 0x0a, 0x3f, 0xd5, 0x01, 0xbe, 0x2e, 0x40, 0xb1, 0xbf, 0xaf, 0x8c, - 0x0c, 0xef, 0xec, 0x4f, 0x75, 0x78, 0x6f, 0x27, 0x60, 0xa2, 0xaf, 0x9b, 0x1c, 0x75, 0x74, 0x9f, - 0x81, 0x29, 0xbd, 0x85, 0xba, 0xb6, 0xe5, 0x21, 0x53, 0x3b, 0x50, 0x0c, 0x74, 0x13, 0x19, 0xa5, - 0x39, 0x92, 0x28, 0x16, 0xef, 0xdf, 0xaf, 0x2e, 0x6c, 0x04, 0xb8, 0x4d, 0x0c, 0xab, 0x4c, 0x6f, - 0xac, 0xd5, 0xb6, 0x76, 0xea, 0xbb, 0xb5, 0xed, 0xd5, 0x97, 0x94, 0xbd, 0xed, 0x9f, 0xdf, 0xae, - 0xbf, 0xb0, 0x2d, 0x8b, 0x7a, 0xc4, 0xec, 0x43, 0xdc, 0xea, 0x3b, 0x20, 0x46, 0x07, 0x25, 0x9d, - 0x84, 0x61, 0xc3, 0x12, 0xc7, 0xa4, 0x69, 0x98, 0xdc, 0xae, 0x2b, 0x8d, 0x8d, 0xb5, 0x9a, 0x52, - 0xbb, 0x7a, 0xb5, 0xb6, 0xba, 0xdb, 0xa0, 0x37, 0x10, 0xbe, 0xf5, 0x6e, 0xff, 0xa6, 0x7e, 0x2d, - 0x09, 0xd3, 0x43, 0x46, 0x22, 0x55, 0xd9, 0xd9, 0x81, 0x1e, 0x67, 0x9e, 0x1e, 0x65, 0xf4, 0x0b, - 0xb8, 0xe4, 0xef, 0xa8, 0x8e, 0xc7, 0x8e, 0x1a, 0x4f, 0x00, 0xf6, 0x92, 0xe9, 0xe9, 0x6d, 0x1d, - 0x39, 0xec, 0xc2, 0x86, 0x1e, 0x28, 0x26, 0x03, 0x39, 0xbd, 0xb3, 0xf9, 0x19, 0x90, 0x6c, 0xcb, - 0xd5, 0x3d, 0xfd, 0x26, 0x52, 0x74, 0x93, 0xdf, 0xee, 0xe0, 0x03, 0x46, 0x4a, 0x16, 0xb9, 0x66, - 0xc3, 0xf4, 0x7c, 0x6b, 0x13, 0x75, 0xd4, 0x88, 0x35, 0x4e, 0xe0, 0x49, 0x59, 0xe4, 0x1a, 0xdf, - 0xfa, 0x2c, 0x14, 0x5a, 0x56, 0x0f, 0x77, 0x5d, 0xd4, 0x0e, 0xd7, 0x0b, 0x41, 0xce, 0x53, 0x99, - 0x6f, 0xc2, 0xfa, 0xe9, 0xe0, 0x5a, 0xa9, 0x20, 0xe7, 0xa9, 0x8c, 0x9a, 0x3c, 0x0e, 0x93, 0x6a, - 0xa7, 0xe3, 0x60, 0x72, 0x4e, 0x44, 0x4f, 0x08, 0x45, 0x5f, 0x4c, 0x0c, 0x67, 0x9f, 0x87, 0x2c, - 0xf7, 0x03, 0x2e, 0xc9, 0xd8, 0x13, 0x8a, 0x4d, 0x8f, 0xbd, 0x89, 0xf9, 0x9c, 0x9c, 0x35, 0xb9, - 0xf2, 0x2c, 0x14, 0x74, 0x57, 0x09, 0x6e, 0xc9, 0x13, 0x67, 0x12, 0xf3, 0x59, 0x39, 0xaf, 0xbb, - 0xfe, 0x0d, 0xe3, 0xdc, 0x9b, 0x09, 0x28, 0xf6, 0xdf, 0xf2, 0x4b, 0x6b, 0x90, 0x35, 0x2c, 0x4d, - 0x25, 0xa1, 0x45, 0x3f, 0x31, 0xcd, 0xc7, 0x7c, 0x18, 0x58, 0xd8, 0x64, 0xf6, 0xb2, 0x8f, 0x9c, - 0xfd, 0x17, 0x01, 0xb2, 0x5c, 0x2c, 0x9d, 0x80, 0x94, 0xad, 0x7a, 0xfb, 0x84, 0x2e, 0xbd, 0x92, - 0x10, 0x05, 0x99, 0x3c, 0x63, 0xb9, 0x6b, 0xab, 0x26, 0x09, 0x01, 0x26, 0xc7, 0xcf, 0x78, 0x5d, - 0x0d, 0xa4, 0xb6, 0xc8, 0xf1, 0xc3, 0xea, 0x76, 0x91, 0xe9, 0xb9, 0x7c, 0x5d, 0x99, 0x7c, 0x95, - 0x89, 0xa5, 0xa7, 0x60, 0xca, 0x73, 0x54, 0xdd, 0xe8, 0xb3, 0x4d, 0x11, 0x5b, 0x91, 0x2b, 0x7c, - 0xe3, 0x0a, 0x9c, 0xe2, 0xbc, 0x2d, 0xe4, 0xa9, 0xda, 0x3e, 0x6a, 0x05, 0xa0, 0x0c, 0xb9, 0x66, - 0x38, 0xc9, 0x0c, 0xd6, 0x98, 0x9e, 0x63, 0xe7, 0xbe, 0x2f, 0xc0, 0x14, 0x3f, 0x30, 0xb5, 0x7c, - 0x67, 0x6d, 0x01, 0xa8, 0xa6, 0x69, 0x79, 0x61, 0x77, 0x0d, 0x86, 0xf2, 0x00, 0x6e, 0xa1, 0xea, - 0x83, 0xe4, 0x10, 0xc1, 0x6c, 0x17, 0x20, 0xd0, 0x1c, 0xe9, 0xb6, 0xd3, 0x90, 0x67, 0x9f, 0x70, - 0xc8, 0x77, 0x40, 0x7a, 0xc4, 0x06, 0x2a, 0xc2, 0x27, 0x2b, 0x69, 0x06, 0xd2, 0x4d, 0xd4, 0xd1, - 0x4d, 0x76, 0x31, 0x4b, 0x1f, 0xf8, 0x45, 0x48, 0xca, 0xbf, 0x08, 0x59, 0xf9, 0x34, 0x4c, 0x6b, - 0x56, 0x37, 0x3a, 0xdc, 0x15, 0x31, 0x72, 0xcc, 0x77, 0xaf, 0x09, 0x2f, 0x43, 0xd0, 0x62, 0xbe, - 0x2f, 0x08, 0x5f, 0x4a, 0x24, 0xd7, 0x77, 0x56, 0xbe, 0x9a, 0x98, 0x5d, 0xa7, 0xd0, 0x1d, 0x3e, - 0x53, 0x19, 0xb5, 0x0d, 0xa4, 0xe1, 0xd1, 0xc3, 0x97, 0x9f, 0x82, 0xa7, 0x3b, 0xba, 0xb7, 0xdf, - 0x6b, 0x2e, 0x68, 0x56, 0x77, 0xb1, 0x63, 0x75, 0xac, 0xe0, 0xd3, 0x27, 0x7e, 0x22, 0x0f, 0xe4, - 0x2f, 0xf6, 0xf9, 0x33, 0xe7, 0x4b, 0x67, 0x63, 0xbf, 0x95, 0x56, 0xb6, 0x61, 0x9a, 0x19, 0x2b, - 0xe4, 0xfb, 0x0b, 0x3d, 0x45, 0x48, 0xf7, 0xbd, 0xc3, 0x2a, 0x7d, 0xfd, 0x1d, 0x52, 0xae, 0xe5, - 0x29, 0x06, 0xc5, 0x3a, 0x7a, 0xd0, 0xa8, 0xc8, 0xf0, 0x40, 0x1f, 0x1f, 0xdd, 0x9a, 0xc8, 0x89, - 0x61, 0xfc, 0x2e, 0x63, 0x9c, 0x0e, 0x31, 0x36, 0x18, 0xb4, 0xb2, 0x0a, 0x13, 0xc7, 0xe1, 0xfa, - 0x27, 0xc6, 0x55, 0x40, 0x61, 0x92, 0x75, 0x98, 0x24, 0x24, 0x5a, 0xcf, 0xf5, 0xac, 0x2e, 0xc9, - 0x7b, 0xf7, 0xa7, 0xf9, 0xe7, 0x77, 0xe8, 0x5e, 0x29, 0x62, 0xd8, 0xaa, 0x8f, 0xaa, 0x54, 0x80, - 0x7c, 0x72, 0x6a, 0x21, 0xcd, 0x88, 0x61, 0x78, 0x8b, 0x0d, 0xc4, 0xb7, 0xaf, 0x7c, 0x0a, 0x66, - 0xf0, 0xdf, 0x24, 0x2d, 0x85, 0x47, 0x12, 0x7f, 0xe1, 0x55, 0xfa, 0xfe, 0xab, 0x74, 0x3b, 0x4e, - 0xfb, 0x04, 0xa1, 0x31, 0x85, 0x56, 0xb1, 0x83, 0x3c, 0x0f, 0x39, 0xae, 0xa2, 0x1a, 0xc3, 0x86, - 0x17, 0xba, 0x31, 0x28, 0x7d, 0xfe, 0xdd, 0xfe, 0x55, 0x5c, 0xa7, 0xc8, 0xaa, 0x61, 0x54, 0xf6, - 0xe0, 0xe4, 0x90, 0xa8, 0x18, 0x81, 0xf3, 0x35, 0xc6, 0x39, 0x33, 0x10, 0x19, 0x98, 0x76, 0x07, - 0xb8, 0xdc, 0x5f, 0xcb, 0x11, 0x38, 0xff, 0x90, 0x71, 0x4a, 0x0c, 0xcb, 0x97, 0x14, 0x33, 0x3e, - 0x0f, 0x53, 0x37, 0x91, 0xd3, 0xb4, 0x5c, 0x76, 0x4b, 0x33, 0x02, 0xdd, 0xeb, 0x8c, 0x6e, 0x92, - 0x01, 0xc9, 0xb5, 0x0d, 0xe6, 0xba, 0x0c, 0xd9, 0xb6, 0xaa, 0xa1, 0x11, 0x28, 0xbe, 0xc0, 0x28, - 0xc6, 0xb1, 0x3d, 0x86, 0x56, 0xa1, 0xd0, 0xb1, 0x58, 0x65, 0x8a, 0x87, 0xbf, 0xc1, 0xe0, 0x79, - 0x8e, 0x61, 0x14, 0xb6, 0x65, 0xf7, 0x0c, 0x5c, 0xb6, 0xe2, 0x29, 0xfe, 0x88, 0x53, 0x70, 0x0c, - 0xa3, 0x38, 0x86, 0x5b, 0xff, 0x98, 0x53, 0xb8, 0x21, 0x7f, 0x3e, 0x07, 0x79, 0xcb, 0x34, 0x0e, - 0x2c, 0x73, 0x94, 0x41, 0x7c, 0x91, 0x31, 0x00, 0x83, 0x60, 0x82, 0x2b, 0x90, 0x1b, 0x75, 0x21, - 0xfe, 0xf4, 0x5d, 0xbe, 0x3d, 0xf8, 0x0a, 0xac, 0xc3, 0x24, 0x4f, 0x50, 0xba, 0x65, 0x8e, 0x40, - 0xf1, 0x65, 0x46, 0x51, 0x0c, 0xc1, 0xd8, 0x34, 0x3c, 0xe4, 0x7a, 0x1d, 0x34, 0x0a, 0xc9, 0x9b, - 0x7c, 0x1a, 0x0c, 0xc2, 0x5c, 0xd9, 0x44, 0xa6, 0xb6, 0x3f, 0x1a, 0xc3, 0x57, 0xb8, 0x2b, 0x39, - 0x06, 0x53, 0xac, 0xc2, 0x44, 0x57, 0x75, 0xdc, 0x7d, 0xd5, 0x18, 0x69, 0x39, 0xfe, 0x8c, 0x71, - 0x14, 0x7c, 0x10, 0xf3, 0x48, 0xcf, 0x3c, 0x0e, 0xcd, 0x57, 0xb9, 0x47, 0x42, 0x30, 0xb6, 0xf5, - 0x5c, 0x8f, 0x5c, 0x69, 0x1d, 0x87, 0xed, 0xcf, 0xf9, 0xd6, 0xa3, 0xd8, 0xad, 0x30, 0xe3, 0x15, - 0xc8, 0xb9, 0xfa, 0xed, 0x91, 0x68, 0xfe, 0x82, 0xaf, 0x34, 0x01, 0x60, 0xf0, 0x4b, 0x70, 0x6a, - 0x68, 0x99, 0x18, 0x81, 0xec, 0x2f, 0x19, 0xd9, 0x89, 0x21, 0xa5, 0x82, 0xa5, 0x84, 0xe3, 0x52, - 0xfe, 0x15, 0x4f, 0x09, 0x28, 0xc2, 0xb5, 0x83, 0xcf, 0x0a, 0xae, 0xda, 0x3e, 0x9e, 0xd7, 0xfe, - 0x9a, 0x7b, 0x8d, 0x62, 0xfb, 0xbc, 0xb6, 0x0b, 0x27, 0x18, 0xe3, 0xf1, 0xd6, 0xf5, 0x6b, 0x3c, - 0xb1, 0x52, 0xf4, 0x5e, 0xff, 0xea, 0x7e, 0x1a, 0x66, 0x7d, 0x77, 0xf2, 0xa6, 0xd4, 0x55, 0xba, - 0xaa, 0x3d, 0x02, 0xf3, 0xd7, 0x19, 0x33, 0xcf, 0xf8, 0x7e, 0x57, 0xeb, 0x6e, 0xa9, 0x36, 0x26, - 0x7f, 0x11, 0x4a, 0x9c, 0xbc, 0x67, 0x3a, 0x48, 0xb3, 0x3a, 0xa6, 0x7e, 0x1b, 0xb5, 0x46, 0xa0, - 0xfe, 0x9b, 0xc8, 0x52, 0xed, 0x85, 0xe0, 0x98, 0x79, 0x03, 0x44, 0xbf, 0x57, 0x51, 0xf4, 0xae, - 0x6d, 0x39, 0x5e, 0x0c, 0xe3, 0x37, 0xf8, 0x4a, 0xf9, 0xb8, 0x0d, 0x02, 0xab, 0xd4, 0xa0, 0x48, - 0x1e, 0x47, 0x0d, 0xc9, 0xbf, 0x65, 0x44, 0x13, 0x01, 0x8a, 0x25, 0x0e, 0xcd, 0xea, 0xda, 0xaa, - 0x33, 0x4a, 0xfe, 0xfb, 0x3b, 0x9e, 0x38, 0x18, 0x84, 0x25, 0x0e, 0xef, 0xc0, 0x46, 0xb8, 0xda, - 0x8f, 0xc0, 0xf0, 0x4d, 0x9e, 0x38, 0x38, 0x86, 0x51, 0xf0, 0x86, 0x61, 0x04, 0x8a, 0xbf, 0xe7, - 0x14, 0x1c, 0x83, 0x29, 0x3e, 0x19, 0x14, 0x5a, 0x07, 0x75, 0x74, 0xd7, 0x73, 0x68, 0x2b, 0x7c, - 0x7f, 0xaa, 0x6f, 0xbd, 0xdb, 0xdf, 0x84, 0xc9, 0x21, 0x28, 0xce, 0x44, 0xec, 0x0a, 0x95, 0x9c, - 0x94, 0xe2, 0x07, 0xf6, 0x6d, 0x9e, 0x89, 0x42, 0x30, 0x3c, 0xb6, 0x50, 0x87, 0x88, 0xdd, 0xae, - 0xe1, 0xf3, 0xc1, 0x08, 0x74, 0xdf, 0x89, 0x0c, 0xae, 0xc1, 0xb1, 0x98, 0x33, 0xd4, 0xff, 0xf4, - 0xcc, 0x1b, 0xe8, 0x60, 0xa4, 0xe8, 0xfc, 0x87, 0x48, 0xff, 0xb3, 0x47, 0x91, 0x34, 0x87, 0x4c, - 0x46, 0xfa, 0x29, 0x29, 0xee, 0xc7, 0x3a, 0xa5, 0x5f, 0xba, 0xc7, 0xe6, 0xdb, 0xdf, 0x4e, 0x55, - 0x36, 0x71, 0x90, 0xf7, 0x37, 0x3d, 0xf1, 0x64, 0xaf, 0xde, 0xf3, 0xe3, 0xbc, 0xaf, 0xe7, 0xa9, - 0x5c, 0x85, 0x89, 0xbe, 0x86, 0x27, 0x9e, 0xea, 0x97, 0x19, 0x55, 0x21, 0xdc, 0xef, 0x54, 0x96, - 0x21, 0x85, 0x9b, 0x97, 0x78, 0xf8, 0xaf, 0x30, 0x38, 0x31, 0xaf, 0x7c, 0x1c, 0xb2, 0xbc, 0x69, - 0x89, 0x87, 0xfe, 0x2a, 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x0d, 0x4b, 0x3c, 0xfc, 0xd7, 0x38, 0x9c, - 0x43, 0x30, 0x7c, 0x74, 0x17, 0xfe, 0xe3, 0xaf, 0xa7, 0x58, 0xd1, 0xe1, 0xbe, 0xbb, 0x02, 0xe3, - 0xac, 0x53, 0x89, 0x47, 0x7f, 0x96, 0xbd, 0x9c, 0x23, 0x2a, 0x17, 0x21, 0x3d, 0xa2, 0xc3, 0x7f, - 0x83, 0x41, 0xa9, 0x7d, 0x65, 0x15, 0xf2, 0xa1, 0xee, 0x24, 0x1e, 0xfe, 0x9b, 0x0c, 0x1e, 0x46, - 0xe1, 0xa1, 0xb3, 0xee, 0x24, 0x9e, 0xe0, 0xb7, 0xf8, 0xd0, 0x19, 0x02, 0xbb, 0x8d, 0x37, 0x26, - 0xf1, 0xe8, 0xdf, 0xe6, 0x5e, 0xe7, 0x90, 0xca, 0x73, 0x90, 0xf3, 0x8b, 0x4d, 0x3c, 0xfe, 0x77, - 0x18, 0x3e, 0xc0, 0x60, 0x0f, 0x84, 0x8a, 0x5d, 0x3c, 0xc5, 0xef, 0x72, 0x0f, 0x84, 0x50, 0x78, - 0x1b, 0x45, 0x1b, 0x98, 0x78, 0xa6, 0xdf, 0xe3, 0xdb, 0x28, 0xd2, 0xbf, 0xe0, 0xd5, 0x24, 0x39, - 0x3f, 0x9e, 0xe2, 0xf7, 0xf9, 0x6a, 0x12, 0x7b, 0x3c, 0x8c, 0x68, 0x47, 0x10, 0xcf, 0xf1, 0x07, - 0x7c, 0x18, 0x91, 0x86, 0xa0, 0xb2, 0x03, 0xd2, 0x60, 0x37, 0x10, 0xcf, 0xf7, 0x39, 0xc6, 0x37, - 0x35, 0xd0, 0x0c, 0x54, 0x5e, 0x80, 0x13, 0xc3, 0x3b, 0x81, 0x78, 0xd6, 0xcf, 0xdf, 0x8b, 0x9c, - 0xdd, 0xc2, 0x8d, 0x40, 0x65, 0x37, 0x28, 0x29, 0xe1, 0x2e, 0x20, 0x9e, 0xf6, 0xb5, 0x7b, 0xfd, - 0x89, 0x3b, 0xdc, 0x04, 0x54, 0xaa, 0x00, 0x41, 0x01, 0x8e, 0xe7, 0x7a, 0x9d, 0x71, 0x85, 0x40, - 0x78, 0x6b, 0xb0, 0xfa, 0x1b, 0x8f, 0xff, 0x02, 0xdf, 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, - 0xf1, 0xe8, 0x37, 0xf8, 0xd6, 0xe0, 0x10, 0x1c, 0xd9, 0xa1, 0xea, 0x16, 0xcf, 0xf0, 0x45, 0x1e, - 0xd9, 0x21, 0x54, 0x65, 0x1b, 0xa6, 0x06, 0x0a, 0x62, 0x3c, 0xd5, 0x97, 0x18, 0x95, 0x18, 0xad, - 0x87, 0xe1, 0xe2, 0xc5, 0x8a, 0x61, 0x3c, 0xdb, 0x9f, 0x44, 0x8a, 0x17, 0xab, 0x85, 0x95, 0x2b, - 0x90, 0x35, 0x7b, 0x86, 0x81, 0x37, 0x8f, 0x74, 0xff, 0x1f, 0xd8, 0x95, 0xfe, 0xfd, 0x03, 0xe6, - 0x1d, 0x0e, 0xa8, 0x2c, 0x43, 0x1a, 0x75, 0x9b, 0xa8, 0x15, 0x87, 0xfc, 0x8f, 0x0f, 0x78, 0xc2, - 0xc4, 0xd6, 0x95, 0xe7, 0x00, 0xe8, 0xd5, 0x08, 0xf9, 0xec, 0x17, 0x83, 0xfd, 0xcf, 0x0f, 0xd8, - 0x4f, 0x5f, 0x02, 0x48, 0x40, 0x40, 0x7f, 0x48, 0x73, 0x7f, 0x82, 0x77, 0xfb, 0x09, 0xc8, 0x8a, - 0x5c, 0x86, 0xf1, 0xeb, 0xae, 0x65, 0x7a, 0x6a, 0x27, 0x0e, 0xfd, 0x5f, 0x0c, 0xcd, 0xed, 0xb1, - 0xc3, 0xba, 0x96, 0x83, 0x3c, 0xb5, 0xe3, 0xc6, 0x61, 0xff, 0x9b, 0x61, 0x7d, 0x00, 0x06, 0x6b, - 0xaa, 0xeb, 0x8d, 0x32, 0xef, 0x1f, 0x73, 0x30, 0x07, 0xe0, 0x41, 0xe3, 0xbf, 0x6f, 0xa0, 0x83, - 0x38, 0xec, 0x7b, 0x7c, 0xd0, 0xcc, 0xbe, 0xf2, 0x71, 0xc8, 0xe1, 0x3f, 0xe9, 0xef, 0xd9, 0x62, - 0xc0, 0xff, 0xc3, 0xc0, 0x01, 0x02, 0xbf, 0xd9, 0xf5, 0x5a, 0x9e, 0x1e, 0xef, 0xec, 0xff, 0x65, - 0x2b, 0xcd, 0xed, 0x2b, 0x55, 0xc8, 0xbb, 0x5e, 0xab, 0xd5, 0x63, 0xfd, 0x69, 0x0c, 0xfc, 0xff, - 0x3e, 0xf0, 0xaf, 0x2c, 0x7c, 0x0c, 0x5e, 0xed, 0x5b, 0x37, 0x3c, 0xdb, 0x22, 0x9f, 0x39, 0xe2, - 0x18, 0xee, 0x31, 0x86, 0x10, 0x64, 0xa5, 0x36, 0xfc, 0xfa, 0x16, 0xd6, 0xad, 0x75, 0x8b, 0x5e, - 0xdc, 0xbe, 0x3c, 0x17, 0x7f, 0x03, 0x0b, 0xaf, 0xa5, 0xe1, 0x21, 0xcd, 0xea, 0x36, 0x2d, 0x77, - 0x31, 0x94, 0xcc, 0x17, 0x2d, 0x93, 0x71, 0x4a, 0x49, 0xcb, 0x44, 0xb3, 0xc7, 0xbb, 0xcb, 0x9d, - 0x3b, 0x05, 0xe9, 0x46, 0xaf, 0xd9, 0x3c, 0x90, 0x44, 0x48, 0xba, 0xbd, 0x26, 0xfb, 0x5d, 0x14, - 0xfe, 0x73, 0xee, 0x07, 0x49, 0xc8, 0x37, 0xd4, 0xae, 0x6d, 0xa0, 0xba, 0x89, 0xea, 0x6d, 0xa9, - 0x04, 0x19, 0x32, 0xd5, 0x67, 0x89, 0x91, 0x70, 0x6d, 0x4c, 0x66, 0xcf, 0xbe, 0x66, 0x89, 0xdc, - 0x71, 0x27, 0x7c, 0xcd, 0x92, 0xaf, 0x39, 0x47, 0xaf, 0xb8, 0x7d, 0xcd, 0x39, 0x5f, 0x73, 0x9e, - 0x5c, 0x74, 0x27, 0x7d, 0xcd, 0x79, 0x5f, 0xb3, 0x4c, 0x3e, 0xe4, 0x4c, 0xf8, 0x9a, 0x65, 0x5f, - 0x73, 0x81, 0x7c, 0xba, 0x49, 0xf9, 0x9a, 0x0b, 0xbe, 0xe6, 0x22, 0xf9, 0x62, 0x33, 0xe5, 0x6b, - 0x2e, 0xfa, 0x9a, 0x4b, 0xe4, 0x2b, 0x8d, 0xe4, 0x6b, 0x2e, 0xf9, 0x9a, 0xcb, 0xe4, 0xe7, 0x4f, - 0xe3, 0xbe, 0xe6, 0xb2, 0x34, 0x0b, 0xe3, 0x74, 0x66, 0xcf, 0x90, 0x4f, 0xf9, 0x93, 0xd7, 0xc6, - 0x64, 0x2e, 0x08, 0x74, 0xcf, 0x92, 0x9f, 0x38, 0x65, 0x02, 0xdd, 0xb3, 0x81, 0x6e, 0x89, 0xfc, - 0x4f, 0x0b, 0x31, 0xd0, 0x2d, 0x05, 0xba, 0x73, 0xa5, 0x09, 0x1c, 0x21, 0x81, 0xee, 0x5c, 0xa0, - 0x3b, 0x5f, 0x2a, 0x62, 0xff, 0x07, 0xba, 0xf3, 0x81, 0x6e, 0xb9, 0x34, 0x79, 0x46, 0x98, 0x2f, - 0x04, 0xba, 0x65, 0xe9, 0x69, 0xc8, 0xbb, 0xbd, 0xa6, 0xc2, 0x72, 0x3d, 0xf9, 0x29, 0x55, 0x7e, - 0x09, 0x16, 0x70, 0x44, 0x90, 0x45, 0xbd, 0x36, 0x26, 0x83, 0xdb, 0x6b, 0xb2, 0x54, 0xbc, 0x52, - 0x00, 0x72, 0x03, 0xa5, 0x90, 0x5f, 0x40, 0xaf, 0xac, 0xbd, 0x75, 0xb7, 0x3c, 0xf6, 0xbd, 0xbb, - 0xe5, 0xb1, 0x7f, 0xbd, 0x5b, 0x1e, 0x7b, 0xfb, 0x6e, 0x59, 0x78, 0xef, 0x6e, 0x59, 0x78, 0xff, - 0x6e, 0x59, 0xb8, 0x73, 0x58, 0x16, 0xbe, 0x72, 0x58, 0x16, 0xbe, 0x76, 0x58, 0x16, 0xbe, 0x75, - 0x58, 0x16, 0xde, 0x3a, 0x2c, 0x8f, 0x7d, 0xef, 0xb0, 0x2c, 0xbc, 0x7d, 0x58, 0x16, 0x7e, 0x74, - 0x58, 0x1e, 0x7b, 0xef, 0xb0, 0x2c, 0xbc, 0x7f, 0x58, 0x1e, 0xbb, 0xf3, 0xc3, 0xf2, 0x58, 0x33, - 0x43, 0xc2, 0xe8, 0xdc, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x74, 0xac, 0x53, 0x91, 0x38, 0x35, - 0x00, 0x00, + // 4115 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xe7, + 0x75, 0x26, 0xae, 0x04, 0x0e, 0x40, 0x70, 0xb9, 0xa4, 0x25, 0x88, 0xb6, 0x21, 0x89, 0xb6, 0x63, + 0xda, 0x8e, 0x29, 0x9b, 0x22, 0x75, 0x81, 0x9a, 0xb8, 0x20, 0x09, 0x51, 0x74, 0x49, 0x82, 0x59, + 0x90, 0xf1, 0x25, 0xd3, 0xd9, 0x59, 0x2c, 0x7e, 0x80, 0x2b, 0x2d, 0x76, 0x37, 0xbb, 0x0b, 0xc9, + 0xd4, 0xf4, 0x41, 0x1d, 0xf7, 0x32, 0x99, 0xde, 0x2f, 0x33, 0x4d, 0x5c, 0xc7, 0x6d, 0xd2, 0x69, + 0x9c, 0xa6, 0xb7, 0xa4, 0x97, 0x34, 0x49, 0x5f, 0xfa, 0x92, 0xd6, 0x4f, 0x9d, 0xe4, 0xad, 0x0f, + 0x79, 0xb0, 0x18, 0xcf, 0x34, 0x6d, 0xdd, 0xd6, 0x6d, 0xf5, 0xe0, 0x19, 0xbf, 0x74, 0xfe, 0xdb, + 0xde, 0x00, 0x6a, 0xc1, 0xcc, 0xd8, 0x79, 0x12, 0xf7, 0x9c, 0xf3, 0x7d, 0x7b, 0xfe, 0xf3, 0x9f, + 0xff, 0xfc, 0xe7, 0xff, 0x17, 0x82, 0xb7, 0xaa, 0x70, 0xa6, 0x6b, 0x9a, 0x5d, 0x1d, 0x9d, 0xb3, + 0x6c, 0xd3, 0x35, 0x5b, 0xfd, 0xce, 0xb9, 0x36, 0x72, 0x54, 0x5b, 0xb3, 0x5c, 0xd3, 0x5e, 0x20, + 0x32, 0x71, 0x92, 0x5a, 0x2c, 0x70, 0x8b, 0xb9, 0x2d, 0x98, 0xba, 0xaa, 0xe9, 0x68, 0xcd, 0x33, + 0x6c, 0x22, 0x57, 0xbc, 0x04, 0xe9, 0x8e, 0xa6, 0xa3, 0x72, 0xe2, 0x4c, 0x6a, 0xbe, 0xb0, 0xf8, + 0xe8, 0x42, 0x04, 0xb4, 0x10, 0x46, 0xec, 0x60, 0xb1, 0x44, 0x10, 0x73, 0xef, 0xa4, 0x61, 0x7a, + 0x88, 0x56, 0x14, 0x21, 0x6d, 0x28, 0x3d, 0xcc, 0x98, 0x98, 0xcf, 0x4b, 0xe4, 0x6f, 0xb1, 0x0c, + 0xe3, 0x96, 0xa2, 0xde, 0x50, 0xba, 0xa8, 0x9c, 0x24, 0x62, 0xfe, 0x28, 0x56, 0x00, 0xda, 0xc8, + 0x42, 0x46, 0x1b, 0x19, 0xea, 0x41, 0x39, 0x75, 0x26, 0x35, 0x9f, 0x97, 0x02, 0x12, 0xf1, 0x29, + 0x98, 0xb2, 0xfa, 0x2d, 0x5d, 0x53, 0xe5, 0x80, 0x19, 0x9c, 0x49, 0xcd, 0x67, 0x24, 0x81, 0x2a, + 0xd6, 0x7c, 0xe3, 0xc7, 0x61, 0xf2, 0x16, 0x52, 0x6e, 0x04, 0x4d, 0x0b, 0xc4, 0xb4, 0x84, 0xc5, + 0x01, 0xc3, 0x55, 0x28, 0xf6, 0x90, 0xe3, 0x28, 0x5d, 0x24, 0xbb, 0x07, 0x16, 0x2a, 0xa7, 0xc9, + 0xe8, 0xcf, 0x0c, 0x8c, 0x3e, 0x3a, 0xf2, 0x02, 0x43, 0xed, 0x1e, 0x58, 0x48, 0xac, 0x41, 0x1e, + 0x19, 0xfd, 0x1e, 0x65, 0xc8, 0x1c, 0x11, 0xbf, 0xba, 0xd1, 0xef, 0x45, 0x59, 0x72, 0x18, 0xc6, + 0x28, 0xc6, 0x1d, 0x64, 0xdf, 0xd4, 0x54, 0x54, 0xce, 0x12, 0x82, 0xc7, 0x07, 0x08, 0x9a, 0x54, + 0x1f, 0xe5, 0xe0, 0x38, 0x71, 0x15, 0xf2, 0xe8, 0x15, 0x17, 0x19, 0x8e, 0x66, 0x1a, 0xe5, 0x71, + 0x42, 0xf2, 0xd8, 0x90, 0x59, 0x44, 0x7a, 0x3b, 0x4a, 0xe1, 0xe3, 0xc4, 0x0b, 0x30, 0x6e, 0x5a, + 0xae, 0x66, 0x1a, 0x4e, 0x39, 0x77, 0x26, 0x31, 0x5f, 0x58, 0x7c, 0x68, 0x68, 0x22, 0x34, 0xa8, + 0x8d, 0xc4, 0x8d, 0xc5, 0x0d, 0x10, 0x1c, 0xb3, 0x6f, 0xab, 0x48, 0x56, 0xcd, 0x36, 0x92, 0x35, + 0xa3, 0x63, 0x96, 0xf3, 0x84, 0xe0, 0xf4, 0xe0, 0x40, 0x88, 0xe1, 0xaa, 0xd9, 0x46, 0x1b, 0x46, + 0xc7, 0x94, 0x4a, 0x4e, 0xe8, 0x59, 0x3c, 0x01, 0x59, 0xe7, 0xc0, 0x70, 0x95, 0x57, 0xca, 0x45, + 0x92, 0x21, 0xec, 0x69, 0xee, 0xdb, 0x59, 0x98, 0x1c, 0x25, 0xc5, 0xae, 0x40, 0xa6, 0x83, 0x47, + 0x59, 0x4e, 0x1e, 0x27, 0x06, 0x14, 0x13, 0x0e, 0x62, 0xf6, 0xc7, 0x0c, 0x62, 0x0d, 0x0a, 0x06, + 0x72, 0x5c, 0xd4, 0xa6, 0x19, 0x91, 0x1a, 0x31, 0xa7, 0x80, 0x82, 0x06, 0x53, 0x2a, 0xfd, 0x63, + 0xa5, 0xd4, 0x8b, 0x30, 0xe9, 0xb9, 0x24, 0xdb, 0x8a, 0xd1, 0xe5, 0xb9, 0x79, 0x2e, 0xce, 0x93, + 0x85, 0x3a, 0xc7, 0x49, 0x18, 0x26, 0x95, 0x50, 0xe8, 0x59, 0x5c, 0x03, 0x30, 0x0d, 0x64, 0x76, + 0xe4, 0x36, 0x52, 0xf5, 0x72, 0xee, 0x88, 0x28, 0x35, 0xb0, 0xc9, 0x40, 0x94, 0x4c, 0x2a, 0x55, + 0x75, 0xf1, 0xb2, 0x9f, 0x6a, 0xe3, 0x47, 0x64, 0xca, 0x16, 0x5d, 0x64, 0x03, 0xd9, 0xb6, 0x07, + 0x25, 0x1b, 0xe1, 0xbc, 0x47, 0x6d, 0x36, 0xb2, 0x3c, 0x71, 0x62, 0x21, 0x76, 0x64, 0x12, 0x83, + 0xd1, 0x81, 0x4d, 0xd8, 0xc1, 0x47, 0xf1, 0x11, 0xf0, 0x04, 0x32, 0x49, 0x2b, 0x20, 0x55, 0xa8, + 0xc8, 0x85, 0xdb, 0x4a, 0x0f, 0xcd, 0xde, 0x86, 0x52, 0x38, 0x3c, 0xe2, 0x0c, 0x64, 0x1c, 0x57, + 0xb1, 0x5d, 0x92, 0x85, 0x19, 0x89, 0x3e, 0x88, 0x02, 0xa4, 0x90, 0xd1, 0x26, 0x55, 0x2e, 0x23, + 0xe1, 0x3f, 0xc5, 0x9f, 0xf6, 0x07, 0x9c, 0x22, 0x03, 0xfe, 0xd8, 0xe0, 0x8c, 0x86, 0x98, 0xa3, + 0xe3, 0x9e, 0xbd, 0x08, 0x13, 0xa1, 0x01, 0x8c, 0xfa, 0xea, 0xb9, 0x9f, 0x83, 0x07, 0x86, 0x52, + 0x8b, 0x2f, 0xc2, 0x4c, 0xdf, 0xd0, 0x0c, 0x17, 0xd9, 0x96, 0x8d, 0x70, 0xc6, 0xd2, 0x57, 0x95, + 0xff, 0x75, 0xfc, 0x88, 0x9c, 0xdb, 0x0b, 0x5a, 0x53, 0x16, 0x69, 0xba, 0x3f, 0x28, 0x7c, 0x32, + 0x9f, 0xfb, 0xd1, 0xb8, 0x70, 0xe7, 0xce, 0x9d, 0x3b, 0xc9, 0xb9, 0xcf, 0x67, 0x61, 0x66, 0xd8, + 0x9a, 0x19, 0xba, 0x7c, 0x4f, 0x40, 0xd6, 0xe8, 0xf7, 0x5a, 0xc8, 0x26, 0x41, 0xca, 0x48, 0xec, + 0x49, 0xac, 0x41, 0x46, 0x57, 0x5a, 0x48, 0x2f, 0xa7, 0xcf, 0x24, 0xe6, 0x4b, 0x8b, 0x4f, 0x8d, + 0xb4, 0x2a, 0x17, 0x36, 0x31, 0x44, 0xa2, 0x48, 0xf1, 0x93, 0x90, 0x66, 0x25, 0x1a, 0x33, 0x3c, + 0x39, 0x1a, 0x03, 0x5e, 0x4b, 0x12, 0xc1, 0x89, 0x0f, 0x42, 0x1e, 0xff, 0x4b, 0x73, 0x23, 0x4b, + 0x7c, 0xce, 0x61, 0x01, 0xce, 0x0b, 0x71, 0x16, 0x72, 0x64, 0x99, 0xb4, 0x11, 0xdf, 0xda, 0xbc, + 0x67, 0x9c, 0x58, 0x6d, 0xd4, 0x51, 0xfa, 0xba, 0x2b, 0xdf, 0x54, 0xf4, 0x3e, 0x22, 0x09, 0x9f, + 0x97, 0x8a, 0x4c, 0xf8, 0x69, 0x2c, 0x13, 0x4f, 0x43, 0x81, 0xae, 0x2a, 0xcd, 0x68, 0xa3, 0x57, + 0x48, 0xf5, 0xcc, 0x48, 0x74, 0xa1, 0x6d, 0x60, 0x09, 0x7e, 0xfd, 0x75, 0xc7, 0x34, 0x78, 0x6a, + 0x92, 0x57, 0x60, 0x01, 0x79, 0xfd, 0xc5, 0x68, 0xe1, 0x7e, 0x78, 0xf8, 0xf0, 0xa2, 0x39, 0x35, + 0xf7, 0xcd, 0x24, 0xa4, 0x49, 0xbd, 0x98, 0x84, 0xc2, 0xee, 0x4b, 0x3b, 0x75, 0x79, 0xad, 0xb1, + 0xb7, 0xb2, 0x59, 0x17, 0x12, 0x62, 0x09, 0x80, 0x08, 0xae, 0x6e, 0x36, 0x6a, 0xbb, 0x42, 0xd2, + 0x7b, 0xde, 0xd8, 0xde, 0xbd, 0xb0, 0x24, 0xa4, 0x3c, 0xc0, 0x1e, 0x15, 0xa4, 0x83, 0x06, 0xe7, + 0x17, 0x85, 0x8c, 0x28, 0x40, 0x91, 0x12, 0x6c, 0xbc, 0x58, 0x5f, 0xbb, 0xb0, 0x24, 0x64, 0xc3, + 0x92, 0xf3, 0x8b, 0xc2, 0xb8, 0x38, 0x01, 0x79, 0x22, 0x59, 0x69, 0x34, 0x36, 0x85, 0x9c, 0xc7, + 0xd9, 0xdc, 0x95, 0x36, 0xb6, 0xd7, 0x85, 0xbc, 0xc7, 0xb9, 0x2e, 0x35, 0xf6, 0x76, 0x04, 0xf0, + 0x18, 0xb6, 0xea, 0xcd, 0x66, 0x6d, 0xbd, 0x2e, 0x14, 0x3c, 0x8b, 0x95, 0x97, 0x76, 0xeb, 0x4d, + 0xa1, 0x18, 0x72, 0xeb, 0xfc, 0xa2, 0x30, 0xe1, 0xbd, 0xa2, 0xbe, 0xbd, 0xb7, 0x25, 0x94, 0xc4, + 0x29, 0x98, 0xa0, 0xaf, 0xe0, 0x4e, 0x4c, 0x46, 0x44, 0x17, 0x96, 0x04, 0xc1, 0x77, 0x84, 0xb2, + 0x4c, 0x85, 0x04, 0x17, 0x96, 0x04, 0x71, 0x6e, 0x15, 0x32, 0x24, 0xbb, 0x44, 0x11, 0x4a, 0x9b, + 0xb5, 0x95, 0xfa, 0xa6, 0xdc, 0xd8, 0xd9, 0xdd, 0x68, 0x6c, 0xd7, 0x36, 0x85, 0x84, 0x2f, 0x93, + 0xea, 0x9f, 0xda, 0xdb, 0x90, 0xea, 0x6b, 0x42, 0x32, 0x28, 0xdb, 0xa9, 0xd7, 0x76, 0xeb, 0x6b, + 0x42, 0x6a, 0x4e, 0x85, 0x99, 0x61, 0x75, 0x72, 0xe8, 0xca, 0x08, 0x4c, 0x71, 0xf2, 0x88, 0x29, + 0x26, 0x5c, 0x03, 0x53, 0xfc, 0xc3, 0x24, 0x4c, 0x0f, 0xd9, 0x2b, 0x86, 0xbe, 0xe4, 0x39, 0xc8, + 0xd0, 0x14, 0xa5, 0xbb, 0xe7, 0x13, 0x43, 0x37, 0x1d, 0x92, 0xb0, 0x03, 0x3b, 0x28, 0xc1, 0x05, + 0x3b, 0x88, 0xd4, 0x11, 0x1d, 0x04, 0xa6, 0x18, 0xa8, 0xe9, 0x3f, 0x3b, 0x50, 0xd3, 0xe9, 0xb6, + 0x77, 0x61, 0x94, 0x6d, 0x8f, 0xc8, 0x8e, 0x57, 0xdb, 0x33, 0x43, 0x6a, 0xfb, 0x15, 0x98, 0x1a, + 0x20, 0x1a, 0xb9, 0xc6, 0xbe, 0x9a, 0x80, 0xf2, 0x51, 0xc1, 0x89, 0xa9, 0x74, 0xc9, 0x50, 0xa5, + 0xbb, 0x12, 0x8d, 0xe0, 0xd9, 0xa3, 0x27, 0x61, 0x60, 0xae, 0xdf, 0x4c, 0xc0, 0x89, 0xe1, 0x9d, + 0xe2, 0x50, 0x1f, 0x3e, 0x09, 0xd9, 0x1e, 0x72, 0xf7, 0x4d, 0xde, 0x2d, 0x7d, 0x6c, 0xc8, 0x1e, + 0x8c, 0xd5, 0xd1, 0xc9, 0x66, 0xa8, 0xe0, 0x26, 0x9e, 0x3a, 0xaa, 0xdd, 0xa3, 0xde, 0x0c, 0x78, + 0xfa, 0xb9, 0x24, 0x3c, 0x30, 0x94, 0x7c, 0xa8, 0xa3, 0x0f, 0x03, 0x68, 0x86, 0xd5, 0x77, 0x69, + 0x47, 0x44, 0x0b, 0x6c, 0x9e, 0x48, 0x48, 0xf1, 0xc2, 0xc5, 0xb3, 0xef, 0x7a, 0xfa, 0x14, 0xd1, + 0x03, 0x15, 0x11, 0x83, 0x4b, 0xbe, 0xa3, 0x69, 0xe2, 0x68, 0xe5, 0x88, 0x91, 0x0e, 0x24, 0xe6, + 0x33, 0x20, 0xa8, 0xba, 0x86, 0x0c, 0x57, 0x76, 0x5c, 0x1b, 0x29, 0x3d, 0xcd, 0xe8, 0x92, 0x1d, + 0x24, 0x57, 0xcd, 0x74, 0x14, 0xdd, 0x41, 0xd2, 0x24, 0x55, 0x37, 0xb9, 0x16, 0x23, 0x48, 0x02, + 0xd9, 0x01, 0x44, 0x36, 0x84, 0xa0, 0x6a, 0x0f, 0x31, 0xf7, 0xab, 0x79, 0x28, 0x04, 0xfa, 0x6a, + 0xf1, 0x2c, 0x14, 0xaf, 0x2b, 0x37, 0x15, 0x99, 0x9f, 0x95, 0x68, 0x24, 0x0a, 0x58, 0xb6, 0xc3, + 0xce, 0x4b, 0xcf, 0xc0, 0x0c, 0x31, 0x31, 0xfb, 0x2e, 0xb2, 0x65, 0x55, 0x57, 0x1c, 0x87, 0x04, + 0x2d, 0x47, 0x4c, 0x45, 0xac, 0x6b, 0x60, 0xd5, 0x2a, 0xd7, 0x88, 0xcb, 0x30, 0x4d, 0x10, 0xbd, + 0xbe, 0xee, 0x6a, 0x96, 0x8e, 0x64, 0x7c, 0x7a, 0x73, 0xc8, 0x4e, 0xe2, 0x79, 0x36, 0x85, 0x2d, + 0xb6, 0x98, 0x01, 0xf6, 0xc8, 0x11, 0xd7, 0xe0, 0x61, 0x02, 0xeb, 0x22, 0x03, 0xd9, 0x8a, 0x8b, + 0x64, 0xf4, 0xd9, 0xbe, 0xa2, 0x3b, 0xb2, 0x62, 0xb4, 0xe5, 0x7d, 0xc5, 0xd9, 0x2f, 0xcf, 0x60, + 0x82, 0x95, 0x64, 0x39, 0x21, 0x9d, 0xc2, 0x86, 0xeb, 0xcc, 0xae, 0x4e, 0xcc, 0x6a, 0x46, 0xfb, + 0x9a, 0xe2, 0xec, 0x8b, 0x55, 0x38, 0x41, 0x58, 0x1c, 0xd7, 0xd6, 0x8c, 0xae, 0xac, 0xee, 0x23, + 0xf5, 0x86, 0xdc, 0x77, 0x3b, 0x97, 0xca, 0x0f, 0x06, 0xdf, 0x4f, 0x3c, 0x6c, 0x12, 0x9b, 0x55, + 0x6c, 0xb2, 0xe7, 0x76, 0x2e, 0x89, 0x4d, 0x28, 0xe2, 0xc9, 0xe8, 0x69, 0xb7, 0x91, 0xdc, 0x31, + 0x6d, 0xb2, 0x35, 0x96, 0x86, 0x94, 0xa6, 0x40, 0x04, 0x17, 0x1a, 0x0c, 0xb0, 0x65, 0xb6, 0x51, + 0x35, 0xd3, 0xdc, 0xa9, 0xd7, 0xd7, 0xa4, 0x02, 0x67, 0xb9, 0x6a, 0xda, 0x38, 0xa1, 0xba, 0xa6, + 0x17, 0xe0, 0x02, 0x4d, 0xa8, 0xae, 0xc9, 0xc3, 0xbb, 0x0c, 0xd3, 0xaa, 0x4a, 0xc7, 0xac, 0xa9, + 0x32, 0x3b, 0x63, 0x39, 0x65, 0x21, 0x14, 0x2c, 0x55, 0x5d, 0xa7, 0x06, 0x2c, 0xc7, 0x1d, 0xf1, + 0x32, 0x3c, 0xe0, 0x07, 0x2b, 0x08, 0x9c, 0x1a, 0x18, 0x65, 0x14, 0xba, 0x0c, 0xd3, 0xd6, 0xc1, + 0x20, 0x50, 0x0c, 0xbd, 0xd1, 0x3a, 0x88, 0xc2, 0x2e, 0xc2, 0x8c, 0xb5, 0x6f, 0x0d, 0xe2, 0x9e, + 0x0c, 0xe2, 0x44, 0x6b, 0xdf, 0x8a, 0x02, 0x1f, 0x23, 0x07, 0x6e, 0x1b, 0xa9, 0x8a, 0x8b, 0xda, + 0xe5, 0x93, 0x41, 0xf3, 0x80, 0x42, 0x3c, 0x07, 0x82, 0xaa, 0xca, 0xc8, 0x50, 0x5a, 0x3a, 0x92, + 0x15, 0x1b, 0x19, 0x8a, 0x53, 0x3e, 0x1d, 0x34, 0x2e, 0xa9, 0x6a, 0x9d, 0x68, 0x6b, 0x44, 0x29, + 0x3e, 0x09, 0x53, 0x66, 0xeb, 0xba, 0x4a, 0x53, 0x52, 0xb6, 0x6c, 0xd4, 0xd1, 0x5e, 0x29, 0x3f, + 0x4a, 0xe2, 0x3b, 0x89, 0x15, 0x24, 0x21, 0x77, 0x88, 0x58, 0x7c, 0x02, 0x04, 0xd5, 0xd9, 0x57, + 0x6c, 0x8b, 0xd4, 0x64, 0xc7, 0x52, 0x54, 0x54, 0x7e, 0x8c, 0x9a, 0x52, 0xf9, 0x36, 0x17, 0xe3, + 0x25, 0xe1, 0xdc, 0xd2, 0x3a, 0x2e, 0x67, 0x7c, 0x9c, 0x2e, 0x09, 0x22, 0x63, 0x6c, 0xf3, 0x20, + 0xe0, 0x50, 0x84, 0x5e, 0x3c, 0x4f, 0xcc, 0x4a, 0xd6, 0xbe, 0x15, 0x7c, 0xef, 0x23, 0x30, 0x81, + 0x2d, 0xfd, 0x97, 0x3e, 0x41, 0x1b, 0x32, 0x6b, 0x3f, 0xf0, 0xc6, 0x25, 0x38, 0x81, 0x8d, 0x7a, + 0xc8, 0x55, 0xda, 0x8a, 0xab, 0x04, 0xac, 0x3f, 0x4e, 0xac, 0x71, 0xdc, 0xb7, 0x98, 0x32, 0xe4, + 0xa7, 0xdd, 0x6f, 0x1d, 0x78, 0x99, 0xf5, 0x34, 0xf5, 0x13, 0xcb, 0x78, 0x6e, 0x7d, 0x68, 0x4d, + 0xf7, 0x5c, 0x15, 0x8a, 0xc1, 0xc4, 0x17, 0xf3, 0x40, 0x53, 0x5f, 0x48, 0xe0, 0x2e, 0x68, 0xb5, + 0xb1, 0x86, 0xfb, 0x97, 0x97, 0xeb, 0x42, 0x12, 0xf7, 0x51, 0x9b, 0x1b, 0xbb, 0x75, 0x59, 0xda, + 0xdb, 0xde, 0xdd, 0xd8, 0xaa, 0x0b, 0xa9, 0x60, 0xc3, 0xfe, 0xdd, 0x24, 0x94, 0xc2, 0x67, 0x2f, + 0xf1, 0xa7, 0xe0, 0x24, 0xbf, 0x28, 0x71, 0x90, 0x2b, 0xdf, 0xd2, 0x6c, 0xb2, 0x16, 0x7b, 0x0a, + 0xdd, 0x17, 0xbd, 0x6c, 0x98, 0x61, 0x56, 0x4d, 0xe4, 0xbe, 0xa0, 0xd9, 0x78, 0xa5, 0xf5, 0x14, + 0x57, 0xdc, 0x84, 0xd3, 0x86, 0x29, 0x3b, 0xae, 0x62, 0xb4, 0x15, 0xbb, 0x2d, 0xfb, 0x57, 0x54, + 0xb2, 0xa2, 0xaa, 0xc8, 0x71, 0x4c, 0xba, 0x07, 0x7a, 0x2c, 0x0f, 0x19, 0x66, 0x93, 0x19, 0xfb, + 0x9b, 0x43, 0x8d, 0x99, 0x46, 0x32, 0x37, 0x75, 0x54, 0xe6, 0x3e, 0x08, 0xf9, 0x9e, 0x62, 0xc9, + 0xc8, 0x70, 0xed, 0x03, 0xd2, 0x71, 0xe7, 0xa4, 0x5c, 0x4f, 0xb1, 0xea, 0xf8, 0xf9, 0xa3, 0x39, + 0xf8, 0xfc, 0x20, 0x05, 0xc5, 0x60, 0xd7, 0x8d, 0x0f, 0x31, 0x2a, 0xd9, 0xa0, 0x12, 0xa4, 0x84, + 0x3d, 0x72, 0xdf, 0x1e, 0x7d, 0x61, 0x15, 0xef, 0x5c, 0xd5, 0x2c, 0xed, 0x85, 0x25, 0x8a, 0xc4, + 0x5d, 0x03, 0x4e, 0x2d, 0x44, 0x7b, 0x8f, 0x9c, 0xc4, 0x9e, 0xc4, 0x75, 0xc8, 0x5e, 0x77, 0x08, + 0x77, 0x96, 0x70, 0x3f, 0x7a, 0x7f, 0xee, 0xe7, 0x9b, 0x84, 0x3c, 0xff, 0x7c, 0x53, 0xde, 0x6e, + 0x48, 0x5b, 0xb5, 0x4d, 0x89, 0xc1, 0xc5, 0x53, 0x90, 0xd6, 0x95, 0xdb, 0x07, 0xe1, 0x3d, 0x8e, + 0x88, 0x46, 0x0d, 0xfc, 0x29, 0x48, 0xdf, 0x42, 0xca, 0x8d, 0xf0, 0xce, 0x42, 0x44, 0x1f, 0x62, + 0xea, 0x9f, 0x83, 0x0c, 0x89, 0x97, 0x08, 0xc0, 0x22, 0x26, 0x8c, 0x89, 0x39, 0x48, 0xaf, 0x36, + 0x24, 0x9c, 0xfe, 0x02, 0x14, 0xa9, 0x54, 0xde, 0xd9, 0xa8, 0xaf, 0xd6, 0x85, 0xe4, 0xdc, 0x32, + 0x64, 0x69, 0x10, 0xf0, 0xd2, 0xf0, 0xc2, 0x20, 0x8c, 0xb1, 0x47, 0xc6, 0x91, 0xe0, 0xda, 0xbd, + 0xad, 0x95, 0xba, 0x24, 0x24, 0x83, 0xd3, 0xeb, 0x40, 0x31, 0xd8, 0x70, 0x7f, 0x34, 0x39, 0xf5, + 0x9d, 0x04, 0x14, 0x02, 0x0d, 0x34, 0xee, 0x7c, 0x14, 0x5d, 0x37, 0x6f, 0xc9, 0x8a, 0xae, 0x29, + 0x0e, 0x4b, 0x0a, 0x20, 0xa2, 0x1a, 0x96, 0x8c, 0x3a, 0x69, 0x1f, 0x89, 0xf3, 0x6f, 0x24, 0x40, + 0x88, 0xf6, 0xae, 0x11, 0x07, 0x13, 0x3f, 0x51, 0x07, 0x5f, 0x4f, 0x40, 0x29, 0xdc, 0xb0, 0x46, + 0xdc, 0x3b, 0xfb, 0x13, 0x75, 0xef, 0xed, 0x24, 0x4c, 0x84, 0xda, 0xd4, 0x51, 0xbd, 0xfb, 0x2c, + 0x4c, 0x69, 0x6d, 0xd4, 0xb3, 0x4c, 0x17, 0x19, 0xea, 0x81, 0xac, 0xa3, 0x9b, 0x48, 0x2f, 0xcf, + 0x91, 0x42, 0x71, 0xee, 0xfe, 0x8d, 0xf0, 0xc2, 0x86, 0x8f, 0xdb, 0xc4, 0xb0, 0xea, 0xf4, 0xc6, + 0x5a, 0x7d, 0x6b, 0xa7, 0xb1, 0x5b, 0xdf, 0x5e, 0x7d, 0x49, 0xde, 0xdb, 0xfe, 0x99, 0xed, 0xc6, + 0x0b, 0xdb, 0x92, 0xa0, 0x45, 0xcc, 0x3e, 0xc4, 0xa5, 0xbe, 0x03, 0x42, 0xd4, 0x29, 0xf1, 0x24, + 0x0c, 0x73, 0x4b, 0x18, 0x13, 0xa7, 0x61, 0x72, 0xbb, 0x21, 0x37, 0x37, 0xd6, 0xea, 0x72, 0xfd, + 0xea, 0xd5, 0xfa, 0xea, 0x6e, 0x93, 0x5e, 0x6d, 0x78, 0xd6, 0xbb, 0xe1, 0x45, 0xfd, 0x5a, 0x0a, + 0xa6, 0x87, 0x78, 0x22, 0xd6, 0xd8, 0xa1, 0x84, 0x9e, 0x93, 0x9e, 0x1e, 0xc5, 0xfb, 0x05, 0xdc, + 0x15, 0xec, 0x28, 0xb6, 0xcb, 0xce, 0x30, 0x4f, 0x00, 0x8e, 0x92, 0xe1, 0x6a, 0x1d, 0x0d, 0xd9, + 0xec, 0x26, 0x88, 0x9e, 0x54, 0x26, 0x7d, 0x39, 0xbd, 0x0c, 0xfa, 0x38, 0x88, 0x96, 0xe9, 0x68, + 0xae, 0x76, 0x13, 0xc9, 0x9a, 0xc1, 0xaf, 0x8d, 0xf0, 0xc9, 0x25, 0x2d, 0x09, 0x5c, 0xb3, 0x61, + 0xb8, 0x9e, 0xb5, 0x81, 0xba, 0x4a, 0xc4, 0x1a, 0x17, 0xf0, 0x94, 0x24, 0x70, 0x8d, 0x67, 0x7d, + 0x16, 0x8a, 0x6d, 0xb3, 0x8f, 0xdb, 0x39, 0x6a, 0x87, 0xf7, 0x8b, 0x84, 0x54, 0xa0, 0x32, 0xcf, + 0x84, 0x35, 0xea, 0xfe, 0x7d, 0x55, 0x51, 0x2a, 0x50, 0x19, 0x35, 0x79, 0x1c, 0x26, 0x95, 0x6e, + 0xd7, 0xc6, 0xe4, 0x9c, 0x88, 0x1e, 0x3d, 0x4a, 0x9e, 0x98, 0x18, 0xce, 0x3e, 0x0f, 0x39, 0x1e, + 0x07, 0xbc, 0x25, 0xe3, 0x48, 0xc8, 0x16, 0x3d, 0x4f, 0x27, 0xe7, 0xf3, 0x52, 0xce, 0xe0, 0xca, + 0xb3, 0x50, 0xd4, 0x1c, 0xd9, 0xbf, 0x7e, 0x4f, 0x9e, 0x49, 0xce, 0xe7, 0xa4, 0x82, 0xe6, 0x78, + 0x57, 0x97, 0x73, 0x6f, 0x26, 0xa1, 0x14, 0xfe, 0x7c, 0x20, 0xae, 0x41, 0x4e, 0x37, 0x55, 0x85, + 0xa4, 0x16, 0xfd, 0x76, 0x35, 0x1f, 0xf3, 0xc5, 0x61, 0x61, 0x93, 0xd9, 0x4b, 0x1e, 0x72, 0xf6, + 0x9f, 0x13, 0x90, 0xe3, 0x62, 0xf1, 0x04, 0xa4, 0x2d, 0xc5, 0xdd, 0x27, 0x74, 0x99, 0x95, 0xa4, + 0x90, 0x90, 0xc8, 0x33, 0x96, 0x3b, 0x96, 0x62, 0x90, 0x14, 0x60, 0x72, 0xfc, 0x8c, 0xe7, 0x55, + 0x47, 0x4a, 0x9b, 0x9c, 0x6b, 0xcc, 0x5e, 0x0f, 0x19, 0xae, 0xc3, 0xe7, 0x95, 0xc9, 0x57, 0x99, + 0x58, 0x7c, 0x0a, 0xa6, 0x5c, 0x5b, 0xd1, 0xf4, 0x90, 0x6d, 0x9a, 0xd8, 0x0a, 0x5c, 0xe1, 0x19, + 0x57, 0xe1, 0x14, 0xe7, 0x6d, 0x23, 0x57, 0x51, 0xf7, 0x51, 0xdb, 0x07, 0x65, 0xc9, 0xfd, 0xc5, + 0x49, 0x66, 0xb0, 0xc6, 0xf4, 0x1c, 0x3b, 0xf7, 0xfd, 0x04, 0x4c, 0xf1, 0x93, 0x58, 0xdb, 0x0b, + 0xd6, 0x16, 0x80, 0x62, 0x18, 0xa6, 0x1b, 0x0c, 0xd7, 0x60, 0x2a, 0x0f, 0xe0, 0x16, 0x6a, 0x1e, + 0x48, 0x0a, 0x10, 0xcc, 0xf6, 0x00, 0x7c, 0xcd, 0x91, 0x61, 0x3b, 0x0d, 0x05, 0xf6, 0x6d, 0x88, + 0x7c, 0x60, 0xa4, 0x67, 0x77, 0xa0, 0x22, 0x7c, 0x64, 0x13, 0x67, 0x20, 0xd3, 0x42, 0x5d, 0xcd, + 0x60, 0x37, 0xbe, 0xf4, 0x81, 0xdf, 0xb0, 0xa4, 0xbd, 0x1b, 0x96, 0x95, 0xcf, 0xc0, 0xb4, 0x6a, + 0xf6, 0xa2, 0xee, 0xae, 0x08, 0x91, 0xfb, 0x03, 0xe7, 0x5a, 0xe2, 0x65, 0xf0, 0x5b, 0xcc, 0xf7, + 0x13, 0x89, 0x2f, 0x27, 0x53, 0xeb, 0x3b, 0x2b, 0x5f, 0x4b, 0xce, 0xae, 0x53, 0xe8, 0x0e, 0x1f, + 0xa9, 0x84, 0x3a, 0x3a, 0x52, 0xb1, 0xf7, 0xf0, 0x95, 0xa7, 0xe0, 0xe9, 0xae, 0xe6, 0xee, 0xf7, + 0x5b, 0x0b, 0xaa, 0xd9, 0x3b, 0xd7, 0x35, 0xbb, 0xa6, 0xff, 0x4d, 0x15, 0x3f, 0x91, 0x07, 0xf2, + 0x17, 0xfb, 0xae, 0x9a, 0xf7, 0xa4, 0xb3, 0xb1, 0x1f, 0x61, 0xab, 0xdb, 0x30, 0xcd, 0x8c, 0x65, + 0xf2, 0x61, 0x87, 0x1e, 0x4f, 0xc4, 0xfb, 0x5e, 0x8e, 0x95, 0xbf, 0xf1, 0x0e, 0xd9, 0xae, 0xa5, + 0x29, 0x06, 0xc5, 0x3a, 0x7a, 0x82, 0xa9, 0x4a, 0xf0, 0x40, 0x88, 0x8f, 0x2e, 0x4d, 0x64, 0xc7, + 0x30, 0x7e, 0x97, 0x31, 0x4e, 0x07, 0x18, 0x9b, 0x0c, 0x5a, 0x5d, 0x85, 0x89, 0xe3, 0x70, 0xfd, + 0x23, 0xe3, 0x2a, 0xa2, 0x20, 0xc9, 0x3a, 0x4c, 0x12, 0x12, 0xb5, 0xef, 0xb8, 0x66, 0x8f, 0xd4, + 0xbd, 0xfb, 0xd3, 0xfc, 0xd3, 0x3b, 0x74, 0xad, 0x94, 0x30, 0x6c, 0xd5, 0x43, 0x55, 0xab, 0x40, + 0xbe, 0x65, 0xb5, 0x91, 0xaa, 0xc7, 0x30, 0xbc, 0xc5, 0x1c, 0xf1, 0xec, 0xab, 0x9f, 0x86, 0x19, + 0xfc, 0x37, 0x29, 0x4b, 0x41, 0x4f, 0xe2, 0x6f, 0xd2, 0xca, 0xdf, 0x7f, 0x95, 0x2e, 0xc7, 0x69, + 0x8f, 0x20, 0xe0, 0x53, 0x60, 0x16, 0xbb, 0xc8, 0x75, 0x91, 0xed, 0xc8, 0x8a, 0x3e, 0xcc, 0xbd, + 0xc0, 0x55, 0x44, 0xf9, 0x0b, 0xef, 0x86, 0x67, 0x71, 0x9d, 0x22, 0x6b, 0xba, 0x5e, 0xdd, 0x83, + 0x93, 0x43, 0xb2, 0x62, 0x04, 0xce, 0xd7, 0x18, 0xe7, 0xcc, 0x40, 0x66, 0x60, 0xda, 0x1d, 0xe0, + 0x72, 0x6f, 0x2e, 0x47, 0xe0, 0xfc, 0x7d, 0xc6, 0x29, 0x32, 0x2c, 0x9f, 0x52, 0xcc, 0xf8, 0x3c, + 0x4c, 0xdd, 0x44, 0x76, 0xcb, 0x74, 0xd8, 0xf5, 0xcf, 0x08, 0x74, 0xaf, 0x33, 0xba, 0x49, 0x06, + 0x24, 0xf7, 0x41, 0x98, 0xeb, 0x32, 0xe4, 0x3a, 0x8a, 0x8a, 0x46, 0xa0, 0xf8, 0x22, 0xa3, 0x18, + 0xc7, 0xf6, 0x18, 0x5a, 0x83, 0x62, 0xd7, 0x64, 0x3b, 0x53, 0x3c, 0xfc, 0x0d, 0x06, 0x2f, 0x70, + 0x0c, 0xa3, 0xb0, 0x4c, 0xab, 0xaf, 0xe3, 0x6d, 0x2b, 0x9e, 0xe2, 0x0f, 0x38, 0x05, 0xc7, 0x30, + 0x8a, 0x63, 0x84, 0xf5, 0x0f, 0x39, 0x85, 0x13, 0x88, 0xe7, 0x73, 0x50, 0x30, 0x0d, 0xfd, 0xc0, + 0x34, 0x46, 0x71, 0xe2, 0x4b, 0x8c, 0x01, 0x18, 0x04, 0x13, 0x5c, 0x81, 0xfc, 0xa8, 0x13, 0xf1, + 0xc7, 0xef, 0xf2, 0xe5, 0xc1, 0x67, 0x60, 0x1d, 0x26, 0x79, 0x81, 0xd2, 0x4c, 0x63, 0x04, 0x8a, + 0xaf, 0x30, 0x8a, 0x52, 0x00, 0xc6, 0x86, 0xe1, 0x22, 0xc7, 0xed, 0xa2, 0x51, 0x48, 0xde, 0xe4, + 0xc3, 0x60, 0x10, 0x16, 0xca, 0x16, 0x32, 0xd4, 0xfd, 0xd1, 0x18, 0xbe, 0xca, 0x43, 0xc9, 0x31, + 0x98, 0x62, 0x15, 0x26, 0x7a, 0x8a, 0xed, 0xec, 0x2b, 0xfa, 0x48, 0xd3, 0xf1, 0x27, 0x8c, 0xa3, + 0xe8, 0x81, 0x58, 0x44, 0xfa, 0xc6, 0x71, 0x68, 0xbe, 0xc6, 0x23, 0x12, 0x80, 0xb1, 0xa5, 0xe7, + 0xb8, 0xe4, 0xae, 0xec, 0x38, 0x6c, 0x7f, 0xca, 0x97, 0x1e, 0xc5, 0x6e, 0x05, 0x19, 0xaf, 0x40, + 0xde, 0xd1, 0x6e, 0x8f, 0x44, 0xf3, 0x67, 0x7c, 0xa6, 0x09, 0x00, 0x83, 0x5f, 0x82, 0x53, 0x43, + 0xb7, 0x89, 0x11, 0xc8, 0xfe, 0x9c, 0x91, 0x9d, 0x18, 0xb2, 0x55, 0xb0, 0x92, 0x70, 0x5c, 0xca, + 0xbf, 0xe0, 0x25, 0x01, 0x45, 0xb8, 0x76, 0xf0, 0x59, 0xc1, 0x51, 0x3a, 0xc7, 0x8b, 0xda, 0x5f, + 0xf2, 0xa8, 0x51, 0x6c, 0x28, 0x6a, 0xbb, 0x70, 0x82, 0x31, 0x1e, 0x6f, 0x5e, 0xbf, 0xce, 0x0b, + 0x2b, 0x45, 0xef, 0x85, 0x67, 0xf7, 0x33, 0x30, 0xeb, 0x85, 0x93, 0x37, 0xa5, 0x8e, 0xdc, 0x53, + 0xac, 0x11, 0x98, 0xbf, 0xc1, 0x98, 0x79, 0xc5, 0xf7, 0xba, 0x5a, 0x67, 0x4b, 0xb1, 0x30, 0xf9, + 0x8b, 0x50, 0xe6, 0xe4, 0x7d, 0xc3, 0x46, 0xaa, 0xd9, 0x35, 0xb4, 0xdb, 0xa8, 0x3d, 0x02, 0xf5, + 0x5f, 0x45, 0xa6, 0x6a, 0x2f, 0x00, 0xc7, 0xcc, 0x1b, 0x20, 0x78, 0xbd, 0x8a, 0xac, 0xf5, 0x2c, + 0xd3, 0x76, 0x63, 0x18, 0xff, 0x9a, 0xcf, 0x94, 0x87, 0xdb, 0x20, 0xb0, 0x6a, 0x1d, 0x4a, 0xe4, + 0x71, 0xd4, 0x94, 0xfc, 0x1b, 0x46, 0x34, 0xe1, 0xa3, 0x58, 0xe1, 0x50, 0xcd, 0x9e, 0xa5, 0xd8, + 0xa3, 0xd4, 0xbf, 0xbf, 0xe5, 0x85, 0x83, 0x41, 0x58, 0xe1, 0x70, 0x0f, 0x2c, 0x84, 0x77, 0xfb, + 0x11, 0x18, 0xbe, 0xc9, 0x0b, 0x07, 0xc7, 0x30, 0x0a, 0xde, 0x30, 0x8c, 0x40, 0xf1, 0x77, 0x9c, + 0x82, 0x63, 0x30, 0xc5, 0xa7, 0xfc, 0x8d, 0xd6, 0x46, 0x5d, 0xcd, 0x71, 0x6d, 0xda, 0x0a, 0xdf, + 0x9f, 0xea, 0x5b, 0xef, 0x86, 0x9b, 0x30, 0x29, 0x00, 0xc5, 0x95, 0x88, 0x5d, 0xa1, 0x92, 0x93, + 0x52, 0xbc, 0x63, 0xdf, 0xe6, 0x95, 0x28, 0x00, 0xc3, 0xbe, 0x05, 0x3a, 0x44, 0x1c, 0x76, 0x15, + 0x9f, 0x0f, 0x46, 0xa0, 0xfb, 0x4e, 0xc4, 0xb9, 0x26, 0xc7, 0x62, 0xce, 0x40, 0xff, 0xd3, 0x37, + 0x6e, 0xa0, 0x83, 0x91, 0xb2, 0xf3, 0xef, 0x23, 0xfd, 0xcf, 0x1e, 0x45, 0xd2, 0x1a, 0x32, 0x19, + 0xe9, 0xa7, 0xc4, 0xb8, 0x5f, 0x01, 0x95, 0x7f, 0xfe, 0x1e, 0x1b, 0x6f, 0xb8, 0x9d, 0xaa, 0x6e, + 0xe2, 0x24, 0x0f, 0x37, 0x3d, 0xf1, 0x64, 0xaf, 0xde, 0xf3, 0xf2, 0x3c, 0xd4, 0xf3, 0x54, 0xaf, + 0xc2, 0x44, 0xa8, 0xe1, 0x89, 0xa7, 0xfa, 0x05, 0x46, 0x55, 0x0c, 0xf6, 0x3b, 0xd5, 0x65, 0x48, + 0xe3, 0xe6, 0x25, 0x1e, 0xfe, 0x8b, 0x0c, 0x4e, 0xcc, 0xab, 0x9f, 0x80, 0x1c, 0x6f, 0x5a, 0xe2, + 0xa1, 0xbf, 0xc4, 0xa0, 0x1e, 0x04, 0xc3, 0x79, 0xc3, 0x12, 0x0f, 0xff, 0x65, 0x0e, 0xe7, 0x10, + 0x0c, 0x1f, 0x3d, 0x84, 0xff, 0xf0, 0x2b, 0x69, 0xb6, 0xe9, 0xf0, 0xd8, 0x5d, 0x81, 0x71, 0xd6, + 0xa9, 0xc4, 0xa3, 0x3f, 0xc7, 0x5e, 0xce, 0x11, 0xd5, 0x8b, 0x90, 0x19, 0x31, 0xe0, 0xbf, 0xc6, + 0xa0, 0xd4, 0xbe, 0xba, 0x0a, 0x85, 0x40, 0x77, 0x12, 0x0f, 0xff, 0x75, 0x06, 0x0f, 0xa2, 0xb0, + 0xeb, 0xac, 0x3b, 0x89, 0x27, 0xf8, 0x0d, 0xee, 0x3a, 0x43, 0xe0, 0xb0, 0xf1, 0xc6, 0x24, 0x1e, + 0xfd, 0x9b, 0x3c, 0xea, 0x1c, 0x52, 0x7d, 0x0e, 0xf2, 0xde, 0x66, 0x13, 0x8f, 0xff, 0x2d, 0x86, + 0xf7, 0x31, 0x38, 0x02, 0x81, 0xcd, 0x2e, 0x9e, 0xe2, 0xb7, 0x79, 0x04, 0x02, 0x28, 0xbc, 0x8c, + 0xa2, 0x0d, 0x4c, 0x3c, 0xd3, 0xef, 0xf0, 0x65, 0x14, 0xe9, 0x5f, 0xf0, 0x6c, 0x92, 0x9a, 0x1f, + 0x4f, 0xf1, 0xbb, 0x7c, 0x36, 0x89, 0x3d, 0x76, 0x23, 0xda, 0x11, 0xc4, 0x73, 0xfc, 0x1e, 0x77, + 0x23, 0xd2, 0x10, 0x54, 0x77, 0x40, 0x1c, 0xec, 0x06, 0xe2, 0xf9, 0x3e, 0xcf, 0xf8, 0xa6, 0x06, + 0x9a, 0x81, 0xea, 0x0b, 0x70, 0x62, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0x85, 0x7b, 0x91, 0xb3, 0x5b, + 0xb0, 0x11, 0xa8, 0xee, 0xfa, 0x5b, 0x4a, 0xb0, 0x0b, 0x88, 0xa7, 0x7d, 0xed, 0x5e, 0xb8, 0x70, + 0x07, 0x9b, 0x80, 0x6a, 0x0d, 0xc0, 0xdf, 0x80, 0xe3, 0xb9, 0x5e, 0x67, 0x5c, 0x01, 0x10, 0x5e, + 0x1a, 0x6c, 0xff, 0x8d, 0xc7, 0x7f, 0x91, 0x2f, 0x0d, 0x86, 0xc0, 0x4b, 0x83, 0x6f, 0xbd, 0xf1, + 0xe8, 0x37, 0xf8, 0xd2, 0xe0, 0x10, 0x9c, 0xd9, 0x81, 0xdd, 0x2d, 0x9e, 0xe1, 0x4b, 0x3c, 0xb3, + 0x03, 0xa8, 0xea, 0x36, 0x4c, 0x0d, 0x6c, 0x88, 0xf1, 0x54, 0x5f, 0x66, 0x54, 0x42, 0x74, 0x3f, + 0x0c, 0x6e, 0x5e, 0x6c, 0x33, 0x8c, 0x67, 0xfb, 0xa3, 0xc8, 0xe6, 0xc5, 0xf6, 0xc2, 0xea, 0x15, + 0xc8, 0x19, 0x7d, 0x5d, 0xc7, 0x8b, 0x47, 0xbc, 0xff, 0x2f, 0xf7, 0xca, 0xff, 0xf6, 0x01, 0x8b, + 0x0e, 0x07, 0x54, 0x97, 0x21, 0x83, 0x7a, 0x2d, 0xd4, 0x8e, 0x43, 0xfe, 0xfb, 0x07, 0xbc, 0x60, + 0x62, 0xeb, 0xea, 0x73, 0x00, 0xf4, 0x6a, 0x84, 0x7c, 0xf6, 0x8b, 0xc1, 0xfe, 0xc7, 0x07, 0xec, + 0x37, 0x35, 0x3e, 0xc4, 0x27, 0xa0, 0xbf, 0xd0, 0xb9, 0x3f, 0xc1, 0xbb, 0x61, 0x02, 0x32, 0x23, + 0x97, 0x61, 0xfc, 0xba, 0x63, 0x1a, 0xae, 0xd2, 0x8d, 0x43, 0xff, 0x27, 0x43, 0x73, 0x7b, 0x1c, + 0xb0, 0x9e, 0x69, 0x23, 0x57, 0xe9, 0x3a, 0x71, 0xd8, 0xff, 0x62, 0x58, 0x0f, 0x80, 0xc1, 0xaa, + 0xe2, 0xb8, 0xa3, 0x8c, 0xfb, 0xbf, 0x39, 0x98, 0x03, 0xb0, 0xd3, 0xf8, 0xef, 0x1b, 0xe8, 0x20, + 0x0e, 0xfb, 0x1e, 0x77, 0x9a, 0xd9, 0x57, 0x3f, 0x01, 0x79, 0xfc, 0x27, 0xfd, 0xa1, 0x5c, 0x0c, + 0xf8, 0x7f, 0x18, 0xd8, 0x47, 0xe0, 0x37, 0x3b, 0x6e, 0xdb, 0xd5, 0xe2, 0x83, 0xfd, 0xbf, 0x6c, + 0xa6, 0xb9, 0x7d, 0xb5, 0x06, 0x05, 0xc7, 0x6d, 0xb7, 0xfb, 0xac, 0x3f, 0x8d, 0x81, 0xff, 0xdf, + 0x07, 0xde, 0x95, 0x85, 0x87, 0xc1, 0xb3, 0x7d, 0xeb, 0x86, 0x6b, 0x99, 0xe4, 0x33, 0x47, 0x1c, + 0xc3, 0x3d, 0xc6, 0x10, 0x80, 0xac, 0xd4, 0x87, 0x5f, 0xdf, 0xc2, 0xba, 0xb9, 0x6e, 0xd2, 0x8b, + 0xdb, 0x97, 0xe7, 0xe2, 0x6f, 0x60, 0xe1, 0xb5, 0x0c, 0x3c, 0xa4, 0x9a, 0xbd, 0x96, 0xe9, 0x9c, + 0x0b, 0x14, 0xf3, 0x73, 0xa6, 0xc1, 0x38, 0xc5, 0x94, 0x69, 0xa0, 0xd9, 0xe3, 0xdd, 0xe5, 0xce, + 0x9d, 0x82, 0x4c, 0xb3, 0xdf, 0x6a, 0x1d, 0x88, 0x02, 0xa4, 0x9c, 0x7e, 0x8b, 0xfd, 0xe0, 0x0a, + 0xff, 0x39, 0xf7, 0x83, 0x14, 0x14, 0x9a, 0x4a, 0xcf, 0xd2, 0x51, 0xc3, 0x40, 0x8d, 0x8e, 0x58, + 0x86, 0x2c, 0x19, 0xea, 0xb3, 0xc4, 0x28, 0x71, 0x6d, 0x4c, 0x62, 0xcf, 0x9e, 0x66, 0x91, 0xdc, + 0x71, 0x27, 0x3d, 0xcd, 0xa2, 0xa7, 0x39, 0x4f, 0xaf, 0xb8, 0x3d, 0xcd, 0x79, 0x4f, 0xb3, 0x44, + 0x2e, 0xba, 0x53, 0x9e, 0x66, 0xc9, 0xd3, 0x2c, 0x93, 0x0f, 0x39, 0x13, 0x9e, 0x66, 0xd9, 0xd3, + 0x5c, 0x20, 0x9f, 0x6e, 0xd2, 0x9e, 0xe6, 0x82, 0xa7, 0xb9, 0x48, 0xbe, 0xd8, 0x4c, 0x79, 0x9a, + 0x8b, 0x9e, 0xe6, 0x12, 0xf9, 0x4a, 0x23, 0x7a, 0x9a, 0x4b, 0x9e, 0xe6, 0x32, 0xf9, 0x5d, 0xd5, + 0xb8, 0xa7, 0xb9, 0x2c, 0xce, 0xc2, 0x38, 0x1d, 0xd9, 0x33, 0xe4, 0x53, 0xfe, 0xe4, 0xb5, 0x31, + 0x89, 0x0b, 0x7c, 0xdd, 0xb3, 0xe4, 0xb7, 0x53, 0x59, 0x5f, 0xf7, 0xac, 0xaf, 0x5b, 0x24, 0xff, + 0x85, 0x43, 0xf0, 0x75, 0x8b, 0xbe, 0xee, 0x7c, 0x79, 0x02, 0x67, 0x88, 0xaf, 0x3b, 0xef, 0xeb, + 0x96, 0xca, 0x25, 0x1c, 0x7f, 0x5f, 0xb7, 0xe4, 0xeb, 0x96, 0xcb, 0x93, 0x67, 0x12, 0xf3, 0x45, + 0x5f, 0xb7, 0x2c, 0x3e, 0x0d, 0x05, 0xa7, 0xdf, 0x92, 0x59, 0xad, 0x27, 0xbf, 0xd1, 0x2a, 0x2c, + 0xc2, 0x02, 0xce, 0x08, 0x32, 0xa9, 0xd7, 0xc6, 0x24, 0x70, 0xfa, 0x2d, 0x56, 0x8a, 0x57, 0x8a, + 0x40, 0x6e, 0xa0, 0x64, 0xf2, 0xd3, 0xea, 0x95, 0xb5, 0xb7, 0xee, 0x56, 0xc6, 0xbe, 0x77, 0xb7, + 0x32, 0xf6, 0x2f, 0x77, 0x2b, 0x63, 0x6f, 0xdf, 0xad, 0x24, 0xde, 0xbb, 0x5b, 0x49, 0xbc, 0x7f, + 0xb7, 0x92, 0xb8, 0x73, 0x58, 0x49, 0x7c, 0xf5, 0xb0, 0x92, 0xf8, 0xfa, 0x61, 0x25, 0xf1, 0xad, + 0xc3, 0x4a, 0xe2, 0xad, 0xc3, 0xca, 0xd8, 0xf7, 0x0e, 0x2b, 0x89, 0xb7, 0x0f, 0x2b, 0x89, 0x1f, + 0x1d, 0x56, 0xc6, 0xde, 0x3b, 0xac, 0x24, 0xde, 0x3f, 0xac, 0x8c, 0xdd, 0xf9, 0x61, 0x65, 0xac, + 0x95, 0x25, 0x69, 0x74, 0xfe, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xfa, 0xa3, 0xfc, 0x6e, 0x91, + 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -3170,35 +3204,3 @@ var ( ErrInvalidLengthOne = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowOne = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/unmarshaler/one.proto", fileDescriptor_one_2f1bc4354e19d7a9) } - -var fileDescriptor_one_2f1bc4354e19d7a9 = []byte{ - // 409 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31, - 0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0xde, 0xf4, 0x8a, 0xaa, 0x27, 0x8b, 0xc9, - 0x0b, 0x49, 0x73, 0x97, 0xf0, 0x63, 0x45, 0x55, 0x95, 0xa5, 0x42, 0x0a, 0x7f, 0x00, 0x8a, 0xa9, - 0x13, 0x90, 0x72, 0x67, 0x94, 0xcb, 0x0d, 0xdd, 0xf8, 0x73, 0x3a, 0x76, 0xec, 0x9f, 0xc0, 0xc8, - 0xd8, 0xa1, 0x03, 0xe7, 0x2e, 0x1d, 0x19, 0x33, 0x56, 0xb9, 0xb4, 0xcf, 0xdb, 0xfb, 0xfa, 0x63, - 0x0f, 0xb6, 0xbf, 0xf2, 0xfd, 0xad, 0xcb, 0x8c, 0x2b, 0xfa, 0x65, 0x9e, 0x4d, 0x97, 0xc5, 0xdd, - 0x74, 0x61, 0x97, 0x7d, 0x97, 0xdb, 0xde, 0xc3, 0xd2, 0xad, 0x5c, 0x1c, 0xb9, 0xdc, 0x1e, 0x9d, - 0xcc, 0xef, 0x57, 0x77, 0xa5, 0xe9, 0xdd, 0xba, 0xac, 0x3f, 0x77, 0x73, 0xd7, 0xaf, 0xcd, 0x94, - 0xb3, 0x3a, 0xd5, 0xa1, 0x9e, 0xb6, 0x67, 0x8e, 0xdf, 0xc9, 0xc6, 0x75, 0x69, 0xcc, 0xd7, 0xb8, - 0x2b, 0xa3, 0xa2, 0x34, 0x08, 0x0a, 0xf4, 0xfe, 0x64, 0x33, 0x1e, 0xff, 0x8a, 0x64, 0xfb, 0x7a, - 0x9a, 0x3d, 0x2c, 0xec, 0x55, 0x6e, 0xaf, 0x66, 0x31, 0xca, 0xe6, 0xa7, 0x7b, 0xbb, 0xf8, 0x32, - 0xa8, 0x37, 0xc1, 0x58, 0x4c, 0xfe, 0x65, 0x96, 0x04, 0x77, 0x14, 0xe8, 0x1d, 0x96, 0x84, 0x25, - 0xc5, 0x48, 0x81, 0x6e, 0xb0, 0xa4, 0x2c, 0x43, 0xdc, 0x55, 0xa0, 0x23, 0x96, 0x21, 0xcb, 0x08, - 0x1b, 0x0a, 0xf4, 0x01, 0xcb, 0x88, 0xe5, 0x14, 0x9b, 0x0a, 0xf4, 0x2e, 0xcb, 0x29, 0xcb, 0x19, - 0xb6, 0x14, 0xe8, 0xb7, 0x2c, 0x67, 0x2c, 0xe7, 0xb8, 0xa7, 0x40, 0xc7, 0x2c, 0xe7, 0x2c, 0x17, - 0xb8, 0xaf, 0x40, 0xb7, 0x58, 0x2e, 0xe2, 0x23, 0xd9, 0xda, 0xde, 0xec, 0x03, 0x4a, 0x05, 0xfa, - 0x70, 0x2c, 0x26, 0xff, 0x17, 0x82, 0x0d, 0xb0, 0xad, 0x40, 0x37, 0x83, 0x0d, 0x82, 0x25, 0xd8, - 0x51, 0xa0, 0xbb, 0xc1, 0x92, 0x60, 0x29, 0x1e, 0x28, 0xd0, 0x7b, 0xc1, 0xd2, 0x60, 0x43, 0x7c, - 0xb3, 0x79, 0xff, 0x60, 0xc3, 0x60, 0x23, 0x3c, 0x54, 0xa0, 0x3b, 0xc1, 0x46, 0xf1, 0x89, 0x6c, - 0x17, 0xa5, 0xb9, 0xc9, 0x6c, 0x51, 0x4c, 0xe7, 0x16, 0xbb, 0x0a, 0x74, 0x3b, 0x91, 0xbd, 0x4d, - 0x23, 0xea, 0x4f, 0x1d, 0x8b, 0x89, 0x2c, 0x4a, 0xf3, 0x79, 0xeb, 0x97, 0x1d, 0x29, 0x57, 0xb6, - 0x58, 0xdd, 0xb8, 0xdc, 0xba, 0xd9, 0xe5, 0xc7, 0xa7, 0x8a, 0xc4, 0x73, 0x45, 0xe2, 0x67, 0x45, - 0xe2, 0xa5, 0x22, 0x78, 0xad, 0x08, 0xd6, 0x15, 0xc1, 0xa3, 0x27, 0xf8, 0xe6, 0x09, 0xbe, 0x7b, - 0x82, 0x1f, 0x9e, 0xe0, 0xc9, 0x93, 0x78, 0xf6, 0x04, 0x2f, 0x9e, 0xe0, 0x8f, 0x27, 0xf1, 0xea, - 0x09, 0xd6, 0x9e, 0xc4, 0xe3, 0x6f, 0x12, 0xa6, 0x59, 0xd7, 0x28, 0xfd, 0x1b, 0x00, 0x00, 0xff, - 0xff, 0x3b, 0xfb, 0xd3, 0x99, 0x9a, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/oneofembed/oneofembed.pb.go b/vendor/github.com/gogo/protobuf/test/oneofembed/oneofembed.pb.go index 1a2408181..f07132ac5 100644 --- a/vendor/github.com/gogo/protobuf/test/oneofembed/oneofembed.pb.go +++ b/vendor/github.com/gogo/protobuf/test/oneofembed/oneofembed.pb.go @@ -3,12 +3,13 @@ package proto -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,7 +33,7 @@ func (m *Foo) Reset() { *m = Foo{} } func (m *Foo) String() string { return proto.CompactTextString(m) } func (*Foo) ProtoMessage() {} func (*Foo) Descriptor() ([]byte, []int) { - return fileDescriptor_oneofembed_d85d6690bc6cfd92, []int{0} + return fileDescriptor_70b95aca3b5d76ed, []int{0} } func (m *Foo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Foo.Unmarshal(m, b) @@ -40,8 +41,8 @@ func (m *Foo) XXX_Unmarshal(b []byte) error { func (m *Foo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Foo.Marshal(b, m, deterministic) } -func (dst *Foo) XXX_Merge(src proto.Message) { - xxx_messageInfo_Foo.Merge(dst, src) +func (m *Foo) XXX_Merge(src proto.Message) { + xxx_messageInfo_Foo.Merge(m, src) } func (m *Foo) XXX_Size() int { return xxx_messageInfo_Foo.Size(m) @@ -66,7 +67,7 @@ func (m *Bar) Reset() { *m = Bar{} } func (m *Bar) String() string { return proto.CompactTextString(m) } func (*Bar) ProtoMessage() {} func (*Bar) Descriptor() ([]byte, []int) { - return fileDescriptor_oneofembed_d85d6690bc6cfd92, []int{1} + return fileDescriptor_70b95aca3b5d76ed, []int{1} } func (m *Bar) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Bar.Unmarshal(m, b) @@ -74,8 +75,8 @@ func (m *Bar) XXX_Unmarshal(b []byte) error { func (m *Bar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Bar.Marshal(b, m, deterministic) } -func (dst *Bar) XXX_Merge(src proto.Message) { - xxx_messageInfo_Bar.Merge(dst, src) +func (m *Bar) XXX_Merge(src proto.Message) { + xxx_messageInfo_Bar.Merge(m, src) } func (m *Bar) XXX_Size() int { return xxx_messageInfo_Bar.Size(m) @@ -198,6 +199,24 @@ func init() { proto.RegisterType((*Foo)(nil), "proto.Foo") proto.RegisterType((*Bar)(nil), "proto.Bar") } + +func init() { proto.RegisterFile("oneofembed.proto", fileDescriptor_70b95aca3b5d76ed) } + +var fileDescriptor_70b95aca3b5d76ed = []byte{ + // 171 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xc8, 0xcf, 0x4b, 0xcd, + 0x4f, 0x4b, 0xcd, 0x4d, 0x4a, 0x4d, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x53, + 0x52, 0xba, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, + 0xf9, 0xfa, 0x60, 0xe1, 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0xba, 0x94, 0x34, + 0xb9, 0x98, 0xdd, 0xf2, 0xf3, 0x85, 0x94, 0xb8, 0x98, 0x93, 0x12, 0x8b, 0x24, 0x18, 0x15, 0x18, + 0x35, 0xb8, 0x8d, 0xb8, 0x20, 0x72, 0x7a, 0x4e, 0x89, 0x45, 0x4e, 0x2c, 0x17, 0xee, 0xc9, 0x33, + 0x06, 0x81, 0x24, 0x95, 0x74, 0xb9, 0x98, 0x9d, 0x12, 0x8b, 0x84, 0xf8, 0xb8, 0x18, 0x13, 0x25, + 0xb8, 0x15, 0x18, 0x35, 0x38, 0x3c, 0x18, 0x82, 0x18, 0x13, 0x41, 0xfc, 0x24, 0x09, 0x1e, 0x18, + 0x3f, 0xc9, 0x89, 0x8d, 0x8b, 0xa5, 0x20, 0x33, 0x39, 0xdb, 0x89, 0xe7, 0xc7, 0x43, 0x39, 0xc6, + 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, 0x1b, 0x69, 0x0c, 0x08, 0x00, + 0x00, 0xff, 0xff, 0x56, 0x58, 0x05, 0x27, 0xb8, 0x00, 0x00, 0x00, +} + func (this *Foo) Equal(that interface{}) bool { if that == nil { return this == nil @@ -415,20 +434,3 @@ func encodeVarintPopulateOneofembed(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("oneofembed.proto", fileDescriptor_oneofembed_d85d6690bc6cfd92) } - -var fileDescriptor_oneofembed_d85d6690bc6cfd92 = []byte{ - // 171 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xc8, 0xcf, 0x4b, 0xcd, - 0x4f, 0x4b, 0xcd, 0x4d, 0x4a, 0x4d, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x53, - 0x52, 0xba, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, - 0xf9, 0xfa, 0x60, 0xe1, 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0xba, 0x94, 0x34, - 0xb9, 0x98, 0xdd, 0xf2, 0xf3, 0x85, 0x94, 0xb8, 0x98, 0x93, 0x12, 0x8b, 0x24, 0x18, 0x15, 0x18, - 0x35, 0xb8, 0x8d, 0xb8, 0x20, 0x72, 0x7a, 0x4e, 0x89, 0x45, 0x4e, 0x2c, 0x17, 0xee, 0xc9, 0x33, - 0x06, 0x81, 0x24, 0x95, 0x74, 0xb9, 0x98, 0x9d, 0x12, 0x8b, 0x84, 0xf8, 0xb8, 0x18, 0x13, 0x25, - 0xb8, 0x15, 0x18, 0x35, 0x38, 0x3c, 0x18, 0x82, 0x18, 0x13, 0x41, 0xfc, 0x24, 0x09, 0x1e, 0x18, - 0x3f, 0xc9, 0x89, 0x8d, 0x8b, 0xa5, 0x20, 0x33, 0x39, 0xdb, 0x89, 0xe7, 0xc7, 0x43, 0x39, 0xc6, - 0x15, 0x8f, 0xe4, 0x18, 0x77, 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, 0x1b, 0x69, 0x0c, 0x08, 0x00, - 0x00, 0xff, 0xff, 0x56, 0x58, 0x05, 0x27, 0xb8, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/packed/packed.pb.go b/vendor/github.com/gogo/protobuf/test/packed/packed.pb.go index 5db951000..cdb0a076c 100644 --- a/vendor/github.com/gogo/protobuf/test/packed/packed.pb.go +++ b/vendor/github.com/gogo/protobuf/test/packed/packed.pb.go @@ -3,13 +3,14 @@ package packed -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" -import encoding_binary "encoding/binary" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -45,7 +46,7 @@ func (m *NinRepNative) Reset() { *m = NinRepNative{} } func (m *NinRepNative) String() string { return proto.CompactTextString(m) } func (*NinRepNative) ProtoMessage() {} func (*NinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_packed_0c54be3753617b96, []int{0} + return fileDescriptor_2c9922eb15f14bbb, []int{0} } func (m *NinRepNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -53,8 +54,8 @@ func (m *NinRepNative) XXX_Unmarshal(b []byte) error { func (m *NinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepNative.Marshal(b, m, deterministic) } -func (dst *NinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNative.Merge(dst, src) +func (m *NinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNative.Merge(m, src) } func (m *NinRepNative) XXX_Size() int { return xxx_messageInfo_NinRepNative.Size(m) @@ -179,7 +180,7 @@ func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } func (m *NinRepPackedNative) String() string { return proto.CompactTextString(m) } func (*NinRepPackedNative) ProtoMessage() {} func (*NinRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_packed_0c54be3753617b96, []int{1} + return fileDescriptor_2c9922eb15f14bbb, []int{1} } func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -187,8 +188,8 @@ func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepPackedNative.Marshal(b, m, deterministic) } -func (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +func (m *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(m, src) } func (m *NinRepPackedNative) XXX_Size() int { return xxx_messageInfo_NinRepPackedNative.Size(m) @@ -313,7 +314,7 @@ func (m *NinRepNativeUnsafe) Reset() { *m = NinRepNativeUnsafe{} } func (m *NinRepNativeUnsafe) String() string { return proto.CompactTextString(m) } func (*NinRepNativeUnsafe) ProtoMessage() {} func (*NinRepNativeUnsafe) Descriptor() ([]byte, []int) { - return fileDescriptor_packed_0c54be3753617b96, []int{2} + return fileDescriptor_2c9922eb15f14bbb, []int{2} } func (m *NinRepNativeUnsafe) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepNativeUnsafe.Unmarshal(m, b) @@ -321,8 +322,8 @@ func (m *NinRepNativeUnsafe) XXX_Unmarshal(b []byte) error { func (m *NinRepNativeUnsafe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepNativeUnsafe.Marshal(b, m, deterministic) } -func (dst *NinRepNativeUnsafe) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNativeUnsafe.Merge(dst, src) +func (m *NinRepNativeUnsafe) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNativeUnsafe.Merge(m, src) } func (m *NinRepNativeUnsafe) XXX_Size() int { return xxx_messageInfo_NinRepNativeUnsafe.Size(m) @@ -447,7 +448,7 @@ func (m *NinRepPackedNativeUnsafe) Reset() { *m = NinRepPackedNativeUnsa func (m *NinRepPackedNativeUnsafe) String() string { return proto.CompactTextString(m) } func (*NinRepPackedNativeUnsafe) ProtoMessage() {} func (*NinRepPackedNativeUnsafe) Descriptor() ([]byte, []int) { - return fileDescriptor_packed_0c54be3753617b96, []int{3} + return fileDescriptor_2c9922eb15f14bbb, []int{3} } func (m *NinRepPackedNativeUnsafe) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepPackedNativeUnsafe.Unmarshal(m, b) @@ -455,8 +456,8 @@ func (m *NinRepPackedNativeUnsafe) XXX_Unmarshal(b []byte) error { func (m *NinRepPackedNativeUnsafe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepPackedNativeUnsafe.Marshal(b, m, deterministic) } -func (dst *NinRepPackedNativeUnsafe) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepPackedNativeUnsafe.Merge(dst, src) +func (m *NinRepPackedNativeUnsafe) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNativeUnsafe.Merge(m, src) } func (m *NinRepPackedNativeUnsafe) XXX_Size() int { return xxx_messageInfo_NinRepPackedNativeUnsafe.Size(m) @@ -564,6 +565,38 @@ func init() { proto.RegisterType((*NinRepNativeUnsafe)(nil), "packed.NinRepNativeUnsafe") proto.RegisterType((*NinRepPackedNativeUnsafe)(nil), "packed.NinRepPackedNativeUnsafe") } + +func init() { proto.RegisterFile("packed.proto", fileDescriptor_2c9922eb15f14bbb) } + +var fileDescriptor_2c9922eb15f14bbb = []byte{ + // 388 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x92, 0xbf, 0x4e, 0xfa, 0x50, + 0x14, 0xc7, 0xd3, 0x9e, 0x52, 0xf8, 0xdd, 0x1f, 0x44, 0xec, 0x60, 0x4e, 0x08, 0xd1, 0x1b, 0xa6, + 0xbb, 0x08, 0xb6, 0xe5, 0xaf, 0x23, 0x83, 0x23, 0x31, 0x24, 0x3e, 0x00, 0x7f, 0x0a, 0x36, 0x2a, + 0x25, 0x0a, 0x3e, 0x86, 0x71, 0xf0, 0x05, 0x7c, 0x13, 0x1f, 0xc2, 0xc9, 0xcd, 0xb7, 0x70, 0x34, + 0xb4, 0xa7, 0xa7, 0x17, 0x1c, 0x1d, 0x5c, 0xd8, 0xb8, 0x9f, 0x4f, 0x18, 0xfa, 0xf9, 0x1e, 0x51, + 0x5c, 0x8e, 0x26, 0x37, 0xc1, 0xb4, 0xbe, 0xbc, 0x8f, 0x56, 0x91, 0x63, 0x27, 0xaf, 0xca, 0xe9, + 0x3c, 0x5c, 0x5d, 0xaf, 0xc7, 0xf5, 0x49, 0x74, 0xd7, 0x98, 0x47, 0xf3, 0xa8, 0x11, 0xeb, 0xf1, + 0x7a, 0x16, 0xbf, 0xe2, 0x47, 0xfc, 0x2b, 0xf9, 0x5b, 0xed, 0xdd, 0x14, 0xc5, 0x41, 0xb8, 0x18, + 0x06, 0xcb, 0xc1, 0x68, 0x15, 0x3e, 0x06, 0xce, 0x91, 0xb0, 0x2f, 0xc2, 0xe0, 0x76, 0xea, 0xa2, + 0x21, 0x41, 0x19, 0x43, 0x7a, 0x31, 0xf7, 0xd0, 0x94, 0xa0, 0x4c, 0xe2, 0x1e, 0x73, 0x1f, 0x41, + 0x82, 0xca, 0x11, 0xf7, 0x99, 0x37, 0xd1, 0x92, 0xa0, 0x80, 0x78, 0x93, 0x79, 0x0b, 0x73, 0x12, + 0x54, 0x89, 0x78, 0x8b, 0x79, 0x1b, 0x6d, 0x09, 0xca, 0x22, 0xde, 0x66, 0xde, 0xc1, 0xbc, 0x04, + 0x75, 0x48, 0xbc, 0xc3, 0xbc, 0x8b, 0x05, 0x09, 0xca, 0x21, 0xde, 0x65, 0xde, 0xc3, 0x7f, 0x12, + 0x54, 0x9e, 0x78, 0xcf, 0x41, 0x91, 0x4f, 0xbe, 0xe4, 0x0c, 0x85, 0x04, 0x75, 0x30, 0x4c, 0x9f, + 0x99, 0x71, 0xf1, 0xbf, 0x04, 0x65, 0xa7, 0xc6, 0xcd, 0x8c, 0x87, 0x45, 0x09, 0xaa, 0x9c, 0x1a, + 0x2f, 0x33, 0x3e, 0x96, 0x24, 0xa8, 0x42, 0x6a, 0xfc, 0x73, 0xeb, 0xf9, 0xf5, 0xc4, 0xa8, 0x3d, + 0x81, 0x70, 0x92, 0xac, 0x97, 0xf1, 0x2c, 0x14, 0xb7, 0xb2, 0x1d, 0xb7, 0x6f, 0x96, 0xb3, 0xc0, + 0x95, 0xed, 0xc0, 0x9a, 0xf3, 0xd8, 0x51, 0x64, 0xcd, 0xf9, 0xec, 0x28, 0xb4, 0xe6, 0x9a, 0xec, + 0x28, 0xb6, 0xe6, 0x5a, 0xec, 0x28, 0xb8, 0xe6, 0xda, 0xec, 0x28, 0xba, 0xe6, 0x3a, 0xec, 0x28, + 0xbc, 0xe6, 0xba, 0xec, 0x28, 0xbe, 0xe6, 0x7a, 0x4e, 0x75, 0x67, 0x80, 0x58, 0xf2, 0x08, 0xd5, + 0x9d, 0x11, 0x74, 0xeb, 0x66, 0x96, 0x86, 0xd0, 0xad, 0x97, 0x59, 0x1a, 0x43, 0xb7, 0xe9, 0x20, + 0x1f, 0x66, 0x3a, 0x48, 0x32, 0xc5, 0xd5, 0xe2, 0x61, 0x34, 0xdb, 0x5f, 0xfb, 0xaf, 0xaf, 0xfd, + 0x6d, 0x13, 0xf7, 0x05, 0x04, 0xfe, 0xbc, 0x76, 0x4a, 0xbc, 0xbf, 0xf9, 0x3f, 0xb8, 0xf9, 0xcd, + 0x2c, 0x7d, 0xeb, 0xeb, 0xf3, 0xd8, 0xf8, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x13, 0x20, 0xf1, 0x6c, + 0x27, 0x06, 0x00, 0x00, +} + func NewPopulatedNinRepNative(r randyPacked, easy bool) *NinRepNative { this := &NinRepNative{} if r.Intn(10) != 0 { @@ -4664,34 +4697,3 @@ var ( ErrInvalidLengthPacked = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowPacked = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("packed.proto", fileDescriptor_packed_0c54be3753617b96) } - -var fileDescriptor_packed_0c54be3753617b96 = []byte{ - // 388 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x92, 0xbf, 0x4e, 0xfa, 0x50, - 0x14, 0xc7, 0xd3, 0x9e, 0x52, 0xf8, 0xdd, 0x1f, 0x44, 0xec, 0x60, 0x4e, 0x08, 0xd1, 0x1b, 0xa6, - 0xbb, 0x08, 0xb6, 0xe5, 0xaf, 0x23, 0x83, 0x23, 0x31, 0x24, 0x3e, 0x00, 0x7f, 0x0a, 0x36, 0x2a, - 0x25, 0x0a, 0x3e, 0x86, 0x71, 0xf0, 0x05, 0x7c, 0x13, 0x1f, 0xc2, 0xc9, 0xcd, 0xb7, 0x70, 0x34, - 0xb4, 0xa7, 0xa7, 0x17, 0x1c, 0x1d, 0x5c, 0xd8, 0xb8, 0x9f, 0x4f, 0x18, 0xfa, 0xf9, 0x1e, 0x51, - 0x5c, 0x8e, 0x26, 0x37, 0xc1, 0xb4, 0xbe, 0xbc, 0x8f, 0x56, 0x91, 0x63, 0x27, 0xaf, 0xca, 0xe9, - 0x3c, 0x5c, 0x5d, 0xaf, 0xc7, 0xf5, 0x49, 0x74, 0xd7, 0x98, 0x47, 0xf3, 0xa8, 0x11, 0xeb, 0xf1, - 0x7a, 0x16, 0xbf, 0xe2, 0x47, 0xfc, 0x2b, 0xf9, 0x5b, 0xed, 0xdd, 0x14, 0xc5, 0x41, 0xb8, 0x18, - 0x06, 0xcb, 0xc1, 0x68, 0x15, 0x3e, 0x06, 0xce, 0x91, 0xb0, 0x2f, 0xc2, 0xe0, 0x76, 0xea, 0xa2, - 0x21, 0x41, 0x19, 0x43, 0x7a, 0x31, 0xf7, 0xd0, 0x94, 0xa0, 0x4c, 0xe2, 0x1e, 0x73, 0x1f, 0x41, - 0x82, 0xca, 0x11, 0xf7, 0x99, 0x37, 0xd1, 0x92, 0xa0, 0x80, 0x78, 0x93, 0x79, 0x0b, 0x73, 0x12, - 0x54, 0x89, 0x78, 0x8b, 0x79, 0x1b, 0x6d, 0x09, 0xca, 0x22, 0xde, 0x66, 0xde, 0xc1, 0xbc, 0x04, - 0x75, 0x48, 0xbc, 0xc3, 0xbc, 0x8b, 0x05, 0x09, 0xca, 0x21, 0xde, 0x65, 0xde, 0xc3, 0x7f, 0x12, - 0x54, 0x9e, 0x78, 0xcf, 0x41, 0x91, 0x4f, 0xbe, 0xe4, 0x0c, 0x85, 0x04, 0x75, 0x30, 0x4c, 0x9f, - 0x99, 0x71, 0xf1, 0xbf, 0x04, 0x65, 0xa7, 0xc6, 0xcd, 0x8c, 0x87, 0x45, 0x09, 0xaa, 0x9c, 0x1a, - 0x2f, 0x33, 0x3e, 0x96, 0x24, 0xa8, 0x42, 0x6a, 0xfc, 0x73, 0xeb, 0xf9, 0xf5, 0xc4, 0xa8, 0x3d, - 0x81, 0x70, 0x92, 0xac, 0x97, 0xf1, 0x2c, 0x14, 0xb7, 0xb2, 0x1d, 0xb7, 0x6f, 0x96, 0xb3, 0xc0, - 0x95, 0xed, 0xc0, 0x9a, 0xf3, 0xd8, 0x51, 0x64, 0xcd, 0xf9, 0xec, 0x28, 0xb4, 0xe6, 0x9a, 0xec, - 0x28, 0xb6, 0xe6, 0x5a, 0xec, 0x28, 0xb8, 0xe6, 0xda, 0xec, 0x28, 0xba, 0xe6, 0x3a, 0xec, 0x28, - 0xbc, 0xe6, 0xba, 0xec, 0x28, 0xbe, 0xe6, 0x7a, 0x4e, 0x75, 0x67, 0x80, 0x58, 0xf2, 0x08, 0xd5, - 0x9d, 0x11, 0x74, 0xeb, 0x66, 0x96, 0x86, 0xd0, 0xad, 0x97, 0x59, 0x1a, 0x43, 0xb7, 0xe9, 0x20, - 0x1f, 0x66, 0x3a, 0x48, 0x32, 0xc5, 0xd5, 0xe2, 0x61, 0x34, 0xdb, 0x5f, 0xfb, 0xaf, 0xaf, 0xfd, - 0x6d, 0x13, 0xf7, 0x05, 0x04, 0xfe, 0xbc, 0x76, 0x4a, 0xbc, 0xbf, 0xf9, 0x3f, 0xb8, 0xf9, 0xcd, - 0x2c, 0x7d, 0xeb, 0xeb, 0xf3, 0xd8, 0xf8, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x13, 0x20, 0xf1, 0x6c, - 0x27, 0x06, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/proto3extension/proto3ext.pb.go b/vendor/github.com/gogo/protobuf/test/proto3extension/proto3ext.pb.go index b158a0576..66150d094 100644 --- a/vendor/github.com/gogo/protobuf/test/proto3extension/proto3ext.pb.go +++ b/vendor/github.com/gogo/protobuf/test/proto3extension/proto3ext.pb.go @@ -3,10 +3,12 @@ package proto3extension -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -42,9 +44,9 @@ func init() { proto.RegisterExtension(E_Index) } -func init() { proto.RegisterFile("proto3ext.proto", fileDescriptor_proto3ext_326ff12b79dc1085) } +func init() { proto.RegisterFile("proto3ext.proto", fileDescriptor_a399cd792699f40f) } -var fileDescriptor_proto3ext_326ff12b79dc1085 = []byte{ +var fileDescriptor_a399cd792699f40f = []byte{ // 137 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x37, 0x4e, 0xad, 0x28, 0xd1, 0x03, 0xb3, 0x84, 0x10, 0x02, 0xa9, 0x79, 0xc5, 0x99, 0xf9, diff --git a/vendor/github.com/gogo/protobuf/test/protosize/protosize.pb.go b/vendor/github.com/gogo/protobuf/test/protosize/protosize.pb.go index f5a0a3088..e04a17f73 100644 --- a/vendor/github.com/gogo/protobuf/test/protosize/protosize.pb.go +++ b/vendor/github.com/gogo/protobuf/test/protosize/protosize.pb.go @@ -3,14 +3,14 @@ package protosize -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -37,7 +37,7 @@ func (m *SizeMessage) Reset() { *m = SizeMessage{} } func (m *SizeMessage) String() string { return proto.CompactTextString(m) } func (*SizeMessage) ProtoMessage() {} func (*SizeMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_protosize_06b2b18dea724cd1, []int{0} + return fileDescriptor_16520eec64ed25c4, []int{0} } func (m *SizeMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -54,8 +54,8 @@ func (m *SizeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *SizeMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_SizeMessage.Merge(dst, src) +func (m *SizeMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_SizeMessage.Merge(m, src) } func (m *SizeMessage) XXX_Size() int { return m.ProtoSize() @@ -97,6 +97,25 @@ func (m *SizeMessage) GetString_() string { func init() { proto.RegisterType((*SizeMessage)(nil), "protosize.SizeMessage") } + +func init() { proto.RegisterFile("protosize.proto", fileDescriptor_16520eec64ed25c4) } + +var fileDescriptor_16520eec64ed25c4 = []byte{ + // 182 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2f, 0x28, 0xca, 0x2f, + 0xc9, 0x2f, 0xce, 0xac, 0x4a, 0xd5, 0x03, 0xb3, 0x84, 0x38, 0xe1, 0x02, 0x52, 0xba, 0xe9, 0x99, + 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0xa9, + 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0x3a, 0x95, 0xf2, 0xb8, 0xb8, 0x83, 0x33, + 0xab, 0x52, 0x7d, 0x53, 0x8b, 0x8b, 0x13, 0xd3, 0x53, 0x85, 0x84, 0xb8, 0x58, 0x40, 0xa6, 0x48, + 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0x81, 0xd9, 0x42, 0xb2, 0x5c, 0x5c, 0x60, 0xb5, 0xf1, 0x60, + 0x19, 0x26, 0xb0, 0x0c, 0xc4, 0x42, 0x90, 0x4e, 0x21, 0x11, 0x2e, 0x56, 0xd7, 0xc2, 0xd2, 0xc4, + 0x1c, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x8e, 0x20, 0x08, 0x47, 0x48, 0x8c, 0x8b, 0x2d, 0xb8, 0xa4, + 0x28, 0x33, 0x2f, 0x5d, 0x82, 0x45, 0x81, 0x51, 0x83, 0x33, 0x08, 0xca, 0x73, 0x92, 0xf8, 0xf1, + 0x50, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x1d, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, + 0xf0, 0x48, 0x8e, 0x71, 0xc1, 0x63, 0x39, 0x46, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xf7, + 0x87, 0xb3, 0xd5, 0x00, 0x00, 0x00, +} + func (this *SizeMessage) Equal(that interface{}) bool { if that == nil { return this == nil @@ -599,21 +618,3 @@ var ( ErrInvalidLengthProtosize = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProtosize = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("protosize.proto", fileDescriptor_protosize_06b2b18dea724cd1) } - -var fileDescriptor_protosize_06b2b18dea724cd1 = []byte{ - // 182 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2f, 0x28, 0xca, 0x2f, - 0xc9, 0x2f, 0xce, 0xac, 0x4a, 0xd5, 0x03, 0xb3, 0x84, 0x38, 0xe1, 0x02, 0x52, 0xba, 0xe9, 0x99, - 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0xa9, - 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0x3a, 0x95, 0xf2, 0xb8, 0xb8, 0x83, 0x33, - 0xab, 0x52, 0x7d, 0x53, 0x8b, 0x8b, 0x13, 0xd3, 0x53, 0x85, 0x84, 0xb8, 0x58, 0x40, 0xa6, 0x48, - 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0x81, 0xd9, 0x42, 0xb2, 0x5c, 0x5c, 0x60, 0xb5, 0xf1, 0x60, - 0x19, 0x26, 0xb0, 0x0c, 0xc4, 0x42, 0x90, 0x4e, 0x21, 0x11, 0x2e, 0x56, 0xd7, 0xc2, 0xd2, 0xc4, - 0x1c, 0x09, 0x66, 0x05, 0x46, 0x0d, 0x8e, 0x20, 0x08, 0x47, 0x48, 0x8c, 0x8b, 0x2d, 0xb8, 0xa4, - 0x28, 0x33, 0x2f, 0x5d, 0x82, 0x45, 0x81, 0x51, 0x83, 0x33, 0x08, 0xca, 0x73, 0x92, 0xf8, 0xf1, - 0x50, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x1d, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, - 0xf0, 0x48, 0x8e, 0x71, 0xc1, 0x63, 0x39, 0x46, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xf7, - 0x87, 0xb3, 0xd5, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/required/requiredexample.pb.go b/vendor/github.com/gogo/protobuf/test/required/requiredexample.pb.go index 49cb060d4..a38d3151a 100644 --- a/vendor/github.com/gogo/protobuf/test/required/requiredexample.pb.go +++ b/vendor/github.com/gogo/protobuf/test/required/requiredexample.pb.go @@ -3,15 +3,15 @@ package required -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import encoding_binary "encoding/binary" - -import io "io" +import ( + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -37,7 +37,7 @@ func (m *RequiredExample) Reset() { *m = RequiredExample{} } func (m *RequiredExample) String() string { return proto.CompactTextString(m) } func (*RequiredExample) ProtoMessage() {} func (*RequiredExample) Descriptor() ([]byte, []int) { - return fileDescriptor_requiredexample_2673f47f43fdf851, []int{0} + return fileDescriptor_96043524afb2ed2f, []int{0} } func (m *RequiredExample) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -54,8 +54,8 @@ func (m *RequiredExample) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *RequiredExample) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequiredExample.Merge(dst, src) +func (m *RequiredExample) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequiredExample.Merge(m, src) } func (m *RequiredExample) XXX_Size() int { return m.Size() @@ -112,7 +112,7 @@ func (m *NidOptNative) Reset() { *m = NidOptNative{} } func (m *NidOptNative) String() string { return proto.CompactTextString(m) } func (*NidOptNative) ProtoMessage() {} func (*NidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_requiredexample_2673f47f43fdf851, []int{1} + return fileDescriptor_96043524afb2ed2f, []int{1} } func (m *NidOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -129,8 +129,8 @@ func (m *NidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNative.Merge(dst, src) +func (m *NidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNative.Merge(m, src) } func (m *NidOptNative) XXX_Size() int { return m.Size() @@ -271,7 +271,7 @@ func (m *NinOptNative) Reset() { *m = NinOptNative{} } func (m *NinOptNative) String() string { return proto.CompactTextString(m) } func (*NinOptNative) ProtoMessage() {} func (*NinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_requiredexample_2673f47f43fdf851, []int{2} + return fileDescriptor_96043524afb2ed2f, []int{2} } func (m *NinOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -288,8 +288,8 @@ func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *NinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNative.Merge(dst, src) +func (m *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(m, src) } func (m *NinOptNative) XXX_Size() int { return m.Size() @@ -416,7 +416,7 @@ func (m *NestedNinOptNative) Reset() { *m = NestedNinOptNative{} } func (m *NestedNinOptNative) String() string { return proto.CompactTextString(m) } func (*NestedNinOptNative) ProtoMessage() {} func (*NestedNinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_requiredexample_2673f47f43fdf851, []int{3} + return fileDescriptor_96043524afb2ed2f, []int{3} } func (m *NestedNinOptNative) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -433,8 +433,8 @@ func (m *NestedNinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (dst *NestedNinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedNinOptNative.Merge(dst, src) +func (m *NestedNinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedNinOptNative.Merge(m, src) } func (m *NestedNinOptNative) XXX_Size() int { return m.Size() @@ -458,6 +458,43 @@ func init() { proto.RegisterType((*NinOptNative)(nil), "required.NinOptNative") proto.RegisterType((*NestedNinOptNative)(nil), "required.NestedNinOptNative") } + +func init() { proto.RegisterFile("requiredexample.proto", fileDescriptor_96043524afb2ed2f) } + +var fileDescriptor_96043524afb2ed2f = []byte{ + // 469 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0xd4, 0xdd, 0x8e, 0xd2, 0x40, + 0x14, 0xc0, 0x71, 0x3b, 0x65, 0xf9, 0x98, 0x05, 0xd9, 0x6d, 0xe2, 0xe4, 0xc4, 0x98, 0x7a, 0xc2, + 0xd5, 0x5c, 0x68, 0x57, 0x0a, 0xec, 0x47, 0xe2, 0xd5, 0x26, 0x7a, 0xc9, 0x26, 0xf5, 0x09, 0x58, + 0x19, 0xd9, 0x26, 0x2c, 0xad, 0x30, 0x18, 0xaf, 0x7d, 0x0f, 0xdf, 0x67, 0x2f, 0x7d, 0x00, 0x63, + 0x94, 0xa7, 0xf0, 0xd2, 0x58, 0xda, 0x33, 0x9c, 0xea, 0x1d, 0x3d, 0xff, 0x33, 0x13, 0xc8, 0x8f, + 0x54, 0x3e, 0x59, 0x9b, 0x8f, 0xdb, 0x74, 0x6d, 0xe6, 0xe6, 0xf3, 0xec, 0x3e, 0x5f, 0x9a, 0x28, + 0x5f, 0x67, 0x36, 0x0b, 0xda, 0xd5, 0xf8, 0xe9, 0xcb, 0x45, 0x6a, 0xef, 0xb6, 0xb7, 0xd1, 0xfb, + 0xec, 0xfe, 0x6c, 0x91, 0x2d, 0xb2, 0xb3, 0x62, 0xe1, 0x76, 0xfb, 0xa1, 0x78, 0x2a, 0x1e, 0x8a, + 0x4f, 0xfb, 0x83, 0x83, 0xaf, 0x9e, 0xec, 0x27, 0xe5, 0xd9, 0x37, 0xfb, 0x2b, 0x83, 0x17, 0xf2, + 0xd4, 0xde, 0x99, 0x6a, 0xfa, 0xce, 0xae, 0xd3, 0xd5, 0x02, 0x3c, 0x14, 0xba, 0x93, 0xfc, 0x1b, + 0xca, 0xed, 0x9b, 0xdc, 0xa6, 0xd9, 0x6a, 0xb6, 0x2c, 0xb7, 0x05, 0x7a, 0xe5, 0x36, 0x0f, 0x41, + 0x24, 0x83, 0xe2, 0x8a, 0xdc, 0xcc, 0x6c, 0x75, 0xc5, 0x06, 0x7c, 0xf4, 0x75, 0x27, 0xf9, 0x4f, + 0x19, 0x7c, 0xf7, 0x65, 0x77, 0x9a, 0xce, 0x6f, 0x72, 0x3b, 0x9d, 0xd9, 0xf4, 0x93, 0x09, 0x9e, + 0xc9, 0xe6, 0xdb, 0xd4, 0x2c, 0xe7, 0xc3, 0xe2, 0x1b, 0x79, 0xd7, 0x8d, 0x87, 0x1f, 0xcf, 0x1f, + 0x25, 0xe5, 0x8c, 0x6a, 0x0c, 0x02, 0x85, 0x16, 0xac, 0xc6, 0x54, 0x47, 0xe0, 0xa3, 0xd0, 0x47, + 0xac, 0x8e, 0xa8, 0x8e, 0xa1, 0x81, 0x42, 0xfb, 0xac, 0x8e, 0xa9, 0x4e, 0xe0, 0x08, 0x85, 0xee, + 0xb1, 0x3a, 0xa1, 0x7a, 0x0e, 0x4d, 0x14, 0xba, 0xc1, 0xea, 0x39, 0xd5, 0x0b, 0x68, 0xa1, 0xd0, + 0xa7, 0xac, 0x5e, 0x50, 0xbd, 0x84, 0x36, 0x0a, 0x1d, 0xb0, 0x7a, 0x49, 0xf5, 0x0a, 0x3a, 0x28, + 0x74, 0x8b, 0xd5, 0xab, 0x20, 0x94, 0xad, 0xfd, 0x2f, 0x7f, 0x05, 0x12, 0x85, 0xee, 0x97, 0xb9, + 0x1a, 0xba, 0x3e, 0x84, 0x63, 0x14, 0xba, 0xc9, 0xfb, 0xd0, 0xf5, 0x18, 0xba, 0x28, 0xf4, 0x09, + 0xef, 0xb1, 0xeb, 0x23, 0xe8, 0xa1, 0xd0, 0x6d, 0xde, 0x47, 0xae, 0x8f, 0xe1, 0xf1, 0xdf, 0x3f, + 0x08, 0xef, 0x63, 0xd7, 0x27, 0xd0, 0x47, 0xa1, 0xbb, 0xbc, 0x4f, 0x06, 0x5f, 0x0a, 0xde, 0x95, + 0xe3, 0x55, 0x9c, 0x97, 0x60, 0x15, 0x87, 0x25, 0x52, 0xc5, 0x49, 0x09, 0x53, 0x71, 0x4c, 0x62, + 0x54, 0x9c, 0x91, 0x00, 0x15, 0x07, 0x24, 0x3a, 0xc5, 0xe9, 0x08, 0x4d, 0x71, 0x34, 0xe2, 0x52, + 0x9c, 0x8b, 0xa0, 0xa0, 0x06, 0xe5, 0x88, 0xa0, 0x46, 0xe4, 0x70, 0xa0, 0x86, 0xe3, 0x58, 0xa0, + 0xc6, 0xe2, 0x40, 0xa0, 0x06, 0xe2, 0x28, 0xa0, 0x46, 0xe1, 0x10, 0x12, 0x19, 0x4c, 0xcd, 0xc6, + 0x9a, 0x39, 0x93, 0x78, 0x2d, 0x7b, 0x87, 0xd3, 0x0d, 0x78, 0xe8, 0xeb, 0xe3, 0x58, 0x45, 0xd5, + 0xab, 0x26, 0x3a, 0x5c, 0x4f, 0xf8, 0xf2, 0xf5, 0xc9, 0xef, 0x5f, 0xa1, 0xf7, 0xb0, 0x0b, 0xbd, + 0x6f, 0xbb, 0xd0, 0xfb, 0xb9, 0x0b, 0xbd, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x03, 0x9e, 0xae, + 0x5f, 0xba, 0x04, 0x00, 0x00, +} + func (m *RequiredExample) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2229,41 +2266,3 @@ var ( ErrInvalidLengthRequiredexample = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowRequiredexample = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("requiredexample.proto", fileDescriptor_requiredexample_2673f47f43fdf851) -} - -var fileDescriptor_requiredexample_2673f47f43fdf851 = []byte{ - // 469 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0xd4, 0xdd, 0x8e, 0xd2, 0x40, - 0x14, 0xc0, 0x71, 0x3b, 0x65, 0xf9, 0x98, 0x05, 0xd9, 0x6d, 0xe2, 0xe4, 0xc4, 0x98, 0x7a, 0xc2, - 0xd5, 0x5c, 0x68, 0x57, 0x0a, 0xec, 0x47, 0xe2, 0xd5, 0x26, 0x7a, 0xc9, 0x26, 0xf5, 0x09, 0x58, - 0x19, 0xd9, 0x26, 0x2c, 0xad, 0x30, 0x18, 0xaf, 0x7d, 0x0f, 0xdf, 0x67, 0x2f, 0x7d, 0x00, 0x63, - 0x94, 0xa7, 0xf0, 0xd2, 0x58, 0xda, 0x33, 0x9c, 0xea, 0x1d, 0x3d, 0xff, 0x33, 0x13, 0xc8, 0x8f, - 0x54, 0x3e, 0x59, 0x9b, 0x8f, 0xdb, 0x74, 0x6d, 0xe6, 0xe6, 0xf3, 0xec, 0x3e, 0x5f, 0x9a, 0x28, - 0x5f, 0x67, 0x36, 0x0b, 0xda, 0xd5, 0xf8, 0xe9, 0xcb, 0x45, 0x6a, 0xef, 0xb6, 0xb7, 0xd1, 0xfb, - 0xec, 0xfe, 0x6c, 0x91, 0x2d, 0xb2, 0xb3, 0x62, 0xe1, 0x76, 0xfb, 0xa1, 0x78, 0x2a, 0x1e, 0x8a, - 0x4f, 0xfb, 0x83, 0x83, 0xaf, 0x9e, 0xec, 0x27, 0xe5, 0xd9, 0x37, 0xfb, 0x2b, 0x83, 0x17, 0xf2, - 0xd4, 0xde, 0x99, 0x6a, 0xfa, 0xce, 0xae, 0xd3, 0xd5, 0x02, 0x3c, 0x14, 0xba, 0x93, 0xfc, 0x1b, - 0xca, 0xed, 0x9b, 0xdc, 0xa6, 0xd9, 0x6a, 0xb6, 0x2c, 0xb7, 0x05, 0x7a, 0xe5, 0x36, 0x0f, 0x41, - 0x24, 0x83, 0xe2, 0x8a, 0xdc, 0xcc, 0x6c, 0x75, 0xc5, 0x06, 0x7c, 0xf4, 0x75, 0x27, 0xf9, 0x4f, - 0x19, 0x7c, 0xf7, 0x65, 0x77, 0x9a, 0xce, 0x6f, 0x72, 0x3b, 0x9d, 0xd9, 0xf4, 0x93, 0x09, 0x9e, - 0xc9, 0xe6, 0xdb, 0xd4, 0x2c, 0xe7, 0xc3, 0xe2, 0x1b, 0x79, 0xd7, 0x8d, 0x87, 0x1f, 0xcf, 0x1f, - 0x25, 0xe5, 0x8c, 0x6a, 0x0c, 0x02, 0x85, 0x16, 0xac, 0xc6, 0x54, 0x47, 0xe0, 0xa3, 0xd0, 0x47, - 0xac, 0x8e, 0xa8, 0x8e, 0xa1, 0x81, 0x42, 0xfb, 0xac, 0x8e, 0xa9, 0x4e, 0xe0, 0x08, 0x85, 0xee, - 0xb1, 0x3a, 0xa1, 0x7a, 0x0e, 0x4d, 0x14, 0xba, 0xc1, 0xea, 0x39, 0xd5, 0x0b, 0x68, 0xa1, 0xd0, - 0xa7, 0xac, 0x5e, 0x50, 0xbd, 0x84, 0x36, 0x0a, 0x1d, 0xb0, 0x7a, 0x49, 0xf5, 0x0a, 0x3a, 0x28, - 0x74, 0x8b, 0xd5, 0xab, 0x20, 0x94, 0xad, 0xfd, 0x2f, 0x7f, 0x05, 0x12, 0x85, 0xee, 0x97, 0xb9, - 0x1a, 0xba, 0x3e, 0x84, 0x63, 0x14, 0xba, 0xc9, 0xfb, 0xd0, 0xf5, 0x18, 0xba, 0x28, 0xf4, 0x09, - 0xef, 0xb1, 0xeb, 0x23, 0xe8, 0xa1, 0xd0, 0x6d, 0xde, 0x47, 0xae, 0x8f, 0xe1, 0xf1, 0xdf, 0x3f, - 0x08, 0xef, 0x63, 0xd7, 0x27, 0xd0, 0x47, 0xa1, 0xbb, 0xbc, 0x4f, 0x06, 0x5f, 0x0a, 0xde, 0x95, - 0xe3, 0x55, 0x9c, 0x97, 0x60, 0x15, 0x87, 0x25, 0x52, 0xc5, 0x49, 0x09, 0x53, 0x71, 0x4c, 0x62, - 0x54, 0x9c, 0x91, 0x00, 0x15, 0x07, 0x24, 0x3a, 0xc5, 0xe9, 0x08, 0x4d, 0x71, 0x34, 0xe2, 0x52, - 0x9c, 0x8b, 0xa0, 0xa0, 0x06, 0xe5, 0x88, 0xa0, 0x46, 0xe4, 0x70, 0xa0, 0x86, 0xe3, 0x58, 0xa0, - 0xc6, 0xe2, 0x40, 0xa0, 0x06, 0xe2, 0x28, 0xa0, 0x46, 0xe1, 0x10, 0x12, 0x19, 0x4c, 0xcd, 0xc6, - 0x9a, 0x39, 0x93, 0x78, 0x2d, 0x7b, 0x87, 0xd3, 0x0d, 0x78, 0xe8, 0xeb, 0xe3, 0x58, 0x45, 0xd5, - 0xab, 0x26, 0x3a, 0x5c, 0x4f, 0xf8, 0xf2, 0xf5, 0xc9, 0xef, 0x5f, 0xa1, 0xf7, 0xb0, 0x0b, 0xbd, - 0x6f, 0xbb, 0xd0, 0xfb, 0xb9, 0x0b, 0xbd, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x03, 0x9e, 0xae, - 0x5f, 0xba, 0x04, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/sizeunderscore/sizeunderscore.pb.go b/vendor/github.com/gogo/protobuf/test/sizeunderscore/sizeunderscore.pb.go index c319a9d2a..4e5268761 100644 --- a/vendor/github.com/gogo/protobuf/test/sizeunderscore/sizeunderscore.pb.go +++ b/vendor/github.com/gogo/protobuf/test/sizeunderscore/sizeunderscore.pb.go @@ -3,14 +3,14 @@ package sizeunderscore -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -36,7 +36,7 @@ func (m *SizeMessage) Reset() { *m = SizeMessage{} } func (m *SizeMessage) String() string { return proto.CompactTextString(m) } func (*SizeMessage) ProtoMessage() {} func (*SizeMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_sizeunderscore_50ebf86ef0019e26, []int{0} + return fileDescriptor_4ba72c70f4572a8b, []int{0} } func (m *SizeMessage) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -53,8 +53,8 @@ func (m *SizeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *SizeMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_SizeMessage.Merge(dst, src) +func (m *SizeMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_SizeMessage.Merge(m, src) } func (m *SizeMessage) XXX_Size() int { return m.Size() @@ -89,6 +89,24 @@ func (m *SizeMessage) GetString_() string { func init() { proto.RegisterType((*SizeMessage)(nil), "sizeunderscore.SizeMessage") } + +func init() { proto.RegisterFile("sizeunderscore.proto", fileDescriptor_4ba72c70f4572a8b) } + +var fileDescriptor_4ba72c70f4572a8b = []byte{ + // 174 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x29, 0xce, 0xac, 0x4a, + 0x2d, 0xcd, 0x4b, 0x49, 0x2d, 0x2a, 0x4e, 0xce, 0x2f, 0x4a, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, + 0x17, 0xe2, 0x43, 0x15, 0x95, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, + 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4b, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, + 0x0b, 0xa2, 0x5d, 0xc9, 0x9f, 0x8b, 0x3b, 0x38, 0xb3, 0x2a, 0xd5, 0x37, 0xb5, 0xb8, 0x38, 0x31, + 0x3d, 0x55, 0x48, 0x88, 0x8b, 0x05, 0x64, 0x9e, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x73, 0x10, 0x98, + 0x2d, 0x24, 0xc2, 0xc5, 0xea, 0x5a, 0x58, 0x9a, 0x98, 0x23, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x11, + 0x04, 0xe1, 0x08, 0x89, 0x71, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2b, 0x30, + 0x6a, 0x70, 0x06, 0x41, 0x79, 0x4e, 0x12, 0x3f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0xb8, + 0xe3, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, + 0x08, 0x08, 0x00, 0x00, 0xff, 0xff, 0x37, 0x1c, 0x48, 0xa4, 0xc0, 0x00, 0x00, 0x00, +} + func (this *SizeMessage) Equal(that interface{}) bool { if that == nil { return this == nil @@ -547,22 +565,3 @@ var ( ErrInvalidLengthSizeunderscore = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSizeunderscore = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("sizeunderscore.proto", fileDescriptor_sizeunderscore_50ebf86ef0019e26) -} - -var fileDescriptor_sizeunderscore_50ebf86ef0019e26 = []byte{ - // 174 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x29, 0xce, 0xac, 0x4a, - 0x2d, 0xcd, 0x4b, 0x49, 0x2d, 0x2a, 0x4e, 0xce, 0x2f, 0x4a, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, - 0x17, 0xe2, 0x43, 0x15, 0x95, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, - 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0x2b, 0x4b, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, - 0x0b, 0xa2, 0x5d, 0xc9, 0x9f, 0x8b, 0x3b, 0x38, 0xb3, 0x2a, 0xd5, 0x37, 0xb5, 0xb8, 0x38, 0x31, - 0x3d, 0x55, 0x48, 0x88, 0x8b, 0x05, 0x64, 0x9e, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x73, 0x10, 0x98, - 0x2d, 0x24, 0xc2, 0xc5, 0xea, 0x5a, 0x58, 0x9a, 0x98, 0x23, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x11, - 0x04, 0xe1, 0x08, 0x89, 0x71, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2b, 0x30, - 0x6a, 0x70, 0x06, 0x41, 0x79, 0x4e, 0x12, 0x3f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0xb8, - 0xe3, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, - 0x08, 0x08, 0x00, 0x00, 0xff, 0xff, 0x37, 0x1c, 0x48, 0xa4, 0xc0, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/stdtypes/stdtypes.pb.go b/vendor/github.com/gogo/protobuf/test/stdtypes/stdtypes.pb.go index ec21e7574..0b437e89a 100644 --- a/vendor/github.com/gogo/protobuf/test/stdtypes/stdtypes.pb.go +++ b/vendor/github.com/gogo/protobuf/test/stdtypes/stdtypes.pb.go @@ -3,20 +3,19 @@ package stdtypes -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" - -import time "time" -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + _ "github.com/gogo/protobuf/types" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + math "math" + reflect "reflect" + strings "strings" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -62,7 +61,7 @@ func (m *StdTypes) Reset() { *m = StdTypes{} } func (m *StdTypes) String() string { return proto.CompactTextString(m) } func (*StdTypes) ProtoMessage() {} func (*StdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_stdtypes_ce26a3b6156de25d, []int{0} + return fileDescriptor_fa784ced32c4280a, []int{0} } func (m *StdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StdTypes.Unmarshal(m, b) @@ -70,8 +69,8 @@ func (m *StdTypes) XXX_Unmarshal(b []byte) error { func (m *StdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_StdTypes.Marshal(b, m, deterministic) } -func (dst *StdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_StdTypes.Merge(dst, src) +func (m *StdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_StdTypes.Merge(m, src) } func (m *StdTypes) XXX_Size() int { return xxx_messageInfo_StdTypes.Size(m) @@ -268,7 +267,7 @@ func (m *RepStdTypes) Reset() { *m = RepStdTypes{} } func (m *RepStdTypes) String() string { return proto.CompactTextString(m) } func (*RepStdTypes) ProtoMessage() {} func (*RepStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_stdtypes_ce26a3b6156de25d, []int{1} + return fileDescriptor_fa784ced32c4280a, []int{1} } func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RepStdTypes.Unmarshal(m, b) @@ -276,8 +275,8 @@ func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { func (m *RepStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RepStdTypes.Marshal(b, m, deterministic) } -func (dst *RepStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepStdTypes.Merge(dst, src) +func (m *RepStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepStdTypes.Merge(m, src) } func (m *RepStdTypes) XXX_Size() int { return xxx_messageInfo_RepStdTypes.Size(m) @@ -474,7 +473,7 @@ func (m *MapStdTypes) Reset() { *m = MapStdTypes{} } func (m *MapStdTypes) String() string { return proto.CompactTextString(m) } func (*MapStdTypes) ProtoMessage() {} func (*MapStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_stdtypes_ce26a3b6156de25d, []int{2} + return fileDescriptor_fa784ced32c4280a, []int{2} } func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapStdTypes.Unmarshal(m, b) @@ -482,8 +481,8 @@ func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { func (m *MapStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapStdTypes.Marshal(b, m, deterministic) } -func (dst *MapStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapStdTypes.Merge(dst, src) +func (m *MapStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapStdTypes.Merge(m, src) } func (m *MapStdTypes) XXX_Size() int { return xxx_messageInfo_MapStdTypes.Size(m) @@ -671,7 +670,7 @@ func (m *OneofStdTypes) Reset() { *m = OneofStdTypes{} } func (m *OneofStdTypes) String() string { return proto.CompactTextString(m) } func (*OneofStdTypes) ProtoMessage() {} func (*OneofStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_stdtypes_ce26a3b6156de25d, []int{3} + return fileDescriptor_fa784ced32c4280a, []int{3} } func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OneofStdTypes.Unmarshal(m, b) @@ -679,8 +678,8 @@ func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { func (m *OneofStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OneofStdTypes.Marshal(b, m, deterministic) } -func (dst *OneofStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofStdTypes.Merge(dst, src) +func (m *OneofStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofStdTypes.Merge(m, src) } func (m *OneofStdTypes) XXX_Size() int { return xxx_messageInfo_OneofStdTypes.Size(m) @@ -1211,6 +1210,99 @@ func init() { proto.RegisterMapType((map[int32]time.Time)(nil), "stdtypes.MapStdTypes.TimestampEntry") proto.RegisterType((*OneofStdTypes)(nil), "stdtypes.OneofStdTypes") } + +func init() { proto.RegisterFile("stdtypes.proto", fileDescriptor_fa784ced32c4280a) } + +var fileDescriptor_fa784ced32c4280a = []byte{ + // 1372 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x99, 0x4f, 0x6f, 0x1b, 0xc5, + 0x1b, 0xc7, 0xbd, 0x19, 0x3b, 0xb5, 0xc7, 0x76, 0x9a, 0x4c, 0x7f, 0xad, 0xf6, 0x67, 0xd0, 0xa6, + 0x0a, 0x88, 0x06, 0x51, 0x1c, 0xd8, 0x45, 0x08, 0x21, 0x50, 0xc1, 0x0a, 0x25, 0x81, 0xfe, 0x01, + 0xd7, 0x6e, 0x2c, 0xa0, 0x50, 0x9b, 0x6c, 0x4d, 0x84, 0xe3, 0xb5, 0xec, 0x35, 0x28, 0x37, 0x5e, + 0x02, 0x47, 0x8e, 0x1c, 0xb9, 0x73, 0xe1, 0xc8, 0xb1, 0x47, 0x5e, 0x01, 0x34, 0xe6, 0x0d, 0x20, + 0xb8, 0xf4, 0x82, 0x84, 0x76, 0x66, 0x76, 0x77, 0x76, 0xf7, 0x99, 0xdd, 0x95, 0x35, 0xbe, 0x25, + 0x99, 0x79, 0x3e, 0xfe, 0xee, 0xe3, 0x51, 0x3e, 0x7e, 0x3c, 0x78, 0x63, 0xe6, 0x1e, 0xbb, 0x67, + 0x13, 0x7b, 0xd6, 0x9c, 0x4c, 0x1d, 0xd7, 0x21, 0x65, 0xff, 0xf7, 0xc6, 0xcb, 0xc3, 0x13, 0xf7, + 0xab, 0xf9, 0xa0, 0xf9, 0xa5, 0x73, 0xba, 0x37, 0x74, 0x86, 0xce, 0x1e, 0xdd, 0x30, 0x98, 0x3f, + 0xa2, 0xbf, 0xd1, 0x5f, 0xe8, 0x4f, 0xac, 0xb0, 0x61, 0x0c, 0x1d, 0x67, 0x38, 0xb2, 0xc3, 0x5d, + 0xc7, 0xf3, 0x69, 0xdf, 0x3d, 0x71, 0xc6, 0x7c, 0x7d, 0x3b, 0xbe, 0xee, 0x9e, 0x9c, 0xda, 0x33, + 0xb7, 0x7f, 0x3a, 0x91, 0x01, 0xbe, 0x9d, 0xf6, 0x27, 0x13, 0x7b, 0xca, 0x93, 0xed, 0xfc, 0x5d, + 0xc3, 0xe5, 0x7b, 0xee, 0x71, 0xc7, 0x0b, 0x47, 0xee, 0xe0, 0xad, 0xf1, 0x7c, 0x34, 0xea, 0x0f, + 0x46, 0x76, 0xc7, 0xe7, 0xe8, 0xda, 0x55, 0x6d, 0xb7, 0x6a, 0x36, 0x9a, 0x0c, 0xd4, 0xf4, 0x41, + 0xcd, 0x60, 0x47, 0xab, 0xf8, 0xfd, 0x1f, 0xdb, 0x5a, 0x3b, 0x59, 0x4a, 0x3e, 0xc4, 0x9b, 0xfe, + 0x1f, 0xf7, 0x79, 0x6e, 0x7d, 0x8d, 0xe2, 0xfe, 0x9f, 0xc0, 0xf9, 0x1b, 0x5a, 0xc5, 0x1f, 0x3c, + 0x5a, 0xa2, 0x90, 0xb4, 0x70, 0x25, 0x78, 0x38, 0x1d, 0x65, 0x86, 0x2a, 0x3f, 0xfe, 0x7d, 0xbb, + 0x40, 0x83, 0x85, 0x65, 0xe4, 0x06, 0x2e, 0xfb, 0x0d, 0xd4, 0x8b, 0x59, 0x41, 0x28, 0x81, 0x86, + 0x09, 0x8a, 0xc8, 0x07, 0x78, 0x23, 0x08, 0xe6, 0xcc, 0x07, 0x23, 0x5b, 0x2f, 0x51, 0xcc, 0xb3, + 0x49, 0x0c, 0x5d, 0xbe, 0xdf, 0x1f, 0xcd, 0xed, 0x56, 0xf1, 0x47, 0x8f, 0x12, 0xab, 0x24, 0xb7, + 0x70, 0x7d, 0xec, 0x8c, 0xbd, 0x3f, 0x72, 0xd4, 0x7a, 0x0e, 0x14, 0x0d, 0x45, 0x71, 0xd1, 0x62, + 0xf2, 0x3e, 0xae, 0xfb, 0xfc, 0x9b, 0x23, 0xa7, 0xef, 0xea, 0x17, 0x28, 0xed, 0x99, 0x04, 0x8d, + 0xae, 0x8a, 0xb9, 0xa2, 0x75, 0xe4, 0x10, 0xd7, 0x38, 0x99, 0x71, 0xca, 0xd9, 0x9c, 0x30, 0x54, + 0xa4, 0x54, 0xcc, 0x74, 0x38, 0x76, 0x5f, 0x7f, 0x4d, 0xaf, 0x48, 0x58, 0x74, 0x15, 0xcc, 0x44, + 0x57, 0x84, 0x4c, 0x8c, 0x83, 0xb3, 0x39, 0xc9, 0x4c, 0x0c, 0x25, 0xbc, 0x83, 0x5d, 0x06, 0xab, + 0x4a, 0xda, 0xde, 0x4d, 0xa4, 0x8a, 0x55, 0x0a, 0xef, 0x20, 0x47, 0xd5, 0x72, 0xa0, 0x92, 0xef, + 0x20, 0xa7, 0x45, 0xbb, 0x65, 0x99, 0x7a, 0x5d, 0xfe, 0x94, 0x96, 0x29, 0xeb, 0x96, 0x65, 0x46, + 0xbb, 0x65, 0x99, 0xfa, 0x46, 0x36, 0x07, 0xec, 0x96, 0x65, 0xc6, 0xbb, 0x65, 0x99, 0xfa, 0xc5, + 0x94, 0x47, 0x8c, 0xa6, 0x8a, 0x55, 0xc6, 0xba, 0x65, 0x99, 0xfa, 0x66, 0x0e, 0x14, 0xdc, 0x2d, + 0xcb, 0x24, 0xfb, 0xb8, 0xe6, 0xf3, 0x5b, 0x8e, 0x33, 0xd2, 0xb7, 0x24, 0xff, 0x11, 0xbc, 0x45, + 0x31, 0x55, 0xa4, 0x8a, 0xdc, 0xc4, 0x55, 0x8e, 0xa5, 0x10, 0x92, 0x09, 0x09, 0xf3, 0x88, 0x85, + 0x62, 0x9f, 0xee, 0xb9, 0xd3, 0x93, 0xf1, 0x50, 0xbf, 0x24, 0x79, 0x38, 0xb6, 0x0c, 0xf6, 0x89, + 0x2d, 0x09, 0x7d, 0xe2, 0xa8, 0xff, 0xe5, 0x40, 0x25, 0xfb, 0xc4, 0x69, 0xc2, 0xa9, 0x6a, 0x9d, + 0xb9, 0xf6, 0x4c, 0xbf, 0x2c, 0x39, 0x0d, 0x74, 0x15, 0x3c, 0x55, 0x74, 0x45, 0x38, 0x55, 0x8c, + 0x73, 0x25, 0x9b, 0x93, 0x3c, 0x55, 0x74, 0x71, 0xe7, 0xdf, 0x1a, 0xae, 0xb6, 0xed, 0x49, 0xe0, + 0x9d, 0x8f, 0x30, 0x49, 0xc8, 0x63, 0xa6, 0x6b, 0x57, 0x51, 0x2e, 0xf1, 0x00, 0xb5, 0xe4, 0x76, + 0x68, 0x32, 0xff, 0xff, 0xf9, 0x4c, 0x5f, 0xa3, 0xc0, 0x4c, 0xf5, 0x24, 0x2b, 0xc9, 0x3e, 0xc6, + 0x6e, 0x18, 0x0c, 0x65, 0x06, 0x0b, 0xe5, 0x23, 0xd4, 0x91, 0x77, 0x71, 0xe5, 0x38, 0x08, 0x53, + 0xcc, 0x0a, 0x13, 0xea, 0x27, 0xac, 0x02, 0xfd, 0x83, 0xd4, 0xf9, 0x07, 0x29, 0xf5, 0x0f, 0x52, + 0xe4, 0x1f, 0xa4, 0xd0, 0x3f, 0x48, 0x91, 0x7f, 0x90, 0x4a, 0xff, 0x20, 0x75, 0xfe, 0x41, 0x4a, + 0xfd, 0x83, 0x14, 0xf9, 0x07, 0xa9, 0xf4, 0x0f, 0x52, 0xe7, 0x1f, 0xa4, 0xd2, 0x3f, 0x48, 0x85, + 0x7f, 0x90, 0x3a, 0xff, 0x20, 0x75, 0xfe, 0x41, 0x4a, 0xfd, 0x83, 0x14, 0xf9, 0x07, 0x2d, 0xeb, + 0x9f, 0x9f, 0xb7, 0x71, 0xf5, 0x76, 0x3f, 0xf4, 0xcf, 0x43, 0x78, 0xee, 0xf1, 0xf8, 0xd7, 0x9b, + 0xc1, 0x28, 0x27, 0x54, 0x34, 0xef, 0xc4, 0xb7, 0xbf, 0x37, 0x76, 0xa7, 0x67, 0xf2, 0x49, 0xe8, + 0x96, 0x38, 0xbc, 0x30, 0x0f, 0x3d, 0x0f, 0x93, 0x63, 0x44, 0x70, 0x8c, 0x79, 0x00, 0xcc, 0x55, + 0x4c, 0x4a, 0x2f, 0xa5, 0xc7, 0xf5, 0x77, 0xf3, 0xb4, 0x92, 0x49, 0xeb, 0x30, 0x32, 0x25, 0x79, + 0xd8, 0xe7, 0x60, 0x6c, 0x14, 0x07, 0xcd, 0x4b, 0x47, 0x12, 0x5f, 0xbd, 0x98, 0x91, 0x93, 0xee, + 0xe5, 0x29, 0x41, 0x79, 0xf5, 0x60, 0x79, 0xed, 0x4a, 0xb8, 0xe2, 0x56, 0x21, 0x2d, 0x24, 0xb2, + 0x0e, 0x2c, 0xb2, 0xdd, 0xf4, 0xc4, 0x74, 0xab, 0x18, 0x38, 0x66, 0xb5, 0x2e, 0x68, 0xb5, 0x6b, + 0xa9, 0x71, 0x05, 0xa6, 0xcc, 0x70, 0x1d, 0xd8, 0x70, 0x19, 0x61, 0xe9, 0x56, 0x30, 0x2c, 0x33, + 0x41, 0x17, 0xd4, 0x5d, 0x7a, 0x58, 0x81, 0x29, 0x53, 0xdf, 0x91, 0x44, 0x7d, 0x19, 0x87, 0xa1, + 0x9b, 0x88, 0x1b, 0xf7, 0x60, 0x0f, 0xf6, 0x60, 0xfa, 0x61, 0xe8, 0x82, 0x89, 0x63, 0x4e, 0xec, + 0xc0, 0x4e, 0xcc, 0xee, 0xaf, 0x65, 0xca, 0xfa, 0x6b, 0x99, 0xd1, 0xfe, 0x06, 0x82, 0xcc, 0xec, + 0xaf, 0xcf, 0x94, 0xc9, 0xf2, 0x48, 0x22, 0xcb, 0x1c, 0xfd, 0x8d, 0xc6, 0x8d, 0x9b, 0xb3, 0x07, + 0x9b, 0x33, 0xbb, 0xbf, 0xc9, 0xc4, 0x31, 0x8b, 0x7e, 0x0c, 0x5a, 0xf4, 0x5a, 0x7a, 0x60, 0x6f, + 0xa7, 0x18, 0x37, 0xaa, 0xd4, 0x36, 0xa4, 0xd4, 0x17, 0x52, 0xa3, 0x86, 0x40, 0x89, 0x5e, 0x8f, + 0x24, 0x7a, 0xcd, 0xe8, 0x2c, 0xdb, 0x0b, 0x76, 0x96, 0xdb, 0xb1, 0x07, 0xbb, 0x36, 0xbd, 0xb3, + 0x22, 0x56, 0xea, 0xdd, 0x0e, 0xec, 0xdd, 0x8c, 0x93, 0x4b, 0xb7, 0x82, 0x27, 0x97, 0x49, 0xb8, + 0x0b, 0x4a, 0x38, 0xfd, 0xe4, 0x0a, 0x4c, 0x89, 0x90, 0x1b, 0x0f, 0xf1, 0x15, 0xd8, 0xa8, 0x64, + 0x13, 0xa3, 0xaf, 0xed, 0x33, 0xfa, 0x25, 0x64, 0xa9, 0xed, 0xfd, 0x48, 0x5e, 0xc1, 0xa5, 0x6f, + 0x3c, 0xbb, 0xf3, 0x6f, 0x12, 0x53, 0xc6, 0xb0, 0x36, 0xdb, 0xf8, 0xe6, 0xda, 0x1b, 0x5a, 0xa3, + 0x87, 0x37, 0x56, 0x44, 0xfe, 0x1c, 0x5f, 0x06, 0xf5, 0x0a, 0xbc, 0xc0, 0x5e, 0xf4, 0x05, 0xe4, + 0xc3, 0x9f, 0xc8, 0xbf, 0x8f, 0xeb, 0x2b, 0xe1, 0x7e, 0x81, 0x2f, 0x01, 0xba, 0x05, 0xe8, 0x66, + 0x94, 0x9e, 0x3a, 0x1f, 0x46, 0x1b, 0x43, 0x92, 0xde, 0x55, 0xc8, 0x7f, 0x80, 0x49, 0xd2, 0xbe, + 0x00, 0xff, 0xd5, 0x28, 0x3f, 0x6d, 0x92, 0x14, 0xf1, 0x9f, 0xe1, 0xad, 0x84, 0x87, 0xd5, 0xd1, + 0x85, 0xf0, 0xa1, 0x87, 0x96, 0xc1, 0x87, 0x93, 0x1d, 0x1c, 0x7e, 0x15, 0x74, 0xe1, 0xe8, 0x74, + 0x53, 0xf9, 0x99, 0x6f, 0x6d, 0x17, 0x7e, 0x81, 0xf0, 0xe8, 0xac, 0x86, 0x1f, 0xed, 0x3e, 0xb7, + 0xd4, 0x92, 0xfd, 0xe1, 0x93, 0xa2, 0xb4, 0xfb, 0xca, 0xe9, 0xb1, 0xee, 0xcb, 0xf9, 0xb9, 0xba, + 0x03, 0xbc, 0x40, 0xb4, 0xfb, 0xea, 0xf9, 0x9f, 0xe2, 0xad, 0x84, 0xca, 0x97, 0xf9, 0x77, 0x1c, + 0x4c, 0xc5, 0x22, 0xfc, 0x13, 0xbc, 0x19, 0xb7, 0xba, 0x32, 0xb6, 0xd0, 0x79, 0xc1, 0xc1, 0xcb, + 0x74, 0x46, 0x18, 0x9d, 0xe1, 0xce, 0xaf, 0x86, 0x2f, 0x9c, 0xfb, 0xd0, 0xca, 0xcb, 0x9c, 0xcc, + 0x70, 0xc8, 0x86, 0xcf, 0xfd, 0x0a, 0xe8, 0x3b, 0xff, 0x94, 0x70, 0xfd, 0xee, 0xd8, 0x76, 0x1e, + 0x05, 0x73, 0xfb, 0x3b, 0xe2, 0x54, 0x9d, 0xf3, 0x9e, 0xf2, 0xa0, 0x20, 0x4e, 0xd2, 0x6f, 0x0b, + 0xa3, 0x6e, 0xbe, 0x9b, 0xc9, 0x83, 0x82, 0x30, 0xde, 0xb6, 0x70, 0x65, 0x6a, 0x4f, 0xf8, 0x04, + 0x8a, 0xf2, 0xde, 0x04, 0x7a, 0x11, 0x82, 0x32, 0x72, 0x03, 0x97, 0xa7, 0xf6, 0x84, 0x4d, 0x85, + 0xc5, 0x9c, 0x77, 0x76, 0x5e, 0x08, 0xbf, 0x88, 0x03, 0xd8, 0xe0, 0x53, 0xca, 0x79, 0xc1, 0xc6, + 0x01, 0x6c, 0xc8, 0x61, 0x4f, 0xc1, 0x47, 0xa7, 0xf5, 0xbc, 0xb7, 0x61, 0xfc, 0x29, 0xf8, 0xa0, + 0x14, 0x84, 0xb0, 0x4c, 0xe9, 0xcd, 0x63, 0xfc, 0x1b, 0xba, 0x30, 0x84, 0x65, 0x0a, 0x21, 0x2c, + 0x93, 0xdf, 0x39, 0xe6, 0xf8, 0x92, 0x4f, 0x08, 0x61, 0x99, 0xe4, 0x2d, 0x7c, 0x61, 0x6a, 0x4f, + 0xe8, 0xc7, 0xfe, 0x4a, 0xbe, 0xeb, 0xa0, 0x83, 0x42, 0xdb, 0x2f, 0xe1, 0x09, 0xf8, 0xe7, 0x70, + 0x9c, 0xf7, 0xfa, 0x86, 0x27, 0xe0, 0x9f, 0xba, 0x59, 0x1b, 0xd8, 0x67, 0xe3, 0x6a, 0xce, 0x8b, + 0x16, 0xde, 0x06, 0xfa, 0xe7, 0xd6, 0x45, 0x7a, 0xc6, 0xef, 0xd2, 0x33, 0xee, 0x9d, 0xd2, 0xd6, + 0xf5, 0x27, 0xe7, 0x86, 0xf6, 0xd7, 0xb9, 0xa1, 0x3d, 0x3d, 0x37, 0xb4, 0x9f, 0x16, 0x86, 0xf6, + 0xcb, 0xc2, 0xd0, 0x7e, 0x5d, 0x18, 0xda, 0xe3, 0x85, 0x51, 0xf8, 0x6d, 0x61, 0x14, 0x9e, 0x2c, + 0x0c, 0xed, 0xe9, 0xc2, 0x28, 0x7c, 0xf7, 0xa7, 0x51, 0x18, 0xac, 0xd3, 0x57, 0xb1, 0xfe, 0x0b, + 0x00, 0x00, 0xff, 0xff, 0xd9, 0x80, 0xa9, 0x4d, 0x81, 0x20, 0x00, 0x00, +} + func (this *StdTypes) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -4868,95 +4960,3 @@ func sovStdtypes(x uint64) (n int) { func sozStdtypes(x uint64) (n int) { return sovStdtypes(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } - -func init() { proto.RegisterFile("stdtypes.proto", fileDescriptor_stdtypes_ce26a3b6156de25d) } - -var fileDescriptor_stdtypes_ce26a3b6156de25d = []byte{ - // 1372 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x99, 0x4f, 0x6f, 0x1b, 0xc5, - 0x1b, 0xc7, 0xbd, 0x19, 0x3b, 0xb5, 0xc7, 0x76, 0x9a, 0x4c, 0x7f, 0xad, 0xf6, 0x67, 0xd0, 0xa6, - 0x0a, 0x88, 0x06, 0x51, 0x1c, 0xd8, 0x45, 0x08, 0x21, 0x50, 0xc1, 0x0a, 0x25, 0x81, 0xfe, 0x01, - 0xd7, 0x6e, 0x2c, 0xa0, 0x50, 0x9b, 0x6c, 0x4d, 0x84, 0xe3, 0xb5, 0xec, 0x35, 0x28, 0x37, 0x5e, - 0x02, 0x47, 0x8e, 0x1c, 0xb9, 0x73, 0xe1, 0xc8, 0xb1, 0x47, 0x5e, 0x01, 0x34, 0xe6, 0x0d, 0x20, - 0xb8, 0xf4, 0x82, 0x84, 0x76, 0x66, 0x76, 0x77, 0x76, 0xf7, 0x99, 0xdd, 0x95, 0x35, 0xbe, 0x25, - 0x99, 0x79, 0x3e, 0xfe, 0xee, 0xe3, 0x51, 0x3e, 0x7e, 0x3c, 0x78, 0x63, 0xe6, 0x1e, 0xbb, 0x67, - 0x13, 0x7b, 0xd6, 0x9c, 0x4c, 0x1d, 0xd7, 0x21, 0x65, 0xff, 0xf7, 0xc6, 0xcb, 0xc3, 0x13, 0xf7, - 0xab, 0xf9, 0xa0, 0xf9, 0xa5, 0x73, 0xba, 0x37, 0x74, 0x86, 0xce, 0x1e, 0xdd, 0x30, 0x98, 0x3f, - 0xa2, 0xbf, 0xd1, 0x5f, 0xe8, 0x4f, 0xac, 0xb0, 0x61, 0x0c, 0x1d, 0x67, 0x38, 0xb2, 0xc3, 0x5d, - 0xc7, 0xf3, 0x69, 0xdf, 0x3d, 0x71, 0xc6, 0x7c, 0x7d, 0x3b, 0xbe, 0xee, 0x9e, 0x9c, 0xda, 0x33, - 0xb7, 0x7f, 0x3a, 0x91, 0x01, 0xbe, 0x9d, 0xf6, 0x27, 0x13, 0x7b, 0xca, 0x93, 0xed, 0xfc, 0x5d, - 0xc3, 0xe5, 0x7b, 0xee, 0x71, 0xc7, 0x0b, 0x47, 0xee, 0xe0, 0xad, 0xf1, 0x7c, 0x34, 0xea, 0x0f, - 0x46, 0x76, 0xc7, 0xe7, 0xe8, 0xda, 0x55, 0x6d, 0xb7, 0x6a, 0x36, 0x9a, 0x0c, 0xd4, 0xf4, 0x41, - 0xcd, 0x60, 0x47, 0xab, 0xf8, 0xfd, 0x1f, 0xdb, 0x5a, 0x3b, 0x59, 0x4a, 0x3e, 0xc4, 0x9b, 0xfe, - 0x1f, 0xf7, 0x79, 0x6e, 0x7d, 0x8d, 0xe2, 0xfe, 0x9f, 0xc0, 0xf9, 0x1b, 0x5a, 0xc5, 0x1f, 0x3c, - 0x5a, 0xa2, 0x90, 0xb4, 0x70, 0x25, 0x78, 0x38, 0x1d, 0x65, 0x86, 0x2a, 0x3f, 0xfe, 0x7d, 0xbb, - 0x40, 0x83, 0x85, 0x65, 0xe4, 0x06, 0x2e, 0xfb, 0x0d, 0xd4, 0x8b, 0x59, 0x41, 0x28, 0x81, 0x86, - 0x09, 0x8a, 0xc8, 0x07, 0x78, 0x23, 0x08, 0xe6, 0xcc, 0x07, 0x23, 0x5b, 0x2f, 0x51, 0xcc, 0xb3, - 0x49, 0x0c, 0x5d, 0xbe, 0xdf, 0x1f, 0xcd, 0xed, 0x56, 0xf1, 0x47, 0x8f, 0x12, 0xab, 0x24, 0xb7, - 0x70, 0x7d, 0xec, 0x8c, 0xbd, 0x3f, 0x72, 0xd4, 0x7a, 0x0e, 0x14, 0x0d, 0x45, 0x71, 0xd1, 0x62, - 0xf2, 0x3e, 0xae, 0xfb, 0xfc, 0x9b, 0x23, 0xa7, 0xef, 0xea, 0x17, 0x28, 0xed, 0x99, 0x04, 0x8d, - 0xae, 0x8a, 0xb9, 0xa2, 0x75, 0xe4, 0x10, 0xd7, 0x38, 0x99, 0x71, 0xca, 0xd9, 0x9c, 0x30, 0x54, - 0xa4, 0x54, 0xcc, 0x74, 0x38, 0x76, 0x5f, 0x7f, 0x4d, 0xaf, 0x48, 0x58, 0x74, 0x15, 0xcc, 0x44, - 0x57, 0x84, 0x4c, 0x8c, 0x83, 0xb3, 0x39, 0xc9, 0x4c, 0x0c, 0x25, 0xbc, 0x83, 0x5d, 0x06, 0xab, - 0x4a, 0xda, 0xde, 0x4d, 0xa4, 0x8a, 0x55, 0x0a, 0xef, 0x20, 0x47, 0xd5, 0x72, 0xa0, 0x92, 0xef, - 0x20, 0xa7, 0x45, 0xbb, 0x65, 0x99, 0x7a, 0x5d, 0xfe, 0x94, 0x96, 0x29, 0xeb, 0x96, 0x65, 0x46, - 0xbb, 0x65, 0x99, 0xfa, 0x46, 0x36, 0x07, 0xec, 0x96, 0x65, 0xc6, 0xbb, 0x65, 0x99, 0xfa, 0xc5, - 0x94, 0x47, 0x8c, 0xa6, 0x8a, 0x55, 0xc6, 0xba, 0x65, 0x99, 0xfa, 0x66, 0x0e, 0x14, 0xdc, 0x2d, - 0xcb, 0x24, 0xfb, 0xb8, 0xe6, 0xf3, 0x5b, 0x8e, 0x33, 0xd2, 0xb7, 0x24, 0xff, 0x11, 0xbc, 0x45, - 0x31, 0x55, 0xa4, 0x8a, 0xdc, 0xc4, 0x55, 0x8e, 0xa5, 0x10, 0x92, 0x09, 0x09, 0xf3, 0x88, 0x85, - 0x62, 0x9f, 0xee, 0xb9, 0xd3, 0x93, 0xf1, 0x50, 0xbf, 0x24, 0x79, 0x38, 0xb6, 0x0c, 0xf6, 0x89, - 0x2d, 0x09, 0x7d, 0xe2, 0xa8, 0xff, 0xe5, 0x40, 0x25, 0xfb, 0xc4, 0x69, 0xc2, 0xa9, 0x6a, 0x9d, - 0xb9, 0xf6, 0x4c, 0xbf, 0x2c, 0x39, 0x0d, 0x74, 0x15, 0x3c, 0x55, 0x74, 0x45, 0x38, 0x55, 0x8c, - 0x73, 0x25, 0x9b, 0x93, 0x3c, 0x55, 0x74, 0x71, 0xe7, 0xdf, 0x1a, 0xae, 0xb6, 0xed, 0x49, 0xe0, - 0x9d, 0x8f, 0x30, 0x49, 0xc8, 0x63, 0xa6, 0x6b, 0x57, 0x51, 0x2e, 0xf1, 0x00, 0xb5, 0xe4, 0x76, - 0x68, 0x32, 0xff, 0xff, 0xf9, 0x4c, 0x5f, 0xa3, 0xc0, 0x4c, 0xf5, 0x24, 0x2b, 0xc9, 0x3e, 0xc6, - 0x6e, 0x18, 0x0c, 0x65, 0x06, 0x0b, 0xe5, 0x23, 0xd4, 0x91, 0x77, 0x71, 0xe5, 0x38, 0x08, 0x53, - 0xcc, 0x0a, 0x13, 0xea, 0x27, 0xac, 0x02, 0xfd, 0x83, 0xd4, 0xf9, 0x07, 0x29, 0xf5, 0x0f, 0x52, - 0xe4, 0x1f, 0xa4, 0xd0, 0x3f, 0x48, 0x91, 0x7f, 0x90, 0x4a, 0xff, 0x20, 0x75, 0xfe, 0x41, 0x4a, - 0xfd, 0x83, 0x14, 0xf9, 0x07, 0xa9, 0xf4, 0x0f, 0x52, 0xe7, 0x1f, 0xa4, 0xd2, 0x3f, 0x48, 0x85, - 0x7f, 0x90, 0x3a, 0xff, 0x20, 0x75, 0xfe, 0x41, 0x4a, 0xfd, 0x83, 0x14, 0xf9, 0x07, 0x2d, 0xeb, - 0x9f, 0x9f, 0xb7, 0x71, 0xf5, 0x76, 0x3f, 0xf4, 0xcf, 0x43, 0x78, 0xee, 0xf1, 0xf8, 0xd7, 0x9b, - 0xc1, 0x28, 0x27, 0x54, 0x34, 0xef, 0xc4, 0xb7, 0xbf, 0x37, 0x76, 0xa7, 0x67, 0xf2, 0x49, 0xe8, - 0x96, 0x38, 0xbc, 0x30, 0x0f, 0x3d, 0x0f, 0x93, 0x63, 0x44, 0x70, 0x8c, 0x79, 0x00, 0xcc, 0x55, - 0x4c, 0x4a, 0x2f, 0xa5, 0xc7, 0xf5, 0x77, 0xf3, 0xb4, 0x92, 0x49, 0xeb, 0x30, 0x32, 0x25, 0x79, - 0xd8, 0xe7, 0x60, 0x6c, 0x14, 0x07, 0xcd, 0x4b, 0x47, 0x12, 0x5f, 0xbd, 0x98, 0x91, 0x93, 0xee, - 0xe5, 0x29, 0x41, 0x79, 0xf5, 0x60, 0x79, 0xed, 0x4a, 0xb8, 0xe2, 0x56, 0x21, 0x2d, 0x24, 0xb2, - 0x0e, 0x2c, 0xb2, 0xdd, 0xf4, 0xc4, 0x74, 0xab, 0x18, 0x38, 0x66, 0xb5, 0x2e, 0x68, 0xb5, 0x6b, - 0xa9, 0x71, 0x05, 0xa6, 0xcc, 0x70, 0x1d, 0xd8, 0x70, 0x19, 0x61, 0xe9, 0x56, 0x30, 0x2c, 0x33, - 0x41, 0x17, 0xd4, 0x5d, 0x7a, 0x58, 0x81, 0x29, 0x53, 0xdf, 0x91, 0x44, 0x7d, 0x19, 0x87, 0xa1, - 0x9b, 0x88, 0x1b, 0xf7, 0x60, 0x0f, 0xf6, 0x60, 0xfa, 0x61, 0xe8, 0x82, 0x89, 0x63, 0x4e, 0xec, - 0xc0, 0x4e, 0xcc, 0xee, 0xaf, 0x65, 0xca, 0xfa, 0x6b, 0x99, 0xd1, 0xfe, 0x06, 0x82, 0xcc, 0xec, - 0xaf, 0xcf, 0x94, 0xc9, 0xf2, 0x48, 0x22, 0xcb, 0x1c, 0xfd, 0x8d, 0xc6, 0x8d, 0x9b, 0xb3, 0x07, - 0x9b, 0x33, 0xbb, 0xbf, 0xc9, 0xc4, 0x31, 0x8b, 0x7e, 0x0c, 0x5a, 0xf4, 0x5a, 0x7a, 0x60, 0x6f, - 0xa7, 0x18, 0x37, 0xaa, 0xd4, 0x36, 0xa4, 0xd4, 0x17, 0x52, 0xa3, 0x86, 0x40, 0x89, 0x5e, 0x8f, - 0x24, 0x7a, 0xcd, 0xe8, 0x2c, 0xdb, 0x0b, 0x76, 0x96, 0xdb, 0xb1, 0x07, 0xbb, 0x36, 0xbd, 0xb3, - 0x22, 0x56, 0xea, 0xdd, 0x0e, 0xec, 0xdd, 0x8c, 0x93, 0x4b, 0xb7, 0x82, 0x27, 0x97, 0x49, 0xb8, - 0x0b, 0x4a, 0x38, 0xfd, 0xe4, 0x0a, 0x4c, 0x89, 0x90, 0x1b, 0x0f, 0xf1, 0x15, 0xd8, 0xa8, 0x64, - 0x13, 0xa3, 0xaf, 0xed, 0x33, 0xfa, 0x25, 0x64, 0xa9, 0xed, 0xfd, 0x48, 0x5e, 0xc1, 0xa5, 0x6f, - 0x3c, 0xbb, 0xf3, 0x6f, 0x12, 0x53, 0xc6, 0xb0, 0x36, 0xdb, 0xf8, 0xe6, 0xda, 0x1b, 0x5a, 0xa3, - 0x87, 0x37, 0x56, 0x44, 0xfe, 0x1c, 0x5f, 0x06, 0xf5, 0x0a, 0xbc, 0xc0, 0x5e, 0xf4, 0x05, 0xe4, - 0xc3, 0x9f, 0xc8, 0xbf, 0x8f, 0xeb, 0x2b, 0xe1, 0x7e, 0x81, 0x2f, 0x01, 0xba, 0x05, 0xe8, 0x66, - 0x94, 0x9e, 0x3a, 0x1f, 0x46, 0x1b, 0x43, 0x92, 0xde, 0x55, 0xc8, 0x7f, 0x80, 0x49, 0xd2, 0xbe, - 0x00, 0xff, 0xd5, 0x28, 0x3f, 0x6d, 0x92, 0x14, 0xf1, 0x9f, 0xe1, 0xad, 0x84, 0x87, 0xd5, 0xd1, - 0x85, 0xf0, 0xa1, 0x87, 0x96, 0xc1, 0x87, 0x93, 0x1d, 0x1c, 0x7e, 0x15, 0x74, 0xe1, 0xe8, 0x74, - 0x53, 0xf9, 0x99, 0x6f, 0x6d, 0x17, 0x7e, 0x81, 0xf0, 0xe8, 0xac, 0x86, 0x1f, 0xed, 0x3e, 0xb7, - 0xd4, 0x92, 0xfd, 0xe1, 0x93, 0xa2, 0xb4, 0xfb, 0xca, 0xe9, 0xb1, 0xee, 0xcb, 0xf9, 0xb9, 0xba, - 0x03, 0xbc, 0x40, 0xb4, 0xfb, 0xea, 0xf9, 0x9f, 0xe2, 0xad, 0x84, 0xca, 0x97, 0xf9, 0x77, 0x1c, - 0x4c, 0xc5, 0x22, 0xfc, 0x13, 0xbc, 0x19, 0xb7, 0xba, 0x32, 0xb6, 0xd0, 0x79, 0xc1, 0xc1, 0xcb, - 0x74, 0x46, 0x18, 0x9d, 0xe1, 0xce, 0xaf, 0x86, 0x2f, 0x9c, 0xfb, 0xd0, 0xca, 0xcb, 0x9c, 0xcc, - 0x70, 0xc8, 0x86, 0xcf, 0xfd, 0x0a, 0xe8, 0x3b, 0xff, 0x94, 0x70, 0xfd, 0xee, 0xd8, 0x76, 0x1e, - 0x05, 0x73, 0xfb, 0x3b, 0xe2, 0x54, 0x9d, 0xf3, 0x9e, 0xf2, 0xa0, 0x20, 0x4e, 0xd2, 0x6f, 0x0b, - 0xa3, 0x6e, 0xbe, 0x9b, 0xc9, 0x83, 0x82, 0x30, 0xde, 0xb6, 0x70, 0x65, 0x6a, 0x4f, 0xf8, 0x04, - 0x8a, 0xf2, 0xde, 0x04, 0x7a, 0x11, 0x82, 0x32, 0x72, 0x03, 0x97, 0xa7, 0xf6, 0x84, 0x4d, 0x85, - 0xc5, 0x9c, 0x77, 0x76, 0x5e, 0x08, 0xbf, 0x88, 0x03, 0xd8, 0xe0, 0x53, 0xca, 0x79, 0xc1, 0xc6, - 0x01, 0x6c, 0xc8, 0x61, 0x4f, 0xc1, 0x47, 0xa7, 0xf5, 0xbc, 0xb7, 0x61, 0xfc, 0x29, 0xf8, 0xa0, - 0x14, 0x84, 0xb0, 0x4c, 0xe9, 0xcd, 0x63, 0xfc, 0x1b, 0xba, 0x30, 0x84, 0x65, 0x0a, 0x21, 0x2c, - 0x93, 0xdf, 0x39, 0xe6, 0xf8, 0x92, 0x4f, 0x08, 0x61, 0x99, 0xe4, 0x2d, 0x7c, 0x61, 0x6a, 0x4f, - 0xe8, 0xc7, 0xfe, 0x4a, 0xbe, 0xeb, 0xa0, 0x83, 0x42, 0xdb, 0x2f, 0xe1, 0x09, 0xf8, 0xe7, 0x70, - 0x9c, 0xf7, 0xfa, 0x86, 0x27, 0xe0, 0x9f, 0xba, 0x59, 0x1b, 0xd8, 0x67, 0xe3, 0x6a, 0xce, 0x8b, - 0x16, 0xde, 0x06, 0xfa, 0xe7, 0xd6, 0x45, 0x7a, 0xc6, 0xef, 0xd2, 0x33, 0xee, 0x9d, 0xd2, 0xd6, - 0xf5, 0x27, 0xe7, 0x86, 0xf6, 0xd7, 0xb9, 0xa1, 0x3d, 0x3d, 0x37, 0xb4, 0x9f, 0x16, 0x86, 0xf6, - 0xcb, 0xc2, 0xd0, 0x7e, 0x5d, 0x18, 0xda, 0xe3, 0x85, 0x51, 0xf8, 0x6d, 0x61, 0x14, 0x9e, 0x2c, - 0x0c, 0xed, 0xe9, 0xc2, 0x28, 0x7c, 0xf7, 0xa7, 0x51, 0x18, 0xac, 0xd3, 0x57, 0xb1, 0xfe, 0x0b, - 0x00, 0x00, 0xff, 0xff, 0xd9, 0x80, 0xa9, 0x4d, 0x81, 0x20, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/tags/tags.pb.go b/vendor/github.com/gogo/protobuf/test/tags/tags.pb.go index 7fedc1627..9196579cf 100644 --- a/vendor/github.com/gogo/protobuf/test/tags/tags.pb.go +++ b/vendor/github.com/gogo/protobuf/test/tags/tags.pb.go @@ -3,10 +3,12 @@ package tags -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +33,7 @@ func (m *Outside) Reset() { *m = Outside{} } func (m *Outside) String() string { return proto.CompactTextString(m) } func (*Outside) ProtoMessage() {} func (*Outside) Descriptor() ([]byte, []int) { - return fileDescriptor_tags_156838d323721841, []int{0} + return fileDescriptor_e7d9cbcae1e528f6, []int{0} } func (m *Outside) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Outside.Unmarshal(m, b) @@ -39,8 +41,8 @@ func (m *Outside) XXX_Unmarshal(b []byte) error { func (m *Outside) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Outside.Marshal(b, m, deterministic) } -func (dst *Outside) XXX_Merge(src proto.Message) { - xxx_messageInfo_Outside.Merge(dst, src) +func (m *Outside) XXX_Merge(src proto.Message) { + xxx_messageInfo_Outside.Merge(m, src) } func (m *Outside) XXX_Size() int { return xxx_messageInfo_Outside.Size(m) @@ -69,7 +71,7 @@ func (m *Inside) Reset() { *m = Inside{} } func (m *Inside) String() string { return proto.CompactTextString(m) } func (*Inside) ProtoMessage() {} func (*Inside) Descriptor() ([]byte, []int) { - return fileDescriptor_tags_156838d323721841, []int{1} + return fileDescriptor_e7d9cbcae1e528f6, []int{1} } func (m *Inside) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Inside.Unmarshal(m, b) @@ -77,8 +79,8 @@ func (m *Inside) XXX_Unmarshal(b []byte) error { func (m *Inside) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Inside.Marshal(b, m, deterministic) } -func (dst *Inside) XXX_Merge(src proto.Message) { - xxx_messageInfo_Inside.Merge(dst, src) +func (m *Inside) XXX_Merge(src proto.Message) { + xxx_messageInfo_Inside.Merge(m, src) } func (m *Inside) XXX_Size() int { return xxx_messageInfo_Inside.Size(m) @@ -100,6 +102,26 @@ func init() { proto.RegisterType((*Outside)(nil), "tags.Outside") proto.RegisterType((*Inside)(nil), "tags.Inside") } + +func init() { proto.RegisterFile("tags.proto", fileDescriptor_e7d9cbcae1e528f6) } + +var fileDescriptor_e7d9cbcae1e528f6 = []byte{ + // 203 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2a, 0x49, 0x4c, 0x2f, + 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x01, 0xb1, 0xa5, 0x74, 0xd3, 0x33, 0x4b, 0x32, + 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0x92, 0x49, 0xa5, + 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x34, 0x29, 0x15, 0x72, 0xb1, 0xfb, 0x97, 0x96, 0x14, + 0x67, 0xa6, 0xa4, 0x0a, 0xe9, 0x71, 0xb1, 0x79, 0xe6, 0x81, 0x58, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, + 0xdc, 0x46, 0x3c, 0x7a, 0x60, 0xc3, 0x21, 0x62, 0x4e, 0x1c, 0x17, 0xee, 0xc9, 0x33, 0xbe, 0xba, + 0x27, 0xcf, 0x10, 0x04, 0x55, 0x25, 0x64, 0xc6, 0xc5, 0xe6, 0x96, 0x99, 0x9a, 0x93, 0x62, 0x24, + 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0xe9, 0x24, 0xf7, 0xea, 0x9e, 0x3c, 0x87, 0x6f, 0x25, 0x44, 0xec, + 0xd3, 0x3d, 0x79, 0xbe, 0x8a, 0xdc, 0x1c, 0x2b, 0x25, 0x9d, 0xe4, 0xfc, 0xdc, 0xdc, 0xd4, 0xbc, + 0x12, 0xa5, 0x20, 0xa8, 0x6a, 0x25, 0x47, 0x98, 0x3d, 0x42, 0xe6, 0x50, 0x13, 0x0c, 0xc1, 0x36, + 0x72, 0x3a, 0xc9, 0x23, 0x99, 0x60, 0xf8, 0xe9, 0x9e, 0x3c, 0x3f, 0xd4, 0x84, 0x8c, 0xc4, 0xa2, + 0x94, 0xc4, 0x92, 0x44, 0x98, 0x11, 0x86, 0x4e, 0x2c, 0x3f, 0x1e, 0xca, 0x31, 0x02, 0x02, 0x00, + 0x00, 0xff, 0xff, 0x57, 0x12, 0x09, 0x10, 0xfd, 0x00, 0x00, 0x00, +} + func NewPopulatedOutside(r randyTags, easy bool) *Outside { this := &Outside{} if r.Intn(10) != 0 { @@ -199,22 +221,3 @@ func encodeVarintPopulateTags(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("tags.proto", fileDescriptor_tags_156838d323721841) } - -var fileDescriptor_tags_156838d323721841 = []byte{ - // 203 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2a, 0x49, 0x4c, 0x2f, - 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x01, 0xb1, 0xa5, 0x74, 0xd3, 0x33, 0x4b, 0x32, - 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, 0xc1, 0x92, 0x49, 0xa5, - 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0x34, 0x29, 0x15, 0x72, 0xb1, 0xfb, 0x97, 0x96, 0x14, - 0x67, 0xa6, 0xa4, 0x0a, 0xe9, 0x71, 0xb1, 0x79, 0xe6, 0x81, 0x58, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, - 0xdc, 0x46, 0x3c, 0x7a, 0x60, 0xc3, 0x21, 0x62, 0x4e, 0x1c, 0x17, 0xee, 0xc9, 0x33, 0xbe, 0xba, - 0x27, 0xcf, 0x10, 0x04, 0x55, 0x25, 0x64, 0xc6, 0xc5, 0xe6, 0x96, 0x99, 0x9a, 0x93, 0x62, 0x24, - 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0xe9, 0x24, 0xf7, 0xea, 0x9e, 0x3c, 0x87, 0x6f, 0x25, 0x44, 0xec, - 0xd3, 0x3d, 0x79, 0xbe, 0x8a, 0xdc, 0x1c, 0x2b, 0x25, 0x9d, 0xe4, 0xfc, 0xdc, 0xdc, 0xd4, 0xbc, - 0x12, 0xa5, 0x20, 0xa8, 0x6a, 0x25, 0x47, 0x98, 0x3d, 0x42, 0xe6, 0x50, 0x13, 0x0c, 0xc1, 0x36, - 0x72, 0x3a, 0xc9, 0x23, 0x99, 0x60, 0xf8, 0xe9, 0x9e, 0x3c, 0x3f, 0xd4, 0x84, 0x8c, 0xc4, 0xa2, - 0x94, 0xc4, 0x92, 0x44, 0x98, 0x11, 0x86, 0x4e, 0x2c, 0x3f, 0x1e, 0xca, 0x31, 0x02, 0x02, 0x00, - 0x00, 0xff, 0xff, 0x57, 0x12, 0x09, 0x10, 0xfd, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/theproto3/combos/both/theproto3.pb.go b/vendor/github.com/gogo/protobuf/test/theproto3/combos/both/theproto3.pb.go index f3dd6b1ec..9d90395a2 100644 --- a/vendor/github.com/gogo/protobuf/test/theproto3/combos/both/theproto3.pb.go +++ b/vendor/github.com/gogo/protobuf/test/theproto3/combos/both/theproto3.pb.go @@ -3,29 +3,25 @@ package theproto3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import both "github.com/gogo/protobuf/test/combos/both" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + both "github.com/gogo/protobuf/test/combos/both" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -51,6 +47,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -58,7 +55,7 @@ var MapEnum_value = map[string]int32{ } func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{0} + return fileDescriptor_198d1a76dbed8ec1, []int{0} } type Message_Humour int32 @@ -76,6 +73,7 @@ var Message_Humour_name = map[int32]string{ 2: "SLAPSTICK", 3: "BILL_BAILEY", } + var Message_Humour_value = map[string]int32{ "UNKNOWN": 0, "PUNS": 1, @@ -84,7 +82,7 @@ var Message_Humour_value = map[string]int32{ } func (Message_Humour) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{0, 0} + return fileDescriptor_198d1a76dbed8ec1, []int{0, 0} } type Message struct { @@ -108,7 +106,7 @@ type Message struct { func (m *Message) Reset() { *m = Message{} } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{0} + return fileDescriptor_198d1a76dbed8ec1, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -125,8 +123,8 @@ func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return m.Size() @@ -147,7 +145,7 @@ type Nested struct { func (m *Nested) Reset() { *m = Nested{} } func (*Nested) ProtoMessage() {} func (*Nested) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{1} + return fileDescriptor_198d1a76dbed8ec1, []int{1} } func (m *Nested) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -164,8 +162,8 @@ func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Nested) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nested.Merge(dst, src) +func (m *Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nested.Merge(m, src) } func (m *Nested) XXX_Size() int { return m.Size() @@ -202,7 +200,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{2} + return fileDescriptor_198d1a76dbed8ec1, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -219,8 +217,8 @@ func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return m.Size() @@ -257,7 +255,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{3} + return fileDescriptor_198d1a76dbed8ec1, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -270,8 +268,8 @@ func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro } return b[:n], nil } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return m.Size() @@ -294,7 +292,7 @@ type MessageWithMap struct { func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } func (*MessageWithMap) ProtoMessage() {} func (*MessageWithMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{4} + return fileDescriptor_198d1a76dbed8ec1, []int{4} } func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -311,8 +309,8 @@ func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (dst *MessageWithMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageWithMap.Merge(dst, src) +func (m *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(m, src) } func (m *MessageWithMap) XXX_Size() int { return m.Size() @@ -333,7 +331,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{5} + return fileDescriptor_198d1a76dbed8ec1, []int{5} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -350,8 +348,8 @@ func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return m.Size() @@ -373,7 +371,7 @@ type Uint128Pair struct { func (m *Uint128Pair) Reset() { *m = Uint128Pair{} } func (*Uint128Pair) ProtoMessage() {} func (*Uint128Pair) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{6} + return fileDescriptor_198d1a76dbed8ec1, []int{6} } func (m *Uint128Pair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -390,8 +388,8 @@ func (m *Uint128Pair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *Uint128Pair) XXX_Merge(src proto.Message) { - xxx_messageInfo_Uint128Pair.Merge(dst, src) +func (m *Uint128Pair) XXX_Merge(src proto.Message) { + xxx_messageInfo_Uint128Pair.Merge(m, src) } func (m *Uint128Pair) XXX_Size() int { return m.Size() @@ -411,7 +409,7 @@ type ContainsNestedMap struct { func (m *ContainsNestedMap) Reset() { *m = ContainsNestedMap{} } func (*ContainsNestedMap) ProtoMessage() {} func (*ContainsNestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{7} + return fileDescriptor_198d1a76dbed8ec1, []int{7} } func (m *ContainsNestedMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -428,8 +426,8 @@ func (m *ContainsNestedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *ContainsNestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap.Merge(dst, src) +func (m *ContainsNestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap.Merge(m, src) } func (m *ContainsNestedMap) XXX_Size() int { return m.Size() @@ -450,7 +448,7 @@ type ContainsNestedMap_NestedMap struct { func (m *ContainsNestedMap_NestedMap) Reset() { *m = ContainsNestedMap_NestedMap{} } func (*ContainsNestedMap_NestedMap) ProtoMessage() {} func (*ContainsNestedMap_NestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{7, 0} + return fileDescriptor_198d1a76dbed8ec1, []int{7, 0} } func (m *ContainsNestedMap_NestedMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -467,8 +465,8 @@ func (m *ContainsNestedMap_NestedMap) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (dst *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(dst, src) +func (m *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(m, src) } func (m *ContainsNestedMap_NestedMap) XXX_Size() int { return m.Size() @@ -489,7 +487,7 @@ type NotPacked struct { func (m *NotPacked) Reset() { *m = NotPacked{} } func (*NotPacked) ProtoMessage() {} func (*NotPacked) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_4dec23a2a081e9e0, []int{8} + return fileDescriptor_198d1a76dbed8ec1, []int{8} } func (m *NotPacked) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -506,8 +504,8 @@ func (m *NotPacked) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NotPacked) XXX_Merge(src proto.Message) { - xxx_messageInfo_NotPacked.Merge(dst, src) +func (m *NotPacked) XXX_Merge(src proto.Message) { + xxx_messageInfo_NotPacked.Merge(m, src) } func (m *NotPacked) XXX_Size() int { return m.Size() @@ -519,6 +517,8 @@ func (m *NotPacked) XXX_DiscardUnknown() { var xxx_messageInfo_NotPacked proto.InternalMessageInfo func init() { + proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) + proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) proto.RegisterType((*Message)(nil), "theproto3.Message") proto.RegisterMapType((map[int64]*both.NinOptEnum)(nil), "theproto3.Message.Proto2ValueEntry") proto.RegisterMapType((map[int64]*Nested)(nil), "theproto3.Message.TerrainEntry") @@ -569,9 +569,115 @@ func init() { proto.RegisterType((*ContainsNestedMap_NestedMap)(nil), "theproto3.ContainsNestedMap.NestedMap") proto.RegisterMapType((map[string]float64)(nil), "theproto3.ContainsNestedMap.NestedMap.NestedMapFieldEntry") proto.RegisterType((*NotPacked)(nil), "theproto3.NotPacked") - proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) - proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) } + +func init() { proto.RegisterFile("combos/both/theproto3.proto", fileDescriptor_198d1a76dbed8ec1) } + +var fileDescriptor_198d1a76dbed8ec1 = []byte{ + // 1602 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, + 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0x8b, 0xa5, 0x65, 0x05, + 0x48, 0x94, 0x60, 0x23, 0x67, 0x9d, 0x64, 0x37, 0xeb, 0xa6, 0x4d, 0x2d, 0xc5, 0x42, 0xdc, 0xd8, + 0x8a, 0x2b, 0xd9, 0x71, 0x8b, 0x00, 0x35, 0x28, 0x9b, 0x96, 0x88, 0x48, 0xa4, 0x21, 0x8e, 0x82, + 0xfa, 0x96, 0x3f, 0xa3, 0xb7, 0xa2, 0xb7, 0x1e, 0x8b, 0x1c, 0x8a, 0x1e, 0xdb, 0x9b, 0x8f, 0x01, + 0x7a, 0x29, 0x7a, 0x08, 0x62, 0xf5, 0x92, 0x63, 0x8e, 0x39, 0x16, 0x33, 0x43, 0x49, 0x23, 0x72, + 0x28, 0x36, 0xbd, 0xf4, 0xe2, 0x93, 0x38, 0xcf, 0xef, 0xfb, 0x99, 0xc7, 0xe1, 0xcc, 0xe3, 0x17, + 0x34, 0xfc, 0xf3, 0xc0, 0xea, 0xb5, 0x2c, 0x7b, 0xb9, 0x65, 0x91, 0xce, 0x32, 0xe9, 0xe8, 0xc7, + 0x7d, 0x8b, 0x58, 0x37, 0xcb, 0xec, 0x07, 0xa7, 0xc6, 0x81, 0x85, 0xeb, 0x6d, 0x83, 0x74, 0x06, + 0xad, 0xf2, 0x81, 0xd5, 0x5b, 0x6e, 0x5b, 0x6d, 0x6b, 0x99, 0xc5, 0x5b, 0x83, 0x23, 0x36, 0x62, + 0x03, 0x76, 0xc5, 0x95, 0x0b, 0xff, 0xf3, 0x4d, 0x27, 0xba, 0x4d, 0x96, 0x5d, 0x93, 0xd2, 0x18, + 0x17, 0x16, 0x7f, 0x8a, 0x41, 0x62, 0x4b, 0xb7, 0x6d, 0xad, 0xad, 0x63, 0x0c, 0x51, 0x53, 0xeb, + 0xe9, 0x79, 0x54, 0x40, 0xa5, 0x54, 0x83, 0x5d, 0xe3, 0xdb, 0x90, 0xec, 0x18, 0x5d, 0xad, 0x6f, + 0x90, 0x93, 0x7c, 0xb8, 0x80, 0x4a, 0xb9, 0x95, 0x7f, 0x94, 0x27, 0x65, 0x3b, 0xca, 0xf2, 0x83, + 0x41, 0xcf, 0x1a, 0xf4, 0x1b, 0xe3, 0x54, 0x5c, 0x80, 0x4c, 0x47, 0x37, 0xda, 0x1d, 0xb2, 0x6f, + 0x98, 0xfb, 0x07, 0xbd, 0x7c, 0xa4, 0x80, 0x4a, 0xd9, 0x06, 0xf0, 0xd8, 0x86, 0x59, 0xed, 0xd1, + 0xc9, 0x0e, 0x35, 0xa2, 0xe5, 0xa3, 0x05, 0x54, 0xca, 0x34, 0xd8, 0x35, 0x5e, 0x82, 0x4c, 0x5f, + 0xb7, 0x07, 0x5d, 0xb2, 0x7f, 0x60, 0x0d, 0x4c, 0x92, 0x4f, 0x14, 0x50, 0x29, 0xd2, 0x48, 0xf3, + 0x58, 0x95, 0x86, 0xf0, 0x25, 0xc8, 0x92, 0xfe, 0x40, 0xdf, 0xb7, 0x0f, 0x2c, 0x62, 0xf7, 0x34, + 0x33, 0x9f, 0x2c, 0xa0, 0x52, 0xb2, 0x91, 0xa1, 0xc1, 0xa6, 0x13, 0xc3, 0x17, 0x21, 0x66, 0x1f, + 0x58, 0x7d, 0x3d, 0x9f, 0x2a, 0xa0, 0x52, 0xb8, 0xc1, 0x07, 0x58, 0x81, 0xc8, 0x53, 0xfd, 0x24, + 0x1f, 0x2b, 0x44, 0x4a, 0xd1, 0x06, 0xbd, 0xc4, 0x57, 0x21, 0x6e, 0xea, 0x36, 0xd1, 0x0f, 0xf3, + 0xf1, 0x02, 0x2a, 0xa5, 0x57, 0xe6, 0x85, 0x5b, 0xab, 0xb3, 0x3f, 0x34, 0x9c, 0x04, 0xfc, 0x7f, + 0x48, 0x10, 0xbd, 0xdf, 0xd7, 0x0c, 0x33, 0x0f, 0x85, 0x48, 0x29, 0xbd, 0xb2, 0x28, 0x59, 0x86, + 0x1d, 0x9e, 0xb1, 0x6e, 0x92, 0xfe, 0x49, 0x63, 0x94, 0x8f, 0x6f, 0x43, 0x86, 0xe5, 0xad, 0xec, + 0x1f, 0x19, 0x7a, 0xf7, 0x30, 0x9f, 0x66, 0x73, 0xe1, 0x32, 0x7b, 0x0a, 0x75, 0xc3, 0x7c, 0x74, + 0x4c, 0xea, 0x1a, 0x31, 0x9e, 0xe9, 0x8d, 0x34, 0xcf, 0xab, 0xd1, 0x34, 0x5c, 0x1b, 0xcb, 0x9e, + 0x69, 0xdd, 0x81, 0x9e, 0xcf, 0xb2, 0x69, 0x2f, 0x49, 0xa6, 0xdd, 0x66, 0x69, 0x8f, 0x69, 0x16, + 0x9f, 0xda, 0xe1, 0xb0, 0xc8, 0xc2, 0x16, 0x64, 0xc4, 0xba, 0x46, 0xcb, 0x80, 0xd8, 0xda, 0xb2, + 0x65, 0xb8, 0x02, 0x31, 0x3e, 0x45, 0xd8, 0x6f, 0x15, 0xf8, 0xdf, 0x57, 0xc3, 0x77, 0xd0, 0xc2, + 0x36, 0x28, 0xee, 0xf9, 0x24, 0xc8, 0xcb, 0xd3, 0x48, 0x45, 0xbc, 0xd9, 0x75, 0x73, 0xd0, 0x13, + 0x88, 0xc5, 0x7b, 0x10, 0xe7, 0xfb, 0x07, 0xa7, 0x21, 0xb1, 0x5b, 0x7f, 0x58, 0x7f, 0xb4, 0x57, + 0x57, 0x42, 0x38, 0x09, 0xd1, 0xed, 0xdd, 0x7a, 0x53, 0x41, 0x38, 0x0b, 0xa9, 0xe6, 0xe6, 0xda, + 0x76, 0x73, 0x67, 0xa3, 0xfa, 0x50, 0x09, 0xe3, 0x39, 0x48, 0x57, 0x36, 0x36, 0x37, 0xf7, 0x2b, + 0x6b, 0x1b, 0x9b, 0xeb, 0x9f, 0x2b, 0x91, 0xa2, 0x0a, 0x71, 0x5e, 0x27, 0x7d, 0xf0, 0xad, 0x81, + 0x69, 0x9e, 0x38, 0x5b, 0x98, 0x0f, 0x8a, 0x2f, 0x30, 0x24, 0xd6, 0xba, 0xdd, 0x2d, 0xed, 0xd8, + 0xc6, 0x7b, 0x30, 0xdf, 0x24, 0x7d, 0xc3, 0x6c, 0xef, 0x58, 0xf7, 0xad, 0x41, 0xab, 0xab, 0x6f, + 0x69, 0xc7, 0x79, 0xc4, 0x96, 0xf6, 0xaa, 0x70, 0xdf, 0x4e, 0x7a, 0xd9, 0x93, 0xcb, 0x17, 0xd8, + 0xcb, 0xc0, 0x3b, 0xa0, 0x8c, 0x82, 0xb5, 0xae, 0xa5, 0x11, 0xca, 0x0d, 0x33, 0x6e, 0x69, 0x06, + 0x77, 0x94, 0xca, 0xb1, 0x1e, 0x02, 0xbe, 0x0b, 0xc9, 0x0d, 0x93, 0xdc, 0x5c, 0xa1, 0xb4, 0x08, + 0xa3, 0x15, 0x24, 0xb4, 0x51, 0x0a, 0xa7, 0x8c, 0x15, 0x8e, 0xfa, 0xbf, 0xb7, 0xa8, 0x3a, 0x3a, + 0x4b, 0xcd, 0x52, 0x26, 0x6a, 0x36, 0xc4, 0xf7, 0x20, 0xb5, 0x6b, 0x8c, 0x26, 0x8f, 0x31, 0xf9, + 0x92, 0x44, 0x3e, 0xce, 0xe1, 0xfa, 0x89, 0x66, 0x04, 0xe0, 0xf3, 0xc7, 0x67, 0x02, 0x84, 0x02, + 0x26, 0x1a, 0x0a, 0x68, 0x8e, 0x2b, 0x48, 0xf8, 0x02, 0x9a, 0xae, 0x0a, 0x9a, 0x62, 0x05, 0xcd, + 0x71, 0x05, 0xc9, 0x99, 0x00, 0xb1, 0x82, 0xf1, 0x18, 0x57, 0x00, 0x6a, 0xc6, 0x97, 0xfa, 0x21, + 0x2f, 0x21, 0xc5, 0x08, 0x45, 0x09, 0x61, 0x92, 0xc4, 0x11, 0x82, 0x0a, 0xaf, 0x43, 0xba, 0x79, + 0x34, 0x81, 0x80, 0xe7, 0x1c, 0x8f, 0xcb, 0x38, 0x72, 0x51, 0x44, 0xdd, 0xb8, 0x14, 0x7e, 0x33, + 0xe9, 0xd9, 0xa5, 0x08, 0x77, 0x23, 0xa8, 0x26, 0xa5, 0x70, 0x48, 0x26, 0xa0, 0x14, 0x81, 0x22, + 0xea, 0x68, 0x33, 0xac, 0x58, 0x16, 0xcd, 0x74, 0xba, 0xd2, 0xa2, 0x04, 0xe1, 0x64, 0x38, 0xcd, + 0xd0, 0x19, 0xb1, 0x27, 0xc2, 0x36, 0x39, 0x15, 0xe7, 0xfc, 0x9f, 0xc8, 0x28, 0x67, 0xf4, 0x44, + 0x46, 0x63, 0xf1, 0x9c, 0x55, 0x4e, 0x88, 0x6e, 0x53, 0xce, 0x5c, 0xe0, 0x39, 0x1b, 0xa5, 0xba, + 0xce, 0xd9, 0x28, 0x8c, 0x3f, 0x85, 0xb9, 0x51, 0x8c, 0xb6, 0x27, 0x0a, 0x55, 0x18, 0xf4, 0xca, + 0x0c, 0xa8, 0x93, 0xc9, 0x99, 0x6e, 0x3d, 0xae, 0x43, 0x6e, 0x14, 0xda, 0xb2, 0xd9, 0xed, 0xce, + 0x33, 0xe2, 0xe5, 0x19, 0x44, 0x9e, 0xc8, 0x81, 0x2e, 0xf5, 0xc2, 0x7d, 0xf8, 0xbb, 0xbc, 0x1b, + 0x89, 0xed, 0x37, 0xc5, 0xdb, 0xef, 0x45, 0xb1, 0xfd, 0x22, 0xb1, 0x7d, 0x57, 0xe1, 0x6f, 0xd2, + 0xde, 0x13, 0x04, 0x09, 0x8b, 0x90, 0x0f, 0x20, 0x3b, 0xd5, 0x72, 0x44, 0x71, 0x4c, 0x22, 0x8e, + 0x79, 0xc5, 0x93, 0xad, 0x25, 0x79, 0x7b, 0x4c, 0x89, 0x23, 0xa2, 0xf8, 0x2e, 0xe4, 0xa6, 0xfb, + 0x8d, 0xa8, 0xce, 0x4a, 0xd4, 0x59, 0x89, 0x5a, 0x3e, 0x77, 0x54, 0xa2, 0x8e, 0xba, 0xd4, 0x4d, + 0xdf, 0xb9, 0xe7, 0x25, 0xea, 0x79, 0x89, 0x5a, 0x3e, 0x37, 0x96, 0xa8, 0xb1, 0xa8, 0xfe, 0x10, + 0xe6, 0x5c, 0x2d, 0x46, 0x94, 0x27, 0x24, 0xf2, 0x84, 0x28, 0xff, 0x08, 0x14, 0x77, 0x73, 0x11, + 0xf5, 0x73, 0x12, 0xfd, 0x9c, 0x6c, 0x7a, 0x79, 0xf5, 0x71, 0x89, 0x3c, 0x2e, 0x9d, 0x5e, 0xae, + 0x57, 0x24, 0x7a, 0x45, 0xd4, 0xaf, 0x42, 0x46, 0xec, 0x26, 0xa2, 0x36, 0x29, 0xd1, 0x26, 0xdd, + 0xeb, 0x3e, 0xd5, 0x4c, 0x82, 0x76, 0x7a, 0xca, 0xe7, 0xb8, 0x4c, 0xb5, 0x90, 0x20, 0x48, 0x46, + 0x84, 0x3c, 0x86, 0x8b, 0xb2, 0x96, 0x21, 0x61, 0x94, 0x44, 0x46, 0x8e, 0x7a, 0xc4, 0x89, 0xd9, + 0xa3, 0xaa, 0x29, 0xe3, 0xb4, 0xf0, 0x04, 0x2e, 0x48, 0x1a, 0x87, 0x04, 0x5b, 0x9e, 0x76, 0x63, + 0x79, 0x01, 0xcb, 0x9a, 0x80, 0x61, 0xb6, 0xb7, 0x2d, 0xc3, 0x24, 0xa2, 0x2b, 0xfb, 0xfe, 0x02, + 0xe4, 0x9c, 0xf6, 0xf4, 0xa8, 0x7f, 0xa8, 0xf7, 0xf5, 0x43, 0xfc, 0x85, 0xbf, 0x77, 0xba, 0xe1, + 0x6d, 0x6a, 0x8e, 0xea, 0x3d, 0x2c, 0xd4, 0x13, 0x5f, 0x0b, 0xb5, 0x1c, 0x8c, 0x0f, 0x72, 0x52, + 0x55, 0x8f, 0x93, 0xba, 0xe2, 0x0f, 0xf5, 0x33, 0x54, 0x55, 0x8f, 0xa1, 0x9a, 0x0d, 0x91, 0xfa, + 0xaa, 0x9a, 0xd7, 0x57, 0x95, 0xfc, 0x29, 0xfe, 0xf6, 0xaa, 0xe6, 0xb5, 0x57, 0x01, 0x1c, 0xb9, + 0xcb, 0xaa, 0x79, 0x5d, 0xd6, 0x0c, 0x8e, 0xbf, 0xd9, 0xaa, 0x79, 0xcd, 0x56, 0x00, 0x47, 0xee, + 0xb9, 0x36, 0x24, 0x9e, 0xeb, 0xaa, 0x3f, 0x68, 0x96, 0xf5, 0xda, 0x94, 0x59, 0xaf, 0x6b, 0x33, + 0x8a, 0x9a, 0xe9, 0xc0, 0x36, 0x24, 0x0e, 0x2c, 0xa8, 0x30, 0x1f, 0x23, 0xb6, 0x29, 0x33, 0x62, + 0x81, 0x85, 0xf9, 0xf9, 0xb1, 0x8f, 0xdd, 0x7e, 0xec, 0xb2, 0x3f, 0x49, 0x6e, 0xcb, 0x6a, 0x5e, + 0x5b, 0x56, 0x0a, 0x3a, 0x73, 0x32, 0x77, 0xf6, 0xc4, 0xd7, 0x9d, 0xfd, 0x81, 0x23, 0x1c, 0x64, + 0xd2, 0x3e, 0xf3, 0x33, 0x69, 0xe5, 0x60, 0xf6, 0x6c, 0xaf, 0xb6, 0xeb, 0xe3, 0xd5, 0xae, 0x07, + 0x83, 0xcf, 0x2d, 0xdb, 0xb9, 0x65, 0x3b, 0xb7, 0x6c, 0xe7, 0x96, 0xed, 0xaf, 0xb7, 0x6c, 0xab, + 0xd1, 0xaf, 0xbe, 0x59, 0x44, 0xc5, 0x9f, 0x23, 0x90, 0x73, 0xbe, 0x0c, 0xee, 0x19, 0xa4, 0x43, + 0xdb, 0xdb, 0x16, 0x64, 0x4c, 0xad, 0xa7, 0xef, 0xf7, 0xb4, 0xe3, 0x63, 0xc3, 0x6c, 0x3b, 0x9e, + 0xed, 0x9a, 0xf7, 0x53, 0xa2, 0x23, 0x28, 0xd7, 0xb5, 0x1e, 0xed, 0x55, 0x34, 0xd9, 0x79, 0xdd, + 0x98, 0x93, 0x08, 0xfe, 0x04, 0xd2, 0x3d, 0xbb, 0x3d, 0xa6, 0x85, 0x3d, 0x2f, 0x42, 0x17, 0x8d, + 0xdf, 0xe9, 0x04, 0x06, 0xbd, 0x71, 0x80, 0x96, 0xd6, 0x3a, 0x21, 0x93, 0xd2, 0x22, 0x41, 0xa5, + 0xd1, 0x67, 0x3a, 0x5d, 0x5a, 0x6b, 0x12, 0xa1, 0xdb, 0xd6, 0x5d, 0x7b, 0x50, 0xa7, 0x9b, 0xda, + 0x3c, 0x7b, 0x30, 0xe7, 0xaa, 0x56, 0x72, 0xe6, 0xff, 0xc4, 0xb3, 0xa1, 0x85, 0xb9, 0x2b, 0x0f, + 0x3a, 0x13, 0xe2, 0x86, 0x2c, 0xfe, 0x0b, 0xb2, 0x53, 0x6c, 0x9c, 0x01, 0x74, 0xc4, 0xa4, 0xa8, + 0x81, 0x8e, 0x8a, 0x5f, 0x23, 0x48, 0xd3, 0x3e, 0xf9, 0x9f, 0x95, 0x3b, 0xdb, 0x9a, 0xd1, 0xc7, + 0x0f, 0x20, 0xda, 0xd5, 0x8f, 0x08, 0x4b, 0xc8, 0x54, 0x6e, 0x9d, 0xbe, 0x5a, 0x0c, 0xfd, 0xfa, + 0x6a, 0xf1, 0xdf, 0x01, 0xff, 0x25, 0x18, 0xd8, 0xc4, 0xea, 0x95, 0x1d, 0x4e, 0x83, 0x11, 0x70, + 0x0d, 0x62, 0x7d, 0xa3, 0xdd, 0x21, 0xbc, 0xa4, 0xca, 0x8d, 0xf7, 0xc6, 0x70, 0x79, 0xf1, 0x14, + 0xc1, 0x7c, 0xd5, 0x32, 0x89, 0x66, 0x98, 0x36, 0xff, 0x5a, 0x4b, 0xdf, 0x90, 0x2f, 0x10, 0xa4, + 0xc6, 0x23, 0xdc, 0x82, 0xdc, 0x78, 0xc0, 0x3e, 0x82, 0x3b, 0x3b, 0x75, 0x55, 0x58, 0x61, 0x0f, + 0xa3, 0x2c, 0xb9, 0x62, 0x62, 0xe7, 0x9d, 0x3c, 0x1d, 0x5c, 0x58, 0x83, 0x0b, 0x92, 0xb4, 0xf7, + 0x79, 0x21, 0x17, 0x97, 0x20, 0x55, 0xb7, 0xc8, 0xb6, 0x76, 0xf0, 0x94, 0x7d, 0x72, 0x9e, 0xfc, + 0x57, 0xa1, 0x12, 0x56, 0x42, 0x4c, 0x7c, 0x6d, 0x09, 0x12, 0xce, 0xe9, 0xc7, 0x71, 0x08, 0x6f, + 0xad, 0x29, 0x21, 0xf6, 0x5b, 0x51, 0x10, 0xfb, 0xad, 0x2a, 0xe1, 0xca, 0xe6, 0xe9, 0x99, 0x1a, + 0x7a, 0x79, 0xa6, 0x86, 0x7e, 0x39, 0x53, 0x43, 0xaf, 0xcf, 0x54, 0xf4, 0xe6, 0x4c, 0x45, 0x6f, + 0xcf, 0x54, 0xf4, 0xee, 0x4c, 0x45, 0xcf, 0x87, 0x2a, 0xfa, 0x76, 0xa8, 0xa2, 0xef, 0x86, 0x2a, + 0xfa, 0x61, 0xa8, 0xa2, 0x1f, 0x87, 0x2a, 0x3a, 0x1d, 0xaa, 0xe8, 0xe5, 0x50, 0x45, 0xaf, 0x87, + 0x2a, 0x7a, 0x33, 0x54, 0x43, 0x6f, 0x87, 0x2a, 0x7a, 0x37, 0x54, 0x43, 0xcf, 0x7f, 0x53, 0x43, + 0xad, 0x38, 0x5f, 0x9e, 0xdf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xea, 0x4a, 0x44, 0x79, 0x60, 0x1a, + 0x00, 0x00, +} + func (this *Message) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Theproto3Description() } @@ -605,511 +711,513 @@ func (this *NotPacked) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func Theproto3Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 8053 bytes of a gzipped FileDescriptorSet + // 8086 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x5b, 0x70, 0x23, 0xd7, - 0x99, 0xde, 0x34, 0x1a, 0x24, 0xc1, 0x1f, 0x20, 0xd9, 0x6c, 0xce, 0x50, 0x10, 0x35, 0x22, 0x67, - 0xa0, 0xd1, 0x88, 0xa2, 0x2d, 0x0e, 0x87, 0xc3, 0xb9, 0x61, 0x2c, 0x69, 0x01, 0x10, 0x1c, 0x71, + 0x99, 0xde, 0x34, 0x1a, 0x20, 0x81, 0x1f, 0x20, 0xd9, 0x6c, 0xce, 0x50, 0x10, 0x35, 0x22, 0x67, + 0xa0, 0xd1, 0x88, 0xa2, 0x25, 0x0e, 0x87, 0xc3, 0xb9, 0x61, 0x2c, 0x69, 0x01, 0x10, 0x1c, 0x71, 0x4c, 0x82, 0x74, 0x93, 0xb4, 0x34, 0x56, 0x12, 0x54, 0x13, 0x68, 0x92, 0x90, 0x80, 0x6e, 0x2c, - 0xba, 0x21, 0x89, 0xaa, 0x54, 0x4a, 0x59, 0x27, 0x1b, 0x6f, 0x52, 0xb9, 0x6e, 0x52, 0xf1, 0x3a, - 0xbe, 0xc8, 0xbb, 0xb5, 0x6b, 0xef, 0xe6, 0xe6, 0xf5, 0x6e, 0x9c, 0x5d, 0x27, 0x95, 0x55, 0x1e, - 0x9c, 0x4c, 0x5e, 0x52, 0xde, 0xe4, 0x25, 0xe5, 0x4a, 0xa9, 0xac, 0xb1, 0x53, 0x71, 0x12, 0x27, - 0xeb, 0x6c, 0x54, 0x15, 0x57, 0x79, 0x1f, 0xb6, 0xce, 0xad, 0xfb, 0x9c, 0xd3, 0x0d, 0x34, 0x38, - 0x92, 0xec, 0x7d, 0xd0, 0xcb, 0x0c, 0xfa, 0x9c, 0xff, 0xfb, 0xfa, 0xef, 0xff, 0x76, 0xfe, 0xee, - 0xd3, 0x00, 0xe1, 0x8f, 0x6e, 0xc2, 0xb9, 0x43, 0xc7, 0x39, 0x6c, 0x5a, 0x97, 0xda, 0x1d, 0xc7, - 0x73, 0xf6, 0xbb, 0x07, 0x97, 0xea, 0x96, 0x5b, 0xeb, 0x34, 0xda, 0x9e, 0xd3, 0x59, 0xc4, 0x63, - 0xfa, 0x04, 0x91, 0x58, 0x64, 0x12, 0xb9, 0x4d, 0x98, 0x5c, 0x6b, 0x34, 0xad, 0x55, 0x5f, 0x70, - 0xc7, 0xf2, 0xf4, 0x1b, 0x90, 0x3c, 0x68, 0x34, 0xad, 0xac, 0x72, 0x4e, 0x9d, 0x4f, 0x2f, 0x5f, - 0x58, 0x94, 0x40, 0x8b, 0x22, 0x62, 0x1b, 0x0d, 0x1b, 0x18, 0x91, 0xfb, 0x7e, 0x12, 0xa6, 0x22, - 0x66, 0x75, 0x1d, 0x92, 0xb6, 0xd9, 0x42, 0x8c, 0xca, 0xfc, 0xa8, 0x81, 0x3f, 0xeb, 0x59, 0x18, - 0x69, 0x9b, 0xb5, 0x97, 0xcd, 0x43, 0x2b, 0x9b, 0xc0, 0xc3, 0xec, 0x50, 0x9f, 0x05, 0xa8, 0x5b, - 0x6d, 0xcb, 0xae, 0x5b, 0x76, 0xed, 0x38, 0xab, 0x9e, 0x53, 0xe7, 0x47, 0x0d, 0x6e, 0x44, 0xff, - 0x08, 0x4c, 0xb6, 0xbb, 0xfb, 0xcd, 0x46, 0xad, 0xca, 0x89, 0xc1, 0x39, 0x75, 0x7e, 0xc8, 0xd0, - 0xc8, 0xc4, 0x6a, 0x20, 0xfc, 0x04, 0x4c, 0xbc, 0x6a, 0x99, 0x2f, 0xf3, 0xa2, 0x69, 0x2c, 0x3a, - 0x8e, 0x86, 0x39, 0xc1, 0x12, 0x64, 0x5a, 0x96, 0xeb, 0x9a, 0x87, 0x56, 0xd5, 0x3b, 0x6e, 0x5b, - 0xd9, 0x24, 0xbe, 0xfa, 0x73, 0xa1, 0xab, 0x97, 0xaf, 0x3c, 0x4d, 0x51, 0xbb, 0xc7, 0x6d, 0x4b, - 0x2f, 0xc0, 0xa8, 0x65, 0x77, 0x5b, 0x84, 0x61, 0xa8, 0x87, 0xfd, 0xca, 0x76, 0xb7, 0x25, 0xb3, - 0xa4, 0x10, 0x8c, 0x52, 0x8c, 0xb8, 0x56, 0xe7, 0x95, 0x46, 0xcd, 0xca, 0x0e, 0x63, 0x82, 0x27, - 0x42, 0x04, 0x3b, 0x64, 0x5e, 0xe6, 0x60, 0x38, 0xbd, 0x04, 0xa3, 0xd6, 0x6b, 0x9e, 0x65, 0xbb, - 0x0d, 0xc7, 0xce, 0x8e, 0x60, 0x92, 0xc7, 0x23, 0xbc, 0x68, 0x35, 0xeb, 0x32, 0x45, 0x80, 0xd3, - 0xaf, 0xc1, 0x88, 0xd3, 0xf6, 0x1a, 0x8e, 0xed, 0x66, 0x53, 0xe7, 0x94, 0xf9, 0xf4, 0xf2, 0xd9, - 0xc8, 0x40, 0xd8, 0x22, 0x32, 0x06, 0x13, 0xd6, 0xd7, 0x41, 0x73, 0x9d, 0x6e, 0xa7, 0x66, 0x55, - 0x6b, 0x4e, 0xdd, 0xaa, 0x36, 0xec, 0x03, 0x27, 0x3b, 0x8a, 0x09, 0xe6, 0xc2, 0x17, 0x82, 0x05, - 0x4b, 0x4e, 0xdd, 0x5a, 0xb7, 0x0f, 0x1c, 0x63, 0xdc, 0x15, 0x8e, 0xf5, 0x69, 0x18, 0x76, 0x8f, - 0x6d, 0xcf, 0x7c, 0x2d, 0x9b, 0xc1, 0x11, 0x42, 0x8f, 0x72, 0xbf, 0x3f, 0x0c, 0x13, 0x83, 0x84, - 0xd8, 0x2d, 0x18, 0x3a, 0x40, 0x57, 0x99, 0x4d, 0x9c, 0xc4, 0x06, 0x04, 0x23, 0x1a, 0x71, 0xf8, - 0x01, 0x8d, 0x58, 0x80, 0xb4, 0x6d, 0xb9, 0x9e, 0x55, 0x27, 0x11, 0xa1, 0x0e, 0x18, 0x53, 0x40, - 0x40, 0xe1, 0x90, 0x4a, 0x3e, 0x50, 0x48, 0xbd, 0x00, 0x13, 0xbe, 0x4a, 0xd5, 0x8e, 0x69, 0x1f, - 0xb2, 0xd8, 0xbc, 0x14, 0xa7, 0xc9, 0x62, 0x99, 0xe1, 0x0c, 0x04, 0x33, 0xc6, 0x2d, 0xe1, 0x58, - 0x5f, 0x05, 0x70, 0x6c, 0xcb, 0x39, 0xa8, 0xd6, 0xad, 0x5a, 0x33, 0x9b, 0xea, 0x61, 0xa5, 0x2d, - 0x24, 0x12, 0xb2, 0x92, 0x43, 0x46, 0x6b, 0x4d, 0xfd, 0x66, 0x10, 0x6a, 0x23, 0x3d, 0x22, 0x65, - 0x93, 0x24, 0x59, 0x28, 0xda, 0xf6, 0x60, 0xbc, 0x63, 0xa1, 0xb8, 0xb7, 0xea, 0xf4, 0xca, 0x46, - 0xb1, 0x12, 0x8b, 0xb1, 0x57, 0x66, 0x50, 0x18, 0xb9, 0xb0, 0xb1, 0x0e, 0x7f, 0xa8, 0x3f, 0x06, - 0xfe, 0x40, 0x15, 0x87, 0x15, 0xe0, 0x2a, 0x94, 0x61, 0x83, 0x15, 0xb3, 0x65, 0xcd, 0xbc, 0x0e, - 0xe3, 0xa2, 0x79, 0xf4, 0xd3, 0x30, 0xe4, 0x7a, 0x66, 0xc7, 0xc3, 0x51, 0x38, 0x64, 0x90, 0x03, - 0x5d, 0x03, 0xd5, 0xb2, 0xeb, 0xb8, 0xca, 0x0d, 0x19, 0xe8, 0xa3, 0xfe, 0x73, 0xc1, 0x05, 0xab, - 0xf8, 0x82, 0x2f, 0x86, 0x3d, 0x2a, 0x30, 0xcb, 0xd7, 0x3d, 0x73, 0x1d, 0xc6, 0x84, 0x0b, 0x18, - 0xf4, 0xd4, 0xb9, 0xbf, 0x08, 0x67, 0x22, 0xa9, 0xf5, 0x17, 0xe0, 0x74, 0xd7, 0x6e, 0xd8, 0x9e, - 0xd5, 0x69, 0x77, 0x2c, 0x14, 0xb1, 0xe4, 0x54, 0xd9, 0xff, 0x3e, 0xd2, 0x23, 0xe6, 0xf6, 0x78, - 0x69, 0xc2, 0x62, 0x4c, 0x75, 0xc3, 0x83, 0x0b, 0xa3, 0xa9, 0x1f, 0x8c, 0x68, 0x6f, 0xbc, 0xf1, - 0xc6, 0x1b, 0x89, 0xdc, 0x67, 0x87, 0xe1, 0x74, 0x54, 0xce, 0x44, 0xa6, 0xef, 0x34, 0x0c, 0xdb, - 0xdd, 0xd6, 0xbe, 0xd5, 0xc1, 0x46, 0x1a, 0x32, 0xe8, 0x91, 0x5e, 0x80, 0xa1, 0xa6, 0xb9, 0x6f, - 0x35, 0xb3, 0xc9, 0x73, 0xca, 0xfc, 0xf8, 0xf2, 0x47, 0x06, 0xca, 0xca, 0xc5, 0x0d, 0x04, 0x31, - 0x08, 0x52, 0x7f, 0x06, 0x92, 0xb4, 0x44, 0x23, 0x86, 0x85, 0xc1, 0x18, 0x50, 0x2e, 0x19, 0x18, - 0xa7, 0x3f, 0x02, 0xa3, 0xe8, 0x7f, 0x12, 0x1b, 0xc3, 0x58, 0xe7, 0x14, 0x1a, 0x40, 0x71, 0xa1, - 0xcf, 0x40, 0x0a, 0xa7, 0x49, 0xdd, 0x62, 0x4b, 0x9b, 0x7f, 0x8c, 0x02, 0xab, 0x6e, 0x1d, 0x98, - 0xdd, 0xa6, 0x57, 0x7d, 0xc5, 0x6c, 0x76, 0x2d, 0x1c, 0xf0, 0xa3, 0x46, 0x86, 0x0e, 0x7e, 0x12, - 0x8d, 0xe9, 0x73, 0x90, 0x26, 0x59, 0xd5, 0xb0, 0xeb, 0xd6, 0x6b, 0xb8, 0x7a, 0x0e, 0x19, 0x24, - 0xd1, 0xd6, 0xd1, 0x08, 0x3a, 0xfd, 0x4b, 0xae, 0x63, 0xb3, 0xd0, 0xc4, 0xa7, 0x40, 0x03, 0xf8, - 0xf4, 0xd7, 0xe5, 0xc2, 0xfd, 0x68, 0xf4, 0xe5, 0xc9, 0x31, 0x95, 0xfb, 0x46, 0x02, 0x92, 0xb8, - 0x5e, 0x4c, 0x40, 0x7a, 0xf7, 0xee, 0x76, 0xb9, 0xba, 0xba, 0xb5, 0x57, 0xdc, 0x28, 0x6b, 0x8a, - 0x3e, 0x0e, 0x80, 0x07, 0xd6, 0x36, 0xb6, 0x0a, 0xbb, 0x5a, 0xc2, 0x3f, 0x5e, 0xaf, 0xec, 0x5e, - 0x5b, 0xd1, 0x54, 0x1f, 0xb0, 0x47, 0x06, 0x92, 0xbc, 0xc0, 0x95, 0x65, 0x6d, 0x48, 0xd7, 0x20, - 0x43, 0x08, 0xd6, 0x5f, 0x28, 0xaf, 0x5e, 0x5b, 0xd1, 0x86, 0xc5, 0x91, 0x2b, 0xcb, 0xda, 0x88, - 0x3e, 0x06, 0xa3, 0x78, 0xa4, 0xb8, 0xb5, 0xb5, 0xa1, 0xa5, 0x7c, 0xce, 0x9d, 0x5d, 0x63, 0xbd, - 0x72, 0x5b, 0x1b, 0xf5, 0x39, 0x6f, 0x1b, 0x5b, 0x7b, 0xdb, 0x1a, 0xf8, 0x0c, 0x9b, 0xe5, 0x9d, - 0x9d, 0xc2, 0xed, 0xb2, 0x96, 0xf6, 0x25, 0x8a, 0x77, 0x77, 0xcb, 0x3b, 0x5a, 0x46, 0x50, 0xeb, - 0xca, 0xb2, 0x36, 0xe6, 0x9f, 0xa2, 0x5c, 0xd9, 0xdb, 0xd4, 0xc6, 0xf5, 0x49, 0x18, 0x23, 0xa7, - 0x60, 0x4a, 0x4c, 0x48, 0x43, 0xd7, 0x56, 0x34, 0x2d, 0x50, 0x84, 0xb0, 0x4c, 0x0a, 0x03, 0xd7, - 0x56, 0x34, 0x3d, 0x57, 0x82, 0x21, 0x1c, 0x5d, 0xba, 0x0e, 0xe3, 0x1b, 0x85, 0x62, 0x79, 0xa3, - 0xba, 0xb5, 0xbd, 0xbb, 0xbe, 0x55, 0x29, 0x6c, 0x68, 0x4a, 0x30, 0x66, 0x94, 0x3f, 0xb1, 0xb7, - 0x6e, 0x94, 0x57, 0xb5, 0x04, 0x3f, 0xb6, 0x5d, 0x2e, 0xec, 0x96, 0x57, 0x35, 0x35, 0x57, 0x83, - 0xd3, 0x51, 0x75, 0x32, 0x32, 0x33, 0x38, 0x17, 0x27, 0x7a, 0xb8, 0x18, 0x73, 0x85, 0x5c, 0xfc, - 0xbd, 0x04, 0x4c, 0x45, 0xac, 0x15, 0x91, 0x27, 0x79, 0x16, 0x86, 0x48, 0x88, 0x92, 0xd5, 0xf3, - 0xc9, 0xc8, 0x45, 0x07, 0x07, 0x6c, 0x68, 0x05, 0xc5, 0x38, 0xbe, 0x83, 0x50, 0x7b, 0x74, 0x10, - 0x88, 0x22, 0x54, 0xd3, 0xff, 0x7c, 0xa8, 0xa6, 0x93, 0x65, 0xef, 0xda, 0x20, 0xcb, 0x1e, 0x1e, - 0x3b, 0x59, 0x6d, 0x1f, 0x8a, 0xa8, 0xed, 0xb7, 0x60, 0x32, 0x44, 0x34, 0x70, 0x8d, 0xfd, 0xb4, - 0x02, 0xd9, 0x5e, 0xc6, 0x89, 0xa9, 0x74, 0x09, 0xa1, 0xd2, 0xdd, 0x92, 0x2d, 0x78, 0xbe, 0xb7, - 0x13, 0x42, 0xbe, 0xfe, 0x8a, 0x02, 0xd3, 0xd1, 0x9d, 0x62, 0xa4, 0x0e, 0xcf, 0xc0, 0x70, 0xcb, - 0xf2, 0x8e, 0x1c, 0xd6, 0x2d, 0x5d, 0x8c, 0x58, 0x83, 0xd1, 0xb4, 0xec, 0x6c, 0x8a, 0xe2, 0x17, - 0x71, 0xb5, 0x57, 0xbb, 0x47, 0xb4, 0x09, 0x69, 0xfa, 0x4b, 0x09, 0x38, 0x13, 0x49, 0x1e, 0xa9, - 0xe8, 0xa3, 0x00, 0x0d, 0xbb, 0xdd, 0xf5, 0x48, 0x47, 0x44, 0x0a, 0xec, 0x28, 0x1e, 0xc1, 0xc5, - 0x0b, 0x15, 0xcf, 0xae, 0xe7, 0xcf, 0xab, 0x78, 0x1e, 0xc8, 0x10, 0x16, 0xb8, 0x11, 0x28, 0x9a, - 0xc4, 0x8a, 0xce, 0xf6, 0xb8, 0xd2, 0x50, 0x60, 0x2e, 0x81, 0x56, 0x6b, 0x36, 0x2c, 0xdb, 0xab, - 0xba, 0x5e, 0xc7, 0x32, 0x5b, 0x0d, 0xfb, 0x10, 0xaf, 0x20, 0xa9, 0xfc, 0xd0, 0x81, 0xd9, 0x74, - 0x2d, 0x63, 0x82, 0x4c, 0xef, 0xb0, 0x59, 0x84, 0xc0, 0x01, 0xd4, 0xe1, 0x10, 0xc3, 0x02, 0x82, - 0x4c, 0xfb, 0x88, 0xdc, 0xef, 0xa4, 0x20, 0xcd, 0xf5, 0xd5, 0xfa, 0x79, 0xc8, 0xbc, 0x64, 0xbe, - 0x62, 0x56, 0xd9, 0xbd, 0x12, 0xb1, 0x44, 0x1a, 0x8d, 0x6d, 0xd3, 0xfb, 0xa5, 0x25, 0x38, 0x8d, - 0x45, 0x9c, 0xae, 0x67, 0x75, 0xaa, 0xb5, 0xa6, 0xe9, 0xba, 0xd8, 0x68, 0x29, 0x2c, 0xaa, 0xa3, - 0xb9, 0x2d, 0x34, 0x55, 0x62, 0x33, 0xfa, 0x55, 0x98, 0xc2, 0x88, 0x56, 0xb7, 0xe9, 0x35, 0xda, - 0x4d, 0xab, 0x8a, 0xee, 0xde, 0x5c, 0xbc, 0x92, 0xf8, 0x9a, 0x4d, 0x22, 0x89, 0x4d, 0x2a, 0x80, - 0x34, 0x72, 0xf5, 0x55, 0x78, 0x14, 0xc3, 0x0e, 0x2d, 0xdb, 0xea, 0x98, 0x9e, 0x55, 0xb5, 0x7e, - 0xbe, 0x6b, 0x36, 0xdd, 0xaa, 0x69, 0xd7, 0xab, 0x47, 0xa6, 0x7b, 0x94, 0x3d, 0x8d, 0x08, 0x8a, - 0x89, 0xac, 0x62, 0x3c, 0x8c, 0x04, 0x6f, 0x53, 0xb9, 0x32, 0x16, 0x2b, 0xd8, 0xf5, 0xe7, 0x4c, - 0xf7, 0x48, 0xcf, 0xc3, 0x34, 0x66, 0x71, 0xbd, 0x4e, 0xc3, 0x3e, 0xac, 0xd6, 0x8e, 0xac, 0xda, - 0xcb, 0xd5, 0xae, 0x77, 0x70, 0x23, 0xfb, 0x08, 0x7f, 0x7e, 0xac, 0xe1, 0x0e, 0x96, 0x29, 0x21, - 0x91, 0x3d, 0xef, 0xe0, 0x86, 0xbe, 0x03, 0x19, 0xe4, 0x8c, 0x56, 0xe3, 0x75, 0xab, 0x7a, 0xe0, - 0x74, 0xf0, 0xd2, 0x38, 0x1e, 0x51, 0x9a, 0x38, 0x0b, 0x2e, 0x6e, 0x51, 0xc0, 0xa6, 0x53, 0xb7, - 0xf2, 0x43, 0x3b, 0xdb, 0xe5, 0xf2, 0xaa, 0x91, 0x66, 0x2c, 0x6b, 0x4e, 0x07, 0x05, 0xd4, 0xa1, - 0xe3, 0x1b, 0x38, 0x4d, 0x02, 0xea, 0xd0, 0x61, 0xe6, 0xbd, 0x0a, 0x53, 0xb5, 0x1a, 0xb9, 0xe6, - 0x46, 0xad, 0x4a, 0xef, 0xb1, 0xdc, 0xac, 0x26, 0x18, 0xab, 0x56, 0xbb, 0x4d, 0x04, 0x68, 0x8c, - 0xbb, 0xfa, 0x4d, 0x38, 0x13, 0x18, 0x8b, 0x07, 0x4e, 0x86, 0xae, 0x52, 0x86, 0x5e, 0x85, 0xa9, - 0xf6, 0x71, 0x18, 0xa8, 0x0b, 0x67, 0x6c, 0x1f, 0xcb, 0xb0, 0xeb, 0x70, 0xba, 0x7d, 0xd4, 0x0e, - 0xe3, 0x16, 0x78, 0x9c, 0xde, 0x3e, 0x6a, 0xcb, 0xc0, 0xc7, 0xf1, 0x0d, 0x77, 0xc7, 0xaa, 0x99, - 0x9e, 0x55, 0xcf, 0x3e, 0xc4, 0x8b, 0x73, 0x13, 0xfa, 0x25, 0xd0, 0x6a, 0xb5, 0xaa, 0x65, 0x9b, - 0xfb, 0x4d, 0xab, 0x6a, 0x76, 0x2c, 0xdb, 0x74, 0xb3, 0x73, 0xbc, 0xf0, 0x78, 0xad, 0x56, 0xc6, - 0xb3, 0x05, 0x3c, 0xa9, 0x2f, 0xc0, 0xa4, 0xb3, 0xff, 0x52, 0x8d, 0x84, 0x64, 0xb5, 0xdd, 0xb1, - 0x0e, 0x1a, 0xaf, 0x65, 0x2f, 0x60, 0xfb, 0x4e, 0xa0, 0x09, 0x1c, 0x90, 0xdb, 0x78, 0x58, 0x7f, - 0x12, 0xb4, 0x9a, 0x7b, 0x64, 0x76, 0xda, 0xb8, 0x26, 0xbb, 0x6d, 0xb3, 0x66, 0x65, 0x1f, 0x27, - 0xa2, 0x64, 0xbc, 0xc2, 0x86, 0x51, 0x4a, 0xb8, 0xaf, 0x36, 0x0e, 0x3c, 0xc6, 0xf8, 0x04, 0x49, - 0x09, 0x3c, 0x46, 0xd9, 0xe6, 0x41, 0x43, 0xa6, 0x10, 0x4e, 0x3c, 0x8f, 0xc5, 0xc6, 0xdb, 0x47, - 0x6d, 0xfe, 0xbc, 0x8f, 0xc1, 0x18, 0x92, 0x0c, 0x4e, 0xfa, 0x24, 0x69, 0xc8, 0xda, 0x47, 0xdc, - 0x19, 0x3f, 0xb0, 0xde, 0x38, 0x97, 0x87, 0x0c, 0x1f, 0x9f, 0xfa, 0x28, 0x90, 0x08, 0xd5, 0x14, - 0xd4, 0xac, 0x94, 0xb6, 0x56, 0x51, 0x9b, 0xf1, 0xa9, 0xb2, 0x96, 0x40, 0xed, 0xce, 0xc6, 0xfa, - 0x6e, 0xb9, 0x6a, 0xec, 0x55, 0x76, 0xd7, 0x37, 0xcb, 0x9a, 0xca, 0xf7, 0xd5, 0xdf, 0x4a, 0xc0, - 0xb8, 0x78, 0x8b, 0xa4, 0x7f, 0x0c, 0x1e, 0x62, 0xcf, 0x33, 0x5c, 0xcb, 0xab, 0xbe, 0xda, 0xe8, - 0xe0, 0x94, 0x69, 0x99, 0x64, 0xf9, 0xf2, 0x9d, 0x76, 0x9a, 0x4a, 0xed, 0x58, 0xde, 0xf3, 0x8d, - 0x0e, 0x4a, 0x88, 0x96, 0xe9, 0xe9, 0x1b, 0x30, 0x67, 0x3b, 0x55, 0xd7, 0x33, 0xed, 0xba, 0xd9, - 0xa9, 0x57, 0x83, 0x27, 0x49, 0x55, 0xb3, 0x56, 0xb3, 0x5c, 0xd7, 0x21, 0x4b, 0x95, 0xcf, 0x72, - 0xd6, 0x76, 0x76, 0xa8, 0x70, 0x50, 0xc3, 0x0b, 0x54, 0x54, 0x0a, 0x30, 0xb5, 0x57, 0x80, 0x3d, - 0x02, 0xa3, 0x2d, 0xb3, 0x5d, 0xb5, 0x6c, 0xaf, 0x73, 0x8c, 0x1b, 0xe3, 0x94, 0x91, 0x6a, 0x99, - 0xed, 0x32, 0x3a, 0xfe, 0xe9, 0xdc, 0x9f, 0xfc, 0x57, 0x15, 0x32, 0x7c, 0x73, 0x8c, 0xee, 0x35, - 0x6a, 0x78, 0x1d, 0x51, 0x70, 0xa5, 0x79, 0xac, 0x6f, 0x2b, 0xbd, 0x58, 0x42, 0x0b, 0x4c, 0x7e, - 0x98, 0xb4, 0xac, 0x06, 0x41, 0xa2, 0xc5, 0x1d, 0xd5, 0x16, 0x8b, 0xb4, 0x08, 0x29, 0x83, 0x1e, - 0xe9, 0xb7, 0x61, 0xf8, 0x25, 0x17, 0x73, 0x0f, 0x63, 0xee, 0x0b, 0xfd, 0xb9, 0xef, 0xec, 0x60, - 0xf2, 0xd1, 0x3b, 0x3b, 0xd5, 0xca, 0x96, 0xb1, 0x59, 0xd8, 0x30, 0x28, 0x5c, 0x7f, 0x18, 0x92, - 0x4d, 0xf3, 0xf5, 0x63, 0x71, 0x29, 0xc2, 0x43, 0x83, 0x1a, 0xfe, 0x61, 0x48, 0xbe, 0x6a, 0x99, - 0x2f, 0x8b, 0x0b, 0x00, 0x1e, 0xfa, 0x00, 0x43, 0xff, 0x12, 0x0c, 0x61, 0x7b, 0xe9, 0x00, 0xd4, - 0x62, 0xda, 0x29, 0x3d, 0x05, 0xc9, 0xd2, 0x96, 0x81, 0xc2, 0x5f, 0x83, 0x0c, 0x19, 0xad, 0x6e, - 0xaf, 0x97, 0x4b, 0x65, 0x2d, 0x91, 0xbb, 0x0a, 0xc3, 0xc4, 0x08, 0x28, 0x35, 0x7c, 0x33, 0x68, - 0xa7, 0xe8, 0x21, 0xe5, 0x50, 0xd8, 0xec, 0xde, 0x66, 0xb1, 0x6c, 0x68, 0x09, 0xde, 0xbd, 0x2e, - 0x64, 0xf8, 0xbe, 0xf8, 0xa7, 0x13, 0x53, 0xdf, 0x54, 0x20, 0xcd, 0xf5, 0xb9, 0xa8, 0x41, 0x31, - 0x9b, 0x4d, 0xe7, 0xd5, 0xaa, 0xd9, 0x6c, 0x98, 0x2e, 0x0d, 0x0a, 0xc0, 0x43, 0x05, 0x34, 0x32, - 0xa8, 0xd3, 0x7e, 0x2a, 0xca, 0x7f, 0x51, 0x01, 0x4d, 0x6e, 0x31, 0x25, 0x05, 0x95, 0x9f, 0xa9, - 0x82, 0x9f, 0x57, 0x60, 0x5c, 0xec, 0x2b, 0x25, 0xf5, 0xce, 0xff, 0x4c, 0xd5, 0xfb, 0x6e, 0x02, - 0xc6, 0x84, 0x6e, 0x72, 0x50, 0xed, 0x7e, 0x1e, 0x26, 0x1b, 0x75, 0xab, 0xd5, 0x76, 0x3c, 0xcb, - 0xae, 0x1d, 0x57, 0x9b, 0xd6, 0x2b, 0x56, 0x33, 0x9b, 0xc3, 0x85, 0xe2, 0x52, 0xff, 0x7e, 0x75, - 0x71, 0x3d, 0xc0, 0x6d, 0x20, 0x58, 0x7e, 0x6a, 0x7d, 0xb5, 0xbc, 0xb9, 0xbd, 0xb5, 0x5b, 0xae, - 0x94, 0xee, 0x56, 0xf7, 0x2a, 0x1f, 0xaf, 0x6c, 0x3d, 0x5f, 0x31, 0xb4, 0x86, 0x24, 0xf6, 0x01, - 0xa6, 0xfa, 0x36, 0x68, 0xb2, 0x52, 0xfa, 0x43, 0x10, 0xa5, 0x96, 0x76, 0x4a, 0x9f, 0x82, 0x89, - 0xca, 0x56, 0x75, 0x67, 0x7d, 0xb5, 0x5c, 0x2d, 0xaf, 0xad, 0x95, 0x4b, 0xbb, 0x3b, 0xe4, 0x09, - 0x84, 0x2f, 0xbd, 0x2b, 0x26, 0xf5, 0xe7, 0x54, 0x98, 0x8a, 0xd0, 0x44, 0x2f, 0xd0, 0x7b, 0x07, - 0x72, 0x3b, 0xf3, 0xd4, 0x20, 0xda, 0x2f, 0xa2, 0x25, 0x7f, 0xdb, 0xec, 0x78, 0xf4, 0x56, 0xe3, - 0x49, 0x40, 0x56, 0xb2, 0xbd, 0xc6, 0x41, 0xc3, 0xea, 0xd0, 0x07, 0x36, 0xe4, 0x86, 0x62, 0x22, - 0x18, 0x27, 0xcf, 0x6c, 0x3e, 0x0a, 0x7a, 0xdb, 0x71, 0x1b, 0x5e, 0xe3, 0x15, 0xab, 0xda, 0xb0, - 0xd9, 0xd3, 0x1d, 0x74, 0x83, 0x91, 0x34, 0x34, 0x36, 0xb3, 0x6e, 0x7b, 0xbe, 0xb4, 0x6d, 0x1d, - 0x9a, 0x92, 0x34, 0x2a, 0xe0, 0xaa, 0xa1, 0xb1, 0x19, 0x5f, 0xfa, 0x3c, 0x64, 0xea, 0x4e, 0x17, - 0x75, 0x5d, 0x44, 0x0e, 0xad, 0x17, 0x8a, 0x91, 0x26, 0x63, 0xbe, 0x08, 0xed, 0xa7, 0x83, 0xc7, - 0x4a, 0x19, 0x23, 0x4d, 0xc6, 0x88, 0xc8, 0x13, 0x30, 0x61, 0x1e, 0x1e, 0x76, 0x10, 0x39, 0x23, - 0x22, 0x77, 0x08, 0xe3, 0xfe, 0x30, 0x16, 0x9c, 0xb9, 0x03, 0x29, 0x66, 0x07, 0xb4, 0x24, 0x23, - 0x4b, 0x54, 0xdb, 0xe4, 0xb6, 0x37, 0x31, 0x3f, 0x6a, 0xa4, 0x6c, 0x36, 0x79, 0x1e, 0x32, 0x0d, - 0xb7, 0x1a, 0x3c, 0x25, 0x4f, 0x9c, 0x4b, 0xcc, 0xa7, 0x8c, 0x74, 0xc3, 0xf5, 0x9f, 0x30, 0xe6, - 0xbe, 0x92, 0x80, 0x71, 0xf1, 0x29, 0xbf, 0xbe, 0x0a, 0xa9, 0xa6, 0x53, 0x33, 0x71, 0x68, 0x91, - 0x2d, 0xa6, 0xf9, 0x98, 0x8d, 0x81, 0xc5, 0x0d, 0x2a, 0x6f, 0xf8, 0xc8, 0x99, 0xff, 0xa8, 0x40, - 0x8a, 0x0d, 0xeb, 0xd3, 0x90, 0x6c, 0x9b, 0xde, 0x11, 0xa6, 0x1b, 0x2a, 0x26, 0x34, 0xc5, 0xc0, - 0xc7, 0x68, 0xdc, 0x6d, 0x9b, 0x36, 0x0e, 0x01, 0x3a, 0x8e, 0x8e, 0x91, 0x5f, 0x9b, 0x96, 0x59, - 0xc7, 0xb7, 0x1f, 0x4e, 0xab, 0x65, 0xd9, 0x9e, 0xcb, 0xfc, 0x4a, 0xc7, 0x4b, 0x74, 0x58, 0xff, - 0x08, 0x4c, 0x7a, 0x1d, 0xb3, 0xd1, 0x14, 0x64, 0x93, 0x58, 0x56, 0x63, 0x13, 0xbe, 0x70, 0x1e, - 0x1e, 0x66, 0xbc, 0x75, 0xcb, 0x33, 0x6b, 0x47, 0x56, 0x3d, 0x00, 0x0d, 0xe3, 0xc7, 0x0c, 0x0f, - 0x51, 0x81, 0x55, 0x3a, 0xcf, 0xb0, 0xb9, 0x3f, 0x54, 0x60, 0x92, 0xdd, 0x30, 0xd5, 0x7d, 0x63, - 0x6d, 0x02, 0x98, 0xb6, 0xed, 0x78, 0xbc, 0xb9, 0xc2, 0xa1, 0x1c, 0xc2, 0x2d, 0x16, 0x7c, 0x90, - 0xc1, 0x11, 0xcc, 0xb4, 0x00, 0x82, 0x99, 0x9e, 0x66, 0x9b, 0x83, 0x34, 0xdd, 0xc2, 0xc1, 0xfb, - 0x80, 0xe4, 0x16, 0x1b, 0xc8, 0x10, 0xba, 0xb3, 0xd2, 0x4f, 0xc3, 0xd0, 0xbe, 0x75, 0xd8, 0xb0, - 0xe9, 0x83, 0x59, 0x72, 0xc0, 0x1e, 0x84, 0x24, 0xfd, 0x07, 0x21, 0xc5, 0x17, 0x61, 0xaa, 0xe6, - 0xb4, 0x64, 0x75, 0x8b, 0x9a, 0x74, 0x9b, 0xef, 0x3e, 0xa7, 0x7c, 0x0a, 0x82, 0x16, 0xf3, 0xc7, - 0x8a, 0xf2, 0xab, 0x09, 0xf5, 0xf6, 0x76, 0xf1, 0xb7, 0x12, 0x33, 0xb7, 0x09, 0x74, 0x9b, 0x5d, - 0xa9, 0x61, 0x1d, 0x34, 0xad, 0x1a, 0xd2, 0x1e, 0x7e, 0xe3, 0x23, 0xf0, 0xd4, 0x61, 0xc3, 0x3b, - 0xea, 0xee, 0x2f, 0xd6, 0x9c, 0xd6, 0xa5, 0x43, 0xe7, 0xd0, 0x09, 0xb6, 0x3e, 0xd1, 0x11, 0x3e, - 0xc0, 0x9f, 0xe8, 0xf6, 0xe7, 0xa8, 0x3f, 0x3a, 0x13, 0xbb, 0x57, 0x9a, 0xaf, 0xc0, 0x14, 0x15, - 0xae, 0xe2, 0xfd, 0x17, 0x72, 0x17, 0xa1, 0xf7, 0x7d, 0x86, 0x95, 0xfd, 0xed, 0xef, 0xe3, 0xe5, - 0xda, 0x98, 0xa4, 0x50, 0x34, 0x47, 0x6e, 0x34, 0xf2, 0x06, 0x9c, 0x11, 0xf8, 0x48, 0x6a, 0x5a, - 0x9d, 0x18, 0xc6, 0x6f, 0x51, 0xc6, 0x29, 0x8e, 0x71, 0x87, 0x42, 0xf3, 0x25, 0x18, 0x3b, 0x09, - 0xd7, 0xbf, 0xa3, 0x5c, 0x19, 0x8b, 0x27, 0xb9, 0x0d, 0x13, 0x98, 0xa4, 0xd6, 0x75, 0x3d, 0xa7, - 0x85, 0xeb, 0x5e, 0x7f, 0x9a, 0x7f, 0xff, 0x7d, 0x92, 0x2b, 0xe3, 0x08, 0x56, 0xf2, 0x51, 0xf9, - 0x3c, 0xe0, 0x2d, 0xa7, 0xba, 0x55, 0x6b, 0xc6, 0x30, 0xdc, 0xa3, 0x8a, 0xf8, 0xf2, 0xf9, 0x4f, - 0xc2, 0x69, 0xf4, 0x19, 0x97, 0x25, 0x5e, 0x93, 0xf8, 0x07, 0x5e, 0xd9, 0x3f, 0xfc, 0x34, 0x49, - 0xc7, 0x29, 0x9f, 0x80, 0xd3, 0x89, 0xf3, 0xe2, 0xa1, 0xe5, 0x79, 0x56, 0xc7, 0xad, 0x9a, 0xcd, - 0x28, 0xf5, 0xb8, 0x27, 0x06, 0xd9, 0x5f, 0xf9, 0xa1, 0xe8, 0xc5, 0xdb, 0x04, 0x59, 0x68, 0x36, - 0xf3, 0x7b, 0xf0, 0x50, 0x44, 0x54, 0x0c, 0xc0, 0xf9, 0x39, 0xca, 0x79, 0x3a, 0x14, 0x19, 0x88, - 0x76, 0x1b, 0xd8, 0xb8, 0xef, 0xcb, 0x01, 0x38, 0xff, 0x11, 0xe5, 0xd4, 0x29, 0x96, 0xb9, 0x14, - 0x31, 0xde, 0x81, 0xc9, 0x57, 0xac, 0xce, 0xbe, 0xe3, 0xd2, 0xa7, 0x34, 0x03, 0xd0, 0x7d, 0x9e, - 0xd2, 0x4d, 0x50, 0x20, 0x7e, 0x6c, 0x83, 0xb8, 0x6e, 0x42, 0xea, 0xc0, 0xac, 0x59, 0x03, 0x50, - 0x7c, 0x81, 0x52, 0x8c, 0x20, 0x79, 0x04, 0x2d, 0x40, 0xe6, 0xd0, 0xa1, 0x2b, 0x53, 0x3c, 0xfc, - 0x8b, 0x14, 0x9e, 0x66, 0x18, 0x4a, 0xd1, 0x76, 0xda, 0xdd, 0x26, 0x5a, 0xb6, 0xe2, 0x29, 0xbe, - 0xc4, 0x28, 0x18, 0x86, 0x52, 0x9c, 0xc0, 0xac, 0x6f, 0x32, 0x0a, 0x97, 0xb3, 0xe7, 0xb3, 0x90, - 0x76, 0xec, 0xe6, 0xb1, 0x63, 0x0f, 0xa2, 0xc4, 0x97, 0x29, 0x03, 0x50, 0x08, 0x22, 0xb8, 0x05, - 0xa3, 0x83, 0x3a, 0xe2, 0xd7, 0x7f, 0xc8, 0xd2, 0x83, 0x79, 0xe0, 0x36, 0x4c, 0xb0, 0x02, 0xd5, - 0x70, 0xec, 0x01, 0x28, 0x7e, 0x83, 0x52, 0x8c, 0x73, 0x30, 0x7a, 0x19, 0x9e, 0xe5, 0x7a, 0x87, - 0xd6, 0x20, 0x24, 0x5f, 0x61, 0x97, 0x41, 0x21, 0xd4, 0x94, 0xfb, 0x96, 0x5d, 0x3b, 0x1a, 0x8c, - 0xe1, 0xab, 0xcc, 0x94, 0x0c, 0x83, 0x28, 0x4a, 0x30, 0xd6, 0x32, 0x3b, 0xee, 0x91, 0xd9, 0x1c, - 0xc8, 0x1d, 0xbf, 0x49, 0x39, 0x32, 0x3e, 0x88, 0x5a, 0xa4, 0x6b, 0x9f, 0x84, 0xe6, 0xb7, 0x98, - 0x45, 0x38, 0x18, 0x4d, 0x3d, 0xd7, 0xc3, 0x8f, 0xb4, 0x4e, 0xc2, 0xf6, 0x8f, 0x59, 0xea, 0x11, - 0xec, 0x26, 0xcf, 0x78, 0x0b, 0x46, 0xdd, 0xc6, 0xeb, 0x03, 0xd1, 0xfc, 0x13, 0xe6, 0x69, 0x0c, - 0x40, 0xe0, 0xbb, 0xf0, 0x70, 0xe4, 0x32, 0x31, 0x00, 0xd9, 0x3f, 0xa5, 0x64, 0xd3, 0x11, 0x4b, - 0x05, 0x2d, 0x09, 0x27, 0xa5, 0xfc, 0x67, 0xac, 0x24, 0x58, 0x12, 0xd7, 0x36, 0xba, 0x57, 0x70, - 0xcd, 0x83, 0x93, 0x59, 0xed, 0x9f, 0x33, 0xab, 0x11, 0xac, 0x60, 0xb5, 0x5d, 0x98, 0xa6, 0x8c, - 0x27, 0xf3, 0xeb, 0xd7, 0x58, 0x61, 0x25, 0xe8, 0x3d, 0xd1, 0xbb, 0x2f, 0xc2, 0x8c, 0x6f, 0x4e, - 0xd6, 0x94, 0xba, 0xd5, 0x96, 0xd9, 0x1e, 0x80, 0xf9, 0xb7, 0x29, 0x33, 0xab, 0xf8, 0x7e, 0x57, - 0xeb, 0x6e, 0x9a, 0x6d, 0x44, 0xfe, 0x02, 0x64, 0x19, 0x79, 0xd7, 0xee, 0x58, 0x35, 0xe7, 0xd0, - 0x6e, 0xbc, 0x6e, 0xd5, 0x07, 0xa0, 0xfe, 0xba, 0xe4, 0xaa, 0x3d, 0x0e, 0x8e, 0x98, 0xd7, 0x41, - 0xf3, 0x7b, 0x95, 0x6a, 0xa3, 0xd5, 0x76, 0x3a, 0x5e, 0x0c, 0xe3, 0xef, 0x30, 0x4f, 0xf9, 0xb8, - 0x75, 0x0c, 0xcb, 0x97, 0x61, 0x1c, 0x1f, 0x0e, 0x1a, 0x92, 0xbf, 0x4b, 0x89, 0xc6, 0x02, 0x14, - 0x2d, 0x1c, 0x35, 0xa7, 0xd5, 0x36, 0x3b, 0x83, 0xd4, 0xbf, 0x7f, 0xc1, 0x0a, 0x07, 0x85, 0xd0, - 0xc2, 0xe1, 0x1d, 0xb7, 0x2d, 0xb4, 0xda, 0x0f, 0xc0, 0xf0, 0x0d, 0x56, 0x38, 0x18, 0x86, 0x52, - 0xb0, 0x86, 0x61, 0x00, 0x8a, 0x7f, 0xc9, 0x28, 0x18, 0x06, 0x51, 0x7c, 0x22, 0x58, 0x68, 0x3b, - 0xd6, 0x61, 0xc3, 0xf5, 0x3a, 0xa4, 0x15, 0xee, 0x4f, 0xf5, 0x7b, 0x3f, 0x14, 0x9b, 0x30, 0x83, - 0x83, 0xa2, 0x4a, 0x44, 0x1f, 0xa1, 0xe2, 0x3b, 0xa5, 0x78, 0xc5, 0x7e, 0x9f, 0x55, 0x22, 0x0e, - 0x86, 0x74, 0xe3, 0x3a, 0x44, 0x64, 0xf6, 0x1a, 0xba, 0x3f, 0x18, 0x80, 0xee, 0x9b, 0x92, 0x72, - 0x3b, 0x0c, 0x8b, 0x38, 0xb9, 0xfe, 0xa7, 0x6b, 0xbf, 0x6c, 0x1d, 0x0f, 0x14, 0x9d, 0xff, 0x4a, - 0xea, 0x7f, 0xf6, 0x08, 0x92, 0xd4, 0x90, 0x09, 0xa9, 0x9f, 0xd2, 0xe3, 0x5e, 0xd6, 0xc9, 0xfe, - 0xe5, 0x77, 0xe9, 0xf5, 0x8a, 0xed, 0x54, 0x7e, 0x03, 0x05, 0xb9, 0xd8, 0xf4, 0xc4, 0x93, 0x7d, - 0xfa, 0x5d, 0x3f, 0xce, 0x85, 0x9e, 0x27, 0xbf, 0x06, 0x63, 0x42, 0xc3, 0x13, 0x4f, 0xf5, 0x57, - 0x28, 0x55, 0x86, 0xef, 0x77, 0xf2, 0x57, 0x21, 0x89, 0x9a, 0x97, 0x78, 0xf8, 0x5f, 0xa5, 0x70, - 0x2c, 0x9e, 0x7f, 0x1a, 0x52, 0xac, 0x69, 0x89, 0x87, 0xfe, 0x22, 0x85, 0xfa, 0x10, 0x04, 0x67, - 0x0d, 0x4b, 0x3c, 0xfc, 0xaf, 0x31, 0x38, 0x83, 0x20, 0xf8, 0xe0, 0x26, 0x7c, 0xeb, 0x6f, 0x24, - 0xe9, 0xa2, 0xc3, 0x6c, 0x77, 0x0b, 0x46, 0x68, 0xa7, 0x12, 0x8f, 0xfe, 0x25, 0x7a, 0x72, 0x86, - 0xc8, 0x5f, 0x87, 0xa1, 0x01, 0x0d, 0xfe, 0x37, 0x29, 0x94, 0xc8, 0xe7, 0x4b, 0x90, 0xe6, 0xba, - 0x93, 0x78, 0xf8, 0xdf, 0xa2, 0x70, 0x1e, 0x85, 0x54, 0xa7, 0xdd, 0x49, 0x3c, 0xc1, 0xdf, 0x66, - 0xaa, 0x53, 0x04, 0x32, 0x1b, 0x6b, 0x4c, 0xe2, 0xd1, 0x7f, 0x87, 0x59, 0x9d, 0x41, 0xf2, 0xcf, - 0xc2, 0xa8, 0xbf, 0xd8, 0xc4, 0xe3, 0xff, 0x2e, 0xc5, 0x07, 0x18, 0x64, 0x01, 0x6e, 0xb1, 0x8b, - 0xa7, 0xf8, 0x7b, 0xcc, 0x02, 0x1c, 0x0a, 0xa5, 0x91, 0xdc, 0xc0, 0xc4, 0x33, 0xfd, 0x32, 0x4b, - 0x23, 0xa9, 0x7f, 0x41, 0xde, 0xc4, 0x35, 0x3f, 0x9e, 0xe2, 0xef, 0x33, 0x6f, 0x62, 0x79, 0xa4, - 0x86, 0xdc, 0x11, 0xc4, 0x73, 0xfc, 0x43, 0xa6, 0x86, 0xd4, 0x10, 0xe4, 0xb7, 0x41, 0x0f, 0x77, - 0x03, 0xf1, 0x7c, 0x9f, 0xa5, 0x7c, 0x93, 0xa1, 0x66, 0x20, 0xff, 0x3c, 0x4c, 0x47, 0x77, 0x02, - 0xf1, 0xac, 0xbf, 0xf2, 0xae, 0x74, 0xef, 0xc6, 0x37, 0x02, 0xf9, 0xdd, 0x60, 0x49, 0xe1, 0xbb, - 0x80, 0x78, 0xda, 0xcf, 0xbd, 0x2b, 0x16, 0x6e, 0xbe, 0x09, 0xc8, 0x17, 0x00, 0x82, 0x05, 0x38, - 0x9e, 0xeb, 0xf3, 0x94, 0x8b, 0x03, 0xa1, 0xd4, 0xa0, 0xeb, 0x6f, 0x3c, 0xfe, 0x0b, 0x2c, 0x35, - 0x28, 0x02, 0xa5, 0x06, 0x5b, 0x7a, 0xe3, 0xd1, 0x5f, 0x64, 0xa9, 0xc1, 0x20, 0x28, 0xb2, 0xb9, - 0xd5, 0x2d, 0x9e, 0xe1, 0xcb, 0x2c, 0xb2, 0x39, 0x54, 0xbe, 0x02, 0x93, 0xa1, 0x05, 0x31, 0x9e, - 0xea, 0x57, 0x29, 0x95, 0x26, 0xaf, 0x87, 0xfc, 0xe2, 0x45, 0x17, 0xc3, 0x78, 0xb6, 0x5f, 0x93, - 0x16, 0x2f, 0xba, 0x16, 0xe6, 0x6f, 0x41, 0xca, 0xee, 0x36, 0x9b, 0x28, 0x79, 0xf4, 0xfe, 0x2f, - 0xd8, 0x65, 0xff, 0xc7, 0x4f, 0xa8, 0x75, 0x18, 0x20, 0x7f, 0x15, 0x86, 0xac, 0xd6, 0xbe, 0x55, - 0x8f, 0x43, 0xfe, 0xcf, 0x9f, 0xb0, 0x82, 0x89, 0xa4, 0xf3, 0xcf, 0x02, 0x90, 0x47, 0x23, 0x78, - 0xdb, 0x2f, 0x06, 0xfb, 0xbf, 0x7e, 0x42, 0x5f, 0x7d, 0x09, 0x20, 0x01, 0x01, 0x79, 0x91, 0xa6, - 0x3f, 0xc1, 0x0f, 0x45, 0x02, 0xec, 0x91, 0x9b, 0x30, 0xf2, 0x92, 0xeb, 0xd8, 0x9e, 0x79, 0x18, - 0x87, 0xfe, 0xdf, 0x14, 0xcd, 0xe4, 0x91, 0xc1, 0x5a, 0x4e, 0xc7, 0xf2, 0xcc, 0x43, 0x37, 0x0e, - 0xfb, 0x7f, 0x28, 0xd6, 0x07, 0x20, 0x70, 0xcd, 0x74, 0xbd, 0x41, 0xae, 0xfb, 0x8f, 0x18, 0x98, - 0x01, 0x90, 0xd2, 0xe8, 0xf3, 0xcb, 0xd6, 0x71, 0x1c, 0xf6, 0x47, 0x4c, 0x69, 0x2a, 0x9f, 0x7f, - 0x1a, 0x46, 0xd1, 0x47, 0xf2, 0x3e, 0x5b, 0x0c, 0xf8, 0xff, 0x52, 0x70, 0x80, 0x40, 0x67, 0x76, - 0xbd, 0xba, 0xd7, 0x88, 0x37, 0xf6, 0x1f, 0x53, 0x4f, 0x33, 0xf9, 0x7c, 0x01, 0xd2, 0xae, 0x57, - 0xaf, 0x77, 0x69, 0x7f, 0x1a, 0x03, 0xff, 0x7f, 0x3f, 0xf1, 0x1f, 0x59, 0xf8, 0x18, 0xe4, 0xed, - 0x57, 0x5f, 0xf6, 0xda, 0x0e, 0xde, 0xe6, 0x88, 0x63, 0x78, 0x97, 0x32, 0x70, 0x90, 0x62, 0x39, - 0xfa, 0xf1, 0x2d, 0xdc, 0x76, 0x6e, 0x3b, 0xe4, 0xc1, 0xed, 0xa7, 0x72, 0xf1, 0x4f, 0x60, 0xe1, - 0xbf, 0x35, 0xe1, 0x7a, 0x4f, 0x31, 0xb4, 0x14, 0x5f, 0xaa, 0x39, 0xad, 0x7d, 0xc7, 0xbd, 0xb4, - 0xef, 0x78, 0x47, 0x97, 0xbc, 0x23, 0x0b, 0x8d, 0xd1, 0x47, 0xb6, 0x49, 0xf4, 0x79, 0xe6, 0x64, - 0xcf, 0x79, 0xf1, 0x2e, 0x7e, 0xa5, 0x81, 0x2e, 0xad, 0x82, 0x37, 0x52, 0xf4, 0xb3, 0x30, 0x8c, - 0x2f, 0xf6, 0x32, 0xde, 0xac, 0x54, 0x8a, 0xc9, 0x7b, 0x6f, 0xcf, 0x9d, 0x32, 0xe8, 0x98, 0x3f, - 0xbb, 0x8c, 0x9f, 0x74, 0x27, 0x84, 0xd9, 0x65, 0x7f, 0xf6, 0x0a, 0x79, 0xd8, 0x2d, 0xcc, 0x5e, - 0xf1, 0x67, 0x57, 0xf0, 0x63, 0x6f, 0x55, 0x98, 0x5d, 0xf1, 0x67, 0xaf, 0xe2, 0xad, 0x9d, 0x31, - 0x61, 0xf6, 0xaa, 0x3f, 0x7b, 0x0d, 0x6f, 0xe8, 0x24, 0x85, 0xd9, 0x6b, 0xfe, 0xec, 0x75, 0xbc, - 0x97, 0x33, 0x29, 0xcc, 0x5e, 0xf7, 0x67, 0x6f, 0xe0, 0x3d, 0x1c, 0x5d, 0x98, 0xbd, 0xe1, 0xcf, - 0xde, 0xc4, 0x2f, 0x48, 0x8d, 0x08, 0xb3, 0x37, 0xf5, 0x59, 0x18, 0x21, 0x57, 0xbe, 0x84, 0x37, - 0xfc, 0x27, 0xe8, 0x34, 0x1b, 0x0c, 0xe6, 0x2f, 0xe3, 0x97, 0xa1, 0x86, 0xc5, 0xf9, 0xcb, 0xc1, - 0xfc, 0x32, 0xfe, 0x5e, 0x86, 0x26, 0xce, 0x2f, 0x07, 0xf3, 0x57, 0xb2, 0x63, 0xf8, 0x85, 0x30, - 0x61, 0xfe, 0x4a, 0x30, 0xbf, 0x92, 0x1d, 0x47, 0x19, 0x23, 0xce, 0xaf, 0x04, 0xf3, 0x57, 0xb3, - 0x13, 0xe7, 0x94, 0xf9, 0x8c, 0x38, 0x7f, 0x35, 0xf7, 0x0b, 0xd8, 0xbd, 0x76, 0xe0, 0xde, 0x69, - 0xd1, 0xbd, 0xbe, 0x63, 0xa7, 0x45, 0xc7, 0xfa, 0x2e, 0x9d, 0x16, 0x5d, 0xea, 0x3b, 0x73, 0x5a, - 0x74, 0xa6, 0xef, 0xc6, 0x69, 0xd1, 0x8d, 0xbe, 0x03, 0xa7, 0x45, 0x07, 0xfa, 0xae, 0x9b, 0x16, - 0x5d, 0xe7, 0x3b, 0x6d, 0x5a, 0x74, 0x9a, 0xef, 0xae, 0x69, 0xd1, 0x5d, 0xbe, 0xa3, 0xb2, 0x92, - 0xa3, 0x02, 0x17, 0x65, 0x25, 0x17, 0x05, 0xce, 0xc9, 0x4a, 0xce, 0x09, 0xdc, 0x92, 0x95, 0xdc, - 0x12, 0x38, 0x24, 0x2b, 0x39, 0x24, 0x70, 0x45, 0x56, 0x72, 0x45, 0xe0, 0x04, 0x9a, 0x63, 0x86, - 0xd5, 0x8e, 0xc8, 0x31, 0xb5, 0x6f, 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xed, 0x9b, 0x63, 0x6a, 0xdf, - 0x1c, 0x53, 0xfb, 0xe6, 0x98, 0xda, 0x37, 0xc7, 0xd4, 0xbe, 0x39, 0xa6, 0xf6, 0xcd, 0x31, 0xb5, - 0x7f, 0x8e, 0xa9, 0x31, 0x39, 0xa6, 0xc6, 0xe4, 0x98, 0x1a, 0x93, 0x63, 0x6a, 0x4c, 0x8e, 0xa9, - 0x31, 0x39, 0xa6, 0xf6, 0xcc, 0xb1, 0xc0, 0xbd, 0xd3, 0xa2, 0x7b, 0x23, 0x73, 0x4c, 0xed, 0x91, - 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, - 0xc8, 0x31, 0xb5, 0x47, 0x8e, 0xa9, 0xbd, 0x72, 0x4c, 0xed, 0x99, 0x63, 0x6a, 0xcf, 0x1c, 0x53, - 0x7b, 0xe6, 0x98, 0xda, 0x33, 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0xf2, 0x39, 0xf6, 0xaf, 0x55, 0xd0, - 0x49, 0x8e, 0x6d, 0xe3, 0x57, 0xc6, 0xa8, 0x2b, 0x66, 0xa5, 0x4c, 0x1b, 0x46, 0xae, 0xd3, 0x02, - 0x97, 0xcc, 0x4a, 0xb9, 0x26, 0xce, 0x2f, 0xfb, 0xf3, 0x2c, 0xdb, 0xc4, 0xf9, 0x2b, 0xfe, 0x3c, - 0xcb, 0x37, 0x71, 0x7e, 0xc5, 0x9f, 0x67, 0x19, 0x27, 0xce, 0x5f, 0xf5, 0xe7, 0x59, 0xce, 0x89, - 0xf3, 0xd7, 0xfc, 0x79, 0x96, 0x75, 0xe2, 0xfc, 0x75, 0x7f, 0x9e, 0xe5, 0x9d, 0x38, 0x7f, 0xc3, - 0x9f, 0x67, 0x99, 0x27, 0xce, 0xdf, 0xd4, 0xcf, 0xc9, 0xb9, 0xc7, 0x04, 0x7c, 0xd7, 0x9e, 0x93, + 0xba, 0x21, 0x89, 0xaa, 0x54, 0x4a, 0x59, 0x27, 0x1b, 0x6f, 0xee, 0xc9, 0x26, 0x15, 0xaf, 0xe3, + 0x8b, 0xbc, 0x5b, 0xbb, 0xf6, 0x6e, 0x6e, 0x5e, 0x67, 0xe3, 0xec, 0x3a, 0xa9, 0xac, 0xf2, 0xe0, + 0x64, 0xf2, 0x92, 0xf2, 0x26, 0x2f, 0x29, 0x57, 0x4a, 0x65, 0x8d, 0x9d, 0x8a, 0x93, 0x38, 0x89, + 0xb3, 0x51, 0x55, 0x5c, 0xe5, 0x7d, 0x48, 0x9d, 0x5b, 0xf7, 0x39, 0x07, 0x0d, 0x34, 0x38, 0x92, + 0x6c, 0x3f, 0xf8, 0x65, 0x06, 0x7d, 0xce, 0xff, 0x7d, 0xfd, 0xf7, 0x7f, 0x39, 0xe7, 0xef, 0x73, + 0x0e, 0x40, 0xb8, 0x97, 0x87, 0x73, 0x87, 0x8e, 0x73, 0xd8, 0xb4, 0x2e, 0xb5, 0x3b, 0x8e, 0xe7, + 0xec, 0x77, 0x0f, 0x2e, 0xd5, 0x2d, 0xb7, 0xd6, 0x69, 0xb4, 0x3d, 0xa7, 0xb3, 0x88, 0xdb, 0xf4, + 0x09, 0x22, 0xb1, 0xc8, 0x24, 0x72, 0x9b, 0x30, 0xb9, 0xd6, 0x68, 0x5a, 0xab, 0xbe, 0xe0, 0x8e, + 0xe5, 0xe9, 0x37, 0x20, 0x7e, 0xd0, 0x68, 0x5a, 0x59, 0xe5, 0x9c, 0x3a, 0x9f, 0x5e, 0xbe, 0xb0, + 0x28, 0x81, 0x16, 0x45, 0xc4, 0x36, 0x6a, 0x36, 0x30, 0x22, 0xf7, 0xbd, 0x38, 0x4c, 0x85, 0xf4, + 0xea, 0x3a, 0xc4, 0x6d, 0xb3, 0x85, 0x18, 0x95, 0xf9, 0x94, 0x81, 0x3f, 0xeb, 0x59, 0x18, 0x6d, + 0x9b, 0xb5, 0x57, 0xcc, 0x43, 0x2b, 0x1b, 0xc3, 0xcd, 0xec, 0x52, 0x9f, 0x05, 0xa8, 0x5b, 0x6d, + 0xcb, 0xae, 0x5b, 0x76, 0xed, 0x38, 0xab, 0x9e, 0x53, 0xe7, 0x53, 0x06, 0xd7, 0xa2, 0x7f, 0x04, + 0x26, 0xdb, 0xdd, 0xfd, 0x66, 0xa3, 0x56, 0xe5, 0xc4, 0xe0, 0x9c, 0x3a, 0x9f, 0x30, 0x34, 0xd2, + 0xb1, 0x1a, 0x08, 0x3f, 0x01, 0x13, 0xaf, 0x59, 0xe6, 0x2b, 0xbc, 0x68, 0x1a, 0x8b, 0x8e, 0xa3, + 0x66, 0x4e, 0xb0, 0x04, 0x99, 0x96, 0xe5, 0xba, 0xe6, 0xa1, 0x55, 0xf5, 0x8e, 0xdb, 0x56, 0x36, + 0x8e, 0x9f, 0xfe, 0x5c, 0xcf, 0xd3, 0xcb, 0x4f, 0x9e, 0xa6, 0xa8, 0xdd, 0xe3, 0xb6, 0xa5, 0x17, + 0x20, 0x65, 0xd9, 0xdd, 0x16, 0x61, 0x48, 0xf4, 0xb1, 0x5f, 0xd9, 0xee, 0xb6, 0x64, 0x96, 0x24, + 0x82, 0x51, 0x8a, 0x51, 0xd7, 0xea, 0xbc, 0xda, 0xa8, 0x59, 0xd9, 0x11, 0x4c, 0xf0, 0x44, 0x0f, + 0xc1, 0x0e, 0xe9, 0x97, 0x39, 0x18, 0x4e, 0x2f, 0x41, 0xca, 0x7a, 0xdd, 0xb3, 0x6c, 0xb7, 0xe1, + 0xd8, 0xd9, 0x51, 0x4c, 0xf2, 0x78, 0x88, 0x17, 0xad, 0x66, 0x5d, 0xa6, 0x08, 0x70, 0xfa, 0x35, + 0x18, 0x75, 0xda, 0x5e, 0xc3, 0xb1, 0xdd, 0x6c, 0xf2, 0x9c, 0x32, 0x9f, 0x5e, 0x3e, 0x1b, 0x1a, + 0x08, 0x5b, 0x44, 0xc6, 0x60, 0xc2, 0xfa, 0x3a, 0x68, 0xae, 0xd3, 0xed, 0xd4, 0xac, 0x6a, 0xcd, + 0xa9, 0x5b, 0xd5, 0x86, 0x7d, 0xe0, 0x64, 0x53, 0x98, 0x60, 0xae, 0xf7, 0x41, 0xb0, 0x60, 0xc9, + 0xa9, 0x5b, 0xeb, 0xf6, 0x81, 0x63, 0x8c, 0xbb, 0xc2, 0xb5, 0x3e, 0x0d, 0x23, 0xee, 0xb1, 0xed, + 0x99, 0xaf, 0x67, 0x33, 0x38, 0x42, 0xe8, 0x55, 0xee, 0x0f, 0x46, 0x60, 0x62, 0x98, 0x10, 0xbb, + 0x05, 0x89, 0x03, 0xf4, 0x94, 0xd9, 0xd8, 0x49, 0x6c, 0x40, 0x30, 0xa2, 0x11, 0x47, 0x1e, 0xd0, + 0x88, 0x05, 0x48, 0xdb, 0x96, 0xeb, 0x59, 0x75, 0x12, 0x11, 0xea, 0x90, 0x31, 0x05, 0x04, 0xd4, + 0x1b, 0x52, 0xf1, 0x07, 0x0a, 0xa9, 0x17, 0x61, 0xc2, 0x57, 0xa9, 0xda, 0x31, 0xed, 0x43, 0x16, + 0x9b, 0x97, 0xa2, 0x34, 0x59, 0x2c, 0x33, 0x9c, 0x81, 0x60, 0xc6, 0xb8, 0x25, 0x5c, 0xeb, 0xab, + 0x00, 0x8e, 0x6d, 0x39, 0x07, 0xd5, 0xba, 0x55, 0x6b, 0x66, 0x93, 0x7d, 0xac, 0xb4, 0x85, 0x44, + 0x7a, 0xac, 0xe4, 0x90, 0xd6, 0x5a, 0x53, 0xbf, 0x19, 0x84, 0xda, 0x68, 0x9f, 0x48, 0xd9, 0x24, + 0x49, 0xd6, 0x13, 0x6d, 0x7b, 0x30, 0xde, 0xb1, 0x50, 0xdc, 0x5b, 0x75, 0xfa, 0x64, 0x29, 0xac, + 0xc4, 0x62, 0xe4, 0x93, 0x19, 0x14, 0x46, 0x1e, 0x6c, 0xac, 0xc3, 0x5f, 0xea, 0x8f, 0x81, 0xdf, + 0x50, 0xc5, 0x61, 0x05, 0x78, 0x14, 0xca, 0xb0, 0xc6, 0x8a, 0xd9, 0xb2, 0x66, 0xde, 0x80, 0x71, + 0xd1, 0x3c, 0xfa, 0x69, 0x48, 0xb8, 0x9e, 0xd9, 0xf1, 0x70, 0x14, 0x26, 0x0c, 0x72, 0xa1, 0x6b, + 0xa0, 0x5a, 0x76, 0x1d, 0x8f, 0x72, 0x09, 0x03, 0x7d, 0xd4, 0x7f, 0x21, 0x78, 0x60, 0x15, 0x3f, + 0xf0, 0xc5, 0x5e, 0x8f, 0x0a, 0xcc, 0xf2, 0x73, 0xcf, 0x5c, 0x87, 0x31, 0xe1, 0x01, 0x86, 0xbd, + 0x75, 0xee, 0xcf, 0xc2, 0x99, 0x50, 0x6a, 0xfd, 0x45, 0x38, 0xdd, 0xb5, 0x1b, 0xb6, 0x67, 0x75, + 0xda, 0x1d, 0x0b, 0x45, 0x2c, 0xb9, 0x55, 0xf6, 0xbf, 0x8e, 0xf6, 0x89, 0xb9, 0x3d, 0x5e, 0x9a, + 0xb0, 0x18, 0x53, 0xdd, 0xde, 0xc6, 0x85, 0x54, 0xf2, 0xfb, 0xa3, 0xda, 0x9b, 0x6f, 0xbe, 0xf9, + 0x66, 0x2c, 0xf7, 0x99, 0x11, 0x38, 0x1d, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x0d, 0x23, 0x76, 0xb7, + 0xb5, 0x6f, 0x75, 0xb0, 0x91, 0x12, 0x06, 0xbd, 0xd2, 0x0b, 0x90, 0x68, 0x9a, 0xfb, 0x56, 0x33, + 0x1b, 0x3f, 0xa7, 0xcc, 0x8f, 0x2f, 0x7f, 0x64, 0xa8, 0xac, 0x5c, 0xdc, 0x40, 0x10, 0x83, 0x20, + 0xf5, 0x67, 0x21, 0x4e, 0x87, 0x68, 0xc4, 0xb0, 0x30, 0x1c, 0x03, 0xca, 0x25, 0x03, 0xe3, 0xf4, + 0x47, 0x20, 0x85, 0xfe, 0x27, 0xb1, 0x31, 0x82, 0x75, 0x4e, 0xa2, 0x06, 0x14, 0x17, 0xfa, 0x0c, + 0x24, 0x71, 0x9a, 0xd4, 0x2d, 0x36, 0xb5, 0xf9, 0xd7, 0x28, 0xb0, 0xea, 0xd6, 0x81, 0xd9, 0x6d, + 0x7a, 0xd5, 0x57, 0xcd, 0x66, 0xd7, 0xc2, 0x01, 0x9f, 0x32, 0x32, 0xb4, 0xf1, 0x13, 0xa8, 0x4d, + 0x9f, 0x83, 0x34, 0xc9, 0xaa, 0x86, 0x5d, 0xb7, 0x5e, 0xc7, 0xa3, 0x67, 0xc2, 0x20, 0x89, 0xb6, + 0x8e, 0x5a, 0xd0, 0xed, 0x5f, 0x76, 0x1d, 0x9b, 0x85, 0x26, 0xbe, 0x05, 0x6a, 0xc0, 0xb7, 0xbf, + 0x2e, 0x0f, 0xdc, 0x8f, 0x86, 0x3f, 0x9e, 0x1c, 0x53, 0xb9, 0xaf, 0xc7, 0x20, 0x8e, 0xc7, 0x8b, + 0x09, 0x48, 0xef, 0xde, 0xdd, 0x2e, 0x57, 0x57, 0xb7, 0xf6, 0x8a, 0x1b, 0x65, 0x4d, 0xd1, 0xc7, + 0x01, 0x70, 0xc3, 0xda, 0xc6, 0x56, 0x61, 0x57, 0x8b, 0xf9, 0xd7, 0xeb, 0x95, 0xdd, 0x6b, 0x2b, + 0x9a, 0xea, 0x03, 0xf6, 0x48, 0x43, 0x9c, 0x17, 0xb8, 0xb2, 0xac, 0x25, 0x74, 0x0d, 0x32, 0x84, + 0x60, 0xfd, 0xc5, 0xf2, 0xea, 0xb5, 0x15, 0x6d, 0x44, 0x6c, 0xb9, 0xb2, 0xac, 0x8d, 0xea, 0x63, + 0x90, 0xc2, 0x2d, 0xc5, 0xad, 0xad, 0x0d, 0x2d, 0xe9, 0x73, 0xee, 0xec, 0x1a, 0xeb, 0x95, 0xdb, + 0x5a, 0xca, 0xe7, 0xbc, 0x6d, 0x6c, 0xed, 0x6d, 0x6b, 0xe0, 0x33, 0x6c, 0x96, 0x77, 0x76, 0x0a, + 0xb7, 0xcb, 0x5a, 0xda, 0x97, 0x28, 0xde, 0xdd, 0x2d, 0xef, 0x68, 0x19, 0x41, 0xad, 0x2b, 0xcb, + 0xda, 0x98, 0x7f, 0x8b, 0x72, 0x65, 0x6f, 0x53, 0x1b, 0xd7, 0x27, 0x61, 0x8c, 0xdc, 0x82, 0x29, + 0x31, 0x21, 0x35, 0x5d, 0x5b, 0xd1, 0xb4, 0x40, 0x11, 0xc2, 0x32, 0x29, 0x34, 0x5c, 0x5b, 0xd1, + 0xf4, 0x5c, 0x09, 0x12, 0x38, 0xba, 0x74, 0x1d, 0xc6, 0x37, 0x0a, 0xc5, 0xf2, 0x46, 0x75, 0x6b, + 0x7b, 0x77, 0x7d, 0xab, 0x52, 0xd8, 0xd0, 0x94, 0xa0, 0xcd, 0x28, 0x7f, 0x7c, 0x6f, 0xdd, 0x28, + 0xaf, 0x6a, 0x31, 0xbe, 0x6d, 0xbb, 0x5c, 0xd8, 0x2d, 0xaf, 0x6a, 0x6a, 0xae, 0x06, 0xa7, 0xc3, + 0xc6, 0xc9, 0xd0, 0xcc, 0xe0, 0x5c, 0x1c, 0xeb, 0xe3, 0x62, 0xcc, 0xd5, 0xe3, 0xe2, 0xef, 0xc6, + 0x60, 0x2a, 0x64, 0xae, 0x08, 0xbd, 0xc9, 0x73, 0x90, 0x20, 0x21, 0x4a, 0x66, 0xcf, 0x27, 0x43, + 0x27, 0x1d, 0x1c, 0xb0, 0x3d, 0x33, 0x28, 0xc6, 0xf1, 0x15, 0x84, 0xda, 0xa7, 0x82, 0x40, 0x14, + 0x3d, 0x63, 0xfa, 0x9f, 0xee, 0x19, 0xd3, 0xc9, 0xb4, 0x77, 0x6d, 0x98, 0x69, 0x0f, 0xb7, 0x9d, + 0x6c, 0x6c, 0x4f, 0x84, 0x8c, 0xed, 0xb7, 0x60, 0xb2, 0x87, 0x68, 0xe8, 0x31, 0xf6, 0x53, 0x0a, + 0x64, 0xfb, 0x19, 0x27, 0x62, 0xa4, 0x8b, 0x09, 0x23, 0xdd, 0x2d, 0xd9, 0x82, 0xe7, 0xfb, 0x3b, + 0xa1, 0xc7, 0xd7, 0x5f, 0x56, 0x60, 0x3a, 0xbc, 0x52, 0x0c, 0xd5, 0xe1, 0x59, 0x18, 0x69, 0x59, + 0xde, 0x91, 0xc3, 0xaa, 0xa5, 0x8b, 0x21, 0x73, 0x30, 0xea, 0x96, 0x9d, 0x4d, 0x51, 0xfc, 0x24, + 0xae, 0xf6, 0x2b, 0xf7, 0x88, 0x36, 0x3d, 0x9a, 0xfe, 0x4a, 0x0c, 0xce, 0x84, 0x92, 0x87, 0x2a, + 0xfa, 0x28, 0x40, 0xc3, 0x6e, 0x77, 0x3d, 0x52, 0x11, 0x91, 0x01, 0x36, 0x85, 0x5b, 0xf0, 0xe0, + 0x85, 0x06, 0xcf, 0xae, 0xe7, 0xf7, 0xab, 0xb8, 0x1f, 0x48, 0x13, 0x16, 0xb8, 0x11, 0x28, 0x1a, + 0xc7, 0x8a, 0xce, 0xf6, 0x79, 0xd2, 0x9e, 0xc0, 0x5c, 0x02, 0xad, 0xd6, 0x6c, 0x58, 0xb6, 0x57, + 0x75, 0xbd, 0x8e, 0x65, 0xb6, 0x1a, 0xf6, 0x21, 0x9e, 0x41, 0x92, 0xf9, 0xc4, 0x81, 0xd9, 0x74, + 0x2d, 0x63, 0x82, 0x74, 0xef, 0xb0, 0x5e, 0x84, 0xc0, 0x01, 0xd4, 0xe1, 0x10, 0x23, 0x02, 0x82, + 0x74, 0xfb, 0x88, 0xdc, 0x5f, 0x4d, 0x41, 0x9a, 0xab, 0xab, 0xf5, 0xf3, 0x90, 0x79, 0xd9, 0x7c, + 0xd5, 0xac, 0xb2, 0x77, 0x25, 0x62, 0x89, 0x34, 0x6a, 0xdb, 0xa6, 0xef, 0x4b, 0x4b, 0x70, 0x1a, + 0x8b, 0x38, 0x5d, 0xcf, 0xea, 0x54, 0x6b, 0x4d, 0xd3, 0x75, 0xb1, 0xd1, 0x92, 0x58, 0x54, 0x47, + 0x7d, 0x5b, 0xa8, 0xab, 0xc4, 0x7a, 0xf4, 0xab, 0x30, 0x85, 0x11, 0xad, 0x6e, 0xd3, 0x6b, 0xb4, + 0x9b, 0x56, 0x15, 0xbd, 0xbd, 0xb9, 0x78, 0x26, 0xf1, 0x35, 0x9b, 0x44, 0x12, 0x9b, 0x54, 0x00, + 0x69, 0xe4, 0xea, 0xab, 0xf0, 0x28, 0x86, 0x1d, 0x5a, 0xb6, 0xd5, 0x31, 0x3d, 0xab, 0x6a, 0xfd, + 0x62, 0xd7, 0x6c, 0xba, 0x55, 0xd3, 0xae, 0x57, 0x8f, 0x4c, 0xf7, 0x28, 0x7b, 0x1a, 0x11, 0x14, + 0x63, 0x59, 0xc5, 0x78, 0x18, 0x09, 0xde, 0xa6, 0x72, 0x65, 0x2c, 0x56, 0xb0, 0xeb, 0xcf, 0x9b, + 0xee, 0x91, 0x9e, 0x87, 0x69, 0xcc, 0xe2, 0x7a, 0x9d, 0x86, 0x7d, 0x58, 0xad, 0x1d, 0x59, 0xb5, + 0x57, 0xaa, 0x5d, 0xef, 0xe0, 0x46, 0xf6, 0x11, 0xfe, 0xfe, 0x58, 0xc3, 0x1d, 0x2c, 0x53, 0x42, + 0x22, 0x7b, 0xde, 0xc1, 0x0d, 0x7d, 0x07, 0x32, 0xc8, 0x19, 0xad, 0xc6, 0x1b, 0x56, 0xf5, 0xc0, + 0xe9, 0xe0, 0xa9, 0x71, 0x3c, 0x64, 0x68, 0xe2, 0x2c, 0xb8, 0xb8, 0x45, 0x01, 0x9b, 0x4e, 0xdd, + 0xca, 0x27, 0x76, 0xb6, 0xcb, 0xe5, 0x55, 0x23, 0xcd, 0x58, 0xd6, 0x9c, 0x0e, 0x0a, 0xa8, 0x43, + 0xc7, 0x37, 0x70, 0x9a, 0x04, 0xd4, 0xa1, 0xc3, 0xcc, 0x7b, 0x15, 0xa6, 0x6a, 0x35, 0xf2, 0xcc, + 0x8d, 0x5a, 0x95, 0xbe, 0x63, 0xb9, 0x59, 0x4d, 0x30, 0x56, 0xad, 0x76, 0x9b, 0x08, 0xd0, 0x18, + 0x77, 0xf5, 0x9b, 0x70, 0x26, 0x30, 0x16, 0x0f, 0x9c, 0xec, 0x79, 0x4a, 0x19, 0x7a, 0x15, 0xa6, + 0xda, 0xc7, 0xbd, 0x40, 0x5d, 0xb8, 0x63, 0xfb, 0x58, 0x86, 0x5d, 0x87, 0xd3, 0xed, 0xa3, 0x76, + 0x2f, 0x6e, 0x81, 0xc7, 0xe9, 0xed, 0xa3, 0xb6, 0x0c, 0x7c, 0x1c, 0xbf, 0x70, 0x77, 0xac, 0x9a, + 0xe9, 0x59, 0xf5, 0xec, 0x43, 0xbc, 0x38, 0xd7, 0xa1, 0x5f, 0x02, 0xad, 0x56, 0xab, 0x5a, 0xb6, + 0xb9, 0xdf, 0xb4, 0xaa, 0x66, 0xc7, 0xb2, 0x4d, 0x37, 0x3b, 0xc7, 0x0b, 0x8f, 0xd7, 0x6a, 0x65, + 0xdc, 0x5b, 0xc0, 0x9d, 0xfa, 0x02, 0x4c, 0x3a, 0xfb, 0x2f, 0xd7, 0x48, 0x48, 0x56, 0xdb, 0x1d, + 0xeb, 0xa0, 0xf1, 0x7a, 0xf6, 0x02, 0xb6, 0xef, 0x04, 0xea, 0xc0, 0x01, 0xb9, 0x8d, 0x9b, 0xf5, + 0x27, 0x41, 0xab, 0xb9, 0x47, 0x66, 0xa7, 0x8d, 0xc7, 0x64, 0xb7, 0x6d, 0xd6, 0xac, 0xec, 0xe3, + 0x44, 0x94, 0xb4, 0x57, 0x58, 0x33, 0x4a, 0x09, 0xf7, 0xb5, 0xc6, 0x81, 0xc7, 0x18, 0x9f, 0x20, + 0x29, 0x81, 0xdb, 0x28, 0xdb, 0x3c, 0x68, 0xc8, 0x14, 0xc2, 0x8d, 0xe7, 0xb1, 0xd8, 0x78, 0xfb, + 0xa8, 0xcd, 0xdf, 0xf7, 0x31, 0x18, 0x43, 0x92, 0xc1, 0x4d, 0x9f, 0x24, 0x05, 0x59, 0xfb, 0x88, + 0xbb, 0xe3, 0x0a, 0x4c, 0x23, 0xa1, 0x96, 0xe5, 0x99, 0x75, 0xd3, 0x33, 0x39, 0xe9, 0xa7, 0xb0, + 0x34, 0xb2, 0xfb, 0x26, 0xed, 0x14, 0xf4, 0xec, 0x74, 0xf7, 0x8f, 0xfd, 0xc8, 0x7a, 0x9a, 0xe8, + 0x89, 0xda, 0x58, 0x6c, 0x7d, 0x68, 0x45, 0x77, 0x2e, 0x0f, 0x19, 0x3e, 0xf0, 0xf5, 0x14, 0x90, + 0xd0, 0xd7, 0x14, 0x54, 0x05, 0x95, 0xb6, 0x56, 0x51, 0xfd, 0xf2, 0xc9, 0xb2, 0x16, 0x43, 0x75, + 0xd4, 0xc6, 0xfa, 0x6e, 0xb9, 0x6a, 0xec, 0x55, 0x76, 0xd7, 0x37, 0xcb, 0x9a, 0xca, 0x17, 0xec, + 0xdf, 0x8c, 0xc1, 0xb8, 0xf8, 0xee, 0xa5, 0x7f, 0x14, 0x1e, 0x62, 0x0b, 0x25, 0xae, 0xe5, 0x55, + 0x5f, 0x6b, 0x74, 0x70, 0x2e, 0xb6, 0x4c, 0x32, 0x2f, 0xfa, 0xd1, 0x70, 0x9a, 0x4a, 0xed, 0x58, + 0xde, 0x0b, 0x8d, 0x0e, 0xca, 0xb4, 0x96, 0xe9, 0xe9, 0x1b, 0x30, 0x67, 0x3b, 0x55, 0xd7, 0x33, + 0xed, 0xba, 0xd9, 0xa9, 0x57, 0x83, 0x25, 0xaa, 0xaa, 0x59, 0xab, 0x59, 0xae, 0xeb, 0x90, 0x39, + 0xd0, 0x67, 0x39, 0x6b, 0x3b, 0x3b, 0x54, 0x38, 0x98, 0x1c, 0x0a, 0x54, 0x54, 0x8a, 0x5c, 0xb5, + 0x5f, 0xe4, 0x3e, 0x02, 0xa9, 0x96, 0xd9, 0xae, 0x5a, 0xb6, 0xd7, 0x39, 0xc6, 0x15, 0x77, 0xd2, + 0x48, 0xb6, 0xcc, 0x76, 0x19, 0x5d, 0xff, 0x64, 0x5e, 0x7c, 0xfe, 0xb3, 0x0a, 0x19, 0xbe, 0xea, + 0x46, 0x2f, 0x31, 0x35, 0x3c, 0x41, 0x29, 0x78, 0x08, 0x7b, 0x6c, 0x60, 0x8d, 0xbe, 0x58, 0x42, + 0x33, 0x57, 0x7e, 0x84, 0xd4, 0xc2, 0x06, 0x41, 0xa2, 0xaa, 0x01, 0x85, 0x96, 0x45, 0x6a, 0x8f, + 0xa4, 0x41, 0xaf, 0xf4, 0xdb, 0x30, 0xf2, 0xb2, 0x8b, 0xb9, 0x47, 0x30, 0xf7, 0x85, 0xc1, 0xdc, + 0x77, 0x76, 0x30, 0x79, 0xea, 0xce, 0x4e, 0xb5, 0xb2, 0x65, 0x6c, 0x16, 0x36, 0x0c, 0x0a, 0xd7, + 0x1f, 0x86, 0x78, 0xd3, 0x7c, 0xe3, 0x58, 0x9c, 0xe3, 0x70, 0xd3, 0xb0, 0x86, 0x7f, 0x18, 0xe2, + 0xaf, 0x59, 0xe6, 0x2b, 0xe2, 0xcc, 0x82, 0x9b, 0x3e, 0xc4, 0xd0, 0xbf, 0x04, 0x09, 0x6c, 0x2f, + 0x1d, 0x80, 0x5a, 0x4c, 0x3b, 0xa5, 0x27, 0x21, 0x5e, 0xda, 0x32, 0x50, 0xf8, 0x6b, 0x90, 0x21, + 0xad, 0xd5, 0xed, 0xf5, 0x72, 0xa9, 0xac, 0xc5, 0x72, 0x57, 0x61, 0x84, 0x18, 0x01, 0xa5, 0x86, + 0x6f, 0x06, 0xed, 0x14, 0xbd, 0xa4, 0x1c, 0x0a, 0xeb, 0xdd, 0xdb, 0x2c, 0x96, 0x0d, 0x2d, 0xc6, + 0xbb, 0xd7, 0x85, 0x0c, 0x5f, 0x70, 0xff, 0x64, 0x62, 0xea, 0x1b, 0x0a, 0xa4, 0xb9, 0x02, 0x1a, + 0x55, 0x3e, 0x66, 0xb3, 0xe9, 0xbc, 0x56, 0x35, 0x9b, 0x0d, 0xd3, 0xa5, 0x41, 0x01, 0xb8, 0xa9, + 0x80, 0x5a, 0x86, 0x75, 0xda, 0x4f, 0x44, 0xf9, 0x2f, 0x28, 0xa0, 0xc9, 0xb5, 0xab, 0xa4, 0xa0, + 0xf2, 0x53, 0x55, 0xf0, 0x73, 0x0a, 0x8c, 0x8b, 0x05, 0xab, 0xa4, 0xde, 0xf9, 0x9f, 0xaa, 0x7a, + 0xdf, 0x89, 0xc1, 0x98, 0x50, 0xa6, 0x0e, 0xab, 0xdd, 0x2f, 0xc2, 0x64, 0xa3, 0x6e, 0xb5, 0xda, + 0x8e, 0x67, 0xd9, 0xb5, 0xe3, 0x6a, 0xd3, 0x7a, 0xd5, 0x6a, 0x66, 0x73, 0x78, 0xa0, 0xb8, 0x34, + 0xb8, 0x10, 0x5e, 0x5c, 0x0f, 0x70, 0x1b, 0x08, 0x96, 0x9f, 0x5a, 0x5f, 0x2d, 0x6f, 0x6e, 0x6f, + 0xed, 0x96, 0x2b, 0xa5, 0xbb, 0xd5, 0xbd, 0xca, 0xc7, 0x2a, 0x5b, 0x2f, 0x54, 0x0c, 0xad, 0x21, + 0x89, 0x7d, 0x88, 0xa9, 0xbe, 0x0d, 0x9a, 0xac, 0x94, 0xfe, 0x10, 0x84, 0xa9, 0xa5, 0x9d, 0xd2, + 0xa7, 0x60, 0xa2, 0xb2, 0x55, 0xdd, 0x59, 0x5f, 0x2d, 0x57, 0xcb, 0x6b, 0x6b, 0xe5, 0xd2, 0xee, + 0x0e, 0x59, 0xda, 0xf0, 0xa5, 0x77, 0xc5, 0xa4, 0xfe, 0xac, 0x0a, 0x53, 0x21, 0x9a, 0xe8, 0x05, + 0xfa, 0x52, 0x42, 0xde, 0x93, 0x9e, 0x1e, 0x46, 0xfb, 0x45, 0x54, 0x15, 0x6c, 0x9b, 0x1d, 0x8f, + 0xbe, 0xc3, 0x3c, 0x09, 0xc8, 0x4a, 0xb6, 0xd7, 0x38, 0x68, 0x58, 0x1d, 0xba, 0x12, 0x44, 0xde, + 0x54, 0x26, 0x82, 0x76, 0xb2, 0x18, 0xf4, 0x14, 0xe8, 0x6d, 0xc7, 0x6d, 0x78, 0x8d, 0x57, 0xad, + 0x6a, 0xc3, 0x66, 0xcb, 0x46, 0xe8, 0xcd, 0x25, 0x6e, 0x68, 0xac, 0x67, 0xdd, 0xf6, 0x7c, 0x69, + 0xdb, 0x3a, 0x34, 0x25, 0x69, 0x34, 0x80, 0xab, 0x86, 0xc6, 0x7a, 0x7c, 0xe9, 0xf3, 0x90, 0xa9, + 0x3b, 0x5d, 0x54, 0xce, 0x11, 0x39, 0x34, 0x5f, 0x28, 0x46, 0x9a, 0xb4, 0xf9, 0x22, 0xb4, 0x50, + 0x0f, 0xd6, 0xab, 0x32, 0x46, 0x9a, 0xb4, 0x11, 0x91, 0x27, 0x60, 0xc2, 0x3c, 0x3c, 0xec, 0x20, + 0x72, 0x46, 0x44, 0x5e, 0x3d, 0xc6, 0xfd, 0x66, 0x2c, 0x38, 0x73, 0x07, 0x92, 0xcc, 0x0e, 0x68, + 0x4a, 0x46, 0x96, 0xa8, 0xb6, 0xc9, 0xfb, 0x74, 0x6c, 0x3e, 0x65, 0x24, 0x6d, 0xd6, 0x79, 0x1e, + 0x32, 0x0d, 0xb7, 0x1a, 0x2c, 0xbf, 0xc7, 0xce, 0xc5, 0xe6, 0x93, 0x46, 0xba, 0xe1, 0xfa, 0x4b, + 0x97, 0xb9, 0x2f, 0xc7, 0x60, 0x5c, 0xdc, 0x3e, 0xd0, 0x57, 0x21, 0xd9, 0x74, 0x6a, 0x26, 0x0e, + 0x2d, 0xb2, 0x77, 0x35, 0x1f, 0xb1, 0xe3, 0xb0, 0xb8, 0x41, 0xe5, 0x0d, 0x1f, 0x39, 0xf3, 0xef, + 0x15, 0x48, 0xb2, 0x66, 0x7d, 0x1a, 0xe2, 0x6d, 0xd3, 0x3b, 0xc2, 0x74, 0x89, 0x62, 0x4c, 0x53, + 0x0c, 0x7c, 0x8d, 0xda, 0xdd, 0xb6, 0x69, 0xe3, 0x10, 0xa0, 0xed, 0xe8, 0x1a, 0xf9, 0xb5, 0x69, + 0x99, 0x75, 0xfc, 0x5e, 0xe3, 0xb4, 0x5a, 0x96, 0xed, 0xb9, 0xcc, 0xaf, 0xb4, 0xbd, 0x44, 0x9b, + 0xf5, 0x8f, 0xc0, 0xa4, 0xd7, 0x31, 0x1b, 0x4d, 0x41, 0x36, 0x8e, 0x65, 0x35, 0xd6, 0xe1, 0x0b, + 0xe7, 0xe1, 0x61, 0xc6, 0x5b, 0xb7, 0x3c, 0xb3, 0x76, 0x64, 0xd5, 0x03, 0xd0, 0x08, 0x5e, 0xbf, + 0x78, 0x88, 0x0a, 0xac, 0xd2, 0x7e, 0x86, 0xcd, 0xfd, 0x91, 0x02, 0x93, 0xec, 0x4d, 0xac, 0xee, + 0x1b, 0x6b, 0x13, 0xc0, 0xb4, 0x6d, 0xc7, 0xe3, 0xcd, 0xd5, 0x1b, 0xca, 0x3d, 0xb8, 0xc5, 0x82, + 0x0f, 0x32, 0x38, 0x82, 0x99, 0x16, 0x40, 0xd0, 0xd3, 0xd7, 0x6c, 0x73, 0x90, 0xa6, 0x7b, 0x43, + 0x78, 0x83, 0x91, 0xbc, 0xbb, 0x03, 0x69, 0x42, 0xaf, 0x6c, 0xfa, 0x69, 0x48, 0xec, 0x5b, 0x87, + 0x0d, 0x9b, 0xae, 0xf8, 0x92, 0x0b, 0xb6, 0xc2, 0x12, 0xf7, 0x57, 0x58, 0x8a, 0x2f, 0xc1, 0x54, + 0xcd, 0x69, 0xc9, 0xea, 0x16, 0x35, 0x69, 0xfd, 0xc0, 0x7d, 0x5e, 0xf9, 0x24, 0x04, 0x25, 0xe6, + 0x8f, 0x14, 0xe5, 0xd7, 0x63, 0xea, 0xed, 0xed, 0xe2, 0xef, 0xc4, 0x66, 0x6e, 0x13, 0xe8, 0x36, + 0x7b, 0x52, 0xc3, 0x3a, 0x68, 0x5a, 0x35, 0xa4, 0x3d, 0xfc, 0xd6, 0x47, 0xe0, 0xe9, 0xc3, 0x86, + 0x77, 0xd4, 0xdd, 0x5f, 0xac, 0x39, 0xad, 0x4b, 0x87, 0xce, 0xa1, 0x13, 0xec, 0xa9, 0xa2, 0x2b, + 0x7c, 0x81, 0x3f, 0xd1, 0x7d, 0xd5, 0x94, 0xdf, 0x3a, 0x13, 0xb9, 0x09, 0x9b, 0xaf, 0xc0, 0x14, + 0x15, 0xae, 0xe2, 0x8d, 0x1d, 0xf2, 0x7a, 0xa2, 0x0f, 0x5c, 0x1c, 0xcb, 0xfe, 0xee, 0xf7, 0xf0, + 0x74, 0x6d, 0x4c, 0x52, 0x28, 0xea, 0x23, 0x6f, 0x30, 0x79, 0x03, 0xce, 0x08, 0x7c, 0x24, 0x35, + 0xad, 0x4e, 0x04, 0xe3, 0x37, 0x29, 0xe3, 0x14, 0xc7, 0xb8, 0x43, 0xa1, 0xf9, 0x12, 0x8c, 0x9d, + 0x84, 0xeb, 0xdf, 0x50, 0xae, 0x8c, 0xc5, 0x93, 0xdc, 0x86, 0x09, 0x4c, 0x52, 0xeb, 0xba, 0x9e, + 0xd3, 0xc2, 0xe3, 0xde, 0x60, 0x9a, 0x7f, 0xfb, 0x3d, 0x92, 0x2b, 0xe3, 0x08, 0x56, 0xf2, 0x51, + 0xf9, 0x3c, 0xe0, 0xbd, 0xac, 0xba, 0x55, 0x6b, 0x46, 0x30, 0xdc, 0xa3, 0x8a, 0xf8, 0xf2, 0xf9, + 0x4f, 0xc0, 0x69, 0xf4, 0x19, 0x0f, 0x4b, 0xbc, 0x26, 0xd1, 0x2b, 0x69, 0xd9, 0x3f, 0xfa, 0x14, + 0x49, 0xc7, 0x29, 0x9f, 0x80, 0xd3, 0x89, 0xf3, 0xe2, 0xa1, 0xe5, 0x79, 0x56, 0xc7, 0xad, 0x9a, + 0xcd, 0x30, 0xf5, 0xb8, 0xa5, 0x88, 0xec, 0xaf, 0xfd, 0x40, 0xf4, 0xe2, 0x6d, 0x82, 0x2c, 0x34, + 0x9b, 0xf9, 0x3d, 0x78, 0x28, 0x24, 0x2a, 0x86, 0xe0, 0xfc, 0x2c, 0xe5, 0x3c, 0xdd, 0x13, 0x19, + 0x88, 0x76, 0x1b, 0x58, 0xbb, 0xef, 0xcb, 0x21, 0x38, 0xff, 0x3e, 0xe5, 0xd4, 0x29, 0x96, 0xb9, + 0x14, 0x31, 0xde, 0x81, 0xc9, 0x57, 0xad, 0xce, 0xbe, 0xe3, 0xd2, 0xe5, 0x9f, 0x21, 0xe8, 0x3e, + 0x47, 0xe9, 0x26, 0x28, 0x10, 0xaf, 0x07, 0x21, 0xae, 0x9b, 0x90, 0x3c, 0x30, 0x6b, 0xd6, 0x10, + 0x14, 0x9f, 0xa7, 0x14, 0xa3, 0x48, 0x1e, 0x41, 0x0b, 0x90, 0x39, 0x74, 0xe8, 0xcc, 0x14, 0x0d, + 0xff, 0x02, 0x85, 0xa7, 0x19, 0x86, 0x52, 0xb4, 0x9d, 0x76, 0xb7, 0x89, 0xa6, 0xad, 0x68, 0x8a, + 0x2f, 0x32, 0x0a, 0x86, 0xa1, 0x14, 0x27, 0x30, 0xeb, 0x5b, 0x8c, 0xc2, 0xe5, 0xec, 0xf9, 0x1c, + 0xa4, 0x1d, 0xbb, 0x79, 0xec, 0xd8, 0xc3, 0x28, 0xf1, 0x25, 0xca, 0x00, 0x14, 0x82, 0x08, 0x6e, + 0x41, 0x6a, 0x58, 0x47, 0xfc, 0xe6, 0x0f, 0x58, 0x7a, 0x30, 0x0f, 0xdc, 0x86, 0x09, 0x36, 0x40, + 0x35, 0x1c, 0x7b, 0x08, 0x8a, 0xdf, 0xa2, 0x14, 0xe3, 0x1c, 0x8c, 0x3e, 0x86, 0x67, 0xb9, 0xde, + 0xa1, 0x35, 0x0c, 0xc9, 0x97, 0xd9, 0x63, 0x50, 0x08, 0x35, 0xe5, 0xbe, 0x65, 0xd7, 0x8e, 0x86, + 0x63, 0xf8, 0x0a, 0x33, 0x25, 0xc3, 0x20, 0x8a, 0x12, 0x8c, 0xb5, 0xcc, 0x8e, 0x7b, 0x64, 0x36, + 0x87, 0x72, 0xc7, 0x6f, 0x53, 0x8e, 0x8c, 0x0f, 0xa2, 0x16, 0xe9, 0xda, 0x27, 0xa1, 0xf9, 0x1d, + 0x66, 0x11, 0x0e, 0x46, 0x53, 0xcf, 0xf5, 0xf0, 0x5a, 0xd9, 0x49, 0xd8, 0xfe, 0x01, 0x4b, 0x3d, + 0x82, 0xdd, 0xe4, 0x19, 0x6f, 0x41, 0xca, 0x6d, 0xbc, 0x31, 0x14, 0xcd, 0x3f, 0x64, 0x9e, 0xc6, + 0x00, 0x04, 0xbe, 0x0b, 0x0f, 0x87, 0x4e, 0x13, 0x43, 0x90, 0xfd, 0x23, 0x4a, 0x36, 0x1d, 0x32, + 0x55, 0xd0, 0x21, 0xe1, 0xa4, 0x94, 0xff, 0x98, 0x0d, 0x09, 0x96, 0xc4, 0xb5, 0x8d, 0xde, 0x15, + 0x5c, 0xf3, 0xe0, 0x64, 0x56, 0xfb, 0x27, 0xcc, 0x6a, 0x04, 0x2b, 0x58, 0x6d, 0x17, 0xa6, 0x29, + 0xe3, 0xc9, 0xfc, 0xfa, 0x55, 0x36, 0xb0, 0x12, 0xf4, 0x9e, 0xe8, 0xdd, 0x97, 0x60, 0xc6, 0x37, + 0x27, 0x2b, 0x4a, 0xdd, 0x6a, 0xcb, 0x6c, 0x0f, 0xc1, 0xfc, 0xbb, 0x94, 0x99, 0x8d, 0xf8, 0x7e, + 0x55, 0xeb, 0x6e, 0x9a, 0x6d, 0x44, 0xfe, 0x22, 0x64, 0x19, 0x79, 0xd7, 0xee, 0x58, 0x35, 0xe7, + 0xd0, 0x6e, 0xbc, 0x61, 0xd5, 0x87, 0xa0, 0xfe, 0x9a, 0xe4, 0xaa, 0x3d, 0x0e, 0x8e, 0x98, 0xd7, + 0x41, 0xf3, 0x6b, 0x95, 0x6a, 0xa3, 0xd5, 0x76, 0x3a, 0x5e, 0x04, 0xe3, 0x3f, 0x65, 0x9e, 0xf2, + 0x71, 0xeb, 0x18, 0x96, 0x2f, 0xc3, 0x38, 0xbe, 0x1c, 0x36, 0x24, 0x7f, 0x8f, 0x12, 0x8d, 0x05, + 0x28, 0x3a, 0x70, 0xd4, 0x9c, 0x56, 0xdb, 0xec, 0x0c, 0x33, 0xfe, 0xfd, 0x33, 0x36, 0x70, 0x50, + 0x08, 0x1d, 0x38, 0xbc, 0xe3, 0xb6, 0x85, 0x66, 0xfb, 0x21, 0x18, 0xbe, 0xce, 0x06, 0x0e, 0x86, + 0xa1, 0x14, 0xac, 0x60, 0x18, 0x82, 0xe2, 0x9f, 0x33, 0x0a, 0x86, 0x41, 0x14, 0x1f, 0x0f, 0x26, + 0xda, 0x8e, 0x75, 0xd8, 0x70, 0xbd, 0x0e, 0x29, 0x85, 0x07, 0x53, 0xfd, 0xfe, 0x0f, 0xc4, 0x22, + 0xcc, 0xe0, 0xa0, 0x68, 0x24, 0xa2, 0x4b, 0xa8, 0xf8, 0x4d, 0x29, 0x5a, 0xb1, 0x3f, 0x60, 0x23, + 0x11, 0x07, 0x43, 0xba, 0x71, 0x15, 0x22, 0x32, 0x7b, 0x0d, 0xbd, 0x1f, 0x0c, 0x41, 0xf7, 0x0d, + 0x49, 0xb9, 0x1d, 0x86, 0x45, 0x9c, 0x5c, 0xfd, 0xd3, 0xb5, 0x5f, 0xb1, 0x8e, 0x87, 0x8a, 0xce, + 0x7f, 0x21, 0xd5, 0x3f, 0x7b, 0x04, 0x49, 0xc6, 0x90, 0x09, 0xa9, 0x9e, 0xd2, 0xa3, 0x4e, 0x01, + 0x65, 0xff, 0xfc, 0x7b, 0xf4, 0x79, 0xc5, 0x72, 0x2a, 0xbf, 0x81, 0x82, 0x5c, 0x2c, 0x7a, 0xa2, + 0xc9, 0x3e, 0xf5, 0x9e, 0x1f, 0xe7, 0x42, 0xcd, 0x93, 0x5f, 0x83, 0x31, 0xa1, 0xe0, 0x89, 0xa6, + 0xfa, 0x0b, 0x94, 0x2a, 0xc3, 0xd7, 0x3b, 0xf9, 0xab, 0x10, 0x47, 0xc5, 0x4b, 0x34, 0xfc, 0x2f, + 0x52, 0x38, 0x16, 0xcf, 0x3f, 0x03, 0x49, 0x56, 0xb4, 0x44, 0x43, 0x7f, 0x99, 0x42, 0x7d, 0x08, + 0x82, 0xb3, 0x82, 0x25, 0x1a, 0xfe, 0x97, 0x18, 0x9c, 0x41, 0x10, 0x7c, 0x78, 0x13, 0xbe, 0xfd, + 0x57, 0xe2, 0x74, 0xd2, 0x61, 0xb6, 0xbb, 0x05, 0xa3, 0xb4, 0x52, 0x89, 0x46, 0xff, 0x0a, 0xbd, + 0x39, 0x43, 0xe4, 0xaf, 0x43, 0x62, 0x48, 0x83, 0xff, 0x35, 0x0a, 0x25, 0xf2, 0xf9, 0x12, 0xa4, + 0xb9, 0xea, 0x24, 0x1a, 0xfe, 0xd7, 0x29, 0x9c, 0x47, 0x21, 0xd5, 0x69, 0x75, 0x12, 0x4d, 0xf0, + 0x37, 0x98, 0xea, 0x14, 0x81, 0xcc, 0xc6, 0x0a, 0x93, 0x68, 0xf4, 0xdf, 0x64, 0x56, 0x67, 0x90, + 0xfc, 0x73, 0x90, 0xf2, 0x27, 0x9b, 0x68, 0xfc, 0xdf, 0xa2, 0xf8, 0x00, 0x83, 0x2c, 0xc0, 0x4d, + 0x76, 0xd1, 0x14, 0x7f, 0x9b, 0x59, 0x80, 0x43, 0xa1, 0x34, 0x92, 0x0b, 0x98, 0x68, 0xa6, 0x5f, + 0x65, 0x69, 0x24, 0xd5, 0x2f, 0xc8, 0x9b, 0x78, 0xcc, 0x8f, 0xa6, 0xf8, 0x3b, 0xcc, 0x9b, 0x58, + 0x1e, 0xa9, 0x21, 0x57, 0x04, 0xd1, 0x1c, 0x7f, 0x8f, 0xa9, 0x21, 0x15, 0x04, 0xf9, 0x6d, 0xd0, + 0x7b, 0xab, 0x81, 0x68, 0xbe, 0xcf, 0x50, 0xbe, 0xc9, 0x9e, 0x62, 0x20, 0xff, 0x02, 0x4c, 0x87, + 0x57, 0x02, 0xd1, 0xac, 0xbf, 0xf6, 0x9e, 0xf4, 0xee, 0xc6, 0x17, 0x02, 0xf9, 0xdd, 0x60, 0x4a, + 0xe1, 0xab, 0x80, 0x68, 0xda, 0xcf, 0xbe, 0x27, 0x0e, 0xdc, 0x7c, 0x11, 0x90, 0x2f, 0x00, 0x04, + 0x13, 0x70, 0x34, 0xd7, 0xe7, 0x28, 0x17, 0x07, 0x42, 0xa9, 0x41, 0xe7, 0xdf, 0x68, 0xfc, 0xe7, + 0x59, 0x6a, 0x50, 0x04, 0x4a, 0x0d, 0x36, 0xf5, 0x46, 0xa3, 0xbf, 0xc0, 0x52, 0x83, 0x41, 0x50, + 0x64, 0x73, 0xb3, 0x5b, 0x34, 0xc3, 0x97, 0x58, 0x64, 0x73, 0xa8, 0x7c, 0x05, 0x26, 0x7b, 0x26, + 0xc4, 0x68, 0xaa, 0x5f, 0xa7, 0x54, 0x9a, 0x3c, 0x1f, 0xf2, 0x93, 0x17, 0x9d, 0x0c, 0xa3, 0xd9, + 0x7e, 0x43, 0x9a, 0xbc, 0xe8, 0x5c, 0x98, 0xbf, 0x05, 0x49, 0xbb, 0xdb, 0x6c, 0xa2, 0xe4, 0xd1, + 0x07, 0x9f, 0xdc, 0xcb, 0xfe, 0xb7, 0x1f, 0x53, 0xeb, 0x30, 0x40, 0xfe, 0x2a, 0x24, 0xac, 0xd6, + 0xbe, 0x55, 0x8f, 0x42, 0xfe, 0xf7, 0x1f, 0xb3, 0x01, 0x13, 0x49, 0xe7, 0x9f, 0x03, 0x20, 0x4b, + 0x23, 0x78, 0xdb, 0x2f, 0x02, 0xfb, 0x3f, 0x7e, 0x4c, 0xcf, 0xd4, 0x04, 0x90, 0x80, 0x80, 0x9c, + 0xd0, 0x19, 0x4c, 0xf0, 0x03, 0x91, 0x00, 0x7b, 0xe4, 0x26, 0x8c, 0xbe, 0xec, 0x3a, 0xb6, 0x67, + 0x1e, 0x46, 0xa1, 0xff, 0x27, 0x45, 0x33, 0x79, 0x64, 0xb0, 0x96, 0xd3, 0xb1, 0x3c, 0xf3, 0xd0, + 0x8d, 0xc2, 0xfe, 0x2f, 0x8a, 0xf5, 0x01, 0x08, 0x5c, 0x33, 0x5d, 0x6f, 0x98, 0xe7, 0xfe, 0xdf, + 0x0c, 0xcc, 0x00, 0x48, 0x69, 0xf4, 0xf9, 0x15, 0xeb, 0x38, 0x0a, 0xfb, 0x43, 0xa6, 0x34, 0x95, + 0xcf, 0x3f, 0x03, 0x29, 0xf4, 0x91, 0x1c, 0x94, 0x8b, 0x00, 0xff, 0x1f, 0x0a, 0x0e, 0x10, 0xe8, + 0xce, 0xae, 0x57, 0xf7, 0x1a, 0xd1, 0xc6, 0xfe, 0x63, 0xea, 0x69, 0x26, 0x9f, 0x2f, 0x40, 0xda, + 0xf5, 0xea, 0xf5, 0x2e, 0xad, 0x4f, 0x23, 0xe0, 0xff, 0xf7, 0xc7, 0xfe, 0x92, 0x85, 0x8f, 0x41, + 0xde, 0x7e, 0xed, 0x15, 0xaf, 0xed, 0xe0, 0x6d, 0x8e, 0x28, 0x86, 0xf7, 0x28, 0x03, 0x07, 0x29, + 0x96, 0xc3, 0x97, 0x6f, 0xe1, 0xb6, 0x73, 0xdb, 0x21, 0x0b, 0xb7, 0x9f, 0xcc, 0x45, 0xaf, 0xc0, + 0xc2, 0x7f, 0x69, 0xc2, 0xf5, 0xbe, 0x62, 0x68, 0x2a, 0xbe, 0x54, 0x73, 0x5a, 0xfb, 0x8e, 0x7b, + 0x69, 0xdf, 0xf1, 0x8e, 0x2e, 0x79, 0x47, 0x16, 0x6a, 0xa3, 0x4b, 0xb6, 0x71, 0xf4, 0x79, 0xe6, + 0x64, 0xeb, 0xbc, 0x78, 0x17, 0xbf, 0xd2, 0x40, 0x8f, 0x56, 0xc1, 0x1b, 0x29, 0xfa, 0x59, 0x18, + 0xc1, 0x0f, 0x7b, 0x19, 0x6f, 0x56, 0x2a, 0xc5, 0xf8, 0xbd, 0x77, 0xe6, 0x4e, 0x19, 0xb4, 0xcd, + 0xef, 0x5d, 0xc6, 0x2b, 0xdd, 0x31, 0xa1, 0x77, 0xd9, 0xef, 0xbd, 0x42, 0x16, 0xbb, 0x85, 0xde, + 0x2b, 0x7e, 0xef, 0x0a, 0x5e, 0xf6, 0x56, 0x85, 0xde, 0x15, 0xbf, 0xf7, 0x2a, 0xde, 0xda, 0x19, + 0x13, 0x7a, 0xaf, 0xfa, 0xbd, 0xd7, 0xf0, 0x86, 0x4e, 0x5c, 0xe8, 0xbd, 0xe6, 0xf7, 0x5e, 0xc7, + 0x7b, 0x39, 0x93, 0x42, 0xef, 0x75, 0xbf, 0xf7, 0x06, 0xde, 0xc3, 0xd1, 0x85, 0xde, 0x1b, 0x7e, + 0xef, 0x4d, 0x7c, 0xf2, 0x6a, 0x54, 0xe8, 0xbd, 0xa9, 0xcf, 0xc2, 0x28, 0x79, 0xf2, 0x25, 0xbc, + 0xe1, 0x3f, 0x41, 0xbb, 0x59, 0x63, 0xd0, 0x7f, 0x19, 0x9f, 0xb2, 0x1a, 0x11, 0xfb, 0x2f, 0x07, + 0xfd, 0xcb, 0xf8, 0x0b, 0x1f, 0x9a, 0xd8, 0xbf, 0x1c, 0xf4, 0x5f, 0xc9, 0x8e, 0xe1, 0x93, 0x66, + 0x42, 0xff, 0x95, 0xa0, 0x7f, 0x25, 0x3b, 0x8e, 0x32, 0x46, 0xec, 0x5f, 0x09, 0xfa, 0xaf, 0x66, + 0x27, 0xce, 0x29, 0xf3, 0x19, 0xb1, 0xff, 0x6a, 0xee, 0x97, 0xb0, 0x7b, 0xed, 0xc0, 0xbd, 0xd3, + 0xa2, 0x7b, 0x7d, 0xc7, 0x4e, 0x8b, 0x8e, 0xf5, 0x5d, 0x3a, 0x2d, 0xba, 0xd4, 0x77, 0xe6, 0xb4, + 0xe8, 0x4c, 0xdf, 0x8d, 0xd3, 0xa2, 0x1b, 0x7d, 0x07, 0x4e, 0x8b, 0x0e, 0xf4, 0x5d, 0x37, 0x2d, + 0xba, 0xce, 0x77, 0xda, 0xb4, 0xe8, 0x34, 0xdf, 0x5d, 0xd3, 0xa2, 0xbb, 0x7c, 0x47, 0x65, 0x25, + 0x47, 0x05, 0x2e, 0xca, 0x4a, 0x2e, 0x0a, 0x9c, 0x93, 0x95, 0x9c, 0x13, 0xb8, 0x25, 0x2b, 0xb9, + 0x25, 0x70, 0x48, 0x56, 0x72, 0x48, 0xe0, 0x8a, 0xac, 0xe4, 0x8a, 0xc0, 0x09, 0x34, 0xc7, 0x0c, + 0xab, 0x1d, 0x92, 0x63, 0xea, 0xc0, 0x1c, 0x53, 0x07, 0xe6, 0x98, 0x3a, 0x30, 0xc7, 0xd4, 0x81, + 0x39, 0xa6, 0x0e, 0xcc, 0x31, 0x75, 0x60, 0x8e, 0xa9, 0x03, 0x73, 0x4c, 0x1d, 0x98, 0x63, 0xea, + 0xe0, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0x8d, 0xc8, 0x31, 0x35, 0x22, 0xc7, 0xd4, 0x88, 0x1c, 0x53, + 0x23, 0x72, 0x4c, 0xed, 0x9b, 0x63, 0x81, 0x7b, 0xa7, 0x45, 0xf7, 0x86, 0xe6, 0x98, 0xda, 0x27, + 0xc7, 0xd4, 0x3e, 0x39, 0xa6, 0xf6, 0xc9, 0x31, 0xb5, 0x4f, 0x8e, 0xa9, 0x7d, 0x72, 0x4c, 0xed, + 0x93, 0x63, 0x6a, 0x9f, 0x1c, 0x53, 0xfb, 0xe5, 0x98, 0xda, 0x37, 0xc7, 0xd4, 0xbe, 0x39, 0xa6, + 0xf6, 0xcd, 0x31, 0xb5, 0x6f, 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xe5, 0x73, 0xec, 0x5f, 0xaa, 0xa0, + 0x93, 0x1c, 0xdb, 0xc6, 0x47, 0xc6, 0xa8, 0x2b, 0x66, 0xa5, 0x4c, 0x1b, 0x41, 0xae, 0xd3, 0x02, + 0x97, 0xcc, 0x4a, 0xb9, 0x26, 0xf6, 0x2f, 0xfb, 0xfd, 0x2c, 0xdb, 0xc4, 0xfe, 0x2b, 0x7e, 0x3f, + 0xcb, 0x37, 0xb1, 0x7f, 0xc5, 0xef, 0x67, 0x19, 0x27, 0xf6, 0x5f, 0xf5, 0xfb, 0x59, 0xce, 0x89, + 0xfd, 0xd7, 0xfc, 0x7e, 0x96, 0x75, 0x62, 0xff, 0x75, 0xbf, 0x9f, 0xe5, 0x9d, 0xd8, 0x7f, 0xc3, + 0xef, 0x67, 0x99, 0x27, 0xf6, 0xdf, 0xd4, 0xcf, 0xc9, 0xb9, 0xc7, 0x04, 0x7c, 0xd7, 0x9e, 0x93, 0xb3, 0x4f, 0x92, 0xb8, 0x1c, 0x48, 0xb0, 0xfc, 0x93, 0x24, 0x96, 0x03, 0x09, 0x96, 0x81, 0x92, - 0xc4, 0x95, 0xdc, 0x67, 0xb0, 0xfb, 0x6c, 0xd9, 0x7d, 0x33, 0x92, 0xfb, 0x12, 0x9c, 0xeb, 0x66, - 0x24, 0xd7, 0x25, 0x38, 0xb7, 0xcd, 0x48, 0x6e, 0x4b, 0x70, 0x2e, 0x9b, 0x91, 0x5c, 0x96, 0xe0, - 0xdc, 0x35, 0x23, 0xb9, 0x2b, 0xc1, 0xb9, 0x6a, 0x46, 0x72, 0x55, 0x82, 0x73, 0xd3, 0x8c, 0xe4, - 0xa6, 0x04, 0xe7, 0xa2, 0x19, 0xc9, 0x45, 0x09, 0xce, 0x3d, 0x33, 0x92, 0x7b, 0x12, 0x9c, 0x6b, - 0xce, 0xca, 0xae, 0x49, 0xf0, 0x6e, 0x39, 0x2b, 0xbb, 0x25, 0xc1, 0xbb, 0xe4, 0xac, 0xec, 0x92, - 0x04, 0xef, 0x8e, 0xb3, 0xb2, 0x3b, 0x12, 0xbc, 0x2b, 0xfe, 0x24, 0xc1, 0x3a, 0xc2, 0x1d, 0xaf, - 0xd3, 0xad, 0x79, 0xef, 0xa9, 0x23, 0x5c, 0x12, 0xda, 0x87, 0xf4, 0xb2, 0xbe, 0x88, 0x1b, 0x56, - 0xbe, 0xe3, 0x94, 0x56, 0xb0, 0x25, 0xa1, 0xb1, 0xe0, 0x10, 0x76, 0x34, 0x62, 0xe5, 0x3d, 0xf5, - 0x86, 0x4b, 0x42, 0x9b, 0x11, 0xaf, 0xdf, 0x8d, 0x0f, 0xbc, 0x63, 0x7b, 0x2b, 0xc1, 0x3a, 0x36, - 0x6a, 0xfe, 0x93, 0x76, 0x6c, 0x0b, 0xf1, 0x26, 0xf7, 0x8d, 0xbd, 0x10, 0x6f, 0xec, 0xd0, 0xaa, - 0x33, 0x68, 0x07, 0xb7, 0x10, 0x6f, 0x5a, 0xdf, 0xa8, 0xef, 0x6f, 0xbf, 0x45, 0x23, 0xd8, 0xb0, - 0xda, 0x11, 0x11, 0x7c, 0xd2, 0x7e, 0x6b, 0x49, 0x28, 0x25, 0x27, 0x8d, 0x60, 0xf5, 0xc4, 0x11, - 0x7c, 0xd2, 0xce, 0x6b, 0x49, 0x28, 0x2f, 0x27, 0x8e, 0xe0, 0x0f, 0xa0, 0x1f, 0xa2, 0x11, 0x1c, - 0x98, 0xff, 0xa4, 0xfd, 0xd0, 0x42, 0xbc, 0xc9, 0x23, 0x23, 0x58, 0x3d, 0x41, 0x04, 0x0f, 0xd2, - 0x1f, 0x2d, 0xc4, 0x9b, 0x36, 0x3a, 0x82, 0xdf, 0x73, 0x37, 0xf3, 0x25, 0x05, 0x26, 0x2b, 0x8d, - 0x7a, 0xb9, 0xb5, 0x6f, 0xd5, 0xeb, 0x56, 0x9d, 0xda, 0x71, 0x49, 0xa8, 0x04, 0x3d, 0x5c, 0xfd, - 0xed, 0xb7, 0xe7, 0x02, 0x0b, 0x5f, 0x85, 0x14, 0xb1, 0xe9, 0xd2, 0x52, 0xf6, 0x9e, 0x12, 0x53, - 0xe1, 0x7c, 0x51, 0xfd, 0x3c, 0x83, 0x5d, 0x5e, 0xca, 0xfe, 0x27, 0x85, 0xab, 0x72, 0xfe, 0x70, - 0xee, 0x97, 0xb1, 0x86, 0xf6, 0x7b, 0xd6, 0xf0, 0xd2, 0x40, 0x1a, 0x72, 0xba, 0x3d, 0x12, 0xd2, - 0x8d, 0xd3, 0xaa, 0x0b, 0x13, 0x95, 0x46, 0xbd, 0x82, 0x7f, 0x11, 0x60, 0x10, 0x95, 0x88, 0x8c, - 0x54, 0x0f, 0x96, 0x84, 0xb0, 0xe4, 0x11, 0x7e, 0x48, 0x8b, 0x35, 0x22, 0xd7, 0x40, 0xa7, 0xb5, - 0x85, 0xd3, 0x2e, 0xf4, 0x3a, 0x6d, 0x50, 0xd9, 0xfd, 0x13, 0x2e, 0xf4, 0x3a, 0x61, 0x90, 0x43, - 0xfe, 0xa9, 0x5e, 0x63, 0x8b, 0x33, 0x79, 0x71, 0x4b, 0x3f, 0x0b, 0x89, 0x75, 0xf2, 0x5e, 0x79, - 0xa6, 0x98, 0x41, 0x4a, 0x7d, 0xe7, 0xed, 0xb9, 0xe4, 0x5e, 0xb7, 0x51, 0x37, 0x12, 0xeb, 0x75, - 0xfd, 0x0e, 0x0c, 0x7d, 0x92, 0x7e, 0x2f, 0x15, 0x09, 0xac, 0x50, 0x81, 0x8f, 0xc6, 0x3c, 0x62, - 0xc2, 0xd4, 0x8b, 0x7b, 0x0d, 0xdb, 0xbb, 0xbc, 0x7c, 0xc3, 0x20, 0x14, 0xb9, 0x3f, 0x07, 0x40, - 0xce, 0xb9, 0x6a, 0xba, 0x47, 0x7a, 0x85, 0x31, 0x93, 0x53, 0xdf, 0xf8, 0xce, 0xdb, 0x73, 0x2b, - 0x83, 0xb0, 0x3e, 0x55, 0x37, 0xdd, 0xa3, 0xa7, 0xbc, 0xe3, 0xb6, 0xb5, 0x58, 0x3c, 0xf6, 0x2c, - 0x97, 0xb1, 0xb7, 0xd9, 0xaa, 0x47, 0xaf, 0x2b, 0xcb, 0x5d, 0x57, 0x4a, 0xb8, 0xa6, 0x35, 0xf1, - 0x9a, 0x96, 0x1e, 0xf4, 0x7a, 0x5e, 0x63, 0x8b, 0x84, 0x64, 0x49, 0x35, 0xce, 0x92, 0xea, 0x7b, - 0xb5, 0x64, 0x9b, 0xd5, 0x47, 0xe9, 0x5a, 0xd5, 0x7e, 0xd7, 0xaa, 0xbe, 0x97, 0x6b, 0xfd, 0xff, - 0x24, 0x5b, 0xfd, 0x7c, 0xda, 0xb3, 0xc9, 0x3b, 0xad, 0x7f, 0xb6, 0x9e, 0x05, 0xbd, 0xaf, 0x5d, - 0x40, 0x3e, 0x79, 0xef, 0xcd, 0x39, 0x25, 0xf7, 0xa5, 0x04, 0xbb, 0x72, 0x92, 0x48, 0x0f, 0x76, - 0xe5, 0x7f, 0x56, 0x7a, 0xaa, 0x0f, 0xc2, 0x42, 0x5f, 0x54, 0x60, 0x3a, 0x54, 0xc9, 0x89, 0x99, - 0xde, 0xdf, 0x72, 0x6e, 0x9f, 0xb4, 0x9c, 0x53, 0x05, 0x7f, 0x57, 0x81, 0xd3, 0x52, 0x79, 0x25, - 0xea, 0x5d, 0x92, 0xd4, 0x7b, 0x28, 0x7c, 0x26, 0x2c, 0xc8, 0x69, 0xc7, 0xbb, 0x57, 0x02, 0x70, - 0xcc, 0xbe, 0xdf, 0x57, 0x24, 0xbf, 0x9f, 0xf5, 0x01, 0x11, 0xe6, 0x62, 0x11, 0x40, 0xd5, 0x76, - 0x20, 0xb9, 0xdb, 0xb1, 0x2c, 0x7d, 0x16, 0x12, 0x5b, 0x1d, 0xaa, 0xe1, 0x38, 0xc1, 0x6f, 0x75, - 0x8a, 0x1d, 0xd3, 0xae, 0x1d, 0x19, 0x89, 0xad, 0x8e, 0x7e, 0x1e, 0xd4, 0x02, 0xfd, 0x4e, 0x7c, - 0x7a, 0x79, 0x82, 0x08, 0x14, 0xec, 0x3a, 0x95, 0x40, 0x73, 0xfa, 0x2c, 0x24, 0x37, 0x2c, 0xf3, - 0x80, 0x2a, 0x01, 0x44, 0x06, 0x8d, 0x18, 0x78, 0x9c, 0x9e, 0xf0, 0x05, 0x48, 0x31, 0x62, 0xfd, - 0x02, 0x42, 0x1c, 0x78, 0xf4, 0xb4, 0x14, 0x81, 0xd4, 0xa1, 0x2b, 0x17, 0x9e, 0xd5, 0x2f, 0xc2, - 0x90, 0xd1, 0x38, 0x3c, 0xf2, 0xe8, 0xc9, 0xc3, 0x62, 0x64, 0x3a, 0x77, 0x17, 0x46, 0x7d, 0x8d, - 0xde, 0x67, 0xea, 0x55, 0x72, 0x69, 0xfa, 0x0c, 0xbf, 0x9e, 0xb0, 0xe7, 0x96, 0x64, 0x48, 0x3f, - 0x07, 0xa9, 0x1d, 0xaf, 0x13, 0x14, 0x7d, 0xd6, 0x91, 0xfa, 0xa3, 0xb9, 0x5f, 0x50, 0x20, 0xb5, - 0x6a, 0x59, 0x6d, 0x6c, 0xf0, 0xc7, 0x21, 0xb9, 0xea, 0xbc, 0x6a, 0x53, 0x05, 0x27, 0xa9, 0x45, - 0xd1, 0x34, 0xb5, 0x29, 0x9e, 0xd6, 0x1f, 0xe7, 0xed, 0x3e, 0xe5, 0xdb, 0x9d, 0x93, 0xc3, 0xb6, - 0xcf, 0x09, 0xb6, 0xa7, 0x0e, 0x44, 0x42, 0x21, 0xfb, 0x5f, 0x87, 0x34, 0x77, 0x16, 0x7d, 0x9e, - 0xaa, 0x91, 0x90, 0x81, 0xbc, 0xad, 0x90, 0x44, 0xce, 0x82, 0x31, 0xe1, 0xc4, 0x08, 0xca, 0x99, - 0xb8, 0x07, 0x14, 0x9b, 0x79, 0x41, 0x34, 0x73, 0xb4, 0x28, 0x35, 0xf5, 0x12, 0xb1, 0x11, 0x36, - 0xf7, 0x05, 0x12, 0x9c, 0xbd, 0x9d, 0x88, 0x3e, 0xe7, 0x86, 0x40, 0xad, 0x34, 0x9a, 0xb9, 0xa7, - 0x01, 0x48, 0xca, 0x97, 0xed, 0x6e, 0x4b, 0xca, 0xba, 0x71, 0x66, 0xe0, 0xdd, 0x23, 0x6b, 0xd7, - 0x72, 0xb1, 0x88, 0xd8, 0x4f, 0xa1, 0x02, 0x03, 0x24, 0xc5, 0x30, 0xfe, 0xc9, 0x58, 0x7c, 0x64, - 0x27, 0x86, 0x44, 0xb3, 0x44, 0xf4, 0xae, 0xe5, 0x15, 0x6c, 0xc7, 0x3b, 0xb2, 0x3a, 0x12, 0x62, - 0x59, 0xbf, 0x22, 0x24, 0xec, 0xf8, 0xf2, 0x23, 0x3e, 0xa2, 0x27, 0xe8, 0x4a, 0xee, 0x6b, 0x58, - 0x41, 0xd4, 0x0a, 0x84, 0x2e, 0x50, 0x1d, 0xe0, 0x02, 0xf5, 0x6b, 0x42, 0xff, 0xd6, 0x47, 0x4d, - 0xe9, 0xd6, 0xf2, 0xa6, 0x70, 0x9f, 0xd3, 0x5f, 0x59, 0xf1, 0x1e, 0x93, 0xd9, 0x94, 0xa9, 0xfc, - 0x64, 0xac, 0xca, 0x3d, 0xba, 0xdb, 0x93, 0xda, 0x54, 0x1d, 0xd4, 0xa6, 0xdf, 0xf4, 0x3b, 0x0e, - 0xf2, 0xc3, 0x23, 0xf8, 0x27, 0x7b, 0xf4, 0x8f, 0xc6, 0xfa, 0x3e, 0xaf, 0x94, 0x7c, 0x55, 0x57, - 0x06, 0x75, 0x7f, 0x3e, 0x51, 0x2c, 0xfa, 0xea, 0x5e, 0x3f, 0x41, 0x08, 0xe4, 0x13, 0xa5, 0x92, - 0x5f, 0xb6, 0x53, 0x9f, 0x79, 0x73, 0x4e, 0xf9, 0xea, 0x9b, 0x73, 0xa7, 0x72, 0xbf, 0xa9, 0xc0, - 0x24, 0x95, 0xe4, 0x02, 0xf7, 0x29, 0x49, 0xf9, 0x33, 0xac, 0x66, 0x44, 0x59, 0xe0, 0xa7, 0x16, - 0xbc, 0xdf, 0x52, 0x20, 0x1b, 0xd2, 0x95, 0xd9, 0x7b, 0x69, 0x20, 0x95, 0xf3, 0x4a, 0xf9, 0x67, - 0x6f, 0xf3, 0xbb, 0x30, 0xb4, 0xdb, 0x68, 0x59, 0x1d, 0xb4, 0x12, 0xa0, 0x0f, 0x44, 0x65, 0xb6, - 0x99, 0x43, 0x86, 0xd8, 0x1c, 0x51, 0x4e, 0x98, 0x5b, 0xd6, 0xb3, 0x90, 0x5c, 0x35, 0x3d, 0x13, - 0x6b, 0x90, 0xf1, 0xeb, 0xab, 0xe9, 0x99, 0xb9, 0x2b, 0x90, 0xd9, 0x3c, 0xc6, 0x2f, 0x22, 0xd5, - 0xf1, 0x3b, 0x28, 0x62, 0xf7, 0xc7, 0xfa, 0xd5, 0xcb, 0x0b, 0x43, 0xa9, 0xba, 0x76, 0x4f, 0xc9, - 0x27, 0xb1, 0x3e, 0xaf, 0xc0, 0xf8, 0x16, 0x52, 0x1b, 0xe3, 0x30, 0xec, 0x1c, 0x28, 0x9b, 0x62, - 0x23, 0xc4, 0xb3, 0x1a, 0xca, 0xa6, 0xd4, 0x3e, 0xaa, 0xbe, 0x79, 0xa4, 0xb6, 0x4d, 0xf5, 0xdb, - 0xb6, 0x85, 0x64, 0x6a, 0x5c, 0x9b, 0x5c, 0x48, 0xa6, 0x40, 0x1b, 0xa3, 0xe7, 0xfd, 0x0f, 0x2a, - 0x68, 0xa4, 0xd5, 0x59, 0xb5, 0x0e, 0x1a, 0x76, 0xc3, 0x0b, 0xf7, 0xab, 0xbe, 0xc6, 0xfa, 0xb3, - 0x30, 0x8a, 0x4c, 0xba, 0x46, 0x7f, 0xb9, 0x0f, 0x99, 0xfe, 0x3c, 0x6d, 0x51, 0x24, 0x0a, 0x3a, - 0x80, 0x43, 0x27, 0xc0, 0xe8, 0x6b, 0xa0, 0x56, 0x2a, 0x9b, 0x74, 0x71, 0x5b, 0xe9, 0x0b, 0xa5, - 0x2f, 0xfb, 0xd0, 0x23, 0x3a, 0xe6, 0x1e, 0x1a, 0x88, 0x40, 0x5f, 0x81, 0x44, 0x65, 0x93, 0x36, - 0xbc, 0x17, 0x06, 0xa1, 0x31, 0x12, 0x95, 0xcd, 0x99, 0x7f, 0xa3, 0xc0, 0x98, 0x30, 0xaa, 0xe7, - 0x20, 0x43, 0x06, 0xb8, 0xcb, 0x1d, 0x36, 0x84, 0x31, 0xa6, 0x73, 0xe2, 0x3d, 0xea, 0x3c, 0x53, - 0x80, 0x09, 0x69, 0x5c, 0x5f, 0x04, 0x9d, 0x1f, 0xa2, 0x4a, 0x90, 0x5f, 0x0d, 0x8b, 0x98, 0xc9, - 0x3d, 0x0a, 0x10, 0xd8, 0xd5, 0xff, 0xb1, 0xab, 0x4a, 0x79, 0x67, 0xb7, 0xbc, 0xaa, 0x29, 0xb9, - 0x6f, 0x28, 0x90, 0xa6, 0x6d, 0x6b, 0xcd, 0x69, 0x5b, 0x7a, 0x11, 0x94, 0x02, 0x8d, 0xa0, 0x07, - 0xd3, 0x5b, 0x29, 0xe8, 0x97, 0x40, 0x29, 0x0e, 0xee, 0x6a, 0xa5, 0xa8, 0x2f, 0x83, 0x52, 0xa2, - 0x0e, 0x1e, 0xcc, 0x33, 0x4a, 0x29, 0xf7, 0xc7, 0x2a, 0x4c, 0xf1, 0x6d, 0x34, 0xab, 0x27, 0xe7, - 0xc5, 0xfb, 0xa6, 0xfc, 0xe8, 0xe5, 0xe5, 0x2b, 0x2b, 0x8b, 0xe8, 0x1f, 0x3f, 0x24, 0x73, 0xe2, - 0x2d, 0x54, 0x1e, 0x7c, 0x91, 0xcb, 0xbd, 0xde, 0x13, 0xc9, 0x27, 0x39, 0x86, 0xd0, 0x7b, 0x22, - 0xc2, 0x6c, 0xe8, 0x3d, 0x11, 0x61, 0x36, 0xf4, 0x9e, 0x88, 0x30, 0x1b, 0xda, 0x0b, 0x10, 0x66, - 0x43, 0xef, 0x89, 0x08, 0xb3, 0xa1, 0xf7, 0x44, 0x84, 0xd9, 0xf0, 0x7b, 0x22, 0x74, 0xba, 0xe7, - 0x7b, 0x22, 0xe2, 0x7c, 0xf8, 0x3d, 0x11, 0x71, 0x3e, 0xfc, 0x9e, 0x48, 0x3e, 0xe9, 0x75, 0xba, - 0x56, 0xef, 0x5d, 0x07, 0x11, 0xdf, 0xef, 0x26, 0x30, 0xa8, 0xc0, 0x5b, 0x30, 0x41, 0x1e, 0x48, - 0x94, 0x1c, 0xdb, 0x33, 0x1b, 0xb6, 0xd5, 0xd1, 0x3f, 0x06, 0x19, 0x32, 0x44, 0x6e, 0x73, 0xa2, - 0x6e, 0x03, 0xc9, 0x3c, 0xad, 0xb7, 0x82, 0x74, 0xee, 0x4f, 0x92, 0x30, 0x4d, 0x06, 0x2a, 0x66, - 0xcb, 0x12, 0xde, 0x32, 0xba, 0x28, 0xed, 0x29, 0x8d, 0x23, 0xf8, 0xfd, 0xb7, 0xe7, 0xc8, 0x68, - 0xc1, 0x8f, 0xa6, 0x8b, 0xd2, 0xee, 0x92, 0x28, 0x17, 0x2c, 0x40, 0x17, 0xa5, 0x37, 0x8f, 0x44, - 0x39, 0x7f, 0xbd, 0xf1, 0xe5, 0xd8, 0x3b, 0x48, 0xa2, 0xdc, 0xaa, 0x1f, 0x65, 0x17, 0xa5, 0xb7, - 0x91, 0x44, 0xb9, 0xb2, 0x1f, 0x6f, 0x17, 0xa5, 0xbd, 0x27, 0x51, 0x6e, 0xcd, 0x8f, 0xbc, 0x8b, - 0xd2, 0x2e, 0x94, 0x28, 0x77, 0xdb, 0x8f, 0xc1, 0x8b, 0xd2, 0xbb, 0x4a, 0xa2, 0xdc, 0x73, 0x7e, - 0x34, 0x5e, 0x94, 0xde, 0x5a, 0x12, 0xe5, 0xd6, 0xfd, 0xb8, 0x9c, 0x97, 0xdf, 0x5f, 0x12, 0x05, - 0xef, 0x04, 0x11, 0x3a, 0x2f, 0xbf, 0xc9, 0x24, 0x4a, 0x7e, 0x3c, 0x88, 0xd5, 0x79, 0xf9, 0x9d, - 0x26, 0x51, 0x72, 0x23, 0x88, 0xda, 0x79, 0x79, 0xaf, 0x4c, 0x94, 0xdc, 0x0c, 0xe2, 0x77, 0x5e, - 0xde, 0x35, 0x13, 0x25, 0x2b, 0x41, 0x24, 0xcf, 0xcb, 0xfb, 0x67, 0xa2, 0xe4, 0x56, 0xf0, 0x10, - 0xfd, 0x0f, 0xa4, 0xf0, 0xe3, 0xde, 0x82, 0xca, 0x49, 0xe1, 0x07, 0x11, 0xa1, 0x27, 0x15, 0x32, - 0x4e, 0x26, 0x08, 0xbb, 0x9c, 0x14, 0x76, 0x10, 0x11, 0x72, 0x39, 0x29, 0xe4, 0x20, 0x22, 0xdc, - 0x72, 0x52, 0xb8, 0x41, 0x44, 0xa8, 0xe5, 0xa4, 0x50, 0x83, 0x88, 0x30, 0xcb, 0x49, 0x61, 0x06, - 0x11, 0x21, 0x96, 0x93, 0x42, 0x0c, 0x22, 0xc2, 0x2b, 0x27, 0x85, 0x17, 0x44, 0x84, 0xd6, 0x05, - 0x39, 0xb4, 0x20, 0x2a, 0xac, 0x2e, 0xc8, 0x61, 0x05, 0x51, 0x21, 0xf5, 0x98, 0x1c, 0x52, 0xa3, - 0xf7, 0xdf, 0x9e, 0x1b, 0x42, 0x43, 0x5c, 0x34, 0x5d, 0x90, 0xa3, 0x09, 0xa2, 0x22, 0xe9, 0x82, - 0x1c, 0x49, 0x10, 0x15, 0x45, 0x17, 0xe4, 0x28, 0x82, 0xa8, 0x08, 0x7a, 0x4b, 0x8e, 0xa0, 0xe0, - 0x1d, 0x9f, 0x9c, 0xb4, 0xa5, 0x18, 0x17, 0x41, 0xea, 0x00, 0x11, 0xa4, 0x0e, 0x10, 0x41, 0xea, - 0x00, 0x11, 0xa4, 0x0e, 0x10, 0x41, 0xea, 0x00, 0x11, 0xa4, 0x0e, 0x10, 0x41, 0xea, 0x00, 0x11, - 0xa4, 0x0e, 0x12, 0x41, 0xea, 0x40, 0x11, 0xa4, 0xf6, 0x8a, 0xa0, 0x0b, 0xf2, 0x1b, 0x0f, 0x10, - 0x55, 0x90, 0x2e, 0xc8, 0x5b, 0x9f, 0xf1, 0x21, 0xa4, 0x0e, 0x14, 0x42, 0x6a, 0xaf, 0x10, 0xfa, - 0x03, 0x15, 0xa6, 0x84, 0x10, 0xa2, 0xfb, 0x43, 0xef, 0x57, 0x05, 0xba, 0x36, 0xc0, 0x0b, 0x16, - 0x51, 0x31, 0x75, 0x6d, 0x80, 0x4d, 0xea, 0x7e, 0x71, 0x16, 0xae, 0x42, 0xe5, 0x01, 0xaa, 0xd0, - 0x9a, 0x1f, 0x43, 0xd7, 0x06, 0x78, 0xf1, 0x22, 0x1c, 0x7b, 0x37, 0xfa, 0x15, 0x81, 0xe7, 0x06, - 0x2a, 0x02, 0xeb, 0x03, 0x15, 0x81, 0x3b, 0x81, 0x07, 0x7f, 0x31, 0x01, 0xa7, 0x03, 0x0f, 0x92, - 0x4f, 0xf8, 0x97, 0xb5, 0x72, 0xdc, 0x16, 0x95, 0xce, 0xb6, 0x6d, 0x38, 0x37, 0x26, 0xd6, 0xeb, - 0xfa, 0xb6, 0xb8, 0x59, 0x95, 0x3f, 0xe9, 0x06, 0x0e, 0xe7, 0x71, 0xfa, 0x30, 0xf4, 0x02, 0xa8, - 0xeb, 0x75, 0x17, 0x57, 0x8b, 0xa8, 0xd3, 0x96, 0x0c, 0x34, 0xad, 0x1b, 0x30, 0x8c, 0xc5, 0x5d, - 0xec, 0xde, 0xf7, 0x72, 0xe2, 0x55, 0x83, 0x32, 0xe5, 0xde, 0x52, 0xe0, 0x9c, 0x10, 0xca, 0xef, - 0xcf, 0x96, 0xc1, 0xad, 0x81, 0xb6, 0x0c, 0x84, 0x04, 0x09, 0xb6, 0x0f, 0x9e, 0x08, 0xef, 0x54, - 0xf3, 0x59, 0x22, 0x6f, 0x25, 0xfc, 0x25, 0x18, 0x0f, 0xae, 0x00, 0xdf, 0xb3, 0x5d, 0x8d, 0x7f, - 0x9a, 0x19, 0x95, 0x9a, 0x57, 0xa5, 0xa7, 0x68, 0x7d, 0x61, 0x7e, 0xb6, 0xe6, 0xf2, 0x30, 0x51, - 0x11, 0xbf, 0x12, 0x15, 0xf7, 0x30, 0x22, 0x85, 0x5a, 0xf3, 0x7b, 0x5f, 0x9e, 0x3b, 0x95, 0xfb, - 0x28, 0x64, 0xf8, 0x6f, 0x3d, 0x49, 0xc0, 0x51, 0x06, 0xcc, 0x27, 0xbf, 0x8d, 0xa4, 0xff, 0x81, - 0x02, 0x67, 0x78, 0xf1, 0xe7, 0x1b, 0xde, 0xd1, 0xba, 0x8d, 0x7a, 0xfa, 0xa7, 0x21, 0x65, 0x51, - 0xc7, 0xd1, 0x1f, 0xc9, 0xa1, 0xf7, 0x91, 0x91, 0xe2, 0x8b, 0xf8, 0x5f, 0xc3, 0x87, 0x48, 0xcf, - 0x38, 0xd8, 0x69, 0x97, 0x67, 0x1e, 0x87, 0x21, 0xc2, 0x2f, 0xea, 0x35, 0x26, 0xe9, 0xf5, 0xeb, - 0x11, 0x7a, 0xe1, 0x38, 0xd2, 0xef, 0x08, 0x7a, 0x71, 0xb7, 0xab, 0x91, 0xe2, 0x8b, 0x2c, 0xf8, - 0x8a, 0x29, 0xd4, 0xff, 0xe1, 0x88, 0x8a, 0x57, 0x72, 0x1e, 0x52, 0x65, 0x59, 0x26, 0x5a, 0xcf, - 0x55, 0x48, 0x56, 0x9c, 0x3a, 0xfe, 0xf9, 0x1e, 0xfc, 0x7b, 0xd5, 0xd4, 0xc8, 0xf4, 0xc7, 0xab, - 0x2f, 0x42, 0xaa, 0x74, 0xd4, 0x68, 0xd6, 0x3b, 0x96, 0x4d, 0xf7, 0xec, 0xe9, 0x23, 0x74, 0x84, - 0x31, 0xfc, 0xb9, 0x5c, 0x09, 0x26, 0x2b, 0x8e, 0x5d, 0x3c, 0xf6, 0xf8, 0xba, 0xb1, 0x28, 0xa5, - 0x08, 0xdd, 0xf3, 0xc1, 0xdf, 0x12, 0x41, 0x02, 0xc5, 0xa1, 0xef, 0xbc, 0x3d, 0xa7, 0xec, 0xfa, - 0xcf, 0xcf, 0x37, 0xe1, 0x21, 0x9a, 0x3e, 0x21, 0xaa, 0xe5, 0x38, 0xaa, 0x51, 0xba, 0x4f, 0xcd, - 0xd1, 0xad, 0x23, 0x3a, 0x3b, 0x92, 0xee, 0xc1, 0x34, 0x43, 0x4d, 0x51, 0x5f, 0xcd, 0xd4, 0x13, - 0x69, 0x16, 0x49, 0xb7, 0x18, 0x47, 0x27, 0x69, 0xf6, 0x18, 0x8c, 0xfa, 0x73, 0x5c, 0x34, 0xf0, - 0x99, 0xb2, 0xbc, 0x90, 0x83, 0x34, 0x97, 0xb0, 0xfa, 0x10, 0x28, 0x05, 0xed, 0x14, 0xfa, 0xaf, - 0xa8, 0x29, 0xe8, 0xbf, 0x92, 0x96, 0x58, 0x78, 0x1c, 0x26, 0xa4, 0xe7, 0x97, 0x68, 0x66, 0x55, - 0x03, 0xf4, 0x5f, 0x59, 0x4b, 0xcf, 0x24, 0x3f, 0xf3, 0x6b, 0xb3, 0xa7, 0x16, 0x6e, 0x81, 0x1e, - 0x7e, 0xd2, 0xa9, 0x0f, 0x43, 0xa2, 0x80, 0x28, 0x1f, 0x82, 0x44, 0xb1, 0xa8, 0x29, 0x33, 0x13, - 0x7f, 0xfd, 0x0b, 0xe7, 0xd2, 0x45, 0xfc, 0x95, 0xee, 0xbb, 0x96, 0x57, 0x2c, 0x52, 0xf0, 0x33, - 0x70, 0x26, 0xf2, 0x49, 0x29, 0xc2, 0x97, 0x4a, 0x04, 0xbf, 0xba, 0x1a, 0xc2, 0xaf, 0xae, 0x62, - 0xbc, 0x92, 0x67, 0x3b, 0xce, 0x05, 0x3d, 0xe2, 0xb9, 0x64, 0xb6, 0xce, 0xed, 0x70, 0x17, 0xf2, - 0xcf, 0x50, 0xd9, 0x62, 0xa4, 0xac, 0x15, 0xb3, 0x63, 0x5d, 0xcc, 0x97, 0x28, 0xbe, 0x14, 0x89, - 0x3f, 0x90, 0xb6, 0x55, 0xc5, 0x15, 0x82, 0x92, 0x94, 0x7c, 0x85, 0x57, 0x23, 0x49, 0x8e, 0xb8, - 0x97, 0xdd, 0x57, 0x7d, 0x85, 0xcb, 0x91, 0xb2, 0x8d, 0x98, 0x97, 0xbe, 0xca, 0xf9, 0x4b, 0x74, - 0x91, 0x2f, 0x5c, 0xd6, 0xcf, 0xb0, 0x1c, 0x15, 0x2a, 0x30, 0x35, 0x10, 0x93, 0xca, 0x97, 0x28, - 0xa0, 0xd8, 0x13, 0xd0, 0xdb, 0x4a, 0x0c, 0x99, 0x7f, 0x8e, 0x92, 0x94, 0x7a, 0x92, 0xc4, 0x98, - 0x8a, 0xc1, 0x8b, 0xbb, 0xf7, 0xde, 0x99, 0x3d, 0xf5, 0xed, 0x77, 0x66, 0x4f, 0xfd, 0x97, 0x77, - 0x66, 0x4f, 0x7d, 0xf7, 0x9d, 0x59, 0xe5, 0x07, 0xef, 0xcc, 0x2a, 0x3f, 0x7a, 0x67, 0x56, 0xf9, - 0xf1, 0x3b, 0xb3, 0xca, 0x1b, 0xf7, 0x67, 0x95, 0xaf, 0xde, 0x9f, 0x55, 0xbe, 0x76, 0x7f, 0x56, - 0xf9, 0xbd, 0xfb, 0xb3, 0xca, 0x5b, 0xf7, 0x67, 0x95, 0x7b, 0xf7, 0x67, 0x95, 0x6f, 0xdf, 0x9f, - 0x55, 0xbe, 0x7b, 0x7f, 0x56, 0xf9, 0xc1, 0xfd, 0xd9, 0x53, 0x3f, 0xba, 0x3f, 0xab, 0xfc, 0xf8, - 0xfe, 0xec, 0xa9, 0x37, 0xbe, 0x37, 0x7b, 0xea, 0xcd, 0xef, 0xcd, 0x9e, 0xfa, 0xea, 0xf7, 0x66, - 0x15, 0xf8, 0xee, 0x0a, 0x3c, 0x22, 0x7d, 0x93, 0x0c, 0x77, 0x03, 0x57, 0xd8, 0xcf, 0x7f, 0xf9, - 0x03, 0x27, 0xfc, 0x42, 0xd9, 0xcc, 0x83, 0x7e, 0x7d, 0x2d, 0xf7, 0x6f, 0x87, 0x60, 0x84, 0x3d, - 0x06, 0x8e, 0xfa, 0x2d, 0xf3, 0xab, 0x90, 0x3a, 0x6a, 0x34, 0xcd, 0x4e, 0xc3, 0x3b, 0xa6, 0xcf, - 0x3f, 0x1f, 0x5e, 0x0c, 0xd4, 0x66, 0x4f, 0x4c, 0x9f, 0xeb, 0xb6, 0x9c, 0x6e, 0xc7, 0xf0, 0x45, - 0xf5, 0x73, 0x90, 0x39, 0xb2, 0x1a, 0x87, 0x47, 0x5e, 0xb5, 0x61, 0x57, 0x6b, 0x2d, 0xdc, 0x26, - 0x8f, 0x19, 0x40, 0xc6, 0xd6, 0xed, 0x52, 0x0b, 0x9d, 0xac, 0x6e, 0x7a, 0x26, 0xbe, 0x3d, 0xcf, - 0x18, 0xf8, 0xb3, 0x7e, 0x1e, 0x32, 0x1d, 0xcb, 0xed, 0x36, 0xbd, 0x6a, 0xcd, 0xe9, 0xda, 0x1e, - 0x6e, 0x64, 0x55, 0x23, 0x4d, 0xc6, 0x4a, 0x68, 0x48, 0x7f, 0x0c, 0xc6, 0xbc, 0x4e, 0xd7, 0xaa, - 0xba, 0x35, 0xc7, 0x73, 0x5b, 0xa6, 0x8d, 0x1b, 0xd9, 0x94, 0x91, 0x41, 0x83, 0x3b, 0x74, 0x0c, - 0xff, 0x0c, 0x7e, 0xcd, 0xe9, 0x58, 0xf8, 0x3e, 0x3a, 0x61, 0x90, 0x03, 0x5d, 0x03, 0xf5, 0x65, - 0xeb, 0x18, 0xdf, 0xa9, 0x25, 0x0d, 0xf4, 0x51, 0x7f, 0x12, 0x86, 0xc9, 0xdf, 0xb1, 0xc1, 0x6d, - 0x35, 0xde, 0xb5, 0xf6, 0x2f, 0x8d, 0x3c, 0x9d, 0x35, 0xa8, 0x80, 0x7e, 0x13, 0x46, 0x3c, 0xab, - 0xd3, 0x31, 0x1b, 0x36, 0xbe, 0x6b, 0x4a, 0x2f, 0xcf, 0x45, 0x98, 0x61, 0x97, 0x48, 0xe0, 0x9f, - 0x03, 0x36, 0x98, 0xbc, 0x7e, 0x15, 0x32, 0x58, 0x6e, 0xb9, 0x4a, 0xfe, 0xd6, 0x4f, 0xba, 0x67, - 0x20, 0xa7, 0x89, 0x1c, 0xdb, 0x24, 0x60, 0x30, 0xf2, 0x53, 0x88, 0x63, 0xf8, 0xb4, 0x8f, 0x45, - 0x9c, 0x16, 0xd7, 0xdc, 0x65, 0xdc, 0x2f, 0x92, 0x53, 0x53, 0x1e, 0xf2, 0x63, 0x89, 0x9b, 0x90, - 0xe1, 0xf5, 0x62, 0x66, 0x20, 0x7d, 0x0f, 0x36, 0xc3, 0x13, 0xc1, 0xdf, 0x51, 0xe8, 0x61, 0x05, - 0x32, 0x9f, 0x4f, 0xdc, 0x50, 0x66, 0xb6, 0x41, 0x93, 0xcf, 0x17, 0x41, 0x79, 0x51, 0xa4, 0xd4, - 0xf8, 0x8b, 0xc5, 0x8f, 0xc8, 0x03, 0xc6, 0xdc, 0xb3, 0x30, 0x4c, 0xe2, 0x47, 0x4f, 0xc3, 0x48, - 0xf0, 0x2b, 0x9b, 0x29, 0x48, 0x6e, 0xef, 0x55, 0x76, 0xc8, 0xcf, 0xe5, 0xee, 0x6c, 0x14, 0xb6, - 0x77, 0x76, 0xd7, 0x4b, 0x1f, 0xd7, 0x12, 0xfa, 0x04, 0xa4, 0x8b, 0xeb, 0x1b, 0x1b, 0xd5, 0x62, - 0x61, 0x7d, 0xa3, 0x7c, 0x57, 0x53, 0x73, 0xb3, 0x30, 0x4c, 0xf4, 0xc4, 0x3f, 0xfb, 0xd7, 0xb5, - 0xed, 0x63, 0xd6, 0x37, 0xe0, 0x83, 0xdc, 0xd7, 0x75, 0x18, 0x29, 0x34, 0x9b, 0x9b, 0x66, 0xdb, - 0xd5, 0x9f, 0x87, 0x49, 0xf2, 0x83, 0x1c, 0xbb, 0xce, 0x2a, 0xfe, 0x75, 0x4a, 0x54, 0x15, 0x14, - 0xfa, 0xf7, 0x23, 0x82, 0xeb, 0xa6, 0xe2, 0x8b, 0x21, 0x59, 0x62, 0xe0, 0x30, 0x87, 0xbe, 0x0b, - 0x1a, 0x1b, 0x5c, 0x6b, 0x3a, 0xa6, 0x87, 0x78, 0x13, 0xf4, 0xc7, 0x23, 0x7b, 0xf3, 0x32, 0x51, - 0x42, 0x1b, 0x62, 0xd0, 0x3f, 0x06, 0xa9, 0x75, 0xdb, 0xbb, 0xb2, 0x8c, 0xd8, 0xd8, 0xdf, 0x66, - 0x0a, 0xb3, 0x31, 0x11, 0xc2, 0xe2, 0x23, 0x28, 0xfa, 0xda, 0x0a, 0x42, 0x27, 0xfb, 0xa1, 0xb1, - 0x48, 0x80, 0xc6, 0x87, 0xfa, 0xb3, 0x30, 0x8a, 0x6e, 0x4b, 0xc8, 0xc9, 0x87, 0x58, 0xcf, 0x1a, - 0x82, 0xfb, 0x32, 0x04, 0x1f, 0x60, 0x18, 0x01, 0x39, 0xff, 0x70, 0x5f, 0x02, 0x4e, 0x81, 0x00, - 0x83, 0x08, 0x76, 0x7c, 0x0d, 0x46, 0x7a, 0x12, 0xec, 0x48, 0x1a, 0xec, 0xf0, 0x1a, 0xec, 0xf8, - 0x1a, 0xa4, 0xfa, 0x12, 0xf0, 0x1a, 0xf8, 0xc7, 0x7a, 0x11, 0x60, 0xad, 0xf1, 0x9a, 0x55, 0x27, - 0x2a, 0x90, 0xbf, 0xdc, 0x94, 0x8b, 0x60, 0x08, 0x84, 0x08, 0x05, 0x87, 0xd2, 0xcb, 0x90, 0xde, - 0x39, 0x08, 0x48, 0x20, 0x94, 0xc7, 0xbe, 0x1a, 0x07, 0x12, 0x0b, 0x8f, 0xf3, 0x55, 0x21, 0x17, - 0x93, 0xee, 0xaf, 0x0a, 0x77, 0x35, 0x1c, 0x2a, 0x50, 0x85, 0x90, 0x64, 0x62, 0x54, 0xe1, 0x58, - 0x78, 0x1c, 0x2a, 0x86, 0x45, 0xc7, 0x41, 0x92, 0xb4, 0x2a, 0xcd, 0x45, 0x50, 0x50, 0x09, 0x5a, - 0x0c, 0xe9, 0x11, 0xf6, 0x08, 0x0e, 0x72, 0x04, 0x1e, 0xef, 0xed, 0x11, 0x26, 0xc3, 0x3c, 0xc2, - 0x8e, 0xf9, 0x3c, 0xc3, 0xaf, 0xb2, 0x22, 0x9e, 0x89, 0xd8, 0x3c, 0x63, 0xa2, 0x52, 0x9e, 0xb1, - 0x61, 0xfd, 0x13, 0x30, 0xc1, 0xc6, 0x50, 0x79, 0x42, 0xa4, 0x1a, 0xfd, 0xdb, 0x76, 0xbd, 0x49, - 0xa9, 0x24, 0xe1, 0x94, 0xf1, 0x7a, 0x05, 0xc6, 0xd9, 0xd0, 0xa6, 0x8b, 0x2f, 0x77, 0x92, 0xfe, - 0xd9, 0x92, 0xde, 0x8c, 0x44, 0x90, 0x10, 0x4a, 0xe8, 0x99, 0x55, 0x98, 0x8e, 0xae, 0x46, 0x7c, - 0xf9, 0x1d, 0x25, 0xe5, 0xf7, 0x34, 0x5f, 0x7e, 0x15, 0xbe, 0x7c, 0x97, 0xe0, 0x4c, 0x64, 0xed, - 0x89, 0x23, 0x49, 0xf0, 0x24, 0xb7, 0x60, 0x4c, 0x28, 0x39, 0x3c, 0x78, 0x28, 0x02, 0x3c, 0x14, - 0x06, 0x07, 0xa1, 0x15, 0xb1, 0x7a, 0x08, 0x60, 0x95, 0x07, 0x7f, 0x0c, 0xc6, 0xc5, 0x7a, 0xc3, - 0xa3, 0xc7, 0x22, 0xd0, 0x63, 0x11, 0xe8, 0xe8, 0x73, 0x27, 0x23, 0xd0, 0x49, 0x09, 0xbd, 0xd3, - 0xf3, 0xdc, 0x93, 0x11, 0xe8, 0xc9, 0x08, 0x74, 0xf4, 0xb9, 0xf5, 0x08, 0xb4, 0xce, 0xa3, 0x9f, - 0x86, 0x09, 0xa9, 0xc4, 0xf0, 0xf0, 0x91, 0x08, 0xf8, 0x08, 0x0f, 0x7f, 0x06, 0x34, 0xb9, 0xb8, - 0xf0, 0xf8, 0x89, 0x08, 0xfc, 0x44, 0xd4, 0xe9, 0xa3, 0xb5, 0x1f, 0x8e, 0x80, 0x0f, 0x47, 0x9e, - 0x3e, 0x1a, 0xaf, 0x45, 0xe0, 0x35, 0x1e, 0x9f, 0x87, 0x0c, 0x5f, 0x4d, 0x78, 0x6c, 0x2a, 0x02, - 0x9b, 0x92, 0xed, 0x2e, 0x14, 0x93, 0xb8, 0x48, 0x1f, 0xed, 0x91, 0x2e, 0x42, 0x09, 0x89, 0x23, - 0xc9, 0xf0, 0x24, 0x9f, 0x84, 0xd3, 0x51, 0x25, 0x23, 0x82, 0x63, 0x9e, 0xe7, 0x18, 0x47, 0x3d, - 0x62, 0xd0, 0xec, 0x99, 0x6d, 0xa9, 0x71, 0x9a, 0x79, 0x11, 0xa6, 0x22, 0x0a, 0x47, 0x04, 0xed, - 0xa2, 0xd8, 0x8d, 0x65, 0x39, 0x5a, 0x5c, 0x04, 0x1a, 0xf6, 0xe1, 0xb6, 0xd3, 0xb0, 0x3d, 0xbe, - 0x2b, 0xfb, 0xc6, 0x14, 0x8c, 0xd3, 0xf2, 0xb4, 0xd5, 0xa9, 0x5b, 0x1d, 0xab, 0xae, 0xff, 0x85, - 0xde, 0xbd, 0xd3, 0x52, 0xb8, 0xa8, 0x51, 0xd4, 0x09, 0x5a, 0xa8, 0x17, 0x7b, 0xb6, 0x50, 0x97, - 0xe2, 0xe9, 0xe3, 0x3a, 0xa9, 0x52, 0xa8, 0x93, 0x7a, 0xa2, 0x37, 0x69, 0xaf, 0x86, 0xaa, 0x14, - 0x6a, 0xa8, 0xfa, 0x93, 0x44, 0xf6, 0x55, 0x6b, 0xe1, 0xbe, 0x6a, 0xbe, 0x37, 0x4b, 0xef, 0xf6, - 0x6a, 0x2d, 0xdc, 0x5e, 0xc5, 0xf0, 0x44, 0x77, 0x59, 0x6b, 0xe1, 0x2e, 0xab, 0x0f, 0x4f, 0xef, - 0x66, 0x6b, 0x2d, 0xdc, 0x6c, 0xc5, 0xf0, 0x44, 0xf7, 0x5c, 0xeb, 0x11, 0x3d, 0xd7, 0x93, 0xbd, - 0x89, 0xfa, 0xb5, 0x5e, 0x1b, 0x51, 0xad, 0xd7, 0x42, 0x1f, 0xa5, 0xfa, 0x76, 0x60, 0xeb, 0x11, - 0x1d, 0x58, 0x9c, 0x62, 0x3d, 0x1a, 0xb1, 0x8d, 0xa8, 0x46, 0x2c, 0x56, 0xb1, 0x5e, 0xfd, 0xd8, - 0xcf, 0xc9, 0xfd, 0xd8, 0xc5, 0xde, 0x4c, 0xd1, 0x6d, 0xd9, 0x5a, 0xb8, 0x2d, 0x9b, 0x8f, 0xcb, - 0xb9, 0xa8, 0xee, 0xec, 0xc5, 0x9e, 0xdd, 0xd9, 0x00, 0x29, 0x1c, 0xd7, 0xa4, 0xbd, 0xd0, 0xab, - 0x49, 0x5b, 0x8c, 0xe7, 0xee, 0xdf, 0xab, 0xed, 0xf5, 0xe8, 0xd5, 0x9e, 0x8a, 0x27, 0xfe, 0xb0, - 0x65, 0xfb, 0xb0, 0x65, 0xfb, 0xb0, 0x65, 0xfb, 0xb0, 0x65, 0xfb, 0xd9, 0xb7, 0x6c, 0xf9, 0xe4, - 0x67, 0xbf, 0x3c, 0xa7, 0xe4, 0xfe, 0xb3, 0xea, 0xff, 0xa5, 0xb5, 0xe7, 0x1b, 0xde, 0x11, 0x2a, - 0x6f, 0x9b, 0x90, 0xc1, 0xbf, 0xfc, 0xdb, 0x32, 0xdb, 0xed, 0x86, 0x7d, 0x48, 0x7b, 0xb6, 0x85, - 0xf0, 0xa3, 0x44, 0x0a, 0xc0, 0x7f, 0x65, 0x66, 0x93, 0x08, 0xd3, 0xe5, 0xc6, 0x0e, 0x46, 0xf4, - 0x3b, 0x90, 0x6e, 0xb9, 0x87, 0x3e, 0x5b, 0x22, 0xb4, 0x10, 0x4a, 0x6c, 0xe4, 0x4a, 0x03, 0x32, - 0x68, 0xf9, 0x03, 0x48, 0xb5, 0xfd, 0x63, 0x2f, 0x50, 0x4d, 0x8d, 0x53, 0x0d, 0xf9, 0x54, 0x54, - 0x6d, 0x3f, 0x18, 0x41, 0x61, 0x2b, 0xeb, 0x1e, 0x57, 0xe9, 0x84, 0xe0, 0x79, 0x1e, 0x26, 0x24, - 0x6d, 0x23, 0x72, 0xfe, 0x01, 0x7c, 0x83, 0x14, 0x93, 0x35, 0x8f, 0xcb, 0x09, 0x3e, 0x20, 0x73, - 0x8f, 0xc2, 0x98, 0xc0, 0xad, 0x67, 0x40, 0x39, 0xa0, 0xdf, 0xa3, 0x54, 0x0e, 0x72, 0x5f, 0x52, - 0x20, 0x4d, 0xdf, 0x21, 0xd8, 0x36, 0x1b, 0x1d, 0xfd, 0x39, 0x48, 0x36, 0xd9, 0x77, 0x99, 0x1e, - 0xf4, 0x7b, 0xb3, 0x98, 0x41, 0x5f, 0x83, 0xa1, 0x8e, 0xff, 0x5d, 0xa7, 0x07, 0xfa, 0x32, 0x2c, - 0x86, 0xe7, 0xee, 0x29, 0x30, 0x49, 0x5f, 0x71, 0x75, 0xe9, 0x9b, 0xcf, 0x66, 0x7b, 0xe6, 0xeb, - 0x0a, 0x8c, 0xfa, 0x47, 0xfa, 0x3e, 0x8c, 0xfb, 0x07, 0xe4, 0xed, 0x7a, 0x12, 0xa9, 0x79, 0xce, - 0xc2, 0x21, 0x8e, 0xc5, 0x88, 0x4f, 0x64, 0x17, 0x8a, 0xac, 0xc9, 0xe2, 0xe0, 0x4c, 0x01, 0xa6, - 0x22, 0xc4, 0x4e, 0xb2, 0x20, 0xe7, 0xce, 0xc3, 0x68, 0xc5, 0xf1, 0xc8, 0x4f, 0xe6, 0xe8, 0xa7, - 0xb9, 0x5d, 0x85, 0x62, 0x42, 0x3b, 0x85, 0xc1, 0x0b, 0xe7, 0x61, 0x84, 0x66, 0xbf, 0x3e, 0x0c, - 0x89, 0xcd, 0x82, 0x76, 0x0a, 0xff, 0x5f, 0xd4, 0x14, 0xfc, 0x7f, 0x49, 0x4b, 0x14, 0x37, 0xde, - 0xcf, 0x2d, 0xa6, 0xfd, 0x61, 0x62, 0x9e, 0x3f, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x06, 0x49, 0x4e, - 0x37, 0x66, 0x83, 0x00, 0x00, + 0xc4, 0x95, 0xdc, 0xa7, 0xb1, 0xfb, 0x6c, 0xd9, 0x7d, 0x33, 0x92, 0xfb, 0x62, 0x9c, 0xeb, 0x66, + 0x24, 0xd7, 0xc5, 0x38, 0xb7, 0xcd, 0x48, 0x6e, 0x8b, 0x71, 0x2e, 0x9b, 0x91, 0x5c, 0x16, 0xe3, + 0xdc, 0x35, 0x23, 0xb9, 0x2b, 0xc6, 0xb9, 0x6a, 0x46, 0x72, 0x55, 0x8c, 0x73, 0xd3, 0x8c, 0xe4, + 0xa6, 0x18, 0xe7, 0xa2, 0x19, 0xc9, 0x45, 0x31, 0xce, 0x3d, 0x33, 0x92, 0x7b, 0x62, 0x9c, 0x6b, + 0xce, 0xca, 0xae, 0x89, 0xf1, 0x6e, 0x39, 0x2b, 0xbb, 0x25, 0xc6, 0xbb, 0xe4, 0xac, 0xec, 0x92, + 0x18, 0xef, 0x8e, 0xb3, 0xb2, 0x3b, 0x62, 0xbc, 0x2b, 0xfe, 0x24, 0xc6, 0x2a, 0xc2, 0x1d, 0xaf, + 0xd3, 0xad, 0x79, 0xef, 0xab, 0x22, 0x5c, 0x12, 0xca, 0x87, 0xf4, 0xb2, 0xbe, 0x88, 0x0b, 0x56, + 0xbe, 0xe2, 0x94, 0x66, 0xb0, 0x25, 0xa1, 0xb0, 0xe0, 0x10, 0x76, 0x38, 0x62, 0xe5, 0x7d, 0xd5, + 0x86, 0x4b, 0x42, 0x99, 0x11, 0xad, 0xdf, 0x8d, 0x0f, 0xbd, 0x62, 0x7b, 0x3b, 0xc6, 0x2a, 0x36, + 0x6a, 0xfe, 0x93, 0x56, 0x6c, 0x0b, 0xd1, 0x26, 0xf7, 0x8d, 0xbd, 0x10, 0x6d, 0xec, 0x9e, 0x59, + 0x67, 0xd8, 0x0a, 0x6e, 0x21, 0xda, 0xb4, 0xbe, 0x51, 0x3f, 0xd8, 0x7a, 0x8b, 0x46, 0xb0, 0x61, + 0xb5, 0x43, 0x22, 0xf8, 0xa4, 0xf5, 0xd6, 0x92, 0x30, 0x94, 0x9c, 0x34, 0x82, 0xd5, 0x13, 0x47, + 0xf0, 0x49, 0x2b, 0xaf, 0x25, 0x61, 0x78, 0x39, 0x71, 0x04, 0x7f, 0x08, 0xf5, 0x10, 0x8d, 0xe0, + 0xc0, 0xfc, 0x27, 0xad, 0x87, 0x16, 0xa2, 0x4d, 0x1e, 0x1a, 0xc1, 0xea, 0x09, 0x22, 0x78, 0x98, + 0xfa, 0x68, 0x21, 0xda, 0xb4, 0xe1, 0x11, 0xfc, 0xbe, 0xab, 0x99, 0x2f, 0x2a, 0x30, 0x59, 0x69, + 0xd4, 0xcb, 0xad, 0x7d, 0xab, 0x5e, 0xb7, 0xea, 0xd4, 0x8e, 0x4b, 0xc2, 0x48, 0xd0, 0xc7, 0xd5, + 0xdf, 0x7a, 0x67, 0x2e, 0xb0, 0xf0, 0x55, 0x48, 0x12, 0x9b, 0x2e, 0x2d, 0x65, 0xef, 0x29, 0x11, + 0x23, 0x9c, 0x2f, 0xaa, 0x9f, 0x67, 0xb0, 0xcb, 0x4b, 0xd9, 0xff, 0xa0, 0x70, 0xa3, 0x9c, 0xdf, + 0x9c, 0xfb, 0x55, 0xac, 0xa1, 0xfd, 0xbe, 0x35, 0xbc, 0x34, 0x94, 0x86, 0x9c, 0x6e, 0x8f, 0xf4, + 0xe8, 0xc6, 0x69, 0xd5, 0x85, 0x89, 0x4a, 0xa3, 0x5e, 0xc1, 0x3f, 0x35, 0x30, 0x8c, 0x4a, 0x44, + 0x46, 0x1a, 0x0f, 0x96, 0x84, 0xb0, 0xe4, 0x11, 0x7e, 0x48, 0x8b, 0x63, 0x44, 0xae, 0x81, 0x6e, + 0x6b, 0x0b, 0xb7, 0x5d, 0xe8, 0x77, 0xdb, 0x60, 0x64, 0xf7, 0x6f, 0xb8, 0xd0, 0xef, 0x86, 0x41, + 0x0e, 0xf9, 0xb7, 0x7a, 0x9d, 0x4d, 0xce, 0xe4, 0xe0, 0x96, 0x7e, 0x16, 0x62, 0xeb, 0xe4, 0x5c, + 0x79, 0xa6, 0x98, 0x41, 0x4a, 0x7d, 0xfb, 0x9d, 0xb9, 0xf8, 0x5e, 0xb7, 0x51, 0x37, 0x62, 0xeb, + 0x75, 0xfd, 0x0e, 0x24, 0x3e, 0x41, 0xbf, 0xf0, 0x8a, 0x04, 0x56, 0xa8, 0xc0, 0x53, 0x11, 0x4b, + 0x4c, 0x98, 0x7a, 0x71, 0xaf, 0x61, 0x7b, 0x97, 0x97, 0x6f, 0x18, 0x84, 0x22, 0xf7, 0xa7, 0x00, + 0xc8, 0x3d, 0x57, 0x4d, 0xf7, 0x48, 0xaf, 0x30, 0x66, 0x72, 0xeb, 0x1b, 0xdf, 0x7e, 0x67, 0x6e, + 0x65, 0x18, 0xd6, 0xa7, 0xeb, 0xa6, 0x7b, 0xf4, 0xb4, 0x77, 0xdc, 0xb6, 0x16, 0x8b, 0xc7, 0x9e, + 0xe5, 0x32, 0xf6, 0x36, 0x9b, 0xf5, 0xe8, 0x73, 0x65, 0xb9, 0xe7, 0x4a, 0x0a, 0xcf, 0xb4, 0x26, + 0x3e, 0xd3, 0xd2, 0x83, 0x3e, 0xcf, 0xeb, 0x6c, 0x92, 0x90, 0x2c, 0xa9, 0x46, 0x59, 0x52, 0x7d, + 0xbf, 0x96, 0x6c, 0xb3, 0xf1, 0x51, 0x7a, 0x56, 0x75, 0xd0, 0xb3, 0xaa, 0xef, 0xe7, 0x59, 0xff, + 0x1f, 0xc9, 0x56, 0x3f, 0x9f, 0xf6, 0x6c, 0x72, 0xa6, 0xf5, 0x67, 0x6b, 0x2d, 0xe8, 0x03, 0xad, + 0x02, 0xf2, 0xf1, 0x7b, 0x6f, 0xcd, 0x29, 0xb9, 0x2f, 0xc6, 0xd8, 0x93, 0x93, 0x44, 0x7a, 0xb0, + 0x27, 0xff, 0x59, 0xa9, 0xa9, 0x3e, 0x0c, 0x0b, 0x7d, 0x41, 0x81, 0xe9, 0x9e, 0x91, 0x9c, 0x98, + 0xe9, 0x83, 0x1d, 0xce, 0xed, 0x93, 0x0e, 0xe7, 0x54, 0xc1, 0xdf, 0x53, 0xe0, 0xb4, 0x34, 0xbc, + 0x12, 0xf5, 0x2e, 0x49, 0xea, 0x3d, 0xd4, 0x7b, 0x27, 0x2c, 0xc8, 0x69, 0xc7, 0xbb, 0x57, 0x02, + 0x70, 0xcc, 0xbe, 0xdf, 0x57, 0x24, 0xbf, 0x9f, 0xf5, 0x01, 0x21, 0xe6, 0x62, 0x11, 0x40, 0xd5, + 0x76, 0x20, 0xbe, 0xdb, 0xb1, 0x2c, 0x7d, 0x16, 0x62, 0x5b, 0x1d, 0xaa, 0xe1, 0x38, 0xc1, 0x6f, + 0x75, 0x8a, 0x1d, 0xd3, 0xae, 0x1d, 0x19, 0xb1, 0xad, 0x8e, 0x7e, 0x1e, 0xd4, 0x02, 0xfd, 0xb2, + 0x7d, 0x7a, 0x79, 0x82, 0x08, 0x14, 0xec, 0x3a, 0x95, 0x40, 0x7d, 0xfa, 0x2c, 0xc4, 0x37, 0x2c, + 0xf3, 0x80, 0x2a, 0x01, 0x44, 0x06, 0xb5, 0x18, 0xb8, 0x9d, 0xde, 0xf0, 0x45, 0x48, 0x32, 0x62, + 0xfd, 0x02, 0x42, 0x1c, 0x78, 0xf4, 0xb6, 0x14, 0x81, 0xd4, 0xa1, 0x33, 0x17, 0xee, 0xd5, 0x2f, + 0x42, 0xc2, 0x68, 0x1c, 0x1e, 0x79, 0xf4, 0xe6, 0xbd, 0x62, 0xa4, 0x3b, 0x77, 0x17, 0x52, 0xbe, + 0x46, 0x1f, 0x30, 0xf5, 0x2a, 0x79, 0x34, 0x7d, 0x86, 0x9f, 0x4f, 0xd8, 0xba, 0x25, 0x69, 0xd2, + 0xcf, 0x41, 0x72, 0xc7, 0xeb, 0x04, 0x83, 0x3e, 0xab, 0x48, 0xfd, 0xd6, 0xdc, 0x2f, 0x29, 0x90, + 0x5c, 0xb5, 0xac, 0x36, 0x36, 0xf8, 0xe3, 0x10, 0x5f, 0x75, 0x5e, 0xb3, 0xa9, 0x82, 0x93, 0xd4, + 0xa2, 0xa8, 0x9b, 0xda, 0x14, 0x77, 0xeb, 0x8f, 0xf3, 0x76, 0x9f, 0xf2, 0xed, 0xce, 0xc9, 0x61, + 0xdb, 0xe7, 0x04, 0xdb, 0x53, 0x07, 0x22, 0xa1, 0x1e, 0xfb, 0x5f, 0x87, 0x34, 0x77, 0x17, 0x7d, + 0x9e, 0xaa, 0x11, 0x93, 0x81, 0xbc, 0xad, 0x90, 0x44, 0xce, 0x82, 0x31, 0xe1, 0xc6, 0x08, 0xca, + 0x99, 0xb8, 0x0f, 0x14, 0x9b, 0x79, 0x41, 0x34, 0x73, 0xb8, 0x28, 0x35, 0xf5, 0x12, 0xb1, 0x11, + 0x36, 0xf7, 0x05, 0x12, 0x9c, 0xfd, 0x9d, 0x88, 0x3e, 0xe7, 0x12, 0xa0, 0x56, 0x1a, 0xcd, 0xdc, + 0x33, 0x00, 0x24, 0xe5, 0xcb, 0x76, 0xb7, 0x25, 0x65, 0xdd, 0x38, 0x33, 0xf0, 0xee, 0x91, 0xb5, + 0x6b, 0xb9, 0x58, 0x44, 0xac, 0xa7, 0xd0, 0x00, 0x03, 0x24, 0xc5, 0x30, 0xfe, 0xc9, 0x48, 0x7c, + 0x68, 0x25, 0x86, 0x44, 0xb3, 0x44, 0xf4, 0xae, 0xe5, 0x15, 0x6c, 0xc7, 0x3b, 0xb2, 0x3a, 0x12, + 0x62, 0x59, 0xbf, 0x22, 0x24, 0xec, 0xf8, 0xf2, 0x23, 0x3e, 0xa2, 0x2f, 0xe8, 0x4a, 0xee, 0xab, + 0x58, 0x41, 0x54, 0x0a, 0xf4, 0x3c, 0xa0, 0x3a, 0xc4, 0x03, 0xea, 0xd7, 0x84, 0xfa, 0x6d, 0x80, + 0x9a, 0xd2, 0xab, 0xe5, 0x4d, 0xe1, 0x3d, 0x67, 0xb0, 0xb2, 0xe2, 0x3b, 0x26, 0xb3, 0x29, 0x53, + 0xf9, 0xc9, 0x48, 0x95, 0xfb, 0x54, 0xb7, 0x27, 0xb5, 0xa9, 0x3a, 0xac, 0x4d, 0xbf, 0xe1, 0x57, + 0x1c, 0xe4, 0x17, 0x4d, 0xf0, 0x6f, 0x01, 0xe9, 0x4f, 0x45, 0xfa, 0x3e, 0xaf, 0x94, 0x7c, 0x55, + 0x57, 0x86, 0x75, 0x7f, 0x3e, 0x56, 0x2c, 0xfa, 0xea, 0x5e, 0x3f, 0x41, 0x08, 0xe4, 0x63, 0xa5, + 0x92, 0x3f, 0x6c, 0x27, 0x3f, 0xfd, 0xd6, 0x9c, 0xf2, 0x95, 0xb7, 0xe6, 0x4e, 0xe5, 0x7e, 0x5b, + 0x81, 0x49, 0x2a, 0xc9, 0x05, 0xee, 0xd3, 0x92, 0xf2, 0x67, 0xd8, 0x98, 0x11, 0x66, 0x81, 0x9f, + 0x58, 0xf0, 0x7e, 0x53, 0x81, 0x6c, 0x8f, 0xae, 0xcc, 0xde, 0x4b, 0x43, 0xa9, 0x9c, 0x57, 0xca, + 0x3f, 0x7d, 0x9b, 0xdf, 0x85, 0xc4, 0x6e, 0xa3, 0x65, 0x75, 0xd0, 0x4c, 0x80, 0x3e, 0x10, 0x95, + 0xd9, 0x66, 0x0e, 0x69, 0x62, 0x7d, 0x44, 0x39, 0xa1, 0x6f, 0x59, 0xcf, 0x42, 0x7c, 0xd5, 0xf4, + 0x4c, 0xac, 0x41, 0xc6, 0x1f, 0x5f, 0x4d, 0xcf, 0xcc, 0x5d, 0x81, 0xcc, 0xe6, 0x31, 0x3e, 0x88, + 0x54, 0xc7, 0x67, 0x50, 0xc4, 0xea, 0x8f, 0xd5, 0xab, 0x97, 0x17, 0x12, 0xc9, 0xba, 0x76, 0x4f, + 0xc9, 0xc7, 0xb1, 0x3e, 0xaf, 0xc2, 0xf8, 0x16, 0x52, 0x1b, 0xe3, 0x30, 0xec, 0x1c, 0x28, 0x9b, + 0x62, 0x21, 0xc4, 0xb3, 0x1a, 0xca, 0xa6, 0x54, 0x3e, 0xaa, 0xbe, 0x79, 0xa4, 0xb2, 0x4d, 0xf5, + 0xcb, 0xb6, 0x85, 0x78, 0x72, 0x5c, 0x9b, 0x5c, 0x88, 0x27, 0x41, 0x1b, 0xa3, 0xf7, 0xfd, 0x77, + 0x2a, 0x68, 0xa4, 0xd4, 0x59, 0xb5, 0x0e, 0x1a, 0x76, 0xc3, 0xeb, 0xad, 0x57, 0x7d, 0x8d, 0xf5, + 0xe7, 0x20, 0x85, 0x4c, 0xba, 0x46, 0x7f, 0x12, 0x10, 0x99, 0xfe, 0x3c, 0x2d, 0x51, 0x24, 0x0a, + 0xda, 0x80, 0x43, 0x27, 0xc0, 0xe8, 0x6b, 0xa0, 0x56, 0x2a, 0x9b, 0x74, 0x72, 0x5b, 0x19, 0x08, + 0xa5, 0x87, 0x7d, 0xe8, 0x15, 0x6d, 0x73, 0x0f, 0x0d, 0x44, 0xa0, 0xaf, 0x40, 0xac, 0xb2, 0x49, + 0x0b, 0xde, 0x0b, 0xc3, 0xd0, 0x18, 0xb1, 0xca, 0xe6, 0xcc, 0xbf, 0x52, 0x60, 0x4c, 0x68, 0xd5, + 0x73, 0x90, 0x21, 0x0d, 0xdc, 0xe3, 0x8e, 0x18, 0x42, 0x1b, 0xd3, 0x39, 0xf6, 0x3e, 0x75, 0x9e, + 0x29, 0xc0, 0x84, 0xd4, 0xae, 0x2f, 0x82, 0xce, 0x37, 0x51, 0x25, 0xc8, 0xcf, 0x91, 0x85, 0xf4, + 0xe4, 0x1e, 0x05, 0x08, 0xec, 0xea, 0xff, 0x8a, 0x56, 0xa5, 0xbc, 0xb3, 0x5b, 0x5e, 0xd5, 0x94, + 0xdc, 0xd7, 0x15, 0x48, 0xd3, 0xb2, 0xb5, 0xe6, 0xb4, 0x2d, 0xbd, 0x08, 0x4a, 0x81, 0x46, 0xd0, + 0x83, 0xe9, 0xad, 0x14, 0xf4, 0x4b, 0xa0, 0x14, 0x87, 0x77, 0xb5, 0x52, 0xd4, 0x97, 0x41, 0x29, + 0x51, 0x07, 0x0f, 0xe7, 0x19, 0xa5, 0x94, 0xfb, 0x63, 0x15, 0xa6, 0xf8, 0x32, 0x9a, 0x8d, 0x27, + 0xe7, 0xc5, 0xf7, 0xa6, 0x7c, 0xea, 0xf2, 0xf2, 0x95, 0x95, 0x45, 0xf4, 0x8f, 0x1f, 0x92, 0x39, + 0xf1, 0x15, 0x2a, 0x0f, 0xbe, 0xc8, 0xe5, 0x7e, 0xe7, 0x44, 0xf2, 0x71, 0x8e, 0xa1, 0xe7, 0x9c, + 0x88, 0xd0, 0xdb, 0x73, 0x4e, 0x44, 0xe8, 0xed, 0x39, 0x27, 0x22, 0xf4, 0xf6, 0xec, 0x05, 0x08, + 0xbd, 0x3d, 0xe7, 0x44, 0x84, 0xde, 0x9e, 0x73, 0x22, 0x42, 0x6f, 0xef, 0x39, 0x11, 0xda, 0xdd, + 0xf7, 0x9c, 0x88, 0xd8, 0xdf, 0x7b, 0x4e, 0x44, 0xec, 0xef, 0x3d, 0x27, 0x92, 0x8f, 0x7b, 0x9d, + 0xae, 0xd5, 0x7f, 0xd7, 0x41, 0xc4, 0x0f, 0x7a, 0x09, 0x0c, 0x46, 0xe0, 0x2d, 0x98, 0x20, 0x0b, + 0x12, 0x25, 0xc7, 0xf6, 0xcc, 0x86, 0x6d, 0x75, 0xf4, 0x8f, 0x42, 0x86, 0x34, 0x91, 0xd7, 0x9c, + 0xb0, 0xd7, 0x40, 0xd2, 0x4f, 0xc7, 0x5b, 0x41, 0x3a, 0xf7, 0x27, 0x71, 0x98, 0x26, 0x0d, 0x15, + 0xb3, 0x65, 0x09, 0xa7, 0x8c, 0x2e, 0x4a, 0x7b, 0x4a, 0xe3, 0x08, 0x7e, 0xff, 0x9d, 0x39, 0xd2, + 0x5a, 0xf0, 0xa3, 0xe9, 0xa2, 0xb4, 0xbb, 0x24, 0xca, 0x05, 0x13, 0xd0, 0x45, 0xe9, 0xe4, 0x91, + 0x28, 0xe7, 0xcf, 0x37, 0xbe, 0x1c, 0x3b, 0x83, 0x24, 0xca, 0xad, 0xfa, 0x51, 0x76, 0x51, 0x3a, + 0x8d, 0x24, 0xca, 0x95, 0xfd, 0x78, 0xbb, 0x28, 0xed, 0x3d, 0x89, 0x72, 0x6b, 0x7e, 0xe4, 0x5d, + 0x94, 0x76, 0xa1, 0x44, 0xb9, 0xdb, 0x7e, 0x0c, 0x5e, 0x94, 0xce, 0x2a, 0x89, 0x72, 0xcf, 0xfb, + 0xd1, 0x78, 0x51, 0x3a, 0xb5, 0x24, 0xca, 0xad, 0xfb, 0x71, 0x39, 0x2f, 0x9f, 0x5f, 0x12, 0x05, + 0xef, 0x04, 0x11, 0x3a, 0x2f, 0x9f, 0x64, 0x12, 0x25, 0x3f, 0x16, 0xc4, 0xea, 0xbc, 0x7c, 0xa6, + 0x49, 0x94, 0xdc, 0x08, 0xa2, 0x76, 0x5e, 0xde, 0x2b, 0x13, 0x25, 0x37, 0x83, 0xf8, 0x9d, 0x97, + 0x77, 0xcd, 0x44, 0xc9, 0x4a, 0x10, 0xc9, 0xf3, 0xf2, 0xfe, 0x99, 0x28, 0xb9, 0x15, 0x2c, 0xa2, + 0xff, 0xa1, 0x14, 0x7e, 0xdc, 0x29, 0xa8, 0x9c, 0x14, 0x7e, 0x10, 0x12, 0x7a, 0xd2, 0x40, 0xc6, + 0xc9, 0x04, 0x61, 0x97, 0x93, 0xc2, 0x0e, 0x42, 0x42, 0x2e, 0x27, 0x85, 0x1c, 0x84, 0x84, 0x5b, + 0x4e, 0x0a, 0x37, 0x08, 0x09, 0xb5, 0x9c, 0x14, 0x6a, 0x10, 0x12, 0x66, 0x39, 0x29, 0xcc, 0x20, + 0x24, 0xc4, 0x72, 0x52, 0x88, 0x41, 0x48, 0x78, 0xe5, 0xa4, 0xf0, 0x82, 0x90, 0xd0, 0xba, 0x20, + 0x87, 0x16, 0x84, 0x85, 0xd5, 0x05, 0x39, 0xac, 0x20, 0x2c, 0xa4, 0x1e, 0x93, 0x43, 0x2a, 0x75, + 0xff, 0x9d, 0xb9, 0x04, 0x6a, 0xe2, 0xa2, 0xe9, 0x82, 0x1c, 0x4d, 0x10, 0x16, 0x49, 0x17, 0xe4, + 0x48, 0x82, 0xb0, 0x28, 0xba, 0x20, 0x47, 0x11, 0x84, 0x45, 0xd0, 0xdb, 0x72, 0x04, 0x05, 0x67, + 0x7c, 0x72, 0xd2, 0x96, 0x62, 0x54, 0x04, 0xa9, 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, 0x43, + 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, 0x43, 0x44, 0x90, + 0x3a, 0x4c, 0x04, 0xa9, 0x43, 0x45, 0x90, 0xda, 0x2f, 0x82, 0x2e, 0xc8, 0x27, 0x1e, 0x20, 0x6c, + 0x40, 0xba, 0x20, 0x6f, 0x7d, 0x46, 0x87, 0x90, 0x3a, 0x54, 0x08, 0xa9, 0xfd, 0x42, 0xe8, 0x0f, + 0x55, 0x98, 0x12, 0x42, 0x88, 0xee, 0x0f, 0x7d, 0x50, 0x23, 0xd0, 0xb5, 0x21, 0x0e, 0x58, 0x84, + 0xc5, 0xd4, 0xb5, 0x21, 0x36, 0xa9, 0x07, 0xc5, 0x59, 0xef, 0x28, 0x54, 0x1e, 0x62, 0x14, 0x5a, + 0xf3, 0x63, 0xe8, 0xda, 0x10, 0x07, 0x2f, 0x7a, 0x63, 0xef, 0xc6, 0xa0, 0x41, 0xe0, 0xf9, 0xa1, + 0x06, 0x81, 0xf5, 0xa1, 0x06, 0x81, 0x3b, 0x81, 0x07, 0x7f, 0x39, 0x06, 0xa7, 0x03, 0x0f, 0x92, + 0x4f, 0xf8, 0x97, 0xb5, 0x72, 0xdc, 0x16, 0x95, 0xce, 0xb6, 0x6d, 0x38, 0x37, 0xc6, 0xd6, 0xeb, + 0xfa, 0xb6, 0xb8, 0x59, 0x95, 0x3f, 0xe9, 0x06, 0x0e, 0xe7, 0x71, 0xba, 0x18, 0x7a, 0x01, 0xd4, + 0xf5, 0xba, 0x8b, 0x47, 0x8b, 0xb0, 0xdb, 0x96, 0x0c, 0xd4, 0xad, 0x1b, 0x30, 0x82, 0xc5, 0x5d, + 0xec, 0xde, 0xf7, 0x73, 0xe3, 0x55, 0x83, 0x32, 0xe5, 0xde, 0x56, 0xe0, 0x9c, 0x10, 0xca, 0x1f, + 0xcc, 0x96, 0xc1, 0xad, 0xa1, 0xb6, 0x0c, 0x84, 0x04, 0x09, 0xb6, 0x0f, 0x9e, 0xe8, 0xdd, 0xa9, + 0xe6, 0xb3, 0x44, 0xde, 0x4a, 0xf8, 0x73, 0x30, 0x1e, 0x3c, 0x01, 0x7e, 0x67, 0xbb, 0x1a, 0xbd, + 0x9a, 0x19, 0x96, 0x9a, 0x57, 0xa5, 0x55, 0xb4, 0x81, 0x30, 0x3f, 0x5b, 0x73, 0x79, 0x98, 0xa8, + 0x88, 0x5f, 0x89, 0x8a, 0x5a, 0x8c, 0x48, 0xa2, 0xd2, 0xfc, 0xde, 0x97, 0xe6, 0x4e, 0xe5, 0x9e, + 0x82, 0x0c, 0xff, 0xad, 0x27, 0x09, 0x98, 0x62, 0xc0, 0x7c, 0xfc, 0x5b, 0x48, 0xfa, 0xef, 0x2a, + 0x70, 0x86, 0x17, 0x7f, 0xa1, 0xe1, 0x1d, 0xad, 0xdb, 0xa8, 0xa6, 0x7f, 0x06, 0x92, 0x16, 0x75, + 0x1c, 0xfd, 0x91, 0x1c, 0xfa, 0x1e, 0x19, 0x2a, 0xbe, 0x88, 0xff, 0x35, 0x7c, 0x88, 0xb4, 0xc6, + 0xc1, 0x6e, 0xbb, 0x3c, 0xf3, 0x38, 0x24, 0x08, 0xbf, 0xa8, 0xd7, 0x98, 0xa4, 0xd7, 0x6f, 0x86, + 0xe8, 0x85, 0xe3, 0x48, 0xbf, 0x23, 0xe8, 0xc5, 0xbd, 0xae, 0x86, 0x8a, 0x2f, 0xb2, 0xe0, 0x2b, + 0x26, 0x51, 0xfd, 0x87, 0x23, 0x2a, 0x5a, 0xc9, 0x79, 0x48, 0x96, 0x65, 0x99, 0x70, 0x3d, 0x57, + 0x21, 0x5e, 0x71, 0xea, 0xf8, 0xe7, 0x7b, 0xf0, 0x0f, 0x61, 0x53, 0x23, 0xd3, 0x5f, 0xc5, 0xbe, + 0x08, 0xc9, 0xd2, 0x51, 0xa3, 0x59, 0xef, 0x58, 0x36, 0xdd, 0xb3, 0xa7, 0x4b, 0xe8, 0x08, 0x63, + 0xf8, 0x7d, 0xb9, 0x12, 0x4c, 0x56, 0x1c, 0xbb, 0x78, 0xec, 0xf1, 0xe3, 0xc6, 0xa2, 0x94, 0x22, + 0x74, 0xcf, 0x07, 0x7f, 0x4b, 0x04, 0x09, 0x14, 0x13, 0xdf, 0x7e, 0x67, 0x4e, 0xd9, 0xf5, 0xd7, + 0xcf, 0x37, 0xe1, 0x21, 0x9a, 0x3e, 0x3d, 0x54, 0xcb, 0x51, 0x54, 0x29, 0xba, 0x4f, 0xcd, 0xd1, + 0xad, 0x23, 0x3a, 0x3b, 0x94, 0xee, 0xc1, 0x34, 0x43, 0x45, 0xd1, 0x40, 0xcd, 0xd4, 0x13, 0x69, + 0x16, 0x4a, 0xb7, 0x18, 0x45, 0x27, 0x69, 0xf6, 0x18, 0xa4, 0xfc, 0x3e, 0x2e, 0x1a, 0xf8, 0x4c, + 0x59, 0x5e, 0xc8, 0x41, 0x9a, 0x4b, 0x58, 0x3d, 0x01, 0x4a, 0x41, 0x3b, 0x85, 0xfe, 0x2b, 0x6a, + 0x0a, 0xfa, 0xaf, 0xa4, 0xc5, 0x16, 0x1e, 0x87, 0x09, 0x69, 0xfd, 0x12, 0xf5, 0xac, 0x6a, 0x80, + 0xfe, 0x2b, 0x6b, 0xe9, 0x99, 0xf8, 0xa7, 0x7f, 0x63, 0xf6, 0xd4, 0xc2, 0x2d, 0xd0, 0x7b, 0x57, + 0x3a, 0xf5, 0x11, 0x88, 0x15, 0x10, 0xe5, 0x43, 0x10, 0x2b, 0x16, 0x35, 0x65, 0x66, 0xe2, 0x2f, + 0x7f, 0xfe, 0x5c, 0xba, 0x88, 0xbf, 0xd2, 0x7d, 0xd7, 0xf2, 0x8a, 0x45, 0x0a, 0x7e, 0x16, 0xce, + 0x84, 0xae, 0x94, 0x22, 0x7c, 0xa9, 0x44, 0xf0, 0xab, 0xab, 0x3d, 0xf8, 0xd5, 0x55, 0x8c, 0x57, + 0xf2, 0x6c, 0xc7, 0xb9, 0xa0, 0x87, 0xac, 0x4b, 0x66, 0xeb, 0xdc, 0x0e, 0x77, 0x21, 0xff, 0x2c, + 0x95, 0x2d, 0x86, 0xca, 0x5a, 0x11, 0x3b, 0xd6, 0xc5, 0x7c, 0x89, 0xe2, 0x4b, 0xa1, 0xf8, 0x03, + 0x69, 0x5b, 0x55, 0x9c, 0x21, 0x28, 0x49, 0xc9, 0x57, 0x78, 0x35, 0x94, 0xe4, 0x88, 0x3b, 0xec, + 0xbe, 0xea, 0x2b, 0x5c, 0x0e, 0x95, 0x6d, 0x44, 0x1c, 0xfa, 0x2a, 0xe7, 0x2f, 0xd1, 0x49, 0xbe, + 0x70, 0x59, 0x3f, 0xc3, 0x72, 0x54, 0x18, 0x81, 0xa9, 0x81, 0x98, 0x54, 0xbe, 0x44, 0x01, 0xc5, + 0xbe, 0x80, 0xfe, 0x56, 0x62, 0xc8, 0xfc, 0xf3, 0x94, 0xa4, 0xd4, 0x97, 0x24, 0xc2, 0x54, 0x0c, + 0x5e, 0xdc, 0xbd, 0xf7, 0xee, 0xec, 0xa9, 0x6f, 0xbd, 0x3b, 0x7b, 0xea, 0x3f, 0xbd, 0x3b, 0x7b, + 0xea, 0x3b, 0xef, 0xce, 0x2a, 0xdf, 0x7f, 0x77, 0x56, 0xf9, 0xe1, 0xbb, 0xb3, 0xca, 0x8f, 0xde, + 0x9d, 0x55, 0xde, 0xbc, 0x3f, 0xab, 0x7c, 0xe5, 0xfe, 0xac, 0xf2, 0xd5, 0xfb, 0xb3, 0xca, 0xef, + 0xdf, 0x9f, 0x55, 0xde, 0xbe, 0x3f, 0xab, 0xdc, 0xbb, 0x3f, 0xab, 0x7c, 0xeb, 0xfe, 0xac, 0xf2, + 0x9d, 0xfb, 0xb3, 0xca, 0xf7, 0xef, 0xcf, 0x9e, 0xfa, 0xe1, 0xfd, 0x59, 0xe5, 0x47, 0xf7, 0x67, + 0x4f, 0xbd, 0xf9, 0xdd, 0xd9, 0x53, 0x6f, 0x7d, 0x77, 0xf6, 0xd4, 0x57, 0xbe, 0x3b, 0xab, 0xc0, + 0x77, 0x56, 0xe0, 0x11, 0xe9, 0x9b, 0x64, 0xb8, 0x1a, 0xb8, 0xc2, 0x7e, 0xfe, 0xcb, 0x6f, 0x38, + 0xe1, 0x17, 0xca, 0x66, 0x1e, 0xf4, 0xeb, 0x6b, 0xb9, 0x7f, 0x9d, 0x80, 0x51, 0xb6, 0x0c, 0x1c, + 0xf6, 0x23, 0xe9, 0x57, 0x21, 0x79, 0xd4, 0x68, 0x9a, 0x9d, 0x86, 0x77, 0x4c, 0xd7, 0x3f, 0x1f, + 0x5e, 0x0c, 0xd4, 0x66, 0x2b, 0xa6, 0xcf, 0x77, 0x5b, 0x4e, 0xb7, 0x63, 0xf8, 0xa2, 0xfa, 0x39, + 0xc8, 0x1c, 0x59, 0x8d, 0xc3, 0x23, 0xaf, 0xda, 0xb0, 0xab, 0xb5, 0x16, 0x2e, 0x93, 0xc7, 0x0c, + 0x20, 0x6d, 0xeb, 0x76, 0xa9, 0x85, 0x6e, 0x56, 0x37, 0x3d, 0x13, 0xbf, 0x9e, 0x67, 0x0c, 0xfc, + 0x19, 0xff, 0xd0, 0xb1, 0xe5, 0x76, 0x9b, 0x5e, 0xb5, 0xe6, 0x74, 0x6d, 0x0f, 0x17, 0xb2, 0xaa, + 0x91, 0x26, 0x6d, 0x25, 0xd4, 0xa4, 0x3f, 0x06, 0x63, 0x5e, 0xa7, 0x6b, 0x55, 0xdd, 0x9a, 0xe3, + 0xb9, 0x2d, 0xd3, 0xc6, 0x85, 0x6c, 0xd2, 0xc8, 0xa0, 0xc6, 0x1d, 0xda, 0x86, 0x7f, 0x5f, 0xbf, + 0xe6, 0x74, 0x2c, 0xfc, 0x1e, 0x1d, 0x33, 0xc8, 0x85, 0xae, 0x81, 0xfa, 0x8a, 0x75, 0x8c, 0xdf, + 0xd4, 0xe2, 0x06, 0xfa, 0xa8, 0x3f, 0x09, 0x23, 0xe4, 0x0f, 0xe4, 0xe0, 0xb2, 0x1a, 0xef, 0x5a, + 0xfb, 0x8f, 0x46, 0x56, 0x67, 0x0d, 0x2a, 0xa0, 0xdf, 0x84, 0x51, 0xcf, 0xea, 0x74, 0xcc, 0x86, + 0x8d, 0xdf, 0x9a, 0xd2, 0xcb, 0x73, 0x21, 0x66, 0xd8, 0x25, 0x12, 0xf8, 0xe7, 0x80, 0x0d, 0x26, + 0xaf, 0x5f, 0x85, 0x0c, 0x96, 0x5b, 0xae, 0x92, 0x3f, 0x22, 0x94, 0xee, 0x1b, 0xc8, 0x69, 0x22, + 0xc7, 0x36, 0x09, 0x18, 0x8c, 0xfc, 0x14, 0xe2, 0x18, 0xbe, 0xed, 0x63, 0x21, 0xb7, 0xc5, 0x63, + 0xee, 0x32, 0xae, 0x17, 0xc9, 0xad, 0x29, 0x0f, 0xf9, 0xb1, 0xc4, 0x4d, 0xc8, 0xf0, 0x7a, 0x31, + 0x33, 0x90, 0xba, 0x07, 0x9b, 0xe1, 0x89, 0xe0, 0x0f, 0x34, 0xf4, 0xb1, 0x02, 0xe9, 0xcf, 0xc7, + 0x6e, 0x28, 0x33, 0xdb, 0xa0, 0xc9, 0xf7, 0x0b, 0xa1, 0xbc, 0x28, 0x52, 0x6a, 0xfc, 0xc3, 0xe2, + 0x25, 0xf2, 0x80, 0x31, 0xf7, 0x1c, 0x8c, 0x90, 0xf8, 0xd1, 0xd3, 0x30, 0x1a, 0xfc, 0xca, 0x66, + 0x12, 0xe2, 0xdb, 0x7b, 0x95, 0x1d, 0xf2, 0x73, 0xb9, 0x3b, 0x1b, 0x85, 0xed, 0x9d, 0xdd, 0xf5, + 0xd2, 0xc7, 0xb4, 0x98, 0x3e, 0x01, 0xe9, 0xe2, 0xfa, 0xc6, 0x46, 0xb5, 0x58, 0x58, 0xdf, 0x28, + 0xdf, 0xd5, 0xd4, 0xdc, 0x2c, 0x8c, 0x10, 0x3d, 0xf1, 0xcf, 0xfe, 0x75, 0x6d, 0xfb, 0x98, 0xd5, + 0x0d, 0xf8, 0x22, 0xf7, 0x35, 0x1d, 0x46, 0x0b, 0xcd, 0xe6, 0xa6, 0xd9, 0x76, 0xf5, 0x17, 0x60, + 0x92, 0xfc, 0x20, 0xc7, 0xae, 0xb3, 0x8a, 0x7f, 0x9d, 0x12, 0x8d, 0x0a, 0x0a, 0xfd, 0xc3, 0x14, + 0xc1, 0x73, 0x53, 0xf1, 0xc5, 0x1e, 0x59, 0x62, 0xe0, 0x5e, 0x0e, 0x7d, 0x17, 0x34, 0xd6, 0xb8, + 0xd6, 0x74, 0x4c, 0x0f, 0xf1, 0xc6, 0xe8, 0x8f, 0x47, 0xf6, 0xe7, 0x65, 0xa2, 0x84, 0xb6, 0x87, + 0x41, 0xff, 0x28, 0x24, 0xd7, 0x6d, 0xef, 0xca, 0x32, 0x62, 0x63, 0x7f, 0xf4, 0xa9, 0x97, 0x8d, + 0x89, 0x10, 0x16, 0x1f, 0x41, 0xd1, 0xd7, 0x56, 0x10, 0x3a, 0x3e, 0x08, 0x8d, 0x45, 0x02, 0x34, + 0xbe, 0xd4, 0x9f, 0x83, 0x14, 0x7a, 0x2d, 0x21, 0x37, 0x4f, 0xb0, 0x9a, 0xb5, 0x07, 0xee, 0xcb, + 0x10, 0x7c, 0x80, 0x61, 0x04, 0xe4, 0xfe, 0x23, 0x03, 0x09, 0x38, 0x05, 0x02, 0x0c, 0x22, 0xd8, + 0xf1, 0x35, 0x18, 0xed, 0x4b, 0xb0, 0x23, 0x69, 0xb0, 0xc3, 0x6b, 0xb0, 0xe3, 0x6b, 0x90, 0x1c, + 0x48, 0xc0, 0x6b, 0xe0, 0x5f, 0xeb, 0x45, 0x80, 0xb5, 0xc6, 0xeb, 0x56, 0x9d, 0xa8, 0x40, 0xfe, + 0x24, 0x54, 0x2e, 0x84, 0x21, 0x10, 0x22, 0x14, 0x1c, 0x4a, 0x2f, 0x43, 0x7a, 0xe7, 0x20, 0x20, + 0x81, 0x9e, 0x3c, 0xf6, 0xd5, 0x38, 0x90, 0x58, 0x78, 0x9c, 0xaf, 0x0a, 0x79, 0x98, 0xf4, 0x60, + 0x55, 0xb8, 0xa7, 0xe1, 0x50, 0x81, 0x2a, 0x84, 0x24, 0x13, 0xa1, 0x0a, 0xc7, 0xc2, 0xe3, 0xd0, + 0x60, 0x58, 0x74, 0x1c, 0x24, 0x49, 0x47, 0xa5, 0xb9, 0x10, 0x0a, 0x2a, 0x41, 0x07, 0x43, 0x7a, + 0x85, 0x3d, 0x82, 0x83, 0x1c, 0x81, 0xc7, 0xfb, 0x7b, 0x84, 0xc9, 0x30, 0x8f, 0xb0, 0x6b, 0x3e, + 0xcf, 0xf0, 0x51, 0x56, 0xc4, 0x33, 0x11, 0x99, 0x67, 0x4c, 0x54, 0xca, 0x33, 0xd6, 0xac, 0x7f, + 0x1c, 0x26, 0x58, 0x1b, 0x1a, 0x9e, 0x10, 0xa9, 0x46, 0xff, 0x68, 0x5e, 0x7f, 0x52, 0x2a, 0x49, + 0x38, 0x65, 0xbc, 0x5e, 0x81, 0x71, 0xd6, 0xb4, 0xe9, 0xe2, 0xc7, 0x9d, 0xa4, 0x7f, 0x0f, 0xa5, + 0x3f, 0x23, 0x11, 0x24, 0x84, 0x12, 0x7a, 0x66, 0x15, 0xa6, 0xc3, 0x47, 0x23, 0x7e, 0xf8, 0x4d, + 0x91, 0xe1, 0xf7, 0x34, 0x3f, 0xfc, 0x2a, 0xfc, 0xf0, 0x5d, 0x82, 0x33, 0xa1, 0x63, 0x4f, 0x14, + 0x49, 0x8c, 0x27, 0xb9, 0x05, 0x63, 0xc2, 0x90, 0xc3, 0x83, 0x13, 0x21, 0xe0, 0x44, 0x2f, 0x38, + 0x08, 0xad, 0x90, 0xd9, 0x43, 0x00, 0xab, 0x3c, 0xf8, 0xa3, 0x30, 0x2e, 0x8e, 0x37, 0x3c, 0x7a, + 0x2c, 0x04, 0x3d, 0x16, 0x82, 0x0e, 0xbf, 0x77, 0x3c, 0x04, 0x1d, 0x97, 0xd0, 0x3b, 0x7d, 0xef, + 0x3d, 0x19, 0x82, 0x9e, 0x0c, 0x41, 0x87, 0xdf, 0x5b, 0x0f, 0x41, 0xeb, 0x3c, 0xfa, 0x19, 0x98, + 0x90, 0x86, 0x18, 0x1e, 0x3e, 0x1a, 0x02, 0x1f, 0xe5, 0xe1, 0xcf, 0x82, 0x26, 0x0f, 0x2e, 0x3c, + 0x7e, 0x22, 0x04, 0x3f, 0x11, 0x76, 0xfb, 0x70, 0xed, 0x47, 0x42, 0xe0, 0x23, 0xa1, 0xb7, 0x0f, + 0xc7, 0x6b, 0x21, 0x78, 0x8d, 0xc7, 0xe7, 0x21, 0xc3, 0x8f, 0x26, 0x3c, 0x36, 0x19, 0x82, 0x4d, + 0xca, 0x76, 0x17, 0x06, 0x93, 0xa8, 0x48, 0x4f, 0xf5, 0x49, 0x17, 0x61, 0x08, 0x89, 0x22, 0xc9, + 0xf0, 0x24, 0x9f, 0x80, 0xd3, 0x61, 0x43, 0x46, 0x08, 0xc7, 0x3c, 0xcf, 0x31, 0x8e, 0x6a, 0xc4, + 0xa0, 0xd8, 0x33, 0xdb, 0x52, 0xe1, 0x34, 0xf3, 0x12, 0x4c, 0x85, 0x0c, 0x1c, 0x21, 0xb4, 0x8b, + 0x62, 0x35, 0x96, 0xe5, 0x68, 0xf1, 0x20, 0xd0, 0xb0, 0x0f, 0xb7, 0x9d, 0x86, 0xed, 0xf1, 0x55, + 0xd9, 0xd7, 0xa7, 0x60, 0x9c, 0x0e, 0x4f, 0x5b, 0x9d, 0xba, 0xd5, 0xb1, 0xea, 0xfa, 0x9f, 0xe9, + 0x5f, 0x3b, 0x2d, 0xf5, 0x0e, 0x6a, 0x14, 0x75, 0x82, 0x12, 0xea, 0xa5, 0xbe, 0x25, 0xd4, 0xa5, + 0x68, 0xfa, 0xa8, 0x4a, 0xaa, 0xd4, 0x53, 0x49, 0x3d, 0xd1, 0x9f, 0xb4, 0x5f, 0x41, 0x55, 0xea, + 0x29, 0xa8, 0x06, 0x93, 0x84, 0xd6, 0x55, 0x6b, 0xbd, 0x75, 0xd5, 0x7c, 0x7f, 0x96, 0xfe, 0xe5, + 0xd5, 0x5a, 0x6f, 0x79, 0x15, 0xc1, 0x13, 0x5e, 0x65, 0xad, 0xf5, 0x56, 0x59, 0x03, 0x78, 0xfa, + 0x17, 0x5b, 0x6b, 0xbd, 0xc5, 0x56, 0x04, 0x4f, 0x78, 0xcd, 0xb5, 0x1e, 0x52, 0x73, 0x3d, 0xd9, + 0x9f, 0x68, 0x50, 0xe9, 0xb5, 0x11, 0x56, 0x7a, 0x2d, 0x0c, 0x50, 0x6a, 0x60, 0x05, 0xb6, 0x1e, + 0x52, 0x81, 0x45, 0x29, 0xd6, 0xa7, 0x10, 0xdb, 0x08, 0x2b, 0xc4, 0x22, 0x15, 0xeb, 0x57, 0x8f, + 0xfd, 0x82, 0x5c, 0x8f, 0x5d, 0xec, 0xcf, 0x14, 0x5e, 0x96, 0xad, 0xf5, 0x96, 0x65, 0xf3, 0x51, + 0x39, 0x17, 0x56, 0x9d, 0xbd, 0xd4, 0xb7, 0x3a, 0x1b, 0x22, 0x85, 0xa3, 0x8a, 0xb4, 0x17, 0xfb, + 0x15, 0x69, 0x8b, 0xd1, 0xdc, 0x83, 0x6b, 0xb5, 0xbd, 0x3e, 0xb5, 0xda, 0xd3, 0xd1, 0xc4, 0x3f, + 0x2f, 0xd9, 0x7e, 0x5e, 0xb2, 0xfd, 0xbc, 0x64, 0xfb, 0x79, 0xc9, 0xf6, 0xd3, 0x2f, 0xd9, 0xf2, + 0xf1, 0xcf, 0x7c, 0x69, 0x4e, 0xc9, 0xfd, 0x47, 0xd5, 0xff, 0x4b, 0x6b, 0x2f, 0x34, 0xbc, 0x23, + 0x34, 0xbc, 0x6d, 0x42, 0x06, 0xff, 0xf2, 0x6f, 0xcb, 0x6c, 0xb7, 0x1b, 0xf6, 0x21, 0xad, 0xd9, + 0x16, 0x7a, 0x97, 0x12, 0x29, 0x00, 0xff, 0x95, 0x99, 0x4d, 0x22, 0x4c, 0xa7, 0x1b, 0x3b, 0x68, + 0xd1, 0xef, 0x40, 0xba, 0xe5, 0x1e, 0xfa, 0x6c, 0xb1, 0x9e, 0x89, 0x50, 0x62, 0x23, 0x4f, 0x1a, + 0x90, 0x41, 0xcb, 0x6f, 0x40, 0xaa, 0xed, 0x1f, 0x7b, 0x81, 0x6a, 0x6a, 0x94, 0x6a, 0xc8, 0xa7, + 0xa2, 0x6a, 0xfb, 0x41, 0x0b, 0x0a, 0x5b, 0x59, 0xf7, 0xa8, 0x91, 0x4e, 0x08, 0x9e, 0x17, 0x60, + 0x42, 0xd2, 0x36, 0x24, 0xe7, 0x1f, 0xc0, 0x37, 0x48, 0x31, 0x59, 0xf3, 0xa8, 0x9c, 0xe0, 0x03, + 0x32, 0xf7, 0x28, 0x8c, 0x09, 0xdc, 0x7a, 0x06, 0x94, 0x03, 0xfa, 0x3d, 0x4a, 0xe5, 0x20, 0xf7, + 0x45, 0x05, 0xd2, 0xf4, 0x0c, 0xc1, 0xb6, 0xd9, 0xe8, 0xe8, 0xcf, 0x43, 0xbc, 0xc9, 0xbe, 0xcb, + 0xf4, 0xa0, 0xdf, 0x9b, 0xc5, 0x0c, 0xfa, 0x1a, 0x24, 0x3a, 0xfe, 0x77, 0x9d, 0x1e, 0xe8, 0xcb, + 0xb0, 0x18, 0x9e, 0xbb, 0xa7, 0xc0, 0x24, 0x3d, 0xe2, 0xea, 0xd2, 0x93, 0xcf, 0x66, 0x7b, 0xe6, + 0x6b, 0x0a, 0xa4, 0xfc, 0x2b, 0x7d, 0x1f, 0xc6, 0xfd, 0x0b, 0x72, 0xba, 0x9e, 0x44, 0x6a, 0x9e, + 0xb3, 0x70, 0x0f, 0xc7, 0x62, 0xc8, 0x27, 0xb2, 0x0b, 0x45, 0xe6, 0x64, 0xb1, 0x71, 0xa6, 0x00, + 0x53, 0x21, 0x62, 0x27, 0x99, 0x90, 0x73, 0xe7, 0x21, 0x55, 0x71, 0x3c, 0xf2, 0x93, 0x39, 0xfa, + 0x69, 0x6e, 0x57, 0xa1, 0x18, 0xd3, 0x4e, 0x61, 0xf0, 0xc2, 0x79, 0x18, 0xa5, 0xd9, 0xaf, 0x8f, + 0x40, 0x6c, 0xb3, 0xa0, 0x9d, 0xc2, 0xff, 0x17, 0x35, 0x05, 0xff, 0x5f, 0xd2, 0x62, 0xc5, 0x8d, + 0x0f, 0x72, 0x8b, 0x69, 0x7f, 0x84, 0x98, 0xe7, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x29, + 0xc0, 0x35, 0xbf, 0x83, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -11518,112 +11626,3 @@ var ( ErrInvalidLengthTheproto3 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTheproto3 = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/both/theproto3.proto", fileDescriptor_theproto3_4dec23a2a081e9e0) -} - -var fileDescriptor_theproto3_4dec23a2a081e9e0 = []byte{ - // 1602 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, - 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0x8b, 0xa5, 0x65, 0x05, - 0x48, 0x94, 0x60, 0x23, 0x67, 0x9d, 0x64, 0x37, 0xeb, 0xa6, 0x4d, 0x2d, 0xc5, 0x42, 0xdc, 0xd8, - 0x8a, 0x2b, 0xd9, 0x71, 0x8b, 0x00, 0x35, 0x28, 0x9b, 0x96, 0x88, 0x48, 0xa4, 0x21, 0x8e, 0x82, - 0xfa, 0x96, 0x3f, 0xa3, 0xb7, 0xa2, 0xb7, 0x1e, 0x8b, 0x1c, 0x8a, 0x1e, 0xdb, 0x9b, 0x8f, 0x01, - 0x7a, 0x29, 0x7a, 0x08, 0x62, 0xf5, 0x92, 0x63, 0x8e, 0x39, 0x16, 0x33, 0x43, 0x49, 0x23, 0x72, - 0x28, 0x36, 0xbd, 0xf4, 0xe2, 0x93, 0x38, 0xcf, 0xef, 0xfb, 0x99, 0xc7, 0xe1, 0xcc, 0xe3, 0x17, - 0x34, 0xfc, 0xf3, 0xc0, 0xea, 0xb5, 0x2c, 0x7b, 0xb9, 0x65, 0x91, 0xce, 0x32, 0xe9, 0xe8, 0xc7, - 0x7d, 0x8b, 0x58, 0x37, 0xcb, 0xec, 0x07, 0xa7, 0xc6, 0x81, 0x85, 0xeb, 0x6d, 0x83, 0x74, 0x06, - 0xad, 0xf2, 0x81, 0xd5, 0x5b, 0x6e, 0x5b, 0x6d, 0x6b, 0x99, 0xc5, 0x5b, 0x83, 0x23, 0x36, 0x62, - 0x03, 0x76, 0xc5, 0x95, 0x0b, 0xff, 0xf3, 0x4d, 0x27, 0xba, 0x4d, 0x96, 0x5d, 0x93, 0xd2, 0x18, - 0x17, 0x16, 0x7f, 0x8a, 0x41, 0x62, 0x4b, 0xb7, 0x6d, 0xad, 0xad, 0x63, 0x0c, 0x51, 0x53, 0xeb, - 0xe9, 0x79, 0x54, 0x40, 0xa5, 0x54, 0x83, 0x5d, 0xe3, 0xdb, 0x90, 0xec, 0x18, 0x5d, 0xad, 0x6f, - 0x90, 0x93, 0x7c, 0xb8, 0x80, 0x4a, 0xb9, 0x95, 0x7f, 0x94, 0x27, 0x65, 0x3b, 0xca, 0xf2, 0x83, - 0x41, 0xcf, 0x1a, 0xf4, 0x1b, 0xe3, 0x54, 0x5c, 0x80, 0x4c, 0x47, 0x37, 0xda, 0x1d, 0xb2, 0x6f, - 0x98, 0xfb, 0x07, 0xbd, 0x7c, 0xa4, 0x80, 0x4a, 0xd9, 0x06, 0xf0, 0xd8, 0x86, 0x59, 0xed, 0xd1, - 0xc9, 0x0e, 0x35, 0xa2, 0xe5, 0xa3, 0x05, 0x54, 0xca, 0x34, 0xd8, 0x35, 0x56, 0x20, 0xf2, 0x54, - 0x3f, 0xc9, 0xc7, 0x0a, 0x91, 0x52, 0xb4, 0x41, 0x2f, 0xf1, 0x55, 0x88, 0x9b, 0xba, 0x4d, 0xf4, - 0xc3, 0x7c, 0xbc, 0x80, 0x4a, 0xe9, 0x95, 0x79, 0x61, 0xf2, 0x3a, 0xfb, 0x43, 0xc3, 0x49, 0xc0, - 0x4b, 0x90, 0xe9, 0xeb, 0xf6, 0xa0, 0x4b, 0xf6, 0x0f, 0xac, 0x81, 0x49, 0xf2, 0x89, 0x02, 0x2a, - 0x45, 0x1a, 0x69, 0x1e, 0xab, 0xd2, 0x10, 0xbe, 0x04, 0x59, 0xd2, 0x1f, 0xe8, 0xfb, 0xf6, 0x81, - 0x45, 0xec, 0x9e, 0x66, 0xe6, 0x93, 0x05, 0x54, 0x4a, 0x36, 0x32, 0x34, 0xd8, 0x74, 0x62, 0xf8, - 0x22, 0xc4, 0xec, 0x03, 0xab, 0xaf, 0xe7, 0x53, 0x05, 0x54, 0x0a, 0x37, 0xf8, 0x00, 0xff, 0x1f, - 0x12, 0x44, 0xef, 0xf7, 0x35, 0xc3, 0xcc, 0x43, 0x21, 0x52, 0x4a, 0xaf, 0x2c, 0x4a, 0x96, 0x61, - 0x87, 0x67, 0xac, 0x9b, 0xa4, 0x7f, 0xd2, 0x18, 0xe5, 0xe3, 0xdb, 0x90, 0x61, 0x79, 0x2b, 0xfb, - 0x47, 0x86, 0xde, 0x3d, 0xcc, 0xa7, 0xd9, 0x9d, 0xe0, 0x32, 0x7b, 0x0a, 0x75, 0xc3, 0x7c, 0x74, - 0x4c, 0xea, 0x1a, 0x31, 0x9e, 0xe9, 0x8d, 0x34, 0xcf, 0xab, 0xd1, 0x34, 0x5c, 0x1b, 0xcb, 0x9e, - 0x69, 0xdd, 0x81, 0x9e, 0xcf, 0xb2, 0x69, 0x2f, 0x49, 0xa6, 0xdd, 0x66, 0x69, 0x8f, 0x69, 0x16, - 0x9f, 0xda, 0xe1, 0xb0, 0xc8, 0xc2, 0x16, 0x64, 0xc4, 0xba, 0x46, 0x8b, 0x8c, 0xd8, 0xf2, 0xb0, - 0x45, 0xbe, 0x02, 0x31, 0x3e, 0x45, 0xd8, 0x6f, 0x8d, 0xf9, 0xdf, 0x57, 0xc3, 0x77, 0xd0, 0xc2, - 0x36, 0x28, 0xee, 0xf9, 0x24, 0xc8, 0xcb, 0xd3, 0x48, 0x45, 0xbc, 0xd9, 0x75, 0x73, 0xd0, 0x13, - 0x88, 0xc5, 0x7b, 0x10, 0xe7, 0xfb, 0x07, 0xa7, 0x21, 0xb1, 0x5b, 0x7f, 0x58, 0x7f, 0xb4, 0x57, - 0x57, 0x42, 0x38, 0x09, 0xd1, 0xed, 0xdd, 0x7a, 0x53, 0x41, 0x38, 0x0b, 0xa9, 0xe6, 0xe6, 0xda, - 0x76, 0x73, 0x67, 0xa3, 0xfa, 0x50, 0x09, 0xe3, 0x39, 0x48, 0x57, 0x36, 0x36, 0x37, 0xf7, 0x2b, - 0x6b, 0x1b, 0x9b, 0xeb, 0x9f, 0x2b, 0x91, 0xa2, 0x0a, 0x71, 0x5e, 0x27, 0x7d, 0x76, 0xad, 0x81, - 0x69, 0x9e, 0x38, 0x5b, 0x98, 0x0f, 0x8a, 0x2f, 0x30, 0x24, 0xd6, 0xba, 0xdd, 0x2d, 0xed, 0xd8, - 0xc6, 0x7b, 0x30, 0xdf, 0x24, 0x7d, 0xc3, 0x6c, 0xef, 0x58, 0xf7, 0xad, 0x41, 0xab, 0xab, 0x6f, - 0x69, 0xc7, 0x79, 0xc4, 0x96, 0xf6, 0xaa, 0x70, 0xdf, 0x4e, 0x7a, 0xd9, 0x93, 0xcb, 0x17, 0xd8, - 0xcb, 0xc0, 0x3b, 0xa0, 0x8c, 0x82, 0xb5, 0xae, 0xa5, 0x11, 0xca, 0x0d, 0x33, 0x6e, 0x69, 0x06, - 0x77, 0x94, 0xca, 0xb1, 0x1e, 0x02, 0xbe, 0x0b, 0xc9, 0x0d, 0x93, 0xdc, 0x5c, 0xa1, 0xb4, 0x08, - 0xa3, 0x15, 0x24, 0xb4, 0x51, 0x0a, 0xa7, 0x8c, 0x15, 0x8e, 0xfa, 0xbf, 0xb7, 0xa8, 0x3a, 0x3a, - 0x4b, 0xcd, 0x52, 0x26, 0x6a, 0x36, 0xc4, 0xf7, 0x20, 0xb5, 0x6b, 0x8c, 0x26, 0x8f, 0x31, 0xf9, - 0x92, 0x44, 0x3e, 0xce, 0xe1, 0xfa, 0x89, 0x66, 0x04, 0xe0, 0xf3, 0xc7, 0x67, 0x02, 0x84, 0x02, - 0x26, 0x1a, 0x0a, 0x68, 0x8e, 0x2b, 0x48, 0xf8, 0x02, 0x9a, 0xae, 0x0a, 0x9a, 0x62, 0x05, 0xcd, - 0x71, 0x05, 0xc9, 0x99, 0x00, 0xb1, 0x82, 0xf1, 0x18, 0x57, 0x00, 0x6a, 0xc6, 0x97, 0xfa, 0x21, - 0x2f, 0x21, 0xc5, 0x08, 0x45, 0x09, 0x61, 0x92, 0xc4, 0x11, 0x82, 0x0a, 0xaf, 0x43, 0xba, 0x79, - 0x34, 0x81, 0x80, 0xe7, 0x1c, 0x8f, 0xcb, 0x38, 0x72, 0x51, 0x44, 0xdd, 0xb8, 0x14, 0x7e, 0x33, - 0xe9, 0xd9, 0xa5, 0x08, 0x77, 0x23, 0xa8, 0x26, 0xa5, 0x70, 0x48, 0x26, 0xa0, 0x14, 0x81, 0x22, - 0xea, 0x68, 0x33, 0xac, 0x58, 0x16, 0xcd, 0x74, 0xba, 0xd2, 0xa2, 0x04, 0xe1, 0x64, 0x38, 0xcd, - 0xd0, 0x19, 0xb1, 0x27, 0xc2, 0x36, 0x39, 0x15, 0xe7, 0xfc, 0x9f, 0xc8, 0x28, 0x67, 0xf4, 0x44, - 0x46, 0x63, 0xf1, 0x9c, 0x55, 0x4e, 0x88, 0x6e, 0x53, 0xce, 0x5c, 0xe0, 0x39, 0x1b, 0xa5, 0xba, - 0xce, 0xd9, 0x28, 0x8c, 0x3f, 0x85, 0xb9, 0x51, 0x8c, 0xb6, 0x27, 0x0a, 0x55, 0x18, 0xf4, 0xca, - 0x0c, 0xa8, 0x93, 0xc9, 0x99, 0x6e, 0x3d, 0xae, 0x43, 0x6e, 0x14, 0xda, 0xb2, 0xd9, 0xed, 0xce, - 0x33, 0xe2, 0xe5, 0x19, 0x44, 0x9e, 0xc8, 0x81, 0x2e, 0xf5, 0xc2, 0x7d, 0xf8, 0xbb, 0xbc, 0x1b, - 0x89, 0xed, 0x37, 0xc5, 0xdb, 0xef, 0x45, 0xb1, 0xfd, 0x22, 0xb1, 0x7d, 0x57, 0xe1, 0x6f, 0xd2, - 0xde, 0x13, 0x04, 0x09, 0x8b, 0x90, 0x0f, 0x20, 0x3b, 0xd5, 0x72, 0x44, 0x71, 0x4c, 0x22, 0x8e, - 0x79, 0xc5, 0x93, 0xad, 0x25, 0x79, 0x7b, 0x4c, 0x89, 0x23, 0xa2, 0xf8, 0x2e, 0xe4, 0xa6, 0xfb, - 0x8d, 0xa8, 0xce, 0x4a, 0xd4, 0x59, 0x89, 0x5a, 0x3e, 0x77, 0x54, 0xa2, 0x8e, 0xba, 0xd4, 0x4d, - 0xdf, 0xb9, 0xe7, 0x25, 0xea, 0x79, 0x89, 0x5a, 0x3e, 0x37, 0x96, 0xa8, 0xb1, 0xa8, 0xfe, 0x10, - 0xe6, 0x5c, 0x2d, 0x46, 0x94, 0x27, 0x24, 0xf2, 0x84, 0x28, 0xff, 0x08, 0x14, 0x77, 0x73, 0x11, - 0xf5, 0x73, 0x12, 0xfd, 0x9c, 0x6c, 0x7a, 0x79, 0xf5, 0x71, 0x89, 0x3c, 0x2e, 0x9d, 0x5e, 0xae, - 0x57, 0x24, 0x7a, 0x45, 0xd4, 0xaf, 0x42, 0x46, 0xec, 0x26, 0xa2, 0x36, 0x29, 0xd1, 0x26, 0xdd, - 0xeb, 0x3e, 0xd5, 0x4c, 0x82, 0x76, 0x7a, 0xca, 0xe7, 0xb8, 0x4c, 0xb5, 0x90, 0x20, 0x48, 0x46, - 0x84, 0x3c, 0x86, 0x8b, 0xb2, 0x96, 0x21, 0x61, 0x94, 0x44, 0x46, 0x8e, 0x7a, 0xc4, 0x89, 0xd9, - 0xa3, 0xaa, 0x29, 0xe3, 0xb4, 0xf0, 0x04, 0x2e, 0x48, 0x1a, 0x87, 0x04, 0x5b, 0x9e, 0x76, 0x63, - 0x79, 0x01, 0xcb, 0x9a, 0x80, 0x61, 0xb6, 0xb7, 0x2d, 0xc3, 0x24, 0xa2, 0x2b, 0xfb, 0xfe, 0x02, - 0xe4, 0x9c, 0xf6, 0xf4, 0xa8, 0x7f, 0xa8, 0xf7, 0xf5, 0x43, 0xfc, 0x85, 0xbf, 0x77, 0xba, 0xe1, - 0x6d, 0x6a, 0x8e, 0xea, 0x3d, 0x2c, 0xd4, 0x13, 0x5f, 0x0b, 0xb5, 0x1c, 0x8c, 0x0f, 0x72, 0x52, - 0x55, 0x8f, 0x93, 0xba, 0xe2, 0x0f, 0xf5, 0x33, 0x54, 0x55, 0x8f, 0xa1, 0x9a, 0x0d, 0x91, 0xfa, - 0xaa, 0x9a, 0xd7, 0x57, 0x95, 0xfc, 0x29, 0xfe, 0xf6, 0xaa, 0xe6, 0xb5, 0x57, 0x01, 0x1c, 0xb9, - 0xcb, 0xaa, 0x79, 0x5d, 0xd6, 0x0c, 0x8e, 0xbf, 0xd9, 0xaa, 0x79, 0xcd, 0x56, 0x00, 0x47, 0xee, - 0xb9, 0x36, 0x24, 0x9e, 0xeb, 0xaa, 0x3f, 0x68, 0x96, 0xf5, 0xda, 0x94, 0x59, 0xaf, 0x6b, 0x33, - 0x8a, 0x9a, 0xe9, 0xc0, 0x36, 0x24, 0x0e, 0x2c, 0xa8, 0x30, 0x1f, 0x23, 0xb6, 0x29, 0x33, 0x62, - 0x81, 0x85, 0xf9, 0xf9, 0xb1, 0x8f, 0xdd, 0x7e, 0xec, 0xb2, 0x3f, 0x49, 0x6e, 0xcb, 0x6a, 0x5e, - 0x5b, 0x56, 0x0a, 0x3a, 0x73, 0x32, 0x77, 0xf6, 0xc4, 0xd7, 0x9d, 0xfd, 0x81, 0x23, 0x1c, 0x64, - 0xd2, 0x3e, 0xf3, 0x33, 0x69, 0xe5, 0x60, 0xf6, 0x6c, 0xaf, 0xb6, 0xeb, 0xe3, 0xd5, 0xae, 0x07, - 0x83, 0xcf, 0x2d, 0xdb, 0xb9, 0x65, 0x3b, 0xb7, 0x6c, 0xe7, 0x96, 0xed, 0xaf, 0xb7, 0x6c, 0xab, - 0xd1, 0xaf, 0xbe, 0x59, 0x44, 0xc5, 0x9f, 0x23, 0x90, 0x73, 0xbe, 0x0c, 0xee, 0x19, 0xa4, 0x43, - 0xdb, 0xdb, 0x16, 0x64, 0x4c, 0xad, 0xa7, 0xef, 0xf7, 0xb4, 0xe3, 0x63, 0xc3, 0x6c, 0x3b, 0x9e, - 0xed, 0x9a, 0xf7, 0x53, 0xa2, 0x23, 0x28, 0xd7, 0xb5, 0x1e, 0xed, 0x55, 0x34, 0xd9, 0x79, 0xdd, - 0x98, 0x93, 0x08, 0xfe, 0x04, 0xd2, 0x3d, 0xbb, 0x3d, 0xa6, 0x85, 0x3d, 0x2f, 0x42, 0x17, 0x8d, - 0xdf, 0xe9, 0x04, 0x06, 0xbd, 0x71, 0x80, 0x96, 0xd6, 0x3a, 0x21, 0x93, 0xd2, 0x22, 0x41, 0xa5, - 0xd1, 0x67, 0x3a, 0x5d, 0x5a, 0x6b, 0x12, 0xa1, 0xdb, 0xd6, 0x5d, 0x7b, 0x50, 0xa7, 0x9b, 0xda, - 0x3c, 0x7b, 0x30, 0xe7, 0xaa, 0x56, 0x72, 0xe6, 0xff, 0xc4, 0xb3, 0xa1, 0x85, 0xb9, 0x2b, 0x0f, - 0x3a, 0x13, 0xe2, 0x86, 0x2c, 0xfe, 0x0b, 0xb2, 0x53, 0x6c, 0x9c, 0x01, 0x74, 0xc4, 0xa4, 0xa8, - 0x81, 0x8e, 0x8a, 0x5f, 0x23, 0x48, 0xd3, 0x3e, 0xf9, 0x9f, 0x95, 0x3b, 0xdb, 0x9a, 0xd1, 0xc7, - 0x0f, 0x20, 0xda, 0xd5, 0x8f, 0x08, 0x4b, 0xc8, 0x54, 0x6e, 0x9d, 0xbe, 0x5a, 0x0c, 0xfd, 0xfa, - 0x6a, 0xf1, 0xdf, 0x01, 0xff, 0x25, 0x18, 0xd8, 0xc4, 0xea, 0x95, 0x1d, 0x4e, 0x83, 0x11, 0x70, - 0x0d, 0x62, 0x7d, 0xa3, 0xdd, 0x21, 0xbc, 0xa4, 0xca, 0x8d, 0xf7, 0xc6, 0x70, 0x79, 0xf1, 0x14, - 0xc1, 0x7c, 0xd5, 0x32, 0x89, 0x66, 0x98, 0x36, 0xff, 0x5a, 0x4b, 0xdf, 0x90, 0x2f, 0x10, 0xa4, - 0xc6, 0x23, 0xdc, 0x82, 0xdc, 0x78, 0xc0, 0x3e, 0x82, 0x3b, 0x3b, 0x75, 0x55, 0x58, 0x61, 0x0f, - 0xa3, 0x2c, 0xb9, 0x62, 0x62, 0xe7, 0x9d, 0x3c, 0x1d, 0x5c, 0x58, 0x83, 0x0b, 0x92, 0xb4, 0xf7, - 0x79, 0x21, 0x17, 0x97, 0x20, 0x55, 0xb7, 0xc8, 0xb6, 0x76, 0xf0, 0x94, 0x7d, 0x72, 0x9e, 0xfc, - 0xcf, 0xa2, 0x12, 0x56, 0x42, 0x4c, 0x7c, 0x6d, 0x09, 0x12, 0xce, 0xe9, 0xc7, 0x71, 0x08, 0x6f, - 0xad, 0x29, 0x21, 0xf6, 0x5b, 0x51, 0x10, 0xfb, 0xad, 0x2a, 0xe1, 0xca, 0xe6, 0xe9, 0x99, 0x1a, - 0x7a, 0x79, 0xa6, 0x86, 0x7e, 0x39, 0x53, 0x43, 0xaf, 0xcf, 0x54, 0xf4, 0xe6, 0x4c, 0x45, 0x6f, - 0xcf, 0x54, 0xf4, 0xee, 0x4c, 0x45, 0xcf, 0x87, 0x2a, 0xfa, 0x76, 0xa8, 0xa2, 0xef, 0x86, 0x2a, - 0xfa, 0x61, 0xa8, 0xa2, 0x1f, 0x87, 0x2a, 0x3a, 0x1d, 0xaa, 0xe8, 0xe5, 0x50, 0x45, 0xaf, 0x87, - 0x2a, 0x7a, 0x33, 0x54, 0x43, 0x6f, 0x87, 0x2a, 0x7a, 0x37, 0x54, 0x43, 0xcf, 0x7f, 0x53, 0x43, - 0xad, 0x38, 0x5f, 0x9e, 0xdf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x77, 0x56, 0x01, 0x1d, 0x60, 0x1a, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/theproto3/combos/marshaler/theproto3.pb.go b/vendor/github.com/gogo/protobuf/test/theproto3/combos/marshaler/theproto3.pb.go index 7d9b64549..ca461a748 100644 --- a/vendor/github.com/gogo/protobuf/test/theproto3/combos/marshaler/theproto3.pb.go +++ b/vendor/github.com/gogo/protobuf/test/theproto3/combos/marshaler/theproto3.pb.go @@ -3,27 +3,24 @@ package theproto3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import both "github.com/gogo/protobuf/test/combos/both" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + both "github.com/gogo/protobuf/test/combos/both" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -49,6 +46,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -56,7 +54,7 @@ var MapEnum_value = map[string]int32{ } func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{0} + return fileDescriptor_4462241b2b2fd08a, []int{0} } type Message_Humour int32 @@ -74,6 +72,7 @@ var Message_Humour_name = map[int32]string{ 2: "SLAPSTICK", 3: "BILL_BAILEY", } + var Message_Humour_value = map[string]int32{ "UNKNOWN": 0, "PUNS": 1, @@ -82,7 +81,7 @@ var Message_Humour_value = map[string]int32{ } func (Message_Humour) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{0, 0} + return fileDescriptor_4462241b2b2fd08a, []int{0, 0} } type Message struct { @@ -106,7 +105,7 @@ type Message struct { func (m *Message) Reset() { *m = Message{} } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{0} + return fileDescriptor_4462241b2b2fd08a, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Message.Unmarshal(m, b) @@ -123,8 +122,8 @@ func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return m.Size() @@ -145,7 +144,7 @@ type Nested struct { func (m *Nested) Reset() { *m = Nested{} } func (*Nested) ProtoMessage() {} func (*Nested) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{1} + return fileDescriptor_4462241b2b2fd08a, []int{1} } func (m *Nested) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Nested.Unmarshal(m, b) @@ -162,8 +161,8 @@ func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Nested) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nested.Merge(dst, src) +func (m *Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nested.Merge(m, src) } func (m *Nested) XXX_Size() int { return m.Size() @@ -200,7 +199,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{2} + return fileDescriptor_4462241b2b2fd08a, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMaps.Unmarshal(m, b) @@ -217,8 +216,8 @@ func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return m.Size() @@ -255,7 +254,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{3} + return fileDescriptor_4462241b2b2fd08a, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMapsOrdered.Unmarshal(m, b) @@ -268,8 +267,8 @@ func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro } return b[:n], nil } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return m.Size() @@ -292,7 +291,7 @@ type MessageWithMap struct { func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } func (*MessageWithMap) ProtoMessage() {} func (*MessageWithMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{4} + return fileDescriptor_4462241b2b2fd08a, []int{4} } func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageWithMap.Unmarshal(m, b) @@ -309,8 +308,8 @@ func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (dst *MessageWithMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageWithMap.Merge(dst, src) +func (m *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(m, src) } func (m *MessageWithMap) XXX_Size() int { return m.Size() @@ -331,7 +330,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{5} + return fileDescriptor_4462241b2b2fd08a, []int{5} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FloatingPoint.Unmarshal(m, b) @@ -348,8 +347,8 @@ func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return m.Size() @@ -371,7 +370,7 @@ type Uint128Pair struct { func (m *Uint128Pair) Reset() { *m = Uint128Pair{} } func (*Uint128Pair) ProtoMessage() {} func (*Uint128Pair) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{6} + return fileDescriptor_4462241b2b2fd08a, []int{6} } func (m *Uint128Pair) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Uint128Pair.Unmarshal(m, b) @@ -388,8 +387,8 @@ func (m *Uint128Pair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *Uint128Pair) XXX_Merge(src proto.Message) { - xxx_messageInfo_Uint128Pair.Merge(dst, src) +func (m *Uint128Pair) XXX_Merge(src proto.Message) { + xxx_messageInfo_Uint128Pair.Merge(m, src) } func (m *Uint128Pair) XXX_Size() int { return m.Size() @@ -409,7 +408,7 @@ type ContainsNestedMap struct { func (m *ContainsNestedMap) Reset() { *m = ContainsNestedMap{} } func (*ContainsNestedMap) ProtoMessage() {} func (*ContainsNestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{7} + return fileDescriptor_4462241b2b2fd08a, []int{7} } func (m *ContainsNestedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ContainsNestedMap.Unmarshal(m, b) @@ -426,8 +425,8 @@ func (m *ContainsNestedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, e return b[:n], nil } } -func (dst *ContainsNestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap.Merge(dst, src) +func (m *ContainsNestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap.Merge(m, src) } func (m *ContainsNestedMap) XXX_Size() int { return m.Size() @@ -448,7 +447,7 @@ type ContainsNestedMap_NestedMap struct { func (m *ContainsNestedMap_NestedMap) Reset() { *m = ContainsNestedMap_NestedMap{} } func (*ContainsNestedMap_NestedMap) ProtoMessage() {} func (*ContainsNestedMap_NestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{7, 0} + return fileDescriptor_4462241b2b2fd08a, []int{7, 0} } func (m *ContainsNestedMap_NestedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ContainsNestedMap_NestedMap.Unmarshal(m, b) @@ -465,8 +464,8 @@ func (m *ContainsNestedMap_NestedMap) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (dst *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(dst, src) +func (m *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(m, src) } func (m *ContainsNestedMap_NestedMap) XXX_Size() int { return m.Size() @@ -487,7 +486,7 @@ type NotPacked struct { func (m *NotPacked) Reset() { *m = NotPacked{} } func (*NotPacked) ProtoMessage() {} func (*NotPacked) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_2741054169128c6d, []int{8} + return fileDescriptor_4462241b2b2fd08a, []int{8} } func (m *NotPacked) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NotPacked.Unmarshal(m, b) @@ -504,8 +503,8 @@ func (m *NotPacked) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NotPacked) XXX_Merge(src proto.Message) { - xxx_messageInfo_NotPacked.Merge(dst, src) +func (m *NotPacked) XXX_Merge(src proto.Message) { + xxx_messageInfo_NotPacked.Merge(m, src) } func (m *NotPacked) XXX_Size() int { return m.Size() @@ -517,6 +516,8 @@ func (m *NotPacked) XXX_DiscardUnknown() { var xxx_messageInfo_NotPacked proto.InternalMessageInfo func init() { + proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) + proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) proto.RegisterType((*Message)(nil), "theproto3.Message") proto.RegisterMapType((map[int64]*both.NinOptEnum)(nil), "theproto3.Message.Proto2ValueEntry") proto.RegisterMapType((map[int64]*Nested)(nil), "theproto3.Message.TerrainEntry") @@ -567,9 +568,115 @@ func init() { proto.RegisterType((*ContainsNestedMap_NestedMap)(nil), "theproto3.ContainsNestedMap.NestedMap") proto.RegisterMapType((map[string]float64)(nil), "theproto3.ContainsNestedMap.NestedMap.NestedMapFieldEntry") proto.RegisterType((*NotPacked)(nil), "theproto3.NotPacked") - proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) - proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) } + +func init() { proto.RegisterFile("combos/marshaler/theproto3.proto", fileDescriptor_4462241b2b2fd08a) } + +var fileDescriptor_4462241b2b2fd08a = []byte{ + // 1610 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, + 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0xc0, 0xd2, 0xb2, 0x02, + 0x24, 0x4a, 0xb0, 0x91, 0xb3, 0x4e, 0xb2, 0x9b, 0xba, 0x69, 0x53, 0x4b, 0xb1, 0x10, 0x37, 0xb6, + 0xe2, 0x4a, 0x76, 0xdc, 0x22, 0x40, 0x0d, 0xca, 0xa6, 0x25, 0x22, 0x12, 0x69, 0x90, 0xa3, 0xa0, + 0xbe, 0xe5, 0xcf, 0xe8, 0xad, 0xe8, 0xad, 0xc7, 0x22, 0x87, 0xa2, 0xc7, 0xf6, 0xe6, 0x63, 0x80, + 0x5e, 0x8a, 0x1e, 0x82, 0x58, 0xbd, 0xe4, 0x98, 0x63, 0x8e, 0xc5, 0xcc, 0x50, 0xd2, 0x48, 0x1c, + 0x8a, 0x4d, 0x2f, 0xbd, 0xf8, 0x24, 0xce, 0xf3, 0xfb, 0x7e, 0xe6, 0x71, 0x38, 0xf3, 0xf8, 0x05, + 0x0d, 0x85, 0x03, 0xab, 0xd7, 0xb2, 0x9c, 0xe5, 0x9e, 0x66, 0x3b, 0x1d, 0xad, 0xab, 0xdb, 0xcb, + 0xa4, 0xa3, 0x1f, 0xdb, 0x16, 0xb1, 0x6e, 0x96, 0xd9, 0x0f, 0x4e, 0x8d, 0x02, 0x0b, 0xd7, 0xdb, + 0x06, 0xe9, 0xf4, 0x5b, 0xe5, 0x03, 0xab, 0xb7, 0xdc, 0xb6, 0xda, 0xd6, 0x32, 0x8b, 0xb7, 0xfa, + 0x47, 0x6c, 0xc4, 0x06, 0xec, 0x8a, 0x2b, 0x17, 0xfe, 0xef, 0x9b, 0x4e, 0x74, 0x87, 0x2c, 0xbb, + 0x33, 0xb7, 0x2c, 0xd2, 0xa1, 0x93, 0xd2, 0x18, 0x17, 0x16, 0x7f, 0x8e, 0x41, 0x62, 0x4b, 0x77, + 0x1c, 0xad, 0xad, 0x63, 0x0c, 0x51, 0x53, 0xeb, 0xe9, 0x79, 0x54, 0x40, 0xa5, 0x54, 0x83, 0x5d, + 0xe3, 0xdb, 0x90, 0xec, 0x18, 0x5d, 0xcd, 0x36, 0xc8, 0x49, 0x3e, 0x5c, 0x40, 0xa5, 0xdc, 0xca, + 0xbf, 0xca, 0xe3, 0xb2, 0x5d, 0x65, 0xf9, 0x41, 0xbf, 0x67, 0xf5, 0xed, 0xc6, 0x28, 0x15, 0x17, + 0x20, 0xd3, 0xd1, 0x8d, 0x76, 0x87, 0xec, 0x1b, 0xe6, 0xfe, 0x41, 0x2f, 0x1f, 0x29, 0xa0, 0x52, + 0xb6, 0x01, 0x3c, 0xb6, 0x61, 0x56, 0x7b, 0x74, 0xb2, 0x43, 0x8d, 0x68, 0xf9, 0x68, 0x01, 0x95, + 0x32, 0x0d, 0x76, 0x8d, 0x97, 0x20, 0x63, 0xeb, 0x4e, 0xbf, 0x4b, 0xf6, 0x0f, 0xac, 0xbe, 0x49, + 0xf2, 0x89, 0x02, 0x2a, 0x45, 0x1a, 0x69, 0x1e, 0xab, 0xd2, 0x10, 0xbe, 0x04, 0x59, 0x62, 0xf7, + 0xf5, 0x7d, 0xe7, 0xc0, 0x22, 0x4e, 0x4f, 0x33, 0xf3, 0xc9, 0x02, 0x2a, 0x25, 0x1b, 0x19, 0x1a, + 0x6c, 0xba, 0x31, 0x7c, 0x11, 0x62, 0xce, 0x81, 0x65, 0xeb, 0xf9, 0x54, 0x01, 0x95, 0xc2, 0x0d, + 0x3e, 0xc0, 0x0a, 0x44, 0x9e, 0xea, 0x27, 0xf9, 0x58, 0x21, 0x52, 0x8a, 0x36, 0xe8, 0x25, 0xbe, + 0x0a, 0x71, 0x53, 0x77, 0x88, 0x7e, 0x98, 0x8f, 0x17, 0x50, 0x29, 0xbd, 0x32, 0x2f, 0xdc, 0x5a, + 0x9d, 0xfd, 0xa1, 0xe1, 0x26, 0xe0, 0x0f, 0x20, 0x41, 0x74, 0xdb, 0xd6, 0x0c, 0x33, 0x0f, 0x85, + 0x48, 0x29, 0xbd, 0xb2, 0x28, 0x59, 0x86, 0x1d, 0x9e, 0xb1, 0x6e, 0x12, 0xfb, 0xa4, 0x31, 0xcc, + 0xc7, 0xb7, 0x21, 0xc3, 0xf2, 0x56, 0xf6, 0x8f, 0x0c, 0xbd, 0x7b, 0x98, 0x4f, 0xb3, 0xb9, 0x70, + 0x99, 0x3d, 0x85, 0xba, 0x61, 0x3e, 0x3a, 0x26, 0x75, 0x8d, 0x18, 0xcf, 0xf4, 0x46, 0x9a, 0xe7, + 0xd5, 0x68, 0x1a, 0xae, 0x8d, 0x64, 0xcf, 0xb4, 0x6e, 0x5f, 0xcf, 0x67, 0xd9, 0xb4, 0x97, 0x24, + 0xd3, 0x6e, 0xb3, 0xb4, 0xc7, 0x34, 0x8b, 0x4f, 0xed, 0x72, 0x58, 0x64, 0x61, 0x0b, 0x32, 0x62, + 0x5d, 0xc3, 0x65, 0x40, 0x6c, 0x6d, 0xd9, 0x32, 0x5c, 0x81, 0x18, 0x9f, 0x22, 0xec, 0xb7, 0x0a, + 0xfc, 0xef, 0xab, 0xe1, 0x3b, 0x68, 0x61, 0x1b, 0x94, 0xe9, 0xf9, 0x24, 0xc8, 0xcb, 0x93, 0x48, + 0x45, 0xbc, 0xd9, 0x75, 0xb3, 0xdf, 0x13, 0x88, 0xc5, 0x7b, 0x10, 0xe7, 0xfb, 0x07, 0xa7, 0x21, + 0xb1, 0x5b, 0x7f, 0x58, 0x7f, 0xb4, 0x57, 0x57, 0x42, 0x38, 0x09, 0xd1, 0xed, 0xdd, 0x7a, 0x53, + 0x41, 0x38, 0x0b, 0xa9, 0xe6, 0xe6, 0xda, 0x76, 0x73, 0x67, 0xa3, 0xfa, 0x50, 0x09, 0xe3, 0x39, + 0x48, 0x57, 0x36, 0x36, 0x37, 0xf7, 0x2b, 0x6b, 0x1b, 0x9b, 0xeb, 0x5f, 0x28, 0x91, 0xa2, 0x0a, + 0x71, 0x5e, 0x27, 0x7d, 0xf0, 0xad, 0xbe, 0x69, 0x9e, 0xb8, 0x5b, 0x98, 0x0f, 0x8a, 0x2f, 0x30, + 0x24, 0xd6, 0xba, 0xdd, 0x2d, 0xed, 0xd8, 0xc1, 0x7b, 0x30, 0xdf, 0x24, 0xb6, 0x61, 0xb6, 0x77, + 0xac, 0xfb, 0x56, 0xbf, 0xd5, 0xd5, 0xb7, 0xb4, 0xe3, 0x3c, 0x62, 0x4b, 0x7b, 0x55, 0xb8, 0x6f, + 0x37, 0xbd, 0xec, 0xc9, 0xe5, 0x0b, 0xec, 0x65, 0xe0, 0x1d, 0x50, 0x86, 0xc1, 0x5a, 0xd7, 0xd2, + 0x08, 0xe5, 0x86, 0x19, 0xb7, 0x34, 0x83, 0x3b, 0x4c, 0xe5, 0x58, 0x0f, 0x01, 0xdf, 0x85, 0xe4, + 0x86, 0x49, 0x6e, 0xae, 0x50, 0x5a, 0x84, 0xd1, 0x0a, 0x12, 0xda, 0x30, 0x85, 0x53, 0x46, 0x0a, + 0x57, 0xfd, 0xbf, 0x5b, 0x54, 0x1d, 0x9d, 0xa5, 0x66, 0x29, 0x63, 0x35, 0x1b, 0xe2, 0x7b, 0x90, + 0xda, 0x35, 0x86, 0x93, 0xc7, 0x98, 0x7c, 0x49, 0x22, 0x1f, 0xe5, 0x70, 0xfd, 0x58, 0x33, 0x04, + 0xf0, 0xf9, 0xe3, 0x33, 0x01, 0x42, 0x01, 0x63, 0x0d, 0x05, 0x34, 0x47, 0x15, 0x24, 0x7c, 0x01, + 0xcd, 0xa9, 0x0a, 0x9a, 0x62, 0x05, 0xcd, 0x51, 0x05, 0xc9, 0x99, 0x00, 0xb1, 0x82, 0xd1, 0x18, + 0x57, 0x00, 0x6a, 0xc6, 0x57, 0xfa, 0x21, 0x2f, 0x21, 0xc5, 0x08, 0x45, 0x09, 0x61, 0x9c, 0xc4, + 0x11, 0x82, 0x0a, 0xaf, 0x43, 0xba, 0x79, 0x34, 0x86, 0x80, 0xe7, 0x1c, 0x8f, 0xca, 0x38, 0x9a, + 0xa2, 0x88, 0xba, 0x51, 0x29, 0xfc, 0x66, 0xd2, 0xb3, 0x4b, 0x11, 0xee, 0x46, 0x50, 0x8d, 0x4b, + 0xe1, 0x90, 0x4c, 0x40, 0x29, 0x02, 0x45, 0xd4, 0xd1, 0x66, 0x58, 0xb1, 0x2c, 0x9a, 0xe9, 0x76, + 0xa5, 0x45, 0x09, 0xc2, 0xcd, 0x70, 0x9b, 0xa1, 0x3b, 0x62, 0x4f, 0x84, 0x6d, 0x72, 0x2a, 0xce, + 0xf9, 0x3f, 0x91, 0x61, 0xce, 0xf0, 0x89, 0x0c, 0xc7, 0xe2, 0x39, 0xab, 0x9c, 0x10, 0xdd, 0xa1, + 0x9c, 0xb9, 0xc0, 0x73, 0x36, 0x4c, 0x9d, 0x3a, 0x67, 0xc3, 0x30, 0xfe, 0x0c, 0xe6, 0x86, 0x31, + 0xda, 0x9e, 0x28, 0x54, 0x61, 0xd0, 0x2b, 0x33, 0xa0, 0x6e, 0x26, 0x67, 0x4e, 0xeb, 0x71, 0x1d, + 0x72, 0xc3, 0xd0, 0x96, 0xc3, 0x6e, 0x77, 0x9e, 0x11, 0x2f, 0xcf, 0x20, 0xf2, 0x44, 0x0e, 0x9c, + 0x52, 0x2f, 0xdc, 0x87, 0x7f, 0xca, 0xbb, 0x91, 0xd8, 0x7e, 0x53, 0xbc, 0xfd, 0x5e, 0x14, 0xdb, + 0x2f, 0x12, 0xdb, 0x77, 0x15, 0xfe, 0x21, 0xed, 0x3d, 0x41, 0x90, 0xb0, 0x08, 0xf9, 0x10, 0xb2, + 0x13, 0x2d, 0x47, 0x14, 0xc7, 0x24, 0xe2, 0x98, 0x57, 0x3c, 0xde, 0x5a, 0x92, 0xb7, 0xc7, 0x84, + 0x38, 0x22, 0x8a, 0xef, 0x42, 0x6e, 0xb2, 0xdf, 0x88, 0xea, 0xac, 0x44, 0x9d, 0x95, 0xa8, 0xe5, + 0x73, 0x47, 0x25, 0xea, 0xe8, 0x94, 0xba, 0xe9, 0x3b, 0xf7, 0xbc, 0x44, 0x3d, 0x2f, 0x51, 0xcb, + 0xe7, 0xc6, 0x12, 0x35, 0x16, 0xd5, 0x1f, 0xc1, 0xdc, 0x54, 0x8b, 0x11, 0xe5, 0x09, 0x89, 0x3c, + 0x21, 0xca, 0x3f, 0x06, 0x65, 0xba, 0xb9, 0x88, 0xfa, 0x39, 0x89, 0x7e, 0x4e, 0x36, 0xbd, 0xbc, + 0xfa, 0xb8, 0x44, 0x1e, 0x97, 0x4e, 0x2f, 0xd7, 0x2b, 0x12, 0xbd, 0x22, 0xea, 0x57, 0x21, 0x23, + 0x76, 0x13, 0x51, 0x9b, 0x94, 0x68, 0x93, 0xd3, 0xeb, 0x3e, 0xd1, 0x4c, 0x82, 0x76, 0x7a, 0xca, + 0xe7, 0xb8, 0x4c, 0xb4, 0x90, 0x20, 0x48, 0x46, 0x84, 0x3c, 0x86, 0x8b, 0xb2, 0x96, 0x21, 0x61, + 0x94, 0x44, 0x46, 0x8e, 0x7a, 0xc4, 0xb1, 0xd9, 0xa3, 0xaa, 0x09, 0xe3, 0xb4, 0xf0, 0x04, 0x2e, + 0x48, 0x1a, 0x87, 0x04, 0x5b, 0x9e, 0x74, 0x63, 0x79, 0x01, 0xcb, 0x9a, 0x80, 0x61, 0xb6, 0xb7, + 0x2d, 0xc3, 0x24, 0xa2, 0x2b, 0xfb, 0xe1, 0x02, 0xe4, 0xdc, 0xf6, 0xf4, 0xc8, 0x3e, 0xd4, 0x6d, + 0xfd, 0x10, 0x7f, 0xe9, 0xef, 0x9d, 0x6e, 0x78, 0x9b, 0x9a, 0xab, 0x7a, 0x0f, 0x0b, 0xf5, 0xc4, + 0xd7, 0x42, 0x2d, 0x07, 0xe3, 0x83, 0x9c, 0x54, 0xd5, 0xe3, 0xa4, 0xae, 0xf8, 0x43, 0xfd, 0x0c, + 0x55, 0xd5, 0x63, 0xa8, 0x66, 0x43, 0xa4, 0xbe, 0xaa, 0xe6, 0xf5, 0x55, 0x25, 0x7f, 0x8a, 0xbf, + 0xbd, 0xaa, 0x79, 0xed, 0x55, 0x00, 0x47, 0xee, 0xb2, 0x6a, 0x5e, 0x97, 0x35, 0x83, 0xe3, 0x6f, + 0xb6, 0x6a, 0x5e, 0xb3, 0x15, 0xc0, 0x91, 0x7b, 0xae, 0x0d, 0x89, 0xe7, 0xba, 0xea, 0x0f, 0x9a, + 0x65, 0xbd, 0x36, 0x65, 0xd6, 0xeb, 0xda, 0x8c, 0xa2, 0x66, 0x3a, 0xb0, 0x0d, 0x89, 0x03, 0x0b, + 0x2a, 0xcc, 0xc7, 0x88, 0x6d, 0xca, 0x8c, 0x58, 0x60, 0x61, 0x7e, 0x7e, 0xec, 0x93, 0x69, 0x3f, + 0x76, 0xd9, 0x9f, 0x24, 0xb7, 0x65, 0x35, 0xaf, 0x2d, 0x2b, 0x05, 0x9d, 0x39, 0x99, 0x3b, 0x7b, + 0xe2, 0xeb, 0xce, 0xfe, 0xc4, 0x11, 0x0e, 0x32, 0x69, 0x9f, 0xfb, 0x99, 0xb4, 0x72, 0x30, 0x7b, + 0xb6, 0x57, 0xdb, 0xf5, 0xf1, 0x6a, 0xd7, 0x83, 0xc1, 0xe7, 0x96, 0xed, 0xdc, 0xb2, 0x9d, 0x5b, + 0xb6, 0x73, 0xcb, 0xf6, 0xf7, 0x5b, 0xb6, 0xd5, 0xe8, 0xd7, 0xdf, 0x2e, 0xa2, 0xe2, 0x2f, 0x11, + 0xc8, 0xb9, 0x5f, 0x06, 0xf7, 0x0c, 0xd2, 0xa1, 0xed, 0x6d, 0x0b, 0x32, 0xa6, 0xd6, 0xd3, 0xf7, + 0x7b, 0xda, 0xf1, 0xb1, 0x61, 0xb6, 0x5d, 0xcf, 0x76, 0xcd, 0xfb, 0x29, 0xd1, 0x15, 0x94, 0xeb, + 0x5a, 0x8f, 0xf6, 0x2a, 0x9a, 0xec, 0xbe, 0x6e, 0xcc, 0x71, 0x04, 0x7f, 0x0a, 0xe9, 0x9e, 0xd3, + 0x1e, 0xd1, 0xc2, 0x9e, 0x17, 0xe1, 0x14, 0x8d, 0xdf, 0xe9, 0x18, 0x06, 0xbd, 0x51, 0x80, 0x96, + 0xd6, 0x3a, 0x21, 0xe3, 0xd2, 0x22, 0x41, 0xa5, 0xd1, 0x67, 0x3a, 0x59, 0x5a, 0x6b, 0x1c, 0xa1, + 0xdb, 0x76, 0xba, 0xf6, 0xa0, 0x4e, 0x37, 0xb1, 0x79, 0xf6, 0x60, 0x6e, 0xaa, 0x5a, 0xc9, 0x99, + 0xff, 0x0b, 0xcf, 0x86, 0x16, 0x36, 0x5d, 0x79, 0xd0, 0x99, 0x10, 0x37, 0x64, 0xf1, 0xdf, 0x90, + 0x9d, 0x60, 0xe3, 0x0c, 0xa0, 0x23, 0x26, 0x45, 0x0d, 0x74, 0x54, 0xfc, 0x06, 0x41, 0x9a, 0xf6, + 0xc9, 0xff, 0xae, 0xdc, 0xd9, 0xd6, 0x0c, 0x1b, 0x3f, 0x80, 0x68, 0x57, 0x3f, 0x22, 0x2c, 0x21, + 0x53, 0xb9, 0x75, 0xfa, 0x6a, 0x31, 0xf4, 0xdb, 0xab, 0xc5, 0xff, 0x04, 0xfc, 0x97, 0xa0, 0xef, + 0x10, 0xab, 0x57, 0x76, 0x39, 0x0d, 0x46, 0xc0, 0x35, 0x88, 0xd9, 0x46, 0xbb, 0x43, 0x78, 0x49, + 0x95, 0x1b, 0xef, 0x8d, 0xe1, 0xf2, 0xe2, 0x29, 0x82, 0xf9, 0xaa, 0x65, 0x12, 0xcd, 0x30, 0x1d, + 0xfe, 0xb5, 0x96, 0xbe, 0x21, 0x5f, 0x20, 0x48, 0x8d, 0x46, 0xb8, 0x05, 0xb9, 0xd1, 0x80, 0x7d, + 0x04, 0x77, 0x77, 0xea, 0xaa, 0xb0, 0xc2, 0x1e, 0x46, 0x59, 0x72, 0xc5, 0xc4, 0xee, 0x3b, 0x79, + 0x32, 0xb8, 0xb0, 0x06, 0x17, 0x24, 0x69, 0xef, 0xf3, 0x42, 0x2e, 0x2e, 0x41, 0xaa, 0x6e, 0x91, + 0x6d, 0xed, 0xe0, 0x29, 0xfb, 0xe4, 0x3c, 0xfe, 0xaf, 0x42, 0x25, 0xac, 0x84, 0x98, 0xf8, 0xda, + 0x12, 0x24, 0xdc, 0xd3, 0x8f, 0xe3, 0x10, 0xde, 0x5a, 0x53, 0x42, 0xec, 0xb7, 0xa2, 0x20, 0xf6, + 0x5b, 0x55, 0xc2, 0x95, 0xcd, 0xd3, 0x33, 0x35, 0xf4, 0xf2, 0x4c, 0x0d, 0xfd, 0x7a, 0xa6, 0x86, + 0x5e, 0x9f, 0xa9, 0xe8, 0xcd, 0x99, 0x8a, 0xde, 0x9e, 0xa9, 0xe8, 0xdd, 0x99, 0x8a, 0x9e, 0x0f, + 0x54, 0xf4, 0xdd, 0x40, 0x45, 0xdf, 0x0f, 0x54, 0xf4, 0xe3, 0x40, 0x45, 0x3f, 0x0d, 0x54, 0x74, + 0x3a, 0x50, 0xd1, 0xcb, 0x81, 0x1a, 0x7a, 0x3d, 0x50, 0xd1, 0x9b, 0x81, 0x1a, 0x7a, 0x3b, 0x50, + 0xd1, 0xbb, 0x81, 0x1a, 0x7a, 0xfe, 0xbb, 0x1a, 0x6a, 0xc5, 0xf9, 0xf2, 0xfc, 0x11, 0x00, 0x00, + 0xff, 0xff, 0xfe, 0x15, 0xbd, 0x06, 0x65, 0x1a, 0x00, 0x00, +} + func (this *Message) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Theproto3Description() } @@ -603,511 +710,514 @@ func (this *NotPacked) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func Theproto3Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 8063 bytes of a gzipped FileDescriptorSet + // 8097 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x5b, 0x70, 0x23, 0xd7, - 0x99, 0x1e, 0x1b, 0x0d, 0x90, 0xe0, 0x0f, 0x90, 0x6c, 0x36, 0x67, 0x28, 0x88, 0x1a, 0x91, 0x1c, - 0x68, 0x34, 0xa2, 0x68, 0x8b, 0xc3, 0xe1, 0x70, 0x6e, 0x18, 0x4b, 0x5a, 0x00, 0x04, 0x47, 0x1c, - 0x93, 0x20, 0xdd, 0x24, 0x2d, 0x8d, 0x95, 0x04, 0xd5, 0x04, 0x0e, 0x49, 0x48, 0x40, 0x37, 0x16, - 0xdd, 0x90, 0x44, 0x55, 0x2a, 0xa5, 0xac, 0x93, 0x8d, 0x37, 0xa9, 0x5c, 0x37, 0xa9, 0x78, 0x1d, - 0x5f, 0xe4, 0xdd, 0xda, 0xb5, 0x77, 0x73, 0xf3, 0x7a, 0x37, 0xce, 0xae, 0x93, 0xca, 0x2a, 0x0f, - 0x4e, 0x26, 0x2f, 0x29, 0x6f, 0xf2, 0x92, 0x72, 0xa5, 0x54, 0xd6, 0xd8, 0x5b, 0x71, 0x12, 0x27, - 0xeb, 0x6c, 0x54, 0x15, 0x57, 0x79, 0x1f, 0x52, 0xe7, 0xd6, 0x7d, 0xfa, 0xa0, 0x81, 0x06, 0x47, - 0x92, 0xbd, 0x0f, 0x7a, 0x99, 0x41, 0x9f, 0xf3, 0x7f, 0x5f, 0xff, 0xfd, 0xdf, 0xce, 0xdf, 0x7d, - 0x1a, 0x20, 0xfc, 0xf1, 0x4d, 0x98, 0x3f, 0xb2, 0xed, 0xa3, 0x06, 0xba, 0xd4, 0x6a, 0xdb, 0xae, - 0x7d, 0xd0, 0x39, 0xbc, 0x54, 0x43, 0x4e, 0xb5, 0x5d, 0x6f, 0xb9, 0x76, 0x7b, 0x89, 0x8c, 0xe9, - 0x13, 0x54, 0x62, 0x89, 0x4b, 0x64, 0xb7, 0x60, 0x72, 0xbd, 0xde, 0x40, 0x6b, 0x9e, 0xe0, 0x2e, - 0x72, 0xf5, 0x1b, 0x10, 0x3f, 0xac, 0x37, 0x50, 0x46, 0x99, 0x57, 0x17, 0x52, 0x2b, 0x17, 0x96, - 0x24, 0xd0, 0x52, 0x10, 0xb1, 0x83, 0x87, 0x0d, 0x82, 0xc8, 0x7e, 0x3f, 0x0e, 0x53, 0x21, 0xb3, - 0xba, 0x0e, 0x71, 0xcb, 0x6c, 0x62, 0x46, 0x65, 0x61, 0xd4, 0x20, 0x9f, 0xf5, 0x0c, 0x8c, 0xb4, - 0xcc, 0xea, 0xcb, 0xe6, 0x11, 0xca, 0xc4, 0xc8, 0x30, 0x3f, 0xd4, 0x67, 0x01, 0x6a, 0xa8, 0x85, - 0xac, 0x1a, 0xb2, 0xaa, 0x27, 0x19, 0x75, 0x5e, 0x5d, 0x18, 0x35, 0x84, 0x11, 0xfd, 0x23, 0x30, - 0xd9, 0xea, 0x1c, 0x34, 0xea, 0xd5, 0x8a, 0x20, 0x06, 0xf3, 0xea, 0x42, 0xc2, 0xd0, 0xe8, 0xc4, - 0x9a, 0x2f, 0xfc, 0x04, 0x4c, 0xbc, 0x8a, 0xcc, 0x97, 0x45, 0xd1, 0x14, 0x11, 0x1d, 0xc7, 0xc3, - 0x82, 0x60, 0x11, 0xd2, 0x4d, 0xe4, 0x38, 0xe6, 0x11, 0xaa, 0xb8, 0x27, 0x2d, 0x94, 0x89, 0x93, - 0xab, 0x9f, 0xef, 0xba, 0x7a, 0xf9, 0xca, 0x53, 0x0c, 0xb5, 0x77, 0xd2, 0x42, 0x7a, 0x1e, 0x46, - 0x91, 0xd5, 0x69, 0x52, 0x86, 0x44, 0x0f, 0xfb, 0x95, 0xac, 0x4e, 0x53, 0x66, 0x49, 0x62, 0x18, - 0xa3, 0x18, 0x71, 0x50, 0xfb, 0x95, 0x7a, 0x15, 0x65, 0x86, 0x09, 0xc1, 0x13, 0x5d, 0x04, 0xbb, - 0x74, 0x5e, 0xe6, 0xe0, 0x38, 0xbd, 0x08, 0xa3, 0xe8, 0x35, 0x17, 0x59, 0x4e, 0xdd, 0xb6, 0x32, - 0x23, 0x84, 0xe4, 0xf1, 0x10, 0x2f, 0xa2, 0x46, 0x4d, 0xa6, 0xf0, 0x71, 0xfa, 0x35, 0x18, 0xb1, - 0x5b, 0x6e, 0xdd, 0xb6, 0x9c, 0x4c, 0x72, 0x5e, 0x59, 0x48, 0xad, 0x9c, 0x0b, 0x0d, 0x84, 0x6d, - 0x2a, 0x63, 0x70, 0x61, 0x7d, 0x03, 0x34, 0xc7, 0xee, 0xb4, 0xab, 0xa8, 0x52, 0xb5, 0x6b, 0xa8, - 0x52, 0xb7, 0x0e, 0xed, 0xcc, 0x28, 0x21, 0x98, 0xeb, 0xbe, 0x10, 0x22, 0x58, 0xb4, 0x6b, 0x68, - 0xc3, 0x3a, 0xb4, 0x8d, 0x71, 0x27, 0x70, 0xac, 0x4f, 0xc3, 0xb0, 0x73, 0x62, 0xb9, 0xe6, 0x6b, - 0x99, 0x34, 0x89, 0x10, 0x76, 0x94, 0xfd, 0xfd, 0x61, 0x98, 0x18, 0x24, 0xc4, 0x6e, 0x41, 0xe2, - 0x10, 0x5f, 0x65, 0x26, 0x76, 0x1a, 0x1b, 0x50, 0x4c, 0xd0, 0x88, 0xc3, 0x0f, 0x68, 0xc4, 0x3c, - 0xa4, 0x2c, 0xe4, 0xb8, 0xa8, 0x46, 0x23, 0x42, 0x1d, 0x30, 0xa6, 0x80, 0x82, 0xba, 0x43, 0x2a, - 0xfe, 0x40, 0x21, 0xf5, 0x02, 0x4c, 0x78, 0x2a, 0x55, 0xda, 0xa6, 0x75, 0xc4, 0x63, 0xf3, 0x52, - 0x94, 0x26, 0x4b, 0x25, 0x8e, 0x33, 0x30, 0xcc, 0x18, 0x47, 0x81, 0x63, 0x7d, 0x0d, 0xc0, 0xb6, - 0x90, 0x7d, 0x58, 0xa9, 0xa1, 0x6a, 0x23, 0x93, 0xec, 0x61, 0xa5, 0x6d, 0x2c, 0xd2, 0x65, 0x25, - 0x9b, 0x8e, 0x56, 0x1b, 0xfa, 0x4d, 0x3f, 0xd4, 0x46, 0x7a, 0x44, 0xca, 0x16, 0x4d, 0xb2, 0xae, - 0x68, 0xdb, 0x87, 0xf1, 0x36, 0xc2, 0x71, 0x8f, 0x6a, 0xec, 0xca, 0x46, 0x89, 0x12, 0x4b, 0x91, - 0x57, 0x66, 0x30, 0x18, 0xbd, 0xb0, 0xb1, 0xb6, 0x78, 0xa8, 0x3f, 0x06, 0xde, 0x40, 0x85, 0x84, - 0x15, 0x90, 0x2a, 0x94, 0xe6, 0x83, 0x65, 0xb3, 0x89, 0x66, 0x5e, 0x87, 0xf1, 0xa0, 0x79, 0xf4, - 0x33, 0x90, 0x70, 0x5c, 0xb3, 0xed, 0x92, 0x28, 0x4c, 0x18, 0xf4, 0x40, 0xd7, 0x40, 0x45, 0x56, - 0x8d, 0x54, 0xb9, 0x84, 0x81, 0x3f, 0xea, 0x3f, 0xe7, 0x5f, 0xb0, 0x4a, 0x2e, 0xf8, 0x62, 0xb7, - 0x47, 0x03, 0xcc, 0xf2, 0x75, 0xcf, 0x5c, 0x87, 0xb1, 0xc0, 0x05, 0x0c, 0x7a, 0xea, 0xec, 0x5f, - 0x84, 0xb3, 0xa1, 0xd4, 0xfa, 0x0b, 0x70, 0xa6, 0x63, 0xd5, 0x2d, 0x17, 0xb5, 0x5b, 0x6d, 0x84, - 0x23, 0x96, 0x9e, 0x2a, 0xf3, 0xdf, 0x46, 0x7a, 0xc4, 0xdc, 0xbe, 0x28, 0x4d, 0x59, 0x8c, 0xa9, - 0x4e, 0xf7, 0xe0, 0xe2, 0x68, 0xf2, 0x07, 0x23, 0xda, 0x1b, 0x6f, 0xbc, 0xf1, 0x46, 0x2c, 0xfb, - 0xd9, 0x61, 0x38, 0x13, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x0d, 0xc3, 0x56, 0xa7, 0x79, 0x80, 0xda, - 0xc4, 0x48, 0x09, 0x83, 0x1d, 0xe9, 0x79, 0x48, 0x34, 0xcc, 0x03, 0xd4, 0xc8, 0xc4, 0xe7, 0x95, - 0x85, 0xf1, 0x95, 0x8f, 0x0c, 0x94, 0x95, 0x4b, 0x9b, 0x18, 0x62, 0x50, 0xa4, 0xfe, 0x0c, 0xc4, - 0x59, 0x89, 0xc6, 0x0c, 0x8b, 0x83, 0x31, 0xe0, 0x5c, 0x32, 0x08, 0x4e, 0x7f, 0x04, 0x46, 0xf1, - 0xff, 0x34, 0x36, 0x86, 0x89, 0xce, 0x49, 0x3c, 0x80, 0xe3, 0x42, 0x9f, 0x81, 0x24, 0x49, 0x93, - 0x1a, 0xe2, 0x4b, 0x9b, 0x77, 0x8c, 0x03, 0xab, 0x86, 0x0e, 0xcd, 0x4e, 0xc3, 0xad, 0xbc, 0x62, - 0x36, 0x3a, 0x88, 0x04, 0xfc, 0xa8, 0x91, 0x66, 0x83, 0x9f, 0xc4, 0x63, 0xfa, 0x1c, 0xa4, 0x68, - 0x56, 0xd5, 0xad, 0x1a, 0x7a, 0x8d, 0x54, 0xcf, 0x84, 0x41, 0x13, 0x6d, 0x03, 0x8f, 0xe0, 0xd3, - 0xbf, 0xe4, 0xd8, 0x16, 0x0f, 0x4d, 0x72, 0x0a, 0x3c, 0x40, 0x4e, 0x7f, 0x5d, 0x2e, 0xdc, 0x8f, - 0x86, 0x5f, 0x9e, 0x1c, 0x53, 0xd9, 0x6f, 0xc4, 0x20, 0x4e, 0xea, 0xc5, 0x04, 0xa4, 0xf6, 0xee, - 0xee, 0x94, 0x2a, 0x6b, 0xdb, 0xfb, 0x85, 0xcd, 0x92, 0xa6, 0xe8, 0xe3, 0x00, 0x64, 0x60, 0x7d, - 0x73, 0x3b, 0xbf, 0xa7, 0xc5, 0xbc, 0xe3, 0x8d, 0xf2, 0xde, 0xb5, 0x55, 0x4d, 0xf5, 0x00, 0xfb, - 0x74, 0x20, 0x2e, 0x0a, 0x5c, 0x59, 0xd1, 0x12, 0xba, 0x06, 0x69, 0x4a, 0xb0, 0xf1, 0x42, 0x69, - 0xed, 0xda, 0xaa, 0x36, 0x1c, 0x1c, 0xb9, 0xb2, 0xa2, 0x8d, 0xe8, 0x63, 0x30, 0x4a, 0x46, 0x0a, - 0xdb, 0xdb, 0x9b, 0x5a, 0xd2, 0xe3, 0xdc, 0xdd, 0x33, 0x36, 0xca, 0xb7, 0xb5, 0x51, 0x8f, 0xf3, - 0xb6, 0xb1, 0xbd, 0xbf, 0xa3, 0x81, 0xc7, 0xb0, 0x55, 0xda, 0xdd, 0xcd, 0xdf, 0x2e, 0x69, 0x29, - 0x4f, 0xa2, 0x70, 0x77, 0xaf, 0xb4, 0xab, 0xa5, 0x03, 0x6a, 0x5d, 0x59, 0xd1, 0xc6, 0xbc, 0x53, - 0x94, 0xca, 0xfb, 0x5b, 0xda, 0xb8, 0x3e, 0x09, 0x63, 0xf4, 0x14, 0x5c, 0x89, 0x09, 0x69, 0xe8, - 0xda, 0xaa, 0xa6, 0xf9, 0x8a, 0x50, 0x96, 0xc9, 0xc0, 0xc0, 0xb5, 0x55, 0x4d, 0xcf, 0x16, 0x21, - 0x41, 0xa2, 0x4b, 0xd7, 0x61, 0x7c, 0x33, 0x5f, 0x28, 0x6d, 0x56, 0xb6, 0x77, 0xf6, 0x36, 0xb6, - 0xcb, 0xf9, 0x4d, 0x4d, 0xf1, 0xc7, 0x8c, 0xd2, 0x27, 0xf6, 0x37, 0x8c, 0xd2, 0x9a, 0x16, 0x13, - 0xc7, 0x76, 0x4a, 0xf9, 0xbd, 0xd2, 0x9a, 0xa6, 0x66, 0xab, 0x70, 0x26, 0xac, 0x4e, 0x86, 0x66, - 0x86, 0xe0, 0xe2, 0x58, 0x0f, 0x17, 0x13, 0xae, 0x2e, 0x17, 0x7f, 0x2f, 0x06, 0x53, 0x21, 0x6b, - 0x45, 0xe8, 0x49, 0x9e, 0x85, 0x04, 0x0d, 0x51, 0xba, 0x7a, 0x3e, 0x19, 0xba, 0xe8, 0x90, 0x80, - 0xed, 0x5a, 0x41, 0x09, 0x4e, 0xec, 0x20, 0xd4, 0x1e, 0x1d, 0x04, 0xa6, 0xe8, 0xaa, 0xe9, 0x7f, - 0xbe, 0xab, 0xa6, 0xd3, 0x65, 0xef, 0xda, 0x20, 0xcb, 0x1e, 0x19, 0x3b, 0x5d, 0x6d, 0x4f, 0x84, - 0xd4, 0xf6, 0x5b, 0x30, 0xd9, 0x45, 0x34, 0x70, 0x8d, 0xfd, 0xb4, 0x02, 0x99, 0x5e, 0xc6, 0x89, - 0xa8, 0x74, 0xb1, 0x40, 0xa5, 0xbb, 0x25, 0x5b, 0xf0, 0x7c, 0x6f, 0x27, 0x74, 0xf9, 0xfa, 0x2b, - 0x0a, 0x4c, 0x87, 0x77, 0x8a, 0xa1, 0x3a, 0x3c, 0x03, 0xc3, 0x4d, 0xe4, 0x1e, 0xdb, 0xbc, 0x5b, - 0xba, 0x18, 0xb2, 0x06, 0xe3, 0x69, 0xd9, 0xd9, 0x0c, 0x25, 0x2e, 0xe2, 0x6a, 0xaf, 0x76, 0x8f, - 0x6a, 0xd3, 0xa5, 0xe9, 0x2f, 0xc5, 0xe0, 0x6c, 0x28, 0x79, 0xa8, 0xa2, 0x8f, 0x02, 0xd4, 0xad, - 0x56, 0xc7, 0xa5, 0x1d, 0x11, 0x2d, 0xb0, 0xa3, 0x64, 0x84, 0x14, 0x2f, 0x5c, 0x3c, 0x3b, 0xae, - 0x37, 0xaf, 0x92, 0x79, 0xa0, 0x43, 0x44, 0xe0, 0x86, 0xaf, 0x68, 0x9c, 0x28, 0x3a, 0xdb, 0xe3, - 0x4a, 0xbb, 0x02, 0x73, 0x19, 0xb4, 0x6a, 0xa3, 0x8e, 0x2c, 0xb7, 0xe2, 0xb8, 0x6d, 0x64, 0x36, - 0xeb, 0xd6, 0x11, 0x59, 0x41, 0x92, 0xb9, 0xc4, 0xa1, 0xd9, 0x70, 0x90, 0x31, 0x41, 0xa7, 0x77, - 0xf9, 0x2c, 0x46, 0x90, 0x00, 0x6a, 0x0b, 0x88, 0xe1, 0x00, 0x82, 0x4e, 0x7b, 0x88, 0xec, 0xef, - 0x24, 0x21, 0x25, 0xf4, 0xd5, 0xfa, 0x79, 0x48, 0xbf, 0x64, 0xbe, 0x62, 0x56, 0xf8, 0xbd, 0x12, - 0xb5, 0x44, 0x0a, 0x8f, 0xed, 0xb0, 0xfb, 0xa5, 0x65, 0x38, 0x43, 0x44, 0xec, 0x8e, 0x8b, 0xda, - 0x95, 0x6a, 0xc3, 0x74, 0x1c, 0x62, 0xb4, 0x24, 0x11, 0xd5, 0xf1, 0xdc, 0x36, 0x9e, 0x2a, 0xf2, - 0x19, 0xfd, 0x2a, 0x4c, 0x11, 0x44, 0xb3, 0xd3, 0x70, 0xeb, 0xad, 0x06, 0xaa, 0xe0, 0xbb, 0x37, - 0x87, 0xac, 0x24, 0x9e, 0x66, 0x93, 0x58, 0x62, 0x8b, 0x09, 0x60, 0x8d, 0x1c, 0x7d, 0x0d, 0x1e, - 0x25, 0xb0, 0x23, 0x64, 0xa1, 0xb6, 0xe9, 0xa2, 0x0a, 0xfa, 0xf9, 0x8e, 0xd9, 0x70, 0x2a, 0xa6, - 0x55, 0xab, 0x1c, 0x9b, 0xce, 0x71, 0xe6, 0x0c, 0x26, 0x28, 0xc4, 0x32, 0x8a, 0xf1, 0x30, 0x16, - 0xbc, 0xcd, 0xe4, 0x4a, 0x44, 0x2c, 0x6f, 0xd5, 0x9e, 0x33, 0x9d, 0x63, 0x3d, 0x07, 0xd3, 0x84, - 0xc5, 0x71, 0xdb, 0x75, 0xeb, 0xa8, 0x52, 0x3d, 0x46, 0xd5, 0x97, 0x2b, 0x1d, 0xf7, 0xf0, 0x46, - 0xe6, 0x11, 0xf1, 0xfc, 0x44, 0xc3, 0x5d, 0x22, 0x53, 0xc4, 0x22, 0xfb, 0xee, 0xe1, 0x0d, 0x7d, - 0x17, 0xd2, 0xd8, 0x19, 0xcd, 0xfa, 0xeb, 0xa8, 0x72, 0x68, 0xb7, 0xc9, 0xd2, 0x38, 0x1e, 0x52, - 0x9a, 0x04, 0x0b, 0x2e, 0x6d, 0x33, 0xc0, 0x96, 0x5d, 0x43, 0xb9, 0xc4, 0xee, 0x4e, 0xa9, 0xb4, - 0x66, 0xa4, 0x38, 0xcb, 0xba, 0xdd, 0xc6, 0x01, 0x75, 0x64, 0x7b, 0x06, 0x4e, 0xd1, 0x80, 0x3a, - 0xb2, 0xb9, 0x79, 0xaf, 0xc2, 0x54, 0xb5, 0x4a, 0xaf, 0xb9, 0x5e, 0xad, 0xb0, 0x7b, 0x2c, 0x27, - 0xa3, 0x05, 0x8c, 0x55, 0xad, 0xde, 0xa6, 0x02, 0x2c, 0xc6, 0x1d, 0xfd, 0x26, 0x9c, 0xf5, 0x8d, - 0x25, 0x02, 0x27, 0xbb, 0xae, 0x52, 0x86, 0x5e, 0x85, 0xa9, 0xd6, 0x49, 0x37, 0x50, 0x0f, 0x9c, - 0xb1, 0x75, 0x22, 0xc3, 0xae, 0xc3, 0x99, 0xd6, 0x71, 0xab, 0x1b, 0xb7, 0x28, 0xe2, 0xf4, 0xd6, - 0x71, 0x4b, 0x06, 0x3e, 0x4e, 0x6e, 0xb8, 0xdb, 0xa8, 0x6a, 0xba, 0xa8, 0x96, 0x79, 0x48, 0x14, - 0x17, 0x26, 0xf4, 0x4b, 0xa0, 0x55, 0xab, 0x15, 0x64, 0x99, 0x07, 0x0d, 0x54, 0x31, 0xdb, 0xc8, - 0x32, 0x9d, 0xcc, 0x9c, 0x28, 0x3c, 0x5e, 0xad, 0x96, 0xc8, 0x6c, 0x9e, 0x4c, 0xea, 0x8b, 0x30, - 0x69, 0x1f, 0xbc, 0x54, 0xa5, 0x21, 0x59, 0x69, 0xb5, 0xd1, 0x61, 0xfd, 0xb5, 0xcc, 0x05, 0x62, - 0xdf, 0x09, 0x3c, 0x41, 0x02, 0x72, 0x87, 0x0c, 0xeb, 0x4f, 0x82, 0x56, 0x75, 0x8e, 0xcd, 0x76, - 0x8b, 0xd4, 0x64, 0xa7, 0x65, 0x56, 0x51, 0xe6, 0x71, 0x2a, 0x4a, 0xc7, 0xcb, 0x7c, 0x18, 0xa7, - 0x84, 0xf3, 0x6a, 0xfd, 0xd0, 0xe5, 0x8c, 0x4f, 0xd0, 0x94, 0x20, 0x63, 0x8c, 0x6d, 0x01, 0x34, - 0x6c, 0x8a, 0xc0, 0x89, 0x17, 0x88, 0xd8, 0x78, 0xeb, 0xb8, 0x25, 0x9e, 0xf7, 0x31, 0x18, 0xc3, - 0x92, 0xfe, 0x49, 0x9f, 0xa4, 0x0d, 0x59, 0xeb, 0x58, 0x38, 0xe3, 0x07, 0xd6, 0x1b, 0x67, 0x73, - 0x90, 0x16, 0xe3, 0x53, 0x1f, 0x05, 0x1a, 0xa1, 0x9a, 0x82, 0x9b, 0x95, 0xe2, 0xf6, 0x1a, 0x6e, - 0x33, 0x3e, 0x55, 0xd2, 0x62, 0xb8, 0xdd, 0xd9, 0xdc, 0xd8, 0x2b, 0x55, 0x8c, 0xfd, 0xf2, 0xde, - 0xc6, 0x56, 0x49, 0x53, 0xc5, 0xbe, 0xfa, 0x5b, 0x31, 0x18, 0x0f, 0xde, 0x22, 0xe9, 0x1f, 0x83, - 0x87, 0xf8, 0xf3, 0x0c, 0x07, 0xb9, 0x95, 0x57, 0xeb, 0x6d, 0x92, 0x32, 0x4d, 0x93, 0x2e, 0x5f, - 0x9e, 0xd3, 0xce, 0x30, 0xa9, 0x5d, 0xe4, 0x3e, 0x5f, 0x6f, 0xe3, 0x84, 0x68, 0x9a, 0xae, 0xbe, - 0x09, 0x73, 0x96, 0x5d, 0x71, 0x5c, 0xd3, 0xaa, 0x99, 0xed, 0x5a, 0xc5, 0x7f, 0x92, 0x54, 0x31, - 0xab, 0x55, 0xe4, 0x38, 0x36, 0x5d, 0xaa, 0x3c, 0x96, 0x73, 0x96, 0xbd, 0xcb, 0x84, 0xfd, 0x1a, - 0x9e, 0x67, 0xa2, 0x52, 0x80, 0xa9, 0xbd, 0x02, 0xec, 0x11, 0x18, 0x6d, 0x9a, 0xad, 0x0a, 0xb2, - 0xdc, 0xf6, 0x09, 0x69, 0x8c, 0x93, 0x46, 0xb2, 0x69, 0xb6, 0x4a, 0xf8, 0xf8, 0xa7, 0x73, 0x7f, - 0xf2, 0x5f, 0x55, 0x48, 0x8b, 0xcd, 0x31, 0xbe, 0xd7, 0xa8, 0x92, 0x75, 0x44, 0x21, 0x95, 0xe6, - 0xb1, 0xbe, 0xad, 0xf4, 0x52, 0x11, 0x2f, 0x30, 0xb9, 0x61, 0xda, 0xb2, 0x1a, 0x14, 0x89, 0x17, - 0x77, 0x5c, 0x5b, 0x10, 0x6d, 0x11, 0x92, 0x06, 0x3b, 0xd2, 0x6f, 0xc3, 0xf0, 0x4b, 0x0e, 0xe1, - 0x1e, 0x26, 0xdc, 0x17, 0xfa, 0x73, 0xdf, 0xd9, 0x25, 0xe4, 0xa3, 0x77, 0x76, 0x2b, 0xe5, 0x6d, - 0x63, 0x2b, 0xbf, 0x69, 0x30, 0xb8, 0xfe, 0x30, 0xc4, 0x1b, 0xe6, 0xeb, 0x27, 0xc1, 0xa5, 0x88, - 0x0c, 0x0d, 0x6a, 0xf8, 0x87, 0x21, 0xfe, 0x2a, 0x32, 0x5f, 0x0e, 0x2e, 0x00, 0x64, 0xe8, 0x03, - 0x0c, 0xfd, 0x4b, 0x90, 0x20, 0xf6, 0xd2, 0x01, 0x98, 0xc5, 0xb4, 0x21, 0x3d, 0x09, 0xf1, 0xe2, - 0xb6, 0x81, 0xc3, 0x5f, 0x83, 0x34, 0x1d, 0xad, 0xec, 0x6c, 0x94, 0x8a, 0x25, 0x2d, 0x96, 0xbd, - 0x0a, 0xc3, 0xd4, 0x08, 0x38, 0x35, 0x3c, 0x33, 0x68, 0x43, 0xec, 0x90, 0x71, 0x28, 0x7c, 0x76, - 0x7f, 0xab, 0x50, 0x32, 0xb4, 0x98, 0xe8, 0x5e, 0x07, 0xd2, 0x62, 0x5f, 0xfc, 0xd3, 0x89, 0xa9, - 0x6f, 0x2a, 0x90, 0x12, 0xfa, 0x5c, 0xdc, 0xa0, 0x98, 0x8d, 0x86, 0xfd, 0x6a, 0xc5, 0x6c, 0xd4, - 0x4d, 0x87, 0x05, 0x05, 0x90, 0xa1, 0x3c, 0x1e, 0x19, 0xd4, 0x69, 0x3f, 0x15, 0xe5, 0xbf, 0xa8, - 0x80, 0x26, 0xb7, 0x98, 0x92, 0x82, 0xca, 0xcf, 0x54, 0xc1, 0xcf, 0x2b, 0x30, 0x1e, 0xec, 0x2b, - 0x25, 0xf5, 0xce, 0xff, 0x4c, 0xd5, 0xfb, 0x6e, 0x0c, 0xc6, 0x02, 0xdd, 0xe4, 0xa0, 0xda, 0xfd, - 0x3c, 0x4c, 0xd6, 0x6b, 0xa8, 0xd9, 0xb2, 0x5d, 0x64, 0x55, 0x4f, 0x2a, 0x0d, 0xf4, 0x0a, 0x6a, - 0x64, 0xb2, 0xa4, 0x50, 0x5c, 0xea, 0xdf, 0xaf, 0x2e, 0x6d, 0xf8, 0xb8, 0x4d, 0x0c, 0xcb, 0x4d, - 0x6d, 0xac, 0x95, 0xb6, 0x76, 0xb6, 0xf7, 0x4a, 0xe5, 0xe2, 0xdd, 0xca, 0x7e, 0xf9, 0xe3, 0xe5, - 0xed, 0xe7, 0xcb, 0x86, 0x56, 0x97, 0xc4, 0x3e, 0xc0, 0x54, 0xdf, 0x01, 0x4d, 0x56, 0x4a, 0x7f, - 0x08, 0xc2, 0xd4, 0xd2, 0x86, 0xf4, 0x29, 0x98, 0x28, 0x6f, 0x57, 0x76, 0x37, 0xd6, 0x4a, 0x95, - 0xd2, 0xfa, 0x7a, 0xa9, 0xb8, 0xb7, 0x4b, 0x9f, 0x40, 0x78, 0xd2, 0x7b, 0xc1, 0xa4, 0xfe, 0x9c, - 0x0a, 0x53, 0x21, 0x9a, 0xe8, 0x79, 0x76, 0xef, 0x40, 0x6f, 0x67, 0x9e, 0x1a, 0x44, 0xfb, 0x25, - 0xbc, 0xe4, 0xef, 0x98, 0x6d, 0x97, 0xdd, 0x6a, 0x3c, 0x09, 0xd8, 0x4a, 0x96, 0x5b, 0x3f, 0xac, - 0xa3, 0x36, 0x7b, 0x60, 0x43, 0x6f, 0x28, 0x26, 0xfc, 0x71, 0xfa, 0xcc, 0xe6, 0xa3, 0xa0, 0xb7, - 0x6c, 0xa7, 0xee, 0xd6, 0x5f, 0x41, 0x95, 0xba, 0xc5, 0x9f, 0xee, 0xe0, 0x1b, 0x8c, 0xb8, 0xa1, - 0xf1, 0x99, 0x0d, 0xcb, 0xf5, 0xa4, 0x2d, 0x74, 0x64, 0x4a, 0xd2, 0xb8, 0x80, 0xab, 0x86, 0xc6, - 0x67, 0x3c, 0xe9, 0xf3, 0x90, 0xae, 0xd9, 0x1d, 0xdc, 0x75, 0x51, 0x39, 0xbc, 0x5e, 0x28, 0x46, - 0x8a, 0x8e, 0x79, 0x22, 0xac, 0x9f, 0xf6, 0x1f, 0x2b, 0xa5, 0x8d, 0x14, 0x1d, 0xa3, 0x22, 0x4f, - 0xc0, 0x84, 0x79, 0x74, 0xd4, 0xc6, 0xe4, 0x9c, 0x88, 0xde, 0x21, 0x8c, 0x7b, 0xc3, 0x44, 0x70, - 0xe6, 0x0e, 0x24, 0xb9, 0x1d, 0xf0, 0x92, 0x8c, 0x2d, 0x51, 0x69, 0xd1, 0xdb, 0xde, 0xd8, 0xc2, - 0xa8, 0x91, 0xb4, 0xf8, 0xe4, 0x79, 0x48, 0xd7, 0x9d, 0x8a, 0xff, 0x94, 0x3c, 0x36, 0x1f, 0x5b, - 0x48, 0x1a, 0xa9, 0xba, 0xe3, 0x3d, 0x61, 0xcc, 0x7e, 0x25, 0x06, 0xe3, 0xc1, 0xa7, 0xfc, 0xfa, - 0x1a, 0x24, 0x1b, 0x76, 0xd5, 0x24, 0xa1, 0x45, 0xb7, 0x98, 0x16, 0x22, 0x36, 0x06, 0x96, 0x36, - 0x99, 0xbc, 0xe1, 0x21, 0x67, 0xfe, 0xa3, 0x02, 0x49, 0x3e, 0xac, 0x4f, 0x43, 0xbc, 0x65, 0xba, - 0xc7, 0x84, 0x2e, 0x51, 0x88, 0x69, 0x8a, 0x41, 0x8e, 0xf1, 0xb8, 0xd3, 0x32, 0x2d, 0x12, 0x02, - 0x6c, 0x1c, 0x1f, 0x63, 0xbf, 0x36, 0x90, 0x59, 0x23, 0xb7, 0x1f, 0x76, 0xb3, 0x89, 0x2c, 0xd7, - 0xe1, 0x7e, 0x65, 0xe3, 0x45, 0x36, 0xac, 0x7f, 0x04, 0x26, 0xdd, 0xb6, 0x59, 0x6f, 0x04, 0x64, - 0xe3, 0x44, 0x56, 0xe3, 0x13, 0x9e, 0x70, 0x0e, 0x1e, 0xe6, 0xbc, 0x35, 0xe4, 0x9a, 0xd5, 0x63, - 0x54, 0xf3, 0x41, 0xc3, 0xe4, 0x31, 0xc3, 0x43, 0x4c, 0x60, 0x8d, 0xcd, 0x73, 0x6c, 0xf6, 0x0f, - 0x15, 0x98, 0xe4, 0x37, 0x4c, 0x35, 0xcf, 0x58, 0x5b, 0x00, 0xa6, 0x65, 0xd9, 0xae, 0x68, 0xae, - 0xee, 0x50, 0xee, 0xc2, 0x2d, 0xe5, 0x3d, 0x90, 0x21, 0x10, 0xcc, 0x34, 0x01, 0xfc, 0x99, 0x9e, - 0x66, 0x9b, 0x83, 0x14, 0xdb, 0xc2, 0x21, 0xfb, 0x80, 0xf4, 0x16, 0x1b, 0xe8, 0x10, 0xbe, 0xb3, - 0xd2, 0xcf, 0x40, 0xe2, 0x00, 0x1d, 0xd5, 0x2d, 0xf6, 0x60, 0x96, 0x1e, 0xf0, 0x07, 0x21, 0x71, - 0xef, 0x41, 0x48, 0xe1, 0x45, 0x98, 0xaa, 0xda, 0x4d, 0x59, 0xdd, 0x82, 0x26, 0xdd, 0xe6, 0x3b, - 0xcf, 0x29, 0x9f, 0x02, 0xbf, 0xc5, 0xfc, 0xb1, 0xa2, 0xfc, 0x6a, 0x4c, 0xbd, 0xbd, 0x53, 0xf8, - 0xad, 0xd8, 0xcc, 0x6d, 0x0a, 0xdd, 0xe1, 0x57, 0x6a, 0xa0, 0xc3, 0x06, 0xaa, 0x62, 0xed, 0xe1, - 0x37, 0x3e, 0x02, 0x4f, 0x1d, 0xd5, 0xdd, 0xe3, 0xce, 0xc1, 0x52, 0xd5, 0x6e, 0x5e, 0x3a, 0xb2, - 0x8f, 0x6c, 0x7f, 0xeb, 0x13, 0x1f, 0x91, 0x03, 0xf2, 0x89, 0x6d, 0x7f, 0x8e, 0x7a, 0xa3, 0x33, - 0x91, 0x7b, 0xa5, 0xb9, 0x32, 0x4c, 0x31, 0xe1, 0x0a, 0xd9, 0x7f, 0xa1, 0x77, 0x11, 0x7a, 0xdf, - 0x67, 0x58, 0x99, 0xdf, 0xfe, 0x3e, 0x59, 0xae, 0x8d, 0x49, 0x06, 0xc5, 0x73, 0xf4, 0x46, 0x23, - 0x67, 0xc0, 0xd9, 0x00, 0x1f, 0x4d, 0x4d, 0xd4, 0x8e, 0x60, 0xfc, 0x16, 0x63, 0x9c, 0x12, 0x18, - 0x77, 0x19, 0x34, 0x57, 0x84, 0xb1, 0xd3, 0x70, 0xfd, 0x3b, 0xc6, 0x95, 0x46, 0x22, 0xc9, 0x6d, - 0x98, 0x20, 0x24, 0xd5, 0x8e, 0xe3, 0xda, 0x4d, 0x52, 0xf7, 0xfa, 0xd3, 0xfc, 0xfb, 0xef, 0xd3, - 0x5c, 0x19, 0xc7, 0xb0, 0xa2, 0x87, 0xca, 0xe5, 0x80, 0x6c, 0x39, 0xd5, 0x50, 0xb5, 0x11, 0xc1, - 0x70, 0x8f, 0x29, 0xe2, 0xc9, 0xe7, 0x3e, 0x09, 0x67, 0xf0, 0x67, 0x52, 0x96, 0x44, 0x4d, 0xa2, - 0x1f, 0x78, 0x65, 0xfe, 0xf0, 0xd3, 0x34, 0x1d, 0xa7, 0x3c, 0x02, 0x41, 0x27, 0xc1, 0x8b, 0x47, - 0xc8, 0x75, 0x51, 0xdb, 0xa9, 0x98, 0x8d, 0x30, 0xf5, 0x84, 0x27, 0x06, 0x99, 0x5f, 0xf9, 0x61, - 0xd0, 0x8b, 0xb7, 0x29, 0x32, 0xdf, 0x68, 0xe4, 0xf6, 0xe1, 0xa1, 0x90, 0xa8, 0x18, 0x80, 0xf3, - 0x73, 0x8c, 0xf3, 0x4c, 0x57, 0x64, 0x60, 0xda, 0x1d, 0xe0, 0xe3, 0x9e, 0x2f, 0x07, 0xe0, 0xfc, - 0x47, 0x8c, 0x53, 0x67, 0x58, 0xee, 0x52, 0xcc, 0x78, 0x07, 0x26, 0x5f, 0x41, 0xed, 0x03, 0xdb, - 0x61, 0x4f, 0x69, 0x06, 0xa0, 0xfb, 0x3c, 0xa3, 0x9b, 0x60, 0x40, 0xf2, 0xd8, 0x06, 0x73, 0xdd, - 0x84, 0xe4, 0xa1, 0x59, 0x45, 0x03, 0x50, 0x7c, 0x81, 0x51, 0x8c, 0x60, 0x79, 0x0c, 0xcd, 0x43, - 0xfa, 0xc8, 0x66, 0x2b, 0x53, 0x34, 0xfc, 0x8b, 0x0c, 0x9e, 0xe2, 0x18, 0x46, 0xd1, 0xb2, 0x5b, - 0x9d, 0x06, 0x5e, 0xb6, 0xa2, 0x29, 0xbe, 0xc4, 0x29, 0x38, 0x86, 0x51, 0x9c, 0xc2, 0xac, 0x6f, - 0x72, 0x0a, 0x47, 0xb0, 0xe7, 0xb3, 0x90, 0xb2, 0xad, 0xc6, 0x89, 0x6d, 0x0d, 0xa2, 0xc4, 0x97, - 0x19, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x05, 0xa3, 0x83, 0x3a, 0xe2, 0xd7, 0x7f, 0xc8, 0xd3, 0x83, - 0x7b, 0xe0, 0x36, 0x4c, 0xf0, 0x02, 0x55, 0xb7, 0xad, 0x01, 0x28, 0x7e, 0x83, 0x51, 0x8c, 0x0b, - 0x30, 0x76, 0x19, 0x2e, 0x72, 0xdc, 0x23, 0x34, 0x08, 0xc9, 0x57, 0xf8, 0x65, 0x30, 0x08, 0x33, - 0xe5, 0x01, 0xb2, 0xaa, 0xc7, 0x83, 0x31, 0x7c, 0x95, 0x9b, 0x92, 0x63, 0x30, 0x45, 0x11, 0xc6, - 0x9a, 0x66, 0xdb, 0x39, 0x36, 0x1b, 0x03, 0xb9, 0xe3, 0x37, 0x19, 0x47, 0xda, 0x03, 0x31, 0x8b, - 0x74, 0xac, 0xd3, 0xd0, 0xfc, 0x16, 0xb7, 0x88, 0x00, 0x63, 0xa9, 0xe7, 0xb8, 0xe4, 0x91, 0xd6, - 0x69, 0xd8, 0xfe, 0x31, 0x4f, 0x3d, 0x8a, 0xdd, 0x12, 0x19, 0x6f, 0xc1, 0xa8, 0x53, 0x7f, 0x7d, - 0x20, 0x9a, 0x7f, 0xc2, 0x3d, 0x4d, 0x00, 0x18, 0x7c, 0x17, 0x1e, 0x0e, 0x5d, 0x26, 0x06, 0x20, - 0xfb, 0xa7, 0x8c, 0x6c, 0x3a, 0x64, 0xa9, 0x60, 0x25, 0xe1, 0xb4, 0x94, 0xff, 0x8c, 0x97, 0x04, - 0x24, 0x71, 0xed, 0xe0, 0x7b, 0x05, 0xc7, 0x3c, 0x3c, 0x9d, 0xd5, 0xfe, 0x39, 0xb7, 0x1a, 0xc5, - 0x06, 0xac, 0xb6, 0x07, 0xd3, 0x8c, 0xf1, 0x74, 0x7e, 0xfd, 0x1a, 0x2f, 0xac, 0x14, 0xbd, 0x1f, - 0xf4, 0xee, 0x8b, 0x30, 0xe3, 0x99, 0x93, 0x37, 0xa5, 0x4e, 0xa5, 0x69, 0xb6, 0x06, 0x60, 0xfe, - 0x6d, 0xc6, 0xcc, 0x2b, 0xbe, 0xd7, 0xd5, 0x3a, 0x5b, 0x66, 0x0b, 0x93, 0xbf, 0x00, 0x19, 0x4e, - 0xde, 0xb1, 0xda, 0xa8, 0x6a, 0x1f, 0x59, 0xf5, 0xd7, 0x51, 0x6d, 0x00, 0xea, 0xaf, 0x4b, 0xae, - 0xda, 0x17, 0xe0, 0x98, 0x79, 0x03, 0x34, 0xaf, 0x57, 0xa9, 0xd4, 0x9b, 0x2d, 0xbb, 0xed, 0x46, - 0x30, 0xfe, 0x0e, 0xf7, 0x94, 0x87, 0xdb, 0x20, 0xb0, 0x5c, 0x09, 0xc6, 0xc9, 0xe1, 0xa0, 0x21, - 0xf9, 0xbb, 0x8c, 0x68, 0xcc, 0x47, 0xb1, 0xc2, 0x51, 0xb5, 0x9b, 0x2d, 0xb3, 0x3d, 0x48, 0xfd, - 0xfb, 0x17, 0xbc, 0x70, 0x30, 0x08, 0x2b, 0x1c, 0xee, 0x49, 0x0b, 0xe1, 0xd5, 0x7e, 0x00, 0x86, - 0x6f, 0xf0, 0xc2, 0xc1, 0x31, 0x8c, 0x82, 0x37, 0x0c, 0x03, 0x50, 0xfc, 0x4b, 0x4e, 0xc1, 0x31, - 0x98, 0xe2, 0x13, 0xfe, 0x42, 0xdb, 0x46, 0x47, 0x75, 0xc7, 0x6d, 0xd3, 0x56, 0xb8, 0x3f, 0xd5, - 0xef, 0xfd, 0x30, 0xd8, 0x84, 0x19, 0x02, 0x14, 0x57, 0x22, 0xf6, 0x08, 0x95, 0xdc, 0x29, 0x45, - 0x2b, 0xf6, 0xfb, 0xbc, 0x12, 0x09, 0x30, 0xac, 0x9b, 0xd0, 0x21, 0x62, 0xb3, 0x57, 0xf1, 0xfd, - 0xc1, 0x00, 0x74, 0xdf, 0x94, 0x94, 0xdb, 0xe5, 0x58, 0xcc, 0x29, 0xf4, 0x3f, 0x1d, 0xeb, 0x65, - 0x74, 0x32, 0x50, 0x74, 0xfe, 0x2b, 0xa9, 0xff, 0xd9, 0xa7, 0x48, 0x5a, 0x43, 0x26, 0xa4, 0x7e, - 0x4a, 0x8f, 0x7a, 0x59, 0x27, 0xf3, 0x97, 0xdf, 0x65, 0xd7, 0x1b, 0x6c, 0xa7, 0x72, 0x9b, 0x38, - 0xc8, 0x83, 0x4d, 0x4f, 0x34, 0xd9, 0xa7, 0xdf, 0xf5, 0xe2, 0x3c, 0xd0, 0xf3, 0xe4, 0xd6, 0x61, - 0x2c, 0xd0, 0xf0, 0x44, 0x53, 0xfd, 0x15, 0x46, 0x95, 0x16, 0xfb, 0x9d, 0xdc, 0x55, 0x88, 0xe3, - 0xe6, 0x25, 0x1a, 0xfe, 0x57, 0x19, 0x9c, 0x88, 0xe7, 0x9e, 0x86, 0x24, 0x6f, 0x5a, 0xa2, 0xa1, - 0xbf, 0xc8, 0xa0, 0x1e, 0x04, 0xc3, 0x79, 0xc3, 0x12, 0x0d, 0xff, 0x6b, 0x1c, 0xce, 0x21, 0x18, - 0x3e, 0xb8, 0x09, 0xdf, 0xfa, 0x1b, 0x71, 0xb6, 0xe8, 0x70, 0xdb, 0xdd, 0x82, 0x11, 0xd6, 0xa9, - 0x44, 0xa3, 0x7f, 0x89, 0x9d, 0x9c, 0x23, 0x72, 0xd7, 0x21, 0x31, 0xa0, 0xc1, 0xff, 0x26, 0x83, - 0x52, 0xf9, 0x5c, 0x11, 0x52, 0x42, 0x77, 0x12, 0x0d, 0xff, 0x5b, 0x0c, 0x2e, 0xa2, 0xb0, 0xea, - 0xac, 0x3b, 0x89, 0x26, 0xf8, 0xdb, 0x5c, 0x75, 0x86, 0xc0, 0x66, 0xe3, 0x8d, 0x49, 0x34, 0xfa, - 0xef, 0x70, 0xab, 0x73, 0x48, 0xee, 0x59, 0x18, 0xf5, 0x16, 0x9b, 0x68, 0xfc, 0xdf, 0x65, 0x78, - 0x1f, 0x83, 0x2d, 0x20, 0x2c, 0x76, 0xd1, 0x14, 0x7f, 0x8f, 0x5b, 0x40, 0x40, 0xe1, 0x34, 0x92, - 0x1b, 0x98, 0x68, 0xa6, 0x5f, 0xe6, 0x69, 0x24, 0xf5, 0x2f, 0xd8, 0x9b, 0xa4, 0xe6, 0x47, 0x53, - 0xfc, 0x7d, 0xee, 0x4d, 0x22, 0x8f, 0xd5, 0x90, 0x3b, 0x82, 0x68, 0x8e, 0x7f, 0xc8, 0xd5, 0x90, - 0x1a, 0x82, 0xdc, 0x0e, 0xe8, 0xdd, 0xdd, 0x40, 0x34, 0xdf, 0x67, 0x19, 0xdf, 0x64, 0x57, 0x33, - 0x90, 0x7b, 0x1e, 0xa6, 0xc3, 0x3b, 0x81, 0x68, 0xd6, 0x5f, 0x79, 0x57, 0xba, 0x77, 0x13, 0x1b, - 0x81, 0xdc, 0x9e, 0xbf, 0xa4, 0x88, 0x5d, 0x40, 0x34, 0xed, 0xe7, 0xde, 0x0d, 0x16, 0x6e, 0xb1, - 0x09, 0xc8, 0xe5, 0x01, 0xfc, 0x05, 0x38, 0x9a, 0xeb, 0xf3, 0x8c, 0x4b, 0x00, 0xe1, 0xd4, 0x60, - 0xeb, 0x6f, 0x34, 0xfe, 0x0b, 0x3c, 0x35, 0x18, 0x02, 0xa7, 0x06, 0x5f, 0x7a, 0xa3, 0xd1, 0x5f, - 0xe4, 0xa9, 0xc1, 0x21, 0x38, 0xb2, 0x85, 0xd5, 0x2d, 0x9a, 0xe1, 0xcb, 0x3c, 0xb2, 0x05, 0x54, - 0xae, 0x0c, 0x93, 0x5d, 0x0b, 0x62, 0x34, 0xd5, 0xaf, 0x32, 0x2a, 0x4d, 0x5e, 0x0f, 0xc5, 0xc5, - 0x8b, 0x2d, 0x86, 0xd1, 0x6c, 0xbf, 0x26, 0x2d, 0x5e, 0x6c, 0x2d, 0xcc, 0xdd, 0x82, 0xa4, 0xd5, - 0x69, 0x34, 0x70, 0xf2, 0xe8, 0xfd, 0x5f, 0xb0, 0xcb, 0xfc, 0xf7, 0x9f, 0x30, 0xeb, 0x70, 0x40, - 0xee, 0x2a, 0x24, 0x50, 0xf3, 0x00, 0xd5, 0xa2, 0x90, 0xff, 0xe3, 0x27, 0xbc, 0x60, 0x62, 0xe9, - 0xdc, 0xb3, 0x00, 0xf4, 0xd1, 0x08, 0xd9, 0xf6, 0x8b, 0xc0, 0xfe, 0xcf, 0x9f, 0xb0, 0x57, 0x5f, - 0x7c, 0x88, 0x4f, 0x40, 0x5f, 0xa4, 0xe9, 0x4f, 0xf0, 0xc3, 0x20, 0x01, 0xf1, 0xc8, 0x4d, 0x18, - 0x79, 0xc9, 0xb1, 0x2d, 0xd7, 0x3c, 0x8a, 0x42, 0xff, 0x2f, 0x86, 0xe6, 0xf2, 0xd8, 0x60, 0x4d, - 0xbb, 0x8d, 0x5c, 0xf3, 0xc8, 0x89, 0xc2, 0xfe, 0x6f, 0x86, 0xf5, 0x00, 0x18, 0x5c, 0x35, 0x1d, - 0x77, 0x90, 0xeb, 0xfe, 0x63, 0x0e, 0xe6, 0x00, 0xac, 0x34, 0xfe, 0xfc, 0x32, 0x3a, 0x89, 0xc2, - 0xfe, 0x88, 0x2b, 0xcd, 0xe4, 0x73, 0x4f, 0xc3, 0x28, 0xfe, 0x48, 0xdf, 0x67, 0x8b, 0x00, 0xff, - 0x1f, 0x06, 0xf6, 0x11, 0xf8, 0xcc, 0x8e, 0x5b, 0x73, 0xeb, 0xd1, 0xc6, 0xfe, 0x13, 0xe6, 0x69, - 0x2e, 0x9f, 0xcb, 0x43, 0xca, 0x71, 0x6b, 0xb5, 0x0e, 0xeb, 0x4f, 0x23, 0xe0, 0xff, 0xf7, 0x27, - 0xde, 0x23, 0x0b, 0x0f, 0x83, 0xbd, 0xfd, 0xea, 0xcb, 0x6e, 0xcb, 0x26, 0xdb, 0x1c, 0x51, 0x0c, - 0xef, 0x32, 0x06, 0x01, 0x52, 0x28, 0x85, 0x3f, 0xbe, 0x85, 0xdb, 0xf6, 0x6d, 0x9b, 0x3e, 0xb8, - 0xfd, 0x54, 0x36, 0xfa, 0x09, 0x2c, 0xfc, 0x51, 0x03, 0xae, 0xf7, 0x14, 0xc3, 0x4b, 0xf1, 0xa5, - 0xaa, 0xdd, 0x3c, 0xb0, 0x9d, 0x4b, 0x07, 0xb6, 0x7b, 0x7c, 0xc9, 0x3d, 0x46, 0x78, 0x8c, 0x3d, - 0xb2, 0x8d, 0xe3, 0xcf, 0x33, 0xa7, 0x7b, 0xce, 0x4b, 0x76, 0xf1, 0xcb, 0x75, 0x7c, 0x69, 0x65, - 0xb2, 0x91, 0xa2, 0x9f, 0x83, 0x61, 0x72, 0xb1, 0x97, 0xc9, 0x66, 0xa5, 0x52, 0x88, 0xdf, 0x7b, - 0x7b, 0x6e, 0xc8, 0x60, 0x63, 0xde, 0xec, 0x0a, 0x79, 0xd2, 0x1d, 0x0b, 0xcc, 0xae, 0x78, 0xb3, - 0x57, 0xe8, 0xc3, 0xee, 0xc0, 0xec, 0x15, 0x6f, 0x76, 0x95, 0x3c, 0xf6, 0x56, 0x03, 0xb3, 0xab, - 0xde, 0xec, 0x55, 0xb2, 0xb5, 0x33, 0x16, 0x98, 0xbd, 0xea, 0xcd, 0x5e, 0x23, 0x1b, 0x3a, 0xf1, - 0xc0, 0xec, 0x35, 0x6f, 0xf6, 0x3a, 0xd9, 0xcb, 0x99, 0x0c, 0xcc, 0x5e, 0xf7, 0x66, 0x6f, 0x90, - 0x3d, 0x1c, 0x3d, 0x30, 0x7b, 0xc3, 0x9b, 0xbd, 0x49, 0x5e, 0x90, 0x1a, 0x09, 0xcc, 0xde, 0xd4, - 0x67, 0x61, 0x84, 0x5e, 0xf9, 0x32, 0xd9, 0xf0, 0x9f, 0x60, 0xd3, 0x7c, 0xd0, 0x9f, 0xbf, 0x4c, - 0x5e, 0x86, 0x1a, 0x0e, 0xce, 0x5f, 0xf6, 0xe7, 0x57, 0xc8, 0xf7, 0x32, 0xb4, 0xe0, 0xfc, 0x8a, - 0x3f, 0x7f, 0x25, 0x33, 0x46, 0x5e, 0x08, 0x0b, 0xcc, 0x5f, 0xf1, 0xe7, 0x57, 0x33, 0xe3, 0x38, - 0x63, 0x82, 0xf3, 0xab, 0xfe, 0xfc, 0xd5, 0xcc, 0xc4, 0xbc, 0xb2, 0x90, 0x0e, 0xce, 0x5f, 0xcd, - 0xfe, 0x02, 0x71, 0xaf, 0xe5, 0xbb, 0x77, 0x3a, 0xe8, 0x5e, 0xcf, 0xb1, 0xd3, 0x41, 0xc7, 0x7a, - 0x2e, 0x9d, 0x0e, 0xba, 0xd4, 0x73, 0xe6, 0x74, 0xd0, 0x99, 0x9e, 0x1b, 0xa7, 0x83, 0x6e, 0xf4, - 0x1c, 0x38, 0x1d, 0x74, 0xa0, 0xe7, 0xba, 0xe9, 0xa0, 0xeb, 0x3c, 0xa7, 0x4d, 0x07, 0x9d, 0xe6, - 0xb9, 0x6b, 0x3a, 0xe8, 0x2e, 0xcf, 0x51, 0x19, 0xc9, 0x51, 0xbe, 0x8b, 0x32, 0x92, 0x8b, 0x7c, - 0xe7, 0x64, 0x24, 0xe7, 0xf8, 0x6e, 0xc9, 0x48, 0x6e, 0xf1, 0x1d, 0x92, 0x91, 0x1c, 0xe2, 0xbb, - 0x22, 0x23, 0xb9, 0xc2, 0x77, 0x02, 0xcb, 0x31, 0x03, 0xb5, 0x42, 0x72, 0x4c, 0xed, 0x9b, 0x63, - 0x6a, 0xdf, 0x1c, 0x53, 0xfb, 0xe6, 0x98, 0xda, 0x37, 0xc7, 0xd4, 0xbe, 0x39, 0xa6, 0xf6, 0xcd, - 0x31, 0xb5, 0x6f, 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xed, 0x9f, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x11, - 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0x44, 0x8e, 0xa9, 0x3d, 0x73, 0xcc, 0x77, - 0xef, 0x74, 0xd0, 0xbd, 0xa1, 0x39, 0xa6, 0xf6, 0xc8, 0x31, 0xb5, 0x47, 0x8e, 0xa9, 0x3d, 0x72, - 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x5e, - 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, 0x4c, 0xed, 0x99, 0x63, 0x6a, - 0xcf, 0x1c, 0x53, 0xc5, 0x1c, 0xfb, 0xd7, 0x2a, 0xe8, 0x34, 0xc7, 0x76, 0xc8, 0x2b, 0x63, 0xcc, - 0x15, 0xb3, 0x52, 0xa6, 0x0d, 0x63, 0xd7, 0x69, 0xbe, 0x4b, 0x66, 0xa5, 0x5c, 0x0b, 0xce, 0xaf, - 0x78, 0xf3, 0x3c, 0xdb, 0x82, 0xf3, 0x57, 0xbc, 0x79, 0x9e, 0x6f, 0xc1, 0xf9, 0x55, 0x6f, 0x9e, - 0x67, 0x5c, 0x70, 0xfe, 0xaa, 0x37, 0xcf, 0x73, 0x2e, 0x38, 0x7f, 0xcd, 0x9b, 0xe7, 0x59, 0x17, - 0x9c, 0xbf, 0xee, 0xcd, 0xf3, 0xbc, 0x0b, 0xce, 0xdf, 0xf0, 0xe6, 0x79, 0xe6, 0x05, 0xe7, 0x6f, - 0xea, 0xf3, 0x72, 0xee, 0x71, 0x01, 0xcf, 0xb5, 0xf3, 0x72, 0xf6, 0x49, 0x12, 0x97, 0x7d, 0x09, - 0x9e, 0x7f, 0x92, 0xc4, 0x8a, 0x2f, 0xc1, 0x33, 0x50, 0x92, 0xb8, 0x92, 0xfd, 0x0c, 0x71, 0x9f, - 0x25, 0xbb, 0x6f, 0x46, 0x72, 0x5f, 0x4c, 0x70, 0xdd, 0x8c, 0xe4, 0xba, 0x98, 0xe0, 0xb6, 0x19, - 0xc9, 0x6d, 0x31, 0xc1, 0x65, 0x33, 0x92, 0xcb, 0x62, 0x82, 0xbb, 0x66, 0x24, 0x77, 0xc5, 0x04, - 0x57, 0xcd, 0x48, 0xae, 0x8a, 0x09, 0x6e, 0x9a, 0x91, 0xdc, 0x14, 0x13, 0x5c, 0x34, 0x23, 0xb9, - 0x28, 0x26, 0xb8, 0x67, 0x46, 0x72, 0x4f, 0x4c, 0x70, 0xcd, 0x39, 0xd9, 0x35, 0x31, 0xd1, 0x2d, - 0xe7, 0x64, 0xb7, 0xc4, 0x44, 0x97, 0x9c, 0x93, 0x5d, 0x12, 0x13, 0xdd, 0x71, 0x4e, 0x76, 0x47, - 0x4c, 0x74, 0xc5, 0x9f, 0xc6, 0x78, 0x47, 0xb8, 0xeb, 0xb6, 0x3b, 0x55, 0xf7, 0x3d, 0x75, 0x84, - 0xcb, 0x81, 0xf6, 0x21, 0xb5, 0xa2, 0x2f, 0x91, 0x86, 0x55, 0xec, 0x38, 0xa5, 0x15, 0x6c, 0x39, - 0xd0, 0x58, 0x08, 0x08, 0x2b, 0x1c, 0xb1, 0xfa, 0x9e, 0x7a, 0xc3, 0xe5, 0x40, 0x9b, 0x11, 0xad, - 0xdf, 0x8d, 0x0f, 0xbc, 0x63, 0x7b, 0x2b, 0xc6, 0x3b, 0x36, 0x66, 0xfe, 0xd3, 0x76, 0x6c, 0x8b, - 0xd1, 0x26, 0xf7, 0x8c, 0xbd, 0x18, 0x6d, 0xec, 0xae, 0x55, 0x67, 0xd0, 0x0e, 0x6e, 0x31, 0xda, - 0xb4, 0x9e, 0x51, 0xdf, 0xdf, 0x7e, 0x8b, 0x45, 0xb0, 0x81, 0x5a, 0x21, 0x11, 0x7c, 0xda, 0x7e, - 0x6b, 0x39, 0x50, 0x4a, 0x4e, 0x1b, 0xc1, 0xea, 0xa9, 0x23, 0xf8, 0xb4, 0x9d, 0xd7, 0x72, 0xa0, - 0xbc, 0x9c, 0x3a, 0x82, 0x3f, 0x80, 0x7e, 0x88, 0x45, 0xb0, 0x6f, 0xfe, 0xd3, 0xf6, 0x43, 0x8b, - 0xd1, 0x26, 0x0f, 0x8d, 0x60, 0xf5, 0x14, 0x11, 0x3c, 0x48, 0x7f, 0xb4, 0x18, 0x6d, 0xda, 0xf0, - 0x08, 0x7e, 0xcf, 0xdd, 0xcc, 0x97, 0x14, 0x98, 0x2c, 0xd7, 0x6b, 0xa5, 0xe6, 0x01, 0xaa, 0xd5, - 0x50, 0x8d, 0xd9, 0x71, 0x39, 0x50, 0x09, 0x7a, 0xb8, 0xfa, 0xdb, 0x6f, 0xcf, 0xf9, 0x16, 0xbe, - 0x0a, 0x49, 0x6a, 0xd3, 0xe5, 0xe5, 0xcc, 0x3d, 0x25, 0xa2, 0xc2, 0x79, 0xa2, 0xfa, 0x79, 0x0e, - 0xbb, 0xbc, 0x9c, 0xf9, 0x4f, 0x8a, 0x50, 0xe5, 0xbc, 0xe1, 0xec, 0x2f, 0x13, 0x0d, 0xad, 0xf7, - 0xac, 0xe1, 0xa5, 0x81, 0x34, 0x14, 0x74, 0x7b, 0xa4, 0x4b, 0x37, 0x41, 0xab, 0x0e, 0x4c, 0x94, - 0xeb, 0xb5, 0x32, 0xf9, 0x45, 0x80, 0x41, 0x54, 0xa2, 0x32, 0x52, 0x3d, 0x58, 0x0e, 0x84, 0xa5, - 0x88, 0xf0, 0x42, 0x3a, 0x58, 0x23, 0xb2, 0x75, 0x7c, 0x5a, 0x2b, 0x70, 0xda, 0xc5, 0x5e, 0xa7, - 0xf5, 0x2b, 0xbb, 0x77, 0xc2, 0xc5, 0x5e, 0x27, 0xf4, 0x73, 0xc8, 0x3b, 0xd5, 0x6b, 0x7c, 0x71, - 0xa6, 0x2f, 0x6e, 0xe9, 0xe7, 0x20, 0xb6, 0x41, 0xdf, 0x2b, 0x4f, 0x17, 0xd2, 0x58, 0xa9, 0xef, - 0xbc, 0x3d, 0x17, 0xdf, 0xef, 0xd4, 0x6b, 0x46, 0x6c, 0xa3, 0xa6, 0xdf, 0x81, 0xc4, 0x27, 0xd9, - 0xf7, 0x52, 0xb1, 0xc0, 0x2a, 0x13, 0xf8, 0x68, 0xc4, 0x23, 0x26, 0x42, 0xbd, 0xb4, 0x5f, 0xb7, - 0xdc, 0xcb, 0x2b, 0x37, 0x0c, 0x4a, 0x91, 0xfd, 0x73, 0x00, 0xf4, 0x9c, 0x6b, 0xa6, 0x73, 0xac, - 0x97, 0x39, 0x33, 0x3d, 0xf5, 0x8d, 0xef, 0xbc, 0x3d, 0xb7, 0x3a, 0x08, 0xeb, 0x53, 0x35, 0xd3, - 0x39, 0x7e, 0xca, 0x3d, 0x69, 0xa1, 0xa5, 0xc2, 0x89, 0x8b, 0x1c, 0xce, 0xde, 0xe2, 0xab, 0x1e, - 0xbb, 0xae, 0x8c, 0x70, 0x5d, 0xc9, 0xc0, 0x35, 0xad, 0x07, 0xaf, 0x69, 0xf9, 0x41, 0xaf, 0xe7, - 0x35, 0xbe, 0x48, 0x48, 0x96, 0x54, 0xa3, 0x2c, 0xa9, 0xbe, 0x57, 0x4b, 0xb6, 0x78, 0x7d, 0x94, - 0xae, 0x55, 0xed, 0x77, 0xad, 0xea, 0x7b, 0xb9, 0xd6, 0xff, 0x47, 0xb3, 0xd5, 0xcb, 0xa7, 0x7d, - 0x8b, 0xbe, 0xd3, 0xfa, 0x67, 0xeb, 0x59, 0xd0, 0xfb, 0xda, 0x05, 0xe4, 0xe2, 0xf7, 0xde, 0x9c, - 0x53, 0xb2, 0x5f, 0x8a, 0xf1, 0x2b, 0xa7, 0x89, 0xf4, 0x60, 0x57, 0xfe, 0x67, 0xa5, 0xa7, 0xfa, - 0x20, 0x2c, 0xf4, 0x45, 0x05, 0xa6, 0xbb, 0x2a, 0x39, 0x35, 0xd3, 0xfb, 0x5b, 0xce, 0xad, 0xd3, - 0x96, 0x73, 0xa6, 0xe0, 0xef, 0x2a, 0x70, 0x46, 0x2a, 0xaf, 0x54, 0xbd, 0x4b, 0x92, 0x7a, 0x0f, - 0x75, 0x9f, 0x89, 0x08, 0x0a, 0xda, 0x89, 0xee, 0x95, 0x00, 0x02, 0xb3, 0xe7, 0xf7, 0x55, 0xc9, - 0xef, 0xe7, 0x3c, 0x40, 0x88, 0xb9, 0x78, 0x04, 0x30, 0xb5, 0x6d, 0x88, 0xef, 0xb5, 0x11, 0xd2, - 0x67, 0x21, 0xb6, 0xdd, 0x66, 0x1a, 0x8e, 0x53, 0xfc, 0x76, 0xbb, 0xd0, 0x36, 0xad, 0xea, 0xb1, - 0x11, 0xdb, 0x6e, 0xeb, 0xe7, 0x41, 0xcd, 0xb3, 0xef, 0xc4, 0xa7, 0x56, 0x26, 0xa8, 0x40, 0xde, - 0xaa, 0x31, 0x09, 0x3c, 0xa7, 0xcf, 0x42, 0x7c, 0x13, 0x99, 0x87, 0x4c, 0x09, 0xa0, 0x32, 0x78, - 0xc4, 0x20, 0xe3, 0xec, 0x84, 0x2f, 0x40, 0x92, 0x13, 0xeb, 0x17, 0x30, 0xe2, 0xd0, 0x65, 0xa7, - 0x65, 0x08, 0xac, 0x0e, 0x5b, 0xb9, 0xc8, 0xac, 0x7e, 0x11, 0x12, 0x46, 0xfd, 0xe8, 0xd8, 0x65, - 0x27, 0xef, 0x16, 0xa3, 0xd3, 0xd9, 0xbb, 0x30, 0xea, 0x69, 0xf4, 0x3e, 0x53, 0xaf, 0xd1, 0x4b, - 0xd3, 0x67, 0xc4, 0xf5, 0x84, 0x3f, 0xb7, 0xa4, 0x43, 0xfa, 0x3c, 0x24, 0x77, 0xdd, 0xb6, 0x5f, - 0xf4, 0x79, 0x47, 0xea, 0x8d, 0x66, 0x7f, 0x41, 0x81, 0xe4, 0x1a, 0x42, 0x2d, 0x62, 0xf0, 0xc7, - 0x21, 0xbe, 0x66, 0xbf, 0x6a, 0x31, 0x05, 0x27, 0x99, 0x45, 0xf1, 0x34, 0xb3, 0x29, 0x99, 0xd6, - 0x1f, 0x17, 0xed, 0x3e, 0xe5, 0xd9, 0x5d, 0x90, 0x23, 0xb6, 0xcf, 0x06, 0x6c, 0xcf, 0x1c, 0x88, - 0x85, 0xba, 0xec, 0x7f, 0x1d, 0x52, 0xc2, 0x59, 0xf4, 0x05, 0xa6, 0x46, 0x4c, 0x06, 0x8a, 0xb6, - 0xc2, 0x12, 0x59, 0x04, 0x63, 0x81, 0x13, 0x63, 0xa8, 0x60, 0xe2, 0x1e, 0x50, 0x62, 0xe6, 0xc5, - 0xa0, 0x99, 0xc3, 0x45, 0x99, 0xa9, 0x97, 0xa9, 0x8d, 0x88, 0xb9, 0x2f, 0xd0, 0xe0, 0xec, 0xed, - 0x44, 0xfc, 0x39, 0x9b, 0x00, 0xb5, 0x5c, 0x6f, 0x64, 0x9f, 0x06, 0xa0, 0x29, 0x5f, 0xb2, 0x3a, - 0x4d, 0x29, 0xeb, 0xc6, 0xb9, 0x81, 0xf7, 0x8e, 0xd1, 0x1e, 0x72, 0x88, 0x48, 0xb0, 0x9f, 0xc2, - 0x05, 0x06, 0x68, 0x8a, 0x11, 0xfc, 0x93, 0x91, 0xf8, 0xd0, 0x4e, 0x0c, 0x8b, 0x66, 0xa8, 0xe8, - 0x5d, 0xe4, 0xe6, 0x2d, 0xdb, 0x3d, 0x46, 0x6d, 0x09, 0xb1, 0xa2, 0x5f, 0x09, 0x24, 0xec, 0xf8, - 0xca, 0x23, 0x1e, 0xa2, 0x27, 0xe8, 0x4a, 0xf6, 0x6b, 0x44, 0x41, 0xdc, 0x0a, 0x74, 0x5d, 0xa0, - 0x3a, 0xc0, 0x05, 0xea, 0xd7, 0x02, 0xfd, 0x5b, 0x1f, 0x35, 0xa5, 0x5b, 0xcb, 0x9b, 0x81, 0xfb, - 0x9c, 0xfe, 0xca, 0x06, 0xef, 0x31, 0xb9, 0x4d, 0xb9, 0xca, 0x4f, 0x46, 0xaa, 0xdc, 0xa3, 0xbb, - 0x3d, 0xad, 0x4d, 0xd5, 0x41, 0x6d, 0xfa, 0x4d, 0xaf, 0xe3, 0xa0, 0x3f, 0x3c, 0x42, 0x7e, 0xb2, - 0x47, 0xff, 0x68, 0xa4, 0xef, 0x73, 0x4a, 0xd1, 0x53, 0x75, 0x75, 0x50, 0xf7, 0xe7, 0x62, 0x85, - 0x82, 0xa7, 0xee, 0xf5, 0x53, 0x84, 0x40, 0x2e, 0x56, 0x2c, 0x7a, 0x65, 0x3b, 0xf9, 0x99, 0x37, - 0xe7, 0x94, 0xaf, 0xbe, 0x39, 0x37, 0x94, 0xfd, 0x4d, 0x05, 0x26, 0x99, 0xa4, 0x10, 0xb8, 0x4f, - 0x49, 0xca, 0x9f, 0xe5, 0x35, 0x23, 0xcc, 0x02, 0x3f, 0xb5, 0xe0, 0xfd, 0x96, 0x02, 0x99, 0x2e, - 0x5d, 0xb9, 0xbd, 0x97, 0x07, 0x52, 0x39, 0xa7, 0x94, 0x7e, 0xf6, 0x36, 0xbf, 0x0b, 0x89, 0xbd, - 0x7a, 0x13, 0xb5, 0xf1, 0x4a, 0x80, 0x3f, 0x50, 0x95, 0xf9, 0x66, 0x0e, 0x1d, 0xe2, 0x73, 0x54, - 0xb9, 0xc0, 0xdc, 0x8a, 0x9e, 0x81, 0xf8, 0x9a, 0xe9, 0x9a, 0x44, 0x83, 0xb4, 0x57, 0x5f, 0x4d, - 0xd7, 0xcc, 0x5e, 0x81, 0xf4, 0xd6, 0x09, 0x79, 0x11, 0xa9, 0x46, 0xde, 0x41, 0x09, 0x76, 0x7f, - 0xbc, 0x5f, 0xbd, 0xbc, 0x98, 0x48, 0xd6, 0xb4, 0x7b, 0x4a, 0x2e, 0x4e, 0xf4, 0x79, 0x05, 0xc6, - 0xb7, 0xb1, 0xda, 0x04, 0x47, 0x60, 0xf3, 0xa0, 0x6c, 0x05, 0x1b, 0x21, 0x91, 0xd5, 0x50, 0xb6, - 0xa4, 0xf6, 0x51, 0xf5, 0xcc, 0x23, 0xb5, 0x6d, 0xaa, 0xd7, 0xb6, 0x2d, 0xc6, 0x93, 0xe3, 0xda, - 0xe4, 0x62, 0x3c, 0x09, 0xda, 0x18, 0x3b, 0xef, 0x7f, 0x50, 0x41, 0xa3, 0xad, 0xce, 0x1a, 0x3a, - 0xac, 0x5b, 0x75, 0xb7, 0xbb, 0x5f, 0xf5, 0x34, 0xd6, 0x9f, 0x85, 0x51, 0x6c, 0xd2, 0x75, 0xf6, - 0xcb, 0x7d, 0xd8, 0xf4, 0xe7, 0x59, 0x8b, 0x22, 0x51, 0xb0, 0x01, 0x12, 0x3a, 0x3e, 0x46, 0x5f, - 0x07, 0xb5, 0x5c, 0xde, 0x62, 0x8b, 0xdb, 0x6a, 0x5f, 0x28, 0x7b, 0xd9, 0x87, 0x1d, 0xb1, 0x31, - 0xe7, 0xc8, 0xc0, 0x04, 0xfa, 0x2a, 0xc4, 0xca, 0x5b, 0xac, 0xe1, 0xbd, 0x30, 0x08, 0x8d, 0x11, - 0x2b, 0x6f, 0xcd, 0xfc, 0x1b, 0x05, 0xc6, 0x02, 0xa3, 0x7a, 0x16, 0xd2, 0x74, 0x40, 0xb8, 0xdc, - 0x61, 0x23, 0x30, 0xc6, 0x75, 0x8e, 0xbd, 0x47, 0x9d, 0x67, 0xf2, 0x30, 0x21, 0x8d, 0xeb, 0x4b, - 0xa0, 0x8b, 0x43, 0x4c, 0x09, 0xfa, 0xab, 0x61, 0x21, 0x33, 0xd9, 0x47, 0x01, 0x7c, 0xbb, 0x7a, - 0x3f, 0x76, 0x55, 0x2e, 0xed, 0xee, 0x95, 0xd6, 0x34, 0x25, 0xfb, 0x0d, 0x05, 0x52, 0xac, 0x6d, - 0xad, 0xda, 0x2d, 0xa4, 0x17, 0x40, 0xc9, 0xb3, 0x08, 0x7a, 0x30, 0xbd, 0x95, 0xbc, 0x7e, 0x09, - 0x94, 0xc2, 0xe0, 0xae, 0x56, 0x0a, 0xfa, 0x0a, 0x28, 0x45, 0xe6, 0xe0, 0xc1, 0x3c, 0xa3, 0x14, - 0xb3, 0x7f, 0xa2, 0xc2, 0x94, 0xd8, 0x46, 0xf3, 0x7a, 0x72, 0x3e, 0x78, 0xdf, 0x94, 0x1b, 0xbd, - 0xbc, 0x72, 0x65, 0x75, 0x09, 0xff, 0xe3, 0x85, 0x64, 0x36, 0x78, 0x0b, 0x95, 0x03, 0x4f, 0xe4, - 0x72, 0xaf, 0xf7, 0x44, 0x72, 0x71, 0x81, 0xa1, 0xeb, 0x3d, 0x91, 0xc0, 0x6c, 0xd7, 0x7b, 0x22, - 0x81, 0xd9, 0xae, 0xf7, 0x44, 0x02, 0xb3, 0x5d, 0x7b, 0x01, 0x81, 0xd9, 0xae, 0xf7, 0x44, 0x02, - 0xb3, 0x5d, 0xef, 0x89, 0x04, 0x66, 0xbb, 0xdf, 0x13, 0x61, 0xd3, 0x3d, 0xdf, 0x13, 0x09, 0xce, - 0x77, 0xbf, 0x27, 0x12, 0x9c, 0xef, 0x7e, 0x4f, 0x24, 0x17, 0x77, 0xdb, 0x1d, 0xd4, 0x7b, 0xd7, - 0x21, 0x88, 0xef, 0x77, 0x13, 0xe8, 0x57, 0xe0, 0x6d, 0x98, 0xa0, 0x0f, 0x24, 0x8a, 0xb6, 0xe5, - 0x9a, 0x75, 0x0b, 0xb5, 0xf5, 0x8f, 0x41, 0x9a, 0x0e, 0xd1, 0xdb, 0x9c, 0xb0, 0xdb, 0x40, 0x3a, - 0xcf, 0xea, 0x6d, 0x40, 0x3a, 0xfb, 0xa7, 0x71, 0x98, 0xa6, 0x03, 0x65, 0xb3, 0x89, 0x02, 0x6f, - 0x19, 0x5d, 0x94, 0xf6, 0x94, 0xc6, 0x31, 0xfc, 0xfe, 0xdb, 0x73, 0x74, 0x34, 0xef, 0x45, 0xd3, - 0x45, 0x69, 0x77, 0x29, 0x28, 0xe7, 0x2f, 0x40, 0x17, 0xa5, 0x37, 0x8f, 0x82, 0x72, 0xde, 0x7a, - 0xe3, 0xc9, 0xf1, 0x77, 0x90, 0x82, 0x72, 0x6b, 0x5e, 0x94, 0x5d, 0x94, 0xde, 0x46, 0x0a, 0xca, - 0x95, 0xbc, 0x78, 0xbb, 0x28, 0xed, 0x3d, 0x05, 0xe5, 0xd6, 0xbd, 0xc8, 0xbb, 0x28, 0xed, 0x42, - 0x05, 0xe5, 0x6e, 0x7b, 0x31, 0x78, 0x51, 0x7a, 0x57, 0x29, 0x28, 0xf7, 0x9c, 0x17, 0x8d, 0x17, - 0xa5, 0xb7, 0x96, 0x82, 0x72, 0x1b, 0x5e, 0x5c, 0x2e, 0xc8, 0xef, 0x2f, 0x05, 0x05, 0xef, 0xf8, - 0x11, 0xba, 0x20, 0xbf, 0xc9, 0x14, 0x94, 0xfc, 0xb8, 0x1f, 0xab, 0x0b, 0xf2, 0x3b, 0x4d, 0x41, - 0xc9, 0x4d, 0x3f, 0x6a, 0x17, 0xe4, 0xbd, 0xb2, 0xa0, 0xe4, 0x96, 0x1f, 0xbf, 0x0b, 0xf2, 0xae, - 0x59, 0x50, 0xb2, 0xec, 0x47, 0xf2, 0x82, 0xbc, 0x7f, 0x16, 0x94, 0xdc, 0xf6, 0x1f, 0xa2, 0xff, - 0x81, 0x14, 0x7e, 0xc2, 0x5b, 0x50, 0x59, 0x29, 0xfc, 0x20, 0x24, 0xf4, 0xa4, 0x42, 0x26, 0xc8, - 0xf8, 0x61, 0x97, 0x95, 0xc2, 0x0e, 0x42, 0x42, 0x2e, 0x2b, 0x85, 0x1c, 0x84, 0x84, 0x5b, 0x56, - 0x0a, 0x37, 0x08, 0x09, 0xb5, 0xac, 0x14, 0x6a, 0x10, 0x12, 0x66, 0x59, 0x29, 0xcc, 0x20, 0x24, - 0xc4, 0xb2, 0x52, 0x88, 0x41, 0x48, 0x78, 0x65, 0xa5, 0xf0, 0x82, 0x90, 0xd0, 0xba, 0x20, 0x87, - 0x16, 0x84, 0x85, 0xd5, 0x05, 0x39, 0xac, 0x20, 0x2c, 0xa4, 0x1e, 0x93, 0x43, 0x6a, 0xf4, 0xfe, - 0xdb, 0x73, 0x09, 0x3c, 0x24, 0x44, 0xd3, 0x05, 0x39, 0x9a, 0x20, 0x2c, 0x92, 0x2e, 0xc8, 0x91, - 0x04, 0x61, 0x51, 0x74, 0x41, 0x8e, 0x22, 0x08, 0x8b, 0xa0, 0xb7, 0xe4, 0x08, 0xf2, 0xdf, 0xf1, - 0xc9, 0x4a, 0x5b, 0x8a, 0x51, 0x11, 0xa4, 0x0e, 0x10, 0x41, 0xea, 0x00, 0x11, 0xa4, 0x0e, 0x10, - 0x41, 0xea, 0x00, 0x11, 0xa4, 0x0e, 0x10, 0x41, 0xea, 0x00, 0x11, 0xa4, 0x0e, 0x10, 0x41, 0xea, - 0x20, 0x11, 0xa4, 0x0e, 0x14, 0x41, 0x6a, 0xaf, 0x08, 0xba, 0x20, 0xbf, 0xf1, 0x00, 0x61, 0x05, - 0xe9, 0x82, 0xbc, 0xf5, 0x19, 0x1d, 0x42, 0xea, 0x40, 0x21, 0xa4, 0xf6, 0x0a, 0xa1, 0x3f, 0x50, - 0x61, 0x2a, 0x10, 0x42, 0x6c, 0x7f, 0xe8, 0xfd, 0xaa, 0x40, 0xd7, 0x06, 0x78, 0xc1, 0x22, 0x2c, - 0xa6, 0xae, 0x0d, 0xb0, 0x49, 0xdd, 0x2f, 0xce, 0xba, 0xab, 0x50, 0x69, 0x80, 0x2a, 0xb4, 0xee, - 0xc5, 0xd0, 0xb5, 0x01, 0x5e, 0xbc, 0xe8, 0x8e, 0xbd, 0x1b, 0xfd, 0x8a, 0xc0, 0x73, 0x03, 0x15, - 0x81, 0x8d, 0x81, 0x8a, 0xc0, 0x1d, 0xdf, 0x83, 0xbf, 0x18, 0x83, 0x33, 0xbe, 0x07, 0xe9, 0x27, - 0xf2, 0xcb, 0x5a, 0x59, 0x61, 0x8b, 0x4a, 0xe7, 0xdb, 0x36, 0x82, 0x1b, 0x63, 0x1b, 0x35, 0x7d, - 0x27, 0xb8, 0x59, 0x95, 0x3b, 0xed, 0x06, 0x8e, 0xe0, 0x71, 0xf6, 0x30, 0xf4, 0x02, 0xa8, 0x1b, - 0x35, 0x87, 0x54, 0x8b, 0xb0, 0xd3, 0x16, 0x0d, 0x3c, 0xad, 0x1b, 0x30, 0x4c, 0xc4, 0x1d, 0xe2, - 0xde, 0xf7, 0x72, 0xe2, 0x35, 0x83, 0x31, 0x65, 0xdf, 0x52, 0x60, 0x3e, 0x10, 0xca, 0xef, 0xcf, - 0x96, 0xc1, 0xad, 0x81, 0xb6, 0x0c, 0x02, 0x09, 0xe2, 0x6f, 0x1f, 0x3c, 0xd1, 0xbd, 0x53, 0x2d, - 0x66, 0x89, 0xbc, 0x95, 0xf0, 0x97, 0x60, 0xdc, 0xbf, 0x02, 0x72, 0xcf, 0x76, 0x35, 0xfa, 0x69, - 0x66, 0x58, 0x6a, 0x5e, 0x95, 0x9e, 0xa2, 0xf5, 0x85, 0x79, 0xd9, 0x9a, 0xcd, 0xc1, 0x44, 0x39, - 0xf8, 0x95, 0xa8, 0xa8, 0x87, 0x11, 0x49, 0xdc, 0x9a, 0xdf, 0xfb, 0xf2, 0xdc, 0x50, 0xf6, 0xa3, - 0x90, 0x16, 0xbf, 0xf5, 0x24, 0x01, 0x47, 0x39, 0x30, 0x17, 0xff, 0x36, 0x96, 0xfe, 0x07, 0x0a, - 0x9c, 0x15, 0xc5, 0x9f, 0xaf, 0xbb, 0xc7, 0x1b, 0x16, 0xee, 0xe9, 0x9f, 0x86, 0x24, 0x62, 0x8e, - 0x63, 0x3f, 0x92, 0xc3, 0xee, 0x23, 0x43, 0xc5, 0x97, 0xc8, 0xbf, 0x86, 0x07, 0x91, 0x9e, 0x71, - 0xf0, 0xd3, 0xae, 0xcc, 0x3c, 0x0e, 0x09, 0xca, 0x1f, 0xd4, 0x6b, 0x4c, 0xd2, 0xeb, 0xd7, 0x43, - 0xf4, 0x22, 0x71, 0xa4, 0xdf, 0x09, 0xe8, 0x25, 0xdc, 0xae, 0x86, 0x8a, 0x2f, 0xf1, 0xe0, 0x2b, - 0x24, 0x71, 0xff, 0x47, 0x22, 0x2a, 0x5a, 0xc9, 0x05, 0x48, 0x96, 0x64, 0x99, 0x70, 0x3d, 0xd7, - 0x20, 0x5e, 0xb6, 0x6b, 0xe4, 0xe7, 0x7b, 0xc8, 0xef, 0x55, 0x33, 0x23, 0xb3, 0x1f, 0xaf, 0xbe, - 0x08, 0xc9, 0xe2, 0x71, 0xbd, 0x51, 0x6b, 0x23, 0x8b, 0xed, 0xd9, 0xb3, 0x47, 0xe8, 0x18, 0x63, - 0x78, 0x73, 0xd9, 0x22, 0x4c, 0x96, 0x6d, 0xab, 0x70, 0xe2, 0x8a, 0x75, 0x63, 0x49, 0x4a, 0x11, - 0xb6, 0xe7, 0x43, 0xbe, 0x25, 0x82, 0x05, 0x0a, 0x89, 0xef, 0xbc, 0x3d, 0xa7, 0xec, 0x79, 0xcf, - 0xcf, 0xb7, 0xe0, 0x21, 0x96, 0x3e, 0x5d, 0x54, 0x2b, 0x51, 0x54, 0xa3, 0x6c, 0x9f, 0x5a, 0xa0, - 0xdb, 0xc0, 0x74, 0x56, 0x28, 0xdd, 0x83, 0x69, 0x86, 0x9b, 0xa2, 0xbe, 0x9a, 0xa9, 0xa7, 0xd2, - 0x2c, 0x94, 0x6e, 0x29, 0x8a, 0x4e, 0xd2, 0xec, 0x31, 0x18, 0xf5, 0xe6, 0x84, 0x68, 0x10, 0x33, - 0x65, 0x65, 0x31, 0x0b, 0x29, 0x21, 0x61, 0xf5, 0x04, 0x28, 0x79, 0x6d, 0x08, 0xff, 0x57, 0xd0, - 0x14, 0xfc, 0x5f, 0x51, 0x8b, 0x2d, 0x3e, 0x0e, 0x13, 0xd2, 0xf3, 0x4b, 0x3c, 0xb3, 0xa6, 0x01, - 0xfe, 0xaf, 0xa4, 0xa5, 0x66, 0xe2, 0x9f, 0xf9, 0xb5, 0xd9, 0xa1, 0xc5, 0x5b, 0xa0, 0x77, 0x3f, - 0xe9, 0xd4, 0x87, 0x21, 0x96, 0xc7, 0x94, 0x0f, 0x41, 0xac, 0x50, 0xd0, 0x94, 0x99, 0x89, 0xbf, - 0xfe, 0x85, 0xf9, 0x54, 0x81, 0x7c, 0xa5, 0xfb, 0x2e, 0x72, 0x0b, 0x05, 0x06, 0x7e, 0x06, 0xce, - 0x86, 0x3e, 0x29, 0xc5, 0xf8, 0x62, 0x91, 0xe2, 0xd7, 0xd6, 0xba, 0xf0, 0x6b, 0x6b, 0x04, 0xaf, - 0xe4, 0xf8, 0x8e, 0x73, 0x5e, 0x0f, 0x79, 0x2e, 0x99, 0xa9, 0x09, 0x3b, 0xdc, 0xf9, 0xdc, 0x33, - 0x4c, 0xb6, 0x10, 0x2a, 0x8b, 0x22, 0x76, 0xac, 0x0b, 0xb9, 0x22, 0xc3, 0x17, 0x43, 0xf1, 0x87, - 0xd2, 0xb6, 0x6a, 0x70, 0x85, 0x60, 0x24, 0x45, 0x4f, 0xe1, 0xb5, 0x50, 0x92, 0x63, 0xe1, 0x65, - 0xf7, 0x35, 0x4f, 0xe1, 0x52, 0xa8, 0x6c, 0x3d, 0xe2, 0xa5, 0xaf, 0x52, 0xee, 0x12, 0x5b, 0xe4, - 0xf3, 0x97, 0xf5, 0xb3, 0x3c, 0x47, 0x03, 0x15, 0x98, 0x19, 0x88, 0x4b, 0xe5, 0x8a, 0x0c, 0x50, - 0xe8, 0x09, 0xe8, 0x6d, 0x25, 0x8e, 0xcc, 0x3d, 0xc7, 0x48, 0x8a, 0x3d, 0x49, 0x22, 0x4c, 0xc5, - 0xe1, 0x85, 0xbd, 0x7b, 0xef, 0xcc, 0x0e, 0x7d, 0xfb, 0x9d, 0xd9, 0xa1, 0xff, 0xf2, 0xce, 0xec, - 0xd0, 0x77, 0xdf, 0x99, 0x55, 0x7e, 0xf0, 0xce, 0xac, 0xf2, 0xa3, 0x77, 0x66, 0x95, 0x1f, 0xbf, - 0x33, 0xab, 0xbc, 0x71, 0x7f, 0x56, 0xf9, 0xea, 0xfd, 0x59, 0xe5, 0x6b, 0xf7, 0x67, 0x95, 0xdf, - 0xbb, 0x3f, 0xab, 0xbc, 0x75, 0x7f, 0x56, 0xb9, 0x77, 0x7f, 0x56, 0xf9, 0xf6, 0xfd, 0x59, 0xe5, - 0xbb, 0xf7, 0x67, 0x95, 0x1f, 0xdc, 0x9f, 0x1d, 0xfa, 0xd1, 0xfd, 0x59, 0xe5, 0xc7, 0xf7, 0x67, - 0x87, 0xde, 0xf8, 0xde, 0xec, 0xd0, 0x9b, 0xdf, 0x9b, 0x1d, 0xfa, 0xea, 0xf7, 0x66, 0x15, 0xf8, - 0xa3, 0x55, 0x98, 0x67, 0xdf, 0x24, 0xf3, 0xbe, 0xf6, 0x7b, 0xc9, 0x3d, 0x46, 0xa4, 0x25, 0xb8, - 0xc2, 0x7f, 0x03, 0xcc, 0x1b, 0x38, 0xe5, 0xb7, 0xca, 0x66, 0x1e, 0xf4, 0x3b, 0x6c, 0xd9, 0x7f, - 0x9b, 0x80, 0x11, 0xfe, 0x2c, 0x38, 0xec, 0x07, 0xcd, 0xaf, 0x42, 0xf2, 0xb8, 0xde, 0x30, 0xdb, - 0x75, 0xf7, 0x84, 0x3d, 0x04, 0x7d, 0x78, 0xc9, 0x57, 0x9b, 0x3f, 0x36, 0x7d, 0xae, 0xd3, 0xb4, - 0x3b, 0x6d, 0xc3, 0x13, 0xd5, 0xe7, 0x21, 0x7d, 0x8c, 0xea, 0x47, 0xc7, 0x6e, 0xa5, 0x6e, 0x55, - 0xaa, 0x4d, 0xd2, 0x2b, 0x8f, 0x19, 0x40, 0xc7, 0x36, 0xac, 0x62, 0x13, 0x9f, 0xac, 0x66, 0xba, - 0x26, 0xb9, 0x47, 0x4f, 0x1b, 0xe4, 0xb3, 0x7e, 0x1e, 0xd2, 0x6d, 0xe4, 0x74, 0x1a, 0x6e, 0xa5, - 0x6a, 0x77, 0x2c, 0x97, 0x74, 0xb3, 0xaa, 0x91, 0xa2, 0x63, 0x45, 0x3c, 0xa4, 0x3f, 0x06, 0x63, - 0x6e, 0xbb, 0x83, 0x2a, 0x4e, 0xd5, 0x76, 0x9d, 0xa6, 0x69, 0x91, 0x6e, 0x36, 0x69, 0xa4, 0xf1, - 0xe0, 0x2e, 0x1b, 0x23, 0xbf, 0x85, 0x5f, 0xb5, 0xdb, 0x88, 0xdc, 0x4c, 0xc7, 0x0c, 0x7a, 0xa0, - 0x6b, 0xa0, 0xbe, 0x8c, 0x4e, 0xc8, 0xed, 0x5a, 0xdc, 0xc0, 0x1f, 0xf5, 0x27, 0x61, 0x98, 0xfe, - 0x31, 0x1b, 0xd2, 0x5b, 0x93, 0xad, 0x6b, 0xef, 0xd2, 0xe8, 0x23, 0x5a, 0x83, 0x09, 0xe8, 0x37, - 0x61, 0xc4, 0x45, 0xed, 0xb6, 0x59, 0xb7, 0xc8, 0xad, 0x53, 0x6a, 0x65, 0x2e, 0xc4, 0x0c, 0x7b, - 0x54, 0x82, 0xfc, 0x26, 0xb0, 0xc1, 0xe5, 0xf5, 0xab, 0x90, 0x26, 0x72, 0x2b, 0x15, 0xfa, 0x07, - 0x7f, 0x52, 0x3d, 0xa3, 0x39, 0x45, 0xe5, 0xf8, 0x4e, 0x01, 0x87, 0xd1, 0xdf, 0x43, 0x1c, 0x23, - 0xa7, 0x7d, 0x2c, 0xe4, 0xb4, 0xa4, 0xf0, 0xae, 0x90, 0xa6, 0x91, 0x9e, 0x9a, 0xf1, 0xd0, 0x5f, - 0x4c, 0xdc, 0x82, 0xb4, 0xa8, 0x17, 0x37, 0x03, 0x6d, 0x7e, 0x88, 0x19, 0x9e, 0xf0, 0xff, 0x98, - 0x42, 0x0f, 0x2b, 0xd0, 0xf9, 0x5c, 0xec, 0x86, 0x32, 0xb3, 0x03, 0x9a, 0x7c, 0xbe, 0x10, 0xca, - 0x8b, 0x41, 0x4a, 0x4d, 0xbc, 0x58, 0xf2, 0x9c, 0xdc, 0x67, 0xcc, 0x3e, 0x0b, 0xc3, 0x34, 0x7e, - 0xf4, 0x14, 0x8c, 0xf8, 0x3f, 0xb5, 0x99, 0x84, 0xf8, 0xce, 0x7e, 0x79, 0x97, 0xfe, 0x66, 0xee, - 0xee, 0x66, 0x7e, 0x67, 0x77, 0x6f, 0xa3, 0xf8, 0x71, 0x2d, 0xa6, 0x4f, 0x40, 0xaa, 0xb0, 0xb1, - 0xb9, 0x59, 0x29, 0xe4, 0x37, 0x36, 0x4b, 0x77, 0x35, 0x35, 0x3b, 0x0b, 0xc3, 0x54, 0x4f, 0xf2, - 0xdb, 0x7f, 0x1d, 0xcb, 0x3a, 0xe1, 0xcd, 0x03, 0x39, 0xc8, 0x7e, 0x5d, 0x87, 0x91, 0x7c, 0xa3, - 0xb1, 0x65, 0xb6, 0x1c, 0xfd, 0x79, 0x98, 0xa4, 0xbf, 0xca, 0xb1, 0x67, 0xaf, 0x91, 0x9f, 0xa8, - 0xc4, 0xa5, 0x41, 0x61, 0x7f, 0x44, 0xc2, 0xbf, 0x6e, 0x26, 0xbe, 0xd4, 0x25, 0x4b, 0x0d, 0xdc, - 0xcd, 0xa1, 0xef, 0x81, 0xc6, 0x07, 0xd7, 0x1b, 0xb6, 0xe9, 0x62, 0xde, 0x18, 0xfb, 0x05, 0xc9, - 0xde, 0xbc, 0x5c, 0x94, 0xd2, 0x76, 0x31, 0xe8, 0x1f, 0x83, 0xe4, 0x86, 0xe5, 0x5e, 0x59, 0xc1, - 0x6c, 0xfc, 0x0f, 0x34, 0x75, 0xb3, 0x71, 0x11, 0xca, 0xe2, 0x21, 0x18, 0xfa, 0xda, 0x2a, 0x46, - 0xc7, 0xfb, 0xa1, 0x89, 0x88, 0x8f, 0x26, 0x87, 0xfa, 0xb3, 0x30, 0x8a, 0xef, 0x4d, 0xe8, 0xc9, - 0x13, 0xbc, 0x71, 0xed, 0x82, 0x7b, 0x32, 0x14, 0xef, 0x63, 0x38, 0x01, 0x3d, 0xff, 0x70, 0x5f, - 0x02, 0x41, 0x01, 0x1f, 0x83, 0x09, 0x76, 0x3d, 0x0d, 0x46, 0x7a, 0x12, 0xec, 0x4a, 0x1a, 0xec, - 0x8a, 0x1a, 0xec, 0x7a, 0x1a, 0x24, 0xfb, 0x12, 0x88, 0x1a, 0x78, 0xc7, 0x7a, 0x01, 0x60, 0xbd, - 0xfe, 0x1a, 0xaa, 0x51, 0x15, 0xe8, 0x9f, 0x6f, 0xca, 0x86, 0x30, 0xf8, 0x42, 0x94, 0x42, 0x40, - 0xe9, 0x25, 0x48, 0xed, 0x1e, 0xfa, 0x24, 0xd0, 0x95, 0xc7, 0x9e, 0x1a, 0x87, 0x12, 0x8b, 0x88, - 0xf3, 0x54, 0xa1, 0x17, 0x93, 0xea, 0xaf, 0x8a, 0x70, 0x35, 0x02, 0xca, 0x57, 0x85, 0x92, 0xa4, - 0x23, 0x54, 0x11, 0x58, 0x44, 0x1c, 0x2e, 0x86, 0x05, 0xdb, 0xc6, 0x92, 0xac, 0x2a, 0xcd, 0x85, - 0x50, 0x30, 0x09, 0x56, 0x0c, 0xd9, 0x11, 0xf1, 0x08, 0x09, 0x72, 0x0c, 0x1e, 0xef, 0xed, 0x11, - 0x2e, 0xc3, 0x3d, 0xc2, 0x8f, 0xc5, 0x3c, 0x23, 0xef, 0xb3, 0x62, 0x9e, 0x89, 0xc8, 0x3c, 0xe3, - 0xa2, 0x52, 0x9e, 0xf1, 0x61, 0xfd, 0x13, 0x30, 0xc1, 0xc7, 0x70, 0x79, 0xc2, 0xa4, 0x1a, 0xfb, - 0x03, 0x77, 0xbd, 0x49, 0x99, 0x24, 0xe5, 0x94, 0xf1, 0x7a, 0x19, 0xc6, 0xf9, 0xd0, 0x96, 0x43, - 0x2e, 0x77, 0x92, 0xfd, 0xed, 0x92, 0xde, 0x8c, 0x54, 0x90, 0x12, 0x4a, 0xe8, 0x99, 0x35, 0x98, - 0x0e, 0xaf, 0x46, 0x62, 0xf9, 0x1d, 0xa5, 0xe5, 0xf7, 0x8c, 0x58, 0x7e, 0x15, 0xb1, 0x7c, 0x17, - 0xe1, 0x6c, 0x68, 0xed, 0x89, 0x22, 0x89, 0x89, 0x24, 0xb7, 0x60, 0x2c, 0x50, 0x72, 0x44, 0x70, - 0x22, 0x04, 0x9c, 0xe8, 0x06, 0xfb, 0xa1, 0x15, 0xb2, 0x7a, 0x04, 0xc0, 0xaa, 0x08, 0xfe, 0x18, - 0x8c, 0x07, 0xeb, 0x8d, 0x88, 0x1e, 0x0b, 0x41, 0x8f, 0x85, 0xa0, 0xc3, 0xcf, 0x1d, 0x0f, 0x41, - 0xc7, 0x25, 0xf4, 0x6e, 0xcf, 0x73, 0x4f, 0x86, 0xa0, 0x27, 0x43, 0xd0, 0xe1, 0xe7, 0xd6, 0x43, - 0xd0, 0xba, 0x88, 0x7e, 0x1a, 0x26, 0xa4, 0x12, 0x23, 0xc2, 0x47, 0x42, 0xe0, 0x23, 0x22, 0xfc, - 0x19, 0xd0, 0xe4, 0xe2, 0x22, 0xe2, 0x27, 0x42, 0xf0, 0x13, 0x61, 0xa7, 0x0f, 0xd7, 0x7e, 0x38, - 0x04, 0x3e, 0x1c, 0x7a, 0xfa, 0x70, 0xbc, 0x16, 0x82, 0xd7, 0x44, 0x7c, 0x0e, 0xd2, 0x62, 0x35, - 0x11, 0xb1, 0xc9, 0x10, 0x6c, 0x52, 0xb6, 0x7b, 0xa0, 0x98, 0x44, 0x45, 0xfa, 0x68, 0x8f, 0x74, - 0x09, 0x94, 0x90, 0x28, 0x92, 0xb4, 0x48, 0xf2, 0x49, 0x38, 0x13, 0x56, 0x32, 0x42, 0x38, 0x16, - 0x44, 0x8e, 0x71, 0xdc, 0x23, 0xfa, 0xcd, 0x9e, 0xd9, 0x92, 0x1a, 0xa7, 0x99, 0x17, 0x61, 0x2a, - 0xa4, 0x70, 0x84, 0xd0, 0x2e, 0x05, 0xbb, 0xb1, 0x8c, 0x40, 0x4b, 0x8a, 0x40, 0xdd, 0x3a, 0xda, - 0xb1, 0xeb, 0x96, 0x2b, 0x76, 0x65, 0xdf, 0x98, 0x82, 0x71, 0x56, 0x9e, 0xb6, 0xdb, 0x35, 0xd4, - 0x46, 0x35, 0xfd, 0x2f, 0xf4, 0xee, 0x9d, 0x96, 0xbb, 0x8b, 0x1a, 0x43, 0x9d, 0xa2, 0x85, 0x7a, - 0xb1, 0x67, 0x0b, 0x75, 0x29, 0x9a, 0x3e, 0xaa, 0x93, 0x2a, 0x76, 0x75, 0x52, 0x4f, 0xf4, 0x26, - 0xed, 0xd5, 0x50, 0x15, 0xbb, 0x1a, 0xaa, 0xfe, 0x24, 0xa1, 0x7d, 0xd5, 0x7a, 0x77, 0x5f, 0xb5, - 0xd0, 0x9b, 0xa5, 0x77, 0x7b, 0xb5, 0xde, 0xdd, 0x5e, 0x45, 0xf0, 0x84, 0x77, 0x59, 0xeb, 0xdd, - 0x5d, 0x56, 0x1f, 0x9e, 0xde, 0xcd, 0xd6, 0x7a, 0x77, 0xb3, 0x15, 0xc1, 0x13, 0xde, 0x73, 0x6d, - 0x84, 0xf4, 0x5c, 0x4f, 0xf6, 0x26, 0xea, 0xd7, 0x7a, 0x6d, 0x86, 0xb5, 0x5e, 0x8b, 0x7d, 0x94, - 0xea, 0xdb, 0x81, 0x6d, 0x84, 0x74, 0x60, 0x51, 0x8a, 0xf5, 0x68, 0xc4, 0x36, 0xc3, 0x1a, 0xb1, - 0x48, 0xc5, 0x7a, 0xf5, 0x63, 0x3f, 0x27, 0xf7, 0x63, 0x17, 0x7b, 0x33, 0x85, 0xb7, 0x65, 0xeb, - 0xdd, 0x6d, 0xd9, 0x42, 0x54, 0xce, 0x85, 0x75, 0x67, 0x2f, 0xf6, 0xec, 0xce, 0x06, 0x48, 0xe1, - 0xa8, 0x26, 0xed, 0x85, 0x5e, 0x4d, 0xda, 0x52, 0x34, 0x77, 0xff, 0x5e, 0x6d, 0xbf, 0x47, 0xaf, - 0xf6, 0x54, 0x34, 0xf1, 0x87, 0x2d, 0xdb, 0x87, 0x2d, 0xdb, 0x87, 0x2d, 0xdb, 0x87, 0x2d, 0xdb, - 0xcf, 0xbe, 0x65, 0xcb, 0xc5, 0x3f, 0xfb, 0xe5, 0x39, 0x25, 0xfb, 0x9f, 0x55, 0xef, 0xcf, 0xad, - 0x3d, 0x5f, 0x77, 0x8f, 0x71, 0x79, 0xdb, 0x82, 0x34, 0xf9, 0xf9, 0xdf, 0xa6, 0xd9, 0x6a, 0xd5, - 0xad, 0x23, 0xd6, 0xb3, 0x2d, 0x76, 0x3f, 0x4a, 0x64, 0x00, 0xf2, 0xa7, 0x66, 0xb6, 0xa8, 0x30, - 0x5b, 0x6e, 0x2c, 0x7f, 0x44, 0xbf, 0x03, 0xa9, 0xa6, 0x73, 0xe4, 0xb1, 0xc5, 0xba, 0x16, 0x42, - 0x89, 0x8d, 0x5e, 0xa9, 0x4f, 0x06, 0x4d, 0x6f, 0x00, 0xab, 0x76, 0x70, 0xe2, 0xfa, 0xaa, 0xa9, - 0x51, 0xaa, 0x61, 0x9f, 0x06, 0x55, 0x3b, 0xf0, 0x47, 0x70, 0xd8, 0xca, 0xba, 0x47, 0x55, 0xba, - 0x40, 0xf0, 0x3c, 0x0f, 0x13, 0x92, 0xb6, 0x21, 0x39, 0xff, 0x00, 0xbe, 0xc1, 0x8a, 0xc9, 0x9a, - 0x47, 0xe5, 0x84, 0x18, 0x90, 0xd9, 0x47, 0x61, 0x2c, 0xc0, 0xad, 0xa7, 0x41, 0x39, 0x64, 0x5f, - 0xa6, 0x54, 0x0e, 0xb3, 0x5f, 0x52, 0x20, 0xc5, 0x5e, 0x24, 0xd8, 0x31, 0xeb, 0x6d, 0xfd, 0x39, - 0x88, 0x37, 0xf8, 0x17, 0x9a, 0x1e, 0xf4, 0xcb, 0xb3, 0x84, 0x41, 0x5f, 0x87, 0x44, 0xdb, 0xfb, - 0xc2, 0xd3, 0x03, 0x7d, 0x23, 0x96, 0xc0, 0xb3, 0xf7, 0x14, 0x98, 0x64, 0xef, 0xb9, 0x3a, 0xec, - 0xf5, 0x67, 0xb3, 0x35, 0xf3, 0x75, 0x05, 0x46, 0xbd, 0x23, 0xfd, 0x00, 0xc6, 0xbd, 0x03, 0xfa, - 0x8a, 0x3d, 0x8d, 0xd4, 0x9c, 0x60, 0xe1, 0x2e, 0x8e, 0xa5, 0x90, 0x4f, 0x74, 0x2b, 0x8a, 0xae, - 0xc9, 0xc1, 0xc1, 0x99, 0x3c, 0x4c, 0x85, 0x88, 0x9d, 0x66, 0x41, 0xce, 0x9e, 0x87, 0xd1, 0xb2, - 0xed, 0xd2, 0xdf, 0xcd, 0xd1, 0xcf, 0x08, 0xbb, 0x0a, 0x85, 0x98, 0x36, 0x44, 0xc0, 0x8b, 0xe7, - 0x61, 0x84, 0x65, 0xbf, 0x3e, 0x0c, 0xb1, 0xad, 0xbc, 0x36, 0x44, 0xfe, 0x2f, 0x68, 0x0a, 0xf9, - 0xbf, 0xa8, 0xc5, 0x0a, 0x9b, 0x0f, 0xb8, 0xcf, 0x34, 0x14, 0xb6, 0xcf, 0x74, 0x30, 0x4c, 0xcd, - 0xf3, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xac, 0x99, 0x92, 0x00, 0x6b, 0x83, 0x00, 0x00, + 0x99, 0x1e, 0x1b, 0x0d, 0x90, 0xc0, 0x0f, 0x90, 0x6c, 0x36, 0x67, 0x28, 0x88, 0x1a, 0x91, 0x33, + 0xd0, 0x68, 0x44, 0xd1, 0x12, 0x67, 0x86, 0xc3, 0xb9, 0x61, 0x2c, 0x69, 0x01, 0x10, 0x1c, 0x71, + 0x4c, 0x82, 0x74, 0x93, 0xb4, 0x34, 0x56, 0x12, 0x54, 0x13, 0x38, 0x24, 0x21, 0x01, 0xdd, 0x58, + 0x74, 0x43, 0x12, 0x55, 0xa9, 0x94, 0xb2, 0x4e, 0x36, 0xde, 0xdc, 0x93, 0x4d, 0x2a, 0x5e, 0xc7, + 0x17, 0x79, 0xb7, 0x76, 0xed, 0xdd, 0xdc, 0xbc, 0xce, 0xc6, 0xd9, 0x75, 0x52, 0x59, 0xe5, 0xc1, + 0xc9, 0xe4, 0x25, 0xe5, 0x4d, 0x5e, 0x52, 0xae, 0x94, 0xca, 0x1a, 0x7b, 0x2b, 0x4e, 0xe2, 0x24, + 0xce, 0x46, 0x55, 0x71, 0x95, 0xf7, 0x61, 0xeb, 0xdc, 0xba, 0x4f, 0x1f, 0x34, 0xd0, 0xe0, 0x48, + 0xb2, 0xf7, 0xc1, 0x2f, 0x33, 0xe8, 0x73, 0xfe, 0xef, 0xeb, 0xbf, 0xff, 0xcb, 0x39, 0x7f, 0x9f, + 0x73, 0x00, 0xc2, 0xbd, 0x3c, 0x9c, 0x3d, 0xb4, 0xed, 0xc3, 0x26, 0xba, 0xd8, 0xee, 0xd8, 0xae, + 0xbd, 0xdf, 0x3d, 0xb8, 0x58, 0x47, 0x4e, 0xad, 0xd3, 0x68, 0xbb, 0x76, 0x67, 0x89, 0xb4, 0xe9, + 0x93, 0x54, 0x62, 0x89, 0x4b, 0xe4, 0x36, 0x61, 0x6a, 0xad, 0xd1, 0x44, 0xab, 0x9e, 0xe0, 0x0e, + 0x72, 0xf5, 0x1b, 0x10, 0x3f, 0x68, 0x34, 0x51, 0x56, 0x39, 0xab, 0x2e, 0xa4, 0x97, 0xcf, 0x2f, + 0x49, 0xa0, 0xa5, 0x20, 0x62, 0x1b, 0x37, 0x1b, 0x04, 0x91, 0xfb, 0x5e, 0x1c, 0xa6, 0x43, 0x7a, + 0x75, 0x1d, 0xe2, 0x96, 0xd9, 0xc2, 0x8c, 0xca, 0x42, 0xca, 0x20, 0x9f, 0xf5, 0x2c, 0x8c, 0xb5, + 0xcd, 0xda, 0x2b, 0xe6, 0x21, 0xca, 0xc6, 0x48, 0x33, 0xbf, 0xd4, 0xe7, 0x00, 0xea, 0xa8, 0x8d, + 0xac, 0x3a, 0xb2, 0x6a, 0xc7, 0x59, 0xf5, 0xac, 0xba, 0x90, 0x32, 0x84, 0x16, 0xfd, 0x23, 0x30, + 0xd5, 0xee, 0xee, 0x37, 0x1b, 0xb5, 0xaa, 0x20, 0x06, 0x67, 0xd5, 0x85, 0x84, 0xa1, 0xd1, 0x8e, + 0x55, 0x5f, 0xf8, 0x09, 0x98, 0x7c, 0x0d, 0x99, 0xaf, 0x88, 0xa2, 0x69, 0x22, 0x3a, 0x81, 0x9b, + 0x05, 0xc1, 0x12, 0x64, 0x5a, 0xc8, 0x71, 0xcc, 0x43, 0x54, 0x75, 0x8f, 0xdb, 0x28, 0x1b, 0x27, + 0x4f, 0x7f, 0xb6, 0xe7, 0xe9, 0xe5, 0x27, 0x4f, 0x33, 0xd4, 0xee, 0x71, 0x1b, 0xe9, 0x05, 0x48, + 0x21, 0xab, 0xdb, 0xa2, 0x0c, 0x89, 0x3e, 0xf6, 0x2b, 0x5b, 0xdd, 0x96, 0xcc, 0x92, 0xc4, 0x30, + 0x46, 0x31, 0xe6, 0xa0, 0xce, 0xab, 0x8d, 0x1a, 0xca, 0x8e, 0x12, 0x82, 0x27, 0x7a, 0x08, 0x76, + 0x68, 0xbf, 0xcc, 0xc1, 0x71, 0x7a, 0x09, 0x52, 0xe8, 0x75, 0x17, 0x59, 0x4e, 0xc3, 0xb6, 0xb2, + 0x63, 0x84, 0xe4, 0xf1, 0x10, 0x2f, 0xa2, 0x66, 0x5d, 0xa6, 0xf0, 0x71, 0xfa, 0x35, 0x18, 0xb3, + 0xdb, 0x6e, 0xc3, 0xb6, 0x9c, 0x6c, 0xf2, 0xac, 0xb2, 0x90, 0x5e, 0x3e, 0x13, 0x1a, 0x08, 0x5b, + 0x54, 0xc6, 0xe0, 0xc2, 0xfa, 0x3a, 0x68, 0x8e, 0xdd, 0xed, 0xd4, 0x50, 0xb5, 0x66, 0xd7, 0x51, + 0xb5, 0x61, 0x1d, 0xd8, 0xd9, 0x14, 0x21, 0x98, 0xef, 0x7d, 0x10, 0x22, 0x58, 0xb2, 0xeb, 0x68, + 0xdd, 0x3a, 0xb0, 0x8d, 0x09, 0x27, 0x70, 0xad, 0xcf, 0xc0, 0xa8, 0x73, 0x6c, 0xb9, 0xe6, 0xeb, + 0xd9, 0x0c, 0x89, 0x10, 0x76, 0x95, 0xfb, 0xbd, 0x51, 0x98, 0x1c, 0x26, 0xc4, 0x6e, 0x41, 0xe2, + 0x00, 0x3f, 0x65, 0x36, 0x76, 0x12, 0x1b, 0x50, 0x4c, 0xd0, 0x88, 0xa3, 0x0f, 0x68, 0xc4, 0x02, + 0xa4, 0x2d, 0xe4, 0xb8, 0xa8, 0x4e, 0x23, 0x42, 0x1d, 0x32, 0xa6, 0x80, 0x82, 0x7a, 0x43, 0x2a, + 0xfe, 0x40, 0x21, 0xf5, 0x22, 0x4c, 0x7a, 0x2a, 0x55, 0x3b, 0xa6, 0x75, 0xc8, 0x63, 0xf3, 0x62, + 0x94, 0x26, 0x4b, 0x65, 0x8e, 0x33, 0x30, 0xcc, 0x98, 0x40, 0x81, 0x6b, 0x7d, 0x15, 0xc0, 0xb6, + 0x90, 0x7d, 0x50, 0xad, 0xa3, 0x5a, 0x33, 0x9b, 0xec, 0x63, 0xa5, 0x2d, 0x2c, 0xd2, 0x63, 0x25, + 0x9b, 0xb6, 0xd6, 0x9a, 0xfa, 0x4d, 0x3f, 0xd4, 0xc6, 0xfa, 0x44, 0xca, 0x26, 0x4d, 0xb2, 0x9e, + 0x68, 0xdb, 0x83, 0x89, 0x0e, 0xc2, 0x71, 0x8f, 0xea, 0xec, 0xc9, 0x52, 0x44, 0x89, 0xa5, 0xc8, + 0x27, 0x33, 0x18, 0x8c, 0x3e, 0xd8, 0x78, 0x47, 0xbc, 0xd4, 0x1f, 0x03, 0xaf, 0xa1, 0x4a, 0xc2, + 0x0a, 0xc8, 0x28, 0x94, 0xe1, 0x8d, 0x15, 0xb3, 0x85, 0x66, 0xdf, 0x80, 0x89, 0xa0, 0x79, 0xf4, + 0x53, 0x90, 0x70, 0x5c, 0xb3, 0xe3, 0x92, 0x28, 0x4c, 0x18, 0xf4, 0x42, 0xd7, 0x40, 0x45, 0x56, + 0x9d, 0x8c, 0x72, 0x09, 0x03, 0x7f, 0xd4, 0x7f, 0xce, 0x7f, 0x60, 0x95, 0x3c, 0xf0, 0x85, 0x5e, + 0x8f, 0x06, 0x98, 0xe5, 0xe7, 0x9e, 0xbd, 0x0e, 0xe3, 0x81, 0x07, 0x18, 0xf6, 0xd6, 0xb9, 0x3f, + 0x0f, 0xa7, 0x43, 0xa9, 0xf5, 0x17, 0xe1, 0x54, 0xd7, 0x6a, 0x58, 0x2e, 0xea, 0xb4, 0x3b, 0x08, + 0x47, 0x2c, 0xbd, 0x55, 0xf6, 0xbf, 0x8d, 0xf5, 0x89, 0xb9, 0x3d, 0x51, 0x9a, 0xb2, 0x18, 0xd3, + 0xdd, 0xde, 0xc6, 0xc5, 0x54, 0xf2, 0xfb, 0x63, 0xda, 0x9b, 0x6f, 0xbe, 0xf9, 0x66, 0x2c, 0xf7, + 0x99, 0x51, 0x38, 0x15, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x03, 0xa3, 0x56, 0xb7, 0xb5, 0x8f, 0x3a, + 0xc4, 0x48, 0x09, 0x83, 0x5d, 0xe9, 0x05, 0x48, 0x34, 0xcd, 0x7d, 0xd4, 0xcc, 0xc6, 0xcf, 0x2a, + 0x0b, 0x13, 0xcb, 0x1f, 0x19, 0x2a, 0x2b, 0x97, 0x36, 0x30, 0xc4, 0xa0, 0x48, 0xfd, 0x59, 0x88, + 0xb3, 0x21, 0x1a, 0x33, 0x2c, 0x0e, 0xc7, 0x80, 0x73, 0xc9, 0x20, 0x38, 0xfd, 0x11, 0x48, 0xe1, + 0xff, 0x69, 0x6c, 0x8c, 0x12, 0x9d, 0x93, 0xb8, 0x01, 0xc7, 0x85, 0x3e, 0x0b, 0x49, 0x92, 0x26, + 0x75, 0xc4, 0xa7, 0x36, 0xef, 0x1a, 0x07, 0x56, 0x1d, 0x1d, 0x98, 0xdd, 0xa6, 0x5b, 0x7d, 0xd5, + 0x6c, 0x76, 0x11, 0x09, 0xf8, 0x94, 0x91, 0x61, 0x8d, 0x9f, 0xc0, 0x6d, 0xfa, 0x3c, 0xa4, 0x69, + 0x56, 0x35, 0xac, 0x3a, 0x7a, 0x9d, 0x8c, 0x9e, 0x09, 0x83, 0x26, 0xda, 0x3a, 0x6e, 0xc1, 0xb7, + 0x7f, 0xd9, 0xb1, 0x2d, 0x1e, 0x9a, 0xe4, 0x16, 0xb8, 0x81, 0xdc, 0xfe, 0xba, 0x3c, 0x70, 0x3f, + 0x1a, 0xfe, 0x78, 0x72, 0x4c, 0xe5, 0xbe, 0x1e, 0x83, 0x38, 0x19, 0x2f, 0x26, 0x21, 0xbd, 0x7b, + 0x77, 0xbb, 0x5c, 0x5d, 0xdd, 0xda, 0x2b, 0x6e, 0x94, 0x35, 0x45, 0x9f, 0x00, 0x20, 0x0d, 0x6b, + 0x1b, 0x5b, 0x85, 0x5d, 0x2d, 0xe6, 0x5d, 0xaf, 0x57, 0x76, 0xaf, 0xad, 0x68, 0xaa, 0x07, 0xd8, + 0xa3, 0x0d, 0x71, 0x51, 0xe0, 0xca, 0xb2, 0x96, 0xd0, 0x35, 0xc8, 0x50, 0x82, 0xf5, 0x17, 0xcb, + 0xab, 0xd7, 0x56, 0xb4, 0xd1, 0x60, 0xcb, 0x95, 0x65, 0x6d, 0x4c, 0x1f, 0x87, 0x14, 0x69, 0x29, + 0x6e, 0x6d, 0x6d, 0x68, 0x49, 0x8f, 0x73, 0x67, 0xd7, 0x58, 0xaf, 0xdc, 0xd6, 0x52, 0x1e, 0xe7, + 0x6d, 0x63, 0x6b, 0x6f, 0x5b, 0x03, 0x8f, 0x61, 0xb3, 0xbc, 0xb3, 0x53, 0xb8, 0x5d, 0xd6, 0xd2, + 0x9e, 0x44, 0xf1, 0xee, 0x6e, 0x79, 0x47, 0xcb, 0x04, 0xd4, 0xba, 0xb2, 0xac, 0x8d, 0x7b, 0xb7, + 0x28, 0x57, 0xf6, 0x36, 0xb5, 0x09, 0x7d, 0x0a, 0xc6, 0xe9, 0x2d, 0xb8, 0x12, 0x93, 0x52, 0xd3, + 0xb5, 0x15, 0x4d, 0xf3, 0x15, 0xa1, 0x2c, 0x53, 0x81, 0x86, 0x6b, 0x2b, 0x9a, 0x9e, 0x2b, 0x41, + 0x82, 0x44, 0x97, 0xae, 0xc3, 0xc4, 0x46, 0xa1, 0x58, 0xde, 0xa8, 0x6e, 0x6d, 0xef, 0xae, 0x6f, + 0x55, 0x0a, 0x1b, 0x9a, 0xe2, 0xb7, 0x19, 0xe5, 0x8f, 0xef, 0xad, 0x1b, 0xe5, 0x55, 0x2d, 0x26, + 0xb6, 0x6d, 0x97, 0x0b, 0xbb, 0xe5, 0x55, 0x4d, 0xcd, 0xd5, 0xe0, 0x54, 0xd8, 0x38, 0x19, 0x9a, + 0x19, 0x82, 0x8b, 0x63, 0x7d, 0x5c, 0x4c, 0xb8, 0x7a, 0x5c, 0xfc, 0xdd, 0x18, 0x4c, 0x87, 0xcc, + 0x15, 0xa1, 0x37, 0x79, 0x0e, 0x12, 0x34, 0x44, 0xe9, 0xec, 0xf9, 0x64, 0xe8, 0xa4, 0x43, 0x02, + 0xb6, 0x67, 0x06, 0x25, 0x38, 0xb1, 0x82, 0x50, 0xfb, 0x54, 0x10, 0x98, 0xa2, 0x67, 0x4c, 0xff, + 0xb3, 0x3d, 0x63, 0x3a, 0x9d, 0xf6, 0xae, 0x0d, 0x33, 0xed, 0x91, 0xb6, 0x93, 0x8d, 0xed, 0x89, + 0x90, 0xb1, 0xfd, 0x16, 0x4c, 0xf5, 0x10, 0x0d, 0x3d, 0xc6, 0x7e, 0x4a, 0x81, 0x6c, 0x3f, 0xe3, + 0x44, 0x8c, 0x74, 0xb1, 0xc0, 0x48, 0x77, 0x4b, 0xb6, 0xe0, 0xb9, 0xfe, 0x4e, 0xe8, 0xf1, 0xf5, + 0x97, 0x15, 0x98, 0x09, 0xaf, 0x14, 0x43, 0x75, 0x78, 0x16, 0x46, 0x5b, 0xc8, 0x3d, 0xb2, 0x79, + 0xb5, 0x74, 0x21, 0x64, 0x0e, 0xc6, 0xdd, 0xb2, 0xb3, 0x19, 0x4a, 0x9c, 0xc4, 0xd5, 0x7e, 0xe5, + 0x1e, 0xd5, 0xa6, 0x47, 0xd3, 0x5f, 0x8a, 0xc1, 0xe9, 0x50, 0xf2, 0x50, 0x45, 0x1f, 0x05, 0x68, + 0x58, 0xed, 0xae, 0x4b, 0x2b, 0x22, 0x3a, 0xc0, 0xa6, 0x48, 0x0b, 0x19, 0xbc, 0xf0, 0xe0, 0xd9, + 0x75, 0xbd, 0x7e, 0x95, 0xf4, 0x03, 0x6d, 0x22, 0x02, 0x37, 0x7c, 0x45, 0xe3, 0x44, 0xd1, 0xb9, + 0x3e, 0x4f, 0xda, 0x13, 0x98, 0x97, 0x40, 0xab, 0x35, 0x1b, 0xc8, 0x72, 0xab, 0x8e, 0xdb, 0x41, + 0x66, 0xab, 0x61, 0x1d, 0x92, 0x19, 0x24, 0x99, 0x4f, 0x1c, 0x98, 0x4d, 0x07, 0x19, 0x93, 0xb4, + 0x7b, 0x87, 0xf7, 0x62, 0x04, 0x09, 0xa0, 0x8e, 0x80, 0x18, 0x0d, 0x20, 0x68, 0xb7, 0x87, 0xc8, + 0xfd, 0xf5, 0x14, 0xa4, 0x85, 0xba, 0x5a, 0x3f, 0x07, 0x99, 0x97, 0xcd, 0x57, 0xcd, 0x2a, 0x7f, + 0x57, 0xa2, 0x96, 0x48, 0xe3, 0xb6, 0x6d, 0xf6, 0xbe, 0x74, 0x09, 0x4e, 0x11, 0x11, 0xbb, 0xeb, + 0xa2, 0x4e, 0xb5, 0xd6, 0x34, 0x1d, 0x87, 0x18, 0x2d, 0x49, 0x44, 0x75, 0xdc, 0xb7, 0x85, 0xbb, + 0x4a, 0xbc, 0x47, 0xbf, 0x0a, 0xd3, 0x04, 0xd1, 0xea, 0x36, 0xdd, 0x46, 0xbb, 0x89, 0xaa, 0xf8, + 0xed, 0xcd, 0x21, 0x33, 0x89, 0xa7, 0xd9, 0x14, 0x96, 0xd8, 0x64, 0x02, 0x58, 0x23, 0x47, 0x5f, + 0x85, 0x47, 0x09, 0xec, 0x10, 0x59, 0xa8, 0x63, 0xba, 0xa8, 0x8a, 0x7e, 0xbe, 0x6b, 0x36, 0x9d, + 0xaa, 0x69, 0xd5, 0xab, 0x47, 0xa6, 0x73, 0x94, 0x3d, 0x85, 0x09, 0x8a, 0xb1, 0xac, 0x62, 0x3c, + 0x8c, 0x05, 0x6f, 0x33, 0xb9, 0x32, 0x11, 0x2b, 0x58, 0xf5, 0xe7, 0x4d, 0xe7, 0x48, 0xcf, 0xc3, + 0x0c, 0x61, 0x71, 0xdc, 0x4e, 0xc3, 0x3a, 0xac, 0xd6, 0x8e, 0x50, 0xed, 0x95, 0x6a, 0xd7, 0x3d, + 0xb8, 0x91, 0x7d, 0x44, 0xbc, 0x3f, 0xd1, 0x70, 0x87, 0xc8, 0x94, 0xb0, 0xc8, 0x9e, 0x7b, 0x70, + 0x43, 0xdf, 0x81, 0x0c, 0x76, 0x46, 0xab, 0xf1, 0x06, 0xaa, 0x1e, 0xd8, 0x1d, 0x32, 0x35, 0x4e, + 0x84, 0x0c, 0x4d, 0x82, 0x05, 0x97, 0xb6, 0x18, 0x60, 0xd3, 0xae, 0xa3, 0x7c, 0x62, 0x67, 0xbb, + 0x5c, 0x5e, 0x35, 0xd2, 0x9c, 0x65, 0xcd, 0xee, 0xe0, 0x80, 0x3a, 0xb4, 0x3d, 0x03, 0xa7, 0x69, + 0x40, 0x1d, 0xda, 0xdc, 0xbc, 0x57, 0x61, 0xba, 0x56, 0xa3, 0xcf, 0xdc, 0xa8, 0x55, 0xd9, 0x3b, + 0x96, 0x93, 0xd5, 0x02, 0xc6, 0xaa, 0xd5, 0x6e, 0x53, 0x01, 0x16, 0xe3, 0x8e, 0x7e, 0x13, 0x4e, + 0xfb, 0xc6, 0x12, 0x81, 0x53, 0x3d, 0x4f, 0x29, 0x43, 0xaf, 0xc2, 0x74, 0xfb, 0xb8, 0x17, 0xa8, + 0x07, 0xee, 0xd8, 0x3e, 0x96, 0x61, 0xd7, 0xe1, 0x54, 0xfb, 0xa8, 0xdd, 0x8b, 0x5b, 0x14, 0x71, + 0x7a, 0xfb, 0xa8, 0x2d, 0x03, 0x1f, 0x27, 0x2f, 0xdc, 0x1d, 0x54, 0x33, 0x5d, 0x54, 0xcf, 0x3e, + 0x24, 0x8a, 0x0b, 0x1d, 0xfa, 0x45, 0xd0, 0x6a, 0xb5, 0x2a, 0xb2, 0xcc, 0xfd, 0x26, 0xaa, 0x9a, + 0x1d, 0x64, 0x99, 0x4e, 0x76, 0x5e, 0x14, 0x9e, 0xa8, 0xd5, 0xca, 0xa4, 0xb7, 0x40, 0x3a, 0xf5, + 0x45, 0x98, 0xb2, 0xf7, 0x5f, 0xae, 0xd1, 0x90, 0xac, 0xb6, 0x3b, 0xe8, 0xa0, 0xf1, 0x7a, 0xf6, + 0x3c, 0xb1, 0xef, 0x24, 0xee, 0x20, 0x01, 0xb9, 0x4d, 0x9a, 0xf5, 0x27, 0x41, 0xab, 0x39, 0x47, + 0x66, 0xa7, 0x4d, 0xc6, 0x64, 0xa7, 0x6d, 0xd6, 0x50, 0xf6, 0x71, 0x2a, 0x4a, 0xdb, 0x2b, 0xbc, + 0x19, 0xa7, 0x84, 0xf3, 0x5a, 0xe3, 0xc0, 0xe5, 0x8c, 0x4f, 0xd0, 0x94, 0x20, 0x6d, 0x8c, 0x6d, + 0x01, 0x34, 0x6c, 0x8a, 0xc0, 0x8d, 0x17, 0x88, 0xd8, 0x44, 0xfb, 0xa8, 0x2d, 0xde, 0xf7, 0x31, + 0x18, 0xc7, 0x92, 0xfe, 0x4d, 0x9f, 0xa4, 0x05, 0x59, 0xfb, 0x48, 0xb8, 0xe3, 0x0a, 0xcc, 0x60, + 0xa1, 0x16, 0x72, 0xcd, 0xba, 0xe9, 0x9a, 0x82, 0xf4, 0x53, 0x44, 0x1a, 0xdb, 0x7d, 0x93, 0x75, + 0x06, 0xf4, 0xec, 0x74, 0xf7, 0x8f, 0xbd, 0xc8, 0x7a, 0x9a, 0xea, 0x89, 0xdb, 0x78, 0x6c, 0x7d, + 0x68, 0x45, 0x77, 0x2e, 0x0f, 0x19, 0x31, 0xf0, 0xf5, 0x14, 0xd0, 0xd0, 0xd7, 0x14, 0x5c, 0x05, + 0x95, 0xb6, 0x56, 0x71, 0xfd, 0xf2, 0xc9, 0xb2, 0x16, 0xc3, 0x75, 0xd4, 0xc6, 0xfa, 0x6e, 0xb9, + 0x6a, 0xec, 0x55, 0x76, 0xd7, 0x37, 0xcb, 0x9a, 0x2a, 0x16, 0xec, 0xdf, 0x8c, 0xc1, 0x44, 0xf0, + 0xdd, 0x4b, 0xff, 0x28, 0x3c, 0xc4, 0x17, 0x4a, 0x1c, 0xe4, 0x56, 0x5f, 0x6b, 0x74, 0x48, 0x2e, + 0xb6, 0x4c, 0x3a, 0x2f, 0x7a, 0xd1, 0x70, 0x8a, 0x49, 0xed, 0x20, 0xf7, 0x85, 0x46, 0x07, 0x67, + 0x5a, 0xcb, 0x74, 0xf5, 0x0d, 0x98, 0xb7, 0xec, 0xaa, 0xe3, 0x9a, 0x56, 0xdd, 0xec, 0xd4, 0xab, + 0xfe, 0x12, 0x55, 0xd5, 0xac, 0xd5, 0x90, 0xe3, 0xd8, 0x74, 0x0e, 0xf4, 0x58, 0xce, 0x58, 0xf6, + 0x0e, 0x13, 0xf6, 0x27, 0x87, 0x02, 0x13, 0x95, 0x22, 0x57, 0xed, 0x17, 0xb9, 0x8f, 0x40, 0xaa, + 0x65, 0xb6, 0xab, 0xc8, 0x72, 0x3b, 0xc7, 0xa4, 0xe2, 0x4e, 0x1a, 0xc9, 0x96, 0xd9, 0x2e, 0xe3, + 0xeb, 0x9f, 0xcc, 0x8b, 0xcf, 0x7f, 0x55, 0x21, 0x23, 0x56, 0xdd, 0xf8, 0x25, 0xa6, 0x46, 0x26, + 0x28, 0x85, 0x0c, 0x61, 0x8f, 0x0d, 0xac, 0xd1, 0x97, 0x4a, 0x78, 0xe6, 0xca, 0x8f, 0xd2, 0x5a, + 0xd8, 0xa0, 0x48, 0x5c, 0x35, 0xe0, 0xd0, 0x42, 0xb4, 0xf6, 0x48, 0x1a, 0xec, 0x4a, 0xbf, 0x0d, + 0xa3, 0x2f, 0x3b, 0x84, 0x7b, 0x94, 0x70, 0x9f, 0x1f, 0xcc, 0x7d, 0x67, 0x87, 0x90, 0xa7, 0xee, + 0xec, 0x54, 0x2b, 0x5b, 0xc6, 0x66, 0x61, 0xc3, 0x60, 0x70, 0xfd, 0x61, 0x88, 0x37, 0xcd, 0x37, + 0x8e, 0x83, 0x73, 0x1c, 0x69, 0x1a, 0xd6, 0xf0, 0x0f, 0x43, 0xfc, 0x35, 0x64, 0xbe, 0x12, 0x9c, + 0x59, 0x48, 0xd3, 0x87, 0x18, 0xfa, 0x17, 0x21, 0x41, 0xec, 0xa5, 0x03, 0x30, 0x8b, 0x69, 0x23, + 0x7a, 0x12, 0xe2, 0xa5, 0x2d, 0x03, 0x87, 0xbf, 0x06, 0x19, 0xda, 0x5a, 0xdd, 0x5e, 0x2f, 0x97, + 0xca, 0x5a, 0x2c, 0x77, 0x15, 0x46, 0xa9, 0x11, 0x70, 0x6a, 0x78, 0x66, 0xd0, 0x46, 0xd8, 0x25, + 0xe3, 0x50, 0x78, 0xef, 0xde, 0x66, 0xb1, 0x6c, 0x68, 0x31, 0xd1, 0xbd, 0x0e, 0x64, 0xc4, 0x82, + 0xfb, 0x27, 0x13, 0x53, 0xdf, 0x50, 0x20, 0x2d, 0x14, 0xd0, 0xb8, 0xf2, 0x31, 0x9b, 0x4d, 0xfb, + 0xb5, 0xaa, 0xd9, 0x6c, 0x98, 0x0e, 0x0b, 0x0a, 0x20, 0x4d, 0x05, 0xdc, 0x32, 0xac, 0xd3, 0x7e, + 0x22, 0xca, 0x7f, 0x41, 0x01, 0x4d, 0xae, 0x5d, 0x25, 0x05, 0x95, 0x9f, 0xaa, 0x82, 0x9f, 0x53, + 0x60, 0x22, 0x58, 0xb0, 0x4a, 0xea, 0x9d, 0xfb, 0xa9, 0xaa, 0xf7, 0x9d, 0x18, 0x8c, 0x07, 0xca, + 0xd4, 0x61, 0xb5, 0xfb, 0x79, 0x98, 0x6a, 0xd4, 0x51, 0xab, 0x6d, 0xbb, 0xc8, 0xaa, 0x1d, 0x57, + 0x9b, 0xe8, 0x55, 0xd4, 0xcc, 0xe6, 0xc8, 0x40, 0x71, 0x71, 0x70, 0x21, 0xbc, 0xb4, 0xee, 0xe3, + 0x36, 0x30, 0x2c, 0x3f, 0xbd, 0xbe, 0x5a, 0xde, 0xdc, 0xde, 0xda, 0x2d, 0x57, 0x4a, 0x77, 0xab, + 0x7b, 0x95, 0x8f, 0x55, 0xb6, 0x5e, 0xa8, 0x18, 0x5a, 0x43, 0x12, 0xfb, 0x10, 0x53, 0x7d, 0x1b, + 0x34, 0x59, 0x29, 0xfd, 0x21, 0x08, 0x53, 0x4b, 0x1b, 0xd1, 0xa7, 0x61, 0xb2, 0xb2, 0x55, 0xdd, + 0x59, 0x5f, 0x2d, 0x57, 0xcb, 0x6b, 0x6b, 0xe5, 0xd2, 0xee, 0x0e, 0x5d, 0xda, 0xf0, 0xa4, 0x77, + 0x83, 0x49, 0xfd, 0x59, 0x15, 0xa6, 0x43, 0x34, 0xd1, 0x0b, 0xec, 0xa5, 0x84, 0xbe, 0x27, 0x3d, + 0x3d, 0x8c, 0xf6, 0x4b, 0xb8, 0x2a, 0xd8, 0x36, 0x3b, 0x2e, 0x7b, 0x87, 0x79, 0x12, 0xb0, 0x95, + 0x2c, 0xb7, 0x71, 0xd0, 0x40, 0x1d, 0xb6, 0x12, 0x44, 0xdf, 0x54, 0x26, 0xfd, 0x76, 0xba, 0x18, + 0xf4, 0x14, 0xe8, 0x6d, 0xdb, 0x69, 0xb8, 0x8d, 0x57, 0x51, 0xb5, 0x61, 0xf1, 0x65, 0x23, 0xfc, + 0xe6, 0x12, 0x37, 0x34, 0xde, 0xb3, 0x6e, 0xb9, 0x9e, 0xb4, 0x85, 0x0e, 0x4d, 0x49, 0x1a, 0x0f, + 0xe0, 0xaa, 0xa1, 0xf1, 0x1e, 0x4f, 0xfa, 0x1c, 0x64, 0xea, 0x76, 0x17, 0x97, 0x73, 0x54, 0x0e, + 0xcf, 0x17, 0x8a, 0x91, 0xa6, 0x6d, 0x9e, 0x08, 0x2b, 0xd4, 0xfd, 0xf5, 0xaa, 0x8c, 0x91, 0xa6, + 0x6d, 0x54, 0xe4, 0x09, 0x98, 0x34, 0x0f, 0x0f, 0x3b, 0x98, 0x9c, 0x13, 0xd1, 0x57, 0x8f, 0x09, + 0xaf, 0x99, 0x08, 0xce, 0xde, 0x81, 0x24, 0xb7, 0x03, 0x9e, 0x92, 0xb1, 0x25, 0xaa, 0x6d, 0xfa, + 0x3e, 0x1d, 0x5b, 0x48, 0x19, 0x49, 0x8b, 0x77, 0x9e, 0x83, 0x4c, 0xc3, 0xa9, 0xfa, 0xcb, 0xef, + 0xb1, 0xb3, 0xb1, 0x85, 0xa4, 0x91, 0x6e, 0x38, 0xde, 0xd2, 0x65, 0xee, 0xcb, 0x31, 0x98, 0x08, + 0x6e, 0x1f, 0xe8, 0xab, 0x90, 0x6c, 0xda, 0x35, 0x93, 0x84, 0x16, 0xdd, 0xbb, 0x5a, 0x88, 0xd8, + 0x71, 0x58, 0xda, 0x60, 0xf2, 0x86, 0x87, 0x9c, 0xfd, 0x8f, 0x0a, 0x24, 0x79, 0xb3, 0x3e, 0x03, + 0xf1, 0xb6, 0xe9, 0x1e, 0x11, 0xba, 0x44, 0x31, 0xa6, 0x29, 0x06, 0xb9, 0xc6, 0xed, 0x4e, 0xdb, + 0xb4, 0x48, 0x08, 0xb0, 0x76, 0x7c, 0x8d, 0xfd, 0xda, 0x44, 0x66, 0x9d, 0xbc, 0xd7, 0xd8, 0xad, + 0x16, 0xb2, 0x5c, 0x87, 0xfb, 0x95, 0xb5, 0x97, 0x58, 0xb3, 0xfe, 0x11, 0x98, 0x72, 0x3b, 0x66, + 0xa3, 0x19, 0x90, 0x8d, 0x13, 0x59, 0x8d, 0x77, 0x78, 0xc2, 0x79, 0x78, 0x98, 0xf3, 0xd6, 0x91, + 0x6b, 0xd6, 0x8e, 0x50, 0xdd, 0x07, 0x8d, 0x92, 0xf5, 0x8b, 0x87, 0x98, 0xc0, 0x2a, 0xeb, 0xe7, + 0xd8, 0xdc, 0x1f, 0x28, 0x30, 0xc5, 0xdf, 0xc4, 0xea, 0x9e, 0xb1, 0x36, 0x01, 0x4c, 0xcb, 0xb2, + 0x5d, 0xd1, 0x5c, 0xbd, 0xa1, 0xdc, 0x83, 0x5b, 0x2a, 0x78, 0x20, 0x43, 0x20, 0x98, 0x6d, 0x01, + 0xf8, 0x3d, 0x7d, 0xcd, 0x36, 0x0f, 0x69, 0xb6, 0x37, 0x44, 0x36, 0x18, 0xe9, 0xbb, 0x3b, 0xd0, + 0x26, 0xfc, 0xca, 0xa6, 0x9f, 0x82, 0xc4, 0x3e, 0x3a, 0x6c, 0x58, 0x6c, 0xc5, 0x97, 0x5e, 0xf0, + 0x15, 0x96, 0xb8, 0xb7, 0xc2, 0x52, 0x7c, 0x09, 0xa6, 0x6b, 0x76, 0x4b, 0x56, 0xb7, 0xa8, 0x49, + 0xeb, 0x07, 0xce, 0xf3, 0xca, 0x27, 0xc1, 0x2f, 0x31, 0x7f, 0xa4, 0x28, 0xbf, 0x1a, 0x53, 0x6f, + 0x6f, 0x17, 0x7f, 0x2b, 0x36, 0x7b, 0x9b, 0x42, 0xb7, 0xf9, 0x93, 0x1a, 0xe8, 0xa0, 0x89, 0x6a, + 0x58, 0x7b, 0xf8, 0x8d, 0x8f, 0xc0, 0xd3, 0x87, 0x0d, 0xf7, 0xa8, 0xbb, 0xbf, 0x54, 0xb3, 0x5b, + 0x17, 0x0f, 0xed, 0x43, 0xdb, 0xdf, 0x53, 0xc5, 0x57, 0xe4, 0x82, 0x7c, 0x62, 0xfb, 0xaa, 0x29, + 0xaf, 0x75, 0x36, 0x72, 0x13, 0x36, 0x5f, 0x81, 0x69, 0x26, 0x5c, 0x25, 0x1b, 0x3b, 0xf4, 0xf5, + 0x44, 0x1f, 0xb8, 0x38, 0x96, 0xfd, 0xed, 0xef, 0x91, 0xe9, 0xda, 0x98, 0x62, 0x50, 0xdc, 0x47, + 0xdf, 0x60, 0xf2, 0x06, 0x9c, 0x0e, 0xf0, 0xd1, 0xd4, 0x44, 0x9d, 0x08, 0xc6, 0x6f, 0x32, 0xc6, + 0x69, 0x81, 0x71, 0x87, 0x41, 0xf3, 0x25, 0x18, 0x3f, 0x09, 0xd7, 0xbf, 0x63, 0x5c, 0x19, 0x24, + 0x92, 0xdc, 0x86, 0x49, 0x42, 0x52, 0xeb, 0x3a, 0xae, 0xdd, 0x22, 0xe3, 0xde, 0x60, 0x9a, 0x7f, + 0xff, 0x3d, 0x9a, 0x2b, 0x13, 0x18, 0x56, 0xf2, 0x50, 0xf9, 0x3c, 0x90, 0xbd, 0xac, 0x3a, 0xaa, + 0x35, 0x23, 0x18, 0xee, 0x31, 0x45, 0x3c, 0xf9, 0xfc, 0x27, 0xe0, 0x14, 0xfe, 0x4c, 0x86, 0x25, + 0x51, 0x93, 0xe8, 0x95, 0xb4, 0xec, 0x1f, 0x7c, 0x8a, 0xa6, 0xe3, 0xb4, 0x47, 0x20, 0xe8, 0x24, + 0x78, 0xf1, 0x10, 0xb9, 0x2e, 0xea, 0x38, 0x55, 0xb3, 0x19, 0xa6, 0x9e, 0xb0, 0x14, 0x91, 0xfd, + 0x95, 0x1f, 0x04, 0xbd, 0x78, 0x9b, 0x22, 0x0b, 0xcd, 0x66, 0x7e, 0x0f, 0x1e, 0x0a, 0x89, 0x8a, + 0x21, 0x38, 0x3f, 0xcb, 0x38, 0x4f, 0xf5, 0x44, 0x06, 0xa6, 0xdd, 0x06, 0xde, 0xee, 0xf9, 0x72, + 0x08, 0xce, 0x7f, 0xc8, 0x38, 0x75, 0x86, 0xe5, 0x2e, 0xc5, 0x8c, 0x77, 0x60, 0xea, 0x55, 0xd4, + 0xd9, 0xb7, 0x1d, 0xb6, 0xfc, 0x33, 0x04, 0xdd, 0xe7, 0x18, 0xdd, 0x24, 0x03, 0x92, 0xf5, 0x20, + 0xcc, 0x75, 0x13, 0x92, 0x07, 0x66, 0x0d, 0x0d, 0x41, 0xf1, 0x79, 0x46, 0x31, 0x86, 0xe5, 0x31, + 0xb4, 0x00, 0x99, 0x43, 0x9b, 0xcd, 0x4c, 0xd1, 0xf0, 0x2f, 0x30, 0x78, 0x9a, 0x63, 0x18, 0x45, + 0xdb, 0x6e, 0x77, 0x9b, 0x78, 0xda, 0x8a, 0xa6, 0xf8, 0x22, 0xa7, 0xe0, 0x18, 0x46, 0x71, 0x02, + 0xb3, 0xbe, 0xc5, 0x29, 0x1c, 0xc1, 0x9e, 0xcf, 0x41, 0xda, 0xb6, 0x9a, 0xc7, 0xb6, 0x35, 0x8c, + 0x12, 0x5f, 0x62, 0x0c, 0xc0, 0x20, 0x98, 0xe0, 0x16, 0xa4, 0x86, 0x75, 0xc4, 0xaf, 0xff, 0x80, + 0xa7, 0x07, 0xf7, 0xc0, 0x6d, 0x98, 0xe4, 0x03, 0x54, 0xc3, 0xb6, 0x86, 0xa0, 0xf8, 0x0d, 0x46, + 0x31, 0x21, 0xc0, 0xd8, 0x63, 0xb8, 0xc8, 0x71, 0x0f, 0xd1, 0x30, 0x24, 0x5f, 0xe6, 0x8f, 0xc1, + 0x20, 0xcc, 0x94, 0xfb, 0xc8, 0xaa, 0x1d, 0x0d, 0xc7, 0xf0, 0x15, 0x6e, 0x4a, 0x8e, 0xc1, 0x14, + 0x25, 0x18, 0x6f, 0x99, 0x1d, 0xe7, 0xc8, 0x6c, 0x0e, 0xe5, 0x8e, 0xdf, 0x64, 0x1c, 0x19, 0x0f, + 0xc4, 0x2c, 0xd2, 0xb5, 0x4e, 0x42, 0xf3, 0x5b, 0xdc, 0x22, 0x02, 0x8c, 0xa5, 0x9e, 0xe3, 0x92, + 0xb5, 0xb2, 0x93, 0xb0, 0xfd, 0x23, 0x9e, 0x7a, 0x14, 0xbb, 0x29, 0x32, 0xde, 0x82, 0x94, 0xd3, + 0x78, 0x63, 0x28, 0x9a, 0x7f, 0xcc, 0x3d, 0x4d, 0x00, 0x18, 0x7c, 0x17, 0x1e, 0x0e, 0x9d, 0x26, + 0x86, 0x20, 0xfb, 0x27, 0x8c, 0x6c, 0x26, 0x64, 0xaa, 0x60, 0x43, 0xc2, 0x49, 0x29, 0xff, 0x29, + 0x1f, 0x12, 0x90, 0xc4, 0xb5, 0x8d, 0xdf, 0x15, 0x1c, 0xf3, 0xe0, 0x64, 0x56, 0xfb, 0x67, 0xdc, + 0x6a, 0x14, 0x1b, 0xb0, 0xda, 0x2e, 0xcc, 0x30, 0xc6, 0x93, 0xf9, 0xf5, 0xab, 0x7c, 0x60, 0xa5, + 0xe8, 0xbd, 0xa0, 0x77, 0x5f, 0x82, 0x59, 0xcf, 0x9c, 0xbc, 0x28, 0x75, 0xaa, 0x2d, 0xb3, 0x3d, + 0x04, 0xf3, 0x6f, 0x33, 0x66, 0x3e, 0xe2, 0x7b, 0x55, 0xad, 0xb3, 0x69, 0xb6, 0x31, 0xf9, 0x8b, + 0x90, 0xe5, 0xe4, 0x5d, 0xab, 0x83, 0x6a, 0xf6, 0xa1, 0xd5, 0x78, 0x03, 0xd5, 0x87, 0xa0, 0xfe, + 0x9a, 0xe4, 0xaa, 0x3d, 0x01, 0x8e, 0x99, 0xd7, 0x41, 0xf3, 0x6a, 0x95, 0x6a, 0xa3, 0xd5, 0xb6, + 0x3b, 0x6e, 0x04, 0xe3, 0x3f, 0xe7, 0x9e, 0xf2, 0x70, 0xeb, 0x04, 0x96, 0x2f, 0xc3, 0x04, 0xb9, + 0x1c, 0x36, 0x24, 0x7f, 0x87, 0x11, 0x8d, 0xfb, 0x28, 0x36, 0x70, 0xd4, 0xec, 0x56, 0xdb, 0xec, + 0x0c, 0x33, 0xfe, 0xfd, 0x0b, 0x3e, 0x70, 0x30, 0x08, 0x1b, 0x38, 0xdc, 0xe3, 0x36, 0xc2, 0xb3, + 0xfd, 0x10, 0x0c, 0x5f, 0xe7, 0x03, 0x07, 0xc7, 0x30, 0x0a, 0x5e, 0x30, 0x0c, 0x41, 0xf1, 0x2f, + 0x39, 0x05, 0xc7, 0x60, 0x8a, 0x8f, 0xfb, 0x13, 0x6d, 0x07, 0x1d, 0x36, 0x1c, 0xb7, 0x43, 0x4b, + 0xe1, 0xc1, 0x54, 0xbf, 0xfb, 0x83, 0x60, 0x11, 0x66, 0x08, 0x50, 0x3c, 0x12, 0xb1, 0x25, 0x54, + 0xf2, 0xa6, 0x14, 0xad, 0xd8, 0xef, 0xf1, 0x91, 0x48, 0x80, 0x61, 0xdd, 0x84, 0x0a, 0x11, 0x9b, + 0xbd, 0x86, 0xdf, 0x0f, 0x86, 0xa0, 0xfb, 0x86, 0xa4, 0xdc, 0x0e, 0xc7, 0x62, 0x4e, 0xa1, 0xfe, + 0xe9, 0x5a, 0xaf, 0xa0, 0xe3, 0xa1, 0xa2, 0xf3, 0x5f, 0x49, 0xf5, 0xcf, 0x1e, 0x45, 0xd2, 0x31, + 0x64, 0x52, 0xaa, 0xa7, 0xf4, 0xa8, 0x53, 0x40, 0xd9, 0xbf, 0xf8, 0x1e, 0x7b, 0xde, 0x60, 0x39, + 0x95, 0xdf, 0xc0, 0x41, 0x1e, 0x2c, 0x7a, 0xa2, 0xc9, 0x3e, 0xf5, 0x9e, 0x17, 0xe7, 0x81, 0x9a, + 0x27, 0xbf, 0x06, 0xe3, 0x81, 0x82, 0x27, 0x9a, 0xea, 0x2f, 0x31, 0xaa, 0x8c, 0x58, 0xef, 0xe4, + 0xaf, 0x42, 0x1c, 0x17, 0x2f, 0xd1, 0xf0, 0xbf, 0xcc, 0xe0, 0x44, 0x3c, 0xff, 0x0c, 0x24, 0x79, + 0xd1, 0x12, 0x0d, 0xfd, 0x45, 0x06, 0xf5, 0x20, 0x18, 0xce, 0x0b, 0x96, 0x68, 0xf8, 0x5f, 0xe1, + 0x70, 0x0e, 0xc1, 0xf0, 0xe1, 0x4d, 0xf8, 0xf6, 0x5f, 0x8b, 0xb3, 0x49, 0x87, 0xdb, 0xee, 0x16, + 0x8c, 0xb1, 0x4a, 0x25, 0x1a, 0xfd, 0x4b, 0xec, 0xe6, 0x1c, 0x91, 0xbf, 0x0e, 0x89, 0x21, 0x0d, + 0xfe, 0x37, 0x18, 0x94, 0xca, 0xe7, 0x4b, 0x90, 0x16, 0xaa, 0x93, 0x68, 0xf8, 0xdf, 0x64, 0x70, + 0x11, 0x85, 0x55, 0x67, 0xd5, 0x49, 0x34, 0xc1, 0xdf, 0xe2, 0xaa, 0x33, 0x04, 0x36, 0x1b, 0x2f, + 0x4c, 0xa2, 0xd1, 0x7f, 0x9b, 0x5b, 0x9d, 0x43, 0xf2, 0xcf, 0x41, 0xca, 0x9b, 0x6c, 0xa2, 0xf1, + 0x7f, 0x87, 0xe1, 0x7d, 0x0c, 0xb6, 0x80, 0x30, 0xd9, 0x45, 0x53, 0xfc, 0x5d, 0x6e, 0x01, 0x01, + 0x85, 0xd3, 0x48, 0x2e, 0x60, 0xa2, 0x99, 0x7e, 0x99, 0xa7, 0x91, 0x54, 0xbf, 0x60, 0x6f, 0x92, + 0x31, 0x3f, 0x9a, 0xe2, 0xef, 0x71, 0x6f, 0x12, 0x79, 0xac, 0x86, 0x5c, 0x11, 0x44, 0x73, 0xfc, + 0x03, 0xae, 0x86, 0x54, 0x10, 0xe4, 0xb7, 0x41, 0xef, 0xad, 0x06, 0xa2, 0xf9, 0x3e, 0xc3, 0xf8, + 0xa6, 0x7a, 0x8a, 0x81, 0xfc, 0x0b, 0x30, 0x13, 0x5e, 0x09, 0x44, 0xb3, 0xfe, 0xca, 0x7b, 0xd2, + 0xbb, 0x9b, 0x58, 0x08, 0xe4, 0x77, 0xfd, 0x29, 0x45, 0xac, 0x02, 0xa2, 0x69, 0x3f, 0xfb, 0x5e, + 0x70, 0xe0, 0x16, 0x8b, 0x80, 0x7c, 0x01, 0xc0, 0x9f, 0x80, 0xa3, 0xb9, 0x3e, 0xc7, 0xb8, 0x04, + 0x10, 0x4e, 0x0d, 0x36, 0xff, 0x46, 0xe3, 0x3f, 0xcf, 0x53, 0x83, 0x21, 0x70, 0x6a, 0xf0, 0xa9, + 0x37, 0x1a, 0xfd, 0x05, 0x9e, 0x1a, 0x1c, 0x82, 0x23, 0x5b, 0x98, 0xdd, 0xa2, 0x19, 0xbe, 0xc4, + 0x23, 0x5b, 0x40, 0xe5, 0x2b, 0x30, 0xd5, 0x33, 0x21, 0x46, 0x53, 0xfd, 0x2a, 0xa3, 0xd2, 0xe4, + 0xf9, 0x50, 0x9c, 0xbc, 0xd8, 0x64, 0x18, 0xcd, 0xf6, 0x6b, 0xd2, 0xe4, 0xc5, 0xe6, 0xc2, 0xfc, + 0x2d, 0x48, 0x5a, 0xdd, 0x66, 0x13, 0x27, 0x8f, 0x3e, 0xf8, 0xe4, 0x5e, 0xf6, 0xbf, 0xff, 0x98, + 0x59, 0x87, 0x03, 0xf2, 0x57, 0x21, 0x81, 0x5a, 0xfb, 0xa8, 0x1e, 0x85, 0xfc, 0x1f, 0x3f, 0xe6, + 0x03, 0x26, 0x96, 0xce, 0x3f, 0x07, 0x40, 0x97, 0x46, 0xc8, 0xb6, 0x5f, 0x04, 0xf6, 0x7f, 0xfe, + 0x98, 0x9d, 0xa9, 0xf1, 0x21, 0x3e, 0x01, 0x3d, 0xa1, 0x33, 0x98, 0xe0, 0x07, 0x41, 0x02, 0xe2, + 0x91, 0x9b, 0x30, 0xf6, 0xb2, 0x63, 0x5b, 0xae, 0x79, 0x18, 0x85, 0xfe, 0x5f, 0x0c, 0xcd, 0xe5, + 0xb1, 0xc1, 0x5a, 0x76, 0x07, 0xb9, 0xe6, 0xa1, 0x13, 0x85, 0xfd, 0xdf, 0x0c, 0xeb, 0x01, 0x30, + 0xb8, 0x66, 0x3a, 0xee, 0x30, 0xcf, 0xfd, 0x7f, 0x38, 0x98, 0x03, 0xb0, 0xd2, 0xf8, 0xf3, 0x2b, + 0xe8, 0x38, 0x0a, 0xfb, 0x43, 0xae, 0x34, 0x93, 0xcf, 0x3f, 0x03, 0x29, 0xfc, 0x91, 0x1e, 0x94, + 0x8b, 0x00, 0xff, 0x5f, 0x06, 0xf6, 0x11, 0xf8, 0xce, 0x8e, 0x5b, 0x77, 0x1b, 0xd1, 0xc6, 0xfe, + 0x23, 0xe6, 0x69, 0x2e, 0x9f, 0x2f, 0x40, 0xda, 0x71, 0xeb, 0xf5, 0x2e, 0xab, 0x4f, 0x23, 0xe0, + 0xff, 0xef, 0xc7, 0xde, 0x92, 0x85, 0x87, 0xc1, 0xde, 0x7e, 0xed, 0x15, 0xb7, 0x6d, 0x93, 0x6d, + 0x8e, 0x28, 0x86, 0xf7, 0x18, 0x83, 0x00, 0x29, 0x96, 0xc3, 0x97, 0x6f, 0xe1, 0xb6, 0x7d, 0xdb, + 0xa6, 0x0b, 0xb7, 0x9f, 0xcc, 0x45, 0xaf, 0xc0, 0xc2, 0x1f, 0x36, 0xe1, 0x7a, 0x5f, 0x31, 0x3c, + 0x15, 0x5f, 0xac, 0xd9, 0xad, 0x7d, 0xdb, 0xb9, 0xb8, 0x6f, 0xbb, 0x47, 0x17, 0xdd, 0x23, 0x84, + 0xdb, 0xd8, 0x92, 0x6d, 0x1c, 0x7f, 0x9e, 0x3d, 0xd9, 0x3a, 0x2f, 0xd9, 0xc5, 0xaf, 0x34, 0xf0, + 0xa3, 0x55, 0xc8, 0x46, 0x8a, 0x7e, 0x06, 0x46, 0xc9, 0xc3, 0x5e, 0x26, 0x9b, 0x95, 0x4a, 0x31, + 0x7e, 0xef, 0x9d, 0xf9, 0x11, 0x83, 0xb5, 0x79, 0xbd, 0xcb, 0x64, 0xa5, 0x3b, 0x16, 0xe8, 0x5d, + 0xf6, 0x7a, 0xaf, 0xd0, 0xc5, 0xee, 0x40, 0xef, 0x15, 0xaf, 0x77, 0x85, 0x2c, 0x7b, 0xab, 0x81, + 0xde, 0x15, 0xaf, 0xf7, 0x2a, 0xd9, 0xda, 0x19, 0x0f, 0xf4, 0x5e, 0xf5, 0x7a, 0xaf, 0x91, 0x0d, + 0x9d, 0x78, 0xa0, 0xf7, 0x9a, 0xd7, 0x7b, 0x9d, 0xec, 0xe5, 0x4c, 0x05, 0x7a, 0xaf, 0x7b, 0xbd, + 0x37, 0xc8, 0x1e, 0x8e, 0x1e, 0xe8, 0xbd, 0xe1, 0xf5, 0xde, 0x24, 0x27, 0xaf, 0xc6, 0x02, 0xbd, + 0x37, 0xf5, 0x39, 0x18, 0xa3, 0x4f, 0x7e, 0x89, 0x6c, 0xf8, 0x4f, 0xb2, 0x6e, 0xde, 0xe8, 0xf7, + 0x5f, 0x26, 0xa7, 0xac, 0x46, 0x83, 0xfd, 0x97, 0xfd, 0xfe, 0x65, 0xf2, 0x85, 0x0f, 0x2d, 0xd8, + 0xbf, 0xec, 0xf7, 0x5f, 0xc9, 0x8e, 0x93, 0x93, 0x66, 0x81, 0xfe, 0x2b, 0x7e, 0xff, 0x4a, 0x76, + 0x02, 0x67, 0x4c, 0xb0, 0x7f, 0xc5, 0xef, 0xbf, 0x9a, 0x9d, 0x3c, 0xab, 0x2c, 0x64, 0x82, 0xfd, + 0x57, 0x73, 0xbf, 0x40, 0xdc, 0x6b, 0xf9, 0xee, 0x9d, 0x09, 0xba, 0xd7, 0x73, 0xec, 0x4c, 0xd0, + 0xb1, 0x9e, 0x4b, 0x67, 0x82, 0x2e, 0xf5, 0x9c, 0x39, 0x13, 0x74, 0xa6, 0xe7, 0xc6, 0x99, 0xa0, + 0x1b, 0x3d, 0x07, 0xce, 0x04, 0x1d, 0xe8, 0xb9, 0x6e, 0x26, 0xe8, 0x3a, 0xcf, 0x69, 0x33, 0x41, + 0xa7, 0x79, 0xee, 0x9a, 0x09, 0xba, 0xcb, 0x73, 0x54, 0x56, 0x72, 0x94, 0xef, 0xa2, 0xac, 0xe4, + 0x22, 0xdf, 0x39, 0x59, 0xc9, 0x39, 0xbe, 0x5b, 0xb2, 0x92, 0x5b, 0x7c, 0x87, 0x64, 0x25, 0x87, + 0xf8, 0xae, 0xc8, 0x4a, 0xae, 0xf0, 0x9d, 0xc0, 0x72, 0xcc, 0x40, 0xed, 0x90, 0x1c, 0x53, 0x07, + 0xe6, 0x98, 0x3a, 0x30, 0xc7, 0xd4, 0x81, 0x39, 0xa6, 0x0e, 0xcc, 0x31, 0x75, 0x60, 0x8e, 0xa9, + 0x03, 0x73, 0x4c, 0x1d, 0x98, 0x63, 0xea, 0xc0, 0x1c, 0x53, 0x07, 0xe7, 0x98, 0x1a, 0x91, 0x63, + 0x6a, 0x44, 0x8e, 0xa9, 0x11, 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0xdf, 0x1c, + 0xf3, 0xdd, 0x3b, 0x13, 0x74, 0x6f, 0x68, 0x8e, 0xa9, 0x7d, 0x72, 0x4c, 0xed, 0x93, 0x63, 0x6a, + 0x9f, 0x1c, 0x53, 0xfb, 0xe4, 0x98, 0xda, 0x27, 0xc7, 0xd4, 0x3e, 0x39, 0xa6, 0xf6, 0xc9, 0x31, + 0xb5, 0x5f, 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xed, 0x9b, 0x63, 0x6a, 0xdf, 0x1c, 0x53, 0xfb, 0xe6, + 0x98, 0xda, 0x37, 0xc7, 0x54, 0x31, 0xc7, 0xfe, 0xb5, 0x0a, 0x3a, 0xcd, 0xb1, 0x6d, 0x72, 0x64, + 0x8c, 0xb9, 0x62, 0x4e, 0xca, 0xb4, 0x51, 0xec, 0x3a, 0xcd, 0x77, 0xc9, 0x9c, 0x94, 0x6b, 0xc1, + 0xfe, 0x65, 0xaf, 0x9f, 0x67, 0x5b, 0xb0, 0xff, 0x8a, 0xd7, 0xcf, 0xf3, 0x2d, 0xd8, 0xbf, 0xe2, + 0xf5, 0xf3, 0x8c, 0x0b, 0xf6, 0x5f, 0xf5, 0xfa, 0x79, 0xce, 0x05, 0xfb, 0xaf, 0x79, 0xfd, 0x3c, + 0xeb, 0x82, 0xfd, 0xd7, 0xbd, 0x7e, 0x9e, 0x77, 0xc1, 0xfe, 0x1b, 0x5e, 0x3f, 0xcf, 0xbc, 0x60, + 0xff, 0x4d, 0xfd, 0xac, 0x9c, 0x7b, 0x5c, 0xc0, 0x73, 0xed, 0x59, 0x39, 0xfb, 0x24, 0x89, 0xcb, + 0xbe, 0x04, 0xcf, 0x3f, 0x49, 0x62, 0xd9, 0x97, 0xe0, 0x19, 0x28, 0x49, 0x5c, 0xc9, 0x7d, 0x9a, + 0xb8, 0xcf, 0x92, 0xdd, 0x37, 0x2b, 0xb9, 0x2f, 0x26, 0xb8, 0x6e, 0x56, 0x72, 0x5d, 0x4c, 0x70, + 0xdb, 0xac, 0xe4, 0xb6, 0x98, 0xe0, 0xb2, 0x59, 0xc9, 0x65, 0x31, 0xc1, 0x5d, 0xb3, 0x92, 0xbb, + 0x62, 0x82, 0xab, 0x66, 0x25, 0x57, 0xc5, 0x04, 0x37, 0xcd, 0x4a, 0x6e, 0x8a, 0x09, 0x2e, 0x9a, + 0x95, 0x5c, 0x14, 0x13, 0xdc, 0x33, 0x2b, 0xb9, 0x27, 0x26, 0xb8, 0xe6, 0x8c, 0xec, 0x9a, 0x98, + 0xe8, 0x96, 0x33, 0xb2, 0x5b, 0x62, 0xa2, 0x4b, 0xce, 0xc8, 0x2e, 0x89, 0x89, 0xee, 0x38, 0x23, + 0xbb, 0x23, 0x26, 0xba, 0xe2, 0x8f, 0x63, 0xbc, 0x22, 0xdc, 0x71, 0x3b, 0xdd, 0x9a, 0xfb, 0xbe, + 0x2a, 0xc2, 0x4b, 0x81, 0xf2, 0x21, 0xbd, 0xac, 0x2f, 0x91, 0x82, 0x55, 0xac, 0x38, 0xa5, 0x19, + 0xec, 0x52, 0xa0, 0xb0, 0x10, 0x10, 0x56, 0x38, 0x62, 0xe5, 0x7d, 0xd5, 0x86, 0x97, 0x02, 0x65, + 0x46, 0xb4, 0x7e, 0x37, 0x3e, 0xf4, 0x8a, 0xed, 0xed, 0x18, 0xaf, 0xd8, 0x98, 0xf9, 0x4f, 0x5a, + 0xb1, 0x2d, 0x46, 0x9b, 0xdc, 0x33, 0xf6, 0x62, 0xb4, 0xb1, 0x7b, 0x66, 0x9d, 0x61, 0x2b, 0xb8, + 0xc5, 0x68, 0xd3, 0x7a, 0x46, 0xfd, 0x60, 0xeb, 0x2d, 0x16, 0xc1, 0x06, 0x6a, 0x87, 0x44, 0xf0, + 0x49, 0xeb, 0xad, 0x4b, 0x81, 0xa1, 0xe4, 0xa4, 0x11, 0xac, 0x9e, 0x38, 0x82, 0x4f, 0x5a, 0x79, + 0x5d, 0x0a, 0x0c, 0x2f, 0x27, 0x8e, 0xe0, 0x0f, 0xa1, 0x1e, 0x62, 0x11, 0xec, 0x9b, 0xff, 0xa4, + 0xf5, 0xd0, 0x62, 0xb4, 0xc9, 0x43, 0x23, 0x58, 0x3d, 0x41, 0x04, 0x0f, 0x53, 0x1f, 0x2d, 0x46, + 0x9b, 0x36, 0x3c, 0x82, 0xdf, 0x77, 0x35, 0xf3, 0x45, 0x05, 0xa6, 0x2a, 0x8d, 0x7a, 0xb9, 0xb5, + 0x8f, 0xea, 0x75, 0x54, 0x67, 0x76, 0xbc, 0x14, 0x18, 0x09, 0xfa, 0xb8, 0xfa, 0x5b, 0xef, 0xcc, + 0xfb, 0x16, 0xbe, 0x0a, 0x49, 0x6a, 0xd3, 0x4b, 0x97, 0xb2, 0xf7, 0x94, 0x88, 0x11, 0xce, 0x13, + 0xd5, 0xcf, 0x71, 0xd8, 0xe5, 0x4b, 0xd9, 0xff, 0xa4, 0x08, 0xa3, 0x9c, 0xd7, 0x9c, 0xfb, 0x65, + 0xa2, 0xa1, 0xf5, 0xbe, 0x35, 0xbc, 0x38, 0x94, 0x86, 0x82, 0x6e, 0x8f, 0xf4, 0xe8, 0x26, 0x68, + 0xd5, 0x85, 0xc9, 0x4a, 0xa3, 0x5e, 0x21, 0x3f, 0x35, 0x30, 0x8c, 0x4a, 0x54, 0x46, 0x1a, 0x0f, + 0x2e, 0x05, 0xc2, 0x52, 0x44, 0x78, 0x21, 0x1d, 0x1c, 0x23, 0x72, 0x0d, 0x7c, 0x5b, 0x2b, 0x70, + 0xdb, 0xc5, 0x7e, 0xb7, 0xf5, 0x47, 0x76, 0xef, 0x86, 0x8b, 0xfd, 0x6e, 0xe8, 0xe7, 0x90, 0x77, + 0xab, 0xd7, 0xf9, 0xe4, 0x4c, 0x0f, 0x6e, 0xe9, 0x67, 0x20, 0xb6, 0x4e, 0xcf, 0x95, 0x67, 0x8a, + 0x19, 0xac, 0xd4, 0xb7, 0xdf, 0x99, 0x8f, 0xef, 0x75, 0x1b, 0x75, 0x23, 0xb6, 0x5e, 0xd7, 0xef, + 0x40, 0xe2, 0x13, 0xec, 0x0b, 0xaf, 0x58, 0x60, 0x85, 0x09, 0x3c, 0x15, 0xb1, 0xc4, 0x44, 0xa8, + 0x97, 0xf6, 0x1a, 0x96, 0x7b, 0x79, 0xf9, 0x86, 0x41, 0x29, 0x72, 0x7f, 0x06, 0x80, 0xde, 0x73, + 0xd5, 0x74, 0x8e, 0xf4, 0x0a, 0x67, 0xa6, 0xb7, 0xbe, 0xf1, 0xed, 0x77, 0xe6, 0x57, 0x86, 0x61, + 0x7d, 0xba, 0x6e, 0x3a, 0x47, 0x4f, 0xbb, 0xc7, 0x6d, 0xb4, 0x54, 0x3c, 0x76, 0x91, 0xc3, 0xd9, + 0xdb, 0x7c, 0xd6, 0x63, 0xcf, 0x95, 0x15, 0x9e, 0x2b, 0x19, 0x78, 0xa6, 0xb5, 0xe0, 0x33, 0x5d, + 0x7a, 0xd0, 0xe7, 0x79, 0x9d, 0x4f, 0x12, 0x92, 0x25, 0xd5, 0x28, 0x4b, 0xaa, 0xef, 0xd7, 0x92, + 0x6d, 0x3e, 0x3e, 0x4a, 0xcf, 0xaa, 0x0e, 0x7a, 0x56, 0xf5, 0xfd, 0x3c, 0xeb, 0xff, 0xa7, 0xd9, + 0xea, 0xe5, 0xd3, 0x9e, 0x45, 0xcf, 0xb4, 0xfe, 0xe9, 0x5a, 0x0b, 0xfa, 0x40, 0xab, 0x80, 0x7c, + 0xfc, 0xde, 0x5b, 0xf3, 0x4a, 0xee, 0x8b, 0x31, 0xfe, 0xe4, 0x34, 0x91, 0x1e, 0xec, 0xc9, 0xff, + 0xb4, 0xd4, 0x54, 0x1f, 0x86, 0x85, 0xbe, 0xa0, 0xc0, 0x4c, 0xcf, 0x48, 0x4e, 0xcd, 0xf4, 0xc1, + 0x0e, 0xe7, 0xd6, 0x49, 0x87, 0x73, 0xa6, 0xe0, 0xef, 0x28, 0x70, 0x4a, 0x1a, 0x5e, 0xa9, 0x7a, + 0x17, 0x25, 0xf5, 0x1e, 0xea, 0xbd, 0x13, 0x11, 0x14, 0xb4, 0x13, 0xdd, 0x2b, 0x01, 0x04, 0x66, + 0xcf, 0xef, 0x2b, 0x92, 0xdf, 0xcf, 0x78, 0x80, 0x10, 0x73, 0xf1, 0x08, 0x60, 0x6a, 0xdb, 0x10, + 0xdf, 0xed, 0x20, 0xa4, 0xcf, 0x41, 0x6c, 0xab, 0xc3, 0x34, 0x9c, 0xa0, 0xf8, 0xad, 0x4e, 0xb1, + 0x63, 0x5a, 0xb5, 0x23, 0x23, 0xb6, 0xd5, 0xd1, 0xcf, 0x81, 0x5a, 0x60, 0x5f, 0xb6, 0x4f, 0x2f, + 0x4f, 0x52, 0x81, 0x82, 0x55, 0x67, 0x12, 0xb8, 0x4f, 0x9f, 0x83, 0xf8, 0x06, 0x32, 0x0f, 0x98, + 0x12, 0x40, 0x65, 0x70, 0x8b, 0x41, 0xda, 0xd9, 0x0d, 0x5f, 0x84, 0x24, 0x27, 0xd6, 0xcf, 0x63, + 0xc4, 0x81, 0xcb, 0x6e, 0xcb, 0x10, 0x58, 0x1d, 0x36, 0x73, 0x91, 0x5e, 0xfd, 0x02, 0x24, 0x8c, + 0xc6, 0xe1, 0x91, 0xcb, 0x6e, 0xde, 0x2b, 0x46, 0xbb, 0x73, 0x77, 0x21, 0xe5, 0x69, 0xf4, 0x01, + 0x53, 0xaf, 0xd2, 0x47, 0xd3, 0x67, 0xc5, 0xf9, 0x84, 0xaf, 0x5b, 0xd2, 0x26, 0xfd, 0x2c, 0x24, + 0x77, 0xdc, 0x8e, 0x3f, 0xe8, 0xf3, 0x8a, 0xd4, 0x6b, 0xcd, 0xfd, 0x82, 0x02, 0xc9, 0x55, 0x84, + 0xda, 0xc4, 0xe0, 0x8f, 0x43, 0x7c, 0xd5, 0x7e, 0xcd, 0x62, 0x0a, 0x4e, 0x31, 0x8b, 0xe2, 0x6e, + 0x66, 0x53, 0xd2, 0xad, 0x3f, 0x2e, 0xda, 0x7d, 0xda, 0xb3, 0xbb, 0x20, 0x47, 0x6c, 0x9f, 0x0b, + 0xd8, 0x9e, 0x39, 0x10, 0x0b, 0xf5, 0xd8, 0xff, 0x3a, 0xa4, 0x85, 0xbb, 0xe8, 0x0b, 0x4c, 0x8d, + 0x98, 0x0c, 0x14, 0x6d, 0x85, 0x25, 0x72, 0x08, 0xc6, 0x03, 0x37, 0xc6, 0x50, 0xc1, 0xc4, 0x7d, + 0xa0, 0xc4, 0xcc, 0x8b, 0x41, 0x33, 0x87, 0x8b, 0x32, 0x53, 0x5f, 0xa2, 0x36, 0x22, 0xe6, 0x3e, + 0x4f, 0x83, 0xb3, 0xbf, 0x13, 0xf1, 0xe7, 0x5c, 0x02, 0xd4, 0x4a, 0xa3, 0x99, 0x7b, 0x06, 0x80, + 0xa6, 0x7c, 0xd9, 0xea, 0xb6, 0xa4, 0xac, 0x9b, 0xe0, 0x06, 0xde, 0x3d, 0x42, 0xbb, 0xc8, 0x21, + 0x22, 0xc1, 0x7a, 0x0a, 0x0f, 0x30, 0x40, 0x53, 0x8c, 0xe0, 0x9f, 0x8c, 0xc4, 0x87, 0x56, 0x62, + 0x58, 0x34, 0x4b, 0x45, 0xef, 0x22, 0xb7, 0x60, 0xd9, 0xee, 0x11, 0xea, 0x48, 0x88, 0x65, 0xfd, + 0x4a, 0x20, 0x61, 0x27, 0x96, 0x1f, 0xf1, 0x10, 0x7d, 0x41, 0x57, 0x72, 0x5f, 0x25, 0x0a, 0xe2, + 0x52, 0xa0, 0xe7, 0x01, 0xd5, 0x21, 0x1e, 0x50, 0xbf, 0x16, 0xa8, 0xdf, 0x06, 0xa8, 0x29, 0xbd, + 0x5a, 0xde, 0x0c, 0xbc, 0xe7, 0x0c, 0x56, 0x36, 0xf8, 0x8e, 0xc9, 0x6d, 0xca, 0x55, 0x7e, 0x32, + 0x52, 0xe5, 0x3e, 0xd5, 0xed, 0x49, 0x6d, 0xaa, 0x0e, 0x6b, 0xd3, 0x6f, 0x78, 0x15, 0x07, 0xfd, + 0x45, 0x13, 0xf2, 0x5b, 0x40, 0xfa, 0x53, 0x91, 0xbe, 0xcf, 0x2b, 0x25, 0x4f, 0xd5, 0x95, 0x61, + 0xdd, 0x9f, 0x8f, 0x15, 0x8b, 0x9e, 0xba, 0xd7, 0x4f, 0x10, 0x02, 0xf9, 0x58, 0xa9, 0xe4, 0x0d, + 0xdb, 0xc9, 0x4f, 0xbf, 0x35, 0xaf, 0x7c, 0xe5, 0xad, 0xf9, 0x91, 0xdc, 0x6f, 0x2a, 0x30, 0xc5, + 0x24, 0x85, 0xc0, 0x7d, 0x5a, 0x52, 0xfe, 0x34, 0x1f, 0x33, 0xc2, 0x2c, 0xf0, 0x13, 0x0b, 0xde, + 0x6f, 0x2a, 0x90, 0xed, 0xd1, 0x95, 0xdb, 0xfb, 0xd2, 0x50, 0x2a, 0xe7, 0x95, 0xf2, 0x4f, 0xdf, + 0xe6, 0x77, 0x21, 0xb1, 0xdb, 0x68, 0xa1, 0x0e, 0x9e, 0x09, 0xf0, 0x07, 0xaa, 0x32, 0xdf, 0xcc, + 0xa1, 0x4d, 0xbc, 0x8f, 0x2a, 0x17, 0xe8, 0x5b, 0xd6, 0xb3, 0x10, 0x5f, 0x35, 0x5d, 0x93, 0x68, + 0x90, 0xf1, 0xc6, 0x57, 0xd3, 0x35, 0x73, 0x57, 0x20, 0xb3, 0x79, 0x4c, 0x0e, 0x22, 0xd5, 0xc9, + 0x19, 0x94, 0x60, 0xf5, 0xc7, 0xeb, 0xd5, 0xcb, 0x8b, 0x89, 0x64, 0x5d, 0xbb, 0xa7, 0xe4, 0xe3, + 0x44, 0x9f, 0x57, 0x61, 0x62, 0x0b, 0xab, 0x4d, 0x70, 0x04, 0x76, 0x16, 0x94, 0xcd, 0x60, 0x21, + 0x24, 0xb2, 0x1a, 0xca, 0xa6, 0x54, 0x3e, 0xaa, 0x9e, 0x79, 0xa4, 0xb2, 0x4d, 0xf5, 0xca, 0xb6, + 0xc5, 0x78, 0x72, 0x42, 0x9b, 0x5a, 0x8c, 0x27, 0x41, 0x1b, 0x67, 0xf7, 0xfd, 0x0f, 0x2a, 0x68, + 0xb4, 0xd4, 0x59, 0x45, 0x07, 0x0d, 0xab, 0xe1, 0xf6, 0xd6, 0xab, 0x9e, 0xc6, 0xfa, 0x73, 0x90, + 0xc2, 0x26, 0x5d, 0x63, 0x3f, 0x09, 0x88, 0x4d, 0x7f, 0x8e, 0x95, 0x28, 0x12, 0x05, 0x6b, 0x20, + 0xa1, 0xe3, 0x63, 0xf4, 0x35, 0x50, 0x2b, 0x95, 0x4d, 0x36, 0xb9, 0xad, 0x0c, 0x84, 0xb2, 0xc3, + 0x3e, 0xec, 0x8a, 0xb5, 0x39, 0x87, 0x06, 0x26, 0xd0, 0x57, 0x20, 0x56, 0xd9, 0x64, 0x05, 0xef, + 0xf9, 0x61, 0x68, 0x8c, 0x58, 0x65, 0x73, 0xf6, 0xdf, 0x28, 0x30, 0x1e, 0x68, 0xd5, 0x73, 0x90, + 0xa1, 0x0d, 0xc2, 0xe3, 0x8e, 0x1a, 0x81, 0x36, 0xae, 0x73, 0xec, 0x7d, 0xea, 0x3c, 0x5b, 0x80, + 0x49, 0xa9, 0x5d, 0x5f, 0x02, 0x5d, 0x6c, 0x62, 0x4a, 0xd0, 0x9f, 0x23, 0x0b, 0xe9, 0xc9, 0x3d, + 0x0a, 0xe0, 0xdb, 0xd5, 0xfb, 0x15, 0xad, 0x4a, 0x79, 0x67, 0xb7, 0xbc, 0xaa, 0x29, 0xb9, 0xaf, + 0x2b, 0x90, 0x66, 0x65, 0x6b, 0xcd, 0x6e, 0x23, 0xbd, 0x08, 0x4a, 0x81, 0x45, 0xd0, 0x83, 0xe9, + 0xad, 0x14, 0xf4, 0x8b, 0xa0, 0x14, 0x87, 0x77, 0xb5, 0x52, 0xd4, 0x97, 0x41, 0x29, 0x31, 0x07, + 0x0f, 0xe7, 0x19, 0xa5, 0x94, 0xfb, 0x23, 0x15, 0xa6, 0xc5, 0x32, 0x9a, 0x8f, 0x27, 0xe7, 0x82, + 0xef, 0x4d, 0xf9, 0xd4, 0xe5, 0xe5, 0x2b, 0x2b, 0x4b, 0xf8, 0x1f, 0x2f, 0x24, 0x73, 0xc1, 0x57, + 0xa8, 0x3c, 0x78, 0x22, 0x97, 0xfb, 0x9d, 0x13, 0xc9, 0xc7, 0x05, 0x86, 0x9e, 0x73, 0x22, 0x81, + 0xde, 0x9e, 0x73, 0x22, 0x81, 0xde, 0x9e, 0x73, 0x22, 0x81, 0xde, 0x9e, 0xbd, 0x80, 0x40, 0x6f, + 0xcf, 0x39, 0x91, 0x40, 0x6f, 0xcf, 0x39, 0x91, 0x40, 0x6f, 0xef, 0x39, 0x11, 0xd6, 0xdd, 0xf7, + 0x9c, 0x48, 0xb0, 0xbf, 0xf7, 0x9c, 0x48, 0xb0, 0xbf, 0xf7, 0x9c, 0x48, 0x3e, 0xee, 0x76, 0xba, + 0xa8, 0xff, 0xae, 0x43, 0x10, 0x3f, 0xe8, 0x25, 0xd0, 0x1f, 0x81, 0xb7, 0x60, 0x92, 0x2e, 0x48, + 0x94, 0x6c, 0xcb, 0x35, 0x1b, 0x16, 0xea, 0xe8, 0x1f, 0x85, 0x0c, 0x6d, 0xa2, 0xaf, 0x39, 0x61, + 0xaf, 0x81, 0xb4, 0x9f, 0x8d, 0xb7, 0x01, 0xe9, 0xdc, 0x1f, 0xc7, 0x61, 0x86, 0x36, 0x54, 0xcc, + 0x16, 0x0a, 0x9c, 0x32, 0xba, 0x20, 0xed, 0x29, 0x4d, 0x60, 0xf8, 0xfd, 0x77, 0xe6, 0x69, 0x6b, + 0xc1, 0x8b, 0xa6, 0x0b, 0xd2, 0xee, 0x52, 0x50, 0xce, 0x9f, 0x80, 0x2e, 0x48, 0x27, 0x8f, 0x82, + 0x72, 0xde, 0x7c, 0xe3, 0xc9, 0xf1, 0x33, 0x48, 0x41, 0xb9, 0x55, 0x2f, 0xca, 0x2e, 0x48, 0xa7, + 0x91, 0x82, 0x72, 0x65, 0x2f, 0xde, 0x2e, 0x48, 0x7b, 0x4f, 0x41, 0xb9, 0x35, 0x2f, 0xf2, 0x2e, + 0x48, 0xbb, 0x50, 0x41, 0xb9, 0xdb, 0x5e, 0x0c, 0x5e, 0x90, 0xce, 0x2a, 0x05, 0xe5, 0x9e, 0xf7, + 0xa2, 0xf1, 0x82, 0x74, 0x6a, 0x29, 0x28, 0xb7, 0xee, 0xc5, 0xe5, 0x82, 0x7c, 0x7e, 0x29, 0x28, + 0x78, 0xc7, 0x8f, 0xd0, 0x05, 0xf9, 0x24, 0x53, 0x50, 0xf2, 0x63, 0x7e, 0xac, 0x2e, 0xc8, 0x67, + 0x9a, 0x82, 0x92, 0x1b, 0x7e, 0xd4, 0x2e, 0xc8, 0x7b, 0x65, 0x41, 0xc9, 0x4d, 0x3f, 0x7e, 0x17, + 0xe4, 0x5d, 0xb3, 0xa0, 0x64, 0xc5, 0x8f, 0xe4, 0x05, 0x79, 0xff, 0x2c, 0x28, 0xb9, 0xe5, 0x2f, + 0xa2, 0xff, 0xbe, 0x14, 0x7e, 0xc2, 0x29, 0xa8, 0x9c, 0x14, 0x7e, 0x10, 0x12, 0x7a, 0xd2, 0x40, + 0x26, 0xc8, 0xf8, 0x61, 0x97, 0x93, 0xc2, 0x0e, 0x42, 0x42, 0x2e, 0x27, 0x85, 0x1c, 0x84, 0x84, + 0x5b, 0x4e, 0x0a, 0x37, 0x08, 0x09, 0xb5, 0x9c, 0x14, 0x6a, 0x10, 0x12, 0x66, 0x39, 0x29, 0xcc, + 0x20, 0x24, 0xc4, 0x72, 0x52, 0x88, 0x41, 0x48, 0x78, 0xe5, 0xa4, 0xf0, 0x82, 0x90, 0xd0, 0x3a, + 0x2f, 0x87, 0x16, 0x84, 0x85, 0xd5, 0x79, 0x39, 0xac, 0x20, 0x2c, 0xa4, 0x1e, 0x93, 0x43, 0x2a, + 0x75, 0xff, 0x9d, 0xf9, 0x04, 0x6e, 0x12, 0xa2, 0xe9, 0xbc, 0x1c, 0x4d, 0x10, 0x16, 0x49, 0xe7, + 0xe5, 0x48, 0x82, 0xb0, 0x28, 0x3a, 0x2f, 0x47, 0x11, 0x84, 0x45, 0xd0, 0xdb, 0x72, 0x04, 0xf9, + 0x67, 0x7c, 0x72, 0xd2, 0x96, 0x62, 0x54, 0x04, 0xa9, 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, + 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, 0x43, 0x44, + 0x90, 0x3a, 0x4c, 0x04, 0xa9, 0x43, 0x45, 0x90, 0xda, 0x2f, 0x82, 0xce, 0xcb, 0x27, 0x1e, 0x20, + 0x6c, 0x40, 0x3a, 0x2f, 0x6f, 0x7d, 0x46, 0x87, 0x90, 0x3a, 0x54, 0x08, 0xa9, 0xfd, 0x42, 0xe8, + 0xf7, 0x55, 0x98, 0x0e, 0x84, 0x10, 0xdb, 0x1f, 0xfa, 0xa0, 0x46, 0xa0, 0x6b, 0x43, 0x1c, 0xb0, + 0x08, 0x8b, 0xa9, 0x6b, 0x43, 0x6c, 0x52, 0x0f, 0x8a, 0xb3, 0xde, 0x51, 0xa8, 0x3c, 0xc4, 0x28, + 0xb4, 0xe6, 0xc5, 0xd0, 0xb5, 0x21, 0x0e, 0x5e, 0xf4, 0xc6, 0xde, 0x8d, 0x41, 0x83, 0xc0, 0xf3, + 0x43, 0x0d, 0x02, 0xeb, 0x43, 0x0d, 0x02, 0x77, 0x7c, 0x0f, 0xfe, 0x62, 0x0c, 0x4e, 0xf9, 0x1e, + 0xa4, 0x9f, 0xc8, 0x2f, 0x6b, 0xe5, 0x84, 0x2d, 0x2a, 0x9d, 0x6f, 0xdb, 0x08, 0x6e, 0x8c, 0xad, + 0xd7, 0xf5, 0xed, 0xe0, 0x66, 0x55, 0xfe, 0xa4, 0x1b, 0x38, 0x82, 0xc7, 0xd9, 0x62, 0xe8, 0x79, + 0x50, 0xd7, 0xeb, 0x0e, 0x19, 0x2d, 0xc2, 0x6e, 0x5b, 0x32, 0x70, 0xb7, 0x6e, 0xc0, 0x28, 0x11, + 0x77, 0x88, 0x7b, 0xdf, 0xcf, 0x8d, 0x57, 0x0d, 0xc6, 0x94, 0x7b, 0x5b, 0x81, 0xb3, 0x81, 0x50, + 0xfe, 0x60, 0xb6, 0x0c, 0x6e, 0x0d, 0xb5, 0x65, 0x10, 0x48, 0x10, 0x7f, 0xfb, 0xe0, 0x89, 0xde, + 0x9d, 0x6a, 0x31, 0x4b, 0xe4, 0xad, 0x84, 0xbf, 0x00, 0x13, 0xfe, 0x13, 0x90, 0x77, 0xb6, 0xab, + 0xd1, 0xab, 0x99, 0x61, 0xa9, 0x79, 0x55, 0x5a, 0x45, 0x1b, 0x08, 0xf3, 0xb2, 0x35, 0x97, 0x87, + 0xc9, 0x4a, 0xf0, 0x2b, 0x51, 0x51, 0x8b, 0x11, 0x49, 0x5c, 0x9a, 0xdf, 0xfb, 0xd2, 0xfc, 0x48, + 0xee, 0x29, 0xc8, 0x88, 0xdf, 0x7a, 0x92, 0x80, 0x29, 0x0e, 0xcc, 0xc7, 0xbf, 0x85, 0xa5, 0xff, + 0xbe, 0x02, 0xa7, 0x45, 0xf1, 0x17, 0x1a, 0xee, 0xd1, 0xba, 0x85, 0x6b, 0xfa, 0x67, 0x20, 0x89, + 0x98, 0xe3, 0xd8, 0x8f, 0xe4, 0xb0, 0xf7, 0xc8, 0x50, 0xf1, 0x25, 0xf2, 0xaf, 0xe1, 0x41, 0xa4, + 0x35, 0x0e, 0x7e, 0xdb, 0xe5, 0xd9, 0xc7, 0x21, 0x41, 0xf9, 0x83, 0x7a, 0x8d, 0x4b, 0x7a, 0xfd, + 0x7a, 0x88, 0x5e, 0x24, 0x8e, 0xf4, 0x3b, 0x01, 0xbd, 0x84, 0xd7, 0xd5, 0x50, 0xf1, 0x25, 0x1e, + 0x7c, 0xc5, 0x24, 0xae, 0xff, 0x48, 0x44, 0x45, 0x2b, 0xb9, 0x00, 0xc9, 0xb2, 0x2c, 0x13, 0xae, + 0xe7, 0x2a, 0xc4, 0x2b, 0x76, 0x9d, 0xfc, 0x7c, 0x0f, 0xf9, 0x21, 0x6c, 0x66, 0x64, 0xf6, 0xab, + 0xd8, 0x17, 0x20, 0x59, 0x3a, 0x6a, 0x34, 0xeb, 0x1d, 0x64, 0xb1, 0x3d, 0x7b, 0xb6, 0x84, 0x8e, + 0x31, 0x86, 0xd7, 0x97, 0x2b, 0xc1, 0x54, 0xc5, 0xb6, 0x8a, 0xc7, 0xae, 0x38, 0x6e, 0x2c, 0x49, + 0x29, 0xc2, 0xf6, 0x7c, 0xc8, 0xb7, 0x44, 0xb0, 0x40, 0x31, 0xf1, 0xed, 0x77, 0xe6, 0x95, 0x5d, + 0x6f, 0xfd, 0x7c, 0x13, 0x1e, 0x62, 0xe9, 0xd3, 0x43, 0xb5, 0x1c, 0x45, 0x95, 0x62, 0xfb, 0xd4, + 0x02, 0xdd, 0x3a, 0xa6, 0xb3, 0x42, 0xe9, 0x1e, 0x4c, 0x33, 0x5c, 0x14, 0x0d, 0xd4, 0x4c, 0x3d, + 0x91, 0x66, 0xa1, 0x74, 0x4b, 0x51, 0x74, 0x92, 0x66, 0x8f, 0x41, 0xca, 0xeb, 0x13, 0xa2, 0x41, + 0xcc, 0x94, 0xe5, 0xc5, 0x1c, 0xa4, 0x85, 0x84, 0xd5, 0x13, 0xa0, 0x14, 0xb4, 0x11, 0xfc, 0x5f, + 0x51, 0x53, 0xf0, 0x7f, 0x25, 0x2d, 0xb6, 0xf8, 0x38, 0x4c, 0x4a, 0xeb, 0x97, 0xb8, 0x67, 0x55, + 0x03, 0xfc, 0x5f, 0x59, 0x4b, 0xcf, 0xc6, 0x3f, 0xfd, 0x6b, 0x73, 0x23, 0x8b, 0xb7, 0x40, 0xef, + 0x5d, 0xe9, 0xd4, 0x47, 0x21, 0x56, 0xc0, 0x94, 0x0f, 0x41, 0xac, 0x58, 0xd4, 0x94, 0xd9, 0xc9, + 0xbf, 0xfa, 0xf9, 0xb3, 0xe9, 0x22, 0xf9, 0x4a, 0xf7, 0x5d, 0xe4, 0x16, 0x8b, 0x0c, 0xfc, 0x2c, + 0x9c, 0x0e, 0x5d, 0x29, 0xc5, 0xf8, 0x52, 0x89, 0xe2, 0x57, 0x57, 0x7b, 0xf0, 0xab, 0xab, 0x04, + 0xaf, 0xe4, 0xf9, 0x8e, 0x73, 0x41, 0x0f, 0x59, 0x97, 0xcc, 0xd6, 0x85, 0x1d, 0xee, 0x42, 0xfe, + 0x59, 0x26, 0x5b, 0x0c, 0x95, 0x45, 0x11, 0x3b, 0xd6, 0xc5, 0x7c, 0x89, 0xe1, 0x4b, 0xa1, 0xf8, + 0x03, 0x69, 0x5b, 0x35, 0x38, 0x43, 0x30, 0x92, 0x92, 0xa7, 0xf0, 0x6a, 0x28, 0xc9, 0x91, 0x70, + 0xd8, 0x7d, 0xd5, 0x53, 0xb8, 0x1c, 0x2a, 0xdb, 0x88, 0x38, 0xf4, 0x55, 0xce, 0x5f, 0x64, 0x93, + 0x7c, 0xe1, 0xb2, 0x7e, 0x9a, 0xe7, 0x68, 0x60, 0x04, 0x66, 0x06, 0xe2, 0x52, 0xf9, 0x12, 0x03, + 0x14, 0xfb, 0x02, 0xfa, 0x5b, 0x89, 0x23, 0xf3, 0xcf, 0x33, 0x92, 0x52, 0x5f, 0x92, 0x08, 0x53, + 0x71, 0x78, 0x71, 0xf7, 0xde, 0xbb, 0x73, 0x23, 0xdf, 0x7a, 0x77, 0x6e, 0xe4, 0xbf, 0xbc, 0x3b, + 0x37, 0xf2, 0x9d, 0x77, 0xe7, 0x94, 0xef, 0xbf, 0x3b, 0xa7, 0xfc, 0xf0, 0xdd, 0x39, 0xe5, 0x47, + 0xef, 0xce, 0x29, 0x6f, 0xde, 0x9f, 0x53, 0xbe, 0x72, 0x7f, 0x4e, 0xf9, 0xea, 0xfd, 0x39, 0xe5, + 0x77, 0xef, 0xcf, 0x29, 0x6f, 0xdf, 0x9f, 0x53, 0xee, 0xdd, 0x9f, 0x53, 0xbe, 0x75, 0x7f, 0x4e, + 0xf9, 0xce, 0xfd, 0x39, 0xe5, 0xfb, 0xf7, 0xe7, 0x46, 0x7e, 0x78, 0x7f, 0x4e, 0xf9, 0xd1, 0xfd, + 0xb9, 0x91, 0x37, 0xbf, 0x3b, 0x37, 0xf2, 0xd6, 0x77, 0xe7, 0x46, 0xbe, 0xf2, 0xdd, 0x39, 0x05, + 0xfe, 0x70, 0x05, 0xce, 0xb2, 0x6f, 0x92, 0x79, 0x5f, 0xfb, 0xbd, 0xe8, 0x1e, 0x21, 0x52, 0x12, + 0x5c, 0xe1, 0xbf, 0x01, 0xe6, 0x35, 0x9c, 0xf0, 0x5b, 0x65, 0xb3, 0x0f, 0xfa, 0x1d, 0xb6, 0xdc, + 0xbf, 0x4d, 0xc0, 0x18, 0x5f, 0x0b, 0x0e, 0xfb, 0xa5, 0xf4, 0xab, 0x90, 0x3c, 0x6a, 0x34, 0xcd, + 0x4e, 0xc3, 0x3d, 0x66, 0x8b, 0xa0, 0x0f, 0x2f, 0xf9, 0x6a, 0xf3, 0x65, 0xd3, 0xe7, 0xbb, 0x2d, + 0xbb, 0xdb, 0x31, 0x3c, 0x51, 0xfd, 0x2c, 0x64, 0x8e, 0x50, 0xe3, 0xf0, 0xc8, 0xad, 0x36, 0xac, + 0x6a, 0xad, 0x45, 0x6a, 0xe5, 0x71, 0x03, 0x68, 0xdb, 0xba, 0x55, 0x6a, 0xe1, 0x9b, 0xd5, 0x4d, + 0xd7, 0x24, 0xef, 0xe8, 0x19, 0x83, 0x7c, 0x26, 0xbf, 0x76, 0x8c, 0x9c, 0x6e, 0xd3, 0xad, 0xd6, + 0xec, 0xae, 0xe5, 0x92, 0x6a, 0x56, 0x35, 0xd2, 0xb4, 0xad, 0x84, 0x9b, 0xf4, 0xc7, 0x60, 0xdc, + 0xed, 0x74, 0x51, 0xd5, 0xa9, 0xd9, 0xae, 0xd3, 0x32, 0x2d, 0x52, 0xcd, 0x26, 0x8d, 0x0c, 0x6e, + 0xdc, 0x61, 0x6d, 0xe4, 0x47, 0xf6, 0x6b, 0x76, 0x07, 0x91, 0x97, 0xe9, 0x98, 0x41, 0x2f, 0x74, + 0x0d, 0xd4, 0x57, 0xd0, 0x31, 0x79, 0x5d, 0x8b, 0x1b, 0xf8, 0xa3, 0xfe, 0x24, 0x8c, 0xd2, 0xbf, + 0x92, 0x43, 0x6a, 0x6b, 0xb2, 0x75, 0xed, 0x3d, 0x1a, 0x5d, 0xa2, 0x35, 0x98, 0x80, 0x7e, 0x13, + 0xc6, 0x5c, 0xd4, 0xe9, 0x98, 0x0d, 0x8b, 0xbc, 0x3a, 0xa5, 0x97, 0xe7, 0x43, 0xcc, 0xb0, 0x4b, + 0x25, 0xc8, 0x6f, 0x02, 0x1b, 0x5c, 0x5e, 0xbf, 0x0a, 0x19, 0x22, 0xb7, 0x5c, 0xa5, 0x7f, 0x49, + 0x28, 0xdd, 0x37, 0x9a, 0xd3, 0x54, 0x8e, 0xef, 0x14, 0x70, 0x18, 0xfd, 0x3d, 0xc4, 0x71, 0x72, + 0xdb, 0xc7, 0x42, 0x6e, 0x4b, 0x06, 0xde, 0x65, 0x52, 0x34, 0xd2, 0x5b, 0x33, 0x1e, 0xfa, 0x8b, + 0x89, 0x9b, 0x90, 0x11, 0xf5, 0xe2, 0x66, 0xa0, 0xc5, 0x0f, 0x31, 0xc3, 0x13, 0xfe, 0x5f, 0x69, + 0xe8, 0x63, 0x05, 0xda, 0x9f, 0x8f, 0xdd, 0x50, 0x66, 0xb7, 0x41, 0x93, 0xef, 0x17, 0x42, 0x79, + 0x21, 0x48, 0xa9, 0x89, 0x0f, 0x4b, 0xd6, 0xc9, 0x7d, 0xc6, 0xdc, 0x73, 0x30, 0x4a, 0xe3, 0x47, + 0x4f, 0xc3, 0x98, 0xff, 0x53, 0x9b, 0x49, 0x88, 0x6f, 0xef, 0x55, 0x76, 0xe8, 0x6f, 0xe6, 0xee, + 0x6c, 0x14, 0xb6, 0x77, 0x76, 0xd7, 0x4b, 0x1f, 0xd3, 0x62, 0xfa, 0x24, 0xa4, 0x8b, 0xeb, 0x1b, + 0x1b, 0xd5, 0x62, 0x61, 0x7d, 0xa3, 0x7c, 0x57, 0x53, 0x73, 0x73, 0x30, 0x4a, 0xf5, 0x24, 0xbf, + 0xfd, 0xd7, 0xb5, 0xac, 0x63, 0x5e, 0x3c, 0x90, 0x8b, 0xdc, 0xd7, 0x74, 0x18, 0x2b, 0x34, 0x9b, + 0x9b, 0x66, 0xdb, 0xd1, 0x5f, 0x80, 0x29, 0xfa, 0xab, 0x1c, 0xbb, 0xf6, 0x2a, 0xf9, 0x89, 0x4a, + 0x3c, 0x34, 0x28, 0xec, 0xaf, 0x53, 0xf8, 0xcf, 0xcd, 0xc4, 0x97, 0x7a, 0x64, 0xa9, 0x81, 0x7b, + 0x39, 0xf4, 0x5d, 0xd0, 0x78, 0xe3, 0x5a, 0xd3, 0x36, 0x5d, 0xcc, 0x1b, 0x63, 0xbf, 0x20, 0xd9, + 0x9f, 0x97, 0x8b, 0x52, 0xda, 0x1e, 0x06, 0xfd, 0xa3, 0x90, 0x5c, 0xb7, 0xdc, 0x2b, 0xcb, 0x98, + 0x8d, 0xff, 0xe5, 0xa7, 0x5e, 0x36, 0x2e, 0x42, 0x59, 0x3c, 0x04, 0x43, 0x5f, 0x5b, 0xc1, 0xe8, + 0xf8, 0x20, 0x34, 0x11, 0xf1, 0xd1, 0xe4, 0x52, 0x7f, 0x0e, 0x52, 0xf8, 0xdd, 0x84, 0xde, 0x3c, + 0xc1, 0x0b, 0xd7, 0x1e, 0xb8, 0x27, 0x43, 0xf1, 0x3e, 0x86, 0x13, 0xd0, 0xfb, 0x8f, 0x0e, 0x24, + 0x10, 0x14, 0xf0, 0x31, 0x98, 0x60, 0xc7, 0xd3, 0x60, 0xac, 0x2f, 0xc1, 0x8e, 0xa4, 0xc1, 0x8e, + 0xa8, 0xc1, 0x8e, 0xa7, 0x41, 0x72, 0x20, 0x81, 0xa8, 0x81, 0x77, 0xad, 0x17, 0x01, 0xd6, 0x1a, + 0xaf, 0xa3, 0x3a, 0x55, 0x81, 0xfe, 0x5d, 0xa8, 0x5c, 0x08, 0x83, 0x2f, 0x44, 0x29, 0x04, 0x94, + 0x5e, 0x86, 0xf4, 0xce, 0x81, 0x4f, 0x02, 0x3d, 0x79, 0xec, 0xa9, 0x71, 0x20, 0xb1, 0x88, 0x38, + 0x4f, 0x15, 0xfa, 0x30, 0xe9, 0xc1, 0xaa, 0x08, 0x4f, 0x23, 0xa0, 0x7c, 0x55, 0x28, 0x49, 0x26, + 0x42, 0x15, 0x81, 0x45, 0xc4, 0xe1, 0xc1, 0xb0, 0x68, 0xdb, 0x58, 0x92, 0x8d, 0x4a, 0xf3, 0x21, + 0x14, 0x4c, 0x82, 0x0d, 0x86, 0xec, 0x8a, 0x78, 0x84, 0x04, 0x39, 0x06, 0x4f, 0xf4, 0xf7, 0x08, + 0x97, 0xe1, 0x1e, 0xe1, 0xd7, 0x62, 0x9e, 0x91, 0xf3, 0xac, 0x98, 0x67, 0x32, 0x32, 0xcf, 0xb8, + 0xa8, 0x94, 0x67, 0xbc, 0x59, 0xff, 0x38, 0x4c, 0xf2, 0x36, 0x3c, 0x3c, 0x61, 0x52, 0x8d, 0xfd, + 0xe5, 0xbc, 0xfe, 0xa4, 0x4c, 0x92, 0x72, 0xca, 0x78, 0xbd, 0x02, 0x13, 0xbc, 0x69, 0xd3, 0x21, + 0x8f, 0x3b, 0xc5, 0xfe, 0x28, 0x4a, 0x7f, 0x46, 0x2a, 0x48, 0x09, 0x25, 0xf4, 0xec, 0x2a, 0xcc, + 0x84, 0x8f, 0x46, 0xe2, 0xf0, 0x9b, 0xa2, 0xc3, 0xef, 0x29, 0x71, 0xf8, 0x55, 0xc4, 0xe1, 0xbb, + 0x04, 0xa7, 0x43, 0xc7, 0x9e, 0x28, 0x92, 0x98, 0x48, 0x72, 0x0b, 0xc6, 0x03, 0x43, 0x8e, 0x08, + 0x4e, 0x84, 0x80, 0x13, 0xbd, 0x60, 0x3f, 0xb4, 0x42, 0x66, 0x8f, 0x00, 0x58, 0x15, 0xc1, 0x1f, + 0x85, 0x89, 0xe0, 0x78, 0x23, 0xa2, 0xc7, 0x43, 0xd0, 0xe3, 0x21, 0xe8, 0xf0, 0x7b, 0xc7, 0x43, + 0xd0, 0x71, 0x09, 0xbd, 0xd3, 0xf7, 0xde, 0x53, 0x21, 0xe8, 0xa9, 0x10, 0x74, 0xf8, 0xbd, 0xf5, + 0x10, 0xb4, 0x2e, 0xa2, 0x9f, 0x81, 0x49, 0x69, 0x88, 0x11, 0xe1, 0x63, 0x21, 0xf0, 0x31, 0x11, + 0xfe, 0x2c, 0x68, 0xf2, 0xe0, 0x22, 0xe2, 0x27, 0x43, 0xf0, 0x93, 0x61, 0xb7, 0x0f, 0xd7, 0x7e, + 0x34, 0x04, 0x3e, 0x1a, 0x7a, 0xfb, 0x70, 0xbc, 0x16, 0x82, 0xd7, 0x44, 0x7c, 0x1e, 0x32, 0xe2, + 0x68, 0x22, 0x62, 0x93, 0x21, 0xd8, 0xa4, 0x6c, 0xf7, 0xc0, 0x60, 0x12, 0x15, 0xe9, 0xa9, 0x3e, + 0xe9, 0x12, 0x18, 0x42, 0xa2, 0x48, 0x32, 0x22, 0xc9, 0x27, 0xe0, 0x54, 0xd8, 0x90, 0x11, 0xc2, + 0xb1, 0x20, 0x72, 0x4c, 0xe0, 0x1a, 0xd1, 0x2f, 0xf6, 0xcc, 0xb6, 0x54, 0x38, 0xcd, 0xbe, 0x04, + 0xd3, 0x21, 0x03, 0x47, 0x08, 0xed, 0x52, 0xb0, 0x1a, 0xcb, 0x0a, 0xb4, 0x64, 0x10, 0x68, 0x58, + 0x87, 0xdb, 0x76, 0xc3, 0x72, 0xc5, 0xaa, 0xec, 0xeb, 0xd3, 0x30, 0xc1, 0x86, 0xa7, 0xad, 0x4e, + 0x1d, 0x75, 0x50, 0x5d, 0xff, 0x73, 0xfd, 0x6b, 0xa7, 0x4b, 0xbd, 0x83, 0x1a, 0x43, 0x9d, 0xa0, + 0x84, 0x7a, 0xa9, 0x6f, 0x09, 0x75, 0x31, 0x9a, 0x3e, 0xaa, 0x92, 0x2a, 0xf5, 0x54, 0x52, 0x4f, + 0xf4, 0x27, 0xed, 0x57, 0x50, 0x95, 0x7a, 0x0a, 0xaa, 0xc1, 0x24, 0xa1, 0x75, 0xd5, 0x5a, 0x6f, + 0x5d, 0xb5, 0xd0, 0x9f, 0xa5, 0x7f, 0x79, 0xb5, 0xd6, 0x5b, 0x5e, 0x45, 0xf0, 0x84, 0x57, 0x59, + 0x6b, 0xbd, 0x55, 0xd6, 0x00, 0x9e, 0xfe, 0xc5, 0xd6, 0x5a, 0x6f, 0xb1, 0x15, 0xc1, 0x13, 0x5e, + 0x73, 0xad, 0x87, 0xd4, 0x5c, 0x4f, 0xf6, 0x27, 0x1a, 0x54, 0x7a, 0x6d, 0x84, 0x95, 0x5e, 0x8b, + 0x03, 0x94, 0x1a, 0x58, 0x81, 0xad, 0x87, 0x54, 0x60, 0x51, 0x8a, 0xf5, 0x29, 0xc4, 0x36, 0xc2, + 0x0a, 0xb1, 0x48, 0xc5, 0xfa, 0xd5, 0x63, 0x3f, 0x27, 0xd7, 0x63, 0x17, 0xfa, 0x33, 0x85, 0x97, + 0x65, 0x6b, 0xbd, 0x65, 0xd9, 0x42, 0x54, 0xce, 0x85, 0x55, 0x67, 0x2f, 0xf5, 0xad, 0xce, 0x86, + 0x48, 0xe1, 0xa8, 0x22, 0xed, 0xc5, 0x7e, 0x45, 0xda, 0x52, 0x34, 0xf7, 0xe0, 0x5a, 0x6d, 0xaf, + 0x4f, 0xad, 0xf6, 0x74, 0x34, 0xf1, 0xcf, 0x4a, 0xb6, 0x9f, 0x95, 0x6c, 0x3f, 0x2b, 0xd9, 0x7e, + 0x56, 0xb2, 0xfd, 0xf4, 0x4b, 0xb6, 0x7c, 0xfc, 0x33, 0x5f, 0x9a, 0x57, 0x72, 0xff, 0x59, 0xf5, + 0xfe, 0xdc, 0xda, 0x0b, 0x0d, 0xf7, 0x08, 0x0f, 0x6f, 0x9b, 0x90, 0x21, 0x3f, 0xff, 0xdb, 0x32, + 0xdb, 0xed, 0x86, 0x75, 0xc8, 0x6a, 0xb6, 0xc5, 0xde, 0xa5, 0x44, 0x06, 0x20, 0x7f, 0x6a, 0x66, + 0x93, 0x0a, 0xb3, 0xe9, 0xc6, 0xf2, 0x5b, 0xf4, 0x3b, 0x90, 0x6e, 0x39, 0x87, 0x1e, 0x5b, 0xac, + 0x67, 0x22, 0x94, 0xd8, 0xe8, 0x93, 0xfa, 0x64, 0xd0, 0xf2, 0x1a, 0xb0, 0x6a, 0xfb, 0xc7, 0xae, + 0xaf, 0x9a, 0x1a, 0xa5, 0x1a, 0xf6, 0x69, 0x50, 0xb5, 0x7d, 0xbf, 0x05, 0x87, 0xad, 0xac, 0x7b, + 0xd4, 0x48, 0x17, 0x08, 0x9e, 0x17, 0x60, 0x52, 0xd2, 0x36, 0x24, 0xe7, 0x1f, 0xc0, 0x37, 0x58, + 0x31, 0x59, 0xf3, 0xa8, 0x9c, 0x10, 0x03, 0x32, 0xf7, 0x28, 0x8c, 0x07, 0xb8, 0xf5, 0x0c, 0x28, + 0x07, 0xec, 0xcb, 0x94, 0xca, 0x41, 0xee, 0x8b, 0x0a, 0xa4, 0xd9, 0x41, 0x82, 0x6d, 0xb3, 0xd1, + 0xd1, 0x9f, 0x87, 0x78, 0x93, 0x7f, 0xa1, 0xe9, 0x41, 0xbf, 0x3c, 0x4b, 0x18, 0xf4, 0x35, 0x48, + 0x74, 0xbc, 0x2f, 0x3c, 0x3d, 0xd0, 0x37, 0x62, 0x09, 0x3c, 0x77, 0x4f, 0x81, 0x29, 0x76, 0xce, + 0xd5, 0x61, 0xc7, 0x9f, 0xcd, 0xf6, 0xec, 0xd7, 0x14, 0x48, 0x79, 0x57, 0xfa, 0x3e, 0x4c, 0x78, + 0x17, 0xf4, 0x88, 0x3d, 0x8d, 0xd4, 0xbc, 0x60, 0xe1, 0x1e, 0x8e, 0xa5, 0x90, 0x4f, 0x74, 0x2b, + 0x8a, 0xce, 0xc9, 0xc1, 0xc6, 0xd9, 0x02, 0x4c, 0x87, 0x88, 0x9d, 0x64, 0x42, 0xce, 0x9d, 0x83, + 0x54, 0xc5, 0x76, 0xe9, 0xef, 0xe6, 0xe8, 0xa7, 0x84, 0x5d, 0x85, 0x62, 0x4c, 0x1b, 0x21, 0xe0, + 0xc5, 0x73, 0x30, 0xc6, 0xb2, 0x5f, 0x1f, 0x85, 0xd8, 0x66, 0x41, 0x1b, 0x21, 0xff, 0x17, 0x35, + 0x85, 0xfc, 0x5f, 0xd2, 0x62, 0xc5, 0x8d, 0x07, 0xdc, 0x67, 0x1a, 0x09, 0xdb, 0x67, 0xda, 0x1f, + 0xa5, 0xe6, 0xf9, 0x93, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5b, 0x72, 0xad, 0xe0, 0xc4, 0x83, 0x00, + 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -6450,112 +6560,3 @@ func valueToStringTheproto3(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { - proto.RegisterFile("combos/marshaler/theproto3.proto", fileDescriptor_theproto3_2741054169128c6d) -} - -var fileDescriptor_theproto3_2741054169128c6d = []byte{ - // 1610 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, - 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0xc0, 0xd2, 0xb2, 0x02, - 0x24, 0x4a, 0xb0, 0x91, 0xb3, 0x4e, 0xb2, 0x9b, 0xba, 0x69, 0x53, 0x4b, 0xb1, 0x10, 0x37, 0xb6, - 0xe2, 0x4a, 0x76, 0xdc, 0x22, 0x40, 0x0d, 0xca, 0xa6, 0x25, 0x22, 0x12, 0x69, 0x90, 0xa3, 0xa0, - 0xbe, 0xe5, 0xcf, 0xe8, 0xad, 0xe8, 0xad, 0xc7, 0x22, 0x87, 0xa2, 0xc7, 0xf6, 0xe6, 0x63, 0x80, - 0x5e, 0x8a, 0x1e, 0x82, 0x58, 0xbd, 0xe4, 0x98, 0x63, 0x8e, 0xc5, 0xcc, 0x50, 0xd2, 0x48, 0x1c, - 0x8a, 0x4d, 0x2f, 0xbd, 0xf8, 0x24, 0xce, 0xf3, 0xfb, 0x7e, 0xe6, 0x71, 0x38, 0xf3, 0xf8, 0x05, - 0x0d, 0x85, 0x03, 0xab, 0xd7, 0xb2, 0x9c, 0xe5, 0x9e, 0x66, 0x3b, 0x1d, 0xad, 0xab, 0xdb, 0xcb, - 0xa4, 0xa3, 0x1f, 0xdb, 0x16, 0xb1, 0x6e, 0x96, 0xd9, 0x0f, 0x4e, 0x8d, 0x02, 0x0b, 0xd7, 0xdb, - 0x06, 0xe9, 0xf4, 0x5b, 0xe5, 0x03, 0xab, 0xb7, 0xdc, 0xb6, 0xda, 0xd6, 0x32, 0x8b, 0xb7, 0xfa, - 0x47, 0x6c, 0xc4, 0x06, 0xec, 0x8a, 0x2b, 0x17, 0xfe, 0xef, 0x9b, 0x4e, 0x74, 0x87, 0x2c, 0xbb, - 0x33, 0xb7, 0x2c, 0xd2, 0xa1, 0x93, 0xd2, 0x18, 0x17, 0x16, 0x7f, 0x8e, 0x41, 0x62, 0x4b, 0x77, - 0x1c, 0xad, 0xad, 0x63, 0x0c, 0x51, 0x53, 0xeb, 0xe9, 0x79, 0x54, 0x40, 0xa5, 0x54, 0x83, 0x5d, - 0xe3, 0xdb, 0x90, 0xec, 0x18, 0x5d, 0xcd, 0x36, 0xc8, 0x49, 0x3e, 0x5c, 0x40, 0xa5, 0xdc, 0xca, - 0xbf, 0xca, 0xe3, 0xb2, 0x5d, 0x65, 0xf9, 0x41, 0xbf, 0x67, 0xf5, 0xed, 0xc6, 0x28, 0x15, 0x17, - 0x20, 0xd3, 0xd1, 0x8d, 0x76, 0x87, 0xec, 0x1b, 0xe6, 0xfe, 0x41, 0x2f, 0x1f, 0x29, 0xa0, 0x52, - 0xb6, 0x01, 0x3c, 0xb6, 0x61, 0x56, 0x7b, 0x74, 0xb2, 0x43, 0x8d, 0x68, 0xf9, 0x68, 0x01, 0x95, - 0x32, 0x0d, 0x76, 0x8d, 0x15, 0x88, 0x3c, 0xd5, 0x4f, 0xf2, 0xb1, 0x42, 0xa4, 0x14, 0x6d, 0xd0, - 0x4b, 0x7c, 0x15, 0xe2, 0xa6, 0xee, 0x10, 0xfd, 0x30, 0x1f, 0x2f, 0xa0, 0x52, 0x7a, 0x65, 0x5e, - 0x98, 0xbc, 0xce, 0xfe, 0xd0, 0x70, 0x13, 0xf0, 0x12, 0x64, 0x6c, 0xdd, 0xe9, 0x77, 0xc9, 0xfe, - 0x81, 0xd5, 0x37, 0x49, 0x3e, 0x51, 0x40, 0xa5, 0x48, 0x23, 0xcd, 0x63, 0x55, 0x1a, 0xc2, 0x97, - 0x20, 0x4b, 0xec, 0xbe, 0xbe, 0xef, 0x1c, 0x58, 0xc4, 0xe9, 0x69, 0x66, 0x3e, 0x59, 0x40, 0xa5, - 0x64, 0x23, 0x43, 0x83, 0x4d, 0x37, 0x86, 0x2f, 0x42, 0xcc, 0x39, 0xb0, 0x6c, 0x3d, 0x9f, 0x2a, - 0xa0, 0x52, 0xb8, 0xc1, 0x07, 0xf8, 0x03, 0x48, 0x10, 0xdd, 0xb6, 0x35, 0xc3, 0xcc, 0x43, 0x21, - 0x52, 0x4a, 0xaf, 0x2c, 0x4a, 0x96, 0x61, 0x87, 0x67, 0xac, 0x9b, 0xc4, 0x3e, 0x69, 0x0c, 0xf3, - 0xf1, 0x6d, 0xc8, 0xb0, 0xbc, 0x95, 0xfd, 0x23, 0x43, 0xef, 0x1e, 0xe6, 0xd3, 0xec, 0x4e, 0x70, - 0x99, 0x3d, 0x85, 0xba, 0x61, 0x3e, 0x3a, 0x26, 0x75, 0x8d, 0x18, 0xcf, 0xf4, 0x46, 0x9a, 0xe7, - 0xd5, 0x68, 0x1a, 0xae, 0x8d, 0x64, 0xcf, 0xb4, 0x6e, 0x5f, 0xcf, 0x67, 0xd9, 0xb4, 0x97, 0x24, - 0xd3, 0x6e, 0xb3, 0xb4, 0xc7, 0x34, 0x8b, 0x4f, 0xed, 0x72, 0x58, 0x64, 0x61, 0x0b, 0x32, 0x62, - 0x5d, 0xc3, 0x45, 0x46, 0x6c, 0x79, 0xd8, 0x22, 0x5f, 0x81, 0x18, 0x9f, 0x22, 0xec, 0xb7, 0xc6, - 0xfc, 0xef, 0xab, 0xe1, 0x3b, 0x68, 0x61, 0x1b, 0x94, 0xe9, 0xf9, 0x24, 0xc8, 0xcb, 0x93, 0x48, - 0x45, 0xbc, 0xd9, 0x75, 0xb3, 0xdf, 0x13, 0x88, 0xc5, 0x7b, 0x10, 0xe7, 0xfb, 0x07, 0xa7, 0x21, - 0xb1, 0x5b, 0x7f, 0x58, 0x7f, 0xb4, 0x57, 0x57, 0x42, 0x38, 0x09, 0xd1, 0xed, 0xdd, 0x7a, 0x53, - 0x41, 0x38, 0x0b, 0xa9, 0xe6, 0xe6, 0xda, 0x76, 0x73, 0x67, 0xa3, 0xfa, 0x50, 0x09, 0xe3, 0x39, - 0x48, 0x57, 0x36, 0x36, 0x37, 0xf7, 0x2b, 0x6b, 0x1b, 0x9b, 0xeb, 0x5f, 0x28, 0x91, 0xa2, 0x0a, - 0x71, 0x5e, 0x27, 0x7d, 0x76, 0xad, 0xbe, 0x69, 0x9e, 0xb8, 0x5b, 0x98, 0x0f, 0x8a, 0x2f, 0x30, - 0x24, 0xd6, 0xba, 0xdd, 0x2d, 0xed, 0xd8, 0xc1, 0x7b, 0x30, 0xdf, 0x24, 0xb6, 0x61, 0xb6, 0x77, - 0xac, 0xfb, 0x56, 0xbf, 0xd5, 0xd5, 0xb7, 0xb4, 0xe3, 0x3c, 0x62, 0x4b, 0x7b, 0x55, 0xb8, 0x6f, - 0x37, 0xbd, 0xec, 0xc9, 0xe5, 0x0b, 0xec, 0x65, 0xe0, 0x1d, 0x50, 0x86, 0xc1, 0x5a, 0xd7, 0xd2, - 0x08, 0xe5, 0x86, 0x19, 0xb7, 0x34, 0x83, 0x3b, 0x4c, 0xe5, 0x58, 0x0f, 0x01, 0xdf, 0x85, 0xe4, - 0x86, 0x49, 0x6e, 0xae, 0x50, 0x5a, 0x84, 0xd1, 0x0a, 0x12, 0xda, 0x30, 0x85, 0x53, 0x46, 0x0a, - 0x57, 0xfd, 0xbf, 0x5b, 0x54, 0x1d, 0x9d, 0xa5, 0x66, 0x29, 0x63, 0x35, 0x1b, 0xe2, 0x7b, 0x90, - 0xda, 0x35, 0x86, 0x93, 0xc7, 0x98, 0x7c, 0x49, 0x22, 0x1f, 0xe5, 0x70, 0xfd, 0x58, 0x33, 0x04, - 0xf0, 0xf9, 0xe3, 0x33, 0x01, 0x42, 0x01, 0x63, 0x0d, 0x05, 0x34, 0x47, 0x15, 0x24, 0x7c, 0x01, - 0xcd, 0xa9, 0x0a, 0x9a, 0x62, 0x05, 0xcd, 0x51, 0x05, 0xc9, 0x99, 0x00, 0xb1, 0x82, 0xd1, 0x18, - 0x57, 0x00, 0x6a, 0xc6, 0x57, 0xfa, 0x21, 0x2f, 0x21, 0xc5, 0x08, 0x45, 0x09, 0x61, 0x9c, 0xc4, - 0x11, 0x82, 0x0a, 0xaf, 0x43, 0xba, 0x79, 0x34, 0x86, 0x80, 0xe7, 0x1c, 0x8f, 0xca, 0x38, 0x9a, - 0xa2, 0x88, 0xba, 0x51, 0x29, 0xfc, 0x66, 0xd2, 0xb3, 0x4b, 0x11, 0xee, 0x46, 0x50, 0x8d, 0x4b, - 0xe1, 0x90, 0x4c, 0x40, 0x29, 0x02, 0x45, 0xd4, 0xd1, 0x66, 0x58, 0xb1, 0x2c, 0x9a, 0xe9, 0x76, - 0xa5, 0x45, 0x09, 0xc2, 0xcd, 0x70, 0x9b, 0xa1, 0x3b, 0x62, 0x4f, 0x84, 0x6d, 0x72, 0x2a, 0xce, - 0xf9, 0x3f, 0x91, 0x61, 0xce, 0xf0, 0x89, 0x0c, 0xc7, 0xe2, 0x39, 0xab, 0x9c, 0x10, 0xdd, 0xa1, - 0x9c, 0xb9, 0xc0, 0x73, 0x36, 0x4c, 0x9d, 0x3a, 0x67, 0xc3, 0x30, 0xfe, 0x0c, 0xe6, 0x86, 0x31, - 0xda, 0x9e, 0x28, 0x54, 0x61, 0xd0, 0x2b, 0x33, 0xa0, 0x6e, 0x26, 0x67, 0x4e, 0xeb, 0x71, 0x1d, - 0x72, 0xc3, 0xd0, 0x96, 0xc3, 0x6e, 0x77, 0x9e, 0x11, 0x2f, 0xcf, 0x20, 0xf2, 0x44, 0x0e, 0x9c, - 0x52, 0x2f, 0xdc, 0x87, 0x7f, 0xca, 0xbb, 0x91, 0xd8, 0x7e, 0x53, 0xbc, 0xfd, 0x5e, 0x14, 0xdb, - 0x2f, 0x12, 0xdb, 0x77, 0x15, 0xfe, 0x21, 0xed, 0x3d, 0x41, 0x90, 0xb0, 0x08, 0xf9, 0x10, 0xb2, - 0x13, 0x2d, 0x47, 0x14, 0xc7, 0x24, 0xe2, 0x98, 0x57, 0x3c, 0xde, 0x5a, 0x92, 0xb7, 0xc7, 0x84, - 0x38, 0x22, 0x8a, 0xef, 0x42, 0x6e, 0xb2, 0xdf, 0x88, 0xea, 0xac, 0x44, 0x9d, 0x95, 0xa8, 0xe5, - 0x73, 0x47, 0x25, 0xea, 0xe8, 0x94, 0xba, 0xe9, 0x3b, 0xf7, 0xbc, 0x44, 0x3d, 0x2f, 0x51, 0xcb, - 0xe7, 0xc6, 0x12, 0x35, 0x16, 0xd5, 0x1f, 0xc1, 0xdc, 0x54, 0x8b, 0x11, 0xe5, 0x09, 0x89, 0x3c, - 0x21, 0xca, 0x3f, 0x06, 0x65, 0xba, 0xb9, 0x88, 0xfa, 0x39, 0x89, 0x7e, 0x4e, 0x36, 0xbd, 0xbc, - 0xfa, 0xb8, 0x44, 0x1e, 0x97, 0x4e, 0x2f, 0xd7, 0x2b, 0x12, 0xbd, 0x22, 0xea, 0x57, 0x21, 0x23, - 0x76, 0x13, 0x51, 0x9b, 0x94, 0x68, 0x93, 0xd3, 0xeb, 0x3e, 0xd1, 0x4c, 0x82, 0x76, 0x7a, 0xca, - 0xe7, 0xb8, 0x4c, 0xb4, 0x90, 0x20, 0x48, 0x46, 0x84, 0x3c, 0x86, 0x8b, 0xb2, 0x96, 0x21, 0x61, - 0x94, 0x44, 0x46, 0x8e, 0x7a, 0xc4, 0xb1, 0xd9, 0xa3, 0xaa, 0x09, 0xe3, 0xb4, 0xf0, 0x04, 0x2e, - 0x48, 0x1a, 0x87, 0x04, 0x5b, 0x9e, 0x74, 0x63, 0x79, 0x01, 0xcb, 0x9a, 0x80, 0x61, 0xb6, 0xb7, - 0x2d, 0xc3, 0x24, 0xa2, 0x2b, 0xfb, 0xe1, 0x02, 0xe4, 0xdc, 0xf6, 0xf4, 0xc8, 0x3e, 0xd4, 0x6d, - 0xfd, 0x10, 0x7f, 0xe9, 0xef, 0x9d, 0x6e, 0x78, 0x9b, 0x9a, 0xab, 0x7a, 0x0f, 0x0b, 0xf5, 0xc4, - 0xd7, 0x42, 0x2d, 0x07, 0xe3, 0x83, 0x9c, 0x54, 0xd5, 0xe3, 0xa4, 0xae, 0xf8, 0x43, 0xfd, 0x0c, - 0x55, 0xd5, 0x63, 0xa8, 0x66, 0x43, 0xa4, 0xbe, 0xaa, 0xe6, 0xf5, 0x55, 0x25, 0x7f, 0x8a, 0xbf, - 0xbd, 0xaa, 0x79, 0xed, 0x55, 0x00, 0x47, 0xee, 0xb2, 0x6a, 0x5e, 0x97, 0x35, 0x83, 0xe3, 0x6f, - 0xb6, 0x6a, 0x5e, 0xb3, 0x15, 0xc0, 0x91, 0x7b, 0xae, 0x0d, 0x89, 0xe7, 0xba, 0xea, 0x0f, 0x9a, - 0x65, 0xbd, 0x36, 0x65, 0xd6, 0xeb, 0xda, 0x8c, 0xa2, 0x66, 0x3a, 0xb0, 0x0d, 0x89, 0x03, 0x0b, - 0x2a, 0xcc, 0xc7, 0x88, 0x6d, 0xca, 0x8c, 0x58, 0x60, 0x61, 0x7e, 0x7e, 0xec, 0x93, 0x69, 0x3f, - 0x76, 0xd9, 0x9f, 0x24, 0xb7, 0x65, 0x35, 0xaf, 0x2d, 0x2b, 0x05, 0x9d, 0x39, 0x99, 0x3b, 0x7b, - 0xe2, 0xeb, 0xce, 0xfe, 0xc4, 0x11, 0x0e, 0x32, 0x69, 0x9f, 0xfb, 0x99, 0xb4, 0x72, 0x30, 0x7b, - 0xb6, 0x57, 0xdb, 0xf5, 0xf1, 0x6a, 0xd7, 0x83, 0xc1, 0xe7, 0x96, 0xed, 0xdc, 0xb2, 0x9d, 0x5b, - 0xb6, 0x73, 0xcb, 0xf6, 0xf7, 0x5b, 0xb6, 0xd5, 0xe8, 0xd7, 0xdf, 0x2e, 0xa2, 0xe2, 0x2f, 0x11, - 0xc8, 0xb9, 0x5f, 0x06, 0xf7, 0x0c, 0xd2, 0xa1, 0xed, 0x6d, 0x0b, 0x32, 0xa6, 0xd6, 0xd3, 0xf7, - 0x7b, 0xda, 0xf1, 0xb1, 0x61, 0xb6, 0x5d, 0xcf, 0x76, 0xcd, 0xfb, 0x29, 0xd1, 0x15, 0x94, 0xeb, - 0x5a, 0x8f, 0xf6, 0x2a, 0x9a, 0xec, 0xbe, 0x6e, 0xcc, 0x71, 0x04, 0x7f, 0x0a, 0xe9, 0x9e, 0xd3, - 0x1e, 0xd1, 0xc2, 0x9e, 0x17, 0xe1, 0x14, 0x8d, 0xdf, 0xe9, 0x18, 0x06, 0xbd, 0x51, 0x80, 0x96, - 0xd6, 0x3a, 0x21, 0xe3, 0xd2, 0x22, 0x41, 0xa5, 0xd1, 0x67, 0x3a, 0x59, 0x5a, 0x6b, 0x1c, 0xa1, - 0xdb, 0x76, 0xba, 0xf6, 0xa0, 0x4e, 0x37, 0xb1, 0x79, 0xf6, 0x60, 0x6e, 0xaa, 0x5a, 0xc9, 0x99, - 0xff, 0x0b, 0xcf, 0x86, 0x16, 0x36, 0x5d, 0x79, 0xd0, 0x99, 0x10, 0x37, 0x64, 0xf1, 0xdf, 0x90, - 0x9d, 0x60, 0xe3, 0x0c, 0xa0, 0x23, 0x26, 0x45, 0x0d, 0x74, 0x54, 0xfc, 0x06, 0x41, 0x9a, 0xf6, - 0xc9, 0xff, 0xae, 0xdc, 0xd9, 0xd6, 0x0c, 0x1b, 0x3f, 0x80, 0x68, 0x57, 0x3f, 0x22, 0x2c, 0x21, - 0x53, 0xb9, 0x75, 0xfa, 0x6a, 0x31, 0xf4, 0xdb, 0xab, 0xc5, 0xff, 0x04, 0xfc, 0x97, 0xa0, 0xef, - 0x10, 0xab, 0x57, 0x76, 0x39, 0x0d, 0x46, 0xc0, 0x35, 0x88, 0xd9, 0x46, 0xbb, 0x43, 0x78, 0x49, - 0x95, 0x1b, 0xef, 0x8d, 0xe1, 0xf2, 0xe2, 0x29, 0x82, 0xf9, 0xaa, 0x65, 0x12, 0xcd, 0x30, 0x1d, - 0xfe, 0xb5, 0x96, 0xbe, 0x21, 0x5f, 0x20, 0x48, 0x8d, 0x46, 0xb8, 0x05, 0xb9, 0xd1, 0x80, 0x7d, - 0x04, 0x77, 0x77, 0xea, 0xaa, 0xb0, 0xc2, 0x1e, 0x46, 0x59, 0x72, 0xc5, 0xc4, 0xee, 0x3b, 0x79, - 0x32, 0xb8, 0xb0, 0x06, 0x17, 0x24, 0x69, 0xef, 0xf3, 0x42, 0x2e, 0x2e, 0x41, 0xaa, 0x6e, 0x91, - 0x6d, 0xed, 0xe0, 0x29, 0xfb, 0xe4, 0x3c, 0xfe, 0x9f, 0x45, 0x25, 0xac, 0x84, 0x98, 0xf8, 0xda, - 0x12, 0x24, 0xdc, 0xd3, 0x8f, 0xe3, 0x10, 0xde, 0x5a, 0x53, 0x42, 0xec, 0xb7, 0xa2, 0x20, 0xf6, - 0x5b, 0x55, 0xc2, 0x95, 0xcd, 0xd3, 0x33, 0x35, 0xf4, 0xf2, 0x4c, 0x0d, 0xfd, 0x7a, 0xa6, 0x86, - 0x5e, 0x9f, 0xa9, 0xe8, 0xcd, 0x99, 0x8a, 0xde, 0x9e, 0xa9, 0xe8, 0xdd, 0x99, 0x8a, 0x9e, 0x0f, - 0x54, 0xf4, 0xdd, 0x40, 0x45, 0xdf, 0x0f, 0x54, 0xf4, 0xe3, 0x40, 0x45, 0x3f, 0x0d, 0x54, 0x74, - 0x3a, 0x50, 0xd1, 0xcb, 0x81, 0x1a, 0x7a, 0x3d, 0x50, 0xd1, 0x9b, 0x81, 0x1a, 0x7a, 0x3b, 0x50, - 0xd1, 0xbb, 0x81, 0x1a, 0x7a, 0xfe, 0xbb, 0x1a, 0x6a, 0xc5, 0xf9, 0xf2, 0xfc, 0x11, 0x00, 0x00, - 0xff, 0xff, 0x63, 0x09, 0xf8, 0x62, 0x65, 0x1a, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/theproto3/combos/neither/theproto3.pb.go b/vendor/github.com/gogo/protobuf/test/theproto3/combos/neither/theproto3.pb.go index dedc64836..d340da09f 100644 --- a/vendor/github.com/gogo/protobuf/test/theproto3/combos/neither/theproto3.pb.go +++ b/vendor/github.com/gogo/protobuf/test/theproto3/combos/neither/theproto3.pb.go @@ -3,25 +3,23 @@ package theproto3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import both "github.com/gogo/protobuf/test/combos/both" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + both "github.com/gogo/protobuf/test/combos/both" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -47,6 +45,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -54,7 +53,7 @@ var MapEnum_value = map[string]int32{ } func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{0} + return fileDescriptor_15030c5e29146445, []int{0} } type Message_Humour int32 @@ -72,6 +71,7 @@ var Message_Humour_name = map[int32]string{ 2: "SLAPSTICK", 3: "BILL_BAILEY", } + var Message_Humour_value = map[string]int32{ "UNKNOWN": 0, "PUNS": 1, @@ -80,7 +80,7 @@ var Message_Humour_value = map[string]int32{ } func (Message_Humour) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{0, 0} + return fileDescriptor_15030c5e29146445, []int{0, 0} } type Message struct { @@ -104,7 +104,7 @@ type Message struct { func (m *Message) Reset() { *m = Message{} } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{0} + return fileDescriptor_15030c5e29146445, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Message.Unmarshal(m, b) @@ -112,8 +112,8 @@ func (m *Message) XXX_Unmarshal(b []byte) error { func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Message.Marshal(b, m, deterministic) } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return xxx_messageInfo_Message.Size(m) @@ -134,7 +134,7 @@ type Nested struct { func (m *Nested) Reset() { *m = Nested{} } func (*Nested) ProtoMessage() {} func (*Nested) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{1} + return fileDescriptor_15030c5e29146445, []int{1} } func (m *Nested) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Nested.Unmarshal(m, b) @@ -142,8 +142,8 @@ func (m *Nested) XXX_Unmarshal(b []byte) error { func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Nested.Marshal(b, m, deterministic) } -func (dst *Nested) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nested.Merge(dst, src) +func (m *Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nested.Merge(m, src) } func (m *Nested) XXX_Size() int { return xxx_messageInfo_Nested.Size(m) @@ -180,7 +180,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{2} + return fileDescriptor_15030c5e29146445, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMaps.Unmarshal(m, b) @@ -188,8 +188,8 @@ func (m *AllMaps) XXX_Unmarshal(b []byte) error { func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMaps.Marshal(b, m, deterministic) } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return xxx_messageInfo_AllMaps.Size(m) @@ -226,7 +226,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{3} + return fileDescriptor_15030c5e29146445, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllMapsOrdered.Unmarshal(m, b) @@ -234,8 +234,8 @@ func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMapsOrdered.Marshal(b, m, deterministic) } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return xxx_messageInfo_AllMapsOrdered.Size(m) @@ -258,7 +258,7 @@ type MessageWithMap struct { func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } func (*MessageWithMap) ProtoMessage() {} func (*MessageWithMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{4} + return fileDescriptor_15030c5e29146445, []int{4} } func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MessageWithMap.Unmarshal(m, b) @@ -266,8 +266,8 @@ func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MessageWithMap.Marshal(b, m, deterministic) } -func (dst *MessageWithMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageWithMap.Merge(dst, src) +func (m *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(m, src) } func (m *MessageWithMap) XXX_Size() int { return xxx_messageInfo_MessageWithMap.Size(m) @@ -288,7 +288,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{5} + return fileDescriptor_15030c5e29146445, []int{5} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FloatingPoint.Unmarshal(m, b) @@ -296,8 +296,8 @@ func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FloatingPoint.Marshal(b, m, deterministic) } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return xxx_messageInfo_FloatingPoint.Size(m) @@ -319,7 +319,7 @@ type Uint128Pair struct { func (m *Uint128Pair) Reset() { *m = Uint128Pair{} } func (*Uint128Pair) ProtoMessage() {} func (*Uint128Pair) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{6} + return fileDescriptor_15030c5e29146445, []int{6} } func (m *Uint128Pair) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Uint128Pair.Unmarshal(m, b) @@ -327,8 +327,8 @@ func (m *Uint128Pair) XXX_Unmarshal(b []byte) error { func (m *Uint128Pair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Uint128Pair.Marshal(b, m, deterministic) } -func (dst *Uint128Pair) XXX_Merge(src proto.Message) { - xxx_messageInfo_Uint128Pair.Merge(dst, src) +func (m *Uint128Pair) XXX_Merge(src proto.Message) { + xxx_messageInfo_Uint128Pair.Merge(m, src) } func (m *Uint128Pair) XXX_Size() int { return xxx_messageInfo_Uint128Pair.Size(m) @@ -348,7 +348,7 @@ type ContainsNestedMap struct { func (m *ContainsNestedMap) Reset() { *m = ContainsNestedMap{} } func (*ContainsNestedMap) ProtoMessage() {} func (*ContainsNestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{7} + return fileDescriptor_15030c5e29146445, []int{7} } func (m *ContainsNestedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ContainsNestedMap.Unmarshal(m, b) @@ -356,8 +356,8 @@ func (m *ContainsNestedMap) XXX_Unmarshal(b []byte) error { func (m *ContainsNestedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ContainsNestedMap.Marshal(b, m, deterministic) } -func (dst *ContainsNestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap.Merge(dst, src) +func (m *ContainsNestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap.Merge(m, src) } func (m *ContainsNestedMap) XXX_Size() int { return xxx_messageInfo_ContainsNestedMap.Size(m) @@ -378,7 +378,7 @@ type ContainsNestedMap_NestedMap struct { func (m *ContainsNestedMap_NestedMap) Reset() { *m = ContainsNestedMap_NestedMap{} } func (*ContainsNestedMap_NestedMap) ProtoMessage() {} func (*ContainsNestedMap_NestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{7, 0} + return fileDescriptor_15030c5e29146445, []int{7, 0} } func (m *ContainsNestedMap_NestedMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ContainsNestedMap_NestedMap.Unmarshal(m, b) @@ -386,8 +386,8 @@ func (m *ContainsNestedMap_NestedMap) XXX_Unmarshal(b []byte) error { func (m *ContainsNestedMap_NestedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ContainsNestedMap_NestedMap.Marshal(b, m, deterministic) } -func (dst *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(dst, src) +func (m *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(m, src) } func (m *ContainsNestedMap_NestedMap) XXX_Size() int { return xxx_messageInfo_ContainsNestedMap_NestedMap.Size(m) @@ -408,7 +408,7 @@ type NotPacked struct { func (m *NotPacked) Reset() { *m = NotPacked{} } func (*NotPacked) ProtoMessage() {} func (*NotPacked) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_637a0f64ba0c048e, []int{8} + return fileDescriptor_15030c5e29146445, []int{8} } func (m *NotPacked) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NotPacked.Unmarshal(m, b) @@ -416,8 +416,8 @@ func (m *NotPacked) XXX_Unmarshal(b []byte) error { func (m *NotPacked) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NotPacked.Marshal(b, m, deterministic) } -func (dst *NotPacked) XXX_Merge(src proto.Message) { - xxx_messageInfo_NotPacked.Merge(dst, src) +func (m *NotPacked) XXX_Merge(src proto.Message) { + xxx_messageInfo_NotPacked.Merge(m, src) } func (m *NotPacked) XXX_Size() int { return xxx_messageInfo_NotPacked.Size(m) @@ -429,6 +429,8 @@ func (m *NotPacked) XXX_DiscardUnknown() { var xxx_messageInfo_NotPacked proto.InternalMessageInfo func init() { + proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) + proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) proto.RegisterType((*Message)(nil), "theproto3.Message") proto.RegisterMapType((map[int64]*both.NinOptEnum)(nil), "theproto3.Message.Proto2ValueEntry") proto.RegisterMapType((map[int64]*Nested)(nil), "theproto3.Message.TerrainEntry") @@ -479,9 +481,115 @@ func init() { proto.RegisterType((*ContainsNestedMap_NestedMap)(nil), "theproto3.ContainsNestedMap.NestedMap") proto.RegisterMapType((map[string]float64)(nil), "theproto3.ContainsNestedMap.NestedMap.NestedMapFieldEntry") proto.RegisterType((*NotPacked)(nil), "theproto3.NotPacked") - proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) - proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) } + +func init() { proto.RegisterFile("combos/neither/theproto3.proto", fileDescriptor_15030c5e29146445) } + +var fileDescriptor_15030c5e29146445 = []byte{ + // 1609 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, + 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0xc0, 0xd2, 0xb2, 0x02, + 0x24, 0x4a, 0xb0, 0x91, 0xb3, 0x4e, 0xb2, 0x9b, 0xba, 0x69, 0x53, 0x4b, 0xb1, 0x10, 0x37, 0xb6, + 0xe2, 0x4a, 0x76, 0xdc, 0x22, 0x40, 0x0d, 0xca, 0xa6, 0x25, 0x22, 0x12, 0x69, 0x88, 0xa3, 0xa0, + 0xbe, 0xe5, 0xcf, 0xe8, 0xad, 0xe8, 0xad, 0xc7, 0x22, 0x87, 0xa2, 0xc7, 0xf6, 0xe6, 0x63, 0x80, + 0x5e, 0x8a, 0x1e, 0x82, 0x58, 0xbd, 0xe4, 0x98, 0x63, 0x8e, 0xc5, 0xcc, 0x50, 0xd2, 0x88, 0x1c, + 0x8a, 0x4d, 0x2f, 0xbd, 0xf8, 0x24, 0xce, 0xf3, 0xfb, 0x7e, 0xe6, 0x71, 0x38, 0xf3, 0xf8, 0x05, + 0x0d, 0xea, 0x81, 0xd5, 0x6b, 0x59, 0xf6, 0xb2, 0xa9, 0x1b, 0xa4, 0xa3, 0xf7, 0x97, 0x49, 0x47, + 0x3f, 0xee, 0x5b, 0xc4, 0xba, 0x59, 0x66, 0x3f, 0x38, 0x35, 0x0e, 0x2c, 0x5c, 0x6f, 0x1b, 0xa4, + 0x33, 0x68, 0x95, 0x0f, 0xac, 0xde, 0x72, 0xdb, 0x6a, 0x5b, 0xcb, 0x2c, 0xde, 0x1a, 0x1c, 0xb1, + 0x11, 0x1b, 0xb0, 0x2b, 0xae, 0x5c, 0xf8, 0xbf, 0x6f, 0x3a, 0xd1, 0x6d, 0xb2, 0xec, 0xcc, 0xdb, + 0xb2, 0x48, 0x87, 0x4e, 0x4a, 0x63, 0x5c, 0x58, 0xfc, 0x39, 0x06, 0x89, 0x2d, 0xdd, 0xb6, 0xb5, + 0xb6, 0x8e, 0x31, 0x44, 0x4d, 0xad, 0xa7, 0xe7, 0x51, 0x01, 0x95, 0x52, 0x0d, 0x76, 0x8d, 0x6f, + 0x43, 0xb2, 0x63, 0x74, 0xb5, 0xbe, 0x41, 0x4e, 0xf2, 0xe1, 0x02, 0x2a, 0xe5, 0x56, 0xfe, 0x55, + 0x9e, 0x94, 0xed, 0x28, 0xcb, 0x0f, 0x06, 0x3d, 0x6b, 0xd0, 0x6f, 0x8c, 0x53, 0x71, 0x01, 0x32, + 0x1d, 0xdd, 0x68, 0x77, 0xc8, 0xbe, 0x61, 0xee, 0x1f, 0xf4, 0xf2, 0x91, 0x02, 0x2a, 0x65, 0x1b, + 0xc0, 0x63, 0x1b, 0x66, 0xb5, 0x47, 0x27, 0x3b, 0xd4, 0x88, 0x96, 0x8f, 0x16, 0x50, 0x29, 0xd3, + 0x60, 0xd7, 0x78, 0x09, 0x32, 0x7d, 0xdd, 0x1e, 0x74, 0xc9, 0xfe, 0x81, 0x35, 0x30, 0x49, 0x3e, + 0x51, 0x40, 0xa5, 0x48, 0x23, 0xcd, 0x63, 0x55, 0x1a, 0xc2, 0x97, 0x20, 0x4b, 0xfa, 0x03, 0x7d, + 0xdf, 0x3e, 0xb0, 0x88, 0xdd, 0xd3, 0xcc, 0x7c, 0xb2, 0x80, 0x4a, 0xc9, 0x46, 0x86, 0x06, 0x9b, + 0x4e, 0x0c, 0x5f, 0x84, 0x98, 0x7d, 0x60, 0xf5, 0xf5, 0x7c, 0xaa, 0x80, 0x4a, 0xe1, 0x06, 0x1f, + 0x60, 0x05, 0x22, 0x4f, 0xf5, 0x93, 0x7c, 0xac, 0x10, 0x29, 0x45, 0x1b, 0xf4, 0x12, 0x5f, 0x85, + 0xb8, 0xa9, 0xdb, 0x44, 0x3f, 0xcc, 0xc7, 0x0b, 0xa8, 0x94, 0x5e, 0x99, 0x17, 0x6e, 0xad, 0xce, + 0xfe, 0xd0, 0x70, 0x12, 0xf0, 0x07, 0x90, 0x20, 0x7a, 0xbf, 0xaf, 0x19, 0x66, 0x1e, 0x0a, 0x91, + 0x52, 0x7a, 0x65, 0x51, 0xb2, 0x0c, 0x3b, 0x3c, 0x63, 0xdd, 0x24, 0xfd, 0x93, 0xc6, 0x28, 0x1f, + 0xdf, 0x86, 0x0c, 0xcb, 0x5b, 0xd9, 0x3f, 0x32, 0xf4, 0xee, 0x61, 0x3e, 0xcd, 0xe6, 0xc2, 0x65, + 0xf6, 0x14, 0xea, 0x86, 0xf9, 0xe8, 0x98, 0xd4, 0x35, 0x62, 0x3c, 0xd3, 0x1b, 0x69, 0x9e, 0x57, + 0xa3, 0x69, 0xb8, 0x36, 0x96, 0x3d, 0xd3, 0xba, 0x03, 0x3d, 0x9f, 0x65, 0xd3, 0x5e, 0x92, 0x4c, + 0xbb, 0xcd, 0xd2, 0x1e, 0xd3, 0x2c, 0x3e, 0xb5, 0xc3, 0x61, 0x91, 0x85, 0x2d, 0xc8, 0x88, 0x75, + 0x8d, 0x96, 0x01, 0xb1, 0xb5, 0x65, 0xcb, 0x70, 0x05, 0x62, 0x7c, 0x8a, 0xb0, 0xdf, 0x2a, 0xf0, + 0xbf, 0xaf, 0x86, 0xef, 0xa0, 0x85, 0x6d, 0x50, 0xdc, 0xf3, 0x49, 0x90, 0x97, 0xa7, 0x91, 0x8a, + 0x78, 0xb3, 0xeb, 0xe6, 0xa0, 0x27, 0x10, 0x8b, 0xf7, 0x20, 0xce, 0xf7, 0x0f, 0x4e, 0x43, 0x62, + 0xb7, 0xfe, 0xb0, 0xfe, 0x68, 0xaf, 0xae, 0x84, 0x70, 0x12, 0xa2, 0xdb, 0xbb, 0xf5, 0xa6, 0x82, + 0x70, 0x16, 0x52, 0xcd, 0xcd, 0xb5, 0xed, 0xe6, 0xce, 0x46, 0xf5, 0xa1, 0x12, 0xc6, 0x73, 0x90, + 0xae, 0x6c, 0x6c, 0x6e, 0xee, 0x57, 0xd6, 0x36, 0x36, 0xd7, 0xbf, 0x50, 0x22, 0x45, 0x15, 0xe2, + 0xbc, 0x4e, 0xfa, 0xe0, 0x5b, 0x03, 0xd3, 0x3c, 0x71, 0xb6, 0x30, 0x1f, 0x14, 0x5f, 0x60, 0x48, + 0xac, 0x75, 0xbb, 0x5b, 0xda, 0xb1, 0x8d, 0xf7, 0x60, 0xbe, 0x49, 0xfa, 0x86, 0xd9, 0xde, 0xb1, + 0xee, 0x5b, 0x83, 0x56, 0x57, 0xdf, 0xd2, 0x8e, 0xf3, 0x88, 0x2d, 0xed, 0x55, 0xe1, 0xbe, 0x9d, + 0xf4, 0xb2, 0x27, 0x97, 0x2f, 0xb0, 0x97, 0x81, 0x77, 0x40, 0x19, 0x05, 0x6b, 0x5d, 0x4b, 0x23, + 0x94, 0x1b, 0x66, 0xdc, 0xd2, 0x0c, 0xee, 0x28, 0x95, 0x63, 0x3d, 0x04, 0x7c, 0x17, 0x92, 0x1b, + 0x26, 0xb9, 0xb9, 0x42, 0x69, 0x11, 0x46, 0x2b, 0x48, 0x68, 0xa3, 0x14, 0x4e, 0x19, 0x2b, 0x1c, + 0xf5, 0xff, 0x6e, 0x51, 0x75, 0x74, 0x96, 0x9a, 0xa5, 0x4c, 0xd4, 0x6c, 0x88, 0xef, 0x41, 0x6a, + 0xd7, 0x18, 0x4d, 0x1e, 0x63, 0xf2, 0x25, 0x89, 0x7c, 0x9c, 0xc3, 0xf5, 0x13, 0xcd, 0x08, 0xc0, + 0xe7, 0x8f, 0xcf, 0x04, 0x08, 0x05, 0x4c, 0x34, 0x14, 0xd0, 0x1c, 0x57, 0x90, 0xf0, 0x05, 0x34, + 0x5d, 0x15, 0x34, 0xc5, 0x0a, 0x9a, 0xe3, 0x0a, 0x92, 0x33, 0x01, 0x62, 0x05, 0xe3, 0x31, 0xae, + 0x00, 0xd4, 0x8c, 0xaf, 0xf4, 0x43, 0x5e, 0x42, 0x8a, 0x11, 0x8a, 0x12, 0xc2, 0x24, 0x89, 0x23, + 0x04, 0x15, 0x5e, 0x87, 0x74, 0xf3, 0x68, 0x02, 0x01, 0xcf, 0x39, 0x1e, 0x97, 0x71, 0xe4, 0xa2, + 0x88, 0xba, 0x71, 0x29, 0xfc, 0x66, 0xd2, 0xb3, 0x4b, 0x11, 0xee, 0x46, 0x50, 0x4d, 0x4a, 0xe1, + 0x90, 0x4c, 0x40, 0x29, 0x02, 0x45, 0xd4, 0xd1, 0x66, 0x58, 0xb1, 0x2c, 0x9a, 0xe9, 0x74, 0xa5, + 0x45, 0x09, 0xc2, 0xc9, 0x70, 0x9a, 0xa1, 0x33, 0x62, 0x4f, 0x84, 0x6d, 0x72, 0x2a, 0xce, 0xf9, + 0x3f, 0x91, 0x51, 0xce, 0xe8, 0x89, 0x8c, 0xc6, 0xe2, 0x39, 0xab, 0x9c, 0x10, 0xdd, 0xa6, 0x9c, + 0xb9, 0xc0, 0x73, 0x36, 0x4a, 0x75, 0x9d, 0xb3, 0x51, 0x18, 0x7f, 0x06, 0x73, 0xa3, 0x18, 0x6d, + 0x4f, 0x14, 0xaa, 0x30, 0xe8, 0x95, 0x19, 0x50, 0x27, 0x93, 0x33, 0xdd, 0x7a, 0x5c, 0x87, 0xdc, + 0x28, 0xb4, 0x65, 0xb3, 0xdb, 0x9d, 0x67, 0xc4, 0xcb, 0x33, 0x88, 0x3c, 0x91, 0x03, 0x5d, 0xea, + 0x85, 0xfb, 0xf0, 0x4f, 0x79, 0x37, 0x12, 0xdb, 0x6f, 0x8a, 0xb7, 0xdf, 0x8b, 0x62, 0xfb, 0x45, + 0x62, 0xfb, 0xae, 0xc2, 0x3f, 0xa4, 0xbd, 0x27, 0x08, 0x12, 0x16, 0x21, 0x1f, 0x42, 0x76, 0xaa, + 0xe5, 0x88, 0xe2, 0x98, 0x44, 0x1c, 0xf3, 0x8a, 0x27, 0x5b, 0x4b, 0xf2, 0xf6, 0x98, 0x12, 0x47, + 0x44, 0xf1, 0x5d, 0xc8, 0x4d, 0xf7, 0x1b, 0x51, 0x9d, 0x95, 0xa8, 0xb3, 0x12, 0xb5, 0x7c, 0xee, + 0xa8, 0x44, 0x1d, 0x75, 0xa9, 0x9b, 0xbe, 0x73, 0xcf, 0x4b, 0xd4, 0xf3, 0x12, 0xb5, 0x7c, 0x6e, + 0x2c, 0x51, 0x63, 0x51, 0xfd, 0x11, 0xcc, 0xb9, 0x5a, 0x8c, 0x28, 0x4f, 0x48, 0xe4, 0x09, 0x51, + 0xfe, 0x31, 0x28, 0xee, 0xe6, 0x22, 0xea, 0xe7, 0x24, 0xfa, 0x39, 0xd9, 0xf4, 0xf2, 0xea, 0xe3, + 0x12, 0x79, 0x5c, 0x3a, 0xbd, 0x5c, 0xaf, 0x48, 0xf4, 0x8a, 0xa8, 0x5f, 0x85, 0x8c, 0xd8, 0x4d, + 0x44, 0x6d, 0x52, 0xa2, 0x4d, 0xba, 0xd7, 0x7d, 0xaa, 0x99, 0x04, 0xed, 0xf4, 0x94, 0xcf, 0x71, + 0x99, 0x6a, 0x21, 0x41, 0x90, 0x8c, 0x08, 0x79, 0x0c, 0x17, 0x65, 0x2d, 0x43, 0xc2, 0x28, 0x89, + 0x8c, 0x1c, 0xf5, 0x88, 0x13, 0xb3, 0x47, 0x55, 0x53, 0xc6, 0x69, 0xe1, 0x09, 0x5c, 0x90, 0x34, + 0x0e, 0x09, 0xb6, 0x3c, 0xed, 0xc6, 0xf2, 0x02, 0x96, 0x35, 0x01, 0xc3, 0x6c, 0x6f, 0x5b, 0x86, + 0x49, 0x44, 0x57, 0xf6, 0xc3, 0x05, 0xc8, 0x39, 0xed, 0xe9, 0x51, 0xff, 0x50, 0xef, 0xeb, 0x87, + 0xf8, 0x4b, 0x7f, 0xef, 0x74, 0xc3, 0xdb, 0xd4, 0x1c, 0xd5, 0x7b, 0x58, 0xa8, 0x27, 0xbe, 0x16, + 0x6a, 0x39, 0x18, 0x1f, 0xe4, 0xa4, 0xaa, 0x1e, 0x27, 0x75, 0xc5, 0x1f, 0xea, 0x67, 0xa8, 0xaa, + 0x1e, 0x43, 0x35, 0x1b, 0x22, 0xf5, 0x55, 0x35, 0xaf, 0xaf, 0x2a, 0xf9, 0x53, 0xfc, 0xed, 0x55, + 0xcd, 0x6b, 0xaf, 0x02, 0x38, 0x72, 0x97, 0x55, 0xf3, 0xba, 0xac, 0x19, 0x1c, 0x7f, 0xb3, 0x55, + 0xf3, 0x9a, 0xad, 0x00, 0x8e, 0xdc, 0x73, 0x6d, 0x48, 0x3c, 0xd7, 0x55, 0x7f, 0xd0, 0x2c, 0xeb, + 0xb5, 0x29, 0xb3, 0x5e, 0xd7, 0x66, 0x14, 0x35, 0xd3, 0x81, 0x6d, 0x48, 0x1c, 0x58, 0x50, 0x61, + 0x3e, 0x46, 0x6c, 0x53, 0x66, 0xc4, 0x02, 0x0b, 0xf3, 0xf3, 0x63, 0x9f, 0xb8, 0xfd, 0xd8, 0x65, + 0x7f, 0x92, 0xdc, 0x96, 0xd5, 0xbc, 0xb6, 0xac, 0x14, 0x74, 0xe6, 0x64, 0xee, 0xec, 0x89, 0xaf, + 0x3b, 0xfb, 0x13, 0x47, 0x38, 0xc8, 0xa4, 0x7d, 0xee, 0x67, 0xd2, 0xca, 0xc1, 0xec, 0xd9, 0x5e, + 0x6d, 0xd7, 0xc7, 0xab, 0x5d, 0x0f, 0x06, 0x9f, 0x5b, 0xb6, 0x73, 0xcb, 0x76, 0x6e, 0xd9, 0xce, + 0x2d, 0xdb, 0xdf, 0x6f, 0xd9, 0x56, 0xa3, 0x5f, 0x7f, 0xbb, 0x88, 0x8a, 0xbf, 0x44, 0x20, 0xe7, + 0x7c, 0x19, 0xdc, 0x33, 0x48, 0x87, 0xb6, 0xb7, 0x2d, 0xc8, 0x98, 0x5a, 0x4f, 0xdf, 0xef, 0x69, + 0xc7, 0xc7, 0x86, 0xd9, 0x76, 0x3c, 0xdb, 0x35, 0xef, 0xa7, 0x44, 0x47, 0x50, 0xae, 0x6b, 0x3d, + 0xda, 0xab, 0x68, 0xb2, 0xf3, 0xba, 0x31, 0x27, 0x11, 0xfc, 0x29, 0xa4, 0x7b, 0x76, 0x7b, 0x4c, + 0x0b, 0x7b, 0x5e, 0x84, 0x2e, 0x1a, 0xbf, 0xd3, 0x09, 0x0c, 0x7a, 0xe3, 0x00, 0x2d, 0xad, 0x75, + 0x42, 0x26, 0xa5, 0x45, 0x82, 0x4a, 0xa3, 0xcf, 0x74, 0xba, 0xb4, 0xd6, 0x24, 0x42, 0xb7, 0xad, + 0xbb, 0xf6, 0xa0, 0x4e, 0x37, 0xb5, 0x79, 0xf6, 0x60, 0xce, 0x55, 0xad, 0xe4, 0xcc, 0xff, 0x85, + 0x67, 0x43, 0x0b, 0x73, 0x57, 0x1e, 0x74, 0x26, 0xc4, 0x0d, 0x59, 0xfc, 0x37, 0x64, 0xa7, 0xd8, + 0x38, 0x03, 0xe8, 0x88, 0x49, 0x51, 0x03, 0x1d, 0x15, 0xbf, 0x41, 0x90, 0xa6, 0x7d, 0xf2, 0xbf, + 0x2b, 0x77, 0xb6, 0x35, 0xa3, 0x8f, 0x1f, 0x40, 0xb4, 0xab, 0x1f, 0x11, 0x96, 0x90, 0xa9, 0xdc, + 0x3a, 0x7d, 0xb5, 0x18, 0xfa, 0xed, 0xd5, 0xe2, 0x7f, 0x02, 0xfe, 0x4b, 0x30, 0xb0, 0x89, 0xd5, + 0x2b, 0x3b, 0x9c, 0x06, 0x23, 0xe0, 0x1a, 0xc4, 0xfa, 0x46, 0xbb, 0x43, 0x78, 0x49, 0x95, 0x1b, + 0xef, 0x8d, 0xe1, 0xf2, 0xe2, 0x29, 0x82, 0xf9, 0xaa, 0x65, 0x12, 0xcd, 0x30, 0x6d, 0xfe, 0xb5, + 0x96, 0xbe, 0x21, 0x5f, 0x20, 0x48, 0x8d, 0x47, 0xb8, 0x05, 0xb9, 0xf1, 0x80, 0x7d, 0x04, 0x77, + 0x76, 0xea, 0xaa, 0xb0, 0xc2, 0x1e, 0x46, 0x59, 0x72, 0xc5, 0xc4, 0xce, 0x3b, 0x79, 0x3a, 0xb8, + 0xb0, 0x06, 0x17, 0x24, 0x69, 0xef, 0xf3, 0x42, 0x2e, 0x2e, 0x41, 0xaa, 0x6e, 0x91, 0x6d, 0xed, + 0xe0, 0x29, 0xfb, 0xe4, 0x3c, 0xf9, 0xaf, 0x42, 0x25, 0xac, 0x84, 0x98, 0xf8, 0xda, 0x12, 0x24, + 0x9c, 0xd3, 0x8f, 0xe3, 0x10, 0xde, 0x5a, 0x53, 0x42, 0xec, 0xb7, 0xa2, 0x20, 0xf6, 0x5b, 0x55, + 0xc2, 0x95, 0xcd, 0xd3, 0x33, 0x35, 0xf4, 0xf2, 0x4c, 0x0d, 0xfd, 0x7a, 0xa6, 0x86, 0x5e, 0x9f, + 0xa9, 0xe8, 0xcd, 0x99, 0x8a, 0xde, 0x9e, 0xa9, 0xe8, 0xdd, 0x99, 0x8a, 0x9e, 0x0f, 0x55, 0xf4, + 0xdd, 0x50, 0x45, 0xdf, 0x0f, 0x55, 0xf4, 0xe3, 0x50, 0x45, 0x3f, 0x0d, 0x55, 0x74, 0x3a, 0x54, + 0x43, 0x2f, 0x87, 0x6a, 0xe8, 0xf5, 0x50, 0x45, 0x6f, 0x86, 0x6a, 0xe8, 0xed, 0x50, 0x45, 0xef, + 0x86, 0x6a, 0xe8, 0xf9, 0xef, 0x6a, 0xa8, 0x15, 0xe7, 0xcb, 0xf3, 0x47, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xe2, 0x1d, 0x88, 0x27, 0x63, 0x1a, 0x00, 0x00, +} + func (this *Message) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Theproto3Description() } @@ -515,512 +623,514 @@ func (this *NotPacked) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func Theproto3Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 8069 bytes of a gzipped FileDescriptorSet + // 8102 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x5b, 0x70, 0x23, 0xd7, - 0x99, 0x1e, 0x1b, 0x0d, 0x90, 0xe0, 0x0f, 0x90, 0x6c, 0x36, 0x67, 0x28, 0x88, 0x1a, 0x91, 0x33, - 0xd0, 0x68, 0x44, 0xd1, 0x16, 0x87, 0xc3, 0xe1, 0xdc, 0x30, 0x96, 0xb4, 0x00, 0x08, 0x8e, 0x38, + 0x99, 0x1e, 0x1b, 0x0d, 0x90, 0xc0, 0x0f, 0x90, 0x6c, 0x36, 0x47, 0x14, 0x44, 0x8d, 0xc8, 0x19, + 0x68, 0x34, 0xa2, 0x68, 0x89, 0x33, 0xc3, 0xe1, 0xdc, 0x30, 0x96, 0xb4, 0x00, 0x08, 0x8e, 0x38, 0x26, 0x41, 0xba, 0x49, 0x5a, 0x1a, 0x2b, 0x09, 0xaa, 0x09, 0x1c, 0x92, 0x90, 0x80, 0x6e, 0x2c, - 0xba, 0x21, 0x89, 0xaa, 0x54, 0x4a, 0x59, 0x27, 0x1b, 0x6f, 0x52, 0xb9, 0x6e, 0x52, 0xf1, 0x3a, - 0xbe, 0xc8, 0xbb, 0xb5, 0x6b, 0xef, 0xe6, 0xe6, 0xf5, 0x6e, 0x9c, 0x5d, 0x27, 0x95, 0x55, 0x1e, - 0x9c, 0x4c, 0x5e, 0x52, 0xda, 0xe4, 0x25, 0xe5, 0x4a, 0xa9, 0xac, 0x91, 0x53, 0x71, 0x12, 0x27, - 0xeb, 0x6c, 0x54, 0x15, 0x57, 0x79, 0x1f, 0xb6, 0xce, 0xad, 0xfb, 0xf4, 0x41, 0x03, 0x0d, 0xce, - 0x48, 0xf6, 0x3e, 0xe8, 0x65, 0x06, 0x7d, 0xce, 0xff, 0x7d, 0xfd, 0xf7, 0x7f, 0x3b, 0x7f, 0xf7, - 0x69, 0x80, 0xf0, 0x47, 0x37, 0xe0, 0xec, 0xa1, 0x6d, 0x1f, 0x36, 0xd0, 0xc5, 0x56, 0xdb, 0x76, - 0xed, 0xfd, 0xce, 0xc1, 0xc5, 0x1a, 0x72, 0xaa, 0xed, 0x7a, 0xcb, 0xb5, 0xdb, 0x8b, 0x64, 0x4c, - 0x9f, 0xa0, 0x12, 0x8b, 0x5c, 0x22, 0xbb, 0x09, 0x93, 0x6b, 0xf5, 0x06, 0x5a, 0xf5, 0x04, 0x77, - 0x90, 0xab, 0x5f, 0x87, 0xf8, 0x41, 0xbd, 0x81, 0x32, 0xca, 0x59, 0x75, 0x3e, 0xb5, 0x7c, 0x7e, - 0x51, 0x02, 0x2d, 0x06, 0x11, 0xdb, 0x78, 0xd8, 0x20, 0x88, 0xec, 0xf7, 0xe3, 0x30, 0x15, 0x32, - 0xab, 0xeb, 0x10, 0xb7, 0xcc, 0x26, 0x66, 0x54, 0xe6, 0x47, 0x0d, 0xf2, 0x59, 0xcf, 0xc0, 0x48, - 0xcb, 0xac, 0xbe, 0x6c, 0x1e, 0xa2, 0x4c, 0x8c, 0x0c, 0xf3, 0x43, 0x7d, 0x16, 0xa0, 0x86, 0x5a, - 0xc8, 0xaa, 0x21, 0xab, 0x7a, 0x9c, 0x51, 0xcf, 0xaa, 0xf3, 0xa3, 0x86, 0x30, 0xa2, 0x7f, 0x0c, - 0x26, 0x5b, 0x9d, 0xfd, 0x46, 0xbd, 0x5a, 0x11, 0xc4, 0xe0, 0xac, 0x3a, 0x9f, 0x30, 0x34, 0x3a, - 0xb1, 0xea, 0x0b, 0x3f, 0x01, 0x13, 0xaf, 0x22, 0xf3, 0x65, 0x51, 0x34, 0x45, 0x44, 0xc7, 0xf1, - 0xb0, 0x20, 0x58, 0x84, 0x74, 0x13, 0x39, 0x8e, 0x79, 0x88, 0x2a, 0xee, 0x71, 0x0b, 0x65, 0xe2, - 0xe4, 0xea, 0xcf, 0x76, 0x5d, 0xbd, 0x7c, 0xe5, 0x29, 0x86, 0xda, 0x3d, 0x6e, 0x21, 0x3d, 0x0f, - 0xa3, 0xc8, 0xea, 0x34, 0x29, 0x43, 0xa2, 0x87, 0xfd, 0x4a, 0x56, 0xa7, 0x29, 0xb3, 0x24, 0x31, - 0x8c, 0x51, 0x8c, 0x38, 0xa8, 0xfd, 0x4a, 0xbd, 0x8a, 0x32, 0xc3, 0x84, 0xe0, 0x89, 0x2e, 0x82, - 0x1d, 0x3a, 0x2f, 0x73, 0x70, 0x9c, 0x5e, 0x84, 0x51, 0xf4, 0x9a, 0x8b, 0x2c, 0xa7, 0x6e, 0x5b, - 0x99, 0x11, 0x42, 0xf2, 0x78, 0x88, 0x17, 0x51, 0xa3, 0x26, 0x53, 0xf8, 0x38, 0xfd, 0x2a, 0x8c, - 0xd8, 0x2d, 0xb7, 0x6e, 0x5b, 0x4e, 0x26, 0x79, 0x56, 0x99, 0x4f, 0x2d, 0x9f, 0x09, 0x0d, 0x84, - 0x2d, 0x2a, 0x63, 0x70, 0x61, 0x7d, 0x1d, 0x34, 0xc7, 0xee, 0xb4, 0xab, 0xa8, 0x52, 0xb5, 0x6b, - 0xa8, 0x52, 0xb7, 0x0e, 0xec, 0xcc, 0x28, 0x21, 0x98, 0xeb, 0xbe, 0x10, 0x22, 0x58, 0xb4, 0x6b, - 0x68, 0xdd, 0x3a, 0xb0, 0x8d, 0x71, 0x27, 0x70, 0xac, 0x4f, 0xc3, 0xb0, 0x73, 0x6c, 0xb9, 0xe6, - 0x6b, 0x99, 0x34, 0x89, 0x10, 0x76, 0x94, 0xfd, 0xfd, 0x61, 0x98, 0x18, 0x24, 0xc4, 0x6e, 0x42, - 0xe2, 0x00, 0x5f, 0x65, 0x26, 0x76, 0x12, 0x1b, 0x50, 0x4c, 0xd0, 0x88, 0xc3, 0xf7, 0x69, 0xc4, - 0x3c, 0xa4, 0x2c, 0xe4, 0xb8, 0xa8, 0x46, 0x23, 0x42, 0x1d, 0x30, 0xa6, 0x80, 0x82, 0xba, 0x43, - 0x2a, 0x7e, 0x5f, 0x21, 0xf5, 0x02, 0x4c, 0x78, 0x2a, 0x55, 0xda, 0xa6, 0x75, 0xc8, 0x63, 0xf3, - 0x62, 0x94, 0x26, 0x8b, 0x25, 0x8e, 0x33, 0x30, 0xcc, 0x18, 0x47, 0x81, 0x63, 0x7d, 0x15, 0xc0, - 0xb6, 0x90, 0x7d, 0x50, 0xa9, 0xa1, 0x6a, 0x23, 0x93, 0xec, 0x61, 0xa5, 0x2d, 0x2c, 0xd2, 0x65, - 0x25, 0x9b, 0x8e, 0x56, 0x1b, 0xfa, 0x0d, 0x3f, 0xd4, 0x46, 0x7a, 0x44, 0xca, 0x26, 0x4d, 0xb2, - 0xae, 0x68, 0xdb, 0x83, 0xf1, 0x36, 0xc2, 0x71, 0x8f, 0x6a, 0xec, 0xca, 0x46, 0x89, 0x12, 0x8b, - 0x91, 0x57, 0x66, 0x30, 0x18, 0xbd, 0xb0, 0xb1, 0xb6, 0x78, 0xa8, 0x3f, 0x06, 0xde, 0x40, 0x85, - 0x84, 0x15, 0x90, 0x2a, 0x94, 0xe6, 0x83, 0x65, 0xb3, 0x89, 0x66, 0x5e, 0x87, 0xf1, 0xa0, 0x79, - 0xf4, 0x53, 0x90, 0x70, 0x5c, 0xb3, 0xed, 0x92, 0x28, 0x4c, 0x18, 0xf4, 0x40, 0xd7, 0x40, 0x45, - 0x56, 0x8d, 0x54, 0xb9, 0x84, 0x81, 0x3f, 0xea, 0x3f, 0xe7, 0x5f, 0xb0, 0x4a, 0x2e, 0xf8, 0x42, - 0xb7, 0x47, 0x03, 0xcc, 0xf2, 0x75, 0xcf, 0x5c, 0x83, 0xb1, 0xc0, 0x05, 0x0c, 0x7a, 0xea, 0xec, - 0x5f, 0x84, 0xd3, 0xa1, 0xd4, 0xfa, 0x0b, 0x70, 0xaa, 0x63, 0xd5, 0x2d, 0x17, 0xb5, 0x5b, 0x6d, - 0x84, 0x23, 0x96, 0x9e, 0x2a, 0xf3, 0xdf, 0x47, 0x7a, 0xc4, 0xdc, 0x9e, 0x28, 0x4d, 0x59, 0x8c, - 0xa9, 0x4e, 0xf7, 0xe0, 0xc2, 0x68, 0xf2, 0x07, 0x23, 0xda, 0x1b, 0x6f, 0xbc, 0xf1, 0x46, 0x2c, - 0xfb, 0xf9, 0x61, 0x38, 0x15, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x0d, 0xc3, 0x56, 0xa7, 0xb9, 0x8f, - 0xda, 0xc4, 0x48, 0x09, 0x83, 0x1d, 0xe9, 0x79, 0x48, 0x34, 0xcc, 0x7d, 0xd4, 0xc8, 0xc4, 0xcf, - 0x2a, 0xf3, 0xe3, 0xcb, 0x1f, 0x1b, 0x28, 0x2b, 0x17, 0x37, 0x30, 0xc4, 0xa0, 0x48, 0xfd, 0x19, - 0x88, 0xb3, 0x12, 0x8d, 0x19, 0x16, 0x06, 0x63, 0xc0, 0xb9, 0x64, 0x10, 0x9c, 0xfe, 0x08, 0x8c, - 0xe2, 0xff, 0x69, 0x6c, 0x0c, 0x13, 0x9d, 0x93, 0x78, 0x00, 0xc7, 0x85, 0x3e, 0x03, 0x49, 0x92, - 0x26, 0x35, 0xc4, 0x97, 0x36, 0xef, 0x18, 0x07, 0x56, 0x0d, 0x1d, 0x98, 0x9d, 0x86, 0x5b, 0x79, - 0xc5, 0x6c, 0x74, 0x10, 0x09, 0xf8, 0x51, 0x23, 0xcd, 0x06, 0x3f, 0x8d, 0xc7, 0xf4, 0x39, 0x48, - 0xd1, 0xac, 0xaa, 0x5b, 0x35, 0xf4, 0x1a, 0xa9, 0x9e, 0x09, 0x83, 0x26, 0xda, 0x3a, 0x1e, 0xc1, - 0xa7, 0x7f, 0xc9, 0xb1, 0x2d, 0x1e, 0x9a, 0xe4, 0x14, 0x78, 0x80, 0x9c, 0xfe, 0x9a, 0x5c, 0xb8, - 0x1f, 0x0d, 0xbf, 0x3c, 0x39, 0xa6, 0xb2, 0xdf, 0x8a, 0x41, 0x9c, 0xd4, 0x8b, 0x09, 0x48, 0xed, - 0xde, 0xd9, 0x2e, 0x55, 0x56, 0xb7, 0xf6, 0x0a, 0x1b, 0x25, 0x4d, 0xd1, 0xc7, 0x01, 0xc8, 0xc0, - 0xda, 0xc6, 0x56, 0x7e, 0x57, 0x8b, 0x79, 0xc7, 0xeb, 0xe5, 0xdd, 0xab, 0x2b, 0x9a, 0xea, 0x01, - 0xf6, 0xe8, 0x40, 0x5c, 0x14, 0xb8, 0xbc, 0xac, 0x25, 0x74, 0x0d, 0xd2, 0x94, 0x60, 0xfd, 0x85, - 0xd2, 0xea, 0xd5, 0x15, 0x6d, 0x38, 0x38, 0x72, 0x79, 0x59, 0x1b, 0xd1, 0xc7, 0x60, 0x94, 0x8c, - 0x14, 0xb6, 0xb6, 0x36, 0xb4, 0xa4, 0xc7, 0xb9, 0xb3, 0x6b, 0xac, 0x97, 0x6f, 0x69, 0xa3, 0x1e, - 0xe7, 0x2d, 0x63, 0x6b, 0x6f, 0x5b, 0x03, 0x8f, 0x61, 0xb3, 0xb4, 0xb3, 0x93, 0xbf, 0x55, 0xd2, - 0x52, 0x9e, 0x44, 0xe1, 0xce, 0x6e, 0x69, 0x47, 0x4b, 0x07, 0xd4, 0xba, 0xbc, 0xac, 0x8d, 0x79, - 0xa7, 0x28, 0x95, 0xf7, 0x36, 0xb5, 0x71, 0x7d, 0x12, 0xc6, 0xe8, 0x29, 0xb8, 0x12, 0x13, 0xd2, - 0xd0, 0xd5, 0x15, 0x4d, 0xf3, 0x15, 0xa1, 0x2c, 0x93, 0x81, 0x81, 0xab, 0x2b, 0x9a, 0x9e, 0x2d, - 0x42, 0x82, 0x44, 0x97, 0xae, 0xc3, 0xf8, 0x46, 0xbe, 0x50, 0xda, 0xa8, 0x6c, 0x6d, 0xef, 0xae, - 0x6f, 0x95, 0xf3, 0x1b, 0x9a, 0xe2, 0x8f, 0x19, 0xa5, 0x4f, 0xed, 0xad, 0x1b, 0xa5, 0x55, 0x2d, - 0x26, 0x8e, 0x6d, 0x97, 0xf2, 0xbb, 0xa5, 0x55, 0x4d, 0xcd, 0x56, 0xe1, 0x54, 0x58, 0x9d, 0x0c, - 0xcd, 0x0c, 0xc1, 0xc5, 0xb1, 0x1e, 0x2e, 0x26, 0x5c, 0x5d, 0x2e, 0x7e, 0x2f, 0x06, 0x53, 0x21, - 0x6b, 0x45, 0xe8, 0x49, 0x9e, 0x85, 0x04, 0x0d, 0x51, 0xba, 0x7a, 0x3e, 0x19, 0xba, 0xe8, 0x90, - 0x80, 0xed, 0x5a, 0x41, 0x09, 0x4e, 0xec, 0x20, 0xd4, 0x1e, 0x1d, 0x04, 0xa6, 0xe8, 0xaa, 0xe9, - 0x7f, 0xbe, 0xab, 0xa6, 0xd3, 0x65, 0xef, 0xea, 0x20, 0xcb, 0x1e, 0x19, 0x3b, 0x59, 0x6d, 0x4f, - 0x84, 0xd4, 0xf6, 0x9b, 0x30, 0xd9, 0x45, 0x34, 0x70, 0x8d, 0xfd, 0xac, 0x02, 0x99, 0x5e, 0xc6, - 0x89, 0xa8, 0x74, 0xb1, 0x40, 0xa5, 0xbb, 0x29, 0x5b, 0xf0, 0x5c, 0x6f, 0x27, 0x74, 0xf9, 0xfa, - 0x6b, 0x0a, 0x4c, 0x87, 0x77, 0x8a, 0xa1, 0x3a, 0x3c, 0x03, 0xc3, 0x4d, 0xe4, 0x1e, 0xd9, 0xbc, - 0x5b, 0xba, 0x10, 0xb2, 0x06, 0xe3, 0x69, 0xd9, 0xd9, 0x0c, 0x25, 0x2e, 0xe2, 0x6a, 0xaf, 0x76, - 0x8f, 0x6a, 0xd3, 0xa5, 0xe9, 0x2f, 0xc5, 0xe0, 0x74, 0x28, 0x79, 0xa8, 0xa2, 0x8f, 0x02, 0xd4, - 0xad, 0x56, 0xc7, 0xa5, 0x1d, 0x11, 0x2d, 0xb0, 0xa3, 0x64, 0x84, 0x14, 0x2f, 0x5c, 0x3c, 0x3b, - 0xae, 0x37, 0xaf, 0x92, 0x79, 0xa0, 0x43, 0x44, 0xe0, 0xba, 0xaf, 0x68, 0x9c, 0x28, 0x3a, 0xdb, - 0xe3, 0x4a, 0xbb, 0x02, 0x73, 0x09, 0xb4, 0x6a, 0xa3, 0x8e, 0x2c, 0xb7, 0xe2, 0xb8, 0x6d, 0x64, - 0x36, 0xeb, 0xd6, 0x21, 0x59, 0x41, 0x92, 0xb9, 0xc4, 0x81, 0xd9, 0x70, 0x90, 0x31, 0x41, 0xa7, - 0x77, 0xf8, 0x2c, 0x46, 0x90, 0x00, 0x6a, 0x0b, 0x88, 0xe1, 0x00, 0x82, 0x4e, 0x7b, 0x88, 0xec, - 0xef, 0x24, 0x21, 0x25, 0xf4, 0xd5, 0xfa, 0x39, 0x48, 0xbf, 0x64, 0xbe, 0x62, 0x56, 0xf8, 0xbd, - 0x12, 0xb5, 0x44, 0x0a, 0x8f, 0x6d, 0xb3, 0xfb, 0xa5, 0x25, 0x38, 0x45, 0x44, 0xec, 0x8e, 0x8b, - 0xda, 0x95, 0x6a, 0xc3, 0x74, 0x1c, 0x62, 0xb4, 0x24, 0x11, 0xd5, 0xf1, 0xdc, 0x16, 0x9e, 0x2a, - 0xf2, 0x19, 0xfd, 0x0a, 0x4c, 0x11, 0x44, 0xb3, 0xd3, 0x70, 0xeb, 0xad, 0x06, 0xaa, 0xe0, 0xbb, - 0x37, 0x87, 0xac, 0x24, 0x9e, 0x66, 0x93, 0x58, 0x62, 0x93, 0x09, 0x60, 0x8d, 0x1c, 0x7d, 0x15, - 0x1e, 0x25, 0xb0, 0x43, 0x64, 0xa1, 0xb6, 0xe9, 0xa2, 0x0a, 0xfa, 0xf9, 0x8e, 0xd9, 0x70, 0x2a, - 0xa6, 0x55, 0xab, 0x1c, 0x99, 0xce, 0x51, 0xe6, 0x14, 0x26, 0x28, 0xc4, 0x32, 0x8a, 0xf1, 0x30, - 0x16, 0xbc, 0xc5, 0xe4, 0x4a, 0x44, 0x2c, 0x6f, 0xd5, 0x9e, 0x33, 0x9d, 0x23, 0x3d, 0x07, 0xd3, - 0x84, 0xc5, 0x71, 0xdb, 0x75, 0xeb, 0xb0, 0x52, 0x3d, 0x42, 0xd5, 0x97, 0x2b, 0x1d, 0xf7, 0xe0, - 0x7a, 0xe6, 0x11, 0xf1, 0xfc, 0x44, 0xc3, 0x1d, 0x22, 0x53, 0xc4, 0x22, 0x7b, 0xee, 0xc1, 0x75, - 0x7d, 0x07, 0xd2, 0xd8, 0x19, 0xcd, 0xfa, 0xeb, 0xa8, 0x72, 0x60, 0xb7, 0xc9, 0xd2, 0x38, 0x1e, - 0x52, 0x9a, 0x04, 0x0b, 0x2e, 0x6e, 0x31, 0xc0, 0xa6, 0x5d, 0x43, 0xb9, 0xc4, 0xce, 0x76, 0xa9, - 0xb4, 0x6a, 0xa4, 0x38, 0xcb, 0x9a, 0xdd, 0xc6, 0x01, 0x75, 0x68, 0x7b, 0x06, 0x4e, 0xd1, 0x80, - 0x3a, 0xb4, 0xb9, 0x79, 0xaf, 0xc0, 0x54, 0xb5, 0x4a, 0xaf, 0xb9, 0x5e, 0xad, 0xb0, 0x7b, 0x2c, - 0x27, 0xa3, 0x05, 0x8c, 0x55, 0xad, 0xde, 0xa2, 0x02, 0x2c, 0xc6, 0x1d, 0xfd, 0x06, 0x9c, 0xf6, - 0x8d, 0x25, 0x02, 0x27, 0xbb, 0xae, 0x52, 0x86, 0x5e, 0x81, 0xa9, 0xd6, 0x71, 0x37, 0x50, 0x0f, - 0x9c, 0xb1, 0x75, 0x2c, 0xc3, 0xae, 0xc1, 0xa9, 0xd6, 0x51, 0xab, 0x1b, 0xb7, 0x20, 0xe2, 0xf4, - 0xd6, 0x51, 0x4b, 0x06, 0x3e, 0x4e, 0x6e, 0xb8, 0xdb, 0xa8, 0x6a, 0xba, 0xa8, 0x96, 0x79, 0x48, - 0x14, 0x17, 0x26, 0xf4, 0x8b, 0xa0, 0x55, 0xab, 0x15, 0x64, 0x99, 0xfb, 0x0d, 0x54, 0x31, 0xdb, - 0xc8, 0x32, 0x9d, 0xcc, 0x9c, 0x28, 0x3c, 0x5e, 0xad, 0x96, 0xc8, 0x6c, 0x9e, 0x4c, 0xea, 0x0b, - 0x30, 0x69, 0xef, 0xbf, 0x54, 0xa5, 0x21, 0x59, 0x69, 0xb5, 0xd1, 0x41, 0xfd, 0xb5, 0xcc, 0x79, - 0x62, 0xdf, 0x09, 0x3c, 0x41, 0x02, 0x72, 0x9b, 0x0c, 0xeb, 0x4f, 0x82, 0x56, 0x75, 0x8e, 0xcc, - 0x76, 0x8b, 0xd4, 0x64, 0xa7, 0x65, 0x56, 0x51, 0xe6, 0x71, 0x2a, 0x4a, 0xc7, 0xcb, 0x7c, 0x18, - 0xa7, 0x84, 0xf3, 0x6a, 0xfd, 0xc0, 0xe5, 0x8c, 0x4f, 0xd0, 0x94, 0x20, 0x63, 0x8c, 0x6d, 0x1e, - 0x34, 0x6c, 0x8a, 0xc0, 0x89, 0xe7, 0x89, 0xd8, 0x78, 0xeb, 0xa8, 0x25, 0x9e, 0xf7, 0x31, 0x18, - 0xc3, 0x92, 0xfe, 0x49, 0x9f, 0xa4, 0x0d, 0x59, 0xeb, 0x48, 0x38, 0xe3, 0x87, 0xd6, 0x1b, 0x67, - 0x73, 0x90, 0x16, 0xe3, 0x53, 0x1f, 0x05, 0x1a, 0xa1, 0x9a, 0x82, 0x9b, 0x95, 0xe2, 0xd6, 0x2a, - 0x6e, 0x33, 0x3e, 0x53, 0xd2, 0x62, 0xb8, 0xdd, 0xd9, 0x58, 0xdf, 0x2d, 0x55, 0x8c, 0xbd, 0xf2, - 0xee, 0xfa, 0x66, 0x49, 0x53, 0xc5, 0xbe, 0xfa, 0x3b, 0x31, 0x18, 0x0f, 0xde, 0x22, 0xe9, 0x9f, - 0x80, 0x87, 0xf8, 0xf3, 0x0c, 0x07, 0xb9, 0x95, 0x57, 0xeb, 0x6d, 0x92, 0x32, 0x4d, 0x93, 0x2e, - 0x5f, 0x9e, 0xd3, 0x4e, 0x31, 0xa9, 0x1d, 0xe4, 0x3e, 0x5f, 0x6f, 0xe3, 0x84, 0x68, 0x9a, 0xae, - 0xbe, 0x01, 0x73, 0x96, 0x5d, 0x71, 0x5c, 0xd3, 0xaa, 0x99, 0xed, 0x5a, 0xc5, 0x7f, 0x92, 0x54, - 0x31, 0xab, 0x55, 0xe4, 0x38, 0x36, 0x5d, 0xaa, 0x3c, 0x96, 0x33, 0x96, 0xbd, 0xc3, 0x84, 0xfd, - 0x1a, 0x9e, 0x67, 0xa2, 0x52, 0x80, 0xa9, 0xbd, 0x02, 0xec, 0x11, 0x18, 0x6d, 0x9a, 0xad, 0x0a, - 0xb2, 0xdc, 0xf6, 0x31, 0x69, 0x8c, 0x93, 0x46, 0xb2, 0x69, 0xb6, 0x4a, 0xf8, 0xf8, 0xa7, 0x73, - 0x7f, 0xf2, 0x5f, 0x55, 0x48, 0x8b, 0xcd, 0x31, 0xbe, 0xd7, 0xa8, 0x92, 0x75, 0x44, 0x21, 0x95, - 0xe6, 0xb1, 0xbe, 0xad, 0xf4, 0x62, 0x11, 0x2f, 0x30, 0xb9, 0x61, 0xda, 0xb2, 0x1a, 0x14, 0x89, - 0x17, 0x77, 0x5c, 0x5b, 0x10, 0x6d, 0x11, 0x92, 0x06, 0x3b, 0xd2, 0x6f, 0xc1, 0xf0, 0x4b, 0x0e, - 0xe1, 0x1e, 0x26, 0xdc, 0xe7, 0xfb, 0x73, 0xdf, 0xde, 0x21, 0xe4, 0xa3, 0xb7, 0x77, 0x2a, 0xe5, - 0x2d, 0x63, 0x33, 0xbf, 0x61, 0x30, 0xb8, 0xfe, 0x30, 0xc4, 0x1b, 0xe6, 0xeb, 0xc7, 0xc1, 0xa5, - 0x88, 0x0c, 0x0d, 0x6a, 0xf8, 0x87, 0x21, 0xfe, 0x2a, 0x32, 0x5f, 0x0e, 0x2e, 0x00, 0x64, 0xe8, - 0x43, 0x0c, 0xfd, 0x8b, 0x90, 0x20, 0xf6, 0xd2, 0x01, 0x98, 0xc5, 0xb4, 0x21, 0x3d, 0x09, 0xf1, - 0xe2, 0x96, 0x81, 0xc3, 0x5f, 0x83, 0x34, 0x1d, 0xad, 0x6c, 0xaf, 0x97, 0x8a, 0x25, 0x2d, 0x96, - 0xbd, 0x02, 0xc3, 0xd4, 0x08, 0x38, 0x35, 0x3c, 0x33, 0x68, 0x43, 0xec, 0x90, 0x71, 0x28, 0x7c, - 0x76, 0x6f, 0xb3, 0x50, 0x32, 0xb4, 0x98, 0xe8, 0x5e, 0x07, 0xd2, 0x62, 0x5f, 0xfc, 0xd3, 0x89, - 0xa9, 0x6f, 0x2b, 0x90, 0x12, 0xfa, 0x5c, 0xdc, 0xa0, 0x98, 0x8d, 0x86, 0xfd, 0x6a, 0xc5, 0x6c, - 0xd4, 0x4d, 0x87, 0x05, 0x05, 0x90, 0xa1, 0x3c, 0x1e, 0x19, 0xd4, 0x69, 0x3f, 0x15, 0xe5, 0xbf, - 0xac, 0x80, 0x26, 0xb7, 0x98, 0x92, 0x82, 0xca, 0xcf, 0x54, 0xc1, 0x2f, 0x2a, 0x30, 0x1e, 0xec, - 0x2b, 0x25, 0xf5, 0xce, 0xfd, 0x4c, 0xd5, 0xfb, 0x5e, 0x0c, 0xc6, 0x02, 0xdd, 0xe4, 0xa0, 0xda, - 0xfd, 0x3c, 0x4c, 0xd6, 0x6b, 0xa8, 0xd9, 0xb2, 0x5d, 0x64, 0x55, 0x8f, 0x2b, 0x0d, 0xf4, 0x0a, - 0x6a, 0x64, 0xb2, 0xa4, 0x50, 0x5c, 0xec, 0xdf, 0xaf, 0x2e, 0xae, 0xfb, 0xb8, 0x0d, 0x0c, 0xcb, - 0x4d, 0xad, 0xaf, 0x96, 0x36, 0xb7, 0xb7, 0x76, 0x4b, 0xe5, 0xe2, 0x9d, 0xca, 0x5e, 0xf9, 0x93, - 0xe5, 0xad, 0xe7, 0xcb, 0x86, 0x56, 0x97, 0xc4, 0x3e, 0xc4, 0x54, 0xdf, 0x06, 0x4d, 0x56, 0x4a, - 0x7f, 0x08, 0xc2, 0xd4, 0xd2, 0x86, 0xf4, 0x29, 0x98, 0x28, 0x6f, 0x55, 0x76, 0xd6, 0x57, 0x4b, - 0x95, 0xd2, 0xda, 0x5a, 0xa9, 0xb8, 0xbb, 0x43, 0x9f, 0x40, 0x78, 0xd2, 0xbb, 0xc1, 0xa4, 0xfe, - 0x82, 0x0a, 0x53, 0x21, 0x9a, 0xe8, 0x79, 0x76, 0xef, 0x40, 0x6f, 0x67, 0x9e, 0x1a, 0x44, 0xfb, - 0x45, 0xbc, 0xe4, 0x6f, 0x9b, 0x6d, 0x97, 0xdd, 0x6a, 0x3c, 0x09, 0xd8, 0x4a, 0x96, 0x5b, 0x3f, - 0xa8, 0xa3, 0x36, 0x7b, 0x60, 0x43, 0x6f, 0x28, 0x26, 0xfc, 0x71, 0xfa, 0xcc, 0xe6, 0xe3, 0xa0, - 0xb7, 0x6c, 0xa7, 0xee, 0xd6, 0x5f, 0x41, 0x95, 0xba, 0xc5, 0x9f, 0xee, 0xe0, 0x1b, 0x8c, 0xb8, - 0xa1, 0xf1, 0x99, 0x75, 0xcb, 0xf5, 0xa4, 0x2d, 0x74, 0x68, 0x4a, 0xd2, 0xb8, 0x80, 0xab, 0x86, - 0xc6, 0x67, 0x3c, 0xe9, 0x73, 0x90, 0xae, 0xd9, 0x1d, 0xdc, 0x75, 0x51, 0x39, 0xbc, 0x5e, 0x28, - 0x46, 0x8a, 0x8e, 0x79, 0x22, 0xac, 0x9f, 0xf6, 0x1f, 0x2b, 0xa5, 0x8d, 0x14, 0x1d, 0xa3, 0x22, - 0x4f, 0xc0, 0x84, 0x79, 0x78, 0xd8, 0xc6, 0xe4, 0x9c, 0x88, 0xde, 0x21, 0x8c, 0x7b, 0xc3, 0x44, - 0x70, 0xe6, 0x36, 0x24, 0xb9, 0x1d, 0xf0, 0x92, 0x8c, 0x2d, 0x51, 0x69, 0xd1, 0xdb, 0xde, 0xd8, - 0xfc, 0xa8, 0x91, 0xb4, 0xf8, 0xe4, 0x39, 0x48, 0xd7, 0x9d, 0x8a, 0xff, 0x94, 0x3c, 0x76, 0x36, - 0x36, 0x9f, 0x34, 0x52, 0x75, 0xc7, 0x7b, 0xc2, 0x98, 0xfd, 0x5a, 0x0c, 0xc6, 0x83, 0x4f, 0xf9, - 0xf5, 0x55, 0x48, 0x36, 0xec, 0xaa, 0x49, 0x42, 0x8b, 0x6e, 0x31, 0xcd, 0x47, 0x6c, 0x0c, 0x2c, - 0x6e, 0x30, 0x79, 0xc3, 0x43, 0xce, 0xfc, 0x47, 0x05, 0x92, 0x7c, 0x58, 0x9f, 0x86, 0x78, 0xcb, - 0x74, 0x8f, 0x08, 0x5d, 0xa2, 0x10, 0xd3, 0x14, 0x83, 0x1c, 0xe3, 0x71, 0xa7, 0x65, 0x5a, 0x24, - 0x04, 0xd8, 0x38, 0x3e, 0xc6, 0x7e, 0x6d, 0x20, 0xb3, 0x46, 0x6e, 0x3f, 0xec, 0x66, 0x13, 0x59, - 0xae, 0xc3, 0xfd, 0xca, 0xc6, 0x8b, 0x6c, 0x58, 0xff, 0x18, 0x4c, 0xba, 0x6d, 0xb3, 0xde, 0x08, - 0xc8, 0xc6, 0x89, 0xac, 0xc6, 0x27, 0x3c, 0xe1, 0x1c, 0x3c, 0xcc, 0x79, 0x6b, 0xc8, 0x35, 0xab, - 0x47, 0xa8, 0xe6, 0x83, 0x86, 0xc9, 0x63, 0x86, 0x87, 0x98, 0xc0, 0x2a, 0x9b, 0xe7, 0xd8, 0xec, - 0x1f, 0x2a, 0x30, 0xc9, 0x6f, 0x98, 0x6a, 0x9e, 0xb1, 0x36, 0x01, 0x4c, 0xcb, 0xb2, 0x5d, 0xd1, - 0x5c, 0xdd, 0xa1, 0xdc, 0x85, 0x5b, 0xcc, 0x7b, 0x20, 0x43, 0x20, 0x98, 0x69, 0x02, 0xf8, 0x33, - 0x3d, 0xcd, 0x36, 0x07, 0x29, 0xb6, 0x85, 0x43, 0xf6, 0x01, 0xe9, 0x2d, 0x36, 0xd0, 0x21, 0x7c, - 0x67, 0xa5, 0x9f, 0x82, 0xc4, 0x3e, 0x3a, 0xac, 0x5b, 0xec, 0xc1, 0x2c, 0x3d, 0xe0, 0x0f, 0x42, - 0xe2, 0xde, 0x83, 0x90, 0xc2, 0x8b, 0x30, 0x55, 0xb5, 0x9b, 0xb2, 0xba, 0x05, 0x4d, 0xba, 0xcd, - 0x77, 0x9e, 0x53, 0x3e, 0x03, 0x7e, 0x8b, 0xf9, 0x63, 0x45, 0xf9, 0xd5, 0x98, 0x7a, 0x6b, 0xbb, - 0xf0, 0x5b, 0xb1, 0x99, 0x5b, 0x14, 0xba, 0xcd, 0xaf, 0xd4, 0x40, 0x07, 0x0d, 0x54, 0xc5, 0xda, - 0xc3, 0x6f, 0x7c, 0x0c, 0x9e, 0x3a, 0xac, 0xbb, 0x47, 0x9d, 0xfd, 0xc5, 0xaa, 0xdd, 0xbc, 0x78, - 0x68, 0x1f, 0xda, 0xfe, 0xd6, 0x27, 0x3e, 0x22, 0x07, 0xe4, 0x13, 0xdb, 0xfe, 0x1c, 0xf5, 0x46, - 0x67, 0x22, 0xf7, 0x4a, 0x73, 0x65, 0x98, 0x62, 0xc2, 0x15, 0xb2, 0xff, 0x42, 0xef, 0x22, 0xf4, - 0xbe, 0xcf, 0xb0, 0x32, 0xbf, 0xfd, 0x7d, 0xb2, 0x5c, 0x1b, 0x93, 0x0c, 0x8a, 0xe7, 0xe8, 0x8d, - 0x46, 0xce, 0x80, 0xd3, 0x01, 0x3e, 0x9a, 0x9a, 0xa8, 0x1d, 0xc1, 0xf8, 0x1d, 0xc6, 0x38, 0x25, - 0x30, 0xee, 0x30, 0x68, 0xae, 0x08, 0x63, 0x27, 0xe1, 0xfa, 0x77, 0x8c, 0x2b, 0x8d, 0x44, 0x92, - 0x5b, 0x30, 0x41, 0x48, 0xaa, 0x1d, 0xc7, 0xb5, 0x9b, 0xa4, 0xee, 0xf5, 0xa7, 0xf9, 0xf7, 0xdf, - 0xa7, 0xb9, 0x32, 0x8e, 0x61, 0x45, 0x0f, 0x95, 0xcb, 0x01, 0xd9, 0x72, 0xaa, 0xa1, 0x6a, 0x23, - 0x82, 0xe1, 0x2e, 0x53, 0xc4, 0x93, 0xcf, 0x7d, 0x1a, 0x4e, 0xe1, 0xcf, 0xa4, 0x2c, 0x89, 0x9a, - 0x44, 0x3f, 0xf0, 0xca, 0xfc, 0xe1, 0x67, 0x69, 0x3a, 0x4e, 0x79, 0x04, 0x82, 0x4e, 0x82, 0x17, - 0x0f, 0x91, 0xeb, 0xa2, 0xb6, 0x53, 0x31, 0x1b, 0x61, 0xea, 0x09, 0x4f, 0x0c, 0x32, 0xbf, 0xf2, - 0xc3, 0xa0, 0x17, 0x6f, 0x51, 0x64, 0xbe, 0xd1, 0xc8, 0xed, 0xc1, 0x43, 0x21, 0x51, 0x31, 0x00, - 0xe7, 0x17, 0x18, 0xe7, 0xa9, 0xae, 0xc8, 0xc0, 0xb4, 0xdb, 0xc0, 0xc7, 0x3d, 0x5f, 0x0e, 0xc0, - 0xf9, 0x8f, 0x18, 0xa7, 0xce, 0xb0, 0xdc, 0xa5, 0x98, 0xf1, 0x36, 0x4c, 0xbe, 0x82, 0xda, 0xfb, - 0xb6, 0xc3, 0x9e, 0xd2, 0x0c, 0x40, 0xf7, 0x45, 0x46, 0x37, 0xc1, 0x80, 0xe4, 0xb1, 0x0d, 0xe6, - 0xba, 0x01, 0xc9, 0x03, 0xb3, 0x8a, 0x06, 0xa0, 0xf8, 0x12, 0xa3, 0x18, 0xc1, 0xf2, 0x18, 0x9a, - 0x87, 0xf4, 0xa1, 0xcd, 0x56, 0xa6, 0x68, 0xf8, 0x97, 0x19, 0x3c, 0xc5, 0x31, 0x8c, 0xa2, 0x65, - 0xb7, 0x3a, 0x0d, 0xbc, 0x6c, 0x45, 0x53, 0x7c, 0x85, 0x53, 0x70, 0x0c, 0xa3, 0x38, 0x81, 0x59, - 0xdf, 0xe4, 0x14, 0x8e, 0x60, 0xcf, 0x67, 0x21, 0x65, 0x5b, 0x8d, 0x63, 0xdb, 0x1a, 0x44, 0x89, - 0xaf, 0x32, 0x06, 0x60, 0x10, 0x4c, 0x70, 0x13, 0x46, 0x07, 0x75, 0xc4, 0xaf, 0xff, 0x90, 0xa7, - 0x07, 0xf7, 0xc0, 0x2d, 0x98, 0xe0, 0x05, 0xaa, 0x6e, 0x5b, 0x03, 0x50, 0xfc, 0x06, 0xa3, 0x18, - 0x17, 0x60, 0xec, 0x32, 0x5c, 0xe4, 0xb8, 0x87, 0x68, 0x10, 0x92, 0xaf, 0xf1, 0xcb, 0x60, 0x10, - 0x66, 0xca, 0x7d, 0x64, 0x55, 0x8f, 0x06, 0x63, 0xf8, 0x3a, 0x37, 0x25, 0xc7, 0x60, 0x8a, 0x22, - 0x8c, 0x35, 0xcd, 0xb6, 0x73, 0x64, 0x36, 0x06, 0x72, 0xc7, 0x6f, 0x32, 0x8e, 0xb4, 0x07, 0x62, - 0x16, 0xe9, 0x58, 0x27, 0xa1, 0xf9, 0x2d, 0x6e, 0x11, 0x01, 0xc6, 0x52, 0xcf, 0x71, 0xc9, 0x23, - 0xad, 0x93, 0xb0, 0xfd, 0x63, 0x9e, 0x7a, 0x14, 0xbb, 0x29, 0x32, 0xde, 0x84, 0x51, 0xa7, 0xfe, - 0xfa, 0x40, 0x34, 0xff, 0x84, 0x7b, 0x9a, 0x00, 0x30, 0xf8, 0x0e, 0x3c, 0x1c, 0xba, 0x4c, 0x0c, - 0x40, 0xf6, 0x4f, 0x19, 0xd9, 0x74, 0xc8, 0x52, 0xc1, 0x4a, 0xc2, 0x49, 0x29, 0xff, 0x19, 0x2f, - 0x09, 0x48, 0xe2, 0xda, 0xc6, 0xf7, 0x0a, 0x8e, 0x79, 0x70, 0x32, 0xab, 0xfd, 0x73, 0x6e, 0x35, - 0x8a, 0x0d, 0x58, 0x6d, 0x17, 0xa6, 0x19, 0xe3, 0xc9, 0xfc, 0xfa, 0x0d, 0x5e, 0x58, 0x29, 0x7a, - 0x2f, 0xe8, 0xdd, 0x17, 0x61, 0xc6, 0x33, 0x27, 0x6f, 0x4a, 0x9d, 0x4a, 0xd3, 0x6c, 0x0d, 0xc0, - 0xfc, 0xdb, 0x8c, 0x99, 0x57, 0x7c, 0xaf, 0xab, 0x75, 0x36, 0xcd, 0x16, 0x26, 0x7f, 0x01, 0x32, - 0x9c, 0xbc, 0x63, 0xb5, 0x51, 0xd5, 0x3e, 0xb4, 0xea, 0xaf, 0xa3, 0xda, 0x00, 0xd4, 0xdf, 0x94, - 0x5c, 0xb5, 0x27, 0xc0, 0x31, 0xf3, 0x3a, 0x68, 0x5e, 0xaf, 0x52, 0xa9, 0x37, 0x5b, 0x76, 0xdb, - 0x8d, 0x60, 0xfc, 0x1d, 0xee, 0x29, 0x0f, 0xb7, 0x4e, 0x60, 0xb9, 0x12, 0x8c, 0x93, 0xc3, 0x41, - 0x43, 0xf2, 0x77, 0x19, 0xd1, 0x98, 0x8f, 0x62, 0x85, 0xa3, 0x6a, 0x37, 0x5b, 0x66, 0x7b, 0x90, - 0xfa, 0xf7, 0x2f, 0x78, 0xe1, 0x60, 0x10, 0x56, 0x38, 0xdc, 0xe3, 0x16, 0xc2, 0xab, 0xfd, 0x00, - 0x0c, 0xdf, 0xe2, 0x85, 0x83, 0x63, 0x18, 0x05, 0x6f, 0x18, 0x06, 0xa0, 0xf8, 0x97, 0x9c, 0x82, - 0x63, 0x30, 0xc5, 0xa7, 0xfc, 0x85, 0xb6, 0x8d, 0x0e, 0xeb, 0x8e, 0xdb, 0xa6, 0xad, 0x70, 0x7f, - 0xaa, 0xdf, 0xfb, 0x61, 0xb0, 0x09, 0x33, 0x04, 0x28, 0xae, 0x44, 0xec, 0x11, 0x2a, 0xb9, 0x53, - 0x8a, 0x56, 0xec, 0xf7, 0x79, 0x25, 0x12, 0x60, 0x58, 0x37, 0xa1, 0x43, 0xc4, 0x66, 0xaf, 0xe2, - 0xfb, 0x83, 0x01, 0xe8, 0xbe, 0x2d, 0x29, 0xb7, 0xc3, 0xb1, 0x98, 0x53, 0xe8, 0x7f, 0x3a, 0xd6, - 0xcb, 0xe8, 0x78, 0xa0, 0xe8, 0xfc, 0x57, 0x52, 0xff, 0xb3, 0x47, 0x91, 0xb4, 0x86, 0x4c, 0x48, - 0xfd, 0x94, 0x1e, 0xf5, 0xb2, 0x4e, 0xe6, 0x2f, 0xbf, 0xcf, 0xae, 0x37, 0xd8, 0x4e, 0xe5, 0x36, - 0x70, 0x90, 0x07, 0x9b, 0x9e, 0x68, 0xb2, 0xcf, 0xbe, 0xef, 0xc5, 0x79, 0xa0, 0xe7, 0xc9, 0xad, - 0xc1, 0x58, 0xa0, 0xe1, 0x89, 0xa6, 0xfa, 0x2b, 0x8c, 0x2a, 0x2d, 0xf6, 0x3b, 0xb9, 0x2b, 0x10, - 0xc7, 0xcd, 0x4b, 0x34, 0xfc, 0xaf, 0x32, 0x38, 0x11, 0xcf, 0x3d, 0x0d, 0x49, 0xde, 0xb4, 0x44, - 0x43, 0x7f, 0x91, 0x41, 0x3d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1a, 0xfe, 0xd7, 0x38, 0x9c, 0x43, - 0x30, 0x7c, 0x70, 0x13, 0xbe, 0xf5, 0x37, 0xe2, 0x6c, 0xd1, 0xe1, 0xb6, 0xbb, 0x09, 0x23, 0xac, - 0x53, 0x89, 0x46, 0xff, 0x12, 0x3b, 0x39, 0x47, 0xe4, 0xae, 0x41, 0x62, 0x40, 0x83, 0xff, 0x4d, - 0x06, 0xa5, 0xf2, 0xb9, 0x22, 0xa4, 0x84, 0xee, 0x24, 0x1a, 0xfe, 0xb7, 0x18, 0x5c, 0x44, 0x61, - 0xd5, 0x59, 0x77, 0x12, 0x4d, 0xf0, 0xb7, 0xb9, 0xea, 0x0c, 0x81, 0xcd, 0xc6, 0x1b, 0x93, 0x68, - 0xf4, 0xdf, 0xe1, 0x56, 0xe7, 0x90, 0xdc, 0xb3, 0x30, 0xea, 0x2d, 0x36, 0xd1, 0xf8, 0xbf, 0xcb, - 0xf0, 0x3e, 0x06, 0x5b, 0x40, 0x58, 0xec, 0xa2, 0x29, 0xfe, 0x1e, 0xb7, 0x80, 0x80, 0xc2, 0x69, - 0x24, 0x37, 0x30, 0xd1, 0x4c, 0xbf, 0xcc, 0xd3, 0x48, 0xea, 0x5f, 0xb0, 0x37, 0x49, 0xcd, 0x8f, - 0xa6, 0xf8, 0xfb, 0xdc, 0x9b, 0x44, 0x1e, 0xab, 0x21, 0x77, 0x04, 0xd1, 0x1c, 0xff, 0x90, 0xab, - 0x21, 0x35, 0x04, 0xb9, 0x6d, 0xd0, 0xbb, 0xbb, 0x81, 0x68, 0xbe, 0xcf, 0x33, 0xbe, 0xc9, 0xae, - 0x66, 0x20, 0xf7, 0x3c, 0x4c, 0x87, 0x77, 0x02, 0xd1, 0xac, 0xbf, 0xf2, 0xbe, 0x74, 0xef, 0x26, - 0x36, 0x02, 0xb9, 0x5d, 0x7f, 0x49, 0x11, 0xbb, 0x80, 0x68, 0xda, 0x2f, 0xbc, 0x1f, 0x2c, 0xdc, - 0x62, 0x13, 0x90, 0xcb, 0x03, 0xf8, 0x0b, 0x70, 0x34, 0xd7, 0x17, 0x19, 0x97, 0x00, 0xc2, 0xa9, - 0xc1, 0xd6, 0xdf, 0x68, 0xfc, 0x97, 0x78, 0x6a, 0x30, 0x04, 0x4e, 0x0d, 0xbe, 0xf4, 0x46, 0xa3, - 0xbf, 0xcc, 0x53, 0x83, 0x43, 0x70, 0x64, 0x0b, 0xab, 0x5b, 0x34, 0xc3, 0x57, 0x79, 0x64, 0x0b, - 0xa8, 0x5c, 0x19, 0x26, 0xbb, 0x16, 0xc4, 0x68, 0xaa, 0x5f, 0x65, 0x54, 0x9a, 0xbc, 0x1e, 0x8a, - 0x8b, 0x17, 0x5b, 0x0c, 0xa3, 0xd9, 0x7e, 0x4d, 0x5a, 0xbc, 0xd8, 0x5a, 0x98, 0xbb, 0x09, 0x49, - 0xab, 0xd3, 0x68, 0xe0, 0xe4, 0xd1, 0xfb, 0xbf, 0x60, 0x97, 0xf9, 0x1f, 0x3f, 0x61, 0xd6, 0xe1, - 0x80, 0xdc, 0x15, 0x48, 0xa0, 0xe6, 0x3e, 0xaa, 0x45, 0x21, 0xff, 0xe7, 0x4f, 0x78, 0xc1, 0xc4, - 0xd2, 0xb9, 0x67, 0x01, 0xe8, 0xa3, 0x11, 0xb2, 0xed, 0x17, 0x81, 0xfd, 0x5f, 0x3f, 0x61, 0xaf, - 0xbe, 0xf8, 0x10, 0x9f, 0x80, 0xbe, 0x48, 0xd3, 0x9f, 0xe0, 0x87, 0x41, 0x02, 0xe2, 0x91, 0x1b, - 0x30, 0xf2, 0x92, 0x63, 0x5b, 0xae, 0x79, 0x18, 0x85, 0xfe, 0xdf, 0x0c, 0xcd, 0xe5, 0xb1, 0xc1, - 0x9a, 0x76, 0x1b, 0xb9, 0xe6, 0xa1, 0x13, 0x85, 0xfd, 0x3f, 0x0c, 0xeb, 0x01, 0x30, 0xb8, 0x6a, - 0x3a, 0xee, 0x20, 0xd7, 0xfd, 0x47, 0x1c, 0xcc, 0x01, 0x58, 0x69, 0xfc, 0xf9, 0x65, 0x74, 0x1c, - 0x85, 0xfd, 0x11, 0x57, 0x9a, 0xc9, 0xe7, 0x9e, 0x86, 0x51, 0xfc, 0x91, 0xbe, 0xcf, 0x16, 0x01, - 0xfe, 0xbf, 0x0c, 0xec, 0x23, 0xf0, 0x99, 0x1d, 0xb7, 0xe6, 0xd6, 0xa3, 0x8d, 0xfd, 0xc7, 0xcc, - 0xd3, 0x5c, 0x3e, 0x97, 0x87, 0x94, 0xe3, 0xd6, 0x6a, 0x1d, 0xd6, 0x9f, 0x46, 0xc0, 0xff, 0xdf, - 0x4f, 0xbc, 0x47, 0x16, 0x1e, 0x06, 0x7b, 0xfb, 0xd5, 0x97, 0xdd, 0x96, 0x4d, 0xb6, 0x39, 0xa2, - 0x18, 0xde, 0x67, 0x0c, 0x02, 0xa4, 0x50, 0x0a, 0x7f, 0x7c, 0x0b, 0xb7, 0xec, 0x5b, 0x36, 0x7d, - 0x70, 0xfb, 0x99, 0x6c, 0xf4, 0x13, 0x58, 0xf8, 0x6f, 0x0d, 0xb8, 0xd6, 0x53, 0x0c, 0x2f, 0xc5, - 0x17, 0xab, 0x76, 0x73, 0xdf, 0x76, 0x2e, 0xee, 0xdb, 0xee, 0xd1, 0x45, 0xf7, 0x08, 0xe1, 0x31, - 0xf6, 0xc8, 0x36, 0x8e, 0x3f, 0xcf, 0x9c, 0xec, 0x39, 0x2f, 0xd9, 0xc5, 0x2f, 0xd7, 0xf1, 0xa5, - 0x95, 0xc9, 0x46, 0x8a, 0x7e, 0x06, 0x86, 0xc9, 0xc5, 0x5e, 0x22, 0x9b, 0x95, 0x4a, 0x21, 0x7e, - 0xf7, 0x9d, 0xb9, 0x21, 0x83, 0x8d, 0x79, 0xb3, 0xcb, 0xe4, 0x49, 0x77, 0x2c, 0x30, 0xbb, 0xec, - 0xcd, 0x5e, 0xa6, 0x0f, 0xbb, 0x03, 0xb3, 0x97, 0xbd, 0xd9, 0x15, 0xf2, 0xd8, 0x5b, 0x0d, 0xcc, - 0xae, 0x78, 0xb3, 0x57, 0xc8, 0xd6, 0xce, 0x58, 0x60, 0xf6, 0x8a, 0x37, 0x7b, 0x95, 0x6c, 0xe8, - 0xc4, 0x03, 0xb3, 0x57, 0xbd, 0xd9, 0x6b, 0x64, 0x2f, 0x67, 0x32, 0x30, 0x7b, 0xcd, 0x9b, 0xbd, - 0x4e, 0xf6, 0x70, 0xf4, 0xc0, 0xec, 0x75, 0x6f, 0xf6, 0x06, 0x79, 0x41, 0x6a, 0x24, 0x30, 0x7b, - 0x43, 0x9f, 0x85, 0x11, 0x7a, 0xe5, 0x4b, 0x64, 0xc3, 0x7f, 0x82, 0x4d, 0xf3, 0x41, 0x7f, 0xfe, - 0x12, 0x79, 0x19, 0x6a, 0x38, 0x38, 0x7f, 0xc9, 0x9f, 0x5f, 0x26, 0xdf, 0xcb, 0xd0, 0x82, 0xf3, - 0xcb, 0xfe, 0xfc, 0xe5, 0xcc, 0x18, 0x79, 0x21, 0x2c, 0x30, 0x7f, 0xd9, 0x9f, 0x5f, 0xc9, 0x8c, - 0xe3, 0x8c, 0x09, 0xce, 0xaf, 0xf8, 0xf3, 0x57, 0x32, 0x13, 0x67, 0x95, 0xf9, 0x74, 0x70, 0xfe, - 0x4a, 0xf6, 0x17, 0x88, 0x7b, 0x2d, 0xdf, 0xbd, 0xd3, 0x41, 0xf7, 0x7a, 0x8e, 0x9d, 0x0e, 0x3a, - 0xd6, 0x73, 0xe9, 0x74, 0xd0, 0xa5, 0x9e, 0x33, 0xa7, 0x83, 0xce, 0xf4, 0xdc, 0x38, 0x1d, 0x74, - 0xa3, 0xe7, 0xc0, 0xe9, 0xa0, 0x03, 0x3d, 0xd7, 0x4d, 0x07, 0x5d, 0xe7, 0x39, 0x6d, 0x3a, 0xe8, - 0x34, 0xcf, 0x5d, 0xd3, 0x41, 0x77, 0x79, 0x8e, 0xca, 0x48, 0x8e, 0xf2, 0x5d, 0x94, 0x91, 0x5c, - 0xe4, 0x3b, 0x27, 0x23, 0x39, 0xc7, 0x77, 0x4b, 0x46, 0x72, 0x8b, 0xef, 0x90, 0x8c, 0xe4, 0x10, - 0xdf, 0x15, 0x19, 0xc9, 0x15, 0xbe, 0x13, 0x58, 0x8e, 0x19, 0xa8, 0x15, 0x92, 0x63, 0x6a, 0xdf, - 0x1c, 0x53, 0xfb, 0xe6, 0x98, 0xda, 0x37, 0xc7, 0xd4, 0xbe, 0x39, 0xa6, 0xf6, 0xcd, 0x31, 0xb5, - 0x6f, 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xed, 0x9b, 0x63, 0x6a, 0xff, 0x1c, 0x53, 0x23, 0x72, 0x4c, - 0x8d, 0xc8, 0x31, 0x35, 0x22, 0xc7, 0xd4, 0x88, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0xed, 0x99, 0x63, - 0xbe, 0x7b, 0xa7, 0x83, 0xee, 0x0d, 0xcd, 0x31, 0xb5, 0x47, 0x8e, 0xa9, 0x3d, 0x72, 0x4c, 0xed, - 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, - 0xf6, 0xca, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, 0x4c, 0xed, 0x99, 0x63, 0x6a, 0xcf, 0x1c, - 0x53, 0x7b, 0xe6, 0x98, 0x2a, 0xe6, 0xd8, 0xbf, 0x56, 0x41, 0xa7, 0x39, 0xb6, 0x4d, 0x5e, 0x19, - 0x63, 0xae, 0x98, 0x95, 0x32, 0x6d, 0x18, 0xbb, 0x4e, 0xf3, 0x5d, 0x32, 0x2b, 0xe5, 0x5a, 0x70, - 0x7e, 0xd9, 0x9b, 0xe7, 0xd9, 0x16, 0x9c, 0xbf, 0xec, 0xcd, 0xf3, 0x7c, 0x0b, 0xce, 0xaf, 0x78, - 0xf3, 0x3c, 0xe3, 0x82, 0xf3, 0x57, 0xbc, 0x79, 0x9e, 0x73, 0xc1, 0xf9, 0xab, 0xde, 0x3c, 0xcf, - 0xba, 0xe0, 0xfc, 0x35, 0x6f, 0x9e, 0xe7, 0x5d, 0x70, 0xfe, 0xba, 0x37, 0xcf, 0x33, 0x2f, 0x38, - 0x7f, 0x43, 0x3f, 0x2b, 0xe7, 0x1e, 0x17, 0xf0, 0x5c, 0x7b, 0x56, 0xce, 0x3e, 0x49, 0xe2, 0x92, - 0x2f, 0xc1, 0xf3, 0x4f, 0x92, 0x58, 0xf6, 0x25, 0x78, 0x06, 0x4a, 0x12, 0x97, 0xb3, 0x9f, 0x23, - 0xee, 0xb3, 0x64, 0xf7, 0xcd, 0x48, 0xee, 0x8b, 0x09, 0xae, 0x9b, 0x91, 0x5c, 0x17, 0x13, 0xdc, - 0x36, 0x23, 0xb9, 0x2d, 0x26, 0xb8, 0x6c, 0x46, 0x72, 0x59, 0x4c, 0x70, 0xd7, 0x8c, 0xe4, 0xae, - 0x98, 0xe0, 0xaa, 0x19, 0xc9, 0x55, 0x31, 0xc1, 0x4d, 0x33, 0x92, 0x9b, 0x62, 0x82, 0x8b, 0x66, - 0x24, 0x17, 0xc5, 0x04, 0xf7, 0xcc, 0x48, 0xee, 0x89, 0x09, 0xae, 0x39, 0x23, 0xbb, 0x26, 0x26, - 0xba, 0xe5, 0x8c, 0xec, 0x96, 0x98, 0xe8, 0x92, 0x33, 0xb2, 0x4b, 0x62, 0xa2, 0x3b, 0xce, 0xc8, - 0xee, 0x88, 0x89, 0xae, 0xf8, 0x93, 0x18, 0xef, 0x08, 0x77, 0xdc, 0x76, 0xa7, 0xea, 0x3e, 0x50, - 0x47, 0xb8, 0x14, 0x68, 0x1f, 0x52, 0xcb, 0xfa, 0x22, 0x69, 0x58, 0xc5, 0x8e, 0x53, 0x5a, 0xc1, - 0x96, 0x02, 0x8d, 0x85, 0x80, 0xb0, 0xc2, 0x11, 0x2b, 0x0f, 0xd4, 0x1b, 0x2e, 0x05, 0xda, 0x8c, - 0x68, 0xfd, 0xae, 0x7f, 0xe8, 0x1d, 0xdb, 0x5b, 0x31, 0xde, 0xb1, 0x31, 0xf3, 0x9f, 0xb4, 0x63, - 0x5b, 0x88, 0x36, 0xb9, 0x67, 0xec, 0x85, 0x68, 0x63, 0x77, 0xad, 0x3a, 0x83, 0x76, 0x70, 0x0b, - 0xd1, 0xa6, 0xf5, 0x8c, 0xfa, 0xc1, 0xf6, 0x5b, 0x2c, 0x82, 0x0d, 0xd4, 0x0a, 0x89, 0xe0, 0x93, - 0xf6, 0x5b, 0x4b, 0x81, 0x52, 0x72, 0xd2, 0x08, 0x56, 0x4f, 0x1c, 0xc1, 0x27, 0xed, 0xbc, 0x96, - 0x02, 0xe5, 0xe5, 0xc4, 0x11, 0xfc, 0x21, 0xf4, 0x43, 0x2c, 0x82, 0x7d, 0xf3, 0x9f, 0xb4, 0x1f, - 0x5a, 0x88, 0x36, 0x79, 0x68, 0x04, 0xab, 0x27, 0x88, 0xe0, 0x41, 0xfa, 0xa3, 0x85, 0x68, 0xd3, - 0x86, 0x47, 0xf0, 0x03, 0x77, 0x33, 0x5f, 0x51, 0x60, 0xb2, 0x5c, 0xaf, 0x95, 0x9a, 0xfb, 0xa8, - 0x56, 0x43, 0x35, 0x66, 0xc7, 0xa5, 0x40, 0x25, 0xe8, 0xe1, 0xea, 0xb7, 0xdf, 0x99, 0xf3, 0x2d, - 0x7c, 0x05, 0x92, 0xd4, 0xa6, 0x4b, 0x4b, 0x99, 0xbb, 0x4a, 0x44, 0x85, 0xf3, 0x44, 0xf5, 0x73, - 0x1c, 0x76, 0x69, 0x29, 0xf3, 0x9f, 0x14, 0xa1, 0xca, 0x79, 0xc3, 0xd9, 0x5f, 0x26, 0x1a, 0x5a, - 0x0f, 0xac, 0xe1, 0xc5, 0x81, 0x34, 0x14, 0x74, 0x7b, 0xa4, 0x4b, 0x37, 0x41, 0xab, 0x0e, 0x4c, - 0x94, 0xeb, 0xb5, 0x32, 0xf9, 0x45, 0x80, 0x41, 0x54, 0xa2, 0x32, 0x52, 0x3d, 0x58, 0x0a, 0x84, - 0xa5, 0x88, 0xf0, 0x42, 0x3a, 0x58, 0x23, 0xb2, 0x75, 0x7c, 0x5a, 0x2b, 0x70, 0xda, 0x85, 0x5e, - 0xa7, 0xf5, 0x2b, 0xbb, 0x77, 0xc2, 0x85, 0x5e, 0x27, 0xf4, 0x73, 0xc8, 0x3b, 0xd5, 0x6b, 0x7c, - 0x71, 0xa6, 0x2f, 0x6e, 0xe9, 0x67, 0x20, 0xb6, 0x4e, 0xdf, 0x2b, 0x4f, 0x17, 0xd2, 0x58, 0xa9, - 0xef, 0xbe, 0x33, 0x17, 0xdf, 0xeb, 0xd4, 0x6b, 0x46, 0x6c, 0xbd, 0xa6, 0xdf, 0x86, 0xc4, 0xa7, - 0xd9, 0xf7, 0x52, 0xb1, 0xc0, 0x0a, 0x13, 0xf8, 0x78, 0xc4, 0x23, 0x26, 0x42, 0xbd, 0xb8, 0x57, - 0xb7, 0xdc, 0x4b, 0xcb, 0xd7, 0x0d, 0x4a, 0x91, 0xfd, 0x73, 0x00, 0xf4, 0x9c, 0xab, 0xa6, 0x73, - 0xa4, 0x97, 0x39, 0x33, 0x3d, 0xf5, 0xf5, 0xef, 0xbe, 0x33, 0xb7, 0x32, 0x08, 0xeb, 0x53, 0x35, - 0xd3, 0x39, 0x7a, 0xca, 0x3d, 0x6e, 0xa1, 0xc5, 0xc2, 0xb1, 0x8b, 0x1c, 0xce, 0xde, 0xe2, 0xab, - 0x1e, 0xbb, 0xae, 0x8c, 0x70, 0x5d, 0xc9, 0xc0, 0x35, 0xad, 0x05, 0xaf, 0x69, 0xe9, 0x7e, 0xaf, - 0xe7, 0x35, 0xbe, 0x48, 0x48, 0x96, 0x54, 0xa3, 0x2c, 0xa9, 0x3e, 0xa8, 0x25, 0x5b, 0xbc, 0x3e, - 0x4a, 0xd7, 0xaa, 0xf6, 0xbb, 0x56, 0xf5, 0x41, 0xae, 0xf5, 0xff, 0xd3, 0x6c, 0xf5, 0xf2, 0x69, - 0xcf, 0xa2, 0xef, 0xb4, 0xfe, 0xd9, 0x7a, 0x16, 0xf4, 0x81, 0x76, 0x01, 0xb9, 0xf8, 0xdd, 0x37, - 0xe7, 0x94, 0xec, 0x57, 0x62, 0xfc, 0xca, 0x69, 0x22, 0xdd, 0xdf, 0x95, 0xff, 0x59, 0xe9, 0xa9, - 0x3e, 0x0c, 0x0b, 0x7d, 0x59, 0x81, 0xe9, 0xae, 0x4a, 0x4e, 0xcd, 0xf4, 0xc1, 0x96, 0x73, 0xeb, - 0xa4, 0xe5, 0x9c, 0x29, 0xf8, 0xbb, 0x0a, 0x9c, 0x92, 0xca, 0x2b, 0x55, 0xef, 0xa2, 0xa4, 0xde, - 0x43, 0xdd, 0x67, 0x22, 0x82, 0x82, 0x76, 0xa2, 0x7b, 0x25, 0x80, 0xc0, 0xec, 0xf9, 0x7d, 0x45, - 0xf2, 0xfb, 0x19, 0x0f, 0x10, 0x62, 0x2e, 0x1e, 0x01, 0x4c, 0x6d, 0x1b, 0xe2, 0xbb, 0x6d, 0x84, - 0xf4, 0x59, 0x88, 0x6d, 0xb5, 0x99, 0x86, 0xe3, 0x14, 0xbf, 0xd5, 0x2e, 0xb4, 0x4d, 0xab, 0x7a, - 0x64, 0xc4, 0xb6, 0xda, 0xfa, 0x39, 0x50, 0xf3, 0xec, 0x3b, 0xf1, 0xa9, 0xe5, 0x09, 0x2a, 0x90, - 0xb7, 0x6a, 0x4c, 0x02, 0xcf, 0xe9, 0xb3, 0x10, 0xdf, 0x40, 0xe6, 0x01, 0x53, 0x02, 0xa8, 0x0c, - 0x1e, 0x31, 0xc8, 0x38, 0x3b, 0xe1, 0x0b, 0x90, 0xe4, 0xc4, 0xfa, 0x79, 0x8c, 0x38, 0x70, 0xd9, - 0x69, 0x19, 0x02, 0xab, 0xc3, 0x56, 0x2e, 0x32, 0xab, 0x5f, 0x80, 0x84, 0x51, 0x3f, 0x3c, 0x72, - 0xd9, 0xc9, 0xbb, 0xc5, 0xe8, 0x74, 0xf6, 0x0e, 0x8c, 0x7a, 0x1a, 0x7d, 0xc0, 0xd4, 0xab, 0xf4, - 0xd2, 0xf4, 0x19, 0x71, 0x3d, 0xe1, 0xcf, 0x2d, 0xe9, 0x90, 0x7e, 0x16, 0x92, 0x3b, 0x6e, 0xdb, - 0x2f, 0xfa, 0xbc, 0x23, 0xf5, 0x46, 0xb3, 0xbf, 0xa0, 0x40, 0x72, 0x15, 0xa1, 0x16, 0x31, 0xf8, - 0xe3, 0x10, 0x5f, 0xb5, 0x5f, 0xb5, 0x98, 0x82, 0x93, 0xcc, 0xa2, 0x78, 0x9a, 0xd9, 0x94, 0x4c, - 0xeb, 0x8f, 0x8b, 0x76, 0x9f, 0xf2, 0xec, 0x2e, 0xc8, 0x11, 0xdb, 0x67, 0x03, 0xb6, 0x67, 0x0e, - 0xc4, 0x42, 0x5d, 0xf6, 0xbf, 0x06, 0x29, 0xe1, 0x2c, 0xfa, 0x3c, 0x53, 0x23, 0x26, 0x03, 0x45, - 0x5b, 0x61, 0x89, 0x2c, 0x82, 0xb1, 0xc0, 0x89, 0x31, 0x54, 0x30, 0x71, 0x0f, 0x28, 0x31, 0xf3, - 0x42, 0xd0, 0xcc, 0xe1, 0xa2, 0xcc, 0xd4, 0x4b, 0xd4, 0x46, 0xc4, 0xdc, 0xe7, 0x69, 0x70, 0xf6, - 0x76, 0x22, 0xfe, 0x9c, 0x4d, 0x80, 0x5a, 0xae, 0x37, 0xb2, 0x4f, 0x03, 0xd0, 0x94, 0x2f, 0x59, - 0x9d, 0xa6, 0x94, 0x75, 0xe3, 0xdc, 0xc0, 0xbb, 0x47, 0x68, 0x17, 0x39, 0x44, 0x24, 0xd8, 0x4f, - 0xe1, 0x02, 0x03, 0x34, 0xc5, 0x08, 0xfe, 0xc9, 0x48, 0x7c, 0x68, 0x27, 0x86, 0x45, 0x33, 0x54, - 0xf4, 0x0e, 0x72, 0xf3, 0x96, 0xed, 0x1e, 0xa1, 0xb6, 0x84, 0x58, 0xd6, 0x2f, 0x07, 0x12, 0x76, - 0x7c, 0xf9, 0x11, 0x0f, 0xd1, 0x13, 0x74, 0x39, 0xfb, 0x0d, 0xa2, 0x20, 0x6e, 0x05, 0xba, 0x2e, - 0x50, 0x1d, 0xe0, 0x02, 0xf5, 0xab, 0x81, 0xfe, 0xad, 0x8f, 0x9a, 0xd2, 0xad, 0xe5, 0x8d, 0xc0, - 0x7d, 0x4e, 0x7f, 0x65, 0x83, 0xf7, 0x98, 0xdc, 0xa6, 0x5c, 0xe5, 0x27, 0x23, 0x55, 0xee, 0xd1, - 0xdd, 0x9e, 0xd4, 0xa6, 0xea, 0xa0, 0x36, 0xfd, 0xb6, 0xd7, 0x71, 0xd0, 0x1f, 0x1e, 0x21, 0x3f, - 0xd9, 0xa3, 0x7f, 0x3c, 0xd2, 0xf7, 0x39, 0xa5, 0xe8, 0xa9, 0xba, 0x32, 0xa8, 0xfb, 0x73, 0xb1, - 0x42, 0xc1, 0x53, 0xf7, 0xda, 0x09, 0x42, 0x20, 0x17, 0x2b, 0x16, 0xbd, 0xb2, 0x9d, 0xfc, 0xdc, - 0x9b, 0x73, 0xca, 0xd7, 0xdf, 0x9c, 0x1b, 0xca, 0xfe, 0xa6, 0x02, 0x93, 0x4c, 0x52, 0x08, 0xdc, - 0xa7, 0x24, 0xe5, 0x4f, 0xf3, 0x9a, 0x11, 0x66, 0x81, 0x9f, 0x5a, 0xf0, 0x7e, 0x47, 0x81, 0x4c, - 0x97, 0xae, 0xdc, 0xde, 0x4b, 0x03, 0xa9, 0x9c, 0x53, 0x4a, 0x3f, 0x7b, 0x9b, 0xdf, 0x81, 0xc4, - 0x6e, 0xbd, 0x89, 0xda, 0x78, 0x25, 0xc0, 0x1f, 0xa8, 0xca, 0x7c, 0x33, 0x87, 0x0e, 0xf1, 0x39, - 0xaa, 0x5c, 0x60, 0x6e, 0x59, 0xcf, 0x40, 0x7c, 0xd5, 0x74, 0x4d, 0xa2, 0x41, 0xda, 0xab, 0xaf, - 0xa6, 0x6b, 0x66, 0x2f, 0x43, 0x7a, 0xf3, 0x98, 0xbc, 0x88, 0x54, 0x23, 0xef, 0xa0, 0x04, 0xbb, - 0x3f, 0xde, 0xaf, 0x5e, 0x5a, 0x48, 0x24, 0x6b, 0xda, 0x5d, 0x25, 0x17, 0x27, 0xfa, 0xbc, 0x02, - 0xe3, 0x5b, 0x58, 0x6d, 0x82, 0x23, 0xb0, 0xb3, 0xa0, 0x6c, 0x06, 0x1b, 0x21, 0x91, 0xd5, 0x50, - 0x36, 0xa5, 0xf6, 0x51, 0xf5, 0xcc, 0x23, 0xb5, 0x6d, 0xaa, 0xd7, 0xb6, 0x2d, 0xc4, 0x93, 0xe3, - 0xda, 0xe4, 0x42, 0x3c, 0x09, 0xda, 0x18, 0x3b, 0xef, 0x7f, 0x50, 0x41, 0xa3, 0xad, 0xce, 0x2a, - 0x3a, 0xa8, 0x5b, 0x75, 0xb7, 0xbb, 0x5f, 0xf5, 0x34, 0xd6, 0x9f, 0x85, 0x51, 0x6c, 0xd2, 0x35, - 0xf6, 0xcb, 0x7d, 0xd8, 0xf4, 0xe7, 0x58, 0x8b, 0x22, 0x51, 0xb0, 0x01, 0x12, 0x3a, 0x3e, 0x46, - 0x5f, 0x03, 0xb5, 0x5c, 0xde, 0x64, 0x8b, 0xdb, 0x4a, 0x5f, 0x28, 0x7b, 0xd9, 0x87, 0x1d, 0xb1, - 0x31, 0xe7, 0xd0, 0xc0, 0x04, 0xfa, 0x0a, 0xc4, 0xca, 0x9b, 0xac, 0xe1, 0x3d, 0x3f, 0x08, 0x8d, - 0x11, 0x2b, 0x6f, 0xce, 0xfc, 0x1b, 0x05, 0xc6, 0x02, 0xa3, 0x7a, 0x16, 0xd2, 0x74, 0x40, 0xb8, - 0xdc, 0x61, 0x23, 0x30, 0xc6, 0x75, 0x8e, 0x3d, 0xa0, 0xce, 0x33, 0x79, 0x98, 0x90, 0xc6, 0xf5, - 0x45, 0xd0, 0xc5, 0x21, 0xa6, 0x04, 0xfd, 0xd5, 0xb0, 0x90, 0x99, 0xec, 0xa3, 0x00, 0xbe, 0x5d, - 0xbd, 0x1f, 0xbb, 0x2a, 0x97, 0x76, 0x76, 0x4b, 0xab, 0x9a, 0x92, 0xfd, 0x96, 0x02, 0x29, 0xd6, - 0xb6, 0x56, 0xed, 0x16, 0xd2, 0x0b, 0xa0, 0xe4, 0x59, 0x04, 0xdd, 0x9f, 0xde, 0x4a, 0x5e, 0xbf, - 0x08, 0x4a, 0x61, 0x70, 0x57, 0x2b, 0x05, 0x7d, 0x19, 0x94, 0x22, 0x73, 0xf0, 0x60, 0x9e, 0x51, - 0x8a, 0xd9, 0x3f, 0x56, 0x61, 0x4a, 0x6c, 0xa3, 0x79, 0x3d, 0x39, 0x17, 0xbc, 0x6f, 0xca, 0x8d, - 0x5e, 0x5a, 0xbe, 0xbc, 0xb2, 0x88, 0xff, 0xf1, 0x42, 0x32, 0x1b, 0xbc, 0x85, 0xca, 0x81, 0x27, - 0x72, 0xa9, 0xd7, 0x7b, 0x22, 0xb9, 0xb8, 0xc0, 0xd0, 0xf5, 0x9e, 0x48, 0x60, 0xb6, 0xeb, 0x3d, - 0x91, 0xc0, 0x6c, 0xd7, 0x7b, 0x22, 0x81, 0xd9, 0xae, 0xbd, 0x80, 0xc0, 0x6c, 0xd7, 0x7b, 0x22, - 0x81, 0xd9, 0xae, 0xf7, 0x44, 0x02, 0xb3, 0xdd, 0xef, 0x89, 0xb0, 0xe9, 0x9e, 0xef, 0x89, 0x04, - 0xe7, 0xbb, 0xdf, 0x13, 0x09, 0xce, 0x77, 0xbf, 0x27, 0x92, 0x8b, 0xbb, 0xed, 0x0e, 0xea, 0xbd, - 0xeb, 0x10, 0xc4, 0xf7, 0xbb, 0x09, 0xf4, 0x2b, 0xf0, 0x16, 0x4c, 0xd0, 0x07, 0x12, 0x45, 0xdb, - 0x72, 0xcd, 0xba, 0x85, 0xda, 0xfa, 0x27, 0x20, 0x4d, 0x87, 0xe8, 0x6d, 0x4e, 0xd8, 0x6d, 0x20, - 0x9d, 0x67, 0xf5, 0x36, 0x20, 0x9d, 0xfd, 0x93, 0x38, 0x4c, 0xd3, 0x81, 0xb2, 0xd9, 0x44, 0x81, - 0xb7, 0x8c, 0x2e, 0x48, 0x7b, 0x4a, 0xe3, 0x18, 0x7e, 0xef, 0x9d, 0x39, 0x3a, 0x9a, 0xf7, 0xa2, - 0xe9, 0x82, 0xb4, 0xbb, 0x14, 0x94, 0xf3, 0x17, 0xa0, 0x0b, 0xd2, 0x9b, 0x47, 0x41, 0x39, 0x6f, - 0xbd, 0xf1, 0xe4, 0xf8, 0x3b, 0x48, 0x41, 0xb9, 0x55, 0x2f, 0xca, 0x2e, 0x48, 0x6f, 0x23, 0x05, - 0xe5, 0x4a, 0x5e, 0xbc, 0x5d, 0x90, 0xf6, 0x9e, 0x82, 0x72, 0x6b, 0x5e, 0xe4, 0x5d, 0x90, 0x76, - 0xa1, 0x82, 0x72, 0xb7, 0xbc, 0x18, 0xbc, 0x20, 0xbd, 0xab, 0x14, 0x94, 0x7b, 0xce, 0x8b, 0xc6, - 0x0b, 0xd2, 0x5b, 0x4b, 0x41, 0xb9, 0x75, 0x2f, 0x2e, 0xe7, 0xe5, 0xf7, 0x97, 0x82, 0x82, 0xb7, - 0xfd, 0x08, 0x9d, 0x97, 0xdf, 0x64, 0x0a, 0x4a, 0x7e, 0xd2, 0x8f, 0xd5, 0x79, 0xf9, 0x9d, 0xa6, - 0xa0, 0xe4, 0x86, 0x1f, 0xb5, 0xf3, 0xf2, 0x5e, 0x59, 0x50, 0x72, 0xd3, 0x8f, 0xdf, 0x79, 0x79, - 0xd7, 0x2c, 0x28, 0x59, 0xf6, 0x23, 0x79, 0x5e, 0xde, 0x3f, 0x0b, 0x4a, 0x6e, 0xf9, 0x0f, 0xd1, - 0xff, 0x40, 0x0a, 0x3f, 0xe1, 0x2d, 0xa8, 0xac, 0x14, 0x7e, 0x10, 0x12, 0x7a, 0x52, 0x21, 0x13, - 0x64, 0xfc, 0xb0, 0xcb, 0x4a, 0x61, 0x07, 0x21, 0x21, 0x97, 0x95, 0x42, 0x0e, 0x42, 0xc2, 0x2d, - 0x2b, 0x85, 0x1b, 0x84, 0x84, 0x5a, 0x56, 0x0a, 0x35, 0x08, 0x09, 0xb3, 0xac, 0x14, 0x66, 0x10, - 0x12, 0x62, 0x59, 0x29, 0xc4, 0x20, 0x24, 0xbc, 0xb2, 0x52, 0x78, 0x41, 0x48, 0x68, 0x9d, 0x97, - 0x43, 0x0b, 0xc2, 0xc2, 0xea, 0xbc, 0x1c, 0x56, 0x10, 0x16, 0x52, 0x8f, 0xc9, 0x21, 0x35, 0x7a, - 0xef, 0x9d, 0xb9, 0x04, 0x1e, 0x12, 0xa2, 0xe9, 0xbc, 0x1c, 0x4d, 0x10, 0x16, 0x49, 0xe7, 0xe5, - 0x48, 0x82, 0xb0, 0x28, 0x3a, 0x2f, 0x47, 0x11, 0x84, 0x45, 0xd0, 0x5b, 0x72, 0x04, 0xf9, 0xef, - 0xf8, 0x64, 0xa5, 0x2d, 0xc5, 0xa8, 0x08, 0x52, 0x07, 0x88, 0x20, 0x75, 0x80, 0x08, 0x52, 0x07, - 0x88, 0x20, 0x75, 0x80, 0x08, 0x52, 0x07, 0x88, 0x20, 0x75, 0x80, 0x08, 0x52, 0x07, 0x88, 0x20, - 0x75, 0x90, 0x08, 0x52, 0x07, 0x8a, 0x20, 0xb5, 0x57, 0x04, 0x9d, 0x97, 0xdf, 0x78, 0x80, 0xb0, - 0x82, 0x74, 0x5e, 0xde, 0xfa, 0x8c, 0x0e, 0x21, 0x75, 0xa0, 0x10, 0x52, 0x7b, 0x85, 0xd0, 0x1f, - 0xa8, 0x30, 0x15, 0x08, 0x21, 0xb6, 0x3f, 0xf4, 0x41, 0x55, 0xa0, 0xab, 0x03, 0xbc, 0x60, 0x11, - 0x16, 0x53, 0x57, 0x07, 0xd8, 0xa4, 0xee, 0x17, 0x67, 0xdd, 0x55, 0xa8, 0x34, 0x40, 0x15, 0x5a, - 0xf3, 0x62, 0xe8, 0xea, 0x00, 0x2f, 0x5e, 0x74, 0xc7, 0xde, 0xf5, 0x7e, 0x45, 0xe0, 0xb9, 0x81, - 0x8a, 0xc0, 0xfa, 0x40, 0x45, 0xe0, 0xb6, 0xef, 0xc1, 0x5f, 0x8c, 0xc1, 0x29, 0xdf, 0x83, 0xf4, - 0x13, 0xf9, 0x65, 0xad, 0xac, 0xb0, 0x45, 0xa5, 0xf3, 0x6d, 0x1b, 0xc1, 0x8d, 0xb1, 0xf5, 0x9a, - 0xbe, 0x1d, 0xdc, 0xac, 0xca, 0x9d, 0x74, 0x03, 0x47, 0xf0, 0x38, 0x7b, 0x18, 0x7a, 0x1e, 0xd4, - 0xf5, 0x9a, 0x43, 0xaa, 0x45, 0xd8, 0x69, 0x8b, 0x06, 0x9e, 0xd6, 0x0d, 0x18, 0x26, 0xe2, 0x0e, - 0x71, 0xef, 0x83, 0x9c, 0x78, 0xd5, 0x60, 0x4c, 0xd9, 0xb7, 0x14, 0x38, 0x1b, 0x08, 0xe5, 0x0f, - 0x66, 0xcb, 0xe0, 0xe6, 0x40, 0x5b, 0x06, 0x81, 0x04, 0xf1, 0xb7, 0x0f, 0x9e, 0xe8, 0xde, 0xa9, - 0x16, 0xb3, 0x44, 0xde, 0x4a, 0xf8, 0x4b, 0x30, 0xee, 0x5f, 0x01, 0xb9, 0x67, 0xbb, 0x12, 0xfd, - 0x34, 0x33, 0x2c, 0x35, 0xaf, 0x48, 0x4f, 0xd1, 0xfa, 0xc2, 0xbc, 0x6c, 0xcd, 0xe6, 0x60, 0xa2, - 0x1c, 0xfc, 0x4a, 0x54, 0xd4, 0xc3, 0x88, 0x24, 0x6e, 0xcd, 0xef, 0x7e, 0x75, 0x6e, 0x28, 0xfb, - 0x71, 0x48, 0x8b, 0xdf, 0x7a, 0x92, 0x80, 0xa3, 0x1c, 0x98, 0x8b, 0xbf, 0x8d, 0xa5, 0xff, 0x81, - 0x02, 0xa7, 0x45, 0xf1, 0xe7, 0xeb, 0xee, 0xd1, 0xba, 0x85, 0x7b, 0xfa, 0xa7, 0x21, 0x89, 0x98, - 0xe3, 0xd8, 0x8f, 0xe4, 0xb0, 0xfb, 0xc8, 0x50, 0xf1, 0x45, 0xf2, 0xaf, 0xe1, 0x41, 0xa4, 0x67, - 0x1c, 0xfc, 0xb4, 0xcb, 0x33, 0x8f, 0x43, 0x82, 0xf2, 0x07, 0xf5, 0x1a, 0x93, 0xf4, 0xfa, 0xf5, - 0x10, 0xbd, 0x48, 0x1c, 0xe9, 0xb7, 0x03, 0x7a, 0x09, 0xb7, 0xab, 0xa1, 0xe2, 0x8b, 0x3c, 0xf8, - 0x0a, 0x49, 0xdc, 0xff, 0x91, 0x88, 0x8a, 0x56, 0x72, 0x1e, 0x92, 0x25, 0x59, 0x26, 0x5c, 0xcf, - 0x55, 0x88, 0x97, 0xed, 0x1a, 0xf9, 0xf9, 0x1e, 0xf2, 0x7b, 0xd5, 0xcc, 0xc8, 0xec, 0xc7, 0xab, - 0x2f, 0x40, 0xb2, 0x78, 0x54, 0x6f, 0xd4, 0xda, 0xc8, 0x62, 0x7b, 0xf6, 0xec, 0x11, 0x3a, 0xc6, - 0x18, 0xde, 0x5c, 0xb6, 0x08, 0x93, 0x65, 0xdb, 0x2a, 0x1c, 0xbb, 0x62, 0xdd, 0x58, 0x94, 0x52, - 0x84, 0xed, 0xf9, 0x90, 0x6f, 0x89, 0x60, 0x81, 0x42, 0xe2, 0xbb, 0xef, 0xcc, 0x29, 0xbb, 0xde, - 0xf3, 0xf3, 0x4d, 0x78, 0x88, 0xa5, 0x4f, 0x17, 0xd5, 0x72, 0x14, 0xd5, 0x28, 0xdb, 0xa7, 0x16, - 0xe8, 0xd6, 0x31, 0x9d, 0x15, 0x4a, 0x77, 0x7f, 0x9a, 0xe1, 0xa6, 0xa8, 0xaf, 0x66, 0xea, 0x89, - 0x34, 0x0b, 0xa5, 0x5b, 0x8c, 0xa2, 0x93, 0x34, 0x7b, 0x0c, 0x46, 0xbd, 0x39, 0x21, 0x1a, 0xc4, - 0x4c, 0x59, 0x5e, 0xc8, 0x42, 0x4a, 0x48, 0x58, 0x3d, 0x01, 0x4a, 0x5e, 0x1b, 0xc2, 0xff, 0x15, - 0x34, 0x05, 0xff, 0x57, 0xd4, 0x62, 0x0b, 0x8f, 0xc3, 0x84, 0xf4, 0xfc, 0x12, 0xcf, 0xac, 0x6a, - 0x80, 0xff, 0x2b, 0x69, 0xa9, 0x99, 0xf8, 0xe7, 0x7e, 0x6d, 0x76, 0x68, 0xe1, 0x26, 0xe8, 0xdd, - 0x4f, 0x3a, 0xf5, 0x61, 0x88, 0xe5, 0x31, 0xe5, 0x43, 0x10, 0x2b, 0x14, 0x34, 0x65, 0x66, 0xe2, - 0xaf, 0x7f, 0xe9, 0x6c, 0xaa, 0x40, 0xbe, 0xd2, 0x7d, 0x07, 0xb9, 0x85, 0x02, 0x03, 0x3f, 0x03, - 0xa7, 0x43, 0x9f, 0x94, 0x62, 0x7c, 0xb1, 0x48, 0xf1, 0xab, 0xab, 0x5d, 0xf8, 0xd5, 0x55, 0x82, - 0x57, 0x72, 0x7c, 0xc7, 0x39, 0xaf, 0x87, 0x3c, 0x97, 0xcc, 0xd4, 0x84, 0x1d, 0xee, 0x7c, 0xee, - 0x19, 0x26, 0x5b, 0x08, 0x95, 0x45, 0x11, 0x3b, 0xd6, 0x85, 0x5c, 0x91, 0xe1, 0x8b, 0xa1, 0xf8, - 0x03, 0x69, 0x5b, 0x35, 0xb8, 0x42, 0x30, 0x92, 0xa2, 0xa7, 0xf0, 0x6a, 0x28, 0xc9, 0x91, 0xf0, - 0xb2, 0xfb, 0xaa, 0xa7, 0x70, 0x29, 0x54, 0xb6, 0x1e, 0xf1, 0xd2, 0x57, 0x29, 0x77, 0x91, 0x2d, - 0xf2, 0xf9, 0x4b, 0xfa, 0x69, 0x9e, 0xa3, 0x81, 0x0a, 0xcc, 0x0c, 0xc4, 0xa5, 0x72, 0x45, 0x06, - 0x28, 0xf4, 0x04, 0xf4, 0xb6, 0x12, 0x47, 0xe6, 0x9e, 0x63, 0x24, 0xc5, 0x9e, 0x24, 0x11, 0xa6, - 0xe2, 0xf0, 0xc2, 0xee, 0xdd, 0x77, 0x67, 0x87, 0xde, 0x7e, 0x77, 0x76, 0xe8, 0xbf, 0xbc, 0x3b, - 0x3b, 0xf4, 0xbd, 0x77, 0x67, 0x95, 0x1f, 0xbc, 0x3b, 0xab, 0xfc, 0xe8, 0xdd, 0x59, 0xe5, 0xc7, - 0xef, 0xce, 0x2a, 0x6f, 0xdc, 0x9b, 0x55, 0xbe, 0x7e, 0x6f, 0x56, 0xf9, 0xc6, 0xbd, 0x59, 0xe5, - 0xf7, 0xee, 0xcd, 0x2a, 0x6f, 0xdd, 0x9b, 0x55, 0xee, 0xde, 0x9b, 0x55, 0xde, 0xbe, 0x37, 0xab, - 0x7c, 0xef, 0xde, 0xac, 0xf2, 0x83, 0x7b, 0xb3, 0x43, 0x3f, 0xba, 0x37, 0xab, 0xfc, 0xf8, 0xde, - 0xec, 0xd0, 0x1b, 0xef, 0xcd, 0x0e, 0xbd, 0xf9, 0xde, 0xec, 0xd0, 0xd7, 0xdf, 0x9b, 0x55, 0xe0, - 0xbd, 0x15, 0x98, 0x65, 0xdf, 0x24, 0xb3, 0x50, 0x1d, 0x07, 0xdd, 0x45, 0xf7, 0x08, 0x91, 0x86, - 0xe0, 0x32, 0xff, 0x05, 0x30, 0x6f, 0xe0, 0x84, 0xdf, 0x29, 0x9b, 0xb9, 0xdf, 0x6f, 0xb0, 0x65, - 0xff, 0x6d, 0x02, 0x46, 0xf8, 0x93, 0xe0, 0xb0, 0x9f, 0x33, 0xbf, 0x02, 0xc9, 0xa3, 0x7a, 0xc3, - 0x6c, 0xd7, 0xdd, 0x63, 0xf6, 0x08, 0xf4, 0xe1, 0x45, 0x5f, 0x6d, 0xfe, 0xd0, 0xf4, 0xb9, 0x4e, - 0xd3, 0xee, 0xb4, 0x0d, 0x4f, 0x54, 0x3f, 0x0b, 0xe9, 0x23, 0x54, 0x3f, 0x3c, 0x72, 0x2b, 0x75, - 0xab, 0x52, 0x6d, 0x92, 0x4e, 0x79, 0xcc, 0x00, 0x3a, 0xb6, 0x6e, 0x15, 0x9b, 0xf8, 0x64, 0x35, - 0xd3, 0x35, 0xc9, 0x1d, 0x7a, 0xda, 0x20, 0x9f, 0xf5, 0x73, 0x90, 0x6e, 0x23, 0xa7, 0xd3, 0x70, - 0x2b, 0x55, 0xbb, 0x63, 0xb9, 0xa4, 0x97, 0x55, 0x8d, 0x14, 0x1d, 0x2b, 0xe2, 0x21, 0xfd, 0x31, - 0x18, 0x73, 0xdb, 0x1d, 0x54, 0x71, 0xaa, 0xb6, 0xeb, 0x34, 0x4d, 0x8b, 0xf4, 0xb2, 0x49, 0x23, - 0x8d, 0x07, 0x77, 0xd8, 0x18, 0xf9, 0x25, 0xfc, 0xaa, 0xdd, 0x46, 0xe4, 0x56, 0x3a, 0x66, 0xd0, - 0x03, 0x5d, 0x03, 0xf5, 0x65, 0x74, 0x4c, 0x6e, 0xd6, 0xe2, 0x06, 0xfe, 0xa8, 0x3f, 0x09, 0xc3, - 0xf4, 0x4f, 0xd9, 0x90, 0xce, 0x9a, 0x6c, 0x5c, 0x7b, 0x97, 0x46, 0x1f, 0xd0, 0x1a, 0x4c, 0x40, - 0xbf, 0x01, 0x23, 0x2e, 0x6a, 0xb7, 0xcd, 0xba, 0x45, 0x6e, 0x9c, 0x52, 0xcb, 0x73, 0x21, 0x66, - 0xd8, 0xa5, 0x12, 0xe4, 0x17, 0x81, 0x0d, 0x2e, 0xaf, 0x5f, 0x81, 0x34, 0x91, 0x5b, 0xae, 0xd0, - 0x3f, 0xf7, 0x93, 0xea, 0x19, 0xcb, 0x29, 0x2a, 0xc7, 0xf7, 0x09, 0x38, 0x8c, 0xfe, 0x1a, 0xe2, - 0x18, 0x39, 0xed, 0x63, 0x21, 0xa7, 0x25, 0x65, 0x77, 0x99, 0xb4, 0x8c, 0xf4, 0xd4, 0x8c, 0x87, - 0xfe, 0x5e, 0xe2, 0x26, 0xa4, 0x45, 0xbd, 0xb8, 0x19, 0x68, 0xeb, 0x43, 0xcc, 0xf0, 0x84, 0xff, - 0xa7, 0x14, 0x7a, 0x58, 0x81, 0xce, 0xe7, 0x62, 0xd7, 0x95, 0x99, 0x6d, 0xd0, 0xe4, 0xf3, 0x85, - 0x50, 0x5e, 0x08, 0x52, 0x6a, 0xe2, 0xc5, 0x92, 0xa7, 0xe4, 0x3e, 0x63, 0xf6, 0x59, 0x18, 0xa6, - 0xf1, 0xa3, 0xa7, 0x60, 0xc4, 0xff, 0xa1, 0xcd, 0x24, 0xc4, 0xb7, 0xf7, 0xca, 0x3b, 0xf4, 0x17, - 0x73, 0x77, 0x36, 0xf2, 0xdb, 0x3b, 0xbb, 0xeb, 0xc5, 0x4f, 0x6a, 0x31, 0x7d, 0x02, 0x52, 0x85, - 0xf5, 0x8d, 0x8d, 0x4a, 0x21, 0xbf, 0xbe, 0x51, 0xba, 0xa3, 0xa9, 0xd9, 0x59, 0x18, 0xa6, 0x7a, - 0x92, 0x5f, 0xfe, 0xeb, 0x58, 0xd6, 0x31, 0x6f, 0x1d, 0xc8, 0x41, 0xf6, 0x9b, 0x3a, 0x8c, 0xe4, - 0x1b, 0x8d, 0x4d, 0xb3, 0xe5, 0xe8, 0xcf, 0xc3, 0x24, 0xfd, 0x4d, 0x8e, 0x5d, 0x7b, 0x95, 0xfc, - 0x40, 0x25, 0x2e, 0x0c, 0x0a, 0xfb, 0x13, 0x12, 0xfe, 0x75, 0x33, 0xf1, 0xc5, 0x2e, 0x59, 0x6a, - 0xe0, 0x6e, 0x0e, 0x7d, 0x17, 0x34, 0x3e, 0xb8, 0xd6, 0xb0, 0x4d, 0x17, 0xf3, 0xc6, 0xd8, 0xef, - 0x47, 0xf6, 0xe6, 0xe5, 0xa2, 0x94, 0xb6, 0x8b, 0x41, 0xff, 0x04, 0x24, 0xd7, 0x2d, 0xf7, 0xf2, - 0x32, 0x66, 0xe3, 0x7f, 0x9e, 0xa9, 0x9b, 0x8d, 0x8b, 0x50, 0x16, 0x0f, 0xc1, 0xd0, 0x57, 0x57, - 0x30, 0x3a, 0xde, 0x0f, 0x4d, 0x44, 0x7c, 0x34, 0x39, 0xd4, 0x9f, 0x85, 0x51, 0x7c, 0x67, 0x42, - 0x4f, 0x9e, 0xe0, 0x6d, 0x6b, 0x17, 0xdc, 0x93, 0xa1, 0x78, 0x1f, 0xc3, 0x09, 0xe8, 0xf9, 0x87, - 0xfb, 0x12, 0x08, 0x0a, 0xf8, 0x18, 0x4c, 0xb0, 0xe3, 0x69, 0x30, 0xd2, 0x93, 0x60, 0x47, 0xd2, - 0x60, 0x47, 0xd4, 0x60, 0xc7, 0xd3, 0x20, 0xd9, 0x97, 0x40, 0xd4, 0xc0, 0x3b, 0xd6, 0x0b, 0x00, - 0x6b, 0xf5, 0xd7, 0x50, 0x8d, 0xaa, 0x40, 0xff, 0x78, 0x53, 0x36, 0x84, 0xc1, 0x17, 0xa2, 0x14, - 0x02, 0x4a, 0x2f, 0x41, 0x6a, 0xe7, 0xc0, 0x27, 0x81, 0xae, 0x3c, 0xf6, 0xd4, 0x38, 0x90, 0x58, - 0x44, 0x9c, 0xa7, 0x0a, 0xbd, 0x98, 0x54, 0x7f, 0x55, 0x84, 0xab, 0x11, 0x50, 0xbe, 0x2a, 0x94, - 0x24, 0x1d, 0xa1, 0x8a, 0xc0, 0x22, 0xe2, 0x70, 0x31, 0x2c, 0xd8, 0x36, 0x96, 0x64, 0x55, 0x69, - 0x2e, 0x84, 0x82, 0x49, 0xb0, 0x62, 0xc8, 0x8e, 0x88, 0x47, 0x48, 0x90, 0x63, 0xf0, 0x78, 0x6f, - 0x8f, 0x70, 0x19, 0xee, 0x11, 0x7e, 0x2c, 0xe6, 0x19, 0x79, 0x9b, 0x15, 0xf3, 0x4c, 0x44, 0xe6, - 0x19, 0x17, 0x95, 0xf2, 0x8c, 0x0f, 0xeb, 0x9f, 0x82, 0x09, 0x3e, 0x86, 0xcb, 0x13, 0x26, 0xd5, - 0xd8, 0x9f, 0xb7, 0xeb, 0x4d, 0xca, 0x24, 0x29, 0xa7, 0x8c, 0xd7, 0xcb, 0x30, 0xce, 0x87, 0x36, - 0x1d, 0x72, 0xb9, 0x93, 0xec, 0x2f, 0x97, 0xf4, 0x66, 0xa4, 0x82, 0x94, 0x50, 0x42, 0xcf, 0xac, - 0xc2, 0x74, 0x78, 0x35, 0x12, 0xcb, 0xef, 0x28, 0x2d, 0xbf, 0xa7, 0xc4, 0xf2, 0xab, 0x88, 0xe5, - 0xbb, 0x08, 0xa7, 0x43, 0x6b, 0x4f, 0x14, 0x49, 0x4c, 0x24, 0xb9, 0x09, 0x63, 0x81, 0x92, 0x23, - 0x82, 0x13, 0x21, 0xe0, 0x44, 0x37, 0xd8, 0x0f, 0xad, 0x90, 0xd5, 0x23, 0x00, 0x56, 0x45, 0xf0, - 0x27, 0x60, 0x3c, 0x58, 0x6f, 0x44, 0xf4, 0x58, 0x08, 0x7a, 0x2c, 0x04, 0x1d, 0x7e, 0xee, 0x78, - 0x08, 0x3a, 0x2e, 0xa1, 0x77, 0x7a, 0x9e, 0x7b, 0x32, 0x04, 0x3d, 0x19, 0x82, 0x0e, 0x3f, 0xb7, - 0x1e, 0x82, 0xd6, 0x45, 0xf4, 0xd3, 0x30, 0x21, 0x95, 0x18, 0x11, 0x3e, 0x12, 0x02, 0x1f, 0x11, - 0xe1, 0xcf, 0x80, 0x26, 0x17, 0x17, 0x11, 0x3f, 0x11, 0x82, 0x9f, 0x08, 0x3b, 0x7d, 0xb8, 0xf6, - 0xc3, 0x21, 0xf0, 0xe1, 0xd0, 0xd3, 0x87, 0xe3, 0xb5, 0x10, 0xbc, 0x26, 0xe2, 0x73, 0x90, 0x16, - 0xab, 0x89, 0x88, 0x4d, 0x86, 0x60, 0x93, 0xb2, 0xdd, 0x03, 0xc5, 0x24, 0x2a, 0xd2, 0x47, 0x7b, - 0xa4, 0x4b, 0xa0, 0x84, 0x44, 0x91, 0xa4, 0x45, 0x92, 0x4f, 0xc3, 0xa9, 0xb0, 0x92, 0x11, 0xc2, - 0x31, 0x2f, 0x72, 0x8c, 0xe3, 0x1e, 0xd1, 0x6f, 0xf6, 0xcc, 0x96, 0xd4, 0x38, 0xcd, 0xbc, 0x08, - 0x53, 0x21, 0x85, 0x23, 0x84, 0x76, 0x31, 0xd8, 0x8d, 0x65, 0x04, 0x5a, 0x52, 0x04, 0xea, 0xd6, - 0xe1, 0xb6, 0x5d, 0xb7, 0x5c, 0xb1, 0x2b, 0xfb, 0xd6, 0x14, 0x8c, 0xb3, 0xf2, 0xb4, 0xd5, 0xae, - 0xa1, 0x36, 0xaa, 0xe9, 0x7f, 0xa1, 0x77, 0xef, 0xb4, 0xd4, 0x5d, 0xd4, 0x18, 0xea, 0x04, 0x2d, - 0xd4, 0x8b, 0x3d, 0x5b, 0xa8, 0x8b, 0xd1, 0xf4, 0x51, 0x9d, 0x54, 0xb1, 0xab, 0x93, 0x7a, 0xa2, - 0x37, 0x69, 0xaf, 0x86, 0xaa, 0xd8, 0xd5, 0x50, 0xf5, 0x27, 0x09, 0xed, 0xab, 0xd6, 0xba, 0xfb, - 0xaa, 0xf9, 0xde, 0x2c, 0xbd, 0xdb, 0xab, 0xb5, 0xee, 0xf6, 0x2a, 0x82, 0x27, 0xbc, 0xcb, 0x5a, - 0xeb, 0xee, 0xb2, 0xfa, 0xf0, 0xf4, 0x6e, 0xb6, 0xd6, 0xba, 0x9b, 0xad, 0x08, 0x9e, 0xf0, 0x9e, - 0x6b, 0x3d, 0xa4, 0xe7, 0x7a, 0xb2, 0x37, 0x51, 0xbf, 0xd6, 0x6b, 0x23, 0xac, 0xf5, 0x5a, 0xe8, - 0xa3, 0x54, 0xdf, 0x0e, 0x6c, 0x3d, 0xa4, 0x03, 0x8b, 0x52, 0xac, 0x47, 0x23, 0xb6, 0x11, 0xd6, - 0x88, 0x45, 0x2a, 0xd6, 0xab, 0x1f, 0xfb, 0x39, 0xb9, 0x1f, 0xbb, 0xd0, 0x9b, 0x29, 0xbc, 0x2d, - 0x5b, 0xeb, 0x6e, 0xcb, 0xe6, 0xa3, 0x72, 0x2e, 0xac, 0x3b, 0x7b, 0xb1, 0x67, 0x77, 0x36, 0x40, - 0x0a, 0x47, 0x35, 0x69, 0x2f, 0xf4, 0x6a, 0xd2, 0x16, 0xa3, 0xb9, 0xfb, 0xf7, 0x6a, 0x7b, 0x3d, - 0x7a, 0xb5, 0xa7, 0xa2, 0x89, 0x3f, 0x6a, 0xd9, 0x3e, 0x6a, 0xd9, 0x3e, 0x6a, 0xd9, 0x3e, 0x6a, - 0xd9, 0x7e, 0xf6, 0x2d, 0x5b, 0x2e, 0xfe, 0xf9, 0xaf, 0xce, 0x29, 0xd9, 0xff, 0xac, 0x7a, 0x7f, - 0x6c, 0xed, 0xf9, 0xba, 0x7b, 0x84, 0xcb, 0xdb, 0x26, 0xa4, 0xc9, 0x8f, 0xff, 0x36, 0xcd, 0x56, - 0xab, 0x6e, 0x1d, 0xb2, 0x9e, 0x6d, 0xa1, 0xfb, 0x51, 0x22, 0x03, 0x90, 0x3f, 0x34, 0xb3, 0x49, - 0x85, 0xd9, 0x72, 0x63, 0xf9, 0x23, 0xfa, 0x6d, 0x48, 0x35, 0x9d, 0x43, 0x8f, 0x2d, 0xd6, 0xb5, - 0x10, 0x4a, 0x6c, 0xf4, 0x4a, 0x7d, 0x32, 0x68, 0x7a, 0x03, 0x58, 0xb5, 0xfd, 0x63, 0xd7, 0x57, - 0x4d, 0x8d, 0x52, 0x0d, 0xfb, 0x34, 0xa8, 0xda, 0xbe, 0x3f, 0x82, 0xc3, 0x56, 0xd6, 0x3d, 0xaa, - 0xd2, 0x05, 0x82, 0xe7, 0x79, 0x98, 0x90, 0xb4, 0x0d, 0xc9, 0xf9, 0xfb, 0xf0, 0x0d, 0x56, 0x4c, - 0xd6, 0x3c, 0x2a, 0x27, 0xc4, 0x80, 0xcc, 0x3e, 0x0a, 0x63, 0x01, 0x6e, 0x3d, 0x0d, 0xca, 0x01, - 0xfb, 0x2a, 0xa5, 0x72, 0x90, 0xfd, 0x8a, 0x02, 0x29, 0xf6, 0x1a, 0xc1, 0xb6, 0x59, 0x6f, 0xeb, - 0xcf, 0x41, 0xbc, 0xc1, 0xbf, 0xce, 0x74, 0xbf, 0x5f, 0x9d, 0x25, 0x0c, 0xfa, 0x1a, 0x24, 0xda, - 0xde, 0xd7, 0x9d, 0xee, 0xeb, 0xfb, 0xb0, 0x04, 0x9e, 0xbd, 0xab, 0xc0, 0x24, 0x7b, 0xcb, 0xd5, - 0x61, 0x2f, 0x3f, 0x9b, 0xad, 0x99, 0x6f, 0x2a, 0x30, 0xea, 0x1d, 0xe9, 0xfb, 0x30, 0xee, 0x1d, - 0xd0, 0x17, 0xec, 0x69, 0xa4, 0xe6, 0x04, 0x0b, 0x77, 0x71, 0x2c, 0x86, 0x7c, 0xa2, 0x1b, 0x51, - 0x74, 0x4d, 0x0e, 0x0e, 0xce, 0xe4, 0x61, 0x2a, 0x44, 0xec, 0x24, 0x0b, 0x72, 0xf6, 0x1c, 0x8c, - 0x96, 0x6d, 0x97, 0xfe, 0x6a, 0x8e, 0x7e, 0x4a, 0xd8, 0x55, 0x28, 0xc4, 0xb4, 0x21, 0x02, 0x5e, - 0x38, 0x07, 0x23, 0x2c, 0xfb, 0xf5, 0x61, 0x88, 0x6d, 0xe6, 0xb5, 0x21, 0xf2, 0x7f, 0x41, 0x53, - 0xc8, 0xff, 0x45, 0x2d, 0x56, 0xd8, 0xb8, 0x8f, 0x5d, 0xa6, 0xa1, 0xb7, 0xef, 0xcd, 0x0e, 0x85, - 0xed, 0x32, 0xed, 0x0f, 0x53, 0xf3, 0xfc, 0x69, 0x00, 0x00, 0x00, 0xff, 0xff, 0x46, 0x57, 0xac, - 0xcc, 0x69, 0x83, 0x00, 0x00, + 0xba, 0x21, 0x89, 0xaa, 0x54, 0x4a, 0x59, 0x27, 0x1b, 0x6f, 0xee, 0xc9, 0x26, 0x15, 0xaf, 0xe3, + 0x8b, 0xbc, 0x5b, 0xbb, 0xf6, 0x6e, 0x6e, 0x5e, 0x67, 0xe3, 0xec, 0x3a, 0xa9, 0xac, 0xf2, 0xe0, + 0x64, 0xf2, 0x92, 0xd2, 0x26, 0x2f, 0x29, 0x57, 0x4a, 0x65, 0x8d, 0x9c, 0x8a, 0x93, 0x38, 0x89, + 0xb3, 0x51, 0x55, 0x5c, 0xe5, 0x7d, 0x48, 0x9d, 0x5b, 0xf7, 0xe9, 0x83, 0x06, 0x1a, 0x1c, 0x49, + 0xb6, 0x1f, 0xfc, 0x32, 0x83, 0x3e, 0xe7, 0xff, 0xbe, 0xfe, 0xfb, 0xbf, 0x9c, 0xf3, 0xf7, 0x39, + 0x07, 0x20, 0xdc, 0xcd, 0xc3, 0x99, 0x43, 0xdb, 0x3e, 0x6c, 0xa2, 0x0b, 0xed, 0x8e, 0xed, 0xda, + 0xfb, 0xdd, 0x83, 0x0b, 0x75, 0xe4, 0xd4, 0x3a, 0x8d, 0xb6, 0x6b, 0x77, 0x96, 0x48, 0x9b, 0x3e, + 0x49, 0x25, 0x96, 0xb8, 0x44, 0x6e, 0x13, 0xa6, 0xd6, 0x1a, 0x4d, 0xb4, 0xea, 0x09, 0xee, 0x20, + 0x57, 0xbf, 0x0e, 0xf1, 0x83, 0x46, 0x13, 0x65, 0x95, 0x33, 0xea, 0x42, 0x7a, 0xf9, 0xdc, 0x92, + 0x04, 0x5a, 0x0a, 0x22, 0xb6, 0x71, 0xb3, 0x41, 0x10, 0xb9, 0xef, 0xc5, 0x61, 0x3a, 0xa4, 0x57, + 0xd7, 0x21, 0x6e, 0x99, 0x2d, 0xcc, 0xa8, 0x2c, 0xa4, 0x0c, 0xf2, 0x59, 0xcf, 0xc2, 0x58, 0xdb, + 0xac, 0xbd, 0x6c, 0x1e, 0xa2, 0x6c, 0x8c, 0x34, 0xf3, 0x4b, 0x7d, 0x0e, 0xa0, 0x8e, 0xda, 0xc8, + 0xaa, 0x23, 0xab, 0x76, 0x9c, 0x55, 0xcf, 0xa8, 0x0b, 0x29, 0x43, 0x68, 0xd1, 0x3f, 0x06, 0x53, + 0xed, 0xee, 0x7e, 0xb3, 0x51, 0xab, 0x0a, 0x62, 0x70, 0x46, 0x5d, 0x48, 0x18, 0x1a, 0xed, 0x58, + 0xf5, 0x85, 0x1f, 0x87, 0xc9, 0x57, 0x91, 0xf9, 0xb2, 0x28, 0x9a, 0x26, 0xa2, 0x13, 0xb8, 0x59, + 0x10, 0x2c, 0x41, 0xa6, 0x85, 0x1c, 0xc7, 0x3c, 0x44, 0x55, 0xf7, 0xb8, 0x8d, 0xb2, 0x71, 0xf2, + 0xf4, 0x67, 0x7a, 0x9e, 0x5e, 0x7e, 0xf2, 0x34, 0x43, 0xed, 0x1e, 0xb7, 0x91, 0x5e, 0x80, 0x14, + 0xb2, 0xba, 0x2d, 0xca, 0x90, 0xe8, 0x63, 0xbf, 0xb2, 0xd5, 0x6d, 0xc9, 0x2c, 0x49, 0x0c, 0x63, + 0x14, 0x63, 0x0e, 0xea, 0xbc, 0xd2, 0xa8, 0xa1, 0xec, 0x28, 0x21, 0x78, 0xbc, 0x87, 0x60, 0x87, + 0xf6, 0xcb, 0x1c, 0x1c, 0xa7, 0x97, 0x20, 0x85, 0x5e, 0x73, 0x91, 0xe5, 0x34, 0x6c, 0x2b, 0x3b, + 0x46, 0x48, 0x1e, 0x0b, 0xf1, 0x22, 0x6a, 0xd6, 0x65, 0x0a, 0x1f, 0xa7, 0x5f, 0x85, 0x31, 0xbb, + 0xed, 0x36, 0x6c, 0xcb, 0xc9, 0x26, 0xcf, 0x28, 0x0b, 0xe9, 0xe5, 0xd3, 0xa1, 0x81, 0xb0, 0x45, + 0x65, 0x0c, 0x2e, 0xac, 0xaf, 0x83, 0xe6, 0xd8, 0xdd, 0x4e, 0x0d, 0x55, 0x6b, 0x76, 0x1d, 0x55, + 0x1b, 0xd6, 0x81, 0x9d, 0x4d, 0x11, 0x82, 0xf9, 0xde, 0x07, 0x21, 0x82, 0x25, 0xbb, 0x8e, 0xd6, + 0xad, 0x03, 0xdb, 0x98, 0x70, 0x02, 0xd7, 0xfa, 0x0c, 0x8c, 0x3a, 0xc7, 0x96, 0x6b, 0xbe, 0x96, + 0xcd, 0x90, 0x08, 0x61, 0x57, 0xb9, 0x3f, 0x18, 0x85, 0xc9, 0x61, 0x42, 0xec, 0x26, 0x24, 0x0e, + 0xf0, 0x53, 0x66, 0x63, 0x27, 0xb1, 0x01, 0xc5, 0x04, 0x8d, 0x38, 0x7a, 0x9f, 0x46, 0x2c, 0x40, + 0xda, 0x42, 0x8e, 0x8b, 0xea, 0x34, 0x22, 0xd4, 0x21, 0x63, 0x0a, 0x28, 0xa8, 0x37, 0xa4, 0xe2, + 0xf7, 0x15, 0x52, 0x2f, 0xc0, 0xa4, 0xa7, 0x52, 0xb5, 0x63, 0x5a, 0x87, 0x3c, 0x36, 0x2f, 0x44, + 0x69, 0xb2, 0x54, 0xe6, 0x38, 0x03, 0xc3, 0x8c, 0x09, 0x14, 0xb8, 0xd6, 0x57, 0x01, 0x6c, 0x0b, + 0xd9, 0x07, 0xd5, 0x3a, 0xaa, 0x35, 0xb3, 0xc9, 0x3e, 0x56, 0xda, 0xc2, 0x22, 0x3d, 0x56, 0xb2, + 0x69, 0x6b, 0xad, 0xa9, 0xdf, 0xf0, 0x43, 0x6d, 0xac, 0x4f, 0xa4, 0x6c, 0xd2, 0x24, 0xeb, 0x89, + 0xb6, 0x3d, 0x98, 0xe8, 0x20, 0x1c, 0xf7, 0xa8, 0xce, 0x9e, 0x2c, 0x45, 0x94, 0x58, 0x8a, 0x7c, + 0x32, 0x83, 0xc1, 0xe8, 0x83, 0x8d, 0x77, 0xc4, 0x4b, 0xfd, 0x51, 0xf0, 0x1a, 0xaa, 0x24, 0xac, + 0x80, 0x8c, 0x42, 0x19, 0xde, 0x58, 0x31, 0x5b, 0x68, 0xf6, 0x75, 0x98, 0x08, 0x9a, 0x47, 0x3f, + 0x05, 0x09, 0xc7, 0x35, 0x3b, 0x2e, 0x89, 0xc2, 0x84, 0x41, 0x2f, 0x74, 0x0d, 0x54, 0x64, 0xd5, + 0xc9, 0x28, 0x97, 0x30, 0xf0, 0x47, 0xfd, 0x17, 0xfc, 0x07, 0x56, 0xc9, 0x03, 0x9f, 0xef, 0xf5, + 0x68, 0x80, 0x59, 0x7e, 0xee, 0xd9, 0x6b, 0x30, 0x1e, 0x78, 0x80, 0x61, 0x6f, 0x9d, 0xfb, 0xb3, + 0xf0, 0x40, 0x28, 0xb5, 0xfe, 0x02, 0x9c, 0xea, 0x5a, 0x0d, 0xcb, 0x45, 0x9d, 0x76, 0x07, 0xe1, + 0x88, 0xa5, 0xb7, 0xca, 0xfe, 0xd7, 0xb1, 0x3e, 0x31, 0xb7, 0x27, 0x4a, 0x53, 0x16, 0x63, 0xba, + 0xdb, 0xdb, 0xb8, 0x98, 0x4a, 0x7e, 0x7f, 0x4c, 0x7b, 0xe3, 0x8d, 0x37, 0xde, 0x88, 0xe5, 0x3e, + 0x37, 0x0a, 0xa7, 0xc2, 0x72, 0x26, 0x34, 0x7d, 0x67, 0x60, 0xd4, 0xea, 0xb6, 0xf6, 0x51, 0x87, + 0x18, 0x29, 0x61, 0xb0, 0x2b, 0xbd, 0x00, 0x89, 0xa6, 0xb9, 0x8f, 0x9a, 0xd9, 0xf8, 0x19, 0x65, + 0x61, 0x62, 0xf9, 0x63, 0x43, 0x65, 0xe5, 0xd2, 0x06, 0x86, 0x18, 0x14, 0xa9, 0x3f, 0x03, 0x71, + 0x36, 0x44, 0x63, 0x86, 0xc5, 0xe1, 0x18, 0x70, 0x2e, 0x19, 0x04, 0xa7, 0x3f, 0x0c, 0x29, 0xfc, + 0x3f, 0x8d, 0x8d, 0x51, 0xa2, 0x73, 0x12, 0x37, 0xe0, 0xb8, 0xd0, 0x67, 0x21, 0x49, 0xd2, 0xa4, + 0x8e, 0xf8, 0xd4, 0xe6, 0x5d, 0xe3, 0xc0, 0xaa, 0xa3, 0x03, 0xb3, 0xdb, 0x74, 0xab, 0xaf, 0x98, + 0xcd, 0x2e, 0x22, 0x01, 0x9f, 0x32, 0x32, 0xac, 0xf1, 0x53, 0xb8, 0x4d, 0x9f, 0x87, 0x34, 0xcd, + 0xaa, 0x86, 0x55, 0x47, 0xaf, 0x91, 0xd1, 0x33, 0x61, 0xd0, 0x44, 0x5b, 0xc7, 0x2d, 0xf8, 0xf6, + 0x2f, 0x39, 0xb6, 0xc5, 0x43, 0x93, 0xdc, 0x02, 0x37, 0x90, 0xdb, 0x5f, 0x93, 0x07, 0xee, 0x47, + 0xc2, 0x1f, 0x4f, 0x8e, 0xa9, 0xdc, 0x37, 0x63, 0x10, 0x27, 0xe3, 0xc5, 0x24, 0xa4, 0x77, 0xef, + 0x6c, 0x97, 0xab, 0xab, 0x5b, 0x7b, 0xc5, 0x8d, 0xb2, 0xa6, 0xe8, 0x13, 0x00, 0xa4, 0x61, 0x6d, + 0x63, 0xab, 0xb0, 0xab, 0xc5, 0xbc, 0xeb, 0xf5, 0xca, 0xee, 0xd5, 0x15, 0x4d, 0xf5, 0x00, 0x7b, + 0xb4, 0x21, 0x2e, 0x0a, 0x5c, 0x5e, 0xd6, 0x12, 0xba, 0x06, 0x19, 0x4a, 0xb0, 0xfe, 0x42, 0x79, + 0xf5, 0xea, 0x8a, 0x36, 0x1a, 0x6c, 0xb9, 0xbc, 0xac, 0x8d, 0xe9, 0xe3, 0x90, 0x22, 0x2d, 0xc5, + 0xad, 0xad, 0x0d, 0x2d, 0xe9, 0x71, 0xee, 0xec, 0x1a, 0xeb, 0x95, 0x5b, 0x5a, 0xca, 0xe3, 0xbc, + 0x65, 0x6c, 0xed, 0x6d, 0x6b, 0xe0, 0x31, 0x6c, 0x96, 0x77, 0x76, 0x0a, 0xb7, 0xca, 0x5a, 0xda, + 0x93, 0x28, 0xde, 0xd9, 0x2d, 0xef, 0x68, 0x99, 0x80, 0x5a, 0x97, 0x97, 0xb5, 0x71, 0xef, 0x16, + 0xe5, 0xca, 0xde, 0xa6, 0x36, 0xa1, 0x4f, 0xc1, 0x38, 0xbd, 0x05, 0x57, 0x62, 0x52, 0x6a, 0xba, + 0xba, 0xa2, 0x69, 0xbe, 0x22, 0x94, 0x65, 0x2a, 0xd0, 0x70, 0x75, 0x45, 0xd3, 0x73, 0x25, 0x48, + 0x90, 0xe8, 0xd2, 0x75, 0x98, 0xd8, 0x28, 0x14, 0xcb, 0x1b, 0xd5, 0xad, 0xed, 0xdd, 0xf5, 0xad, + 0x4a, 0x61, 0x43, 0x53, 0xfc, 0x36, 0xa3, 0xfc, 0xc9, 0xbd, 0x75, 0xa3, 0xbc, 0xaa, 0xc5, 0xc4, + 0xb6, 0xed, 0x72, 0x61, 0xb7, 0xbc, 0xaa, 0xa9, 0xb9, 0x1a, 0x9c, 0x0a, 0x1b, 0x27, 0x43, 0x33, + 0x43, 0x70, 0x71, 0xac, 0x8f, 0x8b, 0x09, 0x57, 0x8f, 0x8b, 0xdf, 0x8b, 0xc1, 0x74, 0xc8, 0x5c, + 0x11, 0x7a, 0x93, 0x67, 0x21, 0x41, 0x43, 0x94, 0xce, 0x9e, 0x4f, 0x84, 0x4e, 0x3a, 0x24, 0x60, + 0x7b, 0x66, 0x50, 0x82, 0x13, 0x2b, 0x08, 0xb5, 0x4f, 0x05, 0x81, 0x29, 0x7a, 0xc6, 0xf4, 0x3f, + 0xdd, 0x33, 0xa6, 0xd3, 0x69, 0xef, 0xea, 0x30, 0xd3, 0x1e, 0x69, 0x3b, 0xd9, 0xd8, 0x9e, 0x08, + 0x19, 0xdb, 0x6f, 0xc2, 0x54, 0x0f, 0xd1, 0xd0, 0x63, 0xec, 0x67, 0x14, 0xc8, 0xf6, 0x33, 0x4e, + 0xc4, 0x48, 0x17, 0x0b, 0x8c, 0x74, 0x37, 0x65, 0x0b, 0x9e, 0xed, 0xef, 0x84, 0x1e, 0x5f, 0x7f, + 0x55, 0x81, 0x99, 0xf0, 0x4a, 0x31, 0x54, 0x87, 0x67, 0x60, 0xb4, 0x85, 0xdc, 0x23, 0x9b, 0x57, + 0x4b, 0xe7, 0x43, 0xe6, 0x60, 0xdc, 0x2d, 0x3b, 0x9b, 0xa1, 0xc4, 0x49, 0x5c, 0xed, 0x57, 0xee, + 0x51, 0x6d, 0x7a, 0x34, 0xfd, 0x95, 0x18, 0x3c, 0x10, 0x4a, 0x1e, 0xaa, 0xe8, 0x23, 0x00, 0x0d, + 0xab, 0xdd, 0x75, 0x69, 0x45, 0x44, 0x07, 0xd8, 0x14, 0x69, 0x21, 0x83, 0x17, 0x1e, 0x3c, 0xbb, + 0xae, 0xd7, 0xaf, 0x92, 0x7e, 0xa0, 0x4d, 0x44, 0xe0, 0xba, 0xaf, 0x68, 0x9c, 0x28, 0x3a, 0xd7, + 0xe7, 0x49, 0x7b, 0x02, 0xf3, 0x22, 0x68, 0xb5, 0x66, 0x03, 0x59, 0x6e, 0xd5, 0x71, 0x3b, 0xc8, + 0x6c, 0x35, 0xac, 0x43, 0x32, 0x83, 0x24, 0xf3, 0x89, 0x03, 0xb3, 0xe9, 0x20, 0x63, 0x92, 0x76, + 0xef, 0xf0, 0x5e, 0x8c, 0x20, 0x01, 0xd4, 0x11, 0x10, 0xa3, 0x01, 0x04, 0xed, 0xf6, 0x10, 0xb9, + 0xbf, 0x9a, 0x82, 0xb4, 0x50, 0x57, 0xeb, 0x67, 0x21, 0xf3, 0x92, 0xf9, 0x8a, 0x59, 0xe5, 0xef, + 0x4a, 0xd4, 0x12, 0x69, 0xdc, 0xb6, 0xcd, 0xde, 0x97, 0x2e, 0xc2, 0x29, 0x22, 0x62, 0x77, 0x5d, + 0xd4, 0xa9, 0xd6, 0x9a, 0xa6, 0xe3, 0x10, 0xa3, 0x25, 0x89, 0xa8, 0x8e, 0xfb, 0xb6, 0x70, 0x57, + 0x89, 0xf7, 0xe8, 0x57, 0x60, 0x9a, 0x20, 0x5a, 0xdd, 0xa6, 0xdb, 0x68, 0x37, 0x51, 0x15, 0xbf, + 0xbd, 0x39, 0x64, 0x26, 0xf1, 0x34, 0x9b, 0xc2, 0x12, 0x9b, 0x4c, 0x00, 0x6b, 0xe4, 0xe8, 0xab, + 0xf0, 0x08, 0x81, 0x1d, 0x22, 0x0b, 0x75, 0x4c, 0x17, 0x55, 0xd1, 0x2f, 0x76, 0xcd, 0xa6, 0x53, + 0x35, 0xad, 0x7a, 0xf5, 0xc8, 0x74, 0x8e, 0xb2, 0xa7, 0x30, 0x41, 0x31, 0x96, 0x55, 0x8c, 0x87, + 0xb0, 0xe0, 0x2d, 0x26, 0x57, 0x26, 0x62, 0x05, 0xab, 0xfe, 0x9c, 0xe9, 0x1c, 0xe9, 0x79, 0x98, + 0x21, 0x2c, 0x8e, 0xdb, 0x69, 0x58, 0x87, 0xd5, 0xda, 0x11, 0xaa, 0xbd, 0x5c, 0xed, 0xba, 0x07, + 0xd7, 0xb3, 0x0f, 0x8b, 0xf7, 0x27, 0x1a, 0xee, 0x10, 0x99, 0x12, 0x16, 0xd9, 0x73, 0x0f, 0xae, + 0xeb, 0x3b, 0x90, 0xc1, 0xce, 0x68, 0x35, 0x5e, 0x47, 0xd5, 0x03, 0xbb, 0x43, 0xa6, 0xc6, 0x89, + 0x90, 0xa1, 0x49, 0xb0, 0xe0, 0xd2, 0x16, 0x03, 0x6c, 0xda, 0x75, 0x94, 0x4f, 0xec, 0x6c, 0x97, + 0xcb, 0xab, 0x46, 0x9a, 0xb3, 0xac, 0xd9, 0x1d, 0x1c, 0x50, 0x87, 0xb6, 0x67, 0xe0, 0x34, 0x0d, + 0xa8, 0x43, 0x9b, 0x9b, 0xf7, 0x0a, 0x4c, 0xd7, 0x6a, 0xf4, 0x99, 0x1b, 0xb5, 0x2a, 0x7b, 0xc7, + 0x72, 0xb2, 0x5a, 0xc0, 0x58, 0xb5, 0xda, 0x2d, 0x2a, 0xc0, 0x62, 0xdc, 0xd1, 0x6f, 0xc0, 0x03, + 0xbe, 0xb1, 0x44, 0xe0, 0x54, 0xcf, 0x53, 0xca, 0xd0, 0x2b, 0x30, 0xdd, 0x3e, 0xee, 0x05, 0xea, + 0x81, 0x3b, 0xb6, 0x8f, 0x65, 0xd8, 0x35, 0x38, 0xd5, 0x3e, 0x6a, 0xf7, 0xe2, 0x16, 0x45, 0x9c, + 0xde, 0x3e, 0x6a, 0xcb, 0xc0, 0xc7, 0xc8, 0x0b, 0x77, 0x07, 0xd5, 0x4c, 0x17, 0xd5, 0xb3, 0x0f, + 0x8a, 0xe2, 0x42, 0x87, 0x7e, 0x01, 0xb4, 0x5a, 0xad, 0x8a, 0x2c, 0x73, 0xbf, 0x89, 0xaa, 0x66, + 0x07, 0x59, 0xa6, 0x93, 0x9d, 0x17, 0x85, 0x27, 0x6a, 0xb5, 0x32, 0xe9, 0x2d, 0x90, 0x4e, 0x7d, + 0x11, 0xa6, 0xec, 0xfd, 0x97, 0x6a, 0x34, 0x24, 0xab, 0xed, 0x0e, 0x3a, 0x68, 0xbc, 0x96, 0x3d, + 0x47, 0xec, 0x3b, 0x89, 0x3b, 0x48, 0x40, 0x6e, 0x93, 0x66, 0xfd, 0x09, 0xd0, 0x6a, 0xce, 0x91, + 0xd9, 0x69, 0x93, 0x31, 0xd9, 0x69, 0x9b, 0x35, 0x94, 0x7d, 0x8c, 0x8a, 0xd2, 0xf6, 0x0a, 0x6f, + 0xc6, 0x29, 0xe1, 0xbc, 0xda, 0x38, 0x70, 0x39, 0xe3, 0xe3, 0x34, 0x25, 0x48, 0x1b, 0x63, 0x5b, + 0x00, 0x0d, 0x9b, 0x22, 0x70, 0xe3, 0x05, 0x22, 0x36, 0xd1, 0x3e, 0x6a, 0x8b, 0xf7, 0x7d, 0x14, + 0xc6, 0xb1, 0xa4, 0x7f, 0xd3, 0x27, 0x68, 0x41, 0xd6, 0x3e, 0x12, 0xee, 0xb8, 0x02, 0x33, 0x58, + 0xa8, 0x85, 0x5c, 0xb3, 0x6e, 0xba, 0xa6, 0x20, 0xfd, 0x24, 0x91, 0xc6, 0x76, 0xdf, 0x64, 0x9d, + 0x01, 0x3d, 0x3b, 0xdd, 0xfd, 0x63, 0x2f, 0xb2, 0x9e, 0xa2, 0x7a, 0xe2, 0x36, 0x1e, 0x5b, 0x1f, + 0x59, 0xd1, 0x9d, 0xcb, 0x43, 0x46, 0x0c, 0x7c, 0x3d, 0x05, 0x34, 0xf4, 0x35, 0x05, 0x57, 0x41, + 0xa5, 0xad, 0x55, 0x5c, 0xbf, 0x7c, 0xba, 0xac, 0xc5, 0x70, 0x1d, 0xb5, 0xb1, 0xbe, 0x5b, 0xae, + 0x1a, 0x7b, 0x95, 0xdd, 0xf5, 0xcd, 0xb2, 0xa6, 0x8a, 0x05, 0xfb, 0xb7, 0x63, 0x30, 0x11, 0x7c, + 0xf7, 0xd2, 0x3f, 0x0e, 0x0f, 0xf2, 0x85, 0x12, 0x07, 0xb9, 0xd5, 0x57, 0x1b, 0x1d, 0x92, 0x8b, + 0x2d, 0x93, 0xce, 0x8b, 0x5e, 0x34, 0x9c, 0x62, 0x52, 0x3b, 0xc8, 0x7d, 0xbe, 0xd1, 0xc1, 0x99, + 0xd6, 0x32, 0x5d, 0x7d, 0x03, 0xe6, 0x2d, 0xbb, 0xea, 0xb8, 0xa6, 0x55, 0x37, 0x3b, 0xf5, 0xaa, + 0xbf, 0x44, 0x55, 0x35, 0x6b, 0x35, 0xe4, 0x38, 0x36, 0x9d, 0x03, 0x3d, 0x96, 0xd3, 0x96, 0xbd, + 0xc3, 0x84, 0xfd, 0xc9, 0xa1, 0xc0, 0x44, 0xa5, 0xc8, 0x55, 0xfb, 0x45, 0xee, 0xc3, 0x90, 0x6a, + 0x99, 0xed, 0x2a, 0xb2, 0xdc, 0xce, 0x31, 0xa9, 0xb8, 0x93, 0x46, 0xb2, 0x65, 0xb6, 0xcb, 0xf8, + 0xfa, 0x27, 0xf3, 0xe2, 0xf3, 0x9f, 0x55, 0xc8, 0x88, 0x55, 0x37, 0x7e, 0x89, 0xa9, 0x91, 0x09, + 0x4a, 0x21, 0x43, 0xd8, 0xa3, 0x03, 0x6b, 0xf4, 0xa5, 0x12, 0x9e, 0xb9, 0xf2, 0xa3, 0xb4, 0x16, + 0x36, 0x28, 0x12, 0x57, 0x0d, 0x38, 0xb4, 0x10, 0xad, 0x3d, 0x92, 0x06, 0xbb, 0xd2, 0x6f, 0xc1, + 0xe8, 0x4b, 0x0e, 0xe1, 0x1e, 0x25, 0xdc, 0xe7, 0x06, 0x73, 0xdf, 0xde, 0x21, 0xe4, 0xa9, 0xdb, + 0x3b, 0xd5, 0xca, 0x96, 0xb1, 0x59, 0xd8, 0x30, 0x18, 0x5c, 0x7f, 0x08, 0xe2, 0x4d, 0xf3, 0xf5, + 0xe3, 0xe0, 0x1c, 0x47, 0x9a, 0x86, 0x35, 0xfc, 0x43, 0x10, 0x7f, 0x15, 0x99, 0x2f, 0x07, 0x67, + 0x16, 0xd2, 0xf4, 0x11, 0x86, 0xfe, 0x05, 0x48, 0x10, 0x7b, 0xe9, 0x00, 0xcc, 0x62, 0xda, 0x88, + 0x9e, 0x84, 0x78, 0x69, 0xcb, 0xc0, 0xe1, 0xaf, 0x41, 0x86, 0xb6, 0x56, 0xb7, 0xd7, 0xcb, 0xa5, + 0xb2, 0x16, 0xcb, 0x5d, 0x81, 0x51, 0x6a, 0x04, 0x9c, 0x1a, 0x9e, 0x19, 0xb4, 0x11, 0x76, 0xc9, + 0x38, 0x14, 0xde, 0xbb, 0xb7, 0x59, 0x2c, 0x1b, 0x5a, 0x4c, 0x74, 0xaf, 0x03, 0x19, 0xb1, 0xe0, + 0xfe, 0xc9, 0xc4, 0xd4, 0xb7, 0x14, 0x48, 0x0b, 0x05, 0x34, 0xae, 0x7c, 0xcc, 0x66, 0xd3, 0x7e, + 0xb5, 0x6a, 0x36, 0x1b, 0xa6, 0xc3, 0x82, 0x02, 0x48, 0x53, 0x01, 0xb7, 0x0c, 0xeb, 0xb4, 0x9f, + 0x88, 0xf2, 0x5f, 0x52, 0x40, 0x93, 0x6b, 0x57, 0x49, 0x41, 0xe5, 0xa7, 0xaa, 0xe0, 0x17, 0x14, + 0x98, 0x08, 0x16, 0xac, 0x92, 0x7a, 0x67, 0x7f, 0xaa, 0xea, 0x7d, 0x37, 0x06, 0xe3, 0x81, 0x32, + 0x75, 0x58, 0xed, 0x7e, 0x11, 0xa6, 0x1a, 0x75, 0xd4, 0x6a, 0xdb, 0x2e, 0xb2, 0x6a, 0xc7, 0xd5, + 0x26, 0x7a, 0x05, 0x35, 0xb3, 0x39, 0x32, 0x50, 0x5c, 0x18, 0x5c, 0x08, 0x2f, 0xad, 0xfb, 0xb8, + 0x0d, 0x0c, 0xcb, 0x4f, 0xaf, 0xaf, 0x96, 0x37, 0xb7, 0xb7, 0x76, 0xcb, 0x95, 0xd2, 0x9d, 0xea, + 0x5e, 0xe5, 0x13, 0x95, 0xad, 0xe7, 0x2b, 0x86, 0xd6, 0x90, 0xc4, 0x3e, 0xc2, 0x54, 0xdf, 0x06, + 0x4d, 0x56, 0x4a, 0x7f, 0x10, 0xc2, 0xd4, 0xd2, 0x46, 0xf4, 0x69, 0x98, 0xac, 0x6c, 0x55, 0x77, + 0xd6, 0x57, 0xcb, 0xd5, 0xf2, 0xda, 0x5a, 0xb9, 0xb4, 0xbb, 0x43, 0x97, 0x36, 0x3c, 0xe9, 0xdd, + 0x60, 0x52, 0x7f, 0x5e, 0x85, 0xe9, 0x10, 0x4d, 0xf4, 0x02, 0x7b, 0x29, 0xa1, 0xef, 0x49, 0x4f, + 0x0d, 0xa3, 0xfd, 0x12, 0xae, 0x0a, 0xb6, 0xcd, 0x8e, 0xcb, 0xde, 0x61, 0x9e, 0x00, 0x6c, 0x25, + 0xcb, 0x6d, 0x1c, 0x34, 0x50, 0x87, 0xad, 0x04, 0xd1, 0x37, 0x95, 0x49, 0xbf, 0x9d, 0x2e, 0x06, + 0x3d, 0x09, 0x7a, 0xdb, 0x76, 0x1a, 0x6e, 0xe3, 0x15, 0x54, 0x6d, 0x58, 0x7c, 0xd9, 0x08, 0xbf, + 0xb9, 0xc4, 0x0d, 0x8d, 0xf7, 0xac, 0x5b, 0xae, 0x27, 0x6d, 0xa1, 0x43, 0x53, 0x92, 0xc6, 0x03, + 0xb8, 0x6a, 0x68, 0xbc, 0xc7, 0x93, 0x3e, 0x0b, 0x99, 0xba, 0xdd, 0xc5, 0xe5, 0x1c, 0x95, 0xc3, + 0xf3, 0x85, 0x62, 0xa4, 0x69, 0x9b, 0x27, 0xc2, 0x0a, 0x75, 0x7f, 0xbd, 0x2a, 0x63, 0xa4, 0x69, + 0x1b, 0x15, 0x79, 0x1c, 0x26, 0xcd, 0xc3, 0xc3, 0x0e, 0x26, 0xe7, 0x44, 0xf4, 0xd5, 0x63, 0xc2, + 0x6b, 0x26, 0x82, 0xb3, 0xb7, 0x21, 0xc9, 0xed, 0x80, 0xa7, 0x64, 0x6c, 0x89, 0x6a, 0x9b, 0xbe, + 0x4f, 0xc7, 0x16, 0x52, 0x46, 0xd2, 0xe2, 0x9d, 0x67, 0x21, 0xd3, 0x70, 0xaa, 0xfe, 0xf2, 0x7b, + 0xec, 0x4c, 0x6c, 0x21, 0x69, 0xa4, 0x1b, 0x8e, 0xb7, 0x74, 0x99, 0xfb, 0x6a, 0x0c, 0x26, 0x82, + 0xdb, 0x07, 0xfa, 0x2a, 0x24, 0x9b, 0x76, 0xcd, 0x24, 0xa1, 0x45, 0xf7, 0xae, 0x16, 0x22, 0x76, + 0x1c, 0x96, 0x36, 0x98, 0xbc, 0xe1, 0x21, 0x67, 0xff, 0xbd, 0x02, 0x49, 0xde, 0xac, 0xcf, 0x40, + 0xbc, 0x6d, 0xba, 0x47, 0x84, 0x2e, 0x51, 0x8c, 0x69, 0x8a, 0x41, 0xae, 0x71, 0xbb, 0xd3, 0x36, + 0x2d, 0x12, 0x02, 0xac, 0x1d, 0x5f, 0x63, 0xbf, 0x36, 0x91, 0x59, 0x27, 0xef, 0x35, 0x76, 0xab, + 0x85, 0x2c, 0xd7, 0xe1, 0x7e, 0x65, 0xed, 0x25, 0xd6, 0xac, 0x7f, 0x0c, 0xa6, 0xdc, 0x8e, 0xd9, + 0x68, 0x06, 0x64, 0xe3, 0x44, 0x56, 0xe3, 0x1d, 0x9e, 0x70, 0x1e, 0x1e, 0xe2, 0xbc, 0x75, 0xe4, + 0x9a, 0xb5, 0x23, 0x54, 0xf7, 0x41, 0xa3, 0x64, 0xfd, 0xe2, 0x41, 0x26, 0xb0, 0xca, 0xfa, 0x39, + 0x36, 0xf7, 0x47, 0x0a, 0x4c, 0xf1, 0x37, 0xb1, 0xba, 0x67, 0xac, 0x4d, 0x00, 0xd3, 0xb2, 0x6c, + 0x57, 0x34, 0x57, 0x6f, 0x28, 0xf7, 0xe0, 0x96, 0x0a, 0x1e, 0xc8, 0x10, 0x08, 0x66, 0x5b, 0x00, + 0x7e, 0x4f, 0x5f, 0xb3, 0xcd, 0x43, 0x9a, 0xed, 0x0d, 0x91, 0x0d, 0x46, 0xfa, 0xee, 0x0e, 0xb4, + 0x09, 0xbf, 0xb2, 0xe9, 0xa7, 0x20, 0xb1, 0x8f, 0x0e, 0x1b, 0x16, 0x5b, 0xf1, 0xa5, 0x17, 0x7c, + 0x85, 0x25, 0xee, 0xad, 0xb0, 0x14, 0x5f, 0x84, 0xe9, 0x9a, 0xdd, 0x92, 0xd5, 0x2d, 0x6a, 0xd2, + 0xfa, 0x81, 0xf3, 0x9c, 0xf2, 0x69, 0xf0, 0x4b, 0xcc, 0x1f, 0x29, 0xca, 0xaf, 0xc7, 0xd4, 0x5b, + 0xdb, 0xc5, 0xdf, 0x89, 0xcd, 0xde, 0xa2, 0xd0, 0x6d, 0xfe, 0xa4, 0x06, 0x3a, 0x68, 0xa2, 0x1a, + 0xd6, 0x1e, 0x7e, 0xeb, 0x63, 0xf0, 0xd4, 0x61, 0xc3, 0x3d, 0xea, 0xee, 0x2f, 0xd5, 0xec, 0xd6, + 0x85, 0x43, 0xfb, 0xd0, 0xf6, 0xf7, 0x54, 0xf1, 0x15, 0xb9, 0x20, 0x9f, 0xd8, 0xbe, 0x6a, 0xca, + 0x6b, 0x9d, 0x8d, 0xdc, 0x84, 0xcd, 0x57, 0x60, 0x9a, 0x09, 0x57, 0xc9, 0xc6, 0x0e, 0x7d, 0x3d, + 0xd1, 0x07, 0x2e, 0x8e, 0x65, 0x7f, 0xf7, 0x7b, 0x64, 0xba, 0x36, 0xa6, 0x18, 0x14, 0xf7, 0xd1, + 0x37, 0x98, 0xbc, 0x01, 0x0f, 0x04, 0xf8, 0x68, 0x6a, 0xa2, 0x4e, 0x04, 0xe3, 0xb7, 0x19, 0xe3, + 0xb4, 0xc0, 0xb8, 0xc3, 0xa0, 0xf9, 0x12, 0x8c, 0x9f, 0x84, 0xeb, 0xdf, 0x30, 0xae, 0x0c, 0x12, + 0x49, 0x6e, 0xc1, 0x24, 0x21, 0xa9, 0x75, 0x1d, 0xd7, 0x6e, 0x91, 0x71, 0x6f, 0x30, 0xcd, 0xbf, + 0xfd, 0x1e, 0xcd, 0x95, 0x09, 0x0c, 0x2b, 0x79, 0xa8, 0x7c, 0x1e, 0xc8, 0x5e, 0x56, 0x1d, 0xd5, + 0x9a, 0x11, 0x0c, 0x77, 0x99, 0x22, 0x9e, 0x7c, 0xfe, 0x53, 0x70, 0x0a, 0x7f, 0x26, 0xc3, 0x92, + 0xa8, 0x49, 0xf4, 0x4a, 0x5a, 0xf6, 0x8f, 0x3e, 0x43, 0xd3, 0x71, 0xda, 0x23, 0x10, 0x74, 0x12, + 0xbc, 0x78, 0x88, 0x5c, 0x17, 0x75, 0x9c, 0xaa, 0xd9, 0x0c, 0x53, 0x4f, 0x58, 0x8a, 0xc8, 0xfe, + 0xda, 0x0f, 0x82, 0x5e, 0xbc, 0x45, 0x91, 0x85, 0x66, 0x33, 0xbf, 0x07, 0x0f, 0x86, 0x44, 0xc5, + 0x10, 0x9c, 0x9f, 0x67, 0x9c, 0xa7, 0x7a, 0x22, 0x03, 0xd3, 0x6e, 0x03, 0x6f, 0xf7, 0x7c, 0x39, + 0x04, 0xe7, 0xdf, 0x67, 0x9c, 0x3a, 0xc3, 0x72, 0x97, 0x62, 0xc6, 0xdb, 0x30, 0xf5, 0x0a, 0xea, + 0xec, 0xdb, 0x0e, 0x5b, 0xfe, 0x19, 0x82, 0xee, 0x0b, 0x8c, 0x6e, 0x92, 0x01, 0xc9, 0x7a, 0x10, + 0xe6, 0xba, 0x01, 0xc9, 0x03, 0xb3, 0x86, 0x86, 0xa0, 0xf8, 0x22, 0xa3, 0x18, 0xc3, 0xf2, 0x18, + 0x5a, 0x80, 0xcc, 0xa1, 0xcd, 0x66, 0xa6, 0x68, 0xf8, 0x97, 0x18, 0x3c, 0xcd, 0x31, 0x8c, 0xa2, + 0x6d, 0xb7, 0xbb, 0x4d, 0x3c, 0x6d, 0x45, 0x53, 0x7c, 0x99, 0x53, 0x70, 0x0c, 0xa3, 0x38, 0x81, + 0x59, 0xdf, 0xe4, 0x14, 0x8e, 0x60, 0xcf, 0x67, 0x21, 0x6d, 0x5b, 0xcd, 0x63, 0xdb, 0x1a, 0x46, + 0x89, 0xaf, 0x30, 0x06, 0x60, 0x10, 0x4c, 0x70, 0x13, 0x52, 0xc3, 0x3a, 0xe2, 0x37, 0x7f, 0xc0, + 0xd3, 0x83, 0x7b, 0xe0, 0x16, 0x4c, 0xf2, 0x01, 0xaa, 0x61, 0x5b, 0x43, 0x50, 0xfc, 0x16, 0xa3, + 0x98, 0x10, 0x60, 0xec, 0x31, 0x5c, 0xe4, 0xb8, 0x87, 0x68, 0x18, 0x92, 0xaf, 0xf2, 0xc7, 0x60, + 0x10, 0x66, 0xca, 0x7d, 0x64, 0xd5, 0x8e, 0x86, 0x63, 0xf8, 0x1a, 0x37, 0x25, 0xc7, 0x60, 0x8a, + 0x12, 0x8c, 0xb7, 0xcc, 0x8e, 0x73, 0x64, 0x36, 0x87, 0x72, 0xc7, 0x6f, 0x33, 0x8e, 0x8c, 0x07, + 0x62, 0x16, 0xe9, 0x5a, 0x27, 0xa1, 0xf9, 0x1d, 0x6e, 0x11, 0x01, 0xc6, 0x52, 0xcf, 0x71, 0xc9, + 0x5a, 0xd9, 0x49, 0xd8, 0xfe, 0x01, 0x4f, 0x3d, 0x8a, 0xdd, 0x14, 0x19, 0x6f, 0x42, 0xca, 0x69, + 0xbc, 0x3e, 0x14, 0xcd, 0x3f, 0xe4, 0x9e, 0x26, 0x00, 0x0c, 0xbe, 0x03, 0x0f, 0x85, 0x4e, 0x13, + 0x43, 0x90, 0xfd, 0x23, 0x46, 0x36, 0x13, 0x32, 0x55, 0xb0, 0x21, 0xe1, 0xa4, 0x94, 0xff, 0x98, + 0x0f, 0x09, 0x48, 0xe2, 0xda, 0xc6, 0xef, 0x0a, 0x8e, 0x79, 0x70, 0x32, 0xab, 0xfd, 0x13, 0x6e, + 0x35, 0x8a, 0x0d, 0x58, 0x6d, 0x17, 0x66, 0x18, 0xe3, 0xc9, 0xfc, 0xfa, 0x75, 0x3e, 0xb0, 0x52, + 0xf4, 0x5e, 0xd0, 0xbb, 0x2f, 0xc2, 0xac, 0x67, 0x4e, 0x5e, 0x94, 0x3a, 0xd5, 0x96, 0xd9, 0x1e, + 0x82, 0xf9, 0x77, 0x19, 0x33, 0x1f, 0xf1, 0xbd, 0xaa, 0xd6, 0xd9, 0x34, 0xdb, 0x98, 0xfc, 0x05, + 0xc8, 0x72, 0xf2, 0xae, 0xd5, 0x41, 0x35, 0xfb, 0xd0, 0x6a, 0xbc, 0x8e, 0xea, 0x43, 0x50, 0x7f, + 0x43, 0x72, 0xd5, 0x9e, 0x00, 0xc7, 0xcc, 0xeb, 0xa0, 0x79, 0xb5, 0x4a, 0xb5, 0xd1, 0x6a, 0xdb, + 0x1d, 0x37, 0x82, 0xf1, 0x9f, 0x72, 0x4f, 0x79, 0xb8, 0x75, 0x02, 0xcb, 0x97, 0x61, 0x82, 0x5c, + 0x0e, 0x1b, 0x92, 0xbf, 0xc7, 0x88, 0xc6, 0x7d, 0x14, 0x1b, 0x38, 0x6a, 0x76, 0xab, 0x6d, 0x76, + 0x86, 0x19, 0xff, 0xfe, 0x19, 0x1f, 0x38, 0x18, 0x84, 0x0d, 0x1c, 0xee, 0x71, 0x1b, 0xe1, 0xd9, + 0x7e, 0x08, 0x86, 0x6f, 0xf2, 0x81, 0x83, 0x63, 0x18, 0x05, 0x2f, 0x18, 0x86, 0xa0, 0xf8, 0xe7, + 0x9c, 0x82, 0x63, 0x30, 0xc5, 0x27, 0xfd, 0x89, 0xb6, 0x83, 0x0e, 0x1b, 0x8e, 0xdb, 0xa1, 0xa5, + 0xf0, 0x60, 0xaa, 0xdf, 0xff, 0x41, 0xb0, 0x08, 0x33, 0x04, 0x28, 0x1e, 0x89, 0xd8, 0x12, 0x2a, + 0x79, 0x53, 0x8a, 0x56, 0xec, 0x0f, 0xf8, 0x48, 0x24, 0xc0, 0xb0, 0x6e, 0x42, 0x85, 0x88, 0xcd, + 0x5e, 0xc3, 0xef, 0x07, 0x43, 0xd0, 0x7d, 0x4b, 0x52, 0x6e, 0x87, 0x63, 0x31, 0xa7, 0x50, 0xff, + 0x74, 0xad, 0x97, 0xd1, 0xf1, 0x50, 0xd1, 0xf9, 0x2f, 0xa4, 0xfa, 0x67, 0x8f, 0x22, 0xe9, 0x18, + 0x32, 0x29, 0xd5, 0x53, 0x7a, 0xd4, 0x29, 0xa0, 0xec, 0x9f, 0x7f, 0x9f, 0x3d, 0x6f, 0xb0, 0x9c, + 0xca, 0x6f, 0xe0, 0x20, 0x0f, 0x16, 0x3d, 0xd1, 0x64, 0x9f, 0x79, 0xdf, 0x8b, 0xf3, 0x40, 0xcd, + 0x93, 0x5f, 0x83, 0xf1, 0x40, 0xc1, 0x13, 0x4d, 0xf5, 0x17, 0x18, 0x55, 0x46, 0xac, 0x77, 0xf2, + 0x57, 0x20, 0x8e, 0x8b, 0x97, 0x68, 0xf8, 0x5f, 0x64, 0x70, 0x22, 0x9e, 0x7f, 0x1a, 0x92, 0xbc, + 0x68, 0x89, 0x86, 0xfe, 0x32, 0x83, 0x7a, 0x10, 0x0c, 0xe7, 0x05, 0x4b, 0x34, 0xfc, 0x2f, 0x71, + 0x38, 0x87, 0x60, 0xf8, 0xf0, 0x26, 0x7c, 0xeb, 0xaf, 0xc4, 0xd9, 0xa4, 0xc3, 0x6d, 0x77, 0x13, + 0xc6, 0x58, 0xa5, 0x12, 0x8d, 0xfe, 0x15, 0x76, 0x73, 0x8e, 0xc8, 0x5f, 0x83, 0xc4, 0x90, 0x06, + 0xff, 0x6b, 0x0c, 0x4a, 0xe5, 0xf3, 0x25, 0x48, 0x0b, 0xd5, 0x49, 0x34, 0xfc, 0xaf, 0x33, 0xb8, + 0x88, 0xc2, 0xaa, 0xb3, 0xea, 0x24, 0x9a, 0xe0, 0x6f, 0x70, 0xd5, 0x19, 0x02, 0x9b, 0x8d, 0x17, + 0x26, 0xd1, 0xe8, 0xbf, 0xc9, 0xad, 0xce, 0x21, 0xf9, 0x67, 0x21, 0xe5, 0x4d, 0x36, 0xd1, 0xf8, + 0xbf, 0xc5, 0xf0, 0x3e, 0x06, 0x5b, 0x40, 0x98, 0xec, 0xa2, 0x29, 0xfe, 0x36, 0xb7, 0x80, 0x80, + 0xc2, 0x69, 0x24, 0x17, 0x30, 0xd1, 0x4c, 0xbf, 0xca, 0xd3, 0x48, 0xaa, 0x5f, 0xb0, 0x37, 0xc9, + 0x98, 0x1f, 0x4d, 0xf1, 0x77, 0xb8, 0x37, 0x89, 0x3c, 0x56, 0x43, 0xae, 0x08, 0xa2, 0x39, 0xfe, + 0x1e, 0x57, 0x43, 0x2a, 0x08, 0xf2, 0xdb, 0xa0, 0xf7, 0x56, 0x03, 0xd1, 0x7c, 0x9f, 0x63, 0x7c, + 0x53, 0x3d, 0xc5, 0x40, 0xfe, 0x79, 0x98, 0x09, 0xaf, 0x04, 0xa2, 0x59, 0x7f, 0xed, 0x7d, 0xe9, + 0xdd, 0x4d, 0x2c, 0x04, 0xf2, 0xbb, 0xfe, 0x94, 0x22, 0x56, 0x01, 0xd1, 0xb4, 0x9f, 0x7f, 0x3f, + 0x38, 0x70, 0x8b, 0x45, 0x40, 0xbe, 0x00, 0xe0, 0x4f, 0xc0, 0xd1, 0x5c, 0x5f, 0x60, 0x5c, 0x02, + 0x08, 0xa7, 0x06, 0x9b, 0x7f, 0xa3, 0xf1, 0x5f, 0xe4, 0xa9, 0xc1, 0x10, 0x38, 0x35, 0xf8, 0xd4, + 0x1b, 0x8d, 0xfe, 0x12, 0x4f, 0x0d, 0x0e, 0xc1, 0x91, 0x2d, 0xcc, 0x6e, 0xd1, 0x0c, 0x5f, 0xe1, + 0x91, 0x2d, 0xa0, 0xf2, 0x15, 0x98, 0xea, 0x99, 0x10, 0xa3, 0xa9, 0x7e, 0x9d, 0x51, 0x69, 0xf2, + 0x7c, 0x28, 0x4e, 0x5e, 0x6c, 0x32, 0x8c, 0x66, 0xfb, 0x0d, 0x69, 0xf2, 0x62, 0x73, 0x61, 0xfe, + 0x26, 0x24, 0xad, 0x6e, 0xb3, 0x89, 0x93, 0x47, 0x1f, 0x7c, 0x72, 0x2f, 0xfb, 0xdf, 0x7e, 0xcc, + 0xac, 0xc3, 0x01, 0xf9, 0x2b, 0x90, 0x40, 0xad, 0x7d, 0x54, 0x8f, 0x42, 0xfe, 0xf7, 0x1f, 0xf3, + 0x01, 0x13, 0x4b, 0xe7, 0x9f, 0x05, 0xa0, 0x4b, 0x23, 0x64, 0xdb, 0x2f, 0x02, 0xfb, 0x3f, 0x7e, + 0xcc, 0xce, 0xd4, 0xf8, 0x10, 0x9f, 0x80, 0x9e, 0xd0, 0x19, 0x4c, 0xf0, 0x83, 0x20, 0x01, 0xf1, + 0xc8, 0x0d, 0x18, 0x7b, 0xc9, 0xb1, 0x2d, 0xd7, 0x3c, 0x8c, 0x42, 0xff, 0x4f, 0x86, 0xe6, 0xf2, + 0xd8, 0x60, 0x2d, 0xbb, 0x83, 0x5c, 0xf3, 0xd0, 0x89, 0xc2, 0xfe, 0x2f, 0x86, 0xf5, 0x00, 0x18, + 0x5c, 0x33, 0x1d, 0x77, 0x98, 0xe7, 0xfe, 0xdf, 0x1c, 0xcc, 0x01, 0x58, 0x69, 0xfc, 0xf9, 0x65, + 0x74, 0x1c, 0x85, 0xfd, 0x21, 0x57, 0x9a, 0xc9, 0xe7, 0x9f, 0x86, 0x14, 0xfe, 0x48, 0x0f, 0xca, + 0x45, 0x80, 0xff, 0x0f, 0x03, 0xfb, 0x08, 0x7c, 0x67, 0xc7, 0xad, 0xbb, 0x8d, 0x68, 0x63, 0xff, + 0x31, 0xf3, 0x34, 0x97, 0xcf, 0x17, 0x20, 0xed, 0xb8, 0xf5, 0x7a, 0x97, 0xd5, 0xa7, 0x11, 0xf0, + 0xff, 0xfb, 0x63, 0x6f, 0xc9, 0xc2, 0xc3, 0x60, 0x6f, 0xbf, 0xfa, 0xb2, 0xdb, 0xb6, 0xc9, 0x36, + 0x47, 0x14, 0xc3, 0xfb, 0x8c, 0x41, 0x80, 0x14, 0xcb, 0xe1, 0xcb, 0xb7, 0x70, 0xcb, 0xbe, 0x65, + 0xd3, 0x85, 0xdb, 0x4f, 0xe7, 0xa2, 0x57, 0x60, 0xe1, 0xbf, 0x34, 0xe1, 0x5a, 0x5f, 0x31, 0x3c, + 0x15, 0x5f, 0xa8, 0xd9, 0xad, 0x7d, 0xdb, 0xb9, 0xb0, 0x6f, 0xbb, 0x47, 0x17, 0xdc, 0x23, 0x84, + 0xdb, 0xd8, 0x92, 0x6d, 0x1c, 0x7f, 0x9e, 0x3d, 0xd9, 0x3a, 0x2f, 0xd9, 0xc5, 0xaf, 0x34, 0xf0, + 0xa3, 0x55, 0xc8, 0x46, 0x8a, 0x7e, 0x1a, 0x46, 0xc9, 0xc3, 0x5e, 0x22, 0x9b, 0x95, 0x4a, 0x31, + 0x7e, 0xf7, 0x9d, 0xf9, 0x11, 0x83, 0xb5, 0x79, 0xbd, 0xcb, 0x64, 0xa5, 0x3b, 0x16, 0xe8, 0x5d, + 0xf6, 0x7a, 0x2f, 0xd3, 0xc5, 0xee, 0x40, 0xef, 0x65, 0xaf, 0x77, 0x85, 0x2c, 0x7b, 0xab, 0x81, + 0xde, 0x15, 0xaf, 0xf7, 0x0a, 0xd9, 0xda, 0x19, 0x0f, 0xf4, 0x5e, 0xf1, 0x7a, 0xaf, 0x92, 0x0d, + 0x9d, 0x78, 0xa0, 0xf7, 0xaa, 0xd7, 0x7b, 0x8d, 0xec, 0xe5, 0x4c, 0x05, 0x7a, 0xaf, 0x79, 0xbd, + 0xd7, 0xc9, 0x1e, 0x8e, 0x1e, 0xe8, 0xbd, 0xee, 0xf5, 0xde, 0x20, 0x27, 0xaf, 0xc6, 0x02, 0xbd, + 0x37, 0xf4, 0x39, 0x18, 0xa3, 0x4f, 0x7e, 0x91, 0x6c, 0xf8, 0x4f, 0xb2, 0x6e, 0xde, 0xe8, 0xf7, + 0x5f, 0x22, 0xa7, 0xac, 0x46, 0x83, 0xfd, 0x97, 0xfc, 0xfe, 0x65, 0xf2, 0x85, 0x0f, 0x2d, 0xd8, + 0xbf, 0xec, 0xf7, 0x5f, 0xce, 0x8e, 0x93, 0x93, 0x66, 0x81, 0xfe, 0xcb, 0x7e, 0xff, 0x4a, 0x76, + 0x02, 0x67, 0x4c, 0xb0, 0x7f, 0xc5, 0xef, 0xbf, 0x92, 0x9d, 0x3c, 0xa3, 0x2c, 0x64, 0x82, 0xfd, + 0x57, 0x72, 0xbf, 0x44, 0xdc, 0x6b, 0xf9, 0xee, 0x9d, 0x09, 0xba, 0xd7, 0x73, 0xec, 0x4c, 0xd0, + 0xb1, 0x9e, 0x4b, 0x67, 0x82, 0x2e, 0xf5, 0x9c, 0x39, 0x13, 0x74, 0xa6, 0xe7, 0xc6, 0x99, 0xa0, + 0x1b, 0x3d, 0x07, 0xce, 0x04, 0x1d, 0xe8, 0xb9, 0x6e, 0x26, 0xe8, 0x3a, 0xcf, 0x69, 0x33, 0x41, + 0xa7, 0x79, 0xee, 0x9a, 0x09, 0xba, 0xcb, 0x73, 0x54, 0x56, 0x72, 0x94, 0xef, 0xa2, 0xac, 0xe4, + 0x22, 0xdf, 0x39, 0x59, 0xc9, 0x39, 0xbe, 0x5b, 0xb2, 0x92, 0x5b, 0x7c, 0x87, 0x64, 0x25, 0x87, + 0xf8, 0xae, 0xc8, 0x4a, 0xae, 0xf0, 0x9d, 0xc0, 0x72, 0xcc, 0x40, 0xed, 0x90, 0x1c, 0x53, 0x07, + 0xe6, 0x98, 0x3a, 0x30, 0xc7, 0xd4, 0x81, 0x39, 0xa6, 0x0e, 0xcc, 0x31, 0x75, 0x60, 0x8e, 0xa9, + 0x03, 0x73, 0x4c, 0x1d, 0x98, 0x63, 0xea, 0xc0, 0x1c, 0x53, 0x07, 0xe7, 0x98, 0x1a, 0x91, 0x63, + 0x6a, 0x44, 0x8e, 0xa9, 0x11, 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0xdf, 0x1c, + 0xf3, 0xdd, 0x3b, 0x13, 0x74, 0x6f, 0x68, 0x8e, 0xa9, 0x7d, 0x72, 0x4c, 0xed, 0x93, 0x63, 0x6a, + 0x9f, 0x1c, 0x53, 0xfb, 0xe4, 0x98, 0xda, 0x27, 0xc7, 0xd4, 0x3e, 0x39, 0xa6, 0xf6, 0xc9, 0x31, + 0xb5, 0x5f, 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xed, 0x9b, 0x63, 0x6a, 0xdf, 0x1c, 0x53, 0xfb, 0xe6, + 0x98, 0xda, 0x37, 0xc7, 0x54, 0x31, 0xc7, 0xfe, 0xa5, 0x0a, 0x3a, 0xcd, 0xb1, 0x6d, 0x72, 0x64, + 0x8c, 0xb9, 0x62, 0x4e, 0xca, 0xb4, 0x51, 0xec, 0x3a, 0xcd, 0x77, 0xc9, 0x9c, 0x94, 0x6b, 0xc1, + 0xfe, 0x65, 0xaf, 0x9f, 0x67, 0x5b, 0xb0, 0xff, 0xb2, 0xd7, 0xcf, 0xf3, 0x2d, 0xd8, 0xbf, 0xe2, + 0xf5, 0xf3, 0x8c, 0x0b, 0xf6, 0x5f, 0xf1, 0xfa, 0x79, 0xce, 0x05, 0xfb, 0xaf, 0x7a, 0xfd, 0x3c, + 0xeb, 0x82, 0xfd, 0xd7, 0xbc, 0x7e, 0x9e, 0x77, 0xc1, 0xfe, 0xeb, 0x5e, 0x3f, 0xcf, 0xbc, 0x60, + 0xff, 0x0d, 0xfd, 0x8c, 0x9c, 0x7b, 0x5c, 0xc0, 0x73, 0xed, 0x19, 0x39, 0xfb, 0x24, 0x89, 0x4b, + 0xbe, 0x04, 0xcf, 0x3f, 0x49, 0x62, 0xd9, 0x97, 0xe0, 0x19, 0x28, 0x49, 0x5c, 0xce, 0x7d, 0x96, + 0xb8, 0xcf, 0x92, 0xdd, 0x37, 0x2b, 0xb9, 0x2f, 0x26, 0xb8, 0x6e, 0x56, 0x72, 0x5d, 0x4c, 0x70, + 0xdb, 0xac, 0xe4, 0xb6, 0x98, 0xe0, 0xb2, 0x59, 0xc9, 0x65, 0x31, 0xc1, 0x5d, 0xb3, 0x92, 0xbb, + 0x62, 0x82, 0xab, 0x66, 0x25, 0x57, 0xc5, 0x04, 0x37, 0xcd, 0x4a, 0x6e, 0x8a, 0x09, 0x2e, 0x9a, + 0x95, 0x5c, 0x14, 0x13, 0xdc, 0x33, 0x2b, 0xb9, 0x27, 0x26, 0xb8, 0xe6, 0xb4, 0xec, 0x9a, 0x98, + 0xe8, 0x96, 0xd3, 0xb2, 0x5b, 0x62, 0xa2, 0x4b, 0x4e, 0xcb, 0x2e, 0x89, 0x89, 0xee, 0x38, 0x2d, + 0xbb, 0x23, 0x26, 0xba, 0xe2, 0x4f, 0x62, 0xbc, 0x22, 0xdc, 0x71, 0x3b, 0xdd, 0x9a, 0xfb, 0x81, + 0x2a, 0xc2, 0x8b, 0x81, 0xf2, 0x21, 0xbd, 0xac, 0x2f, 0x91, 0x82, 0x55, 0xac, 0x38, 0xa5, 0x19, + 0xec, 0x62, 0xa0, 0xb0, 0x10, 0x10, 0x56, 0x38, 0x62, 0xe5, 0x03, 0xd5, 0x86, 0x17, 0x03, 0x65, + 0x46, 0xb4, 0x7e, 0xd7, 0x3f, 0xf2, 0x8a, 0xed, 0xad, 0x18, 0xaf, 0xd8, 0x98, 0xf9, 0x4f, 0x5a, + 0xb1, 0x2d, 0x46, 0x9b, 0xdc, 0x33, 0xf6, 0x62, 0xb4, 0xb1, 0x7b, 0x66, 0x9d, 0x61, 0x2b, 0xb8, + 0xc5, 0x68, 0xd3, 0x7a, 0x46, 0xfd, 0x70, 0xeb, 0x2d, 0x16, 0xc1, 0x06, 0x6a, 0x87, 0x44, 0xf0, + 0x49, 0xeb, 0xad, 0x8b, 0x81, 0xa1, 0xe4, 0xa4, 0x11, 0xac, 0x9e, 0x38, 0x82, 0x4f, 0x5a, 0x79, + 0x5d, 0x0c, 0x0c, 0x2f, 0x27, 0x8e, 0xe0, 0x8f, 0xa0, 0x1e, 0x62, 0x11, 0xec, 0x9b, 0xff, 0xa4, + 0xf5, 0xd0, 0x62, 0xb4, 0xc9, 0x43, 0x23, 0x58, 0x3d, 0x41, 0x04, 0x0f, 0x53, 0x1f, 0x2d, 0x46, + 0x9b, 0x36, 0x3c, 0x82, 0x3f, 0x70, 0x35, 0xf3, 0x65, 0x05, 0xa6, 0x2a, 0x8d, 0x7a, 0xb9, 0xb5, + 0x8f, 0xea, 0x75, 0x54, 0x67, 0x76, 0xbc, 0x18, 0x18, 0x09, 0xfa, 0xb8, 0xfa, 0xed, 0x77, 0xe6, + 0x7d, 0x0b, 0x5f, 0x81, 0x24, 0xb5, 0xe9, 0xc5, 0x8b, 0xd9, 0xbb, 0x4a, 0xc4, 0x08, 0xe7, 0x89, + 0xea, 0x67, 0x39, 0xec, 0xd2, 0xc5, 0xec, 0x7f, 0x50, 0x84, 0x51, 0xce, 0x6b, 0xce, 0xfd, 0x2a, + 0xd1, 0xd0, 0xfa, 0xc0, 0x1a, 0x5e, 0x18, 0x4a, 0x43, 0x41, 0xb7, 0x87, 0x7b, 0x74, 0x13, 0xb4, + 0xea, 0xc2, 0x64, 0xa5, 0x51, 0xaf, 0x90, 0x9f, 0x1a, 0x18, 0x46, 0x25, 0x2a, 0x23, 0x8d, 0x07, + 0x17, 0x03, 0x61, 0x29, 0x22, 0xbc, 0x90, 0x0e, 0x8e, 0x11, 0xb9, 0x06, 0xbe, 0xad, 0x15, 0xb8, + 0xed, 0x62, 0xbf, 0xdb, 0xfa, 0x23, 0xbb, 0x77, 0xc3, 0xc5, 0x7e, 0x37, 0xf4, 0x73, 0xc8, 0xbb, + 0xd5, 0x6b, 0x7c, 0x72, 0xa6, 0x07, 0xb7, 0xf4, 0xd3, 0x10, 0x5b, 0xa7, 0xe7, 0xca, 0x33, 0xc5, + 0x0c, 0x56, 0xea, 0x3b, 0xef, 0xcc, 0xc7, 0xf7, 0xba, 0x8d, 0xba, 0x11, 0x5b, 0xaf, 0xeb, 0xb7, + 0x21, 0xf1, 0x29, 0xf6, 0x85, 0x57, 0x2c, 0xb0, 0xc2, 0x04, 0x9e, 0x8c, 0x58, 0x62, 0x22, 0xd4, + 0x4b, 0x7b, 0x0d, 0xcb, 0xbd, 0xb4, 0x7c, 0xdd, 0xa0, 0x14, 0xb9, 0x3f, 0x05, 0x40, 0xef, 0xb9, + 0x6a, 0x3a, 0x47, 0x7a, 0x85, 0x33, 0xd3, 0x5b, 0x5f, 0xff, 0xce, 0x3b, 0xf3, 0x2b, 0xc3, 0xb0, + 0x3e, 0x55, 0x37, 0x9d, 0xa3, 0xa7, 0xdc, 0xe3, 0x36, 0x5a, 0x2a, 0x1e, 0xbb, 0xc8, 0xe1, 0xec, + 0x6d, 0x3e, 0xeb, 0xb1, 0xe7, 0xca, 0x0a, 0xcf, 0x95, 0x0c, 0x3c, 0xd3, 0x5a, 0xf0, 0x99, 0x2e, + 0xde, 0xef, 0xf3, 0xbc, 0xc6, 0x27, 0x09, 0xc9, 0x92, 0x6a, 0x94, 0x25, 0xd5, 0x0f, 0x6a, 0xc9, + 0x36, 0x1f, 0x1f, 0xa5, 0x67, 0x55, 0x07, 0x3d, 0xab, 0xfa, 0x41, 0x9e, 0xf5, 0xff, 0xd1, 0x6c, + 0xf5, 0xf2, 0x69, 0xcf, 0xa2, 0x67, 0x5a, 0x7f, 0xb6, 0xd6, 0x82, 0x3e, 0xd4, 0x2a, 0x20, 0x1f, + 0xbf, 0xfb, 0xe6, 0xbc, 0x92, 0xfb, 0x72, 0x8c, 0x3f, 0x39, 0x4d, 0xa4, 0xfb, 0x7b, 0xf2, 0x9f, + 0x95, 0x9a, 0xea, 0xa3, 0xb0, 0xd0, 0x97, 0x14, 0x98, 0xe9, 0x19, 0xc9, 0xa9, 0x99, 0x3e, 0xdc, + 0xe1, 0xdc, 0x3a, 0xe9, 0x70, 0xce, 0x14, 0xfc, 0x3d, 0x05, 0x4e, 0x49, 0xc3, 0x2b, 0x55, 0xef, + 0x82, 0xa4, 0xde, 0x83, 0xbd, 0x77, 0x22, 0x82, 0x82, 0x76, 0xa2, 0x7b, 0x25, 0x80, 0xc0, 0xec, + 0xf9, 0x7d, 0x45, 0xf2, 0xfb, 0x69, 0x0f, 0x10, 0x62, 0x2e, 0x1e, 0x01, 0x4c, 0x6d, 0x1b, 0xe2, + 0xbb, 0x1d, 0x84, 0xf4, 0x39, 0x88, 0x6d, 0x75, 0x98, 0x86, 0x13, 0x14, 0xbf, 0xd5, 0x29, 0x76, + 0x4c, 0xab, 0x76, 0x64, 0xc4, 0xb6, 0x3a, 0xfa, 0x59, 0x50, 0x0b, 0xec, 0xcb, 0xf6, 0xe9, 0xe5, + 0x49, 0x2a, 0x50, 0xb0, 0xea, 0x4c, 0x02, 0xf7, 0xe9, 0x73, 0x10, 0xdf, 0x40, 0xe6, 0x01, 0x53, + 0x02, 0xa8, 0x0c, 0x6e, 0x31, 0x48, 0x3b, 0xbb, 0xe1, 0x0b, 0x90, 0xe4, 0xc4, 0xfa, 0x39, 0x8c, + 0x38, 0x70, 0xd9, 0x6d, 0x19, 0x02, 0xab, 0xc3, 0x66, 0x2e, 0xd2, 0xab, 0x9f, 0x87, 0x84, 0xd1, + 0x38, 0x3c, 0x72, 0xd9, 0xcd, 0x7b, 0xc5, 0x68, 0x77, 0xee, 0x0e, 0xa4, 0x3c, 0x8d, 0x3e, 0x64, + 0xea, 0x55, 0xfa, 0x68, 0xfa, 0xac, 0x38, 0x9f, 0xf0, 0x75, 0x4b, 0xda, 0xa4, 0x9f, 0x81, 0xe4, + 0x8e, 0xdb, 0xf1, 0x07, 0x7d, 0x5e, 0x91, 0x7a, 0xad, 0xb9, 0x5f, 0x52, 0x20, 0xb9, 0x8a, 0x50, + 0x9b, 0x18, 0xfc, 0x31, 0x88, 0xaf, 0xda, 0xaf, 0x5a, 0x4c, 0xc1, 0x29, 0x66, 0x51, 0xdc, 0xcd, + 0x6c, 0x4a, 0xba, 0xf5, 0xc7, 0x44, 0xbb, 0x4f, 0x7b, 0x76, 0x17, 0xe4, 0x88, 0xed, 0x73, 0x01, + 0xdb, 0x33, 0x07, 0x62, 0xa1, 0x1e, 0xfb, 0x5f, 0x83, 0xb4, 0x70, 0x17, 0x7d, 0x81, 0xa9, 0x11, + 0x93, 0x81, 0xa2, 0xad, 0xb0, 0x44, 0x0e, 0xc1, 0x78, 0xe0, 0xc6, 0x18, 0x2a, 0x98, 0xb8, 0x0f, + 0x94, 0x98, 0x79, 0x31, 0x68, 0xe6, 0x70, 0x51, 0x66, 0xea, 0x8b, 0xd4, 0x46, 0xc4, 0xdc, 0xe7, + 0x68, 0x70, 0xf6, 0x77, 0x22, 0xfe, 0x9c, 0x4b, 0x80, 0x5a, 0x69, 0x34, 0x73, 0x4f, 0x03, 0xd0, + 0x94, 0x2f, 0x5b, 0xdd, 0x96, 0x94, 0x75, 0x13, 0xdc, 0xc0, 0xbb, 0x47, 0x68, 0x17, 0x39, 0x44, + 0x24, 0x58, 0x4f, 0xe1, 0x01, 0x06, 0x68, 0x8a, 0x11, 0xfc, 0x13, 0x91, 0xf8, 0xd0, 0x4a, 0x0c, + 0x8b, 0x66, 0xa9, 0xe8, 0x1d, 0xe4, 0x16, 0x2c, 0xdb, 0x3d, 0x42, 0x1d, 0x09, 0xb1, 0xac, 0x5f, + 0x0e, 0x24, 0xec, 0xc4, 0xf2, 0xc3, 0x1e, 0xa2, 0x2f, 0xe8, 0x72, 0xee, 0xeb, 0x44, 0x41, 0x5c, + 0x0a, 0xf4, 0x3c, 0xa0, 0x3a, 0xc4, 0x03, 0xea, 0x57, 0x03, 0xf5, 0xdb, 0x00, 0x35, 0xa5, 0x57, + 0xcb, 0x1b, 0x81, 0xf7, 0x9c, 0xc1, 0xca, 0x06, 0xdf, 0x31, 0xb9, 0x4d, 0xb9, 0xca, 0x4f, 0x44, + 0xaa, 0xdc, 0xa7, 0xba, 0x3d, 0xa9, 0x4d, 0xd5, 0x61, 0x6d, 0xfa, 0x2d, 0xaf, 0xe2, 0xa0, 0xbf, + 0x68, 0x42, 0x7e, 0x0b, 0x48, 0x7f, 0x32, 0xd2, 0xf7, 0x79, 0xa5, 0xe4, 0xa9, 0xba, 0x32, 0xac, + 0xfb, 0xf3, 0xb1, 0x62, 0xd1, 0x53, 0xf7, 0xda, 0x09, 0x42, 0x20, 0x1f, 0x2b, 0x95, 0xbc, 0x61, + 0x3b, 0xf9, 0xd9, 0x37, 0xe7, 0x95, 0xaf, 0xbd, 0x39, 0x3f, 0x92, 0xfb, 0x6d, 0x05, 0xa6, 0x98, + 0xa4, 0x10, 0xb8, 0x4f, 0x49, 0xca, 0x3f, 0xc0, 0xc7, 0x8c, 0x30, 0x0b, 0xfc, 0xc4, 0x82, 0xf7, + 0xdb, 0x0a, 0x64, 0x7b, 0x74, 0xe5, 0xf6, 0xbe, 0x38, 0x94, 0xca, 0x79, 0xa5, 0xfc, 0xd3, 0xb7, + 0xf9, 0x1d, 0x48, 0xec, 0x36, 0x5a, 0xa8, 0x83, 0x67, 0x02, 0xfc, 0x81, 0xaa, 0xcc, 0x37, 0x73, + 0x68, 0x13, 0xef, 0xa3, 0xca, 0x05, 0xfa, 0x96, 0xf5, 0x2c, 0xc4, 0x57, 0x4d, 0xd7, 0x24, 0x1a, + 0x64, 0xbc, 0xf1, 0xd5, 0x74, 0xcd, 0xdc, 0x65, 0xc8, 0x6c, 0x1e, 0x93, 0x83, 0x48, 0x75, 0x72, + 0x06, 0x25, 0x58, 0xfd, 0xf1, 0x7a, 0xf5, 0xd2, 0x62, 0x22, 0x59, 0xd7, 0xee, 0x2a, 0xf9, 0x38, + 0xd1, 0xe7, 0x15, 0x98, 0xd8, 0xc2, 0x6a, 0x13, 0x1c, 0x81, 0x9d, 0x01, 0x65, 0x33, 0x58, 0x08, + 0x89, 0xac, 0x86, 0xb2, 0x29, 0x95, 0x8f, 0xaa, 0x67, 0x1e, 0xa9, 0x6c, 0x53, 0xbd, 0xb2, 0x6d, + 0x31, 0x9e, 0x9c, 0xd0, 0xa6, 0x16, 0xe3, 0x49, 0xd0, 0xc6, 0xd9, 0x7d, 0xff, 0x9d, 0x0a, 0x1a, + 0x2d, 0x75, 0x56, 0xd1, 0x41, 0xc3, 0x6a, 0xb8, 0xbd, 0xf5, 0xaa, 0xa7, 0xb1, 0xfe, 0x2c, 0xa4, + 0xb0, 0x49, 0xd7, 0xd8, 0x4f, 0x02, 0x62, 0xd3, 0x9f, 0x65, 0x25, 0x8a, 0x44, 0xc1, 0x1a, 0x48, + 0xe8, 0xf8, 0x18, 0x7d, 0x0d, 0xd4, 0x4a, 0x65, 0x93, 0x4d, 0x6e, 0x2b, 0x03, 0xa1, 0xec, 0xb0, + 0x0f, 0xbb, 0x62, 0x6d, 0xce, 0xa1, 0x81, 0x09, 0xf4, 0x15, 0x88, 0x55, 0x36, 0x59, 0xc1, 0x7b, + 0x6e, 0x18, 0x1a, 0x23, 0x56, 0xd9, 0x9c, 0xfd, 0x57, 0x0a, 0x8c, 0x07, 0x5a, 0xf5, 0x1c, 0x64, + 0x68, 0x83, 0xf0, 0xb8, 0xa3, 0x46, 0xa0, 0x8d, 0xeb, 0x1c, 0xfb, 0x80, 0x3a, 0xcf, 0x16, 0x60, + 0x52, 0x6a, 0xd7, 0x97, 0x40, 0x17, 0x9b, 0x98, 0x12, 0xf4, 0xe7, 0xc8, 0x42, 0x7a, 0x72, 0x8f, + 0x00, 0xf8, 0x76, 0xf5, 0x7e, 0x45, 0xab, 0x52, 0xde, 0xd9, 0x2d, 0xaf, 0x6a, 0x4a, 0xee, 0x9b, + 0x0a, 0xa4, 0x59, 0xd9, 0x5a, 0xb3, 0xdb, 0x48, 0x2f, 0x82, 0x52, 0x60, 0x11, 0x74, 0x7f, 0x7a, + 0x2b, 0x05, 0xfd, 0x02, 0x28, 0xc5, 0xe1, 0x5d, 0xad, 0x14, 0xf5, 0x65, 0x50, 0x4a, 0xcc, 0xc1, + 0xc3, 0x79, 0x46, 0x29, 0xe5, 0xfe, 0x58, 0x85, 0x69, 0xb1, 0x8c, 0xe6, 0xe3, 0xc9, 0xd9, 0xe0, + 0x7b, 0x53, 0x3e, 0x75, 0x69, 0xf9, 0xf2, 0xca, 0x12, 0xfe, 0xc7, 0x0b, 0xc9, 0x5c, 0xf0, 0x15, + 0x2a, 0x0f, 0x9e, 0xc8, 0xa5, 0x7e, 0xe7, 0x44, 0xf2, 0x71, 0x81, 0xa1, 0xe7, 0x9c, 0x48, 0xa0, + 0xb7, 0xe7, 0x9c, 0x48, 0xa0, 0xb7, 0xe7, 0x9c, 0x48, 0xa0, 0xb7, 0x67, 0x2f, 0x20, 0xd0, 0xdb, + 0x73, 0x4e, 0x24, 0xd0, 0xdb, 0x73, 0x4e, 0x24, 0xd0, 0xdb, 0x7b, 0x4e, 0x84, 0x75, 0xf7, 0x3d, + 0x27, 0x12, 0xec, 0xef, 0x3d, 0x27, 0x12, 0xec, 0xef, 0x3d, 0x27, 0x92, 0x8f, 0xbb, 0x9d, 0x2e, + 0xea, 0xbf, 0xeb, 0x10, 0xc4, 0x0f, 0x7a, 0x09, 0xf4, 0x47, 0xe0, 0x2d, 0x98, 0xa4, 0x0b, 0x12, + 0x25, 0xdb, 0x72, 0xcd, 0x86, 0x85, 0x3a, 0xfa, 0xc7, 0x21, 0x43, 0x9b, 0xe8, 0x6b, 0x4e, 0xd8, + 0x6b, 0x20, 0xed, 0x67, 0xe3, 0x6d, 0x40, 0x3a, 0xf7, 0x27, 0x71, 0x98, 0xa1, 0x0d, 0x15, 0xb3, + 0x85, 0x02, 0xa7, 0x8c, 0xce, 0x4b, 0x7b, 0x4a, 0x13, 0x18, 0x7e, 0xef, 0x9d, 0x79, 0xda, 0x5a, + 0xf0, 0xa2, 0xe9, 0xbc, 0xb4, 0xbb, 0x14, 0x94, 0xf3, 0x27, 0xa0, 0xf3, 0xd2, 0xc9, 0xa3, 0xa0, + 0x9c, 0x37, 0xdf, 0x78, 0x72, 0xfc, 0x0c, 0x52, 0x50, 0x6e, 0xd5, 0x8b, 0xb2, 0xf3, 0xd2, 0x69, + 0xa4, 0xa0, 0x5c, 0xd9, 0x8b, 0xb7, 0xf3, 0xd2, 0xde, 0x53, 0x50, 0x6e, 0xcd, 0x8b, 0xbc, 0xf3, + 0xd2, 0x2e, 0x54, 0x50, 0xee, 0x96, 0x17, 0x83, 0xe7, 0xa5, 0xb3, 0x4a, 0x41, 0xb9, 0xe7, 0xbc, + 0x68, 0x3c, 0x2f, 0x9d, 0x5a, 0x0a, 0xca, 0xad, 0x7b, 0x71, 0xb9, 0x20, 0x9f, 0x5f, 0x0a, 0x0a, + 0xde, 0xf6, 0x23, 0x74, 0x41, 0x3e, 0xc9, 0x14, 0x94, 0xfc, 0x84, 0x1f, 0xab, 0x0b, 0xf2, 0x99, + 0xa6, 0xa0, 0xe4, 0x86, 0x1f, 0xb5, 0x0b, 0xf2, 0x5e, 0x59, 0x50, 0x72, 0xd3, 0x8f, 0xdf, 0x05, + 0x79, 0xd7, 0x2c, 0x28, 0x59, 0xf1, 0x23, 0x79, 0x41, 0xde, 0x3f, 0x0b, 0x4a, 0x6e, 0xf9, 0x8b, + 0xe8, 0x7f, 0x28, 0x85, 0x9f, 0x70, 0x0a, 0x2a, 0x27, 0x85, 0x1f, 0x84, 0x84, 0x9e, 0x34, 0x90, + 0x09, 0x32, 0x7e, 0xd8, 0xe5, 0xa4, 0xb0, 0x83, 0x90, 0x90, 0xcb, 0x49, 0x21, 0x07, 0x21, 0xe1, + 0x96, 0x93, 0xc2, 0x0d, 0x42, 0x42, 0x2d, 0x27, 0x85, 0x1a, 0x84, 0x84, 0x59, 0x4e, 0x0a, 0x33, + 0x08, 0x09, 0xb1, 0x9c, 0x14, 0x62, 0x10, 0x12, 0x5e, 0x39, 0x29, 0xbc, 0x20, 0x24, 0xb4, 0xce, + 0xc9, 0xa1, 0x05, 0x61, 0x61, 0x75, 0x4e, 0x0e, 0x2b, 0x08, 0x0b, 0xa9, 0x47, 0xe5, 0x90, 0x4a, + 0xdd, 0x7b, 0x67, 0x3e, 0x81, 0x9b, 0x84, 0x68, 0x3a, 0x27, 0x47, 0x13, 0x84, 0x45, 0xd2, 0x39, + 0x39, 0x92, 0x20, 0x2c, 0x8a, 0xce, 0xc9, 0x51, 0x04, 0x61, 0x11, 0xf4, 0x96, 0x1c, 0x41, 0xfe, + 0x19, 0x9f, 0x9c, 0xb4, 0xa5, 0x18, 0x15, 0x41, 0xea, 0x10, 0x11, 0xa4, 0x0e, 0x11, 0x41, 0xea, + 0x10, 0x11, 0xa4, 0x0e, 0x11, 0x41, 0xea, 0x10, 0x11, 0xa4, 0x0e, 0x11, 0x41, 0xea, 0x10, 0x11, + 0xa4, 0x0e, 0x13, 0x41, 0xea, 0x50, 0x11, 0xa4, 0xf6, 0x8b, 0xa0, 0x73, 0xf2, 0x89, 0x07, 0x08, + 0x1b, 0x90, 0xce, 0xc9, 0x5b, 0x9f, 0xd1, 0x21, 0xa4, 0x0e, 0x15, 0x42, 0x6a, 0xbf, 0x10, 0xfa, + 0x43, 0x15, 0xa6, 0x03, 0x21, 0xc4, 0xf6, 0x87, 0x3e, 0xac, 0x11, 0xe8, 0xea, 0x10, 0x07, 0x2c, + 0xc2, 0x62, 0xea, 0xea, 0x10, 0x9b, 0xd4, 0x83, 0xe2, 0xac, 0x77, 0x14, 0x2a, 0x0f, 0x31, 0x0a, + 0xad, 0x79, 0x31, 0x74, 0x75, 0x88, 0x83, 0x17, 0xbd, 0xb1, 0x77, 0x7d, 0xd0, 0x20, 0xf0, 0xdc, + 0x50, 0x83, 0xc0, 0xfa, 0x50, 0x83, 0xc0, 0x6d, 0xdf, 0x83, 0xbf, 0x1c, 0x83, 0x53, 0xbe, 0x07, + 0xe9, 0x27, 0xf2, 0xcb, 0x5a, 0x39, 0x61, 0x8b, 0x4a, 0xe7, 0xdb, 0x36, 0x82, 0x1b, 0x63, 0xeb, + 0x75, 0x7d, 0x3b, 0xb8, 0x59, 0x95, 0x3f, 0xe9, 0x06, 0x8e, 0xe0, 0x71, 0xb6, 0x18, 0x7a, 0x0e, + 0xd4, 0xf5, 0xba, 0x43, 0x46, 0x8b, 0xb0, 0xdb, 0x96, 0x0c, 0xdc, 0xad, 0x1b, 0x30, 0x4a, 0xc4, + 0x1d, 0xe2, 0xde, 0x0f, 0x72, 0xe3, 0x55, 0x83, 0x31, 0xe5, 0xde, 0x52, 0xe0, 0x4c, 0x20, 0x94, + 0x3f, 0x9c, 0x2d, 0x83, 0x9b, 0x43, 0x6d, 0x19, 0x04, 0x12, 0xc4, 0xdf, 0x3e, 0x78, 0xbc, 0x77, + 0xa7, 0x5a, 0xcc, 0x12, 0x79, 0x2b, 0xe1, 0xcf, 0xc1, 0x84, 0xff, 0x04, 0xe4, 0x9d, 0xed, 0x4a, + 0xf4, 0x6a, 0x66, 0x58, 0x6a, 0x5e, 0x91, 0x56, 0xd1, 0x06, 0xc2, 0xbc, 0x6c, 0xcd, 0xe5, 0x61, + 0xb2, 0x12, 0xfc, 0x4a, 0x54, 0xd4, 0x62, 0x44, 0x12, 0x97, 0xe6, 0x77, 0xbf, 0x32, 0x3f, 0x92, + 0x7b, 0x12, 0x32, 0xe2, 0xb7, 0x9e, 0x24, 0x60, 0x8a, 0x03, 0xf3, 0xf1, 0xb7, 0xb1, 0xf4, 0xdf, + 0x55, 0xe0, 0x01, 0x51, 0xfc, 0xf9, 0x86, 0x7b, 0xb4, 0x6e, 0xe1, 0x9a, 0xfe, 0x69, 0x48, 0x22, + 0xe6, 0x38, 0xf6, 0x23, 0x39, 0xec, 0x3d, 0x32, 0x54, 0x7c, 0x89, 0xfc, 0x6b, 0x78, 0x10, 0x69, + 0x8d, 0x83, 0xdf, 0x76, 0x79, 0xf6, 0x31, 0x48, 0x50, 0xfe, 0xa0, 0x5e, 0xe3, 0x92, 0x5e, 0xbf, + 0x19, 0xa2, 0x17, 0x89, 0x23, 0xfd, 0x76, 0x40, 0x2f, 0xe1, 0x75, 0x35, 0x54, 0x7c, 0x89, 0x07, + 0x5f, 0x31, 0x89, 0xeb, 0x3f, 0x12, 0x51, 0xd1, 0x4a, 0x2e, 0x40, 0xb2, 0x2c, 0xcb, 0x84, 0xeb, + 0xb9, 0x0a, 0xf1, 0x8a, 0x5d, 0x27, 0x3f, 0xdf, 0x43, 0x7e, 0x08, 0x9b, 0x19, 0x99, 0xfd, 0x2a, + 0xf6, 0x79, 0x48, 0x96, 0x8e, 0x1a, 0xcd, 0x7a, 0x07, 0x59, 0x6c, 0xcf, 0x9e, 0x2d, 0xa1, 0x63, + 0x8c, 0xe1, 0xf5, 0xe5, 0x4a, 0x30, 0x55, 0xb1, 0xad, 0xe2, 0xb1, 0x2b, 0x8e, 0x1b, 0x4b, 0x52, + 0x8a, 0xb0, 0x3d, 0x1f, 0xf2, 0x2d, 0x11, 0x2c, 0x50, 0x4c, 0x7c, 0xe7, 0x9d, 0x79, 0x65, 0xd7, + 0x5b, 0x3f, 0xdf, 0x84, 0x07, 0x59, 0xfa, 0xf4, 0x50, 0x2d, 0x47, 0x51, 0xa5, 0xd8, 0x3e, 0xb5, + 0x40, 0xb7, 0x8e, 0xe9, 0xac, 0x50, 0xba, 0xfb, 0xd3, 0x0c, 0x17, 0x45, 0x03, 0x35, 0x53, 0x4f, + 0xa4, 0x59, 0x28, 0xdd, 0x52, 0x14, 0x9d, 0xa4, 0xd9, 0xa3, 0x90, 0xf2, 0xfa, 0x84, 0x68, 0x10, + 0x33, 0x65, 0x79, 0x31, 0x07, 0x69, 0x21, 0x61, 0xf5, 0x04, 0x28, 0x05, 0x6d, 0x04, 0xff, 0x57, + 0xd4, 0x14, 0xfc, 0x5f, 0x49, 0x8b, 0x2d, 0x3e, 0x06, 0x93, 0xd2, 0xfa, 0x25, 0xee, 0x59, 0xd5, + 0x00, 0xff, 0x57, 0xd6, 0xd2, 0xb3, 0xf1, 0xcf, 0xfe, 0xc6, 0xdc, 0xc8, 0xe2, 0x4d, 0xd0, 0x7b, + 0x57, 0x3a, 0xf5, 0x51, 0x88, 0x15, 0x30, 0xe5, 0x83, 0x10, 0x2b, 0x16, 0x35, 0x65, 0x76, 0xf2, + 0x2f, 0x7f, 0xf1, 0x4c, 0xba, 0x48, 0xbe, 0xd2, 0x7d, 0x07, 0xb9, 0xc5, 0x22, 0x03, 0x3f, 0x03, + 0x0f, 0x84, 0xae, 0x94, 0x62, 0x7c, 0xa9, 0x44, 0xf1, 0xab, 0xab, 0x3d, 0xf8, 0xd5, 0x55, 0x82, + 0x57, 0xf2, 0x7c, 0xc7, 0xb9, 0xa0, 0x87, 0xac, 0x4b, 0x66, 0xeb, 0xc2, 0x0e, 0x77, 0x21, 0xff, + 0x0c, 0x93, 0x2d, 0x86, 0xca, 0xa2, 0x88, 0x1d, 0xeb, 0x62, 0xbe, 0xc4, 0xf0, 0xa5, 0x50, 0xfc, + 0x81, 0xb4, 0xad, 0x1a, 0x9c, 0x21, 0x18, 0x49, 0xc9, 0x53, 0x78, 0x35, 0x94, 0xe4, 0x48, 0x38, + 0xec, 0xbe, 0xea, 0x29, 0x5c, 0x0e, 0x95, 0x6d, 0x44, 0x1c, 0xfa, 0x2a, 0xe7, 0x2f, 0xb0, 0x49, + 0xbe, 0x70, 0x49, 0x7f, 0x80, 0xe7, 0x68, 0x60, 0x04, 0x66, 0x06, 0xe2, 0x52, 0xf9, 0x12, 0x03, + 0x14, 0xfb, 0x02, 0xfa, 0x5b, 0x89, 0x23, 0xf3, 0xcf, 0x31, 0x92, 0x52, 0x5f, 0x92, 0x08, 0x53, + 0x71, 0x78, 0x71, 0xf7, 0xee, 0xbb, 0x73, 0x23, 0x6f, 0xbf, 0x3b, 0x37, 0xf2, 0x9f, 0xde, 0x9d, + 0x1b, 0xf9, 0xee, 0xbb, 0x73, 0xca, 0xf7, 0xdf, 0x9d, 0x53, 0x7e, 0xf8, 0xee, 0x9c, 0xf2, 0xa3, + 0x77, 0xe7, 0x94, 0x37, 0xee, 0xcd, 0x29, 0x5f, 0xbb, 0x37, 0xa7, 0x7c, 0xfd, 0xde, 0x9c, 0xf2, + 0xfb, 0xf7, 0xe6, 0x94, 0xb7, 0xee, 0xcd, 0x29, 0x77, 0xef, 0xcd, 0x29, 0x6f, 0xdf, 0x9b, 0x53, + 0xbe, 0x7b, 0x6f, 0x4e, 0xf9, 0xfe, 0xbd, 0xb9, 0x91, 0x1f, 0xde, 0x9b, 0x53, 0x7e, 0x74, 0x6f, + 0x6e, 0xe4, 0x8d, 0xf7, 0xe6, 0x46, 0xde, 0x7c, 0x6f, 0x6e, 0xe4, 0x6b, 0xef, 0xcd, 0x29, 0xf0, + 0xde, 0x0a, 0xcc, 0xb1, 0x6f, 0x92, 0x59, 0xa8, 0x81, 0x83, 0xee, 0x82, 0x7b, 0x84, 0x48, 0x41, + 0x70, 0x99, 0xff, 0x02, 0x98, 0xd7, 0x70, 0xc2, 0xef, 0x94, 0xcd, 0xde, 0xef, 0x37, 0xd8, 0x72, + 0xff, 0x3a, 0x01, 0x63, 0x7c, 0x25, 0x38, 0xec, 0x77, 0xd2, 0xaf, 0x40, 0xf2, 0xa8, 0xd1, 0x34, + 0x3b, 0x0d, 0xf7, 0x98, 0x2d, 0x81, 0x3e, 0xb4, 0xe4, 0xab, 0xcd, 0x17, 0x4d, 0x9f, 0xeb, 0xb6, + 0xec, 0x6e, 0xc7, 0xf0, 0x44, 0xf5, 0x33, 0x90, 0x39, 0x42, 0x8d, 0xc3, 0x23, 0xb7, 0xda, 0xb0, + 0xaa, 0xb5, 0x16, 0xa9, 0x94, 0xc7, 0x0d, 0xa0, 0x6d, 0xeb, 0x56, 0xa9, 0x85, 0x6f, 0x56, 0x37, + 0x5d, 0x93, 0xbc, 0xa1, 0x67, 0x0c, 0xf2, 0x99, 0xfc, 0xd6, 0x31, 0x72, 0xba, 0x4d, 0xb7, 0x5a, + 0xb3, 0xbb, 0x96, 0x4b, 0x6a, 0x59, 0xd5, 0x48, 0xd3, 0xb6, 0x12, 0x6e, 0xd2, 0x1f, 0x85, 0x71, + 0xb7, 0xd3, 0x45, 0x55, 0xa7, 0x66, 0xbb, 0x4e, 0xcb, 0xb4, 0x48, 0x2d, 0x9b, 0x34, 0x32, 0xb8, + 0x71, 0x87, 0xb5, 0x91, 0x9f, 0xd8, 0xaf, 0xd9, 0x1d, 0x44, 0x5e, 0xa5, 0x63, 0x06, 0xbd, 0xd0, + 0x35, 0x50, 0x5f, 0x46, 0xc7, 0xe4, 0x65, 0x2d, 0x6e, 0xe0, 0x8f, 0xfa, 0x13, 0x30, 0x4a, 0xff, + 0x46, 0x0e, 0xa9, 0xac, 0xc9, 0xc6, 0xb5, 0xf7, 0x68, 0x74, 0x81, 0xd6, 0x60, 0x02, 0xfa, 0x0d, + 0x18, 0x73, 0x51, 0xa7, 0x63, 0x36, 0x2c, 0xf2, 0xe2, 0x94, 0x5e, 0x9e, 0x0f, 0x31, 0xc3, 0x2e, + 0x95, 0x20, 0xbf, 0x08, 0x6c, 0x70, 0x79, 0xfd, 0x0a, 0x64, 0x88, 0xdc, 0x72, 0x95, 0xfe, 0x1d, + 0xa1, 0x74, 0xdf, 0x58, 0x4e, 0x53, 0x39, 0xbe, 0x4f, 0xc0, 0x61, 0xf4, 0xd7, 0x10, 0xc7, 0xc9, + 0x6d, 0x1f, 0x0d, 0xb9, 0x2d, 0x19, 0x76, 0x97, 0x49, 0xc9, 0x48, 0x6f, 0xcd, 0x78, 0xe8, 0xef, + 0x25, 0x6e, 0x42, 0x46, 0xd4, 0x8b, 0x9b, 0x81, 0x96, 0x3e, 0xc4, 0x0c, 0x8f, 0xfb, 0x7f, 0xa3, + 0xa1, 0x8f, 0x15, 0x68, 0x7f, 0x3e, 0x76, 0x5d, 0x99, 0xdd, 0x06, 0x4d, 0xbe, 0x5f, 0x08, 0xe5, + 0xf9, 0x20, 0xa5, 0x26, 0x3e, 0x2c, 0x59, 0x25, 0xf7, 0x19, 0x73, 0xcf, 0xc2, 0x28, 0x8d, 0x1f, + 0x3d, 0x0d, 0x63, 0xfe, 0x0f, 0x6d, 0x26, 0x21, 0xbe, 0xbd, 0x57, 0xd9, 0xa1, 0xbf, 0x98, 0xbb, + 0xb3, 0x51, 0xd8, 0xde, 0xd9, 0x5d, 0x2f, 0x7d, 0x42, 0x8b, 0xe9, 0x93, 0x90, 0x2e, 0xae, 0x6f, + 0x6c, 0x54, 0x8b, 0x85, 0xf5, 0x8d, 0xf2, 0x1d, 0x4d, 0xcd, 0xcd, 0xc1, 0x28, 0xd5, 0x93, 0xfc, + 0xf2, 0x5f, 0xd7, 0xb2, 0x8e, 0x79, 0xe9, 0x40, 0x2e, 0x72, 0xdf, 0xd0, 0x61, 0xac, 0xd0, 0x6c, + 0x6e, 0x9a, 0x6d, 0x47, 0x7f, 0x1e, 0xa6, 0xe8, 0x6f, 0x72, 0xec, 0xda, 0xab, 0xe4, 0x07, 0x2a, + 0xf1, 0xc0, 0xa0, 0xb0, 0xbf, 0x4d, 0xe1, 0x3f, 0x37, 0x13, 0x5f, 0xea, 0x91, 0xa5, 0x06, 0xee, + 0xe5, 0xd0, 0x77, 0x41, 0xe3, 0x8d, 0x6b, 0x4d, 0xdb, 0x74, 0x31, 0x6f, 0x8c, 0xfd, 0x7e, 0x64, + 0x7f, 0x5e, 0x2e, 0x4a, 0x69, 0x7b, 0x18, 0xf4, 0x8f, 0x43, 0x72, 0xdd, 0x72, 0x2f, 0x2f, 0x63, + 0x36, 0xfe, 0x77, 0x9f, 0x7a, 0xd9, 0xb8, 0x08, 0x65, 0xf1, 0x10, 0x0c, 0x7d, 0x75, 0x05, 0xa3, + 0xe3, 0x83, 0xd0, 0x44, 0xc4, 0x47, 0x93, 0x4b, 0xfd, 0x59, 0x48, 0xe1, 0x37, 0x13, 0x7a, 0xf3, + 0x04, 0x2f, 0x5b, 0x7b, 0xe0, 0x9e, 0x0c, 0xc5, 0xfb, 0x18, 0x4e, 0x40, 0xef, 0x3f, 0x3a, 0x90, + 0x40, 0x50, 0xc0, 0xc7, 0x60, 0x82, 0x1d, 0x4f, 0x83, 0xb1, 0xbe, 0x04, 0x3b, 0x92, 0x06, 0x3b, + 0xa2, 0x06, 0x3b, 0x9e, 0x06, 0xc9, 0x81, 0x04, 0xa2, 0x06, 0xde, 0xb5, 0x5e, 0x04, 0x58, 0x6b, + 0xbc, 0x86, 0xea, 0x54, 0x05, 0xfa, 0x57, 0xa1, 0x72, 0x21, 0x0c, 0xbe, 0x10, 0xa5, 0x10, 0x50, + 0x7a, 0x19, 0xd2, 0x3b, 0x07, 0x3e, 0x09, 0xf4, 0xe4, 0xb1, 0xa7, 0xc6, 0x81, 0xc4, 0x22, 0xe2, + 0x3c, 0x55, 0xe8, 0xc3, 0xa4, 0x07, 0xab, 0x22, 0x3c, 0x8d, 0x80, 0xf2, 0x55, 0xa1, 0x24, 0x99, + 0x08, 0x55, 0x04, 0x16, 0x11, 0x87, 0x07, 0xc3, 0xa2, 0x6d, 0x63, 0x49, 0x36, 0x2a, 0xcd, 0x87, + 0x50, 0x30, 0x09, 0x36, 0x18, 0xb2, 0x2b, 0xe2, 0x11, 0x12, 0xe4, 0x18, 0x3c, 0xd1, 0xdf, 0x23, + 0x5c, 0x86, 0x7b, 0x84, 0x5f, 0x8b, 0x79, 0x46, 0x4e, 0xb3, 0x62, 0x9e, 0xc9, 0xc8, 0x3c, 0xe3, + 0xa2, 0x52, 0x9e, 0xf1, 0x66, 0xfd, 0x93, 0x30, 0xc9, 0xdb, 0xf0, 0xf0, 0x84, 0x49, 0x35, 0xf6, + 0x77, 0xf3, 0xfa, 0x93, 0x32, 0x49, 0xca, 0x29, 0xe3, 0xf5, 0x0a, 0x4c, 0xf0, 0xa6, 0x4d, 0x87, + 0x3c, 0xee, 0x14, 0xfb, 0x93, 0x28, 0xfd, 0x19, 0xa9, 0x20, 0x25, 0x94, 0xd0, 0xb3, 0xab, 0x30, + 0x13, 0x3e, 0x1a, 0x89, 0xc3, 0x6f, 0x8a, 0x0e, 0xbf, 0xa7, 0xc4, 0xe1, 0x57, 0x11, 0x87, 0xef, + 0x12, 0x3c, 0x10, 0x3a, 0xf6, 0x44, 0x91, 0xc4, 0x44, 0x92, 0x9b, 0x30, 0x1e, 0x18, 0x72, 0x44, + 0x70, 0x22, 0x04, 0x9c, 0xe8, 0x05, 0xfb, 0xa1, 0x15, 0x32, 0x7b, 0x04, 0xc0, 0xaa, 0x08, 0xfe, + 0x38, 0x4c, 0x04, 0xc7, 0x1b, 0x11, 0x3d, 0x1e, 0x82, 0x1e, 0x0f, 0x41, 0x87, 0xdf, 0x3b, 0x1e, + 0x82, 0x8e, 0x4b, 0xe8, 0x9d, 0xbe, 0xf7, 0x9e, 0x0a, 0x41, 0x4f, 0x85, 0xa0, 0xc3, 0xef, 0xad, + 0x87, 0xa0, 0x75, 0x11, 0xfd, 0x34, 0x4c, 0x4a, 0x43, 0x8c, 0x08, 0x1f, 0x0b, 0x81, 0x8f, 0x89, + 0xf0, 0x67, 0x40, 0x93, 0x07, 0x17, 0x11, 0x3f, 0x19, 0x82, 0x9f, 0x0c, 0xbb, 0x7d, 0xb8, 0xf6, + 0xa3, 0x21, 0xf0, 0xd1, 0xd0, 0xdb, 0x87, 0xe3, 0xb5, 0x10, 0xbc, 0x26, 0xe2, 0xf3, 0x90, 0x11, + 0x47, 0x13, 0x11, 0x9b, 0x0c, 0xc1, 0x26, 0x65, 0xbb, 0x07, 0x06, 0x93, 0xa8, 0x48, 0x4f, 0xf5, + 0x49, 0x97, 0xc0, 0x10, 0x12, 0x45, 0x92, 0x11, 0x49, 0x3e, 0x05, 0xa7, 0xc2, 0x86, 0x8c, 0x10, + 0x8e, 0x05, 0x91, 0x63, 0x02, 0xd7, 0x88, 0x7e, 0xb1, 0x67, 0xb6, 0xa5, 0xc2, 0x69, 0xf6, 0x45, + 0x98, 0x0e, 0x19, 0x38, 0x42, 0x68, 0x97, 0x82, 0xd5, 0x58, 0x56, 0xa0, 0x25, 0x83, 0x40, 0xc3, + 0x3a, 0xdc, 0xb6, 0x1b, 0x96, 0x2b, 0x56, 0x65, 0xdf, 0x9c, 0x86, 0x09, 0x36, 0x3c, 0x6d, 0x75, + 0xea, 0xa8, 0x83, 0xea, 0xfa, 0x9f, 0xe9, 0x5f, 0x3b, 0x5d, 0xec, 0x1d, 0xd4, 0x18, 0xea, 0x04, + 0x25, 0xd4, 0x8b, 0x7d, 0x4b, 0xa8, 0x0b, 0xd1, 0xf4, 0x51, 0x95, 0x54, 0xa9, 0xa7, 0x92, 0x7a, + 0xbc, 0x3f, 0x69, 0xbf, 0x82, 0xaa, 0xd4, 0x53, 0x50, 0x0d, 0x26, 0x09, 0xad, 0xab, 0xd6, 0x7a, + 0xeb, 0xaa, 0x85, 0xfe, 0x2c, 0xfd, 0xcb, 0xab, 0xb5, 0xde, 0xf2, 0x2a, 0x82, 0x27, 0xbc, 0xca, + 0x5a, 0xeb, 0xad, 0xb2, 0x06, 0xf0, 0xf4, 0x2f, 0xb6, 0xd6, 0x7a, 0x8b, 0xad, 0x08, 0x9e, 0xf0, + 0x9a, 0x6b, 0x3d, 0xa4, 0xe6, 0x7a, 0xa2, 0x3f, 0xd1, 0xa0, 0xd2, 0x6b, 0x23, 0xac, 0xf4, 0x5a, + 0x1c, 0xa0, 0xd4, 0xc0, 0x0a, 0x6c, 0x3d, 0xa4, 0x02, 0x8b, 0x52, 0xac, 0x4f, 0x21, 0xb6, 0x11, + 0x56, 0x88, 0x45, 0x2a, 0xd6, 0xaf, 0x1e, 0xfb, 0x05, 0xb9, 0x1e, 0x3b, 0xdf, 0x9f, 0x29, 0xbc, + 0x2c, 0x5b, 0xeb, 0x2d, 0xcb, 0x16, 0xa2, 0x72, 0x2e, 0xac, 0x3a, 0x7b, 0xb1, 0x6f, 0x75, 0x36, + 0x44, 0x0a, 0x47, 0x15, 0x69, 0x2f, 0xf4, 0x2b, 0xd2, 0x96, 0xa2, 0xb9, 0x07, 0xd7, 0x6a, 0x7b, + 0x7d, 0x6a, 0xb5, 0xa7, 0xa2, 0x89, 0x7f, 0x5e, 0xb2, 0xfd, 0xbc, 0x64, 0xfb, 0x79, 0xc9, 0xf6, + 0xf3, 0x92, 0xed, 0xa7, 0x5f, 0xb2, 0xe5, 0xe3, 0x9f, 0xfb, 0xca, 0xbc, 0x92, 0xfb, 0x8f, 0xaa, + 0xf7, 0xc7, 0xd6, 0x9e, 0x6f, 0xb8, 0x47, 0x78, 0x78, 0xdb, 0x84, 0x0c, 0xf9, 0xf1, 0xdf, 0x96, + 0xd9, 0x6e, 0x37, 0xac, 0x43, 0x56, 0xb3, 0x2d, 0xf6, 0x2e, 0x25, 0x32, 0x00, 0xf9, 0x43, 0x33, + 0x9b, 0x54, 0x98, 0x4d, 0x37, 0x96, 0xdf, 0xa2, 0xdf, 0x86, 0x74, 0xcb, 0x39, 0xf4, 0xd8, 0x62, + 0x3d, 0x13, 0xa1, 0xc4, 0x46, 0x9f, 0xd4, 0x27, 0x83, 0x96, 0xd7, 0x80, 0x55, 0xdb, 0x3f, 0x76, + 0x7d, 0xd5, 0xd4, 0x28, 0xd5, 0xb0, 0x4f, 0x83, 0xaa, 0xed, 0xfb, 0x2d, 0x38, 0x6c, 0x65, 0xdd, + 0xa3, 0x46, 0xba, 0x40, 0xf0, 0x3c, 0x0f, 0x93, 0x92, 0xb6, 0x21, 0x39, 0x7f, 0x1f, 0xbe, 0xc1, + 0x8a, 0xc9, 0x9a, 0x47, 0xe5, 0x84, 0x18, 0x90, 0xb9, 0x47, 0x60, 0x3c, 0xc0, 0xad, 0x67, 0x40, + 0x39, 0x60, 0x5f, 0xa5, 0x54, 0x0e, 0x72, 0x5f, 0x56, 0x20, 0xcd, 0x8e, 0x11, 0x6c, 0x9b, 0x8d, + 0x8e, 0xfe, 0x1c, 0xc4, 0x9b, 0xfc, 0xeb, 0x4c, 0xf7, 0xfb, 0xd5, 0x59, 0xc2, 0xa0, 0xaf, 0x41, + 0xa2, 0xe3, 0x7d, 0xdd, 0xe9, 0xbe, 0xbe, 0x0f, 0x4b, 0xe0, 0xb9, 0xbb, 0x0a, 0x4c, 0xb1, 0x53, + 0xae, 0x0e, 0x3b, 0xfc, 0x6c, 0xb6, 0x67, 0xbf, 0xa1, 0x40, 0xca, 0xbb, 0xd2, 0xf7, 0x61, 0xc2, + 0xbb, 0xa0, 0x07, 0xec, 0x69, 0xa4, 0xe6, 0x05, 0x0b, 0xf7, 0x70, 0x2c, 0x85, 0x7c, 0xa2, 0x1b, + 0x51, 0x74, 0x4e, 0x0e, 0x36, 0xce, 0x16, 0x60, 0x3a, 0x44, 0xec, 0x24, 0x13, 0x72, 0xee, 0x2c, + 0xa4, 0x2a, 0xb6, 0x4b, 0x7f, 0x35, 0x47, 0x3f, 0x25, 0xec, 0x2a, 0x14, 0x63, 0xda, 0x08, 0x01, + 0x2f, 0x9e, 0x85, 0x31, 0x96, 0xfd, 0xfa, 0x28, 0xc4, 0x36, 0x0b, 0xda, 0x08, 0xf9, 0xbf, 0xa8, + 0x29, 0xe4, 0xff, 0x92, 0x16, 0x2b, 0x6e, 0xdc, 0xc7, 0x2e, 0xd3, 0xc8, 0xdb, 0xf7, 0xe6, 0x46, + 0xc2, 0x76, 0x99, 0xf6, 0x47, 0xa9, 0x79, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x64, + 0x02, 0x1b, 0xc2, 0x83, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -5191,112 +5301,3 @@ func valueToStringTheproto3(v interface{}) string { pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } - -func init() { - proto.RegisterFile("combos/neither/theproto3.proto", fileDescriptor_theproto3_637a0f64ba0c048e) -} - -var fileDescriptor_theproto3_637a0f64ba0c048e = []byte{ - // 1609 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, - 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0xc0, 0xd2, 0xb2, 0x02, - 0x24, 0x4a, 0xb0, 0x91, 0xb3, 0x4e, 0xb2, 0x9b, 0xba, 0x69, 0x53, 0x4b, 0xb1, 0x10, 0x37, 0xb6, - 0xe2, 0x4a, 0x76, 0xdc, 0x22, 0x40, 0x0d, 0xca, 0xa6, 0x25, 0x22, 0x12, 0x69, 0x88, 0xa3, 0xa0, - 0xbe, 0xe5, 0xcf, 0xe8, 0xad, 0xe8, 0xad, 0xc7, 0x22, 0x87, 0xa2, 0xc7, 0xf6, 0xe6, 0x63, 0x80, - 0x5e, 0x8a, 0x1e, 0x82, 0x58, 0xbd, 0xe4, 0x98, 0x63, 0x8e, 0xc5, 0xcc, 0x50, 0xd2, 0x88, 0x1c, - 0x8a, 0x4d, 0x2f, 0xbd, 0xf8, 0x24, 0xce, 0xf3, 0xfb, 0x7e, 0xe6, 0x71, 0x38, 0xf3, 0xf8, 0x05, - 0x0d, 0xea, 0x81, 0xd5, 0x6b, 0x59, 0xf6, 0xb2, 0xa9, 0x1b, 0xa4, 0xa3, 0xf7, 0x97, 0x49, 0x47, - 0x3f, 0xee, 0x5b, 0xc4, 0xba, 0x59, 0x66, 0x3f, 0x38, 0x35, 0x0e, 0x2c, 0x5c, 0x6f, 0x1b, 0xa4, - 0x33, 0x68, 0x95, 0x0f, 0xac, 0xde, 0x72, 0xdb, 0x6a, 0x5b, 0xcb, 0x2c, 0xde, 0x1a, 0x1c, 0xb1, - 0x11, 0x1b, 0xb0, 0x2b, 0xae, 0x5c, 0xf8, 0xbf, 0x6f, 0x3a, 0xd1, 0x6d, 0xb2, 0xec, 0xcc, 0xdb, - 0xb2, 0x48, 0x87, 0x4e, 0x4a, 0x63, 0x5c, 0x58, 0xfc, 0x39, 0x06, 0x89, 0x2d, 0xdd, 0xb6, 0xb5, - 0xb6, 0x8e, 0x31, 0x44, 0x4d, 0xad, 0xa7, 0xe7, 0x51, 0x01, 0x95, 0x52, 0x0d, 0x76, 0x8d, 0x6f, - 0x43, 0xb2, 0x63, 0x74, 0xb5, 0xbe, 0x41, 0x4e, 0xf2, 0xe1, 0x02, 0x2a, 0xe5, 0x56, 0xfe, 0x55, - 0x9e, 0x94, 0xed, 0x28, 0xcb, 0x0f, 0x06, 0x3d, 0x6b, 0xd0, 0x6f, 0x8c, 0x53, 0x71, 0x01, 0x32, - 0x1d, 0xdd, 0x68, 0x77, 0xc8, 0xbe, 0x61, 0xee, 0x1f, 0xf4, 0xf2, 0x91, 0x02, 0x2a, 0x65, 0x1b, - 0xc0, 0x63, 0x1b, 0x66, 0xb5, 0x47, 0x27, 0x3b, 0xd4, 0x88, 0x96, 0x8f, 0x16, 0x50, 0x29, 0xd3, - 0x60, 0xd7, 0x78, 0x09, 0x32, 0x7d, 0xdd, 0x1e, 0x74, 0xc9, 0xfe, 0x81, 0x35, 0x30, 0x49, 0x3e, - 0x51, 0x40, 0xa5, 0x48, 0x23, 0xcd, 0x63, 0x55, 0x1a, 0xc2, 0x97, 0x20, 0x4b, 0xfa, 0x03, 0x7d, - 0xdf, 0x3e, 0xb0, 0x88, 0xdd, 0xd3, 0xcc, 0x7c, 0xb2, 0x80, 0x4a, 0xc9, 0x46, 0x86, 0x06, 0x9b, - 0x4e, 0x0c, 0x5f, 0x84, 0x98, 0x7d, 0x60, 0xf5, 0xf5, 0x7c, 0xaa, 0x80, 0x4a, 0xe1, 0x06, 0x1f, - 0x60, 0x05, 0x22, 0x4f, 0xf5, 0x93, 0x7c, 0xac, 0x10, 0x29, 0x45, 0x1b, 0xf4, 0x12, 0x5f, 0x85, - 0xb8, 0xa9, 0xdb, 0x44, 0x3f, 0xcc, 0xc7, 0x0b, 0xa8, 0x94, 0x5e, 0x99, 0x17, 0x6e, 0xad, 0xce, - 0xfe, 0xd0, 0x70, 0x12, 0xf0, 0x07, 0x90, 0x20, 0x7a, 0xbf, 0xaf, 0x19, 0x66, 0x1e, 0x0a, 0x91, - 0x52, 0x7a, 0x65, 0x51, 0xb2, 0x0c, 0x3b, 0x3c, 0x63, 0xdd, 0x24, 0xfd, 0x93, 0xc6, 0x28, 0x1f, - 0xdf, 0x86, 0x0c, 0xcb, 0x5b, 0xd9, 0x3f, 0x32, 0xf4, 0xee, 0x61, 0x3e, 0xcd, 0xe6, 0xc2, 0x65, - 0xf6, 0x14, 0xea, 0x86, 0xf9, 0xe8, 0x98, 0xd4, 0x35, 0x62, 0x3c, 0xd3, 0x1b, 0x69, 0x9e, 0x57, - 0xa3, 0x69, 0xb8, 0x36, 0x96, 0x3d, 0xd3, 0xba, 0x03, 0x3d, 0x9f, 0x65, 0xd3, 0x5e, 0x92, 0x4c, - 0xbb, 0xcd, 0xd2, 0x1e, 0xd3, 0x2c, 0x3e, 0xb5, 0xc3, 0x61, 0x91, 0x85, 0x2d, 0xc8, 0x88, 0x75, - 0x8d, 0x96, 0x01, 0xb1, 0xb5, 0x65, 0xcb, 0x70, 0x05, 0x62, 0x7c, 0x8a, 0xb0, 0xdf, 0x2a, 0xf0, - 0xbf, 0xaf, 0x86, 0xef, 0xa0, 0x85, 0x6d, 0x50, 0xdc, 0xf3, 0x49, 0x90, 0x97, 0xa7, 0x91, 0x8a, - 0x78, 0xb3, 0xeb, 0xe6, 0xa0, 0x27, 0x10, 0x8b, 0xf7, 0x20, 0xce, 0xf7, 0x0f, 0x4e, 0x43, 0x62, - 0xb7, 0xfe, 0xb0, 0xfe, 0x68, 0xaf, 0xae, 0x84, 0x70, 0x12, 0xa2, 0xdb, 0xbb, 0xf5, 0xa6, 0x82, - 0x70, 0x16, 0x52, 0xcd, 0xcd, 0xb5, 0xed, 0xe6, 0xce, 0x46, 0xf5, 0xa1, 0x12, 0xc6, 0x73, 0x90, - 0xae, 0x6c, 0x6c, 0x6e, 0xee, 0x57, 0xd6, 0x36, 0x36, 0xd7, 0xbf, 0x50, 0x22, 0x45, 0x15, 0xe2, - 0xbc, 0x4e, 0xfa, 0xe0, 0x5b, 0x03, 0xd3, 0x3c, 0x71, 0xb6, 0x30, 0x1f, 0x14, 0x5f, 0x60, 0x48, - 0xac, 0x75, 0xbb, 0x5b, 0xda, 0xb1, 0x8d, 0xf7, 0x60, 0xbe, 0x49, 0xfa, 0x86, 0xd9, 0xde, 0xb1, - 0xee, 0x5b, 0x83, 0x56, 0x57, 0xdf, 0xd2, 0x8e, 0xf3, 0x88, 0x2d, 0xed, 0x55, 0xe1, 0xbe, 0x9d, - 0xf4, 0xb2, 0x27, 0x97, 0x2f, 0xb0, 0x97, 0x81, 0x77, 0x40, 0x19, 0x05, 0x6b, 0x5d, 0x4b, 0x23, - 0x94, 0x1b, 0x66, 0xdc, 0xd2, 0x0c, 0xee, 0x28, 0x95, 0x63, 0x3d, 0x04, 0x7c, 0x17, 0x92, 0x1b, - 0x26, 0xb9, 0xb9, 0x42, 0x69, 0x11, 0x46, 0x2b, 0x48, 0x68, 0xa3, 0x14, 0x4e, 0x19, 0x2b, 0x1c, - 0xf5, 0xff, 0x6e, 0x51, 0x75, 0x74, 0x96, 0x9a, 0xa5, 0x4c, 0xd4, 0x6c, 0x88, 0xef, 0x41, 0x6a, - 0xd7, 0x18, 0x4d, 0x1e, 0x63, 0xf2, 0x25, 0x89, 0x7c, 0x9c, 0xc3, 0xf5, 0x13, 0xcd, 0x08, 0xc0, - 0xe7, 0x8f, 0xcf, 0x04, 0x08, 0x05, 0x4c, 0x34, 0x14, 0xd0, 0x1c, 0x57, 0x90, 0xf0, 0x05, 0x34, - 0x5d, 0x15, 0x34, 0xc5, 0x0a, 0x9a, 0xe3, 0x0a, 0x92, 0x33, 0x01, 0x62, 0x05, 0xe3, 0x31, 0xae, - 0x00, 0xd4, 0x8c, 0xaf, 0xf4, 0x43, 0x5e, 0x42, 0x8a, 0x11, 0x8a, 0x12, 0xc2, 0x24, 0x89, 0x23, - 0x04, 0x15, 0x5e, 0x87, 0x74, 0xf3, 0x68, 0x02, 0x01, 0xcf, 0x39, 0x1e, 0x97, 0x71, 0xe4, 0xa2, - 0x88, 0xba, 0x71, 0x29, 0xfc, 0x66, 0xd2, 0xb3, 0x4b, 0x11, 0xee, 0x46, 0x50, 0x4d, 0x4a, 0xe1, - 0x90, 0x4c, 0x40, 0x29, 0x02, 0x45, 0xd4, 0xd1, 0x66, 0x58, 0xb1, 0x2c, 0x9a, 0xe9, 0x74, 0xa5, - 0x45, 0x09, 0xc2, 0xc9, 0x70, 0x9a, 0xa1, 0x33, 0x62, 0x4f, 0x84, 0x6d, 0x72, 0x2a, 0xce, 0xf9, - 0x3f, 0x91, 0x51, 0xce, 0xe8, 0x89, 0x8c, 0xc6, 0xe2, 0x39, 0xab, 0x9c, 0x10, 0xdd, 0xa6, 0x9c, - 0xb9, 0xc0, 0x73, 0x36, 0x4a, 0x75, 0x9d, 0xb3, 0x51, 0x18, 0x7f, 0x06, 0x73, 0xa3, 0x18, 0x6d, - 0x4f, 0x14, 0xaa, 0x30, 0xe8, 0x95, 0x19, 0x50, 0x27, 0x93, 0x33, 0xdd, 0x7a, 0x5c, 0x87, 0xdc, - 0x28, 0xb4, 0x65, 0xb3, 0xdb, 0x9d, 0x67, 0xc4, 0xcb, 0x33, 0x88, 0x3c, 0x91, 0x03, 0x5d, 0xea, - 0x85, 0xfb, 0xf0, 0x4f, 0x79, 0x37, 0x12, 0xdb, 0x6f, 0x8a, 0xb7, 0xdf, 0x8b, 0x62, 0xfb, 0x45, - 0x62, 0xfb, 0xae, 0xc2, 0x3f, 0xa4, 0xbd, 0x27, 0x08, 0x12, 0x16, 0x21, 0x1f, 0x42, 0x76, 0xaa, - 0xe5, 0x88, 0xe2, 0x98, 0x44, 0x1c, 0xf3, 0x8a, 0x27, 0x5b, 0x4b, 0xf2, 0xf6, 0x98, 0x12, 0x47, - 0x44, 0xf1, 0x5d, 0xc8, 0x4d, 0xf7, 0x1b, 0x51, 0x9d, 0x95, 0xa8, 0xb3, 0x12, 0xb5, 0x7c, 0xee, - 0xa8, 0x44, 0x1d, 0x75, 0xa9, 0x9b, 0xbe, 0x73, 0xcf, 0x4b, 0xd4, 0xf3, 0x12, 0xb5, 0x7c, 0x6e, - 0x2c, 0x51, 0x63, 0x51, 0xfd, 0x11, 0xcc, 0xb9, 0x5a, 0x8c, 0x28, 0x4f, 0x48, 0xe4, 0x09, 0x51, - 0xfe, 0x31, 0x28, 0xee, 0xe6, 0x22, 0xea, 0xe7, 0x24, 0xfa, 0x39, 0xd9, 0xf4, 0xf2, 0xea, 0xe3, - 0x12, 0x79, 0x5c, 0x3a, 0xbd, 0x5c, 0xaf, 0x48, 0xf4, 0x8a, 0xa8, 0x5f, 0x85, 0x8c, 0xd8, 0x4d, - 0x44, 0x6d, 0x52, 0xa2, 0x4d, 0xba, 0xd7, 0x7d, 0xaa, 0x99, 0x04, 0xed, 0xf4, 0x94, 0xcf, 0x71, - 0x99, 0x6a, 0x21, 0x41, 0x90, 0x8c, 0x08, 0x79, 0x0c, 0x17, 0x65, 0x2d, 0x43, 0xc2, 0x28, 0x89, - 0x8c, 0x1c, 0xf5, 0x88, 0x13, 0xb3, 0x47, 0x55, 0x53, 0xc6, 0x69, 0xe1, 0x09, 0x5c, 0x90, 0x34, - 0x0e, 0x09, 0xb6, 0x3c, 0xed, 0xc6, 0xf2, 0x02, 0x96, 0x35, 0x01, 0xc3, 0x6c, 0x6f, 0x5b, 0x86, - 0x49, 0x44, 0x57, 0xf6, 0xc3, 0x05, 0xc8, 0x39, 0xed, 0xe9, 0x51, 0xff, 0x50, 0xef, 0xeb, 0x87, - 0xf8, 0x4b, 0x7f, 0xef, 0x74, 0xc3, 0xdb, 0xd4, 0x1c, 0xd5, 0x7b, 0x58, 0xa8, 0x27, 0xbe, 0x16, - 0x6a, 0x39, 0x18, 0x1f, 0xe4, 0xa4, 0xaa, 0x1e, 0x27, 0x75, 0xc5, 0x1f, 0xea, 0x67, 0xa8, 0xaa, - 0x1e, 0x43, 0x35, 0x1b, 0x22, 0xf5, 0x55, 0x35, 0xaf, 0xaf, 0x2a, 0xf9, 0x53, 0xfc, 0xed, 0x55, - 0xcd, 0x6b, 0xaf, 0x02, 0x38, 0x72, 0x97, 0x55, 0xf3, 0xba, 0xac, 0x19, 0x1c, 0x7f, 0xb3, 0x55, - 0xf3, 0x9a, 0xad, 0x00, 0x8e, 0xdc, 0x73, 0x6d, 0x48, 0x3c, 0xd7, 0x55, 0x7f, 0xd0, 0x2c, 0xeb, - 0xb5, 0x29, 0xb3, 0x5e, 0xd7, 0x66, 0x14, 0x35, 0xd3, 0x81, 0x6d, 0x48, 0x1c, 0x58, 0x50, 0x61, - 0x3e, 0x46, 0x6c, 0x53, 0x66, 0xc4, 0x02, 0x0b, 0xf3, 0xf3, 0x63, 0x9f, 0xb8, 0xfd, 0xd8, 0x65, - 0x7f, 0x92, 0xdc, 0x96, 0xd5, 0xbc, 0xb6, 0xac, 0x14, 0x74, 0xe6, 0x64, 0xee, 0xec, 0x89, 0xaf, - 0x3b, 0xfb, 0x13, 0x47, 0x38, 0xc8, 0xa4, 0x7d, 0xee, 0x67, 0xd2, 0xca, 0xc1, 0xec, 0xd9, 0x5e, - 0x6d, 0xd7, 0xc7, 0xab, 0x5d, 0x0f, 0x06, 0x9f, 0x5b, 0xb6, 0x73, 0xcb, 0x76, 0x6e, 0xd9, 0xce, - 0x2d, 0xdb, 0xdf, 0x6f, 0xd9, 0x56, 0xa3, 0x5f, 0x7f, 0xbb, 0x88, 0x8a, 0xbf, 0x44, 0x20, 0xe7, - 0x7c, 0x19, 0xdc, 0x33, 0x48, 0x87, 0xb6, 0xb7, 0x2d, 0xc8, 0x98, 0x5a, 0x4f, 0xdf, 0xef, 0x69, - 0xc7, 0xc7, 0x86, 0xd9, 0x76, 0x3c, 0xdb, 0x35, 0xef, 0xa7, 0x44, 0x47, 0x50, 0xae, 0x6b, 0x3d, - 0xda, 0xab, 0x68, 0xb2, 0xf3, 0xba, 0x31, 0x27, 0x11, 0xfc, 0x29, 0xa4, 0x7b, 0x76, 0x7b, 0x4c, - 0x0b, 0x7b, 0x5e, 0x84, 0x2e, 0x1a, 0xbf, 0xd3, 0x09, 0x0c, 0x7a, 0xe3, 0x00, 0x2d, 0xad, 0x75, - 0x42, 0x26, 0xa5, 0x45, 0x82, 0x4a, 0xa3, 0xcf, 0x74, 0xba, 0xb4, 0xd6, 0x24, 0x42, 0xb7, 0xad, - 0xbb, 0xf6, 0xa0, 0x4e, 0x37, 0xb5, 0x79, 0xf6, 0x60, 0xce, 0x55, 0xad, 0xe4, 0xcc, 0xff, 0x85, - 0x67, 0x43, 0x0b, 0x73, 0x57, 0x1e, 0x74, 0x26, 0xc4, 0x0d, 0x59, 0xfc, 0x37, 0x64, 0xa7, 0xd8, - 0x38, 0x03, 0xe8, 0x88, 0x49, 0x51, 0x03, 0x1d, 0x15, 0xbf, 0x41, 0x90, 0xa6, 0x7d, 0xf2, 0xbf, - 0x2b, 0x77, 0xb6, 0x35, 0xa3, 0x8f, 0x1f, 0x40, 0xb4, 0xab, 0x1f, 0x11, 0x96, 0x90, 0xa9, 0xdc, - 0x3a, 0x7d, 0xb5, 0x18, 0xfa, 0xed, 0xd5, 0xe2, 0x7f, 0x02, 0xfe, 0x4b, 0x30, 0xb0, 0x89, 0xd5, - 0x2b, 0x3b, 0x9c, 0x06, 0x23, 0xe0, 0x1a, 0xc4, 0xfa, 0x46, 0xbb, 0x43, 0x78, 0x49, 0x95, 0x1b, - 0xef, 0x8d, 0xe1, 0xf2, 0xe2, 0x29, 0x82, 0xf9, 0xaa, 0x65, 0x12, 0xcd, 0x30, 0x6d, 0xfe, 0xb5, - 0x96, 0xbe, 0x21, 0x5f, 0x20, 0x48, 0x8d, 0x47, 0xb8, 0x05, 0xb9, 0xf1, 0x80, 0x7d, 0x04, 0x77, - 0x76, 0xea, 0xaa, 0xb0, 0xc2, 0x1e, 0x46, 0x59, 0x72, 0xc5, 0xc4, 0xce, 0x3b, 0x79, 0x3a, 0xb8, - 0xb0, 0x06, 0x17, 0x24, 0x69, 0xef, 0xf3, 0x42, 0x2e, 0x2e, 0x41, 0xaa, 0x6e, 0x91, 0x6d, 0xed, - 0xe0, 0x29, 0xfb, 0xe4, 0x3c, 0xf9, 0xaf, 0x42, 0x25, 0xac, 0x84, 0x98, 0xf8, 0xda, 0x12, 0x24, - 0x9c, 0xd3, 0x8f, 0xe3, 0x10, 0xde, 0x5a, 0x53, 0x42, 0xec, 0xb7, 0xa2, 0x20, 0xf6, 0x5b, 0x55, - 0xc2, 0x95, 0xcd, 0xd3, 0x33, 0x35, 0xf4, 0xf2, 0x4c, 0x0d, 0xfd, 0x7a, 0xa6, 0x86, 0x5e, 0x9f, - 0xa9, 0xe8, 0xcd, 0x99, 0x8a, 0xde, 0x9e, 0xa9, 0xe8, 0xdd, 0x99, 0x8a, 0x9e, 0x0f, 0x55, 0xf4, - 0xdd, 0x50, 0x45, 0xdf, 0x0f, 0x55, 0xf4, 0xe3, 0x50, 0x45, 0x3f, 0x0d, 0x55, 0x74, 0x3a, 0x54, - 0x43, 0x2f, 0x87, 0x6a, 0xe8, 0xf5, 0x50, 0x45, 0x6f, 0x86, 0x6a, 0xe8, 0xed, 0x50, 0x45, 0xef, - 0x86, 0x6a, 0xe8, 0xf9, 0xef, 0x6a, 0xa8, 0x15, 0xe7, 0xcb, 0xf3, 0x47, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xe2, 0x1d, 0x88, 0x27, 0x63, 0x1a, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/theproto3/combos/unmarshaler/theproto3.pb.go b/vendor/github.com/gogo/protobuf/test/theproto3/combos/unmarshaler/theproto3.pb.go index 47b3a2cdc..fae08f44a 100644 --- a/vendor/github.com/gogo/protobuf/test/theproto3/combos/unmarshaler/theproto3.pb.go +++ b/vendor/github.com/gogo/protobuf/test/theproto3/combos/unmarshaler/theproto3.pb.go @@ -3,28 +3,25 @@ package theproto3 -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import both "github.com/gogo/protobuf/test/combos/both" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import io "io" -import encoding_binary "encoding/binary" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + both "github.com/gogo/protobuf/test/combos/both" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -50,6 +47,7 @@ var MapEnum_name = map[int32]string{ 1: "MB", 2: "MC", } + var MapEnum_value = map[string]int32{ "MA": 0, "MB": 1, @@ -57,7 +55,7 @@ var MapEnum_value = map[string]int32{ } func (MapEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{0} + return fileDescriptor_e24bba79c1e35a1f, []int{0} } type Message_Humour int32 @@ -75,6 +73,7 @@ var Message_Humour_name = map[int32]string{ 2: "SLAPSTICK", 3: "BILL_BAILEY", } + var Message_Humour_value = map[string]int32{ "UNKNOWN": 0, "PUNS": 1, @@ -83,7 +82,7 @@ var Message_Humour_value = map[string]int32{ } func (Message_Humour) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{0, 0} + return fileDescriptor_e24bba79c1e35a1f, []int{0, 0} } type Message struct { @@ -107,7 +106,7 @@ type Message struct { func (m *Message) Reset() { *m = Message{} } func (*Message) ProtoMessage() {} func (*Message) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{0} + return fileDescriptor_e24bba79c1e35a1f, []int{0} } func (m *Message) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -115,8 +114,8 @@ func (m *Message) XXX_Unmarshal(b []byte) error { func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Message.Marshal(b, m, deterministic) } -func (dst *Message) XXX_Merge(src proto.Message) { - xxx_messageInfo_Message.Merge(dst, src) +func (m *Message) XXX_Merge(src proto.Message) { + xxx_messageInfo_Message.Merge(m, src) } func (m *Message) XXX_Size() int { return xxx_messageInfo_Message.Size(m) @@ -137,7 +136,7 @@ type Nested struct { func (m *Nested) Reset() { *m = Nested{} } func (*Nested) ProtoMessage() {} func (*Nested) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{1} + return fileDescriptor_e24bba79c1e35a1f, []int{1} } func (m *Nested) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -145,8 +144,8 @@ func (m *Nested) XXX_Unmarshal(b []byte) error { func (m *Nested) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Nested.Marshal(b, m, deterministic) } -func (dst *Nested) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nested.Merge(dst, src) +func (m *Nested) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nested.Merge(m, src) } func (m *Nested) XXX_Size() int { return xxx_messageInfo_Nested.Size(m) @@ -183,7 +182,7 @@ type AllMaps struct { func (m *AllMaps) Reset() { *m = AllMaps{} } func (*AllMaps) ProtoMessage() {} func (*AllMaps) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{2} + return fileDescriptor_e24bba79c1e35a1f, []int{2} } func (m *AllMaps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -191,8 +190,8 @@ func (m *AllMaps) XXX_Unmarshal(b []byte) error { func (m *AllMaps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMaps.Marshal(b, m, deterministic) } -func (dst *AllMaps) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMaps.Merge(dst, src) +func (m *AllMaps) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMaps.Merge(m, src) } func (m *AllMaps) XXX_Size() int { return xxx_messageInfo_AllMaps.Size(m) @@ -229,7 +228,7 @@ type AllMapsOrdered struct { func (m *AllMapsOrdered) Reset() { *m = AllMapsOrdered{} } func (*AllMapsOrdered) ProtoMessage() {} func (*AllMapsOrdered) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{3} + return fileDescriptor_e24bba79c1e35a1f, []int{3} } func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -237,8 +236,8 @@ func (m *AllMapsOrdered) XXX_Unmarshal(b []byte) error { func (m *AllMapsOrdered) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AllMapsOrdered.Marshal(b, m, deterministic) } -func (dst *AllMapsOrdered) XXX_Merge(src proto.Message) { - xxx_messageInfo_AllMapsOrdered.Merge(dst, src) +func (m *AllMapsOrdered) XXX_Merge(src proto.Message) { + xxx_messageInfo_AllMapsOrdered.Merge(m, src) } func (m *AllMapsOrdered) XXX_Size() int { return xxx_messageInfo_AllMapsOrdered.Size(m) @@ -261,7 +260,7 @@ type MessageWithMap struct { func (m *MessageWithMap) Reset() { *m = MessageWithMap{} } func (*MessageWithMap) ProtoMessage() {} func (*MessageWithMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{4} + return fileDescriptor_e24bba79c1e35a1f, []int{4} } func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -269,8 +268,8 @@ func (m *MessageWithMap) XXX_Unmarshal(b []byte) error { func (m *MessageWithMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MessageWithMap.Marshal(b, m, deterministic) } -func (dst *MessageWithMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_MessageWithMap.Merge(dst, src) +func (m *MessageWithMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_MessageWithMap.Merge(m, src) } func (m *MessageWithMap) XXX_Size() int { return xxx_messageInfo_MessageWithMap.Size(m) @@ -291,7 +290,7 @@ type FloatingPoint struct { func (m *FloatingPoint) Reset() { *m = FloatingPoint{} } func (*FloatingPoint) ProtoMessage() {} func (*FloatingPoint) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{5} + return fileDescriptor_e24bba79c1e35a1f, []int{5} } func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -299,8 +298,8 @@ func (m *FloatingPoint) XXX_Unmarshal(b []byte) error { func (m *FloatingPoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_FloatingPoint.Marshal(b, m, deterministic) } -func (dst *FloatingPoint) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatingPoint.Merge(dst, src) +func (m *FloatingPoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatingPoint.Merge(m, src) } func (m *FloatingPoint) XXX_Size() int { return xxx_messageInfo_FloatingPoint.Size(m) @@ -322,7 +321,7 @@ type Uint128Pair struct { func (m *Uint128Pair) Reset() { *m = Uint128Pair{} } func (*Uint128Pair) ProtoMessage() {} func (*Uint128Pair) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{6} + return fileDescriptor_e24bba79c1e35a1f, []int{6} } func (m *Uint128Pair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -330,8 +329,8 @@ func (m *Uint128Pair) XXX_Unmarshal(b []byte) error { func (m *Uint128Pair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Uint128Pair.Marshal(b, m, deterministic) } -func (dst *Uint128Pair) XXX_Merge(src proto.Message) { - xxx_messageInfo_Uint128Pair.Merge(dst, src) +func (m *Uint128Pair) XXX_Merge(src proto.Message) { + xxx_messageInfo_Uint128Pair.Merge(m, src) } func (m *Uint128Pair) XXX_Size() int { return xxx_messageInfo_Uint128Pair.Size(m) @@ -351,7 +350,7 @@ type ContainsNestedMap struct { func (m *ContainsNestedMap) Reset() { *m = ContainsNestedMap{} } func (*ContainsNestedMap) ProtoMessage() {} func (*ContainsNestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{7} + return fileDescriptor_e24bba79c1e35a1f, []int{7} } func (m *ContainsNestedMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -359,8 +358,8 @@ func (m *ContainsNestedMap) XXX_Unmarshal(b []byte) error { func (m *ContainsNestedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ContainsNestedMap.Marshal(b, m, deterministic) } -func (dst *ContainsNestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap.Merge(dst, src) +func (m *ContainsNestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap.Merge(m, src) } func (m *ContainsNestedMap) XXX_Size() int { return xxx_messageInfo_ContainsNestedMap.Size(m) @@ -381,7 +380,7 @@ type ContainsNestedMap_NestedMap struct { func (m *ContainsNestedMap_NestedMap) Reset() { *m = ContainsNestedMap_NestedMap{} } func (*ContainsNestedMap_NestedMap) ProtoMessage() {} func (*ContainsNestedMap_NestedMap) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{7, 0} + return fileDescriptor_e24bba79c1e35a1f, []int{7, 0} } func (m *ContainsNestedMap_NestedMap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -389,8 +388,8 @@ func (m *ContainsNestedMap_NestedMap) XXX_Unmarshal(b []byte) error { func (m *ContainsNestedMap_NestedMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ContainsNestedMap_NestedMap.Marshal(b, m, deterministic) } -func (dst *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(dst, src) +func (m *ContainsNestedMap_NestedMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_ContainsNestedMap_NestedMap.Merge(m, src) } func (m *ContainsNestedMap_NestedMap) XXX_Size() int { return xxx_messageInfo_ContainsNestedMap_NestedMap.Size(m) @@ -411,7 +410,7 @@ type NotPacked struct { func (m *NotPacked) Reset() { *m = NotPacked{} } func (*NotPacked) ProtoMessage() {} func (*NotPacked) Descriptor() ([]byte, []int) { - return fileDescriptor_theproto3_42f7388870cddc3f, []int{8} + return fileDescriptor_e24bba79c1e35a1f, []int{8} } func (m *NotPacked) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -419,8 +418,8 @@ func (m *NotPacked) XXX_Unmarshal(b []byte) error { func (m *NotPacked) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NotPacked.Marshal(b, m, deterministic) } -func (dst *NotPacked) XXX_Merge(src proto.Message) { - xxx_messageInfo_NotPacked.Merge(dst, src) +func (m *NotPacked) XXX_Merge(src proto.Message) { + xxx_messageInfo_NotPacked.Merge(m, src) } func (m *NotPacked) XXX_Size() int { return xxx_messageInfo_NotPacked.Size(m) @@ -432,6 +431,8 @@ func (m *NotPacked) XXX_DiscardUnknown() { var xxx_messageInfo_NotPacked proto.InternalMessageInfo func init() { + proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) + proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) proto.RegisterType((*Message)(nil), "theproto3.Message") proto.RegisterMapType((map[int64]*both.NinOptEnum)(nil), "theproto3.Message.Proto2ValueEntry") proto.RegisterMapType((map[int64]*Nested)(nil), "theproto3.Message.TerrainEntry") @@ -482,9 +483,115 @@ func init() { proto.RegisterType((*ContainsNestedMap_NestedMap)(nil), "theproto3.ContainsNestedMap.NestedMap") proto.RegisterMapType((map[string]float64)(nil), "theproto3.ContainsNestedMap.NestedMap.NestedMapFieldEntry") proto.RegisterType((*NotPacked)(nil), "theproto3.NotPacked") - proto.RegisterEnum("theproto3.MapEnum", MapEnum_name, MapEnum_value) - proto.RegisterEnum("theproto3.Message_Humour", Message_Humour_name, Message_Humour_value) } + +func init() { proto.RegisterFile("combos/unmarshaler/theproto3.proto", fileDescriptor_e24bba79c1e35a1f) } + +var fileDescriptor_e24bba79c1e35a1f = []byte{ + // 1612 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, + 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0xc0, 0xd2, 0xb2, 0x02, + 0x24, 0x4a, 0xb0, 0x91, 0xb3, 0x4e, 0xb2, 0x9b, 0xba, 0x69, 0x53, 0x4b, 0xb1, 0x10, 0x37, 0xb6, + 0xe2, 0x4a, 0x76, 0xdc, 0x22, 0x40, 0x0d, 0xca, 0xa6, 0x25, 0x22, 0x12, 0x69, 0x90, 0xa3, 0xa0, + 0xbe, 0xe5, 0xcf, 0xe8, 0xad, 0xe8, 0xad, 0xc7, 0x22, 0x87, 0xa2, 0xc7, 0xf6, 0xe6, 0x63, 0x80, + 0x5e, 0x8a, 0x1e, 0x82, 0x58, 0xbd, 0xe4, 0x98, 0x63, 0x8e, 0xc5, 0xcc, 0x50, 0xd2, 0x48, 0x1c, + 0x8a, 0x4d, 0x2f, 0xbd, 0xf8, 0x24, 0xce, 0xf3, 0xfb, 0x7e, 0xe6, 0x71, 0x38, 0xf3, 0xf8, 0x05, + 0x0d, 0xc5, 0x03, 0xab, 0xd7, 0xb2, 0x9c, 0xe5, 0xbe, 0xd9, 0xd3, 0x6c, 0xa7, 0xa3, 0x75, 0x75, + 0x7b, 0x99, 0x74, 0xf4, 0x63, 0xdb, 0x22, 0xd6, 0xcd, 0x32, 0xfb, 0xc1, 0xa9, 0x51, 0x60, 0xe1, + 0x7a, 0xdb, 0x20, 0x9d, 0x7e, 0xab, 0x7c, 0x60, 0xf5, 0x96, 0xdb, 0x56, 0xdb, 0x5a, 0x66, 0xf1, + 0x56, 0xff, 0x88, 0x8d, 0xd8, 0x80, 0x5d, 0x71, 0xe5, 0xc2, 0xff, 0x7d, 0xd3, 0x89, 0xee, 0x90, + 0x65, 0x77, 0xee, 0x96, 0x45, 0x3a, 0x74, 0x52, 0x1a, 0xe3, 0xc2, 0xe2, 0xcf, 0x31, 0x48, 0x6c, + 0xe9, 0x8e, 0xa3, 0xb5, 0x75, 0x8c, 0x21, 0x6a, 0x6a, 0x3d, 0x3d, 0x8f, 0x0a, 0xa8, 0x94, 0x6a, + 0xb0, 0x6b, 0x7c, 0x1b, 0x92, 0x1d, 0xa3, 0xab, 0xd9, 0x06, 0x39, 0xc9, 0x87, 0x0b, 0xa8, 0x94, + 0x5b, 0xf9, 0x57, 0x79, 0x5c, 0xb6, 0xab, 0x2c, 0x3f, 0xe8, 0xf7, 0xac, 0xbe, 0xdd, 0x18, 0xa5, + 0xe2, 0x02, 0x64, 0x3a, 0xba, 0xd1, 0xee, 0x90, 0x7d, 0xc3, 0xdc, 0x3f, 0xe8, 0xe5, 0x23, 0x05, + 0x54, 0xca, 0x36, 0x80, 0xc7, 0x36, 0xcc, 0x6a, 0x8f, 0x4e, 0x76, 0xa8, 0x11, 0x2d, 0x1f, 0x2d, + 0xa0, 0x52, 0xa6, 0xc1, 0xae, 0xf1, 0x12, 0x64, 0x6c, 0xdd, 0xe9, 0x77, 0xc9, 0xfe, 0x81, 0xd5, + 0x37, 0x49, 0x3e, 0x51, 0x40, 0xa5, 0x48, 0x23, 0xcd, 0x63, 0x55, 0x1a, 0xc2, 0x97, 0x20, 0x4b, + 0xec, 0xbe, 0xbe, 0xef, 0x1c, 0x58, 0xc4, 0xe9, 0x69, 0x66, 0x3e, 0x59, 0x40, 0xa5, 0x64, 0x23, + 0x43, 0x83, 0x4d, 0x37, 0x86, 0x2f, 0x42, 0xcc, 0x39, 0xb0, 0x6c, 0x3d, 0x9f, 0x2a, 0xa0, 0x52, + 0xb8, 0xc1, 0x07, 0x58, 0x81, 0xc8, 0x53, 0xfd, 0x24, 0x1f, 0x2b, 0x44, 0x4a, 0xd1, 0x06, 0xbd, + 0xc4, 0x57, 0x21, 0x6e, 0xea, 0x0e, 0xd1, 0x0f, 0xf3, 0xf1, 0x02, 0x2a, 0xa5, 0x57, 0xe6, 0x85, + 0x5b, 0xab, 0xb3, 0x3f, 0x34, 0xdc, 0x04, 0xfc, 0x01, 0x24, 0x88, 0x6e, 0xdb, 0x9a, 0x61, 0xe6, + 0xa1, 0x10, 0x29, 0xa5, 0x57, 0x16, 0x25, 0xcb, 0xb0, 0xc3, 0x33, 0xd6, 0x4d, 0x62, 0x9f, 0x34, + 0x86, 0xf9, 0xf8, 0x36, 0x64, 0x58, 0xde, 0xca, 0xfe, 0x91, 0xa1, 0x77, 0x0f, 0xf3, 0x69, 0x36, + 0x17, 0x2e, 0xb3, 0xa7, 0x50, 0x37, 0xcc, 0x47, 0xc7, 0xa4, 0xae, 0x11, 0xe3, 0x99, 0xde, 0x48, + 0xf3, 0xbc, 0x1a, 0x4d, 0xc3, 0xb5, 0x91, 0xec, 0x99, 0xd6, 0xed, 0xeb, 0xf9, 0x2c, 0x9b, 0xf6, + 0x92, 0x64, 0xda, 0x6d, 0x96, 0xf6, 0x98, 0x66, 0xf1, 0xa9, 0x5d, 0x0e, 0x8b, 0x2c, 0x6c, 0x41, + 0x46, 0xac, 0x6b, 0xb8, 0x0c, 0x88, 0xad, 0x2d, 0x5b, 0x86, 0x2b, 0x10, 0xe3, 0x53, 0x84, 0xfd, + 0x56, 0x81, 0xff, 0x7d, 0x35, 0x7c, 0x07, 0x2d, 0x6c, 0x83, 0x32, 0x3d, 0x9f, 0x04, 0x79, 0x79, + 0x12, 0xa9, 0x88, 0x37, 0xbb, 0x6e, 0xf6, 0x7b, 0x02, 0xb1, 0x78, 0x0f, 0xe2, 0x7c, 0xff, 0xe0, + 0x34, 0x24, 0x76, 0xeb, 0x0f, 0xeb, 0x8f, 0xf6, 0xea, 0x4a, 0x08, 0x27, 0x21, 0xba, 0xbd, 0x5b, + 0x6f, 0x2a, 0x08, 0x67, 0x21, 0xd5, 0xdc, 0x5c, 0xdb, 0x6e, 0xee, 0x6c, 0x54, 0x1f, 0x2a, 0x61, + 0x3c, 0x07, 0xe9, 0xca, 0xc6, 0xe6, 0xe6, 0x7e, 0x65, 0x6d, 0x63, 0x73, 0xfd, 0x0b, 0x25, 0x52, + 0x54, 0x21, 0xce, 0xeb, 0xa4, 0x0f, 0xbe, 0xd5, 0x37, 0xcd, 0x13, 0x77, 0x0b, 0xf3, 0x41, 0xf1, + 0x05, 0x86, 0xc4, 0x5a, 0xb7, 0xbb, 0xa5, 0x1d, 0x3b, 0x78, 0x0f, 0xe6, 0x9b, 0xc4, 0x36, 0xcc, + 0xf6, 0x8e, 0x75, 0xdf, 0xea, 0xb7, 0xba, 0xfa, 0x96, 0x76, 0x9c, 0x47, 0x6c, 0x69, 0xaf, 0x0a, + 0xf7, 0xed, 0xa6, 0x97, 0x3d, 0xb9, 0x7c, 0x81, 0xbd, 0x0c, 0xbc, 0x03, 0xca, 0x30, 0x58, 0xeb, + 0x5a, 0x1a, 0xa1, 0xdc, 0x30, 0xe3, 0x96, 0x66, 0x70, 0x87, 0xa9, 0x1c, 0xeb, 0x21, 0xe0, 0xbb, + 0x90, 0xdc, 0x30, 0xc9, 0xcd, 0x15, 0x4a, 0x8b, 0x30, 0x5a, 0x41, 0x42, 0x1b, 0xa6, 0x70, 0xca, + 0x48, 0xe1, 0xaa, 0xff, 0x77, 0x8b, 0xaa, 0xa3, 0xb3, 0xd4, 0x2c, 0x65, 0xac, 0x66, 0x43, 0x7c, + 0x0f, 0x52, 0xbb, 0xc6, 0x70, 0xf2, 0x18, 0x93, 0x2f, 0x49, 0xe4, 0xa3, 0x1c, 0xae, 0x1f, 0x6b, + 0x86, 0x00, 0x3e, 0x7f, 0x7c, 0x26, 0x40, 0x28, 0x60, 0xac, 0xa1, 0x80, 0xe6, 0xa8, 0x82, 0x84, + 0x2f, 0xa0, 0x39, 0x55, 0x41, 0x53, 0xac, 0xa0, 0x39, 0xaa, 0x20, 0x39, 0x13, 0x20, 0x56, 0x30, + 0x1a, 0xe3, 0x0a, 0x40, 0xcd, 0xf8, 0x4a, 0x3f, 0xe4, 0x25, 0xa4, 0x18, 0xa1, 0x28, 0x21, 0x8c, + 0x93, 0x38, 0x42, 0x50, 0xe1, 0x75, 0x48, 0x37, 0x8f, 0xc6, 0x10, 0xf0, 0x9c, 0xe3, 0x51, 0x19, + 0x47, 0x53, 0x14, 0x51, 0x37, 0x2a, 0x85, 0xdf, 0x4c, 0x7a, 0x76, 0x29, 0xc2, 0xdd, 0x08, 0xaa, + 0x71, 0x29, 0x1c, 0x92, 0x09, 0x28, 0x45, 0xa0, 0x88, 0x3a, 0xda, 0x0c, 0x2b, 0x96, 0x45, 0x33, + 0xdd, 0xae, 0xb4, 0x28, 0x41, 0xb8, 0x19, 0x6e, 0x33, 0x74, 0x47, 0xec, 0x89, 0xb0, 0x4d, 0x4e, + 0xc5, 0x39, 0xff, 0x27, 0x32, 0xcc, 0x19, 0x3e, 0x91, 0xe1, 0x58, 0x3c, 0x67, 0x95, 0x13, 0xa2, + 0x3b, 0x94, 0x33, 0x17, 0x78, 0xce, 0x86, 0xa9, 0x53, 0xe7, 0x6c, 0x18, 0xc6, 0x9f, 0xc1, 0xdc, + 0x30, 0x46, 0xdb, 0x13, 0x85, 0x2a, 0x0c, 0x7a, 0x65, 0x06, 0xd4, 0xcd, 0xe4, 0xcc, 0x69, 0x3d, + 0xae, 0x43, 0x6e, 0x18, 0xda, 0x72, 0xd8, 0xed, 0xce, 0x33, 0xe2, 0xe5, 0x19, 0x44, 0x9e, 0xc8, + 0x81, 0x53, 0xea, 0x85, 0xfb, 0xf0, 0x4f, 0x79, 0x37, 0x12, 0xdb, 0x6f, 0x8a, 0xb7, 0xdf, 0x8b, + 0x62, 0xfb, 0x45, 0x62, 0xfb, 0xae, 0xc2, 0x3f, 0xa4, 0xbd, 0x27, 0x08, 0x12, 0x16, 0x21, 0x1f, + 0x42, 0x76, 0xa2, 0xe5, 0x88, 0xe2, 0x98, 0x44, 0x1c, 0xf3, 0x8a, 0xc7, 0x5b, 0x4b, 0xf2, 0xf6, + 0x98, 0x10, 0x47, 0x44, 0xf1, 0x5d, 0xc8, 0x4d, 0xf6, 0x1b, 0x51, 0x9d, 0x95, 0xa8, 0xb3, 0x12, + 0xb5, 0x7c, 0xee, 0xa8, 0x44, 0x1d, 0x9d, 0x52, 0x37, 0x7d, 0xe7, 0x9e, 0x97, 0xa8, 0xe7, 0x25, + 0x6a, 0xf9, 0xdc, 0x58, 0xa2, 0xc6, 0xa2, 0xfa, 0x23, 0x98, 0x9b, 0x6a, 0x31, 0xa2, 0x3c, 0x21, + 0x91, 0x27, 0x44, 0xf9, 0xc7, 0xa0, 0x4c, 0x37, 0x17, 0x51, 0x3f, 0x27, 0xd1, 0xcf, 0xc9, 0xa6, + 0x97, 0x57, 0x1f, 0x97, 0xc8, 0xe3, 0xd2, 0xe9, 0xe5, 0x7a, 0x45, 0xa2, 0x57, 0x44, 0xfd, 0x2a, + 0x64, 0xc4, 0x6e, 0x22, 0x6a, 0x93, 0x12, 0x6d, 0x72, 0x7a, 0xdd, 0x27, 0x9a, 0x49, 0xd0, 0x4e, + 0x4f, 0xf9, 0x1c, 0x97, 0x89, 0x16, 0x12, 0x04, 0xc9, 0x88, 0x90, 0xc7, 0x70, 0x51, 0xd6, 0x32, + 0x24, 0x8c, 0x92, 0xc8, 0xc8, 0x51, 0x8f, 0x38, 0x36, 0x7b, 0x54, 0x35, 0x61, 0x9c, 0x16, 0x9e, + 0xc0, 0x05, 0x49, 0xe3, 0x90, 0x60, 0xcb, 0x93, 0x6e, 0x2c, 0x2f, 0x60, 0x59, 0x13, 0x30, 0xcc, + 0xf6, 0xb6, 0x65, 0x98, 0x44, 0x74, 0x65, 0x3f, 0x5c, 0x80, 0x9c, 0xdb, 0x9e, 0x1e, 0xd9, 0x87, + 0xba, 0xad, 0x1f, 0xe2, 0x2f, 0xfd, 0xbd, 0xd3, 0x0d, 0x6f, 0x53, 0x73, 0x55, 0xef, 0x61, 0xa1, + 0x9e, 0xf8, 0x5a, 0xa8, 0xe5, 0x60, 0x7c, 0x90, 0x93, 0xaa, 0x7a, 0x9c, 0xd4, 0x15, 0x7f, 0xa8, + 0x9f, 0xa1, 0xaa, 0x7a, 0x0c, 0xd5, 0x6c, 0x88, 0xd4, 0x57, 0xd5, 0xbc, 0xbe, 0xaa, 0xe4, 0x4f, + 0xf1, 0xb7, 0x57, 0x35, 0xaf, 0xbd, 0x0a, 0xe0, 0xc8, 0x5d, 0x56, 0xcd, 0xeb, 0xb2, 0x66, 0x70, + 0xfc, 0xcd, 0x56, 0xcd, 0x6b, 0xb6, 0x02, 0x38, 0x72, 0xcf, 0xb5, 0x21, 0xf1, 0x5c, 0x57, 0xfd, + 0x41, 0xb3, 0xac, 0xd7, 0xa6, 0xcc, 0x7a, 0x5d, 0x9b, 0x51, 0xd4, 0x4c, 0x07, 0xb6, 0x21, 0x71, + 0x60, 0x41, 0x85, 0xf9, 0x18, 0xb1, 0x4d, 0x99, 0x11, 0x0b, 0x2c, 0xcc, 0xcf, 0x8f, 0x7d, 0x32, + 0xed, 0xc7, 0x2e, 0xfb, 0x93, 0xe4, 0xb6, 0xac, 0xe6, 0xb5, 0x65, 0xa5, 0xa0, 0x33, 0x27, 0x73, + 0x67, 0x4f, 0x7c, 0xdd, 0xd9, 0x9f, 0x38, 0xc2, 0x41, 0x26, 0xed, 0x73, 0x3f, 0x93, 0x56, 0x0e, + 0x66, 0xcf, 0xf6, 0x6a, 0xbb, 0x3e, 0x5e, 0xed, 0x7a, 0x30, 0xf8, 0xdc, 0xb2, 0x9d, 0x5b, 0xb6, + 0x73, 0xcb, 0x76, 0x6e, 0xd9, 0xfe, 0x7e, 0xcb, 0xb6, 0x1a, 0xfd, 0xfa, 0xdb, 0x45, 0x54, 0xfc, + 0x25, 0x02, 0x39, 0xf7, 0xcb, 0xe0, 0x9e, 0x41, 0x3a, 0xb4, 0xbd, 0x6d, 0x41, 0xc6, 0xd4, 0x7a, + 0xfa, 0x7e, 0x4f, 0x3b, 0x3e, 0x36, 0xcc, 0xb6, 0xeb, 0xd9, 0xae, 0x79, 0x3f, 0x25, 0xba, 0x82, + 0x72, 0x5d, 0xeb, 0xd1, 0x5e, 0x45, 0x93, 0xdd, 0xd7, 0x8d, 0x39, 0x8e, 0xe0, 0x4f, 0x21, 0xdd, + 0x73, 0xda, 0x23, 0x5a, 0xd8, 0xf3, 0x22, 0x9c, 0xa2, 0xf1, 0x3b, 0x1d, 0xc3, 0xa0, 0x37, 0x0a, + 0xd0, 0xd2, 0x5a, 0x27, 0x64, 0x5c, 0x5a, 0x24, 0xa8, 0x34, 0xfa, 0x4c, 0x27, 0x4b, 0x6b, 0x8d, + 0x23, 0x74, 0xdb, 0x4e, 0xd7, 0x1e, 0xd4, 0xe9, 0x26, 0x36, 0xcf, 0x1e, 0xcc, 0x4d, 0x55, 0x2b, + 0x39, 0xf3, 0x7f, 0xe1, 0xd9, 0xd0, 0xc2, 0xa6, 0x2b, 0x0f, 0x3a, 0x13, 0xe2, 0x86, 0x2c, 0xfe, + 0x1b, 0xb2, 0x13, 0x6c, 0x9c, 0x01, 0x74, 0xc4, 0xa4, 0xa8, 0x81, 0x8e, 0x8a, 0xdf, 0x20, 0x48, + 0xd3, 0x3e, 0xf9, 0xdf, 0x95, 0x3b, 0xdb, 0x9a, 0x61, 0xe3, 0x07, 0x10, 0xed, 0xea, 0x47, 0x84, + 0x25, 0x64, 0x2a, 0xb7, 0x4e, 0x5f, 0x2d, 0x86, 0x7e, 0x7b, 0xb5, 0xf8, 0x9f, 0x80, 0xff, 0x12, + 0xf4, 0x1d, 0x62, 0xf5, 0xca, 0x2e, 0xa7, 0xc1, 0x08, 0xb8, 0x06, 0x31, 0xdb, 0x68, 0x77, 0x08, + 0x2f, 0xa9, 0x72, 0xe3, 0xbd, 0x31, 0x5c, 0x5e, 0x3c, 0x45, 0x30, 0x5f, 0xb5, 0x4c, 0xa2, 0x19, + 0xa6, 0xc3, 0xbf, 0xd6, 0xd2, 0x37, 0xe4, 0x0b, 0x04, 0xa9, 0xd1, 0x08, 0xb7, 0x20, 0x37, 0x1a, + 0xb0, 0x8f, 0xe0, 0xee, 0x4e, 0x5d, 0x15, 0x56, 0xd8, 0xc3, 0x28, 0x4b, 0xae, 0x98, 0xd8, 0x7d, + 0x27, 0x4f, 0x06, 0x17, 0xd6, 0xe0, 0x82, 0x24, 0xed, 0x7d, 0x5e, 0xc8, 0xc5, 0x25, 0x48, 0xd5, + 0x2d, 0xb2, 0xad, 0x1d, 0x3c, 0x65, 0x9f, 0x9c, 0xc7, 0xff, 0x55, 0xa8, 0x84, 0x95, 0x10, 0x13, + 0x5f, 0x5b, 0x82, 0x84, 0x7b, 0xfa, 0x71, 0x1c, 0xc2, 0x5b, 0x6b, 0x4a, 0x88, 0xfd, 0x56, 0x14, + 0xc4, 0x7e, 0xab, 0x4a, 0xb8, 0xb2, 0x79, 0x7a, 0xa6, 0x86, 0x5e, 0x9e, 0xa9, 0xa1, 0x5f, 0xcf, + 0xd4, 0xd0, 0xeb, 0x33, 0x15, 0xbd, 0x39, 0x53, 0xd1, 0xdb, 0x33, 0x15, 0xbd, 0x3b, 0x53, 0xd1, + 0xf3, 0x81, 0x8a, 0xbe, 0x1b, 0xa8, 0xe8, 0xfb, 0x81, 0x8a, 0x7e, 0x1c, 0xa8, 0xe8, 0xa7, 0x81, + 0x8a, 0x4e, 0x07, 0x6a, 0xe8, 0xe5, 0x40, 0x45, 0xaf, 0x07, 0x2a, 0x7a, 0x33, 0x50, 0x43, 0x6f, + 0x07, 0x2a, 0x7a, 0x37, 0x50, 0x43, 0xcf, 0x7f, 0x57, 0x43, 0xad, 0x38, 0x5f, 0x9e, 0x3f, 0x02, + 0x00, 0x00, 0xff, 0xff, 0xda, 0xba, 0x48, 0xa4, 0x67, 0x1a, 0x00, 0x00, +} + func (this *Message) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return Theproto3Description() } @@ -518,511 +625,514 @@ func (this *NotPacked) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func Theproto3Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 8063 bytes of a gzipped FileDescriptorSet + // 8097 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x5b, 0x70, 0x23, 0xd7, - 0x99, 0x1e, 0x1b, 0x0d, 0x92, 0xe0, 0x0f, 0x90, 0x6c, 0x36, 0x67, 0x28, 0x88, 0x1a, 0x91, 0x33, - 0xd0, 0x68, 0x44, 0xd1, 0x16, 0x67, 0x86, 0xc3, 0xb9, 0x61, 0x2c, 0x69, 0x01, 0x10, 0x1c, 0x71, + 0x99, 0x1e, 0x1b, 0x0d, 0x90, 0xc0, 0x0f, 0x90, 0x6c, 0x36, 0x67, 0x28, 0x88, 0x1a, 0x91, 0x33, + 0xd0, 0x68, 0x44, 0xd1, 0x12, 0x67, 0x86, 0xc3, 0xb9, 0x61, 0x2c, 0x69, 0x01, 0x10, 0x1c, 0x71, 0x4c, 0x82, 0x74, 0x93, 0xb4, 0x34, 0x56, 0x12, 0x54, 0x13, 0x38, 0x24, 0x21, 0x01, 0xdd, 0x58, - 0x74, 0x43, 0x12, 0x55, 0xa9, 0x94, 0xb2, 0x4e, 0x36, 0xde, 0xa4, 0x72, 0xdd, 0xa4, 0xe2, 0x75, - 0x7c, 0x91, 0x77, 0x6b, 0xd7, 0xde, 0xcd, 0xcd, 0xeb, 0xdd, 0x38, 0xbb, 0x4e, 0x2a, 0xab, 0x3c, - 0x38, 0x99, 0xbc, 0xa4, 0xbc, 0xc9, 0x4b, 0xca, 0x95, 0x52, 0x59, 0x63, 0xa7, 0xd6, 0x49, 0x9c, - 0xac, 0xb3, 0x51, 0x55, 0x5c, 0xe5, 0x7d, 0x48, 0x9d, 0x5b, 0xf7, 0xe9, 0xd3, 0x0d, 0x34, 0x38, - 0x92, 0xec, 0x7d, 0xd0, 0xcb, 0x0c, 0xfa, 0x9c, 0xff, 0xfb, 0xfa, 0xef, 0xff, 0x76, 0xfe, 0xee, - 0xd3, 0x00, 0xe1, 0x8f, 0x6f, 0xc2, 0xd9, 0x43, 0xdb, 0x3e, 0x6c, 0xa2, 0x8b, 0xed, 0x8e, 0xed, - 0xda, 0xfb, 0xdd, 0x83, 0x8b, 0x75, 0xe4, 0xd4, 0x3a, 0x8d, 0xb6, 0x6b, 0x77, 0x96, 0xc8, 0x98, - 0x3e, 0x49, 0x25, 0x96, 0xb8, 0x44, 0x6e, 0x13, 0xa6, 0xd6, 0x1a, 0x4d, 0xb4, 0xea, 0x09, 0xee, - 0x20, 0x57, 0xbf, 0x01, 0xc9, 0x83, 0x46, 0x13, 0x65, 0x95, 0xb3, 0xea, 0x42, 0x7a, 0xf9, 0xfc, - 0x92, 0x04, 0x5a, 0x0a, 0x22, 0xb6, 0xf1, 0xb0, 0x41, 0x10, 0xb9, 0xef, 0x27, 0x61, 0x3a, 0x62, - 0x56, 0xd7, 0x21, 0x69, 0x99, 0x2d, 0xcc, 0xa8, 0x2c, 0x8c, 0x19, 0xe4, 0xb3, 0x9e, 0x85, 0xd1, - 0xb6, 0x59, 0x7b, 0xd9, 0x3c, 0x44, 0xd9, 0x04, 0x19, 0xe6, 0x87, 0xfa, 0x1c, 0x40, 0x1d, 0xb5, - 0x91, 0x55, 0x47, 0x56, 0xed, 0x38, 0xab, 0x9e, 0x55, 0x17, 0xc6, 0x0c, 0x61, 0x44, 0xff, 0x08, - 0x4c, 0xb5, 0xbb, 0xfb, 0xcd, 0x46, 0xad, 0x2a, 0x88, 0xc1, 0x59, 0x75, 0x61, 0xd8, 0xd0, 0xe8, - 0xc4, 0xaa, 0x2f, 0xfc, 0x04, 0x4c, 0xbe, 0x8a, 0xcc, 0x97, 0x45, 0xd1, 0x34, 0x11, 0x9d, 0xc0, - 0xc3, 0x82, 0x60, 0x09, 0x32, 0x2d, 0xe4, 0x38, 0xe6, 0x21, 0xaa, 0xba, 0xc7, 0x6d, 0x94, 0x4d, - 0x92, 0xab, 0x3f, 0x1b, 0xba, 0x7a, 0xf9, 0xca, 0xd3, 0x0c, 0xb5, 0x7b, 0xdc, 0x46, 0x7a, 0x01, - 0xc6, 0x90, 0xd5, 0x6d, 0x51, 0x86, 0xe1, 0x1e, 0xf6, 0x2b, 0x5b, 0xdd, 0x96, 0xcc, 0x92, 0xc2, - 0x30, 0x46, 0x31, 0xea, 0xa0, 0xce, 0x2b, 0x8d, 0x1a, 0xca, 0x8e, 0x10, 0x82, 0x27, 0x42, 0x04, - 0x3b, 0x74, 0x5e, 0xe6, 0xe0, 0x38, 0xbd, 0x04, 0x63, 0xe8, 0x35, 0x17, 0x59, 0x4e, 0xc3, 0xb6, - 0xb2, 0xa3, 0x84, 0xe4, 0xf1, 0x08, 0x2f, 0xa2, 0x66, 0x5d, 0xa6, 0xf0, 0x71, 0xfa, 0x35, 0x18, - 0xb5, 0xdb, 0x6e, 0xc3, 0xb6, 0x9c, 0x6c, 0xea, 0xac, 0xb2, 0x90, 0x5e, 0x3e, 0x13, 0x19, 0x08, - 0x5b, 0x54, 0xc6, 0xe0, 0xc2, 0xfa, 0x3a, 0x68, 0x8e, 0xdd, 0xed, 0xd4, 0x50, 0xb5, 0x66, 0xd7, - 0x51, 0xb5, 0x61, 0x1d, 0xd8, 0xd9, 0x31, 0x42, 0x30, 0x1f, 0xbe, 0x10, 0x22, 0x58, 0xb2, 0xeb, - 0x68, 0xdd, 0x3a, 0xb0, 0x8d, 0x09, 0x27, 0x70, 0xac, 0xcf, 0xc0, 0x88, 0x73, 0x6c, 0xb9, 0xe6, - 0x6b, 0xd9, 0x0c, 0x89, 0x10, 0x76, 0x94, 0xfb, 0xfd, 0x11, 0x98, 0x1c, 0x24, 0xc4, 0x6e, 0xc1, - 0xf0, 0x01, 0xbe, 0xca, 0x6c, 0xe2, 0x24, 0x36, 0xa0, 0x98, 0xa0, 0x11, 0x47, 0x1e, 0xd0, 0x88, - 0x05, 0x48, 0x5b, 0xc8, 0x71, 0x51, 0x9d, 0x46, 0x84, 0x3a, 0x60, 0x4c, 0x01, 0x05, 0x85, 0x43, - 0x2a, 0xf9, 0x40, 0x21, 0xf5, 0x02, 0x4c, 0x7a, 0x2a, 0x55, 0x3b, 0xa6, 0x75, 0xc8, 0x63, 0xf3, - 0x62, 0x9c, 0x26, 0x4b, 0x65, 0x8e, 0x33, 0x30, 0xcc, 0x98, 0x40, 0x81, 0x63, 0x7d, 0x15, 0xc0, - 0xb6, 0x90, 0x7d, 0x50, 0xad, 0xa3, 0x5a, 0x33, 0x9b, 0xea, 0x61, 0xa5, 0x2d, 0x2c, 0x12, 0xb2, - 0x92, 0x4d, 0x47, 0x6b, 0x4d, 0xfd, 0xa6, 0x1f, 0x6a, 0xa3, 0x3d, 0x22, 0x65, 0x93, 0x26, 0x59, - 0x28, 0xda, 0xf6, 0x60, 0xa2, 0x83, 0x70, 0xdc, 0xa3, 0x3a, 0xbb, 0xb2, 0x31, 0xa2, 0xc4, 0x52, - 0xec, 0x95, 0x19, 0x0c, 0x46, 0x2f, 0x6c, 0xbc, 0x23, 0x1e, 0xea, 0x8f, 0x81, 0x37, 0x50, 0x25, - 0x61, 0x05, 0xa4, 0x0a, 0x65, 0xf8, 0x60, 0xc5, 0x6c, 0xa1, 0xd9, 0xd7, 0x61, 0x22, 0x68, 0x1e, - 0xfd, 0x14, 0x0c, 0x3b, 0xae, 0xd9, 0x71, 0x49, 0x14, 0x0e, 0x1b, 0xf4, 0x40, 0xd7, 0x40, 0x45, - 0x56, 0x9d, 0x54, 0xb9, 0x61, 0x03, 0x7f, 0xd4, 0x7f, 0xce, 0xbf, 0x60, 0x95, 0x5c, 0xf0, 0x85, - 0xb0, 0x47, 0x03, 0xcc, 0xf2, 0x75, 0xcf, 0x5e, 0x87, 0xf1, 0xc0, 0x05, 0x0c, 0x7a, 0xea, 0xdc, - 0x5f, 0x84, 0xd3, 0x91, 0xd4, 0xfa, 0x0b, 0x70, 0xaa, 0x6b, 0x35, 0x2c, 0x17, 0x75, 0xda, 0x1d, - 0x84, 0x23, 0x96, 0x9e, 0x2a, 0xfb, 0x47, 0xa3, 0x3d, 0x62, 0x6e, 0x4f, 0x94, 0xa6, 0x2c, 0xc6, - 0x74, 0x37, 0x3c, 0xb8, 0x38, 0x96, 0xfa, 0xc1, 0xa8, 0xf6, 0xc6, 0x1b, 0x6f, 0xbc, 0x91, 0xc8, - 0x7d, 0x76, 0x04, 0x4e, 0x45, 0xe5, 0x4c, 0x64, 0xfa, 0xce, 0xc0, 0x88, 0xd5, 0x6d, 0xed, 0xa3, - 0x0e, 0x31, 0xd2, 0xb0, 0xc1, 0x8e, 0xf4, 0x02, 0x0c, 0x37, 0xcd, 0x7d, 0xd4, 0xcc, 0x26, 0xcf, - 0x2a, 0x0b, 0x13, 0xcb, 0x1f, 0x19, 0x28, 0x2b, 0x97, 0x36, 0x30, 0xc4, 0xa0, 0x48, 0xfd, 0x19, - 0x48, 0xb2, 0x12, 0x8d, 0x19, 0x16, 0x07, 0x63, 0xc0, 0xb9, 0x64, 0x10, 0x9c, 0xfe, 0x08, 0x8c, - 0xe1, 0xff, 0x69, 0x6c, 0x8c, 0x10, 0x9d, 0x53, 0x78, 0x00, 0xc7, 0x85, 0x3e, 0x0b, 0x29, 0x92, - 0x26, 0x75, 0xc4, 0x97, 0x36, 0xef, 0x18, 0x07, 0x56, 0x1d, 0x1d, 0x98, 0xdd, 0xa6, 0x5b, 0x7d, - 0xc5, 0x6c, 0x76, 0x11, 0x09, 0xf8, 0x31, 0x23, 0xc3, 0x06, 0x3f, 0x89, 0xc7, 0xf4, 0x79, 0x48, - 0xd3, 0xac, 0x6a, 0x58, 0x75, 0xf4, 0x1a, 0xa9, 0x9e, 0xc3, 0x06, 0x4d, 0xb4, 0x75, 0x3c, 0x82, - 0x4f, 0xff, 0x92, 0x63, 0x5b, 0x3c, 0x34, 0xc9, 0x29, 0xf0, 0x00, 0x39, 0xfd, 0x75, 0xb9, 0x70, - 0x3f, 0x1a, 0x7d, 0x79, 0x72, 0x4c, 0xe5, 0xbe, 0x91, 0x80, 0x24, 0xa9, 0x17, 0x93, 0x90, 0xde, - 0xbd, 0xbb, 0x5d, 0xae, 0xae, 0x6e, 0xed, 0x15, 0x37, 0xca, 0x9a, 0xa2, 0x4f, 0x00, 0x90, 0x81, - 0xb5, 0x8d, 0xad, 0xc2, 0xae, 0x96, 0xf0, 0x8e, 0xd7, 0x2b, 0xbb, 0xd7, 0x56, 0x34, 0xd5, 0x03, - 0xec, 0xd1, 0x81, 0xa4, 0x28, 0x70, 0x65, 0x59, 0x1b, 0xd6, 0x35, 0xc8, 0x50, 0x82, 0xf5, 0x17, - 0xca, 0xab, 0xd7, 0x56, 0xb4, 0x91, 0xe0, 0xc8, 0x95, 0x65, 0x6d, 0x54, 0x1f, 0x87, 0x31, 0x32, - 0x52, 0xdc, 0xda, 0xda, 0xd0, 0x52, 0x1e, 0xe7, 0xce, 0xae, 0xb1, 0x5e, 0xb9, 0xad, 0x8d, 0x79, - 0x9c, 0xb7, 0x8d, 0xad, 0xbd, 0x6d, 0x0d, 0x3c, 0x86, 0xcd, 0xf2, 0xce, 0x4e, 0xe1, 0x76, 0x59, - 0x4b, 0x7b, 0x12, 0xc5, 0xbb, 0xbb, 0xe5, 0x1d, 0x2d, 0x13, 0x50, 0xeb, 0xca, 0xb2, 0x36, 0xee, - 0x9d, 0xa2, 0x5c, 0xd9, 0xdb, 0xd4, 0x26, 0xf4, 0x29, 0x18, 0xa7, 0xa7, 0xe0, 0x4a, 0x4c, 0x4a, - 0x43, 0xd7, 0x56, 0x34, 0xcd, 0x57, 0x84, 0xb2, 0x4c, 0x05, 0x06, 0xae, 0xad, 0x68, 0x7a, 0xae, - 0x04, 0xc3, 0x24, 0xba, 0x74, 0x1d, 0x26, 0x36, 0x0a, 0xc5, 0xf2, 0x46, 0x75, 0x6b, 0x7b, 0x77, - 0x7d, 0xab, 0x52, 0xd8, 0xd0, 0x14, 0x7f, 0xcc, 0x28, 0x7f, 0x62, 0x6f, 0xdd, 0x28, 0xaf, 0x6a, - 0x09, 0x71, 0x6c, 0xbb, 0x5c, 0xd8, 0x2d, 0xaf, 0x6a, 0x6a, 0xae, 0x06, 0xa7, 0xa2, 0xea, 0x64, - 0x64, 0x66, 0x08, 0x2e, 0x4e, 0xf4, 0x70, 0x31, 0xe1, 0x0a, 0xb9, 0xf8, 0x7b, 0x09, 0x98, 0x8e, - 0x58, 0x2b, 0x22, 0x4f, 0xf2, 0x2c, 0x0c, 0xd3, 0x10, 0xa5, 0xab, 0xe7, 0x93, 0x91, 0x8b, 0x0e, - 0x09, 0xd8, 0xd0, 0x0a, 0x4a, 0x70, 0x62, 0x07, 0xa1, 0xf6, 0xe8, 0x20, 0x30, 0x45, 0xa8, 0xa6, - 0xff, 0xf9, 0x50, 0x4d, 0xa7, 0xcb, 0xde, 0xb5, 0x41, 0x96, 0x3d, 0x32, 0x76, 0xb2, 0xda, 0x3e, - 0x1c, 0x51, 0xdb, 0x6f, 0xc1, 0x54, 0x88, 0x68, 0xe0, 0x1a, 0xfb, 0x69, 0x05, 0xb2, 0xbd, 0x8c, - 0x13, 0x53, 0xe9, 0x12, 0x81, 0x4a, 0x77, 0x4b, 0xb6, 0xe0, 0xb9, 0xde, 0x4e, 0x08, 0xf9, 0xfa, - 0x2b, 0x0a, 0xcc, 0x44, 0x77, 0x8a, 0x91, 0x3a, 0x3c, 0x03, 0x23, 0x2d, 0xe4, 0x1e, 0xd9, 0xbc, - 0x5b, 0xba, 0x10, 0xb1, 0x06, 0xe3, 0x69, 0xd9, 0xd9, 0x0c, 0x25, 0x2e, 0xe2, 0x6a, 0xaf, 0x76, - 0x8f, 0x6a, 0x13, 0xd2, 0xf4, 0x97, 0x12, 0x70, 0x3a, 0x92, 0x3c, 0x52, 0xd1, 0x47, 0x01, 0x1a, - 0x56, 0xbb, 0xeb, 0xd2, 0x8e, 0x88, 0x16, 0xd8, 0x31, 0x32, 0x42, 0x8a, 0x17, 0x2e, 0x9e, 0x5d, - 0xd7, 0x9b, 0x57, 0xc9, 0x3c, 0xd0, 0x21, 0x22, 0x70, 0xc3, 0x57, 0x34, 0x49, 0x14, 0x9d, 0xeb, - 0x71, 0xa5, 0xa1, 0xc0, 0xbc, 0x04, 0x5a, 0xad, 0xd9, 0x40, 0x96, 0x5b, 0x75, 0xdc, 0x0e, 0x32, - 0x5b, 0x0d, 0xeb, 0x90, 0xac, 0x20, 0xa9, 0xfc, 0xf0, 0x81, 0xd9, 0x74, 0x90, 0x31, 0x49, 0xa7, - 0x77, 0xf8, 0x2c, 0x46, 0x90, 0x00, 0xea, 0x08, 0x88, 0x91, 0x00, 0x82, 0x4e, 0x7b, 0x88, 0xdc, - 0xef, 0xa4, 0x20, 0x2d, 0xf4, 0xd5, 0xfa, 0x39, 0xc8, 0xbc, 0x64, 0xbe, 0x62, 0x56, 0xf9, 0xbd, - 0x12, 0xb5, 0x44, 0x1a, 0x8f, 0x6d, 0xb3, 0xfb, 0xa5, 0x4b, 0x70, 0x8a, 0x88, 0xd8, 0x5d, 0x17, - 0x75, 0xaa, 0xb5, 0xa6, 0xe9, 0x38, 0xc4, 0x68, 0x29, 0x22, 0xaa, 0xe3, 0xb9, 0x2d, 0x3c, 0x55, - 0xe2, 0x33, 0xfa, 0x55, 0x98, 0x26, 0x88, 0x56, 0xb7, 0xe9, 0x36, 0xda, 0x4d, 0x54, 0xc5, 0x77, - 0x6f, 0x0e, 0x59, 0x49, 0x3c, 0xcd, 0xa6, 0xb0, 0xc4, 0x26, 0x13, 0xc0, 0x1a, 0x39, 0xfa, 0x2a, - 0x3c, 0x4a, 0x60, 0x87, 0xc8, 0x42, 0x1d, 0xd3, 0x45, 0x55, 0xf4, 0xf3, 0x5d, 0xb3, 0xe9, 0x54, - 0x4d, 0xab, 0x5e, 0x3d, 0x32, 0x9d, 0xa3, 0xec, 0x29, 0x4c, 0x50, 0x4c, 0x64, 0x15, 0xe3, 0x61, - 0x2c, 0x78, 0x9b, 0xc9, 0x95, 0x89, 0x58, 0xc1, 0xaa, 0x3f, 0x67, 0x3a, 0x47, 0x7a, 0x1e, 0x66, - 0x08, 0x8b, 0xe3, 0x76, 0x1a, 0xd6, 0x61, 0xb5, 0x76, 0x84, 0x6a, 0x2f, 0x57, 0xbb, 0xee, 0xc1, - 0x8d, 0xec, 0x23, 0xe2, 0xf9, 0x89, 0x86, 0x3b, 0x44, 0xa6, 0x84, 0x45, 0xf6, 0xdc, 0x83, 0x1b, - 0xfa, 0x0e, 0x64, 0xb0, 0x33, 0x5a, 0x8d, 0xd7, 0x51, 0xf5, 0xc0, 0xee, 0x90, 0xa5, 0x71, 0x22, - 0xa2, 0x34, 0x09, 0x16, 0x5c, 0xda, 0x62, 0x80, 0x4d, 0xbb, 0x8e, 0xf2, 0xc3, 0x3b, 0xdb, 0xe5, - 0xf2, 0xaa, 0x91, 0xe6, 0x2c, 0x6b, 0x76, 0x07, 0x07, 0xd4, 0xa1, 0xed, 0x19, 0x38, 0x4d, 0x03, - 0xea, 0xd0, 0xe6, 0xe6, 0xbd, 0x0a, 0xd3, 0xb5, 0x1a, 0xbd, 0xe6, 0x46, 0xad, 0xca, 0xee, 0xb1, - 0x9c, 0xac, 0x16, 0x30, 0x56, 0xad, 0x76, 0x9b, 0x0a, 0xb0, 0x18, 0x77, 0xf4, 0x9b, 0x70, 0xda, - 0x37, 0x96, 0x08, 0x9c, 0x0a, 0x5d, 0xa5, 0x0c, 0xbd, 0x0a, 0xd3, 0xed, 0xe3, 0x30, 0x50, 0x0f, - 0x9c, 0xb1, 0x7d, 0x2c, 0xc3, 0xae, 0xc3, 0xa9, 0xf6, 0x51, 0x3b, 0x8c, 0x5b, 0x14, 0x71, 0x7a, - 0xfb, 0xa8, 0x2d, 0x03, 0x1f, 0x27, 0x37, 0xdc, 0x1d, 0x54, 0x33, 0x5d, 0x54, 0xcf, 0x3e, 0x24, - 0x8a, 0x0b, 0x13, 0xfa, 0x45, 0xd0, 0x6a, 0xb5, 0x2a, 0xb2, 0xcc, 0xfd, 0x26, 0xaa, 0x9a, 0x1d, - 0x64, 0x99, 0x4e, 0x76, 0x5e, 0x14, 0x9e, 0xa8, 0xd5, 0xca, 0x64, 0xb6, 0x40, 0x26, 0xf5, 0x45, - 0x98, 0xb2, 0xf7, 0x5f, 0xaa, 0xd1, 0x90, 0xac, 0xb6, 0x3b, 0xe8, 0xa0, 0xf1, 0x5a, 0xf6, 0x3c, - 0xb1, 0xef, 0x24, 0x9e, 0x20, 0x01, 0xb9, 0x4d, 0x86, 0xf5, 0x27, 0x41, 0xab, 0x39, 0x47, 0x66, - 0xa7, 0x4d, 0x6a, 0xb2, 0xd3, 0x36, 0x6b, 0x28, 0xfb, 0x38, 0x15, 0xa5, 0xe3, 0x15, 0x3e, 0x8c, - 0x53, 0xc2, 0x79, 0xb5, 0x71, 0xe0, 0x72, 0xc6, 0x27, 0x68, 0x4a, 0x90, 0x31, 0xc6, 0xb6, 0x00, - 0x1a, 0x36, 0x45, 0xe0, 0xc4, 0x0b, 0x44, 0x6c, 0xa2, 0x7d, 0xd4, 0x16, 0xcf, 0xfb, 0x18, 0x8c, - 0x63, 0x49, 0xff, 0xa4, 0x4f, 0xd2, 0x86, 0xac, 0x7d, 0x24, 0x9c, 0xf1, 0x03, 0xeb, 0x8d, 0x73, - 0x79, 0xc8, 0x88, 0xf1, 0xa9, 0x8f, 0x01, 0x8d, 0x50, 0x4d, 0xc1, 0xcd, 0x4a, 0x69, 0x6b, 0x15, - 0xb7, 0x19, 0x9f, 0x2a, 0x6b, 0x09, 0xdc, 0xee, 0x6c, 0xac, 0xef, 0x96, 0xab, 0xc6, 0x5e, 0x65, - 0x77, 0x7d, 0xb3, 0xac, 0xa9, 0x62, 0x5f, 0xfd, 0xad, 0x04, 0x4c, 0x04, 0x6f, 0x91, 0xf4, 0x8f, - 0xc1, 0x43, 0xfc, 0x79, 0x86, 0x83, 0xdc, 0xea, 0xab, 0x8d, 0x0e, 0x49, 0x99, 0x96, 0x49, 0x97, - 0x2f, 0xcf, 0x69, 0xa7, 0x98, 0xd4, 0x0e, 0x72, 0x9f, 0x6f, 0x74, 0x70, 0x42, 0xb4, 0x4c, 0x57, - 0xdf, 0x80, 0x79, 0xcb, 0xae, 0x3a, 0xae, 0x69, 0xd5, 0xcd, 0x4e, 0xbd, 0xea, 0x3f, 0x49, 0xaa, - 0x9a, 0xb5, 0x1a, 0x72, 0x1c, 0x9b, 0x2e, 0x55, 0x1e, 0xcb, 0x19, 0xcb, 0xde, 0x61, 0xc2, 0x7e, - 0x0d, 0x2f, 0x30, 0x51, 0x29, 0xc0, 0xd4, 0x5e, 0x01, 0xf6, 0x08, 0x8c, 0xb5, 0xcc, 0x76, 0x15, - 0x59, 0x6e, 0xe7, 0x98, 0x34, 0xc6, 0x29, 0x23, 0xd5, 0x32, 0xdb, 0x65, 0x7c, 0xfc, 0xd3, 0xb9, - 0x3f, 0xf9, 0xaf, 0x2a, 0x64, 0xc4, 0xe6, 0x18, 0xdf, 0x6b, 0xd4, 0xc8, 0x3a, 0xa2, 0x90, 0x4a, - 0xf3, 0x58, 0xdf, 0x56, 0x7a, 0xa9, 0x84, 0x17, 0x98, 0xfc, 0x08, 0x6d, 0x59, 0x0d, 0x8a, 0xc4, - 0x8b, 0x3b, 0xae, 0x2d, 0x88, 0xb6, 0x08, 0x29, 0x83, 0x1d, 0xe9, 0xb7, 0x61, 0xe4, 0x25, 0x87, - 0x70, 0x8f, 0x10, 0xee, 0xf3, 0xfd, 0xb9, 0xef, 0xec, 0x10, 0xf2, 0xb1, 0x3b, 0x3b, 0xd5, 0xca, - 0x96, 0xb1, 0x59, 0xd8, 0x30, 0x18, 0x5c, 0x7f, 0x18, 0x92, 0x4d, 0xf3, 0xf5, 0xe3, 0xe0, 0x52, - 0x44, 0x86, 0x06, 0x35, 0xfc, 0xc3, 0x90, 0x7c, 0x15, 0x99, 0x2f, 0x07, 0x17, 0x00, 0x32, 0xf4, - 0x01, 0x86, 0xfe, 0x45, 0x18, 0x26, 0xf6, 0xd2, 0x01, 0x98, 0xc5, 0xb4, 0x21, 0x3d, 0x05, 0xc9, - 0xd2, 0x96, 0x81, 0xc3, 0x5f, 0x83, 0x0c, 0x1d, 0xad, 0x6e, 0xaf, 0x97, 0x4b, 0x65, 0x2d, 0x91, - 0xbb, 0x0a, 0x23, 0xd4, 0x08, 0x38, 0x35, 0x3c, 0x33, 0x68, 0x43, 0xec, 0x90, 0x71, 0x28, 0x7c, - 0x76, 0x6f, 0xb3, 0x58, 0x36, 0xb4, 0x84, 0xe8, 0x5e, 0x07, 0x32, 0x62, 0x5f, 0xfc, 0xd3, 0x89, - 0xa9, 0x6f, 0x2a, 0x90, 0x16, 0xfa, 0x5c, 0xdc, 0xa0, 0x98, 0xcd, 0xa6, 0xfd, 0x6a, 0xd5, 0x6c, - 0x36, 0x4c, 0x87, 0x05, 0x05, 0x90, 0xa1, 0x02, 0x1e, 0x19, 0xd4, 0x69, 0x3f, 0x15, 0xe5, 0xbf, - 0xa8, 0x80, 0x26, 0xb7, 0x98, 0x92, 0x82, 0xca, 0xcf, 0x54, 0xc1, 0xcf, 0x2b, 0x30, 0x11, 0xec, - 0x2b, 0x25, 0xf5, 0xce, 0xfd, 0x4c, 0xd5, 0xfb, 0x6e, 0x02, 0xc6, 0x03, 0xdd, 0xe4, 0xa0, 0xda, - 0xfd, 0x3c, 0x4c, 0x35, 0xea, 0xa8, 0xd5, 0xb6, 0x5d, 0x64, 0xd5, 0x8e, 0xab, 0x4d, 0xf4, 0x0a, - 0x6a, 0x66, 0x73, 0xa4, 0x50, 0x5c, 0xec, 0xdf, 0xaf, 0x2e, 0xad, 0xfb, 0xb8, 0x0d, 0x0c, 0xcb, - 0x4f, 0xaf, 0xaf, 0x96, 0x37, 0xb7, 0xb7, 0x76, 0xcb, 0x95, 0xd2, 0xdd, 0xea, 0x5e, 0xe5, 0xe3, - 0x95, 0xad, 0xe7, 0x2b, 0x86, 0xd6, 0x90, 0xc4, 0x3e, 0xc0, 0x54, 0xdf, 0x06, 0x4d, 0x56, 0x4a, - 0x7f, 0x08, 0xa2, 0xd4, 0xd2, 0x86, 0xf4, 0x69, 0x98, 0xac, 0x6c, 0x55, 0x77, 0xd6, 0x57, 0xcb, - 0xd5, 0xf2, 0xda, 0x5a, 0xb9, 0xb4, 0xbb, 0x43, 0x9f, 0x40, 0x78, 0xd2, 0xbb, 0xc1, 0xa4, 0xfe, - 0x9c, 0x0a, 0xd3, 0x11, 0x9a, 0xe8, 0x05, 0x76, 0xef, 0x40, 0x6f, 0x67, 0x9e, 0x1a, 0x44, 0xfb, - 0x25, 0xbc, 0xe4, 0x6f, 0x9b, 0x1d, 0x97, 0xdd, 0x6a, 0x3c, 0x09, 0xd8, 0x4a, 0x96, 0xdb, 0x38, - 0x68, 0xa0, 0x0e, 0x7b, 0x60, 0x43, 0x6f, 0x28, 0x26, 0xfd, 0x71, 0xfa, 0xcc, 0xe6, 0xa3, 0xa0, - 0xb7, 0x6d, 0xa7, 0xe1, 0x36, 0x5e, 0x41, 0xd5, 0x86, 0xc5, 0x9f, 0xee, 0xe0, 0x1b, 0x8c, 0xa4, - 0xa1, 0xf1, 0x99, 0x75, 0xcb, 0xf5, 0xa4, 0x2d, 0x74, 0x68, 0x4a, 0xd2, 0xb8, 0x80, 0xab, 0x86, - 0xc6, 0x67, 0x3c, 0xe9, 0x73, 0x90, 0xa9, 0xdb, 0x5d, 0xdc, 0x75, 0x51, 0x39, 0xbc, 0x5e, 0x28, - 0x46, 0x9a, 0x8e, 0x79, 0x22, 0xac, 0x9f, 0xf6, 0x1f, 0x2b, 0x65, 0x8c, 0x34, 0x1d, 0xa3, 0x22, - 0x4f, 0xc0, 0xa4, 0x79, 0x78, 0xd8, 0xc1, 0xe4, 0x9c, 0x88, 0xde, 0x21, 0x4c, 0x78, 0xc3, 0x44, - 0x70, 0xf6, 0x0e, 0xa4, 0xb8, 0x1d, 0xf0, 0x92, 0x8c, 0x2d, 0x51, 0x6d, 0xd3, 0xdb, 0xde, 0xc4, - 0xc2, 0x98, 0x91, 0xb2, 0xf8, 0xe4, 0x39, 0xc8, 0x34, 0x9c, 0xaa, 0xff, 0x94, 0x3c, 0x71, 0x36, - 0xb1, 0x90, 0x32, 0xd2, 0x0d, 0xc7, 0x7b, 0xc2, 0x98, 0xfb, 0x4a, 0x02, 0x26, 0x82, 0x4f, 0xf9, - 0xf5, 0x55, 0x48, 0x35, 0xed, 0x9a, 0x49, 0x42, 0x8b, 0x6e, 0x31, 0x2d, 0xc4, 0x6c, 0x0c, 0x2c, - 0x6d, 0x30, 0x79, 0xc3, 0x43, 0xce, 0xfe, 0x47, 0x05, 0x52, 0x7c, 0x58, 0x9f, 0x81, 0x64, 0xdb, - 0x74, 0x8f, 0x08, 0xdd, 0x70, 0x31, 0xa1, 0x29, 0x06, 0x39, 0xc6, 0xe3, 0x4e, 0xdb, 0xb4, 0x48, - 0x08, 0xb0, 0x71, 0x7c, 0x8c, 0xfd, 0xda, 0x44, 0x66, 0x9d, 0xdc, 0x7e, 0xd8, 0xad, 0x16, 0xb2, - 0x5c, 0x87, 0xfb, 0x95, 0x8d, 0x97, 0xd8, 0xb0, 0xfe, 0x11, 0x98, 0x72, 0x3b, 0x66, 0xa3, 0x19, - 0x90, 0x4d, 0x12, 0x59, 0x8d, 0x4f, 0x78, 0xc2, 0x79, 0x78, 0x98, 0xf3, 0xd6, 0x91, 0x6b, 0xd6, - 0x8e, 0x50, 0xdd, 0x07, 0x8d, 0x90, 0xc7, 0x0c, 0x0f, 0x31, 0x81, 0x55, 0x36, 0xcf, 0xb1, 0xb9, - 0x3f, 0x54, 0x60, 0x8a, 0xdf, 0x30, 0xd5, 0x3d, 0x63, 0x6d, 0x02, 0x98, 0x96, 0x65, 0xbb, 0xa2, - 0xb9, 0xc2, 0xa1, 0x1c, 0xc2, 0x2d, 0x15, 0x3c, 0x90, 0x21, 0x10, 0xcc, 0xb6, 0x00, 0xfc, 0x99, - 0x9e, 0x66, 0x9b, 0x87, 0x34, 0xdb, 0xc2, 0x21, 0xfb, 0x80, 0xf4, 0x16, 0x1b, 0xe8, 0x10, 0xbe, - 0xb3, 0xd2, 0x4f, 0xc1, 0xf0, 0x3e, 0x3a, 0x6c, 0x58, 0xec, 0xc1, 0x2c, 0x3d, 0xe0, 0x0f, 0x42, - 0x92, 0xde, 0x83, 0x90, 0xe2, 0x8b, 0x30, 0x5d, 0xb3, 0x5b, 0xb2, 0xba, 0x45, 0x4d, 0xba, 0xcd, - 0x77, 0x9e, 0x53, 0x3e, 0x05, 0x7e, 0x8b, 0xf9, 0x63, 0x45, 0xf9, 0xd5, 0x84, 0x7a, 0x7b, 0xbb, - 0xf8, 0x5b, 0x89, 0xd9, 0xdb, 0x14, 0xba, 0xcd, 0xaf, 0xd4, 0x40, 0x07, 0x4d, 0x54, 0xc3, 0xda, - 0xc3, 0x6f, 0x7c, 0x04, 0x9e, 0x3a, 0x6c, 0xb8, 0x47, 0xdd, 0xfd, 0xa5, 0x9a, 0xdd, 0xba, 0x78, - 0x68, 0x1f, 0xda, 0xfe, 0xd6, 0x27, 0x3e, 0x22, 0x07, 0xe4, 0x13, 0xdb, 0xfe, 0x1c, 0xf3, 0x46, - 0x67, 0x63, 0xf7, 0x4a, 0xf3, 0x15, 0x98, 0x66, 0xc2, 0x55, 0xb2, 0xff, 0x42, 0xef, 0x22, 0xf4, - 0xbe, 0xcf, 0xb0, 0xb2, 0xbf, 0xfd, 0x7d, 0xb2, 0x5c, 0x1b, 0x53, 0x0c, 0x8a, 0xe7, 0xe8, 0x8d, - 0x46, 0xde, 0x80, 0xd3, 0x01, 0x3e, 0x9a, 0x9a, 0xa8, 0x13, 0xc3, 0xf8, 0x2d, 0xc6, 0x38, 0x2d, - 0x30, 0xee, 0x30, 0x68, 0xbe, 0x04, 0xe3, 0x27, 0xe1, 0xfa, 0x77, 0x8c, 0x2b, 0x83, 0x44, 0x92, - 0xdb, 0x30, 0x49, 0x48, 0x6a, 0x5d, 0xc7, 0xb5, 0x5b, 0xa4, 0xee, 0xf5, 0xa7, 0xf9, 0xf7, 0xdf, - 0xa7, 0xb9, 0x32, 0x81, 0x61, 0x25, 0x0f, 0x95, 0xcf, 0x03, 0xd9, 0x72, 0xaa, 0xa3, 0x5a, 0x33, - 0x86, 0xe1, 0x1e, 0x53, 0xc4, 0x93, 0xcf, 0x7f, 0x12, 0x4e, 0xe1, 0xcf, 0xa4, 0x2c, 0x89, 0x9a, - 0xc4, 0x3f, 0xf0, 0xca, 0xfe, 0xe1, 0xa7, 0x69, 0x3a, 0x4e, 0x7b, 0x04, 0x82, 0x4e, 0x82, 0x17, - 0x0f, 0x91, 0xeb, 0xa2, 0x8e, 0x53, 0x35, 0x9b, 0x51, 0xea, 0x09, 0x4f, 0x0c, 0xb2, 0xbf, 0xf2, - 0xc3, 0xa0, 0x17, 0x6f, 0x53, 0x64, 0xa1, 0xd9, 0xcc, 0xef, 0xc1, 0x43, 0x11, 0x51, 0x31, 0x00, - 0xe7, 0xe7, 0x18, 0xe7, 0xa9, 0x50, 0x64, 0x60, 0xda, 0x6d, 0xe0, 0xe3, 0x9e, 0x2f, 0x07, 0xe0, - 0xfc, 0x47, 0x8c, 0x53, 0x67, 0x58, 0xee, 0x52, 0xcc, 0x78, 0x07, 0xa6, 0x5e, 0x41, 0x9d, 0x7d, - 0xdb, 0x61, 0x4f, 0x69, 0x06, 0xa0, 0xfb, 0x3c, 0xa3, 0x9b, 0x64, 0x40, 0xf2, 0xd8, 0x06, 0x73, - 0xdd, 0x84, 0xd4, 0x81, 0x59, 0x43, 0x03, 0x50, 0x7c, 0x81, 0x51, 0x8c, 0x62, 0x79, 0x0c, 0x2d, - 0x40, 0xe6, 0xd0, 0x66, 0x2b, 0x53, 0x3c, 0xfc, 0x8b, 0x0c, 0x9e, 0xe6, 0x18, 0x46, 0xd1, 0xb6, - 0xdb, 0xdd, 0x26, 0x5e, 0xb6, 0xe2, 0x29, 0xbe, 0xc4, 0x29, 0x38, 0x86, 0x51, 0x9c, 0xc0, 0xac, - 0x6f, 0x72, 0x0a, 0x47, 0xb0, 0xe7, 0xb3, 0x90, 0xb6, 0xad, 0xe6, 0xb1, 0x6d, 0x0d, 0xa2, 0xc4, - 0x97, 0x19, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x05, 0x63, 0x83, 0x3a, 0xe2, 0xd7, 0x7f, 0xc8, 0xd3, - 0x83, 0x7b, 0xe0, 0x36, 0x4c, 0xf2, 0x02, 0xd5, 0xb0, 0xad, 0x01, 0x28, 0x7e, 0x83, 0x51, 0x4c, - 0x08, 0x30, 0x76, 0x19, 0x2e, 0x72, 0xdc, 0x43, 0x34, 0x08, 0xc9, 0x57, 0xf8, 0x65, 0x30, 0x08, - 0x33, 0xe5, 0x3e, 0xb2, 0x6a, 0x47, 0x83, 0x31, 0x7c, 0x95, 0x9b, 0x92, 0x63, 0x30, 0x45, 0x09, - 0xc6, 0x5b, 0x66, 0xc7, 0x39, 0x32, 0x9b, 0x03, 0xb9, 0xe3, 0x37, 0x19, 0x47, 0xc6, 0x03, 0x31, - 0x8b, 0x74, 0xad, 0x93, 0xd0, 0xfc, 0x16, 0xb7, 0x88, 0x00, 0x63, 0xa9, 0xe7, 0xb8, 0xe4, 0x91, - 0xd6, 0x49, 0xd8, 0xfe, 0x31, 0x4f, 0x3d, 0x8a, 0xdd, 0x14, 0x19, 0x6f, 0xc1, 0x98, 0xd3, 0x78, - 0x7d, 0x20, 0x9a, 0x7f, 0xc2, 0x3d, 0x4d, 0x00, 0x18, 0x7c, 0x17, 0x1e, 0x8e, 0x5c, 0x26, 0x06, - 0x20, 0xfb, 0xa7, 0x8c, 0x6c, 0x26, 0x62, 0xa9, 0x60, 0x25, 0xe1, 0xa4, 0x94, 0xff, 0x8c, 0x97, - 0x04, 0x24, 0x71, 0x6d, 0xe3, 0x7b, 0x05, 0xc7, 0x3c, 0x38, 0x99, 0xd5, 0xfe, 0x39, 0xb7, 0x1a, - 0xc5, 0x06, 0xac, 0xb6, 0x0b, 0x33, 0x8c, 0xf1, 0x64, 0x7e, 0xfd, 0x1a, 0x2f, 0xac, 0x14, 0xbd, - 0x17, 0xf4, 0xee, 0x8b, 0x30, 0xeb, 0x99, 0x93, 0x37, 0xa5, 0x4e, 0xb5, 0x65, 0xb6, 0x07, 0x60, - 0xfe, 0x6d, 0xc6, 0xcc, 0x2b, 0xbe, 0xd7, 0xd5, 0x3a, 0x9b, 0x66, 0x1b, 0x93, 0xbf, 0x00, 0x59, - 0x4e, 0xde, 0xb5, 0x3a, 0xa8, 0x66, 0x1f, 0x5a, 0x8d, 0xd7, 0x51, 0x7d, 0x00, 0xea, 0xaf, 0x4b, - 0xae, 0xda, 0x13, 0xe0, 0x98, 0x79, 0x1d, 0x34, 0xaf, 0x57, 0xa9, 0x36, 0x5a, 0x6d, 0xbb, 0xe3, - 0xc6, 0x30, 0xfe, 0x0e, 0xf7, 0x94, 0x87, 0x5b, 0x27, 0xb0, 0x7c, 0x19, 0x26, 0xc8, 0xe1, 0xa0, - 0x21, 0xf9, 0xbb, 0x8c, 0x68, 0xdc, 0x47, 0xb1, 0xc2, 0x51, 0xb3, 0x5b, 0x6d, 0xb3, 0x33, 0x48, - 0xfd, 0xfb, 0x17, 0xbc, 0x70, 0x30, 0x08, 0x2b, 0x1c, 0xee, 0x71, 0x1b, 0xe1, 0xd5, 0x7e, 0x00, - 0x86, 0x6f, 0xf0, 0xc2, 0xc1, 0x31, 0x8c, 0x82, 0x37, 0x0c, 0x03, 0x50, 0xfc, 0x4b, 0x4e, 0xc1, - 0x31, 0x98, 0xe2, 0x13, 0xfe, 0x42, 0xdb, 0x41, 0x87, 0x0d, 0xc7, 0xed, 0xd0, 0x56, 0xb8, 0x3f, - 0xd5, 0xef, 0xfd, 0x30, 0xd8, 0x84, 0x19, 0x02, 0x14, 0x57, 0x22, 0xf6, 0x08, 0x95, 0xdc, 0x29, - 0xc5, 0x2b, 0xf6, 0xfb, 0xbc, 0x12, 0x09, 0x30, 0xac, 0x9b, 0xd0, 0x21, 0x62, 0xb3, 0xd7, 0xf0, - 0xfd, 0xc1, 0x00, 0x74, 0xdf, 0x94, 0x94, 0xdb, 0xe1, 0x58, 0xcc, 0x29, 0xf4, 0x3f, 0x5d, 0xeb, - 0x65, 0x74, 0x3c, 0x50, 0x74, 0xfe, 0x2b, 0xa9, 0xff, 0xd9, 0xa3, 0x48, 0x5a, 0x43, 0x26, 0xa5, - 0x7e, 0x4a, 0x8f, 0x7b, 0x59, 0x27, 0xfb, 0x97, 0xdf, 0x65, 0xd7, 0x1b, 0x6c, 0xa7, 0xf2, 0x1b, - 0x38, 0xc8, 0x83, 0x4d, 0x4f, 0x3c, 0xd9, 0xa7, 0xdf, 0xf5, 0xe2, 0x3c, 0xd0, 0xf3, 0xe4, 0xd7, - 0x60, 0x3c, 0xd0, 0xf0, 0xc4, 0x53, 0xfd, 0x15, 0x46, 0x95, 0x11, 0xfb, 0x9d, 0xfc, 0x55, 0x48, - 0xe2, 0xe6, 0x25, 0x1e, 0xfe, 0x57, 0x19, 0x9c, 0x88, 0xe7, 0x9f, 0x86, 0x14, 0x6f, 0x5a, 0xe2, - 0xa1, 0xbf, 0xc8, 0xa0, 0x1e, 0x04, 0xc3, 0x79, 0xc3, 0x12, 0x0f, 0xff, 0x6b, 0x1c, 0xce, 0x21, - 0x18, 0x3e, 0xb8, 0x09, 0xdf, 0xfa, 0x1b, 0x49, 0xb6, 0xe8, 0x70, 0xdb, 0xdd, 0x82, 0x51, 0xd6, - 0xa9, 0xc4, 0xa3, 0x7f, 0x89, 0x9d, 0x9c, 0x23, 0xf2, 0xd7, 0x61, 0x78, 0x40, 0x83, 0xff, 0x4d, - 0x06, 0xa5, 0xf2, 0xf9, 0x12, 0xa4, 0x85, 0xee, 0x24, 0x1e, 0xfe, 0xb7, 0x18, 0x5c, 0x44, 0x61, - 0xd5, 0x59, 0x77, 0x12, 0x4f, 0xf0, 0xb7, 0xb9, 0xea, 0x0c, 0x81, 0xcd, 0xc6, 0x1b, 0x93, 0x78, - 0xf4, 0xdf, 0xe1, 0x56, 0xe7, 0x90, 0xfc, 0xb3, 0x30, 0xe6, 0x2d, 0x36, 0xf1, 0xf8, 0xbf, 0xcb, - 0xf0, 0x3e, 0x06, 0x5b, 0x40, 0x58, 0xec, 0xe2, 0x29, 0xfe, 0x1e, 0xb7, 0x80, 0x80, 0xc2, 0x69, - 0x24, 0x37, 0x30, 0xf1, 0x4c, 0xbf, 0xcc, 0xd3, 0x48, 0xea, 0x5f, 0xb0, 0x37, 0x49, 0xcd, 0x8f, - 0xa7, 0xf8, 0xfb, 0xdc, 0x9b, 0x44, 0x1e, 0xab, 0x21, 0x77, 0x04, 0xf1, 0x1c, 0xff, 0x90, 0xab, - 0x21, 0x35, 0x04, 0xf9, 0x6d, 0xd0, 0xc3, 0xdd, 0x40, 0x3c, 0xdf, 0x67, 0x19, 0xdf, 0x54, 0xa8, - 0x19, 0xc8, 0x3f, 0x0f, 0x33, 0xd1, 0x9d, 0x40, 0x3c, 0xeb, 0xaf, 0xbc, 0x2b, 0xdd, 0xbb, 0x89, - 0x8d, 0x40, 0x7e, 0xd7, 0x5f, 0x52, 0xc4, 0x2e, 0x20, 0x9e, 0xf6, 0x73, 0xef, 0x06, 0x0b, 0xb7, - 0xd8, 0x04, 0xe4, 0x0b, 0x00, 0xfe, 0x02, 0x1c, 0xcf, 0xf5, 0x79, 0xc6, 0x25, 0x80, 0x70, 0x6a, - 0xb0, 0xf5, 0x37, 0x1e, 0xff, 0x05, 0x9e, 0x1a, 0x0c, 0x81, 0x53, 0x83, 0x2f, 0xbd, 0xf1, 0xe8, - 0x2f, 0xf2, 0xd4, 0xe0, 0x10, 0x1c, 0xd9, 0xc2, 0xea, 0x16, 0xcf, 0xf0, 0x65, 0x1e, 0xd9, 0x02, - 0x2a, 0x5f, 0x81, 0xa9, 0xd0, 0x82, 0x18, 0x4f, 0xf5, 0xab, 0x8c, 0x4a, 0x93, 0xd7, 0x43, 0x71, - 0xf1, 0x62, 0x8b, 0x61, 0x3c, 0xdb, 0xaf, 0x49, 0x8b, 0x17, 0x5b, 0x0b, 0xf3, 0xb7, 0x20, 0x65, - 0x75, 0x9b, 0x4d, 0x9c, 0x3c, 0x7a, 0xff, 0x17, 0xec, 0xb2, 0xff, 0xfd, 0x27, 0xcc, 0x3a, 0x1c, - 0x90, 0xbf, 0x0a, 0xc3, 0xa8, 0xb5, 0x8f, 0xea, 0x71, 0xc8, 0xff, 0xf1, 0x13, 0x5e, 0x30, 0xb1, - 0x74, 0xfe, 0x59, 0x00, 0xfa, 0x68, 0x84, 0x6c, 0xfb, 0xc5, 0x60, 0xff, 0xe7, 0x4f, 0xd8, 0xab, - 0x2f, 0x3e, 0xc4, 0x27, 0xa0, 0x2f, 0xd2, 0xf4, 0x27, 0xf8, 0x61, 0x90, 0x80, 0x78, 0xe4, 0x26, - 0x8c, 0xbe, 0xe4, 0xd8, 0x96, 0x6b, 0x1e, 0xc6, 0xa1, 0xff, 0x17, 0x43, 0x73, 0x79, 0x6c, 0xb0, - 0x96, 0xdd, 0x41, 0xae, 0x79, 0xe8, 0xc4, 0x61, 0xff, 0x37, 0xc3, 0x7a, 0x00, 0x0c, 0xae, 0x99, - 0x8e, 0x3b, 0xc8, 0x75, 0xff, 0x31, 0x07, 0x73, 0x00, 0x56, 0x1a, 0x7f, 0x7e, 0x19, 0x1d, 0xc7, - 0x61, 0x7f, 0xc4, 0x95, 0x66, 0xf2, 0xf9, 0xa7, 0x61, 0x0c, 0x7f, 0xa4, 0xef, 0xb3, 0xc5, 0x80, - 0xff, 0x0f, 0x03, 0xfb, 0x08, 0x7c, 0x66, 0xc7, 0xad, 0xbb, 0x8d, 0x78, 0x63, 0xff, 0x09, 0xf3, - 0x34, 0x97, 0xcf, 0x17, 0x20, 0xed, 0xb8, 0xf5, 0x7a, 0x97, 0xf5, 0xa7, 0x31, 0xf0, 0xff, 0xfb, - 0x13, 0xef, 0x91, 0x85, 0x87, 0xc1, 0xde, 0x7e, 0xf5, 0x65, 0xb7, 0x6d, 0x93, 0x6d, 0x8e, 0x38, - 0x86, 0x77, 0x19, 0x83, 0x00, 0x29, 0x96, 0xa3, 0x1f, 0xdf, 0xc2, 0x6d, 0xfb, 0xb6, 0x4d, 0x1f, - 0xdc, 0x7e, 0x2a, 0x17, 0xff, 0x04, 0x16, 0xfe, 0x5b, 0x13, 0xae, 0xf7, 0x14, 0xc3, 0x4b, 0xf1, - 0xc5, 0x9a, 0xdd, 0xda, 0xb7, 0x9d, 0x8b, 0xfb, 0xb6, 0x7b, 0x74, 0xd1, 0x3d, 0x42, 0x78, 0x8c, - 0x3d, 0xb2, 0x4d, 0xe2, 0xcf, 0xb3, 0x27, 0x7b, 0xce, 0x4b, 0x76, 0xf1, 0x2b, 0x0d, 0x7c, 0x69, - 0x15, 0xb2, 0x91, 0xa2, 0x9f, 0x81, 0x11, 0x72, 0xb1, 0x97, 0xc9, 0x66, 0xa5, 0x52, 0x4c, 0xde, - 0x7b, 0x7b, 0x7e, 0xc8, 0x60, 0x63, 0xde, 0xec, 0x32, 0x79, 0xd2, 0x9d, 0x08, 0xcc, 0x2e, 0x7b, - 0xb3, 0x57, 0xe8, 0xc3, 0xee, 0xc0, 0xec, 0x15, 0x6f, 0x76, 0x85, 0x3c, 0xf6, 0x56, 0x03, 0xb3, - 0x2b, 0xde, 0xec, 0x55, 0xb2, 0xb5, 0x33, 0x1e, 0x98, 0xbd, 0xea, 0xcd, 0x5e, 0x23, 0x1b, 0x3a, - 0xc9, 0xc0, 0xec, 0x35, 0x6f, 0xf6, 0x3a, 0xd9, 0xcb, 0x99, 0x0a, 0xcc, 0x5e, 0xf7, 0x66, 0x6f, - 0x90, 0x3d, 0x1c, 0x3d, 0x30, 0x7b, 0xc3, 0x9b, 0xbd, 0x49, 0x5e, 0x90, 0x1a, 0x0d, 0xcc, 0xde, - 0xd4, 0xe7, 0x60, 0x94, 0x5e, 0xf9, 0x25, 0xb2, 0xe1, 0x3f, 0xc9, 0xa6, 0xf9, 0xa0, 0x3f, 0x7f, - 0x99, 0xbc, 0x0c, 0x35, 0x12, 0x9c, 0xbf, 0xec, 0xcf, 0x2f, 0x93, 0xef, 0x65, 0x68, 0xc1, 0xf9, - 0x65, 0x7f, 0xfe, 0x4a, 0x76, 0x9c, 0xbc, 0x10, 0x16, 0x98, 0xbf, 0xe2, 0xcf, 0xaf, 0x64, 0x27, - 0x70, 0xc6, 0x04, 0xe7, 0x57, 0xfc, 0xf9, 0xab, 0xd9, 0xc9, 0xb3, 0xca, 0x42, 0x26, 0x38, 0x7f, - 0x35, 0xf7, 0x0b, 0xc4, 0xbd, 0x96, 0xef, 0xde, 0x99, 0xa0, 0x7b, 0x3d, 0xc7, 0xce, 0x04, 0x1d, - 0xeb, 0xb9, 0x74, 0x26, 0xe8, 0x52, 0xcf, 0x99, 0x33, 0x41, 0x67, 0x7a, 0x6e, 0x9c, 0x09, 0xba, - 0xd1, 0x73, 0xe0, 0x4c, 0xd0, 0x81, 0x9e, 0xeb, 0x66, 0x82, 0xae, 0xf3, 0x9c, 0x36, 0x13, 0x74, - 0x9a, 0xe7, 0xae, 0x99, 0xa0, 0xbb, 0x3c, 0x47, 0x65, 0x25, 0x47, 0xf9, 0x2e, 0xca, 0x4a, 0x2e, - 0xf2, 0x9d, 0x93, 0x95, 0x9c, 0xe3, 0xbb, 0x25, 0x2b, 0xb9, 0xc5, 0x77, 0x48, 0x56, 0x72, 0x88, - 0xef, 0x8a, 0xac, 0xe4, 0x0a, 0xdf, 0x09, 0x2c, 0xc7, 0x0c, 0xd4, 0x8e, 0xc8, 0x31, 0xb5, 0x6f, - 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xed, 0x9b, 0x63, 0x6a, 0xdf, 0x1c, 0x53, 0xfb, 0xe6, 0x98, 0xda, - 0x37, 0xc7, 0xd4, 0xbe, 0x39, 0xa6, 0xf6, 0xcd, 0x31, 0xb5, 0x7f, 0x8e, 0xa9, 0x31, 0x39, 0xa6, - 0xc6, 0xe4, 0x98, 0x1a, 0x93, 0x63, 0x6a, 0x4c, 0x8e, 0xa9, 0x31, 0x39, 0xa6, 0xf6, 0xcc, 0x31, - 0xdf, 0xbd, 0x33, 0x41, 0xf7, 0x46, 0xe6, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, - 0xc8, 0x31, 0xb5, 0x47, 0x8e, 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, - 0x7b, 0xe5, 0x98, 0xda, 0x33, 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0xb5, 0x67, 0x8e, - 0xa9, 0x3d, 0x73, 0x4c, 0x15, 0x73, 0xec, 0x5f, 0xab, 0xa0, 0xd3, 0x1c, 0xdb, 0x26, 0xaf, 0x8c, - 0x31, 0x57, 0xcc, 0x49, 0x99, 0x36, 0x82, 0x5d, 0xa7, 0xf9, 0x2e, 0x99, 0x93, 0x72, 0x2d, 0x38, - 0xbf, 0xec, 0xcd, 0xf3, 0x6c, 0x0b, 0xce, 0x5f, 0xf1, 0xe6, 0x79, 0xbe, 0x05, 0xe7, 0x57, 0xbc, - 0x79, 0x9e, 0x71, 0xc1, 0xf9, 0xab, 0xde, 0x3c, 0xcf, 0xb9, 0xe0, 0xfc, 0x35, 0x6f, 0x9e, 0x67, - 0x5d, 0x70, 0xfe, 0xba, 0x37, 0xcf, 0xf3, 0x2e, 0x38, 0x7f, 0xc3, 0x9b, 0xe7, 0x99, 0x17, 0x9c, - 0xbf, 0xa9, 0x9f, 0x95, 0x73, 0x8f, 0x0b, 0x78, 0xae, 0x3d, 0x2b, 0x67, 0x9f, 0x24, 0x71, 0xd9, - 0x97, 0xe0, 0xf9, 0x27, 0x49, 0x2c, 0xfb, 0x12, 0x3c, 0x03, 0x25, 0x89, 0x2b, 0xb9, 0xcf, 0x10, - 0xf7, 0x59, 0xb2, 0xfb, 0x66, 0x25, 0xf7, 0x25, 0x04, 0xd7, 0xcd, 0x4a, 0xae, 0x4b, 0x08, 0x6e, - 0x9b, 0x95, 0xdc, 0x96, 0x10, 0x5c, 0x36, 0x2b, 0xb9, 0x2c, 0x21, 0xb8, 0x6b, 0x56, 0x72, 0x57, - 0x42, 0x70, 0xd5, 0xac, 0xe4, 0xaa, 0x84, 0xe0, 0xa6, 0x59, 0xc9, 0x4d, 0x09, 0xc1, 0x45, 0xb3, - 0x92, 0x8b, 0x12, 0x82, 0x7b, 0x66, 0x25, 0xf7, 0x24, 0x04, 0xd7, 0x9c, 0x91, 0x5d, 0x93, 0x10, - 0xdd, 0x72, 0x46, 0x76, 0x4b, 0x42, 0x74, 0xc9, 0x19, 0xd9, 0x25, 0x09, 0xd1, 0x1d, 0x67, 0x64, - 0x77, 0x24, 0x44, 0x57, 0xfc, 0x69, 0x82, 0x77, 0x84, 0x3b, 0x6e, 0xa7, 0x5b, 0x73, 0xdf, 0x53, - 0x47, 0x78, 0x29, 0xd0, 0x3e, 0xa4, 0x97, 0xf5, 0x25, 0xd2, 0xb0, 0x8a, 0x1d, 0xa7, 0xb4, 0x82, - 0x5d, 0x0a, 0x34, 0x16, 0x02, 0xc2, 0x8a, 0x46, 0xac, 0xbc, 0xa7, 0xde, 0xf0, 0x52, 0xa0, 0xcd, - 0x88, 0xd7, 0xef, 0xc6, 0x07, 0xde, 0xb1, 0xbd, 0x95, 0xe0, 0x1d, 0x1b, 0x33, 0xff, 0x49, 0x3b, - 0xb6, 0xc5, 0x78, 0x93, 0x7b, 0xc6, 0x5e, 0x8c, 0x37, 0x76, 0x68, 0xd5, 0x19, 0xb4, 0x83, 0x5b, - 0x8c, 0x37, 0xad, 0x67, 0xd4, 0xf7, 0xb7, 0xdf, 0x62, 0x11, 0x6c, 0xa0, 0x76, 0x44, 0x04, 0x9f, - 0xb4, 0xdf, 0xba, 0x14, 0x28, 0x25, 0x27, 0x8d, 0x60, 0xf5, 0xc4, 0x11, 0x7c, 0xd2, 0xce, 0xeb, - 0x52, 0xa0, 0xbc, 0x9c, 0x38, 0x82, 0x3f, 0x80, 0x7e, 0x88, 0x45, 0xb0, 0x6f, 0xfe, 0x93, 0xf6, - 0x43, 0x8b, 0xf1, 0x26, 0x8f, 0x8c, 0x60, 0xf5, 0x04, 0x11, 0x3c, 0x48, 0x7f, 0xb4, 0x18, 0x6f, - 0xda, 0xe8, 0x08, 0x7e, 0xcf, 0xdd, 0xcc, 0x97, 0x14, 0x98, 0xaa, 0x34, 0xea, 0xe5, 0xd6, 0x3e, - 0xaa, 0xd7, 0x51, 0x9d, 0xd9, 0xf1, 0x52, 0xa0, 0x12, 0xf4, 0x70, 0xf5, 0xb7, 0xdf, 0x9e, 0xf7, - 0x2d, 0x7c, 0x15, 0x52, 0xd4, 0xa6, 0x97, 0x2e, 0x65, 0xef, 0x29, 0x31, 0x15, 0xce, 0x13, 0xd5, - 0xcf, 0x71, 0xd8, 0xe5, 0x4b, 0xd9, 0xff, 0xa4, 0x08, 0x55, 0xce, 0x1b, 0xce, 0xfd, 0x32, 0xd1, - 0xd0, 0x7a, 0xcf, 0x1a, 0x5e, 0x1c, 0x48, 0x43, 0x41, 0xb7, 0x47, 0x42, 0xba, 0x09, 0x5a, 0x75, - 0x61, 0xb2, 0xd2, 0xa8, 0x57, 0xc8, 0x2f, 0x02, 0x0c, 0xa2, 0x12, 0x95, 0x91, 0xea, 0xc1, 0xa5, - 0x40, 0x58, 0x8a, 0x08, 0x2f, 0xa4, 0x83, 0x35, 0x22, 0xd7, 0xc0, 0xa7, 0xb5, 0x02, 0xa7, 0x5d, - 0xec, 0x75, 0x5a, 0xbf, 0xb2, 0x7b, 0x27, 0x5c, 0xec, 0x75, 0x42, 0x3f, 0x87, 0xbc, 0x53, 0xbd, - 0xc6, 0x17, 0x67, 0xfa, 0xe2, 0x96, 0x7e, 0x06, 0x12, 0xeb, 0xf4, 0xbd, 0xf2, 0x4c, 0x31, 0x83, - 0x95, 0xfa, 0xce, 0xdb, 0xf3, 0xc9, 0xbd, 0x6e, 0xa3, 0x6e, 0x24, 0xd6, 0xeb, 0xfa, 0x1d, 0x18, - 0xfe, 0x24, 0xfb, 0x5e, 0x2a, 0x16, 0x58, 0x61, 0x02, 0x1f, 0x8d, 0x79, 0xc4, 0x44, 0xa8, 0x97, - 0xf6, 0x1a, 0x96, 0x7b, 0x79, 0xf9, 0x86, 0x41, 0x29, 0x72, 0x7f, 0x0e, 0x80, 0x9e, 0x73, 0xd5, - 0x74, 0x8e, 0xf4, 0x0a, 0x67, 0xa6, 0xa7, 0xbe, 0xf1, 0x9d, 0xb7, 0xe7, 0x57, 0x06, 0x61, 0x7d, - 0xaa, 0x6e, 0x3a, 0x47, 0x4f, 0xb9, 0xc7, 0x6d, 0xb4, 0x54, 0x3c, 0x76, 0x91, 0xc3, 0xd9, 0xdb, - 0x7c, 0xd5, 0x63, 0xd7, 0x95, 0x15, 0xae, 0x2b, 0x15, 0xb8, 0xa6, 0xb5, 0xe0, 0x35, 0x5d, 0x7a, - 0xd0, 0xeb, 0x79, 0x8d, 0x2f, 0x12, 0x92, 0x25, 0xd5, 0x38, 0x4b, 0xaa, 0xef, 0xd5, 0x92, 0x6d, - 0x5e, 0x1f, 0xa5, 0x6b, 0x55, 0xfb, 0x5d, 0xab, 0xfa, 0x5e, 0xae, 0xf5, 0xff, 0xd1, 0x6c, 0xf5, - 0xf2, 0x69, 0xcf, 0xa2, 0xef, 0xb4, 0xfe, 0xd9, 0x7a, 0x16, 0xf4, 0xbe, 0x76, 0x01, 0xf9, 0xe4, - 0xbd, 0x37, 0xe7, 0x95, 0xdc, 0x97, 0x12, 0xfc, 0xca, 0x69, 0x22, 0x3d, 0xd8, 0x95, 0xff, 0x59, - 0xe9, 0xa9, 0x3e, 0x08, 0x0b, 0x7d, 0x51, 0x81, 0x99, 0x50, 0x25, 0xa7, 0x66, 0x7a, 0x7f, 0xcb, - 0xb9, 0x75, 0xd2, 0x72, 0xce, 0x14, 0xfc, 0x5d, 0x05, 0x4e, 0x49, 0xe5, 0x95, 0xaa, 0x77, 0x51, - 0x52, 0xef, 0xa1, 0xf0, 0x99, 0x88, 0xa0, 0xa0, 0x9d, 0xe8, 0x5e, 0x09, 0x20, 0x30, 0x7b, 0x7e, - 0x5f, 0x91, 0xfc, 0x7e, 0xc6, 0x03, 0x44, 0x98, 0x8b, 0x47, 0x00, 0x53, 0xdb, 0x86, 0xe4, 0x6e, - 0x07, 0x21, 0x7d, 0x0e, 0x12, 0x5b, 0x1d, 0xa6, 0xe1, 0x04, 0xc5, 0x6f, 0x75, 0x8a, 0x1d, 0xd3, - 0xaa, 0x1d, 0x19, 0x89, 0xad, 0x8e, 0x7e, 0x0e, 0xd4, 0x02, 0xfb, 0x4e, 0x7c, 0x7a, 0x79, 0x92, - 0x0a, 0x14, 0xac, 0x3a, 0x93, 0xc0, 0x73, 0xfa, 0x1c, 0x24, 0x37, 0x90, 0x79, 0xc0, 0x94, 0x00, - 0x2a, 0x83, 0x47, 0x0c, 0x32, 0xce, 0x4e, 0xf8, 0x02, 0xa4, 0x38, 0xb1, 0x7e, 0x1e, 0x23, 0x0e, - 0x5c, 0x76, 0x5a, 0x86, 0xc0, 0xea, 0xb0, 0x95, 0x8b, 0xcc, 0xea, 0x17, 0x60, 0xd8, 0x68, 0x1c, - 0x1e, 0xb9, 0xec, 0xe4, 0x61, 0x31, 0x3a, 0x9d, 0xbb, 0x0b, 0x63, 0x9e, 0x46, 0xef, 0x33, 0xf5, - 0x2a, 0xbd, 0x34, 0x7d, 0x56, 0x5c, 0x4f, 0xf8, 0x73, 0x4b, 0x3a, 0xa4, 0x9f, 0x85, 0xd4, 0x8e, - 0xdb, 0xf1, 0x8b, 0x3e, 0xef, 0x48, 0xbd, 0xd1, 0xdc, 0x2f, 0x28, 0x90, 0x5a, 0x45, 0xa8, 0x4d, - 0x0c, 0xfe, 0x38, 0x24, 0x57, 0xed, 0x57, 0x2d, 0xa6, 0xe0, 0x14, 0xb3, 0x28, 0x9e, 0x66, 0x36, - 0x25, 0xd3, 0xfa, 0xe3, 0xa2, 0xdd, 0xa7, 0x3d, 0xbb, 0x0b, 0x72, 0xc4, 0xf6, 0xb9, 0x80, 0xed, - 0x99, 0x03, 0xb1, 0x50, 0xc8, 0xfe, 0xd7, 0x21, 0x2d, 0x9c, 0x45, 0x5f, 0x60, 0x6a, 0x24, 0x64, - 0xa0, 0x68, 0x2b, 0x2c, 0x91, 0x43, 0x30, 0x1e, 0x38, 0x31, 0x86, 0x0a, 0x26, 0xee, 0x01, 0x25, - 0x66, 0x5e, 0x0c, 0x9a, 0x39, 0x5a, 0x94, 0x99, 0xfa, 0x12, 0xb5, 0x11, 0x31, 0xf7, 0x79, 0x1a, - 0x9c, 0xbd, 0x9d, 0x88, 0x3f, 0xe7, 0x86, 0x41, 0xad, 0x34, 0x9a, 0xb9, 0xa7, 0x01, 0x68, 0xca, - 0x97, 0xad, 0x6e, 0x4b, 0xca, 0xba, 0x09, 0x6e, 0xe0, 0xdd, 0x23, 0xb4, 0x8b, 0x1c, 0x22, 0x12, - 0xec, 0xa7, 0x70, 0x81, 0x01, 0x9a, 0x62, 0x04, 0xff, 0x64, 0x2c, 0x3e, 0xb2, 0x13, 0xc3, 0xa2, - 0x59, 0x2a, 0x7a, 0x17, 0xb9, 0x05, 0xcb, 0x76, 0x8f, 0x50, 0x47, 0x42, 0x2c, 0xeb, 0x57, 0x02, - 0x09, 0x3b, 0xb1, 0xfc, 0x88, 0x87, 0xe8, 0x09, 0xba, 0x92, 0xfb, 0x1a, 0x51, 0x10, 0xb7, 0x02, - 0xa1, 0x0b, 0x54, 0x07, 0xb8, 0x40, 0xfd, 0x5a, 0xa0, 0x7f, 0xeb, 0xa3, 0xa6, 0x74, 0x6b, 0x79, - 0x33, 0x70, 0x9f, 0xd3, 0x5f, 0xd9, 0xe0, 0x3d, 0x26, 0xb7, 0x29, 0x57, 0xf9, 0xc9, 0x58, 0x95, - 0x7b, 0x74, 0xb7, 0x27, 0xb5, 0xa9, 0x3a, 0xa8, 0x4d, 0xbf, 0xe9, 0x75, 0x1c, 0xf4, 0x87, 0x47, - 0xc8, 0x4f, 0xf6, 0xe8, 0x1f, 0x8d, 0xf5, 0x7d, 0x5e, 0x29, 0x79, 0xaa, 0xae, 0x0c, 0xea, 0xfe, - 0x7c, 0xa2, 0x58, 0xf4, 0xd4, 0xbd, 0x7e, 0x82, 0x10, 0xc8, 0x27, 0x4a, 0x25, 0xaf, 0x6c, 0xa7, - 0x3e, 0xf3, 0xe6, 0xbc, 0xf2, 0xd5, 0x37, 0xe7, 0x87, 0x72, 0xbf, 0xa9, 0xc0, 0x14, 0x93, 0x14, - 0x02, 0xf7, 0x29, 0x49, 0xf9, 0xd3, 0xbc, 0x66, 0x44, 0x59, 0xe0, 0xa7, 0x16, 0xbc, 0xdf, 0x52, - 0x20, 0x1b, 0xd2, 0x95, 0xdb, 0xfb, 0xd2, 0x40, 0x2a, 0xe7, 0x95, 0xf2, 0xcf, 0xde, 0xe6, 0x77, - 0x61, 0x78, 0xb7, 0xd1, 0x42, 0x1d, 0xbc, 0x12, 0xe0, 0x0f, 0x54, 0x65, 0xbe, 0x99, 0x43, 0x87, - 0xf8, 0x1c, 0x55, 0x2e, 0x30, 0xb7, 0xac, 0x67, 0x21, 0xb9, 0x6a, 0xba, 0x26, 0xd1, 0x20, 0xe3, - 0xd5, 0x57, 0xd3, 0x35, 0x73, 0x57, 0x20, 0xb3, 0x79, 0x4c, 0x5e, 0x44, 0xaa, 0x93, 0x77, 0x50, - 0x82, 0xdd, 0x1f, 0xef, 0x57, 0x2f, 0x2f, 0x0e, 0xa7, 0xea, 0xda, 0x3d, 0x25, 0x9f, 0x24, 0xfa, - 0xbc, 0x02, 0x13, 0x5b, 0x58, 0x6d, 0x82, 0x23, 0xb0, 0xb3, 0xa0, 0x6c, 0x06, 0x1b, 0x21, 0x91, - 0xd5, 0x50, 0x36, 0xa5, 0xf6, 0x51, 0xf5, 0xcc, 0x23, 0xb5, 0x6d, 0xaa, 0xd7, 0xb6, 0x2d, 0x26, - 0x53, 0x13, 0xda, 0xd4, 0x62, 0x32, 0x05, 0xda, 0x38, 0x3b, 0xef, 0x7f, 0x50, 0x41, 0xa3, 0xad, - 0xce, 0x2a, 0x3a, 0x68, 0x58, 0x0d, 0x37, 0xdc, 0xaf, 0x7a, 0x1a, 0xeb, 0xcf, 0xc2, 0x18, 0x36, - 0xe9, 0x1a, 0xfb, 0xe5, 0x3e, 0x6c, 0xfa, 0x73, 0xac, 0x45, 0x91, 0x28, 0xd8, 0x00, 0x09, 0x1d, - 0x1f, 0xa3, 0xaf, 0x81, 0x5a, 0xa9, 0x6c, 0xb2, 0xc5, 0x6d, 0xa5, 0x2f, 0x94, 0xbd, 0xec, 0xc3, - 0x8e, 0xd8, 0x98, 0x73, 0x68, 0x60, 0x02, 0x7d, 0x05, 0x12, 0x95, 0x4d, 0xd6, 0xf0, 0x9e, 0x1f, - 0x84, 0xc6, 0x48, 0x54, 0x36, 0x67, 0xff, 0x8d, 0x02, 0xe3, 0x81, 0x51, 0x3d, 0x07, 0x19, 0x3a, - 0x20, 0x5c, 0xee, 0x88, 0x11, 0x18, 0xe3, 0x3a, 0x27, 0xde, 0xa3, 0xce, 0xb3, 0x05, 0x98, 0x94, - 0xc6, 0xf5, 0x25, 0xd0, 0xc5, 0x21, 0xa6, 0x04, 0xfd, 0xd5, 0xb0, 0x88, 0x99, 0xdc, 0xa3, 0x00, - 0xbe, 0x5d, 0xbd, 0x1f, 0xbb, 0xaa, 0x94, 0x77, 0x76, 0xcb, 0xab, 0x9a, 0x92, 0xfb, 0x86, 0x02, - 0x69, 0xd6, 0xb6, 0xd6, 0xec, 0x36, 0xd2, 0x8b, 0xa0, 0x14, 0x58, 0x04, 0x3d, 0x98, 0xde, 0x4a, - 0x41, 0xbf, 0x08, 0x4a, 0x71, 0x70, 0x57, 0x2b, 0x45, 0x7d, 0x19, 0x94, 0x12, 0x73, 0xf0, 0x60, - 0x9e, 0x51, 0x4a, 0xb9, 0x3f, 0x51, 0x61, 0x5a, 0x6c, 0xa3, 0x79, 0x3d, 0x39, 0x17, 0xbc, 0x6f, - 0xca, 0x8f, 0x5d, 0x5e, 0xbe, 0xb2, 0xb2, 0x84, 0xff, 0xf1, 0x42, 0x32, 0x17, 0xbc, 0x85, 0xca, - 0x83, 0x27, 0x72, 0xb9, 0xd7, 0x7b, 0x22, 0xf9, 0xa4, 0xc0, 0x10, 0x7a, 0x4f, 0x24, 0x30, 0x1b, - 0x7a, 0x4f, 0x24, 0x30, 0x1b, 0x7a, 0x4f, 0x24, 0x30, 0x1b, 0xda, 0x0b, 0x08, 0xcc, 0x86, 0xde, - 0x13, 0x09, 0xcc, 0x86, 0xde, 0x13, 0x09, 0xcc, 0x86, 0xdf, 0x13, 0x61, 0xd3, 0x3d, 0xdf, 0x13, - 0x09, 0xce, 0x87, 0xdf, 0x13, 0x09, 0xce, 0x87, 0xdf, 0x13, 0xc9, 0x27, 0xdd, 0x4e, 0x17, 0xf5, - 0xde, 0x75, 0x08, 0xe2, 0xfb, 0xdd, 0x04, 0xfa, 0x15, 0x78, 0x0b, 0x26, 0xe9, 0x03, 0x89, 0x92, - 0x6d, 0xb9, 0x66, 0xc3, 0x42, 0x1d, 0xfd, 0x63, 0x90, 0xa1, 0x43, 0xf4, 0x36, 0x27, 0xea, 0x36, - 0x90, 0xce, 0xb3, 0x7a, 0x1b, 0x90, 0xce, 0xfd, 0x69, 0x12, 0x66, 0xe8, 0x40, 0xc5, 0x6c, 0xa1, - 0xc0, 0x5b, 0x46, 0x17, 0xa4, 0x3d, 0xa5, 0x09, 0x0c, 0xbf, 0xff, 0xf6, 0x3c, 0x1d, 0x2d, 0x78, - 0xd1, 0x74, 0x41, 0xda, 0x5d, 0x0a, 0xca, 0xf9, 0x0b, 0xd0, 0x05, 0xe9, 0xcd, 0xa3, 0xa0, 0x9c, - 0xb7, 0xde, 0x78, 0x72, 0xfc, 0x1d, 0xa4, 0xa0, 0xdc, 0xaa, 0x17, 0x65, 0x17, 0xa4, 0xb7, 0x91, - 0x82, 0x72, 0x65, 0x2f, 0xde, 0x2e, 0x48, 0x7b, 0x4f, 0x41, 0xb9, 0x35, 0x2f, 0xf2, 0x2e, 0x48, - 0xbb, 0x50, 0x41, 0xb9, 0xdb, 0x5e, 0x0c, 0x5e, 0x90, 0xde, 0x55, 0x0a, 0xca, 0x3d, 0xe7, 0x45, - 0xe3, 0x05, 0xe9, 0xad, 0xa5, 0xa0, 0xdc, 0xba, 0x17, 0x97, 0x0b, 0xf2, 0xfb, 0x4b, 0x41, 0xc1, - 0x3b, 0x7e, 0x84, 0x2e, 0xc8, 0x6f, 0x32, 0x05, 0x25, 0x3f, 0xee, 0xc7, 0xea, 0x82, 0xfc, 0x4e, - 0x53, 0x50, 0x72, 0xc3, 0x8f, 0xda, 0x05, 0x79, 0xaf, 0x2c, 0x28, 0xb9, 0xe9, 0xc7, 0xef, 0x82, - 0xbc, 0x6b, 0x16, 0x94, 0xac, 0xf8, 0x91, 0xbc, 0x20, 0xef, 0x9f, 0x05, 0x25, 0xb7, 0xfc, 0x87, - 0xe8, 0x7f, 0x20, 0x85, 0x9f, 0xf0, 0x16, 0x54, 0x4e, 0x0a, 0x3f, 0x88, 0x08, 0x3d, 0xa9, 0x90, - 0x09, 0x32, 0x7e, 0xd8, 0xe5, 0xa4, 0xb0, 0x83, 0x88, 0x90, 0xcb, 0x49, 0x21, 0x07, 0x11, 0xe1, - 0x96, 0x93, 0xc2, 0x0d, 0x22, 0x42, 0x2d, 0x27, 0x85, 0x1a, 0x44, 0x84, 0x59, 0x4e, 0x0a, 0x33, - 0x88, 0x08, 0xb1, 0x9c, 0x14, 0x62, 0x10, 0x11, 0x5e, 0x39, 0x29, 0xbc, 0x20, 0x22, 0xb4, 0xce, - 0xcb, 0xa1, 0x05, 0x51, 0x61, 0x75, 0x5e, 0x0e, 0x2b, 0x88, 0x0a, 0xa9, 0xc7, 0xe4, 0x90, 0x1a, - 0xbb, 0xff, 0xf6, 0xfc, 0x30, 0x1e, 0x12, 0xa2, 0xe9, 0xbc, 0x1c, 0x4d, 0x10, 0x15, 0x49, 0xe7, - 0xe5, 0x48, 0x82, 0xa8, 0x28, 0x3a, 0x2f, 0x47, 0x11, 0x44, 0x45, 0xd0, 0x5b, 0x72, 0x04, 0xf9, - 0xef, 0xf8, 0xe4, 0xa4, 0x2d, 0xc5, 0xb8, 0x08, 0x52, 0x07, 0x88, 0x20, 0x75, 0x80, 0x08, 0x52, - 0x07, 0x88, 0x20, 0x75, 0x80, 0x08, 0x52, 0x07, 0x88, 0x20, 0x75, 0x80, 0x08, 0x52, 0x07, 0x88, - 0x20, 0x75, 0x90, 0x08, 0x52, 0x07, 0x8a, 0x20, 0xb5, 0x57, 0x04, 0x9d, 0x97, 0xdf, 0x78, 0x80, - 0xa8, 0x82, 0x74, 0x5e, 0xde, 0xfa, 0x8c, 0x0f, 0x21, 0x75, 0xa0, 0x10, 0x52, 0x7b, 0x85, 0xd0, - 0x1f, 0xa8, 0x30, 0x1d, 0x08, 0x21, 0xb6, 0x3f, 0xf4, 0x7e, 0x55, 0xa0, 0x6b, 0x03, 0xbc, 0x60, - 0x11, 0x15, 0x53, 0xd7, 0x06, 0xd8, 0xa4, 0xee, 0x17, 0x67, 0xe1, 0x2a, 0x54, 0x1e, 0xa0, 0x0a, - 0xad, 0x79, 0x31, 0x74, 0x6d, 0x80, 0x17, 0x2f, 0xc2, 0xb1, 0x77, 0xa3, 0x5f, 0x11, 0x78, 0x6e, - 0xa0, 0x22, 0xb0, 0x3e, 0x50, 0x11, 0xb8, 0xe3, 0x7b, 0xf0, 0x17, 0x13, 0x70, 0xca, 0xf7, 0x20, - 0xfd, 0x44, 0x7e, 0x59, 0x2b, 0x27, 0x6c, 0x51, 0xe9, 0x7c, 0xdb, 0x46, 0x70, 0x63, 0x62, 0xbd, - 0xae, 0x6f, 0x07, 0x37, 0xab, 0xf2, 0x27, 0xdd, 0xc0, 0x11, 0x3c, 0xce, 0x1e, 0x86, 0x9e, 0x07, - 0x75, 0xbd, 0xee, 0x90, 0x6a, 0x11, 0x75, 0xda, 0x92, 0x81, 0xa7, 0x75, 0x03, 0x46, 0x88, 0xb8, - 0x43, 0xdc, 0xfb, 0x5e, 0x4e, 0xbc, 0x6a, 0x30, 0xa6, 0xdc, 0x5b, 0x0a, 0x9c, 0x0d, 0x84, 0xf2, - 0xfb, 0xb3, 0x65, 0x70, 0x6b, 0xa0, 0x2d, 0x83, 0x40, 0x82, 0xf8, 0xdb, 0x07, 0x4f, 0x84, 0x77, - 0xaa, 0xc5, 0x2c, 0x91, 0xb7, 0x12, 0xfe, 0x12, 0x4c, 0xf8, 0x57, 0x40, 0xee, 0xd9, 0xae, 0xc6, - 0x3f, 0xcd, 0x8c, 0x4a, 0xcd, 0xab, 0xd2, 0x53, 0xb4, 0xbe, 0x30, 0x2f, 0x5b, 0x73, 0x79, 0x98, - 0xac, 0x04, 0xbf, 0x12, 0x15, 0xf7, 0x30, 0x22, 0x85, 0x5b, 0xf3, 0x7b, 0x5f, 0x9e, 0x1f, 0xca, - 0x7d, 0x14, 0x32, 0xe2, 0xb7, 0x9e, 0x24, 0xe0, 0x18, 0x07, 0xe6, 0x93, 0xdf, 0xc6, 0xd2, 0xff, - 0x40, 0x81, 0xd3, 0xa2, 0xf8, 0xf3, 0x0d, 0xf7, 0x68, 0xdd, 0xc2, 0x3d, 0xfd, 0xd3, 0x90, 0x42, - 0xcc, 0x71, 0xec, 0x47, 0x72, 0xd8, 0x7d, 0x64, 0xa4, 0xf8, 0x12, 0xf9, 0xd7, 0xf0, 0x20, 0xd2, - 0x33, 0x0e, 0x7e, 0xda, 0xe5, 0xd9, 0xc7, 0x61, 0x98, 0xf2, 0x07, 0xf5, 0x1a, 0x97, 0xf4, 0xfa, - 0xf5, 0x08, 0xbd, 0x48, 0x1c, 0xe9, 0x77, 0x02, 0x7a, 0x09, 0xb7, 0xab, 0x91, 0xe2, 0x4b, 0x3c, - 0xf8, 0x8a, 0x29, 0xdc, 0xff, 0x91, 0x88, 0x8a, 0x57, 0x72, 0x01, 0x52, 0x65, 0x59, 0x26, 0x5a, - 0xcf, 0x55, 0x48, 0x56, 0xec, 0x3a, 0xf9, 0xf9, 0x1e, 0xf2, 0x7b, 0xd5, 0xcc, 0xc8, 0xec, 0xc7, - 0xab, 0x2f, 0x40, 0xaa, 0x74, 0xd4, 0x68, 0xd6, 0x3b, 0xc8, 0x62, 0x7b, 0xf6, 0xec, 0x11, 0x3a, - 0xc6, 0x18, 0xde, 0x5c, 0xae, 0x04, 0x53, 0x15, 0xdb, 0x2a, 0x1e, 0xbb, 0x62, 0xdd, 0x58, 0x92, - 0x52, 0x84, 0xed, 0xf9, 0x90, 0x6f, 0x89, 0x60, 0x81, 0xe2, 0xf0, 0x77, 0xde, 0x9e, 0x57, 0x76, - 0xbd, 0xe7, 0xe7, 0x9b, 0xf0, 0x10, 0x4b, 0x9f, 0x10, 0xd5, 0x72, 0x1c, 0xd5, 0x18, 0xdb, 0xa7, - 0x16, 0xe8, 0xd6, 0x31, 0x9d, 0x15, 0x49, 0xf7, 0x60, 0x9a, 0xe1, 0xa6, 0xa8, 0xaf, 0x66, 0xea, - 0x89, 0x34, 0x8b, 0xa4, 0x5b, 0x8a, 0xa3, 0x93, 0x34, 0x7b, 0x0c, 0xc6, 0xbc, 0x39, 0x21, 0x1a, - 0xc4, 0x4c, 0x59, 0x5e, 0xcc, 0x41, 0x5a, 0x48, 0x58, 0x7d, 0x18, 0x94, 0x82, 0x36, 0x84, 0xff, - 0x2b, 0x6a, 0x0a, 0xfe, 0xaf, 0xa4, 0x25, 0x16, 0x1f, 0x87, 0x49, 0xe9, 0xf9, 0x25, 0x9e, 0x59, - 0xd5, 0x00, 0xff, 0x57, 0xd6, 0xd2, 0xb3, 0xc9, 0xcf, 0xfc, 0xda, 0xdc, 0xd0, 0xe2, 0x2d, 0xd0, - 0xc3, 0x4f, 0x3a, 0xf5, 0x11, 0x48, 0x14, 0x30, 0xe5, 0x43, 0x90, 0x28, 0x16, 0x35, 0x65, 0x76, - 0xf2, 0xaf, 0x7f, 0xe1, 0x6c, 0xba, 0x48, 0xbe, 0xd2, 0x7d, 0x17, 0xb9, 0xc5, 0x22, 0x03, 0x3f, - 0x03, 0xa7, 0x23, 0x9f, 0x94, 0x62, 0x7c, 0xa9, 0x44, 0xf1, 0xab, 0xab, 0x21, 0xfc, 0xea, 0x2a, - 0xc1, 0x2b, 0x79, 0xbe, 0xe3, 0x5c, 0xd0, 0x23, 0x9e, 0x4b, 0x66, 0xeb, 0xc2, 0x0e, 0x77, 0x21, - 0xff, 0x0c, 0x93, 0x2d, 0x46, 0xca, 0xa2, 0x98, 0x1d, 0xeb, 0x62, 0xbe, 0xc4, 0xf0, 0xa5, 0x48, - 0xfc, 0x81, 0xb4, 0xad, 0x1a, 0x5c, 0x21, 0x18, 0x49, 0xc9, 0x53, 0x78, 0x35, 0x92, 0xe4, 0x48, - 0x78, 0xd9, 0x7d, 0xd5, 0x53, 0xb8, 0x1c, 0x29, 0xdb, 0x88, 0x79, 0xe9, 0xab, 0x9c, 0xbf, 0xc8, - 0x16, 0xf9, 0xc2, 0x65, 0xfd, 0x34, 0xcf, 0xd1, 0x40, 0x05, 0x66, 0x06, 0xe2, 0x52, 0xf9, 0x12, - 0x03, 0x14, 0x7b, 0x02, 0x7a, 0x5b, 0x89, 0x23, 0xf3, 0xcf, 0x31, 0x92, 0x52, 0x4f, 0x92, 0x18, - 0x53, 0x71, 0x78, 0x71, 0xf7, 0xde, 0x3b, 0x73, 0x43, 0xdf, 0x7e, 0x67, 0x6e, 0xe8, 0xbf, 0xbc, - 0x33, 0x37, 0xf4, 0xdd, 0x77, 0xe6, 0x94, 0x1f, 0xbc, 0x33, 0xa7, 0xfc, 0xe8, 0x9d, 0x39, 0xe5, - 0xc7, 0xef, 0xcc, 0x29, 0x6f, 0xdc, 0x9f, 0x53, 0xbe, 0x7a, 0x7f, 0x4e, 0xf9, 0xda, 0xfd, 0x39, - 0xe5, 0xf7, 0xee, 0xcf, 0x29, 0x6f, 0xdd, 0x9f, 0x53, 0xee, 0xdd, 0x9f, 0x53, 0xbe, 0x7d, 0x7f, - 0x4e, 0xf9, 0xee, 0xfd, 0x39, 0xe5, 0x07, 0xf7, 0xe7, 0x86, 0x7e, 0x74, 0x7f, 0x4e, 0xf9, 0xf1, - 0xfd, 0xb9, 0xa1, 0x37, 0xbe, 0x37, 0x37, 0xf4, 0xe6, 0xf7, 0xe6, 0x86, 0xbe, 0xfa, 0xbd, 0x39, - 0x05, 0xfe, 0x68, 0x05, 0x72, 0xec, 0x9b, 0x64, 0xc2, 0x97, 0x86, 0x2f, 0xba, 0x47, 0x88, 0x34, - 0x05, 0x57, 0xf8, 0xaf, 0x80, 0x79, 0x03, 0x27, 0xfc, 0x5e, 0xd9, 0xec, 0x83, 0x7e, 0x8b, 0x2d, - 0xf7, 0x6f, 0x87, 0x61, 0x94, 0x3f, 0x0d, 0x8e, 0xfa, 0x49, 0xf3, 0xab, 0x90, 0x3a, 0x6a, 0x34, - 0xcd, 0x4e, 0xc3, 0x3d, 0x66, 0x8f, 0x41, 0x1f, 0x5e, 0xf2, 0xd5, 0xe6, 0x0f, 0x4e, 0x9f, 0xeb, - 0xb6, 0xec, 0x6e, 0xc7, 0xf0, 0x44, 0xf5, 0xb3, 0x90, 0x39, 0x42, 0x8d, 0xc3, 0x23, 0xb7, 0xda, - 0xb0, 0xaa, 0xb5, 0x16, 0xe9, 0x96, 0xc7, 0x0d, 0xa0, 0x63, 0xeb, 0x56, 0xa9, 0x85, 0x4f, 0x56, - 0x37, 0x5d, 0x93, 0xdc, 0xa5, 0x67, 0x0c, 0xf2, 0x59, 0x3f, 0x07, 0x99, 0x0e, 0x72, 0xba, 0x4d, - 0xb7, 0x5a, 0xb3, 0xbb, 0x96, 0x4b, 0xfa, 0x59, 0xd5, 0x48, 0xd3, 0xb1, 0x12, 0x1e, 0xd2, 0x1f, - 0x83, 0x71, 0xb7, 0xd3, 0x45, 0x55, 0xa7, 0x66, 0xbb, 0x4e, 0xcb, 0xb4, 0x48, 0x3f, 0x9b, 0x32, - 0x32, 0x78, 0x70, 0x87, 0x8d, 0x91, 0x5f, 0xc3, 0xaf, 0xd9, 0x1d, 0x44, 0x6e, 0xa7, 0x13, 0x06, - 0x3d, 0xd0, 0x35, 0x50, 0x5f, 0x46, 0xc7, 0xe4, 0x86, 0x2d, 0x69, 0xe0, 0x8f, 0xfa, 0x93, 0x30, - 0x42, 0xff, 0x9c, 0x0d, 0xe9, 0xae, 0xc9, 0xe6, 0xb5, 0x77, 0x69, 0xf4, 0x21, 0xad, 0xc1, 0x04, - 0xf4, 0x9b, 0x30, 0xea, 0xa2, 0x4e, 0xc7, 0x6c, 0x58, 0xe4, 0xe6, 0x29, 0xbd, 0x3c, 0x1f, 0x61, - 0x86, 0x5d, 0x2a, 0x41, 0x7e, 0x15, 0xd8, 0xe0, 0xf2, 0xfa, 0x55, 0xc8, 0x10, 0xb9, 0xe5, 0x2a, - 0xfd, 0x93, 0x3f, 0xe9, 0x9e, 0xf1, 0x9c, 0xa6, 0x72, 0x7c, 0xaf, 0x80, 0xc3, 0xe8, 0x2f, 0x22, - 0x8e, 0x93, 0xd3, 0x3e, 0x16, 0x71, 0x5a, 0x52, 0x7a, 0x97, 0x49, 0xdb, 0x48, 0x4f, 0xcd, 0x78, - 0xe8, 0x6f, 0x26, 0x6e, 0x42, 0x46, 0xd4, 0x8b, 0x9b, 0x81, 0xb6, 0x3f, 0xc4, 0x0c, 0x4f, 0xf8, - 0x7f, 0x4e, 0xa1, 0x87, 0x15, 0xe8, 0x7c, 0x3e, 0x71, 0x43, 0x99, 0xdd, 0x06, 0x4d, 0x3e, 0x5f, - 0x04, 0xe5, 0x85, 0x20, 0xa5, 0x26, 0x5e, 0x2c, 0x79, 0x52, 0xee, 0x33, 0xe6, 0x9e, 0x85, 0x11, - 0x1a, 0x3f, 0x7a, 0x1a, 0x46, 0xfd, 0x1f, 0xdb, 0x4c, 0x41, 0x72, 0x7b, 0xaf, 0xb2, 0x43, 0x7f, - 0x35, 0x77, 0x67, 0xa3, 0xb0, 0xbd, 0xb3, 0xbb, 0x5e, 0xfa, 0xb8, 0x96, 0xd0, 0x27, 0x21, 0x5d, - 0x5c, 0xdf, 0xd8, 0xa8, 0x16, 0x0b, 0xeb, 0x1b, 0xe5, 0xbb, 0x9a, 0x9a, 0x9b, 0x83, 0x11, 0xaa, - 0x27, 0xf9, 0xf5, 0xbf, 0xae, 0x65, 0x1d, 0xf3, 0xf6, 0x81, 0x1c, 0xe4, 0xbe, 0xae, 0xc3, 0x68, - 0xa1, 0xd9, 0xdc, 0x34, 0xdb, 0x8e, 0xfe, 0x3c, 0x4c, 0xd1, 0xdf, 0xe5, 0xd8, 0xb5, 0x57, 0xc9, - 0x8f, 0x54, 0xe2, 0xe2, 0xa0, 0xb0, 0x3f, 0x23, 0xe1, 0x5f, 0x37, 0x13, 0x5f, 0x0a, 0xc9, 0x52, - 0x03, 0x87, 0x39, 0xf4, 0x5d, 0xd0, 0xf8, 0xe0, 0x5a, 0xd3, 0x36, 0x5d, 0xcc, 0x9b, 0x60, 0xbf, - 0x21, 0xd9, 0x9b, 0x97, 0x8b, 0x52, 0xda, 0x10, 0x83, 0xfe, 0x31, 0x48, 0xad, 0x5b, 0xee, 0x95, - 0x65, 0xcc, 0xc6, 0xff, 0x44, 0x53, 0x98, 0x8d, 0x8b, 0x50, 0x16, 0x0f, 0xc1, 0xd0, 0xd7, 0x56, - 0x30, 0x3a, 0xd9, 0x0f, 0x4d, 0x44, 0x7c, 0x34, 0x39, 0xd4, 0x9f, 0x85, 0x31, 0x7c, 0x77, 0x42, - 0x4f, 0x3e, 0xcc, 0x5b, 0xd7, 0x10, 0xdc, 0x93, 0xa1, 0x78, 0x1f, 0xc3, 0x09, 0xe8, 0xf9, 0x47, - 0xfa, 0x12, 0x08, 0x0a, 0xf8, 0x18, 0x4c, 0xb0, 0xe3, 0x69, 0x30, 0xda, 0x93, 0x60, 0x47, 0xd2, - 0x60, 0x47, 0xd4, 0x60, 0xc7, 0xd3, 0x20, 0xd5, 0x97, 0x40, 0xd4, 0xc0, 0x3b, 0xd6, 0x8b, 0x00, - 0x6b, 0x8d, 0xd7, 0x50, 0x9d, 0xaa, 0x40, 0xff, 0x80, 0x53, 0x2e, 0x82, 0xc1, 0x17, 0xa2, 0x14, - 0x02, 0x4a, 0x2f, 0x43, 0x7a, 0xe7, 0xc0, 0x27, 0x81, 0x50, 0x1e, 0x7b, 0x6a, 0x1c, 0x48, 0x2c, - 0x22, 0xce, 0x53, 0x85, 0x5e, 0x4c, 0xba, 0xbf, 0x2a, 0xc2, 0xd5, 0x08, 0x28, 0x5f, 0x15, 0x4a, - 0x92, 0x89, 0x51, 0x45, 0x60, 0x11, 0x71, 0xb8, 0x18, 0x16, 0x6d, 0x1b, 0x4b, 0xb2, 0xaa, 0x34, - 0x1f, 0x41, 0xc1, 0x24, 0x58, 0x31, 0x64, 0x47, 0xc4, 0x23, 0x24, 0xc8, 0x31, 0x78, 0xa2, 0xb7, - 0x47, 0xb8, 0x0c, 0xf7, 0x08, 0x3f, 0x16, 0xf3, 0x8c, 0xbc, 0xd1, 0x8a, 0x79, 0x26, 0x63, 0xf3, - 0x8c, 0x8b, 0x4a, 0x79, 0xc6, 0x87, 0xf5, 0x4f, 0xc0, 0x24, 0x1f, 0xc3, 0xe5, 0x09, 0x93, 0x6a, - 0xec, 0x4f, 0xdc, 0xf5, 0x26, 0x65, 0x92, 0x94, 0x53, 0xc6, 0xeb, 0x15, 0x98, 0xe0, 0x43, 0x9b, - 0x0e, 0xb9, 0xdc, 0x29, 0xf6, 0xd7, 0x4b, 0x7a, 0x33, 0x52, 0x41, 0x4a, 0x28, 0xa1, 0x67, 0x57, - 0x61, 0x26, 0xba, 0x1a, 0x89, 0xe5, 0x77, 0x8c, 0x96, 0xdf, 0x53, 0x62, 0xf9, 0x55, 0xc4, 0xf2, - 0x5d, 0x82, 0xd3, 0x91, 0xb5, 0x27, 0x8e, 0x24, 0x21, 0x92, 0xdc, 0x82, 0xf1, 0x40, 0xc9, 0x11, - 0xc1, 0xc3, 0x11, 0xe0, 0xe1, 0x30, 0xd8, 0x0f, 0xad, 0x88, 0xd5, 0x23, 0x00, 0x56, 0x45, 0xf0, - 0xc7, 0x60, 0x22, 0x58, 0x6f, 0x44, 0xf4, 0x78, 0x04, 0x7a, 0x3c, 0x02, 0x1d, 0x7d, 0xee, 0x64, - 0x04, 0x3a, 0x29, 0xa1, 0x77, 0x7a, 0x9e, 0x7b, 0x2a, 0x02, 0x3d, 0x15, 0x81, 0x8e, 0x3e, 0xb7, - 0x1e, 0x81, 0xd6, 0x45, 0xf4, 0xd3, 0x30, 0x29, 0x95, 0x18, 0x11, 0x3e, 0x1a, 0x01, 0x1f, 0x15, - 0xe1, 0xcf, 0x80, 0x26, 0x17, 0x17, 0x11, 0x3f, 0x19, 0x81, 0x9f, 0x8c, 0x3a, 0x7d, 0xb4, 0xf6, - 0x23, 0x11, 0xf0, 0x91, 0xc8, 0xd3, 0x47, 0xe3, 0xb5, 0x08, 0xbc, 0x26, 0xe2, 0xf3, 0x90, 0x11, - 0xab, 0x89, 0x88, 0x4d, 0x45, 0x60, 0x53, 0xb2, 0xdd, 0x03, 0xc5, 0x24, 0x2e, 0xd2, 0xc7, 0x7a, - 0xa4, 0x4b, 0xa0, 0x84, 0xc4, 0x91, 0x64, 0x44, 0x92, 0x4f, 0xc2, 0xa9, 0xa8, 0x92, 0x11, 0xc1, - 0xb1, 0x20, 0x72, 0x4c, 0xe0, 0x1e, 0xd1, 0x6f, 0xf6, 0xcc, 0xb6, 0xd4, 0x38, 0xcd, 0xbe, 0x08, - 0xd3, 0x11, 0x85, 0x23, 0x82, 0x76, 0x29, 0xd8, 0x8d, 0x65, 0x05, 0x5a, 0x52, 0x04, 0x1a, 0xd6, - 0xe1, 0xb6, 0xdd, 0xb0, 0x5c, 0xb1, 0x2b, 0xfb, 0xc6, 0x34, 0x4c, 0xb0, 0xf2, 0xb4, 0xd5, 0xa9, - 0xa3, 0x0e, 0xaa, 0xeb, 0x7f, 0xa1, 0x77, 0xef, 0x74, 0x29, 0x5c, 0xd4, 0x18, 0xea, 0x04, 0x2d, - 0xd4, 0x8b, 0x3d, 0x5b, 0xa8, 0x8b, 0xf1, 0xf4, 0x71, 0x9d, 0x54, 0x29, 0xd4, 0x49, 0x3d, 0xd1, - 0x9b, 0xb4, 0x57, 0x43, 0x55, 0x0a, 0x35, 0x54, 0xfd, 0x49, 0x22, 0xfb, 0xaa, 0xb5, 0x70, 0x5f, - 0xb5, 0xd0, 0x9b, 0xa5, 0x77, 0x7b, 0xb5, 0x16, 0x6e, 0xaf, 0x62, 0x78, 0xa2, 0xbb, 0xac, 0xb5, - 0x70, 0x97, 0xd5, 0x87, 0xa7, 0x77, 0xb3, 0xb5, 0x16, 0x6e, 0xb6, 0x62, 0x78, 0xa2, 0x7b, 0xae, - 0xf5, 0x88, 0x9e, 0xeb, 0xc9, 0xde, 0x44, 0xfd, 0x5a, 0xaf, 0x8d, 0xa8, 0xd6, 0x6b, 0xb1, 0x8f, - 0x52, 0x7d, 0x3b, 0xb0, 0xf5, 0x88, 0x0e, 0x2c, 0x4e, 0xb1, 0x1e, 0x8d, 0xd8, 0x46, 0x54, 0x23, - 0x16, 0xab, 0x58, 0xaf, 0x7e, 0xec, 0xe7, 0xe4, 0x7e, 0xec, 0x42, 0x6f, 0xa6, 0xe8, 0xb6, 0x6c, - 0x2d, 0xdc, 0x96, 0x2d, 0xc4, 0xe5, 0x5c, 0x54, 0x77, 0xf6, 0x62, 0xcf, 0xee, 0x6c, 0x80, 0x14, - 0x8e, 0x6b, 0xd2, 0x5e, 0xe8, 0xd5, 0xa4, 0x2d, 0xc5, 0x73, 0xf7, 0xef, 0xd5, 0xf6, 0x7a, 0xf4, - 0x6a, 0x4f, 0xc5, 0x13, 0x7f, 0xd8, 0xb2, 0x7d, 0xd8, 0xb2, 0x7d, 0xd8, 0xb2, 0x7d, 0xd8, 0xb2, - 0xfd, 0xec, 0x5b, 0xb6, 0x7c, 0xf2, 0xb3, 0x5f, 0x9e, 0x57, 0x72, 0xff, 0x59, 0xf5, 0xfe, 0xe0, - 0xda, 0xf3, 0x0d, 0xf7, 0x08, 0x97, 0xb7, 0x4d, 0xc8, 0x90, 0x1f, 0x00, 0x6e, 0x99, 0xed, 0x76, - 0xc3, 0x3a, 0x64, 0x3d, 0xdb, 0x62, 0xf8, 0x51, 0x22, 0x03, 0x90, 0x3f, 0x36, 0xb3, 0x49, 0x85, - 0xd9, 0x72, 0x63, 0xf9, 0x23, 0xfa, 0x1d, 0x48, 0xb7, 0x9c, 0x43, 0x8f, 0x2d, 0x11, 0x5a, 0x08, - 0x25, 0x36, 0x7a, 0xa5, 0x3e, 0x19, 0xb4, 0xbc, 0x01, 0xac, 0xda, 0xfe, 0xb1, 0xeb, 0xab, 0xa6, - 0xc6, 0xa9, 0x86, 0x7d, 0x1a, 0x54, 0x6d, 0xdf, 0x1f, 0xc1, 0x61, 0x2b, 0xeb, 0x1e, 0x57, 0xe9, - 0x02, 0xc1, 0xf3, 0x3c, 0x4c, 0x4a, 0xda, 0x46, 0xe4, 0xfc, 0x03, 0xf8, 0x06, 0x2b, 0x26, 0x6b, - 0x1e, 0x97, 0x13, 0x62, 0x40, 0xe6, 0x1e, 0x85, 0xf1, 0x00, 0xb7, 0x9e, 0x01, 0xe5, 0x80, 0x7d, - 0x9d, 0x52, 0x39, 0xc8, 0x7d, 0x49, 0x81, 0x34, 0x7b, 0x95, 0x60, 0xdb, 0x6c, 0x74, 0xf4, 0xe7, - 0x20, 0xd9, 0xe4, 0x5f, 0x69, 0x7a, 0xd0, 0xaf, 0xcf, 0x12, 0x06, 0x7d, 0x0d, 0x86, 0x3b, 0xde, - 0x57, 0x9e, 0x1e, 0xe8, 0x3b, 0xb1, 0x04, 0x9e, 0xbb, 0xa7, 0xc0, 0x14, 0x7b, 0xd3, 0xd5, 0x61, - 0x2f, 0x40, 0x9b, 0xed, 0xd9, 0xaf, 0x2b, 0x30, 0xe6, 0x1d, 0xe9, 0xfb, 0x30, 0xe1, 0x1d, 0xd0, - 0x97, 0xec, 0x69, 0xa4, 0xe6, 0x05, 0x0b, 0x87, 0x38, 0x96, 0x22, 0x3e, 0xd1, 0xcd, 0x28, 0xba, - 0x26, 0x07, 0x07, 0x67, 0x0b, 0x30, 0x1d, 0x21, 0x76, 0x92, 0x05, 0x39, 0x77, 0x0e, 0xc6, 0x2a, - 0xb6, 0x4b, 0x7f, 0x39, 0x47, 0x3f, 0x25, 0xec, 0x2a, 0x14, 0x13, 0xda, 0x10, 0x01, 0x2f, 0x9e, - 0x83, 0x51, 0x96, 0xfd, 0xfa, 0x08, 0x24, 0x36, 0x0b, 0xda, 0x10, 0xf9, 0xbf, 0xa8, 0x29, 0xe4, - 0xff, 0x92, 0x96, 0x28, 0x6e, 0x3c, 0xc0, 0x4e, 0xd3, 0x50, 0xaf, 0x9d, 0xa6, 0xfd, 0x11, 0x6a, - 0x9e, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x88, 0xd5, 0x59, 0xc4, 0x6d, 0x83, 0x00, 0x00, + 0x74, 0x43, 0x12, 0x55, 0xa9, 0x94, 0xb2, 0x4e, 0x36, 0xde, 0xdc, 0x93, 0x4d, 0x2a, 0x5e, 0xc7, + 0x17, 0x79, 0xb7, 0x76, 0xed, 0xdd, 0xdc, 0xbc, 0xce, 0xc6, 0xd9, 0x75, 0x52, 0x59, 0xe5, 0xc1, + 0xc9, 0xe4, 0x25, 0xe5, 0x4d, 0x5e, 0x52, 0xae, 0x94, 0xca, 0x1a, 0x3b, 0xb5, 0x4e, 0xe2, 0x24, + 0xce, 0x46, 0x55, 0x71, 0x95, 0xf7, 0x61, 0xeb, 0xdc, 0xba, 0x4f, 0x1f, 0x34, 0xd0, 0xe0, 0x48, + 0xb2, 0xf7, 0xc1, 0x2f, 0x33, 0xe8, 0x73, 0xfe, 0xef, 0xeb, 0xbf, 0xff, 0xcb, 0x39, 0x7f, 0x9f, + 0x73, 0x00, 0xc2, 0xbd, 0x3c, 0x9c, 0x3d, 0xb4, 0xed, 0xc3, 0x26, 0xba, 0xd8, 0xee, 0xd8, 0xae, + 0xbd, 0xdf, 0x3d, 0xb8, 0x58, 0x47, 0x4e, 0xad, 0xd3, 0x68, 0xbb, 0x76, 0x67, 0x89, 0xb4, 0xe9, + 0x93, 0x54, 0x62, 0x89, 0x4b, 0xe4, 0x36, 0x61, 0x6a, 0xad, 0xd1, 0x44, 0xab, 0x9e, 0xe0, 0x0e, + 0x72, 0xf5, 0x1b, 0x10, 0x3f, 0x68, 0x34, 0x51, 0x56, 0x39, 0xab, 0x2e, 0xa4, 0x97, 0xcf, 0x2f, + 0x49, 0xa0, 0xa5, 0x20, 0x62, 0x1b, 0x37, 0x1b, 0x04, 0x91, 0xfb, 0x5e, 0x1c, 0xa6, 0x43, 0x7a, + 0x75, 0x1d, 0xe2, 0x96, 0xd9, 0xc2, 0x8c, 0xca, 0x42, 0xca, 0x20, 0x9f, 0xf5, 0x2c, 0x8c, 0xb5, + 0xcd, 0xda, 0x2b, 0xe6, 0x21, 0xca, 0xc6, 0x48, 0x33, 0xbf, 0xd4, 0xe7, 0x00, 0xea, 0xa8, 0x8d, + 0xac, 0x3a, 0xb2, 0x6a, 0xc7, 0x59, 0xf5, 0xac, 0xba, 0x90, 0x32, 0x84, 0x16, 0xfd, 0x23, 0x30, + 0xd5, 0xee, 0xee, 0x37, 0x1b, 0xb5, 0xaa, 0x20, 0x06, 0x67, 0xd5, 0x85, 0x84, 0xa1, 0xd1, 0x8e, + 0x55, 0x5f, 0xf8, 0x09, 0x98, 0x7c, 0x0d, 0x99, 0xaf, 0x88, 0xa2, 0x69, 0x22, 0x3a, 0x81, 0x9b, + 0x05, 0xc1, 0x12, 0x64, 0x5a, 0xc8, 0x71, 0xcc, 0x43, 0x54, 0x75, 0x8f, 0xdb, 0x28, 0x1b, 0x27, + 0x4f, 0x7f, 0xb6, 0xe7, 0xe9, 0xe5, 0x27, 0x4f, 0x33, 0xd4, 0xee, 0x71, 0x1b, 0xe9, 0x05, 0x48, + 0x21, 0xab, 0xdb, 0xa2, 0x0c, 0x89, 0x3e, 0xf6, 0x2b, 0x5b, 0xdd, 0x96, 0xcc, 0x92, 0xc4, 0x30, + 0x46, 0x31, 0xe6, 0xa0, 0xce, 0xab, 0x8d, 0x1a, 0xca, 0x8e, 0x12, 0x82, 0x27, 0x7a, 0x08, 0x76, + 0x68, 0xbf, 0xcc, 0xc1, 0x71, 0x7a, 0x09, 0x52, 0xe8, 0x75, 0x17, 0x59, 0x4e, 0xc3, 0xb6, 0xb2, + 0x63, 0x84, 0xe4, 0xf1, 0x10, 0x2f, 0xa2, 0x66, 0x5d, 0xa6, 0xf0, 0x71, 0xfa, 0x35, 0x18, 0xb3, + 0xdb, 0x6e, 0xc3, 0xb6, 0x9c, 0x6c, 0xf2, 0xac, 0xb2, 0x90, 0x5e, 0x3e, 0x13, 0x1a, 0x08, 0x5b, + 0x54, 0xc6, 0xe0, 0xc2, 0xfa, 0x3a, 0x68, 0x8e, 0xdd, 0xed, 0xd4, 0x50, 0xb5, 0x66, 0xd7, 0x51, + 0xb5, 0x61, 0x1d, 0xd8, 0xd9, 0x14, 0x21, 0x98, 0xef, 0x7d, 0x10, 0x22, 0x58, 0xb2, 0xeb, 0x68, + 0xdd, 0x3a, 0xb0, 0x8d, 0x09, 0x27, 0x70, 0xad, 0xcf, 0xc0, 0xa8, 0x73, 0x6c, 0xb9, 0xe6, 0xeb, + 0xd9, 0x0c, 0x89, 0x10, 0x76, 0x95, 0xfb, 0xbd, 0x51, 0x98, 0x1c, 0x26, 0xc4, 0x6e, 0x41, 0xe2, + 0x00, 0x3f, 0x65, 0x36, 0x76, 0x12, 0x1b, 0x50, 0x4c, 0xd0, 0x88, 0xa3, 0x0f, 0x68, 0xc4, 0x02, + 0xa4, 0x2d, 0xe4, 0xb8, 0xa8, 0x4e, 0x23, 0x42, 0x1d, 0x32, 0xa6, 0x80, 0x82, 0x7a, 0x43, 0x2a, + 0xfe, 0x40, 0x21, 0xf5, 0x22, 0x4c, 0x7a, 0x2a, 0x55, 0x3b, 0xa6, 0x75, 0xc8, 0x63, 0xf3, 0x62, + 0x94, 0x26, 0x4b, 0x65, 0x8e, 0x33, 0x30, 0xcc, 0x98, 0x40, 0x81, 0x6b, 0x7d, 0x15, 0xc0, 0xb6, + 0x90, 0x7d, 0x50, 0xad, 0xa3, 0x5a, 0x33, 0x9b, 0xec, 0x63, 0xa5, 0x2d, 0x2c, 0xd2, 0x63, 0x25, + 0x9b, 0xb6, 0xd6, 0x9a, 0xfa, 0x4d, 0x3f, 0xd4, 0xc6, 0xfa, 0x44, 0xca, 0x26, 0x4d, 0xb2, 0x9e, + 0x68, 0xdb, 0x83, 0x89, 0x0e, 0xc2, 0x71, 0x8f, 0xea, 0xec, 0xc9, 0x52, 0x44, 0x89, 0xa5, 0xc8, + 0x27, 0x33, 0x18, 0x8c, 0x3e, 0xd8, 0x78, 0x47, 0xbc, 0xd4, 0x1f, 0x03, 0xaf, 0xa1, 0x4a, 0xc2, + 0x0a, 0xc8, 0x28, 0x94, 0xe1, 0x8d, 0x15, 0xb3, 0x85, 0x66, 0xdf, 0x80, 0x89, 0xa0, 0x79, 0xf4, + 0x53, 0x90, 0x70, 0x5c, 0xb3, 0xe3, 0x92, 0x28, 0x4c, 0x18, 0xf4, 0x42, 0xd7, 0x40, 0x45, 0x56, + 0x9d, 0x8c, 0x72, 0x09, 0x03, 0x7f, 0xd4, 0x7f, 0xce, 0x7f, 0x60, 0x95, 0x3c, 0xf0, 0x85, 0x5e, + 0x8f, 0x06, 0x98, 0xe5, 0xe7, 0x9e, 0xbd, 0x0e, 0xe3, 0x81, 0x07, 0x18, 0xf6, 0xd6, 0xb9, 0x3f, + 0x0f, 0xa7, 0x43, 0xa9, 0xf5, 0x17, 0xe1, 0x54, 0xd7, 0x6a, 0x58, 0x2e, 0xea, 0xb4, 0x3b, 0x08, + 0x47, 0x2c, 0xbd, 0x55, 0xf6, 0x0f, 0xc7, 0xfa, 0xc4, 0xdc, 0x9e, 0x28, 0x4d, 0x59, 0x8c, 0xe9, + 0x6e, 0x6f, 0xe3, 0x62, 0x2a, 0xf9, 0xfd, 0x31, 0xed, 0xcd, 0x37, 0xdf, 0x7c, 0x33, 0x96, 0xfb, + 0xcc, 0x28, 0x9c, 0x0a, 0xcb, 0x99, 0xd0, 0xf4, 0x9d, 0x81, 0x51, 0xab, 0xdb, 0xda, 0x47, 0x1d, + 0x62, 0xa4, 0x84, 0xc1, 0xae, 0xf4, 0x02, 0x24, 0x9a, 0xe6, 0x3e, 0x6a, 0x66, 0xe3, 0x67, 0x95, + 0x85, 0x89, 0xe5, 0x8f, 0x0c, 0x95, 0x95, 0x4b, 0x1b, 0x18, 0x62, 0x50, 0xa4, 0xfe, 0x2c, 0xc4, + 0xd9, 0x10, 0x8d, 0x19, 0x16, 0x87, 0x63, 0xc0, 0xb9, 0x64, 0x10, 0x9c, 0xfe, 0x08, 0xa4, 0xf0, + 0xff, 0x34, 0x36, 0x46, 0x89, 0xce, 0x49, 0xdc, 0x80, 0xe3, 0x42, 0x9f, 0x85, 0x24, 0x49, 0x93, + 0x3a, 0xe2, 0x53, 0x9b, 0x77, 0x8d, 0x03, 0xab, 0x8e, 0x0e, 0xcc, 0x6e, 0xd3, 0xad, 0xbe, 0x6a, + 0x36, 0xbb, 0x88, 0x04, 0x7c, 0xca, 0xc8, 0xb0, 0xc6, 0x4f, 0xe0, 0x36, 0x7d, 0x1e, 0xd2, 0x34, + 0xab, 0x1a, 0x56, 0x1d, 0xbd, 0x4e, 0x46, 0xcf, 0x84, 0x41, 0x13, 0x6d, 0x1d, 0xb7, 0xe0, 0xdb, + 0xbf, 0xec, 0xd8, 0x16, 0x0f, 0x4d, 0x72, 0x0b, 0xdc, 0x40, 0x6e, 0x7f, 0x5d, 0x1e, 0xb8, 0x1f, + 0x0d, 0x7f, 0x3c, 0x39, 0xa6, 0x72, 0x5f, 0x8f, 0x41, 0x9c, 0x8c, 0x17, 0x93, 0x90, 0xde, 0xbd, + 0xbb, 0x5d, 0xae, 0xae, 0x6e, 0xed, 0x15, 0x37, 0xca, 0x9a, 0xa2, 0x4f, 0x00, 0x90, 0x86, 0xb5, + 0x8d, 0xad, 0xc2, 0xae, 0x16, 0xf3, 0xae, 0xd7, 0x2b, 0xbb, 0xd7, 0x56, 0x34, 0xd5, 0x03, 0xec, + 0xd1, 0x86, 0xb8, 0x28, 0x70, 0x65, 0x59, 0x4b, 0xe8, 0x1a, 0x64, 0x28, 0xc1, 0xfa, 0x8b, 0xe5, + 0xd5, 0x6b, 0x2b, 0xda, 0x68, 0xb0, 0xe5, 0xca, 0xb2, 0x36, 0xa6, 0x8f, 0x43, 0x8a, 0xb4, 0x14, + 0xb7, 0xb6, 0x36, 0xb4, 0xa4, 0xc7, 0xb9, 0xb3, 0x6b, 0xac, 0x57, 0x6e, 0x6b, 0x29, 0x8f, 0xf3, + 0xb6, 0xb1, 0xb5, 0xb7, 0xad, 0x81, 0xc7, 0xb0, 0x59, 0xde, 0xd9, 0x29, 0xdc, 0x2e, 0x6b, 0x69, + 0x4f, 0xa2, 0x78, 0x77, 0xb7, 0xbc, 0xa3, 0x65, 0x02, 0x6a, 0x5d, 0x59, 0xd6, 0xc6, 0xbd, 0x5b, + 0x94, 0x2b, 0x7b, 0x9b, 0xda, 0x84, 0x3e, 0x05, 0xe3, 0xf4, 0x16, 0x5c, 0x89, 0x49, 0xa9, 0xe9, + 0xda, 0x8a, 0xa6, 0xf9, 0x8a, 0x50, 0x96, 0xa9, 0x40, 0xc3, 0xb5, 0x15, 0x4d, 0xcf, 0x95, 0x20, + 0x41, 0xa2, 0x4b, 0xd7, 0x61, 0x62, 0xa3, 0x50, 0x2c, 0x6f, 0x54, 0xb7, 0xb6, 0x77, 0xd7, 0xb7, + 0x2a, 0x85, 0x0d, 0x4d, 0xf1, 0xdb, 0x8c, 0xf2, 0xc7, 0xf7, 0xd6, 0x8d, 0xf2, 0xaa, 0x16, 0x13, + 0xdb, 0xb6, 0xcb, 0x85, 0xdd, 0xf2, 0xaa, 0xa6, 0xe6, 0x6a, 0x70, 0x2a, 0x6c, 0x9c, 0x0c, 0xcd, + 0x0c, 0xc1, 0xc5, 0xb1, 0x3e, 0x2e, 0x26, 0x5c, 0x3d, 0x2e, 0xfe, 0x6e, 0x0c, 0xa6, 0x43, 0xe6, + 0x8a, 0xd0, 0x9b, 0x3c, 0x07, 0x09, 0x1a, 0xa2, 0x74, 0xf6, 0x7c, 0x32, 0x74, 0xd2, 0x21, 0x01, + 0xdb, 0x33, 0x83, 0x12, 0x9c, 0x58, 0x41, 0xa8, 0x7d, 0x2a, 0x08, 0x4c, 0xd1, 0x33, 0xa6, 0xff, + 0xd9, 0x9e, 0x31, 0x9d, 0x4e, 0x7b, 0xd7, 0x86, 0x99, 0xf6, 0x48, 0xdb, 0xc9, 0xc6, 0xf6, 0x44, + 0xc8, 0xd8, 0x7e, 0x0b, 0xa6, 0x7a, 0x88, 0x86, 0x1e, 0x63, 0x3f, 0xa5, 0x40, 0xb6, 0x9f, 0x71, + 0x22, 0x46, 0xba, 0x58, 0x60, 0xa4, 0xbb, 0x25, 0x5b, 0xf0, 0x5c, 0x7f, 0x27, 0xf4, 0xf8, 0xfa, + 0xcb, 0x0a, 0xcc, 0x84, 0x57, 0x8a, 0xa1, 0x3a, 0x3c, 0x0b, 0xa3, 0x2d, 0xe4, 0x1e, 0xd9, 0xbc, + 0x5a, 0xba, 0x10, 0x32, 0x07, 0xe3, 0x6e, 0xd9, 0xd9, 0x0c, 0x25, 0x4e, 0xe2, 0x6a, 0xbf, 0x72, + 0x8f, 0x6a, 0xd3, 0xa3, 0xe9, 0x2f, 0xc5, 0xe0, 0x74, 0x28, 0x79, 0xa8, 0xa2, 0x8f, 0x02, 0x34, + 0xac, 0x76, 0xd7, 0xa5, 0x15, 0x11, 0x1d, 0x60, 0x53, 0xa4, 0x85, 0x0c, 0x5e, 0x78, 0xf0, 0xec, + 0xba, 0x5e, 0xbf, 0x4a, 0xfa, 0x81, 0x36, 0x11, 0x81, 0x1b, 0xbe, 0xa2, 0x71, 0xa2, 0xe8, 0x5c, + 0x9f, 0x27, 0xed, 0x09, 0xcc, 0x4b, 0xa0, 0xd5, 0x9a, 0x0d, 0x64, 0xb9, 0x55, 0xc7, 0xed, 0x20, + 0xb3, 0xd5, 0xb0, 0x0e, 0xc9, 0x0c, 0x92, 0xcc, 0x27, 0x0e, 0xcc, 0xa6, 0x83, 0x8c, 0x49, 0xda, + 0xbd, 0xc3, 0x7b, 0x31, 0x82, 0x04, 0x50, 0x47, 0x40, 0x8c, 0x06, 0x10, 0xb4, 0xdb, 0x43, 0xe4, + 0xfe, 0x7a, 0x0a, 0xd2, 0x42, 0x5d, 0xad, 0x9f, 0x83, 0xcc, 0xcb, 0xe6, 0xab, 0x66, 0x95, 0xbf, + 0x2b, 0x51, 0x4b, 0xa4, 0x71, 0xdb, 0x36, 0x7b, 0x5f, 0xba, 0x04, 0xa7, 0x88, 0x88, 0xdd, 0x75, + 0x51, 0xa7, 0x5a, 0x6b, 0x9a, 0x8e, 0x43, 0x8c, 0x96, 0x24, 0xa2, 0x3a, 0xee, 0xdb, 0xc2, 0x5d, + 0x25, 0xde, 0xa3, 0x5f, 0x85, 0x69, 0x82, 0x68, 0x75, 0x9b, 0x6e, 0xa3, 0xdd, 0x44, 0x55, 0xfc, + 0xf6, 0xe6, 0x90, 0x99, 0xc4, 0xd3, 0x6c, 0x0a, 0x4b, 0x6c, 0x32, 0x01, 0xac, 0x91, 0xa3, 0xaf, + 0xc2, 0xa3, 0x04, 0x76, 0x88, 0x2c, 0xd4, 0x31, 0x5d, 0x54, 0x45, 0x3f, 0xdf, 0x35, 0x9b, 0x4e, + 0xd5, 0xb4, 0xea, 0xd5, 0x23, 0xd3, 0x39, 0xca, 0x9e, 0xc2, 0x04, 0xc5, 0x58, 0x56, 0x31, 0x1e, + 0xc6, 0x82, 0xb7, 0x99, 0x5c, 0x99, 0x88, 0x15, 0xac, 0xfa, 0xf3, 0xa6, 0x73, 0xa4, 0xe7, 0x61, + 0x86, 0xb0, 0x38, 0x6e, 0xa7, 0x61, 0x1d, 0x56, 0x6b, 0x47, 0xa8, 0xf6, 0x4a, 0xb5, 0xeb, 0x1e, + 0xdc, 0xc8, 0x3e, 0x22, 0xde, 0x9f, 0x68, 0xb8, 0x43, 0x64, 0x4a, 0x58, 0x64, 0xcf, 0x3d, 0xb8, + 0xa1, 0xef, 0x40, 0x06, 0x3b, 0xa3, 0xd5, 0x78, 0x03, 0x55, 0x0f, 0xec, 0x0e, 0x99, 0x1a, 0x27, + 0x42, 0x86, 0x26, 0xc1, 0x82, 0x4b, 0x5b, 0x0c, 0xb0, 0x69, 0xd7, 0x51, 0x3e, 0xb1, 0xb3, 0x5d, + 0x2e, 0xaf, 0x1a, 0x69, 0xce, 0xb2, 0x66, 0x77, 0x70, 0x40, 0x1d, 0xda, 0x9e, 0x81, 0xd3, 0x34, + 0xa0, 0x0e, 0x6d, 0x6e, 0xde, 0xab, 0x30, 0x5d, 0xab, 0xd1, 0x67, 0x6e, 0xd4, 0xaa, 0xec, 0x1d, + 0xcb, 0xc9, 0x6a, 0x01, 0x63, 0xd5, 0x6a, 0xb7, 0xa9, 0x00, 0x8b, 0x71, 0x47, 0xbf, 0x09, 0xa7, + 0x7d, 0x63, 0x89, 0xc0, 0xa9, 0x9e, 0xa7, 0x94, 0xa1, 0x57, 0x61, 0xba, 0x7d, 0xdc, 0x0b, 0xd4, + 0x03, 0x77, 0x6c, 0x1f, 0xcb, 0xb0, 0xeb, 0x70, 0xaa, 0x7d, 0xd4, 0xee, 0xc5, 0x2d, 0x8a, 0x38, + 0xbd, 0x7d, 0xd4, 0x96, 0x81, 0x8f, 0x93, 0x17, 0xee, 0x0e, 0xaa, 0x99, 0x2e, 0xaa, 0x67, 0x1f, + 0x12, 0xc5, 0x85, 0x0e, 0xfd, 0x22, 0x68, 0xb5, 0x5a, 0x15, 0x59, 0xe6, 0x7e, 0x13, 0x55, 0xcd, + 0x0e, 0xb2, 0x4c, 0x27, 0x3b, 0x2f, 0x0a, 0x4f, 0xd4, 0x6a, 0x65, 0xd2, 0x5b, 0x20, 0x9d, 0xfa, + 0x22, 0x4c, 0xd9, 0xfb, 0x2f, 0xd7, 0x68, 0x48, 0x56, 0xdb, 0x1d, 0x74, 0xd0, 0x78, 0x3d, 0x7b, + 0x9e, 0xd8, 0x77, 0x12, 0x77, 0x90, 0x80, 0xdc, 0x26, 0xcd, 0xfa, 0x93, 0xa0, 0xd5, 0x9c, 0x23, + 0xb3, 0xd3, 0x26, 0x63, 0xb2, 0xd3, 0x36, 0x6b, 0x28, 0xfb, 0x38, 0x15, 0xa5, 0xed, 0x15, 0xde, + 0x8c, 0x53, 0xc2, 0x79, 0xad, 0x71, 0xe0, 0x72, 0xc6, 0x27, 0x68, 0x4a, 0x90, 0x36, 0xc6, 0xb6, + 0x00, 0x1a, 0x36, 0x45, 0xe0, 0xc6, 0x0b, 0x44, 0x6c, 0xa2, 0x7d, 0xd4, 0x16, 0xef, 0xfb, 0x18, + 0x8c, 0x63, 0x49, 0xff, 0xa6, 0x4f, 0xd2, 0x82, 0xac, 0x7d, 0x24, 0xdc, 0x71, 0x05, 0x66, 0xb0, + 0x50, 0x0b, 0xb9, 0x66, 0xdd, 0x74, 0x4d, 0x41, 0xfa, 0x29, 0x22, 0x8d, 0xed, 0xbe, 0xc9, 0x3a, + 0x03, 0x7a, 0x76, 0xba, 0xfb, 0xc7, 0x5e, 0x64, 0x3d, 0x4d, 0xf5, 0xc4, 0x6d, 0x3c, 0xb6, 0x3e, + 0xb4, 0xa2, 0x3b, 0x97, 0x87, 0x8c, 0x18, 0xf8, 0x7a, 0x0a, 0x68, 0xe8, 0x6b, 0x0a, 0xae, 0x82, + 0x4a, 0x5b, 0xab, 0xb8, 0x7e, 0xf9, 0x64, 0x59, 0x8b, 0xe1, 0x3a, 0x6a, 0x63, 0x7d, 0xb7, 0x5c, + 0x35, 0xf6, 0x2a, 0xbb, 0xeb, 0x9b, 0x65, 0x4d, 0x15, 0x0b, 0xf6, 0x6f, 0xc6, 0x60, 0x22, 0xf8, + 0xee, 0xa5, 0x7f, 0x14, 0x1e, 0xe2, 0x0b, 0x25, 0x0e, 0x72, 0xab, 0xaf, 0x35, 0x3a, 0x24, 0x17, + 0x5b, 0x26, 0x9d, 0x17, 0xbd, 0x68, 0x38, 0xc5, 0xa4, 0x76, 0x90, 0xfb, 0x42, 0xa3, 0x83, 0x33, + 0xad, 0x65, 0xba, 0xfa, 0x06, 0xcc, 0x5b, 0x76, 0xd5, 0x71, 0x4d, 0xab, 0x6e, 0x76, 0xea, 0x55, + 0x7f, 0x89, 0xaa, 0x6a, 0xd6, 0x6a, 0xc8, 0x71, 0x6c, 0x3a, 0x07, 0x7a, 0x2c, 0x67, 0x2c, 0x7b, + 0x87, 0x09, 0xfb, 0x93, 0x43, 0x81, 0x89, 0x4a, 0x91, 0xab, 0xf6, 0x8b, 0xdc, 0x47, 0x20, 0xd5, + 0x32, 0xdb, 0x55, 0x64, 0xb9, 0x9d, 0x63, 0x52, 0x71, 0x27, 0x8d, 0x64, 0xcb, 0x6c, 0x97, 0xf1, + 0xf5, 0x4f, 0xe6, 0xc5, 0xe7, 0xbf, 0xaa, 0x90, 0x11, 0xab, 0x6e, 0xfc, 0x12, 0x53, 0x23, 0x13, + 0x94, 0x42, 0x86, 0xb0, 0xc7, 0x06, 0xd6, 0xe8, 0x4b, 0x25, 0x3c, 0x73, 0xe5, 0x47, 0x69, 0x2d, + 0x6c, 0x50, 0x24, 0xae, 0x1a, 0x70, 0x68, 0x21, 0x5a, 0x7b, 0x24, 0x0d, 0x76, 0xa5, 0xdf, 0x86, + 0xd1, 0x97, 0x1d, 0xc2, 0x3d, 0x4a, 0xb8, 0xcf, 0x0f, 0xe6, 0xbe, 0xb3, 0x43, 0xc8, 0x53, 0x77, + 0x76, 0xaa, 0x95, 0x2d, 0x63, 0xb3, 0xb0, 0x61, 0x30, 0xb8, 0xfe, 0x30, 0xc4, 0x9b, 0xe6, 0x1b, + 0xc7, 0xc1, 0x39, 0x8e, 0x34, 0x0d, 0x6b, 0xf8, 0x87, 0x21, 0xfe, 0x1a, 0x32, 0x5f, 0x09, 0xce, + 0x2c, 0xa4, 0xe9, 0x43, 0x0c, 0xfd, 0x8b, 0x90, 0x20, 0xf6, 0xd2, 0x01, 0x98, 0xc5, 0xb4, 0x11, + 0x3d, 0x09, 0xf1, 0xd2, 0x96, 0x81, 0xc3, 0x5f, 0x83, 0x0c, 0x6d, 0xad, 0x6e, 0xaf, 0x97, 0x4b, + 0x65, 0x2d, 0x96, 0xbb, 0x0a, 0xa3, 0xd4, 0x08, 0x38, 0x35, 0x3c, 0x33, 0x68, 0x23, 0xec, 0x92, + 0x71, 0x28, 0xbc, 0x77, 0x6f, 0xb3, 0x58, 0x36, 0xb4, 0x98, 0xe8, 0x5e, 0x07, 0x32, 0x62, 0xc1, + 0xfd, 0x93, 0x89, 0xa9, 0x6f, 0x28, 0x90, 0x16, 0x0a, 0x68, 0x5c, 0xf9, 0x98, 0xcd, 0xa6, 0xfd, + 0x5a, 0xd5, 0x6c, 0x36, 0x4c, 0x87, 0x05, 0x05, 0x90, 0xa6, 0x02, 0x6e, 0x19, 0xd6, 0x69, 0x3f, + 0x11, 0xe5, 0xbf, 0xa0, 0x80, 0x26, 0xd7, 0xae, 0x92, 0x82, 0xca, 0x4f, 0x55, 0xc1, 0xcf, 0x29, + 0x30, 0x11, 0x2c, 0x58, 0x25, 0xf5, 0xce, 0xfd, 0x54, 0xd5, 0xfb, 0x4e, 0x0c, 0xc6, 0x03, 0x65, + 0xea, 0xb0, 0xda, 0xfd, 0x3c, 0x4c, 0x35, 0xea, 0xa8, 0xd5, 0xb6, 0x5d, 0x64, 0xd5, 0x8e, 0xab, + 0x4d, 0xf4, 0x2a, 0x6a, 0x66, 0x73, 0x64, 0xa0, 0xb8, 0x38, 0xb8, 0x10, 0x5e, 0x5a, 0xf7, 0x71, + 0x1b, 0x18, 0x96, 0x9f, 0x5e, 0x5f, 0x2d, 0x6f, 0x6e, 0x6f, 0xed, 0x96, 0x2b, 0xa5, 0xbb, 0xd5, + 0xbd, 0xca, 0xc7, 0x2a, 0x5b, 0x2f, 0x54, 0x0c, 0xad, 0x21, 0x89, 0x7d, 0x88, 0xa9, 0xbe, 0x0d, + 0x9a, 0xac, 0x94, 0xfe, 0x10, 0x84, 0xa9, 0xa5, 0x8d, 0xe8, 0xd3, 0x30, 0x59, 0xd9, 0xaa, 0xee, + 0xac, 0xaf, 0x96, 0xab, 0xe5, 0xb5, 0xb5, 0x72, 0x69, 0x77, 0x87, 0x2e, 0x6d, 0x78, 0xd2, 0xbb, + 0xc1, 0xa4, 0xfe, 0xac, 0x0a, 0xd3, 0x21, 0x9a, 0xe8, 0x05, 0xf6, 0x52, 0x42, 0xdf, 0x93, 0x9e, + 0x1e, 0x46, 0xfb, 0x25, 0x5c, 0x15, 0x6c, 0x9b, 0x1d, 0x97, 0xbd, 0xc3, 0x3c, 0x09, 0xd8, 0x4a, + 0x96, 0xdb, 0x38, 0x68, 0xa0, 0x0e, 0x5b, 0x09, 0xa2, 0x6f, 0x2a, 0x93, 0x7e, 0x3b, 0x5d, 0x0c, + 0x7a, 0x0a, 0xf4, 0xb6, 0xed, 0x34, 0xdc, 0xc6, 0xab, 0xa8, 0xda, 0xb0, 0xf8, 0xb2, 0x11, 0x7e, + 0x73, 0x89, 0x1b, 0x1a, 0xef, 0x59, 0xb7, 0x5c, 0x4f, 0xda, 0x42, 0x87, 0xa6, 0x24, 0x8d, 0x07, + 0x70, 0xd5, 0xd0, 0x78, 0x8f, 0x27, 0x7d, 0x0e, 0x32, 0x75, 0xbb, 0x8b, 0xcb, 0x39, 0x2a, 0x87, + 0xe7, 0x0b, 0xc5, 0x48, 0xd3, 0x36, 0x4f, 0x84, 0x15, 0xea, 0xfe, 0x7a, 0x55, 0xc6, 0x48, 0xd3, + 0x36, 0x2a, 0xf2, 0x04, 0x4c, 0x9a, 0x87, 0x87, 0x1d, 0x4c, 0xce, 0x89, 0xe8, 0xab, 0xc7, 0x84, + 0xd7, 0x4c, 0x04, 0x67, 0xef, 0x40, 0x92, 0xdb, 0x01, 0x4f, 0xc9, 0xd8, 0x12, 0xd5, 0x36, 0x7d, + 0x9f, 0x8e, 0x2d, 0xa4, 0x8c, 0xa4, 0xc5, 0x3b, 0xcf, 0x41, 0xa6, 0xe1, 0x54, 0xfd, 0xe5, 0xf7, + 0xd8, 0xd9, 0xd8, 0x42, 0xd2, 0x48, 0x37, 0x1c, 0x6f, 0xe9, 0x32, 0xf7, 0xe5, 0x18, 0x4c, 0x04, + 0xb7, 0x0f, 0xf4, 0x55, 0x48, 0x36, 0xed, 0x9a, 0x49, 0x42, 0x8b, 0xee, 0x5d, 0x2d, 0x44, 0xec, + 0x38, 0x2c, 0x6d, 0x30, 0x79, 0xc3, 0x43, 0xce, 0xfe, 0x47, 0x05, 0x92, 0xbc, 0x59, 0x9f, 0x81, + 0x78, 0xdb, 0x74, 0x8f, 0x08, 0x5d, 0xa2, 0x18, 0xd3, 0x14, 0x83, 0x5c, 0xe3, 0x76, 0xa7, 0x6d, + 0x5a, 0x24, 0x04, 0x58, 0x3b, 0xbe, 0xc6, 0x7e, 0x6d, 0x22, 0xb3, 0x4e, 0xde, 0x6b, 0xec, 0x56, + 0x0b, 0x59, 0xae, 0xc3, 0xfd, 0xca, 0xda, 0x4b, 0xac, 0x59, 0xff, 0x08, 0x4c, 0xb9, 0x1d, 0xb3, + 0xd1, 0x0c, 0xc8, 0xc6, 0x89, 0xac, 0xc6, 0x3b, 0x3c, 0xe1, 0x3c, 0x3c, 0xcc, 0x79, 0xeb, 0xc8, + 0x35, 0x6b, 0x47, 0xa8, 0xee, 0x83, 0x46, 0xc9, 0xfa, 0xc5, 0x43, 0x4c, 0x60, 0x95, 0xf5, 0x73, + 0x6c, 0xee, 0x0f, 0x14, 0x98, 0xe2, 0x6f, 0x62, 0x75, 0xcf, 0x58, 0x9b, 0x00, 0xa6, 0x65, 0xd9, + 0xae, 0x68, 0xae, 0xde, 0x50, 0xee, 0xc1, 0x2d, 0x15, 0x3c, 0x90, 0x21, 0x10, 0xcc, 0xb6, 0x00, + 0xfc, 0x9e, 0xbe, 0x66, 0x9b, 0x87, 0x34, 0xdb, 0x1b, 0x22, 0x1b, 0x8c, 0xf4, 0xdd, 0x1d, 0x68, + 0x13, 0x7e, 0x65, 0xd3, 0x4f, 0x41, 0x62, 0x1f, 0x1d, 0x36, 0x2c, 0xb6, 0xe2, 0x4b, 0x2f, 0xf8, + 0x0a, 0x4b, 0xdc, 0x5b, 0x61, 0x29, 0xbe, 0x04, 0xd3, 0x35, 0xbb, 0x25, 0xab, 0x5b, 0xd4, 0xa4, + 0xf5, 0x03, 0xe7, 0x79, 0xe5, 0x93, 0xe0, 0x97, 0x98, 0x3f, 0x52, 0x94, 0x5f, 0x8d, 0xa9, 0xb7, + 0xb7, 0x8b, 0xbf, 0x15, 0x9b, 0xbd, 0x4d, 0xa1, 0xdb, 0xfc, 0x49, 0x0d, 0x74, 0xd0, 0x44, 0x35, + 0xac, 0x3d, 0xfc, 0xc6, 0x47, 0xe0, 0xe9, 0xc3, 0x86, 0x7b, 0xd4, 0xdd, 0x5f, 0xaa, 0xd9, 0xad, + 0x8b, 0x87, 0xf6, 0xa1, 0xed, 0xef, 0xa9, 0xe2, 0x2b, 0x72, 0x41, 0x3e, 0xb1, 0x7d, 0xd5, 0x94, + 0xd7, 0x3a, 0x1b, 0xb9, 0x09, 0x9b, 0xaf, 0xc0, 0x34, 0x13, 0xae, 0x92, 0x8d, 0x1d, 0xfa, 0x7a, + 0xa2, 0x0f, 0x5c, 0x1c, 0xcb, 0xfe, 0xf6, 0xf7, 0xc8, 0x74, 0x6d, 0x4c, 0x31, 0x28, 0xee, 0xa3, + 0x6f, 0x30, 0x79, 0x03, 0x4e, 0x07, 0xf8, 0x68, 0x6a, 0xa2, 0x4e, 0x04, 0xe3, 0x37, 0x19, 0xe3, + 0xb4, 0xc0, 0xb8, 0xc3, 0xa0, 0xf9, 0x12, 0x8c, 0x9f, 0x84, 0xeb, 0xdf, 0x31, 0xae, 0x0c, 0x12, + 0x49, 0x6e, 0xc3, 0x24, 0x21, 0xa9, 0x75, 0x1d, 0xd7, 0x6e, 0x91, 0x71, 0x6f, 0x30, 0xcd, 0xbf, + 0xff, 0x1e, 0xcd, 0x95, 0x09, 0x0c, 0x2b, 0x79, 0xa8, 0x7c, 0x1e, 0xc8, 0x5e, 0x56, 0x1d, 0xd5, + 0x9a, 0x11, 0x0c, 0xf7, 0x98, 0x22, 0x9e, 0x7c, 0xfe, 0x13, 0x70, 0x0a, 0x7f, 0x26, 0xc3, 0x92, + 0xa8, 0x49, 0xf4, 0x4a, 0x5a, 0xf6, 0x0f, 0x3e, 0x45, 0xd3, 0x71, 0xda, 0x23, 0x10, 0x74, 0x12, + 0xbc, 0x78, 0x88, 0x5c, 0x17, 0x75, 0x9c, 0xaa, 0xd9, 0x0c, 0x53, 0x4f, 0x58, 0x8a, 0xc8, 0xfe, + 0xca, 0x0f, 0x82, 0x5e, 0xbc, 0x4d, 0x91, 0x85, 0x66, 0x33, 0xbf, 0x07, 0x0f, 0x85, 0x44, 0xc5, + 0x10, 0x9c, 0x9f, 0x65, 0x9c, 0xa7, 0x7a, 0x22, 0x03, 0xd3, 0x6e, 0x03, 0x6f, 0xf7, 0x7c, 0x39, + 0x04, 0xe7, 0x3f, 0x64, 0x9c, 0x3a, 0xc3, 0x72, 0x97, 0x62, 0xc6, 0x3b, 0x30, 0xf5, 0x2a, 0xea, + 0xec, 0xdb, 0x0e, 0x5b, 0xfe, 0x19, 0x82, 0xee, 0x73, 0x8c, 0x6e, 0x92, 0x01, 0xc9, 0x7a, 0x10, + 0xe6, 0xba, 0x09, 0xc9, 0x03, 0xb3, 0x86, 0x86, 0xa0, 0xf8, 0x3c, 0xa3, 0x18, 0xc3, 0xf2, 0x18, + 0x5a, 0x80, 0xcc, 0xa1, 0xcd, 0x66, 0xa6, 0x68, 0xf8, 0x17, 0x18, 0x3c, 0xcd, 0x31, 0x8c, 0xa2, + 0x6d, 0xb7, 0xbb, 0x4d, 0x3c, 0x6d, 0x45, 0x53, 0x7c, 0x91, 0x53, 0x70, 0x0c, 0xa3, 0x38, 0x81, + 0x59, 0xdf, 0xe2, 0x14, 0x8e, 0x60, 0xcf, 0xe7, 0x20, 0x6d, 0x5b, 0xcd, 0x63, 0xdb, 0x1a, 0x46, + 0x89, 0x2f, 0x31, 0x06, 0x60, 0x10, 0x4c, 0x70, 0x0b, 0x52, 0xc3, 0x3a, 0xe2, 0xd7, 0x7f, 0xc0, + 0xd3, 0x83, 0x7b, 0xe0, 0x36, 0x4c, 0xf2, 0x01, 0xaa, 0x61, 0x5b, 0x43, 0x50, 0xfc, 0x06, 0xa3, + 0x98, 0x10, 0x60, 0xec, 0x31, 0x5c, 0xe4, 0xb8, 0x87, 0x68, 0x18, 0x92, 0x2f, 0xf3, 0xc7, 0x60, + 0x10, 0x66, 0xca, 0x7d, 0x64, 0xd5, 0x8e, 0x86, 0x63, 0xf8, 0x0a, 0x37, 0x25, 0xc7, 0x60, 0x8a, + 0x12, 0x8c, 0xb7, 0xcc, 0x8e, 0x73, 0x64, 0x36, 0x87, 0x72, 0xc7, 0x6f, 0x32, 0x8e, 0x8c, 0x07, + 0x62, 0x16, 0xe9, 0x5a, 0x27, 0xa1, 0xf9, 0x2d, 0x6e, 0x11, 0x01, 0xc6, 0x52, 0xcf, 0x71, 0xc9, + 0x5a, 0xd9, 0x49, 0xd8, 0xfe, 0x11, 0x4f, 0x3d, 0x8a, 0xdd, 0x14, 0x19, 0x6f, 0x41, 0xca, 0x69, + 0xbc, 0x31, 0x14, 0xcd, 0x3f, 0xe6, 0x9e, 0x26, 0x00, 0x0c, 0xbe, 0x0b, 0x0f, 0x87, 0x4e, 0x13, + 0x43, 0x90, 0xfd, 0x13, 0x46, 0x36, 0x13, 0x32, 0x55, 0xb0, 0x21, 0xe1, 0xa4, 0x94, 0xff, 0x94, + 0x0f, 0x09, 0x48, 0xe2, 0xda, 0xc6, 0xef, 0x0a, 0x8e, 0x79, 0x70, 0x32, 0xab, 0xfd, 0x33, 0x6e, + 0x35, 0x8a, 0x0d, 0x58, 0x6d, 0x17, 0x66, 0x18, 0xe3, 0xc9, 0xfc, 0xfa, 0x55, 0x3e, 0xb0, 0x52, + 0xf4, 0x5e, 0xd0, 0xbb, 0x2f, 0xc1, 0xac, 0x67, 0x4e, 0x5e, 0x94, 0x3a, 0xd5, 0x96, 0xd9, 0x1e, + 0x82, 0xf9, 0xb7, 0x19, 0x33, 0x1f, 0xf1, 0xbd, 0xaa, 0xd6, 0xd9, 0x34, 0xdb, 0x98, 0xfc, 0x45, + 0xc8, 0x72, 0xf2, 0xae, 0xd5, 0x41, 0x35, 0xfb, 0xd0, 0x6a, 0xbc, 0x81, 0xea, 0x43, 0x50, 0x7f, + 0x4d, 0x72, 0xd5, 0x9e, 0x00, 0xc7, 0xcc, 0xeb, 0xa0, 0x79, 0xb5, 0x4a, 0xb5, 0xd1, 0x6a, 0xdb, + 0x1d, 0x37, 0x82, 0xf1, 0x9f, 0x73, 0x4f, 0x79, 0xb8, 0x75, 0x02, 0xcb, 0x97, 0x61, 0x82, 0x5c, + 0x0e, 0x1b, 0x92, 0xbf, 0xc3, 0x88, 0xc6, 0x7d, 0x14, 0x1b, 0x38, 0x6a, 0x76, 0xab, 0x6d, 0x76, + 0x86, 0x19, 0xff, 0xfe, 0x05, 0x1f, 0x38, 0x18, 0x84, 0x0d, 0x1c, 0xee, 0x71, 0x1b, 0xe1, 0xd9, + 0x7e, 0x08, 0x86, 0xaf, 0xf3, 0x81, 0x83, 0x63, 0x18, 0x05, 0x2f, 0x18, 0x86, 0xa0, 0xf8, 0x97, + 0x9c, 0x82, 0x63, 0x30, 0xc5, 0xc7, 0xfd, 0x89, 0xb6, 0x83, 0x0e, 0x1b, 0x8e, 0xdb, 0xa1, 0xa5, + 0xf0, 0x60, 0xaa, 0xdf, 0xfd, 0x41, 0xb0, 0x08, 0x33, 0x04, 0x28, 0x1e, 0x89, 0xd8, 0x12, 0x2a, + 0x79, 0x53, 0x8a, 0x56, 0xec, 0xf7, 0xf8, 0x48, 0x24, 0xc0, 0xb0, 0x6e, 0x42, 0x85, 0x88, 0xcd, + 0x5e, 0xc3, 0xef, 0x07, 0x43, 0xd0, 0x7d, 0x43, 0x52, 0x6e, 0x87, 0x63, 0x31, 0xa7, 0x50, 0xff, + 0x74, 0xad, 0x57, 0xd0, 0xf1, 0x50, 0xd1, 0xf9, 0xaf, 0xa4, 0xfa, 0x67, 0x8f, 0x22, 0xe9, 0x18, + 0x32, 0x29, 0xd5, 0x53, 0x7a, 0xd4, 0x29, 0xa0, 0xec, 0x5f, 0x7c, 0x8f, 0x3d, 0x6f, 0xb0, 0x9c, + 0xca, 0x6f, 0xe0, 0x20, 0x0f, 0x16, 0x3d, 0xd1, 0x64, 0x9f, 0x7a, 0xcf, 0x8b, 0xf3, 0x40, 0xcd, + 0x93, 0x5f, 0x83, 0xf1, 0x40, 0xc1, 0x13, 0x4d, 0xf5, 0x97, 0x18, 0x55, 0x46, 0xac, 0x77, 0xf2, + 0x57, 0x21, 0x8e, 0x8b, 0x97, 0x68, 0xf8, 0x5f, 0x66, 0x70, 0x22, 0x9e, 0x7f, 0x06, 0x92, 0xbc, + 0x68, 0x89, 0x86, 0xfe, 0x22, 0x83, 0x7a, 0x10, 0x0c, 0xe7, 0x05, 0x4b, 0x34, 0xfc, 0xaf, 0x70, + 0x38, 0x87, 0x60, 0xf8, 0xf0, 0x26, 0x7c, 0xfb, 0xaf, 0xc5, 0xd9, 0xa4, 0xc3, 0x6d, 0x77, 0x0b, + 0xc6, 0x58, 0xa5, 0x12, 0x8d, 0xfe, 0x25, 0x76, 0x73, 0x8e, 0xc8, 0x5f, 0x87, 0xc4, 0x90, 0x06, + 0xff, 0x1b, 0x0c, 0x4a, 0xe5, 0xf3, 0x25, 0x48, 0x0b, 0xd5, 0x49, 0x34, 0xfc, 0x6f, 0x32, 0xb8, + 0x88, 0xc2, 0xaa, 0xb3, 0xea, 0x24, 0x9a, 0xe0, 0x6f, 0x71, 0xd5, 0x19, 0x02, 0x9b, 0x8d, 0x17, + 0x26, 0xd1, 0xe8, 0xbf, 0xcd, 0xad, 0xce, 0x21, 0xf9, 0xe7, 0x20, 0xe5, 0x4d, 0x36, 0xd1, 0xf8, + 0xbf, 0xc3, 0xf0, 0x3e, 0x06, 0x5b, 0x40, 0x98, 0xec, 0xa2, 0x29, 0xfe, 0x2e, 0xb7, 0x80, 0x80, + 0xc2, 0x69, 0x24, 0x17, 0x30, 0xd1, 0x4c, 0xbf, 0xcc, 0xd3, 0x48, 0xaa, 0x5f, 0xb0, 0x37, 0xc9, + 0x98, 0x1f, 0x4d, 0xf1, 0xf7, 0xb8, 0x37, 0x89, 0x3c, 0x56, 0x43, 0xae, 0x08, 0xa2, 0x39, 0xfe, + 0x01, 0x57, 0x43, 0x2a, 0x08, 0xf2, 0xdb, 0xa0, 0xf7, 0x56, 0x03, 0xd1, 0x7c, 0x9f, 0x61, 0x7c, + 0x53, 0x3d, 0xc5, 0x40, 0xfe, 0x05, 0x98, 0x09, 0xaf, 0x04, 0xa2, 0x59, 0x7f, 0xe5, 0x3d, 0xe9, + 0xdd, 0x4d, 0x2c, 0x04, 0xf2, 0xbb, 0xfe, 0x94, 0x22, 0x56, 0x01, 0xd1, 0xb4, 0x9f, 0x7d, 0x2f, + 0x38, 0x70, 0x8b, 0x45, 0x40, 0xbe, 0x00, 0xe0, 0x4f, 0xc0, 0xd1, 0x5c, 0x9f, 0x63, 0x5c, 0x02, + 0x08, 0xa7, 0x06, 0x9b, 0x7f, 0xa3, 0xf1, 0x9f, 0xe7, 0xa9, 0xc1, 0x10, 0x38, 0x35, 0xf8, 0xd4, + 0x1b, 0x8d, 0xfe, 0x02, 0x4f, 0x0d, 0x0e, 0xc1, 0x91, 0x2d, 0xcc, 0x6e, 0xd1, 0x0c, 0x5f, 0xe2, + 0x91, 0x2d, 0xa0, 0xf2, 0x15, 0x98, 0xea, 0x99, 0x10, 0xa3, 0xa9, 0x7e, 0x95, 0x51, 0x69, 0xf2, + 0x7c, 0x28, 0x4e, 0x5e, 0x6c, 0x32, 0x8c, 0x66, 0xfb, 0x35, 0x69, 0xf2, 0x62, 0x73, 0x61, 0xfe, + 0x16, 0x24, 0xad, 0x6e, 0xb3, 0x89, 0x93, 0x47, 0x1f, 0x7c, 0x72, 0x2f, 0xfb, 0xdf, 0x7f, 0xcc, + 0xac, 0xc3, 0x01, 0xf9, 0xab, 0x90, 0x40, 0xad, 0x7d, 0x54, 0x8f, 0x42, 0xfe, 0x8f, 0x1f, 0xf3, + 0x01, 0x13, 0x4b, 0xe7, 0x9f, 0x03, 0xa0, 0x4b, 0x23, 0x64, 0xdb, 0x2f, 0x02, 0xfb, 0x3f, 0x7f, + 0xcc, 0xce, 0xd4, 0xf8, 0x10, 0x9f, 0x80, 0x9e, 0xd0, 0x19, 0x4c, 0xf0, 0x83, 0x20, 0x01, 0xf1, + 0xc8, 0x4d, 0x18, 0x7b, 0xd9, 0xb1, 0x2d, 0xd7, 0x3c, 0x8c, 0x42, 0xff, 0x2f, 0x86, 0xe6, 0xf2, + 0xd8, 0x60, 0x2d, 0xbb, 0x83, 0x5c, 0xf3, 0xd0, 0x89, 0xc2, 0xfe, 0x6f, 0x86, 0xf5, 0x00, 0x18, + 0x5c, 0x33, 0x1d, 0x77, 0x98, 0xe7, 0xfe, 0x3f, 0x1c, 0xcc, 0x01, 0x58, 0x69, 0xfc, 0xf9, 0x15, + 0x74, 0x1c, 0x85, 0xfd, 0x21, 0x57, 0x9a, 0xc9, 0xe7, 0x9f, 0x81, 0x14, 0xfe, 0x48, 0x0f, 0xca, + 0x45, 0x80, 0xff, 0x2f, 0x03, 0xfb, 0x08, 0x7c, 0x67, 0xc7, 0xad, 0xbb, 0x8d, 0x68, 0x63, 0xff, + 0x11, 0xf3, 0x34, 0x97, 0xcf, 0x17, 0x20, 0xed, 0xb8, 0xf5, 0x7a, 0x97, 0xd5, 0xa7, 0x11, 0xf0, + 0xff, 0xf7, 0x63, 0x6f, 0xc9, 0xc2, 0xc3, 0x60, 0x6f, 0xbf, 0xf6, 0x8a, 0xdb, 0xb6, 0xc9, 0x36, + 0x47, 0x14, 0xc3, 0x7b, 0x8c, 0x41, 0x80, 0x14, 0xcb, 0xe1, 0xcb, 0xb7, 0x70, 0xdb, 0xbe, 0x6d, + 0xd3, 0x85, 0xdb, 0x4f, 0xe6, 0xa2, 0x57, 0x60, 0xe1, 0xbf, 0x35, 0xe1, 0x7a, 0x5f, 0x31, 0x3c, + 0x15, 0x5f, 0xac, 0xd9, 0xad, 0x7d, 0xdb, 0xb9, 0xb8, 0x6f, 0xbb, 0x47, 0x17, 0xdd, 0x23, 0x84, + 0xdb, 0xd8, 0x92, 0x6d, 0x1c, 0x7f, 0x9e, 0x3d, 0xd9, 0x3a, 0x2f, 0xd9, 0xc5, 0xaf, 0x34, 0xf0, + 0xa3, 0x55, 0xc8, 0x46, 0x8a, 0x7e, 0x06, 0x46, 0xc9, 0xc3, 0x5e, 0x26, 0x9b, 0x95, 0x4a, 0x31, + 0x7e, 0xef, 0x9d, 0xf9, 0x11, 0x83, 0xb5, 0x79, 0xbd, 0xcb, 0x64, 0xa5, 0x3b, 0x16, 0xe8, 0x5d, + 0xf6, 0x7a, 0xaf, 0xd0, 0xc5, 0xee, 0x40, 0xef, 0x15, 0xaf, 0x77, 0x85, 0x2c, 0x7b, 0xab, 0x81, + 0xde, 0x15, 0xaf, 0xf7, 0x2a, 0xd9, 0xda, 0x19, 0x0f, 0xf4, 0x5e, 0xf5, 0x7a, 0xaf, 0x91, 0x0d, + 0x9d, 0x78, 0xa0, 0xf7, 0x9a, 0xd7, 0x7b, 0x9d, 0xec, 0xe5, 0x4c, 0x05, 0x7a, 0xaf, 0x7b, 0xbd, + 0x37, 0xc8, 0x1e, 0x8e, 0x1e, 0xe8, 0xbd, 0xe1, 0xf5, 0xde, 0x24, 0x27, 0xaf, 0xc6, 0x02, 0xbd, + 0x37, 0xf5, 0x39, 0x18, 0xa3, 0x4f, 0x7e, 0x89, 0x6c, 0xf8, 0x4f, 0xb2, 0x6e, 0xde, 0xe8, 0xf7, + 0x5f, 0x26, 0xa7, 0xac, 0x46, 0x83, 0xfd, 0x97, 0xfd, 0xfe, 0x65, 0xf2, 0x85, 0x0f, 0x2d, 0xd8, + 0xbf, 0xec, 0xf7, 0x5f, 0xc9, 0x8e, 0x93, 0x93, 0x66, 0x81, 0xfe, 0x2b, 0x7e, 0xff, 0x4a, 0x76, + 0x02, 0x67, 0x4c, 0xb0, 0x7f, 0xc5, 0xef, 0xbf, 0x9a, 0x9d, 0x3c, 0xab, 0x2c, 0x64, 0x82, 0xfd, + 0x57, 0x73, 0xbf, 0x40, 0xdc, 0x6b, 0xf9, 0xee, 0x9d, 0x09, 0xba, 0xd7, 0x73, 0xec, 0x4c, 0xd0, + 0xb1, 0x9e, 0x4b, 0x67, 0x82, 0x2e, 0xf5, 0x9c, 0x39, 0x13, 0x74, 0xa6, 0xe7, 0xc6, 0x99, 0xa0, + 0x1b, 0x3d, 0x07, 0xce, 0x04, 0x1d, 0xe8, 0xb9, 0x6e, 0x26, 0xe8, 0x3a, 0xcf, 0x69, 0x33, 0x41, + 0xa7, 0x79, 0xee, 0x9a, 0x09, 0xba, 0xcb, 0x73, 0x54, 0x56, 0x72, 0x94, 0xef, 0xa2, 0xac, 0xe4, + 0x22, 0xdf, 0x39, 0x59, 0xc9, 0x39, 0xbe, 0x5b, 0xb2, 0x92, 0x5b, 0x7c, 0x87, 0x64, 0x25, 0x87, + 0xf8, 0xae, 0xc8, 0x4a, 0xae, 0xf0, 0x9d, 0xc0, 0x72, 0xcc, 0x40, 0xed, 0x90, 0x1c, 0x53, 0x07, + 0xe6, 0x98, 0x3a, 0x30, 0xc7, 0xd4, 0x81, 0x39, 0xa6, 0x0e, 0xcc, 0x31, 0x75, 0x60, 0x8e, 0xa9, + 0x03, 0x73, 0x4c, 0x1d, 0x98, 0x63, 0xea, 0xc0, 0x1c, 0x53, 0x07, 0xe7, 0x98, 0x1a, 0x91, 0x63, + 0x6a, 0x44, 0x8e, 0xa9, 0x11, 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0xdf, 0x1c, + 0xf3, 0xdd, 0x3b, 0x13, 0x74, 0x6f, 0x68, 0x8e, 0xa9, 0x7d, 0x72, 0x4c, 0xed, 0x93, 0x63, 0x6a, + 0x9f, 0x1c, 0x53, 0xfb, 0xe4, 0x98, 0xda, 0x27, 0xc7, 0xd4, 0x3e, 0x39, 0xa6, 0xf6, 0xc9, 0x31, + 0xb5, 0x5f, 0x8e, 0xa9, 0x7d, 0x73, 0x4c, 0xed, 0x9b, 0x63, 0x6a, 0xdf, 0x1c, 0x53, 0xfb, 0xe6, + 0x98, 0xda, 0x37, 0xc7, 0x54, 0x31, 0xc7, 0xfe, 0xb5, 0x0a, 0x3a, 0xcd, 0xb1, 0x6d, 0x72, 0x64, + 0x8c, 0xb9, 0x62, 0x4e, 0xca, 0xb4, 0x51, 0xec, 0x3a, 0xcd, 0x77, 0xc9, 0x9c, 0x94, 0x6b, 0xc1, + 0xfe, 0x65, 0xaf, 0x9f, 0x67, 0x5b, 0xb0, 0xff, 0x8a, 0xd7, 0xcf, 0xf3, 0x2d, 0xd8, 0xbf, 0xe2, + 0xf5, 0xf3, 0x8c, 0x0b, 0xf6, 0x5f, 0xf5, 0xfa, 0x79, 0xce, 0x05, 0xfb, 0xaf, 0x79, 0xfd, 0x3c, + 0xeb, 0x82, 0xfd, 0xd7, 0xbd, 0x7e, 0x9e, 0x77, 0xc1, 0xfe, 0x1b, 0x5e, 0x3f, 0xcf, 0xbc, 0x60, + 0xff, 0x4d, 0xfd, 0xac, 0x9c, 0x7b, 0x5c, 0xc0, 0x73, 0xed, 0x59, 0x39, 0xfb, 0x24, 0x89, 0xcb, + 0xbe, 0x04, 0xcf, 0x3f, 0x49, 0x62, 0xd9, 0x97, 0xe0, 0x19, 0x28, 0x49, 0x5c, 0xc9, 0x7d, 0x9a, + 0xb8, 0xcf, 0x92, 0xdd, 0x37, 0x2b, 0xb9, 0x2f, 0x26, 0xb8, 0x6e, 0x56, 0x72, 0x5d, 0x4c, 0x70, + 0xdb, 0xac, 0xe4, 0xb6, 0x98, 0xe0, 0xb2, 0x59, 0xc9, 0x65, 0x31, 0xc1, 0x5d, 0xb3, 0x92, 0xbb, + 0x62, 0x82, 0xab, 0x66, 0x25, 0x57, 0xc5, 0x04, 0x37, 0xcd, 0x4a, 0x6e, 0x8a, 0x09, 0x2e, 0x9a, + 0x95, 0x5c, 0x14, 0x13, 0xdc, 0x33, 0x2b, 0xb9, 0x27, 0x26, 0xb8, 0xe6, 0x8c, 0xec, 0x9a, 0x98, + 0xe8, 0x96, 0x33, 0xb2, 0x5b, 0x62, 0xa2, 0x4b, 0xce, 0xc8, 0x2e, 0x89, 0x89, 0xee, 0x38, 0x23, + 0xbb, 0x23, 0x26, 0xba, 0xe2, 0x8f, 0x63, 0xbc, 0x22, 0xdc, 0x71, 0x3b, 0xdd, 0x9a, 0xfb, 0xbe, + 0x2a, 0xc2, 0x4b, 0x81, 0xf2, 0x21, 0xbd, 0xac, 0x2f, 0x91, 0x82, 0x55, 0xac, 0x38, 0xa5, 0x19, + 0xec, 0x52, 0xa0, 0xb0, 0x10, 0x10, 0x56, 0x38, 0x62, 0xe5, 0x7d, 0xd5, 0x86, 0x97, 0x02, 0x65, + 0x46, 0xb4, 0x7e, 0x37, 0x3e, 0xf4, 0x8a, 0xed, 0xed, 0x18, 0xaf, 0xd8, 0x98, 0xf9, 0x4f, 0x5a, + 0xb1, 0x2d, 0x46, 0x9b, 0xdc, 0x33, 0xf6, 0x62, 0xb4, 0xb1, 0x7b, 0x66, 0x9d, 0x61, 0x2b, 0xb8, + 0xc5, 0x68, 0xd3, 0x7a, 0x46, 0xfd, 0x60, 0xeb, 0x2d, 0x16, 0xc1, 0x06, 0x6a, 0x87, 0x44, 0xf0, + 0x49, 0xeb, 0xad, 0x4b, 0x81, 0xa1, 0xe4, 0xa4, 0x11, 0xac, 0x9e, 0x38, 0x82, 0x4f, 0x5a, 0x79, + 0x5d, 0x0a, 0x0c, 0x2f, 0x27, 0x8e, 0xe0, 0x0f, 0xa1, 0x1e, 0x62, 0x11, 0xec, 0x9b, 0xff, 0xa4, + 0xf5, 0xd0, 0x62, 0xb4, 0xc9, 0x43, 0x23, 0x58, 0x3d, 0x41, 0x04, 0x0f, 0x53, 0x1f, 0x2d, 0x46, + 0x9b, 0x36, 0x3c, 0x82, 0xdf, 0x77, 0x35, 0xf3, 0x45, 0x05, 0xa6, 0x2a, 0x8d, 0x7a, 0xb9, 0xb5, + 0x8f, 0xea, 0x75, 0x54, 0x67, 0x76, 0xbc, 0x14, 0x18, 0x09, 0xfa, 0xb8, 0xfa, 0x5b, 0xef, 0xcc, + 0xfb, 0x16, 0xbe, 0x0a, 0x49, 0x6a, 0xd3, 0x4b, 0x97, 0xb2, 0xf7, 0x94, 0x88, 0x11, 0xce, 0x13, + 0xd5, 0xcf, 0x71, 0xd8, 0xe5, 0x4b, 0xd9, 0xff, 0xa4, 0x08, 0xa3, 0x9c, 0xd7, 0x9c, 0xfb, 0x65, + 0xa2, 0xa1, 0xf5, 0xbe, 0x35, 0xbc, 0x38, 0x94, 0x86, 0x82, 0x6e, 0x8f, 0xf4, 0xe8, 0x26, 0x68, + 0xd5, 0x85, 0xc9, 0x4a, 0xa3, 0x5e, 0x21, 0x3f, 0x35, 0x30, 0x8c, 0x4a, 0x54, 0x46, 0x1a, 0x0f, + 0x2e, 0x05, 0xc2, 0x52, 0x44, 0x78, 0x21, 0x1d, 0x1c, 0x23, 0x72, 0x0d, 0x7c, 0x5b, 0x2b, 0x70, + 0xdb, 0xc5, 0x7e, 0xb7, 0xf5, 0x47, 0x76, 0xef, 0x86, 0x8b, 0xfd, 0x6e, 0xe8, 0xe7, 0x90, 0x77, + 0xab, 0xd7, 0xf9, 0xe4, 0x4c, 0x0f, 0x6e, 0xe9, 0x67, 0x20, 0xb6, 0x4e, 0xcf, 0x95, 0x67, 0x8a, + 0x19, 0xac, 0xd4, 0xb7, 0xdf, 0x99, 0x8f, 0xef, 0x75, 0x1b, 0x75, 0x23, 0xb6, 0x5e, 0xd7, 0xef, + 0x40, 0xe2, 0x13, 0xec, 0x0b, 0xaf, 0x58, 0x60, 0x85, 0x09, 0x3c, 0x15, 0xb1, 0xc4, 0x44, 0xa8, + 0x97, 0xf6, 0x1a, 0x96, 0x7b, 0x79, 0xf9, 0x86, 0x41, 0x29, 0x72, 0x7f, 0x06, 0x80, 0xde, 0x73, + 0xd5, 0x74, 0x8e, 0xf4, 0x0a, 0x67, 0xa6, 0xb7, 0xbe, 0xf1, 0xed, 0x77, 0xe6, 0x57, 0x86, 0x61, + 0x7d, 0xba, 0x6e, 0x3a, 0x47, 0x4f, 0xbb, 0xc7, 0x6d, 0xb4, 0x54, 0x3c, 0x76, 0x91, 0xc3, 0xd9, + 0xdb, 0x7c, 0xd6, 0x63, 0xcf, 0x95, 0x15, 0x9e, 0x2b, 0x19, 0x78, 0xa6, 0xb5, 0xe0, 0x33, 0x5d, + 0x7a, 0xd0, 0xe7, 0x79, 0x9d, 0x4f, 0x12, 0x92, 0x25, 0xd5, 0x28, 0x4b, 0xaa, 0xef, 0xd7, 0x92, + 0x6d, 0x3e, 0x3e, 0x4a, 0xcf, 0xaa, 0x0e, 0x7a, 0x56, 0xf5, 0xfd, 0x3c, 0xeb, 0xff, 0xa7, 0xd9, + 0xea, 0xe5, 0xd3, 0x9e, 0x45, 0xcf, 0xb4, 0xfe, 0xe9, 0x5a, 0x0b, 0xfa, 0x40, 0xab, 0x80, 0x7c, + 0xfc, 0xde, 0x5b, 0xf3, 0x4a, 0xee, 0x8b, 0x31, 0xfe, 0xe4, 0x34, 0x91, 0x1e, 0xec, 0xc9, 0xff, + 0xb4, 0xd4, 0x54, 0x1f, 0x86, 0x85, 0xbe, 0xa0, 0xc0, 0x4c, 0xcf, 0x48, 0x4e, 0xcd, 0xf4, 0xc1, + 0x0e, 0xe7, 0xd6, 0x49, 0x87, 0x73, 0xa6, 0xe0, 0xef, 0x28, 0x70, 0x4a, 0x1a, 0x5e, 0xa9, 0x7a, + 0x17, 0x25, 0xf5, 0x1e, 0xea, 0xbd, 0x13, 0x11, 0x14, 0xb4, 0x13, 0xdd, 0x2b, 0x01, 0x04, 0x66, + 0xcf, 0xef, 0x2b, 0x92, 0xdf, 0xcf, 0x78, 0x80, 0x10, 0x73, 0xf1, 0x08, 0x60, 0x6a, 0xdb, 0x10, + 0xdf, 0xed, 0x20, 0xa4, 0xcf, 0x41, 0x6c, 0xab, 0xc3, 0x34, 0x9c, 0xa0, 0xf8, 0xad, 0x4e, 0xb1, + 0x63, 0x5a, 0xb5, 0x23, 0x23, 0xb6, 0xd5, 0xd1, 0xcf, 0x81, 0x5a, 0x60, 0x5f, 0xb6, 0x4f, 0x2f, + 0x4f, 0x52, 0x81, 0x82, 0x55, 0x67, 0x12, 0xb8, 0x4f, 0x9f, 0x83, 0xf8, 0x06, 0x32, 0x0f, 0x98, + 0x12, 0x40, 0x65, 0x70, 0x8b, 0x41, 0xda, 0xd9, 0x0d, 0x5f, 0x84, 0x24, 0x27, 0xd6, 0xcf, 0x63, + 0xc4, 0x81, 0xcb, 0x6e, 0xcb, 0x10, 0x58, 0x1d, 0x36, 0x73, 0x91, 0x5e, 0xfd, 0x02, 0x24, 0x8c, + 0xc6, 0xe1, 0x91, 0xcb, 0x6e, 0xde, 0x2b, 0x46, 0xbb, 0x73, 0x77, 0x21, 0xe5, 0x69, 0xf4, 0x01, + 0x53, 0xaf, 0xd2, 0x47, 0xd3, 0x67, 0xc5, 0xf9, 0x84, 0xaf, 0x5b, 0xd2, 0x26, 0xfd, 0x2c, 0x24, + 0x77, 0xdc, 0x8e, 0x3f, 0xe8, 0xf3, 0x8a, 0xd4, 0x6b, 0xcd, 0xfd, 0x82, 0x02, 0xc9, 0x55, 0x84, + 0xda, 0xc4, 0xe0, 0x8f, 0x43, 0x7c, 0xd5, 0x7e, 0xcd, 0x62, 0x0a, 0x4e, 0x31, 0x8b, 0xe2, 0x6e, + 0x66, 0x53, 0xd2, 0xad, 0x3f, 0x2e, 0xda, 0x7d, 0xda, 0xb3, 0xbb, 0x20, 0x47, 0x6c, 0x9f, 0x0b, + 0xd8, 0x9e, 0x39, 0x10, 0x0b, 0xf5, 0xd8, 0xff, 0x3a, 0xa4, 0x85, 0xbb, 0xe8, 0x0b, 0x4c, 0x8d, + 0x98, 0x0c, 0x14, 0x6d, 0x85, 0x25, 0x72, 0x08, 0xc6, 0x03, 0x37, 0xc6, 0x50, 0xc1, 0xc4, 0x7d, + 0xa0, 0xc4, 0xcc, 0x8b, 0x41, 0x33, 0x87, 0x8b, 0x32, 0x53, 0x5f, 0xa2, 0x36, 0x22, 0xe6, 0x3e, + 0x4f, 0x83, 0xb3, 0xbf, 0x13, 0xf1, 0xe7, 0x5c, 0x02, 0xd4, 0x4a, 0xa3, 0x99, 0x7b, 0x06, 0x80, + 0xa6, 0x7c, 0xd9, 0xea, 0xb6, 0xa4, 0xac, 0x9b, 0xe0, 0x06, 0xde, 0x3d, 0x42, 0xbb, 0xc8, 0x21, + 0x22, 0xc1, 0x7a, 0x0a, 0x0f, 0x30, 0x40, 0x53, 0x8c, 0xe0, 0x9f, 0x8c, 0xc4, 0x87, 0x56, 0x62, + 0x58, 0x34, 0x4b, 0x45, 0xef, 0x22, 0xb7, 0x60, 0xd9, 0xee, 0x11, 0xea, 0x48, 0x88, 0x65, 0xfd, + 0x4a, 0x20, 0x61, 0x27, 0x96, 0x1f, 0xf1, 0x10, 0x7d, 0x41, 0x57, 0x72, 0x5f, 0x25, 0x0a, 0xe2, + 0x52, 0xa0, 0xe7, 0x01, 0xd5, 0x21, 0x1e, 0x50, 0xbf, 0x16, 0xa8, 0xdf, 0x06, 0xa8, 0x29, 0xbd, + 0x5a, 0xde, 0x0c, 0xbc, 0xe7, 0x0c, 0x56, 0x36, 0xf8, 0x8e, 0xc9, 0x6d, 0xca, 0x55, 0x7e, 0x32, + 0x52, 0xe5, 0x3e, 0xd5, 0xed, 0x49, 0x6d, 0xaa, 0x0e, 0x6b, 0xd3, 0x6f, 0x78, 0x15, 0x07, 0xfd, + 0x45, 0x13, 0xf2, 0x5b, 0x40, 0xfa, 0x53, 0x91, 0xbe, 0xcf, 0x2b, 0x25, 0x4f, 0xd5, 0x95, 0x61, + 0xdd, 0x9f, 0x8f, 0x15, 0x8b, 0x9e, 0xba, 0xd7, 0x4f, 0x10, 0x02, 0xf9, 0x58, 0xa9, 0xe4, 0x0d, + 0xdb, 0xc9, 0x4f, 0xbf, 0x35, 0xaf, 0x7c, 0xe5, 0xad, 0xf9, 0x91, 0xdc, 0x6f, 0x2a, 0x30, 0xc5, + 0x24, 0x85, 0xc0, 0x7d, 0x5a, 0x52, 0xfe, 0x34, 0x1f, 0x33, 0xc2, 0x2c, 0xf0, 0x13, 0x0b, 0xde, + 0x6f, 0x2a, 0x90, 0xed, 0xd1, 0x95, 0xdb, 0xfb, 0xd2, 0x50, 0x2a, 0xe7, 0x95, 0xf2, 0x4f, 0xdf, + 0xe6, 0x77, 0x21, 0xb1, 0xdb, 0x68, 0xa1, 0x0e, 0x9e, 0x09, 0xf0, 0x07, 0xaa, 0x32, 0xdf, 0xcc, + 0xa1, 0x4d, 0xbc, 0x8f, 0x2a, 0x17, 0xe8, 0x5b, 0xd6, 0xb3, 0x10, 0x5f, 0x35, 0x5d, 0x93, 0x68, + 0x90, 0xf1, 0xc6, 0x57, 0xd3, 0x35, 0x73, 0x57, 0x20, 0xb3, 0x79, 0x4c, 0x0e, 0x22, 0xd5, 0xc9, + 0x19, 0x94, 0x60, 0xf5, 0xc7, 0xeb, 0xd5, 0xcb, 0x8b, 0x89, 0x64, 0x5d, 0xbb, 0xa7, 0xe4, 0xe3, + 0x44, 0x9f, 0x57, 0x61, 0x62, 0x0b, 0xab, 0x4d, 0x70, 0x04, 0x76, 0x16, 0x94, 0xcd, 0x60, 0x21, + 0x24, 0xb2, 0x1a, 0xca, 0xa6, 0x54, 0x3e, 0xaa, 0x9e, 0x79, 0xa4, 0xb2, 0x4d, 0xf5, 0xca, 0xb6, + 0xc5, 0x78, 0x72, 0x42, 0x9b, 0x5a, 0x8c, 0x27, 0x41, 0x1b, 0x67, 0xf7, 0xfd, 0x0f, 0x2a, 0x68, + 0xb4, 0xd4, 0x59, 0x45, 0x07, 0x0d, 0xab, 0xe1, 0xf6, 0xd6, 0xab, 0x9e, 0xc6, 0xfa, 0x73, 0x90, + 0xc2, 0x26, 0x5d, 0x63, 0x3f, 0x09, 0x88, 0x4d, 0x7f, 0x8e, 0x95, 0x28, 0x12, 0x05, 0x6b, 0x20, + 0xa1, 0xe3, 0x63, 0xf4, 0x35, 0x50, 0x2b, 0x95, 0x4d, 0x36, 0xb9, 0xad, 0x0c, 0x84, 0xb2, 0xc3, + 0x3e, 0xec, 0x8a, 0xb5, 0x39, 0x87, 0x06, 0x26, 0xd0, 0x57, 0x20, 0x56, 0xd9, 0x64, 0x05, 0xef, + 0xf9, 0x61, 0x68, 0x8c, 0x58, 0x65, 0x73, 0xf6, 0xdf, 0x28, 0x30, 0x1e, 0x68, 0xd5, 0x73, 0x90, + 0xa1, 0x0d, 0xc2, 0xe3, 0x8e, 0x1a, 0x81, 0x36, 0xae, 0x73, 0xec, 0x7d, 0xea, 0x3c, 0x5b, 0x80, + 0x49, 0xa9, 0x5d, 0x5f, 0x02, 0x5d, 0x6c, 0x62, 0x4a, 0xd0, 0x9f, 0x23, 0x0b, 0xe9, 0xc9, 0x3d, + 0x0a, 0xe0, 0xdb, 0xd5, 0xfb, 0x15, 0xad, 0x4a, 0x79, 0x67, 0xb7, 0xbc, 0xaa, 0x29, 0xb9, 0xaf, + 0x2b, 0x90, 0x66, 0x65, 0x6b, 0xcd, 0x6e, 0x23, 0xbd, 0x08, 0x4a, 0x81, 0x45, 0xd0, 0x83, 0xe9, + 0xad, 0x14, 0xf4, 0x8b, 0xa0, 0x14, 0x87, 0x77, 0xb5, 0x52, 0xd4, 0x97, 0x41, 0x29, 0x31, 0x07, + 0x0f, 0xe7, 0x19, 0xa5, 0x94, 0xfb, 0x23, 0x15, 0xa6, 0xc5, 0x32, 0x9a, 0x8f, 0x27, 0xe7, 0x82, + 0xef, 0x4d, 0xf9, 0xd4, 0xe5, 0xe5, 0x2b, 0x2b, 0x4b, 0xf8, 0x1f, 0x2f, 0x24, 0x73, 0xc1, 0x57, + 0xa8, 0x3c, 0x78, 0x22, 0x97, 0xfb, 0x9d, 0x13, 0xc9, 0xc7, 0x05, 0x86, 0x9e, 0x73, 0x22, 0x81, + 0xde, 0x9e, 0x73, 0x22, 0x81, 0xde, 0x9e, 0x73, 0x22, 0x81, 0xde, 0x9e, 0xbd, 0x80, 0x40, 0x6f, + 0xcf, 0x39, 0x91, 0x40, 0x6f, 0xcf, 0x39, 0x91, 0x40, 0x6f, 0xef, 0x39, 0x11, 0xd6, 0xdd, 0xf7, + 0x9c, 0x48, 0xb0, 0xbf, 0xf7, 0x9c, 0x48, 0xb0, 0xbf, 0xf7, 0x9c, 0x48, 0x3e, 0xee, 0x76, 0xba, + 0xa8, 0xff, 0xae, 0x43, 0x10, 0x3f, 0xe8, 0x25, 0xd0, 0x1f, 0x81, 0xb7, 0x60, 0x92, 0x2e, 0x48, + 0x94, 0x6c, 0xcb, 0x35, 0x1b, 0x16, 0xea, 0xe8, 0x1f, 0x85, 0x0c, 0x6d, 0xa2, 0xaf, 0x39, 0x61, + 0xaf, 0x81, 0xb4, 0x9f, 0x8d, 0xb7, 0x01, 0xe9, 0xdc, 0x1f, 0xc7, 0x61, 0x86, 0x36, 0x54, 0xcc, + 0x16, 0x0a, 0x9c, 0x32, 0xba, 0x20, 0xed, 0x29, 0x4d, 0x60, 0xf8, 0xfd, 0x77, 0xe6, 0x69, 0x6b, + 0xc1, 0x8b, 0xa6, 0x0b, 0xd2, 0xee, 0x52, 0x50, 0xce, 0x9f, 0x80, 0x2e, 0x48, 0x27, 0x8f, 0x82, + 0x72, 0xde, 0x7c, 0xe3, 0xc9, 0xf1, 0x33, 0x48, 0x41, 0xb9, 0x55, 0x2f, 0xca, 0x2e, 0x48, 0xa7, + 0x91, 0x82, 0x72, 0x65, 0x2f, 0xde, 0x2e, 0x48, 0x7b, 0x4f, 0x41, 0xb9, 0x35, 0x2f, 0xf2, 0x2e, + 0x48, 0xbb, 0x50, 0x41, 0xb9, 0xdb, 0x5e, 0x0c, 0x5e, 0x90, 0xce, 0x2a, 0x05, 0xe5, 0x9e, 0xf7, + 0xa2, 0xf1, 0x82, 0x74, 0x6a, 0x29, 0x28, 0xb7, 0xee, 0xc5, 0xe5, 0x82, 0x7c, 0x7e, 0x29, 0x28, + 0x78, 0xc7, 0x8f, 0xd0, 0x05, 0xf9, 0x24, 0x53, 0x50, 0xf2, 0x63, 0x7e, 0xac, 0x2e, 0xc8, 0x67, + 0x9a, 0x82, 0x92, 0x1b, 0x7e, 0xd4, 0x2e, 0xc8, 0x7b, 0x65, 0x41, 0xc9, 0x4d, 0x3f, 0x7e, 0x17, + 0xe4, 0x5d, 0xb3, 0xa0, 0x64, 0xc5, 0x8f, 0xe4, 0x05, 0x79, 0xff, 0x2c, 0x28, 0xb9, 0xe5, 0x2f, + 0xa2, 0xff, 0xbe, 0x14, 0x7e, 0xc2, 0x29, 0xa8, 0x9c, 0x14, 0x7e, 0x10, 0x12, 0x7a, 0xd2, 0x40, + 0x26, 0xc8, 0xf8, 0x61, 0x97, 0x93, 0xc2, 0x0e, 0x42, 0x42, 0x2e, 0x27, 0x85, 0x1c, 0x84, 0x84, + 0x5b, 0x4e, 0x0a, 0x37, 0x08, 0x09, 0xb5, 0x9c, 0x14, 0x6a, 0x10, 0x12, 0x66, 0x39, 0x29, 0xcc, + 0x20, 0x24, 0xc4, 0x72, 0x52, 0x88, 0x41, 0x48, 0x78, 0xe5, 0xa4, 0xf0, 0x82, 0x90, 0xd0, 0x3a, + 0x2f, 0x87, 0x16, 0x84, 0x85, 0xd5, 0x79, 0x39, 0xac, 0x20, 0x2c, 0xa4, 0x1e, 0x93, 0x43, 0x2a, + 0x75, 0xff, 0x9d, 0xf9, 0x04, 0x6e, 0x12, 0xa2, 0xe9, 0xbc, 0x1c, 0x4d, 0x10, 0x16, 0x49, 0xe7, + 0xe5, 0x48, 0x82, 0xb0, 0x28, 0x3a, 0x2f, 0x47, 0x11, 0x84, 0x45, 0xd0, 0xdb, 0x72, 0x04, 0xf9, + 0x67, 0x7c, 0x72, 0xd2, 0x96, 0x62, 0x54, 0x04, 0xa9, 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, + 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, 0x43, 0x44, 0x90, 0x3a, 0x44, 0x04, 0xa9, 0x43, 0x44, + 0x90, 0x3a, 0x4c, 0x04, 0xa9, 0x43, 0x45, 0x90, 0xda, 0x2f, 0x82, 0xce, 0xcb, 0x27, 0x1e, 0x20, + 0x6c, 0x40, 0x3a, 0x2f, 0x6f, 0x7d, 0x46, 0x87, 0x90, 0x3a, 0x54, 0x08, 0xa9, 0xfd, 0x42, 0xe8, + 0xf7, 0x55, 0x98, 0x0e, 0x84, 0x10, 0xdb, 0x1f, 0xfa, 0xa0, 0x46, 0xa0, 0x6b, 0x43, 0x1c, 0xb0, + 0x08, 0x8b, 0xa9, 0x6b, 0x43, 0x6c, 0x52, 0x0f, 0x8a, 0xb3, 0xde, 0x51, 0xa8, 0x3c, 0xc4, 0x28, + 0xb4, 0xe6, 0xc5, 0xd0, 0xb5, 0x21, 0x0e, 0x5e, 0xf4, 0xc6, 0xde, 0x8d, 0x41, 0x83, 0xc0, 0xf3, + 0x43, 0x0d, 0x02, 0xeb, 0x43, 0x0d, 0x02, 0x77, 0x7c, 0x0f, 0xfe, 0x62, 0x0c, 0x4e, 0xf9, 0x1e, + 0xa4, 0x9f, 0xc8, 0x2f, 0x6b, 0xe5, 0x84, 0x2d, 0x2a, 0x9d, 0x6f, 0xdb, 0x08, 0x6e, 0x8c, 0xad, + 0xd7, 0xf5, 0xed, 0xe0, 0x66, 0x55, 0xfe, 0xa4, 0x1b, 0x38, 0x82, 0xc7, 0xd9, 0x62, 0xe8, 0x79, + 0x50, 0xd7, 0xeb, 0x0e, 0x19, 0x2d, 0xc2, 0x6e, 0x5b, 0x32, 0x70, 0xb7, 0x6e, 0xc0, 0x28, 0x11, + 0x77, 0x88, 0x7b, 0xdf, 0xcf, 0x8d, 0x57, 0x0d, 0xc6, 0x94, 0x7b, 0x5b, 0x81, 0xb3, 0x81, 0x50, + 0xfe, 0x60, 0xb6, 0x0c, 0x6e, 0x0d, 0xb5, 0x65, 0x10, 0x48, 0x10, 0x7f, 0xfb, 0xe0, 0x89, 0xde, + 0x9d, 0x6a, 0x31, 0x4b, 0xe4, 0xad, 0x84, 0xbf, 0x00, 0x13, 0xfe, 0x13, 0x90, 0x77, 0xb6, 0xab, + 0xd1, 0xab, 0x99, 0x61, 0xa9, 0x79, 0x55, 0x5a, 0x45, 0x1b, 0x08, 0xf3, 0xb2, 0x35, 0x97, 0x87, + 0xc9, 0x4a, 0xf0, 0x2b, 0x51, 0x51, 0x8b, 0x11, 0x49, 0x5c, 0x9a, 0xdf, 0xfb, 0xd2, 0xfc, 0x48, + 0xee, 0x29, 0xc8, 0x88, 0xdf, 0x7a, 0x92, 0x80, 0x29, 0x0e, 0xcc, 0xc7, 0xbf, 0x85, 0xa5, 0xff, + 0xbe, 0x02, 0xa7, 0x45, 0xf1, 0x17, 0x1a, 0xee, 0xd1, 0xba, 0x85, 0x6b, 0xfa, 0x67, 0x20, 0x89, + 0x98, 0xe3, 0xd8, 0x8f, 0xe4, 0xb0, 0xf7, 0xc8, 0x50, 0xf1, 0x25, 0xf2, 0xaf, 0xe1, 0x41, 0xa4, + 0x35, 0x0e, 0x7e, 0xdb, 0xe5, 0xd9, 0xc7, 0x21, 0x41, 0xf9, 0x83, 0x7a, 0x8d, 0x4b, 0x7a, 0xfd, + 0x7a, 0x88, 0x5e, 0x24, 0x8e, 0xf4, 0x3b, 0x01, 0xbd, 0x84, 0xd7, 0xd5, 0x50, 0xf1, 0x25, 0x1e, + 0x7c, 0xc5, 0x24, 0xae, 0xff, 0x48, 0x44, 0x45, 0x2b, 0xb9, 0x00, 0xc9, 0xb2, 0x2c, 0x13, 0xae, + 0xe7, 0x2a, 0xc4, 0x2b, 0x76, 0x9d, 0xfc, 0x7c, 0x0f, 0xf9, 0x21, 0x6c, 0x66, 0x64, 0xf6, 0xab, + 0xd8, 0x17, 0x20, 0x59, 0x3a, 0x6a, 0x34, 0xeb, 0x1d, 0x64, 0xb1, 0x3d, 0x7b, 0xb6, 0x84, 0x8e, + 0x31, 0x86, 0xd7, 0x97, 0x2b, 0xc1, 0x54, 0xc5, 0xb6, 0x8a, 0xc7, 0xae, 0x38, 0x6e, 0x2c, 0x49, + 0x29, 0xc2, 0xf6, 0x7c, 0xc8, 0xb7, 0x44, 0xb0, 0x40, 0x31, 0xf1, 0xed, 0x77, 0xe6, 0x95, 0x5d, + 0x6f, 0xfd, 0x7c, 0x13, 0x1e, 0x62, 0xe9, 0xd3, 0x43, 0xb5, 0x1c, 0x45, 0x95, 0x62, 0xfb, 0xd4, + 0x02, 0xdd, 0x3a, 0xa6, 0xb3, 0x42, 0xe9, 0x1e, 0x4c, 0x33, 0x5c, 0x14, 0x0d, 0xd4, 0x4c, 0x3d, + 0x91, 0x66, 0xa1, 0x74, 0x4b, 0x51, 0x74, 0x92, 0x66, 0x8f, 0x41, 0xca, 0xeb, 0x13, 0xa2, 0x41, + 0xcc, 0x94, 0xe5, 0xc5, 0x1c, 0xa4, 0x85, 0x84, 0xd5, 0x13, 0xa0, 0x14, 0xb4, 0x11, 0xfc, 0x5f, + 0x51, 0x53, 0xf0, 0x7f, 0x25, 0x2d, 0xb6, 0xf8, 0x38, 0x4c, 0x4a, 0xeb, 0x97, 0xb8, 0x67, 0x55, + 0x03, 0xfc, 0x5f, 0x59, 0x4b, 0xcf, 0xc6, 0x3f, 0xfd, 0x6b, 0x73, 0x23, 0x8b, 0xb7, 0x40, 0xef, + 0x5d, 0xe9, 0xd4, 0x47, 0x21, 0x56, 0xc0, 0x94, 0x0f, 0x41, 0xac, 0x58, 0xd4, 0x94, 0xd9, 0xc9, + 0xbf, 0xfa, 0xf9, 0xb3, 0xe9, 0x22, 0xf9, 0x4a, 0xf7, 0x5d, 0xe4, 0x16, 0x8b, 0x0c, 0xfc, 0x2c, + 0x9c, 0x0e, 0x5d, 0x29, 0xc5, 0xf8, 0x52, 0x89, 0xe2, 0x57, 0x57, 0x7b, 0xf0, 0xab, 0xab, 0x04, + 0xaf, 0xe4, 0xf9, 0x8e, 0x73, 0x41, 0x0f, 0x59, 0x97, 0xcc, 0xd6, 0x85, 0x1d, 0xee, 0x42, 0xfe, + 0x59, 0x26, 0x5b, 0x0c, 0x95, 0x45, 0x11, 0x3b, 0xd6, 0xc5, 0x7c, 0x89, 0xe1, 0x4b, 0xa1, 0xf8, + 0x03, 0x69, 0x5b, 0x35, 0x38, 0x43, 0x30, 0x92, 0x92, 0xa7, 0xf0, 0x6a, 0x28, 0xc9, 0x91, 0x70, + 0xd8, 0x7d, 0xd5, 0x53, 0xb8, 0x1c, 0x2a, 0xdb, 0x88, 0x38, 0xf4, 0x55, 0xce, 0x5f, 0x64, 0x93, + 0x7c, 0xe1, 0xb2, 0x7e, 0x9a, 0xe7, 0x68, 0x60, 0x04, 0x66, 0x06, 0xe2, 0x52, 0xf9, 0x12, 0x03, + 0x14, 0xfb, 0x02, 0xfa, 0x5b, 0x89, 0x23, 0xf3, 0xcf, 0x33, 0x92, 0x52, 0x5f, 0x92, 0x08, 0x53, + 0x71, 0x78, 0x71, 0xf7, 0xde, 0xbb, 0x73, 0x23, 0xdf, 0x7a, 0x77, 0x6e, 0xe4, 0xbf, 0xbc, 0x3b, + 0x37, 0xf2, 0x9d, 0x77, 0xe7, 0x94, 0xef, 0xbf, 0x3b, 0xa7, 0xfc, 0xf0, 0xdd, 0x39, 0xe5, 0x47, + 0xef, 0xce, 0x29, 0x6f, 0xde, 0x9f, 0x53, 0xbe, 0x72, 0x7f, 0x4e, 0xf9, 0xea, 0xfd, 0x39, 0xe5, + 0x77, 0xef, 0xcf, 0x29, 0x6f, 0xdf, 0x9f, 0x53, 0xee, 0xdd, 0x9f, 0x53, 0xbe, 0x75, 0x7f, 0x4e, + 0xf9, 0xce, 0xfd, 0x39, 0xe5, 0xfb, 0xf7, 0xe7, 0x46, 0x7e, 0x78, 0x7f, 0x4e, 0xf9, 0xd1, 0xfd, + 0xb9, 0x91, 0x37, 0xbf, 0x3b, 0x37, 0xf2, 0xd6, 0x77, 0xe7, 0x46, 0xbe, 0xf2, 0xdd, 0x39, 0x05, + 0xfe, 0x70, 0x05, 0x72, 0xec, 0x9b, 0x64, 0xc2, 0x97, 0x86, 0x2f, 0xba, 0x47, 0x88, 0x14, 0x05, + 0x57, 0xf8, 0xaf, 0x80, 0x79, 0x0d, 0x27, 0xfc, 0x5e, 0xd9, 0xec, 0x83, 0x7e, 0x8b, 0x2d, 0xf7, + 0x6f, 0x13, 0x30, 0xc6, 0x57, 0x83, 0xc3, 0x7e, 0x2b, 0xfd, 0x2a, 0x24, 0x8f, 0x1a, 0x4d, 0xb3, + 0xd3, 0x70, 0x8f, 0xd9, 0x32, 0xe8, 0xc3, 0x4b, 0xbe, 0xda, 0x7c, 0xe1, 0xf4, 0xf9, 0x6e, 0xcb, + 0xee, 0x76, 0x0c, 0x4f, 0x54, 0x3f, 0x0b, 0x99, 0x23, 0xd4, 0x38, 0x3c, 0x72, 0xab, 0x0d, 0xab, + 0x5a, 0x6b, 0x91, 0x6a, 0x79, 0xdc, 0x00, 0xda, 0xb6, 0x6e, 0x95, 0x5a, 0xf8, 0x66, 0x75, 0xd3, + 0x35, 0xc9, 0x5b, 0x7a, 0xc6, 0x20, 0x9f, 0xc9, 0xef, 0x1d, 0x23, 0xa7, 0xdb, 0x74, 0xab, 0x35, + 0xbb, 0x6b, 0xb9, 0xa4, 0x9e, 0x55, 0x8d, 0x34, 0x6d, 0x2b, 0xe1, 0x26, 0xfd, 0x31, 0x18, 0x77, + 0x3b, 0x5d, 0x54, 0x75, 0x6a, 0xb6, 0xeb, 0xb4, 0x4c, 0x8b, 0xd4, 0xb3, 0x49, 0x23, 0x83, 0x1b, + 0x77, 0x58, 0x1b, 0xf9, 0x99, 0xfd, 0x9a, 0xdd, 0x41, 0xe4, 0x75, 0x3a, 0x66, 0xd0, 0x0b, 0x5d, + 0x03, 0xf5, 0x15, 0x74, 0x4c, 0x5e, 0xd8, 0xe2, 0x06, 0xfe, 0xa8, 0x3f, 0x09, 0xa3, 0xf4, 0xef, + 0xe4, 0x90, 0xea, 0x9a, 0x6c, 0x5e, 0x7b, 0x8f, 0x46, 0x17, 0x69, 0x0d, 0x26, 0xa0, 0xdf, 0x84, + 0x31, 0x17, 0x75, 0x3a, 0x66, 0xc3, 0x22, 0x2f, 0x4f, 0xe9, 0xe5, 0xf9, 0x10, 0x33, 0xec, 0x52, + 0x09, 0xf2, 0xab, 0xc0, 0x06, 0x97, 0xd7, 0xaf, 0x42, 0x86, 0xc8, 0x2d, 0x57, 0xe9, 0xdf, 0x12, + 0x4a, 0xf7, 0x8d, 0xe7, 0x34, 0x95, 0xe3, 0x7b, 0x05, 0x1c, 0x46, 0x7f, 0x11, 0x71, 0x9c, 0xdc, + 0xf6, 0xb1, 0x90, 0xdb, 0x92, 0xa1, 0x77, 0x99, 0x94, 0x8d, 0xf4, 0xd6, 0x8c, 0x87, 0xfe, 0x66, + 0xe2, 0x26, 0x64, 0x44, 0xbd, 0xb8, 0x19, 0x68, 0xf9, 0x43, 0xcc, 0xf0, 0x84, 0xff, 0x77, 0x1a, + 0xfa, 0x58, 0x81, 0xf6, 0xe7, 0x63, 0x37, 0x94, 0xd9, 0x6d, 0xd0, 0xe4, 0xfb, 0x85, 0x50, 0x5e, + 0x08, 0x52, 0x6a, 0xe2, 0xc3, 0x92, 0x95, 0x72, 0x9f, 0x31, 0xf7, 0x1c, 0x8c, 0xd2, 0xf8, 0xd1, + 0xd3, 0x30, 0xe6, 0xff, 0xd8, 0x66, 0x12, 0xe2, 0xdb, 0x7b, 0x95, 0x1d, 0xfa, 0xab, 0xb9, 0x3b, + 0x1b, 0x85, 0xed, 0x9d, 0xdd, 0xf5, 0xd2, 0xc7, 0xb4, 0x98, 0x3e, 0x09, 0xe9, 0xe2, 0xfa, 0xc6, + 0x46, 0xb5, 0x58, 0x58, 0xdf, 0x28, 0xdf, 0xd5, 0xd4, 0xdc, 0x1c, 0x8c, 0x52, 0x3d, 0xc9, 0xaf, + 0xff, 0x75, 0x2d, 0xeb, 0x98, 0x97, 0x0f, 0xe4, 0x22, 0xf7, 0x35, 0x1d, 0xc6, 0x0a, 0xcd, 0xe6, + 0xa6, 0xd9, 0x76, 0xf4, 0x17, 0x60, 0x8a, 0xfe, 0x2e, 0xc7, 0xae, 0xbd, 0x4a, 0x7e, 0xa4, 0x12, + 0x0f, 0x0e, 0x0a, 0xfb, 0xfb, 0x14, 0xfe, 0x73, 0x33, 0xf1, 0xa5, 0x1e, 0x59, 0x6a, 0xe0, 0x5e, + 0x0e, 0x7d, 0x17, 0x34, 0xde, 0xb8, 0xd6, 0xb4, 0x4d, 0x17, 0xf3, 0xc6, 0xd8, 0x6f, 0x48, 0xf6, + 0xe7, 0xe5, 0xa2, 0x94, 0xb6, 0x87, 0x41, 0xff, 0x28, 0x24, 0xd7, 0x2d, 0xf7, 0xca, 0x32, 0x66, + 0xe3, 0x7f, 0xfb, 0xa9, 0x97, 0x8d, 0x8b, 0x50, 0x16, 0x0f, 0xc1, 0xd0, 0xd7, 0x56, 0x30, 0x3a, + 0x3e, 0x08, 0x4d, 0x44, 0x7c, 0x34, 0xb9, 0xd4, 0x9f, 0x83, 0x14, 0x7e, 0x3b, 0xa1, 0x37, 0x4f, + 0xf0, 0xd2, 0xb5, 0x07, 0xee, 0xc9, 0x50, 0xbc, 0x8f, 0xe1, 0x04, 0xf4, 0xfe, 0xa3, 0x03, 0x09, + 0x04, 0x05, 0x7c, 0x0c, 0x26, 0xd8, 0xf1, 0x34, 0x18, 0xeb, 0x4b, 0xb0, 0x23, 0x69, 0xb0, 0x23, + 0x6a, 0xb0, 0xe3, 0x69, 0x90, 0x1c, 0x48, 0x20, 0x6a, 0xe0, 0x5d, 0xeb, 0x45, 0x80, 0xb5, 0xc6, + 0xeb, 0xa8, 0x4e, 0x55, 0xa0, 0x7f, 0x19, 0x2a, 0x17, 0xc2, 0xe0, 0x0b, 0x51, 0x0a, 0x01, 0xa5, + 0x97, 0x21, 0xbd, 0x73, 0xe0, 0x93, 0x40, 0x4f, 0x1e, 0x7b, 0x6a, 0x1c, 0x48, 0x2c, 0x22, 0xce, + 0x53, 0x85, 0x3e, 0x4c, 0x7a, 0xb0, 0x2a, 0xc2, 0xd3, 0x08, 0x28, 0x5f, 0x15, 0x4a, 0x92, 0x89, + 0x50, 0x45, 0x60, 0x11, 0x71, 0x78, 0x30, 0x2c, 0xda, 0x36, 0x96, 0x64, 0xa3, 0xd2, 0x7c, 0x08, + 0x05, 0x93, 0x60, 0x83, 0x21, 0xbb, 0x22, 0x1e, 0x21, 0x41, 0x8e, 0xc1, 0x13, 0xfd, 0x3d, 0xc2, + 0x65, 0xb8, 0x47, 0xf8, 0xb5, 0x98, 0x67, 0xe4, 0x44, 0x2b, 0xe6, 0x99, 0x8c, 0xcc, 0x33, 0x2e, + 0x2a, 0xe5, 0x19, 0x6f, 0xd6, 0x3f, 0x0e, 0x93, 0xbc, 0x0d, 0x0f, 0x4f, 0x98, 0x54, 0x63, 0x7f, + 0x3b, 0xaf, 0x3f, 0x29, 0x93, 0xa4, 0x9c, 0x32, 0x5e, 0xaf, 0xc0, 0x04, 0x6f, 0xda, 0x74, 0xc8, + 0xe3, 0x4e, 0xb1, 0x3f, 0x8b, 0xd2, 0x9f, 0x91, 0x0a, 0x52, 0x42, 0x09, 0x3d, 0xbb, 0x0a, 0x33, + 0xe1, 0xa3, 0x91, 0x38, 0xfc, 0xa6, 0xe8, 0xf0, 0x7b, 0x4a, 0x1c, 0x7e, 0x15, 0x71, 0xf8, 0x2e, + 0xc1, 0xe9, 0xd0, 0xb1, 0x27, 0x8a, 0x24, 0x26, 0x92, 0xdc, 0x82, 0xf1, 0xc0, 0x90, 0x23, 0x82, + 0x13, 0x21, 0xe0, 0x44, 0x2f, 0xd8, 0x0f, 0xad, 0x90, 0xd9, 0x23, 0x00, 0x56, 0x45, 0xf0, 0x47, + 0x61, 0x22, 0x38, 0xde, 0x88, 0xe8, 0xf1, 0x10, 0xf4, 0x78, 0x08, 0x3a, 0xfc, 0xde, 0xf1, 0x10, + 0x74, 0x5c, 0x42, 0xef, 0xf4, 0xbd, 0xf7, 0x54, 0x08, 0x7a, 0x2a, 0x04, 0x1d, 0x7e, 0x6f, 0x3d, + 0x04, 0xad, 0x8b, 0xe8, 0x67, 0x60, 0x52, 0x1a, 0x62, 0x44, 0xf8, 0x58, 0x08, 0x7c, 0x4c, 0x84, + 0x3f, 0x0b, 0x9a, 0x3c, 0xb8, 0x88, 0xf8, 0xc9, 0x10, 0xfc, 0x64, 0xd8, 0xed, 0xc3, 0xb5, 0x1f, + 0x0d, 0x81, 0x8f, 0x86, 0xde, 0x3e, 0x1c, 0xaf, 0x85, 0xe0, 0x35, 0x11, 0x9f, 0x87, 0x8c, 0x38, + 0x9a, 0x88, 0xd8, 0x64, 0x08, 0x36, 0x29, 0xdb, 0x3d, 0x30, 0x98, 0x44, 0x45, 0x7a, 0xaa, 0x4f, + 0xba, 0x04, 0x86, 0x90, 0x28, 0x92, 0x8c, 0x48, 0xf2, 0x09, 0x38, 0x15, 0x36, 0x64, 0x84, 0x70, + 0x2c, 0x88, 0x1c, 0x13, 0xb8, 0x46, 0xf4, 0x8b, 0x3d, 0xb3, 0x2d, 0x15, 0x4e, 0xb3, 0x2f, 0xc1, + 0x74, 0xc8, 0xc0, 0x11, 0x42, 0xbb, 0x14, 0xac, 0xc6, 0xb2, 0x02, 0x2d, 0x19, 0x04, 0x1a, 0xd6, + 0xe1, 0xb6, 0xdd, 0xb0, 0x5c, 0xb1, 0x2a, 0xfb, 0xfa, 0x34, 0x4c, 0xb0, 0xe1, 0x69, 0xab, 0x53, + 0x47, 0x1d, 0x54, 0xd7, 0xff, 0x5c, 0xff, 0xda, 0xe9, 0x52, 0xef, 0xa0, 0xc6, 0x50, 0x27, 0x28, + 0xa1, 0x5e, 0xea, 0x5b, 0x42, 0x5d, 0x8c, 0xa6, 0x8f, 0xaa, 0xa4, 0x4a, 0x3d, 0x95, 0xd4, 0x13, + 0xfd, 0x49, 0xfb, 0x15, 0x54, 0xa5, 0x9e, 0x82, 0x6a, 0x30, 0x49, 0x68, 0x5d, 0xb5, 0xd6, 0x5b, + 0x57, 0x2d, 0xf4, 0x67, 0xe9, 0x5f, 0x5e, 0xad, 0xf5, 0x96, 0x57, 0x11, 0x3c, 0xe1, 0x55, 0xd6, + 0x5a, 0x6f, 0x95, 0x35, 0x80, 0xa7, 0x7f, 0xb1, 0xb5, 0xd6, 0x5b, 0x6c, 0x45, 0xf0, 0x84, 0xd7, + 0x5c, 0xeb, 0x21, 0x35, 0xd7, 0x93, 0xfd, 0x89, 0x06, 0x95, 0x5e, 0x1b, 0x61, 0xa5, 0xd7, 0xe2, + 0x00, 0xa5, 0x06, 0x56, 0x60, 0xeb, 0x21, 0x15, 0x58, 0x94, 0x62, 0x7d, 0x0a, 0xb1, 0x8d, 0xb0, + 0x42, 0x2c, 0x52, 0xb1, 0x7e, 0xf5, 0xd8, 0xcf, 0xc9, 0xf5, 0xd8, 0x85, 0xfe, 0x4c, 0xe1, 0x65, + 0xd9, 0x5a, 0x6f, 0x59, 0xb6, 0x10, 0x95, 0x73, 0x61, 0xd5, 0xd9, 0x4b, 0x7d, 0xab, 0xb3, 0x21, + 0x52, 0x38, 0xaa, 0x48, 0x7b, 0xb1, 0x5f, 0x91, 0xb6, 0x14, 0xcd, 0x3d, 0xb8, 0x56, 0xdb, 0xeb, + 0x53, 0xab, 0x3d, 0x1d, 0x4d, 0xfc, 0xb3, 0x92, 0xed, 0x67, 0x25, 0xdb, 0xcf, 0x4a, 0xb6, 0x9f, + 0x95, 0x6c, 0x3f, 0xfd, 0x92, 0x2d, 0x1f, 0xff, 0xcc, 0x97, 0xe6, 0x95, 0xdc, 0x7f, 0x56, 0xbd, + 0x3f, 0xb8, 0xf6, 0x42, 0xc3, 0x3d, 0xc2, 0xc3, 0xdb, 0x26, 0x64, 0xc8, 0x0f, 0x00, 0xb7, 0xcc, + 0x76, 0xbb, 0x61, 0x1d, 0xb2, 0x9a, 0x6d, 0xb1, 0x77, 0x29, 0x91, 0x01, 0xc8, 0x1f, 0x9b, 0xd9, + 0xa4, 0xc2, 0x6c, 0xba, 0xb1, 0xfc, 0x16, 0xfd, 0x0e, 0xa4, 0x5b, 0xce, 0xa1, 0xc7, 0x16, 0xeb, + 0x99, 0x08, 0x25, 0x36, 0xfa, 0xa4, 0x3e, 0x19, 0xb4, 0xbc, 0x06, 0xac, 0xda, 0xfe, 0xb1, 0xeb, + 0xab, 0xa6, 0x46, 0xa9, 0x86, 0x7d, 0x1a, 0x54, 0x6d, 0xdf, 0x6f, 0xc1, 0x61, 0x2b, 0xeb, 0x1e, + 0x35, 0xd2, 0x05, 0x82, 0xe7, 0x05, 0x98, 0x94, 0xb4, 0x0d, 0xc9, 0xf9, 0x07, 0xf0, 0x0d, 0x56, + 0x4c, 0xd6, 0x3c, 0x2a, 0x27, 0xc4, 0x80, 0xcc, 0x3d, 0x0a, 0xe3, 0x01, 0x6e, 0x3d, 0x03, 0xca, + 0x01, 0xfb, 0x3a, 0xa5, 0x72, 0x90, 0xfb, 0xa2, 0x02, 0x69, 0x76, 0x94, 0x60, 0xdb, 0x6c, 0x74, + 0xf4, 0xe7, 0x21, 0xde, 0xe4, 0x5f, 0x69, 0x7a, 0xd0, 0xaf, 0xcf, 0x12, 0x06, 0x7d, 0x0d, 0x12, + 0x1d, 0xef, 0x2b, 0x4f, 0x0f, 0xf4, 0x9d, 0x58, 0x02, 0xcf, 0xdd, 0x53, 0x60, 0x8a, 0x9d, 0x74, + 0x75, 0xd8, 0x01, 0x68, 0xb3, 0x3d, 0xfb, 0x35, 0x05, 0x52, 0xde, 0x95, 0xbe, 0x0f, 0x13, 0xde, + 0x05, 0x3d, 0x64, 0x4f, 0x23, 0x35, 0x2f, 0x58, 0xb8, 0x87, 0x63, 0x29, 0xe4, 0x13, 0xdd, 0x8c, + 0xa2, 0x73, 0x72, 0xb0, 0x71, 0xb6, 0x00, 0xd3, 0x21, 0x62, 0x27, 0x99, 0x90, 0x73, 0xe7, 0x20, + 0x55, 0xb1, 0x5d, 0xfa, 0xcb, 0x39, 0xfa, 0x29, 0x61, 0x57, 0xa1, 0x18, 0xd3, 0x46, 0x08, 0x78, + 0xf1, 0x1c, 0x8c, 0xb1, 0xec, 0xd7, 0x47, 0x21, 0xb6, 0x59, 0xd0, 0x46, 0xc8, 0xff, 0x45, 0x4d, + 0x21, 0xff, 0x97, 0xb4, 0x58, 0x71, 0xe3, 0x01, 0x76, 0x9a, 0x46, 0xfa, 0xed, 0x34, 0xed, 0x8f, + 0x52, 0xf3, 0xfc, 0x49, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x79, 0x7c, 0xa8, 0xc6, 0x83, 0x00, + 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -10259,112 +10369,3 @@ var ( ErrInvalidLengthTheproto3 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTheproto3 = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/unmarshaler/theproto3.proto", fileDescriptor_theproto3_42f7388870cddc3f) -} - -var fileDescriptor_theproto3_42f7388870cddc3f = []byte{ - // 1612 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x99, 0xcf, 0x6f, 0xdb, 0x46, - 0x16, 0xc7, 0x35, 0xfa, 0xad, 0xa7, 0x1f, 0xa6, 0x27, 0xd9, 0x85, 0xd6, 0xc0, 0xd2, 0xb2, 0x02, - 0x24, 0x4a, 0xb0, 0x91, 0xb3, 0x4e, 0xb2, 0x9b, 0xba, 0x69, 0x53, 0x4b, 0xb1, 0x10, 0x37, 0xb6, - 0xe2, 0x4a, 0x76, 0xdc, 0x22, 0x40, 0x0d, 0xca, 0xa6, 0x25, 0x22, 0x12, 0x69, 0x90, 0xa3, 0xa0, - 0xbe, 0xe5, 0xcf, 0xe8, 0xad, 0xe8, 0xad, 0xc7, 0x22, 0x87, 0xa2, 0xc7, 0xf6, 0xe6, 0x63, 0x80, - 0x5e, 0x8a, 0x1e, 0x82, 0x58, 0xbd, 0xe4, 0x98, 0x63, 0x8e, 0xc5, 0xcc, 0x50, 0xd2, 0x48, 0x1c, - 0x8a, 0x4d, 0x2f, 0xbd, 0xf8, 0x24, 0xce, 0xf3, 0xfb, 0x7e, 0xe6, 0x71, 0x38, 0xf3, 0xf8, 0x05, - 0x0d, 0xc5, 0x03, 0xab, 0xd7, 0xb2, 0x9c, 0xe5, 0xbe, 0xd9, 0xd3, 0x6c, 0xa7, 0xa3, 0x75, 0x75, - 0x7b, 0x99, 0x74, 0xf4, 0x63, 0xdb, 0x22, 0xd6, 0xcd, 0x32, 0xfb, 0xc1, 0xa9, 0x51, 0x60, 0xe1, - 0x7a, 0xdb, 0x20, 0x9d, 0x7e, 0xab, 0x7c, 0x60, 0xf5, 0x96, 0xdb, 0x56, 0xdb, 0x5a, 0x66, 0xf1, - 0x56, 0xff, 0x88, 0x8d, 0xd8, 0x80, 0x5d, 0x71, 0xe5, 0xc2, 0xff, 0x7d, 0xd3, 0x89, 0xee, 0x90, - 0x65, 0x77, 0xee, 0x96, 0x45, 0x3a, 0x74, 0x52, 0x1a, 0xe3, 0xc2, 0xe2, 0xcf, 0x31, 0x48, 0x6c, - 0xe9, 0x8e, 0xa3, 0xb5, 0x75, 0x8c, 0x21, 0x6a, 0x6a, 0x3d, 0x3d, 0x8f, 0x0a, 0xa8, 0x94, 0x6a, - 0xb0, 0x6b, 0x7c, 0x1b, 0x92, 0x1d, 0xa3, 0xab, 0xd9, 0x06, 0x39, 0xc9, 0x87, 0x0b, 0xa8, 0x94, - 0x5b, 0xf9, 0x57, 0x79, 0x5c, 0xb6, 0xab, 0x2c, 0x3f, 0xe8, 0xf7, 0xac, 0xbe, 0xdd, 0x18, 0xa5, - 0xe2, 0x02, 0x64, 0x3a, 0xba, 0xd1, 0xee, 0x90, 0x7d, 0xc3, 0xdc, 0x3f, 0xe8, 0xe5, 0x23, 0x05, - 0x54, 0xca, 0x36, 0x80, 0xc7, 0x36, 0xcc, 0x6a, 0x8f, 0x4e, 0x76, 0xa8, 0x11, 0x2d, 0x1f, 0x2d, - 0xa0, 0x52, 0xa6, 0xc1, 0xae, 0xf1, 0x12, 0x64, 0x6c, 0xdd, 0xe9, 0x77, 0xc9, 0xfe, 0x81, 0xd5, - 0x37, 0x49, 0x3e, 0x51, 0x40, 0xa5, 0x48, 0x23, 0xcd, 0x63, 0x55, 0x1a, 0xc2, 0x97, 0x20, 0x4b, - 0xec, 0xbe, 0xbe, 0xef, 0x1c, 0x58, 0xc4, 0xe9, 0x69, 0x66, 0x3e, 0x59, 0x40, 0xa5, 0x64, 0x23, - 0x43, 0x83, 0x4d, 0x37, 0x86, 0x2f, 0x42, 0xcc, 0x39, 0xb0, 0x6c, 0x3d, 0x9f, 0x2a, 0xa0, 0x52, - 0xb8, 0xc1, 0x07, 0x58, 0x81, 0xc8, 0x53, 0xfd, 0x24, 0x1f, 0x2b, 0x44, 0x4a, 0xd1, 0x06, 0xbd, - 0xc4, 0x57, 0x21, 0x6e, 0xea, 0x0e, 0xd1, 0x0f, 0xf3, 0xf1, 0x02, 0x2a, 0xa5, 0x57, 0xe6, 0x85, - 0x5b, 0xab, 0xb3, 0x3f, 0x34, 0xdc, 0x04, 0xfc, 0x01, 0x24, 0x88, 0x6e, 0xdb, 0x9a, 0x61, 0xe6, - 0xa1, 0x10, 0x29, 0xa5, 0x57, 0x16, 0x25, 0xcb, 0xb0, 0xc3, 0x33, 0xd6, 0x4d, 0x62, 0x9f, 0x34, - 0x86, 0xf9, 0xf8, 0x36, 0x64, 0x58, 0xde, 0xca, 0xfe, 0x91, 0xa1, 0x77, 0x0f, 0xf3, 0x69, 0x36, - 0x17, 0x2e, 0xb3, 0xa7, 0x50, 0x37, 0xcc, 0x47, 0xc7, 0xa4, 0xae, 0x11, 0xe3, 0x99, 0xde, 0x48, - 0xf3, 0xbc, 0x1a, 0x4d, 0xc3, 0xb5, 0x91, 0xec, 0x99, 0xd6, 0xed, 0xeb, 0xf9, 0x2c, 0x9b, 0xf6, - 0x92, 0x64, 0xda, 0x6d, 0x96, 0xf6, 0x98, 0x66, 0xf1, 0xa9, 0x5d, 0x0e, 0x8b, 0x2c, 0x6c, 0x41, - 0x46, 0xac, 0x6b, 0xb8, 0x0c, 0x88, 0xad, 0x2d, 0x5b, 0x86, 0x2b, 0x10, 0xe3, 0x53, 0x84, 0xfd, - 0x56, 0x81, 0xff, 0x7d, 0x35, 0x7c, 0x07, 0x2d, 0x6c, 0x83, 0x32, 0x3d, 0x9f, 0x04, 0x79, 0x79, - 0x12, 0xa9, 0x88, 0x37, 0xbb, 0x6e, 0xf6, 0x7b, 0x02, 0xb1, 0x78, 0x0f, 0xe2, 0x7c, 0xff, 0xe0, - 0x34, 0x24, 0x76, 0xeb, 0x0f, 0xeb, 0x8f, 0xf6, 0xea, 0x4a, 0x08, 0x27, 0x21, 0xba, 0xbd, 0x5b, - 0x6f, 0x2a, 0x08, 0x67, 0x21, 0xd5, 0xdc, 0x5c, 0xdb, 0x6e, 0xee, 0x6c, 0x54, 0x1f, 0x2a, 0x61, - 0x3c, 0x07, 0xe9, 0xca, 0xc6, 0xe6, 0xe6, 0x7e, 0x65, 0x6d, 0x63, 0x73, 0xfd, 0x0b, 0x25, 0x52, - 0x54, 0x21, 0xce, 0xeb, 0xa4, 0x0f, 0xbe, 0xd5, 0x37, 0xcd, 0x13, 0x77, 0x0b, 0xf3, 0x41, 0xf1, - 0x05, 0x86, 0xc4, 0x5a, 0xb7, 0xbb, 0xa5, 0x1d, 0x3b, 0x78, 0x0f, 0xe6, 0x9b, 0xc4, 0x36, 0xcc, - 0xf6, 0x8e, 0x75, 0xdf, 0xea, 0xb7, 0xba, 0xfa, 0x96, 0x76, 0x9c, 0x47, 0x6c, 0x69, 0xaf, 0x0a, - 0xf7, 0xed, 0xa6, 0x97, 0x3d, 0xb9, 0x7c, 0x81, 0xbd, 0x0c, 0xbc, 0x03, 0xca, 0x30, 0x58, 0xeb, - 0x5a, 0x1a, 0xa1, 0xdc, 0x30, 0xe3, 0x96, 0x66, 0x70, 0x87, 0xa9, 0x1c, 0xeb, 0x21, 0xe0, 0xbb, - 0x90, 0xdc, 0x30, 0xc9, 0xcd, 0x15, 0x4a, 0x8b, 0x30, 0x5a, 0x41, 0x42, 0x1b, 0xa6, 0x70, 0xca, - 0x48, 0xe1, 0xaa, 0xff, 0x77, 0x8b, 0xaa, 0xa3, 0xb3, 0xd4, 0x2c, 0x65, 0xac, 0x66, 0x43, 0x7c, - 0x0f, 0x52, 0xbb, 0xc6, 0x70, 0xf2, 0x18, 0x93, 0x2f, 0x49, 0xe4, 0xa3, 0x1c, 0xae, 0x1f, 0x6b, - 0x86, 0x00, 0x3e, 0x7f, 0x7c, 0x26, 0x40, 0x28, 0x60, 0xac, 0xa1, 0x80, 0xe6, 0xa8, 0x82, 0x84, - 0x2f, 0xa0, 0x39, 0x55, 0x41, 0x53, 0xac, 0xa0, 0x39, 0xaa, 0x20, 0x39, 0x13, 0x20, 0x56, 0x30, - 0x1a, 0xe3, 0x0a, 0x40, 0xcd, 0xf8, 0x4a, 0x3f, 0xe4, 0x25, 0xa4, 0x18, 0xa1, 0x28, 0x21, 0x8c, - 0x93, 0x38, 0x42, 0x50, 0xe1, 0x75, 0x48, 0x37, 0x8f, 0xc6, 0x10, 0xf0, 0x9c, 0xe3, 0x51, 0x19, - 0x47, 0x53, 0x14, 0x51, 0x37, 0x2a, 0x85, 0xdf, 0x4c, 0x7a, 0x76, 0x29, 0xc2, 0xdd, 0x08, 0xaa, - 0x71, 0x29, 0x1c, 0x92, 0x09, 0x28, 0x45, 0xa0, 0x88, 0x3a, 0xda, 0x0c, 0x2b, 0x96, 0x45, 0x33, - 0xdd, 0xae, 0xb4, 0x28, 0x41, 0xb8, 0x19, 0x6e, 0x33, 0x74, 0x47, 0xec, 0x89, 0xb0, 0x4d, 0x4e, - 0xc5, 0x39, 0xff, 0x27, 0x32, 0xcc, 0x19, 0x3e, 0x91, 0xe1, 0x58, 0x3c, 0x67, 0x95, 0x13, 0xa2, - 0x3b, 0x94, 0x33, 0x17, 0x78, 0xce, 0x86, 0xa9, 0x53, 0xe7, 0x6c, 0x18, 0xc6, 0x9f, 0xc1, 0xdc, - 0x30, 0x46, 0xdb, 0x13, 0x85, 0x2a, 0x0c, 0x7a, 0x65, 0x06, 0xd4, 0xcd, 0xe4, 0xcc, 0x69, 0x3d, - 0xae, 0x43, 0x6e, 0x18, 0xda, 0x72, 0xd8, 0xed, 0xce, 0x33, 0xe2, 0xe5, 0x19, 0x44, 0x9e, 0xc8, - 0x81, 0x53, 0xea, 0x85, 0xfb, 0xf0, 0x4f, 0x79, 0x37, 0x12, 0xdb, 0x6f, 0x8a, 0xb7, 0xdf, 0x8b, - 0x62, 0xfb, 0x45, 0x62, 0xfb, 0xae, 0xc2, 0x3f, 0xa4, 0xbd, 0x27, 0x08, 0x12, 0x16, 0x21, 0x1f, - 0x42, 0x76, 0xa2, 0xe5, 0x88, 0xe2, 0x98, 0x44, 0x1c, 0xf3, 0x8a, 0xc7, 0x5b, 0x4b, 0xf2, 0xf6, - 0x98, 0x10, 0x47, 0x44, 0xf1, 0x5d, 0xc8, 0x4d, 0xf6, 0x1b, 0x51, 0x9d, 0x95, 0xa8, 0xb3, 0x12, - 0xb5, 0x7c, 0xee, 0xa8, 0x44, 0x1d, 0x9d, 0x52, 0x37, 0x7d, 0xe7, 0x9e, 0x97, 0xa8, 0xe7, 0x25, - 0x6a, 0xf9, 0xdc, 0x58, 0xa2, 0xc6, 0xa2, 0xfa, 0x23, 0x98, 0x9b, 0x6a, 0x31, 0xa2, 0x3c, 0x21, - 0x91, 0x27, 0x44, 0xf9, 0xc7, 0xa0, 0x4c, 0x37, 0x17, 0x51, 0x3f, 0x27, 0xd1, 0xcf, 0xc9, 0xa6, - 0x97, 0x57, 0x1f, 0x97, 0xc8, 0xe3, 0xd2, 0xe9, 0xe5, 0x7a, 0x45, 0xa2, 0x57, 0x44, 0xfd, 0x2a, - 0x64, 0xc4, 0x6e, 0x22, 0x6a, 0x93, 0x12, 0x6d, 0x72, 0x7a, 0xdd, 0x27, 0x9a, 0x49, 0xd0, 0x4e, - 0x4f, 0xf9, 0x1c, 0x97, 0x89, 0x16, 0x12, 0x04, 0xc9, 0x88, 0x90, 0xc7, 0x70, 0x51, 0xd6, 0x32, - 0x24, 0x8c, 0x92, 0xc8, 0xc8, 0x51, 0x8f, 0x38, 0x36, 0x7b, 0x54, 0x35, 0x61, 0x9c, 0x16, 0x9e, - 0xc0, 0x05, 0x49, 0xe3, 0x90, 0x60, 0xcb, 0x93, 0x6e, 0x2c, 0x2f, 0x60, 0x59, 0x13, 0x30, 0xcc, - 0xf6, 0xb6, 0x65, 0x98, 0x44, 0x74, 0x65, 0x3f, 0x5c, 0x80, 0x9c, 0xdb, 0x9e, 0x1e, 0xd9, 0x87, - 0xba, 0xad, 0x1f, 0xe2, 0x2f, 0xfd, 0xbd, 0xd3, 0x0d, 0x6f, 0x53, 0x73, 0x55, 0xef, 0x61, 0xa1, - 0x9e, 0xf8, 0x5a, 0xa8, 0xe5, 0x60, 0x7c, 0x90, 0x93, 0xaa, 0x7a, 0x9c, 0xd4, 0x15, 0x7f, 0xa8, - 0x9f, 0xa1, 0xaa, 0x7a, 0x0c, 0xd5, 0x6c, 0x88, 0xd4, 0x57, 0xd5, 0xbc, 0xbe, 0xaa, 0xe4, 0x4f, - 0xf1, 0xb7, 0x57, 0x35, 0xaf, 0xbd, 0x0a, 0xe0, 0xc8, 0x5d, 0x56, 0xcd, 0xeb, 0xb2, 0x66, 0x70, - 0xfc, 0xcd, 0x56, 0xcd, 0x6b, 0xb6, 0x02, 0x38, 0x72, 0xcf, 0xb5, 0x21, 0xf1, 0x5c, 0x57, 0xfd, - 0x41, 0xb3, 0xac, 0xd7, 0xa6, 0xcc, 0x7a, 0x5d, 0x9b, 0x51, 0xd4, 0x4c, 0x07, 0xb6, 0x21, 0x71, - 0x60, 0x41, 0x85, 0xf9, 0x18, 0xb1, 0x4d, 0x99, 0x11, 0x0b, 0x2c, 0xcc, 0xcf, 0x8f, 0x7d, 0x32, - 0xed, 0xc7, 0x2e, 0xfb, 0x93, 0xe4, 0xb6, 0xac, 0xe6, 0xb5, 0x65, 0xa5, 0xa0, 0x33, 0x27, 0x73, - 0x67, 0x4f, 0x7c, 0xdd, 0xd9, 0x9f, 0x38, 0xc2, 0x41, 0x26, 0xed, 0x73, 0x3f, 0x93, 0x56, 0x0e, - 0x66, 0xcf, 0xf6, 0x6a, 0xbb, 0x3e, 0x5e, 0xed, 0x7a, 0x30, 0xf8, 0xdc, 0xb2, 0x9d, 0x5b, 0xb6, - 0x73, 0xcb, 0x76, 0x6e, 0xd9, 0xfe, 0x7e, 0xcb, 0xb6, 0x1a, 0xfd, 0xfa, 0xdb, 0x45, 0x54, 0xfc, - 0x25, 0x02, 0x39, 0xf7, 0xcb, 0xe0, 0x9e, 0x41, 0x3a, 0xb4, 0xbd, 0x6d, 0x41, 0xc6, 0xd4, 0x7a, - 0xfa, 0x7e, 0x4f, 0x3b, 0x3e, 0x36, 0xcc, 0xb6, 0xeb, 0xd9, 0xae, 0x79, 0x3f, 0x25, 0xba, 0x82, - 0x72, 0x5d, 0xeb, 0xd1, 0x5e, 0x45, 0x93, 0xdd, 0xd7, 0x8d, 0x39, 0x8e, 0xe0, 0x4f, 0x21, 0xdd, - 0x73, 0xda, 0x23, 0x5a, 0xd8, 0xf3, 0x22, 0x9c, 0xa2, 0xf1, 0x3b, 0x1d, 0xc3, 0xa0, 0x37, 0x0a, - 0xd0, 0xd2, 0x5a, 0x27, 0x64, 0x5c, 0x5a, 0x24, 0xa8, 0x34, 0xfa, 0x4c, 0x27, 0x4b, 0x6b, 0x8d, - 0x23, 0x74, 0xdb, 0x4e, 0xd7, 0x1e, 0xd4, 0xe9, 0x26, 0x36, 0xcf, 0x1e, 0xcc, 0x4d, 0x55, 0x2b, - 0x39, 0xf3, 0x7f, 0xe1, 0xd9, 0xd0, 0xc2, 0xa6, 0x2b, 0x0f, 0x3a, 0x13, 0xe2, 0x86, 0x2c, 0xfe, - 0x1b, 0xb2, 0x13, 0x6c, 0x9c, 0x01, 0x74, 0xc4, 0xa4, 0xa8, 0x81, 0x8e, 0x8a, 0xdf, 0x20, 0x48, - 0xd3, 0x3e, 0xf9, 0xdf, 0x95, 0x3b, 0xdb, 0x9a, 0x61, 0xe3, 0x07, 0x10, 0xed, 0xea, 0x47, 0x84, - 0x25, 0x64, 0x2a, 0xb7, 0x4e, 0x5f, 0x2d, 0x86, 0x7e, 0x7b, 0xb5, 0xf8, 0x9f, 0x80, 0xff, 0x12, - 0xf4, 0x1d, 0x62, 0xf5, 0xca, 0x2e, 0xa7, 0xc1, 0x08, 0xb8, 0x06, 0x31, 0xdb, 0x68, 0x77, 0x08, - 0x2f, 0xa9, 0x72, 0xe3, 0xbd, 0x31, 0x5c, 0x5e, 0x3c, 0x45, 0x30, 0x5f, 0xb5, 0x4c, 0xa2, 0x19, - 0xa6, 0xc3, 0xbf, 0xd6, 0xd2, 0x37, 0xe4, 0x0b, 0x04, 0xa9, 0xd1, 0x08, 0xb7, 0x20, 0x37, 0x1a, - 0xb0, 0x8f, 0xe0, 0xee, 0x4e, 0x5d, 0x15, 0x56, 0xd8, 0xc3, 0x28, 0x4b, 0xae, 0x98, 0xd8, 0x7d, - 0x27, 0x4f, 0x06, 0x17, 0xd6, 0xe0, 0x82, 0x24, 0xed, 0x7d, 0x5e, 0xc8, 0xc5, 0x25, 0x48, 0xd5, - 0x2d, 0xb2, 0xad, 0x1d, 0x3c, 0x65, 0x9f, 0x9c, 0xc7, 0xff, 0x55, 0xa8, 0x84, 0x95, 0x10, 0x13, - 0x5f, 0x5b, 0x82, 0x84, 0x7b, 0xfa, 0x71, 0x1c, 0xc2, 0x5b, 0x6b, 0x4a, 0x88, 0xfd, 0x56, 0x14, - 0xc4, 0x7e, 0xab, 0x4a, 0xb8, 0xb2, 0x79, 0x7a, 0xa6, 0x86, 0x5e, 0x9e, 0xa9, 0xa1, 0x5f, 0xcf, - 0xd4, 0xd0, 0xeb, 0x33, 0x15, 0xbd, 0x39, 0x53, 0xd1, 0xdb, 0x33, 0x15, 0xbd, 0x3b, 0x53, 0xd1, - 0xf3, 0x81, 0x8a, 0xbe, 0x1b, 0xa8, 0xe8, 0xfb, 0x81, 0x8a, 0x7e, 0x1c, 0xa8, 0xe8, 0xa7, 0x81, - 0x8a, 0x4e, 0x07, 0x6a, 0xe8, 0xe5, 0x40, 0x45, 0xaf, 0x07, 0x2a, 0x7a, 0x33, 0x50, 0x43, 0x6f, - 0x07, 0x2a, 0x7a, 0x37, 0x50, 0x43, 0xcf, 0x7f, 0x57, 0x43, 0xad, 0x38, 0x5f, 0x9e, 0x3f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0xda, 0xba, 0x48, 0xa4, 0x67, 0x1a, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/thetest.pb.go b/vendor/github.com/gogo/protobuf/test/thetest.pb.go index 131c864de..321ec558a 100644 --- a/vendor/github.com/gogo/protobuf/test/thetest.pb.go +++ b/vendor/github.com/gogo/protobuf/test/thetest.pb.go @@ -3,27 +3,24 @@ package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" -import github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" - -import bytes "bytes" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import compress_gzip "compress/gzip" -import io_ioutil "io/ioutil" - -import strconv "strconv" - -import strings "strings" -import sort "sort" -import reflect "reflect" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + github_com_gogo_protobuf_test_custom "github.com/gogo/protobuf/test/custom" + github_com_gogo_protobuf_test_custom_dash_type "github.com/gogo/protobuf/test/custom-dash-type" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + sort "sort" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -49,6 +46,7 @@ var TheTestEnum_name = map[int32]string{ 1: "B", 2: "C", } + var TheTestEnum_value = map[string]int32{ "A": 0, "B": 1, @@ -60,9 +58,11 @@ func (x TheTestEnum) Enum() *TheTestEnum { *p = x return p } + func (x TheTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(TheTestEnum_name, int32(x)) } + func (x *TheTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(TheTestEnum_value, data, "TheTestEnum") if err != nil { @@ -71,8 +71,9 @@ func (x *TheTestEnum) UnmarshalJSON(data []byte) error { *x = TheTestEnum(value) return nil } + func (TheTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{0} + return fileDescriptor_9b8e0e81a01d0a18, []int{0} } type AnotherTestEnum int32 @@ -86,6 +87,7 @@ var AnotherTestEnum_name = map[int32]string{ 10: "D", 11: "E", } + var AnotherTestEnum_value = map[string]int32{ "D": 10, "E": 11, @@ -96,9 +98,11 @@ func (x AnotherTestEnum) Enum() *AnotherTestEnum { *p = x return p } + func (x AnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(AnotherTestEnum_name, int32(x)) } + func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(AnotherTestEnum_value, data, "AnotherTestEnum") if err != nil { @@ -107,8 +111,9 @@ func (x *AnotherTestEnum) UnmarshalJSON(data []byte) error { *x = AnotherTestEnum(value) return nil } + func (AnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{1} + return fileDescriptor_9b8e0e81a01d0a18, []int{1} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -124,6 +129,7 @@ var YetAnotherTestEnum_name = map[int32]string{ 0: "AA", 1: "BB", } + var YetAnotherTestEnum_value = map[string]int32{ "AA": 0, "BB": 1, @@ -134,9 +140,11 @@ func (x YetAnotherTestEnum) Enum() *YetAnotherTestEnum { *p = x return p } + func (x YetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetAnotherTestEnum_name, int32(x)) } + func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetAnotherTestEnum_value, data, "YetAnotherTestEnum") if err != nil { @@ -145,8 +153,9 @@ func (x *YetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetAnotherTestEnum(value) return nil } + func (YetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{2} + return fileDescriptor_9b8e0e81a01d0a18, []int{2} } // YetAnotherTestEnum is used to test cross-package import of custom name @@ -162,6 +171,7 @@ var YetYetAnotherTestEnum_name = map[int32]string{ 0: "CC", 1: "DD", } + var YetYetAnotherTestEnum_value = map[string]int32{ "CC": 0, "DD": 1, @@ -172,9 +182,11 @@ func (x YetYetAnotherTestEnum) Enum() *YetYetAnotherTestEnum { *p = x return p } + func (x YetYetAnotherTestEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(YetYetAnotherTestEnum_name, int32(x)) } + func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(YetYetAnotherTestEnum_value, data, "YetYetAnotherTestEnum") if err != nil { @@ -183,8 +195,9 @@ func (x *YetYetAnotherTestEnum) UnmarshalJSON(data []byte) error { *x = YetYetAnotherTestEnum(value) return nil } + func (YetYetAnotherTestEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{3} + return fileDescriptor_9b8e0e81a01d0a18, []int{3} } type NestedDefinition_NestedEnum int32 @@ -196,6 +209,7 @@ const ( var NestedDefinition_NestedEnum_name = map[int32]string{ 1: "TYPE_NESTED", } + var NestedDefinition_NestedEnum_value = map[string]int32{ "TYPE_NESTED": 1, } @@ -205,9 +219,11 @@ func (x NestedDefinition_NestedEnum) Enum() *NestedDefinition_NestedEnum { *p = x return p } + func (x NestedDefinition_NestedEnum) MarshalJSON() ([]byte, error) { return proto.MarshalJSONEnum(NestedDefinition_NestedEnum_name, int32(x)) } + func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(NestedDefinition_NestedEnum_value, data, "NestedDefinition_NestedEnum") if err != nil { @@ -216,8 +232,9 @@ func (x *NestedDefinition_NestedEnum) UnmarshalJSON(data []byte) error { *x = NestedDefinition_NestedEnum(value) return nil } + func (NestedDefinition_NestedEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{42, 0} + return fileDescriptor_9b8e0e81a01d0a18, []int{42, 0} } type NidOptNative struct { @@ -244,7 +261,7 @@ type NidOptNative struct { func (m *NidOptNative) Reset() { *m = NidOptNative{} } func (*NidOptNative) ProtoMessage() {} func (*NidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{0} + return fileDescriptor_9b8e0e81a01d0a18, []int{0} } func (m *NidOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptNative.Unmarshal(m, b) @@ -252,8 +269,8 @@ func (m *NidOptNative) XXX_Unmarshal(b []byte) error { func (m *NidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptNative.Marshal(b, m, deterministic) } -func (dst *NidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNative.Merge(dst, src) +func (m *NidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNative.Merge(m, src) } func (m *NidOptNative) XXX_Size() int { return xxx_messageInfo_NidOptNative.Size(m) @@ -288,7 +305,7 @@ type NinOptNative struct { func (m *NinOptNative) Reset() { *m = NinOptNative{} } func (*NinOptNative) ProtoMessage() {} func (*NinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{1} + return fileDescriptor_9b8e0e81a01d0a18, []int{1} } func (m *NinOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNative.Unmarshal(m, b) @@ -296,8 +313,8 @@ func (m *NinOptNative) XXX_Unmarshal(b []byte) error { func (m *NinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNative.Marshal(b, m, deterministic) } -func (dst *NinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNative.Merge(dst, src) +func (m *NinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNative.Merge(m, src) } func (m *NinOptNative) XXX_Size() int { return xxx_messageInfo_NinOptNative.Size(m) @@ -332,7 +349,7 @@ type NidRepNative struct { func (m *NidRepNative) Reset() { *m = NidRepNative{} } func (*NidRepNative) ProtoMessage() {} func (*NidRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{2} + return fileDescriptor_9b8e0e81a01d0a18, []int{2} } func (m *NidRepNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepNative.Unmarshal(m, b) @@ -340,8 +357,8 @@ func (m *NidRepNative) XXX_Unmarshal(b []byte) error { func (m *NidRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepNative.Marshal(b, m, deterministic) } -func (dst *NidRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNative.Merge(dst, src) +func (m *NidRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNative.Merge(m, src) } func (m *NidRepNative) XXX_Size() int { return xxx_messageInfo_NidRepNative.Size(m) @@ -376,7 +393,7 @@ type NinRepNative struct { func (m *NinRepNative) Reset() { *m = NinRepNative{} } func (*NinRepNative) ProtoMessage() {} func (*NinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{3} + return fileDescriptor_9b8e0e81a01d0a18, []int{3} } func (m *NinRepNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepNative.Unmarshal(m, b) @@ -384,8 +401,8 @@ func (m *NinRepNative) XXX_Unmarshal(b []byte) error { func (m *NinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepNative.Marshal(b, m, deterministic) } -func (dst *NinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNative.Merge(dst, src) +func (m *NinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNative.Merge(m, src) } func (m *NinRepNative) XXX_Size() int { return xxx_messageInfo_NinRepNative.Size(m) @@ -418,7 +435,7 @@ type NidRepPackedNative struct { func (m *NidRepPackedNative) Reset() { *m = NidRepPackedNative{} } func (*NidRepPackedNative) ProtoMessage() {} func (*NidRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{4} + return fileDescriptor_9b8e0e81a01d0a18, []int{4} } func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepPackedNative.Unmarshal(m, b) @@ -426,8 +443,8 @@ func (m *NidRepPackedNative) XXX_Unmarshal(b []byte) error { func (m *NidRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepPackedNative.Marshal(b, m, deterministic) } -func (dst *NidRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepPackedNative.Merge(dst, src) +func (m *NidRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepPackedNative.Merge(m, src) } func (m *NidRepPackedNative) XXX_Size() int { return xxx_messageInfo_NidRepPackedNative.Size(m) @@ -460,7 +477,7 @@ type NinRepPackedNative struct { func (m *NinRepPackedNative) Reset() { *m = NinRepPackedNative{} } func (*NinRepPackedNative) ProtoMessage() {} func (*NinRepPackedNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{5} + return fileDescriptor_9b8e0e81a01d0a18, []int{5} } func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepPackedNative.Unmarshal(m, b) @@ -468,8 +485,8 @@ func (m *NinRepPackedNative) XXX_Unmarshal(b []byte) error { func (m *NinRepPackedNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepPackedNative.Marshal(b, m, deterministic) } -func (dst *NinRepPackedNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepPackedNative.Merge(dst, src) +func (m *NinRepPackedNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepPackedNative.Merge(m, src) } func (m *NinRepPackedNative) XXX_Size() int { return xxx_messageInfo_NinRepPackedNative.Size(m) @@ -499,7 +516,7 @@ type NidOptStruct struct { func (m *NidOptStruct) Reset() { *m = NidOptStruct{} } func (*NidOptStruct) ProtoMessage() {} func (*NidOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{6} + return fileDescriptor_9b8e0e81a01d0a18, []int{6} } func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptStruct.Unmarshal(m, b) @@ -507,8 +524,8 @@ func (m *NidOptStruct) XXX_Unmarshal(b []byte) error { func (m *NidOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptStruct.Marshal(b, m, deterministic) } -func (dst *NidOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptStruct.Merge(dst, src) +func (m *NidOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptStruct.Merge(m, src) } func (m *NidOptStruct) XXX_Size() int { return xxx_messageInfo_NidOptStruct.Size(m) @@ -538,7 +555,7 @@ type NinOptStruct struct { func (m *NinOptStruct) Reset() { *m = NinOptStruct{} } func (*NinOptStruct) ProtoMessage() {} func (*NinOptStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{7} + return fileDescriptor_9b8e0e81a01d0a18, []int{7} } func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptStruct.Unmarshal(m, b) @@ -546,8 +563,8 @@ func (m *NinOptStruct) XXX_Unmarshal(b []byte) error { func (m *NinOptStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptStruct.Marshal(b, m, deterministic) } -func (dst *NinOptStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStruct.Merge(dst, src) +func (m *NinOptStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStruct.Merge(m, src) } func (m *NinOptStruct) XXX_Size() int { return xxx_messageInfo_NinOptStruct.Size(m) @@ -577,7 +594,7 @@ type NidRepStruct struct { func (m *NidRepStruct) Reset() { *m = NidRepStruct{} } func (*NidRepStruct) ProtoMessage() {} func (*NidRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{8} + return fileDescriptor_9b8e0e81a01d0a18, []int{8} } func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepStruct.Unmarshal(m, b) @@ -585,8 +602,8 @@ func (m *NidRepStruct) XXX_Unmarshal(b []byte) error { func (m *NidRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepStruct.Marshal(b, m, deterministic) } -func (dst *NidRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepStruct.Merge(dst, src) +func (m *NidRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepStruct.Merge(m, src) } func (m *NidRepStruct) XXX_Size() int { return xxx_messageInfo_NidRepStruct.Size(m) @@ -616,7 +633,7 @@ type NinRepStruct struct { func (m *NinRepStruct) Reset() { *m = NinRepStruct{} } func (*NinRepStruct) ProtoMessage() {} func (*NinRepStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{9} + return fileDescriptor_9b8e0e81a01d0a18, []int{9} } func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepStruct.Unmarshal(m, b) @@ -624,8 +641,8 @@ func (m *NinRepStruct) XXX_Unmarshal(b []byte) error { func (m *NinRepStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepStruct.Marshal(b, m, deterministic) } -func (dst *NinRepStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepStruct.Merge(dst, src) +func (m *NinRepStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepStruct.Merge(m, src) } func (m *NinRepStruct) XXX_Size() int { return xxx_messageInfo_NinRepStruct.Size(m) @@ -648,7 +665,7 @@ type NidEmbeddedStruct struct { func (m *NidEmbeddedStruct) Reset() { *m = NidEmbeddedStruct{} } func (*NidEmbeddedStruct) ProtoMessage() {} func (*NidEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{10} + return fileDescriptor_9b8e0e81a01d0a18, []int{10} } func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidEmbeddedStruct.Unmarshal(m, b) @@ -656,8 +673,8 @@ func (m *NidEmbeddedStruct) XXX_Unmarshal(b []byte) error { func (m *NidEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidEmbeddedStruct.Marshal(b, m, deterministic) } -func (dst *NidEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidEmbeddedStruct.Merge(dst, src) +func (m *NidEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidEmbeddedStruct.Merge(m, src) } func (m *NidEmbeddedStruct) XXX_Size() int { return xxx_messageInfo_NidEmbeddedStruct.Size(m) @@ -680,7 +697,7 @@ type NinEmbeddedStruct struct { func (m *NinEmbeddedStruct) Reset() { *m = NinEmbeddedStruct{} } func (*NinEmbeddedStruct) ProtoMessage() {} func (*NinEmbeddedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{11} + return fileDescriptor_9b8e0e81a01d0a18, []int{11} } func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinEmbeddedStruct.Unmarshal(m, b) @@ -688,8 +705,8 @@ func (m *NinEmbeddedStruct) XXX_Unmarshal(b []byte) error { func (m *NinEmbeddedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinEmbeddedStruct.Marshal(b, m, deterministic) } -func (dst *NinEmbeddedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStruct.Merge(dst, src) +func (m *NinEmbeddedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStruct.Merge(m, src) } func (m *NinEmbeddedStruct) XXX_Size() int { return xxx_messageInfo_NinEmbeddedStruct.Size(m) @@ -711,7 +728,7 @@ type NidNestedStruct struct { func (m *NidNestedStruct) Reset() { *m = NidNestedStruct{} } func (*NidNestedStruct) ProtoMessage() {} func (*NidNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{12} + return fileDescriptor_9b8e0e81a01d0a18, []int{12} } func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidNestedStruct.Unmarshal(m, b) @@ -719,8 +736,8 @@ func (m *NidNestedStruct) XXX_Unmarshal(b []byte) error { func (m *NidNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidNestedStruct.Marshal(b, m, deterministic) } -func (dst *NidNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidNestedStruct.Merge(dst, src) +func (m *NidNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidNestedStruct.Merge(m, src) } func (m *NidNestedStruct) XXX_Size() int { return xxx_messageInfo_NidNestedStruct.Size(m) @@ -742,7 +759,7 @@ type NinNestedStruct struct { func (m *NinNestedStruct) Reset() { *m = NinNestedStruct{} } func (*NinNestedStruct) ProtoMessage() {} func (*NinNestedStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{13} + return fileDescriptor_9b8e0e81a01d0a18, []int{13} } func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinNestedStruct.Unmarshal(m, b) @@ -750,8 +767,8 @@ func (m *NinNestedStruct) XXX_Unmarshal(b []byte) error { func (m *NinNestedStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinNestedStruct.Marshal(b, m, deterministic) } -func (dst *NinNestedStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStruct.Merge(dst, src) +func (m *NinNestedStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStruct.Merge(m, src) } func (m *NinNestedStruct) XXX_Size() int { return xxx_messageInfo_NinNestedStruct.Size(m) @@ -773,7 +790,7 @@ type NidOptCustom struct { func (m *NidOptCustom) Reset() { *m = NidOptCustom{} } func (*NidOptCustom) ProtoMessage() {} func (*NidOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{14} + return fileDescriptor_9b8e0e81a01d0a18, []int{14} } func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptCustom.Unmarshal(m, b) @@ -781,8 +798,8 @@ func (m *NidOptCustom) XXX_Unmarshal(b []byte) error { func (m *NidOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptCustom.Marshal(b, m, deterministic) } -func (dst *NidOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptCustom.Merge(dst, src) +func (m *NidOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptCustom.Merge(m, src) } func (m *NidOptCustom) XXX_Size() int { return xxx_messageInfo_NidOptCustom.Size(m) @@ -803,7 +820,7 @@ type CustomDash struct { func (m *CustomDash) Reset() { *m = CustomDash{} } func (*CustomDash) ProtoMessage() {} func (*CustomDash) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{15} + return fileDescriptor_9b8e0e81a01d0a18, []int{15} } func (m *CustomDash) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomDash.Unmarshal(m, b) @@ -811,8 +828,8 @@ func (m *CustomDash) XXX_Unmarshal(b []byte) error { func (m *CustomDash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomDash.Marshal(b, m, deterministic) } -func (dst *CustomDash) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomDash.Merge(dst, src) +func (m *CustomDash) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomDash.Merge(m, src) } func (m *CustomDash) XXX_Size() int { return xxx_messageInfo_CustomDash.Size(m) @@ -834,7 +851,7 @@ type NinOptCustom struct { func (m *NinOptCustom) Reset() { *m = NinOptCustom{} } func (*NinOptCustom) ProtoMessage() {} func (*NinOptCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{16} + return fileDescriptor_9b8e0e81a01d0a18, []int{16} } func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptCustom.Unmarshal(m, b) @@ -842,8 +859,8 @@ func (m *NinOptCustom) XXX_Unmarshal(b []byte) error { func (m *NinOptCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptCustom.Marshal(b, m, deterministic) } -func (dst *NinOptCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptCustom.Merge(dst, src) +func (m *NinOptCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptCustom.Merge(m, src) } func (m *NinOptCustom) XXX_Size() int { return xxx_messageInfo_NinOptCustom.Size(m) @@ -865,7 +882,7 @@ type NidRepCustom struct { func (m *NidRepCustom) Reset() { *m = NidRepCustom{} } func (*NidRepCustom) ProtoMessage() {} func (*NidRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{17} + return fileDescriptor_9b8e0e81a01d0a18, []int{17} } func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepCustom.Unmarshal(m, b) @@ -873,8 +890,8 @@ func (m *NidRepCustom) XXX_Unmarshal(b []byte) error { func (m *NidRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepCustom.Marshal(b, m, deterministic) } -func (dst *NidRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepCustom.Merge(dst, src) +func (m *NidRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepCustom.Merge(m, src) } func (m *NidRepCustom) XXX_Size() int { return xxx_messageInfo_NidRepCustom.Size(m) @@ -896,7 +913,7 @@ type NinRepCustom struct { func (m *NinRepCustom) Reset() { *m = NinRepCustom{} } func (*NinRepCustom) ProtoMessage() {} func (*NinRepCustom) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{18} + return fileDescriptor_9b8e0e81a01d0a18, []int{18} } func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepCustom.Unmarshal(m, b) @@ -904,8 +921,8 @@ func (m *NinRepCustom) XXX_Unmarshal(b []byte) error { func (m *NinRepCustom) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepCustom.Marshal(b, m, deterministic) } -func (dst *NinRepCustom) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepCustom.Merge(dst, src) +func (m *NinRepCustom) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepCustom.Merge(m, src) } func (m *NinRepCustom) XXX_Size() int { return xxx_messageInfo_NinRepCustom.Size(m) @@ -934,7 +951,7 @@ type NinOptNativeUnion struct { func (m *NinOptNativeUnion) Reset() { *m = NinOptNativeUnion{} } func (*NinOptNativeUnion) ProtoMessage() {} func (*NinOptNativeUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{19} + return fileDescriptor_9b8e0e81a01d0a18, []int{19} } func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNativeUnion.Unmarshal(m, b) @@ -942,8 +959,8 @@ func (m *NinOptNativeUnion) XXX_Unmarshal(b []byte) error { func (m *NinOptNativeUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNativeUnion.Marshal(b, m, deterministic) } -func (dst *NinOptNativeUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeUnion.Merge(dst, src) +func (m *NinOptNativeUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeUnion.Merge(m, src) } func (m *NinOptNativeUnion) XXX_Size() int { return xxx_messageInfo_NinOptNativeUnion.Size(m) @@ -972,7 +989,7 @@ type NinOptStructUnion struct { func (m *NinOptStructUnion) Reset() { *m = NinOptStructUnion{} } func (*NinOptStructUnion) ProtoMessage() {} func (*NinOptStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{20} + return fileDescriptor_9b8e0e81a01d0a18, []int{20} } func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptStructUnion.Unmarshal(m, b) @@ -980,8 +997,8 @@ func (m *NinOptStructUnion) XXX_Unmarshal(b []byte) error { func (m *NinOptStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptStructUnion.Marshal(b, m, deterministic) } -func (dst *NinOptStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptStructUnion.Merge(dst, src) +func (m *NinOptStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptStructUnion.Merge(m, src) } func (m *NinOptStructUnion) XXX_Size() int { return xxx_messageInfo_NinOptStructUnion.Size(m) @@ -1004,7 +1021,7 @@ type NinEmbeddedStructUnion struct { func (m *NinEmbeddedStructUnion) Reset() { *m = NinEmbeddedStructUnion{} } func (*NinEmbeddedStructUnion) ProtoMessage() {} func (*NinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{21} + return fileDescriptor_9b8e0e81a01d0a18, []int{21} } func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinEmbeddedStructUnion.Unmarshal(m, b) @@ -1012,8 +1029,8 @@ func (m *NinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { func (m *NinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinEmbeddedStructUnion.Marshal(b, m, deterministic) } -func (dst *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinEmbeddedStructUnion.Merge(dst, src) +func (m *NinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinEmbeddedStructUnion.Merge(m, src) } func (m *NinEmbeddedStructUnion) XXX_Size() int { return xxx_messageInfo_NinEmbeddedStructUnion.Size(m) @@ -1036,7 +1053,7 @@ type NinNestedStructUnion struct { func (m *NinNestedStructUnion) Reset() { *m = NinNestedStructUnion{} } func (*NinNestedStructUnion) ProtoMessage() {} func (*NinNestedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{22} + return fileDescriptor_9b8e0e81a01d0a18, []int{22} } func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinNestedStructUnion.Unmarshal(m, b) @@ -1044,8 +1061,8 @@ func (m *NinNestedStructUnion) XXX_Unmarshal(b []byte) error { func (m *NinNestedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinNestedStructUnion.Marshal(b, m, deterministic) } -func (dst *NinNestedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinNestedStructUnion.Merge(dst, src) +func (m *NinNestedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinNestedStructUnion.Merge(m, src) } func (m *NinNestedStructUnion) XXX_Size() int { return xxx_messageInfo_NinNestedStructUnion.Size(m) @@ -1068,7 +1085,7 @@ type Tree struct { func (m *Tree) Reset() { *m = Tree{} } func (*Tree) ProtoMessage() {} func (*Tree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{23} + return fileDescriptor_9b8e0e81a01d0a18, []int{23} } func (m *Tree) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Tree.Unmarshal(m, b) @@ -1076,8 +1093,8 @@ func (m *Tree) XXX_Unmarshal(b []byte) error { func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Tree.Marshal(b, m, deterministic) } -func (dst *Tree) XXX_Merge(src proto.Message) { - xxx_messageInfo_Tree.Merge(dst, src) +func (m *Tree) XXX_Merge(src proto.Message) { + xxx_messageInfo_Tree.Merge(m, src) } func (m *Tree) XXX_Size() int { return xxx_messageInfo_Tree.Size(m) @@ -1099,7 +1116,7 @@ type OrBranch struct { func (m *OrBranch) Reset() { *m = OrBranch{} } func (*OrBranch) ProtoMessage() {} func (*OrBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{24} + return fileDescriptor_9b8e0e81a01d0a18, []int{24} } func (m *OrBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrBranch.Unmarshal(m, b) @@ -1107,8 +1124,8 @@ func (m *OrBranch) XXX_Unmarshal(b []byte) error { func (m *OrBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OrBranch.Marshal(b, m, deterministic) } -func (dst *OrBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_OrBranch.Merge(dst, src) +func (m *OrBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrBranch.Merge(m, src) } func (m *OrBranch) XXX_Size() int { return xxx_messageInfo_OrBranch.Size(m) @@ -1130,7 +1147,7 @@ type AndBranch struct { func (m *AndBranch) Reset() { *m = AndBranch{} } func (*AndBranch) ProtoMessage() {} func (*AndBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{25} + return fileDescriptor_9b8e0e81a01d0a18, []int{25} } func (m *AndBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AndBranch.Unmarshal(m, b) @@ -1138,8 +1155,8 @@ func (m *AndBranch) XXX_Unmarshal(b []byte) error { func (m *AndBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AndBranch.Marshal(b, m, deterministic) } -func (dst *AndBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndBranch.Merge(dst, src) +func (m *AndBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndBranch.Merge(m, src) } func (m *AndBranch) XXX_Size() int { return xxx_messageInfo_AndBranch.Size(m) @@ -1161,7 +1178,7 @@ type Leaf struct { func (m *Leaf) Reset() { *m = Leaf{} } func (*Leaf) ProtoMessage() {} func (*Leaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{26} + return fileDescriptor_9b8e0e81a01d0a18, []int{26} } func (m *Leaf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Leaf.Unmarshal(m, b) @@ -1169,8 +1186,8 @@ func (m *Leaf) XXX_Unmarshal(b []byte) error { func (m *Leaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Leaf.Marshal(b, m, deterministic) } -func (dst *Leaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_Leaf.Merge(dst, src) +func (m *Leaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_Leaf.Merge(m, src) } func (m *Leaf) XXX_Size() int { return xxx_messageInfo_Leaf.Size(m) @@ -1193,7 +1210,7 @@ type DeepTree struct { func (m *DeepTree) Reset() { *m = DeepTree{} } func (*DeepTree) ProtoMessage() {} func (*DeepTree) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{27} + return fileDescriptor_9b8e0e81a01d0a18, []int{27} } func (m *DeepTree) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeepTree.Unmarshal(m, b) @@ -1201,8 +1218,8 @@ func (m *DeepTree) XXX_Unmarshal(b []byte) error { func (m *DeepTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DeepTree.Marshal(b, m, deterministic) } -func (dst *DeepTree) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepTree.Merge(dst, src) +func (m *DeepTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepTree.Merge(m, src) } func (m *DeepTree) XXX_Size() int { return xxx_messageInfo_DeepTree.Size(m) @@ -1223,7 +1240,7 @@ type ADeepBranch struct { func (m *ADeepBranch) Reset() { *m = ADeepBranch{} } func (*ADeepBranch) ProtoMessage() {} func (*ADeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{28} + return fileDescriptor_9b8e0e81a01d0a18, []int{28} } func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ADeepBranch.Unmarshal(m, b) @@ -1231,8 +1248,8 @@ func (m *ADeepBranch) XXX_Unmarshal(b []byte) error { func (m *ADeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ADeepBranch.Marshal(b, m, deterministic) } -func (dst *ADeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_ADeepBranch.Merge(dst, src) +func (m *ADeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_ADeepBranch.Merge(m, src) } func (m *ADeepBranch) XXX_Size() int { return xxx_messageInfo_ADeepBranch.Size(m) @@ -1254,7 +1271,7 @@ type AndDeepBranch struct { func (m *AndDeepBranch) Reset() { *m = AndDeepBranch{} } func (*AndDeepBranch) ProtoMessage() {} func (*AndDeepBranch) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{29} + return fileDescriptor_9b8e0e81a01d0a18, []int{29} } func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AndDeepBranch.Unmarshal(m, b) @@ -1262,8 +1279,8 @@ func (m *AndDeepBranch) XXX_Unmarshal(b []byte) error { func (m *AndDeepBranch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AndDeepBranch.Marshal(b, m, deterministic) } -func (dst *AndDeepBranch) XXX_Merge(src proto.Message) { - xxx_messageInfo_AndDeepBranch.Merge(dst, src) +func (m *AndDeepBranch) XXX_Merge(src proto.Message) { + xxx_messageInfo_AndDeepBranch.Merge(m, src) } func (m *AndDeepBranch) XXX_Size() int { return xxx_messageInfo_AndDeepBranch.Size(m) @@ -1284,7 +1301,7 @@ type DeepLeaf struct { func (m *DeepLeaf) Reset() { *m = DeepLeaf{} } func (*DeepLeaf) ProtoMessage() {} func (*DeepLeaf) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{30} + return fileDescriptor_9b8e0e81a01d0a18, []int{30} } func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeepLeaf.Unmarshal(m, b) @@ -1292,8 +1309,8 @@ func (m *DeepLeaf) XXX_Unmarshal(b []byte) error { func (m *DeepLeaf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_DeepLeaf.Marshal(b, m, deterministic) } -func (dst *DeepLeaf) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeepLeaf.Merge(dst, src) +func (m *DeepLeaf) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeepLeaf.Merge(m, src) } func (m *DeepLeaf) XXX_Size() int { return xxx_messageInfo_DeepLeaf.Size(m) @@ -1313,7 +1330,7 @@ type Nil struct { func (m *Nil) Reset() { *m = Nil{} } func (*Nil) ProtoMessage() {} func (*Nil) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{31} + return fileDescriptor_9b8e0e81a01d0a18, []int{31} } func (m *Nil) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Nil.Unmarshal(m, b) @@ -1321,8 +1338,8 @@ func (m *Nil) XXX_Unmarshal(b []byte) error { func (m *Nil) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Nil.Marshal(b, m, deterministic) } -func (dst *Nil) XXX_Merge(src proto.Message) { - xxx_messageInfo_Nil.Merge(dst, src) +func (m *Nil) XXX_Merge(src proto.Message) { + xxx_messageInfo_Nil.Merge(m, src) } func (m *Nil) XXX_Size() int { return xxx_messageInfo_Nil.Size(m) @@ -1343,7 +1360,7 @@ type NidOptEnum struct { func (m *NidOptEnum) Reset() { *m = NidOptEnum{} } func (*NidOptEnum) ProtoMessage() {} func (*NidOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{32} + return fileDescriptor_9b8e0e81a01d0a18, []int{32} } func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptEnum.Unmarshal(m, b) @@ -1351,8 +1368,8 @@ func (m *NidOptEnum) XXX_Unmarshal(b []byte) error { func (m *NidOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptEnum.Marshal(b, m, deterministic) } -func (dst *NidOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptEnum.Merge(dst, src) +func (m *NidOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptEnum.Merge(m, src) } func (m *NidOptEnum) XXX_Size() int { return xxx_messageInfo_NidOptEnum.Size(m) @@ -1375,7 +1392,7 @@ type NinOptEnum struct { func (m *NinOptEnum) Reset() { *m = NinOptEnum{} } func (*NinOptEnum) ProtoMessage() {} func (*NinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{33} + return fileDescriptor_9b8e0e81a01d0a18, []int{33} } func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptEnum.Unmarshal(m, b) @@ -1383,8 +1400,8 @@ func (m *NinOptEnum) XXX_Unmarshal(b []byte) error { func (m *NinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptEnum.Marshal(b, m, deterministic) } -func (dst *NinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnum.Merge(dst, src) +func (m *NinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnum.Merge(m, src) } func (m *NinOptEnum) XXX_Size() int { return xxx_messageInfo_NinOptEnum.Size(m) @@ -1407,7 +1424,7 @@ type NidRepEnum struct { func (m *NidRepEnum) Reset() { *m = NidRepEnum{} } func (*NidRepEnum) ProtoMessage() {} func (*NidRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{34} + return fileDescriptor_9b8e0e81a01d0a18, []int{34} } func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepEnum.Unmarshal(m, b) @@ -1415,8 +1432,8 @@ func (m *NidRepEnum) XXX_Unmarshal(b []byte) error { func (m *NidRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepEnum.Marshal(b, m, deterministic) } -func (dst *NidRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepEnum.Merge(dst, src) +func (m *NidRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepEnum.Merge(m, src) } func (m *NidRepEnum) XXX_Size() int { return xxx_messageInfo_NidRepEnum.Size(m) @@ -1439,7 +1456,7 @@ type NinRepEnum struct { func (m *NinRepEnum) Reset() { *m = NinRepEnum{} } func (*NinRepEnum) ProtoMessage() {} func (*NinRepEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{35} + return fileDescriptor_9b8e0e81a01d0a18, []int{35} } func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepEnum.Unmarshal(m, b) @@ -1447,8 +1464,8 @@ func (m *NinRepEnum) XXX_Unmarshal(b []byte) error { func (m *NinRepEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepEnum.Marshal(b, m, deterministic) } -func (dst *NinRepEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepEnum.Merge(dst, src) +func (m *NinRepEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepEnum.Merge(m, src) } func (m *NinRepEnum) XXX_Size() int { return xxx_messageInfo_NinRepEnum.Size(m) @@ -1471,7 +1488,7 @@ type NinOptEnumDefault struct { func (m *NinOptEnumDefault) Reset() { *m = NinOptEnumDefault{} } func (*NinOptEnumDefault) ProtoMessage() {} func (*NinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{36} + return fileDescriptor_9b8e0e81a01d0a18, []int{36} } func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptEnumDefault.Unmarshal(m, b) @@ -1479,8 +1496,8 @@ func (m *NinOptEnumDefault) XXX_Unmarshal(b []byte) error { func (m *NinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptEnumDefault.Marshal(b, m, deterministic) } -func (dst *NinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptEnumDefault.Merge(dst, src) +func (m *NinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptEnumDefault.Merge(m, src) } func (m *NinOptEnumDefault) XXX_Size() int { return xxx_messageInfo_NinOptEnumDefault.Size(m) @@ -1528,7 +1545,7 @@ type AnotherNinOptEnum struct { func (m *AnotherNinOptEnum) Reset() { *m = AnotherNinOptEnum{} } func (*AnotherNinOptEnum) ProtoMessage() {} func (*AnotherNinOptEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{37} + return fileDescriptor_9b8e0e81a01d0a18, []int{37} } func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnotherNinOptEnum.Unmarshal(m, b) @@ -1536,8 +1553,8 @@ func (m *AnotherNinOptEnum) XXX_Unmarshal(b []byte) error { func (m *AnotherNinOptEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AnotherNinOptEnum.Marshal(b, m, deterministic) } -func (dst *AnotherNinOptEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnum.Merge(dst, src) +func (m *AnotherNinOptEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnum.Merge(m, src) } func (m *AnotherNinOptEnum) XXX_Size() int { return xxx_messageInfo_AnotherNinOptEnum.Size(m) @@ -1560,7 +1577,7 @@ type AnotherNinOptEnumDefault struct { func (m *AnotherNinOptEnumDefault) Reset() { *m = AnotherNinOptEnumDefault{} } func (*AnotherNinOptEnumDefault) ProtoMessage() {} func (*AnotherNinOptEnumDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{38} + return fileDescriptor_9b8e0e81a01d0a18, []int{38} } func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AnotherNinOptEnumDefault.Unmarshal(m, b) @@ -1568,8 +1585,8 @@ func (m *AnotherNinOptEnumDefault) XXX_Unmarshal(b []byte) error { func (m *AnotherNinOptEnumDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_AnotherNinOptEnumDefault.Marshal(b, m, deterministic) } -func (dst *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_AnotherNinOptEnumDefault.Merge(dst, src) +func (m *AnotherNinOptEnumDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnotherNinOptEnumDefault.Merge(m, src) } func (m *AnotherNinOptEnumDefault) XXX_Size() int { return xxx_messageInfo_AnotherNinOptEnumDefault.Size(m) @@ -1617,7 +1634,7 @@ type Timer struct { func (m *Timer) Reset() { *m = Timer{} } func (*Timer) ProtoMessage() {} func (*Timer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{39} + return fileDescriptor_9b8e0e81a01d0a18, []int{39} } func (m *Timer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Timer.Unmarshal(m, b) @@ -1625,8 +1642,8 @@ func (m *Timer) XXX_Unmarshal(b []byte) error { func (m *Timer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Timer.Marshal(b, m, deterministic) } -func (dst *Timer) XXX_Merge(src proto.Message) { - xxx_messageInfo_Timer.Merge(dst, src) +func (m *Timer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timer.Merge(m, src) } func (m *Timer) XXX_Size() int { return xxx_messageInfo_Timer.Size(m) @@ -1648,7 +1665,7 @@ type MyExtendable struct { func (m *MyExtendable) Reset() { *m = MyExtendable{} } func (*MyExtendable) ProtoMessage() {} func (*MyExtendable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{40} + return fileDescriptor_9b8e0e81a01d0a18, []int{40} } var extRange_MyExtendable = []proto.ExtensionRange{ @@ -1658,14 +1675,15 @@ var extRange_MyExtendable = []proto.ExtensionRange{ func (*MyExtendable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_MyExtendable } + func (m *MyExtendable) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MyExtendable.Unmarshal(m, b) } func (m *MyExtendable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MyExtendable.Marshal(b, m, deterministic) } -func (dst *MyExtendable) XXX_Merge(src proto.Message) { - xxx_messageInfo_MyExtendable.Merge(dst, src) +func (m *MyExtendable) XXX_Merge(src proto.Message) { + xxx_messageInfo_MyExtendable.Merge(m, src) } func (m *MyExtendable) XXX_Size() int { return xxx_messageInfo_MyExtendable.Size(m) @@ -1689,7 +1707,7 @@ type OtherExtenable struct { func (m *OtherExtenable) Reset() { *m = OtherExtenable{} } func (*OtherExtenable) ProtoMessage() {} func (*OtherExtenable) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{41} + return fileDescriptor_9b8e0e81a01d0a18, []int{41} } var extRange_OtherExtenable = []proto.ExtensionRange{ @@ -1700,14 +1718,15 @@ var extRange_OtherExtenable = []proto.ExtensionRange{ func (*OtherExtenable) ExtensionRangeArray() []proto.ExtensionRange { return extRange_OtherExtenable } + func (m *OtherExtenable) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OtherExtenable.Unmarshal(m, b) } func (m *OtherExtenable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OtherExtenable.Marshal(b, m, deterministic) } -func (dst *OtherExtenable) XXX_Merge(src proto.Message) { - xxx_messageInfo_OtherExtenable.Merge(dst, src) +func (m *OtherExtenable) XXX_Merge(src proto.Message) { + xxx_messageInfo_OtherExtenable.Merge(m, src) } func (m *OtherExtenable) XXX_Size() int { return xxx_messageInfo_OtherExtenable.Size(m) @@ -1731,7 +1750,7 @@ type NestedDefinition struct { func (m *NestedDefinition) Reset() { *m = NestedDefinition{} } func (*NestedDefinition) ProtoMessage() {} func (*NestedDefinition) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{42} + return fileDescriptor_9b8e0e81a01d0a18, []int{42} } func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedDefinition.Unmarshal(m, b) @@ -1739,8 +1758,8 @@ func (m *NestedDefinition) XXX_Unmarshal(b []byte) error { func (m *NestedDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedDefinition.Marshal(b, m, deterministic) } -func (dst *NestedDefinition) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition.Merge(dst, src) +func (m *NestedDefinition) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition.Merge(m, src) } func (m *NestedDefinition) XXX_Size() int { return xxx_messageInfo_NestedDefinition.Size(m) @@ -1762,7 +1781,7 @@ type NestedDefinition_NestedMessage struct { func (m *NestedDefinition_NestedMessage) Reset() { *m = NestedDefinition_NestedMessage{} } func (*NestedDefinition_NestedMessage) ProtoMessage() {} func (*NestedDefinition_NestedMessage) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{42, 0} + return fileDescriptor_9b8e0e81a01d0a18, []int{42, 0} } func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedDefinition_NestedMessage.Unmarshal(m, b) @@ -1770,8 +1789,8 @@ func (m *NestedDefinition_NestedMessage) XXX_Unmarshal(b []byte) error { func (m *NestedDefinition_NestedMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedDefinition_NestedMessage.Marshal(b, m, deterministic) } -func (dst *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage.Merge(dst, src) +func (m *NestedDefinition_NestedMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage.Merge(m, src) } func (m *NestedDefinition_NestedMessage) XXX_Size() int { return xxx_messageInfo_NestedDefinition_NestedMessage.Size(m) @@ -1794,7 +1813,7 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) Reset() { } func (*NestedDefinition_NestedMessage_NestedNestedMsg) ProtoMessage() {} func (*NestedDefinition_NestedMessage_NestedNestedMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{42, 0, 0} + return fileDescriptor_9b8e0e81a01d0a18, []int{42, 0, 0} } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Unmarshal(m, b) @@ -1802,8 +1821,8 @@ func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Unmarshal(b []byte) func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Marshal(b, m, deterministic) } -func (dst *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(dst, src) +func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Merge(m, src) } func (m *NestedDefinition_NestedMessage_NestedNestedMsg) XXX_Size() int { return xxx_messageInfo_NestedDefinition_NestedMessage_NestedNestedMsg.Size(m) @@ -1826,7 +1845,7 @@ type NestedScope struct { func (m *NestedScope) Reset() { *m = NestedScope{} } func (*NestedScope) ProtoMessage() {} func (*NestedScope) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{43} + return fileDescriptor_9b8e0e81a01d0a18, []int{43} } func (m *NestedScope) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NestedScope.Unmarshal(m, b) @@ -1834,8 +1853,8 @@ func (m *NestedScope) XXX_Unmarshal(b []byte) error { func (m *NestedScope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NestedScope.Marshal(b, m, deterministic) } -func (dst *NestedScope) XXX_Merge(src proto.Message) { - xxx_messageInfo_NestedScope.Merge(dst, src) +func (m *NestedScope) XXX_Merge(src proto.Message) { + xxx_messageInfo_NestedScope.Merge(m, src) } func (m *NestedScope) XXX_Size() int { return xxx_messageInfo_NestedScope.Size(m) @@ -1848,7 +1867,7 @@ var xxx_messageInfo_NestedScope proto.InternalMessageInfo type NinOptNativeDefault struct { Field1 *float64 `protobuf:"fixed64,1,opt,name=Field1,def=1234.1234" json:"Field1,omitempty"` - Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.12341" json:"Field2,omitempty"` + Field2 *float32 `protobuf:"fixed32,2,opt,name=Field2,def=1234.1234" json:"Field2,omitempty"` Field3 *int32 `protobuf:"varint,3,opt,name=Field3,def=1234" json:"Field3,omitempty"` Field4 *int64 `protobuf:"varint,4,opt,name=Field4,def=1234" json:"Field4,omitempty"` Field5 *uint32 `protobuf:"varint,5,opt,name=Field5,def=1234" json:"Field5,omitempty"` @@ -1870,7 +1889,7 @@ type NinOptNativeDefault struct { func (m *NinOptNativeDefault) Reset() { *m = NinOptNativeDefault{} } func (*NinOptNativeDefault) ProtoMessage() {} func (*NinOptNativeDefault) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{44} + return fileDescriptor_9b8e0e81a01d0a18, []int{44} } func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNativeDefault.Unmarshal(m, b) @@ -1878,8 +1897,8 @@ func (m *NinOptNativeDefault) XXX_Unmarshal(b []byte) error { func (m *NinOptNativeDefault) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNativeDefault.Marshal(b, m, deterministic) } -func (dst *NinOptNativeDefault) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNativeDefault.Merge(dst, src) +func (m *NinOptNativeDefault) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNativeDefault.Merge(m, src) } func (m *NinOptNativeDefault) XXX_Size() int { return xxx_messageInfo_NinOptNativeDefault.Size(m) @@ -1891,7 +1910,7 @@ func (m *NinOptNativeDefault) XXX_DiscardUnknown() { var xxx_messageInfo_NinOptNativeDefault proto.InternalMessageInfo const Default_NinOptNativeDefault_Field1 float64 = 1234.1234 -const Default_NinOptNativeDefault_Field2 float32 = 1234.12341 +const Default_NinOptNativeDefault_Field2 float32 = 1234.1234 const Default_NinOptNativeDefault_Field3 int32 = 1234 const Default_NinOptNativeDefault_Field4 int64 = 1234 const Default_NinOptNativeDefault_Field5 uint32 = 1234 @@ -2020,7 +2039,7 @@ type CustomContainer struct { func (m *CustomContainer) Reset() { *m = CustomContainer{} } func (*CustomContainer) ProtoMessage() {} func (*CustomContainer) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{45} + return fileDescriptor_9b8e0e81a01d0a18, []int{45} } func (m *CustomContainer) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomContainer.Unmarshal(m, b) @@ -2028,8 +2047,8 @@ func (m *CustomContainer) XXX_Unmarshal(b []byte) error { func (m *CustomContainer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomContainer.Marshal(b, m, deterministic) } -func (dst *CustomContainer) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomContainer.Merge(dst, src) +func (m *CustomContainer) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomContainer.Merge(m, src) } func (m *CustomContainer) XXX_Size() int { return xxx_messageInfo_CustomContainer.Size(m) @@ -2064,7 +2083,7 @@ type CustomNameNidOptNative struct { func (m *CustomNameNidOptNative) Reset() { *m = CustomNameNidOptNative{} } func (*CustomNameNidOptNative) ProtoMessage() {} func (*CustomNameNidOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{46} + return fileDescriptor_9b8e0e81a01d0a18, []int{46} } func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNidOptNative.Unmarshal(m, b) @@ -2072,8 +2091,8 @@ func (m *CustomNameNidOptNative) XXX_Unmarshal(b []byte) error { func (m *CustomNameNidOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNidOptNative.Marshal(b, m, deterministic) } -func (dst *CustomNameNidOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNidOptNative.Merge(dst, src) +func (m *CustomNameNidOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNidOptNative.Merge(m, src) } func (m *CustomNameNidOptNative) XXX_Size() int { return xxx_messageInfo_CustomNameNidOptNative.Size(m) @@ -2108,7 +2127,7 @@ type CustomNameNinOptNative struct { func (m *CustomNameNinOptNative) Reset() { *m = CustomNameNinOptNative{} } func (*CustomNameNinOptNative) ProtoMessage() {} func (*CustomNameNinOptNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{47} + return fileDescriptor_9b8e0e81a01d0a18, []int{47} } func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinOptNative.Unmarshal(m, b) @@ -2116,8 +2135,8 @@ func (m *CustomNameNinOptNative) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinOptNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinOptNative.Marshal(b, m, deterministic) } -func (dst *CustomNameNinOptNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinOptNative.Merge(dst, src) +func (m *CustomNameNinOptNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinOptNative.Merge(m, src) } func (m *CustomNameNinOptNative) XXX_Size() int { return xxx_messageInfo_CustomNameNinOptNative.Size(m) @@ -2152,7 +2171,7 @@ type CustomNameNinRepNative struct { func (m *CustomNameNinRepNative) Reset() { *m = CustomNameNinRepNative{} } func (*CustomNameNinRepNative) ProtoMessage() {} func (*CustomNameNinRepNative) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{48} + return fileDescriptor_9b8e0e81a01d0a18, []int{48} } func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinRepNative.Unmarshal(m, b) @@ -2160,8 +2179,8 @@ func (m *CustomNameNinRepNative) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinRepNative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinRepNative.Marshal(b, m, deterministic) } -func (dst *CustomNameNinRepNative) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinRepNative.Merge(dst, src) +func (m *CustomNameNinRepNative) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinRepNative.Merge(m, src) } func (m *CustomNameNinRepNative) XXX_Size() int { return xxx_messageInfo_CustomNameNinRepNative.Size(m) @@ -2191,7 +2210,7 @@ type CustomNameNinStruct struct { func (m *CustomNameNinStruct) Reset() { *m = CustomNameNinStruct{} } func (*CustomNameNinStruct) ProtoMessage() {} func (*CustomNameNinStruct) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{49} + return fileDescriptor_9b8e0e81a01d0a18, []int{49} } func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinStruct.Unmarshal(m, b) @@ -2199,8 +2218,8 @@ func (m *CustomNameNinStruct) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinStruct.Marshal(b, m, deterministic) } -func (dst *CustomNameNinStruct) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinStruct.Merge(dst, src) +func (m *CustomNameNinStruct) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinStruct.Merge(m, src) } func (m *CustomNameNinStruct) XXX_Size() int { return xxx_messageInfo_CustomNameNinStruct.Size(m) @@ -2224,7 +2243,7 @@ type CustomNameCustomType struct { func (m *CustomNameCustomType) Reset() { *m = CustomNameCustomType{} } func (*CustomNameCustomType) ProtoMessage() {} func (*CustomNameCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{50} + return fileDescriptor_9b8e0e81a01d0a18, []int{50} } func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameCustomType.Unmarshal(m, b) @@ -2232,8 +2251,8 @@ func (m *CustomNameCustomType) XXX_Unmarshal(b []byte) error { func (m *CustomNameCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameCustomType.Marshal(b, m, deterministic) } -func (dst *CustomNameCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameCustomType.Merge(dst, src) +func (m *CustomNameCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameCustomType.Merge(m, src) } func (m *CustomNameCustomType) XXX_Size() int { return xxx_messageInfo_CustomNameCustomType.Size(m) @@ -2256,7 +2275,7 @@ type CustomNameNinEmbeddedStructUnion struct { func (m *CustomNameNinEmbeddedStructUnion) Reset() { *m = CustomNameNinEmbeddedStructUnion{} } func (*CustomNameNinEmbeddedStructUnion) ProtoMessage() {} func (*CustomNameNinEmbeddedStructUnion) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{51} + return fileDescriptor_9b8e0e81a01d0a18, []int{51} } func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Unmarshal(m, b) @@ -2264,8 +2283,8 @@ func (m *CustomNameNinEmbeddedStructUnion) XXX_Unmarshal(b []byte) error { func (m *CustomNameNinEmbeddedStructUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Marshal(b, m, deterministic) } -func (dst *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(dst, src) +func (m *CustomNameNinEmbeddedStructUnion) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Merge(m, src) } func (m *CustomNameNinEmbeddedStructUnion) XXX_Size() int { return xxx_messageInfo_CustomNameNinEmbeddedStructUnion.Size(m) @@ -2287,7 +2306,7 @@ type CustomNameEnum struct { func (m *CustomNameEnum) Reset() { *m = CustomNameEnum{} } func (*CustomNameEnum) ProtoMessage() {} func (*CustomNameEnum) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{52} + return fileDescriptor_9b8e0e81a01d0a18, []int{52} } func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CustomNameEnum.Unmarshal(m, b) @@ -2295,8 +2314,8 @@ func (m *CustomNameEnum) XXX_Unmarshal(b []byte) error { func (m *CustomNameEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_CustomNameEnum.Marshal(b, m, deterministic) } -func (dst *CustomNameEnum) XXX_Merge(src proto.Message) { - xxx_messageInfo_CustomNameEnum.Merge(dst, src) +func (m *CustomNameEnum) XXX_Merge(src proto.Message) { + xxx_messageInfo_CustomNameEnum.Merge(m, src) } func (m *CustomNameEnum) XXX_Size() int { return xxx_messageInfo_CustomNameEnum.Size(m) @@ -2318,7 +2337,7 @@ type NoExtensionsMap struct { func (m *NoExtensionsMap) Reset() { *m = NoExtensionsMap{} } func (*NoExtensionsMap) ProtoMessage() {} func (*NoExtensionsMap) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{53} + return fileDescriptor_9b8e0e81a01d0a18, []int{53} } var extRange_NoExtensionsMap = []proto.ExtensionRange{ @@ -2328,6 +2347,7 @@ var extRange_NoExtensionsMap = []proto.ExtensionRange{ func (*NoExtensionsMap) ExtensionRangeArray() []proto.ExtensionRange { return extRange_NoExtensionsMap } + func (m *NoExtensionsMap) GetExtensions() *[]byte { if m.XXX_extensions == nil { m.XXX_extensions = make([]byte, 0) @@ -2340,8 +2360,8 @@ func (m *NoExtensionsMap) XXX_Unmarshal(b []byte) error { func (m *NoExtensionsMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NoExtensionsMap.Marshal(b, m, deterministic) } -func (dst *NoExtensionsMap) XXX_Merge(src proto.Message) { - xxx_messageInfo_NoExtensionsMap.Merge(dst, src) +func (m *NoExtensionsMap) XXX_Merge(src proto.Message) { + xxx_messageInfo_NoExtensionsMap.Merge(m, src) } func (m *NoExtensionsMap) XXX_Size() int { return xxx_messageInfo_NoExtensionsMap.Size(m) @@ -2361,7 +2381,7 @@ type Unrecognized struct { func (m *Unrecognized) Reset() { *m = Unrecognized{} } func (*Unrecognized) ProtoMessage() {} func (*Unrecognized) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{54} + return fileDescriptor_9b8e0e81a01d0a18, []int{54} } func (m *Unrecognized) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Unrecognized.Unmarshal(m, b) @@ -2369,8 +2389,8 @@ func (m *Unrecognized) XXX_Unmarshal(b []byte) error { func (m *Unrecognized) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Unrecognized.Marshal(b, m, deterministic) } -func (dst *Unrecognized) XXX_Merge(src proto.Message) { - xxx_messageInfo_Unrecognized.Merge(dst, src) +func (m *Unrecognized) XXX_Merge(src proto.Message) { + xxx_messageInfo_Unrecognized.Merge(m, src) } func (m *Unrecognized) XXX_Size() int { return xxx_messageInfo_Unrecognized.Size(m) @@ -2392,7 +2412,7 @@ type UnrecognizedWithInner struct { func (m *UnrecognizedWithInner) Reset() { *m = UnrecognizedWithInner{} } func (*UnrecognizedWithInner) ProtoMessage() {} func (*UnrecognizedWithInner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{55} + return fileDescriptor_9b8e0e81a01d0a18, []int{55} } func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithInner.Unmarshal(m, b) @@ -2400,8 +2420,8 @@ func (m *UnrecognizedWithInner) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithInner.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithInner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner.Merge(dst, src) +func (m *UnrecognizedWithInner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner.Merge(m, src) } func (m *UnrecognizedWithInner) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithInner.Size(m) @@ -2421,7 +2441,7 @@ type UnrecognizedWithInner_Inner struct { func (m *UnrecognizedWithInner_Inner) Reset() { *m = UnrecognizedWithInner_Inner{} } func (*UnrecognizedWithInner_Inner) ProtoMessage() {} func (*UnrecognizedWithInner_Inner) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{55, 0} + return fileDescriptor_9b8e0e81a01d0a18, []int{55, 0} } func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithInner_Inner.Unmarshal(m, b) @@ -2429,8 +2449,8 @@ func (m *UnrecognizedWithInner_Inner) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithInner_Inner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithInner_Inner.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(dst, src) +func (m *UnrecognizedWithInner_Inner) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithInner_Inner.Merge(m, src) } func (m *UnrecognizedWithInner_Inner) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithInner_Inner.Size(m) @@ -2452,7 +2472,7 @@ type UnrecognizedWithEmbed struct { func (m *UnrecognizedWithEmbed) Reset() { *m = UnrecognizedWithEmbed{} } func (*UnrecognizedWithEmbed) ProtoMessage() {} func (*UnrecognizedWithEmbed) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{56} + return fileDescriptor_9b8e0e81a01d0a18, []int{56} } func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithEmbed.Unmarshal(m, b) @@ -2460,8 +2480,8 @@ func (m *UnrecognizedWithEmbed) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithEmbed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithEmbed.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed.Merge(dst, src) +func (m *UnrecognizedWithEmbed) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed.Merge(m, src) } func (m *UnrecognizedWithEmbed) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithEmbed.Size(m) @@ -2481,7 +2501,7 @@ type UnrecognizedWithEmbed_Embedded struct { func (m *UnrecognizedWithEmbed_Embedded) Reset() { *m = UnrecognizedWithEmbed_Embedded{} } func (*UnrecognizedWithEmbed_Embedded) ProtoMessage() {} func (*UnrecognizedWithEmbed_Embedded) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{56, 0} + return fileDescriptor_9b8e0e81a01d0a18, []int{56, 0} } func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Unmarshal(m, b) @@ -2489,8 +2509,8 @@ func (m *UnrecognizedWithEmbed_Embedded) XXX_Unmarshal(b []byte) error { func (m *UnrecognizedWithEmbed_Embedded) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Marshal(b, m, deterministic) } -func (dst *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(dst, src) +func (m *UnrecognizedWithEmbed_Embedded) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Merge(m, src) } func (m *UnrecognizedWithEmbed_Embedded) XXX_Size() int { return xxx_messageInfo_UnrecognizedWithEmbed_Embedded.Size(m) @@ -2512,7 +2532,7 @@ type Node struct { func (m *Node) Reset() { *m = Node{} } func (*Node) ProtoMessage() {} func (*Node) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{57} + return fileDescriptor_9b8e0e81a01d0a18, []int{57} } func (m *Node) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Node.Unmarshal(m, b) @@ -2520,8 +2540,8 @@ func (m *Node) XXX_Unmarshal(b []byte) error { func (m *Node) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Node.Marshal(b, m, deterministic) } -func (dst *Node) XXX_Merge(src proto.Message) { - xxx_messageInfo_Node.Merge(dst, src) +func (m *Node) XXX_Merge(src proto.Message) { + xxx_messageInfo_Node.Merge(m, src) } func (m *Node) XXX_Size() int { return xxx_messageInfo_Node.Size(m) @@ -2542,7 +2562,7 @@ type NonByteCustomType struct { func (m *NonByteCustomType) Reset() { *m = NonByteCustomType{} } func (*NonByteCustomType) ProtoMessage() {} func (*NonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{58} + return fileDescriptor_9b8e0e81a01d0a18, []int{58} } func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NonByteCustomType.Unmarshal(m, b) @@ -2550,8 +2570,8 @@ func (m *NonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NonByteCustomType.Merge(dst, src) +func (m *NonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NonByteCustomType.Merge(m, src) } func (m *NonByteCustomType) XXX_Size() int { return xxx_messageInfo_NonByteCustomType.Size(m) @@ -2572,7 +2592,7 @@ type NidOptNonByteCustomType struct { func (m *NidOptNonByteCustomType) Reset() { *m = NidOptNonByteCustomType{} } func (*NidOptNonByteCustomType) ProtoMessage() {} func (*NidOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{59} + return fileDescriptor_9b8e0e81a01d0a18, []int{59} } func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidOptNonByteCustomType.Unmarshal(m, b) @@ -2580,8 +2600,8 @@ func (m *NidOptNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NidOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidOptNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidOptNonByteCustomType.Merge(dst, src) +func (m *NidOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidOptNonByteCustomType.Merge(m, src) } func (m *NidOptNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NidOptNonByteCustomType.Size(m) @@ -2602,7 +2622,7 @@ type NinOptNonByteCustomType struct { func (m *NinOptNonByteCustomType) Reset() { *m = NinOptNonByteCustomType{} } func (*NinOptNonByteCustomType) ProtoMessage() {} func (*NinOptNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{60} + return fileDescriptor_9b8e0e81a01d0a18, []int{60} } func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinOptNonByteCustomType.Unmarshal(m, b) @@ -2610,8 +2630,8 @@ func (m *NinOptNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NinOptNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinOptNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinOptNonByteCustomType.Merge(dst, src) +func (m *NinOptNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinOptNonByteCustomType.Merge(m, src) } func (m *NinOptNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NinOptNonByteCustomType.Size(m) @@ -2632,7 +2652,7 @@ type NidRepNonByteCustomType struct { func (m *NidRepNonByteCustomType) Reset() { *m = NidRepNonByteCustomType{} } func (*NidRepNonByteCustomType) ProtoMessage() {} func (*NidRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{61} + return fileDescriptor_9b8e0e81a01d0a18, []int{61} } func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NidRepNonByteCustomType.Unmarshal(m, b) @@ -2640,8 +2660,8 @@ func (m *NidRepNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NidRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NidRepNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NidRepNonByteCustomType.Merge(dst, src) +func (m *NidRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NidRepNonByteCustomType.Merge(m, src) } func (m *NidRepNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NidRepNonByteCustomType.Size(m) @@ -2662,7 +2682,7 @@ type NinRepNonByteCustomType struct { func (m *NinRepNonByteCustomType) Reset() { *m = NinRepNonByteCustomType{} } func (*NinRepNonByteCustomType) ProtoMessage() {} func (*NinRepNonByteCustomType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{62} + return fileDescriptor_9b8e0e81a01d0a18, []int{62} } func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NinRepNonByteCustomType.Unmarshal(m, b) @@ -2670,8 +2690,8 @@ func (m *NinRepNonByteCustomType) XXX_Unmarshal(b []byte) error { func (m *NinRepNonByteCustomType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NinRepNonByteCustomType.Marshal(b, m, deterministic) } -func (dst *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { - xxx_messageInfo_NinRepNonByteCustomType.Merge(dst, src) +func (m *NinRepNonByteCustomType) XXX_Merge(src proto.Message) { + xxx_messageInfo_NinRepNonByteCustomType.Merge(m, src) } func (m *NinRepNonByteCustomType) XXX_Size() int { return xxx_messageInfo_NinRepNonByteCustomType.Size(m) @@ -2692,7 +2712,7 @@ type ProtoType struct { func (m *ProtoType) Reset() { *m = ProtoType{} } func (*ProtoType) ProtoMessage() {} func (*ProtoType) Descriptor() ([]byte, []int) { - return fileDescriptor_thetest_14aea7c379120fb7, []int{63} + return fileDescriptor_9b8e0e81a01d0a18, []int{63} } func (m *ProtoType) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ProtoType.Unmarshal(m, b) @@ -2700,8 +2720,8 @@ func (m *ProtoType) XXX_Unmarshal(b []byte) error { func (m *ProtoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ProtoType.Marshal(b, m, deterministic) } -func (dst *ProtoType) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoType.Merge(dst, src) +func (m *ProtoType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoType.Merge(m, src) } func (m *ProtoType) XXX_Size() int { return xxx_messageInfo_ProtoType.Size(m) @@ -2785,6 +2805,11 @@ var E_FieldC1 = &proto.ExtensionDesc{ } func init() { + proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) + proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) + proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) + proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) + proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterType((*NidOptNative)(nil), "test.NidOptNative") proto.RegisterType((*NinOptNative)(nil), "test.NinOptNative") proto.RegisterType((*NidRepNative)(nil), "test.NidRepNative") @@ -2853,11 +2878,6 @@ func init() { proto.RegisterType((*NidRepNonByteCustomType)(nil), "test.NidRepNonByteCustomType") proto.RegisterType((*NinRepNonByteCustomType)(nil), "test.NinRepNonByteCustomType") proto.RegisterType((*ProtoType)(nil), "test.ProtoType") - proto.RegisterEnum("test.TheTestEnum", TheTestEnum_name, TheTestEnum_value) - proto.RegisterEnum("test.AnotherTestEnum", AnotherTestEnum_name, AnotherTestEnum_value) - proto.RegisterEnum("test.YetAnotherTestEnum", YetAnotherTestEnum_name, YetAnotherTestEnum_value) - proto.RegisterEnum("test.YetYetAnotherTestEnum", YetYetAnotherTestEnum_name, YetYetAnotherTestEnum_value) - proto.RegisterEnum("test.NestedDefinition_NestedEnum", NestedDefinition_NestedEnum_name, NestedDefinition_NestedEnum_value) proto.RegisterExtension(E_FieldA) proto.RegisterExtension(E_FieldB) proto.RegisterExtension(E_FieldC) @@ -2867,6 +2887,205 @@ func init() { proto.RegisterExtension(E_FieldB1) proto.RegisterExtension(E_FieldC1) } + +func init() { proto.RegisterFile("thetest.proto", fileDescriptor_9b8e0e81a01d0a18) } + +var fileDescriptor_9b8e0e81a01d0a18 = []byte{ + // 3070 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, + 0xf5, 0xe7, 0xec, 0x50, 0x0a, 0xf5, 0xf4, 0x45, 0x6f, 0x62, 0x65, 0xc1, 0xe8, 0xbf, 0xa2, 0x37, + 0xb2, 0xfe, 0x0c, 0x11, 0x4b, 0x14, 0x45, 0xc9, 0x32, 0xd3, 0xa4, 0xe0, 0x97, 0x1b, 0xb9, 0x11, + 0x65, 0x30, 0x72, 0x5b, 0x03, 0x05, 0x0a, 0x5a, 0x5c, 0x4b, 0x44, 0xe5, 0xa5, 0x40, 0xae, 0xd2, + 0xb8, 0x87, 0x22, 0xc8, 0xa1, 0x08, 0x7a, 0x2d, 0x7a, 0x6c, 0xe3, 0xa2, 0x28, 0x90, 0xde, 0x72, + 0x28, 0x8a, 0xa2, 0x28, 0x1a, 0x5f, 0x0a, 0xa8, 0x37, 0xa3, 0xa7, 0x22, 0x28, 0x84, 0x88, 0xb9, + 0xe4, 0x18, 0xf4, 0xd2, 0x1c, 0x72, 0x28, 0x76, 0x77, 0x76, 0x76, 0x66, 0xb8, 0xcb, 0x5d, 0x5a, + 0x4a, 0x9b, 0x8b, 0x2d, 0xce, 0x7b, 0x6f, 0xe6, 0xed, 0xfb, 0xfd, 0xde, 0xdb, 0xb7, 0x33, 0x03, + 0xd3, 0xe6, 0x81, 0x6e, 0xea, 0x3d, 0x73, 0xf9, 0xa8, 0xdb, 0x31, 0x3b, 0x72, 0xdc, 0xfa, 0x3b, + 0x75, 0x6d, 0xbf, 0x6d, 0x1e, 0x1c, 0xdf, 0x5b, 0xde, 0xeb, 0x3c, 0x58, 0xd9, 0xef, 0xec, 0x77, + 0x56, 0x6c, 0xe1, 0xbd, 0xe3, 0xfb, 0xf6, 0x2f, 0xfb, 0x87, 0xfd, 0x97, 0x63, 0xa4, 0xfd, 0x13, + 0xc3, 0x54, 0xbd, 0xdd, 0xda, 0x39, 0x32, 0xeb, 0x4d, 0xb3, 0xfd, 0x96, 0x2e, 0xcf, 0xc3, 0xf8, + 0xcd, 0xb6, 0x7e, 0xd8, 0x5a, 0x55, 0x50, 0x1a, 0x65, 0x50, 0x39, 0x7e, 0x72, 0xba, 0x10, 0x6b, + 0x90, 0x31, 0x2a, 0xcd, 0x2b, 0x52, 0x1a, 0x65, 0x24, 0x4e, 0x9a, 0xa7, 0xd2, 0x35, 0x05, 0xa7, + 0x51, 0x66, 0x8c, 0x93, 0xae, 0x51, 0x69, 0x41, 0x89, 0xa7, 0x51, 0x06, 0x73, 0xd2, 0x02, 0x95, + 0xae, 0x2b, 0x63, 0x69, 0x94, 0x99, 0xe6, 0xa4, 0xeb, 0x54, 0xba, 0xa1, 0x8c, 0xa7, 0x51, 0x26, + 0xce, 0x49, 0x37, 0xa8, 0xf4, 0xba, 0xf2, 0x4c, 0x1a, 0x65, 0x2e, 0x71, 0xd2, 0xeb, 0x54, 0xba, + 0xa9, 0x24, 0xd2, 0x28, 0x23, 0x73, 0xd2, 0x4d, 0x2a, 0xbd, 0xa1, 0x4c, 0xa4, 0x51, 0xe6, 0x19, + 0x4e, 0x7a, 0x43, 0x56, 0xe1, 0x19, 0xe7, 0xc9, 0x73, 0x0a, 0xa4, 0x51, 0x66, 0x96, 0x88, 0xdd, + 0x41, 0x4f, 0xbe, 0xaa, 0x4c, 0xa6, 0x51, 0x66, 0x9c, 0x97, 0xaf, 0x7a, 0xf2, 0xbc, 0x32, 0x95, + 0x46, 0x99, 0x24, 0x2f, 0xcf, 0x7b, 0xf2, 0x35, 0x65, 0x3a, 0x8d, 0x32, 0x09, 0x5e, 0xbe, 0xe6, + 0xc9, 0x0b, 0xca, 0x4c, 0x1a, 0x65, 0x26, 0x78, 0x79, 0xc1, 0x93, 0xaf, 0x2b, 0xb3, 0x69, 0x94, + 0x99, 0xe2, 0xe5, 0xeb, 0xda, 0xbb, 0x36, 0xbc, 0x86, 0x07, 0xef, 0x1c, 0x0f, 0x2f, 0x05, 0x76, + 0x8e, 0x07, 0x96, 0x42, 0x3a, 0xc7, 0x43, 0x4a, 0xc1, 0x9c, 0xe3, 0xc1, 0xa4, 0x30, 0xce, 0xf1, + 0x30, 0x52, 0x00, 0xe7, 0x78, 0x00, 0x29, 0x74, 0x73, 0x3c, 0x74, 0x14, 0xb4, 0x39, 0x1e, 0x34, + 0x0a, 0xd7, 0x1c, 0x0f, 0x17, 0x05, 0x4a, 0x11, 0x80, 0xf2, 0x20, 0x52, 0x04, 0x88, 0x3c, 0x70, + 0x14, 0x01, 0x1c, 0x0f, 0x16, 0x45, 0x80, 0xc5, 0x03, 0x44, 0x11, 0x00, 0xf1, 0xa0, 0x50, 0x04, + 0x28, 0x3c, 0x10, 0x48, 0x8e, 0x35, 0xf4, 0x23, 0x9f, 0x1c, 0xc3, 0x43, 0x73, 0x0c, 0x0f, 0xcd, + 0x31, 0x3c, 0x34, 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0x43, 0x73, 0x0c, 0x0f, 0xcd, 0x31, 0x3c, 0x34, + 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0xc3, 0x73, 0x0c, 0x87, 0xe4, 0x18, 0x0e, 0xc9, 0x31, 0x1c, 0x92, + 0x63, 0x38, 0x24, 0xc7, 0x70, 0x48, 0x8e, 0xe1, 0xc0, 0x1c, 0xf3, 0xe0, 0x9d, 0xe3, 0xe1, 0xf5, + 0xcd, 0x31, 0x1c, 0x90, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, 0xc3, 0x01, + 0x39, 0x86, 0x03, 0x72, 0x0c, 0x07, 0xe4, 0x18, 0x0e, 0xca, 0x31, 0x1c, 0x98, 0x63, 0x38, 0x30, + 0xc7, 0x70, 0x60, 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x81, 0x39, 0x86, 0xd9, 0x1c, 0xfb, 0x33, 0x06, + 0xd9, 0xc9, 0xb1, 0xdb, 0xcd, 0xbd, 0x1f, 0xea, 0x2d, 0x02, 0x85, 0x2a, 0x64, 0xda, 0xb8, 0x05, + 0x5d, 0xd2, 0x83, 0x44, 0x15, 0x72, 0x8d, 0x97, 0xe7, 0xa9, 0xdc, 0xcd, 0x36, 0x5e, 0xbe, 0x46, + 0xe5, 0x6e, 0xbe, 0xf1, 0xf2, 0x02, 0x95, 0xbb, 0x19, 0xc7, 0xcb, 0xd7, 0xa9, 0xdc, 0xcd, 0x39, + 0x5e, 0xbe, 0x41, 0xe5, 0x6e, 0xd6, 0xf1, 0xf2, 0xeb, 0x54, 0xee, 0xe6, 0x1d, 0x2f, 0xdf, 0xa4, + 0x72, 0x37, 0xf3, 0x78, 0xf9, 0x0d, 0x39, 0x2d, 0xe6, 0x9e, 0xab, 0x40, 0xa1, 0x4d, 0x8b, 0xd9, + 0x27, 0x68, 0xac, 0x7a, 0x1a, 0x6e, 0xfe, 0x09, 0x1a, 0x79, 0x4f, 0xc3, 0xcd, 0x40, 0x41, 0x63, + 0x4d, 0x7b, 0xcf, 0x86, 0xcf, 0x10, 0xe1, 0x4b, 0x09, 0xf0, 0x49, 0x0c, 0x74, 0x29, 0x01, 0x3a, + 0x89, 0x81, 0x2d, 0x25, 0xc0, 0x26, 0x31, 0x90, 0xa5, 0x04, 0xc8, 0x24, 0x06, 0xae, 0x94, 0x00, + 0x97, 0xc4, 0x40, 0x95, 0x12, 0xa0, 0x92, 0x18, 0x98, 0x52, 0x02, 0x4c, 0x12, 0x03, 0x51, 0x4a, + 0x80, 0x48, 0x62, 0xe0, 0x49, 0x09, 0xf0, 0x48, 0x0c, 0x34, 0xf3, 0x22, 0x34, 0x12, 0x0b, 0xcb, + 0xbc, 0x08, 0x8b, 0xc4, 0x42, 0x32, 0x2f, 0x42, 0x22, 0xb1, 0x70, 0xcc, 0x8b, 0x70, 0x48, 0x2c, + 0x14, 0x5f, 0x4a, 0x6e, 0x47, 0xf8, 0xa6, 0xd9, 0x3d, 0xde, 0x33, 0xcf, 0xd5, 0x11, 0xe6, 0xb8, + 0xf6, 0x61, 0x32, 0x2f, 0x2f, 0xdb, 0x0d, 0x2b, 0xdb, 0x71, 0x0a, 0x6f, 0xb0, 0x1c, 0xd7, 0x58, + 0x30, 0x16, 0x86, 0xbf, 0x45, 0xe1, 0x5c, 0xbd, 0x61, 0x8e, 0x6b, 0x33, 0xc2, 0xfd, 0xdb, 0xfc, + 0xca, 0x3b, 0xb6, 0xc7, 0x92, 0xdb, 0xb1, 0x91, 0xf0, 0x8f, 0xda, 0xb1, 0x65, 0xc3, 0x43, 0x4e, + 0x83, 0x9d, 0x0d, 0x0f, 0xf6, 0xc0, 0x5b, 0x27, 0x6a, 0x07, 0x97, 0x0d, 0x0f, 0x2d, 0x0d, 0xea, + 0xc5, 0xf6, 0x5b, 0x84, 0xc1, 0x0d, 0xfd, 0xc8, 0x87, 0xc1, 0xa3, 0xf6, 0x5b, 0x39, 0xae, 0x94, + 0x8c, 0xca, 0x60, 0x3c, 0x32, 0x83, 0x47, 0xed, 0xbc, 0x72, 0x5c, 0x79, 0x19, 0x99, 0xc1, 0x5f, + 0x41, 0x3f, 0x44, 0x18, 0xec, 0x85, 0x7f, 0xd4, 0x7e, 0x28, 0x1b, 0x1e, 0x72, 0x5f, 0x06, 0xe3, + 0x11, 0x18, 0x1c, 0xa5, 0x3f, 0xca, 0x86, 0x87, 0xd6, 0x9f, 0xc1, 0xe7, 0xee, 0x66, 0xde, 0x47, + 0x70, 0xa9, 0xde, 0x6e, 0xd5, 0x1e, 0xdc, 0xd3, 0x5b, 0x2d, 0xbd, 0x45, 0xe2, 0x98, 0xe3, 0x2a, + 0x41, 0x00, 0xd4, 0x4f, 0x4e, 0x17, 0xbc, 0x08, 0xaf, 0x43, 0xc2, 0x89, 0x69, 0x2e, 0xa7, 0x9c, + 0xa0, 0x90, 0x0a, 0x47, 0x55, 0xe5, 0x2b, 0xae, 0xd9, 0x6a, 0x4e, 0xf9, 0x3b, 0x62, 0xaa, 0x1c, + 0x1d, 0xd6, 0x7e, 0x6e, 0x7b, 0x68, 0x9c, 0xdb, 0xc3, 0x95, 0x48, 0x1e, 0x32, 0xbe, 0xbd, 0x30, + 0xe0, 0x1b, 0xe3, 0xd5, 0x31, 0xcc, 0xd6, 0xdb, 0xad, 0xba, 0xde, 0x33, 0xa3, 0xb9, 0xe4, 0xe8, + 0x08, 0xf5, 0x20, 0xc7, 0xd1, 0x92, 0xb5, 0xa0, 0x94, 0xe6, 0x6b, 0x84, 0xd6, 0xb6, 0x96, 0x35, + 0xb8, 0x65, 0xb3, 0x41, 0xcb, 0x7a, 0x95, 0x9d, 0x2e, 0x98, 0x0d, 0x5a, 0xd0, 0xcb, 0x21, 0xba, + 0xd4, 0xdb, 0xee, 0xcb, 0xb9, 0x72, 0xdc, 0x33, 0x3b, 0x0f, 0xe4, 0x79, 0x90, 0xb6, 0x5a, 0xf6, + 0x1a, 0x53, 0xe5, 0x29, 0xcb, 0xa9, 0x8f, 0x4f, 0x17, 0xe2, 0x77, 0x8e, 0xdb, 0xad, 0x86, 0xb4, + 0xd5, 0x92, 0x6f, 0xc1, 0xd8, 0x77, 0x9a, 0x87, 0xc7, 0xba, 0xfd, 0x8a, 0x98, 0x2a, 0x17, 0x88, + 0xc2, 0xcb, 0x81, 0x7b, 0x44, 0xd6, 0xc2, 0x2b, 0x7b, 0xf6, 0xd4, 0xcb, 0x77, 0xda, 0x86, 0xb9, + 0x9a, 0xdf, 0x6c, 0x38, 0x53, 0x68, 0xdf, 0x07, 0x70, 0xd6, 0xac, 0x36, 0x7b, 0x07, 0x72, 0xdd, + 0x9d, 0xd9, 0x59, 0x7a, 0xf3, 0xe3, 0xd3, 0x85, 0x42, 0x94, 0x59, 0xaf, 0xb5, 0x9a, 0xbd, 0x83, + 0x6b, 0xe6, 0xc3, 0x23, 0x7d, 0xb9, 0xfc, 0xd0, 0xd4, 0x7b, 0xee, 0xec, 0x47, 0xee, 0x5b, 0x8f, + 0x3c, 0x97, 0xc2, 0x3c, 0x57, 0x82, 0x7b, 0xa6, 0x9b, 0xfc, 0x33, 0xe5, 0x9e, 0xf6, 0x79, 0xde, + 0x76, 0x5f, 0x12, 0x42, 0x24, 0x71, 0x58, 0x24, 0xf1, 0x79, 0x23, 0x79, 0xe4, 0xd6, 0x47, 0xe1, + 0x59, 0xf1, 0xb0, 0x67, 0xc5, 0xe7, 0x79, 0xd6, 0x7f, 0x3b, 0xd9, 0x4a, 0xf3, 0xe9, 0x8e, 0xd1, + 0xee, 0x18, 0x5f, 0xbb, 0xbd, 0xa0, 0x0b, 0xed, 0x02, 0x8a, 0xf1, 0x93, 0x47, 0x0b, 0x48, 0x7b, + 0x5f, 0x72, 0x9f, 0xdc, 0x49, 0xa4, 0xa7, 0x7b, 0xf2, 0xaf, 0x4b, 0x4f, 0xf5, 0x55, 0x44, 0xe8, + 0x57, 0x08, 0xe6, 0x06, 0x2a, 0xb9, 0x13, 0xa6, 0x8b, 0x2d, 0xe7, 0xc6, 0xa8, 0xe5, 0x9c, 0x38, + 0xf8, 0x7b, 0x04, 0xcf, 0x09, 0xe5, 0xd5, 0x71, 0x6f, 0x45, 0x70, 0xef, 0xf9, 0xc1, 0x95, 0x6c, + 0x45, 0xc6, 0x3b, 0x16, 0x5e, 0xc1, 0x80, 0x99, 0x99, 0xe2, 0x5e, 0x10, 0x70, 0x9f, 0xa7, 0x06, + 0x3e, 0xe1, 0x72, 0x19, 0x40, 0xdc, 0xee, 0x40, 0x7c, 0xb7, 0xab, 0xeb, 0xb2, 0x0a, 0xd2, 0x4e, + 0x97, 0x78, 0x38, 0xe3, 0xd8, 0xef, 0x74, 0xcb, 0xdd, 0xa6, 0xb1, 0x77, 0xd0, 0x90, 0x76, 0xba, + 0xf2, 0x15, 0xc0, 0x25, 0xa3, 0x45, 0x3c, 0x9a, 0x75, 0x14, 0x4a, 0x46, 0x8b, 0x68, 0x58, 0x32, + 0x59, 0x85, 0xf8, 0x1b, 0x7a, 0xf3, 0x3e, 0x71, 0x02, 0x1c, 0x1d, 0x6b, 0xa4, 0x61, 0x8f, 0x93, + 0x05, 0xbf, 0x07, 0x09, 0x77, 0x62, 0x79, 0xd1, 0xb2, 0xb8, 0x6f, 0x92, 0x65, 0x89, 0x85, 0xe5, + 0x0e, 0x79, 0x73, 0xd9, 0x52, 0x79, 0x09, 0xc6, 0x1a, 0xed, 0xfd, 0x03, 0x93, 0x2c, 0x3e, 0xa8, + 0xe6, 0x88, 0xb5, 0xbb, 0x30, 0x41, 0x3d, 0xba, 0xe0, 0xa9, 0xab, 0xce, 0xa3, 0xc9, 0x29, 0xf6, + 0x7d, 0xe2, 0xee, 0x5b, 0x3a, 0x43, 0x72, 0x1a, 0x12, 0x6f, 0x9a, 0x5d, 0xaf, 0xe8, 0xbb, 0x1d, + 0x29, 0x1d, 0xd5, 0xde, 0x45, 0x90, 0xa8, 0xea, 0xfa, 0x91, 0x1d, 0xf0, 0xab, 0x10, 0xaf, 0x76, + 0x7e, 0x64, 0x10, 0x07, 0x2f, 0x91, 0x88, 0x5a, 0x62, 0x12, 0x53, 0x5b, 0x2c, 0x5f, 0x65, 0xe3, + 0xfe, 0x2c, 0x8d, 0x3b, 0xa3, 0x67, 0xc7, 0x5e, 0xe3, 0x62, 0x4f, 0x00, 0xb4, 0x94, 0x06, 0xe2, + 0x7f, 0x1d, 0x26, 0x99, 0x55, 0xe4, 0x0c, 0x71, 0x43, 0x12, 0x0d, 0xd9, 0x58, 0x59, 0x1a, 0x9a, + 0x0e, 0xd3, 0xdc, 0xc2, 0x96, 0x29, 0x13, 0xe2, 0x00, 0x53, 0x3b, 0xcc, 0x59, 0x3e, 0xcc, 0xfe, + 0xaa, 0x24, 0xd4, 0x39, 0x27, 0x46, 0x76, 0xb8, 0x17, 0x1d, 0x72, 0x06, 0x83, 0x68, 0xfd, 0xad, + 0x8d, 0x01, 0xae, 0xb7, 0x0f, 0xb5, 0x57, 0x01, 0x9c, 0x94, 0xaf, 0x19, 0xc7, 0x0f, 0x84, 0xac, + 0x9b, 0x71, 0x03, 0xbc, 0x7b, 0xa0, 0xef, 0xea, 0x3d, 0x5b, 0x85, 0xef, 0xa7, 0xac, 0x02, 0x03, + 0x4e, 0x8a, 0xd9, 0xf6, 0x2f, 0x85, 0xda, 0xfb, 0x76, 0x62, 0x96, 0xaa, 0xe2, 0xa8, 0xde, 0xd5, + 0xcd, 0x92, 0xd1, 0x31, 0x0f, 0xf4, 0xae, 0x60, 0x91, 0x97, 0xd7, 0xb8, 0x84, 0x9d, 0xc9, 0xbf, + 0x40, 0x2d, 0x02, 0x8d, 0xd6, 0xb4, 0x0f, 0x6d, 0x07, 0xad, 0x56, 0x60, 0xe0, 0x01, 0x71, 0x84, + 0x07, 0x94, 0x37, 0xb8, 0xfe, 0x6d, 0x88, 0x9b, 0xc2, 0xa7, 0xe5, 0x0d, 0xee, 0x3b, 0x67, 0xb8, + 0xb3, 0xfc, 0x37, 0xa6, 0x1b, 0x53, 0xd7, 0xe5, 0x97, 0x42, 0x5d, 0x0e, 0xe8, 0x6e, 0x47, 0x8d, + 0x29, 0x8e, 0x1a, 0xd3, 0x3f, 0xd1, 0x8e, 0xc3, 0x1a, 0xae, 0xea, 0xf7, 0x9b, 0xc7, 0x87, 0xa6, + 0xfc, 0x72, 0x28, 0xf6, 0x45, 0x54, 0xa1, 0xae, 0x16, 0xa2, 0xc2, 0x5f, 0x94, 0xca, 0x65, 0xea, + 0xee, 0xf5, 0x11, 0x28, 0x50, 0x94, 0x2a, 0x15, 0x5a, 0xb6, 0x13, 0xef, 0x3d, 0x5a, 0x40, 0x1f, + 0x3c, 0x5a, 0x88, 0x69, 0xbf, 0x43, 0x70, 0x89, 0x68, 0x32, 0xc4, 0xbd, 0x26, 0x38, 0x7f, 0xd9, + 0xad, 0x19, 0x7e, 0x11, 0xf8, 0xaf, 0x91, 0xf7, 0xaf, 0x08, 0x94, 0x01, 0x5f, 0xdd, 0x78, 0xe7, + 0x22, 0xb9, 0x5c, 0x44, 0xb5, 0xff, 0x7d, 0xcc, 0xef, 0xc2, 0xd8, 0x6e, 0xfb, 0x81, 0xde, 0xb5, + 0xde, 0x04, 0xd6, 0x1f, 0x8e, 0xcb, 0xee, 0x61, 0x8e, 0x33, 0xe4, 0xca, 0x1c, 0xe7, 0x38, 0x59, + 0x5e, 0x56, 0x20, 0x5e, 0x6d, 0x9a, 0x4d, 0xdb, 0x83, 0x29, 0x5a, 0x5f, 0x9b, 0x66, 0x53, 0x5b, + 0x83, 0xa9, 0xed, 0x87, 0xb5, 0xb7, 0x4d, 0xdd, 0x68, 0x35, 0xef, 0x1d, 0x8a, 0x67, 0xa0, 0x6e, + 0xbf, 0xba, 0x9a, 0x1d, 0x4b, 0xb4, 0x92, 0x27, 0xa8, 0x18, 0xb7, 0xfd, 0x79, 0x0b, 0x66, 0x76, + 0x2c, 0xb7, 0x6d, 0x3b, 0xce, 0xcc, 0x59, 0x1d, 0xd3, 0x87, 0x17, 0x9a, 0x32, 0xec, 0x35, 0x65, + 0x69, 0x40, 0xdb, 0x7c, 0xeb, 0xc4, 0xfa, 0xd1, 0x40, 0xdb, 0xd9, 0x78, 0x62, 0x26, 0x79, 0x29, + 0x1b, 0x4f, 0x40, 0x72, 0x9a, 0xac, 0xfb, 0x37, 0x0c, 0x49, 0xa7, 0xd5, 0xa9, 0xea, 0xf7, 0xdb, + 0x46, 0xdb, 0x1c, 0xec, 0x57, 0xa9, 0xc7, 0xf2, 0x37, 0x61, 0xc2, 0x0a, 0xa9, 0xfd, 0x8b, 0x00, + 0x76, 0x85, 0xb4, 0x28, 0xc2, 0x14, 0x64, 0xc0, 0xa6, 0x8e, 0x67, 0x23, 0xdf, 0x04, 0x5c, 0xaf, + 0x6f, 0x93, 0x97, 0x5b, 0x61, 0xa8, 0xe9, 0xb6, 0xde, 0xeb, 0x35, 0xf7, 0x75, 0xf2, 0x8b, 0x8c, + 0xf5, 0xf6, 0x1b, 0xd6, 0x04, 0x72, 0x01, 0xa4, 0xfa, 0x36, 0x69, 0x78, 0x17, 0xa3, 0x4c, 0xd3, + 0x90, 0xea, 0xdb, 0xa9, 0xbf, 0x20, 0x98, 0xe6, 0x46, 0x65, 0x0d, 0xa6, 0x9c, 0x01, 0xe6, 0x71, + 0xc7, 0x1b, 0xdc, 0x98, 0xeb, 0xb3, 0x74, 0x4e, 0x9f, 0x53, 0x25, 0x98, 0x15, 0xc6, 0xe5, 0x65, + 0x90, 0xd9, 0x21, 0xe2, 0x04, 0xd8, 0x0d, 0xb5, 0x8f, 0x44, 0xfb, 0x3f, 0x00, 0x2f, 0xae, 0xf2, + 0x2c, 0x4c, 0xee, 0xde, 0xbd, 0x5d, 0xfb, 0x41, 0xbd, 0xf6, 0xe6, 0x6e, 0xad, 0x9a, 0x44, 0xda, + 0x1f, 0x10, 0x4c, 0x92, 0xb6, 0x75, 0xaf, 0x73, 0xa4, 0xcb, 0x65, 0x40, 0x25, 0xc2, 0x87, 0xa7, + 0xf3, 0x1b, 0x95, 0xe4, 0x15, 0x40, 0xe5, 0xe8, 0x50, 0xa3, 0xb2, 0x9c, 0x07, 0x54, 0x21, 0x00, + 0x47, 0x43, 0x06, 0x55, 0xb4, 0x7f, 0x61, 0x78, 0x96, 0x6d, 0xa3, 0xdd, 0x7a, 0x72, 0x85, 0xff, + 0x6e, 0x2a, 0x4e, 0xac, 0xe6, 0xd7, 0x0a, 0xcb, 0xd6, 0x3f, 0x94, 0x92, 0x1a, 0xff, 0x09, 0x55, + 0x04, 0xaa, 0xb2, 0x1a, 0x74, 0x4f, 0xa4, 0x18, 0x67, 0x66, 0x18, 0xb8, 0x27, 0xc2, 0x49, 0x07, + 0xee, 0x89, 0x70, 0xd2, 0x81, 0x7b, 0x22, 0x9c, 0x74, 0xe0, 0x2c, 0x80, 0x93, 0x0e, 0xdc, 0x13, + 0xe1, 0xa4, 0x03, 0xf7, 0x44, 0x38, 0xe9, 0xe0, 0x3d, 0x11, 0x22, 0x0e, 0xbc, 0x27, 0xc2, 0xcb, + 0x07, 0xef, 0x89, 0xf0, 0xf2, 0xc1, 0x7b, 0x22, 0xc5, 0xb8, 0xd9, 0x3d, 0xd6, 0x83, 0x4f, 0x1d, + 0x78, 0xfb, 0x61, 0x1f, 0x81, 0x5e, 0x05, 0xde, 0x81, 0x59, 0x67, 0x43, 0xa2, 0xd2, 0x31, 0xcc, + 0x66, 0xdb, 0xd0, 0xbb, 0xf2, 0x37, 0x60, 0xca, 0x19, 0x72, 0x3e, 0x73, 0xfc, 0x3e, 0x03, 0x1d, + 0x39, 0xa9, 0xb7, 0x9c, 0xb6, 0xf6, 0x65, 0x1c, 0xe6, 0x9c, 0x81, 0x7a, 0xf3, 0x81, 0xce, 0xdd, + 0x32, 0x5a, 0x12, 0xce, 0x94, 0x66, 0x2c, 0xf3, 0xfe, 0xe9, 0x82, 0x33, 0x5a, 0xa2, 0x6c, 0x5a, + 0x12, 0x4e, 0x97, 0x78, 0x3d, 0xef, 0x05, 0xb4, 0x24, 0xdc, 0x3c, 0xe2, 0xf5, 0xe8, 0xfb, 0x86, + 0xea, 0xb9, 0x77, 0x90, 0x78, 0xbd, 0x2a, 0x65, 0xd9, 0x92, 0x70, 0x1b, 0x89, 0xd7, 0xab, 0x51, + 0xbe, 0x2d, 0x09, 0x67, 0x4f, 0xbc, 0xde, 0x4d, 0xca, 0xbc, 0x25, 0xe1, 0x14, 0x8a, 0xd7, 0xfb, + 0x16, 0xe5, 0xe0, 0x92, 0x70, 0x57, 0x89, 0xd7, 0x7b, 0x9d, 0xb2, 0x71, 0x49, 0xb8, 0xb5, 0xc4, + 0xeb, 0x6d, 0x51, 0x5e, 0x66, 0xc4, 0xfb, 0x4b, 0xbc, 0xe2, 0x2d, 0x8f, 0xa1, 0x19, 0xf1, 0x26, + 0x13, 0xaf, 0xf9, 0x6d, 0x8f, 0xab, 0x19, 0xf1, 0x4e, 0x13, 0xaf, 0xf9, 0x86, 0xc7, 0xda, 0x8c, + 0x78, 0x56, 0xc6, 0x6b, 0x6e, 0x7b, 0xfc, 0xcd, 0x88, 0xa7, 0x66, 0xbc, 0x66, 0xdd, 0x63, 0x72, + 0x46, 0x3c, 0x3f, 0xe3, 0x35, 0x77, 0xbc, 0x4d, 0xf4, 0x8f, 0x04, 0xfa, 0x31, 0xb7, 0xa0, 0x34, + 0x81, 0x7e, 0xe0, 0x43, 0x3d, 0xa1, 0x90, 0x31, 0x3a, 0x1e, 0xed, 0x34, 0x81, 0x76, 0xe0, 0x43, + 0x39, 0x4d, 0xa0, 0x1c, 0xf8, 0xd0, 0x4d, 0x13, 0xe8, 0x06, 0x3e, 0x54, 0xd3, 0x04, 0xaa, 0x81, + 0x0f, 0xcd, 0x34, 0x81, 0x66, 0xe0, 0x43, 0x31, 0x4d, 0xa0, 0x18, 0xf8, 0xd0, 0x4b, 0x13, 0xe8, + 0x05, 0x3e, 0xd4, 0x5a, 0x14, 0xa9, 0x05, 0x7e, 0xb4, 0x5a, 0x14, 0x69, 0x05, 0x7e, 0x94, 0x7a, + 0x51, 0xa4, 0xd4, 0x44, 0xff, 0x74, 0x61, 0xcc, 0x1a, 0x62, 0xd8, 0xb4, 0x28, 0xb2, 0x09, 0xfc, + 0x98, 0xb4, 0x28, 0x32, 0x09, 0xfc, 0x58, 0xb4, 0x28, 0xb2, 0x08, 0xfc, 0x18, 0xf4, 0x58, 0x64, + 0x90, 0x77, 0xc7, 0x47, 0x13, 0x8e, 0x14, 0xc3, 0x18, 0x84, 0x23, 0x30, 0x08, 0x47, 0x60, 0x10, + 0x8e, 0xc0, 0x20, 0x1c, 0x81, 0x41, 0x38, 0x02, 0x83, 0x70, 0x04, 0x06, 0xe1, 0x08, 0x0c, 0xc2, + 0x51, 0x18, 0x84, 0x23, 0x31, 0x08, 0x07, 0x31, 0x68, 0x51, 0xbc, 0xf1, 0x00, 0x7e, 0x05, 0x69, + 0x51, 0x3c, 0xfa, 0x0c, 0xa7, 0x10, 0x8e, 0x44, 0x21, 0x1c, 0x44, 0xa1, 0x8f, 0x30, 0x3c, 0xcb, + 0x51, 0x88, 0x9c, 0x0f, 0x5d, 0x54, 0x05, 0xda, 0x88, 0x70, 0xc1, 0xc2, 0x8f, 0x53, 0x1b, 0x11, + 0x0e, 0xa9, 0x87, 0xf1, 0x6c, 0xb0, 0x0a, 0xd5, 0x22, 0x54, 0xa1, 0x9b, 0x94, 0x43, 0x1b, 0x11, + 0x2e, 0x5e, 0x0c, 0x72, 0x6f, 0x73, 0x58, 0x11, 0x78, 0x3d, 0x52, 0x11, 0xd8, 0x8a, 0x54, 0x04, + 0x6e, 0x79, 0x08, 0xfe, 0x54, 0x82, 0xe7, 0x3c, 0x04, 0x9d, 0xbf, 0x76, 0x1f, 0x1e, 0x59, 0x25, + 0xc0, 0x3b, 0xa2, 0x92, 0xdd, 0x63, 0x1b, 0x06, 0x46, 0x69, 0xab, 0x25, 0xdf, 0xe6, 0x0f, 0xab, + 0x8a, 0xa3, 0x1e, 0xe0, 0x30, 0x88, 0x93, 0xcd, 0xd0, 0x45, 0xc0, 0x5b, 0xad, 0x9e, 0x5d, 0x2d, + 0xfc, 0x96, 0xad, 0x34, 0x2c, 0xb1, 0xdc, 0x80, 0x71, 0x5b, 0xbd, 0x67, 0xc3, 0x7b, 0x9e, 0x85, + 0xab, 0x0d, 0x32, 0x93, 0xf6, 0x18, 0x41, 0x9a, 0xa3, 0xf2, 0xc5, 0x1c, 0x19, 0xbc, 0x12, 0xe9, + 0xc8, 0x80, 0x4b, 0x10, 0xef, 0xf8, 0xe0, 0xff, 0x07, 0x4f, 0xaa, 0xd9, 0x2c, 0x11, 0x8f, 0x12, + 0x7e, 0x02, 0x33, 0xde, 0x13, 0xd8, 0xdf, 0x6c, 0xeb, 0xe1, 0xbb, 0x99, 0x7e, 0xa9, 0xb9, 0x2e, + 0xec, 0xa2, 0x0d, 0x35, 0xa3, 0xd9, 0xaa, 0x15, 0x61, 0xb6, 0xde, 0xb1, 0x77, 0x00, 0x7a, 0xed, + 0x8e, 0xd1, 0xdb, 0x6e, 0x1e, 0x85, 0x6d, 0x46, 0x24, 0xac, 0xd6, 0xfc, 0xe4, 0xd7, 0x0b, 0x31, + 0xed, 0x65, 0x98, 0xba, 0x63, 0x74, 0xf5, 0xbd, 0xce, 0xbe, 0xd1, 0xfe, 0xb1, 0xde, 0x12, 0x0c, + 0x27, 0x5c, 0xc3, 0x62, 0xfc, 0x89, 0xa5, 0xfd, 0x0b, 0x04, 0x97, 0x59, 0xf5, 0xef, 0xb6, 0xcd, + 0x83, 0x2d, 0xc3, 0xea, 0xe9, 0x5f, 0x85, 0x84, 0x4e, 0x80, 0xb3, 0xdf, 0x5d, 0x93, 0xee, 0x77, + 0xa4, 0xaf, 0xfa, 0xb2, 0xfd, 0x6f, 0x83, 0x9a, 0x08, 0xbb, 0x20, 0xee, 0xb2, 0xf9, 0xd4, 0x55, + 0x18, 0x73, 0xe6, 0xe7, 0xfd, 0x9a, 0x16, 0xfc, 0xfa, 0xad, 0x8f, 0x5f, 0x36, 0x8f, 0xe4, 0x5b, + 0x9c, 0x5f, 0xcc, 0xe7, 0xaa, 0xaf, 0xfa, 0xb2, 0x4b, 0xbe, 0x72, 0xc2, 0xea, 0xff, 0x6c, 0x46, + 0x85, 0x3b, 0x99, 0x81, 0x44, 0x4d, 0xd4, 0xf1, 0xf7, 0xb3, 0x0a, 0xf1, 0x7a, 0xa7, 0xa5, 0xcb, + 0xcf, 0xc1, 0xd8, 0x1b, 0xcd, 0x7b, 0xfa, 0x21, 0x09, 0xb2, 0xf3, 0x43, 0x5e, 0x82, 0x44, 0xe5, + 0xa0, 0x7d, 0xd8, 0xea, 0xea, 0x06, 0x39, 0xb3, 0x27, 0x5b, 0xe8, 0x96, 0x4d, 0x83, 0xca, 0xb4, + 0x0a, 0x5c, 0xaa, 0x77, 0x8c, 0xf2, 0x43, 0x93, 0xad, 0x1b, 0xcb, 0x42, 0x8a, 0x90, 0x33, 0x9f, + 0xdb, 0x56, 0x36, 0x5a, 0x0a, 0xe5, 0xb1, 0x8f, 0x4f, 0x17, 0xd0, 0x2e, 0xdd, 0x3f, 0xdf, 0x86, + 0xe7, 0x49, 0xfa, 0x0c, 0x4c, 0x95, 0x0f, 0x9b, 0x6a, 0x82, 0x9c, 0x53, 0x33, 0xd3, 0x6d, 0x59, + 0xd3, 0x19, 0xbe, 0xd3, 0x3d, 0x9d, 0x67, 0x56, 0x53, 0x34, 0xd4, 0x33, 0x3c, 0x92, 0x67, 0xbe, + 0xd3, 0x2d, 0x87, 0x4d, 0x27, 0x78, 0xf6, 0x22, 0x4c, 0x50, 0x19, 0xc3, 0x06, 0x36, 0x53, 0xf2, + 0x59, 0x0d, 0x26, 0x99, 0x84, 0x95, 0xc7, 0x00, 0x95, 0x92, 0x31, 0xeb, 0xbf, 0x72, 0x12, 0x59, + 0xff, 0x55, 0x92, 0x52, 0xf6, 0x2a, 0xcc, 0x0a, 0xfb, 0x97, 0x96, 0xa4, 0x9a, 0x04, 0xeb, 0xbf, + 0x5a, 0x72, 0x32, 0x15, 0x7f, 0xef, 0x37, 0x6a, 0x2c, 0xfb, 0x0a, 0xc8, 0x83, 0x3b, 0x9d, 0xf2, + 0x38, 0x48, 0x25, 0x6b, 0xca, 0xe7, 0x41, 0x2a, 0x97, 0x93, 0x28, 0x35, 0xfb, 0xb3, 0x5f, 0xa6, + 0x27, 0xcb, 0xba, 0x69, 0xea, 0xdd, 0xbb, 0xba, 0x59, 0x2e, 0x13, 0xe3, 0xd7, 0xe0, 0xb2, 0xef, + 0x4e, 0xa9, 0x65, 0x5f, 0xa9, 0x38, 0xf6, 0xd5, 0xea, 0x80, 0x7d, 0xb5, 0x6a, 0xdb, 0xa3, 0xa2, + 0x7b, 0xe2, 0x5c, 0x92, 0x7d, 0x76, 0x19, 0x95, 0x16, 0x73, 0xc2, 0x5d, 0x2a, 0xbe, 0x46, 0x74, + 0xcb, 0xbe, 0xba, 0x7a, 0xc8, 0x89, 0x75, 0xb9, 0x58, 0x21, 0xf6, 0x15, 0x5f, 0xfb, 0xfb, 0xc2, + 0xb1, 0x2a, 0xff, 0x86, 0x20, 0x93, 0x54, 0xa8, 0xc3, 0x55, 0xdf, 0x49, 0x0e, 0x98, 0xcb, 0xee, + 0x55, 0xea, 0x70, 0xcd, 0x57, 0xb7, 0x1d, 0x72, 0xe9, 0xab, 0x56, 0x5c, 0x21, 0x2f, 0xf9, 0xd2, + 0xaa, 0x7c, 0xd9, 0xcd, 0x51, 0xae, 0x02, 0x93, 0x00, 0xb9, 0x5a, 0xc5, 0x0a, 0x31, 0x28, 0x07, + 0x1a, 0x04, 0x47, 0xc9, 0xb5, 0x2c, 0xbe, 0x4e, 0x26, 0xa9, 0x04, 0x4e, 0x12, 0x12, 0x2a, 0xd7, + 0xbc, 0xbc, 0x7b, 0x72, 0xa6, 0xc6, 0x9e, 0x9c, 0xa9, 0xb1, 0x7f, 0x9c, 0xa9, 0xb1, 0x4f, 0xce, + 0x54, 0xf4, 0xd9, 0x99, 0x8a, 0x3e, 0x3f, 0x53, 0xd1, 0x17, 0x67, 0x2a, 0x7a, 0xa7, 0xaf, 0xa2, + 0x0f, 0xfa, 0x2a, 0xfa, 0xb0, 0xaf, 0xa2, 0x3f, 0xf6, 0x55, 0xf4, 0xb8, 0xaf, 0xa2, 0x93, 0xbe, + 0x1a, 0x7b, 0xd2, 0x57, 0x63, 0x9f, 0xf4, 0x55, 0xf4, 0x59, 0x5f, 0x8d, 0x7d, 0xde, 0x57, 0xd1, + 0x17, 0x7d, 0x35, 0xf6, 0xce, 0xa7, 0x6a, 0xec, 0xd1, 0xa7, 0x6a, 0xec, 0x83, 0x4f, 0x55, 0xf4, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5a, 0xab, 0x64, 0x51, 0x3b, 0x36, 0x00, 0x00, +} + func (this *NidOptNative) Compare(that interface{}) int { if that == nil { if this == nil { @@ -8320,427 +8539,430 @@ func (this *ProtoType) Description() (desc *github_com_gogo_protobuf_protoc_gen_ func ThetestDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 6720 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x6b, 0x70, 0x1c, 0xc7, - 0x75, 0x2e, 0x66, 0x67, 0x01, 0x2e, 0x0e, 0x5e, 0x83, 0x01, 0x09, 0xae, 0x20, 0x0a, 0x20, 0x57, - 0x14, 0x05, 0x41, 0x12, 0x08, 0x82, 0xe0, 0x6b, 0x69, 0x49, 0x77, 0x5f, 0xa4, 0x40, 0x13, 0x0b, - 0x78, 0x00, 0x58, 0xa2, 0x7d, 0x6f, 0x6d, 0x0d, 0x77, 0x1b, 0xc0, 0x4a, 0xbb, 0x33, 0xeb, 0x9d, - 0x59, 0x49, 0x50, 0xdd, 0xba, 0xa5, 0x6b, 0xdf, 0xeb, 0xd8, 0x49, 0xe5, 0xe9, 0xa4, 0x62, 0x3b, - 0xb6, 0x2c, 0xdb, 0x65, 0x5b, 0x76, 0x5e, 0x76, 0xec, 0x38, 0x7e, 0xa4, 0x62, 0xfd, 0x71, 0xc2, - 0xfc, 0x49, 0xc9, 0xf9, 0x95, 0x72, 0xa5, 0x54, 0x16, 0xe5, 0xaa, 0x38, 0x89, 0x12, 0x3b, 0x8e, - 0xaa, 0xe2, 0x2a, 0xf9, 0x47, 0xaa, 0x5f, 0x33, 0xd3, 0xbd, 0xb3, 0x98, 0x81, 0x28, 0xc9, 0xfe, - 0x43, 0xee, 0xf6, 0x39, 0xdf, 0x99, 0xd3, 0xe7, 0xd5, 0x67, 0xba, 0x1b, 0x0b, 0x3f, 0xbe, 0x00, - 0x47, 0xb7, 0x6d, 0x7b, 0xbb, 0x81, 0x4e, 0xb6, 0xda, 0xb6, 0x6b, 0x5f, 0xef, 0x6c, 0x9d, 0xac, - 0x21, 0xa7, 0xda, 0xae, 0xb7, 0x5c, 0xbb, 0x3d, 0x4f, 0xc6, 0xf4, 0x31, 0xca, 0x31, 0xcf, 0x39, - 0x32, 0x2b, 0x30, 0x7e, 0xa9, 0xde, 0x40, 0x45, 0x8f, 0x71, 0x1d, 0xb9, 0xfa, 0x79, 0x48, 0x6e, - 0xd5, 0x1b, 0x28, 0xad, 0x1c, 0x55, 0x67, 0x87, 0x16, 0x8f, 0xcf, 0x4b, 0xa0, 0x79, 0x11, 0xb1, - 0x86, 0x87, 0x0d, 0x82, 0xc8, 0xfc, 0x30, 0x09, 0x13, 0x21, 0x54, 0x5d, 0x87, 0xa4, 0x65, 0x36, - 0xb1, 0x44, 0x65, 0x76, 0xd0, 0x20, 0x9f, 0xf5, 0x34, 0x1c, 0x68, 0x99, 0xd5, 0xc7, 0xcd, 0x6d, - 0x94, 0x4e, 0x90, 0x61, 0xfe, 0x55, 0x9f, 0x06, 0xa8, 0xa1, 0x16, 0xb2, 0x6a, 0xc8, 0xaa, 0xee, - 0xa6, 0xd5, 0xa3, 0xea, 0xec, 0xa0, 0x11, 0x18, 0xd1, 0xef, 0x85, 0xf1, 0x56, 0xe7, 0x7a, 0xa3, - 0x5e, 0xad, 0x04, 0xd8, 0xe0, 0xa8, 0x3a, 0xdb, 0x6f, 0x68, 0x94, 0x50, 0xf4, 0x99, 0xef, 0x86, - 0xb1, 0x27, 0x91, 0xf9, 0x78, 0x90, 0x75, 0x88, 0xb0, 0x8e, 0xe2, 0xe1, 0x00, 0x63, 0x01, 0x86, - 0x9b, 0xc8, 0x71, 0xcc, 0x6d, 0x54, 0x71, 0x77, 0x5b, 0x28, 0x9d, 0x24, 0xb3, 0x3f, 0xda, 0x35, - 0x7b, 0x79, 0xe6, 0x43, 0x0c, 0xb5, 0xb1, 0xdb, 0x42, 0x7a, 0x0e, 0x06, 0x91, 0xd5, 0x69, 0x52, - 0x09, 0xfd, 0x3d, 0xec, 0x57, 0xb2, 0x3a, 0x4d, 0x59, 0x4a, 0x0a, 0xc3, 0x98, 0x88, 0x03, 0x0e, - 0x6a, 0x3f, 0x51, 0xaf, 0xa2, 0xf4, 0x00, 0x11, 0x70, 0x77, 0x97, 0x80, 0x75, 0x4a, 0x97, 0x65, - 0x70, 0x9c, 0x5e, 0x80, 0x41, 0xf4, 0x94, 0x8b, 0x2c, 0xa7, 0x6e, 0x5b, 0xe9, 0x03, 0x44, 0xc8, - 0x5d, 0x21, 0x5e, 0x44, 0x8d, 0x9a, 0x2c, 0xc2, 0xc7, 0xe9, 0x67, 0xe1, 0x80, 0xdd, 0x72, 0xeb, - 0xb6, 0xe5, 0xa4, 0x53, 0x47, 0x95, 0xd9, 0xa1, 0xc5, 0x23, 0xa1, 0x81, 0xb0, 0x4a, 0x79, 0x0c, - 0xce, 0xac, 0x2f, 0x83, 0xe6, 0xd8, 0x9d, 0x76, 0x15, 0x55, 0xaa, 0x76, 0x0d, 0x55, 0xea, 0xd6, - 0x96, 0x9d, 0x1e, 0x24, 0x02, 0x66, 0xba, 0x27, 0x42, 0x18, 0x0b, 0x76, 0x0d, 0x2d, 0x5b, 0x5b, - 0xb6, 0x31, 0xea, 0x08, 0xdf, 0xf5, 0x49, 0x18, 0x70, 0x76, 0x2d, 0xd7, 0x7c, 0x2a, 0x3d, 0x4c, - 0x22, 0x84, 0x7d, 0xcb, 0x7c, 0x73, 0x00, 0xc6, 0xe2, 0x84, 0xd8, 0x45, 0xe8, 0xdf, 0xc2, 0xb3, - 0x4c, 0x27, 0xf6, 0x63, 0x03, 0x8a, 0x11, 0x8d, 0x38, 0xf0, 0x06, 0x8d, 0x98, 0x83, 0x21, 0x0b, - 0x39, 0x2e, 0xaa, 0xd1, 0x88, 0x50, 0x63, 0xc6, 0x14, 0x50, 0x50, 0x77, 0x48, 0x25, 0xdf, 0x50, - 0x48, 0x3d, 0x0a, 0x63, 0x9e, 0x4a, 0x95, 0xb6, 0x69, 0x6d, 0xf3, 0xd8, 0x3c, 0x19, 0xa5, 0xc9, - 0x7c, 0x89, 0xe3, 0x0c, 0x0c, 0x33, 0x46, 0x91, 0xf0, 0x5d, 0x2f, 0x02, 0xd8, 0x16, 0xb2, 0xb7, - 0x2a, 0x35, 0x54, 0x6d, 0xa4, 0x53, 0x3d, 0xac, 0xb4, 0x8a, 0x59, 0xba, 0xac, 0x64, 0xd3, 0xd1, - 0x6a, 0x43, 0xbf, 0xe0, 0x87, 0xda, 0x81, 0x1e, 0x91, 0xb2, 0x42, 0x93, 0xac, 0x2b, 0xda, 0x36, - 0x61, 0xb4, 0x8d, 0x70, 0xdc, 0xa3, 0x1a, 0x9b, 0xd9, 0x20, 0x51, 0x62, 0x3e, 0x72, 0x66, 0x06, - 0x83, 0xd1, 0x89, 0x8d, 0xb4, 0x83, 0x5f, 0xf5, 0x3b, 0xc1, 0x1b, 0xa8, 0x90, 0xb0, 0x02, 0x52, - 0x85, 0x86, 0xf9, 0x60, 0xd9, 0x6c, 0xa2, 0xa9, 0xa7, 0x61, 0x54, 0x34, 0x8f, 0x7e, 0x10, 0xfa, - 0x1d, 0xd7, 0x6c, 0xbb, 0x24, 0x0a, 0xfb, 0x0d, 0xfa, 0x45, 0xd7, 0x40, 0x45, 0x56, 0x8d, 0x54, - 0xb9, 0x7e, 0x03, 0x7f, 0xd4, 0xff, 0x87, 0x3f, 0x61, 0x95, 0x4c, 0xf8, 0x44, 0xb7, 0x47, 0x05, - 0xc9, 0xf2, 0xbc, 0xa7, 0xce, 0xc1, 0x88, 0x30, 0x81, 0xb8, 0x8f, 0xce, 0xfc, 0x6f, 0x38, 0x14, - 0x2a, 0x5a, 0x7f, 0x14, 0x0e, 0x76, 0xac, 0xba, 0xe5, 0xa2, 0x76, 0xab, 0x8d, 0x70, 0xc4, 0xd2, - 0x47, 0xa5, 0xff, 0xe9, 0x40, 0x8f, 0x98, 0xdb, 0x0c, 0x72, 0x53, 0x29, 0xc6, 0x44, 0xa7, 0x7b, - 0x70, 0x6e, 0x30, 0xf5, 0xa3, 0x03, 0xda, 0x33, 0xcf, 0x3c, 0xf3, 0x4c, 0x22, 0xf3, 0xd1, 0x01, - 0x38, 0x18, 0x96, 0x33, 0xa1, 0xe9, 0x3b, 0x09, 0x03, 0x56, 0xa7, 0x79, 0x1d, 0xb5, 0x89, 0x91, - 0xfa, 0x0d, 0xf6, 0x4d, 0xcf, 0x41, 0x7f, 0xc3, 0xbc, 0x8e, 0x1a, 0xe9, 0xe4, 0x51, 0x65, 0x76, - 0x74, 0xf1, 0xde, 0x58, 0x59, 0x39, 0x7f, 0x15, 0x43, 0x0c, 0x8a, 0xd4, 0x1f, 0x84, 0x24, 0x2b, - 0xd1, 0x58, 0xc2, 0x5c, 0x3c, 0x09, 0x38, 0x97, 0x0c, 0x82, 0xd3, 0x6f, 0x87, 0x41, 0xfc, 0x3f, - 0x8d, 0x8d, 0x01, 0xa2, 0x73, 0x0a, 0x0f, 0xe0, 0xb8, 0xd0, 0xa7, 0x20, 0x45, 0xd2, 0xa4, 0x86, - 0xf8, 0xd2, 0xe6, 0x7d, 0xc7, 0x81, 0x55, 0x43, 0x5b, 0x66, 0xa7, 0xe1, 0x56, 0x9e, 0x30, 0x1b, - 0x1d, 0x44, 0x02, 0x7e, 0xd0, 0x18, 0x66, 0x83, 0xef, 0xc6, 0x63, 0xfa, 0x0c, 0x0c, 0xd1, 0xac, - 0xaa, 0x5b, 0x35, 0xf4, 0x14, 0xa9, 0x9e, 0xfd, 0x06, 0x4d, 0xb4, 0x65, 0x3c, 0x82, 0x1f, 0xff, - 0x98, 0x63, 0x5b, 0x3c, 0x34, 0xc9, 0x23, 0xf0, 0x00, 0x79, 0xfc, 0x39, 0xb9, 0x70, 0xdf, 0x11, - 0x3e, 0x3d, 0x39, 0xa6, 0x32, 0x5f, 0x4f, 0x40, 0x92, 0xd4, 0x8b, 0x31, 0x18, 0xda, 0xb8, 0xb6, - 0x56, 0xaa, 0x14, 0x57, 0x37, 0xf3, 0x57, 0x4b, 0x9a, 0xa2, 0x8f, 0x02, 0x90, 0x81, 0x4b, 0x57, - 0x57, 0x73, 0x1b, 0x5a, 0xc2, 0xfb, 0xbe, 0x5c, 0xde, 0x38, 0xbb, 0xa4, 0xa9, 0x1e, 0x60, 0x93, - 0x0e, 0x24, 0x83, 0x0c, 0xa7, 0x17, 0xb5, 0x7e, 0x5d, 0x83, 0x61, 0x2a, 0x60, 0xf9, 0xd1, 0x52, - 0xf1, 0xec, 0x92, 0x36, 0x20, 0x8e, 0x9c, 0x5e, 0xd4, 0x0e, 0xe8, 0x23, 0x30, 0x48, 0x46, 0xf2, - 0xab, 0xab, 0x57, 0xb5, 0x94, 0x27, 0x73, 0x7d, 0xc3, 0x58, 0x2e, 0x5f, 0xd6, 0x06, 0x3d, 0x99, - 0x97, 0x8d, 0xd5, 0xcd, 0x35, 0x0d, 0x3c, 0x09, 0x2b, 0xa5, 0xf5, 0xf5, 0xdc, 0xe5, 0x92, 0x36, - 0xe4, 0x71, 0xe4, 0xaf, 0x6d, 0x94, 0xd6, 0xb5, 0x61, 0x41, 0xad, 0xd3, 0x8b, 0xda, 0x88, 0xf7, - 0x88, 0x52, 0x79, 0x73, 0x45, 0x1b, 0xd5, 0xc7, 0x61, 0x84, 0x3e, 0x82, 0x2b, 0x31, 0x26, 0x0d, - 0x9d, 0x5d, 0xd2, 0x34, 0x5f, 0x11, 0x2a, 0x65, 0x5c, 0x18, 0x38, 0xbb, 0xa4, 0xe9, 0x99, 0x02, - 0xf4, 0x93, 0xe8, 0xd2, 0x75, 0x18, 0xbd, 0x9a, 0xcb, 0x97, 0xae, 0x56, 0x56, 0xd7, 0x36, 0x96, - 0x57, 0xcb, 0xb9, 0xab, 0x9a, 0xe2, 0x8f, 0x19, 0xa5, 0x77, 0x6d, 0x2e, 0x1b, 0xa5, 0xa2, 0x96, - 0x08, 0x8e, 0xad, 0x95, 0x72, 0x1b, 0xa5, 0xa2, 0xa6, 0x66, 0xaa, 0x70, 0x30, 0xac, 0x4e, 0x86, - 0x66, 0x46, 0xc0, 0xc5, 0x89, 0x1e, 0x2e, 0x26, 0xb2, 0xba, 0x5c, 0xfc, 0x4a, 0x02, 0x26, 0x42, - 0xd6, 0x8a, 0xd0, 0x87, 0x3c, 0x04, 0xfd, 0x34, 0x44, 0xe9, 0xea, 0x79, 0x4f, 0xe8, 0xa2, 0x43, - 0x02, 0xb6, 0x6b, 0x05, 0x25, 0xb8, 0x60, 0x07, 0xa1, 0xf6, 0xe8, 0x20, 0xb0, 0x88, 0xae, 0x9a, - 0xfe, 0xbf, 0xba, 0x6a, 0x3a, 0x5d, 0xf6, 0xce, 0xc6, 0x59, 0xf6, 0xc8, 0xd8, 0xfe, 0x6a, 0x7b, - 0x7f, 0x48, 0x6d, 0xbf, 0x08, 0xe3, 0x5d, 0x82, 0x62, 0xd7, 0xd8, 0x0f, 0x28, 0x90, 0xee, 0x65, - 0x9c, 0x88, 0x4a, 0x97, 0x10, 0x2a, 0xdd, 0x45, 0xd9, 0x82, 0xc7, 0x7a, 0x3b, 0xa1, 0xcb, 0xd7, - 0x5f, 0x50, 0x60, 0x32, 0xbc, 0x53, 0x0c, 0xd5, 0xe1, 0x41, 0x18, 0x68, 0x22, 0x77, 0xc7, 0xe6, - 0xdd, 0xd2, 0x89, 0x90, 0x35, 0x18, 0x93, 0x65, 0x67, 0x33, 0x54, 0x70, 0x11, 0x57, 0x7b, 0xb5, - 0x7b, 0x54, 0x9b, 0x2e, 0x4d, 0x3f, 0x9c, 0x80, 0x43, 0xa1, 0xc2, 0x43, 0x15, 0xbd, 0x03, 0xa0, - 0x6e, 0xb5, 0x3a, 0x2e, 0xed, 0x88, 0x68, 0x81, 0x1d, 0x24, 0x23, 0xa4, 0x78, 0xe1, 0xe2, 0xd9, - 0x71, 0x3d, 0xba, 0x4a, 0xe8, 0x40, 0x87, 0x08, 0xc3, 0x79, 0x5f, 0xd1, 0x24, 0x51, 0x74, 0xba, - 0xc7, 0x4c, 0xbb, 0x02, 0x73, 0x01, 0xb4, 0x6a, 0xa3, 0x8e, 0x2c, 0xb7, 0xe2, 0xb8, 0x6d, 0x64, - 0x36, 0xeb, 0xd6, 0x36, 0x59, 0x41, 0x52, 0xd9, 0xfe, 0x2d, 0xb3, 0xe1, 0x20, 0x63, 0x8c, 0x92, - 0xd7, 0x39, 0x15, 0x23, 0x48, 0x00, 0xb5, 0x03, 0x88, 0x01, 0x01, 0x41, 0xc9, 0x1e, 0x22, 0xf3, - 0xd5, 0x14, 0x0c, 0x05, 0xfa, 0x6a, 0xfd, 0x18, 0x0c, 0x3f, 0x66, 0x3e, 0x61, 0x56, 0xf8, 0xbb, - 0x12, 0xb5, 0xc4, 0x10, 0x1e, 0x5b, 0x63, 0xef, 0x4b, 0x0b, 0x70, 0x90, 0xb0, 0xd8, 0x1d, 0x17, - 0xb5, 0x2b, 0xd5, 0x86, 0xe9, 0x38, 0xc4, 0x68, 0x29, 0xc2, 0xaa, 0x63, 0xda, 0x2a, 0x26, 0x15, - 0x38, 0x45, 0x3f, 0x03, 0x13, 0x04, 0xd1, 0xec, 0x34, 0xdc, 0x7a, 0xab, 0x81, 0x2a, 0xf8, 0xed, - 0xcd, 0x21, 0x2b, 0x89, 0xa7, 0xd9, 0x38, 0xe6, 0x58, 0x61, 0x0c, 0x58, 0x23, 0x47, 0x2f, 0xc2, - 0x1d, 0x04, 0xb6, 0x8d, 0x2c, 0xd4, 0x36, 0x5d, 0x54, 0x41, 0xef, 0xeb, 0x98, 0x0d, 0xa7, 0x62, - 0x5a, 0xb5, 0xca, 0x8e, 0xe9, 0xec, 0xa4, 0x0f, 0x62, 0x01, 0xf9, 0x44, 0x5a, 0x31, 0x6e, 0xc3, - 0x8c, 0x97, 0x19, 0x5f, 0x89, 0xb0, 0xe5, 0xac, 0xda, 0xc3, 0xa6, 0xb3, 0xa3, 0x67, 0x61, 0x92, - 0x48, 0x71, 0xdc, 0x76, 0xdd, 0xda, 0xae, 0x54, 0x77, 0x50, 0xf5, 0xf1, 0x4a, 0xc7, 0xdd, 0x3a, - 0x9f, 0xbe, 0x3d, 0xf8, 0x7c, 0xa2, 0xe1, 0x3a, 0xe1, 0x29, 0x60, 0x96, 0x4d, 0x77, 0xeb, 0xbc, - 0xbe, 0x0e, 0xc3, 0xd8, 0x19, 0xcd, 0xfa, 0xd3, 0xa8, 0xb2, 0x65, 0xb7, 0xc9, 0xd2, 0x38, 0x1a, - 0x52, 0x9a, 0x02, 0x16, 0x9c, 0x5f, 0x65, 0x80, 0x15, 0xbb, 0x86, 0xb2, 0xfd, 0xeb, 0x6b, 0xa5, - 0x52, 0xd1, 0x18, 0xe2, 0x52, 0x2e, 0xd9, 0x6d, 0x1c, 0x50, 0xdb, 0xb6, 0x67, 0xe0, 0x21, 0x1a, - 0x50, 0xdb, 0x36, 0x37, 0xef, 0x19, 0x98, 0xa8, 0x56, 0xe9, 0x9c, 0xeb, 0xd5, 0x0a, 0x7b, 0xc7, - 0x72, 0xd2, 0x9a, 0x60, 0xac, 0x6a, 0xf5, 0x32, 0x65, 0x60, 0x31, 0xee, 0xe8, 0x17, 0xe0, 0x90, - 0x6f, 0xac, 0x20, 0x70, 0xbc, 0x6b, 0x96, 0x32, 0xf4, 0x0c, 0x4c, 0xb4, 0x76, 0xbb, 0x81, 0xba, - 0xf0, 0xc4, 0xd6, 0xae, 0x0c, 0x3b, 0x07, 0x07, 0x5b, 0x3b, 0xad, 0x6e, 0xdc, 0x5c, 0x10, 0xa7, - 0xb7, 0x76, 0x5a, 0x32, 0xf0, 0x2e, 0xf2, 0xc2, 0xdd, 0x46, 0x55, 0xd3, 0x45, 0xb5, 0xf4, 0xe1, - 0x20, 0x7b, 0x80, 0xa0, 0x9f, 0x04, 0xad, 0x5a, 0xad, 0x20, 0xcb, 0xbc, 0xde, 0x40, 0x15, 0xb3, - 0x8d, 0x2c, 0xd3, 0x49, 0xcf, 0x04, 0x99, 0x47, 0xab, 0xd5, 0x12, 0xa1, 0xe6, 0x08, 0x51, 0x9f, - 0x83, 0x71, 0xfb, 0xfa, 0x63, 0x55, 0x1a, 0x92, 0x95, 0x56, 0x1b, 0x6d, 0xd5, 0x9f, 0x4a, 0x1f, - 0x27, 0xf6, 0x1d, 0xc3, 0x04, 0x12, 0x90, 0x6b, 0x64, 0x58, 0xbf, 0x07, 0xb4, 0xaa, 0xb3, 0x63, - 0xb6, 0x5b, 0xa4, 0x26, 0x3b, 0x2d, 0xb3, 0x8a, 0xd2, 0x77, 0x51, 0x56, 0x3a, 0x5e, 0xe6, 0xc3, - 0x38, 0x25, 0x9c, 0x27, 0xeb, 0x5b, 0x2e, 0x97, 0x78, 0x37, 0x4d, 0x09, 0x32, 0xc6, 0xa4, 0xcd, - 0x82, 0x86, 0x4d, 0x21, 0x3c, 0x78, 0x96, 0xb0, 0x8d, 0xb6, 0x76, 0x5a, 0xc1, 0xe7, 0xde, 0x09, - 0x23, 0x98, 0xd3, 0x7f, 0xe8, 0x3d, 0xb4, 0x21, 0x6b, 0xed, 0x04, 0x9e, 0xf8, 0x96, 0xf5, 0xc6, - 0x99, 0x2c, 0x0c, 0x07, 0xe3, 0x53, 0x1f, 0x04, 0x1a, 0xa1, 0x9a, 0x82, 0x9b, 0x95, 0xc2, 0x6a, - 0x11, 0xb7, 0x19, 0xef, 0x29, 0x69, 0x09, 0xdc, 0xee, 0x5c, 0x5d, 0xde, 0x28, 0x55, 0x8c, 0xcd, - 0xf2, 0xc6, 0xf2, 0x4a, 0x49, 0x53, 0x83, 0x7d, 0xf5, 0x77, 0x13, 0x30, 0x2a, 0xbe, 0x22, 0xe9, - 0xef, 0x80, 0xc3, 0x7c, 0x3f, 0xc3, 0x41, 0x6e, 0xe5, 0xc9, 0x7a, 0x9b, 0xa4, 0x4c, 0xd3, 0xa4, - 0xcb, 0x97, 0xe7, 0xb4, 0x83, 0x8c, 0x6b, 0x1d, 0xb9, 0x8f, 0xd4, 0xdb, 0x38, 0x21, 0x9a, 0xa6, - 0xab, 0x5f, 0x85, 0x19, 0xcb, 0xae, 0x38, 0xae, 0x69, 0xd5, 0xcc, 0x76, 0xad, 0xe2, 0xef, 0x24, - 0x55, 0xcc, 0x6a, 0x15, 0x39, 0x8e, 0x4d, 0x97, 0x2a, 0x4f, 0xca, 0x11, 0xcb, 0x5e, 0x67, 0xcc, - 0x7e, 0x0d, 0xcf, 0x31, 0x56, 0x29, 0xc0, 0xd4, 0x5e, 0x01, 0x76, 0x3b, 0x0c, 0x36, 0xcd, 0x56, - 0x05, 0x59, 0x6e, 0x7b, 0x97, 0x34, 0xc6, 0x29, 0x23, 0xd5, 0x34, 0x5b, 0x25, 0xfc, 0xfd, 0xed, - 0x79, 0x3f, 0xf9, 0x47, 0x15, 0x86, 0x83, 0xcd, 0x31, 0x7e, 0xd7, 0xa8, 0x92, 0x75, 0x44, 0x21, - 0x95, 0xe6, 0xce, 0x3d, 0x5b, 0xe9, 0xf9, 0x02, 0x5e, 0x60, 0xb2, 0x03, 0xb4, 0x65, 0x35, 0x28, - 0x12, 0x2f, 0xee, 0xb8, 0xb6, 0x20, 0xda, 0x22, 0xa4, 0x0c, 0xf6, 0x4d, 0xbf, 0x0c, 0x03, 0x8f, - 0x39, 0x44, 0xf6, 0x00, 0x91, 0x7d, 0x7c, 0x6f, 0xd9, 0x57, 0xd6, 0x89, 0xf0, 0xc1, 0x2b, 0xeb, - 0x95, 0xf2, 0xaa, 0xb1, 0x92, 0xbb, 0x6a, 0x30, 0xb8, 0x7e, 0x1b, 0x24, 0x1b, 0xe6, 0xd3, 0xbb, - 0xe2, 0x52, 0x44, 0x86, 0xe2, 0x1a, 0xfe, 0x36, 0x48, 0x3e, 0x89, 0xcc, 0xc7, 0xc5, 0x05, 0x80, - 0x0c, 0xbd, 0x85, 0xa1, 0x7f, 0x12, 0xfa, 0x89, 0xbd, 0x74, 0x00, 0x66, 0x31, 0xad, 0x4f, 0x4f, - 0x41, 0xb2, 0xb0, 0x6a, 0xe0, 0xf0, 0xd7, 0x60, 0x98, 0x8e, 0x56, 0xd6, 0x96, 0x4b, 0x85, 0x92, - 0x96, 0xc8, 0x9c, 0x81, 0x01, 0x6a, 0x04, 0x9c, 0x1a, 0x9e, 0x19, 0xb4, 0x3e, 0xf6, 0x95, 0xc9, - 0x50, 0x38, 0x75, 0x73, 0x25, 0x5f, 0x32, 0xb4, 0x44, 0xd0, 0xbd, 0x0e, 0x0c, 0x07, 0xfb, 0xe2, - 0xb7, 0x27, 0xa6, 0xbe, 0xa5, 0xc0, 0x50, 0xa0, 0xcf, 0xc5, 0x0d, 0x8a, 0xd9, 0x68, 0xd8, 0x4f, - 0x56, 0xcc, 0x46, 0xdd, 0x74, 0x58, 0x50, 0x00, 0x19, 0xca, 0xe1, 0x91, 0xb8, 0x4e, 0x7b, 0x5b, - 0x94, 0x7f, 0x56, 0x01, 0x4d, 0x6e, 0x31, 0x25, 0x05, 0x95, 0x5f, 0xa8, 0x82, 0x9f, 0x50, 0x60, - 0x54, 0xec, 0x2b, 0x25, 0xf5, 0x8e, 0xfd, 0x42, 0xd5, 0xfb, 0x41, 0x02, 0x46, 0x84, 0x6e, 0x32, - 0xae, 0x76, 0xef, 0x83, 0xf1, 0x7a, 0x0d, 0x35, 0x5b, 0xb6, 0x8b, 0xac, 0xea, 0x6e, 0xa5, 0x81, - 0x9e, 0x40, 0x8d, 0x74, 0x86, 0x14, 0x8a, 0x93, 0x7b, 0xf7, 0xab, 0xf3, 0xcb, 0x3e, 0xee, 0x2a, - 0x86, 0x65, 0x27, 0x96, 0x8b, 0xa5, 0x95, 0xb5, 0xd5, 0x8d, 0x52, 0xb9, 0x70, 0xad, 0xb2, 0x59, - 0x7e, 0x67, 0x79, 0xf5, 0x91, 0xb2, 0xa1, 0xd5, 0x25, 0xb6, 0xb7, 0x30, 0xd5, 0xd7, 0x40, 0x93, - 0x95, 0xd2, 0x0f, 0x43, 0x98, 0x5a, 0x5a, 0x9f, 0x3e, 0x01, 0x63, 0xe5, 0xd5, 0xca, 0xfa, 0x72, - 0xb1, 0x54, 0x29, 0x5d, 0xba, 0x54, 0x2a, 0x6c, 0xac, 0xd3, 0x1d, 0x08, 0x8f, 0x7b, 0x43, 0x4c, - 0xea, 0x8f, 0xab, 0x30, 0x11, 0xa2, 0x89, 0x9e, 0x63, 0xef, 0x0e, 0xf4, 0x75, 0xe6, 0xfe, 0x38, - 0xda, 0xcf, 0xe3, 0x25, 0x7f, 0xcd, 0x6c, 0xbb, 0xec, 0x55, 0xe3, 0x1e, 0xc0, 0x56, 0xb2, 0xdc, - 0xfa, 0x56, 0x1d, 0xb5, 0xd9, 0x86, 0x0d, 0x7d, 0xa1, 0x18, 0xf3, 0xc7, 0xe9, 0x9e, 0xcd, 0x7d, - 0xa0, 0xb7, 0x6c, 0xa7, 0xee, 0xd6, 0x9f, 0x40, 0x95, 0xba, 0xc5, 0x77, 0x77, 0xf0, 0x0b, 0x46, - 0xd2, 0xd0, 0x38, 0x65, 0xd9, 0x72, 0x3d, 0x6e, 0x0b, 0x6d, 0x9b, 0x12, 0x37, 0x2e, 0xe0, 0xaa, - 0xa1, 0x71, 0x8a, 0xc7, 0x7d, 0x0c, 0x86, 0x6b, 0x76, 0x07, 0x77, 0x5d, 0x94, 0x0f, 0xaf, 0x17, - 0x8a, 0x31, 0x44, 0xc7, 0x3c, 0x16, 0xd6, 0x4f, 0xfb, 0xdb, 0x4a, 0xc3, 0xc6, 0x10, 0x1d, 0xa3, - 0x2c, 0x77, 0xc3, 0x98, 0xb9, 0xbd, 0xdd, 0xc6, 0xc2, 0xb9, 0x20, 0xfa, 0x86, 0x30, 0xea, 0x0d, - 0x13, 0xc6, 0xa9, 0x2b, 0x90, 0xe2, 0x76, 0xc0, 0x4b, 0x32, 0xb6, 0x44, 0xa5, 0x45, 0x5f, 0x7b, - 0x13, 0xb3, 0x83, 0x46, 0xca, 0xe2, 0xc4, 0x63, 0x30, 0x5c, 0x77, 0x2a, 0xfe, 0x2e, 0x79, 0xe2, - 0x68, 0x62, 0x36, 0x65, 0x0c, 0xd5, 0x1d, 0x6f, 0x87, 0x31, 0xf3, 0x85, 0x04, 0x8c, 0x8a, 0xbb, - 0xfc, 0x7a, 0x11, 0x52, 0x0d, 0xbb, 0x6a, 0x92, 0xd0, 0xa2, 0x47, 0x4c, 0xb3, 0x11, 0x07, 0x03, - 0xf3, 0x57, 0x19, 0xbf, 0xe1, 0x21, 0xa7, 0xfe, 0x4e, 0x81, 0x14, 0x1f, 0xd6, 0x27, 0x21, 0xd9, - 0x32, 0xdd, 0x1d, 0x22, 0xae, 0x3f, 0x9f, 0xd0, 0x14, 0x83, 0x7c, 0xc7, 0xe3, 0x4e, 0xcb, 0xb4, - 0x48, 0x08, 0xb0, 0x71, 0xfc, 0x1d, 0xfb, 0xb5, 0x81, 0xcc, 0x1a, 0x79, 0xfd, 0xb0, 0x9b, 0x4d, - 0x64, 0xb9, 0x0e, 0xf7, 0x2b, 0x1b, 0x2f, 0xb0, 0x61, 0xfd, 0x5e, 0x18, 0x77, 0xdb, 0x66, 0xbd, - 0x21, 0xf0, 0x26, 0x09, 0xaf, 0xc6, 0x09, 0x1e, 0x73, 0x16, 0x6e, 0xe3, 0x72, 0x6b, 0xc8, 0x35, - 0xab, 0x3b, 0xa8, 0xe6, 0x83, 0x06, 0xc8, 0x36, 0xc3, 0x61, 0xc6, 0x50, 0x64, 0x74, 0x8e, 0xcd, - 0x7c, 0x4f, 0x81, 0x71, 0xfe, 0xc2, 0x54, 0xf3, 0x8c, 0xb5, 0x02, 0x60, 0x5a, 0x96, 0xed, 0x06, - 0xcd, 0xd5, 0x1d, 0xca, 0x5d, 0xb8, 0xf9, 0x9c, 0x07, 0x32, 0x02, 0x02, 0xa6, 0x9a, 0x00, 0x3e, - 0xa5, 0xa7, 0xd9, 0x66, 0x60, 0x88, 0x1d, 0xe1, 0x90, 0x73, 0x40, 0xfa, 0x8a, 0x0d, 0x74, 0x08, - 0xbf, 0x59, 0xe9, 0x07, 0xa1, 0xff, 0x3a, 0xda, 0xae, 0x5b, 0x6c, 0x63, 0x96, 0x7e, 0xe1, 0x1b, - 0x21, 0x49, 0x6f, 0x23, 0x24, 0xff, 0x5e, 0x98, 0xa8, 0xda, 0x4d, 0x59, 0xdd, 0xbc, 0x26, 0xbd, - 0xe6, 0x3b, 0x0f, 0x2b, 0xef, 0x01, 0xbf, 0xc5, 0xfc, 0x99, 0xa2, 0x7c, 0x26, 0xa1, 0x5e, 0x5e, - 0xcb, 0x7f, 0x29, 0x31, 0x75, 0x99, 0x42, 0xd7, 0xf8, 0x4c, 0x0d, 0xb4, 0xd5, 0x40, 0x55, 0xac, - 0x3d, 0x7c, 0xfe, 0x5e, 0xb8, 0x7f, 0xbb, 0xee, 0xee, 0x74, 0xae, 0xcf, 0x57, 0xed, 0xe6, 0xc9, - 0x6d, 0x7b, 0xdb, 0xf6, 0x8f, 0x3e, 0xf1, 0x37, 0xf2, 0x85, 0x7c, 0x62, 0xc7, 0x9f, 0x83, 0xde, - 0xe8, 0x54, 0xe4, 0x59, 0x69, 0xb6, 0x0c, 0x13, 0x8c, 0xb9, 0x42, 0xce, 0x5f, 0xe8, 0x5b, 0x84, - 0xbe, 0xe7, 0x1e, 0x56, 0xfa, 0x2b, 0x3f, 0x24, 0xcb, 0xb5, 0x31, 0xce, 0xa0, 0x98, 0x46, 0x5f, - 0x34, 0xb2, 0x06, 0x1c, 0x12, 0xe4, 0xd1, 0xd4, 0x44, 0xed, 0x08, 0x89, 0xdf, 0x65, 0x12, 0x27, - 0x02, 0x12, 0xd7, 0x19, 0x34, 0x5b, 0x80, 0x91, 0xfd, 0xc8, 0xfa, 0x6b, 0x26, 0x6b, 0x18, 0x05, - 0x85, 0x5c, 0x86, 0x31, 0x22, 0xa4, 0xda, 0x71, 0x5c, 0xbb, 0x49, 0xea, 0xde, 0xde, 0x62, 0xfe, - 0xe6, 0x87, 0x34, 0x57, 0x46, 0x31, 0xac, 0xe0, 0xa1, 0xb2, 0x59, 0x20, 0x47, 0x4e, 0x35, 0x54, - 0x6d, 0x44, 0x48, 0xb8, 0xc1, 0x14, 0xf1, 0xf8, 0xb3, 0xef, 0x86, 0x83, 0xf8, 0x33, 0x29, 0x4b, - 0x41, 0x4d, 0xa2, 0x37, 0xbc, 0xd2, 0xdf, 0xfb, 0x00, 0x4d, 0xc7, 0x09, 0x4f, 0x40, 0x40, 0xa7, - 0x80, 0x17, 0xb7, 0x91, 0xeb, 0xa2, 0xb6, 0x53, 0x31, 0x1b, 0x61, 0xea, 0x05, 0x76, 0x0c, 0xd2, - 0x1f, 0x7b, 0x55, 0xf4, 0xe2, 0x65, 0x8a, 0xcc, 0x35, 0x1a, 0xd9, 0x4d, 0x38, 0x1c, 0x12, 0x15, - 0x31, 0x64, 0x7e, 0x9c, 0xc9, 0x3c, 0xd8, 0x15, 0x19, 0x58, 0xec, 0x1a, 0xf0, 0x71, 0xcf, 0x97, - 0x31, 0x64, 0xfe, 0x01, 0x93, 0xa9, 0x33, 0x2c, 0x77, 0x29, 0x96, 0x78, 0x05, 0xc6, 0x9f, 0x40, - 0xed, 0xeb, 0xb6, 0xc3, 0x76, 0x69, 0x62, 0x88, 0xfb, 0x04, 0x13, 0x37, 0xc6, 0x80, 0x64, 0xdb, - 0x06, 0xcb, 0xba, 0x00, 0xa9, 0x2d, 0xb3, 0x8a, 0x62, 0x88, 0xf8, 0x24, 0x13, 0x71, 0x00, 0xf3, - 0x63, 0x68, 0x0e, 0x86, 0xb7, 0x6d, 0xb6, 0x32, 0x45, 0xc3, 0x9f, 0x65, 0xf0, 0x21, 0x8e, 0x61, - 0x22, 0x5a, 0x76, 0xab, 0xd3, 0xc0, 0xcb, 0x56, 0xb4, 0x88, 0x4f, 0x71, 0x11, 0x1c, 0xc3, 0x44, - 0xec, 0xc3, 0xac, 0xcf, 0x71, 0x11, 0x4e, 0xc0, 0x9e, 0x0f, 0xc1, 0x90, 0x6d, 0x35, 0x76, 0x6d, - 0x2b, 0x8e, 0x12, 0x9f, 0x66, 0x12, 0x80, 0x41, 0xb0, 0x80, 0x8b, 0x30, 0x18, 0xd7, 0x11, 0x9f, - 0x7b, 0x95, 0xa7, 0x07, 0xf7, 0xc0, 0x65, 0x18, 0xe3, 0x05, 0xaa, 0x6e, 0x5b, 0x31, 0x44, 0x7c, - 0x9e, 0x89, 0x18, 0x0d, 0xc0, 0xd8, 0x34, 0x5c, 0xe4, 0xb8, 0xdb, 0x28, 0x8e, 0x90, 0x2f, 0xf0, - 0x69, 0x30, 0x08, 0x33, 0xe5, 0x75, 0x64, 0x55, 0x77, 0xe2, 0x49, 0x78, 0x9e, 0x9b, 0x92, 0x63, - 0xb0, 0x88, 0x02, 0x8c, 0x34, 0xcd, 0xb6, 0xb3, 0x63, 0x36, 0x62, 0xb9, 0xe3, 0x8b, 0x4c, 0xc6, - 0xb0, 0x07, 0x62, 0x16, 0xe9, 0x58, 0xfb, 0x11, 0xf3, 0x25, 0x6e, 0x91, 0x00, 0x8c, 0xa5, 0x9e, - 0xe3, 0x92, 0x2d, 0xad, 0xfd, 0x48, 0xfb, 0x43, 0x9e, 0x7a, 0x14, 0xbb, 0x12, 0x94, 0x78, 0x11, - 0x06, 0x9d, 0xfa, 0xd3, 0xb1, 0xc4, 0xfc, 0x11, 0xf7, 0x34, 0x01, 0x60, 0xf0, 0x35, 0xb8, 0x2d, - 0x74, 0x99, 0x88, 0x21, 0xec, 0x8f, 0x99, 0xb0, 0xc9, 0x90, 0xa5, 0x82, 0x95, 0x84, 0xfd, 0x8a, - 0xfc, 0x13, 0x5e, 0x12, 0x90, 0x24, 0x6b, 0x0d, 0xbf, 0x2b, 0x38, 0xe6, 0xd6, 0xfe, 0xac, 0xf6, - 0xa7, 0xdc, 0x6a, 0x14, 0x2b, 0x58, 0x6d, 0x03, 0x26, 0x99, 0xc4, 0xfd, 0xf9, 0xf5, 0xcb, 0xbc, - 0xb0, 0x52, 0xf4, 0xa6, 0xe8, 0xdd, 0xf7, 0xc2, 0x94, 0x67, 0x4e, 0xde, 0x94, 0x3a, 0x95, 0xa6, - 0xd9, 0x8a, 0x21, 0xf9, 0x2b, 0x4c, 0x32, 0xaf, 0xf8, 0x5e, 0x57, 0xeb, 0xac, 0x98, 0x2d, 0x2c, - 0xfc, 0x51, 0x48, 0x73, 0xe1, 0x1d, 0xab, 0x8d, 0xaa, 0xf6, 0xb6, 0x55, 0x7f, 0x1a, 0xd5, 0x62, - 0x88, 0xfe, 0x33, 0xc9, 0x55, 0x9b, 0x01, 0x38, 0x96, 0xbc, 0x0c, 0x9a, 0xd7, 0xab, 0x54, 0xea, - 0xcd, 0x96, 0xdd, 0x76, 0x23, 0x24, 0x7e, 0x95, 0x7b, 0xca, 0xc3, 0x2d, 0x13, 0x58, 0xb6, 0x04, - 0xa3, 0xe4, 0x6b, 0xdc, 0x90, 0xfc, 0x1a, 0x13, 0x34, 0xe2, 0xa3, 0x58, 0xe1, 0xa8, 0xda, 0xcd, - 0x96, 0xd9, 0x8e, 0x53, 0xff, 0xfe, 0x9c, 0x17, 0x0e, 0x06, 0x61, 0x85, 0xc3, 0xdd, 0x6d, 0x21, - 0xbc, 0xda, 0xc7, 0x90, 0xf0, 0x75, 0x5e, 0x38, 0x38, 0x86, 0x89, 0xe0, 0x0d, 0x43, 0x0c, 0x11, - 0x7f, 0xc1, 0x45, 0x70, 0x0c, 0x16, 0xf1, 0x2e, 0x7f, 0xa1, 0x6d, 0xa3, 0xed, 0xba, 0xe3, 0xb6, - 0x69, 0x2b, 0xbc, 0xb7, 0xa8, 0x6f, 0xbc, 0x2a, 0x36, 0x61, 0x46, 0x00, 0x8a, 0x2b, 0x11, 0xdb, - 0x42, 0x25, 0x6f, 0x4a, 0xd1, 0x8a, 0x7d, 0x93, 0x57, 0xa2, 0x00, 0x0c, 0xeb, 0x16, 0xe8, 0x10, - 0xb1, 0xd9, 0xab, 0xf8, 0xfd, 0x20, 0x86, 0xb8, 0x6f, 0x49, 0xca, 0xad, 0x73, 0x2c, 0x96, 0x19, - 0xe8, 0x7f, 0x3a, 0xd6, 0xe3, 0x68, 0x37, 0x56, 0x74, 0x7e, 0x5b, 0xea, 0x7f, 0x36, 0x29, 0x92, - 0xd6, 0x90, 0x31, 0xa9, 0x9f, 0xd2, 0xa3, 0x2e, 0xeb, 0xa4, 0xff, 0xef, 0x6b, 0x6c, 0xbe, 0x62, - 0x3b, 0x95, 0xbd, 0x8a, 0x83, 0x5c, 0x6c, 0x7a, 0xa2, 0x85, 0x7d, 0xe0, 0x35, 0x2f, 0xce, 0x85, - 0x9e, 0x27, 0x7b, 0x09, 0x46, 0x84, 0x86, 0x27, 0x5a, 0xd4, 0xff, 0x63, 0xa2, 0x86, 0x83, 0xfd, - 0x4e, 0xf6, 0x0c, 0x24, 0x71, 0xf3, 0x12, 0x0d, 0xff, 0xff, 0x0c, 0x4e, 0xd8, 0xb3, 0x0f, 0x40, - 0x8a, 0x37, 0x2d, 0xd1, 0xd0, 0x0f, 0x32, 0xa8, 0x07, 0xc1, 0x70, 0xde, 0xb0, 0x44, 0xc3, 0x7f, - 0x85, 0xc3, 0x39, 0x04, 0xc3, 0xe3, 0x9b, 0xf0, 0x85, 0x5f, 0x4b, 0xb2, 0x45, 0x87, 0xdb, 0xee, - 0x22, 0x1c, 0x60, 0x9d, 0x4a, 0x34, 0xfa, 0xc3, 0xec, 0xe1, 0x1c, 0x91, 0x3d, 0x07, 0xfd, 0x31, - 0x0d, 0xfe, 0xeb, 0x0c, 0x4a, 0xf9, 0xb3, 0x05, 0x18, 0x0a, 0x74, 0x27, 0xd1, 0xf0, 0xdf, 0x60, - 0xf0, 0x20, 0x0a, 0xab, 0xce, 0xba, 0x93, 0x68, 0x01, 0xbf, 0xc9, 0x55, 0x67, 0x08, 0x6c, 0x36, - 0xde, 0x98, 0x44, 0xa3, 0x7f, 0x8b, 0x5b, 0x9d, 0x43, 0xb2, 0x0f, 0xc1, 0xa0, 0xb7, 0xd8, 0x44, - 0xe3, 0x7f, 0x9b, 0xe1, 0x7d, 0x0c, 0xb6, 0x40, 0x60, 0xb1, 0x8b, 0x16, 0xf1, 0x3b, 0xdc, 0x02, - 0x01, 0x14, 0x4e, 0x23, 0xb9, 0x81, 0x89, 0x96, 0xf4, 0x11, 0x9e, 0x46, 0x52, 0xff, 0x82, 0xbd, - 0x49, 0x6a, 0x7e, 0xb4, 0x88, 0xdf, 0xe5, 0xde, 0x24, 0xfc, 0x58, 0x0d, 0xb9, 0x23, 0x88, 0x96, - 0xf1, 0xfb, 0x5c, 0x0d, 0xa9, 0x21, 0xc8, 0xae, 0x81, 0xde, 0xdd, 0x0d, 0x44, 0xcb, 0xfb, 0x28, - 0x93, 0x37, 0xde, 0xd5, 0x0c, 0x64, 0x1f, 0x81, 0xc9, 0xf0, 0x4e, 0x20, 0x5a, 0xea, 0xc7, 0x5e, - 0x93, 0xde, 0xdd, 0x82, 0x8d, 0x40, 0x76, 0xc3, 0x5f, 0x52, 0x82, 0x5d, 0x40, 0xb4, 0xd8, 0x8f, - 0xbf, 0x26, 0x16, 0xee, 0x60, 0x13, 0x90, 0xcd, 0x01, 0xf8, 0x0b, 0x70, 0xb4, 0xac, 0x4f, 0x30, - 0x59, 0x01, 0x10, 0x4e, 0x0d, 0xb6, 0xfe, 0x46, 0xe3, 0x3f, 0xc9, 0x53, 0x83, 0x21, 0x70, 0x6a, - 0xf0, 0xa5, 0x37, 0x1a, 0xfd, 0x2c, 0x4f, 0x0d, 0x0e, 0xc1, 0x91, 0x1d, 0x58, 0xdd, 0xa2, 0x25, - 0x7c, 0x9a, 0x47, 0x76, 0x00, 0x95, 0x2d, 0xc3, 0x78, 0xd7, 0x82, 0x18, 0x2d, 0xea, 0x33, 0x4c, - 0x94, 0x26, 0xaf, 0x87, 0xc1, 0xc5, 0x8b, 0x2d, 0x86, 0xd1, 0xd2, 0x3e, 0x2b, 0x2d, 0x5e, 0x6c, - 0x2d, 0xcc, 0x5e, 0x84, 0x94, 0xd5, 0x69, 0x34, 0x70, 0xf2, 0xe8, 0x7b, 0x5f, 0xb0, 0x4b, 0xff, - 0xf3, 0xeb, 0xcc, 0x3a, 0x1c, 0x90, 0x3d, 0x03, 0xfd, 0xa8, 0x79, 0x1d, 0xd5, 0xa2, 0x90, 0xff, - 0xf2, 0x3a, 0x2f, 0x98, 0x98, 0x3b, 0xfb, 0x10, 0x00, 0xdd, 0x1a, 0x21, 0xc7, 0x7e, 0x11, 0xd8, - 0x7f, 0x7d, 0x9d, 0x5d, 0x7d, 0xf1, 0x21, 0xbe, 0x00, 0x7a, 0x91, 0x66, 0x6f, 0x01, 0xaf, 0x8a, - 0x02, 0x88, 0x47, 0x2e, 0xc0, 0x81, 0xc7, 0x1c, 0xdb, 0x72, 0xcd, 0xed, 0x28, 0xf4, 0xbf, 0x31, - 0x34, 0xe7, 0xc7, 0x06, 0x6b, 0xda, 0x6d, 0xe4, 0x9a, 0xdb, 0x4e, 0x14, 0xf6, 0xdf, 0x19, 0xd6, - 0x03, 0x60, 0x70, 0xd5, 0x74, 0xdc, 0x38, 0xf3, 0xfe, 0x31, 0x07, 0x73, 0x00, 0x56, 0x1a, 0x7f, - 0x7e, 0x1c, 0xed, 0x46, 0x61, 0x7f, 0xc2, 0x95, 0x66, 0xfc, 0xd9, 0x07, 0x60, 0x10, 0x7f, 0xa4, - 0xf7, 0xd9, 0x22, 0xc0, 0xff, 0xc1, 0xc0, 0x3e, 0x02, 0x3f, 0xd9, 0x71, 0x6b, 0x6e, 0x3d, 0xda, - 0xd8, 0x3f, 0x65, 0x9e, 0xe6, 0xfc, 0xd9, 0x1c, 0x0c, 0x39, 0x6e, 0xad, 0xd6, 0x61, 0xfd, 0x69, - 0x04, 0xfc, 0x3f, 0x5f, 0xf7, 0xb6, 0x2c, 0x3c, 0x0c, 0xf6, 0xf6, 0x93, 0x8f, 0xbb, 0x2d, 0x9b, - 0x1c, 0x73, 0x44, 0x49, 0x78, 0x8d, 0x49, 0x08, 0x40, 0xf2, 0xa5, 0xf0, 0xed, 0x5b, 0xb8, 0x6c, - 0x5f, 0xb6, 0xe9, 0xc6, 0xed, 0x7b, 0x32, 0xd1, 0x3b, 0xb0, 0xf0, 0xed, 0x06, 0x8c, 0xb8, 0x3b, - 0x08, 0x2f, 0xba, 0x6c, 0x23, 0x36, 0x89, 0x3f, 0x4f, 0xed, 0x6f, 0xf7, 0x96, 0x9c, 0xcd, 0x97, - 0xeb, 0x58, 0xe1, 0x32, 0x39, 0x1e, 0xd1, 0x8f, 0xc0, 0x00, 0x99, 0xc2, 0x29, 0x72, 0x04, 0xa9, - 0xe4, 0x93, 0x37, 0x5e, 0x9a, 0xe9, 0x33, 0xd8, 0x98, 0x47, 0x5d, 0x24, 0xfb, 0xd7, 0x09, 0x81, - 0xba, 0xe8, 0x51, 0x4f, 0xd3, 0x2d, 0x6c, 0x81, 0x7a, 0xda, 0xa3, 0x2e, 0x91, 0xcd, 0x6c, 0x55, - 0xa0, 0x2e, 0x79, 0xd4, 0x33, 0xe4, 0xc0, 0x66, 0x44, 0xa0, 0x9e, 0xf1, 0xa8, 0x67, 0xc9, 0x31, - 0x4d, 0x52, 0xa0, 0x9e, 0xf5, 0xa8, 0xe7, 0xc8, 0x09, 0xcd, 0xb8, 0x40, 0x3d, 0xe7, 0x51, 0xcf, - 0x93, 0x93, 0x19, 0x5d, 0xa0, 0x9e, 0xf7, 0xa8, 0x17, 0xc8, 0xb5, 0xa7, 0x03, 0x02, 0xf5, 0x82, - 0x3e, 0x0d, 0x07, 0xe8, 0xcc, 0x17, 0xc8, 0x31, 0xfe, 0x18, 0x23, 0xf3, 0x41, 0x9f, 0x7e, 0x8a, - 0x5c, 0x71, 0x1a, 0x10, 0xe9, 0xa7, 0x7c, 0xfa, 0x22, 0xf9, 0x6b, 0x0b, 0x4d, 0xa4, 0x2f, 0xfa, - 0xf4, 0xd3, 0xe9, 0x11, 0x72, 0xcd, 0x4b, 0xa0, 0x9f, 0xf6, 0xe9, 0x4b, 0xe9, 0x51, 0x9c, 0x07, - 0x22, 0x7d, 0xc9, 0xa7, 0x9f, 0x49, 0x8f, 0x1d, 0x55, 0x66, 0x87, 0x45, 0xfa, 0x99, 0xcc, 0xfb, - 0x89, 0x7b, 0x2d, 0xdf, 0xbd, 0x93, 0xa2, 0x7b, 0x3d, 0xc7, 0x4e, 0x8a, 0x8e, 0xf5, 0x5c, 0x3a, - 0x29, 0xba, 0xd4, 0x73, 0xe6, 0xa4, 0xe8, 0x4c, 0xcf, 0x8d, 0x93, 0xa2, 0x1b, 0x3d, 0x07, 0x4e, - 0x8a, 0x0e, 0xf4, 0x5c, 0x37, 0x29, 0xba, 0xce, 0x73, 0xda, 0xa4, 0xe8, 0x34, 0xcf, 0x5d, 0x93, - 0xa2, 0xbb, 0x3c, 0x47, 0xa5, 0x25, 0x47, 0xf9, 0x2e, 0x4a, 0x4b, 0x2e, 0xf2, 0x9d, 0x93, 0x96, - 0x9c, 0xe3, 0xbb, 0x25, 0x2d, 0xb9, 0xc5, 0x77, 0x48, 0x5a, 0x72, 0x88, 0xef, 0x8a, 0xb4, 0xe4, - 0x0a, 0xdf, 0x09, 0x2c, 0xc7, 0x0c, 0xd4, 0x0a, 0xc9, 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, - 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, - 0xcf, 0x1c, 0x53, 0xf7, 0xcc, 0x31, 0x75, 0xef, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0x8d, 0xc8, 0x31, - 0x35, 0x22, 0xc7, 0xd4, 0x88, 0x1c, 0x53, 0x23, 0x72, 0x4c, 0xed, 0x99, 0x63, 0xbe, 0x7b, 0x27, - 0x45, 0xf7, 0x86, 0xe6, 0x98, 0xda, 0x23, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, 0xc8, 0x31, 0xb5, - 0x47, 0x8e, 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe5, 0x98, - 0xda, 0x33, 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, - 0x4c, 0x0d, 0xe6, 0xd8, 0x5f, 0xaa, 0xa0, 0xd3, 0x1c, 0x5b, 0x23, 0x17, 0xc1, 0x98, 0x2b, 0xa6, - 0xa5, 0x4c, 0x1b, 0xc0, 0xae, 0xd3, 0x7c, 0x97, 0x4c, 0x4b, 0xb9, 0x26, 0xd2, 0x17, 0x3d, 0x3a, - 0xcf, 0x36, 0x91, 0x7e, 0xda, 0xa3, 0xf3, 0x7c, 0x13, 0xe9, 0x4b, 0x1e, 0x9d, 0x67, 0x9c, 0x48, - 0x3f, 0xe3, 0xd1, 0x79, 0xce, 0x89, 0xf4, 0xb3, 0x1e, 0x9d, 0x67, 0x9d, 0x48, 0x3f, 0xe7, 0xd1, - 0x79, 0xde, 0x89, 0xf4, 0xf3, 0x1e, 0x9d, 0x67, 0x9e, 0x48, 0xbf, 0xa0, 0x1f, 0x95, 0x73, 0x8f, - 0x33, 0x78, 0xae, 0x3d, 0x2a, 0x67, 0x9f, 0xc4, 0x71, 0xca, 0xe7, 0xe0, 0xf9, 0x27, 0x71, 0x2c, - 0xfa, 0x1c, 0x3c, 0x03, 0x25, 0x8e, 0xd3, 0x99, 0x0f, 0x11, 0xf7, 0x59, 0xb2, 0xfb, 0xa6, 0x24, - 0xf7, 0x25, 0x02, 0xae, 0x9b, 0x92, 0x5c, 0x97, 0x08, 0xb8, 0x6d, 0x4a, 0x72, 0x5b, 0x22, 0xe0, - 0xb2, 0x29, 0xc9, 0x65, 0x89, 0x80, 0xbb, 0xa6, 0x24, 0x77, 0x25, 0x02, 0xae, 0x9a, 0x92, 0x5c, - 0x95, 0x08, 0xb8, 0x69, 0x4a, 0x72, 0x53, 0x22, 0xe0, 0xa2, 0x29, 0xc9, 0x45, 0x89, 0x80, 0x7b, - 0xa6, 0x24, 0xf7, 0x24, 0x02, 0xae, 0x39, 0x22, 0xbb, 0x26, 0x11, 0x74, 0xcb, 0x11, 0xd9, 0x2d, - 0x89, 0xa0, 0x4b, 0x8e, 0xc8, 0x2e, 0x49, 0x04, 0xdd, 0x71, 0x44, 0x76, 0x47, 0x22, 0xe8, 0x8a, - 0x9f, 0x27, 0x78, 0x47, 0xb8, 0xee, 0xb6, 0x3b, 0x55, 0xf7, 0x96, 0x3a, 0xc2, 0x05, 0xa1, 0x7d, - 0x18, 0x5a, 0xd4, 0xe7, 0x49, 0xc3, 0x1a, 0xec, 0x38, 0xa5, 0x15, 0x6c, 0x41, 0x68, 0x2c, 0x02, - 0x08, 0x2b, 0x1c, 0xb1, 0x74, 0x4b, 0xbd, 0xe1, 0x82, 0xd0, 0x66, 0x44, 0xeb, 0x77, 0xfe, 0x2d, - 0xef, 0xd8, 0x5e, 0x48, 0xf0, 0x8e, 0x8d, 0x99, 0x7f, 0xbf, 0x1d, 0xdb, 0x5c, 0xb4, 0xc9, 0x3d, - 0x63, 0xcf, 0x45, 0x1b, 0xbb, 0x6b, 0xd5, 0x89, 0xdb, 0xc1, 0xcd, 0x45, 0x9b, 0xd6, 0x33, 0xea, - 0x9b, 0xdb, 0x6f, 0xb1, 0x08, 0x36, 0x50, 0x2b, 0x24, 0x82, 0xf7, 0xdb, 0x6f, 0x2d, 0x08, 0xa5, - 0x64, 0xbf, 0x11, 0xac, 0xee, 0x3b, 0x82, 0xf7, 0xdb, 0x79, 0x2d, 0x08, 0xe5, 0x65, 0xdf, 0x11, - 0xfc, 0x16, 0xf4, 0x43, 0x2c, 0x82, 0x7d, 0xf3, 0xef, 0xb7, 0x1f, 0x9a, 0x8b, 0x36, 0x79, 0x68, - 0x04, 0xab, 0xfb, 0x88, 0xe0, 0x38, 0xfd, 0xd1, 0x5c, 0xb4, 0x69, 0xc3, 0x23, 0xf8, 0x96, 0xbb, - 0x99, 0x4f, 0x29, 0x30, 0x5e, 0xae, 0xd7, 0x4a, 0xcd, 0xeb, 0xa8, 0x56, 0x43, 0x35, 0x66, 0xc7, - 0x05, 0xa1, 0x12, 0xf4, 0x70, 0xf5, 0x8b, 0x2f, 0xcd, 0xf8, 0x16, 0x3e, 0x03, 0x29, 0x6a, 0xd3, - 0x85, 0x85, 0xf4, 0x0d, 0x25, 0xa2, 0xc2, 0x79, 0xac, 0xfa, 0x31, 0x0e, 0x3b, 0xb5, 0x90, 0xfe, - 0x7b, 0x25, 0x50, 0xe5, 0xbc, 0xe1, 0xcc, 0x47, 0x88, 0x86, 0xd6, 0x2d, 0x6b, 0x78, 0x32, 0x96, - 0x86, 0x01, 0xdd, 0x6e, 0xef, 0xd2, 0x2d, 0xa0, 0x55, 0x07, 0xc6, 0xca, 0xf5, 0x5a, 0x99, 0xfc, - 0x9d, 0x7f, 0x1c, 0x95, 0x28, 0x8f, 0x54, 0x0f, 0x16, 0x84, 0xb0, 0x0c, 0x22, 0xbc, 0x90, 0x16, - 0x6b, 0x44, 0xa6, 0x8e, 0x1f, 0x6b, 0x09, 0x8f, 0x9d, 0xeb, 0xf5, 0x58, 0xbf, 0xb2, 0x7b, 0x0f, - 0x9c, 0xeb, 0xf5, 0x40, 0x3f, 0x87, 0xbc, 0x47, 0x3d, 0xc5, 0x17, 0x67, 0x7a, 0x1d, 0x4b, 0x3f, - 0x02, 0x89, 0x65, 0x7a, 0x5b, 0x7c, 0x38, 0x3f, 0x8c, 0x95, 0xfa, 0xfe, 0x4b, 0x33, 0xc9, 0xcd, - 0x4e, 0xbd, 0x66, 0x24, 0x96, 0x6b, 0xfa, 0x15, 0xe8, 0x7f, 0x37, 0xfb, 0x6b, 0x53, 0xcc, 0xb0, - 0xc4, 0x18, 0xee, 0xeb, 0xb9, 0x47, 0x84, 0x1f, 0x7c, 0x92, 0x6e, 0x4d, 0xce, 0x6f, 0xd6, 0x2d, - 0xf7, 0xd4, 0xe2, 0x79, 0x83, 0x8a, 0xc8, 0xfc, 0x4f, 0x00, 0xfa, 0xcc, 0xa2, 0xe9, 0xec, 0xe8, - 0x65, 0x2e, 0x99, 0x3e, 0xfa, 0xfc, 0xf7, 0x5f, 0x9a, 0x59, 0x8a, 0x23, 0xf5, 0xfe, 0x9a, 0xe9, - 0xec, 0xdc, 0xef, 0xee, 0xb6, 0xd0, 0x7c, 0x7e, 0xd7, 0x45, 0x0e, 0x97, 0xde, 0xe2, 0xab, 0x1e, - 0x9b, 0x57, 0x3a, 0x30, 0xaf, 0x94, 0x30, 0xa7, 0x4b, 0xe2, 0x9c, 0x16, 0xde, 0xe8, 0x7c, 0x9e, - 0xe2, 0x8b, 0x84, 0x64, 0x49, 0x35, 0xca, 0x92, 0xea, 0xad, 0x5a, 0xb2, 0xc5, 0xeb, 0xa3, 0x34, - 0x57, 0x75, 0xaf, 0xb9, 0xaa, 0xb7, 0x32, 0xd7, 0xff, 0xa2, 0xd9, 0xea, 0xe5, 0xd3, 0xa6, 0x45, - 0x6f, 0xaa, 0xfe, 0x72, 0xed, 0x05, 0xbd, 0xa9, 0x5d, 0x40, 0x36, 0x79, 0xe3, 0xb9, 0x19, 0x25, - 0xf3, 0xa9, 0x04, 0x9f, 0x39, 0x4d, 0xa4, 0x37, 0x36, 0xf3, 0x5f, 0x96, 0x9e, 0xea, 0xad, 0xb0, - 0xd0, 0xb3, 0x0a, 0x4c, 0x76, 0x55, 0x72, 0x6a, 0xa6, 0x37, 0xb7, 0x9c, 0x5b, 0xfb, 0x2d, 0xe7, - 0x4c, 0xc1, 0xaf, 0x29, 0x70, 0x50, 0x2a, 0xaf, 0x54, 0xbd, 0x93, 0x92, 0x7a, 0x87, 0xbb, 0x9f, - 0x44, 0x18, 0x03, 0xda, 0x05, 0xdd, 0x2b, 0x01, 0x02, 0x92, 0x3d, 0xbf, 0x2f, 0x49, 0x7e, 0x3f, - 0xe2, 0x01, 0x42, 0xcc, 0xc5, 0x23, 0x80, 0xa9, 0x6d, 0x43, 0x72, 0xa3, 0x8d, 0x90, 0x3e, 0x0d, - 0x89, 0xd5, 0x36, 0xd3, 0x70, 0x94, 0xe2, 0x57, 0xdb, 0xf9, 0xb6, 0x69, 0x55, 0x77, 0x8c, 0xc4, - 0x6a, 0x5b, 0x3f, 0x06, 0x6a, 0x8e, 0xfd, 0xa5, 0xfb, 0xd0, 0xe2, 0x18, 0x65, 0xc8, 0x59, 0x35, - 0xc6, 0x81, 0x69, 0xfa, 0x34, 0x24, 0xaf, 0x22, 0x73, 0x8b, 0x29, 0x01, 0x94, 0x07, 0x8f, 0x18, - 0x64, 0x9c, 0x3d, 0xf0, 0x51, 0x48, 0x71, 0xc1, 0xfa, 0x71, 0x8c, 0xd8, 0x72, 0xd9, 0x63, 0x19, - 0x02, 0xab, 0xc3, 0x56, 0x2e, 0x42, 0xd5, 0x4f, 0x40, 0xbf, 0x51, 0xdf, 0xde, 0x71, 0xd9, 0xc3, - 0xbb, 0xd9, 0x28, 0x39, 0x73, 0x0d, 0x06, 0x3d, 0x8d, 0xde, 0x64, 0xd1, 0x45, 0x3a, 0x35, 0x7d, - 0x2a, 0xb8, 0x9e, 0xf0, 0x7d, 0x4b, 0x3a, 0xa4, 0x1f, 0x85, 0xd4, 0xba, 0xdb, 0xf6, 0x8b, 0x3e, - 0xef, 0x48, 0xbd, 0xd1, 0xcc, 0xfb, 0x15, 0x48, 0x15, 0x11, 0x6a, 0x11, 0x83, 0xdf, 0x05, 0xc9, - 0xa2, 0xfd, 0xa4, 0xc5, 0x14, 0x1c, 0x67, 0x16, 0xc5, 0x64, 0x66, 0x53, 0x42, 0xd6, 0xef, 0x0a, - 0xda, 0x7d, 0xc2, 0xb3, 0x7b, 0x80, 0x8f, 0xd8, 0x3e, 0x23, 0xd8, 0x9e, 0x39, 0x10, 0x33, 0x75, - 0xd9, 0xff, 0x1c, 0x0c, 0x05, 0x9e, 0xa2, 0xcf, 0x32, 0x35, 0x12, 0x32, 0x30, 0x68, 0x2b, 0xcc, - 0x91, 0x41, 0x30, 0x22, 0x3c, 0x18, 0x43, 0x03, 0x26, 0xee, 0x01, 0x25, 0x66, 0x9e, 0x13, 0xcd, - 0x1c, 0xce, 0xca, 0x4c, 0xbd, 0x40, 0x6d, 0x44, 0xcc, 0x7d, 0x9c, 0x06, 0x67, 0x6f, 0x27, 0xe2, - 0xcf, 0x99, 0x7e, 0x50, 0xcb, 0xf5, 0x46, 0xe6, 0x01, 0x00, 0x9a, 0xf2, 0x25, 0xab, 0xd3, 0x94, - 0xb2, 0x6e, 0x94, 0x1b, 0x78, 0x63, 0x07, 0x6d, 0x20, 0x87, 0xb0, 0x88, 0xfd, 0x14, 0x2e, 0x30, - 0x40, 0x53, 0x8c, 0xe0, 0xef, 0x89, 0xc4, 0x87, 0x76, 0x62, 0x98, 0x35, 0x4d, 0x59, 0xaf, 0x21, - 0x37, 0x67, 0xd9, 0xee, 0x0e, 0x6a, 0x4b, 0x88, 0x45, 0xfd, 0xb4, 0x90, 0xb0, 0xa3, 0x8b, 0xb7, - 0x7b, 0x88, 0x9e, 0xa0, 0xd3, 0x99, 0x2f, 0x13, 0x05, 0x71, 0x2b, 0xd0, 0x35, 0x41, 0x35, 0xc6, - 0x04, 0xf5, 0xb3, 0x42, 0xff, 0xb6, 0x87, 0x9a, 0xd2, 0xab, 0xe5, 0x05, 0xe1, 0x3d, 0x67, 0x6f, - 0x65, 0xc5, 0x77, 0x4c, 0x6e, 0x53, 0xae, 0xf2, 0x3d, 0x91, 0x2a, 0xf7, 0xe8, 0x6e, 0xf7, 0x6b, - 0x53, 0x35, 0xae, 0x4d, 0xbf, 0xe5, 0x75, 0x1c, 0xf4, 0xe7, 0x44, 0xc8, 0x0f, 0xf1, 0xe8, 0xf7, - 0x45, 0xfa, 0x3e, 0xab, 0x14, 0x3c, 0x55, 0x97, 0xe2, 0xba, 0x3f, 0x9b, 0xc8, 0xe7, 0x3d, 0x75, - 0xcf, 0xed, 0x23, 0x04, 0xb2, 0x89, 0x42, 0xc1, 0x2b, 0xdb, 0xa9, 0x0f, 0x3d, 0x37, 0xa3, 0x3c, - 0xff, 0xdc, 0x4c, 0x5f, 0xe6, 0x8b, 0x0a, 0x8c, 0x33, 0xce, 0x40, 0xe0, 0xde, 0x2f, 0x29, 0x7f, - 0x88, 0xd7, 0x8c, 0x30, 0x0b, 0xbc, 0x6d, 0xc1, 0xfb, 0x5d, 0x05, 0xd2, 0x5d, 0xba, 0x72, 0x7b, - 0x2f, 0xc4, 0x52, 0x39, 0xab, 0x94, 0x7e, 0xf1, 0x36, 0xbf, 0x06, 0xfd, 0x1b, 0xf5, 0x26, 0x6a, - 0xe3, 0x95, 0x00, 0x7f, 0xa0, 0x2a, 0xf3, 0xc3, 0x1c, 0x3a, 0xc4, 0x69, 0x54, 0x39, 0x81, 0xb6, - 0xa8, 0xa7, 0x21, 0x59, 0x34, 0x5d, 0x93, 0x68, 0x30, 0xec, 0xd5, 0x57, 0xd3, 0x35, 0x33, 0xa7, - 0x61, 0x78, 0x65, 0x97, 0x5c, 0x2f, 0xaa, 0x91, 0x9b, 0x25, 0x62, 0xf7, 0xc7, 0xfb, 0xd5, 0x53, - 0x73, 0xfd, 0xa9, 0x9a, 0x76, 0x43, 0xc9, 0x26, 0x89, 0x3e, 0x4f, 0xc0, 0xe8, 0x2a, 0x56, 0x9b, - 0xe0, 0x04, 0x18, 0x7d, 0xba, 0xea, 0x4d, 0x5e, 0x6a, 0xca, 0x54, 0xbf, 0x29, 0x3b, 0x0a, 0xca, - 0x8a, 0xd8, 0x3a, 0x05, 0xf5, 0x30, 0x94, 0x95, 0xb9, 0x64, 0x6a, 0x54, 0x1b, 0x9f, 0x4b, 0xa6, - 0x40, 0x1b, 0x61, 0xcf, 0xfd, 0x5b, 0x15, 0x34, 0xda, 0xea, 0x14, 0xd1, 0x56, 0xdd, 0xaa, 0xbb, - 0xdd, 0xfd, 0xaa, 0xa7, 0xb1, 0xfe, 0x10, 0x0c, 0x62, 0x93, 0x5e, 0x62, 0xbf, 0xc7, 0x87, 0x4d, - 0x7f, 0x8c, 0xb5, 0x28, 0x92, 0x08, 0x36, 0x40, 0x42, 0xc7, 0xc7, 0xe8, 0x97, 0x40, 0x2d, 0x97, - 0x57, 0xd8, 0xe2, 0xb6, 0xb4, 0x27, 0x94, 0x5d, 0xe1, 0x61, 0xdf, 0xd8, 0x98, 0xb3, 0x6d, 0x60, - 0x01, 0xfa, 0x12, 0x24, 0xca, 0x2b, 0xac, 0xe1, 0x3d, 0x1e, 0x47, 0x8c, 0x91, 0x28, 0xaf, 0x4c, - 0xfd, 0x95, 0x02, 0x23, 0xc2, 0xa8, 0x9e, 0x81, 0x61, 0x3a, 0x10, 0x98, 0xee, 0x80, 0x21, 0x8c, - 0x71, 0x9d, 0x13, 0xb7, 0xa8, 0xf3, 0x54, 0x0e, 0xc6, 0xa4, 0x71, 0x7d, 0x1e, 0xf4, 0xe0, 0x10, - 0x53, 0x82, 0xfe, 0x16, 0x58, 0x08, 0x25, 0x73, 0x07, 0x80, 0x6f, 0x57, 0xef, 0x27, 0xac, 0xca, - 0xa5, 0xf5, 0x8d, 0x52, 0x51, 0x53, 0x32, 0x5f, 0x57, 0x60, 0x88, 0xb5, 0xad, 0x55, 0xbb, 0x85, - 0xf4, 0x3c, 0x28, 0x39, 0x16, 0x0f, 0x6f, 0x4c, 0x6f, 0x25, 0xa7, 0x9f, 0x04, 0x25, 0x1f, 0xdf, - 0xd5, 0x4a, 0x5e, 0x5f, 0x04, 0xa5, 0xc0, 0x1c, 0x1c, 0xcf, 0x33, 0x4a, 0x21, 0xf3, 0x53, 0x15, - 0x26, 0x82, 0x6d, 0x34, 0xaf, 0x27, 0xc7, 0xc4, 0xf7, 0xa6, 0xec, 0xe0, 0xa9, 0xc5, 0xd3, 0x4b, - 0xf3, 0xf8, 0x1f, 0x2f, 0x24, 0x33, 0xe2, 0x2b, 0x54, 0x16, 0x3c, 0x96, 0x53, 0xbd, 0xee, 0x89, - 0x64, 0x93, 0x01, 0x09, 0x5d, 0xf7, 0x44, 0x04, 0x6a, 0xd7, 0x3d, 0x11, 0x81, 0xda, 0x75, 0x4f, - 0x44, 0xa0, 0x76, 0x9d, 0x05, 0x08, 0xd4, 0xae, 0x7b, 0x22, 0x02, 0xb5, 0xeb, 0x9e, 0x88, 0x40, - 0xed, 0xbe, 0x27, 0xc2, 0xc8, 0x3d, 0xef, 0x89, 0x88, 0xf4, 0xee, 0x7b, 0x22, 0x22, 0xbd, 0xfb, - 0x9e, 0x48, 0x36, 0xe9, 0xb6, 0x3b, 0xa8, 0xf7, 0xa9, 0x83, 0x88, 0xdf, 0xeb, 0x25, 0xd0, 0xaf, - 0xc0, 0xab, 0x30, 0x46, 0x37, 0x24, 0x0a, 0xb6, 0xe5, 0x9a, 0x75, 0x0b, 0xb5, 0xf5, 0x77, 0xc0, - 0x30, 0x1d, 0xa2, 0xaf, 0x39, 0x61, 0xaf, 0x81, 0x94, 0xce, 0xea, 0xad, 0xc0, 0x9d, 0xf9, 0x79, - 0x12, 0x26, 0xe9, 0x40, 0xd9, 0x6c, 0x22, 0xe1, 0x96, 0xd1, 0x09, 0xe9, 0x4c, 0x69, 0x14, 0xc3, - 0x6f, 0xbe, 0x34, 0x43, 0x47, 0x73, 0x5e, 0x34, 0x9d, 0x90, 0x4e, 0x97, 0x44, 0x3e, 0x7f, 0x01, - 0x3a, 0x21, 0xdd, 0x3c, 0x12, 0xf9, 0xbc, 0xf5, 0xc6, 0xe3, 0xe3, 0x77, 0x90, 0x44, 0xbe, 0xa2, - 0x17, 0x65, 0x27, 0xa4, 0xdb, 0x48, 0x22, 0x5f, 0xc9, 0x8b, 0xb7, 0x13, 0xd2, 0xd9, 0x93, 0xc8, - 0x77, 0xc9, 0x8b, 0xbc, 0x13, 0xd2, 0x29, 0x94, 0xc8, 0x77, 0xd9, 0x8b, 0xc1, 0x13, 0xd2, 0x5d, - 0x25, 0x91, 0xef, 0x61, 0x2f, 0x1a, 0x4f, 0x48, 0xb7, 0x96, 0x44, 0xbe, 0x65, 0x2f, 0x2e, 0x67, - 0xe5, 0xfb, 0x4b, 0x22, 0xe3, 0x15, 0x3f, 0x42, 0x67, 0xe5, 0x9b, 0x4c, 0x22, 0xe7, 0x3b, 0xfd, - 0x58, 0x9d, 0x95, 0xef, 0x34, 0x89, 0x9c, 0x57, 0xfd, 0xa8, 0x9d, 0x95, 0xcf, 0xca, 0x44, 0xce, - 0x15, 0x3f, 0x7e, 0x67, 0xe5, 0x53, 0x33, 0x91, 0xb3, 0xec, 0x47, 0xf2, 0xac, 0x7c, 0x7e, 0x26, - 0x72, 0xae, 0xfa, 0x9b, 0xe8, 0xdf, 0x91, 0xc2, 0x2f, 0x70, 0x0b, 0x2a, 0x23, 0x85, 0x1f, 0x84, - 0x84, 0x9e, 0x54, 0xc8, 0x02, 0x3c, 0x7e, 0xd8, 0x65, 0xa4, 0xb0, 0x83, 0x90, 0x90, 0xcb, 0x48, - 0x21, 0x07, 0x21, 0xe1, 0x96, 0x91, 0xc2, 0x0d, 0x42, 0x42, 0x2d, 0x23, 0x85, 0x1a, 0x84, 0x84, - 0x59, 0x46, 0x0a, 0x33, 0x08, 0x09, 0xb1, 0x8c, 0x14, 0x62, 0x10, 0x12, 0x5e, 0x19, 0x29, 0xbc, - 0x20, 0x24, 0xb4, 0x8e, 0xcb, 0xa1, 0x05, 0x61, 0x61, 0x75, 0x5c, 0x0e, 0x2b, 0x08, 0x0b, 0xa9, - 0x3b, 0xe5, 0x90, 0x1a, 0xbc, 0xf9, 0xd2, 0x4c, 0x3f, 0x1e, 0x0a, 0x44, 0xd3, 0x71, 0x39, 0x9a, - 0x20, 0x2c, 0x92, 0x8e, 0xcb, 0x91, 0x04, 0x61, 0x51, 0x74, 0x5c, 0x8e, 0x22, 0x08, 0x8b, 0xa0, - 0x17, 0xe4, 0x08, 0xf2, 0xef, 0xf8, 0x64, 0xa4, 0x23, 0xc5, 0xa8, 0x08, 0x52, 0x63, 0x44, 0x90, - 0x1a, 0x23, 0x82, 0xd4, 0x18, 0x11, 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, - 0x48, 0x8d, 0x11, 0x41, 0x6a, 0x9c, 0x08, 0x52, 0x63, 0x45, 0x90, 0xda, 0x2b, 0x82, 0x8e, 0xcb, - 0x37, 0x1e, 0x20, 0xac, 0x20, 0x1d, 0x97, 0x8f, 0x3e, 0xa3, 0x43, 0x48, 0x8d, 0x15, 0x42, 0x6a, - 0xaf, 0x10, 0xfa, 0x8e, 0x0a, 0x13, 0x42, 0x08, 0xb1, 0xf3, 0xa1, 0x37, 0xab, 0x02, 0x9d, 0x8d, - 0x71, 0xc1, 0x22, 0x2c, 0xa6, 0xce, 0xc6, 0x38, 0xa4, 0xde, 0x2b, 0xce, 0xba, 0xab, 0x50, 0x29, - 0x46, 0x15, 0xba, 0xe4, 0xc5, 0xd0, 0xd9, 0x18, 0x17, 0x2f, 0xba, 0x63, 0xef, 0xfc, 0x5e, 0x45, - 0xe0, 0xe1, 0x58, 0x45, 0x60, 0x39, 0x56, 0x11, 0xb8, 0xe2, 0x7b, 0xf0, 0x83, 0x09, 0x38, 0xe8, - 0x7b, 0x90, 0x7e, 0x22, 0xbf, 0x97, 0x95, 0x09, 0x1c, 0x51, 0xe9, 0xfc, 0xd8, 0x26, 0xe0, 0xc6, - 0xc4, 0x72, 0x4d, 0x5f, 0x13, 0x0f, 0xab, 0xb2, 0xfb, 0x3d, 0xc0, 0x09, 0x78, 0x9c, 0x6d, 0x86, - 0x1e, 0x07, 0x75, 0xb9, 0xe6, 0x90, 0x6a, 0x11, 0xf6, 0xd8, 0x82, 0x81, 0xc9, 0xba, 0x01, 0x03, - 0x84, 0xdd, 0x21, 0xee, 0xbd, 0x95, 0x07, 0x17, 0x0d, 0x26, 0x29, 0xf3, 0x82, 0x02, 0x47, 0x85, - 0x50, 0x7e, 0x73, 0x8e, 0x0c, 0x2e, 0xc6, 0x3a, 0x32, 0x10, 0x12, 0xc4, 0x3f, 0x3e, 0xb8, 0xbb, - 0xfb, 0xa4, 0x3a, 0x98, 0x25, 0xf2, 0x51, 0xc2, 0xff, 0x81, 0x51, 0x7f, 0x06, 0xe4, 0x9d, 0xed, - 0x4c, 0xf4, 0x6e, 0x66, 0x58, 0x6a, 0x9e, 0x91, 0x76, 0xd1, 0xf6, 0x84, 0x79, 0xd9, 0x9a, 0xc9, - 0xc2, 0x58, 0x59, 0xfc, 0x43, 0xa7, 0xa8, 0xcd, 0x88, 0x14, 0x6e, 0xcd, 0x6f, 0x7c, 0x7a, 0xa6, - 0x2f, 0x73, 0x1f, 0x0c, 0x07, 0xff, 0x96, 0x49, 0x02, 0x0e, 0x72, 0x60, 0x36, 0xf9, 0x22, 0xe6, - 0xfe, 0x3d, 0x05, 0x0e, 0x05, 0xd9, 0x1f, 0xa9, 0xbb, 0x3b, 0xcb, 0x16, 0xee, 0xe9, 0x1f, 0x80, - 0x14, 0x62, 0x8e, 0x63, 0x3f, 0x7d, 0xc3, 0xde, 0x23, 0x43, 0xd9, 0xe7, 0xc9, 0xbf, 0x86, 0x07, - 0x91, 0x76, 0x41, 0xf8, 0x63, 0x17, 0xa7, 0xee, 0x82, 0x7e, 0x2a, 0x5f, 0xd4, 0x6b, 0x44, 0xd2, - 0xeb, 0x73, 0x21, 0x7a, 0x91, 0x38, 0xd2, 0xaf, 0x08, 0x7a, 0x05, 0x5e, 0x57, 0x43, 0xd9, 0xe7, - 0x79, 0xf0, 0xe5, 0x53, 0xb8, 0xff, 0x23, 0x11, 0x15, 0xad, 0xe4, 0x2c, 0xa4, 0x4a, 0x32, 0x4f, - 0xb8, 0x9e, 0x45, 0x48, 0x96, 0xed, 0x1a, 0xf9, 0x51, 0x1e, 0xf2, 0x2b, 0xd4, 0xcc, 0xc8, 0xec, - 0x27, 0xa9, 0x4f, 0x40, 0xaa, 0xb0, 0x53, 0x6f, 0xd4, 0xda, 0xc8, 0x62, 0x67, 0xf6, 0x6c, 0x0b, - 0x1d, 0x63, 0x0c, 0x8f, 0x96, 0x29, 0xc0, 0x78, 0xd9, 0xb6, 0xf2, 0xbb, 0x6e, 0xb0, 0x6e, 0xcc, - 0x4b, 0x29, 0xc2, 0xce, 0x7c, 0xc8, 0xdf, 0x7e, 0x60, 0x86, 0x7c, 0xff, 0xf7, 0x5f, 0x9a, 0x51, - 0x36, 0xbc, 0xfd, 0xf3, 0x15, 0x38, 0xcc, 0xd2, 0xa7, 0x4b, 0xd4, 0x62, 0x94, 0xa8, 0x41, 0x76, - 0x4e, 0x1d, 0x10, 0xb7, 0x8c, 0xc5, 0x59, 0xa1, 0xe2, 0xde, 0x98, 0x66, 0xb8, 0x29, 0xda, 0x53, - 0x33, 0x75, 0x5f, 0x9a, 0x85, 0x8a, 0x9b, 0x8f, 0x12, 0x27, 0x69, 0x76, 0x27, 0x0c, 0x7a, 0xb4, - 0x40, 0x34, 0x04, 0x33, 0x65, 0x71, 0x2e, 0x03, 0x43, 0x81, 0x84, 0xd5, 0xfb, 0x41, 0xc9, 0x69, - 0x7d, 0xf8, 0xbf, 0xbc, 0xa6, 0xe0, 0xff, 0x0a, 0x5a, 0x62, 0xee, 0x2e, 0x18, 0x93, 0xf6, 0x2f, - 0x31, 0xa5, 0xa8, 0x01, 0xfe, 0xaf, 0xa4, 0x0d, 0x4d, 0x25, 0x3f, 0xf4, 0xd9, 0xe9, 0xbe, 0xb9, - 0x8b, 0xa0, 0x77, 0xef, 0x74, 0xea, 0x03, 0x90, 0xc8, 0x61, 0x91, 0x87, 0x21, 0x91, 0xcf, 0x6b, - 0xca, 0xd4, 0xd8, 0xaf, 0x7e, 0xf2, 0xe8, 0x50, 0x9e, 0xfc, 0xa1, 0xf6, 0x35, 0xe4, 0xe6, 0xf3, - 0x0c, 0xfc, 0x20, 0x1c, 0x0a, 0xdd, 0x29, 0xc5, 0xf8, 0x42, 0x81, 0xe2, 0x8b, 0xc5, 0x2e, 0x7c, - 0xb1, 0x48, 0xf0, 0x4a, 0x96, 0x9f, 0x38, 0xe7, 0xf4, 0x90, 0x5d, 0xc6, 0x74, 0x2d, 0x70, 0xc2, - 0x9d, 0xcb, 0x3e, 0xc8, 0x78, 0xf3, 0xa1, 0xbc, 0x28, 0xe2, 0xc4, 0x3a, 0x9f, 0x2d, 0x30, 0x7c, - 0x21, 0x14, 0xbf, 0x25, 0x1d, 0xab, 0x8a, 0x2b, 0x04, 0x13, 0x52, 0xf0, 0x14, 0x2e, 0x86, 0x0a, - 0xd9, 0x09, 0x5c, 0x76, 0x2f, 0x7a, 0x0a, 0x97, 0x42, 0x79, 0xeb, 0x11, 0x97, 0xbe, 0x4a, 0xd9, - 0x93, 0x6c, 0x91, 0xcf, 0x9d, 0xd2, 0x0f, 0xf1, 0x1c, 0x15, 0x2a, 0x30, 0x33, 0x10, 0xe7, 0xca, - 0x16, 0x18, 0x20, 0xdf, 0x13, 0xd0, 0xdb, 0x4a, 0x1c, 0x99, 0x7d, 0x98, 0x09, 0x29, 0xf4, 0x14, - 0x12, 0x61, 0x2a, 0x0e, 0xcf, 0x6f, 0xdc, 0x78, 0x79, 0xba, 0xef, 0xc5, 0x97, 0xa7, 0xfb, 0xfe, - 0xe1, 0xe5, 0xe9, 0xbe, 0x1f, 0xbc, 0x3c, 0xad, 0xfc, 0xe8, 0xe5, 0x69, 0xe5, 0x27, 0x2f, 0x4f, - 0x2b, 0x3f, 0x7b, 0x79, 0x5a, 0x79, 0xe6, 0xe6, 0xb4, 0xf2, 0xfc, 0xcd, 0x69, 0xe5, 0xcb, 0x37, - 0xa7, 0x95, 0x6f, 0xdc, 0x9c, 0x56, 0x5e, 0xb8, 0x39, 0xad, 0xdc, 0xb8, 0x39, 0xdd, 0xf7, 0xe2, - 0xcd, 0xe9, 0xbe, 0x1f, 0xdc, 0x9c, 0x56, 0x7e, 0x74, 0x73, 0xba, 0xef, 0x27, 0x37, 0xa7, 0x95, - 0x9f, 0xdd, 0x9c, 0xee, 0x7b, 0xe6, 0x95, 0xe9, 0xbe, 0xe7, 0x5e, 0x99, 0xee, 0x7b, 0xfe, 0x95, - 0x69, 0xe5, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x03, 0x1e, 0xc6, 0x1e, 0xd9, 0x68, 0x00, 0x00, + // 6753 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7c, 0x7b, 0x70, 0x1b, 0xd7, + 0x75, 0x37, 0x17, 0x0b, 0x52, 0xe0, 0xe1, 0x6b, 0xb9, 0x94, 0x28, 0x98, 0x96, 0x49, 0x09, 0x96, + 0x65, 0x9a, 0xb6, 0x29, 0x8a, 0xa2, 0x5e, 0x50, 0x6c, 0x7f, 0x78, 0x49, 0xa6, 0x22, 0x82, 0xcc, + 0x92, 0x8c, 0xad, 0xe4, 0xfb, 0x06, 0xb3, 0x02, 0x2e, 0x49, 0xd8, 0xc0, 0x2e, 0x82, 0x5d, 0xd8, + 0xa6, 0xe7, 0x9b, 0x6f, 0xfc, 0x25, 0x6d, 0x9a, 0xf4, 0xdd, 0xa6, 0x9d, 0x26, 0x69, 0xe2, 0x38, + 0xc9, 0x24, 0x71, 0xd2, 0x57, 0xd2, 0xa6, 0x69, 0x1e, 0x9d, 0xc6, 0xff, 0xa4, 0x55, 0xff, 0xe9, + 0x38, 0xfd, 0xab, 0x93, 0xe9, 0x78, 0x62, 0x39, 0x33, 0x4d, 0x5b, 0xb7, 0x4d, 0x53, 0xcf, 0x34, + 0x33, 0xce, 0x1f, 0x9d, 0xfb, 0xda, 0xdd, 0x7b, 0xb1, 0xe0, 0x2e, 0x2d, 0xdb, 0xc9, 0x3f, 0x12, + 0x70, 0xcf, 0xf9, 0x9d, 0x3d, 0xf7, 0xbc, 0xee, 0xd9, 0x7b, 0x2f, 0x01, 0x37, 0xb2, 0x70, 0x74, + 0xdb, 0xb6, 0xb7, 0x1b, 0xe8, 0x64, 0xab, 0x6d, 0xbb, 0xf6, 0xf5, 0xce, 0xd6, 0xc9, 0x1a, 0x72, + 0xaa, 0xed, 0x7a, 0xcb, 0xb5, 0xdb, 0xf3, 0x64, 0x4c, 0x1f, 0xa3, 0x1c, 0xf3, 0x9c, 0x23, 0xb3, + 0x02, 0xe3, 0x97, 0xea, 0x0d, 0x54, 0xf4, 0x18, 0xd7, 0x91, 0xab, 0x9f, 0x87, 0xe4, 0x56, 0xbd, + 0x81, 0xd2, 0xca, 0x51, 0x75, 0x76, 0x68, 0xf1, 0xf8, 0xbc, 0x04, 0x9a, 0x17, 0x11, 0x6b, 0x78, + 0xd8, 0x20, 0x88, 0xcc, 0x0f, 0x92, 0x30, 0x11, 0x42, 0xd5, 0x75, 0x48, 0x5a, 0x66, 0x13, 0x4b, + 0x54, 0x66, 0x07, 0x0d, 0xf2, 0x59, 0x4f, 0xc3, 0x81, 0x96, 0x59, 0x7d, 0xdc, 0xdc, 0x46, 0xe9, + 0x04, 0x19, 0xe6, 0x5f, 0xf5, 0x69, 0x80, 0x1a, 0x6a, 0x21, 0xab, 0x86, 0xac, 0xea, 0x6e, 0x5a, + 0x3d, 0xaa, 0xce, 0x0e, 0x1a, 0x81, 0x11, 0xfd, 0x5e, 0x18, 0x6f, 0x75, 0xae, 0x37, 0xea, 0xd5, + 0x4a, 0x80, 0x0d, 0x8e, 0xaa, 0xb3, 0xfd, 0x86, 0x46, 0x09, 0x45, 0x9f, 0xf9, 0x6e, 0x18, 0x7b, + 0x12, 0x99, 0x8f, 0x07, 0x59, 0x87, 0x08, 0xeb, 0x28, 0x1e, 0x0e, 0x30, 0x16, 0x60, 0xb8, 0x89, + 0x1c, 0xc7, 0xdc, 0x46, 0x15, 0x77, 0xb7, 0x85, 0xd2, 0x49, 0x32, 0xfb, 0xa3, 0x5d, 0xb3, 0x97, + 0x67, 0x3e, 0xc4, 0x50, 0x1b, 0xbb, 0x2d, 0xa4, 0xe7, 0x60, 0x10, 0x59, 0x9d, 0x26, 0x95, 0xd0, + 0xdf, 0xc3, 0x7e, 0x25, 0xab, 0xd3, 0x94, 0xa5, 0xa4, 0x30, 0x8c, 0x89, 0x38, 0xe0, 0xa0, 0xf6, + 0x13, 0xf5, 0x2a, 0x4a, 0x0f, 0x10, 0x01, 0x77, 0x77, 0x09, 0x58, 0xa7, 0x74, 0x59, 0x06, 0xc7, + 0xe9, 0x05, 0x18, 0x44, 0x4f, 0xb9, 0xc8, 0x72, 0xea, 0xb6, 0x95, 0x3e, 0x40, 0x84, 0xdc, 0x15, + 0xe2, 0x45, 0xd4, 0xa8, 0xc9, 0x22, 0x7c, 0x9c, 0x7e, 0x16, 0x0e, 0xd8, 0x2d, 0xb7, 0x6e, 0x5b, + 0x4e, 0x3a, 0x75, 0x54, 0x99, 0x1d, 0x5a, 0x3c, 0x12, 0x1a, 0x08, 0xab, 0x94, 0xc7, 0xe0, 0xcc, + 0xfa, 0x32, 0x68, 0x8e, 0xdd, 0x69, 0x57, 0x51, 0xa5, 0x6a, 0xd7, 0x50, 0xa5, 0x6e, 0x6d, 0xd9, + 0xe9, 0x41, 0x22, 0x60, 0xa6, 0x7b, 0x22, 0x84, 0xb1, 0x60, 0xd7, 0xd0, 0xb2, 0xb5, 0x65, 0x1b, + 0xa3, 0x8e, 0xf0, 0x5d, 0x9f, 0x84, 0x01, 0x67, 0xd7, 0x72, 0xcd, 0xa7, 0xd2, 0xc3, 0x24, 0x42, + 0xd8, 0xb7, 0xcc, 0x37, 0x06, 0x60, 0x2c, 0x4e, 0x88, 0x5d, 0x84, 0xfe, 0x2d, 0x3c, 0xcb, 0x74, + 0x62, 0x3f, 0x36, 0xa0, 0x18, 0xd1, 0x88, 0x03, 0x6f, 0xd0, 0x88, 0x39, 0x18, 0xb2, 0x90, 0xe3, + 0xa2, 0x1a, 0x8d, 0x08, 0x35, 0x66, 0x4c, 0x01, 0x05, 0x75, 0x87, 0x54, 0xf2, 0x0d, 0x85, 0xd4, + 0xa3, 0x30, 0xe6, 0xa9, 0x54, 0x69, 0x9b, 0xd6, 0x36, 0x8f, 0xcd, 0x93, 0x51, 0x9a, 0xcc, 0x97, + 0x38, 0xce, 0xc0, 0x30, 0x63, 0x14, 0x09, 0xdf, 0xf5, 0x22, 0x80, 0x6d, 0x21, 0x7b, 0xab, 0x52, + 0x43, 0xd5, 0x46, 0x3a, 0xd5, 0xc3, 0x4a, 0xab, 0x98, 0xa5, 0xcb, 0x4a, 0x36, 0x1d, 0xad, 0x36, + 0xf4, 0x0b, 0x7e, 0xa8, 0x1d, 0xe8, 0x11, 0x29, 0x2b, 0x34, 0xc9, 0xba, 0xa2, 0x6d, 0x13, 0x46, + 0xdb, 0x08, 0xc7, 0x3d, 0xaa, 0xb1, 0x99, 0x0d, 0x12, 0x25, 0xe6, 0x23, 0x67, 0x66, 0x30, 0x18, + 0x9d, 0xd8, 0x48, 0x3b, 0xf8, 0x55, 0xbf, 0x13, 0xbc, 0x81, 0x0a, 0x09, 0x2b, 0x20, 0x55, 0x68, + 0x98, 0x0f, 0x96, 0xcd, 0x26, 0x9a, 0x7a, 0x1a, 0x46, 0x45, 0xf3, 0xe8, 0x07, 0xa1, 0xdf, 0x71, + 0xcd, 0xb6, 0x4b, 0xa2, 0xb0, 0xdf, 0xa0, 0x5f, 0x74, 0x0d, 0x54, 0x64, 0xd5, 0x48, 0x95, 0xeb, + 0x37, 0xf0, 0x47, 0xfd, 0x7f, 0xf9, 0x13, 0x56, 0xc9, 0x84, 0x4f, 0x74, 0x7b, 0x54, 0x90, 0x2c, + 0xcf, 0x7b, 0xea, 0x1c, 0x8c, 0x08, 0x13, 0x88, 0xfb, 0xe8, 0xcc, 0xff, 0x85, 0x43, 0xa1, 0xa2, + 0xf5, 0x47, 0xe1, 0x60, 0xc7, 0xaa, 0x5b, 0x2e, 0x6a, 0xb7, 0xda, 0x08, 0x47, 0x2c, 0x7d, 0x54, + 0xfa, 0x9f, 0x0e, 0xf4, 0x88, 0xb9, 0xcd, 0x20, 0x37, 0x95, 0x62, 0x4c, 0x74, 0xba, 0x07, 0xe7, + 0x06, 0x53, 0x3f, 0x3c, 0xa0, 0x3d, 0xf3, 0xcc, 0x33, 0xcf, 0x24, 0x32, 0x1f, 0x1d, 0x80, 0x83, + 0x61, 0x39, 0x13, 0x9a, 0xbe, 0x93, 0x30, 0x60, 0x75, 0x9a, 0xd7, 0x51, 0x9b, 0x18, 0xa9, 0xdf, + 0x60, 0xdf, 0xf4, 0x1c, 0xf4, 0x37, 0xcc, 0xeb, 0xa8, 0x91, 0x4e, 0x1e, 0x55, 0x66, 0x47, 0x17, + 0xef, 0x8d, 0x95, 0x95, 0xf3, 0x57, 0x31, 0xc4, 0xa0, 0x48, 0xfd, 0x41, 0x48, 0xb2, 0x12, 0x8d, + 0x25, 0xcc, 0xc5, 0x93, 0x80, 0x73, 0xc9, 0x20, 0x38, 0xfd, 0x76, 0x18, 0xc4, 0xff, 0xd3, 0xd8, + 0x18, 0x20, 0x3a, 0xa7, 0xf0, 0x00, 0x8e, 0x0b, 0x7d, 0x0a, 0x52, 0x24, 0x4d, 0x6a, 0x88, 0x2f, + 0x6d, 0xde, 0x77, 0x1c, 0x58, 0x35, 0xb4, 0x65, 0x76, 0x1a, 0x6e, 0xe5, 0x09, 0xb3, 0xd1, 0x41, + 0x24, 0xe0, 0x07, 0x8d, 0x61, 0x36, 0xf8, 0x6e, 0x3c, 0xa6, 0xcf, 0xc0, 0x10, 0xcd, 0xaa, 0xba, + 0x55, 0x43, 0x4f, 0x91, 0xea, 0xd9, 0x6f, 0xd0, 0x44, 0x5b, 0xc6, 0x23, 0xf8, 0xf1, 0x8f, 0x39, + 0xb6, 0xc5, 0x43, 0x93, 0x3c, 0x02, 0x0f, 0x90, 0xc7, 0x9f, 0x93, 0x0b, 0xf7, 0x1d, 0xe1, 0xd3, + 0x93, 0x63, 0x2a, 0xf3, 0xb5, 0x04, 0x24, 0x49, 0xbd, 0x18, 0x83, 0xa1, 0x8d, 0x6b, 0x6b, 0xa5, + 0x4a, 0x71, 0x75, 0x33, 0x7f, 0xb5, 0xa4, 0x29, 0xfa, 0x28, 0x00, 0x19, 0xb8, 0x74, 0x75, 0x35, + 0xb7, 0xa1, 0x25, 0xbc, 0xef, 0xcb, 0xe5, 0x8d, 0xb3, 0x4b, 0x9a, 0xea, 0x01, 0x36, 0xe9, 0x40, + 0x32, 0xc8, 0x70, 0x7a, 0x51, 0xeb, 0xd7, 0x35, 0x18, 0xa6, 0x02, 0x96, 0x1f, 0x2d, 0x15, 0xcf, + 0x2e, 0x69, 0x03, 0xe2, 0xc8, 0xe9, 0x45, 0xed, 0x80, 0x3e, 0x02, 0x83, 0x64, 0x24, 0xbf, 0xba, + 0x7a, 0x55, 0x4b, 0x79, 0x32, 0xd7, 0x37, 0x8c, 0xe5, 0xf2, 0x65, 0x6d, 0xd0, 0x93, 0x79, 0xd9, + 0x58, 0xdd, 0x5c, 0xd3, 0xc0, 0x93, 0xb0, 0x52, 0x5a, 0x5f, 0xcf, 0x5d, 0x2e, 0x69, 0x43, 0x1e, + 0x47, 0xfe, 0xda, 0x46, 0x69, 0x5d, 0x1b, 0x16, 0xd4, 0x3a, 0xbd, 0xa8, 0x8d, 0x78, 0x8f, 0x28, + 0x95, 0x37, 0x57, 0xb4, 0x51, 0x7d, 0x1c, 0x46, 0xe8, 0x23, 0xb8, 0x12, 0x63, 0xd2, 0xd0, 0xd9, + 0x25, 0x4d, 0xf3, 0x15, 0xa1, 0x52, 0xc6, 0x85, 0x81, 0xb3, 0x4b, 0x9a, 0x9e, 0x29, 0x40, 0x3f, + 0x89, 0x2e, 0x5d, 0x87, 0xd1, 0xab, 0xb9, 0x7c, 0xe9, 0x6a, 0x65, 0x75, 0x6d, 0x63, 0x79, 0xb5, + 0x9c, 0xbb, 0xaa, 0x29, 0xfe, 0x98, 0x51, 0x7a, 0xd7, 0xe6, 0xb2, 0x51, 0x2a, 0x6a, 0x89, 0xe0, + 0xd8, 0x5a, 0x29, 0xb7, 0x51, 0x2a, 0x6a, 0x6a, 0xa6, 0x0a, 0x07, 0xc3, 0xea, 0x64, 0x68, 0x66, + 0x04, 0x5c, 0x9c, 0xe8, 0xe1, 0x62, 0x22, 0xab, 0xcb, 0xc5, 0xaf, 0x24, 0x60, 0x22, 0x64, 0xad, + 0x08, 0x7d, 0xc8, 0x43, 0xd0, 0x4f, 0x43, 0x94, 0xae, 0x9e, 0xf7, 0x84, 0x2e, 0x3a, 0x24, 0x60, + 0xbb, 0x56, 0x50, 0x82, 0x0b, 0x76, 0x10, 0x6a, 0x8f, 0x0e, 0x02, 0x8b, 0xe8, 0xaa, 0xe9, 0xff, + 0xa7, 0xab, 0xa6, 0xd3, 0x65, 0xef, 0x6c, 0x9c, 0x65, 0x8f, 0x8c, 0xed, 0xaf, 0xb6, 0xf7, 0x87, + 0xd4, 0xf6, 0x8b, 0x30, 0xde, 0x25, 0x28, 0x76, 0x8d, 0xfd, 0x80, 0x02, 0xe9, 0x5e, 0xc6, 0x89, + 0xa8, 0x74, 0x09, 0xa1, 0xd2, 0x5d, 0x94, 0x2d, 0x78, 0xac, 0xb7, 0x13, 0xba, 0x7c, 0xfd, 0x05, + 0x05, 0x26, 0xc3, 0x3b, 0xc5, 0x50, 0x1d, 0x1e, 0x84, 0x81, 0x26, 0x72, 0x77, 0x6c, 0xde, 0x2d, + 0x9d, 0x08, 0x59, 0x83, 0x31, 0x59, 0x76, 0x36, 0x43, 0x05, 0x17, 0x71, 0xb5, 0x57, 0xbb, 0x47, + 0xb5, 0xe9, 0xd2, 0xf4, 0xc3, 0x09, 0x38, 0x14, 0x2a, 0x3c, 0x54, 0xd1, 0x3b, 0x00, 0xea, 0x56, + 0xab, 0xe3, 0xd2, 0x8e, 0x88, 0x16, 0xd8, 0x41, 0x32, 0x42, 0x8a, 0x17, 0x2e, 0x9e, 0x1d, 0xd7, + 0xa3, 0xab, 0x84, 0x0e, 0x74, 0x88, 0x30, 0x9c, 0xf7, 0x15, 0x4d, 0x12, 0x45, 0xa7, 0x7b, 0xcc, + 0xb4, 0x2b, 0x30, 0x17, 0x40, 0xab, 0x36, 0xea, 0xc8, 0x72, 0x2b, 0x8e, 0xdb, 0x46, 0x66, 0xb3, + 0x6e, 0x6d, 0x93, 0x15, 0x24, 0x95, 0xed, 0xdf, 0x32, 0x1b, 0x0e, 0x32, 0xc6, 0x28, 0x79, 0x9d, + 0x53, 0x31, 0x82, 0x04, 0x50, 0x3b, 0x80, 0x18, 0x10, 0x10, 0x94, 0xec, 0x21, 0x32, 0xbf, 0x3a, + 0x08, 0x43, 0x81, 0xbe, 0x5a, 0x3f, 0x06, 0xc3, 0x8f, 0x99, 0x4f, 0x98, 0x15, 0xfe, 0xae, 0x44, + 0x2d, 0x31, 0x84, 0xc7, 0xd6, 0xd8, 0xfb, 0xd2, 0x02, 0x1c, 0x24, 0x2c, 0x76, 0xc7, 0x45, 0xed, + 0x4a, 0xb5, 0x61, 0x3a, 0x0e, 0x31, 0x5a, 0x8a, 0xb0, 0xea, 0x98, 0xb6, 0x8a, 0x49, 0x05, 0x4e, + 0xd1, 0xcf, 0xc0, 0x04, 0x41, 0x34, 0x3b, 0x0d, 0xb7, 0xde, 0x6a, 0xa0, 0x0a, 0x7e, 0x7b, 0x73, + 0xc8, 0x4a, 0xe2, 0x69, 0x36, 0x8e, 0x39, 0x56, 0x18, 0x03, 0xd6, 0xc8, 0xd1, 0x8b, 0x70, 0x07, + 0x81, 0x6d, 0x23, 0x0b, 0xb5, 0x4d, 0x17, 0x55, 0xd0, 0xfb, 0x3a, 0x66, 0xc3, 0xa9, 0x98, 0x56, + 0xad, 0xb2, 0x63, 0x3a, 0x3b, 0xe9, 0x83, 0x58, 0x40, 0x3e, 0x91, 0x56, 0x8c, 0xdb, 0x30, 0xe3, + 0x65, 0xc6, 0x57, 0x22, 0x6c, 0x39, 0xab, 0xf6, 0xb0, 0xe9, 0xec, 0xe8, 0x59, 0x98, 0x24, 0x52, + 0x1c, 0xb7, 0x5d, 0xb7, 0xb6, 0x2b, 0xd5, 0x1d, 0x54, 0x7d, 0xbc, 0xd2, 0x71, 0xb7, 0xce, 0xa7, + 0x6f, 0x0f, 0x3e, 0x9f, 0x68, 0xb8, 0x4e, 0x78, 0x0a, 0x98, 0x65, 0xd3, 0xdd, 0x3a, 0xaf, 0xaf, + 0xc3, 0x30, 0x76, 0x46, 0xb3, 0xfe, 0x34, 0xaa, 0x6c, 0xd9, 0x6d, 0xb2, 0x34, 0x8e, 0x86, 0x94, + 0xa6, 0x80, 0x05, 0xe7, 0x57, 0x19, 0x60, 0xc5, 0xae, 0xa1, 0x6c, 0xff, 0xfa, 0x5a, 0xa9, 0x54, + 0x34, 0x86, 0xb8, 0x94, 0x4b, 0x76, 0x1b, 0x07, 0xd4, 0xb6, 0xed, 0x19, 0x78, 0x88, 0x06, 0xd4, + 0xb6, 0xcd, 0xcd, 0x7b, 0x06, 0x26, 0xaa, 0x55, 0x3a, 0xe7, 0x7a, 0xb5, 0xc2, 0xde, 0xb1, 0x9c, + 0xb4, 0x26, 0x18, 0xab, 0x5a, 0xbd, 0x4c, 0x19, 0x58, 0x8c, 0x3b, 0xfa, 0x05, 0x38, 0xe4, 0x1b, + 0x2b, 0x08, 0x1c, 0xef, 0x9a, 0xa5, 0x0c, 0x3d, 0x03, 0x13, 0xad, 0xdd, 0x6e, 0xa0, 0x2e, 0x3c, + 0xb1, 0xb5, 0x2b, 0xc3, 0xce, 0xc1, 0xc1, 0xd6, 0x4e, 0xab, 0x1b, 0x37, 0x17, 0xc4, 0xe9, 0xad, + 0x9d, 0x96, 0x0c, 0xbc, 0x8b, 0xbc, 0x70, 0xb7, 0x51, 0xd5, 0x74, 0x51, 0x2d, 0x7d, 0x38, 0xc8, + 0x1e, 0x20, 0xe8, 0x27, 0x41, 0xab, 0x56, 0x2b, 0xc8, 0x32, 0xaf, 0x37, 0x50, 0xc5, 0x6c, 0x23, + 0xcb, 0x74, 0xd2, 0x33, 0x41, 0xe6, 0xd1, 0x6a, 0xb5, 0x44, 0xa8, 0x39, 0x42, 0xd4, 0xe7, 0x60, + 0xdc, 0xbe, 0xfe, 0x58, 0x95, 0x86, 0x64, 0xa5, 0xd5, 0x46, 0x5b, 0xf5, 0xa7, 0xd2, 0xc7, 0x89, + 0x7d, 0xc7, 0x30, 0x81, 0x04, 0xe4, 0x1a, 0x19, 0xd6, 0xef, 0x01, 0xad, 0xea, 0xec, 0x98, 0xed, + 0x16, 0xa9, 0xc9, 0x4e, 0xcb, 0xac, 0xa2, 0xf4, 0x5d, 0x94, 0x95, 0x8e, 0x97, 0xf9, 0x30, 0x4e, + 0x09, 0xe7, 0xc9, 0xfa, 0x96, 0xcb, 0x25, 0xde, 0x4d, 0x53, 0x82, 0x8c, 0x31, 0x69, 0xb3, 0xa0, + 0x61, 0x53, 0x08, 0x0f, 0x9e, 0x25, 0x6c, 0xa3, 0xad, 0x9d, 0x56, 0xf0, 0xb9, 0x77, 0xc2, 0x08, + 0xe6, 0xf4, 0x1f, 0x7a, 0x0f, 0x6d, 0xc8, 0x5a, 0x3b, 0x81, 0x27, 0x2e, 0xc1, 0x24, 0x66, 0x6a, + 0x22, 0xd7, 0xac, 0x99, 0xae, 0x19, 0xe0, 0xbe, 0x8f, 0x70, 0x63, 0xbb, 0xaf, 0x30, 0xa2, 0xa0, + 0x67, 0xbb, 0x73, 0x7d, 0xd7, 0x8b, 0xac, 0xfb, 0xa9, 0x9e, 0x78, 0x8c, 0xc7, 0xd6, 0x5b, 0xd6, + 0x74, 0x67, 0xb2, 0x30, 0x1c, 0x0c, 0x7c, 0x7d, 0x10, 0x68, 0xe8, 0x6b, 0x0a, 0xee, 0x82, 0x0a, + 0xab, 0x45, 0xdc, 0xbf, 0xbc, 0xa7, 0xa4, 0x25, 0x70, 0x1f, 0x75, 0x75, 0x79, 0xa3, 0x54, 0x31, + 0x36, 0xcb, 0x1b, 0xcb, 0x2b, 0x25, 0x4d, 0x0d, 0x36, 0xec, 0xdf, 0x49, 0xc0, 0xa8, 0xf8, 0xee, + 0xa5, 0xbf, 0x03, 0x0e, 0xf3, 0x8d, 0x12, 0x07, 0xb9, 0x95, 0x27, 0xeb, 0x6d, 0x92, 0x8b, 0x4d, + 0x93, 0xae, 0x8b, 0x5e, 0x34, 0x1c, 0x64, 0x5c, 0xeb, 0xc8, 0x7d, 0xa4, 0xde, 0xc6, 0x99, 0xd6, + 0x34, 0x5d, 0xfd, 0x2a, 0xcc, 0x58, 0x76, 0xc5, 0x71, 0x4d, 0xab, 0x66, 0xb6, 0x6b, 0x15, 0x7f, + 0x8b, 0xaa, 0x62, 0x56, 0xab, 0xc8, 0x71, 0x6c, 0xba, 0x06, 0x7a, 0x52, 0x8e, 0x58, 0xf6, 0x3a, + 0x63, 0xf6, 0x17, 0x87, 0x1c, 0x63, 0x95, 0x22, 0x57, 0xed, 0x15, 0xb9, 0xb7, 0xc3, 0x60, 0xd3, + 0x6c, 0x55, 0x90, 0xe5, 0xb6, 0x77, 0x49, 0xc7, 0x9d, 0x32, 0x52, 0x4d, 0xb3, 0x55, 0xc2, 0xdf, + 0xdf, 0x9e, 0x17, 0x9f, 0x7f, 0x54, 0x61, 0x38, 0xd8, 0x75, 0xe3, 0x97, 0x98, 0x2a, 0x59, 0xa0, + 0x14, 0x52, 0xc2, 0xee, 0xdc, 0xb3, 0x47, 0x9f, 0x2f, 0xe0, 0x95, 0x2b, 0x3b, 0x40, 0x7b, 0x61, + 0x83, 0x22, 0x71, 0xd7, 0x80, 0x43, 0x0b, 0xd1, 0xde, 0x23, 0x65, 0xb0, 0x6f, 0xfa, 0x65, 0x18, + 0x78, 0xcc, 0x21, 0xb2, 0x07, 0x88, 0xec, 0xe3, 0x7b, 0xcb, 0xbe, 0xb2, 0x4e, 0x84, 0x0f, 0x5e, + 0x59, 0xaf, 0x94, 0x57, 0x8d, 0x95, 0xdc, 0x55, 0x83, 0xc1, 0xf5, 0xdb, 0x20, 0xd9, 0x30, 0x9f, + 0xde, 0x15, 0xd7, 0x38, 0x32, 0x14, 0xd7, 0xf0, 0xb7, 0x41, 0xf2, 0x49, 0x64, 0x3e, 0x2e, 0xae, + 0x2c, 0x64, 0xe8, 0x2d, 0x0c, 0xfd, 0x93, 0xd0, 0x4f, 0xec, 0xa5, 0x03, 0x30, 0x8b, 0x69, 0x7d, + 0x7a, 0x0a, 0x92, 0x85, 0x55, 0x03, 0x87, 0xbf, 0x06, 0xc3, 0x74, 0xb4, 0xb2, 0xb6, 0x5c, 0x2a, + 0x94, 0xb4, 0x44, 0xe6, 0x0c, 0x0c, 0x50, 0x23, 0xe0, 0xd4, 0xf0, 0xcc, 0xa0, 0xf5, 0xb1, 0xaf, + 0x4c, 0x86, 0xc2, 0xa9, 0x9b, 0x2b, 0xf9, 0x92, 0xa1, 0x25, 0x82, 0xee, 0x75, 0x60, 0x38, 0xd8, + 0x70, 0xbf, 0x3d, 0x31, 0xf5, 0x4d, 0x05, 0x86, 0x02, 0x0d, 0x34, 0xee, 0x7c, 0xcc, 0x46, 0xc3, + 0x7e, 0xb2, 0x62, 0x36, 0xea, 0xa6, 0xc3, 0x82, 0x02, 0xc8, 0x50, 0x0e, 0x8f, 0xc4, 0x75, 0xda, + 0xdb, 0xa2, 0xfc, 0xb3, 0x0a, 0x68, 0x72, 0xef, 0x2a, 0x29, 0xa8, 0xfc, 0x4c, 0x15, 0xfc, 0x84, + 0x02, 0xa3, 0x62, 0xc3, 0x2a, 0xa9, 0x77, 0xec, 0x67, 0xaa, 0xde, 0xf7, 0x13, 0x30, 0x22, 0xb4, + 0xa9, 0x71, 0xb5, 0x7b, 0x1f, 0x8c, 0xd7, 0x6b, 0xa8, 0xd9, 0xb2, 0x5d, 0x64, 0x55, 0x77, 0x2b, + 0x0d, 0xf4, 0x04, 0x6a, 0xa4, 0x33, 0xa4, 0x50, 0x9c, 0xdc, 0xbb, 0x11, 0x9e, 0x5f, 0xf6, 0x71, + 0x57, 0x31, 0x2c, 0x3b, 0xb1, 0x5c, 0x2c, 0xad, 0xac, 0xad, 0x6e, 0x94, 0xca, 0x85, 0x6b, 0x95, + 0xcd, 0xf2, 0x3b, 0xcb, 0xab, 0x8f, 0x94, 0x0d, 0xad, 0x2e, 0xb1, 0xbd, 0x85, 0xa9, 0xbe, 0x06, + 0x9a, 0xac, 0x94, 0x7e, 0x18, 0xc2, 0xd4, 0xd2, 0xfa, 0xf4, 0x09, 0x18, 0x2b, 0xaf, 0x56, 0xd6, + 0x97, 0x8b, 0xa5, 0x4a, 0xe9, 0xd2, 0xa5, 0x52, 0x61, 0x63, 0x9d, 0x6e, 0x6d, 0x78, 0xdc, 0x1b, + 0x62, 0x52, 0x7f, 0x5c, 0x85, 0x89, 0x10, 0x4d, 0xf4, 0x1c, 0x7b, 0x29, 0xa1, 0xef, 0x49, 0xf7, + 0xc7, 0xd1, 0x7e, 0x1e, 0x77, 0x05, 0x6b, 0x66, 0xdb, 0x65, 0xef, 0x30, 0xf7, 0x00, 0xb6, 0x92, + 0xe5, 0xd6, 0xb7, 0xea, 0xa8, 0xcd, 0x76, 0x82, 0xe8, 0x9b, 0xca, 0x98, 0x3f, 0x4e, 0x37, 0x83, + 0xee, 0x03, 0xbd, 0x65, 0x3b, 0x75, 0xb7, 0xfe, 0x04, 0xaa, 0xd4, 0x2d, 0xbe, 0x6d, 0x84, 0xdf, + 0x5c, 0x92, 0x86, 0xc6, 0x29, 0xcb, 0x96, 0xeb, 0x71, 0x5b, 0x68, 0xdb, 0x94, 0xb8, 0x71, 0x01, + 0x57, 0x0d, 0x8d, 0x53, 0x3c, 0xee, 0x63, 0x30, 0x5c, 0xb3, 0x3b, 0xb8, 0x9d, 0xa3, 0x7c, 0x78, + 0xbd, 0x50, 0x8c, 0x21, 0x3a, 0xe6, 0xb1, 0xb0, 0x46, 0xdd, 0xdf, 0xaf, 0x1a, 0x36, 0x86, 0xe8, + 0x18, 0x65, 0xb9, 0x1b, 0xc6, 0xcc, 0xed, 0xed, 0x36, 0x16, 0xce, 0x05, 0xd1, 0x57, 0x8f, 0x51, + 0x6f, 0x98, 0x30, 0x4e, 0x5d, 0x81, 0x14, 0xb7, 0x03, 0x5e, 0x92, 0xb1, 0x25, 0x2a, 0x2d, 0xfa, + 0x3e, 0x9d, 0x98, 0x1d, 0x34, 0x52, 0x16, 0x27, 0x1e, 0x83, 0xe1, 0xba, 0x53, 0xf1, 0xb7, 0xdf, + 0x13, 0x47, 0x13, 0xb3, 0x29, 0x63, 0xa8, 0xee, 0x78, 0x5b, 0x97, 0x99, 0x2f, 0x24, 0x60, 0x54, + 0x3c, 0x3e, 0xd0, 0x8b, 0x90, 0x6a, 0xd8, 0x55, 0x93, 0x84, 0x16, 0x3d, 0xbb, 0x9a, 0x8d, 0x38, + 0x71, 0x98, 0xbf, 0xca, 0xf8, 0x0d, 0x0f, 0x39, 0xf5, 0x77, 0x0a, 0xa4, 0xf8, 0xb0, 0x3e, 0x09, + 0xc9, 0x96, 0xe9, 0xee, 0x10, 0x71, 0xfd, 0xf9, 0x84, 0xa6, 0x18, 0xe4, 0x3b, 0x1e, 0x77, 0x5a, + 0xa6, 0x45, 0x42, 0x80, 0x8d, 0xe3, 0xef, 0xd8, 0xaf, 0x0d, 0x64, 0xd6, 0xc8, 0x7b, 0x8d, 0xdd, + 0x6c, 0x22, 0xcb, 0x75, 0xb8, 0x5f, 0xd9, 0x78, 0x81, 0x0d, 0xeb, 0xf7, 0xc2, 0xb8, 0xdb, 0x36, + 0xeb, 0x0d, 0x81, 0x37, 0x49, 0x78, 0x35, 0x4e, 0xf0, 0x98, 0xb3, 0x70, 0x1b, 0x97, 0x5b, 0x43, + 0xae, 0x59, 0xdd, 0x41, 0x35, 0x1f, 0x34, 0x40, 0xf6, 0x2f, 0x0e, 0x33, 0x86, 0x22, 0xa3, 0x73, + 0x6c, 0xe6, 0xbb, 0x0a, 0x8c, 0xf3, 0x37, 0xb1, 0x9a, 0x67, 0xac, 0x15, 0x00, 0xd3, 0xb2, 0x6c, + 0x37, 0x68, 0xae, 0xee, 0x50, 0xee, 0xc2, 0xcd, 0xe7, 0x3c, 0x90, 0x11, 0x10, 0x30, 0xd5, 0x04, + 0xf0, 0x29, 0x3d, 0xcd, 0x36, 0x03, 0x43, 0xec, 0x6c, 0x88, 0x1c, 0x30, 0xd2, 0x77, 0x77, 0xa0, + 0x43, 0xf8, 0x95, 0x4d, 0x3f, 0x08, 0xfd, 0xd7, 0xd1, 0x76, 0xdd, 0x62, 0x3b, 0xbe, 0xf4, 0x0b, + 0xdf, 0x61, 0x49, 0x7a, 0x3b, 0x2c, 0xf9, 0xf7, 0xc2, 0x44, 0xd5, 0x6e, 0xca, 0xea, 0xe6, 0x35, + 0x69, 0xff, 0xc0, 0x79, 0x58, 0x79, 0x0f, 0xf8, 0x2d, 0xe6, 0x4f, 0x14, 0xe5, 0x33, 0x09, 0xf5, + 0xf2, 0x5a, 0xfe, 0x4b, 0x89, 0xa9, 0xcb, 0x14, 0xba, 0xc6, 0x67, 0x6a, 0xa0, 0xad, 0x06, 0xaa, + 0x62, 0xed, 0xe1, 0xf3, 0xf7, 0xc2, 0xfd, 0xdb, 0x75, 0x77, 0xa7, 0x73, 0x7d, 0xbe, 0x6a, 0x37, + 0x4f, 0x6e, 0xdb, 0xdb, 0xb6, 0x7f, 0xa6, 0x8a, 0xbf, 0x91, 0x2f, 0xe4, 0x13, 0x3b, 0x57, 0x1d, + 0xf4, 0x46, 0xa7, 0x22, 0x0f, 0x61, 0xb3, 0x65, 0x98, 0x60, 0xcc, 0x15, 0x72, 0xb0, 0x43, 0x5f, + 0x4f, 0xf4, 0x3d, 0x37, 0xc7, 0xd2, 0x5f, 0xf9, 0x01, 0x59, 0xae, 0x8d, 0x71, 0x06, 0xc5, 0x34, + 0xfa, 0x06, 0x93, 0x35, 0xe0, 0x90, 0x20, 0x8f, 0xa6, 0x26, 0x6a, 0x47, 0x48, 0xfc, 0x0e, 0x93, + 0x38, 0x11, 0x90, 0xb8, 0xce, 0xa0, 0xd9, 0x02, 0x8c, 0xec, 0x47, 0xd6, 0x5f, 0x33, 0x59, 0xc3, + 0x28, 0x28, 0xe4, 0x32, 0x8c, 0x11, 0x21, 0xd5, 0x8e, 0xe3, 0xda, 0x4d, 0x52, 0xf7, 0xf6, 0x16, + 0xf3, 0x37, 0x3f, 0xa0, 0xb9, 0x32, 0x8a, 0x61, 0x05, 0x0f, 0x95, 0xcd, 0x02, 0x39, 0xcb, 0xaa, + 0xa1, 0x6a, 0x23, 0x42, 0xc2, 0x0d, 0xa6, 0x88, 0xc7, 0x9f, 0x7d, 0x37, 0x1c, 0xc4, 0x9f, 0x49, + 0x59, 0x0a, 0x6a, 0x12, 0xbd, 0x93, 0x96, 0xfe, 0xee, 0x07, 0x68, 0x3a, 0x4e, 0x78, 0x02, 0x02, + 0x3a, 0x05, 0xbc, 0xb8, 0x8d, 0x5c, 0x17, 0xb5, 0x9d, 0x8a, 0xd9, 0x08, 0x53, 0x2f, 0xb0, 0x15, + 0x91, 0xfe, 0xd8, 0xab, 0xa2, 0x17, 0x2f, 0x53, 0x64, 0xae, 0xd1, 0xc8, 0x6e, 0xc2, 0xe1, 0x90, + 0xa8, 0x88, 0x21, 0xf3, 0xe3, 0x4c, 0xe6, 0xc1, 0xae, 0xc8, 0xc0, 0x62, 0xd7, 0x80, 0x8f, 0x7b, + 0xbe, 0x8c, 0x21, 0xf3, 0xf7, 0x99, 0x4c, 0x9d, 0x61, 0xb9, 0x4b, 0xb1, 0xc4, 0x2b, 0x30, 0xfe, + 0x04, 0x6a, 0x5f, 0xb7, 0x1d, 0xb6, 0xfd, 0x13, 0x43, 0xdc, 0x27, 0x98, 0xb8, 0x31, 0x06, 0x24, + 0xfb, 0x41, 0x58, 0xd6, 0x05, 0x48, 0x6d, 0x99, 0x55, 0x14, 0x43, 0xc4, 0x27, 0x99, 0x88, 0x03, + 0x98, 0x1f, 0x43, 0x73, 0x30, 0xbc, 0x6d, 0xb3, 0x95, 0x29, 0x1a, 0xfe, 0x2c, 0x83, 0x0f, 0x71, + 0x0c, 0x13, 0xd1, 0xb2, 0x5b, 0x9d, 0x06, 0x5e, 0xb6, 0xa2, 0x45, 0x7c, 0x8a, 0x8b, 0xe0, 0x18, + 0x26, 0x62, 0x1f, 0x66, 0x7d, 0x8e, 0x8b, 0x70, 0x02, 0xf6, 0x7c, 0x08, 0x86, 0x6c, 0xab, 0xb1, + 0x6b, 0x5b, 0x71, 0x94, 0xf8, 0x34, 0x93, 0x00, 0x0c, 0x82, 0x05, 0x5c, 0x84, 0xc1, 0xb8, 0x8e, + 0xf8, 0xdc, 0xab, 0x3c, 0x3d, 0xb8, 0x07, 0x2e, 0xc3, 0x18, 0x2f, 0x50, 0x75, 0xdb, 0x8a, 0x21, + 0xe2, 0xf3, 0x4c, 0xc4, 0x68, 0x00, 0xc6, 0xa6, 0xe1, 0x22, 0xc7, 0xdd, 0x46, 0x71, 0x84, 0x7c, + 0x81, 0x4f, 0x83, 0x41, 0x98, 0x29, 0xaf, 0x23, 0xab, 0xba, 0x13, 0x4f, 0xc2, 0xf3, 0xdc, 0x94, + 0x1c, 0x83, 0x45, 0x14, 0x60, 0xa4, 0x69, 0xb6, 0x9d, 0x1d, 0xb3, 0x11, 0xcb, 0x1d, 0x5f, 0x64, + 0x32, 0x86, 0x3d, 0x10, 0xb3, 0x48, 0xc7, 0xda, 0x8f, 0x98, 0x2f, 0x71, 0x8b, 0x04, 0x60, 0x2c, + 0xf5, 0x1c, 0x97, 0xec, 0x95, 0xed, 0x47, 0xda, 0x1f, 0xf0, 0xd4, 0xa3, 0xd8, 0x95, 0xa0, 0xc4, + 0x8b, 0x30, 0xe8, 0xd4, 0x9f, 0x8e, 0x25, 0xe6, 0x0f, 0xb9, 0xa7, 0x09, 0x00, 0x83, 0xaf, 0xc1, + 0x6d, 0xa1, 0xcb, 0x44, 0x0c, 0x61, 0x7f, 0xc4, 0x84, 0x4d, 0x86, 0x2c, 0x15, 0xac, 0x24, 0xec, + 0x57, 0xe4, 0x1f, 0xf3, 0x92, 0x80, 0x24, 0x59, 0x6b, 0xf8, 0x5d, 0xc1, 0x31, 0xb7, 0xf6, 0x67, + 0xb5, 0x3f, 0xe1, 0x56, 0xa3, 0x58, 0xc1, 0x6a, 0x1b, 0x30, 0xc9, 0x24, 0xee, 0xcf, 0xaf, 0x5f, + 0xe6, 0x85, 0x95, 0xa2, 0x37, 0x45, 0xef, 0xbe, 0x17, 0xa6, 0x3c, 0x73, 0xf2, 0xa6, 0xd4, 0xa9, + 0x34, 0xcd, 0x56, 0x0c, 0xc9, 0x5f, 0x61, 0x92, 0x79, 0xc5, 0xf7, 0xba, 0x5a, 0x67, 0xc5, 0x6c, + 0x61, 0xe1, 0x8f, 0x42, 0x9a, 0x0b, 0xef, 0x58, 0x6d, 0x54, 0xb5, 0xb7, 0xad, 0xfa, 0xd3, 0xa8, + 0x16, 0x43, 0xf4, 0x9f, 0x4a, 0xae, 0xda, 0x0c, 0xc0, 0xb1, 0xe4, 0x65, 0xd0, 0xbc, 0x5e, 0xa5, + 0x52, 0x6f, 0xb6, 0xec, 0xb6, 0x1b, 0x21, 0xf1, 0xcf, 0xb8, 0xa7, 0x3c, 0xdc, 0x32, 0x81, 0x65, + 0x4b, 0x30, 0x4a, 0xbe, 0xc6, 0x0d, 0xc9, 0xaf, 0x32, 0x41, 0x23, 0x3e, 0x8a, 0x15, 0x8e, 0xaa, + 0xdd, 0x6c, 0x99, 0xed, 0x38, 0xf5, 0xef, 0xcf, 0x79, 0xe1, 0x60, 0x10, 0x56, 0x38, 0xdc, 0xdd, + 0x16, 0xc2, 0xab, 0x7d, 0x0c, 0x09, 0x5f, 0xe3, 0x85, 0x83, 0x63, 0x98, 0x08, 0xde, 0x30, 0xc4, + 0x10, 0xf1, 0x17, 0x5c, 0x04, 0xc7, 0x60, 0x11, 0xef, 0xf2, 0x17, 0xda, 0x36, 0xda, 0xae, 0x3b, + 0x6e, 0x9b, 0xb6, 0xc2, 0x7b, 0x8b, 0xfa, 0xfa, 0xab, 0x62, 0x13, 0x66, 0x04, 0xa0, 0xb8, 0x12, + 0xb1, 0x2d, 0x54, 0xf2, 0xa6, 0x14, 0xad, 0xd8, 0x37, 0x78, 0x25, 0x0a, 0xc0, 0xb0, 0x6e, 0x81, + 0x0e, 0x11, 0x9b, 0xbd, 0x8a, 0xdf, 0x0f, 0x62, 0x88, 0xfb, 0xa6, 0xa4, 0xdc, 0x3a, 0xc7, 0x62, + 0x99, 0x81, 0xfe, 0xa7, 0x63, 0x3d, 0x8e, 0x76, 0x63, 0x45, 0xe7, 0xb7, 0xa4, 0xfe, 0x67, 0x93, + 0x22, 0x69, 0x0d, 0x19, 0x93, 0xfa, 0x29, 0x3d, 0xea, 0x16, 0x50, 0xfa, 0xff, 0xbf, 0xc6, 0xe6, + 0x2b, 0xb6, 0x53, 0xd9, 0xab, 0x38, 0xc8, 0xc5, 0xa6, 0x27, 0x5a, 0xd8, 0x07, 0x5e, 0xf3, 0xe2, + 0x5c, 0xe8, 0x79, 0xb2, 0x97, 0x60, 0x44, 0x68, 0x78, 0xa2, 0x45, 0xfd, 0x02, 0x13, 0x35, 0x1c, + 0xec, 0x77, 0xb2, 0x67, 0x20, 0x89, 0x9b, 0x97, 0x68, 0xf8, 0x2f, 0x32, 0x38, 0x61, 0xcf, 0x3e, + 0x00, 0x29, 0xde, 0xb4, 0x44, 0x43, 0x3f, 0xc8, 0xa0, 0x1e, 0x04, 0xc3, 0x79, 0xc3, 0x12, 0x0d, + 0xff, 0x25, 0x0e, 0xe7, 0x10, 0x0c, 0x8f, 0x6f, 0xc2, 0x17, 0x7e, 0x25, 0xc9, 0x16, 0x1d, 0x6e, + 0xbb, 0x8b, 0x70, 0x80, 0x75, 0x2a, 0xd1, 0xe8, 0x0f, 0xb3, 0x87, 0x73, 0x44, 0xf6, 0x1c, 0xf4, + 0xc7, 0x34, 0xf8, 0xaf, 0x31, 0x28, 0xe5, 0xcf, 0x16, 0x60, 0x28, 0xd0, 0x9d, 0x44, 0xc3, 0x7f, + 0x9d, 0xc1, 0x83, 0x28, 0xac, 0x3a, 0xeb, 0x4e, 0xa2, 0x05, 0xfc, 0x06, 0x57, 0x9d, 0x21, 0xb0, + 0xd9, 0x78, 0x63, 0x12, 0x8d, 0xfe, 0x4d, 0x6e, 0x75, 0x0e, 0xc9, 0x3e, 0x04, 0x83, 0xde, 0x62, + 0x13, 0x8d, 0xff, 0x2d, 0x86, 0xf7, 0x31, 0xd8, 0x02, 0x81, 0xc5, 0x2e, 0x5a, 0xc4, 0x6f, 0x73, + 0x0b, 0x04, 0x50, 0x38, 0x8d, 0xe4, 0x06, 0x26, 0x5a, 0xd2, 0x47, 0x78, 0x1a, 0x49, 0xfd, 0x0b, + 0xf6, 0x26, 0xa9, 0xf9, 0xd1, 0x22, 0x7e, 0x87, 0x7b, 0x93, 0xf0, 0x63, 0x35, 0xe4, 0x8e, 0x20, + 0x5a, 0xc6, 0xef, 0x71, 0x35, 0xa4, 0x86, 0x20, 0xbb, 0x06, 0x7a, 0x77, 0x37, 0x10, 0x2d, 0xef, + 0xa3, 0x4c, 0xde, 0x78, 0x57, 0x33, 0x90, 0x7d, 0x04, 0x26, 0xc3, 0x3b, 0x81, 0x68, 0xa9, 0x1f, + 0x7b, 0x4d, 0x7a, 0x77, 0x0b, 0x36, 0x02, 0xd9, 0x0d, 0x7f, 0x49, 0x09, 0x76, 0x01, 0xd1, 0x62, + 0x3f, 0xfe, 0x9a, 0x58, 0xb8, 0x83, 0x4d, 0x40, 0x36, 0x07, 0xe0, 0x2f, 0xc0, 0xd1, 0xb2, 0x3e, + 0xc1, 0x64, 0x05, 0x40, 0x38, 0x35, 0xd8, 0xfa, 0x1b, 0x8d, 0xff, 0x24, 0x4f, 0x0d, 0x86, 0xc0, + 0xa9, 0xc1, 0x97, 0xde, 0x68, 0xf4, 0xb3, 0x3c, 0x35, 0x38, 0x04, 0x47, 0x76, 0x60, 0x75, 0x8b, + 0x96, 0xf0, 0x69, 0x1e, 0xd9, 0x01, 0x54, 0xb6, 0x0c, 0xe3, 0x5d, 0x0b, 0x62, 0xb4, 0xa8, 0xcf, + 0x30, 0x51, 0x9a, 0xbc, 0x1e, 0x06, 0x17, 0x2f, 0xb6, 0x18, 0x46, 0x4b, 0xfb, 0xac, 0xb4, 0x78, + 0xb1, 0xb5, 0x30, 0x7b, 0x11, 0x52, 0x56, 0xa7, 0xd1, 0xc0, 0xc9, 0xa3, 0xef, 0x7d, 0x73, 0x2f, + 0xfd, 0xcf, 0xaf, 0x33, 0xeb, 0x70, 0x40, 0xf6, 0x0c, 0xf4, 0xa3, 0xe6, 0x75, 0x54, 0x8b, 0x42, + 0xfe, 0xcb, 0xeb, 0xbc, 0x60, 0x62, 0xee, 0xec, 0x43, 0x00, 0x74, 0x6b, 0x84, 0x1c, 0xfb, 0x45, + 0x60, 0xff, 0xf5, 0x75, 0x76, 0xa7, 0xc6, 0x87, 0xf8, 0x02, 0xe8, 0x0d, 0x9d, 0xbd, 0x05, 0xbc, + 0x2a, 0x0a, 0x20, 0x1e, 0xb9, 0x00, 0x07, 0x1e, 0x73, 0x6c, 0xcb, 0x35, 0xb7, 0xa3, 0xd0, 0xff, + 0xc6, 0xd0, 0x9c, 0x1f, 0x1b, 0xac, 0x69, 0xb7, 0x91, 0x6b, 0x6e, 0x3b, 0x51, 0xd8, 0x7f, 0x67, + 0x58, 0x0f, 0x80, 0xc1, 0x55, 0xd3, 0x71, 0xe3, 0xcc, 0xfb, 0x3f, 0x38, 0x98, 0x03, 0xb0, 0xd2, + 0xf8, 0xf3, 0xe3, 0x68, 0x37, 0x0a, 0xfb, 0x23, 0xae, 0x34, 0xe3, 0xcf, 0x3e, 0x00, 0x83, 0xf8, + 0x23, 0xbd, 0x28, 0x17, 0x01, 0xfe, 0x4f, 0x06, 0xf6, 0x11, 0xf8, 0xc9, 0x8e, 0x5b, 0x73, 0xeb, + 0xd1, 0xc6, 0xfe, 0x31, 0xf3, 0x34, 0xe7, 0xcf, 0xe6, 0x60, 0xc8, 0x71, 0x6b, 0xb5, 0x0e, 0xeb, + 0x4f, 0x23, 0xe0, 0xff, 0xf5, 0xba, 0xb7, 0x65, 0xe1, 0x61, 0xb0, 0xb7, 0x9f, 0x7c, 0xdc, 0x6d, + 0xd9, 0xe4, 0x98, 0x23, 0x4a, 0xc2, 0x6b, 0x4c, 0x42, 0x00, 0x92, 0x2f, 0x85, 0x6f, 0xdf, 0xc2, + 0x65, 0xfb, 0xb2, 0x4d, 0x37, 0x6e, 0xdf, 0x93, 0x89, 0xde, 0x81, 0x85, 0x6f, 0x35, 0x60, 0xc4, + 0xdd, 0x41, 0x78, 0xd1, 0x65, 0x1b, 0xb1, 0x49, 0xfc, 0x79, 0x6a, 0x7f, 0xbb, 0xb7, 0xe4, 0x6c, + 0xbe, 0x5c, 0xc7, 0x0a, 0x97, 0xc9, 0xf1, 0x88, 0x7e, 0x04, 0x06, 0xc8, 0x14, 0x4e, 0x91, 0x23, + 0x48, 0x25, 0x9f, 0xbc, 0xf1, 0xd2, 0x4c, 0x9f, 0xc1, 0xc6, 0x3c, 0xea, 0x22, 0xd9, 0xbf, 0x4e, + 0x08, 0xd4, 0x45, 0x8f, 0x7a, 0x9a, 0x6e, 0x61, 0x0b, 0xd4, 0xd3, 0x1e, 0x75, 0x89, 0x6c, 0x66, + 0xab, 0x02, 0x75, 0xc9, 0xa3, 0x9e, 0x21, 0x07, 0x36, 0x23, 0x02, 0xf5, 0x8c, 0x47, 0x3d, 0x4b, + 0x8e, 0x69, 0x92, 0x02, 0xf5, 0xac, 0x47, 0x3d, 0x47, 0x4e, 0x68, 0xc6, 0x05, 0xea, 0x39, 0x8f, + 0x7a, 0x9e, 0x9c, 0xcc, 0xe8, 0x02, 0xf5, 0xbc, 0x47, 0xbd, 0x40, 0xee, 0x53, 0x1d, 0x10, 0xa8, + 0x17, 0xf4, 0x69, 0x38, 0x40, 0x67, 0xbe, 0x40, 0x8e, 0xf1, 0xc7, 0x18, 0x99, 0x0f, 0xfa, 0xf4, + 0x53, 0xe4, 0xee, 0xd4, 0x80, 0x48, 0x3f, 0xe5, 0xd3, 0x17, 0xc9, 0x9f, 0x71, 0x68, 0x22, 0x7d, + 0xd1, 0xa7, 0x9f, 0x4e, 0x8f, 0x90, 0xfb, 0x63, 0x02, 0xfd, 0xb4, 0x4f, 0x5f, 0x4a, 0x8f, 0xe2, + 0x3c, 0x10, 0xe9, 0x4b, 0x3e, 0xfd, 0x4c, 0x7a, 0xec, 0xa8, 0x32, 0x3b, 0x2c, 0xd2, 0xcf, 0x64, + 0xde, 0x4f, 0xdc, 0x6b, 0xf9, 0xee, 0x9d, 0x14, 0xdd, 0xeb, 0x39, 0x76, 0x52, 0x74, 0xac, 0xe7, + 0xd2, 0x49, 0xd1, 0xa5, 0x9e, 0x33, 0x27, 0x45, 0x67, 0x7a, 0x6e, 0x9c, 0x14, 0xdd, 0xe8, 0x39, + 0x70, 0x52, 0x74, 0xa0, 0xe7, 0xba, 0x49, 0xd1, 0x75, 0x9e, 0xd3, 0x26, 0x45, 0xa7, 0x79, 0xee, + 0x9a, 0x14, 0xdd, 0xe5, 0x39, 0x2a, 0x2d, 0x39, 0xca, 0x77, 0x51, 0x5a, 0x72, 0x91, 0xef, 0x9c, + 0xb4, 0xe4, 0x1c, 0xdf, 0x2d, 0x69, 0xc9, 0x2d, 0xbe, 0x43, 0xd2, 0x92, 0x43, 0x7c, 0x57, 0xa4, + 0x25, 0x57, 0xf8, 0x4e, 0x60, 0x39, 0x66, 0xa0, 0x56, 0x48, 0x8e, 0xa9, 0x7b, 0xe6, 0x98, 0xba, + 0x67, 0x8e, 0xa9, 0x7b, 0xe6, 0x98, 0xba, 0x67, 0x8e, 0xa9, 0x7b, 0xe6, 0x98, 0xba, 0x67, 0x8e, + 0xa9, 0x7b, 0xe6, 0x98, 0xba, 0x67, 0x8e, 0xa9, 0x7b, 0xe7, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0x44, + 0x8e, 0xa9, 0x11, 0x39, 0xa6, 0x46, 0xe4, 0x98, 0x1a, 0x91, 0x63, 0x6a, 0xcf, 0x1c, 0xf3, 0xdd, + 0x3b, 0x29, 0xba, 0x37, 0x34, 0xc7, 0xd4, 0x1e, 0x39, 0xa6, 0xf6, 0xc8, 0x31, 0xb5, 0x47, 0x8e, + 0xa9, 0x3d, 0x72, 0x4c, 0xed, 0x91, 0x63, 0x6a, 0x8f, 0x1c, 0x53, 0x7b, 0xe4, 0x98, 0xda, 0x2b, + 0xc7, 0xd4, 0x9e, 0x39, 0xa6, 0xf6, 0xcc, 0x31, 0xb5, 0x67, 0x8e, 0xa9, 0x3d, 0x73, 0x4c, 0xed, + 0x99, 0x63, 0x6a, 0x30, 0xc7, 0xfe, 0x52, 0x05, 0x9d, 0xe6, 0xd8, 0x1a, 0xb9, 0x08, 0xc6, 0x5c, + 0x31, 0x2d, 0x65, 0xda, 0x00, 0x76, 0x9d, 0xe6, 0xbb, 0x64, 0x5a, 0xca, 0x35, 0x91, 0xbe, 0xe8, + 0xd1, 0x79, 0xb6, 0x89, 0xf4, 0xd3, 0x1e, 0x9d, 0xe7, 0x9b, 0x48, 0x5f, 0xf2, 0xe8, 0x3c, 0xe3, + 0x44, 0xfa, 0x19, 0x8f, 0xce, 0x73, 0x4e, 0xa4, 0x9f, 0xf5, 0xe8, 0x3c, 0xeb, 0x44, 0xfa, 0x39, + 0x8f, 0xce, 0xf3, 0x4e, 0xa4, 0x9f, 0xf7, 0xe8, 0x3c, 0xf3, 0x44, 0xfa, 0x05, 0xfd, 0xa8, 0x9c, + 0x7b, 0x9c, 0xc1, 0x73, 0xed, 0x51, 0x39, 0xfb, 0x24, 0x8e, 0x53, 0x3e, 0x07, 0xcf, 0x3f, 0x89, + 0x63, 0xd1, 0xe7, 0xe0, 0x19, 0x28, 0x71, 0x9c, 0xce, 0x7c, 0x88, 0xb8, 0xcf, 0x92, 0xdd, 0x37, + 0x25, 0xb9, 0x2f, 0x11, 0x70, 0xdd, 0x94, 0xe4, 0xba, 0x44, 0xc0, 0x6d, 0x53, 0x92, 0xdb, 0x12, + 0x01, 0x97, 0x4d, 0x49, 0x2e, 0x4b, 0x04, 0xdc, 0x35, 0x25, 0xb9, 0x2b, 0x11, 0x70, 0xd5, 0x94, + 0xe4, 0xaa, 0x44, 0xc0, 0x4d, 0x53, 0x92, 0x9b, 0x12, 0x01, 0x17, 0x4d, 0x49, 0x2e, 0x4a, 0x04, + 0xdc, 0x33, 0x25, 0xb9, 0x27, 0x11, 0x70, 0xcd, 0x11, 0xd9, 0x35, 0x89, 0xa0, 0x5b, 0x8e, 0xc8, + 0x6e, 0x49, 0x04, 0x5d, 0x72, 0x44, 0x76, 0x49, 0x22, 0xe8, 0x8e, 0x23, 0xb2, 0x3b, 0x12, 0x41, + 0x57, 0xfc, 0x34, 0xc1, 0x3b, 0xc2, 0x75, 0xb7, 0xdd, 0xa9, 0xba, 0xb7, 0xd4, 0x11, 0x2e, 0x08, + 0xed, 0xc3, 0xd0, 0xa2, 0x3e, 0x4f, 0x1a, 0xd6, 0x60, 0xc7, 0x29, 0xad, 0x60, 0x0b, 0x42, 0x63, + 0x11, 0x40, 0x58, 0xe1, 0x88, 0xa5, 0x5b, 0xea, 0x0d, 0x17, 0x84, 0x36, 0x23, 0x5a, 0xbf, 0xf3, + 0x6f, 0x79, 0xc7, 0xf6, 0x42, 0x82, 0x77, 0x6c, 0xcc, 0xfc, 0xfb, 0xed, 0xd8, 0xe6, 0xa2, 0x4d, + 0xee, 0x19, 0x7b, 0x2e, 0xda, 0xd8, 0x5d, 0xab, 0x4e, 0xdc, 0x0e, 0x6e, 0x2e, 0xda, 0xb4, 0x9e, + 0x51, 0xdf, 0xdc, 0x7e, 0x8b, 0x45, 0xb0, 0x81, 0x5a, 0x21, 0x11, 0xbc, 0xdf, 0x7e, 0x6b, 0x41, + 0x28, 0x25, 0xfb, 0x8d, 0x60, 0x75, 0xdf, 0x11, 0xbc, 0xdf, 0xce, 0x6b, 0x41, 0x28, 0x2f, 0xfb, + 0x8e, 0xe0, 0xb7, 0xa0, 0x1f, 0x62, 0x11, 0xec, 0x9b, 0x7f, 0xbf, 0xfd, 0xd0, 0x5c, 0xb4, 0xc9, + 0x43, 0x23, 0x58, 0xdd, 0x47, 0x04, 0xc7, 0xe9, 0x8f, 0xe6, 0xa2, 0x4d, 0x1b, 0x1e, 0xc1, 0xb7, + 0xdc, 0xcd, 0x7c, 0x4a, 0x81, 0xf1, 0x72, 0xbd, 0x56, 0x6a, 0x5e, 0x47, 0xb5, 0x1a, 0xaa, 0x31, + 0x3b, 0x2e, 0x08, 0x95, 0xa0, 0x87, 0xab, 0x5f, 0x7c, 0x69, 0xc6, 0xb7, 0xf0, 0x19, 0x48, 0x51, + 0x9b, 0x2e, 0x2c, 0xa4, 0x6f, 0x28, 0x11, 0x15, 0xce, 0x63, 0xd5, 0x8f, 0x71, 0xd8, 0xa9, 0x85, + 0xf4, 0xdf, 0x2b, 0x81, 0x2a, 0xe7, 0x0d, 0x67, 0x3e, 0x42, 0x34, 0xb4, 0x6e, 0x59, 0xc3, 0x93, + 0xb1, 0x34, 0x0c, 0xe8, 0x76, 0x7b, 0x97, 0x6e, 0x01, 0xad, 0x3a, 0x30, 0x56, 0xae, 0xd7, 0xca, + 0xe4, 0x07, 0x04, 0xe2, 0xa8, 0x44, 0x79, 0xa4, 0x7a, 0xb0, 0x20, 0x84, 0x65, 0x10, 0xe1, 0x85, + 0xb4, 0x58, 0x23, 0x32, 0x75, 0xfc, 0x58, 0x4b, 0x78, 0xec, 0x5c, 0xaf, 0xc7, 0xfa, 0x95, 0xdd, + 0x7b, 0xe0, 0x5c, 0xaf, 0x07, 0xfa, 0x39, 0xe4, 0x3d, 0xea, 0x29, 0xbe, 0x38, 0xd3, 0xeb, 0x58, + 0xfa, 0x11, 0x48, 0x2c, 0xd3, 0xdb, 0xe2, 0xc3, 0xf9, 0x61, 0xac, 0xd4, 0xf7, 0x5e, 0x9a, 0x49, + 0x6e, 0x76, 0xea, 0x35, 0x23, 0xb1, 0x5c, 0xd3, 0xaf, 0x40, 0xff, 0xbb, 0xd9, 0x9f, 0xb1, 0x62, + 0x86, 0x25, 0xc6, 0x70, 0x5f, 0xcf, 0x3d, 0x22, 0xfc, 0xe0, 0x93, 0x74, 0x6b, 0x72, 0x7e, 0xb3, + 0x6e, 0xb9, 0xa7, 0x16, 0xcf, 0x1b, 0x54, 0x44, 0xe6, 0x7f, 0x03, 0xd0, 0x67, 0x16, 0x4d, 0x67, + 0x47, 0x2f, 0x73, 0xc9, 0xf4, 0xd1, 0xe7, 0xbf, 0xf7, 0xd2, 0xcc, 0x52, 0x1c, 0xa9, 0xf7, 0xd7, + 0x4c, 0x67, 0xe7, 0x7e, 0x77, 0xb7, 0x85, 0xe6, 0xf3, 0xbb, 0x2e, 0x72, 0xb8, 0xf4, 0x16, 0x5f, + 0xf5, 0xd8, 0xbc, 0xd2, 0x81, 0x79, 0xa5, 0x84, 0x39, 0x5d, 0x12, 0xe7, 0xb4, 0xf0, 0x46, 0xe7, + 0xf3, 0x14, 0x5f, 0x24, 0x24, 0x4b, 0xaa, 0x51, 0x96, 0x54, 0x6f, 0xd5, 0x92, 0x2d, 0x5e, 0x1f, + 0xa5, 0xb9, 0xaa, 0x7b, 0xcd, 0x55, 0xbd, 0x95, 0xb9, 0xfe, 0x37, 0xcd, 0x56, 0x2f, 0x9f, 0x36, + 0x2d, 0x7a, 0x53, 0xf5, 0xe7, 0x6b, 0x2f, 0xe8, 0x4d, 0xed, 0x02, 0xb2, 0xc9, 0x1b, 0xcf, 0xcd, + 0x28, 0x99, 0x4f, 0x25, 0xf8, 0xcc, 0x69, 0x22, 0xbd, 0xb1, 0x99, 0xff, 0xbc, 0xf4, 0x54, 0x6f, + 0x85, 0x85, 0x9e, 0x55, 0x60, 0xb2, 0xab, 0x92, 0x53, 0x33, 0xbd, 0xb9, 0xe5, 0xdc, 0xda, 0x6f, + 0x39, 0x67, 0x0a, 0x7e, 0x55, 0x81, 0x83, 0x52, 0x79, 0xa5, 0xea, 0x9d, 0x94, 0xd4, 0x3b, 0xdc, + 0xfd, 0x24, 0xc2, 0x18, 0xd0, 0x2e, 0xe8, 0x5e, 0x09, 0x10, 0x90, 0xec, 0xf9, 0x7d, 0x49, 0xf2, + 0xfb, 0x11, 0x0f, 0x10, 0x62, 0x2e, 0x1e, 0x01, 0x4c, 0x6d, 0x1b, 0x92, 0x1b, 0x6d, 0x84, 0xf4, + 0x69, 0x48, 0xac, 0xb6, 0x99, 0x86, 0xa3, 0x14, 0xbf, 0xda, 0xce, 0xb7, 0x4d, 0xab, 0xba, 0x63, + 0x24, 0x56, 0xdb, 0xfa, 0x31, 0x50, 0x73, 0xec, 0x4f, 0xe8, 0x87, 0x16, 0xc7, 0x28, 0x43, 0xce, + 0xaa, 0x31, 0x0e, 0x4c, 0xd3, 0xa7, 0x21, 0x79, 0x15, 0x99, 0x5b, 0x4c, 0x09, 0xa0, 0x3c, 0x78, + 0xc4, 0x20, 0xe3, 0xec, 0x81, 0x8f, 0x42, 0x8a, 0x0b, 0xd6, 0x8f, 0x63, 0xc4, 0x96, 0xcb, 0x1e, + 0xcb, 0x10, 0x58, 0x1d, 0xb6, 0x72, 0x11, 0xaa, 0x7e, 0x02, 0xfa, 0x8d, 0xfa, 0xf6, 0x8e, 0xcb, + 0x1e, 0xde, 0xcd, 0x46, 0xc9, 0x99, 0x6b, 0x30, 0xe8, 0x69, 0xf4, 0x26, 0x8b, 0x2e, 0xd2, 0xa9, + 0xe9, 0x53, 0xc1, 0xf5, 0x84, 0xef, 0x5b, 0xd2, 0x21, 0xfd, 0x28, 0xa4, 0xd6, 0xdd, 0xb6, 0x5f, + 0xf4, 0x79, 0x47, 0xea, 0x8d, 0x66, 0xde, 0xaf, 0x40, 0xaa, 0x88, 0x50, 0x8b, 0x18, 0xfc, 0x2e, + 0x48, 0x16, 0xed, 0x27, 0x2d, 0xa6, 0xe0, 0x38, 0xb3, 0x28, 0x26, 0x33, 0x9b, 0x12, 0xb2, 0x7e, + 0x57, 0xd0, 0xee, 0x13, 0x9e, 0xdd, 0x03, 0x7c, 0xc4, 0xf6, 0x19, 0xc1, 0xf6, 0xcc, 0x81, 0x98, + 0xa9, 0xcb, 0xfe, 0xe7, 0x60, 0x28, 0xf0, 0x14, 0x7d, 0x96, 0xa9, 0x91, 0x90, 0x81, 0x41, 0x5b, + 0x61, 0x8e, 0x0c, 0x82, 0x11, 0xe1, 0xc1, 0x18, 0x1a, 0x30, 0x71, 0x0f, 0x28, 0x31, 0xf3, 0x9c, + 0x68, 0xe6, 0x70, 0x56, 0x66, 0xea, 0x05, 0x6a, 0x23, 0x62, 0xee, 0xe3, 0x34, 0x38, 0x7b, 0x3b, + 0x11, 0x7f, 0xce, 0xf4, 0x83, 0x5a, 0xae, 0x37, 0x32, 0x0f, 0x00, 0xd0, 0x94, 0x2f, 0x59, 0x9d, + 0xa6, 0x94, 0x75, 0xa3, 0xdc, 0xc0, 0x1b, 0x3b, 0x68, 0x03, 0x39, 0x84, 0x45, 0xec, 0xa7, 0x70, + 0x81, 0x01, 0x9a, 0x62, 0x04, 0x7f, 0x4f, 0x24, 0x3e, 0xb4, 0x13, 0xc3, 0xac, 0x69, 0xca, 0x7a, + 0x0d, 0xb9, 0x39, 0xcb, 0x76, 0x77, 0x50, 0x5b, 0x42, 0x2c, 0xea, 0xa7, 0x85, 0x84, 0x1d, 0x5d, + 0xbc, 0xdd, 0x43, 0xf4, 0x04, 0x9d, 0xce, 0x7c, 0x99, 0x28, 0x88, 0x5b, 0x81, 0xae, 0x09, 0xaa, + 0x31, 0x26, 0xa8, 0x9f, 0x15, 0xfa, 0xb7, 0x3d, 0xd4, 0x94, 0x5e, 0x2d, 0x2f, 0x08, 0xef, 0x39, + 0x7b, 0x2b, 0x2b, 0xbe, 0x63, 0x72, 0x9b, 0x72, 0x95, 0xef, 0x89, 0x54, 0xb9, 0x47, 0x77, 0xbb, + 0x5f, 0x9b, 0xaa, 0x71, 0x6d, 0xfa, 0x4d, 0xaf, 0xe3, 0xa0, 0xbf, 0x53, 0x42, 0x7e, 0xe1, 0x47, + 0xbf, 0x2f, 0xd2, 0xf7, 0x59, 0xa5, 0xe0, 0xa9, 0xba, 0x14, 0xd7, 0xfd, 0xd9, 0x44, 0x3e, 0xef, + 0xa9, 0x7b, 0x6e, 0x1f, 0x21, 0x90, 0x4d, 0x14, 0x0a, 0x5e, 0xd9, 0x4e, 0x7d, 0xe8, 0xb9, 0x19, + 0xe5, 0xf9, 0xe7, 0x66, 0xfa, 0x32, 0x5f, 0x54, 0x60, 0x9c, 0x71, 0x06, 0x02, 0xf7, 0x7e, 0x49, + 0xf9, 0x43, 0xbc, 0x66, 0x84, 0x59, 0xe0, 0x6d, 0x0b, 0xde, 0xef, 0x28, 0x90, 0xee, 0xd2, 0x95, + 0xdb, 0x7b, 0x21, 0x96, 0xca, 0x59, 0xa5, 0xf4, 0xb3, 0xb7, 0xf9, 0x35, 0xe8, 0xdf, 0xa8, 0x37, + 0x51, 0x1b, 0xaf, 0x04, 0xf8, 0x03, 0x55, 0x99, 0x1f, 0xe6, 0xd0, 0x21, 0x4e, 0xa3, 0xca, 0x09, + 0xb4, 0x45, 0x3d, 0x0d, 0xc9, 0xa2, 0xe9, 0x9a, 0x44, 0x83, 0x61, 0xaf, 0xbe, 0x9a, 0xae, 0x99, + 0x39, 0x0d, 0xc3, 0x2b, 0xbb, 0xe4, 0x7a, 0x51, 0x8d, 0xdc, 0x2c, 0x11, 0xbb, 0x3f, 0xde, 0xaf, + 0x9e, 0x9a, 0xeb, 0x4f, 0xd5, 0xb4, 0x1b, 0x4a, 0x36, 0x49, 0xf4, 0x79, 0x02, 0x46, 0x57, 0xb1, + 0xda, 0x04, 0x27, 0xc0, 0xe8, 0xd3, 0x55, 0x6f, 0xf2, 0x52, 0x53, 0xa6, 0xfa, 0x4d, 0xd9, 0x51, + 0x50, 0x56, 0xc4, 0xd6, 0x29, 0xa8, 0x87, 0xa1, 0xac, 0xcc, 0x25, 0x53, 0xa3, 0xda, 0xf8, 0x5c, + 0x32, 0x05, 0xda, 0x08, 0x7b, 0xee, 0xdf, 0xaa, 0xa0, 0xd1, 0x56, 0xa7, 0x88, 0xb6, 0xea, 0x56, + 0xdd, 0xed, 0xee, 0x57, 0x3d, 0x8d, 0xf5, 0x87, 0x60, 0x10, 0x9b, 0xf4, 0x12, 0xfb, 0xa1, 0x3f, + 0x6c, 0xfa, 0x63, 0xac, 0x45, 0x91, 0x44, 0xb0, 0x01, 0x12, 0x3a, 0x3e, 0x46, 0xbf, 0x04, 0x6a, + 0xb9, 0xbc, 0xc2, 0x16, 0xb7, 0xa5, 0x3d, 0xa1, 0xec, 0x0a, 0x0f, 0xfb, 0xc6, 0xc6, 0x9c, 0x6d, + 0x03, 0x0b, 0xd0, 0x97, 0x20, 0x51, 0x5e, 0x61, 0x0d, 0xef, 0xf1, 0x38, 0x62, 0x8c, 0x44, 0x79, + 0x65, 0xea, 0xaf, 0x14, 0x18, 0x11, 0x46, 0xf5, 0x0c, 0x0c, 0xd3, 0x81, 0xc0, 0x74, 0x07, 0x0c, + 0x61, 0x8c, 0xeb, 0x9c, 0xb8, 0x45, 0x9d, 0xa7, 0x72, 0x30, 0x26, 0x8d, 0xeb, 0xf3, 0xa0, 0x07, + 0x87, 0x98, 0x12, 0xf4, 0x47, 0xc6, 0x42, 0x28, 0x99, 0x3b, 0x00, 0x7c, 0xbb, 0x7a, 0xbf, 0x8d, + 0x55, 0x2e, 0xad, 0x6f, 0x94, 0x8a, 0x9a, 0x92, 0xf9, 0x9a, 0x02, 0x43, 0xac, 0x6d, 0xad, 0xda, + 0x2d, 0xa4, 0xe7, 0x41, 0xc9, 0xb1, 0x78, 0x78, 0x63, 0x7a, 0x2b, 0x39, 0xfd, 0x24, 0x28, 0xf9, + 0xf8, 0xae, 0x56, 0xf2, 0xfa, 0x22, 0x28, 0x05, 0xe6, 0xe0, 0x78, 0x9e, 0x51, 0x0a, 0x99, 0x1f, + 0xab, 0x30, 0x11, 0x6c, 0xa3, 0x79, 0x3d, 0x39, 0x26, 0xbe, 0x37, 0x65, 0x07, 0x4f, 0x2d, 0x9e, + 0x5e, 0x9a, 0xc7, 0xff, 0x78, 0x21, 0x99, 0x11, 0x5f, 0xa1, 0xb2, 0xe0, 0xb1, 0x9c, 0xea, 0x75, + 0x4f, 0x24, 0x9b, 0x0c, 0x48, 0xe8, 0xba, 0x27, 0x22, 0x50, 0xbb, 0xee, 0x89, 0x08, 0xd4, 0xae, + 0x7b, 0x22, 0x02, 0xb5, 0xeb, 0x2c, 0x40, 0xa0, 0x76, 0xdd, 0x13, 0x11, 0xa8, 0x5d, 0xf7, 0x44, + 0x04, 0x6a, 0xf7, 0x3d, 0x11, 0x46, 0xee, 0x79, 0x4f, 0x44, 0xa4, 0x77, 0xdf, 0x13, 0x11, 0xe9, + 0xdd, 0xf7, 0x44, 0xb2, 0x49, 0xb7, 0xdd, 0x41, 0xbd, 0x4f, 0x1d, 0x44, 0xfc, 0x5e, 0x2f, 0x81, + 0x7e, 0x05, 0x5e, 0x85, 0x31, 0xba, 0x21, 0x51, 0xb0, 0x2d, 0xd7, 0xac, 0x5b, 0xa8, 0xad, 0xbf, + 0x03, 0x86, 0xe9, 0x10, 0x7d, 0xcd, 0x09, 0x7b, 0x0d, 0xa4, 0x74, 0x56, 0x6f, 0x05, 0xee, 0xcc, + 0x4f, 0x93, 0x30, 0x49, 0x07, 0xca, 0x66, 0x13, 0x09, 0xb7, 0x8c, 0x4e, 0x48, 0x67, 0x4a, 0xa3, + 0x18, 0x7e, 0xf3, 0xa5, 0x19, 0x3a, 0x9a, 0xf3, 0xa2, 0xe9, 0x84, 0x74, 0xba, 0x24, 0xf2, 0xf9, + 0x0b, 0xd0, 0x09, 0xe9, 0xe6, 0x91, 0xc8, 0xe7, 0xad, 0x37, 0x1e, 0x1f, 0xbf, 0x83, 0x24, 0xf2, + 0x15, 0xbd, 0x28, 0x3b, 0x21, 0xdd, 0x46, 0x12, 0xf9, 0x4a, 0x5e, 0xbc, 0x9d, 0x90, 0xce, 0x9e, + 0x44, 0xbe, 0x4b, 0x5e, 0xe4, 0x9d, 0x90, 0x4e, 0xa1, 0x44, 0xbe, 0xcb, 0x5e, 0x0c, 0x9e, 0x90, + 0xee, 0x2a, 0x89, 0x7c, 0x0f, 0x7b, 0xd1, 0x78, 0x42, 0xba, 0xb5, 0x24, 0xf2, 0x2d, 0x7b, 0x71, + 0x39, 0x2b, 0xdf, 0x5f, 0x12, 0x19, 0xaf, 0xf8, 0x11, 0x3a, 0x2b, 0xdf, 0x64, 0x12, 0x39, 0xdf, + 0xe9, 0xc7, 0xea, 0xac, 0x7c, 0xa7, 0x49, 0xe4, 0xbc, 0xea, 0x47, 0xed, 0xac, 0x7c, 0x56, 0x26, + 0x72, 0xae, 0xf8, 0xf1, 0x3b, 0x2b, 0x9f, 0x9a, 0x89, 0x9c, 0x65, 0x3f, 0x92, 0x67, 0xe5, 0xf3, + 0x33, 0x91, 0x73, 0xd5, 0xdf, 0x44, 0xff, 0xb6, 0x14, 0x7e, 0x81, 0x5b, 0x50, 0x19, 0x29, 0xfc, + 0x20, 0x24, 0xf4, 0xa4, 0x42, 0x16, 0xe0, 0xf1, 0xc3, 0x2e, 0x23, 0x85, 0x1d, 0x84, 0x84, 0x5c, + 0x46, 0x0a, 0x39, 0x08, 0x09, 0xb7, 0x8c, 0x14, 0x6e, 0x10, 0x12, 0x6a, 0x19, 0x29, 0xd4, 0x20, + 0x24, 0xcc, 0x32, 0x52, 0x98, 0x41, 0x48, 0x88, 0x65, 0xa4, 0x10, 0x83, 0x90, 0xf0, 0xca, 0x48, + 0xe1, 0x05, 0x21, 0xa1, 0x75, 0x5c, 0x0e, 0x2d, 0x08, 0x0b, 0xab, 0xe3, 0x72, 0x58, 0x41, 0x58, + 0x48, 0xdd, 0x29, 0x87, 0xd4, 0xe0, 0xcd, 0x97, 0x66, 0xfa, 0xf1, 0x50, 0x20, 0x9a, 0x8e, 0xcb, + 0xd1, 0x04, 0x61, 0x91, 0x74, 0x5c, 0x8e, 0x24, 0x08, 0x8b, 0xa2, 0xe3, 0x72, 0x14, 0x41, 0x58, + 0x04, 0xbd, 0x20, 0x47, 0x90, 0x7f, 0xc7, 0x27, 0x23, 0x1d, 0x29, 0x46, 0x45, 0x90, 0x1a, 0x23, + 0x82, 0xd4, 0x18, 0x11, 0xa4, 0xc6, 0x88, 0x20, 0x35, 0x46, 0x04, 0xa9, 0x31, 0x22, 0x48, 0x8d, + 0x11, 0x41, 0x6a, 0x8c, 0x08, 0x52, 0xe3, 0x44, 0x90, 0x1a, 0x2b, 0x82, 0xd4, 0x5e, 0x11, 0x74, + 0x5c, 0xbe, 0xf1, 0x00, 0x61, 0x05, 0xe9, 0xb8, 0x7c, 0xf4, 0x19, 0x1d, 0x42, 0x6a, 0xac, 0x10, + 0x52, 0x7b, 0x85, 0xd0, 0xb7, 0x55, 0x98, 0x10, 0x42, 0x88, 0x9d, 0x0f, 0xbd, 0x59, 0x15, 0xe8, + 0x6c, 0x8c, 0x0b, 0x16, 0x61, 0x31, 0x75, 0x36, 0xc6, 0x21, 0xf5, 0x5e, 0x71, 0xd6, 0x5d, 0x85, + 0x4a, 0x31, 0xaa, 0xd0, 0x25, 0x2f, 0x86, 0xce, 0xc6, 0xb8, 0x78, 0xd1, 0x1d, 0x7b, 0xe7, 0xf7, + 0x2a, 0x02, 0x0f, 0xc7, 0x2a, 0x02, 0xcb, 0xb1, 0x8a, 0xc0, 0x15, 0xdf, 0x83, 0x1f, 0x4c, 0xc0, + 0x41, 0xdf, 0x83, 0xf4, 0x13, 0xf9, 0xbd, 0xac, 0x4c, 0xe0, 0x88, 0x4a, 0xe7, 0xc7, 0x36, 0x01, + 0x37, 0x26, 0x96, 0x6b, 0xfa, 0x9a, 0x78, 0x58, 0x95, 0xdd, 0xef, 0x01, 0x4e, 0xc0, 0xe3, 0x6c, + 0x33, 0xf4, 0x38, 0xa8, 0xcb, 0x35, 0x87, 0x54, 0x8b, 0xb0, 0xc7, 0x16, 0x0c, 0x4c, 0xd6, 0x0d, + 0x18, 0x20, 0xec, 0x0e, 0x71, 0xef, 0xad, 0x3c, 0xb8, 0x68, 0x30, 0x49, 0x99, 0x17, 0x14, 0x38, + 0x2a, 0x84, 0xf2, 0x9b, 0x73, 0x64, 0x70, 0x31, 0xd6, 0x91, 0x81, 0x90, 0x20, 0xfe, 0xf1, 0xc1, + 0xdd, 0xdd, 0x27, 0xd5, 0xc1, 0x2c, 0x91, 0x8f, 0x12, 0xfe, 0x1f, 0x8c, 0xfa, 0x33, 0x20, 0xef, + 0x6c, 0x67, 0xa2, 0x77, 0x33, 0xc3, 0x52, 0xf3, 0x8c, 0xb4, 0x8b, 0xb6, 0x27, 0xcc, 0xcb, 0xd6, + 0x4c, 0x16, 0xc6, 0xca, 0xe2, 0x1f, 0x3a, 0x45, 0x6d, 0x46, 0xa4, 0x70, 0x6b, 0x7e, 0xe3, 0xd3, + 0x33, 0x7d, 0x99, 0xfb, 0x60, 0x38, 0xf8, 0xb7, 0x4c, 0x12, 0x70, 0x90, 0x03, 0xb3, 0xc9, 0x17, + 0x31, 0xf7, 0xef, 0x2a, 0x70, 0x28, 0xc8, 0xfe, 0x48, 0xdd, 0xdd, 0x59, 0xb6, 0x70, 0x4f, 0xff, + 0x00, 0xa4, 0x10, 0x73, 0x1c, 0xfb, 0xe9, 0x1b, 0xf6, 0x1e, 0x19, 0xca, 0x3e, 0x4f, 0xfe, 0x35, + 0x3c, 0x88, 0xb4, 0x0b, 0xc2, 0x1f, 0xbb, 0x38, 0x75, 0x17, 0xf4, 0x53, 0xf9, 0xa2, 0x5e, 0x23, + 0x92, 0x5e, 0x9f, 0x0b, 0xd1, 0x8b, 0xc4, 0x91, 0x7e, 0x45, 0xd0, 0x2b, 0xf0, 0xba, 0x1a, 0xca, + 0x3e, 0xcf, 0x83, 0x2f, 0x9f, 0xc2, 0xfd, 0x1f, 0x89, 0xa8, 0x68, 0x25, 0x67, 0x21, 0x55, 0x92, + 0x79, 0xc2, 0xf5, 0x2c, 0x42, 0xb2, 0x6c, 0xd7, 0xc8, 0x8f, 0xf2, 0x90, 0x9f, 0xb7, 0x66, 0x46, + 0x66, 0xbf, 0x75, 0x7d, 0x02, 0x52, 0x85, 0x9d, 0x7a, 0xa3, 0xd6, 0x46, 0x16, 0x3b, 0xb3, 0x67, + 0x5b, 0xe8, 0x18, 0x63, 0x78, 0xb4, 0x4c, 0x01, 0xc6, 0xcb, 0xb6, 0x95, 0xdf, 0x75, 0x83, 0x75, + 0x63, 0x5e, 0x4a, 0x11, 0x76, 0xe6, 0x43, 0xfe, 0xf6, 0x03, 0x33, 0xe4, 0xfb, 0xbf, 0xf7, 0xd2, + 0x8c, 0xb2, 0xe1, 0xed, 0x9f, 0xaf, 0xc0, 0x61, 0x96, 0x3e, 0x5d, 0xa2, 0x16, 0xa3, 0x44, 0x0d, + 0xb2, 0x73, 0xea, 0x80, 0xb8, 0x65, 0x2c, 0xce, 0x0a, 0x15, 0xf7, 0xc6, 0x34, 0xc3, 0x4d, 0xd1, + 0x9e, 0x9a, 0xa9, 0xfb, 0xd2, 0x2c, 0x54, 0xdc, 0x7c, 0x94, 0x38, 0x49, 0xb3, 0x3b, 0x61, 0xd0, + 0xa3, 0x05, 0xa2, 0x21, 0x98, 0x29, 0x8b, 0x73, 0x19, 0x18, 0x0a, 0x24, 0xac, 0xde, 0x0f, 0x4a, + 0x4e, 0xeb, 0xc3, 0xff, 0xe5, 0x35, 0x05, 0xff, 0x57, 0xd0, 0x12, 0x73, 0x77, 0xc1, 0x98, 0xb4, + 0x7f, 0x89, 0x29, 0x45, 0x0d, 0xf0, 0x7f, 0x25, 0x6d, 0x68, 0x2a, 0xf9, 0xa1, 0xcf, 0x4e, 0xf7, + 0xcd, 0x5d, 0x04, 0xbd, 0x7b, 0xa7, 0x53, 0x1f, 0x80, 0x44, 0x0e, 0x8b, 0x3c, 0x0c, 0x89, 0x7c, + 0x5e, 0x53, 0xa6, 0xc6, 0x7e, 0xf9, 0x93, 0x47, 0x87, 0xf2, 0xe4, 0x0f, 0xb5, 0xaf, 0x21, 0x37, + 0x9f, 0x67, 0xe0, 0x07, 0xe1, 0x50, 0xe8, 0x4e, 0x29, 0xc6, 0x17, 0x0a, 0x14, 0x5f, 0x2c, 0x76, + 0xe1, 0x8b, 0x45, 0x82, 0x57, 0xb2, 0xfc, 0xc4, 0x39, 0xa7, 0x87, 0xec, 0x32, 0xa6, 0x6b, 0x81, + 0x13, 0xee, 0x5c, 0xf6, 0x41, 0xc6, 0x9b, 0x0f, 0xe5, 0x45, 0x11, 0x27, 0xd6, 0xf9, 0x6c, 0x81, + 0xe1, 0x0b, 0xa1, 0xf8, 0x2d, 0xe9, 0x58, 0x55, 0x5c, 0x21, 0x98, 0x90, 0x82, 0xa7, 0x70, 0x31, + 0x54, 0xc8, 0x4e, 0xe0, 0xb2, 0x7b, 0xd1, 0x53, 0xb8, 0x14, 0xca, 0x5b, 0x8f, 0xb8, 0xf4, 0x55, + 0xca, 0x9e, 0x64, 0x8b, 0x7c, 0xee, 0x94, 0x7e, 0x88, 0xe7, 0xa8, 0x50, 0x81, 0x99, 0x81, 0x38, + 0x57, 0xb6, 0xc0, 0x00, 0xf9, 0x9e, 0x80, 0xde, 0x56, 0xe2, 0xc8, 0xec, 0xc3, 0x4c, 0x48, 0xa1, + 0xa7, 0x90, 0x08, 0x53, 0x71, 0x78, 0x7e, 0xe3, 0xc6, 0xcb, 0xd3, 0x7d, 0x2f, 0xbe, 0x3c, 0xdd, + 0xf7, 0x0f, 0x2f, 0x4f, 0xf7, 0x7d, 0xff, 0xe5, 0x69, 0xe5, 0x87, 0x2f, 0x4f, 0x2b, 0x3f, 0x7a, + 0x79, 0x5a, 0xf9, 0xc9, 0xcb, 0xd3, 0xca, 0x33, 0x37, 0xa7, 0x95, 0xe7, 0x6f, 0x4e, 0x2b, 0x5f, + 0xbe, 0x39, 0xad, 0x7c, 0xfd, 0xe6, 0xb4, 0xf2, 0xc2, 0xcd, 0x69, 0xe5, 0xc6, 0xcd, 0xe9, 0xbe, + 0x17, 0x6f, 0x4e, 0xf7, 0x7d, 0xff, 0xe6, 0xb4, 0xf2, 0xc3, 0x9b, 0xd3, 0x7d, 0x3f, 0xba, 0x39, + 0xad, 0xfc, 0xe4, 0xe6, 0x74, 0xdf, 0x33, 0xaf, 0x4c, 0xf7, 0x3d, 0xf7, 0xca, 0x74, 0xdf, 0xf3, + 0xaf, 0x4c, 0x2b, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x5b, 0x10, 0x73, 0x27, 0x32, 0x69, 0x00, + 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -26881,201 +27103,3 @@ func (this *CustomNameNinEmbeddedStructUnion) SetValue(value interface{}) bool { } return true } - -func init() { proto.RegisterFile("thetest.proto", fileDescriptor_thetest_14aea7c379120fb7) } - -var fileDescriptor_thetest_14aea7c379120fb7 = []byte{ - // 3070 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, - 0xf5, 0xe7, 0xec, 0x50, 0x0a, 0xf5, 0xf4, 0x45, 0x6f, 0x62, 0x65, 0xc1, 0xe8, 0xbf, 0xa2, 0x37, - 0xb2, 0xfe, 0x0c, 0x11, 0x4b, 0x14, 0x45, 0xc9, 0x32, 0xd3, 0xa4, 0xe0, 0x97, 0x1b, 0xb9, 0x11, - 0x65, 0x30, 0x72, 0x5b, 0x03, 0x05, 0x0a, 0x5a, 0x5c, 0x4b, 0x44, 0xe5, 0xa5, 0x40, 0xae, 0xd2, - 0xb8, 0x87, 0x22, 0xc8, 0xa1, 0x08, 0x7a, 0x2d, 0x7a, 0x6c, 0xe3, 0xa2, 0x28, 0x90, 0xde, 0x72, - 0x28, 0x8a, 0xa2, 0x28, 0x1a, 0x5f, 0x0a, 0xa8, 0x37, 0xa3, 0xa7, 0x22, 0x28, 0x84, 0x88, 0xb9, - 0xe4, 0x18, 0xf4, 0xd2, 0x1c, 0x72, 0x28, 0x76, 0x77, 0x76, 0x76, 0x66, 0xb8, 0xcb, 0x5d, 0x5a, - 0x4a, 0x9b, 0x8b, 0x2d, 0xce, 0x7b, 0x6f, 0xe6, 0xed, 0xfb, 0xfd, 0xde, 0xdb, 0xb7, 0x33, 0x03, - 0xd3, 0xe6, 0x81, 0x6e, 0xea, 0x3d, 0x73, 0xf9, 0xa8, 0xdb, 0x31, 0x3b, 0x72, 0xdc, 0xfa, 0x3b, - 0x75, 0x6d, 0xbf, 0x6d, 0x1e, 0x1c, 0xdf, 0x5b, 0xde, 0xeb, 0x3c, 0x58, 0xd9, 0xef, 0xec, 0x77, - 0x56, 0x6c, 0xe1, 0xbd, 0xe3, 0xfb, 0xf6, 0x2f, 0xfb, 0x87, 0xfd, 0x97, 0x63, 0xa4, 0xfd, 0x13, - 0xc3, 0x54, 0xbd, 0xdd, 0xda, 0x39, 0x32, 0xeb, 0x4d, 0xb3, 0xfd, 0x96, 0x2e, 0xcf, 0xc3, 0xf8, - 0xcd, 0xb6, 0x7e, 0xd8, 0x5a, 0x55, 0x50, 0x1a, 0x65, 0x50, 0x39, 0x7e, 0x72, 0xba, 0x10, 0x6b, - 0x90, 0x31, 0x2a, 0xcd, 0x2b, 0x52, 0x1a, 0x65, 0x24, 0x4e, 0x9a, 0xa7, 0xd2, 0x35, 0x05, 0xa7, - 0x51, 0x66, 0x8c, 0x93, 0xae, 0x51, 0x69, 0x41, 0x89, 0xa7, 0x51, 0x06, 0x73, 0xd2, 0x02, 0x95, - 0xae, 0x2b, 0x63, 0x69, 0x94, 0x99, 0xe6, 0xa4, 0xeb, 0x54, 0xba, 0xa1, 0x8c, 0xa7, 0x51, 0x26, - 0xce, 0x49, 0x37, 0xa8, 0xf4, 0xba, 0xf2, 0x4c, 0x1a, 0x65, 0x2e, 0x71, 0xd2, 0xeb, 0x54, 0xba, - 0xa9, 0x24, 0xd2, 0x28, 0x23, 0x73, 0xd2, 0x4d, 0x2a, 0xbd, 0xa1, 0x4c, 0xa4, 0x51, 0xe6, 0x19, - 0x4e, 0x7a, 0x43, 0x56, 0xe1, 0x19, 0xe7, 0xc9, 0x73, 0x0a, 0xa4, 0x51, 0x66, 0x96, 0x88, 0xdd, - 0x41, 0x4f, 0xbe, 0xaa, 0x4c, 0xa6, 0x51, 0x66, 0x9c, 0x97, 0xaf, 0x7a, 0xf2, 0xbc, 0x32, 0x95, - 0x46, 0x99, 0x24, 0x2f, 0xcf, 0x7b, 0xf2, 0x35, 0x65, 0x3a, 0x8d, 0x32, 0x09, 0x5e, 0xbe, 0xe6, - 0xc9, 0x0b, 0xca, 0x4c, 0x1a, 0x65, 0x26, 0x78, 0x79, 0xc1, 0x93, 0xaf, 0x2b, 0xb3, 0x69, 0x94, - 0x99, 0xe2, 0xe5, 0xeb, 0xda, 0xbb, 0x36, 0xbc, 0x86, 0x07, 0xef, 0x1c, 0x0f, 0x2f, 0x05, 0x76, - 0x8e, 0x07, 0x96, 0x42, 0x3a, 0xc7, 0x43, 0x4a, 0xc1, 0x9c, 0xe3, 0xc1, 0xa4, 0x30, 0xce, 0xf1, - 0x30, 0x52, 0x00, 0xe7, 0x78, 0x00, 0x29, 0x74, 0x73, 0x3c, 0x74, 0x14, 0xb4, 0x39, 0x1e, 0x34, - 0x0a, 0xd7, 0x1c, 0x0f, 0x17, 0x05, 0x4a, 0x11, 0x80, 0xf2, 0x20, 0x52, 0x04, 0x88, 0x3c, 0x70, - 0x14, 0x01, 0x1c, 0x0f, 0x16, 0x45, 0x80, 0xc5, 0x03, 0x44, 0x11, 0x00, 0xf1, 0xa0, 0x50, 0x04, - 0x28, 0x3c, 0x10, 0x48, 0x8e, 0x35, 0xf4, 0x23, 0x9f, 0x1c, 0xc3, 0x43, 0x73, 0x0c, 0x0f, 0xcd, - 0x31, 0x3c, 0x34, 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0x43, 0x73, 0x0c, 0x0f, 0xcd, 0x31, 0x3c, 0x34, - 0xc7, 0xf0, 0xd0, 0x1c, 0xc3, 0xc3, 0x73, 0x0c, 0x87, 0xe4, 0x18, 0x0e, 0xc9, 0x31, 0x1c, 0x92, - 0x63, 0x38, 0x24, 0xc7, 0x70, 0x48, 0x8e, 0xe1, 0xc0, 0x1c, 0xf3, 0xe0, 0x9d, 0xe3, 0xe1, 0xf5, - 0xcd, 0x31, 0x1c, 0x90, 0x63, 0x38, 0x20, 0xc7, 0x70, 0x40, 0x8e, 0xe1, 0x80, 0x1c, 0xc3, 0x01, - 0x39, 0x86, 0x03, 0x72, 0x0c, 0x07, 0xe4, 0x18, 0x0e, 0xca, 0x31, 0x1c, 0x98, 0x63, 0x38, 0x30, - 0xc7, 0x70, 0x60, 0x8e, 0xe1, 0xc0, 0x1c, 0xc3, 0x81, 0x39, 0x86, 0xd9, 0x1c, 0xfb, 0x33, 0x06, - 0xd9, 0xc9, 0xb1, 0xdb, 0xcd, 0xbd, 0x1f, 0xea, 0x2d, 0x02, 0x85, 0x2a, 0x64, 0xda, 0xb8, 0x05, - 0x5d, 0xd2, 0x83, 0x44, 0x15, 0x72, 0x8d, 0x97, 0xe7, 0xa9, 0xdc, 0xcd, 0x36, 0x5e, 0xbe, 0x46, - 0xe5, 0x6e, 0xbe, 0xf1, 0xf2, 0x02, 0x95, 0xbb, 0x19, 0xc7, 0xcb, 0xd7, 0xa9, 0xdc, 0xcd, 0x39, - 0x5e, 0xbe, 0x41, 0xe5, 0x6e, 0xd6, 0xf1, 0xf2, 0xeb, 0x54, 0xee, 0xe6, 0x1d, 0x2f, 0xdf, 0xa4, - 0x72, 0x37, 0xf3, 0x78, 0xf9, 0x0d, 0x39, 0x2d, 0xe6, 0x9e, 0xab, 0x40, 0xa1, 0x4d, 0x8b, 0xd9, - 0x27, 0x68, 0xac, 0x7a, 0x1a, 0x6e, 0xfe, 0x09, 0x1a, 0x79, 0x4f, 0xc3, 0xcd, 0x40, 0x41, 0x63, - 0x4d, 0x7b, 0xcf, 0x86, 0xcf, 0x10, 0xe1, 0x4b, 0x09, 0xf0, 0x49, 0x0c, 0x74, 0x29, 0x01, 0x3a, - 0x89, 0x81, 0x2d, 0x25, 0xc0, 0x26, 0x31, 0x90, 0xa5, 0x04, 0xc8, 0x24, 0x06, 0xae, 0x94, 0x00, - 0x97, 0xc4, 0x40, 0x95, 0x12, 0xa0, 0x92, 0x18, 0x98, 0x52, 0x02, 0x4c, 0x12, 0x03, 0x51, 0x4a, - 0x80, 0x48, 0x62, 0xe0, 0x49, 0x09, 0xf0, 0x48, 0x0c, 0x34, 0xf3, 0x22, 0x34, 0x12, 0x0b, 0xcb, - 0xbc, 0x08, 0x8b, 0xc4, 0x42, 0x32, 0x2f, 0x42, 0x22, 0xb1, 0x70, 0xcc, 0x8b, 0x70, 0x48, 0x2c, - 0x14, 0x5f, 0x4a, 0x6e, 0x47, 0xf8, 0xa6, 0xd9, 0x3d, 0xde, 0x33, 0xcf, 0xd5, 0x11, 0xe6, 0xb8, - 0xf6, 0x61, 0x32, 0x2f, 0x2f, 0xdb, 0x0d, 0x2b, 0xdb, 0x71, 0x0a, 0x6f, 0xb0, 0x1c, 0xd7, 0x58, - 0x30, 0x16, 0x86, 0xbf, 0x45, 0xe1, 0x5c, 0xbd, 0x61, 0x8e, 0x6b, 0x33, 0xc2, 0xfd, 0xdb, 0xfc, - 0xca, 0x3b, 0xb6, 0xc7, 0x92, 0xdb, 0xb1, 0x91, 0xf0, 0x8f, 0xda, 0xb1, 0x65, 0xc3, 0x43, 0x4e, - 0x83, 0x9d, 0x0d, 0x0f, 0xf6, 0xc0, 0x5b, 0x27, 0x6a, 0x07, 0x97, 0x0d, 0x0f, 0x2d, 0x0d, 0xea, - 0xc5, 0xf6, 0x5b, 0x84, 0xc1, 0x0d, 0xfd, 0xc8, 0x87, 0xc1, 0xa3, 0xf6, 0x5b, 0x39, 0xae, 0x94, - 0x8c, 0xca, 0x60, 0x3c, 0x32, 0x83, 0x47, 0xed, 0xbc, 0x72, 0x5c, 0x79, 0x19, 0x99, 0xc1, 0x5f, - 0x41, 0x3f, 0x44, 0x18, 0xec, 0x85, 0x7f, 0xd4, 0x7e, 0x28, 0x1b, 0x1e, 0x72, 0x5f, 0x06, 0xe3, - 0x11, 0x18, 0x1c, 0xa5, 0x3f, 0xca, 0x86, 0x87, 0xd6, 0x9f, 0xc1, 0xe7, 0xee, 0x66, 0xde, 0x47, - 0x70, 0xa9, 0xde, 0x6e, 0xd5, 0x1e, 0xdc, 0xd3, 0x5b, 0x2d, 0xbd, 0x45, 0xe2, 0x98, 0xe3, 0x2a, - 0x41, 0x00, 0xd4, 0x4f, 0x4e, 0x17, 0xbc, 0x08, 0xaf, 0x43, 0xc2, 0x89, 0x69, 0x2e, 0xa7, 0x9c, - 0xa0, 0x90, 0x0a, 0x47, 0x55, 0xe5, 0x2b, 0xae, 0xd9, 0x6a, 0x4e, 0xf9, 0x3b, 0x62, 0xaa, 0x1c, - 0x1d, 0xd6, 0x7e, 0x6e, 0x7b, 0x68, 0x9c, 0xdb, 0xc3, 0x95, 0x48, 0x1e, 0x32, 0xbe, 0xbd, 0x30, - 0xe0, 0x1b, 0xe3, 0xd5, 0x31, 0xcc, 0xd6, 0xdb, 0xad, 0xba, 0xde, 0x33, 0xa3, 0xb9, 0xe4, 0xe8, - 0x08, 0xf5, 0x20, 0xc7, 0xd1, 0x92, 0xb5, 0xa0, 0x94, 0xe6, 0x6b, 0x84, 0xd6, 0xb6, 0x96, 0x35, - 0xb8, 0x65, 0xb3, 0x41, 0xcb, 0x7a, 0x95, 0x9d, 0x2e, 0x98, 0x0d, 0x5a, 0xd0, 0xcb, 0x21, 0xba, - 0xd4, 0xdb, 0xee, 0xcb, 0xb9, 0x72, 0xdc, 0x33, 0x3b, 0x0f, 0xe4, 0x79, 0x90, 0xb6, 0x5a, 0xf6, - 0x1a, 0x53, 0xe5, 0x29, 0xcb, 0xa9, 0x8f, 0x4f, 0x17, 0xe2, 0x77, 0x8e, 0xdb, 0xad, 0x86, 0xb4, - 0xd5, 0x92, 0x6f, 0xc1, 0xd8, 0x77, 0x9a, 0x87, 0xc7, 0xba, 0xfd, 0x8a, 0x98, 0x2a, 0x17, 0x88, - 0xc2, 0xcb, 0x81, 0x7b, 0x44, 0xd6, 0xc2, 0x2b, 0x7b, 0xf6, 0xd4, 0xcb, 0x77, 0xda, 0x86, 0xb9, - 0x9a, 0xdf, 0x6c, 0x38, 0x53, 0x68, 0xdf, 0x07, 0x70, 0xd6, 0xac, 0x36, 0x7b, 0x07, 0x72, 0xdd, - 0x9d, 0xd9, 0x59, 0x7a, 0xf3, 0xe3, 0xd3, 0x85, 0x42, 0x94, 0x59, 0xaf, 0xb5, 0x9a, 0xbd, 0x83, - 0x6b, 0xe6, 0xc3, 0x23, 0x7d, 0xb9, 0xfc, 0xd0, 0xd4, 0x7b, 0xee, 0xec, 0x47, 0xee, 0x5b, 0x8f, - 0x3c, 0x97, 0xc2, 0x3c, 0x57, 0x82, 0x7b, 0xa6, 0x9b, 0xfc, 0x33, 0xe5, 0x9e, 0xf6, 0x79, 0xde, - 0x76, 0x5f, 0x12, 0x42, 0x24, 0x71, 0x58, 0x24, 0xf1, 0x79, 0x23, 0x79, 0xe4, 0xd6, 0x47, 0xe1, - 0x59, 0xf1, 0xb0, 0x67, 0xc5, 0xe7, 0x79, 0xd6, 0x7f, 0x3b, 0xd9, 0x4a, 0xf3, 0xe9, 0x8e, 0xd1, - 0xee, 0x18, 0x5f, 0xbb, 0xbd, 0xa0, 0x0b, 0xed, 0x02, 0x8a, 0xf1, 0x93, 0x47, 0x0b, 0x48, 0x7b, - 0x5f, 0x72, 0x9f, 0xdc, 0x49, 0xa4, 0xa7, 0x7b, 0xf2, 0xaf, 0x4b, 0x4f, 0xf5, 0x55, 0x44, 0xe8, - 0x57, 0x08, 0xe6, 0x06, 0x2a, 0xb9, 0x13, 0xa6, 0x8b, 0x2d, 0xe7, 0xc6, 0xa8, 0xe5, 0x9c, 0x38, - 0xf8, 0x7b, 0x04, 0xcf, 0x09, 0xe5, 0xd5, 0x71, 0x6f, 0x45, 0x70, 0xef, 0xf9, 0xc1, 0x95, 0x6c, - 0x45, 0xc6, 0x3b, 0x16, 0x5e, 0xc1, 0x80, 0x99, 0x99, 0xe2, 0x5e, 0x10, 0x70, 0x9f, 0xa7, 0x06, - 0x3e, 0xe1, 0x72, 0x19, 0x40, 0xdc, 0xee, 0x40, 0x7c, 0xb7, 0xab, 0xeb, 0xb2, 0x0a, 0xd2, 0x4e, - 0x97, 0x78, 0x38, 0xe3, 0xd8, 0xef, 0x74, 0xcb, 0xdd, 0xa6, 0xb1, 0x77, 0xd0, 0x90, 0x76, 0xba, - 0xf2, 0x15, 0xc0, 0x25, 0xa3, 0x45, 0x3c, 0x9a, 0x75, 0x14, 0x4a, 0x46, 0x8b, 0x68, 0x58, 0x32, - 0x59, 0x85, 0xf8, 0x1b, 0x7a, 0xf3, 0x3e, 0x71, 0x02, 0x1c, 0x1d, 0x6b, 0xa4, 0x61, 0x8f, 0x93, - 0x05, 0xbf, 0x07, 0x09, 0x77, 0x62, 0x79, 0xd1, 0xb2, 0xb8, 0x6f, 0x92, 0x65, 0x89, 0x85, 0xe5, - 0x0e, 0x79, 0x73, 0xd9, 0x52, 0x79, 0x09, 0xc6, 0x1a, 0xed, 0xfd, 0x03, 0x93, 0x2c, 0x3e, 0xa8, - 0xe6, 0x88, 0xb5, 0xbb, 0x30, 0x41, 0x3d, 0xba, 0xe0, 0xa9, 0xab, 0xce, 0xa3, 0xc9, 0x29, 0xf6, - 0x7d, 0xe2, 0xee, 0x5b, 0x3a, 0x43, 0x72, 0x1a, 0x12, 0x6f, 0x9a, 0x5d, 0xaf, 0xe8, 0xbb, 0x1d, - 0x29, 0x1d, 0xd5, 0xde, 0x45, 0x90, 0xa8, 0xea, 0xfa, 0x91, 0x1d, 0xf0, 0xab, 0x10, 0xaf, 0x76, - 0x7e, 0x64, 0x10, 0x07, 0x2f, 0x91, 0x88, 0x5a, 0x62, 0x12, 0x53, 0x5b, 0x2c, 0x5f, 0x65, 0xe3, - 0xfe, 0x2c, 0x8d, 0x3b, 0xa3, 0x67, 0xc7, 0x5e, 0xe3, 0x62, 0x4f, 0x00, 0xb4, 0x94, 0x06, 0xe2, - 0x7f, 0x1d, 0x26, 0x99, 0x55, 0xe4, 0x0c, 0x71, 0x43, 0x12, 0x0d, 0xd9, 0x58, 0x59, 0x1a, 0x9a, - 0x0e, 0xd3, 0xdc, 0xc2, 0x96, 0x29, 0x13, 0xe2, 0x00, 0x53, 0x3b, 0xcc, 0x59, 0x3e, 0xcc, 0xfe, - 0xaa, 0x24, 0xd4, 0x39, 0x27, 0x46, 0x76, 0xb8, 0x17, 0x1d, 0x72, 0x06, 0x83, 0x68, 0xfd, 0xad, - 0x8d, 0x01, 0xae, 0xb7, 0x0f, 0xb5, 0x57, 0x01, 0x9c, 0x94, 0xaf, 0x19, 0xc7, 0x0f, 0x84, 0xac, - 0x9b, 0x71, 0x03, 0xbc, 0x7b, 0xa0, 0xef, 0xea, 0x3d, 0x5b, 0x85, 0xef, 0xa7, 0xac, 0x02, 0x03, - 0x4e, 0x8a, 0xd9, 0xf6, 0x2f, 0x85, 0xda, 0xfb, 0x76, 0x62, 0x96, 0xaa, 0xe2, 0xa8, 0xde, 0xd5, - 0xcd, 0x92, 0xd1, 0x31, 0x0f, 0xf4, 0xae, 0x60, 0x91, 0x97, 0xd7, 0xb8, 0x84, 0x9d, 0xc9, 0xbf, - 0x40, 0x2d, 0x02, 0x8d, 0xd6, 0xb4, 0x0f, 0x6d, 0x07, 0xad, 0x56, 0x60, 0xe0, 0x01, 0x71, 0x84, - 0x07, 0x94, 0x37, 0xb8, 0xfe, 0x6d, 0x88, 0x9b, 0xc2, 0xa7, 0xe5, 0x0d, 0xee, 0x3b, 0x67, 0xb8, - 0xb3, 0xfc, 0x37, 0xa6, 0x1b, 0x53, 0xd7, 0xe5, 0x97, 0x42, 0x5d, 0x0e, 0xe8, 0x6e, 0x47, 0x8d, - 0x29, 0x8e, 0x1a, 0xd3, 0x3f, 0xd1, 0x8e, 0xc3, 0x1a, 0xae, 0xea, 0xf7, 0x9b, 0xc7, 0x87, 0xa6, - 0xfc, 0x72, 0x28, 0xf6, 0x45, 0x54, 0xa1, 0xae, 0x16, 0xa2, 0xc2, 0x5f, 0x94, 0xca, 0x65, 0xea, - 0xee, 0xf5, 0x11, 0x28, 0x50, 0x94, 0x2a, 0x15, 0x5a, 0xb6, 0x13, 0xef, 0x3d, 0x5a, 0x40, 0x1f, - 0x3c, 0x5a, 0x88, 0x69, 0xbf, 0x43, 0x70, 0x89, 0x68, 0x32, 0xc4, 0xbd, 0x26, 0x38, 0x7f, 0xd9, - 0xad, 0x19, 0x7e, 0x11, 0xf8, 0xaf, 0x91, 0xf7, 0xaf, 0x08, 0x94, 0x01, 0x5f, 0xdd, 0x78, 0xe7, - 0x22, 0xb9, 0x5c, 0x44, 0xb5, 0xff, 0x7d, 0xcc, 0xef, 0xc2, 0xd8, 0x6e, 0xfb, 0x81, 0xde, 0xb5, - 0xde, 0x04, 0xd6, 0x1f, 0x8e, 0xcb, 0xee, 0x61, 0x8e, 0x33, 0xe4, 0xca, 0x1c, 0xe7, 0x38, 0x59, - 0x5e, 0x56, 0x20, 0x5e, 0x6d, 0x9a, 0x4d, 0xdb, 0x83, 0x29, 0x5a, 0x5f, 0x9b, 0x66, 0x53, 0x5b, - 0x83, 0xa9, 0xed, 0x87, 0xb5, 0xb7, 0x4d, 0xdd, 0x68, 0x35, 0xef, 0x1d, 0x8a, 0x67, 0xa0, 0x6e, - 0xbf, 0xba, 0x9a, 0x1d, 0x4b, 0xb4, 0x92, 0x27, 0xa8, 0x18, 0xb7, 0xfd, 0x79, 0x0b, 0x66, 0x76, - 0x2c, 0xb7, 0x6d, 0x3b, 0xce, 0xcc, 0x59, 0x1d, 0xd3, 0x87, 0x17, 0x9a, 0x32, 0xec, 0x35, 0x65, - 0x69, 0x40, 0xdb, 0x7c, 0xeb, 0xc4, 0xfa, 0xd1, 0x40, 0xdb, 0xd9, 0x78, 0x62, 0x26, 0x79, 0x29, - 0x1b, 0x4f, 0x40, 0x72, 0x9a, 0xac, 0xfb, 0x37, 0x0c, 0x49, 0xa7, 0xd5, 0xa9, 0xea, 0xf7, 0xdb, - 0x46, 0xdb, 0x1c, 0xec, 0x57, 0xa9, 0xc7, 0xf2, 0x37, 0x61, 0xc2, 0x0a, 0xa9, 0xfd, 0x8b, 0x00, - 0x76, 0x85, 0xb4, 0x28, 0xc2, 0x14, 0x64, 0xc0, 0xa6, 0x8e, 0x67, 0x23, 0xdf, 0x04, 0x5c, 0xaf, - 0x6f, 0x93, 0x97, 0x5b, 0x61, 0xa8, 0xe9, 0xb6, 0xde, 0xeb, 0x35, 0xf7, 0x75, 0xf2, 0x8b, 0x8c, - 0xf5, 0xf6, 0x1b, 0xd6, 0x04, 0x72, 0x01, 0xa4, 0xfa, 0x36, 0x69, 0x78, 0x17, 0xa3, 0x4c, 0xd3, - 0x90, 0xea, 0xdb, 0xa9, 0xbf, 0x20, 0x98, 0xe6, 0x46, 0x65, 0x0d, 0xa6, 0x9c, 0x01, 0xe6, 0x71, - 0xc7, 0x1b, 0xdc, 0x98, 0xeb, 0xb3, 0x74, 0x4e, 0x9f, 0x53, 0x25, 0x98, 0x15, 0xc6, 0xe5, 0x65, - 0x90, 0xd9, 0x21, 0xe2, 0x04, 0xd8, 0x0d, 0xb5, 0x8f, 0x44, 0xfb, 0x3f, 0x00, 0x2f, 0xae, 0xf2, - 0x2c, 0x4c, 0xee, 0xde, 0xbd, 0x5d, 0xfb, 0x41, 0xbd, 0xf6, 0xe6, 0x6e, 0xad, 0x9a, 0x44, 0xda, - 0x1f, 0x10, 0x4c, 0x92, 0xb6, 0x75, 0xaf, 0x73, 0xa4, 0xcb, 0x65, 0x40, 0x25, 0xc2, 0x87, 0xa7, - 0xf3, 0x1b, 0x95, 0xe4, 0x15, 0x40, 0xe5, 0xe8, 0x50, 0xa3, 0xb2, 0x9c, 0x07, 0x54, 0x21, 0x00, - 0x47, 0x43, 0x06, 0x55, 0xb4, 0x7f, 0x61, 0x78, 0x96, 0x6d, 0xa3, 0xdd, 0x7a, 0x72, 0x85, 0xff, - 0x6e, 0x2a, 0x4e, 0xac, 0xe6, 0xd7, 0x0a, 0xcb, 0xd6, 0x3f, 0x94, 0x92, 0x1a, 0xff, 0x09, 0x55, - 0x04, 0xaa, 0xb2, 0x1a, 0x74, 0x4f, 0xa4, 0x18, 0x67, 0x66, 0x18, 0xb8, 0x27, 0xc2, 0x49, 0x07, - 0xee, 0x89, 0x70, 0xd2, 0x81, 0x7b, 0x22, 0x9c, 0x74, 0xe0, 0x2c, 0x80, 0x93, 0x0e, 0xdc, 0x13, - 0xe1, 0xa4, 0x03, 0xf7, 0x44, 0x38, 0xe9, 0xe0, 0x3d, 0x11, 0x22, 0x0e, 0xbc, 0x27, 0xc2, 0xcb, - 0x07, 0xef, 0x89, 0xf0, 0xf2, 0xc1, 0x7b, 0x22, 0xc5, 0xb8, 0xd9, 0x3d, 0xd6, 0x83, 0x4f, 0x1d, - 0x78, 0xfb, 0x61, 0x1f, 0x81, 0x5e, 0x05, 0xde, 0x81, 0x59, 0x67, 0x43, 0xa2, 0xd2, 0x31, 0xcc, - 0x66, 0xdb, 0xd0, 0xbb, 0xf2, 0x37, 0x60, 0xca, 0x19, 0x72, 0x3e, 0x73, 0xfc, 0x3e, 0x03, 0x1d, - 0x39, 0xa9, 0xb7, 0x9c, 0xb6, 0xf6, 0x65, 0x1c, 0xe6, 0x9c, 0x81, 0x7a, 0xf3, 0x81, 0xce, 0xdd, - 0x32, 0x5a, 0x12, 0xce, 0x94, 0x66, 0x2c, 0xf3, 0xfe, 0xe9, 0x82, 0x33, 0x5a, 0xa2, 0x6c, 0x5a, - 0x12, 0x4e, 0x97, 0x78, 0x3d, 0xef, 0x05, 0xb4, 0x24, 0xdc, 0x3c, 0xe2, 0xf5, 0xe8, 0xfb, 0x86, - 0xea, 0xb9, 0x77, 0x90, 0x78, 0xbd, 0x2a, 0x65, 0xd9, 0x92, 0x70, 0x1b, 0x89, 0xd7, 0xab, 0x51, - 0xbe, 0x2d, 0x09, 0x67, 0x4f, 0xbc, 0xde, 0x4d, 0xca, 0xbc, 0x25, 0xe1, 0x14, 0x8a, 0xd7, 0xfb, - 0x16, 0xe5, 0xe0, 0x92, 0x70, 0x57, 0x89, 0xd7, 0x7b, 0x9d, 0xb2, 0x71, 0x49, 0xb8, 0xb5, 0xc4, - 0xeb, 0x6d, 0x51, 0x5e, 0x66, 0xc4, 0xfb, 0x4b, 0xbc, 0xe2, 0x2d, 0x8f, 0xa1, 0x19, 0xf1, 0x26, - 0x13, 0xaf, 0xf9, 0x6d, 0x8f, 0xab, 0x19, 0xf1, 0x4e, 0x13, 0xaf, 0xf9, 0x86, 0xc7, 0xda, 0x8c, - 0x78, 0x56, 0xc6, 0x6b, 0x6e, 0x7b, 0xfc, 0xcd, 0x88, 0xa7, 0x66, 0xbc, 0x66, 0xdd, 0x63, 0x72, - 0x46, 0x3c, 0x3f, 0xe3, 0x35, 0x77, 0xbc, 0x4d, 0xf4, 0x8f, 0x04, 0xfa, 0x31, 0xb7, 0xa0, 0x34, - 0x81, 0x7e, 0xe0, 0x43, 0x3d, 0xa1, 0x90, 0x31, 0x3a, 0x1e, 0xed, 0x34, 0x81, 0x76, 0xe0, 0x43, - 0x39, 0x4d, 0xa0, 0x1c, 0xf8, 0xd0, 0x4d, 0x13, 0xe8, 0x06, 0x3e, 0x54, 0xd3, 0x04, 0xaa, 0x81, - 0x0f, 0xcd, 0x34, 0x81, 0x66, 0xe0, 0x43, 0x31, 0x4d, 0xa0, 0x18, 0xf8, 0xd0, 0x4b, 0x13, 0xe8, - 0x05, 0x3e, 0xd4, 0x5a, 0x14, 0xa9, 0x05, 0x7e, 0xb4, 0x5a, 0x14, 0x69, 0x05, 0x7e, 0x94, 0x7a, - 0x51, 0xa4, 0xd4, 0x44, 0xff, 0x74, 0x61, 0xcc, 0x1a, 0x62, 0xd8, 0xb4, 0x28, 0xb2, 0x09, 0xfc, - 0x98, 0xb4, 0x28, 0x32, 0x09, 0xfc, 0x58, 0xb4, 0x28, 0xb2, 0x08, 0xfc, 0x18, 0xf4, 0x58, 0x64, - 0x90, 0x77, 0xc7, 0x47, 0x13, 0x8e, 0x14, 0xc3, 0x18, 0x84, 0x23, 0x30, 0x08, 0x47, 0x60, 0x10, - 0x8e, 0xc0, 0x20, 0x1c, 0x81, 0x41, 0x38, 0x02, 0x83, 0x70, 0x04, 0x06, 0xe1, 0x08, 0x0c, 0xc2, - 0x51, 0x18, 0x84, 0x23, 0x31, 0x08, 0x07, 0x31, 0x68, 0x51, 0xbc, 0xf1, 0x00, 0x7e, 0x05, 0x69, - 0x51, 0x3c, 0xfa, 0x0c, 0xa7, 0x10, 0x8e, 0x44, 0x21, 0x1c, 0x44, 0xa1, 0x8f, 0x30, 0x3c, 0xcb, - 0x51, 0x88, 0x9c, 0x0f, 0x5d, 0x54, 0x05, 0xda, 0x88, 0x70, 0xc1, 0xc2, 0x8f, 0x53, 0x1b, 0x11, - 0x0e, 0xa9, 0x87, 0xf1, 0x6c, 0xb0, 0x0a, 0xd5, 0x22, 0x54, 0xa1, 0x9b, 0x94, 0x43, 0x1b, 0x11, - 0x2e, 0x5e, 0x0c, 0x72, 0x6f, 0x73, 0x58, 0x11, 0x78, 0x3d, 0x52, 0x11, 0xd8, 0x8a, 0x54, 0x04, - 0x6e, 0x79, 0x08, 0xfe, 0x54, 0x82, 0xe7, 0x3c, 0x04, 0x9d, 0xbf, 0x76, 0x1f, 0x1e, 0x59, 0x25, - 0xc0, 0x3b, 0xa2, 0x92, 0xdd, 0x63, 0x1b, 0x06, 0x46, 0x69, 0xab, 0x25, 0xdf, 0xe6, 0x0f, 0xab, - 0x8a, 0xa3, 0x1e, 0xe0, 0x30, 0x88, 0x93, 0xcd, 0xd0, 0x45, 0xc0, 0x5b, 0xad, 0x9e, 0x5d, 0x2d, - 0xfc, 0x96, 0xad, 0x34, 0x2c, 0xb1, 0xdc, 0x80, 0x71, 0x5b, 0xbd, 0x67, 0xc3, 0x7b, 0x9e, 0x85, - 0xab, 0x0d, 0x32, 0x93, 0xf6, 0x18, 0x41, 0x9a, 0xa3, 0xf2, 0xc5, 0x1c, 0x19, 0xbc, 0x12, 0xe9, - 0xc8, 0x80, 0x4b, 0x10, 0xef, 0xf8, 0xe0, 0xff, 0x07, 0x4f, 0xaa, 0xd9, 0x2c, 0x11, 0x8f, 0x12, - 0x7e, 0x02, 0x33, 0xde, 0x13, 0xd8, 0xdf, 0x6c, 0xeb, 0xe1, 0xbb, 0x99, 0x7e, 0xa9, 0xb9, 0x2e, - 0xec, 0xa2, 0x0d, 0x35, 0xa3, 0xd9, 0xaa, 0x15, 0x61, 0xb6, 0xde, 0xb1, 0x77, 0x00, 0x7a, 0xed, - 0x8e, 0xd1, 0xdb, 0x6e, 0x1e, 0x85, 0x6d, 0x46, 0x24, 0xac, 0xd6, 0xfc, 0xe4, 0xd7, 0x0b, 0x31, - 0xed, 0x65, 0x98, 0xba, 0x63, 0x74, 0xf5, 0xbd, 0xce, 0xbe, 0xd1, 0xfe, 0xb1, 0xde, 0x12, 0x0c, - 0x27, 0x5c, 0xc3, 0x62, 0xfc, 0x89, 0xa5, 0xfd, 0x0b, 0x04, 0x97, 0x59, 0xf5, 0xef, 0xb6, 0xcd, - 0x83, 0x2d, 0xc3, 0xea, 0xe9, 0x5f, 0x85, 0x84, 0x4e, 0x80, 0xb3, 0xdf, 0x5d, 0x93, 0xee, 0x77, - 0xa4, 0xaf, 0xfa, 0xb2, 0xfd, 0x6f, 0x83, 0x9a, 0x08, 0xbb, 0x20, 0xee, 0xb2, 0xf9, 0xd4, 0x55, - 0x18, 0x73, 0xe6, 0xe7, 0xfd, 0x9a, 0x16, 0xfc, 0xfa, 0xad, 0x8f, 0x5f, 0x36, 0x8f, 0xe4, 0x5b, - 0x9c, 0x5f, 0xcc, 0xe7, 0xaa, 0xaf, 0xfa, 0xb2, 0x4b, 0xbe, 0x72, 0xc2, 0xea, 0xff, 0x6c, 0x46, - 0x85, 0x3b, 0x99, 0x81, 0x44, 0x4d, 0xd4, 0xf1, 0xf7, 0xb3, 0x0a, 0xf1, 0x7a, 0xa7, 0xa5, 0xcb, - 0xcf, 0xc1, 0xd8, 0x1b, 0xcd, 0x7b, 0xfa, 0x21, 0x09, 0xb2, 0xf3, 0x43, 0x5e, 0x82, 0x44, 0xe5, - 0xa0, 0x7d, 0xd8, 0xea, 0xea, 0x06, 0x39, 0xb3, 0x27, 0x5b, 0xe8, 0x96, 0x4d, 0x83, 0xca, 0xb4, - 0x0a, 0x5c, 0xaa, 0x77, 0x8c, 0xf2, 0x43, 0x93, 0xad, 0x1b, 0xcb, 0x42, 0x8a, 0x90, 0x33, 0x9f, - 0xdb, 0x56, 0x36, 0x5a, 0x0a, 0xe5, 0xb1, 0x8f, 0x4f, 0x17, 0xd0, 0x2e, 0xdd, 0x3f, 0xdf, 0x86, - 0xe7, 0x49, 0xfa, 0x0c, 0x4c, 0x95, 0x0f, 0x9b, 0x6a, 0x82, 0x9c, 0x53, 0x33, 0xd3, 0x6d, 0x59, - 0xd3, 0x19, 0xbe, 0xd3, 0x3d, 0x9d, 0x67, 0x56, 0x53, 0x34, 0xd4, 0x33, 0x3c, 0x92, 0x67, 0xbe, - 0xd3, 0x2d, 0x87, 0x4d, 0x27, 0x78, 0xf6, 0x22, 0x4c, 0x50, 0x19, 0xc3, 0x06, 0x36, 0x53, 0xf2, - 0x59, 0x0d, 0x26, 0x99, 0x84, 0x95, 0xc7, 0x00, 0x95, 0x92, 0x31, 0xeb, 0xbf, 0x72, 0x12, 0x59, - 0xff, 0x55, 0x92, 0x52, 0xf6, 0x2a, 0xcc, 0x0a, 0xfb, 0x97, 0x96, 0xa4, 0x9a, 0x04, 0xeb, 0xbf, - 0x5a, 0x72, 0x32, 0x15, 0x7f, 0xef, 0x37, 0x6a, 0x2c, 0xfb, 0x0a, 0xc8, 0x83, 0x3b, 0x9d, 0xf2, - 0x38, 0x48, 0x25, 0x6b, 0xca, 0xe7, 0x41, 0x2a, 0x97, 0x93, 0x28, 0x35, 0xfb, 0xb3, 0x5f, 0xa6, - 0x27, 0xcb, 0xba, 0x69, 0xea, 0xdd, 0xbb, 0xba, 0x59, 0x2e, 0x13, 0xe3, 0xd7, 0xe0, 0xb2, 0xef, - 0x4e, 0xa9, 0x65, 0x5f, 0xa9, 0x38, 0xf6, 0xd5, 0xea, 0x80, 0x7d, 0xb5, 0x6a, 0xdb, 0xa3, 0xa2, - 0x7b, 0xe2, 0x5c, 0x92, 0x7d, 0x76, 0x19, 0x95, 0x16, 0x73, 0xc2, 0x5d, 0x2a, 0xbe, 0x46, 0x74, - 0xcb, 0xbe, 0xba, 0x7a, 0xc8, 0x89, 0x75, 0xb9, 0x58, 0x21, 0xf6, 0x15, 0x5f, 0xfb, 0xfb, 0xc2, - 0xb1, 0x2a, 0xff, 0x86, 0x20, 0x93, 0x54, 0xa8, 0xc3, 0x55, 0xdf, 0x49, 0x0e, 0x98, 0xcb, 0xee, - 0x55, 0xea, 0x70, 0xcd, 0x57, 0xb7, 0x1d, 0x72, 0xe9, 0xab, 0x56, 0x5c, 0x21, 0x2f, 0xf9, 0xd2, - 0xaa, 0x7c, 0xd9, 0xcd, 0x51, 0xae, 0x02, 0x93, 0x00, 0xb9, 0x5a, 0xc5, 0x0a, 0x31, 0x28, 0x07, - 0x1a, 0x04, 0x47, 0xc9, 0xb5, 0x2c, 0xbe, 0x4e, 0x26, 0xa9, 0x04, 0x4e, 0x12, 0x12, 0x2a, 0xd7, - 0xbc, 0xbc, 0x7b, 0x72, 0xa6, 0xc6, 0x9e, 0x9c, 0xa9, 0xb1, 0x7f, 0x9c, 0xa9, 0xb1, 0x4f, 0xce, - 0x54, 0xf4, 0xd9, 0x99, 0x8a, 0x3e, 0x3f, 0x53, 0xd1, 0x17, 0x67, 0x2a, 0x7a, 0xa7, 0xaf, 0xa2, - 0x0f, 0xfa, 0x2a, 0xfa, 0xb0, 0xaf, 0xa2, 0x3f, 0xf6, 0x55, 0xf4, 0xb8, 0xaf, 0xa2, 0x93, 0xbe, - 0x1a, 0x7b, 0xd2, 0x57, 0x63, 0x9f, 0xf4, 0x55, 0xf4, 0x59, 0x5f, 0x8d, 0x7d, 0xde, 0x57, 0xd1, - 0x17, 0x7d, 0x35, 0xf6, 0xce, 0xa7, 0x6a, 0xec, 0xd1, 0xa7, 0x6a, 0xec, 0x83, 0x4f, 0x55, 0xf4, - 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5a, 0xab, 0x64, 0x51, 0x3b, 0x36, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/typedecl/typedecl.pb.go b/vendor/github.com/gogo/protobuf/test/typedecl/typedecl.pb.go index 4fe80dd61..9da13d1f5 100644 --- a/vendor/github.com/gogo/protobuf/test/typedecl/typedecl.pb.go +++ b/vendor/github.com/gogo/protobuf/test/typedecl/typedecl.pb.go @@ -3,12 +3,13 @@ package typedecl -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -25,7 +26,7 @@ func (m *Dropped) Reset() { *m = Dropped{} } func (m *Dropped) String() string { return proto.CompactTextString(m) } func (*Dropped) ProtoMessage() {} func (*Dropped) Descriptor() ([]byte, []int) { - return fileDescriptor_typedecl_3980e2f1b7c625af, []int{0} + return fileDescriptor_d070f1c0d5954996, []int{0} } func (m *Dropped) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -42,8 +43,8 @@ func (m *Dropped) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Dropped) XXX_Merge(src proto.Message) { - xxx_messageInfo_Dropped.Merge(dst, src) +func (m *Dropped) XXX_Merge(src proto.Message) { + xxx_messageInfo_Dropped.Merge(m, src) } func (m *Dropped) XXX_Size() int { return m.Size() @@ -72,7 +73,7 @@ func (m *DroppedWithoutGetters) Reset() { *m = DroppedWithoutGetters{} } func (m *DroppedWithoutGetters) String() string { return proto.CompactTextString(m) } func (*DroppedWithoutGetters) ProtoMessage() {} func (*DroppedWithoutGetters) Descriptor() ([]byte, []int) { - return fileDescriptor_typedecl_3980e2f1b7c625af, []int{1} + return fileDescriptor_d070f1c0d5954996, []int{1} } func (m *DroppedWithoutGetters) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -89,8 +90,8 @@ func (m *DroppedWithoutGetters) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (dst *DroppedWithoutGetters) XXX_Merge(src proto.Message) { - xxx_messageInfo_DroppedWithoutGetters.Merge(dst, src) +func (m *DroppedWithoutGetters) XXX_Merge(src proto.Message) { + xxx_messageInfo_DroppedWithoutGetters.Merge(m, src) } func (m *DroppedWithoutGetters) XXX_Size() int { return m.Size() @@ -112,7 +113,7 @@ func (m *Kept) Reset() { *m = Kept{} } func (m *Kept) String() string { return proto.CompactTextString(m) } func (*Kept) ProtoMessage() {} func (*Kept) Descriptor() ([]byte, []int) { - return fileDescriptor_typedecl_3980e2f1b7c625af, []int{2} + return fileDescriptor_d070f1c0d5954996, []int{2} } func (m *Kept) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -129,8 +130,8 @@ func (m *Kept) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Kept) XXX_Merge(src proto.Message) { - xxx_messageInfo_Kept.Merge(dst, src) +func (m *Kept) XXX_Merge(src proto.Message) { + xxx_messageInfo_Kept.Merge(m, src) } func (m *Kept) XXX_Size() int { return m.Size() @@ -160,6 +161,29 @@ func init() { proto.RegisterType((*DroppedWithoutGetters)(nil), "typedecl.DroppedWithoutGetters") proto.RegisterType((*Kept)(nil), "typedecl.Kept") } + +func init() { proto.RegisterFile("typedecl.proto", fileDescriptor_d070f1c0d5954996) } + +var fileDescriptor_d070f1c0d5954996 = []byte{ + // 246 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0xa9, 0x2c, 0x48, + 0x4d, 0x49, 0x4d, 0xce, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, + 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, + 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x32, 0xe5, 0x62, + 0x77, 0x29, 0xca, 0x2f, 0x28, 0x48, 0x4d, 0x11, 0x12, 0xe2, 0x62, 0xc9, 0x4b, 0xcc, 0x4d, 0x95, + 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x04, 0xb8, 0x98, 0x13, 0xd3, 0x53, 0x25, + 0x98, 0x14, 0x18, 0x35, 0x58, 0x83, 0x40, 0x4c, 0x2b, 0x96, 0x0f, 0x0b, 0xe5, 0x19, 0x94, 0xfc, + 0xb9, 0x44, 0xa1, 0xda, 0xc2, 0x33, 0x4b, 0x32, 0xf2, 0x4b, 0x4b, 0xdc, 0x53, 0x4b, 0x4a, 0x52, + 0x8b, 0x8a, 0x85, 0xc4, 0xb8, 0xd8, 0x32, 0x52, 0x33, 0xd3, 0x33, 0x4a, 0xc0, 0xc6, 0x30, 0x07, + 0x41, 0x79, 0x42, 0x22, 0x5c, 0xac, 0xe5, 0x99, 0x29, 0x25, 0x19, 0x60, 0xa3, 0x98, 0x83, 0x20, + 0x1c, 0x2b, 0x8e, 0x8e, 0x05, 0xf2, 0x0c, 0x60, 0x03, 0x75, 0xb8, 0x58, 0xbc, 0x53, 0x0b, 0x4a, + 0x88, 0x73, 0x84, 0x93, 0xce, 0x83, 0x87, 0x72, 0x8c, 0x3f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, + 0xc7, 0xb8, 0xe3, 0x91, 0x1c, 0xe3, 0x81, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, + 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8f, 0x47, 0x72, 0x0c, 0x0d, 0x8f, 0xe5, 0x18, 0x26, + 0x3c, 0x96, 0x63, 0x48, 0x62, 0x03, 0x7b, 0xd5, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x57, + 0x14, 0x5c, 0x35, 0x01, 0x00, 0x00, +} + func (this *Dropped) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -994,25 +1018,3 @@ var ( ErrInvalidLengthTypedecl = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTypedecl = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("typedecl.proto", fileDescriptor_typedecl_3980e2f1b7c625af) } - -var fileDescriptor_typedecl_3980e2f1b7c625af = []byte{ - // 246 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0xa9, 0x2c, 0x48, - 0x4d, 0x49, 0x4d, 0xce, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x80, 0xf1, 0xa5, 0x74, - 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0xd3, 0xf3, 0xd3, 0xf3, 0xf5, - 0xc1, 0x0a, 0x92, 0x4a, 0xd3, 0xc0, 0x3c, 0x30, 0x07, 0xcc, 0x82, 0x68, 0x54, 0x32, 0xe5, 0x62, - 0x77, 0x29, 0xca, 0x2f, 0x28, 0x48, 0x4d, 0x11, 0x12, 0xe2, 0x62, 0xc9, 0x4b, 0xcc, 0x4d, 0x95, - 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x04, 0xb8, 0x98, 0x13, 0xd3, 0x53, 0x25, - 0x98, 0x14, 0x18, 0x35, 0x58, 0x83, 0x40, 0x4c, 0x2b, 0x96, 0x0f, 0x0b, 0xe5, 0x19, 0x94, 0xfc, - 0xb9, 0x44, 0xa1, 0xda, 0xc2, 0x33, 0x4b, 0x32, 0xf2, 0x4b, 0x4b, 0xdc, 0x53, 0x4b, 0x4a, 0x52, - 0x8b, 0x8a, 0x85, 0xc4, 0xb8, 0xd8, 0x32, 0x52, 0x33, 0xd3, 0x33, 0x4a, 0xc0, 0xc6, 0x30, 0x07, - 0x41, 0x79, 0x42, 0x22, 0x5c, 0xac, 0xe5, 0x99, 0x29, 0x25, 0x19, 0x60, 0xa3, 0x98, 0x83, 0x20, - 0x1c, 0x2b, 0x8e, 0x8e, 0x05, 0xf2, 0x0c, 0x60, 0x03, 0x75, 0xb8, 0x58, 0xbc, 0x53, 0x0b, 0x4a, - 0x88, 0x73, 0x84, 0x93, 0xce, 0x83, 0x87, 0x72, 0x8c, 0x3f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, - 0xc7, 0xb8, 0xe3, 0x91, 0x1c, 0xe3, 0x81, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, - 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8f, 0x47, 0x72, 0x0c, 0x0d, 0x8f, 0xe5, 0x18, 0x26, - 0x3c, 0x96, 0x63, 0x48, 0x62, 0x03, 0x7b, 0xd5, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x57, - 0x14, 0x5c, 0x35, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/typedecl_all/typedeclall.pb.go b/vendor/github.com/gogo/protobuf/test/typedecl_all/typedeclall.pb.go index fa9361ee5..7f7296684 100644 --- a/vendor/github.com/gogo/protobuf/test/typedecl_all/typedeclall.pb.go +++ b/vendor/github.com/gogo/protobuf/test/typedecl_all/typedeclall.pb.go @@ -3,12 +3,13 @@ package typedeclall -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -25,7 +26,7 @@ func (m *Dropped) Reset() { *m = Dropped{} } func (m *Dropped) String() string { return proto.CompactTextString(m) } func (*Dropped) ProtoMessage() {} func (*Dropped) Descriptor() ([]byte, []int) { - return fileDescriptor_typedeclall_37fb6c37f980aef5, []int{0} + return fileDescriptor_a18a9e6d5cf09c5a, []int{0} } func (m *Dropped) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -42,8 +43,8 @@ func (m *Dropped) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Dropped) XXX_Merge(src proto.Message) { - xxx_messageInfo_Dropped.Merge(dst, src) +func (m *Dropped) XXX_Merge(src proto.Message) { + xxx_messageInfo_Dropped.Merge(m, src) } func (m *Dropped) XXX_Size() int { return m.Size() @@ -72,7 +73,7 @@ func (m *DroppedWithoutGetters) Reset() { *m = DroppedWithoutGetters{} } func (m *DroppedWithoutGetters) String() string { return proto.CompactTextString(m) } func (*DroppedWithoutGetters) ProtoMessage() {} func (*DroppedWithoutGetters) Descriptor() ([]byte, []int) { - return fileDescriptor_typedeclall_37fb6c37f980aef5, []int{1} + return fileDescriptor_a18a9e6d5cf09c5a, []int{1} } func (m *DroppedWithoutGetters) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -89,8 +90,8 @@ func (m *DroppedWithoutGetters) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (dst *DroppedWithoutGetters) XXX_Merge(src proto.Message) { - xxx_messageInfo_DroppedWithoutGetters.Merge(dst, src) +func (m *DroppedWithoutGetters) XXX_Merge(src proto.Message) { + xxx_messageInfo_DroppedWithoutGetters.Merge(m, src) } func (m *DroppedWithoutGetters) XXX_Size() int { return m.Size() @@ -112,7 +113,7 @@ func (m *Kept) Reset() { *m = Kept{} } func (m *Kept) String() string { return proto.CompactTextString(m) } func (*Kept) ProtoMessage() {} func (*Kept) Descriptor() ([]byte, []int) { - return fileDescriptor_typedeclall_37fb6c37f980aef5, []int{2} + return fileDescriptor_a18a9e6d5cf09c5a, []int{2} } func (m *Kept) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -129,8 +130,8 @@ func (m *Kept) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Kept) XXX_Merge(src proto.Message) { - xxx_messageInfo_Kept.Merge(dst, src) +func (m *Kept) XXX_Merge(src proto.Message) { + xxx_messageInfo_Kept.Merge(m, src) } func (m *Kept) XXX_Size() int { return m.Size() @@ -160,6 +161,29 @@ func init() { proto.RegisterType((*DroppedWithoutGetters)(nil), "typedeclall.DroppedWithoutGetters") proto.RegisterType((*Kept)(nil), "typedeclall.Kept") } + +func init() { proto.RegisterFile("typedeclall.proto", fileDescriptor_a18a9e6d5cf09c5a) } + +var fileDescriptor_a18a9e6d5cf09c5a = []byte{ + // 253 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2c, 0xa9, 0x2c, 0x48, + 0x4d, 0x49, 0x4d, 0xce, 0x49, 0xcc, 0xc9, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x46, + 0x12, 0x92, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x49, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x57, + 0x49, 0x9f, 0x8b, 0xdd, 0xa5, 0x28, 0xbf, 0xa0, 0x20, 0x35, 0x45, 0x48, 0x88, 0x8b, 0x25, 0x2f, + 0x31, 0x37, 0x55, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x08, 0xcc, 0x16, 0x12, 0xe0, 0x62, 0x4e, + 0x4c, 0x4f, 0x95, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x0d, 0x02, 0x31, 0x95, 0xbc, 0xb9, 0x44, 0xa1, + 0x1a, 0xc2, 0x33, 0x4b, 0x32, 0xf2, 0x4b, 0x4b, 0xdc, 0x53, 0x4b, 0x4a, 0x52, 0x8b, 0x8a, 0x85, + 0xc4, 0xb8, 0xd8, 0x32, 0x52, 0x33, 0xd3, 0x33, 0x4a, 0xc0, 0x06, 0x30, 0x07, 0x41, 0x79, 0x42, + 0x22, 0x5c, 0xac, 0xe5, 0x99, 0x29, 0x25, 0x19, 0x60, 0x43, 0x98, 0x83, 0x20, 0x1c, 0x2b, 0x96, + 0x8e, 0x05, 0xf2, 0x0c, 0x4a, 0x46, 0x5c, 0x2c, 0xde, 0xa9, 0x05, 0x25, 0xc4, 0x59, 0x6d, 0xc5, + 0xf2, 0x61, 0xa1, 0x3c, 0xa3, 0x93, 0xc1, 0x83, 0x87, 0x72, 0x8c, 0x3f, 0x1e, 0xca, 0x31, 0xae, + 0x78, 0x24, 0xc7, 0xb8, 0xe3, 0x91, 0x1c, 0xe3, 0x81, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, + 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8f, 0x47, 0x72, 0x0c, 0x0d, 0x8f, 0xe5, + 0x18, 0x26, 0x3c, 0x96, 0x63, 0xd8, 0xf0, 0x58, 0x8e, 0x21, 0x89, 0x0d, 0xec, 0x55, 0x63, 0x40, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xbd, 0xed, 0x3d, 0x95, 0x3b, 0x01, 0x00, 0x00, +} + func (this *Dropped) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -994,25 +1018,3 @@ var ( ErrInvalidLengthTypedeclall = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTypedeclall = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("typedeclall.proto", fileDescriptor_typedeclall_37fb6c37f980aef5) } - -var fileDescriptor_typedeclall_37fb6c37f980aef5 = []byte{ - // 253 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2c, 0xa9, 0x2c, 0x48, - 0x4d, 0x49, 0x4d, 0xce, 0x49, 0xcc, 0xc9, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x46, - 0x12, 0x92, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, - 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x49, 0x2a, 0x4d, 0x03, 0xf3, 0xc0, 0x1c, 0x30, 0x0b, 0xa2, 0x57, - 0x49, 0x9f, 0x8b, 0xdd, 0xa5, 0x28, 0xbf, 0xa0, 0x20, 0x35, 0x45, 0x48, 0x88, 0x8b, 0x25, 0x2f, - 0x31, 0x37, 0x55, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x08, 0xcc, 0x16, 0x12, 0xe0, 0x62, 0x4e, - 0x4c, 0x4f, 0x95, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x0d, 0x02, 0x31, 0x95, 0xbc, 0xb9, 0x44, 0xa1, - 0x1a, 0xc2, 0x33, 0x4b, 0x32, 0xf2, 0x4b, 0x4b, 0xdc, 0x53, 0x4b, 0x4a, 0x52, 0x8b, 0x8a, 0x85, - 0xc4, 0xb8, 0xd8, 0x32, 0x52, 0x33, 0xd3, 0x33, 0x4a, 0xc0, 0x06, 0x30, 0x07, 0x41, 0x79, 0x42, - 0x22, 0x5c, 0xac, 0xe5, 0x99, 0x29, 0x25, 0x19, 0x60, 0x43, 0x98, 0x83, 0x20, 0x1c, 0x2b, 0x96, - 0x8e, 0x05, 0xf2, 0x0c, 0x4a, 0x46, 0x5c, 0x2c, 0xde, 0xa9, 0x05, 0x25, 0xc4, 0x59, 0x6d, 0xc5, - 0xf2, 0x61, 0xa1, 0x3c, 0xa3, 0x93, 0xc1, 0x83, 0x87, 0x72, 0x8c, 0x3f, 0x1e, 0xca, 0x31, 0xae, - 0x78, 0x24, 0xc7, 0xb8, 0xe3, 0x91, 0x1c, 0xe3, 0x81, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, - 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8f, 0x47, 0x72, 0x0c, 0x0d, 0x8f, 0xe5, - 0x18, 0x26, 0x3c, 0x96, 0x63, 0xd8, 0xf0, 0x58, 0x8e, 0x21, 0x89, 0x0d, 0xec, 0x55, 0x63, 0x40, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xbd, 0xed, 0x3d, 0x95, 0x3b, 0x01, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/types/combos/both/types.pb.go b/vendor/github.com/gogo/protobuf/test/types/combos/both/types.pb.go index d1bbd84e4..7dac6c10f 100644 --- a/vendor/github.com/gogo/protobuf/test/types/combos/both/types.pb.go +++ b/vendor/github.com/gogo/protobuf/test/types/combos/both/types.pb.go @@ -3,18 +3,17 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import types "github.com/gogo/protobuf/types" - -import time "time" -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + io "io" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -49,7 +48,7 @@ func (m *KnownTypes) Reset() { *m = KnownTypes{} } func (m *KnownTypes) String() string { return proto.CompactTextString(m) } func (*KnownTypes) ProtoMessage() {} func (*KnownTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{0} + return fileDescriptor_54557d2dac6675e4, []int{0} } func (m *KnownTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -66,8 +65,8 @@ func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *KnownTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_KnownTypes.Merge(dst, src) +func (m *KnownTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_KnownTypes.Merge(m, src) } func (m *KnownTypes) XXX_Size() int { return m.Size() @@ -187,7 +186,7 @@ func (m *ProtoTypes) Reset() { *m = ProtoTypes{} } func (m *ProtoTypes) String() string { return proto.CompactTextString(m) } func (*ProtoTypes) ProtoMessage() {} func (*ProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{1} + return fileDescriptor_54557d2dac6675e4, []int{1} } func (m *ProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -204,8 +203,8 @@ func (m *ProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *ProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoTypes.Merge(dst, src) +func (m *ProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoTypes.Merge(m, src) } func (m *ProtoTypes) XXX_Size() int { return m.Size() @@ -402,7 +401,7 @@ func (m *StdTypes) Reset() { *m = StdTypes{} } func (m *StdTypes) String() string { return proto.CompactTextString(m) } func (*StdTypes) ProtoMessage() {} func (*StdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{2} + return fileDescriptor_54557d2dac6675e4, []int{2} } func (m *StdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -419,8 +418,8 @@ func (m *StdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *StdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_StdTypes.Merge(dst, src) +func (m *StdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_StdTypes.Merge(m, src) } func (m *StdTypes) XXX_Size() int { return m.Size() @@ -617,7 +616,7 @@ func (m *RepProtoTypes) Reset() { *m = RepProtoTypes{} } func (m *RepProtoTypes) String() string { return proto.CompactTextString(m) } func (*RepProtoTypes) ProtoMessage() {} func (*RepProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{3} + return fileDescriptor_54557d2dac6675e4, []int{3} } func (m *RepProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -634,8 +633,8 @@ func (m *RepProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *RepProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepProtoTypes.Merge(dst, src) +func (m *RepProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepProtoTypes.Merge(m, src) } func (m *RepProtoTypes) XXX_Size() int { return m.Size() @@ -832,7 +831,7 @@ func (m *RepStdTypes) Reset() { *m = RepStdTypes{} } func (m *RepStdTypes) String() string { return proto.CompactTextString(m) } func (*RepStdTypes) ProtoMessage() {} func (*RepStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{4} + return fileDescriptor_54557d2dac6675e4, []int{4} } func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -849,8 +848,8 @@ func (m *RepStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *RepStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepStdTypes.Merge(dst, src) +func (m *RepStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepStdTypes.Merge(m, src) } func (m *RepStdTypes) XXX_Size() int { return m.Size() @@ -1047,7 +1046,7 @@ func (m *MapProtoTypes) Reset() { *m = MapProtoTypes{} } func (m *MapProtoTypes) String() string { return proto.CompactTextString(m) } func (*MapProtoTypes) ProtoMessage() {} func (*MapProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{5} + return fileDescriptor_54557d2dac6675e4, []int{5} } func (m *MapProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1064,8 +1063,8 @@ func (m *MapProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *MapProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapProtoTypes.Merge(dst, src) +func (m *MapProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapProtoTypes.Merge(m, src) } func (m *MapProtoTypes) XXX_Size() int { return m.Size() @@ -1262,7 +1261,7 @@ func (m *MapStdTypes) Reset() { *m = MapStdTypes{} } func (m *MapStdTypes) String() string { return proto.CompactTextString(m) } func (*MapStdTypes) ProtoMessage() {} func (*MapStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{6} + return fileDescriptor_54557d2dac6675e4, []int{6} } func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1279,8 +1278,8 @@ func (m *MapStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *MapStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapStdTypes.Merge(dst, src) +func (m *MapStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapStdTypes.Merge(m, src) } func (m *MapStdTypes) XXX_Size() int { return m.Size() @@ -1468,7 +1467,7 @@ func (m *OneofProtoTypes) Reset() { *m = OneofProtoTypes{} } func (m *OneofProtoTypes) String() string { return proto.CompactTextString(m) } func (*OneofProtoTypes) ProtoMessage() {} func (*OneofProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{7} + return fileDescriptor_54557d2dac6675e4, []int{7} } func (m *OneofProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1485,8 +1484,8 @@ func (m *OneofProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *OneofProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofProtoTypes.Merge(dst, src) +func (m *OneofProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofProtoTypes.Merge(m, src) } func (m *OneofProtoTypes) XXX_Size() int { return m.Size() @@ -1903,7 +1902,7 @@ func (m *OneofStdTypes) Reset() { *m = OneofStdTypes{} } func (m *OneofStdTypes) String() string { return proto.CompactTextString(m) } func (*OneofStdTypes) ProtoMessage() {} func (*OneofStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_6d7bfc155f665581, []int{8} + return fileDescriptor_54557d2dac6675e4, []int{8} } func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1920,8 +1919,8 @@ func (m *OneofStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *OneofStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofStdTypes.Merge(dst, src) +func (m *OneofStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofStdTypes.Merge(m, src) } func (m *OneofStdTypes) XXX_Size() int { return m.Size() @@ -2480,6 +2479,157 @@ func init() { proto.RegisterType((*OneofProtoTypes)(nil), "types.OneofProtoTypes") proto.RegisterType((*OneofStdTypes)(nil), "types.OneofStdTypes") } + +func init() { proto.RegisterFile("combos/both/types.proto", fileDescriptor_54557d2dac6675e4) } + +var fileDescriptor_54557d2dac6675e4 = []byte{ + // 2294 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1b, 0x49, + 0x19, 0x8d, 0x22, 0x39, 0xb1, 0xdb, 0x76, 0x62, 0x4f, 0x36, 0xcb, 0x60, 0x28, 0x25, 0x78, 0x37, + 0xd9, 0xb0, 0x5b, 0x2b, 0xb3, 0x33, 0x2e, 0x03, 0x81, 0x5d, 0xef, 0x4e, 0x25, 0x91, 0xa5, 0xb5, + 0x12, 0x45, 0xb6, 0x52, 0xb0, 0xb0, 0x80, 0xb4, 0x56, 0xbc, 0x2e, 0x14, 0x8d, 0x4a, 0x1a, 0xb1, + 0xe5, 0x1b, 0x7f, 0x00, 0x07, 0x6e, 0x50, 0xc5, 0x05, 0x6e, 0x5c, 0x39, 0x50, 0xc5, 0x91, 0xe3, + 0x1e, 0xf9, 0x0b, 0x60, 0xd7, 0x5c, 0xb8, 0x02, 0x97, 0x5c, 0xa8, 0xa2, 0xa6, 0xbb, 0x67, 0xa6, + 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x65, 0xdf, 0x74, 0xb3, 0xa5, 0xaf, 0xdf, 0xbc, 0xf9, 0xe6, 0x8d, + 0x5f, 0xbf, 0x6f, 0x3c, 0xe8, 0x2b, 0x9f, 0x84, 0x2f, 0xfa, 0xe1, 0x74, 0xab, 0x1f, 0x46, 0x9f, + 0x6e, 0x45, 0xa7, 0xe3, 0xc1, 0xb4, 0x36, 0x9e, 0x84, 0x51, 0xe8, 0x2c, 0xe0, 0x5f, 0x36, 0xde, + 0x3e, 0x3e, 0x89, 0x3e, 0x9d, 0xf5, 0x6b, 0x9f, 0x84, 0x2f, 0xb6, 0x8e, 0xc3, 0xe3, 0x70, 0x0b, + 0x7f, 0xdb, 0x9f, 0x3d, 0xc7, 0xbf, 0xe1, 0x5f, 0xf0, 0x4f, 0x64, 0xd5, 0x46, 0xf5, 0x38, 0x0c, + 0x8f, 0x87, 0x83, 0xac, 0xea, 0x68, 0x36, 0xe9, 0x45, 0x27, 0xe1, 0x88, 0x7e, 0x7f, 0x4b, 0xfc, + 0x3e, 0x3a, 0x79, 0x31, 0x98, 0x46, 0xbd, 0x17, 0x63, 0x15, 0xc0, 0x67, 0x93, 0xde, 0x78, 0x3c, + 0x98, 0x50, 0x5a, 0x9b, 0xbf, 0xab, 0x20, 0xf4, 0xe1, 0x28, 0xfc, 0x6c, 0x74, 0x18, 0xd3, 0x73, + 0xde, 0x42, 0xe5, 0xa3, 0xd9, 0xc4, 0x2d, 0xdd, 0x2e, 0xdd, 0x5b, 0xf6, 0xbe, 0x5a, 0x23, 0x8b, + 0x6b, 0xc9, 0xe2, 0xda, 0x03, 0x7a, 0xf4, 0x4e, 0x5c, 0xe5, 0xbc, 0x89, 0x2e, 0x47, 0x53, 0xf7, + 0x32, 0xae, 0xdd, 0x90, 0x6a, 0x0f, 0x13, 0x26, 0x9d, 0xcb, 0xd1, 0xd4, 0xa9, 0xa1, 0xf2, 0x51, + 0x7f, 0xe8, 0x96, 0x71, 0xf1, 0xd7, 0x65, 0xe0, 0x70, 0xd6, 0x1f, 0x0e, 0x9e, 0xf5, 0x86, 0xb3, + 0x41, 0x27, 0x2e, 0x74, 0xde, 0x46, 0xe5, 0xe7, 0xc3, 0xc8, 0xad, 0xe0, 0xfa, 0xaf, 0x49, 0xf5, + 0x8f, 0x86, 0x61, 0x2f, 0xa2, 0xe5, 0xcf, 0x87, 0x51, 0x5c, 0x7e, 0xb2, 0xb3, 0xed, 0x2e, 0x28, + 0xca, 0x1b, 0xa3, 0x68, 0x67, 0x9b, 0x96, 0x9f, 0xec, 0x6c, 0xc7, 0x6c, 0x66, 0x3b, 0xdb, 0xee, + 0x15, 0x05, 0x9b, 0x2e, 0x5b, 0x3f, 0xdb, 0xd9, 0xc6, 0xf0, 0xbe, 0xe7, 0x5e, 0x55, 0xc3, 0xfb, + 0x5e, 0x02, 0xef, 0x7b, 0x18, 0xde, 0xf7, 0xdc, 0x45, 0x0d, 0x7c, 0x5a, 0x3f, 0xc3, 0xf5, 0x95, + 0x7e, 0x18, 0x0e, 0xdd, 0x25, 0x45, 0x2b, 0x83, 0x30, 0x1c, 0x92, 0x72, 0x5c, 0x17, 0xe3, 0x4f, + 0xa3, 0x89, 0x8b, 0x14, 0xf8, 0x07, 0xd1, 0xe4, 0x64, 0x74, 0x4c, 0xf1, 0xa7, 0xd1, 0xc4, 0x79, + 0x07, 0x2d, 0xf4, 0x4f, 0xa3, 0xc1, 0xd4, 0x5d, 0x56, 0x9c, 0x40, 0x10, 0x7f, 0x4b, 0x16, 0x90, + 0xca, 0xfb, 0x95, 0x7f, 0xfd, 0xe1, 0x56, 0x69, 0xf3, 0x57, 0x2b, 0x08, 0xb5, 0xe3, 0x22, 0xa2, + 0x8e, 0x3d, 0xb4, 0x3e, 0x9a, 0x0d, 0x87, 0xbd, 0xfe, 0x70, 0x90, 0x5e, 0x5d, 0xaa, 0x15, 0xdd, + 0xf5, 0x97, 0x17, 0x39, 0x0f, 0xd1, 0x5a, 0xf2, 0x61, 0xa2, 0x29, 0x2a, 0x24, 0x8d, 0xe8, 0xa4, + 0x25, 0xce, 0x03, 0x74, 0x2d, 0xfd, 0x0c, 0x2b, 0x28, 0x97, 0xc0, 0x84, 0x35, 0xce, 0x07, 0x68, + 0x35, 0xf9, 0x04, 0xeb, 0x2a, 0x8f, 0xea, 0xf8, 0x15, 0x2c, 0x04, 0xd6, 0x4e, 0x1e, 0x25, 0xf2, + 0x2b, 0xd8, 0x73, 0x21, 0xfa, 0xcb, 0x25, 0x4f, 0x61, 0x8d, 0x40, 0x24, 0x9f, 0x66, 0xf9, 0x15, + 0x22, 0x91, 0x9c, 0x42, 0x16, 0xd6, 0x38, 0xef, 0xa1, 0x95, 0xe4, 0x93, 0x20, 0x9f, 0xb6, 0xb9, + 0x7a, 0x96, 0x05, 0xd1, 0x73, 0x2e, 0xb9, 0x0b, 0x6b, 0xd8, 0x76, 0x04, 0x79, 0xef, 0x00, 0x7e, + 0x85, 0xf3, 0x1e, 0x5a, 0x4a, 0xff, 0xa8, 0xba, 0x2b, 0x26, 0xb1, 0x07, 0x95, 0xcf, 0xff, 0x7e, + 0xeb, 0x52, 0x27, 0x5b, 0xe2, 0x7c, 0x0f, 0x2d, 0x26, 0x7f, 0xb4, 0xdd, 0x55, 0x83, 0xc4, 0xe9, + 0xea, 0x74, 0x81, 0xb3, 0x87, 0x56, 0x47, 0xe1, 0x28, 0x26, 0x44, 0xf5, 0x7d, 0xcd, 0xac, 0x6f, + 0x0a, 0xc2, 0x2f, 0x74, 0x1e, 0xa2, 0x15, 0xfa, 0x01, 0xd1, 0xf8, 0x75, 0xa3, 0xc6, 0x29, 0x0e, + 0xb7, 0x8c, 0x81, 0x21, 0x1a, 0x5d, 0x33, 0xea, 0x5c, 0x80, 0x21, 0x32, 0xcd, 0xce, 0x8b, 0x6a, + 0x7d, 0xdd, 0xac, 0x75, 0xe1, 0xbc, 0xa8, 0xe0, 0x39, 0x42, 0xbe, 0xe7, 0x3a, 0x46, 0xbd, 0xcb, + 0x84, 0x7c, 0x4f, 0x20, 0xe4, 0x7b, 0xee, 0x0d, 0xb3, 0xe6, 0x01, 0x42, 0xbe, 0xe7, 0x04, 0x68, + 0x99, 0x7e, 0x80, 0x75, 0xff, 0x8a, 0x49, 0xf7, 0x14, 0x85, 0x5d, 0xc4, 0xb0, 0xa1, 0xda, 0xbf, + 0x69, 0xd6, 0xbe, 0xc0, 0x86, 0xde, 0x00, 0x59, 0x7b, 0x88, 0xfe, 0x5f, 0x35, 0xea, 0x5f, 0x68, + 0x4f, 0xc0, 0xd8, 0xc1, 0x7f, 0x56, 0xd0, 0xe2, 0x41, 0x74, 0x44, 0xcc, 0xe0, 0x71, 0x21, 0x33, + 0x08, 0x2a, 0xbf, 0xfe, 0xc7, 0xad, 0x12, 0x64, 0x09, 0x1f, 0x16, 0xb0, 0x84, 0xa0, 0xf2, 0xdb, + 0x18, 0x4d, 0x36, 0x86, 0x66, 0x11, 0x63, 0x08, 0x2a, 0xbf, 0x8f, 0xd1, 0x44, 0x7b, 0xa8, 0xdb, + 0xdb, 0x03, 0x45, 0x12, 0x4c, 0xa2, 0x6e, 0x6f, 0x12, 0x22, 0x10, 0xd1, 0x7c, 0xb3, 0x88, 0x55, + 0x88, 0x67, 0x47, 0xef, 0x9f, 0xba, 0xbd, 0x61, 0x00, 0xa4, 0x7c, 0x4f, 0x24, 0x95, 0xcf, 0x36, + 0x20, 0x52, 0xd8, 0x82, 0x2c, 0xcd, 0x83, 0xe2, 0xf0, 0x16, 0xd2, 0x2c, 0x62, 0x21, 0x22, 0x23, + 0x7a, 0x1f, 0xd5, 0xed, 0x8d, 0x44, 0x6c, 0x13, 0xb1, 0x93, 0xc0, 0xce, 0x4e, 0x16, 0xe3, 0x9b, + 0x11, 0xdf, 0x32, 0x8c, 0xa5, 0xec, 0xda, 0x58, 0x0a, 0x46, 0xc0, 0xb7, 0x49, 0x66, 0x2b, 0xfb, + 0x45, 0x6c, 0x05, 0x03, 0xd1, 0x53, 0xe2, 0xac, 0xa5, 0x61, 0x6f, 0x2d, 0x19, 0x16, 0x6f, 0x2f, + 0x0d, 0x7b, 0x7b, 0x91, 0xa1, 0x88, 0xb0, 0xf7, 0x8b, 0x58, 0x8c, 0x7c, 0x8e, 0xf4, 0x36, 0x69, + 0xd8, 0xdb, 0x0c, 0x48, 0xcc, 0xf7, 0x04, 0x62, 0x39, 0xad, 0x06, 0x26, 0xe6, 0x7b, 0xce, 0x23, + 0x5b, 0xbb, 0xc9, 0x90, 0x38, 0xcb, 0xd9, 0x2f, 0x62, 0x39, 0x32, 0x2b, 0x7a, 0xbb, 0x34, 0xec, + 0x6d, 0x47, 0x6e, 0x17, 0xfe, 0x72, 0xf3, 0x37, 0x2b, 0x68, 0xb5, 0x33, 0x18, 0x33, 0x31, 0xa4, + 0x89, 0x1c, 0xc9, 0x3e, 0xa6, 0x6e, 0xe9, 0x76, 0xd9, 0x90, 0x43, 0x80, 0x55, 0x4e, 0x3d, 0x73, + 0xb1, 0xe4, 0x8e, 0x89, 0x23, 0x6d, 0x59, 0x9f, 0x44, 0xe4, 0x35, 0xce, 0xfb, 0x08, 0x45, 0x19, + 0x99, 0xb2, 0x89, 0x0c, 0x75, 0x59, 0x66, 0x8d, 0xf3, 0x2e, 0x5a, 0x3a, 0x4a, 0x29, 0x54, 0x0c, + 0x14, 0x92, 0x7d, 0x66, 0xba, 0x02, 0xc8, 0x42, 0x0b, 0x18, 0xc3, 0x2e, 0x0b, 0x49, 0x1b, 0xce, + 0x2b, 0x66, 0x10, 0x78, 0xc3, 0x29, 0xa5, 0xaa, 0xab, 0x18, 0xc9, 0x26, 0x55, 0x89, 0x7b, 0xd6, + 0x45, 0x23, 0x02, 0xb8, 0x67, 0x95, 0xc2, 0xd9, 0x92, 0x02, 0x47, 0x1d, 0xce, 0xc4, 0x6d, 0x2f, + 0x32, 0x22, 0x80, 0xdb, 0x5e, 0x39, 0xe3, 0x2d, 0x2b, 0xda, 0xab, 0xcb, 0x78, 0xd2, 0xe6, 0x79, + 0xc5, 0x0c, 0x02, 0x6f, 0x9e, 0xa5, 0xb4, 0xb8, 0xaa, 0x3e, 0x2f, 0x45, 0x5a, 0x14, 0xf7, 0xdf, + 0xd7, 0x8c, 0x08, 0xe0, 0xfe, 0x5b, 0x0e, 0x9d, 0xd7, 0x35, 0x27, 0xa5, 0x0a, 0x9d, 0xd2, 0x2e, + 0x7e, 0xcd, 0x0c, 0x02, 0xef, 0xe2, 0xc5, 0xf8, 0xba, 0xae, 0xb8, 0xa1, 0x55, 0xf1, 0x55, 0x48, + 0x01, 0x8e, 0x69, 0x39, 0x94, 0x02, 0xe4, 0x08, 0x7c, 0x43, 0x71, 0x3a, 0xba, 0x08, 0x2c, 0x65, + 0x89, 0x57, 0xcc, 0x20, 0x70, 0x96, 0x90, 0xc2, 0xf4, 0x4d, 0xc5, 0xb5, 0x56, 0x87, 0x69, 0x39, + 0x8e, 0x94, 0x8b, 0xc7, 0x91, 0xff, 0xad, 0xa0, 0xe5, 0xce, 0x60, 0x9c, 0x26, 0x92, 0x76, 0x31, + 0x5f, 0xa0, 0x91, 0x04, 0x72, 0x87, 0x56, 0x11, 0x77, 0xa0, 0xa1, 0x04, 0xf0, 0x88, 0x07, 0x96, + 0x1e, 0x91, 0x6d, 0xfe, 0x58, 0x9f, 0xf8, 0xc0, 0xca, 0x27, 0xb2, 0xed, 0x1f, 0xe3, 0x15, 0xcd, + 0x22, 0x5e, 0xa1, 0x88, 0x47, 0xfb, 0x45, 0x1c, 0x43, 0xb9, 0x97, 0xac, 0xdb, 0xbb, 0x06, 0x1c, + 0xb6, 0x1a, 0xf6, 0xde, 0xa1, 0xda, 0x94, 0xd6, 0xed, 0xfd, 0x03, 0xce, 0x6d, 0x0d, 0x7b, 0x17, + 0x51, 0xed, 0x6e, 0x9b, 0x45, 0x9c, 0x44, 0x11, 0x01, 0xf7, 0x8b, 0xf8, 0x89, 0x72, 0xa7, 0x5c, + 0xb7, 0xf7, 0x14, 0x38, 0x50, 0x36, 0xec, 0x9d, 0x45, 0xb5, 0xe5, 0x6e, 0x16, 0x71, 0x17, 0x45, + 0x36, 0xdd, 0x2f, 0xe2, 0x31, 0xca, 0xed, 0xfb, 0x03, 0x5b, 0x9f, 0x01, 0x93, 0xee, 0x23, 0x5b, + 0xb7, 0x51, 0x84, 0x80, 0x66, 0x11, 0xc7, 0x51, 0x24, 0xe6, 0xfd, 0x22, 0xbe, 0xa3, 0x0c, 0x14, + 0x75, 0x7b, 0xef, 0x81, 0xf3, 0x77, 0xc3, 0xde, 0x81, 0x54, 0xc9, 0xe4, 0x4f, 0x55, 0xb4, 0xda, + 0xea, 0xb1, 0xc9, 0xe4, 0x87, 0xf0, 0x4c, 0x2c, 0x3e, 0xc2, 0x5b, 0x35, 0xf2, 0x34, 0x90, 0x5b, + 0x50, 0x7b, 0x2c, 0x56, 0x3f, 0x1c, 0x45, 0x93, 0x53, 0x68, 0x3c, 0x56, 0x67, 0xe7, 0x06, 0xc4, + 0x82, 0x5e, 0x03, 0x21, 0x79, 0x28, 0x79, 0x1e, 0xfd, 0x0c, 0x98, 0xb3, 0x11, 0x2b, 0x7a, 0x53, + 0x4b, 0x31, 0x29, 0x26, 0x0c, 0xa1, 0x67, 0x31, 0xd9, 0x50, 0x82, 0xb8, 0xd2, 0x26, 0x88, 0xc7, + 0xe1, 0x48, 0x03, 0xef, 0xb6, 0xc2, 0x99, 0xee, 0xe9, 0xb9, 0xe1, 0x52, 0xc2, 0x4c, 0xf4, 0xa7, + 0x03, 0xd8, 0x9f, 0xde, 0x80, 0x01, 0xd9, 0x4a, 0x96, 0xa1, 0x60, 0x53, 0x2d, 0xd8, 0xa6, 0xde, + 0xd0, 0xb2, 0xc4, 0x95, 0x84, 0xa4, 0x60, 0x56, 0x6d, 0xd0, 0xac, 0xee, 0xea, 0x28, 0x66, 0x60, + 0x60, 0xe6, 0x69, 0xc1, 0x9e, 0xa5, 0x27, 0x88, 0x2b, 0x05, 0x82, 0xe4, 0x8f, 0x7a, 0x1b, 0x74, + 0x2e, 0x2d, 0xc1, 0x0c, 0x0c, 0x8c, 0x42, 0x6d, 0x85, 0x81, 0xe9, 0x2f, 0x74, 0x97, 0xa1, 0x28, + 0xda, 0xd8, 0x01, 0x6c, 0x63, 0xda, 0x0b, 0xdd, 0x95, 0x58, 0x0a, 0x6e, 0xd6, 0x82, 0xdd, 0xcc, + 0xd8, 0x47, 0xdf, 0x93, 0xfb, 0xe8, 0x7b, 0x7c, 0x1f, 0x53, 0x4f, 0x33, 0xf5, 0x91, 0x82, 0x81, + 0xc1, 0xa9, 0xad, 0xb0, 0x36, 0x73, 0x1f, 0x13, 0x8a, 0xa2, 0xc1, 0x1d, 0xc0, 0x06, 0x67, 0xec, + 0x23, 0xcf, 0x52, 0xf0, 0xb9, 0x26, 0xe8, 0x73, 0x77, 0xb5, 0x24, 0xe3, 0x42, 0x42, 0x91, 0x77, + 0xbb, 0x16, 0xe4, 0x76, 0x77, 0x74, 0xf4, 0x52, 0x24, 0x28, 0x66, 0xb5, 0x15, 0xa6, 0xa7, 0xef, + 0x20, 0x29, 0x15, 0x3a, 0x48, 0xcd, 0xea, 0x00, 0xb6, 0x3e, 0x6d, 0x07, 0x19, 0x3c, 0x38, 0x7d, + 0xb5, 0x60, 0x07, 0xd4, 0x2b, 0x11, 0x57, 0x0a, 0x4a, 0x24, 0x3e, 0xd8, 0x06, 0x7d, 0x50, 0xab, + 0xc4, 0x0c, 0x0c, 0x0a, 0x65, 0x1b, 0x3f, 0x43, 0xaf, 0xc2, 0x76, 0xe6, 0xac, 0xa1, 0xf2, 0xcf, + 0x07, 0xa7, 0xf8, 0xe1, 0xd0, 0x42, 0x27, 0xfe, 0xd1, 0xf9, 0x16, 0x5a, 0xf8, 0x45, 0xec, 0xad, + 0x39, 0xfe, 0x7b, 0x84, 0x14, 0xde, 0xbf, 0xfc, 0x9d, 0xd2, 0xc6, 0x0f, 0xd0, 0xb5, 0x0b, 0x42, + 0xfe, 0x09, 0xba, 0x09, 0xfa, 0x1c, 0x70, 0x80, 0x2d, 0xfe, 0x00, 0x9a, 0x29, 0x21, 0x83, 0xff, + 0x0c, 0xad, 0x5e, 0x08, 0xee, 0x4f, 0xd1, 0x0d, 0xc0, 0x03, 0x01, 0x74, 0x8f, 0x47, 0xd7, 0x0f, + 0x05, 0xb9, 0xc6, 0x38, 0xb2, 0x27, 0x9e, 0x23, 0xfe, 0xc7, 0xc8, 0x91, 0xed, 0x11, 0xc0, 0x7f, + 0x87, 0xc7, 0xd7, 0x4e, 0x11, 0x19, 0xf8, 0x1f, 0xa3, 0x75, 0xc9, 0x2f, 0xcf, 0x0f, 0x9d, 0x21, + 0x9f, 0xf9, 0x48, 0x11, 0x78, 0x66, 0xd8, 0x07, 0x92, 0xbf, 0x08, 0x74, 0x46, 0x3a, 0x5d, 0x2d, + 0xbe, 0xf1, 0xd2, 0x76, 0xe1, 0x03, 0x64, 0xd2, 0xb9, 0x18, 0x7c, 0xbe, 0xfb, 0xd4, 0x7d, 0x0a, + 0xf6, 0x27, 0x19, 0x28, 0xaa, 0xba, 0x7f, 0xee, 0xe8, 0x42, 0xf7, 0xd5, 0xf8, 0xb9, 0xba, 0x03, + 0x1c, 0x80, 0xef, 0xfe, 0xf9, 0xe3, 0xff, 0x08, 0xad, 0x4b, 0x3e, 0x5d, 0xe4, 0xcf, 0x71, 0x36, + 0x40, 0x65, 0xc0, 0x3f, 0x42, 0x6b, 0xa2, 0x73, 0x9f, 0x1b, 0x36, 0xd3, 0x79, 0xc6, 0x73, 0x8b, + 0x74, 0x86, 0x9d, 0xba, 0x82, 0x9d, 0xbf, 0x18, 0x7c, 0x46, 0xf7, 0x99, 0x23, 0x17, 0x51, 0x26, + 0xfb, 0x5f, 0x7f, 0x90, 0xee, 0x2f, 0x00, 0x7d, 0xf3, 0xdf, 0x55, 0xb4, 0xdc, 0xea, 0x65, 0x33, + 0xdb, 0x8f, 0xd5, 0x89, 0xf9, 0x9b, 0xd9, 0x5e, 0x24, 0x29, 0x57, 0xe4, 0x65, 0xf5, 0x3f, 0x95, + 0x34, 0xe4, 0xd4, 0xfc, 0x0d, 0x00, 0x56, 0x80, 0x03, 0x1f, 0xba, 0x7f, 0xa4, 0xcc, 0xcd, 0xf7, + 0x34, 0x44, 0x85, 0xb4, 0xab, 0xf8, 0x77, 0x95, 0x47, 0x52, 0x76, 0xbe, 0x0d, 0x60, 0xf2, 0x58, + 0xd0, 0x73, 0xfd, 0x43, 0x45, 0x7a, 0xbe, 0xab, 0x63, 0xc8, 0x66, 0x5d, 0x70, 0xc2, 0xdb, 0x85, + 0x13, 0xf4, 0x1d, 0x08, 0x54, 0xce, 0xcf, 0xca, 0x51, 0xef, 0x53, 0x38, 0x43, 0xdf, 0xd1, 0x70, + 0x65, 0x43, 0x2f, 0x34, 0xf4, 0xed, 0x80, 0x39, 0xfa, 0x75, 0x35, 0x51, 0x06, 0x50, 0x35, 0xfd, + 0x7d, 0x0a, 0x27, 0x69, 0x1d, 0x4d, 0x36, 0x54, 0x42, 0x73, 0xe0, 0x0e, 0x98, 0xa6, 0x35, 0x34, + 0x19, 0x40, 0xd5, 0x40, 0xf8, 0x50, 0x91, 0xa7, 0x75, 0x97, 0xbe, 0x2b, 0x11, 0x15, 0x33, 0x75, + 0x17, 0xce, 0xd4, 0x9a, 0x4b, 0xdf, 0x05, 0xb9, 0x0a, 0xa9, 0xfa, 0x29, 0x9c, 0xaa, 0x0d, 0x3d, + 0x4d, 0x03, 0x26, 0x34, 0x2d, 0xee, 0x80, 0xc9, 0x5a, 0xdf, 0xd3, 0x04, 0x50, 0x35, 0x36, 0x3e, + 0x54, 0x64, 0x6b, 0x53, 0x4f, 0x79, 0xa2, 0x62, 0xbe, 0xee, 0xc2, 0xf9, 0xda, 0xd0, 0x53, 0x99, + 0xab, 0x90, 0xb0, 0x1f, 0x83, 0x09, 0xfb, 0x75, 0x0d, 0x55, 0x26, 0x15, 0x03, 0x33, 0xe5, 0x27, + 0x50, 0xca, 0x7e, 0x4d, 0x4d, 0x32, 0x43, 0x53, 0x0c, 0x97, 0x0f, 0x15, 0x39, 0x5b, 0xd7, 0x4d, + 0x2e, 0x15, 0x83, 0x63, 0xe6, 0x2e, 0x9c, 0xb5, 0x35, 0xdd, 0x64, 0x31, 0x95, 0xf3, 0xe6, 0xa7, + 0x70, 0xda, 0xd6, 0x29, 0x94, 0x8d, 0xc7, 0xd0, 0xe4, 0xb9, 0x03, 0x26, 0x6e, 0x8d, 0x42, 0x19, + 0x40, 0xc5, 0x08, 0x7a, 0x9e, 0xb9, 0xe7, 0x99, 0x7b, 0x9e, 0xb9, 0xe7, 0x99, 0x7b, 0x9e, 0xb9, + 0xe7, 0x99, 0x7b, 0x9e, 0xb9, 0xe7, 0x99, 0x1b, 0xce, 0xdc, 0x7f, 0x5e, 0x40, 0xd7, 0x9f, 0x8c, + 0x06, 0xe1, 0x73, 0xe6, 0x49, 0xf5, 0x7d, 0x36, 0x18, 0x1b, 0xdf, 0xda, 0xd8, 0xe3, 0x9e, 0x20, + 0x7f, 0x9b, 0x49, 0xab, 0x26, 0xe3, 0xdc, 0x63, 0x1f, 0xee, 0x7e, 0x1f, 0x2d, 0x4d, 0x06, 0xe3, + 0xfc, 0x2f, 0x64, 0xc4, 0x87, 0x4d, 0x17, 0x38, 0xdf, 0x45, 0x8b, 0x93, 0xc1, 0x38, 0xef, 0x2b, + 0x18, 0xf1, 0x81, 0x93, 0x72, 0xba, 0x34, 0xef, 0x4b, 0x17, 0x74, 0x29, 0x89, 0x2a, 0x84, 0x73, + 0xfe, 0xd7, 0x2c, 0x28, 0x67, 0x1a, 0x74, 0xd2, 0x03, 0xe7, 0x7a, 0xb1, 0x22, 0x3b, 0xb0, 0xef, + 0x31, 0x07, 0xce, 0xf7, 0x2a, 0x05, 0x73, 0x60, 0xdf, 0x73, 0x76, 0xd0, 0xd5, 0xc9, 0x60, 0x9c, + 0xef, 0xe5, 0x89, 0xbd, 0x4b, 0x9d, 0xa4, 0x98, 0x1e, 0x35, 0xff, 0xeb, 0x12, 0xf4, 0xa8, 0x74, + 0xd7, 0x4c, 0x4e, 0x37, 0xef, 0x0b, 0x12, 0xf4, 0x74, 0xf1, 0x07, 0xc1, 0x3a, 0xd6, 0xe8, 0x13, + 0xaa, 0xd1, 0x58, 0x6b, 0x9b, 0xff, 0x5d, 0x40, 0xab, 0x58, 0xb7, 0xe9, 0xb4, 0xe8, 0x7d, 0x2b, + 0xd5, 0x92, 0xb1, 0x10, 0xaf, 0xdd, 0x77, 0x2d, 0xb4, 0x4b, 0xc6, 0x35, 0x9c, 0x82, 0x03, 0x4b, + 0x05, 0x93, 0x24, 0xc0, 0xeb, 0x78, 0xd7, 0x4a, 0xc7, 0x29, 0x42, 0xa6, 0xe6, 0x5d, 0x2b, 0x35, + 0x73, 0x00, 0x44, 0x95, 0x81, 0xa5, 0xa6, 0xb9, 0xb3, 0xa0, 0xca, 0xde, 0xb5, 0x52, 0xb6, 0x48, + 0x02, 0xbf, 0x27, 0x67, 0xa7, 0x6f, 0x89, 0x04, 0xbe, 0x47, 0xf2, 0xab, 0x3c, 0x5d, 0x9f, 0x6a, + 0x3d, 0xb0, 0xd4, 0x3a, 0xc7, 0x80, 0x2a, 0x7e, 0xd7, 0x4a, 0xf1, 0x5c, 0x1b, 0x88, 0xee, 0xaf, + 0x63, 0x8d, 0x3f, 0xc1, 0x1a, 0x8f, 0x55, 0x1a, 0xdc, 0xfb, 0xe2, 0xcb, 0x6a, 0xe9, 0xe5, 0x97, + 0xd5, 0xd2, 0x1f, 0xcf, 0xaa, 0xa5, 0xbf, 0x9c, 0x55, 0x4b, 0x7f, 0x3d, 0xab, 0x96, 0x3e, 0x3f, + 0xab, 0x96, 0xfe, 0x76, 0x56, 0x2d, 0x7d, 0x71, 0x56, 0x2d, 0xbd, 0x3c, 0xab, 0x5e, 0xfa, 0xe5, + 0x3f, 0xab, 0x97, 0xfa, 0x57, 0xf0, 0x11, 0xfc, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xb3, + 0x35, 0x4d, 0x74, 0x40, 0x00, 0x00, +} + func (this *KnownTypes) Compare(that interface{}) int { if that == nil { if this == nil { @@ -21193,153 +21343,3 @@ var ( ErrInvalidLengthTypes = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("combos/both/types.proto", fileDescriptor_types_6d7bfc155f665581) } - -var fileDescriptor_types_6d7bfc155f665581 = []byte{ - // 2294 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1b, 0x49, - 0x19, 0x8d, 0x22, 0x39, 0xb1, 0xdb, 0x76, 0x62, 0x4f, 0x36, 0xcb, 0x60, 0x28, 0x25, 0x78, 0x37, - 0xd9, 0xb0, 0x5b, 0x2b, 0xb3, 0x33, 0x2e, 0x03, 0x81, 0x5d, 0xef, 0x4e, 0x25, 0x91, 0xa5, 0xb5, - 0x12, 0x45, 0xb6, 0x52, 0xb0, 0xb0, 0x80, 0xb4, 0x56, 0xbc, 0x2e, 0x14, 0x8d, 0x4a, 0x1a, 0xb1, - 0xe5, 0x1b, 0x7f, 0x00, 0x07, 0x6e, 0x50, 0xc5, 0x05, 0x6e, 0x5c, 0x39, 0x50, 0xc5, 0x91, 0xe3, - 0x1e, 0xf9, 0x0b, 0x60, 0xd7, 0x5c, 0xb8, 0x02, 0x97, 0x5c, 0xa8, 0xa2, 0xa6, 0xbb, 0x67, 0xa6, - 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x65, 0xdf, 0x74, 0xb3, 0xa5, 0xaf, 0xdf, 0xbc, 0xf9, 0xe6, 0x8d, - 0x5f, 0xbf, 0x6f, 0x3c, 0xe8, 0x2b, 0x9f, 0x84, 0x2f, 0xfa, 0xe1, 0x74, 0xab, 0x1f, 0x46, 0x9f, - 0x6e, 0x45, 0xa7, 0xe3, 0xc1, 0xb4, 0x36, 0x9e, 0x84, 0x51, 0xe8, 0x2c, 0xe0, 0x5f, 0x36, 0xde, - 0x3e, 0x3e, 0x89, 0x3e, 0x9d, 0xf5, 0x6b, 0x9f, 0x84, 0x2f, 0xb6, 0x8e, 0xc3, 0xe3, 0x70, 0x0b, - 0x7f, 0xdb, 0x9f, 0x3d, 0xc7, 0xbf, 0xe1, 0x5f, 0xf0, 0x4f, 0x64, 0xd5, 0x46, 0xf5, 0x38, 0x0c, - 0x8f, 0x87, 0x83, 0xac, 0xea, 0x68, 0x36, 0xe9, 0x45, 0x27, 0xe1, 0x88, 0x7e, 0x7f, 0x4b, 0xfc, - 0x3e, 0x3a, 0x79, 0x31, 0x98, 0x46, 0xbd, 0x17, 0x63, 0x15, 0xc0, 0x67, 0x93, 0xde, 0x78, 0x3c, - 0x98, 0x50, 0x5a, 0x9b, 0xbf, 0xab, 0x20, 0xf4, 0xe1, 0x28, 0xfc, 0x6c, 0x74, 0x18, 0xd3, 0x73, - 0xde, 0x42, 0xe5, 0xa3, 0xd9, 0xc4, 0x2d, 0xdd, 0x2e, 0xdd, 0x5b, 0xf6, 0xbe, 0x5a, 0x23, 0x8b, - 0x6b, 0xc9, 0xe2, 0xda, 0x03, 0x7a, 0xf4, 0x4e, 0x5c, 0xe5, 0xbc, 0x89, 0x2e, 0x47, 0x53, 0xf7, - 0x32, 0xae, 0xdd, 0x90, 0x6a, 0x0f, 0x13, 0x26, 0x9d, 0xcb, 0xd1, 0xd4, 0xa9, 0xa1, 0xf2, 0x51, - 0x7f, 0xe8, 0x96, 0x71, 0xf1, 0xd7, 0x65, 0xe0, 0x70, 0xd6, 0x1f, 0x0e, 0x9e, 0xf5, 0x86, 0xb3, - 0x41, 0x27, 0x2e, 0x74, 0xde, 0x46, 0xe5, 0xe7, 0xc3, 0xc8, 0xad, 0xe0, 0xfa, 0xaf, 0x49, 0xf5, - 0x8f, 0x86, 0x61, 0x2f, 0xa2, 0xe5, 0xcf, 0x87, 0x51, 0x5c, 0x7e, 0xb2, 0xb3, 0xed, 0x2e, 0x28, - 0xca, 0x1b, 0xa3, 0x68, 0x67, 0x9b, 0x96, 0x9f, 0xec, 0x6c, 0xc7, 0x6c, 0x66, 0x3b, 0xdb, 0xee, - 0x15, 0x05, 0x9b, 0x2e, 0x5b, 0x3f, 0xdb, 0xd9, 0xc6, 0xf0, 0xbe, 0xe7, 0x5e, 0x55, 0xc3, 0xfb, - 0x5e, 0x02, 0xef, 0x7b, 0x18, 0xde, 0xf7, 0xdc, 0x45, 0x0d, 0x7c, 0x5a, 0x3f, 0xc3, 0xf5, 0x95, - 0x7e, 0x18, 0x0e, 0xdd, 0x25, 0x45, 0x2b, 0x83, 0x30, 0x1c, 0x92, 0x72, 0x5c, 0x17, 0xe3, 0x4f, - 0xa3, 0x89, 0x8b, 0x14, 0xf8, 0x07, 0xd1, 0xe4, 0x64, 0x74, 0x4c, 0xf1, 0xa7, 0xd1, 0xc4, 0x79, - 0x07, 0x2d, 0xf4, 0x4f, 0xa3, 0xc1, 0xd4, 0x5d, 0x56, 0x9c, 0x40, 0x10, 0x7f, 0x4b, 0x16, 0x90, - 0xca, 0xfb, 0x95, 0x7f, 0xfd, 0xe1, 0x56, 0x69, 0xf3, 0x57, 0x2b, 0x08, 0xb5, 0xe3, 0x22, 0xa2, - 0x8e, 0x3d, 0xb4, 0x3e, 0x9a, 0x0d, 0x87, 0xbd, 0xfe, 0x70, 0x90, 0x5e, 0x5d, 0xaa, 0x15, 0xdd, - 0xf5, 0x97, 0x17, 0x39, 0x0f, 0xd1, 0x5a, 0xf2, 0x61, 0xa2, 0x29, 0x2a, 0x24, 0x8d, 0xe8, 0xa4, - 0x25, 0xce, 0x03, 0x74, 0x2d, 0xfd, 0x0c, 0x2b, 0x28, 0x97, 0xc0, 0x84, 0x35, 0xce, 0x07, 0x68, - 0x35, 0xf9, 0x04, 0xeb, 0x2a, 0x8f, 0xea, 0xf8, 0x15, 0x2c, 0x04, 0xd6, 0x4e, 0x1e, 0x25, 0xf2, - 0x2b, 0xd8, 0x73, 0x21, 0xfa, 0xcb, 0x25, 0x4f, 0x61, 0x8d, 0x40, 0x24, 0x9f, 0x66, 0xf9, 0x15, - 0x22, 0x91, 0x9c, 0x42, 0x16, 0xd6, 0x38, 0xef, 0xa1, 0x95, 0xe4, 0x93, 0x20, 0x9f, 0xb6, 0xb9, - 0x7a, 0x96, 0x05, 0xd1, 0x73, 0x2e, 0xb9, 0x0b, 0x6b, 0xd8, 0x76, 0x04, 0x79, 0xef, 0x00, 0x7e, - 0x85, 0xf3, 0x1e, 0x5a, 0x4a, 0xff, 0xa8, 0xba, 0x2b, 0x26, 0xb1, 0x07, 0x95, 0xcf, 0xff, 0x7e, - 0xeb, 0x52, 0x27, 0x5b, 0xe2, 0x7c, 0x0f, 0x2d, 0x26, 0x7f, 0xb4, 0xdd, 0x55, 0x83, 0xc4, 0xe9, - 0xea, 0x74, 0x81, 0xb3, 0x87, 0x56, 0x47, 0xe1, 0x28, 0x26, 0x44, 0xf5, 0x7d, 0xcd, 0xac, 0x6f, - 0x0a, 0xc2, 0x2f, 0x74, 0x1e, 0xa2, 0x15, 0xfa, 0x01, 0xd1, 0xf8, 0x75, 0xa3, 0xc6, 0x29, 0x0e, - 0xb7, 0x8c, 0x81, 0x21, 0x1a, 0x5d, 0x33, 0xea, 0x5c, 0x80, 0x21, 0x32, 0xcd, 0xce, 0x8b, 0x6a, - 0x7d, 0xdd, 0xac, 0x75, 0xe1, 0xbc, 0xa8, 0xe0, 0x39, 0x42, 0xbe, 0xe7, 0x3a, 0x46, 0xbd, 0xcb, - 0x84, 0x7c, 0x4f, 0x20, 0xe4, 0x7b, 0xee, 0x0d, 0xb3, 0xe6, 0x01, 0x42, 0xbe, 0xe7, 0x04, 0x68, - 0x99, 0x7e, 0x80, 0x75, 0xff, 0x8a, 0x49, 0xf7, 0x14, 0x85, 0x5d, 0xc4, 0xb0, 0xa1, 0xda, 0xbf, - 0x69, 0xd6, 0xbe, 0xc0, 0x86, 0xde, 0x00, 0x59, 0x7b, 0x88, 0xfe, 0x5f, 0x35, 0xea, 0x5f, 0x68, - 0x4f, 0xc0, 0xd8, 0xc1, 0x7f, 0x56, 0xd0, 0xe2, 0x41, 0x74, 0x44, 0xcc, 0xe0, 0x71, 0x21, 0x33, - 0x08, 0x2a, 0xbf, 0xfe, 0xc7, 0xad, 0x12, 0x64, 0x09, 0x1f, 0x16, 0xb0, 0x84, 0xa0, 0xf2, 0xdb, - 0x18, 0x4d, 0x36, 0x86, 0x66, 0x11, 0x63, 0x08, 0x2a, 0xbf, 0x8f, 0xd1, 0x44, 0x7b, 0xa8, 0xdb, - 0xdb, 0x03, 0x45, 0x12, 0x4c, 0xa2, 0x6e, 0x6f, 0x12, 0x22, 0x10, 0xd1, 0x7c, 0xb3, 0x88, 0x55, - 0x88, 0x67, 0x47, 0xef, 0x9f, 0xba, 0xbd, 0x61, 0x00, 0xa4, 0x7c, 0x4f, 0x24, 0x95, 0xcf, 0x36, - 0x20, 0x52, 0xd8, 0x82, 0x2c, 0xcd, 0x83, 0xe2, 0xf0, 0x16, 0xd2, 0x2c, 0x62, 0x21, 0x22, 0x23, - 0x7a, 0x1f, 0xd5, 0xed, 0x8d, 0x44, 0x6c, 0x13, 0xb1, 0x93, 0xc0, 0xce, 0x4e, 0x16, 0xe3, 0x9b, - 0x11, 0xdf, 0x32, 0x8c, 0xa5, 0xec, 0xda, 0x58, 0x0a, 0x46, 0xc0, 0xb7, 0x49, 0x66, 0x2b, 0xfb, - 0x45, 0x6c, 0x05, 0x03, 0xd1, 0x53, 0xe2, 0xac, 0xa5, 0x61, 0x6f, 0x2d, 0x19, 0x16, 0x6f, 0x2f, - 0x0d, 0x7b, 0x7b, 0x91, 0xa1, 0x88, 0xb0, 0xf7, 0x8b, 0x58, 0x8c, 0x7c, 0x8e, 0xf4, 0x36, 0x69, - 0xd8, 0xdb, 0x0c, 0x48, 0xcc, 0xf7, 0x04, 0x62, 0x39, 0xad, 0x06, 0x26, 0xe6, 0x7b, 0xce, 0x23, - 0x5b, 0xbb, 0xc9, 0x90, 0x38, 0xcb, 0xd9, 0x2f, 0x62, 0x39, 0x32, 0x2b, 0x7a, 0xbb, 0x34, 0xec, - 0x6d, 0x47, 0x6e, 0x17, 0xfe, 0x72, 0xf3, 0x37, 0x2b, 0x68, 0xb5, 0x33, 0x18, 0x33, 0x31, 0xa4, - 0x89, 0x1c, 0xc9, 0x3e, 0xa6, 0x6e, 0xe9, 0x76, 0xd9, 0x90, 0x43, 0x80, 0x55, 0x4e, 0x3d, 0x73, - 0xb1, 0xe4, 0x8e, 0x89, 0x23, 0x6d, 0x59, 0x9f, 0x44, 0xe4, 0x35, 0xce, 0xfb, 0x08, 0x45, 0x19, - 0x99, 0xb2, 0x89, 0x0c, 0x75, 0x59, 0x66, 0x8d, 0xf3, 0x2e, 0x5a, 0x3a, 0x4a, 0x29, 0x54, 0x0c, - 0x14, 0x92, 0x7d, 0x66, 0xba, 0x02, 0xc8, 0x42, 0x0b, 0x18, 0xc3, 0x2e, 0x0b, 0x49, 0x1b, 0xce, - 0x2b, 0x66, 0x10, 0x78, 0xc3, 0x29, 0xa5, 0xaa, 0xab, 0x18, 0xc9, 0x26, 0x55, 0x89, 0x7b, 0xd6, - 0x45, 0x23, 0x02, 0xb8, 0x67, 0x95, 0xc2, 0xd9, 0x92, 0x02, 0x47, 0x1d, 0xce, 0xc4, 0x6d, 0x2f, - 0x32, 0x22, 0x80, 0xdb, 0x5e, 0x39, 0xe3, 0x2d, 0x2b, 0xda, 0xab, 0xcb, 0x78, 0xd2, 0xe6, 0x79, - 0xc5, 0x0c, 0x02, 0x6f, 0x9e, 0xa5, 0xb4, 0xb8, 0xaa, 0x3e, 0x2f, 0x45, 0x5a, 0x14, 0xf7, 0xdf, - 0xd7, 0x8c, 0x08, 0xe0, 0xfe, 0x5b, 0x0e, 0x9d, 0xd7, 0x35, 0x27, 0xa5, 0x0a, 0x9d, 0xd2, 0x2e, - 0x7e, 0xcd, 0x0c, 0x02, 0xef, 0xe2, 0xc5, 0xf8, 0xba, 0xae, 0xb8, 0xa1, 0x55, 0xf1, 0x55, 0x48, - 0x01, 0x8e, 0x69, 0x39, 0x94, 0x02, 0xe4, 0x08, 0x7c, 0x43, 0x71, 0x3a, 0xba, 0x08, 0x2c, 0x65, - 0x89, 0x57, 0xcc, 0x20, 0x70, 0x96, 0x90, 0xc2, 0xf4, 0x4d, 0xc5, 0xb5, 0x56, 0x87, 0x69, 0x39, - 0x8e, 0x94, 0x8b, 0xc7, 0x91, 0xff, 0xad, 0xa0, 0xe5, 0xce, 0x60, 0x9c, 0x26, 0x92, 0x76, 0x31, - 0x5f, 0xa0, 0x91, 0x04, 0x72, 0x87, 0x56, 0x11, 0x77, 0xa0, 0xa1, 0x04, 0xf0, 0x88, 0x07, 0x96, - 0x1e, 0x91, 0x6d, 0xfe, 0x58, 0x9f, 0xf8, 0xc0, 0xca, 0x27, 0xb2, 0xed, 0x1f, 0xe3, 0x15, 0xcd, - 0x22, 0x5e, 0xa1, 0x88, 0x47, 0xfb, 0x45, 0x1c, 0x43, 0xb9, 0x97, 0xac, 0xdb, 0xbb, 0x06, 0x1c, - 0xb6, 0x1a, 0xf6, 0xde, 0xa1, 0xda, 0x94, 0xd6, 0xed, 0xfd, 0x03, 0xce, 0x6d, 0x0d, 0x7b, 0x17, - 0x51, 0xed, 0x6e, 0x9b, 0x45, 0x9c, 0x44, 0x11, 0x01, 0xf7, 0x8b, 0xf8, 0x89, 0x72, 0xa7, 0x5c, - 0xb7, 0xf7, 0x14, 0x38, 0x50, 0x36, 0xec, 0x9d, 0x45, 0xb5, 0xe5, 0x6e, 0x16, 0x71, 0x17, 0x45, - 0x36, 0xdd, 0x2f, 0xe2, 0x31, 0xca, 0xed, 0xfb, 0x03, 0x5b, 0x9f, 0x01, 0x93, 0xee, 0x23, 0x5b, - 0xb7, 0x51, 0x84, 0x80, 0x66, 0x11, 0xc7, 0x51, 0x24, 0xe6, 0xfd, 0x22, 0xbe, 0xa3, 0x0c, 0x14, - 0x75, 0x7b, 0xef, 0x81, 0xf3, 0x77, 0xc3, 0xde, 0x81, 0x54, 0xc9, 0xe4, 0x4f, 0x55, 0xb4, 0xda, - 0xea, 0xb1, 0xc9, 0xe4, 0x87, 0xf0, 0x4c, 0x2c, 0x3e, 0xc2, 0x5b, 0x35, 0xf2, 0x34, 0x90, 0x5b, - 0x50, 0x7b, 0x2c, 0x56, 0x3f, 0x1c, 0x45, 0x93, 0x53, 0x68, 0x3c, 0x56, 0x67, 0xe7, 0x06, 0xc4, - 0x82, 0x5e, 0x03, 0x21, 0x79, 0x28, 0x79, 0x1e, 0xfd, 0x0c, 0x98, 0xb3, 0x11, 0x2b, 0x7a, 0x53, - 0x4b, 0x31, 0x29, 0x26, 0x0c, 0xa1, 0x67, 0x31, 0xd9, 0x50, 0x82, 0xb8, 0xd2, 0x26, 0x88, 0xc7, - 0xe1, 0x48, 0x03, 0xef, 0xb6, 0xc2, 0x99, 0xee, 0xe9, 0xb9, 0xe1, 0x52, 0xc2, 0x4c, 0xf4, 0xa7, - 0x03, 0xd8, 0x9f, 0xde, 0x80, 0x01, 0xd9, 0x4a, 0x96, 0xa1, 0x60, 0x53, 0x2d, 0xd8, 0xa6, 0xde, - 0xd0, 0xb2, 0xc4, 0x95, 0x84, 0xa4, 0x60, 0x56, 0x6d, 0xd0, 0xac, 0xee, 0xea, 0x28, 0x66, 0x60, - 0x60, 0xe6, 0x69, 0xc1, 0x9e, 0xa5, 0x27, 0x88, 0x2b, 0x05, 0x82, 0xe4, 0x8f, 0x7a, 0x1b, 0x74, - 0x2e, 0x2d, 0xc1, 0x0c, 0x0c, 0x8c, 0x42, 0x6d, 0x85, 0x81, 0xe9, 0x2f, 0x74, 0x97, 0xa1, 0x28, - 0xda, 0xd8, 0x01, 0x6c, 0x63, 0xda, 0x0b, 0xdd, 0x95, 0x58, 0x0a, 0x6e, 0xd6, 0x82, 0xdd, 0xcc, - 0xd8, 0x47, 0xdf, 0x93, 0xfb, 0xe8, 0x7b, 0x7c, 0x1f, 0x53, 0x4f, 0x33, 0xf5, 0x91, 0x82, 0x81, - 0xc1, 0xa9, 0xad, 0xb0, 0x36, 0x73, 0x1f, 0x13, 0x8a, 0xa2, 0xc1, 0x1d, 0xc0, 0x06, 0x67, 0xec, - 0x23, 0xcf, 0x52, 0xf0, 0xb9, 0x26, 0xe8, 0x73, 0x77, 0xb5, 0x24, 0xe3, 0x42, 0x42, 0x91, 0x77, - 0xbb, 0x16, 0xe4, 0x76, 0x77, 0x74, 0xf4, 0x52, 0x24, 0x28, 0x66, 0xb5, 0x15, 0xa6, 0xa7, 0xef, - 0x20, 0x29, 0x15, 0x3a, 0x48, 0xcd, 0xea, 0x00, 0xb6, 0x3e, 0x6d, 0x07, 0x19, 0x3c, 0x38, 0x7d, - 0xb5, 0x60, 0x07, 0xd4, 0x2b, 0x11, 0x57, 0x0a, 0x4a, 0x24, 0x3e, 0xd8, 0x06, 0x7d, 0x50, 0xab, - 0xc4, 0x0c, 0x0c, 0x0a, 0x65, 0x1b, 0x3f, 0x43, 0xaf, 0xc2, 0x76, 0xe6, 0xac, 0xa1, 0xf2, 0xcf, - 0x07, 0xa7, 0xf8, 0xe1, 0xd0, 0x42, 0x27, 0xfe, 0xd1, 0xf9, 0x16, 0x5a, 0xf8, 0x45, 0xec, 0xad, - 0x39, 0xfe, 0x7b, 0x84, 0x14, 0xde, 0xbf, 0xfc, 0x9d, 0xd2, 0xc6, 0x0f, 0xd0, 0xb5, 0x0b, 0x42, - 0xfe, 0x09, 0xba, 0x09, 0xfa, 0x1c, 0x70, 0x80, 0x2d, 0xfe, 0x00, 0x9a, 0x29, 0x21, 0x83, 0xff, - 0x0c, 0xad, 0x5e, 0x08, 0xee, 0x4f, 0xd1, 0x0d, 0xc0, 0x03, 0x01, 0x74, 0x8f, 0x47, 0xd7, 0x0f, - 0x05, 0xb9, 0xc6, 0x38, 0xb2, 0x27, 0x9e, 0x23, 0xfe, 0xc7, 0xc8, 0x91, 0xed, 0x11, 0xc0, 0x7f, - 0x87, 0xc7, 0xd7, 0x4e, 0x11, 0x19, 0xf8, 0x1f, 0xa3, 0x75, 0xc9, 0x2f, 0xcf, 0x0f, 0x9d, 0x21, - 0x9f, 0xf9, 0x48, 0x11, 0x78, 0x66, 0xd8, 0x07, 0x92, 0xbf, 0x08, 0x74, 0x46, 0x3a, 0x5d, 0x2d, - 0xbe, 0xf1, 0xd2, 0x76, 0xe1, 0x03, 0x64, 0xd2, 0xb9, 0x18, 0x7c, 0xbe, 0xfb, 0xd4, 0x7d, 0x0a, - 0xf6, 0x27, 0x19, 0x28, 0xaa, 0xba, 0x7f, 0xee, 0xe8, 0x42, 0xf7, 0xd5, 0xf8, 0xb9, 0xba, 0x03, - 0x1c, 0x80, 0xef, 0xfe, 0xf9, 0xe3, 0xff, 0x08, 0xad, 0x4b, 0x3e, 0x5d, 0xe4, 0xcf, 0x71, 0x36, - 0x40, 0x65, 0xc0, 0x3f, 0x42, 0x6b, 0xa2, 0x73, 0x9f, 0x1b, 0x36, 0xd3, 0x79, 0xc6, 0x73, 0x8b, - 0x74, 0x86, 0x9d, 0xba, 0x82, 0x9d, 0xbf, 0x18, 0x7c, 0x46, 0xf7, 0x99, 0x23, 0x17, 0x51, 0x26, - 0xfb, 0x5f, 0x7f, 0x90, 0xee, 0x2f, 0x00, 0x7d, 0xf3, 0xdf, 0x55, 0xb4, 0xdc, 0xea, 0x65, 0x33, - 0xdb, 0x8f, 0xd5, 0x89, 0xf9, 0x9b, 0xd9, 0x5e, 0x24, 0x29, 0x57, 0xe4, 0x65, 0xf5, 0x3f, 0x95, - 0x34, 0xe4, 0xd4, 0xfc, 0x0d, 0x00, 0x56, 0x80, 0x03, 0x1f, 0xba, 0x7f, 0xa4, 0xcc, 0xcd, 0xf7, - 0x34, 0x44, 0x85, 0xb4, 0xab, 0xf8, 0x77, 0x95, 0x47, 0x52, 0x76, 0xbe, 0x0d, 0x60, 0xf2, 0x58, - 0xd0, 0x73, 0xfd, 0x43, 0x45, 0x7a, 0xbe, 0xab, 0x63, 0xc8, 0x66, 0x5d, 0x70, 0xc2, 0xdb, 0x85, - 0x13, 0xf4, 0x1d, 0x08, 0x54, 0xce, 0xcf, 0xca, 0x51, 0xef, 0x53, 0x38, 0x43, 0xdf, 0xd1, 0x70, - 0x65, 0x43, 0x2f, 0x34, 0xf4, 0xed, 0x80, 0x39, 0xfa, 0x75, 0x35, 0x51, 0x06, 0x50, 0x35, 0xfd, - 0x7d, 0x0a, 0x27, 0x69, 0x1d, 0x4d, 0x36, 0x54, 0x42, 0x73, 0xe0, 0x0e, 0x98, 0xa6, 0x35, 0x34, - 0x19, 0x40, 0xd5, 0x40, 0xf8, 0x50, 0x91, 0xa7, 0x75, 0x97, 0xbe, 0x2b, 0x11, 0x15, 0x33, 0x75, - 0x17, 0xce, 0xd4, 0x9a, 0x4b, 0xdf, 0x05, 0xb9, 0x0a, 0xa9, 0xfa, 0x29, 0x9c, 0xaa, 0x0d, 0x3d, - 0x4d, 0x03, 0x26, 0x34, 0x2d, 0xee, 0x80, 0xc9, 0x5a, 0xdf, 0xd3, 0x04, 0x50, 0x35, 0x36, 0x3e, - 0x54, 0x64, 0x6b, 0x53, 0x4f, 0x79, 0xa2, 0x62, 0xbe, 0xee, 0xc2, 0xf9, 0xda, 0xd0, 0x53, 0x99, - 0xab, 0x90, 0xb0, 0x1f, 0x83, 0x09, 0xfb, 0x75, 0x0d, 0x55, 0x26, 0x15, 0x03, 0x33, 0xe5, 0x27, - 0x50, 0xca, 0x7e, 0x4d, 0x4d, 0x32, 0x43, 0x53, 0x0c, 0x97, 0x0f, 0x15, 0x39, 0x5b, 0xd7, 0x4d, - 0x2e, 0x15, 0x83, 0x63, 0xe6, 0x2e, 0x9c, 0xb5, 0x35, 0xdd, 0x64, 0x31, 0x95, 0xf3, 0xe6, 0xa7, - 0x70, 0xda, 0xd6, 0x29, 0x94, 0x8d, 0xc7, 0xd0, 0xe4, 0xb9, 0x03, 0x26, 0x6e, 0x8d, 0x42, 0x19, - 0x40, 0xc5, 0x08, 0x7a, 0x9e, 0xb9, 0xe7, 0x99, 0x7b, 0x9e, 0xb9, 0xe7, 0x99, 0x7b, 0x9e, 0xb9, - 0xe7, 0x99, 0x7b, 0x9e, 0xb9, 0xe7, 0x99, 0x1b, 0xce, 0xdc, 0x7f, 0x5e, 0x40, 0xd7, 0x9f, 0x8c, - 0x06, 0xe1, 0x73, 0xe6, 0x49, 0xf5, 0x7d, 0x36, 0x18, 0x1b, 0xdf, 0xda, 0xd8, 0xe3, 0x9e, 0x20, - 0x7f, 0x9b, 0x49, 0xab, 0x26, 0xe3, 0xdc, 0x63, 0x1f, 0xee, 0x7e, 0x1f, 0x2d, 0x4d, 0x06, 0xe3, - 0xfc, 0x2f, 0x64, 0xc4, 0x87, 0x4d, 0x17, 0x38, 0xdf, 0x45, 0x8b, 0x93, 0xc1, 0x38, 0xef, 0x2b, - 0x18, 0xf1, 0x81, 0x93, 0x72, 0xba, 0x34, 0xef, 0x4b, 0x17, 0x74, 0x29, 0x89, 0x2a, 0x84, 0x73, - 0xfe, 0xd7, 0x2c, 0x28, 0x67, 0x1a, 0x74, 0xd2, 0x03, 0xe7, 0x7a, 0xb1, 0x22, 0x3b, 0xb0, 0xef, - 0x31, 0x07, 0xce, 0xf7, 0x2a, 0x05, 0x73, 0x60, 0xdf, 0x73, 0x76, 0xd0, 0xd5, 0xc9, 0x60, 0x9c, - 0xef, 0xe5, 0x89, 0xbd, 0x4b, 0x9d, 0xa4, 0x98, 0x1e, 0x35, 0xff, 0xeb, 0x12, 0xf4, 0xa8, 0x74, - 0xd7, 0x4c, 0x4e, 0x37, 0xef, 0x0b, 0x12, 0xf4, 0x74, 0xf1, 0x07, 0xc1, 0x3a, 0xd6, 0xe8, 0x13, - 0xaa, 0xd1, 0x58, 0x6b, 0x9b, 0xff, 0x5d, 0x40, 0xab, 0x58, 0xb7, 0xe9, 0xb4, 0xe8, 0x7d, 0x2b, - 0xd5, 0x92, 0xb1, 0x10, 0xaf, 0xdd, 0x77, 0x2d, 0xb4, 0x4b, 0xc6, 0x35, 0x9c, 0x82, 0x03, 0x4b, - 0x05, 0x93, 0x24, 0xc0, 0xeb, 0x78, 0xd7, 0x4a, 0xc7, 0x29, 0x42, 0xa6, 0xe6, 0x5d, 0x2b, 0x35, - 0x73, 0x00, 0x44, 0x95, 0x81, 0xa5, 0xa6, 0xb9, 0xb3, 0xa0, 0xca, 0xde, 0xb5, 0x52, 0xb6, 0x48, - 0x02, 0xbf, 0x27, 0x67, 0xa7, 0x6f, 0x89, 0x04, 0xbe, 0x47, 0xf2, 0xab, 0x3c, 0x5d, 0x9f, 0x6a, - 0x3d, 0xb0, 0xd4, 0x3a, 0xc7, 0x80, 0x2a, 0x7e, 0xd7, 0x4a, 0xf1, 0x5c, 0x1b, 0x88, 0xee, 0xaf, - 0x63, 0x8d, 0x3f, 0xc1, 0x1a, 0x8f, 0x55, 0x1a, 0xdc, 0xfb, 0xe2, 0xcb, 0x6a, 0xe9, 0xe5, 0x97, - 0xd5, 0xd2, 0x1f, 0xcf, 0xaa, 0xa5, 0xbf, 0x9c, 0x55, 0x4b, 0x7f, 0x3d, 0xab, 0x96, 0x3e, 0x3f, - 0xab, 0x96, 0xfe, 0x76, 0x56, 0x2d, 0x7d, 0x71, 0x56, 0x2d, 0xbd, 0x3c, 0xab, 0x5e, 0xfa, 0xe5, - 0x3f, 0xab, 0x97, 0xfa, 0x57, 0xf0, 0x11, 0xfc, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xb3, - 0x35, 0x4d, 0x74, 0x40, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/types/combos/marshaler/types.pb.go b/vendor/github.com/gogo/protobuf/test/types/combos/marshaler/types.pb.go index c175a9218..418ad61b4 100644 --- a/vendor/github.com/gogo/protobuf/test/types/combos/marshaler/types.pb.go +++ b/vendor/github.com/gogo/protobuf/test/types/combos/marshaler/types.pb.go @@ -3,16 +3,16 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import types "github.com/gogo/protobuf/types" - -import time "time" -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import bytes "bytes" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -47,7 +47,7 @@ func (m *KnownTypes) Reset() { *m = KnownTypes{} } func (m *KnownTypes) String() string { return proto.CompactTextString(m) } func (*KnownTypes) ProtoMessage() {} func (*KnownTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{0} + return fileDescriptor_a143c1648742cb2e, []int{0} } func (m *KnownTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KnownTypes.Unmarshal(m, b) @@ -64,8 +64,8 @@ func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *KnownTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_KnownTypes.Merge(dst, src) +func (m *KnownTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_KnownTypes.Merge(m, src) } func (m *KnownTypes) XXX_Size() int { return m.Size() @@ -185,7 +185,7 @@ func (m *ProtoTypes) Reset() { *m = ProtoTypes{} } func (m *ProtoTypes) String() string { return proto.CompactTextString(m) } func (*ProtoTypes) ProtoMessage() {} func (*ProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{1} + return fileDescriptor_a143c1648742cb2e, []int{1} } func (m *ProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ProtoTypes.Unmarshal(m, b) @@ -202,8 +202,8 @@ func (m *ProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *ProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoTypes.Merge(dst, src) +func (m *ProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoTypes.Merge(m, src) } func (m *ProtoTypes) XXX_Size() int { return m.Size() @@ -400,7 +400,7 @@ func (m *StdTypes) Reset() { *m = StdTypes{} } func (m *StdTypes) String() string { return proto.CompactTextString(m) } func (*StdTypes) ProtoMessage() {} func (*StdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{2} + return fileDescriptor_a143c1648742cb2e, []int{2} } func (m *StdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StdTypes.Unmarshal(m, b) @@ -417,8 +417,8 @@ func (m *StdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *StdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_StdTypes.Merge(dst, src) +func (m *StdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_StdTypes.Merge(m, src) } func (m *StdTypes) XXX_Size() int { return m.Size() @@ -615,7 +615,7 @@ func (m *RepProtoTypes) Reset() { *m = RepProtoTypes{} } func (m *RepProtoTypes) String() string { return proto.CompactTextString(m) } func (*RepProtoTypes) ProtoMessage() {} func (*RepProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{3} + return fileDescriptor_a143c1648742cb2e, []int{3} } func (m *RepProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RepProtoTypes.Unmarshal(m, b) @@ -632,8 +632,8 @@ func (m *RepProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *RepProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepProtoTypes.Merge(dst, src) +func (m *RepProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepProtoTypes.Merge(m, src) } func (m *RepProtoTypes) XXX_Size() int { return m.Size() @@ -830,7 +830,7 @@ func (m *RepStdTypes) Reset() { *m = RepStdTypes{} } func (m *RepStdTypes) String() string { return proto.CompactTextString(m) } func (*RepStdTypes) ProtoMessage() {} func (*RepStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{4} + return fileDescriptor_a143c1648742cb2e, []int{4} } func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RepStdTypes.Unmarshal(m, b) @@ -847,8 +847,8 @@ func (m *RepStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *RepStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepStdTypes.Merge(dst, src) +func (m *RepStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepStdTypes.Merge(m, src) } func (m *RepStdTypes) XXX_Size() int { return m.Size() @@ -1045,7 +1045,7 @@ func (m *MapProtoTypes) Reset() { *m = MapProtoTypes{} } func (m *MapProtoTypes) String() string { return proto.CompactTextString(m) } func (*MapProtoTypes) ProtoMessage() {} func (*MapProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{5} + return fileDescriptor_a143c1648742cb2e, []int{5} } func (m *MapProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapProtoTypes.Unmarshal(m, b) @@ -1062,8 +1062,8 @@ func (m *MapProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *MapProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapProtoTypes.Merge(dst, src) +func (m *MapProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapProtoTypes.Merge(m, src) } func (m *MapProtoTypes) XXX_Size() int { return m.Size() @@ -1260,7 +1260,7 @@ func (m *MapStdTypes) Reset() { *m = MapStdTypes{} } func (m *MapStdTypes) String() string { return proto.CompactTextString(m) } func (*MapStdTypes) ProtoMessage() {} func (*MapStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{6} + return fileDescriptor_a143c1648742cb2e, []int{6} } func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapStdTypes.Unmarshal(m, b) @@ -1277,8 +1277,8 @@ func (m *MapStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *MapStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapStdTypes.Merge(dst, src) +func (m *MapStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapStdTypes.Merge(m, src) } func (m *MapStdTypes) XXX_Size() int { return m.Size() @@ -1466,7 +1466,7 @@ func (m *OneofProtoTypes) Reset() { *m = OneofProtoTypes{} } func (m *OneofProtoTypes) String() string { return proto.CompactTextString(m) } func (*OneofProtoTypes) ProtoMessage() {} func (*OneofProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{7} + return fileDescriptor_a143c1648742cb2e, []int{7} } func (m *OneofProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OneofProtoTypes.Unmarshal(m, b) @@ -1483,8 +1483,8 @@ func (m *OneofProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, err return b[:n], nil } } -func (dst *OneofProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofProtoTypes.Merge(dst, src) +func (m *OneofProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofProtoTypes.Merge(m, src) } func (m *OneofProtoTypes) XXX_Size() int { return m.Size() @@ -1901,7 +1901,7 @@ func (m *OneofStdTypes) Reset() { *m = OneofStdTypes{} } func (m *OneofStdTypes) String() string { return proto.CompactTextString(m) } func (*OneofStdTypes) ProtoMessage() {} func (*OneofStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_84a5c6bb8f2642e0, []int{8} + return fileDescriptor_a143c1648742cb2e, []int{8} } func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OneofStdTypes.Unmarshal(m, b) @@ -1918,8 +1918,8 @@ func (m *OneofStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *OneofStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofStdTypes.Merge(dst, src) +func (m *OneofStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofStdTypes.Merge(m, src) } func (m *OneofStdTypes) XXX_Size() int { return m.Size() @@ -2478,6 +2478,157 @@ func init() { proto.RegisterType((*OneofProtoTypes)(nil), "types.OneofProtoTypes") proto.RegisterType((*OneofStdTypes)(nil), "types.OneofStdTypes") } + +func init() { proto.RegisterFile("combos/marshaler/types.proto", fileDescriptor_a143c1648742cb2e) } + +var fileDescriptor_a143c1648742cb2e = []byte{ + // 2299 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1c, 0x47, + 0x19, 0xd5, 0x7a, 0x57, 0xb6, 0xd4, 0x92, 0x6c, 0x69, 0x1c, 0xa7, 0x06, 0x91, 0x5a, 0x1b, 0x25, + 0x76, 0x4c, 0x52, 0x91, 0xc8, 0x8c, 0x4a, 0x80, 0x21, 0x51, 0x32, 0x65, 0x7b, 0xb5, 0x1b, 0xc9, + 0x5e, 0xaf, 0xb4, 0x2e, 0x08, 0x04, 0xd8, 0x8d, 0xc6, 0x8a, 0x8a, 0xd5, 0xce, 0xd6, 0xee, 0x2c, + 0x29, 0xdd, 0xf8, 0x03, 0x38, 0x70, 0x83, 0x2a, 0x2e, 0x70, 0xe3, 0xca, 0x81, 0x2a, 0x8e, 0x1c, + 0x73, 0xe4, 0x2f, 0x80, 0x44, 0x5c, 0xb8, 0x02, 0x17, 0x5f, 0xa8, 0xa2, 0xa6, 0xbb, 0x67, 0xa6, + 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x25, 0xdd, 0x74, 0x93, 0x76, 0xbf, 0x7e, 0xf3, 0xe6, 0x9b, 0x37, + 0x7a, 0xfd, 0xbe, 0xd1, 0xa0, 0xd7, 0x3e, 0x8d, 0x4e, 0xfa, 0xd1, 0x64, 0xe3, 0xa4, 0x37, 0x9e, + 0x7c, 0xd6, 0x1b, 0x84, 0xe3, 0x8d, 0xf8, 0x74, 0x14, 0x4e, 0xd6, 0x47, 0xe3, 0x28, 0x8e, 0x9c, + 0x59, 0xfc, 0xcb, 0xea, 0x3b, 0x47, 0xc7, 0xf1, 0x67, 0xd3, 0xfe, 0xfa, 0xa7, 0xd1, 0xc9, 0xc6, + 0x51, 0x74, 0x14, 0x6d, 0xe0, 0x6f, 0xfb, 0xd3, 0x17, 0xf8, 0x37, 0xfc, 0x0b, 0xfe, 0x89, 0xac, + 0x5a, 0xad, 0x1f, 0x45, 0xd1, 0xd1, 0x20, 0xcc, 0xab, 0x0e, 0xa7, 0xe3, 0x5e, 0x7c, 0x1c, 0x0d, + 0xe9, 0xf7, 0xb7, 0xc5, 0xef, 0xe3, 0xe3, 0x93, 0x70, 0x12, 0xf7, 0x4e, 0x46, 0x2a, 0x80, 0xcf, + 0xc7, 0xbd, 0xd1, 0x28, 0x1c, 0x53, 0x5a, 0x6b, 0xbf, 0xab, 0x21, 0xf4, 0xd1, 0x30, 0xfa, 0x7c, + 0x78, 0x90, 0xd0, 0x73, 0xde, 0x46, 0xd5, 0xc3, 0xe9, 0xd8, 0xad, 0xdc, 0xa9, 0xdc, 0x5f, 0xf0, + 0xbe, 0xb6, 0x4e, 0x16, 0xaf, 0xa7, 0x8b, 0xd7, 0x1f, 0xd2, 0xa3, 0x77, 0x92, 0x2a, 0xe7, 0x2d, + 0x74, 0x25, 0x9e, 0xb8, 0x57, 0x70, 0xed, 0xaa, 0x54, 0x7b, 0x90, 0x32, 0xe9, 0x5c, 0x89, 0x27, + 0xce, 0x3a, 0xaa, 0x1e, 0xf6, 0x07, 0x6e, 0x15, 0x17, 0xbf, 0x26, 0x03, 0x47, 0xd3, 0xfe, 0x20, + 0x7c, 0xde, 0x1b, 0x4c, 0xc3, 0x4e, 0x52, 0xe8, 0xbc, 0x83, 0xaa, 0x2f, 0x06, 0xb1, 0x5b, 0xc3, + 0xf5, 0x5f, 0x97, 0xea, 0x1f, 0x0f, 0xa2, 0x5e, 0x4c, 0xcb, 0x5f, 0x0c, 0xe2, 0xa4, 0xfc, 0x78, + 0x6b, 0xd3, 0x9d, 0x55, 0x94, 0x37, 0x87, 0xf1, 0xd6, 0x26, 0x2d, 0x3f, 0xde, 0xda, 0x4c, 0xd8, + 0x4c, 0xb7, 0x36, 0xdd, 0xab, 0x0a, 0x36, 0x5d, 0xb6, 0x7e, 0xba, 0xb5, 0x89, 0xe1, 0x7d, 0xcf, + 0xbd, 0xa6, 0x86, 0xf7, 0xbd, 0x14, 0xde, 0xf7, 0x30, 0xbc, 0xef, 0xb9, 0x73, 0x1a, 0xf8, 0xac, + 0x7e, 0x8a, 0xeb, 0x6b, 0xfd, 0x28, 0x1a, 0xb8, 0xf3, 0x8a, 0x56, 0x06, 0x51, 0x34, 0x20, 0xe5, + 0xb8, 0x2e, 0xc1, 0x9f, 0xc4, 0x63, 0x17, 0x29, 0xf0, 0xf7, 0xe3, 0xf1, 0xf1, 0xf0, 0x88, 0xe2, + 0x4f, 0xe2, 0xb1, 0xf3, 0x2e, 0x9a, 0xed, 0x9f, 0xc6, 0xe1, 0xc4, 0x5d, 0x50, 0x9c, 0x40, 0x90, + 0x7c, 0x4b, 0x16, 0x90, 0xca, 0x07, 0xb5, 0x7f, 0xfd, 0xe1, 0x76, 0x65, 0xed, 0x57, 0x8b, 0x08, + 0xb5, 0x93, 0x22, 0xa2, 0x8e, 0x1d, 0xb4, 0x32, 0x9c, 0x0e, 0x06, 0xbd, 0xfe, 0x20, 0xcc, 0xae, + 0x2e, 0xd5, 0x8a, 0xee, 0xfa, 0xcb, 0x8b, 0x9c, 0x47, 0x68, 0x39, 0xfd, 0x30, 0xd5, 0x14, 0x15, + 0x92, 0x46, 0x74, 0xd2, 0x12, 0xe7, 0x21, 0xba, 0x9e, 0x7d, 0x86, 0x15, 0x54, 0x48, 0x60, 0xc2, + 0x1a, 0xe7, 0x43, 0xb4, 0x94, 0x7e, 0x82, 0x75, 0x55, 0x44, 0x75, 0xfc, 0x0a, 0x16, 0x02, 0x6b, + 0xa7, 0x88, 0x12, 0xf9, 0x15, 0xec, 0xb9, 0x10, 0xfd, 0x15, 0x92, 0xa7, 0xb0, 0x46, 0x20, 0x52, + 0x4c, 0xb3, 0xfc, 0x0a, 0x91, 0x48, 0x41, 0x21, 0x0b, 0x6b, 0x9c, 0xf7, 0xd1, 0x62, 0xfa, 0x49, + 0x50, 0x4c, 0xdb, 0x5c, 0x3d, 0xcb, 0x82, 0xe8, 0xb9, 0x90, 0xdc, 0x85, 0x35, 0x6c, 0x3b, 0x82, + 0xa2, 0x77, 0x00, 0xbf, 0xc2, 0x79, 0x1f, 0xcd, 0x67, 0x7f, 0x54, 0xdd, 0x45, 0x93, 0xd8, 0x83, + 0xda, 0x17, 0x7f, 0xbf, 0x3d, 0xd3, 0xc9, 0x97, 0x38, 0xdf, 0x43, 0x73, 0xe9, 0x1f, 0x6d, 0x77, + 0xc9, 0x20, 0x71, 0xba, 0x3a, 0x5b, 0xe0, 0xec, 0xa0, 0xa5, 0x61, 0x34, 0x4c, 0x08, 0x51, 0x7d, + 0x5f, 0x37, 0xeb, 0x9b, 0x82, 0xf0, 0x0b, 0x9d, 0x47, 0x68, 0x91, 0x7e, 0x40, 0x34, 0x7e, 0xc3, + 0xa8, 0x71, 0x8a, 0xc3, 0x2d, 0x63, 0x60, 0x88, 0x46, 0x97, 0x8d, 0x3a, 0x17, 0x60, 0x88, 0x4c, + 0xf3, 0xf3, 0xa2, 0x5a, 0x5f, 0x31, 0x6b, 0x5d, 0x38, 0x2f, 0x2a, 0x78, 0x8e, 0x90, 0xef, 0xb9, + 0x8e, 0x51, 0xef, 0x32, 0x21, 0xdf, 0x13, 0x08, 0xf9, 0x9e, 0x7b, 0xd3, 0xac, 0x79, 0x80, 0x90, + 0xef, 0x39, 0x01, 0x5a, 0xa0, 0x1f, 0x60, 0xdd, 0xbf, 0x62, 0xd2, 0x3d, 0x45, 0x61, 0x17, 0x31, + 0x6c, 0xa8, 0xf6, 0x6f, 0x99, 0xb5, 0x2f, 0xb0, 0xa1, 0x37, 0x40, 0xde, 0x1e, 0xa2, 0xff, 0x57, + 0x8d, 0xfa, 0x17, 0xda, 0x13, 0x30, 0x76, 0xf0, 0x9f, 0x45, 0x34, 0xb7, 0x1f, 0x1f, 0x12, 0x33, + 0x78, 0x52, 0xca, 0x0c, 0x82, 0xda, 0xaf, 0xff, 0x71, 0xbb, 0x02, 0x59, 0xc2, 0x47, 0x25, 0x2c, + 0x21, 0xa8, 0xfd, 0x36, 0x41, 0x93, 0x8d, 0xa1, 0x55, 0xc6, 0x18, 0x82, 0xda, 0xef, 0x13, 0x34, + 0xd1, 0x1e, 0x1a, 0xf6, 0xf6, 0x40, 0x91, 0x04, 0x93, 0x68, 0xd8, 0x9b, 0x84, 0x08, 0x44, 0x34, + 0xdf, 0x2a, 0x63, 0x15, 0xe2, 0xd9, 0xd1, 0xfb, 0xa7, 0x61, 0x6f, 0x18, 0x00, 0x29, 0xdf, 0x13, + 0x49, 0x15, 0xb3, 0x0d, 0x88, 0x14, 0xb6, 0x20, 0x4b, 0xf3, 0xa0, 0x38, 0xbc, 0x85, 0xb4, 0xca, + 0x58, 0x88, 0xc8, 0x88, 0xde, 0x47, 0x0d, 0x7b, 0x23, 0x11, 0xdb, 0x44, 0xec, 0x24, 0xb0, 0xb3, + 0x93, 0xb9, 0xe4, 0x66, 0xc4, 0xb7, 0x0c, 0x63, 0x29, 0xdb, 0x36, 0x96, 0x82, 0x11, 0xf0, 0x6d, + 0x92, 0xdb, 0xca, 0x6e, 0x19, 0x5b, 0xc1, 0x40, 0xf4, 0x94, 0x38, 0x6b, 0x69, 0xda, 0x5b, 0x4b, + 0x8e, 0xc5, 0xdb, 0x4b, 0xd3, 0xde, 0x5e, 0x64, 0x28, 0x22, 0xec, 0xdd, 0x32, 0x16, 0x23, 0x9f, + 0x23, 0xbd, 0x4d, 0x9a, 0xf6, 0x36, 0x03, 0x12, 0xf3, 0x3d, 0x81, 0x58, 0x41, 0xab, 0x81, 0x89, + 0xf9, 0x9e, 0xf3, 0xd8, 0xd6, 0x6e, 0x72, 0x24, 0xce, 0x72, 0x76, 0xcb, 0x58, 0x8e, 0xcc, 0x8a, + 0xde, 0x2e, 0x4d, 0x7b, 0xdb, 0x91, 0xdb, 0x85, 0xbf, 0x5c, 0xfb, 0xcd, 0x22, 0x5a, 0xea, 0x84, + 0x23, 0x26, 0x86, 0xb4, 0x90, 0x23, 0xd9, 0xc7, 0xc4, 0xad, 0xdc, 0xa9, 0x1a, 0x72, 0x08, 0xb0, + 0xca, 0x69, 0xe4, 0x2e, 0x96, 0xde, 0x31, 0x49, 0xa4, 0xad, 0xea, 0x93, 0x88, 0xbc, 0xc6, 0xf9, + 0x00, 0xa1, 0x38, 0x27, 0x53, 0x35, 0x91, 0xa1, 0x2e, 0xcb, 0xac, 0x71, 0xde, 0x43, 0xf3, 0x87, + 0x19, 0x85, 0x9a, 0x81, 0x42, 0xba, 0xcf, 0xcc, 0x56, 0x00, 0x59, 0x68, 0x16, 0x63, 0xd8, 0x65, + 0x21, 0x69, 0xc3, 0x79, 0xd5, 0x0c, 0x02, 0x6f, 0x38, 0xa5, 0x54, 0x75, 0x0d, 0x23, 0xd9, 0xa4, + 0x2a, 0x71, 0xcf, 0x3a, 0x67, 0x44, 0x00, 0xf7, 0xac, 0x52, 0x38, 0x9b, 0x57, 0xe0, 0xa8, 0xc3, + 0x99, 0xb8, 0xed, 0x45, 0x46, 0x04, 0x70, 0xdb, 0x2b, 0x67, 0xbc, 0x05, 0x45, 0x7b, 0x75, 0x19, + 0x4f, 0xda, 0x3c, 0x2f, 0x9a, 0x41, 0xe0, 0xcd, 0xb3, 0x94, 0x16, 0x97, 0xd4, 0xe7, 0xa5, 0x48, + 0x8b, 0xe2, 0xfe, 0xfb, 0xba, 0x11, 0x01, 0xdc, 0x7f, 0xcb, 0xa1, 0xf3, 0x86, 0xe6, 0xa4, 0x54, + 0xa1, 0x53, 0xda, 0xc5, 0x2f, 0x9b, 0x41, 0xe0, 0x5d, 0xbc, 0x18, 0x5f, 0x57, 0x14, 0x37, 0xb4, + 0x2a, 0xbe, 0x0a, 0x29, 0xc0, 0x31, 0x2d, 0x87, 0x52, 0x80, 0x1c, 0x81, 0x6f, 0x2a, 0x4e, 0x47, + 0x17, 0x81, 0xa5, 0x2c, 0xf1, 0x8a, 0x19, 0x04, 0xce, 0x12, 0x52, 0x98, 0xbe, 0xa5, 0xb8, 0xd6, + 0xea, 0x30, 0x2d, 0xc7, 0x91, 0x6a, 0xf9, 0x38, 0xf2, 0xbf, 0x45, 0xb4, 0xd0, 0x09, 0x47, 0x59, + 0x22, 0x69, 0x97, 0xf3, 0x05, 0x1a, 0x49, 0x20, 0x77, 0xd8, 0x2b, 0xe3, 0x0e, 0x34, 0x94, 0x00, + 0x1e, 0xf1, 0xd0, 0xd2, 0x23, 0xf2, 0xcd, 0x1f, 0xeb, 0x13, 0x1f, 0x5a, 0xf9, 0x44, 0xbe, 0xfd, + 0x63, 0xbc, 0xa2, 0x55, 0xc6, 0x2b, 0x14, 0xf1, 0x68, 0xb7, 0x8c, 0x63, 0x28, 0xf7, 0x92, 0x0d, + 0x7b, 0xd7, 0x80, 0xc3, 0x56, 0xd3, 0xde, 0x3b, 0x54, 0x9b, 0xd2, 0x86, 0xbd, 0x7f, 0xc0, 0xb9, + 0xad, 0x69, 0xef, 0x22, 0xaa, 0xdd, 0x6d, 0xab, 0x8c, 0x93, 0x28, 0x22, 0xe0, 0x6e, 0x19, 0x3f, + 0x51, 0xee, 0x94, 0x1b, 0xf6, 0x9e, 0x02, 0x07, 0xca, 0xa6, 0xbd, 0xb3, 0xa8, 0xb6, 0xdc, 0xad, + 0x32, 0xee, 0xa2, 0xc8, 0xa6, 0xbb, 0x65, 0x3c, 0x46, 0xb9, 0x7d, 0x7f, 0x68, 0xeb, 0x33, 0x60, + 0xd2, 0x7d, 0x6c, 0xeb, 0x36, 0x8a, 0x10, 0xd0, 0x2a, 0xe3, 0x38, 0x8a, 0xc4, 0xbc, 0x5b, 0xc6, + 0x77, 0x94, 0x81, 0xa2, 0x61, 0xef, 0x3d, 0x70, 0xfe, 0x6e, 0xda, 0x3b, 0x90, 0x2a, 0x99, 0xfc, + 0xa9, 0x8e, 0x96, 0xf6, 0x7a, 0x6c, 0x32, 0xf9, 0x21, 0x3c, 0x13, 0x4b, 0x8e, 0xf0, 0xf6, 0x3a, + 0x79, 0x1a, 0xc8, 0x2d, 0x58, 0x7f, 0x22, 0x56, 0x3f, 0x1a, 0xc6, 0xe3, 0x53, 0x68, 0x3c, 0xd6, + 0x60, 0xe7, 0x06, 0xc4, 0x82, 0x5e, 0x07, 0x21, 0x79, 0x28, 0x79, 0x1e, 0xfd, 0x1c, 0x98, 0xb3, + 0x11, 0x2b, 0x7a, 0x4b, 0x4b, 0x31, 0x2d, 0x26, 0x0c, 0xa1, 0x67, 0x31, 0xf9, 0x50, 0x82, 0xb8, + 0xd2, 0x1a, 0x88, 0xc7, 0xe1, 0x48, 0x03, 0xef, 0xb6, 0xc2, 0x99, 0xee, 0xeb, 0xb9, 0xe1, 0x52, + 0xc2, 0x4c, 0xf4, 0xa7, 0x7d, 0xd8, 0x9f, 0xde, 0x84, 0x01, 0xd9, 0x4a, 0x96, 0xa1, 0x60, 0x53, + 0x7b, 0xb0, 0x4d, 0xbd, 0xa9, 0x65, 0x89, 0x2b, 0x09, 0x49, 0xc1, 0xac, 0xda, 0xa0, 0x59, 0xdd, + 0xd3, 0x51, 0xcc, 0xc1, 0xc0, 0xcc, 0xb3, 0x07, 0x7b, 0x96, 0x9e, 0x20, 0xae, 0x14, 0x08, 0x92, + 0x3f, 0xea, 0x6d, 0xd0, 0xb9, 0xb4, 0x04, 0x73, 0x30, 0x30, 0x0a, 0xb5, 0x15, 0x06, 0xa6, 0xbf, + 0xd0, 0x5d, 0x86, 0xa2, 0x68, 0x63, 0xfb, 0xb0, 0x8d, 0x69, 0x2f, 0x74, 0x57, 0x62, 0x29, 0xb8, + 0xd9, 0x1e, 0xec, 0x66, 0xc6, 0x3e, 0xfa, 0x9e, 0xdc, 0x47, 0xdf, 0xe3, 0xfb, 0x98, 0x79, 0x9a, + 0xa9, 0x8f, 0x14, 0x0c, 0x0c, 0x4e, 0x6d, 0x85, 0xb5, 0x99, 0xfb, 0x98, 0x52, 0x14, 0x0d, 0x6e, + 0x1f, 0x36, 0x38, 0x63, 0x1f, 0x79, 0x96, 0x82, 0xcf, 0xb5, 0x40, 0x9f, 0xbb, 0xa7, 0x25, 0x99, + 0x14, 0x12, 0x8a, 0xbc, 0xdb, 0xed, 0x41, 0x6e, 0x77, 0x57, 0x47, 0x2f, 0x43, 0x82, 0x62, 0x56, + 0x5b, 0x61, 0x7a, 0xfa, 0x0e, 0x92, 0x52, 0xa1, 0x83, 0xd4, 0xac, 0xf6, 0x61, 0xeb, 0xd3, 0x76, + 0x90, 0xc1, 0x83, 0xd3, 0xd7, 0x1e, 0xec, 0x80, 0x7a, 0x25, 0xe2, 0x4a, 0x41, 0x89, 0xc4, 0x07, + 0xdb, 0xa0, 0x0f, 0x6a, 0x95, 0x98, 0x83, 0x41, 0xa1, 0x6c, 0xf5, 0x67, 0xe8, 0x55, 0xd8, 0xce, + 0x9c, 0x65, 0x54, 0xfd, 0x79, 0x78, 0x8a, 0x1f, 0x0e, 0xcd, 0x76, 0x92, 0x1f, 0x9d, 0x6f, 0xa1, + 0xd9, 0x5f, 0x24, 0xde, 0x5a, 0xe0, 0xbf, 0x47, 0x48, 0xe1, 0x83, 0x2b, 0xdf, 0xa9, 0xac, 0xfe, + 0x00, 0x5d, 0xbf, 0x20, 0xe4, 0x9f, 0xa0, 0x5b, 0xa0, 0xcf, 0x01, 0x07, 0xd8, 0xe0, 0x0f, 0xa0, + 0x99, 0x12, 0x32, 0xf8, 0xcf, 0xd1, 0xd2, 0x85, 0xe0, 0xfe, 0x14, 0xdd, 0x04, 0x3c, 0x10, 0x40, + 0xf7, 0x78, 0x74, 0xfd, 0x50, 0x90, 0x6b, 0x8c, 0x23, 0x7b, 0xe2, 0x39, 0xe2, 0x7f, 0x82, 0x1c, + 0xd9, 0x1e, 0x01, 0xfc, 0x77, 0x79, 0x7c, 0xed, 0x14, 0x91, 0x81, 0xff, 0x31, 0x5a, 0x91, 0xfc, + 0xf2, 0xfc, 0xd0, 0x19, 0xf2, 0xb9, 0x8f, 0x94, 0x81, 0x67, 0x86, 0x7d, 0x20, 0xf9, 0x8b, 0x40, + 0x67, 0xa4, 0xd3, 0xd5, 0xe2, 0x1b, 0x2f, 0x6d, 0x17, 0x3e, 0x40, 0x2e, 0x9d, 0x8b, 0xc1, 0xe7, + 0xbb, 0x4f, 0xdd, 0xa7, 0x64, 0x7f, 0xd2, 0x81, 0xa2, 0xaa, 0xfb, 0xe7, 0x8e, 0x2e, 0x74, 0x5f, + 0x8d, 0x5f, 0xa8, 0x3b, 0xc0, 0x01, 0xf8, 0xee, 0x9f, 0x3f, 0xfe, 0x8f, 0xd0, 0x8a, 0xe4, 0xd3, + 0x65, 0xfe, 0x1c, 0xe7, 0x03, 0x54, 0x06, 0xfc, 0x63, 0xb4, 0x2c, 0x3a, 0xf7, 0xb9, 0x61, 0x33, + 0x9d, 0x67, 0x3c, 0xb7, 0x4c, 0x67, 0xd8, 0xa9, 0x2b, 0xd8, 0xf9, 0x8b, 0xc1, 0x67, 0x74, 0x9f, + 0x3b, 0x72, 0x19, 0x65, 0xb2, 0xff, 0xf5, 0x07, 0xe9, 0xfe, 0x02, 0xd0, 0xd7, 0xfe, 0x5d, 0x47, + 0x0b, 0x7b, 0xbd, 0x7c, 0x66, 0xfb, 0x89, 0x3a, 0x31, 0x7f, 0x33, 0xdf, 0x8b, 0xa4, 0xe5, 0x8a, + 0xbc, 0xac, 0xfe, 0xa7, 0x92, 0xa6, 0x9c, 0x9a, 0xbf, 0x01, 0xc0, 0x0a, 0x70, 0xe0, 0x43, 0xf7, + 0x8f, 0x95, 0xb9, 0xf9, 0xbe, 0x86, 0xa8, 0x90, 0x76, 0x15, 0xff, 0xae, 0xf2, 0x58, 0xca, 0xce, + 0x77, 0x00, 0x4c, 0x1e, 0x0b, 0x7a, 0xae, 0x7f, 0xa0, 0x48, 0xcf, 0xf7, 0x74, 0x0c, 0xd9, 0xac, + 0x0b, 0x4e, 0x78, 0xbb, 0x70, 0x82, 0xbe, 0x0b, 0x81, 0xca, 0xf9, 0x59, 0x39, 0xea, 0x7d, 0x06, + 0x67, 0xe8, 0xbb, 0x1a, 0xae, 0x6c, 0xe8, 0x85, 0x86, 0xbe, 0x1d, 0x30, 0x47, 0xbf, 0xa1, 0x26, + 0xca, 0x00, 0xaa, 0xa6, 0xbf, 0xcf, 0xe0, 0x24, 0xad, 0xa3, 0xc9, 0x86, 0x4a, 0x68, 0x0e, 0xdc, + 0x01, 0xd3, 0xb4, 0x86, 0x26, 0x03, 0xa8, 0x1a, 0x08, 0x1f, 0x28, 0xf2, 0xb4, 0xee, 0xd2, 0x77, + 0x25, 0xa2, 0x62, 0xa6, 0xee, 0xc2, 0x99, 0x5a, 0x73, 0xe9, 0xbb, 0x20, 0x57, 0x21, 0x55, 0x3f, + 0x83, 0x53, 0xb5, 0xa1, 0xa7, 0x59, 0xc0, 0x84, 0xa6, 0xc5, 0x1d, 0x30, 0x59, 0xeb, 0x7b, 0x9a, + 0x02, 0xaa, 0xc6, 0xc6, 0x07, 0x8a, 0x6c, 0x6d, 0xea, 0x29, 0x4f, 0x54, 0xcc, 0xd7, 0x5d, 0x38, + 0x5f, 0x1b, 0x7a, 0x2a, 0x73, 0x15, 0x12, 0xf6, 0x13, 0x30, 0x61, 0xbf, 0xa1, 0xa1, 0xca, 0xa4, + 0x62, 0x60, 0xa6, 0xfc, 0x14, 0x4a, 0xd9, 0xaf, 0xab, 0x49, 0xe6, 0x68, 0x8a, 0xe1, 0xf2, 0x81, + 0x22, 0x67, 0xeb, 0xba, 0xc9, 0xa5, 0x62, 0x70, 0xcc, 0xdc, 0x85, 0xb3, 0xb6, 0xa6, 0x9b, 0x2c, + 0xa6, 0x72, 0xde, 0xfc, 0x0c, 0x4e, 0xdb, 0x3a, 0x85, 0xb2, 0xf1, 0x18, 0x9a, 0x3c, 0x77, 0xc0, + 0xc4, 0xad, 0x51, 0x28, 0x03, 0xa8, 0x18, 0x41, 0x5f, 0x66, 0xee, 0xcb, 0xcc, 0x7d, 0x99, 0xb9, + 0x2f, 0x33, 0xf7, 0x65, 0xe6, 0xbe, 0xcc, 0xdc, 0x97, 0x99, 0xfb, 0x32, 0x73, 0xc3, 0x99, 0xfb, + 0xcf, 0xb3, 0xe8, 0xc6, 0xd3, 0x61, 0x18, 0xbd, 0x60, 0x9e, 0x54, 0x3f, 0x60, 0x83, 0xb1, 0xf1, + 0xad, 0x8d, 0x1d, 0xee, 0x09, 0xf2, 0xb7, 0x99, 0xb4, 0x6a, 0x32, 0xce, 0x1d, 0xf6, 0xe1, 0xee, + 0xf7, 0xd1, 0xfc, 0x38, 0x1c, 0x15, 0x7f, 0x21, 0x23, 0x39, 0x6c, 0xb6, 0xc0, 0xf9, 0x2e, 0x9a, + 0x1b, 0x87, 0xa3, 0xa2, 0xaf, 0x60, 0x24, 0x07, 0x4e, 0xcb, 0xe9, 0xd2, 0xa2, 0x2f, 0x5d, 0xd0, + 0xa5, 0x24, 0xaa, 0x10, 0xce, 0xc5, 0x5f, 0xb3, 0xa0, 0x9c, 0x69, 0xd0, 0xc9, 0x0e, 0x5c, 0xe8, + 0xc5, 0x8a, 0xfc, 0xc0, 0xbe, 0xc7, 0x1c, 0xb8, 0xd8, 0xab, 0x14, 0xcc, 0x81, 0x7d, 0xcf, 0xd9, + 0x42, 0xd7, 0xc6, 0xe1, 0xa8, 0xd8, 0xcb, 0x13, 0x3b, 0x33, 0x9d, 0xb4, 0x98, 0x1e, 0xb5, 0xf8, + 0xeb, 0x12, 0xf4, 0xa8, 0x74, 0xd7, 0x4c, 0x4e, 0xb7, 0xe8, 0x0b, 0x12, 0xf4, 0x74, 0xf1, 0x07, + 0xc1, 0x0a, 0xd6, 0xe8, 0x53, 0xaa, 0xd1, 0x44, 0x6b, 0x6b, 0xff, 0x9d, 0x45, 0x4b, 0x58, 0xb7, + 0xd9, 0xb4, 0xe8, 0x03, 0x2b, 0xd5, 0x92, 0xb1, 0x10, 0xaf, 0xdd, 0xf7, 0x2c, 0xb4, 0x4b, 0xc6, + 0x35, 0x9c, 0x82, 0x03, 0x4b, 0x05, 0x93, 0x24, 0xc0, 0xeb, 0x78, 0xdb, 0x4a, 0xc7, 0x19, 0x42, + 0xae, 0xe6, 0x6d, 0x2b, 0x35, 0x73, 0x00, 0x44, 0x95, 0x81, 0xa5, 0xa6, 0xb9, 0xb3, 0xa0, 0xca, + 0xde, 0xb6, 0x52, 0xb6, 0x48, 0x02, 0xbf, 0x27, 0x67, 0xa7, 0x6f, 0x89, 0x04, 0xbe, 0x47, 0x8a, + 0xab, 0x3c, 0x5b, 0x9f, 0x69, 0x3d, 0xb0, 0xd4, 0x3a, 0xc7, 0x80, 0x2a, 0x7e, 0xdb, 0x4a, 0xf1, + 0x5c, 0x1b, 0x88, 0xee, 0x6f, 0x60, 0x8d, 0x3f, 0xc5, 0x1a, 0x4f, 0x54, 0x1a, 0xdc, 0xff, 0xf2, + 0xab, 0x7a, 0xe5, 0xe5, 0x57, 0xf5, 0xca, 0x1f, 0xcf, 0xea, 0x95, 0xbf, 0x9c, 0xd5, 0x2b, 0x7f, + 0x3d, 0xab, 0x57, 0xbe, 0x38, 0xab, 0x57, 0xfe, 0x76, 0x56, 0x9f, 0xf9, 0xf2, 0xac, 0x5e, 0x79, + 0x79, 0x56, 0x9f, 0xf9, 0xe5, 0x3f, 0xeb, 0x33, 0xfd, 0xab, 0xf8, 0x08, 0xfe, 0xff, 0x03, 0x00, + 0x00, 0xff, 0xff, 0x4f, 0x81, 0x1f, 0xa5, 0x79, 0x40, 0x00, 0x00, +} + func (this *KnownTypes) Compare(that interface{}) int { if that == nil { if this == nil { @@ -11905,153 +12056,3 @@ func sovTypes(x uint64) (n int) { func sozTypes(x uint64) (n int) { return sovTypes(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } - -func init() { proto.RegisterFile("combos/marshaler/types.proto", fileDescriptor_types_84a5c6bb8f2642e0) } - -var fileDescriptor_types_84a5c6bb8f2642e0 = []byte{ - // 2299 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1c, 0x47, - 0x19, 0xd5, 0x7a, 0x57, 0xb6, 0xd4, 0x92, 0x6c, 0x69, 0x1c, 0xa7, 0x06, 0x91, 0x5a, 0x1b, 0x25, - 0x76, 0x4c, 0x52, 0x91, 0xc8, 0x8c, 0x4a, 0x80, 0x21, 0x51, 0x32, 0x65, 0x7b, 0xb5, 0x1b, 0xc9, - 0x5e, 0xaf, 0xb4, 0x2e, 0x08, 0x04, 0xd8, 0x8d, 0xc6, 0x8a, 0x8a, 0xd5, 0xce, 0xd6, 0xee, 0x2c, - 0x29, 0xdd, 0xf8, 0x03, 0x38, 0x70, 0x83, 0x2a, 0x2e, 0x70, 0xe3, 0xca, 0x81, 0x2a, 0x8e, 0x1c, - 0x73, 0xe4, 0x2f, 0x80, 0x44, 0x5c, 0xb8, 0x02, 0x17, 0x5f, 0xa8, 0xa2, 0xa6, 0xbb, 0x67, 0xa6, - 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x25, 0xdd, 0x74, 0x93, 0x76, 0xbf, 0x7e, 0xf3, 0xe6, 0x9b, 0x37, - 0x7a, 0xfd, 0xbe, 0xd1, 0xa0, 0xd7, 0x3e, 0x8d, 0x4e, 0xfa, 0xd1, 0x64, 0xe3, 0xa4, 0x37, 0x9e, - 0x7c, 0xd6, 0x1b, 0x84, 0xe3, 0x8d, 0xf8, 0x74, 0x14, 0x4e, 0xd6, 0x47, 0xe3, 0x28, 0x8e, 0x9c, - 0x59, 0xfc, 0xcb, 0xea, 0x3b, 0x47, 0xc7, 0xf1, 0x67, 0xd3, 0xfe, 0xfa, 0xa7, 0xd1, 0xc9, 0xc6, - 0x51, 0x74, 0x14, 0x6d, 0xe0, 0x6f, 0xfb, 0xd3, 0x17, 0xf8, 0x37, 0xfc, 0x0b, 0xfe, 0x89, 0xac, - 0x5a, 0xad, 0x1f, 0x45, 0xd1, 0xd1, 0x20, 0xcc, 0xab, 0x0e, 0xa7, 0xe3, 0x5e, 0x7c, 0x1c, 0x0d, - 0xe9, 0xf7, 0xb7, 0xc5, 0xef, 0xe3, 0xe3, 0x93, 0x70, 0x12, 0xf7, 0x4e, 0x46, 0x2a, 0x80, 0xcf, - 0xc7, 0xbd, 0xd1, 0x28, 0x1c, 0x53, 0x5a, 0x6b, 0xbf, 0xab, 0x21, 0xf4, 0xd1, 0x30, 0xfa, 0x7c, - 0x78, 0x90, 0xd0, 0x73, 0xde, 0x46, 0xd5, 0xc3, 0xe9, 0xd8, 0xad, 0xdc, 0xa9, 0xdc, 0x5f, 0xf0, - 0xbe, 0xb6, 0x4e, 0x16, 0xaf, 0xa7, 0x8b, 0xd7, 0x1f, 0xd2, 0xa3, 0x77, 0x92, 0x2a, 0xe7, 0x2d, - 0x74, 0x25, 0x9e, 0xb8, 0x57, 0x70, 0xed, 0xaa, 0x54, 0x7b, 0x90, 0x32, 0xe9, 0x5c, 0x89, 0x27, - 0xce, 0x3a, 0xaa, 0x1e, 0xf6, 0x07, 0x6e, 0x15, 0x17, 0xbf, 0x26, 0x03, 0x47, 0xd3, 0xfe, 0x20, - 0x7c, 0xde, 0x1b, 0x4c, 0xc3, 0x4e, 0x52, 0xe8, 0xbc, 0x83, 0xaa, 0x2f, 0x06, 0xb1, 0x5b, 0xc3, - 0xf5, 0x5f, 0x97, 0xea, 0x1f, 0x0f, 0xa2, 0x5e, 0x4c, 0xcb, 0x5f, 0x0c, 0xe2, 0xa4, 0xfc, 0x78, - 0x6b, 0xd3, 0x9d, 0x55, 0x94, 0x37, 0x87, 0xf1, 0xd6, 0x26, 0x2d, 0x3f, 0xde, 0xda, 0x4c, 0xd8, - 0x4c, 0xb7, 0x36, 0xdd, 0xab, 0x0a, 0x36, 0x5d, 0xb6, 0x7e, 0xba, 0xb5, 0x89, 0xe1, 0x7d, 0xcf, - 0xbd, 0xa6, 0x86, 0xf7, 0xbd, 0x14, 0xde, 0xf7, 0x30, 0xbc, 0xef, 0xb9, 0x73, 0x1a, 0xf8, 0xac, - 0x7e, 0x8a, 0xeb, 0x6b, 0xfd, 0x28, 0x1a, 0xb8, 0xf3, 0x8a, 0x56, 0x06, 0x51, 0x34, 0x20, 0xe5, - 0xb8, 0x2e, 0xc1, 0x9f, 0xc4, 0x63, 0x17, 0x29, 0xf0, 0xf7, 0xe3, 0xf1, 0xf1, 0xf0, 0x88, 0xe2, - 0x4f, 0xe2, 0xb1, 0xf3, 0x2e, 0x9a, 0xed, 0x9f, 0xc6, 0xe1, 0xc4, 0x5d, 0x50, 0x9c, 0x40, 0x90, - 0x7c, 0x4b, 0x16, 0x90, 0xca, 0x07, 0xb5, 0x7f, 0xfd, 0xe1, 0x76, 0x65, 0xed, 0x57, 0x8b, 0x08, - 0xb5, 0x93, 0x22, 0xa2, 0x8e, 0x1d, 0xb4, 0x32, 0x9c, 0x0e, 0x06, 0xbd, 0xfe, 0x20, 0xcc, 0xae, - 0x2e, 0xd5, 0x8a, 0xee, 0xfa, 0xcb, 0x8b, 0x9c, 0x47, 0x68, 0x39, 0xfd, 0x30, 0xd5, 0x14, 0x15, - 0x92, 0x46, 0x74, 0xd2, 0x12, 0xe7, 0x21, 0xba, 0x9e, 0x7d, 0x86, 0x15, 0x54, 0x48, 0x60, 0xc2, - 0x1a, 0xe7, 0x43, 0xb4, 0x94, 0x7e, 0x82, 0x75, 0x55, 0x44, 0x75, 0xfc, 0x0a, 0x16, 0x02, 0x6b, - 0xa7, 0x88, 0x12, 0xf9, 0x15, 0xec, 0xb9, 0x10, 0xfd, 0x15, 0x92, 0xa7, 0xb0, 0x46, 0x20, 0x52, - 0x4c, 0xb3, 0xfc, 0x0a, 0x91, 0x48, 0x41, 0x21, 0x0b, 0x6b, 0x9c, 0xf7, 0xd1, 0x62, 0xfa, 0x49, - 0x50, 0x4c, 0xdb, 0x5c, 0x3d, 0xcb, 0x82, 0xe8, 0xb9, 0x90, 0xdc, 0x85, 0x35, 0x6c, 0x3b, 0x82, - 0xa2, 0x77, 0x00, 0xbf, 0xc2, 0x79, 0x1f, 0xcd, 0x67, 0x7f, 0x54, 0xdd, 0x45, 0x93, 0xd8, 0x83, - 0xda, 0x17, 0x7f, 0xbf, 0x3d, 0xd3, 0xc9, 0x97, 0x38, 0xdf, 0x43, 0x73, 0xe9, 0x1f, 0x6d, 0x77, - 0xc9, 0x20, 0x71, 0xba, 0x3a, 0x5b, 0xe0, 0xec, 0xa0, 0xa5, 0x61, 0x34, 0x4c, 0x08, 0x51, 0x7d, - 0x5f, 0x37, 0xeb, 0x9b, 0x82, 0xf0, 0x0b, 0x9d, 0x47, 0x68, 0x91, 0x7e, 0x40, 0x34, 0x7e, 0xc3, - 0xa8, 0x71, 0x8a, 0xc3, 0x2d, 0x63, 0x60, 0x88, 0x46, 0x97, 0x8d, 0x3a, 0x17, 0x60, 0x88, 0x4c, - 0xf3, 0xf3, 0xa2, 0x5a, 0x5f, 0x31, 0x6b, 0x5d, 0x38, 0x2f, 0x2a, 0x78, 0x8e, 0x90, 0xef, 0xb9, - 0x8e, 0x51, 0xef, 0x32, 0x21, 0xdf, 0x13, 0x08, 0xf9, 0x9e, 0x7b, 0xd3, 0xac, 0x79, 0x80, 0x90, - 0xef, 0x39, 0x01, 0x5a, 0xa0, 0x1f, 0x60, 0xdd, 0xbf, 0x62, 0xd2, 0x3d, 0x45, 0x61, 0x17, 0x31, - 0x6c, 0xa8, 0xf6, 0x6f, 0x99, 0xb5, 0x2f, 0xb0, 0xa1, 0x37, 0x40, 0xde, 0x1e, 0xa2, 0xff, 0x57, - 0x8d, 0xfa, 0x17, 0xda, 0x13, 0x30, 0x76, 0xf0, 0x9f, 0x45, 0x34, 0xb7, 0x1f, 0x1f, 0x12, 0x33, - 0x78, 0x52, 0xca, 0x0c, 0x82, 0xda, 0xaf, 0xff, 0x71, 0xbb, 0x02, 0x59, 0xc2, 0x47, 0x25, 0x2c, - 0x21, 0xa8, 0xfd, 0x36, 0x41, 0x93, 0x8d, 0xa1, 0x55, 0xc6, 0x18, 0x82, 0xda, 0xef, 0x13, 0x34, - 0xd1, 0x1e, 0x1a, 0xf6, 0xf6, 0x40, 0x91, 0x04, 0x93, 0x68, 0xd8, 0x9b, 0x84, 0x08, 0x44, 0x34, - 0xdf, 0x2a, 0x63, 0x15, 0xe2, 0xd9, 0xd1, 0xfb, 0xa7, 0x61, 0x6f, 0x18, 0x00, 0x29, 0xdf, 0x13, - 0x49, 0x15, 0xb3, 0x0d, 0x88, 0x14, 0xb6, 0x20, 0x4b, 0xf3, 0xa0, 0x38, 0xbc, 0x85, 0xb4, 0xca, - 0x58, 0x88, 0xc8, 0x88, 0xde, 0x47, 0x0d, 0x7b, 0x23, 0x11, 0xdb, 0x44, 0xec, 0x24, 0xb0, 0xb3, - 0x93, 0xb9, 0xe4, 0x66, 0xc4, 0xb7, 0x0c, 0x63, 0x29, 0xdb, 0x36, 0x96, 0x82, 0x11, 0xf0, 0x6d, - 0x92, 0xdb, 0xca, 0x6e, 0x19, 0x5b, 0xc1, 0x40, 0xf4, 0x94, 0x38, 0x6b, 0x69, 0xda, 0x5b, 0x4b, - 0x8e, 0xc5, 0xdb, 0x4b, 0xd3, 0xde, 0x5e, 0x64, 0x28, 0x22, 0xec, 0xdd, 0x32, 0x16, 0x23, 0x9f, - 0x23, 0xbd, 0x4d, 0x9a, 0xf6, 0x36, 0x03, 0x12, 0xf3, 0x3d, 0x81, 0x58, 0x41, 0xab, 0x81, 0x89, - 0xf9, 0x9e, 0xf3, 0xd8, 0xd6, 0x6e, 0x72, 0x24, 0xce, 0x72, 0x76, 0xcb, 0x58, 0x8e, 0xcc, 0x8a, - 0xde, 0x2e, 0x4d, 0x7b, 0xdb, 0x91, 0xdb, 0x85, 0xbf, 0x5c, 0xfb, 0xcd, 0x22, 0x5a, 0xea, 0x84, - 0x23, 0x26, 0x86, 0xb4, 0x90, 0x23, 0xd9, 0xc7, 0xc4, 0xad, 0xdc, 0xa9, 0x1a, 0x72, 0x08, 0xb0, - 0xca, 0x69, 0xe4, 0x2e, 0x96, 0xde, 0x31, 0x49, 0xa4, 0xad, 0xea, 0x93, 0x88, 0xbc, 0xc6, 0xf9, - 0x00, 0xa1, 0x38, 0x27, 0x53, 0x35, 0x91, 0xa1, 0x2e, 0xcb, 0xac, 0x71, 0xde, 0x43, 0xf3, 0x87, - 0x19, 0x85, 0x9a, 0x81, 0x42, 0xba, 0xcf, 0xcc, 0x56, 0x00, 0x59, 0x68, 0x16, 0x63, 0xd8, 0x65, - 0x21, 0x69, 0xc3, 0x79, 0xd5, 0x0c, 0x02, 0x6f, 0x38, 0xa5, 0x54, 0x75, 0x0d, 0x23, 0xd9, 0xa4, - 0x2a, 0x71, 0xcf, 0x3a, 0x67, 0x44, 0x00, 0xf7, 0xac, 0x52, 0x38, 0x9b, 0x57, 0xe0, 0xa8, 0xc3, - 0x99, 0xb8, 0xed, 0x45, 0x46, 0x04, 0x70, 0xdb, 0x2b, 0x67, 0xbc, 0x05, 0x45, 0x7b, 0x75, 0x19, - 0x4f, 0xda, 0x3c, 0x2f, 0x9a, 0x41, 0xe0, 0xcd, 0xb3, 0x94, 0x16, 0x97, 0xd4, 0xe7, 0xa5, 0x48, - 0x8b, 0xe2, 0xfe, 0xfb, 0xba, 0x11, 0x01, 0xdc, 0x7f, 0xcb, 0xa1, 0xf3, 0x86, 0xe6, 0xa4, 0x54, - 0xa1, 0x53, 0xda, 0xc5, 0x2f, 0x9b, 0x41, 0xe0, 0x5d, 0xbc, 0x18, 0x5f, 0x57, 0x14, 0x37, 0xb4, - 0x2a, 0xbe, 0x0a, 0x29, 0xc0, 0x31, 0x2d, 0x87, 0x52, 0x80, 0x1c, 0x81, 0x6f, 0x2a, 0x4e, 0x47, - 0x17, 0x81, 0xa5, 0x2c, 0xf1, 0x8a, 0x19, 0x04, 0xce, 0x12, 0x52, 0x98, 0xbe, 0xa5, 0xb8, 0xd6, - 0xea, 0x30, 0x2d, 0xc7, 0x91, 0x6a, 0xf9, 0x38, 0xf2, 0xbf, 0x45, 0xb4, 0xd0, 0x09, 0x47, 0x59, - 0x22, 0x69, 0x97, 0xf3, 0x05, 0x1a, 0x49, 0x20, 0x77, 0xd8, 0x2b, 0xe3, 0x0e, 0x34, 0x94, 0x00, - 0x1e, 0xf1, 0xd0, 0xd2, 0x23, 0xf2, 0xcd, 0x1f, 0xeb, 0x13, 0x1f, 0x5a, 0xf9, 0x44, 0xbe, 0xfd, - 0x63, 0xbc, 0xa2, 0x55, 0xc6, 0x2b, 0x14, 0xf1, 0x68, 0xb7, 0x8c, 0x63, 0x28, 0xf7, 0x92, 0x0d, - 0x7b, 0xd7, 0x80, 0xc3, 0x56, 0xd3, 0xde, 0x3b, 0x54, 0x9b, 0xd2, 0x86, 0xbd, 0x7f, 0xc0, 0xb9, - 0xad, 0x69, 0xef, 0x22, 0xaa, 0xdd, 0x6d, 0xab, 0x8c, 0x93, 0x28, 0x22, 0xe0, 0x6e, 0x19, 0x3f, - 0x51, 0xee, 0x94, 0x1b, 0xf6, 0x9e, 0x02, 0x07, 0xca, 0xa6, 0xbd, 0xb3, 0xa8, 0xb6, 0xdc, 0xad, - 0x32, 0xee, 0xa2, 0xc8, 0xa6, 0xbb, 0x65, 0x3c, 0x46, 0xb9, 0x7d, 0x7f, 0x68, 0xeb, 0x33, 0x60, - 0xd2, 0x7d, 0x6c, 0xeb, 0x36, 0x8a, 0x10, 0xd0, 0x2a, 0xe3, 0x38, 0x8a, 0xc4, 0xbc, 0x5b, 0xc6, - 0x77, 0x94, 0x81, 0xa2, 0x61, 0xef, 0x3d, 0x70, 0xfe, 0x6e, 0xda, 0x3b, 0x90, 0x2a, 0x99, 0xfc, - 0xa9, 0x8e, 0x96, 0xf6, 0x7a, 0x6c, 0x32, 0xf9, 0x21, 0x3c, 0x13, 0x4b, 0x8e, 0xf0, 0xf6, 0x3a, - 0x79, 0x1a, 0xc8, 0x2d, 0x58, 0x7f, 0x22, 0x56, 0x3f, 0x1a, 0xc6, 0xe3, 0x53, 0x68, 0x3c, 0xd6, - 0x60, 0xe7, 0x06, 0xc4, 0x82, 0x5e, 0x07, 0x21, 0x79, 0x28, 0x79, 0x1e, 0xfd, 0x1c, 0x98, 0xb3, - 0x11, 0x2b, 0x7a, 0x4b, 0x4b, 0x31, 0x2d, 0x26, 0x0c, 0xa1, 0x67, 0x31, 0xf9, 0x50, 0x82, 0xb8, - 0xd2, 0x1a, 0x88, 0xc7, 0xe1, 0x48, 0x03, 0xef, 0xb6, 0xc2, 0x99, 0xee, 0xeb, 0xb9, 0xe1, 0x52, - 0xc2, 0x4c, 0xf4, 0xa7, 0x7d, 0xd8, 0x9f, 0xde, 0x84, 0x01, 0xd9, 0x4a, 0x96, 0xa1, 0x60, 0x53, - 0x7b, 0xb0, 0x4d, 0xbd, 0xa9, 0x65, 0x89, 0x2b, 0x09, 0x49, 0xc1, 0xac, 0xda, 0xa0, 0x59, 0xdd, - 0xd3, 0x51, 0xcc, 0xc1, 0xc0, 0xcc, 0xb3, 0x07, 0x7b, 0x96, 0x9e, 0x20, 0xae, 0x14, 0x08, 0x92, - 0x3f, 0xea, 0x6d, 0xd0, 0xb9, 0xb4, 0x04, 0x73, 0x30, 0x30, 0x0a, 0xb5, 0x15, 0x06, 0xa6, 0xbf, - 0xd0, 0x5d, 0x86, 0xa2, 0x68, 0x63, 0xfb, 0xb0, 0x8d, 0x69, 0x2f, 0x74, 0x57, 0x62, 0x29, 0xb8, - 0xd9, 0x1e, 0xec, 0x66, 0xc6, 0x3e, 0xfa, 0x9e, 0xdc, 0x47, 0xdf, 0xe3, 0xfb, 0x98, 0x79, 0x9a, - 0xa9, 0x8f, 0x14, 0x0c, 0x0c, 0x4e, 0x6d, 0x85, 0xb5, 0x99, 0xfb, 0x98, 0x52, 0x14, 0x0d, 0x6e, - 0x1f, 0x36, 0x38, 0x63, 0x1f, 0x79, 0x96, 0x82, 0xcf, 0xb5, 0x40, 0x9f, 0xbb, 0xa7, 0x25, 0x99, - 0x14, 0x12, 0x8a, 0xbc, 0xdb, 0xed, 0x41, 0x6e, 0x77, 0x57, 0x47, 0x2f, 0x43, 0x82, 0x62, 0x56, - 0x5b, 0x61, 0x7a, 0xfa, 0x0e, 0x92, 0x52, 0xa1, 0x83, 0xd4, 0xac, 0xf6, 0x61, 0xeb, 0xd3, 0x76, - 0x90, 0xc1, 0x83, 0xd3, 0xd7, 0x1e, 0xec, 0x80, 0x7a, 0x25, 0xe2, 0x4a, 0x41, 0x89, 0xc4, 0x07, - 0xdb, 0xa0, 0x0f, 0x6a, 0x95, 0x98, 0x83, 0x41, 0xa1, 0x6c, 0xf5, 0x67, 0xe8, 0x55, 0xd8, 0xce, - 0x9c, 0x65, 0x54, 0xfd, 0x79, 0x78, 0x8a, 0x1f, 0x0e, 0xcd, 0x76, 0x92, 0x1f, 0x9d, 0x6f, 0xa1, - 0xd9, 0x5f, 0x24, 0xde, 0x5a, 0xe0, 0xbf, 0x47, 0x48, 0xe1, 0x83, 0x2b, 0xdf, 0xa9, 0xac, 0xfe, - 0x00, 0x5d, 0xbf, 0x20, 0xe4, 0x9f, 0xa0, 0x5b, 0xa0, 0xcf, 0x01, 0x07, 0xd8, 0xe0, 0x0f, 0xa0, - 0x99, 0x12, 0x32, 0xf8, 0xcf, 0xd1, 0xd2, 0x85, 0xe0, 0xfe, 0x14, 0xdd, 0x04, 0x3c, 0x10, 0x40, - 0xf7, 0x78, 0x74, 0xfd, 0x50, 0x90, 0x6b, 0x8c, 0x23, 0x7b, 0xe2, 0x39, 0xe2, 0x7f, 0x82, 0x1c, - 0xd9, 0x1e, 0x01, 0xfc, 0x77, 0x79, 0x7c, 0xed, 0x14, 0x91, 0x81, 0xff, 0x31, 0x5a, 0x91, 0xfc, - 0xf2, 0xfc, 0xd0, 0x19, 0xf2, 0xb9, 0x8f, 0x94, 0x81, 0x67, 0x86, 0x7d, 0x20, 0xf9, 0x8b, 0x40, - 0x67, 0xa4, 0xd3, 0xd5, 0xe2, 0x1b, 0x2f, 0x6d, 0x17, 0x3e, 0x40, 0x2e, 0x9d, 0x8b, 0xc1, 0xe7, - 0xbb, 0x4f, 0xdd, 0xa7, 0x64, 0x7f, 0xd2, 0x81, 0xa2, 0xaa, 0xfb, 0xe7, 0x8e, 0x2e, 0x74, 0x5f, - 0x8d, 0x5f, 0xa8, 0x3b, 0xc0, 0x01, 0xf8, 0xee, 0x9f, 0x3f, 0xfe, 0x8f, 0xd0, 0x8a, 0xe4, 0xd3, - 0x65, 0xfe, 0x1c, 0xe7, 0x03, 0x54, 0x06, 0xfc, 0x63, 0xb4, 0x2c, 0x3a, 0xf7, 0xb9, 0x61, 0x33, - 0x9d, 0x67, 0x3c, 0xb7, 0x4c, 0x67, 0xd8, 0xa9, 0x2b, 0xd8, 0xf9, 0x8b, 0xc1, 0x67, 0x74, 0x9f, - 0x3b, 0x72, 0x19, 0x65, 0xb2, 0xff, 0xf5, 0x07, 0xe9, 0xfe, 0x02, 0xd0, 0xd7, 0xfe, 0x5d, 0x47, - 0x0b, 0x7b, 0xbd, 0x7c, 0x66, 0xfb, 0x89, 0x3a, 0x31, 0x7f, 0x33, 0xdf, 0x8b, 0xa4, 0xe5, 0x8a, - 0xbc, 0xac, 0xfe, 0xa7, 0x92, 0xa6, 0x9c, 0x9a, 0xbf, 0x01, 0xc0, 0x0a, 0x70, 0xe0, 0x43, 0xf7, - 0x8f, 0x95, 0xb9, 0xf9, 0xbe, 0x86, 0xa8, 0x90, 0x76, 0x15, 0xff, 0xae, 0xf2, 0x58, 0xca, 0xce, - 0x77, 0x00, 0x4c, 0x1e, 0x0b, 0x7a, 0xae, 0x7f, 0xa0, 0x48, 0xcf, 0xf7, 0x74, 0x0c, 0xd9, 0xac, - 0x0b, 0x4e, 0x78, 0xbb, 0x70, 0x82, 0xbe, 0x0b, 0x81, 0xca, 0xf9, 0x59, 0x39, 0xea, 0x7d, 0x06, - 0x67, 0xe8, 0xbb, 0x1a, 0xae, 0x6c, 0xe8, 0x85, 0x86, 0xbe, 0x1d, 0x30, 0x47, 0xbf, 0xa1, 0x26, - 0xca, 0x00, 0xaa, 0xa6, 0xbf, 0xcf, 0xe0, 0x24, 0xad, 0xa3, 0xc9, 0x86, 0x4a, 0x68, 0x0e, 0xdc, - 0x01, 0xd3, 0xb4, 0x86, 0x26, 0x03, 0xa8, 0x1a, 0x08, 0x1f, 0x28, 0xf2, 0xb4, 0xee, 0xd2, 0x77, - 0x25, 0xa2, 0x62, 0xa6, 0xee, 0xc2, 0x99, 0x5a, 0x73, 0xe9, 0xbb, 0x20, 0x57, 0x21, 0x55, 0x3f, - 0x83, 0x53, 0xb5, 0xa1, 0xa7, 0x59, 0xc0, 0x84, 0xa6, 0xc5, 0x1d, 0x30, 0x59, 0xeb, 0x7b, 0x9a, - 0x02, 0xaa, 0xc6, 0xc6, 0x07, 0x8a, 0x6c, 0x6d, 0xea, 0x29, 0x4f, 0x54, 0xcc, 0xd7, 0x5d, 0x38, - 0x5f, 0x1b, 0x7a, 0x2a, 0x73, 0x15, 0x12, 0xf6, 0x13, 0x30, 0x61, 0xbf, 0xa1, 0xa1, 0xca, 0xa4, - 0x62, 0x60, 0xa6, 0xfc, 0x14, 0x4a, 0xd9, 0xaf, 0xab, 0x49, 0xe6, 0x68, 0x8a, 0xe1, 0xf2, 0x81, - 0x22, 0x67, 0xeb, 0xba, 0xc9, 0xa5, 0x62, 0x70, 0xcc, 0xdc, 0x85, 0xb3, 0xb6, 0xa6, 0x9b, 0x2c, - 0xa6, 0x72, 0xde, 0xfc, 0x0c, 0x4e, 0xdb, 0x3a, 0x85, 0xb2, 0xf1, 0x18, 0x9a, 0x3c, 0x77, 0xc0, - 0xc4, 0xad, 0x51, 0x28, 0x03, 0xa8, 0x18, 0x41, 0x5f, 0x66, 0xee, 0xcb, 0xcc, 0x7d, 0x99, 0xb9, - 0x2f, 0x33, 0xf7, 0x65, 0xe6, 0xbe, 0xcc, 0xdc, 0x97, 0x99, 0xfb, 0x32, 0x73, 0xc3, 0x99, 0xfb, - 0xcf, 0xb3, 0xe8, 0xc6, 0xd3, 0x61, 0x18, 0xbd, 0x60, 0x9e, 0x54, 0x3f, 0x60, 0x83, 0xb1, 0xf1, - 0xad, 0x8d, 0x1d, 0xee, 0x09, 0xf2, 0xb7, 0x99, 0xb4, 0x6a, 0x32, 0xce, 0x1d, 0xf6, 0xe1, 0xee, - 0xf7, 0xd1, 0xfc, 0x38, 0x1c, 0x15, 0x7f, 0x21, 0x23, 0x39, 0x6c, 0xb6, 0xc0, 0xf9, 0x2e, 0x9a, - 0x1b, 0x87, 0xa3, 0xa2, 0xaf, 0x60, 0x24, 0x07, 0x4e, 0xcb, 0xe9, 0xd2, 0xa2, 0x2f, 0x5d, 0xd0, - 0xa5, 0x24, 0xaa, 0x10, 0xce, 0xc5, 0x5f, 0xb3, 0xa0, 0x9c, 0x69, 0xd0, 0xc9, 0x0e, 0x5c, 0xe8, - 0xc5, 0x8a, 0xfc, 0xc0, 0xbe, 0xc7, 0x1c, 0xb8, 0xd8, 0xab, 0x14, 0xcc, 0x81, 0x7d, 0xcf, 0xd9, - 0x42, 0xd7, 0xc6, 0xe1, 0xa8, 0xd8, 0xcb, 0x13, 0x3b, 0x33, 0x9d, 0xb4, 0x98, 0x1e, 0xb5, 0xf8, - 0xeb, 0x12, 0xf4, 0xa8, 0x74, 0xd7, 0x4c, 0x4e, 0xb7, 0xe8, 0x0b, 0x12, 0xf4, 0x74, 0xf1, 0x07, - 0xc1, 0x0a, 0xd6, 0xe8, 0x53, 0xaa, 0xd1, 0x44, 0x6b, 0x6b, 0xff, 0x9d, 0x45, 0x4b, 0x58, 0xb7, - 0xd9, 0xb4, 0xe8, 0x03, 0x2b, 0xd5, 0x92, 0xb1, 0x10, 0xaf, 0xdd, 0xf7, 0x2c, 0xb4, 0x4b, 0xc6, - 0x35, 0x9c, 0x82, 0x03, 0x4b, 0x05, 0x93, 0x24, 0xc0, 0xeb, 0x78, 0xdb, 0x4a, 0xc7, 0x19, 0x42, - 0xae, 0xe6, 0x6d, 0x2b, 0x35, 0x73, 0x00, 0x44, 0x95, 0x81, 0xa5, 0xa6, 0xb9, 0xb3, 0xa0, 0xca, - 0xde, 0xb6, 0x52, 0xb6, 0x48, 0x02, 0xbf, 0x27, 0x67, 0xa7, 0x6f, 0x89, 0x04, 0xbe, 0x47, 0x8a, - 0xab, 0x3c, 0x5b, 0x9f, 0x69, 0x3d, 0xb0, 0xd4, 0x3a, 0xc7, 0x80, 0x2a, 0x7e, 0xdb, 0x4a, 0xf1, - 0x5c, 0x1b, 0x88, 0xee, 0x6f, 0x60, 0x8d, 0x3f, 0xc5, 0x1a, 0x4f, 0x54, 0x1a, 0xdc, 0xff, 0xf2, - 0xab, 0x7a, 0xe5, 0xe5, 0x57, 0xf5, 0xca, 0x1f, 0xcf, 0xea, 0x95, 0xbf, 0x9c, 0xd5, 0x2b, 0x7f, - 0x3d, 0xab, 0x57, 0xbe, 0x38, 0xab, 0x57, 0xfe, 0x76, 0x56, 0x9f, 0xf9, 0xf2, 0xac, 0x5e, 0x79, - 0x79, 0x56, 0x9f, 0xf9, 0xe5, 0x3f, 0xeb, 0x33, 0xfd, 0xab, 0xf8, 0x08, 0xfe, 0xff, 0x03, 0x00, - 0x00, 0xff, 0xff, 0x4f, 0x81, 0x1f, 0xa5, 0x79, 0x40, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/types/combos/neither/types.pb.go b/vendor/github.com/gogo/protobuf/test/types/combos/neither/types.pb.go index bf8e3aa03..452ac9fe3 100644 --- a/vendor/github.com/gogo/protobuf/test/types/combos/neither/types.pb.go +++ b/vendor/github.com/gogo/protobuf/test/types/combos/neither/types.pb.go @@ -3,16 +3,16 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import types "github.com/gogo/protobuf/types" - -import time "time" -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import bytes "bytes" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -47,7 +47,7 @@ func (m *KnownTypes) Reset() { *m = KnownTypes{} } func (m *KnownTypes) String() string { return proto.CompactTextString(m) } func (*KnownTypes) ProtoMessage() {} func (*KnownTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{0} + return fileDescriptor_8a0195d9a3743479, []int{0} } func (m *KnownTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KnownTypes.Unmarshal(m, b) @@ -55,8 +55,8 @@ func (m *KnownTypes) XXX_Unmarshal(b []byte) error { func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_KnownTypes.Marshal(b, m, deterministic) } -func (dst *KnownTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_KnownTypes.Merge(dst, src) +func (m *KnownTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_KnownTypes.Merge(m, src) } func (m *KnownTypes) XXX_Size() int { return xxx_messageInfo_KnownTypes.Size(m) @@ -176,7 +176,7 @@ func (m *ProtoTypes) Reset() { *m = ProtoTypes{} } func (m *ProtoTypes) String() string { return proto.CompactTextString(m) } func (*ProtoTypes) ProtoMessage() {} func (*ProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{1} + return fileDescriptor_8a0195d9a3743479, []int{1} } func (m *ProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ProtoTypes.Unmarshal(m, b) @@ -184,8 +184,8 @@ func (m *ProtoTypes) XXX_Unmarshal(b []byte) error { func (m *ProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ProtoTypes.Marshal(b, m, deterministic) } -func (dst *ProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoTypes.Merge(dst, src) +func (m *ProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoTypes.Merge(m, src) } func (m *ProtoTypes) XXX_Size() int { return xxx_messageInfo_ProtoTypes.Size(m) @@ -382,7 +382,7 @@ func (m *StdTypes) Reset() { *m = StdTypes{} } func (m *StdTypes) String() string { return proto.CompactTextString(m) } func (*StdTypes) ProtoMessage() {} func (*StdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{2} + return fileDescriptor_8a0195d9a3743479, []int{2} } func (m *StdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StdTypes.Unmarshal(m, b) @@ -390,8 +390,8 @@ func (m *StdTypes) XXX_Unmarshal(b []byte) error { func (m *StdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_StdTypes.Marshal(b, m, deterministic) } -func (dst *StdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_StdTypes.Merge(dst, src) +func (m *StdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_StdTypes.Merge(m, src) } func (m *StdTypes) XXX_Size() int { return xxx_messageInfo_StdTypes.Size(m) @@ -588,7 +588,7 @@ func (m *RepProtoTypes) Reset() { *m = RepProtoTypes{} } func (m *RepProtoTypes) String() string { return proto.CompactTextString(m) } func (*RepProtoTypes) ProtoMessage() {} func (*RepProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{3} + return fileDescriptor_8a0195d9a3743479, []int{3} } func (m *RepProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RepProtoTypes.Unmarshal(m, b) @@ -596,8 +596,8 @@ func (m *RepProtoTypes) XXX_Unmarshal(b []byte) error { func (m *RepProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RepProtoTypes.Marshal(b, m, deterministic) } -func (dst *RepProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepProtoTypes.Merge(dst, src) +func (m *RepProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepProtoTypes.Merge(m, src) } func (m *RepProtoTypes) XXX_Size() int { return xxx_messageInfo_RepProtoTypes.Size(m) @@ -794,7 +794,7 @@ func (m *RepStdTypes) Reset() { *m = RepStdTypes{} } func (m *RepStdTypes) String() string { return proto.CompactTextString(m) } func (*RepStdTypes) ProtoMessage() {} func (*RepStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{4} + return fileDescriptor_8a0195d9a3743479, []int{4} } func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RepStdTypes.Unmarshal(m, b) @@ -802,8 +802,8 @@ func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { func (m *RepStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RepStdTypes.Marshal(b, m, deterministic) } -func (dst *RepStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepStdTypes.Merge(dst, src) +func (m *RepStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepStdTypes.Merge(m, src) } func (m *RepStdTypes) XXX_Size() int { return xxx_messageInfo_RepStdTypes.Size(m) @@ -1000,7 +1000,7 @@ func (m *MapProtoTypes) Reset() { *m = MapProtoTypes{} } func (m *MapProtoTypes) String() string { return proto.CompactTextString(m) } func (*MapProtoTypes) ProtoMessage() {} func (*MapProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{5} + return fileDescriptor_8a0195d9a3743479, []int{5} } func (m *MapProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapProtoTypes.Unmarshal(m, b) @@ -1008,8 +1008,8 @@ func (m *MapProtoTypes) XXX_Unmarshal(b []byte) error { func (m *MapProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapProtoTypes.Marshal(b, m, deterministic) } -func (dst *MapProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapProtoTypes.Merge(dst, src) +func (m *MapProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapProtoTypes.Merge(m, src) } func (m *MapProtoTypes) XXX_Size() int { return xxx_messageInfo_MapProtoTypes.Size(m) @@ -1206,7 +1206,7 @@ func (m *MapStdTypes) Reset() { *m = MapStdTypes{} } func (m *MapStdTypes) String() string { return proto.CompactTextString(m) } func (*MapStdTypes) ProtoMessage() {} func (*MapStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{6} + return fileDescriptor_8a0195d9a3743479, []int{6} } func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MapStdTypes.Unmarshal(m, b) @@ -1214,8 +1214,8 @@ func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { func (m *MapStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapStdTypes.Marshal(b, m, deterministic) } -func (dst *MapStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapStdTypes.Merge(dst, src) +func (m *MapStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapStdTypes.Merge(m, src) } func (m *MapStdTypes) XXX_Size() int { return xxx_messageInfo_MapStdTypes.Size(m) @@ -1403,7 +1403,7 @@ func (m *OneofProtoTypes) Reset() { *m = OneofProtoTypes{} } func (m *OneofProtoTypes) String() string { return proto.CompactTextString(m) } func (*OneofProtoTypes) ProtoMessage() {} func (*OneofProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{7} + return fileDescriptor_8a0195d9a3743479, []int{7} } func (m *OneofProtoTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OneofProtoTypes.Unmarshal(m, b) @@ -1411,8 +1411,8 @@ func (m *OneofProtoTypes) XXX_Unmarshal(b []byte) error { func (m *OneofProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OneofProtoTypes.Marshal(b, m, deterministic) } -func (dst *OneofProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofProtoTypes.Merge(dst, src) +func (m *OneofProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofProtoTypes.Merge(m, src) } func (m *OneofProtoTypes) XXX_Size() int { return xxx_messageInfo_OneofProtoTypes.Size(m) @@ -1828,7 +1828,7 @@ func (m *OneofStdTypes) Reset() { *m = OneofStdTypes{} } func (m *OneofStdTypes) String() string { return proto.CompactTextString(m) } func (*OneofStdTypes) ProtoMessage() {} func (*OneofStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_a6ccc2435d23b615, []int{8} + return fileDescriptor_8a0195d9a3743479, []int{8} } func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OneofStdTypes.Unmarshal(m, b) @@ -1836,8 +1836,8 @@ func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { func (m *OneofStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OneofStdTypes.Marshal(b, m, deterministic) } -func (dst *OneofStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofStdTypes.Merge(dst, src) +func (m *OneofStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofStdTypes.Merge(m, src) } func (m *OneofStdTypes) XXX_Size() int { return xxx_messageInfo_OneofStdTypes.Size(m) @@ -2395,6 +2395,157 @@ func init() { proto.RegisterType((*OneofProtoTypes)(nil), "types.OneofProtoTypes") proto.RegisterType((*OneofStdTypes)(nil), "types.OneofStdTypes") } + +func init() { proto.RegisterFile("combos/neither/types.proto", fileDescriptor_8a0195d9a3743479) } + +var fileDescriptor_8a0195d9a3743479 = []byte{ + // 2297 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1c, 0x47, + 0x19, 0xd5, 0x7a, 0x57, 0xb6, 0xd4, 0x92, 0x6c, 0x69, 0x1c, 0xa7, 0x06, 0x41, 0xad, 0x8d, 0x12, + 0x3b, 0x26, 0xa9, 0x48, 0x64, 0x46, 0x25, 0xc0, 0x90, 0x28, 0x99, 0xb2, 0xbd, 0xda, 0x8d, 0x64, + 0xaf, 0x57, 0x5a, 0x17, 0x04, 0x02, 0xec, 0x46, 0x63, 0x45, 0xc5, 0x7a, 0x67, 0x6b, 0x77, 0x96, + 0x94, 0x6f, 0xfc, 0x01, 0x1c, 0xb8, 0x41, 0x15, 0x17, 0xb8, 0x71, 0xe5, 0x40, 0x15, 0x47, 0x8e, + 0x39, 0xf2, 0x17, 0x40, 0x22, 0x2e, 0x5c, 0x81, 0x8b, 0x2f, 0x54, 0xa5, 0xa6, 0xbb, 0x67, 0xa6, + 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x25, 0xdd, 0xf6, 0x26, 0xed, 0x7e, 0xfd, 0xe6, 0xcd, 0x37, 0x6f, + 0xf4, 0xfa, 0x7d, 0xa3, 0x41, 0xeb, 0x9f, 0x44, 0xcf, 0xfb, 0xd1, 0x64, 0x6b, 0x18, 0x9e, 0xc6, + 0x9f, 0x86, 0xe3, 0xad, 0xf8, 0xc5, 0x28, 0x9c, 0x6c, 0x8e, 0xc6, 0x51, 0x1c, 0x39, 0xf3, 0xf8, + 0x97, 0xf5, 0xb7, 0x4f, 0x4e, 0xe3, 0x4f, 0xa7, 0xfd, 0xcd, 0x4f, 0xa2, 0xe7, 0x5b, 0x27, 0xd1, + 0x49, 0xb4, 0x85, 0xbf, 0xed, 0x4f, 0x9f, 0xe1, 0xdf, 0xf0, 0x2f, 0xf8, 0x27, 0xb2, 0x6a, 0xbd, + 0x7e, 0x12, 0x45, 0x27, 0x83, 0x30, 0xaf, 0x3a, 0x9e, 0x8e, 0x7b, 0xf1, 0x69, 0x34, 0xa4, 0xdf, + 0xdf, 0x14, 0xbf, 0x8f, 0x4f, 0x9f, 0x87, 0x93, 0xb8, 0xf7, 0x7c, 0xa4, 0x02, 0xf8, 0x6c, 0xdc, + 0x1b, 0x8d, 0xc2, 0x31, 0xa5, 0xb5, 0xf1, 0xfb, 0x1a, 0x42, 0x1f, 0x0e, 0xa3, 0xcf, 0x86, 0x47, + 0x09, 0x3d, 0xe7, 0x2d, 0x54, 0x3d, 0x9e, 0x8e, 0xdd, 0xca, 0xad, 0xca, 0xdd, 0x25, 0xef, 0x6b, + 0x9b, 0x64, 0xf1, 0x66, 0xba, 0x78, 0xf3, 0x3e, 0x3d, 0x7a, 0x27, 0xa9, 0x72, 0xde, 0x44, 0x97, + 0xe2, 0x89, 0x7b, 0x09, 0xd7, 0xae, 0x4b, 0xb5, 0x47, 0x29, 0x93, 0xce, 0xa5, 0x78, 0xe2, 0x6c, + 0xa2, 0xea, 0x71, 0x7f, 0xe0, 0x56, 0x71, 0xf1, 0x37, 0x64, 0xe0, 0x68, 0xda, 0x1f, 0x84, 0x4f, + 0x7b, 0x83, 0x69, 0xd8, 0x49, 0x0a, 0x9d, 0xb7, 0x51, 0xf5, 0xd9, 0x20, 0x76, 0x6b, 0xb8, 0xfe, + 0xeb, 0x52, 0xfd, 0xc3, 0x41, 0xd4, 0x8b, 0x69, 0xf9, 0xb3, 0x41, 0x9c, 0x94, 0x9f, 0xee, 0x6c, + 0xbb, 0xf3, 0x8a, 0xf2, 0xe6, 0x30, 0xde, 0xd9, 0xa6, 0xe5, 0xa7, 0x3b, 0xdb, 0x09, 0x9b, 0xe9, + 0xce, 0xb6, 0x7b, 0x59, 0xc1, 0xa6, 0xcb, 0xd6, 0x4f, 0x77, 0xb6, 0x31, 0xbc, 0xef, 0xb9, 0x57, + 0xd4, 0xf0, 0xbe, 0x97, 0xc2, 0xfb, 0x1e, 0x86, 0xf7, 0x3d, 0x77, 0x41, 0x03, 0x9f, 0xd5, 0x4f, + 0x71, 0x7d, 0xad, 0x1f, 0x45, 0x03, 0x77, 0x51, 0xd1, 0xca, 0x20, 0x8a, 0x06, 0xa4, 0x1c, 0xd7, + 0x25, 0xf8, 0x93, 0x78, 0xec, 0x22, 0x05, 0xfe, 0x61, 0x3c, 0x3e, 0x1d, 0x9e, 0x50, 0xfc, 0x49, + 0x3c, 0x76, 0xde, 0x41, 0xf3, 0xfd, 0x17, 0x71, 0x38, 0x71, 0x97, 0x14, 0x27, 0x10, 0x24, 0xdf, + 0x92, 0x05, 0xa4, 0xf2, 0x5e, 0xed, 0xdf, 0x7f, 0xbc, 0x59, 0xd9, 0xf8, 0xf5, 0x32, 0x42, 0xed, + 0xa4, 0x88, 0xa8, 0x63, 0x0f, 0xad, 0x0d, 0xa7, 0x83, 0x41, 0xaf, 0x3f, 0x08, 0xb3, 0xab, 0x4b, + 0xb5, 0xa2, 0xbb, 0xfe, 0xf2, 0x22, 0xe7, 0x01, 0x5a, 0x4d, 0x3f, 0x4c, 0x35, 0x45, 0x85, 0xa4, + 0x11, 0x9d, 0xb4, 0xc4, 0xb9, 0x8f, 0xae, 0x66, 0x9f, 0x61, 0x05, 0x15, 0x12, 0x98, 0xb0, 0xc6, + 0xf9, 0x00, 0xad, 0xa4, 0x9f, 0x60, 0x5d, 0x15, 0x51, 0x1d, 0xbf, 0x82, 0x85, 0xc0, 0xda, 0x29, + 0xa2, 0x44, 0x7e, 0x05, 0x7b, 0x2e, 0x44, 0x7f, 0x85, 0xe4, 0x29, 0xac, 0x11, 0x88, 0x14, 0xd3, + 0x2c, 0xbf, 0x42, 0x24, 0x52, 0x50, 0xc8, 0xc2, 0x1a, 0xe7, 0x3d, 0xb4, 0x9c, 0x7e, 0x12, 0x14, + 0xd3, 0x36, 0x57, 0xcf, 0xb2, 0x20, 0x7a, 0x2e, 0x24, 0x77, 0x61, 0x0d, 0xdb, 0x8e, 0xa0, 0xe8, + 0x1d, 0xc0, 0xaf, 0x70, 0xde, 0x43, 0x8b, 0xd9, 0x1f, 0x55, 0x77, 0xd9, 0x24, 0xf6, 0xa0, 0xf6, + 0xf9, 0x3f, 0x6e, 0xce, 0x75, 0xf2, 0x25, 0xce, 0xf7, 0xd1, 0x42, 0xfa, 0x47, 0xdb, 0x5d, 0x31, + 0x48, 0x9c, 0xae, 0xce, 0x16, 0x38, 0x7b, 0x68, 0x65, 0x18, 0x0d, 0x13, 0x42, 0x54, 0xdf, 0x57, + 0xcd, 0xfa, 0xa6, 0x20, 0xfc, 0x42, 0xe7, 0x01, 0x5a, 0xa6, 0x1f, 0x10, 0x8d, 0x5f, 0x33, 0x6a, + 0x9c, 0xe2, 0x70, 0xcb, 0x18, 0x18, 0xa2, 0xd1, 0x55, 0xa3, 0xce, 0x05, 0x18, 0x22, 0xd3, 0xfc, + 0xbc, 0xa8, 0xd6, 0xd7, 0xcc, 0x5a, 0x17, 0xce, 0x8b, 0x0a, 0x9e, 0x23, 0xe4, 0x7b, 0xae, 0x63, + 0xd4, 0xbb, 0x4c, 0xc8, 0xf7, 0x04, 0x42, 0xbe, 0xe7, 0x5e, 0x37, 0x6b, 0x1e, 0x20, 0xe4, 0x7b, + 0x4e, 0x80, 0x96, 0xe8, 0x07, 0x58, 0xf7, 0xaf, 0x98, 0x74, 0x4f, 0x51, 0xd8, 0x45, 0x0c, 0x1b, + 0xaa, 0xfd, 0x1b, 0x66, 0xed, 0x0b, 0x6c, 0xe8, 0x0d, 0x90, 0xb7, 0x87, 0xe8, 0xff, 0x55, 0xa3, + 0xfe, 0x85, 0xf6, 0x04, 0x8c, 0x1d, 0xfc, 0x77, 0x19, 0x2d, 0x1c, 0xc6, 0xc7, 0xc4, 0x0c, 0x1e, + 0x95, 0x32, 0x83, 0xa0, 0xf6, 0x9b, 0x7f, 0xde, 0xac, 0x40, 0x96, 0xf0, 0x61, 0x09, 0x4b, 0x08, + 0x6a, 0xbf, 0x4b, 0xd0, 0x64, 0x63, 0x68, 0x95, 0x31, 0x86, 0xa0, 0xf6, 0x87, 0x04, 0x4d, 0xb4, + 0x87, 0x86, 0xbd, 0x3d, 0x50, 0x24, 0xc1, 0x24, 0x1a, 0xf6, 0x26, 0x21, 0x02, 0x11, 0xcd, 0xb7, + 0xca, 0x58, 0x85, 0x78, 0x76, 0xf4, 0xfe, 0x69, 0xd8, 0x1b, 0x06, 0x40, 0xca, 0xf7, 0x44, 0x52, + 0xc5, 0x6c, 0x03, 0x22, 0x85, 0x2d, 0xc8, 0xd2, 0x3c, 0x28, 0x0e, 0x6f, 0x21, 0xad, 0x32, 0x16, + 0x22, 0x32, 0xa2, 0xf7, 0x51, 0xc3, 0xde, 0x48, 0xc4, 0x36, 0x11, 0x3b, 0x09, 0xec, 0xec, 0x64, + 0x21, 0xb9, 0x19, 0xf1, 0x2d, 0xc3, 0x58, 0xca, 0xae, 0x8d, 0xa5, 0x60, 0x04, 0x7c, 0x9b, 0xe4, + 0xb6, 0xb2, 0x5f, 0xc6, 0x56, 0x30, 0x10, 0x3d, 0x25, 0xce, 0x5a, 0x9a, 0xf6, 0xd6, 0x92, 0x63, + 0xf1, 0xf6, 0xd2, 0xb4, 0xb7, 0x17, 0x19, 0x8a, 0x08, 0x7b, 0xbf, 0x8c, 0xc5, 0xc8, 0xe7, 0x48, + 0x6f, 0x93, 0xa6, 0xbd, 0xcd, 0x80, 0xc4, 0x7c, 0x4f, 0x20, 0x56, 0xd0, 0x6a, 0x60, 0x62, 0xbe, + 0xe7, 0x3c, 0xb4, 0xb5, 0x9b, 0x1c, 0x89, 0xb3, 0x9c, 0xfd, 0x32, 0x96, 0x23, 0xb3, 0xa2, 0xb7, + 0x4b, 0xd3, 0xde, 0x76, 0xe4, 0x76, 0xe1, 0x2f, 0x37, 0x7e, 0xbb, 0x8c, 0x56, 0x3a, 0xe1, 0x88, + 0x89, 0x21, 0x2d, 0xe4, 0x48, 0xf6, 0x31, 0x71, 0x2b, 0xb7, 0xaa, 0x86, 0x1c, 0x02, 0xac, 0x72, + 0x1a, 0xb9, 0x8b, 0xa5, 0x77, 0x4c, 0x12, 0x69, 0xab, 0xfa, 0x24, 0x22, 0xaf, 0x71, 0xde, 0x47, + 0x28, 0xce, 0xc9, 0x54, 0x4d, 0x64, 0xa8, 0xcb, 0x32, 0x6b, 0x9c, 0x77, 0xd1, 0xe2, 0x71, 0x46, + 0xa1, 0x66, 0xa0, 0x90, 0xee, 0x33, 0xb3, 0x15, 0x40, 0x16, 0x9a, 0xc7, 0x18, 0x76, 0x59, 0x48, + 0xda, 0x70, 0x5e, 0x36, 0x83, 0xc0, 0x1b, 0x4e, 0x29, 0x55, 0x5d, 0xc1, 0x48, 0x36, 0xa9, 0x4a, + 0xdc, 0xb3, 0x2e, 0x18, 0x11, 0xc0, 0x3d, 0xab, 0x14, 0xce, 0x16, 0x15, 0x38, 0xea, 0x70, 0x26, + 0x6e, 0x7b, 0x91, 0x11, 0x01, 0xdc, 0xf6, 0xca, 0x19, 0x6f, 0x49, 0xd1, 0x5e, 0x5d, 0xc6, 0x93, + 0x36, 0xcf, 0xcb, 0x66, 0x10, 0x78, 0xf3, 0x2c, 0xa5, 0xc5, 0x15, 0xf5, 0x79, 0x29, 0xd2, 0xa2, + 0xb8, 0xff, 0xbe, 0x6a, 0x44, 0x00, 0xf7, 0xdf, 0x72, 0xe8, 0xbc, 0xa6, 0x39, 0x29, 0x55, 0xe8, + 0x94, 0x76, 0xf1, 0xab, 0x66, 0x10, 0x78, 0x17, 0x2f, 0xc6, 0xd7, 0x35, 0xc5, 0x0d, 0xad, 0x8a, + 0xaf, 0x42, 0x0a, 0x70, 0x4c, 0xcb, 0xa1, 0x14, 0x20, 0x47, 0xe0, 0xeb, 0x8a, 0xd3, 0xd1, 0x45, + 0x60, 0x29, 0x4b, 0xbc, 0x62, 0x06, 0x81, 0xb3, 0x84, 0x14, 0xa6, 0x6f, 0x28, 0xae, 0xb5, 0x3a, + 0x4c, 0xcb, 0x71, 0xa4, 0x5a, 0x3e, 0x8e, 0xfc, 0x7f, 0x19, 0x2d, 0x75, 0xc2, 0x51, 0x96, 0x48, + 0xda, 0xe5, 0x7c, 0x81, 0x46, 0x12, 0xc8, 0x1d, 0x0e, 0xca, 0xb8, 0x03, 0x0d, 0x25, 0x80, 0x47, + 0xdc, 0xb7, 0xf4, 0x88, 0x7c, 0xf3, 0xc7, 0xfa, 0xc4, 0x07, 0x56, 0x3e, 0x91, 0x6f, 0xff, 0x18, + 0xaf, 0x68, 0x95, 0xf1, 0x0a, 0x45, 0x3c, 0xda, 0x2f, 0xe3, 0x18, 0xca, 0xbd, 0x64, 0xc3, 0xde, + 0x35, 0xe0, 0xb0, 0xd5, 0xb4, 0xf7, 0x0e, 0xd5, 0xa6, 0xb4, 0x61, 0xef, 0x1f, 0x70, 0x6e, 0x6b, + 0xda, 0xbb, 0x88, 0x6a, 0x77, 0xdb, 0x2a, 0xe3, 0x24, 0x8a, 0x08, 0xb8, 0x5f, 0xc6, 0x4f, 0x94, + 0x3b, 0xe5, 0x86, 0xbd, 0xa7, 0xc0, 0x81, 0xb2, 0x69, 0xef, 0x2c, 0xaa, 0x2d, 0x77, 0xab, 0x8c, + 0xbb, 0x28, 0xb2, 0xe9, 0x7e, 0x19, 0x8f, 0x51, 0x6e, 0xdf, 0xef, 0xdb, 0xfa, 0x0c, 0x98, 0x74, + 0x1f, 0xda, 0xba, 0x8d, 0x22, 0x04, 0xb4, 0xca, 0x38, 0x8e, 0x22, 0x31, 0xef, 0x97, 0xf1, 0x1d, + 0x65, 0xa0, 0x68, 0xd8, 0x7b, 0x0f, 0x9c, 0xbf, 0x9b, 0xf6, 0x0e, 0xa4, 0x4a, 0x26, 0x7f, 0xae, + 0xa3, 0x95, 0x83, 0x1e, 0x9b, 0x4c, 0x7e, 0x04, 0xcf, 0xc4, 0x92, 0x23, 0xbc, 0xb5, 0x49, 0x9e, + 0x06, 0x72, 0x0b, 0x36, 0x1f, 0x89, 0xd5, 0x0f, 0x86, 0xf1, 0xf8, 0x05, 0x34, 0x1e, 0x6b, 0xb0, + 0x73, 0x03, 0x62, 0x41, 0xaf, 0x81, 0x90, 0x3c, 0x94, 0x3c, 0x8f, 0x7e, 0x0a, 0xcc, 0xd9, 0x88, + 0x15, 0xbd, 0xa9, 0xa5, 0x98, 0x16, 0x13, 0x86, 0xd0, 0xb3, 0x98, 0x7c, 0x28, 0x41, 0x5c, 0x69, + 0x03, 0xc4, 0xe3, 0x70, 0xa4, 0x81, 0x77, 0x5b, 0xe1, 0x4c, 0x77, 0xf5, 0xdc, 0x70, 0x29, 0x61, + 0x26, 0xfa, 0xd3, 0x21, 0xec, 0x4f, 0x6f, 0xc0, 0x80, 0x6c, 0x25, 0xcb, 0x50, 0xb0, 0xa9, 0x03, + 0xd8, 0xa6, 0xde, 0xd0, 0xb2, 0xc4, 0x95, 0x84, 0xa4, 0x60, 0x56, 0x6d, 0xd0, 0xac, 0xee, 0xe8, + 0x28, 0xe6, 0x60, 0x60, 0xe6, 0x39, 0x80, 0x3d, 0x4b, 0x4f, 0x10, 0x57, 0x0a, 0x04, 0xc9, 0x1f, + 0xf5, 0x36, 0xe8, 0x5c, 0x5a, 0x82, 0x39, 0x18, 0x18, 0x85, 0xda, 0x0a, 0x03, 0xd3, 0x5f, 0xe8, + 0x2e, 0x43, 0x51, 0xb4, 0xb1, 0x43, 0xd8, 0xc6, 0xb4, 0x17, 0xba, 0x2b, 0xb1, 0x14, 0xdc, 0xec, + 0x00, 0x76, 0x33, 0x63, 0x1f, 0x7d, 0x4f, 0xee, 0xa3, 0xef, 0xf1, 0x7d, 0xcc, 0x3c, 0xcd, 0xd4, + 0x47, 0x0a, 0x06, 0x06, 0xa7, 0xb6, 0xc2, 0xda, 0xcc, 0x7d, 0x4c, 0x29, 0x8a, 0x06, 0x77, 0x08, + 0x1b, 0x9c, 0xb1, 0x8f, 0x3c, 0x4b, 0xc1, 0xe7, 0x5a, 0xa0, 0xcf, 0xdd, 0xd1, 0x92, 0x4c, 0x0a, + 0x09, 0x45, 0xde, 0xed, 0x0e, 0x20, 0xb7, 0xbb, 0xad, 0xa3, 0x97, 0x21, 0x41, 0x31, 0xab, 0xad, + 0x30, 0x3d, 0x7d, 0x07, 0x49, 0xa9, 0xd0, 0x41, 0x6a, 0x56, 0x87, 0xb0, 0xf5, 0x69, 0x3b, 0xc8, + 0xe0, 0xc1, 0xe9, 0xeb, 0x00, 0x76, 0x40, 0xbd, 0x12, 0x71, 0xa5, 0xa0, 0x44, 0xe2, 0x83, 0x6d, + 0xd0, 0x07, 0xb5, 0x4a, 0xcc, 0xc1, 0xa0, 0x50, 0xb6, 0xfe, 0x73, 0xf4, 0x2a, 0x6c, 0x67, 0xce, + 0x2a, 0xaa, 0xfe, 0x22, 0x7c, 0x81, 0x1f, 0x0e, 0xcd, 0x77, 0x92, 0x1f, 0x9d, 0x6f, 0xa3, 0xf9, + 0x5f, 0x26, 0xde, 0x5a, 0xe0, 0xbf, 0x47, 0x48, 0xe1, 0xbd, 0x4b, 0xdf, 0xad, 0xac, 0xff, 0x10, + 0x5d, 0xbd, 0x20, 0xe4, 0x9f, 0xa2, 0x1b, 0xa0, 0xcf, 0x01, 0x07, 0xd8, 0xe2, 0x0f, 0xa0, 0x99, + 0x12, 0x32, 0xf8, 0x4f, 0xd1, 0xca, 0x85, 0xe0, 0xfe, 0x0c, 0x5d, 0x07, 0x3c, 0x10, 0x40, 0xf7, + 0x78, 0x74, 0xfd, 0x50, 0x90, 0x6b, 0x8c, 0x23, 0x7b, 0xe2, 0x39, 0xe2, 0x7f, 0x8c, 0x1c, 0xd9, + 0x1e, 0x01, 0xfc, 0x77, 0x78, 0x7c, 0xed, 0x14, 0x91, 0x81, 0xff, 0x09, 0x5a, 0x93, 0xfc, 0xf2, + 0xfc, 0xd0, 0x19, 0xf2, 0xb9, 0x8f, 0x94, 0x81, 0x67, 0x86, 0x7d, 0x20, 0xf9, 0x8b, 0x40, 0x67, + 0xa4, 0xd3, 0xd5, 0xe2, 0x1b, 0x2f, 0x6d, 0x17, 0x3e, 0x40, 0x2e, 0x9d, 0x8b, 0xc1, 0xe7, 0xbb, + 0x4f, 0xdd, 0xa7, 0x64, 0x7f, 0xd2, 0x81, 0xa2, 0xaa, 0xfb, 0xe7, 0x8e, 0x2e, 0x74, 0x5f, 0x8d, + 0x5f, 0xa8, 0x3b, 0xc0, 0x01, 0xf8, 0xee, 0x9f, 0x3f, 0xfe, 0x8f, 0xd1, 0x9a, 0xe4, 0xd3, 0x65, + 0xfe, 0x1c, 0xe7, 0x03, 0x54, 0x06, 0xfc, 0x23, 0xb4, 0x2a, 0x3a, 0xf7, 0xb9, 0x61, 0x33, 0x9d, + 0x67, 0x3c, 0xb7, 0x4c, 0x67, 0xd8, 0xa9, 0x2b, 0xd8, 0xf9, 0x8b, 0xc1, 0x67, 0x74, 0x9f, 0x3b, + 0x72, 0x19, 0x65, 0xb2, 0xff, 0xf5, 0x07, 0xe9, 0xfe, 0x02, 0xd0, 0x37, 0xfe, 0x53, 0x47, 0x4b, + 0x07, 0xbd, 0x7c, 0x66, 0xfb, 0xb1, 0x3a, 0x31, 0x7f, 0x2b, 0xdf, 0x8b, 0xa4, 0xe5, 0x8a, 0xbc, + 0xac, 0xfe, 0xa7, 0x92, 0xa6, 0x9c, 0x9a, 0xbf, 0x09, 0xc0, 0x0a, 0x70, 0xe0, 0x43, 0xf7, 0x8f, + 0x94, 0xb9, 0xf9, 0xae, 0x86, 0xa8, 0x90, 0x76, 0x15, 0xff, 0xae, 0xf2, 0x50, 0xca, 0xce, 0xb7, + 0x00, 0x4c, 0x1e, 0x0b, 0x7a, 0xae, 0x7f, 0xa4, 0x48, 0xcf, 0x77, 0x74, 0x0c, 0xd9, 0xac, 0x0b, + 0x4e, 0x78, 0xbb, 0x70, 0x82, 0xbe, 0x0d, 0x81, 0xca, 0xf9, 0x59, 0x39, 0xea, 0x7d, 0x02, 0x67, + 0xe8, 0xdb, 0x1a, 0xae, 0x6c, 0xe8, 0x85, 0x86, 0xbe, 0x1d, 0x30, 0x47, 0xbf, 0xae, 0x26, 0xca, + 0x00, 0xaa, 0xa6, 0xbf, 0x4f, 0xe0, 0x24, 0xad, 0xa3, 0xc9, 0x86, 0x4a, 0x68, 0x0e, 0xdc, 0x01, + 0xd3, 0xb4, 0x86, 0x26, 0x03, 0xa8, 0x1a, 0x08, 0x1f, 0x29, 0xf2, 0xb4, 0xee, 0xd2, 0x77, 0x25, + 0xa2, 0x62, 0xa6, 0xee, 0xc2, 0x99, 0x5a, 0x73, 0xe9, 0xbb, 0x20, 0x57, 0x21, 0x55, 0x3f, 0x81, + 0x53, 0xb5, 0xa1, 0xa7, 0x59, 0xc0, 0x84, 0xa6, 0xc5, 0x1d, 0x30, 0x59, 0xeb, 0x7b, 0x9a, 0x02, + 0xaa, 0xc6, 0xc6, 0x47, 0x8a, 0x6c, 0x6d, 0xea, 0x29, 0x4f, 0x54, 0xcc, 0xd7, 0x5d, 0x38, 0x5f, + 0x1b, 0x7a, 0x2a, 0x73, 0x15, 0x12, 0xf6, 0x23, 0x30, 0x61, 0xbf, 0xae, 0xa1, 0xca, 0xa4, 0x62, + 0x60, 0xa6, 0xfc, 0x18, 0x4a, 0xd9, 0xaf, 0xa9, 0x49, 0xe6, 0x68, 0x8a, 0xe1, 0xf2, 0x91, 0x22, + 0x67, 0xeb, 0xba, 0xc9, 0xa5, 0x62, 0x70, 0xcc, 0xdc, 0x85, 0xb3, 0xb6, 0xa6, 0x9b, 0x2c, 0xa6, + 0x72, 0xde, 0xfc, 0x04, 0x4e, 0xdb, 0x3a, 0x85, 0xb2, 0xf1, 0x18, 0x9a, 0x3c, 0x77, 0xc0, 0xc4, + 0xad, 0x51, 0x28, 0x03, 0xa8, 0x18, 0x41, 0xcf, 0x32, 0xf7, 0x2c, 0x73, 0xcf, 0x32, 0xf7, 0x2c, + 0x73, 0xcf, 0x32, 0xf7, 0x2c, 0x73, 0xcf, 0x32, 0xf7, 0x2c, 0x73, 0xc3, 0x99, 0xfb, 0x2f, 0xf3, + 0xe8, 0xda, 0xe3, 0x61, 0x18, 0x3d, 0x63, 0x9e, 0x54, 0xdf, 0x63, 0x83, 0xb1, 0xf1, 0xad, 0x8d, + 0x3d, 0xee, 0x09, 0xf2, 0x77, 0x98, 0xb4, 0x6a, 0x32, 0xce, 0x3d, 0xf6, 0xe1, 0xee, 0x0f, 0xd0, + 0xe2, 0x38, 0x1c, 0x15, 0x7f, 0x21, 0x23, 0x39, 0x6c, 0xb6, 0xc0, 0xf9, 0x1e, 0x5a, 0x18, 0x87, + 0xa3, 0xa2, 0xaf, 0x60, 0x24, 0x07, 0x4e, 0xcb, 0xe9, 0xd2, 0xa2, 0x2f, 0x5d, 0xd0, 0xa5, 0x24, + 0xaa, 0x10, 0xce, 0xc5, 0x5f, 0xb3, 0xa0, 0x9c, 0x69, 0xd0, 0xc9, 0x0e, 0x5c, 0xe8, 0xc5, 0x8a, + 0xfc, 0xc0, 0xbe, 0xc7, 0x1c, 0xb8, 0xd8, 0xab, 0x14, 0xcc, 0x81, 0x7d, 0xcf, 0xd9, 0x41, 0x57, + 0xc6, 0xe1, 0xa8, 0xd8, 0xcb, 0x13, 0x7b, 0x73, 0x9d, 0xb4, 0x98, 0x1e, 0xb5, 0xf8, 0xeb, 0x12, + 0xf4, 0xa8, 0x74, 0xd7, 0x4c, 0x4e, 0xb7, 0xe8, 0x0b, 0x12, 0xf4, 0x74, 0xf1, 0x07, 0xc1, 0x1a, + 0xd6, 0xe8, 0x63, 0xaa, 0xd1, 0x44, 0x6b, 0x1b, 0xff, 0x9b, 0x47, 0x2b, 0x58, 0xb7, 0xd9, 0xb4, + 0xe8, 0x7d, 0x2b, 0xd5, 0x92, 0xb1, 0x10, 0xaf, 0xdd, 0x77, 0x2d, 0xb4, 0x4b, 0xc6, 0x35, 0x9c, + 0x82, 0x03, 0x4b, 0x05, 0x93, 0x24, 0xc0, 0xeb, 0x78, 0xd7, 0x4a, 0xc7, 0x19, 0x42, 0xae, 0xe6, + 0x5d, 0x2b, 0x35, 0x73, 0x00, 0x44, 0x95, 0x81, 0xa5, 0xa6, 0xb9, 0xb3, 0xa0, 0xca, 0xde, 0xb5, + 0x52, 0xb6, 0x48, 0x02, 0xbf, 0x27, 0x67, 0xa7, 0x6f, 0x89, 0x04, 0xbe, 0x47, 0x8a, 0xab, 0x3c, + 0x5b, 0x9f, 0x69, 0x3d, 0xb0, 0xd4, 0x3a, 0xc7, 0x80, 0x2a, 0x7e, 0xd7, 0x4a, 0xf1, 0x5c, 0x1b, + 0x88, 0xee, 0xaf, 0x61, 0x8d, 0x3f, 0xc6, 0x1a, 0x4f, 0x54, 0x1a, 0xdc, 0xfd, 0xe2, 0xcb, 0x7a, + 0xe5, 0xe5, 0x97, 0xf5, 0xca, 0x9f, 0xce, 0xea, 0x95, 0xbf, 0x9e, 0xd5, 0x2b, 0x7f, 0x3b, 0xab, + 0x57, 0x3e, 0x3f, 0xab, 0xcf, 0xfd, 0xfd, 0xac, 0x3e, 0xf7, 0xc5, 0x59, 0xbd, 0xf2, 0xf2, 0xac, + 0x3e, 0xf7, 0xab, 0x7f, 0xd5, 0xe7, 0xfa, 0x97, 0xf1, 0x11, 0xfc, 0xaf, 0x02, 0x00, 0x00, 0xff, + 0xff, 0xf1, 0x88, 0x43, 0x17, 0x77, 0x40, 0x00, 0x00, +} + func (this *KnownTypes) Compare(that interface{}) int { if that == nil { if this == nil { @@ -9040,153 +9191,3 @@ func sovTypes(x uint64) (n int) { func sozTypes(x uint64) (n int) { return sovTypes(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } - -func init() { proto.RegisterFile("combos/neither/types.proto", fileDescriptor_types_a6ccc2435d23b615) } - -var fileDescriptor_types_a6ccc2435d23b615 = []byte{ - // 2297 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1c, 0x47, - 0x19, 0xd5, 0x7a, 0x57, 0xb6, 0xd4, 0x92, 0x6c, 0x69, 0x1c, 0xa7, 0x06, 0x41, 0xad, 0x8d, 0x12, - 0x3b, 0x26, 0xa9, 0x48, 0x64, 0x46, 0x25, 0xc0, 0x90, 0x28, 0x99, 0xb2, 0xbd, 0xda, 0x8d, 0x64, - 0xaf, 0x57, 0x5a, 0x17, 0x04, 0x02, 0xec, 0x46, 0x63, 0x45, 0xc5, 0x7a, 0x67, 0x6b, 0x77, 0x96, - 0x94, 0x6f, 0xfc, 0x01, 0x1c, 0xb8, 0x41, 0x15, 0x17, 0xb8, 0x71, 0xe5, 0x40, 0x15, 0x47, 0x8e, - 0x39, 0xf2, 0x17, 0x40, 0x22, 0x2e, 0x5c, 0x81, 0x8b, 0x2f, 0x54, 0xa5, 0xa6, 0xbb, 0x67, 0xa6, - 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x25, 0xdd, 0xf6, 0x26, 0xed, 0x7e, 0xfd, 0xe6, 0xcd, 0x37, 0x6f, - 0xf4, 0xfa, 0x7d, 0xa3, 0x41, 0xeb, 0x9f, 0x44, 0xcf, 0xfb, 0xd1, 0x64, 0x6b, 0x18, 0x9e, 0xc6, - 0x9f, 0x86, 0xe3, 0xad, 0xf8, 0xc5, 0x28, 0x9c, 0x6c, 0x8e, 0xc6, 0x51, 0x1c, 0x39, 0xf3, 0xf8, - 0x97, 0xf5, 0xb7, 0x4f, 0x4e, 0xe3, 0x4f, 0xa7, 0xfd, 0xcd, 0x4f, 0xa2, 0xe7, 0x5b, 0x27, 0xd1, - 0x49, 0xb4, 0x85, 0xbf, 0xed, 0x4f, 0x9f, 0xe1, 0xdf, 0xf0, 0x2f, 0xf8, 0x27, 0xb2, 0x6a, 0xbd, - 0x7e, 0x12, 0x45, 0x27, 0x83, 0x30, 0xaf, 0x3a, 0x9e, 0x8e, 0x7b, 0xf1, 0x69, 0x34, 0xa4, 0xdf, - 0xdf, 0x14, 0xbf, 0x8f, 0x4f, 0x9f, 0x87, 0x93, 0xb8, 0xf7, 0x7c, 0xa4, 0x02, 0xf8, 0x6c, 0xdc, - 0x1b, 0x8d, 0xc2, 0x31, 0xa5, 0xb5, 0xf1, 0xfb, 0x1a, 0x42, 0x1f, 0x0e, 0xa3, 0xcf, 0x86, 0x47, - 0x09, 0x3d, 0xe7, 0x2d, 0x54, 0x3d, 0x9e, 0x8e, 0xdd, 0xca, 0xad, 0xca, 0xdd, 0x25, 0xef, 0x6b, - 0x9b, 0x64, 0xf1, 0x66, 0xba, 0x78, 0xf3, 0x3e, 0x3d, 0x7a, 0x27, 0xa9, 0x72, 0xde, 0x44, 0x97, - 0xe2, 0x89, 0x7b, 0x09, 0xd7, 0xae, 0x4b, 0xb5, 0x47, 0x29, 0x93, 0xce, 0xa5, 0x78, 0xe2, 0x6c, - 0xa2, 0xea, 0x71, 0x7f, 0xe0, 0x56, 0x71, 0xf1, 0x37, 0x64, 0xe0, 0x68, 0xda, 0x1f, 0x84, 0x4f, - 0x7b, 0x83, 0x69, 0xd8, 0x49, 0x0a, 0x9d, 0xb7, 0x51, 0xf5, 0xd9, 0x20, 0x76, 0x6b, 0xb8, 0xfe, - 0xeb, 0x52, 0xfd, 0xc3, 0x41, 0xd4, 0x8b, 0x69, 0xf9, 0xb3, 0x41, 0x9c, 0x94, 0x9f, 0xee, 0x6c, - 0xbb, 0xf3, 0x8a, 0xf2, 0xe6, 0x30, 0xde, 0xd9, 0xa6, 0xe5, 0xa7, 0x3b, 0xdb, 0x09, 0x9b, 0xe9, - 0xce, 0xb6, 0x7b, 0x59, 0xc1, 0xa6, 0xcb, 0xd6, 0x4f, 0x77, 0xb6, 0x31, 0xbc, 0xef, 0xb9, 0x57, - 0xd4, 0xf0, 0xbe, 0x97, 0xc2, 0xfb, 0x1e, 0x86, 0xf7, 0x3d, 0x77, 0x41, 0x03, 0x9f, 0xd5, 0x4f, - 0x71, 0x7d, 0xad, 0x1f, 0x45, 0x03, 0x77, 0x51, 0xd1, 0xca, 0x20, 0x8a, 0x06, 0xa4, 0x1c, 0xd7, - 0x25, 0xf8, 0x93, 0x78, 0xec, 0x22, 0x05, 0xfe, 0x61, 0x3c, 0x3e, 0x1d, 0x9e, 0x50, 0xfc, 0x49, - 0x3c, 0x76, 0xde, 0x41, 0xf3, 0xfd, 0x17, 0x71, 0x38, 0x71, 0x97, 0x14, 0x27, 0x10, 0x24, 0xdf, - 0x92, 0x05, 0xa4, 0xf2, 0x5e, 0xed, 0xdf, 0x7f, 0xbc, 0x59, 0xd9, 0xf8, 0xf5, 0x32, 0x42, 0xed, - 0xa4, 0x88, 0xa8, 0x63, 0x0f, 0xad, 0x0d, 0xa7, 0x83, 0x41, 0xaf, 0x3f, 0x08, 0xb3, 0xab, 0x4b, - 0xb5, 0xa2, 0xbb, 0xfe, 0xf2, 0x22, 0xe7, 0x01, 0x5a, 0x4d, 0x3f, 0x4c, 0x35, 0x45, 0x85, 0xa4, - 0x11, 0x9d, 0xb4, 0xc4, 0xb9, 0x8f, 0xae, 0x66, 0x9f, 0x61, 0x05, 0x15, 0x12, 0x98, 0xb0, 0xc6, - 0xf9, 0x00, 0xad, 0xa4, 0x9f, 0x60, 0x5d, 0x15, 0x51, 0x1d, 0xbf, 0x82, 0x85, 0xc0, 0xda, 0x29, - 0xa2, 0x44, 0x7e, 0x05, 0x7b, 0x2e, 0x44, 0x7f, 0x85, 0xe4, 0x29, 0xac, 0x11, 0x88, 0x14, 0xd3, - 0x2c, 0xbf, 0x42, 0x24, 0x52, 0x50, 0xc8, 0xc2, 0x1a, 0xe7, 0x3d, 0xb4, 0x9c, 0x7e, 0x12, 0x14, - 0xd3, 0x36, 0x57, 0xcf, 0xb2, 0x20, 0x7a, 0x2e, 0x24, 0x77, 0x61, 0x0d, 0xdb, 0x8e, 0xa0, 0xe8, - 0x1d, 0xc0, 0xaf, 0x70, 0xde, 0x43, 0x8b, 0xd9, 0x1f, 0x55, 0x77, 0xd9, 0x24, 0xf6, 0xa0, 0xf6, - 0xf9, 0x3f, 0x6e, 0xce, 0x75, 0xf2, 0x25, 0xce, 0xf7, 0xd1, 0x42, 0xfa, 0x47, 0xdb, 0x5d, 0x31, - 0x48, 0x9c, 0xae, 0xce, 0x16, 0x38, 0x7b, 0x68, 0x65, 0x18, 0x0d, 0x13, 0x42, 0x54, 0xdf, 0x57, - 0xcd, 0xfa, 0xa6, 0x20, 0xfc, 0x42, 0xe7, 0x01, 0x5a, 0xa6, 0x1f, 0x10, 0x8d, 0x5f, 0x33, 0x6a, - 0x9c, 0xe2, 0x70, 0xcb, 0x18, 0x18, 0xa2, 0xd1, 0x55, 0xa3, 0xce, 0x05, 0x18, 0x22, 0xd3, 0xfc, - 0xbc, 0xa8, 0xd6, 0xd7, 0xcc, 0x5a, 0x17, 0xce, 0x8b, 0x0a, 0x9e, 0x23, 0xe4, 0x7b, 0xae, 0x63, - 0xd4, 0xbb, 0x4c, 0xc8, 0xf7, 0x04, 0x42, 0xbe, 0xe7, 0x5e, 0x37, 0x6b, 0x1e, 0x20, 0xe4, 0x7b, - 0x4e, 0x80, 0x96, 0xe8, 0x07, 0x58, 0xf7, 0xaf, 0x98, 0x74, 0x4f, 0x51, 0xd8, 0x45, 0x0c, 0x1b, - 0xaa, 0xfd, 0x1b, 0x66, 0xed, 0x0b, 0x6c, 0xe8, 0x0d, 0x90, 0xb7, 0x87, 0xe8, 0xff, 0x55, 0xa3, - 0xfe, 0x85, 0xf6, 0x04, 0x8c, 0x1d, 0xfc, 0x77, 0x19, 0x2d, 0x1c, 0xc6, 0xc7, 0xc4, 0x0c, 0x1e, - 0x95, 0x32, 0x83, 0xa0, 0xf6, 0x9b, 0x7f, 0xde, 0xac, 0x40, 0x96, 0xf0, 0x61, 0x09, 0x4b, 0x08, - 0x6a, 0xbf, 0x4b, 0xd0, 0x64, 0x63, 0x68, 0x95, 0x31, 0x86, 0xa0, 0xf6, 0x87, 0x04, 0x4d, 0xb4, - 0x87, 0x86, 0xbd, 0x3d, 0x50, 0x24, 0xc1, 0x24, 0x1a, 0xf6, 0x26, 0x21, 0x02, 0x11, 0xcd, 0xb7, - 0xca, 0x58, 0x85, 0x78, 0x76, 0xf4, 0xfe, 0x69, 0xd8, 0x1b, 0x06, 0x40, 0xca, 0xf7, 0x44, 0x52, - 0xc5, 0x6c, 0x03, 0x22, 0x85, 0x2d, 0xc8, 0xd2, 0x3c, 0x28, 0x0e, 0x6f, 0x21, 0xad, 0x32, 0x16, - 0x22, 0x32, 0xa2, 0xf7, 0x51, 0xc3, 0xde, 0x48, 0xc4, 0x36, 0x11, 0x3b, 0x09, 0xec, 0xec, 0x64, - 0x21, 0xb9, 0x19, 0xf1, 0x2d, 0xc3, 0x58, 0xca, 0xae, 0x8d, 0xa5, 0x60, 0x04, 0x7c, 0x9b, 0xe4, - 0xb6, 0xb2, 0x5f, 0xc6, 0x56, 0x30, 0x10, 0x3d, 0x25, 0xce, 0x5a, 0x9a, 0xf6, 0xd6, 0x92, 0x63, - 0xf1, 0xf6, 0xd2, 0xb4, 0xb7, 0x17, 0x19, 0x8a, 0x08, 0x7b, 0xbf, 0x8c, 0xc5, 0xc8, 0xe7, 0x48, - 0x6f, 0x93, 0xa6, 0xbd, 0xcd, 0x80, 0xc4, 0x7c, 0x4f, 0x20, 0x56, 0xd0, 0x6a, 0x60, 0x62, 0xbe, - 0xe7, 0x3c, 0xb4, 0xb5, 0x9b, 0x1c, 0x89, 0xb3, 0x9c, 0xfd, 0x32, 0x96, 0x23, 0xb3, 0xa2, 0xb7, - 0x4b, 0xd3, 0xde, 0x76, 0xe4, 0x76, 0xe1, 0x2f, 0x37, 0x7e, 0xbb, 0x8c, 0x56, 0x3a, 0xe1, 0x88, - 0x89, 0x21, 0x2d, 0xe4, 0x48, 0xf6, 0x31, 0x71, 0x2b, 0xb7, 0xaa, 0x86, 0x1c, 0x02, 0xac, 0x72, - 0x1a, 0xb9, 0x8b, 0xa5, 0x77, 0x4c, 0x12, 0x69, 0xab, 0xfa, 0x24, 0x22, 0xaf, 0x71, 0xde, 0x47, - 0x28, 0xce, 0xc9, 0x54, 0x4d, 0x64, 0xa8, 0xcb, 0x32, 0x6b, 0x9c, 0x77, 0xd1, 0xe2, 0x71, 0x46, - 0xa1, 0x66, 0xa0, 0x90, 0xee, 0x33, 0xb3, 0x15, 0x40, 0x16, 0x9a, 0xc7, 0x18, 0x76, 0x59, 0x48, - 0xda, 0x70, 0x5e, 0x36, 0x83, 0xc0, 0x1b, 0x4e, 0x29, 0x55, 0x5d, 0xc1, 0x48, 0x36, 0xa9, 0x4a, - 0xdc, 0xb3, 0x2e, 0x18, 0x11, 0xc0, 0x3d, 0xab, 0x14, 0xce, 0x16, 0x15, 0x38, 0xea, 0x70, 0x26, - 0x6e, 0x7b, 0x91, 0x11, 0x01, 0xdc, 0xf6, 0xca, 0x19, 0x6f, 0x49, 0xd1, 0x5e, 0x5d, 0xc6, 0x93, - 0x36, 0xcf, 0xcb, 0x66, 0x10, 0x78, 0xf3, 0x2c, 0xa5, 0xc5, 0x15, 0xf5, 0x79, 0x29, 0xd2, 0xa2, - 0xb8, 0xff, 0xbe, 0x6a, 0x44, 0x00, 0xf7, 0xdf, 0x72, 0xe8, 0xbc, 0xa6, 0x39, 0x29, 0x55, 0xe8, - 0x94, 0x76, 0xf1, 0xab, 0x66, 0x10, 0x78, 0x17, 0x2f, 0xc6, 0xd7, 0x35, 0xc5, 0x0d, 0xad, 0x8a, - 0xaf, 0x42, 0x0a, 0x70, 0x4c, 0xcb, 0xa1, 0x14, 0x20, 0x47, 0xe0, 0xeb, 0x8a, 0xd3, 0xd1, 0x45, - 0x60, 0x29, 0x4b, 0xbc, 0x62, 0x06, 0x81, 0xb3, 0x84, 0x14, 0xa6, 0x6f, 0x28, 0xae, 0xb5, 0x3a, - 0x4c, 0xcb, 0x71, 0xa4, 0x5a, 0x3e, 0x8e, 0xfc, 0x7f, 0x19, 0x2d, 0x75, 0xc2, 0x51, 0x96, 0x48, - 0xda, 0xe5, 0x7c, 0x81, 0x46, 0x12, 0xc8, 0x1d, 0x0e, 0xca, 0xb8, 0x03, 0x0d, 0x25, 0x80, 0x47, - 0xdc, 0xb7, 0xf4, 0x88, 0x7c, 0xf3, 0xc7, 0xfa, 0xc4, 0x07, 0x56, 0x3e, 0x91, 0x6f, 0xff, 0x18, - 0xaf, 0x68, 0x95, 0xf1, 0x0a, 0x45, 0x3c, 0xda, 0x2f, 0xe3, 0x18, 0xca, 0xbd, 0x64, 0xc3, 0xde, - 0x35, 0xe0, 0xb0, 0xd5, 0xb4, 0xf7, 0x0e, 0xd5, 0xa6, 0xb4, 0x61, 0xef, 0x1f, 0x70, 0x6e, 0x6b, - 0xda, 0xbb, 0x88, 0x6a, 0x77, 0xdb, 0x2a, 0xe3, 0x24, 0x8a, 0x08, 0xb8, 0x5f, 0xc6, 0x4f, 0x94, - 0x3b, 0xe5, 0x86, 0xbd, 0xa7, 0xc0, 0x81, 0xb2, 0x69, 0xef, 0x2c, 0xaa, 0x2d, 0x77, 0xab, 0x8c, - 0xbb, 0x28, 0xb2, 0xe9, 0x7e, 0x19, 0x8f, 0x51, 0x6e, 0xdf, 0xef, 0xdb, 0xfa, 0x0c, 0x98, 0x74, - 0x1f, 0xda, 0xba, 0x8d, 0x22, 0x04, 0xb4, 0xca, 0x38, 0x8e, 0x22, 0x31, 0xef, 0x97, 0xf1, 0x1d, - 0x65, 0xa0, 0x68, 0xd8, 0x7b, 0x0f, 0x9c, 0xbf, 0x9b, 0xf6, 0x0e, 0xa4, 0x4a, 0x26, 0x7f, 0xae, - 0xa3, 0x95, 0x83, 0x1e, 0x9b, 0x4c, 0x7e, 0x04, 0xcf, 0xc4, 0x92, 0x23, 0xbc, 0xb5, 0x49, 0x9e, - 0x06, 0x72, 0x0b, 0x36, 0x1f, 0x89, 0xd5, 0x0f, 0x86, 0xf1, 0xf8, 0x05, 0x34, 0x1e, 0x6b, 0xb0, - 0x73, 0x03, 0x62, 0x41, 0xaf, 0x81, 0x90, 0x3c, 0x94, 0x3c, 0x8f, 0x7e, 0x0a, 0xcc, 0xd9, 0x88, - 0x15, 0xbd, 0xa9, 0xa5, 0x98, 0x16, 0x13, 0x86, 0xd0, 0xb3, 0x98, 0x7c, 0x28, 0x41, 0x5c, 0x69, - 0x03, 0xc4, 0xe3, 0x70, 0xa4, 0x81, 0x77, 0x5b, 0xe1, 0x4c, 0x77, 0xf5, 0xdc, 0x70, 0x29, 0x61, - 0x26, 0xfa, 0xd3, 0x21, 0xec, 0x4f, 0x6f, 0xc0, 0x80, 0x6c, 0x25, 0xcb, 0x50, 0xb0, 0xa9, 0x03, - 0xd8, 0xa6, 0xde, 0xd0, 0xb2, 0xc4, 0x95, 0x84, 0xa4, 0x60, 0x56, 0x6d, 0xd0, 0xac, 0xee, 0xe8, - 0x28, 0xe6, 0x60, 0x60, 0xe6, 0x39, 0x80, 0x3d, 0x4b, 0x4f, 0x10, 0x57, 0x0a, 0x04, 0xc9, 0x1f, - 0xf5, 0x36, 0xe8, 0x5c, 0x5a, 0x82, 0x39, 0x18, 0x18, 0x85, 0xda, 0x0a, 0x03, 0xd3, 0x5f, 0xe8, - 0x2e, 0x43, 0x51, 0xb4, 0xb1, 0x43, 0xd8, 0xc6, 0xb4, 0x17, 0xba, 0x2b, 0xb1, 0x14, 0xdc, 0xec, - 0x00, 0x76, 0x33, 0x63, 0x1f, 0x7d, 0x4f, 0xee, 0xa3, 0xef, 0xf1, 0x7d, 0xcc, 0x3c, 0xcd, 0xd4, - 0x47, 0x0a, 0x06, 0x06, 0xa7, 0xb6, 0xc2, 0xda, 0xcc, 0x7d, 0x4c, 0x29, 0x8a, 0x06, 0x77, 0x08, - 0x1b, 0x9c, 0xb1, 0x8f, 0x3c, 0x4b, 0xc1, 0xe7, 0x5a, 0xa0, 0xcf, 0xdd, 0xd1, 0x92, 0x4c, 0x0a, - 0x09, 0x45, 0xde, 0xed, 0x0e, 0x20, 0xb7, 0xbb, 0xad, 0xa3, 0x97, 0x21, 0x41, 0x31, 0xab, 0xad, - 0x30, 0x3d, 0x7d, 0x07, 0x49, 0xa9, 0xd0, 0x41, 0x6a, 0x56, 0x87, 0xb0, 0xf5, 0x69, 0x3b, 0xc8, - 0xe0, 0xc1, 0xe9, 0xeb, 0x00, 0x76, 0x40, 0xbd, 0x12, 0x71, 0xa5, 0xa0, 0x44, 0xe2, 0x83, 0x6d, - 0xd0, 0x07, 0xb5, 0x4a, 0xcc, 0xc1, 0xa0, 0x50, 0xb6, 0xfe, 0x73, 0xf4, 0x2a, 0x6c, 0x67, 0xce, - 0x2a, 0xaa, 0xfe, 0x22, 0x7c, 0x81, 0x1f, 0x0e, 0xcd, 0x77, 0x92, 0x1f, 0x9d, 0x6f, 0xa3, 0xf9, - 0x5f, 0x26, 0xde, 0x5a, 0xe0, 0xbf, 0x47, 0x48, 0xe1, 0xbd, 0x4b, 0xdf, 0xad, 0xac, 0xff, 0x10, - 0x5d, 0xbd, 0x20, 0xe4, 0x9f, 0xa2, 0x1b, 0xa0, 0xcf, 0x01, 0x07, 0xd8, 0xe2, 0x0f, 0xa0, 0x99, - 0x12, 0x32, 0xf8, 0x4f, 0xd1, 0xca, 0x85, 0xe0, 0xfe, 0x0c, 0x5d, 0x07, 0x3c, 0x10, 0x40, 0xf7, - 0x78, 0x74, 0xfd, 0x50, 0x90, 0x6b, 0x8c, 0x23, 0x7b, 0xe2, 0x39, 0xe2, 0x7f, 0x8c, 0x1c, 0xd9, - 0x1e, 0x01, 0xfc, 0x77, 0x78, 0x7c, 0xed, 0x14, 0x91, 0x81, 0xff, 0x09, 0x5a, 0x93, 0xfc, 0xf2, - 0xfc, 0xd0, 0x19, 0xf2, 0xb9, 0x8f, 0x94, 0x81, 0x67, 0x86, 0x7d, 0x20, 0xf9, 0x8b, 0x40, 0x67, - 0xa4, 0xd3, 0xd5, 0xe2, 0x1b, 0x2f, 0x6d, 0x17, 0x3e, 0x40, 0x2e, 0x9d, 0x8b, 0xc1, 0xe7, 0xbb, - 0x4f, 0xdd, 0xa7, 0x64, 0x7f, 0xd2, 0x81, 0xa2, 0xaa, 0xfb, 0xe7, 0x8e, 0x2e, 0x74, 0x5f, 0x8d, - 0x5f, 0xa8, 0x3b, 0xc0, 0x01, 0xf8, 0xee, 0x9f, 0x3f, 0xfe, 0x8f, 0xd1, 0x9a, 0xe4, 0xd3, 0x65, - 0xfe, 0x1c, 0xe7, 0x03, 0x54, 0x06, 0xfc, 0x23, 0xb4, 0x2a, 0x3a, 0xf7, 0xb9, 0x61, 0x33, 0x9d, - 0x67, 0x3c, 0xb7, 0x4c, 0x67, 0xd8, 0xa9, 0x2b, 0xd8, 0xf9, 0x8b, 0xc1, 0x67, 0x74, 0x9f, 0x3b, - 0x72, 0x19, 0x65, 0xb2, 0xff, 0xf5, 0x07, 0xe9, 0xfe, 0x02, 0xd0, 0x37, 0xfe, 0x53, 0x47, 0x4b, - 0x07, 0xbd, 0x7c, 0x66, 0xfb, 0xb1, 0x3a, 0x31, 0x7f, 0x2b, 0xdf, 0x8b, 0xa4, 0xe5, 0x8a, 0xbc, - 0xac, 0xfe, 0xa7, 0x92, 0xa6, 0x9c, 0x9a, 0xbf, 0x09, 0xc0, 0x0a, 0x70, 0xe0, 0x43, 0xf7, 0x8f, - 0x94, 0xb9, 0xf9, 0xae, 0x86, 0xa8, 0x90, 0x76, 0x15, 0xff, 0xae, 0xf2, 0x50, 0xca, 0xce, 0xb7, - 0x00, 0x4c, 0x1e, 0x0b, 0x7a, 0xae, 0x7f, 0xa4, 0x48, 0xcf, 0x77, 0x74, 0x0c, 0xd9, 0xac, 0x0b, - 0x4e, 0x78, 0xbb, 0x70, 0x82, 0xbe, 0x0d, 0x81, 0xca, 0xf9, 0x59, 0x39, 0xea, 0x7d, 0x02, 0x67, - 0xe8, 0xdb, 0x1a, 0xae, 0x6c, 0xe8, 0x85, 0x86, 0xbe, 0x1d, 0x30, 0x47, 0xbf, 0xae, 0x26, 0xca, - 0x00, 0xaa, 0xa6, 0xbf, 0x4f, 0xe0, 0x24, 0xad, 0xa3, 0xc9, 0x86, 0x4a, 0x68, 0x0e, 0xdc, 0x01, - 0xd3, 0xb4, 0x86, 0x26, 0x03, 0xa8, 0x1a, 0x08, 0x1f, 0x29, 0xf2, 0xb4, 0xee, 0xd2, 0x77, 0x25, - 0xa2, 0x62, 0xa6, 0xee, 0xc2, 0x99, 0x5a, 0x73, 0xe9, 0xbb, 0x20, 0x57, 0x21, 0x55, 0x3f, 0x81, - 0x53, 0xb5, 0xa1, 0xa7, 0x59, 0xc0, 0x84, 0xa6, 0xc5, 0x1d, 0x30, 0x59, 0xeb, 0x7b, 0x9a, 0x02, - 0xaa, 0xc6, 0xc6, 0x47, 0x8a, 0x6c, 0x6d, 0xea, 0x29, 0x4f, 0x54, 0xcc, 0xd7, 0x5d, 0x38, 0x5f, - 0x1b, 0x7a, 0x2a, 0x73, 0x15, 0x12, 0xf6, 0x23, 0x30, 0x61, 0xbf, 0xae, 0xa1, 0xca, 0xa4, 0x62, - 0x60, 0xa6, 0xfc, 0x18, 0x4a, 0xd9, 0xaf, 0xa9, 0x49, 0xe6, 0x68, 0x8a, 0xe1, 0xf2, 0x91, 0x22, - 0x67, 0xeb, 0xba, 0xc9, 0xa5, 0x62, 0x70, 0xcc, 0xdc, 0x85, 0xb3, 0xb6, 0xa6, 0x9b, 0x2c, 0xa6, - 0x72, 0xde, 0xfc, 0x04, 0x4e, 0xdb, 0x3a, 0x85, 0xb2, 0xf1, 0x18, 0x9a, 0x3c, 0x77, 0xc0, 0xc4, - 0xad, 0x51, 0x28, 0x03, 0xa8, 0x18, 0x41, 0xcf, 0x32, 0xf7, 0x2c, 0x73, 0xcf, 0x32, 0xf7, 0x2c, - 0x73, 0xcf, 0x32, 0xf7, 0x2c, 0x73, 0xcf, 0x32, 0xf7, 0x2c, 0x73, 0xc3, 0x99, 0xfb, 0x2f, 0xf3, - 0xe8, 0xda, 0xe3, 0x61, 0x18, 0x3d, 0x63, 0x9e, 0x54, 0xdf, 0x63, 0x83, 0xb1, 0xf1, 0xad, 0x8d, - 0x3d, 0xee, 0x09, 0xf2, 0x77, 0x98, 0xb4, 0x6a, 0x32, 0xce, 0x3d, 0xf6, 0xe1, 0xee, 0x0f, 0xd0, - 0xe2, 0x38, 0x1c, 0x15, 0x7f, 0x21, 0x23, 0x39, 0x6c, 0xb6, 0xc0, 0xf9, 0x1e, 0x5a, 0x18, 0x87, - 0xa3, 0xa2, 0xaf, 0x60, 0x24, 0x07, 0x4e, 0xcb, 0xe9, 0xd2, 0xa2, 0x2f, 0x5d, 0xd0, 0xa5, 0x24, - 0xaa, 0x10, 0xce, 0xc5, 0x5f, 0xb3, 0xa0, 0x9c, 0x69, 0xd0, 0xc9, 0x0e, 0x5c, 0xe8, 0xc5, 0x8a, - 0xfc, 0xc0, 0xbe, 0xc7, 0x1c, 0xb8, 0xd8, 0xab, 0x14, 0xcc, 0x81, 0x7d, 0xcf, 0xd9, 0x41, 0x57, - 0xc6, 0xe1, 0xa8, 0xd8, 0xcb, 0x13, 0x7b, 0x73, 0x9d, 0xb4, 0x98, 0x1e, 0xb5, 0xf8, 0xeb, 0x12, - 0xf4, 0xa8, 0x74, 0xd7, 0x4c, 0x4e, 0xb7, 0xe8, 0x0b, 0x12, 0xf4, 0x74, 0xf1, 0x07, 0xc1, 0x1a, - 0xd6, 0xe8, 0x63, 0xaa, 0xd1, 0x44, 0x6b, 0x1b, 0xff, 0x9b, 0x47, 0x2b, 0x58, 0xb7, 0xd9, 0xb4, - 0xe8, 0x7d, 0x2b, 0xd5, 0x92, 0xb1, 0x10, 0xaf, 0xdd, 0x77, 0x2d, 0xb4, 0x4b, 0xc6, 0x35, 0x9c, - 0x82, 0x03, 0x4b, 0x05, 0x93, 0x24, 0xc0, 0xeb, 0x78, 0xd7, 0x4a, 0xc7, 0x19, 0x42, 0xae, 0xe6, - 0x5d, 0x2b, 0x35, 0x73, 0x00, 0x44, 0x95, 0x81, 0xa5, 0xa6, 0xb9, 0xb3, 0xa0, 0xca, 0xde, 0xb5, - 0x52, 0xb6, 0x48, 0x02, 0xbf, 0x27, 0x67, 0xa7, 0x6f, 0x89, 0x04, 0xbe, 0x47, 0x8a, 0xab, 0x3c, - 0x5b, 0x9f, 0x69, 0x3d, 0xb0, 0xd4, 0x3a, 0xc7, 0x80, 0x2a, 0x7e, 0xd7, 0x4a, 0xf1, 0x5c, 0x1b, - 0x88, 0xee, 0xaf, 0x61, 0x8d, 0x3f, 0xc6, 0x1a, 0x4f, 0x54, 0x1a, 0xdc, 0xfd, 0xe2, 0xcb, 0x7a, - 0xe5, 0xe5, 0x97, 0xf5, 0xca, 0x9f, 0xce, 0xea, 0x95, 0xbf, 0x9e, 0xd5, 0x2b, 0x7f, 0x3b, 0xab, - 0x57, 0x3e, 0x3f, 0xab, 0xcf, 0xfd, 0xfd, 0xac, 0x3e, 0xf7, 0xc5, 0x59, 0xbd, 0xf2, 0xf2, 0xac, - 0x3e, 0xf7, 0xab, 0x7f, 0xd5, 0xe7, 0xfa, 0x97, 0xf1, 0x11, 0xfc, 0xaf, 0x02, 0x00, 0x00, 0xff, - 0xff, 0xf1, 0x88, 0x43, 0x17, 0x77, 0x40, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/types/combos/unmarshaler/types.pb.go b/vendor/github.com/gogo/protobuf/test/types/combos/unmarshaler/types.pb.go index 5613debd2..38cdf4361 100644 --- a/vendor/github.com/gogo/protobuf/test/types/combos/unmarshaler/types.pb.go +++ b/vendor/github.com/gogo/protobuf/test/types/combos/unmarshaler/types.pb.go @@ -3,18 +3,17 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import types "github.com/gogo/protobuf/types" - -import time "time" -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import bytes "bytes" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + types "github.com/gogo/protobuf/types" + io "io" + math "math" + time "time" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -49,7 +48,7 @@ func (m *KnownTypes) Reset() { *m = KnownTypes{} } func (m *KnownTypes) String() string { return proto.CompactTextString(m) } func (*KnownTypes) ProtoMessage() {} func (*KnownTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{0} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{0} } func (m *KnownTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -57,8 +56,8 @@ func (m *KnownTypes) XXX_Unmarshal(b []byte) error { func (m *KnownTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_KnownTypes.Marshal(b, m, deterministic) } -func (dst *KnownTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_KnownTypes.Merge(dst, src) +func (m *KnownTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_KnownTypes.Merge(m, src) } func (m *KnownTypes) XXX_Size() int { return xxx_messageInfo_KnownTypes.Size(m) @@ -178,7 +177,7 @@ func (m *ProtoTypes) Reset() { *m = ProtoTypes{} } func (m *ProtoTypes) String() string { return proto.CompactTextString(m) } func (*ProtoTypes) ProtoMessage() {} func (*ProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{1} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{1} } func (m *ProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -186,8 +185,8 @@ func (m *ProtoTypes) XXX_Unmarshal(b []byte) error { func (m *ProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_ProtoTypes.Marshal(b, m, deterministic) } -func (dst *ProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProtoTypes.Merge(dst, src) +func (m *ProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProtoTypes.Merge(m, src) } func (m *ProtoTypes) XXX_Size() int { return xxx_messageInfo_ProtoTypes.Size(m) @@ -384,7 +383,7 @@ func (m *StdTypes) Reset() { *m = StdTypes{} } func (m *StdTypes) String() string { return proto.CompactTextString(m) } func (*StdTypes) ProtoMessage() {} func (*StdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{2} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{2} } func (m *StdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -392,8 +391,8 @@ func (m *StdTypes) XXX_Unmarshal(b []byte) error { func (m *StdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_StdTypes.Marshal(b, m, deterministic) } -func (dst *StdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_StdTypes.Merge(dst, src) +func (m *StdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_StdTypes.Merge(m, src) } func (m *StdTypes) XXX_Size() int { return xxx_messageInfo_StdTypes.Size(m) @@ -590,7 +589,7 @@ func (m *RepProtoTypes) Reset() { *m = RepProtoTypes{} } func (m *RepProtoTypes) String() string { return proto.CompactTextString(m) } func (*RepProtoTypes) ProtoMessage() {} func (*RepProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{3} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{3} } func (m *RepProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -598,8 +597,8 @@ func (m *RepProtoTypes) XXX_Unmarshal(b []byte) error { func (m *RepProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RepProtoTypes.Marshal(b, m, deterministic) } -func (dst *RepProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepProtoTypes.Merge(dst, src) +func (m *RepProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepProtoTypes.Merge(m, src) } func (m *RepProtoTypes) XXX_Size() int { return xxx_messageInfo_RepProtoTypes.Size(m) @@ -796,7 +795,7 @@ func (m *RepStdTypes) Reset() { *m = RepStdTypes{} } func (m *RepStdTypes) String() string { return proto.CompactTextString(m) } func (*RepStdTypes) ProtoMessage() {} func (*RepStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{4} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{4} } func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -804,8 +803,8 @@ func (m *RepStdTypes) XXX_Unmarshal(b []byte) error { func (m *RepStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_RepStdTypes.Marshal(b, m, deterministic) } -func (dst *RepStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_RepStdTypes.Merge(dst, src) +func (m *RepStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_RepStdTypes.Merge(m, src) } func (m *RepStdTypes) XXX_Size() int { return xxx_messageInfo_RepStdTypes.Size(m) @@ -1002,7 +1001,7 @@ func (m *MapProtoTypes) Reset() { *m = MapProtoTypes{} } func (m *MapProtoTypes) String() string { return proto.CompactTextString(m) } func (*MapProtoTypes) ProtoMessage() {} func (*MapProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{5} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{5} } func (m *MapProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1010,8 +1009,8 @@ func (m *MapProtoTypes) XXX_Unmarshal(b []byte) error { func (m *MapProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapProtoTypes.Marshal(b, m, deterministic) } -func (dst *MapProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapProtoTypes.Merge(dst, src) +func (m *MapProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapProtoTypes.Merge(m, src) } func (m *MapProtoTypes) XXX_Size() int { return xxx_messageInfo_MapProtoTypes.Size(m) @@ -1208,7 +1207,7 @@ func (m *MapStdTypes) Reset() { *m = MapStdTypes{} } func (m *MapStdTypes) String() string { return proto.CompactTextString(m) } func (*MapStdTypes) ProtoMessage() {} func (*MapStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{6} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{6} } func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1216,8 +1215,8 @@ func (m *MapStdTypes) XXX_Unmarshal(b []byte) error { func (m *MapStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_MapStdTypes.Marshal(b, m, deterministic) } -func (dst *MapStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_MapStdTypes.Merge(dst, src) +func (m *MapStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_MapStdTypes.Merge(m, src) } func (m *MapStdTypes) XXX_Size() int { return xxx_messageInfo_MapStdTypes.Size(m) @@ -1405,7 +1404,7 @@ func (m *OneofProtoTypes) Reset() { *m = OneofProtoTypes{} } func (m *OneofProtoTypes) String() string { return proto.CompactTextString(m) } func (*OneofProtoTypes) ProtoMessage() {} func (*OneofProtoTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{7} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{7} } func (m *OneofProtoTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1413,8 +1412,8 @@ func (m *OneofProtoTypes) XXX_Unmarshal(b []byte) error { func (m *OneofProtoTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OneofProtoTypes.Marshal(b, m, deterministic) } -func (dst *OneofProtoTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofProtoTypes.Merge(dst, src) +func (m *OneofProtoTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofProtoTypes.Merge(m, src) } func (m *OneofProtoTypes) XXX_Size() int { return xxx_messageInfo_OneofProtoTypes.Size(m) @@ -1830,7 +1829,7 @@ func (m *OneofStdTypes) Reset() { *m = OneofStdTypes{} } func (m *OneofStdTypes) String() string { return proto.CompactTextString(m) } func (*OneofStdTypes) ProtoMessage() {} func (*OneofStdTypes) Descriptor() ([]byte, []int) { - return fileDescriptor_types_1fa8d07678f7c296, []int{8} + return fileDescriptor_b3cdd6d81a3ac3e5, []int{8} } func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1838,8 +1837,8 @@ func (m *OneofStdTypes) XXX_Unmarshal(b []byte) error { func (m *OneofStdTypes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OneofStdTypes.Marshal(b, m, deterministic) } -func (dst *OneofStdTypes) XXX_Merge(src proto.Message) { - xxx_messageInfo_OneofStdTypes.Merge(dst, src) +func (m *OneofStdTypes) XXX_Merge(src proto.Message) { + xxx_messageInfo_OneofStdTypes.Merge(m, src) } func (m *OneofStdTypes) XXX_Size() int { return xxx_messageInfo_OneofStdTypes.Size(m) @@ -2397,6 +2396,157 @@ func init() { proto.RegisterType((*OneofProtoTypes)(nil), "types.OneofProtoTypes") proto.RegisterType((*OneofStdTypes)(nil), "types.OneofStdTypes") } + +func init() { proto.RegisterFile("combos/unmarshaler/types.proto", fileDescriptor_b3cdd6d81a3ac3e5) } + +var fileDescriptor_b3cdd6d81a3ac3e5 = []byte{ + // 2300 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1c, 0x47, + 0x19, 0xd5, 0x7a, 0x57, 0xb6, 0xd4, 0x92, 0x6c, 0x69, 0x1c, 0xa7, 0x06, 0x41, 0xad, 0x8d, 0x12, + 0x3b, 0x26, 0xa9, 0x48, 0x64, 0x46, 0x25, 0xc0, 0x90, 0x28, 0x99, 0xb2, 0xbd, 0xda, 0x8d, 0x64, + 0xaf, 0x57, 0x5a, 0x17, 0x04, 0x02, 0xec, 0x46, 0x63, 0x45, 0xc5, 0x6a, 0x67, 0x6b, 0x77, 0x96, + 0x94, 0x6e, 0xfc, 0x01, 0x1c, 0xb8, 0x41, 0x15, 0x17, 0xb8, 0x71, 0xe5, 0x40, 0x15, 0x47, 0x8e, + 0x39, 0xf2, 0x17, 0x40, 0x22, 0x2e, 0x5c, 0x81, 0x8b, 0x2f, 0x54, 0xa5, 0xa6, 0xbb, 0x67, 0xa6, + 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x25, 0xdd, 0x74, 0x93, 0x76, 0xbf, 0x7e, 0xf3, 0xe6, 0x9b, 0x37, + 0x7a, 0xfd, 0xbe, 0xd1, 0xa0, 0xfa, 0x27, 0xd1, 0x49, 0x3f, 0x9a, 0x6c, 0x4c, 0x87, 0x27, 0xbd, + 0xf1, 0xe4, 0xd3, 0xde, 0x20, 0x1c, 0x6f, 0xc4, 0xa7, 0xa3, 0x70, 0xb2, 0x3e, 0x1a, 0x47, 0x71, + 0xe4, 0xcc, 0xe2, 0x5f, 0x56, 0xdf, 0x3e, 0x3a, 0x8e, 0x3f, 0x9d, 0xf6, 0xd7, 0x3f, 0x89, 0x4e, + 0x36, 0x8e, 0xa2, 0xa3, 0x68, 0x03, 0x7f, 0xdb, 0x9f, 0xbe, 0xc0, 0xbf, 0xe1, 0x5f, 0xf0, 0x4f, + 0x64, 0xd5, 0x6a, 0xfd, 0x28, 0x8a, 0x8e, 0x06, 0x61, 0x5e, 0x75, 0x38, 0x1d, 0xf7, 0xe2, 0xe3, + 0x68, 0x48, 0xbf, 0xbf, 0x2d, 0x7e, 0x1f, 0x1f, 0x9f, 0x84, 0x93, 0xb8, 0x77, 0x32, 0x52, 0x01, + 0x7c, 0x36, 0xee, 0x8d, 0x46, 0xe1, 0x98, 0xd2, 0x5a, 0xfb, 0x7d, 0x0d, 0xa1, 0x0f, 0x87, 0xd1, + 0x67, 0xc3, 0x83, 0x84, 0x9e, 0xf3, 0x16, 0xaa, 0x1e, 0x4e, 0xc7, 0x6e, 0xe5, 0x4e, 0xe5, 0xfe, + 0x82, 0xf7, 0xb5, 0x75, 0xb2, 0x78, 0x3d, 0x5d, 0xbc, 0xfe, 0x90, 0x1e, 0xbd, 0x93, 0x54, 0x39, + 0x6f, 0xa2, 0x2b, 0xf1, 0xc4, 0xbd, 0x82, 0x6b, 0x57, 0xa5, 0xda, 0x83, 0x94, 0x49, 0xe7, 0x4a, + 0x3c, 0x71, 0xd6, 0x51, 0xf5, 0xb0, 0x3f, 0x70, 0xab, 0xb8, 0xf8, 0x1b, 0x32, 0x70, 0x34, 0xed, + 0x0f, 0xc2, 0xe7, 0xbd, 0xc1, 0x34, 0xec, 0x24, 0x85, 0xce, 0xdb, 0xa8, 0xfa, 0x62, 0x10, 0xbb, + 0x35, 0x5c, 0xff, 0x75, 0xa9, 0xfe, 0xf1, 0x20, 0xea, 0xc5, 0xb4, 0xfc, 0xc5, 0x20, 0x4e, 0xca, + 0x8f, 0xb7, 0x36, 0xdd, 0x59, 0x45, 0x79, 0x73, 0x18, 0x6f, 0x6d, 0xd2, 0xf2, 0xe3, 0xad, 0xcd, + 0x84, 0xcd, 0x74, 0x6b, 0xd3, 0xbd, 0xaa, 0x60, 0xd3, 0x65, 0xeb, 0xa7, 0x5b, 0x9b, 0x18, 0xde, + 0xf7, 0xdc, 0x6b, 0x6a, 0x78, 0xdf, 0x4b, 0xe1, 0x7d, 0x0f, 0xc3, 0xfb, 0x9e, 0x3b, 0xa7, 0x81, + 0xcf, 0xea, 0xa7, 0xb8, 0xbe, 0xd6, 0x8f, 0xa2, 0x81, 0x3b, 0xaf, 0x68, 0x65, 0x10, 0x45, 0x03, + 0x52, 0x8e, 0xeb, 0x12, 0xfc, 0x49, 0x3c, 0x76, 0x91, 0x02, 0x7f, 0x3f, 0x1e, 0x1f, 0x0f, 0x8f, + 0x28, 0xfe, 0x24, 0x1e, 0x3b, 0xef, 0xa0, 0xd9, 0xfe, 0x69, 0x1c, 0x4e, 0xdc, 0x05, 0xc5, 0x09, + 0x04, 0xc9, 0xb7, 0x64, 0x01, 0xa9, 0x7c, 0x50, 0xfb, 0xf7, 0x1f, 0x6f, 0x57, 0xd6, 0x7e, 0xbd, + 0x88, 0x50, 0x3b, 0x29, 0x22, 0xea, 0xd8, 0x41, 0x2b, 0xc3, 0xe9, 0x60, 0xd0, 0xeb, 0x0f, 0xc2, + 0xec, 0xea, 0x52, 0xad, 0xe8, 0xae, 0xbf, 0xbc, 0xc8, 0x79, 0x84, 0x96, 0xd3, 0x0f, 0x53, 0x4d, + 0x51, 0x21, 0x69, 0x44, 0x27, 0x2d, 0x71, 0x1e, 0xa2, 0xeb, 0xd9, 0x67, 0x58, 0x41, 0x85, 0x04, + 0x26, 0xac, 0x71, 0x3e, 0x40, 0x4b, 0xe9, 0x27, 0x58, 0x57, 0x45, 0x54, 0xc7, 0xaf, 0x60, 0x21, + 0xb0, 0x76, 0x8a, 0x28, 0x91, 0x5f, 0xc1, 0x9e, 0x0b, 0xd1, 0x5f, 0x21, 0x79, 0x0a, 0x6b, 0x04, + 0x22, 0xc5, 0x34, 0xcb, 0xaf, 0x10, 0x89, 0x14, 0x14, 0xb2, 0xb0, 0xc6, 0x79, 0x0f, 0x2d, 0xa6, + 0x9f, 0x04, 0xc5, 0xb4, 0xcd, 0xd5, 0xb3, 0x2c, 0x88, 0x9e, 0x0b, 0xc9, 0x5d, 0x58, 0xc3, 0xb6, + 0x23, 0x28, 0x7a, 0x07, 0xf0, 0x2b, 0x9c, 0xf7, 0xd0, 0x7c, 0xf6, 0x47, 0xd5, 0x5d, 0x34, 0x89, + 0x3d, 0xa8, 0x7d, 0xfe, 0x8f, 0xdb, 0x33, 0x9d, 0x7c, 0x89, 0xf3, 0x7d, 0x34, 0x97, 0xfe, 0xd1, + 0x76, 0x97, 0x0c, 0x12, 0xa7, 0xab, 0xb3, 0x05, 0xce, 0x0e, 0x5a, 0x1a, 0x46, 0xc3, 0x84, 0x10, + 0xd5, 0xf7, 0x75, 0xb3, 0xbe, 0x29, 0x08, 0xbf, 0xd0, 0x79, 0x84, 0x16, 0xe9, 0x07, 0x44, 0xe3, + 0x37, 0x8c, 0x1a, 0xa7, 0x38, 0xdc, 0x32, 0x06, 0x86, 0x68, 0x74, 0xd9, 0xa8, 0x73, 0x01, 0x86, + 0xc8, 0x34, 0x3f, 0x2f, 0xaa, 0xf5, 0x15, 0xb3, 0xd6, 0x85, 0xf3, 0xa2, 0x82, 0xe7, 0x08, 0xf9, + 0x9e, 0xeb, 0x18, 0xf5, 0x2e, 0x13, 0xf2, 0x3d, 0x81, 0x90, 0xef, 0xb9, 0x37, 0xcd, 0x9a, 0x07, + 0x08, 0xf9, 0x9e, 0x13, 0xa0, 0x05, 0xfa, 0x01, 0xd6, 0xfd, 0x2b, 0x26, 0xdd, 0x53, 0x14, 0x76, + 0x11, 0xc3, 0x86, 0x6a, 0xff, 0x96, 0x59, 0xfb, 0x02, 0x1b, 0x7a, 0x03, 0xe4, 0xed, 0x21, 0xfa, + 0x7f, 0xd5, 0xa8, 0x7f, 0xa1, 0x3d, 0x01, 0x63, 0x07, 0xff, 0x5d, 0x44, 0x73, 0xfb, 0xf1, 0x21, + 0x31, 0x83, 0x27, 0xa5, 0xcc, 0x20, 0xa8, 0xfd, 0xe6, 0x9f, 0xb7, 0x2b, 0x90, 0x25, 0x7c, 0x58, + 0xc2, 0x12, 0x82, 0xda, 0xef, 0x12, 0x34, 0xd9, 0x18, 0x5a, 0x65, 0x8c, 0x21, 0xa8, 0xfd, 0x21, + 0x41, 0x13, 0xed, 0xa1, 0x61, 0x6f, 0x0f, 0x14, 0x49, 0x30, 0x89, 0x86, 0xbd, 0x49, 0x88, 0x40, + 0x44, 0xf3, 0xad, 0x32, 0x56, 0x21, 0x9e, 0x1d, 0xbd, 0x7f, 0x1a, 0xf6, 0x86, 0x01, 0x90, 0xf2, + 0x3d, 0x91, 0x54, 0x31, 0xdb, 0x80, 0x48, 0x61, 0x0b, 0xb2, 0x34, 0x0f, 0x8a, 0xc3, 0x5b, 0x48, + 0xab, 0x8c, 0x85, 0x88, 0x8c, 0xe8, 0x7d, 0xd4, 0xb0, 0x37, 0x12, 0xb1, 0x4d, 0xc4, 0x4e, 0x02, + 0x3b, 0x3b, 0x99, 0x4b, 0x6e, 0x46, 0x7c, 0xcb, 0x30, 0x96, 0xb2, 0x6d, 0x63, 0x29, 0x18, 0x01, + 0xdf, 0x26, 0xb9, 0xad, 0xec, 0x96, 0xb1, 0x15, 0x0c, 0x44, 0x4f, 0x89, 0xb3, 0x96, 0xa6, 0xbd, + 0xb5, 0xe4, 0x58, 0xbc, 0xbd, 0x34, 0xed, 0xed, 0x45, 0x86, 0x22, 0xc2, 0xde, 0x2d, 0x63, 0x31, + 0xf2, 0x39, 0xd2, 0xdb, 0xa4, 0x69, 0x6f, 0x33, 0x20, 0x31, 0xdf, 0x13, 0x88, 0x15, 0xb4, 0x1a, + 0x98, 0x98, 0xef, 0x39, 0x8f, 0x6d, 0xed, 0x26, 0x47, 0xe2, 0x2c, 0x67, 0xb7, 0x8c, 0xe5, 0xc8, + 0xac, 0xe8, 0xed, 0xd2, 0xb4, 0xb7, 0x1d, 0xb9, 0x5d, 0xf8, 0xcb, 0xb5, 0xdf, 0x2e, 0xa2, 0xa5, + 0x4e, 0x38, 0x62, 0x62, 0x48, 0x0b, 0x39, 0x92, 0x7d, 0x4c, 0xdc, 0xca, 0x9d, 0xaa, 0x21, 0x87, + 0x00, 0xab, 0x9c, 0x46, 0xee, 0x62, 0xe9, 0x1d, 0x93, 0x44, 0xda, 0xaa, 0x3e, 0x89, 0xc8, 0x6b, + 0x9c, 0xf7, 0x11, 0x8a, 0x73, 0x32, 0x55, 0x13, 0x19, 0xea, 0xb2, 0xcc, 0x1a, 0xe7, 0x5d, 0x34, + 0x7f, 0x98, 0x51, 0xa8, 0x19, 0x28, 0xa4, 0xfb, 0xcc, 0x6c, 0x05, 0x90, 0x85, 0x66, 0x31, 0x86, + 0x5d, 0x16, 0x92, 0x36, 0x9c, 0x57, 0xcd, 0x20, 0xf0, 0x86, 0x53, 0x4a, 0x55, 0xd7, 0x30, 0x92, + 0x4d, 0xaa, 0x12, 0xf7, 0xac, 0x73, 0x46, 0x04, 0x70, 0xcf, 0x2a, 0x85, 0xb3, 0x79, 0x05, 0x8e, + 0x3a, 0x9c, 0x89, 0xdb, 0x5e, 0x64, 0x44, 0x00, 0xb7, 0xbd, 0x72, 0xc6, 0x5b, 0x50, 0xb4, 0x57, + 0x97, 0xf1, 0xa4, 0xcd, 0xf3, 0xa2, 0x19, 0x04, 0xde, 0x3c, 0x4b, 0x69, 0x71, 0x49, 0x7d, 0x5e, + 0x8a, 0xb4, 0x28, 0xee, 0xbf, 0xaf, 0x1b, 0x11, 0xc0, 0xfd, 0xb7, 0x1c, 0x3a, 0x6f, 0x68, 0x4e, + 0x4a, 0x15, 0x3a, 0xa5, 0x5d, 0xfc, 0xb2, 0x19, 0x04, 0xde, 0xc5, 0x8b, 0xf1, 0x75, 0x45, 0x71, + 0x43, 0xab, 0xe2, 0xab, 0x90, 0x02, 0x1c, 0xd3, 0x72, 0x28, 0x05, 0xc8, 0x11, 0xf8, 0xa6, 0xe2, + 0x74, 0x74, 0x11, 0x58, 0xca, 0x12, 0xaf, 0x98, 0x41, 0xe0, 0x2c, 0x21, 0x85, 0xe9, 0x5b, 0x8a, + 0x6b, 0xad, 0x0e, 0xd3, 0x72, 0x1c, 0xa9, 0x96, 0x8f, 0x23, 0xff, 0x5f, 0x44, 0x0b, 0x9d, 0x70, + 0x94, 0x25, 0x92, 0x76, 0x39, 0x5f, 0xa0, 0x91, 0x04, 0x72, 0x87, 0xbd, 0x32, 0xee, 0x40, 0x43, + 0x09, 0xe0, 0x11, 0x0f, 0x2d, 0x3d, 0x22, 0xdf, 0xfc, 0xb1, 0x3e, 0xf1, 0x81, 0x95, 0x4f, 0xe4, + 0xdb, 0x3f, 0xc6, 0x2b, 0x5a, 0x65, 0xbc, 0x42, 0x11, 0x8f, 0x76, 0xcb, 0x38, 0x86, 0x72, 0x2f, + 0xd9, 0xb0, 0x77, 0x0d, 0x38, 0x6c, 0x35, 0xed, 0xbd, 0x43, 0xb5, 0x29, 0x6d, 0xd8, 0xfb, 0x07, + 0x9c, 0xdb, 0x9a, 0xf6, 0x2e, 0xa2, 0xda, 0xdd, 0xb6, 0xca, 0x38, 0x89, 0x22, 0x02, 0xee, 0x96, + 0xf1, 0x13, 0xe5, 0x4e, 0xb9, 0x61, 0xef, 0x29, 0x70, 0xa0, 0x6c, 0xda, 0x3b, 0x8b, 0x6a, 0xcb, + 0xdd, 0x2a, 0xe3, 0x2e, 0x8a, 0x6c, 0xba, 0x5b, 0xc6, 0x63, 0x94, 0xdb, 0xf7, 0x87, 0xb6, 0x3e, + 0x03, 0x26, 0xdd, 0xc7, 0xb6, 0x6e, 0xa3, 0x08, 0x01, 0xad, 0x32, 0x8e, 0xa3, 0x48, 0xcc, 0xbb, + 0x65, 0x7c, 0x47, 0x19, 0x28, 0x1a, 0xf6, 0xde, 0x03, 0xe7, 0xef, 0xa6, 0xbd, 0x03, 0xa9, 0x92, + 0xc9, 0x9f, 0xeb, 0x68, 0x69, 0xaf, 0xc7, 0x26, 0x93, 0x1f, 0xc1, 0x33, 0xb1, 0xe4, 0x08, 0x6f, + 0xad, 0x93, 0xa7, 0x81, 0xdc, 0x82, 0xf5, 0x27, 0x62, 0xf5, 0xa3, 0x61, 0x3c, 0x3e, 0x85, 0xc6, + 0x63, 0x0d, 0x76, 0x6e, 0x40, 0x2c, 0xe8, 0x35, 0x10, 0x92, 0x87, 0x92, 0xe7, 0xd1, 0xcf, 0x81, + 0x39, 0x1b, 0xb1, 0xa2, 0x37, 0xb5, 0x14, 0xd3, 0x62, 0xc2, 0x10, 0x7a, 0x16, 0x93, 0x0f, 0x25, + 0x88, 0x2b, 0xad, 0x81, 0x78, 0x1c, 0x8e, 0x34, 0xf0, 0x6e, 0x2b, 0x9c, 0xe9, 0xbe, 0x9e, 0x1b, + 0x2e, 0x25, 0xcc, 0x44, 0x7f, 0xda, 0x87, 0xfd, 0xe9, 0x0d, 0x18, 0x90, 0xad, 0x64, 0x19, 0x0a, + 0x36, 0xb5, 0x07, 0xdb, 0xd4, 0x1b, 0x5a, 0x96, 0xb8, 0x92, 0x90, 0x14, 0xcc, 0xaa, 0x0d, 0x9a, + 0xd5, 0x3d, 0x1d, 0xc5, 0x1c, 0x0c, 0xcc, 0x3c, 0x7b, 0xb0, 0x67, 0xe9, 0x09, 0xe2, 0x4a, 0x81, + 0x20, 0xf9, 0xa3, 0xde, 0x06, 0x9d, 0x4b, 0x4b, 0x30, 0x07, 0x03, 0xa3, 0x50, 0x5b, 0x61, 0x60, + 0xfa, 0x0b, 0xdd, 0x65, 0x28, 0x8a, 0x36, 0xb6, 0x0f, 0xdb, 0x98, 0xf6, 0x42, 0x77, 0x25, 0x96, + 0x82, 0x9b, 0xed, 0xc1, 0x6e, 0x66, 0xec, 0xa3, 0xef, 0xc9, 0x7d, 0xf4, 0x3d, 0xbe, 0x8f, 0x99, + 0xa7, 0x99, 0xfa, 0x48, 0xc1, 0xc0, 0xe0, 0xd4, 0x56, 0x58, 0x9b, 0xb9, 0x8f, 0x29, 0x45, 0xd1, + 0xe0, 0xf6, 0x61, 0x83, 0x33, 0xf6, 0x91, 0x67, 0x29, 0xf8, 0x5c, 0x0b, 0xf4, 0xb9, 0x7b, 0x5a, + 0x92, 0x49, 0x21, 0xa1, 0xc8, 0xbb, 0xdd, 0x1e, 0xe4, 0x76, 0x77, 0x75, 0xf4, 0x32, 0x24, 0x28, + 0x66, 0xb5, 0x15, 0xa6, 0xa7, 0xef, 0x20, 0x29, 0x15, 0x3a, 0x48, 0xcd, 0x6a, 0x1f, 0xb6, 0x3e, + 0x6d, 0x07, 0x19, 0x3c, 0x38, 0x7d, 0xed, 0xc1, 0x0e, 0xa8, 0x57, 0x22, 0xae, 0x14, 0x94, 0x48, + 0x7c, 0xb0, 0x0d, 0xfa, 0xa0, 0x56, 0x89, 0x39, 0x18, 0x14, 0xca, 0x56, 0x7f, 0x8e, 0x5e, 0x85, + 0xed, 0xcc, 0x59, 0x46, 0xd5, 0x5f, 0x84, 0xa7, 0xf8, 0xe1, 0xd0, 0x6c, 0x27, 0xf9, 0xd1, 0xf9, + 0x36, 0x9a, 0xfd, 0x65, 0xe2, 0xad, 0x05, 0xfe, 0x7b, 0x84, 0x14, 0x3e, 0xb8, 0xf2, 0xdd, 0xca, + 0xea, 0x0f, 0xd1, 0xf5, 0x0b, 0x42, 0xfe, 0x29, 0xba, 0x05, 0xfa, 0x1c, 0x70, 0x80, 0x0d, 0xfe, + 0x00, 0x9a, 0x29, 0x21, 0x83, 0xff, 0x1c, 0x2d, 0x5d, 0x08, 0xee, 0xcf, 0xd0, 0x4d, 0xc0, 0x03, + 0x01, 0x74, 0x8f, 0x47, 0xd7, 0x0f, 0x05, 0xb9, 0xc6, 0x38, 0xb2, 0x27, 0x9e, 0x23, 0xfe, 0xc7, + 0xc8, 0x91, 0xed, 0x11, 0xc0, 0x7f, 0x87, 0xc7, 0xd7, 0x4e, 0x11, 0x19, 0xf8, 0x9f, 0xa0, 0x15, + 0xc9, 0x2f, 0xcf, 0x0f, 0x9d, 0x21, 0x9f, 0xfb, 0x48, 0x19, 0x78, 0x66, 0xd8, 0x07, 0x92, 0xbf, + 0x08, 0x74, 0x46, 0x3a, 0x5d, 0x2d, 0xbe, 0xf1, 0xd2, 0x76, 0xe1, 0x03, 0xe4, 0xd2, 0xb9, 0x18, + 0x7c, 0xbe, 0xfb, 0xd4, 0x7d, 0x4a, 0xf6, 0x27, 0x1d, 0x28, 0xaa, 0xba, 0x7f, 0xee, 0xe8, 0x42, + 0xf7, 0xd5, 0xf8, 0x85, 0xba, 0x03, 0x1c, 0x80, 0xef, 0xfe, 0xf9, 0xe3, 0xff, 0x18, 0xad, 0x48, + 0x3e, 0x5d, 0xe6, 0xcf, 0x71, 0x3e, 0x40, 0x65, 0xc0, 0x3f, 0x42, 0xcb, 0xa2, 0x73, 0x9f, 0x1b, + 0x36, 0xd3, 0x79, 0xc6, 0x73, 0xcb, 0x74, 0x86, 0x9d, 0xba, 0x82, 0x9d, 0xbf, 0x18, 0x7c, 0x46, + 0xf7, 0xb9, 0x23, 0x97, 0x51, 0x26, 0xfb, 0x5f, 0x7f, 0x90, 0xee, 0x2f, 0x00, 0x7d, 0xed, 0x3f, + 0x75, 0xb4, 0xb0, 0xd7, 0xcb, 0x67, 0xb6, 0x1f, 0xab, 0x13, 0xf3, 0xb7, 0xf2, 0xbd, 0x48, 0x5a, + 0xae, 0xc8, 0xcb, 0xea, 0x7f, 0x2a, 0x69, 0xca, 0xa9, 0xf9, 0x9b, 0x00, 0xac, 0x00, 0x07, 0x3e, + 0x74, 0xff, 0x48, 0x99, 0x9b, 0xef, 0x6b, 0x88, 0x0a, 0x69, 0x57, 0xf1, 0xef, 0x2a, 0x8f, 0xa5, + 0xec, 0x7c, 0x07, 0xc0, 0xe4, 0xb1, 0xa0, 0xe7, 0xfa, 0x07, 0x8a, 0xf4, 0x7c, 0x4f, 0xc7, 0x90, + 0xcd, 0xba, 0xe0, 0x84, 0xb7, 0x0b, 0x27, 0xe8, 0xbb, 0x10, 0xa8, 0x9c, 0x9f, 0x95, 0xa3, 0xde, + 0x67, 0x70, 0x86, 0xbe, 0xab, 0xe1, 0xca, 0x86, 0x5e, 0x68, 0xe8, 0xdb, 0x01, 0x73, 0xf4, 0xeb, + 0x6a, 0xa2, 0x0c, 0xa0, 0x6a, 0xfa, 0xfb, 0x0c, 0x4e, 0xd2, 0x3a, 0x9a, 0x6c, 0xa8, 0x84, 0xe6, + 0xc0, 0x1d, 0x30, 0x4d, 0x6b, 0x68, 0x32, 0x80, 0xaa, 0x81, 0xf0, 0x81, 0x22, 0x4f, 0xeb, 0x2e, + 0x7d, 0x57, 0x22, 0x2a, 0x66, 0xea, 0x2e, 0x9c, 0xa9, 0x35, 0x97, 0xbe, 0x0b, 0x72, 0x15, 0x52, + 0xf5, 0x33, 0x38, 0x55, 0x1b, 0x7a, 0x9a, 0x05, 0x4c, 0x68, 0x5a, 0xdc, 0x01, 0x93, 0xb5, 0xbe, + 0xa7, 0x29, 0xa0, 0x6a, 0x6c, 0x7c, 0xa0, 0xc8, 0xd6, 0xa6, 0x9e, 0xf2, 0x44, 0xc5, 0x7c, 0xdd, + 0x85, 0xf3, 0xb5, 0xa1, 0xa7, 0x32, 0x57, 0x21, 0x61, 0x3f, 0x01, 0x13, 0xf6, 0xeb, 0x1a, 0xaa, + 0x4c, 0x2a, 0x06, 0x66, 0xca, 0x4f, 0xa1, 0x94, 0xfd, 0x9a, 0x9a, 0x64, 0x8e, 0xa6, 0x18, 0x2e, + 0x1f, 0x28, 0x72, 0xb6, 0xae, 0x9b, 0x5c, 0x2a, 0x06, 0xc7, 0xcc, 0x5d, 0x38, 0x6b, 0x6b, 0xba, + 0xc9, 0x62, 0x2a, 0xe7, 0xcd, 0xcf, 0xe0, 0xb4, 0xad, 0x53, 0x28, 0x1b, 0x8f, 0xa1, 0xc9, 0x73, + 0x07, 0x4c, 0xdc, 0x1a, 0x85, 0x32, 0x80, 0x8a, 0x11, 0xf4, 0x65, 0xe6, 0xbe, 0xcc, 0xdc, 0x97, + 0x99, 0xfb, 0x32, 0x73, 0x5f, 0x66, 0xee, 0xcb, 0xcc, 0x7d, 0x99, 0xb9, 0x2f, 0x33, 0x37, 0x9c, + 0xb9, 0xff, 0x32, 0x8b, 0x6e, 0x3c, 0x1d, 0x86, 0xd1, 0x0b, 0xe6, 0x49, 0xf5, 0x03, 0x36, 0x18, + 0x1b, 0xdf, 0xda, 0xd8, 0xe1, 0x9e, 0x20, 0x7f, 0x87, 0x49, 0xab, 0x26, 0xe3, 0xdc, 0x61, 0x1f, + 0xee, 0xfe, 0x00, 0xcd, 0x8f, 0xc3, 0x51, 0xf1, 0x17, 0x32, 0x92, 0xc3, 0x66, 0x0b, 0x9c, 0xef, + 0xa1, 0xb9, 0x71, 0x38, 0x2a, 0xfa, 0x0a, 0x46, 0x72, 0xe0, 0xb4, 0x9c, 0x2e, 0x2d, 0xfa, 0xd2, + 0x05, 0x5d, 0x4a, 0xa2, 0x0a, 0xe1, 0x5c, 0xfc, 0x35, 0x0b, 0xca, 0x99, 0x06, 0x9d, 0xec, 0xc0, + 0x85, 0x5e, 0xac, 0xc8, 0x0f, 0xec, 0x7b, 0xcc, 0x81, 0x8b, 0xbd, 0x4a, 0xc1, 0x1c, 0xd8, 0xf7, + 0x9c, 0x2d, 0x74, 0x6d, 0x1c, 0x8e, 0x8a, 0xbd, 0x3c, 0xb1, 0x33, 0xd3, 0x49, 0x8b, 0xe9, 0x51, + 0x8b, 0xbf, 0x2e, 0x41, 0x8f, 0x4a, 0x77, 0xcd, 0xe4, 0x74, 0x8b, 0xbe, 0x20, 0x41, 0x4f, 0x17, + 0x7f, 0x10, 0xac, 0x60, 0x8d, 0x3e, 0xa5, 0x1a, 0x4d, 0xb4, 0xb6, 0xf6, 0xbf, 0x59, 0xb4, 0x84, + 0x75, 0x9b, 0x4d, 0x8b, 0xde, 0xb7, 0x52, 0x2d, 0x19, 0x0b, 0xf1, 0xda, 0x7d, 0xd7, 0x42, 0xbb, + 0x64, 0x5c, 0xc3, 0x29, 0x38, 0xb0, 0x54, 0x30, 0x49, 0x02, 0xbc, 0x8e, 0xb7, 0xad, 0x74, 0x9c, + 0x21, 0xe4, 0x6a, 0xde, 0xb6, 0x52, 0x33, 0x07, 0x40, 0x54, 0x19, 0x58, 0x6a, 0x9a, 0x3b, 0x0b, + 0xaa, 0xec, 0x6d, 0x2b, 0x65, 0x8b, 0x24, 0xf0, 0x7b, 0x72, 0x76, 0xfa, 0x96, 0x48, 0xe0, 0x7b, + 0xa4, 0xb8, 0xca, 0xb3, 0xf5, 0x99, 0xd6, 0x03, 0x4b, 0xad, 0x73, 0x0c, 0xa8, 0xe2, 0xb7, 0xad, + 0x14, 0xcf, 0xb5, 0x81, 0xe8, 0xfe, 0x06, 0xd6, 0xf8, 0x53, 0xac, 0xf1, 0x44, 0xa5, 0xc1, 0xfd, + 0x2f, 0xbe, 0xac, 0x57, 0x5e, 0x7e, 0x59, 0xaf, 0xfc, 0xe9, 0xac, 0x5e, 0xf9, 0xeb, 0x59, 0xbd, + 0xf2, 0xb7, 0xb3, 0x7a, 0xe5, 0xf3, 0xb3, 0xfa, 0xcc, 0xdf, 0xcf, 0xea, 0x95, 0x2f, 0xce, 0xea, + 0x95, 0x97, 0x67, 0xf5, 0x99, 0x5f, 0xfd, 0xab, 0x3e, 0xd3, 0xbf, 0x8a, 0x8f, 0xe0, 0x7f, 0x15, + 0x00, 0x00, 0xff, 0xff, 0xc0, 0xbf, 0x2e, 0x8e, 0x7b, 0x40, 0x00, 0x00, +} + func (this *KnownTypes) Compare(that interface{}) int { if that == nil { if this == nil { @@ -18328,155 +18478,3 @@ var ( ErrInvalidLengthTypes = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("combos/unmarshaler/types.proto", fileDescriptor_types_1fa8d07678f7c296) -} - -var fileDescriptor_types_1fa8d07678f7c296 = []byte{ - // 2300 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x73, 0x1c, 0x47, - 0x19, 0xd5, 0x7a, 0x57, 0xb6, 0xd4, 0x92, 0x6c, 0x69, 0x1c, 0xa7, 0x06, 0x41, 0xad, 0x8d, 0x12, - 0x3b, 0x26, 0xa9, 0x48, 0x64, 0x46, 0x25, 0xc0, 0x90, 0x28, 0x99, 0xb2, 0xbd, 0xda, 0x8d, 0x64, - 0xaf, 0x57, 0x5a, 0x17, 0x04, 0x02, 0xec, 0x46, 0x63, 0x45, 0xc5, 0x6a, 0x67, 0x6b, 0x77, 0x96, - 0x94, 0x6e, 0xfc, 0x01, 0x1c, 0xb8, 0x41, 0x15, 0x17, 0xb8, 0x71, 0xe5, 0x40, 0x15, 0x47, 0x8e, - 0x39, 0xf2, 0x17, 0x40, 0x22, 0x2e, 0x5c, 0x81, 0x8b, 0x2f, 0x54, 0xa5, 0xa6, 0xbb, 0x67, 0xa6, - 0x7f, 0x7c, 0xdd, 0x3d, 0x3d, 0x25, 0xdd, 0x74, 0x93, 0x76, 0xbf, 0x7e, 0xf3, 0xe6, 0x9b, 0x37, - 0x7a, 0xfd, 0xbe, 0xd1, 0xa0, 0xfa, 0x27, 0xd1, 0x49, 0x3f, 0x9a, 0x6c, 0x4c, 0x87, 0x27, 0xbd, - 0xf1, 0xe4, 0xd3, 0xde, 0x20, 0x1c, 0x6f, 0xc4, 0xa7, 0xa3, 0x70, 0xb2, 0x3e, 0x1a, 0x47, 0x71, - 0xe4, 0xcc, 0xe2, 0x5f, 0x56, 0xdf, 0x3e, 0x3a, 0x8e, 0x3f, 0x9d, 0xf6, 0xd7, 0x3f, 0x89, 0x4e, - 0x36, 0x8e, 0xa2, 0xa3, 0x68, 0x03, 0x7f, 0xdb, 0x9f, 0xbe, 0xc0, 0xbf, 0xe1, 0x5f, 0xf0, 0x4f, - 0x64, 0xd5, 0x6a, 0xfd, 0x28, 0x8a, 0x8e, 0x06, 0x61, 0x5e, 0x75, 0x38, 0x1d, 0xf7, 0xe2, 0xe3, - 0x68, 0x48, 0xbf, 0xbf, 0x2d, 0x7e, 0x1f, 0x1f, 0x9f, 0x84, 0x93, 0xb8, 0x77, 0x32, 0x52, 0x01, - 0x7c, 0x36, 0xee, 0x8d, 0x46, 0xe1, 0x98, 0xd2, 0x5a, 0xfb, 0x7d, 0x0d, 0xa1, 0x0f, 0x87, 0xd1, - 0x67, 0xc3, 0x83, 0x84, 0x9e, 0xf3, 0x16, 0xaa, 0x1e, 0x4e, 0xc7, 0x6e, 0xe5, 0x4e, 0xe5, 0xfe, - 0x82, 0xf7, 0xb5, 0x75, 0xb2, 0x78, 0x3d, 0x5d, 0xbc, 0xfe, 0x90, 0x1e, 0xbd, 0x93, 0x54, 0x39, - 0x6f, 0xa2, 0x2b, 0xf1, 0xc4, 0xbd, 0x82, 0x6b, 0x57, 0xa5, 0xda, 0x83, 0x94, 0x49, 0xe7, 0x4a, - 0x3c, 0x71, 0xd6, 0x51, 0xf5, 0xb0, 0x3f, 0x70, 0xab, 0xb8, 0xf8, 0x1b, 0x32, 0x70, 0x34, 0xed, - 0x0f, 0xc2, 0xe7, 0xbd, 0xc1, 0x34, 0xec, 0x24, 0x85, 0xce, 0xdb, 0xa8, 0xfa, 0x62, 0x10, 0xbb, - 0x35, 0x5c, 0xff, 0x75, 0xa9, 0xfe, 0xf1, 0x20, 0xea, 0xc5, 0xb4, 0xfc, 0xc5, 0x20, 0x4e, 0xca, - 0x8f, 0xb7, 0x36, 0xdd, 0x59, 0x45, 0x79, 0x73, 0x18, 0x6f, 0x6d, 0xd2, 0xf2, 0xe3, 0xad, 0xcd, - 0x84, 0xcd, 0x74, 0x6b, 0xd3, 0xbd, 0xaa, 0x60, 0xd3, 0x65, 0xeb, 0xa7, 0x5b, 0x9b, 0x18, 0xde, - 0xf7, 0xdc, 0x6b, 0x6a, 0x78, 0xdf, 0x4b, 0xe1, 0x7d, 0x0f, 0xc3, 0xfb, 0x9e, 0x3b, 0xa7, 0x81, - 0xcf, 0xea, 0xa7, 0xb8, 0xbe, 0xd6, 0x8f, 0xa2, 0x81, 0x3b, 0xaf, 0x68, 0x65, 0x10, 0x45, 0x03, - 0x52, 0x8e, 0xeb, 0x12, 0xfc, 0x49, 0x3c, 0x76, 0x91, 0x02, 0x7f, 0x3f, 0x1e, 0x1f, 0x0f, 0x8f, - 0x28, 0xfe, 0x24, 0x1e, 0x3b, 0xef, 0xa0, 0xd9, 0xfe, 0x69, 0x1c, 0x4e, 0xdc, 0x05, 0xc5, 0x09, - 0x04, 0xc9, 0xb7, 0x64, 0x01, 0xa9, 0x7c, 0x50, 0xfb, 0xf7, 0x1f, 0x6f, 0x57, 0xd6, 0x7e, 0xbd, - 0x88, 0x50, 0x3b, 0x29, 0x22, 0xea, 0xd8, 0x41, 0x2b, 0xc3, 0xe9, 0x60, 0xd0, 0xeb, 0x0f, 0xc2, - 0xec, 0xea, 0x52, 0xad, 0xe8, 0xae, 0xbf, 0xbc, 0xc8, 0x79, 0x84, 0x96, 0xd3, 0x0f, 0x53, 0x4d, - 0x51, 0x21, 0x69, 0x44, 0x27, 0x2d, 0x71, 0x1e, 0xa2, 0xeb, 0xd9, 0x67, 0x58, 0x41, 0x85, 0x04, - 0x26, 0xac, 0x71, 0x3e, 0x40, 0x4b, 0xe9, 0x27, 0x58, 0x57, 0x45, 0x54, 0xc7, 0xaf, 0x60, 0x21, - 0xb0, 0x76, 0x8a, 0x28, 0x91, 0x5f, 0xc1, 0x9e, 0x0b, 0xd1, 0x5f, 0x21, 0x79, 0x0a, 0x6b, 0x04, - 0x22, 0xc5, 0x34, 0xcb, 0xaf, 0x10, 0x89, 0x14, 0x14, 0xb2, 0xb0, 0xc6, 0x79, 0x0f, 0x2d, 0xa6, - 0x9f, 0x04, 0xc5, 0xb4, 0xcd, 0xd5, 0xb3, 0x2c, 0x88, 0x9e, 0x0b, 0xc9, 0x5d, 0x58, 0xc3, 0xb6, - 0x23, 0x28, 0x7a, 0x07, 0xf0, 0x2b, 0x9c, 0xf7, 0xd0, 0x7c, 0xf6, 0x47, 0xd5, 0x5d, 0x34, 0x89, - 0x3d, 0xa8, 0x7d, 0xfe, 0x8f, 0xdb, 0x33, 0x9d, 0x7c, 0x89, 0xf3, 0x7d, 0x34, 0x97, 0xfe, 0xd1, - 0x76, 0x97, 0x0c, 0x12, 0xa7, 0xab, 0xb3, 0x05, 0xce, 0x0e, 0x5a, 0x1a, 0x46, 0xc3, 0x84, 0x10, - 0xd5, 0xf7, 0x75, 0xb3, 0xbe, 0x29, 0x08, 0xbf, 0xd0, 0x79, 0x84, 0x16, 0xe9, 0x07, 0x44, 0xe3, - 0x37, 0x8c, 0x1a, 0xa7, 0x38, 0xdc, 0x32, 0x06, 0x86, 0x68, 0x74, 0xd9, 0xa8, 0x73, 0x01, 0x86, - 0xc8, 0x34, 0x3f, 0x2f, 0xaa, 0xf5, 0x15, 0xb3, 0xd6, 0x85, 0xf3, 0xa2, 0x82, 0xe7, 0x08, 0xf9, - 0x9e, 0xeb, 0x18, 0xf5, 0x2e, 0x13, 0xf2, 0x3d, 0x81, 0x90, 0xef, 0xb9, 0x37, 0xcd, 0x9a, 0x07, - 0x08, 0xf9, 0x9e, 0x13, 0xa0, 0x05, 0xfa, 0x01, 0xd6, 0xfd, 0x2b, 0x26, 0xdd, 0x53, 0x14, 0x76, - 0x11, 0xc3, 0x86, 0x6a, 0xff, 0x96, 0x59, 0xfb, 0x02, 0x1b, 0x7a, 0x03, 0xe4, 0xed, 0x21, 0xfa, - 0x7f, 0xd5, 0xa8, 0x7f, 0xa1, 0x3d, 0x01, 0x63, 0x07, 0xff, 0x5d, 0x44, 0x73, 0xfb, 0xf1, 0x21, - 0x31, 0x83, 0x27, 0xa5, 0xcc, 0x20, 0xa8, 0xfd, 0xe6, 0x9f, 0xb7, 0x2b, 0x90, 0x25, 0x7c, 0x58, - 0xc2, 0x12, 0x82, 0xda, 0xef, 0x12, 0x34, 0xd9, 0x18, 0x5a, 0x65, 0x8c, 0x21, 0xa8, 0xfd, 0x21, - 0x41, 0x13, 0xed, 0xa1, 0x61, 0x6f, 0x0f, 0x14, 0x49, 0x30, 0x89, 0x86, 0xbd, 0x49, 0x88, 0x40, - 0x44, 0xf3, 0xad, 0x32, 0x56, 0x21, 0x9e, 0x1d, 0xbd, 0x7f, 0x1a, 0xf6, 0x86, 0x01, 0x90, 0xf2, - 0x3d, 0x91, 0x54, 0x31, 0xdb, 0x80, 0x48, 0x61, 0x0b, 0xb2, 0x34, 0x0f, 0x8a, 0xc3, 0x5b, 0x48, - 0xab, 0x8c, 0x85, 0x88, 0x8c, 0xe8, 0x7d, 0xd4, 0xb0, 0x37, 0x12, 0xb1, 0x4d, 0xc4, 0x4e, 0x02, - 0x3b, 0x3b, 0x99, 0x4b, 0x6e, 0x46, 0x7c, 0xcb, 0x30, 0x96, 0xb2, 0x6d, 0x63, 0x29, 0x18, 0x01, - 0xdf, 0x26, 0xb9, 0xad, 0xec, 0x96, 0xb1, 0x15, 0x0c, 0x44, 0x4f, 0x89, 0xb3, 0x96, 0xa6, 0xbd, - 0xb5, 0xe4, 0x58, 0xbc, 0xbd, 0x34, 0xed, 0xed, 0x45, 0x86, 0x22, 0xc2, 0xde, 0x2d, 0x63, 0x31, - 0xf2, 0x39, 0xd2, 0xdb, 0xa4, 0x69, 0x6f, 0x33, 0x20, 0x31, 0xdf, 0x13, 0x88, 0x15, 0xb4, 0x1a, - 0x98, 0x98, 0xef, 0x39, 0x8f, 0x6d, 0xed, 0x26, 0x47, 0xe2, 0x2c, 0x67, 0xb7, 0x8c, 0xe5, 0xc8, - 0xac, 0xe8, 0xed, 0xd2, 0xb4, 0xb7, 0x1d, 0xb9, 0x5d, 0xf8, 0xcb, 0xb5, 0xdf, 0x2e, 0xa2, 0xa5, - 0x4e, 0x38, 0x62, 0x62, 0x48, 0x0b, 0x39, 0x92, 0x7d, 0x4c, 0xdc, 0xca, 0x9d, 0xaa, 0x21, 0x87, - 0x00, 0xab, 0x9c, 0x46, 0xee, 0x62, 0xe9, 0x1d, 0x93, 0x44, 0xda, 0xaa, 0x3e, 0x89, 0xc8, 0x6b, - 0x9c, 0xf7, 0x11, 0x8a, 0x73, 0x32, 0x55, 0x13, 0x19, 0xea, 0xb2, 0xcc, 0x1a, 0xe7, 0x5d, 0x34, - 0x7f, 0x98, 0x51, 0xa8, 0x19, 0x28, 0xa4, 0xfb, 0xcc, 0x6c, 0x05, 0x90, 0x85, 0x66, 0x31, 0x86, - 0x5d, 0x16, 0x92, 0x36, 0x9c, 0x57, 0xcd, 0x20, 0xf0, 0x86, 0x53, 0x4a, 0x55, 0xd7, 0x30, 0x92, - 0x4d, 0xaa, 0x12, 0xf7, 0xac, 0x73, 0x46, 0x04, 0x70, 0xcf, 0x2a, 0x85, 0xb3, 0x79, 0x05, 0x8e, - 0x3a, 0x9c, 0x89, 0xdb, 0x5e, 0x64, 0x44, 0x00, 0xb7, 0xbd, 0x72, 0xc6, 0x5b, 0x50, 0xb4, 0x57, - 0x97, 0xf1, 0xa4, 0xcd, 0xf3, 0xa2, 0x19, 0x04, 0xde, 0x3c, 0x4b, 0x69, 0x71, 0x49, 0x7d, 0x5e, - 0x8a, 0xb4, 0x28, 0xee, 0xbf, 0xaf, 0x1b, 0x11, 0xc0, 0xfd, 0xb7, 0x1c, 0x3a, 0x6f, 0x68, 0x4e, - 0x4a, 0x15, 0x3a, 0xa5, 0x5d, 0xfc, 0xb2, 0x19, 0x04, 0xde, 0xc5, 0x8b, 0xf1, 0x75, 0x45, 0x71, - 0x43, 0xab, 0xe2, 0xab, 0x90, 0x02, 0x1c, 0xd3, 0x72, 0x28, 0x05, 0xc8, 0x11, 0xf8, 0xa6, 0xe2, - 0x74, 0x74, 0x11, 0x58, 0xca, 0x12, 0xaf, 0x98, 0x41, 0xe0, 0x2c, 0x21, 0x85, 0xe9, 0x5b, 0x8a, - 0x6b, 0xad, 0x0e, 0xd3, 0x72, 0x1c, 0xa9, 0x96, 0x8f, 0x23, 0xff, 0x5f, 0x44, 0x0b, 0x9d, 0x70, - 0x94, 0x25, 0x92, 0x76, 0x39, 0x5f, 0xa0, 0x91, 0x04, 0x72, 0x87, 0xbd, 0x32, 0xee, 0x40, 0x43, - 0x09, 0xe0, 0x11, 0x0f, 0x2d, 0x3d, 0x22, 0xdf, 0xfc, 0xb1, 0x3e, 0xf1, 0x81, 0x95, 0x4f, 0xe4, - 0xdb, 0x3f, 0xc6, 0x2b, 0x5a, 0x65, 0xbc, 0x42, 0x11, 0x8f, 0x76, 0xcb, 0x38, 0x86, 0x72, 0x2f, - 0xd9, 0xb0, 0x77, 0x0d, 0x38, 0x6c, 0x35, 0xed, 0xbd, 0x43, 0xb5, 0x29, 0x6d, 0xd8, 0xfb, 0x07, - 0x9c, 0xdb, 0x9a, 0xf6, 0x2e, 0xa2, 0xda, 0xdd, 0xb6, 0xca, 0x38, 0x89, 0x22, 0x02, 0xee, 0x96, - 0xf1, 0x13, 0xe5, 0x4e, 0xb9, 0x61, 0xef, 0x29, 0x70, 0xa0, 0x6c, 0xda, 0x3b, 0x8b, 0x6a, 0xcb, - 0xdd, 0x2a, 0xe3, 0x2e, 0x8a, 0x6c, 0xba, 0x5b, 0xc6, 0x63, 0x94, 0xdb, 0xf7, 0x87, 0xb6, 0x3e, - 0x03, 0x26, 0xdd, 0xc7, 0xb6, 0x6e, 0xa3, 0x08, 0x01, 0xad, 0x32, 0x8e, 0xa3, 0x48, 0xcc, 0xbb, - 0x65, 0x7c, 0x47, 0x19, 0x28, 0x1a, 0xf6, 0xde, 0x03, 0xe7, 0xef, 0xa6, 0xbd, 0x03, 0xa9, 0x92, - 0xc9, 0x9f, 0xeb, 0x68, 0x69, 0xaf, 0xc7, 0x26, 0x93, 0x1f, 0xc1, 0x33, 0xb1, 0xe4, 0x08, 0x6f, - 0xad, 0x93, 0xa7, 0x81, 0xdc, 0x82, 0xf5, 0x27, 0x62, 0xf5, 0xa3, 0x61, 0x3c, 0x3e, 0x85, 0xc6, - 0x63, 0x0d, 0x76, 0x6e, 0x40, 0x2c, 0xe8, 0x35, 0x10, 0x92, 0x87, 0x92, 0xe7, 0xd1, 0xcf, 0x81, - 0x39, 0x1b, 0xb1, 0xa2, 0x37, 0xb5, 0x14, 0xd3, 0x62, 0xc2, 0x10, 0x7a, 0x16, 0x93, 0x0f, 0x25, - 0x88, 0x2b, 0xad, 0x81, 0x78, 0x1c, 0x8e, 0x34, 0xf0, 0x6e, 0x2b, 0x9c, 0xe9, 0xbe, 0x9e, 0x1b, - 0x2e, 0x25, 0xcc, 0x44, 0x7f, 0xda, 0x87, 0xfd, 0xe9, 0x0d, 0x18, 0x90, 0xad, 0x64, 0x19, 0x0a, - 0x36, 0xb5, 0x07, 0xdb, 0xd4, 0x1b, 0x5a, 0x96, 0xb8, 0x92, 0x90, 0x14, 0xcc, 0xaa, 0x0d, 0x9a, - 0xd5, 0x3d, 0x1d, 0xc5, 0x1c, 0x0c, 0xcc, 0x3c, 0x7b, 0xb0, 0x67, 0xe9, 0x09, 0xe2, 0x4a, 0x81, - 0x20, 0xf9, 0xa3, 0xde, 0x06, 0x9d, 0x4b, 0x4b, 0x30, 0x07, 0x03, 0xa3, 0x50, 0x5b, 0x61, 0x60, - 0xfa, 0x0b, 0xdd, 0x65, 0x28, 0x8a, 0x36, 0xb6, 0x0f, 0xdb, 0x98, 0xf6, 0x42, 0x77, 0x25, 0x96, - 0x82, 0x9b, 0xed, 0xc1, 0x6e, 0x66, 0xec, 0xa3, 0xef, 0xc9, 0x7d, 0xf4, 0x3d, 0xbe, 0x8f, 0x99, - 0xa7, 0x99, 0xfa, 0x48, 0xc1, 0xc0, 0xe0, 0xd4, 0x56, 0x58, 0x9b, 0xb9, 0x8f, 0x29, 0x45, 0xd1, - 0xe0, 0xf6, 0x61, 0x83, 0x33, 0xf6, 0x91, 0x67, 0x29, 0xf8, 0x5c, 0x0b, 0xf4, 0xb9, 0x7b, 0x5a, - 0x92, 0x49, 0x21, 0xa1, 0xc8, 0xbb, 0xdd, 0x1e, 0xe4, 0x76, 0x77, 0x75, 0xf4, 0x32, 0x24, 0x28, - 0x66, 0xb5, 0x15, 0xa6, 0xa7, 0xef, 0x20, 0x29, 0x15, 0x3a, 0x48, 0xcd, 0x6a, 0x1f, 0xb6, 0x3e, - 0x6d, 0x07, 0x19, 0x3c, 0x38, 0x7d, 0xed, 0xc1, 0x0e, 0xa8, 0x57, 0x22, 0xae, 0x14, 0x94, 0x48, - 0x7c, 0xb0, 0x0d, 0xfa, 0xa0, 0x56, 0x89, 0x39, 0x18, 0x14, 0xca, 0x56, 0x7f, 0x8e, 0x5e, 0x85, - 0xed, 0xcc, 0x59, 0x46, 0xd5, 0x5f, 0x84, 0xa7, 0xf8, 0xe1, 0xd0, 0x6c, 0x27, 0xf9, 0xd1, 0xf9, - 0x36, 0x9a, 0xfd, 0x65, 0xe2, 0xad, 0x05, 0xfe, 0x7b, 0x84, 0x14, 0x3e, 0xb8, 0xf2, 0xdd, 0xca, - 0xea, 0x0f, 0xd1, 0xf5, 0x0b, 0x42, 0xfe, 0x29, 0xba, 0x05, 0xfa, 0x1c, 0x70, 0x80, 0x0d, 0xfe, - 0x00, 0x9a, 0x29, 0x21, 0x83, 0xff, 0x1c, 0x2d, 0x5d, 0x08, 0xee, 0xcf, 0xd0, 0x4d, 0xc0, 0x03, - 0x01, 0x74, 0x8f, 0x47, 0xd7, 0x0f, 0x05, 0xb9, 0xc6, 0x38, 0xb2, 0x27, 0x9e, 0x23, 0xfe, 0xc7, - 0xc8, 0x91, 0xed, 0x11, 0xc0, 0x7f, 0x87, 0xc7, 0xd7, 0x4e, 0x11, 0x19, 0xf8, 0x9f, 0xa0, 0x15, - 0xc9, 0x2f, 0xcf, 0x0f, 0x9d, 0x21, 0x9f, 0xfb, 0x48, 0x19, 0x78, 0x66, 0xd8, 0x07, 0x92, 0xbf, - 0x08, 0x74, 0x46, 0x3a, 0x5d, 0x2d, 0xbe, 0xf1, 0xd2, 0x76, 0xe1, 0x03, 0xe4, 0xd2, 0xb9, 0x18, - 0x7c, 0xbe, 0xfb, 0xd4, 0x7d, 0x4a, 0xf6, 0x27, 0x1d, 0x28, 0xaa, 0xba, 0x7f, 0xee, 0xe8, 0x42, - 0xf7, 0xd5, 0xf8, 0x85, 0xba, 0x03, 0x1c, 0x80, 0xef, 0xfe, 0xf9, 0xe3, 0xff, 0x18, 0xad, 0x48, - 0x3e, 0x5d, 0xe6, 0xcf, 0x71, 0x3e, 0x40, 0x65, 0xc0, 0x3f, 0x42, 0xcb, 0xa2, 0x73, 0x9f, 0x1b, - 0x36, 0xd3, 0x79, 0xc6, 0x73, 0xcb, 0x74, 0x86, 0x9d, 0xba, 0x82, 0x9d, 0xbf, 0x18, 0x7c, 0x46, - 0xf7, 0xb9, 0x23, 0x97, 0x51, 0x26, 0xfb, 0x5f, 0x7f, 0x90, 0xee, 0x2f, 0x00, 0x7d, 0xed, 0x3f, - 0x75, 0xb4, 0xb0, 0xd7, 0xcb, 0x67, 0xb6, 0x1f, 0xab, 0x13, 0xf3, 0xb7, 0xf2, 0xbd, 0x48, 0x5a, - 0xae, 0xc8, 0xcb, 0xea, 0x7f, 0x2a, 0x69, 0xca, 0xa9, 0xf9, 0x9b, 0x00, 0xac, 0x00, 0x07, 0x3e, - 0x74, 0xff, 0x48, 0x99, 0x9b, 0xef, 0x6b, 0x88, 0x0a, 0x69, 0x57, 0xf1, 0xef, 0x2a, 0x8f, 0xa5, - 0xec, 0x7c, 0x07, 0xc0, 0xe4, 0xb1, 0xa0, 0xe7, 0xfa, 0x07, 0x8a, 0xf4, 0x7c, 0x4f, 0xc7, 0x90, - 0xcd, 0xba, 0xe0, 0x84, 0xb7, 0x0b, 0x27, 0xe8, 0xbb, 0x10, 0xa8, 0x9c, 0x9f, 0x95, 0xa3, 0xde, - 0x67, 0x70, 0x86, 0xbe, 0xab, 0xe1, 0xca, 0x86, 0x5e, 0x68, 0xe8, 0xdb, 0x01, 0x73, 0xf4, 0xeb, - 0x6a, 0xa2, 0x0c, 0xa0, 0x6a, 0xfa, 0xfb, 0x0c, 0x4e, 0xd2, 0x3a, 0x9a, 0x6c, 0xa8, 0x84, 0xe6, - 0xc0, 0x1d, 0x30, 0x4d, 0x6b, 0x68, 0x32, 0x80, 0xaa, 0x81, 0xf0, 0x81, 0x22, 0x4f, 0xeb, 0x2e, - 0x7d, 0x57, 0x22, 0x2a, 0x66, 0xea, 0x2e, 0x9c, 0xa9, 0x35, 0x97, 0xbe, 0x0b, 0x72, 0x15, 0x52, - 0xf5, 0x33, 0x38, 0x55, 0x1b, 0x7a, 0x9a, 0x05, 0x4c, 0x68, 0x5a, 0xdc, 0x01, 0x93, 0xb5, 0xbe, - 0xa7, 0x29, 0xa0, 0x6a, 0x6c, 0x7c, 0xa0, 0xc8, 0xd6, 0xa6, 0x9e, 0xf2, 0x44, 0xc5, 0x7c, 0xdd, - 0x85, 0xf3, 0xb5, 0xa1, 0xa7, 0x32, 0x57, 0x21, 0x61, 0x3f, 0x01, 0x13, 0xf6, 0xeb, 0x1a, 0xaa, - 0x4c, 0x2a, 0x06, 0x66, 0xca, 0x4f, 0xa1, 0x94, 0xfd, 0x9a, 0x9a, 0x64, 0x8e, 0xa6, 0x18, 0x2e, - 0x1f, 0x28, 0x72, 0xb6, 0xae, 0x9b, 0x5c, 0x2a, 0x06, 0xc7, 0xcc, 0x5d, 0x38, 0x6b, 0x6b, 0xba, - 0xc9, 0x62, 0x2a, 0xe7, 0xcd, 0xcf, 0xe0, 0xb4, 0xad, 0x53, 0x28, 0x1b, 0x8f, 0xa1, 0xc9, 0x73, - 0x07, 0x4c, 0xdc, 0x1a, 0x85, 0x32, 0x80, 0x8a, 0x11, 0xf4, 0x65, 0xe6, 0xbe, 0xcc, 0xdc, 0x97, - 0x99, 0xfb, 0x32, 0x73, 0x5f, 0x66, 0xee, 0xcb, 0xcc, 0x7d, 0x99, 0xb9, 0x2f, 0x33, 0x37, 0x9c, - 0xb9, 0xff, 0x32, 0x8b, 0x6e, 0x3c, 0x1d, 0x86, 0xd1, 0x0b, 0xe6, 0x49, 0xf5, 0x03, 0x36, 0x18, - 0x1b, 0xdf, 0xda, 0xd8, 0xe1, 0x9e, 0x20, 0x7f, 0x87, 0x49, 0xab, 0x26, 0xe3, 0xdc, 0x61, 0x1f, - 0xee, 0xfe, 0x00, 0xcd, 0x8f, 0xc3, 0x51, 0xf1, 0x17, 0x32, 0x92, 0xc3, 0x66, 0x0b, 0x9c, 0xef, - 0xa1, 0xb9, 0x71, 0x38, 0x2a, 0xfa, 0x0a, 0x46, 0x72, 0xe0, 0xb4, 0x9c, 0x2e, 0x2d, 0xfa, 0xd2, - 0x05, 0x5d, 0x4a, 0xa2, 0x0a, 0xe1, 0x5c, 0xfc, 0x35, 0x0b, 0xca, 0x99, 0x06, 0x9d, 0xec, 0xc0, - 0x85, 0x5e, 0xac, 0xc8, 0x0f, 0xec, 0x7b, 0xcc, 0x81, 0x8b, 0xbd, 0x4a, 0xc1, 0x1c, 0xd8, 0xf7, - 0x9c, 0x2d, 0x74, 0x6d, 0x1c, 0x8e, 0x8a, 0xbd, 0x3c, 0xb1, 0x33, 0xd3, 0x49, 0x8b, 0xe9, 0x51, - 0x8b, 0xbf, 0x2e, 0x41, 0x8f, 0x4a, 0x77, 0xcd, 0xe4, 0x74, 0x8b, 0xbe, 0x20, 0x41, 0x4f, 0x17, - 0x7f, 0x10, 0xac, 0x60, 0x8d, 0x3e, 0xa5, 0x1a, 0x4d, 0xb4, 0xb6, 0xf6, 0xbf, 0x59, 0xb4, 0x84, - 0x75, 0x9b, 0x4d, 0x8b, 0xde, 0xb7, 0x52, 0x2d, 0x19, 0x0b, 0xf1, 0xda, 0x7d, 0xd7, 0x42, 0xbb, - 0x64, 0x5c, 0xc3, 0x29, 0x38, 0xb0, 0x54, 0x30, 0x49, 0x02, 0xbc, 0x8e, 0xb7, 0xad, 0x74, 0x9c, - 0x21, 0xe4, 0x6a, 0xde, 0xb6, 0x52, 0x33, 0x07, 0x40, 0x54, 0x19, 0x58, 0x6a, 0x9a, 0x3b, 0x0b, - 0xaa, 0xec, 0x6d, 0x2b, 0x65, 0x8b, 0x24, 0xf0, 0x7b, 0x72, 0x76, 0xfa, 0x96, 0x48, 0xe0, 0x7b, - 0xa4, 0xb8, 0xca, 0xb3, 0xf5, 0x99, 0xd6, 0x03, 0x4b, 0xad, 0x73, 0x0c, 0xa8, 0xe2, 0xb7, 0xad, - 0x14, 0xcf, 0xb5, 0x81, 0xe8, 0xfe, 0x06, 0xd6, 0xf8, 0x53, 0xac, 0xf1, 0x44, 0xa5, 0xc1, 0xfd, - 0x2f, 0xbe, 0xac, 0x57, 0x5e, 0x7e, 0x59, 0xaf, 0xfc, 0xe9, 0xac, 0x5e, 0xf9, 0xeb, 0x59, 0xbd, - 0xf2, 0xb7, 0xb3, 0x7a, 0xe5, 0xf3, 0xb3, 0xfa, 0xcc, 0xdf, 0xcf, 0xea, 0x95, 0x2f, 0xce, 0xea, - 0x95, 0x97, 0x67, 0xf5, 0x99, 0x5f, 0xfd, 0xab, 0x3e, 0xd3, 0xbf, 0x8a, 0x8f, 0xe0, 0x7f, 0x15, - 0x00, 0x00, 0xff, 0xff, 0xc0, 0xbf, 0x2e, 0x8e, 0x7b, 0x40, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/unmarshalmerge/unmarshalmerge.pb.go b/vendor/github.com/gogo/protobuf/test/unmarshalmerge/unmarshalmerge.pb.go index 14663633d..7e9af7f58 100644 --- a/vendor/github.com/gogo/protobuf/test/unmarshalmerge/unmarshalmerge.pb.go +++ b/vendor/github.com/gogo/protobuf/test/unmarshalmerge/unmarshalmerge.pb.go @@ -3,19 +3,18 @@ package unmarshalmerge -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" -import encoding_binary "encoding/binary" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" +import ( + bytes "bytes" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -39,7 +38,7 @@ type Big struct { func (m *Big) Reset() { *m = Big{} } func (*Big) ProtoMessage() {} func (*Big) Descriptor() ([]byte, []int) { - return fileDescriptor_unmarshalmerge_5567ee50c42503cc, []int{0} + return fileDescriptor_701a7743bfe9c603, []int{0} } func (m *Big) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -47,8 +46,8 @@ func (m *Big) XXX_Unmarshal(b []byte) error { func (m *Big) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Big.Marshal(b, m, deterministic) } -func (dst *Big) XXX_Merge(src proto.Message) { - xxx_messageInfo_Big.Merge(dst, src) +func (m *Big) XXX_Merge(src proto.Message) { + xxx_messageInfo_Big.Merge(m, src) } func (m *Big) XXX_Size() int { return xxx_messageInfo_Big.Size(m) @@ -84,7 +83,7 @@ type BigUnsafe struct { func (m *BigUnsafe) Reset() { *m = BigUnsafe{} } func (*BigUnsafe) ProtoMessage() {} func (*BigUnsafe) Descriptor() ([]byte, []int) { - return fileDescriptor_unmarshalmerge_5567ee50c42503cc, []int{1} + return fileDescriptor_701a7743bfe9c603, []int{1} } func (m *BigUnsafe) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BigUnsafe.Unmarshal(m, b) @@ -92,8 +91,8 @@ func (m *BigUnsafe) XXX_Unmarshal(b []byte) error { func (m *BigUnsafe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_BigUnsafe.Marshal(b, m, deterministic) } -func (dst *BigUnsafe) XXX_Merge(src proto.Message) { - xxx_messageInfo_BigUnsafe.Merge(dst, src) +func (m *BigUnsafe) XXX_Merge(src proto.Message) { + xxx_messageInfo_BigUnsafe.Merge(m, src) } func (m *BigUnsafe) XXX_Size() int { return xxx_messageInfo_BigUnsafe.Size(m) @@ -128,7 +127,7 @@ type Sub struct { func (m *Sub) Reset() { *m = Sub{} } func (*Sub) ProtoMessage() {} func (*Sub) Descriptor() ([]byte, []int) { - return fileDescriptor_unmarshalmerge_5567ee50c42503cc, []int{2} + return fileDescriptor_701a7743bfe9c603, []int{2} } func (m *Sub) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -136,8 +135,8 @@ func (m *Sub) XXX_Unmarshal(b []byte) error { func (m *Sub) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Sub.Marshal(b, m, deterministic) } -func (dst *Sub) XXX_Merge(src proto.Message) { - xxx_messageInfo_Sub.Merge(dst, src) +func (m *Sub) XXX_Merge(src proto.Message) { + xxx_messageInfo_Sub.Merge(m, src) } func (m *Sub) XXX_Size() int { return xxx_messageInfo_Sub.Size(m) @@ -175,7 +174,7 @@ type IntMerge struct { func (m *IntMerge) Reset() { *m = IntMerge{} } func (*IntMerge) ProtoMessage() {} func (*IntMerge) Descriptor() ([]byte, []int) { - return fileDescriptor_unmarshalmerge_5567ee50c42503cc, []int{3} + return fileDescriptor_701a7743bfe9c603, []int{3} } func (m *IntMerge) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -183,8 +182,8 @@ func (m *IntMerge) XXX_Unmarshal(b []byte) error { func (m *IntMerge) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_IntMerge.Marshal(b, m, deterministic) } -func (dst *IntMerge) XXX_Merge(src proto.Message) { - xxx_messageInfo_IntMerge.Merge(dst, src) +func (m *IntMerge) XXX_Merge(src proto.Message) { + xxx_messageInfo_IntMerge.Merge(m, src) } func (m *IntMerge) XXX_Size() int { return xxx_messageInfo_IntMerge.Size(m) @@ -278,6 +277,38 @@ func init() { proto.RegisterType((*Sub)(nil), "unmarshalmerge.Sub") proto.RegisterType((*IntMerge)(nil), "unmarshalmerge.IntMerge") } + +func init() { proto.RegisterFile("unmarshalmerge.proto", fileDescriptor_701a7743bfe9c603) } + +var fileDescriptor_701a7743bfe9c603 = []byte{ + // 386 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0xd0, 0xcd, 0x8a, 0x9b, 0x50, + 0x14, 0x07, 0xf0, 0x1c, 0x35, 0xc6, 0xdc, 0xd0, 0xaf, 0xdb, 0x52, 0x2e, 0x21, 0xdc, 0x5c, 0x02, + 0x85, 0xdb, 0x45, 0x13, 0x50, 0x71, 0xd1, 0xa5, 0x8b, 0x42, 0x0a, 0x2d, 0x25, 0x92, 0x07, 0x88, + 0xad, 0x31, 0x42, 0xd4, 0x62, 0x14, 0xba, 0xec, 0x23, 0xf4, 0x15, 0xba, 0x9b, 0x47, 0x98, 0x65, + 0x96, 0xf3, 0x08, 0xb3, 0x0a, 0xa3, 0x4f, 0x30, 0xcb, 0x59, 0x0e, 0x5e, 0x6f, 0x3e, 0x9c, 0xed, + 0xec, 0x3c, 0xff, 0xdf, 0xdf, 0x73, 0xe0, 0xa2, 0x77, 0x45, 0x12, 0xaf, 0xb2, 0xdd, 0x66, 0xb5, + 0x8d, 0x83, 0x2c, 0x0c, 0xa6, 0xbf, 0xb3, 0x34, 0x4f, 0xf1, 0xcb, 0x76, 0x3a, 0xfc, 0x14, 0x46, + 0xf9, 0xa6, 0xf0, 0xa7, 0x3f, 0xd3, 0x78, 0x16, 0xa6, 0x61, 0x3a, 0x13, 0x35, 0xbf, 0x58, 0x8b, + 0x49, 0x0c, 0xe2, 0xab, 0xf9, 0x7d, 0xf2, 0x15, 0xa9, 0x6e, 0x14, 0xe2, 0x0f, 0x48, 0xf5, 0x0a, + 0x9f, 0x00, 0x03, 0x3e, 0x30, 0xdf, 0x4e, 0x9f, 0x5c, 0xf2, 0x0a, 0x7f, 0x51, 0x3b, 0x7e, 0x8f, + 0xf4, 0xef, 0x45, 0xec, 0x07, 0x19, 0x51, 0x18, 0x70, 0x75, 0x21, 0xa7, 0xcf, 0xda, 0xbf, 0xff, + 0x63, 0x98, 0xfc, 0x40, 0x7d, 0x37, 0x0a, 0x97, 0xc9, 0x6e, 0xb5, 0x0e, 0x9e, 0xbd, 0x71, 0x5f, + 0x6f, 0xfc, 0x28, 0x96, 0xe0, 0x11, 0xea, 0x7b, 0x85, 0x2f, 0x7b, 0x20, 0x7a, 0xe7, 0x40, 0x1e, + 0x3f, 0x28, 0xc8, 0x98, 0x27, 0xf9, 0xb7, 0x7a, 0x3d, 0x1e, 0xa2, 0xee, 0x3c, 0xc9, 0x1d, 0x9b, + 0x00, 0x53, 0xb8, 0xea, 0x6a, 0x37, 0x87, 0x71, 0x67, 0xd1, 0x44, 0xd2, 0x2c, 0x53, 0x1c, 0xec, + 0x5e, 0x98, 0x65, 0xe2, 0x11, 0xd2, 0xbd, 0x48, 0xa0, 0xca, 0x14, 0xfe, 0x46, 0xa2, 0xcc, 0x8e, + 0xea, 0xd8, 0x44, 0x63, 0xc0, 0xf1, 0xa5, 0x3a, 0x76, 0xad, 0xcb, 0x46, 0xbb, 0x0c, 0xb8, 0x76, + 0xd4, 0x65, 0x4b, 0x2d, 0x93, 0xe8, 0x4c, 0xe1, 0x2f, 0x2e, 0xd5, 0x32, 0x31, 0x45, 0xbd, 0x2f, + 0xd1, 0x9f, 0xe0, 0x97, 0x63, 0x93, 0x1e, 0x03, 0xae, 0x4b, 0x3e, 0x86, 0x27, 0xb7, 0x4c, 0x62, + 0x30, 0xe0, 0xbd, 0x96, 0x5b, 0x26, 0x66, 0xc8, 0xf0, 0xd6, 0xb2, 0xd0, 0x67, 0x0a, 0x7f, 0x25, + 0x0b, 0xa7, 0xf4, 0xdc, 0x70, 0x6c, 0x82, 0x18, 0xf0, 0xd7, 0xed, 0x86, 0x63, 0x63, 0x82, 0x34, + 0x37, 0x4d, 0xb7, 0x64, 0xc0, 0x80, 0x1b, 0x52, 0x45, 0xd2, 0x3c, 0xb0, 0xcb, 0x6e, 0x4b, 0xda, + 0xb9, 0x2b, 0x29, 0xdc, 0x97, 0x14, 0x1e, 0x4a, 0x0a, 0x7f, 0x2b, 0x0a, 0x57, 0x15, 0x85, 0xeb, + 0x8a, 0xc2, 0xbe, 0xa2, 0xf0, 0x18, 0x00, 0x00, 0xff, 0xff, 0xb2, 0x4e, 0xc7, 0x4e, 0xa1, 0x02, + 0x00, 0x00, +} + func (this *Big) VerboseEqual(that interface{}) error { if that == nil { if this == nil { @@ -1561,36 +1592,3 @@ var ( ErrInvalidLengthUnmarshalmerge = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowUnmarshalmerge = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("unmarshalmerge.proto", fileDescriptor_unmarshalmerge_5567ee50c42503cc) -} - -var fileDescriptor_unmarshalmerge_5567ee50c42503cc = []byte{ - // 386 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0xd0, 0xcd, 0x8a, 0x9b, 0x50, - 0x14, 0x07, 0xf0, 0x1c, 0x35, 0xc6, 0xdc, 0xd0, 0xaf, 0xdb, 0x52, 0x2e, 0x21, 0xdc, 0x5c, 0x02, - 0x85, 0xdb, 0x45, 0x13, 0x50, 0x71, 0xd1, 0xa5, 0x8b, 0x42, 0x0a, 0x2d, 0x25, 0x92, 0x07, 0x88, - 0xad, 0x31, 0x42, 0xd4, 0x62, 0x14, 0xba, 0xec, 0x23, 0xf4, 0x15, 0xba, 0x9b, 0x47, 0x98, 0x65, - 0x96, 0xf3, 0x08, 0xb3, 0x0a, 0xa3, 0x4f, 0x30, 0xcb, 0x59, 0x0e, 0x5e, 0x6f, 0x3e, 0x9c, 0xed, - 0xec, 0x3c, 0xff, 0xdf, 0xdf, 0x73, 0xe0, 0xa2, 0x77, 0x45, 0x12, 0xaf, 0xb2, 0xdd, 0x66, 0xb5, - 0x8d, 0x83, 0x2c, 0x0c, 0xa6, 0xbf, 0xb3, 0x34, 0x4f, 0xf1, 0xcb, 0x76, 0x3a, 0xfc, 0x14, 0x46, - 0xf9, 0xa6, 0xf0, 0xa7, 0x3f, 0xd3, 0x78, 0x16, 0xa6, 0x61, 0x3a, 0x13, 0x35, 0xbf, 0x58, 0x8b, - 0x49, 0x0c, 0xe2, 0xab, 0xf9, 0x7d, 0xf2, 0x15, 0xa9, 0x6e, 0x14, 0xe2, 0x0f, 0x48, 0xf5, 0x0a, - 0x9f, 0x00, 0x03, 0x3e, 0x30, 0xdf, 0x4e, 0x9f, 0x5c, 0xf2, 0x0a, 0x7f, 0x51, 0x3b, 0x7e, 0x8f, - 0xf4, 0xef, 0x45, 0xec, 0x07, 0x19, 0x51, 0x18, 0x70, 0x75, 0x21, 0xa7, 0xcf, 0xda, 0xbf, 0xff, - 0x63, 0x98, 0xfc, 0x40, 0x7d, 0x37, 0x0a, 0x97, 0xc9, 0x6e, 0xb5, 0x0e, 0x9e, 0xbd, 0x71, 0x5f, - 0x6f, 0xfc, 0x28, 0x96, 0xe0, 0x11, 0xea, 0x7b, 0x85, 0x2f, 0x7b, 0x20, 0x7a, 0xe7, 0x40, 0x1e, - 0x3f, 0x28, 0xc8, 0x98, 0x27, 0xf9, 0xb7, 0x7a, 0x3d, 0x1e, 0xa2, 0xee, 0x3c, 0xc9, 0x1d, 0x9b, - 0x00, 0x53, 0xb8, 0xea, 0x6a, 0x37, 0x87, 0x71, 0x67, 0xd1, 0x44, 0xd2, 0x2c, 0x53, 0x1c, 0xec, - 0x5e, 0x98, 0x65, 0xe2, 0x11, 0xd2, 0xbd, 0x48, 0xa0, 0xca, 0x14, 0xfe, 0x46, 0xa2, 0xcc, 0x8e, - 0xea, 0xd8, 0x44, 0x63, 0xc0, 0xf1, 0xa5, 0x3a, 0x76, 0xad, 0xcb, 0x46, 0xbb, 0x0c, 0xb8, 0x76, - 0xd4, 0x65, 0x4b, 0x2d, 0x93, 0xe8, 0x4c, 0xe1, 0x2f, 0x2e, 0xd5, 0x32, 0x31, 0x45, 0xbd, 0x2f, - 0xd1, 0x9f, 0xe0, 0x97, 0x63, 0x93, 0x1e, 0x03, 0xae, 0x4b, 0x3e, 0x86, 0x27, 0xb7, 0x4c, 0x62, - 0x30, 0xe0, 0xbd, 0x96, 0x5b, 0x26, 0x66, 0xc8, 0xf0, 0xd6, 0xb2, 0xd0, 0x67, 0x0a, 0x7f, 0x25, - 0x0b, 0xa7, 0xf4, 0xdc, 0x70, 0x6c, 0x82, 0x18, 0xf0, 0xd7, 0xed, 0x86, 0x63, 0x63, 0x82, 0x34, - 0x37, 0x4d, 0xb7, 0x64, 0xc0, 0x80, 0x1b, 0x52, 0x45, 0xd2, 0x3c, 0xb0, 0xcb, 0x6e, 0x4b, 0xda, - 0xb9, 0x2b, 0x29, 0xdc, 0x97, 0x14, 0x1e, 0x4a, 0x0a, 0x7f, 0x2b, 0x0a, 0x57, 0x15, 0x85, 0xeb, - 0x8a, 0xc2, 0xbe, 0xa2, 0xf0, 0x18, 0x00, 0x00, 0xff, 0xff, 0xb2, 0x4e, 0xc7, 0x4e, 0xa1, 0x02, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/unrecognized/unrecognized.pb.go b/vendor/github.com/gogo/protobuf/test/unrecognized/unrecognized.pb.go index 373139d0b..fde3845ae 100644 --- a/vendor/github.com/gogo/protobuf/test/unrecognized/unrecognized.pb.go +++ b/vendor/github.com/gogo/protobuf/test/unrecognized/unrecognized.pb.go @@ -3,23 +3,21 @@ package unrecognized -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -42,7 +40,7 @@ type A struct { func (m *A) Reset() { *m = A{} } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{0} + return fileDescriptor_5318ad6f723bf9f6, []int{0} } func (m *A) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -59,8 +57,8 @@ func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return m.Size() @@ -83,7 +81,7 @@ type B struct { func (m *B) Reset() { *m = B{} } func (*B) ProtoMessage() {} func (*B) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{1} + return fileDescriptor_5318ad6f723bf9f6, []int{1} } func (m *B) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -100,8 +98,8 @@ func (m *B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *B) XXX_Merge(src proto.Message) { - xxx_messageInfo_B.Merge(dst, src) +func (m *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(m, src) } func (m *B) XXX_Size() int { return m.Size() @@ -122,7 +120,7 @@ type D struct { func (m *D) Reset() { *m = D{} } func (*D) ProtoMessage() {} func (*D) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{2} + return fileDescriptor_5318ad6f723bf9f6, []int{2} } func (m *D) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -139,8 +137,8 @@ func (m *D) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *D) XXX_Merge(src proto.Message) { - xxx_messageInfo_D.Merge(dst, src) +func (m *D) XXX_Merge(src proto.Message) { + xxx_messageInfo_D.Merge(m, src) } func (m *D) XXX_Size() int { return m.Size() @@ -166,7 +164,7 @@ type C struct { func (m *C) Reset() { *m = C{} } func (*C) ProtoMessage() {} func (*C) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{3} + return fileDescriptor_5318ad6f723bf9f6, []int{3} } func (m *C) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -183,8 +181,8 @@ func (m *C) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *C) XXX_Merge(src proto.Message) { - xxx_messageInfo_C.Merge(dst, src) +func (m *C) XXX_Merge(src proto.Message) { + xxx_messageInfo_C.Merge(m, src) } func (m *C) XXX_Size() int { return m.Size() @@ -205,7 +203,7 @@ type U struct { func (m *U) Reset() { *m = U{} } func (*U) ProtoMessage() {} func (*U) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{4} + return fileDescriptor_5318ad6f723bf9f6, []int{4} } func (m *U) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -222,8 +220,8 @@ func (m *U) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *U) XXX_Merge(src proto.Message) { - xxx_messageInfo_U.Merge(dst, src) +func (m *U) XXX_Merge(src proto.Message) { + xxx_messageInfo_U.Merge(m, src) } func (m *U) XXX_Size() int { return m.Size() @@ -244,7 +242,7 @@ type UnoM struct { func (m *UnoM) Reset() { *m = UnoM{} } func (*UnoM) ProtoMessage() {} func (*UnoM) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{5} + return fileDescriptor_5318ad6f723bf9f6, []int{5} } func (m *UnoM) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnoM.Unmarshal(m, b) @@ -252,8 +250,8 @@ func (m *UnoM) XXX_Unmarshal(b []byte) error { func (m *UnoM) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_UnoM.Marshal(b, m, deterministic) } -func (dst *UnoM) XXX_Merge(src proto.Message) { - xxx_messageInfo_UnoM.Merge(dst, src) +func (m *UnoM) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnoM.Merge(m, src) } func (m *UnoM) XXX_Size() int { return xxx_messageInfo_UnoM.Size(m) @@ -274,7 +272,7 @@ type OldA struct { func (m *OldA) Reset() { *m = OldA{} } func (*OldA) ProtoMessage() {} func (*OldA) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{6} + return fileDescriptor_5318ad6f723bf9f6, []int{6} } func (m *OldA) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -291,8 +289,8 @@ func (m *OldA) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *OldA) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldA.Merge(dst, src) +func (m *OldA) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldA.Merge(m, src) } func (m *OldA) XXX_Size() int { return m.Size() @@ -314,7 +312,7 @@ type OldB struct { func (m *OldB) Reset() { *m = OldB{} } func (*OldB) ProtoMessage() {} func (*OldB) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{7} + return fileDescriptor_5318ad6f723bf9f6, []int{7} } func (m *OldB) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -331,8 +329,8 @@ func (m *OldB) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *OldB) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldB.Merge(dst, src) +func (m *OldB) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldB.Merge(m, src) } func (m *OldB) XXX_Size() int { return m.Size() @@ -357,7 +355,7 @@ type OldC struct { func (m *OldC) Reset() { *m = OldC{} } func (*OldC) ProtoMessage() {} func (*OldC) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{8} + return fileDescriptor_5318ad6f723bf9f6, []int{8} } func (m *OldC) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -374,8 +372,8 @@ func (m *OldC) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *OldC) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldC.Merge(dst, src) +func (m *OldC) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldC.Merge(m, src) } func (m *OldC) XXX_Size() int { return m.Size() @@ -397,7 +395,7 @@ type OldU struct { func (m *OldU) Reset() { *m = OldU{} } func (*OldU) ProtoMessage() {} func (*OldU) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{9} + return fileDescriptor_5318ad6f723bf9f6, []int{9} } func (m *OldU) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -414,8 +412,8 @@ func (m *OldU) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *OldU) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldU.Merge(dst, src) +func (m *OldU) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldU.Merge(m, src) } func (m *OldU) XXX_Size() int { return m.Size() @@ -437,7 +435,7 @@ type OldUnoM struct { func (m *OldUnoM) Reset() { *m = OldUnoM{} } func (*OldUnoM) ProtoMessage() {} func (*OldUnoM) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognized_05a73f113b0c8d63, []int{10} + return fileDescriptor_5318ad6f723bf9f6, []int{10} } func (m *OldUnoM) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldUnoM.Unmarshal(m, b) @@ -445,8 +443,8 @@ func (m *OldUnoM) XXX_Unmarshal(b []byte) error { func (m *OldUnoM) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldUnoM.Marshal(b, m, deterministic) } -func (dst *OldUnoM) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldUnoM.Merge(dst, src) +func (m *OldUnoM) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldUnoM.Merge(m, src) } func (m *OldUnoM) XXX_Size() int { return xxx_messageInfo_OldUnoM.Size(m) @@ -470,6 +468,40 @@ func init() { proto.RegisterType((*OldU)(nil), "unrecognized.OldU") proto.RegisterType((*OldUnoM)(nil), "unrecognized.OldUnoM") } + +func init() { proto.RegisterFile("unrecognized.proto", fileDescriptor_5318ad6f723bf9f6) } + +var fileDescriptor_5318ad6f723bf9f6 = []byte{ + // 417 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x91, 0x3f, 0x4f, 0xf2, 0x50, + 0x14, 0xc6, 0x7b, 0x68, 0x81, 0x70, 0x5f, 0xde, 0xbc, 0x6f, 0x3a, 0x98, 0x1b, 0x8d, 0xb7, 0x37, + 0x9d, 0xba, 0x08, 0x91, 0xbf, 0x91, 0x49, 0xdb, 0xa6, 0x1a, 0x13, 0x43, 0xd2, 0x84, 0x2f, 0x00, + 0xc5, 0x4a, 0x82, 0xd4, 0x10, 0x58, 0x1c, 0x8c, 0xa3, 0xa3, 0x89, 0x5f, 0xc0, 0x6e, 0x8e, 0x8e, + 0x7e, 0x04, 0x46, 0x46, 0x47, 0xda, 0x4f, 0xe0, 0xe8, 0x68, 0x7a, 0x2d, 0xf5, 0x22, 0x90, 0xa0, + 0xdb, 0xbd, 0xcf, 0x73, 0xce, 0x79, 0x4e, 0xce, 0x0f, 0xc9, 0xe3, 0xc1, 0xb0, 0xdb, 0xf1, 0xdc, + 0x41, 0xef, 0xba, 0xeb, 0x14, 0xae, 0x86, 0xde, 0xc8, 0x93, 0xf3, 0xbc, 0xb6, 0xbd, 0xe7, 0xf6, + 0x46, 0x17, 0xe3, 0x76, 0xa1, 0xe3, 0x5d, 0x16, 0x5d, 0xcf, 0xf5, 0x8a, 0xac, 0xa8, 0x3d, 0x3e, + 0x67, 0x3f, 0xf6, 0x61, 0xaf, 0xcf, 0x66, 0xf5, 0x10, 0xc1, 0x91, 0xbc, 0x85, 0x32, 0x56, 0xaf, + 0xdb, 0x77, 0xf6, 0x71, 0x8a, 0x82, 0x26, 0xda, 0xf1, 0x4f, 0xde, 0x45, 0xa0, 0x63, 0xa0, 0xa2, + 0xf6, 0xa7, 0xf4, 0xaf, 0xb0, 0x90, 0xac, 0xdb, 0xa0, 0x37, 0xa4, 0xa9, 0xaf, 0x08, 0x6a, 0x07, + 0x81, 0x1e, 0x55, 0x1a, 0x18, 0x28, 0x2c, 0x57, 0x1a, 0x36, 0x18, 0x91, 0x6d, 0xb2, 0xd9, 0x4b, + 0xb6, 0x69, 0x83, 0x29, 0x53, 0x04, 0x16, 0x4e, 0x33, 0x5b, 0x5e, 0xb4, 0x9b, 0x7d, 0xc7, 0xb0, + 0xc1, 0x52, 0x77, 0x10, 0x98, 0xdc, 0x9a, 0xc0, 0xaf, 0xa9, 0x3e, 0x00, 0x02, 0x23, 0x71, 0x4b, + 0x2c, 0x08, 0x62, 0xb7, 0x94, 0xe8, 0x65, 0x2c, 0x52, 0xd0, 0x72, 0xb1, 0x5e, 0x4e, 0xf4, 0x0a, + 0x96, 0xb8, 0xfa, 0x4a, 0xa2, 0x57, 0x71, 0x9a, 0x8a, 0x5a, 0x3e, 0xd6, 0xab, 0x89, 0x5e, 0xc3, + 0x19, 0x2e, 0xbd, 0x96, 0xe8, 0x75, 0x9c, 0xa5, 0xa2, 0x96, 0x8a, 0xf5, 0xba, 0x7a, 0x80, 0xa0, + 0xb5, 0xb0, 0x94, 0xb8, 0x76, 0xa9, 0xbf, 0xf3, 0xa5, 0xe2, 0x93, 0x9e, 0x20, 0xa9, 0x35, 0xf0, + 0xce, 0x7e, 0xdc, 0xfd, 0xff, 0xce, 0x57, 0x84, 0x7b, 0x5f, 0x11, 0x1e, 0x7d, 0x45, 0x60, 0x93, + 0x2c, 0x24, 0x35, 0xfb, 0xce, 0x7a, 0xc2, 0xf4, 0x8b, 0xf0, 0xf2, 0xe5, 0x39, 0xc8, 0xa7, 0x6c, + 0x8e, 0x1e, 0xd5, 0xcf, 0x39, 0xaf, 0x24, 0x65, 0x6c, 0xc0, 0xf2, 0x86, 0xcd, 0x32, 0xd6, 0xe1, + 0xfc, 0x35, 0xc8, 0x4d, 0xc1, 0xd4, 0x58, 0x7e, 0xeb, 0x5b, 0x7e, 0x6e, 0x65, 0x3e, 0x77, 0x75, + 0xf5, 0x18, 0x65, 0xa3, 0x3e, 0x1e, 0xcc, 0x86, 0xad, 0x8d, 0x3c, 0x0f, 0x46, 0xaf, 0x4c, 0x02, + 0x22, 0x4c, 0x03, 0x22, 0xbc, 0x06, 0x44, 0x98, 0x05, 0x04, 0xde, 0x02, 0x02, 0xef, 0x01, 0x81, + 0xdb, 0x90, 0xc0, 0x53, 0x48, 0xe0, 0x39, 0x24, 0xf0, 0x12, 0x12, 0x98, 0x84, 0x04, 0xa6, 0x21, + 0x81, 0x59, 0x48, 0xe0, 0x23, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x6d, 0x38, 0x81, 0xfb, 0x03, 0x00, + 0x00, +} + func (this *A) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return UnrecognizedDescription() } @@ -506,263 +538,265 @@ func (this *OldUnoM) Description() (desc *github_com_gogo_protobuf_protoc_gen_go func UnrecognizedDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 4085 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5d, 0x70, 0x1b, 0xd7, - 0x75, 0xe6, 0xe2, 0x87, 0x04, 0x0e, 0x40, 0x70, 0xb9, 0xa4, 0x65, 0x88, 0x8e, 0x29, 0x0a, 0xb6, - 0x63, 0xda, 0x6e, 0xa8, 0x54, 0xd6, 0x8f, 0x05, 0x35, 0x71, 0x40, 0x00, 0xa2, 0xa9, 0x92, 0x04, - 0xb3, 0x20, 0xe2, 0x9f, 0x4c, 0x67, 0x67, 0xb9, 0xb8, 0x04, 0x57, 0x5a, 0xec, 0x6e, 0x76, 0x17, - 0x92, 0xa9, 0xe9, 0x74, 0xd4, 0x71, 0xff, 0x32, 0x9d, 0xb6, 0x69, 0xd3, 0x99, 0x26, 0xae, 0xe3, - 0x46, 0xe9, 0x34, 0x4e, 0xd3, 0xbf, 0xa4, 0x69, 0xd3, 0x24, 0x7d, 0xe9, 0x4b, 0x5a, 0x3f, 0x75, - 0x9c, 0xb7, 0x3e, 0xf4, 0xc1, 0x52, 0x3d, 0xd3, 0x3f, 0xb7, 0x49, 0x5b, 0x3d, 0x64, 0x46, 0x2f, - 0x9d, 0xfb, 0xb7, 0xd8, 0x5d, 0x80, 0xda, 0xa5, 0x67, 0xec, 0x3c, 0x89, 0x7b, 0xee, 0xf9, 0xbe, - 0x3d, 0xf7, 0xdc, 0x73, 0xcf, 0x39, 0xf7, 0x2e, 0x04, 0x3f, 0xbc, 0x00, 0x4b, 0x3d, 0xcb, 0xea, - 0x19, 0xe8, 0x94, 0xed, 0x58, 0x9e, 0xb5, 0x3b, 0xd8, 0x3b, 0xd5, 0x45, 0xae, 0xe6, 0xe8, 0xb6, - 0x67, 0x39, 0x2b, 0x44, 0x26, 0xcd, 0x50, 0x8d, 0x15, 0xae, 0x51, 0xd9, 0x84, 0xd9, 0x4b, 0xba, - 0x81, 0x1a, 0xbe, 0x62, 0x1b, 0x79, 0xd2, 0x33, 0x90, 0xd9, 0xd3, 0x0d, 0x54, 0x16, 0x96, 0xd2, - 0xcb, 0x85, 0xd3, 0x8f, 0xae, 0x44, 0x40, 0x2b, 0x61, 0xc4, 0x36, 0x16, 0xcb, 0x04, 0x51, 0x79, - 0x27, 0x03, 0x73, 0x63, 0x46, 0x25, 0x09, 0x32, 0xa6, 0xda, 0xc7, 0x8c, 0xc2, 0x72, 0x5e, 0x26, - 0x7f, 0x4b, 0x65, 0x98, 0xb2, 0x55, 0xed, 0xaa, 0xda, 0x43, 0xe5, 0x14, 0x11, 0xf3, 0x47, 0x69, - 0x11, 0xa0, 0x8b, 0x6c, 0x64, 0x76, 0x91, 0xa9, 0x1d, 0x94, 0xd3, 0x4b, 0xe9, 0xe5, 0xbc, 0x1c, - 0x90, 0x48, 0x4f, 0xc1, 0xac, 0x3d, 0xd8, 0x35, 0x74, 0x4d, 0x09, 0xa8, 0xc1, 0x52, 0x7a, 0x39, - 0x2b, 0x8b, 0x74, 0xa0, 0x31, 0x54, 0x7e, 0x1c, 0x66, 0xae, 0x23, 0xf5, 0x6a, 0x50, 0xb5, 0x40, - 0x54, 0x4b, 0x58, 0x1c, 0x50, 0xac, 0x43, 0xb1, 0x8f, 0x5c, 0x57, 0xed, 0x21, 0xc5, 0x3b, 0xb0, - 0x51, 0x39, 0x43, 0x66, 0xbf, 0x34, 0x32, 0xfb, 0xe8, 0xcc, 0x0b, 0x0c, 0xb5, 0x73, 0x60, 0x23, - 0xa9, 0x06, 0x79, 0x64, 0x0e, 0xfa, 0x94, 0x21, 0x7b, 0x88, 0xff, 0x9a, 0xe6, 0xa0, 0x1f, 0x65, - 0xc9, 0x61, 0x18, 0xa3, 0x98, 0x72, 0x91, 0x73, 0x4d, 0xd7, 0x50, 0x79, 0x92, 0x10, 0x3c, 0x3e, - 0x42, 0xd0, 0xa6, 0xe3, 0x51, 0x0e, 0x8e, 0x93, 0xea, 0x90, 0x47, 0x2f, 0x7b, 0xc8, 0x74, 0x75, - 0xcb, 0x2c, 0x4f, 0x11, 0x92, 0xc7, 0xc6, 0xac, 0x22, 0x32, 0xba, 0x51, 0x8a, 0x21, 0x4e, 0x3a, - 0x07, 0x53, 0x96, 0xed, 0xe9, 0x96, 0xe9, 0x96, 0x73, 0x4b, 0xc2, 0x72, 0xe1, 0xf4, 0x87, 0xc6, - 0x06, 0x42, 0x8b, 0xea, 0xc8, 0x5c, 0x59, 0x5a, 0x07, 0xd1, 0xb5, 0x06, 0x8e, 0x86, 0x14, 0xcd, - 0xea, 0x22, 0x45, 0x37, 0xf7, 0xac, 0x72, 0x9e, 0x10, 0x9c, 0x18, 0x9d, 0x08, 0x51, 0xac, 0x5b, - 0x5d, 0xb4, 0x6e, 0xee, 0x59, 0x72, 0xc9, 0x0d, 0x3d, 0x4b, 0xc7, 0x60, 0xd2, 0x3d, 0x30, 0x3d, - 0xf5, 0xe5, 0x72, 0x91, 0x44, 0x08, 0x7b, 0xaa, 0x7c, 0x77, 0x12, 0x66, 0x92, 0x84, 0xd8, 0x45, - 0xc8, 0xee, 0xe1, 0x59, 0x96, 0x53, 0x47, 0xf1, 0x01, 0xc5, 0x84, 0x9d, 0x38, 0xf9, 0x1e, 0x9d, - 0x58, 0x83, 0x82, 0x89, 0x5c, 0x0f, 0x75, 0x69, 0x44, 0xa4, 0x13, 0xc6, 0x14, 0x50, 0xd0, 0x68, - 0x48, 0x65, 0xde, 0x53, 0x48, 0xbd, 0x00, 0x33, 0xbe, 0x49, 0x8a, 0xa3, 0x9a, 0x3d, 0x1e, 0x9b, - 0xa7, 0xe2, 0x2c, 0x59, 0x69, 0x72, 0x9c, 0x8c, 0x61, 0x72, 0x09, 0x85, 0x9e, 0xa5, 0x06, 0x80, - 0x65, 0x22, 0x6b, 0x4f, 0xe9, 0x22, 0xcd, 0x28, 0xe7, 0x0e, 0xf1, 0x52, 0x0b, 0xab, 0x8c, 0x78, - 0xc9, 0xa2, 0x52, 0xcd, 0x90, 0x2e, 0x0c, 0x43, 0x6d, 0xea, 0x90, 0x48, 0xd9, 0xa4, 0x9b, 0x6c, - 0x24, 0xda, 0x3a, 0x50, 0x72, 0x10, 0x8e, 0x7b, 0xd4, 0x65, 0x33, 0xcb, 0x13, 0x23, 0x56, 0x62, - 0x67, 0x26, 0x33, 0x18, 0x9d, 0xd8, 0xb4, 0x13, 0x7c, 0x94, 0x1e, 0x01, 0x5f, 0xa0, 0x90, 0xb0, - 0x02, 0x92, 0x85, 0x8a, 0x5c, 0xb8, 0xa5, 0xf6, 0xd1, 0xc2, 0x0d, 0x28, 0x85, 0xdd, 0x23, 0xcd, - 0x43, 0xd6, 0xf5, 0x54, 0xc7, 0x23, 0x51, 0x98, 0x95, 0xe9, 0x83, 0x24, 0x42, 0x1a, 0x99, 0x5d, - 0x92, 0xe5, 0xb2, 0x32, 0xfe, 0x53, 0xfa, 0xc4, 0x70, 0xc2, 0x69, 0x32, 0xe1, 0x0f, 0x8f, 0xae, - 0x68, 0x88, 0x39, 0x3a, 0xef, 0x85, 0xf3, 0x30, 0x1d, 0x9a, 0x40, 0xd2, 0x57, 0x57, 0x7e, 0x1e, - 0x1e, 0x18, 0x4b, 0x2d, 0xbd, 0x00, 0xf3, 0x03, 0x53, 0x37, 0x3d, 0xe4, 0xd8, 0x0e, 0xc2, 0x11, - 0x4b, 0x5f, 0x55, 0xfe, 0xd7, 0xa9, 0x43, 0x62, 0xae, 0x13, 0xd4, 0xa6, 0x2c, 0xf2, 0xdc, 0x60, - 0x54, 0xf8, 0x64, 0x3e, 0xf7, 0x6f, 0x53, 0xe2, 0xcd, 0x9b, 0x37, 0x6f, 0xa6, 0x2a, 0x5f, 0x98, - 0x84, 0xf9, 0x71, 0x7b, 0x66, 0xec, 0xf6, 0x3d, 0x06, 0x93, 0xe6, 0xa0, 0xbf, 0x8b, 0x1c, 0xe2, - 0xa4, 0xac, 0xcc, 0x9e, 0xa4, 0x1a, 0x64, 0x0d, 0x75, 0x17, 0x19, 0xe5, 0xcc, 0x92, 0xb0, 0x5c, - 0x3a, 0xfd, 0x54, 0xa2, 0x5d, 0xb9, 0xb2, 0x81, 0x21, 0x32, 0x45, 0x4a, 0x1f, 0x87, 0x0c, 0x4b, - 0xd1, 0x98, 0xe1, 0xc9, 0x64, 0x0c, 0x78, 0x2f, 0xc9, 0x04, 0x27, 0x3d, 0x04, 0x79, 0xfc, 0x2f, - 0x8d, 0x8d, 0x49, 0x62, 0x73, 0x0e, 0x0b, 0x70, 0x5c, 0x48, 0x0b, 0x90, 0x23, 0xdb, 0xa4, 0x8b, - 0x78, 0x69, 0xf3, 0x9f, 0x71, 0x60, 0x75, 0xd1, 0x9e, 0x3a, 0x30, 0x3c, 0xe5, 0x9a, 0x6a, 0x0c, - 0x10, 0x09, 0xf8, 0xbc, 0x5c, 0x64, 0xc2, 0x4f, 0x61, 0x99, 0x74, 0x02, 0x0a, 0x74, 0x57, 0xe9, - 0x66, 0x17, 0xbd, 0x4c, 0xb2, 0x67, 0x56, 0xa6, 0x1b, 0x6d, 0x1d, 0x4b, 0xf0, 0xeb, 0xaf, 0xb8, - 0x96, 0xc9, 0x43, 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0xcf, 0x47, 0x13, 0xf7, 0xc3, 0xe3, 0xa7, - 0x17, 0x8d, 0xa9, 0xca, 0xb7, 0x53, 0x90, 0x21, 0xf9, 0x62, 0x06, 0x0a, 0x3b, 0x2f, 0x6e, 0x37, - 0x95, 0x46, 0xab, 0xb3, 0xba, 0xd1, 0x14, 0x05, 0xa9, 0x04, 0x40, 0x04, 0x97, 0x36, 0x5a, 0xb5, - 0x1d, 0x31, 0xe5, 0x3f, 0xaf, 0x6f, 0xed, 0x9c, 0x3b, 0x23, 0xa6, 0x7d, 0x40, 0x87, 0x0a, 0x32, - 0x41, 0x85, 0xa7, 0x4f, 0x8b, 0x59, 0x49, 0x84, 0x22, 0x25, 0x58, 0x7f, 0xa1, 0xd9, 0x38, 0x77, - 0x46, 0x9c, 0x0c, 0x4b, 0x9e, 0x3e, 0x2d, 0x4e, 0x49, 0xd3, 0x90, 0x27, 0x92, 0xd5, 0x56, 0x6b, - 0x43, 0xcc, 0xf9, 0x9c, 0xed, 0x1d, 0x79, 0x7d, 0x6b, 0x4d, 0xcc, 0xfb, 0x9c, 0x6b, 0x72, 0xab, - 0xb3, 0x2d, 0x82, 0xcf, 0xb0, 0xd9, 0x6c, 0xb7, 0x6b, 0x6b, 0x4d, 0xb1, 0xe0, 0x6b, 0xac, 0xbe, - 0xb8, 0xd3, 0x6c, 0x8b, 0xc5, 0x90, 0x59, 0x4f, 0x9f, 0x16, 0xa7, 0xfd, 0x57, 0x34, 0xb7, 0x3a, - 0x9b, 0x62, 0x49, 0x9a, 0x85, 0x69, 0xfa, 0x0a, 0x6e, 0xc4, 0x4c, 0x44, 0x74, 0xee, 0x8c, 0x28, - 0x0e, 0x0d, 0xa1, 0x2c, 0xb3, 0x21, 0xc1, 0xb9, 0x33, 0xa2, 0x54, 0xa9, 0x43, 0x96, 0x44, 0x97, - 0x24, 0x41, 0x69, 0xa3, 0xb6, 0xda, 0xdc, 0x50, 0x5a, 0xdb, 0x3b, 0xeb, 0xad, 0xad, 0xda, 0x86, - 0x28, 0x0c, 0x65, 0x72, 0xf3, 0x93, 0x9d, 0x75, 0xb9, 0xd9, 0x10, 0x53, 0x41, 0xd9, 0x76, 0xb3, - 0xb6, 0xd3, 0x6c, 0x88, 0xe9, 0x8a, 0x06, 0xf3, 0xe3, 0xf2, 0xe4, 0xd8, 0x9d, 0x11, 0x58, 0xe2, - 0xd4, 0x21, 0x4b, 0x4c, 0xb8, 0x46, 0x96, 0xf8, 0x5f, 0x52, 0x30, 0x37, 0xa6, 0x56, 0x8c, 0x7d, - 0xc9, 0xb3, 0x90, 0xa5, 0x21, 0x4a, 0xab, 0xe7, 0x13, 0x63, 0x8b, 0x0e, 0x09, 0xd8, 0x91, 0x0a, - 0x4a, 0x70, 0xc1, 0x0e, 0x22, 0x7d, 0x48, 0x07, 0x81, 0x29, 0x46, 0x72, 0xfa, 0xcf, 0x8d, 0xe4, - 0x74, 0x5a, 0xf6, 0xce, 0x25, 0x29, 0x7b, 0x44, 0x76, 0xb4, 0xdc, 0x9e, 0x1d, 0x93, 0xdb, 0x2f, - 0xc2, 0xec, 0x08, 0x51, 0xe2, 0x1c, 0xfb, 0x8a, 0x00, 0xe5, 0xc3, 0x9c, 0x13, 0x93, 0xe9, 0x52, - 0xa1, 0x4c, 0x77, 0x31, 0xea, 0xc1, 0x93, 0x87, 0x2f, 0xc2, 0xc8, 0x5a, 0xbf, 0x21, 0xc0, 0xb1, - 0xf1, 0x9d, 0xe2, 0x58, 0x1b, 0x3e, 0x0e, 0x93, 0x7d, 0xe4, 0xed, 0x5b, 0xbc, 0x5b, 0xfa, 0xf0, - 0x98, 0x1a, 0x8c, 0x87, 0xa3, 0x8b, 0xcd, 0x50, 0xc1, 0x22, 0x9e, 0x3e, 0xac, 0xdd, 0xa3, 0xd6, - 0x8c, 0x58, 0xfa, 0xd9, 0x14, 0x3c, 0x30, 0x96, 0x7c, 0xac, 0xa1, 0x0f, 0x03, 0xe8, 0xa6, 0x3d, - 0xf0, 0x68, 0x47, 0x44, 0x13, 0x6c, 0x9e, 0x48, 0x48, 0xf2, 0xc2, 0xc9, 0x73, 0xe0, 0xf9, 0xe3, - 0x69, 0x32, 0x0e, 0x54, 0x44, 0x14, 0x9e, 0x19, 0x1a, 0x9a, 0x21, 0x86, 0x2e, 0x1e, 0x32, 0xd3, - 0x91, 0xc0, 0xfc, 0x28, 0x88, 0x9a, 0xa1, 0x23, 0xd3, 0x53, 0x5c, 0xcf, 0x41, 0x6a, 0x5f, 0x37, - 0x7b, 0xa4, 0x82, 0xe4, 0xaa, 0xd9, 0x3d, 0xd5, 0x70, 0x91, 0x3c, 0x43, 0x87, 0xdb, 0x7c, 0x14, - 0x23, 0x48, 0x00, 0x39, 0x01, 0xc4, 0x64, 0x08, 0x41, 0x87, 0x7d, 0x44, 0xe5, 0x5b, 0x39, 0x28, - 0x04, 0xfa, 0x6a, 0xe9, 0x24, 0x14, 0xaf, 0xa8, 0xd7, 0x54, 0x85, 0x9f, 0x95, 0xa8, 0x27, 0x0a, - 0x58, 0xb6, 0xcd, 0xce, 0x4b, 0x1f, 0x85, 0x79, 0xa2, 0x62, 0x0d, 0x3c, 0xe4, 0x28, 0x9a, 0xa1, - 0xba, 0x2e, 0x71, 0x5a, 0x8e, 0xa8, 0x4a, 0x78, 0xac, 0x85, 0x87, 0xea, 0x7c, 0x44, 0x3a, 0x0b, - 0x73, 0x04, 0xd1, 0x1f, 0x18, 0x9e, 0x6e, 0x1b, 0x48, 0xc1, 0xa7, 0x37, 0x97, 0x54, 0x12, 0xdf, - 0xb2, 0x59, 0xac, 0xb1, 0xc9, 0x14, 0xb0, 0x45, 0xae, 0xd4, 0x80, 0x87, 0x09, 0xac, 0x87, 0x4c, - 0xe4, 0xa8, 0x1e, 0x52, 0xd0, 0x67, 0x06, 0xaa, 0xe1, 0x2a, 0xaa, 0xd9, 0x55, 0xf6, 0x55, 0x77, - 0xbf, 0x3c, 0x8f, 0x09, 0x56, 0x53, 0x65, 0x41, 0x3e, 0x8e, 0x15, 0xd7, 0x98, 0x5e, 0x93, 0xa8, - 0xd5, 0xcc, 0xee, 0x73, 0xaa, 0xbb, 0x2f, 0x55, 0xe1, 0x18, 0x61, 0x71, 0x3d, 0x47, 0x37, 0x7b, - 0x8a, 0xb6, 0x8f, 0xb4, 0xab, 0xca, 0xc0, 0xdb, 0x7b, 0xa6, 0xfc, 0x50, 0xf0, 0xfd, 0xc4, 0xc2, - 0x36, 0xd1, 0xa9, 0x63, 0x95, 0x8e, 0xb7, 0xf7, 0x8c, 0xd4, 0x86, 0x22, 0x5e, 0x8c, 0xbe, 0x7e, - 0x03, 0x29, 0x7b, 0x96, 0x43, 0x4a, 0x63, 0x69, 0x4c, 0x6a, 0x0a, 0x78, 0x70, 0xa5, 0xc5, 0x00, - 0x9b, 0x56, 0x17, 0x55, 0xb3, 0xed, 0xed, 0x66, 0xb3, 0x21, 0x17, 0x38, 0xcb, 0x25, 0xcb, 0xc1, - 0x01, 0xd5, 0xb3, 0x7c, 0x07, 0x17, 0x68, 0x40, 0xf5, 0x2c, 0xee, 0xde, 0xb3, 0x30, 0xa7, 0x69, - 0x74, 0xce, 0xba, 0xa6, 0xb0, 0x33, 0x96, 0x5b, 0x16, 0x43, 0xce, 0xd2, 0xb4, 0x35, 0xaa, 0xc0, - 0x62, 0xdc, 0x95, 0x2e, 0xc0, 0x03, 0x43, 0x67, 0x05, 0x81, 0xb3, 0x23, 0xb3, 0x8c, 0x42, 0xcf, - 0xc2, 0x9c, 0x7d, 0x30, 0x0a, 0x94, 0x42, 0x6f, 0xb4, 0x0f, 0xa2, 0xb0, 0xf3, 0x30, 0x6f, 0xef, - 0xdb, 0xa3, 0xb8, 0x27, 0x83, 0x38, 0xc9, 0xde, 0xb7, 0xa3, 0xc0, 0xc7, 0xc8, 0x81, 0xdb, 0x41, - 0x9a, 0xea, 0xa1, 0x6e, 0xf9, 0xc1, 0xa0, 0x7a, 0x60, 0x40, 0x3a, 0x05, 0xa2, 0xa6, 0x29, 0xc8, - 0x54, 0x77, 0x0d, 0xa4, 0xa8, 0x0e, 0x32, 0x55, 0xb7, 0x7c, 0x22, 0xa8, 0x5c, 0xd2, 0xb4, 0x26, - 0x19, 0xad, 0x91, 0x41, 0xe9, 0x49, 0x98, 0xb5, 0x76, 0xaf, 0x68, 0x34, 0x24, 0x15, 0xdb, 0x41, - 0x7b, 0xfa, 0xcb, 0xe5, 0x47, 0x89, 0x7f, 0x67, 0xf0, 0x00, 0x09, 0xc8, 0x6d, 0x22, 0x96, 0x9e, - 0x00, 0x51, 0x73, 0xf7, 0x55, 0xc7, 0x26, 0x39, 0xd9, 0xb5, 0x55, 0x0d, 0x95, 0x1f, 0xa3, 0xaa, - 0x54, 0xbe, 0xc5, 0xc5, 0x78, 0x4b, 0xb8, 0xd7, 0xf5, 0x3d, 0x8f, 0x33, 0x3e, 0x4e, 0xb7, 0x04, - 0x91, 0x31, 0xb6, 0x65, 0x10, 0xb1, 0x2b, 0x42, 0x2f, 0x5e, 0x26, 0x6a, 0x25, 0x7b, 0xdf, 0x0e, - 0xbe, 0xf7, 0x11, 0x98, 0xc6, 0x9a, 0xc3, 0x97, 0x3e, 0x41, 0x1b, 0x32, 0x7b, 0x3f, 0xf0, 0xc6, - 0xf7, 0xad, 0x37, 0xae, 0x54, 0xa1, 0x18, 0x8c, 0x4f, 0x29, 0x0f, 0x34, 0x42, 0x45, 0x01, 0x37, - 0x2b, 0xf5, 0x56, 0x03, 0xb7, 0x19, 0x2f, 0x35, 0xc5, 0x14, 0x6e, 0x77, 0x36, 0xd6, 0x77, 0x9a, - 0x8a, 0xdc, 0xd9, 0xda, 0x59, 0xdf, 0x6c, 0x8a, 0xe9, 0x60, 0x5f, 0xfd, 0xfd, 0x14, 0x94, 0xc2, - 0x47, 0x24, 0xe9, 0x67, 0xe0, 0x41, 0x7e, 0x9f, 0xe1, 0x22, 0x4f, 0xb9, 0xae, 0x3b, 0x64, 0xcb, - 0xf4, 0x55, 0x5a, 0xbe, 0xfc, 0x45, 0x9b, 0x67, 0x5a, 0x6d, 0xe4, 0x3d, 0xaf, 0x3b, 0x78, 0x43, - 0xf4, 0x55, 0x4f, 0xda, 0x80, 0x13, 0xa6, 0xa5, 0xb8, 0x9e, 0x6a, 0x76, 0x55, 0xa7, 0xab, 0x0c, - 0x6f, 0x92, 0x14, 0x55, 0xd3, 0x90, 0xeb, 0x5a, 0xb4, 0x54, 0xf9, 0x2c, 0x1f, 0x32, 0xad, 0x36, - 0x53, 0x1e, 0xe6, 0xf0, 0x1a, 0x53, 0x8d, 0x04, 0x58, 0xfa, 0xb0, 0x00, 0x7b, 0x08, 0xf2, 0x7d, - 0xd5, 0x56, 0x90, 0xe9, 0x39, 0x07, 0xa4, 0x31, 0xce, 0xc9, 0xb9, 0xbe, 0x6a, 0x37, 0xf1, 0xf3, - 0x07, 0x73, 0x3e, 0xf9, 0xe7, 0x34, 0x14, 0x83, 0xcd, 0x31, 0x3e, 0x6b, 0x68, 0xa4, 0x8e, 0x08, - 0x24, 0xd3, 0x3c, 0x72, 0xdf, 0x56, 0x7a, 0xa5, 0x8e, 0x0b, 0x4c, 0x75, 0x92, 0xb6, 0xac, 0x32, - 0x45, 0xe2, 0xe2, 0x8e, 0x73, 0x0b, 0xa2, 0x2d, 0x42, 0x4e, 0x66, 0x4f, 0xd2, 0x1a, 0x4c, 0x5e, - 0x71, 0x09, 0xf7, 0x24, 0xe1, 0x7e, 0xf4, 0xfe, 0xdc, 0x97, 0xdb, 0x84, 0x3c, 0x7f, 0xb9, 0xad, - 0x6c, 0xb5, 0xe4, 0xcd, 0xda, 0x86, 0xcc, 0xe0, 0xd2, 0x71, 0xc8, 0x18, 0xea, 0x8d, 0x83, 0x70, - 0x29, 0x22, 0xa2, 0xa4, 0x8e, 0x3f, 0x0e, 0x99, 0xeb, 0x48, 0xbd, 0x1a, 0x2e, 0x00, 0x44, 0xf4, - 0x3e, 0x86, 0xfe, 0x29, 0xc8, 0x12, 0x7f, 0x49, 0x00, 0xcc, 0x63, 0xe2, 0x84, 0x94, 0x83, 0x4c, - 0xbd, 0x25, 0xe3, 0xf0, 0x17, 0xa1, 0x48, 0xa5, 0xca, 0xf6, 0x7a, 0xb3, 0xde, 0x14, 0x53, 0x95, - 0xb3, 0x30, 0x49, 0x9d, 0x80, 0xb7, 0x86, 0xef, 0x06, 0x71, 0x82, 0x3d, 0x32, 0x0e, 0x81, 0x8f, - 0x76, 0x36, 0x57, 0x9b, 0xb2, 0x98, 0x0a, 0x2e, 0xaf, 0x0b, 0xc5, 0x60, 0x5f, 0xfc, 0xc1, 0xc4, - 0xd4, 0xf7, 0x04, 0x28, 0x04, 0xfa, 0x5c, 0xdc, 0xa0, 0xa8, 0x86, 0x61, 0x5d, 0x57, 0x54, 0x43, - 0x57, 0x5d, 0x16, 0x14, 0x40, 0x44, 0x35, 0x2c, 0x49, 0xba, 0x68, 0x1f, 0x88, 0xf1, 0xaf, 0x0b, - 0x20, 0x46, 0x5b, 0xcc, 0x88, 0x81, 0xc2, 0x4f, 0xd4, 0xc0, 0xd7, 0x04, 0x28, 0x85, 0xfb, 0xca, - 0x88, 0x79, 0x27, 0x7f, 0xa2, 0xe6, 0xbd, 0x9d, 0x82, 0xe9, 0x50, 0x37, 0x99, 0xd4, 0xba, 0xcf, - 0xc0, 0xac, 0xde, 0x45, 0x7d, 0xdb, 0xf2, 0x90, 0xa9, 0x1d, 0x28, 0x06, 0xba, 0x86, 0x8c, 0x72, - 0x85, 0x24, 0x8a, 0x53, 0xf7, 0xef, 0x57, 0x57, 0xd6, 0x87, 0xb8, 0x0d, 0x0c, 0xab, 0xce, 0xad, - 0x37, 0x9a, 0x9b, 0xdb, 0xad, 0x9d, 0xe6, 0x56, 0xfd, 0x45, 0xa5, 0xb3, 0xf5, 0xb3, 0x5b, 0xad, - 0xe7, 0xb7, 0x64, 0x51, 0x8f, 0xa8, 0xbd, 0x8f, 0x5b, 0x7d, 0x1b, 0xc4, 0xa8, 0x51, 0xd2, 0x83, - 0x30, 0xce, 0x2c, 0x71, 0x42, 0x9a, 0x83, 0x99, 0xad, 0x96, 0xd2, 0x5e, 0x6f, 0x34, 0x95, 0xe6, - 0xa5, 0x4b, 0xcd, 0xfa, 0x4e, 0x9b, 0xde, 0x40, 0xf8, 0xda, 0x3b, 0xe1, 0x4d, 0xfd, 0x6a, 0x1a, - 0xe6, 0xc6, 0x58, 0x22, 0xd5, 0xd8, 0xd9, 0x81, 0x1e, 0x67, 0x3e, 0x92, 0xc4, 0xfa, 0x15, 0x5c, - 0xf2, 0xb7, 0x55, 0xc7, 0x63, 0x47, 0x8d, 0x27, 0x00, 0x7b, 0xc9, 0xf4, 0xf4, 0x3d, 0x1d, 0x39, - 0xec, 0xc2, 0x86, 0x1e, 0x28, 0x66, 0x86, 0x72, 0x7a, 0x67, 0xf3, 0x53, 0x20, 0xd9, 0x96, 0xab, - 0x7b, 0xfa, 0x35, 0xa4, 0xe8, 0x26, 0xbf, 0xdd, 0xc1, 0x07, 0x8c, 0x8c, 0x2c, 0xf2, 0x91, 0x75, - 0xd3, 0xf3, 0xb5, 0x4d, 0xd4, 0x53, 0x23, 0xda, 0x38, 0x81, 0xa7, 0x65, 0x91, 0x8f, 0xf8, 0xda, - 0x27, 0xa1, 0xd8, 0xb5, 0x06, 0xb8, 0xeb, 0xa2, 0x7a, 0xb8, 0x5e, 0x08, 0x72, 0x81, 0xca, 0x7c, - 0x15, 0xd6, 0x4f, 0x0f, 0xaf, 0x95, 0x8a, 0x72, 0x81, 0xca, 0xa8, 0xca, 0xe3, 0x30, 0xa3, 0xf6, - 0x7a, 0x0e, 0x26, 0xe7, 0x44, 0xf4, 0x84, 0x50, 0xf2, 0xc5, 0x44, 0x71, 0xe1, 0x32, 0xe4, 0xb8, - 0x1f, 0x70, 0x49, 0xc6, 0x9e, 0x50, 0x6c, 0x7a, 0xec, 0x4d, 0x2d, 0xe7, 0xe5, 0x9c, 0xc9, 0x07, - 0x4f, 0x42, 0x51, 0x77, 0x95, 0xe1, 0x2d, 0x79, 0x6a, 0x29, 0xb5, 0x9c, 0x93, 0x0b, 0xba, 0xeb, - 0xdf, 0x30, 0x56, 0xde, 0x48, 0x41, 0x29, 0x7c, 0xcb, 0x2f, 0x35, 0x20, 0x67, 0x58, 0x9a, 0x4a, - 0x42, 0x8b, 0x7e, 0x62, 0x5a, 0x8e, 0xf9, 0x30, 0xb0, 0xb2, 0xc1, 0xf4, 0x65, 0x1f, 0xb9, 0xf0, - 0x8f, 0x02, 0xe4, 0xb8, 0x58, 0x3a, 0x06, 0x19, 0x5b, 0xf5, 0xf6, 0x09, 0x5d, 0x76, 0x35, 0x25, - 0x0a, 0x32, 0x79, 0xc6, 0x72, 0xd7, 0x56, 0x4d, 0x12, 0x02, 0x4c, 0x8e, 0x9f, 0xf1, 0xba, 0x1a, - 0x48, 0xed, 0x92, 0xe3, 0x87, 0xd5, 0xef, 0x23, 0xd3, 0x73, 0xf9, 0xba, 0x32, 0x79, 0x9d, 0x89, - 0xa5, 0xa7, 0x60, 0xd6, 0x73, 0x54, 0xdd, 0x08, 0xe9, 0x66, 0x88, 0xae, 0xc8, 0x07, 0x7c, 0xe5, - 0x2a, 0x1c, 0xe7, 0xbc, 0x5d, 0xe4, 0xa9, 0xda, 0x3e, 0xea, 0x0e, 0x41, 0x93, 0xe4, 0x9a, 0xe1, - 0x41, 0xa6, 0xd0, 0x60, 0xe3, 0x1c, 0x5b, 0xf9, 0x81, 0x00, 0xb3, 0xfc, 0xc0, 0xd4, 0xf5, 0x9d, - 0xb5, 0x09, 0xa0, 0x9a, 0xa6, 0xe5, 0x05, 0xdd, 0x35, 0x1a, 0xca, 0x23, 0xb8, 0x95, 0x9a, 0x0f, - 0x92, 0x03, 0x04, 0x0b, 0x7d, 0x80, 0xe1, 0xc8, 0xa1, 0x6e, 0x3b, 0x01, 0x05, 0xf6, 0x09, 0x87, - 0x7c, 0x07, 0xa4, 0x47, 0x6c, 0xa0, 0x22, 0x7c, 0xb2, 0x92, 0xe6, 0x21, 0xbb, 0x8b, 0x7a, 0xba, - 0xc9, 0x2e, 0x66, 0xe9, 0x03, 0xbf, 0x08, 0xc9, 0xf8, 0x17, 0x21, 0xab, 0x9f, 0x86, 0x39, 0xcd, - 0xea, 0x47, 0xcd, 0x5d, 0x15, 0x23, 0xc7, 0x7c, 0xf7, 0x39, 0xe1, 0x25, 0x18, 0xb6, 0x98, 0x3f, - 0x16, 0x84, 0xaf, 0xa4, 0xd2, 0x6b, 0xdb, 0xab, 0x5f, 0x4f, 0x2d, 0xac, 0x51, 0xe8, 0x36, 0x9f, - 0xa9, 0x8c, 0xf6, 0x0c, 0xa4, 0x61, 0xeb, 0xe1, 0xab, 0x4f, 0xc1, 0x47, 0x7a, 0xba, 0xb7, 0x3f, - 0xd8, 0x5d, 0xd1, 0xac, 0xfe, 0xa9, 0x9e, 0xd5, 0xb3, 0x86, 0x9f, 0x3e, 0xf1, 0x13, 0x79, 0x20, - 0x7f, 0xb1, 0xcf, 0x9f, 0x79, 0x5f, 0xba, 0x10, 0xfb, 0xad, 0xb4, 0xba, 0x05, 0x73, 0x4c, 0x59, - 0x21, 0xdf, 0x5f, 0xe8, 0x29, 0x42, 0xba, 0xef, 0x1d, 0x56, 0xf9, 0x9b, 0xef, 0x90, 0x72, 0x2d, - 0xcf, 0x32, 0x28, 0x1e, 0xa3, 0x07, 0x8d, 0xaa, 0x0c, 0x0f, 0x84, 0xf8, 0xe8, 0xd6, 0x44, 0x4e, - 0x0c, 0xe3, 0xf7, 0x19, 0xe3, 0x5c, 0x80, 0xb1, 0xcd, 0xa0, 0xd5, 0x3a, 0x4c, 0x1f, 0x85, 0xeb, - 0xef, 0x19, 0x57, 0x11, 0x05, 0x49, 0xd6, 0x60, 0x86, 0x90, 0x68, 0x03, 0xd7, 0xb3, 0xfa, 0x24, - 0xef, 0xdd, 0x9f, 0xe6, 0x1f, 0xde, 0xa1, 0x7b, 0xa5, 0x84, 0x61, 0x75, 0x1f, 0x55, 0xad, 0x02, - 0xf9, 0xe4, 0xd4, 0x45, 0x9a, 0x11, 0xc3, 0xf0, 0x26, 0x33, 0xc4, 0xd7, 0xaf, 0x7e, 0x0a, 0xe6, - 0xf1, 0xdf, 0x24, 0x2d, 0x05, 0x2d, 0x89, 0xbf, 0xf0, 0x2a, 0xff, 0xe0, 0x15, 0xba, 0x1d, 0xe7, - 0x7c, 0x82, 0x80, 0x4d, 0x81, 0x55, 0xec, 0x21, 0xcf, 0x43, 0x8e, 0xab, 0xa8, 0xc6, 0x38, 0xf3, - 0x02, 0x37, 0x06, 0xe5, 0x2f, 0xbe, 0x1b, 0x5e, 0xc5, 0x35, 0x8a, 0xac, 0x19, 0x46, 0xb5, 0x03, - 0x0f, 0x8e, 0x89, 0x8a, 0x04, 0x9c, 0xaf, 0x32, 0xce, 0xf9, 0x91, 0xc8, 0xc0, 0xb4, 0xdb, 0xc0, - 0xe5, 0xfe, 0x5a, 0x26, 0xe0, 0xfc, 0x7d, 0xc6, 0x29, 0x31, 0x2c, 0x5f, 0x52, 0xcc, 0x78, 0x19, - 0x66, 0xaf, 0x21, 0x67, 0xd7, 0x72, 0xd9, 0x2d, 0x4d, 0x02, 0xba, 0xd7, 0x18, 0xdd, 0x0c, 0x03, - 0x92, 0x6b, 0x1b, 0xcc, 0x75, 0x01, 0x72, 0x7b, 0xaa, 0x86, 0x12, 0x50, 0x7c, 0x89, 0x51, 0x4c, - 0x61, 0x7d, 0x0c, 0xad, 0x41, 0xb1, 0x67, 0xb1, 0xca, 0x14, 0x0f, 0x7f, 0x9d, 0xc1, 0x0b, 0x1c, - 0xc3, 0x28, 0x6c, 0xcb, 0x1e, 0x18, 0xb8, 0x6c, 0xc5, 0x53, 0xfc, 0x01, 0xa7, 0xe0, 0x18, 0x46, - 0x71, 0x04, 0xb7, 0x7e, 0x99, 0x53, 0xb8, 0x01, 0x7f, 0x3e, 0x0b, 0x05, 0xcb, 0x34, 0x0e, 0x2c, - 0x33, 0x89, 0x11, 0xb7, 0x18, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x08, 0xf9, 0xa4, 0x0b, 0xf1, 0x47, - 0xef, 0xf2, 0xed, 0xc1, 0x57, 0x60, 0x0d, 0x66, 0x78, 0x82, 0xd2, 0x2d, 0x33, 0x01, 0xc5, 0x57, - 0x19, 0x45, 0x29, 0x00, 0x63, 0xd3, 0xf0, 0x90, 0xeb, 0xf5, 0x50, 0x12, 0x92, 0x37, 0xf8, 0x34, - 0x18, 0x84, 0xb9, 0x72, 0x17, 0x99, 0xda, 0x7e, 0x32, 0x86, 0xaf, 0x71, 0x57, 0x72, 0x0c, 0xa6, - 0xa8, 0xc3, 0x74, 0x5f, 0x75, 0xdc, 0x7d, 0xd5, 0x48, 0xb4, 0x1c, 0x7f, 0xcc, 0x38, 0x8a, 0x3e, - 0x88, 0x79, 0x64, 0x60, 0x1e, 0x85, 0xe6, 0xeb, 0xdc, 0x23, 0x01, 0x18, 0xdb, 0x7a, 0xae, 0x47, - 0xae, 0xb4, 0x8e, 0xc2, 0xf6, 0x27, 0x7c, 0xeb, 0x51, 0xec, 0x66, 0x90, 0xf1, 0x22, 0xe4, 0x5d, - 0xfd, 0x46, 0x22, 0x9a, 0x3f, 0xe5, 0x2b, 0x4d, 0x00, 0x18, 0xfc, 0x22, 0x1c, 0x1f, 0x5b, 0x26, - 0x12, 0x90, 0xfd, 0x19, 0x23, 0x3b, 0x36, 0xa6, 0x54, 0xb0, 0x94, 0x70, 0x54, 0xca, 0x3f, 0xe7, - 0x29, 0x01, 0x45, 0xb8, 0xb6, 0xf1, 0x59, 0xc1, 0x55, 0xf7, 0x8e, 0xe6, 0xb5, 0xbf, 0xe0, 0x5e, - 0xa3, 0xd8, 0x90, 0xd7, 0x76, 0xe0, 0x18, 0x63, 0x3c, 0xda, 0xba, 0x7e, 0x83, 0x27, 0x56, 0x8a, - 0xee, 0x84, 0x57, 0xf7, 0xd3, 0xb0, 0xe0, 0xbb, 0x93, 0x37, 0xa5, 0xae, 0xd2, 0x57, 0xed, 0x04, - 0xcc, 0xdf, 0x64, 0xcc, 0x3c, 0xe3, 0xfb, 0x5d, 0xad, 0xbb, 0xa9, 0xda, 0x98, 0xfc, 0x05, 0x28, - 0x73, 0xf2, 0x81, 0xe9, 0x20, 0xcd, 0xea, 0x99, 0xfa, 0x0d, 0xd4, 0x4d, 0x40, 0xfd, 0x97, 0x91, - 0xa5, 0xea, 0x04, 0xe0, 0x98, 0x79, 0x1d, 0x44, 0xbf, 0x57, 0x51, 0xf4, 0xbe, 0x6d, 0x39, 0x5e, - 0x0c, 0xe3, 0xb7, 0xf8, 0x4a, 0xf9, 0xb8, 0x75, 0x02, 0xab, 0x36, 0xa1, 0x44, 0x1e, 0x93, 0x86, - 0xe4, 0x5f, 0x31, 0xa2, 0xe9, 0x21, 0x8a, 0x25, 0x0e, 0xcd, 0xea, 0xdb, 0xaa, 0x93, 0x24, 0xff, - 0xfd, 0x35, 0x4f, 0x1c, 0x0c, 0xc2, 0x12, 0x87, 0x77, 0x60, 0x23, 0x5c, 0xed, 0x13, 0x30, 0x7c, - 0x9b, 0x27, 0x0e, 0x8e, 0x61, 0x14, 0xbc, 0x61, 0x48, 0x40, 0xf1, 0x37, 0x9c, 0x82, 0x63, 0x30, - 0xc5, 0x27, 0x87, 0x85, 0xd6, 0x41, 0x3d, 0xdd, 0xf5, 0x1c, 0xda, 0x0a, 0xdf, 0x9f, 0xea, 0x3b, - 0xef, 0x86, 0x9b, 0x30, 0x39, 0x00, 0xc5, 0x99, 0x88, 0x5d, 0xa1, 0x92, 0x93, 0x52, 0xbc, 0x61, - 0xdf, 0xe5, 0x99, 0x28, 0x00, 0xc3, 0xb6, 0x05, 0x3a, 0x44, 0xec, 0x76, 0x0d, 0x9f, 0x0f, 0x12, - 0xd0, 0x7d, 0x2f, 0x62, 0x5c, 0x9b, 0x63, 0x31, 0x67, 0xa0, 0xff, 0x19, 0x98, 0x57, 0xd1, 0x41, - 0xa2, 0xe8, 0xfc, 0xdb, 0x48, 0xff, 0xd3, 0xa1, 0x48, 0x9a, 0x43, 0x66, 0x22, 0xfd, 0x94, 0x14, - 0xf7, 0x63, 0x9d, 0xf2, 0x2f, 0xde, 0x65, 0xf3, 0x0d, 0xb7, 0x53, 0xd5, 0x0d, 0x1c, 0xe4, 0xe1, - 0xa6, 0x27, 0x9e, 0xec, 0x95, 0xbb, 0x7e, 0x9c, 0x87, 0x7a, 0x9e, 0xea, 0x25, 0x98, 0x0e, 0x35, - 0x3c, 0xf1, 0x54, 0xbf, 0xc4, 0xa8, 0x8a, 0xc1, 0x7e, 0xa7, 0x7a, 0x16, 0x32, 0xb8, 0x79, 0x89, - 0x87, 0xff, 0x32, 0x83, 0x13, 0xf5, 0xea, 0xc7, 0x20, 0xc7, 0x9b, 0x96, 0x78, 0xe8, 0xaf, 0x30, - 0xa8, 0x0f, 0xc1, 0x70, 0xde, 0xb0, 0xc4, 0xc3, 0x7f, 0x95, 0xc3, 0x39, 0x04, 0xc3, 0x93, 0xbb, - 0xf0, 0xef, 0x7e, 0x3d, 0xc3, 0x8a, 0x0e, 0xf7, 0xdd, 0x45, 0x98, 0x62, 0x9d, 0x4a, 0x3c, 0xfa, - 0xb3, 0xec, 0xe5, 0x1c, 0x51, 0x3d, 0x0f, 0xd9, 0x84, 0x0e, 0xff, 0x0d, 0x06, 0xa5, 0xfa, 0xd5, - 0x3a, 0x14, 0x02, 0xdd, 0x49, 0x3c, 0xfc, 0x37, 0x19, 0x3c, 0x88, 0xc2, 0xa6, 0xb3, 0xee, 0x24, - 0x9e, 0xe0, 0xb7, 0xb8, 0xe9, 0x0c, 0x81, 0xdd, 0xc6, 0x1b, 0x93, 0x78, 0xf4, 0xe7, 0xb8, 0xd7, - 0x39, 0xa4, 0xfa, 0x2c, 0xe4, 0xfd, 0x62, 0x13, 0x8f, 0xff, 0x6d, 0x86, 0x1f, 0x62, 0xb0, 0x07, - 0x02, 0xc5, 0x2e, 0x9e, 0xe2, 0x77, 0xb8, 0x07, 0x02, 0x28, 0xbc, 0x8d, 0xa2, 0x0d, 0x4c, 0x3c, - 0xd3, 0xe7, 0xf9, 0x36, 0x8a, 0xf4, 0x2f, 0x78, 0x35, 0x49, 0xce, 0x8f, 0xa7, 0xf8, 0x5d, 0xbe, - 0x9a, 0x44, 0x1f, 0x9b, 0x11, 0xed, 0x08, 0xe2, 0x39, 0x7e, 0x8f, 0x9b, 0x11, 0x69, 0x08, 0xaa, - 0xdb, 0x20, 0x8d, 0x76, 0x03, 0xf1, 0x7c, 0x5f, 0x60, 0x7c, 0xb3, 0x23, 0xcd, 0x40, 0xf5, 0x79, - 0x38, 0x36, 0xbe, 0x13, 0x88, 0x67, 0xfd, 0xe2, 0xdd, 0xc8, 0xd9, 0x2d, 0xd8, 0x08, 0x54, 0x77, - 0x86, 0x25, 0x25, 0xd8, 0x05, 0xc4, 0xd3, 0xbe, 0x7a, 0x37, 0x9c, 0xb8, 0x83, 0x4d, 0x40, 0xb5, - 0x06, 0x30, 0x2c, 0xc0, 0xf1, 0x5c, 0xaf, 0x31, 0xae, 0x00, 0x08, 0x6f, 0x0d, 0x56, 0x7f, 0xe3, - 0xf1, 0x5f, 0xe2, 0x5b, 0x83, 0x21, 0xf0, 0xd6, 0xe0, 0xa5, 0x37, 0x1e, 0xfd, 0x3a, 0xdf, 0x1a, - 0x1c, 0x82, 0x23, 0x3b, 0x50, 0xdd, 0xe2, 0x19, 0x6e, 0xf1, 0xc8, 0x0e, 0xa0, 0xaa, 0x5b, 0x30, - 0x3b, 0x52, 0x10, 0xe3, 0xa9, 0xbe, 0xc2, 0xa8, 0xc4, 0x68, 0x3d, 0x0c, 0x16, 0x2f, 0x56, 0x0c, - 0xe3, 0xd9, 0xfe, 0x30, 0x52, 0xbc, 0x58, 0x2d, 0xac, 0x5e, 0x84, 0x9c, 0x39, 0x30, 0x0c, 0xbc, - 0x79, 0xa4, 0xfb, 0xff, 0xc0, 0xae, 0xfc, 0xef, 0xf7, 0x98, 0x77, 0x38, 0xa0, 0x7a, 0x16, 0xb2, - 0xa8, 0xbf, 0x8b, 0xba, 0x71, 0xc8, 0xff, 0xb8, 0xc7, 0x13, 0x26, 0xd6, 0xae, 0x3e, 0x0b, 0x40, - 0xaf, 0x46, 0xc8, 0x67, 0xbf, 0x18, 0xec, 0x7f, 0xde, 0x63, 0x3f, 0x7d, 0x19, 0x42, 0x86, 0x04, - 0xf4, 0x87, 0x34, 0xf7, 0x27, 0x78, 0x37, 0x4c, 0x40, 0x56, 0xe4, 0x02, 0x4c, 0x5d, 0x71, 0x2d, - 0xd3, 0x53, 0x7b, 0x71, 0xe8, 0xff, 0x62, 0x68, 0xae, 0x8f, 0x1d, 0xd6, 0xb7, 0x1c, 0xe4, 0xa9, - 0x3d, 0x37, 0x0e, 0xfb, 0xdf, 0x0c, 0xeb, 0x03, 0x30, 0x58, 0x53, 0x5d, 0x2f, 0xc9, 0xbc, 0x7f, - 0xc8, 0xc1, 0x1c, 0x80, 0x8d, 0xc6, 0x7f, 0x5f, 0x45, 0x07, 0x71, 0xd8, 0x1f, 0x71, 0xa3, 0x99, - 0x7e, 0xf5, 0x63, 0x90, 0xc7, 0x7f, 0xd2, 0xdf, 0xb3, 0xc5, 0x80, 0xff, 0x87, 0x81, 0x87, 0x08, - 0xfc, 0x66, 0xd7, 0xeb, 0x7a, 0x7a, 0xbc, 0xb3, 0xff, 0x97, 0xad, 0x34, 0xd7, 0xaf, 0xd6, 0xa0, - 0xe0, 0x7a, 0xdd, 0xee, 0x80, 0xf5, 0xa7, 0x31, 0xf0, 0xff, 0xbb, 0xe7, 0x5f, 0x59, 0xf8, 0x18, - 0xbc, 0xda, 0xd7, 0xaf, 0x7a, 0xb6, 0x45, 0x3e, 0x73, 0xc4, 0x31, 0xdc, 0x65, 0x0c, 0x01, 0xc8, - 0x6a, 0x73, 0xfc, 0xf5, 0x2d, 0xac, 0x59, 0x6b, 0x16, 0xbd, 0xb8, 0x7d, 0xa9, 0x12, 0x7f, 0x03, - 0x0b, 0xf7, 0xa6, 0x70, 0x32, 0x1f, 0xe6, 0x36, 0x76, 0x1b, 0x5b, 0x0c, 0xca, 0x16, 0x8e, 0x76, - 0x95, 0x5b, 0xf9, 0x04, 0x08, 0x35, 0xe9, 0x18, 0x4c, 0x92, 0x39, 0xfc, 0x34, 0xb9, 0xa2, 0x4e, - 0xcb, 0xec, 0x49, 0x7a, 0x18, 0x84, 0x55, 0x76, 0x57, 0x3e, 0xb3, 0x12, 0x7a, 0xf3, 0xaa, 0x2c, - 0xac, 0x56, 0x33, 0x6f, 0xdd, 0x3a, 0x31, 0x51, 0xd1, 0x40, 0x58, 0xc5, 0x9a, 0x75, 0xf2, 0x01, - 0x73, 0x44, 0xb3, 0x2e, 0x0b, 0x75, 0x3c, 0xdc, 0x60, 0xbf, 0xb0, 0x8c, 0x0c, 0x37, 0x64, 0xa1, - 0x21, 0x2d, 0x81, 0x70, 0x89, 0x7c, 0xb4, 0x29, 0x9c, 0x96, 0xc2, 0xc3, 0x2d, 0xa3, 0x5b, 0x97, - 0x85, 0x4b, 0x95, 0x87, 0x40, 0x68, 0x04, 0xcc, 0x14, 0x82, 0x66, 0x56, 0x3e, 0x2f, 0x80, 0x50, - 0xf7, 0x47, 0x4f, 0x93, 0x17, 0x09, 0x6c, 0xf4, 0xb4, 0x2f, 0x7f, 0x9a, 0x7d, 0x99, 0x60, 0x4f, - 0xbe, 0xfc, 0x0c, 0xb9, 0x68, 0xe7, 0xfa, 0x67, 0x7c, 0xf9, 0x59, 0xf2, 0x7b, 0xc6, 0x22, 0x93, - 0x9f, 0xf5, 0xe5, 0xe7, 0xc8, 0x67, 0x23, 0xfe, 0xf6, 0x73, 0xbe, 0xfc, 0x3c, 0xf9, 0x1f, 0x22, - 0x29, 0x26, 0x3f, 0x5f, 0xb9, 0x00, 0x42, 0x27, 0x64, 0x54, 0xfa, 0x50, 0xa3, 0xa6, 0xb9, 0x51, - 0xcc, 0xa5, 0xcf, 0x41, 0xa6, 0x63, 0x5a, 0x9b, 0x47, 0x46, 0x8b, 0xbf, 0x76, 0xeb, 0xc4, 0xc4, - 0xe7, 0x6e, 0x9d, 0x98, 0xf8, 0xf2, 0xad, 0x13, 0x13, 0x84, 0xe9, 0x12, 0x64, 0x5a, 0x46, 0xf7, - 0xf0, 0x15, 0x5e, 0x1a, 0xae, 0xf0, 0xa8, 0xe7, 0x03, 0x8b, 0x7c, 0x99, 0xf0, 0xac, 0x62, 0x7d, - 0xbe, 0xce, 0x63, 0x57, 0xaa, 0x9e, 0x60, 0x2d, 0x7f, 0x81, 0x70, 0xd5, 0x0f, 0x5b, 0xce, 0xf7, - 0xbc, 0x90, 0x49, 0x17, 0xe6, 0x1c, 0x79, 0x7f, 0x27, 0xf2, 0xfe, 0xfc, 0xd8, 0xf7, 0x07, 0xbc, - 0x5e, 0x59, 0x83, 0x29, 0x8c, 0x0b, 0x2e, 0x4c, 0x42, 0x68, 0xb5, 0x18, 0x5c, 0x98, 0xd5, 0x33, - 0x6f, 0xde, 0x5e, 0x9c, 0x78, 0xeb, 0xf6, 0xe2, 0xc4, 0x3f, 0xdd, 0x5e, 0x9c, 0x78, 0xfb, 0xf6, - 0xa2, 0xf0, 0xa3, 0xdb, 0x8b, 0xc2, 0x8f, 0x6f, 0x2f, 0x0a, 0x37, 0xef, 0x2c, 0x0a, 0x5f, 0xbb, - 0xb3, 0x28, 0x7c, 0xe3, 0xce, 0xa2, 0xf0, 0x9d, 0x3b, 0x8b, 0xc2, 0x9b, 0x77, 0x16, 0x85, 0xb7, - 0xee, 0x2c, 0x0a, 0x6f, 0xdf, 0x59, 0x14, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xe4, 0xd9, 0x59, - 0x5a, 0x99, 0x36, 0x00, 0x00, + // 4119 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0xdc, 0xe6, + 0x75, 0x26, 0xf6, 0x42, 0xee, 0x9e, 0x5d, 0x2e, 0x41, 0x90, 0xa6, 0x56, 0x74, 0x4c, 0x51, 0x6b, + 0x3b, 0xa6, 0xed, 0x98, 0x4a, 0x65, 0x5d, 0xac, 0x55, 0x13, 0x67, 0xb9, 0x5c, 0xd1, 0x54, 0x49, + 0x2e, 0x83, 0xe5, 0xc6, 0x97, 0x4c, 0x07, 0x03, 0x62, 0x7f, 0x2e, 0x21, 0x61, 0x01, 0x04, 0xc0, + 0x4a, 0xa6, 0xa6, 0xd3, 0x51, 0xc7, 0xbd, 0x65, 0x7a, 0x4b, 0x9b, 0xce, 0x34, 0x71, 0x1d, 0x37, + 0x4a, 0xa7, 0x71, 0x9a, 0xde, 0x92, 0x5e, 0xd2, 0x24, 0x7d, 0xe9, 0x4b, 0x5a, 0x3f, 0x75, 0x9c, + 0xb7, 0x3e, 0xf4, 0xc1, 0x52, 0x3d, 0xd3, 0x9b, 0xdb, 0xa6, 0xad, 0x1e, 0x32, 0xa3, 0x97, 0xce, + 0x7f, 0xc3, 0x02, 0xd8, 0xa5, 0x00, 0x7a, 0xc6, 0xf6, 0x93, 0x88, 0xf3, 0x9f, 0xef, 0xc3, 0xf9, + 0xcf, 0x7f, 0xfe, 0x73, 0xce, 0xff, 0x63, 0x05, 0x6f, 0x56, 0x61, 0xb1, 0x6b, 0x59, 0x5d, 0x03, + 0x9d, 0xb2, 0x1d, 0xcb, 0xb3, 0x76, 0xfb, 0x7b, 0xa7, 0x3a, 0xc8, 0xd5, 0x1c, 0xdd, 0xf6, 0x2c, + 0x67, 0x99, 0xc8, 0xa4, 0x29, 0xaa, 0xb1, 0xcc, 0x35, 0x2a, 0x9b, 0x30, 0x7d, 0x49, 0x37, 0xd0, + 0xaa, 0xaf, 0xd8, 0x42, 0x9e, 0xf4, 0x0c, 0x64, 0xf6, 0x74, 0x03, 0x95, 0x85, 0xc5, 0xf4, 0x52, + 0xe1, 0xf4, 0x23, 0xcb, 0x11, 0xd0, 0x72, 0x18, 0xb1, 0x8d, 0xc5, 0x32, 0x41, 0x54, 0xde, 0xc9, + 0xc0, 0xcc, 0x88, 0x51, 0x49, 0x82, 0x8c, 0xa9, 0xf6, 0x30, 0xa3, 0xb0, 0x94, 0x97, 0xc9, 0xdf, + 0x52, 0x19, 0x26, 0x6c, 0x55, 0xbb, 0xaa, 0x76, 0x51, 0x39, 0x45, 0xc4, 0xfc, 0x51, 0x5a, 0x00, + 0xe8, 0x20, 0x1b, 0x99, 0x1d, 0x64, 0x6a, 0x07, 0xe5, 0xf4, 0x62, 0x7a, 0x29, 0x2f, 0x07, 0x24, + 0xd2, 0x93, 0x30, 0x6d, 0xf7, 0x77, 0x0d, 0x5d, 0x53, 0x02, 0x6a, 0xb0, 0x98, 0x5e, 0xca, 0xca, + 0x22, 0x1d, 0x58, 0x1d, 0x28, 0x3f, 0x06, 0x53, 0xd7, 0x91, 0x7a, 0x35, 0xa8, 0x5a, 0x20, 0xaa, + 0x25, 0x2c, 0x0e, 0x28, 0xd6, 0xa1, 0xd8, 0x43, 0xae, 0xab, 0x76, 0x91, 0xe2, 0x1d, 0xd8, 0xa8, + 0x9c, 0x21, 0xb3, 0x5f, 0x1c, 0x9a, 0x7d, 0x74, 0xe6, 0x05, 0x86, 0xda, 0x39, 0xb0, 0x91, 0x54, + 0x83, 0x3c, 0x32, 0xfb, 0x3d, 0xca, 0x90, 0x3d, 0xc4, 0x7f, 0x0d, 0xb3, 0xdf, 0x8b, 0xb2, 0xe4, + 0x30, 0x8c, 0x51, 0x4c, 0xb8, 0xc8, 0xb9, 0xa6, 0x6b, 0xa8, 0x3c, 0x4e, 0x08, 0x1e, 0x1b, 0x22, + 0x68, 0xd1, 0xf1, 0x28, 0x07, 0xc7, 0x49, 0x75, 0xc8, 0xa3, 0x97, 0x3d, 0x64, 0xba, 0xba, 0x65, + 0x96, 0x27, 0x08, 0xc9, 0xa3, 0x23, 0x56, 0x11, 0x19, 0x9d, 0x28, 0xc5, 0x00, 0x27, 0x9d, 0x83, + 0x09, 0xcb, 0xf6, 0x74, 0xcb, 0x74, 0xcb, 0xb9, 0x45, 0x61, 0xa9, 0x70, 0xfa, 0x23, 0x23, 0x03, + 0xa1, 0x49, 0x75, 0x64, 0xae, 0x2c, 0xad, 0x83, 0xe8, 0x5a, 0x7d, 0x47, 0x43, 0x8a, 0x66, 0x75, + 0x90, 0xa2, 0x9b, 0x7b, 0x56, 0x39, 0x4f, 0x08, 0x4e, 0x0c, 0x4f, 0x84, 0x28, 0xd6, 0xad, 0x0e, + 0x5a, 0x37, 0xf7, 0x2c, 0xb9, 0xe4, 0x86, 0x9e, 0xa5, 0x39, 0x18, 0x77, 0x0f, 0x4c, 0x4f, 0x7d, + 0xb9, 0x5c, 0x24, 0x11, 0xc2, 0x9e, 0x2a, 0xdf, 0x1b, 0x87, 0xa9, 0x24, 0x21, 0x76, 0x11, 0xb2, + 0x7b, 0x78, 0x96, 0xe5, 0xd4, 0x51, 0x7c, 0x40, 0x31, 0x61, 0x27, 0x8e, 0xbf, 0x47, 0x27, 0xd6, + 0xa0, 0x60, 0x22, 0xd7, 0x43, 0x1d, 0x1a, 0x11, 0xe9, 0x84, 0x31, 0x05, 0x14, 0x34, 0x1c, 0x52, + 0x99, 0xf7, 0x14, 0x52, 0x2f, 0xc0, 0x94, 0x6f, 0x92, 0xe2, 0xa8, 0x66, 0x97, 0xc7, 0xe6, 0xa9, + 0x38, 0x4b, 0x96, 0x1b, 0x1c, 0x27, 0x63, 0x98, 0x5c, 0x42, 0xa1, 0x67, 0x69, 0x15, 0xc0, 0x32, + 0x91, 0xb5, 0xa7, 0x74, 0x90, 0x66, 0x94, 0x73, 0x87, 0x78, 0xa9, 0x89, 0x55, 0x86, 0xbc, 0x64, + 0x51, 0xa9, 0x66, 0x48, 0x17, 0x06, 0xa1, 0x36, 0x71, 0x48, 0xa4, 0x6c, 0xd2, 0x4d, 0x36, 0x14, + 0x6d, 0x6d, 0x28, 0x39, 0x08, 0xc7, 0x3d, 0xea, 0xb0, 0x99, 0xe5, 0x89, 0x11, 0xcb, 0xb1, 0x33, + 0x93, 0x19, 0x8c, 0x4e, 0x6c, 0xd2, 0x09, 0x3e, 0x4a, 0x0f, 0x83, 0x2f, 0x50, 0x48, 0x58, 0x01, + 0xc9, 0x42, 0x45, 0x2e, 0xdc, 0x52, 0x7b, 0x68, 0xfe, 0x06, 0x94, 0xc2, 0xee, 0x91, 0x66, 0x21, + 0xeb, 0x7a, 0xaa, 0xe3, 0x91, 0x28, 0xcc, 0xca, 0xf4, 0x41, 0x12, 0x21, 0x8d, 0xcc, 0x0e, 0xc9, + 0x72, 0x59, 0x19, 0xff, 0x29, 0x7d, 0x6a, 0x30, 0xe1, 0x34, 0x99, 0xf0, 0x47, 0x87, 0x57, 0x34, + 0xc4, 0x1c, 0x9d, 0xf7, 0xfc, 0x79, 0x98, 0x0c, 0x4d, 0x20, 0xe9, 0xab, 0x2b, 0x3f, 0x03, 0x0f, + 0x8c, 0xa4, 0x96, 0x5e, 0x80, 0xd9, 0xbe, 0xa9, 0x9b, 0x1e, 0x72, 0x6c, 0x07, 0xe1, 0x88, 0xa5, + 0xaf, 0x2a, 0xff, 0xcb, 0xc4, 0x21, 0x31, 0xd7, 0x0e, 0x6a, 0x53, 0x16, 0x79, 0xa6, 0x3f, 0x2c, + 0x7c, 0x22, 0x9f, 0xfb, 0xd7, 0x09, 0xf1, 0xe6, 0xcd, 0x9b, 0x37, 0x53, 0x95, 0x2f, 0x8d, 0xc3, + 0xec, 0xa8, 0x3d, 0x33, 0x72, 0xfb, 0xce, 0xc1, 0xb8, 0xd9, 0xef, 0xed, 0x22, 0x87, 0x38, 0x29, + 0x2b, 0xb3, 0x27, 0xa9, 0x06, 0x59, 0x43, 0xdd, 0x45, 0x46, 0x39, 0xb3, 0x28, 0x2c, 0x95, 0x4e, + 0x3f, 0x99, 0x68, 0x57, 0x2e, 0x6f, 0x60, 0x88, 0x4c, 0x91, 0xd2, 0x27, 0x21, 0xc3, 0x52, 0x34, + 0x66, 0x78, 0x22, 0x19, 0x03, 0xde, 0x4b, 0x32, 0xc1, 0x49, 0x0f, 0x42, 0x1e, 0xff, 0x4b, 0x63, + 0x63, 0x9c, 0xd8, 0x9c, 0xc3, 0x02, 0x1c, 0x17, 0xd2, 0x3c, 0xe4, 0xc8, 0x36, 0xe9, 0x20, 0x5e, + 0xda, 0xfc, 0x67, 0x1c, 0x58, 0x1d, 0xb4, 0xa7, 0xf6, 0x0d, 0x4f, 0xb9, 0xa6, 0x1a, 0x7d, 0x44, + 0x02, 0x3e, 0x2f, 0x17, 0x99, 0xf0, 0x33, 0x58, 0x26, 0x9d, 0x80, 0x02, 0xdd, 0x55, 0xba, 0xd9, + 0x41, 0x2f, 0x93, 0xec, 0x99, 0x95, 0xe9, 0x46, 0x5b, 0xc7, 0x12, 0xfc, 0xfa, 0x2b, 0xae, 0x65, + 0xf2, 0xd0, 0x24, 0xaf, 0xc0, 0x02, 0xf2, 0xfa, 0xf3, 0xd1, 0xc4, 0xfd, 0xd0, 0xe8, 0xe9, 0x45, + 0x63, 0xaa, 0xf2, 0x9d, 0x14, 0x64, 0x48, 0xbe, 0x98, 0x82, 0xc2, 0xce, 0x8b, 0xdb, 0x0d, 0x65, + 0xb5, 0xd9, 0x5e, 0xd9, 0x68, 0x88, 0x82, 0x54, 0x02, 0x20, 0x82, 0x4b, 0x1b, 0xcd, 0xda, 0x8e, + 0x98, 0xf2, 0x9f, 0xd7, 0xb7, 0x76, 0xce, 0x9d, 0x11, 0xd3, 0x3e, 0xa0, 0x4d, 0x05, 0x99, 0xa0, + 0xc2, 0xd3, 0xa7, 0xc5, 0xac, 0x24, 0x42, 0x91, 0x12, 0xac, 0xbf, 0xd0, 0x58, 0x3d, 0x77, 0x46, + 0x1c, 0x0f, 0x4b, 0x9e, 0x3e, 0x2d, 0x4e, 0x48, 0x93, 0x90, 0x27, 0x92, 0x95, 0x66, 0x73, 0x43, + 0xcc, 0xf9, 0x9c, 0xad, 0x1d, 0x79, 0x7d, 0x6b, 0x4d, 0xcc, 0xfb, 0x9c, 0x6b, 0x72, 0xb3, 0xbd, + 0x2d, 0x82, 0xcf, 0xb0, 0xd9, 0x68, 0xb5, 0x6a, 0x6b, 0x0d, 0xb1, 0xe0, 0x6b, 0xac, 0xbc, 0xb8, + 0xd3, 0x68, 0x89, 0xc5, 0x90, 0x59, 0x4f, 0x9f, 0x16, 0x27, 0xfd, 0x57, 0x34, 0xb6, 0xda, 0x9b, + 0x62, 0x49, 0x9a, 0x86, 0x49, 0xfa, 0x0a, 0x6e, 0xc4, 0x54, 0x44, 0x74, 0xee, 0x8c, 0x28, 0x0e, + 0x0c, 0xa1, 0x2c, 0xd3, 0x21, 0xc1, 0xb9, 0x33, 0xa2, 0x54, 0xa9, 0x43, 0x96, 0x44, 0x97, 0x24, + 0x41, 0x69, 0xa3, 0xb6, 0xd2, 0xd8, 0x50, 0x9a, 0xdb, 0x3b, 0xeb, 0xcd, 0xad, 0xda, 0x86, 0x28, + 0x0c, 0x64, 0x72, 0xe3, 0xd3, 0xed, 0x75, 0xb9, 0xb1, 0x2a, 0xa6, 0x82, 0xb2, 0xed, 0x46, 0x6d, + 0xa7, 0xb1, 0x2a, 0xa6, 0x2b, 0x1a, 0xcc, 0x8e, 0xca, 0x93, 0x23, 0x77, 0x46, 0x60, 0x89, 0x53, + 0x87, 0x2c, 0x31, 0xe1, 0x1a, 0x5a, 0xe2, 0x7f, 0x4e, 0xc1, 0xcc, 0x88, 0x5a, 0x31, 0xf2, 0x25, + 0xcf, 0x42, 0x96, 0x86, 0x28, 0xad, 0x9e, 0x8f, 0x8f, 0x2c, 0x3a, 0x24, 0x60, 0x87, 0x2a, 0x28, + 0xc1, 0x05, 0x3b, 0x88, 0xf4, 0x21, 0x1d, 0x04, 0xa6, 0x18, 0xca, 0xe9, 0x3f, 0x3d, 0x94, 0xd3, + 0x69, 0xd9, 0x3b, 0x97, 0xa4, 0xec, 0x11, 0xd9, 0xd1, 0x72, 0x7b, 0x76, 0x44, 0x6e, 0xbf, 0x08, + 0xd3, 0x43, 0x44, 0x89, 0x73, 0xec, 0x2b, 0x02, 0x94, 0x0f, 0x73, 0x4e, 0x4c, 0xa6, 0x4b, 0x85, + 0x32, 0xdd, 0xc5, 0xa8, 0x07, 0x4f, 0x1e, 0xbe, 0x08, 0x43, 0x6b, 0xfd, 0x86, 0x00, 0x73, 0xa3, + 0x3b, 0xc5, 0x91, 0x36, 0x7c, 0x12, 0xc6, 0x7b, 0xc8, 0xdb, 0xb7, 0x78, 0xb7, 0xf4, 0xd1, 0x11, + 0x35, 0x18, 0x0f, 0x47, 0x17, 0x9b, 0xa1, 0x82, 0x45, 0x3c, 0x7d, 0x58, 0xbb, 0x47, 0xad, 0x19, + 0xb2, 0xf4, 0xf3, 0x29, 0x78, 0x60, 0x24, 0xf9, 0x48, 0x43, 0x1f, 0x02, 0xd0, 0x4d, 0xbb, 0xef, + 0xd1, 0x8e, 0x88, 0x26, 0xd8, 0x3c, 0x91, 0x90, 0xe4, 0x85, 0x93, 0x67, 0xdf, 0xf3, 0xc7, 0xd3, + 0x64, 0x1c, 0xa8, 0x88, 0x28, 0x3c, 0x33, 0x30, 0x34, 0x43, 0x0c, 0x5d, 0x38, 0x64, 0xa6, 0x43, + 0x81, 0xf9, 0x71, 0x10, 0x35, 0x43, 0x47, 0xa6, 0xa7, 0xb8, 0x9e, 0x83, 0xd4, 0x9e, 0x6e, 0x76, + 0x49, 0x05, 0xc9, 0x55, 0xb3, 0x7b, 0xaa, 0xe1, 0x22, 0x79, 0x8a, 0x0e, 0xb7, 0xf8, 0x28, 0x46, + 0x90, 0x00, 0x72, 0x02, 0x88, 0xf1, 0x10, 0x82, 0x0e, 0xfb, 0x88, 0xca, 0xaf, 0xe6, 0xa1, 0x10, + 0xe8, 0xab, 0xa5, 0x93, 0x50, 0xbc, 0xa2, 0x5e, 0x53, 0x15, 0x7e, 0x56, 0xa2, 0x9e, 0x28, 0x60, + 0xd9, 0x36, 0x3b, 0x2f, 0x7d, 0x1c, 0x66, 0x89, 0x8a, 0xd5, 0xf7, 0x90, 0xa3, 0x68, 0x86, 0xea, + 0xba, 0xc4, 0x69, 0x39, 0xa2, 0x2a, 0xe1, 0xb1, 0x26, 0x1e, 0xaa, 0xf3, 0x11, 0xe9, 0x2c, 0xcc, + 0x10, 0x44, 0xaf, 0x6f, 0x78, 0xba, 0x6d, 0x20, 0x05, 0x9f, 0xde, 0x5c, 0x52, 0x49, 0x7c, 0xcb, + 0xa6, 0xb1, 0xc6, 0x26, 0x53, 0xc0, 0x16, 0xb9, 0xd2, 0x2a, 0x3c, 0x44, 0x60, 0x5d, 0x64, 0x22, + 0x47, 0xf5, 0x90, 0x82, 0x3e, 0xd7, 0x57, 0x0d, 0x57, 0x51, 0xcd, 0x8e, 0xb2, 0xaf, 0xba, 0xfb, + 0xe5, 0x59, 0x4c, 0xb0, 0x92, 0x2a, 0x0b, 0xf2, 0x71, 0xac, 0xb8, 0xc6, 0xf4, 0x1a, 0x44, 0xad, + 0x66, 0x76, 0x9e, 0x53, 0xdd, 0x7d, 0xa9, 0x0a, 0x73, 0x84, 0xc5, 0xf5, 0x1c, 0xdd, 0xec, 0x2a, + 0xda, 0x3e, 0xd2, 0xae, 0x2a, 0x7d, 0x6f, 0xef, 0x99, 0xf2, 0x83, 0xc1, 0xf7, 0x13, 0x0b, 0x5b, + 0x44, 0xa7, 0x8e, 0x55, 0xda, 0xde, 0xde, 0x33, 0x52, 0x0b, 0x8a, 0x78, 0x31, 0x7a, 0xfa, 0x0d, + 0xa4, 0xec, 0x59, 0x0e, 0x29, 0x8d, 0xa5, 0x11, 0xa9, 0x29, 0xe0, 0xc1, 0xe5, 0x26, 0x03, 0x6c, + 0x5a, 0x1d, 0x54, 0xcd, 0xb6, 0xb6, 0x1b, 0x8d, 0x55, 0xb9, 0xc0, 0x59, 0x2e, 0x59, 0x0e, 0x0e, + 0xa8, 0xae, 0xe5, 0x3b, 0xb8, 0x40, 0x03, 0xaa, 0x6b, 0x71, 0xf7, 0x9e, 0x85, 0x19, 0x4d, 0xa3, + 0x73, 0xd6, 0x35, 0x85, 0x9d, 0xb1, 0xdc, 0xb2, 0x18, 0x72, 0x96, 0xa6, 0xad, 0x51, 0x05, 0x16, + 0xe3, 0xae, 0x74, 0x01, 0x1e, 0x18, 0x38, 0x2b, 0x08, 0x9c, 0x1e, 0x9a, 0x65, 0x14, 0x7a, 0x16, + 0x66, 0xec, 0x83, 0x61, 0xa0, 0x14, 0x7a, 0xa3, 0x7d, 0x10, 0x85, 0x9d, 0x87, 0x59, 0x7b, 0xdf, + 0x1e, 0xc6, 0x3d, 0x11, 0xc4, 0x49, 0xf6, 0xbe, 0x1d, 0x05, 0x3e, 0x4a, 0x0e, 0xdc, 0x0e, 0xd2, + 0x54, 0x0f, 0x75, 0xca, 0xc7, 0x82, 0xea, 0x81, 0x01, 0xe9, 0x14, 0x88, 0x9a, 0xa6, 0x20, 0x53, + 0xdd, 0x35, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xf2, 0x89, 0xa0, 0x72, 0x49, 0xd3, 0x1a, 0x64, + 0xb4, 0x46, 0x06, 0xa5, 0x27, 0x60, 0xda, 0xda, 0xbd, 0xa2, 0xd1, 0x90, 0x54, 0x6c, 0x07, 0xed, + 0xe9, 0x2f, 0x97, 0x1f, 0x21, 0xfe, 0x9d, 0xc2, 0x03, 0x24, 0x20, 0xb7, 0x89, 0x58, 0x7a, 0x1c, + 0x44, 0xcd, 0xdd, 0x57, 0x1d, 0x9b, 0xe4, 0x64, 0xd7, 0x56, 0x35, 0x54, 0x7e, 0x94, 0xaa, 0x52, + 0xf9, 0x16, 0x17, 0xe3, 0x2d, 0xe1, 0x5e, 0xd7, 0xf7, 0x3c, 0xce, 0xf8, 0x18, 0xdd, 0x12, 0x44, + 0xc6, 0xd8, 0x96, 0x40, 0xc4, 0xae, 0x08, 0xbd, 0x78, 0x89, 0xa8, 0x95, 0xec, 0x7d, 0x3b, 0xf8, + 0xde, 0x87, 0x61, 0x12, 0x6b, 0x0e, 0x5e, 0xfa, 0x38, 0x6d, 0xc8, 0xec, 0xfd, 0xc0, 0x1b, 0xcf, + 0xc0, 0x1c, 0x56, 0xea, 0x21, 0x4f, 0xed, 0xa8, 0x9e, 0x1a, 0xd0, 0xfe, 0x18, 0xd1, 0xc6, 0x7e, + 0xdf, 0x64, 0x83, 0x21, 0x3b, 0x9d, 0xfe, 0xee, 0x81, 0x1f, 0x59, 0x4f, 0x51, 0x3b, 0xb1, 0x8c, + 0xc7, 0xd6, 0xfb, 0xd6, 0x74, 0x57, 0xaa, 0x50, 0x0c, 0x06, 0xbe, 0x94, 0x07, 0x1a, 0xfa, 0xa2, + 0x80, 0xbb, 0xa0, 0x7a, 0x73, 0x15, 0xf7, 0x2f, 0x2f, 0x35, 0xc4, 0x14, 0xee, 0xa3, 0x36, 0xd6, + 0x77, 0x1a, 0x8a, 0xdc, 0xde, 0xda, 0x59, 0xdf, 0x6c, 0x88, 0xe9, 0x60, 0xc3, 0xfe, 0x83, 0x14, + 0x94, 0xc2, 0x67, 0x2f, 0xe9, 0x27, 0xe1, 0x18, 0xbf, 0x28, 0x71, 0x91, 0xa7, 0x5c, 0xd7, 0x1d, + 0xb2, 0x17, 0x7b, 0x2a, 0xad, 0x8b, 0x7e, 0x34, 0xcc, 0x32, 0xad, 0x16, 0xf2, 0x9e, 0xd7, 0x1d, + 0xbc, 0xd3, 0x7a, 0xaa, 0x27, 0x6d, 0xc0, 0x09, 0xd3, 0x52, 0x5c, 0x4f, 0x35, 0x3b, 0xaa, 0xd3, + 0x51, 0x06, 0x57, 0x54, 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0x03, 0x7d, 0x96, 0x8f, 0x98, + 0x56, 0x8b, 0x29, 0x0f, 0x8a, 0x43, 0x8d, 0xa9, 0x46, 0x22, 0x37, 0x7d, 0x58, 0xe4, 0x3e, 0x08, + 0xf9, 0x9e, 0x6a, 0x2b, 0xc8, 0xf4, 0x9c, 0x03, 0xd2, 0x71, 0xe7, 0xe4, 0x5c, 0x4f, 0xb5, 0x1b, + 0xf8, 0xf9, 0x83, 0x39, 0xf8, 0xfc, 0x53, 0x1a, 0x8a, 0xc1, 0xae, 0x1b, 0x1f, 0x62, 0x34, 0x52, + 0xa0, 0x04, 0x92, 0xc2, 0x1e, 0xbe, 0x6f, 0x8f, 0xbe, 0x5c, 0xc7, 0x95, 0xab, 0x3a, 0x4e, 0x7b, + 0x61, 0x99, 0x22, 0x71, 0xd7, 0x80, 0x43, 0x0b, 0xd1, 0xde, 0x23, 0x27, 0xb3, 0x27, 0x69, 0x0d, + 0xc6, 0xaf, 0xb8, 0x84, 0x7b, 0x9c, 0x70, 0x3f, 0x72, 0x7f, 0xee, 0xcb, 0x2d, 0x42, 0x9e, 0xbf, + 0xdc, 0x52, 0xb6, 0x9a, 0xf2, 0x66, 0x6d, 0x43, 0x66, 0x70, 0xe9, 0x38, 0x64, 0x0c, 0xf5, 0xc6, + 0x41, 0xb8, 0xc6, 0x11, 0x51, 0x52, 0xc7, 0x1f, 0x87, 0xcc, 0x75, 0xa4, 0x5e, 0x0d, 0x57, 0x16, + 0x22, 0x7a, 0x1f, 0x43, 0xff, 0x14, 0x64, 0x89, 0xbf, 0x24, 0x00, 0xe6, 0x31, 0x71, 0x4c, 0xca, + 0x41, 0xa6, 0xde, 0x94, 0x71, 0xf8, 0x8b, 0x50, 0xa4, 0x52, 0x65, 0x7b, 0xbd, 0x51, 0x6f, 0x88, + 0xa9, 0xca, 0x59, 0x18, 0xa7, 0x4e, 0xc0, 0x5b, 0xc3, 0x77, 0x83, 0x38, 0xc6, 0x1e, 0x19, 0x87, + 0xc0, 0x47, 0xdb, 0x9b, 0x2b, 0x0d, 0x59, 0x4c, 0x05, 0x97, 0xd7, 0x85, 0x62, 0xb0, 0xe1, 0xfe, + 0x60, 0x62, 0xea, 0xfb, 0x02, 0x14, 0x02, 0x0d, 0x34, 0xee, 0x7c, 0x54, 0xc3, 0xb0, 0xae, 0x2b, + 0xaa, 0xa1, 0xab, 0x2e, 0x0b, 0x0a, 0x20, 0xa2, 0x1a, 0x96, 0x24, 0x5d, 0xb4, 0x0f, 0xc4, 0xf8, + 0xd7, 0x05, 0x10, 0xa3, 0xbd, 0x6b, 0xc4, 0x40, 0xe1, 0x43, 0x35, 0xf0, 0x35, 0x01, 0x4a, 0xe1, + 0x86, 0x35, 0x62, 0xde, 0xc9, 0x0f, 0xd5, 0xbc, 0xb7, 0x53, 0x30, 0x19, 0x6a, 0x53, 0x93, 0x5a, + 0xf7, 0x39, 0x98, 0xd6, 0x3b, 0xa8, 0x67, 0x5b, 0x1e, 0x32, 0xb5, 0x03, 0xc5, 0x40, 0xd7, 0x90, + 0x51, 0xae, 0x90, 0x44, 0x71, 0xea, 0xfe, 0x8d, 0xf0, 0xf2, 0xfa, 0x00, 0xb7, 0x81, 0x61, 0xd5, + 0x99, 0xf5, 0xd5, 0xc6, 0xe6, 0x76, 0x73, 0xa7, 0xb1, 0x55, 0x7f, 0x51, 0x69, 0x6f, 0xfd, 0xd4, + 0x56, 0xf3, 0xf9, 0x2d, 0x59, 0xd4, 0x23, 0x6a, 0xef, 0xe3, 0x56, 0xdf, 0x06, 0x31, 0x6a, 0x94, + 0x74, 0x0c, 0x46, 0x99, 0x25, 0x8e, 0x49, 0x33, 0x30, 0xb5, 0xd5, 0x54, 0x5a, 0xeb, 0xab, 0x0d, + 0xa5, 0x71, 0xe9, 0x52, 0xa3, 0xbe, 0xd3, 0xa2, 0x57, 0x1b, 0xbe, 0xf6, 0x4e, 0x78, 0x53, 0xbf, + 0x9a, 0x86, 0x99, 0x11, 0x96, 0x48, 0x35, 0x76, 0x28, 0xa1, 0xe7, 0xa4, 0xa7, 0x92, 0x58, 0xbf, + 0x8c, 0xbb, 0x82, 0x6d, 0xd5, 0xf1, 0xd8, 0x19, 0xe6, 0x71, 0xc0, 0x5e, 0x32, 0x3d, 0x7d, 0x4f, + 0x47, 0x0e, 0xbb, 0x09, 0xa2, 0x27, 0x95, 0xa9, 0x81, 0x9c, 0x5e, 0x06, 0x7d, 0x0c, 0x24, 0xdb, + 0x72, 0x75, 0x4f, 0xbf, 0x86, 0x14, 0xdd, 0xe4, 0xd7, 0x46, 0xf8, 0xe4, 0x92, 0x91, 0x45, 0x3e, + 0xb2, 0x6e, 0x7a, 0xbe, 0xb6, 0x89, 0xba, 0x6a, 0x44, 0x1b, 0x27, 0xf0, 0xb4, 0x2c, 0xf2, 0x11, + 0x5f, 0xfb, 0x24, 0x14, 0x3b, 0x56, 0x1f, 0xb7, 0x73, 0x54, 0x0f, 0xd7, 0x0b, 0x41, 0x2e, 0x50, + 0x99, 0xaf, 0xc2, 0x1a, 0xf5, 0xc1, 0x7d, 0x55, 0x51, 0x2e, 0x50, 0x19, 0x55, 0x79, 0x0c, 0xa6, + 0xd4, 0x6e, 0xd7, 0xc1, 0xe4, 0x9c, 0x88, 0x1e, 0x3d, 0x4a, 0xbe, 0x98, 0x28, 0xce, 0x5f, 0x86, + 0x1c, 0xf7, 0x03, 0x2e, 0xc9, 0xd8, 0x13, 0x8a, 0x4d, 0xcf, 0xd3, 0xa9, 0xa5, 0xbc, 0x9c, 0x33, + 0xf9, 0xe0, 0x49, 0x28, 0xea, 0xae, 0x32, 0xb8, 0x7e, 0x4f, 0x2d, 0xa6, 0x96, 0x72, 0x72, 0x41, + 0x77, 0xfd, 0xab, 0xcb, 0xca, 0x1b, 0x29, 0x28, 0x85, 0x3f, 0x1f, 0x48, 0xab, 0x90, 0x33, 0x2c, + 0x4d, 0x25, 0xa1, 0x45, 0xbf, 0x5d, 0x2d, 0xc5, 0x7c, 0x71, 0x58, 0xde, 0x60, 0xfa, 0xb2, 0x8f, + 0x9c, 0xff, 0x07, 0x01, 0x72, 0x5c, 0x2c, 0xcd, 0x41, 0xc6, 0x56, 0xbd, 0x7d, 0x42, 0x97, 0x5d, + 0x49, 0x89, 0x82, 0x4c, 0x9e, 0xb1, 0xdc, 0xb5, 0x55, 0x93, 0x84, 0x00, 0x93, 0xe3, 0x67, 0xbc, + 0xae, 0x06, 0x52, 0x3b, 0xe4, 0x5c, 0x63, 0xf5, 0x7a, 0xc8, 0xf4, 0x5c, 0xbe, 0xae, 0x4c, 0x5e, + 0x67, 0x62, 0xe9, 0x49, 0x98, 0xf6, 0x1c, 0x55, 0x37, 0x42, 0xba, 0x19, 0xa2, 0x2b, 0xf2, 0x01, + 0x5f, 0xb9, 0x0a, 0xc7, 0x39, 0x6f, 0x07, 0x79, 0xaa, 0xb6, 0x8f, 0x3a, 0x03, 0xd0, 0x38, 0xb9, + 0xbf, 0x38, 0xc6, 0x14, 0x56, 0xd9, 0x38, 0xc7, 0x56, 0x7e, 0x28, 0xc0, 0x34, 0x3f, 0x89, 0x75, + 0x7c, 0x67, 0x6d, 0x02, 0xa8, 0xa6, 0x69, 0x79, 0x41, 0x77, 0x0d, 0x87, 0xf2, 0x10, 0x6e, 0xb9, + 0xe6, 0x83, 0xe4, 0x00, 0xc1, 0x7c, 0x0f, 0x60, 0x30, 0x72, 0xa8, 0xdb, 0x4e, 0x40, 0x81, 0x7d, + 0x1b, 0x22, 0x1f, 0x18, 0xe9, 0xd9, 0x1d, 0xa8, 0x08, 0x1f, 0xd9, 0xa4, 0x59, 0xc8, 0xee, 0xa2, + 0xae, 0x6e, 0xb2, 0x1b, 0x5f, 0xfa, 0xc0, 0x6f, 0x58, 0x32, 0xfe, 0x0d, 0xcb, 0xca, 0x67, 0x61, + 0x46, 0xb3, 0x7a, 0x51, 0x73, 0x57, 0xc4, 0xc8, 0xfd, 0x81, 0xfb, 0x9c, 0xf0, 0x12, 0x0c, 0x5a, + 0xcc, 0x1f, 0x0b, 0xc2, 0xd7, 0x52, 0xe9, 0xb5, 0xed, 0x95, 0x6f, 0xa6, 0xe6, 0xd7, 0x28, 0x74, + 0x9b, 0xcf, 0x54, 0x46, 0x7b, 0x06, 0xd2, 0xb0, 0xf5, 0xf0, 0xf5, 0x27, 0xe1, 0xa9, 0xae, 0xee, + 0xed, 0xf7, 0x77, 0x97, 0x35, 0xab, 0x77, 0xaa, 0x6b, 0x75, 0xad, 0xc1, 0x37, 0x55, 0xfc, 0x44, + 0x1e, 0xc8, 0x5f, 0xec, 0xbb, 0x6a, 0xde, 0x97, 0xce, 0xc7, 0x7e, 0x84, 0xad, 0x6e, 0xc1, 0x0c, + 0x53, 0x56, 0xc8, 0x87, 0x1d, 0x7a, 0x3c, 0x91, 0xee, 0x7b, 0x39, 0x56, 0xfe, 0xf6, 0x3b, 0xa4, + 0x5c, 0xcb, 0xd3, 0x0c, 0x8a, 0xc7, 0xe8, 0x09, 0xa6, 0x2a, 0xc3, 0x03, 0x21, 0x3e, 0xba, 0x35, + 0x91, 0x13, 0xc3, 0xf8, 0x03, 0xc6, 0x38, 0x13, 0x60, 0x6c, 0x31, 0x68, 0xb5, 0x0e, 0x93, 0x47, + 0xe1, 0xfa, 0x3b, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x35, 0x98, 0x22, 0x24, 0x5a, 0xdf, 0xf5, 0xac, + 0x1e, 0xc9, 0x7b, 0xf7, 0xa7, 0xf9, 0xfb, 0x77, 0xe8, 0x5e, 0x29, 0x61, 0x58, 0xdd, 0x47, 0x55, + 0xab, 0x40, 0xbe, 0x65, 0x75, 0x90, 0x66, 0xc4, 0x30, 0xbc, 0xc9, 0x0c, 0xf1, 0xf5, 0xab, 0x9f, + 0x81, 0x59, 0xfc, 0x37, 0x49, 0x4b, 0x41, 0x4b, 0xe2, 0x6f, 0xd2, 0xca, 0x3f, 0x7c, 0x85, 0x6e, + 0xc7, 0x19, 0x9f, 0x20, 0x60, 0x53, 0x60, 0x15, 0xbb, 0xc8, 0xf3, 0x90, 0xe3, 0x2a, 0xaa, 0x31, + 0xca, 0xbc, 0xc0, 0x55, 0x44, 0xf9, 0xcb, 0xef, 0x86, 0x57, 0x71, 0x8d, 0x22, 0x6b, 0x86, 0x51, + 0x6d, 0xc3, 0xb1, 0x11, 0x51, 0x91, 0x80, 0xf3, 0x55, 0xc6, 0x39, 0x3b, 0x14, 0x19, 0x98, 0x76, + 0x1b, 0xb8, 0xdc, 0x5f, 0xcb, 0x04, 0x9c, 0xbf, 0xcb, 0x38, 0x25, 0x86, 0xe5, 0x4b, 0x8a, 0x19, + 0x2f, 0xc3, 0xf4, 0x35, 0xe4, 0xec, 0x5a, 0x2e, 0xbb, 0xfe, 0x49, 0x40, 0xf7, 0x1a, 0xa3, 0x9b, + 0x62, 0x40, 0x72, 0x1f, 0x84, 0xb9, 0x2e, 0x40, 0x6e, 0x4f, 0xd5, 0x50, 0x02, 0x8a, 0xaf, 0x30, + 0x8a, 0x09, 0xac, 0x8f, 0xa1, 0x35, 0x28, 0x76, 0x2d, 0x56, 0x99, 0xe2, 0xe1, 0xaf, 0x33, 0x78, + 0x81, 0x63, 0x18, 0x85, 0x6d, 0xd9, 0x7d, 0x03, 0x97, 0xad, 0x78, 0x8a, 0xdf, 0xe3, 0x14, 0x1c, + 0xc3, 0x28, 0x8e, 0xe0, 0xd6, 0xaf, 0x72, 0x0a, 0x37, 0xe0, 0xcf, 0x67, 0xa1, 0x60, 0x99, 0xc6, + 0x81, 0x65, 0x26, 0x31, 0xe2, 0x16, 0x63, 0x00, 0x06, 0xc1, 0x04, 0x17, 0x21, 0x9f, 0x74, 0x21, + 0xfe, 0xe0, 0x5d, 0xbe, 0x3d, 0xf8, 0x0a, 0xac, 0xc1, 0x14, 0x4f, 0x50, 0xba, 0x65, 0x26, 0xa0, + 0xf8, 0x3a, 0xa3, 0x28, 0x05, 0x60, 0x6c, 0x1a, 0x1e, 0x72, 0xbd, 0x2e, 0x4a, 0x42, 0xf2, 0x06, + 0x9f, 0x06, 0x83, 0x30, 0x57, 0xee, 0x22, 0x53, 0xdb, 0x4f, 0xc6, 0xf0, 0x0d, 0xee, 0x4a, 0x8e, + 0xc1, 0x14, 0x75, 0x98, 0xec, 0xa9, 0x8e, 0xbb, 0xaf, 0x1a, 0x89, 0x96, 0xe3, 0x0f, 0x19, 0x47, + 0xd1, 0x07, 0x31, 0x8f, 0xf4, 0xcd, 0xa3, 0xd0, 0x7c, 0x93, 0x7b, 0x24, 0x00, 0x63, 0x5b, 0xcf, + 0xf5, 0xc8, 0x5d, 0xd9, 0x51, 0xd8, 0xfe, 0x88, 0x6f, 0x3d, 0x8a, 0xdd, 0x0c, 0x32, 0x5e, 0x84, + 0xbc, 0xab, 0xdf, 0x48, 0x44, 0xf3, 0xc7, 0x7c, 0xa5, 0x09, 0x00, 0x83, 0x5f, 0x84, 0xe3, 0x23, + 0xcb, 0x44, 0x02, 0xb2, 0x3f, 0x61, 0x64, 0x73, 0x23, 0x4a, 0x05, 0x4b, 0x09, 0x47, 0xa5, 0xfc, + 0x53, 0x9e, 0x12, 0x50, 0x84, 0x6b, 0x1b, 0x9f, 0x15, 0x5c, 0x75, 0xef, 0x68, 0x5e, 0xfb, 0x33, + 0xee, 0x35, 0x8a, 0x0d, 0x79, 0x6d, 0x07, 0xe6, 0x18, 0xe3, 0xd1, 0xd6, 0xf5, 0x5b, 0x3c, 0xb1, + 0x52, 0x74, 0x3b, 0xbc, 0xba, 0x9f, 0x85, 0x79, 0xdf, 0x9d, 0xbc, 0x29, 0x75, 0x95, 0x9e, 0x6a, + 0x27, 0x60, 0xfe, 0x36, 0x63, 0xe6, 0x19, 0xdf, 0xef, 0x6a, 0xdd, 0x4d, 0xd5, 0xc6, 0xe4, 0x2f, + 0x40, 0x99, 0x93, 0xf7, 0x4d, 0x07, 0x69, 0x56, 0xd7, 0xd4, 0x6f, 0xa0, 0x4e, 0x02, 0xea, 0x3f, + 0x8f, 0x2c, 0x55, 0x3b, 0x00, 0xc7, 0xcc, 0xeb, 0x20, 0xfa, 0xbd, 0x8a, 0xa2, 0xf7, 0x6c, 0xcb, + 0xf1, 0x62, 0x18, 0xff, 0x82, 0xaf, 0x94, 0x8f, 0x5b, 0x27, 0xb0, 0x6a, 0x03, 0x4a, 0xe4, 0x31, + 0x69, 0x48, 0xfe, 0x25, 0x23, 0x9a, 0x1c, 0xa0, 0x58, 0xe2, 0xd0, 0xac, 0x9e, 0xad, 0x3a, 0x49, + 0xf2, 0xdf, 0x5f, 0xf1, 0xc4, 0xc1, 0x20, 0x2c, 0x71, 0x78, 0x07, 0x36, 0xc2, 0xd5, 0x3e, 0x01, + 0xc3, 0x77, 0x78, 0xe2, 0xe0, 0x18, 0x46, 0xc1, 0x1b, 0x86, 0x04, 0x14, 0x7f, 0xcd, 0x29, 0x38, + 0x06, 0x53, 0x7c, 0x7a, 0x50, 0x68, 0x1d, 0xd4, 0xd5, 0x5d, 0xcf, 0xa1, 0xad, 0xf0, 0xfd, 0xa9, + 0xbe, 0xfb, 0x6e, 0xb8, 0x09, 0x93, 0x03, 0x50, 0x9c, 0x89, 0xd8, 0x15, 0x2a, 0x39, 0x29, 0xc5, + 0x1b, 0xf6, 0x3d, 0x9e, 0x89, 0x02, 0x30, 0x6c, 0x5b, 0xa0, 0x43, 0xc4, 0x6e, 0xd7, 0xf0, 0xf9, + 0x20, 0x01, 0xdd, 0xf7, 0x23, 0xc6, 0xb5, 0x38, 0x16, 0x73, 0x06, 0xfa, 0x9f, 0xbe, 0x79, 0x15, + 0x1d, 0x24, 0x8a, 0xce, 0xbf, 0x89, 0xf4, 0x3f, 0x6d, 0x8a, 0xa4, 0x39, 0x64, 0x2a, 0xd2, 0x4f, + 0x49, 0x71, 0xbf, 0x02, 0x2a, 0xff, 0xdc, 0x5d, 0x36, 0xdf, 0x70, 0x3b, 0x55, 0xdd, 0xc0, 0x41, + 0x1e, 0x6e, 0x7a, 0xe2, 0xc9, 0x5e, 0xb9, 0xeb, 0xc7, 0x79, 0xa8, 0xe7, 0xa9, 0x5e, 0x82, 0xc9, + 0x50, 0xc3, 0x13, 0x4f, 0xf5, 0xf3, 0x8c, 0xaa, 0x18, 0xec, 0x77, 0xaa, 0x67, 0x21, 0x83, 0x9b, + 0x97, 0x78, 0xf8, 0x2f, 0x30, 0x38, 0x51, 0xaf, 0x7e, 0x02, 0x72, 0xbc, 0x69, 0x89, 0x87, 0xfe, + 0x22, 0x83, 0xfa, 0x10, 0x0c, 0xe7, 0x0d, 0x4b, 0x3c, 0xfc, 0x97, 0x38, 0x9c, 0x43, 0x30, 0x3c, + 0xb9, 0x0b, 0xff, 0xf6, 0x57, 0x32, 0xac, 0xe8, 0x70, 0xdf, 0x5d, 0x84, 0x09, 0xd6, 0xa9, 0xc4, + 0xa3, 0x3f, 0xcf, 0x5e, 0xce, 0x11, 0xd5, 0xf3, 0x90, 0x4d, 0xe8, 0xf0, 0x5f, 0x63, 0x50, 0xaa, + 0x5f, 0xad, 0x43, 0x21, 0xd0, 0x9d, 0xc4, 0xc3, 0x7f, 0x9d, 0xc1, 0x83, 0x28, 0x6c, 0x3a, 0xeb, + 0x4e, 0xe2, 0x09, 0x7e, 0x83, 0x9b, 0xce, 0x10, 0xd8, 0x6d, 0xbc, 0x31, 0x89, 0x47, 0x7f, 0x81, + 0x7b, 0x9d, 0x43, 0xaa, 0xcf, 0x42, 0xde, 0x2f, 0x36, 0xf1, 0xf8, 0xdf, 0x64, 0xf8, 0x01, 0x06, + 0x7b, 0x20, 0x50, 0xec, 0xe2, 0x29, 0x7e, 0x8b, 0x7b, 0x20, 0x80, 0xc2, 0xdb, 0x28, 0xda, 0xc0, + 0xc4, 0x33, 0x7d, 0x91, 0x6f, 0xa3, 0x48, 0xff, 0x82, 0x57, 0x93, 0xe4, 0xfc, 0x78, 0x8a, 0xdf, + 0xe6, 0xab, 0x49, 0xf4, 0xb1, 0x19, 0xd1, 0x8e, 0x20, 0x9e, 0xe3, 0x77, 0xb8, 0x19, 0x91, 0x86, + 0xa0, 0xba, 0x0d, 0xd2, 0x70, 0x37, 0x10, 0xcf, 0xf7, 0x25, 0xc6, 0x37, 0x3d, 0xd4, 0x0c, 0x54, + 0x9f, 0x87, 0xb9, 0xd1, 0x9d, 0x40, 0x3c, 0xeb, 0x97, 0xef, 0x46, 0xce, 0x6e, 0xc1, 0x46, 0xa0, + 0xba, 0x33, 0x28, 0x29, 0xc1, 0x2e, 0x20, 0x9e, 0xf6, 0xd5, 0xbb, 0xe1, 0xc4, 0x1d, 0x6c, 0x02, + 0xaa, 0x35, 0x80, 0x41, 0x01, 0x8e, 0xe7, 0x7a, 0x8d, 0x71, 0x05, 0x40, 0x78, 0x6b, 0xb0, 0xfa, + 0x1b, 0x8f, 0xff, 0x0a, 0xdf, 0x1a, 0x0c, 0x81, 0xb7, 0x06, 0x2f, 0xbd, 0xf1, 0xe8, 0xd7, 0xf9, + 0xd6, 0xe0, 0x10, 0x1c, 0xd9, 0x81, 0xea, 0x16, 0xcf, 0x70, 0x8b, 0x47, 0x76, 0x00, 0x55, 0xdd, + 0x82, 0xe9, 0xa1, 0x82, 0x18, 0x4f, 0xf5, 0x35, 0x46, 0x25, 0x46, 0xeb, 0x61, 0xb0, 0x78, 0xb1, + 0x62, 0x18, 0xcf, 0xf6, 0xfb, 0x91, 0xe2, 0xc5, 0x6a, 0x61, 0xf5, 0x22, 0xe4, 0xcc, 0xbe, 0x61, + 0xe0, 0xcd, 0x23, 0xdd, 0xff, 0x97, 0x7b, 0xe5, 0x7f, 0xbb, 0xc7, 0xbc, 0xc3, 0x01, 0xd5, 0xb3, + 0x90, 0x45, 0xbd, 0x5d, 0xd4, 0x89, 0x43, 0xfe, 0xfb, 0x3d, 0x9e, 0x30, 0xb1, 0x76, 0xf5, 0x59, + 0x00, 0x7a, 0x35, 0x42, 0x3e, 0xfb, 0xc5, 0x60, 0xff, 0xe3, 0x1e, 0xfb, 0x4d, 0xcd, 0x00, 0x32, + 0x20, 0xa0, 0xbf, 0xd0, 0xb9, 0x3f, 0xc1, 0xbb, 0x61, 0x02, 0xb2, 0x22, 0x17, 0x60, 0xe2, 0x8a, + 0x6b, 0x99, 0x9e, 0xda, 0x8d, 0x43, 0xff, 0x27, 0x43, 0x73, 0x7d, 0xec, 0xb0, 0x9e, 0xe5, 0x20, + 0x4f, 0xed, 0xba, 0x71, 0xd8, 0xff, 0x62, 0x58, 0x1f, 0x80, 0xc1, 0x9a, 0xea, 0x7a, 0x49, 0xe6, + 0xfd, 0xdf, 0x1c, 0xcc, 0x01, 0xd8, 0x68, 0xfc, 0xf7, 0x55, 0x74, 0x10, 0x87, 0xfd, 0x11, 0x37, + 0x9a, 0xe9, 0x57, 0x3f, 0x01, 0x79, 0xfc, 0x27, 0xfd, 0xa1, 0x5c, 0x0c, 0xf8, 0x7f, 0x18, 0x78, + 0x80, 0xc0, 0x6f, 0x76, 0xbd, 0x8e, 0xa7, 0xc7, 0x3b, 0xfb, 0x7f, 0xd9, 0x4a, 0x73, 0xfd, 0x6a, + 0x0d, 0x0a, 0xae, 0xd7, 0xe9, 0xf4, 0x59, 0x7f, 0x1a, 0x03, 0xff, 0xbf, 0x7b, 0xfe, 0x95, 0x85, + 0x8f, 0xc1, 0xab, 0x7d, 0xfd, 0xaa, 0x67, 0x5b, 0xe4, 0x33, 0x47, 0x1c, 0xc3, 0x5d, 0xc6, 0x10, + 0x80, 0xac, 0x34, 0x46, 0x5f, 0xdf, 0xc2, 0x9a, 0xb5, 0x66, 0xd1, 0x8b, 0xdb, 0x97, 0x2a, 0xf1, + 0x37, 0xb0, 0x70, 0x6f, 0x02, 0x27, 0xf3, 0x41, 0x6e, 0x63, 0xb7, 0xb1, 0xc5, 0xa0, 0x6c, 0xfe, + 0x68, 0x57, 0xb9, 0x95, 0x4f, 0x81, 0x50, 0x93, 0xe6, 0x60, 0x9c, 0xcc, 0xe1, 0x27, 0xc8, 0x15, + 0x75, 0x5a, 0x66, 0x4f, 0xd2, 0x43, 0x20, 0xac, 0xb0, 0xbb, 0xf2, 0xa9, 0xe5, 0xd0, 0x9b, 0x57, + 0x64, 0x61, 0xa5, 0x9a, 0x79, 0xeb, 0xd6, 0x89, 0xb1, 0x8a, 0x06, 0xc2, 0x0a, 0xd6, 0xac, 0x93, + 0x0f, 0x98, 0x43, 0x9a, 0x75, 0x59, 0xa8, 0xe3, 0xe1, 0x55, 0xf6, 0xd3, 0xcd, 0xc8, 0xf0, 0xaa, + 0x2c, 0xac, 0x4a, 0x8b, 0x20, 0x5c, 0x22, 0x1f, 0x6d, 0x0a, 0xa7, 0xa5, 0xf0, 0x70, 0xd3, 0xe8, + 0xd4, 0x65, 0xe1, 0x52, 0xe5, 0x41, 0x10, 0x56, 0x03, 0x66, 0x0a, 0x41, 0x33, 0x2b, 0x5f, 0x14, + 0x40, 0xa8, 0xfb, 0xa3, 0xa7, 0xc9, 0x8b, 0x04, 0x36, 0x7a, 0xda, 0x97, 0x3f, 0xcd, 0xbe, 0x4c, + 0xb0, 0x27, 0x5f, 0x7e, 0x86, 0x5c, 0xb4, 0x73, 0xfd, 0x33, 0xbe, 0xfc, 0x2c, 0xf9, 0xa1, 0x64, + 0x91, 0xc9, 0xcf, 0xfa, 0xf2, 0x73, 0xe4, 0xb3, 0x11, 0x7f, 0xfb, 0x39, 0x5f, 0x7e, 0x9e, 0xfc, + 0xd7, 0x93, 0x14, 0x93, 0x9f, 0xaf, 0x5c, 0x00, 0xa1, 0x1d, 0x32, 0x2a, 0x7d, 0xa8, 0x51, 0x93, + 0xdc, 0x28, 0xe6, 0xd2, 0xe7, 0x20, 0xd3, 0x36, 0xad, 0xcd, 0x23, 0xa3, 0xc5, 0x5f, 0xbe, 0x75, + 0x62, 0xec, 0x0b, 0xb7, 0x4e, 0x8c, 0x7d, 0xf5, 0xd6, 0x89, 0x31, 0xc2, 0x74, 0x09, 0x32, 0x4d, + 0xa3, 0x73, 0xf8, 0x0a, 0x2f, 0x0e, 0x56, 0x78, 0xd8, 0xf3, 0x81, 0x45, 0xbe, 0x4c, 0x78, 0x56, + 0xb0, 0x3e, 0x5f, 0xe7, 0x91, 0x2b, 0x55, 0x4f, 0xb0, 0x96, 0x3f, 0x4b, 0xb8, 0xea, 0x87, 0x2d, + 0xe7, 0x7b, 0x5e, 0xc8, 0xa4, 0x0b, 0x73, 0x8e, 0xbc, 0xbf, 0x1d, 0x79, 0x7f, 0x7e, 0xe4, 0xfb, + 0x03, 0x5e, 0xaf, 0xac, 0xc1, 0x04, 0xc6, 0x05, 0x17, 0x26, 0x21, 0xb4, 0x5a, 0x0c, 0x2e, 0xcc, + 0xca, 0x99, 0x37, 0x6f, 0x2f, 0x8c, 0xbd, 0x75, 0x7b, 0x61, 0xec, 0x1f, 0x6f, 0x2f, 0x8c, 0xbd, + 0x7d, 0x7b, 0x41, 0xf8, 0xd1, 0xed, 0x05, 0xe1, 0xc7, 0xb7, 0x17, 0x84, 0x9b, 0x77, 0x16, 0x84, + 0x6f, 0xdc, 0x59, 0x10, 0xbe, 0x75, 0x67, 0x41, 0xf8, 0xee, 0x9d, 0x05, 0xe1, 0xcd, 0x3b, 0x0b, + 0xc2, 0x5b, 0x77, 0x16, 0x84, 0xb7, 0xef, 0x2c, 0x08, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x4b, + 0x91, 0xe1, 0x56, 0xf2, 0x36, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -4361,35 +4395,3 @@ var ( ErrInvalidLengthUnrecognized = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowUnrecognized = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("unrecognized.proto", fileDescriptor_unrecognized_05a73f113b0c8d63) } - -var fileDescriptor_unrecognized_05a73f113b0c8d63 = []byte{ - // 414 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0xbd, 0x4e, 0xc2, 0x50, - 0x18, 0xed, 0x47, 0x0b, 0x84, 0x2b, 0x46, 0xd3, 0xc1, 0xdc, 0x68, 0xbc, 0x6d, 0x3a, 0x75, 0x11, - 0x22, 0xbf, 0x91, 0x49, 0xda, 0xa6, 0x1a, 0x13, 0x43, 0xd2, 0x84, 0x17, 0x80, 0x62, 0x25, 0x41, - 0x6a, 0x08, 0x2c, 0x0e, 0xc6, 0xd1, 0xd1, 0xc4, 0x17, 0xb0, 0x9b, 0xa3, 0xa3, 0x8f, 0xc0, 0xc8, - 0xe8, 0x48, 0xfb, 0x04, 0x8e, 0x8e, 0xa6, 0xd7, 0xd2, 0x5c, 0x04, 0x92, 0xea, 0x76, 0xbf, 0x73, - 0xee, 0x77, 0xce, 0xc9, 0x77, 0x90, 0x38, 0x19, 0x8e, 0x7a, 0x5d, 0xd7, 0x19, 0xf6, 0xef, 0x7a, - 0x76, 0xe1, 0x76, 0xe4, 0x8e, 0x5d, 0x31, 0xcf, 0x62, 0xfb, 0x47, 0x4e, 0x7f, 0x7c, 0x3d, 0xe9, - 0x14, 0xba, 0xee, 0x4d, 0xd1, 0x71, 0x1d, 0xb7, 0x48, 0x3f, 0x75, 0x26, 0x57, 0x74, 0xa2, 0x03, - 0x7d, 0xfd, 0x2c, 0x2b, 0xa7, 0x08, 0x9a, 0xe2, 0x21, 0x02, 0x0d, 0x83, 0xcc, 0xab, 0x5b, 0xa5, - 0x9d, 0xc2, 0x92, 0x83, 0x66, 0x81, 0x26, 0xee, 0xa1, 0x8c, 0xd9, 0xef, 0x0d, 0xec, 0x63, 0x9c, - 0x92, 0x41, 0xe5, 0xad, 0x68, 0x6a, 0x08, 0x33, 0x4f, 0xe2, 0x94, 0x2e, 0x02, 0x2d, 0x54, 0xd0, - 0x31, 0xc8, 0xb0, 0xaa, 0xa0, 0x5b, 0xa0, 0x87, 0xb4, 0x41, 0x97, 0x57, 0x68, 0xc3, 0x02, 0x43, - 0x94, 0x11, 0x98, 0x38, 0x4d, 0x69, 0x71, 0x99, 0x6e, 0x0d, 0x6c, 0xdd, 0x02, 0x53, 0x39, 0x40, - 0x60, 0x30, 0x39, 0x80, 0xcd, 0xa1, 0x3c, 0x03, 0x02, 0x3d, 0x66, 0x4b, 0xd4, 0x08, 0x22, 0xb6, - 0x14, 0xe3, 0x65, 0xcc, 0xcb, 0xa0, 0xe6, 0x22, 0xbc, 0x1c, 0xe3, 0x15, 0x2c, 0x30, 0xff, 0x2b, - 0x31, 0x5e, 0xc5, 0x69, 0x99, 0x57, 0xf3, 0x11, 0x5e, 0x8d, 0xf1, 0x1a, 0xce, 0x30, 0xee, 0xb5, - 0x18, 0xaf, 0xe3, 0xac, 0xcc, 0xab, 0xa9, 0x08, 0xaf, 0x2b, 0x27, 0x08, 0xda, 0x4b, 0xa1, 0xf8, - 0x8d, 0xa1, 0xb6, 0x17, 0xa1, 0xa2, 0x93, 0x9e, 0x23, 0xa1, 0x3d, 0x74, 0x2f, 0xff, 0xbc, 0xbd, - 0xfb, 0xe8, 0x49, 0xdc, 0x93, 0x27, 0x71, 0x2f, 0x9e, 0xc4, 0x51, 0x25, 0x13, 0x09, 0xad, 0x81, - 0xdd, 0x0c, 0x2f, 0xbc, 0x68, 0x78, 0xf5, 0xc2, 0x09, 0x4a, 0xbe, 0xa0, 0x3a, 0x5a, 0xa8, 0xb3, - 0xe8, 0x79, 0x6d, 0x53, 0x7a, 0x82, 0x2e, 0xef, 0xa9, 0x96, 0xbe, 0xa9, 0xce, 0x7f, 0x17, 0x99, - 0xb4, 0x98, 0x1a, 0xf5, 0x6f, 0xff, 0xf2, 0xcf, 0xad, 0xf5, 0x67, 0xae, 0xae, 0x9c, 0xa1, 0x6c, - 0xb8, 0xc7, 0x16, 0x93, 0x70, 0xb5, 0x91, 0x67, 0x8b, 0xd1, 0x2a, 0x53, 0x9f, 0x70, 0x33, 0x9f, - 0x70, 0x1f, 0x3e, 0xe1, 0xe6, 0x3e, 0x81, 0x4f, 0x9f, 0xc0, 0x97, 0x4f, 0xe0, 0x21, 0x20, 0xf0, - 0x1a, 0x10, 0x78, 0x0b, 0x08, 0xbc, 0x07, 0x04, 0xa6, 0x01, 0x81, 0x59, 0x40, 0x60, 0x1e, 0x10, - 0xf8, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x75, 0x16, 0xec, 0x6e, 0xfb, 0x03, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/unrecognizedgroup/unrecognizedgroup.pb.go b/vendor/github.com/gogo/protobuf/test/unrecognizedgroup/unrecognizedgroup.pb.go index 034c7d2e8..9b347ddfd 100644 --- a/vendor/github.com/gogo/protobuf/test/unrecognizedgroup/unrecognizedgroup.pb.go +++ b/vendor/github.com/gogo/protobuf/test/unrecognizedgroup/unrecognizedgroup.pb.go @@ -3,23 +3,21 @@ package unrecognizedgroup -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" -import compress_gzip "compress/gzip" -import bytes "bytes" -import io_ioutil "io/ioutil" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + compress_gzip "compress/gzip" + encoding_binary "encoding/binary" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + io "io" + io_ioutil "io/ioutil" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -44,7 +42,7 @@ type NewNoGroup struct { func (m *NewNoGroup) Reset() { *m = NewNoGroup{} } func (*NewNoGroup) ProtoMessage() {} func (*NewNoGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognizedgroup_ad1c77f6b1c6f338, []int{0} + return fileDescriptor_1dcb9b01ad4951dd, []int{0} } func (m *NewNoGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -61,8 +59,8 @@ func (m *NewNoGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *NewNoGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_NewNoGroup.Merge(dst, src) +func (m *NewNoGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_NewNoGroup.Merge(m, src) } func (m *NewNoGroup) XXX_Size() int { return m.Size() @@ -83,7 +81,7 @@ type A struct { func (m *A) Reset() { *m = A{} } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognizedgroup_ad1c77f6b1c6f338, []int{1} + return fileDescriptor_1dcb9b01ad4951dd, []int{1} } func (m *A) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -100,8 +98,8 @@ func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return m.Size() @@ -125,7 +123,7 @@ type OldWithGroup struct { func (m *OldWithGroup) Reset() { *m = OldWithGroup{} } func (*OldWithGroup) ProtoMessage() {} func (*OldWithGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognizedgroup_ad1c77f6b1c6f338, []int{2} + return fileDescriptor_1dcb9b01ad4951dd, []int{2} } func (m *OldWithGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldWithGroup.Unmarshal(m, b) @@ -133,8 +131,8 @@ func (m *OldWithGroup) XXX_Unmarshal(b []byte) error { func (m *OldWithGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldWithGroup.Marshal(b, m, deterministic) } -func (dst *OldWithGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldWithGroup.Merge(dst, src) +func (m *OldWithGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldWithGroup.Merge(m, src) } func (m *OldWithGroup) XXX_Size() int { return xxx_messageInfo_OldWithGroup.Size(m) @@ -157,7 +155,7 @@ type OldWithGroup_Group1 struct { func (m *OldWithGroup_Group1) Reset() { *m = OldWithGroup_Group1{} } func (*OldWithGroup_Group1) ProtoMessage() {} func (*OldWithGroup_Group1) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognizedgroup_ad1c77f6b1c6f338, []int{2, 0} + return fileDescriptor_1dcb9b01ad4951dd, []int{2, 0} } func (m *OldWithGroup_Group1) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldWithGroup_Group1.Unmarshal(m, b) @@ -165,8 +163,8 @@ func (m *OldWithGroup_Group1) XXX_Unmarshal(b []byte) error { func (m *OldWithGroup_Group1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldWithGroup_Group1.Marshal(b, m, deterministic) } -func (dst *OldWithGroup_Group1) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldWithGroup_Group1.Merge(dst, src) +func (m *OldWithGroup_Group1) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldWithGroup_Group1.Merge(m, src) } func (m *OldWithGroup_Group1) XXX_Size() int { return xxx_messageInfo_OldWithGroup_Group1.Size(m) @@ -188,7 +186,7 @@ type OldWithGroup_Group2 struct { func (m *OldWithGroup_Group2) Reset() { *m = OldWithGroup_Group2{} } func (*OldWithGroup_Group2) ProtoMessage() {} func (*OldWithGroup_Group2) Descriptor() ([]byte, []int) { - return fileDescriptor_unrecognizedgroup_ad1c77f6b1c6f338, []int{2, 1} + return fileDescriptor_1dcb9b01ad4951dd, []int{2, 1} } func (m *OldWithGroup_Group2) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OldWithGroup_Group2.Unmarshal(m, b) @@ -196,8 +194,8 @@ func (m *OldWithGroup_Group2) XXX_Unmarshal(b []byte) error { func (m *OldWithGroup_Group2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_OldWithGroup_Group2.Marshal(b, m, deterministic) } -func (dst *OldWithGroup_Group2) XXX_Merge(src proto.Message) { - xxx_messageInfo_OldWithGroup_Group2.Merge(dst, src) +func (m *OldWithGroup_Group2) XXX_Merge(src proto.Message) { + xxx_messageInfo_OldWithGroup_Group2.Merge(m, src) } func (m *OldWithGroup_Group2) XXX_Size() int { return xxx_messageInfo_OldWithGroup_Group2.Size(m) @@ -215,6 +213,33 @@ func init() { proto.RegisterType((*OldWithGroup_Group1)(nil), "unrecognizedgroup.OldWithGroup.Group1") proto.RegisterType((*OldWithGroup_Group2)(nil), "unrecognizedgroup.OldWithGroup.Group2") } + +func init() { proto.RegisterFile("unrecognizedgroup.proto", fileDescriptor_1dcb9b01ad4951dd) } + +var fileDescriptor_1dcb9b01ad4951dd = []byte{ + // 305 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2f, 0xcd, 0x2b, 0x4a, + 0x4d, 0xce, 0x4f, 0xcf, 0xcb, 0xac, 0x4a, 0x4d, 0x49, 0x2f, 0xca, 0x2f, 0x2d, 0xd0, 0x2b, 0x28, + 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xc4, 0x90, 0x90, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, + 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x4c, 0x2a, 0x4d, 0x03, 0xf3, + 0xc0, 0x1c, 0x30, 0x0b, 0x62, 0x82, 0x52, 0x1e, 0x17, 0x97, 0x5f, 0x6a, 0xb9, 0x5f, 0xbe, 0x3b, + 0x48, 0xb3, 0x90, 0x18, 0x17, 0x9b, 0x5b, 0x66, 0x6a, 0x4e, 0x8a, 0xa1, 0x04, 0xa3, 0x02, 0xa3, + 0x06, 0x73, 0x10, 0x94, 0x07, 0x17, 0x37, 0x96, 0x60, 0x56, 0x60, 0xd6, 0x60, 0x84, 0x8a, 0x1b, + 0x0b, 0x29, 0x71, 0x31, 0x3a, 0x4a, 0xb0, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x89, 0xe8, 0x61, 0x3a, + 0xd2, 0x31, 0x88, 0xd1, 0xd1, 0x8a, 0xa7, 0x63, 0xa1, 0x3c, 0xe3, 0x84, 0x85, 0xf2, 0x8c, 0x0b, + 0x16, 0xca, 0x33, 0x2a, 0x69, 0x72, 0x31, 0x3a, 0x82, 0x8c, 0x73, 0x04, 0x9b, 0x00, 0xb3, 0x06, + 0xc2, 0x43, 0x53, 0x7a, 0x8a, 0x89, 0x8b, 0xc7, 0x3f, 0x27, 0x25, 0x3c, 0xb3, 0x24, 0x03, 0xbf, + 0xeb, 0xec, 0xb8, 0xd8, 0xc0, 0xf6, 0x19, 0x4a, 0x30, 0x29, 0x30, 0x6a, 0x70, 0x19, 0xa9, 0x61, + 0x71, 0x0a, 0xb2, 0x41, 0x7a, 0x60, 0xd2, 0x30, 0x08, 0xaa, 0x0b, 0xa7, 0xef, 0x60, 0xe6, 0x1a, + 0x49, 0xb0, 0x90, 0x60, 0xae, 0x11, 0xd4, 0x5c, 0x23, 0xa9, 0x00, 0x2e, 0x36, 0x77, 0x54, 0x1b, + 0x70, 0x85, 0xab, 0x11, 0xd8, 0xe5, 0xac, 0x50, 0x71, 0x23, 0x5c, 0x2e, 0x92, 0xb2, 0x80, 0x9a, + 0x68, 0x44, 0x94, 0x89, 0x08, 0x9d, 0x46, 0x4e, 0x1a, 0x27, 0x1e, 0xca, 0x31, 0x5c, 0x78, 0x28, + 0xc7, 0x70, 0xe3, 0xa1, 0x1c, 0xc3, 0x83, 0x87, 0x72, 0x8c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, + 0x28, 0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x0d, 0x8f, 0xe4, 0x18, 0x77, + 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0xef, 0x1c, 0xa5, 0xe4, 0x6d, 0x02, 0x00, + 0x00, +} + func (this *NewNoGroup) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { return UnrecognizedgroupDescription() } @@ -233,256 +258,258 @@ func (this *OldWithGroup_Group2) Description() (desc *github_com_gogo_protobuf_p func UnrecognizedgroupDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 3974 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0xdc, 0xe6, - 0x75, 0x16, 0xf6, 0xc6, 0xdd, 0xb3, 0xcb, 0x25, 0x08, 0xd2, 0xd4, 0x8a, 0x8e, 0x29, 0x69, 0x7d, - 0xa3, 0xec, 0x86, 0x8a, 0x29, 0x4b, 0x96, 0x56, 0x8d, 0xdd, 0x25, 0xb9, 0x62, 0xe8, 0x92, 0xdc, - 0x0d, 0x96, 0x8c, 0x2f, 0x99, 0x0e, 0x06, 0xc4, 0xfe, 0xbb, 0x84, 0x84, 0x05, 0x10, 0x00, 0x2b, - 0x99, 0x9a, 0x3e, 0xa8, 0xe3, 0xde, 0x32, 0x9d, 0xb6, 0xe9, 0x65, 0xa6, 0x89, 0xeb, 0xb8, 0x51, - 0x3a, 0x8d, 0xd3, 0xf4, 0x96, 0x34, 0x6d, 0x9a, 0xa4, 0x2f, 0x7d, 0x49, 0x9b, 0xe9, 0x43, 0xa7, - 0x79, 0xeb, 0x43, 0x1f, 0x22, 0xd7, 0x33, 0xbd, 0x39, 0x4d, 0xda, 0xea, 0x21, 0x33, 0x7e, 0xc9, - 0xfc, 0x37, 0x2c, 0x80, 0x5d, 0x12, 0x60, 0x66, 0xec, 0xbc, 0x48, 0xc4, 0xf9, 0xcf, 0xf7, 0xe1, - 0xfc, 0xe7, 0x3f, 0xff, 0x39, 0xe7, 0xff, 0xb1, 0xf0, 0xfd, 0x2b, 0x70, 0xa6, 0x67, 0x59, 0x3d, - 0x03, 0x9d, 0xb7, 0x1d, 0xcb, 0xb3, 0xf6, 0x06, 0xdd, 0xf3, 0x1d, 0xe4, 0x6a, 0x8e, 0x6e, 0x7b, - 0x96, 0xb3, 0x44, 0x64, 0xd2, 0x14, 0xd5, 0x58, 0xe2, 0x1a, 0xd5, 0x2d, 0x98, 0xbe, 0xa6, 0x1b, - 0x68, 0xcd, 0x57, 0x6c, 0x23, 0x4f, 0xba, 0x0c, 0x99, 0xae, 0x6e, 0xa0, 0x8a, 0x70, 0x26, 0xbd, - 0x58, 0x5c, 0x7e, 0x64, 0x29, 0x02, 0x5a, 0x0a, 0x23, 0x5a, 0x58, 0x2c, 0x13, 0x44, 0xf5, 0xed, - 0x0c, 0xcc, 0x8c, 0x19, 0x95, 0x24, 0xc8, 0x98, 0x6a, 0x1f, 0x33, 0x0a, 0x8b, 0x05, 0x99, 0xfc, - 0x2d, 0x55, 0x60, 0xc2, 0x56, 0xb5, 0x1b, 0x6a, 0x0f, 0x55, 0x52, 0x44, 0xcc, 0x1f, 0xa5, 0x05, - 0x80, 0x0e, 0xb2, 0x91, 0xd9, 0x41, 0xa6, 0x76, 0x50, 0x49, 0x9f, 0x49, 0x2f, 0x16, 0xe4, 0x80, - 0x44, 0x7a, 0x12, 0xa6, 0xed, 0xc1, 0x9e, 0xa1, 0x6b, 0x4a, 0x40, 0x0d, 0xce, 0xa4, 0x17, 0xb3, - 0xb2, 0x48, 0x07, 0xd6, 0x86, 0xca, 0x8f, 0xc3, 0xd4, 0x2d, 0xa4, 0xde, 0x08, 0xaa, 0x16, 0x89, - 0x6a, 0x19, 0x8b, 0x03, 0x8a, 0xab, 0x50, 0xea, 0x23, 0xd7, 0x55, 0x7b, 0x48, 0xf1, 0x0e, 0x6c, - 0x54, 0xc9, 0x90, 0xd9, 0x9f, 0x19, 0x99, 0x7d, 0x74, 0xe6, 0x45, 0x86, 0xda, 0x39, 0xb0, 0x91, - 0x54, 0x87, 0x02, 0x32, 0x07, 0x7d, 0xca, 0x90, 0x3d, 0xc4, 0x7f, 0x0d, 0x73, 0xd0, 0x8f, 0xb2, - 0xe4, 0x31, 0x8c, 0x51, 0x4c, 0xb8, 0xc8, 0xb9, 0xa9, 0x6b, 0xa8, 0x92, 0x23, 0x04, 0x8f, 0x8f, - 0x10, 0xb4, 0xe9, 0x78, 0x94, 0x83, 0xe3, 0xa4, 0x55, 0x28, 0xa0, 0x57, 0x3c, 0x64, 0xba, 0xba, - 0x65, 0x56, 0x26, 0x08, 0xc9, 0xa3, 0x63, 0x56, 0x11, 0x19, 0x9d, 0x28, 0xc5, 0x10, 0x27, 0x5d, - 0x82, 0x09, 0xcb, 0xf6, 0x74, 0xcb, 0x74, 0x2b, 0xf9, 0x33, 0xc2, 0x62, 0x71, 0xf9, 0x03, 0x63, - 0x03, 0xa1, 0x49, 0x75, 0x64, 0xae, 0x2c, 0x6d, 0x80, 0xe8, 0x5a, 0x03, 0x47, 0x43, 0x8a, 0x66, - 0x75, 0x90, 0xa2, 0x9b, 0x5d, 0xab, 0x52, 0x20, 0x04, 0xa7, 0x47, 0x27, 0x42, 0x14, 0x57, 0xad, - 0x0e, 0xda, 0x30, 0xbb, 0x96, 0x5c, 0x76, 0x43, 0xcf, 0xd2, 0x1c, 0xe4, 0xdc, 0x03, 0xd3, 0x53, - 0x5f, 0xa9, 0x94, 0x48, 0x84, 0xb0, 0xa7, 0xea, 0x37, 0x72, 0x30, 0x95, 0x24, 0xc4, 0xae, 0x42, - 0xb6, 0x8b, 0x67, 0x59, 0x49, 0x1d, 0xc7, 0x07, 0x14, 0x13, 0x76, 0x62, 0xee, 0xc7, 0x74, 0x62, - 0x1d, 0x8a, 0x26, 0x72, 0x3d, 0xd4, 0xa1, 0x11, 0x91, 0x4e, 0x18, 0x53, 0x40, 0x41, 0xa3, 0x21, - 0x95, 0xf9, 0xb1, 0x42, 0xea, 0x45, 0x98, 0xf2, 0x4d, 0x52, 0x1c, 0xd5, 0xec, 0xf1, 0xd8, 0x3c, - 0x1f, 0x67, 0xc9, 0x52, 0x83, 0xe3, 0x64, 0x0c, 0x93, 0xcb, 0x28, 0xf4, 0x2c, 0xad, 0x01, 0x58, - 0x26, 0xb2, 0xba, 0x4a, 0x07, 0x69, 0x46, 0x25, 0x7f, 0x88, 0x97, 0x9a, 0x58, 0x65, 0xc4, 0x4b, - 0x16, 0x95, 0x6a, 0x86, 0x74, 0x65, 0x18, 0x6a, 0x13, 0x87, 0x44, 0xca, 0x16, 0xdd, 0x64, 0x23, - 0xd1, 0xb6, 0x0b, 0x65, 0x07, 0xe1, 0xb8, 0x47, 0x1d, 0x36, 0xb3, 0x02, 0x31, 0x62, 0x29, 0x76, - 0x66, 0x32, 0x83, 0xd1, 0x89, 0x4d, 0x3a, 0xc1, 0x47, 0xe9, 0x61, 0xf0, 0x05, 0x0a, 0x09, 0x2b, - 0x20, 0x59, 0xa8, 0xc4, 0x85, 0xdb, 0x6a, 0x1f, 0xcd, 0xdf, 0x86, 0x72, 0xd8, 0x3d, 0xd2, 0x2c, - 0x64, 0x5d, 0x4f, 0x75, 0x3c, 0x12, 0x85, 0x59, 0x99, 0x3e, 0x48, 0x22, 0xa4, 0x91, 0xd9, 0x21, - 0x59, 0x2e, 0x2b, 0xe3, 0x3f, 0xa5, 0x9f, 0x19, 0x4e, 0x38, 0x4d, 0x26, 0xfc, 0xd8, 0xe8, 0x8a, - 0x86, 0x98, 0xa3, 0xf3, 0x9e, 0x7f, 0x06, 0x26, 0x43, 0x13, 0x48, 0xfa, 0xea, 0xea, 0xcf, 0xc3, - 0x03, 0x63, 0xa9, 0xa5, 0x17, 0x61, 0x76, 0x60, 0xea, 0xa6, 0x87, 0x1c, 0xdb, 0x41, 0x38, 0x62, - 0xe9, 0xab, 0x2a, 0xff, 0x3e, 0x71, 0x48, 0xcc, 0xed, 0x06, 0xb5, 0x29, 0x8b, 0x3c, 0x33, 0x18, - 0x15, 0x3e, 0x51, 0xc8, 0xff, 0xc7, 0x84, 0x78, 0xe7, 0xce, 0x9d, 0x3b, 0xa9, 0xea, 0xa7, 0x73, - 0x30, 0x3b, 0x6e, 0xcf, 0x8c, 0xdd, 0xbe, 0x73, 0x90, 0x33, 0x07, 0xfd, 0x3d, 0xe4, 0x10, 0x27, - 0x65, 0x65, 0xf6, 0x24, 0xd5, 0x21, 0x6b, 0xa8, 0x7b, 0xc8, 0xa8, 0x64, 0xce, 0x08, 0x8b, 0xe5, - 0xe5, 0x27, 0x13, 0xed, 0xca, 0xa5, 0x4d, 0x0c, 0x91, 0x29, 0x52, 0x7a, 0x16, 0x32, 0x2c, 0x45, - 0x63, 0x86, 0x27, 0x92, 0x31, 0xe0, 0xbd, 0x24, 0x13, 0x9c, 0xf4, 0x20, 0x14, 0xf0, 0xff, 0x34, - 0x36, 0x72, 0xc4, 0xe6, 0x3c, 0x16, 0xe0, 0xb8, 0x90, 0xe6, 0x21, 0x4f, 0xb6, 0x49, 0x07, 0xf1, - 0xd2, 0xe6, 0x3f, 0xe3, 0xc0, 0xea, 0xa0, 0xae, 0x3a, 0x30, 0x3c, 0xe5, 0xa6, 0x6a, 0x0c, 0x10, - 0x09, 0xf8, 0x82, 0x5c, 0x62, 0xc2, 0x8f, 0x61, 0x99, 0x74, 0x1a, 0x8a, 0x74, 0x57, 0xe9, 0x66, - 0x07, 0xbd, 0x42, 0xb2, 0x67, 0x56, 0xa6, 0x1b, 0x6d, 0x03, 0x4b, 0xf0, 0xeb, 0xaf, 0xbb, 0x96, - 0xc9, 0x43, 0x93, 0xbc, 0x02, 0x0b, 0xc8, 0xeb, 0x9f, 0x89, 0x26, 0xee, 0x87, 0xc6, 0x4f, 0x2f, - 0x1a, 0x53, 0xd5, 0xaf, 0xa5, 0x20, 0x43, 0xf2, 0xc5, 0x14, 0x14, 0x77, 0x5e, 0x6a, 0x35, 0x94, - 0xb5, 0xe6, 0xee, 0xca, 0x66, 0x43, 0x14, 0xa4, 0x32, 0x00, 0x11, 0x5c, 0xdb, 0x6c, 0xd6, 0x77, - 0xc4, 0x94, 0xff, 0xbc, 0xb1, 0xbd, 0x73, 0xe9, 0x69, 0x31, 0xed, 0x03, 0x76, 0xa9, 0x20, 0x13, - 0x54, 0xb8, 0xb0, 0x2c, 0x66, 0x25, 0x11, 0x4a, 0x94, 0x60, 0xe3, 0xc5, 0xc6, 0xda, 0xa5, 0xa7, - 0xc5, 0x5c, 0x58, 0x72, 0x61, 0x59, 0x9c, 0x90, 0x26, 0xa1, 0x40, 0x24, 0x2b, 0xcd, 0xe6, 0xa6, - 0x98, 0xf7, 0x39, 0xdb, 0x3b, 0xf2, 0xc6, 0xf6, 0xba, 0x58, 0xf0, 0x39, 0xd7, 0xe5, 0xe6, 0x6e, - 0x4b, 0x04, 0x9f, 0x61, 0xab, 0xd1, 0x6e, 0xd7, 0xd7, 0x1b, 0x62, 0xd1, 0xd7, 0x58, 0x79, 0x69, - 0xa7, 0xd1, 0x16, 0x4b, 0x21, 0xb3, 0x2e, 0x2c, 0x8b, 0x93, 0xfe, 0x2b, 0x1a, 0xdb, 0xbb, 0x5b, - 0x62, 0x59, 0x9a, 0x86, 0x49, 0xfa, 0x0a, 0x6e, 0xc4, 0x54, 0x44, 0x74, 0xe9, 0x69, 0x51, 0x1c, - 0x1a, 0x42, 0x59, 0xa6, 0x43, 0x82, 0x4b, 0x4f, 0x8b, 0x52, 0x75, 0x15, 0xb2, 0x24, 0xba, 0x24, - 0x09, 0xca, 0x9b, 0xf5, 0x95, 0xc6, 0xa6, 0xd2, 0x6c, 0xed, 0x6c, 0x34, 0xb7, 0xeb, 0x9b, 0xa2, - 0x30, 0x94, 0xc9, 0x8d, 0x8f, 0xee, 0x6e, 0xc8, 0x8d, 0x35, 0x31, 0x15, 0x94, 0xb5, 0x1a, 0xf5, - 0x9d, 0xc6, 0x9a, 0x98, 0xae, 0x6a, 0x30, 0x3b, 0x2e, 0x4f, 0x8e, 0xdd, 0x19, 0x81, 0x25, 0x4e, - 0x1d, 0xb2, 0xc4, 0x84, 0x6b, 0x64, 0x89, 0xff, 0x2d, 0x05, 0x33, 0x63, 0x6a, 0xc5, 0xd8, 0x97, - 0x3c, 0x07, 0x59, 0x1a, 0xa2, 0xb4, 0x7a, 0x9e, 0x1b, 0x5b, 0x74, 0x48, 0xc0, 0x8e, 0x54, 0x50, - 0x82, 0x0b, 0x76, 0x10, 0xe9, 0x43, 0x3a, 0x08, 0x4c, 0x31, 0x92, 0xd3, 0x7f, 0x6e, 0x24, 0xa7, - 0xd3, 0xb2, 0x77, 0x29, 0x49, 0xd9, 0x23, 0xb2, 0xe3, 0xe5, 0xf6, 0xec, 0x98, 0xdc, 0x7e, 0x15, - 0xa6, 0x47, 0x88, 0x12, 0xe7, 0xd8, 0x57, 0x05, 0xa8, 0x1c, 0xe6, 0x9c, 0x98, 0x4c, 0x97, 0x0a, - 0x65, 0xba, 0xab, 0x51, 0x0f, 0x9e, 0x3d, 0x7c, 0x11, 0x46, 0xd6, 0xfa, 0x4d, 0x01, 0xe6, 0xc6, - 0x77, 0x8a, 0x63, 0x6d, 0x78, 0x16, 0x72, 0x7d, 0xe4, 0xed, 0x5b, 0xbc, 0x5b, 0x7a, 0x6c, 0x4c, - 0x0d, 0xc6, 0xc3, 0xd1, 0xc5, 0x66, 0xa8, 0x60, 0x11, 0x4f, 0x1f, 0xd6, 0xee, 0x51, 0x6b, 0x46, - 0x2c, 0xfd, 0x64, 0x0a, 0x1e, 0x18, 0x4b, 0x3e, 0xd6, 0xd0, 0x87, 0x00, 0x74, 0xd3, 0x1e, 0x78, - 0xb4, 0x23, 0xa2, 0x09, 0xb6, 0x40, 0x24, 0x24, 0x79, 0xe1, 0xe4, 0x39, 0xf0, 0xfc, 0xf1, 0x34, - 0x19, 0x07, 0x2a, 0x22, 0x0a, 0x97, 0x87, 0x86, 0x66, 0x88, 0xa1, 0x0b, 0x87, 0xcc, 0x74, 0x24, - 0x30, 0x3f, 0x04, 0xa2, 0x66, 0xe8, 0xc8, 0xf4, 0x14, 0xd7, 0x73, 0x90, 0xda, 0xd7, 0xcd, 0x1e, - 0xa9, 0x20, 0xf9, 0x5a, 0xb6, 0xab, 0x1a, 0x2e, 0x92, 0xa7, 0xe8, 0x70, 0x9b, 0x8f, 0x62, 0x04, - 0x09, 0x20, 0x27, 0x80, 0xc8, 0x85, 0x10, 0x74, 0xd8, 0x47, 0x54, 0xbf, 0x9a, 0x87, 0x62, 0xa0, - 0xaf, 0x96, 0xce, 0x42, 0xe9, 0xba, 0x7a, 0x53, 0x55, 0xf8, 0x59, 0x89, 0x7a, 0xa2, 0x88, 0x65, - 0x2d, 0x76, 0x5e, 0xfa, 0x10, 0xcc, 0x12, 0x15, 0x6b, 0xe0, 0x21, 0x47, 0xd1, 0x0c, 0xd5, 0x75, - 0x89, 0xd3, 0xf2, 0x44, 0x55, 0xc2, 0x63, 0x4d, 0x3c, 0xb4, 0xca, 0x47, 0xa4, 0x8b, 0x30, 0x43, - 0x10, 0xfd, 0x81, 0xe1, 0xe9, 0xb6, 0x81, 0x14, 0x7c, 0x7a, 0x73, 0x49, 0x25, 0xf1, 0x2d, 0x9b, - 0xc6, 0x1a, 0x5b, 0x4c, 0x01, 0x5b, 0xe4, 0x4a, 0x6b, 0xf0, 0x10, 0x81, 0xf5, 0x90, 0x89, 0x1c, - 0xd5, 0x43, 0x0a, 0xfa, 0xc4, 0x40, 0x35, 0x5c, 0x45, 0x35, 0x3b, 0xca, 0xbe, 0xea, 0xee, 0x57, - 0x66, 0x31, 0xc1, 0x4a, 0xaa, 0x22, 0xc8, 0xa7, 0xb0, 0xe2, 0x3a, 0xd3, 0x6b, 0x10, 0xb5, 0xba, - 0xd9, 0xf9, 0x88, 0xea, 0xee, 0x4b, 0x35, 0x98, 0x23, 0x2c, 0xae, 0xe7, 0xe8, 0x66, 0x4f, 0xd1, - 0xf6, 0x91, 0x76, 0x43, 0x19, 0x78, 0xdd, 0xcb, 0x95, 0x07, 0x83, 0xef, 0x27, 0x16, 0xb6, 0x89, - 0xce, 0x2a, 0x56, 0xd9, 0xf5, 0xba, 0x97, 0xa5, 0x36, 0x94, 0xf0, 0x62, 0xf4, 0xf5, 0xdb, 0x48, - 0xe9, 0x5a, 0x0e, 0x29, 0x8d, 0xe5, 0x31, 0xa9, 0x29, 0xe0, 0xc1, 0xa5, 0x26, 0x03, 0x6c, 0x59, - 0x1d, 0x54, 0xcb, 0xb6, 0x5b, 0x8d, 0xc6, 0x9a, 0x5c, 0xe4, 0x2c, 0xd7, 0x2c, 0x07, 0x07, 0x54, - 0xcf, 0xf2, 0x1d, 0x5c, 0xa4, 0x01, 0xd5, 0xb3, 0xb8, 0x7b, 0x2f, 0xc2, 0x8c, 0xa6, 0xd1, 0x39, - 0xeb, 0x9a, 0xc2, 0xce, 0x58, 0x6e, 0x45, 0x0c, 0x39, 0x4b, 0xd3, 0xd6, 0xa9, 0x02, 0x8b, 0x71, - 0x57, 0xba, 0x02, 0x0f, 0x0c, 0x9d, 0x15, 0x04, 0x4e, 0x8f, 0xcc, 0x32, 0x0a, 0xbd, 0x08, 0x33, - 0xf6, 0xc1, 0x28, 0x50, 0x0a, 0xbd, 0xd1, 0x3e, 0x88, 0xc2, 0x9e, 0x81, 0x59, 0x7b, 0xdf, 0x1e, - 0xc5, 0x3d, 0x11, 0xc4, 0x49, 0xf6, 0xbe, 0x1d, 0x05, 0x3e, 0x4a, 0x0e, 0xdc, 0x0e, 0xd2, 0x54, - 0x0f, 0x75, 0x2a, 0x27, 0x83, 0xea, 0x81, 0x01, 0xe9, 0x3c, 0x88, 0x9a, 0xa6, 0x20, 0x53, 0xdd, - 0x33, 0x90, 0xa2, 0x3a, 0xc8, 0x54, 0xdd, 0xca, 0xe9, 0xa0, 0x72, 0x59, 0xd3, 0x1a, 0x64, 0xb4, - 0x4e, 0x06, 0xa5, 0x27, 0x60, 0xda, 0xda, 0xbb, 0xae, 0xd1, 0x90, 0x54, 0x6c, 0x07, 0x75, 0xf5, - 0x57, 0x2a, 0x8f, 0x10, 0xff, 0x4e, 0xe1, 0x01, 0x12, 0x90, 0x2d, 0x22, 0x96, 0xce, 0x81, 0xa8, - 0xb9, 0xfb, 0xaa, 0x63, 0x93, 0x9c, 0xec, 0xda, 0xaa, 0x86, 0x2a, 0x8f, 0x52, 0x55, 0x2a, 0xdf, - 0xe6, 0x62, 0xbc, 0x25, 0xdc, 0x5b, 0x7a, 0xd7, 0xe3, 0x8c, 0x8f, 0xd3, 0x2d, 0x41, 0x64, 0x8c, - 0x6d, 0x11, 0x44, 0xec, 0x8a, 0xd0, 0x8b, 0x17, 0x89, 0x5a, 0xd9, 0xde, 0xb7, 0x83, 0xef, 0x7d, - 0x18, 0x26, 0xb1, 0xe6, 0xf0, 0xa5, 0xe7, 0x68, 0x43, 0x66, 0xef, 0x07, 0xde, 0xf8, 0x9e, 0xf5, - 0xc6, 0xd5, 0x1a, 0x94, 0x82, 0xf1, 0x29, 0x15, 0x80, 0x46, 0xa8, 0x28, 0xe0, 0x66, 0x65, 0xb5, - 0xb9, 0x86, 0xdb, 0x8c, 0x97, 0x1b, 0x62, 0x0a, 0xb7, 0x3b, 0x9b, 0x1b, 0x3b, 0x0d, 0x45, 0xde, - 0xdd, 0xde, 0xd9, 0xd8, 0x6a, 0x88, 0xe9, 0x60, 0x5f, 0xfd, 0xad, 0x14, 0x94, 0xc3, 0x47, 0x24, - 0xe9, 0xa7, 0xe1, 0x24, 0xbf, 0xcf, 0x70, 0x91, 0xa7, 0xdc, 0xd2, 0x1d, 0xb2, 0x65, 0xfa, 0x2a, - 0x2d, 0x5f, 0xfe, 0xa2, 0xcd, 0x32, 0xad, 0x36, 0xf2, 0x5e, 0xd0, 0x1d, 0xbc, 0x21, 0xfa, 0xaa, - 0x27, 0x6d, 0xc2, 0x69, 0xd3, 0x52, 0x5c, 0x4f, 0x35, 0x3b, 0xaa, 0xd3, 0x51, 0x86, 0x37, 0x49, - 0x8a, 0xaa, 0x69, 0xc8, 0x75, 0x2d, 0x5a, 0xaa, 0x7c, 0x96, 0x0f, 0x98, 0x56, 0x9b, 0x29, 0x0f, - 0x73, 0x78, 0x9d, 0xa9, 0x46, 0x02, 0x2c, 0x7d, 0x58, 0x80, 0x3d, 0x08, 0x85, 0xbe, 0x6a, 0x2b, - 0xc8, 0xf4, 0x9c, 0x03, 0xd2, 0x18, 0xe7, 0xe5, 0x7c, 0x5f, 0xb5, 0x1b, 0xf8, 0xf9, 0xfd, 0x39, - 0x9f, 0xfc, 0x6b, 0x1a, 0x4a, 0xc1, 0xe6, 0x18, 0x9f, 0x35, 0x34, 0x52, 0x47, 0x04, 0x92, 0x69, - 0x1e, 0x3e, 0xb2, 0x95, 0x5e, 0x5a, 0xc5, 0x05, 0xa6, 0x96, 0xa3, 0x2d, 0xab, 0x4c, 0x91, 0xb8, - 0xb8, 0xe3, 0xdc, 0x82, 0x68, 0x8b, 0x90, 0x97, 0xd9, 0x93, 0xb4, 0x0e, 0xb9, 0xeb, 0x2e, 0xe1, - 0xce, 0x11, 0xee, 0x47, 0x8e, 0xe6, 0x7e, 0xbe, 0x4d, 0xc8, 0x0b, 0xcf, 0xb7, 0x95, 0xed, 0xa6, - 0xbc, 0x55, 0xdf, 0x94, 0x19, 0x5c, 0x3a, 0x05, 0x19, 0x43, 0xbd, 0x7d, 0x10, 0x2e, 0x45, 0x44, - 0x94, 0xd4, 0xf1, 0xa7, 0x20, 0x73, 0x0b, 0xa9, 0x37, 0xc2, 0x05, 0x80, 0x88, 0xde, 0xc3, 0xd0, - 0x3f, 0x0f, 0x59, 0xe2, 0x2f, 0x09, 0x80, 0x79, 0x4c, 0x3c, 0x21, 0xe5, 0x21, 0xb3, 0xda, 0x94, - 0x71, 0xf8, 0x8b, 0x50, 0xa2, 0x52, 0xa5, 0xb5, 0xd1, 0x58, 0x6d, 0x88, 0xa9, 0xea, 0x45, 0xc8, - 0x51, 0x27, 0xe0, 0xad, 0xe1, 0xbb, 0x41, 0x3c, 0xc1, 0x1e, 0x19, 0x87, 0xc0, 0x47, 0x77, 0xb7, - 0x56, 0x1a, 0xb2, 0x98, 0x0a, 0x2e, 0xaf, 0x0b, 0xa5, 0x60, 0x5f, 0xfc, 0xfe, 0xc4, 0xd4, 0x37, - 0x05, 0x28, 0x06, 0xfa, 0x5c, 0xdc, 0xa0, 0xa8, 0x86, 0x61, 0xdd, 0x52, 0x54, 0x43, 0x57, 0x5d, - 0x16, 0x14, 0x40, 0x44, 0x75, 0x2c, 0x49, 0xba, 0x68, 0xef, 0x8b, 0xf1, 0x6f, 0x08, 0x20, 0x46, - 0x5b, 0xcc, 0x88, 0x81, 0xc2, 0x4f, 0xd4, 0xc0, 0xd7, 0x05, 0x28, 0x87, 0xfb, 0xca, 0x88, 0x79, - 0x67, 0x7f, 0xa2, 0xe6, 0x7d, 0x37, 0x05, 0x93, 0xa1, 0x6e, 0x32, 0xa9, 0x75, 0x9f, 0x80, 0x69, - 0xbd, 0x83, 0xfa, 0xb6, 0xe5, 0x21, 0x53, 0x3b, 0x50, 0x0c, 0x74, 0x13, 0x19, 0x95, 0x2a, 0x49, - 0x14, 0xe7, 0x8f, 0xee, 0x57, 0x97, 0x36, 0x86, 0xb8, 0x4d, 0x0c, 0xab, 0xcd, 0x6c, 0xac, 0x35, - 0xb6, 0x5a, 0xcd, 0x9d, 0xc6, 0xf6, 0xea, 0x4b, 0xca, 0xee, 0xf6, 0xcf, 0x6e, 0x37, 0x5f, 0xd8, - 0x96, 0x45, 0x3d, 0xa2, 0xf6, 0x1e, 0x6e, 0xf5, 0x16, 0x88, 0x51, 0xa3, 0xa4, 0x93, 0x30, 0xce, - 0x2c, 0xf1, 0x84, 0x34, 0x03, 0x53, 0xdb, 0x4d, 0xa5, 0xbd, 0xb1, 0xd6, 0x50, 0x1a, 0xd7, 0xae, - 0x35, 0x56, 0x77, 0xda, 0xf4, 0x06, 0xc2, 0xd7, 0xde, 0x09, 0x6f, 0xea, 0xd7, 0xd2, 0x30, 0x33, - 0xc6, 0x12, 0xa9, 0xce, 0xce, 0x0e, 0xf4, 0x38, 0xf3, 0xc1, 0x24, 0xd6, 0x2f, 0xe1, 0x92, 0xdf, - 0x52, 0x1d, 0x8f, 0x1d, 0x35, 0xce, 0x01, 0xf6, 0x92, 0xe9, 0xe9, 0x5d, 0x1d, 0x39, 0xec, 0xc2, - 0x86, 0x1e, 0x28, 0xa6, 0x86, 0x72, 0x7a, 0x67, 0xf3, 0x53, 0x20, 0xd9, 0x96, 0xab, 0x7b, 0xfa, - 0x4d, 0xa4, 0xe8, 0x26, 0xbf, 0xdd, 0xc1, 0x07, 0x8c, 0x8c, 0x2c, 0xf2, 0x91, 0x0d, 0xd3, 0xf3, - 0xb5, 0x4d, 0xd4, 0x53, 0x23, 0xda, 0x38, 0x81, 0xa7, 0x65, 0x91, 0x8f, 0xf8, 0xda, 0x67, 0xa1, - 0xd4, 0xb1, 0x06, 0xb8, 0xeb, 0xa2, 0x7a, 0xb8, 0x5e, 0x08, 0x72, 0x91, 0xca, 0x7c, 0x15, 0xd6, - 0x4f, 0x0f, 0xaf, 0x95, 0x4a, 0x72, 0x91, 0xca, 0xa8, 0xca, 0xe3, 0x30, 0xa5, 0xf6, 0x7a, 0x0e, - 0x26, 0xe7, 0x44, 0xf4, 0x84, 0x50, 0xf6, 0xc5, 0x44, 0x71, 0xfe, 0x79, 0xc8, 0x73, 0x3f, 0xe0, - 0x92, 0x8c, 0x3d, 0xa1, 0xd8, 0xf4, 0xd8, 0x9b, 0x5a, 0x2c, 0xc8, 0x79, 0x93, 0x0f, 0x9e, 0x85, - 0x92, 0xee, 0x2a, 0xc3, 0x5b, 0xf2, 0xd4, 0x99, 0xd4, 0x62, 0x5e, 0x2e, 0xea, 0xae, 0x7f, 0xc3, - 0x58, 0x7d, 0x33, 0x05, 0xe5, 0xf0, 0x2d, 0xbf, 0xb4, 0x06, 0x79, 0xc3, 0xd2, 0x54, 0x12, 0x5a, - 0xf4, 0x13, 0xd3, 0x62, 0xcc, 0x87, 0x81, 0xa5, 0x4d, 0xa6, 0x2f, 0xfb, 0xc8, 0xf9, 0x7f, 0x12, - 0x20, 0xcf, 0xc5, 0xd2, 0x1c, 0x64, 0x6c, 0xd5, 0xdb, 0x27, 0x74, 0xd9, 0x95, 0x94, 0x28, 0xc8, - 0xe4, 0x19, 0xcb, 0x5d, 0x5b, 0x35, 0x49, 0x08, 0x30, 0x39, 0x7e, 0xc6, 0xeb, 0x6a, 0x20, 0xb5, - 0x43, 0x8e, 0x1f, 0x56, 0xbf, 0x8f, 0x4c, 0xcf, 0xe5, 0xeb, 0xca, 0xe4, 0xab, 0x4c, 0x2c, 0x3d, - 0x09, 0xd3, 0x9e, 0xa3, 0xea, 0x46, 0x48, 0x37, 0x43, 0x74, 0x45, 0x3e, 0xe0, 0x2b, 0xd7, 0xe0, - 0x14, 0xe7, 0xed, 0x20, 0x4f, 0xd5, 0xf6, 0x51, 0x67, 0x08, 0xca, 0x91, 0x6b, 0x86, 0x93, 0x4c, - 0x61, 0x8d, 0x8d, 0x73, 0x6c, 0xf5, 0x3b, 0x02, 0x4c, 0xf3, 0x03, 0x53, 0xc7, 0x77, 0xd6, 0x16, - 0x80, 0x6a, 0x9a, 0x96, 0x17, 0x74, 0xd7, 0x68, 0x28, 0x8f, 0xe0, 0x96, 0xea, 0x3e, 0x48, 0x0e, - 0x10, 0xcc, 0xf7, 0x01, 0x86, 0x23, 0x87, 0xba, 0xed, 0x34, 0x14, 0xd9, 0x27, 0x1c, 0xf2, 0x1d, - 0x90, 0x1e, 0xb1, 0x81, 0x8a, 0xf0, 0xc9, 0x4a, 0x9a, 0x85, 0xec, 0x1e, 0xea, 0xe9, 0x26, 0xbb, - 0x98, 0xa5, 0x0f, 0xfc, 0x22, 0x24, 0xe3, 0x5f, 0x84, 0xac, 0x7c, 0x1c, 0x66, 0x34, 0xab, 0x1f, - 0x35, 0x77, 0x45, 0x8c, 0x1c, 0xf3, 0xdd, 0x8f, 0x08, 0x2f, 0xc3, 0xb0, 0xc5, 0xfc, 0xa1, 0x20, - 0x7c, 0x3e, 0x95, 0x5e, 0x6f, 0xad, 0x7c, 0x29, 0x35, 0xbf, 0x4e, 0xa1, 0x2d, 0x3e, 0x53, 0x19, - 0x75, 0x0d, 0xa4, 0x61, 0xeb, 0xe1, 0x0b, 0x4f, 0xc2, 0x07, 0x7b, 0xba, 0xb7, 0x3f, 0xd8, 0x5b, - 0xd2, 0xac, 0xfe, 0xf9, 0x9e, 0xd5, 0xb3, 0x86, 0x9f, 0x3e, 0xf1, 0x13, 0x79, 0x20, 0x7f, 0xb1, - 0xcf, 0x9f, 0x05, 0x5f, 0x3a, 0x1f, 0xfb, 0xad, 0xb4, 0xb6, 0x0d, 0x33, 0x4c, 0x59, 0x21, 0xdf, - 0x5f, 0xe8, 0x29, 0x42, 0x3a, 0xf2, 0x0e, 0xab, 0xf2, 0x95, 0xb7, 0x49, 0xb9, 0x96, 0xa7, 0x19, - 0x14, 0x8f, 0xd1, 0x83, 0x46, 0x4d, 0x86, 0x07, 0x42, 0x7c, 0x74, 0x6b, 0x22, 0x27, 0x86, 0xf1, - 0x5b, 0x8c, 0x71, 0x26, 0xc0, 0xd8, 0x66, 0xd0, 0xda, 0x2a, 0x4c, 0x1e, 0x87, 0xeb, 0xef, 0x19, - 0x57, 0x09, 0x05, 0x49, 0xd6, 0x61, 0x8a, 0x90, 0x68, 0x03, 0xd7, 0xb3, 0xfa, 0x24, 0xef, 0x1d, - 0x4d, 0xf3, 0x0f, 0x6f, 0xd3, 0xbd, 0x52, 0xc6, 0xb0, 0x55, 0x1f, 0x55, 0xab, 0x01, 0xf9, 0xe4, - 0xd4, 0x41, 0x9a, 0x11, 0xc3, 0xf0, 0x6d, 0x66, 0x88, 0xaf, 0x5f, 0xfb, 0x18, 0xcc, 0xe2, 0xbf, - 0x49, 0x5a, 0x0a, 0x5a, 0x12, 0x7f, 0xe1, 0x55, 0xf9, 0xce, 0xab, 0x74, 0x3b, 0xce, 0xf8, 0x04, - 0x01, 0x9b, 0x02, 0xab, 0xd8, 0x43, 0x9e, 0x87, 0x1c, 0x57, 0x51, 0x8d, 0x71, 0xe6, 0x05, 0x6e, - 0x0c, 0x2a, 0x9f, 0x79, 0x27, 0xbc, 0x8a, 0xeb, 0x14, 0x59, 0x37, 0x8c, 0xda, 0x2e, 0x9c, 0x1c, - 0x13, 0x15, 0x09, 0x38, 0x5f, 0x63, 0x9c, 0xb3, 0x23, 0x91, 0x81, 0x69, 0x5b, 0xc0, 0xe5, 0xfe, - 0x5a, 0x26, 0xe0, 0xfc, 0x7d, 0xc6, 0x29, 0x31, 0x2c, 0x5f, 0x52, 0xcc, 0xf8, 0x3c, 0x4c, 0xdf, - 0x44, 0xce, 0x9e, 0xe5, 0xb2, 0x5b, 0x9a, 0x04, 0x74, 0xaf, 0x33, 0xba, 0x29, 0x06, 0x24, 0xd7, - 0x36, 0x98, 0xeb, 0x0a, 0xe4, 0xbb, 0xaa, 0x86, 0x12, 0x50, 0x7c, 0x96, 0x51, 0x4c, 0x60, 0x7d, - 0x0c, 0xad, 0x43, 0xa9, 0x67, 0xb1, 0xca, 0x14, 0x0f, 0x7f, 0x83, 0xc1, 0x8b, 0x1c, 0xc3, 0x28, - 0x6c, 0xcb, 0x1e, 0x18, 0xb8, 0x6c, 0xc5, 0x53, 0xfc, 0x01, 0xa7, 0xe0, 0x18, 0x46, 0x71, 0x0c, - 0xb7, 0x7e, 0x8e, 0x53, 0xb8, 0x01, 0x7f, 0x3e, 0x07, 0x45, 0xcb, 0x34, 0x0e, 0x2c, 0x33, 0x89, - 0x11, 0x77, 0x19, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x0a, 0x85, 0xa4, 0x0b, 0xf1, 0x47, 0xef, 0xf0, - 0xed, 0xc1, 0x57, 0x60, 0x1d, 0xa6, 0x78, 0x82, 0xd2, 0x2d, 0x33, 0x01, 0xc5, 0x17, 0x18, 0x45, - 0x39, 0x00, 0x63, 0xd3, 0xf0, 0x90, 0xeb, 0xf5, 0x50, 0x12, 0x92, 0x37, 0xf9, 0x34, 0x18, 0x84, - 0xb9, 0x72, 0x0f, 0x99, 0xda, 0x7e, 0x32, 0x86, 0x2f, 0x72, 0x57, 0x72, 0x0c, 0xa6, 0x58, 0x85, - 0xc9, 0xbe, 0xea, 0xb8, 0xfb, 0xaa, 0x91, 0x68, 0x39, 0xfe, 0x98, 0x71, 0x94, 0x7c, 0x10, 0xf3, - 0xc8, 0xc0, 0x3c, 0x0e, 0xcd, 0x97, 0xb8, 0x47, 0x02, 0x30, 0xb6, 0xf5, 0x5c, 0x8f, 0x5c, 0x69, - 0x1d, 0x87, 0xed, 0x4f, 0xf8, 0xd6, 0xa3, 0xd8, 0xad, 0x20, 0xe3, 0x55, 0x28, 0xb8, 0xfa, 0xed, - 0x44, 0x34, 0x7f, 0xca, 0x57, 0x9a, 0x00, 0x30, 0xf8, 0x25, 0x38, 0x35, 0xb6, 0x4c, 0x24, 0x20, - 0xfb, 0x33, 0x46, 0x36, 0x37, 0xa6, 0x54, 0xb0, 0x94, 0x70, 0x5c, 0xca, 0x3f, 0xe7, 0x29, 0x01, - 0x45, 0xb8, 0x5a, 0xf8, 0xac, 0xe0, 0xaa, 0xdd, 0xe3, 0x79, 0xed, 0x2f, 0xb8, 0xd7, 0x28, 0x36, - 0xe4, 0xb5, 0x1d, 0x98, 0x63, 0x8c, 0xc7, 0x5b, 0xd7, 0x2f, 0xf3, 0xc4, 0x4a, 0xd1, 0xbb, 0xe1, - 0xd5, 0xfd, 0x38, 0xcc, 0xfb, 0xee, 0xe4, 0x4d, 0xa9, 0xab, 0xf4, 0x55, 0x3b, 0x01, 0xf3, 0x57, - 0x18, 0x33, 0xcf, 0xf8, 0x7e, 0x57, 0xeb, 0x6e, 0xa9, 0x36, 0x26, 0x7f, 0x11, 0x2a, 0x9c, 0x7c, - 0x60, 0x3a, 0x48, 0xb3, 0x7a, 0xa6, 0x7e, 0x1b, 0x75, 0x12, 0x50, 0xff, 0x65, 0x64, 0xa9, 0x76, - 0x03, 0x70, 0xcc, 0xbc, 0x01, 0xa2, 0xdf, 0xab, 0x28, 0x7a, 0xdf, 0xb6, 0x1c, 0x2f, 0x86, 0xf1, - 0xab, 0x7c, 0xa5, 0x7c, 0xdc, 0x06, 0x81, 0xd5, 0x1a, 0x50, 0x26, 0x8f, 0x49, 0x43, 0xf2, 0xaf, - 0x18, 0xd1, 0xe4, 0x10, 0xc5, 0x12, 0x87, 0x66, 0xf5, 0x6d, 0xd5, 0x49, 0x92, 0xff, 0xfe, 0x9a, - 0x27, 0x0e, 0x06, 0x61, 0x89, 0xc3, 0x3b, 0xb0, 0x11, 0xae, 0xf6, 0x09, 0x18, 0xbe, 0xc6, 0x13, - 0x07, 0xc7, 0x30, 0x0a, 0xde, 0x30, 0x24, 0xa0, 0xf8, 0x1b, 0x4e, 0xc1, 0x31, 0x98, 0xe2, 0xa3, - 0xc3, 0x42, 0xeb, 0xa0, 0x9e, 0xee, 0x7a, 0x0e, 0x6d, 0x85, 0x8f, 0xa6, 0xfa, 0xfa, 0x3b, 0xe1, - 0x26, 0x4c, 0x0e, 0x40, 0x71, 0x26, 0x62, 0x57, 0xa8, 0xe4, 0xa4, 0x14, 0x6f, 0xd8, 0x37, 0x78, - 0x26, 0x0a, 0xc0, 0xb0, 0x6d, 0x81, 0x0e, 0x11, 0xbb, 0x5d, 0xc3, 0xe7, 0x83, 0x04, 0x74, 0xdf, - 0x8c, 0x18, 0xd7, 0xe6, 0x58, 0xcc, 0x19, 0xe8, 0x7f, 0x06, 0xe6, 0x0d, 0x74, 0x90, 0x28, 0x3a, - 0xff, 0x36, 0xd2, 0xff, 0xec, 0x52, 0x24, 0xcd, 0x21, 0x53, 0x91, 0x7e, 0x4a, 0x8a, 0xfb, 0xb1, - 0x4e, 0xe5, 0x17, 0xee, 0xb3, 0xf9, 0x86, 0xdb, 0xa9, 0xda, 0x26, 0x0e, 0xf2, 0x70, 0xd3, 0x13, - 0x4f, 0xf6, 0xea, 0x7d, 0x3f, 0xce, 0x43, 0x3d, 0x4f, 0xed, 0x1a, 0x4c, 0x86, 0x1a, 0x9e, 0x78, - 0xaa, 0x5f, 0x64, 0x54, 0xa5, 0x60, 0xbf, 0x53, 0xbb, 0x08, 0x19, 0xdc, 0xbc, 0xc4, 0xc3, 0x7f, - 0x89, 0xc1, 0x89, 0x7a, 0xed, 0xc3, 0x90, 0xe7, 0x4d, 0x4b, 0x3c, 0xf4, 0x97, 0x19, 0xd4, 0x87, - 0x60, 0x38, 0x6f, 0x58, 0xe2, 0xe1, 0xbf, 0xc2, 0xe1, 0x1c, 0x82, 0xe1, 0xc9, 0x5d, 0xf8, 0x77, - 0xbf, 0x96, 0x61, 0x45, 0x87, 0xfb, 0xee, 0x2a, 0x4c, 0xb0, 0x4e, 0x25, 0x1e, 0xfd, 0x49, 0xf6, - 0x72, 0x8e, 0xa8, 0x3d, 0x03, 0xd9, 0x84, 0x0e, 0xff, 0x75, 0x06, 0xa5, 0xfa, 0xb5, 0x55, 0x28, - 0x06, 0xba, 0x93, 0x78, 0xf8, 0x6f, 0x30, 0x78, 0x10, 0x85, 0x4d, 0x67, 0xdd, 0x49, 0x3c, 0xc1, - 0x6f, 0x72, 0xd3, 0x19, 0x02, 0xbb, 0x8d, 0x37, 0x26, 0xf1, 0xe8, 0x4f, 0x71, 0xaf, 0x73, 0x48, - 0xed, 0x39, 0x28, 0xf8, 0xc5, 0x26, 0x1e, 0xff, 0x5b, 0x0c, 0x3f, 0xc4, 0x60, 0x0f, 0x04, 0x8a, - 0x5d, 0x3c, 0xc5, 0x6f, 0x73, 0x0f, 0x04, 0x50, 0x78, 0x1b, 0x45, 0x1b, 0x98, 0x78, 0xa6, 0xdf, - 0xe1, 0xdb, 0x28, 0xd2, 0xbf, 0xe0, 0xd5, 0x24, 0x39, 0x3f, 0x9e, 0xe2, 0x77, 0xf9, 0x6a, 0x12, - 0x7d, 0x6c, 0x46, 0xb4, 0x23, 0x88, 0xe7, 0xf8, 0x3d, 0x6e, 0x46, 0xa4, 0x21, 0xa8, 0xb5, 0x40, - 0x1a, 0xed, 0x06, 0xe2, 0xf9, 0x3e, 0xcd, 0xf8, 0xa6, 0x47, 0x9a, 0x81, 0xda, 0x0b, 0x30, 0x37, - 0xbe, 0x13, 0x88, 0x67, 0xfd, 0xcc, 0xfd, 0xc8, 0xd9, 0x2d, 0xd8, 0x08, 0xd4, 0x76, 0x86, 0x25, - 0x25, 0xd8, 0x05, 0xc4, 0xd3, 0xbe, 0x76, 0x3f, 0x9c, 0xb8, 0x83, 0x4d, 0x40, 0xad, 0x0e, 0x30, - 0x2c, 0xc0, 0xf1, 0x5c, 0xaf, 0x33, 0xae, 0x00, 0x08, 0x6f, 0x0d, 0x56, 0x7f, 0xe3, 0xf1, 0x9f, - 0xe5, 0x5b, 0x83, 0x21, 0xf0, 0xd6, 0xe0, 0xa5, 0x37, 0x1e, 0xfd, 0x06, 0xdf, 0x1a, 0x1c, 0x82, - 0x23, 0x3b, 0x50, 0xdd, 0xe2, 0x19, 0xee, 0xf2, 0xc8, 0x0e, 0xa0, 0x6a, 0xdb, 0x30, 0x3d, 0x52, - 0x10, 0xe3, 0xa9, 0x3e, 0xcf, 0xa8, 0xc4, 0x68, 0x3d, 0x0c, 0x16, 0x2f, 0x56, 0x0c, 0xe3, 0xd9, - 0xfe, 0x30, 0x52, 0xbc, 0x58, 0x2d, 0xac, 0x5d, 0x85, 0xbc, 0x39, 0x30, 0x0c, 0xbc, 0x79, 0xa4, - 0xa3, 0x7f, 0x60, 0x57, 0xf9, 0xcf, 0x77, 0x99, 0x77, 0x38, 0xa0, 0x76, 0x11, 0xb2, 0xa8, 0xbf, - 0x87, 0x3a, 0x71, 0xc8, 0xff, 0x7a, 0x97, 0x27, 0x4c, 0xac, 0x5d, 0x7b, 0x0e, 0x80, 0x5e, 0x8d, - 0x90, 0xcf, 0x7e, 0x31, 0xd8, 0xff, 0x7e, 0x97, 0xfd, 0xf4, 0x65, 0x08, 0x19, 0x12, 0xd0, 0x1f, - 0xd2, 0x1c, 0x4d, 0xf0, 0x4e, 0x98, 0x80, 0xac, 0xc8, 0x15, 0x98, 0xb8, 0xee, 0x5a, 0xa6, 0xa7, - 0xf6, 0xe2, 0xd0, 0xdf, 0x63, 0x68, 0xae, 0x8f, 0x1d, 0xd6, 0xb7, 0x1c, 0xe4, 0xa9, 0x3d, 0x37, - 0x0e, 0xfb, 0x3f, 0x0c, 0xeb, 0x03, 0x30, 0x58, 0x53, 0x5d, 0x2f, 0xc9, 0xbc, 0xbf, 0xcf, 0xc1, - 0x1c, 0x80, 0x8d, 0xc6, 0x7f, 0xdf, 0x40, 0x07, 0x71, 0xd8, 0x1f, 0x70, 0xa3, 0x99, 0x7e, 0xed, - 0xc3, 0x50, 0xc0, 0x7f, 0xd2, 0xdf, 0xb3, 0xc5, 0x80, 0xff, 0x97, 0x81, 0x87, 0x08, 0xfc, 0x66, - 0xd7, 0xeb, 0x78, 0x7a, 0xbc, 0xb3, 0xff, 0x8f, 0xad, 0x34, 0xd7, 0xaf, 0xd5, 0xa1, 0xe8, 0x7a, - 0x9d, 0xce, 0x80, 0xf5, 0xa7, 0x31, 0xf0, 0xff, 0x7f, 0xd7, 0xbf, 0xb2, 0xf0, 0x31, 0x78, 0xb5, - 0x6f, 0xdd, 0xf0, 0x6c, 0x8b, 0x7c, 0xe6, 0x88, 0x63, 0xb8, 0xcf, 0x18, 0x02, 0x90, 0x95, 0xc6, - 0xf8, 0xeb, 0x5b, 0x58, 0xb7, 0xd6, 0x2d, 0x7a, 0x71, 0xfb, 0x72, 0x35, 0xfe, 0x06, 0x16, 0xbe, - 0x97, 0x81, 0x93, 0xc1, 0xcc, 0xd8, 0x73, 0xac, 0x81, 0xcd, 0xae, 0x64, 0xa7, 0x47, 0x06, 0xe6, - 0x8f, 0x77, 0xa9, 0x5b, 0x35, 0x01, 0xb6, 0xd1, 0xad, 0x6d, 0x6b, 0x1d, 0x83, 0xa5, 0x39, 0xc8, - 0x91, 0x69, 0x3d, 0x45, 0x3e, 0x4b, 0xa6, 0x65, 0xf6, 0xe4, 0xcb, 0x2f, 0x90, 0xdf, 0xe0, 0x0b, - 0x4c, 0x7e, 0x41, 0xaa, 0x82, 0x50, 0x27, 0xdf, 0x5d, 0x8a, 0xcb, 0xb3, 0x4b, 0xa3, 0x46, 0xd6, - 0x65, 0xa1, 0x5e, 0x2b, 0xfd, 0xea, 0xdd, 0xd3, 0xc2, 0xa7, 0xee, 0x9e, 0x16, 0x3e, 0x77, 0xf7, - 0xb4, 0x50, 0x3d, 0x07, 0x42, 0x1d, 0xd3, 0xd5, 0x09, 0x03, 0x7f, 0x0d, 0x7d, 0x8a, 0xa8, 0xfe, - 0x63, 0x0a, 0x4a, 0x4d, 0xa3, 0xf3, 0x82, 0xee, 0xed, 0x1f, 0x6d, 0xdd, 0xb3, 0x90, 0x23, 0xef, - 0x7b, 0x8a, 0xdc, 0xb5, 0xc3, 0xf2, 0x63, 0x63, 0x4c, 0x09, 0x12, 0x2d, 0x91, 0x7f, 0x9f, 0x92, - 0x19, 0xea, 0xd0, 0xd9, 0x71, 0xde, 0x65, 0x72, 0x29, 0x9f, 0x94, 0x77, 0x99, 0xf1, 0x2e, 0xcf, - 0xb7, 0x20, 0xb7, 0x1e, 0x7e, 0xc3, 0x61, 0x7e, 0x5d, 0xe6, 0xbf, 0x5c, 0xa4, 0x4f, 0x87, 0x59, - 0x34, 0x7f, 0x99, 0x31, 0x2e, 0x27, 0x62, 0x1c, 0x22, 0x97, 0x57, 0x16, 0xbf, 0x7d, 0x6f, 0xe1, - 0xc4, 0x3f, 0xdf, 0x5b, 0x38, 0xf1, 0x2f, 0xf7, 0x16, 0x4e, 0x7c, 0xf7, 0xde, 0x82, 0xf0, 0x83, - 0x7b, 0x0b, 0xc2, 0x0f, 0xef, 0x2d, 0x08, 0x77, 0xde, 0x5a, 0x10, 0xbe, 0xf8, 0xd6, 0x82, 0xf0, - 0xe5, 0xb7, 0x16, 0x84, 0xaf, 0xbf, 0xb5, 0x20, 0xfc, 0x28, 0x00, 0x00, 0xff, 0xff, 0x80, 0x8e, - 0x51, 0x68, 0x0b, 0x35, 0x00, 0x00, + // 4008 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0x5b, 0x70, 0xe3, 0xe6, + 0x75, 0x5e, 0xf0, 0x26, 0xf2, 0x90, 0xa2, 0x20, 0x48, 0xd6, 0xd2, 0x72, 0xac, 0xdd, 0xa5, 0x6f, + 0x5a, 0x3b, 0xd6, 0xc6, 0xda, 0x8b, 0xd7, 0xdc, 0xc6, 0x2e, 0x25, 0x71, 0x15, 0xb9, 0x92, 0xc8, + 0x80, 0x52, 0x7c, 0xc9, 0x74, 0x30, 0x10, 0xf8, 0x93, 0xc2, 0x2e, 0x08, 0x20, 0x00, 0xb8, 0x6b, + 0xed, 0xf4, 0x61, 0x3b, 0xee, 0x2d, 0xd3, 0x5b, 0x7a, 0x99, 0x69, 0xe2, 0x3a, 0x6e, 0x36, 0x9d, + 0xc6, 0x69, 0x7a, 0x4b, 0x7a, 0x49, 0x93, 0xf4, 0xa5, 0x2f, 0x69, 0x3d, 0x7d, 0xe8, 0x34, 0x6f, + 0x7d, 0xe8, 0x43, 0xd6, 0xf5, 0x4c, 0x6f, 0x4e, 0x9b, 0xb6, 0xfb, 0x90, 0x19, 0xbf, 0x64, 0xfe, + 0x1b, 0x08, 0x80, 0x94, 0x00, 0x65, 0xc6, 0xce, 0xcb, 0xae, 0x70, 0xfe, 0xf3, 0x7d, 0x38, 0xff, + 0xf9, 0xcf, 0x7f, 0xce, 0xf9, 0x7f, 0x10, 0xde, 0xaa, 0xc1, 0xe9, 0x9e, 0x65, 0xf5, 0x0c, 0x74, + 0xce, 0x76, 0x2c, 0xcf, 0xda, 0x1b, 0x74, 0xcf, 0x75, 0x90, 0xab, 0x39, 0xba, 0xed, 0x59, 0xce, + 0x12, 0x91, 0x49, 0x53, 0x54, 0x63, 0x89, 0x6b, 0x54, 0xb7, 0x60, 0xfa, 0xaa, 0x6e, 0xa0, 0x35, + 0x5f, 0xb1, 0x8d, 0x3c, 0xe9, 0x32, 0x64, 0xba, 0xba, 0x81, 0x2a, 0xc2, 0xe9, 0xf4, 0x62, 0x71, + 0xf9, 0xe1, 0xa5, 0x08, 0x68, 0x29, 0x8c, 0x68, 0x61, 0xb1, 0x4c, 0x10, 0xd5, 0x77, 0x32, 0x30, + 0x33, 0x66, 0x54, 0x92, 0x20, 0x63, 0xaa, 0x7d, 0xcc, 0x28, 0x2c, 0x16, 0x64, 0xf2, 0xb7, 0x54, + 0x81, 0x09, 0x5b, 0xd5, 0xae, 0xab, 0x3d, 0x54, 0x49, 0x11, 0x31, 0x7f, 0x94, 0x16, 0x00, 0x3a, + 0xc8, 0x46, 0x66, 0x07, 0x99, 0xda, 0x41, 0x25, 0x7d, 0x3a, 0xbd, 0x58, 0x90, 0x03, 0x12, 0xe9, + 0x09, 0x98, 0xb6, 0x07, 0x7b, 0x86, 0xae, 0x29, 0x01, 0x35, 0x38, 0x9d, 0x5e, 0xcc, 0xca, 0x22, + 0x1d, 0x58, 0x1b, 0x2a, 0x3f, 0x06, 0x53, 0x37, 0x91, 0x7a, 0x3d, 0xa8, 0x5a, 0x24, 0xaa, 0x65, + 0x2c, 0x0e, 0x28, 0xae, 0x42, 0xa9, 0x8f, 0x5c, 0x57, 0xed, 0x21, 0xc5, 0x3b, 0xb0, 0x51, 0x25, + 0x43, 0x66, 0x7f, 0x7a, 0x64, 0xf6, 0xd1, 0x99, 0x17, 0x19, 0x6a, 0xe7, 0xc0, 0x46, 0x52, 0x1d, + 0x0a, 0xc8, 0x1c, 0xf4, 0x29, 0x43, 0xf6, 0x10, 0xff, 0x35, 0xcc, 0x41, 0x3f, 0xca, 0x92, 0xc7, + 0x30, 0x46, 0x31, 0xe1, 0x22, 0xe7, 0x86, 0xae, 0xa1, 0x4a, 0x8e, 0x10, 0x3c, 0x36, 0x42, 0xd0, + 0xa6, 0xe3, 0x51, 0x0e, 0x8e, 0x93, 0x56, 0xa1, 0x80, 0x5e, 0xf1, 0x90, 0xe9, 0xea, 0x96, 0x59, + 0x99, 0x20, 0x24, 0x8f, 0x8c, 0x59, 0x45, 0x64, 0x74, 0xa2, 0x14, 0x43, 0x9c, 0x74, 0x09, 0x26, + 0x2c, 0xdb, 0xd3, 0x2d, 0xd3, 0xad, 0xe4, 0x4f, 0x0b, 0x8b, 0xc5, 0xe5, 0x0f, 0x8d, 0x0d, 0x84, + 0x26, 0xd5, 0x91, 0xb9, 0xb2, 0xb4, 0x01, 0xa2, 0x6b, 0x0d, 0x1c, 0x0d, 0x29, 0x9a, 0xd5, 0x41, + 0x8a, 0x6e, 0x76, 0xad, 0x4a, 0x81, 0x10, 0x9c, 0x1a, 0x9d, 0x08, 0x51, 0x5c, 0xb5, 0x3a, 0x68, + 0xc3, 0xec, 0x5a, 0x72, 0xd9, 0x0d, 0x3d, 0x4b, 0x73, 0x90, 0x73, 0x0f, 0x4c, 0x4f, 0x7d, 0xa5, + 0x52, 0x22, 0x11, 0xc2, 0x9e, 0xaa, 0xdf, 0xcc, 0xc1, 0x54, 0x92, 0x10, 0xbb, 0x02, 0xd9, 0x2e, + 0x9e, 0x65, 0x25, 0x75, 0x1c, 0x1f, 0x50, 0x4c, 0xd8, 0x89, 0xb9, 0x1f, 0xd1, 0x89, 0x75, 0x28, + 0x9a, 0xc8, 0xf5, 0x50, 0x87, 0x46, 0x44, 0x3a, 0x61, 0x4c, 0x01, 0x05, 0x8d, 0x86, 0x54, 0xe6, + 0x47, 0x0a, 0xa9, 0x17, 0x61, 0xca, 0x37, 0x49, 0x71, 0x54, 0xb3, 0xc7, 0x63, 0xf3, 0x5c, 0x9c, + 0x25, 0x4b, 0x0d, 0x8e, 0x93, 0x31, 0x4c, 0x2e, 0xa3, 0xd0, 0xb3, 0xb4, 0x06, 0x60, 0x99, 0xc8, + 0xea, 0x2a, 0x1d, 0xa4, 0x19, 0x95, 0xfc, 0x21, 0x5e, 0x6a, 0x62, 0x95, 0x11, 0x2f, 0x59, 0x54, + 0xaa, 0x19, 0xd2, 0x33, 0xc3, 0x50, 0x9b, 0x38, 0x24, 0x52, 0xb6, 0xe8, 0x26, 0x1b, 0x89, 0xb6, + 0x5d, 0x28, 0x3b, 0x08, 0xc7, 0x3d, 0xea, 0xb0, 0x99, 0x15, 0x88, 0x11, 0x4b, 0xb1, 0x33, 0x93, + 0x19, 0x8c, 0x4e, 0x6c, 0xd2, 0x09, 0x3e, 0x4a, 0x0f, 0x81, 0x2f, 0x50, 0x48, 0x58, 0x01, 0xc9, + 0x42, 0x25, 0x2e, 0xdc, 0x56, 0xfb, 0x68, 0xfe, 0x16, 0x94, 0xc3, 0xee, 0x91, 0x66, 0x21, 0xeb, + 0x7a, 0xaa, 0xe3, 0x91, 0x28, 0xcc, 0xca, 0xf4, 0x41, 0x12, 0x21, 0x8d, 0xcc, 0x0e, 0xc9, 0x72, + 0x59, 0x19, 0xff, 0x29, 0xfd, 0xe4, 0x70, 0xc2, 0x69, 0x32, 0xe1, 0x47, 0x47, 0x57, 0x34, 0xc4, + 0x1c, 0x9d, 0xf7, 0xfc, 0xd3, 0x30, 0x19, 0x9a, 0x40, 0xd2, 0x57, 0x57, 0x7f, 0x06, 0xee, 0x1b, + 0x4b, 0x2d, 0xbd, 0x08, 0xb3, 0x03, 0x53, 0x37, 0x3d, 0xe4, 0xd8, 0x0e, 0xc2, 0x11, 0x4b, 0x5f, + 0x55, 0xf9, 0xb7, 0x89, 0x43, 0x62, 0x6e, 0x37, 0xa8, 0x4d, 0x59, 0xe4, 0x99, 0xc1, 0xa8, 0xf0, + 0xf1, 0x42, 0xfe, 0xdf, 0x27, 0xc4, 0xdb, 0xb7, 0x6f, 0xdf, 0x4e, 0x55, 0x3f, 0x9b, 0x83, 0xd9, + 0x71, 0x7b, 0x66, 0xec, 0xf6, 0x9d, 0x83, 0x9c, 0x39, 0xe8, 0xef, 0x21, 0x87, 0x38, 0x29, 0x2b, + 0xb3, 0x27, 0xa9, 0x0e, 0x59, 0x43, 0xdd, 0x43, 0x46, 0x25, 0x73, 0x5a, 0x58, 0x2c, 0x2f, 0x3f, + 0x91, 0x68, 0x57, 0x2e, 0x6d, 0x62, 0x88, 0x4c, 0x91, 0xd2, 0xb3, 0x90, 0x61, 0x29, 0x1a, 0x33, + 0x3c, 0x9e, 0x8c, 0x01, 0xef, 0x25, 0x99, 0xe0, 0xa4, 0x07, 0xa0, 0x80, 0xff, 0xa7, 0xb1, 0x91, + 0x23, 0x36, 0xe7, 0xb1, 0x00, 0xc7, 0x85, 0x34, 0x0f, 0x79, 0xb2, 0x4d, 0x3a, 0x88, 0x97, 0x36, + 0xff, 0x19, 0x07, 0x56, 0x07, 0x75, 0xd5, 0x81, 0xe1, 0x29, 0x37, 0x54, 0x63, 0x80, 0x48, 0xc0, + 0x17, 0xe4, 0x12, 0x13, 0x7e, 0x02, 0xcb, 0xa4, 0x53, 0x50, 0xa4, 0xbb, 0x4a, 0x37, 0x3b, 0xe8, + 0x15, 0x92, 0x3d, 0xb3, 0x32, 0xdd, 0x68, 0x1b, 0x58, 0x82, 0x5f, 0x7f, 0xcd, 0xb5, 0x4c, 0x1e, + 0x9a, 0xe4, 0x15, 0x58, 0x40, 0x5e, 0xff, 0x74, 0x34, 0x71, 0x3f, 0x38, 0x7e, 0x7a, 0xd1, 0x98, + 0xaa, 0x7e, 0x3d, 0x05, 0x19, 0x92, 0x2f, 0xa6, 0xa0, 0xb8, 0xf3, 0x52, 0xab, 0xa1, 0xac, 0x35, + 0x77, 0x57, 0x36, 0x1b, 0xa2, 0x20, 0x95, 0x01, 0x88, 0xe0, 0xea, 0x66, 0xb3, 0xbe, 0x23, 0xa6, + 0xfc, 0xe7, 0x8d, 0xed, 0x9d, 0x4b, 0x17, 0xc4, 0xb4, 0x0f, 0xd8, 0xa5, 0x82, 0x4c, 0x50, 0xe1, + 0xfc, 0xb2, 0x98, 0x95, 0x44, 0x28, 0x51, 0x82, 0x8d, 0x17, 0x1b, 0x6b, 0x97, 0x2e, 0x88, 0xb9, + 0xb0, 0xe4, 0xfc, 0xb2, 0x38, 0x21, 0x4d, 0x42, 0x81, 0x48, 0x56, 0x9a, 0xcd, 0x4d, 0x31, 0xef, + 0x73, 0xb6, 0x77, 0xe4, 0x8d, 0xed, 0x75, 0xb1, 0xe0, 0x73, 0xae, 0xcb, 0xcd, 0xdd, 0x96, 0x08, + 0x3e, 0xc3, 0x56, 0xa3, 0xdd, 0xae, 0xaf, 0x37, 0xc4, 0xa2, 0xaf, 0xb1, 0xf2, 0xd2, 0x4e, 0xa3, + 0x2d, 0x96, 0x42, 0x66, 0x9d, 0x5f, 0x16, 0x27, 0xfd, 0x57, 0x34, 0xb6, 0x77, 0xb7, 0xc4, 0xb2, + 0x34, 0x0d, 0x93, 0xf4, 0x15, 0xdc, 0x88, 0xa9, 0x88, 0xe8, 0xd2, 0x05, 0x51, 0x1c, 0x1a, 0x42, + 0x59, 0xa6, 0x43, 0x82, 0x4b, 0x17, 0x44, 0xa9, 0xba, 0x0a, 0x59, 0x12, 0x5d, 0x92, 0x04, 0xe5, + 0xcd, 0xfa, 0x4a, 0x63, 0x53, 0x69, 0xb6, 0x76, 0x36, 0x9a, 0xdb, 0xf5, 0x4d, 0x51, 0x18, 0xca, + 0xe4, 0xc6, 0xc7, 0x77, 0x37, 0xe4, 0xc6, 0x9a, 0x98, 0x0a, 0xca, 0x5a, 0x8d, 0xfa, 0x4e, 0x63, + 0x4d, 0x4c, 0x57, 0x35, 0x98, 0x1d, 0x97, 0x27, 0xc7, 0xee, 0x8c, 0xc0, 0x12, 0xa7, 0x0e, 0x59, + 0x62, 0xc2, 0x35, 0xb2, 0xc4, 0xff, 0x9a, 0x82, 0x99, 0x31, 0xb5, 0x62, 0xec, 0x4b, 0x9e, 0x83, + 0x2c, 0x0d, 0x51, 0x5a, 0x3d, 0xcf, 0x8e, 0x2d, 0x3a, 0x24, 0x60, 0x47, 0x2a, 0x28, 0xc1, 0x05, + 0x3b, 0x88, 0xf4, 0x21, 0x1d, 0x04, 0xa6, 0x18, 0xc9, 0xe9, 0x3f, 0x3d, 0x92, 0xd3, 0x69, 0xd9, + 0xbb, 0x94, 0xa4, 0xec, 0x11, 0xd9, 0xf1, 0x72, 0x7b, 0x76, 0x4c, 0x6e, 0xbf, 0x02, 0xd3, 0x23, + 0x44, 0x89, 0x73, 0xec, 0xab, 0x02, 0x54, 0x0e, 0x73, 0x4e, 0x4c, 0xa6, 0x4b, 0x85, 0x32, 0xdd, + 0x95, 0xa8, 0x07, 0xcf, 0x1c, 0xbe, 0x08, 0x23, 0x6b, 0xfd, 0xa6, 0x00, 0x73, 0xe3, 0x3b, 0xc5, + 0xb1, 0x36, 0x3c, 0x0b, 0xb9, 0x3e, 0xf2, 0xf6, 0x2d, 0xde, 0x2d, 0x3d, 0x3a, 0xa6, 0x06, 0xe3, + 0xe1, 0xe8, 0x62, 0x33, 0x54, 0xb0, 0x88, 0xa7, 0x0f, 0x6b, 0xf7, 0xa8, 0x35, 0x23, 0x96, 0x7e, + 0x3a, 0x05, 0xf7, 0x8d, 0x25, 0x1f, 0x6b, 0xe8, 0x83, 0x00, 0xba, 0x69, 0x0f, 0x3c, 0xda, 0x11, + 0xd1, 0x04, 0x5b, 0x20, 0x12, 0x92, 0xbc, 0x70, 0xf2, 0x1c, 0x78, 0xfe, 0x78, 0x9a, 0x8c, 0x03, + 0x15, 0x11, 0x85, 0xcb, 0x43, 0x43, 0x33, 0xc4, 0xd0, 0x85, 0x43, 0x66, 0x3a, 0x12, 0x98, 0x1f, + 0x01, 0x51, 0x33, 0x74, 0x64, 0x7a, 0x8a, 0xeb, 0x39, 0x48, 0xed, 0xeb, 0x66, 0x8f, 0x54, 0x90, + 0x7c, 0x2d, 0xdb, 0x55, 0x0d, 0x17, 0xc9, 0x53, 0x74, 0xb8, 0xcd, 0x47, 0x31, 0x82, 0x04, 0x90, + 0x13, 0x40, 0xe4, 0x42, 0x08, 0x3a, 0xec, 0x23, 0xaa, 0xbf, 0x52, 0x80, 0x62, 0xa0, 0xaf, 0x96, + 0xce, 0x40, 0xe9, 0x9a, 0x7a, 0x43, 0x55, 0xf8, 0x59, 0x89, 0x7a, 0xa2, 0x88, 0x65, 0x2d, 0x76, + 0x5e, 0xfa, 0x08, 0xcc, 0x12, 0x15, 0x6b, 0xe0, 0x21, 0x47, 0xd1, 0x0c, 0xd5, 0x75, 0x89, 0xd3, + 0xf2, 0x44, 0x55, 0xc2, 0x63, 0x4d, 0x3c, 0xb4, 0xca, 0x47, 0xa4, 0x8b, 0x30, 0x43, 0x10, 0xfd, + 0x81, 0xe1, 0xe9, 0xb6, 0x81, 0x14, 0x7c, 0x7a, 0x73, 0x49, 0x25, 0xf1, 0x2d, 0x9b, 0xc6, 0x1a, + 0x5b, 0x4c, 0x01, 0x5b, 0xe4, 0x4a, 0x6b, 0xf0, 0x20, 0x81, 0xf5, 0x90, 0x89, 0x1c, 0xd5, 0x43, + 0x0a, 0xfa, 0xd4, 0x40, 0x35, 0x5c, 0x45, 0x35, 0x3b, 0xca, 0xbe, 0xea, 0xee, 0x57, 0x66, 0x31, + 0xc1, 0x4a, 0xaa, 0x22, 0xc8, 0xf7, 0x63, 0xc5, 0x75, 0xa6, 0xd7, 0x20, 0x6a, 0x75, 0xb3, 0xf3, + 0x31, 0xd5, 0xdd, 0x97, 0x6a, 0x30, 0x47, 0x58, 0x5c, 0xcf, 0xd1, 0xcd, 0x9e, 0xa2, 0xed, 0x23, + 0xed, 0xba, 0x32, 0xf0, 0xba, 0x97, 0x2b, 0x0f, 0x04, 0xdf, 0x4f, 0x2c, 0x6c, 0x13, 0x9d, 0x55, + 0xac, 0xb2, 0xeb, 0x75, 0x2f, 0x4b, 0x6d, 0x28, 0xe1, 0xc5, 0xe8, 0xeb, 0xb7, 0x90, 0xd2, 0xb5, + 0x1c, 0x52, 0x1a, 0xcb, 0x63, 0x52, 0x53, 0xc0, 0x83, 0x4b, 0x4d, 0x06, 0xd8, 0xb2, 0x3a, 0xa8, + 0x96, 0x6d, 0xb7, 0x1a, 0x8d, 0x35, 0xb9, 0xc8, 0x59, 0xae, 0x5a, 0x0e, 0x0e, 0xa8, 0x9e, 0xe5, + 0x3b, 0xb8, 0x48, 0x03, 0xaa, 0x67, 0x71, 0xf7, 0x5e, 0x84, 0x19, 0x4d, 0xa3, 0x73, 0xd6, 0x35, + 0x85, 0x9d, 0xb1, 0xdc, 0x8a, 0x18, 0x72, 0x96, 0xa6, 0xad, 0x53, 0x05, 0x16, 0xe3, 0xae, 0xf4, + 0x0c, 0xdc, 0x37, 0x74, 0x56, 0x10, 0x38, 0x3d, 0x32, 0xcb, 0x28, 0xf4, 0x22, 0xcc, 0xd8, 0x07, + 0xa3, 0x40, 0x29, 0xf4, 0x46, 0xfb, 0x20, 0x0a, 0x7b, 0x1a, 0x66, 0xed, 0x7d, 0x7b, 0x14, 0xf7, + 0x78, 0x10, 0x27, 0xd9, 0xfb, 0x76, 0x14, 0xf8, 0x08, 0x39, 0x70, 0x3b, 0x48, 0x53, 0x3d, 0xd4, + 0xa9, 0x9c, 0x0c, 0xaa, 0x07, 0x06, 0xa4, 0x73, 0x20, 0x6a, 0x9a, 0x82, 0x4c, 0x75, 0xcf, 0x40, + 0x8a, 0xea, 0x20, 0x53, 0x75, 0x2b, 0xa7, 0x82, 0xca, 0x65, 0x4d, 0x6b, 0x90, 0xd1, 0x3a, 0x19, + 0x94, 0x1e, 0x87, 0x69, 0x6b, 0xef, 0x9a, 0x46, 0x43, 0x52, 0xb1, 0x1d, 0xd4, 0xd5, 0x5f, 0xa9, + 0x3c, 0x4c, 0xfc, 0x3b, 0x85, 0x07, 0x48, 0x40, 0xb6, 0x88, 0x58, 0x3a, 0x0b, 0xa2, 0xe6, 0xee, + 0xab, 0x8e, 0x4d, 0x72, 0xb2, 0x6b, 0xab, 0x1a, 0xaa, 0x3c, 0x42, 0x55, 0xa9, 0x7c, 0x9b, 0x8b, + 0xf1, 0x96, 0x70, 0x6f, 0xea, 0x5d, 0x8f, 0x33, 0x3e, 0x46, 0xb7, 0x04, 0x91, 0x31, 0xb6, 0x45, + 0x10, 0xb1, 0x2b, 0x42, 0x2f, 0x5e, 0x24, 0x6a, 0x65, 0x7b, 0xdf, 0x0e, 0xbe, 0xf7, 0x21, 0x98, + 0xc4, 0x9a, 0xc3, 0x97, 0x9e, 0xa5, 0x0d, 0x99, 0xbd, 0x1f, 0x78, 0xe3, 0x05, 0x98, 0xc3, 0x4a, + 0x7d, 0xe4, 0xa9, 0x1d, 0xd5, 0x53, 0x03, 0xda, 0x1f, 0x26, 0xda, 0xd8, 0xef, 0x5b, 0x6c, 0x30, + 0x64, 0xa7, 0x33, 0xd8, 0x3b, 0xf0, 0x23, 0xeb, 0x49, 0x6a, 0x27, 0x96, 0xf1, 0xd8, 0x7a, 0xdf, + 0x9a, 0xee, 0x6a, 0x0d, 0x4a, 0xc1, 0xc0, 0x97, 0x0a, 0x40, 0x43, 0x5f, 0x14, 0x70, 0x17, 0xb4, + 0xda, 0x5c, 0xc3, 0xfd, 0xcb, 0xcb, 0x0d, 0x31, 0x85, 0xfb, 0xa8, 0xcd, 0x8d, 0x9d, 0x86, 0x22, + 0xef, 0x6e, 0xef, 0x6c, 0x6c, 0x35, 0xc4, 0x74, 0xb0, 0x61, 0xff, 0x76, 0x0a, 0xca, 0xe1, 0xb3, + 0x97, 0xf4, 0x13, 0x70, 0x92, 0x5f, 0x94, 0xb8, 0xc8, 0x53, 0x6e, 0xea, 0x0e, 0xd9, 0x8b, 0x7d, + 0x95, 0xd6, 0x45, 0x3f, 0x1a, 0x66, 0x99, 0x56, 0x1b, 0x79, 0x2f, 0xe8, 0x0e, 0xde, 0x69, 0x7d, + 0xd5, 0x93, 0x36, 0xe1, 0x94, 0x69, 0x29, 0xae, 0xa7, 0x9a, 0x1d, 0xd5, 0xe9, 0x28, 0xc3, 0x2b, + 0x2a, 0x45, 0xd5, 0x34, 0xe4, 0xba, 0x16, 0xad, 0x81, 0x3e, 0xcb, 0x87, 0x4c, 0xab, 0xcd, 0x94, + 0x87, 0xc5, 0xa1, 0xce, 0x54, 0x23, 0x91, 0x9b, 0x3e, 0x2c, 0x72, 0x1f, 0x80, 0x42, 0x5f, 0xb5, + 0x15, 0x64, 0x7a, 0xce, 0x01, 0xe9, 0xb8, 0xf3, 0x72, 0xbe, 0xaf, 0xda, 0x0d, 0xfc, 0xfc, 0xc1, + 0x1c, 0x7c, 0xfe, 0x25, 0x0d, 0xa5, 0x60, 0xd7, 0x8d, 0x0f, 0x31, 0x1a, 0x29, 0x50, 0x02, 0x49, + 0x61, 0x0f, 0x1d, 0xd9, 0xa3, 0x2f, 0xad, 0xe2, 0xca, 0x55, 0xcb, 0xd1, 0x5e, 0x58, 0xa6, 0x48, + 0xdc, 0x35, 0xe0, 0xd0, 0x42, 0xb4, 0xf7, 0xc8, 0xcb, 0xec, 0x49, 0x5a, 0x87, 0xdc, 0x35, 0x97, + 0x70, 0xe7, 0x08, 0xf7, 0xc3, 0x47, 0x73, 0x3f, 0xdf, 0x26, 0xe4, 0x85, 0xe7, 0xdb, 0xca, 0x76, + 0x53, 0xde, 0xaa, 0x6f, 0xca, 0x0c, 0x2e, 0xdd, 0x0f, 0x19, 0x43, 0xbd, 0x75, 0x10, 0xae, 0x71, + 0x44, 0x94, 0xd4, 0xf1, 0xf7, 0x43, 0xe6, 0x26, 0x52, 0xaf, 0x87, 0x2b, 0x0b, 0x11, 0xbd, 0x8f, + 0xa1, 0x7f, 0x0e, 0xb2, 0xc4, 0x5f, 0x12, 0x00, 0xf3, 0x98, 0x78, 0x42, 0xca, 0x43, 0x66, 0xb5, + 0x29, 0xe3, 0xf0, 0x17, 0xa1, 0x44, 0xa5, 0x4a, 0x6b, 0xa3, 0xb1, 0xda, 0x10, 0x53, 0xd5, 0x8b, + 0x90, 0xa3, 0x4e, 0xc0, 0x5b, 0xc3, 0x77, 0x83, 0x78, 0x82, 0x3d, 0x32, 0x0e, 0x81, 0x8f, 0xee, + 0x6e, 0xad, 0x34, 0x64, 0x31, 0x15, 0x5c, 0x5e, 0x17, 0x4a, 0xc1, 0x86, 0xfb, 0x83, 0x89, 0xa9, + 0x6f, 0x09, 0x50, 0x0c, 0x34, 0xd0, 0xb8, 0xf3, 0x51, 0x0d, 0xc3, 0xba, 0xa9, 0xa8, 0x86, 0xae, + 0xba, 0x2c, 0x28, 0x80, 0x88, 0xea, 0x58, 0x92, 0x74, 0xd1, 0x3e, 0x10, 0xe3, 0xdf, 0x10, 0x40, + 0x8c, 0xf6, 0xae, 0x11, 0x03, 0x85, 0x1f, 0xab, 0x81, 0xaf, 0x0b, 0x50, 0x0e, 0x37, 0xac, 0x11, + 0xf3, 0xce, 0xfc, 0x58, 0xcd, 0xfb, 0x6e, 0x0a, 0x26, 0x43, 0x6d, 0x6a, 0x52, 0xeb, 0x3e, 0x05, + 0xd3, 0x7a, 0x07, 0xf5, 0x6d, 0xcb, 0x43, 0xa6, 0x76, 0xa0, 0x18, 0xe8, 0x06, 0x32, 0x2a, 0x55, + 0x92, 0x28, 0xce, 0x1d, 0xdd, 0x08, 0x2f, 0x6d, 0x0c, 0x71, 0x9b, 0x18, 0x56, 0x9b, 0xd9, 0x58, + 0x6b, 0x6c, 0xb5, 0x9a, 0x3b, 0x8d, 0xed, 0xd5, 0x97, 0x94, 0xdd, 0xed, 0x9f, 0xda, 0x6e, 0xbe, + 0xb0, 0x2d, 0x8b, 0x7a, 0x44, 0xed, 0x7d, 0xdc, 0xea, 0x2d, 0x10, 0xa3, 0x46, 0x49, 0x27, 0x61, + 0x9c, 0x59, 0xe2, 0x09, 0x69, 0x06, 0xa6, 0xb6, 0x9b, 0x4a, 0x7b, 0x63, 0xad, 0xa1, 0x34, 0xae, + 0x5e, 0x6d, 0xac, 0xee, 0xb4, 0xe9, 0xd5, 0x86, 0xaf, 0xbd, 0x13, 0xde, 0xd4, 0xaf, 0xa5, 0x61, + 0x66, 0x8c, 0x25, 0x52, 0x9d, 0x1d, 0x4a, 0xe8, 0x39, 0xe9, 0xc9, 0x24, 0xd6, 0x2f, 0xe1, 0xae, + 0xa0, 0xa5, 0x3a, 0x1e, 0x3b, 0xc3, 0x9c, 0x05, 0xec, 0x25, 0xd3, 0xd3, 0xbb, 0x3a, 0x72, 0xd8, + 0x4d, 0x10, 0x3d, 0xa9, 0x4c, 0x0d, 0xe5, 0xf4, 0x32, 0xe8, 0xc3, 0x20, 0xd9, 0x96, 0xab, 0x7b, + 0xfa, 0x0d, 0xa4, 0xe8, 0x26, 0xbf, 0x36, 0xc2, 0x27, 0x97, 0x8c, 0x2c, 0xf2, 0x91, 0x0d, 0xd3, + 0xf3, 0xb5, 0x4d, 0xd4, 0x53, 0x23, 0xda, 0x38, 0x81, 0xa7, 0x65, 0x91, 0x8f, 0xf8, 0xda, 0x67, + 0xa0, 0xd4, 0xb1, 0x06, 0xb8, 0x9d, 0xa3, 0x7a, 0xb8, 0x5e, 0x08, 0x72, 0x91, 0xca, 0x7c, 0x15, + 0xd6, 0xa8, 0x0f, 0xef, 0xab, 0x4a, 0x72, 0x91, 0xca, 0xa8, 0xca, 0x63, 0x30, 0xa5, 0xf6, 0x7a, + 0x0e, 0x26, 0xe7, 0x44, 0xf4, 0xe8, 0x51, 0xf6, 0xc5, 0x44, 0x71, 0xfe, 0x79, 0xc8, 0x73, 0x3f, + 0xe0, 0x92, 0x8c, 0x3d, 0xa1, 0xd8, 0xf4, 0x3c, 0x9d, 0x5a, 0x2c, 0xc8, 0x79, 0x93, 0x0f, 0x9e, + 0x81, 0x92, 0xee, 0x2a, 0xc3, 0xeb, 0xf7, 0xd4, 0xe9, 0xd4, 0x62, 0x5e, 0x2e, 0xea, 0xae, 0x7f, + 0x75, 0x59, 0x7d, 0x33, 0x05, 0xe5, 0xf0, 0xe7, 0x03, 0x69, 0x0d, 0xf2, 0x86, 0xa5, 0xa9, 0x24, + 0xb4, 0xe8, 0xb7, 0xab, 0xc5, 0x98, 0x2f, 0x0e, 0x4b, 0x9b, 0x4c, 0x5f, 0xf6, 0x91, 0xf3, 0xff, + 0x28, 0x40, 0x9e, 0x8b, 0xa5, 0x39, 0xc8, 0xd8, 0xaa, 0xb7, 0x4f, 0xe8, 0xb2, 0x2b, 0x29, 0x51, + 0x90, 0xc9, 0x33, 0x96, 0xbb, 0xb6, 0x6a, 0x92, 0x10, 0x60, 0x72, 0xfc, 0x8c, 0xd7, 0xd5, 0x40, + 0x6a, 0x87, 0x9c, 0x6b, 0xac, 0x7e, 0x1f, 0x99, 0x9e, 0xcb, 0xd7, 0x95, 0xc9, 0x57, 0x99, 0x58, + 0x7a, 0x02, 0xa6, 0x3d, 0x47, 0xd5, 0x8d, 0x90, 0x6e, 0x86, 0xe8, 0x8a, 0x7c, 0xc0, 0x57, 0xae, + 0xc1, 0xfd, 0x9c, 0xb7, 0x83, 0x3c, 0x55, 0xdb, 0x47, 0x9d, 0x21, 0x28, 0x47, 0xee, 0x2f, 0x4e, + 0x32, 0x85, 0x35, 0x36, 0xce, 0xb1, 0xd5, 0xef, 0x08, 0x30, 0xcd, 0x4f, 0x62, 0x1d, 0xdf, 0x59, + 0x5b, 0x00, 0xaa, 0x69, 0x5a, 0x5e, 0xd0, 0x5d, 0xa3, 0xa1, 0x3c, 0x82, 0x5b, 0xaa, 0xfb, 0x20, + 0x39, 0x40, 0x30, 0xdf, 0x07, 0x18, 0x8e, 0x1c, 0xea, 0xb6, 0x53, 0x50, 0x64, 0xdf, 0x86, 0xc8, + 0x07, 0x46, 0x7a, 0x76, 0x07, 0x2a, 0xc2, 0x47, 0x36, 0x69, 0x16, 0xb2, 0x7b, 0xa8, 0xa7, 0x9b, + 0xec, 0xc6, 0x97, 0x3e, 0xf0, 0x1b, 0x96, 0x8c, 0x7f, 0xc3, 0xb2, 0xf2, 0x49, 0x98, 0xd1, 0xac, + 0x7e, 0xd4, 0xdc, 0x15, 0x31, 0x72, 0x7f, 0xe0, 0x7e, 0x4c, 0x78, 0x19, 0x86, 0x2d, 0xe6, 0x0f, + 0x04, 0xe1, 0x8b, 0xa9, 0xf4, 0x7a, 0x6b, 0xe5, 0x2b, 0xa9, 0xf9, 0x75, 0x0a, 0x6d, 0xf1, 0x99, + 0xca, 0xa8, 0x6b, 0x20, 0x0d, 0x5b, 0x0f, 0x5f, 0x7a, 0x02, 0x9e, 0xec, 0xe9, 0xde, 0xfe, 0x60, + 0x6f, 0x49, 0xb3, 0xfa, 0xe7, 0x7a, 0x56, 0xcf, 0x1a, 0x7e, 0x53, 0xc5, 0x4f, 0xe4, 0x81, 0xfc, + 0xc5, 0xbe, 0xab, 0x16, 0x7c, 0xe9, 0x7c, 0xec, 0x47, 0xd8, 0xda, 0x36, 0xcc, 0x30, 0x65, 0x85, + 0x7c, 0xd8, 0xa1, 0xc7, 0x13, 0xe9, 0xc8, 0xcb, 0xb1, 0xca, 0xd7, 0xde, 0x21, 0xe5, 0x5a, 0x9e, + 0x66, 0x50, 0x3c, 0x46, 0x4f, 0x30, 0x35, 0x19, 0xee, 0x0b, 0xf1, 0xd1, 0xad, 0x89, 0x9c, 0x18, + 0xc6, 0x6f, 0x33, 0xc6, 0x99, 0x00, 0x63, 0x9b, 0x41, 0x6b, 0xab, 0x30, 0x79, 0x1c, 0xae, 0xbf, + 0x63, 0x5c, 0x25, 0x14, 0x24, 0x59, 0x87, 0x29, 0x42, 0xa2, 0x0d, 0x5c, 0xcf, 0xea, 0x93, 0xbc, + 0x77, 0x34, 0xcd, 0xdf, 0xbf, 0x43, 0xf7, 0x4a, 0x19, 0xc3, 0x56, 0x7d, 0x54, 0xad, 0x06, 0xe4, + 0x5b, 0x56, 0x07, 0x69, 0x46, 0x0c, 0xc3, 0x5b, 0xcc, 0x10, 0x5f, 0xbf, 0xf6, 0x09, 0x98, 0xc5, + 0x7f, 0x93, 0xb4, 0x14, 0xb4, 0x24, 0xfe, 0x26, 0xad, 0xf2, 0x9d, 0x57, 0xe9, 0x76, 0x9c, 0xf1, + 0x09, 0x02, 0x36, 0x05, 0x56, 0xb1, 0x87, 0x3c, 0x0f, 0x39, 0xae, 0xa2, 0x1a, 0xe3, 0xcc, 0x0b, + 0x5c, 0x45, 0x54, 0x3e, 0xf7, 0x6e, 0x78, 0x15, 0xd7, 0x29, 0xb2, 0x6e, 0x18, 0xb5, 0x5d, 0x38, + 0x39, 0x26, 0x2a, 0x12, 0x70, 0xbe, 0xc6, 0x38, 0x67, 0x47, 0x22, 0x03, 0xd3, 0xb6, 0x80, 0xcb, + 0xfd, 0xb5, 0x4c, 0xc0, 0xf9, 0xbb, 0x8c, 0x53, 0x62, 0x58, 0xbe, 0xa4, 0x98, 0xf1, 0x79, 0x98, + 0xbe, 0x81, 0x9c, 0x3d, 0xcb, 0x65, 0xd7, 0x3f, 0x09, 0xe8, 0x5e, 0x67, 0x74, 0x53, 0x0c, 0x48, + 0xee, 0x83, 0x30, 0xd7, 0x33, 0x90, 0xef, 0xaa, 0x1a, 0x4a, 0x40, 0xf1, 0x79, 0x46, 0x31, 0x81, + 0xf5, 0x31, 0xb4, 0x0e, 0xa5, 0x9e, 0xc5, 0x2a, 0x53, 0x3c, 0xfc, 0x0d, 0x06, 0x2f, 0x72, 0x0c, + 0xa3, 0xb0, 0x2d, 0x7b, 0x60, 0xe0, 0xb2, 0x15, 0x4f, 0xf1, 0x7b, 0x9c, 0x82, 0x63, 0x18, 0xc5, + 0x31, 0xdc, 0xfa, 0x05, 0x4e, 0xe1, 0x06, 0xfc, 0xf9, 0x1c, 0x14, 0x2d, 0xd3, 0x38, 0xb0, 0xcc, + 0x24, 0x46, 0xdc, 0x61, 0x0c, 0xc0, 0x20, 0x98, 0xe0, 0x0a, 0x14, 0x92, 0x2e, 0xc4, 0x1f, 0xbc, + 0xcb, 0xb7, 0x07, 0x5f, 0x81, 0x75, 0x98, 0xe2, 0x09, 0x4a, 0xb7, 0xcc, 0x04, 0x14, 0x5f, 0x62, + 0x14, 0xe5, 0x00, 0x8c, 0x4d, 0xc3, 0x43, 0xae, 0xd7, 0x43, 0x49, 0x48, 0xde, 0xe4, 0xd3, 0x60, + 0x10, 0xe6, 0xca, 0x3d, 0x64, 0x6a, 0xfb, 0xc9, 0x18, 0xbe, 0xcc, 0x5d, 0xc9, 0x31, 0x98, 0x62, + 0x15, 0x26, 0xfb, 0xaa, 0xe3, 0xee, 0xab, 0x46, 0xa2, 0xe5, 0xf8, 0x43, 0xc6, 0x51, 0xf2, 0x41, + 0xcc, 0x23, 0x03, 0xf3, 0x38, 0x34, 0x5f, 0xe1, 0x1e, 0x09, 0xc0, 0xd8, 0xd6, 0x73, 0x3d, 0x72, + 0x57, 0x76, 0x1c, 0xb6, 0x3f, 0xe2, 0x5b, 0x8f, 0x62, 0xb7, 0x82, 0x8c, 0x57, 0xa0, 0xe0, 0xea, + 0xb7, 0x12, 0xd1, 0xfc, 0x31, 0x5f, 0x69, 0x02, 0xc0, 0xe0, 0x97, 0xe0, 0xfe, 0xb1, 0x65, 0x22, + 0x01, 0xd9, 0x9f, 0x30, 0xb2, 0xb9, 0x31, 0xa5, 0x82, 0xa5, 0x84, 0xe3, 0x52, 0xfe, 0x29, 0x4f, + 0x09, 0x28, 0xc2, 0xd5, 0xc2, 0x67, 0x05, 0x57, 0xed, 0x1e, 0xcf, 0x6b, 0x7f, 0xc6, 0xbd, 0x46, + 0xb1, 0x21, 0xaf, 0xed, 0xc0, 0x1c, 0x63, 0x3c, 0xde, 0xba, 0x7e, 0x95, 0x27, 0x56, 0x8a, 0xde, + 0x0d, 0xaf, 0xee, 0x27, 0x61, 0xde, 0x77, 0x27, 0x6f, 0x4a, 0x5d, 0xa5, 0xaf, 0xda, 0x09, 0x98, + 0xbf, 0xc6, 0x98, 0x79, 0xc6, 0xf7, 0xbb, 0x5a, 0x77, 0x4b, 0xb5, 0x31, 0xf9, 0x8b, 0x50, 0xe1, + 0xe4, 0x03, 0xd3, 0x41, 0x9a, 0xd5, 0x33, 0xf5, 0x5b, 0xa8, 0x93, 0x80, 0xfa, 0xcf, 0x23, 0x4b, + 0xb5, 0x1b, 0x80, 0x63, 0xe6, 0x0d, 0x10, 0xfd, 0x5e, 0x45, 0xd1, 0xfb, 0xb6, 0xe5, 0x78, 0x31, + 0x8c, 0x7f, 0xc1, 0x57, 0xca, 0xc7, 0x6d, 0x10, 0x58, 0xad, 0x01, 0x65, 0xf2, 0x98, 0x34, 0x24, + 0xff, 0x92, 0x11, 0x4d, 0x0e, 0x51, 0x2c, 0x71, 0x68, 0x56, 0xdf, 0x56, 0x9d, 0x24, 0xf9, 0xef, + 0xaf, 0x78, 0xe2, 0x60, 0x10, 0x96, 0x38, 0xbc, 0x03, 0x1b, 0xe1, 0x6a, 0x9f, 0x80, 0xe1, 0xeb, + 0x3c, 0x71, 0x70, 0x0c, 0xa3, 0xe0, 0x0d, 0x43, 0x02, 0x8a, 0xbf, 0xe6, 0x14, 0x1c, 0x83, 0x29, + 0x3e, 0x3e, 0x2c, 0xb4, 0x0e, 0xea, 0xe9, 0xae, 0xe7, 0xd0, 0x56, 0xf8, 0x68, 0xaa, 0x6f, 0xbc, + 0x1b, 0x6e, 0xc2, 0xe4, 0x00, 0x14, 0x67, 0x22, 0x76, 0x85, 0x4a, 0x4e, 0x4a, 0xf1, 0x86, 0x7d, + 0x93, 0x67, 0xa2, 0x00, 0x0c, 0xdb, 0x16, 0xe8, 0x10, 0xb1, 0xdb, 0x35, 0x7c, 0x3e, 0x48, 0x40, + 0xf7, 0xad, 0x88, 0x71, 0x6d, 0x8e, 0xc5, 0x9c, 0x81, 0xfe, 0x67, 0x60, 0x5e, 0x47, 0x07, 0x89, + 0xa2, 0xf3, 0x6f, 0x22, 0xfd, 0xcf, 0x2e, 0x45, 0xd2, 0x1c, 0x32, 0x15, 0xe9, 0xa7, 0xa4, 0xb8, + 0x5f, 0x01, 0x55, 0x7e, 0xf6, 0x1e, 0x9b, 0x6f, 0xb8, 0x9d, 0xaa, 0x6d, 0xe2, 0x20, 0x0f, 0x37, + 0x3d, 0xf1, 0x64, 0xaf, 0xde, 0xf3, 0xe3, 0x3c, 0xd4, 0xf3, 0xd4, 0xae, 0xc2, 0x64, 0xa8, 0xe1, + 0x89, 0xa7, 0xfa, 0x39, 0x46, 0x55, 0x0a, 0xf6, 0x3b, 0xb5, 0x8b, 0x90, 0xc1, 0xcd, 0x4b, 0x3c, + 0xfc, 0xe7, 0x19, 0x9c, 0xa8, 0xd7, 0x3e, 0x0a, 0x79, 0xde, 0xb4, 0xc4, 0x43, 0x7f, 0x81, 0x41, + 0x7d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1e, 0xfe, 0x8b, 0x1c, 0xce, 0x21, 0x18, 0x9e, 0xdc, 0x85, + 0x7f, 0xfb, 0xcb, 0x19, 0x56, 0x74, 0xb8, 0xef, 0xae, 0xc0, 0x04, 0xeb, 0x54, 0xe2, 0xd1, 0x9f, + 0x66, 0x2f, 0xe7, 0x88, 0xda, 0xd3, 0x90, 0x4d, 0xe8, 0xf0, 0x5f, 0x65, 0x50, 0xaa, 0x5f, 0x5b, + 0x85, 0x62, 0xa0, 0x3b, 0x89, 0x87, 0xff, 0x1a, 0x83, 0x07, 0x51, 0xd8, 0x74, 0xd6, 0x9d, 0xc4, + 0x13, 0xfc, 0x3a, 0x37, 0x9d, 0x21, 0xb0, 0xdb, 0x78, 0x63, 0x12, 0x8f, 0xfe, 0x0c, 0xf7, 0x3a, + 0x87, 0xd4, 0x9e, 0x83, 0x82, 0x5f, 0x6c, 0xe2, 0xf1, 0xbf, 0xc1, 0xf0, 0x43, 0x0c, 0xf6, 0x40, + 0xa0, 0xd8, 0xc5, 0x53, 0xfc, 0x26, 0xf7, 0x40, 0x00, 0x85, 0xb7, 0x51, 0xb4, 0x81, 0x89, 0x67, + 0xfa, 0x2d, 0xbe, 0x8d, 0x22, 0xfd, 0x0b, 0x5e, 0x4d, 0x92, 0xf3, 0xe3, 0x29, 0x7e, 0x9b, 0xaf, + 0x26, 0xd1, 0xc7, 0x66, 0x44, 0x3b, 0x82, 0x78, 0x8e, 0xdf, 0xe1, 0x66, 0x44, 0x1a, 0x82, 0x5a, + 0x0b, 0xa4, 0xd1, 0x6e, 0x20, 0x9e, 0xef, 0xb3, 0x8c, 0x6f, 0x7a, 0xa4, 0x19, 0xa8, 0xbd, 0x00, + 0x73, 0xe3, 0x3b, 0x81, 0x78, 0xd6, 0xcf, 0xdd, 0x8b, 0x9c, 0xdd, 0x82, 0x8d, 0x40, 0x6d, 0x67, + 0x58, 0x52, 0x82, 0x5d, 0x40, 0x3c, 0xed, 0x6b, 0xf7, 0xc2, 0x89, 0x3b, 0xd8, 0x04, 0xd4, 0xea, + 0x00, 0xc3, 0x02, 0x1c, 0xcf, 0xf5, 0x3a, 0xe3, 0x0a, 0x80, 0xf0, 0xd6, 0x60, 0xf5, 0x37, 0x1e, + 0xff, 0x79, 0xbe, 0x35, 0x18, 0x02, 0x6f, 0x0d, 0x5e, 0x7a, 0xe3, 0xd1, 0x6f, 0xf0, 0xad, 0xc1, + 0x21, 0x38, 0xb2, 0x03, 0xd5, 0x2d, 0x9e, 0xe1, 0x0e, 0x8f, 0xec, 0x00, 0xaa, 0xb6, 0x0d, 0xd3, + 0x23, 0x05, 0x31, 0x9e, 0xea, 0x8b, 0x8c, 0x4a, 0x8c, 0xd6, 0xc3, 0x60, 0xf1, 0x62, 0xc5, 0x30, + 0x9e, 0xed, 0xf7, 0x23, 0xc5, 0x8b, 0xd5, 0xc2, 0xda, 0x15, 0xc8, 0x9b, 0x03, 0xc3, 0xc0, 0x9b, + 0x47, 0x3a, 0xfa, 0x97, 0x7b, 0x95, 0xff, 0x78, 0x8f, 0x79, 0x87, 0x03, 0x6a, 0x17, 0x21, 0x8b, + 0xfa, 0x7b, 0xa8, 0x13, 0x87, 0xfc, 0xcf, 0xf7, 0x78, 0xc2, 0xc4, 0xda, 0xb5, 0xe7, 0x00, 0xe8, + 0xd5, 0x08, 0xf9, 0xec, 0x17, 0x83, 0xfd, 0xaf, 0xf7, 0xd8, 0x6f, 0x6a, 0x86, 0x90, 0x21, 0x01, + 0xfd, 0x85, 0xce, 0xd1, 0x04, 0xef, 0x86, 0x09, 0xc8, 0x8a, 0x3c, 0x03, 0x13, 0xd7, 0x5c, 0xcb, + 0xf4, 0xd4, 0x5e, 0x1c, 0xfa, 0x7b, 0x0c, 0xcd, 0xf5, 0xb1, 0xc3, 0xfa, 0x96, 0x83, 0x3c, 0xb5, + 0xe7, 0xc6, 0x61, 0xff, 0x9b, 0x61, 0x7d, 0x00, 0x06, 0x6b, 0xaa, 0xeb, 0x25, 0x99, 0xf7, 0xff, + 0x70, 0x30, 0x07, 0x60, 0xa3, 0xf1, 0xdf, 0xd7, 0xd1, 0x41, 0x1c, 0xf6, 0xfb, 0xdc, 0x68, 0xa6, + 0x5f, 0xfb, 0x28, 0x14, 0xf0, 0x9f, 0xf4, 0x87, 0x72, 0x31, 0xe0, 0xff, 0x65, 0xe0, 0x21, 0x02, + 0xbf, 0xd9, 0xf5, 0x3a, 0x9e, 0x1e, 0xef, 0xec, 0xff, 0x63, 0x2b, 0xcd, 0xf5, 0x6b, 0x75, 0x28, + 0xba, 0x5e, 0xa7, 0x33, 0x60, 0xfd, 0x69, 0x0c, 0xfc, 0xff, 0xdf, 0xf3, 0xaf, 0x2c, 0x7c, 0x0c, + 0x5e, 0xed, 0x9b, 0xd7, 0x3d, 0xdb, 0x22, 0x9f, 0x39, 0xe2, 0x18, 0xee, 0x31, 0x86, 0x00, 0x64, + 0xa5, 0x31, 0xfe, 0xfa, 0x16, 0xd6, 0xad, 0x75, 0x8b, 0x5e, 0xdc, 0xbe, 0x5c, 0x8d, 0xbf, 0x81, + 0x85, 0xef, 0x65, 0xe0, 0x64, 0x30, 0x33, 0xf6, 0x1c, 0x6b, 0x60, 0xb3, 0x2b, 0xd9, 0xe9, 0x91, + 0x81, 0xf9, 0xe3, 0x5d, 0xea, 0x56, 0x4d, 0x80, 0x6d, 0x74, 0x73, 0xdb, 0x5a, 0xc7, 0x60, 0x69, + 0x0e, 0x72, 0x64, 0x5a, 0x4f, 0x91, 0xcf, 0x92, 0x69, 0x99, 0x3d, 0xf9, 0xf2, 0xf3, 0xe4, 0xc7, + 0xfd, 0x02, 0x93, 0x9f, 0x97, 0xaa, 0x20, 0xd4, 0xc9, 0x77, 0x97, 0xe2, 0xf2, 0xec, 0xd2, 0xa8, + 0x91, 0x75, 0x59, 0xa8, 0xd7, 0x4a, 0xbf, 0x74, 0xe7, 0x94, 0xf0, 0x99, 0x3b, 0xa7, 0x84, 0x2f, + 0xdc, 0x39, 0x25, 0x54, 0xcf, 0x82, 0x50, 0xc7, 0x74, 0x75, 0xc2, 0xc0, 0x5f, 0x43, 0x9f, 0x22, + 0xaa, 0xff, 0x90, 0x82, 0x52, 0xd3, 0xe8, 0xbc, 0xa0, 0x7b, 0xfb, 0x47, 0x5b, 0xf7, 0x2c, 0xe4, + 0xc8, 0xfb, 0x9e, 0x22, 0x77, 0xed, 0xb0, 0xfc, 0xe8, 0x18, 0x53, 0x82, 0x44, 0x4b, 0xe4, 0xdf, + 0xa7, 0x64, 0x86, 0x3a, 0x74, 0x76, 0x9c, 0x77, 0x99, 0x5c, 0xca, 0x27, 0xe5, 0x5d, 0x66, 0xbc, + 0xcb, 0xf3, 0x2d, 0xc8, 0xad, 0x87, 0xdf, 0x70, 0x98, 0x5f, 0x97, 0xf9, 0x4f, 0x22, 0xe9, 0xd3, + 0x61, 0x16, 0xcd, 0x5f, 0x66, 0x8c, 0xcb, 0x89, 0x18, 0x87, 0xc8, 0xe5, 0x95, 0xc5, 0xb7, 0xee, + 0x2e, 0x9c, 0xf8, 0xa7, 0xbb, 0x0b, 0x27, 0xfe, 0xf9, 0xee, 0xc2, 0x89, 0xef, 0xde, 0x5d, 0x10, + 0xbe, 0x7f, 0x77, 0x41, 0xf8, 0xc1, 0xdd, 0x05, 0xe1, 0xf6, 0xdb, 0x0b, 0xc2, 0x97, 0xdf, 0x5e, + 0x10, 0xbe, 0xfa, 0xf6, 0x82, 0xf0, 0x8d, 0xb7, 0x17, 0x84, 0x1f, 0x06, 0x00, 0x00, 0xff, 0xff, + 0x9d, 0x33, 0x4a, 0x98, 0x64, 0x35, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -1799,31 +1826,3 @@ var ( ErrInvalidLengthUnrecognizedgroup = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowUnrecognizedgroup = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("unrecognizedgroup.proto", fileDescriptor_unrecognizedgroup_ad1c77f6b1c6f338) -} - -var fileDescriptor_unrecognizedgroup_ad1c77f6b1c6f338 = []byte{ - // 305 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2f, 0xcd, 0x2b, 0x4a, - 0x4d, 0xce, 0x4f, 0xcf, 0xcb, 0xac, 0x4a, 0x4d, 0x49, 0x2f, 0xca, 0x2f, 0x2d, 0xd0, 0x2b, 0x28, - 0xca, 0x2f, 0xc9, 0x17, 0x12, 0xc4, 0x90, 0x90, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, - 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, 0x4f, 0xcf, 0xd7, 0x07, 0xab, 0x4c, 0x2a, 0x4d, 0x03, 0xf3, - 0xc0, 0x1c, 0x30, 0x0b, 0x62, 0x82, 0x52, 0x1e, 0x17, 0x97, 0x5f, 0x6a, 0xb9, 0x5f, 0xbe, 0x3b, - 0x48, 0xb3, 0x90, 0x18, 0x17, 0x9b, 0x5b, 0x66, 0x6a, 0x4e, 0x8a, 0xa1, 0x04, 0xa3, 0x02, 0xa3, - 0x06, 0x73, 0x10, 0x94, 0x07, 0x17, 0x37, 0x96, 0x60, 0x56, 0x60, 0xd6, 0x60, 0x84, 0x8a, 0x1b, - 0x0b, 0x29, 0x71, 0x31, 0x3a, 0x4a, 0xb0, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x89, 0xe8, 0x61, 0x3a, - 0xd2, 0x31, 0x88, 0xd1, 0xd1, 0x8a, 0xa7, 0x63, 0xa1, 0x3c, 0xe3, 0x84, 0x85, 0xf2, 0x8c, 0x0b, - 0x16, 0xca, 0x33, 0x2a, 0x69, 0x72, 0x31, 0x3a, 0x82, 0x8c, 0x73, 0x04, 0x9b, 0x00, 0xb3, 0x06, - 0xc2, 0x43, 0x53, 0x7a, 0x8a, 0x89, 0x8b, 0xc7, 0x3f, 0x27, 0x25, 0x3c, 0xb3, 0x24, 0x03, 0xbf, - 0xeb, 0xec, 0xb8, 0xd8, 0xc0, 0xf6, 0x19, 0x4a, 0x30, 0x29, 0x30, 0x6a, 0x70, 0x19, 0xa9, 0x61, - 0x71, 0x0a, 0xb2, 0x41, 0x7a, 0x60, 0xd2, 0x30, 0x08, 0xaa, 0x0b, 0xa7, 0xef, 0x60, 0xe6, 0x1a, - 0x49, 0xb0, 0x90, 0x60, 0xae, 0x11, 0xd4, 0x5c, 0x23, 0xa9, 0x00, 0x2e, 0x36, 0x77, 0x54, 0x1b, - 0x70, 0x85, 0xab, 0x11, 0xd8, 0xe5, 0xac, 0x50, 0x71, 0x23, 0x5c, 0x2e, 0x92, 0xb2, 0x80, 0x9a, - 0x68, 0x44, 0x94, 0x89, 0x08, 0x9d, 0x46, 0x4e, 0x1a, 0x27, 0x1e, 0xca, 0x31, 0x5c, 0x78, 0x28, - 0xc7, 0x70, 0xe3, 0xa1, 0x1c, 0xc3, 0x83, 0x87, 0x72, 0x8c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, - 0x28, 0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x0d, 0x8f, 0xe4, 0x18, 0x77, - 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0xef, 0x1c, 0xa5, 0xe4, 0x6d, 0x02, 0x00, - 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/test/xxxfields/xxxfields.pb.go b/vendor/github.com/gogo/protobuf/test/xxxfields/xxxfields.pb.go index d3e8eea58..b7aca4c32 100644 --- a/vendor/github.com/gogo/protobuf/test/xxxfields/xxxfields.pb.go +++ b/vendor/github.com/gogo/protobuf/test/xxxfields/xxxfields.pb.go @@ -3,12 +3,13 @@ package test -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import bytes "bytes" +import ( + bytes "bytes" + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -37,7 +38,7 @@ func (m *NativeWithSizeCache) Reset() { *m = NativeWithSizeCache{} } func (m *NativeWithSizeCache) String() string { return proto.CompactTextString(m) } func (*NativeWithSizeCache) ProtoMessage() {} func (*NativeWithSizeCache) Descriptor() ([]byte, []int) { - return fileDescriptor_xxxfields_2cd53c16cfe389cd, []int{0} + return fileDescriptor_ba18cdebbd18dc5d, []int{0} } func (m *NativeWithSizeCache) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NativeWithSizeCache.Unmarshal(m, b) @@ -45,8 +46,8 @@ func (m *NativeWithSizeCache) XXX_Unmarshal(b []byte) error { func (m *NativeWithSizeCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NativeWithSizeCache.Marshal(b, m, deterministic) } -func (dst *NativeWithSizeCache) XXX_Merge(src proto.Message) { - xxx_messageInfo_NativeWithSizeCache.Merge(dst, src) +func (m *NativeWithSizeCache) XXX_Merge(src proto.Message) { + xxx_messageInfo_NativeWithSizeCache.Merge(m, src) } func (m *NativeWithSizeCache) XXX_Size() int { return xxx_messageInfo_NativeWithSizeCache.Size(m) @@ -130,7 +131,7 @@ func (m *StructWithSizeCache) Reset() { *m = StructWithSizeCache{} } func (m *StructWithSizeCache) String() string { return proto.CompactTextString(m) } func (*StructWithSizeCache) ProtoMessage() {} func (*StructWithSizeCache) Descriptor() ([]byte, []int) { - return fileDescriptor_xxxfields_2cd53c16cfe389cd, []int{1} + return fileDescriptor_ba18cdebbd18dc5d, []int{1} } func (m *StructWithSizeCache) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StructWithSizeCache.Unmarshal(m, b) @@ -138,8 +139,8 @@ func (m *StructWithSizeCache) XXX_Unmarshal(b []byte) error { func (m *StructWithSizeCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_StructWithSizeCache.Marshal(b, m, deterministic) } -func (dst *StructWithSizeCache) XXX_Merge(src proto.Message) { - xxx_messageInfo_StructWithSizeCache.Merge(dst, src) +func (m *StructWithSizeCache) XXX_Merge(src proto.Message) { + xxx_messageInfo_StructWithSizeCache.Merge(m, src) } func (m *StructWithSizeCache) XXX_Size() int { return xxx_messageInfo_StructWithSizeCache.Size(m) @@ -228,7 +229,7 @@ func (m *NativeWithoutSizeCache) Reset() { *m = NativeWithoutSizeCache{} func (m *NativeWithoutSizeCache) String() string { return proto.CompactTextString(m) } func (*NativeWithoutSizeCache) ProtoMessage() {} func (*NativeWithoutSizeCache) Descriptor() ([]byte, []int) { - return fileDescriptor_xxxfields_2cd53c16cfe389cd, []int{2} + return fileDescriptor_ba18cdebbd18dc5d, []int{2} } func (m *NativeWithoutSizeCache) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NativeWithoutSizeCache.Unmarshal(m, b) @@ -236,8 +237,8 @@ func (m *NativeWithoutSizeCache) XXX_Unmarshal(b []byte) error { func (m *NativeWithoutSizeCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_NativeWithoutSizeCache.Marshal(b, m, deterministic) } -func (dst *NativeWithoutSizeCache) XXX_Merge(src proto.Message) { - xxx_messageInfo_NativeWithoutSizeCache.Merge(dst, src) +func (m *NativeWithoutSizeCache) XXX_Merge(src proto.Message) { + xxx_messageInfo_NativeWithoutSizeCache.Merge(m, src) } func (m *NativeWithoutSizeCache) XXX_Size() int { return xxx_messageInfo_NativeWithoutSizeCache.Size(m) @@ -320,7 +321,7 @@ func (m *StructWithoutSizeCache) Reset() { *m = StructWithoutSizeCache{} func (m *StructWithoutSizeCache) String() string { return proto.CompactTextString(m) } func (*StructWithoutSizeCache) ProtoMessage() {} func (*StructWithoutSizeCache) Descriptor() ([]byte, []int) { - return fileDescriptor_xxxfields_2cd53c16cfe389cd, []int{3} + return fileDescriptor_ba18cdebbd18dc5d, []int{3} } func (m *StructWithoutSizeCache) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StructWithoutSizeCache.Unmarshal(m, b) @@ -328,8 +329,8 @@ func (m *StructWithoutSizeCache) XXX_Unmarshal(b []byte) error { func (m *StructWithoutSizeCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_StructWithoutSizeCache.Marshal(b, m, deterministic) } -func (dst *StructWithoutSizeCache) XXX_Merge(src proto.Message) { - xxx_messageInfo_StructWithoutSizeCache.Merge(dst, src) +func (m *StructWithoutSizeCache) XXX_Merge(src proto.Message) { + xxx_messageInfo_StructWithoutSizeCache.Merge(m, src) } func (m *StructWithoutSizeCache) XXX_Size() int { return xxx_messageInfo_StructWithoutSizeCache.Size(m) @@ -409,6 +410,37 @@ func init() { proto.RegisterType((*NativeWithoutSizeCache)(nil), "test.NativeWithoutSizeCache") proto.RegisterType((*StructWithoutSizeCache)(nil), "test.StructWithoutSizeCache") } + +func init() { proto.RegisterFile("xxxfields.proto", fileDescriptor_ba18cdebbd18dc5d) } + +var fileDescriptor_ba18cdebbd18dc5d = []byte{ + // 375 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xaf, 0xa8, 0xa8, 0x48, + 0xcb, 0x4c, 0xcd, 0x49, 0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x29, 0x49, 0x2d, + 0x2e, 0x91, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, + 0x4f, 0xcf, 0xd7, 0x07, 0x4b, 0x26, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xa4, + 0xf4, 0x96, 0x91, 0x4b, 0xd8, 0x2f, 0xb1, 0x24, 0xb3, 0x2c, 0x35, 0x3c, 0xb3, 0x24, 0x23, 0x38, + 0xb3, 0x2a, 0xd5, 0x39, 0x31, 0x39, 0x23, 0x55, 0x48, 0x8c, 0x8b, 0xcd, 0x0d, 0x64, 0xb8, 0xa1, + 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x94, 0x07, 0x17, 0x37, 0x92, 0x60, 0x52, 0x60, 0xd4, + 0x60, 0x82, 0x8a, 0x1b, 0xc1, 0xc5, 0x8d, 0x25, 0x98, 0x15, 0x18, 0x35, 0x58, 0xa1, 0xe2, 0xc6, + 0x70, 0x71, 0x13, 0x09, 0x16, 0x05, 0x46, 0x0d, 0x66, 0xa8, 0xb8, 0x89, 0x90, 0x1c, 0x17, 0x3b, + 0xc4, 0x44, 0x43, 0x09, 0x6e, 0x05, 0x46, 0x0d, 0x36, 0x27, 0x96, 0x13, 0xf7, 0xe4, 0x19, 0x82, + 0x60, 0x82, 0x42, 0x12, 0x30, 0x79, 0x63, 0x09, 0x5e, 0x05, 0x46, 0x0d, 0x0e, 0x98, 0x8c, 0x31, + 0x42, 0xc6, 0x44, 0x82, 0x4f, 0x81, 0x51, 0x83, 0x13, 0x26, 0x63, 0x82, 0x90, 0x31, 0x95, 0xe0, + 0x57, 0x60, 0xd4, 0xe0, 0x81, 0xc9, 0x98, 0x5a, 0x71, 0x5c, 0x58, 0x28, 0xcf, 0x30, 0x63, 0x91, + 0x3c, 0x83, 0xd2, 0x2d, 0x26, 0x2e, 0xe1, 0xe0, 0x92, 0xa2, 0xd2, 0xe4, 0x12, 0x54, 0xff, 0xca, + 0xa0, 0xfa, 0x17, 0xea, 0x1c, 0x98, 0xaf, 0x65, 0x50, 0x7d, 0x8d, 0x22, 0x6b, 0x24, 0x64, 0x8e, + 0xe2, 0x77, 0x6e, 0x23, 0x49, 0x3d, 0x50, 0x4c, 0xe8, 0x61, 0x09, 0x56, 0x14, 0x8d, 0x88, 0xc0, + 0x31, 0x93, 0x60, 0x53, 0x60, 0xd4, 0x60, 0x81, 0x8a, 0x9b, 0xc1, 0xad, 0x33, 0x97, 0x60, 0x57, + 0x60, 0xd4, 0x10, 0x44, 0xd1, 0x65, 0x2e, 0x64, 0x05, 0x95, 0xb5, 0x90, 0xe0, 0x00, 0x5b, 0x27, + 0x83, 0x6e, 0x5d, 0x7e, 0x69, 0x09, 0x76, 0x1b, 0x2d, 0x50, 0x83, 0x95, 0x99, 0xb8, 0x60, 0x95, + 0x43, 0x0b, 0x56, 0xd4, 0xa8, 0x42, 0x0e, 0xdc, 0x2f, 0x8c, 0x5c, 0x62, 0xd8, 0x9d, 0x31, 0xcc, + 0xd2, 0x13, 0x0f, 0xc8, 0xcb, 0x13, 0x16, 0x41, 0xbd, 0xfd, 0x90, 0x89, 0x4b, 0x0c, 0x91, 0xa6, + 0x50, 0xbc, 0x3d, 0x9a, 0xac, 0xc8, 0x4e, 0x56, 0x28, 0x61, 0xec, 0xc4, 0xf3, 0xe3, 0xa1, 0x1c, + 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x02, 0x02, 0x00, 0x00, 0xff, 0xff, 0x72, + 0x3b, 0x20, 0xc7, 0xfc, 0x04, 0x00, 0x00, +} + func (this *NativeWithSizeCache) Equal(that interface{}) bool { if that == nil { return this == nil @@ -961,33 +993,3 @@ func encodeVarintPopulateXxxfields(dAtA []byte, v uint64) []byte { dAtA = append(dAtA, uint8(v)) return dAtA } - -func init() { proto.RegisterFile("xxxfields.proto", fileDescriptor_xxxfields_2cd53c16cfe389cd) } - -var fileDescriptor_xxxfields_2cd53c16cfe389cd = []byte{ - // 375 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xaf, 0xa8, 0xa8, 0x48, - 0xcb, 0x4c, 0xcd, 0x49, 0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x29, 0x49, 0x2d, - 0x2e, 0x91, 0xd2, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xcf, - 0x4f, 0xcf, 0xd7, 0x07, 0x4b, 0x26, 0x95, 0xa6, 0x81, 0x79, 0x60, 0x0e, 0x98, 0x05, 0xd1, 0xa4, - 0xf4, 0x96, 0x91, 0x4b, 0xd8, 0x2f, 0xb1, 0x24, 0xb3, 0x2c, 0x35, 0x3c, 0xb3, 0x24, 0x23, 0x38, - 0xb3, 0x2a, 0xd5, 0x39, 0x31, 0x39, 0x23, 0x55, 0x48, 0x8c, 0x8b, 0xcd, 0x0d, 0x64, 0xb8, 0xa1, - 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x94, 0x07, 0x17, 0x37, 0x92, 0x60, 0x52, 0x60, 0xd4, - 0x60, 0x82, 0x8a, 0x1b, 0xc1, 0xc5, 0x8d, 0x25, 0x98, 0x15, 0x18, 0x35, 0x58, 0xa1, 0xe2, 0xc6, - 0x70, 0x71, 0x13, 0x09, 0x16, 0x05, 0x46, 0x0d, 0x66, 0xa8, 0xb8, 0x89, 0x90, 0x1c, 0x17, 0x3b, - 0xc4, 0x44, 0x43, 0x09, 0x6e, 0x05, 0x46, 0x0d, 0x36, 0x27, 0x96, 0x13, 0xf7, 0xe4, 0x19, 0x82, - 0x60, 0x82, 0x42, 0x12, 0x30, 0x79, 0x63, 0x09, 0x5e, 0x05, 0x46, 0x0d, 0x0e, 0x98, 0x8c, 0x31, - 0x42, 0xc6, 0x44, 0x82, 0x4f, 0x81, 0x51, 0x83, 0x13, 0x26, 0x63, 0x82, 0x90, 0x31, 0x95, 0xe0, - 0x57, 0x60, 0xd4, 0xe0, 0x81, 0xc9, 0x98, 0x5a, 0x71, 0x5c, 0x58, 0x28, 0xcf, 0x30, 0x63, 0x91, - 0x3c, 0x83, 0xd2, 0x2d, 0x26, 0x2e, 0xe1, 0xe0, 0x92, 0xa2, 0xd2, 0xe4, 0x12, 0x54, 0xff, 0xca, - 0xa0, 0xfa, 0x17, 0xea, 0x1c, 0x98, 0xaf, 0x65, 0x50, 0x7d, 0x8d, 0x22, 0x6b, 0x24, 0x64, 0x8e, - 0xe2, 0x77, 0x6e, 0x23, 0x49, 0x3d, 0x50, 0x4c, 0xe8, 0x61, 0x09, 0x56, 0x14, 0x8d, 0x88, 0xc0, - 0x31, 0x93, 0x60, 0x53, 0x60, 0xd4, 0x60, 0x81, 0x8a, 0x9b, 0xc1, 0xad, 0x33, 0x97, 0x60, 0x57, - 0x60, 0xd4, 0x10, 0x44, 0xd1, 0x65, 0x2e, 0x64, 0x05, 0x95, 0xb5, 0x90, 0xe0, 0x00, 0x5b, 0x27, - 0x83, 0x6e, 0x5d, 0x7e, 0x69, 0x09, 0x76, 0x1b, 0x2d, 0x50, 0x83, 0x95, 0x99, 0xb8, 0x60, 0x95, - 0x43, 0x0b, 0x56, 0xd4, 0xa8, 0x42, 0x0e, 0xdc, 0x2f, 0x8c, 0x5c, 0x62, 0xd8, 0x9d, 0x31, 0xcc, - 0xd2, 0x13, 0x0f, 0xc8, 0xcb, 0x13, 0x16, 0x41, 0xbd, 0xfd, 0x90, 0x89, 0x4b, 0x0c, 0x91, 0xa6, - 0x50, 0xbc, 0x3d, 0x9a, 0xac, 0xc8, 0x4e, 0x56, 0x28, 0x61, 0xec, 0xc4, 0xf3, 0xe3, 0xa1, 0x1c, - 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x3b, 0x1e, 0xc9, 0x31, 0x02, 0x02, 0x00, 0x00, 0xff, 0xff, 0x72, - 0x3b, 0x20, 0xc7, 0xfc, 0x04, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/any.pb.go b/vendor/github.com/gogo/protobuf/types/any.pb.go index cb774dbce..ef5484f00 100644 --- a/vendor/github.com/gogo/protobuf/types/any.pb.go +++ b/vendor/github.com/gogo/protobuf/types/any.pb.go @@ -3,16 +3,15 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -107,7 +106,8 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // type Any struct { // A URL/resource name that uniquely identifies the type of the serialized - // protocol buffer message. The last segment of the URL's path must represent + // protocol buffer message. This string must contain at least + // one "/" character. The last segment of the URL's path must represent // the fully qualified name of the type (as in // `path/google.protobuf.Duration`). The name should be in a canonical form // (e.g., leading "." is not accepted). @@ -144,7 +144,7 @@ type Any struct { func (m *Any) Reset() { *m = Any{} } func (*Any) ProtoMessage() {} func (*Any) Descriptor() ([]byte, []int) { - return fileDescriptor_any_f098d1a3c592d16a, []int{0} + return fileDescriptor_b53526c13ae22eb4, []int{0} } func (*Any) XXX_WellKnownType() string { return "Any" } func (m *Any) XXX_Unmarshal(b []byte) error { @@ -162,8 +162,8 @@ func (m *Any) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Any) XXX_Merge(src proto.Message) { - xxx_messageInfo_Any.Merge(dst, src) +func (m *Any) XXX_Merge(src proto.Message) { + xxx_messageInfo_Any.Merge(m, src) } func (m *Any) XXX_Size() int { return m.Size() @@ -194,6 +194,27 @@ func (*Any) XXX_MessageName() string { func init() { proto.RegisterType((*Any)(nil), "google.protobuf.Any") } + +func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_b53526c13ae22eb4) } + +var fileDescriptor_b53526c13ae22eb4 = []byte{ + // 211 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4, + 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a, + 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46, + 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7, + 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xaa, 0xbf, 0xf1, 0x50, 0x8e, + 0xe1, 0xc3, 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24, + 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, + 0x24, 0xc7, 0xf0, 0x01, 0x24, 0xfe, 0x58, 0x8e, 0xf1, 0xc4, 0x63, 0x39, 0x46, 0x2e, 0xe1, 0xe4, + 0xfc, 0x5c, 0x3d, 0x34, 0xeb, 0x9d, 0x38, 0x1c, 0xf3, 0x2a, 0x03, 0x40, 0x9c, 0x00, 0xc6, 0x28, + 0x56, 0x90, 0x8d, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x94, + 0x06, 0x40, 0x95, 0xea, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, 0x94, + 0x25, 0xb1, 0x81, 0xcd, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x81, 0x82, 0xd3, 0xed, + 0x00, 0x00, 0x00, +} + func (this *Any) Compare(that interface{}) int { if that == nil { if this == nil { @@ -681,23 +702,3 @@ var ( ErrInvalidLengthAny = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowAny = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("google/protobuf/any.proto", fileDescriptor_any_f098d1a3c592d16a) } - -var fileDescriptor_any_f098d1a3c592d16a = []byte{ - // 211 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcc, 0xab, 0xd4, - 0x03, 0x73, 0x84, 0xf8, 0x21, 0x52, 0x7a, 0x30, 0x29, 0x25, 0x33, 0x2e, 0x66, 0xc7, 0xbc, 0x4a, - 0x21, 0x49, 0x2e, 0x8e, 0x92, 0xca, 0x82, 0xd4, 0xf8, 0xd2, 0xa2, 0x1c, 0x09, 0x46, 0x05, 0x46, - 0x0d, 0xce, 0x20, 0x76, 0x10, 0x3f, 0xb4, 0x28, 0x47, 0x48, 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7, - 0x34, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0x27, 0x08, 0xc2, 0x71, 0xaa, 0xbf, 0xf1, 0x50, 0x8e, - 0xe1, 0xc3, 0x43, 0x39, 0xc6, 0x1f, 0x0f, 0xe5, 0x18, 0x1b, 0x1e, 0xc9, 0x31, 0xae, 0x78, 0x24, - 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, - 0x24, 0xc7, 0xf0, 0x01, 0x24, 0xfe, 0x58, 0x8e, 0xf1, 0xc4, 0x63, 0x39, 0x46, 0x2e, 0xe1, 0xe4, - 0xfc, 0x5c, 0x3d, 0x34, 0xeb, 0x9d, 0x38, 0x1c, 0xf3, 0x2a, 0x03, 0x40, 0x9c, 0x00, 0xc6, 0x28, - 0x56, 0x90, 0x8d, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x94, - 0x06, 0x40, 0x95, 0xea, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, 0x94, - 0x25, 0xb1, 0x81, 0xcd, 0x30, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x81, 0x82, 0xd3, 0xed, - 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/api.pb.go b/vendor/github.com/gogo/protobuf/types/api.pb.go index 420fa55e6..ced668ac8 100644 --- a/vendor/github.com/gogo/protobuf/types/api.pb.go +++ b/vendor/github.com/gogo/protobuf/types/api.pb.go @@ -3,16 +3,15 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -79,7 +78,7 @@ type Api struct { func (m *Api) Reset() { *m = Api{} } func (*Api) ProtoMessage() {} func (*Api) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a4406062c749da1f, []int{0} + return fileDescriptor_a2ec32096296c143, []int{0} } func (m *Api) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -96,8 +95,8 @@ func (m *Api) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Api) XXX_Merge(src proto.Message) { - xxx_messageInfo_Api.Merge(dst, src) +func (m *Api) XXX_Merge(src proto.Message) { + xxx_messageInfo_Api.Merge(m, src) } func (m *Api) XXX_Size() int { return m.Size() @@ -185,7 +184,7 @@ type Method struct { func (m *Method) Reset() { *m = Method{} } func (*Method) ProtoMessage() {} func (*Method) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a4406062c749da1f, []int{1} + return fileDescriptor_a2ec32096296c143, []int{1} } func (m *Method) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -202,8 +201,8 @@ func (m *Method) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Method) XXX_Merge(src proto.Message) { - xxx_messageInfo_Method.Merge(dst, src) +func (m *Method) XXX_Merge(src proto.Message) { + xxx_messageInfo_Method.Merge(m, src) } func (m *Method) XXX_Size() int { return m.Size() @@ -359,7 +358,7 @@ type Mixin struct { func (m *Mixin) Reset() { *m = Mixin{} } func (*Mixin) ProtoMessage() {} func (*Mixin) Descriptor() ([]byte, []int) { - return fileDescriptor_api_a4406062c749da1f, []int{2} + return fileDescriptor_a2ec32096296c143, []int{2} } func (m *Mixin) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -376,8 +375,8 @@ func (m *Mixin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Mixin) XXX_Merge(src proto.Message) { - xxx_messageInfo_Mixin.Merge(dst, src) +func (m *Mixin) XXX_Merge(src proto.Message) { + xxx_messageInfo_Mixin.Merge(m, src) } func (m *Mixin) XXX_Size() int { return m.Size() @@ -410,6 +409,43 @@ func init() { proto.RegisterType((*Method)(nil), "google.protobuf.Method") proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin") } + +func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor_a2ec32096296c143) } + +var fileDescriptor_a2ec32096296c143 = []byte{ + // 467 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x31, 0x6f, 0x13, 0x31, + 0x14, 0xc7, 0xeb, 0xbb, 0xe4, 0x52, 0x5c, 0x91, 0x82, 0x91, 0xc0, 0x64, 0xb0, 0x4e, 0x15, 0xc3, + 0x09, 0xc4, 0x45, 0x94, 0x4f, 0xd0, 0x20, 0xd4, 0x01, 0x21, 0xa2, 0x0b, 0x08, 0x89, 0x25, 0x4a, + 0x83, 0x09, 0x96, 0xee, 0x6c, 0x63, 0x3b, 0x90, 0x4c, 0xf0, 0x59, 0x98, 0x10, 0x23, 0xdf, 0x80, + 0xad, 0x23, 0x23, 0x23, 0xb9, 0x2e, 0x8c, 0x1d, 0x19, 0x91, 0x7d, 0xe7, 0xa6, 0x5c, 0x83, 0x04, + 0x9b, 0xdf, 0xfb, 0xff, 0xfc, 0xf7, 0x7b, 0x7f, 0xc3, 0x9b, 0x33, 0x21, 0x66, 0x39, 0xed, 0x4b, + 0x25, 0x8c, 0x38, 0x9a, 0xbf, 0xea, 0x4f, 0x24, 0x4b, 0x5d, 0x81, 0x76, 0x2b, 0x29, 0xf5, 0x52, + 0xef, 0x56, 0x93, 0xd5, 0x62, 0xae, 0xa6, 0x74, 0x3c, 0x15, 0xdc, 0xd0, 0x85, 0xa9, 0xc0, 0x5e, + 0xaf, 0x49, 0x99, 0xa5, 0xac, 0x4d, 0xf6, 0xbe, 0x06, 0x30, 0x3c, 0x90, 0x0c, 0x21, 0xd8, 0xe2, + 0x93, 0x82, 0x62, 0x10, 0x83, 0xe4, 0x52, 0xe6, 0xce, 0xe8, 0x1e, 0xec, 0x14, 0xd4, 0xbc, 0x16, + 0x2f, 0x35, 0x0e, 0xe2, 0x30, 0xd9, 0xd9, 0xbf, 0x91, 0x36, 0x06, 0x48, 0x1f, 0x3b, 0x3d, 0xf3, + 0x9c, 0xbd, 0x22, 0xa4, 0x61, 0x82, 0x6b, 0x1c, 0xfe, 0xe5, 0xca, 0x13, 0xa7, 0x67, 0x9e, 0x43, + 0x18, 0x76, 0xde, 0x52, 0xa5, 0x99, 0xe0, 0xb8, 0xe5, 0x1e, 0xf7, 0x25, 0x7a, 0x08, 0xbb, 0x7f, + 0xee, 0x83, 0xdb, 0x31, 0x48, 0x76, 0xf6, 0xc9, 0x05, 0xcf, 0x91, 0xc3, 0x1e, 0x54, 0x54, 0x76, + 0x59, 0x9f, 0x2f, 0x51, 0x0a, 0xa3, 0x82, 0x2d, 0x18, 0xd7, 0x38, 0x72, 0x23, 0x5d, 0xbf, 0xb8, + 0x85, 0x95, 0xb3, 0x9a, 0x42, 0x7d, 0x18, 0xe9, 0x25, 0x37, 0x93, 0x05, 0xee, 0xc4, 0x20, 0xe9, + 0x6e, 0x58, 0x61, 0xe4, 0xe4, 0xac, 0xc6, 0xf6, 0xbe, 0x04, 0x30, 0xaa, 0x82, 0xd8, 0x18, 0x63, + 0x02, 0xaf, 0x28, 0xfa, 0x66, 0x4e, 0xb5, 0x19, 0xdb, 0xe0, 0xc7, 0x73, 0x95, 0xe3, 0xc0, 0xe9, + 0xdd, 0xba, 0xff, 0x74, 0x29, 0xe9, 0x33, 0x95, 0xa3, 0x3b, 0xf0, 0xaa, 0x27, 0xb5, 0x51, 0x74, + 0x52, 0x30, 0x3e, 0xc3, 0x61, 0x0c, 0x92, 0xed, 0xcc, 0x5b, 0x8c, 0x7c, 0x1f, 0xdd, 0xb6, 0xb0, + 0x96, 0x82, 0x6b, 0xba, 0xf6, 0xad, 0x12, 0xdc, 0xf5, 0x82, 0x37, 0xbe, 0x0b, 0xd1, 0x19, 0xbb, + 0x76, 0x6e, 0x3b, 0xe7, 0x33, 0x97, 0xb5, 0xf5, 0xb9, 0x5f, 0x8c, 0xfe, 0xf1, 0x17, 0xff, 0x3b, + 0xb4, 0x3e, 0x6c, 0xbb, 0xd8, 0x37, 0x46, 0x86, 0x60, 0x4b, 0x09, 0x61, 0xea, 0x98, 0xdc, 0x79, + 0xf0, 0xfe, 0xfb, 0x8a, 0x6c, 0x9d, 0xae, 0x08, 0xf8, 0xb5, 0x22, 0xe0, 0x43, 0x49, 0xc0, 0xa7, + 0x92, 0x80, 0xe3, 0x92, 0x80, 0x6f, 0x25, 0x01, 0x3f, 0x4a, 0x02, 0x7e, 0x96, 0x64, 0xeb, 0xd4, + 0xf6, 0x4f, 0x08, 0x38, 0x3e, 0x21, 0x00, 0x5e, 0x9b, 0x8a, 0xa2, 0x39, 0xc6, 0x60, 0xfb, 0x40, + 0xb2, 0xa1, 0x2d, 0x86, 0xe0, 0x45, 0xdb, 0xe6, 0xa6, 0x3f, 0x06, 0xe1, 0xe1, 0x70, 0xf0, 0x39, + 0x20, 0x87, 0x15, 0x3a, 0xf4, 0x13, 0x3f, 0xa7, 0x79, 0xfe, 0x88, 0x8b, 0x77, 0xdc, 0xc6, 0xa8, + 0x8f, 0x22, 0xe7, 0x71, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x64, 0x40, 0x40, 0xa1, + 0x03, 0x00, 0x00, +} + func (this *Api) Compare(that interface{}) int { if that == nil { if this == nil { @@ -2029,39 +2065,3 @@ var ( ErrInvalidLengthApi = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowApi = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("google/protobuf/api.proto", fileDescriptor_api_a4406062c749da1f) } - -var fileDescriptor_api_a4406062c749da1f = []byte{ - // 467 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0x31, 0x6f, 0x13, 0x31, - 0x14, 0xc7, 0xeb, 0xbb, 0xe4, 0x52, 0x5c, 0x91, 0x82, 0x91, 0xc0, 0x64, 0xb0, 0x4e, 0x15, 0xc3, - 0x09, 0xc4, 0x45, 0x94, 0x4f, 0xd0, 0x20, 0xd4, 0x01, 0x21, 0xa2, 0x0b, 0x08, 0x89, 0x25, 0x4a, - 0x83, 0x09, 0x96, 0xee, 0x6c, 0x63, 0x3b, 0x90, 0x4c, 0xf0, 0x59, 0x98, 0x10, 0x23, 0xdf, 0x80, - 0xad, 0x23, 0x23, 0x23, 0xb9, 0x2e, 0x8c, 0x1d, 0x19, 0x91, 0x7d, 0xe7, 0xa6, 0x5c, 0x83, 0x04, - 0x9b, 0xdf, 0xfb, 0xff, 0xfc, 0xf7, 0x7b, 0x7f, 0xc3, 0x9b, 0x33, 0x21, 0x66, 0x39, 0xed, 0x4b, - 0x25, 0x8c, 0x38, 0x9a, 0xbf, 0xea, 0x4f, 0x24, 0x4b, 0x5d, 0x81, 0x76, 0x2b, 0x29, 0xf5, 0x52, - 0xef, 0x56, 0x93, 0xd5, 0x62, 0xae, 0xa6, 0x74, 0x3c, 0x15, 0xdc, 0xd0, 0x85, 0xa9, 0xc0, 0x5e, - 0xaf, 0x49, 0x99, 0xa5, 0xac, 0x4d, 0xf6, 0xbe, 0x06, 0x30, 0x3c, 0x90, 0x0c, 0x21, 0xd8, 0xe2, - 0x93, 0x82, 0x62, 0x10, 0x83, 0xe4, 0x52, 0xe6, 0xce, 0xe8, 0x1e, 0xec, 0x14, 0xd4, 0xbc, 0x16, - 0x2f, 0x35, 0x0e, 0xe2, 0x30, 0xd9, 0xd9, 0xbf, 0x91, 0x36, 0x06, 0x48, 0x1f, 0x3b, 0x3d, 0xf3, - 0x9c, 0xbd, 0x22, 0xa4, 0x61, 0x82, 0x6b, 0x1c, 0xfe, 0xe5, 0xca, 0x13, 0xa7, 0x67, 0x9e, 0x43, - 0x18, 0x76, 0xde, 0x52, 0xa5, 0x99, 0xe0, 0xb8, 0xe5, 0x1e, 0xf7, 0x25, 0x7a, 0x08, 0xbb, 0x7f, - 0xee, 0x83, 0xdb, 0x31, 0x48, 0x76, 0xf6, 0xc9, 0x05, 0xcf, 0x91, 0xc3, 0x1e, 0x54, 0x54, 0x76, - 0x59, 0x9f, 0x2f, 0x51, 0x0a, 0xa3, 0x82, 0x2d, 0x18, 0xd7, 0x38, 0x72, 0x23, 0x5d, 0xbf, 0xb8, - 0x85, 0x95, 0xb3, 0x9a, 0x42, 0x7d, 0x18, 0xe9, 0x25, 0x37, 0x93, 0x05, 0xee, 0xc4, 0x20, 0xe9, - 0x6e, 0x58, 0x61, 0xe4, 0xe4, 0xac, 0xc6, 0xf6, 0xbe, 0x04, 0x30, 0xaa, 0x82, 0xd8, 0x18, 0x63, - 0x02, 0xaf, 0x28, 0xfa, 0x66, 0x4e, 0xb5, 0x19, 0xdb, 0xe0, 0xc7, 0x73, 0x95, 0xe3, 0xc0, 0xe9, - 0xdd, 0xba, 0xff, 0x74, 0x29, 0xe9, 0x33, 0x95, 0xa3, 0x3b, 0xf0, 0xaa, 0x27, 0xb5, 0x51, 0x74, - 0x52, 0x30, 0x3e, 0xc3, 0x61, 0x0c, 0x92, 0xed, 0xcc, 0x5b, 0x8c, 0x7c, 0x1f, 0xdd, 0xb6, 0xb0, - 0x96, 0x82, 0x6b, 0xba, 0xf6, 0xad, 0x12, 0xdc, 0xf5, 0x82, 0x37, 0xbe, 0x0b, 0xd1, 0x19, 0xbb, - 0x76, 0x6e, 0x3b, 0xe7, 0x33, 0x97, 0xb5, 0xf5, 0xb9, 0x5f, 0x8c, 0xfe, 0xf1, 0x17, 0xff, 0x3b, - 0xb4, 0x3e, 0x6c, 0xbb, 0xd8, 0x37, 0x46, 0x86, 0x60, 0x4b, 0x09, 0x61, 0xea, 0x98, 0xdc, 0x79, - 0xf0, 0xfe, 0xfb, 0x8a, 0x6c, 0x9d, 0xae, 0x08, 0xf8, 0xb5, 0x22, 0xe0, 0x43, 0x49, 0xc0, 0xa7, - 0x92, 0x80, 0xe3, 0x92, 0x80, 0x6f, 0x25, 0x01, 0x3f, 0x4a, 0x02, 0x7e, 0x96, 0x64, 0xeb, 0xd4, - 0xf6, 0x4f, 0x08, 0x38, 0x3e, 0x21, 0x00, 0x5e, 0x9b, 0x8a, 0xa2, 0x39, 0xc6, 0x60, 0xfb, 0x40, - 0xb2, 0xa1, 0x2d, 0x86, 0xe0, 0x45, 0xdb, 0xe6, 0xa6, 0x3f, 0x06, 0xe1, 0xe1, 0x70, 0xf0, 0x39, - 0x20, 0x87, 0x15, 0x3a, 0xf4, 0x13, 0x3f, 0xa7, 0x79, 0xfe, 0x88, 0x8b, 0x77, 0xdc, 0xc6, 0xa8, - 0x8f, 0x22, 0xe7, 0x71, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x64, 0x40, 0x40, 0xa1, - 0x03, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/duration.pb.go b/vendor/github.com/gogo/protobuf/types/duration.pb.go index 545ef962e..8919fbd75 100644 --- a/vendor/github.com/gogo/protobuf/types/duration.pb.go +++ b/vendor/github.com/gogo/protobuf/types/duration.pb.go @@ -3,16 +3,15 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -105,7 +104,7 @@ type Duration struct { func (m *Duration) Reset() { *m = Duration{} } func (*Duration) ProtoMessage() {} func (*Duration) Descriptor() ([]byte, []int) { - return fileDescriptor_duration_187e4d5f80a83848, []int{0} + return fileDescriptor_23597b2ebd7ac6c5, []int{0} } func (*Duration) XXX_WellKnownType() string { return "Duration" } func (m *Duration) XXX_Unmarshal(b []byte) error { @@ -123,8 +122,8 @@ func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Duration) XXX_Merge(src proto.Message) { - xxx_messageInfo_Duration.Merge(dst, src) +func (m *Duration) XXX_Merge(src proto.Message) { + xxx_messageInfo_Duration.Merge(m, src) } func (m *Duration) XXX_Size() int { return m.Size() @@ -155,6 +154,27 @@ func (*Duration) XXX_MessageName() string { func init() { proto.RegisterType((*Duration)(nil), "google.protobuf.Duration") } + +func init() { proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_23597b2ebd7ac6c5) } + +var fileDescriptor_23597b2ebd7ac6c5 = []byte{ + // 209 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a, + 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56, + 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5, + 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e, + 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0x7f, 0xe3, 0xa1, 0x1c, + 0xc3, 0x87, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, + 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, 0xc9, 0x31, 0x7c, 0x78, 0x24, 0xc7, 0xb8, 0xe2, + 0xb1, 0x1c, 0xe3, 0x89, 0xc7, 0x72, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x56, 0x3b, + 0xf1, 0xc2, 0x2c, 0x0e, 0x00, 0x89, 0x04, 0x30, 0x46, 0xb1, 0x96, 0x54, 0x16, 0xa4, 0x16, 0xff, + 0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0xa2, 0x25, 0x00, + 0xaa, 0x45, 0x2f, 0x3c, 0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0x04, 0xa4, 0x32, 0x89, + 0x0d, 0x6c, 0x96, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x1c, 0x64, 0x4e, 0xf6, 0x00, 0x00, + 0x00, +} + func (this *Duration) Compare(that interface{}) int { if that == nil { if this == nil { @@ -513,25 +533,3 @@ var ( ErrInvalidLengthDuration = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowDuration = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("google/protobuf/duration.proto", fileDescriptor_duration_187e4d5f80a83848) -} - -var fileDescriptor_duration_187e4d5f80a83848 = []byte{ - // 209 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0x29, 0x2d, 0x4a, - 0x2c, 0xc9, 0xcc, 0xcf, 0xd3, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0x56, - 0x5c, 0x1c, 0x2e, 0x50, 0x25, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0xa9, 0xc9, 0xf9, 0x79, 0x29, 0xc5, - 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xcc, 0x41, 0x30, 0xae, 0x90, 0x08, 0x17, 0x6b, 0x5e, 0x62, 0x5e, - 0x7e, 0xb1, 0x04, 0x93, 0x02, 0xa3, 0x06, 0x6b, 0x10, 0x84, 0xe3, 0x54, 0x7f, 0xe3, 0xa1, 0x1c, - 0xc3, 0x87, 0x87, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, - 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, 0xc9, 0x31, 0x7c, 0x78, 0x24, 0xc7, 0xb8, 0xe2, - 0xb1, 0x1c, 0xe3, 0x89, 0xc7, 0x72, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x56, 0x3b, - 0xf1, 0xc2, 0x2c, 0x0e, 0x00, 0x89, 0x04, 0x30, 0x46, 0xb1, 0x96, 0x54, 0x16, 0xa4, 0x16, 0xff, - 0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xec, 0x1e, 0xe0, 0xb4, 0x8a, 0x49, 0xce, 0x1d, 0xa2, 0x25, 0x00, - 0xaa, 0x45, 0x2f, 0x3c, 0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0x04, 0xa4, 0x32, 0x89, - 0x0d, 0x6c, 0x96, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x1c, 0x64, 0x4e, 0xf6, 0x00, 0x00, - 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/empty.pb.go b/vendor/github.com/gogo/protobuf/types/empty.pb.go index 323b246a6..918e3c996 100644 --- a/vendor/github.com/gogo/protobuf/types/empty.pb.go +++ b/vendor/github.com/gogo/protobuf/types/empty.pb.go @@ -3,16 +3,15 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -43,7 +42,7 @@ type Empty struct { func (m *Empty) Reset() { *m = Empty{} } func (*Empty) ProtoMessage() {} func (*Empty) Descriptor() ([]byte, []int) { - return fileDescriptor_empty_b366a5cbb7c614df, []int{0} + return fileDescriptor_900544acb223d5b8, []int{0} } func (*Empty) XXX_WellKnownType() string { return "Empty" } func (m *Empty) XXX_Unmarshal(b []byte) error { @@ -61,8 +60,8 @@ func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Empty) XXX_Merge(src proto.Message) { - xxx_messageInfo_Empty.Merge(dst, src) +func (m *Empty) XXX_Merge(src proto.Message) { + xxx_messageInfo_Empty.Merge(m, src) } func (m *Empty) XXX_Size() int { return m.Size() @@ -79,6 +78,24 @@ func (*Empty) XXX_MessageName() string { func init() { proto.RegisterType((*Empty)(nil), "google.protobuf.Empty") } + +func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor_900544acb223d5b8) } + +var fileDescriptor_900544acb223d5b8 = []byte{ + // 176 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28, + 0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57, + 0x90, 0xbc, 0x53, 0x0b, 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, + 0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, + 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, + 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe8, 0xc4, 0x05, + 0x36, 0x2e, 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8, + 0xb8, 0x88, 0x89, 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x7d, 0x00, 0x54, 0xbd, + 0x5e, 0x78, 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8, + 0x20, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0xbe, 0xb6, 0x31, 0xc6, 0x00, 0x00, 0x00, +} + func (this *Empty) Compare(that interface{}) int { if that == nil { if this == nil { @@ -461,20 +478,3 @@ var ( ErrInvalidLengthEmpty = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEmpty = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("google/protobuf/empty.proto", fileDescriptor_empty_b366a5cbb7c614df) } - -var fileDescriptor_empty_b366a5cbb7c614df = []byte{ - // 176 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcd, 0x2d, 0x28, - 0xa9, 0xd4, 0x03, 0x73, 0x85, 0xf8, 0x21, 0x92, 0x7a, 0x30, 0x49, 0x25, 0x76, 0x2e, 0x56, 0x57, - 0x90, 0xbc, 0x53, 0x0b, 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, - 0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, - 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, - 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x19, 0xe8, 0xc4, 0x05, - 0x36, 0x2e, 0x00, 0xc4, 0x0d, 0x60, 0x8c, 0x62, 0x2d, 0xa9, 0x2c, 0x48, 0x2d, 0xfe, 0xc1, 0xc8, - 0xb8, 0x88, 0x89, 0xd9, 0x3d, 0xc0, 0x69, 0x15, 0x93, 0x9c, 0x3b, 0x44, 0x7d, 0x00, 0x54, 0xbd, - 0x5e, 0x78, 0x6a, 0x4e, 0x8e, 0x77, 0x5e, 0x7e, 0x79, 0x5e, 0x08, 0x48, 0x65, 0x12, 0x1b, 0xd8, - 0x20, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0xbe, 0xb6, 0x31, 0xc6, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/field_mask.pb.go b/vendor/github.com/gogo/protobuf/types/field_mask.pb.go index 3e60fcf07..4bb69d652 100644 --- a/vendor/github.com/gogo/protobuf/types/field_mask.pb.go +++ b/vendor/github.com/gogo/protobuf/types/field_mask.pb.go @@ -3,16 +3,15 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -93,57 +92,49 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // describe the updated values, the API ignores the values of all // fields not covered by the mask. // -// If a repeated field is specified for an update operation, the existing -// repeated values in the target resource will be overwritten by the new values. -// Note that a repeated field is only allowed in the last position of a `paths` -// string. +// If a repeated field is specified for an update operation, new values will +// be appended to the existing repeated field in the target resource. Note that +// a repeated field is only allowed in the last position of a `paths` string. // // If a sub-message is specified in the last position of the field mask for an -// update operation, then the existing sub-message in the target resource is -// overwritten. Given the target message: +// update operation, then new value will be merged into the existing sub-message +// in the target resource. +// +// For example, given the target message: // // f { // b { -// d : 1 -// x : 2 +// d: 1 +// x: 2 // } -// c : 1 +// c: [1] // } // // And an update message: // // f { // b { -// d : 10 +// d: 10 // } +// c: [2] // } // // then if the field mask is: // -// paths: "f.b" +// paths: ["f.b", "f.c"] // // then the result will be: // // f { // b { -// d : 10 +// d: 10 +// x: 2 // } -// c : 1 +// c: [1, 2] // } // -// However, if the update mask was: -// -// paths: "f.b.d" -// -// then the result would be: -// -// f { -// b { -// d : 10 -// x : 2 -// } -// c : 1 -// } +// An implementation may provide options to override this default behavior for +// repeated and message fields. // // In order to reset a field's value to the default, the field must // be in the mask and set to the default value in the provided resource. @@ -229,8 +220,8 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // // ## Field Mask Verification // -// The implementation of the all the API methods, which have any FieldMask type -// field in the request, should verify the included field paths, and return +// The implementation of any API method which has a FieldMask type field in the +// request should verify the included field paths, and return an // `INVALID_ARGUMENT` error if any path is duplicated or unmappable. type FieldMask struct { // The set of field mask paths. @@ -243,7 +234,7 @@ type FieldMask struct { func (m *FieldMask) Reset() { *m = FieldMask{} } func (*FieldMask) ProtoMessage() {} func (*FieldMask) Descriptor() ([]byte, []int) { - return fileDescriptor_field_mask_f1676d06eb3d88ba, []int{0} + return fileDescriptor_5158202634f0da48, []int{0} } func (m *FieldMask) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -260,8 +251,8 @@ func (m *FieldMask) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *FieldMask) XXX_Merge(src proto.Message) { - xxx_messageInfo_FieldMask.Merge(dst, src) +func (m *FieldMask) XXX_Merge(src proto.Message) { + xxx_messageInfo_FieldMask.Merge(m, src) } func (m *FieldMask) XXX_Size() int { return m.Size() @@ -285,6 +276,26 @@ func (*FieldMask) XXX_MessageName() string { func init() { proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask") } + +func init() { proto.RegisterFile("google/protobuf/field_mask.proto", fileDescriptor_5158202634f0da48) } + +var fileDescriptor_5158202634f0da48 = []byte{ + // 203 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcb, 0x4c, 0xcd, + 0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43, 0x54, 0xe8, 0xc1, 0x54, + 0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b, 0x89, 0x70, 0xb1, 0x16, + 0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41, 0x38, 0x4e, 0x1d, 0x8c, + 0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, + 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, + 0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x80, 0xc4, 0x1f, 0xcb, 0x31, 0x9e, 0x78, 0x2c, 0xc7, + 0xc8, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x87, 0x66, 0x95, 0x13, 0x1f, 0xdc, 0xa2, 0x00, 0x90, 0x50, + 0x00, 0x63, 0x14, 0x6b, 0x49, 0x65, 0x41, 0x6a, 0xf1, 0x0f, 0x46, 0xc6, 0x45, 0x4c, 0xcc, 0xee, + 0x01, 0x4e, 0xab, 0x98, 0xe4, 0xdc, 0x21, 0x7a, 0x02, 0xa0, 0x7a, 0xf4, 0xc2, 0x53, 0x73, 0x72, + 0xbc, 0xf3, 0xf2, 0xcb, 0xf3, 0x42, 0x40, 0x2a, 0x93, 0xd8, 0xc0, 0x86, 0x19, 0x03, 0x02, 0x00, + 0x00, 0xff, 0xff, 0x43, 0xa0, 0x83, 0xd0, 0xe9, 0x00, 0x00, 0x00, +} + func (this *FieldMask) Compare(that interface{}) int { if that == nil { if this == nil { @@ -746,24 +757,3 @@ var ( ErrInvalidLengthFieldMask = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowFieldMask = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("google/protobuf/field_mask.proto", fileDescriptor_field_mask_f1676d06eb3d88ba) -} - -var fileDescriptor_field_mask_f1676d06eb3d88ba = []byte{ - // 200 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x4f, 0xcb, 0x4c, 0xcd, - 0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43, 0x54, 0xe8, 0xc1, 0x54, - 0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b, 0x89, 0x70, 0xb1, 0x16, - 0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41, 0x38, 0x4e, 0xad, 0x8c, - 0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78, 0x28, 0xc7, 0xf8, 0xe3, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, - 0xc6, 0x15, 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, - 0x39, 0xc6, 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x80, 0xc4, 0x1f, 0xcb, 0x31, 0x9e, 0x78, 0x2c, 0xc7, - 0xc8, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x87, 0x66, 0x95, 0x13, 0x1f, 0xdc, 0xa2, 0x00, 0x90, 0x50, - 0x00, 0x63, 0x14, 0x6b, 0x49, 0x65, 0x41, 0x6a, 0xf1, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, - 0x4c, 0x72, 0xee, 0x10, 0x0d, 0x01, 0x50, 0x0d, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, - 0xe5, 0x79, 0x21, 0x20, 0x65, 0x49, 0x6c, 0x60, 0x93, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xcf, 0xae, 0x5b, 0xec, 0xe6, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/source_context.pb.go b/vendor/github.com/gogo/protobuf/types/source_context.pb.go index 97b6d62ab..775d28af2 100644 --- a/vendor/github.com/gogo/protobuf/types/source_context.pb.go +++ b/vendor/github.com/gogo/protobuf/types/source_context.pb.go @@ -3,16 +3,15 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -39,7 +38,7 @@ type SourceContext struct { func (m *SourceContext) Reset() { *m = SourceContext{} } func (*SourceContext) ProtoMessage() {} func (*SourceContext) Descriptor() ([]byte, []int) { - return fileDescriptor_source_context_b387e69fb08d10e5, []int{0} + return fileDescriptor_b686cdb126d509db, []int{0} } func (m *SourceContext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -56,8 +55,8 @@ func (m *SourceContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (dst *SourceContext) XXX_Merge(src proto.Message) { - xxx_messageInfo_SourceContext.Merge(dst, src) +func (m *SourceContext) XXX_Merge(src proto.Message) { + xxx_messageInfo_SourceContext.Merge(m, src) } func (m *SourceContext) XXX_Size() int { return m.Size() @@ -81,6 +80,29 @@ func (*SourceContext) XXX_MessageName() string { func init() { proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext") } + +func init() { + proto.RegisterFile("google/protobuf/source_context.proto", fileDescriptor_b686cdb126d509db) +} + +var fileDescriptor_b686cdb126d509db = []byte{ + // 212 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xce, 0x2f, 0x2d, + 0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03, 0x8b, 0x0b, 0xf1, 0x43, + 0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a, 0x43, 0xd4, 0x09, 0x49, + 0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a, + 0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0x3a, 0x19, 0x6f, 0x3c, 0x94, 0x63, + 0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, + 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, + 0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0x3c, 0xf1, 0x58, 0x8e, 0x91, 0x4b, 0x38, 0x39, + 0x3f, 0x57, 0x0f, 0xcd, 0x56, 0x27, 0x21, 0x14, 0x3b, 0x03, 0x40, 0xc2, 0x01, 0x8c, 0x51, 0xac, + 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, + 0x34, 0x05, 0x40, 0x35, 0xe9, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, + 0x94, 0x25, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0x2a, 0xa1, + 0xf9, 0x00, 0x00, 0x00, +} + func (this *SourceContext) Compare(that interface{}) int { if that == nil { if this == nil { @@ -514,25 +536,3 @@ var ( ErrInvalidLengthSourceContext = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSourceContext = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("google/protobuf/source_context.proto", fileDescriptor_source_context_b387e69fb08d10e5) -} - -var fileDescriptor_source_context_b387e69fb08d10e5 = []byte{ - // 212 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xce, 0x2f, 0x2d, - 0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03, 0x8b, 0x0b, 0xf1, 0x43, - 0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a, 0x43, 0xd4, 0x09, 0x49, - 0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a, 0x30, 0x2a, 0x30, 0x6a, - 0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0x3a, 0x19, 0x6f, 0x3c, 0x94, 0x63, - 0xf8, 0xf0, 0x50, 0x8e, 0xf1, 0xc7, 0x43, 0x39, 0xc6, 0x86, 0x47, 0x72, 0x8c, 0x2b, 0x1e, 0xc9, - 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x2f, 0x1e, - 0xc9, 0x31, 0x7c, 0x00, 0x89, 0x3f, 0x96, 0x63, 0x3c, 0xf1, 0x58, 0x8e, 0x91, 0x4b, 0x38, 0x39, - 0x3f, 0x57, 0x0f, 0xcd, 0x56, 0x27, 0x21, 0x14, 0x3b, 0x03, 0x40, 0xc2, 0x01, 0x8c, 0x51, 0xac, - 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x8b, 0x98, 0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, - 0x34, 0x05, 0x40, 0x35, 0xe9, 0x85, 0xa7, 0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x80, - 0x94, 0x25, 0xb1, 0x81, 0x4d, 0x33, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x37, 0x2a, 0xa1, - 0xf9, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/struct.pb.go b/vendor/github.com/gogo/protobuf/types/struct.pb.go index 2b6575ffa..434c6e4ac 100644 --- a/vendor/github.com/gogo/protobuf/types/struct.pb.go +++ b/vendor/github.com/gogo/protobuf/types/struct.pb.go @@ -3,21 +3,18 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import strconv "strconv" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" -import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + encoding_binary "encoding/binary" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + io "io" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -44,13 +41,15 @@ const ( var NullValue_name = map[int32]string{ 0: "NULL_VALUE", } + var NullValue_value = map[string]int32{ "NULL_VALUE": 0, } func (NullValue) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_struct_7f9d36853146434f, []int{0} + return fileDescriptor_df322afd6c9fb402, []int{0} } + func (NullValue) XXX_WellKnownType() string { return "NullValue" } // `Struct` represents a structured data value, consisting of fields @@ -72,7 +71,7 @@ type Struct struct { func (m *Struct) Reset() { *m = Struct{} } func (*Struct) ProtoMessage() {} func (*Struct) Descriptor() ([]byte, []int) { - return fileDescriptor_struct_7f9d36853146434f, []int{0} + return fileDescriptor_df322afd6c9fb402, []int{0} } func (*Struct) XXX_WellKnownType() string { return "Struct" } func (m *Struct) XXX_Unmarshal(b []byte) error { @@ -90,8 +89,8 @@ func (m *Struct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Struct) XXX_Merge(src proto.Message) { - xxx_messageInfo_Struct.Merge(dst, src) +func (m *Struct) XXX_Merge(src proto.Message) { + xxx_messageInfo_Struct.Merge(m, src) } func (m *Struct) XXX_Size() int { return m.Size() @@ -138,7 +137,7 @@ type Value struct { func (m *Value) Reset() { *m = Value{} } func (*Value) ProtoMessage() {} func (*Value) Descriptor() ([]byte, []int) { - return fileDescriptor_struct_7f9d36853146434f, []int{1} + return fileDescriptor_df322afd6c9fb402, []int{1} } func (*Value) XXX_WellKnownType() string { return "Value" } func (m *Value) XXX_Unmarshal(b []byte) error { @@ -156,8 +155,8 @@ func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Value) XXX_Merge(src proto.Message) { - xxx_messageInfo_Value.Merge(dst, src) +func (m *Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Value.Merge(m, src) } func (m *Value) XXX_Size() int { return m.Size() @@ -403,7 +402,7 @@ type ListValue struct { func (m *ListValue) Reset() { *m = ListValue{} } func (*ListValue) ProtoMessage() {} func (*ListValue) Descriptor() ([]byte, []int) { - return fileDescriptor_struct_7f9d36853146434f, []int{2} + return fileDescriptor_df322afd6c9fb402, []int{2} } func (*ListValue) XXX_WellKnownType() string { return "ListValue" } func (m *ListValue) XXX_Unmarshal(b []byte) error { @@ -421,8 +420,8 @@ func (m *ListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *ListValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_ListValue.Merge(dst, src) +func (m *ListValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_ListValue.Merge(m, src) } func (m *ListValue) XXX_Size() int { return m.Size() @@ -444,12 +443,47 @@ func (*ListValue) XXX_MessageName() string { return "google.protobuf.ListValue" } func init() { + proto.RegisterEnum("google.protobuf.NullValue", NullValue_name, NullValue_value) proto.RegisterType((*Struct)(nil), "google.protobuf.Struct") proto.RegisterMapType((map[string]*Value)(nil), "google.protobuf.Struct.FieldsEntry") proto.RegisterType((*Value)(nil), "google.protobuf.Value") proto.RegisterType((*ListValue)(nil), "google.protobuf.ListValue") - proto.RegisterEnum("google.protobuf.NullValue", NullValue_name, NullValue_value) } + +func init() { proto.RegisterFile("google/protobuf/struct.proto", fileDescriptor_df322afd6c9fb402) } + +var fileDescriptor_df322afd6c9fb402 = []byte{ + // 439 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xc1, 0x6b, 0xd4, 0x40, + 0x14, 0xc6, 0xf3, 0xb2, 0xdd, 0xe0, 0xbe, 0x48, 0x2d, 0x23, 0xe8, 0x52, 0x65, 0x5c, 0xb6, 0x97, + 0x45, 0x24, 0x85, 0xf5, 0x22, 0xae, 0x17, 0x17, 0x6a, 0x0b, 0x86, 0x12, 0xa3, 0xad, 0xe0, 0x65, + 0x31, 0x69, 0xba, 0x84, 0x4e, 0x67, 0x4a, 0x32, 0xa3, 0xec, 0x4d, 0xff, 0x0b, 0xcf, 0x9e, 0xc4, + 0xa3, 0x7f, 0x85, 0x47, 0x8f, 0x1e, 0xdd, 0x78, 0xf1, 0xd8, 0x63, 0x8f, 0x32, 0x33, 0x49, 0x94, + 0x2e, 0xbd, 0xe5, 0x7d, 0xf3, 0x7b, 0xdf, 0x7b, 0xdf, 0x0b, 0xde, 0x9d, 0x0b, 0x31, 0x67, 0xd9, + 0xf6, 0x59, 0x21, 0xa4, 0x48, 0xd4, 0xf1, 0x76, 0x29, 0x0b, 0x95, 0xca, 0xc0, 0xd4, 0xe4, 0x86, + 0x7d, 0x0d, 0x9a, 0xd7, 0xe1, 0x27, 0x40, 0xef, 0xa5, 0x21, 0xc8, 0x04, 0xbd, 0xe3, 0x3c, 0x63, + 0x47, 0x65, 0x1f, 0x06, 0x9d, 0x91, 0x3f, 0xde, 0x0a, 0x2e, 0xc1, 0x81, 0x05, 0x83, 0x67, 0x86, + 0xda, 0xe1, 0xb2, 0x58, 0xc4, 0x75, 0xcb, 0xe6, 0x0b, 0xf4, 0xff, 0x93, 0xc9, 0x06, 0x76, 0x4e, + 0xb2, 0x45, 0x1f, 0x06, 0x30, 0xea, 0xc5, 0xfa, 0x93, 0x3c, 0xc0, 0xee, 0xbb, 0xb7, 0x4c, 0x65, + 0x7d, 0x77, 0x00, 0x23, 0x7f, 0x7c, 0x6b, 0xc5, 0xfc, 0x50, 0xbf, 0xc6, 0x16, 0x7a, 0xec, 0x3e, + 0x82, 0xe1, 0x37, 0x17, 0xbb, 0x46, 0x24, 0x13, 0x44, 0xae, 0x18, 0x9b, 0x59, 0x03, 0x6d, 0xba, + 0x3e, 0xde, 0x5c, 0x31, 0xd8, 0x57, 0x8c, 0x19, 0x7e, 0xcf, 0x89, 0x7b, 0xbc, 0x29, 0xc8, 0x16, + 0x5e, 0xe7, 0xea, 0x34, 0xc9, 0x8a, 0xd9, 0xbf, 0xf9, 0xb0, 0xe7, 0xc4, 0xbe, 0x55, 0x5b, 0xa8, + 0x94, 0x45, 0xce, 0xe7, 0x35, 0xd4, 0xd1, 0x8b, 0x6b, 0xc8, 0xaa, 0x16, 0xba, 0x87, 0x98, 0x08, + 0xd1, 0xac, 0xb1, 0x36, 0x80, 0xd1, 0x35, 0x3d, 0x4a, 0x6b, 0x16, 0x78, 0x62, 0x5c, 0x54, 0x2a, + 0x6b, 0xa4, 0x6b, 0xa2, 0xde, 0xbe, 0xe2, 0x8e, 0xb5, 0xbd, 0x4a, 0x65, 0x9b, 0x92, 0xe5, 0x65, + 0xd3, 0xeb, 0x99, 0xde, 0xd5, 0x94, 0x61, 0x5e, 0xca, 0x36, 0x25, 0x6b, 0x8a, 0xa9, 0x87, 0x6b, + 0x27, 0x39, 0x3f, 0x1a, 0x4e, 0xb0, 0xd7, 0x12, 0x24, 0x40, 0xcf, 0x98, 0x35, 0x7f, 0xf4, 0xaa, + 0xa3, 0xd7, 0xd4, 0xfd, 0x3b, 0xd8, 0x6b, 0x8f, 0x48, 0xd6, 0x11, 0xf7, 0x0f, 0xc2, 0x70, 0x76, + 0xf8, 0x34, 0x3c, 0xd8, 0xd9, 0x70, 0xa6, 0x1f, 0xe1, 0xe7, 0x92, 0x3a, 0xe7, 0x4b, 0x0a, 0x17, + 0x4b, 0x0a, 0x1f, 0x2a, 0x0a, 0x5f, 0x2a, 0x0a, 0xdf, 0x2b, 0x0a, 0x3f, 0x2a, 0x0a, 0xbf, 0x2a, + 0x0a, 0x7f, 0x2a, 0xea, 0x9c, 0x6b, 0xed, 0x37, 0x05, 0xbc, 0x99, 0x8a, 0xd3, 0xcb, 0xe3, 0xa6, + 0xbe, 0x4d, 0x1e, 0xe9, 0x3a, 0x82, 0x37, 0x5d, 0xb9, 0x38, 0xcb, 0xca, 0x0b, 0x80, 0xcf, 0x6e, + 0x67, 0x37, 0x9a, 0x7e, 0x75, 0xe9, 0xae, 0x6d, 0x88, 0x9a, 0xfd, 0x5e, 0x67, 0x8c, 0x3d, 0xe7, + 0xe2, 0x3d, 0x7f, 0xa5, 0xc9, 0xc4, 0x33, 0x4e, 0x0f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xad, + 0x84, 0x08, 0xae, 0xe5, 0x02, 0x00, 0x00, +} + func (x NullValue) String() string { s, ok := NullValue_name[int32(x)] if ok { @@ -1948,39 +1982,3 @@ var ( ErrInvalidLengthStruct = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowStruct = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("google/protobuf/struct.proto", fileDescriptor_struct_7f9d36853146434f) -} - -var fileDescriptor_struct_7f9d36853146434f = []byte{ - // 439 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0xc1, 0x6b, 0xd4, 0x40, - 0x14, 0xc6, 0xf3, 0xb2, 0xdd, 0xe0, 0xbe, 0x48, 0x2d, 0x23, 0xe8, 0x52, 0x65, 0x5c, 0xb6, 0x97, - 0x45, 0x24, 0x85, 0xf5, 0x22, 0xae, 0x17, 0x17, 0x6a, 0x0b, 0x86, 0x12, 0xa3, 0xad, 0xe0, 0x65, - 0x31, 0x69, 0xba, 0x84, 0x4e, 0x67, 0x4a, 0x32, 0xa3, 0xec, 0x4d, 0xff, 0x0b, 0xcf, 0x9e, 0xc4, - 0xa3, 0x7f, 0x85, 0x47, 0x8f, 0x1e, 0xdd, 0x78, 0xf1, 0xd8, 0x63, 0x8f, 0x32, 0x33, 0x49, 0x94, - 0x2e, 0xbd, 0xe5, 0x7d, 0xf3, 0x7b, 0xdf, 0x7b, 0xdf, 0x0b, 0xde, 0x9d, 0x0b, 0x31, 0x67, 0xd9, - 0xf6, 0x59, 0x21, 0xa4, 0x48, 0xd4, 0xf1, 0x76, 0x29, 0x0b, 0x95, 0xca, 0xc0, 0xd4, 0xe4, 0x86, - 0x7d, 0x0d, 0x9a, 0xd7, 0xe1, 0x27, 0x40, 0xef, 0xa5, 0x21, 0xc8, 0x04, 0xbd, 0xe3, 0x3c, 0x63, - 0x47, 0x65, 0x1f, 0x06, 0x9d, 0x91, 0x3f, 0xde, 0x0a, 0x2e, 0xc1, 0x81, 0x05, 0x83, 0x67, 0x86, - 0xda, 0xe1, 0xb2, 0x58, 0xc4, 0x75, 0xcb, 0xe6, 0x0b, 0xf4, 0xff, 0x93, 0xc9, 0x06, 0x76, 0x4e, - 0xb2, 0x45, 0x1f, 0x06, 0x30, 0xea, 0xc5, 0xfa, 0x93, 0x3c, 0xc0, 0xee, 0xbb, 0xb7, 0x4c, 0x65, - 0x7d, 0x77, 0x00, 0x23, 0x7f, 0x7c, 0x6b, 0xc5, 0xfc, 0x50, 0xbf, 0xc6, 0x16, 0x7a, 0xec, 0x3e, - 0x82, 0xe1, 0x37, 0x17, 0xbb, 0x46, 0x24, 0x13, 0x44, 0xae, 0x18, 0x9b, 0x59, 0x03, 0x6d, 0xba, - 0x3e, 0xde, 0x5c, 0x31, 0xd8, 0x57, 0x8c, 0x19, 0x7e, 0xcf, 0x89, 0x7b, 0xbc, 0x29, 0xc8, 0x16, - 0x5e, 0xe7, 0xea, 0x34, 0xc9, 0x8a, 0xd9, 0xbf, 0xf9, 0xb0, 0xe7, 0xc4, 0xbe, 0x55, 0x5b, 0xa8, - 0x94, 0x45, 0xce, 0xe7, 0x35, 0xd4, 0xd1, 0x8b, 0x6b, 0xc8, 0xaa, 0x16, 0xba, 0x87, 0x98, 0x08, - 0xd1, 0xac, 0xb1, 0x36, 0x80, 0xd1, 0x35, 0x3d, 0x4a, 0x6b, 0x16, 0x78, 0x62, 0x5c, 0x54, 0x2a, - 0x6b, 0xa4, 0x6b, 0xa2, 0xde, 0xbe, 0xe2, 0x8e, 0xb5, 0xbd, 0x4a, 0x65, 0x9b, 0x92, 0xe5, 0x65, - 0xd3, 0xeb, 0x99, 0xde, 0xd5, 0x94, 0x61, 0x5e, 0xca, 0x36, 0x25, 0x6b, 0x8a, 0xa9, 0x87, 0x6b, - 0x27, 0x39, 0x3f, 0x1a, 0x4e, 0xb0, 0xd7, 0x12, 0x24, 0x40, 0xcf, 0x98, 0x35, 0x7f, 0xf4, 0xaa, - 0xa3, 0xd7, 0xd4, 0xfd, 0x3b, 0xd8, 0x6b, 0x8f, 0x48, 0xd6, 0x11, 0xf7, 0x0f, 0xc2, 0x70, 0x76, - 0xf8, 0x34, 0x3c, 0xd8, 0xd9, 0x70, 0xa6, 0x1f, 0xe1, 0xe7, 0x92, 0x3a, 0xe7, 0x4b, 0x0a, 0x17, - 0x4b, 0x0a, 0x1f, 0x2a, 0x0a, 0x5f, 0x2a, 0x0a, 0xdf, 0x2b, 0x0a, 0x3f, 0x2a, 0x0a, 0xbf, 0x2a, - 0x0a, 0x7f, 0x2a, 0xea, 0x9c, 0x6b, 0xed, 0x37, 0x05, 0xbc, 0x99, 0x8a, 0xd3, 0xcb, 0xe3, 0xa6, - 0xbe, 0x4d, 0x1e, 0xe9, 0x3a, 0x82, 0x37, 0x5d, 0xb9, 0x38, 0xcb, 0xca, 0x0b, 0x80, 0xcf, 0x6e, - 0x67, 0x37, 0x9a, 0x7e, 0x75, 0xe9, 0xae, 0x6d, 0x88, 0x9a, 0xfd, 0x5e, 0x67, 0x8c, 0x3d, 0xe7, - 0xe2, 0x3d, 0x7f, 0xa5, 0xc9, 0xc4, 0x33, 0x4e, 0x0f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xad, - 0x84, 0x08, 0xae, 0xe5, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/timestamp.pb.go b/vendor/github.com/gogo/protobuf/types/timestamp.pb.go index b6c910012..325caa24c 100644 --- a/vendor/github.com/gogo/protobuf/types/timestamp.pb.go +++ b/vendor/github.com/gogo/protobuf/types/timestamp.pb.go @@ -3,16 +3,15 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -25,17 +24,19 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package -// A Timestamp represents a point in time independent of any time zone -// or calendar, represented as seconds and fractions of seconds at -// nanosecond resolution in UTC Epoch time. It is encoded using the -// Proleptic Gregorian Calendar which extends the Gregorian calendar -// backwards to year one. It is encoded assuming all minutes are 60 -// seconds long, i.e. leap seconds are "smeared" so that no leap second -// table is needed for interpretation. Range is from -// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. -// By restricting to that range, we ensure that we can convert to -// and from RFC 3339 date strings. -// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. // // # Examples // @@ -96,12 +97,12 @@ const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package // 01:30 UTC on January 15, 2017. // // In JavaScript, one can convert a Date object to this format using the -// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString] +// standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) // method. In Python, a standard `datetime.datetime` object can be converted // to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) // with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one // can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( -// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime-- +// http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D // ) to obtain a formatter capable of generating timestamps in this format. // // @@ -123,7 +124,7 @@ type Timestamp struct { func (m *Timestamp) Reset() { *m = Timestamp{} } func (*Timestamp) ProtoMessage() {} func (*Timestamp) Descriptor() ([]byte, []int) { - return fileDescriptor_timestamp_820f61227bd8f1e8, []int{0} + return fileDescriptor_292007bbfe81227e, []int{0} } func (*Timestamp) XXX_WellKnownType() string { return "Timestamp" } func (m *Timestamp) XXX_Unmarshal(b []byte) error { @@ -141,8 +142,8 @@ func (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Timestamp) XXX_Merge(src proto.Message) { - xxx_messageInfo_Timestamp.Merge(dst, src) +func (m *Timestamp) XXX_Merge(src proto.Message) { + xxx_messageInfo_Timestamp.Merge(m, src) } func (m *Timestamp) XXX_Size() int { return m.Size() @@ -173,6 +174,27 @@ func (*Timestamp) XXX_MessageName() string { func init() { proto.RegisterType((*Timestamp)(nil), "google.protobuf.Timestamp") } + +func init() { proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_292007bbfe81227e) } + +var fileDescriptor_292007bbfe81227e = []byte{ + // 212 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d, + 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28, + 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, + 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89, + 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x03, 0xe3, 0x8d, + 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, + 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, 0xe1, 0x91, 0x1c, + 0xe3, 0x8a, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, + 0x59, 0xee, 0xc4, 0x07, 0xb7, 0x3a, 0x00, 0x24, 0x14, 0xc0, 0x18, 0xc5, 0x5a, 0x52, 0x59, 0x90, + 0x5a, 0xfc, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, + 0x9e, 0x00, 0xa8, 0x1e, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90, + 0xca, 0x24, 0x36, 0xb0, 0x61, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x23, 0x83, 0xdd, + 0xfa, 0x00, 0x00, 0x00, +} + func (this *Timestamp) Compare(that interface{}) int { if that == nil { if this == nil { @@ -531,25 +553,3 @@ var ( ErrInvalidLengthTimestamp = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowTimestamp = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("google/protobuf/timestamp.proto", fileDescriptor_timestamp_820f61227bd8f1e8) -} - -var fileDescriptor_timestamp_820f61227bd8f1e8 = []byte{ - // 212 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4f, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0xc9, 0xcc, 0x4d, - 0x2d, 0x2e, 0x49, 0xcc, 0x2d, 0xd0, 0x03, 0x0b, 0x09, 0xf1, 0x43, 0x14, 0xe8, 0xc1, 0x14, 0x28, - 0x59, 0x73, 0x71, 0x86, 0xc0, 0xd4, 0x08, 0x49, 0x70, 0xb1, 0x17, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, - 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x30, 0x07, 0xc1, 0xb8, 0x42, 0x22, 0x5c, 0xac, 0x79, 0x89, - 0x79, 0xf9, 0xc5, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0xac, 0x41, 0x10, 0x8e, 0x53, 0x03, 0xe3, 0x8d, - 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xae, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, - 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0xbe, 0x78, 0x24, 0xc7, 0xf0, 0xe1, 0x91, 0x1c, - 0xe3, 0x8a, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, - 0x59, 0xee, 0xc4, 0x07, 0xb7, 0x3a, 0x00, 0x24, 0x14, 0xc0, 0x18, 0xc5, 0x5a, 0x52, 0x59, 0x90, - 0x5a, 0xfc, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, - 0x9e, 0x00, 0xa8, 0x1e, 0xbd, 0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x10, 0x90, - 0xca, 0x24, 0x36, 0xb0, 0x61, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x23, 0x83, 0xdd, - 0xfa, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/type.pb.go b/vendor/github.com/gogo/protobuf/types/type.pb.go index b422be3a4..0a0ba5dc1 100644 --- a/vendor/github.com/gogo/protobuf/types/type.pb.go +++ b/vendor/github.com/gogo/protobuf/types/type.pb.go @@ -3,18 +3,16 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strconv "strconv" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + bytes "bytes" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strconv "strconv" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -41,13 +39,14 @@ var Syntax_name = map[int32]string{ 0: "SYNTAX_PROTO2", 1: "SYNTAX_PROTO3", } + var Syntax_value = map[string]int32{ "SYNTAX_PROTO2": 0, "SYNTAX_PROTO3": 1, } func (Syntax) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{0} + return fileDescriptor_dd271cc1e348c538, []int{0} } // Basic field types. @@ -115,6 +114,7 @@ var Field_Kind_name = map[int32]string{ 17: "TYPE_SINT32", 18: "TYPE_SINT64", } + var Field_Kind_value = map[string]int32{ "TYPE_UNKNOWN": 0, "TYPE_DOUBLE": 1, @@ -138,7 +138,7 @@ var Field_Kind_value = map[string]int32{ } func (Field_Kind) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{1, 0} + return fileDescriptor_dd271cc1e348c538, []int{1, 0} } // Whether a field is optional, required, or repeated. @@ -161,6 +161,7 @@ var Field_Cardinality_name = map[int32]string{ 2: "CARDINALITY_REQUIRED", 3: "CARDINALITY_REPEATED", } + var Field_Cardinality_value = map[string]int32{ "CARDINALITY_UNKNOWN": 0, "CARDINALITY_OPTIONAL": 1, @@ -169,7 +170,7 @@ var Field_Cardinality_value = map[string]int32{ } func (Field_Cardinality) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{1, 1} + return fileDescriptor_dd271cc1e348c538, []int{1, 1} } // A protocol buffer message type. @@ -194,7 +195,7 @@ type Type struct { func (m *Type) Reset() { *m = Type{} } func (*Type) ProtoMessage() {} func (*Type) Descriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{0} + return fileDescriptor_dd271cc1e348c538, []int{0} } func (m *Type) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -211,8 +212,8 @@ func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Type) XXX_Merge(src proto.Message) { - xxx_messageInfo_Type.Merge(dst, src) +func (m *Type) XXX_Merge(src proto.Message) { + xxx_messageInfo_Type.Merge(m, src) } func (m *Type) XXX_Size() int { return m.Size() @@ -301,7 +302,7 @@ type Field struct { func (m *Field) Reset() { *m = Field{} } func (*Field) ProtoMessage() {} func (*Field) Descriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{1} + return fileDescriptor_dd271cc1e348c538, []int{1} } func (m *Field) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -318,8 +319,8 @@ func (m *Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Field) XXX_Merge(src proto.Message) { - xxx_messageInfo_Field.Merge(dst, src) +func (m *Field) XXX_Merge(src proto.Message) { + xxx_messageInfo_Field.Merge(m, src) } func (m *Field) XXX_Size() int { return m.Size() @@ -424,7 +425,7 @@ type Enum struct { func (m *Enum) Reset() { *m = Enum{} } func (*Enum) ProtoMessage() {} func (*Enum) Descriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{2} + return fileDescriptor_dd271cc1e348c538, []int{2} } func (m *Enum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -441,8 +442,8 @@ func (m *Enum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Enum) XXX_Merge(src proto.Message) { - xxx_messageInfo_Enum.Merge(dst, src) +func (m *Enum) XXX_Merge(src proto.Message) { + xxx_messageInfo_Enum.Merge(m, src) } func (m *Enum) XXX_Size() int { return m.Size() @@ -508,7 +509,7 @@ type EnumValue struct { func (m *EnumValue) Reset() { *m = EnumValue{} } func (*EnumValue) ProtoMessage() {} func (*EnumValue) Descriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{3} + return fileDescriptor_dd271cc1e348c538, []int{3} } func (m *EnumValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -525,8 +526,8 @@ func (m *EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *EnumValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_EnumValue.Merge(dst, src) +func (m *EnumValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_EnumValue.Merge(m, src) } func (m *EnumValue) XXX_Size() int { return m.Size() @@ -583,7 +584,7 @@ type Option struct { func (m *Option) Reset() { *m = Option{} } func (*Option) ProtoMessage() {} func (*Option) Descriptor() ([]byte, []int) { - return fileDescriptor_type_0082d870c49329d7, []int{4} + return fileDescriptor_dd271cc1e348c538, []int{4} } func (m *Option) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -600,8 +601,8 @@ func (m *Option) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Option) XXX_Merge(src proto.Message) { - xxx_messageInfo_Option.Merge(dst, src) +func (m *Option) XXX_Merge(src proto.Message) { + xxx_messageInfo_Option.Merge(m, src) } func (m *Option) XXX_Size() int { return m.Size() @@ -630,15 +631,75 @@ func (*Option) XXX_MessageName() string { return "google.protobuf.Option" } func init() { + proto.RegisterEnum("google.protobuf.Syntax", Syntax_name, Syntax_value) + proto.RegisterEnum("google.protobuf.Field_Kind", Field_Kind_name, Field_Kind_value) + proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value) proto.RegisterType((*Type)(nil), "google.protobuf.Type") proto.RegisterType((*Field)(nil), "google.protobuf.Field") proto.RegisterType((*Enum)(nil), "google.protobuf.Enum") proto.RegisterType((*EnumValue)(nil), "google.protobuf.EnumValue") proto.RegisterType((*Option)(nil), "google.protobuf.Option") - proto.RegisterEnum("google.protobuf.Syntax", Syntax_name, Syntax_value) - proto.RegisterEnum("google.protobuf.Field_Kind", Field_Kind_name, Field_Kind_value) - proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value) } + +func init() { proto.RegisterFile("google/protobuf/type.proto", fileDescriptor_dd271cc1e348c538) } + +var fileDescriptor_dd271cc1e348c538 = []byte{ + // 840 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcf, 0x73, 0xda, 0x46, + 0x14, 0xf6, 0x0a, 0x21, 0xa3, 0x87, 0xc1, 0x9b, 0x4d, 0x26, 0x51, 0x9c, 0x19, 0x95, 0xa1, 0x3d, + 0x30, 0x39, 0xe0, 0x29, 0x78, 0x3c, 0xbd, 0x82, 0x91, 0x29, 0x63, 0x22, 0xa9, 0x8b, 0x68, 0xe2, + 0x5e, 0x18, 0x0c, 0x72, 0x86, 0x44, 0xac, 0x18, 0x24, 0x5a, 0x73, 0xeb, 0x4c, 0xcf, 0xfd, 0x27, + 0x7a, 0xea, 0xf4, 0xdc, 0x3f, 0xc2, 0xc7, 0x1e, 0x7b, 0xac, 0xc9, 0xa5, 0xc7, 0x1c, 0x73, 0x6b, + 0x67, 0x57, 0x20, 0x8b, 0x1f, 0x9d, 0x49, 0xdb, 0x1b, 0xef, 0xfb, 0xbe, 0xf7, 0x73, 0x9f, 0x1e, + 0x70, 0xf4, 0xda, 0xf7, 0x5f, 0x7b, 0xee, 0xf1, 0x64, 0xea, 0x87, 0xfe, 0xd5, 0xec, 0xfa, 0x38, + 0x9c, 0x4f, 0xdc, 0xb2, 0xb0, 0xc8, 0x61, 0xc4, 0x95, 0x57, 0xdc, 0xd1, 0xd3, 0x4d, 0x71, 0x9f, + 0xcd, 0x23, 0xf6, 0xe8, 0xb3, 0x4d, 0x2a, 0xf0, 0x67, 0xd3, 0x81, 0xdb, 0x1b, 0xf8, 0x2c, 0x74, + 0x6f, 0xc2, 0x48, 0x55, 0xfc, 0x51, 0x02, 0xd9, 0x99, 0x4f, 0x5c, 0x42, 0x40, 0x66, 0xfd, 0xb1, + 0xab, 0xa1, 0x02, 0x2a, 0xa9, 0x54, 0xfc, 0x26, 0x65, 0x50, 0xae, 0x47, 0xae, 0x37, 0x0c, 0x34, + 0xa9, 0x90, 0x2a, 0x65, 0x2b, 0x8f, 0xcb, 0x1b, 0xf9, 0xcb, 0xe7, 0x9c, 0xa6, 0x4b, 0x15, 0x79, + 0x0c, 0x8a, 0xcf, 0x5c, 0xff, 0x3a, 0xd0, 0x52, 0x85, 0x54, 0x49, 0xa5, 0x4b, 0x8b, 0x7c, 0x0e, + 0xfb, 0xfe, 0x24, 0x1c, 0xf9, 0x2c, 0xd0, 0x64, 0x11, 0xe8, 0xc9, 0x56, 0x20, 0x4b, 0xf0, 0x74, + 0xa5, 0x23, 0x06, 0xe4, 0xd7, 0xeb, 0xd5, 0xd2, 0x05, 0x54, 0xca, 0x56, 0xf4, 0x2d, 0xcf, 0x8e, + 0x90, 0x9d, 0x45, 0x2a, 0x9a, 0x0b, 0x92, 0x26, 0x39, 0x06, 0x25, 0x98, 0xb3, 0xb0, 0x7f, 0xa3, + 0x29, 0x05, 0x54, 0xca, 0xef, 0x48, 0xdc, 0x11, 0x34, 0x5d, 0xca, 0x8a, 0xbf, 0x2a, 0x90, 0x16, + 0x4d, 0x91, 0x63, 0x90, 0xdf, 0x8e, 0xd8, 0x50, 0x0c, 0x24, 0x5f, 0x79, 0xb6, 0xbb, 0xf5, 0xf2, + 0xc5, 0x88, 0x0d, 0xa9, 0x10, 0x92, 0x06, 0x64, 0x07, 0xfd, 0xe9, 0x70, 0xc4, 0xfa, 0xde, 0x28, + 0x9c, 0x6b, 0x92, 0xf0, 0x2b, 0xfe, 0x83, 0xdf, 0xd9, 0xbd, 0x92, 0x26, 0xdd, 0xf8, 0x0c, 0xd9, + 0x6c, 0x7c, 0xe5, 0x4e, 0xb5, 0x54, 0x01, 0x95, 0xd2, 0x74, 0x69, 0xc5, 0xef, 0x23, 0x27, 0xde, + 0xe7, 0x29, 0x64, 0xf8, 0x72, 0xf4, 0x66, 0x53, 0x4f, 0xf4, 0xa7, 0xd2, 0x7d, 0x6e, 0x77, 0xa7, + 0x1e, 0xf9, 0x04, 0xb2, 0x62, 0xf8, 0xbd, 0x11, 0x1b, 0xba, 0x37, 0xda, 0xbe, 0x88, 0x05, 0x02, + 0x6a, 0x71, 0x84, 0xe7, 0x99, 0xf4, 0x07, 0x6f, 0xdd, 0xa1, 0x96, 0x29, 0xa0, 0x52, 0x86, 0x2e, + 0xad, 0xe4, 0x5b, 0xa9, 0x1f, 0xf9, 0x56, 0xcf, 0x40, 0x7d, 0x13, 0xf8, 0xac, 0x27, 0xea, 0x03, + 0x51, 0x47, 0x86, 0x03, 0x26, 0xaf, 0xf1, 0x53, 0xc8, 0x0d, 0xdd, 0xeb, 0xfe, 0xcc, 0x0b, 0x7b, + 0xdf, 0xf6, 0xbd, 0x99, 0xab, 0x65, 0x85, 0xe0, 0x60, 0x09, 0x7e, 0xcd, 0xb1, 0xe2, 0xad, 0x04, + 0x32, 0x9f, 0x24, 0xc1, 0x70, 0xe0, 0x5c, 0xda, 0x46, 0xaf, 0x6b, 0x5e, 0x98, 0xd6, 0x4b, 0x13, + 0xef, 0x91, 0x43, 0xc8, 0x0a, 0xa4, 0x61, 0x75, 0xeb, 0x6d, 0x03, 0x23, 0x92, 0x07, 0x10, 0xc0, + 0x79, 0xdb, 0xaa, 0x39, 0x58, 0x8a, 0xed, 0x96, 0xe9, 0x9c, 0x9e, 0xe0, 0x54, 0xec, 0xd0, 0x8d, + 0x00, 0x39, 0x29, 0xa8, 0x56, 0x70, 0x3a, 0xce, 0x71, 0xde, 0x7a, 0x65, 0x34, 0x4e, 0x4f, 0xb0, + 0xb2, 0x8e, 0x54, 0x2b, 0x78, 0x9f, 0xe4, 0x40, 0x15, 0x48, 0xdd, 0xb2, 0xda, 0x38, 0x13, 0xc7, + 0xec, 0x38, 0xb4, 0x65, 0x36, 0xb1, 0x1a, 0xc7, 0x6c, 0x52, 0xab, 0x6b, 0x63, 0x88, 0x23, 0xbc, + 0x30, 0x3a, 0x9d, 0x5a, 0xd3, 0xc0, 0xd9, 0x58, 0x51, 0xbf, 0x74, 0x8c, 0x0e, 0x3e, 0x58, 0x2b, + 0xab, 0x5a, 0xc1, 0xb9, 0x38, 0x85, 0x61, 0x76, 0x5f, 0xe0, 0x3c, 0x79, 0x00, 0xb9, 0x28, 0xc5, + 0xaa, 0x88, 0xc3, 0x0d, 0xe8, 0xf4, 0x04, 0xe3, 0xfb, 0x42, 0xa2, 0x28, 0x0f, 0xd6, 0x80, 0xd3, + 0x13, 0x4c, 0x8a, 0x21, 0x64, 0x13, 0xbb, 0x45, 0x9e, 0xc0, 0xc3, 0xb3, 0x1a, 0x6d, 0xb4, 0xcc, + 0x5a, 0xbb, 0xe5, 0x5c, 0x26, 0xe6, 0xaa, 0xc1, 0xa3, 0x24, 0x61, 0xd9, 0x4e, 0xcb, 0x32, 0x6b, + 0x6d, 0x8c, 0x36, 0x19, 0x6a, 0x7c, 0xd5, 0x6d, 0x51, 0xa3, 0x81, 0xa5, 0x6d, 0xc6, 0x36, 0x6a, + 0x8e, 0xd1, 0xc0, 0xa9, 0xe2, 0x5f, 0x08, 0x64, 0x83, 0xcd, 0xc6, 0x3b, 0xcf, 0xc8, 0x17, 0xa0, + 0xba, 0x6c, 0x36, 0x8e, 0x9e, 0x3f, 0xba, 0x24, 0x47, 0x5b, 0x4b, 0xc5, 0xbd, 0xc5, 0x32, 0xd0, + 0x7b, 0x71, 0x72, 0x19, 0x53, 0xff, 0xf9, 0x70, 0xc8, 0xff, 0xef, 0x70, 0xa4, 0x3f, 0xee, 0x70, + 0xbc, 0x01, 0x35, 0x6e, 0x61, 0xe7, 0x14, 0xee, 0x3f, 0x6c, 0x69, 0xed, 0xc3, 0xfe, 0xf7, 0x3d, + 0x16, 0xbf, 0x04, 0x25, 0x82, 0x76, 0x26, 0x7a, 0x0e, 0xe9, 0xd5, 0xa8, 0x79, 0xe3, 0x8f, 0xb6, + 0xc2, 0xd5, 0xd8, 0x9c, 0x46, 0x92, 0xe7, 0x65, 0x50, 0xa2, 0x3e, 0xf8, 0xb2, 0x75, 0x2e, 0x4d, + 0xa7, 0xf6, 0xaa, 0x67, 0x53, 0xcb, 0xb1, 0x2a, 0x78, 0x6f, 0x13, 0xaa, 0x62, 0x54, 0xff, 0x01, + 0xfd, 0x7e, 0xa7, 0xef, 0xbd, 0xbf, 0xd3, 0xd1, 0x87, 0x3b, 0x1d, 0x7d, 0xbf, 0xd0, 0xd1, 0xcf, + 0x0b, 0x1d, 0xdd, 0x2e, 0x74, 0xf4, 0xdb, 0x42, 0x47, 0x7f, 0x2c, 0x74, 0xf4, 0xe7, 0x42, 0xdf, + 0x7b, 0xcf, 0xf1, 0x77, 0x3a, 0xba, 0x7d, 0xa7, 0x23, 0x78, 0x38, 0xf0, 0xc7, 0x9b, 0x25, 0xd4, + 0x55, 0xfe, 0x9f, 0x63, 0x73, 0xcb, 0x46, 0xdf, 0xa4, 0xf9, 0xd1, 0x0a, 0x3e, 0x20, 0xf4, 0x93, + 0x94, 0x6a, 0xda, 0xf5, 0x5f, 0x24, 0xbd, 0x19, 0xc9, 0xed, 0x55, 0xc5, 0x2f, 0x5d, 0xcf, 0xbb, + 0x60, 0xfe, 0x77, 0x8c, 0xbb, 0x05, 0x57, 0x8a, 0x88, 0x53, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff, + 0xbc, 0x2a, 0x5e, 0x82, 0x2b, 0x07, 0x00, 0x00, +} + func (this *Type) Compare(that interface{}) int { if that == nil { if this == nil { @@ -3182,62 +3243,3 @@ var ( ErrInvalidLengthType = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowType = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("google/protobuf/type.proto", fileDescriptor_type_0082d870c49329d7) } - -var fileDescriptor_type_0082d870c49329d7 = []byte{ - // 840 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xcf, 0x73, 0xda, 0x46, - 0x14, 0xf6, 0x0a, 0x21, 0xa3, 0x87, 0xc1, 0x9b, 0x4d, 0x26, 0x51, 0x9c, 0x19, 0x95, 0xa1, 0x3d, - 0x30, 0x39, 0xe0, 0x29, 0x78, 0x3c, 0xbd, 0x82, 0x91, 0x29, 0x63, 0x22, 0xa9, 0x8b, 0x68, 0xe2, - 0x5e, 0x18, 0x0c, 0x72, 0x86, 0x44, 0xac, 0x18, 0x24, 0x5a, 0x73, 0xeb, 0x4c, 0xcf, 0xfd, 0x27, - 0x7a, 0xea, 0xf4, 0xdc, 0x3f, 0xc2, 0xc7, 0x1e, 0x7b, 0xac, 0xc9, 0xa5, 0xc7, 0x1c, 0x73, 0x6b, - 0x67, 0x57, 0x20, 0x8b, 0x1f, 0x9d, 0x49, 0xdb, 0x1b, 0xef, 0xfb, 0xbe, 0xf7, 0x73, 0x9f, 0x1e, - 0x70, 0xf4, 0xda, 0xf7, 0x5f, 0x7b, 0xee, 0xf1, 0x64, 0xea, 0x87, 0xfe, 0xd5, 0xec, 0xfa, 0x38, - 0x9c, 0x4f, 0xdc, 0xb2, 0xb0, 0xc8, 0x61, 0xc4, 0x95, 0x57, 0xdc, 0xd1, 0xd3, 0x4d, 0x71, 0x9f, - 0xcd, 0x23, 0xf6, 0xe8, 0xb3, 0x4d, 0x2a, 0xf0, 0x67, 0xd3, 0x81, 0xdb, 0x1b, 0xf8, 0x2c, 0x74, - 0x6f, 0xc2, 0x48, 0x55, 0xfc, 0x51, 0x02, 0xd9, 0x99, 0x4f, 0x5c, 0x42, 0x40, 0x66, 0xfd, 0xb1, - 0xab, 0xa1, 0x02, 0x2a, 0xa9, 0x54, 0xfc, 0x26, 0x65, 0x50, 0xae, 0x47, 0xae, 0x37, 0x0c, 0x34, - 0xa9, 0x90, 0x2a, 0x65, 0x2b, 0x8f, 0xcb, 0x1b, 0xf9, 0xcb, 0xe7, 0x9c, 0xa6, 0x4b, 0x15, 0x79, - 0x0c, 0x8a, 0xcf, 0x5c, 0xff, 0x3a, 0xd0, 0x52, 0x85, 0x54, 0x49, 0xa5, 0x4b, 0x8b, 0x7c, 0x0e, - 0xfb, 0xfe, 0x24, 0x1c, 0xf9, 0x2c, 0xd0, 0x64, 0x11, 0xe8, 0xc9, 0x56, 0x20, 0x4b, 0xf0, 0x74, - 0xa5, 0x23, 0x06, 0xe4, 0xd7, 0xeb, 0xd5, 0xd2, 0x05, 0x54, 0xca, 0x56, 0xf4, 0x2d, 0xcf, 0x8e, - 0x90, 0x9d, 0x45, 0x2a, 0x9a, 0x0b, 0x92, 0x26, 0x39, 0x06, 0x25, 0x98, 0xb3, 0xb0, 0x7f, 0xa3, - 0x29, 0x05, 0x54, 0xca, 0xef, 0x48, 0xdc, 0x11, 0x34, 0x5d, 0xca, 0x8a, 0xbf, 0x2a, 0x90, 0x16, - 0x4d, 0x91, 0x63, 0x90, 0xdf, 0x8e, 0xd8, 0x50, 0x0c, 0x24, 0x5f, 0x79, 0xb6, 0xbb, 0xf5, 0xf2, - 0xc5, 0x88, 0x0d, 0xa9, 0x10, 0x92, 0x06, 0x64, 0x07, 0xfd, 0xe9, 0x70, 0xc4, 0xfa, 0xde, 0x28, - 0x9c, 0x6b, 0x92, 0xf0, 0x2b, 0xfe, 0x83, 0xdf, 0xd9, 0xbd, 0x92, 0x26, 0xdd, 0xf8, 0x0c, 0xd9, - 0x6c, 0x7c, 0xe5, 0x4e, 0xb5, 0x54, 0x01, 0x95, 0xd2, 0x74, 0x69, 0xc5, 0xef, 0x23, 0x27, 0xde, - 0xe7, 0x29, 0x64, 0xf8, 0x72, 0xf4, 0x66, 0x53, 0x4f, 0xf4, 0xa7, 0xd2, 0x7d, 0x6e, 0x77, 0xa7, - 0x1e, 0xf9, 0x04, 0xb2, 0x62, 0xf8, 0xbd, 0x11, 0x1b, 0xba, 0x37, 0xda, 0xbe, 0x88, 0x05, 0x02, - 0x6a, 0x71, 0x84, 0xe7, 0x99, 0xf4, 0x07, 0x6f, 0xdd, 0xa1, 0x96, 0x29, 0xa0, 0x52, 0x86, 0x2e, - 0xad, 0xe4, 0x5b, 0xa9, 0x1f, 0xf9, 0x56, 0xcf, 0x40, 0x7d, 0x13, 0xf8, 0xac, 0x27, 0xea, 0x03, - 0x51, 0x47, 0x86, 0x03, 0x26, 0xaf, 0xf1, 0x53, 0xc8, 0x0d, 0xdd, 0xeb, 0xfe, 0xcc, 0x0b, 0x7b, - 0xdf, 0xf6, 0xbd, 0x99, 0xab, 0x65, 0x85, 0xe0, 0x60, 0x09, 0x7e, 0xcd, 0xb1, 0xe2, 0xad, 0x04, - 0x32, 0x9f, 0x24, 0xc1, 0x70, 0xe0, 0x5c, 0xda, 0x46, 0xaf, 0x6b, 0x5e, 0x98, 0xd6, 0x4b, 0x13, - 0xef, 0x91, 0x43, 0xc8, 0x0a, 0xa4, 0x61, 0x75, 0xeb, 0x6d, 0x03, 0x23, 0x92, 0x07, 0x10, 0xc0, - 0x79, 0xdb, 0xaa, 0x39, 0x58, 0x8a, 0xed, 0x96, 0xe9, 0x9c, 0x9e, 0xe0, 0x54, 0xec, 0xd0, 0x8d, - 0x00, 0x39, 0x29, 0xa8, 0x56, 0x70, 0x3a, 0xce, 0x71, 0xde, 0x7a, 0x65, 0x34, 0x4e, 0x4f, 0xb0, - 0xb2, 0x8e, 0x54, 0x2b, 0x78, 0x9f, 0xe4, 0x40, 0x15, 0x48, 0xdd, 0xb2, 0xda, 0x38, 0x13, 0xc7, - 0xec, 0x38, 0xb4, 0x65, 0x36, 0xb1, 0x1a, 0xc7, 0x6c, 0x52, 0xab, 0x6b, 0x63, 0x88, 0x23, 0xbc, - 0x30, 0x3a, 0x9d, 0x5a, 0xd3, 0xc0, 0xd9, 0x58, 0x51, 0xbf, 0x74, 0x8c, 0x0e, 0x3e, 0x58, 0x2b, - 0xab, 0x5a, 0xc1, 0xb9, 0x38, 0x85, 0x61, 0x76, 0x5f, 0xe0, 0x3c, 0x79, 0x00, 0xb9, 0x28, 0xc5, - 0xaa, 0x88, 0xc3, 0x0d, 0xe8, 0xf4, 0x04, 0xe3, 0xfb, 0x42, 0xa2, 0x28, 0x0f, 0xd6, 0x80, 0xd3, - 0x13, 0x4c, 0x8a, 0x21, 0x64, 0x13, 0xbb, 0x45, 0x9e, 0xc0, 0xc3, 0xb3, 0x1a, 0x6d, 0xb4, 0xcc, - 0x5a, 0xbb, 0xe5, 0x5c, 0x26, 0xe6, 0xaa, 0xc1, 0xa3, 0x24, 0x61, 0xd9, 0x4e, 0xcb, 0x32, 0x6b, - 0x6d, 0x8c, 0x36, 0x19, 0x6a, 0x7c, 0xd5, 0x6d, 0x51, 0xa3, 0x81, 0xa5, 0x6d, 0xc6, 0x36, 0x6a, - 0x8e, 0xd1, 0xc0, 0xa9, 0xe2, 0x5f, 0x08, 0x64, 0x83, 0xcd, 0xc6, 0x3b, 0xcf, 0xc8, 0x17, 0xa0, - 0xba, 0x6c, 0x36, 0x8e, 0x9e, 0x3f, 0xba, 0x24, 0x47, 0x5b, 0x4b, 0xc5, 0xbd, 0xc5, 0x32, 0xd0, - 0x7b, 0x71, 0x72, 0x19, 0x53, 0xff, 0xf9, 0x70, 0xc8, 0xff, 0xef, 0x70, 0xa4, 0x3f, 0xee, 0x70, - 0xbc, 0x01, 0x35, 0x6e, 0x61, 0xe7, 0x14, 0xee, 0x3f, 0x6c, 0x69, 0xed, 0xc3, 0xfe, 0xf7, 0x3d, - 0x16, 0xbf, 0x04, 0x25, 0x82, 0x76, 0x26, 0x7a, 0x0e, 0xe9, 0xd5, 0xa8, 0x79, 0xe3, 0x8f, 0xb6, - 0xc2, 0xd5, 0xd8, 0x9c, 0x46, 0x92, 0xe7, 0x65, 0x50, 0xa2, 0x3e, 0xf8, 0xb2, 0x75, 0x2e, 0x4d, - 0xa7, 0xf6, 0xaa, 0x67, 0x53, 0xcb, 0xb1, 0x2a, 0x78, 0x6f, 0x13, 0xaa, 0x62, 0x54, 0xff, 0x01, - 0xfd, 0x7e, 0xa7, 0xef, 0xbd, 0xbf, 0xd3, 0xd1, 0x87, 0x3b, 0x1d, 0x7d, 0xbf, 0xd0, 0xd1, 0xcf, - 0x0b, 0x1d, 0xdd, 0x2e, 0x74, 0xf4, 0xdb, 0x42, 0x47, 0x7f, 0x2c, 0x74, 0xf4, 0xe7, 0x42, 0xdf, - 0x7b, 0xcf, 0xf1, 0x77, 0x3a, 0xba, 0x7d, 0xa7, 0x23, 0x78, 0x38, 0xf0, 0xc7, 0x9b, 0x25, 0xd4, - 0x55, 0xfe, 0x9f, 0x63, 0x73, 0xcb, 0x46, 0xdf, 0xa4, 0xf9, 0xd1, 0x0a, 0x3e, 0x20, 0xf4, 0x93, - 0x94, 0x6a, 0xda, 0xf5, 0x5f, 0x24, 0xbd, 0x19, 0xc9, 0xed, 0x55, 0xc5, 0x2f, 0x5d, 0xcf, 0xbb, - 0x60, 0xfe, 0x77, 0x8c, 0xbb, 0x05, 0x57, 0x8a, 0x88, 0x53, 0xfd, 0x3b, 0x00, 0x00, 0xff, 0xff, - 0xbc, 0x2a, 0x5e, 0x82, 0x2b, 0x07, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/types/wrappers.pb.go b/vendor/github.com/gogo/protobuf/types/wrappers.pb.go index 7516cc989..3d5de6f83 100644 --- a/vendor/github.com/gogo/protobuf/types/wrappers.pb.go +++ b/vendor/github.com/gogo/protobuf/types/wrappers.pb.go @@ -3,18 +3,16 @@ package types -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import bytes "bytes" - -import strings "strings" -import reflect "reflect" - -import encoding_binary "encoding/binary" - -import io "io" +import ( + bytes "bytes" + encoding_binary "encoding/binary" + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -41,7 +39,7 @@ type DoubleValue struct { func (m *DoubleValue) Reset() { *m = DoubleValue{} } func (*DoubleValue) ProtoMessage() {} func (*DoubleValue) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{0} + return fileDescriptor_5377b62bda767935, []int{0} } func (*DoubleValue) XXX_WellKnownType() string { return "DoubleValue" } func (m *DoubleValue) XXX_Unmarshal(b []byte) error { @@ -59,8 +57,8 @@ func (m *DoubleValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *DoubleValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_DoubleValue.Merge(dst, src) +func (m *DoubleValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_DoubleValue.Merge(m, src) } func (m *DoubleValue) XXX_Size() int { return m.Size() @@ -96,7 +94,7 @@ type FloatValue struct { func (m *FloatValue) Reset() { *m = FloatValue{} } func (*FloatValue) ProtoMessage() {} func (*FloatValue) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{1} + return fileDescriptor_5377b62bda767935, []int{1} } func (*FloatValue) XXX_WellKnownType() string { return "FloatValue" } func (m *FloatValue) XXX_Unmarshal(b []byte) error { @@ -114,8 +112,8 @@ func (m *FloatValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *FloatValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_FloatValue.Merge(dst, src) +func (m *FloatValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_FloatValue.Merge(m, src) } func (m *FloatValue) XXX_Size() int { return m.Size() @@ -151,7 +149,7 @@ type Int64Value struct { func (m *Int64Value) Reset() { *m = Int64Value{} } func (*Int64Value) ProtoMessage() {} func (*Int64Value) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{2} + return fileDescriptor_5377b62bda767935, []int{2} } func (*Int64Value) XXX_WellKnownType() string { return "Int64Value" } func (m *Int64Value) XXX_Unmarshal(b []byte) error { @@ -169,8 +167,8 @@ func (m *Int64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Int64Value) XXX_Merge(src proto.Message) { - xxx_messageInfo_Int64Value.Merge(dst, src) +func (m *Int64Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Int64Value.Merge(m, src) } func (m *Int64Value) XXX_Size() int { return m.Size() @@ -206,7 +204,7 @@ type UInt64Value struct { func (m *UInt64Value) Reset() { *m = UInt64Value{} } func (*UInt64Value) ProtoMessage() {} func (*UInt64Value) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{3} + return fileDescriptor_5377b62bda767935, []int{3} } func (*UInt64Value) XXX_WellKnownType() string { return "UInt64Value" } func (m *UInt64Value) XXX_Unmarshal(b []byte) error { @@ -224,8 +222,8 @@ func (m *UInt64Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *UInt64Value) XXX_Merge(src proto.Message) { - xxx_messageInfo_UInt64Value.Merge(dst, src) +func (m *UInt64Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_UInt64Value.Merge(m, src) } func (m *UInt64Value) XXX_Size() int { return m.Size() @@ -261,7 +259,7 @@ type Int32Value struct { func (m *Int32Value) Reset() { *m = Int32Value{} } func (*Int32Value) ProtoMessage() {} func (*Int32Value) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{4} + return fileDescriptor_5377b62bda767935, []int{4} } func (*Int32Value) XXX_WellKnownType() string { return "Int32Value" } func (m *Int32Value) XXX_Unmarshal(b []byte) error { @@ -279,8 +277,8 @@ func (m *Int32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Int32Value) XXX_Merge(src proto.Message) { - xxx_messageInfo_Int32Value.Merge(dst, src) +func (m *Int32Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_Int32Value.Merge(m, src) } func (m *Int32Value) XXX_Size() int { return m.Size() @@ -316,7 +314,7 @@ type UInt32Value struct { func (m *UInt32Value) Reset() { *m = UInt32Value{} } func (*UInt32Value) ProtoMessage() {} func (*UInt32Value) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{5} + return fileDescriptor_5377b62bda767935, []int{5} } func (*UInt32Value) XXX_WellKnownType() string { return "UInt32Value" } func (m *UInt32Value) XXX_Unmarshal(b []byte) error { @@ -334,8 +332,8 @@ func (m *UInt32Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *UInt32Value) XXX_Merge(src proto.Message) { - xxx_messageInfo_UInt32Value.Merge(dst, src) +func (m *UInt32Value) XXX_Merge(src proto.Message) { + xxx_messageInfo_UInt32Value.Merge(m, src) } func (m *UInt32Value) XXX_Size() int { return m.Size() @@ -371,7 +369,7 @@ type BoolValue struct { func (m *BoolValue) Reset() { *m = BoolValue{} } func (*BoolValue) ProtoMessage() {} func (*BoolValue) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{6} + return fileDescriptor_5377b62bda767935, []int{6} } func (*BoolValue) XXX_WellKnownType() string { return "BoolValue" } func (m *BoolValue) XXX_Unmarshal(b []byte) error { @@ -389,8 +387,8 @@ func (m *BoolValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *BoolValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_BoolValue.Merge(dst, src) +func (m *BoolValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_BoolValue.Merge(m, src) } func (m *BoolValue) XXX_Size() int { return m.Size() @@ -426,7 +424,7 @@ type StringValue struct { func (m *StringValue) Reset() { *m = StringValue{} } func (*StringValue) ProtoMessage() {} func (*StringValue) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{7} + return fileDescriptor_5377b62bda767935, []int{7} } func (*StringValue) XXX_WellKnownType() string { return "StringValue" } func (m *StringValue) XXX_Unmarshal(b []byte) error { @@ -444,8 +442,8 @@ func (m *StringValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) return b[:n], nil } } -func (dst *StringValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_StringValue.Merge(dst, src) +func (m *StringValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_StringValue.Merge(m, src) } func (m *StringValue) XXX_Size() int { return m.Size() @@ -481,7 +479,7 @@ type BytesValue struct { func (m *BytesValue) Reset() { *m = BytesValue{} } func (*BytesValue) ProtoMessage() {} func (*BytesValue) Descriptor() ([]byte, []int) { - return fileDescriptor_wrappers_c5239a825c7dfb53, []int{8} + return fileDescriptor_5377b62bda767935, []int{8} } func (*BytesValue) XXX_WellKnownType() string { return "BytesValue" } func (m *BytesValue) XXX_Unmarshal(b []byte) error { @@ -499,8 +497,8 @@ func (m *BytesValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *BytesValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_BytesValue.Merge(dst, src) +func (m *BytesValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_BytesValue.Merge(m, src) } func (m *BytesValue) XXX_Size() int { return m.Size() @@ -532,6 +530,31 @@ func init() { proto.RegisterType((*StringValue)(nil), "google.protobuf.StringValue") proto.RegisterType((*BytesValue)(nil), "google.protobuf.BytesValue") } + +func init() { proto.RegisterFile("google/protobuf/wrappers.proto", fileDescriptor_5377b62bda767935) } + +var fileDescriptor_5377b62bda767935 = []byte{ + // 285 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, + 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x2f, 0x4a, 0x2c, + 0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0xca, + 0x5c, 0xdc, 0x2e, 0xf9, 0xa5, 0x49, 0x39, 0xa9, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x42, 0x22, 0x5c, + 0xac, 0x65, 0x20, 0x86, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x84, 0xa3, 0xa4, 0xc4, 0xc5, + 0xe5, 0x96, 0x93, 0x9f, 0x58, 0x82, 0x45, 0x0d, 0x13, 0x92, 0x1a, 0xcf, 0xbc, 0x12, 0x33, 0x13, + 0x2c, 0x6a, 0x98, 0x61, 0x6a, 0x94, 0xb9, 0xb8, 0x43, 0x71, 0x29, 0x62, 0x41, 0x35, 0xc8, 0xd8, + 0x08, 0x8b, 0x1a, 0x56, 0x34, 0x83, 0xb0, 0x2a, 0xe2, 0x85, 0x29, 0x52, 0xe4, 0xe2, 0x74, 0xca, + 0xcf, 0xcf, 0xc1, 0xa2, 0x84, 0x03, 0xc9, 0x9c, 0xe0, 0x92, 0xa2, 0xcc, 0xbc, 0x74, 0x2c, 0x8a, + 0x38, 0x91, 0x1c, 0xe4, 0x54, 0x59, 0x92, 0x5a, 0x8c, 0x45, 0x0d, 0x0f, 0x54, 0x8d, 0x53, 0x3b, + 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xd8, 0xf0, 0x48, + 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, + 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, + 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x45, 0x87, 0x13, 0x6f, 0x38, 0x34, 0xbe, 0x02, + 0x40, 0x22, 0x01, 0x8c, 0x51, 0xac, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x3f, 0x18, 0x19, 0x17, 0x31, + 0x31, 0xbb, 0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0x68, 0x09, 0x80, 0x6a, 0xd1, 0x0b, 0x4f, + 0xcd, 0xc9, 0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, 0x4c, 0x62, 0x03, 0x9b, 0x65, 0x0c, + 0x08, 0x00, 0x00, 0xff, 0xff, 0x31, 0x55, 0x64, 0x90, 0x0a, 0x02, 0x00, 0x00, +} + func (this *DoubleValue) Compare(that interface{}) int { if that == nil { if this == nil { @@ -2640,29 +2663,3 @@ var ( ErrInvalidLengthWrappers = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowWrappers = fmt.Errorf("proto: integer overflow") ) - -func init() { - proto.RegisterFile("google/protobuf/wrappers.proto", fileDescriptor_wrappers_c5239a825c7dfb53) -} - -var fileDescriptor_wrappers_c5239a825c7dfb53 = []byte{ - // 285 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0xcf, 0xcf, 0x4f, - 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3, 0x2f, 0x2f, 0x4a, 0x2c, - 0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x03, 0x8b, 0x08, 0xf1, 0x43, 0xe4, 0xf5, 0x60, 0xf2, 0x4a, 0xca, - 0x5c, 0xdc, 0x2e, 0xf9, 0xa5, 0x49, 0x39, 0xa9, 0x61, 0x89, 0x39, 0xa5, 0xa9, 0x42, 0x22, 0x5c, - 0xac, 0x65, 0x20, 0x86, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x63, 0x10, 0x84, 0xa3, 0xa4, 0xc4, 0xc5, - 0xe5, 0x96, 0x93, 0x9f, 0x58, 0x82, 0x45, 0x0d, 0x13, 0x92, 0x1a, 0xcf, 0xbc, 0x12, 0x33, 0x13, - 0x2c, 0x6a, 0x98, 0x61, 0x6a, 0x94, 0xb9, 0xb8, 0x43, 0x71, 0x29, 0x62, 0x41, 0x35, 0xc8, 0xd8, - 0x08, 0x8b, 0x1a, 0x56, 0x34, 0x83, 0xb0, 0x2a, 0xe2, 0x85, 0x29, 0x52, 0xe4, 0xe2, 0x74, 0xca, - 0xcf, 0xcf, 0xc1, 0xa2, 0x84, 0x03, 0xc9, 0x9c, 0xe0, 0x92, 0xa2, 0xcc, 0xbc, 0x74, 0x2c, 0x8a, - 0x38, 0x91, 0x1c, 0xe4, 0x54, 0x59, 0x92, 0x5a, 0x8c, 0x45, 0x0d, 0x0f, 0x54, 0x8d, 0x53, 0x3b, - 0xe3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0xfe, 0x78, 0x28, 0xc7, 0xd8, 0xf0, 0x48, - 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, - 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x20, 0xf1, 0xc7, 0x72, 0x8c, 0x27, 0x1e, 0xcb, - 0x31, 0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x45, 0x87, 0x13, 0x6f, 0x38, 0x34, 0xbe, 0x02, - 0x40, 0x22, 0x01, 0x8c, 0x51, 0xac, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x3f, 0x18, 0x19, 0x17, 0x31, - 0x31, 0xbb, 0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0x68, 0x09, 0x80, 0x6a, 0xd1, 0x0b, 0x4f, - 0xcd, 0xc9, 0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0x01, 0xa9, 0x4c, 0x62, 0x03, 0x9b, 0x65, 0x0c, - 0x08, 0x00, 0x00, 0xff, 0xff, 0x31, 0x55, 0x64, 0x90, 0x0a, 0x02, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go index 7905481d1..5799fc68e 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/fast/gogovanity.pb.go @@ -3,12 +3,13 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +35,7 @@ func (m *B) Reset() { *m = B{} } func (m *B) String() string { return proto.CompactTextString(m) } func (*B) ProtoMessage() {} func (*B) Descriptor() ([]byte, []int) { - return fileDescriptor_gogovanity_77d0a6938d93e1f7, []int{0} + return fileDescriptor_f8c9b51615339d8e, []int{0} } func (m *B) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -51,8 +52,8 @@ func (m *B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *B) XXX_Merge(src proto.Message) { - xxx_messageInfo_B.Merge(dst, src) +func (m *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(m, src) } func (m *B) XXX_Size() int { return m.Size() @@ -89,6 +90,23 @@ func (m *B) GetInt32() int32 { func init() { proto.RegisterType((*B)(nil), "vanity.B") } + +func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_f8c9b51615339d8e) } + +var fileDescriptor_f8c9b51615339d8e = []byte{ + // 157 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, + 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, + 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, + 0xc1, 0xd2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xb4, 0x29, 0x05, 0x73, 0x31, + 0x3a, 0x09, 0xc9, 0x70, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2a, 0x30, 0x6a, + 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x12, 0xe1, 0x62, 0xf5, 0xcc, + 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x0e, 0x82, 0x70, 0x84, 0xa4, 0xc0, 0xa2, + 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, 0x10, + 0x21, 0x27, 0x9e, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x11, + 0x10, 0x00, 0x00, 0xff, 0xff, 0x35, 0x73, 0x31, 0x4a, 0xac, 0x00, 0x00, 0x00, +} + func (m *B) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -395,19 +413,3 @@ var ( ErrInvalidLengthGogovanity = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGogovanity = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_gogovanity_77d0a6938d93e1f7) } - -var fileDescriptor_gogovanity_77d0a6938d93e1f7 = []byte{ - // 157 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, - 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, - 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, - 0xc1, 0xd2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xb4, 0x29, 0x05, 0x73, 0x31, - 0x3a, 0x09, 0xc9, 0x70, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2a, 0x30, 0x6a, - 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x12, 0xe1, 0x62, 0xf5, 0xcc, - 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x0e, 0x82, 0x70, 0x84, 0xa4, 0xc0, 0xa2, - 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, 0x10, - 0x21, 0x27, 0x9e, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x11, - 0x10, 0x00, 0x00, 0xff, 0xff, 0x35, 0x73, 0x31, 0x4a, 0xac, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go index 80cc850f5..91dce1ae2 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/fast/proto3.pb.go @@ -3,11 +3,12 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +32,7 @@ func (m *Aproto3) Reset() { *m = Aproto3{} } func (m *Aproto3) String() string { return proto.CompactTextString(m) } func (*Aproto3) ProtoMessage() {} func (*Aproto3) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_7d4345ceecd7203e, []int{0} + return fileDescriptor_4fee6d65e34a64b6, []int{0} } func (m *Aproto3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -48,8 +49,8 @@ func (m *Aproto3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Aproto3) XXX_Merge(src proto.Message) { - xxx_messageInfo_Aproto3.Merge(dst, src) +func (m *Aproto3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Aproto3.Merge(m, src) } func (m *Aproto3) XXX_Size() int { return m.Size() @@ -70,6 +71,19 @@ func (m *Aproto3) GetB() string { func init() { proto.RegisterType((*Aproto3)(nil), "vanity.Aproto3") } + +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_4fee6d65e34a64b6) } + +var fileDescriptor_4fee6d65e34a64b6 = []byte{ + // 82 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, + 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, + 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, + 0x46, 0x27, 0x27, 0x9e, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, + 0x31, 0x89, 0x0d, 0xa2, 0x06, 0x10, 0x00, 0x00, 0xff, 0xff, 0x97, 0x18, 0x92, 0x84, 0x45, 0x00, + 0x00, 0x00, +} + func (m *Aproto3) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -319,15 +333,3 @@ var ( ErrInvalidLengthProto3 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProto3 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_7d4345ceecd7203e) } - -var fileDescriptor_proto3_7d4345ceecd7203e = []byte{ - // 82 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, - 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, - 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, - 0x46, 0x27, 0x27, 0x9e, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, - 0x31, 0x89, 0x0d, 0xa2, 0x06, 0x10, 0x00, 0x00, 0xff, 0xff, 0x97, 0x18, 0x92, 0x84, 0x45, 0x00, - 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go index 8d4381d26..916660171 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/fast/vanity.pb.go @@ -3,13 +3,13 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" - -import io "io" +import ( + fmt "fmt" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -34,7 +34,7 @@ func (m *A) Reset() { *m = A{} } func (m *A) String() string { return proto.CompactTextString(m) } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_vanity_62f5a5ee00b3fc23, []int{0} + return fileDescriptor_d4f40d14cd1329d6, []int{0} } func (m *A) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -51,8 +51,8 @@ func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return m.Size() @@ -80,6 +80,20 @@ func (m *A) GetInt() int64 { func init() { proto.RegisterType((*A)(nil), "vanity.A") } + +func init() { proto.RegisterFile("vanity.proto", fileDescriptor_d4f40d14cd1329d6) } + +var fileDescriptor_d4f40d14cd1329d6 = []byte{ + // 97 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, + 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xf4, 0xb9, 0x18, + 0x1d, 0x85, 0x24, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, + 0x35, 0x38, 0x83, 0x60, 0x5c, 0x21, 0x01, 0x2e, 0x66, 0xcf, 0xbc, 0x12, 0x09, 0x26, 0x05, 0x26, + 0x0d, 0xe6, 0x20, 0x10, 0xd3, 0x89, 0xe7, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, + 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x7a, 0xd7, 0x63, 0x55, 0x00, 0x00, + 0x00, +} + func (m *A) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -365,16 +379,3 @@ var ( ErrInvalidLengthVanity = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVanity = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("vanity.proto", fileDescriptor_vanity_62f5a5ee00b3fc23) } - -var fileDescriptor_vanity_62f5a5ee00b3fc23 = []byte{ - // 97 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, - 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xf4, 0xb9, 0x18, - 0x1d, 0x85, 0x24, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, - 0x35, 0x38, 0x83, 0x60, 0x5c, 0x21, 0x01, 0x2e, 0x66, 0xcf, 0xbc, 0x12, 0x09, 0x26, 0x05, 0x26, - 0x0d, 0xe6, 0x20, 0x10, 0xd3, 0x89, 0xe7, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, - 0x3c, 0x92, 0x63, 0x04, 0x04, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x7a, 0xd7, 0x63, 0x55, 0x00, 0x00, - 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go index e89458792..ac1fbd940 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/faster/gogovanity.pb.go @@ -3,12 +3,13 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -31,7 +32,7 @@ func (m *B) Reset() { *m = B{} } func (m *B) String() string { return proto.CompactTextString(m) } func (*B) ProtoMessage() {} func (*B) Descriptor() ([]byte, []int) { - return fileDescriptor_gogovanity_5ec1359daac061c2, []int{0} + return fileDescriptor_f8c9b51615339d8e, []int{0} } func (m *B) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -48,8 +49,8 @@ func (m *B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *B) XXX_Merge(src proto.Message) { - xxx_messageInfo_B.Merge(dst, src) +func (m *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(m, src) } func (m *B) XXX_Size() int { return m.Size() @@ -86,6 +87,24 @@ func (m *B) GetInt32() int32 { func init() { proto.RegisterType((*B)(nil), "vanity.B") } + +func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_f8c9b51615339d8e) } + +var fileDescriptor_f8c9b51615339d8e = []byte{ + // 171 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, + 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, + 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, + 0xc1, 0xd2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xb4, 0x29, 0x45, 0x72, 0x31, + 0x3a, 0x09, 0xc9, 0x70, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2a, 0x30, 0x6a, + 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x92, 0xe2, 0x62, 0xf5, 0xcc, + 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x06, 0x4b, 0x32, 0x04, 0x41, 0x84, 0xa0, + 0x72, 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, + 0x10, 0x21, 0x27, 0x89, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, + 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x00, 0x04, 0x00, + 0x00, 0xff, 0xff, 0xbf, 0xbb, 0x2c, 0x28, 0xbe, 0x00, 0x00, 0x00, +} + func (m *B) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -380,20 +399,3 @@ var ( ErrInvalidLengthGogovanity = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGogovanity = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_gogovanity_5ec1359daac061c2) } - -var fileDescriptor_gogovanity_5ec1359daac061c2 = []byte{ - // 171 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, - 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, - 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, - 0xc1, 0xd2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xb4, 0x29, 0x45, 0x72, 0x31, - 0x3a, 0x09, 0xc9, 0x70, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2a, 0x30, 0x6a, - 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x92, 0xe2, 0x62, 0xf5, 0xcc, - 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x06, 0x4b, 0x32, 0x04, 0x41, 0x84, 0xa0, - 0x72, 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, - 0x10, 0x21, 0x27, 0x89, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, - 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x00, 0x04, 0x00, - 0x00, 0xff, 0xff, 0xbf, 0xbb, 0x2c, 0x28, 0xbe, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go index 1068288db..994d1c779 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/faster/proto3.pb.go @@ -3,11 +3,12 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -28,7 +29,7 @@ func (m *Aproto3) Reset() { *m = Aproto3{} } func (m *Aproto3) String() string { return proto.CompactTextString(m) } func (*Aproto3) ProtoMessage() {} func (*Aproto3) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_b593ea763dc96224, []int{0} + return fileDescriptor_4fee6d65e34a64b6, []int{0} } func (m *Aproto3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -45,8 +46,8 @@ func (m *Aproto3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Aproto3) XXX_Merge(src proto.Message) { - xxx_messageInfo_Aproto3.Merge(dst, src) +func (m *Aproto3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Aproto3.Merge(m, src) } func (m *Aproto3) XXX_Size() int { return m.Size() @@ -67,6 +68,19 @@ func (m *Aproto3) GetB() string { func init() { proto.RegisterType((*Aproto3)(nil), "vanity.Aproto3") } + +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_4fee6d65e34a64b6) } + +var fileDescriptor_4fee6d65e34a64b6 = []byte{ + // 95 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, + 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, + 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, + 0x46, 0x27, 0x27, 0x89, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, + 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x48, 0x62, 0x83, + 0xa8, 0x07, 0x04, 0x00, 0x00, 0xff, 0xff, 0x73, 0xb1, 0xdb, 0xd2, 0x51, 0x00, 0x00, 0x00, +} + func (m *Aproto3) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -309,15 +323,3 @@ var ( ErrInvalidLengthProto3 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProto3 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_b593ea763dc96224) } - -var fileDescriptor_proto3_b593ea763dc96224 = []byte{ - // 95 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, - 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, - 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, - 0x46, 0x27, 0x27, 0x89, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, - 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x48, 0x62, 0x83, - 0xa8, 0x07, 0x04, 0x00, 0x00, 0xff, 0xff, 0x73, 0xb1, 0xdb, 0xd2, 0x51, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go index 41e545e77..9ca528348 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/faster/vanity.pb.go @@ -3,12 +3,13 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import io "io" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" +import ( + fmt "fmt" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -30,7 +31,7 @@ func (m *A) Reset() { *m = A{} } func (m *A) String() string { return proto.CompactTextString(m) } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_vanity_c8a9a949a2e14347, []int{0} + return fileDescriptor_d4f40d14cd1329d6, []int{0} } func (m *A) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -47,8 +48,8 @@ func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return m.Size() @@ -76,6 +77,21 @@ func (m *A) GetInt() int64 { func init() { proto.RegisterType((*A)(nil), "vanity.A") } + +func init() { proto.RegisterFile("vanity.proto", fileDescriptor_d4f40d14cd1329d6) } + +var fileDescriptor_d4f40d14cd1329d6 = []byte{ + // 117 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, + 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xac, 0xb9, 0x18, + 0x1d, 0x85, 0xe4, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, + 0x35, 0x38, 0x9d, 0x58, 0x4e, 0xdc, 0x93, 0x67, 0x08, 0x82, 0x09, 0x0a, 0x89, 0x71, 0x31, 0x7b, + 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x12, 0x27, 0x1e, + 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, + 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x00, 0x08, 0x00, 0x00, 0xff, 0xff, 0x8b, 0x2e, 0x6a, + 0x0c, 0x6d, 0x00, 0x00, 0x00, +} + func (m *A) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -342,17 +358,3 @@ var ( ErrInvalidLengthVanity = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVanity = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("vanity.proto", fileDescriptor_vanity_c8a9a949a2e14347) } - -var fileDescriptor_vanity_c8a9a949a2e14347 = []byte{ - // 117 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, - 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xac, 0xb9, 0x18, - 0x1d, 0x85, 0xe4, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, - 0x35, 0x38, 0x9d, 0x58, 0x4e, 0xdc, 0x93, 0x67, 0x08, 0x82, 0x09, 0x0a, 0x89, 0x71, 0x31, 0x7b, - 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x12, 0x27, 0x1e, - 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, - 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x00, 0x08, 0x00, 0x00, 0xff, 0xff, 0x8b, 0x2e, 0x6a, - 0x0c, 0x6d, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go index 0ab67e7dc..6636a8f7c 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/slick/gogovanity.pb.go @@ -3,15 +3,15 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -33,7 +33,7 @@ type B struct { func (m *B) Reset() { *m = B{} } func (*B) ProtoMessage() {} func (*B) Descriptor() ([]byte, []int) { - return fileDescriptor_gogovanity_d28d049fcf27b277, []int{0} + return fileDescriptor_f8c9b51615339d8e, []int{0} } func (m *B) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -50,8 +50,8 @@ func (m *B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *B) XXX_Merge(src proto.Message) { - xxx_messageInfo_B.Merge(dst, src) +func (m *B) XXX_Merge(src proto.Message) { + xxx_messageInfo_B.Merge(m, src) } func (m *B) XXX_Size() int { return m.Size() @@ -88,6 +88,26 @@ func (m *B) GetInt32() int32 { func init() { proto.RegisterType((*B)(nil), "vanity.B") } + +func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_f8c9b51615339d8e) } + +var fileDescriptor_f8c9b51615339d8e = []byte{ + // 201 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, + 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, + 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, + 0xc1, 0xd2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xb4, 0x29, 0x45, 0x72, 0x31, + 0x3a, 0x09, 0xc9, 0x70, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2a, 0x30, 0x6a, + 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x92, 0xe2, 0x62, 0xf5, 0xcc, + 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x06, 0x4b, 0x32, 0x04, 0x41, 0x84, 0xa0, + 0x72, 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, + 0x10, 0x21, 0x27, 0x93, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, + 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, + 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, + 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x80, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xab, 0xeb, 0xeb, 0x07, 0xda, 0x00, 0x00, 0x00, +} + func (this *B) Equal(that interface{}) bool { if that == nil { return this == nil @@ -468,22 +488,3 @@ var ( ErrInvalidLengthGogovanity = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGogovanity = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("gogovanity.proto", fileDescriptor_gogovanity_d28d049fcf27b277) } - -var fileDescriptor_gogovanity_d28d049fcf27b277 = []byte{ - // 201 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xcf, 0x4f, 0xcf, - 0x2f, 0x4b, 0xcc, 0xcb, 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, - 0xa4, 0x74, 0xd3, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x41, 0x8a, 0xf4, - 0xc1, 0xd2, 0x49, 0xa5, 0x69, 0x60, 0x1e, 0x98, 0x03, 0x66, 0x41, 0xb4, 0x29, 0x45, 0x72, 0x31, - 0x3a, 0x09, 0xc9, 0x70, 0xb1, 0x05, 0x97, 0x14, 0x65, 0xe6, 0xa5, 0x4b, 0x30, 0x2a, 0x30, 0x6a, - 0x70, 0x3a, 0xb1, 0x9c, 0xb8, 0x27, 0xcf, 0x18, 0x04, 0x15, 0x13, 0x92, 0xe2, 0x62, 0xf5, 0xcc, - 0x2b, 0x31, 0x33, 0x91, 0x60, 0x52, 0x60, 0xd4, 0x60, 0x06, 0x4b, 0x32, 0x04, 0x41, 0x84, 0xa0, - 0x72, 0xc6, 0x46, 0x12, 0xcc, 0x0a, 0x8c, 0x1a, 0xac, 0x56, 0x2c, 0x86, 0x46, 0xc6, 0x26, 0x41, - 0x10, 0x21, 0x27, 0x93, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, - 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, - 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, - 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x80, 0x00, 0x00, 0x00, 0xff, - 0xff, 0xab, 0xeb, 0xeb, 0x07, 0xda, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go index 2872dca03..87b091963 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/slick/proto3.pb.go @@ -3,14 +3,14 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import strings "strings" -import reflect "reflect" - -import io "io" +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -30,7 +30,7 @@ type Aproto3 struct { func (m *Aproto3) Reset() { *m = Aproto3{} } func (*Aproto3) ProtoMessage() {} func (*Aproto3) Descriptor() ([]byte, []int) { - return fileDescriptor_proto3_1bf23e323c5dd138, []int{0} + return fileDescriptor_4fee6d65e34a64b6, []int{0} } func (m *Aproto3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -47,8 +47,8 @@ func (m *Aproto3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *Aproto3) XXX_Merge(src proto.Message) { - xxx_messageInfo_Aproto3.Merge(dst, src) +func (m *Aproto3) XXX_Merge(src proto.Message) { + xxx_messageInfo_Aproto3.Merge(m, src) } func (m *Aproto3) XXX_Size() int { return m.Size() @@ -69,6 +69,21 @@ func (m *Aproto3) GetB() string { func init() { proto.RegisterType((*Aproto3)(nil), "vanity.Aproto3") } + +func init() { proto.RegisterFile("proto3.proto", fileDescriptor_4fee6d65e34a64b6) } + +var fileDescriptor_4fee6d65e34a64b6 = []byte{ + // 125 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, + 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, + 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, + 0x46, 0x27, 0x27, 0x93, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, + 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, + 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, + 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x49, 0x6c, 0x10, 0xb3, 0x00, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x6e, 0x6a, 0x0e, 0x6d, 0x00, 0x00, 0x00, +} + func (this *Aproto3) Equal(that interface{}) bool { if that == nil { return this == nil @@ -371,17 +386,3 @@ var ( ErrInvalidLengthProto3 = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowProto3 = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("proto3.proto", fileDescriptor_proto3_1bf23e323c5dd138) } - -var fileDescriptor_proto3_1bf23e323c5dd138 = []byte{ - // 125 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x28, 0xca, 0x2f, - 0xc9, 0x37, 0xd6, 0x03, 0x53, 0x42, 0x6c, 0x65, 0x89, 0x79, 0x99, 0x25, 0x95, 0x4a, 0xe2, 0x5c, - 0xec, 0x8e, 0x10, 0x09, 0x21, 0x1e, 0x2e, 0x46, 0x27, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, - 0x46, 0x27, 0x27, 0x93, 0x0b, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0xf8, 0xf0, 0x50, 0x8e, - 0xb1, 0xe1, 0x91, 0x1c, 0xe3, 0x8a, 0x47, 0x72, 0x8c, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, - 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, - 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x49, 0x6c, 0x10, 0xb3, 0x00, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x6e, 0x6a, 0x0e, 0x6d, 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go b/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go index 36a98880e..13e55652e 100644 --- a/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go +++ b/vendor/github.com/gogo/protobuf/vanity/test/slick/vanity.pb.go @@ -3,15 +3,15 @@ package vanity -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -import strings "strings" -import reflect "reflect" - -import io "io" -import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" +import ( + fmt "fmt" + github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + reflect "reflect" + strings "strings" +) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal @@ -32,7 +32,7 @@ type A struct { func (m *A) Reset() { *m = A{} } func (*A) ProtoMessage() {} func (*A) Descriptor() ([]byte, []int) { - return fileDescriptor_vanity_0b672c3d48e40257, []int{0} + return fileDescriptor_d4f40d14cd1329d6, []int{0} } func (m *A) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -49,8 +49,8 @@ func (m *A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (dst *A) XXX_Merge(src proto.Message) { - xxx_messageInfo_A.Merge(dst, src) +func (m *A) XXX_Merge(src proto.Message) { + xxx_messageInfo_A.Merge(m, src) } func (m *A) XXX_Size() int { return m.Size() @@ -78,6 +78,23 @@ func (m *A) GetInt() int64 { func init() { proto.RegisterType((*A)(nil), "vanity.A") } + +func init() { proto.RegisterFile("vanity.proto", fileDescriptor_d4f40d14cd1329d6) } + +var fileDescriptor_d4f40d14cd1329d6 = []byte{ + // 147 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, + 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xac, 0xb9, 0x18, + 0x1d, 0x85, 0xe4, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, + 0x35, 0x38, 0x9d, 0x58, 0x4e, 0xdc, 0x93, 0x67, 0x08, 0x82, 0x09, 0x0a, 0x89, 0x71, 0x31, 0x7b, + 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x26, 0x17, 0x1e, + 0xca, 0x31, 0xdc, 0x78, 0x28, 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, + 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, + 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, + 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x20, 0x58, 0xc4, 0x53, 0x89, + 0x00, 0x00, 0x00, +} + func (this *A) Equal(that interface{}) bool { if that == nil { return this == nil @@ -409,19 +426,3 @@ var ( ErrInvalidLengthVanity = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowVanity = fmt.Errorf("proto: integer overflow") ) - -func init() { proto.RegisterFile("vanity.proto", fileDescriptor_vanity_0b672c3d48e40257) } - -var fileDescriptor_vanity_0b672c3d48e40257 = []byte{ - // 147 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x29, 0x4b, 0xcc, 0xcb, - 0x2c, 0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0x94, 0xac, 0xb9, 0x18, - 0x1d, 0x85, 0xe4, 0xb8, 0xd8, 0x83, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0x8b, 0x25, 0x18, 0x15, 0x18, - 0x35, 0x38, 0x9d, 0x58, 0x4e, 0xdc, 0x93, 0x67, 0x08, 0x82, 0x09, 0x0a, 0x89, 0x71, 0x31, 0x7b, - 0xe6, 0x95, 0x48, 0x30, 0x29, 0x30, 0x69, 0x30, 0x43, 0xe5, 0x40, 0x02, 0x4e, 0x26, 0x17, 0x1e, - 0xca, 0x31, 0xdc, 0x78, 0x28, 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x15, - 0x8f, 0xe4, 0x18, 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, - 0x17, 0x8f, 0xe4, 0x18, 0x3e, 0x3c, 0x92, 0x63, 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, - 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0x00, 0x01, 0x00, 0x00, 0xff, 0xff, 0x20, 0x58, 0xc4, 0x53, 0x89, - 0x00, 0x00, 0x00, -} diff --git a/vendor/github.com/openshift/api/.gitattributes b/vendor/github.com/openshift/api/.gitattributes new file mode 100644 index 000000000..124067fe7 --- /dev/null +++ b/vendor/github.com/openshift/api/.gitattributes @@ -0,0 +1,7 @@ +# Set unix LF EOL for shell scripts +*.sh text eol=lf + +**/zz_generated.*.go linguist-generated=true +**/types.generated.go linguist-generated=true +**/generated.pb.go linguist-generated=true +**/generated.proto linguist-generated=true diff --git a/vendor/github.com/openshift/api/.gitignore b/vendor/github.com/openshift/api/.gitignore new file mode 100644 index 000000000..98834d134 --- /dev/null +++ b/vendor/github.com/openshift/api/.gitignore @@ -0,0 +1,16 @@ +# Binaries for programs and plugins +*.exe +*.dll +*.so +*.dylib + +# Test binary, build with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 +.glide/ +.idea/ +_output/ \ No newline at end of file diff --git a/vendor/github.com/openshift/api/.travis.yml b/vendor/github.com/openshift/api/.travis.yml new file mode 100644 index 000000000..11cca1b0c --- /dev/null +++ b/vendor/github.com/openshift/api/.travis.yml @@ -0,0 +1,19 @@ +language: go + +go: + - "1.10" + +install: + - wget https://github.com/google/protobuf/releases/download/v3.0.2/protoc-3.0.2-linux-x86_64.zip + - mkdir protoc + - export PATH=`pwd`/protoc/bin:${PATH} + - unzip protoc-3.0.2-linux-x86_64.zip -d protoc/ + - go get golang.org/x/tools/cmd/goimports + +script: + - make verify build test + +notifications: + irc: "chat.freenode.net#openshift-dev" + +sudo: false diff --git a/vendor/github.com/openshift/api/LICENSE b/vendor/github.com/openshift/api/LICENSE new file mode 100644 index 000000000..8dada3eda --- /dev/null +++ b/vendor/github.com/openshift/api/LICENSE @@ -0,0 +1,201 @@ + 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/openshift/api/Makefile b/vendor/github.com/openshift/api/Makefile new file mode 100644 index 000000000..c4980b816 --- /dev/null +++ b/vendor/github.com/openshift/api/Makefile @@ -0,0 +1,26 @@ +all: build +.PHONY: all + +build: + go build github.com/openshift/api/... +.PHONY: build + +test: + go test github.com/openshift/api/pkg/testing/... +.PHONY: test + +verify: + hack/verify-deepcopy.sh + hack/verify-protobuf.sh + hack/verify-swagger-docs.sh +.PHONY: verify + +update-deps: + hack/update-deps.sh +.PHONY: update-deps + +generate: + hack/update-deepcopy.sh + hack/update-protobuf.sh + hack/update-swagger-docs.sh +.PHONY: generate diff --git a/vendor/github.com/openshift/api/OWNERS b/vendor/github.com/openshift/api/OWNERS new file mode 100644 index 000000000..e47019b22 --- /dev/null +++ b/vendor/github.com/openshift/api/OWNERS @@ -0,0 +1,12 @@ +reviewers: + - adambkaplan + - abhinavdahiya +approvers: + - smarterclayton + - deads2k + - derekwaynecarr + - eparis + - jwforres + - knobunc + - sjenning + - soltysh \ No newline at end of file diff --git a/vendor/github.com/openshift/api/README.md b/vendor/github.com/openshift/api/README.md new file mode 100644 index 000000000..de662b498 --- /dev/null +++ b/vendor/github.com/openshift/api/README.md @@ -0,0 +1,31 @@ +# api +The canonical location of the OpenShift API definition. This repo holds the API type definitions and serialization code used by [openshift/client-go](https://github.com/openshift/client-go) + +## pull request process + +Pull requests that change API types in this repo that have corresponding "internal" API objects in the +[openshift/origin](https://github.com/openshift/origin) repo must be paired with a pull request to +[openshift/origin](https://github.com/openshift/origin). + +To ensure the corresponding origin pull request is ready to merge as soon as the pull request to this repo is merged: +1. Base your pull request to this repo on latest [openshift/api#master](https://github.com/openshift/api/commits/master) and ensure CI is green +2. Base your pull request to openshift/origin on latest [openshift/origin#master](https://github.com/openshift/origin/commits/master) +3. In your openshift/origin pull request: + 1. Add a TMP commit that points [glide.yaml](https://github.com/openshift/origin/blob/master/glide.yaml#L39-L41) at your fork of openshift/api, and the branch of your pull request: + + ``` + - package: github.com/openshift/api + repo: https://github.com//api.git + version: "" + ``` + + 2. Update your `bump(*)` commit to include the result of running `hack/update-deps.sh`, which will pull in the changes from your openshift/api pull request + 3. Make sure CI is green on your openshift/origin pull request + 4. Get LGTM on your openshift/api pull request (for API changes) and your openshift/origin pull request (for code changes) + +Once both pull requests are ready, the openshift/api pull request can be merged. + +Then do the following with your openshift/origin pull request: +1. Drop the TMP commit (pointing glide back at openshift/api#master) +2. Rerun `hack/update-deps.sh` and update your `bump(*)` commit +3. It can then be tagged and merged by CI diff --git a/vendor/github.com/openshift/api/apps/OWNERS b/vendor/github.com/openshift/api/apps/OWNERS new file mode 100644 index 000000000..d8d669b91 --- /dev/null +++ b/vendor/github.com/openshift/api/apps/OWNERS @@ -0,0 +1,3 @@ +reviewers: + - mfojtik + - soltysh diff --git a/vendor/github.com/openshift/api/apps/install.go b/vendor/github.com/openshift/api/apps/install.go new file mode 100644 index 000000000..80f7ba2b2 --- /dev/null +++ b/vendor/github.com/openshift/api/apps/install.go @@ -0,0 +1,26 @@ +package apps + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + appsv1 "github.com/openshift/api/apps/v1" +) + +const ( + GroupName = "apps.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(appsv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/apps/v1/consts.go b/vendor/github.com/openshift/api/apps/v1/consts.go new file mode 100644 index 000000000..212578bcc --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/consts.go @@ -0,0 +1,108 @@ +package v1 + +const ( + // DeploymentStatusReasonAnnotation represents the reason for deployment being in a given state + // Used for specifying the reason for cancellation or failure of a deployment + // This is on replication controller set by deployer controller. + DeploymentStatusReasonAnnotation = "openshift.io/deployment.status-reason" + + // DeploymentPodAnnotation is an annotation on a deployment (a ReplicationController). The + // annotation value is the name of the deployer Pod which will act upon the ReplicationController + // to implement the deployment behavior. + // This is set on replication controller by deployer controller. + DeploymentPodAnnotation = "openshift.io/deployer-pod.name" + + // DeploymentConfigAnnotation is an annotation name used to correlate a deployment with the + // DeploymentConfig on which the deployment is based. + // This is set on replication controller pod template by deployer controller. + DeploymentConfigAnnotation = "openshift.io/deployment-config.name" + + // DeploymentCancelledAnnotation indicates that the deployment has been cancelled + // The annotation value does not matter and its mere presence indicates cancellation. + // This is set on replication controller by deployment config controller or oc rollout cancel command. + DeploymentCancelledAnnotation = "openshift.io/deployment.cancelled" + + // DeploymentEncodedConfigAnnotation is an annotation name used to retrieve specific encoded + // DeploymentConfig on which a given deployment is based. + // This is set on replication controller by deployer controller. + DeploymentEncodedConfigAnnotation = "openshift.io/encoded-deployment-config" + + // DeploymentVersionAnnotation is an annotation on a deployment (a ReplicationController). The + // annotation value is the LatestVersion value of the DeploymentConfig which was the basis for + // the deployment. + // This is set on replication controller pod template by deployment config controller. + DeploymentVersionAnnotation = "openshift.io/deployment-config.latest-version" + + // DeployerPodForDeploymentLabel is a label which groups pods related to a + // deployment. The value is a deployment name. The deployer pod and hook pods + // created by the internal strategies will have this label. Custom + // strategies can apply this label to any pods they create, enabling + // platform-provided cancellation and garbage collection support. + // This is set on deployer pod by deployer controller. + DeployerPodForDeploymentLabel = "openshift.io/deployer-pod-for.name" + + // DeploymentStatusAnnotation is an annotation name used to retrieve the DeploymentPhase of + // a deployment. + // This is set on replication controller by deployer controller. + DeploymentStatusAnnotation = "openshift.io/deployment.phase" +) + +type DeploymentConditionReason string + +var ( + // ReplicationControllerUpdatedReason is added in a deployment config when one of its replication + // controllers is updated as part of the rollout process. + ReplicationControllerUpdatedReason DeploymentConditionReason = "ReplicationControllerUpdated" + + // ReplicationControllerCreateError is added in a deployment config when it cannot create a new replication + // controller. + ReplicationControllerCreateErrorReason DeploymentConditionReason = "ReplicationControllerCreateError" + + // ReplicationControllerCreatedReason is added in a deployment config when it creates a new replication + // controller. + NewReplicationControllerCreatedReason DeploymentConditionReason = "NewReplicationControllerCreated" + + // NewReplicationControllerAvailableReason is added in a deployment config when its newest replication controller is made + // available ie. the number of new pods that have passed readiness checks and run for at least + // minReadySeconds is at least the minimum available pods that need to run for the deployment config. + NewReplicationControllerAvailableReason DeploymentConditionReason = "NewReplicationControllerAvailable" + + // ProgressDeadlineExceededReason is added in a deployment config when its newest replication controller fails to show + // any progress within the given deadline (progressDeadlineSeconds). + ProgressDeadlineExceededReason DeploymentConditionReason = "ProgressDeadlineExceeded" + + // DeploymentConfigPausedReason is added in a deployment config when it is paused. Lack of progress shouldn't be + // estimated once a deployment config is paused. + DeploymentConfigPausedReason DeploymentConditionReason = "DeploymentConfigPaused" + + // DeploymentConfigResumedReason is added in a deployment config when it is resumed. Useful for not failing accidentally + // deployment configs that paused amidst a rollout. + DeploymentConfigResumedReason DeploymentConditionReason = "DeploymentConfigResumed" + + // RolloutCancelledReason is added in a deployment config when its newest rollout was + // interrupted by cancellation. + RolloutCancelledReason DeploymentConditionReason = "RolloutCancelled" +) + +// DeploymentStatus describes the possible states a deployment can be in. +type DeploymentStatus string + +var ( + + // DeploymentStatusNew means the deployment has been accepted but not yet acted upon. + DeploymentStatusNew DeploymentStatus = "New" + + // DeploymentStatusPending means the deployment been handed over to a deployment strategy, + // but the strategy has not yet declared the deployment to be running. + DeploymentStatusPending DeploymentStatus = "Pending" + + // DeploymentStatusRunning means the deployment strategy has reported the deployment as + // being in-progress. + DeploymentStatusRunning DeploymentStatus = "Running" + + // DeploymentStatusComplete means the deployment finished without an error. + DeploymentStatusComplete DeploymentStatus = "Complete" + + // DeploymentStatusFailed means the deployment finished with an error. + DeploymentStatusFailed DeploymentStatus = "Failed" +) diff --git a/vendor/github.com/openshift/api/apps/v1/deprecated_consts.go b/vendor/github.com/openshift/api/apps/v1/deprecated_consts.go new file mode 100644 index 000000000..31969786c --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/deprecated_consts.go @@ -0,0 +1,38 @@ +package v1 + +// This file contains consts that are not shared between components and set just internally. +// They will likely be removed in (near) future. + +const ( + // DeployerPodCreatedAtAnnotation is an annotation on a deployment that + // records the time in RFC3339 format of when the deployer pod for this particular + // deployment was created. + // This is set by deployer controller, but not consumed by any command or internally. + // DEPRECATED: will be removed soon + DeployerPodCreatedAtAnnotation = "openshift.io/deployer-pod.created-at" + + // DeployerPodStartedAtAnnotation is an annotation on a deployment that + // records the time in RFC3339 format of when the deployer pod for this particular + // deployment was started. + // This is set by deployer controller, but not consumed by any command or internally. + // DEPRECATED: will be removed soon + DeployerPodStartedAtAnnotation = "openshift.io/deployer-pod.started-at" + + // DeployerPodCompletedAtAnnotation is an annotation on deployment that records + // the time in RFC3339 format of when the deployer pod finished. + // This is set by deployer controller, but not consumed by any command or internally. + // DEPRECATED: will be removed soon + DeployerPodCompletedAtAnnotation = "openshift.io/deployer-pod.completed-at" + + // DesiredReplicasAnnotation represents the desired number of replicas for a + // new deployment. + // This is set by deployer controller, but not consumed by any command or internally. + // DEPRECATED: will be removed soon + DesiredReplicasAnnotation = "kubectl.kubernetes.io/desired-replicas" + + // DeploymentAnnotation is an annotation on a deployer Pod. The annotation value is the name + // of the deployment (a ReplicationController) on which the deployer Pod acts. + // This is set by deployer controller and consumed internally and in oc adm top command. + // DEPRECATED: will be removed soon + DeploymentAnnotation = "openshift.io/deployment.name" +) diff --git a/vendor/github.com/openshift/api/apps/v1/doc.go b/vendor/github.com/openshift/api/apps/v1/doc.go new file mode 100644 index 000000000..edd16297b --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/apps/apis/apps +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=apps.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/apps/v1/generated.pb.go b/vendor/github.com/openshift/api/apps/v1/generated.pb.go new file mode 100644 index 000000000..53b61c61a --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/generated.pb.go @@ -0,0 +1,6494 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/apps/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/apps/v1/generated.proto + + It has these top-level messages: + CustomDeploymentStrategyParams + DeploymentCause + DeploymentCauseImageTrigger + DeploymentCondition + DeploymentConfig + DeploymentConfigList + DeploymentConfigRollback + DeploymentConfigRollbackSpec + DeploymentConfigSpec + DeploymentConfigStatus + DeploymentDetails + DeploymentLog + DeploymentLogOptions + DeploymentRequest + DeploymentStrategy + DeploymentTriggerImageChangeParams + DeploymentTriggerPolicies + DeploymentTriggerPolicy + ExecNewPodHook + LifecycleHook + RecreateDeploymentStrategyParams + RollingDeploymentStrategyParams + TagImageHook +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +import k8s_io_apimachinery_pkg_util_intstr "k8s.io/apimachinery/pkg/util/intstr" + +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *CustomDeploymentStrategyParams) Reset() { *m = CustomDeploymentStrategyParams{} } +func (*CustomDeploymentStrategyParams) ProtoMessage() {} +func (*CustomDeploymentStrategyParams) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{0} +} + +func (m *DeploymentCause) Reset() { *m = DeploymentCause{} } +func (*DeploymentCause) ProtoMessage() {} +func (*DeploymentCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *DeploymentCauseImageTrigger) Reset() { *m = DeploymentCauseImageTrigger{} } +func (*DeploymentCauseImageTrigger) ProtoMessage() {} +func (*DeploymentCauseImageTrigger) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{2} +} + +func (m *DeploymentCondition) Reset() { *m = DeploymentCondition{} } +func (*DeploymentCondition) ProtoMessage() {} +func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *DeploymentConfig) Reset() { *m = DeploymentConfig{} } +func (*DeploymentConfig) ProtoMessage() {} +func (*DeploymentConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *DeploymentConfigList) Reset() { *m = DeploymentConfigList{} } +func (*DeploymentConfigList) ProtoMessage() {} +func (*DeploymentConfigList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *DeploymentConfigRollback) Reset() { *m = DeploymentConfigRollback{} } +func (*DeploymentConfigRollback) ProtoMessage() {} +func (*DeploymentConfigRollback) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{6} +} + +func (m *DeploymentConfigRollbackSpec) Reset() { *m = DeploymentConfigRollbackSpec{} } +func (*DeploymentConfigRollbackSpec) ProtoMessage() {} +func (*DeploymentConfigRollbackSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{7} +} + +func (m *DeploymentConfigSpec) Reset() { *m = DeploymentConfigSpec{} } +func (*DeploymentConfigSpec) ProtoMessage() {} +func (*DeploymentConfigSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *DeploymentConfigStatus) Reset() { *m = DeploymentConfigStatus{} } +func (*DeploymentConfigStatus) ProtoMessage() {} +func (*DeploymentConfigStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *DeploymentDetails) Reset() { *m = DeploymentDetails{} } +func (*DeploymentDetails) ProtoMessage() {} +func (*DeploymentDetails) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } + +func (m *DeploymentLog) Reset() { *m = DeploymentLog{} } +func (*DeploymentLog) ProtoMessage() {} +func (*DeploymentLog) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func (m *DeploymentLogOptions) Reset() { *m = DeploymentLogOptions{} } +func (*DeploymentLogOptions) ProtoMessage() {} +func (*DeploymentLogOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *DeploymentRequest) Reset() { *m = DeploymentRequest{} } +func (*DeploymentRequest) ProtoMessage() {} +func (*DeploymentRequest) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } + +func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} } +func (*DeploymentStrategy) ProtoMessage() {} +func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } + +func (m *DeploymentTriggerImageChangeParams) Reset() { *m = DeploymentTriggerImageChangeParams{} } +func (*DeploymentTriggerImageChangeParams) ProtoMessage() {} +func (*DeploymentTriggerImageChangeParams) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{15} +} + +func (m *DeploymentTriggerPolicies) Reset() { *m = DeploymentTriggerPolicies{} } +func (*DeploymentTriggerPolicies) ProtoMessage() {} +func (*DeploymentTriggerPolicies) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{16} +} + +func (m *DeploymentTriggerPolicy) Reset() { *m = DeploymentTriggerPolicy{} } +func (*DeploymentTriggerPolicy) ProtoMessage() {} +func (*DeploymentTriggerPolicy) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{17} +} + +func (m *ExecNewPodHook) Reset() { *m = ExecNewPodHook{} } +func (*ExecNewPodHook) ProtoMessage() {} +func (*ExecNewPodHook) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } + +func (m *LifecycleHook) Reset() { *m = LifecycleHook{} } +func (*LifecycleHook) ProtoMessage() {} +func (*LifecycleHook) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } + +func (m *RecreateDeploymentStrategyParams) Reset() { *m = RecreateDeploymentStrategyParams{} } +func (*RecreateDeploymentStrategyParams) ProtoMessage() {} +func (*RecreateDeploymentStrategyParams) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{20} +} + +func (m *RollingDeploymentStrategyParams) Reset() { *m = RollingDeploymentStrategyParams{} } +func (*RollingDeploymentStrategyParams) ProtoMessage() {} +func (*RollingDeploymentStrategyParams) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{21} +} + +func (m *TagImageHook) Reset() { *m = TagImageHook{} } +func (*TagImageHook) ProtoMessage() {} +func (*TagImageHook) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } + +func init() { + proto.RegisterType((*CustomDeploymentStrategyParams)(nil), "github.com.openshift.api.apps.v1.CustomDeploymentStrategyParams") + proto.RegisterType((*DeploymentCause)(nil), "github.com.openshift.api.apps.v1.DeploymentCause") + proto.RegisterType((*DeploymentCauseImageTrigger)(nil), "github.com.openshift.api.apps.v1.DeploymentCauseImageTrigger") + proto.RegisterType((*DeploymentCondition)(nil), "github.com.openshift.api.apps.v1.DeploymentCondition") + proto.RegisterType((*DeploymentConfig)(nil), "github.com.openshift.api.apps.v1.DeploymentConfig") + proto.RegisterType((*DeploymentConfigList)(nil), "github.com.openshift.api.apps.v1.DeploymentConfigList") + proto.RegisterType((*DeploymentConfigRollback)(nil), "github.com.openshift.api.apps.v1.DeploymentConfigRollback") + proto.RegisterType((*DeploymentConfigRollbackSpec)(nil), "github.com.openshift.api.apps.v1.DeploymentConfigRollbackSpec") + proto.RegisterType((*DeploymentConfigSpec)(nil), "github.com.openshift.api.apps.v1.DeploymentConfigSpec") + proto.RegisterType((*DeploymentConfigStatus)(nil), "github.com.openshift.api.apps.v1.DeploymentConfigStatus") + proto.RegisterType((*DeploymentDetails)(nil), "github.com.openshift.api.apps.v1.DeploymentDetails") + proto.RegisterType((*DeploymentLog)(nil), "github.com.openshift.api.apps.v1.DeploymentLog") + proto.RegisterType((*DeploymentLogOptions)(nil), "github.com.openshift.api.apps.v1.DeploymentLogOptions") + proto.RegisterType((*DeploymentRequest)(nil), "github.com.openshift.api.apps.v1.DeploymentRequest") + proto.RegisterType((*DeploymentStrategy)(nil), "github.com.openshift.api.apps.v1.DeploymentStrategy") + proto.RegisterType((*DeploymentTriggerImageChangeParams)(nil), "github.com.openshift.api.apps.v1.DeploymentTriggerImageChangeParams") + proto.RegisterType((*DeploymentTriggerPolicies)(nil), "github.com.openshift.api.apps.v1.DeploymentTriggerPolicies") + proto.RegisterType((*DeploymentTriggerPolicy)(nil), "github.com.openshift.api.apps.v1.DeploymentTriggerPolicy") + proto.RegisterType((*ExecNewPodHook)(nil), "github.com.openshift.api.apps.v1.ExecNewPodHook") + proto.RegisterType((*LifecycleHook)(nil), "github.com.openshift.api.apps.v1.LifecycleHook") + proto.RegisterType((*RecreateDeploymentStrategyParams)(nil), "github.com.openshift.api.apps.v1.RecreateDeploymentStrategyParams") + proto.RegisterType((*RollingDeploymentStrategyParams)(nil), "github.com.openshift.api.apps.v1.RollingDeploymentStrategyParams") + proto.RegisterType((*TagImageHook)(nil), "github.com.openshift.api.apps.v1.TagImageHook") +} +func (m *CustomDeploymentStrategyParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomDeploymentStrategyParams) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Image))) + i += copy(dAtA[i:], m.Image) + if len(m.Environment) > 0 { + for _, msg := range m.Environment { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Command) > 0 { + for _, s := range m.Command { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *DeploymentCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.ImageTrigger != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ImageTrigger.Size())) + n1, err := m.ImageTrigger.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + } + return i, nil +} + +func (m *DeploymentCauseImageTrigger) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentCauseImageTrigger) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n2, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + return i, nil +} + +func (m *DeploymentCondition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentCondition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status))) + i += copy(dAtA[i:], m.Status) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n3, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastUpdateTime.Size())) + n4, err := m.LastUpdateTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + return i, nil +} + +func (m *DeploymentConfig) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentConfig) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n5, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n6, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n7, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + return i, nil +} + +func (m *DeploymentConfigList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentConfigList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n8, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *DeploymentConfigRollback) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentConfigRollback) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + if len(m.UpdatedAnnotations) > 0 { + keysForUpdatedAnnotations := make([]string, 0, len(m.UpdatedAnnotations)) + for k := range m.UpdatedAnnotations { + keysForUpdatedAnnotations = append(keysForUpdatedAnnotations, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForUpdatedAnnotations) + for _, k := range keysForUpdatedAnnotations { + dAtA[i] = 0x12 + i++ + v := m.UpdatedAnnotations[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n9, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + return i, nil +} + +func (m *DeploymentConfigRollbackSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentConfigRollbackSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n10, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Revision)) + dAtA[i] = 0x18 + i++ + if m.IncludeTriggers { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x20 + i++ + if m.IncludeTemplate { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x28 + i++ + if m.IncludeReplicationMeta { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x30 + i++ + if m.IncludeStrategy { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *DeploymentConfigSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentConfigSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Strategy.Size())) + n11, err := m.Strategy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + if m.Triggers != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Triggers.Size())) + n12, err := m.Triggers.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + } + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Replicas)) + if m.RevisionHistoryLimit != nil { + dAtA[i] = 0x20 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.RevisionHistoryLimit)) + } + dAtA[i] = 0x28 + i++ + if m.Test { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x30 + i++ + if m.Paused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.Selector) > 0 { + keysForSelector := make([]string, 0, len(m.Selector)) + for k := range m.Selector { + keysForSelector = append(keysForSelector, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForSelector) + for _, k := range keysForSelector { + dAtA[i] = 0x3a + i++ + v := m.Selector[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if m.Template != nil { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n13, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + } + dAtA[i] = 0x48 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.MinReadySeconds)) + return i, nil +} + +func (m *DeploymentConfigStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentConfigStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LatestVersion)) + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObservedGeneration)) + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Replicas)) + dAtA[i] = 0x20 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.UpdatedReplicas)) + dAtA[i] = 0x28 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AvailableReplicas)) + dAtA[i] = 0x30 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.UnavailableReplicas)) + if m.Details != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Details.Size())) + n14, err := m.Details.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + } + if len(m.Conditions) > 0 { + for _, msg := range m.Conditions { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x48 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ReadyReplicas)) + return i, nil +} + +func (m *DeploymentDetails) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentDetails) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + if len(m.Causes) > 0 { + for _, msg := range m.Causes { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *DeploymentLog) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentLog) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + return i, nil +} + +func (m *DeploymentLogOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentLogOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Container))) + i += copy(dAtA[i:], m.Container) + dAtA[i] = 0x10 + i++ + if m.Follow { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x18 + i++ + if m.Previous { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.SinceSeconds != nil { + dAtA[i] = 0x20 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.SinceSeconds)) + } + if m.SinceTime != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SinceTime.Size())) + n15, err := m.SinceTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n15 + } + dAtA[i] = 0x30 + i++ + if m.Timestamps { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.TailLines != nil { + dAtA[i] = 0x38 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.TailLines)) + } + if m.LimitBytes != nil { + dAtA[i] = 0x40 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.LimitBytes)) + } + dAtA[i] = 0x48 + i++ + if m.NoWait { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.Version != nil { + dAtA[i] = 0x50 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.Version)) + } + return i, nil +} + +func (m *DeploymentRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentRequest) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x10 + i++ + if m.Latest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x18 + i++ + if m.Force { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.ExcludeTriggers) > 0 { + for _, s := range m.ExcludeTriggers { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *DeploymentStrategy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentStrategy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.CustomParams != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CustomParams.Size())) + n16, err := m.CustomParams.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n16 + } + if m.RecreateParams != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.RecreateParams.Size())) + n17, err := m.RecreateParams.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + } + if m.RollingParams != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.RollingParams.Size())) + n18, err := m.RollingParams.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + } + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Resources.Size())) + n19, err := m.Resources.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n19 + if len(m.Labels) > 0 { + keysForLabels := make([]string, 0, len(m.Labels)) + for k := range m.Labels { + keysForLabels = append(keysForLabels, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForLabels) + for _, k := range keysForLabels { + dAtA[i] = 0x32 + i++ + v := m.Labels[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if len(m.Annotations) > 0 { + keysForAnnotations := make([]string, 0, len(m.Annotations)) + for k := range m.Annotations { + keysForAnnotations = append(keysForAnnotations, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForAnnotations) + for _, k := range keysForAnnotations { + dAtA[i] = 0x3a + i++ + v := m.Annotations[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if m.ActiveDeadlineSeconds != nil { + dAtA[i] = 0x40 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.ActiveDeadlineSeconds)) + } + return i, nil +} + +func (m *DeploymentTriggerImageChangeParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentTriggerImageChangeParams) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + if m.Automatic { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.ContainerNames) > 0 { + for _, s := range m.ContainerNames { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n20, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.LastTriggeredImage))) + i += copy(dAtA[i:], m.LastTriggeredImage) + return i, nil +} + +func (m DeploymentTriggerPolicies) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m DeploymentTriggerPolicies) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m) > 0 { + for _, msg := range m { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *DeploymentTriggerPolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeploymentTriggerPolicy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.ImageChangeParams != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ImageChangeParams.Size())) + n21, err := m.ImageChangeParams.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + } + return i, nil +} + +func (m *ExecNewPodHook) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExecNewPodHook) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Command) > 0 { + for _, s := range m.Command { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Env) > 0 { + for _, msg := range m.Env { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ContainerName))) + i += copy(dAtA[i:], m.ContainerName) + if len(m.Volumes) > 0 { + for _, s := range m.Volumes { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *LifecycleHook) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LifecycleHook) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.FailurePolicy))) + i += copy(dAtA[i:], m.FailurePolicy) + if m.ExecNewPod != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ExecNewPod.Size())) + n22, err := m.ExecNewPod.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n22 + } + if len(m.TagImages) > 0 { + for _, msg := range m.TagImages { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RecreateDeploymentStrategyParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RecreateDeploymentStrategyParams) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.TimeoutSeconds != nil { + dAtA[i] = 0x8 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.TimeoutSeconds)) + } + if m.Pre != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Pre.Size())) + n23, err := m.Pre.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n23 + } + if m.Mid != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Mid.Size())) + n24, err := m.Mid.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n24 + } + if m.Post != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Post.Size())) + n25, err := m.Post.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n25 + } + return i, nil +} + +func (m *RollingDeploymentStrategyParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RollingDeploymentStrategyParams) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.UpdatePeriodSeconds != nil { + dAtA[i] = 0x8 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.UpdatePeriodSeconds)) + } + if m.IntervalSeconds != nil { + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.IntervalSeconds)) + } + if m.TimeoutSeconds != nil { + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.TimeoutSeconds)) + } + if m.MaxUnavailable != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.MaxUnavailable.Size())) + n26, err := m.MaxUnavailable.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n26 + } + if m.MaxSurge != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.MaxSurge.Size())) + n27, err := m.MaxSurge.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n27 + } + if m.Pre != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Pre.Size())) + n28, err := m.Pre.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n28 + } + if m.Post != nil { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Post.Size())) + n29, err := m.Post.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n29 + } + return i, nil +} + +func (m *TagImageHook) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TagImageHook) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ContainerName))) + i += copy(dAtA[i:], m.ContainerName) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.To.Size())) + n30, err := m.To.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n30 + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *CustomDeploymentStrategyParams) Size() (n int) { + var l int + _ = l + l = len(m.Image) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Environment) > 0 { + for _, e := range m.Environment { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Command) > 0 { + for _, s := range m.Command { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *DeploymentCause) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.ImageTrigger != nil { + l = m.ImageTrigger.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *DeploymentCauseImageTrigger) Size() (n int) { + var l int + _ = l + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *DeploymentCondition) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Status) + n += 1 + l + sovGenerated(uint64(l)) + l = m.LastTransitionTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + l = m.LastUpdateTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *DeploymentConfig) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *DeploymentConfigList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *DeploymentConfigRollback) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.UpdatedAnnotations) > 0 { + for k, v := range m.UpdatedAnnotations { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *DeploymentConfigRollbackSpec) Size() (n int) { + var l int + _ = l + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.Revision)) + n += 2 + n += 2 + n += 2 + n += 2 + return n +} + +func (m *DeploymentConfigSpec) Size() (n int) { + var l int + _ = l + l = m.Strategy.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Triggers != nil { + l = m.Triggers.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 1 + sovGenerated(uint64(m.Replicas)) + if m.RevisionHistoryLimit != nil { + n += 1 + sovGenerated(uint64(*m.RevisionHistoryLimit)) + } + n += 2 + n += 2 + if len(m.Selector) > 0 { + for k, v := range m.Selector { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.Template != nil { + l = m.Template.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 1 + sovGenerated(uint64(m.MinReadySeconds)) + return n +} + +func (m *DeploymentConfigStatus) Size() (n int) { + var l int + _ = l + n += 1 + sovGenerated(uint64(m.LatestVersion)) + n += 1 + sovGenerated(uint64(m.ObservedGeneration)) + n += 1 + sovGenerated(uint64(m.Replicas)) + n += 1 + sovGenerated(uint64(m.UpdatedReplicas)) + n += 1 + sovGenerated(uint64(m.AvailableReplicas)) + n += 1 + sovGenerated(uint64(m.UnavailableReplicas)) + if m.Details != nil { + l = m.Details.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Conditions) > 0 { + for _, e := range m.Conditions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 1 + sovGenerated(uint64(m.ReadyReplicas)) + return n +} + +func (m *DeploymentDetails) Size() (n int) { + var l int + _ = l + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Causes) > 0 { + for _, e := range m.Causes { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *DeploymentLog) Size() (n int) { + var l int + _ = l + return n +} + +func (m *DeploymentLogOptions) Size() (n int) { + var l int + _ = l + l = len(m.Container) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + n += 2 + if m.SinceSeconds != nil { + n += 1 + sovGenerated(uint64(*m.SinceSeconds)) + } + if m.SinceTime != nil { + l = m.SinceTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 2 + if m.TailLines != nil { + n += 1 + sovGenerated(uint64(*m.TailLines)) + } + if m.LimitBytes != nil { + n += 1 + sovGenerated(uint64(*m.LimitBytes)) + } + n += 2 + if m.Version != nil { + n += 1 + sovGenerated(uint64(*m.Version)) + } + return n +} + +func (m *DeploymentRequest) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + n += 2 + if len(m.ExcludeTriggers) > 0 { + for _, s := range m.ExcludeTriggers { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *DeploymentStrategy) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.CustomParams != nil { + l = m.CustomParams.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.RecreateParams != nil { + l = m.RecreateParams.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.RollingParams != nil { + l = m.RollingParams.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = m.Resources.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Labels) > 0 { + for k, v := range m.Labels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if len(m.Annotations) > 0 { + for k, v := range m.Annotations { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.ActiveDeadlineSeconds != nil { + n += 1 + sovGenerated(uint64(*m.ActiveDeadlineSeconds)) + } + return n +} + +func (m *DeploymentTriggerImageChangeParams) Size() (n int) { + var l int + _ = l + n += 2 + if len(m.ContainerNames) > 0 { + for _, s := range m.ContainerNames { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.LastTriggeredImage) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m DeploymentTriggerPolicies) Size() (n int) { + var l int + _ = l + if len(m) > 0 { + for _, e := range m { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *DeploymentTriggerPolicy) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.ImageChangeParams != nil { + l = m.ImageChangeParams.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ExecNewPodHook) Size() (n int) { + var l int + _ = l + if len(m.Command) > 0 { + for _, s := range m.Command { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Env) > 0 { + for _, e := range m.Env { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.ContainerName) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Volumes) > 0 { + for _, s := range m.Volumes { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *LifecycleHook) Size() (n int) { + var l int + _ = l + l = len(m.FailurePolicy) + n += 1 + l + sovGenerated(uint64(l)) + if m.ExecNewPod != nil { + l = m.ExecNewPod.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.TagImages) > 0 { + for _, e := range m.TagImages { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RecreateDeploymentStrategyParams) Size() (n int) { + var l int + _ = l + if m.TimeoutSeconds != nil { + n += 1 + sovGenerated(uint64(*m.TimeoutSeconds)) + } + if m.Pre != nil { + l = m.Pre.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Mid != nil { + l = m.Mid.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Post != nil { + l = m.Post.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *RollingDeploymentStrategyParams) Size() (n int) { + var l int + _ = l + if m.UpdatePeriodSeconds != nil { + n += 1 + sovGenerated(uint64(*m.UpdatePeriodSeconds)) + } + if m.IntervalSeconds != nil { + n += 1 + sovGenerated(uint64(*m.IntervalSeconds)) + } + if m.TimeoutSeconds != nil { + n += 1 + sovGenerated(uint64(*m.TimeoutSeconds)) + } + if m.MaxUnavailable != nil { + l = m.MaxUnavailable.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.MaxSurge != nil { + l = m.MaxSurge.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Pre != nil { + l = m.Pre.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Post != nil { + l = m.Post.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *TagImageHook) Size() (n int) { + var l int + _ = l + l = len(m.ContainerName) + n += 1 + l + sovGenerated(uint64(l)) + l = m.To.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *CustomDeploymentStrategyParams) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomDeploymentStrategyParams{`, + `Image:` + fmt.Sprintf("%v", this.Image) + `,`, + `Environment:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Environment), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `Command:` + fmt.Sprintf("%v", this.Command) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentCause{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `ImageTrigger:` + strings.Replace(fmt.Sprintf("%v", this.ImageTrigger), "DeploymentCauseImageTrigger", "DeploymentCauseImageTrigger", 1) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentCauseImageTrigger) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentCauseImageTrigger{`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentCondition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentCondition{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Status:` + fmt.Sprintf("%v", this.Status) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `LastUpdateTime:` + strings.Replace(strings.Replace(this.LastUpdateTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentConfig) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentConfig{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "DeploymentConfigSpec", "DeploymentConfigSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "DeploymentConfigStatus", "DeploymentConfigStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentConfigList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentConfigList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "DeploymentConfig", "DeploymentConfig", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentConfigRollback) String() string { + if this == nil { + return "nil" + } + keysForUpdatedAnnotations := make([]string, 0, len(this.UpdatedAnnotations)) + for k := range this.UpdatedAnnotations { + keysForUpdatedAnnotations = append(keysForUpdatedAnnotations, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForUpdatedAnnotations) + mapStringForUpdatedAnnotations := "map[string]string{" + for _, k := range keysForUpdatedAnnotations { + mapStringForUpdatedAnnotations += fmt.Sprintf("%v: %v,", k, this.UpdatedAnnotations[k]) + } + mapStringForUpdatedAnnotations += "}" + s := strings.Join([]string{`&DeploymentConfigRollback{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `UpdatedAnnotations:` + mapStringForUpdatedAnnotations + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "DeploymentConfigRollbackSpec", "DeploymentConfigRollbackSpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentConfigRollbackSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentConfigRollbackSpec{`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `Revision:` + fmt.Sprintf("%v", this.Revision) + `,`, + `IncludeTriggers:` + fmt.Sprintf("%v", this.IncludeTriggers) + `,`, + `IncludeTemplate:` + fmt.Sprintf("%v", this.IncludeTemplate) + `,`, + `IncludeReplicationMeta:` + fmt.Sprintf("%v", this.IncludeReplicationMeta) + `,`, + `IncludeStrategy:` + fmt.Sprintf("%v", this.IncludeStrategy) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentConfigSpec) String() string { + if this == nil { + return "nil" + } + keysForSelector := make([]string, 0, len(this.Selector)) + for k := range this.Selector { + keysForSelector = append(keysForSelector, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForSelector) + mapStringForSelector := "map[string]string{" + for _, k := range keysForSelector { + mapStringForSelector += fmt.Sprintf("%v: %v,", k, this.Selector[k]) + } + mapStringForSelector += "}" + s := strings.Join([]string{`&DeploymentConfigSpec{`, + `Strategy:` + strings.Replace(strings.Replace(this.Strategy.String(), "DeploymentStrategy", "DeploymentStrategy", 1), `&`, ``, 1) + `,`, + `Triggers:` + strings.Replace(fmt.Sprintf("%v", this.Triggers), "DeploymentTriggerPolicies", "DeploymentTriggerPolicies", 1) + `,`, + `Replicas:` + fmt.Sprintf("%v", this.Replicas) + `,`, + `RevisionHistoryLimit:` + valueToStringGenerated(this.RevisionHistoryLimit) + `,`, + `Test:` + fmt.Sprintf("%v", this.Test) + `,`, + `Paused:` + fmt.Sprintf("%v", this.Paused) + `,`, + `Selector:` + mapStringForSelector + `,`, + `Template:` + strings.Replace(fmt.Sprintf("%v", this.Template), "PodTemplateSpec", "k8s_io_api_core_v1.PodTemplateSpec", 1) + `,`, + `MinReadySeconds:` + fmt.Sprintf("%v", this.MinReadySeconds) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentConfigStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentConfigStatus{`, + `LatestVersion:` + fmt.Sprintf("%v", this.LatestVersion) + `,`, + `ObservedGeneration:` + fmt.Sprintf("%v", this.ObservedGeneration) + `,`, + `Replicas:` + fmt.Sprintf("%v", this.Replicas) + `,`, + `UpdatedReplicas:` + fmt.Sprintf("%v", this.UpdatedReplicas) + `,`, + `AvailableReplicas:` + fmt.Sprintf("%v", this.AvailableReplicas) + `,`, + `UnavailableReplicas:` + fmt.Sprintf("%v", this.UnavailableReplicas) + `,`, + `Details:` + strings.Replace(fmt.Sprintf("%v", this.Details), "DeploymentDetails", "DeploymentDetails", 1) + `,`, + `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "DeploymentCondition", "DeploymentCondition", 1), `&`, ``, 1) + `,`, + `ReadyReplicas:` + fmt.Sprintf("%v", this.ReadyReplicas) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentDetails) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentDetails{`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `Causes:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Causes), "DeploymentCause", "DeploymentCause", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentLog) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentLog{`, + `}`, + }, "") + return s +} +func (this *DeploymentLogOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentLogOptions{`, + `Container:` + fmt.Sprintf("%v", this.Container) + `,`, + `Follow:` + fmt.Sprintf("%v", this.Follow) + `,`, + `Previous:` + fmt.Sprintf("%v", this.Previous) + `,`, + `SinceSeconds:` + valueToStringGenerated(this.SinceSeconds) + `,`, + `SinceTime:` + strings.Replace(fmt.Sprintf("%v", this.SinceTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `Timestamps:` + fmt.Sprintf("%v", this.Timestamps) + `,`, + `TailLines:` + valueToStringGenerated(this.TailLines) + `,`, + `LimitBytes:` + valueToStringGenerated(this.LimitBytes) + `,`, + `NoWait:` + fmt.Sprintf("%v", this.NoWait) + `,`, + `Version:` + valueToStringGenerated(this.Version) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentRequest) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentRequest{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Latest:` + fmt.Sprintf("%v", this.Latest) + `,`, + `Force:` + fmt.Sprintf("%v", this.Force) + `,`, + `ExcludeTriggers:` + fmt.Sprintf("%v", this.ExcludeTriggers) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentStrategy) String() string { + if this == nil { + return "nil" + } + keysForLabels := make([]string, 0, len(this.Labels)) + for k := range this.Labels { + keysForLabels = append(keysForLabels, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForLabels) + mapStringForLabels := "map[string]string{" + for _, k := range keysForLabels { + mapStringForLabels += fmt.Sprintf("%v: %v,", k, this.Labels[k]) + } + mapStringForLabels += "}" + keysForAnnotations := make([]string, 0, len(this.Annotations)) + for k := range this.Annotations { + keysForAnnotations = append(keysForAnnotations, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForAnnotations) + mapStringForAnnotations := "map[string]string{" + for _, k := range keysForAnnotations { + mapStringForAnnotations += fmt.Sprintf("%v: %v,", k, this.Annotations[k]) + } + mapStringForAnnotations += "}" + s := strings.Join([]string{`&DeploymentStrategy{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `CustomParams:` + strings.Replace(fmt.Sprintf("%v", this.CustomParams), "CustomDeploymentStrategyParams", "CustomDeploymentStrategyParams", 1) + `,`, + `RecreateParams:` + strings.Replace(fmt.Sprintf("%v", this.RecreateParams), "RecreateDeploymentStrategyParams", "RecreateDeploymentStrategyParams", 1) + `,`, + `RollingParams:` + strings.Replace(fmt.Sprintf("%v", this.RollingParams), "RollingDeploymentStrategyParams", "RollingDeploymentStrategyParams", 1) + `,`, + `Resources:` + strings.Replace(strings.Replace(this.Resources.String(), "ResourceRequirements", "k8s_io_api_core_v1.ResourceRequirements", 1), `&`, ``, 1) + `,`, + `Labels:` + mapStringForLabels + `,`, + `Annotations:` + mapStringForAnnotations + `,`, + `ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentTriggerImageChangeParams) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentTriggerImageChangeParams{`, + `Automatic:` + fmt.Sprintf("%v", this.Automatic) + `,`, + `ContainerNames:` + fmt.Sprintf("%v", this.ContainerNames) + `,`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `LastTriggeredImage:` + fmt.Sprintf("%v", this.LastTriggeredImage) + `,`, + `}`, + }, "") + return s +} +func (this *DeploymentTriggerPolicy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DeploymentTriggerPolicy{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `ImageChangeParams:` + strings.Replace(fmt.Sprintf("%v", this.ImageChangeParams), "DeploymentTriggerImageChangeParams", "DeploymentTriggerImageChangeParams", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ExecNewPodHook) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ExecNewPodHook{`, + `Command:` + fmt.Sprintf("%v", this.Command) + `,`, + `Env:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Env), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `ContainerName:` + fmt.Sprintf("%v", this.ContainerName) + `,`, + `Volumes:` + fmt.Sprintf("%v", this.Volumes) + `,`, + `}`, + }, "") + return s +} +func (this *LifecycleHook) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&LifecycleHook{`, + `FailurePolicy:` + fmt.Sprintf("%v", this.FailurePolicy) + `,`, + `ExecNewPod:` + strings.Replace(fmt.Sprintf("%v", this.ExecNewPod), "ExecNewPodHook", "ExecNewPodHook", 1) + `,`, + `TagImages:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TagImages), "TagImageHook", "TagImageHook", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RecreateDeploymentStrategyParams) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RecreateDeploymentStrategyParams{`, + `TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`, + `Pre:` + strings.Replace(fmt.Sprintf("%v", this.Pre), "LifecycleHook", "LifecycleHook", 1) + `,`, + `Mid:` + strings.Replace(fmt.Sprintf("%v", this.Mid), "LifecycleHook", "LifecycleHook", 1) + `,`, + `Post:` + strings.Replace(fmt.Sprintf("%v", this.Post), "LifecycleHook", "LifecycleHook", 1) + `,`, + `}`, + }, "") + return s +} +func (this *RollingDeploymentStrategyParams) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RollingDeploymentStrategyParams{`, + `UpdatePeriodSeconds:` + valueToStringGenerated(this.UpdatePeriodSeconds) + `,`, + `IntervalSeconds:` + valueToStringGenerated(this.IntervalSeconds) + `,`, + `TimeoutSeconds:` + valueToStringGenerated(this.TimeoutSeconds) + `,`, + `MaxUnavailable:` + strings.Replace(fmt.Sprintf("%v", this.MaxUnavailable), "IntOrString", "k8s_io_apimachinery_pkg_util_intstr.IntOrString", 1) + `,`, + `MaxSurge:` + strings.Replace(fmt.Sprintf("%v", this.MaxSurge), "IntOrString", "k8s_io_apimachinery_pkg_util_intstr.IntOrString", 1) + `,`, + `Pre:` + strings.Replace(fmt.Sprintf("%v", this.Pre), "LifecycleHook", "LifecycleHook", 1) + `,`, + `Post:` + strings.Replace(fmt.Sprintf("%v", this.Post), "LifecycleHook", "LifecycleHook", 1) + `,`, + `}`, + }, "") + return s +} +func (this *TagImageHook) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TagImageHook{`, + `ContainerName:` + fmt.Sprintf("%v", this.ContainerName) + `,`, + `To:` + strings.Replace(strings.Replace(this.To.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *CustomDeploymentStrategyParams) 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 ErrIntOverflowGenerated + } + 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: CustomDeploymentStrategyParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomDeploymentStrategyParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Image = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Environment", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Environment = append(m.Environment, k8s_io_api_core_v1.EnvVar{}) + if err := m.Environment[len(m.Environment)-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 Command", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Command = append(m.Command, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentCause) 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 ErrIntOverflowGenerated + } + 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: DeploymentCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = DeploymentTriggerType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageTrigger", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ImageTrigger == nil { + m.ImageTrigger = &DeploymentCauseImageTrigger{} + } + if err := m.ImageTrigger.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentCauseImageTrigger) 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 ErrIntOverflowGenerated + } + 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: DeploymentCauseImageTrigger: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentCauseImageTrigger: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentCondition) 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 ErrIntOverflowGenerated + } + 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: DeploymentCondition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentCondition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = DeploymentConditionType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastUpdateTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastUpdateTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentConfig) 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 ErrIntOverflowGenerated + } + 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: DeploymentConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentConfigList) 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 ErrIntOverflowGenerated + } + 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: DeploymentConfigList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentConfigList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, DeploymentConfig{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentConfigRollback) 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 ErrIntOverflowGenerated + } + 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: DeploymentConfigRollback: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentConfigRollback: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UpdatedAnnotations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.UpdatedAnnotations == nil { + m.UpdatedAnnotations = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.UpdatedAnnotations[mapkey] = mapvalue + } else { + var mapvalue string + m.UpdatedAnnotations[mapkey] = mapvalue + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentConfigRollbackSpec) 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 ErrIntOverflowGenerated + } + 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: DeploymentConfigRollbackSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentConfigRollbackSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + m.Revision = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Revision |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeTriggers", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IncludeTriggers = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeTemplate", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IncludeTemplate = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeReplicationMeta", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IncludeReplicationMeta = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeStrategy", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IncludeStrategy = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentConfigSpec) 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 ErrIntOverflowGenerated + } + 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: DeploymentConfigSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentConfigSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Strategy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Strategy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Triggers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Triggers == nil { + m.Triggers = DeploymentTriggerPolicies{} + } + if err := m.Triggers.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Replicas", wireType) + } + m.Replicas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Replicas |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RevisionHistoryLimit", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.RevisionHistoryLimit = &v + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Test", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Test = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Paused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Paused = bool(v != 0) + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Selector == nil { + m.Selector = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.Selector[mapkey] = mapvalue + } else { + var mapvalue string + m.Selector[mapkey] = mapvalue + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Template == nil { + m.Template = &k8s_io_api_core_v1.PodTemplateSpec{} + } + if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinReadySeconds", wireType) + } + m.MinReadySeconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinReadySeconds |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentConfigStatus) 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 ErrIntOverflowGenerated + } + 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: DeploymentConfigStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentConfigStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LatestVersion", wireType) + } + m.LatestVersion = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LatestVersion |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ObservedGeneration", wireType) + } + m.ObservedGeneration = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ObservedGeneration |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Replicas", wireType) + } + m.Replicas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Replicas |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UpdatedReplicas", wireType) + } + m.UpdatedReplicas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UpdatedReplicas |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AvailableReplicas", wireType) + } + m.AvailableReplicas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AvailableReplicas |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UnavailableReplicas", wireType) + } + m.UnavailableReplicas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UnavailableReplicas |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Details", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Details == nil { + m.Details = &DeploymentDetails{} + } + if err := m.Details.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Conditions = append(m.Conditions, DeploymentCondition{}) + if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadyReplicas", wireType) + } + m.ReadyReplicas = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReadyReplicas |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentDetails) 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 ErrIntOverflowGenerated + } + 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: DeploymentDetails: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentDetails: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Causes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Causes = append(m.Causes, DeploymentCause{}) + if err := m.Causes[len(m.Causes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentLog) 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 ErrIntOverflowGenerated + } + 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: DeploymentLog: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentLog: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentLogOptions) 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 ErrIntOverflowGenerated + } + 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: DeploymentLogOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentLogOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Container = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Follow", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Follow = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Previous", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Previous = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SinceSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.SinceSeconds = &v + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SinceTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SinceTime == nil { + m.SinceTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} + } + if err := m.SinceTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamps", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Timestamps = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TailLines", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TailLines = &v + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LimitBytes", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.LimitBytes = &v + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NoWait", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.NoWait = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Version = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentRequest) 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 ErrIntOverflowGenerated + } + 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: DeploymentRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentRequest: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + 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 Latest", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Latest = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Force", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Force = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExcludeTriggers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExcludeTriggers = append(m.ExcludeTriggers, DeploymentTriggerType(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentStrategy) 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 ErrIntOverflowGenerated + } + 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: DeploymentStrategy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentStrategy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = DeploymentStrategyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CustomParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CustomParams == nil { + m.CustomParams = &CustomDeploymentStrategyParams{} + } + if err := m.CustomParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RecreateParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RecreateParams == nil { + m.RecreateParams = &RecreateDeploymentStrategyParams{} + } + if err := m.RecreateParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RollingParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RollingParams == nil { + m.RollingParams = &RollingDeploymentStrategyParams{} + } + if err := m.RollingParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Labels == nil { + m.Labels = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.Labels[mapkey] = mapvalue + } else { + var mapvalue string + m.Labels[mapkey] = mapvalue + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Annotations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Annotations == nil { + m.Annotations = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.Annotations[mapkey] = mapvalue + } else { + var mapvalue string + m.Annotations[mapkey] = mapvalue + } + iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveDeadlineSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ActiveDeadlineSeconds = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentTriggerImageChangeParams) 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 ErrIntOverflowGenerated + } + 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: DeploymentTriggerImageChangeParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentTriggerImageChangeParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Automatic", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Automatic = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContainerNames", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContainerNames = append(m.ContainerNames, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTriggeredImage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LastTriggeredImage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentTriggerPolicies) 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 ErrIntOverflowGenerated + } + 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: DeploymentTriggerPolicies: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentTriggerPolicies: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + *m = append(*m, DeploymentTriggerPolicy{}) + if err := (*m)[len(*m)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DeploymentTriggerPolicy) 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 ErrIntOverflowGenerated + } + 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: DeploymentTriggerPolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeploymentTriggerPolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = DeploymentTriggerType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageChangeParams", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ImageChangeParams == nil { + m.ImageChangeParams = &DeploymentTriggerImageChangeParams{} + } + if err := m.ImageChangeParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExecNewPodHook) 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 ErrIntOverflowGenerated + } + 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: ExecNewPodHook: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExecNewPodHook: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Command = append(m.Command, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = append(m.Env, k8s_io_api_core_v1.EnvVar{}) + if err := m.Env[len(m.Env)-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 ContainerName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContainerName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Volumes = append(m.Volumes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *LifecycleHook) 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 ErrIntOverflowGenerated + } + 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: LifecycleHook: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LifecycleHook: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FailurePolicy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FailurePolicy = LifecycleHookFailurePolicy(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExecNewPod", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ExecNewPod == nil { + m.ExecNewPod = &ExecNewPodHook{} + } + if err := m.ExecNewPod.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TagImages", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TagImages = append(m.TagImages, TagImageHook{}) + if err := m.TagImages[len(m.TagImages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RecreateDeploymentStrategyParams) 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 ErrIntOverflowGenerated + } + 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: RecreateDeploymentStrategyParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RecreateDeploymentStrategyParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeoutSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TimeoutSeconds = &v + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pre", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pre == nil { + m.Pre = &LifecycleHook{} + } + if err := m.Pre.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Mid", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Mid == nil { + m.Mid = &LifecycleHook{} + } + if err := m.Mid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Post", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Post == nil { + m.Post = &LifecycleHook{} + } + if err := m.Post.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RollingDeploymentStrategyParams) 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 ErrIntOverflowGenerated + } + 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: RollingDeploymentStrategyParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RollingDeploymentStrategyParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UpdatePeriodSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.UpdatePeriodSeconds = &v + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IntervalSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IntervalSeconds = &v + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeoutSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TimeoutSeconds = &v + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxUnavailable", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MaxUnavailable == nil { + m.MaxUnavailable = &k8s_io_apimachinery_pkg_util_intstr.IntOrString{} + } + if err := m.MaxUnavailable.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxSurge", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MaxSurge == nil { + m.MaxSurge = &k8s_io_apimachinery_pkg_util_intstr.IntOrString{} + } + if err := m.MaxSurge.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pre", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pre == nil { + m.Pre = &LifecycleHook{} + } + if err := m.Pre.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Post", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Post == nil { + m.Post = &LifecycleHook{} + } + if err := m.Post.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TagImageHook) 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 ErrIntOverflowGenerated + } + 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: TagImageHook: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TagImageHook: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ContainerName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContainerName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.To.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/apps/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 2517 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcb, 0x6f, 0x1c, 0x49, + 0x19, 0x77, 0x7b, 0x66, 0xec, 0x99, 0xcf, 0xaf, 0xb8, 0x9c, 0xc7, 0xac, 0x17, 0xd9, 0xd6, 0xac, + 0x36, 0x18, 0x58, 0x66, 0x12, 0x27, 0xac, 0xf2, 0xd0, 0x2e, 0x78, 0x1c, 0x67, 0xd7, 0xd1, 0x38, + 0x31, 0x65, 0x27, 0x21, 0x11, 0x82, 0x94, 0x7b, 0xca, 0xe3, 0x5a, 0x77, 0x77, 0x0d, 0xdd, 0x35, + 0x93, 0x0c, 0x42, 0x68, 0x2f, 0x20, 0x21, 0xed, 0x81, 0x23, 0x5c, 0x10, 0x07, 0xae, 0x20, 0x0e, + 0xdc, 0x11, 0x07, 0xa4, 0x1c, 0x40, 0x5a, 0x09, 0x09, 0x56, 0x08, 0x59, 0x1b, 0x73, 0xe3, 0x4f, + 0xc8, 0x09, 0xd5, 0xa3, 0x5f, 0xf3, 0x88, 0x3d, 0x4e, 0x6e, 0xd3, 0xdf, 0xe3, 0xf7, 0x55, 0x7d, + 0xaf, 0xfa, 0xaa, 0x06, 0x2e, 0x35, 0x98, 0xd8, 0x6f, 0xed, 0x96, 0x6d, 0xee, 0x56, 0x78, 0x93, + 0x7a, 0xc1, 0x3e, 0xdb, 0x13, 0x15, 0xd2, 0x64, 0x15, 0xd2, 0x6c, 0x06, 0x95, 0xf6, 0xe5, 0x4a, + 0x83, 0x7a, 0xd4, 0x27, 0x82, 0xd6, 0xcb, 0x4d, 0x9f, 0x0b, 0x8e, 0x96, 0x62, 0x8d, 0x72, 0xa4, + 0x51, 0x26, 0x4d, 0x56, 0x96, 0x1a, 0xe5, 0xf6, 0xe5, 0xf9, 0x6f, 0x26, 0x30, 0x1b, 0xbc, 0xc1, + 0x2b, 0x4a, 0x71, 0xb7, 0xb5, 0xa7, 0xbe, 0xd4, 0x87, 0xfa, 0xa5, 0x01, 0xe7, 0x4b, 0x07, 0xd7, + 0x82, 0x32, 0xe3, 0xca, 0xa8, 0xcd, 0x7d, 0xda, 0xc7, 0xe8, 0xfc, 0xd5, 0x58, 0xc6, 0x25, 0xf6, + 0x3e, 0xf3, 0xa8, 0xdf, 0xa9, 0x34, 0x0f, 0x1a, 0x92, 0x10, 0x54, 0x5c, 0x2a, 0x48, 0x3f, 0xad, + 0xca, 0x20, 0x2d, 0xbf, 0xe5, 0x09, 0xe6, 0xd2, 0x1e, 0x85, 0xf7, 0x8f, 0x53, 0x08, 0xec, 0x7d, + 0xea, 0x92, 0x1e, 0xbd, 0x2b, 0x83, 0xf4, 0x5a, 0x82, 0x39, 0x15, 0xe6, 0x89, 0x40, 0xf8, 0xdd, + 0x4a, 0xa5, 0x3f, 0x5b, 0xb0, 0xb0, 0xd6, 0x0a, 0x04, 0x77, 0x6f, 0xd1, 0xa6, 0xc3, 0x3b, 0x2e, + 0xf5, 0xc4, 0xb6, 0x90, 0x12, 0x8d, 0xce, 0x16, 0xf1, 0x89, 0x1b, 0xa0, 0x77, 0x20, 0xc7, 0x5c, + 0xd2, 0xa0, 0x45, 0x6b, 0xc9, 0x5a, 0x2e, 0x54, 0xa7, 0x9e, 0x1f, 0x2e, 0x8e, 0x1c, 0x1d, 0x2e, + 0xe6, 0x36, 0x24, 0x11, 0x6b, 0x1e, 0xfa, 0x2e, 0x4c, 0x50, 0xaf, 0xcd, 0x7c, 0xee, 0x49, 0x84, + 0xe2, 0xe8, 0x52, 0x66, 0x79, 0x62, 0x65, 0xbe, 0xac, 0x97, 0xa4, 0x02, 0x23, 0xbd, 0x5a, 0x6e, + 0x5f, 0x2e, 0xaf, 0x7b, 0xed, 0x07, 0xc4, 0xaf, 0xce, 0x19, 0x98, 0x89, 0xf5, 0x58, 0x0d, 0x27, + 0x31, 0xd0, 0xbb, 0x30, 0x6e, 0x73, 0xd7, 0x25, 0x5e, 0xbd, 0x98, 0x59, 0xca, 0x2c, 0x17, 0xaa, + 0x13, 0x47, 0x87, 0x8b, 0xe3, 0x6b, 0x9a, 0x84, 0x43, 0x5e, 0xe9, 0x2f, 0x16, 0xcc, 0xc4, 0x6b, + 0x5f, 0x23, 0xad, 0x80, 0xa2, 0xeb, 0x90, 0x15, 0x9d, 0x66, 0xb8, 0xe2, 0x77, 0x8d, 0xa9, 0xec, + 0x4e, 0xa7, 0x49, 0x5f, 0x1e, 0x2e, 0x9e, 0x8b, 0xc5, 0x77, 0x7c, 0xd6, 0x68, 0x50, 0x5f, 0x32, + 0xb0, 0x52, 0x41, 0x01, 0x4c, 0xaa, 0x1d, 0x19, 0x4e, 0x71, 0x74, 0xc9, 0x5a, 0x9e, 0x58, 0xf9, + 0xa0, 0x7c, 0x5c, 0xc2, 0x95, 0xbb, 0xd6, 0xb0, 0x91, 0x00, 0xa9, 0x9e, 0x39, 0x3a, 0x5c, 0x9c, + 0x4c, 0x52, 0x70, 0xca, 0x48, 0xa9, 0x0e, 0x6f, 0xbf, 0x42, 0x1d, 0xad, 0x43, 0x76, 0xcf, 0xe7, + 0xae, 0xda, 0xce, 0xc4, 0xca, 0x3b, 0xfd, 0xbc, 0x7a, 0x6f, 0xf7, 0x13, 0x6a, 0x0b, 0x4c, 0xf7, + 0xa8, 0x4f, 0x3d, 0x9b, 0x56, 0x27, 0xc3, 0x3d, 0xdf, 0xf6, 0xb9, 0x8b, 0x95, 0x7a, 0xe9, 0x5f, + 0x19, 0x98, 0x4b, 0x98, 0xe1, 0x5e, 0x9d, 0x09, 0xc6, 0x3d, 0x74, 0x33, 0xe5, 0xad, 0xaf, 0x76, + 0x79, 0xeb, 0x42, 0x1f, 0x95, 0x84, 0xbf, 0x6a, 0x30, 0x16, 0x08, 0x22, 0x5a, 0x81, 0xf2, 0x54, + 0xa1, 0x7a, 0xd5, 0xa8, 0x8f, 0x6d, 0x2b, 0xea, 0xcb, 0xc3, 0xc5, 0x3e, 0xa5, 0x55, 0x8e, 0x90, + 0xb4, 0x14, 0x36, 0x18, 0xa8, 0x0d, 0xc8, 0x21, 0x81, 0xd8, 0xf1, 0x89, 0x17, 0x68, 0x4b, 0xcc, + 0xa5, 0xc5, 0x8c, 0xda, 0xf7, 0xd7, 0x13, 0xfb, 0x8e, 0x12, 0xbc, 0xdc, 0x3c, 0x68, 0x48, 0x42, + 0x50, 0x96, 0xf5, 0x27, 0x3d, 0x21, 0x35, 0xaa, 0xf3, 0x66, 0x15, 0xa8, 0xd6, 0x83, 0x86, 0xfb, + 0x58, 0x40, 0x17, 0x61, 0xcc, 0xa7, 0x24, 0xe0, 0x5e, 0x31, 0xab, 0x76, 0x31, 0x1d, 0xee, 0x02, + 0x2b, 0x2a, 0x36, 0x5c, 0xf4, 0x35, 0x18, 0x77, 0x69, 0x10, 0xc8, 0x6a, 0xc8, 0x29, 0xc1, 0x19, + 0x23, 0x38, 0xbe, 0xa9, 0xc9, 0x38, 0xe4, 0xa3, 0x4f, 0x60, 0x5a, 0x1a, 0xba, 0xdf, 0xac, 0x13, + 0x41, 0xd5, 0x36, 0xc6, 0x86, 0xde, 0xc6, 0x79, 0x83, 0x3e, 0x5d, 0x4b, 0x21, 0xe1, 0x2e, 0xe4, + 0xd2, 0x1f, 0x47, 0xe1, 0x4c, 0x2a, 0x4c, 0x7b, 0xac, 0x81, 0x9e, 0x40, 0x5e, 0x82, 0xd5, 0x89, + 0x20, 0x26, 0x73, 0x2e, 0x9d, 0xcc, 0xb4, 0xce, 0xa5, 0x4d, 0x2a, 0x48, 0x15, 0x99, 0x05, 0x40, + 0x4c, 0xc3, 0x11, 0x2a, 0xfa, 0x1e, 0x64, 0x83, 0x26, 0xb5, 0x4d, 0x8d, 0xbc, 0x3f, 0x54, 0x8d, + 0xa8, 0x35, 0x6e, 0x37, 0xa9, 0x1d, 0xa7, 0xaa, 0xfc, 0xc2, 0x0a, 0x11, 0x3d, 0x89, 0xb2, 0x4a, + 0xc7, 0xfe, 0xda, 0x29, 0xb0, 0x95, 0x7e, 0x1c, 0xc9, 0x74, 0xa6, 0x95, 0xfe, 0x6e, 0xc1, 0xd9, + 0x6e, 0x95, 0x1a, 0x0b, 0x04, 0xfa, 0x7e, 0x8f, 0xdb, 0xca, 0x27, 0x73, 0x9b, 0xd4, 0x56, 0x4e, + 0x3b, 0x63, 0x4c, 0xe6, 0x43, 0x4a, 0xc2, 0x65, 0x0f, 0x21, 0xc7, 0x04, 0x75, 0x03, 0xd3, 0x21, + 0x57, 0x86, 0xdf, 0x57, 0xa2, 0x01, 0x4b, 0x20, 0xac, 0xf1, 0x4a, 0x3f, 0xcf, 0x40, 0xb1, 0x5b, + 0x14, 0x73, 0xc7, 0xd9, 0x25, 0xf6, 0x01, 0x5a, 0x82, 0xac, 0x47, 0xdc, 0xb0, 0xc2, 0x23, 0x87, + 0xdf, 0x25, 0x2e, 0xc5, 0x8a, 0x83, 0x7e, 0x63, 0x01, 0x6a, 0xa9, 0x84, 0xaa, 0xaf, 0x7a, 0x1e, + 0x17, 0x44, 0x96, 0x46, 0xb8, 0x4a, 0x3c, 0xfc, 0x2a, 0x43, 0xd3, 0xe5, 0xfb, 0x3d, 0xa0, 0xeb, + 0x9e, 0xf0, 0x3b, 0x71, 0x85, 0xf6, 0x0a, 0xe0, 0x3e, 0x2b, 0x41, 0x4f, 0x4c, 0xae, 0xe9, 0x7c, + 0xf8, 0xf0, 0xf4, 0x2b, 0x1a, 0x94, 0x73, 0xf3, 0xeb, 0x70, 0x61, 0xc0, 0x62, 0xd1, 0x19, 0xc8, + 0x1c, 0xd0, 0x8e, 0x76, 0x1f, 0x96, 0x3f, 0xd1, 0x59, 0xc8, 0xb5, 0x89, 0xd3, 0xa2, 0xba, 0xeb, + 0x61, 0xfd, 0x71, 0x63, 0xf4, 0x9a, 0x55, 0xfa, 0x53, 0x06, 0xbe, 0xf2, 0x2a, 0xdb, 0x6f, 0xa8, + 0x9b, 0xa3, 0xf7, 0x20, 0xef, 0xd3, 0x36, 0x0b, 0x18, 0xf7, 0xd4, 0x22, 0x32, 0x71, 0xde, 0x61, + 0x43, 0xc7, 0x91, 0x04, 0x5a, 0x85, 0x19, 0xe6, 0xd9, 0x4e, 0xab, 0x1e, 0x1e, 0x2a, 0xba, 0xb2, + 0xf2, 0xd5, 0x0b, 0x46, 0x69, 0x66, 0x23, 0xcd, 0xc6, 0xdd, 0xf2, 0x49, 0x08, 0xea, 0x36, 0x1d, + 0x22, 0xa8, 0x6a, 0x96, 0x7d, 0x20, 0x0c, 0x1b, 0x77, 0xcb, 0xa3, 0x07, 0x70, 0xde, 0x90, 0x30, + 0x6d, 0x3a, 0xcc, 0x56, 0x3e, 0x96, 0x15, 0xa2, 0xba, 0x69, 0xbe, 0xba, 0x60, 0x90, 0xce, 0x6f, + 0xf4, 0x95, 0xc2, 0x03, 0xb4, 0x13, 0x4b, 0x0b, 0x67, 0x17, 0xd5, 0x6c, 0x7b, 0x97, 0x16, 0xb2, + 0x71, 0xb7, 0x7c, 0xe9, 0x7f, 0xb9, 0xde, 0x7e, 0xa0, 0xc2, 0xb5, 0x0b, 0xf9, 0x20, 0x04, 0xd5, + 0x21, 0xbb, 0x3a, 0x4c, 0xf2, 0x85, 0x06, 0xe2, 0xe8, 0x44, 0x6b, 0x88, 0x70, 0x11, 0x85, 0xbc, + 0x08, 0xc3, 0xa2, 0x9b, 0xe9, 0xcd, 0x61, 0x6c, 0x98, 0x10, 0x6d, 0x71, 0x87, 0xd9, 0x8c, 0x06, + 0xd5, 0x49, 0x69, 0x26, 0x0a, 0x64, 0x04, 0xad, 0x53, 0x46, 0x79, 0x4e, 0x47, 0x3f, 0x97, 0x4c, + 0x19, 0x4d, 0xc7, 0x91, 0x04, 0xaa, 0xc1, 0xd9, 0x30, 0x7d, 0x3e, 0x66, 0x81, 0xe0, 0x7e, 0xa7, + 0xc6, 0x5c, 0x26, 0x54, 0xd0, 0x73, 0xd5, 0xe2, 0xd1, 0xe1, 0xe2, 0x59, 0xdc, 0x87, 0x8f, 0xfb, + 0x6a, 0xc9, 0x16, 0x24, 0x68, 0x20, 0x4c, 0xa0, 0xa3, 0x84, 0xde, 0xa1, 0x81, 0xc0, 0x8a, 0x23, + 0xcf, 0xe0, 0xa6, 0x1c, 0x7d, 0xea, 0x26, 0x76, 0x51, 0xe7, 0xde, 0x52, 0x54, 0x6c, 0xb8, 0xc8, + 0x87, 0x7c, 0x40, 0x1d, 0x6a, 0x0b, 0xee, 0x17, 0xc7, 0x55, 0x7f, 0xba, 0x75, 0xba, 0x93, 0xa7, + 0xbc, 0x6d, 0x60, 0x74, 0x47, 0x8a, 0x03, 0x64, 0xc8, 0x38, 0xb2, 0x83, 0x36, 0x21, 0x2f, 0xc2, + 0xa4, 0xcf, 0x0f, 0xae, 0xdb, 0x2d, 0x5e, 0x0f, 0x73, 0x5d, 0xb7, 0x19, 0x15, 0x88, 0xb0, 0x1c, + 0x22, 0x08, 0x99, 0xaf, 0x2e, 0xf3, 0x30, 0x25, 0xf5, 0xce, 0x36, 0xb5, 0xb9, 0x57, 0x0f, 0x8a, + 0x05, 0xe5, 0xd5, 0x28, 0x5f, 0x37, 0xd3, 0x6c, 0xdc, 0x2d, 0x3f, 0x7f, 0x13, 0xa6, 0x52, 0xcb, + 0x1f, 0xaa, 0x47, 0xfd, 0x21, 0x07, 0xe7, 0xfb, 0x9f, 0x97, 0xe8, 0x26, 0x4c, 0xc9, 0x25, 0x06, + 0xe2, 0x01, 0xf5, 0x55, 0x6f, 0xb1, 0x54, 0x6f, 0x39, 0x67, 0x16, 0x36, 0x55, 0x4b, 0x32, 0x71, + 0x5a, 0x16, 0xdd, 0x01, 0xc4, 0x77, 0x03, 0xea, 0xb7, 0x69, 0xfd, 0x23, 0x7d, 0xd1, 0x88, 0xbb, + 0x53, 0xd4, 0xf0, 0xef, 0xf5, 0x48, 0xe0, 0x3e, 0x5a, 0x43, 0x26, 0xeb, 0x2a, 0xcc, 0x98, 0x43, + 0x23, 0x64, 0x9a, 0x3c, 0x8d, 0x3c, 0x7a, 0x3f, 0xcd, 0xc6, 0xdd, 0xf2, 0xe8, 0x23, 0x98, 0x25, + 0x6d, 0xc2, 0x1c, 0xb2, 0xeb, 0xd0, 0x08, 0x24, 0xa7, 0x40, 0xde, 0x32, 0x20, 0xb3, 0xab, 0xdd, + 0x02, 0xb8, 0x57, 0x07, 0x6d, 0xc2, 0x5c, 0xcb, 0xeb, 0x85, 0x1a, 0x53, 0x50, 0x6f, 0x1b, 0xa8, + 0xb9, 0xfb, 0xbd, 0x22, 0xb8, 0x9f, 0x1e, 0x7a, 0x0c, 0xe3, 0x75, 0x2a, 0x08, 0x73, 0x82, 0xe2, + 0xb8, 0x4a, 0xbd, 0x2b, 0xc3, 0xa4, 0xfb, 0x2d, 0xad, 0xaa, 0x2f, 0x4f, 0xe6, 0x03, 0x87, 0x80, + 0x88, 0x01, 0xd8, 0xe1, 0x28, 0x1e, 0x14, 0xf3, 0xaa, 0x9a, 0xbe, 0x35, 0x64, 0x35, 0x69, 0xed, + 0x78, 0x54, 0x8c, 0x48, 0x01, 0x4e, 0x80, 0xcb, 0xc4, 0xf2, 0x65, 0x02, 0x47, 0xfe, 0xd0, 0x19, + 0x1f, 0x25, 0x16, 0x4e, 0x32, 0x71, 0x5a, 0xb6, 0xf4, 0x6b, 0x0b, 0x66, 0x7b, 0xf6, 0x94, 0x9c, + 0xc6, 0xad, 0x63, 0xa6, 0xf1, 0x47, 0x30, 0x66, 0xcb, 0xf6, 0x11, 0x8e, 0x34, 0x97, 0x87, 0xbe, + 0xd0, 0xc5, 0xfd, 0x48, 0x7d, 0x06, 0xd8, 0x00, 0x96, 0x66, 0x60, 0x2a, 0x16, 0xad, 0xf1, 0x46, + 0xe9, 0xb3, 0x6c, 0xf2, 0x28, 0xa9, 0xf1, 0xc6, 0xbd, 0xa6, 0x76, 0x41, 0x05, 0x0a, 0x36, 0xf7, + 0x04, 0x91, 0x03, 0xa4, 0x59, 0xf1, 0xac, 0x01, 0x2d, 0xac, 0x85, 0x0c, 0x1c, 0xcb, 0xc8, 0x96, + 0xb8, 0xc7, 0x1d, 0x87, 0x3f, 0x55, 0x35, 0x94, 0x68, 0x89, 0xb7, 0x15, 0x15, 0x1b, 0xae, 0xac, + 0x95, 0xa6, 0xec, 0xba, 0xbc, 0x15, 0x1e, 0xeb, 0x51, 0xad, 0x6c, 0x19, 0x3a, 0x8e, 0x24, 0xd0, + 0x55, 0x98, 0x0c, 0x98, 0x67, 0xd3, 0xb0, 0xf5, 0x64, 0xf5, 0xf4, 0x20, 0xef, 0xa8, 0xdb, 0x09, + 0x3a, 0x4e, 0x49, 0xa1, 0x87, 0x50, 0x50, 0xdf, 0xea, 0x2a, 0x93, 0x1b, 0xfa, 0x2a, 0x33, 0x25, + 0x37, 0xb9, 0x1d, 0x02, 0xe0, 0x18, 0x0b, 0xad, 0x00, 0x08, 0xe6, 0xd2, 0x40, 0x10, 0xb7, 0x19, + 0x98, 0xde, 0x1f, 0x25, 0xd3, 0x4e, 0xc4, 0xc1, 0x09, 0x29, 0xf4, 0x0d, 0x28, 0xc8, 0x14, 0xa8, + 0x31, 0x8f, 0xea, 0xaa, 0xc8, 0x68, 0x03, 0x3b, 0x21, 0x11, 0xc7, 0x7c, 0x54, 0x06, 0x70, 0xe4, + 0x19, 0x54, 0xed, 0x08, 0x1a, 0xa8, 0xf6, 0x9d, 0xa9, 0x4e, 0x4b, 0xf0, 0x5a, 0x44, 0xc5, 0x09, + 0x09, 0xe9, 0x75, 0x8f, 0x3f, 0x25, 0x4c, 0xa8, 0x14, 0x4d, 0x78, 0xfd, 0x2e, 0x7f, 0x48, 0x98, + 0xc0, 0x86, 0x8b, 0xde, 0x85, 0xf1, 0xb6, 0x69, 0x92, 0xa0, 0x40, 0x55, 0x8d, 0x85, 0xad, 0x31, + 0xe4, 0x95, 0xfe, 0x9d, 0xca, 0x5d, 0x4c, 0x7f, 0xd4, 0x92, 0xa7, 0xdd, 0xf1, 0x23, 0xf9, 0x45, + 0x18, 0xd3, 0xdd, 0xb5, 0x3b, 0xf8, 0xba, 0x05, 0x63, 0xc3, 0x45, 0xef, 0x40, 0x6e, 0x8f, 0xfb, + 0x36, 0x35, 0x91, 0x8f, 0xae, 0x07, 0xb7, 0x25, 0x11, 0x6b, 0x1e, 0x7a, 0x00, 0x33, 0xf4, 0x59, + 0x7a, 0xfe, 0xcb, 0xaa, 0x47, 0x95, 0xf7, 0x64, 0x6f, 0x5c, 0x4f, 0xb3, 0x06, 0xbf, 0x91, 0x74, + 0x83, 0x94, 0xfe, 0x31, 0x0e, 0xa8, 0x77, 0xd8, 0x41, 0x37, 0x52, 0x4f, 0x0a, 0x17, 0xbb, 0x9e, + 0x14, 0xce, 0xf7, 0x6a, 0x24, 0x5e, 0x14, 0xda, 0x30, 0x69, 0xab, 0x17, 0x29, 0xfd, 0xfe, 0x64, + 0x06, 0xa2, 0xef, 0x1c, 0x5f, 0xb0, 0xaf, 0x7e, 0xc7, 0xd2, 0x09, 0xbe, 0x96, 0x40, 0xc6, 0x29, + 0x3b, 0xe8, 0xa7, 0x30, 0xed, 0x53, 0xdb, 0xa7, 0x44, 0x50, 0x63, 0x59, 0xdf, 0x35, 0xaa, 0xc7, + 0x5b, 0xc6, 0x46, 0x6f, 0xa0, 0x6d, 0x24, 0x2f, 0xf1, 0x38, 0x85, 0x8e, 0xbb, 0xac, 0xa1, 0x1f, + 0xc3, 0x94, 0xcf, 0x1d, 0x87, 0x79, 0x0d, 0x63, 0x3e, 0xab, 0xcc, 0xaf, 0x9e, 0xc0, 0xbc, 0x56, + 0x1b, 0x68, 0x7d, 0x56, 0xf5, 0xd7, 0x24, 0x36, 0x4e, 0x9b, 0x42, 0x8f, 0xa0, 0xe0, 0xd3, 0x80, + 0xb7, 0x7c, 0x9b, 0x06, 0xa6, 0xb8, 0x97, 0xfb, 0x0d, 0x38, 0xd8, 0x08, 0xc9, 0x2c, 0x66, 0x3e, + 0x95, 0xb6, 0x82, 0xb8, 0x87, 0x85, 0xdc, 0x00, 0xc7, 0x68, 0x68, 0x5f, 0xa6, 0xf1, 0x2e, 0x75, + 0x64, 0x69, 0x67, 0x4e, 0x16, 0xc8, 0xde, 0x8d, 0x94, 0x6b, 0x0a, 0x42, 0x0f, 0x6a, 0x89, 0x42, + 0x90, 0x44, 0x6c, 0xf0, 0xd1, 0x4f, 0x60, 0x82, 0x24, 0xee, 0xae, 0x7a, 0x36, 0x5c, 0x3f, 0x95, + 0xb9, 0x9e, 0xeb, 0x6a, 0xf4, 0x5c, 0x99, 0xbc, 0xa7, 0x26, 0xcd, 0xa1, 0x7b, 0x70, 0x8e, 0xd8, + 0x82, 0xb5, 0xe9, 0x2d, 0x4a, 0xea, 0x0e, 0xf3, 0xa2, 0xf6, 0xaa, 0x1b, 0xce, 0x5b, 0x47, 0x87, + 0x8b, 0xe7, 0x56, 0xfb, 0x09, 0xe0, 0xfe, 0x7a, 0xf3, 0xd7, 0x61, 0x22, 0xb1, 0xeb, 0x61, 0xe6, + 0xbb, 0xf9, 0x0f, 0xe1, 0xcc, 0x6b, 0xdd, 0x61, 0x7f, 0x37, 0x0a, 0xa5, 0x9e, 0x06, 0xa0, 0x9e, + 0x24, 0xd7, 0xf6, 0x89, 0xd7, 0x08, 0x33, 0xb6, 0x02, 0x05, 0xd2, 0x12, 0xdc, 0x25, 0x82, 0xd9, + 0x0a, 0x38, 0x1f, 0xe7, 0xc2, 0x6a, 0xc8, 0xc0, 0xb1, 0x0c, 0xba, 0x01, 0xd3, 0xd1, 0xe1, 0x26, + 0x3b, 0x9d, 0x3e, 0x8d, 0x0b, 0xba, 0x3c, 0xd6, 0x52, 0x1c, 0xdc, 0x25, 0x19, 0x5d, 0x9b, 0x33, + 0xaf, 0x77, 0x6d, 0xbe, 0x13, 0xbe, 0x30, 0xaa, 0x3d, 0xd1, 0xba, 0xda, 0x95, 0x79, 0xf5, 0xeb, + 0x7a, 0x35, 0x4c, 0x4a, 0xe0, 0x3e, 0x5a, 0xa5, 0x9f, 0x59, 0xf0, 0xd6, 0xc0, 0x5b, 0x18, 0xfa, + 0x41, 0xf8, 0xd4, 0x63, 0xa9, 0x44, 0xbc, 0x7e, 0xda, 0x1b, 0x5d, 0xa7, 0xff, 0x8b, 0xcf, 0x8d, + 0xfc, 0xaf, 0x7e, 0xbb, 0x38, 0xf2, 0xe9, 0x7f, 0x96, 0x46, 0x4a, 0x5f, 0x5a, 0x70, 0x61, 0x80, + 0xee, 0xeb, 0x3c, 0x85, 0xff, 0xc2, 0x82, 0x59, 0xd6, 0x1d, 0x74, 0xd3, 0x8e, 0x6f, 0x9d, 0x62, + 0x37, 0x3d, 0x09, 0x54, 0x3d, 0x27, 0x67, 0xea, 0x1e, 0x32, 0xee, 0xb5, 0x5a, 0xfa, 0xa7, 0x05, + 0xd3, 0xeb, 0xcf, 0xa8, 0x7d, 0x97, 0x3e, 0xdd, 0xe2, 0xf5, 0x8f, 0x39, 0x3f, 0x48, 0xfe, 0x3f, + 0x60, 0x0d, 0xfe, 0x7f, 0x00, 0x5d, 0x87, 0x0c, 0xf5, 0xda, 0x27, 0xf8, 0x47, 0x62, 0xc2, 0xf8, + 0x26, 0xb3, 0xee, 0xb5, 0xb1, 0xd4, 0x91, 0x23, 0x6b, 0x2a, 0x09, 0x55, 0xee, 0x15, 0xe2, 0x91, + 0x35, 0x95, 0xb1, 0x38, 0x2d, 0xab, 0xa6, 0x03, 0xee, 0xb4, 0x64, 0x92, 0x67, 0xe3, 0xe5, 0x3d, + 0xd0, 0x24, 0x1c, 0xf2, 0x4a, 0xbf, 0x1f, 0x85, 0xa9, 0x1a, 0xdb, 0xa3, 0x76, 0xc7, 0x76, 0xa8, + 0xda, 0xd7, 0x23, 0x98, 0xda, 0x23, 0xcc, 0x69, 0xf9, 0x54, 0x87, 0xd0, 0x84, 0xee, 0x4a, 0x68, + 0xf5, 0x76, 0x92, 0xf9, 0xf2, 0x70, 0x71, 0x3e, 0xa5, 0x9e, 0xe2, 0xe2, 0x34, 0x12, 0x7a, 0x02, + 0x40, 0x23, 0x27, 0x9a, 0x48, 0x5e, 0x3a, 0x3e, 0x92, 0x69, 0xc7, 0xeb, 0xd9, 0x29, 0xa6, 0xe1, + 0x04, 0x26, 0xfa, 0xa1, 0x1c, 0xcc, 0x1a, 0x2a, 0xa4, 0x81, 0xfa, 0xdb, 0x66, 0x62, 0xa5, 0x7c, + 0xbc, 0x81, 0x1d, 0xa3, 0xa2, 0xe0, 0xa3, 0x16, 0x12, 0x52, 0xd5, 0x30, 0x67, 0x7e, 0x96, 0xfe, + 0x3a, 0x0a, 0x4b, 0xc7, 0x1d, 0xb7, 0xb2, 0xcf, 0xc8, 0x61, 0x91, 0xb7, 0x44, 0xd8, 0x84, 0xf5, + 0x2d, 0x56, 0xf5, 0x99, 0x9d, 0x14, 0x07, 0x77, 0x49, 0xa2, 0x3b, 0x90, 0x69, 0xfa, 0xd4, 0x38, + 0xa7, 0x72, 0xfc, 0xda, 0x53, 0xde, 0xaf, 0x8e, 0xcb, 0x04, 0xda, 0xf2, 0x29, 0x96, 0x20, 0x12, + 0xcb, 0x65, 0x75, 0xd3, 0xb2, 0x4e, 0x87, 0xb5, 0xc9, 0xea, 0x58, 0x82, 0xa0, 0x4d, 0xc8, 0x36, + 0x79, 0x20, 0xcc, 0x54, 0x30, 0x34, 0x58, 0x5e, 0x56, 0xfd, 0x16, 0x0f, 0x04, 0x56, 0x30, 0xa5, + 0xbf, 0x65, 0x61, 0xf1, 0x98, 0xb9, 0x01, 0x6d, 0xc0, 0x9c, 0xbe, 0x24, 0x6f, 0x51, 0x9f, 0xf1, + 0x7a, 0xda, 0x97, 0x17, 0xd4, 0x25, 0xb6, 0x97, 0x8d, 0xfb, 0xe9, 0xa0, 0x0f, 0x60, 0x86, 0x79, + 0x82, 0xfa, 0x6d, 0xe2, 0x84, 0x30, 0xfa, 0x59, 0x60, 0x4e, 0xbf, 0xce, 0xa5, 0x58, 0xb8, 0x5b, + 0xb6, 0x4f, 0x40, 0x33, 0x27, 0x0e, 0xa8, 0x03, 0xd3, 0x2e, 0x79, 0x96, 0xb8, 0x6e, 0x1b, 0x17, + 0x0e, 0xfe, 0x37, 0xa4, 0x25, 0x98, 0x53, 0xd6, 0x7f, 0x98, 0x96, 0x37, 0x3c, 0x71, 0xcf, 0xdf, + 0x16, 0x3e, 0xf3, 0x1a, 0xda, 0xda, 0x66, 0x0a, 0x0b, 0x77, 0x61, 0xa3, 0xc7, 0x90, 0x77, 0xc9, + 0xb3, 0xed, 0x96, 0xdf, 0x08, 0x6f, 0x49, 0xc3, 0xdb, 0x51, 0xcf, 0x46, 0x9b, 0x06, 0x05, 0x47, + 0x78, 0x61, 0x6a, 0x8e, 0xbf, 0x89, 0xd4, 0x0c, 0xd3, 0x29, 0xff, 0x66, 0xd2, 0xe9, 0x33, 0x0b, + 0x26, 0x93, 0x55, 0xdc, 0xdb, 0x3b, 0xad, 0x21, 0x7a, 0xe7, 0xb7, 0x61, 0x54, 0x70, 0x53, 0x82, + 0x27, 0x3a, 0xe9, 0xc1, 0xc0, 0x8e, 0xee, 0x70, 0x3c, 0x2a, 0x78, 0x75, 0xf9, 0xf9, 0x8b, 0x85, + 0x91, 0xcf, 0x5f, 0x2c, 0x8c, 0x7c, 0xf1, 0x62, 0x61, 0xe4, 0xd3, 0xa3, 0x05, 0xeb, 0xf9, 0xd1, + 0x82, 0xf5, 0xf9, 0xd1, 0x82, 0xf5, 0xc5, 0xd1, 0x82, 0xf5, 0xe5, 0xd1, 0x82, 0xf5, 0xcb, 0xff, + 0x2e, 0x8c, 0x3c, 0x1e, 0x6d, 0x5f, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0c, 0xb6, 0x32, + 0x5f, 0x7c, 0x20, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/apps/v1/generated.proto b/vendor/github.com/openshift/api/apps/v1/generated.proto new file mode 100644 index 000000000..0b1a375e4 --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/generated.proto @@ -0,0 +1,468 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.apps.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// CustomDeploymentStrategyParams are the input to the Custom deployment strategy. +message CustomDeploymentStrategyParams { + // Image specifies a container image which can carry out a deployment. + optional string image = 1; + + // Environment holds the environment which will be given to the container for Image. + repeated k8s.io.api.core.v1.EnvVar environment = 2; + + // Command is optional and overrides CMD in the container Image. + repeated string command = 3; +} + +// DeploymentCause captures information about a particular cause of a deployment. +message DeploymentCause { + // Type of the trigger that resulted in the creation of a new deployment + optional string type = 1; + + // ImageTrigger contains the image trigger details, if this trigger was fired based on an image change + optional DeploymentCauseImageTrigger imageTrigger = 2; +} + +// DeploymentCauseImageTrigger represents details about the cause of a deployment originating +// from an image change trigger +message DeploymentCauseImageTrigger { + // From is a reference to the changed object which triggered a deployment. The field may have + // the kinds DockerImage, ImageStreamTag, or ImageStreamImage. + optional k8s.io.api.core.v1.ObjectReference from = 1; +} + +// DeploymentCondition describes the state of a deployment config at a certain point. +message DeploymentCondition { + // Type of deployment condition. + optional string type = 1; + + // Status of the condition, one of True, False, Unknown. + optional string status = 2; + + // The last time this condition was updated. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 6; + + // The last time the condition transitioned from one status to another. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + + // The reason for the condition's last transition. + optional string reason = 4; + + // A human readable message indicating details about the transition. + optional string message = 5; +} + +// Deployment Configs define the template for a pod and manages deploying new images or configuration changes. +// A single deployment configuration is usually analogous to a single micro-service. Can support many different +// deployment patterns, including full restart, customizable rolling updates, and fully custom behaviors, as +// well as pre- and post- deployment hooks. Each individual deployment is represented as a replication controller. +// +// A deployment is "triggered" when its configuration is changed or a tag in an Image Stream is changed. +// Triggers can be disabled to allow manual control over a deployment. The "strategy" determines how the deployment +// is carried out and may be changed at any time. The `latestVersion` field is updated when a new deployment +// is triggered by any means. +message DeploymentConfig { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec represents a desired deployment state and how to deploy to it. + optional DeploymentConfigSpec spec = 2; + + // Status represents the current deployment state. + optional DeploymentConfigStatus status = 3; +} + +// DeploymentConfigList is a collection of deployment configs. +message DeploymentConfigList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of deployment configs + repeated DeploymentConfig items = 2; +} + +// DeploymentConfigRollback provides the input to rollback generation. +message DeploymentConfigRollback { + // Name of the deployment config that will be rolled back. + optional string name = 1; + + // UpdatedAnnotations is a set of new annotations that will be added in the deployment config. + map updatedAnnotations = 2; + + // Spec defines the options to rollback generation. + optional DeploymentConfigRollbackSpec spec = 3; +} + +// DeploymentConfigRollbackSpec represents the options for rollback generation. +message DeploymentConfigRollbackSpec { + // From points to a ReplicationController which is a deployment. + optional k8s.io.api.core.v1.ObjectReference from = 1; + + // Revision to rollback to. If set to 0, rollback to the last revision. + optional int64 revision = 2; + + // IncludeTriggers specifies whether to include config Triggers. + optional bool includeTriggers = 3; + + // IncludeTemplate specifies whether to include the PodTemplateSpec. + optional bool includeTemplate = 4; + + // IncludeReplicationMeta specifies whether to include the replica count and selector. + optional bool includeReplicationMeta = 5; + + // IncludeStrategy specifies whether to include the deployment Strategy. + optional bool includeStrategy = 6; +} + +// DeploymentConfigSpec represents the desired state of the deployment. +message DeploymentConfigSpec { + // Strategy describes how a deployment is executed. + // +optional + optional DeploymentStrategy strategy = 1; + + // MinReadySeconds is the minimum number of seconds for which a newly created pod should + // be ready without any of its container crashing, for it to be considered available. + // Defaults to 0 (pod will be considered available as soon as it is ready) + optional int32 minReadySeconds = 9; + + // Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers + // are defined, a new deployment can only occur as a result of an explicit client update to the + // DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger. + // +optional + optional DeploymentTriggerPolicies triggers = 2; + + // Replicas is the number of desired replicas. + // +optional + optional int32 replicas = 3; + + // RevisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. + // This field is a pointer to allow for differentiation between an explicit zero and not specified. + // Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.) + optional int32 revisionHistoryLimit = 4; + + // Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the + // deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding + // or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action. + // +optional + optional bool test = 5; + + // Paused indicates that the deployment config is paused resulting in no new deployments on template + // changes or changes in the template caused by other triggers. + optional bool paused = 6; + + // Selector is a label query over pods that should match the Replicas count. + map selector = 7; + + // Template is the object that describes the pod that will be created if + // insufficient replicas are detected. + optional k8s.io.api.core.v1.PodTemplateSpec template = 8; +} + +// DeploymentConfigStatus represents the current deployment state. +message DeploymentConfigStatus { + // LatestVersion is used to determine whether the current deployment associated with a deployment + // config is out of sync. + optional int64 latestVersion = 1; + + // ObservedGeneration is the most recent generation observed by the deployment config controller. + optional int64 observedGeneration = 2; + + // Replicas is the total number of pods targeted by this deployment config. + optional int32 replicas = 3; + + // UpdatedReplicas is the total number of non-terminated pods targeted by this deployment config + // that have the desired template spec. + optional int32 updatedReplicas = 4; + + // AvailableReplicas is the total number of available pods targeted by this deployment config. + optional int32 availableReplicas = 5; + + // UnavailableReplicas is the total number of unavailable pods targeted by this deployment config. + optional int32 unavailableReplicas = 6; + + // Details are the reasons for the update to this deployment config. + // This could be based on a change made by the user or caused by an automatic trigger + optional DeploymentDetails details = 7; + + // Conditions represents the latest available observations of a deployment config's current state. + // +patchMergeKey=type + // +patchStrategy=merge + repeated DeploymentCondition conditions = 8; + + // Total number of ready pods targeted by this deployment. + optional int32 readyReplicas = 9; +} + +// DeploymentDetails captures information about the causes of a deployment. +message DeploymentDetails { + // Message is the user specified change message, if this deployment was triggered manually by the user + optional string message = 1; + + // Causes are extended data associated with all the causes for creating a new deployment + repeated DeploymentCause causes = 2; +} + +// DeploymentLog represents the logs for a deployment +message DeploymentLog { +} + +// DeploymentLogOptions is the REST options for a deployment log +message DeploymentLogOptions { + // The container for which to stream logs. Defaults to only container if there is one container in the pod. + optional string container = 1; + + // Follow if true indicates that the build log should be streamed until + // the build terminates. + optional bool follow = 2; + + // Return previous deployment logs. Defaults to false. + optional bool previous = 3; + + // A relative time in seconds before the current time from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + optional int64 sinceSeconds = 4; + + // An RFC3339 timestamp from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time sinceTime = 5; + + // If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line + // of log output. Defaults to false. + optional bool timestamps = 6; + + // If set, the number of lines from the end of the logs to show. If not specified, + // logs are shown from the creation of the container or sinceSeconds or sinceTime + optional int64 tailLines = 7; + + // If set, the number of bytes to read from the server before terminating the + // log output. This may not display a complete final line of logging, and may return + // slightly more or slightly less than the specified limit. + optional int64 limitBytes = 8; + + // NoWait if true causes the call to return immediately even if the deployment + // is not available yet. Otherwise the server will wait until the deployment has started. + // TODO: Fix the tag to 'noWait' in v2 + optional bool nowait = 9; + + // Version of the deployment for which to view logs. + optional int64 version = 10; +} + +// DeploymentRequest is a request to a deployment config for a new deployment. +message DeploymentRequest { + // Name of the deployment config for requesting a new deployment. + optional string name = 1; + + // Latest will update the deployment config with the latest state from all triggers. + optional bool latest = 2; + + // Force will try to force a new deployment to run. If the deployment config is paused, + // then setting this to true will return an Invalid error. + optional bool force = 3; + + // ExcludeTriggers instructs the instantiator to avoid processing the specified triggers. + // This field overrides the triggers from latest and allows clients to control specific + // logic. This field is ignored if not specified. + repeated string excludeTriggers = 4; +} + +// DeploymentStrategy describes how to perform a deployment. +message DeploymentStrategy { + // Type is the name of a deployment strategy. + optional string type = 1; + + // CustomParams are the input to the Custom deployment strategy, and may also + // be specified for the Recreate and Rolling strategies to customize the execution + // process that runs the deployment. + optional CustomDeploymentStrategyParams customParams = 2; + + // RecreateParams are the input to the Recreate deployment strategy. + optional RecreateDeploymentStrategyParams recreateParams = 3; + + // RollingParams are the input to the Rolling deployment strategy. + optional RollingDeploymentStrategyParams rollingParams = 4; + + // Resources contains resource requirements to execute the deployment and any hooks. + optional k8s.io.api.core.v1.ResourceRequirements resources = 5; + + // Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + map labels = 6; + + // Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + map annotations = 7; + + // ActiveDeadlineSeconds is the duration in seconds that the deployer pods for this deployment + // config may be active on a node before the system actively tries to terminate them. + optional int64 activeDeadlineSeconds = 8; +} + +// DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger. +message DeploymentTriggerImageChangeParams { + // Automatic means that the detection of a new tag value should result in an image update + // inside the pod template. + optional bool automatic = 1; + + // ContainerNames is used to restrict tag updates to the specified set of container names in a pod. + // If multiple triggers point to the same containers, the resulting behavior is undefined. Future + // API versions will make this a validation error. If ContainerNames does not point to a valid container, + // the trigger will be ignored. Future API versions will make this a validation error. + repeated string containerNames = 2; + + // From is a reference to an image stream tag to watch for changes. From.Name is the only + // required subfield - if From.Namespace is blank, the namespace of the current deployment + // trigger will be used. + optional k8s.io.api.core.v1.ObjectReference from = 3; + + // LastTriggeredImage is the last image to be triggered. + optional string lastTriggeredImage = 4; +} + +// DeploymentTriggerPolicies is a list of policies where nil values and different from empty arrays. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +message DeploymentTriggerPolicies { + // items, if empty, will result in an empty slice + + repeated DeploymentTriggerPolicy items = 1; +} + +// DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment. +message DeploymentTriggerPolicy { + // Type of the trigger + optional string type = 1; + + // ImageChangeParams represents the parameters for the ImageChange trigger. + optional DeploymentTriggerImageChangeParams imageChangeParams = 2; +} + +// ExecNewPodHook is a hook implementation which runs a command in a new pod +// based on the specified container which is assumed to be part of the +// deployment template. +message ExecNewPodHook { + // Command is the action command and its arguments. + repeated string command = 1; + + // Env is a set of environment variables to supply to the hook pod's container. + repeated k8s.io.api.core.v1.EnvVar env = 2; + + // ContainerName is the name of a container in the deployment pod template + // whose container image will be used for the hook pod's container. + optional string containerName = 3; + + // Volumes is a list of named volumes from the pod template which should be + // copied to the hook pod. Volumes names not found in pod spec are ignored. + // An empty list means no volumes will be copied. + repeated string volumes = 4; +} + +// LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time. +message LifecycleHook { + // FailurePolicy specifies what action to take if the hook fails. + optional string failurePolicy = 1; + + // ExecNewPod specifies the options for a lifecycle hook backed by a pod. + optional ExecNewPodHook execNewPod = 2; + + // TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag. + repeated TagImageHook tagImages = 3; +} + +// RecreateDeploymentStrategyParams are the input to the Recreate deployment +// strategy. +message RecreateDeploymentStrategyParams { + // TimeoutSeconds is the time to wait for updates before giving up. If the + // value is nil, a default will be used. + optional int64 timeoutSeconds = 1; + + // Pre is a lifecycle hook which is executed before the strategy manipulates + // the deployment. All LifecycleHookFailurePolicy values are supported. + optional LifecycleHook pre = 2; + + // Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new + // pod is created. All LifecycleHookFailurePolicy values are supported. + optional LifecycleHook mid = 3; + + // Post is a lifecycle hook which is executed after the strategy has + // finished all deployment logic. All LifecycleHookFailurePolicy values are supported. + optional LifecycleHook post = 4; +} + +// RollingDeploymentStrategyParams are the input to the Rolling deployment +// strategy. +message RollingDeploymentStrategyParams { + // UpdatePeriodSeconds is the time to wait between individual pod updates. + // If the value is nil, a default will be used. + optional int64 updatePeriodSeconds = 1; + + // IntervalSeconds is the time to wait between polling deployment status + // after update. If the value is nil, a default will be used. + optional int64 intervalSeconds = 2; + + // TimeoutSeconds is the time to wait for updates before giving up. If the + // value is nil, a default will be used. + optional int64 timeoutSeconds = 3; + + // MaxUnavailable is the maximum number of pods that can be unavailable + // during the update. Value can be an absolute number (ex: 5) or a + // percentage of total pods at the start of update (ex: 10%). Absolute + // number is calculated from percentage by rounding down. + // + // This cannot be 0 if MaxSurge is 0. By default, 25% is used. + // + // Example: when this is set to 30%, the old RC can be scaled down by 30% + // immediately when the rolling update starts. Once new pods are ready, old + // RC can be scaled down further, followed by scaling up the new RC, + // ensuring that at least 70% of original number of pods are available at + // all times during the update. + optional k8s.io.apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 4; + + // MaxSurge is the maximum number of pods that can be scheduled above the + // original number of pods. Value can be an absolute number (ex: 5) or a + // percentage of total pods at the start of the update (ex: 10%). Absolute + // number is calculated from percentage by rounding up. + // + // This cannot be 0 if MaxUnavailable is 0. By default, 25% is used. + // + // Example: when this is set to 30%, the new RC can be scaled up by 30% + // immediately when the rolling update starts. Once old pods have been + // killed, new RC can be scaled up further, ensuring that total number of + // pods running at any time during the update is atmost 130% of original + // pods. + optional k8s.io.apimachinery.pkg.util.intstr.IntOrString maxSurge = 5; + + // Pre is a lifecycle hook which is executed before the deployment process + // begins. All LifecycleHookFailurePolicy values are supported. + optional LifecycleHook pre = 7; + + // Post is a lifecycle hook which is executed after the strategy has + // finished all deployment logic. All LifecycleHookFailurePolicy values + // are supported. + optional LifecycleHook post = 8; +} + +// TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag. +message TagImageHook { + // ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single + // container this value will be defaulted to the name of that container. + optional string containerName = 1; + + // To is the target ImageStreamTag to set the container's image onto. + optional k8s.io.api.core.v1.ObjectReference to = 2; +} + diff --git a/vendor/github.com/openshift/api/apps/v1/legacy.go b/vendor/github.com/openshift/api/apps/v1/legacy.go new file mode 100644 index 000000000..c8fa0ed99 --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/legacy.go @@ -0,0 +1,28 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + extensionsv1beta1 "k8s.io/api/extensions/v1beta1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme, extensionsv1beta1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &DeploymentConfig{}, + &DeploymentConfigList{}, + &DeploymentConfigRollback{}, + &DeploymentRequest{}, + &DeploymentLog{}, + &DeploymentLogOptions{}, + &extensionsv1beta1.Scale{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/apps/v1/register.go b/vendor/github.com/openshift/api/apps/v1/register.go new file mode 100644 index 000000000..0c1e47e6d --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/register.go @@ -0,0 +1,45 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + extensionsv1beta1 "k8s.io/api/extensions/v1beta1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "apps.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme, extensionsv1beta1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &DeploymentConfig{}, + &DeploymentConfigList{}, + &DeploymentConfigRollback{}, + &DeploymentRequest{}, + &DeploymentLog{}, + &DeploymentLogOptions{}, + &extensionsv1beta1.Scale{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/apps/v1/types.go b/vendor/github.com/openshift/api/apps/v1/types.go new file mode 100644 index 000000000..f3ba06191 --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/types.go @@ -0,0 +1,494 @@ +package v1 + +import ( + "fmt" + + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/intstr" +) + +// +genclient +// +genclient:method=Instantiate,verb=create,subresource=instantiate,input=DeploymentRequest +// +genclient:method=Rollback,verb=create,subresource=rollback,input=DeploymentConfigRollback +// +genclient:method=GetScale,verb=get,subresource=scale,result=k8s.io/api/extensions/v1beta1.Scale +// +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/api/extensions/v1beta1.Scale,result=k8s.io/api/extensions/v1beta1.Scale +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Deployment Configs define the template for a pod and manages deploying new images or configuration changes. +// A single deployment configuration is usually analogous to a single micro-service. Can support many different +// deployment patterns, including full restart, customizable rolling updates, and fully custom behaviors, as +// well as pre- and post- deployment hooks. Each individual deployment is represented as a replication controller. +// +// A deployment is "triggered" when its configuration is changed or a tag in an Image Stream is changed. +// Triggers can be disabled to allow manual control over a deployment. The "strategy" determines how the deployment +// is carried out and may be changed at any time. The `latestVersion` field is updated when a new deployment +// is triggered by any means. +type DeploymentConfig struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Spec represents a desired deployment state and how to deploy to it. + Spec DeploymentConfigSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + + // Status represents the current deployment state. + Status DeploymentConfigStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` +} + +// DeploymentConfigSpec represents the desired state of the deployment. +type DeploymentConfigSpec struct { + // Strategy describes how a deployment is executed. + // +optional + Strategy DeploymentStrategy `json:"strategy" protobuf:"bytes,1,opt,name=strategy"` + + // MinReadySeconds is the minimum number of seconds for which a newly created pod should + // be ready without any of its container crashing, for it to be considered available. + // Defaults to 0 (pod will be considered available as soon as it is ready) + MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,9,opt,name=minReadySeconds"` + + // Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers + // are defined, a new deployment can only occur as a result of an explicit client update to the + // DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger. + // +optional + Triggers DeploymentTriggerPolicies `json:"triggers" protobuf:"bytes,2,rep,name=triggers"` + + // Replicas is the number of desired replicas. + // +optional + Replicas int32 `json:"replicas" protobuf:"varint,3,opt,name=replicas"` + + // RevisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. + // This field is a pointer to allow for differentiation between an explicit zero and not specified. + // Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.) + RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,4,opt,name=revisionHistoryLimit"` + + // Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the + // deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding + // or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action. + // +optional + Test bool `json:"test" protobuf:"varint,5,opt,name=test"` + + // Paused indicates that the deployment config is paused resulting in no new deployments on template + // changes or changes in the template caused by other triggers. + Paused bool `json:"paused,omitempty" protobuf:"varint,6,opt,name=paused"` + + // Selector is a label query over pods that should match the Replicas count. + Selector map[string]string `json:"selector,omitempty" protobuf:"bytes,7,rep,name=selector"` + + // Template is the object that describes the pod that will be created if + // insufficient replicas are detected. + Template *corev1.PodTemplateSpec `json:"template,omitempty" protobuf:"bytes,8,opt,name=template"` +} + +// DeploymentStrategy describes how to perform a deployment. +type DeploymentStrategy struct { + // Type is the name of a deployment strategy. + Type DeploymentStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=DeploymentStrategyType"` + + // CustomParams are the input to the Custom deployment strategy, and may also + // be specified for the Recreate and Rolling strategies to customize the execution + // process that runs the deployment. + CustomParams *CustomDeploymentStrategyParams `json:"customParams,omitempty" protobuf:"bytes,2,opt,name=customParams"` + // RecreateParams are the input to the Recreate deployment strategy. + RecreateParams *RecreateDeploymentStrategyParams `json:"recreateParams,omitempty" protobuf:"bytes,3,opt,name=recreateParams"` + // RollingParams are the input to the Rolling deployment strategy. + RollingParams *RollingDeploymentStrategyParams `json:"rollingParams,omitempty" protobuf:"bytes,4,opt,name=rollingParams"` + + // Resources contains resource requirements to execute the deployment and any hooks. + Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,5,opt,name=resources"` + // Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,6,rep,name=labels"` + // Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,7,rep,name=annotations"` + + // ActiveDeadlineSeconds is the duration in seconds that the deployer pods for this deployment + // config may be active on a node before the system actively tries to terminate them. + ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,8,opt,name=activeDeadlineSeconds"` +} + +// DeploymentStrategyType refers to a specific DeploymentStrategy implementation. +type DeploymentStrategyType string + +const ( + // DeploymentStrategyTypeRecreate is a simple strategy suitable as a default. + DeploymentStrategyTypeRecreate DeploymentStrategyType = "Recreate" + // DeploymentStrategyTypeCustom is a user defined strategy. + DeploymentStrategyTypeCustom DeploymentStrategyType = "Custom" + // DeploymentStrategyTypeRolling uses the Kubernetes RollingUpdater. + DeploymentStrategyTypeRolling DeploymentStrategyType = "Rolling" +) + +// CustomDeploymentStrategyParams are the input to the Custom deployment strategy. +type CustomDeploymentStrategyParams struct { + // Image specifies a container image which can carry out a deployment. + Image string `json:"image,omitempty" protobuf:"bytes,1,opt,name=image"` + // Environment holds the environment which will be given to the container for Image. + Environment []corev1.EnvVar `json:"environment,omitempty" protobuf:"bytes,2,rep,name=environment"` + // Command is optional and overrides CMD in the container Image. + Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"` +} + +// RecreateDeploymentStrategyParams are the input to the Recreate deployment +// strategy. +type RecreateDeploymentStrategyParams struct { + // TimeoutSeconds is the time to wait for updates before giving up. If the + // value is nil, a default will be used. + TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" protobuf:"varint,1,opt,name=timeoutSeconds"` + // Pre is a lifecycle hook which is executed before the strategy manipulates + // the deployment. All LifecycleHookFailurePolicy values are supported. + Pre *LifecycleHook `json:"pre,omitempty" protobuf:"bytes,2,opt,name=pre"` + // Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new + // pod is created. All LifecycleHookFailurePolicy values are supported. + Mid *LifecycleHook `json:"mid,omitempty" protobuf:"bytes,3,opt,name=mid"` + // Post is a lifecycle hook which is executed after the strategy has + // finished all deployment logic. All LifecycleHookFailurePolicy values are supported. + Post *LifecycleHook `json:"post,omitempty" protobuf:"bytes,4,opt,name=post"` +} + +// RollingDeploymentStrategyParams are the input to the Rolling deployment +// strategy. +type RollingDeploymentStrategyParams struct { + // UpdatePeriodSeconds is the time to wait between individual pod updates. + // If the value is nil, a default will be used. + UpdatePeriodSeconds *int64 `json:"updatePeriodSeconds,omitempty" protobuf:"varint,1,opt,name=updatePeriodSeconds"` + // IntervalSeconds is the time to wait between polling deployment status + // after update. If the value is nil, a default will be used. + IntervalSeconds *int64 `json:"intervalSeconds,omitempty" protobuf:"varint,2,opt,name=intervalSeconds"` + // TimeoutSeconds is the time to wait for updates before giving up. If the + // value is nil, a default will be used. + TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" protobuf:"varint,3,opt,name=timeoutSeconds"` + // MaxUnavailable is the maximum number of pods that can be unavailable + // during the update. Value can be an absolute number (ex: 5) or a + // percentage of total pods at the start of update (ex: 10%). Absolute + // number is calculated from percentage by rounding down. + // + // This cannot be 0 if MaxSurge is 0. By default, 25% is used. + // + // Example: when this is set to 30%, the old RC can be scaled down by 30% + // immediately when the rolling update starts. Once new pods are ready, old + // RC can be scaled down further, followed by scaling up the new RC, + // ensuring that at least 70% of original number of pods are available at + // all times during the update. + MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"bytes,4,opt,name=maxUnavailable"` + // MaxSurge is the maximum number of pods that can be scheduled above the + // original number of pods. Value can be an absolute number (ex: 5) or a + // percentage of total pods at the start of the update (ex: 10%). Absolute + // number is calculated from percentage by rounding up. + // + // This cannot be 0 if MaxUnavailable is 0. By default, 25% is used. + // + // Example: when this is set to 30%, the new RC can be scaled up by 30% + // immediately when the rolling update starts. Once old pods have been + // killed, new RC can be scaled up further, ensuring that total number of + // pods running at any time during the update is atmost 130% of original + // pods. + MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty" protobuf:"bytes,5,opt,name=maxSurge"` + // Pre is a lifecycle hook which is executed before the deployment process + // begins. All LifecycleHookFailurePolicy values are supported. + Pre *LifecycleHook `json:"pre,omitempty" protobuf:"bytes,7,opt,name=pre"` + // Post is a lifecycle hook which is executed after the strategy has + // finished all deployment logic. All LifecycleHookFailurePolicy values + // are supported. + Post *LifecycleHook `json:"post,omitempty" protobuf:"bytes,8,opt,name=post"` +} + +// LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time. +type LifecycleHook struct { + // FailurePolicy specifies what action to take if the hook fails. + FailurePolicy LifecycleHookFailurePolicy `json:"failurePolicy" protobuf:"bytes,1,opt,name=failurePolicy,casttype=LifecycleHookFailurePolicy"` + + // ExecNewPod specifies the options for a lifecycle hook backed by a pod. + ExecNewPod *ExecNewPodHook `json:"execNewPod,omitempty" protobuf:"bytes,2,opt,name=execNewPod"` + + // TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag. + TagImages []TagImageHook `json:"tagImages,omitempty" protobuf:"bytes,3,rep,name=tagImages"` +} + +// LifecycleHookFailurePolicy describes possibles actions to take if a hook fails. +type LifecycleHookFailurePolicy string + +const ( + // LifecycleHookFailurePolicyRetry means retry the hook until it succeeds. + LifecycleHookFailurePolicyRetry LifecycleHookFailurePolicy = "Retry" + // LifecycleHookFailurePolicyAbort means abort the deployment. + LifecycleHookFailurePolicyAbort LifecycleHookFailurePolicy = "Abort" + // LifecycleHookFailurePolicyIgnore means ignore failure and continue the deployment. + LifecycleHookFailurePolicyIgnore LifecycleHookFailurePolicy = "Ignore" +) + +// ExecNewPodHook is a hook implementation which runs a command in a new pod +// based on the specified container which is assumed to be part of the +// deployment template. +type ExecNewPodHook struct { + // Command is the action command and its arguments. + Command []string `json:"command" protobuf:"bytes,1,rep,name=command"` + // Env is a set of environment variables to supply to the hook pod's container. + Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,2,rep,name=env"` + // ContainerName is the name of a container in the deployment pod template + // whose container image will be used for the hook pod's container. + ContainerName string `json:"containerName" protobuf:"bytes,3,opt,name=containerName"` + // Volumes is a list of named volumes from the pod template which should be + // copied to the hook pod. Volumes names not found in pod spec are ignored. + // An empty list means no volumes will be copied. + Volumes []string `json:"volumes,omitempty" protobuf:"bytes,4,rep,name=volumes"` +} + +// TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag. +type TagImageHook struct { + // ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single + // container this value will be defaulted to the name of that container. + ContainerName string `json:"containerName" protobuf:"bytes,1,opt,name=containerName"` + // To is the target ImageStreamTag to set the container's image onto. + To corev1.ObjectReference `json:"to" protobuf:"bytes,2,opt,name=to"` +} + +// DeploymentTriggerPolicies is a list of policies where nil values and different from empty arrays. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type DeploymentTriggerPolicies []DeploymentTriggerPolicy + +func (t DeploymentTriggerPolicies) String() string { + return fmt.Sprintf("%v", []DeploymentTriggerPolicy(t)) +} + +// DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment. +type DeploymentTriggerPolicy struct { + // Type of the trigger + Type DeploymentTriggerType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=DeploymentTriggerType"` + // ImageChangeParams represents the parameters for the ImageChange trigger. + ImageChangeParams *DeploymentTriggerImageChangeParams `json:"imageChangeParams,omitempty" protobuf:"bytes,2,opt,name=imageChangeParams"` +} + +// DeploymentTriggerType refers to a specific DeploymentTriggerPolicy implementation. +type DeploymentTriggerType string + +const ( + // DeploymentTriggerOnImageChange will create new deployments in response to updated tags from + // a container image repository. + DeploymentTriggerOnImageChange DeploymentTriggerType = "ImageChange" + // DeploymentTriggerOnConfigChange will create new deployments in response to changes to + // the ControllerTemplate of a DeploymentConfig. + DeploymentTriggerOnConfigChange DeploymentTriggerType = "ConfigChange" +) + +// DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger. +type DeploymentTriggerImageChangeParams struct { + // Automatic means that the detection of a new tag value should result in an image update + // inside the pod template. + Automatic bool `json:"automatic,omitempty" protobuf:"varint,1,opt,name=automatic"` + // ContainerNames is used to restrict tag updates to the specified set of container names in a pod. + // If multiple triggers point to the same containers, the resulting behavior is undefined. Future + // API versions will make this a validation error. If ContainerNames does not point to a valid container, + // the trigger will be ignored. Future API versions will make this a validation error. + ContainerNames []string `json:"containerNames,omitempty" protobuf:"bytes,2,rep,name=containerNames"` + // From is a reference to an image stream tag to watch for changes. From.Name is the only + // required subfield - if From.Namespace is blank, the namespace of the current deployment + // trigger will be used. + From corev1.ObjectReference `json:"from" protobuf:"bytes,3,opt,name=from"` + // LastTriggeredImage is the last image to be triggered. + LastTriggeredImage string `json:"lastTriggeredImage,omitempty" protobuf:"bytes,4,opt,name=lastTriggeredImage"` +} + +// DeploymentConfigStatus represents the current deployment state. +type DeploymentConfigStatus struct { + // LatestVersion is used to determine whether the current deployment associated with a deployment + // config is out of sync. + LatestVersion int64 `json:"latestVersion" protobuf:"varint,1,opt,name=latestVersion"` + // ObservedGeneration is the most recent generation observed by the deployment config controller. + ObservedGeneration int64 `json:"observedGeneration" protobuf:"varint,2,opt,name=observedGeneration"` + // Replicas is the total number of pods targeted by this deployment config. + Replicas int32 `json:"replicas" protobuf:"varint,3,opt,name=replicas"` + // UpdatedReplicas is the total number of non-terminated pods targeted by this deployment config + // that have the desired template spec. + UpdatedReplicas int32 `json:"updatedReplicas" protobuf:"varint,4,opt,name=updatedReplicas"` + // AvailableReplicas is the total number of available pods targeted by this deployment config. + AvailableReplicas int32 `json:"availableReplicas" protobuf:"varint,5,opt,name=availableReplicas"` + // UnavailableReplicas is the total number of unavailable pods targeted by this deployment config. + UnavailableReplicas int32 `json:"unavailableReplicas" protobuf:"varint,6,opt,name=unavailableReplicas"` + // Details are the reasons for the update to this deployment config. + // This could be based on a change made by the user or caused by an automatic trigger + Details *DeploymentDetails `json:"details,omitempty" protobuf:"bytes,7,opt,name=details"` + // Conditions represents the latest available observations of a deployment config's current state. + // +patchMergeKey=type + // +patchStrategy=merge + Conditions []DeploymentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,8,rep,name=conditions"` + // Total number of ready pods targeted by this deployment. + ReadyReplicas int32 `json:"readyReplicas,omitempty" protobuf:"varint,9,opt,name=readyReplicas"` +} + +// DeploymentDetails captures information about the causes of a deployment. +type DeploymentDetails struct { + // Message is the user specified change message, if this deployment was triggered manually by the user + Message string `json:"message,omitempty" protobuf:"bytes,1,opt,name=message"` + // Causes are extended data associated with all the causes for creating a new deployment + Causes []DeploymentCause `json:"causes" protobuf:"bytes,2,rep,name=causes"` +} + +// DeploymentCause captures information about a particular cause of a deployment. +type DeploymentCause struct { + // Type of the trigger that resulted in the creation of a new deployment + Type DeploymentTriggerType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentTriggerType"` + // ImageTrigger contains the image trigger details, if this trigger was fired based on an image change + ImageTrigger *DeploymentCauseImageTrigger `json:"imageTrigger,omitempty" protobuf:"bytes,2,opt,name=imageTrigger"` +} + +// DeploymentCauseImageTrigger represents details about the cause of a deployment originating +// from an image change trigger +type DeploymentCauseImageTrigger struct { + // From is a reference to the changed object which triggered a deployment. The field may have + // the kinds DockerImage, ImageStreamTag, or ImageStreamImage. + From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` +} + +type DeploymentConditionType string + +// These are valid conditions of a DeploymentConfig. +const ( + // DeploymentAvailable means the DeploymentConfig is available, ie. at least the minimum available + // replicas required (dc.spec.replicas in case the DeploymentConfig is of Recreate type, + // dc.spec.replicas - dc.spec.strategy.rollingParams.maxUnavailable in case it's Rolling) are up and + // running for at least dc.spec.minReadySeconds. + DeploymentAvailable DeploymentConditionType = "Available" + // DeploymentProgressing is: + // * True: the DeploymentConfig has been successfully deployed or is amidst getting deployed. + // The two different states can be determined by looking at the Reason of the Condition. + // For example, a complete DC will have {Status: True, Reason: NewReplicationControllerAvailable} + // and a DC in the middle of a rollout {Status: True, Reason: ReplicationControllerUpdated}. + // TODO: Represent a successfully deployed DC by using something else for Status like Unknown? + // * False: the DeploymentConfig has failed to deploy its latest version. + // + // This condition is purely informational and depends on the dc.spec.strategy.*params.timeoutSeconds + // field, which is responsible for the time in seconds to wait for a rollout before deciding that + // no progress can be made, thus the rollout is aborted. + // + // Progress for a DeploymentConfig is considered when new pods scale up or old pods scale down. + DeploymentProgressing DeploymentConditionType = "Progressing" + // DeploymentReplicaFailure is added in a deployment config when one of its pods + // fails to be created or deleted. + DeploymentReplicaFailure DeploymentConditionType = "ReplicaFailure" +) + +// DeploymentCondition describes the state of a deployment config at a certain point. +type DeploymentCondition struct { + // Type of deployment condition. + Type DeploymentConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentConditionType"` + // Status of the condition, one of True, False, Unknown. + Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/kubernetes/pkg/api/v1.ConditionStatus"` + // The last time this condition was updated. + LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,6,opt,name=lastUpdateTime"` + // The last time the condition transitioned from one status to another. + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"` + // The reason for the condition's last transition. + Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"` + // A human readable message indicating details about the transition. + Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DeploymentConfigList is a collection of deployment configs. +type DeploymentConfigList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of deployment configs + Items []DeploymentConfig `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DeploymentConfigRollback provides the input to rollback generation. +type DeploymentConfigRollback struct { + metav1.TypeMeta `json:",inline"` + // Name of the deployment config that will be rolled back. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // UpdatedAnnotations is a set of new annotations that will be added in the deployment config. + UpdatedAnnotations map[string]string `json:"updatedAnnotations,omitempty" protobuf:"bytes,2,rep,name=updatedAnnotations"` + // Spec defines the options to rollback generation. + Spec DeploymentConfigRollbackSpec `json:"spec" protobuf:"bytes,3,opt,name=spec"` +} + +// DeploymentConfigRollbackSpec represents the options for rollback generation. +type DeploymentConfigRollbackSpec struct { + // From points to a ReplicationController which is a deployment. + From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` + // Revision to rollback to. If set to 0, rollback to the last revision. + Revision int64 `json:"revision,omitempty" protobuf:"varint,2,opt,name=revision"` + // IncludeTriggers specifies whether to include config Triggers. + IncludeTriggers bool `json:"includeTriggers" protobuf:"varint,3,opt,name=includeTriggers"` + // IncludeTemplate specifies whether to include the PodTemplateSpec. + IncludeTemplate bool `json:"includeTemplate" protobuf:"varint,4,opt,name=includeTemplate"` + // IncludeReplicationMeta specifies whether to include the replica count and selector. + IncludeReplicationMeta bool `json:"includeReplicationMeta" protobuf:"varint,5,opt,name=includeReplicationMeta"` + // IncludeStrategy specifies whether to include the deployment Strategy. + IncludeStrategy bool `json:"includeStrategy" protobuf:"varint,6,opt,name=includeStrategy"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DeploymentRequest is a request to a deployment config for a new deployment. +type DeploymentRequest struct { + metav1.TypeMeta `json:",inline"` + // Name of the deployment config for requesting a new deployment. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // Latest will update the deployment config with the latest state from all triggers. + Latest bool `json:"latest" protobuf:"varint,2,opt,name=latest"` + // Force will try to force a new deployment to run. If the deployment config is paused, + // then setting this to true will return an Invalid error. + Force bool `json:"force" protobuf:"varint,3,opt,name=force"` + // ExcludeTriggers instructs the instantiator to avoid processing the specified triggers. + // This field overrides the triggers from latest and allows clients to control specific + // logic. This field is ignored if not specified. + ExcludeTriggers []DeploymentTriggerType `json:"excludeTriggers,omitempty" protobuf:"bytes,4,rep,name=excludeTriggers,casttype=DeploymentTriggerType"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DeploymentLog represents the logs for a deployment +type DeploymentLog struct { + metav1.TypeMeta `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DeploymentLogOptions is the REST options for a deployment log +type DeploymentLogOptions struct { + metav1.TypeMeta `json:",inline"` + + // The container for which to stream logs. Defaults to only container if there is one container in the pod. + Container string `json:"container,omitempty" protobuf:"bytes,1,opt,name=container"` + // Follow if true indicates that the build log should be streamed until + // the build terminates. + Follow bool `json:"follow,omitempty" protobuf:"varint,2,opt,name=follow"` + // Return previous deployment logs. Defaults to false. + Previous bool `json:"previous,omitempty" protobuf:"varint,3,opt,name=previous"` + // A relative time in seconds before the current time from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + SinceSeconds *int64 `json:"sinceSeconds,omitempty" protobuf:"varint,4,opt,name=sinceSeconds"` + // An RFC3339 timestamp from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + SinceTime *metav1.Time `json:"sinceTime,omitempty" protobuf:"bytes,5,opt,name=sinceTime"` + // If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line + // of log output. Defaults to false. + Timestamps bool `json:"timestamps,omitempty" protobuf:"varint,6,opt,name=timestamps"` + // If set, the number of lines from the end of the logs to show. If not specified, + // logs are shown from the creation of the container or sinceSeconds or sinceTime + TailLines *int64 `json:"tailLines,omitempty" protobuf:"varint,7,opt,name=tailLines"` + // If set, the number of bytes to read from the server before terminating the + // log output. This may not display a complete final line of logging, and may return + // slightly more or slightly less than the specified limit. + LimitBytes *int64 `json:"limitBytes,omitempty" protobuf:"varint,8,opt,name=limitBytes"` + + // NoWait if true causes the call to return immediately even if the deployment + // is not available yet. Otherwise the server will wait until the deployment has started. + // TODO: Fix the tag to 'noWait' in v2 + NoWait bool `json:"nowait,omitempty" protobuf:"varint,9,opt,name=nowait"` + + // Version of the deployment for which to view logs. + Version *int64 `json:"version,omitempty" protobuf:"varint,10,opt,name=version"` +} diff --git a/vendor/github.com/openshift/api/apps/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/apps/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..6d76bea56 --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/zz_generated.deepcopy.go @@ -0,0 +1,785 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + intstr "k8s.io/apimachinery/pkg/util/intstr" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomDeploymentStrategyParams) DeepCopyInto(out *CustomDeploymentStrategyParams) { + *out = *in + if in.Environment != nil { + in, out := &in.Environment, &out.Environment + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomDeploymentStrategyParams. +func (in *CustomDeploymentStrategyParams) DeepCopy() *CustomDeploymentStrategyParams { + if in == nil { + return nil + } + out := new(CustomDeploymentStrategyParams) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentCause) DeepCopyInto(out *DeploymentCause) { + *out = *in + if in.ImageTrigger != nil { + in, out := &in.ImageTrigger, &out.ImageTrigger + if *in == nil { + *out = nil + } else { + *out = new(DeploymentCauseImageTrigger) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentCause. +func (in *DeploymentCause) DeepCopy() *DeploymentCause { + if in == nil { + return nil + } + out := new(DeploymentCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentCauseImageTrigger) DeepCopyInto(out *DeploymentCauseImageTrigger) { + *out = *in + out.From = in.From + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentCauseImageTrigger. +func (in *DeploymentCauseImageTrigger) DeepCopy() *DeploymentCauseImageTrigger { + if in == nil { + return nil + } + out := new(DeploymentCauseImageTrigger) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentCondition) DeepCopyInto(out *DeploymentCondition) { + *out = *in + in.LastUpdateTime.DeepCopyInto(&out.LastUpdateTime) + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentCondition. +func (in *DeploymentCondition) DeepCopy() *DeploymentCondition { + if in == nil { + return nil + } + out := new(DeploymentCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentConfig) DeepCopyInto(out *DeploymentConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentConfig. +func (in *DeploymentConfig) DeepCopy() *DeploymentConfig { + if in == nil { + return nil + } + out := new(DeploymentConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeploymentConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentConfigList) DeepCopyInto(out *DeploymentConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DeploymentConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentConfigList. +func (in *DeploymentConfigList) DeepCopy() *DeploymentConfigList { + if in == nil { + return nil + } + out := new(DeploymentConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeploymentConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentConfigRollback) DeepCopyInto(out *DeploymentConfigRollback) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.UpdatedAnnotations != nil { + in, out := &in.UpdatedAnnotations, &out.UpdatedAnnotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.Spec = in.Spec + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentConfigRollback. +func (in *DeploymentConfigRollback) DeepCopy() *DeploymentConfigRollback { + if in == nil { + return nil + } + out := new(DeploymentConfigRollback) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeploymentConfigRollback) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentConfigRollbackSpec) DeepCopyInto(out *DeploymentConfigRollbackSpec) { + *out = *in + out.From = in.From + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentConfigRollbackSpec. +func (in *DeploymentConfigRollbackSpec) DeepCopy() *DeploymentConfigRollbackSpec { + if in == nil { + return nil + } + out := new(DeploymentConfigRollbackSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentConfigSpec) DeepCopyInto(out *DeploymentConfigSpec) { + *out = *in + in.Strategy.DeepCopyInto(&out.Strategy) + if in.Triggers != nil { + in, out := &in.Triggers, &out.Triggers + *out = make(DeploymentTriggerPolicies, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RevisionHistoryLimit != nil { + in, out := &in.RevisionHistoryLimit, &out.RevisionHistoryLimit + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + if in.Selector != nil { + in, out := &in.Selector, &out.Selector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Template != nil { + in, out := &in.Template, &out.Template + if *in == nil { + *out = nil + } else { + *out = new(core_v1.PodTemplateSpec) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentConfigSpec. +func (in *DeploymentConfigSpec) DeepCopy() *DeploymentConfigSpec { + if in == nil { + return nil + } + out := new(DeploymentConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentConfigStatus) DeepCopyInto(out *DeploymentConfigStatus) { + *out = *in + if in.Details != nil { + in, out := &in.Details, &out.Details + if *in == nil { + *out = nil + } else { + *out = new(DeploymentDetails) + (*in).DeepCopyInto(*out) + } + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]DeploymentCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentConfigStatus. +func (in *DeploymentConfigStatus) DeepCopy() *DeploymentConfigStatus { + if in == nil { + return nil + } + out := new(DeploymentConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentDetails) DeepCopyInto(out *DeploymentDetails) { + *out = *in + if in.Causes != nil { + in, out := &in.Causes, &out.Causes + *out = make([]DeploymentCause, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentDetails. +func (in *DeploymentDetails) DeepCopy() *DeploymentDetails { + if in == nil { + return nil + } + out := new(DeploymentDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentLog) DeepCopyInto(out *DeploymentLog) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentLog. +func (in *DeploymentLog) DeepCopy() *DeploymentLog { + if in == nil { + return nil + } + out := new(DeploymentLog) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeploymentLog) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentLogOptions) DeepCopyInto(out *DeploymentLogOptions) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.SinceSeconds != nil { + in, out := &in.SinceSeconds, &out.SinceSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.SinceTime != nil { + in, out := &in.SinceTime, &out.SinceTime + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.TailLines != nil { + in, out := &in.TailLines, &out.TailLines + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.LimitBytes != nil { + in, out := &in.LimitBytes, &out.LimitBytes + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentLogOptions. +func (in *DeploymentLogOptions) DeepCopy() *DeploymentLogOptions { + if in == nil { + return nil + } + out := new(DeploymentLogOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeploymentLogOptions) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentRequest) DeepCopyInto(out *DeploymentRequest) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.ExcludeTriggers != nil { + in, out := &in.ExcludeTriggers, &out.ExcludeTriggers + *out = make([]DeploymentTriggerType, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentRequest. +func (in *DeploymentRequest) DeepCopy() *DeploymentRequest { + if in == nil { + return nil + } + out := new(DeploymentRequest) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DeploymentRequest) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentStrategy) DeepCopyInto(out *DeploymentStrategy) { + *out = *in + if in.CustomParams != nil { + in, out := &in.CustomParams, &out.CustomParams + if *in == nil { + *out = nil + } else { + *out = new(CustomDeploymentStrategyParams) + (*in).DeepCopyInto(*out) + } + } + if in.RecreateParams != nil { + in, out := &in.RecreateParams, &out.RecreateParams + if *in == nil { + *out = nil + } else { + *out = new(RecreateDeploymentStrategyParams) + (*in).DeepCopyInto(*out) + } + } + if in.RollingParams != nil { + in, out := &in.RollingParams, &out.RollingParams + if *in == nil { + *out = nil + } else { + *out = new(RollingDeploymentStrategyParams) + (*in).DeepCopyInto(*out) + } + } + in.Resources.DeepCopyInto(&out.Resources) + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ActiveDeadlineSeconds != nil { + in, out := &in.ActiveDeadlineSeconds, &out.ActiveDeadlineSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStrategy. +func (in *DeploymentStrategy) DeepCopy() *DeploymentStrategy { + if in == nil { + return nil + } + out := new(DeploymentStrategy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentTriggerImageChangeParams) DeepCopyInto(out *DeploymentTriggerImageChangeParams) { + *out = *in + if in.ContainerNames != nil { + in, out := &in.ContainerNames, &out.ContainerNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.From = in.From + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTriggerImageChangeParams. +func (in *DeploymentTriggerImageChangeParams) DeepCopy() *DeploymentTriggerImageChangeParams { + if in == nil { + return nil + } + out := new(DeploymentTriggerImageChangeParams) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in DeploymentTriggerPolicies) DeepCopyInto(out *DeploymentTriggerPolicies) { + { + in := &in + *out = make(DeploymentTriggerPolicies, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTriggerPolicies. +func (in DeploymentTriggerPolicies) DeepCopy() DeploymentTriggerPolicies { + if in == nil { + return nil + } + out := new(DeploymentTriggerPolicies) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeploymentTriggerPolicy) DeepCopyInto(out *DeploymentTriggerPolicy) { + *out = *in + if in.ImageChangeParams != nil { + in, out := &in.ImageChangeParams, &out.ImageChangeParams + if *in == nil { + *out = nil + } else { + *out = new(DeploymentTriggerImageChangeParams) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTriggerPolicy. +func (in *DeploymentTriggerPolicy) DeepCopy() *DeploymentTriggerPolicy { + if in == nil { + return nil + } + out := new(DeploymentTriggerPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExecNewPodHook) DeepCopyInto(out *ExecNewPodHook) { + *out = *in + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecNewPodHook. +func (in *ExecNewPodHook) DeepCopy() *ExecNewPodHook { + if in == nil { + return nil + } + out := new(ExecNewPodHook) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LifecycleHook) DeepCopyInto(out *LifecycleHook) { + *out = *in + if in.ExecNewPod != nil { + in, out := &in.ExecNewPod, &out.ExecNewPod + if *in == nil { + *out = nil + } else { + *out = new(ExecNewPodHook) + (*in).DeepCopyInto(*out) + } + } + if in.TagImages != nil { + in, out := &in.TagImages, &out.TagImages + *out = make([]TagImageHook, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleHook. +func (in *LifecycleHook) DeepCopy() *LifecycleHook { + if in == nil { + return nil + } + out := new(LifecycleHook) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecreateDeploymentStrategyParams) DeepCopyInto(out *RecreateDeploymentStrategyParams) { + *out = *in + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.Pre != nil { + in, out := &in.Pre, &out.Pre + if *in == nil { + *out = nil + } else { + *out = new(LifecycleHook) + (*in).DeepCopyInto(*out) + } + } + if in.Mid != nil { + in, out := &in.Mid, &out.Mid + if *in == nil { + *out = nil + } else { + *out = new(LifecycleHook) + (*in).DeepCopyInto(*out) + } + } + if in.Post != nil { + in, out := &in.Post, &out.Post + if *in == nil { + *out = nil + } else { + *out = new(LifecycleHook) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecreateDeploymentStrategyParams. +func (in *RecreateDeploymentStrategyParams) DeepCopy() *RecreateDeploymentStrategyParams { + if in == nil { + return nil + } + out := new(RecreateDeploymentStrategyParams) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RollingDeploymentStrategyParams) DeepCopyInto(out *RollingDeploymentStrategyParams) { + *out = *in + if in.UpdatePeriodSeconds != nil { + in, out := &in.UpdatePeriodSeconds, &out.UpdatePeriodSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.IntervalSeconds != nil { + in, out := &in.IntervalSeconds, &out.IntervalSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.MaxUnavailable != nil { + in, out := &in.MaxUnavailable, &out.MaxUnavailable + if *in == nil { + *out = nil + } else { + *out = new(intstr.IntOrString) + **out = **in + } + } + if in.MaxSurge != nil { + in, out := &in.MaxSurge, &out.MaxSurge + if *in == nil { + *out = nil + } else { + *out = new(intstr.IntOrString) + **out = **in + } + } + if in.Pre != nil { + in, out := &in.Pre, &out.Pre + if *in == nil { + *out = nil + } else { + *out = new(LifecycleHook) + (*in).DeepCopyInto(*out) + } + } + if in.Post != nil { + in, out := &in.Post, &out.Post + if *in == nil { + *out = nil + } else { + *out = new(LifecycleHook) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingDeploymentStrategyParams. +func (in *RollingDeploymentStrategyParams) DeepCopy() *RollingDeploymentStrategyParams { + if in == nil { + return nil + } + out := new(RollingDeploymentStrategyParams) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagImageHook) DeepCopyInto(out *TagImageHook) { + *out = *in + out.To = in.To + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagImageHook. +func (in *TagImageHook) DeepCopy() *TagImageHook { + if in == nil { + return nil + } + out := new(TagImageHook) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..a7870003a --- /dev/null +++ b/vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,284 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_CustomDeploymentStrategyParams = map[string]string{ + "": "CustomDeploymentStrategyParams are the input to the Custom deployment strategy.", + "image": "Image specifies a container image which can carry out a deployment.", + "environment": "Environment holds the environment which will be given to the container for Image.", + "command": "Command is optional and overrides CMD in the container Image.", +} + +func (CustomDeploymentStrategyParams) SwaggerDoc() map[string]string { + return map_CustomDeploymentStrategyParams +} + +var map_DeploymentCause = map[string]string{ + "": "DeploymentCause captures information about a particular cause of a deployment.", + "type": "Type of the trigger that resulted in the creation of a new deployment", + "imageTrigger": "ImageTrigger contains the image trigger details, if this trigger was fired based on an image change", +} + +func (DeploymentCause) SwaggerDoc() map[string]string { + return map_DeploymentCause +} + +var map_DeploymentCauseImageTrigger = map[string]string{ + "": "DeploymentCauseImageTrigger represents details about the cause of a deployment originating from an image change trigger", + "from": "From is a reference to the changed object which triggered a deployment. The field may have the kinds DockerImage, ImageStreamTag, or ImageStreamImage.", +} + +func (DeploymentCauseImageTrigger) SwaggerDoc() map[string]string { + return map_DeploymentCauseImageTrigger +} + +var map_DeploymentCondition = map[string]string{ + "": "DeploymentCondition describes the state of a deployment config at a certain point.", + "type": "Type of deployment condition.", + "status": "Status of the condition, one of True, False, Unknown.", + "lastUpdateTime": "The last time this condition was updated.", + "lastTransitionTime": "The last time the condition transitioned from one status to another.", + "reason": "The reason for the condition's last transition.", + "message": "A human readable message indicating details about the transition.", +} + +func (DeploymentCondition) SwaggerDoc() map[string]string { + return map_DeploymentCondition +} + +var map_DeploymentConfig = map[string]string{ + "": "Deployment Configs define the template for a pod and manages deploying new images or configuration changes. A single deployment configuration is usually analogous to a single micro-service. Can support many different deployment patterns, including full restart, customizable rolling updates, and fully custom behaviors, as well as pre- and post- deployment hooks. Each individual deployment is represented as a replication controller.\n\nA deployment is \"triggered\" when its configuration is changed or a tag in an Image Stream is changed. Triggers can be disabled to allow manual control over a deployment. The \"strategy\" determines how the deployment is carried out and may be changed at any time. The `latestVersion` field is updated when a new deployment is triggered by any means.", + "metadata": "Standard object's metadata.", + "spec": "Spec represents a desired deployment state and how to deploy to it.", + "status": "Status represents the current deployment state.", +} + +func (DeploymentConfig) SwaggerDoc() map[string]string { + return map_DeploymentConfig +} + +var map_DeploymentConfigList = map[string]string{ + "": "DeploymentConfigList is a collection of deployment configs.", + "metadata": "Standard object's metadata.", + "items": "Items is a list of deployment configs", +} + +func (DeploymentConfigList) SwaggerDoc() map[string]string { + return map_DeploymentConfigList +} + +var map_DeploymentConfigRollback = map[string]string{ + "": "DeploymentConfigRollback provides the input to rollback generation.", + "name": "Name of the deployment config that will be rolled back.", + "updatedAnnotations": "UpdatedAnnotations is a set of new annotations that will be added in the deployment config.", + "spec": "Spec defines the options to rollback generation.", +} + +func (DeploymentConfigRollback) SwaggerDoc() map[string]string { + return map_DeploymentConfigRollback +} + +var map_DeploymentConfigRollbackSpec = map[string]string{ + "": "DeploymentConfigRollbackSpec represents the options for rollback generation.", + "from": "From points to a ReplicationController which is a deployment.", + "revision": "Revision to rollback to. If set to 0, rollback to the last revision.", + "includeTriggers": "IncludeTriggers specifies whether to include config Triggers.", + "includeTemplate": "IncludeTemplate specifies whether to include the PodTemplateSpec.", + "includeReplicationMeta": "IncludeReplicationMeta specifies whether to include the replica count and selector.", + "includeStrategy": "IncludeStrategy specifies whether to include the deployment Strategy.", +} + +func (DeploymentConfigRollbackSpec) SwaggerDoc() map[string]string { + return map_DeploymentConfigRollbackSpec +} + +var map_DeploymentConfigSpec = map[string]string{ + "": "DeploymentConfigSpec represents the desired state of the deployment.", + "strategy": "Strategy describes how a deployment is executed.", + "minReadySeconds": "MinReadySeconds is the minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", + "triggers": "Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers are defined, a new deployment can only occur as a result of an explicit client update to the DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger.", + "replicas": "Replicas is the number of desired replicas.", + "revisionHistoryLimit": "RevisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. This field is a pointer to allow for differentiation between an explicit zero and not specified. Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.)", + "test": "Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action.", + "paused": "Paused indicates that the deployment config is paused resulting in no new deployments on template changes or changes in the template caused by other triggers.", + "selector": "Selector is a label query over pods that should match the Replicas count.", + "template": "Template is the object that describes the pod that will be created if insufficient replicas are detected.", +} + +func (DeploymentConfigSpec) SwaggerDoc() map[string]string { + return map_DeploymentConfigSpec +} + +var map_DeploymentConfigStatus = map[string]string{ + "": "DeploymentConfigStatus represents the current deployment state.", + "latestVersion": "LatestVersion is used to determine whether the current deployment associated with a deployment config is out of sync.", + "observedGeneration": "ObservedGeneration is the most recent generation observed by the deployment config controller.", + "replicas": "Replicas is the total number of pods targeted by this deployment config.", + "updatedReplicas": "UpdatedReplicas is the total number of non-terminated pods targeted by this deployment config that have the desired template spec.", + "availableReplicas": "AvailableReplicas is the total number of available pods targeted by this deployment config.", + "unavailableReplicas": "UnavailableReplicas is the total number of unavailable pods targeted by this deployment config.", + "details": "Details are the reasons for the update to this deployment config. This could be based on a change made by the user or caused by an automatic trigger", + "conditions": "Conditions represents the latest available observations of a deployment config's current state.", + "readyReplicas": "Total number of ready pods targeted by this deployment.", +} + +func (DeploymentConfigStatus) SwaggerDoc() map[string]string { + return map_DeploymentConfigStatus +} + +var map_DeploymentDetails = map[string]string{ + "": "DeploymentDetails captures information about the causes of a deployment.", + "message": "Message is the user specified change message, if this deployment was triggered manually by the user", + "causes": "Causes are extended data associated with all the causes for creating a new deployment", +} + +func (DeploymentDetails) SwaggerDoc() map[string]string { + return map_DeploymentDetails +} + +var map_DeploymentLog = map[string]string{ + "": "DeploymentLog represents the logs for a deployment", +} + +func (DeploymentLog) SwaggerDoc() map[string]string { + return map_DeploymentLog +} + +var map_DeploymentLogOptions = map[string]string{ + "": "DeploymentLogOptions is the REST options for a deployment log", + "container": "The container for which to stream logs. Defaults to only container if there is one container in the pod.", + "follow": "Follow if true indicates that the build log should be streamed until the build terminates.", + "previous": "Return previous deployment logs. Defaults to false.", + "sinceSeconds": "A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", + "sinceTime": "An RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", + "timestamps": "If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.", + "tailLines": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime", + "limitBytes": "If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.", + "nowait": "NoWait if true causes the call to return immediately even if the deployment is not available yet. Otherwise the server will wait until the deployment has started.", + "version": "Version of the deployment for which to view logs.", +} + +func (DeploymentLogOptions) SwaggerDoc() map[string]string { + return map_DeploymentLogOptions +} + +var map_DeploymentRequest = map[string]string{ + "": "DeploymentRequest is a request to a deployment config for a new deployment.", + "name": "Name of the deployment config for requesting a new deployment.", + "latest": "Latest will update the deployment config with the latest state from all triggers.", + "force": "Force will try to force a new deployment to run. If the deployment config is paused, then setting this to true will return an Invalid error.", + "excludeTriggers": "ExcludeTriggers instructs the instantiator to avoid processing the specified triggers. This field overrides the triggers from latest and allows clients to control specific logic. This field is ignored if not specified.", +} + +func (DeploymentRequest) SwaggerDoc() map[string]string { + return map_DeploymentRequest +} + +var map_DeploymentStrategy = map[string]string{ + "": "DeploymentStrategy describes how to perform a deployment.", + "type": "Type is the name of a deployment strategy.", + "customParams": "CustomParams are the input to the Custom deployment strategy, and may also be specified for the Recreate and Rolling strategies to customize the execution process that runs the deployment.", + "recreateParams": "RecreateParams are the input to the Recreate deployment strategy.", + "rollingParams": "RollingParams are the input to the Rolling deployment strategy.", + "resources": "Resources contains resource requirements to execute the deployment and any hooks.", + "labels": "Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", + "annotations": "Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", + "activeDeadlineSeconds": "ActiveDeadlineSeconds is the duration in seconds that the deployer pods for this deployment config may be active on a node before the system actively tries to terminate them.", +} + +func (DeploymentStrategy) SwaggerDoc() map[string]string { + return map_DeploymentStrategy +} + +var map_DeploymentTriggerImageChangeParams = map[string]string{ + "": "DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger.", + "automatic": "Automatic means that the detection of a new tag value should result in an image update inside the pod template.", + "containerNames": "ContainerNames is used to restrict tag updates to the specified set of container names in a pod. If multiple triggers point to the same containers, the resulting behavior is undefined. Future API versions will make this a validation error. If ContainerNames does not point to a valid container, the trigger will be ignored. Future API versions will make this a validation error.", + "from": "From is a reference to an image stream tag to watch for changes. From.Name is the only required subfield - if From.Namespace is blank, the namespace of the current deployment trigger will be used.", + "lastTriggeredImage": "LastTriggeredImage is the last image to be triggered.", +} + +func (DeploymentTriggerImageChangeParams) SwaggerDoc() map[string]string { + return map_DeploymentTriggerImageChangeParams +} + +var map_DeploymentTriggerPolicy = map[string]string{ + "": "DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment.", + "type": "Type of the trigger", + "imageChangeParams": "ImageChangeParams represents the parameters for the ImageChange trigger.", +} + +func (DeploymentTriggerPolicy) SwaggerDoc() map[string]string { + return map_DeploymentTriggerPolicy +} + +var map_ExecNewPodHook = map[string]string{ + "": "ExecNewPodHook is a hook implementation which runs a command in a new pod based on the specified container which is assumed to be part of the deployment template.", + "command": "Command is the action command and its arguments.", + "env": "Env is a set of environment variables to supply to the hook pod's container.", + "containerName": "ContainerName is the name of a container in the deployment pod template whose container image will be used for the hook pod's container.", + "volumes": "Volumes is a list of named volumes from the pod template which should be copied to the hook pod. Volumes names not found in pod spec are ignored. An empty list means no volumes will be copied.", +} + +func (ExecNewPodHook) SwaggerDoc() map[string]string { + return map_ExecNewPodHook +} + +var map_LifecycleHook = map[string]string{ + "": "LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time.", + "failurePolicy": "FailurePolicy specifies what action to take if the hook fails.", + "execNewPod": "ExecNewPod specifies the options for a lifecycle hook backed by a pod.", + "tagImages": "TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag.", +} + +func (LifecycleHook) SwaggerDoc() map[string]string { + return map_LifecycleHook +} + +var map_RecreateDeploymentStrategyParams = map[string]string{ + "": "RecreateDeploymentStrategyParams are the input to the Recreate deployment strategy.", + "timeoutSeconds": "TimeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", + "pre": "Pre is a lifecycle hook which is executed before the strategy manipulates the deployment. All LifecycleHookFailurePolicy values are supported.", + "mid": "Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new pod is created. All LifecycleHookFailurePolicy values are supported.", + "post": "Post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported.", +} + +func (RecreateDeploymentStrategyParams) SwaggerDoc() map[string]string { + return map_RecreateDeploymentStrategyParams +} + +var map_RollingDeploymentStrategyParams = map[string]string{ + "": "RollingDeploymentStrategyParams are the input to the Rolling deployment strategy.", + "updatePeriodSeconds": "UpdatePeriodSeconds is the time to wait between individual pod updates. If the value is nil, a default will be used.", + "intervalSeconds": "IntervalSeconds is the time to wait between polling deployment status after update. If the value is nil, a default will be used.", + "timeoutSeconds": "TimeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", + "maxUnavailable": "MaxUnavailable is the maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of update (ex: 10%). Absolute number is calculated from percentage by rounding down.\n\nThis cannot be 0 if MaxSurge is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the old RC can be scaled down by 30% immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that at least 70% of original number of pods are available at all times during the update.", + "maxSurge": "MaxSurge is the maximum number of pods that can be scheduled above the original number of pods. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up.\n\nThis cannot be 0 if MaxUnavailable is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the new RC can be scaled up by 30% immediately when the rolling update starts. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of original pods.", + "pre": "Pre is a lifecycle hook which is executed before the deployment process begins. All LifecycleHookFailurePolicy values are supported.", + "post": "Post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported.", +} + +func (RollingDeploymentStrategyParams) SwaggerDoc() map[string]string { + return map_RollingDeploymentStrategyParams +} + +var map_TagImageHook = map[string]string{ + "": "TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag.", + "containerName": "ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single container this value will be defaulted to the name of that container.", + "to": "To is the target ImageStreamTag to set the container's image onto.", +} + +func (TagImageHook) SwaggerDoc() map[string]string { + return map_TagImageHook +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/authorization/OWNERS b/vendor/github.com/openshift/api/authorization/OWNERS new file mode 100644 index 000000000..f0e98440a --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/OWNERS @@ -0,0 +1,2 @@ +reviewers: + - enj diff --git a/vendor/github.com/openshift/api/authorization/install.go b/vendor/github.com/openshift/api/authorization/install.go new file mode 100644 index 000000000..08ecc95f4 --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/install.go @@ -0,0 +1,26 @@ +package authorization + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + authorizationv1 "github.com/openshift/api/authorization/v1" +) + +const ( + GroupName = "authorization.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(authorizationv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/authorization/v1/codec.go b/vendor/github.com/openshift/api/authorization/v1/codec.go new file mode 100644 index 000000000..61f1f9f51 --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/codec.go @@ -0,0 +1,139 @@ +package v1 + +import ( + "github.com/openshift/api/pkg/serialization" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +var _ runtime.NestedObjectDecoder = &PolicyRule{} +var _ runtime.NestedObjectEncoder = &PolicyRule{} + +func (c *PolicyRule) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + serialization.DecodeNestedRawExtensionOrUnknown(d, &c.AttributeRestrictions) + return nil +} +func (c *PolicyRule) EncodeNestedObjects(e runtime.Encoder) error { + return serialization.EncodeNestedRawExtension(e, &c.AttributeRestrictions) +} + +var _ runtime.NestedObjectDecoder = &SelfSubjectRulesReview{} +var _ runtime.NestedObjectEncoder = &SelfSubjectRulesReview{} + +func (c *SelfSubjectRulesReview) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + for i := range c.Status.Rules { + c.Status.Rules[i].DecodeNestedObjects(d) + } + return nil +} +func (c *SelfSubjectRulesReview) EncodeNestedObjects(e runtime.Encoder) error { + for i := range c.Status.Rules { + if err := c.Status.Rules[i].EncodeNestedObjects(e); err != nil { + return err + } + } + return nil +} + +var _ runtime.NestedObjectDecoder = &SubjectRulesReview{} +var _ runtime.NestedObjectEncoder = &SubjectRulesReview{} + +func (c *SubjectRulesReview) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + for i := range c.Status.Rules { + c.Status.Rules[i].DecodeNestedObjects(d) + } + return nil +} +func (c *SubjectRulesReview) EncodeNestedObjects(e runtime.Encoder) error { + for i := range c.Status.Rules { + if err := c.Status.Rules[i].EncodeNestedObjects(e); err != nil { + return err + } + } + return nil +} + +var _ runtime.NestedObjectDecoder = &ClusterRole{} +var _ runtime.NestedObjectEncoder = &ClusterRole{} + +func (c *ClusterRole) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + for i := range c.Rules { + c.Rules[i].DecodeNestedObjects(d) + } + return nil +} +func (c *ClusterRole) EncodeNestedObjects(e runtime.Encoder) error { + for i := range c.Rules { + if err := c.Rules[i].EncodeNestedObjects(e); err != nil { + return err + } + } + return nil +} + +var _ runtime.NestedObjectDecoder = &Role{} +var _ runtime.NestedObjectEncoder = &Role{} + +func (c *Role) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + for i := range c.Rules { + c.Rules[i].DecodeNestedObjects(d) + } + return nil +} +func (c *Role) EncodeNestedObjects(e runtime.Encoder) error { + for i := range c.Rules { + if err := c.Rules[i].EncodeNestedObjects(e); err != nil { + return err + } + } + return nil +} + +var _ runtime.NestedObjectDecoder = &ClusterRoleList{} +var _ runtime.NestedObjectEncoder = &ClusterRoleList{} + +func (c *ClusterRoleList) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + for i := range c.Items { + c.Items[i].DecodeNestedObjects(d) + } + return nil +} +func (c *ClusterRoleList) EncodeNestedObjects(e runtime.Encoder) error { + for i := range c.Items { + if err := c.Items[i].EncodeNestedObjects(e); err != nil { + return err + } + } + return nil +} + +var _ runtime.NestedObjectDecoder = &RoleList{} +var _ runtime.NestedObjectEncoder = &RoleList{} + +func (c *RoleList) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + for i := range c.Items { + c.Items[i].DecodeNestedObjects(d) + } + return nil +} +func (c *RoleList) EncodeNestedObjects(e runtime.Encoder) error { + for i := range c.Items { + if err := c.Items[i].EncodeNestedObjects(e); err != nil { + return err + } + } + return nil +} diff --git a/vendor/github.com/openshift/api/authorization/v1/doc.go b/vendor/github.com/openshift/api/authorization/v1/doc.go new file mode 100644 index 000000000..06fb12fce --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/authorization/apis/authorization +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=authorization.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/authorization/v1/generated.pb.go b/vendor/github.com/openshift/api/authorization/v1/generated.pb.go new file mode 100644 index 000000000..c0cbf3dd0 --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/generated.pb.go @@ -0,0 +1,7435 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/authorization/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/authorization/v1/generated.proto + + It has these top-level messages: + Action + ClusterRole + ClusterRoleBinding + ClusterRoleBindingList + ClusterRoleList + GroupRestriction + IsPersonalSubjectAccessReview + LocalResourceAccessReview + LocalSubjectAccessReview + NamedClusterRole + NamedClusterRoleBinding + NamedRole + NamedRoleBinding + OptionalNames + OptionalScopes + PolicyRule + ResourceAccessReview + ResourceAccessReviewResponse + Role + RoleBinding + RoleBindingList + RoleBindingRestriction + RoleBindingRestrictionList + RoleBindingRestrictionSpec + RoleList + SelfSubjectRulesReview + SelfSubjectRulesReviewSpec + ServiceAccountReference + ServiceAccountRestriction + SubjectAccessReview + SubjectAccessReviewResponse + SubjectRulesReview + SubjectRulesReviewSpec + SubjectRulesReviewStatus + UserRestriction +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" +import k8s_io_api_rbac_v1 "k8s.io/api/rbac/v1" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *Action) Reset() { *m = Action{} } +func (*Action) ProtoMessage() {} +func (*Action) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *ClusterRole) Reset() { *m = ClusterRole{} } +func (*ClusterRole) ProtoMessage() {} +func (*ClusterRole) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *ClusterRoleBinding) Reset() { *m = ClusterRoleBinding{} } +func (*ClusterRoleBinding) ProtoMessage() {} +func (*ClusterRoleBinding) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *ClusterRoleBindingList) Reset() { *m = ClusterRoleBindingList{} } +func (*ClusterRoleBindingList) ProtoMessage() {} +func (*ClusterRoleBindingList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *ClusterRoleList) Reset() { *m = ClusterRoleList{} } +func (*ClusterRoleList) ProtoMessage() {} +func (*ClusterRoleList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *GroupRestriction) Reset() { *m = GroupRestriction{} } +func (*GroupRestriction) ProtoMessage() {} +func (*GroupRestriction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *IsPersonalSubjectAccessReview) Reset() { *m = IsPersonalSubjectAccessReview{} } +func (*IsPersonalSubjectAccessReview) ProtoMessage() {} +func (*IsPersonalSubjectAccessReview) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{6} +} + +func (m *LocalResourceAccessReview) Reset() { *m = LocalResourceAccessReview{} } +func (*LocalResourceAccessReview) ProtoMessage() {} +func (*LocalResourceAccessReview) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{7} +} + +func (m *LocalSubjectAccessReview) Reset() { *m = LocalSubjectAccessReview{} } +func (*LocalSubjectAccessReview) ProtoMessage() {} +func (*LocalSubjectAccessReview) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{8} +} + +func (m *NamedClusterRole) Reset() { *m = NamedClusterRole{} } +func (*NamedClusterRole) ProtoMessage() {} +func (*NamedClusterRole) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *NamedClusterRoleBinding) Reset() { *m = NamedClusterRoleBinding{} } +func (*NamedClusterRoleBinding) ProtoMessage() {} +func (*NamedClusterRoleBinding) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{10} +} + +func (m *NamedRole) Reset() { *m = NamedRole{} } +func (*NamedRole) ProtoMessage() {} +func (*NamedRole) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func (m *NamedRoleBinding) Reset() { *m = NamedRoleBinding{} } +func (*NamedRoleBinding) ProtoMessage() {} +func (*NamedRoleBinding) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *OptionalNames) Reset() { *m = OptionalNames{} } +func (*OptionalNames) ProtoMessage() {} +func (*OptionalNames) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } + +func (m *OptionalScopes) Reset() { *m = OptionalScopes{} } +func (*OptionalScopes) ProtoMessage() {} +func (*OptionalScopes) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } + +func (m *PolicyRule) Reset() { *m = PolicyRule{} } +func (*PolicyRule) ProtoMessage() {} +func (*PolicyRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } + +func (m *ResourceAccessReview) Reset() { *m = ResourceAccessReview{} } +func (*ResourceAccessReview) ProtoMessage() {} +func (*ResourceAccessReview) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } + +func (m *ResourceAccessReviewResponse) Reset() { *m = ResourceAccessReviewResponse{} } +func (*ResourceAccessReviewResponse) ProtoMessage() {} +func (*ResourceAccessReviewResponse) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{17} +} + +func (m *Role) Reset() { *m = Role{} } +func (*Role) ProtoMessage() {} +func (*Role) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } + +func (m *RoleBinding) Reset() { *m = RoleBinding{} } +func (*RoleBinding) ProtoMessage() {} +func (*RoleBinding) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } + +func (m *RoleBindingList) Reset() { *m = RoleBindingList{} } +func (*RoleBindingList) ProtoMessage() {} +func (*RoleBindingList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } + +func (m *RoleBindingRestriction) Reset() { *m = RoleBindingRestriction{} } +func (*RoleBindingRestriction) ProtoMessage() {} +func (*RoleBindingRestriction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } + +func (m *RoleBindingRestrictionList) Reset() { *m = RoleBindingRestrictionList{} } +func (*RoleBindingRestrictionList) ProtoMessage() {} +func (*RoleBindingRestrictionList) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{22} +} + +func (m *RoleBindingRestrictionSpec) Reset() { *m = RoleBindingRestrictionSpec{} } +func (*RoleBindingRestrictionSpec) ProtoMessage() {} +func (*RoleBindingRestrictionSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{23} +} + +func (m *RoleList) Reset() { *m = RoleList{} } +func (*RoleList) ProtoMessage() {} +func (*RoleList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } + +func (m *SelfSubjectRulesReview) Reset() { *m = SelfSubjectRulesReview{} } +func (*SelfSubjectRulesReview) ProtoMessage() {} +func (*SelfSubjectRulesReview) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } + +func (m *SelfSubjectRulesReviewSpec) Reset() { *m = SelfSubjectRulesReviewSpec{} } +func (*SelfSubjectRulesReviewSpec) ProtoMessage() {} +func (*SelfSubjectRulesReviewSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{26} +} + +func (m *ServiceAccountReference) Reset() { *m = ServiceAccountReference{} } +func (*ServiceAccountReference) ProtoMessage() {} +func (*ServiceAccountReference) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{27} +} + +func (m *ServiceAccountRestriction) Reset() { *m = ServiceAccountRestriction{} } +func (*ServiceAccountRestriction) ProtoMessage() {} +func (*ServiceAccountRestriction) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{28} +} + +func (m *SubjectAccessReview) Reset() { *m = SubjectAccessReview{} } +func (*SubjectAccessReview) ProtoMessage() {} +func (*SubjectAccessReview) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } + +func (m *SubjectAccessReviewResponse) Reset() { *m = SubjectAccessReviewResponse{} } +func (*SubjectAccessReviewResponse) ProtoMessage() {} +func (*SubjectAccessReviewResponse) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{30} +} + +func (m *SubjectRulesReview) Reset() { *m = SubjectRulesReview{} } +func (*SubjectRulesReview) ProtoMessage() {} +func (*SubjectRulesReview) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} } + +func (m *SubjectRulesReviewSpec) Reset() { *m = SubjectRulesReviewSpec{} } +func (*SubjectRulesReviewSpec) ProtoMessage() {} +func (*SubjectRulesReviewSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} } + +func (m *SubjectRulesReviewStatus) Reset() { *m = SubjectRulesReviewStatus{} } +func (*SubjectRulesReviewStatus) ProtoMessage() {} +func (*SubjectRulesReviewStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{33} +} + +func (m *UserRestriction) Reset() { *m = UserRestriction{} } +func (*UserRestriction) ProtoMessage() {} +func (*UserRestriction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{34} } + +func init() { + proto.RegisterType((*Action)(nil), "github.com.openshift.api.authorization.v1.Action") + proto.RegisterType((*ClusterRole)(nil), "github.com.openshift.api.authorization.v1.ClusterRole") + proto.RegisterType((*ClusterRoleBinding)(nil), "github.com.openshift.api.authorization.v1.ClusterRoleBinding") + proto.RegisterType((*ClusterRoleBindingList)(nil), "github.com.openshift.api.authorization.v1.ClusterRoleBindingList") + proto.RegisterType((*ClusterRoleList)(nil), "github.com.openshift.api.authorization.v1.ClusterRoleList") + proto.RegisterType((*GroupRestriction)(nil), "github.com.openshift.api.authorization.v1.GroupRestriction") + proto.RegisterType((*IsPersonalSubjectAccessReview)(nil), "github.com.openshift.api.authorization.v1.IsPersonalSubjectAccessReview") + proto.RegisterType((*LocalResourceAccessReview)(nil), "github.com.openshift.api.authorization.v1.LocalResourceAccessReview") + proto.RegisterType((*LocalSubjectAccessReview)(nil), "github.com.openshift.api.authorization.v1.LocalSubjectAccessReview") + proto.RegisterType((*NamedClusterRole)(nil), "github.com.openshift.api.authorization.v1.NamedClusterRole") + proto.RegisterType((*NamedClusterRoleBinding)(nil), "github.com.openshift.api.authorization.v1.NamedClusterRoleBinding") + proto.RegisterType((*NamedRole)(nil), "github.com.openshift.api.authorization.v1.NamedRole") + proto.RegisterType((*NamedRoleBinding)(nil), "github.com.openshift.api.authorization.v1.NamedRoleBinding") + proto.RegisterType((*OptionalNames)(nil), "github.com.openshift.api.authorization.v1.OptionalNames") + proto.RegisterType((*OptionalScopes)(nil), "github.com.openshift.api.authorization.v1.OptionalScopes") + proto.RegisterType((*PolicyRule)(nil), "github.com.openshift.api.authorization.v1.PolicyRule") + proto.RegisterType((*ResourceAccessReview)(nil), "github.com.openshift.api.authorization.v1.ResourceAccessReview") + proto.RegisterType((*ResourceAccessReviewResponse)(nil), "github.com.openshift.api.authorization.v1.ResourceAccessReviewResponse") + proto.RegisterType((*Role)(nil), "github.com.openshift.api.authorization.v1.Role") + proto.RegisterType((*RoleBinding)(nil), "github.com.openshift.api.authorization.v1.RoleBinding") + proto.RegisterType((*RoleBindingList)(nil), "github.com.openshift.api.authorization.v1.RoleBindingList") + proto.RegisterType((*RoleBindingRestriction)(nil), "github.com.openshift.api.authorization.v1.RoleBindingRestriction") + proto.RegisterType((*RoleBindingRestrictionList)(nil), "github.com.openshift.api.authorization.v1.RoleBindingRestrictionList") + proto.RegisterType((*RoleBindingRestrictionSpec)(nil), "github.com.openshift.api.authorization.v1.RoleBindingRestrictionSpec") + proto.RegisterType((*RoleList)(nil), "github.com.openshift.api.authorization.v1.RoleList") + proto.RegisterType((*SelfSubjectRulesReview)(nil), "github.com.openshift.api.authorization.v1.SelfSubjectRulesReview") + proto.RegisterType((*SelfSubjectRulesReviewSpec)(nil), "github.com.openshift.api.authorization.v1.SelfSubjectRulesReviewSpec") + proto.RegisterType((*ServiceAccountReference)(nil), "github.com.openshift.api.authorization.v1.ServiceAccountReference") + proto.RegisterType((*ServiceAccountRestriction)(nil), "github.com.openshift.api.authorization.v1.ServiceAccountRestriction") + proto.RegisterType((*SubjectAccessReview)(nil), "github.com.openshift.api.authorization.v1.SubjectAccessReview") + proto.RegisterType((*SubjectAccessReviewResponse)(nil), "github.com.openshift.api.authorization.v1.SubjectAccessReviewResponse") + proto.RegisterType((*SubjectRulesReview)(nil), "github.com.openshift.api.authorization.v1.SubjectRulesReview") + proto.RegisterType((*SubjectRulesReviewSpec)(nil), "github.com.openshift.api.authorization.v1.SubjectRulesReviewSpec") + proto.RegisterType((*SubjectRulesReviewStatus)(nil), "github.com.openshift.api.authorization.v1.SubjectRulesReviewStatus") + proto.RegisterType((*UserRestriction)(nil), "github.com.openshift.api.authorization.v1.UserRestriction") +} +func (m *Action) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Action) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace))) + i += copy(dAtA[i:], m.Namespace) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Verb))) + i += copy(dAtA[i:], m.Verb) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Group))) + i += copy(dAtA[i:], m.Group) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Version))) + i += copy(dAtA[i:], m.Version) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Resource))) + i += copy(dAtA[i:], m.Resource) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ResourceName))) + i += copy(dAtA[i:], m.ResourceName) + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Content.Size())) + n1, err := m.Content.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Path))) + i += copy(dAtA[i:], m.Path) + dAtA[i] = 0x48 + i++ + if m.IsNonResourceURL { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *ClusterRole) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterRole) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n2, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + if len(m.Rules) > 0 { + for _, msg := range m.Rules { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.AggregationRule != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AggregationRule.Size())) + n3, err := m.AggregationRule.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + } + return i, nil +} + +func (m *ClusterRoleBinding) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterRoleBinding) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n4, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + if m.UserNames != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.UserNames.Size())) + n5, err := m.UserNames.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + } + if m.GroupNames != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GroupNames.Size())) + n6, err := m.GroupNames.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + } + if len(m.Subjects) > 0 { + for _, msg := range m.Subjects { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.RoleRef.Size())) + n7, err := m.RoleRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + return i, nil +} + +func (m *ClusterRoleBindingList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterRoleBindingList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n8, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ClusterRoleList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterRoleList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n9, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *GroupRestriction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GroupRestriction) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Groups) > 0 { + for _, s := range m.Groups { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Selectors) > 0 { + for _, msg := range m.Selectors { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *IsPersonalSubjectAccessReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *IsPersonalSubjectAccessReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + return i, nil +} + +func (m *LocalResourceAccessReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LocalResourceAccessReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Action.Size())) + n10, err := m.Action.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + return i, nil +} + +func (m *LocalSubjectAccessReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LocalSubjectAccessReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Action.Size())) + n11, err := m.Action.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.User))) + i += copy(dAtA[i:], m.User) + if len(m.GroupsSlice) > 0 { + for _, s := range m.GroupsSlice { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if m.Scopes != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Scopes.Size())) + n12, err := m.Scopes.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + } + return i, nil +} + +func (m *NamedClusterRole) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NamedClusterRole) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Role.Size())) + n13, err := m.Role.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + return i, nil +} + +func (m *NamedClusterRoleBinding) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NamedClusterRoleBinding) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.RoleBinding.Size())) + n14, err := m.RoleBinding.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + return i, nil +} + +func (m *NamedRole) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NamedRole) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Role.Size())) + n15, err := m.Role.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n15 + return i, nil +} + +func (m *NamedRoleBinding) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NamedRoleBinding) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.RoleBinding.Size())) + n16, err := m.RoleBinding.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n16 + return i, nil +} + +func (m OptionalNames) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m OptionalNames) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m OptionalScopes) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m OptionalScopes) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *PolicyRule) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PolicyRule) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Verbs) > 0 { + for _, s := range m.Verbs { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AttributeRestrictions.Size())) + n17, err := m.AttributeRestrictions.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + if len(m.APIGroups) > 0 { + for _, s := range m.APIGroups { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Resources) > 0 { + for _, s := range m.Resources { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.ResourceNames) > 0 { + for _, s := range m.ResourceNames { + dAtA[i] = 0x2a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.NonResourceURLsSlice) > 0 { + for _, s := range m.NonResourceURLsSlice { + dAtA[i] = 0x32 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *ResourceAccessReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ResourceAccessReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Action.Size())) + n18, err := m.Action.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + return i, nil +} + +func (m *ResourceAccessReviewResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ResourceAccessReviewResponse) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace))) + i += copy(dAtA[i:], m.Namespace) + if len(m.UsersSlice) > 0 { + for _, s := range m.UsersSlice { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.GroupsSlice) > 0 { + for _, s := range m.GroupsSlice { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.EvaluationError))) + i += copy(dAtA[i:], m.EvaluationError) + return i, nil +} + +func (m *Role) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Role) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n19, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n19 + if len(m.Rules) > 0 { + for _, msg := range m.Rules { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RoleBinding) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RoleBinding) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n20, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + if m.UserNames != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.UserNames.Size())) + n21, err := m.UserNames.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + } + if m.GroupNames != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GroupNames.Size())) + n22, err := m.GroupNames.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n22 + } + if len(m.Subjects) > 0 { + for _, msg := range m.Subjects { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.RoleRef.Size())) + n23, err := m.RoleRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n23 + return i, nil +} + +func (m *RoleBindingList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RoleBindingList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n24, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n24 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RoleBindingRestriction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RoleBindingRestriction) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n25, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n25 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n26, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n26 + return i, nil +} + +func (m *RoleBindingRestrictionList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RoleBindingRestrictionList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n27, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n27 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RoleBindingRestrictionSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RoleBindingRestrictionSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.UserRestriction != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.UserRestriction.Size())) + n28, err := m.UserRestriction.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n28 + } + if m.GroupRestriction != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GroupRestriction.Size())) + n29, err := m.GroupRestriction.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n29 + } + if m.ServiceAccountRestriction != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ServiceAccountRestriction.Size())) + n30, err := m.ServiceAccountRestriction.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n30 + } + return i, nil +} + +func (m *RoleList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RoleList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n31, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n31 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *SelfSubjectRulesReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SelfSubjectRulesReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n32, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n32 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n33, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n33 + return i, nil +} + +func (m *SelfSubjectRulesReviewSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SelfSubjectRulesReviewSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Scopes != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Scopes.Size())) + n34, err := m.Scopes.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n34 + } + return i, nil +} + +func (m *ServiceAccountReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ServiceAccountReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace))) + i += copy(dAtA[i:], m.Namespace) + return i, nil +} + +func (m *ServiceAccountRestriction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ServiceAccountRestriction) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.ServiceAccounts) > 0 { + for _, msg := range m.ServiceAccounts { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Namespaces) > 0 { + for _, s := range m.Namespaces { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *SubjectAccessReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SubjectAccessReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Action.Size())) + n35, err := m.Action.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n35 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.User))) + i += copy(dAtA[i:], m.User) + if len(m.GroupsSlice) > 0 { + for _, s := range m.GroupsSlice { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if m.Scopes != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Scopes.Size())) + n36, err := m.Scopes.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n36 + } + return i, nil +} + +func (m *SubjectAccessReviewResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SubjectAccessReviewResponse) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace))) + i += copy(dAtA[i:], m.Namespace) + dAtA[i] = 0x10 + i++ + if m.Allowed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.EvaluationError))) + i += copy(dAtA[i:], m.EvaluationError) + return i, nil +} + +func (m *SubjectRulesReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SubjectRulesReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n37, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n37 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n38, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n38 + return i, nil +} + +func (m *SubjectRulesReviewSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SubjectRulesReviewSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.User))) + i += copy(dAtA[i:], m.User) + if len(m.Groups) > 0 { + for _, s := range m.Groups { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if m.Scopes != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Scopes.Size())) + n39, err := m.Scopes.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n39 + } + return i, nil +} + +func (m *SubjectRulesReviewStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SubjectRulesReviewStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Rules) > 0 { + for _, msg := range m.Rules { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.EvaluationError))) + i += copy(dAtA[i:], m.EvaluationError) + return i, nil +} + +func (m *UserRestriction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UserRestriction) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Users) > 0 { + for _, s := range m.Users { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Groups) > 0 { + for _, s := range m.Groups { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Selectors) > 0 { + for _, msg := range m.Selectors { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *Action) Size() (n int) { + var l int + _ = l + l = len(m.Namespace) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Verb) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Version) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Resource) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ResourceName) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Content.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Path) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + return n +} + +func (m *ClusterRole) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Rules) > 0 { + for _, e := range m.Rules { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.AggregationRule != nil { + l = m.AggregationRule.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ClusterRoleBinding) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.UserNames != nil { + l = m.UserNames.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.GroupNames != nil { + l = m.GroupNames.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Subjects) > 0 { + for _, e := range m.Subjects { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.RoleRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ClusterRoleBindingList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ClusterRoleList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *GroupRestriction) Size() (n int) { + var l int + _ = l + if len(m.Groups) > 0 { + for _, s := range m.Groups { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Selectors) > 0 { + for _, e := range m.Selectors { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *IsPersonalSubjectAccessReview) Size() (n int) { + var l int + _ = l + return n +} + +func (m *LocalResourceAccessReview) Size() (n int) { + var l int + _ = l + l = m.Action.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *LocalSubjectAccessReview) Size() (n int) { + var l int + _ = l + l = m.Action.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.User) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.GroupsSlice) > 0 { + for _, s := range m.GroupsSlice { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.Scopes != nil { + l = m.Scopes.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *NamedClusterRole) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Role.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *NamedClusterRoleBinding) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = m.RoleBinding.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *NamedRole) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Role.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *NamedRoleBinding) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = m.RoleBinding.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m OptionalNames) Size() (n int) { + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m OptionalScopes) Size() (n int) { + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *PolicyRule) Size() (n int) { + var l int + _ = l + if len(m.Verbs) > 0 { + for _, s := range m.Verbs { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.AttributeRestrictions.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.APIGroups) > 0 { + for _, s := range m.APIGroups { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Resources) > 0 { + for _, s := range m.Resources { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.ResourceNames) > 0 { + for _, s := range m.ResourceNames { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.NonResourceURLsSlice) > 0 { + for _, s := range m.NonResourceURLsSlice { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ResourceAccessReview) Size() (n int) { + var l int + _ = l + l = m.Action.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ResourceAccessReviewResponse) Size() (n int) { + var l int + _ = l + l = len(m.Namespace) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.UsersSlice) > 0 { + for _, s := range m.UsersSlice { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.GroupsSlice) > 0 { + for _, s := range m.GroupsSlice { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.EvaluationError) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *Role) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Rules) > 0 { + for _, e := range m.Rules { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RoleBinding) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.UserNames != nil { + l = m.UserNames.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.GroupNames != nil { + l = m.GroupNames.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Subjects) > 0 { + for _, e := range m.Subjects { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.RoleRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RoleBindingList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RoleBindingRestriction) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RoleBindingRestrictionList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RoleBindingRestrictionSpec) Size() (n int) { + var l int + _ = l + if m.UserRestriction != nil { + l = m.UserRestriction.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.GroupRestriction != nil { + l = m.GroupRestriction.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.ServiceAccountRestriction != nil { + l = m.ServiceAccountRestriction.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *RoleList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *SelfSubjectRulesReview) Size() (n int) { + var l int + _ = l + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SelfSubjectRulesReviewSpec) Size() (n int) { + var l int + _ = l + if m.Scopes != nil { + l = m.Scopes.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ServiceAccountReference) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Namespace) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ServiceAccountRestriction) Size() (n int) { + var l int + _ = l + if len(m.ServiceAccounts) > 0 { + for _, e := range m.ServiceAccounts { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Namespaces) > 0 { + for _, s := range m.Namespaces { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *SubjectAccessReview) Size() (n int) { + var l int + _ = l + l = m.Action.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.User) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.GroupsSlice) > 0 { + for _, s := range m.GroupsSlice { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.Scopes != nil { + l = m.Scopes.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *SubjectAccessReviewResponse) Size() (n int) { + var l int + _ = l + l = len(m.Namespace) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.EvaluationError) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SubjectRulesReview) Size() (n int) { + var l int + _ = l + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SubjectRulesReviewSpec) Size() (n int) { + var l int + _ = l + l = len(m.User) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Groups) > 0 { + for _, s := range m.Groups { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.Scopes != nil { + l = m.Scopes.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *SubjectRulesReviewStatus) Size() (n int) { + var l int + _ = l + if len(m.Rules) > 0 { + for _, e := range m.Rules { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.EvaluationError) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *UserRestriction) Size() (n int) { + var l int + _ = l + if len(m.Users) > 0 { + for _, s := range m.Users { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Groups) > 0 { + for _, s := range m.Groups { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Selectors) > 0 { + for _, e := range m.Selectors { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *Action) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Action{`, + `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, + `Verb:` + fmt.Sprintf("%v", this.Verb) + `,`, + `Group:` + fmt.Sprintf("%v", this.Group) + `,`, + `Version:` + fmt.Sprintf("%v", this.Version) + `,`, + `Resource:` + fmt.Sprintf("%v", this.Resource) + `,`, + `ResourceName:` + fmt.Sprintf("%v", this.ResourceName) + `,`, + `Content:` + strings.Replace(strings.Replace(this.Content.String(), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `Path:` + fmt.Sprintf("%v", this.Path) + `,`, + `IsNonResourceURL:` + fmt.Sprintf("%v", this.IsNonResourceURL) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterRole) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterRole{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Rules:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Rules), "PolicyRule", "PolicyRule", 1), `&`, ``, 1) + `,`, + `AggregationRule:` + strings.Replace(fmt.Sprintf("%v", this.AggregationRule), "AggregationRule", "k8s_io_api_rbac_v1.AggregationRule", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterRoleBinding) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterRoleBinding{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `UserNames:` + strings.Replace(fmt.Sprintf("%v", this.UserNames), "OptionalNames", "OptionalNames", 1) + `,`, + `GroupNames:` + strings.Replace(fmt.Sprintf("%v", this.GroupNames), "OptionalNames", "OptionalNames", 1) + `,`, + `Subjects:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Subjects), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `RoleRef:` + strings.Replace(strings.Replace(this.RoleRef.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterRoleBindingList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterRoleBindingList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ClusterRoleBinding", "ClusterRoleBinding", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterRoleList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterRoleList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ClusterRole", "ClusterRole", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *GroupRestriction) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GroupRestriction{`, + `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`, + `Selectors:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Selectors), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *IsPersonalSubjectAccessReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&IsPersonalSubjectAccessReview{`, + `}`, + }, "") + return s +} +func (this *LocalResourceAccessReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&LocalResourceAccessReview{`, + `Action:` + strings.Replace(strings.Replace(this.Action.String(), "Action", "Action", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *LocalSubjectAccessReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&LocalSubjectAccessReview{`, + `Action:` + strings.Replace(strings.Replace(this.Action.String(), "Action", "Action", 1), `&`, ``, 1) + `,`, + `User:` + fmt.Sprintf("%v", this.User) + `,`, + `GroupsSlice:` + fmt.Sprintf("%v", this.GroupsSlice) + `,`, + `Scopes:` + strings.Replace(fmt.Sprintf("%v", this.Scopes), "OptionalScopes", "OptionalScopes", 1) + `,`, + `}`, + }, "") + return s +} +func (this *NamedClusterRole) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NamedClusterRole{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Role:` + strings.Replace(strings.Replace(this.Role.String(), "ClusterRole", "ClusterRole", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *NamedClusterRoleBinding) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NamedClusterRoleBinding{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `RoleBinding:` + strings.Replace(strings.Replace(this.RoleBinding.String(), "ClusterRoleBinding", "ClusterRoleBinding", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *NamedRole) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NamedRole{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Role:` + strings.Replace(strings.Replace(this.Role.String(), "Role", "Role", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *NamedRoleBinding) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NamedRoleBinding{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `RoleBinding:` + strings.Replace(strings.Replace(this.RoleBinding.String(), "RoleBinding", "RoleBinding", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *PolicyRule) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PolicyRule{`, + `Verbs:` + fmt.Sprintf("%v", this.Verbs) + `,`, + `AttributeRestrictions:` + strings.Replace(strings.Replace(this.AttributeRestrictions.String(), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `APIGroups:` + fmt.Sprintf("%v", this.APIGroups) + `,`, + `Resources:` + fmt.Sprintf("%v", this.Resources) + `,`, + `ResourceNames:` + fmt.Sprintf("%v", this.ResourceNames) + `,`, + `NonResourceURLsSlice:` + fmt.Sprintf("%v", this.NonResourceURLsSlice) + `,`, + `}`, + }, "") + return s +} +func (this *ResourceAccessReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ResourceAccessReview{`, + `Action:` + strings.Replace(strings.Replace(this.Action.String(), "Action", "Action", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ResourceAccessReviewResponse) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ResourceAccessReviewResponse{`, + `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, + `UsersSlice:` + fmt.Sprintf("%v", this.UsersSlice) + `,`, + `GroupsSlice:` + fmt.Sprintf("%v", this.GroupsSlice) + `,`, + `EvaluationError:` + fmt.Sprintf("%v", this.EvaluationError) + `,`, + `}`, + }, "") + return s +} +func (this *Role) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Role{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Rules:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Rules), "PolicyRule", "PolicyRule", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RoleBinding) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RoleBinding{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `UserNames:` + strings.Replace(fmt.Sprintf("%v", this.UserNames), "OptionalNames", "OptionalNames", 1) + `,`, + `GroupNames:` + strings.Replace(fmt.Sprintf("%v", this.GroupNames), "OptionalNames", "OptionalNames", 1) + `,`, + `Subjects:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Subjects), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `RoleRef:` + strings.Replace(strings.Replace(this.RoleRef.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RoleBindingList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RoleBindingList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RoleBinding", "RoleBinding", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RoleBindingRestriction) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RoleBindingRestriction{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "RoleBindingRestrictionSpec", "RoleBindingRestrictionSpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RoleBindingRestrictionList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RoleBindingRestrictionList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RoleBindingRestriction", "RoleBindingRestriction", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RoleBindingRestrictionSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RoleBindingRestrictionSpec{`, + `UserRestriction:` + strings.Replace(fmt.Sprintf("%v", this.UserRestriction), "UserRestriction", "UserRestriction", 1) + `,`, + `GroupRestriction:` + strings.Replace(fmt.Sprintf("%v", this.GroupRestriction), "GroupRestriction", "GroupRestriction", 1) + `,`, + `ServiceAccountRestriction:` + strings.Replace(fmt.Sprintf("%v", this.ServiceAccountRestriction), "ServiceAccountRestriction", "ServiceAccountRestriction", 1) + `,`, + `}`, + }, "") + return s +} +func (this *RoleList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RoleList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Role", "Role", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *SelfSubjectRulesReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SelfSubjectRulesReview{`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "SelfSubjectRulesReviewSpec", "SelfSubjectRulesReviewSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "SubjectRulesReviewStatus", "SubjectRulesReviewStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *SelfSubjectRulesReviewSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SelfSubjectRulesReviewSpec{`, + `Scopes:` + strings.Replace(fmt.Sprintf("%v", this.Scopes), "OptionalScopes", "OptionalScopes", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ServiceAccountReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ServiceAccountReference{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, + `}`, + }, "") + return s +} +func (this *ServiceAccountRestriction) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ServiceAccountRestriction{`, + `ServiceAccounts:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ServiceAccounts), "ServiceAccountReference", "ServiceAccountReference", 1), `&`, ``, 1) + `,`, + `Namespaces:` + fmt.Sprintf("%v", this.Namespaces) + `,`, + `}`, + }, "") + return s +} +func (this *SubjectAccessReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SubjectAccessReview{`, + `Action:` + strings.Replace(strings.Replace(this.Action.String(), "Action", "Action", 1), `&`, ``, 1) + `,`, + `User:` + fmt.Sprintf("%v", this.User) + `,`, + `GroupsSlice:` + fmt.Sprintf("%v", this.GroupsSlice) + `,`, + `Scopes:` + strings.Replace(fmt.Sprintf("%v", this.Scopes), "OptionalScopes", "OptionalScopes", 1) + `,`, + `}`, + }, "") + return s +} +func (this *SubjectAccessReviewResponse) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SubjectAccessReviewResponse{`, + `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, + `Allowed:` + fmt.Sprintf("%v", this.Allowed) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `EvaluationError:` + fmt.Sprintf("%v", this.EvaluationError) + `,`, + `}`, + }, "") + return s +} +func (this *SubjectRulesReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SubjectRulesReview{`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "SubjectRulesReviewSpec", "SubjectRulesReviewSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "SubjectRulesReviewStatus", "SubjectRulesReviewStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *SubjectRulesReviewSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SubjectRulesReviewSpec{`, + `User:` + fmt.Sprintf("%v", this.User) + `,`, + `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`, + `Scopes:` + strings.Replace(fmt.Sprintf("%v", this.Scopes), "OptionalScopes", "OptionalScopes", 1) + `,`, + `}`, + }, "") + return s +} +func (this *SubjectRulesReviewStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SubjectRulesReviewStatus{`, + `Rules:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Rules), "PolicyRule", "PolicyRule", 1), `&`, ``, 1) + `,`, + `EvaluationError:` + fmt.Sprintf("%v", this.EvaluationError) + `,`, + `}`, + }, "") + return s +} +func (this *UserRestriction) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&UserRestriction{`, + `Users:` + fmt.Sprintf("%v", this.Users) + `,`, + `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`, + `Selectors:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Selectors), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *Action) 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 ErrIntOverflowGenerated + } + 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: Action: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Action: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Verb", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Verb = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Resource = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResourceName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Content.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Path = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsNonResourceURL", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IsNonResourceURL = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterRole) 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 ErrIntOverflowGenerated + } + 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: ClusterRole: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterRole: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Rules = append(m.Rules, PolicyRule{}) + if err := m.Rules[len(m.Rules)-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 AggregationRule", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AggregationRule == nil { + m.AggregationRule = &k8s_io_api_rbac_v1.AggregationRule{} + } + if err := m.AggregationRule.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterRoleBinding) 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 ErrIntOverflowGenerated + } + 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: ClusterRoleBinding: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterRoleBinding: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserNames", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.UserNames == nil { + m.UserNames = OptionalNames{} + } + if err := m.UserNames.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupNames", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GroupNames == nil { + m.GroupNames = OptionalNames{} + } + if err := m.GroupNames.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Subjects", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Subjects = append(m.Subjects, k8s_io_api_core_v1.ObjectReference{}) + if err := m.Subjects[len(m.Subjects)-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 RoleRef", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.RoleRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterRoleBindingList) 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 ErrIntOverflowGenerated + } + 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: ClusterRoleBindingList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterRoleBindingList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, ClusterRoleBinding{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterRoleList) 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 ErrIntOverflowGenerated + } + 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: ClusterRoleList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterRoleList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, ClusterRole{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupRestriction) 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 ErrIntOverflowGenerated + } + 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: GroupRestriction: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupRestriction: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Selectors", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Selectors = append(m.Selectors, k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}) + if err := m.Selectors[len(m.Selectors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *IsPersonalSubjectAccessReview) 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 ErrIntOverflowGenerated + } + 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: IsPersonalSubjectAccessReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IsPersonalSubjectAccessReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *LocalResourceAccessReview) 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 ErrIntOverflowGenerated + } + 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: LocalResourceAccessReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalResourceAccessReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Action.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *LocalSubjectAccessReview) 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 ErrIntOverflowGenerated + } + 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: LocalSubjectAccessReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalSubjectAccessReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Action.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupsSlice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GroupsSlice = append(m.GroupsSlice, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Scopes == nil { + m.Scopes = OptionalScopes{} + } + if err := m.Scopes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NamedClusterRole) 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 ErrIntOverflowGenerated + } + 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: NamedClusterRole: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NamedClusterRole: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Role.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NamedClusterRoleBinding) 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 ErrIntOverflowGenerated + } + 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: NamedClusterRoleBinding: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NamedClusterRoleBinding: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RoleBinding", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.RoleBinding.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NamedRole) 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 ErrIntOverflowGenerated + } + 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: NamedRole: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NamedRole: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Role.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NamedRoleBinding) 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 ErrIntOverflowGenerated + } + 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: NamedRoleBinding: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NamedRoleBinding: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RoleBinding", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.RoleBinding.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OptionalNames) 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 ErrIntOverflowGenerated + } + 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: OptionalNames: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OptionalNames: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + *m = append(*m, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OptionalScopes) 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 ErrIntOverflowGenerated + } + 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: OptionalScopes: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OptionalScopes: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + *m = append(*m, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PolicyRule) 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 ErrIntOverflowGenerated + } + 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: PolicyRule: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PolicyRule: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Verbs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Verbs = append(m.Verbs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AttributeRestrictions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.AttributeRestrictions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field APIGroups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.APIGroups = append(m.APIGroups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Resources = append(m.Resources, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceNames", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ResourceNames = append(m.ResourceNames, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NonResourceURLsSlice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NonResourceURLsSlice = append(m.NonResourceURLsSlice, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ResourceAccessReview) 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 ErrIntOverflowGenerated + } + 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: ResourceAccessReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResourceAccessReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Action.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ResourceAccessReviewResponse) 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 ErrIntOverflowGenerated + } + 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: ResourceAccessReviewResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResourceAccessReviewResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UsersSlice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UsersSlice = append(m.UsersSlice, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupsSlice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GroupsSlice = append(m.GroupsSlice, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EvaluationError", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EvaluationError = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Role) 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 ErrIntOverflowGenerated + } + 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: Role: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Role: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Rules = append(m.Rules, PolicyRule{}) + if err := m.Rules[len(m.Rules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleBinding) 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 ErrIntOverflowGenerated + } + 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: RoleBinding: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleBinding: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserNames", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.UserNames == nil { + m.UserNames = OptionalNames{} + } + if err := m.UserNames.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupNames", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GroupNames == nil { + m.GroupNames = OptionalNames{} + } + if err := m.GroupNames.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Subjects", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Subjects = append(m.Subjects, k8s_io_api_core_v1.ObjectReference{}) + if err := m.Subjects[len(m.Subjects)-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 RoleRef", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.RoleRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleBindingList) 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 ErrIntOverflowGenerated + } + 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: RoleBindingList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleBindingList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, RoleBinding{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleBindingRestriction) 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 ErrIntOverflowGenerated + } + 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: RoleBindingRestriction: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleBindingRestriction: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleBindingRestrictionList) 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 ErrIntOverflowGenerated + } + 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: RoleBindingRestrictionList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleBindingRestrictionList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, RoleBindingRestriction{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleBindingRestrictionSpec) 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 ErrIntOverflowGenerated + } + 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: RoleBindingRestrictionSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleBindingRestrictionSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserRestriction", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.UserRestriction == nil { + m.UserRestriction = &UserRestriction{} + } + if err := m.UserRestriction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupRestriction", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GroupRestriction == nil { + m.GroupRestriction = &GroupRestriction{} + } + if err := m.GroupRestriction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccountRestriction", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ServiceAccountRestriction == nil { + m.ServiceAccountRestriction = &ServiceAccountRestriction{} + } + if err := m.ServiceAccountRestriction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoleList) 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 ErrIntOverflowGenerated + } + 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: RoleList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoleList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Role{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SelfSubjectRulesReview) 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 ErrIntOverflowGenerated + } + 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: SelfSubjectRulesReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SelfSubjectRulesReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SelfSubjectRulesReviewSpec) 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 ErrIntOverflowGenerated + } + 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: SelfSubjectRulesReviewSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SelfSubjectRulesReviewSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Scopes == nil { + m.Scopes = OptionalScopes{} + } + if err := m.Scopes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServiceAccountReference) 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 ErrIntOverflowGenerated + } + 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: ServiceAccountReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServiceAccountReference: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServiceAccountRestriction) 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 ErrIntOverflowGenerated + } + 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: ServiceAccountRestriction: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServiceAccountRestriction: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccounts", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServiceAccounts = append(m.ServiceAccounts, ServiceAccountReference{}) + if err := m.ServiceAccounts[len(m.ServiceAccounts)-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 Namespaces", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespaces = append(m.Namespaces, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SubjectAccessReview) 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 ErrIntOverflowGenerated + } + 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: SubjectAccessReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SubjectAccessReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Action.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupsSlice", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GroupsSlice = append(m.GroupsSlice, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Scopes == nil { + m.Scopes = OptionalScopes{} + } + if err := m.Scopes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SubjectAccessReviewResponse) 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 ErrIntOverflowGenerated + } + 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: SubjectAccessReviewResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SubjectAccessReviewResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Allowed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Allowed = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EvaluationError", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EvaluationError = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SubjectRulesReview) 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 ErrIntOverflowGenerated + } + 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: SubjectRulesReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SubjectRulesReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SubjectRulesReviewSpec) 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 ErrIntOverflowGenerated + } + 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: SubjectRulesReviewSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SubjectRulesReviewSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Scopes == nil { + m.Scopes = OptionalScopes{} + } + if err := m.Scopes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SubjectRulesReviewStatus) 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 ErrIntOverflowGenerated + } + 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: SubjectRulesReviewStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SubjectRulesReviewStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Rules = append(m.Rules, PolicyRule{}) + if err := m.Rules[len(m.Rules)-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 EvaluationError", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EvaluationError = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UserRestriction) 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 ErrIntOverflowGenerated + } + 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: UserRestriction: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UserRestriction: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Users", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Users = append(m.Users, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Selectors", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Selectors = append(m.Selectors, k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}) + if err := m.Selectors[len(m.Selectors)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/authorization/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 1835 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x19, 0x4b, 0x8f, 0x1b, 0x49, + 0x79, 0xca, 0xf6, 0x78, 0xec, 0xcf, 0x99, 0x78, 0xb6, 0x92, 0x4d, 0x3a, 0x81, 0xd8, 0x56, 0x83, + 0x60, 0x56, 0xb0, 0x6d, 0x66, 0x16, 0x42, 0x92, 0x15, 0x5a, 0xd9, 0xd9, 0x51, 0x34, 0x52, 0x48, + 0x66, 0x6b, 0xd8, 0xd5, 0x6a, 0x79, 0x88, 0x76, 0x4f, 0x8d, 0xdd, 0x4c, 0xbb, 0xdb, 0xea, 0xea, + 0x76, 0x08, 0x08, 0x29, 0x20, 0x71, 0xe0, 0x82, 0xf6, 0x02, 0xe2, 0x08, 0xe2, 0x07, 0x20, 0x2e, + 0x48, 0x20, 0xc1, 0x89, 0x43, 0x0e, 0x1c, 0x56, 0xe2, 0xb2, 0x42, 0xc8, 0x10, 0x07, 0x71, 0xe0, + 0xc0, 0x6f, 0x40, 0x55, 0x5d, 0xed, 0x7e, 0xb8, 0xad, 0x71, 0xcf, 0xec, 0x8c, 0x00, 0xe5, 0xe6, + 0xae, 0xef, 0xfd, 0xac, 0xef, 0x2b, 0xc3, 0xed, 0xbe, 0xe9, 0x0d, 0xfc, 0x9e, 0x66, 0x38, 0xc3, + 0xb6, 0x33, 0xa2, 0x36, 0x1b, 0x98, 0x87, 0x5e, 0x5b, 0x1f, 0x99, 0x6d, 0xdd, 0xf7, 0x06, 0x8e, + 0x6b, 0x7e, 0x47, 0xf7, 0x4c, 0xc7, 0x6e, 0x8f, 0xb7, 0xda, 0x7d, 0x6a, 0x53, 0x57, 0xf7, 0xe8, + 0x81, 0x36, 0x72, 0x1d, 0xcf, 0xc1, 0xaf, 0x44, 0xa4, 0xda, 0x8c, 0x54, 0xd3, 0x47, 0xa6, 0x96, + 0x20, 0xd5, 0xc6, 0x5b, 0xd7, 0x5f, 0x8d, 0x49, 0xe9, 0x3b, 0x7d, 0xa7, 0x2d, 0x38, 0xf4, 0xfc, + 0x43, 0xf1, 0x25, 0x3e, 0xc4, 0xaf, 0x80, 0xf3, 0x75, 0xf5, 0xe8, 0x16, 0xd3, 0x4c, 0x47, 0xa8, + 0x61, 0x38, 0x2e, 0xcd, 0x90, 0x9e, 0xc0, 0x71, 0x7b, 0xba, 0x91, 0x85, 0xf3, 0xf9, 0x08, 0x67, + 0xa8, 0x1b, 0x03, 0xd3, 0xa6, 0xee, 0xe3, 0xf6, 0xe8, 0xa8, 0xcf, 0x0f, 0x58, 0x7b, 0x48, 0x3d, + 0x3d, 0x8b, 0xaa, 0xbd, 0x88, 0xca, 0xf5, 0x6d, 0xcf, 0x1c, 0xd2, 0x39, 0x82, 0x9b, 0xc7, 0x11, + 0x30, 0x63, 0x40, 0x87, 0xfa, 0x1c, 0xdd, 0x6b, 0x8b, 0xe8, 0x7c, 0xcf, 0xb4, 0xda, 0xa6, 0xed, + 0x31, 0xcf, 0x4d, 0x13, 0xa9, 0xdf, 0x2f, 0x41, 0xb9, 0x63, 0x70, 0xc7, 0xe2, 0x36, 0x54, 0x6d, + 0x7d, 0x48, 0xd9, 0x48, 0x37, 0xa8, 0x82, 0x5a, 0x68, 0xb3, 0xda, 0x7d, 0xe9, 0xe9, 0xa4, 0xb9, + 0x32, 0x9d, 0x34, 0xab, 0x0f, 0x42, 0x00, 0x89, 0x70, 0x70, 0x0b, 0x4a, 0x63, 0xea, 0xf6, 0x94, + 0x82, 0xc0, 0xbd, 0x20, 0x71, 0x4b, 0xef, 0x50, 0xb7, 0x47, 0x04, 0x04, 0xdf, 0x86, 0x0d, 0x97, + 0x32, 0xc7, 0x77, 0x0d, 0xda, 0xd9, 0xdb, 0xbd, 0xe7, 0x3a, 0xfe, 0x48, 0x29, 0x0a, 0xec, 0x75, + 0x89, 0xbd, 0x2a, 0x0e, 0xc9, 0x1c, 0x1a, 0x7e, 0x03, 0x70, 0xec, 0xec, 0x1d, 0xea, 0x32, 0xd3, + 0xb1, 0x95, 0x92, 0x20, 0xae, 0x4b, 0xe2, 0x35, 0x79, 0x4c, 0x32, 0x50, 0xf1, 0x67, 0xa1, 0x12, + 0x9e, 0x2a, 0xab, 0x82, 0x6c, 0x43, 0x92, 0x55, 0x88, 0x3c, 0x27, 0x33, 0x0c, 0x7c, 0x0b, 0x2e, + 0x84, 0xbf, 0xb9, 0xad, 0x4a, 0x59, 0x50, 0x5c, 0x96, 0x14, 0x17, 0x48, 0x0c, 0x46, 0x12, 0x98, + 0xf8, 0x5d, 0x58, 0x33, 0x1c, 0xdb, 0xa3, 0xb6, 0xa7, 0xac, 0xb5, 0xd0, 0x66, 0x6d, 0xfb, 0x55, + 0x2d, 0x08, 0x84, 0x16, 0x0f, 0x84, 0x36, 0x3a, 0xea, 0x6b, 0x32, 0x80, 0x1a, 0xd1, 0x1f, 0xed, + 0x7c, 0xdb, 0xa3, 0x36, 0xd7, 0x33, 0x32, 0xe6, 0x6e, 0xc0, 0x85, 0x84, 0xec, 0xb8, 0x7f, 0x47, + 0xba, 0x37, 0x50, 0x2a, 0x49, 0xff, 0xee, 0xe9, 0xde, 0x80, 0x08, 0x08, 0x7e, 0x13, 0x36, 0x4c, + 0xf6, 0xc0, 0xb1, 0x43, 0xf5, 0xde, 0x26, 0xf7, 0x95, 0x6a, 0x0b, 0x6d, 0x56, 0xba, 0x8a, 0xc4, + 0xde, 0xd8, 0x4d, 0xc1, 0xc9, 0x1c, 0x85, 0xfa, 0xab, 0x02, 0xd4, 0xee, 0x5a, 0x3e, 0xf3, 0xa8, + 0x4b, 0x1c, 0x8b, 0xe2, 0x6f, 0x42, 0x85, 0x27, 0xf3, 0x81, 0xee, 0xe9, 0x22, 0x0f, 0x6a, 0xdb, + 0x9f, 0x5b, 0x68, 0x12, 0x4f, 0x7d, 0x8d, 0x63, 0x6b, 0xe3, 0x2d, 0xed, 0x61, 0xef, 0x5b, 0xd4, + 0xf0, 0xbe, 0x4c, 0x3d, 0xbd, 0x8b, 0xa5, 0x7c, 0x88, 0xce, 0xc8, 0x8c, 0x2b, 0x7e, 0x0f, 0x56, + 0x5d, 0xdf, 0xa2, 0x4c, 0x29, 0xb4, 0x8a, 0x9b, 0xb5, 0xed, 0x2f, 0x68, 0x4b, 0xd7, 0xbe, 0xb6, + 0xe7, 0x58, 0xa6, 0xf1, 0x98, 0xf8, 0x16, 0x8d, 0x72, 0x88, 0x7f, 0x31, 0x12, 0xb0, 0xc4, 0x3d, + 0xa8, 0xeb, 0xfd, 0xbe, 0x4b, 0xfb, 0x82, 0x84, 0x83, 0x44, 0xca, 0xd5, 0xb6, 0x3f, 0x11, 0x33, + 0x42, 0xe3, 0x35, 0xce, 0xd9, 0x75, 0x92, 0xa8, 0xdd, 0x4b, 0xd3, 0x49, 0xb3, 0x9e, 0x3a, 0x24, + 0x69, 0x86, 0xea, 0xbf, 0x8a, 0x80, 0x63, 0x1e, 0xeb, 0x9a, 0xf6, 0x81, 0x69, 0xf7, 0xcf, 0xc1, + 0x71, 0x14, 0xaa, 0x3e, 0xa3, 0xae, 0x28, 0x47, 0x51, 0x77, 0xb5, 0xed, 0x5b, 0x39, 0x9c, 0xf7, + 0x70, 0xc4, 0x7f, 0xe9, 0x96, 0xa0, 0xef, 0xae, 0xf3, 0xca, 0x7e, 0x3b, 0x64, 0x47, 0x22, 0xce, + 0x78, 0x00, 0xd0, 0xe7, 0x55, 0x18, 0xc8, 0x29, 0x9e, 0x52, 0xce, 0x45, 0x6e, 0xce, 0xbd, 0x19, + 0x3f, 0x12, 0xe3, 0x8d, 0xdf, 0x82, 0x0a, 0xf3, 0x85, 0xa5, 0x4c, 0x29, 0x89, 0x64, 0x48, 0x84, + 0x89, 0xb7, 0xeb, 0xc8, 0x41, 0x84, 0x1e, 0x52, 0x97, 0xda, 0x06, 0x8d, 0x4a, 0x79, 0x5f, 0x12, + 0x93, 0x19, 0x1b, 0xfc, 0x00, 0xd6, 0x5c, 0xc7, 0xa2, 0x84, 0x1e, 0x8a, 0xba, 0x5f, 0x92, 0xe3, + 0xac, 0x0c, 0x49, 0x40, 0x4b, 0x42, 0x26, 0xea, 0x5f, 0x10, 0x5c, 0x99, 0x0f, 0xf6, 0x7d, 0x93, + 0x79, 0xf8, 0x6b, 0x73, 0x01, 0xd7, 0x96, 0x0b, 0x38, 0xa7, 0x16, 0xe1, 0x9e, 0x19, 0x12, 0x9e, + 0xc4, 0x82, 0xdd, 0x83, 0x55, 0xd3, 0xa3, 0xc3, 0xb0, 0x4a, 0xbe, 0x94, 0x23, 0x00, 0xf3, 0xfa, + 0x46, 0xd5, 0xb2, 0xcb, 0x79, 0x92, 0x80, 0xb5, 0xfa, 0x27, 0x04, 0xf5, 0x18, 0xf2, 0x39, 0x58, + 0xf5, 0xd5, 0xa4, 0x55, 0x37, 0x4f, 0x68, 0x55, 0xb6, 0x39, 0x3f, 0x45, 0xb0, 0x11, 0xdc, 0x28, + 0x94, 0x79, 0xae, 0x19, 0x5c, 0x6c, 0x2a, 0x94, 0x45, 0xc6, 0x31, 0x05, 0xb5, 0x8a, 0x9b, 0xd5, + 0x2e, 0x4c, 0x27, 0xcd, 0xb2, 0xc0, 0x62, 0x44, 0x42, 0xf0, 0x37, 0xa0, 0x6c, 0xe9, 0x3d, 0x6a, + 0x85, 0x6a, 0xbd, 0xb6, 0xa4, 0xc5, 0x9c, 0x66, 0x9f, 0x5a, 0xd4, 0xf0, 0x1c, 0x37, 0xba, 0x2e, + 0xc3, 0x13, 0x46, 0x24, 0x57, 0xb5, 0x09, 0x37, 0x76, 0xd9, 0x1e, 0x75, 0x19, 0x2f, 0x0b, 0x99, + 0xb4, 0x1d, 0xc3, 0xa0, 0x8c, 0x11, 0x3a, 0x36, 0xe9, 0x23, 0xd5, 0x82, 0x6b, 0xf7, 0x1d, 0x43, + 0xb7, 0xc2, 0xc6, 0x1c, 0x07, 0xe2, 0x87, 0xe1, 0x25, 0x2d, 0xe3, 0xb1, 0x95, 0xc3, 0x69, 0x01, + 0x61, 0xb7, 0xc4, 0x75, 0x23, 0x65, 0x5d, 0x7c, 0xa9, 0x3f, 0x29, 0x80, 0x22, 0xc4, 0x65, 0xa8, + 0xf2, 0x91, 0x4b, 0xe3, 0x17, 0x19, 0xef, 0x2d, 0xe9, 0x41, 0x81, 0xb7, 0x1e, 0x22, 0x20, 0xf8, + 0xd3, 0xb3, 0x10, 0x15, 0x45, 0x88, 0xea, 0xd3, 0x49, 0xb3, 0x16, 0x84, 0x68, 0xdf, 0x32, 0x0d, + 0x3a, 0x8b, 0xd3, 0xd7, 0xa1, 0xcc, 0x0c, 0x67, 0x44, 0x99, 0x18, 0x05, 0x6a, 0xdb, 0xb7, 0x4f, + 0xd0, 0x95, 0xf6, 0x05, 0x83, 0x20, 0x0d, 0x82, 0xdf, 0x44, 0x32, 0x55, 0x7f, 0x8c, 0x60, 0x83, + 0x37, 0xa6, 0x83, 0xf8, 0x7d, 0xd8, 0x82, 0x12, 0x1f, 0x7a, 0xe4, 0x4c, 0x34, 0x53, 0x5f, 0xcc, + 0x02, 0x02, 0x82, 0xdf, 0x85, 0x12, 0xef, 0x16, 0xb2, 0x23, 0x9f, 0x34, 0xa5, 0x67, 0x9c, 0x45, + 0x0b, 0x12, 0x1c, 0xd5, 0x5f, 0x23, 0xb8, 0x9a, 0x56, 0x28, 0xbc, 0x6e, 0x8e, 0xd7, 0xcb, 0x83, + 0x9a, 0x1b, 0x11, 0x48, 0xf5, 0x4e, 0xd9, 0x47, 0x2e, 0x49, 0x39, 0xb5, 0xd8, 0x21, 0x89, 0x8b, + 0x51, 0x9f, 0x20, 0x10, 0x03, 0xe3, 0xc1, 0x92, 0xde, 0x7b, 0x2b, 0xe1, 0xbd, 0x76, 0x0e, 0xf5, + 0x16, 0xba, 0xed, 0x97, 0x61, 0x1c, 0xf3, 0xf9, 0x6b, 0x98, 0xe5, 0xaf, 0x9b, 0x79, 0x15, 0x5a, + 0xda, 0x51, 0x77, 0x60, 0x3d, 0x71, 0x53, 0xe2, 0x66, 0xd8, 0x1b, 0x83, 0x46, 0x55, 0x4d, 0xf7, + 0xb7, 0x3b, 0x95, 0x9f, 0xfd, 0xbc, 0xb9, 0xf2, 0xe4, 0xaf, 0xad, 0x15, 0xf5, 0x75, 0xb8, 0x98, + 0xcc, 0xe7, 0x3c, 0xc4, 0x3f, 0x2a, 0x02, 0x44, 0x83, 0x14, 0xa7, 0xe4, 0xe3, 0x7a, 0x82, 0x92, + 0x4f, 0xf1, 0x8c, 0x04, 0xe7, 0xf8, 0x07, 0x08, 0x5e, 0xd6, 0x3d, 0xcf, 0x35, 0x7b, 0xbe, 0x47, + 0x63, 0xad, 0x35, 0x9c, 0x41, 0x72, 0x8e, 0xbc, 0x37, 0xa4, 0x67, 0x5e, 0xee, 0x64, 0xf1, 0x24, + 0xd9, 0xa2, 0xf0, 0x67, 0xa0, 0xaa, 0x8f, 0xcc, 0x7b, 0xf1, 0x36, 0x21, 0x26, 0x98, 0x70, 0x65, + 0x60, 0x24, 0x82, 0x73, 0xe4, 0x70, 0x4a, 0x0f, 0x06, 0x0b, 0x89, 0x1c, 0xb6, 0x57, 0x46, 0x22, + 0x38, 0xfe, 0x22, 0xac, 0xc7, 0x47, 0x7a, 0xa6, 0xac, 0x0a, 0x82, 0x97, 0xa6, 0x93, 0xe6, 0x7a, + 0x7c, 0xf2, 0x67, 0x24, 0x89, 0x87, 0xbb, 0x50, 0xb7, 0x13, 0xb3, 0x34, 0x53, 0xca, 0x82, 0x54, + 0x99, 0x4e, 0x9a, 0x97, 0x93, 0x63, 0xb6, 0x6c, 0x64, 0x69, 0x02, 0xb5, 0x0f, 0x97, 0xcf, 0xa7, + 0xe7, 0xff, 0x0d, 0xc1, 0xc7, 0xb3, 0x24, 0x11, 0xca, 0x46, 0x8e, 0xcd, 0x68, 0xfe, 0x05, 0xf0, + 0x93, 0xb0, 0xca, 0xbb, 0x77, 0x70, 0x67, 0x56, 0x83, 0x39, 0x8f, 0x37, 0x75, 0x69, 0x6a, 0x00, + 0x5c, 0xbe, 0xb7, 0xbf, 0x01, 0x17, 0xe9, 0x58, 0xb7, 0x7c, 0xae, 0xed, 0x8e, 0xeb, 0x3a, 0xae, + 0x5c, 0xf7, 0xae, 0x4a, 0x25, 0xea, 0x3b, 0x1c, 0xaa, 0xcf, 0xc0, 0x24, 0x85, 0xae, 0xfe, 0x11, + 0x41, 0xe9, 0x7f, 0x7f, 0x83, 0x51, 0x9f, 0x17, 0xa1, 0xf6, 0x62, 0xad, 0xf8, 0x7f, 0x5f, 0x2b, + 0xf8, 0xe4, 0x7d, 0xbe, 0xfb, 0xc4, 0x29, 0x26, 0xef, 0xe3, 0x17, 0x89, 0xe7, 0x08, 0xae, 0xc4, + 0x2f, 0xba, 0xd8, 0xfc, 0x7d, 0xf6, 0xf9, 0xdb, 0x87, 0x12, 0x1b, 0x51, 0x43, 0xa6, 0xee, 0xce, + 0xc9, 0x0c, 0x8b, 0xa9, 0xbc, 0x3f, 0xa2, 0x46, 0x34, 0x20, 0xf0, 0x2f, 0x22, 0x04, 0xa8, 0x53, + 0x04, 0xd7, 0xb3, 0x49, 0xce, 0x21, 0x7e, 0x87, 0xc9, 0xf8, 0x75, 0x4e, 0x6d, 0xe6, 0x82, 0x50, + 0xfe, 0xae, 0xb8, 0xc8, 0x48, 0xee, 0x09, 0xfc, 0x18, 0xea, 0xbc, 0xa4, 0xdd, 0xe8, 0x58, 0xda, + 0x7a, 0x27, 0x87, 0x42, 0x62, 0xf6, 0x8f, 0x69, 0x22, 0xde, 0x5d, 0x52, 0x87, 0x24, 0x2d, 0x07, + 0x7f, 0x0f, 0x36, 0x44, 0x91, 0xc7, 0x65, 0x07, 0x31, 0x7f, 0x3d, 0x87, 0xec, 0xf4, 0x82, 0xd8, + 0xbd, 0x3c, 0x9d, 0x34, 0xe7, 0xd6, 0x46, 0x32, 0x27, 0x0a, 0xff, 0x02, 0xc1, 0x35, 0x46, 0xdd, + 0xb1, 0x69, 0x50, 0xdd, 0x30, 0x1c, 0xdf, 0xf6, 0xe2, 0x8a, 0x04, 0xfd, 0xec, 0xcd, 0x1c, 0x8a, + 0xec, 0x07, 0xbc, 0x3a, 0x01, 0xaf, 0xb8, 0x46, 0x37, 0xa6, 0x93, 0xe6, 0xb5, 0x85, 0x60, 0xb2, + 0x58, 0x0b, 0xf5, 0x0f, 0x08, 0x2a, 0xe7, 0xb4, 0xc9, 0x7f, 0x25, 0x99, 0x8f, 0xb9, 0x07, 0xf7, + 0xec, 0xec, 0xfb, 0x37, 0x82, 0x2b, 0xfb, 0xd4, 0x3a, 0x94, 0x2d, 0x38, 0xb8, 0x19, 0x83, 0x91, + 0x28, 0x2c, 0x73, 0x94, 0xbb, 0xcc, 0xb3, 0x19, 0x2e, 0x2a, 0x73, 0x7c, 0x04, 0x65, 0xe6, 0xe9, + 0x9e, 0x1f, 0x5e, 0x86, 0x77, 0xf3, 0x88, 0x9a, 0x17, 0x23, 0x58, 0x75, 0x2f, 0x4a, 0x41, 0xe5, + 0xe0, 0x9b, 0x48, 0x11, 0xea, 0x77, 0xe1, 0xfa, 0x62, 0xf5, 0x62, 0x0b, 0x2f, 0x3a, 0x8b, 0x85, + 0xd7, 0x82, 0xab, 0xe9, 0x34, 0x93, 0x57, 0xd7, 0x12, 0xeb, 0x52, 0x62, 0x60, 0x2c, 0x1c, 0x3f, + 0x30, 0xaa, 0x7f, 0x46, 0xb0, 0x38, 0xab, 0xf1, 0x0f, 0x11, 0xd4, 0x93, 0x89, 0x1d, 0x6c, 0x24, + 0xb5, 0xed, 0xee, 0x29, 0x8a, 0x2a, 0xbc, 0x89, 0x67, 0x53, 0x64, 0x12, 0x81, 0x91, 0xb4, 0x4c, + 0xac, 0x01, 0xcc, 0x54, 0x4e, 0xcc, 0xb6, 0x33, 0x9b, 0x18, 0x89, 0x61, 0xa8, 0xef, 0x17, 0xe0, + 0xd2, 0x8b, 0x77, 0x94, 0x44, 0x5a, 0xfd, 0x03, 0xc1, 0xc7, 0x32, 0x5c, 0x72, 0xf2, 0x55, 0xe3, + 0x15, 0x58, 0xd3, 0x2d, 0xcb, 0x79, 0x44, 0x0f, 0x84, 0xf5, 0x95, 0x68, 0xb0, 0xea, 0x04, 0xc7, + 0x24, 0x84, 0xe3, 0x4f, 0x41, 0xd9, 0xa5, 0x3a, 0x93, 0x1d, 0xb9, 0x1a, 0xd5, 0x1d, 0x11, 0xa7, + 0x44, 0x42, 0x71, 0x07, 0xea, 0x34, 0xb9, 0x50, 0x1c, 0xb7, 0x6f, 0xa4, 0xf1, 0xd5, 0x7f, 0x22, + 0xc0, 0x19, 0x7d, 0xca, 0x48, 0xf4, 0xa9, 0xce, 0xe9, 0x9a, 0xc7, 0x7f, 0x45, 0x8f, 0xfa, 0x3d, + 0x6f, 0xca, 0xd9, 0x0d, 0x2a, 0x4c, 0x4a, 0xb4, 0x30, 0x29, 0xa3, 0xf7, 0xd7, 0xc2, 0xc2, 0xf7, + 0xd7, 0x28, 0x1f, 0x8b, 0x67, 0x91, 0x8f, 0xbf, 0x45, 0xa0, 0x2c, 0x32, 0x3a, 0xda, 0xe5, 0xd0, + 0x47, 0xff, 0x6f, 0x54, 0x46, 0x92, 0x15, 0x72, 0x26, 0xd9, 0x6f, 0x10, 0xa4, 0x27, 0x23, 0xdc, + 0x0c, 0x37, 0xef, 0xd8, 0x8b, 0x8d, 0xd8, 0xbc, 0xc3, 0xa5, 0x7b, 0x19, 0x9f, 0x47, 0x6f, 0xde, + 0xc5, 0xb3, 0x78, 0xf3, 0xee, 0x6e, 0x3e, 0x7d, 0xd6, 0x58, 0xf9, 0xe0, 0x59, 0x63, 0xe5, 0xc3, + 0x67, 0x8d, 0x95, 0x27, 0xd3, 0x06, 0x7a, 0x3a, 0x6d, 0xa0, 0x0f, 0xa6, 0x0d, 0xf4, 0xe1, 0xb4, + 0x81, 0xfe, 0x3e, 0x6d, 0xa0, 0xf7, 0x9f, 0x37, 0x56, 0xde, 0x2b, 0x8c, 0xb7, 0xfe, 0x13, 0x00, + 0x00, 0xff, 0xff, 0xf9, 0xd9, 0xfd, 0x26, 0x37, 0x20, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/authorization/v1/generated.proto b/vendor/github.com/openshift/api/authorization/v1/generated.proto new file mode 100644 index 000000000..2030ea490 --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/generated.proto @@ -0,0 +1,476 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.authorization.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/api/rbac/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// Action describes a request to the API server +message Action { + // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces + optional string namespace = 1; + + // Verb is one of: get, list, watch, create, update, delete + optional string verb = 2; + + // Group is the API group of the resource + // Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined + optional string resourceAPIGroup = 3; + + // Version is the API version of the resource + // Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined + optional string resourceAPIVersion = 4; + + // Resource is one of the existing resource types + optional string resource = 5; + + // ResourceName is the name of the resource being requested for a "get" or deleted for a "delete" + optional string resourceName = 6; + + // Path is the path of a non resource URL + optional string path = 8; + + // IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hieraarchy) + optional bool isNonResourceURL = 9; + + // Content is the actual content of the request for create and update + optional k8s.io.apimachinery.pkg.runtime.RawExtension content = 7; +} + +// ClusterRole is a logical grouping of PolicyRules that can be referenced as a unit by ClusterRoleBindings. +message ClusterRole { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Rules holds all the PolicyRules for this ClusterRole + repeated PolicyRule rules = 2; + + // AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. + // If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be + // stomped by the controller. + optional k8s.io.api.rbac.v1.AggregationRule aggregationRule = 3; +} + +// ClusterRoleBinding references a ClusterRole, but not contain it. It can reference any ClusterRole in the same namespace or in the global namespace. +// It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. +// ClusterRoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces). +message ClusterRoleBinding { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // UserNames holds all the usernames directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + optional OptionalNames userNames = 2; + + // GroupNames holds all the groups directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + optional OptionalNames groupNames = 3; + + // Subjects hold object references to authorize with this rule. + // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. + // Thus newer clients that do not need to support backwards compatibility should send + // only fully qualified Subjects and should omit the UserNames and GroupNames fields. + // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. + repeated k8s.io.api.core.v1.ObjectReference subjects = 4; + + // RoleRef can only reference the current namespace and the global namespace. + // If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. + // Since Policy is a singleton, this is sufficient knowledge to locate a role. + optional k8s.io.api.core.v1.ObjectReference roleRef = 5; +} + +// ClusterRoleBindingList is a collection of ClusterRoleBindings +message ClusterRoleBindingList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of ClusterRoleBindings + repeated ClusterRoleBinding items = 2; +} + +// ClusterRoleList is a collection of ClusterRoles +message ClusterRoleList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of ClusterRoles + repeated ClusterRole items = 2; +} + +// GroupRestriction matches a group either by a string match on the group name +// or a label selector applied to group labels. +message GroupRestriction { + // Groups is a list of groups used to match against an individual user's + // groups. If the user is a member of one of the whitelisted groups, the user + // is allowed to be bound to a role. + repeated string groups = 1; + + // Selectors specifies a list of label selectors over group labels. + repeated k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector labels = 2; +} + +// IsPersonalSubjectAccessReview is a marker for PolicyRule.AttributeRestrictions that denotes that subjectaccessreviews on self should be allowed +message IsPersonalSubjectAccessReview { +} + +// LocalResourceAccessReview is a means to request a list of which users and groups are authorized to perform the action specified by spec in a particular namespace +message LocalResourceAccessReview { + // Action describes the action being tested. The Namespace element is FORCED to the current namespace. + optional Action Action = 1; +} + +// LocalSubjectAccessReview is an object for requesting information about whether a user or group can perform an action in a particular namespace +message LocalSubjectAccessReview { + // Action describes the action being tested. The Namespace element is FORCED to the current namespace. + optional Action Action = 1; + + // User is optional. If both User and Groups are empty, the current authenticated user is used. + optional string user = 2; + + // Groups is optional. Groups is the list of groups to which the User belongs. + // +k8s:conversion-gen=false + repeated string groups = 3; + + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // Nil for a self-SAR, means "use the scopes on this request". + // Nil for a regular SAR, means the same as empty. + // +k8s:conversion-gen=false + optional OptionalScopes scopes = 4; +} + +// NamedClusterRole relates a name with a cluster role +message NamedClusterRole { + // Name is the name of the cluster role + optional string name = 1; + + // Role is the cluster role being named + optional ClusterRole role = 2; +} + +// NamedClusterRoleBinding relates a name with a cluster role binding +message NamedClusterRoleBinding { + // Name is the name of the cluster role binding + optional string name = 1; + + // RoleBinding is the cluster role binding being named + optional ClusterRoleBinding roleBinding = 2; +} + +// NamedRole relates a Role with a name +message NamedRole { + // Name is the name of the role + optional string name = 1; + + // Role is the role being named + optional Role role = 2; +} + +// NamedRoleBinding relates a role binding with a name +message NamedRoleBinding { + // Name is the name of the role binding + optional string name = 1; + + // RoleBinding is the role binding being named + optional RoleBinding roleBinding = 2; +} + +// OptionalNames is an array that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +message OptionalNames { + // items, if empty, will result in an empty slice + + repeated string items = 1; +} + +// OptionalScopes is an array that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +message OptionalScopes { + // items, if empty, will result in an empty slice + + repeated string items = 1; +} + +// PolicyRule holds information that describes a policy rule, but does not contain information +// about who the rule applies to or which namespace the rule applies to. +message PolicyRule { + // Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds. + repeated string verbs = 1; + + // AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. + // If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error. + optional k8s.io.apimachinery.pkg.runtime.RawExtension attributeRestrictions = 2; + + // APIGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. + // That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request + // will be allowed + repeated string apiGroups = 3; + + // Resources is a list of resources this rule applies to. ResourceAll represents all resources. + repeated string resources = 4; + + // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. + repeated string resourceNames = 5; + + // NonResourceURLsSlice is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path + // This name is intentionally different than the internal type so that the DefaultConvert works nicely and because the ordering may be different. + repeated string nonResourceURLs = 6; +} + +// ResourceAccessReview is a means to request a list of which users and groups are authorized to perform the +// action specified by spec +message ResourceAccessReview { + // Action describes the action being tested. + optional Action Action = 1; +} + +// ResourceAccessReviewResponse describes who can perform the action +message ResourceAccessReviewResponse { + // Namespace is the namespace used for the access review + optional string namespace = 1; + + // UsersSlice is the list of users who can perform the action + // +k8s:conversion-gen=false + repeated string users = 2; + + // GroupsSlice is the list of groups who can perform the action + // +k8s:conversion-gen=false + repeated string groups = 3; + + // EvaluationError is an indication that some error occurred during resolution, but partial results can still be returned. + // It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is + // most common when a bound role is missing, but enough roles are still present and bound to reason about the request. + optional string evalutionError = 4; +} + +// Role is a logical grouping of PolicyRules that can be referenced as a unit by RoleBindings. +message Role { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Rules holds all the PolicyRules for this Role + repeated PolicyRule rules = 2; +} + +// RoleBinding references a Role, but not contain it. It can reference any Role in the same namespace or in the global namespace. +// It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. +// RoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces). +message RoleBinding { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // UserNames holds all the usernames directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + optional OptionalNames userNames = 2; + + // GroupNames holds all the groups directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + optional OptionalNames groupNames = 3; + + // Subjects hold object references to authorize with this rule. + // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. + // Thus newer clients that do not need to support backwards compatibility should send + // only fully qualified Subjects and should omit the UserNames and GroupNames fields. + // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. + repeated k8s.io.api.core.v1.ObjectReference subjects = 4; + + // RoleRef can only reference the current namespace and the global namespace. + // If the RoleRef cannot be resolved, the Authorizer must return an error. + // Since Policy is a singleton, this is sufficient knowledge to locate a role. + optional k8s.io.api.core.v1.ObjectReference roleRef = 5; +} + +// RoleBindingList is a collection of RoleBindings +message RoleBindingList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of RoleBindings + repeated RoleBinding items = 2; +} + +// RoleBindingRestriction is an object that can be matched against a subject +// (user, group, or service account) to determine whether rolebindings on that +// subject are allowed in the namespace to which the RoleBindingRestriction +// belongs. If any one of those RoleBindingRestriction objects matches +// a subject, rolebindings on that subject in the namespace are allowed. +message RoleBindingRestriction { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec defines the matcher. + optional RoleBindingRestrictionSpec spec = 2; +} + +// RoleBindingRestrictionList is a collection of RoleBindingRestriction objects. +message RoleBindingRestrictionList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of RoleBindingRestriction objects. + repeated RoleBindingRestriction items = 2; +} + +// RoleBindingRestrictionSpec defines a rolebinding restriction. Exactly one +// field must be non-nil. +message RoleBindingRestrictionSpec { + // UserRestriction matches against user subjects. + optional UserRestriction userrestriction = 1; + + // GroupRestriction matches against group subjects. + optional GroupRestriction grouprestriction = 2; + + // ServiceAccountRestriction matches against service-account subjects. + optional ServiceAccountRestriction serviceaccountrestriction = 3; +} + +// RoleList is a collection of Roles +message RoleList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of Roles + repeated Role items = 2; +} + +// SelfSubjectRulesReview is a resource you can create to determine which actions you can perform in a namespace +message SelfSubjectRulesReview { + // Spec adds information about how to conduct the check + optional SelfSubjectRulesReviewSpec spec = 1; + + // Status is completed by the server to tell which permissions you have + optional SubjectRulesReviewStatus status = 2; +} + +// SelfSubjectRulesReviewSpec adds information about how to conduct the check +message SelfSubjectRulesReviewSpec { + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // Nil means "use the scopes on this request". + // +k8s:conversion-gen=false + optional OptionalScopes scopes = 1; +} + +// ServiceAccountReference specifies a service account and namespace by their +// names. +message ServiceAccountReference { + // Name is the name of the service account. + optional string name = 1; + + // Namespace is the namespace of the service account. Service accounts from + // inside the whitelisted namespaces are allowed to be bound to roles. If + // Namespace is empty, then the namespace of the RoleBindingRestriction in + // which the ServiceAccountReference is embedded is used. + optional string namespace = 2; +} + +// ServiceAccountRestriction matches a service account by a string match on +// either the service-account name or the name of the service account's +// namespace. +message ServiceAccountRestriction { + // ServiceAccounts specifies a list of literal service-account names. + repeated ServiceAccountReference serviceaccounts = 1; + + // Namespaces specifies a list of literal namespace names. + repeated string namespaces = 2; +} + +// SubjectAccessReview is an object for requesting information about whether a user or group can perform an action +message SubjectAccessReview { + // Action describes the action being tested. + optional Action Action = 1; + + // User is optional. If both User and Groups are empty, the current authenticated user is used. + optional string user = 2; + + // GroupsSlice is optional. Groups is the list of groups to which the User belongs. + // +k8s:conversion-gen=false + repeated string groups = 3; + + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // Nil for a self-SAR, means "use the scopes on this request". + // Nil for a regular SAR, means the same as empty. + // +k8s:conversion-gen=false + optional OptionalScopes scopes = 4; +} + +// SubjectAccessReviewResponse describes whether or not a user or group can perform an action +message SubjectAccessReviewResponse { + // Namespace is the namespace used for the access review + optional string namespace = 1; + + // Allowed is required. True if the action would be allowed, false otherwise. + optional bool allowed = 2; + + // Reason is optional. It indicates why a request was allowed or denied. + optional string reason = 3; + + // EvaluationError is an indication that some error occurred during the authorization check. + // It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is + // most common when a bound role is missing, but enough roles are still present and bound to reason about the request. + optional string evaluationError = 4; +} + +// SubjectRulesReview is a resource you can create to determine which actions another user can perform in a namespace +message SubjectRulesReview { + // Spec adds information about how to conduct the check + optional SubjectRulesReviewSpec spec = 1; + + // Status is completed by the server to tell which permissions you have + optional SubjectRulesReviewStatus status = 2; +} + +// SubjectRulesReviewSpec adds information about how to conduct the check +message SubjectRulesReviewSpec { + // User is optional. At least one of User and Groups must be specified. + optional string user = 1; + + // Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified. + repeated string groups = 2; + + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + optional OptionalScopes scopes = 3; +} + +// SubjectRulesReviewStatus is contains the result of a rules check +message SubjectRulesReviewStatus { + // Rules is the list of rules (no particular sort) that are allowed for the subject + repeated PolicyRule rules = 1; + + // EvaluationError can appear in combination with Rules. It means some error happened during evaluation + // that may have prevented additional rules from being populated. + optional string evaluationError = 2; +} + +// UserRestriction matches a user either by a string match on the user name, +// a string match on the name of a group to which the user belongs, or a label +// selector applied to the user labels. +message UserRestriction { + // Users specifies a list of literal user names. + repeated string users = 1; + + // Groups specifies a list of literal group names. + repeated string groups = 2; + + // Selectors specifies a list of label selectors over user labels. + repeated k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector labels = 3; +} + diff --git a/vendor/github.com/openshift/api/authorization/v1/legacy.go b/vendor/github.com/openshift/api/authorization/v1/legacy.go new file mode 100644 index 000000000..f437a242e --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/legacy.go @@ -0,0 +1,43 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme, rbacv1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &Role{}, + &RoleBinding{}, + &RoleBindingList{}, + &RoleList{}, + + &SelfSubjectRulesReview{}, + &SubjectRulesReview{}, + &ResourceAccessReview{}, + &SubjectAccessReview{}, + &LocalResourceAccessReview{}, + &LocalSubjectAccessReview{}, + &ResourceAccessReviewResponse{}, + &SubjectAccessReviewResponse{}, + &IsPersonalSubjectAccessReview{}, + + &ClusterRole{}, + &ClusterRoleBinding{}, + &ClusterRoleBindingList{}, + &ClusterRoleList{}, + + &RoleBindingRestriction{}, + &RoleBindingRestrictionList{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/authorization/v1/register.go b/vendor/github.com/openshift/api/authorization/v1/register.go new file mode 100644 index 000000000..f1e12477b --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/register.go @@ -0,0 +1,60 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "authorization.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme, rbacv1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &Role{}, + &RoleBinding{}, + &RoleBindingList{}, + &RoleList{}, + + &SelfSubjectRulesReview{}, + &SubjectRulesReview{}, + &ResourceAccessReview{}, + &SubjectAccessReview{}, + &LocalResourceAccessReview{}, + &LocalSubjectAccessReview{}, + &ResourceAccessReviewResponse{}, + &SubjectAccessReviewResponse{}, + &IsPersonalSubjectAccessReview{}, + + &ClusterRole{}, + &ClusterRoleBinding{}, + &ClusterRoleBindingList{}, + &ClusterRoleList{}, + + &RoleBindingRestriction{}, + &RoleBindingRestrictionList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/authorization/v1/types.go b/vendor/github.com/openshift/api/authorization/v1/types.go new file mode 100644 index 000000000..df165f6cd --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/types.go @@ -0,0 +1,533 @@ +package v1 + +import ( + "fmt" + + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + kruntime "k8s.io/apimachinery/pkg/runtime" +) + +// Authorization is calculated against +// 1. all deny RoleBinding PolicyRules in the master namespace - short circuit on match +// 2. all allow RoleBinding PolicyRules in the master namespace - short circuit on match +// 3. all deny RoleBinding PolicyRules in the namespace - short circuit on match +// 4. all allow RoleBinding PolicyRules in the namespace - short circuit on match +// 5. deny by default + +// PolicyRule holds information that describes a policy rule, but does not contain information +// about who the rule applies to or which namespace the rule applies to. +type PolicyRule struct { + // Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds. + Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"` + // AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. + // If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error. + AttributeRestrictions kruntime.RawExtension `json:"attributeRestrictions,omitempty" protobuf:"bytes,2,opt,name=attributeRestrictions"` + // APIGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. + // That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request + // will be allowed + APIGroups []string `json:"apiGroups" protobuf:"bytes,3,rep,name=apiGroups"` + // Resources is a list of resources this rule applies to. ResourceAll represents all resources. + Resources []string `json:"resources" protobuf:"bytes,4,rep,name=resources"` + // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. + ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,5,rep,name=resourceNames"` + // NonResourceURLsSlice is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path + // This name is intentionally different than the internal type so that the DefaultConvert works nicely and because the ordering may be different. + NonResourceURLsSlice []string `json:"nonResourceURLs,omitempty" protobuf:"bytes,6,rep,name=nonResourceURLs"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// IsPersonalSubjectAccessReview is a marker for PolicyRule.AttributeRestrictions that denotes that subjectaccessreviews on self should be allowed +type IsPersonalSubjectAccessReview struct { + metav1.TypeMeta `json:",inline"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Role is a logical grouping of PolicyRules that can be referenced as a unit by RoleBindings. +type Role struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Rules holds all the PolicyRules for this Role + Rules []PolicyRule `json:"rules" protobuf:"bytes,2,rep,name=rules"` +} + +// OptionalNames is an array that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type OptionalNames []string + +func (t OptionalNames) String() string { + return fmt.Sprintf("%v", []string(t)) +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RoleBinding references a Role, but not contain it. It can reference any Role in the same namespace or in the global namespace. +// It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. +// RoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces). +type RoleBinding struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // UserNames holds all the usernames directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + UserNames OptionalNames `json:"userNames" protobuf:"bytes,2,rep,name=userNames"` + // GroupNames holds all the groups directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + GroupNames OptionalNames `json:"groupNames" protobuf:"bytes,3,rep,name=groupNames"` + // Subjects hold object references to authorize with this rule. + // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. + // Thus newer clients that do not need to support backwards compatibility should send + // only fully qualified Subjects and should omit the UserNames and GroupNames fields. + // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. + Subjects []corev1.ObjectReference `json:"subjects" protobuf:"bytes,4,rep,name=subjects"` + + // RoleRef can only reference the current namespace and the global namespace. + // If the RoleRef cannot be resolved, the Authorizer must return an error. + // Since Policy is a singleton, this is sufficient knowledge to locate a role. + RoleRef corev1.ObjectReference `json:"roleRef" protobuf:"bytes,5,opt,name=roleRef"` +} + +// NamedRole relates a Role with a name +type NamedRole struct { + // Name is the name of the role + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // Role is the role being named + Role Role `json:"role" protobuf:"bytes,2,opt,name=role"` +} + +// NamedRoleBinding relates a role binding with a name +type NamedRoleBinding struct { + // Name is the name of the role binding + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // RoleBinding is the role binding being named + RoleBinding RoleBinding `json:"roleBinding" protobuf:"bytes,2,opt,name=roleBinding"` +} + +// +genclient +// +genclient:onlyVerbs=create +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SelfSubjectRulesReview is a resource you can create to determine which actions you can perform in a namespace +type SelfSubjectRulesReview struct { + metav1.TypeMeta `json:",inline"` + + // Spec adds information about how to conduct the check + Spec SelfSubjectRulesReviewSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"` + + // Status is completed by the server to tell which permissions you have + Status SubjectRulesReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` +} + +// SelfSubjectRulesReviewSpec adds information about how to conduct the check +type SelfSubjectRulesReviewSpec struct { + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // Nil means "use the scopes on this request". + // +k8s:conversion-gen=false + Scopes OptionalScopes `json:"scopes" protobuf:"bytes,1,rep,name=scopes"` +} + +// +genclient +// +genclient:onlyVerbs=create +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SubjectRulesReview is a resource you can create to determine which actions another user can perform in a namespace +type SubjectRulesReview struct { + metav1.TypeMeta `json:",inline"` + + // Spec adds information about how to conduct the check + Spec SubjectRulesReviewSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"` + + // Status is completed by the server to tell which permissions you have + Status SubjectRulesReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` +} + +// SubjectRulesReviewSpec adds information about how to conduct the check +type SubjectRulesReviewSpec struct { + // User is optional. At least one of User and Groups must be specified. + User string `json:"user" protobuf:"bytes,1,opt,name=user"` + // Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified. + Groups []string `json:"groups" protobuf:"bytes,2,rep,name=groups"` + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + Scopes OptionalScopes `json:"scopes" protobuf:"bytes,3,opt,name=scopes"` +} + +// SubjectRulesReviewStatus is contains the result of a rules check +type SubjectRulesReviewStatus struct { + // Rules is the list of rules (no particular sort) that are allowed for the subject + Rules []PolicyRule `json:"rules" protobuf:"bytes,1,rep,name=rules"` + // EvaluationError can appear in combination with Rules. It means some error happened during evaluation + // that may have prevented additional rules from being populated. + EvaluationError string `json:"evaluationError,omitempty" protobuf:"bytes,2,opt,name=evaluationError"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ResourceAccessReviewResponse describes who can perform the action +type ResourceAccessReviewResponse struct { + metav1.TypeMeta `json:",inline"` + + // Namespace is the namespace used for the access review + Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"` + // UsersSlice is the list of users who can perform the action + // +k8s:conversion-gen=false + UsersSlice []string `json:"users" protobuf:"bytes,2,rep,name=users"` + // GroupsSlice is the list of groups who can perform the action + // +k8s:conversion-gen=false + GroupsSlice []string `json:"groups" protobuf:"bytes,3,rep,name=groups"` + + // EvaluationError is an indication that some error occurred during resolution, but partial results can still be returned. + // It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is + // most common when a bound role is missing, but enough roles are still present and bound to reason about the request. + EvaluationError string `json:"evalutionError" protobuf:"bytes,4,opt,name=evalutionError"` +} + +// +genclient +// +genclient:nonNamespaced +// +genclient:skipVerbs=get,list,create,update,patch,delete,deleteCollection,watch +// +genclient:method=Create,verb=create,result=ResourceAccessReviewResponse +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ResourceAccessReview is a means to request a list of which users and groups are authorized to perform the +// action specified by spec +type ResourceAccessReview struct { + metav1.TypeMeta `json:",inline"` + + // Action describes the action being tested. + Action `json:",inline" protobuf:"bytes,1,opt,name=Action"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SubjectAccessReviewResponse describes whether or not a user or group can perform an action +type SubjectAccessReviewResponse struct { + metav1.TypeMeta `json:",inline"` + + // Namespace is the namespace used for the access review + Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"` + // Allowed is required. True if the action would be allowed, false otherwise. + Allowed bool `json:"allowed" protobuf:"varint,2,opt,name=allowed"` + // Reason is optional. It indicates why a request was allowed or denied. + Reason string `json:"reason,omitempty" protobuf:"bytes,3,opt,name=reason"` + // EvaluationError is an indication that some error occurred during the authorization check. + // It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is + // most common when a bound role is missing, but enough roles are still present and bound to reason about the request. + EvaluationError string `json:"evaluationError,omitempty" protobuf:"bytes,4,opt,name=evaluationError"` +} + +// OptionalScopes is an array that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type OptionalScopes []string + +func (t OptionalScopes) String() string { + return fmt.Sprintf("%v", []string(t)) +} + +// +genclient +// +genclient:nonNamespaced +// +genclient:skipVerbs=get,list,create,update,patch,delete,deleteCollection,watch +// +genclient:method=Create,verb=create,result=SubjectAccessReviewResponse +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SubjectAccessReview is an object for requesting information about whether a user or group can perform an action +type SubjectAccessReview struct { + metav1.TypeMeta `json:",inline"` + + // Action describes the action being tested. + Action `json:",inline" protobuf:"bytes,1,opt,name=Action"` + // User is optional. If both User and Groups are empty, the current authenticated user is used. + User string `json:"user" protobuf:"bytes,2,opt,name=user"` + // GroupsSlice is optional. Groups is the list of groups to which the User belongs. + // +k8s:conversion-gen=false + GroupsSlice []string `json:"groups" protobuf:"bytes,3,rep,name=groups"` + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // Nil for a self-SAR, means "use the scopes on this request". + // Nil for a regular SAR, means the same as empty. + // +k8s:conversion-gen=false + Scopes OptionalScopes `json:"scopes" protobuf:"bytes,4,rep,name=scopes"` +} + +// +genclient +// +genclient:skipVerbs=get,list,create,update,patch,delete,deleteCollection,watch +// +genclient:method=Create,verb=create,result=ResourceAccessReviewResponse +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// LocalResourceAccessReview is a means to request a list of which users and groups are authorized to perform the action specified by spec in a particular namespace +type LocalResourceAccessReview struct { + metav1.TypeMeta `json:",inline"` + + // Action describes the action being tested. The Namespace element is FORCED to the current namespace. + Action `json:",inline" protobuf:"bytes,1,opt,name=Action"` +} + +// +genclient +// +genclient:skipVerbs=get,list,create,update,patch,delete,deleteCollection,watch +// +genclient:method=Create,verb=create,result=SubjectAccessReviewResponse +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// LocalSubjectAccessReview is an object for requesting information about whether a user or group can perform an action in a particular namespace +type LocalSubjectAccessReview struct { + metav1.TypeMeta `json:",inline"` + + // Action describes the action being tested. The Namespace element is FORCED to the current namespace. + Action `json:",inline" protobuf:"bytes,1,opt,name=Action"` + // User is optional. If both User and Groups are empty, the current authenticated user is used. + User string `json:"user" protobuf:"bytes,2,opt,name=user"` + // Groups is optional. Groups is the list of groups to which the User belongs. + // +k8s:conversion-gen=false + GroupsSlice []string `json:"groups" protobuf:"bytes,3,rep,name=groups"` + // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // Nil for a self-SAR, means "use the scopes on this request". + // Nil for a regular SAR, means the same as empty. + // +k8s:conversion-gen=false + Scopes OptionalScopes `json:"scopes" protobuf:"bytes,4,rep,name=scopes"` +} + +// Action describes a request to the API server +type Action struct { + // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces + Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"` + // Verb is one of: get, list, watch, create, update, delete + Verb string `json:"verb" protobuf:"bytes,2,opt,name=verb"` + // Group is the API group of the resource + // Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined + Group string `json:"resourceAPIGroup" protobuf:"bytes,3,opt,name=resourceAPIGroup"` + // Version is the API version of the resource + // Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined + Version string `json:"resourceAPIVersion" protobuf:"bytes,4,opt,name=resourceAPIVersion"` + // Resource is one of the existing resource types + Resource string `json:"resource" protobuf:"bytes,5,opt,name=resource"` + // ResourceName is the name of the resource being requested for a "get" or deleted for a "delete" + ResourceName string `json:"resourceName" protobuf:"bytes,6,opt,name=resourceName"` + // Path is the path of a non resource URL + Path string `json:"path" protobuf:"bytes,8,opt,name=path"` + // IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hieraarchy) + IsNonResourceURL bool `json:"isNonResourceURL" protobuf:"varint,9,opt,name=isNonResourceURL"` + // Content is the actual content of the request for create and update + Content kruntime.RawExtension `json:"content,omitempty" protobuf:"bytes,7,opt,name=content"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RoleBindingList is a collection of RoleBindings +type RoleBindingList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of RoleBindings + Items []RoleBinding `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RoleList is a collection of Roles +type RoleList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of Roles + Items []Role `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterRole is a logical grouping of PolicyRules that can be referenced as a unit by ClusterRoleBindings. +type ClusterRole struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Rules holds all the PolicyRules for this ClusterRole + Rules []PolicyRule `json:"rules" protobuf:"bytes,2,rep,name=rules"` + + // AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. + // If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be + // stomped by the controller. + AggregationRule *rbacv1.AggregationRule `json:"aggregationRule,omitempty" protobuf:"bytes,3,opt,name=aggregationRule"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterRoleBinding references a ClusterRole, but not contain it. It can reference any ClusterRole in the same namespace or in the global namespace. +// It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. +// ClusterRoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces). +type ClusterRoleBinding struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // UserNames holds all the usernames directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + UserNames OptionalNames `json:"userNames" protobuf:"bytes,2,rep,name=userNames"` + // GroupNames holds all the groups directly bound to the role. + // This field should only be specified when supporting legacy clients and servers. + // See Subjects for further details. + // +k8s:conversion-gen=false + GroupNames OptionalNames `json:"groupNames" protobuf:"bytes,3,rep,name=groupNames"` + // Subjects hold object references to authorize with this rule. + // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. + // Thus newer clients that do not need to support backwards compatibility should send + // only fully qualified Subjects and should omit the UserNames and GroupNames fields. + // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. + Subjects []corev1.ObjectReference `json:"subjects" protobuf:"bytes,4,rep,name=subjects"` + + // RoleRef can only reference the current namespace and the global namespace. + // If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. + // Since Policy is a singleton, this is sufficient knowledge to locate a role. + RoleRef corev1.ObjectReference `json:"roleRef" protobuf:"bytes,5,opt,name=roleRef"` +} + +// NamedClusterRole relates a name with a cluster role +type NamedClusterRole struct { + // Name is the name of the cluster role + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // Role is the cluster role being named + Role ClusterRole `json:"role" protobuf:"bytes,2,opt,name=role"` +} + +// NamedClusterRoleBinding relates a name with a cluster role binding +type NamedClusterRoleBinding struct { + // Name is the name of the cluster role binding + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // RoleBinding is the cluster role binding being named + RoleBinding ClusterRoleBinding `json:"roleBinding" protobuf:"bytes,2,opt,name=roleBinding"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterRoleBindingList is a collection of ClusterRoleBindings +type ClusterRoleBindingList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of ClusterRoleBindings + Items []ClusterRoleBinding `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterRoleList is a collection of ClusterRoles +type ClusterRoleList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of ClusterRoles + Items []ClusterRole `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RoleBindingRestriction is an object that can be matched against a subject +// (user, group, or service account) to determine whether rolebindings on that +// subject are allowed in the namespace to which the RoleBindingRestriction +// belongs. If any one of those RoleBindingRestriction objects matches +// a subject, rolebindings on that subject in the namespace are allowed. +type RoleBindingRestriction struct { + metav1.TypeMeta `json:",inline"` + + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` + + // Spec defines the matcher. + Spec RoleBindingRestrictionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` +} + +// RoleBindingRestrictionSpec defines a rolebinding restriction. Exactly one +// field must be non-nil. +type RoleBindingRestrictionSpec struct { + // UserRestriction matches against user subjects. + UserRestriction *UserRestriction `json:"userrestriction" protobuf:"bytes,1,opt,name=userrestriction"` + + // GroupRestriction matches against group subjects. + GroupRestriction *GroupRestriction `json:"grouprestriction" protobuf:"bytes,2,opt,name=grouprestriction"` + + // ServiceAccountRestriction matches against service-account subjects. + ServiceAccountRestriction *ServiceAccountRestriction `json:"serviceaccountrestriction" protobuf:"bytes,3,opt,name=serviceaccountrestriction"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RoleBindingRestrictionList is a collection of RoleBindingRestriction objects. +type RoleBindingRestrictionList struct { + metav1.TypeMeta `json:",inline"` + + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of RoleBindingRestriction objects. + Items []RoleBindingRestriction `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// UserRestriction matches a user either by a string match on the user name, +// a string match on the name of a group to which the user belongs, or a label +// selector applied to the user labels. +type UserRestriction struct { + // Users specifies a list of literal user names. + Users []string `json:"users" protobuf:"bytes,1,rep,name=users"` + + // Groups specifies a list of literal group names. + Groups []string `json:"groups" protobuf:"bytes,2,rep,name=groups"` + + // Selectors specifies a list of label selectors over user labels. + Selectors []metav1.LabelSelector `json:"labels" protobuf:"bytes,3,rep,name=labels"` +} + +// GroupRestriction matches a group either by a string match on the group name +// or a label selector applied to group labels. +type GroupRestriction struct { + // Groups is a list of groups used to match against an individual user's + // groups. If the user is a member of one of the whitelisted groups, the user + // is allowed to be bound to a role. + Groups []string `json:"groups" protobuf:"bytes,1,rep,name=groups"` + + // Selectors specifies a list of label selectors over group labels. + Selectors []metav1.LabelSelector `json:"labels" protobuf:"bytes,2,rep,name=labels"` +} + +// ServiceAccountRestriction matches a service account by a string match on +// either the service-account name or the name of the service account's +// namespace. +type ServiceAccountRestriction struct { + // ServiceAccounts specifies a list of literal service-account names. + ServiceAccounts []ServiceAccountReference `json:"serviceaccounts" protobuf:"bytes,1,rep,name=serviceaccounts"` + + // Namespaces specifies a list of literal namespace names. + Namespaces []string `json:"namespaces" protobuf:"bytes,2,rep,name=namespaces"` +} + +// ServiceAccountReference specifies a service account and namespace by their +// names. +type ServiceAccountReference struct { + // Name is the name of the service account. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + + // Namespace is the namespace of the service account. Service accounts from + // inside the whitelisted namespaces are allowed to be bound to roles. If + // Namespace is empty, then the namespace of the RoleBindingRestriction in + // which the ServiceAccountReference is embedded is used. + Namespace string `json:"namespace" protobuf:"bytes,2,opt,name=namespace"` +} diff --git a/vendor/github.com/openshift/api/authorization/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/authorization/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..e09b9ab6f --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/zz_generated.deepcopy.go @@ -0,0 +1,1009 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + rbac_v1 "k8s.io/api/rbac/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Action) DeepCopyInto(out *Action) { + *out = *in + in.Content.DeepCopyInto(&out.Content) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Action. +func (in *Action) DeepCopy() *Action { + if in == nil { + return nil + } + out := new(Action) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterRole) DeepCopyInto(out *ClusterRole) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]PolicyRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AggregationRule != nil { + in, out := &in.AggregationRule, &out.AggregationRule + if *in == nil { + *out = nil + } else { + *out = new(rbac_v1.AggregationRule) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRole. +func (in *ClusterRole) DeepCopy() *ClusterRole { + if in == nil { + return nil + } + out := new(ClusterRole) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterRole) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterRoleBinding) DeepCopyInto(out *ClusterRoleBinding) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.UserNames != nil { + in, out := &in.UserNames, &out.UserNames + *out = make(OptionalNames, len(*in)) + copy(*out, *in) + } + if in.GroupNames != nil { + in, out := &in.GroupNames, &out.GroupNames + *out = make(OptionalNames, len(*in)) + copy(*out, *in) + } + if in.Subjects != nil { + in, out := &in.Subjects, &out.Subjects + *out = make([]core_v1.ObjectReference, len(*in)) + copy(*out, *in) + } + out.RoleRef = in.RoleRef + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleBinding. +func (in *ClusterRoleBinding) DeepCopy() *ClusterRoleBinding { + if in == nil { + return nil + } + out := new(ClusterRoleBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterRoleBinding) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterRoleBindingList) DeepCopyInto(out *ClusterRoleBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterRoleBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleBindingList. +func (in *ClusterRoleBindingList) DeepCopy() *ClusterRoleBindingList { + if in == nil { + return nil + } + out := new(ClusterRoleBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterRoleBindingList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterRoleList) DeepCopyInto(out *ClusterRoleList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterRole, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleList. +func (in *ClusterRoleList) DeepCopy() *ClusterRoleList { + if in == nil { + return nil + } + out := new(ClusterRoleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterRoleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupRestriction) DeepCopyInto(out *GroupRestriction) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Selectors != nil { + in, out := &in.Selectors, &out.Selectors + *out = make([]meta_v1.LabelSelector, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupRestriction. +func (in *GroupRestriction) DeepCopy() *GroupRestriction { + if in == nil { + return nil + } + out := new(GroupRestriction) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IsPersonalSubjectAccessReview) DeepCopyInto(out *IsPersonalSubjectAccessReview) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IsPersonalSubjectAccessReview. +func (in *IsPersonalSubjectAccessReview) DeepCopy() *IsPersonalSubjectAccessReview { + if in == nil { + return nil + } + out := new(IsPersonalSubjectAccessReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IsPersonalSubjectAccessReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalResourceAccessReview) DeepCopyInto(out *LocalResourceAccessReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Action.DeepCopyInto(&out.Action) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalResourceAccessReview. +func (in *LocalResourceAccessReview) DeepCopy() *LocalResourceAccessReview { + if in == nil { + return nil + } + out := new(LocalResourceAccessReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LocalResourceAccessReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalSubjectAccessReview) DeepCopyInto(out *LocalSubjectAccessReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Action.DeepCopyInto(&out.Action) + if in.GroupsSlice != nil { + in, out := &in.GroupsSlice, &out.GroupsSlice + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make(OptionalScopes, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSubjectAccessReview. +func (in *LocalSubjectAccessReview) DeepCopy() *LocalSubjectAccessReview { + if in == nil { + return nil + } + out := new(LocalSubjectAccessReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LocalSubjectAccessReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedClusterRole) DeepCopyInto(out *NamedClusterRole) { + *out = *in + in.Role.DeepCopyInto(&out.Role) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedClusterRole. +func (in *NamedClusterRole) DeepCopy() *NamedClusterRole { + if in == nil { + return nil + } + out := new(NamedClusterRole) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedClusterRoleBinding) DeepCopyInto(out *NamedClusterRoleBinding) { + *out = *in + in.RoleBinding.DeepCopyInto(&out.RoleBinding) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedClusterRoleBinding. +func (in *NamedClusterRoleBinding) DeepCopy() *NamedClusterRoleBinding { + if in == nil { + return nil + } + out := new(NamedClusterRoleBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedRole) DeepCopyInto(out *NamedRole) { + *out = *in + in.Role.DeepCopyInto(&out.Role) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedRole. +func (in *NamedRole) DeepCopy() *NamedRole { + if in == nil { + return nil + } + out := new(NamedRole) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedRoleBinding) DeepCopyInto(out *NamedRoleBinding) { + *out = *in + in.RoleBinding.DeepCopyInto(&out.RoleBinding) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedRoleBinding. +func (in *NamedRoleBinding) DeepCopy() *NamedRoleBinding { + if in == nil { + return nil + } + out := new(NamedRoleBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in OptionalNames) DeepCopyInto(out *OptionalNames) { + { + in := &in + *out = make(OptionalNames, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionalNames. +func (in OptionalNames) DeepCopy() OptionalNames { + if in == nil { + return nil + } + out := new(OptionalNames) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in OptionalScopes) DeepCopyInto(out *OptionalScopes) { + { + in := &in + *out = make(OptionalScopes, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionalScopes. +func (in OptionalScopes) DeepCopy() OptionalScopes { + if in == nil { + return nil + } + out := new(OptionalScopes) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyRule) DeepCopyInto(out *PolicyRule) { + *out = *in + if in.Verbs != nil { + in, out := &in.Verbs, &out.Verbs + *out = make([]string, len(*in)) + copy(*out, *in) + } + in.AttributeRestrictions.DeepCopyInto(&out.AttributeRestrictions) + if in.APIGroups != nil { + in, out := &in.APIGroups, &out.APIGroups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ResourceNames != nil { + in, out := &in.ResourceNames, &out.ResourceNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.NonResourceURLsSlice != nil { + in, out := &in.NonResourceURLsSlice, &out.NonResourceURLsSlice + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyRule. +func (in *PolicyRule) DeepCopy() *PolicyRule { + if in == nil { + return nil + } + out := new(PolicyRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceAccessReview) DeepCopyInto(out *ResourceAccessReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Action.DeepCopyInto(&out.Action) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceAccessReview. +func (in *ResourceAccessReview) DeepCopy() *ResourceAccessReview { + if in == nil { + return nil + } + out := new(ResourceAccessReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ResourceAccessReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceAccessReviewResponse) DeepCopyInto(out *ResourceAccessReviewResponse) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.UsersSlice != nil { + in, out := &in.UsersSlice, &out.UsersSlice + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupsSlice != nil { + in, out := &in.GroupsSlice, &out.GroupsSlice + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceAccessReviewResponse. +func (in *ResourceAccessReviewResponse) DeepCopy() *ResourceAccessReviewResponse { + if in == nil { + return nil + } + out := new(ResourceAccessReviewResponse) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ResourceAccessReviewResponse) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Role) DeepCopyInto(out *Role) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]PolicyRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Role. +func (in *Role) DeepCopy() *Role { + if in == nil { + return nil + } + out := new(Role) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Role) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleBinding) DeepCopyInto(out *RoleBinding) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.UserNames != nil { + in, out := &in.UserNames, &out.UserNames + *out = make(OptionalNames, len(*in)) + copy(*out, *in) + } + if in.GroupNames != nil { + in, out := &in.GroupNames, &out.GroupNames + *out = make(OptionalNames, len(*in)) + copy(*out, *in) + } + if in.Subjects != nil { + in, out := &in.Subjects, &out.Subjects + *out = make([]core_v1.ObjectReference, len(*in)) + copy(*out, *in) + } + out.RoleRef = in.RoleRef + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBinding. +func (in *RoleBinding) DeepCopy() *RoleBinding { + if in == nil { + return nil + } + out := new(RoleBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoleBinding) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleBindingList) DeepCopyInto(out *RoleBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RoleBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBindingList. +func (in *RoleBindingList) DeepCopy() *RoleBindingList { + if in == nil { + return nil + } + out := new(RoleBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoleBindingList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleBindingRestriction) DeepCopyInto(out *RoleBindingRestriction) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBindingRestriction. +func (in *RoleBindingRestriction) DeepCopy() *RoleBindingRestriction { + if in == nil { + return nil + } + out := new(RoleBindingRestriction) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoleBindingRestriction) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleBindingRestrictionList) DeepCopyInto(out *RoleBindingRestrictionList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RoleBindingRestriction, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBindingRestrictionList. +func (in *RoleBindingRestrictionList) DeepCopy() *RoleBindingRestrictionList { + if in == nil { + return nil + } + out := new(RoleBindingRestrictionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoleBindingRestrictionList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleBindingRestrictionSpec) DeepCopyInto(out *RoleBindingRestrictionSpec) { + *out = *in + if in.UserRestriction != nil { + in, out := &in.UserRestriction, &out.UserRestriction + if *in == nil { + *out = nil + } else { + *out = new(UserRestriction) + (*in).DeepCopyInto(*out) + } + } + if in.GroupRestriction != nil { + in, out := &in.GroupRestriction, &out.GroupRestriction + if *in == nil { + *out = nil + } else { + *out = new(GroupRestriction) + (*in).DeepCopyInto(*out) + } + } + if in.ServiceAccountRestriction != nil { + in, out := &in.ServiceAccountRestriction, &out.ServiceAccountRestriction + if *in == nil { + *out = nil + } else { + *out = new(ServiceAccountRestriction) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBindingRestrictionSpec. +func (in *RoleBindingRestrictionSpec) DeepCopy() *RoleBindingRestrictionSpec { + if in == nil { + return nil + } + out := new(RoleBindingRestrictionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoleList) DeepCopyInto(out *RoleList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Role, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleList. +func (in *RoleList) DeepCopy() *RoleList { + if in == nil { + return nil + } + out := new(RoleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RoleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SelfSubjectRulesReview) DeepCopyInto(out *SelfSubjectRulesReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfSubjectRulesReview. +func (in *SelfSubjectRulesReview) DeepCopy() *SelfSubjectRulesReview { + if in == nil { + return nil + } + out := new(SelfSubjectRulesReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SelfSubjectRulesReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SelfSubjectRulesReviewSpec) DeepCopyInto(out *SelfSubjectRulesReviewSpec) { + *out = *in + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make(OptionalScopes, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfSubjectRulesReviewSpec. +func (in *SelfSubjectRulesReviewSpec) DeepCopy() *SelfSubjectRulesReviewSpec { + if in == nil { + return nil + } + out := new(SelfSubjectRulesReviewSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountReference) DeepCopyInto(out *ServiceAccountReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountReference. +func (in *ServiceAccountReference) DeepCopy() *ServiceAccountReference { + if in == nil { + return nil + } + out := new(ServiceAccountReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountRestriction) DeepCopyInto(out *ServiceAccountRestriction) { + *out = *in + if in.ServiceAccounts != nil { + in, out := &in.ServiceAccounts, &out.ServiceAccounts + *out = make([]ServiceAccountReference, len(*in)) + copy(*out, *in) + } + if in.Namespaces != nil { + in, out := &in.Namespaces, &out.Namespaces + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountRestriction. +func (in *ServiceAccountRestriction) DeepCopy() *ServiceAccountRestriction { + if in == nil { + return nil + } + out := new(ServiceAccountRestriction) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAccessReview) DeepCopyInto(out *SubjectAccessReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Action.DeepCopyInto(&out.Action) + if in.GroupsSlice != nil { + in, out := &in.GroupsSlice, &out.GroupsSlice + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make(OptionalScopes, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReview. +func (in *SubjectAccessReview) DeepCopy() *SubjectAccessReview { + if in == nil { + return nil + } + out := new(SubjectAccessReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubjectAccessReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectAccessReviewResponse) DeepCopyInto(out *SubjectAccessReviewResponse) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReviewResponse. +func (in *SubjectAccessReviewResponse) DeepCopy() *SubjectAccessReviewResponse { + if in == nil { + return nil + } + out := new(SubjectAccessReviewResponse) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubjectAccessReviewResponse) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectRulesReview) DeepCopyInto(out *SubjectRulesReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectRulesReview. +func (in *SubjectRulesReview) DeepCopy() *SubjectRulesReview { + if in == nil { + return nil + } + out := new(SubjectRulesReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SubjectRulesReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectRulesReviewSpec) DeepCopyInto(out *SubjectRulesReviewSpec) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make(OptionalScopes, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectRulesReviewSpec. +func (in *SubjectRulesReviewSpec) DeepCopy() *SubjectRulesReviewSpec { + if in == nil { + return nil + } + out := new(SubjectRulesReviewSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubjectRulesReviewStatus) DeepCopyInto(out *SubjectRulesReviewStatus) { + *out = *in + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]PolicyRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubjectRulesReviewStatus. +func (in *SubjectRulesReviewStatus) DeepCopy() *SubjectRulesReviewStatus { + if in == nil { + return nil + } + out := new(SubjectRulesReviewStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserRestriction) DeepCopyInto(out *UserRestriction) { + *out = *in + if in.Users != nil { + in, out := &in.Users, &out.Users + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Selectors != nil { + in, out := &in.Selectors, &out.Selectors + *out = make([]meta_v1.LabelSelector, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserRestriction. +func (in *UserRestriction) DeepCopy() *UserRestriction { + if in == nil { + return nil + } + out := new(UserRestriction) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..15da0e310 --- /dev/null +++ b/vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,364 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_Action = map[string]string{ + "": "Action describes a request to the API server", + "namespace": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces", + "verb": "Verb is one of: get, list, watch, create, update, delete", + "resourceAPIGroup": "Group is the API group of the resource Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined", + "resourceAPIVersion": "Version is the API version of the resource Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined", + "resource": "Resource is one of the existing resource types", + "resourceName": "ResourceName is the name of the resource being requested for a \"get\" or deleted for a \"delete\"", + "path": "Path is the path of a non resource URL", + "isNonResourceURL": "IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hieraarchy)", + "content": "Content is the actual content of the request for create and update", +} + +func (Action) SwaggerDoc() map[string]string { + return map_Action +} + +var map_ClusterRole = map[string]string{ + "": "ClusterRole is a logical grouping of PolicyRules that can be referenced as a unit by ClusterRoleBindings.", + "metadata": "Standard object's metadata.", + "rules": "Rules holds all the PolicyRules for this ClusterRole", + "aggregationRule": "AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller.", +} + +func (ClusterRole) SwaggerDoc() map[string]string { + return map_ClusterRole +} + +var map_ClusterRoleBinding = map[string]string{ + "": "ClusterRoleBinding references a ClusterRole, but not contain it. It can reference any ClusterRole in the same namespace or in the global namespace. It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. ClusterRoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces).", + "metadata": "Standard object's metadata.", + "userNames": "UserNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "groupNames": "GroupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "subjects": "Subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", + "roleRef": "RoleRef can only reference the current namespace and the global namespace. If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role.", +} + +func (ClusterRoleBinding) SwaggerDoc() map[string]string { + return map_ClusterRoleBinding +} + +var map_ClusterRoleBindingList = map[string]string{ + "": "ClusterRoleBindingList is a collection of ClusterRoleBindings", + "metadata": "Standard object's metadata.", + "items": "Items is a list of ClusterRoleBindings", +} + +func (ClusterRoleBindingList) SwaggerDoc() map[string]string { + return map_ClusterRoleBindingList +} + +var map_ClusterRoleList = map[string]string{ + "": "ClusterRoleList is a collection of ClusterRoles", + "metadata": "Standard object's metadata.", + "items": "Items is a list of ClusterRoles", +} + +func (ClusterRoleList) SwaggerDoc() map[string]string { + return map_ClusterRoleList +} + +var map_GroupRestriction = map[string]string{ + "": "GroupRestriction matches a group either by a string match on the group name or a label selector applied to group labels.", + "groups": "Groups is a list of groups used to match against an individual user's groups. If the user is a member of one of the whitelisted groups, the user is allowed to be bound to a role.", + "labels": "Selectors specifies a list of label selectors over group labels.", +} + +func (GroupRestriction) SwaggerDoc() map[string]string { + return map_GroupRestriction +} + +var map_IsPersonalSubjectAccessReview = map[string]string{ + "": "IsPersonalSubjectAccessReview is a marker for PolicyRule.AttributeRestrictions that denotes that subjectaccessreviews on self should be allowed", +} + +func (IsPersonalSubjectAccessReview) SwaggerDoc() map[string]string { + return map_IsPersonalSubjectAccessReview +} + +var map_LocalResourceAccessReview = map[string]string{ + "": "LocalResourceAccessReview is a means to request a list of which users and groups are authorized to perform the action specified by spec in a particular namespace", +} + +func (LocalResourceAccessReview) SwaggerDoc() map[string]string { + return map_LocalResourceAccessReview +} + +var map_LocalSubjectAccessReview = map[string]string{ + "": "LocalSubjectAccessReview is an object for requesting information about whether a user or group can perform an action in a particular namespace", + "user": "User is optional. If both User and Groups are empty, the current authenticated user is used.", + "groups": "Groups is optional. Groups is the list of groups to which the User belongs.", + "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", +} + +func (LocalSubjectAccessReview) SwaggerDoc() map[string]string { + return map_LocalSubjectAccessReview +} + +var map_NamedClusterRole = map[string]string{ + "": "NamedClusterRole relates a name with a cluster role", + "name": "Name is the name of the cluster role", + "role": "Role is the cluster role being named", +} + +func (NamedClusterRole) SwaggerDoc() map[string]string { + return map_NamedClusterRole +} + +var map_NamedClusterRoleBinding = map[string]string{ + "": "NamedClusterRoleBinding relates a name with a cluster role binding", + "name": "Name is the name of the cluster role binding", + "roleBinding": "RoleBinding is the cluster role binding being named", +} + +func (NamedClusterRoleBinding) SwaggerDoc() map[string]string { + return map_NamedClusterRoleBinding +} + +var map_NamedRole = map[string]string{ + "": "NamedRole relates a Role with a name", + "name": "Name is the name of the role", + "role": "Role is the role being named", +} + +func (NamedRole) SwaggerDoc() map[string]string { + return map_NamedRole +} + +var map_NamedRoleBinding = map[string]string{ + "": "NamedRoleBinding relates a role binding with a name", + "name": "Name is the name of the role binding", + "roleBinding": "RoleBinding is the role binding being named", +} + +func (NamedRoleBinding) SwaggerDoc() map[string]string { + return map_NamedRoleBinding +} + +var map_PolicyRule = map[string]string{ + "": "PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.", + "verbs": "Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.", + "attributeRestrictions": "AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error.", + "apiGroups": "APIGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request will be allowed", + "resources": "Resources is a list of resources this rule applies to. ResourceAll represents all resources.", + "resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.", + "nonResourceURLs": "NonResourceURLsSlice is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path This name is intentionally different than the internal type so that the DefaultConvert works nicely and because the ordering may be different.", +} + +func (PolicyRule) SwaggerDoc() map[string]string { + return map_PolicyRule +} + +var map_ResourceAccessReview = map[string]string{ + "": "ResourceAccessReview is a means to request a list of which users and groups are authorized to perform the action specified by spec", +} + +func (ResourceAccessReview) SwaggerDoc() map[string]string { + return map_ResourceAccessReview +} + +var map_ResourceAccessReviewResponse = map[string]string{ + "": "ResourceAccessReviewResponse describes who can perform the action", + "namespace": "Namespace is the namespace used for the access review", + "users": "UsersSlice is the list of users who can perform the action", + "groups": "GroupsSlice is the list of groups who can perform the action", + "evalutionError": "EvaluationError is an indication that some error occurred during resolution, but partial results can still be returned. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is most common when a bound role is missing, but enough roles are still present and bound to reason about the request.", +} + +func (ResourceAccessReviewResponse) SwaggerDoc() map[string]string { + return map_ResourceAccessReviewResponse +} + +var map_Role = map[string]string{ + "": "Role is a logical grouping of PolicyRules that can be referenced as a unit by RoleBindings.", + "metadata": "Standard object's metadata.", + "rules": "Rules holds all the PolicyRules for this Role", +} + +func (Role) SwaggerDoc() map[string]string { + return map_Role +} + +var map_RoleBinding = map[string]string{ + "": "RoleBinding references a Role, but not contain it. It can reference any Role in the same namespace or in the global namespace. It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces).", + "metadata": "Standard object's metadata.", + "userNames": "UserNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "groupNames": "GroupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "subjects": "Subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", + "roleRef": "RoleRef can only reference the current namespace and the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role.", +} + +func (RoleBinding) SwaggerDoc() map[string]string { + return map_RoleBinding +} + +var map_RoleBindingList = map[string]string{ + "": "RoleBindingList is a collection of RoleBindings", + "metadata": "Standard object's metadata.", + "items": "Items is a list of RoleBindings", +} + +func (RoleBindingList) SwaggerDoc() map[string]string { + return map_RoleBindingList +} + +var map_RoleBindingRestriction = map[string]string{ + "": "RoleBindingRestriction is an object that can be matched against a subject (user, group, or service account) to determine whether rolebindings on that subject are allowed in the namespace to which the RoleBindingRestriction belongs. If any one of those RoleBindingRestriction objects matches a subject, rolebindings on that subject in the namespace are allowed.", + "metadata": "Standard object's metadata.", + "spec": "Spec defines the matcher.", +} + +func (RoleBindingRestriction) SwaggerDoc() map[string]string { + return map_RoleBindingRestriction +} + +var map_RoleBindingRestrictionList = map[string]string{ + "": "RoleBindingRestrictionList is a collection of RoleBindingRestriction objects.", + "metadata": "Standard object's metadata.", + "items": "Items is a list of RoleBindingRestriction objects.", +} + +func (RoleBindingRestrictionList) SwaggerDoc() map[string]string { + return map_RoleBindingRestrictionList +} + +var map_RoleBindingRestrictionSpec = map[string]string{ + "": "RoleBindingRestrictionSpec defines a rolebinding restriction. Exactly one field must be non-nil.", + "userrestriction": "UserRestriction matches against user subjects.", + "grouprestriction": "GroupRestriction matches against group subjects.", + "serviceaccountrestriction": "ServiceAccountRestriction matches against service-account subjects.", +} + +func (RoleBindingRestrictionSpec) SwaggerDoc() map[string]string { + return map_RoleBindingRestrictionSpec +} + +var map_RoleList = map[string]string{ + "": "RoleList is a collection of Roles", + "metadata": "Standard object's metadata.", + "items": "Items is a list of Roles", +} + +func (RoleList) SwaggerDoc() map[string]string { + return map_RoleList +} + +var map_SelfSubjectRulesReview = map[string]string{ + "": "SelfSubjectRulesReview is a resource you can create to determine which actions you can perform in a namespace", + "spec": "Spec adds information about how to conduct the check", + "status": "Status is completed by the server to tell which permissions you have", +} + +func (SelfSubjectRulesReview) SwaggerDoc() map[string]string { + return map_SelfSubjectRulesReview +} + +var map_SelfSubjectRulesReviewSpec = map[string]string{ + "": "SelfSubjectRulesReviewSpec adds information about how to conduct the check", + "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil means \"use the scopes on this request\".", +} + +func (SelfSubjectRulesReviewSpec) SwaggerDoc() map[string]string { + return map_SelfSubjectRulesReviewSpec +} + +var map_ServiceAccountReference = map[string]string{ + "": "ServiceAccountReference specifies a service account and namespace by their names.", + "name": "Name is the name of the service account.", + "namespace": "Namespace is the namespace of the service account. Service accounts from inside the whitelisted namespaces are allowed to be bound to roles. If Namespace is empty, then the namespace of the RoleBindingRestriction in which the ServiceAccountReference is embedded is used.", +} + +func (ServiceAccountReference) SwaggerDoc() map[string]string { + return map_ServiceAccountReference +} + +var map_ServiceAccountRestriction = map[string]string{ + "": "ServiceAccountRestriction matches a service account by a string match on either the service-account name or the name of the service account's namespace.", + "serviceaccounts": "ServiceAccounts specifies a list of literal service-account names.", + "namespaces": "Namespaces specifies a list of literal namespace names.", +} + +func (ServiceAccountRestriction) SwaggerDoc() map[string]string { + return map_ServiceAccountRestriction +} + +var map_SubjectAccessReview = map[string]string{ + "": "SubjectAccessReview is an object for requesting information about whether a user or group can perform an action", + "user": "User is optional. If both User and Groups are empty, the current authenticated user is used.", + "groups": "GroupsSlice is optional. Groups is the list of groups to which the User belongs.", + "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", +} + +func (SubjectAccessReview) SwaggerDoc() map[string]string { + return map_SubjectAccessReview +} + +var map_SubjectAccessReviewResponse = map[string]string{ + "": "SubjectAccessReviewResponse describes whether or not a user or group can perform an action", + "namespace": "Namespace is the namespace used for the access review", + "allowed": "Allowed is required. True if the action would be allowed, false otherwise.", + "reason": "Reason is optional. It indicates why a request was allowed or denied.", + "evaluationError": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is most common when a bound role is missing, but enough roles are still present and bound to reason about the request.", +} + +func (SubjectAccessReviewResponse) SwaggerDoc() map[string]string { + return map_SubjectAccessReviewResponse +} + +var map_SubjectRulesReview = map[string]string{ + "": "SubjectRulesReview is a resource you can create to determine which actions another user can perform in a namespace", + "spec": "Spec adds information about how to conduct the check", + "status": "Status is completed by the server to tell which permissions you have", +} + +func (SubjectRulesReview) SwaggerDoc() map[string]string { + return map_SubjectRulesReview +} + +var map_SubjectRulesReviewSpec = map[string]string{ + "": "SubjectRulesReviewSpec adds information about how to conduct the check", + "user": "User is optional. At least one of User and Groups must be specified.", + "groups": "Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified.", + "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\".", +} + +func (SubjectRulesReviewSpec) SwaggerDoc() map[string]string { + return map_SubjectRulesReviewSpec +} + +var map_SubjectRulesReviewStatus = map[string]string{ + "": "SubjectRulesReviewStatus is contains the result of a rules check", + "rules": "Rules is the list of rules (no particular sort) that are allowed for the subject", + "evaluationError": "EvaluationError can appear in combination with Rules. It means some error happened during evaluation that may have prevented additional rules from being populated.", +} + +func (SubjectRulesReviewStatus) SwaggerDoc() map[string]string { + return map_SubjectRulesReviewStatus +} + +var map_UserRestriction = map[string]string{ + "": "UserRestriction matches a user either by a string match on the user name, a string match on the name of a group to which the user belongs, or a label selector applied to the user labels.", + "users": "Users specifies a list of literal user names.", + "groups": "Groups specifies a list of literal group names.", + "labels": "Selectors specifies a list of label selectors over user labels.", +} + +func (UserRestriction) SwaggerDoc() map[string]string { + return map_UserRestriction +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/build/OWNERS b/vendor/github.com/openshift/api/build/OWNERS new file mode 100644 index 000000000..c1ece8b21 --- /dev/null +++ b/vendor/github.com/openshift/api/build/OWNERS @@ -0,0 +1,4 @@ +reviewers: + - bparees + - gabemontero + - jim-minter diff --git a/vendor/github.com/openshift/api/build/install.go b/vendor/github.com/openshift/api/build/install.go new file mode 100644 index 000000000..87e2c26b0 --- /dev/null +++ b/vendor/github.com/openshift/api/build/install.go @@ -0,0 +1,26 @@ +package build + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + buildv1 "github.com/openshift/api/build/v1" +) + +const ( + GroupName = "build.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(buildv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/build/v1/consts.go b/vendor/github.com/openshift/api/build/v1/consts.go new file mode 100644 index 000000000..685cebc12 --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/consts.go @@ -0,0 +1,93 @@ +package v1 + +const ( + // StatusReasonError is a generic reason for a build error condition. + StatusReasonError StatusReason = "Error" + + // StatusReasonCannotCreateBuildPodSpec is an error condition when the build + // strategy cannot create a build pod spec. + StatusReasonCannotCreateBuildPodSpec StatusReason = "CannotCreateBuildPodSpec" + + // StatusReasonCannotCreateBuildPod is an error condition when a build pod + // cannot be created. + StatusReasonCannotCreateBuildPod StatusReason = "CannotCreateBuildPod" + + // StatusReasonInvalidOutputReference is an error condition when the build + // output is an invalid reference. + StatusReasonInvalidOutputReference StatusReason = "InvalidOutputReference" + + // StatusReasonInvalidImageReference is an error condition when the build + // references an invalid image. + StatusReasonInvalidImageReference StatusReason = "InvalidImageReference" + + // StatusReasonCancelBuildFailed is an error condition when cancelling a build + // fails. + StatusReasonCancelBuildFailed StatusReason = "CancelBuildFailed" + + // StatusReasonBuildPodDeleted is an error condition when the build pod is + // deleted before build completion. + StatusReasonBuildPodDeleted StatusReason = "BuildPodDeleted" + + // StatusReasonExceededRetryTimeout is an error condition when the build has + // not completed and retrying the build times out. + StatusReasonExceededRetryTimeout StatusReason = "ExceededRetryTimeout" + + // StatusReasonMissingPushSecret indicates that the build is missing required + // secret for pushing the output image. + // The build will stay in the pending state until the secret is created, or the build times out. + StatusReasonMissingPushSecret StatusReason = "MissingPushSecret" + + // StatusReasonPostCommitHookFailed indicates the post-commit hook failed. + StatusReasonPostCommitHookFailed StatusReason = "PostCommitHookFailed" + + // StatusReasonPushImageToRegistryFailed indicates that an image failed to be + // pushed to the registry. + StatusReasonPushImageToRegistryFailed StatusReason = "PushImageToRegistryFailed" + + // StatusReasonPullBuilderImageFailed indicates that we failed to pull the + // builder image. + StatusReasonPullBuilderImageFailed StatusReason = "PullBuilderImageFailed" + + // StatusReasonFetchSourceFailed indicates that fetching the source of the + // build has failed. + StatusReasonFetchSourceFailed StatusReason = "FetchSourceFailed" + + // StatusReasonInvalidContextDirectory indicates that the supplied + // contextDir does not exist + StatusReasonInvalidContextDirectory StatusReason = "InvalidContextDirectory" + + // StatusReasonCancelledBuild indicates that the build was cancelled by the + // user. + StatusReasonCancelledBuild StatusReason = "CancelledBuild" + + // StatusReasonDockerBuildFailed indicates that the container image build strategy has + // failed. + StatusReasonDockerBuildFailed StatusReason = "DockerBuildFailed" + + // StatusReasonBuildPodExists indicates that the build tried to create a + // build pod but one was already present. + StatusReasonBuildPodExists StatusReason = "BuildPodExists" + + // StatusReasonNoBuildContainerStatus indicates that the build failed because the + // the build pod has no container statuses. + StatusReasonNoBuildContainerStatus StatusReason = "NoBuildContainerStatus" + + // StatusReasonFailedContainer indicates that the pod for the build has at least + // one container with a non-zero exit status. + StatusReasonFailedContainer StatusReason = "FailedContainer" + + // StatusReasonUnresolvableEnvironmentVariable indicates that an error occurred processing + // the supplied options for environment variables in the build strategy environment + StatusReasonUnresolvableEnvironmentVariable StatusReason = "UnresolvableEnvironmentVariable" + + // StatusReasonGenericBuildFailed is the reason associated with a broad + // range of build failures. + StatusReasonGenericBuildFailed StatusReason = "GenericBuildFailed" + + // StatusReasonOutOfMemoryKilled indicates that the build pod was killed for its memory consumption + StatusReasonOutOfMemoryKilled StatusReason = "OutOfMemoryKilled" + + // StatusCannotRetrieveServiceAccount is the reason associated with a failure + // to look up the service account associated with the BuildConfig. + StatusReasonCannotRetrieveServiceAccount StatusReason = "CannotRetrieveServiceAccount" +) diff --git a/vendor/github.com/openshift/api/build/v1/doc.go b/vendor/github.com/openshift/api/build/v1/doc.go new file mode 100644 index 000000000..9bc16f64b --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/build/apis/build +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=build.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/build/v1/generated.pb.go b/vendor/github.com/openshift/api/build/v1/generated.pb.go new file mode 100644 index 000000000..836b4bb4f --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/generated.pb.go @@ -0,0 +1,13163 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/build/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/build/v1/generated.proto + + It has these top-level messages: + BinaryBuildRequestOptions + BinaryBuildSource + BitbucketWebHookCause + Build + BuildConfig + BuildConfigList + BuildConfigSpec + BuildConfigStatus + BuildList + BuildLog + BuildLogOptions + BuildOutput + BuildPostCommitSpec + BuildRequest + BuildSource + BuildSpec + BuildStatus + BuildStatusOutput + BuildStatusOutputTo + BuildStrategy + BuildTriggerCause + BuildTriggerPolicy + CommonSpec + CommonWebHookCause + ConfigMapBuildSource + CustomBuildStrategy + DockerBuildStrategy + DockerStrategyOptions + GenericWebHookCause + GenericWebHookEvent + GitBuildSource + GitHubWebHookCause + GitInfo + GitLabWebHookCause + GitRefInfo + GitSourceRevision + ImageChangeCause + ImageChangeTrigger + ImageLabel + ImageSource + ImageSourcePath + JenkinsPipelineBuildStrategy + OptionalNodeSelector + ProxyConfig + SecretBuildSource + SecretLocalReference + SecretSpec + SourceBuildStrategy + SourceControlUser + SourceRevision + SourceStrategyOptions + StageInfo + StepInfo + WebHookTrigger +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +import time "time" + +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf +var _ = time.Kitchen + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *BinaryBuildRequestOptions) Reset() { *m = BinaryBuildRequestOptions{} } +func (*BinaryBuildRequestOptions) ProtoMessage() {} +func (*BinaryBuildRequestOptions) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{0} +} + +func (m *BinaryBuildSource) Reset() { *m = BinaryBuildSource{} } +func (*BinaryBuildSource) ProtoMessage() {} +func (*BinaryBuildSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *BitbucketWebHookCause) Reset() { *m = BitbucketWebHookCause{} } +func (*BitbucketWebHookCause) ProtoMessage() {} +func (*BitbucketWebHookCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *Build) Reset() { *m = Build{} } +func (*Build) ProtoMessage() {} +func (*Build) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *BuildConfig) Reset() { *m = BuildConfig{} } +func (*BuildConfig) ProtoMessage() {} +func (*BuildConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *BuildConfigList) Reset() { *m = BuildConfigList{} } +func (*BuildConfigList) ProtoMessage() {} +func (*BuildConfigList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *BuildConfigSpec) Reset() { *m = BuildConfigSpec{} } +func (*BuildConfigSpec) ProtoMessage() {} +func (*BuildConfigSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } + +func (m *BuildConfigStatus) Reset() { *m = BuildConfigStatus{} } +func (*BuildConfigStatus) ProtoMessage() {} +func (*BuildConfigStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } + +func (m *BuildList) Reset() { *m = BuildList{} } +func (*BuildList) ProtoMessage() {} +func (*BuildList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *BuildLog) Reset() { *m = BuildLog{} } +func (*BuildLog) ProtoMessage() {} +func (*BuildLog) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *BuildLogOptions) Reset() { *m = BuildLogOptions{} } +func (*BuildLogOptions) ProtoMessage() {} +func (*BuildLogOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } + +func (m *BuildOutput) Reset() { *m = BuildOutput{} } +func (*BuildOutput) ProtoMessage() {} +func (*BuildOutput) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func (m *BuildPostCommitSpec) Reset() { *m = BuildPostCommitSpec{} } +func (*BuildPostCommitSpec) ProtoMessage() {} +func (*BuildPostCommitSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *BuildRequest) Reset() { *m = BuildRequest{} } +func (*BuildRequest) ProtoMessage() {} +func (*BuildRequest) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } + +func (m *BuildSource) Reset() { *m = BuildSource{} } +func (*BuildSource) ProtoMessage() {} +func (*BuildSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } + +func (m *BuildSpec) Reset() { *m = BuildSpec{} } +func (*BuildSpec) ProtoMessage() {} +func (*BuildSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } + +func (m *BuildStatus) Reset() { *m = BuildStatus{} } +func (*BuildStatus) ProtoMessage() {} +func (*BuildStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } + +func (m *BuildStatusOutput) Reset() { *m = BuildStatusOutput{} } +func (*BuildStatusOutput) ProtoMessage() {} +func (*BuildStatusOutput) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } + +func (m *BuildStatusOutputTo) Reset() { *m = BuildStatusOutputTo{} } +func (*BuildStatusOutputTo) ProtoMessage() {} +func (*BuildStatusOutputTo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } + +func (m *BuildStrategy) Reset() { *m = BuildStrategy{} } +func (*BuildStrategy) ProtoMessage() {} +func (*BuildStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } + +func (m *BuildTriggerCause) Reset() { *m = BuildTriggerCause{} } +func (*BuildTriggerCause) ProtoMessage() {} +func (*BuildTriggerCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } + +func (m *BuildTriggerPolicy) Reset() { *m = BuildTriggerPolicy{} } +func (*BuildTriggerPolicy) ProtoMessage() {} +func (*BuildTriggerPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } + +func (m *CommonSpec) Reset() { *m = CommonSpec{} } +func (*CommonSpec) ProtoMessage() {} +func (*CommonSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } + +func (m *CommonWebHookCause) Reset() { *m = CommonWebHookCause{} } +func (*CommonWebHookCause) ProtoMessage() {} +func (*CommonWebHookCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} } + +func (m *ConfigMapBuildSource) Reset() { *m = ConfigMapBuildSource{} } +func (*ConfigMapBuildSource) ProtoMessage() {} +func (*ConfigMapBuildSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } + +func (m *CustomBuildStrategy) Reset() { *m = CustomBuildStrategy{} } +func (*CustomBuildStrategy) ProtoMessage() {} +func (*CustomBuildStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } + +func (m *DockerBuildStrategy) Reset() { *m = DockerBuildStrategy{} } +func (*DockerBuildStrategy) ProtoMessage() {} +func (*DockerBuildStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } + +func (m *DockerStrategyOptions) Reset() { *m = DockerStrategyOptions{} } +func (*DockerStrategyOptions) ProtoMessage() {} +func (*DockerStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } + +func (m *GenericWebHookCause) Reset() { *m = GenericWebHookCause{} } +func (*GenericWebHookCause) ProtoMessage() {} +func (*GenericWebHookCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } + +func (m *GenericWebHookEvent) Reset() { *m = GenericWebHookEvent{} } +func (*GenericWebHookEvent) ProtoMessage() {} +func (*GenericWebHookEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } + +func (m *GitBuildSource) Reset() { *m = GitBuildSource{} } +func (*GitBuildSource) ProtoMessage() {} +func (*GitBuildSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} } + +func (m *GitHubWebHookCause) Reset() { *m = GitHubWebHookCause{} } +func (*GitHubWebHookCause) ProtoMessage() {} +func (*GitHubWebHookCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} } + +func (m *GitInfo) Reset() { *m = GitInfo{} } +func (*GitInfo) ProtoMessage() {} +func (*GitInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} } + +func (m *GitLabWebHookCause) Reset() { *m = GitLabWebHookCause{} } +func (*GitLabWebHookCause) ProtoMessage() {} +func (*GitLabWebHookCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{33} } + +func (m *GitRefInfo) Reset() { *m = GitRefInfo{} } +func (*GitRefInfo) ProtoMessage() {} +func (*GitRefInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{34} } + +func (m *GitSourceRevision) Reset() { *m = GitSourceRevision{} } +func (*GitSourceRevision) ProtoMessage() {} +func (*GitSourceRevision) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{35} } + +func (m *ImageChangeCause) Reset() { *m = ImageChangeCause{} } +func (*ImageChangeCause) ProtoMessage() {} +func (*ImageChangeCause) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{36} } + +func (m *ImageChangeTrigger) Reset() { *m = ImageChangeTrigger{} } +func (*ImageChangeTrigger) ProtoMessage() {} +func (*ImageChangeTrigger) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{37} } + +func (m *ImageLabel) Reset() { *m = ImageLabel{} } +func (*ImageLabel) ProtoMessage() {} +func (*ImageLabel) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{38} } + +func (m *ImageSource) Reset() { *m = ImageSource{} } +func (*ImageSource) ProtoMessage() {} +func (*ImageSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{39} } + +func (m *ImageSourcePath) Reset() { *m = ImageSourcePath{} } +func (*ImageSourcePath) ProtoMessage() {} +func (*ImageSourcePath) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{40} } + +func (m *JenkinsPipelineBuildStrategy) Reset() { *m = JenkinsPipelineBuildStrategy{} } +func (*JenkinsPipelineBuildStrategy) ProtoMessage() {} +func (*JenkinsPipelineBuildStrategy) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{41} +} + +func (m *OptionalNodeSelector) Reset() { *m = OptionalNodeSelector{} } +func (*OptionalNodeSelector) ProtoMessage() {} +func (*OptionalNodeSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{42} } + +func (m *ProxyConfig) Reset() { *m = ProxyConfig{} } +func (*ProxyConfig) ProtoMessage() {} +func (*ProxyConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{43} } + +func (m *SecretBuildSource) Reset() { *m = SecretBuildSource{} } +func (*SecretBuildSource) ProtoMessage() {} +func (*SecretBuildSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{44} } + +func (m *SecretLocalReference) Reset() { *m = SecretLocalReference{} } +func (*SecretLocalReference) ProtoMessage() {} +func (*SecretLocalReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{45} } + +func (m *SecretSpec) Reset() { *m = SecretSpec{} } +func (*SecretSpec) ProtoMessage() {} +func (*SecretSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{46} } + +func (m *SourceBuildStrategy) Reset() { *m = SourceBuildStrategy{} } +func (*SourceBuildStrategy) ProtoMessage() {} +func (*SourceBuildStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{47} } + +func (m *SourceControlUser) Reset() { *m = SourceControlUser{} } +func (*SourceControlUser) ProtoMessage() {} +func (*SourceControlUser) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{48} } + +func (m *SourceRevision) Reset() { *m = SourceRevision{} } +func (*SourceRevision) ProtoMessage() {} +func (*SourceRevision) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{49} } + +func (m *SourceStrategyOptions) Reset() { *m = SourceStrategyOptions{} } +func (*SourceStrategyOptions) ProtoMessage() {} +func (*SourceStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{50} } + +func (m *StageInfo) Reset() { *m = StageInfo{} } +func (*StageInfo) ProtoMessage() {} +func (*StageInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{51} } + +func (m *StepInfo) Reset() { *m = StepInfo{} } +func (*StepInfo) ProtoMessage() {} +func (*StepInfo) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{52} } + +func (m *WebHookTrigger) Reset() { *m = WebHookTrigger{} } +func (*WebHookTrigger) ProtoMessage() {} +func (*WebHookTrigger) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{53} } + +func init() { + proto.RegisterType((*BinaryBuildRequestOptions)(nil), "github.com.openshift.api.build.v1.BinaryBuildRequestOptions") + proto.RegisterType((*BinaryBuildSource)(nil), "github.com.openshift.api.build.v1.BinaryBuildSource") + proto.RegisterType((*BitbucketWebHookCause)(nil), "github.com.openshift.api.build.v1.BitbucketWebHookCause") + proto.RegisterType((*Build)(nil), "github.com.openshift.api.build.v1.Build") + proto.RegisterType((*BuildConfig)(nil), "github.com.openshift.api.build.v1.BuildConfig") + proto.RegisterType((*BuildConfigList)(nil), "github.com.openshift.api.build.v1.BuildConfigList") + proto.RegisterType((*BuildConfigSpec)(nil), "github.com.openshift.api.build.v1.BuildConfigSpec") + proto.RegisterType((*BuildConfigStatus)(nil), "github.com.openshift.api.build.v1.BuildConfigStatus") + proto.RegisterType((*BuildList)(nil), "github.com.openshift.api.build.v1.BuildList") + proto.RegisterType((*BuildLog)(nil), "github.com.openshift.api.build.v1.BuildLog") + proto.RegisterType((*BuildLogOptions)(nil), "github.com.openshift.api.build.v1.BuildLogOptions") + proto.RegisterType((*BuildOutput)(nil), "github.com.openshift.api.build.v1.BuildOutput") + proto.RegisterType((*BuildPostCommitSpec)(nil), "github.com.openshift.api.build.v1.BuildPostCommitSpec") + proto.RegisterType((*BuildRequest)(nil), "github.com.openshift.api.build.v1.BuildRequest") + proto.RegisterType((*BuildSource)(nil), "github.com.openshift.api.build.v1.BuildSource") + proto.RegisterType((*BuildSpec)(nil), "github.com.openshift.api.build.v1.BuildSpec") + proto.RegisterType((*BuildStatus)(nil), "github.com.openshift.api.build.v1.BuildStatus") + proto.RegisterType((*BuildStatusOutput)(nil), "github.com.openshift.api.build.v1.BuildStatusOutput") + proto.RegisterType((*BuildStatusOutputTo)(nil), "github.com.openshift.api.build.v1.BuildStatusOutputTo") + proto.RegisterType((*BuildStrategy)(nil), "github.com.openshift.api.build.v1.BuildStrategy") + proto.RegisterType((*BuildTriggerCause)(nil), "github.com.openshift.api.build.v1.BuildTriggerCause") + proto.RegisterType((*BuildTriggerPolicy)(nil), "github.com.openshift.api.build.v1.BuildTriggerPolicy") + proto.RegisterType((*CommonSpec)(nil), "github.com.openshift.api.build.v1.CommonSpec") + proto.RegisterType((*CommonWebHookCause)(nil), "github.com.openshift.api.build.v1.CommonWebHookCause") + proto.RegisterType((*ConfigMapBuildSource)(nil), "github.com.openshift.api.build.v1.ConfigMapBuildSource") + proto.RegisterType((*CustomBuildStrategy)(nil), "github.com.openshift.api.build.v1.CustomBuildStrategy") + proto.RegisterType((*DockerBuildStrategy)(nil), "github.com.openshift.api.build.v1.DockerBuildStrategy") + proto.RegisterType((*DockerStrategyOptions)(nil), "github.com.openshift.api.build.v1.DockerStrategyOptions") + proto.RegisterType((*GenericWebHookCause)(nil), "github.com.openshift.api.build.v1.GenericWebHookCause") + proto.RegisterType((*GenericWebHookEvent)(nil), "github.com.openshift.api.build.v1.GenericWebHookEvent") + proto.RegisterType((*GitBuildSource)(nil), "github.com.openshift.api.build.v1.GitBuildSource") + proto.RegisterType((*GitHubWebHookCause)(nil), "github.com.openshift.api.build.v1.GitHubWebHookCause") + proto.RegisterType((*GitInfo)(nil), "github.com.openshift.api.build.v1.GitInfo") + proto.RegisterType((*GitLabWebHookCause)(nil), "github.com.openshift.api.build.v1.GitLabWebHookCause") + proto.RegisterType((*GitRefInfo)(nil), "github.com.openshift.api.build.v1.GitRefInfo") + proto.RegisterType((*GitSourceRevision)(nil), "github.com.openshift.api.build.v1.GitSourceRevision") + proto.RegisterType((*ImageChangeCause)(nil), "github.com.openshift.api.build.v1.ImageChangeCause") + proto.RegisterType((*ImageChangeTrigger)(nil), "github.com.openshift.api.build.v1.ImageChangeTrigger") + proto.RegisterType((*ImageLabel)(nil), "github.com.openshift.api.build.v1.ImageLabel") + proto.RegisterType((*ImageSource)(nil), "github.com.openshift.api.build.v1.ImageSource") + proto.RegisterType((*ImageSourcePath)(nil), "github.com.openshift.api.build.v1.ImageSourcePath") + proto.RegisterType((*JenkinsPipelineBuildStrategy)(nil), "github.com.openshift.api.build.v1.JenkinsPipelineBuildStrategy") + proto.RegisterType((*OptionalNodeSelector)(nil), "github.com.openshift.api.build.v1.OptionalNodeSelector") + proto.RegisterType((*ProxyConfig)(nil), "github.com.openshift.api.build.v1.ProxyConfig") + proto.RegisterType((*SecretBuildSource)(nil), "github.com.openshift.api.build.v1.SecretBuildSource") + proto.RegisterType((*SecretLocalReference)(nil), "github.com.openshift.api.build.v1.SecretLocalReference") + proto.RegisterType((*SecretSpec)(nil), "github.com.openshift.api.build.v1.SecretSpec") + proto.RegisterType((*SourceBuildStrategy)(nil), "github.com.openshift.api.build.v1.SourceBuildStrategy") + proto.RegisterType((*SourceControlUser)(nil), "github.com.openshift.api.build.v1.SourceControlUser") + proto.RegisterType((*SourceRevision)(nil), "github.com.openshift.api.build.v1.SourceRevision") + proto.RegisterType((*SourceStrategyOptions)(nil), "github.com.openshift.api.build.v1.SourceStrategyOptions") + proto.RegisterType((*StageInfo)(nil), "github.com.openshift.api.build.v1.StageInfo") + proto.RegisterType((*StepInfo)(nil), "github.com.openshift.api.build.v1.StepInfo") + proto.RegisterType((*WebHookTrigger)(nil), "github.com.openshift.api.build.v1.WebHookTrigger") +} +func (m *BinaryBuildRequestOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BinaryBuildRequestOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.AsFile))) + i += copy(dAtA[i:], m.AsFile) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Commit))) + i += copy(dAtA[i:], m.Commit) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.AuthorName))) + i += copy(dAtA[i:], m.AuthorName) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.AuthorEmail))) + i += copy(dAtA[i:], m.AuthorEmail) + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CommitterName))) + i += copy(dAtA[i:], m.CommitterName) + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CommitterEmail))) + i += copy(dAtA[i:], m.CommitterEmail) + return i, nil +} + +func (m *BinaryBuildSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BinaryBuildSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.AsFile))) + i += copy(dAtA[i:], m.AsFile) + return i, nil +} + +func (m *BitbucketWebHookCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BitbucketWebHookCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CommonWebHookCause.Size())) + n2, err := m.CommonWebHookCause.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + return i, nil +} + +func (m *Build) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Build) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n3, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n4, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n5, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + return i, nil +} + +func (m *BuildConfig) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildConfig) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n6, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n7, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n8, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + return i, nil +} + +func (m *BuildConfigList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildConfigList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n9, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *BuildConfigSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildConfigSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Triggers) > 0 { + for _, msg := range m.Triggers { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.RunPolicy))) + i += copy(dAtA[i:], m.RunPolicy) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CommonSpec.Size())) + n10, err := m.CommonSpec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + if m.SuccessfulBuildsHistoryLimit != nil { + dAtA[i] = 0x20 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.SuccessfulBuildsHistoryLimit)) + } + if m.FailedBuildsHistoryLimit != nil { + dAtA[i] = 0x28 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.FailedBuildsHistoryLimit)) + } + return i, nil +} + +func (m *BuildConfigStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildConfigStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastVersion)) + return i, nil +} + +func (m *BuildList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n11, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *BuildLog) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildLog) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + return i, nil +} + +func (m *BuildLogOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildLogOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Container))) + i += copy(dAtA[i:], m.Container) + dAtA[i] = 0x10 + i++ + if m.Follow { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x18 + i++ + if m.Previous { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.SinceSeconds != nil { + dAtA[i] = 0x20 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.SinceSeconds)) + } + if m.SinceTime != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SinceTime.Size())) + n12, err := m.SinceTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + } + dAtA[i] = 0x30 + i++ + if m.Timestamps { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.TailLines != nil { + dAtA[i] = 0x38 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.TailLines)) + } + if m.LimitBytes != nil { + dAtA[i] = 0x40 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.LimitBytes)) + } + dAtA[i] = 0x48 + i++ + if m.NoWait { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.Version != nil { + dAtA[i] = 0x50 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.Version)) + } + return i, nil +} + +func (m *BuildOutput) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildOutput) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.To != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.To.Size())) + n13, err := m.To.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + } + if m.PushSecret != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.PushSecret.Size())) + n14, err := m.PushSecret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + } + if len(m.ImageLabels) > 0 { + for _, msg := range m.ImageLabels { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *BuildPostCommitSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildPostCommitSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Command) > 0 { + for _, s := range m.Command { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Args) > 0 { + for _, s := range m.Args { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Script))) + i += copy(dAtA[i:], m.Script) + return i, nil +} + +func (m *BuildRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildRequest) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n15, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n15 + if m.Revision != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Revision.Size())) + n16, err := m.Revision.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n16 + } + if m.TriggeredByImage != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TriggeredByImage.Size())) + n17, err := m.TriggeredByImage.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + } + if m.From != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n18, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + } + if m.Binary != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Binary.Size())) + n19, err := m.Binary.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n19 + } + if m.LastVersion != nil { + dAtA[i] = 0x30 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.LastVersion)) + } + if len(m.Env) > 0 { + for _, msg := range m.Env { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.TriggeredBy) > 0 { + for _, msg := range m.TriggeredBy { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.DockerStrategyOptions != nil { + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DockerStrategyOptions.Size())) + n20, err := m.DockerStrategyOptions.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + } + if m.SourceStrategyOptions != nil { + dAtA[i] = 0x52 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SourceStrategyOptions.Size())) + n21, err := m.SourceStrategyOptions.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + } + return i, nil +} + +func (m *BuildSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.Binary != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Binary.Size())) + n22, err := m.Binary.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n22 + } + if m.Dockerfile != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Dockerfile))) + i += copy(dAtA[i:], *m.Dockerfile) + } + if m.Git != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Git.Size())) + n23, err := m.Git.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n23 + } + if len(m.Images) > 0 { + for _, msg := range m.Images { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ContextDir))) + i += copy(dAtA[i:], m.ContextDir) + if m.SourceSecret != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SourceSecret.Size())) + n24, err := m.SourceSecret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n24 + } + if len(m.Secrets) > 0 { + for _, msg := range m.Secrets { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.ConfigMaps) > 0 { + for _, msg := range m.ConfigMaps { + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *BuildSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CommonSpec.Size())) + n25, err := m.CommonSpec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n25 + if len(m.TriggeredBy) > 0 { + for _, msg := range m.TriggeredBy { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *BuildStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Phase))) + i += copy(dAtA[i:], m.Phase) + dAtA[i] = 0x10 + i++ + if m.Cancelled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + if m.StartTimestamp != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.StartTimestamp.Size())) + n26, err := m.StartTimestamp.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n26 + } + if m.CompletionTimestamp != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CompletionTimestamp.Size())) + n27, err := m.CompletionTimestamp.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n27 + } + dAtA[i] = 0x38 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Duration)) + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.OutputDockerImageReference))) + i += copy(dAtA[i:], m.OutputDockerImageReference) + if m.Config != nil { + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Config.Size())) + n28, err := m.Config.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n28 + } + dAtA[i] = 0x52 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Output.Size())) + n29, err := m.Output.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n29 + if len(m.Stages) > 0 { + for _, msg := range m.Stages { + dAtA[i] = 0x5a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x62 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.LogSnippet))) + i += copy(dAtA[i:], m.LogSnippet) + return i, nil +} + +func (m *BuildStatusOutput) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildStatusOutput) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.To != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.To.Size())) + n30, err := m.To.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n30 + } + return i, nil +} + +func (m *BuildStatusOutputTo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildStatusOutputTo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ImageDigest))) + i += copy(dAtA[i:], m.ImageDigest) + return i, nil +} + +func (m *BuildStrategy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildStrategy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.DockerStrategy != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DockerStrategy.Size())) + n31, err := m.DockerStrategy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n31 + } + if m.SourceStrategy != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SourceStrategy.Size())) + n32, err := m.SourceStrategy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n32 + } + if m.CustomStrategy != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CustomStrategy.Size())) + n33, err := m.CustomStrategy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n33 + } + if m.JenkinsPipelineStrategy != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.JenkinsPipelineStrategy.Size())) + n34, err := m.JenkinsPipelineStrategy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n34 + } + return i, nil +} + +func (m *BuildTriggerCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildTriggerCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + if m.GenericWebHook != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GenericWebHook.Size())) + n35, err := m.GenericWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n35 + } + if m.GitHubWebHook != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitHubWebHook.Size())) + n36, err := m.GitHubWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n36 + } + if m.ImageChangeBuild != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ImageChangeBuild.Size())) + n37, err := m.ImageChangeBuild.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n37 + } + if m.GitLabWebHook != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitLabWebHook.Size())) + n38, err := m.GitLabWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n38 + } + if m.BitbucketWebHook != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.BitbucketWebHook.Size())) + n39, err := m.BitbucketWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n39 + } + return i, nil +} + +func (m *BuildTriggerPolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BuildTriggerPolicy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.GitHubWebHook != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitHubWebHook.Size())) + n40, err := m.GitHubWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n40 + } + if m.GenericWebHook != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GenericWebHook.Size())) + n41, err := m.GenericWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n41 + } + if m.ImageChange != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ImageChange.Size())) + n42, err := m.ImageChange.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n42 + } + if m.GitLabWebHook != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitLabWebHook.Size())) + n43, err := m.GitLabWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n43 + } + if m.BitbucketWebHook != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.BitbucketWebHook.Size())) + n44, err := m.BitbucketWebHook.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n44 + } + return i, nil +} + +func (m *CommonSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CommonSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ServiceAccount))) + i += copy(dAtA[i:], m.ServiceAccount) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Source.Size())) + n45, err := m.Source.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n45 + if m.Revision != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Revision.Size())) + n46, err := m.Revision.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n46 + } + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Strategy.Size())) + n47, err := m.Strategy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n47 + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Output.Size())) + n48, err := m.Output.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n48 + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Resources.Size())) + n49, err := m.Resources.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n49 + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.PostCommit.Size())) + n50, err := m.PostCommit.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n50 + if m.CompletionDeadlineSeconds != nil { + dAtA[i] = 0x40 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.CompletionDeadlineSeconds)) + } + if m.NodeSelector != nil { + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.NodeSelector.Size())) + n51, err := m.NodeSelector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n51 + } + return i, nil +} + +func (m *CommonWebHookCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CommonWebHookCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Revision != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Revision.Size())) + n52, err := m.Revision.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n52 + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Secret))) + i += copy(dAtA[i:], m.Secret) + return i, nil +} + +func (m *ConfigMapBuildSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ConfigMapBuildSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) + n53, err := m.ConfigMap.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n53 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DestinationDir))) + i += copy(dAtA[i:], m.DestinationDir) + return i, nil +} + +func (m *CustomBuildStrategy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomBuildStrategy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n54, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n54 + if m.PullSecret != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.PullSecret.Size())) + n55, err := m.PullSecret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n55 + } + if len(m.Env) > 0 { + for _, msg := range m.Env { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x20 + i++ + if m.ExposeDockerSocket { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x28 + i++ + if m.ForcePull { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.Secrets) > 0 { + for _, msg := range m.Secrets { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.BuildAPIVersion))) + i += copy(dAtA[i:], m.BuildAPIVersion) + return i, nil +} + +func (m *DockerBuildStrategy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DockerBuildStrategy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.From != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n56, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n56 + } + if m.PullSecret != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.PullSecret.Size())) + n57, err := m.PullSecret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n57 + } + dAtA[i] = 0x18 + i++ + if m.NoCache { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.Env) > 0 { + for _, msg := range m.Env { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x28 + i++ + if m.ForcePull { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerfilePath))) + i += copy(dAtA[i:], m.DockerfilePath) + if len(m.BuildArgs) > 0 { + for _, msg := range m.BuildArgs { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.ImageOptimizationPolicy != nil { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ImageOptimizationPolicy))) + i += copy(dAtA[i:], *m.ImageOptimizationPolicy) + } + return i, nil +} + +func (m *DockerStrategyOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DockerStrategyOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.BuildArgs) > 0 { + for _, msg := range m.BuildArgs { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.NoCache != nil { + dAtA[i] = 0x10 + i++ + if *m.NoCache { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + return i, nil +} + +func (m *GenericWebHookCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GenericWebHookCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Revision != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Revision.Size())) + n58, err := m.Revision.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n58 + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Secret))) + i += copy(dAtA[i:], m.Secret) + return i, nil +} + +func (m *GenericWebHookEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GenericWebHookEvent) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.Git != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Git.Size())) + n59, err := m.Git.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n59 + } + if len(m.Env) > 0 { + for _, msg := range m.Env { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.DockerStrategyOptions != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DockerStrategyOptions.Size())) + n60, err := m.DockerStrategyOptions.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n60 + } + return i, nil +} + +func (m *GitBuildSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GitBuildSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.URI))) + i += copy(dAtA[i:], m.URI) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Ref))) + i += copy(dAtA[i:], m.Ref) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ProxyConfig.Size())) + n61, err := m.ProxyConfig.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n61 + return i, nil +} + +func (m *GitHubWebHookCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GitHubWebHookCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Revision != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Revision.Size())) + n62, err := m.Revision.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n62 + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Secret))) + i += copy(dAtA[i:], m.Secret) + return i, nil +} + +func (m *GitInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GitInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitBuildSource.Size())) + n63, err := m.GitBuildSource.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n63 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitSourceRevision.Size())) + n64, err := m.GitSourceRevision.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n64 + if len(m.Refs) > 0 { + for _, msg := range m.Refs { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *GitLabWebHookCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GitLabWebHookCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CommonWebHookCause.Size())) + n65, err := m.CommonWebHookCause.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n65 + return i, nil +} + +func (m *GitRefInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GitRefInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitBuildSource.Size())) + n66, err := m.GitBuildSource.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n66 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.GitSourceRevision.Size())) + n67, err := m.GitSourceRevision.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n67 + return i, nil +} + +func (m *GitSourceRevision) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GitSourceRevision) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Commit))) + i += copy(dAtA[i:], m.Commit) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Author.Size())) + n68, err := m.Author.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n68 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Committer.Size())) + n69, err := m.Committer.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n69 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + return i, nil +} + +func (m *ImageChangeCause) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageChangeCause) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ImageID))) + i += copy(dAtA[i:], m.ImageID) + if m.FromRef != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.FromRef.Size())) + n70, err := m.FromRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n70 + } + return i, nil +} + +func (m *ImageChangeTrigger) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageChangeTrigger) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.LastTriggeredImageID))) + i += copy(dAtA[i:], m.LastTriggeredImageID) + if m.From != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n71, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n71 + } + dAtA[i] = 0x18 + i++ + if m.Paused { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *ImageLabel) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageLabel) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Value))) + i += copy(dAtA[i:], m.Value) + return i, nil +} + +func (m *ImageSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n72, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n72 + if len(m.Paths) > 0 { + for _, msg := range m.Paths { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.PullSecret != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.PullSecret.Size())) + n73, err := m.PullSecret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n73 + } + if len(m.As) > 0 { + for _, s := range m.As { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *ImageSourcePath) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageSourcePath) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.SourcePath))) + i += copy(dAtA[i:], m.SourcePath) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DestinationDir))) + i += copy(dAtA[i:], m.DestinationDir) + return i, nil +} + +func (m *JenkinsPipelineBuildStrategy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *JenkinsPipelineBuildStrategy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.JenkinsfilePath))) + i += copy(dAtA[i:], m.JenkinsfilePath) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Jenkinsfile))) + i += copy(dAtA[i:], m.Jenkinsfile) + if len(m.Env) > 0 { + for _, msg := range m.Env { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m OptionalNodeSelector) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m OptionalNodeSelector) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m) > 0 { + keysForItems := make([]string, 0, len(m)) + for k := range m { + keysForItems = append(keysForItems, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForItems) + for _, k := range keysForItems { + dAtA[i] = 0xa + i++ + v := m[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func (m *ProxyConfig) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProxyConfig) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.HTTPProxy != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.HTTPProxy))) + i += copy(dAtA[i:], *m.HTTPProxy) + } + if m.HTTPSProxy != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.HTTPSProxy))) + i += copy(dAtA[i:], *m.HTTPSProxy) + } + if m.NoProxy != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.NoProxy))) + i += copy(dAtA[i:], *m.NoProxy) + } + return i, nil +} + +func (m *SecretBuildSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SecretBuildSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n74, err := m.Secret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n74 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DestinationDir))) + i += copy(dAtA[i:], m.DestinationDir) + return i, nil +} + +func (m *SecretLocalReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SecretLocalReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + return i, nil +} + +func (m *SecretSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SecretSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SecretSource.Size())) + n75, err := m.SecretSource.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n75 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.MountPath))) + i += copy(dAtA[i:], m.MountPath) + return i, nil +} + +func (m *SourceBuildStrategy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SourceBuildStrategy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n76, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n76 + if m.PullSecret != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.PullSecret.Size())) + n77, err := m.PullSecret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n77 + } + if len(m.Env) > 0 { + for _, msg := range m.Env { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Scripts))) + i += copy(dAtA[i:], m.Scripts) + if m.Incremental != nil { + dAtA[i] = 0x28 + i++ + if *m.Incremental { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + dAtA[i] = 0x30 + i++ + if m.ForcePull { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *SourceControlUser) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SourceControlUser) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Email))) + i += copy(dAtA[i:], m.Email) + return i, nil +} + +func (m *SourceRevision) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SourceRevision) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.Git != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Git.Size())) + n78, err := m.Git.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n78 + } + return i, nil +} + +func (m *SourceStrategyOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SourceStrategyOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Incremental != nil { + dAtA[i] = 0x8 + i++ + if *m.Incremental { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + return i, nil +} + +func (m *StageInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StageInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.StartTime.Size())) + n79, err := m.StartTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n79 + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DurationMilliseconds)) + if len(m.Steps) > 0 { + for _, msg := range m.Steps { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *StepInfo) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StepInfo) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.StartTime.Size())) + n80, err := m.StartTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n80 + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DurationMilliseconds)) + return i, nil +} + +func (m *WebHookTrigger) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *WebHookTrigger) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Secret))) + i += copy(dAtA[i:], m.Secret) + dAtA[i] = 0x10 + i++ + if m.AllowEnv { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.SecretReference != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SecretReference.Size())) + n81, err := m.SecretReference.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n81 + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *BinaryBuildRequestOptions) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.AsFile) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Commit) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.AuthorName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.AuthorEmail) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.CommitterName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.CommitterEmail) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BinaryBuildSource) Size() (n int) { + var l int + _ = l + l = len(m.AsFile) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BitbucketWebHookCause) Size() (n int) { + var l int + _ = l + l = m.CommonWebHookCause.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *Build) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BuildConfig) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BuildConfigList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *BuildConfigSpec) Size() (n int) { + var l int + _ = l + if len(m.Triggers) > 0 { + for _, e := range m.Triggers { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.RunPolicy) + n += 1 + l + sovGenerated(uint64(l)) + l = m.CommonSpec.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.SuccessfulBuildsHistoryLimit != nil { + n += 1 + sovGenerated(uint64(*m.SuccessfulBuildsHistoryLimit)) + } + if m.FailedBuildsHistoryLimit != nil { + n += 1 + sovGenerated(uint64(*m.FailedBuildsHistoryLimit)) + } + return n +} + +func (m *BuildConfigStatus) Size() (n int) { + var l int + _ = l + n += 1 + sovGenerated(uint64(m.LastVersion)) + return n +} + +func (m *BuildList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *BuildLog) Size() (n int) { + var l int + _ = l + return n +} + +func (m *BuildLogOptions) Size() (n int) { + var l int + _ = l + l = len(m.Container) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + n += 2 + if m.SinceSeconds != nil { + n += 1 + sovGenerated(uint64(*m.SinceSeconds)) + } + if m.SinceTime != nil { + l = m.SinceTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 2 + if m.TailLines != nil { + n += 1 + sovGenerated(uint64(*m.TailLines)) + } + if m.LimitBytes != nil { + n += 1 + sovGenerated(uint64(*m.LimitBytes)) + } + n += 2 + if m.Version != nil { + n += 1 + sovGenerated(uint64(*m.Version)) + } + return n +} + +func (m *BuildOutput) Size() (n int) { + var l int + _ = l + if m.To != nil { + l = m.To.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.PushSecret != nil { + l = m.PushSecret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.ImageLabels) > 0 { + for _, e := range m.ImageLabels { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *BuildPostCommitSpec) Size() (n int) { + var l int + _ = l + if len(m.Command) > 0 { + for _, s := range m.Command { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Args) > 0 { + for _, s := range m.Args { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.Script) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BuildRequest) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Revision != nil { + l = m.Revision.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.TriggeredByImage != nil { + l = m.TriggeredByImage.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.From != nil { + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Binary != nil { + l = m.Binary.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.LastVersion != nil { + n += 1 + sovGenerated(uint64(*m.LastVersion)) + } + if len(m.Env) > 0 { + for _, e := range m.Env { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.TriggeredBy) > 0 { + for _, e := range m.TriggeredBy { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.DockerStrategyOptions != nil { + l = m.DockerStrategyOptions.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.SourceStrategyOptions != nil { + l = m.SourceStrategyOptions.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *BuildSource) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.Binary != nil { + l = m.Binary.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Dockerfile != nil { + l = len(*m.Dockerfile) + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Git != nil { + l = m.Git.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Images) > 0 { + for _, e := range m.Images { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.ContextDir) + n += 1 + l + sovGenerated(uint64(l)) + if m.SourceSecret != nil { + l = m.SourceSecret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Secrets) > 0 { + for _, e := range m.Secrets { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.ConfigMaps) > 0 { + for _, e := range m.ConfigMaps { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *BuildSpec) Size() (n int) { + var l int + _ = l + l = m.CommonSpec.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.TriggeredBy) > 0 { + for _, e := range m.TriggeredBy { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *BuildStatus) Size() (n int) { + var l int + _ = l + l = len(m.Phase) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + if m.StartTimestamp != nil { + l = m.StartTimestamp.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.CompletionTimestamp != nil { + l = m.CompletionTimestamp.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 1 + sovGenerated(uint64(m.Duration)) + l = len(m.OutputDockerImageReference) + n += 1 + l + sovGenerated(uint64(l)) + if m.Config != nil { + l = m.Config.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = m.Output.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Stages) > 0 { + for _, e := range m.Stages { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.LogSnippet) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BuildStatusOutput) Size() (n int) { + var l int + _ = l + if m.To != nil { + l = m.To.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *BuildStatusOutputTo) Size() (n int) { + var l int + _ = l + l = len(m.ImageDigest) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BuildStrategy) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.DockerStrategy != nil { + l = m.DockerStrategy.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.SourceStrategy != nil { + l = m.SourceStrategy.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.CustomStrategy != nil { + l = m.CustomStrategy.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.JenkinsPipelineStrategy != nil { + l = m.JenkinsPipelineStrategy.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *BuildTriggerCause) Size() (n int) { + var l int + _ = l + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + if m.GenericWebHook != nil { + l = m.GenericWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.GitHubWebHook != nil { + l = m.GitHubWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.ImageChangeBuild != nil { + l = m.ImageChangeBuild.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.GitLabWebHook != nil { + l = m.GitLabWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.BitbucketWebHook != nil { + l = m.BitbucketWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *BuildTriggerPolicy) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.GitHubWebHook != nil { + l = m.GitHubWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.GenericWebHook != nil { + l = m.GenericWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.ImageChange != nil { + l = m.ImageChange.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.GitLabWebHook != nil { + l = m.GitLabWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.BitbucketWebHook != nil { + l = m.BitbucketWebHook.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *CommonSpec) Size() (n int) { + var l int + _ = l + l = len(m.ServiceAccount) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Source.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Revision != nil { + l = m.Revision.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = m.Strategy.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Output.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Resources.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.PostCommit.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.CompletionDeadlineSeconds != nil { + n += 1 + sovGenerated(uint64(*m.CompletionDeadlineSeconds)) + } + if m.NodeSelector != nil { + l = m.NodeSelector.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *CommonWebHookCause) Size() (n int) { + var l int + _ = l + if m.Revision != nil { + l = m.Revision.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.Secret) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ConfigMapBuildSource) Size() (n int) { + var l int + _ = l + l = m.ConfigMap.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DestinationDir) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *CustomBuildStrategy) Size() (n int) { + var l int + _ = l + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.PullSecret != nil { + l = m.PullSecret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Env) > 0 { + for _, e := range m.Env { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 2 + n += 2 + if len(m.Secrets) > 0 { + for _, e := range m.Secrets { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.BuildAPIVersion) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *DockerBuildStrategy) Size() (n int) { + var l int + _ = l + if m.From != nil { + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.PullSecret != nil { + l = m.PullSecret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 2 + if len(m.Env) > 0 { + for _, e := range m.Env { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 2 + l = len(m.DockerfilePath) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.BuildArgs) > 0 { + for _, e := range m.BuildArgs { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.ImageOptimizationPolicy != nil { + l = len(*m.ImageOptimizationPolicy) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *DockerStrategyOptions) Size() (n int) { + var l int + _ = l + if len(m.BuildArgs) > 0 { + for _, e := range m.BuildArgs { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.NoCache != nil { + n += 2 + } + return n +} + +func (m *GenericWebHookCause) Size() (n int) { + var l int + _ = l + if m.Revision != nil { + l = m.Revision.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.Secret) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GenericWebHookEvent) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.Git != nil { + l = m.Git.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Env) > 0 { + for _, e := range m.Env { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.DockerStrategyOptions != nil { + l = m.DockerStrategyOptions.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *GitBuildSource) Size() (n int) { + var l int + _ = l + l = len(m.URI) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Ref) + n += 1 + l + sovGenerated(uint64(l)) + l = m.ProxyConfig.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GitHubWebHookCause) Size() (n int) { + var l int + _ = l + if m.Revision != nil { + l = m.Revision.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.Secret) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GitInfo) Size() (n int) { + var l int + _ = l + l = m.GitBuildSource.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.GitSourceRevision.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Refs) > 0 { + for _, e := range m.Refs { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *GitLabWebHookCause) Size() (n int) { + var l int + _ = l + l = m.CommonWebHookCause.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GitRefInfo) Size() (n int) { + var l int + _ = l + l = m.GitBuildSource.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.GitSourceRevision.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *GitSourceRevision) Size() (n int) { + var l int + _ = l + l = len(m.Commit) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Author.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Committer.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageChangeCause) Size() (n int) { + var l int + _ = l + l = len(m.ImageID) + n += 1 + l + sovGenerated(uint64(l)) + if m.FromRef != nil { + l = m.FromRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ImageChangeTrigger) Size() (n int) { + var l int + _ = l + l = len(m.LastTriggeredImageID) + n += 1 + l + sovGenerated(uint64(l)) + if m.From != nil { + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 2 + return n +} + +func (m *ImageLabel) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Value) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageSource) Size() (n int) { + var l int + _ = l + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Paths) > 0 { + for _, e := range m.Paths { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.PullSecret != nil { + l = m.PullSecret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.As) > 0 { + for _, s := range m.As { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ImageSourcePath) Size() (n int) { + var l int + _ = l + l = len(m.SourcePath) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DestinationDir) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *JenkinsPipelineBuildStrategy) Size() (n int) { + var l int + _ = l + l = len(m.JenkinsfilePath) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Jenkinsfile) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Env) > 0 { + for _, e := range m.Env { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m OptionalNodeSelector) Size() (n int) { + var l int + _ = l + if len(m) > 0 { + for k, v := range m { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + return n +} + +func (m *ProxyConfig) Size() (n int) { + var l int + _ = l + if m.HTTPProxy != nil { + l = len(*m.HTTPProxy) + n += 1 + l + sovGenerated(uint64(l)) + } + if m.HTTPSProxy != nil { + l = len(*m.HTTPSProxy) + n += 1 + l + sovGenerated(uint64(l)) + } + if m.NoProxy != nil { + l = len(*m.NoProxy) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *SecretBuildSource) Size() (n int) { + var l int + _ = l + l = m.Secret.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DestinationDir) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SecretLocalReference) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SecretSpec) Size() (n int) { + var l int + _ = l + l = m.SecretSource.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.MountPath) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SourceBuildStrategy) Size() (n int) { + var l int + _ = l + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.PullSecret != nil { + l = m.PullSecret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Env) > 0 { + for _, e := range m.Env { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.Scripts) + n += 1 + l + sovGenerated(uint64(l)) + if m.Incremental != nil { + n += 2 + } + n += 2 + return n +} + +func (m *SourceControlUser) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Email) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SourceRevision) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.Git != nil { + l = m.Git.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *SourceStrategyOptions) Size() (n int) { + var l int + _ = l + if m.Incremental != nil { + n += 2 + } + return n +} + +func (m *StageInfo) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = m.StartTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.DurationMilliseconds)) + if len(m.Steps) > 0 { + for _, e := range m.Steps { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *StepInfo) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = m.StartTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.DurationMilliseconds)) + return n +} + +func (m *WebHookTrigger) Size() (n int) { + var l int + _ = l + l = len(m.Secret) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + if m.SecretReference != nil { + l = m.SecretReference.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *BinaryBuildRequestOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BinaryBuildRequestOptions{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `AsFile:` + fmt.Sprintf("%v", this.AsFile) + `,`, + `Commit:` + fmt.Sprintf("%v", this.Commit) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `AuthorName:` + fmt.Sprintf("%v", this.AuthorName) + `,`, + `AuthorEmail:` + fmt.Sprintf("%v", this.AuthorEmail) + `,`, + `CommitterName:` + fmt.Sprintf("%v", this.CommitterName) + `,`, + `CommitterEmail:` + fmt.Sprintf("%v", this.CommitterEmail) + `,`, + `}`, + }, "") + return s +} +func (this *BinaryBuildSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BinaryBuildSource{`, + `AsFile:` + fmt.Sprintf("%v", this.AsFile) + `,`, + `}`, + }, "") + return s +} +func (this *BitbucketWebHookCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BitbucketWebHookCause{`, + `CommonWebHookCause:` + strings.Replace(strings.Replace(this.CommonWebHookCause.String(), "CommonWebHookCause", "CommonWebHookCause", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *Build) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Build{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "BuildSpec", "BuildSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "BuildStatus", "BuildStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildConfig) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildConfig{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "BuildConfigSpec", "BuildConfigSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "BuildConfigStatus", "BuildConfigStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildConfigList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildConfigList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "BuildConfig", "BuildConfig", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildConfigSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildConfigSpec{`, + `Triggers:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Triggers), "BuildTriggerPolicy", "BuildTriggerPolicy", 1), `&`, ``, 1) + `,`, + `RunPolicy:` + fmt.Sprintf("%v", this.RunPolicy) + `,`, + `CommonSpec:` + strings.Replace(strings.Replace(this.CommonSpec.String(), "CommonSpec", "CommonSpec", 1), `&`, ``, 1) + `,`, + `SuccessfulBuildsHistoryLimit:` + valueToStringGenerated(this.SuccessfulBuildsHistoryLimit) + `,`, + `FailedBuildsHistoryLimit:` + valueToStringGenerated(this.FailedBuildsHistoryLimit) + `,`, + `}`, + }, "") + return s +} +func (this *BuildConfigStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildConfigStatus{`, + `LastVersion:` + fmt.Sprintf("%v", this.LastVersion) + `,`, + `}`, + }, "") + return s +} +func (this *BuildList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Build", "Build", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildLog) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildLog{`, + `}`, + }, "") + return s +} +func (this *BuildLogOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildLogOptions{`, + `Container:` + fmt.Sprintf("%v", this.Container) + `,`, + `Follow:` + fmt.Sprintf("%v", this.Follow) + `,`, + `Previous:` + fmt.Sprintf("%v", this.Previous) + `,`, + `SinceSeconds:` + valueToStringGenerated(this.SinceSeconds) + `,`, + `SinceTime:` + strings.Replace(fmt.Sprintf("%v", this.SinceTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `Timestamps:` + fmt.Sprintf("%v", this.Timestamps) + `,`, + `TailLines:` + valueToStringGenerated(this.TailLines) + `,`, + `LimitBytes:` + valueToStringGenerated(this.LimitBytes) + `,`, + `NoWait:` + fmt.Sprintf("%v", this.NoWait) + `,`, + `Version:` + valueToStringGenerated(this.Version) + `,`, + `}`, + }, "") + return s +} +func (this *BuildOutput) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildOutput{`, + `To:` + strings.Replace(fmt.Sprintf("%v", this.To), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `PushSecret:` + strings.Replace(fmt.Sprintf("%v", this.PushSecret), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `ImageLabels:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ImageLabels), "ImageLabel", "ImageLabel", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildPostCommitSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildPostCommitSpec{`, + `Command:` + fmt.Sprintf("%v", this.Command) + `,`, + `Args:` + fmt.Sprintf("%v", this.Args) + `,`, + `Script:` + fmt.Sprintf("%v", this.Script) + `,`, + `}`, + }, "") + return s +} +func (this *BuildRequest) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildRequest{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Revision:` + strings.Replace(fmt.Sprintf("%v", this.Revision), "SourceRevision", "SourceRevision", 1) + `,`, + `TriggeredByImage:` + strings.Replace(fmt.Sprintf("%v", this.TriggeredByImage), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `From:` + strings.Replace(fmt.Sprintf("%v", this.From), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `Binary:` + strings.Replace(fmt.Sprintf("%v", this.Binary), "BinaryBuildSource", "BinaryBuildSource", 1) + `,`, + `LastVersion:` + valueToStringGenerated(this.LastVersion) + `,`, + `Env:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Env), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `TriggeredBy:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TriggeredBy), "BuildTriggerCause", "BuildTriggerCause", 1), `&`, ``, 1) + `,`, + `DockerStrategyOptions:` + strings.Replace(fmt.Sprintf("%v", this.DockerStrategyOptions), "DockerStrategyOptions", "DockerStrategyOptions", 1) + `,`, + `SourceStrategyOptions:` + strings.Replace(fmt.Sprintf("%v", this.SourceStrategyOptions), "SourceStrategyOptions", "SourceStrategyOptions", 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildSource{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Binary:` + strings.Replace(fmt.Sprintf("%v", this.Binary), "BinaryBuildSource", "BinaryBuildSource", 1) + `,`, + `Dockerfile:` + valueToStringGenerated(this.Dockerfile) + `,`, + `Git:` + strings.Replace(fmt.Sprintf("%v", this.Git), "GitBuildSource", "GitBuildSource", 1) + `,`, + `Images:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Images), "ImageSource", "ImageSource", 1), `&`, ``, 1) + `,`, + `ContextDir:` + fmt.Sprintf("%v", this.ContextDir) + `,`, + `SourceSecret:` + strings.Replace(fmt.Sprintf("%v", this.SourceSecret), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `Secrets:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Secrets), "SecretBuildSource", "SecretBuildSource", 1), `&`, ``, 1) + `,`, + `ConfigMaps:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ConfigMaps), "ConfigMapBuildSource", "ConfigMapBuildSource", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildSpec{`, + `CommonSpec:` + strings.Replace(strings.Replace(this.CommonSpec.String(), "CommonSpec", "CommonSpec", 1), `&`, ``, 1) + `,`, + `TriggeredBy:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.TriggeredBy), "BuildTriggerCause", "BuildTriggerCause", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildStatus{`, + `Phase:` + fmt.Sprintf("%v", this.Phase) + `,`, + `Cancelled:` + fmt.Sprintf("%v", this.Cancelled) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `StartTimestamp:` + strings.Replace(fmt.Sprintf("%v", this.StartTimestamp), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `CompletionTimestamp:` + strings.Replace(fmt.Sprintf("%v", this.CompletionTimestamp), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `Duration:` + fmt.Sprintf("%v", this.Duration) + `,`, + `OutputDockerImageReference:` + fmt.Sprintf("%v", this.OutputDockerImageReference) + `,`, + `Config:` + strings.Replace(fmt.Sprintf("%v", this.Config), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `Output:` + strings.Replace(strings.Replace(this.Output.String(), "BuildStatusOutput", "BuildStatusOutput", 1), `&`, ``, 1) + `,`, + `Stages:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Stages), "StageInfo", "StageInfo", 1), `&`, ``, 1) + `,`, + `LogSnippet:` + fmt.Sprintf("%v", this.LogSnippet) + `,`, + `}`, + }, "") + return s +} +func (this *BuildStatusOutput) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildStatusOutput{`, + `To:` + strings.Replace(fmt.Sprintf("%v", this.To), "BuildStatusOutputTo", "BuildStatusOutputTo", 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildStatusOutputTo) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildStatusOutputTo{`, + `ImageDigest:` + fmt.Sprintf("%v", this.ImageDigest) + `,`, + `}`, + }, "") + return s +} +func (this *BuildStrategy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildStrategy{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `DockerStrategy:` + strings.Replace(fmt.Sprintf("%v", this.DockerStrategy), "DockerBuildStrategy", "DockerBuildStrategy", 1) + `,`, + `SourceStrategy:` + strings.Replace(fmt.Sprintf("%v", this.SourceStrategy), "SourceBuildStrategy", "SourceBuildStrategy", 1) + `,`, + `CustomStrategy:` + strings.Replace(fmt.Sprintf("%v", this.CustomStrategy), "CustomBuildStrategy", "CustomBuildStrategy", 1) + `,`, + `JenkinsPipelineStrategy:` + strings.Replace(fmt.Sprintf("%v", this.JenkinsPipelineStrategy), "JenkinsPipelineBuildStrategy", "JenkinsPipelineBuildStrategy", 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildTriggerCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildTriggerCause{`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `GenericWebHook:` + strings.Replace(fmt.Sprintf("%v", this.GenericWebHook), "GenericWebHookCause", "GenericWebHookCause", 1) + `,`, + `GitHubWebHook:` + strings.Replace(fmt.Sprintf("%v", this.GitHubWebHook), "GitHubWebHookCause", "GitHubWebHookCause", 1) + `,`, + `ImageChangeBuild:` + strings.Replace(fmt.Sprintf("%v", this.ImageChangeBuild), "ImageChangeCause", "ImageChangeCause", 1) + `,`, + `GitLabWebHook:` + strings.Replace(fmt.Sprintf("%v", this.GitLabWebHook), "GitLabWebHookCause", "GitLabWebHookCause", 1) + `,`, + `BitbucketWebHook:` + strings.Replace(fmt.Sprintf("%v", this.BitbucketWebHook), "BitbucketWebHookCause", "BitbucketWebHookCause", 1) + `,`, + `}`, + }, "") + return s +} +func (this *BuildTriggerPolicy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BuildTriggerPolicy{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `GitHubWebHook:` + strings.Replace(fmt.Sprintf("%v", this.GitHubWebHook), "WebHookTrigger", "WebHookTrigger", 1) + `,`, + `GenericWebHook:` + strings.Replace(fmt.Sprintf("%v", this.GenericWebHook), "WebHookTrigger", "WebHookTrigger", 1) + `,`, + `ImageChange:` + strings.Replace(fmt.Sprintf("%v", this.ImageChange), "ImageChangeTrigger", "ImageChangeTrigger", 1) + `,`, + `GitLabWebHook:` + strings.Replace(fmt.Sprintf("%v", this.GitLabWebHook), "WebHookTrigger", "WebHookTrigger", 1) + `,`, + `BitbucketWebHook:` + strings.Replace(fmt.Sprintf("%v", this.BitbucketWebHook), "WebHookTrigger", "WebHookTrigger", 1) + `,`, + `}`, + }, "") + return s +} +func (this *CommonSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CommonSpec{`, + `ServiceAccount:` + fmt.Sprintf("%v", this.ServiceAccount) + `,`, + `Source:` + strings.Replace(strings.Replace(this.Source.String(), "BuildSource", "BuildSource", 1), `&`, ``, 1) + `,`, + `Revision:` + strings.Replace(fmt.Sprintf("%v", this.Revision), "SourceRevision", "SourceRevision", 1) + `,`, + `Strategy:` + strings.Replace(strings.Replace(this.Strategy.String(), "BuildStrategy", "BuildStrategy", 1), `&`, ``, 1) + `,`, + `Output:` + strings.Replace(strings.Replace(this.Output.String(), "BuildOutput", "BuildOutput", 1), `&`, ``, 1) + `,`, + `Resources:` + strings.Replace(strings.Replace(this.Resources.String(), "ResourceRequirements", "k8s_io_api_core_v1.ResourceRequirements", 1), `&`, ``, 1) + `,`, + `PostCommit:` + strings.Replace(strings.Replace(this.PostCommit.String(), "BuildPostCommitSpec", "BuildPostCommitSpec", 1), `&`, ``, 1) + `,`, + `CompletionDeadlineSeconds:` + valueToStringGenerated(this.CompletionDeadlineSeconds) + `,`, + `NodeSelector:` + strings.Replace(fmt.Sprintf("%v", this.NodeSelector), "OptionalNodeSelector", "OptionalNodeSelector", 1) + `,`, + `}`, + }, "") + return s +} +func (this *CommonWebHookCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CommonWebHookCause{`, + `Revision:` + strings.Replace(fmt.Sprintf("%v", this.Revision), "SourceRevision", "SourceRevision", 1) + `,`, + `Secret:` + fmt.Sprintf("%v", this.Secret) + `,`, + `}`, + }, "") + return s +} +func (this *ConfigMapBuildSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ConfigMapBuildSource{`, + `ConfigMap:` + strings.Replace(strings.Replace(this.ConfigMap.String(), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1), `&`, ``, 1) + `,`, + `DestinationDir:` + fmt.Sprintf("%v", this.DestinationDir) + `,`, + `}`, + }, "") + return s +} +func (this *CustomBuildStrategy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomBuildStrategy{`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `PullSecret:` + strings.Replace(fmt.Sprintf("%v", this.PullSecret), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `Env:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Env), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `ExposeDockerSocket:` + fmt.Sprintf("%v", this.ExposeDockerSocket) + `,`, + `ForcePull:` + fmt.Sprintf("%v", this.ForcePull) + `,`, + `Secrets:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Secrets), "SecretSpec", "SecretSpec", 1), `&`, ``, 1) + `,`, + `BuildAPIVersion:` + fmt.Sprintf("%v", this.BuildAPIVersion) + `,`, + `}`, + }, "") + return s +} +func (this *DockerBuildStrategy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DockerBuildStrategy{`, + `From:` + strings.Replace(fmt.Sprintf("%v", this.From), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `PullSecret:` + strings.Replace(fmt.Sprintf("%v", this.PullSecret), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `NoCache:` + fmt.Sprintf("%v", this.NoCache) + `,`, + `Env:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Env), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `ForcePull:` + fmt.Sprintf("%v", this.ForcePull) + `,`, + `DockerfilePath:` + fmt.Sprintf("%v", this.DockerfilePath) + `,`, + `BuildArgs:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.BuildArgs), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `ImageOptimizationPolicy:` + valueToStringGenerated(this.ImageOptimizationPolicy) + `,`, + `}`, + }, "") + return s +} +func (this *DockerStrategyOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DockerStrategyOptions{`, + `BuildArgs:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.BuildArgs), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `NoCache:` + valueToStringGenerated(this.NoCache) + `,`, + `}`, + }, "") + return s +} +func (this *GenericWebHookCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GenericWebHookCause{`, + `Revision:` + strings.Replace(fmt.Sprintf("%v", this.Revision), "SourceRevision", "SourceRevision", 1) + `,`, + `Secret:` + fmt.Sprintf("%v", this.Secret) + `,`, + `}`, + }, "") + return s +} +func (this *GenericWebHookEvent) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GenericWebHookEvent{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Git:` + strings.Replace(fmt.Sprintf("%v", this.Git), "GitInfo", "GitInfo", 1) + `,`, + `Env:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Env), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `DockerStrategyOptions:` + strings.Replace(fmt.Sprintf("%v", this.DockerStrategyOptions), "DockerStrategyOptions", "DockerStrategyOptions", 1) + `,`, + `}`, + }, "") + return s +} +func (this *GitBuildSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GitBuildSource{`, + `URI:` + fmt.Sprintf("%v", this.URI) + `,`, + `Ref:` + fmt.Sprintf("%v", this.Ref) + `,`, + `ProxyConfig:` + strings.Replace(strings.Replace(this.ProxyConfig.String(), "ProxyConfig", "ProxyConfig", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *GitHubWebHookCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GitHubWebHookCause{`, + `Revision:` + strings.Replace(fmt.Sprintf("%v", this.Revision), "SourceRevision", "SourceRevision", 1) + `,`, + `Secret:` + fmt.Sprintf("%v", this.Secret) + `,`, + `}`, + }, "") + return s +} +func (this *GitInfo) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GitInfo{`, + `GitBuildSource:` + strings.Replace(strings.Replace(this.GitBuildSource.String(), "GitBuildSource", "GitBuildSource", 1), `&`, ``, 1) + `,`, + `GitSourceRevision:` + strings.Replace(strings.Replace(this.GitSourceRevision.String(), "GitSourceRevision", "GitSourceRevision", 1), `&`, ``, 1) + `,`, + `Refs:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Refs), "GitRefInfo", "GitRefInfo", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *GitLabWebHookCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GitLabWebHookCause{`, + `CommonWebHookCause:` + strings.Replace(strings.Replace(this.CommonWebHookCause.String(), "CommonWebHookCause", "CommonWebHookCause", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *GitRefInfo) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GitRefInfo{`, + `GitBuildSource:` + strings.Replace(strings.Replace(this.GitBuildSource.String(), "GitBuildSource", "GitBuildSource", 1), `&`, ``, 1) + `,`, + `GitSourceRevision:` + strings.Replace(strings.Replace(this.GitSourceRevision.String(), "GitSourceRevision", "GitSourceRevision", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *GitSourceRevision) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GitSourceRevision{`, + `Commit:` + fmt.Sprintf("%v", this.Commit) + `,`, + `Author:` + strings.Replace(strings.Replace(this.Author.String(), "SourceControlUser", "SourceControlUser", 1), `&`, ``, 1) + `,`, + `Committer:` + strings.Replace(strings.Replace(this.Committer.String(), "SourceControlUser", "SourceControlUser", 1), `&`, ``, 1) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `}`, + }, "") + return s +} +func (this *ImageChangeCause) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageChangeCause{`, + `ImageID:` + fmt.Sprintf("%v", this.ImageID) + `,`, + `FromRef:` + strings.Replace(fmt.Sprintf("%v", this.FromRef), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageChangeTrigger) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageChangeTrigger{`, + `LastTriggeredImageID:` + fmt.Sprintf("%v", this.LastTriggeredImageID) + `,`, + `From:` + strings.Replace(fmt.Sprintf("%v", this.From), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `Paused:` + fmt.Sprintf("%v", this.Paused) + `,`, + `}`, + }, "") + return s +} +func (this *ImageLabel) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageLabel{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `}`, + }, "") + return s +} +func (this *ImageSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageSource{`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `Paths:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Paths), "ImageSourcePath", "ImageSourcePath", 1), `&`, ``, 1) + `,`, + `PullSecret:` + strings.Replace(fmt.Sprintf("%v", this.PullSecret), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `As:` + fmt.Sprintf("%v", this.As) + `,`, + `}`, + }, "") + return s +} +func (this *ImageSourcePath) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageSourcePath{`, + `SourcePath:` + fmt.Sprintf("%v", this.SourcePath) + `,`, + `DestinationDir:` + fmt.Sprintf("%v", this.DestinationDir) + `,`, + `}`, + }, "") + return s +} +func (this *JenkinsPipelineBuildStrategy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&JenkinsPipelineBuildStrategy{`, + `JenkinsfilePath:` + fmt.Sprintf("%v", this.JenkinsfilePath) + `,`, + `Jenkinsfile:` + fmt.Sprintf("%v", this.Jenkinsfile) + `,`, + `Env:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Env), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ProxyConfig) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ProxyConfig{`, + `HTTPProxy:` + valueToStringGenerated(this.HTTPProxy) + `,`, + `HTTPSProxy:` + valueToStringGenerated(this.HTTPSProxy) + `,`, + `NoProxy:` + valueToStringGenerated(this.NoProxy) + `,`, + `}`, + }, "") + return s +} +func (this *SecretBuildSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SecretBuildSource{`, + `Secret:` + strings.Replace(strings.Replace(this.Secret.String(), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1), `&`, ``, 1) + `,`, + `DestinationDir:` + fmt.Sprintf("%v", this.DestinationDir) + `,`, + `}`, + }, "") + return s +} +func (this *SecretLocalReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SecretLocalReference{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `}`, + }, "") + return s +} +func (this *SecretSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SecretSpec{`, + `SecretSource:` + strings.Replace(strings.Replace(this.SecretSource.String(), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1), `&`, ``, 1) + `,`, + `MountPath:` + fmt.Sprintf("%v", this.MountPath) + `,`, + `}`, + }, "") + return s +} +func (this *SourceBuildStrategy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SourceBuildStrategy{`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `PullSecret:` + strings.Replace(fmt.Sprintf("%v", this.PullSecret), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `Env:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Env), "EnvVar", "k8s_io_api_core_v1.EnvVar", 1), `&`, ``, 1) + `,`, + `Scripts:` + fmt.Sprintf("%v", this.Scripts) + `,`, + `Incremental:` + valueToStringGenerated(this.Incremental) + `,`, + `ForcePull:` + fmt.Sprintf("%v", this.ForcePull) + `,`, + `}`, + }, "") + return s +} +func (this *SourceControlUser) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SourceControlUser{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Email:` + fmt.Sprintf("%v", this.Email) + `,`, + `}`, + }, "") + return s +} +func (this *SourceRevision) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SourceRevision{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Git:` + strings.Replace(fmt.Sprintf("%v", this.Git), "GitSourceRevision", "GitSourceRevision", 1) + `,`, + `}`, + }, "") + return s +} +func (this *SourceStrategyOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SourceStrategyOptions{`, + `Incremental:` + valueToStringGenerated(this.Incremental) + `,`, + `}`, + }, "") + return s +} +func (this *StageInfo) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&StageInfo{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `StartTime:` + strings.Replace(strings.Replace(this.StartTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `DurationMilliseconds:` + fmt.Sprintf("%v", this.DurationMilliseconds) + `,`, + `Steps:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Steps), "StepInfo", "StepInfo", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *StepInfo) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&StepInfo{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `StartTime:` + strings.Replace(strings.Replace(this.StartTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `DurationMilliseconds:` + fmt.Sprintf("%v", this.DurationMilliseconds) + `,`, + `}`, + }, "") + return s +} +func (this *WebHookTrigger) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&WebHookTrigger{`, + `Secret:` + fmt.Sprintf("%v", this.Secret) + `,`, + `AllowEnv:` + fmt.Sprintf("%v", this.AllowEnv) + `,`, + `SecretReference:` + strings.Replace(fmt.Sprintf("%v", this.SecretReference), "SecretLocalReference", "SecretLocalReference", 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *BinaryBuildRequestOptions) 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 ErrIntOverflowGenerated + } + 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: BinaryBuildRequestOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BinaryBuildRequestOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AsFile", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AsFile = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Commit = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AuthorName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AuthorName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AuthorEmail", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AuthorEmail = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommitterName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CommitterName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommitterEmail", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CommitterEmail = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BinaryBuildSource) 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 ErrIntOverflowGenerated + } + 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: BinaryBuildSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BinaryBuildSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AsFile", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AsFile = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BitbucketWebHookCause) 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 ErrIntOverflowGenerated + } + 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: BitbucketWebHookCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BitbucketWebHookCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommonWebHookCause", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.CommonWebHookCause.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Build) 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 ErrIntOverflowGenerated + } + 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: Build: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Build: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildConfig) 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 ErrIntOverflowGenerated + } + 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: BuildConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildConfigList) 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 ErrIntOverflowGenerated + } + 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: BuildConfigList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildConfigList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, BuildConfig{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildConfigSpec) 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 ErrIntOverflowGenerated + } + 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: BuildConfigSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildConfigSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Triggers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Triggers = append(m.Triggers, BuildTriggerPolicy{}) + if err := m.Triggers[len(m.Triggers)-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 RunPolicy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunPolicy = BuildRunPolicy(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommonSpec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.CommonSpec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SuccessfulBuildsHistoryLimit", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.SuccessfulBuildsHistoryLimit = &v + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FailedBuildsHistoryLimit", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.FailedBuildsHistoryLimit = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildConfigStatus) 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 ErrIntOverflowGenerated + } + 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: BuildConfigStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildConfigStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastVersion", wireType) + } + m.LastVersion = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastVersion |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildList) 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 ErrIntOverflowGenerated + } + 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: BuildList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Build{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildLog) 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 ErrIntOverflowGenerated + } + 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: BuildLog: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildLog: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildLogOptions) 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 ErrIntOverflowGenerated + } + 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: BuildLogOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildLogOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Container = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Follow", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Follow = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Previous", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Previous = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SinceSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.SinceSeconds = &v + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SinceTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SinceTime == nil { + m.SinceTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} + } + if err := m.SinceTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamps", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Timestamps = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TailLines", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.TailLines = &v + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LimitBytes", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.LimitBytes = &v + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NoWait", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.NoWait = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Version = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildOutput) 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 ErrIntOverflowGenerated + } + 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: BuildOutput: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildOutput: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.To == nil { + m.To = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.To.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PushSecret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PushSecret == nil { + m.PushSecret = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.PushSecret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageLabels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageLabels = append(m.ImageLabels, ImageLabel{}) + if err := m.ImageLabels[len(m.ImageLabels)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildPostCommitSpec) 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 ErrIntOverflowGenerated + } + 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: BuildPostCommitSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildPostCommitSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Command", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Command = append(m.Command, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Args = append(m.Args, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Script", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Script = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildRequest) 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 ErrIntOverflowGenerated + } + 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: BuildRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Revision == nil { + m.Revision = &SourceRevision{} + } + if err := m.Revision.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TriggeredByImage", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TriggeredByImage == nil { + m.TriggeredByImage = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.TriggeredByImage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.From == nil { + m.From = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Binary", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Binary == nil { + m.Binary = &BinaryBuildSource{} + } + if err := m.Binary.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastVersion", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.LastVersion = &v + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = append(m.Env, k8s_io_api_core_v1.EnvVar{}) + if err := m.Env[len(m.Env)-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 TriggeredBy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TriggeredBy = append(m.TriggeredBy, BuildTriggerCause{}) + if err := m.TriggeredBy[len(m.TriggeredBy)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerStrategyOptions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DockerStrategyOptions == nil { + m.DockerStrategyOptions = &DockerStrategyOptions{} + } + if err := m.DockerStrategyOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceStrategyOptions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SourceStrategyOptions == nil { + m.SourceStrategyOptions = &SourceStrategyOptions{} + } + if err := m.SourceStrategyOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildSource) 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 ErrIntOverflowGenerated + } + 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: BuildSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = BuildSourceType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Binary", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Binary == nil { + m.Binary = &BinaryBuildSource{} + } + if err := m.Binary.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Dockerfile", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.Dockerfile = &s + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Git", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Git == nil { + m.Git = &GitBuildSource{} + } + if err := m.Git.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Images", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Images = append(m.Images, ImageSource{}) + if err := m.Images[len(m.Images)-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 ContextDir", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ContextDir = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceSecret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SourceSecret == nil { + m.SourceSecret = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.SourceSecret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secrets", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Secrets = append(m.Secrets, SecretBuildSource{}) + if err := m.Secrets[len(m.Secrets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigMaps", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ConfigMaps = append(m.ConfigMaps, ConfigMapBuildSource{}) + if err := m.ConfigMaps[len(m.ConfigMaps)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildSpec) 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 ErrIntOverflowGenerated + } + 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: BuildSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommonSpec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.CommonSpec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TriggeredBy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TriggeredBy = append(m.TriggeredBy, BuildTriggerCause{}) + if err := m.TriggeredBy[len(m.TriggeredBy)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildStatus) 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 ErrIntOverflowGenerated + } + 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: BuildStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Phase", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Phase = BuildPhase(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Cancelled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Cancelled = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = StatusReason(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartTimestamp", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartTimestamp == nil { + m.StartTimestamp = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} + } + if err := m.StartTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CompletionTimestamp", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CompletionTimestamp == nil { + m.CompletionTimestamp = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} + } + if err := m.CompletionTimestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) + } + m.Duration = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Duration |= (time.Duration(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputDockerImageReference", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OutputDockerImageReference = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Config == nil { + m.Config = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.Config.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Output", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Output.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Stages", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Stages = append(m.Stages, StageInfo{}) + if err := m.Stages[len(m.Stages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LogSnippet", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LogSnippet = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildStatusOutput) 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 ErrIntOverflowGenerated + } + 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: BuildStatusOutput: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildStatusOutput: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.To == nil { + m.To = &BuildStatusOutputTo{} + } + if err := m.To.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildStatusOutputTo) 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 ErrIntOverflowGenerated + } + 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: BuildStatusOutputTo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildStatusOutputTo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageDigest", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageDigest = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildStrategy) 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 ErrIntOverflowGenerated + } + 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: BuildStrategy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildStrategy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = BuildStrategyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerStrategy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DockerStrategy == nil { + m.DockerStrategy = &DockerBuildStrategy{} + } + if err := m.DockerStrategy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceStrategy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SourceStrategy == nil { + m.SourceStrategy = &SourceBuildStrategy{} + } + if err := m.SourceStrategy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CustomStrategy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CustomStrategy == nil { + m.CustomStrategy = &CustomBuildStrategy{} + } + if err := m.CustomStrategy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field JenkinsPipelineStrategy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.JenkinsPipelineStrategy == nil { + m.JenkinsPipelineStrategy = &JenkinsPipelineBuildStrategy{} + } + if err := m.JenkinsPipelineStrategy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildTriggerCause) 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 ErrIntOverflowGenerated + } + 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: BuildTriggerCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildTriggerCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GenericWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GenericWebHook == nil { + m.GenericWebHook = &GenericWebHookCause{} + } + if err := m.GenericWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitHubWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GitHubWebHook == nil { + m.GitHubWebHook = &GitHubWebHookCause{} + } + if err := m.GitHubWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageChangeBuild", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ImageChangeBuild == nil { + m.ImageChangeBuild = &ImageChangeCause{} + } + if err := m.ImageChangeBuild.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitLabWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GitLabWebHook == nil { + m.GitLabWebHook = &GitLabWebHookCause{} + } + if err := m.GitLabWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BitbucketWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BitbucketWebHook == nil { + m.BitbucketWebHook = &BitbucketWebHookCause{} + } + if err := m.BitbucketWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BuildTriggerPolicy) 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 ErrIntOverflowGenerated + } + 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: BuildTriggerPolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BuildTriggerPolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = BuildTriggerType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitHubWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GitHubWebHook == nil { + m.GitHubWebHook = &WebHookTrigger{} + } + if err := m.GitHubWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GenericWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GenericWebHook == nil { + m.GenericWebHook = &WebHookTrigger{} + } + if err := m.GenericWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageChange", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ImageChange == nil { + m.ImageChange = &ImageChangeTrigger{} + } + if err := m.ImageChange.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitLabWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.GitLabWebHook == nil { + m.GitLabWebHook = &WebHookTrigger{} + } + if err := m.GitLabWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BitbucketWebHook", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.BitbucketWebHook == nil { + m.BitbucketWebHook = &WebHookTrigger{} + } + if err := m.BitbucketWebHook.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CommonSpec) 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 ErrIntOverflowGenerated + } + 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: CommonSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CommonSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccount", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServiceAccount = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Source.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Revision == nil { + m.Revision = &SourceRevision{} + } + if err := m.Revision.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Strategy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Strategy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Output", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Output.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Resources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PostCommit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PostCommit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CompletionDeadlineSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.CompletionDeadlineSeconds = &v + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NodeSelector == nil { + m.NodeSelector = OptionalNodeSelector{} + } + if err := m.NodeSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CommonWebHookCause) 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 ErrIntOverflowGenerated + } + 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: CommonWebHookCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CommonWebHookCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Revision == nil { + m.Revision = &SourceRevision{} + } + if err := m.Revision.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Secret = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConfigMapBuildSource) 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 ErrIntOverflowGenerated + } + 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: ConfigMapBuildSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConfigMapBuildSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigMap", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConfigMap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationDir", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DestinationDir = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomBuildStrategy) 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 ErrIntOverflowGenerated + } + 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: CustomBuildStrategy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomBuildStrategy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PullSecret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PullSecret == nil { + m.PullSecret = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.PullSecret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = append(m.Env, k8s_io_api_core_v1.EnvVar{}) + if err := m.Env[len(m.Env)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExposeDockerSocket", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ExposeDockerSocket = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ForcePull", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ForcePull = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secrets", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Secrets = append(m.Secrets, SecretSpec{}) + if err := m.Secrets[len(m.Secrets)-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 BuildAPIVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BuildAPIVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DockerBuildStrategy) 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 ErrIntOverflowGenerated + } + 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: DockerBuildStrategy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DockerBuildStrategy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.From == nil { + m.From = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PullSecret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PullSecret == nil { + m.PullSecret = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.PullSecret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NoCache", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.NoCache = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = append(m.Env, k8s_io_api_core_v1.EnvVar{}) + if err := m.Env[len(m.Env)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ForcePull", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ForcePull = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerfilePath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerfilePath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BuildArgs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BuildArgs = append(m.BuildArgs, k8s_io_api_core_v1.EnvVar{}) + if err := m.BuildArgs[len(m.BuildArgs)-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 ImageOptimizationPolicy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := ImageOptimizationPolicy(dAtA[iNdEx:postIndex]) + m.ImageOptimizationPolicy = &s + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DockerStrategyOptions) 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 ErrIntOverflowGenerated + } + 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: DockerStrategyOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DockerStrategyOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BuildArgs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BuildArgs = append(m.BuildArgs, k8s_io_api_core_v1.EnvVar{}) + if err := m.BuildArgs[len(m.BuildArgs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NoCache", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.NoCache = &b + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GenericWebHookCause) 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 ErrIntOverflowGenerated + } + 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: GenericWebHookCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GenericWebHookCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Revision == nil { + m.Revision = &SourceRevision{} + } + if err := m.Revision.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Secret = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GenericWebHookEvent) 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 ErrIntOverflowGenerated + } + 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: GenericWebHookEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GenericWebHookEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = BuildSourceType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Git", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Git == nil { + m.Git = &GitInfo{} + } + if err := m.Git.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = append(m.Env, k8s_io_api_core_v1.EnvVar{}) + if err := m.Env[len(m.Env)-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 DockerStrategyOptions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DockerStrategyOptions == nil { + m.DockerStrategyOptions = &DockerStrategyOptions{} + } + if err := m.DockerStrategyOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GitBuildSource) 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 ErrIntOverflowGenerated + } + 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: GitBuildSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitBuildSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field URI", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.URI = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ref", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ref = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProxyConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ProxyConfig.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GitHubWebHookCause) 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 ErrIntOverflowGenerated + } + 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: GitHubWebHookCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitHubWebHookCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Revision == nil { + m.Revision = &SourceRevision{} + } + if err := m.Revision.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Secret = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GitInfo) 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 ErrIntOverflowGenerated + } + 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: GitInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitBuildSource", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.GitBuildSource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitSourceRevision", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.GitSourceRevision.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Refs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Refs = append(m.Refs, GitRefInfo{}) + if err := m.Refs[len(m.Refs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GitLabWebHookCause) 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 ErrIntOverflowGenerated + } + 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: GitLabWebHookCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitLabWebHookCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommonWebHookCause", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.CommonWebHookCause.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GitRefInfo) 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 ErrIntOverflowGenerated + } + 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: GitRefInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitRefInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitBuildSource", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.GitBuildSource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GitSourceRevision", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.GitSourceRevision.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GitSourceRevision) 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 ErrIntOverflowGenerated + } + 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: GitSourceRevision: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GitSourceRevision: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Commit", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Commit = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Author", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Author.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Committer", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Committer.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageChangeCause) 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 ErrIntOverflowGenerated + } + 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: ImageChangeCause: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageChangeCause: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FromRef", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.FromRef == nil { + m.FromRef = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.FromRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageChangeTrigger) 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 ErrIntOverflowGenerated + } + 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: ImageChangeTrigger: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageChangeTrigger: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTriggeredImageID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LastTriggeredImageID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.From == nil { + m.From = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Paused", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Paused = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageLabel) 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 ErrIntOverflowGenerated + } + 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: ImageLabel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageLabel: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageSource) 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 ErrIntOverflowGenerated + } + 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: ImageSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Paths", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Paths = append(m.Paths, ImageSourcePath{}) + if err := m.Paths[len(m.Paths)-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 PullSecret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PullSecret == nil { + m.PullSecret = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.PullSecret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field As", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.As = append(m.As, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageSourcePath) 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 ErrIntOverflowGenerated + } + 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: ImageSourcePath: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageSourcePath: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourcePath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SourcePath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationDir", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DestinationDir = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *JenkinsPipelineBuildStrategy) 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 ErrIntOverflowGenerated + } + 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: JenkinsPipelineBuildStrategy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: JenkinsPipelineBuildStrategy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field JenkinsfilePath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.JenkinsfilePath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Jenkinsfile", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Jenkinsfile = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = append(m.Env, k8s_io_api_core_v1.EnvVar{}) + if err := m.Env[len(m.Env)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OptionalNodeSelector) 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 ErrIntOverflowGenerated + } + 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: OptionalNodeSelector: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OptionalNodeSelector: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if *m == nil { + *m = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + (*m)[mapkey] = mapvalue + } else { + var mapvalue string + (*m)[mapkey] = mapvalue + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProxyConfig) 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 ErrIntOverflowGenerated + } + 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: ProxyConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProxyConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HTTPProxy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.HTTPProxy = &s + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HTTPSProxy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.HTTPSProxy = &s + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NoProxy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.NoProxy = &s + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SecretBuildSource) 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 ErrIntOverflowGenerated + } + 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: SecretBuildSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SecretBuildSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Secret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationDir", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DestinationDir = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SecretLocalReference) 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 ErrIntOverflowGenerated + } + 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: SecretLocalReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SecretLocalReference: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SecretSpec) 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 ErrIntOverflowGenerated + } + 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: SecretSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SecretSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecretSource", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SecretSource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MountPath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MountPath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SourceBuildStrategy) 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 ErrIntOverflowGenerated + } + 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: SourceBuildStrategy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SourceBuildStrategy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PullSecret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.PullSecret == nil { + m.PullSecret = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.PullSecret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Env = append(m.Env, k8s_io_api_core_v1.EnvVar{}) + if err := m.Env[len(m.Env)-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 Scripts", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Scripts = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Incremental", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Incremental = &b + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ForcePull", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ForcePull = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SourceControlUser) 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 ErrIntOverflowGenerated + } + 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: SourceControlUser: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SourceControlUser: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Email", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Email = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SourceRevision) 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 ErrIntOverflowGenerated + } + 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: SourceRevision: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SourceRevision: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = BuildSourceType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Git", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Git == nil { + m.Git = &GitSourceRevision{} + } + if err := m.Git.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SourceStrategyOptions) 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 ErrIntOverflowGenerated + } + 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: SourceStrategyOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SourceStrategyOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Incremental", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Incremental = &b + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *StageInfo) 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 ErrIntOverflowGenerated + } + 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: StageInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StageInfo: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = StageName(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.StartTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DurationMilliseconds", wireType) + } + m.DurationMilliseconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DurationMilliseconds |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Steps", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Steps = append(m.Steps, StepInfo{}) + if err := m.Steps[len(m.Steps)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *StepInfo) 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 ErrIntOverflowGenerated + } + 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: StepInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StepInfo: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = StepName(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.StartTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DurationMilliseconds", wireType) + } + m.DurationMilliseconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DurationMilliseconds |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *WebHookTrigger) 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 ErrIntOverflowGenerated + } + 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: WebHookTrigger: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: WebHookTrigger: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Secret = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowEnv", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowEnv = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SecretReference", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SecretReference == nil { + m.SecretReference = &SecretLocalReference{} + } + if err := m.SecretReference.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/build/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 3931 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5b, 0xcd, 0x6f, 0x1c, 0xc9, + 0x75, 0x57, 0xcf, 0x0c, 0x87, 0x33, 0x6f, 0x28, 0x7e, 0x14, 0xa5, 0xd5, 0x48, 0x96, 0x39, 0xda, + 0x5e, 0xec, 0x42, 0x9b, 0xdd, 0x1d, 0x9a, 0x5c, 0x49, 0x91, 0x6d, 0xc4, 0x01, 0x87, 0xa4, 0xb4, + 0x94, 0x29, 0x89, 0xa8, 0xa1, 0x77, 0x37, 0x5e, 0xc1, 0x49, 0xb3, 0xa7, 0x66, 0xd8, 0xcb, 0x9e, + 0xee, 0xde, 0xae, 0x1e, 0xee, 0xd2, 0x40, 0x80, 0x45, 0x00, 0x63, 0x61, 0xfb, 0x12, 0x5f, 0x8c, + 0x24, 0x97, 0x24, 0x08, 0x72, 0xca, 0x29, 0x87, 0x00, 0x06, 0x7c, 0x09, 0x10, 0x1f, 0xf6, 0xe0, + 0x83, 0x83, 0xe4, 0xb0, 0x40, 0x8c, 0x41, 0x76, 0x72, 0xc8, 0xff, 0xa0, 0x43, 0x10, 0xd4, 0x47, + 0x77, 0x57, 0xf7, 0xf4, 0x50, 0x3d, 0xa4, 0xac, 0x38, 0xc9, 0x8d, 0xf3, 0x3e, 0x7e, 0xaf, 0xaa, + 0xfa, 0x55, 0xbd, 0x8f, 0x2a, 0xc2, 0x5a, 0xcf, 0x0a, 0x0e, 0x07, 0x07, 0x4d, 0xd3, 0xed, 0xaf, + 0xba, 0x1e, 0x71, 0xe8, 0xa1, 0xd5, 0x0d, 0x56, 0x0d, 0xcf, 0x5a, 0x3d, 0x18, 0x58, 0x76, 0x67, + 0xf5, 0x78, 0x6d, 0xb5, 0x47, 0x1c, 0xe2, 0x1b, 0x01, 0xe9, 0x34, 0x3d, 0xdf, 0x0d, 0x5c, 0xf4, + 0x72, 0xac, 0xd2, 0x8c, 0x54, 0x9a, 0x86, 0x67, 0x35, 0xb9, 0x4a, 0xf3, 0x78, 0xed, 0xda, 0x5b, + 0x0a, 0x6a, 0xcf, 0xed, 0xb9, 0xab, 0x5c, 0xf3, 0x60, 0xd0, 0xe5, 0xbf, 0xf8, 0x0f, 0xfe, 0x97, + 0x40, 0xbc, 0xa6, 0x1f, 0xdd, 0xa5, 0x4d, 0xcb, 0xe5, 0x66, 0x4d, 0xd7, 0x27, 0x19, 0x56, 0xaf, + 0xdd, 0x8a, 0x65, 0xfa, 0x86, 0x79, 0x68, 0x39, 0xc4, 0x3f, 0x59, 0xf5, 0x8e, 0x7a, 0x8c, 0x40, + 0x57, 0xfb, 0x24, 0x30, 0xb2, 0xb4, 0x56, 0x27, 0x69, 0xf9, 0x03, 0x27, 0xb0, 0xfa, 0x64, 0x4c, + 0xe1, 0xce, 0xb3, 0x14, 0xa8, 0x79, 0x48, 0xfa, 0xc6, 0x98, 0xde, 0xdb, 0x93, 0xf4, 0x06, 0x81, + 0x65, 0xaf, 0x5a, 0x4e, 0x40, 0x03, 0x3f, 0xad, 0xa4, 0xff, 0x63, 0x09, 0xae, 0xb6, 0x2c, 0xc7, + 0xf0, 0x4f, 0x5a, 0x6c, 0xe5, 0x30, 0xf9, 0x68, 0x40, 0x68, 0xf0, 0xd8, 0x0b, 0x2c, 0xd7, 0xa1, + 0xe8, 0x8f, 0xa0, 0xc2, 0xa6, 0xd5, 0x31, 0x02, 0xa3, 0xae, 0xdd, 0xd0, 0x6e, 0xd6, 0xd6, 0xbf, + 0xd6, 0x14, 0x56, 0x9a, 0xaa, 0x95, 0xa6, 0x77, 0xd4, 0x63, 0x04, 0xda, 0x64, 0xd2, 0xcd, 0xe3, + 0xb5, 0xe6, 0xe3, 0x83, 0x0f, 0x89, 0x19, 0x3c, 0x24, 0x81, 0xd1, 0x42, 0x9f, 0x0f, 0x1b, 0x17, + 0x46, 0xc3, 0x06, 0xc4, 0x34, 0x1c, 0xa1, 0xa2, 0xd7, 0xa0, 0x6c, 0xd0, 0x7b, 0x96, 0x4d, 0xea, + 0x85, 0x1b, 0xda, 0xcd, 0x6a, 0x6b, 0x5e, 0x4a, 0x97, 0x37, 0x38, 0x15, 0x4b, 0x2e, 0xba, 0x03, + 0xf3, 0x3e, 0x39, 0xb6, 0xa8, 0xe5, 0x3a, 0x9b, 0x6e, 0xbf, 0x6f, 0x05, 0xf5, 0x62, 0x52, 0x5e, + 0x50, 0x71, 0x4a, 0x0a, 0x7d, 0x1d, 0x16, 0x42, 0xca, 0x43, 0x42, 0xa9, 0xd1, 0x23, 0xf5, 0x12, + 0x57, 0x5c, 0x90, 0x8a, 0xb3, 0x92, 0x8c, 0xd3, 0x72, 0xa8, 0x05, 0x28, 0x24, 0x6d, 0x0c, 0x82, + 0x43, 0xd7, 0x7f, 0x64, 0xf4, 0x49, 0x7d, 0x86, 0x6b, 0x47, 0x93, 0x8a, 0x39, 0x38, 0x43, 0x1a, + 0x6d, 0xc3, 0x72, 0x92, 0xba, 0xdd, 0x37, 0x2c, 0xbb, 0x5e, 0xe6, 0x20, 0xcb, 0x12, 0xa4, 0xa6, + 0xb0, 0x70, 0x96, 0x3c, 0xfa, 0x36, 0x5c, 0x4e, 0xce, 0x2b, 0x20, 0x62, 0x34, 0xb3, 0x1c, 0xe8, + 0xb2, 0x04, 0xba, 0x98, 0x60, 0xe2, 0x6c, 0x1d, 0xf4, 0x08, 0x5e, 0x1a, 0x63, 0x88, 0x61, 0x55, + 0x38, 0xda, 0x4b, 0x12, 0x6d, 0x3e, 0xc9, 0xc5, 0x13, 0xb4, 0xf4, 0x6f, 0xc2, 0x92, 0xe2, 0x41, + 0x6d, 0x77, 0xe0, 0x9b, 0x44, 0xf9, 0xae, 0xda, 0x69, 0xdf, 0x55, 0xff, 0x91, 0x06, 0x97, 0x5b, + 0x56, 0x70, 0x30, 0x30, 0x8f, 0x48, 0xf0, 0x1e, 0x39, 0x78, 0xc7, 0x75, 0x8f, 0x36, 0x8d, 0x01, + 0x25, 0xe8, 0x23, 0x00, 0xd3, 0xed, 0xf7, 0x5d, 0xa7, 0xed, 0x11, 0x53, 0x7a, 0xdf, 0xed, 0xe6, + 0x33, 0x37, 0x7e, 0x73, 0x93, 0x2b, 0xa9, 0x50, 0xad, 0x6b, 0xd2, 0x38, 0x1a, 0xe7, 0x61, 0xc5, + 0x88, 0xfe, 0x93, 0x02, 0xcc, 0xf0, 0x49, 0xbc, 0x00, 0xc7, 0x7f, 0x04, 0x25, 0xca, 0x26, 0x56, + 0xe0, 0xe8, 0x6f, 0xe6, 0x98, 0x98, 0x58, 0x5e, 0x8f, 0x98, 0xad, 0x39, 0x89, 0x5c, 0x62, 0xbf, + 0x30, 0xc7, 0x41, 0xef, 0x42, 0x99, 0x06, 0x46, 0x30, 0xa0, 0x7c, 0x63, 0xd4, 0xd6, 0x9b, 0xb9, + 0x11, 0xb9, 0x56, 0xfc, 0x81, 0xc4, 0x6f, 0x2c, 0xd1, 0xf4, 0xbf, 0x29, 0x40, 0x8d, 0xcb, 0x6d, + 0xba, 0x4e, 0xd7, 0xea, 0xbd, 0x80, 0x95, 0xd9, 0x4f, 0xac, 0xcc, 0x7a, 0xde, 0x79, 0x88, 0xf1, + 0x4d, 0x5c, 0x9f, 0x27, 0xa9, 0xf5, 0xb9, 0x35, 0x25, 0xee, 0xe9, 0xab, 0xf4, 0x0b, 0x0d, 0x16, + 0x14, 0xe9, 0x5d, 0x8b, 0x06, 0xe8, 0xc9, 0xd8, 0x4a, 0x35, 0xf3, 0xad, 0x14, 0xd3, 0xe6, 0xeb, + 0xb4, 0x28, 0xad, 0x55, 0x42, 0x8a, 0xb2, 0x4a, 0x6d, 0x98, 0xb1, 0x02, 0xd2, 0xa7, 0xf5, 0xc2, + 0x8d, 0xe2, 0x34, 0x9f, 0x5b, 0x0c, 0xb0, 0x75, 0x51, 0x42, 0xcf, 0xec, 0x30, 0x10, 0x2c, 0xb0, + 0xf4, 0x5f, 0x17, 0x13, 0xd3, 0x60, 0xcb, 0x87, 0x4c, 0xa8, 0x04, 0xbe, 0xd5, 0xeb, 0x11, 0x9f, + 0xd6, 0x35, 0x6e, 0xeb, 0x76, 0x5e, 0x5b, 0xfb, 0x42, 0x6f, 0xcf, 0xb5, 0x2d, 0xf3, 0x24, 0x9e, + 0x8d, 0x24, 0x53, 0x1c, 0x01, 0xa3, 0x0d, 0xa8, 0xfa, 0x03, 0x47, 0x08, 0xca, 0x48, 0xf0, 0x8a, + 0x14, 0xaf, 0xe2, 0x90, 0xf1, 0x74, 0xd8, 0x98, 0x17, 0x51, 0x2a, 0xa4, 0xe0, 0x58, 0x0b, 0x19, + 0x89, 0xf3, 0x42, 0x7c, 0xe4, 0xb7, 0x72, 0x9f, 0x17, 0xdc, 0x6f, 0x22, 0xbf, 0x8c, 0x69, 0xea, + 0xf9, 0x80, 0x3a, 0x70, 0x9d, 0x0e, 0x4c, 0x93, 0x50, 0xda, 0x1d, 0xd8, 0x7c, 0x24, 0xf4, 0x1d, + 0x8b, 0x06, 0xae, 0x7f, 0xb2, 0x6b, 0xb1, 0x90, 0xc4, 0x22, 0xcb, 0x4c, 0xeb, 0xc6, 0x68, 0xd8, + 0xb8, 0xde, 0x3e, 0x45, 0x0e, 0x9f, 0x8a, 0x82, 0xde, 0x87, 0x7a, 0xd7, 0xb0, 0x6c, 0xd2, 0xc9, + 0xb0, 0x30, 0xc3, 0x2d, 0x5c, 0x1f, 0x0d, 0x1b, 0xf5, 0x7b, 0x13, 0x64, 0xf0, 0x44, 0x6d, 0xfd, + 0x01, 0x2c, 0x8d, 0xb9, 0x34, 0xba, 0x0d, 0x35, 0xdb, 0xa0, 0xc1, 0xbb, 0xc4, 0x67, 0x67, 0x3b, + 0xf7, 0xd4, 0x62, 0x1c, 0x9a, 0x76, 0x63, 0x16, 0x56, 0xe5, 0xf4, 0x9f, 0x69, 0x50, 0xe5, 0x60, + 0x2f, 0xc0, 0xd7, 0x1f, 0x26, 0x7d, 0xfd, 0x66, 0x5e, 0xff, 0x9b, 0xe0, 0xe5, 0x00, 0x15, 0x31, + 0x72, 0xb7, 0xa7, 0x7f, 0x56, 0x92, 0x1e, 0xbf, 0xeb, 0xf6, 0xc2, 0xac, 0x67, 0x15, 0xaa, 0xa6, + 0xeb, 0x04, 0x06, 0x1b, 0xb2, 0x0c, 0x5f, 0x4b, 0xa1, 0x33, 0x6e, 0x86, 0x0c, 0x1c, 0xcb, 0xb0, + 0x60, 0xd7, 0x75, 0x6d, 0xdb, 0xfd, 0x98, 0xbb, 0x6e, 0x25, 0x3e, 0x25, 0xee, 0x71, 0x2a, 0x96, + 0x5c, 0xf4, 0x26, 0x54, 0x3c, 0x16, 0x44, 0x5d, 0x79, 0x0a, 0x55, 0xe2, 0x59, 0xef, 0x49, 0x3a, + 0x8e, 0x24, 0xd0, 0x2d, 0x98, 0xa3, 0x96, 0x63, 0x92, 0x36, 0x31, 0x5d, 0xa7, 0x43, 0xb9, 0x77, + 0x15, 0x5b, 0x8b, 0xa3, 0x61, 0x63, 0xae, 0xad, 0xd0, 0x71, 0x42, 0x0a, 0xbd, 0x07, 0x55, 0xfe, + 0x7b, 0xdf, 0x92, 0xc9, 0x4a, 0x6d, 0xfd, 0x77, 0xf2, 0x7d, 0x0a, 0xa6, 0xd1, 0xba, 0xc8, 0x26, + 0xd9, 0x0e, 0x01, 0x70, 0x8c, 0x85, 0xd6, 0x01, 0x58, 0xf6, 0x49, 0x03, 0xa3, 0xef, 0x51, 0x9e, + 0xc1, 0x54, 0xe2, 0x0d, 0xb3, 0x1f, 0x71, 0xb0, 0x22, 0x85, 0xde, 0x80, 0x6a, 0x60, 0x58, 0xf6, + 0xae, 0xe5, 0x10, 0xca, 0x73, 0x95, 0xa2, 0x30, 0xb0, 0x1f, 0x12, 0x71, 0xcc, 0x47, 0x4d, 0x00, + 0x9b, 0xb9, 0x69, 0xeb, 0x24, 0x20, 0x94, 0xe7, 0x22, 0xc5, 0xd6, 0x3c, 0x03, 0xdf, 0x8d, 0xa8, + 0x58, 0x91, 0x60, 0xab, 0xee, 0xb8, 0x1f, 0x1b, 0x56, 0x50, 0xaf, 0x26, 0x57, 0xfd, 0x91, 0xfb, + 0x9e, 0x61, 0x05, 0x58, 0x72, 0xd1, 0xab, 0x30, 0x7b, 0x2c, 0x9d, 0x1b, 0x38, 0x68, 0x8d, 0xa5, + 0x7d, 0xa1, 0x53, 0x87, 0x3c, 0xfd, 0x47, 0x61, 0xa0, 0x7b, 0x3c, 0x08, 0xbc, 0x41, 0x80, 0xbe, + 0x09, 0x85, 0xc0, 0x95, 0xce, 0xfc, 0x8a, 0xb2, 0x82, 0x4d, 0x56, 0x1e, 0xc4, 0x01, 0x0d, 0x93, + 0x2e, 0xf1, 0x89, 0x63, 0x92, 0x56, 0x79, 0x34, 0x6c, 0x14, 0xf6, 0x5d, 0x5c, 0x08, 0x5c, 0xf4, + 0x3e, 0x80, 0x37, 0xa0, 0x87, 0x6d, 0x62, 0xfa, 0x24, 0x90, 0x91, 0xec, 0x66, 0x16, 0xc8, 0xae, + 0x6b, 0x1a, 0x76, 0x1a, 0x89, 0xcf, 0x7a, 0x2f, 0xd2, 0xc7, 0x0a, 0x16, 0xea, 0x40, 0xcd, 0xea, + 0x1b, 0x3d, 0xb2, 0x6b, 0x1c, 0x10, 0x9b, 0xb9, 0x51, 0x31, 0xe7, 0x39, 0xb7, 0x13, 0x69, 0xc5, + 0xbb, 0x3b, 0xa6, 0x51, 0xac, 0xc2, 0xea, 0x7f, 0xa2, 0xc1, 0x32, 0x5f, 0x8c, 0x3d, 0x97, 0x06, + 0x22, 0xdf, 0xe3, 0x27, 0xe0, 0xab, 0x30, 0xcb, 0xce, 0x43, 0xc3, 0xe9, 0xf0, 0x58, 0x50, 0x15, + 0x6b, 0xb9, 0x29, 0x48, 0x38, 0xe4, 0xa1, 0xeb, 0x50, 0x32, 0xfc, 0x9e, 0xd8, 0xaf, 0xd5, 0x56, + 0x85, 0x85, 0xe2, 0x0d, 0xbf, 0x47, 0x31, 0xa7, 0xb2, 0x0f, 0x47, 0x4d, 0xdf, 0xf2, 0xc6, 0x72, + 0xf8, 0x36, 0xa7, 0x62, 0xc9, 0xd5, 0x7f, 0x31, 0x0b, 0x73, 0x6a, 0x55, 0xf2, 0x02, 0x72, 0x8f, + 0x0f, 0xa0, 0x12, 0x66, 0xb9, 0xf2, 0xab, 0xad, 0xe5, 0x58, 0x5a, 0x91, 0xf3, 0x62, 0xa9, 0xd8, + 0x9a, 0x63, 0x1b, 0x3a, 0xfc, 0x85, 0x23, 0x40, 0x44, 0x60, 0x51, 0x06, 0x3c, 0xd2, 0x69, 0x9d, + 0xf0, 0xb5, 0x97, 0x71, 0x2a, 0x97, 0x7f, 0x5d, 0x1a, 0x0d, 0x1b, 0x8b, 0xfb, 0x29, 0x00, 0x3c, + 0x06, 0x89, 0x36, 0xa0, 0xd4, 0xf5, 0xdd, 0x3e, 0x3f, 0x2f, 0x72, 0x42, 0xf3, 0x2f, 0x74, 0xcf, + 0x77, 0xfb, 0x98, 0xab, 0xa2, 0xf7, 0xa1, 0x7c, 0xc0, 0x53, 0x7a, 0x79, 0x82, 0xe4, 0x4a, 0x96, + 0xd2, 0x35, 0x40, 0x0b, 0xd8, 0x37, 0x15, 0x64, 0x2c, 0xf1, 0xd0, 0x5a, 0x32, 0xda, 0x94, 0xf9, + 0x86, 0x5c, 0x38, 0x2d, 0xd2, 0xa0, 0xaf, 0x43, 0x91, 0x38, 0xc7, 0xf5, 0x59, 0xee, 0xe9, 0xd7, + 0xb2, 0xa6, 0xb3, 0xed, 0x1c, 0xbf, 0x6b, 0xf8, 0xad, 0x9a, 0xfc, 0xb4, 0xc5, 0x6d, 0xe7, 0x18, + 0x33, 0x1d, 0x74, 0x04, 0x35, 0x65, 0x79, 0xea, 0x15, 0x0e, 0x71, 0x6b, 0xca, 0xf4, 0x45, 0xd4, + 0x10, 0xd1, 0x9e, 0x51, 0xbe, 0x00, 0x56, 0xd1, 0xd1, 0x0f, 0x35, 0xb8, 0xdc, 0x71, 0xcd, 0x23, + 0xe2, 0xb7, 0x03, 0x56, 0x62, 0xf7, 0x4e, 0x64, 0x40, 0xe1, 0xe7, 0x53, 0x6d, 0xfd, 0x6e, 0x0e, + 0xbb, 0x5b, 0x59, 0xfa, 0xad, 0xab, 0xa3, 0x61, 0xe3, 0x72, 0x26, 0x0b, 0x67, 0x5b, 0xe4, 0x63, + 0xa1, 0xfc, 0x2b, 0xa4, 0xc7, 0x02, 0xb9, 0xc7, 0xd2, 0xce, 0xd2, 0x17, 0x63, 0xc9, 0x64, 0xe1, + 0x6c, 0x8b, 0xfa, 0xbf, 0xce, 0xc8, 0x83, 0x55, 0x96, 0x86, 0x6f, 0x43, 0x29, 0x38, 0xf1, 0xc2, + 0xc2, 0xb0, 0x11, 0xe6, 0xea, 0xfb, 0x27, 0x1e, 0x79, 0x3a, 0x6c, 0x2c, 0x28, 0xa2, 0x8c, 0x84, + 0xb9, 0xb0, 0xe2, 0x91, 0x85, 0xe7, 0xec, 0x91, 0x4d, 0x00, 0xb1, 0x86, 0x5d, 0x56, 0xad, 0xca, + 0x13, 0x89, 0x1d, 0x10, 0x5b, 0x11, 0x15, 0x2b, 0x12, 0x68, 0x17, 0x8a, 0x3d, 0x99, 0xeb, 0xe5, + 0x3b, 0x1d, 0xee, 0x5b, 0x81, 0x3a, 0x86, 0x59, 0xe6, 0xa1, 0xf7, 0xad, 0x00, 0x33, 0x18, 0x56, + 0xb6, 0xf1, 0x73, 0x97, 0xd6, 0x67, 0x72, 0xe7, 0xf1, 0x7c, 0x9b, 0x4b, 0xb4, 0xe8, 0xec, 0xe4, + 0x44, 0x8a, 0x25, 0x1a, 0x8b, 0xd6, 0x2c, 0x3f, 0x21, 0x9f, 0x04, 0x5b, 0x96, 0x2f, 0xfb, 0x0d, + 0x4a, 0x7a, 0x1b, 0x72, 0xb0, 0x22, 0x85, 0xbe, 0x07, 0x73, 0xf2, 0x0b, 0x8a, 0xb0, 0x35, 0x3b, + 0x65, 0xd8, 0x12, 0xa9, 0x89, 0x82, 0x80, 0x13, 0x78, 0xe8, 0x0f, 0x61, 0x96, 0xf2, 0xbf, 0xe8, + 0x14, 0x3b, 0x51, 0xe8, 0xaa, 0x0b, 0x18, 0x75, 0x6e, 0x04, 0x8b, 0xe2, 0x10, 0x15, 0x1d, 0xf1, + 0x49, 0x77, 0xad, 0xde, 0x43, 0xc3, 0x63, 0xbb, 0x8e, 0xd9, 0xf8, 0xdd, 0x5c, 0x25, 0x80, 0x54, + 0x52, 0xcd, 0xa8, 0xab, 0x25, 0x21, 0xb1, 0x02, 0xaf, 0xff, 0x5b, 0x98, 0x00, 0xf3, 0xc0, 0x68, + 0x64, 0x74, 0x2b, 0x9e, 0x73, 0xf5, 0x91, 0x3a, 0xcc, 0x0a, 0xbf, 0xc9, 0xc3, 0x4c, 0xff, 0x6c, + 0x36, 0xdc, 0xb4, 0xa2, 0x4a, 0x58, 0x83, 0x19, 0xef, 0xd0, 0xa0, 0xe1, 0xae, 0xfd, 0x4a, 0x98, + 0x58, 0xef, 0x31, 0xe2, 0xd3, 0x61, 0x03, 0x44, 0xb6, 0xc0, 0x7e, 0x61, 0x21, 0xc9, 0xd3, 0x68, + 0xc3, 0x31, 0x89, 0x6d, 0x93, 0x8e, 0x4c, 0x8c, 0xe3, 0x34, 0x3a, 0x64, 0xe0, 0x58, 0x06, 0xdd, + 0x81, 0xb2, 0x4f, 0x0c, 0xea, 0x3a, 0x72, 0x17, 0xae, 0x84, 0xbe, 0x8d, 0x39, 0xf5, 0x29, 0xf3, + 0x2e, 0x51, 0x76, 0xf3, 0xdf, 0x58, 0x4a, 0xa3, 0xd7, 0x61, 0xb6, 0x7f, 0x7a, 0x6f, 0x2f, 0xe4, + 0xa3, 0x2e, 0xcc, 0xd3, 0xc0, 0xf0, 0x83, 0x28, 0x5f, 0x3d, 0x43, 0x8a, 0x8c, 0x46, 0xc3, 0xc6, + 0x7c, 0x3b, 0x81, 0x82, 0x53, 0xa8, 0x68, 0x00, 0xcb, 0xa6, 0xdb, 0xf7, 0x6c, 0xc2, 0x8e, 0xc0, + 0xd8, 0x58, 0x79, 0x6a, 0x63, 0x57, 0x46, 0xc3, 0xc6, 0xf2, 0xe6, 0x38, 0x14, 0xce, 0xc2, 0x47, + 0xbf, 0x07, 0x95, 0xce, 0xc0, 0x37, 0x18, 0x51, 0xa6, 0xdb, 0x2f, 0x87, 0x05, 0xc6, 0x96, 0xa4, + 0x3f, 0x1d, 0x36, 0x2e, 0xb2, 0x0c, 0xbd, 0x19, 0x12, 0x70, 0xa4, 0x82, 0x0e, 0xe0, 0x9a, 0xcb, + 0x93, 0x5f, 0x71, 0xf4, 0x89, 0x04, 0x23, 0xdc, 0xde, 0xb2, 0x3b, 0xa8, 0x4b, 0xc0, 0x6b, 0x8f, + 0x27, 0x4a, 0xe2, 0x53, 0x50, 0xd0, 0x7d, 0x28, 0x8b, 0x4d, 0x24, 0xa3, 0x62, 0xae, 0xfc, 0x04, + 0x44, 0x87, 0x97, 0xa9, 0x61, 0xa9, 0x8e, 0x9e, 0x40, 0x59, 0x98, 0x91, 0x21, 0xed, 0xd6, 0x74, + 0x0d, 0x2f, 0x31, 0xfc, 0xf8, 0xfc, 0x14, 0xbf, 0xb1, 0xc4, 0x44, 0xfb, 0xbc, 0x5d, 0xc4, 0xce, + 0xe5, 0x1a, 0xdf, 0x67, 0x79, 0x1a, 0x74, 0x6d, 0xa6, 0xb0, 0xe3, 0x74, 0xdd, 0x44, 0x9b, 0x88, + 0x9f, 0xca, 0x02, 0x8b, 0x9d, 0xca, 0xb6, 0xdb, 0x6b, 0x3b, 0x96, 0xe7, 0x91, 0xa0, 0x3e, 0x97, + 0x3c, 0x95, 0x77, 0x23, 0x0e, 0x56, 0xa4, 0x74, 0x53, 0x16, 0xed, 0xea, 0xb0, 0xd1, 0x23, 0xa5, + 0x38, 0xb9, 0x73, 0x96, 0x89, 0xef, 0xbb, 0x6a, 0xbd, 0xa2, 0xef, 0xca, 0x74, 0x3f, 0x29, 0x82, + 0x6e, 0xcb, 0x62, 0x63, 0xcb, 0xea, 0x11, 0x1a, 0xc8, 0xbd, 0x9f, 0xac, 0x1e, 0x04, 0x0b, 0xab, + 0x72, 0xfa, 0xcf, 0x4b, 0x70, 0x51, 0xc2, 0x89, 0x54, 0x00, 0xdd, 0x4e, 0xc4, 0xfc, 0x97, 0x53, + 0x31, 0x7f, 0x29, 0x21, 0xac, 0x44, 0x7d, 0x1f, 0xe6, 0x93, 0xf9, 0x8d, 0x8c, 0xfe, 0x77, 0x72, + 0xa7, 0x52, 0x09, 0x64, 0xb1, 0x75, 0x93, 0x89, 0x14, 0x4e, 0x59, 0x60, 0x36, 0x93, 0x79, 0x8c, + 0xcc, 0xd1, 0xef, 0xe4, 0x4e, 0x99, 0x32, 0x6c, 0x26, 0x13, 0x26, 0x9c, 0xb2, 0xc0, 0x6c, 0x9a, + 0x03, 0x1a, 0xb8, 0xfd, 0xc8, 0x66, 0x29, 0xb7, 0xcd, 0x4d, 0xae, 0x98, 0x61, 0x73, 0x33, 0x81, + 0x88, 0x53, 0x16, 0xd0, 0x4f, 0x35, 0xb8, 0xf2, 0x21, 0x71, 0x8e, 0x2c, 0x87, 0xee, 0x59, 0x1e, + 0xb1, 0x2d, 0x27, 0x9e, 0xb1, 0x38, 0x14, 0x7f, 0x3f, 0x87, 0xf5, 0x07, 0x49, 0x84, 0xe4, 0x30, + 0xbe, 0x32, 0x1a, 0x36, 0xae, 0x3c, 0xc8, 0xb6, 0x81, 0x27, 0x19, 0xd7, 0x7f, 0x30, 0x23, 0x3d, + 0x5e, 0x0d, 0x59, 0xea, 0x21, 0xaf, 0x3d, 0xe3, 0x90, 0xf7, 0x61, 0x9e, 0x5f, 0x73, 0x59, 0xa6, + 0xec, 0xf4, 0x4f, 0xe1, 0x35, 0xf7, 0x13, 0x8a, 0x22, 0x5a, 0xf2, 0xd5, 0x4c, 0x32, 0x70, 0xca, + 0x02, 0x72, 0xe0, 0xa2, 0x00, 0x0f, 0x4d, 0x16, 0x73, 0x5f, 0x58, 0xdc, 0xb7, 0x82, 0x77, 0x22, + 0x3d, 0x61, 0x71, 0x69, 0x34, 0x6c, 0x5c, 0x4c, 0xd0, 0x71, 0x12, 0x1e, 0x0d, 0x60, 0x91, 0xef, + 0xb8, 0xcd, 0x43, 0xc3, 0xe9, 0x89, 0x65, 0x97, 0x3e, 0xf3, 0x76, 0xde, 0x0c, 0x52, 0xa8, 0x0a, + 0x83, 0xbc, 0xb6, 0xdc, 0x49, 0x01, 0xe2, 0x31, 0x13, 0x72, 0x9a, 0xb6, 0x11, 0x4d, 0x73, 0x66, + 0x9a, 0x69, 0xee, 0x1a, 0xd9, 0xd3, 0x8c, 0xe9, 0x38, 0x09, 0x8f, 0xbe, 0x0f, 0x8b, 0x07, 0xa9, + 0xdb, 0x21, 0x19, 0x44, 0xef, 0xe6, 0x2a, 0x00, 0x32, 0x2e, 0x96, 0xc4, 0x5c, 0xd3, 0x2c, 0x3c, + 0x66, 0x47, 0xff, 0x59, 0x09, 0xd0, 0x78, 0x1b, 0x1b, 0xdd, 0x4a, 0x1c, 0x65, 0x37, 0x52, 0x47, + 0xd9, 0xa2, 0xaa, 0xa1, 0x9c, 0x64, 0x4f, 0xa0, 0x2c, 0xc6, 0x3b, 0x45, 0x5b, 0x41, 0x0e, 0x44, + 0x82, 0x65, 0x39, 0x85, 0xc4, 0x64, 0x99, 0xb5, 0xf4, 0x47, 0xe9, 0x77, 0x67, 0x80, 0xcf, 0xf2, + 0xf2, 0x10, 0x15, 0x1d, 0xca, 0x40, 0x20, 0x7c, 0x41, 0x7a, 0xda, 0xed, 0xe9, 0x3c, 0x2d, 0x34, + 0xb4, 0x10, 0xc5, 0x0e, 0x41, 0xc7, 0x2a, 0xb4, 0x5c, 0x28, 0xdb, 0x38, 0x90, 0xae, 0x75, 0x8e, + 0x85, 0x52, 0xdc, 0x4a, 0x62, 0x22, 0x02, 0xd5, 0xe8, 0x3b, 0x4b, 0x47, 0x3a, 0x83, 0x81, 0x6c, + 0x0f, 0x8a, 0x91, 0xf5, 0x5f, 0x96, 0x41, 0xc9, 0xe2, 0xd1, 0xb7, 0x60, 0x9e, 0x12, 0xff, 0xd8, + 0x32, 0xc9, 0x86, 0x69, 0xba, 0x03, 0x27, 0x8c, 0xa4, 0xd1, 0x4d, 0x6b, 0x3b, 0xc1, 0xc5, 0x29, + 0x69, 0x7e, 0xb7, 0xc7, 0x03, 0x86, 0x74, 0x9e, 0xfc, 0x77, 0x7b, 0xa9, 0x22, 0x51, 0x36, 0xaa, + 0x24, 0x5a, 0xa2, 0xdb, 0x55, 0x7c, 0xde, 0xdd, 0xae, 0xef, 0x41, 0x85, 0x26, 0xa3, 0xd9, 0xd7, + 0xf2, 0x27, 0x2a, 0x32, 0x80, 0x44, 0xed, 0xf1, 0x28, 0x6a, 0x44, 0x98, 0x6c, 0x51, 0x64, 0xfe, + 0x37, 0x33, 0xdd, 0xa2, 0x3c, 0x23, 0xf3, 0xfb, 0x03, 0xa8, 0xfa, 0x44, 0x2c, 0x10, 0x95, 0x2e, + 0x92, 0x59, 0x02, 0x63, 0x29, 0x84, 0xc9, 0x47, 0x03, 0xcb, 0x27, 0x7d, 0xe2, 0x04, 0x34, 0x2e, + 0x70, 0x42, 0x2e, 0xc5, 0x31, 0x1a, 0xfa, 0x10, 0xc0, 0x8b, 0xfa, 0xa9, 0xb2, 0xbc, 0xce, 0x9d, + 0xbd, 0x25, 0x3b, 0xb1, 0x71, 0xda, 0x18, 0xd3, 0xb1, 0x82, 0x8e, 0x3e, 0x80, 0xab, 0x71, 0x85, + 0xb0, 0x45, 0x8c, 0x0e, 0x8f, 0xb1, 0xf2, 0x2a, 0x41, 0x34, 0xd7, 0xbf, 0x3a, 0x1a, 0x36, 0xae, + 0x6e, 0x4e, 0x12, 0xc2, 0x93, 0xf5, 0x51, 0x1f, 0xe6, 0x1c, 0xb7, 0x43, 0xda, 0xc4, 0x26, 0x66, + 0xe0, 0xfa, 0x32, 0x95, 0xcf, 0x53, 0x6a, 0x8b, 0xa6, 0x90, 0x61, 0x3f, 0x52, 0xd4, 0x45, 0xe3, + 0x40, 0xa5, 0xe0, 0x04, 0xbc, 0xfe, 0xe7, 0x1a, 0x64, 0x5c, 0xdd, 0x27, 0xdc, 0x57, 0x7b, 0xde, + 0xee, 0xfb, 0x1a, 0x94, 0x69, 0xdc, 0xbd, 0x57, 0x9b, 0xd4, 0xa2, 0xb5, 0x21, 0xb9, 0xfa, 0xdf, + 0x6b, 0x70, 0x29, 0xab, 0x7f, 0xc0, 0xfc, 0x28, 0xea, 0x16, 0xc8, 0xe1, 0xe5, 0x6f, 0xa5, 0xa8, + 0xf7, 0x4d, 0x02, 0x02, 0xc7, 0x68, 0xec, 0x3c, 0xe9, 0x10, 0x1a, 0x58, 0x0e, 0x2f, 0xdb, 0xb6, + 0x2c, 0x5f, 0x8e, 0x31, 0x3a, 0x4f, 0xb6, 0x12, 0x5c, 0x9c, 0x92, 0xd6, 0x7f, 0x5c, 0x82, 0xe5, + 0x8c, 0xb4, 0x11, 0x6d, 0xcb, 0xce, 0xf1, 0x14, 0x97, 0x1e, 0xd1, 0x55, 0x7b, 0xa2, 0x7b, 0x0c, + 0xde, 0xc0, 0xb6, 0xcf, 0x77, 0xf9, 0x11, 0xea, 0x63, 0x05, 0x2b, 0x6c, 0x05, 0x17, 0xcf, 0xd0, + 0x0a, 0x7e, 0x00, 0x88, 0x7c, 0xe2, 0xb9, 0x94, 0xc8, 0xf4, 0xdf, 0xe5, 0x21, 0xa0, 0xc4, 0xdb, + 0x12, 0xd1, 0xfb, 0x90, 0xed, 0x31, 0x09, 0x9c, 0xa1, 0x85, 0x56, 0xa1, 0xda, 0x75, 0x7d, 0x93, + 0xb0, 0x51, 0xf2, 0xd3, 0x47, 0xe9, 0x6c, 0xdc, 0x0b, 0x19, 0x38, 0x96, 0x41, 0xef, 0xc7, 0x9d, + 0xaf, 0x72, 0xee, 0x0b, 0x1b, 0x31, 0x67, 0xbe, 0xd9, 0x27, 0xb7, 0xbc, 0x36, 0x60, 0x81, 0x2b, + 0x6c, 0xec, 0xed, 0x84, 0x3d, 0x75, 0xf1, 0x26, 0xe8, 0x8a, 0x54, 0x11, 0xfd, 0xd4, 0x98, 0x8d, + 0xd3, 0xf2, 0xfa, 0xe7, 0x25, 0x58, 0xce, 0x28, 0x96, 0xa2, 0x7b, 0x04, 0xed, 0x3c, 0xf7, 0x08, + 0xbf, 0x29, 0x4f, 0x78, 0x1d, 0x66, 0x1d, 0x77, 0xd3, 0x30, 0x0f, 0x89, 0xbc, 0x49, 0x8d, 0x96, + 0xe8, 0x91, 0x20, 0xe3, 0x90, 0x1f, 0x3a, 0x4d, 0xe9, 0x0c, 0x4e, 0x33, 0xf5, 0x87, 0xfe, 0x56, + 0x58, 0xb0, 0x76, 0x2d, 0x9b, 0xec, 0x19, 0xc1, 0xa1, 0x6c, 0xbd, 0xc6, 0x3b, 0x33, 0xc1, 0xc5, + 0x29, 0x69, 0xf4, 0x6d, 0xa8, 0x8a, 0xcf, 0xe3, 0xf7, 0x68, 0x8e, 0x1b, 0x8f, 0x68, 0x30, 0xad, + 0x50, 0x09, 0xc7, 0xfa, 0xc8, 0x83, 0x2b, 0x3c, 0xb3, 0x62, 0x67, 0x6e, 0xdf, 0xfa, 0x3e, 0xdf, + 0xfe, 0xf2, 0x89, 0x85, 0xe8, 0xe5, 0xdc, 0x61, 0xf5, 0xd9, 0x4e, 0xb6, 0xc8, 0xd3, 0xc9, 0x2c, + 0x3c, 0x09, 0x56, 0xff, 0xb1, 0x06, 0xd9, 0xf7, 0x14, 0xc9, 0x89, 0x69, 0xe7, 0x9c, 0xd8, 0xab, + 0xf1, 0xc7, 0x17, 0x7d, 0xc5, 0x5a, 0xd6, 0x87, 0xd7, 0xff, 0x42, 0x83, 0xe5, 0x8c, 0x7a, 0xee, + 0xb7, 0x23, 0x6e, 0x7c, 0x51, 0x48, 0x0f, 0x6e, 0xfb, 0x98, 0x38, 0xc1, 0xd9, 0x6e, 0x47, 0xb6, + 0xc5, 0x9d, 0x44, 0x41, 0xb6, 0x17, 0x73, 0x15, 0x63, 0xbc, 0x51, 0x95, 0xbc, 0x8c, 0x38, 0xc7, + 0xf1, 0x3a, 0xf9, 0xf2, 0xab, 0xf4, 0xa2, 0x2f, 0xbf, 0xf4, 0x7f, 0xd0, 0x60, 0x3e, 0x79, 0xe9, + 0x82, 0xbe, 0x0a, 0xc5, 0x81, 0x6f, 0xc9, 0x45, 0x8d, 0x46, 0xff, 0x1d, 0xbc, 0x83, 0x19, 0x9d, + 0xb1, 0x7d, 0xd2, 0x95, 0x5f, 0x2c, 0x62, 0x63, 0xd2, 0xc5, 0x8c, 0x8e, 0x08, 0xd4, 0x3c, 0xdf, + 0xfd, 0xe4, 0x44, 0x04, 0xe3, 0x29, 0x1e, 0xd8, 0xed, 0xc5, 0x5a, 0x71, 0xdb, 0x4c, 0x21, 0x62, + 0x15, 0x97, 0xa7, 0x39, 0xe3, 0xcd, 0x80, 0xdf, 0x0e, 0x77, 0xfd, 0x65, 0x01, 0x66, 0xa5, 0xd3, + 0xa0, 0x8f, 0x60, 0xbe, 0x97, 0x58, 0xde, 0x29, 0x86, 0x95, 0xba, 0x0c, 0x8b, 0xce, 0xc5, 0x24, + 0x1d, 0xa7, 0x0c, 0xa0, 0x3f, 0x86, 0xa5, 0x9e, 0x15, 0x24, 0xe7, 0x34, 0xc5, 0x4d, 0xe0, 0xfd, + 0xb4, 0x6e, 0xeb, 0xaa, 0x34, 0xbc, 0x34, 0xc6, 0xc2, 0xe3, 0x96, 0xd0, 0x63, 0x28, 0xf9, 0xa4, + 0x3b, 0xcd, 0x6b, 0x0b, 0xb6, 0xa7, 0x48, 0x97, 0xef, 0xb1, 0x28, 0x45, 0xc2, 0xa4, 0x4b, 0x31, + 0x07, 0xd2, 0x3f, 0x13, 0x9f, 0x3a, 0xd5, 0x10, 0xf9, 0x9f, 0x78, 0xf3, 0xfa, 0x5f, 0x1a, 0x40, + 0x3c, 0xd8, 0xff, 0x7f, 0xdf, 0x56, 0xff, 0xbb, 0x02, 0x8c, 0x0b, 0xb2, 0x7d, 0x61, 0x8a, 0x32, + 0x4d, 0xcb, 0x7c, 0x67, 0x2e, 0xb9, 0xe8, 0x09, 0x94, 0x0d, 0xfe, 0x50, 0x7b, 0x8a, 0x11, 0x0b, + 0x53, 0x9b, 0xae, 0x13, 0xf8, 0xae, 0xfd, 0x1d, 0x4a, 0x7c, 0xe5, 0x75, 0x34, 0xc7, 0xc2, 0x12, + 0x13, 0x11, 0x56, 0x43, 0xc8, 0xc7, 0xd6, 0x53, 0xbc, 0x5b, 0x1d, 0x37, 0xa0, 0xd4, 0x13, 0x12, + 0x0e, 0xc7, 0xc8, 0x53, 0x5c, 0xa0, 0xe9, 0x3f, 0xd4, 0x60, 0x31, 0xdd, 0x3d, 0x64, 0xfa, 0x3c, + 0x23, 0xd8, 0xd9, 0x4a, 0xf7, 0x66, 0x77, 0x04, 0x19, 0x87, 0x7c, 0xf4, 0x00, 0x66, 0x59, 0x66, + 0x88, 0xe5, 0x69, 0x9b, 0x33, 0xaf, 0xe4, 0xf1, 0xfd, 0x9e, 0xd0, 0xc3, 0x21, 0x80, 0xfe, 0xcf, + 0x1a, 0xa0, 0xf1, 0xfe, 0x12, 0xda, 0x83, 0x4b, 0xb6, 0x41, 0x83, 0xe8, 0x6a, 0x73, 0x27, 0x31, + 0xb4, 0xeb, 0x72, 0x68, 0x97, 0x76, 0x33, 0x64, 0x70, 0xa6, 0x66, 0x94, 0x09, 0x17, 0xce, 0x9e, + 0x09, 0xbf, 0x06, 0x65, 0x8f, 0xad, 0x55, 0x47, 0xa6, 0xab, 0xd1, 0x17, 0xdf, 0xe3, 0x54, 0x2c, + 0xb9, 0x7a, 0x1b, 0x20, 0x7e, 0x94, 0x85, 0x6e, 0x40, 0xc9, 0x31, 0xfa, 0x61, 0x32, 0x10, 0x1d, + 0x24, 0xfc, 0x75, 0x3f, 0xe7, 0xa0, 0x57, 0x60, 0xe6, 0xd8, 0xb0, 0x07, 0xe1, 0xbf, 0x4f, 0x44, + 0x0f, 0x1e, 0xdf, 0x65, 0x44, 0x2c, 0x78, 0xfa, 0x5f, 0x16, 0xa0, 0xa6, 0x3c, 0x1a, 0x78, 0x5e, + 0x75, 0xde, 0x7b, 0x30, 0xe3, 0x19, 0xc1, 0x61, 0xf8, 0x2c, 0x73, 0x7d, 0xba, 0xa7, 0x0b, 0x2c, + 0xdf, 0x8d, 0xc7, 0xcb, 0x7e, 0x51, 0x2c, 0xf0, 0x52, 0x65, 0x43, 0xf1, 0x39, 0x96, 0x0d, 0x2f, + 0x41, 0xc1, 0xa0, 0xbc, 0x14, 0xa8, 0x8a, 0xfb, 0xaf, 0x0d, 0x8a, 0x0b, 0x06, 0xd5, 0x7f, 0xa0, + 0xc1, 0x42, 0x6a, 0x6c, 0x68, 0x1d, 0x80, 0x46, 0xbf, 0xe4, 0x27, 0x88, 0xba, 0x2e, 0xb1, 0x1c, + 0x56, 0xa4, 0xce, 0x5d, 0x99, 0xff, 0x8b, 0x06, 0xd7, 0x4f, 0xbb, 0x52, 0x61, 0xf5, 0x9e, 0xbc, + 0x37, 0x89, 0x2a, 0x0c, 0x2d, 0x59, 0xef, 0x3d, 0x48, 0xb2, 0x71, 0x5a, 0x1e, 0xdd, 0x86, 0x9a, + 0x42, 0x92, 0x03, 0x8c, 0xb2, 0x13, 0x45, 0x1d, 0xab, 0x72, 0xe7, 0x48, 0x0e, 0xf5, 0x7f, 0xd2, + 0xe0, 0x52, 0x56, 0xe3, 0x07, 0xf5, 0xc2, 0x87, 0xbd, 0xa2, 0x22, 0x68, 0x9d, 0xb1, 0x81, 0xd4, + 0xe4, 0xcf, 0x7b, 0xb7, 0x9d, 0xc0, 0x3f, 0xc9, 0x7e, 0xf2, 0x7b, 0xed, 0x2e, 0x40, 0x2c, 0x83, + 0x16, 0xa1, 0x78, 0x44, 0x4e, 0xc4, 0xc2, 0x61, 0xf6, 0x27, 0xba, 0x94, 0xd8, 0x46, 0x72, 0xdf, + 0x7c, 0xa3, 0x70, 0x57, 0xfb, 0x46, 0xe5, 0xcf, 0xfe, 0xaa, 0x71, 0xe1, 0xd3, 0x5f, 0xdf, 0xb8, + 0xa0, 0xff, 0x44, 0x03, 0x35, 0x77, 0x43, 0x6f, 0x40, 0xf5, 0x30, 0x08, 0x3c, 0x4e, 0x92, 0x2f, + 0x16, 0xf8, 0xe3, 0xd6, 0x77, 0xf6, 0xf7, 0xf7, 0x38, 0x11, 0xc7, 0x7c, 0xd4, 0x04, 0x60, 0x3f, + 0xa8, 0x90, 0x2e, 0xc5, 0xaf, 0x8c, 0x98, 0x74, 0x5b, 0x88, 0x2b, 0x12, 0xa2, 0xc4, 0x11, 0xc2, + 0xe2, 0x3f, 0x8e, 0x64, 0x89, 0x23, 0x24, 0x43, 0x9e, 0xfe, 0xb7, 0x1a, 0x2c, 0x8d, 0xbd, 0x90, + 0x41, 0x7b, 0x51, 0x52, 0x37, 0x6d, 0xdf, 0x69, 0x42, 0xfa, 0x77, 0x6e, 0xbf, 0xbe, 0x0b, 0x97, + 0x04, 0x22, 0xb7, 0x1a, 0xbf, 0x06, 0x78, 0xe6, 0x01, 0xa7, 0xff, 0xb5, 0x06, 0x10, 0x77, 0x42, + 0xd0, 0x01, 0xcc, 0x89, 0x21, 0x25, 0xb2, 0x93, 0xfc, 0x13, 0xbc, 0x24, 0x4d, 0xcc, 0xb5, 0x15, + 0x14, 0x9c, 0xc0, 0x64, 0x55, 0x7f, 0xdf, 0x1d, 0x38, 0x01, 0xdf, 0x5d, 0x85, 0xe4, 0xfb, 0xef, + 0x87, 0x21, 0x03, 0xc7, 0x32, 0xfa, 0xa7, 0x45, 0x58, 0xce, 0xb8, 0xfa, 0xfd, 0x3f, 0xdd, 0x4f, + 0x7b, 0x1d, 0x66, 0xc5, 0x33, 0x5d, 0x9a, 0xce, 0x19, 0xc4, 0x2b, 0x5e, 0x8a, 0x43, 0x3e, 0x5a, + 0x83, 0x9a, 0xe5, 0x98, 0xa2, 0x45, 0x6e, 0x84, 0x7d, 0x14, 0x71, 0x0b, 0x14, 0x93, 0xb1, 0x2a, + 0x93, 0x6c, 0xbc, 0x94, 0x9f, 0xdd, 0x78, 0xd1, 0xbf, 0x0b, 0x4b, 0x63, 0x59, 0x4f, 0xbe, 0xf0, + 0x49, 0xf8, 0xbf, 0xbe, 0xa5, 0xc2, 0xa7, 0xf8, 0x8f, 0x37, 0xc1, 0xd3, 0x7f, 0xaa, 0xc1, 0x7c, + 0x2a, 0x3d, 0x3c, 0x53, 0x95, 0xfe, 0x58, 0xad, 0xd2, 0xcf, 0x96, 0xda, 0x26, 0xea, 0x75, 0xfd, + 0x01, 0x64, 0xbf, 0xc4, 0x4c, 0xaf, 0xb8, 0xf6, 0xec, 0x15, 0xd7, 0x7f, 0x5e, 0x80, 0x6a, 0xf4, + 0x80, 0x05, 0xbd, 0x95, 0x58, 0xb9, 0xab, 0xea, 0xca, 0x3d, 0x1d, 0x36, 0x84, 0xa0, 0xb2, 0x8c, + 0x1f, 0x40, 0x35, 0x7a, 0x00, 0x15, 0x75, 0x21, 0xf2, 0x3f, 0x72, 0x8a, 0x3e, 0x6d, 0xf4, 0xaa, + 0x0a, 0xc7, 0x78, 0x2c, 0x9f, 0x0b, 0x5f, 0x28, 0x3d, 0xb4, 0x6c, 0xdb, 0xa2, 0xf2, 0x12, 0xa3, + 0xc8, 0x2f, 0x31, 0xa2, 0x7c, 0x6e, 0x2b, 0x43, 0x06, 0x67, 0x6a, 0xa2, 0x3d, 0x98, 0xa1, 0x01, + 0xf1, 0xa8, 0xec, 0x09, 0xbe, 0x91, 0xeb, 0x6d, 0x0f, 0xf1, 0x78, 0x35, 0x17, 0xb9, 0x08, 0xa3, + 0x50, 0x2c, 0x80, 0xf4, 0xff, 0xd4, 0xa0, 0x12, 0x8a, 0xa0, 0x37, 0x13, 0x8b, 0x57, 0x4f, 0x2d, + 0x1e, 0x97, 0xfb, 0x5f, 0xbb, 0x76, 0xfa, 0x50, 0x83, 0xf9, 0xe4, 0x75, 0xa8, 0xd2, 0x43, 0xd0, + 0x4e, 0xeb, 0x21, 0xa0, 0x37, 0xa1, 0x62, 0xd8, 0xb6, 0xfb, 0xf1, 0xb6, 0x73, 0x2c, 0xfb, 0x76, + 0xd1, 0xfd, 0xde, 0x86, 0xa4, 0xe3, 0x48, 0x02, 0x1d, 0xc3, 0x82, 0xd0, 0x8b, 0x5f, 0xa0, 0x15, + 0x73, 0x5f, 0x33, 0x65, 0x05, 0x9b, 0xd6, 0x32, 0x4b, 0x8f, 0xda, 0x49, 0x4c, 0x9c, 0x36, 0xd2, + 0xba, 0xf9, 0xf9, 0x97, 0x2b, 0x17, 0x7e, 0xf5, 0xe5, 0xca, 0x85, 0x2f, 0xbe, 0x5c, 0xb9, 0xf0, + 0xe9, 0x68, 0x45, 0xfb, 0x7c, 0xb4, 0xa2, 0xfd, 0x6a, 0xb4, 0xa2, 0x7d, 0x31, 0x5a, 0xd1, 0xfe, + 0x7d, 0xb4, 0xa2, 0xfd, 0xe9, 0x7f, 0xac, 0x5c, 0xf8, 0x6e, 0xe1, 0x78, 0xed, 0xbf, 0x03, 0x00, + 0x00, 0xff, 0xff, 0x02, 0x55, 0x4e, 0xbf, 0xb9, 0x3e, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/build/v1/generated.proto b/vendor/github.com/openshift/api/build/v1/generated.proto new file mode 100644 index 000000000..a70d24247 --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/generated.proto @@ -0,0 +1,1022 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.build.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// BinaryBuildRequestOptions are the options required to fully speficy a binary build request +message BinaryBuildRequestOptions { + // metadata for BinaryBuildRequestOptions. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // asFile determines if the binary should be created as a file within the source rather than extracted as an archive + optional string asFile = 2; + + // revision.commit is the value identifying a specific commit + optional string revisionCommit = 3; + + // revision.message is the description of a specific commit + optional string revisionMessage = 4; + + // revision.authorName of the source control user + optional string revisionAuthorName = 5; + + // revision.authorEmail of the source control user + optional string revisionAuthorEmail = 6; + + // revision.committerName of the source control user + optional string revisionCommitterName = 7; + + // revision.committerEmail of the source control user + optional string revisionCommitterEmail = 8; +} + +// BinaryBuildSource describes a binary file to be used for the Docker and Source build strategies, +// where the file will be extracted and used as the build source. +message BinaryBuildSource { + // asFile indicates that the provided binary input should be considered a single file + // within the build input. For example, specifying "webapp.war" would place the provided + // binary as `/webapp.war` for the builder. If left empty, the Docker and Source build + // strategies assume this file is a zip, tar, or tar.gz file and extract it as the source. + // The custom strategy receives this binary as standard input. This filename may not + // contain slashes or be '..' or '.'. + optional string asFile = 1; +} + +// BitbucketWebHookCause has information about a Bitbucket webhook that triggered a +// build. +message BitbucketWebHookCause { + optional CommonWebHookCause commonSpec = 1; +} + +// Build encapsulates the inputs needed to produce a new deployable image, as well as +// the status of the execution and a reference to the Pod which executed the build. +message Build { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec is all the inputs used to execute the build. + optional BuildSpec spec = 2; + + // status is the current status of the build. + optional BuildStatus status = 3; +} + +// Build configurations define a build process for new container images. There are three types of builds possible - a container image build using a Dockerfile, a Source-to-Image build that uses a specially prepared base image that accepts source code that it can make runnable, and a custom build that can run // arbitrary container images as a base and accept the build parameters. Builds run on the cluster and on completion are pushed to the container image registry specified in the "output" section. A build can be triggered via a webhook, when the base image changes, or when a user manually requests a new build be // created. +// +// Each build created by a build configuration is numbered and refers back to its parent configuration. Multiple builds can be triggered at once. Builds that do not have "output" set can be used to test code or run a verification build. +message BuildConfig { + // metadata for BuildConfig. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec holds all the input necessary to produce a new build, and the conditions when + // to trigger them. + optional BuildConfigSpec spec = 2; + + // status holds any relevant information about a build config + optional BuildConfigStatus status = 3; +} + +// BuildConfigList is a collection of BuildConfigs. +message BuildConfigList { + // metadata for BuildConfigList. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is a list of build configs + repeated BuildConfig items = 2; +} + +// BuildConfigSpec describes when and how builds are created +message BuildConfigSpec { + // triggers determine how new Builds can be launched from a BuildConfig. If + // no triggers are defined, a new build can only occur as a result of an + // explicit client build creation. + repeated BuildTriggerPolicy triggers = 1; + + // RunPolicy describes how the new build created from this build + // configuration will be scheduled for execution. + // This is optional, if not specified we default to "Serial". + optional string runPolicy = 2; + + // CommonSpec is the desired build specification + optional CommonSpec commonSpec = 3; + + // successfulBuildsHistoryLimit is the number of old successful builds to retain. + // If not specified, all successful builds are retained. + optional int32 successfulBuildsHistoryLimit = 4; + + // failedBuildsHistoryLimit is the number of old failed builds to retain. + // If not specified, all failed builds are retained. + optional int32 failedBuildsHistoryLimit = 5; +} + +// BuildConfigStatus contains current state of the build config object. +message BuildConfigStatus { + // lastVersion is used to inform about number of last triggered build. + optional int64 lastVersion = 1; +} + +// BuildList is a collection of Builds. +message BuildList { + // metadata for BuildList. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is a list of builds + repeated Build items = 2; +} + +// BuildLog is the (unused) resource associated with the build log redirector +message BuildLog { +} + +// BuildLogOptions is the REST options for a build log +message BuildLogOptions { + // cointainer for which to stream logs. Defaults to only container if there is one container in the pod. + optional string container = 1; + + // follow if true indicates that the build log should be streamed until + // the build terminates. + optional bool follow = 2; + + // previous returns previous build logs. Defaults to false. + optional bool previous = 3; + + // sinceSeconds is a relative time in seconds before the current time from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + optional int64 sinceSeconds = 4; + + // sinceTime is an RFC3339 timestamp from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time sinceTime = 5; + + // timestamps, If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line + // of log output. Defaults to false. + optional bool timestamps = 6; + + // tailLines, If set, is the number of lines from the end of the logs to show. If not specified, + // logs are shown from the creation of the container or sinceSeconds or sinceTime + optional int64 tailLines = 7; + + // limitBytes, If set, is the number of bytes to read from the server before terminating the + // log output. This may not display a complete final line of logging, and may return + // slightly more or slightly less than the specified limit. + optional int64 limitBytes = 8; + + // noWait if true causes the call to return immediately even if the build + // is not available yet. Otherwise the server will wait until the build has started. + // TODO: Fix the tag to 'noWait' in v2 + optional bool nowait = 9; + + // version of the build for which to view logs. + optional int64 version = 10; +} + +// BuildOutput is input to a build strategy and describes the container image that the strategy +// should produce. +message BuildOutput { + // to defines an optional location to push the output of this build to. + // Kind must be one of 'ImageStreamTag' or 'DockerImage'. + // This value will be used to look up a container image repository to push to. + // In the case of an ImageStreamTag, the ImageStreamTag will be looked for in the namespace of + // the build unless Namespace is specified. + optional k8s.io.api.core.v1.ObjectReference to = 1; + + // PushSecret is the name of a Secret that would be used for setting + // up the authentication for executing the Docker push to authentication + // enabled Docker Registry (or Docker Hub). + optional k8s.io.api.core.v1.LocalObjectReference pushSecret = 2; + + // imageLabels define a list of labels that are applied to the resulting image. If there + // are multiple labels with the same name then the last one in the list is used. + repeated ImageLabel imageLabels = 3; +} + +// A BuildPostCommitSpec holds a build post commit hook specification. The hook +// executes a command in a temporary container running the build output image, +// immediately after the last layer of the image is committed and before the +// image is pushed to a registry. The command is executed with the current +// working directory ($PWD) set to the image's WORKDIR. +// +// The build will be marked as failed if the hook execution fails. It will fail +// if the script or command return a non-zero exit code, or if there is any +// other error related to starting the temporary container. +// +// There are five different ways to configure the hook. As an example, all forms +// below are equivalent and will execute `rake test --verbose`. +// +// 1. Shell script: +// +// "postCommit": { +// "script": "rake test --verbose", +// } +// +// The above is a convenient form which is equivalent to: +// +// "postCommit": { +// "command": ["/bin/sh", "-ic"], +// "args": ["rake test --verbose"] +// } +// +// 2. A command as the image entrypoint: +// +// "postCommit": { +// "commit": ["rake", "test", "--verbose"] +// } +// +// Command overrides the image entrypoint in the exec form, as documented in +// Docker: https://docs.docker.com/engine/reference/builder/#entrypoint. +// +// 3. Pass arguments to the default entrypoint: +// +// "postCommit": { +// "args": ["rake", "test", "--verbose"] +// } +// +// This form is only useful if the image entrypoint can handle arguments. +// +// 4. Shell script with arguments: +// +// "postCommit": { +// "script": "rake test $1", +// "args": ["--verbose"] +// } +// +// This form is useful if you need to pass arguments that would otherwise be +// hard to quote properly in the shell script. In the script, $0 will be +// "/bin/sh" and $1, $2, etc, are the positional arguments from Args. +// +// 5. Command with arguments: +// +// "postCommit": { +// "command": ["rake", "test"], +// "args": ["--verbose"] +// } +// +// This form is equivalent to appending the arguments to the Command slice. +// +// It is invalid to provide both Script and Command simultaneously. If none of +// the fields are specified, the hook is not executed. +message BuildPostCommitSpec { + // command is the command to run. It may not be specified with Script. + // This might be needed if the image doesn't have `/bin/sh`, or if you + // do not want to use a shell. In all other cases, using Script might be + // more convenient. + repeated string command = 1; + + // args is a list of arguments that are provided to either Command, + // Script or the container image's default entrypoint. The arguments are + // placed immediately after the command to be run. + repeated string args = 2; + + // script is a shell script to be run with `/bin/sh -ic`. It may not be + // specified with Command. Use Script when a shell script is appropriate + // to execute the post build hook, for example for running unit tests + // with `rake test`. If you need control over the image entrypoint, or + // if the image does not have `/bin/sh`, use Command and/or Args. + // The `-i` flag is needed to support CentOS and RHEL images that use + // Software Collections (SCL), in order to have the appropriate + // collections enabled in the shell. E.g., in the Ruby image, this is + // necessary to make `ruby`, `bundle` and other binaries available in + // the PATH. + optional string script = 3; +} + +// BuildRequest is the resource used to pass parameters to build generator +message BuildRequest { + // metadata for BuildRequest. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // revision is the information from the source for a specific repo snapshot. + optional SourceRevision revision = 2; + + // triggeredByImage is the Image that triggered this build. + optional k8s.io.api.core.v1.ObjectReference triggeredByImage = 3; + + // from is the reference to the ImageStreamTag that triggered the build. + optional k8s.io.api.core.v1.ObjectReference from = 4; + + // binary indicates a request to build from a binary provided to the builder + optional BinaryBuildSource binary = 5; + + // lastVersion (optional) is the LastVersion of the BuildConfig that was used + // to generate the build. If the BuildConfig in the generator doesn't match, a build will + // not be generated. + optional int64 lastVersion = 6; + + // env contains additional environment variables you want to pass into a builder container. + repeated k8s.io.api.core.v1.EnvVar env = 7; + + // triggeredBy describes which triggers started the most recent update to the + // build configuration and contains information about those triggers. + repeated BuildTriggerCause triggeredBy = 8; + + // DockerStrategyOptions contains additional docker-strategy specific options for the build + optional DockerStrategyOptions dockerStrategyOptions = 9; + + // SourceStrategyOptions contains additional source-strategy specific options for the build + optional SourceStrategyOptions sourceStrategyOptions = 10; +} + +// BuildSource is the SCM used for the build. +message BuildSource { + // type of build input to accept + // +k8s:conversion-gen=false + optional string type = 1; + + // binary builds accept a binary as their input. The binary is generally assumed to be a tar, + // gzipped tar, or zip file depending on the strategy. For container image builds, this is the build + // context and an optional Dockerfile may be specified to override any Dockerfile in the + // build context. For Source builds, this is assumed to be an archive as described above. For + // Source and container image builds, if binary.asFile is set the build will receive a directory with + // a single file. contextDir may be used when an archive is provided. Custom builds will + // receive this binary as input on STDIN. + optional BinaryBuildSource binary = 2; + + // dockerfile is the raw contents of a Dockerfile which should be built. When this option is + // specified, the FROM may be modified based on your strategy base image and additional ENV + // stanzas from your strategy environment will be added after the FROM, but before the rest + // of your Dockerfile stanzas. The Dockerfile source type may be used with other options like + // git - in those cases the Git repo will have any innate Dockerfile replaced in the context + // dir. + optional string dockerfile = 3; + + // git contains optional information about git build source + optional GitBuildSource git = 4; + + // images describes a set of images to be used to provide source for the build + repeated ImageSource images = 5; + + // contextDir specifies the sub-directory where the source code for the application exists. + // This allows to have buildable sources in directory other than root of + // repository. + optional string contextDir = 6; + + // sourceSecret is the name of a Secret that would be used for setting + // up the authentication for cloning private repository. + // The secret contains valid credentials for remote repository, where the + // data's key represent the authentication method to be used and value is + // the base64 encoded credentials. Supported auth methods are: ssh-privatekey. + optional k8s.io.api.core.v1.LocalObjectReference sourceSecret = 7; + + // secrets represents a list of secrets and their destinations that will + // be used only for the build. + repeated SecretBuildSource secrets = 8; + + // configMaps represents a list of configMaps and their destinations that will + // be used for the build. + repeated ConfigMapBuildSource configMaps = 9; +} + +// BuildSpec has the information to represent a build and also additional +// information about a build +message BuildSpec { + // CommonSpec is the information that represents a build + optional CommonSpec commonSpec = 1; + + // triggeredBy describes which triggers started the most recent update to the + // build configuration and contains information about those triggers. + repeated BuildTriggerCause triggeredBy = 2; +} + +// BuildStatus contains the status of a build +message BuildStatus { + // phase is the point in the build lifecycle. Possible values are + // "New", "Pending", "Running", "Complete", "Failed", "Error", and "Cancelled". + optional string phase = 1; + + // cancelled describes if a cancel event was triggered for the build. + optional bool cancelled = 2; + + // reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI. + optional string reason = 3; + + // message is a human-readable message indicating details about why the build has this status. + optional string message = 4; + + // startTimestamp is a timestamp representing the server time when this Build started + // running in a Pod. + // It is represented in RFC3339 form and is in UTC. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTimestamp = 5; + + // completionTimestamp is a timestamp representing the server time when this Build was + // finished, whether that build failed or succeeded. It reflects the time at which + // the Pod running the Build terminated. + // It is represented in RFC3339 form and is in UTC. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time completionTimestamp = 6; + + // duration contains time.Duration object describing build time. + optional int64 duration = 7; + + // outputDockerImageReference contains a reference to the container image that + // will be built by this build. Its value is computed from + // Build.Spec.Output.To, and should include the registry address, so that + // it can be used to push and pull the image. + optional string outputDockerImageReference = 8; + + // config is an ObjectReference to the BuildConfig this Build is based on. + optional k8s.io.api.core.v1.ObjectReference config = 9; + + // output describes the container image the build has produced. + optional BuildStatusOutput output = 10; + + // stages contains details about each stage that occurs during the build + // including start time, duration (in milliseconds), and the steps that + // occured within each stage. + repeated StageInfo stages = 11; + + // logSnippet is the last few lines of the build log. This value is only set for builds that failed. + optional string logSnippet = 12; +} + +// BuildStatusOutput contains the status of the built image. +message BuildStatusOutput { + // to describes the status of the built image being pushed to a registry. + optional BuildStatusOutputTo to = 1; +} + +// BuildStatusOutputTo describes the status of the built image with regards to +// image registry to which it was supposed to be pushed. +message BuildStatusOutputTo { + // imageDigest is the digest of the built container image. The digest uniquely + // identifies the image in the registry to which it was pushed. + // + // Please note that this field may not always be set even if the push + // completes successfully - e.g. when the registry returns no digest or + // returns it in a format that the builder doesn't understand. + optional string imageDigest = 1; +} + +// BuildStrategy contains the details of how to perform a build. +message BuildStrategy { + // type is the kind of build strategy. + // +k8s:conversion-gen=false + optional string type = 1; + + // dockerStrategy holds the parameters to the container image build strategy. + optional DockerBuildStrategy dockerStrategy = 2; + + // sourceStrategy holds the parameters to the Source build strategy. + optional SourceBuildStrategy sourceStrategy = 3; + + // customStrategy holds the parameters to the Custom build strategy + optional CustomBuildStrategy customStrategy = 4; + + // JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. + optional JenkinsPipelineBuildStrategy jenkinsPipelineStrategy = 5; +} + +// BuildTriggerCause holds information about a triggered build. It is used for +// displaying build trigger data for each build and build configuration in oc +// describe. It is also used to describe which triggers led to the most recent +// update in the build configuration. +message BuildTriggerCause { + // message is used to store a human readable message for why the build was + // triggered. E.g.: "Manually triggered by user", "Configuration change",etc. + optional string message = 1; + + // genericWebHook holds data about a builds generic webhook trigger. + optional GenericWebHookCause genericWebHook = 2; + + // gitHubWebHook represents data for a GitHub webhook that fired a + // specific build. + optional GitHubWebHookCause githubWebHook = 3; + + // imageChangeBuild stores information about an imagechange event + // that triggered a new build. + optional ImageChangeCause imageChangeBuild = 4; + + // GitLabWebHook represents data for a GitLab webhook that fired a specific + // build. + optional GitLabWebHookCause gitlabWebHook = 5; + + // BitbucketWebHook represents data for a Bitbucket webhook that fired a + // specific build. + optional BitbucketWebHookCause bitbucketWebHook = 6; +} + +// BuildTriggerPolicy describes a policy for a single trigger that results in a new Build. +message BuildTriggerPolicy { + // type is the type of build trigger + optional string type = 1; + + // github contains the parameters for a GitHub webhook type of trigger + optional WebHookTrigger github = 2; + + // generic contains the parameters for a Generic webhook type of trigger + optional WebHookTrigger generic = 3; + + // imageChange contains parameters for an ImageChange type of trigger + optional ImageChangeTrigger imageChange = 4; + + // GitLabWebHook contains the parameters for a GitLab webhook type of trigger + optional WebHookTrigger gitlab = 5; + + // BitbucketWebHook contains the parameters for a Bitbucket webhook type of + // trigger + optional WebHookTrigger bitbucket = 6; +} + +// CommonSpec encapsulates all the inputs necessary to represent a build. +message CommonSpec { + // serviceAccount is the name of the ServiceAccount to use to run the pod + // created by this build. + // The pod will be allowed to use secrets referenced by the ServiceAccount + optional string serviceAccount = 1; + + // source describes the SCM in use. + optional BuildSource source = 2; + + // revision is the information from the source for a specific repo snapshot. + // This is optional. + optional SourceRevision revision = 3; + + // strategy defines how to perform a build. + optional BuildStrategy strategy = 4; + + // output describes the container image the Strategy should produce. + optional BuildOutput output = 5; + + // resources computes resource requirements to execute the build. + optional k8s.io.api.core.v1.ResourceRequirements resources = 6; + + // postCommit is a build hook executed after the build output image is + // committed, before it is pushed to a registry. + optional BuildPostCommitSpec postCommit = 7; + + // completionDeadlineSeconds is an optional duration in seconds, counted from + // the time when a build pod gets scheduled in the system, that the build may + // be active on a node before the system actively tries to terminate the + // build; value must be positive integer + optional int64 completionDeadlineSeconds = 8; + + // nodeSelector is a selector which must be true for the build pod to fit on a node + // If nil, it can be overridden by default build nodeselector values for the cluster. + // If set to an empty map or a map with any values, default build nodeselector values + // are ignored. + optional OptionalNodeSelector nodeSelector = 9; +} + +// CommonWebHookCause factors out the identical format of these webhook +// causes into struct so we can share it in the specific causes; it is too late for +// GitHub and Generic but we can leverage this pattern with GitLab and Bitbucket. +message CommonWebHookCause { + // Revision is the git source revision information of the trigger. + optional SourceRevision revision = 1; + + // Secret is the obfuscated webhook secret that triggered a build. + optional string secret = 2; +} + +// ConfigMapBuildSource describes a configmap and its destination directory that will be +// used only at the build time. The content of the configmap referenced here will +// be copied into the destination directory instead of mounting. +message ConfigMapBuildSource { + // configMap is a reference to an existing configmap that you want to use in your + // build. + optional k8s.io.api.core.v1.LocalObjectReference configMap = 1; + + // destinationDir is the directory where the files from the configmap should be + // available for the build time. + // For the Source build strategy, these will be injected into a container + // where the assemble script runs. + // For the container image build strategy, these will be copied into the build + // directory, where the Dockerfile is located, so users can ADD or COPY them + // during container image build. + optional string destinationDir = 2; +} + +// CustomBuildStrategy defines input parameters specific to Custom build. +message CustomBuildStrategy { + // from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which + // the container image should be pulled + optional k8s.io.api.core.v1.ObjectReference from = 1; + + // pullSecret is the name of a Secret that would be used for setting up + // the authentication for pulling the container images from the private Docker + // registries + optional k8s.io.api.core.v1.LocalObjectReference pullSecret = 2; + + // env contains additional environment variables you want to pass into a builder container. + repeated k8s.io.api.core.v1.EnvVar env = 3; + + // exposeDockerSocket will allow running Docker commands (and build container images) from + // inside the container. + // TODO: Allow admins to enforce 'false' for this option + optional bool exposeDockerSocket = 4; + + // forcePull describes if the controller should configure the build pod to always pull the images + // for the builder or only pull if it is not present locally + optional bool forcePull = 5; + + // secrets is a list of additional secrets that will be included in the build pod + repeated SecretSpec secrets = 6; + + // buildAPIVersion is the requested API version for the Build object serialized and passed to the custom builder + optional string buildAPIVersion = 7; +} + +// DockerBuildStrategy defines input parameters specific to container image build. +message DockerBuildStrategy { + // from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which + // the container image should be pulled + // the resulting image will be used in the FROM line of the Dockerfile for this build. + optional k8s.io.api.core.v1.ObjectReference from = 1; + + // pullSecret is the name of a Secret that would be used for setting up + // the authentication for pulling the container images from the private Docker + // registries + optional k8s.io.api.core.v1.LocalObjectReference pullSecret = 2; + + // noCache if set to true indicates that the container image build must be executed with the + // --no-cache=true flag + optional bool noCache = 3; + + // env contains additional environment variables you want to pass into a builder container. + repeated k8s.io.api.core.v1.EnvVar env = 4; + + // forcePull describes if the builder should pull the images from registry prior to building. + optional bool forcePull = 5; + + // dockerfilePath is the path of the Dockerfile that will be used to build the container image, + // relative to the root of the context (contextDir). + optional string dockerfilePath = 6; + + // buildArgs contains build arguments that will be resolved in the Dockerfile. See + // https://docs.docker.com/engine/reference/builder/#/arg for more details. + repeated k8s.io.api.core.v1.EnvVar buildArgs = 7; + + // imageOptimizationPolicy describes what optimizations the system can use when building images + // to reduce the final size or time spent building the image. The default policy is 'None' which + // means the final build image will be equivalent to an image created by the container image build API. + // The experimental policy 'SkipLayers' will avoid commiting new layers in between each + // image step, and will fail if the Dockerfile cannot provide compatibility with the 'None' + // policy. An additional experimental policy 'SkipLayersAndWarn' is the same as + // 'SkipLayers' but simply warns if compatibility cannot be preserved. + optional string imageOptimizationPolicy = 8; +} + +// DockerStrategyOptions contains extra strategy options for container image builds +message DockerStrategyOptions { + // Args contains any build arguments that are to be passed to Docker. See + // https://docs.docker.com/engine/reference/builder/#/arg for more details + repeated k8s.io.api.core.v1.EnvVar buildArgs = 1; + + // noCache overrides the docker-strategy noCache option in the build config + optional bool noCache = 2; +} + +// GenericWebHookCause holds information about a generic WebHook that +// triggered a build. +message GenericWebHookCause { + // revision is an optional field that stores the git source revision + // information of the generic webhook trigger when it is available. + optional SourceRevision revision = 1; + + // secret is the obfuscated webhook secret that triggered a build. + optional string secret = 2; +} + +// GenericWebHookEvent is the payload expected for a generic webhook post +message GenericWebHookEvent { + // type is the type of source repository + // +k8s:conversion-gen=false + optional string type = 1; + + // git is the git information if the Type is BuildSourceGit + optional GitInfo git = 2; + + // env contains additional environment variables you want to pass into a builder container. + // ValueFrom is not supported. + repeated k8s.io.api.core.v1.EnvVar env = 3; + + // DockerStrategyOptions contains additional docker-strategy specific options for the build + optional DockerStrategyOptions dockerStrategyOptions = 4; +} + +// GitBuildSource defines the parameters of a Git SCM +message GitBuildSource { + // uri points to the source that will be built. The structure of the source + // will depend on the type of build to run + optional string uri = 1; + + // ref is the branch/tag/ref to build. + optional string ref = 2; + + // proxyConfig defines the proxies to use for the git clone operation. Values + // not set here are inherited from cluster-wide build git proxy settings. + optional ProxyConfig proxyConfig = 3; +} + +// GitHubWebHookCause has information about a GitHub webhook that triggered a +// build. +message GitHubWebHookCause { + // revision is the git revision information of the trigger. + optional SourceRevision revision = 1; + + // secret is the obfuscated webhook secret that triggered a build. + optional string secret = 2; +} + +// GitInfo is the aggregated git information for a generic webhook post +message GitInfo { + optional GitBuildSource gitBuildSource = 1; + + optional GitSourceRevision gitSourceRevision = 2; + + // Refs is a list of GitRefs for the provided repo - generally sent + // when used from a post-receive hook. This field is optional and is + // used when sending multiple refs + repeated GitRefInfo refs = 3; +} + +// GitLabWebHookCause has information about a GitLab webhook that triggered a +// build. +message GitLabWebHookCause { + optional CommonWebHookCause commonSpec = 1; +} + +// GitRefInfo is a single ref +message GitRefInfo { + optional GitBuildSource gitBuildSource = 1; + + optional GitSourceRevision gitSourceRevision = 2; +} + +// GitSourceRevision is the commit information from a git source for a build +message GitSourceRevision { + // commit is the commit hash identifying a specific commit + optional string commit = 1; + + // author is the author of a specific commit + optional SourceControlUser author = 2; + + // committer is the committer of a specific commit + optional SourceControlUser committer = 3; + + // message is the description of a specific commit + optional string message = 4; +} + +// ImageChangeCause contains information about the image that triggered a +// build +message ImageChangeCause { + // imageID is the ID of the image that triggered a a new build. + optional string imageID = 1; + + // fromRef contains detailed information about an image that triggered a + // build. + optional k8s.io.api.core.v1.ObjectReference fromRef = 2; +} + +// ImageChangeTrigger allows builds to be triggered when an ImageStream changes +message ImageChangeTrigger { + // lastTriggeredImageID is used internally by the ImageChangeController to save last + // used image ID for build + optional string lastTriggeredImageID = 1; + + // from is a reference to an ImageStreamTag that will trigger a build when updated + // It is optional. If no From is specified, the From image from the build strategy + // will be used. Only one ImageChangeTrigger with an empty From reference is allowed in + // a build configuration. + optional k8s.io.api.core.v1.ObjectReference from = 2; + + // paused is true if this trigger is temporarily disabled. Optional. + optional bool paused = 3; +} + +// ImageLabel represents a label applied to the resulting image. +message ImageLabel { + // name defines the name of the label. It must have non-zero length. + optional string name = 1; + + // value defines the literal value of the label. + optional string value = 2; +} + +// ImageSource is used to describe build source that will be extracted from an image or used during a +// multi stage build. A reference of type ImageStreamTag, ImageStreamImage or DockerImage may be used. +// A pull secret can be specified to pull the image from an external registry or override the default +// service account secret if pulling from the internal registry. Image sources can either be used to +// extract content from an image and place it into the build context along with the repository source, +// or used directly during a multi-stage container image build to allow content to be copied without overwriting +// the contents of the repository source (see the 'paths' and 'as' fields). +message ImageSource { + // from is a reference to an ImageStreamTag, ImageStreamImage, or DockerImage to + // copy source from. + optional k8s.io.api.core.v1.ObjectReference from = 1; + + // A list of image names that this source will be used in place of during a multi-stage container image + // build. For instance, a Dockerfile that uses "COPY --from=nginx:latest" will first check for an image + // source that has "nginx:latest" in this field before attempting to pull directly. If the Dockerfile + // does not reference an image source it is ignored. This field and paths may both be set, in which case + // the contents will be used twice. + // +optional + repeated string as = 4; + + // paths is a list of source and destination paths to copy from the image. This content will be copied + // into the build context prior to starting the build. If no paths are set, the build context will + // not be altered. + // +optional + repeated ImageSourcePath paths = 2; + + // pullSecret is a reference to a secret to be used to pull the image from a registry + // If the image is pulled from the OpenShift registry, this field does not need to be set. + optional k8s.io.api.core.v1.LocalObjectReference pullSecret = 3; +} + +// ImageSourcePath describes a path to be copied from a source image and its destination within the build directory. +message ImageSourcePath { + // sourcePath is the absolute path of the file or directory inside the image to + // copy to the build directory. If the source path ends in /. then the content of + // the directory will be copied, but the directory itself will not be created at the + // destination. + optional string sourcePath = 1; + + // destinationDir is the relative directory within the build directory + // where files copied from the image are placed. + optional string destinationDir = 2; +} + +// JenkinsPipelineBuildStrategy holds parameters specific to a Jenkins Pipeline build. +message JenkinsPipelineBuildStrategy { + // JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline + // relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are + // both not specified, this defaults to Jenkinsfile in the root of the specified contextDir. + optional string jenkinsfilePath = 1; + + // Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build. + optional string jenkinsfile = 2; + + // env contains additional environment variables you want to pass into a build pipeline. + repeated k8s.io.api.core.v1.EnvVar env = 3; +} + +// OptionalNodeSelector is a map that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +message OptionalNodeSelector { + // items, if empty, will result in an empty map + + map items = 1; +} + +// ProxyConfig defines what proxies to use for an operation +message ProxyConfig { + // httpProxy is a proxy used to reach the git repository over http + optional string httpProxy = 3; + + // httpsProxy is a proxy used to reach the git repository over https + optional string httpsProxy = 4; + + // noProxy is the list of domains for which the proxy should not be used + optional string noProxy = 5; +} + +// SecretBuildSource describes a secret and its destination directory that will be +// used only at the build time. The content of the secret referenced here will +// be copied into the destination directory instead of mounting. +message SecretBuildSource { + // secret is a reference to an existing secret that you want to use in your + // build. + optional k8s.io.api.core.v1.LocalObjectReference secret = 1; + + // destinationDir is the directory where the files from the secret should be + // available for the build time. + // For the Source build strategy, these will be injected into a container + // where the assemble script runs. Later, when the script finishes, all files + // injected will be truncated to zero length. + // For the container image build strategy, these will be copied into the build + // directory, where the Dockerfile is located, so users can ADD or COPY them + // during container image build. + optional string destinationDir = 2; +} + +// SecretLocalReference contains information that points to the local secret being used +message SecretLocalReference { + // Name is the name of the resource in the same namespace being referenced + optional string name = 1; +} + +// SecretSpec specifies a secret to be included in a build pod and its corresponding mount point +message SecretSpec { + // secretSource is a reference to the secret + optional k8s.io.api.core.v1.LocalObjectReference secretSource = 1; + + // mountPath is the path at which to mount the secret + optional string mountPath = 2; +} + +// SourceBuildStrategy defines input parameters specific to an Source build. +message SourceBuildStrategy { + // from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which + // the container image should be pulled + optional k8s.io.api.core.v1.ObjectReference from = 1; + + // pullSecret is the name of a Secret that would be used for setting up + // the authentication for pulling the container images from the private Docker + // registries + optional k8s.io.api.core.v1.LocalObjectReference pullSecret = 2; + + // env contains additional environment variables you want to pass into a builder container. + repeated k8s.io.api.core.v1.EnvVar env = 3; + + // scripts is the location of Source scripts + optional string scripts = 4; + + // incremental flag forces the Source build to do incremental builds if true. + optional bool incremental = 5; + + // forcePull describes if the builder should pull the images from registry prior to building. + optional bool forcePull = 6; +} + +// SourceControlUser defines the identity of a user of source control +message SourceControlUser { + // name of the source control user + optional string name = 1; + + // email of the source control user + optional string email = 2; +} + +// SourceRevision is the revision or commit information from the source for the build +message SourceRevision { + // type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or 'Images' + // +k8s:conversion-gen=false + optional string type = 1; + + // Git contains information about git-based build source + optional GitSourceRevision git = 2; +} + +// SourceStrategyOptions contains extra strategy options for Source builds +message SourceStrategyOptions { + // incremental overrides the source-strategy incremental option in the build config + optional bool incremental = 1; +} + +// StageInfo contains details about a build stage. +message StageInfo { + // name is a unique identifier for each build stage that occurs. + optional string name = 1; + + // startTime is a timestamp representing the server time when this Stage started. + // It is represented in RFC3339 form and is in UTC. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 2; + + // durationMilliseconds identifies how long the stage took + // to complete in milliseconds. + // Note: the duration of a stage can exceed the sum of the duration of the steps within + // the stage as not all actions are accounted for in explicit build steps. + optional int64 durationMilliseconds = 3; + + // steps contains details about each step that occurs during a build stage + // including start time and duration in milliseconds. + repeated StepInfo steps = 4; +} + +// StepInfo contains details about a build step. +message StepInfo { + // name is a unique identifier for each build step. + optional string name = 1; + + // startTime is a timestamp representing the server time when this Step started. + // it is represented in RFC3339 form and is in UTC. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 2; + + // durationMilliseconds identifies how long the step took + // to complete in milliseconds. + optional int64 durationMilliseconds = 3; +} + +// WebHookTrigger is a trigger that gets invoked using a webhook type of post +message WebHookTrigger { + // secret used to validate requests. + // Deprecated: use SecretReference instead. + optional string secret = 1; + + // allowEnv determines whether the webhook can set environment variables; can only + // be set to true for GenericWebHook. + optional bool allowEnv = 2; + + // secretReference is a reference to a secret in the same namespace, + // containing the value to be validated when the webhook is invoked. + // The secret being referenced must contain a key named "WebHookSecretKey", the value + // of which will be checked against the value supplied in the webhook invocation. + optional SecretLocalReference secretReference = 3; +} + diff --git a/vendor/github.com/openshift/api/build/v1/legacy.go b/vendor/github.com/openshift/api/build/v1/legacy.go new file mode 100644 index 000000000..a74627d2c --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/legacy.go @@ -0,0 +1,28 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &Build{}, + &BuildList{}, + &BuildConfig{}, + &BuildConfigList{}, + &BuildLog{}, + &BuildRequest{}, + &BuildLogOptions{}, + &BinaryBuildRequestOptions{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/build/v1/register.go b/vendor/github.com/openshift/api/build/v1/register.go new file mode 100644 index 000000000..16f68ea8c --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/register.go @@ -0,0 +1,47 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "build.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// addKnownTypes adds types to API group +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &Build{}, + &BuildList{}, + &BuildConfig{}, + &BuildConfigList{}, + &BuildLog{}, + &BuildRequest{}, + &BuildLogOptions{}, + &BinaryBuildRequestOptions{}, + // This is needed for webhooks + &corev1.PodProxyOptions{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/build/v1/types.go b/vendor/github.com/openshift/api/build/v1/types.go new file mode 100644 index 000000000..391da409e --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/types.go @@ -0,0 +1,1233 @@ +package v1 + +import ( + "fmt" + "time" + + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:method=UpdateDetails,verb=update,subresource=details +// +genclient:method=Clone,verb=create,subresource=clone,input=BuildRequest +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Build encapsulates the inputs needed to produce a new deployable image, as well as +// the status of the execution and a reference to the Pod which executed the build. +type Build struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // spec is all the inputs used to execute the build. + Spec BuildSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` + + // status is the current status of the build. + Status BuildStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` +} + +// BuildSpec has the information to represent a build and also additional +// information about a build +type BuildSpec struct { + // CommonSpec is the information that represents a build + CommonSpec `json:",inline" protobuf:"bytes,1,opt,name=commonSpec"` + + // triggeredBy describes which triggers started the most recent update to the + // build configuration and contains information about those triggers. + TriggeredBy []BuildTriggerCause `json:"triggeredBy" protobuf:"bytes,2,rep,name=triggeredBy"` +} + +// OptionalNodeSelector is a map that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type OptionalNodeSelector map[string]string + +func (t OptionalNodeSelector) String() string { + return fmt.Sprintf("%v", map[string]string(t)) +} + +// CommonSpec encapsulates all the inputs necessary to represent a build. +type CommonSpec struct { + // serviceAccount is the name of the ServiceAccount to use to run the pod + // created by this build. + // The pod will be allowed to use secrets referenced by the ServiceAccount + ServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,1,opt,name=serviceAccount"` + + // source describes the SCM in use. + Source BuildSource `json:"source,omitempty" protobuf:"bytes,2,opt,name=source"` + + // revision is the information from the source for a specific repo snapshot. + // This is optional. + Revision *SourceRevision `json:"revision,omitempty" protobuf:"bytes,3,opt,name=revision"` + + // strategy defines how to perform a build. + Strategy BuildStrategy `json:"strategy" protobuf:"bytes,4,opt,name=strategy"` + + // output describes the container image the Strategy should produce. + Output BuildOutput `json:"output,omitempty" protobuf:"bytes,5,opt,name=output"` + + // resources computes resource requirements to execute the build. + Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,6,opt,name=resources"` + + // postCommit is a build hook executed after the build output image is + // committed, before it is pushed to a registry. + PostCommit BuildPostCommitSpec `json:"postCommit,omitempty" protobuf:"bytes,7,opt,name=postCommit"` + + // completionDeadlineSeconds is an optional duration in seconds, counted from + // the time when a build pod gets scheduled in the system, that the build may + // be active on a node before the system actively tries to terminate the + // build; value must be positive integer + CompletionDeadlineSeconds *int64 `json:"completionDeadlineSeconds,omitempty" protobuf:"varint,8,opt,name=completionDeadlineSeconds"` + + // nodeSelector is a selector which must be true for the build pod to fit on a node + // If nil, it can be overridden by default build nodeselector values for the cluster. + // If set to an empty map or a map with any values, default build nodeselector values + // are ignored. + NodeSelector OptionalNodeSelector `json:"nodeSelector" protobuf:"bytes,9,name=nodeSelector"` +} + +// BuildTriggerCause holds information about a triggered build. It is used for +// displaying build trigger data for each build and build configuration in oc +// describe. It is also used to describe which triggers led to the most recent +// update in the build configuration. +type BuildTriggerCause struct { + // message is used to store a human readable message for why the build was + // triggered. E.g.: "Manually triggered by user", "Configuration change",etc. + Message string `json:"message,omitempty" protobuf:"bytes,1,opt,name=message"` + + // genericWebHook holds data about a builds generic webhook trigger. + GenericWebHook *GenericWebHookCause `json:"genericWebHook,omitempty" protobuf:"bytes,2,opt,name=genericWebHook"` + + // gitHubWebHook represents data for a GitHub webhook that fired a + //specific build. + GitHubWebHook *GitHubWebHookCause `json:"githubWebHook,omitempty" protobuf:"bytes,3,opt,name=githubWebHook"` + + // imageChangeBuild stores information about an imagechange event + // that triggered a new build. + ImageChangeBuild *ImageChangeCause `json:"imageChangeBuild,omitempty" protobuf:"bytes,4,opt,name=imageChangeBuild"` + + // GitLabWebHook represents data for a GitLab webhook that fired a specific + // build. + GitLabWebHook *GitLabWebHookCause `json:"gitlabWebHook,omitempty" protobuf:"bytes,5,opt,name=gitlabWebHook"` + + // BitbucketWebHook represents data for a Bitbucket webhook that fired a + // specific build. + BitbucketWebHook *BitbucketWebHookCause `json:"bitbucketWebHook,omitempty" protobuf:"bytes,6,opt,name=bitbucketWebHook"` +} + +// GenericWebHookCause holds information about a generic WebHook that +// triggered a build. +type GenericWebHookCause struct { + // revision is an optional field that stores the git source revision + // information of the generic webhook trigger when it is available. + Revision *SourceRevision `json:"revision,omitempty" protobuf:"bytes,1,opt,name=revision"` + + // secret is the obfuscated webhook secret that triggered a build. + Secret string `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` +} + +// GitHubWebHookCause has information about a GitHub webhook that triggered a +// build. +type GitHubWebHookCause struct { + // revision is the git revision information of the trigger. + Revision *SourceRevision `json:"revision,omitempty" protobuf:"bytes,1,opt,name=revision"` + + // secret is the obfuscated webhook secret that triggered a build. + Secret string `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` +} + +// CommonWebHookCause factors out the identical format of these webhook +// causes into struct so we can share it in the specific causes; it is too late for +// GitHub and Generic but we can leverage this pattern with GitLab and Bitbucket. +type CommonWebHookCause struct { + // Revision is the git source revision information of the trigger. + Revision *SourceRevision `json:"revision,omitempty" protobuf:"bytes,1,opt,name=revision"` + + // Secret is the obfuscated webhook secret that triggered a build. + Secret string `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` +} + +// GitLabWebHookCause has information about a GitLab webhook that triggered a +// build. +type GitLabWebHookCause struct { + CommonWebHookCause `json:",inline" protobuf:"bytes,1,opt,name=commonSpec"` +} + +// BitbucketWebHookCause has information about a Bitbucket webhook that triggered a +// build. +type BitbucketWebHookCause struct { + CommonWebHookCause `json:",inline" protobuf:"bytes,1,opt,name=commonSpec"` +} + +// ImageChangeCause contains information about the image that triggered a +// build +type ImageChangeCause struct { + // imageID is the ID of the image that triggered a a new build. + ImageID string `json:"imageID,omitempty" protobuf:"bytes,1,opt,name=imageID"` + + // fromRef contains detailed information about an image that triggered a + // build. + FromRef *corev1.ObjectReference `json:"fromRef,omitempty" protobuf:"bytes,2,opt,name=fromRef"` +} + +// BuildStatus contains the status of a build +type BuildStatus struct { + // phase is the point in the build lifecycle. Possible values are + // "New", "Pending", "Running", "Complete", "Failed", "Error", and "Cancelled". + Phase BuildPhase `json:"phase" protobuf:"bytes,1,opt,name=phase,casttype=BuildPhase"` + + // cancelled describes if a cancel event was triggered for the build. + Cancelled bool `json:"cancelled,omitempty" protobuf:"varint,2,opt,name=cancelled"` + + // reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI. + Reason StatusReason `json:"reason,omitempty" protobuf:"bytes,3,opt,name=reason,casttype=StatusReason"` + + // message is a human-readable message indicating details about why the build has this status. + Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"` + + // startTimestamp is a timestamp representing the server time when this Build started + // running in a Pod. + // It is represented in RFC3339 form and is in UTC. + StartTimestamp *metav1.Time `json:"startTimestamp,omitempty" protobuf:"bytes,5,opt,name=startTimestamp"` + + // completionTimestamp is a timestamp representing the server time when this Build was + // finished, whether that build failed or succeeded. It reflects the time at which + // the Pod running the Build terminated. + // It is represented in RFC3339 form and is in UTC. + CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty" protobuf:"bytes,6,opt,name=completionTimestamp"` + + // duration contains time.Duration object describing build time. + Duration time.Duration `json:"duration,omitempty" protobuf:"varint,7,opt,name=duration,casttype=time.Duration"` + + // outputDockerImageReference contains a reference to the container image that + // will be built by this build. Its value is computed from + // Build.Spec.Output.To, and should include the registry address, so that + // it can be used to push and pull the image. + OutputDockerImageReference string `json:"outputDockerImageReference,omitempty" protobuf:"bytes,8,opt,name=outputDockerImageReference"` + + // config is an ObjectReference to the BuildConfig this Build is based on. + Config *corev1.ObjectReference `json:"config,omitempty" protobuf:"bytes,9,opt,name=config"` + + // output describes the container image the build has produced. + Output BuildStatusOutput `json:"output,omitempty" protobuf:"bytes,10,opt,name=output"` + + // stages contains details about each stage that occurs during the build + // including start time, duration (in milliseconds), and the steps that + // occured within each stage. + Stages []StageInfo `json:"stages,omitempty" protobuf:"bytes,11,opt,name=stages"` + + // logSnippet is the last few lines of the build log. This value is only set for builds that failed. + LogSnippet string `json:"logSnippet,omitempty" protobuf:"bytes,12,opt,name=logSnippet"` +} + +// StageInfo contains details about a build stage. +type StageInfo struct { + // name is a unique identifier for each build stage that occurs. + Name StageName `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` + + // startTime is a timestamp representing the server time when this Stage started. + // It is represented in RFC3339 form and is in UTC. + StartTime metav1.Time `json:"startTime,omitempty" protobuf:"bytes,2,opt,name=startTime"` + + // durationMilliseconds identifies how long the stage took + // to complete in milliseconds. + // Note: the duration of a stage can exceed the sum of the duration of the steps within + // the stage as not all actions are accounted for in explicit build steps. + DurationMilliseconds int64 `json:"durationMilliseconds,omitempty" protobuf:"varint,3,opt,name=durationMilliseconds"` + + // steps contains details about each step that occurs during a build stage + // including start time and duration in milliseconds. + Steps []StepInfo `json:"steps,omitempty" protobuf:"bytes,4,opt,name=steps"` +} + +// StageName is the unique identifier for each build stage. +type StageName string + +// Valid values for StageName +const ( + // StageFetchInputs fetches any inputs such as source code. + StageFetchInputs StageName = "FetchInputs" + + // StagePullImages pulls any images that are needed such as + // base images or input images. + StagePullImages StageName = "PullImages" + + // StageBuild performs the steps necessary to build the image. + StageBuild StageName = "Build" + + // StagePostCommit executes any post commit steps. + StagePostCommit StageName = "PostCommit" + + // StagePushImage pushes the image to the node. + StagePushImage StageName = "PushImage" +) + +// StepInfo contains details about a build step. +type StepInfo struct { + // name is a unique identifier for each build step. + Name StepName `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` + + // startTime is a timestamp representing the server time when this Step started. + // it is represented in RFC3339 form and is in UTC. + StartTime metav1.Time `json:"startTime,omitempty" protobuf:"bytes,2,opt,name=startTime"` + + // durationMilliseconds identifies how long the step took + // to complete in milliseconds. + DurationMilliseconds int64 `json:"durationMilliseconds,omitempty" protobuf:"varint,3,opt,name=durationMilliseconds"` +} + +// StepName is a unique identifier for each build step. +type StepName string + +// Valid values for StepName +const ( + // StepExecPostCommitHook executes the buildconfigs post commit hook. + StepExecPostCommitHook StepName = "RunPostCommitHook" + + // StepFetchGitSource fetches source code for the build. + StepFetchGitSource StepName = "FetchGitSource" + + // StepPullBaseImage pulls a base image for the build. + StepPullBaseImage StepName = "PullBaseImage" + + // StepPullInputImage pulls an input image for the build. + StepPullInputImage StepName = "PullInputImage" + + // StepPushImage pushes an image to the registry. + StepPushImage StepName = "PushImage" + + // StepPushDockerImage pushes a container image to the registry. + StepPushDockerImage StepName = "PushDockerImage" + + //StepDockerBuild performs the container image build + StepDockerBuild StepName = "DockerBuild" +) + +// BuildPhase represents the status of a build at a point in time. +type BuildPhase string + +// Valid values for BuildPhase. +const ( + // BuildPhaseNew is automatically assigned to a newly created build. + BuildPhaseNew BuildPhase = "New" + + // BuildPhasePending indicates that a pod name has been assigned and a build is + // about to start running. + BuildPhasePending BuildPhase = "Pending" + + // BuildPhaseRunning indicates that a pod has been created and a build is running. + BuildPhaseRunning BuildPhase = "Running" + + // BuildPhaseComplete indicates that a build has been successful. + BuildPhaseComplete BuildPhase = "Complete" + + // BuildPhaseFailed indicates that a build has executed and failed. + BuildPhaseFailed BuildPhase = "Failed" + + // BuildPhaseError indicates that an error prevented the build from executing. + BuildPhaseError BuildPhase = "Error" + + // BuildPhaseCancelled indicates that a running/pending build was stopped from executing. + BuildPhaseCancelled BuildPhase = "Cancelled" +) + +// StatusReason is a brief CamelCase string that describes a temporary or +// permanent build error condition, meant for machine parsing and tidy display +// in the CLI. +type StatusReason string + +// BuildStatusOutput contains the status of the built image. +type BuildStatusOutput struct { + // to describes the status of the built image being pushed to a registry. + To *BuildStatusOutputTo `json:"to,omitempty" protobuf:"bytes,1,opt,name=to"` +} + +// BuildStatusOutputTo describes the status of the built image with regards to +// image registry to which it was supposed to be pushed. +type BuildStatusOutputTo struct { + // imageDigest is the digest of the built container image. The digest uniquely + // identifies the image in the registry to which it was pushed. + // + // Please note that this field may not always be set even if the push + // completes successfully - e.g. when the registry returns no digest or + // returns it in a format that the builder doesn't understand. + ImageDigest string `json:"imageDigest,omitempty" protobuf:"bytes,1,opt,name=imageDigest"` +} + +// BuildSourceType is the type of SCM used. +type BuildSourceType string + +// Valid values for BuildSourceType. +const ( + //BuildSourceGit instructs a build to use a Git source control repository as the build input. + BuildSourceGit BuildSourceType = "Git" + // BuildSourceDockerfile uses a Dockerfile as the start of a build + BuildSourceDockerfile BuildSourceType = "Dockerfile" + // BuildSourceBinary indicates the build will accept a Binary file as input. + BuildSourceBinary BuildSourceType = "Binary" + // BuildSourceImage indicates the build will accept an image as input + BuildSourceImage BuildSourceType = "Image" + // BuildSourceNone indicates the build has no predefined input (only valid for Source and Custom Strategies) + BuildSourceNone BuildSourceType = "None" +) + +// BuildSource is the SCM used for the build. +type BuildSource struct { + // type of build input to accept + // +k8s:conversion-gen=false + Type BuildSourceType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=BuildSourceType"` + + // binary builds accept a binary as their input. The binary is generally assumed to be a tar, + // gzipped tar, or zip file depending on the strategy. For container image builds, this is the build + // context and an optional Dockerfile may be specified to override any Dockerfile in the + // build context. For Source builds, this is assumed to be an archive as described above. For + // Source and container image builds, if binary.asFile is set the build will receive a directory with + // a single file. contextDir may be used when an archive is provided. Custom builds will + // receive this binary as input on STDIN. + Binary *BinaryBuildSource `json:"binary,omitempty" protobuf:"bytes,2,opt,name=binary"` + + // dockerfile is the raw contents of a Dockerfile which should be built. When this option is + // specified, the FROM may be modified based on your strategy base image and additional ENV + // stanzas from your strategy environment will be added after the FROM, but before the rest + // of your Dockerfile stanzas. The Dockerfile source type may be used with other options like + // git - in those cases the Git repo will have any innate Dockerfile replaced in the context + // dir. + Dockerfile *string `json:"dockerfile,omitempty" protobuf:"bytes,3,opt,name=dockerfile"` + + // git contains optional information about git build source + Git *GitBuildSource `json:"git,omitempty" protobuf:"bytes,4,opt,name=git"` + + // images describes a set of images to be used to provide source for the build + Images []ImageSource `json:"images,omitempty" protobuf:"bytes,5,rep,name=images"` + + // contextDir specifies the sub-directory where the source code for the application exists. + // This allows to have buildable sources in directory other than root of + // repository. + ContextDir string `json:"contextDir,omitempty" protobuf:"bytes,6,opt,name=contextDir"` + + // sourceSecret is the name of a Secret that would be used for setting + // up the authentication for cloning private repository. + // The secret contains valid credentials for remote repository, where the + // data's key represent the authentication method to be used and value is + // the base64 encoded credentials. Supported auth methods are: ssh-privatekey. + SourceSecret *corev1.LocalObjectReference `json:"sourceSecret,omitempty" protobuf:"bytes,7,opt,name=sourceSecret"` + + // secrets represents a list of secrets and their destinations that will + // be used only for the build. + Secrets []SecretBuildSource `json:"secrets,omitempty" protobuf:"bytes,8,rep,name=secrets"` + + // configMaps represents a list of configMaps and their destinations that will + // be used for the build. + ConfigMaps []ConfigMapBuildSource `json:"configMaps,omitempty" protobuf:"bytes,9,rep,name=configMaps"` +} + +// ImageSource is used to describe build source that will be extracted from an image or used during a +// multi stage build. A reference of type ImageStreamTag, ImageStreamImage or DockerImage may be used. +// A pull secret can be specified to pull the image from an external registry or override the default +// service account secret if pulling from the internal registry. Image sources can either be used to +// extract content from an image and place it into the build context along with the repository source, +// or used directly during a multi-stage container image build to allow content to be copied without overwriting +// the contents of the repository source (see the 'paths' and 'as' fields). +type ImageSource struct { + // from is a reference to an ImageStreamTag, ImageStreamImage, or DockerImage to + // copy source from. + From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` + + // A list of image names that this source will be used in place of during a multi-stage container image + // build. For instance, a Dockerfile that uses "COPY --from=nginx:latest" will first check for an image + // source that has "nginx:latest" in this field before attempting to pull directly. If the Dockerfile + // does not reference an image source it is ignored. This field and paths may both be set, in which case + // the contents will be used twice. + // +optional + As []string `json:"as" protobuf:"bytes,4,rep,name=as"` + + // paths is a list of source and destination paths to copy from the image. This content will be copied + // into the build context prior to starting the build. If no paths are set, the build context will + // not be altered. + // +optional + Paths []ImageSourcePath `json:"paths" protobuf:"bytes,2,rep,name=paths"` + + // pullSecret is a reference to a secret to be used to pull the image from a registry + // If the image is pulled from the OpenShift registry, this field does not need to be set. + PullSecret *corev1.LocalObjectReference `json:"pullSecret,omitempty" protobuf:"bytes,3,opt,name=pullSecret"` +} + +// ImageSourcePath describes a path to be copied from a source image and its destination within the build directory. +type ImageSourcePath struct { + // sourcePath is the absolute path of the file or directory inside the image to + // copy to the build directory. If the source path ends in /. then the content of + // the directory will be copied, but the directory itself will not be created at the + // destination. + SourcePath string `json:"sourcePath" protobuf:"bytes,1,opt,name=sourcePath"` + + // destinationDir is the relative directory within the build directory + // where files copied from the image are placed. + DestinationDir string `json:"destinationDir" protobuf:"bytes,2,opt,name=destinationDir"` +} + +// SecretBuildSource describes a secret and its destination directory that will be +// used only at the build time. The content of the secret referenced here will +// be copied into the destination directory instead of mounting. +type SecretBuildSource struct { + // secret is a reference to an existing secret that you want to use in your + // build. + Secret corev1.LocalObjectReference `json:"secret" protobuf:"bytes,1,opt,name=secret"` + + // destinationDir is the directory where the files from the secret should be + // available for the build time. + // For the Source build strategy, these will be injected into a container + // where the assemble script runs. Later, when the script finishes, all files + // injected will be truncated to zero length. + // For the container image build strategy, these will be copied into the build + // directory, where the Dockerfile is located, so users can ADD or COPY them + // during container image build. + DestinationDir string `json:"destinationDir,omitempty" protobuf:"bytes,2,opt,name=destinationDir"` +} + +// ConfigMapBuildSource describes a configmap and its destination directory that will be +// used only at the build time. The content of the configmap referenced here will +// be copied into the destination directory instead of mounting. +type ConfigMapBuildSource struct { + // configMap is a reference to an existing configmap that you want to use in your + // build. + ConfigMap corev1.LocalObjectReference `json:"configMap" protobuf:"bytes,1,opt,name=configMap"` + + // destinationDir is the directory where the files from the configmap should be + // available for the build time. + // For the Source build strategy, these will be injected into a container + // where the assemble script runs. + // For the container image build strategy, these will be copied into the build + // directory, where the Dockerfile is located, so users can ADD or COPY them + // during container image build. + DestinationDir string `json:"destinationDir,omitempty" protobuf:"bytes,2,opt,name=destinationDir"` +} + +// BinaryBuildSource describes a binary file to be used for the Docker and Source build strategies, +// where the file will be extracted and used as the build source. +type BinaryBuildSource struct { + // asFile indicates that the provided binary input should be considered a single file + // within the build input. For example, specifying "webapp.war" would place the provided + // binary as `/webapp.war` for the builder. If left empty, the Docker and Source build + // strategies assume this file is a zip, tar, or tar.gz file and extract it as the source. + // The custom strategy receives this binary as standard input. This filename may not + // contain slashes or be '..' or '.'. + AsFile string `json:"asFile,omitempty" protobuf:"bytes,1,opt,name=asFile"` +} + +// SourceRevision is the revision or commit information from the source for the build +type SourceRevision struct { + // type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or 'Images' + // +k8s:conversion-gen=false + Type BuildSourceType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=BuildSourceType"` + + // Git contains information about git-based build source + Git *GitSourceRevision `json:"git,omitempty" protobuf:"bytes,2,opt,name=git"` +} + +// GitSourceRevision is the commit information from a git source for a build +type GitSourceRevision struct { + // commit is the commit hash identifying a specific commit + Commit string `json:"commit,omitempty" protobuf:"bytes,1,opt,name=commit"` + + // author is the author of a specific commit + Author SourceControlUser `json:"author,omitempty" protobuf:"bytes,2,opt,name=author"` + + // committer is the committer of a specific commit + Committer SourceControlUser `json:"committer,omitempty" protobuf:"bytes,3,opt,name=committer"` + + // message is the description of a specific commit + Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"` +} + +// ProxyConfig defines what proxies to use for an operation +type ProxyConfig struct { + // httpProxy is a proxy used to reach the git repository over http + HTTPProxy *string `json:"httpProxy,omitempty" protobuf:"bytes,3,opt,name=httpProxy"` + + // httpsProxy is a proxy used to reach the git repository over https + HTTPSProxy *string `json:"httpsProxy,omitempty" protobuf:"bytes,4,opt,name=httpsProxy"` + + // noProxy is the list of domains for which the proxy should not be used + NoProxy *string `json:"noProxy,omitempty" protobuf:"bytes,5,opt,name=noProxy"` +} + +// GitBuildSource defines the parameters of a Git SCM +type GitBuildSource struct { + // uri points to the source that will be built. The structure of the source + // will depend on the type of build to run + URI string `json:"uri" protobuf:"bytes,1,opt,name=uri"` + + // ref is the branch/tag/ref to build. + Ref string `json:"ref,omitempty" protobuf:"bytes,2,opt,name=ref"` + + // proxyConfig defines the proxies to use for the git clone operation. Values + // not set here are inherited from cluster-wide build git proxy settings. + ProxyConfig `json:",inline" protobuf:"bytes,3,opt,name=proxyConfig"` +} + +// SourceControlUser defines the identity of a user of source control +type SourceControlUser struct { + // name of the source control user + Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` + + // email of the source control user + Email string `json:"email,omitempty" protobuf:"bytes,2,opt,name=email"` +} + +// BuildStrategy contains the details of how to perform a build. +type BuildStrategy struct { + // type is the kind of build strategy. + // +k8s:conversion-gen=false + Type BuildStrategyType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=BuildStrategyType"` + + // dockerStrategy holds the parameters to the container image build strategy. + DockerStrategy *DockerBuildStrategy `json:"dockerStrategy,omitempty" protobuf:"bytes,2,opt,name=dockerStrategy"` + + // sourceStrategy holds the parameters to the Source build strategy. + SourceStrategy *SourceBuildStrategy `json:"sourceStrategy,omitempty" protobuf:"bytes,3,opt,name=sourceStrategy"` + + // customStrategy holds the parameters to the Custom build strategy + CustomStrategy *CustomBuildStrategy `json:"customStrategy,omitempty" protobuf:"bytes,4,opt,name=customStrategy"` + + // JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. + JenkinsPipelineStrategy *JenkinsPipelineBuildStrategy `json:"jenkinsPipelineStrategy,omitempty" protobuf:"bytes,5,opt,name=jenkinsPipelineStrategy"` +} + +// BuildStrategyType describes a particular way of performing a build. +type BuildStrategyType string + +// Valid values for BuildStrategyType. +const ( + // DockerBuildStrategyType performs builds using a Dockerfile. + DockerBuildStrategyType BuildStrategyType = "Docker" + + // SourceBuildStrategyType performs builds build using Source To Images with a Git repository + // and a builder image. + SourceBuildStrategyType BuildStrategyType = "Source" + + // CustomBuildStrategyType performs builds using custom builder container image. + CustomBuildStrategyType BuildStrategyType = "Custom" + + // JenkinsPipelineBuildStrategyType indicates the build will run via Jenkine Pipeline. + JenkinsPipelineBuildStrategyType BuildStrategyType = "JenkinsPipeline" +) + +// CustomBuildStrategy defines input parameters specific to Custom build. +type CustomBuildStrategy struct { + // from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which + // the container image should be pulled + From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` + + // pullSecret is the name of a Secret that would be used for setting up + // the authentication for pulling the container images from the private Docker + // registries + PullSecret *corev1.LocalObjectReference `json:"pullSecret,omitempty" protobuf:"bytes,2,opt,name=pullSecret"` + + // env contains additional environment variables you want to pass into a builder container. + Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,3,rep,name=env"` + + // exposeDockerSocket will allow running Docker commands (and build container images) from + // inside the container. + // TODO: Allow admins to enforce 'false' for this option + ExposeDockerSocket bool `json:"exposeDockerSocket,omitempty" protobuf:"varint,4,opt,name=exposeDockerSocket"` + + // forcePull describes if the controller should configure the build pod to always pull the images + // for the builder or only pull if it is not present locally + ForcePull bool `json:"forcePull,omitempty" protobuf:"varint,5,opt,name=forcePull"` + + // secrets is a list of additional secrets that will be included in the build pod + Secrets []SecretSpec `json:"secrets,omitempty" protobuf:"bytes,6,rep,name=secrets"` + + // buildAPIVersion is the requested API version for the Build object serialized and passed to the custom builder + BuildAPIVersion string `json:"buildAPIVersion,omitempty" protobuf:"bytes,7,opt,name=buildAPIVersion"` +} + +// ImageOptimizationPolicy describes what optimizations the builder can perform when building images. +type ImageOptimizationPolicy string + +const ( + // ImageOptimizationNone will generate a canonical container image as produced by the + // `container image build` command. + ImageOptimizationNone ImageOptimizationPolicy = "None" + + // ImageOptimizationSkipLayers is an experimental policy and will avoid creating + // unique layers for each dockerfile line, resulting in smaller images and saving time + // during creation. Some Dockerfile syntax is not fully supported - content added to + // a VOLUME by an earlier layer may have incorrect uid, gid, and filesystem permissions. + // If an unsupported setting is detected, the build will fail. + ImageOptimizationSkipLayers ImageOptimizationPolicy = "SkipLayers" + + // ImageOptimizationSkipLayersAndWarn is the same as SkipLayers, but will only + // warn to the build output instead of failing when unsupported syntax is detected. This + // policy is experimental. + ImageOptimizationSkipLayersAndWarn ImageOptimizationPolicy = "SkipLayersAndWarn" +) + +// DockerBuildStrategy defines input parameters specific to container image build. +type DockerBuildStrategy struct { + // from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which + // the container image should be pulled + // the resulting image will be used in the FROM line of the Dockerfile for this build. + From *corev1.ObjectReference `json:"from,omitempty" protobuf:"bytes,1,opt,name=from"` + + // pullSecret is the name of a Secret that would be used for setting up + // the authentication for pulling the container images from the private Docker + // registries + PullSecret *corev1.LocalObjectReference `json:"pullSecret,omitempty" protobuf:"bytes,2,opt,name=pullSecret"` + + // noCache if set to true indicates that the container image build must be executed with the + // --no-cache=true flag + NoCache bool `json:"noCache,omitempty" protobuf:"varint,3,opt,name=noCache"` + + // env contains additional environment variables you want to pass into a builder container. + Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,4,rep,name=env"` + + // forcePull describes if the builder should pull the images from registry prior to building. + ForcePull bool `json:"forcePull,omitempty" protobuf:"varint,5,opt,name=forcePull"` + + // dockerfilePath is the path of the Dockerfile that will be used to build the container image, + // relative to the root of the context (contextDir). + DockerfilePath string `json:"dockerfilePath,omitempty" protobuf:"bytes,6,opt,name=dockerfilePath"` + + // buildArgs contains build arguments that will be resolved in the Dockerfile. See + // https://docs.docker.com/engine/reference/builder/#/arg for more details. + BuildArgs []corev1.EnvVar `json:"buildArgs,omitempty" protobuf:"bytes,7,rep,name=buildArgs"` + + // imageOptimizationPolicy describes what optimizations the system can use when building images + // to reduce the final size or time spent building the image. The default policy is 'None' which + // means the final build image will be equivalent to an image created by the container image build API. + // The experimental policy 'SkipLayers' will avoid commiting new layers in between each + // image step, and will fail if the Dockerfile cannot provide compatibility with the 'None' + // policy. An additional experimental policy 'SkipLayersAndWarn' is the same as + // 'SkipLayers' but simply warns if compatibility cannot be preserved. + ImageOptimizationPolicy *ImageOptimizationPolicy `json:"imageOptimizationPolicy,omitempty" protobuf:"bytes,8,opt,name=imageOptimizationPolicy,casttype=ImageOptimizationPolicy"` +} + +// SourceBuildStrategy defines input parameters specific to an Source build. +type SourceBuildStrategy struct { + // from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which + // the container image should be pulled + From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` + + // pullSecret is the name of a Secret that would be used for setting up + // the authentication for pulling the container images from the private Docker + // registries + PullSecret *corev1.LocalObjectReference `json:"pullSecret,omitempty" protobuf:"bytes,2,opt,name=pullSecret"` + + // env contains additional environment variables you want to pass into a builder container. + Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,3,rep,name=env"` + + // scripts is the location of Source scripts + Scripts string `json:"scripts,omitempty" protobuf:"bytes,4,opt,name=scripts"` + + // incremental flag forces the Source build to do incremental builds if true. + Incremental *bool `json:"incremental,omitempty" protobuf:"varint,5,opt,name=incremental"` + + // forcePull describes if the builder should pull the images from registry prior to building. + ForcePull bool `json:"forcePull,omitempty" protobuf:"varint,6,opt,name=forcePull"` + + // deprecated json field, do not reuse: runtimeImage + // +k8s:protobuf-deprecated=runtimeImage,7 + + // deprecated json field, do not reuse: runtimeArtifacts + // +k8s:protobuf-deprecated=runtimeArtifacts,8 + +} + +// JenkinsPipelineBuildStrategy holds parameters specific to a Jenkins Pipeline build. +type JenkinsPipelineBuildStrategy struct { + // JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline + // relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are + // both not specified, this defaults to Jenkinsfile in the root of the specified contextDir. + JenkinsfilePath string `json:"jenkinsfilePath,omitempty" protobuf:"bytes,1,opt,name=jenkinsfilePath"` + + // Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build. + Jenkinsfile string `json:"jenkinsfile,omitempty" protobuf:"bytes,2,opt,name=jenkinsfile"` + + // env contains additional environment variables you want to pass into a build pipeline. + Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,3,rep,name=env"` +} + +// A BuildPostCommitSpec holds a build post commit hook specification. The hook +// executes a command in a temporary container running the build output image, +// immediately after the last layer of the image is committed and before the +// image is pushed to a registry. The command is executed with the current +// working directory ($PWD) set to the image's WORKDIR. +// +// The build will be marked as failed if the hook execution fails. It will fail +// if the script or command return a non-zero exit code, or if there is any +// other error related to starting the temporary container. +// +// There are five different ways to configure the hook. As an example, all forms +// below are equivalent and will execute `rake test --verbose`. +// +// 1. Shell script: +// +// "postCommit": { +// "script": "rake test --verbose", +// } +// +// The above is a convenient form which is equivalent to: +// +// "postCommit": { +// "command": ["/bin/sh", "-ic"], +// "args": ["rake test --verbose"] +// } +// +// 2. A command as the image entrypoint: +// +// "postCommit": { +// "commit": ["rake", "test", "--verbose"] +// } +// +// Command overrides the image entrypoint in the exec form, as documented in +// Docker: https://docs.docker.com/engine/reference/builder/#entrypoint. +// +// 3. Pass arguments to the default entrypoint: +// +// "postCommit": { +// "args": ["rake", "test", "--verbose"] +// } +// +// This form is only useful if the image entrypoint can handle arguments. +// +// 4. Shell script with arguments: +// +// "postCommit": { +// "script": "rake test $1", +// "args": ["--verbose"] +// } +// +// This form is useful if you need to pass arguments that would otherwise be +// hard to quote properly in the shell script. In the script, $0 will be +// "/bin/sh" and $1, $2, etc, are the positional arguments from Args. +// +// 5. Command with arguments: +// +// "postCommit": { +// "command": ["rake", "test"], +// "args": ["--verbose"] +// } +// +// This form is equivalent to appending the arguments to the Command slice. +// +// It is invalid to provide both Script and Command simultaneously. If none of +// the fields are specified, the hook is not executed. +type BuildPostCommitSpec struct { + // command is the command to run. It may not be specified with Script. + // This might be needed if the image doesn't have `/bin/sh`, or if you + // do not want to use a shell. In all other cases, using Script might be + // more convenient. + Command []string `json:"command,omitempty" protobuf:"bytes,1,rep,name=command"` + // args is a list of arguments that are provided to either Command, + // Script or the container image's default entrypoint. The arguments are + // placed immediately after the command to be run. + Args []string `json:"args,omitempty" protobuf:"bytes,2,rep,name=args"` + // script is a shell script to be run with `/bin/sh -ic`. It may not be + // specified with Command. Use Script when a shell script is appropriate + // to execute the post build hook, for example for running unit tests + // with `rake test`. If you need control over the image entrypoint, or + // if the image does not have `/bin/sh`, use Command and/or Args. + // The `-i` flag is needed to support CentOS and RHEL images that use + // Software Collections (SCL), in order to have the appropriate + // collections enabled in the shell. E.g., in the Ruby image, this is + // necessary to make `ruby`, `bundle` and other binaries available in + // the PATH. + Script string `json:"script,omitempty" protobuf:"bytes,3,opt,name=script"` +} + +// BuildOutput is input to a build strategy and describes the container image that the strategy +// should produce. +type BuildOutput struct { + // to defines an optional location to push the output of this build to. + // Kind must be one of 'ImageStreamTag' or 'DockerImage'. + // This value will be used to look up a container image repository to push to. + // In the case of an ImageStreamTag, the ImageStreamTag will be looked for in the namespace of + // the build unless Namespace is specified. + To *corev1.ObjectReference `json:"to,omitempty" protobuf:"bytes,1,opt,name=to"` + + // PushSecret is the name of a Secret that would be used for setting + // up the authentication for executing the Docker push to authentication + // enabled Docker Registry (or Docker Hub). + PushSecret *corev1.LocalObjectReference `json:"pushSecret,omitempty" protobuf:"bytes,2,opt,name=pushSecret"` + + // imageLabels define a list of labels that are applied to the resulting image. If there + // are multiple labels with the same name then the last one in the list is used. + ImageLabels []ImageLabel `json:"imageLabels,omitempty" protobuf:"bytes,3,rep,name=imageLabels"` +} + +// ImageLabel represents a label applied to the resulting image. +type ImageLabel struct { + // name defines the name of the label. It must have non-zero length. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + + // value defines the literal value of the label. + Value string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"` +} + +// +genclient +// +genclient:method=Instantiate,verb=create,subresource=instantiate,input=BuildRequest,result=Build +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Build configurations define a build process for new container images. There are three types of builds possible - a container image build using a Dockerfile, a Source-to-Image build that uses a specially prepared base image that accepts source code that it can make runnable, and a custom build that can run // arbitrary container images as a base and accept the build parameters. Builds run on the cluster and on completion are pushed to the container image registry specified in the "output" section. A build can be triggered via a webhook, when the base image changes, or when a user manually requests a new build be // created. +// +// Each build created by a build configuration is numbered and refers back to its parent configuration. Multiple builds can be triggered at once. Builds that do not have "output" set can be used to test code or run a verification build. +type BuildConfig struct { + metav1.TypeMeta `json:",inline"` + // metadata for BuildConfig. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // spec holds all the input necessary to produce a new build, and the conditions when + // to trigger them. + Spec BuildConfigSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + // status holds any relevant information about a build config + Status BuildConfigStatus `json:"status" protobuf:"bytes,3,opt,name=status"` +} + +// BuildConfigSpec describes when and how builds are created +type BuildConfigSpec struct { + + //triggers determine how new Builds can be launched from a BuildConfig. If + //no triggers are defined, a new build can only occur as a result of an + //explicit client build creation. + Triggers []BuildTriggerPolicy `json:"triggers" protobuf:"bytes,1,rep,name=triggers"` + + // RunPolicy describes how the new build created from this build + // configuration will be scheduled for execution. + // This is optional, if not specified we default to "Serial". + RunPolicy BuildRunPolicy `json:"runPolicy,omitempty" protobuf:"bytes,2,opt,name=runPolicy,casttype=BuildRunPolicy"` + + // CommonSpec is the desired build specification + CommonSpec `json:",inline" protobuf:"bytes,3,opt,name=commonSpec"` + + // successfulBuildsHistoryLimit is the number of old successful builds to retain. + // If not specified, all successful builds are retained. + SuccessfulBuildsHistoryLimit *int32 `json:"successfulBuildsHistoryLimit,omitempty" protobuf:"varint,4,opt,name=successfulBuildsHistoryLimit"` + + // failedBuildsHistoryLimit is the number of old failed builds to retain. + // If not specified, all failed builds are retained. + FailedBuildsHistoryLimit *int32 `json:"failedBuildsHistoryLimit,omitempty" protobuf:"varint,5,opt,name=failedBuildsHistoryLimit"` +} + +// BuildRunPolicy defines the behaviour of how the new builds are executed +// from the existing build configuration. +type BuildRunPolicy string + +const ( + // BuildRunPolicyParallel schedules new builds immediately after they are + // created. Builds will be executed in parallel. + BuildRunPolicyParallel BuildRunPolicy = "Parallel" + + // BuildRunPolicySerial schedules new builds to execute in a sequence as + // they are created. Every build gets queued up and will execute when the + // previous build completes. This is the default policy. + BuildRunPolicySerial BuildRunPolicy = "Serial" + + // BuildRunPolicySerialLatestOnly schedules only the latest build to execute, + // cancelling all the previously queued build. + BuildRunPolicySerialLatestOnly BuildRunPolicy = "SerialLatestOnly" +) + +// BuildConfigStatus contains current state of the build config object. +type BuildConfigStatus struct { + // lastVersion is used to inform about number of last triggered build. + LastVersion int64 `json:"lastVersion" protobuf:"varint,1,opt,name=lastVersion"` +} + +// SecretLocalReference contains information that points to the local secret being used +type SecretLocalReference struct { + // Name is the name of the resource in the same namespace being referenced + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` +} + +// WebHookTrigger is a trigger that gets invoked using a webhook type of post +type WebHookTrigger struct { + // secret used to validate requests. + // Deprecated: use SecretReference instead. + Secret string `json:"secret,omitempty" protobuf:"bytes,1,opt,name=secret"` + + // allowEnv determines whether the webhook can set environment variables; can only + // be set to true for GenericWebHook. + AllowEnv bool `json:"allowEnv,omitempty" protobuf:"varint,2,opt,name=allowEnv"` + + // secretReference is a reference to a secret in the same namespace, + // containing the value to be validated when the webhook is invoked. + // The secret being referenced must contain a key named "WebHookSecretKey", the value + // of which will be checked against the value supplied in the webhook invocation. + SecretReference *SecretLocalReference `json:"secretReference,omitempty" protobuf:"bytes,3,opt,name=secretReference"` +} + +// ImageChangeTrigger allows builds to be triggered when an ImageStream changes +type ImageChangeTrigger struct { + // lastTriggeredImageID is used internally by the ImageChangeController to save last + // used image ID for build + LastTriggeredImageID string `json:"lastTriggeredImageID,omitempty" protobuf:"bytes,1,opt,name=lastTriggeredImageID"` + + // from is a reference to an ImageStreamTag that will trigger a build when updated + // It is optional. If no From is specified, the From image from the build strategy + // will be used. Only one ImageChangeTrigger with an empty From reference is allowed in + // a build configuration. + From *corev1.ObjectReference `json:"from,omitempty" protobuf:"bytes,2,opt,name=from"` + + // paused is true if this trigger is temporarily disabled. Optional. + Paused bool `json:"paused,omitempty" protobuf:"varint,3,opt,name=paused"` +} + +// BuildTriggerPolicy describes a policy for a single trigger that results in a new Build. +type BuildTriggerPolicy struct { + // type is the type of build trigger + Type BuildTriggerType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=BuildTriggerType"` + + // github contains the parameters for a GitHub webhook type of trigger + GitHubWebHook *WebHookTrigger `json:"github,omitempty" protobuf:"bytes,2,opt,name=github"` + + // generic contains the parameters for a Generic webhook type of trigger + GenericWebHook *WebHookTrigger `json:"generic,omitempty" protobuf:"bytes,3,opt,name=generic"` + + // imageChange contains parameters for an ImageChange type of trigger + ImageChange *ImageChangeTrigger `json:"imageChange,omitempty" protobuf:"bytes,4,opt,name=imageChange"` + + // GitLabWebHook contains the parameters for a GitLab webhook type of trigger + GitLabWebHook *WebHookTrigger `json:"gitlab,omitempty" protobuf:"bytes,5,opt,name=gitlab"` + + // BitbucketWebHook contains the parameters for a Bitbucket webhook type of + // trigger + BitbucketWebHook *WebHookTrigger `json:"bitbucket,omitempty" protobuf:"bytes,6,opt,name=bitbucket"` +} + +// BuildTriggerType refers to a specific BuildTriggerPolicy implementation. +type BuildTriggerType string + +const ( + // GitHubWebHookBuildTriggerType represents a trigger that launches builds on + // GitHub webhook invocations + GitHubWebHookBuildTriggerType BuildTriggerType = "GitHub" + GitHubWebHookBuildTriggerTypeDeprecated BuildTriggerType = "github" + + // GenericWebHookBuildTriggerType represents a trigger that launches builds on + // generic webhook invocations + GenericWebHookBuildTriggerType BuildTriggerType = "Generic" + GenericWebHookBuildTriggerTypeDeprecated BuildTriggerType = "generic" + + // GitLabWebHookBuildTriggerType represents a trigger that launches builds on + // GitLab webhook invocations + GitLabWebHookBuildTriggerType BuildTriggerType = "GitLab" + + // BitbucketWebHookBuildTriggerType represents a trigger that launches builds on + // Bitbucket webhook invocations + BitbucketWebHookBuildTriggerType BuildTriggerType = "Bitbucket" + + // ImageChangeBuildTriggerType represents a trigger that launches builds on + // availability of a new version of an image + ImageChangeBuildTriggerType BuildTriggerType = "ImageChange" + ImageChangeBuildTriggerTypeDeprecated BuildTriggerType = "imageChange" + + // ConfigChangeBuildTriggerType will trigger a build on an initial build config creation + // WARNING: In the future the behavior will change to trigger a build on any config change + ConfigChangeBuildTriggerType BuildTriggerType = "ConfigChange" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildList is a collection of Builds. +type BuildList struct { + metav1.TypeMeta `json:",inline"` + // metadata for BuildList. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // items is a list of builds + Items []Build `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildConfigList is a collection of BuildConfigs. +type BuildConfigList struct { + metav1.TypeMeta `json:",inline"` + // metadata for BuildConfigList. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // items is a list of build configs + Items []BuildConfig `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// GenericWebHookEvent is the payload expected for a generic webhook post +type GenericWebHookEvent struct { + // type is the type of source repository + // +k8s:conversion-gen=false + Type BuildSourceType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=BuildSourceType"` + + // git is the git information if the Type is BuildSourceGit + Git *GitInfo `json:"git,omitempty" protobuf:"bytes,2,opt,name=git"` + + // env contains additional environment variables you want to pass into a builder container. + // ValueFrom is not supported. + Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,3,rep,name=env"` + + // DockerStrategyOptions contains additional docker-strategy specific options for the build + DockerStrategyOptions *DockerStrategyOptions `json:"dockerStrategyOptions,omitempty" protobuf:"bytes,4,opt,name=dockerStrategyOptions"` +} + +// GitInfo is the aggregated git information for a generic webhook post +type GitInfo struct { + GitBuildSource `json:",inline" protobuf:"bytes,1,opt,name=gitBuildSource"` + GitSourceRevision `json:",inline" protobuf:"bytes,2,opt,name=gitSourceRevision"` + + // Refs is a list of GitRefs for the provided repo - generally sent + // when used from a post-receive hook. This field is optional and is + // used when sending multiple refs + Refs []GitRefInfo `json:"refs" protobuf:"bytes,3,rep,name=refs"` +} + +// GitRefInfo is a single ref +type GitRefInfo struct { + GitBuildSource `json:",inline" protobuf:"bytes,1,opt,name=gitBuildSource"` + GitSourceRevision `json:",inline" protobuf:"bytes,2,opt,name=gitSourceRevision"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildLog is the (unused) resource associated with the build log redirector +type BuildLog struct { + metav1.TypeMeta `json:",inline"` +} + +// DockerStrategyOptions contains extra strategy options for container image builds +type DockerStrategyOptions struct { + // Args contains any build arguments that are to be passed to Docker. See + // https://docs.docker.com/engine/reference/builder/#/arg for more details + BuildArgs []corev1.EnvVar `json:"buildArgs,omitempty" protobuf:"bytes,1,rep,name=buildArgs"` + + // noCache overrides the docker-strategy noCache option in the build config + NoCache *bool `json:"noCache,omitempty" protobuf:"varint,2,opt,name=noCache"` +} + +// SourceStrategyOptions contains extra strategy options for Source builds +type SourceStrategyOptions struct { + // incremental overrides the source-strategy incremental option in the build config + Incremental *bool `json:"incremental,omitempty" protobuf:"varint,1,opt,name=incremental"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildRequest is the resource used to pass parameters to build generator +type BuildRequest struct { + metav1.TypeMeta `json:",inline"` + // metadata for BuildRequest. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // revision is the information from the source for a specific repo snapshot. + Revision *SourceRevision `json:"revision,omitempty" protobuf:"bytes,2,opt,name=revision"` + + // triggeredByImage is the Image that triggered this build. + TriggeredByImage *corev1.ObjectReference `json:"triggeredByImage,omitempty" protobuf:"bytes,3,opt,name=triggeredByImage"` + + // from is the reference to the ImageStreamTag that triggered the build. + From *corev1.ObjectReference `json:"from,omitempty" protobuf:"bytes,4,opt,name=from"` + + // binary indicates a request to build from a binary provided to the builder + Binary *BinaryBuildSource `json:"binary,omitempty" protobuf:"bytes,5,opt,name=binary"` + + // lastVersion (optional) is the LastVersion of the BuildConfig that was used + // to generate the build. If the BuildConfig in the generator doesn't match, a build will + // not be generated. + LastVersion *int64 `json:"lastVersion,omitempty" protobuf:"varint,6,opt,name=lastVersion"` + + // env contains additional environment variables you want to pass into a builder container. + Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,7,rep,name=env"` + + // triggeredBy describes which triggers started the most recent update to the + // build configuration and contains information about those triggers. + TriggeredBy []BuildTriggerCause `json:"triggeredBy" protobuf:"bytes,8,rep,name=triggeredBy"` + + // DockerStrategyOptions contains additional docker-strategy specific options for the build + DockerStrategyOptions *DockerStrategyOptions `json:"dockerStrategyOptions,omitempty" protobuf:"bytes,9,opt,name=dockerStrategyOptions"` + + // SourceStrategyOptions contains additional source-strategy specific options for the build + SourceStrategyOptions *SourceStrategyOptions `json:"sourceStrategyOptions,omitempty" protobuf:"bytes,10,opt,name=sourceStrategyOptions"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BinaryBuildRequestOptions are the options required to fully speficy a binary build request +type BinaryBuildRequestOptions struct { + metav1.TypeMeta `json:",inline"` + // metadata for BinaryBuildRequestOptions. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // asFile determines if the binary should be created as a file within the source rather than extracted as an archive + AsFile string `json:"asFile,omitempty" protobuf:"bytes,2,opt,name=asFile"` + + // TODO: Improve map[string][]string conversion so we can handled nested objects + + // revision.commit is the value identifying a specific commit + Commit string `json:"revision.commit,omitempty" protobuf:"bytes,3,opt,name=revisionCommit"` + + // revision.message is the description of a specific commit + Message string `json:"revision.message,omitempty" protobuf:"bytes,4,opt,name=revisionMessage"` + + // revision.authorName of the source control user + AuthorName string `json:"revision.authorName,omitempty" protobuf:"bytes,5,opt,name=revisionAuthorName"` + + // revision.authorEmail of the source control user + AuthorEmail string `json:"revision.authorEmail,omitempty" protobuf:"bytes,6,opt,name=revisionAuthorEmail"` + + // revision.committerName of the source control user + CommitterName string `json:"revision.committerName,omitempty" protobuf:"bytes,7,opt,name=revisionCommitterName"` + + // revision.committerEmail of the source control user + CommitterEmail string `json:"revision.committerEmail,omitempty" protobuf:"bytes,8,opt,name=revisionCommitterEmail"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildLogOptions is the REST options for a build log +type BuildLogOptions struct { + metav1.TypeMeta `json:",inline"` + + // cointainer for which to stream logs. Defaults to only container if there is one container in the pod. + Container string `json:"container,omitempty" protobuf:"bytes,1,opt,name=container"` + // follow if true indicates that the build log should be streamed until + // the build terminates. + Follow bool `json:"follow,omitempty" protobuf:"varint,2,opt,name=follow"` + // previous returns previous build logs. Defaults to false. + Previous bool `json:"previous,omitempty" protobuf:"varint,3,opt,name=previous"` + // sinceSeconds is a relative time in seconds before the current time from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + SinceSeconds *int64 `json:"sinceSeconds,omitempty" protobuf:"varint,4,opt,name=sinceSeconds"` + // sinceTime is an RFC3339 timestamp from which to show logs. If this value + // precedes the time a pod was started, only logs since the pod start will be returned. + // If this value is in the future, no logs will be returned. + // Only one of sinceSeconds or sinceTime may be specified. + SinceTime *metav1.Time `json:"sinceTime,omitempty" protobuf:"bytes,5,opt,name=sinceTime"` + // timestamps, If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line + // of log output. Defaults to false. + Timestamps bool `json:"timestamps,omitempty" protobuf:"varint,6,opt,name=timestamps"` + // tailLines, If set, is the number of lines from the end of the logs to show. If not specified, + // logs are shown from the creation of the container or sinceSeconds or sinceTime + TailLines *int64 `json:"tailLines,omitempty" protobuf:"varint,7,opt,name=tailLines"` + // limitBytes, If set, is the number of bytes to read from the server before terminating the + // log output. This may not display a complete final line of logging, and may return + // slightly more or slightly less than the specified limit. + LimitBytes *int64 `json:"limitBytes,omitempty" protobuf:"varint,8,opt,name=limitBytes"` + + // noWait if true causes the call to return immediately even if the build + // is not available yet. Otherwise the server will wait until the build has started. + // TODO: Fix the tag to 'noWait' in v2 + NoWait bool `json:"nowait,omitempty" protobuf:"varint,9,opt,name=nowait"` + + // version of the build for which to view logs. + Version *int64 `json:"version,omitempty" protobuf:"varint,10,opt,name=version"` +} + +// SecretSpec specifies a secret to be included in a build pod and its corresponding mount point +type SecretSpec struct { + // secretSource is a reference to the secret + SecretSource corev1.LocalObjectReference `json:"secretSource" protobuf:"bytes,1,opt,name=secretSource"` + + // mountPath is the path at which to mount the secret + MountPath string `json:"mountPath" protobuf:"bytes,2,opt,name=mountPath"` +} diff --git a/vendor/github.com/openshift/api/build/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/build/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..68f987dc9 --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/zz_generated.deepcopy.go @@ -0,0 +1,1699 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BinaryBuildRequestOptions) DeepCopyInto(out *BinaryBuildRequestOptions) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BinaryBuildRequestOptions. +func (in *BinaryBuildRequestOptions) DeepCopy() *BinaryBuildRequestOptions { + if in == nil { + return nil + } + out := new(BinaryBuildRequestOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BinaryBuildRequestOptions) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BinaryBuildSource) DeepCopyInto(out *BinaryBuildSource) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BinaryBuildSource. +func (in *BinaryBuildSource) DeepCopy() *BinaryBuildSource { + if in == nil { + return nil + } + out := new(BinaryBuildSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BitbucketWebHookCause) DeepCopyInto(out *BitbucketWebHookCause) { + *out = *in + in.CommonWebHookCause.DeepCopyInto(&out.CommonWebHookCause) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BitbucketWebHookCause. +func (in *BitbucketWebHookCause) DeepCopy() *BitbucketWebHookCause { + if in == nil { + return nil + } + out := new(BitbucketWebHookCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Build) DeepCopyInto(out *Build) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Build. +func (in *Build) DeepCopy() *Build { + if in == nil { + return nil + } + out := new(Build) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Build) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildConfig) DeepCopyInto(out *BuildConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildConfig. +func (in *BuildConfig) DeepCopy() *BuildConfig { + if in == nil { + return nil + } + out := new(BuildConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildConfigList) DeepCopyInto(out *BuildConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BuildConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildConfigList. +func (in *BuildConfigList) DeepCopy() *BuildConfigList { + if in == nil { + return nil + } + out := new(BuildConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildConfigSpec) DeepCopyInto(out *BuildConfigSpec) { + *out = *in + if in.Triggers != nil { + in, out := &in.Triggers, &out.Triggers + *out = make([]BuildTriggerPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + in.CommonSpec.DeepCopyInto(&out.CommonSpec) + if in.SuccessfulBuildsHistoryLimit != nil { + in, out := &in.SuccessfulBuildsHistoryLimit, &out.SuccessfulBuildsHistoryLimit + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + if in.FailedBuildsHistoryLimit != nil { + in, out := &in.FailedBuildsHistoryLimit, &out.FailedBuildsHistoryLimit + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildConfigSpec. +func (in *BuildConfigSpec) DeepCopy() *BuildConfigSpec { + if in == nil { + return nil + } + out := new(BuildConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildConfigStatus) DeepCopyInto(out *BuildConfigStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildConfigStatus. +func (in *BuildConfigStatus) DeepCopy() *BuildConfigStatus { + if in == nil { + return nil + } + out := new(BuildConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildList) DeepCopyInto(out *BuildList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Build, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildList. +func (in *BuildList) DeepCopy() *BuildList { + if in == nil { + return nil + } + out := new(BuildList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildLog) DeepCopyInto(out *BuildLog) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildLog. +func (in *BuildLog) DeepCopy() *BuildLog { + if in == nil { + return nil + } + out := new(BuildLog) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildLog) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildLogOptions) DeepCopyInto(out *BuildLogOptions) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.SinceSeconds != nil { + in, out := &in.SinceSeconds, &out.SinceSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.SinceTime != nil { + in, out := &in.SinceTime, &out.SinceTime + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.TailLines != nil { + in, out := &in.TailLines, &out.TailLines + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.LimitBytes != nil { + in, out := &in.LimitBytes, &out.LimitBytes + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildLogOptions. +func (in *BuildLogOptions) DeepCopy() *BuildLogOptions { + if in == nil { + return nil + } + out := new(BuildLogOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildLogOptions) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildOutput) DeepCopyInto(out *BuildOutput) { + *out = *in + if in.To != nil { + in, out := &in.To, &out.To + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + if in.PushSecret != nil { + in, out := &in.PushSecret, &out.PushSecret + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + if in.ImageLabels != nil { + in, out := &in.ImageLabels, &out.ImageLabels + *out = make([]ImageLabel, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildOutput. +func (in *BuildOutput) DeepCopy() *BuildOutput { + if in == nil { + return nil + } + out := new(BuildOutput) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildPostCommitSpec) DeepCopyInto(out *BuildPostCommitSpec) { + *out = *in + if in.Command != nil { + in, out := &in.Command, &out.Command + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Args != nil { + in, out := &in.Args, &out.Args + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildPostCommitSpec. +func (in *BuildPostCommitSpec) DeepCopy() *BuildPostCommitSpec { + if in == nil { + return nil + } + out := new(BuildPostCommitSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildRequest) DeepCopyInto(out *BuildRequest) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + if *in == nil { + *out = nil + } else { + *out = new(SourceRevision) + (*in).DeepCopyInto(*out) + } + } + if in.TriggeredByImage != nil { + in, out := &in.TriggeredByImage, &out.TriggeredByImage + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + if in.From != nil { + in, out := &in.From, &out.From + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + if in.Binary != nil { + in, out := &in.Binary, &out.Binary + if *in == nil { + *out = nil + } else { + *out = new(BinaryBuildSource) + **out = **in + } + } + if in.LastVersion != nil { + in, out := &in.LastVersion, &out.LastVersion + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.TriggeredBy != nil { + in, out := &in.TriggeredBy, &out.TriggeredBy + *out = make([]BuildTriggerCause, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DockerStrategyOptions != nil { + in, out := &in.DockerStrategyOptions, &out.DockerStrategyOptions + if *in == nil { + *out = nil + } else { + *out = new(DockerStrategyOptions) + (*in).DeepCopyInto(*out) + } + } + if in.SourceStrategyOptions != nil { + in, out := &in.SourceStrategyOptions, &out.SourceStrategyOptions + if *in == nil { + *out = nil + } else { + *out = new(SourceStrategyOptions) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildRequest. +func (in *BuildRequest) DeepCopy() *BuildRequest { + if in == nil { + return nil + } + out := new(BuildRequest) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildRequest) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildSource) DeepCopyInto(out *BuildSource) { + *out = *in + if in.Binary != nil { + in, out := &in.Binary, &out.Binary + if *in == nil { + *out = nil + } else { + *out = new(BinaryBuildSource) + **out = **in + } + } + if in.Dockerfile != nil { + in, out := &in.Dockerfile, &out.Dockerfile + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + if in.Git != nil { + in, out := &in.Git, &out.Git + if *in == nil { + *out = nil + } else { + *out = new(GitBuildSource) + (*in).DeepCopyInto(*out) + } + } + if in.Images != nil { + in, out := &in.Images, &out.Images + *out = make([]ImageSource, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceSecret != nil { + in, out := &in.SourceSecret, &out.SourceSecret + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]SecretBuildSource, len(*in)) + copy(*out, *in) + } + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = make([]ConfigMapBuildSource, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildSource. +func (in *BuildSource) DeepCopy() *BuildSource { + if in == nil { + return nil + } + out := new(BuildSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildSpec) DeepCopyInto(out *BuildSpec) { + *out = *in + in.CommonSpec.DeepCopyInto(&out.CommonSpec) + if in.TriggeredBy != nil { + in, out := &in.TriggeredBy, &out.TriggeredBy + *out = make([]BuildTriggerCause, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildSpec. +func (in *BuildSpec) DeepCopy() *BuildSpec { + if in == nil { + return nil + } + out := new(BuildSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildStatus) DeepCopyInto(out *BuildStatus) { + *out = *in + if in.StartTimestamp != nil { + in, out := &in.StartTimestamp, &out.StartTimestamp + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.CompletionTimestamp != nil { + in, out := &in.CompletionTimestamp, &out.CompletionTimestamp + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.Config != nil { + in, out := &in.Config, &out.Config + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + in.Output.DeepCopyInto(&out.Output) + if in.Stages != nil { + in, out := &in.Stages, &out.Stages + *out = make([]StageInfo, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildStatus. +func (in *BuildStatus) DeepCopy() *BuildStatus { + if in == nil { + return nil + } + out := new(BuildStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildStatusOutput) DeepCopyInto(out *BuildStatusOutput) { + *out = *in + if in.To != nil { + in, out := &in.To, &out.To + if *in == nil { + *out = nil + } else { + *out = new(BuildStatusOutputTo) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildStatusOutput. +func (in *BuildStatusOutput) DeepCopy() *BuildStatusOutput { + if in == nil { + return nil + } + out := new(BuildStatusOutput) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildStatusOutputTo) DeepCopyInto(out *BuildStatusOutputTo) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildStatusOutputTo. +func (in *BuildStatusOutputTo) DeepCopy() *BuildStatusOutputTo { + if in == nil { + return nil + } + out := new(BuildStatusOutputTo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildStrategy) DeepCopyInto(out *BuildStrategy) { + *out = *in + if in.DockerStrategy != nil { + in, out := &in.DockerStrategy, &out.DockerStrategy + if *in == nil { + *out = nil + } else { + *out = new(DockerBuildStrategy) + (*in).DeepCopyInto(*out) + } + } + if in.SourceStrategy != nil { + in, out := &in.SourceStrategy, &out.SourceStrategy + if *in == nil { + *out = nil + } else { + *out = new(SourceBuildStrategy) + (*in).DeepCopyInto(*out) + } + } + if in.CustomStrategy != nil { + in, out := &in.CustomStrategy, &out.CustomStrategy + if *in == nil { + *out = nil + } else { + *out = new(CustomBuildStrategy) + (*in).DeepCopyInto(*out) + } + } + if in.JenkinsPipelineStrategy != nil { + in, out := &in.JenkinsPipelineStrategy, &out.JenkinsPipelineStrategy + if *in == nil { + *out = nil + } else { + *out = new(JenkinsPipelineBuildStrategy) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildStrategy. +func (in *BuildStrategy) DeepCopy() *BuildStrategy { + if in == nil { + return nil + } + out := new(BuildStrategy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildTriggerCause) DeepCopyInto(out *BuildTriggerCause) { + *out = *in + if in.GenericWebHook != nil { + in, out := &in.GenericWebHook, &out.GenericWebHook + if *in == nil { + *out = nil + } else { + *out = new(GenericWebHookCause) + (*in).DeepCopyInto(*out) + } + } + if in.GitHubWebHook != nil { + in, out := &in.GitHubWebHook, &out.GitHubWebHook + if *in == nil { + *out = nil + } else { + *out = new(GitHubWebHookCause) + (*in).DeepCopyInto(*out) + } + } + if in.ImageChangeBuild != nil { + in, out := &in.ImageChangeBuild, &out.ImageChangeBuild + if *in == nil { + *out = nil + } else { + *out = new(ImageChangeCause) + (*in).DeepCopyInto(*out) + } + } + if in.GitLabWebHook != nil { + in, out := &in.GitLabWebHook, &out.GitLabWebHook + if *in == nil { + *out = nil + } else { + *out = new(GitLabWebHookCause) + (*in).DeepCopyInto(*out) + } + } + if in.BitbucketWebHook != nil { + in, out := &in.BitbucketWebHook, &out.BitbucketWebHook + if *in == nil { + *out = nil + } else { + *out = new(BitbucketWebHookCause) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildTriggerCause. +func (in *BuildTriggerCause) DeepCopy() *BuildTriggerCause { + if in == nil { + return nil + } + out := new(BuildTriggerCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildTriggerPolicy) DeepCopyInto(out *BuildTriggerPolicy) { + *out = *in + if in.GitHubWebHook != nil { + in, out := &in.GitHubWebHook, &out.GitHubWebHook + if *in == nil { + *out = nil + } else { + *out = new(WebHookTrigger) + (*in).DeepCopyInto(*out) + } + } + if in.GenericWebHook != nil { + in, out := &in.GenericWebHook, &out.GenericWebHook + if *in == nil { + *out = nil + } else { + *out = new(WebHookTrigger) + (*in).DeepCopyInto(*out) + } + } + if in.ImageChange != nil { + in, out := &in.ImageChange, &out.ImageChange + if *in == nil { + *out = nil + } else { + *out = new(ImageChangeTrigger) + (*in).DeepCopyInto(*out) + } + } + if in.GitLabWebHook != nil { + in, out := &in.GitLabWebHook, &out.GitLabWebHook + if *in == nil { + *out = nil + } else { + *out = new(WebHookTrigger) + (*in).DeepCopyInto(*out) + } + } + if in.BitbucketWebHook != nil { + in, out := &in.BitbucketWebHook, &out.BitbucketWebHook + if *in == nil { + *out = nil + } else { + *out = new(WebHookTrigger) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildTriggerPolicy. +func (in *BuildTriggerPolicy) DeepCopy() *BuildTriggerPolicy { + if in == nil { + return nil + } + out := new(BuildTriggerPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CommonSpec) DeepCopyInto(out *CommonSpec) { + *out = *in + in.Source.DeepCopyInto(&out.Source) + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + if *in == nil { + *out = nil + } else { + *out = new(SourceRevision) + (*in).DeepCopyInto(*out) + } + } + in.Strategy.DeepCopyInto(&out.Strategy) + in.Output.DeepCopyInto(&out.Output) + in.Resources.DeepCopyInto(&out.Resources) + in.PostCommit.DeepCopyInto(&out.PostCommit) + if in.CompletionDeadlineSeconds != nil { + in, out := &in.CompletionDeadlineSeconds, &out.CompletionDeadlineSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(OptionalNodeSelector, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonSpec. +func (in *CommonSpec) DeepCopy() *CommonSpec { + if in == nil { + return nil + } + out := new(CommonSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CommonWebHookCause) DeepCopyInto(out *CommonWebHookCause) { + *out = *in + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + if *in == nil { + *out = nil + } else { + *out = new(SourceRevision) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonWebHookCause. +func (in *CommonWebHookCause) DeepCopy() *CommonWebHookCause { + if in == nil { + return nil + } + out := new(CommonWebHookCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMapBuildSource) DeepCopyInto(out *ConfigMapBuildSource) { + *out = *in + out.ConfigMap = in.ConfigMap + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapBuildSource. +func (in *ConfigMapBuildSource) DeepCopy() *ConfigMapBuildSource { + if in == nil { + return nil + } + out := new(ConfigMapBuildSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomBuildStrategy) DeepCopyInto(out *CustomBuildStrategy) { + *out = *in + out.From = in.From + if in.PullSecret != nil { + in, out := &in.PullSecret, &out.PullSecret + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]SecretSpec, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomBuildStrategy. +func (in *CustomBuildStrategy) DeepCopy() *CustomBuildStrategy { + if in == nil { + return nil + } + out := new(CustomBuildStrategy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerBuildStrategy) DeepCopyInto(out *DockerBuildStrategy) { + *out = *in + if in.From != nil { + in, out := &in.From, &out.From + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + if in.PullSecret != nil { + in, out := &in.PullSecret, &out.PullSecret + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.BuildArgs != nil { + in, out := &in.BuildArgs, &out.BuildArgs + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ImageOptimizationPolicy != nil { + in, out := &in.ImageOptimizationPolicy, &out.ImageOptimizationPolicy + if *in == nil { + *out = nil + } else { + *out = new(ImageOptimizationPolicy) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerBuildStrategy. +func (in *DockerBuildStrategy) DeepCopy() *DockerBuildStrategy { + if in == nil { + return nil + } + out := new(DockerBuildStrategy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerStrategyOptions) DeepCopyInto(out *DockerStrategyOptions) { + *out = *in + if in.BuildArgs != nil { + in, out := &in.BuildArgs, &out.BuildArgs + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.NoCache != nil { + in, out := &in.NoCache, &out.NoCache + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerStrategyOptions. +func (in *DockerStrategyOptions) DeepCopy() *DockerStrategyOptions { + if in == nil { + return nil + } + out := new(DockerStrategyOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenericWebHookCause) DeepCopyInto(out *GenericWebHookCause) { + *out = *in + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + if *in == nil { + *out = nil + } else { + *out = new(SourceRevision) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericWebHookCause. +func (in *GenericWebHookCause) DeepCopy() *GenericWebHookCause { + if in == nil { + return nil + } + out := new(GenericWebHookCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenericWebHookEvent) DeepCopyInto(out *GenericWebHookEvent) { + *out = *in + if in.Git != nil { + in, out := &in.Git, &out.Git + if *in == nil { + *out = nil + } else { + *out = new(GitInfo) + (*in).DeepCopyInto(*out) + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DockerStrategyOptions != nil { + in, out := &in.DockerStrategyOptions, &out.DockerStrategyOptions + if *in == nil { + *out = nil + } else { + *out = new(DockerStrategyOptions) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericWebHookEvent. +func (in *GenericWebHookEvent) DeepCopy() *GenericWebHookEvent { + if in == nil { + return nil + } + out := new(GenericWebHookEvent) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitBuildSource) DeepCopyInto(out *GitBuildSource) { + *out = *in + in.ProxyConfig.DeepCopyInto(&out.ProxyConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitBuildSource. +func (in *GitBuildSource) DeepCopy() *GitBuildSource { + if in == nil { + return nil + } + out := new(GitBuildSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitHubWebHookCause) DeepCopyInto(out *GitHubWebHookCause) { + *out = *in + if in.Revision != nil { + in, out := &in.Revision, &out.Revision + if *in == nil { + *out = nil + } else { + *out = new(SourceRevision) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubWebHookCause. +func (in *GitHubWebHookCause) DeepCopy() *GitHubWebHookCause { + if in == nil { + return nil + } + out := new(GitHubWebHookCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitInfo) DeepCopyInto(out *GitInfo) { + *out = *in + in.GitBuildSource.DeepCopyInto(&out.GitBuildSource) + out.GitSourceRevision = in.GitSourceRevision + if in.Refs != nil { + in, out := &in.Refs, &out.Refs + *out = make([]GitRefInfo, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitInfo. +func (in *GitInfo) DeepCopy() *GitInfo { + if in == nil { + return nil + } + out := new(GitInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitLabWebHookCause) DeepCopyInto(out *GitLabWebHookCause) { + *out = *in + in.CommonWebHookCause.DeepCopyInto(&out.CommonWebHookCause) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabWebHookCause. +func (in *GitLabWebHookCause) DeepCopy() *GitLabWebHookCause { + if in == nil { + return nil + } + out := new(GitLabWebHookCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitRefInfo) DeepCopyInto(out *GitRefInfo) { + *out = *in + in.GitBuildSource.DeepCopyInto(&out.GitBuildSource) + out.GitSourceRevision = in.GitSourceRevision + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRefInfo. +func (in *GitRefInfo) DeepCopy() *GitRefInfo { + if in == nil { + return nil + } + out := new(GitRefInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitSourceRevision) DeepCopyInto(out *GitSourceRevision) { + *out = *in + out.Author = in.Author + out.Committer = in.Committer + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitSourceRevision. +func (in *GitSourceRevision) DeepCopy() *GitSourceRevision { + if in == nil { + return nil + } + out := new(GitSourceRevision) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageChangeCause) DeepCopyInto(out *ImageChangeCause) { + *out = *in + if in.FromRef != nil { + in, out := &in.FromRef, &out.FromRef + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageChangeCause. +func (in *ImageChangeCause) DeepCopy() *ImageChangeCause { + if in == nil { + return nil + } + out := new(ImageChangeCause) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageChangeTrigger) DeepCopyInto(out *ImageChangeTrigger) { + *out = *in + if in.From != nil { + in, out := &in.From, &out.From + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageChangeTrigger. +func (in *ImageChangeTrigger) DeepCopy() *ImageChangeTrigger { + if in == nil { + return nil + } + out := new(ImageChangeTrigger) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageLabel) DeepCopyInto(out *ImageLabel) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageLabel. +func (in *ImageLabel) DeepCopy() *ImageLabel { + if in == nil { + return nil + } + out := new(ImageLabel) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageSource) DeepCopyInto(out *ImageSource) { + *out = *in + out.From = in.From + if in.As != nil { + in, out := &in.As, &out.As + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Paths != nil { + in, out := &in.Paths, &out.Paths + *out = make([]ImageSourcePath, len(*in)) + copy(*out, *in) + } + if in.PullSecret != nil { + in, out := &in.PullSecret, &out.PullSecret + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSource. +func (in *ImageSource) DeepCopy() *ImageSource { + if in == nil { + return nil + } + out := new(ImageSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageSourcePath) DeepCopyInto(out *ImageSourcePath) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSourcePath. +func (in *ImageSourcePath) DeepCopy() *ImageSourcePath { + if in == nil { + return nil + } + out := new(ImageSourcePath) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JenkinsPipelineBuildStrategy) DeepCopyInto(out *JenkinsPipelineBuildStrategy) { + *out = *in + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsPipelineBuildStrategy. +func (in *JenkinsPipelineBuildStrategy) DeepCopy() *JenkinsPipelineBuildStrategy { + if in == nil { + return nil + } + out := new(JenkinsPipelineBuildStrategy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in OptionalNodeSelector) DeepCopyInto(out *OptionalNodeSelector) { + { + in := &in + *out = make(OptionalNodeSelector, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionalNodeSelector. +func (in OptionalNodeSelector) DeepCopy() OptionalNodeSelector { + if in == nil { + return nil + } + out := new(OptionalNodeSelector) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig) { + *out = *in + if in.HTTPProxy != nil { + in, out := &in.HTTPProxy, &out.HTTPProxy + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + if in.HTTPSProxy != nil { + in, out := &in.HTTPSProxy, &out.HTTPSProxy + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + if in.NoProxy != nil { + in, out := &in.NoProxy, &out.NoProxy + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfig. +func (in *ProxyConfig) DeepCopy() *ProxyConfig { + if in == nil { + return nil + } + out := new(ProxyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretBuildSource) DeepCopyInto(out *SecretBuildSource) { + *out = *in + out.Secret = in.Secret + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretBuildSource. +func (in *SecretBuildSource) DeepCopy() *SecretBuildSource { + if in == nil { + return nil + } + out := new(SecretBuildSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretLocalReference) DeepCopyInto(out *SecretLocalReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretLocalReference. +func (in *SecretLocalReference) DeepCopy() *SecretLocalReference { + if in == nil { + return nil + } + out := new(SecretLocalReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretSpec) DeepCopyInto(out *SecretSpec) { + *out = *in + out.SecretSource = in.SecretSource + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretSpec. +func (in *SecretSpec) DeepCopy() *SecretSpec { + if in == nil { + return nil + } + out := new(SecretSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceBuildStrategy) DeepCopyInto(out *SourceBuildStrategy) { + *out = *in + out.From = in.From + if in.PullSecret != nil { + in, out := &in.PullSecret, &out.PullSecret + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Incremental != nil { + in, out := &in.Incremental, &out.Incremental + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceBuildStrategy. +func (in *SourceBuildStrategy) DeepCopy() *SourceBuildStrategy { + if in == nil { + return nil + } + out := new(SourceBuildStrategy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceControlUser) DeepCopyInto(out *SourceControlUser) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceControlUser. +func (in *SourceControlUser) DeepCopy() *SourceControlUser { + if in == nil { + return nil + } + out := new(SourceControlUser) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceRevision) DeepCopyInto(out *SourceRevision) { + *out = *in + if in.Git != nil { + in, out := &in.Git, &out.Git + if *in == nil { + *out = nil + } else { + *out = new(GitSourceRevision) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceRevision. +func (in *SourceRevision) DeepCopy() *SourceRevision { + if in == nil { + return nil + } + out := new(SourceRevision) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceStrategyOptions) DeepCopyInto(out *SourceStrategyOptions) { + *out = *in + if in.Incremental != nil { + in, out := &in.Incremental, &out.Incremental + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStrategyOptions. +func (in *SourceStrategyOptions) DeepCopy() *SourceStrategyOptions { + if in == nil { + return nil + } + out := new(SourceStrategyOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StageInfo) DeepCopyInto(out *StageInfo) { + *out = *in + in.StartTime.DeepCopyInto(&out.StartTime) + if in.Steps != nil { + in, out := &in.Steps, &out.Steps + *out = make([]StepInfo, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageInfo. +func (in *StageInfo) DeepCopy() *StageInfo { + if in == nil { + return nil + } + out := new(StageInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StepInfo) DeepCopyInto(out *StepInfo) { + *out = *in + in.StartTime.DeepCopyInto(&out.StartTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepInfo. +func (in *StepInfo) DeepCopy() *StepInfo { + if in == nil { + return nil + } + out := new(StepInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebHookTrigger) DeepCopyInto(out *WebHookTrigger) { + *out = *in + if in.SecretReference != nil { + in, out := &in.SecretReference, &out.SecretReference + if *in == nil { + *out = nil + } else { + *out = new(SecretLocalReference) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebHookTrigger. +func (in *WebHookTrigger) DeepCopy() *WebHookTrigger { + if in == nil { + return nil + } + out := new(WebHookTrigger) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..84b0c1c1d --- /dev/null +++ b/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,619 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_BinaryBuildRequestOptions = map[string]string{ + "": "BinaryBuildRequestOptions are the options required to fully speficy a binary build request", + "metadata": "metadata for BinaryBuildRequestOptions.", + "asFile": "asFile determines if the binary should be created as a file within the source rather than extracted as an archive", + "revision.commit": "revision.commit is the value identifying a specific commit", + "revision.message": "revision.message is the description of a specific commit", + "revision.authorName": "revision.authorName of the source control user", + "revision.authorEmail": "revision.authorEmail of the source control user", + "revision.committerName": "revision.committerName of the source control user", + "revision.committerEmail": "revision.committerEmail of the source control user", +} + +func (BinaryBuildRequestOptions) SwaggerDoc() map[string]string { + return map_BinaryBuildRequestOptions +} + +var map_BinaryBuildSource = map[string]string{ + "": "BinaryBuildSource describes a binary file to be used for the Docker and Source build strategies, where the file will be extracted and used as the build source.", + "asFile": "asFile indicates that the provided binary input should be considered a single file within the build input. For example, specifying \"webapp.war\" would place the provided binary as `/webapp.war` for the builder. If left empty, the Docker and Source build strategies assume this file is a zip, tar, or tar.gz file and extract it as the source. The custom strategy receives this binary as standard input. This filename may not contain slashes or be '..' or '.'.", +} + +func (BinaryBuildSource) SwaggerDoc() map[string]string { + return map_BinaryBuildSource +} + +var map_BitbucketWebHookCause = map[string]string{ + "": "BitbucketWebHookCause has information about a Bitbucket webhook that triggered a build.", +} + +func (BitbucketWebHookCause) SwaggerDoc() map[string]string { + return map_BitbucketWebHookCause +} + +var map_Build = map[string]string{ + "": "Build encapsulates the inputs needed to produce a new deployable image, as well as the status of the execution and a reference to the Pod which executed the build.", + "metadata": "Standard object's metadata.", + "spec": "spec is all the inputs used to execute the build.", + "status": "status is the current status of the build.", +} + +func (Build) SwaggerDoc() map[string]string { + return map_Build +} + +var map_BuildConfig = map[string]string{ + "": "Build configurations define a build process for new container images. There are three types of builds possible - a container image build using a Dockerfile, a Source-to-Image build that uses a specially prepared base image that accepts source code that it can make runnable, and a custom build that can run // arbitrary container images as a base and accept the build parameters. Builds run on the cluster and on completion are pushed to the container image registry specified in the \"output\" section. A build can be triggered via a webhook, when the base image changes, or when a user manually requests a new build be // created.\n\nEach build created by a build configuration is numbered and refers back to its parent configuration. Multiple builds can be triggered at once. Builds that do not have \"output\" set can be used to test code or run a verification build.", + "metadata": "metadata for BuildConfig.", + "spec": "spec holds all the input necessary to produce a new build, and the conditions when to trigger them.", + "status": "status holds any relevant information about a build config", +} + +func (BuildConfig) SwaggerDoc() map[string]string { + return map_BuildConfig +} + +var map_BuildConfigList = map[string]string{ + "": "BuildConfigList is a collection of BuildConfigs.", + "metadata": "metadata for BuildConfigList.", + "items": "items is a list of build configs", +} + +func (BuildConfigList) SwaggerDoc() map[string]string { + return map_BuildConfigList +} + +var map_BuildConfigSpec = map[string]string{ + "": "BuildConfigSpec describes when and how builds are created", + "triggers": "triggers determine how new Builds can be launched from a BuildConfig. If no triggers are defined, a new build can only occur as a result of an explicit client build creation.", + "runPolicy": "RunPolicy describes how the new build created from this build configuration will be scheduled for execution. This is optional, if not specified we default to \"Serial\".", + "successfulBuildsHistoryLimit": "successfulBuildsHistoryLimit is the number of old successful builds to retain. If not specified, all successful builds are retained.", + "failedBuildsHistoryLimit": "failedBuildsHistoryLimit is the number of old failed builds to retain. If not specified, all failed builds are retained.", +} + +func (BuildConfigSpec) SwaggerDoc() map[string]string { + return map_BuildConfigSpec +} + +var map_BuildConfigStatus = map[string]string{ + "": "BuildConfigStatus contains current state of the build config object.", + "lastVersion": "lastVersion is used to inform about number of last triggered build.", +} + +func (BuildConfigStatus) SwaggerDoc() map[string]string { + return map_BuildConfigStatus +} + +var map_BuildList = map[string]string{ + "": "BuildList is a collection of Builds.", + "metadata": "metadata for BuildList.", + "items": "items is a list of builds", +} + +func (BuildList) SwaggerDoc() map[string]string { + return map_BuildList +} + +var map_BuildLog = map[string]string{ + "": "BuildLog is the (unused) resource associated with the build log redirector", +} + +func (BuildLog) SwaggerDoc() map[string]string { + return map_BuildLog +} + +var map_BuildLogOptions = map[string]string{ + "": "BuildLogOptions is the REST options for a build log", + "container": "cointainer for which to stream logs. Defaults to only container if there is one container in the pod.", + "follow": "follow if true indicates that the build log should be streamed until the build terminates.", + "previous": "previous returns previous build logs. Defaults to false.", + "sinceSeconds": "sinceSeconds is a relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", + "sinceTime": "sinceTime is an RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", + "timestamps": "timestamps, If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.", + "tailLines": "tailLines, If set, is the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime", + "limitBytes": "limitBytes, If set, is the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.", + "nowait": "noWait if true causes the call to return immediately even if the build is not available yet. Otherwise the server will wait until the build has started.", + "version": "version of the build for which to view logs.", +} + +func (BuildLogOptions) SwaggerDoc() map[string]string { + return map_BuildLogOptions +} + +var map_BuildOutput = map[string]string{ + "": "BuildOutput is input to a build strategy and describes the container image that the strategy should produce.", + "to": "to defines an optional location to push the output of this build to. Kind must be one of 'ImageStreamTag' or 'DockerImage'. This value will be used to look up a container image repository to push to. In the case of an ImageStreamTag, the ImageStreamTag will be looked for in the namespace of the build unless Namespace is specified.", + "pushSecret": "PushSecret is the name of a Secret that would be used for setting up the authentication for executing the Docker push to authentication enabled Docker Registry (or Docker Hub).", + "imageLabels": "imageLabels define a list of labels that are applied to the resulting image. If there are multiple labels with the same name then the last one in the list is used.", +} + +func (BuildOutput) SwaggerDoc() map[string]string { + return map_BuildOutput +} + +var map_BuildPostCommitSpec = map[string]string{ + "": "A BuildPostCommitSpec holds a build post commit hook specification. The hook executes a command in a temporary container running the build output image, immediately after the last layer of the image is committed and before the image is pushed to a registry. The command is executed with the current working directory ($PWD) set to the image's WORKDIR.\n\nThe build will be marked as failed if the hook execution fails. It will fail if the script or command return a non-zero exit code, or if there is any other error related to starting the temporary container.\n\nThere are five different ways to configure the hook. As an example, all forms below are equivalent and will execute `rake test --verbose`.\n\n1. Shell script:\n\n \"postCommit\": {\n \"script\": \"rake test --verbose\",\n }\n\n The above is a convenient form which is equivalent to:\n\n \"postCommit\": {\n \"command\": [\"/bin/sh\", \"-ic\"],\n \"args\": [\"rake test --verbose\"]\n }\n\n2. A command as the image entrypoint:\n\n \"postCommit\": {\n \"commit\": [\"rake\", \"test\", \"--verbose\"]\n }\n\n Command overrides the image entrypoint in the exec form, as documented in\n Docker: https://docs.docker.com/engine/reference/builder/#entrypoint.\n\n3. Pass arguments to the default entrypoint:\n\n \"postCommit\": {\n\t\t \"args\": [\"rake\", \"test\", \"--verbose\"]\n\t }\n\n This form is only useful if the image entrypoint can handle arguments.\n\n4. Shell script with arguments:\n\n \"postCommit\": {\n \"script\": \"rake test $1\",\n \"args\": [\"--verbose\"]\n }\n\n This form is useful if you need to pass arguments that would otherwise be\n hard to quote properly in the shell script. In the script, $0 will be\n \"/bin/sh\" and $1, $2, etc, are the positional arguments from Args.\n\n5. Command with arguments:\n\n \"postCommit\": {\n \"command\": [\"rake\", \"test\"],\n \"args\": [\"--verbose\"]\n }\n\n This form is equivalent to appending the arguments to the Command slice.\n\nIt is invalid to provide both Script and Command simultaneously. If none of the fields are specified, the hook is not executed.", + "command": "command is the command to run. It may not be specified with Script. This might be needed if the image doesn't have `/bin/sh`, or if you do not want to use a shell. In all other cases, using Script might be more convenient.", + "args": "args is a list of arguments that are provided to either Command, Script or the container image's default entrypoint. The arguments are placed immediately after the command to be run.", + "script": "script is a shell script to be run with `/bin/sh -ic`. It may not be specified with Command. Use Script when a shell script is appropriate to execute the post build hook, for example for running unit tests with `rake test`. If you need control over the image entrypoint, or if the image does not have `/bin/sh`, use Command and/or Args. The `-i` flag is needed to support CentOS and RHEL images that use Software Collections (SCL), in order to have the appropriate collections enabled in the shell. E.g., in the Ruby image, this is necessary to make `ruby`, `bundle` and other binaries available in the PATH.", +} + +func (BuildPostCommitSpec) SwaggerDoc() map[string]string { + return map_BuildPostCommitSpec +} + +var map_BuildRequest = map[string]string{ + "": "BuildRequest is the resource used to pass parameters to build generator", + "metadata": "metadata for BuildRequest.", + "revision": "revision is the information from the source for a specific repo snapshot.", + "triggeredByImage": "triggeredByImage is the Image that triggered this build.", + "from": "from is the reference to the ImageStreamTag that triggered the build.", + "binary": "binary indicates a request to build from a binary provided to the builder", + "lastVersion": "lastVersion (optional) is the LastVersion of the BuildConfig that was used to generate the build. If the BuildConfig in the generator doesn't match, a build will not be generated.", + "env": "env contains additional environment variables you want to pass into a builder container.", + "triggeredBy": "triggeredBy describes which triggers started the most recent update to the build configuration and contains information about those triggers.", + "dockerStrategyOptions": "DockerStrategyOptions contains additional docker-strategy specific options for the build", + "sourceStrategyOptions": "SourceStrategyOptions contains additional source-strategy specific options for the build", +} + +func (BuildRequest) SwaggerDoc() map[string]string { + return map_BuildRequest +} + +var map_BuildSource = map[string]string{ + "": "BuildSource is the SCM used for the build.", + "type": "type of build input to accept", + "binary": "binary builds accept a binary as their input. The binary is generally assumed to be a tar, gzipped tar, or zip file depending on the strategy. For container image builds, this is the build context and an optional Dockerfile may be specified to override any Dockerfile in the build context. For Source builds, this is assumed to be an archive as described above. For Source and container image builds, if binary.asFile is set the build will receive a directory with a single file. contextDir may be used when an archive is provided. Custom builds will receive this binary as input on STDIN.", + "dockerfile": "dockerfile is the raw contents of a Dockerfile which should be built. When this option is specified, the FROM may be modified based on your strategy base image and additional ENV stanzas from your strategy environment will be added after the FROM, but before the rest of your Dockerfile stanzas. The Dockerfile source type may be used with other options like git - in those cases the Git repo will have any innate Dockerfile replaced in the context dir.", + "git": "git contains optional information about git build source", + "images": "images describes a set of images to be used to provide source for the build", + "contextDir": "contextDir specifies the sub-directory where the source code for the application exists. This allows to have buildable sources in directory other than root of repository.", + "sourceSecret": "sourceSecret is the name of a Secret that would be used for setting up the authentication for cloning private repository. The secret contains valid credentials for remote repository, where the data's key represent the authentication method to be used and value is the base64 encoded credentials. Supported auth methods are: ssh-privatekey.", + "secrets": "secrets represents a list of secrets and their destinations that will be used only for the build.", + "configMaps": "configMaps represents a list of configMaps and their destinations that will be used for the build.", +} + +func (BuildSource) SwaggerDoc() map[string]string { + return map_BuildSource +} + +var map_BuildSpec = map[string]string{ + "": "BuildSpec has the information to represent a build and also additional information about a build", + "triggeredBy": "triggeredBy describes which triggers started the most recent update to the build configuration and contains information about those triggers.", +} + +func (BuildSpec) SwaggerDoc() map[string]string { + return map_BuildSpec +} + +var map_BuildStatus = map[string]string{ + "": "BuildStatus contains the status of a build", + "phase": "phase is the point in the build lifecycle. Possible values are \"New\", \"Pending\", \"Running\", \"Complete\", \"Failed\", \"Error\", and \"Cancelled\".", + "cancelled": "cancelled describes if a cancel event was triggered for the build.", + "reason": "reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI.", + "message": "message is a human-readable message indicating details about why the build has this status.", + "startTimestamp": "startTimestamp is a timestamp representing the server time when this Build started running in a Pod. It is represented in RFC3339 form and is in UTC.", + "completionTimestamp": "completionTimestamp is a timestamp representing the server time when this Build was finished, whether that build failed or succeeded. It reflects the time at which the Pod running the Build terminated. It is represented in RFC3339 form and is in UTC.", + "duration": "duration contains time.Duration object describing build time.", + "outputDockerImageReference": "outputDockerImageReference contains a reference to the container image that will be built by this build. Its value is computed from Build.Spec.Output.To, and should include the registry address, so that it can be used to push and pull the image.", + "config": "config is an ObjectReference to the BuildConfig this Build is based on.", + "output": "output describes the container image the build has produced.", + "stages": "stages contains details about each stage that occurs during the build including start time, duration (in milliseconds), and the steps that occured within each stage.", + "logSnippet": "logSnippet is the last few lines of the build log. This value is only set for builds that failed.", +} + +func (BuildStatus) SwaggerDoc() map[string]string { + return map_BuildStatus +} + +var map_BuildStatusOutput = map[string]string{ + "": "BuildStatusOutput contains the status of the built image.", + "to": "to describes the status of the built image being pushed to a registry.", +} + +func (BuildStatusOutput) SwaggerDoc() map[string]string { + return map_BuildStatusOutput +} + +var map_BuildStatusOutputTo = map[string]string{ + "": "BuildStatusOutputTo describes the status of the built image with regards to image registry to which it was supposed to be pushed.", + "imageDigest": "imageDigest is the digest of the built container image. The digest uniquely identifies the image in the registry to which it was pushed.\n\nPlease note that this field may not always be set even if the push completes successfully - e.g. when the registry returns no digest or returns it in a format that the builder doesn't understand.", +} + +func (BuildStatusOutputTo) SwaggerDoc() map[string]string { + return map_BuildStatusOutputTo +} + +var map_BuildStrategy = map[string]string{ + "": "BuildStrategy contains the details of how to perform a build.", + "type": "type is the kind of build strategy.", + "dockerStrategy": "dockerStrategy holds the parameters to the container image build strategy.", + "sourceStrategy": "sourceStrategy holds the parameters to the Source build strategy.", + "customStrategy": "customStrategy holds the parameters to the Custom build strategy", + "jenkinsPipelineStrategy": "JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy.", +} + +func (BuildStrategy) SwaggerDoc() map[string]string { + return map_BuildStrategy +} + +var map_BuildTriggerCause = map[string]string{ + "": "BuildTriggerCause holds information about a triggered build. It is used for displaying build trigger data for each build and build configuration in oc describe. It is also used to describe which triggers led to the most recent update in the build configuration.", + "message": "message is used to store a human readable message for why the build was triggered. E.g.: \"Manually triggered by user\", \"Configuration change\",etc.", + "genericWebHook": "genericWebHook holds data about a builds generic webhook trigger.", + "githubWebHook": "gitHubWebHook represents data for a GitHub webhook that fired a specific build.", + "imageChangeBuild": "imageChangeBuild stores information about an imagechange event that triggered a new build.", + "gitlabWebHook": "GitLabWebHook represents data for a GitLab webhook that fired a specific build.", + "bitbucketWebHook": "BitbucketWebHook represents data for a Bitbucket webhook that fired a specific build.", +} + +func (BuildTriggerCause) SwaggerDoc() map[string]string { + return map_BuildTriggerCause +} + +var map_BuildTriggerPolicy = map[string]string{ + "": "BuildTriggerPolicy describes a policy for a single trigger that results in a new Build.", + "type": "type is the type of build trigger", + "github": "github contains the parameters for a GitHub webhook type of trigger", + "generic": "generic contains the parameters for a Generic webhook type of trigger", + "imageChange": "imageChange contains parameters for an ImageChange type of trigger", + "gitlab": "GitLabWebHook contains the parameters for a GitLab webhook type of trigger", + "bitbucket": "BitbucketWebHook contains the parameters for a Bitbucket webhook type of trigger", +} + +func (BuildTriggerPolicy) SwaggerDoc() map[string]string { + return map_BuildTriggerPolicy +} + +var map_CommonSpec = map[string]string{ + "": "CommonSpec encapsulates all the inputs necessary to represent a build.", + "serviceAccount": "serviceAccount is the name of the ServiceAccount to use to run the pod created by this build. The pod will be allowed to use secrets referenced by the ServiceAccount", + "source": "source describes the SCM in use.", + "revision": "revision is the information from the source for a specific repo snapshot. This is optional.", + "strategy": "strategy defines how to perform a build.", + "output": "output describes the container image the Strategy should produce.", + "resources": "resources computes resource requirements to execute the build.", + "postCommit": "postCommit is a build hook executed after the build output image is committed, before it is pushed to a registry.", + "completionDeadlineSeconds": "completionDeadlineSeconds is an optional duration in seconds, counted from the time when a build pod gets scheduled in the system, that the build may be active on a node before the system actively tries to terminate the build; value must be positive integer", + "nodeSelector": "nodeSelector is a selector which must be true for the build pod to fit on a node If nil, it can be overridden by default build nodeselector values for the cluster. If set to an empty map or a map with any values, default build nodeselector values are ignored.", +} + +func (CommonSpec) SwaggerDoc() map[string]string { + return map_CommonSpec +} + +var map_CommonWebHookCause = map[string]string{ + "": "CommonWebHookCause factors out the identical format of these webhook causes into struct so we can share it in the specific causes; it is too late for GitHub and Generic but we can leverage this pattern with GitLab and Bitbucket.", + "revision": "Revision is the git source revision information of the trigger.", + "secret": "Secret is the obfuscated webhook secret that triggered a build.", +} + +func (CommonWebHookCause) SwaggerDoc() map[string]string { + return map_CommonWebHookCause +} + +var map_ConfigMapBuildSource = map[string]string{ + "": "ConfigMapBuildSource describes a configmap and its destination directory that will be used only at the build time. The content of the configmap referenced here will be copied into the destination directory instead of mounting.", + "configMap": "configMap is a reference to an existing configmap that you want to use in your build.", + "destinationDir": "destinationDir is the directory where the files from the configmap should be available for the build time. For the Source build strategy, these will be injected into a container where the assemble script runs. For the container image build strategy, these will be copied into the build directory, where the Dockerfile is located, so users can ADD or COPY them during container image build.", +} + +func (ConfigMapBuildSource) SwaggerDoc() map[string]string { + return map_ConfigMapBuildSource +} + +var map_CustomBuildStrategy = map[string]string{ + "": "CustomBuildStrategy defines input parameters specific to Custom build.", + "from": "from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which the container image should be pulled", + "pullSecret": "pullSecret is the name of a Secret that would be used for setting up the authentication for pulling the container images from the private Docker registries", + "env": "env contains additional environment variables you want to pass into a builder container.", + "exposeDockerSocket": "exposeDockerSocket will allow running Docker commands (and build container images) from inside the container.", + "forcePull": "forcePull describes if the controller should configure the build pod to always pull the images for the builder or only pull if it is not present locally", + "secrets": "secrets is a list of additional secrets that will be included in the build pod", + "buildAPIVersion": "buildAPIVersion is the requested API version for the Build object serialized and passed to the custom builder", +} + +func (CustomBuildStrategy) SwaggerDoc() map[string]string { + return map_CustomBuildStrategy +} + +var map_DockerBuildStrategy = map[string]string{ + "": "DockerBuildStrategy defines input parameters specific to container image build.", + "from": "from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which the container image should be pulled the resulting image will be used in the FROM line of the Dockerfile for this build.", + "pullSecret": "pullSecret is the name of a Secret that would be used for setting up the authentication for pulling the container images from the private Docker registries", + "noCache": "noCache if set to true indicates that the container image build must be executed with the --no-cache=true flag", + "env": "env contains additional environment variables you want to pass into a builder container.", + "forcePull": "forcePull describes if the builder should pull the images from registry prior to building.", + "dockerfilePath": "dockerfilePath is the path of the Dockerfile that will be used to build the container image, relative to the root of the context (contextDir).", + "buildArgs": "buildArgs contains build arguments that will be resolved in the Dockerfile. See https://docs.docker.com/engine/reference/builder/#/arg for more details.", + "imageOptimizationPolicy": "imageOptimizationPolicy describes what optimizations the system can use when building images to reduce the final size or time spent building the image. The default policy is 'None' which means the final build image will be equivalent to an image created by the container image build API. The experimental policy 'SkipLayers' will avoid commiting new layers in between each image step, and will fail if the Dockerfile cannot provide compatibility with the 'None' policy. An additional experimental policy 'SkipLayersAndWarn' is the same as 'SkipLayers' but simply warns if compatibility cannot be preserved.", +} + +func (DockerBuildStrategy) SwaggerDoc() map[string]string { + return map_DockerBuildStrategy +} + +var map_DockerStrategyOptions = map[string]string{ + "": "DockerStrategyOptions contains extra strategy options for container image builds", + "buildArgs": "Args contains any build arguments that are to be passed to Docker. See https://docs.docker.com/engine/reference/builder/#/arg for more details", + "noCache": "noCache overrides the docker-strategy noCache option in the build config", +} + +func (DockerStrategyOptions) SwaggerDoc() map[string]string { + return map_DockerStrategyOptions +} + +var map_GenericWebHookCause = map[string]string{ + "": "GenericWebHookCause holds information about a generic WebHook that triggered a build.", + "revision": "revision is an optional field that stores the git source revision information of the generic webhook trigger when it is available.", + "secret": "secret is the obfuscated webhook secret that triggered a build.", +} + +func (GenericWebHookCause) SwaggerDoc() map[string]string { + return map_GenericWebHookCause +} + +var map_GenericWebHookEvent = map[string]string{ + "": "GenericWebHookEvent is the payload expected for a generic webhook post", + "type": "type is the type of source repository", + "git": "git is the git information if the Type is BuildSourceGit", + "env": "env contains additional environment variables you want to pass into a builder container. ValueFrom is not supported.", + "dockerStrategyOptions": "DockerStrategyOptions contains additional docker-strategy specific options for the build", +} + +func (GenericWebHookEvent) SwaggerDoc() map[string]string { + return map_GenericWebHookEvent +} + +var map_GitBuildSource = map[string]string{ + "": "GitBuildSource defines the parameters of a Git SCM", + "uri": "uri points to the source that will be built. The structure of the source will depend on the type of build to run", + "ref": "ref is the branch/tag/ref to build.", +} + +func (GitBuildSource) SwaggerDoc() map[string]string { + return map_GitBuildSource +} + +var map_GitHubWebHookCause = map[string]string{ + "": "GitHubWebHookCause has information about a GitHub webhook that triggered a build.", + "revision": "revision is the git revision information of the trigger.", + "secret": "secret is the obfuscated webhook secret that triggered a build.", +} + +func (GitHubWebHookCause) SwaggerDoc() map[string]string { + return map_GitHubWebHookCause +} + +var map_GitInfo = map[string]string{ + "": "GitInfo is the aggregated git information for a generic webhook post", + "refs": "Refs is a list of GitRefs for the provided repo - generally sent when used from a post-receive hook. This field is optional and is used when sending multiple refs", +} + +func (GitInfo) SwaggerDoc() map[string]string { + return map_GitInfo +} + +var map_GitLabWebHookCause = map[string]string{ + "": "GitLabWebHookCause has information about a GitLab webhook that triggered a build.", +} + +func (GitLabWebHookCause) SwaggerDoc() map[string]string { + return map_GitLabWebHookCause +} + +var map_GitRefInfo = map[string]string{ + "": "GitRefInfo is a single ref", +} + +func (GitRefInfo) SwaggerDoc() map[string]string { + return map_GitRefInfo +} + +var map_GitSourceRevision = map[string]string{ + "": "GitSourceRevision is the commit information from a git source for a build", + "commit": "commit is the commit hash identifying a specific commit", + "author": "author is the author of a specific commit", + "committer": "committer is the committer of a specific commit", + "message": "message is the description of a specific commit", +} + +func (GitSourceRevision) SwaggerDoc() map[string]string { + return map_GitSourceRevision +} + +var map_ImageChangeCause = map[string]string{ + "": "ImageChangeCause contains information about the image that triggered a build", + "imageID": "imageID is the ID of the image that triggered a a new build.", + "fromRef": "fromRef contains detailed information about an image that triggered a build.", +} + +func (ImageChangeCause) SwaggerDoc() map[string]string { + return map_ImageChangeCause +} + +var map_ImageChangeTrigger = map[string]string{ + "": "ImageChangeTrigger allows builds to be triggered when an ImageStream changes", + "lastTriggeredImageID": "lastTriggeredImageID is used internally by the ImageChangeController to save last used image ID for build", + "from": "from is a reference to an ImageStreamTag that will trigger a build when updated It is optional. If no From is specified, the From image from the build strategy will be used. Only one ImageChangeTrigger with an empty From reference is allowed in a build configuration.", + "paused": "paused is true if this trigger is temporarily disabled. Optional.", +} + +func (ImageChangeTrigger) SwaggerDoc() map[string]string { + return map_ImageChangeTrigger +} + +var map_ImageLabel = map[string]string{ + "": "ImageLabel represents a label applied to the resulting image.", + "name": "name defines the name of the label. It must have non-zero length.", + "value": "value defines the literal value of the label.", +} + +func (ImageLabel) SwaggerDoc() map[string]string { + return map_ImageLabel +} + +var map_ImageSource = map[string]string{ + "": "ImageSource is used to describe build source that will be extracted from an image or used during a multi stage build. A reference of type ImageStreamTag, ImageStreamImage or DockerImage may be used. A pull secret can be specified to pull the image from an external registry or override the default service account secret if pulling from the internal registry. Image sources can either be used to extract content from an image and place it into the build context along with the repository source, or used directly during a multi-stage container image build to allow content to be copied without overwriting the contents of the repository source (see the 'paths' and 'as' fields).", + "from": "from is a reference to an ImageStreamTag, ImageStreamImage, or DockerImage to copy source from.", + "as": "A list of image names that this source will be used in place of during a multi-stage container image build. For instance, a Dockerfile that uses \"COPY --from=nginx:latest\" will first check for an image source that has \"nginx:latest\" in this field before attempting to pull directly. If the Dockerfile does not reference an image source it is ignored. This field and paths may both be set, in which case the contents will be used twice.", + "paths": "paths is a list of source and destination paths to copy from the image. This content will be copied into the build context prior to starting the build. If no paths are set, the build context will not be altered.", + "pullSecret": "pullSecret is a reference to a secret to be used to pull the image from a registry If the image is pulled from the OpenShift registry, this field does not need to be set.", +} + +func (ImageSource) SwaggerDoc() map[string]string { + return map_ImageSource +} + +var map_ImageSourcePath = map[string]string{ + "": "ImageSourcePath describes a path to be copied from a source image and its destination within the build directory.", + "sourcePath": "sourcePath is the absolute path of the file or directory inside the image to copy to the build directory. If the source path ends in /. then the content of the directory will be copied, but the directory itself will not be created at the destination.", + "destinationDir": "destinationDir is the relative directory within the build directory where files copied from the image are placed.", +} + +func (ImageSourcePath) SwaggerDoc() map[string]string { + return map_ImageSourcePath +} + +var map_JenkinsPipelineBuildStrategy = map[string]string{ + "": "JenkinsPipelineBuildStrategy holds parameters specific to a Jenkins Pipeline build.", + "jenkinsfilePath": "JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are both not specified, this defaults to Jenkinsfile in the root of the specified contextDir.", + "jenkinsfile": "Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build.", + "env": "env contains additional environment variables you want to pass into a build pipeline.", +} + +func (JenkinsPipelineBuildStrategy) SwaggerDoc() map[string]string { + return map_JenkinsPipelineBuildStrategy +} + +var map_ProxyConfig = map[string]string{ + "": "ProxyConfig defines what proxies to use for an operation", + "httpProxy": "httpProxy is a proxy used to reach the git repository over http", + "httpsProxy": "httpsProxy is a proxy used to reach the git repository over https", + "noProxy": "noProxy is the list of domains for which the proxy should not be used", +} + +func (ProxyConfig) SwaggerDoc() map[string]string { + return map_ProxyConfig +} + +var map_SecretBuildSource = map[string]string{ + "": "SecretBuildSource describes a secret and its destination directory that will be used only at the build time. The content of the secret referenced here will be copied into the destination directory instead of mounting.", + "secret": "secret is a reference to an existing secret that you want to use in your build.", + "destinationDir": "destinationDir is the directory where the files from the secret should be available for the build time. For the Source build strategy, these will be injected into a container where the assemble script runs. Later, when the script finishes, all files injected will be truncated to zero length. For the container image build strategy, these will be copied into the build directory, where the Dockerfile is located, so users can ADD or COPY them during container image build.", +} + +func (SecretBuildSource) SwaggerDoc() map[string]string { + return map_SecretBuildSource +} + +var map_SecretLocalReference = map[string]string{ + "": "SecretLocalReference contains information that points to the local secret being used", + "name": "Name is the name of the resource in the same namespace being referenced", +} + +func (SecretLocalReference) SwaggerDoc() map[string]string { + return map_SecretLocalReference +} + +var map_SecretSpec = map[string]string{ + "": "SecretSpec specifies a secret to be included in a build pod and its corresponding mount point", + "secretSource": "secretSource is a reference to the secret", + "mountPath": "mountPath is the path at which to mount the secret", +} + +func (SecretSpec) SwaggerDoc() map[string]string { + return map_SecretSpec +} + +var map_SourceBuildStrategy = map[string]string{ + "": "SourceBuildStrategy defines input parameters specific to an Source build.", + "from": "from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage from which the container image should be pulled", + "pullSecret": "pullSecret is the name of a Secret that would be used for setting up the authentication for pulling the container images from the private Docker registries", + "env": "env contains additional environment variables you want to pass into a builder container.", + "scripts": "scripts is the location of Source scripts", + "incremental": "incremental flag forces the Source build to do incremental builds if true.", + "forcePull": "forcePull describes if the builder should pull the images from registry prior to building.", +} + +func (SourceBuildStrategy) SwaggerDoc() map[string]string { + return map_SourceBuildStrategy +} + +var map_SourceControlUser = map[string]string{ + "": "SourceControlUser defines the identity of a user of source control", + "name": "name of the source control user", + "email": "email of the source control user", +} + +func (SourceControlUser) SwaggerDoc() map[string]string { + return map_SourceControlUser +} + +var map_SourceRevision = map[string]string{ + "": "SourceRevision is the revision or commit information from the source for the build", + "type": "type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or 'Images'", + "git": "Git contains information about git-based build source", +} + +func (SourceRevision) SwaggerDoc() map[string]string { + return map_SourceRevision +} + +var map_SourceStrategyOptions = map[string]string{ + "": "SourceStrategyOptions contains extra strategy options for Source builds", + "incremental": "incremental overrides the source-strategy incremental option in the build config", +} + +func (SourceStrategyOptions) SwaggerDoc() map[string]string { + return map_SourceStrategyOptions +} + +var map_StageInfo = map[string]string{ + "": "StageInfo contains details about a build stage.", + "name": "name is a unique identifier for each build stage that occurs.", + "startTime": "startTime is a timestamp representing the server time when this Stage started. It is represented in RFC3339 form and is in UTC.", + "durationMilliseconds": "durationMilliseconds identifies how long the stage took to complete in milliseconds. Note: the duration of a stage can exceed the sum of the duration of the steps within the stage as not all actions are accounted for in explicit build steps.", + "steps": "steps contains details about each step that occurs during a build stage including start time and duration in milliseconds.", +} + +func (StageInfo) SwaggerDoc() map[string]string { + return map_StageInfo +} + +var map_StepInfo = map[string]string{ + "": "StepInfo contains details about a build step.", + "name": "name is a unique identifier for each build step.", + "startTime": "startTime is a timestamp representing the server time when this Step started. it is represented in RFC3339 form and is in UTC.", + "durationMilliseconds": "durationMilliseconds identifies how long the step took to complete in milliseconds.", +} + +func (StepInfo) SwaggerDoc() map[string]string { + return map_StepInfo +} + +var map_WebHookTrigger = map[string]string{ + "": "WebHookTrigger is a trigger that gets invoked using a webhook type of post", + "secret": "secret used to validate requests. Deprecated: use SecretReference instead.", + "allowEnv": "allowEnv determines whether the webhook can set environment variables; can only be set to true for GenericWebHook.", + "secretReference": "secretReference is a reference to a secret in the same namespace, containing the value to be validated when the webhook is invoked. The secret being referenced must contain a key named \"WebHookSecretKey\", the value of which will be checked against the value supplied in the webhook invocation.", +} + +func (WebHookTrigger) SwaggerDoc() map[string]string { + return map_WebHookTrigger +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/config/install.go b/vendor/github.com/openshift/api/config/install.go new file mode 100644 index 000000000..9acfa4203 --- /dev/null +++ b/vendor/github.com/openshift/api/config/install.go @@ -0,0 +1,26 @@ +package config + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + configv1 "github.com/openshift/api/config/v1" +) + +const ( + GroupName = "config.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(configv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/config/v1/doc.go b/vendor/github.com/openshift/api/config/v1/doc.go new file mode 100644 index 000000000..fa6f8d924 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/doc.go @@ -0,0 +1,7 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=config.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/config/v1/register.go b/vendor/github.com/openshift/api/config/v1/register.go new file mode 100644 index 000000000..cf1d1a3e6 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/register.go @@ -0,0 +1,64 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "config.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &Authentication{}, + &AuthenticationList{}, + &Build{}, + &BuildList{}, + &ClusterOperator{}, + &ClusterOperatorList{}, + &ClusterVersion{}, + &ClusterVersionList{}, + &Console{}, + &ConsoleList{}, + &DNS{}, + &DNSList{}, + &Image{}, + &ImageList{}, + &Infrastructure{}, + &InfrastructureList{}, + &Ingress{}, + &IngressList{}, + &Network{}, + &NetworkList{}, + &OAuth{}, + &OAuthList{}, + &Project{}, + &ProjectList{}, + &Proxy{}, + &ProxyList{}, + &Scheduling{}, + &SchedulingList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/config/v1/stringsource.go b/vendor/github.com/openshift/api/config/v1/stringsource.go new file mode 100644 index 000000000..6a5718c1d --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/stringsource.go @@ -0,0 +1,31 @@ +package v1 + +import "encoding/json" + +// UnmarshalJSON implements the json.Unmarshaller interface. +// If the value is a string, it sets the Value field of the StringSource. +// Otherwise, it is unmarshaled into the StringSourceSpec struct +func (s *StringSource) UnmarshalJSON(value []byte) error { + // If we can unmarshal to a simple string, just set the value + var simpleValue string + if err := json.Unmarshal(value, &simpleValue); err == nil { + s.Value = simpleValue + return nil + } + + // Otherwise do the full struct unmarshal + return json.Unmarshal(value, &s.StringSourceSpec) +} + +// MarshalJSON implements the json.Marshaller interface. +// If the StringSource contains only a string Value (or is empty), it is marshaled as a JSON string. +// Otherwise, the StringSourceSpec struct is marshaled as a JSON object. +func (s *StringSource) MarshalJSON() ([]byte, error) { + // If we have only a cleartext value set, do a simple string marshal + if s.StringSourceSpec == (StringSourceSpec{Value: s.Value}) { + return json.Marshal(s.Value) + } + + // Otherwise do the full struct marshal of the externalized bits + return json.Marshal(s.StringSourceSpec) +} diff --git a/vendor/github.com/openshift/api/config/v1/types.go b/vendor/github.com/openshift/api/config/v1/types.go new file mode 100644 index 000000000..cfb9ef805 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types.go @@ -0,0 +1,286 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" +) + +// ConfigMapFileReference references a config map in a specific namespace. +// The namespace must be specified at the point of use. +type ConfigMapFileReference struct { + Name string `json:"name"` + // Key allows pointing to a specific key/value inside of the configmap. This is useful for logical file references. + Key string `json:"key,omitempty"` +} + +// ConfigMapNameReference references a config map in a specific namespace. +// The namespace must be specified at the point of use. +type ConfigMapNameReference struct { + // name is the metadata.name of the referenced config map + Name string `json:"name"` +} + +// SecretNameReference references a secret in a specific namespace. +// The namespace must be specified at the point of use. +type SecretNameReference struct { + // name is the metadata.name of the referenced secret + Name string `json:"name"` +} + +// HTTPServingInfo holds configuration for serving HTTP +type HTTPServingInfo struct { + // ServingInfo is the HTTP serving information + ServingInfo `json:",inline"` + // MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit. + MaxRequestsInFlight int64 `json:"maxRequestsInFlight"` + // RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if + // -1 there is no limit on requests. + RequestTimeoutSeconds int64 `json:"requestTimeoutSeconds"` +} + +// ServingInfo holds information about serving web pages +type ServingInfo struct { + // BindAddress is the ip:port to serve on + BindAddress string `json:"bindAddress"` + // BindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", + // "tcp4", and "tcp6" + BindNetwork string `json:"bindNetwork"` + // CertInfo is the TLS cert info for serving secure traffic. + // this is anonymous so that we can inline it for serialization + CertInfo `json:",inline"` + // ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates + ClientCA string `json:"clientCA"` + // NamedCertificates is a list of certificates to use to secure requests to specific hostnames + NamedCertificates []NamedCertificate `json:"namedCertificates"` + // MinTLSVersion is the minimum TLS version supported. + // Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants + MinTLSVersion string `json:"minTLSVersion,omitempty"` + // CipherSuites contains an overridden list of ciphers for the server to support. + // Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants + CipherSuites []string `json:"cipherSuites,omitempty"` +} + +// CertInfo relates a certificate with a private key +type CertInfo struct { + // CertFile is a file containing a PEM-encoded certificate + CertFile string `json:"certFile"` + // KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile + KeyFile string `json:"keyFile"` +} + +// NamedCertificate specifies a certificate/key, and the names it should be served for +type NamedCertificate struct { + // Names is a list of DNS names this certificate should be used to secure + // A name can be a normal DNS name, or can contain leading wildcard segments. + Names []string `json:"names"` + // CertInfo is the TLS cert info for serving secure traffic + CertInfo `json:",inline"` +} + +// LeaderElection provides information to elect a leader +type LeaderElection struct { + // disable allows leader election to be suspended while allowing a fully defaulted "normal" startup case. + Disable bool `json:"disable,omitempty"` + // namespace indicates which namespace the resource is in + Namespace string `json:"namespace,omitempty"` + // name indicates what name to use for the resource + Name string `json:"name,omitempty"` + + // leaseDuration is the duration that non-leader candidates will wait + // after observing a leadership renewal until attempting to acquire + // leadership of a led but unrenewed leader slot. This is effectively the + // maximum duration that a leader can be stopped before it is replaced + // by another candidate. This is only applicable if leader election is + // enabled. + LeaseDuration metav1.Duration `json:"leaseDuration,omitempty"` + // renewDeadline is the interval between attempts by the acting master to + // renew a leadership slot before it stops leading. This must be less + // than or equal to the lease duration. This is only applicable if leader + // election is enabled. + RenewDeadline metav1.Duration `json:"renewDeadline,omitempty"` + // retryPeriod is the duration the clients should wait between attempting + // acquisition and renewal of a leadership. This is only applicable if + // leader election is enabled. + RetryPeriod metav1.Duration `json:"retryPeriod,omitempty"` +} + +// StringSource allows specifying a string inline, or externally via env var or file. +// When it contains only a string value, it marshals to a simple JSON string. +type StringSource struct { + // StringSourceSpec specifies the string value, or external location + StringSourceSpec `json:",inline"` +} + +// StringSourceSpec specifies a string value, or external location +type StringSourceSpec struct { + // Value specifies the cleartext value, or an encrypted value if keyFile is specified. + Value string `json:"value"` + + // Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified. + Env string `json:"env"` + + // File references a file containing the cleartext value, or an encrypted value if a keyFile is specified. + File string `json:"file"` + + // KeyFile references a file containing the key to use to decrypt the value. + KeyFile string `json:"keyFile"` +} + +// RemoteConnectionInfo holds information necessary for establishing a remote connection +type RemoteConnectionInfo struct { + // URL is the remote URL to connect to + URL string `json:"url"` + // CA is the CA for verifying TLS connections + CA string `json:"ca"` + // CertInfo is the TLS client cert information to present + // this is anonymous so that we can inline it for serialization + CertInfo `json:",inline"` +} + +// AdmissionPluginConfig holds the necessary configuration options for admission plugins +type AdmissionPluginConfig struct { + // Location is the path to a configuration file that contains the plugin's + // configuration + Location string `json:"location"` + + // Configuration is an embedded configuration object to be used as the plugin's + // configuration. If present, it will be used instead of the path to the configuration file. + Configuration runtime.RawExtension `json:"configuration"` +} + +type LogFormatType string + +type WebHookModeType string + +const ( + // LogFormatLegacy saves event in 1-line text format. + LogFormatLegacy LogFormatType = "legacy" + // LogFormatJson saves event in structured json format. + LogFormatJson LogFormatType = "json" + + // WebHookModeBatch indicates that the webhook should buffer audit events + // internally, sending batch updates either once a certain number of + // events have been received or a certain amount of time has passed. + WebHookModeBatch WebHookModeType = "batch" + // WebHookModeBlocking causes the webhook to block on every attempt to process + // a set of events. This causes requests to the API server to wait for a + // round trip to the external audit service before sending a response. + WebHookModeBlocking WebHookModeType = "blocking" +) + +// AuditConfig holds configuration for the audit capabilities +type AuditConfig struct { + // If this flag is set, audit log will be printed in the logs. + // The logs contains, method, user and a requested URL. + Enabled bool `json:"enabled"` + // All requests coming to the apiserver will be logged to this file. + AuditFilePath string `json:"auditFilePath"` + // Maximum number of days to retain old log files based on the timestamp encoded in their filename. + MaximumFileRetentionDays int32 `json:"maximumFileRetentionDays"` + // Maximum number of old log files to retain. + MaximumRetainedFiles int32 `json:"maximumRetainedFiles"` + // Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB. + MaximumFileSizeMegabytes int32 `json:"maximumFileSizeMegabytes"` + + // PolicyFile is a path to the file that defines the audit policy configuration. + PolicyFile string `json:"policyFile"` + // PolicyConfiguration is an embedded policy configuration object to be used + // as the audit policy configuration. If present, it will be used instead of + // the path to the policy file. + PolicyConfiguration runtime.RawExtension `json:"policyConfiguration"` + + // Format of saved audits (legacy or json). + LogFormat LogFormatType `json:"logFormat"` + + // Path to a .kubeconfig formatted file that defines the audit webhook configuration. + WebHookKubeConfig string `json:"webHookKubeConfig"` + // Strategy for sending audit events (block or batch). + WebHookMode WebHookModeType `json:"webHookMode"` +} + +// EtcdConnectionInfo holds information necessary for connecting to an etcd server +type EtcdConnectionInfo struct { + // URLs are the URLs for etcd + URLs []string `json:"urls"` + // CA is a file containing trusted roots for the etcd server certificates + CA string `json:"ca"` + // CertInfo is the TLS client cert information for securing communication to etcd + // this is anonymous so that we can inline it for serialization + CertInfo `json:",inline"` +} + +type EtcdStorageConfig struct { + EtcdConnectionInfo `json:",inline"` + + // StoragePrefix is the path within etcd that the OpenShift resources will + // be rooted under. This value, if changed, will mean existing objects in etcd will + // no longer be located. + StoragePrefix string `json:"storagePrefix"` +} + +// GenericAPIServerConfig is an inline-able struct for aggregated apiservers that need to store data in etcd +type GenericAPIServerConfig struct { + // ServingInfo describes how to start serving + ServingInfo HTTPServingInfo `json:"servingInfo"` + + // CORSAllowedOrigins + CORSAllowedOrigins []string `json:"corsAllowedOrigins"` + + // AuditConfig describes how to configure audit information + AuditConfig AuditConfig `json:"auditConfig"` + + // StorageConfig contains information about how to use + StorageConfig EtcdStorageConfig `json:"storageConfig"` + + AdmissionPluginConfig map[string]AdmissionPluginConfig `json:"admissionPluginConfig"` + + KubeClientConfig KubeClientConfig `json:"kubeClientConfig"` +} + +type KubeClientConfig struct { + // kubeConfig is a .kubeconfig filename for going to the owning kube-apiserver. Empty uses an in-cluster-config + KubeConfig string `json:"kubeConfig"` + + // connectionOverrides specifies client overrides for system components to loop back to this master. + ConnectionOverrides ClientConnectionOverrides `json:"connectionOverrides"` +} + +type ClientConnectionOverrides struct { + // acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the + // default value of 'application/json'. This field will control all connections to the server used by a particular + // client. + AcceptContentTypes string `json:"acceptContentTypes"` + // contentType is the content type used when sending data to the server from this client. + ContentType string `json:"contentType"` + + // qps controls the number of queries per second allowed for this connection. + QPS float32 `json:"qps"` + // burst allows extra queries to accumulate when a client is exceeding its rate. + Burst int32 `json:"burst"` +} + +// GenericControllerConfig provides information to configure a controller +type GenericControllerConfig struct { + // ServingInfo is the HTTP serving information for the controller's endpoints + ServingInfo HTTPServingInfo `json:"servingInfo,omitempty"` + + // leaderElection provides information to elect a leader. Only override this if you have a specific need + LeaderElection LeaderElection `json:"leaderElection,omitempty"` + + // authentication allows configuration of authentication for the endpoints + Authentication DelegatedAuthentication `json:"authentication,omitempty"` + // authorization allows configuration of authentication for the endpoints + Authorization DelegatedAuthorization `json:"authorization,omitempty"` +} + +// DelegatedAuthentication allows authentication to be disabled. +type DelegatedAuthentication struct { + // disabled indicates that authentication should be disabled. By default it will use delegated authentication. + Disabled bool `json:"disabled,omitempty"` +} + +// DelegatedAuthorization allows authorization to be disabled. +type DelegatedAuthorization struct { + // disabled indicates that authorization should be disabled. By default it will use delegated authorization. + Disabled bool `json:"disabled,omitempty"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_authentication.go b/vendor/github.com/openshift/api/config/v1/types_authentication.go new file mode 100644 index 000000000..3880bd593 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_authentication.go @@ -0,0 +1,115 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Authentication holds cluster-wide information about Authentication. The canonical name is `cluster` +type Authentication struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec AuthenticationSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status AuthenticationStatus `json:"status"` +} + +type AuthenticationSpec struct { + // type identifies the cluster managed, user facing authentication mode in use. + // Specifically, it manages the component that responds to login attempts. + // The default is IntegratedOAuth. + Type AuthenticationType `json:"type"` + + // oauthMetadata contains the discovery endpoint data for OAuth 2.0 + // Authorization Server Metadata for an external OAuth server. + // This discovery document can be viewed from its served location: + // oc get --raw '/.well-known/oauth-authorization-server' + // For further details, see the IETF Draft: + // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 + // If oauthMetadata.name is non-empty, this value has precedence + // over any metadata reference stored in status. + // The key "oauthMetadata" is used to locate the data. + // If specified and the config map or expected key is not found, no metadata is served. + // If the specified metadata is not valid, no metadata is served. + // The namespace for this config map is openshift-config. + // +optional + OAuthMetadata ConfigMapNameReference `json:"oauthMetadata"` + + // webhookTokenAuthenticators configures remote token reviewers. + // These remote authentication webhooks can be used to verify bearer tokens + // via the tokenreviews.authentication.k8s.io REST API. This is required to + // honor bearer tokens that are provisioned by an external authentication service. + // The namespace for these secrets is openshift-config. + // +optional + WebhookTokenAuthenticators []WebhookTokenAuthenticator `json:"webhookTokenAuthenticators"` +} + +type AuthenticationStatus struct { + // integratedOAuthMetadata contains the discovery endpoint data for OAuth 2.0 + // Authorization Server Metadata for the in-cluster integrated OAuth server. + // This discovery document can be viewed from its served location: + // oc get --raw '/.well-known/oauth-authorization-server' + // For further details, see the IETF Draft: + // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 + // This contains the observed value based on cluster state. + // An explicitly set value in spec.oauthMetadata has precedence over this field. + // This field has no meaning if authentication spec.type is not set to IntegratedOAuth. + // The key "oauthMetadata" is used to locate the data. + // If the config map or expected key is not found, no metadata is served. + // If the specified metadata is not valid, no metadata is served. + // The namespace for this config map is openshift-config-managed. + IntegratedOAuthMetadata ConfigMapNameReference `json:"integratedOAuthMetadata"` + + // TODO if we add support for an in-cluster operator managed Keycloak instance + // KeycloakOAuthMetadata ConfigMapNameReference `json:"keycloakOAuthMetadata"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type AuthenticationList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + + Items []Authentication `json:"items"` +} + +type AuthenticationType string + +const ( + // None means that no cluster managed authentication system is in place. + // Note that user login will only work if a manually configured system is in place and + // referenced in authentication spec via oauthMetadata and webhookTokenAuthenticators. + AuthenticationTypeNone AuthenticationType = "None" + + // IntegratedOAuth refers to the cluster managed OAuth server. + // It is configured via the top level OAuth config. + AuthenticationTypeIntegratedOAuth AuthenticationType = "IntegratedOAuth" + + // TODO if we add support for an in-cluster operator managed Keycloak instance + // AuthenticationTypeKeycloak AuthenticationType = "Keycloak" +) + +// webhookTokenAuthenticator holds the necessary configuration options for a remote token authenticator +type WebhookTokenAuthenticator struct { + // kubeConfig contains kube config file data which describes how to access the remote webhook service. + // For further details, see: + // https://kubernetes.io/docs/reference/access-authn-authz/authentication/#webhook-token-authentication + // The key "kubeConfig" is used to locate the data. + // If the secret or expected key is not found, the webhook is not honored. + // If the specified kube config data is not valid, the webhook is not honored. + // The namespace for this secret is determined by the point of use. + KubeConfig SecretNameReference `json:"kubeConfig"` +} + +const ( + // OAuthMetadataKey is the key for the oauth authorization server metadata + OAuthMetadataKey = "oauthMetadata" + + // KubeConfigKey is the key for the kube config file data in a secret + KubeConfigKey = "kubeConfig" +) diff --git a/vendor/github.com/openshift/api/config/v1/types_build.go b/vendor/github.com/openshift/api/config/v1/types_build.go new file mode 100644 index 000000000..05ea4da9f --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_build.go @@ -0,0 +1,126 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Build holds cluster-wide information on how to handle builds. The canonical name is `cluster` +type Build struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // Spec holds user-settable values for the build controller configuration + // +optional + Spec BuildSpec `json:"spec,omitempty"` +} + +type BuildSpec struct { + // AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that + // should be trusted for image pushes and pulls during builds. + // The namespace for this config map is openshift-config. + // +optional + AdditionalTrustedCA ConfigMapNameReference `json:"additionalTrustedCA,omitempty"` + // BuildDefaults controls the default information for Builds + // +optional + BuildDefaults BuildDefaults `json:"buildDefaults,omitempty"` + // BuildOverrides controls override settings for builds + // +optional + BuildOverrides BuildOverrides `json:"buildOverrides,omitempty"` +} + +type BuildDefaults struct { + // DefaultProxy contains the default proxy settings for all build operations, including image pull/push + // and source download. + // + // Values can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables + // in the build config's strategy. + // +optional + DefaultProxy *ProxySpec `json:"defaultProxy,omitempty"` + + // GitProxy contains the proxy settings for git operations only. If set, this will override + // any Proxy settings for all git commands, such as git clone. + // + // Values that are not set here will be inherited from DefaultProxy. + // +optional + GitProxy *ProxySpec `json:"gitProxy,omitempty"` + + // Env is a set of default environment variables that will be applied to the + // build if the specified variables do not exist on the build + // +optional + Env []corev1.EnvVar `json:"env,omitempty"` + + // ImageLabels is a list of docker labels that are applied to the resulting image. + // User can override a default label by providing a label with the same name in their + // Build/BuildConfig. + // +optional + ImageLabels []ImageLabel `json:"imageLabels,omitempty"` + + // Resources defines resource requirements to execute the build. + // +optional + Resources corev1.ResourceRequirements `json:"resources,omitempty"` + + // RegistriesConfig controls the registries allowed for image pull and push. + // +optional + RegistriesConfig RegistriesConfig `json:"registriesConfig,omitempty"` +} + +type ImageLabel struct { + // Name defines the name of the label. It must have non-zero length. + Name string `json:"name"` + + // Value defines the literal value of the label. + // +optional + Value string `json:"value,omitempty"` +} + +type RegistriesConfig struct { + // SearchRegistries lists the registries to search for images if an image repository is not specified in an image pull spec. + // + // If this is not set, builds will search Docker Hub (docker.io) when a repository is not specified. + // Setting this to an empty list will require all builds to fully qualify their image pull specs. + // +optional + SearchRegistries *[]string `json:"searchRegistries,omitempty"` + // InsecureRegistries are registries which do not have a valid SSL certificate or only support HTTP connections. + // +optional + InsecureRegistries []string `json:"insecureRegistries,omitempty"` + // BlockedRegistries are blacklisted from image pull/push. All other registries are allowed. + // + // Only one of BlockedRegistries or AllowedRegistries may be set. + // +optional + BlockedRegistries []string `json:"blockedRegistries,omitempty"` + // AllowedRegistries are whitelisted for image pull/push. All other registries are blocked. + // + // Only one of BlockedRegistries or AllowedRegistries may be set. + // +optional + AllowedRegistries []string `json:"allowedRegistries,omitempty"` +} + +type BuildOverrides struct { + // ImageLabels is a list of docker labels that are applied to the resulting image. + // If user provided a label in their Build/BuildConfig with the same name as one in this + // list, the user's label will be overwritten. + // +optional + ImageLabels []ImageLabel `json:"imageLabels,omitempty"` + + // NodeSelector is a selector which must be true for the build pod to fit on a node + // +optional + NodeSelector map[string]string `json:"nodeSelector,omitempty"` + + // Tolerations is a list of Tolerations that will override any existing + // tolerations set on a build pod. + // +optional + Tolerations []corev1.Toleration `json:"tolerations,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type BuildList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Build `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go new file mode 100644 index 000000000..484d99872 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go @@ -0,0 +1,125 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterOperator is the Custom Resource object which holds the current state +// of an operator. This object is used by operators to convey their state to +// the rest of the cluster. +type ClusterOperator struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata"` + + // spec hold the intent of how this operator should behave. + Spec ClusterOperatorSpec `json:"spec"` + + // status holds the information about the state of an operator. It is consistent with status information across + // the kube ecosystem. + Status ClusterOperatorStatus `json:"status"` +} + +// ClusterOperatorSpec is empty for now, but you could imagine holding information like "pause". +type ClusterOperatorSpec struct { +} + +// ClusterOperatorStatus provides information about the status of the operator. +// +k8s:deepcopy-gen=true +type ClusterOperatorStatus struct { + // conditions describes the state of the operator's reconciliation functionality. + // +patchMergeKey=type + // +patchStrategy=merge + Conditions []ClusterOperatorStatusCondition `json:"conditions" patchStrategy:"merge" patchMergeKey:"type"` + + // version indicates which version of the operator updated the current + // status object. + Version string `json:"version"` + + // relatedObjects is a list of objects that are "interesting" or related to this operator. Common uses are: + // 1. the detailed resource driving the operator + // 2. operator namespaces + // 3. operand namespaces + RelatedObjects []ObjectReference `json:"relatedObjects"` + + // extension contains any additional status information specific to the + // operator which owns this status object. + Extension runtime.RawExtension `json:"extension,omitempty"` +} + +// ObjectReference contains enough information to let you inspect or modify the referred object. +type ObjectReference struct { + // group of the referent. + Group string `json:"group"` + // resource of the referent. + Resource string `json:"resource"` + // namespace of the referent. + // +optional + Namespace string `json:"namespace,omitempty"` + // name of the referent. + Name string `json:"name"` +} + +type ConditionStatus string + +// These are valid condition statuses. "ConditionTrue" means a resource is in the condition. +// "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes +// can't decide if a resource is in the condition or not. In the future, we could add other +// intermediate conditions, e.g. ConditionDegraded. +const ( + ConditionTrue ConditionStatus = "True" + ConditionFalse ConditionStatus = "False" + ConditionUnknown ConditionStatus = "Unknown" +) + +// ClusterOperatorStatusCondition represents the state of the operator's +// reconciliation functionality. +// +k8s:deepcopy-gen=true +type ClusterOperatorStatusCondition struct { + // type specifies the state of the operator's reconciliation functionality. + Type ClusterStatusConditionType `json:"type"` + + // status of the condition, one of True, False, Unknown. + Status ConditionStatus `json:"status"` + + // lastTransitionTime is the time of the last update to the current status object. + LastTransitionTime metav1.Time `json:"lastTransitionTime"` + + // reason is the reason for the condition's last transition. Reasons are CamelCase + Reason string `json:"reason,omitempty"` + + // message provides additional information about the current condition. + // This is only to be consumed by humans. + Message string `json:"message,omitempty"` +} + +// ClusterStatusConditionType is the state of the operator's reconciliation functionality. +type ClusterStatusConditionType string + +const ( + // OperatorAvailable indicates that the binary maintained by the operator (eg: openshift-apiserver for the + // openshift-apiserver-operator), is functional and available in the cluster. + OperatorAvailable ClusterStatusConditionType = "Available" + + // OperatorProgressing indicates that the operator is actively making changes to the binary maintained by the + // operator (eg: openshift-apiserver for the openshift-apiserver-operator). + OperatorProgressing ClusterStatusConditionType = "Progressing" + + // OperatorFailing indicates that the operator has encountered an error that is preventing it from working properly. + // The binary maintained by the operator (eg: openshift-apiserver for the openshift-apiserver-operator) may still be + // available, but the user intent cannot be fulfilled. + OperatorFailing ClusterStatusConditionType = "Failing" +) + +// ClusterOperatorList is a list of OperatorStatus resources. +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +type ClusterOperatorList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata"` + + Items []ClusterOperator `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_cluster_version.go b/vendor/github.com/openshift/api/config/v1/types_cluster_version.go new file mode 100644 index 000000000..a43b12a69 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_cluster_version.go @@ -0,0 +1,214 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterVersion is the configuration for the ClusterVersionOperator. This is where +// parameters related to automatic updates can be set. +type ClusterVersion struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec is the desired state of the cluster version - the operator will work + // to ensure that the desired version is applied to the cluster. + Spec ClusterVersionSpec `json:"spec"` + // status contains information about the available updates and any in-progress + // updates. + Status ClusterVersionStatus `json:"status"` +} + +// ClusterVersionSpec is the desired version state of the cluster. It includes +// the version the cluster should be at, how the cluster is identified, and +// where the cluster should look for version updates. +// +k8s:deepcopy-gen=true +type ClusterVersionSpec struct { + // clusterID uniquely identifies this cluster. This is expected to be + // an RFC4122 UUID value (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx in + // hexadecimal values). This is a required field. + ClusterID ClusterID `json:"clusterID"` + + // desiredUpdate is an optional field that indicates the desired value of + // the cluster version. Setting this value will trigger an upgrade (if + // the current version does not match the desired version). The set of + // recommended update values is listed as part of available updates in + // status, and setting values outside that range may cause the upgrade + // to fail. + // + // If an upgrade fails the operator will halt and report status + // about the failing component. Setting the desired update value back to + // the previous version will cause a rollback to be attempted. Not all + // rollbacks will succeed. + // + // +optional + DesiredUpdate *Update `json:"desiredUpdate"` + + // upstream may be used to specify the preferred update server. By default + // it will use the appropriate update server for the cluster and region. + // + // +optional + Upstream URL `json:"upstream"` + // channel is an identifier for explicitly requesting that a non-default + // set of updates be applied to this cluster. The default channel will be + // contain stable updates that are appropriate for production clusters. + // + // +optional + Channel string `json:"channel"` + + // overrides is list of overides for components that are managed by + // cluster version operator. Marking a component unmanaged will prevent + // the operator from creating or updating the object. + // +optional + Overrides []ComponentOverride `json:"overrides,omitempty"` +} + +// ClusterVersionStatus reports the status of the cluster versioning, +// including any upgrades that are in progress. The current field will +// be set to whichever version the cluster is reconciling to, and the +// conditions array will report whether the update succeeded, is in +// progress, or is failing. +// +k8s:deepcopy-gen=true +type ClusterVersionStatus struct { + // desired is the version that the cluster is reconciling towards. + // If the cluster is not yet fully initialized desired will be set + // with the information available, which may be a payload or a tag. + Desired Update `json:"desired"` + + // history contains a list of the most recent versions applied to the cluster. + // This value may be empty during cluster startup, and then will be updated + // when a new update is being applied. The newest update is first in the + // list and it is ordered by recency. Updates in the history have state + // Completed if the rollout completed - if an update was failing or halfway + // applied the state will be Partial. Only a limited amount of update history + // is preserved. + History []UpdateHistory `json:"history"` + + // generation reports which version of the spec is being processed. + // If this value is not equal to metadata.generation, then the + // current and conditions fields have not yet been updated to reflect + // the latest request. + Generation int64 `json:"generation"` + + // versionHash is a fingerprint of the content that the cluster will be + // updated with. It is used by the operator to avoid unnecessary work + // and is for internal use only. + VersionHash string `json:"versionHash"` + + // conditions provides information about the cluster version. The condition + // "Available" is set to true if the desiredUpdate has been reached. The + // condition "Progressing" is set to true if an update is being applied. + // The condition "Failing" is set to true if an update is currently blocked + // by a temporary or permanent error. Conditions are only valid for the + // current desiredUpdate when metadata.generation is equal to + // status.generation. + Conditions []ClusterOperatorStatusCondition `json:"conditions"` + + // availableUpdates contains the list of updates that are appropriate + // for this cluster. This list may be empty if no updates are recommended, + // if the update service is unavailable, or if an invalid channel has + // been specified. + AvailableUpdates []Update `json:"availableUpdates"` +} + +// UpdateState is a constant representing whether an update was successfully +// applied to the cluster or not. +type UpdateState string + +const ( + // CompletedUpdate indicates an update was successfully applied + // to the cluster (all resource updates were successful). + CompletedUpdate UpdateState = "Completed" + // PartialUpdate indicates an update was never completely applied + // or is currently being applied. + PartialUpdate UpdateState = "Partial" +) + +// UpdateHistory is a single attempted update to the cluster. +type UpdateHistory struct { + // state reflects whether the update was fully applied. The Partial state + // indicates the update is not fully applied, while the Completed state + // indicates the update was successfully rolled out at least once (all + // parts of the update successfully applied). + State UpdateState `json:"state"` + + // startedTime is the time at which the update was started. + StartedTime metav1.Time `json:"startedTime"` + // completionTime, if set, is when the update was fully applied. The update + // that is currently being applied will have a null completion time. + // Completion time will always be set for entries that are not the current + // update (usually to the started time of the next update). + CompletionTime *metav1.Time `json:"completionTime"` + + // version is a semantic versioning identifying the update version. If the + // requested payload does not define a version, or if a failure occurs + // retrieving the payload, this value may be empty. + // + // +optional + Version string `json:"version"` + // payload is a container image location that contains the update. This value + // is always populated. + Payload string `json:"payload"` +} + +// ClusterID is string RFC4122 uuid. +type ClusterID string + +// ComponentOverride allows overriding cluster version operator's behavior +// for a component. +// +k8s:deepcopy-gen=true +type ComponentOverride struct { + // kind indentifies which object to override. + Kind string `json:"kind"` + // group identifies the API group that the kind is in. + Group string `json:"group"` + + // namespace is the component's namespace. If the resource is cluster + // scoped, the namespace should be empty. + Namespace string `json:"namespace"` + // name is the component's name. + Name string `json:"name"` + + // unmanaged controls if cluster version operator should stop managing the + // resources in this cluster. + // Default: false + Unmanaged bool `json:"unmanaged"` +} + +// URL is a thin wrapper around string that ensures the string is a valid URL. +type URL string + +// Update represents a release of the ClusterVersionOperator, referenced by the +// Payload member. +// +k8s:deepcopy-gen=true +type Update struct { + // version is a semantic versioning identifying the update version. When this + // field is part of spec, version is optional if payload is specified. + // + // +optional + Version string `json:"version"` + // payload is a container image location that contains the update. When this + // field is part of spec, payload is optional if version is specified and the + // availableUpdates field contains a matching version. + // + // +optional + Payload string `json:"payload"` +} + +// RetrievedUpdates reports whether available updates have been retrieved from +// the upstream update server. The condition is Unknown before retrieval, False +// if the updates could not be retrieved or recently failed, or True if the +// availableUpdates field is accurate and recent. +const RetrievedUpdates ClusterStatusConditionType = "RetrievedUpdates" + +// ClusterVersionList is a list of ClusterVersion resources. +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +type ClusterVersionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata"` + + Items []ClusterVersion `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_console.go b/vendor/github.com/openshift/api/config/v1/types_console.go new file mode 100644 index 000000000..36beb4113 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_console.go @@ -0,0 +1,37 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Console holds cluster-wide information about Console. The canonical name is `cluster` +// TODO this object is an example of a possible grouping and is subject to change or removal +type Console struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec ConsoleSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status ConsoleStatus `json:"status"` +} + +type ConsoleSpec struct { + // special console public url? +} + +type ConsoleStatus struct { + // console public url +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type ConsoleList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Console `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_dns.go b/vendor/github.com/openshift/api/config/v1/types_dns.go new file mode 100644 index 000000000..c37189547 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_dns.go @@ -0,0 +1,42 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DNS holds cluster-wide information about DNS. The canonical name is `cluster` +// TODO this object is an example of a possible grouping and is subject to change or removal +type DNS struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec DNSSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status DNSStatus `json:"status"` +} + +type DNSSpec struct { + // baseDomain is the base domain of the cluster. All managed DNS records will + // be sub-domains of this base. + // + // For example, given the base domain `openshift.example.com`, an API server + // DNS record may be created for `cluster-api.openshift.example.com`. + BaseDomain string `json:"baseDomain"` +} + +type DNSStatus struct { + // dnsSuffix (service-ca amongst others) +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type DNSList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []DNS `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_image.go b/vendor/github.com/openshift/api/config/v1/types_image.go new file mode 100644 index 000000000..c067d8712 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_image.go @@ -0,0 +1,77 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Image holds cluster-wide information about how to handle images. The canonical name is `cluster` +type Image struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec ImageSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status ImageStatus `json:"status"` +} + +type ImageSpec struct { + // AllowedRegistriesForImport limits the container image registries that normal users may import + // images from. Set this list to the registries that you trust to contain valid Docker + // images and that you want applications to be able to import from. Users with + // permission to create Images or ImageStreamMappings via the API are not affected by + // this policy - typically only administrators or system integrations will have those + // permissions. + AllowedRegistriesForImport []RegistryLocation `json:"allowedRegistriesForImport,omitempty"` + + // externalRegistryHostnames provides the hostnames for the default external image + // registry. The external hostname should be set only when the image registry + // is exposed externally. The first value is used in 'publicDockerImageRepository' + // field in ImageStreams. The value must be in "hostname[:port]" format. + ExternalRegistryHostnames []string `json:"externalRegistryHostnames,omitempty"` + + // AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that + // should be trusted during imagestream import. + // The namespace for this config map is openshift-config. + AdditionalTrustedCA ConfigMapNameReference `json:"additionalTrustedCA,omitempty"` +} + +type ImageStatus struct { + + // this value is set by the image registry operator which controls the internal registry hostname + // InternalRegistryHostname sets the hostname for the default internal image + // registry. The value must be in "hostname[:port]" format. + // For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY + // environment variable but this setting overrides the environment variable. + InternalRegistryHostname string `json:"internalRegistryHostname,omitempty"` + + // externalRegistryHostnames provides the hostnames for the default external image + // registry. The external hostname should be set only when the image registry + // is exposed externally. The first value is used in 'publicDockerImageRepository' + // field in ImageStreams. The value must be in "hostname[:port]" format. + ExternalRegistryHostnames []string `json:"externalRegistryHostnames,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type ImageList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Image `json:"items"` +} + +// RegistryLocation contains a location of the registry specified by the registry domain +// name. The domain name might include wildcards, like '*' or '??'. +type RegistryLocation struct { + // DomainName specifies a domain name for the registry + // In case the registry use non-standard (80 or 443) port, the port should be included + // in the domain name as well. + DomainName string `json:"domainName"` + // Insecure indicates whether the registry is secure (https) or insecure (http) + // By default (if not specified) the registry is assumed as secure. + Insecure bool `json:"insecure,omitempty"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go new file mode 100644 index 000000000..42efc79db --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go @@ -0,0 +1,60 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Infrastructure holds cluster-wide information about Infrastructure. The canonical name is `cluster` +// TODO this object is an example of a possible grouping and is subject to change or removal +type Infrastructure struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec InfrastructureSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status InfrastructureStatus `json:"status"` +} + +type InfrastructureSpec struct { + // secret reference? + // configmap reference to file? +} + +type InfrastructureStatus struct { + // platform is the underlying infrastructure provider for the cluster. This + // value controls whether infrastructure automation such as service load + // balancers, dynamic volume provisioning, machine creation and deletion, and + // other integrations are enabled. If None, no infrastructure automation is + // enabled. + Platform PlatformType `json:"platform,omitempty"` +} + +// platformType is a specific supported infrastructure provider. +type PlatformType string + +const ( + // awsPlatform represents Amazon AWS. + AWSPlatform PlatformType = "AWS" + + // openStackPlatform represents OpenStack. + OpenStackPlatform PlatformType = "OpenStack" + + // libvirtPlatform represents libvirt. + LibvirtPlatform PlatformType = "Libvirt" + + // nonePlatform means there is no infrastructure provider. + NonePlatform PlatformType = "None" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type InfrastructureList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Infrastructure `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_ingress.go b/vendor/github.com/openshift/api/config/v1/types_ingress.go new file mode 100644 index 000000000..d9b81988f --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_ingress.go @@ -0,0 +1,39 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Ingress holds cluster-wide information about Ingress. The canonical name is `cluster` +// TODO this object is an example of a possible grouping and is subject to change or removal +type Ingress struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec IngressSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status IngressStatus `json:"status"` +} + +type IngressSpec struct { + // domain is used to generate a default host name for a route when the + // route's host name is empty. The generated host name will follow this + // pattern: "..". + Domain string `json:"domain"` +} + +type IngressStatus struct { +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type IngressList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Ingress `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_network.go b/vendor/github.com/openshift/api/config/v1/types_network.go new file mode 100644 index 000000000..144ba15b5 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_network.go @@ -0,0 +1,75 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Network holds cluster-wide information about Network. The canonical name is `cluster` +// TODO this object is an example of a possible grouping and is subject to change or removal +type Network struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration. + Spec NetworkSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status NetworkStatus `json:"status"` +} + +// NetworkSpec is the desired network configuration. +// As a general rule, this SHOULD NOT be read directly. Instead, you should +// consume the NetworkStatus, as it indicates the currently deployed configuration. +// Currently, none of these fields may be changed after installation. +type NetworkSpec struct { + // IP address pool to use for pod IPs. + ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork"` + + // IP address pool for services. + // Currently, we only support a single entry here. + ServiceNetwork []string `json:"serviceNetwork"` + + // NetworkType is the plugin that is to be deployed (e.g. OpenShiftSDN). + // This should match a value that the cluster-network-operator understands, + // or else no networking will be installed. + // Currently supported values are: + // - OpenShiftSDN + NetworkType string `json:"networkType"` +} + +// NetworkStatus is the current network configuration. +type NetworkStatus struct { + // IP address pool to use for pod IPs. + ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork"` + + // IP address pool for services. + // Currently, we only support a single entry here. + ServiceNetwork []string `json:"serviceNetwork"` + + // NetworkType is the plugin that is deployed (e.g. OpenShiftSDN). + NetworkType string `json:"networkType"` + + // ClusterNetworkMTU is the MTU for inter-pod networking. + ClusterNetworkMTU int `json:"clusterNetworkMTU"` +} + +// ClusterNetworkEntry is a contiguous block of IP addresses from which pod IPs +// are allocated. +type ClusterNetworkEntry struct { + // The complete block for pod IPs. + CIDR string `json:"cidr"` + + // The size (prefix) of block to allocate to each node. + HostPrefix uint32 `json:"hostPrefix"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type NetworkList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Network `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_oauth.go b/vendor/github.com/openshift/api/config/v1/types_oauth.go new file mode 100644 index 000000000..a49ccbe52 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_oauth.go @@ -0,0 +1,574 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// OAuth Server and Identity Provider Config + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuth holds cluster-wide information about OAuth. The canonical name is `cluster`. +// It is used to configure the integrated OAuth server. +// This configuration is only honored when the top level Authentication config has type set to IntegratedOAuth. +type OAuth struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata"` + + Spec OAuthSpec `json:"spec"` + + Status OAuthStatus `json:"status"` +} + +// OAuthSpec contains desired cluster auth configuration +type OAuthSpec struct { + // identityProviders is an ordered list of ways for a user to identify themselves. + // When this list is empty, no identities are provisioned for users. + // +optional + IdentityProviders []IdentityProvider `json:"identityProviders,omitempty"` + + // tokenConfig contains options for authorization and access tokens + TokenConfig TokenConfig `json:"tokenConfig"` + + // templates allow you to customize pages like the login page. + // +optional + Templates OAuthTemplates `json:"templates"` +} + +// OAuthStatus shows current known state of OAuth server in the cluster +type OAuthStatus struct { + // TODO Fill in with status of identityProviders and templates (and maybe tokenConfig) +} + +// TokenConfig holds the necessary configuration options for authorization and access tokens +type TokenConfig struct { + // accessTokenMaxAgeSeconds defines the maximum age of access tokens + AccessTokenMaxAgeSeconds int32 `json:"accessTokenMaxAgeSeconds"` + + // accessTokenInactivityTimeoutSeconds defines the default token + // inactivity timeout for tokens granted by any client. + // The value represents the maximum amount of time that can occur between + // consecutive uses of the token. Tokens become invalid if they are not + // used within this temporal window. The user will need to acquire a new + // token to regain access once a token times out. + // Valid values are integer values: + // x < 0 Tokens time out is enabled but tokens never timeout unless configured per client (e.g. `-1`) + // x = 0 Tokens time out is disabled (default) + // x > 0 Tokens time out if there is no activity for x seconds + // The current minimum allowed value for X is 300 (5 minutes) + // +optional + AccessTokenInactivityTimeoutSeconds int32 `json:"accessTokenInactivityTimeoutSeconds,omitempty"` +} + +const ( + // LoginTemplateKey is the key of the login template in a secret + LoginTemplateKey = "login.html" + + // ProviderSelectionTemplateKey is the key for the provider selection template in a secret + ProviderSelectionTemplateKey = "providers.html" + + // ErrorsTemplateKey is the key for the errors template in a secret + ErrorsTemplateKey = "errors.html" + + // BindPasswordKey is the key for the LDAP bind password in a secret + BindPasswordKey = "bindPassword" + + // ClientSecretKey is the key for the oauth client secret data in a secret + ClientSecretKey = "clientSecret" + + // HTPasswdDataKey is the key for the htpasswd file data in a secret + HTPasswdDataKey = "htpasswd" +) + +// OAuthTemplates allow for customization of pages like the login page +type OAuthTemplates struct { + // login is the name of a secret that specifies a go template to use to render the login page. + // The key "login.html" is used to locate the template data. + // If specified and the secret or expected key is not found, the default login page is used. + // If the specified template is not valid, the default login page is used. + // If unspecified, the default login page is used. + // The namespace for this secret is openshift-config. + // +optional + Login SecretNameReference `json:"login,omitempty"` + + // providerSelection is the name of a secret that specifies a go template to use to render + // the provider selection page. + // The key "providers.html" is used to locate the template data. + // If specified and the secret or expected key is not found, the default provider selection page is used. + // If the specified template is not valid, the default provider selection page is used. + // If unspecified, the default provider selection page is used. + // The namespace for this secret is openshift-config. + // +optional + ProviderSelection SecretNameReference `json:"providerSelection,omitempty"` + + // error is the name of a secret that specifies a go template to use to render error pages + // during the authentication or grant flow. + // The key "errors.html" is used to locate the template data. + // If specified and the secret or expected key is not found, the default error page is used. + // If the specified template is not valid, the default error page is used. + // If unspecified, the default error page is used. + // The namespace for this secret is openshift-config. + // +optional + Error SecretNameReference `json:"error,omitempty"` +} + +// IdentityProvider provides identities for users authenticating using credentials +type IdentityProvider struct { + // name is used to qualify the identities returned by this provider. + // - It MUST be unique and not shared by any other identity provider used + // - It MUST be a valid path segment: name cannot equal "." or ".." or contain "/" or "%" or ":" + // Ref: https://godoc.org/github.com/openshift/origin/pkg/user/apis/user/validation#ValidateIdentityProviderName + Name string `json:"name"` + + // challenge indicates whether to issue WWW-Authenticate challenges for this provider + UseAsChallenger bool `json:"challenge"` + + // login indicates whether to use this identity provider for unauthenticated browsers to login against + UseAsLogin bool `json:"login"` + + // mappingMethod determines how identities from this provider are mapped to users + // Defaults to "claim" + // +optional + MappingMethod MappingMethodType `json:"mappingMethod"` + + IdentityProviderConfig `json:",inline"` +} + +// MappingMethodType specifies how new identities should be mapped to users when they log in +type MappingMethodType string + +const ( + // MappingMethodClaim provisions a user with the identity’s preferred user name. Fails if a user + // with that user name is already mapped to another identity. + // Default. + MappingMethodClaim MappingMethodType = "claim" + + // MappingMethodLookup looks up existing users already mapped to an identity but does not + // automatically provision users or identities. Requires identities and users be set up + // manually or using an external process. + MappingMethodLookup MappingMethodType = "lookup" + + // MappingMethodAdd provisions a user with the identity’s preferred user name. If a user with + // that user name already exists, the identity is mapped to the existing user, adding to any + // existing identity mappings for the user. + MappingMethodAdd MappingMethodType = "add" +) + +type IdentityProviderType string + +const ( + // IdentityProviderTypeBasicAuth provides identities for users authenticating with HTTP Basic Auth + IdentityProviderTypeBasicAuth IdentityProviderType = "BasicAuth" + + // IdentityProviderTypeGitHub provides identities for users authenticating using GitHub credentials + IdentityProviderTypeGitHub IdentityProviderType = "GitHub" + + // IdentityProviderTypeGitLab provides identities for users authenticating using GitLab credentials + IdentityProviderTypeGitLab IdentityProviderType = "GitLab" + + // IdentityProviderTypeGoogle provides identities for users authenticating using Google credentials + IdentityProviderTypeGoogle IdentityProviderType = "Google" + + // IdentityProviderTypeHTPasswd provides identities from an HTPasswd file + IdentityProviderTypeHTPasswd IdentityProviderType = "HTPasswd" + + // IdentityProviderTypeKeystone provides identitities for users authenticating using keystone password credentials + IdentityProviderTypeKeystone IdentityProviderType = "Keystone" + + // IdentityProviderTypeLDAP provides identities for users authenticating using LDAP credentials + IdentityProviderTypeLDAP IdentityProviderType = "LDAP" + + // IdentityProviderTypeOpenID provides identities for users authenticating using OpenID credentials + IdentityProviderTypeOpenID IdentityProviderType = "OpenID" + + // IdentityProviderTypeRequestHeader provides identities for users authenticating using request header credentials + IdentityProviderTypeRequestHeader IdentityProviderType = "RequestHeader" +) + +// IdentityProviderConfig contains configuration for using a specific identity provider +type IdentityProviderConfig struct { + // type identifies the identity provider type for this entry. + Type IdentityProviderType `json:"type"` + + // Provider-specific configuration + // The json tag MUST match the `Type` specified above, case-insensitively + // e.g. For `Type: "LDAP"`, the `ldap` configuration should be provided + + // basicAuth contains configuration options for the BasicAuth IdP + // +optional + BasicAuth *BasicAuthIdentityProvider `json:"basicAuth,omitempty"` + + // github enables user authentication using GitHub credentials + // +optional + GitHub *GitHubIdentityProvider `json:"github,omitempty"` + + // gitlab enables user authentication using GitLab credentials + // +optional + GitLab *GitLabIdentityProvider `json:"gitlab,omitempty"` + + // google enables user authentication using Google credentials + // +optional + Google *GoogleIdentityProvider `json:"google,omitempty"` + + // htpasswd enables user authentication using an HTPasswd file to validate credentials + // +optional + HTPasswd *HTPasswdIdentityProvider `json:"htpasswd,omitempty"` + + // keystone enables user authentication using keystone password credentials + // +optional + Keystone *KeystoneIdentityProvider `json:"keystone,omitempty"` + + // ldap enables user authentication using LDAP credentials + // +optional + LDAP *LDAPIdentityProvider `json:"ldap,omitempty"` + + // openID enables user authentication using OpenID credentials + // +optional + OpenID *OpenIDIdentityProvider `json:"openID,omitempty"` + + // requestHeader enables user authentication using request header credentials + // +optional + RequestHeader *RequestHeaderIdentityProvider `json:"requestHeader,omitempty"` +} + +// BasicAuthPasswordIdentityProvider provides identities for users authenticating using HTTP basic auth credentials +type BasicAuthIdentityProvider struct { + // OAuthRemoteConnectionInfo contains information about how to connect to the external basic auth server + OAuthRemoteConnectionInfo `json:",inline"` +} + +// OAuthRemoteConnectionInfo holds information necessary for establishing a remote connection +type OAuthRemoteConnectionInfo struct { + // url is the remote URL to connect to + URL string `json:"url"` + + // ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. + // It is used as a trust anchor to validate the TLS certificate presented by the remote server. + // The key "ca.crt" is used to locate the data. + // If specified and the config map or expected key is not found, the identity provider is not honored. + // If the specified ca data is not valid, the identity provider is not honored. + // If empty, the default system roots are used. + // The namespace for this config map is openshift-config. + // +optional + CA ConfigMapNameReference `json:"ca"` + + // tlsClientCert is an optional reference to a secret by name that contains the + // PEM-encoded TLS client certificate to present when connecting to the server. + // The key "tls.crt" is used to locate the data. + // If specified and the secret or expected key is not found, the identity provider is not honored. + // If the specified certificate data is not valid, the identity provider is not honored. + // The namespace for this secret is openshift-config. + // +optional + TLSClientCert SecretNameReference `json:"tlsClientCert"` + + // tlsClientKey is an optional reference to a secret by name that contains the + // PEM-encoded TLS private key for the client certificate referenced in tlsClientCert. + // The key "tls.key" is used to locate the data. + // If specified and the secret or expected key is not found, the identity provider is not honored. + // If the specified certificate data is not valid, the identity provider is not honored. + // The namespace for this secret is openshift-config. + // +optional + TLSClientKey SecretNameReference `json:"tlsClientKey"` +} + +// HTPasswdPasswordIdentityProvider provides identities for users authenticating using htpasswd credentials +type HTPasswdIdentityProvider struct { + // fileData is a required reference to a secret by name containing the data to use as the htpasswd file. + // The key "htpasswd" is used to locate the data. + // If the secret or expected key is not found, the identity provider is not honored. + // If the specified htpasswd data is not valid, the identity provider is not honored. + // The namespace for this secret is openshift-config. + FileData SecretNameReference `json:"fileData"` +} + +// LDAPPasswordIdentityProvider provides identities for users authenticating using LDAP credentials +type LDAPIdentityProvider struct { + // url is an RFC 2255 URL which specifies the LDAP search parameters to use. + // The syntax of the URL is: + // ldap://host:port/basedn?attribute?scope?filter + URL string `json:"url"` + + // bindDN is an optional DN to bind with during the search phase. + // +optional + BindDN string `json:"bindDN"` + + // bindPassword is an optional reference to a secret by name + // containing a password to bind with during the search phase. + // The key "bindPassword" is used to locate the data. + // If specified and the secret or expected key is not found, the identity provider is not honored. + // The namespace for this secret is openshift-config. + // +optional + BindPassword SecretNameReference `json:"bindPassword"` + + // insecure, if true, indicates the connection should not use TLS + // WARNING: Should not be set to `true` with the URL scheme "ldaps://" as "ldaps://" URLs always + // attempt to connect using TLS, even when `insecure` is set to `true` + // When `true`, "ldap://" URLS connect insecurely. When `false`, "ldap://" URLs are upgraded to + // a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830. + Insecure bool `json:"insecure"` + + // ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. + // It is used as a trust anchor to validate the TLS certificate presented by the remote server. + // The key "ca.crt" is used to locate the data. + // If specified and the config map or expected key is not found, the identity provider is not honored. + // If the specified ca data is not valid, the identity provider is not honored. + // If empty, the default system roots are used. + // The namespace for this config map is openshift-config. + // +optional + CA ConfigMapNameReference `json:"ca"` + + // attributes maps LDAP attributes to identities + Attributes LDAPAttributeMapping `json:"attributes"` +} + +// LDAPAttributeMapping maps LDAP attributes to OpenShift identity fields +type LDAPAttributeMapping struct { + // id is the list of attributes whose values should be used as the user ID. Required. + // First non-empty attribute is used. At least one attribute is required. If none of the listed + // attribute have a value, authentication fails. + // LDAP standard identity attribute is "dn" + ID []string `json:"id"` + + // preferredUsername is the list of attributes whose values should be used as the preferred username. + // LDAP standard login attribute is "uid" + // +optional + PreferredUsername []string `json:"preferredUsername"` + + // name is the list of attributes whose values should be used as the display name. Optional. + // If unspecified, no display name is set for the identity + // LDAP standard display name attribute is "cn" + // +optional + Name []string `json:"name"` + + // email is the list of attributes whose values should be used as the email address. Optional. + // If unspecified, no email is set for the identity + // +optional + Email []string `json:"email"` +} + +// KeystonePasswordIdentityProvider provides identities for users authenticating using keystone password credentials +type KeystoneIdentityProvider struct { + // OAuthRemoteConnectionInfo contains information about how to connect to the keystone server + OAuthRemoteConnectionInfo `json:",inline"` + + // domainName is required for keystone v3 + DomainName string `json:"domainName"` + + // useUsernameIdentity indicates that users should be authenticated by username, not keystone ID + // DEPRECATED - only use this option for legacy systems to ensure backwards compatibility + // +optional + UseUsernameIdentity bool `json:"useUsernameIdentity"` +} + +// RequestHeaderIdentityProvider provides identities for users authenticating using request header credentials +type RequestHeaderIdentityProvider struct { + // loginURL is a URL to redirect unauthenticated /authorize requests to + // Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here + // ${url} is replaced with the current URL, escaped to be safe in a query parameter + // https://www.example.com/sso-login?then=${url} + // ${query} is replaced with the current query string + // https://www.example.com/auth-proxy/oauth/authorize?${query} + // Required when login is set to true. + LoginURL string `json:"loginURL"` + + // challengeURL is a URL to redirect unauthenticated /authorize requests to + // Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be + // redirected here. + // ${url} is replaced with the current URL, escaped to be safe in a query parameter + // https://www.example.com/sso-login?then=${url} + // ${query} is replaced with the current query string + // https://www.example.com/auth-proxy/oauth/authorize?${query} + // Required when challenge is set to true. + ChallengeURL string `json:"challengeURL"` + + // ca is a required reference to a config map by name containing the PEM-encoded CA bundle. + // It is used as a trust anchor to validate the TLS certificate presented by the remote server. + // Specifically, it allows verification of incoming requests to prevent header spoofing. + // The key "ca.crt" is used to locate the data. + // If the config map or expected key is not found, the identity provider is not honored. + // If the specified ca data is not valid, the identity provider is not honored. + // The namespace for this config map is openshift-config. + ClientCA ConfigMapNameReference `json:"ca"` + + // clientCommonNames is an optional list of common names to require a match from. If empty, any + // client certificate validated against the clientCA bundle is considered authoritative. + // +optional + ClientCommonNames []string `json:"clientCommonNames"` + + // headers is the set of headers to check for identity information + Headers []string `json:"headers"` + + // preferredUsernameHeaders is the set of headers to check for the preferred username + PreferredUsernameHeaders []string `json:"preferredUsernameHeaders"` + + // nameHeaders is the set of headers to check for the display name + NameHeaders []string `json:"nameHeaders"` + + // emailHeaders is the set of headers to check for the email address + EmailHeaders []string `json:"emailHeaders"` +} + +// GitHubIdentityProvider provides identities for users authenticating using GitHub credentials +type GitHubIdentityProvider struct { + // clientID is the oauth client ID + ClientID string `json:"clientID"` + + // clientSecret is a required reference to the secret by name containing the oauth client secret. + // The key "clientSecret" is used to locate the data. + // If the secret or expected key is not found, the identity provider is not honored. + // The namespace for this secret is openshift-config. + ClientSecret SecretNameReference `json:"clientSecret"` + + // organizations optionally restricts which organizations are allowed to log in + // +optional + Organizations []string `json:"organizations"` + + // teams optionally restricts which teams are allowed to log in. Format is /. + // +optional + Teams []string `json:"teams"` + + // hostname is the optional domain (e.g. "mycompany.com") for use with a hosted instance of + // GitHub Enterprise. + // It must match the GitHub Enterprise settings value configured at /setup/settings#hostname. + // +optional + Hostname string `json:"hostname"` + + // ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. + // It is used as a trust anchor to validate the TLS certificate presented by the remote server. + // The key "ca.crt" is used to locate the data. + // If specified and the config map or expected key is not found, the identity provider is not honored. + // If the specified ca data is not valid, the identity provider is not honored. + // If empty, the default system roots are used. + // This can only be configured when hostname is set to a non-empty value. + // The namespace for this config map is openshift-config. + // +optional + CA ConfigMapNameReference `json:"ca"` +} + +// GitLabIdentityProvider provides identities for users authenticating using GitLab credentials +type GitLabIdentityProvider struct { + // clientID is the oauth client ID + ClientID string `json:"clientID"` + + // clientSecret is a required reference to the secret by name containing the oauth client secret. + // The key "clientSecret" is used to locate the data. + // If the secret or expected key is not found, the identity provider is not honored. + // The namespace for this secret is openshift-config. + ClientSecret SecretNameReference `json:"clientSecret"` + + // url is the oauth server base URL + URL string `json:"url"` + + // ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. + // It is used as a trust anchor to validate the TLS certificate presented by the remote server. + // The key "ca.crt" is used to locate the data. + // If specified and the config map or expected key is not found, the identity provider is not honored. + // If the specified ca data is not valid, the identity provider is not honored. + // If empty, the default system roots are used. + // The namespace for this config map is openshift-config. + // +optional + CA ConfigMapNameReference `json:"ca"` +} + +// GoogleIdentityProvider provides identities for users authenticating using Google credentials +type GoogleIdentityProvider struct { + // clientID is the oauth client ID + ClientID string `json:"clientID"` + + // clientSecret is a required reference to the secret by name containing the oauth client secret. + // The key "clientSecret" is used to locate the data. + // If the secret or expected key is not found, the identity provider is not honored. + // The namespace for this secret is openshift-config. + ClientSecret SecretNameReference `json:"clientSecret"` + + // hostedDomain is the optional Google App domain (e.g. "mycompany.com") to restrict logins to + // +optional + HostedDomain string `json:"hostedDomain"` +} + +// OpenIDIdentityProvider provides identities for users authenticating using OpenID credentials +type OpenIDIdentityProvider struct { + // clientID is the oauth client ID + ClientID string `json:"clientID"` + + // clientSecret is a required reference to the secret by name containing the oauth client secret. + // The key "clientSecret" is used to locate the data. + // If the secret or expected key is not found, the identity provider is not honored. + // The namespace for this secret is openshift-config. + ClientSecret SecretNameReference `json:"clientSecret"` + + // ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. + // It is used as a trust anchor to validate the TLS certificate presented by the remote server. + // The key "ca.crt" is used to locate the data. + // If specified and the config map or expected key is not found, the identity provider is not honored. + // If the specified ca data is not valid, the identity provider is not honored. + // If empty, the default system roots are used. + // The namespace for this config map is openshift-config. + // +optional + CA ConfigMapNameReference `json:"ca"` + + // extraScopes are any scopes to request in addition to the standard "openid" scope. + // +optional + ExtraScopes []string `json:"extraScopes"` + + // extraAuthorizeParameters are any custom parameters to add to the authorize request. + // +optional + ExtraAuthorizeParameters map[string]string `json:"extraAuthorizeParameters"` + + // urls to use to authenticate + URLs OpenIDURLs `json:"urls"` + + // claims mappings + Claims OpenIDClaims `json:"claims"` +} + +// OpenIDURLs are URLs to use when authenticating with an OpenID identity provider +type OpenIDURLs struct { + // authorize is the oauth authorization URL + Authorize string `json:"authorize"` + + // token is the oauth token granting URL + Token string `json:"token"` + + // userInfo is the optional userinfo URL. + // If present, a granted access_token is used to request claims + // If empty, a granted id_token is parsed for claims + // +optional + UserInfo string `json:"userInfo"` +} + +// UserIDClaim is the claim used to provide a stable identifier for OIDC identities. +// Per http://openid.net/specs/openid-connect-core-1_0.html#ClaimStability +// "The sub (subject) and iss (issuer) Claims, used together, are the only Claims that an RP can +// rely upon as a stable identifier for the End-User, since the sub Claim MUST be locally unique +// and never reassigned within the Issuer for a particular End-User, as described in Section 2. +// Therefore, the only guaranteed unique identifier for a given End-User is the combination of the +// iss Claim and the sub Claim." +const UserIDClaim = "sub" + +// OpenIDClaims contains a list of OpenID claims to use when authenticating with an OpenID identity provider +type OpenIDClaims struct { + // preferredUsername is the list of claims whose values should be used as the preferred username. + // If unspecified, the preferred username is determined from the value of the sub claim + // +optional + PreferredUsername []string `json:"preferredUsername"` + + // name is the list of claims whose values should be used as the display name. Optional. + // If unspecified, no display name is set for the identity + // +optional + Name []string `json:"name"` + + // email is the list of claims whose values should be used as the email address. Optional. + // If unspecified, no email is set for the identity + // +optional + Email []string `json:"email"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type OAuthList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + + Items []OAuth `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_project.go b/vendor/github.com/openshift/api/config/v1/types_project.go new file mode 100644 index 000000000..4280614fb --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_project.go @@ -0,0 +1,37 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Project holds cluster-wide information about Project. The canonical name is `cluster` +// TODO this object is an example of a possible grouping and is subject to change or removal +type Project struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec ProjectSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status ProjectStatus `json:"status"` +} + +type ProjectSpec struct { + // project request message + // project request template +} + +type ProjectStatus struct { +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type ProjectList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Project `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_proxy.go b/vendor/github.com/openshift/api/config/v1/types_proxy.go new file mode 100644 index 000000000..9ca18416b --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_proxy.go @@ -0,0 +1,37 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Proxy holds cluster-wide information on how to configure default proxies for the cluster. The canonical name is `cluster` +type Proxy struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + // Spec holds user-settable values for the proxy configuration + Spec ProxySpec `json:"spec"` +} + +type ProxySpec struct { + // httpProxy is the URL of the proxy for HTTP requests. Empty means unset and will not result in an env var. + HTTPProxy string `json:"httpProxy,omitempty"` + + // httpsProxy is the URL of the proxy for HTTPS requests. Empty means unset and will not result in an env var. + HTTPSProxy string `json:"httpsProxy,omitempty"` + + // noProxy is the list of domains for which the proxy should not be used. Empty means unset and will not result in an env var. + NoProxy string `json:"noProxy,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type ProxyList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Proxy `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/types_scheduling.go b/vendor/github.com/openshift/api/config/v1/types_scheduling.go new file mode 100644 index 000000000..603ed9054 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/types_scheduling.go @@ -0,0 +1,36 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Scheduling holds cluster-wide information about Scheduling. The canonical name is `cluster` +// TODO this object is an example of a possible grouping and is subject to change or removal +type Scheduling struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty"` + + // spec holds user settable values for configuration + Spec SchedulingSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + Status SchedulingStatus `json:"status"` +} + +type SchedulingSpec struct { + // default node selector (I would be happy to see this die....) +} + +type SchedulingStatus struct { +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type SchedulingList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + Items []Scheduling `json:"items"` +} diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..59f94e1f9 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go @@ -0,0 +1,2513 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdmissionPluginConfig) DeepCopyInto(out *AdmissionPluginConfig) { + *out = *in + in.Configuration.DeepCopyInto(&out.Configuration) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPluginConfig. +func (in *AdmissionPluginConfig) DeepCopy() *AdmissionPluginConfig { + if in == nil { + return nil + } + out := new(AdmissionPluginConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuditConfig) DeepCopyInto(out *AuditConfig) { + *out = *in + in.PolicyConfiguration.DeepCopyInto(&out.PolicyConfiguration) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditConfig. +func (in *AuditConfig) DeepCopy() *AuditConfig { + if in == nil { + return nil + } + out := new(AuditConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Authentication) DeepCopyInto(out *Authentication) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authentication. +func (in *Authentication) DeepCopy() *Authentication { + if in == nil { + return nil + } + out := new(Authentication) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Authentication) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthenticationList) DeepCopyInto(out *AuthenticationList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Authentication, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationList. +func (in *AuthenticationList) DeepCopy() *AuthenticationList { + if in == nil { + return nil + } + out := new(AuthenticationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AuthenticationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec) { + *out = *in + out.OAuthMetadata = in.OAuthMetadata + if in.WebhookTokenAuthenticators != nil { + in, out := &in.WebhookTokenAuthenticators, &out.WebhookTokenAuthenticators + *out = make([]WebhookTokenAuthenticator, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationSpec. +func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec { + if in == nil { + return nil + } + out := new(AuthenticationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuthenticationStatus) DeepCopyInto(out *AuthenticationStatus) { + *out = *in + out.IntegratedOAuthMetadata = in.IntegratedOAuthMetadata + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationStatus. +func (in *AuthenticationStatus) DeepCopy() *AuthenticationStatus { + if in == nil { + return nil + } + out := new(AuthenticationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicAuthIdentityProvider) DeepCopyInto(out *BasicAuthIdentityProvider) { + *out = *in + out.OAuthRemoteConnectionInfo = in.OAuthRemoteConnectionInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthIdentityProvider. +func (in *BasicAuthIdentityProvider) DeepCopy() *BasicAuthIdentityProvider { + if in == nil { + return nil + } + out := new(BasicAuthIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Build) DeepCopyInto(out *Build) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Build. +func (in *Build) DeepCopy() *Build { + if in == nil { + return nil + } + out := new(Build) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Build) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildDefaults) DeepCopyInto(out *BuildDefaults) { + *out = *in + if in.DefaultProxy != nil { + in, out := &in.DefaultProxy, &out.DefaultProxy + if *in == nil { + *out = nil + } else { + *out = new(ProxySpec) + **out = **in + } + } + if in.GitProxy != nil { + in, out := &in.GitProxy, &out.GitProxy + if *in == nil { + *out = nil + } else { + *out = new(ProxySpec) + **out = **in + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ImageLabels != nil { + in, out := &in.ImageLabels, &out.ImageLabels + *out = make([]ImageLabel, len(*in)) + copy(*out, *in) + } + in.Resources.DeepCopyInto(&out.Resources) + in.RegistriesConfig.DeepCopyInto(&out.RegistriesConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildDefaults. +func (in *BuildDefaults) DeepCopy() *BuildDefaults { + if in == nil { + return nil + } + out := new(BuildDefaults) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildList) DeepCopyInto(out *BuildList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Build, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildList. +func (in *BuildList) DeepCopy() *BuildList { + if in == nil { + return nil + } + out := new(BuildList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildOverrides) DeepCopyInto(out *BuildOverrides) { + *out = *in + if in.ImageLabels != nil { + in, out := &in.ImageLabels, &out.ImageLabels + *out = make([]ImageLabel, len(*in)) + copy(*out, *in) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]core_v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildOverrides. +func (in *BuildOverrides) DeepCopy() *BuildOverrides { + if in == nil { + return nil + } + out := new(BuildOverrides) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildSpec) DeepCopyInto(out *BuildSpec) { + *out = *in + out.AdditionalTrustedCA = in.AdditionalTrustedCA + in.BuildDefaults.DeepCopyInto(&out.BuildDefaults) + in.BuildOverrides.DeepCopyInto(&out.BuildOverrides) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildSpec. +func (in *BuildSpec) DeepCopy() *BuildSpec { + if in == nil { + return nil + } + out := new(BuildSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertInfo) DeepCopyInto(out *CertInfo) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertInfo. +func (in *CertInfo) DeepCopy() *CertInfo { + if in == nil { + return nil + } + out := new(CertInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientConnectionOverrides) DeepCopyInto(out *ClientConnectionOverrides) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConnectionOverrides. +func (in *ClientConnectionOverrides) DeepCopy() *ClientConnectionOverrides { + if in == nil { + return nil + } + out := new(ClientConnectionOverrides) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterNetworkEntry) DeepCopyInto(out *ClusterNetworkEntry) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkEntry. +func (in *ClusterNetworkEntry) DeepCopy() *ClusterNetworkEntry { + if in == nil { + return nil + } + out := new(ClusterNetworkEntry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterOperator) DeepCopyInto(out *ClusterOperator) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOperator. +func (in *ClusterOperator) DeepCopy() *ClusterOperator { + if in == nil { + return nil + } + out := new(ClusterOperator) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterOperator) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterOperatorList) DeepCopyInto(out *ClusterOperatorList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterOperator, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOperatorList. +func (in *ClusterOperatorList) DeepCopy() *ClusterOperatorList { + if in == nil { + return nil + } + out := new(ClusterOperatorList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterOperatorList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterOperatorSpec) DeepCopyInto(out *ClusterOperatorSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOperatorSpec. +func (in *ClusterOperatorSpec) DeepCopy() *ClusterOperatorSpec { + if in == nil { + return nil + } + out := new(ClusterOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterOperatorStatus) DeepCopyInto(out *ClusterOperatorStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]ClusterOperatorStatusCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.RelatedObjects != nil { + in, out := &in.RelatedObjects, &out.RelatedObjects + *out = make([]ObjectReference, len(*in)) + copy(*out, *in) + } + in.Extension.DeepCopyInto(&out.Extension) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOperatorStatus. +func (in *ClusterOperatorStatus) DeepCopy() *ClusterOperatorStatus { + if in == nil { + return nil + } + out := new(ClusterOperatorStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterOperatorStatusCondition) DeepCopyInto(out *ClusterOperatorStatusCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOperatorStatusCondition. +func (in *ClusterOperatorStatusCondition) DeepCopy() *ClusterOperatorStatusCondition { + if in == nil { + return nil + } + out := new(ClusterOperatorStatusCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterVersion) DeepCopyInto(out *ClusterVersion) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersion. +func (in *ClusterVersion) DeepCopy() *ClusterVersion { + if in == nil { + return nil + } + out := new(ClusterVersion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterVersion) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterVersionList) DeepCopyInto(out *ClusterVersionList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterVersion, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersionList. +func (in *ClusterVersionList) DeepCopy() *ClusterVersionList { + if in == nil { + return nil + } + out := new(ClusterVersionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterVersionList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterVersionSpec) DeepCopyInto(out *ClusterVersionSpec) { + *out = *in + if in.DesiredUpdate != nil { + in, out := &in.DesiredUpdate, &out.DesiredUpdate + if *in == nil { + *out = nil + } else { + *out = new(Update) + **out = **in + } + } + if in.Overrides != nil { + in, out := &in.Overrides, &out.Overrides + *out = make([]ComponentOverride, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersionSpec. +func (in *ClusterVersionSpec) DeepCopy() *ClusterVersionSpec { + if in == nil { + return nil + } + out := new(ClusterVersionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterVersionStatus) DeepCopyInto(out *ClusterVersionStatus) { + *out = *in + out.Desired = in.Desired + if in.History != nil { + in, out := &in.History, &out.History + *out = make([]UpdateHistory, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]ClusterOperatorStatusCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AvailableUpdates != nil { + in, out := &in.AvailableUpdates, &out.AvailableUpdates + *out = make([]Update, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersionStatus. +func (in *ClusterVersionStatus) DeepCopy() *ClusterVersionStatus { + if in == nil { + return nil + } + out := new(ClusterVersionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ComponentOverride) DeepCopyInto(out *ComponentOverride) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentOverride. +func (in *ComponentOverride) DeepCopy() *ComponentOverride { + if in == nil { + return nil + } + out := new(ComponentOverride) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMapFileReference) DeepCopyInto(out *ConfigMapFileReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapFileReference. +func (in *ConfigMapFileReference) DeepCopy() *ConfigMapFileReference { + if in == nil { + return nil + } + out := new(ConfigMapFileReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMapNameReference) DeepCopyInto(out *ConfigMapNameReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapNameReference. +func (in *ConfigMapNameReference) DeepCopy() *ConfigMapNameReference { + if in == nil { + return nil + } + out := new(ConfigMapNameReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Console) DeepCopyInto(out *Console) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Console. +func (in *Console) DeepCopy() *Console { + if in == nil { + return nil + } + out := new(Console) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Console) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsoleList) DeepCopyInto(out *ConsoleList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Console, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleList. +func (in *ConsoleList) DeepCopy() *ConsoleList { + if in == nil { + return nil + } + out := new(ConsoleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConsoleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsoleSpec) DeepCopyInto(out *ConsoleSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSpec. +func (in *ConsoleSpec) DeepCopy() *ConsoleSpec { + if in == nil { + return nil + } + out := new(ConsoleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsoleStatus) DeepCopyInto(out *ConsoleStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleStatus. +func (in *ConsoleStatus) DeepCopy() *ConsoleStatus { + if in == nil { + return nil + } + out := new(ConsoleStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNS) DeepCopyInto(out *DNS) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS. +func (in *DNS) DeepCopy() *DNS { + if in == nil { + return nil + } + out := new(DNS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DNS) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSList) DeepCopyInto(out *DNSList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]DNS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSList. +func (in *DNSList) DeepCopy() *DNSList { + if in == nil { + return nil + } + out := new(DNSList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DNSList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSSpec) DeepCopyInto(out *DNSSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSpec. +func (in *DNSSpec) DeepCopy() *DNSSpec { + if in == nil { + return nil + } + out := new(DNSSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSStatus) DeepCopyInto(out *DNSStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSStatus. +func (in *DNSStatus) DeepCopy() *DNSStatus { + if in == nil { + return nil + } + out := new(DNSStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedAuthentication) DeepCopyInto(out *DelegatedAuthentication) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedAuthentication. +func (in *DelegatedAuthentication) DeepCopy() *DelegatedAuthentication { + if in == nil { + return nil + } + out := new(DelegatedAuthentication) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedAuthorization) DeepCopyInto(out *DelegatedAuthorization) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedAuthorization. +func (in *DelegatedAuthorization) DeepCopy() *DelegatedAuthorization { + if in == nil { + return nil + } + out := new(DelegatedAuthorization) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdConnectionInfo) DeepCopyInto(out *EtcdConnectionInfo) { + *out = *in + if in.URLs != nil { + in, out := &in.URLs, &out.URLs + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdConnectionInfo. +func (in *EtcdConnectionInfo) DeepCopy() *EtcdConnectionInfo { + if in == nil { + return nil + } + out := new(EtcdConnectionInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdStorageConfig) DeepCopyInto(out *EtcdStorageConfig) { + *out = *in + in.EtcdConnectionInfo.DeepCopyInto(&out.EtcdConnectionInfo) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdStorageConfig. +func (in *EtcdStorageConfig) DeepCopy() *EtcdStorageConfig { + if in == nil { + return nil + } + out := new(EtcdStorageConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenericAPIServerConfig) DeepCopyInto(out *GenericAPIServerConfig) { + *out = *in + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + if in.CORSAllowedOrigins != nil { + in, out := &in.CORSAllowedOrigins, &out.CORSAllowedOrigins + *out = make([]string, len(*in)) + copy(*out, *in) + } + in.AuditConfig.DeepCopyInto(&out.AuditConfig) + in.StorageConfig.DeepCopyInto(&out.StorageConfig) + if in.AdmissionPluginConfig != nil { + in, out := &in.AdmissionPluginConfig, &out.AdmissionPluginConfig + *out = make(map[string]AdmissionPluginConfig, len(*in)) + for key, val := range *in { + newVal := new(AdmissionPluginConfig) + val.DeepCopyInto(newVal) + (*out)[key] = *newVal + } + } + out.KubeClientConfig = in.KubeClientConfig + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericAPIServerConfig. +func (in *GenericAPIServerConfig) DeepCopy() *GenericAPIServerConfig { + if in == nil { + return nil + } + out := new(GenericAPIServerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenericControllerConfig) DeepCopyInto(out *GenericControllerConfig) { + *out = *in + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + out.LeaderElection = in.LeaderElection + out.Authentication = in.Authentication + out.Authorization = in.Authorization + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericControllerConfig. +func (in *GenericControllerConfig) DeepCopy() *GenericControllerConfig { + if in == nil { + return nil + } + out := new(GenericControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitHubIdentityProvider) DeepCopyInto(out *GitHubIdentityProvider) { + *out = *in + out.ClientSecret = in.ClientSecret + if in.Organizations != nil { + in, out := &in.Organizations, &out.Organizations + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Teams != nil { + in, out := &in.Teams, &out.Teams + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.CA = in.CA + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubIdentityProvider. +func (in *GitHubIdentityProvider) DeepCopy() *GitHubIdentityProvider { + if in == nil { + return nil + } + out := new(GitHubIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitLabIdentityProvider) DeepCopyInto(out *GitLabIdentityProvider) { + *out = *in + out.ClientSecret = in.ClientSecret + out.CA = in.CA + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabIdentityProvider. +func (in *GitLabIdentityProvider) DeepCopy() *GitLabIdentityProvider { + if in == nil { + return nil + } + out := new(GitLabIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoogleIdentityProvider) DeepCopyInto(out *GoogleIdentityProvider) { + *out = *in + out.ClientSecret = in.ClientSecret + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoogleIdentityProvider. +func (in *GoogleIdentityProvider) DeepCopy() *GoogleIdentityProvider { + if in == nil { + return nil + } + out := new(GoogleIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTPasswdIdentityProvider) DeepCopyInto(out *HTPasswdIdentityProvider) { + *out = *in + out.FileData = in.FileData + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTPasswdIdentityProvider. +func (in *HTPasswdIdentityProvider) DeepCopy() *HTPasswdIdentityProvider { + if in == nil { + return nil + } + out := new(HTPasswdIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPServingInfo) DeepCopyInto(out *HTTPServingInfo) { + *out = *in + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPServingInfo. +func (in *HTTPServingInfo) DeepCopy() *HTTPServingInfo { + if in == nil { + return nil + } + out := new(HTTPServingInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityProvider) DeepCopyInto(out *IdentityProvider) { + *out = *in + in.IdentityProviderConfig.DeepCopyInto(&out.IdentityProviderConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProvider. +func (in *IdentityProvider) DeepCopy() *IdentityProvider { + if in == nil { + return nil + } + out := new(IdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityProviderConfig) DeepCopyInto(out *IdentityProviderConfig) { + *out = *in + if in.BasicAuth != nil { + in, out := &in.BasicAuth, &out.BasicAuth + if *in == nil { + *out = nil + } else { + *out = new(BasicAuthIdentityProvider) + **out = **in + } + } + if in.GitHub != nil { + in, out := &in.GitHub, &out.GitHub + if *in == nil { + *out = nil + } else { + *out = new(GitHubIdentityProvider) + (*in).DeepCopyInto(*out) + } + } + if in.GitLab != nil { + in, out := &in.GitLab, &out.GitLab + if *in == nil { + *out = nil + } else { + *out = new(GitLabIdentityProvider) + **out = **in + } + } + if in.Google != nil { + in, out := &in.Google, &out.Google + if *in == nil { + *out = nil + } else { + *out = new(GoogleIdentityProvider) + **out = **in + } + } + if in.HTPasswd != nil { + in, out := &in.HTPasswd, &out.HTPasswd + if *in == nil { + *out = nil + } else { + *out = new(HTPasswdIdentityProvider) + **out = **in + } + } + if in.Keystone != nil { + in, out := &in.Keystone, &out.Keystone + if *in == nil { + *out = nil + } else { + *out = new(KeystoneIdentityProvider) + **out = **in + } + } + if in.LDAP != nil { + in, out := &in.LDAP, &out.LDAP + if *in == nil { + *out = nil + } else { + *out = new(LDAPIdentityProvider) + (*in).DeepCopyInto(*out) + } + } + if in.OpenID != nil { + in, out := &in.OpenID, &out.OpenID + if *in == nil { + *out = nil + } else { + *out = new(OpenIDIdentityProvider) + (*in).DeepCopyInto(*out) + } + } + if in.RequestHeader != nil { + in, out := &in.RequestHeader, &out.RequestHeader + if *in == nil { + *out = nil + } else { + *out = new(RequestHeaderIdentityProvider) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProviderConfig. +func (in *IdentityProviderConfig) DeepCopy() *IdentityProviderConfig { + if in == nil { + return nil + } + out := new(IdentityProviderConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Image) DeepCopyInto(out *Image) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image. +func (in *Image) DeepCopy() *Image { + if in == nil { + return nil + } + out := new(Image) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Image) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageLabel) DeepCopyInto(out *ImageLabel) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageLabel. +func (in *ImageLabel) DeepCopy() *ImageLabel { + if in == nil { + return nil + } + out := new(ImageLabel) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageList) DeepCopyInto(out *ImageList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Image, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageList. +func (in *ImageList) DeepCopy() *ImageList { + if in == nil { + return nil + } + out := new(ImageList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageSpec) DeepCopyInto(out *ImageSpec) { + *out = *in + if in.AllowedRegistriesForImport != nil { + in, out := &in.AllowedRegistriesForImport, &out.AllowedRegistriesForImport + *out = make([]RegistryLocation, len(*in)) + copy(*out, *in) + } + if in.ExternalRegistryHostnames != nil { + in, out := &in.ExternalRegistryHostnames, &out.ExternalRegistryHostnames + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.AdditionalTrustedCA = in.AdditionalTrustedCA + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec. +func (in *ImageSpec) DeepCopy() *ImageSpec { + if in == nil { + return nil + } + out := new(ImageSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStatus) DeepCopyInto(out *ImageStatus) { + *out = *in + if in.ExternalRegistryHostnames != nil { + in, out := &in.ExternalRegistryHostnames, &out.ExternalRegistryHostnames + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStatus. +func (in *ImageStatus) DeepCopy() *ImageStatus { + if in == nil { + return nil + } + out := new(ImageStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Infrastructure) DeepCopyInto(out *Infrastructure) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Infrastructure. +func (in *Infrastructure) DeepCopy() *Infrastructure { + if in == nil { + return nil + } + out := new(Infrastructure) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Infrastructure) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfrastructureList) DeepCopyInto(out *InfrastructureList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Infrastructure, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfrastructureList. +func (in *InfrastructureList) DeepCopy() *InfrastructureList { + if in == nil { + return nil + } + out := new(InfrastructureList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *InfrastructureList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfrastructureSpec) DeepCopyInto(out *InfrastructureSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfrastructureSpec. +func (in *InfrastructureSpec) DeepCopy() *InfrastructureSpec { + if in == nil { + return nil + } + out := new(InfrastructureSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InfrastructureStatus) DeepCopyInto(out *InfrastructureStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfrastructureStatus. +func (in *InfrastructureStatus) DeepCopy() *InfrastructureStatus { + if in == nil { + return nil + } + out := new(InfrastructureStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Ingress) DeepCopyInto(out *Ingress) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress. +func (in *Ingress) DeepCopy() *Ingress { + if in == nil { + return nil + } + out := new(Ingress) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Ingress) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressList) DeepCopyInto(out *IngressList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Ingress, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressList. +func (in *IngressList) DeepCopy() *IngressList { + if in == nil { + return nil + } + out := new(IngressList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IngressList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressSpec) DeepCopyInto(out *IngressSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSpec. +func (in *IngressSpec) DeepCopy() *IngressSpec { + if in == nil { + return nil + } + out := new(IngressSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressStatus) DeepCopyInto(out *IngressStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressStatus. +func (in *IngressStatus) DeepCopy() *IngressStatus { + if in == nil { + return nil + } + out := new(IngressStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeystoneIdentityProvider) DeepCopyInto(out *KeystoneIdentityProvider) { + *out = *in + out.OAuthRemoteConnectionInfo = in.OAuthRemoteConnectionInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeystoneIdentityProvider. +func (in *KeystoneIdentityProvider) DeepCopy() *KeystoneIdentityProvider { + if in == nil { + return nil + } + out := new(KeystoneIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeClientConfig) DeepCopyInto(out *KubeClientConfig) { + *out = *in + out.ConnectionOverrides = in.ConnectionOverrides + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeClientConfig. +func (in *KubeClientConfig) DeepCopy() *KubeClientConfig { + if in == nil { + return nil + } + out := new(KubeClientConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPAttributeMapping) DeepCopyInto(out *LDAPAttributeMapping) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsername != nil { + in, out := &in.PreferredUsername, &out.PreferredUsername + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPAttributeMapping. +func (in *LDAPAttributeMapping) DeepCopy() *LDAPAttributeMapping { + if in == nil { + return nil + } + out := new(LDAPAttributeMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPIdentityProvider) DeepCopyInto(out *LDAPIdentityProvider) { + *out = *in + out.BindPassword = in.BindPassword + out.CA = in.CA + in.Attributes.DeepCopyInto(&out.Attributes) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPIdentityProvider. +func (in *LDAPIdentityProvider) DeepCopy() *LDAPIdentityProvider { + if in == nil { + return nil + } + out := new(LDAPIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LeaderElection) DeepCopyInto(out *LeaderElection) { + *out = *in + out.LeaseDuration = in.LeaseDuration + out.RenewDeadline = in.RenewDeadline + out.RetryPeriod = in.RetryPeriod + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaderElection. +func (in *LeaderElection) DeepCopy() *LeaderElection { + if in == nil { + return nil + } + out := new(LeaderElection) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedCertificate) DeepCopyInto(out *NamedCertificate) { + *out = *in + if in.Names != nil { + in, out := &in.Names, &out.Names + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedCertificate. +func (in *NamedCertificate) DeepCopy() *NamedCertificate { + if in == nil { + return nil + } + out := new(NamedCertificate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Network) DeepCopyInto(out *Network) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network. +func (in *Network) DeepCopy() *Network { + if in == nil { + return nil + } + out := new(Network) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Network) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkList) DeepCopyInto(out *NetworkList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Network, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkList. +func (in *NetworkList) DeepCopy() *NetworkList { + if in == nil { + return nil + } + out := new(NetworkList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetworkList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec) { + *out = *in + if in.ClusterNetwork != nil { + in, out := &in.ClusterNetwork, &out.ClusterNetwork + *out = make([]ClusterNetworkEntry, len(*in)) + copy(*out, *in) + } + if in.ServiceNetwork != nil { + in, out := &in.ServiceNetwork, &out.ServiceNetwork + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec. +func (in *NetworkSpec) DeepCopy() *NetworkSpec { + if in == nil { + return nil + } + out := new(NetworkSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus) { + *out = *in + if in.ClusterNetwork != nil { + in, out := &in.ClusterNetwork, &out.ClusterNetwork + *out = make([]ClusterNetworkEntry, len(*in)) + copy(*out, *in) + } + if in.ServiceNetwork != nil { + in, out := &in.ServiceNetwork, &out.ServiceNetwork + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus. +func (in *NetworkStatus) DeepCopy() *NetworkStatus { + if in == nil { + return nil + } + out := new(NetworkStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuth) DeepCopyInto(out *OAuth) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth. +func (in *OAuth) DeepCopy() *OAuth { + if in == nil { + return nil + } + out := new(OAuth) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuth) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthList) DeepCopyInto(out *OAuthList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OAuth, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthList. +func (in *OAuthList) DeepCopy() *OAuthList { + if in == nil { + return nil + } + out := new(OAuthList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthRemoteConnectionInfo) DeepCopyInto(out *OAuthRemoteConnectionInfo) { + *out = *in + out.CA = in.CA + out.TLSClientCert = in.TLSClientCert + out.TLSClientKey = in.TLSClientKey + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthRemoteConnectionInfo. +func (in *OAuthRemoteConnectionInfo) DeepCopy() *OAuthRemoteConnectionInfo { + if in == nil { + return nil + } + out := new(OAuthRemoteConnectionInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthSpec) DeepCopyInto(out *OAuthSpec) { + *out = *in + if in.IdentityProviders != nil { + in, out := &in.IdentityProviders, &out.IdentityProviders + *out = make([]IdentityProvider, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + out.TokenConfig = in.TokenConfig + out.Templates = in.Templates + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthSpec. +func (in *OAuthSpec) DeepCopy() *OAuthSpec { + if in == nil { + return nil + } + out := new(OAuthSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthStatus) DeepCopyInto(out *OAuthStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthStatus. +func (in *OAuthStatus) DeepCopy() *OAuthStatus { + if in == nil { + return nil + } + out := new(OAuthStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthTemplates) DeepCopyInto(out *OAuthTemplates) { + *out = *in + out.Login = in.Login + out.ProviderSelection = in.ProviderSelection + out.Error = in.Error + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthTemplates. +func (in *OAuthTemplates) DeepCopy() *OAuthTemplates { + if in == nil { + return nil + } + out := new(OAuthTemplates) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ObjectReference) DeepCopyInto(out *ObjectReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference. +func (in *ObjectReference) DeepCopy() *ObjectReference { + if in == nil { + return nil + } + out := new(ObjectReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDClaims) DeepCopyInto(out *OpenIDClaims) { + *out = *in + if in.PreferredUsername != nil { + in, out := &in.PreferredUsername, &out.PreferredUsername + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDClaims. +func (in *OpenIDClaims) DeepCopy() *OpenIDClaims { + if in == nil { + return nil + } + out := new(OpenIDClaims) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDIdentityProvider) DeepCopyInto(out *OpenIDIdentityProvider) { + *out = *in + out.ClientSecret = in.ClientSecret + out.CA = in.CA + if in.ExtraScopes != nil { + in, out := &in.ExtraScopes, &out.ExtraScopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExtraAuthorizeParameters != nil { + in, out := &in.ExtraAuthorizeParameters, &out.ExtraAuthorizeParameters + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.URLs = in.URLs + in.Claims.DeepCopyInto(&out.Claims) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDIdentityProvider. +func (in *OpenIDIdentityProvider) DeepCopy() *OpenIDIdentityProvider { + if in == nil { + return nil + } + out := new(OpenIDIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDURLs) DeepCopyInto(out *OpenIDURLs) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDURLs. +func (in *OpenIDURLs) DeepCopy() *OpenIDURLs { + if in == nil { + return nil + } + out := new(OpenIDURLs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Project) DeepCopyInto(out *Project) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project. +func (in *Project) DeepCopy() *Project { + if in == nil { + return nil + } + out := new(Project) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Project) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectList) DeepCopyInto(out *ProjectList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Project, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList. +func (in *ProjectList) DeepCopy() *ProjectList { + if in == nil { + return nil + } + out := new(ProjectList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec. +func (in *ProjectSpec) DeepCopy() *ProjectSpec { + if in == nil { + return nil + } + out := new(ProjectSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus. +func (in *ProjectStatus) DeepCopy() *ProjectStatus { + if in == nil { + return nil + } + out := new(ProjectStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Proxy) DeepCopyInto(out *Proxy) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy. +func (in *Proxy) DeepCopy() *Proxy { + if in == nil { + return nil + } + out := new(Proxy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Proxy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProxyList) DeepCopyInto(out *ProxyList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Proxy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyList. +func (in *ProxyList) DeepCopy() *ProxyList { + if in == nil { + return nil + } + out := new(ProxyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProxyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProxySpec) DeepCopyInto(out *ProxySpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySpec. +func (in *ProxySpec) DeepCopy() *ProxySpec { + if in == nil { + return nil + } + out := new(ProxySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistriesConfig) DeepCopyInto(out *RegistriesConfig) { + *out = *in + if in.SearchRegistries != nil { + in, out := &in.SearchRegistries, &out.SearchRegistries + if *in == nil { + *out = nil + } else { + *out = new([]string) + if **in != nil { + in, out := *in, *out + *out = make([]string, len(*in)) + copy(*out, *in) + } + } + } + if in.InsecureRegistries != nil { + in, out := &in.InsecureRegistries, &out.InsecureRegistries + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.BlockedRegistries != nil { + in, out := &in.BlockedRegistries, &out.BlockedRegistries + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedRegistries != nil { + in, out := &in.AllowedRegistries, &out.AllowedRegistries + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistriesConfig. +func (in *RegistriesConfig) DeepCopy() *RegistriesConfig { + if in == nil { + return nil + } + out := new(RegistriesConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryLocation) DeepCopyInto(out *RegistryLocation) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryLocation. +func (in *RegistryLocation) DeepCopy() *RegistryLocation { + if in == nil { + return nil + } + out := new(RegistryLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RemoteConnectionInfo) DeepCopyInto(out *RemoteConnectionInfo) { + *out = *in + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteConnectionInfo. +func (in *RemoteConnectionInfo) DeepCopy() *RemoteConnectionInfo { + if in == nil { + return nil + } + out := new(RemoteConnectionInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderIdentityProvider) DeepCopyInto(out *RequestHeaderIdentityProvider) { + *out = *in + out.ClientCA = in.ClientCA + if in.ClientCommonNames != nil { + in, out := &in.ClientCommonNames, &out.ClientCommonNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsernameHeaders != nil { + in, out := &in.PreferredUsernameHeaders, &out.PreferredUsernameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.NameHeaders != nil { + in, out := &in.NameHeaders, &out.NameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.EmailHeaders != nil { + in, out := &in.EmailHeaders, &out.EmailHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderIdentityProvider. +func (in *RequestHeaderIdentityProvider) DeepCopy() *RequestHeaderIdentityProvider { + if in == nil { + return nil + } + out := new(RequestHeaderIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Scheduling) DeepCopyInto(out *Scheduling) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Scheduling. +func (in *Scheduling) DeepCopy() *Scheduling { + if in == nil { + return nil + } + out := new(Scheduling) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Scheduling) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingList) DeepCopyInto(out *SchedulingList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Scheduling, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingList. +func (in *SchedulingList) DeepCopy() *SchedulingList { + if in == nil { + return nil + } + out := new(SchedulingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SchedulingList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingSpec) DeepCopyInto(out *SchedulingSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpec. +func (in *SchedulingSpec) DeepCopy() *SchedulingSpec { + if in == nil { + return nil + } + out := new(SchedulingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SchedulingStatus) DeepCopyInto(out *SchedulingStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingStatus. +func (in *SchedulingStatus) DeepCopy() *SchedulingStatus { + if in == nil { + return nil + } + out := new(SchedulingStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretNameReference) DeepCopyInto(out *SecretNameReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretNameReference. +func (in *SecretNameReference) DeepCopy() *SecretNameReference { + if in == nil { + return nil + } + out := new(SecretNameReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServingInfo) DeepCopyInto(out *ServingInfo) { + *out = *in + out.CertInfo = in.CertInfo + if in.NamedCertificates != nil { + in, out := &in.NamedCertificates, &out.NamedCertificates + *out = make([]NamedCertificate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CipherSuites != nil { + in, out := &in.CipherSuites, &out.CipherSuites + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServingInfo. +func (in *ServingInfo) DeepCopy() *ServingInfo { + if in == nil { + return nil + } + out := new(ServingInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StringSource) DeepCopyInto(out *StringSource) { + *out = *in + out.StringSourceSpec = in.StringSourceSpec + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringSource. +func (in *StringSource) DeepCopy() *StringSource { + if in == nil { + return nil + } + out := new(StringSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StringSourceSpec) DeepCopyInto(out *StringSourceSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringSourceSpec. +func (in *StringSourceSpec) DeepCopy() *StringSourceSpec { + if in == nil { + return nil + } + out := new(StringSourceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenConfig) DeepCopyInto(out *TokenConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenConfig. +func (in *TokenConfig) DeepCopy() *TokenConfig { + if in == nil { + return nil + } + out := new(TokenConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Update) DeepCopyInto(out *Update) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Update. +func (in *Update) DeepCopy() *Update { + if in == nil { + return nil + } + out := new(Update) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpdateHistory) DeepCopyInto(out *UpdateHistory) { + *out = *in + in.StartedTime.DeepCopyInto(&out.StartedTime) + if in.CompletionTime != nil { + in, out := &in.CompletionTime, &out.CompletionTime + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateHistory. +func (in *UpdateHistory) DeepCopy() *UpdateHistory { + if in == nil { + return nil + } + out := new(UpdateHistory) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebhookTokenAuthenticator) DeepCopyInto(out *WebhookTokenAuthenticator) { + *out = *in + out.KubeConfig = in.KubeConfig + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookTokenAuthenticator. +func (in *WebhookTokenAuthenticator) DeepCopy() *WebhookTokenAuthenticator { + if in == nil { + return nil + } + out := new(WebhookTokenAuthenticator) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..0a76c2f72 --- /dev/null +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,994 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_AdmissionPluginConfig = map[string]string{ + "": "AdmissionPluginConfig holds the necessary configuration options for admission plugins", + "location": "Location is the path to a configuration file that contains the plugin's configuration", + "configuration": "Configuration is an embedded configuration object to be used as the plugin's configuration. If present, it will be used instead of the path to the configuration file.", +} + +func (AdmissionPluginConfig) SwaggerDoc() map[string]string { + return map_AdmissionPluginConfig +} + +var map_AuditConfig = map[string]string{ + "": "AuditConfig holds configuration for the audit capabilities", + "enabled": "If this flag is set, audit log will be printed in the logs. The logs contains, method, user and a requested URL.", + "auditFilePath": "All requests coming to the apiserver will be logged to this file.", + "maximumFileRetentionDays": "Maximum number of days to retain old log files based on the timestamp encoded in their filename.", + "maximumRetainedFiles": "Maximum number of old log files to retain.", + "maximumFileSizeMegabytes": "Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB.", + "policyFile": "PolicyFile is a path to the file that defines the audit policy configuration.", + "policyConfiguration": "PolicyConfiguration is an embedded policy configuration object to be used as the audit policy configuration. If present, it will be used instead of the path to the policy file.", + "logFormat": "Format of saved audits (legacy or json).", + "webHookKubeConfig": "Path to a .kubeconfig formatted file that defines the audit webhook configuration.", + "webHookMode": "Strategy for sending audit events (block or batch).", +} + +func (AuditConfig) SwaggerDoc() map[string]string { + return map_AuditConfig +} + +var map_CertInfo = map[string]string{ + "": "CertInfo relates a certificate with a private key", + "certFile": "CertFile is a file containing a PEM-encoded certificate", + "keyFile": "KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile", +} + +func (CertInfo) SwaggerDoc() map[string]string { + return map_CertInfo +} + +var map_ClientConnectionOverrides = map[string]string{ + "acceptContentTypes": "acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the default value of 'application/json'. This field will control all connections to the server used by a particular client.", + "contentType": "contentType is the content type used when sending data to the server from this client.", + "qps": "qps controls the number of queries per second allowed for this connection.", + "burst": "burst allows extra queries to accumulate when a client is exceeding its rate.", +} + +func (ClientConnectionOverrides) SwaggerDoc() map[string]string { + return map_ClientConnectionOverrides +} + +var map_ConfigMapFileReference = map[string]string{ + "": "ConfigMapFileReference references a config map in a specific namespace. The namespace must be specified at the point of use.", + "key": "Key allows pointing to a specific key/value inside of the configmap. This is useful for logical file references.", +} + +func (ConfigMapFileReference) SwaggerDoc() map[string]string { + return map_ConfigMapFileReference +} + +var map_ConfigMapNameReference = map[string]string{ + "": "ConfigMapNameReference references a config map in a specific namespace. The namespace must be specified at the point of use.", + "name": "name is the metadata.name of the referenced config map", +} + +func (ConfigMapNameReference) SwaggerDoc() map[string]string { + return map_ConfigMapNameReference +} + +var map_DelegatedAuthentication = map[string]string{ + "": "DelegatedAuthentication allows authentication to be disabled.", + "disabled": "disabled indicates that authentication should be disabled. By default it will use delegated authentication.", +} + +func (DelegatedAuthentication) SwaggerDoc() map[string]string { + return map_DelegatedAuthentication +} + +var map_DelegatedAuthorization = map[string]string{ + "": "DelegatedAuthorization allows authorization to be disabled.", + "disabled": "disabled indicates that authorization should be disabled. By default it will use delegated authorization.", +} + +func (DelegatedAuthorization) SwaggerDoc() map[string]string { + return map_DelegatedAuthorization +} + +var map_EtcdConnectionInfo = map[string]string{ + "": "EtcdConnectionInfo holds information necessary for connecting to an etcd server", + "urls": "URLs are the URLs for etcd", + "ca": "CA is a file containing trusted roots for the etcd server certificates", +} + +func (EtcdConnectionInfo) SwaggerDoc() map[string]string { + return map_EtcdConnectionInfo +} + +var map_EtcdStorageConfig = map[string]string{ + "storagePrefix": "StoragePrefix is the path within etcd that the OpenShift resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located.", +} + +func (EtcdStorageConfig) SwaggerDoc() map[string]string { + return map_EtcdStorageConfig +} + +var map_GenericAPIServerConfig = map[string]string{ + "": "GenericAPIServerConfig is an inline-able struct for aggregated apiservers that need to store data in etcd", + "servingInfo": "ServingInfo describes how to start serving", + "corsAllowedOrigins": "CORSAllowedOrigins", + "auditConfig": "AuditConfig describes how to configure audit information", + "storageConfig": "StorageConfig contains information about how to use", +} + +func (GenericAPIServerConfig) SwaggerDoc() map[string]string { + return map_GenericAPIServerConfig +} + +var map_GenericControllerConfig = map[string]string{ + "": "GenericControllerConfig provides information to configure a controller", + "servingInfo": "ServingInfo is the HTTP serving information for the controller's endpoints", + "leaderElection": "leaderElection provides information to elect a leader. Only override this if you have a specific need", + "authentication": "authentication allows configuration of authentication for the endpoints", + "authorization": "authorization allows configuration of authentication for the endpoints", +} + +func (GenericControllerConfig) SwaggerDoc() map[string]string { + return map_GenericControllerConfig +} + +var map_HTTPServingInfo = map[string]string{ + "": "HTTPServingInfo holds configuration for serving HTTP", + "maxRequestsInFlight": "MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit.", + "requestTimeoutSeconds": "RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if -1 there is no limit on requests.", +} + +func (HTTPServingInfo) SwaggerDoc() map[string]string { + return map_HTTPServingInfo +} + +var map_KubeClientConfig = map[string]string{ + "kubeConfig": "kubeConfig is a .kubeconfig filename for going to the owning kube-apiserver. Empty uses an in-cluster-config", + "connectionOverrides": "connectionOverrides specifies client overrides for system components to loop back to this master.", +} + +func (KubeClientConfig) SwaggerDoc() map[string]string { + return map_KubeClientConfig +} + +var map_LeaderElection = map[string]string{ + "": "LeaderElection provides information to elect a leader", + "disable": "disable allows leader election to be suspended while allowing a fully defaulted \"normal\" startup case.", + "namespace": "namespace indicates which namespace the resource is in", + "name": "name indicates what name to use for the resource", + "leaseDuration": "leaseDuration is the duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.", + "renewDeadline": "renewDeadline is the interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.", + "retryPeriod": "retryPeriod is the duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.", +} + +func (LeaderElection) SwaggerDoc() map[string]string { + return map_LeaderElection +} + +var map_NamedCertificate = map[string]string{ + "": "NamedCertificate specifies a certificate/key, and the names it should be served for", + "names": "Names is a list of DNS names this certificate should be used to secure A name can be a normal DNS name, or can contain leading wildcard segments.", +} + +func (NamedCertificate) SwaggerDoc() map[string]string { + return map_NamedCertificate +} + +var map_RemoteConnectionInfo = map[string]string{ + "": "RemoteConnectionInfo holds information necessary for establishing a remote connection", + "url": "URL is the remote URL to connect to", + "ca": "CA is the CA for verifying TLS connections", +} + +func (RemoteConnectionInfo) SwaggerDoc() map[string]string { + return map_RemoteConnectionInfo +} + +var map_SecretNameReference = map[string]string{ + "": "SecretNameReference references a secret in a specific namespace. The namespace must be specified at the point of use.", + "name": "name is the metadata.name of the referenced secret", +} + +func (SecretNameReference) SwaggerDoc() map[string]string { + return map_SecretNameReference +} + +var map_ServingInfo = map[string]string{ + "": "ServingInfo holds information about serving web pages", + "bindAddress": "BindAddress is the ip:port to serve on", + "bindNetwork": "BindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", + "clientCA": "ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates", + "namedCertificates": "NamedCertificates is a list of certificates to use to secure requests to specific hostnames", + "minTLSVersion": "MinTLSVersion is the minimum TLS version supported. Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants", + "cipherSuites": "CipherSuites contains an overridden list of ciphers for the server to support. Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants", +} + +func (ServingInfo) SwaggerDoc() map[string]string { + return map_ServingInfo +} + +var map_StringSource = map[string]string{ + "": "StringSource allows specifying a string inline, or externally via env var or file. When it contains only a string value, it marshals to a simple JSON string.", +} + +func (StringSource) SwaggerDoc() map[string]string { + return map_StringSource +} + +var map_StringSourceSpec = map[string]string{ + "": "StringSourceSpec specifies a string value, or external location", + "value": "Value specifies the cleartext value, or an encrypted value if keyFile is specified.", + "env": "Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified.", + "file": "File references a file containing the cleartext value, or an encrypted value if a keyFile is specified.", + "keyFile": "KeyFile references a file containing the key to use to decrypt the value.", +} + +func (StringSourceSpec) SwaggerDoc() map[string]string { + return map_StringSourceSpec +} + +var map_Authentication = map[string]string{ + "": "Authentication holds cluster-wide information about Authentication. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Authentication) SwaggerDoc() map[string]string { + return map_Authentication +} + +var map_AuthenticationList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (AuthenticationList) SwaggerDoc() map[string]string { + return map_AuthenticationList +} + +var map_AuthenticationSpec = map[string]string{ + "type": "type identifies the cluster managed, user facing authentication mode in use. Specifically, it manages the component that responds to login attempts. The default is IntegratedOAuth.", + "oauthMetadata": "oauthMetadata contains the discovery endpoint data for OAuth 2.0 Authorization Server Metadata for an external OAuth server. This discovery document can be viewed from its served location: oc get --raw '/.well-known/oauth-authorization-server' For further details, see the IETF Draft: https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 If oauthMetadata.name is non-empty, this value has precedence over any metadata reference stored in status. The key \"oauthMetadata\" is used to locate the data. If specified and the config map or expected key is not found, no metadata is served. If the specified metadata is not valid, no metadata is served. The namespace for this config map is openshift-config.", + "webhookTokenAuthenticators": "webhookTokenAuthenticators configures remote token reviewers. These remote authentication webhooks can be used to verify bearer tokens via the tokenreviews.authentication.k8s.io REST API. This is required to honor bearer tokens that are provisioned by an external authentication service. The namespace for these secrets is openshift-config.", +} + +func (AuthenticationSpec) SwaggerDoc() map[string]string { + return map_AuthenticationSpec +} + +var map_AuthenticationStatus = map[string]string{ + "integratedOAuthMetadata": "integratedOAuthMetadata contains the discovery endpoint data for OAuth 2.0 Authorization Server Metadata for the in-cluster integrated OAuth server. This discovery document can be viewed from its served location: oc get --raw '/.well-known/oauth-authorization-server' For further details, see the IETF Draft: https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 This contains the observed value based on cluster state. An explicitly set value in spec.oauthMetadata has precedence over this field. This field has no meaning if authentication spec.type is not set to IntegratedOAuth. The key \"oauthMetadata\" is used to locate the data. If the config map or expected key is not found, no metadata is served. If the specified metadata is not valid, no metadata is served. The namespace for this config map is openshift-config-managed.", +} + +func (AuthenticationStatus) SwaggerDoc() map[string]string { + return map_AuthenticationStatus +} + +var map_WebhookTokenAuthenticator = map[string]string{ + "": "webhookTokenAuthenticator holds the necessary configuration options for a remote token authenticator", + "kubeConfig": "kubeConfig contains kube config file data which describes how to access the remote webhook service. For further details, see: https://kubernetes.io/docs/reference/access-authn-authz/authentication/#webhook-token-authentication The key \"kubeConfig\" is used to locate the data. If the secret or expected key is not found, the webhook is not honored. If the specified kube config data is not valid, the webhook is not honored. The namespace for this secret is determined by the point of use.", +} + +func (WebhookTokenAuthenticator) SwaggerDoc() map[string]string { + return map_WebhookTokenAuthenticator +} + +var map_Build = map[string]string{ + "": "Build holds cluster-wide information on how to handle builds. The canonical name is `cluster`", + "spec": "Spec holds user-settable values for the build controller configuration", +} + +func (Build) SwaggerDoc() map[string]string { + return map_Build +} + +var map_BuildDefaults = map[string]string{ + "defaultProxy": "DefaultProxy contains the default proxy settings for all build operations, including image pull/push and source download.\n\nValues can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables in the build config's strategy.", + "gitProxy": "GitProxy contains the proxy settings for git operations only. If set, this will override any Proxy settings for all git commands, such as git clone.\n\nValues that are not set here will be inherited from DefaultProxy.", + "env": "Env is a set of default environment variables that will be applied to the build if the specified variables do not exist on the build", + "imageLabels": "ImageLabels is a list of docker labels that are applied to the resulting image. User can override a default label by providing a label with the same name in their Build/BuildConfig.", + "resources": "Resources defines resource requirements to execute the build.", + "registriesConfig": "RegistriesConfig controls the registries allowed for image pull and push.", +} + +func (BuildDefaults) SwaggerDoc() map[string]string { + return map_BuildDefaults +} + +var map_BuildList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (BuildList) SwaggerDoc() map[string]string { + return map_BuildList +} + +var map_BuildOverrides = map[string]string{ + "imageLabels": "ImageLabels is a list of docker labels that are applied to the resulting image. If user provided a label in their Build/BuildConfig with the same name as one in this list, the user's label will be overwritten.", + "nodeSelector": "NodeSelector is a selector which must be true for the build pod to fit on a node", + "tolerations": "Tolerations is a list of Tolerations that will override any existing tolerations set on a build pod.", +} + +func (BuildOverrides) SwaggerDoc() map[string]string { + return map_BuildOverrides +} + +var map_BuildSpec = map[string]string{ + "additionalTrustedCA": "AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that should be trusted for image pushes and pulls during builds. The namespace for this config map is openshift-config.", + "buildDefaults": "BuildDefaults controls the default information for Builds", + "buildOverrides": "BuildOverrides controls override settings for builds", +} + +func (BuildSpec) SwaggerDoc() map[string]string { + return map_BuildSpec +} + +var map_ImageLabel = map[string]string{ + "name": "Name defines the name of the label. It must have non-zero length.", + "value": "Value defines the literal value of the label.", +} + +func (ImageLabel) SwaggerDoc() map[string]string { + return map_ImageLabel +} + +var map_RegistriesConfig = map[string]string{ + "searchRegistries": "SearchRegistries lists the registries to search for images if an image repository is not specified in an image pull spec.\n\nIf this is not set, builds will search Docker Hub (docker.io) when a repository is not specified. Setting this to an empty list will require all builds to fully qualify their image pull specs.", + "insecureRegistries": "InsecureRegistries are registries which do not have a valid SSL certificate or only support HTTP connections.", + "blockedRegistries": "BlockedRegistries are blacklisted from image pull/push. All other registries are allowed.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.", + "allowedRegistries": "AllowedRegistries are whitelisted for image pull/push. All other registries are blocked.\n\nOnly one of BlockedRegistries or AllowedRegistries may be set.", +} + +func (RegistriesConfig) SwaggerDoc() map[string]string { + return map_RegistriesConfig +} + +var map_ClusterOperator = map[string]string{ + "": "ClusterOperator is the Custom Resource object which holds the current state of an operator. This object is used by operators to convey their state to the rest of the cluster.", + "spec": "spec hold the intent of how this operator should behave.", + "status": "status holds the information about the state of an operator. It is consistent with status information across the kube ecosystem.", +} + +func (ClusterOperator) SwaggerDoc() map[string]string { + return map_ClusterOperator +} + +var map_ClusterOperatorList = map[string]string{ + "": "ClusterOperatorList is a list of OperatorStatus resources.", +} + +func (ClusterOperatorList) SwaggerDoc() map[string]string { + return map_ClusterOperatorList +} + +var map_ClusterOperatorSpec = map[string]string{ + "": "ClusterOperatorSpec is empty for now, but you could imagine holding information like \"pause\".", +} + +func (ClusterOperatorSpec) SwaggerDoc() map[string]string { + return map_ClusterOperatorSpec +} + +var map_ClusterOperatorStatus = map[string]string{ + "": "ClusterOperatorStatus provides information about the status of the operator.", + "conditions": "conditions describes the state of the operator's reconciliation functionality.", + "version": "version indicates which version of the operator updated the current status object.", + "relatedObjects": "relatedObjects is a list of objects that are \"interesting\" or related to this operator. Common uses are: 1. the detailed resource driving the operator 2. operator namespaces 3. operand namespaces", + "extension": "extension contains any additional status information specific to the operator which owns this status object.", +} + +func (ClusterOperatorStatus) SwaggerDoc() map[string]string { + return map_ClusterOperatorStatus +} + +var map_ClusterOperatorStatusCondition = map[string]string{ + "": "ClusterOperatorStatusCondition represents the state of the operator's reconciliation functionality.", + "type": "type specifies the state of the operator's reconciliation functionality.", + "status": "status of the condition, one of True, False, Unknown.", + "lastTransitionTime": "lastTransitionTime is the time of the last update to the current status object.", + "reason": "reason is the reason for the condition's last transition. Reasons are CamelCase", + "message": "message provides additional information about the current condition. This is only to be consumed by humans.", +} + +func (ClusterOperatorStatusCondition) SwaggerDoc() map[string]string { + return map_ClusterOperatorStatusCondition +} + +var map_ObjectReference = map[string]string{ + "": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "group": "group of the referent.", + "resource": "resource of the referent.", + "namespace": "namespace of the referent.", + "name": "name of the referent.", +} + +func (ObjectReference) SwaggerDoc() map[string]string { + return map_ObjectReference +} + +var map_ClusterVersion = map[string]string{ + "": "ClusterVersion is the configuration for the ClusterVersionOperator. This is where parameters related to automatic updates can be set.", + "spec": "spec is the desired state of the cluster version - the operator will work to ensure that the desired version is applied to the cluster.", + "status": "status contains information about the available updates and any in-progress updates.", +} + +func (ClusterVersion) SwaggerDoc() map[string]string { + return map_ClusterVersion +} + +var map_ClusterVersionList = map[string]string{ + "": "ClusterVersionList is a list of ClusterVersion resources.", +} + +func (ClusterVersionList) SwaggerDoc() map[string]string { + return map_ClusterVersionList +} + +var map_ClusterVersionSpec = map[string]string{ + "": "ClusterVersionSpec is the desired version state of the cluster. It includes the version the cluster should be at, how the cluster is identified, and where the cluster should look for version updates.", + "clusterID": "clusterID uniquely identifies this cluster. This is expected to be an RFC4122 UUID value (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx in hexadecimal values). This is a required field.", + "desiredUpdate": "desiredUpdate is an optional field that indicates the desired value of the cluster version. Setting this value will trigger an upgrade (if the current version does not match the desired version). The set of recommended update values is listed as part of available updates in status, and setting values outside that range may cause the upgrade to fail.\n\nIf an upgrade fails the operator will halt and report status about the failing component. Setting the desired update value back to the previous version will cause a rollback to be attempted. Not all rollbacks will succeed.", + "upstream": "upstream may be used to specify the preferred update server. By default it will use the appropriate update server for the cluster and region.", + "channel": "channel is an identifier for explicitly requesting that a non-default set of updates be applied to this cluster. The default channel will be contain stable updates that are appropriate for production clusters.", + "overrides": "overrides is list of overides for components that are managed by cluster version operator. Marking a component unmanaged will prevent the operator from creating or updating the object.", +} + +func (ClusterVersionSpec) SwaggerDoc() map[string]string { + return map_ClusterVersionSpec +} + +var map_ClusterVersionStatus = map[string]string{ + "": "ClusterVersionStatus reports the status of the cluster versioning, including any upgrades that are in progress. The current field will be set to whichever version the cluster is reconciling to, and the conditions array will report whether the update succeeded, is in progress, or is failing.", + "desired": "desired is the version that the cluster is reconciling towards. If the cluster is not yet fully initialized desired will be set with the information available, which may be a payload or a tag.", + "history": "history contains a list of the most recent versions applied to the cluster. This value may be empty during cluster startup, and then will be updated when a new update is being applied. The newest update is first in the list and it is ordered by recency. Updates in the history have state Completed if the rollout completed - if an update was failing or halfway applied the state will be Partial. Only a limited amount of update history is preserved.", + "generation": "generation reports which version of the spec is being processed. If this value is not equal to metadata.generation, then the current and conditions fields have not yet been updated to reflect the latest request.", + "versionHash": "versionHash is a fingerprint of the content that the cluster will be updated with. It is used by the operator to avoid unnecessary work and is for internal use only.", + "conditions": "conditions provides information about the cluster version. The condition \"Available\" is set to true if the desiredUpdate has been reached. The condition \"Progressing\" is set to true if an update is being applied. The condition \"Failing\" is set to true if an update is currently blocked by a temporary or permanent error. Conditions are only valid for the current desiredUpdate when metadata.generation is equal to status.generation.", + "availableUpdates": "availableUpdates contains the list of updates that are appropriate for this cluster. This list may be empty if no updates are recommended, if the update service is unavailable, or if an invalid channel has been specified.", +} + +func (ClusterVersionStatus) SwaggerDoc() map[string]string { + return map_ClusterVersionStatus +} + +var map_ComponentOverride = map[string]string{ + "": "ComponentOverride allows overriding cluster version operator's behavior for a component.", + "kind": "kind indentifies which object to override.", + "group": "group identifies the API group that the kind is in.", + "namespace": "namespace is the component's namespace. If the resource is cluster scoped, the namespace should be empty.", + "name": "name is the component's name.", + "unmanaged": "unmanaged controls if cluster version operator should stop managing the resources in this cluster. Default: false", +} + +func (ComponentOverride) SwaggerDoc() map[string]string { + return map_ComponentOverride +} + +var map_Update = map[string]string{ + "": "Update represents a release of the ClusterVersionOperator, referenced by the Payload member.", + "version": "version is a semantic versioning identifying the update version. When this field is part of spec, version is optional if payload is specified.", + "payload": "payload is a container image location that contains the update. When this field is part of spec, payload is optional if version is specified and the availableUpdates field contains a matching version.", +} + +func (Update) SwaggerDoc() map[string]string { + return map_Update +} + +var map_UpdateHistory = map[string]string{ + "": "UpdateHistory is a single attempted update to the cluster.", + "state": "state reflects whether the update was fully applied. The Partial state indicates the update is not fully applied, while the Completed state indicates the update was successfully rolled out at least once (all parts of the update successfully applied).", + "startedTime": "startedTime is the time at which the update was started.", + "completionTime": "completionTime, if set, is when the update was fully applied. The update that is currently being applied will have a null completion time. Completion time will always be set for entries that are not the current update (usually to the started time of the next update).", + "version": "version is a semantic versioning identifying the update version. If the requested payload does not define a version, or if a failure occurs retrieving the payload, this value may be empty.", + "payload": "payload is a container image location that contains the update. This value is always populated.", +} + +func (UpdateHistory) SwaggerDoc() map[string]string { + return map_UpdateHistory +} + +var map_Console = map[string]string{ + "": "Console holds cluster-wide information about Console. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Console) SwaggerDoc() map[string]string { + return map_Console +} + +var map_ConsoleList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (ConsoleList) SwaggerDoc() map[string]string { + return map_ConsoleList +} + +var map_DNS = map[string]string{ + "": "DNS holds cluster-wide information about DNS. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (DNS) SwaggerDoc() map[string]string { + return map_DNS +} + +var map_DNSList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (DNSList) SwaggerDoc() map[string]string { + return map_DNSList +} + +var map_DNSSpec = map[string]string{ + "baseDomain": "baseDomain is the base domain of the cluster. All managed DNS records will be sub-domains of this base.\n\nFor example, given the base domain `openshift.example.com`, an API server DNS record may be created for `cluster-api.openshift.example.com`.", +} + +func (DNSSpec) SwaggerDoc() map[string]string { + return map_DNSSpec +} + +var map_Image = map[string]string{ + "": "Image holds cluster-wide information about how to handle images. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Image) SwaggerDoc() map[string]string { + return map_Image +} + +var map_ImageList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (ImageList) SwaggerDoc() map[string]string { + return map_ImageList +} + +var map_ImageSpec = map[string]string{ + "allowedRegistriesForImport": "AllowedRegistriesForImport limits the container image registries that normal users may import images from. Set this list to the registries that you trust to contain valid Docker images and that you want applications to be able to import from. Users with permission to create Images or ImageStreamMappings via the API are not affected by this policy - typically only administrators or system integrations will have those permissions.", + "externalRegistryHostnames": "externalRegistryHostnames provides the hostnames for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The first value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", + "additionalTrustedCA": "AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that should be trusted during imagestream import. The namespace for this config map is openshift-config.", +} + +func (ImageSpec) SwaggerDoc() map[string]string { + return map_ImageSpec +} + +var map_ImageStatus = map[string]string{ + "internalRegistryHostname": "this value is set by the image registry operator which controls the internal registry hostname InternalRegistryHostname sets the hostname for the default internal image registry. The value must be in \"hostname[:port]\" format. For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY environment variable but this setting overrides the environment variable.", + "externalRegistryHostnames": "externalRegistryHostnames provides the hostnames for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The first value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", +} + +func (ImageStatus) SwaggerDoc() map[string]string { + return map_ImageStatus +} + +var map_RegistryLocation = map[string]string{ + "": "RegistryLocation contains a location of the registry specified by the registry domain name. The domain name might include wildcards, like '*' or '??'.", + "domainName": "DomainName specifies a domain name for the registry In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well.", + "insecure": "Insecure indicates whether the registry is secure (https) or insecure (http) By default (if not specified) the registry is assumed as secure.", +} + +func (RegistryLocation) SwaggerDoc() map[string]string { + return map_RegistryLocation +} + +var map_Infrastructure = map[string]string{ + "": "Infrastructure holds cluster-wide information about Infrastructure. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Infrastructure) SwaggerDoc() map[string]string { + return map_Infrastructure +} + +var map_InfrastructureList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (InfrastructureList) SwaggerDoc() map[string]string { + return map_InfrastructureList +} + +var map_InfrastructureStatus = map[string]string{ + "platform": "platform is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled.", +} + +func (InfrastructureStatus) SwaggerDoc() map[string]string { + return map_InfrastructureStatus +} + +var map_Ingress = map[string]string{ + "": "Ingress holds cluster-wide information about Ingress. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Ingress) SwaggerDoc() map[string]string { + return map_Ingress +} + +var map_IngressList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (IngressList) SwaggerDoc() map[string]string { + return map_IngressList +} + +var map_IngressSpec = map[string]string{ + "domain": "domain is used to generate a default host name for a route when the route's host name is empty. The generated host name will follow this pattern: \"..\".", +} + +func (IngressSpec) SwaggerDoc() map[string]string { + return map_IngressSpec +} + +var map_ClusterNetworkEntry = map[string]string{ + "": "ClusterNetworkEntry is a contiguous block of IP addresses from which pod IPs are allocated.", + "cidr": "The complete block for pod IPs.", + "hostPrefix": "The size (prefix) of block to allocate to each node.", +} + +func (ClusterNetworkEntry) SwaggerDoc() map[string]string { + return map_ClusterNetworkEntry +} + +var map_Network = map[string]string{ + "": "Network holds cluster-wide information about Network. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration.", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Network) SwaggerDoc() map[string]string { + return map_Network +} + +var map_NetworkList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (NetworkList) SwaggerDoc() map[string]string { + return map_NetworkList +} + +var map_NetworkSpec = map[string]string{ + "": "NetworkSpec is the desired network configuration. As a general rule, this SHOULD NOT be read directly. Instead, you should consume the NetworkStatus, as it indicates the currently deployed configuration. Currently, none of these fields may be changed after installation.", + "clusterNetwork": "IP address pool to use for pod IPs.", + "serviceNetwork": "IP address pool for services. Currently, we only support a single entry here.", + "networkType": "NetworkType is the plugin that is to be deployed (e.g. OpenShiftSDN). This should match a value that the cluster-network-operator understands, or else no networking will be installed. Currently supported values are: - OpenShiftSDN", +} + +func (NetworkSpec) SwaggerDoc() map[string]string { + return map_NetworkSpec +} + +var map_NetworkStatus = map[string]string{ + "": "NetworkStatus is the current network configuration.", + "clusterNetwork": "IP address pool to use for pod IPs.", + "serviceNetwork": "IP address pool for services. Currently, we only support a single entry here.", + "networkType": "NetworkType is the plugin that is deployed (e.g. OpenShiftSDN).", + "clusterNetworkMTU": "ClusterNetworkMTU is the MTU for inter-pod networking.", +} + +func (NetworkStatus) SwaggerDoc() map[string]string { + return map_NetworkStatus +} + +var map_BasicAuthIdentityProvider = map[string]string{ + "": "BasicAuthPasswordIdentityProvider provides identities for users authenticating using HTTP basic auth credentials", +} + +func (BasicAuthIdentityProvider) SwaggerDoc() map[string]string { + return map_BasicAuthIdentityProvider +} + +var map_GitHubIdentityProvider = map[string]string{ + "": "GitHubIdentityProvider provides identities for users authenticating using GitHub credentials", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is a required reference to the secret by name containing the oauth client secret. The key \"clientSecret\" is used to locate the data. If the secret or expected key is not found, the identity provider is not honored. The namespace for this secret is openshift-config.", + "organizations": "organizations optionally restricts which organizations are allowed to log in", + "teams": "teams optionally restricts which teams are allowed to log in. Format is /.", + "hostname": "hostname is the optional domain (e.g. \"mycompany.com\") for use with a hosted instance of GitHub Enterprise. It must match the GitHub Enterprise settings value configured at /setup/settings#hostname.", + "ca": "ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. It is used as a trust anchor to validate the TLS certificate presented by the remote server. The key \"ca.crt\" is used to locate the data. If specified and the config map or expected key is not found, the identity provider is not honored. If the specified ca data is not valid, the identity provider is not honored. If empty, the default system roots are used. This can only be configured when hostname is set to a non-empty value. The namespace for this config map is openshift-config.", +} + +func (GitHubIdentityProvider) SwaggerDoc() map[string]string { + return map_GitHubIdentityProvider +} + +var map_GitLabIdentityProvider = map[string]string{ + "": "GitLabIdentityProvider provides identities for users authenticating using GitLab credentials", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is a required reference to the secret by name containing the oauth client secret. The key \"clientSecret\" is used to locate the data. If the secret or expected key is not found, the identity provider is not honored. The namespace for this secret is openshift-config.", + "url": "url is the oauth server base URL", + "ca": "ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. It is used as a trust anchor to validate the TLS certificate presented by the remote server. The key \"ca.crt\" is used to locate the data. If specified and the config map or expected key is not found, the identity provider is not honored. If the specified ca data is not valid, the identity provider is not honored. If empty, the default system roots are used. The namespace for this config map is openshift-config.", +} + +func (GitLabIdentityProvider) SwaggerDoc() map[string]string { + return map_GitLabIdentityProvider +} + +var map_GoogleIdentityProvider = map[string]string{ + "": "GoogleIdentityProvider provides identities for users authenticating using Google credentials", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is a required reference to the secret by name containing the oauth client secret. The key \"clientSecret\" is used to locate the data. If the secret or expected key is not found, the identity provider is not honored. The namespace for this secret is openshift-config.", + "hostedDomain": "hostedDomain is the optional Google App domain (e.g. \"mycompany.com\") to restrict logins to", +} + +func (GoogleIdentityProvider) SwaggerDoc() map[string]string { + return map_GoogleIdentityProvider +} + +var map_HTPasswdIdentityProvider = map[string]string{ + "": "HTPasswdPasswordIdentityProvider provides identities for users authenticating using htpasswd credentials", + "fileData": "fileData is a required reference to a secret by name containing the data to use as the htpasswd file. The key \"htpasswd\" is used to locate the data. If the secret or expected key is not found, the identity provider is not honored. If the specified htpasswd data is not valid, the identity provider is not honored. The namespace for this secret is openshift-config.", +} + +func (HTPasswdIdentityProvider) SwaggerDoc() map[string]string { + return map_HTPasswdIdentityProvider +} + +var map_IdentityProvider = map[string]string{ + "": "IdentityProvider provides identities for users authenticating using credentials", + "name": "name is used to qualify the identities returned by this provider. - It MUST be unique and not shared by any other identity provider used - It MUST be a valid path segment: name cannot equal \".\" or \"..\" or contain \"/\" or \"%\" or \":\"\n Ref: https://godoc.org/github.com/openshift/origin/pkg/user/apis/user/validation#ValidateIdentityProviderName", + "challenge": "challenge indicates whether to issue WWW-Authenticate challenges for this provider", + "login": "login indicates whether to use this identity provider for unauthenticated browsers to login against", + "mappingMethod": "mappingMethod determines how identities from this provider are mapped to users Defaults to \"claim\"", +} + +func (IdentityProvider) SwaggerDoc() map[string]string { + return map_IdentityProvider +} + +var map_IdentityProviderConfig = map[string]string{ + "": "IdentityProviderConfig contains configuration for using a specific identity provider", + "type": "type identifies the identity provider type for this entry.", + "basicAuth": "basicAuth contains configuration options for the BasicAuth IdP", + "github": "github enables user authentication using GitHub credentials", + "gitlab": "gitlab enables user authentication using GitLab credentials", + "google": "google enables user authentication using Google credentials", + "htpasswd": "htpasswd enables user authentication using an HTPasswd file to validate credentials", + "keystone": "keystone enables user authentication using keystone password credentials", + "ldap": "ldap enables user authentication using LDAP credentials", + "openID": "openID enables user authentication using OpenID credentials", + "requestHeader": "requestHeader enables user authentication using request header credentials", +} + +func (IdentityProviderConfig) SwaggerDoc() map[string]string { + return map_IdentityProviderConfig +} + +var map_KeystoneIdentityProvider = map[string]string{ + "": "KeystonePasswordIdentityProvider provides identities for users authenticating using keystone password credentials", + "domainName": "domainName is required for keystone v3", + "useUsernameIdentity": "useUsernameIdentity indicates that users should be authenticated by username, not keystone ID DEPRECATED - only use this option for legacy systems to ensure backwards compatibility", +} + +func (KeystoneIdentityProvider) SwaggerDoc() map[string]string { + return map_KeystoneIdentityProvider +} + +var map_LDAPAttributeMapping = map[string]string{ + "": "LDAPAttributeMapping maps LDAP attributes to OpenShift identity fields", + "id": "id is the list of attributes whose values should be used as the user ID. Required. First non-empty attribute is used. At least one attribute is required. If none of the listed attribute have a value, authentication fails. LDAP standard identity attribute is \"dn\"", + "preferredUsername": "preferredUsername is the list of attributes whose values should be used as the preferred username. LDAP standard login attribute is \"uid\"", + "name": "name is the list of attributes whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity LDAP standard display name attribute is \"cn\"", + "email": "email is the list of attributes whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", +} + +func (LDAPAttributeMapping) SwaggerDoc() map[string]string { + return map_LDAPAttributeMapping +} + +var map_LDAPIdentityProvider = map[string]string{ + "": "LDAPPasswordIdentityProvider provides identities for users authenticating using LDAP credentials", + "url": "url is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is: ldap://host:port/basedn?attribute?scope?filter", + "bindDN": "bindDN is an optional DN to bind with during the search phase.", + "bindPassword": "bindPassword is an optional reference to a secret by name containing a password to bind with during the search phase. The key \"bindPassword\" is used to locate the data. If specified and the secret or expected key is not found, the identity provider is not honored. The namespace for this secret is openshift-config.", + "insecure": "insecure, if true, indicates the connection should not use TLS WARNING: Should not be set to `true` with the URL scheme \"ldaps://\" as \"ldaps://\" URLs always\n attempt to connect using TLS, even when `insecure` is set to `true`\nWhen `true`, \"ldap://\" URLS connect insecurely. When `false`, \"ldap://\" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830.", + "ca": "ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. It is used as a trust anchor to validate the TLS certificate presented by the remote server. The key \"ca.crt\" is used to locate the data. If specified and the config map or expected key is not found, the identity provider is not honored. If the specified ca data is not valid, the identity provider is not honored. If empty, the default system roots are used. The namespace for this config map is openshift-config.", + "attributes": "attributes maps LDAP attributes to identities", +} + +func (LDAPIdentityProvider) SwaggerDoc() map[string]string { + return map_LDAPIdentityProvider +} + +var map_OAuth = map[string]string{ + "": "OAuth holds cluster-wide information about OAuth. The canonical name is `cluster`. It is used to configure the integrated OAuth server. This configuration is only honored when the top level Authentication config has type set to IntegratedOAuth.", +} + +func (OAuth) SwaggerDoc() map[string]string { + return map_OAuth +} + +var map_OAuthRemoteConnectionInfo = map[string]string{ + "": "OAuthRemoteConnectionInfo holds information necessary for establishing a remote connection", + "url": "url is the remote URL to connect to", + "ca": "ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. It is used as a trust anchor to validate the TLS certificate presented by the remote server. The key \"ca.crt\" is used to locate the data. If specified and the config map or expected key is not found, the identity provider is not honored. If the specified ca data is not valid, the identity provider is not honored. If empty, the default system roots are used. The namespace for this config map is openshift-config.", + "tlsClientCert": "tlsClientCert is an optional reference to a secret by name that contains the PEM-encoded TLS client certificate to present when connecting to the server. The key \"tls.crt\" is used to locate the data. If specified and the secret or expected key is not found, the identity provider is not honored. If the specified certificate data is not valid, the identity provider is not honored. The namespace for this secret is openshift-config.", + "tlsClientKey": "tlsClientKey is an optional reference to a secret by name that contains the PEM-encoded TLS private key for the client certificate referenced in tlsClientCert. The key \"tls.key\" is used to locate the data. If specified and the secret or expected key is not found, the identity provider is not honored. If the specified certificate data is not valid, the identity provider is not honored. The namespace for this secret is openshift-config.", +} + +func (OAuthRemoteConnectionInfo) SwaggerDoc() map[string]string { + return map_OAuthRemoteConnectionInfo +} + +var map_OAuthSpec = map[string]string{ + "": "OAuthSpec contains desired cluster auth configuration", + "identityProviders": "identityProviders is an ordered list of ways for a user to identify themselves. When this list is empty, no identities are provisioned for users.", + "tokenConfig": "tokenConfig contains options for authorization and access tokens", + "templates": "templates allow you to customize pages like the login page.", +} + +func (OAuthSpec) SwaggerDoc() map[string]string { + return map_OAuthSpec +} + +var map_OAuthStatus = map[string]string{ + "": "OAuthStatus shows current known state of OAuth server in the cluster", +} + +func (OAuthStatus) SwaggerDoc() map[string]string { + return map_OAuthStatus +} + +var map_OAuthTemplates = map[string]string{ + "": "OAuthTemplates allow for customization of pages like the login page", + "login": "login is the name of a secret that specifies a go template to use to render the login page. The key \"login.html\" is used to locate the template data. If specified and the secret or expected key is not found, the default login page is used. If the specified template is not valid, the default login page is used. If unspecified, the default login page is used. The namespace for this secret is openshift-config.", + "providerSelection": "providerSelection is the name of a secret that specifies a go template to use to render the provider selection page. The key \"providers.html\" is used to locate the template data. If specified and the secret or expected key is not found, the default provider selection page is used. If the specified template is not valid, the default provider selection page is used. If unspecified, the default provider selection page is used. The namespace for this secret is openshift-config.", + "error": "error is the name of a secret that specifies a go template to use to render error pages during the authentication or grant flow. The key \"errors.html\" is used to locate the template data. If specified and the secret or expected key is not found, the default error page is used. If the specified template is not valid, the default error page is used. If unspecified, the default error page is used. The namespace for this secret is openshift-config.", +} + +func (OAuthTemplates) SwaggerDoc() map[string]string { + return map_OAuthTemplates +} + +var map_OpenIDClaims = map[string]string{ + "": "OpenIDClaims contains a list of OpenID claims to use when authenticating with an OpenID identity provider", + "preferredUsername": "preferredUsername is the list of claims whose values should be used as the preferred username. If unspecified, the preferred username is determined from the value of the sub claim", + "name": "name is the list of claims whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity", + "email": "email is the list of claims whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", +} + +func (OpenIDClaims) SwaggerDoc() map[string]string { + return map_OpenIDClaims +} + +var map_OpenIDIdentityProvider = map[string]string{ + "": "OpenIDIdentityProvider provides identities for users authenticating using OpenID credentials", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is a required reference to the secret by name containing the oauth client secret. The key \"clientSecret\" is used to locate the data. If the secret or expected key is not found, the identity provider is not honored. The namespace for this secret is openshift-config.", + "ca": "ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. It is used as a trust anchor to validate the TLS certificate presented by the remote server. The key \"ca.crt\" is used to locate the data. If specified and the config map or expected key is not found, the identity provider is not honored. If the specified ca data is not valid, the identity provider is not honored. If empty, the default system roots are used. The namespace for this config map is openshift-config.", + "extraScopes": "extraScopes are any scopes to request in addition to the standard \"openid\" scope.", + "extraAuthorizeParameters": "extraAuthorizeParameters are any custom parameters to add to the authorize request.", + "urls": "urls to use to authenticate", + "claims": "claims mappings", +} + +func (OpenIDIdentityProvider) SwaggerDoc() map[string]string { + return map_OpenIDIdentityProvider +} + +var map_OpenIDURLs = map[string]string{ + "": "OpenIDURLs are URLs to use when authenticating with an OpenID identity provider", + "authorize": "authorize is the oauth authorization URL", + "token": "token is the oauth token granting URL", + "userInfo": "userInfo is the optional userinfo URL. If present, a granted access_token is used to request claims If empty, a granted id_token is parsed for claims", +} + +func (OpenIDURLs) SwaggerDoc() map[string]string { + return map_OpenIDURLs +} + +var map_RequestHeaderIdentityProvider = map[string]string{ + "": "RequestHeaderIdentityProvider provides identities for users authenticating using request header credentials", + "loginURL": "loginURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}\nRequired when login is set to true.", + "challengeURL": "challengeURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be redirected here. ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}\nRequired when challenge is set to true.", + "ca": "ca is a required reference to a config map by name containing the PEM-encoded CA bundle. It is used as a trust anchor to validate the TLS certificate presented by the remote server. Specifically, it allows verification of incoming requests to prevent header spoofing. The key \"ca.crt\" is used to locate the data. If the config map or expected key is not found, the identity provider is not honored. If the specified ca data is not valid, the identity provider is not honored. The namespace for this config map is openshift-config.", + "clientCommonNames": "clientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative.", + "headers": "headers is the set of headers to check for identity information", + "preferredUsernameHeaders": "preferredUsernameHeaders is the set of headers to check for the preferred username", + "nameHeaders": "nameHeaders is the set of headers to check for the display name", + "emailHeaders": "emailHeaders is the set of headers to check for the email address", +} + +func (RequestHeaderIdentityProvider) SwaggerDoc() map[string]string { + return map_RequestHeaderIdentityProvider +} + +var map_TokenConfig = map[string]string{ + "": "TokenConfig holds the necessary configuration options for authorization and access tokens", + "accessTokenMaxAgeSeconds": "accessTokenMaxAgeSeconds defines the maximum age of access tokens", + "accessTokenInactivityTimeoutSeconds": "accessTokenInactivityTimeoutSeconds defines the default token inactivity timeout for tokens granted by any client. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. Valid values are integer values:\n x < 0 Tokens time out is enabled but tokens never timeout unless configured per client (e.g. `-1`)\n x = 0 Tokens time out is disabled (default)\n x > 0 Tokens time out if there is no activity for x seconds\nThe current minimum allowed value for X is 300 (5 minutes)", +} + +func (TokenConfig) SwaggerDoc() map[string]string { + return map_TokenConfig +} + +var map_Project = map[string]string{ + "": "Project holds cluster-wide information about Project. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Project) SwaggerDoc() map[string]string { + return map_Project +} + +var map_ProjectList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (ProjectList) SwaggerDoc() map[string]string { + return map_ProjectList +} + +var map_Proxy = map[string]string{ + "": "Proxy holds cluster-wide information on how to configure default proxies for the cluster. The canonical name is `cluster`", + "spec": "Spec holds user-settable values for the proxy configuration", +} + +func (Proxy) SwaggerDoc() map[string]string { + return map_Proxy +} + +var map_ProxyList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (ProxyList) SwaggerDoc() map[string]string { + return map_ProxyList +} + +var map_ProxySpec = map[string]string{ + "httpProxy": "httpProxy is the URL of the proxy for HTTP requests. Empty means unset and will not result in an env var.", + "httpsProxy": "httpsProxy is the URL of the proxy for HTTPS requests. Empty means unset and will not result in an env var.", + "noProxy": "noProxy is the list of domains for which the proxy should not be used. Empty means unset and will not result in an env var.", +} + +func (ProxySpec) SwaggerDoc() map[string]string { + return map_ProxySpec +} + +var map_Scheduling = map[string]string{ + "": "Scheduling holds cluster-wide information about Scheduling. The canonical name is `cluster`", + "metadata": "Standard object's metadata.", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (Scheduling) SwaggerDoc() map[string]string { + return map_Scheduling +} + +var map_SchedulingList = map[string]string{ + "metadata": "Standard object's metadata.", +} + +func (SchedulingList) SwaggerDoc() map[string]string { + return map_SchedulingList +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/glide.lock b/vendor/github.com/openshift/api/glide.lock new file mode 100644 index 000000000..5e0f3a6b1 --- /dev/null +++ b/vendor/github.com/openshift/api/glide.lock @@ -0,0 +1,109 @@ +hash: d3bd5801900570f3638c2ffc55210bf58a8417e3ffff2b8c41d62915441a948f +updated: 2018-07-18T11:06:34.738986-04:00 +imports: +- name: github.com/davecgh/go-spew + version: 782f4967f2dc4564575ca782fe2d04090b5faca8 + subpackages: + - spew +- name: github.com/ghodss/yaml + version: 73d445a93680fa1a78ae23a5839bad48f32ba1ee +- name: github.com/gogo/protobuf + version: c0656edd0d9eab7c66d1eb0c568f9039345796f7 + subpackages: + - proto + - sortkeys +- name: github.com/golang/glog + version: 44145f04b68cf362d9c4df2182967c2275eaefed +- name: github.com/golang/protobuf + version: b4deda0973fb4c70b50d226b1af49f3da59f5265 + subpackages: + - proto + - ptypes + - ptypes/any + - ptypes/duration + - ptypes/timestamp +- name: github.com/google/gofuzz + version: 44d81051d367757e1c7c6a5a86423ece9afcf63c +- name: github.com/json-iterator/go + version: f2b4162afba35581b6d4a50d3b8f34e33c144682 +- name: github.com/modern-go/concurrent + version: bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94 +- name: github.com/modern-go/reflect2 + version: 05fbef0ca5da472bbf96c9322b84a53edc03c9fd +- name: github.com/spf13/pflag + version: 583c0c0531f06d5278b7d917446061adc344b5cd +- name: golang.org/x/net + version: 1c05540f6879653db88113bc4a2b70aec4bd491f + subpackages: + - html + - html/atom + - http2 + - http2/hpack + - idna + - lex/httplex + - websocket +- name: golang.org/x/text + version: b19bf474d317b857955b12035d2c5acb57ce8b01 + subpackages: + - secure/bidirule + - transform + - unicode/bidi + - unicode/norm +- name: gopkg.in/inf.v0 + version: 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 +- name: gopkg.in/yaml.v2 + version: 670d4cfef0544295bc27a114dbac37980d83185a +- name: k8s.io/api + version: 2d6f90ab1293a1fb871cf149423ebb72aa7423aa + subpackages: + - apps/v1beta1 + - core/v1 + - extensions/v1beta1 + - rbac/v1 +- name: k8s.io/apimachinery + version: 103fd098999dc9c0c88536f5c9ad2e5da39373ae + subpackages: + - pkg/api/equality + - pkg/api/meta + - pkg/api/resource + - pkg/api/testing + - pkg/api/testing/fuzzer + - pkg/api/testing/roundtrip + - pkg/apis/meta/fuzzer + - pkg/apis/meta/v1 + - pkg/apis/meta/v1/unstructured + - pkg/apis/meta/v1beta1 + - pkg/conversion + - pkg/conversion/queryparams + - pkg/fields + - pkg/labels + - pkg/runtime + - pkg/runtime/schema + - pkg/runtime/serializer + - pkg/runtime/serializer/json + - pkg/runtime/serializer/protobuf + - pkg/runtime/serializer/recognizer + - pkg/runtime/serializer/versioning + - pkg/selection + - pkg/types + - pkg/util/diff + - pkg/util/errors + - pkg/util/framer + - pkg/util/intstr + - pkg/util/json + - pkg/util/net + - pkg/util/runtime + - pkg/util/sets + - pkg/util/validation + - pkg/util/validation/field + - pkg/util/wait + - pkg/util/yaml + - pkg/watch + - third_party/forked/golang/reflect +- name: k8s.io/code-generator + version: d7806fb979faad89dabf9e6a46aa18355962700c + repo: git@github.com:openshift/kubernetes-code-generator +- name: k8s.io/gengo + version: 01a732e01d00cb9a81bb0ca050d3e6d2b947927b + repo: git@github.com:openshift/kubernetes-gengo +testImports: [] diff --git a/vendor/github.com/openshift/api/glide.yaml b/vendor/github.com/openshift/api/glide.yaml new file mode 100644 index 000000000..dcd4aaa20 --- /dev/null +++ b/vendor/github.com/openshift/api/glide.yaml @@ -0,0 +1,15 @@ +package: github.com/openshift/api +import: +- package: k8s.io/gengo + repo: git@github.com:openshift/kubernetes-gengo + version: origin-3.11-kubernetes-1.11.0 +- package: k8s.io/code-generator + repo: git@github.com:openshift/kubernetes-code-generator + version: origin-3.11-kubernetes-1.11.0 +# this matches the 1.11 GA level of apimachinery which glide isn't wanting to pick +- package: github.com/json-iterator/go + version: f2b4162afba35581b6d4a50d3b8f34e33c144682 +- package: k8s.io/apimachinery + version: kubernetes-1.11.1 +- package: k8s.io/api + version: kubernetes-1.11.1 diff --git a/vendor/github.com/openshift/api/hack/empty.txt b/vendor/github.com/openshift/api/hack/empty.txt new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/openshift/api/hack/lib/init.sh b/vendor/github.com/openshift/api/hack/lib/init.sh new file mode 100644 index 000000000..ecda5d0cb --- /dev/null +++ b/vendor/github.com/openshift/api/hack/lib/init.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +# This script is meant to be the entrypoint for OpenShift Bash scripts to import all of the support +# libraries at once in order to make Bash script preambles as minimal as possible. This script recur- +# sively `source`s *.sh files in this directory tree. As such, no files should be `source`ed outside +# of this script to ensure that we do not attempt to overwrite read-only variables. + +set -o errexit +set -o nounset +set -o pipefail + +API_GROUP_VERSIONS="\ +apps/v1 \ +authorization/v1 \ +build/v1 \ +config/v1 \ +image/v1 \ +kubecontrolplane/v1 \ +legacyconfig/v1 \ +network/v1 \ +oauth/v1 \ +openshiftcontrolplane/v1 \ +operator/v1 \ +operator/v1alpha1 \ +project/v1 \ +quota/v1 \ +route/v1 \ +security/v1 \ +servicecertsigner/v1alpha1 \ +template/v1 \ +user/v1 \ +webconsole/v1 \ +" +API_PACKAGES="\ +github.com/openshift/api/apps/v1,\ +github.com/openshift/api/authorization/v1,\ +github.com/openshift/api/build/v1,\ +github.com/openshift/api/image/v1,\ +github.com/openshift/api/network/v1,\ +github.com/openshift/api/oauth/v1,\ +github.com/openshift/api/project/v1,\ +github.com/openshift/api/quota/v1,\ +github.com/openshift/api/route/v1,\ +github.com/openshift/api/security/v1,\ +github.com/openshift/api/template/v1,\ +github.com/openshift/api/user/v1\ +" diff --git a/vendor/github.com/openshift/api/hack/update-deepcopy.sh b/vendor/github.com/openshift/api/hack/update-deepcopy.sh new file mode 100755 index 000000000..c159baea7 --- /dev/null +++ b/vendor/github.com/openshift/api/hack/update-deepcopy.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. +CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../../../k8s.io/code-generator)} + +verify="${VERIFY:-}" + +${CODEGEN_PKG}/generate-groups.sh "deepcopy" \ + github.com/openshift/api/generated \ + github.com/openshift/api \ + "apps:v1 authorization:v1 build:v1 config:v1 image:v1,docker10,dockerpre012 kubecontrolplane:v1 legacyconfig:v1 network:v1 oauth:v1 openshiftcontrolplane:v1 operator:v1 operator:v1alpha1 osin:v1 project:v1 quota:v1 route:v1 security:v1 servicecertsigner:v1alpha1 template:v1 user:v1 webconsole:v1" \ + --go-header-file ${SCRIPT_ROOT}/hack/empty.txt \ + ${verify} diff --git a/vendor/github.com/openshift/api/hack/update-deps.sh b/vendor/github.com/openshift/api/hack/update-deps.sh new file mode 100755 index 000000000..5d0302f43 --- /dev/null +++ b/vendor/github.com/openshift/api/hack/update-deps.sh @@ -0,0 +1,25 @@ +#!/bin/bash -e + +readonly GLIDE_MINOR_VERSION="13" +readonly REQUIRED_GLIDE_VERSION="0.$GLIDE_MINOR_VERSION" + +function verify_glide_version() { + if ! command -v glide &> /dev/null; then + echo "[FATAL] Glide was not found in \$PATH. Please install version ${REQUIRED_GLIDE_VERSION} or newer." + exit 1 + fi + + local glide_version + glide_version=($(glide --version)) + if ! echo "${glide_version[2]#v}" | awk -F. -v min=$GLIDE_MINOR_VERSION '{ exit $2 < min }'; then + echo "Detected glide version: ${glide_version[*]}." + echo "Please install Glide version ${REQUIRED_GLIDE_VERSION} or newer." + exit 1 + fi +} + +verify_glide_version + +glide update --strip-vendor + +find vendor/ -name *.proto | xargs sed -i '/k8s.io\/apiextensions-apiserver\/pkg\/apis\/apiextensions\/v1beta1\/generated.proto/d' diff --git a/vendor/github.com/openshift/api/hack/update-protobuf.sh b/vendor/github.com/openshift/api/hack/update-protobuf.sh new file mode 100755 index 000000000..1fca572cd --- /dev/null +++ b/vendor/github.com/openshift/api/hack/update-protobuf.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. + +if [[ "$(protoc --version)" != "libprotoc 3.0."* ]]; then + echo "Generating protobuf requires protoc 3.0.x. Please download and +install the platform appropriate Protobuf package for your OS: + + https://github.com/google/protobuf/releases + +To skip protobuf generation, set \$PROTO_OPTIONAL." +fi + +rm -rf go-to-protobuf +rm -rf protoc-gen-gogo +go build -o _output/bin/go-to-protobuf github.com/openshift/api/vendor/k8s.io/code-generator/cmd/go-to-protobuf +go build -o _output/bin/protoc-gen-gogo github.com/openshift/api/vendor/k8s.io/code-generator/cmd/go-to-protobuf/protoc-gen-gogo + +PATH="$PATH:_output/bin" go-to-protobuf \ + --output-base="${GOPATH}/src" \ + --apimachinery-packages='-k8s.io/apimachinery/pkg/util/intstr,-k8s.io/apimachinery/pkg/api/resource,-k8s.io/apimachinery/pkg/runtime/schema,-k8s.io/apimachinery/pkg/runtime,-k8s.io/apimachinery/pkg/apis/meta/v1,-k8s.io/apimachinery/pkg/apis/meta/v1beta1,-k8s.io/api/core/v1,-k8s.io/api/rbac/v1' \ + --go-header-file=${SCRIPT_ROOT}/hack/empty.txt \ + --proto-import=${SCRIPT_ROOT}/vendor/github.com/gogo/protobuf/protobuf \ + --proto-import=${SCRIPT_ROOT}/vendor \ + --packages="${API_PACKAGES}" diff --git a/vendor/github.com/openshift/api/hack/update-swagger-docs.sh b/vendor/github.com/openshift/api/hack/update-swagger-docs.sh new file mode 100755 index 000000000..d72c92dce --- /dev/null +++ b/vendor/github.com/openshift/api/hack/update-swagger-docs.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. + +# Generates types_swagger_doc_generated file for the given group version. +# $1: Name of the group version +# $2: Path to the directory where types.go for that group version exists. This +# is the directory where the file will be generated. +kube::swagger::gen_types_swagger_doc() { + local group_version=$1 + local gv_dir=$2 + local TMPFILE="${TMPDIR:-/tmp}/zz_generated.swagger_doc_generated.$(date +%s).go" + + echo "Generating swagger type docs for ${group_version} at ${gv_dir}" + + sed 's/YEAR/2017/' hack/empty.txt > "$TMPFILE" + echo "package ${group_version##*/}" >> "$TMPFILE" + cat >> "$TMPFILE" <> "$TMPFILE" + + echo "// AUTO-GENERATED FUNCTIONS END HERE" >> "$TMPFILE" + + gofmt -w -s "$TMPFILE" + mv "$TMPFILE" ""${gv_dir}"/zz_generated.swagger_doc_generated.go" +} + +for gv in ${API_GROUP_VERSIONS}; do + rm -f "${SCRIPT_ROOT}/${gv}/zz_generated.swagger_doc_generated.go" + kube::swagger::gen_types_swagger_doc "${gv}" "${gv}" +done diff --git a/vendor/github.com/openshift/api/hack/verify-deepcopy.sh b/vendor/github.com/openshift/api/hack/verify-deepcopy.sh new file mode 100755 index 000000000..456f381bc --- /dev/null +++ b/vendor/github.com/openshift/api/hack/verify-deepcopy.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. +VERIFY=--verify-only ${SCRIPT_ROOT}/hack/update-deepcopy.sh diff --git a/vendor/github.com/openshift/api/hack/verify-protobuf.sh b/vendor/github.com/openshift/api/hack/verify-protobuf.sh new file mode 100755 index 000000000..5b8909186 --- /dev/null +++ b/vendor/github.com/openshift/api/hack/verify-protobuf.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" + +SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. +TMP_ROOT="${SCRIPT_ROOT}/_tmp" + +cleanup() { + rm -rf "${TMP_ROOT}" +} +trap "cleanup" EXIT SIGINT + +cleanup + +for gv in ${API_GROUP_VERSIONS}; do + mkdir -p "${TMP_ROOT}/${gv}" + cp -a "${SCRIPT_ROOT}/${gv}"/* "${TMP_ROOT}/${gv}" +done + +"${SCRIPT_ROOT}/hack/update-protobuf.sh" +echo "Checking against freshly generated protobuf..." +for gv in ${API_GROUP_VERSIONS}; do + ret=0 + diff -Naupr -I 'Auto generated by' -x 'zz_generated.*' -x 'types_swagger*' "${SCRIPT_ROOT}/${gv}" "${TMP_ROOT}/${gv}" || ret=$? + if [[ $ret -ne 0 ]]; then + cp -a "${TMP_ROOT}"/* "${SCRIPT_ROOT}/" + echo "Protobuf is out of date. Please run hack/update-protobuf.sh" + exit 1 + fi +done +echo "Protobuf up to date." diff --git a/vendor/github.com/openshift/api/hack/verify-swagger-docs.sh b/vendor/github.com/openshift/api/hack/verify-swagger-docs.sh new file mode 100755 index 000000000..ff69e66a2 --- /dev/null +++ b/vendor/github.com/openshift/api/hack/verify-swagger-docs.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +source "$(dirname "${BASH_SOURCE}")/lib/init.sh" + +SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. +TMP_ROOT="${SCRIPT_ROOT}/_tmp" + +cleanup() { + rm -rf "${TMP_ROOT}" +} +trap "cleanup" EXIT SIGINT + +cleanup + +for gv in ${API_GROUP_VERSIONS}; do + mkdir -p "${TMP_ROOT}/${gv}" + cp -a "${SCRIPT_ROOT}/${gv}"/* "${TMP_ROOT}/${gv}" +done + +"${SCRIPT_ROOT}/hack/update-swagger-docs.sh" +echo "Checking against freshly generated swagger..." +for gv in ${API_GROUP_VERSIONS}; do + ret=0 + diff -Naupr "${SCRIPT_ROOT}/${gv}"/zz_generated.swagger_doc_generated.go "${TMP_ROOT}/${gv}"/zz_generated.swagger_doc_generated.go || ret=$? + if [[ $ret -ne 0 ]]; then + cp -a "${TMP_ROOT}"/* "${SCRIPT_ROOT}/" + echo "Swagger is out of date. Please run hack/update-swagger-docs.sh" + exit 1 + fi +done +echo "Swagger up to date." diff --git a/vendor/github.com/openshift/api/image/OWNERS b/vendor/github.com/openshift/api/image/OWNERS new file mode 100644 index 000000000..c12602811 --- /dev/null +++ b/vendor/github.com/openshift/api/image/OWNERS @@ -0,0 +1,5 @@ +reviewers: + - bparees + - dmage + - legionus + - miminar diff --git a/vendor/github.com/openshift/api/image/docker10/doc.go b/vendor/github.com/openshift/api/image/docker10/doc.go new file mode 100644 index 000000000..cc194d24d --- /dev/null +++ b/vendor/github.com/openshift/api/image/docker10/doc.go @@ -0,0 +1,4 @@ +// +k8s:deepcopy-gen=package,register + +// Package docker10 is the docker10 version of the API. +package docker10 diff --git a/vendor/github.com/openshift/api/image/docker10/dockertypes.go b/vendor/github.com/openshift/api/image/docker10/dockertypes.go new file mode 100644 index 000000000..a985553db --- /dev/null +++ b/vendor/github.com/openshift/api/image/docker10/dockertypes.go @@ -0,0 +1,56 @@ +package docker10 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DockerImage is the type representing a container image and its various properties when +// retrieved from the Docker client API. +type DockerImage struct { + metav1.TypeMeta `json:",inline"` + + ID string `json:"Id"` + Parent string `json:"Parent,omitempty"` + Comment string `json:"Comment,omitempty"` + Created metav1.Time `json:"Created,omitempty"` + Container string `json:"Container,omitempty"` + ContainerConfig DockerConfig `json:"ContainerConfig,omitempty"` + DockerVersion string `json:"DockerVersion,omitempty"` + Author string `json:"Author,omitempty"` + Config *DockerConfig `json:"Config,omitempty"` + Architecture string `json:"Architecture,omitempty"` + Size int64 `json:"Size,omitempty"` +} + +// DockerConfig is the list of configuration options used when creating a container. +type DockerConfig struct { + Hostname string `json:"Hostname,omitempty"` + Domainname string `json:"Domainname,omitempty"` + User string `json:"User,omitempty"` + Memory int64 `json:"Memory,omitempty"` + MemorySwap int64 `json:"MemorySwap,omitempty"` + CPUShares int64 `json:"CpuShares,omitempty"` + CPUSet string `json:"Cpuset,omitempty"` + AttachStdin bool `json:"AttachStdin,omitempty"` + AttachStdout bool `json:"AttachStdout,omitempty"` + AttachStderr bool `json:"AttachStderr,omitempty"` + PortSpecs []string `json:"PortSpecs,omitempty"` + ExposedPorts map[string]struct{} `json:"ExposedPorts,omitempty"` + Tty bool `json:"Tty,omitempty"` + OpenStdin bool `json:"OpenStdin,omitempty"` + StdinOnce bool `json:"StdinOnce,omitempty"` + Env []string `json:"Env,omitempty"` + Cmd []string `json:"Cmd,omitempty"` + DNS []string `json:"Dns,omitempty"` // For Docker API v1.9 and below only + Image string `json:"Image,omitempty"` + Volumes map[string]struct{} `json:"Volumes,omitempty"` + VolumesFrom string `json:"VolumesFrom,omitempty"` + WorkingDir string `json:"WorkingDir,omitempty"` + Entrypoint []string `json:"Entrypoint,omitempty"` + NetworkDisabled bool `json:"NetworkDisabled,omitempty"` + SecurityOpts []string `json:"SecurityOpts,omitempty"` + OnBuild []string `json:"OnBuild,omitempty"` + Labels map[string]string `json:"Labels,omitempty"` +} diff --git a/vendor/github.com/openshift/api/image/docker10/register.go b/vendor/github.com/openshift/api/image/docker10/register.go new file mode 100644 index 000000000..31d616a06 --- /dev/null +++ b/vendor/github.com/openshift/api/image/docker10/register.go @@ -0,0 +1,38 @@ +package docker10 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +const ( + GroupName = "image.openshift.io" + LegacyGroupName = "" +) + +// SchemeGroupVersion is group version used to register these objects +var ( + SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "1.0"} + LegacySchemeGroupVersion = schema.GroupVersion{Group: LegacyGroupName, Version: "1.0"} + + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + LegacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes) + + AddToScheme = SchemeBuilder.AddToScheme + AddToSchemeInCoreGroup = LegacySchemeBuilder.AddToScheme +) + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &DockerImage{}, + ) + return nil +} + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(LegacySchemeGroupVersion, + &DockerImage{}, + ) + return nil +} diff --git a/vendor/github.com/openshift/api/image/docker10/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/image/docker10/zz_generated.deepcopy.go new file mode 100644 index 000000000..b9301dcf2 --- /dev/null +++ b/vendor/github.com/openshift/api/image/docker10/zz_generated.deepcopy.go @@ -0,0 +1,117 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package docker10 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerConfig) DeepCopyInto(out *DockerConfig) { + *out = *in + if in.PortSpecs != nil { + in, out := &in.PortSpecs, &out.PortSpecs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExposedPorts != nil { + in, out := &in.ExposedPorts, &out.ExposedPorts + *out = make(map[string]struct{}, len(*in)) + for key := range *in { + (*out)[key] = struct{}{} + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Cmd != nil { + in, out := &in.Cmd, &out.Cmd + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DNS != nil { + in, out := &in.DNS, &out.DNS + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make(map[string]struct{}, len(*in)) + for key := range *in { + (*out)[key] = struct{}{} + } + } + if in.Entrypoint != nil { + in, out := &in.Entrypoint, &out.Entrypoint + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SecurityOpts != nil { + in, out := &in.SecurityOpts, &out.SecurityOpts + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OnBuild != nil { + in, out := &in.OnBuild, &out.OnBuild + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerConfig. +func (in *DockerConfig) DeepCopy() *DockerConfig { + if in == nil { + return nil + } + out := new(DockerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerImage) DeepCopyInto(out *DockerImage) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Created.DeepCopyInto(&out.Created) + in.ContainerConfig.DeepCopyInto(&out.ContainerConfig) + if in.Config != nil { + in, out := &in.Config, &out.Config + if *in == nil { + *out = nil + } else { + *out = new(DockerConfig) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerImage. +func (in *DockerImage) DeepCopy() *DockerImage { + if in == nil { + return nil + } + out := new(DockerImage) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DockerImage) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/vendor/github.com/openshift/api/image/dockerpre012/deepcopy.go b/vendor/github.com/openshift/api/image/dockerpre012/deepcopy.go new file mode 100644 index 000000000..ddeb4403c --- /dev/null +++ b/vendor/github.com/openshift/api/image/dockerpre012/deepcopy.go @@ -0,0 +1,18 @@ +package dockerpre012 + +// DeepCopyInto is manually built to copy the (probably bugged) time.Time +func (in *ImagePre012) DeepCopyInto(out *ImagePre012) { + *out = *in + out.Created = in.Created + in.ContainerConfig.DeepCopyInto(&out.ContainerConfig) + if in.Config != nil { + in, out := &in.Config, &out.Config + if *in == nil { + *out = nil + } else { + *out = new(Config) + (*in).DeepCopyInto(*out) + } + } + return +} diff --git a/vendor/github.com/openshift/api/image/dockerpre012/doc.go b/vendor/github.com/openshift/api/image/dockerpre012/doc.go new file mode 100644 index 000000000..e4a56260f --- /dev/null +++ b/vendor/github.com/openshift/api/image/dockerpre012/doc.go @@ -0,0 +1,4 @@ +// +k8s:deepcopy-gen=package,register + +// Package dockerpre012 is the dockerpre012 version of the API. +package dockerpre012 diff --git a/vendor/github.com/openshift/api/image/dockerpre012/dockertypes.go b/vendor/github.com/openshift/api/image/dockerpre012/dockertypes.go new file mode 100644 index 000000000..685e0b68c --- /dev/null +++ b/vendor/github.com/openshift/api/image/dockerpre012/dockertypes.go @@ -0,0 +1,136 @@ +package dockerpre012 + +import ( + "time" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DockerImage is for earlier versions of the Docker API (pre-012 to be specific). It is also the +// version of metadata that the container image registry uses to persist metadata. +type DockerImage struct { + metav1.TypeMeta `json:",inline"` + + ID string `json:"id"` + Parent string `json:"parent,omitempty"` + Comment string `json:"comment,omitempty"` + Created metav1.Time `json:"created"` + Container string `json:"container,omitempty"` + ContainerConfig DockerConfig `json:"container_config,omitempty"` + DockerVersion string `json:"docker_version,omitempty"` + Author string `json:"author,omitempty"` + Config *DockerConfig `json:"config,omitempty"` + Architecture string `json:"architecture,omitempty"` + Size int64 `json:"size,omitempty"` +} + +// DockerConfig is the list of configuration options used when creating a container. +type DockerConfig struct { + Hostname string `json:"Hostname,omitempty"` + Domainname string `json:"Domainname,omitempty"` + User string `json:"User,omitempty"` + Memory int64 `json:"Memory,omitempty"` + MemorySwap int64 `json:"MemorySwap,omitempty"` + CPUShares int64 `json:"CpuShares,omitempty"` + CPUSet string `json:"Cpuset,omitempty"` + AttachStdin bool `json:"AttachStdin,omitempty"` + AttachStdout bool `json:"AttachStdout,omitempty"` + AttachStderr bool `json:"AttachStderr,omitempty"` + PortSpecs []string `json:"PortSpecs,omitempty"` + ExposedPorts map[string]struct{} `json:"ExposedPorts,omitempty"` + Tty bool `json:"Tty,omitempty"` + OpenStdin bool `json:"OpenStdin,omitempty"` + StdinOnce bool `json:"StdinOnce,omitempty"` + Env []string `json:"Env,omitempty"` + Cmd []string `json:"Cmd,omitempty"` + DNS []string `json:"Dns,omitempty"` // For Docker API v1.9 and below only + Image string `json:"Image,omitempty"` + Volumes map[string]struct{} `json:"Volumes,omitempty"` + VolumesFrom string `json:"VolumesFrom,omitempty"` + WorkingDir string `json:"WorkingDir,omitempty"` + Entrypoint []string `json:"Entrypoint,omitempty"` + NetworkDisabled bool `json:"NetworkDisabled,omitempty"` + SecurityOpts []string `json:"SecurityOpts,omitempty"` + OnBuild []string `json:"OnBuild,omitempty"` + // This field is not supported in pre012 and will always be empty. + Labels map[string]string `json:"Labels,omitempty"` +} + +// ImagePre012 serves the same purpose as the Image type except that it is for +// earlier versions of the Docker API (pre-012 to be specific) +// Exists only for legacy conversion, copy of type from fsouza/go-dockerclient +type ImagePre012 struct { + ID string `json:"id"` + Parent string `json:"parent,omitempty"` + Comment string `json:"comment,omitempty"` + Created time.Time `json:"created"` + Container string `json:"container,omitempty"` + ContainerConfig Config `json:"container_config,omitempty"` + DockerVersion string `json:"docker_version,omitempty"` + Author string `json:"author,omitempty"` + Config *Config `json:"config,omitempty"` + Architecture string `json:"architecture,omitempty"` + Size int64 `json:"size,omitempty"` +} + +// Config is the list of configuration options used when creating a container. +// Config does not contain the options that are specific to starting a container on a +// given host. Those are contained in HostConfig +// Exists only for legacy conversion, copy of type from fsouza/go-dockerclient +type Config struct { + Hostname string `json:"Hostname,omitempty" yaml:"Hostname,omitempty"` + Domainname string `json:"Domainname,omitempty" yaml:"Domainname,omitempty"` + User string `json:"User,omitempty" yaml:"User,omitempty"` + Memory int64 `json:"Memory,omitempty" yaml:"Memory,omitempty"` + MemorySwap int64 `json:"MemorySwap,omitempty" yaml:"MemorySwap,omitempty"` + MemoryReservation int64 `json:"MemoryReservation,omitempty" yaml:"MemoryReservation,omitempty"` + KernelMemory int64 `json:"KernelMemory,omitempty" yaml:"KernelMemory,omitempty"` + PidsLimit int64 `json:"PidsLimit,omitempty" yaml:"PidsLimit,omitempty"` + CPUShares int64 `json:"CpuShares,omitempty" yaml:"CpuShares,omitempty"` + CPUSet string `json:"Cpuset,omitempty" yaml:"Cpuset,omitempty"` + AttachStdin bool `json:"AttachStdin,omitempty" yaml:"AttachStdin,omitempty"` + AttachStdout bool `json:"AttachStdout,omitempty" yaml:"AttachStdout,omitempty"` + AttachStderr bool `json:"AttachStderr,omitempty" yaml:"AttachStderr,omitempty"` + PortSpecs []string `json:"PortSpecs,omitempty" yaml:"PortSpecs,omitempty"` + ExposedPorts map[Port]struct{} `json:"ExposedPorts,omitempty" yaml:"ExposedPorts,omitempty"` + StopSignal string `json:"StopSignal,omitempty" yaml:"StopSignal,omitempty"` + Tty bool `json:"Tty,omitempty" yaml:"Tty,omitempty"` + OpenStdin bool `json:"OpenStdin,omitempty" yaml:"OpenStdin,omitempty"` + StdinOnce bool `json:"StdinOnce,omitempty" yaml:"StdinOnce,omitempty"` + Env []string `json:"Env,omitempty" yaml:"Env,omitempty"` + Cmd []string `json:"Cmd" yaml:"Cmd"` + DNS []string `json:"Dns,omitempty" yaml:"Dns,omitempty"` // For Docker API v1.9 and below only + Image string `json:"Image,omitempty" yaml:"Image,omitempty"` + Volumes map[string]struct{} `json:"Volumes,omitempty" yaml:"Volumes,omitempty"` + VolumeDriver string `json:"VolumeDriver,omitempty" yaml:"VolumeDriver,omitempty"` + VolumesFrom string `json:"VolumesFrom,omitempty" yaml:"VolumesFrom,omitempty"` + WorkingDir string `json:"WorkingDir,omitempty" yaml:"WorkingDir,omitempty"` + MacAddress string `json:"MacAddress,omitempty" yaml:"MacAddress,omitempty"` + Entrypoint []string `json:"Entrypoint" yaml:"Entrypoint"` + NetworkDisabled bool `json:"NetworkDisabled,omitempty" yaml:"NetworkDisabled,omitempty"` + SecurityOpts []string `json:"SecurityOpts,omitempty" yaml:"SecurityOpts,omitempty"` + OnBuild []string `json:"OnBuild,omitempty" yaml:"OnBuild,omitempty"` + Mounts []Mount `json:"Mounts,omitempty" yaml:"Mounts,omitempty"` + Labels map[string]string `json:"Labels,omitempty" yaml:"Labels,omitempty"` +} + +// Mount represents a mount point in the container. +// +// It has been added in the version 1.20 of the Docker API, available since +// Docker 1.8. +// Exists only for legacy conversion, copy of type from fsouza/go-dockerclient +type Mount struct { + Name string + Source string + Destination string + Driver string + Mode string + RW bool +} + +// Port represents the port number and the protocol, in the form +// /. For example: 80/tcp. +// Exists only for legacy conversion, copy of type from fsouza/go-dockerclient +type Port string diff --git a/vendor/github.com/openshift/api/image/dockerpre012/register.go b/vendor/github.com/openshift/api/image/dockerpre012/register.go new file mode 100644 index 000000000..469806dbe --- /dev/null +++ b/vendor/github.com/openshift/api/image/dockerpre012/register.go @@ -0,0 +1,37 @@ +package dockerpre012 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +const ( + GroupName = "image.openshift.io" + LegacyGroupName = "" +) + +var ( + SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "pre012"} + LegacySchemeGroupVersion = schema.GroupVersion{Group: LegacyGroupName, Version: "pre012"} + + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + AddToScheme = SchemeBuilder.AddToScheme + + LegacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes) + AddToSchemeInCoreGroup = LegacySchemeBuilder.AddToScheme +) + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &DockerImage{}, + ) + return nil +} + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(LegacySchemeGroupVersion, + &DockerImage{}, + ) + return nil +} diff --git a/vendor/github.com/openshift/api/image/dockerpre012/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/image/dockerpre012/zz_generated.deepcopy.go new file mode 100644 index 000000000..14353b705 --- /dev/null +++ b/vendor/github.com/openshift/api/image/dockerpre012/zz_generated.deepcopy.go @@ -0,0 +1,220 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package dockerpre012 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Config) DeepCopyInto(out *Config) { + *out = *in + if in.PortSpecs != nil { + in, out := &in.PortSpecs, &out.PortSpecs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExposedPorts != nil { + in, out := &in.ExposedPorts, &out.ExposedPorts + *out = make(map[Port]struct{}, len(*in)) + for key := range *in { + (*out)[key] = struct{}{} + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Cmd != nil { + in, out := &in.Cmd, &out.Cmd + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DNS != nil { + in, out := &in.DNS, &out.DNS + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make(map[string]struct{}, len(*in)) + for key := range *in { + (*out)[key] = struct{}{} + } + } + if in.Entrypoint != nil { + in, out := &in.Entrypoint, &out.Entrypoint + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SecurityOpts != nil { + in, out := &in.SecurityOpts, &out.SecurityOpts + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OnBuild != nil { + in, out := &in.OnBuild, &out.OnBuild + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Mounts != nil { + in, out := &in.Mounts, &out.Mounts + *out = make([]Mount, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config. +func (in *Config) DeepCopy() *Config { + if in == nil { + return nil + } + out := new(Config) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerConfig) DeepCopyInto(out *DockerConfig) { + *out = *in + if in.PortSpecs != nil { + in, out := &in.PortSpecs, &out.PortSpecs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExposedPorts != nil { + in, out := &in.ExposedPorts, &out.ExposedPorts + *out = make(map[string]struct{}, len(*in)) + for key := range *in { + (*out)[key] = struct{}{} + } + } + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Cmd != nil { + in, out := &in.Cmd, &out.Cmd + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DNS != nil { + in, out := &in.DNS, &out.DNS + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make(map[string]struct{}, len(*in)) + for key := range *in { + (*out)[key] = struct{}{} + } + } + if in.Entrypoint != nil { + in, out := &in.Entrypoint, &out.Entrypoint + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SecurityOpts != nil { + in, out := &in.SecurityOpts, &out.SecurityOpts + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OnBuild != nil { + in, out := &in.OnBuild, &out.OnBuild + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Labels != nil { + in, out := &in.Labels, &out.Labels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerConfig. +func (in *DockerConfig) DeepCopy() *DockerConfig { + if in == nil { + return nil + } + out := new(DockerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerImage) DeepCopyInto(out *DockerImage) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Created.DeepCopyInto(&out.Created) + in.ContainerConfig.DeepCopyInto(&out.ContainerConfig) + if in.Config != nil { + in, out := &in.Config, &out.Config + if *in == nil { + *out = nil + } else { + *out = new(DockerConfig) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerImage. +func (in *DockerImage) DeepCopy() *DockerImage { + if in == nil { + return nil + } + out := new(DockerImage) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DockerImage) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePre012. +func (in *ImagePre012) DeepCopy() *ImagePre012 { + if in == nil { + return nil + } + out := new(ImagePre012) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Mount) DeepCopyInto(out *Mount) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mount. +func (in *Mount) DeepCopy() *Mount { + if in == nil { + return nil + } + out := new(Mount) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/image/install.go b/vendor/github.com/openshift/api/image/install.go new file mode 100644 index 000000000..5b146faa7 --- /dev/null +++ b/vendor/github.com/openshift/api/image/install.go @@ -0,0 +1,26 @@ +package image + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + imagev1 "github.com/openshift/api/image/v1" +) + +const ( + GroupName = "image.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(imagev1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/image/v1/doc.go b/vendor/github.com/openshift/api/image/v1/doc.go new file mode 100644 index 000000000..e57d45bbf --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/image/apis/image +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=image.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/image/v1/generated.pb.go b/vendor/github.com/openshift/api/image/v1/generated.pb.go new file mode 100644 index 000000000..b30e58868 --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/generated.pb.go @@ -0,0 +1,8657 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/image/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/image/v1/generated.proto + + It has these top-level messages: + DockerImageReference + Image + ImageBlobReferences + ImageImportSpec + ImageImportStatus + ImageLayer + ImageLayerData + ImageList + ImageLookupPolicy + ImageSignature + ImageStream + ImageStreamImage + ImageStreamImport + ImageStreamImportSpec + ImageStreamImportStatus + ImageStreamLayers + ImageStreamList + ImageStreamMapping + ImageStreamSpec + ImageStreamStatus + ImageStreamTag + ImageStreamTagList + NamedTagEventList + RepositoryImportSpec + RepositoryImportStatus + SignatureCondition + SignatureGenericEntity + SignatureIssuer + SignatureSubject + TagEvent + TagEventCondition + TagImportPolicy + TagReference + TagReferencePolicy +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *DockerImageReference) Reset() { *m = DockerImageReference{} } +func (*DockerImageReference) ProtoMessage() {} +func (*DockerImageReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *Image) Reset() { *m = Image{} } +func (*Image) ProtoMessage() {} +func (*Image) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *ImageBlobReferences) Reset() { *m = ImageBlobReferences{} } +func (*ImageBlobReferences) ProtoMessage() {} +func (*ImageBlobReferences) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *ImageImportSpec) Reset() { *m = ImageImportSpec{} } +func (*ImageImportSpec) ProtoMessage() {} +func (*ImageImportSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *ImageImportStatus) Reset() { *m = ImageImportStatus{} } +func (*ImageImportStatus) ProtoMessage() {} +func (*ImageImportStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *ImageLayer) Reset() { *m = ImageLayer{} } +func (*ImageLayer) ProtoMessage() {} +func (*ImageLayer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *ImageLayerData) Reset() { *m = ImageLayerData{} } +func (*ImageLayerData) ProtoMessage() {} +func (*ImageLayerData) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } + +func (m *ImageList) Reset() { *m = ImageList{} } +func (*ImageList) ProtoMessage() {} +func (*ImageList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } + +func (m *ImageLookupPolicy) Reset() { *m = ImageLookupPolicy{} } +func (*ImageLookupPolicy) ProtoMessage() {} +func (*ImageLookupPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *ImageSignature) Reset() { *m = ImageSignature{} } +func (*ImageSignature) ProtoMessage() {} +func (*ImageSignature) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *ImageStream) Reset() { *m = ImageStream{} } +func (*ImageStream) ProtoMessage() {} +func (*ImageStream) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } + +func (m *ImageStreamImage) Reset() { *m = ImageStreamImage{} } +func (*ImageStreamImage) ProtoMessage() {} +func (*ImageStreamImage) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func (m *ImageStreamImport) Reset() { *m = ImageStreamImport{} } +func (*ImageStreamImport) ProtoMessage() {} +func (*ImageStreamImport) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *ImageStreamImportSpec) Reset() { *m = ImageStreamImportSpec{} } +func (*ImageStreamImportSpec) ProtoMessage() {} +func (*ImageStreamImportSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } + +func (m *ImageStreamImportStatus) Reset() { *m = ImageStreamImportStatus{} } +func (*ImageStreamImportStatus) ProtoMessage() {} +func (*ImageStreamImportStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{14} +} + +func (m *ImageStreamLayers) Reset() { *m = ImageStreamLayers{} } +func (*ImageStreamLayers) ProtoMessage() {} +func (*ImageStreamLayers) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } + +func (m *ImageStreamList) Reset() { *m = ImageStreamList{} } +func (*ImageStreamList) ProtoMessage() {} +func (*ImageStreamList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } + +func (m *ImageStreamMapping) Reset() { *m = ImageStreamMapping{} } +func (*ImageStreamMapping) ProtoMessage() {} +func (*ImageStreamMapping) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } + +func (m *ImageStreamSpec) Reset() { *m = ImageStreamSpec{} } +func (*ImageStreamSpec) ProtoMessage() {} +func (*ImageStreamSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } + +func (m *ImageStreamStatus) Reset() { *m = ImageStreamStatus{} } +func (*ImageStreamStatus) ProtoMessage() {} +func (*ImageStreamStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} } + +func (m *ImageStreamTag) Reset() { *m = ImageStreamTag{} } +func (*ImageStreamTag) ProtoMessage() {} +func (*ImageStreamTag) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{20} } + +func (m *ImageStreamTagList) Reset() { *m = ImageStreamTagList{} } +func (*ImageStreamTagList) ProtoMessage() {} +func (*ImageStreamTagList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{21} } + +func (m *NamedTagEventList) Reset() { *m = NamedTagEventList{} } +func (*NamedTagEventList) ProtoMessage() {} +func (*NamedTagEventList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} } + +func (m *RepositoryImportSpec) Reset() { *m = RepositoryImportSpec{} } +func (*RepositoryImportSpec) ProtoMessage() {} +func (*RepositoryImportSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} } + +func (m *RepositoryImportStatus) Reset() { *m = RepositoryImportStatus{} } +func (*RepositoryImportStatus) ProtoMessage() {} +func (*RepositoryImportStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} } + +func (m *SignatureCondition) Reset() { *m = SignatureCondition{} } +func (*SignatureCondition) ProtoMessage() {} +func (*SignatureCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} } + +func (m *SignatureGenericEntity) Reset() { *m = SignatureGenericEntity{} } +func (*SignatureGenericEntity) ProtoMessage() {} +func (*SignatureGenericEntity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} } + +func (m *SignatureIssuer) Reset() { *m = SignatureIssuer{} } +func (*SignatureIssuer) ProtoMessage() {} +func (*SignatureIssuer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} } + +func (m *SignatureSubject) Reset() { *m = SignatureSubject{} } +func (*SignatureSubject) ProtoMessage() {} +func (*SignatureSubject) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} } + +func (m *TagEvent) Reset() { *m = TagEvent{} } +func (*TagEvent) ProtoMessage() {} +func (*TagEvent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} } + +func (m *TagEventCondition) Reset() { *m = TagEventCondition{} } +func (*TagEventCondition) ProtoMessage() {} +func (*TagEventCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{30} } + +func (m *TagImportPolicy) Reset() { *m = TagImportPolicy{} } +func (*TagImportPolicy) ProtoMessage() {} +func (*TagImportPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{31} } + +func (m *TagReference) Reset() { *m = TagReference{} } +func (*TagReference) ProtoMessage() {} +func (*TagReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{32} } + +func (m *TagReferencePolicy) Reset() { *m = TagReferencePolicy{} } +func (*TagReferencePolicy) ProtoMessage() {} +func (*TagReferencePolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{33} } + +func init() { + proto.RegisterType((*DockerImageReference)(nil), "github.com.openshift.api.image.v1.DockerImageReference") + proto.RegisterType((*Image)(nil), "github.com.openshift.api.image.v1.Image") + proto.RegisterType((*ImageBlobReferences)(nil), "github.com.openshift.api.image.v1.ImageBlobReferences") + proto.RegisterType((*ImageImportSpec)(nil), "github.com.openshift.api.image.v1.ImageImportSpec") + proto.RegisterType((*ImageImportStatus)(nil), "github.com.openshift.api.image.v1.ImageImportStatus") + proto.RegisterType((*ImageLayer)(nil), "github.com.openshift.api.image.v1.ImageLayer") + proto.RegisterType((*ImageLayerData)(nil), "github.com.openshift.api.image.v1.ImageLayerData") + proto.RegisterType((*ImageList)(nil), "github.com.openshift.api.image.v1.ImageList") + proto.RegisterType((*ImageLookupPolicy)(nil), "github.com.openshift.api.image.v1.ImageLookupPolicy") + proto.RegisterType((*ImageSignature)(nil), "github.com.openshift.api.image.v1.ImageSignature") + proto.RegisterType((*ImageStream)(nil), "github.com.openshift.api.image.v1.ImageStream") + proto.RegisterType((*ImageStreamImage)(nil), "github.com.openshift.api.image.v1.ImageStreamImage") + proto.RegisterType((*ImageStreamImport)(nil), "github.com.openshift.api.image.v1.ImageStreamImport") + proto.RegisterType((*ImageStreamImportSpec)(nil), "github.com.openshift.api.image.v1.ImageStreamImportSpec") + proto.RegisterType((*ImageStreamImportStatus)(nil), "github.com.openshift.api.image.v1.ImageStreamImportStatus") + proto.RegisterType((*ImageStreamLayers)(nil), "github.com.openshift.api.image.v1.ImageStreamLayers") + proto.RegisterType((*ImageStreamList)(nil), "github.com.openshift.api.image.v1.ImageStreamList") + proto.RegisterType((*ImageStreamMapping)(nil), "github.com.openshift.api.image.v1.ImageStreamMapping") + proto.RegisterType((*ImageStreamSpec)(nil), "github.com.openshift.api.image.v1.ImageStreamSpec") + proto.RegisterType((*ImageStreamStatus)(nil), "github.com.openshift.api.image.v1.ImageStreamStatus") + proto.RegisterType((*ImageStreamTag)(nil), "github.com.openshift.api.image.v1.ImageStreamTag") + proto.RegisterType((*ImageStreamTagList)(nil), "github.com.openshift.api.image.v1.ImageStreamTagList") + proto.RegisterType((*NamedTagEventList)(nil), "github.com.openshift.api.image.v1.NamedTagEventList") + proto.RegisterType((*RepositoryImportSpec)(nil), "github.com.openshift.api.image.v1.RepositoryImportSpec") + proto.RegisterType((*RepositoryImportStatus)(nil), "github.com.openshift.api.image.v1.RepositoryImportStatus") + proto.RegisterType((*SignatureCondition)(nil), "github.com.openshift.api.image.v1.SignatureCondition") + proto.RegisterType((*SignatureGenericEntity)(nil), "github.com.openshift.api.image.v1.SignatureGenericEntity") + proto.RegisterType((*SignatureIssuer)(nil), "github.com.openshift.api.image.v1.SignatureIssuer") + proto.RegisterType((*SignatureSubject)(nil), "github.com.openshift.api.image.v1.SignatureSubject") + proto.RegisterType((*TagEvent)(nil), "github.com.openshift.api.image.v1.TagEvent") + proto.RegisterType((*TagEventCondition)(nil), "github.com.openshift.api.image.v1.TagEventCondition") + proto.RegisterType((*TagImportPolicy)(nil), "github.com.openshift.api.image.v1.TagImportPolicy") + proto.RegisterType((*TagReference)(nil), "github.com.openshift.api.image.v1.TagReference") + proto.RegisterType((*TagReferencePolicy)(nil), "github.com.openshift.api.image.v1.TagReferencePolicy") +} +func (m *DockerImageReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DockerImageReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Registry))) + i += copy(dAtA[i:], m.Registry) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace))) + i += copy(dAtA[i:], m.Namespace) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Tag))) + i += copy(dAtA[i:], m.Tag) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ID))) + i += copy(dAtA[i:], m.ID) + return i, nil +} + +func (m *Image) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Image) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageReference))) + i += copy(dAtA[i:], m.DockerImageReference) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DockerImageMetadata.Size())) + n2, err := m.DockerImageMetadata.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageMetadataVersion))) + i += copy(dAtA[i:], m.DockerImageMetadataVersion) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageManifest))) + i += copy(dAtA[i:], m.DockerImageManifest) + if len(m.DockerImageLayers) > 0 { + for _, msg := range m.DockerImageLayers { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Signatures) > 0 { + for _, msg := range m.Signatures { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.DockerImageSignatures) > 0 { + for _, b := range m.DockerImageSignatures { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(b))) + i += copy(dAtA[i:], b) + } + } + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageManifestMediaType))) + i += copy(dAtA[i:], m.DockerImageManifestMediaType) + dAtA[i] = 0x52 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageConfig))) + i += copy(dAtA[i:], m.DockerImageConfig) + return i, nil +} + +func (m *ImageBlobReferences) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageBlobReferences) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Layers) > 0 { + for _, s := range m.Layers { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if m.Config != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Config))) + i += copy(dAtA[i:], *m.Config) + } + dAtA[i] = 0x18 + i++ + if m.ImageMissing { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *ImageImportSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageImportSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n3, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + if m.To != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.To.Size())) + n4, err := m.To.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ImportPolicy.Size())) + n5, err := m.ImportPolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + dAtA[i] = 0x20 + i++ + if m.IncludeManifest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ReferencePolicy.Size())) + n6, err := m.ReferencePolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + return i, nil +} + +func (m *ImageImportStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageImportStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n7, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + if m.Image != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Image.Size())) + n8, err := m.Image.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Tag))) + i += copy(dAtA[i:], m.Tag) + return i, nil +} + +func (m *ImageLayer) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageLayer) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LayerSize)) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.MediaType))) + i += copy(dAtA[i:], m.MediaType) + return i, nil +} + +func (m *ImageLayerData) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageLayerData) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.LayerSize != nil { + dAtA[i] = 0x8 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.LayerSize)) + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.MediaType))) + i += copy(dAtA[i:], m.MediaType) + return i, nil +} + +func (m *ImageList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n9, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ImageLookupPolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageLookupPolicy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x18 + i++ + if m.Local { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *ImageSignature) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageSignature) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n10, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.Content != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Content))) + i += copy(dAtA[i:], m.Content) + } + if len(m.Conditions) > 0 { + for _, msg := range m.Conditions { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ImageIdentity))) + i += copy(dAtA[i:], m.ImageIdentity) + if len(m.SignedClaims) > 0 { + keysForSignedClaims := make([]string, 0, len(m.SignedClaims)) + for k := range m.SignedClaims { + keysForSignedClaims = append(keysForSignedClaims, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForSignedClaims) + for _, k := range keysForSignedClaims { + dAtA[i] = 0x32 + i++ + v := m.SignedClaims[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if m.Created != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Created.Size())) + n11, err := m.Created.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + } + if m.IssuedBy != nil { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.IssuedBy.Size())) + n12, err := m.IssuedBy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + } + if m.IssuedTo != nil { + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.IssuedTo.Size())) + n13, err := m.IssuedTo.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + } + return i, nil +} + +func (m *ImageStream) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStream) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n14, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n15, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n15 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n16, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n16 + return i, nil +} + +func (m *ImageStreamImage) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamImage) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n17, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Image.Size())) + n18, err := m.Image.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + return i, nil +} + +func (m *ImageStreamImport) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamImport) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n19, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n19 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n20, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n21, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + return i, nil +} + +func (m *ImageStreamImportSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamImportSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + if m.Import { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.Repository != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Repository.Size())) + n22, err := m.Repository.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n22 + } + if len(m.Images) > 0 { + for _, msg := range m.Images { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ImageStreamImportStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamImportStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Import != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Import.Size())) + n23, err := m.Import.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n23 + } + if m.Repository != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Repository.Size())) + n24, err := m.Repository.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n24 + } + if len(m.Images) > 0 { + for _, msg := range m.Images { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ImageStreamLayers) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamLayers) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n25, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n25 + if len(m.Blobs) > 0 { + keysForBlobs := make([]string, 0, len(m.Blobs)) + for k := range m.Blobs { + keysForBlobs = append(keysForBlobs, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForBlobs) + for _, k := range keysForBlobs { + dAtA[i] = 0x12 + i++ + v := m.Blobs[string(k)] + msgSize := 0 + if (&v) != nil { + msgSize = (&v).Size() + msgSize += 1 + sovGenerated(uint64(msgSize)) + } + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + msgSize + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) + n26, err := (&v).MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n26 + } + } + if len(m.Images) > 0 { + keysForImages := make([]string, 0, len(m.Images)) + for k := range m.Images { + keysForImages = append(keysForImages, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForImages) + for _, k := range keysForImages { + dAtA[i] = 0x1a + i++ + v := m.Images[string(k)] + msgSize := 0 + if (&v) != nil { + msgSize = (&v).Size() + msgSize += 1 + sovGenerated(uint64(msgSize)) + } + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + msgSize + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) + n27, err := (&v).MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n27 + } + } + return i, nil +} + +func (m *ImageStreamList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n28, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n28 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ImageStreamMapping) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamMapping) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n29, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n29 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Image.Size())) + n30, err := m.Image.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n30 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Tag))) + i += copy(dAtA[i:], m.Tag) + return i, nil +} + +func (m *ImageStreamSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageRepository))) + i += copy(dAtA[i:], m.DockerImageRepository) + if len(m.Tags) > 0 { + for _, msg := range m.Tags { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LookupPolicy.Size())) + n31, err := m.LookupPolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n31 + return i, nil +} + +func (m *ImageStreamStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageRepository))) + i += copy(dAtA[i:], m.DockerImageRepository) + if len(m.Tags) > 0 { + for _, msg := range m.Tags { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.PublicDockerImageRepository))) + i += copy(dAtA[i:], m.PublicDockerImageRepository) + return i, nil +} + +func (m *ImageStreamTag) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamTag) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n32, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n32 + if m.Tag != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Tag.Size())) + n33, err := m.Tag.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n33 + } + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Generation)) + if len(m.Conditions) > 0 { + for _, msg := range m.Conditions { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Image.Size())) + n34, err := m.Image.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n34 + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LookupPolicy.Size())) + n35, err := m.LookupPolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n35 + return i, nil +} + +func (m *ImageStreamTagList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ImageStreamTagList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n36, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n36 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *NamedTagEventList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NamedTagEventList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Tag))) + i += copy(dAtA[i:], m.Tag) + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Conditions) > 0 { + for _, msg := range m.Conditions { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RepositoryImportSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RepositoryImportSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n37, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n37 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ImportPolicy.Size())) + n38, err := m.ImportPolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n38 + dAtA[i] = 0x18 + i++ + if m.IncludeManifest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ReferencePolicy.Size())) + n39, err := m.ReferencePolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n39 + return i, nil +} + +func (m *RepositoryImportStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RepositoryImportStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n40, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n40 + if len(m.Images) > 0 { + for _, msg := range m.Images { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.AdditionalTags) > 0 { + for _, s := range m.AdditionalTags { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *SignatureCondition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignatureCondition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status))) + i += copy(dAtA[i:], m.Status) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastProbeTime.Size())) + n41, err := m.LastProbeTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n41 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n42, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n42 + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + return i, nil +} + +func (m *SignatureGenericEntity) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignatureGenericEntity) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Organization))) + i += copy(dAtA[i:], m.Organization) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CommonName))) + i += copy(dAtA[i:], m.CommonName) + return i, nil +} + +func (m *SignatureIssuer) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignatureIssuer) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SignatureGenericEntity.Size())) + n43, err := m.SignatureGenericEntity.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n43 + return i, nil +} + +func (m *SignatureSubject) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignatureSubject) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SignatureGenericEntity.Size())) + n44, err := m.SignatureGenericEntity.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n44 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.PublicKeyID))) + i += copy(dAtA[i:], m.PublicKeyID) + return i, nil +} + +func (m *TagEvent) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TagEvent) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Created.Size())) + n45, err := m.Created.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n45 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DockerImageReference))) + i += copy(dAtA[i:], m.DockerImageReference) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Image))) + i += copy(dAtA[i:], m.Image) + dAtA[i] = 0x20 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Generation)) + return i, nil +} + +func (m *TagEventCondition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TagEventCondition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status))) + i += copy(dAtA[i:], m.Status) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n46, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n46 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + dAtA[i] = 0x30 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Generation)) + return i, nil +} + +func (m *TagImportPolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TagImportPolicy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + if m.Insecure { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x10 + i++ + if m.Scheduled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *TagReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TagReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + if len(m.Annotations) > 0 { + keysForAnnotations := make([]string, 0, len(m.Annotations)) + for k := range m.Annotations { + keysForAnnotations = append(keysForAnnotations, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForAnnotations) + for _, k := range keysForAnnotations { + dAtA[i] = 0x12 + i++ + v := m.Annotations[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if m.From != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.From.Size())) + n47, err := m.From.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n47 + } + dAtA[i] = 0x20 + i++ + if m.Reference { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.Generation != nil { + dAtA[i] = 0x28 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.Generation)) + } + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ImportPolicy.Size())) + n48, err := m.ImportPolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n48 + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ReferencePolicy.Size())) + n49, err := m.ReferencePolicy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n49 + return i, nil +} + +func (m *TagReferencePolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TagReferencePolicy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *DockerImageReference) Size() (n int) { + var l int + _ = l + l = len(m.Registry) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Namespace) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Tag) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ID) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *Image) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DockerImageReference) + n += 1 + l + sovGenerated(uint64(l)) + l = m.DockerImageMetadata.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DockerImageMetadataVersion) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DockerImageManifest) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.DockerImageLayers) > 0 { + for _, e := range m.DockerImageLayers { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Signatures) > 0 { + for _, e := range m.Signatures { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.DockerImageSignatures) > 0 { + for _, b := range m.DockerImageSignatures { + l = len(b) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.DockerImageManifestMediaType) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DockerImageConfig) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageBlobReferences) Size() (n int) { + var l int + _ = l + if len(m.Layers) > 0 { + for _, s := range m.Layers { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.Config != nil { + l = len(*m.Config) + n += 1 + l + sovGenerated(uint64(l)) + } + n += 2 + return n +} + +func (m *ImageImportSpec) Size() (n int) { + var l int + _ = l + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.To != nil { + l = m.To.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = m.ImportPolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + l = m.ReferencePolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageImportStatus) Size() (n int) { + var l int + _ = l + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Image != nil { + l = m.Image.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.Tag) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageLayer) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.LayerSize)) + l = len(m.MediaType) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageLayerData) Size() (n int) { + var l int + _ = l + if m.LayerSize != nil { + n += 1 + sovGenerated(uint64(*m.LayerSize)) + } + l = len(m.MediaType) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ImageLookupPolicy) Size() (n int) { + var l int + _ = l + n += 2 + return n +} + +func (m *ImageSignature) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.Content != nil { + l = len(m.Content) + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Conditions) > 0 { + for _, e := range m.Conditions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.ImageIdentity) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.SignedClaims) > 0 { + for k, v := range m.SignedClaims { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.Created != nil { + l = m.Created.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.IssuedBy != nil { + l = m.IssuedBy.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.IssuedTo != nil { + l = m.IssuedTo.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ImageStream) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageStreamImage) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Image.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageStreamImport) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageStreamImportSpec) Size() (n int) { + var l int + _ = l + n += 2 + if m.Repository != nil { + l = m.Repository.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Images) > 0 { + for _, e := range m.Images { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ImageStreamImportStatus) Size() (n int) { + var l int + _ = l + if m.Import != nil { + l = m.Import.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Repository != nil { + l = m.Repository.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Images) > 0 { + for _, e := range m.Images { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ImageStreamLayers) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Blobs) > 0 { + for k, v := range m.Blobs { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if len(m.Images) > 0 { + for k, v := range m.Images { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + return n +} + +func (m *ImageStreamList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ImageStreamMapping) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Image.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Tag) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageStreamSpec) Size() (n int) { + var l int + _ = l + l = len(m.DockerImageRepository) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Tags) > 0 { + for _, e := range m.Tags { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.LookupPolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageStreamStatus) Size() (n int) { + var l int + _ = l + l = len(m.DockerImageRepository) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Tags) > 0 { + for _, e := range m.Tags { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.PublicDockerImageRepository) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageStreamTag) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Tag != nil { + l = m.Tag.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 1 + sovGenerated(uint64(m.Generation)) + if len(m.Conditions) > 0 { + for _, e := range m.Conditions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.Image.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.LookupPolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ImageStreamTagList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *NamedTagEventList) Size() (n int) { + var l int + _ = l + l = len(m.Tag) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Conditions) > 0 { + for _, e := range m.Conditions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RepositoryImportSpec) Size() (n int) { + var l int + _ = l + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.ImportPolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + l = m.ReferencePolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RepositoryImportStatus) Size() (n int) { + var l int + _ = l + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Images) > 0 { + for _, e := range m.Images { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.AdditionalTags) > 0 { + for _, s := range m.AdditionalTags { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *SignatureCondition) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Status) + n += 1 + l + sovGenerated(uint64(l)) + l = m.LastProbeTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.LastTransitionTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SignatureGenericEntity) Size() (n int) { + var l int + _ = l + l = len(m.Organization) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.CommonName) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SignatureIssuer) Size() (n int) { + var l int + _ = l + l = m.SignatureGenericEntity.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SignatureSubject) Size() (n int) { + var l int + _ = l + l = m.SignatureGenericEntity.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.PublicKeyID) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *TagEvent) Size() (n int) { + var l int + _ = l + l = m.Created.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DockerImageReference) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Image) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.Generation)) + return n +} + +func (m *TagEventCondition) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Status) + n += 1 + l + sovGenerated(uint64(l)) + l = m.LastTransitionTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.Generation)) + return n +} + +func (m *TagImportPolicy) Size() (n int) { + var l int + _ = l + n += 2 + n += 2 + return n +} + +func (m *TagReference) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Annotations) > 0 { + for k, v := range m.Annotations { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.From != nil { + l = m.From.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + n += 2 + if m.Generation != nil { + n += 1 + sovGenerated(uint64(*m.Generation)) + } + l = m.ImportPolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.ReferencePolicy.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *TagReferencePolicy) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *DockerImageReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&DockerImageReference{`, + `Registry:` + fmt.Sprintf("%v", this.Registry) + `,`, + `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Tag:` + fmt.Sprintf("%v", this.Tag) + `,`, + `ID:` + fmt.Sprintf("%v", this.ID) + `,`, + `}`, + }, "") + return s +} +func (this *Image) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Image{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `DockerImageReference:` + fmt.Sprintf("%v", this.DockerImageReference) + `,`, + `DockerImageMetadata:` + strings.Replace(strings.Replace(this.DockerImageMetadata.String(), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `DockerImageMetadataVersion:` + fmt.Sprintf("%v", this.DockerImageMetadataVersion) + `,`, + `DockerImageManifest:` + fmt.Sprintf("%v", this.DockerImageManifest) + `,`, + `DockerImageLayers:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.DockerImageLayers), "ImageLayer", "ImageLayer", 1), `&`, ``, 1) + `,`, + `Signatures:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Signatures), "ImageSignature", "ImageSignature", 1), `&`, ``, 1) + `,`, + `DockerImageSignatures:` + fmt.Sprintf("%v", this.DockerImageSignatures) + `,`, + `DockerImageManifestMediaType:` + fmt.Sprintf("%v", this.DockerImageManifestMediaType) + `,`, + `DockerImageConfig:` + fmt.Sprintf("%v", this.DockerImageConfig) + `,`, + `}`, + }, "") + return s +} +func (this *ImageBlobReferences) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageBlobReferences{`, + `Layers:` + fmt.Sprintf("%v", this.Layers) + `,`, + `Config:` + valueToStringGenerated(this.Config) + `,`, + `ImageMissing:` + fmt.Sprintf("%v", this.ImageMissing) + `,`, + `}`, + }, "") + return s +} +func (this *ImageImportSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageImportSpec{`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `To:` + strings.Replace(fmt.Sprintf("%v", this.To), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `ImportPolicy:` + strings.Replace(strings.Replace(this.ImportPolicy.String(), "TagImportPolicy", "TagImportPolicy", 1), `&`, ``, 1) + `,`, + `IncludeManifest:` + fmt.Sprintf("%v", this.IncludeManifest) + `,`, + `ReferencePolicy:` + strings.Replace(strings.Replace(this.ReferencePolicy.String(), "TagReferencePolicy", "TagReferencePolicy", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageImportStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageImportStatus{`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "Status", "k8s_io_apimachinery_pkg_apis_meta_v1.Status", 1), `&`, ``, 1) + `,`, + `Image:` + strings.Replace(fmt.Sprintf("%v", this.Image), "Image", "Image", 1) + `,`, + `Tag:` + fmt.Sprintf("%v", this.Tag) + `,`, + `}`, + }, "") + return s +} +func (this *ImageLayer) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageLayer{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `LayerSize:` + fmt.Sprintf("%v", this.LayerSize) + `,`, + `MediaType:` + fmt.Sprintf("%v", this.MediaType) + `,`, + `}`, + }, "") + return s +} +func (this *ImageLayerData) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageLayerData{`, + `LayerSize:` + valueToStringGenerated(this.LayerSize) + `,`, + `MediaType:` + fmt.Sprintf("%v", this.MediaType) + `,`, + `}`, + }, "") + return s +} +func (this *ImageList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Image", "Image", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageLookupPolicy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageLookupPolicy{`, + `Local:` + fmt.Sprintf("%v", this.Local) + `,`, + `}`, + }, "") + return s +} +func (this *ImageSignature) String() string { + if this == nil { + return "nil" + } + keysForSignedClaims := make([]string, 0, len(this.SignedClaims)) + for k := range this.SignedClaims { + keysForSignedClaims = append(keysForSignedClaims, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForSignedClaims) + mapStringForSignedClaims := "map[string]string{" + for _, k := range keysForSignedClaims { + mapStringForSignedClaims += fmt.Sprintf("%v: %v,", k, this.SignedClaims[k]) + } + mapStringForSignedClaims += "}" + s := strings.Join([]string{`&ImageSignature{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Content:` + valueToStringGenerated(this.Content) + `,`, + `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "SignatureCondition", "SignatureCondition", 1), `&`, ``, 1) + `,`, + `ImageIdentity:` + fmt.Sprintf("%v", this.ImageIdentity) + `,`, + `SignedClaims:` + mapStringForSignedClaims + `,`, + `Created:` + strings.Replace(fmt.Sprintf("%v", this.Created), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `IssuedBy:` + strings.Replace(fmt.Sprintf("%v", this.IssuedBy), "SignatureIssuer", "SignatureIssuer", 1) + `,`, + `IssuedTo:` + strings.Replace(fmt.Sprintf("%v", this.IssuedTo), "SignatureSubject", "SignatureSubject", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStream) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStream{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ImageStreamSpec", "ImageStreamSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ImageStreamStatus", "ImageStreamStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamImage) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamImage{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Image:` + strings.Replace(strings.Replace(this.Image.String(), "Image", "Image", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamImport) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamImport{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ImageStreamImportSpec", "ImageStreamImportSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ImageStreamImportStatus", "ImageStreamImportStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamImportSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamImportSpec{`, + `Import:` + fmt.Sprintf("%v", this.Import) + `,`, + `Repository:` + strings.Replace(fmt.Sprintf("%v", this.Repository), "RepositoryImportSpec", "RepositoryImportSpec", 1) + `,`, + `Images:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Images), "ImageImportSpec", "ImageImportSpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamImportStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamImportStatus{`, + `Import:` + strings.Replace(fmt.Sprintf("%v", this.Import), "ImageStream", "ImageStream", 1) + `,`, + `Repository:` + strings.Replace(fmt.Sprintf("%v", this.Repository), "RepositoryImportStatus", "RepositoryImportStatus", 1) + `,`, + `Images:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Images), "ImageImportStatus", "ImageImportStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamLayers) String() string { + if this == nil { + return "nil" + } + keysForBlobs := make([]string, 0, len(this.Blobs)) + for k := range this.Blobs { + keysForBlobs = append(keysForBlobs, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForBlobs) + mapStringForBlobs := "map[string]ImageLayerData{" + for _, k := range keysForBlobs { + mapStringForBlobs += fmt.Sprintf("%v: %v,", k, this.Blobs[k]) + } + mapStringForBlobs += "}" + keysForImages := make([]string, 0, len(this.Images)) + for k := range this.Images { + keysForImages = append(keysForImages, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForImages) + mapStringForImages := "map[string]ImageBlobReferences{" + for _, k := range keysForImages { + mapStringForImages += fmt.Sprintf("%v: %v,", k, this.Images[k]) + } + mapStringForImages += "}" + s := strings.Join([]string{`&ImageStreamLayers{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Blobs:` + mapStringForBlobs + `,`, + `Images:` + mapStringForImages + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ImageStream", "ImageStream", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamMapping) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamMapping{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Image:` + strings.Replace(strings.Replace(this.Image.String(), "Image", "Image", 1), `&`, ``, 1) + `,`, + `Tag:` + fmt.Sprintf("%v", this.Tag) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamSpec{`, + `DockerImageRepository:` + fmt.Sprintf("%v", this.DockerImageRepository) + `,`, + `Tags:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Tags), "TagReference", "TagReference", 1), `&`, ``, 1) + `,`, + `LookupPolicy:` + strings.Replace(strings.Replace(this.LookupPolicy.String(), "ImageLookupPolicy", "ImageLookupPolicy", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamStatus{`, + `DockerImageRepository:` + fmt.Sprintf("%v", this.DockerImageRepository) + `,`, + `Tags:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Tags), "NamedTagEventList", "NamedTagEventList", 1), `&`, ``, 1) + `,`, + `PublicDockerImageRepository:` + fmt.Sprintf("%v", this.PublicDockerImageRepository) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamTag) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamTag{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Tag:` + strings.Replace(fmt.Sprintf("%v", this.Tag), "TagReference", "TagReference", 1) + `,`, + `Generation:` + fmt.Sprintf("%v", this.Generation) + `,`, + `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "TagEventCondition", "TagEventCondition", 1), `&`, ``, 1) + `,`, + `Image:` + strings.Replace(strings.Replace(this.Image.String(), "Image", "Image", 1), `&`, ``, 1) + `,`, + `LookupPolicy:` + strings.Replace(strings.Replace(this.LookupPolicy.String(), "ImageLookupPolicy", "ImageLookupPolicy", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ImageStreamTagList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ImageStreamTagList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ImageStreamTag", "ImageStreamTag", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *NamedTagEventList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NamedTagEventList{`, + `Tag:` + fmt.Sprintf("%v", this.Tag) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "TagEvent", "TagEvent", 1), `&`, ``, 1) + `,`, + `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "TagEventCondition", "TagEventCondition", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RepositoryImportSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RepositoryImportSpec{`, + `From:` + strings.Replace(strings.Replace(this.From.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `ImportPolicy:` + strings.Replace(strings.Replace(this.ImportPolicy.String(), "TagImportPolicy", "TagImportPolicy", 1), `&`, ``, 1) + `,`, + `IncludeManifest:` + fmt.Sprintf("%v", this.IncludeManifest) + `,`, + `ReferencePolicy:` + strings.Replace(strings.Replace(this.ReferencePolicy.String(), "TagReferencePolicy", "TagReferencePolicy", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RepositoryImportStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RepositoryImportStatus{`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "Status", "k8s_io_apimachinery_pkg_apis_meta_v1.Status", 1), `&`, ``, 1) + `,`, + `Images:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Images), "ImageImportStatus", "ImageImportStatus", 1), `&`, ``, 1) + `,`, + `AdditionalTags:` + fmt.Sprintf("%v", this.AdditionalTags) + `,`, + `}`, + }, "") + return s +} +func (this *SignatureCondition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SignatureCondition{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Status:` + fmt.Sprintf("%v", this.Status) + `,`, + `LastProbeTime:` + strings.Replace(strings.Replace(this.LastProbeTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `}`, + }, "") + return s +} +func (this *SignatureGenericEntity) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SignatureGenericEntity{`, + `Organization:` + fmt.Sprintf("%v", this.Organization) + `,`, + `CommonName:` + fmt.Sprintf("%v", this.CommonName) + `,`, + `}`, + }, "") + return s +} +func (this *SignatureIssuer) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SignatureIssuer{`, + `SignatureGenericEntity:` + strings.Replace(strings.Replace(this.SignatureGenericEntity.String(), "SignatureGenericEntity", "SignatureGenericEntity", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *SignatureSubject) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SignatureSubject{`, + `SignatureGenericEntity:` + strings.Replace(strings.Replace(this.SignatureGenericEntity.String(), "SignatureGenericEntity", "SignatureGenericEntity", 1), `&`, ``, 1) + `,`, + `PublicKeyID:` + fmt.Sprintf("%v", this.PublicKeyID) + `,`, + `}`, + }, "") + return s +} +func (this *TagEvent) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TagEvent{`, + `Created:` + strings.Replace(strings.Replace(this.Created.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `DockerImageReference:` + fmt.Sprintf("%v", this.DockerImageReference) + `,`, + `Image:` + fmt.Sprintf("%v", this.Image) + `,`, + `Generation:` + fmt.Sprintf("%v", this.Generation) + `,`, + `}`, + }, "") + return s +} +func (this *TagEventCondition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TagEventCondition{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Status:` + fmt.Sprintf("%v", this.Status) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `Generation:` + fmt.Sprintf("%v", this.Generation) + `,`, + `}`, + }, "") + return s +} +func (this *TagImportPolicy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TagImportPolicy{`, + `Insecure:` + fmt.Sprintf("%v", this.Insecure) + `,`, + `Scheduled:` + fmt.Sprintf("%v", this.Scheduled) + `,`, + `}`, + }, "") + return s +} +func (this *TagReference) String() string { + if this == nil { + return "nil" + } + keysForAnnotations := make([]string, 0, len(this.Annotations)) + for k := range this.Annotations { + keysForAnnotations = append(keysForAnnotations, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForAnnotations) + mapStringForAnnotations := "map[string]string{" + for _, k := range keysForAnnotations { + mapStringForAnnotations += fmt.Sprintf("%v: %v,", k, this.Annotations[k]) + } + mapStringForAnnotations += "}" + s := strings.Join([]string{`&TagReference{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Annotations:` + mapStringForAnnotations + `,`, + `From:` + strings.Replace(fmt.Sprintf("%v", this.From), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `Reference:` + fmt.Sprintf("%v", this.Reference) + `,`, + `Generation:` + valueToStringGenerated(this.Generation) + `,`, + `ImportPolicy:` + strings.Replace(strings.Replace(this.ImportPolicy.String(), "TagImportPolicy", "TagImportPolicy", 1), `&`, ``, 1) + `,`, + `ReferencePolicy:` + strings.Replace(strings.Replace(this.ReferencePolicy.String(), "TagReferencePolicy", "TagReferencePolicy", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *TagReferencePolicy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TagReferencePolicy{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *DockerImageReference) 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 ErrIntOverflowGenerated + } + 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: DockerImageReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DockerImageReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Registry", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Registry = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tag", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tag = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Image) 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 ErrIntOverflowGenerated + } + 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: Image: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Image: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageReference", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageReference = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.DockerImageMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageMetadataVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageMetadataVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageManifest", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageManifest = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageLayers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageLayers = append(m.DockerImageLayers, ImageLayer{}) + if err := m.DockerImageLayers[len(m.DockerImageLayers)-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 Signatures", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signatures = append(m.Signatures, ImageSignature{}) + if err := m.Signatures[len(m.Signatures)-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 DockerImageSignatures", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageSignatures = append(m.DockerImageSignatures, make([]byte, postIndex-iNdEx)) + copy(m.DockerImageSignatures[len(m.DockerImageSignatures)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageManifestMediaType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageManifestMediaType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageConfig", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageConfig = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageBlobReferences) 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 ErrIntOverflowGenerated + } + 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: ImageBlobReferences: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageBlobReferences: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Layers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Layers = append(m.Layers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.Config = &s + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ImageMissing", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ImageMissing = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageImportSpec) 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 ErrIntOverflowGenerated + } + 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: ImageImportSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageImportSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.To == nil { + m.To = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.To.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImportPolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ImportPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeManifest", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IncludeManifest = bool(v != 0) + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReferencePolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ReferencePolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageImportStatus) 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 ErrIntOverflowGenerated + } + 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: ImageImportStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageImportStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Image == nil { + m.Image = &Image{} + } + if err := m.Image.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tag", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tag = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageLayer) 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 ErrIntOverflowGenerated + } + 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: ImageLayer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageLayer: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + 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 LayerSize", wireType) + } + m.LayerSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LayerSize |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MediaType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MediaType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageLayerData) 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 ErrIntOverflowGenerated + } + 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: ImageLayerData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageLayerData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LayerSize", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.LayerSize = &v + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MediaType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MediaType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageList) 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 ErrIntOverflowGenerated + } + 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: ImageList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Image{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageLookupPolicy) 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 ErrIntOverflowGenerated + } + 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: ImageLookupPolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageLookupPolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Local", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Local = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageSignature) 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 ErrIntOverflowGenerated + } + 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: ImageSignature: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageSignature: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Content = append(m.Content[:0], dAtA[iNdEx:postIndex]...) + if m.Content == nil { + m.Content = []byte{} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Conditions = append(m.Conditions, SignatureCondition{}) + if err := m.Conditions[len(m.Conditions)-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 ImageIdentity", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ImageIdentity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedClaims", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.SignedClaims == nil { + m.SignedClaims = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.SignedClaims[mapkey] = mapvalue + } else { + var mapvalue string + m.SignedClaims[mapkey] = mapvalue + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Created", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Created == nil { + m.Created = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IssuedBy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.IssuedBy == nil { + m.IssuedBy = &SignatureIssuer{} + } + if err := m.IssuedBy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IssuedTo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.IssuedTo == nil { + m.IssuedTo = &SignatureSubject{} + } + if err := m.IssuedTo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStream) 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 ErrIntOverflowGenerated + } + 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: ImageStream: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStream: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamImage) 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 ErrIntOverflowGenerated + } + 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: ImageStreamImage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamImage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Image.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamImport) 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 ErrIntOverflowGenerated + } + 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: ImageStreamImport: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamImport: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamImportSpec) 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 ErrIntOverflowGenerated + } + 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: ImageStreamImportSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamImportSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Import", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Import = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Repository", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Repository == nil { + m.Repository = &RepositoryImportSpec{} + } + if err := m.Repository.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Images", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Images = append(m.Images, ImageImportSpec{}) + if err := m.Images[len(m.Images)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamImportStatus) 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 ErrIntOverflowGenerated + } + 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: ImageStreamImportStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamImportStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Import", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Import == nil { + m.Import = &ImageStream{} + } + if err := m.Import.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Repository", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Repository == nil { + m.Repository = &RepositoryImportStatus{} + } + if err := m.Repository.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Images", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Images = append(m.Images, ImageImportStatus{}) + if err := m.Images[len(m.Images)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamLayers) 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 ErrIntOverflowGenerated + } + 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: ImageStreamLayers: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamLayers: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Blobs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Blobs == nil { + m.Blobs = make(map[string]ImageLayerData) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &ImageLayerData{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + m.Blobs[mapkey] = *mapvalue + } else { + var mapvalue ImageLayerData + m.Blobs[mapkey] = mapvalue + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Images", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Images == nil { + m.Images = make(map[string]ImageBlobReferences) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &ImageBlobReferences{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + m.Images[mapkey] = *mapvalue + } else { + var mapvalue ImageBlobReferences + m.Images[mapkey] = mapvalue + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamList) 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 ErrIntOverflowGenerated + } + 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: ImageStreamList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, ImageStream{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamMapping) 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 ErrIntOverflowGenerated + } + 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: ImageStreamMapping: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamMapping: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Image.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tag", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tag = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamSpec) 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 ErrIntOverflowGenerated + } + 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: ImageStreamSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageRepository", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageRepository = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tags = append(m.Tags, TagReference{}) + if err := m.Tags[len(m.Tags)-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 LookupPolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LookupPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamStatus) 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 ErrIntOverflowGenerated + } + 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: ImageStreamStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageRepository", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageRepository = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tags = append(m.Tags, NamedTagEventList{}) + if err := m.Tags[len(m.Tags)-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 PublicDockerImageRepository", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublicDockerImageRepository = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamTag) 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 ErrIntOverflowGenerated + } + 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: ImageStreamTag: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamTag: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tag", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Tag == nil { + m.Tag = &TagReference{} + } + if err := m.Tag.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Generation", wireType) + } + m.Generation = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Generation |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Conditions = append(m.Conditions, TagEventCondition{}) + if err := m.Conditions[len(m.Conditions)-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 Image", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Image.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LookupPolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LookupPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ImageStreamTagList) 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 ErrIntOverflowGenerated + } + 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: ImageStreamTagList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ImageStreamTagList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, ImageStreamTag{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NamedTagEventList) 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 ErrIntOverflowGenerated + } + 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: NamedTagEventList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NamedTagEventList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tag", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tag = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, TagEvent{}) + if err := m.Items[len(m.Items)-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 Conditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Conditions = append(m.Conditions, TagEventCondition{}) + if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RepositoryImportSpec) 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 ErrIntOverflowGenerated + } + 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: RepositoryImportSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RepositoryImportSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImportPolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ImportPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IncludeManifest", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.IncludeManifest = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReferencePolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ReferencePolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RepositoryImportStatus) 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 ErrIntOverflowGenerated + } + 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: RepositoryImportStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RepositoryImportStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Images", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Images = append(m.Images, ImageImportStatus{}) + if err := m.Images[len(m.Images)-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 AdditionalTags", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AdditionalTags = append(m.AdditionalTags, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignatureCondition) 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 ErrIntOverflowGenerated + } + 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: SignatureCondition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignatureCondition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = SignatureConditionType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastProbeTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastProbeTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignatureGenericEntity) 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 ErrIntOverflowGenerated + } + 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: SignatureGenericEntity: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignatureGenericEntity: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Organization", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Organization = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CommonName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CommonName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignatureIssuer) 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 ErrIntOverflowGenerated + } + 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: SignatureIssuer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignatureIssuer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignatureGenericEntity", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SignatureGenericEntity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignatureSubject) 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 ErrIntOverflowGenerated + } + 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: SignatureSubject: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignatureSubject: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignatureGenericEntity", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SignatureGenericEntity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicKeyID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublicKeyID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TagEvent) 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 ErrIntOverflowGenerated + } + 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: TagEvent: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TagEvent: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Created", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Created.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DockerImageReference", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DockerImageReference = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Image = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Generation", wireType) + } + m.Generation = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Generation |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TagEventCondition) 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 ErrIntOverflowGenerated + } + 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: TagEventCondition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TagEventCondition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = TagEventConditionType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Generation", wireType) + } + m.Generation = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Generation |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TagImportPolicy) 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 ErrIntOverflowGenerated + } + 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: TagImportPolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TagImportPolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Insecure", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Insecure = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Scheduled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Scheduled = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TagReference) 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 ErrIntOverflowGenerated + } + 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: TagReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TagReference: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Annotations", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Annotations == nil { + m.Annotations = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.Annotations[mapkey] = mapvalue + } else { + var mapvalue string + m.Annotations[mapkey] = mapvalue + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.From == nil { + m.From = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.From.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Reference", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Reference = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Generation", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Generation = &v + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ImportPolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ImportPolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReferencePolicy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ReferencePolicy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TagReferencePolicy) 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 ErrIntOverflowGenerated + } + 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: TagReferencePolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TagReferencePolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = TagReferencePolicyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/image/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 2463 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4d, 0x6c, 0x1c, 0x49, + 0x15, 0x4e, 0x4f, 0xcf, 0x8c, 0xc7, 0xcf, 0x8e, 0x1d, 0x57, 0xe2, 0xdd, 0xd9, 0x49, 0xd6, 0xf6, + 0x76, 0x48, 0x14, 0x20, 0xdb, 0x83, 0xbd, 0xd9, 0xc5, 0x09, 0x12, 0xbb, 0x99, 0x4c, 0x88, 0x06, + 0x6c, 0xe2, 0x2d, 0x0f, 0x39, 0x44, 0x41, 0xa2, 0xdd, 0x53, 0x6e, 0x17, 0x9e, 0xe9, 0x1e, 0xba, + 0x7b, 0xbc, 0xeb, 0x08, 0x24, 0x0e, 0x68, 0xb5, 0x07, 0x0e, 0x70, 0xe2, 0xb0, 0x47, 0xb4, 0x42, + 0x9c, 0x11, 0x88, 0x3b, 0x20, 0x45, 0x5c, 0x58, 0x2d, 0x97, 0xbd, 0x60, 0x91, 0x81, 0x33, 0x37, + 0x2e, 0x7b, 0x42, 0x55, 0x5d, 0xdd, 0x5d, 0xdd, 0xd3, 0xe3, 0xf4, 0x84, 0xd8, 0x82, 0x9b, 0xa7, + 0xde, 0x7b, 0xdf, 0x7b, 0xf5, 0x5e, 0xbd, 0x9f, 0xaa, 0x36, 0xac, 0x5a, 0xd4, 0xdf, 0x1b, 0xec, + 0xe8, 0xa6, 0xd3, 0xab, 0x3b, 0x7d, 0x62, 0x7b, 0x7b, 0x74, 0xd7, 0xaf, 0x1b, 0x7d, 0x5a, 0xa7, + 0x3d, 0xc3, 0x22, 0xf5, 0x83, 0xd5, 0xba, 0x45, 0x6c, 0xe2, 0x1a, 0x3e, 0xe9, 0xe8, 0x7d, 0xd7, + 0xf1, 0x1d, 0xf4, 0x5a, 0x2c, 0xa2, 0x47, 0x22, 0xba, 0xd1, 0xa7, 0x3a, 0x17, 0xd1, 0x0f, 0x56, + 0x6b, 0xaf, 0x4b, 0xa8, 0x96, 0x63, 0x39, 0x75, 0x2e, 0xb9, 0x33, 0xd8, 0xe5, 0xbf, 0xf8, 0x0f, + 0xfe, 0x57, 0x80, 0x58, 0xd3, 0xf6, 0xd7, 0x3d, 0x9d, 0x3a, 0x5c, 0xad, 0xe9, 0xb8, 0x59, 0x5a, + 0x6b, 0x37, 0x62, 0x9e, 0x9e, 0x61, 0xee, 0x51, 0x9b, 0xb8, 0x87, 0xf5, 0xfe, 0xbe, 0xc5, 0x16, + 0xbc, 0x7a, 0x8f, 0xf8, 0x46, 0x96, 0x54, 0x7d, 0x9c, 0x94, 0x3b, 0xb0, 0x7d, 0xda, 0x23, 0x23, + 0x02, 0x6f, 0x3d, 0x4b, 0xc0, 0x33, 0xf7, 0x48, 0xcf, 0x18, 0x91, 0x7b, 0x63, 0x9c, 0xdc, 0xc0, + 0xa7, 0xdd, 0x3a, 0xb5, 0x7d, 0xcf, 0x77, 0xd3, 0x42, 0xda, 0xa7, 0x0a, 0x5c, 0x68, 0x3a, 0xe6, + 0x3e, 0x71, 0x5b, 0xcc, 0x73, 0x98, 0xec, 0x12, 0x97, 0xd8, 0x26, 0x41, 0xd7, 0xa1, 0xe2, 0x12, + 0x8b, 0x7a, 0xbe, 0x7b, 0x58, 0x55, 0x56, 0x94, 0x6b, 0xd3, 0x8d, 0x73, 0x4f, 0x8e, 0x96, 0xcf, + 0x0c, 0x8f, 0x96, 0x2b, 0x58, 0xac, 0xe3, 0x88, 0x03, 0xd5, 0x61, 0xda, 0x36, 0x7a, 0xc4, 0xeb, + 0x1b, 0x26, 0xa9, 0x16, 0x38, 0xfb, 0x82, 0x60, 0x9f, 0xfe, 0x76, 0x48, 0xc0, 0x31, 0x0f, 0x5a, + 0x81, 0x22, 0xfb, 0x51, 0x55, 0x39, 0xef, 0xac, 0xe0, 0x2d, 0x32, 0x5e, 0xcc, 0x29, 0xe8, 0x55, + 0x50, 0x7d, 0xc3, 0xaa, 0x16, 0x39, 0xc3, 0x8c, 0x60, 0x50, 0xdb, 0x86, 0x85, 0xd9, 0x3a, 0xaa, + 0x41, 0x81, 0x36, 0xab, 0x25, 0x4e, 0x05, 0x41, 0x2d, 0xb4, 0x9a, 0xb8, 0x40, 0x9b, 0xda, 0x5f, + 0xa6, 0xa0, 0xc4, 0xb7, 0x83, 0xbe, 0x07, 0x15, 0x16, 0x97, 0x8e, 0xe1, 0x1b, 0x7c, 0x17, 0x33, + 0x6b, 0x5f, 0xd1, 0x03, 0x37, 0xe9, 0xb2, 0x9b, 0xf4, 0xfe, 0xbe, 0xc5, 0x16, 0x3c, 0x9d, 0x71, + 0xeb, 0x07, 0xab, 0xfa, 0xfd, 0x9d, 0xef, 0x13, 0xd3, 0xdf, 0x24, 0xbe, 0xd1, 0x40, 0x02, 0x1d, + 0xe2, 0x35, 0x1c, 0xa1, 0xa2, 0x2d, 0xb8, 0xd0, 0xc9, 0xf0, 0x9f, 0x70, 0xc2, 0x25, 0x21, 0x9b, + 0xe9, 0x63, 0x9c, 0x29, 0x89, 0x7e, 0x08, 0xe7, 0xa5, 0xf5, 0xcd, 0xd0, 0x7c, 0x95, 0x9b, 0xff, + 0xfa, 0x58, 0xf3, 0xc5, 0xe9, 0xd0, 0xb1, 0xf1, 0xde, 0xdd, 0xf7, 0x7d, 0x62, 0x7b, 0xd4, 0xb1, + 0x1b, 0x17, 0x85, 0xfe, 0xf3, 0xcd, 0x51, 0x44, 0x9c, 0xa5, 0x06, 0xed, 0x40, 0x2d, 0x63, 0xf9, + 0x01, 0x71, 0x19, 0x9e, 0x88, 0x86, 0x26, 0x50, 0x6b, 0xcd, 0xb1, 0x9c, 0xf8, 0x18, 0x14, 0xb4, + 0x99, 0xdc, 0xa1, 0x61, 0xd3, 0x5d, 0xe2, 0xf9, 0x22, 0x98, 0x99, 0x26, 0x0b, 0x16, 0x9c, 0x25, + 0x87, 0x0e, 0x60, 0x41, 0x5a, 0xde, 0x30, 0x0e, 0x89, 0xeb, 0x55, 0xcb, 0x2b, 0x2a, 0x77, 0xd7, + 0x33, 0x2b, 0x85, 0x1e, 0x4b, 0x35, 0x5e, 0x11, 0xba, 0x17, 0x9a, 0x69, 0x3c, 0x3c, 0xaa, 0x02, + 0x11, 0x00, 0x8f, 0x5a, 0xb6, 0xe1, 0x0f, 0x5c, 0xe2, 0x55, 0xa7, 0xb8, 0xc2, 0xd5, 0xbc, 0x0a, + 0xb7, 0x43, 0xc9, 0xf8, 0x7c, 0x45, 0x4b, 0x1e, 0x96, 0x80, 0xd1, 0x7d, 0x58, 0x94, 0x74, 0xc7, + 0x4c, 0xd5, 0xca, 0x8a, 0x7a, 0x6d, 0xb6, 0xf1, 0xca, 0xf0, 0x68, 0x79, 0xb1, 0x99, 0xc5, 0x80, + 0xb3, 0xe5, 0xd0, 0x1e, 0x5c, 0xca, 0x70, 0xe3, 0x26, 0xe9, 0x50, 0xa3, 0x7d, 0xd8, 0x27, 0xd5, + 0x69, 0x1e, 0x87, 0x2f, 0x08, 0xb3, 0x2e, 0x35, 0x8f, 0xe1, 0xc5, 0xc7, 0x22, 0xa1, 0x7b, 0x89, + 0xc8, 0xdc, 0x71, 0xec, 0x5d, 0x6a, 0x55, 0x81, 0xc3, 0x67, 0xb9, 0x3a, 0x60, 0xc0, 0xa3, 0x32, + 0xda, 0x2f, 0x14, 0x38, 0xcf, 0x7f, 0x37, 0xba, 0xce, 0x4e, 0x94, 0x2a, 0x1e, 0xd2, 0xa0, 0xdc, + 0x0d, 0xe2, 0xad, 0xac, 0xa8, 0xac, 0x12, 0x0c, 0x8f, 0x96, 0xcb, 0x22, 0x62, 0x82, 0xc2, 0x78, + 0xcc, 0x40, 0x73, 0x90, 0x93, 0x9c, 0x47, 0xa8, 0x12, 0x14, 0xb4, 0x0e, 0xb3, 0x3c, 0x3c, 0x9b, + 0xd4, 0xf3, 0xa8, 0x6d, 0xf1, 0x64, 0xab, 0x34, 0x2e, 0x08, 0x1b, 0x67, 0x5b, 0x12, 0x0d, 0x27, + 0x38, 0xb5, 0x3f, 0xa9, 0x30, 0xcf, 0xc9, 0xad, 0x5e, 0xdf, 0x71, 0xfd, 0xed, 0x3e, 0x31, 0xd1, + 0x5d, 0x28, 0xee, 0xba, 0x4e, 0x4f, 0x54, 0x9c, 0xcb, 0x52, 0xca, 0xea, 0xac, 0xb7, 0xc4, 0xf5, + 0x25, 0xda, 0x49, 0x5c, 0x01, 0xbf, 0xe1, 0x3a, 0x3d, 0xcc, 0xc5, 0xd1, 0x3b, 0x50, 0xf0, 0x1d, + 0x6e, 0xf4, 0xcc, 0xda, 0xb5, 0x2c, 0x90, 0x0d, 0xc7, 0x34, 0xba, 0x69, 0xa4, 0x32, 0x2b, 0x84, + 0x6d, 0x07, 0x17, 0x7c, 0x07, 0x75, 0xd9, 0xb6, 0x98, 0x59, 0x5b, 0x4e, 0x97, 0x9a, 0x87, 0xa2, + 0x86, 0xac, 0xe5, 0x38, 0xa3, 0x6d, 0xc3, 0x6a, 0x49, 0x92, 0xb2, 0x2b, 0xe2, 0x55, 0x9c, 0x40, + 0x47, 0xb7, 0x61, 0x9e, 0xda, 0x66, 0x77, 0xd0, 0x89, 0x53, 0xba, 0xc8, 0xfd, 0xf8, 0xb2, 0x10, + 0x9e, 0x6f, 0x25, 0xc9, 0x38, 0xcd, 0x8f, 0xde, 0x87, 0x79, 0x37, 0xdc, 0x89, 0xb0, 0xb9, 0xc4, + 0x6d, 0x7e, 0x33, 0x9f, 0xcd, 0x38, 0x29, 0x1c, 0x6b, 0x4e, 0x11, 0x70, 0x5a, 0x8d, 0xf6, 0x57, + 0x05, 0x16, 0xe4, 0x38, 0xfa, 0x86, 0x3f, 0xf0, 0x50, 0x1b, 0xca, 0x1e, 0xff, 0x4b, 0xc4, 0xf2, + 0x7a, 0xbe, 0xee, 0x11, 0x48, 0x37, 0xe6, 0x84, 0xf6, 0x72, 0xf0, 0x1b, 0x0b, 0x2c, 0xd4, 0x82, + 0x12, 0x37, 0x3a, 0x8a, 0x6d, 0xce, 0x9a, 0xd1, 0x98, 0x1e, 0x1e, 0x2d, 0x07, 0x9d, 0x0d, 0x07, + 0x08, 0x61, 0x97, 0x54, 0xb3, 0xbb, 0xa4, 0xf6, 0x81, 0x02, 0x10, 0x97, 0xac, 0xa8, 0xeb, 0x2a, + 0x63, 0xbb, 0xee, 0x15, 0x28, 0x7a, 0xf4, 0x71, 0x60, 0x99, 0x1a, 0xf7, 0x70, 0x2e, 0xbe, 0x4d, + 0x1f, 0x13, 0xcc, 0xc9, 0xac, 0xdf, 0xf7, 0xa2, 0x7a, 0xa1, 0x26, 0xfb, 0x7d, 0x5c, 0x1c, 0x62, + 0x1e, 0xad, 0x03, 0x73, 0xb1, 0x1d, 0x4d, 0xd6, 0x68, 0x5e, 0x13, 0x9a, 0x14, 0xae, 0xe9, 0xec, + 0x33, 0xb5, 0x14, 0x72, 0x68, 0xf9, 0xbd, 0x02, 0xd3, 0x81, 0x1a, 0xea, 0xf9, 0xe8, 0xd1, 0x48, + 0xf3, 0xd7, 0xf3, 0x85, 0x8f, 0x49, 0xf3, 0xd6, 0x1f, 0x8d, 0x3c, 0xe1, 0x8a, 0xd4, 0xf8, 0x37, + 0xa1, 0x44, 0x7d, 0xd2, 0xf3, 0xaa, 0x05, 0x5e, 0xf8, 0xf3, 0x07, 0xf1, 0xac, 0x00, 0x2d, 0xb5, + 0x98, 0x38, 0x0e, 0x50, 0xb4, 0x75, 0x71, 0xfc, 0x36, 0x1c, 0x67, 0x7f, 0xd0, 0x17, 0x19, 0x75, + 0x19, 0x4a, 0x5d, 0x96, 0xe3, 0xa2, 0x1e, 0x45, 0x92, 0x3c, 0xf1, 0x71, 0x40, 0xd3, 0x7e, 0x53, + 0x16, 0xbe, 0x8d, 0x4a, 0xfc, 0x29, 0x8c, 0x3d, 0x2b, 0x50, 0xf4, 0xe3, 0xa8, 0x44, 0x27, 0x89, + 0x07, 0x84, 0x53, 0xd0, 0x15, 0x98, 0x32, 0x1d, 0xdb, 0x27, 0xb6, 0xcf, 0xad, 0x9f, 0x6d, 0xcc, + 0x0c, 0x8f, 0x96, 0xa7, 0xee, 0x04, 0x4b, 0x38, 0xa4, 0x21, 0x0a, 0x60, 0x3a, 0x76, 0x87, 0xfa, + 0xd4, 0xb1, 0xbd, 0x6a, 0x91, 0xfb, 0x32, 0x4f, 0xb2, 0x47, 0x9b, 0xbd, 0x13, 0x4a, 0xc7, 0x16, + 0x47, 0x4b, 0x1e, 0x96, 0xc0, 0xd1, 0xd7, 0xe0, 0x2c, 0x17, 0x6f, 0x75, 0x88, 0xed, 0x53, 0xff, + 0x50, 0x0c, 0x1c, 0x8b, 0x42, 0xec, 0x6c, 0x4b, 0x26, 0xe2, 0x24, 0x2f, 0xfa, 0x11, 0xcc, 0xb2, + 0x9e, 0x4c, 0x3a, 0x77, 0xba, 0x06, 0xed, 0x85, 0xf3, 0xc5, 0x9d, 0x89, 0xdb, 0x3d, 0x37, 0x3c, + 0x44, 0xb9, 0x6b, 0xfb, 0xae, 0x54, 0x5b, 0x65, 0x12, 0x4e, 0xa8, 0x43, 0xef, 0xc2, 0x94, 0xe9, + 0x12, 0x36, 0xb8, 0x57, 0xa7, 0x78, 0x40, 0xbf, 0x94, 0x2f, 0xa0, 0x6d, 0xda, 0x23, 0xc2, 0xf3, + 0x81, 0x38, 0x0e, 0x71, 0x58, 0x7a, 0x50, 0xcf, 0x1b, 0x90, 0x4e, 0xe3, 0xb0, 0x5a, 0xc9, 0xdd, + 0x18, 0xa2, 0x8d, 0xb4, 0x98, 0xac, 0xdb, 0x98, 0x65, 0xe9, 0xd1, 0x12, 0x38, 0x38, 0x42, 0x44, + 0xdf, 0x0d, 0xd1, 0xdb, 0x0e, 0x1f, 0x28, 0x66, 0xd6, 0xde, 0x98, 0x04, 0x7d, 0x7b, 0xc0, 0x4f, + 0x9d, 0x0c, 0xdf, 0x76, 0x70, 0x04, 0x59, 0x7b, 0x1b, 0x16, 0x46, 0x1c, 0x89, 0xce, 0x81, 0xba, + 0x4f, 0xc4, 0x75, 0x05, 0xb3, 0x3f, 0xd1, 0x05, 0x28, 0x1d, 0x18, 0xdd, 0x81, 0x38, 0xa7, 0x38, + 0xf8, 0x71, 0xab, 0xb0, 0xae, 0x68, 0xbf, 0x2c, 0xc0, 0x4c, 0x10, 0x19, 0xdf, 0x25, 0x46, 0xef, + 0x14, 0x52, 0xa6, 0x0d, 0x45, 0xaf, 0x4f, 0x4c, 0x51, 0xf4, 0xd7, 0x72, 0x9f, 0x1c, 0x6e, 0x1f, + 0x9b, 0x2b, 0xe2, 0x34, 0x63, 0xbf, 0x30, 0x47, 0x43, 0x8f, 0xa2, 0x0e, 0x15, 0x34, 0xf7, 0x1b, + 0x13, 0xe2, 0x1e, 0xdb, 0xa9, 0xb4, 0x3f, 0x28, 0x70, 0x4e, 0xe2, 0x3e, 0xad, 0x4b, 0xd5, 0xe6, + 0xf3, 0x36, 0xc8, 0xb8, 0xb6, 0x4a, 0x4d, 0x52, 0xfb, 0x6d, 0x41, 0x14, 0xd7, 0x70, 0x17, 0xac, + 0xc3, 0x9f, 0xc2, 0x36, 0x1e, 0x26, 0x22, 0xbe, 0x3e, 0x59, 0x64, 0xe2, 0x79, 0x32, 0x33, 0xee, + 0x3b, 0xa9, 0xb8, 0xdf, 0x7a, 0x2e, 0xf4, 0xe3, 0xa3, 0xff, 0x93, 0x02, 0x2c, 0x66, 0x5a, 0x84, + 0xae, 0x42, 0x39, 0x18, 0xfd, 0xb8, 0xe7, 0x2a, 0x31, 0x42, 0xc0, 0x83, 0x05, 0x15, 0x59, 0x00, + 0x2e, 0xe9, 0x3b, 0x1e, 0xf5, 0x1d, 0xf7, 0x50, 0xf8, 0xe1, 0xab, 0x39, 0x2c, 0xc5, 0x91, 0x90, + 0xe4, 0x86, 0x39, 0xe6, 0xe8, 0x98, 0x82, 0x25, 0x68, 0xf4, 0x90, 0x19, 0x64, 0x58, 0x84, 0xb9, + 0x43, 0x9d, 0x24, 0xbd, 0x64, 0xfc, 0x78, 0x13, 0x0c, 0x09, 0x0b, 0x44, 0xed, 0x77, 0x05, 0x78, + 0x79, 0x8c, 0xeb, 0x10, 0x4e, 0x38, 0x82, 0x4d, 0x18, 0x13, 0x85, 0x21, 0xb8, 0x8c, 0xa4, 0x9c, + 0x46, 0x33, 0x9c, 0x76, 0xf3, 0x79, 0x9c, 0x26, 0xa2, 0x7b, 0x8c, 0xdb, 0x1e, 0xa5, 0xdc, 0x76, + 0x63, 0x42, 0xb7, 0xa5, 0xce, 0x4f, 0xca, 0x71, 0x1f, 0x17, 0x13, 0x79, 0x27, 0xae, 0xcd, 0x27, + 0x9f, 0x77, 0x1d, 0x28, 0xed, 0x74, 0x9d, 0x9d, 0x70, 0x34, 0x7b, 0x7b, 0xb2, 0x98, 0x04, 0x66, + 0xea, 0xec, 0xa6, 0x29, 0x1a, 0x74, 0x54, 0x55, 0xf8, 0x1a, 0x0e, 0xc0, 0xd1, 0x5e, 0xca, 0x77, + 0xef, 0x3c, 0x97, 0x9a, 0xc0, 0x65, 0x81, 0x9e, 0x31, 0x7e, 0xac, 0xed, 0x03, 0xc4, 0xd6, 0x64, + 0x74, 0xb9, 0x7b, 0x72, 0x97, 0x9b, 0xe0, 0x0d, 0x22, 0x1a, 0xc6, 0xa5, 0xc6, 0x58, 0xfb, 0x81, + 0xe8, 0x8b, 0x63, 0xb5, 0x6d, 0x24, 0xb5, 0xbd, 0x95, 0xbb, 0x38, 0x27, 0xae, 0xee, 0x72, 0x2f, + 0xfe, 0xa3, 0x22, 0xee, 0xd0, 0xc2, 0x33, 0x27, 0x3f, 0xbc, 0x6f, 0x27, 0x87, 0xf7, 0x49, 0xb3, + 0x36, 0x7b, 0x84, 0xff, 0xa7, 0x02, 0x48, 0xe2, 0xda, 0x34, 0xfa, 0x7d, 0x6a, 0x5b, 0xff, 0x77, + 0xed, 0xf2, 0x59, 0x77, 0xca, 0x5f, 0x17, 0x12, 0xd1, 0xe2, 0xfd, 0x60, 0x3b, 0xf1, 0x46, 0x15, + 0x17, 0x1b, 0x71, 0xd3, 0x7c, 0x55, 0x80, 0x2c, 0x36, 0xb3, 0x98, 0x70, 0xb6, 0x2c, 0x7a, 0x17, + 0x8a, 0xbe, 0x61, 0x85, 0x31, 0xaa, 0x4f, 0xf8, 0x02, 0x20, 0x5d, 0x4a, 0x0c, 0xcb, 0xc3, 0x1c, + 0x0a, 0xd9, 0x30, 0xdb, 0x95, 0x2e, 0x58, 0x93, 0xce, 0x4c, 0xf2, 0xe5, 0x2c, 0x1e, 0xdb, 0xe5, + 0x55, 0x9c, 0xc0, 0xd7, 0x7e, 0x95, 0x9c, 0x3c, 0x44, 0xd3, 0x38, 0x11, 0x6f, 0x3d, 0x48, 0x78, + 0x2b, 0xcf, 0x96, 0xd8, 0xb5, 0xbf, 0xd3, 0x36, 0xac, 0xbb, 0x07, 0xc4, 0xf6, 0x59, 0x92, 0x64, + 0xba, 0x8c, 0xc0, 0xc5, 0xfe, 0x60, 0xa7, 0x4b, 0xcd, 0x4c, 0x6b, 0xc4, 0x29, 0xb9, 0x2c, 0x04, + 0x2f, 0x6e, 0x8d, 0x67, 0xc5, 0xc7, 0xe1, 0x68, 0x1f, 0x15, 0xc3, 0x5b, 0x2c, 0xf7, 0x54, 0xdb, + 0x38, 0x8d, 0xc4, 0xf9, 0x66, 0x70, 0xd2, 0x83, 0xb4, 0x99, 0xf8, 0x80, 0x4d, 0x25, 0x3e, 0x48, + 0xac, 0x01, 0x88, 0x8f, 0x2b, 0xd4, 0xb1, 0xb9, 0x5b, 0xd4, 0x58, 0xfb, 0xbd, 0x88, 0x82, 0x25, + 0x2e, 0xb4, 0x97, 0x71, 0xf9, 0xbd, 0x91, 0xcf, 0x0c, 0x1e, 0xb4, 0xfc, 0x77, 0xdf, 0xa8, 0x44, + 0x94, 0x5e, 0x48, 0x89, 0x48, 0xe7, 0x51, 0xf9, 0x84, 0xf3, 0xe8, 0xcf, 0xc9, 0xd2, 0xda, 0x36, + 0xac, 0x53, 0x68, 0x12, 0x0f, 0x92, 0x4d, 0x62, 0x75, 0xb2, 0x26, 0xd1, 0x36, 0xac, 0x31, 0x7d, + 0xe2, 0x5f, 0x0a, 0x2c, 0x8c, 0xe4, 0x5e, 0x58, 0x75, 0x95, 0x31, 0xdf, 0xbb, 0xb6, 0x92, 0xc6, + 0x7c, 0x79, 0x82, 0x53, 0x92, 0x6d, 0x46, 0xea, 0xf0, 0xa9, 0x27, 0x77, 0xf8, 0xb4, 0x0f, 0x55, + 0xb8, 0x90, 0x35, 0xd1, 0xbf, 0xa8, 0x87, 0xf2, 0xf4, 0x33, 0x77, 0xe1, 0xb4, 0x9f, 0xb9, 0xd5, + 0xff, 0xfe, 0x99, 0xbb, 0x78, 0x3a, 0xcf, 0xdc, 0x1f, 0x16, 0xe0, 0xa5, 0xec, 0x7b, 0xc2, 0x09, + 0xbd, 0x75, 0xc7, 0x37, 0x8c, 0xc2, 0x8b, 0xbf, 0x61, 0xa0, 0x5b, 0x30, 0x67, 0x74, 0x82, 0x63, + 0x66, 0x74, 0x59, 0xd3, 0xe2, 0xe7, 0x78, 0xba, 0x81, 0x86, 0x47, 0xcb, 0x73, 0xb7, 0x13, 0x14, + 0x9c, 0xe2, 0xd4, 0x3e, 0x55, 0x01, 0x8d, 0xbe, 0x22, 0xa2, 0x5b, 0xe2, 0x65, 0x33, 0x48, 0xc4, + 0xab, 0xf2, 0xcb, 0xe6, 0xe7, 0x47, 0xcb, 0x2f, 0x8d, 0x4a, 0x48, 0x6f, 0x9e, 0x1b, 0x91, 0x0b, + 0x83, 0x77, 0xd1, 0x1b, 0x49, 0xa7, 0x7c, 0x7e, 0xb4, 0x9c, 0xf1, 0x7f, 0x06, 0x7a, 0x84, 0x94, + 0x72, 0x9d, 0x05, 0x67, 0xbb, 0x86, 0xe7, 0x6f, 0xb9, 0xce, 0x0e, 0x69, 0x53, 0xf1, 0xb1, 0x7c, + 0xb2, 0x97, 0xbf, 0xe8, 0x6d, 0x73, 0x43, 0x06, 0xc2, 0x49, 0x5c, 0x74, 0x00, 0x88, 0x2d, 0xb4, + 0x5d, 0xc3, 0xf6, 0x82, 0x2d, 0x31, 0x6d, 0xc5, 0x89, 0xb5, 0xd5, 0x84, 0x36, 0xb4, 0x31, 0x82, + 0x86, 0x33, 0x34, 0xa0, 0xab, 0x50, 0x76, 0x89, 0xe1, 0x39, 0xb6, 0x78, 0x89, 0x8d, 0xa2, 0x8c, + 0xf9, 0x2a, 0x16, 0x54, 0xf4, 0x45, 0x98, 0xea, 0x11, 0xcf, 0x63, 0xed, 0xab, 0xcc, 0x19, 0xe7, + 0x05, 0xe3, 0xd4, 0x66, 0xb0, 0x8c, 0x43, 0xba, 0xf6, 0x81, 0x02, 0x71, 0x88, 0x78, 0xd7, 0xa5, + 0xe6, 0xdd, 0xe0, 0x05, 0x77, 0x1d, 0x66, 0x1d, 0xd7, 0x32, 0x6c, 0xfa, 0x38, 0x68, 0xd1, 0x41, + 0x80, 0xa3, 0x8c, 0xbf, 0x2f, 0xd1, 0x70, 0x82, 0x93, 0xb5, 0x76, 0xd3, 0xe9, 0xf5, 0x1c, 0x9b, + 0x55, 0x6d, 0x11, 0x5a, 0xa9, 0xe6, 0x85, 0x14, 0x2c, 0x71, 0x69, 0x1f, 0x2b, 0x30, 0x9f, 0x7a, + 0x2b, 0x45, 0x3f, 0x57, 0xe0, 0x25, 0x2f, 0xd3, 0x38, 0x91, 0x72, 0x37, 0x27, 0x79, 0x22, 0x4d, + 0x00, 0x34, 0x96, 0x84, 0x3d, 0x63, 0x76, 0x8f, 0xc7, 0x28, 0xd6, 0xfe, 0xa6, 0xc0, 0xb9, 0xf4, + 0xab, 0xeb, 0xff, 0xa2, 0xa1, 0xe8, 0x4d, 0x98, 0x09, 0xe6, 0xc7, 0x6f, 0x91, 0xc3, 0x56, 0x53, + 0x44, 0xe1, 0xbc, 0x00, 0x9b, 0xd9, 0x8a, 0x49, 0x58, 0xe6, 0xd3, 0x7e, 0x5a, 0x80, 0x4a, 0xd8, + 0xb1, 0xd0, 0x77, 0xe2, 0x57, 0x74, 0x65, 0xe2, 0xd3, 0x1d, 0x1d, 0xba, 0x91, 0x97, 0xf4, 0x17, + 0xff, 0x3f, 0x20, 0x97, 0xc3, 0x71, 0x2d, 0x18, 0xaf, 0xb3, 0x87, 0xb0, 0xe4, 0xc4, 0x59, 0xcc, + 0x33, 0x71, 0x6a, 0x1f, 0xa9, 0xb0, 0x30, 0xd2, 0xc0, 0xd1, 0xcd, 0x44, 0xcd, 0xbb, 0x92, 0xaa, + 0x79, 0x8b, 0x23, 0x02, 0x27, 0x56, 0xf2, 0xb2, 0x2b, 0x91, 0x7a, 0x8a, 0x95, 0xa8, 0x98, 0xb7, + 0x12, 0x95, 0x8e, 0xaf, 0x44, 0xa9, 0xe8, 0x94, 0x73, 0x45, 0xa7, 0x0f, 0xf3, 0xa9, 0x89, 0x04, + 0x5d, 0x87, 0x0a, 0xb5, 0x3d, 0x62, 0x0e, 0x5c, 0x22, 0xde, 0x5a, 0xa3, 0x91, 0xb5, 0x25, 0xd6, + 0x71, 0xc4, 0x81, 0xea, 0x30, 0xed, 0x99, 0x7b, 0xa4, 0x33, 0xe8, 0x92, 0x0e, 0x0f, 0x48, 0x25, + 0xfe, 0x62, 0xba, 0x1d, 0x12, 0x70, 0xcc, 0xa3, 0xfd, 0xbb, 0x08, 0xb3, 0xf2, 0x40, 0x91, 0xe3, + 0x13, 0xf1, 0x7b, 0x30, 0x63, 0xd8, 0xb6, 0xe3, 0x1b, 0xc1, 0xe0, 0x58, 0xc8, 0xfd, 0xf8, 0x25, + 0xeb, 0xd1, 0x6f, 0xc7, 0x10, 0xc1, 0xe3, 0x57, 0x94, 0xca, 0x12, 0x05, 0xcb, 0x9a, 0xd0, 0x6d, + 0x31, 0x2d, 0xaa, 0xf9, 0xa7, 0xc5, 0x4a, 0x6a, 0x52, 0xac, 0xc3, 0x74, 0x34, 0x11, 0x89, 0x7f, + 0x4e, 0x88, 0xfc, 0x13, 0xe7, 0x64, 0xcc, 0x83, 0xf4, 0x44, 0x14, 0x4b, 0x3c, 0x8a, 0x73, 0xc7, + 0xdc, 0xe8, 0xd2, 0xa3, 0x68, 0xf9, 0x44, 0x47, 0xd1, 0x8c, 0x39, 0x72, 0xea, 0x54, 0xe6, 0xc8, + 0xda, 0xd7, 0xe1, 0x5c, 0x3a, 0x82, 0x13, 0x7d, 0x7e, 0xdb, 0x02, 0x34, 0xaa, 0xff, 0x59, 0xb3, + 0xd7, 0xa8, 0x44, 0x5c, 0x88, 0x1a, 0xd7, 0x9e, 0x3c, 0x5d, 0x3a, 0xf3, 0xc9, 0xd3, 0xa5, 0x33, + 0x9f, 0x3d, 0x5d, 0x3a, 0xf3, 0xe3, 0xe1, 0x92, 0xf2, 0x64, 0xb8, 0xa4, 0x7c, 0x32, 0x5c, 0x52, + 0x3e, 0x1b, 0x2e, 0x29, 0x7f, 0x1f, 0x2e, 0x29, 0x3f, 0xfb, 0xc7, 0xd2, 0x99, 0x87, 0x85, 0x83, + 0xd5, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xf9, 0xfa, 0xef, 0x59, 0x71, 0x2a, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/image/v1/generated.proto b/vendor/github.com/openshift/api/image/v1/generated.proto new file mode 100644 index 000000000..36901bc66 --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/generated.proto @@ -0,0 +1,556 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.image.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// DockerImageReference points to a container image. +message DockerImageReference { + // Registry is the registry that contains the container image + optional string registry = 1; + + // Namespace is the namespace that contains the container image + optional string namespace = 2; + + // Name is the name of the container image + optional string name = 3; + + // Tag is which tag of the container image is being referenced + optional string tag = 4; + + // ID is the identifier for the container image + optional string iD = 5; +} + +// Image is an immutable representation of a container image and metadata at a point in time. +message Image { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // DockerImageReference is the string that can be used to pull this image. + optional string dockerImageReference = 2; + + // DockerImageMetadata contains metadata about this image + // +patchStrategy=replace + optional k8s.io.apimachinery.pkg.runtime.RawExtension dockerImageMetadata = 3; + + // DockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" + optional string dockerImageMetadataVersion = 4; + + // DockerImageManifest is the raw JSON of the manifest + optional string dockerImageManifest = 5; + + // DockerImageLayers represents the layers in the image. May not be set if the image does not define that data. + repeated ImageLayer dockerImageLayers = 6; + + // Signatures holds all signatures of the image. + // +patchMergeKey=name + // +patchStrategy=merge + repeated ImageSignature signatures = 7; + + // DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1. + repeated bytes dockerImageSignatures = 8; + + // DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2. + optional string dockerImageManifestMediaType = 9; + + // DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. + optional string dockerImageConfig = 10; +} + +// ImageBlobReferences describes the blob references within an image. +message ImageBlobReferences { + // imageMissing is true if the image is referenced by the image stream but the image + // object has been deleted from the API by an administrator. When this field is set, + // layers and config fields may be empty and callers that depend on the image metadata + // should consider the image to be unavailable for download or viewing. + // +optional + optional bool imageMissing = 3; + + // layers is the list of blobs that compose this image, from base layer to top layer. + // All layers referenced by this array will be defined in the blobs map. Some images + // may have zero layers. + // +optional + repeated string layers = 1; + + // config, if set, is the blob that contains the image config. Some images do + // not have separate config blobs and this field will be set to nil if so. + // +optional + optional string config = 2; +} + +// ImageImportSpec describes a request to import a specific image. +message ImageImportSpec { + // From is the source of an image to import; only kind DockerImage is allowed + optional k8s.io.api.core.v1.ObjectReference from = 1; + + // To is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used + optional k8s.io.api.core.v1.LocalObjectReference to = 2; + + // ImportPolicy is the policy controlling how the image is imported + optional TagImportPolicy importPolicy = 3; + + // ReferencePolicy defines how other components should consume the image + optional TagReferencePolicy referencePolicy = 5; + + // IncludeManifest determines if the manifest for each image is returned in the response + optional bool includeManifest = 4; +} + +// ImageImportStatus describes the result of an image import. +message ImageImportStatus { + // Status is the status of the image import, including errors encountered while retrieving the image + optional k8s.io.apimachinery.pkg.apis.meta.v1.Status status = 1; + + // Image is the metadata of that image, if the image was located + optional Image image = 2; + + // Tag is the tag this image was located under, if any + optional string tag = 3; +} + +// ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none. +message ImageLayer { + // Name of the layer as defined by the underlying store. + optional string name = 1; + + // Size of the layer in bytes as defined by the underlying store. + optional int64 size = 2; + + // MediaType of the referenced object. + optional string mediaType = 3; +} + +// ImageLayerData contains metadata about an image layer. +message ImageLayerData { + // Size of the layer in bytes as defined by the underlying store. This field is + // optional if the necessary information about size is not available. + optional int64 size = 1; + + // MediaType of the referenced object. + optional string mediaType = 2; +} + +// ImageList is a list of Image objects. +message ImageList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of images + repeated Image items = 2; +} + +// ImageLookupPolicy describes how an image stream can be used to override the image references +// used by pods, builds, and other resources in a namespace. +message ImageLookupPolicy { + // local will change the docker short image references (like "mysql" or + // "php:latest") on objects in this namespace to the image ID whenever they match + // this image stream, instead of reaching out to a remote registry. The name will + // be fully qualified to an image ID if found. The tag's referencePolicy is taken + // into account on the replaced value. Only works within the current namespace. + optional bool local = 3; +} + +// ImageSignature holds a signature of an image. It allows to verify image identity and possibly other claims +// as long as the signature is trusted. Based on this information it is possible to restrict runnable images +// to those matching cluster-wide policy. +// Mandatory fields should be parsed by clients doing image verification. The others are parsed from +// signature's content by the server. They serve just an informative purpose. +message ImageSignature { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Required: Describes a type of stored blob. + optional string type = 2; + + // Required: An opaque binary string which is an image's signature. + optional bytes content = 3; + + // Conditions represent the latest available observations of a signature's current state. + // +patchMergeKey=type + // +patchStrategy=merge + repeated SignatureCondition conditions = 4; + + // A human readable string representing image's identity. It could be a product name and version, or an + // image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2"). + optional string imageIdentity = 5; + + // Contains claims from the signature. + map signedClaims = 6; + + // If specified, it is the time of signature's creation. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time created = 7; + + // If specified, it holds information about an issuer of signing certificate or key (a person or entity + // who signed the signing certificate or key). + optional SignatureIssuer issuedBy = 8; + + // If specified, it holds information about a subject of signing certificate or key (a person or entity + // who signed the image). + optional SignatureSubject issuedTo = 9; +} + +// ImageStream stores a mapping of tags to images, metadata overrides that are applied +// when images are tagged in a stream, and an optional reference to a container image +// repository on a registry. +message ImageStream { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec describes the desired state of this stream + optional ImageStreamSpec spec = 2; + + // Status describes the current state of this stream + optional ImageStreamStatus status = 3; +} + +// ImageStreamImage represents an Image that is retrieved by image name from an ImageStream. +message ImageStreamImage { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Image associated with the ImageStream and image name. + optional Image image = 2; +} + +// The image stream import resource provides an easy way for a user to find and import container images +// from other container image registries into the server. Individual images or an entire image repository may +// be imported, and users may choose to see the results of the import prior to tagging the resulting +// images into the specified image stream. +// +// This API is intended for end-user tools that need to see the metadata of the image prior to import +// (for instance, to generate an application from it). Clients that know the desired image can continue +// to create spec.tags directly into their image streams. +message ImageStreamImport { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec is a description of the images that the user wishes to import + optional ImageStreamImportSpec spec = 2; + + // Status is the the result of importing the image + optional ImageStreamImportStatus status = 3; +} + +// ImageStreamImportSpec defines what images should be imported. +message ImageStreamImportSpec { + // Import indicates whether to perform an import - if so, the specified tags are set on the spec + // and status of the image stream defined by the type meta. + optional bool import = 1; + + // Repository is an optional import of an entire container image repository. A maximum limit on the + // number of tags imported this way is imposed by the server. + optional RepositoryImportSpec repository = 2; + + // Images are a list of individual images to import. + repeated ImageImportSpec images = 3; +} + +// ImageStreamImportStatus contains information about the status of an image stream import. +message ImageStreamImportStatus { + // Import is the image stream that was successfully updated or created when 'to' was set. + optional ImageStream import = 1; + + // Repository is set if spec.repository was set to the outcome of the import + optional RepositoryImportStatus repository = 2; + + // Images is set with the result of importing spec.images + repeated ImageImportStatus images = 3; +} + +// ImageStreamLayers describes information about the layers referenced by images in this +// image stream. +message ImageStreamLayers { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // blobs is a map of blob name to metadata about the blob. + map blobs = 2; + + // images is a map between an image name and the names of the blobs and config that + // comprise the image. + map images = 3; +} + +// ImageStreamList is a list of ImageStream objects. +message ImageStreamList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of imageStreams + repeated ImageStream items = 2; +} + +// ImageStreamMapping represents a mapping from a single tag to a container image as +// well as the reference to the container image stream the image came from. +message ImageStreamMapping { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Image is a container image. + optional Image image = 2; + + // Tag is a string value this image can be located with inside the stream. + optional string tag = 3; +} + +// ImageStreamSpec represents options for ImageStreams. +message ImageStreamSpec { + // lookupPolicy controls how other resources reference images within this namespace. + optional ImageLookupPolicy lookupPolicy = 3; + + // dockerImageRepository is optional, if specified this stream is backed by a container repository on this server + // Deprecated: This field is deprecated as of v3.7 and will be removed in a future release. + // Specify the source for the tags to be imported in each tag via the spec.tags.from reference instead. + optional string dockerImageRepository = 1; + + // tags map arbitrary string values to specific image locators + // +patchMergeKey=name + // +patchStrategy=merge + repeated TagReference tags = 2; +} + +// ImageStreamStatus contains information about the state of this image stream. +message ImageStreamStatus { + // DockerImageRepository represents the effective location this stream may be accessed at. + // May be empty until the server determines where the repository is located + optional string dockerImageRepository = 1; + + // PublicDockerImageRepository represents the public location from where the image can + // be pulled outside the cluster. This field may be empty if the administrator + // has not exposed the integrated registry externally. + optional string publicDockerImageRepository = 3; + + // Tags are a historical record of images associated with each tag. The first entry in the + // TagEvent array is the currently tagged image. + // +patchMergeKey=tag + // +patchStrategy=merge + repeated NamedTagEventList tags = 2; +} + +// ImageStreamTag represents an Image that is retrieved by tag name from an ImageStream. +message ImageStreamTag { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // tag is the spec tag associated with this image stream tag, and it may be null + // if only pushes have occurred to this image stream. + optional TagReference tag = 2; + + // generation is the current generation of the tagged image - if tag is provided + // and this value is not equal to the tag generation, a user has requested an + // import that has not completed, or conditions will be filled out indicating any + // error. + optional int64 generation = 3; + + // lookupPolicy indicates whether this tag will handle image references in this + // namespace. + optional ImageLookupPolicy lookupPolicy = 6; + + // conditions is an array of conditions that apply to the image stream tag. + repeated TagEventCondition conditions = 4; + + // image associated with the ImageStream and tag. + optional Image image = 5; +} + +// ImageStreamTagList is a list of ImageStreamTag objects. +message ImageStreamTagList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of image stream tags + repeated ImageStreamTag items = 2; +} + +// NamedTagEventList relates a tag to its image history. +message NamedTagEventList { + // Tag is the tag for which the history is recorded + optional string tag = 1; + + // Standard object's metadata. + repeated TagEvent items = 2; + + // Conditions is an array of conditions that apply to the tag event list. + repeated TagEventCondition conditions = 3; +} + +// RepositoryImportSpec describes a request to import images from a container image repository. +message RepositoryImportSpec { + // From is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed + optional k8s.io.api.core.v1.ObjectReference from = 1; + + // ImportPolicy is the policy controlling how the image is imported + optional TagImportPolicy importPolicy = 2; + + // ReferencePolicy defines how other components should consume the image + optional TagReferencePolicy referencePolicy = 4; + + // IncludeManifest determines if the manifest for each image is returned in the response + optional bool includeManifest = 3; +} + +// RepositoryImportStatus describes the result of an image repository import +message RepositoryImportStatus { + // Status reflects whether any failure occurred during import + optional k8s.io.apimachinery.pkg.apis.meta.v1.Status status = 1; + + // Images is a list of images successfully retrieved by the import of the repository. + repeated ImageImportStatus images = 2; + + // AdditionalTags are tags that exist in the repository but were not imported because + // a maximum limit of automatic imports was applied. + repeated string additionalTags = 3; +} + +// SignatureCondition describes an image signature condition of particular kind at particular probe time. +message SignatureCondition { + // Type of signature condition, Complete or Failed. + optional string type = 1; + + // Status of the condition, one of True, False, Unknown. + optional string status = 2; + + // Last time the condition was checked. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3; + + // Last time the condition transit from one status to another. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4; + + // (brief) reason for the condition's last transition. + optional string reason = 5; + + // Human readable message indicating details about last transition. + optional string message = 6; +} + +// SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject +// of signing certificate or key. +message SignatureGenericEntity { + // Organization name. + optional string organization = 1; + + // Common name (e.g. openshift-signing-service). + optional string commonName = 2; +} + +// SignatureIssuer holds information about an issuer of signing certificate or key. +message SignatureIssuer { + optional SignatureGenericEntity signatureGenericEntity = 1; +} + +// SignatureSubject holds information about a person or entity who created the signature. +message SignatureSubject { + optional SignatureGenericEntity signatureGenericEntity = 1; + + // If present, it is a human readable key id of public key belonging to the subject used to verify image + // signature. It should contain at least 64 lowest bits of public key's fingerprint (e.g. + // 0x685ebe62bf278440). + optional string publicKeyID = 2; +} + +// TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag. +message TagEvent { + // Created holds the time the TagEvent was created + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time created = 1; + + // DockerImageReference is the string that can be used to pull this image + optional string dockerImageReference = 2; + + // Image is the image + optional string image = 3; + + // Generation is the spec tag generation that resulted in this tag being updated + optional int64 generation = 4; +} + +// TagEventCondition contains condition information for a tag event. +message TagEventCondition { + // Type of tag event condition, currently only ImportSuccess + optional string type = 1; + + // Status of the condition, one of True, False, Unknown. + optional string status = 2; + + // LastTransitionTIme is the time the condition transitioned from one status to another. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + + // Reason is a brief machine readable explanation for the condition's last transition. + optional string reason = 4; + + // Message is a human readable description of the details about last transition, complementing reason. + optional string message = 5; + + // Generation is the spec tag generation that this status corresponds to + optional int64 generation = 6; +} + +// TagImportPolicy controls how images related to this tag will be imported. +message TagImportPolicy { + // Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import. + optional bool insecure = 1; + + // Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported + optional bool scheduled = 2; +} + +// TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track. +message TagReference { + // Name of the tag + optional string name = 1; + + // Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags. + // +optional + map annotations = 2; + + // Optional; if specified, a reference to another image that this tag should point to. Valid values + // are ImageStreamTag, ImageStreamImage, and DockerImage. ImageStreamTag references + // can only reference a tag within this same ImageStream. + optional k8s.io.api.core.v1.ObjectReference from = 3; + + // Reference states if the tag will be imported. Default value is false, which means the tag will + // be imported. + optional bool reference = 4; + + // Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference + // is changed the generation is set to match the current stream generation (which is incremented every + // time spec is changed). Other processes in the system like the image importer observe that the + // generation of spec tag is newer than the generation recorded in the status and use that as a trigger + // to import the newest remote tag. To trigger a new import, clients may set this value to zero which + // will reset the generation to the latest stream generation. Legacy clients will send this value as + // nil which will be merged with the current tag generation. + // +optional + optional int64 generation = 5; + + // ImportPolicy is information that controls how images may be imported by the server. + optional TagImportPolicy importPolicy = 6; + + // ReferencePolicy defines how other components should consume the image. + optional TagReferencePolicy referencePolicy = 7; +} + +// TagReferencePolicy describes how pull-specs for images in this image stream tag are generated when +// image change triggers in deployment configs or builds are resolved. This allows the image stream +// author to control how images are accessed. +message TagReferencePolicy { + // Type determines how the image pull spec should be transformed when the image stream tag is used in + // deployment config triggers or new builds. The default value is `Source`, indicating the original + // location of the image should be used (if imported). The user may also specify `Local`, indicating + // that the pull spec should point to the integrated container image registry and leverage the registry's + // ability to proxy the pull to an upstream registry. `Local` allows the credentials used to pull this + // image to be managed from the image stream's namespace, so others on the platform can access a remote + // image but have no access to the remote secret. It also allows the image layers to be mirrored into + // the local registry which the images can still be pulled even if the upstream registry is unavailable. + optional string type = 1; +} + diff --git a/vendor/github.com/openshift/api/image/v1/legacy.go b/vendor/github.com/openshift/api/image/v1/legacy.go new file mode 100644 index 000000000..02bbaa290 --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/legacy.go @@ -0,0 +1,33 @@ +package v1 + +import ( + "github.com/openshift/api/image/docker10" + "github.com/openshift/api/image/dockerpre012" + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, docker10.AddToSchemeInCoreGroup, dockerpre012.AddToSchemeInCoreGroup, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +// Adds the list of known types to api.Scheme. +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &Image{}, + &ImageList{}, + &ImageSignature{}, + &ImageStream{}, + &ImageStreamList{}, + &ImageStreamMapping{}, + &ImageStreamTag{}, + &ImageStreamTagList{}, + &ImageStreamImage{}, + &ImageStreamImport{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/image/v1/register.go b/vendor/github.com/openshift/api/image/v1/register.go new file mode 100644 index 000000000..46f785c47 --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/register.go @@ -0,0 +1,52 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + "github.com/openshift/api/image/docker10" + "github.com/openshift/api/image/dockerpre012" +) + +var ( + GroupName = "image.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, docker10.AddToScheme, dockerpre012.AddToScheme, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &Image{}, + &ImageList{}, + &ImageSignature{}, + &ImageStream{}, + &ImageStreamList{}, + &ImageStreamMapping{}, + &ImageStreamTag{}, + &ImageStreamTagList{}, + &ImageStreamImage{}, + &ImageStreamLayers{}, + &ImageStreamImport{}, + &corev1.SecretList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/image/v1/types.go b/vendor/github.com/openshift/api/image/v1/types.go new file mode 100644 index 000000000..90b70f467 --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/types.go @@ -0,0 +1,577 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" +) + +const ( + // ResourceImageStreams represents a number of image streams in a project. + ResourceImageStreams corev1.ResourceName = "openshift.io/imagestreams" + + // ResourceImageStreamImages represents a number of unique references to images in all image stream + // statuses of a project. + ResourceImageStreamImages corev1.ResourceName = "openshift.io/images" + + // ResourceImageStreamTags represents a number of unique references to images in all image stream specs + // of a project. + ResourceImageStreamTags corev1.ResourceName = "openshift.io/image-tags" + + // Limit that applies to images. Used with a max["storage"] LimitRangeItem to set + // the maximum size of an image. + LimitTypeImage corev1.LimitType = "openshift.io/Image" + + // Limit that applies to image streams. Used with a max[resource] LimitRangeItem to set the maximum number + // of resource. Where the resource is one of "openshift.io/images" and "openshift.io/image-tags". + LimitTypeImageStream corev1.LimitType = "openshift.io/ImageStream" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageList is a list of Image objects. +type ImageList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of images + Items []Image `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Image is an immutable representation of a container image and metadata at a point in time. +type Image struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // DockerImageReference is the string that can be used to pull this image. + DockerImageReference string `json:"dockerImageReference,omitempty" protobuf:"bytes,2,opt,name=dockerImageReference"` + // DockerImageMetadata contains metadata about this image + // +patchStrategy=replace + DockerImageMetadata runtime.RawExtension `json:"dockerImageMetadata,omitempty" patchStrategy:"replace" protobuf:"bytes,3,opt,name=dockerImageMetadata"` + // DockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" + DockerImageMetadataVersion string `json:"dockerImageMetadataVersion,omitempty" protobuf:"bytes,4,opt,name=dockerImageMetadataVersion"` + // DockerImageManifest is the raw JSON of the manifest + DockerImageManifest string `json:"dockerImageManifest,omitempty" protobuf:"bytes,5,opt,name=dockerImageManifest"` + // DockerImageLayers represents the layers in the image. May not be set if the image does not define that data. + DockerImageLayers []ImageLayer `json:"dockerImageLayers" protobuf:"bytes,6,rep,name=dockerImageLayers"` + // Signatures holds all signatures of the image. + // +patchMergeKey=name + // +patchStrategy=merge + Signatures []ImageSignature `json:"signatures,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=signatures"` + // DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1. + DockerImageSignatures [][]byte `json:"dockerImageSignatures,omitempty" protobuf:"bytes,8,rep,name=dockerImageSignatures"` + // DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2. + DockerImageManifestMediaType string `json:"dockerImageManifestMediaType,omitempty" protobuf:"bytes,9,opt,name=dockerImageManifestMediaType"` + // DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. + DockerImageConfig string `json:"dockerImageConfig,omitempty" protobuf:"bytes,10,opt,name=dockerImageConfig"` +} + +// ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none. +type ImageLayer struct { + // Name of the layer as defined by the underlying store. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // Size of the layer in bytes as defined by the underlying store. + LayerSize int64 `json:"size" protobuf:"varint,2,opt,name=size"` + // MediaType of the referenced object. + MediaType string `json:"mediaType" protobuf:"bytes,3,opt,name=mediaType"` +} + +// +genclient +// +genclient:onlyVerbs=create,delete +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageSignature holds a signature of an image. It allows to verify image identity and possibly other claims +// as long as the signature is trusted. Based on this information it is possible to restrict runnable images +// to those matching cluster-wide policy. +// Mandatory fields should be parsed by clients doing image verification. The others are parsed from +// signature's content by the server. They serve just an informative purpose. +type ImageSignature struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Required: Describes a type of stored blob. + Type string `json:"type" protobuf:"bytes,2,opt,name=type"` + // Required: An opaque binary string which is an image's signature. + Content []byte `json:"content" protobuf:"bytes,3,opt,name=content"` + // Conditions represent the latest available observations of a signature's current state. + // +patchMergeKey=type + // +patchStrategy=merge + Conditions []SignatureCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` + + // Following metadata fields will be set by server if the signature content is successfully parsed and + // the information available. + + // A human readable string representing image's identity. It could be a product name and version, or an + // image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2"). + ImageIdentity string `json:"imageIdentity,omitempty" protobuf:"bytes,5,opt,name=imageIdentity"` + // Contains claims from the signature. + SignedClaims map[string]string `json:"signedClaims,omitempty" protobuf:"bytes,6,rep,name=signedClaims"` + // If specified, it is the time of signature's creation. + Created *metav1.Time `json:"created,omitempty" protobuf:"bytes,7,opt,name=created"` + // If specified, it holds information about an issuer of signing certificate or key (a person or entity + // who signed the signing certificate or key). + IssuedBy *SignatureIssuer `json:"issuedBy,omitempty" protobuf:"bytes,8,opt,name=issuedBy"` + // If specified, it holds information about a subject of signing certificate or key (a person or entity + // who signed the image). + IssuedTo *SignatureSubject `json:"issuedTo,omitempty" protobuf:"bytes,9,opt,name=issuedTo"` +} + +/// SignatureConditionType is a type of image signature condition. +type SignatureConditionType string + +// SignatureCondition describes an image signature condition of particular kind at particular probe time. +type SignatureCondition struct { + // Type of signature condition, Complete or Failed. + Type SignatureConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=SignatureConditionType"` + // Status of the condition, one of True, False, Unknown. + Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"` + // Last time the condition was checked. + LastProbeTime metav1.Time `json:"lastProbeTime,omitempty" protobuf:"bytes,3,opt,name=lastProbeTime"` + // Last time the condition transit from one status to another. + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"` + // (brief) reason for the condition's last transition. + Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"` + // Human readable message indicating details about last transition. + Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"` +} + +// SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject +// of signing certificate or key. +type SignatureGenericEntity struct { + // Organization name. + Organization string `json:"organization,omitempty" protobuf:"bytes,1,opt,name=organization"` + // Common name (e.g. openshift-signing-service). + CommonName string `json:"commonName,omitempty" protobuf:"bytes,2,opt,name=commonName"` +} + +// SignatureIssuer holds information about an issuer of signing certificate or key. +type SignatureIssuer struct { + SignatureGenericEntity `json:",inline" protobuf:"bytes,1,opt,name=signatureGenericEntity"` +} + +// SignatureSubject holds information about a person or entity who created the signature. +type SignatureSubject struct { + SignatureGenericEntity `json:",inline" protobuf:"bytes,1,opt,name=signatureGenericEntity"` + // If present, it is a human readable key id of public key belonging to the subject used to verify image + // signature. It should contain at least 64 lowest bits of public key's fingerprint (e.g. + // 0x685ebe62bf278440). + PublicKeyID string `json:"publicKeyID" protobuf:"bytes,2,opt,name=publicKeyID"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageStreamList is a list of ImageStream objects. +type ImageStreamList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of imageStreams + Items []ImageStream `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:method=Secrets,verb=get,subresource=secrets,result=k8s.io/api/core/v1.SecretList +// +genclient:method=Layers,verb=get,subresource=layers,result=github.com/openshift/api/image/v1.ImageStreamLayers +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageStream stores a mapping of tags to images, metadata overrides that are applied +// when images are tagged in a stream, and an optional reference to a container image +// repository on a registry. +type ImageStream struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Spec describes the desired state of this stream + Spec ImageStreamSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + // Status describes the current state of this stream + Status ImageStreamStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` +} + +// ImageStreamSpec represents options for ImageStreams. +type ImageStreamSpec struct { + // lookupPolicy controls how other resources reference images within this namespace. + LookupPolicy ImageLookupPolicy `json:"lookupPolicy,omitempty" protobuf:"bytes,3,opt,name=lookupPolicy"` + // dockerImageRepository is optional, if specified this stream is backed by a container repository on this server + // Deprecated: This field is deprecated as of v3.7 and will be removed in a future release. + // Specify the source for the tags to be imported in each tag via the spec.tags.from reference instead. + DockerImageRepository string `json:"dockerImageRepository,omitempty" protobuf:"bytes,1,opt,name=dockerImageRepository"` + // tags map arbitrary string values to specific image locators + // +patchMergeKey=name + // +patchStrategy=merge + Tags []TagReference `json:"tags,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=tags"` +} + +// ImageLookupPolicy describes how an image stream can be used to override the image references +// used by pods, builds, and other resources in a namespace. +type ImageLookupPolicy struct { + // local will change the docker short image references (like "mysql" or + // "php:latest") on objects in this namespace to the image ID whenever they match + // this image stream, instead of reaching out to a remote registry. The name will + // be fully qualified to an image ID if found. The tag's referencePolicy is taken + // into account on the replaced value. Only works within the current namespace. + Local bool `json:"local" protobuf:"varint,3,opt,name=local"` +} + +// TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track. +type TagReference struct { + // Name of the tag + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags. + // +optional + Annotations map[string]string `json:"annotations" protobuf:"bytes,2,rep,name=annotations"` + // Optional; if specified, a reference to another image that this tag should point to. Valid values + // are ImageStreamTag, ImageStreamImage, and DockerImage. ImageStreamTag references + // can only reference a tag within this same ImageStream. + From *corev1.ObjectReference `json:"from,omitempty" protobuf:"bytes,3,opt,name=from"` + // Reference states if the tag will be imported. Default value is false, which means the tag will + // be imported. + Reference bool `json:"reference,omitempty" protobuf:"varint,4,opt,name=reference"` + // Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference + // is changed the generation is set to match the current stream generation (which is incremented every + // time spec is changed). Other processes in the system like the image importer observe that the + // generation of spec tag is newer than the generation recorded in the status and use that as a trigger + // to import the newest remote tag. To trigger a new import, clients may set this value to zero which + // will reset the generation to the latest stream generation. Legacy clients will send this value as + // nil which will be merged with the current tag generation. + // +optional + Generation *int64 `json:"generation" protobuf:"varint,5,opt,name=generation"` + // ImportPolicy is information that controls how images may be imported by the server. + ImportPolicy TagImportPolicy `json:"importPolicy,omitempty" protobuf:"bytes,6,opt,name=importPolicy"` + // ReferencePolicy defines how other components should consume the image. + ReferencePolicy TagReferencePolicy `json:"referencePolicy,omitempty" protobuf:"bytes,7,opt,name=referencePolicy"` +} + +// TagImportPolicy controls how images related to this tag will be imported. +type TagImportPolicy struct { + // Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import. + Insecure bool `json:"insecure,omitempty" protobuf:"varint,1,opt,name=insecure"` + // Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported + Scheduled bool `json:"scheduled,omitempty" protobuf:"varint,2,opt,name=scheduled"` +} + +// TagReferencePolicyType describes how pull-specs for images in an image stream tag are generated when +// image change triggers are fired. +type TagReferencePolicyType string + +const ( + // SourceTagReferencePolicy indicates the image's original location should be used when the image stream tag + // is resolved into other resources (builds and deployment configurations). + SourceTagReferencePolicy TagReferencePolicyType = "Source" + // LocalTagReferencePolicy indicates the image should prefer to pull via the local integrated registry, + // falling back to the remote location if the integrated registry has not been configured. The reference will + // use the internal DNS name or registry service IP. + LocalTagReferencePolicy TagReferencePolicyType = "Local" +) + +// TagReferencePolicy describes how pull-specs for images in this image stream tag are generated when +// image change triggers in deployment configs or builds are resolved. This allows the image stream +// author to control how images are accessed. +type TagReferencePolicy struct { + // Type determines how the image pull spec should be transformed when the image stream tag is used in + // deployment config triggers or new builds. The default value is `Source`, indicating the original + // location of the image should be used (if imported). The user may also specify `Local`, indicating + // that the pull spec should point to the integrated container image registry and leverage the registry's + // ability to proxy the pull to an upstream registry. `Local` allows the credentials used to pull this + // image to be managed from the image stream's namespace, so others on the platform can access a remote + // image but have no access to the remote secret. It also allows the image layers to be mirrored into + // the local registry which the images can still be pulled even if the upstream registry is unavailable. + Type TagReferencePolicyType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=TagReferencePolicyType"` +} + +// ImageStreamStatus contains information about the state of this image stream. +type ImageStreamStatus struct { + // DockerImageRepository represents the effective location this stream may be accessed at. + // May be empty until the server determines where the repository is located + DockerImageRepository string `json:"dockerImageRepository" protobuf:"bytes,1,opt,name=dockerImageRepository"` + // PublicDockerImageRepository represents the public location from where the image can + // be pulled outside the cluster. This field may be empty if the administrator + // has not exposed the integrated registry externally. + PublicDockerImageRepository string `json:"publicDockerImageRepository,omitempty" protobuf:"bytes,3,opt,name=publicDockerImageRepository"` + // Tags are a historical record of images associated with each tag. The first entry in the + // TagEvent array is the currently tagged image. + // +patchMergeKey=tag + // +patchStrategy=merge + Tags []NamedTagEventList `json:"tags,omitempty" patchStrategy:"merge" patchMergeKey:"tag" protobuf:"bytes,2,rep,name=tags"` +} + +// NamedTagEventList relates a tag to its image history. +type NamedTagEventList struct { + // Tag is the tag for which the history is recorded + Tag string `json:"tag" protobuf:"bytes,1,opt,name=tag"` + // Standard object's metadata. + Items []TagEvent `json:"items" protobuf:"bytes,2,rep,name=items"` + // Conditions is an array of conditions that apply to the tag event list. + Conditions []TagEventCondition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"` +} + +// TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag. +type TagEvent struct { + // Created holds the time the TagEvent was created + Created metav1.Time `json:"created" protobuf:"bytes,1,opt,name=created"` + // DockerImageReference is the string that can be used to pull this image + DockerImageReference string `json:"dockerImageReference" protobuf:"bytes,2,opt,name=dockerImageReference"` + // Image is the image + Image string `json:"image" protobuf:"bytes,3,opt,name=image"` + // Generation is the spec tag generation that resulted in this tag being updated + Generation int64 `json:"generation" protobuf:"varint,4,opt,name=generation"` +} + +type TagEventConditionType string + +// These are valid conditions of TagEvents. +const ( + // ImportSuccess with status False means the import of the specific tag failed + ImportSuccess TagEventConditionType = "ImportSuccess" +) + +// TagEventCondition contains condition information for a tag event. +type TagEventCondition struct { + // Type of tag event condition, currently only ImportSuccess + Type TagEventConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=TagEventConditionType"` + // Status of the condition, one of True, False, Unknown. + Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"` + // LastTransitionTIme is the time the condition transitioned from one status to another. + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"` + // Reason is a brief machine readable explanation for the condition's last transition. + Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"` + // Message is a human readable description of the details about last transition, complementing reason. + Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` + // Generation is the spec tag generation that this status corresponds to + Generation int64 `json:"generation" protobuf:"varint,6,opt,name=generation"` +} + +// +genclient +// +genclient:skipVerbs=get,list,create,update,patch,delete,deleteCollection,watch +// +genclient:method=Create,verb=create,result=k8s.io/apimachinery/pkg/apis/meta/v1.Status +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageStreamMapping represents a mapping from a single tag to a container image as +// well as the reference to the container image stream the image came from. +type ImageStreamMapping struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Image is a container image. + Image Image `json:"image" protobuf:"bytes,2,opt,name=image"` + // Tag is a string value this image can be located with inside the stream. + Tag string `json:"tag" protobuf:"bytes,3,opt,name=tag"` +} + +// +genclient +// +genclient:onlyVerbs=get,list,create,update,delete +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageStreamTag represents an Image that is retrieved by tag name from an ImageStream. +type ImageStreamTag struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // tag is the spec tag associated with this image stream tag, and it may be null + // if only pushes have occurred to this image stream. + Tag *TagReference `json:"tag" protobuf:"bytes,2,opt,name=tag"` + + // generation is the current generation of the tagged image - if tag is provided + // and this value is not equal to the tag generation, a user has requested an + // import that has not completed, or conditions will be filled out indicating any + // error. + Generation int64 `json:"generation" protobuf:"varint,3,opt,name=generation"` + + // lookupPolicy indicates whether this tag will handle image references in this + // namespace. + LookupPolicy ImageLookupPolicy `json:"lookupPolicy" protobuf:"varint,6,opt,name=lookupPolicy"` + + // conditions is an array of conditions that apply to the image stream tag. + Conditions []TagEventCondition `json:"conditions,omitempty" protobuf:"bytes,4,rep,name=conditions"` + + // image associated with the ImageStream and tag. + Image Image `json:"image" protobuf:"bytes,5,opt,name=image"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageStreamTagList is a list of ImageStreamTag objects. +type ImageStreamTagList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is the list of image stream tags + Items []ImageStreamTag `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:onlyVerbs=get +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageStreamImage represents an Image that is retrieved by image name from an ImageStream. +type ImageStreamImage struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Image associated with the ImageStream and image name. + Image Image `json:"image" protobuf:"bytes,2,opt,name=image"` +} + +// DockerImageReference points to a container image. +type DockerImageReference struct { + // Registry is the registry that contains the container image + Registry string `protobuf:"bytes,1,opt,name=registry"` + // Namespace is the namespace that contains the container image + Namespace string `protobuf:"bytes,2,opt,name=namespace"` + // Name is the name of the container image + Name string `protobuf:"bytes,3,opt,name=name"` + // Tag is which tag of the container image is being referenced + Tag string `protobuf:"bytes,4,opt,name=tag"` + // ID is the identifier for the container image + ID string `protobuf:"bytes,5,opt,name=iD"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ImageStreamLayers describes information about the layers referenced by images in this +// image stream. +type ImageStreamLayers struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // blobs is a map of blob name to metadata about the blob. + Blobs map[string]ImageLayerData `json:"blobs" protobuf:"bytes,2,rep,name=blobs"` + // images is a map between an image name and the names of the blobs and config that + // comprise the image. + Images map[string]ImageBlobReferences `json:"images" protobuf:"bytes,3,rep,name=images"` +} + +// ImageBlobReferences describes the blob references within an image. +type ImageBlobReferences struct { + // imageMissing is true if the image is referenced by the image stream but the image + // object has been deleted from the API by an administrator. When this field is set, + // layers and config fields may be empty and callers that depend on the image metadata + // should consider the image to be unavailable for download or viewing. + // +optional + ImageMissing bool `json:"imageMissing" protobuf:"varint,3,opt,name=imageMissing"` + // layers is the list of blobs that compose this image, from base layer to top layer. + // All layers referenced by this array will be defined in the blobs map. Some images + // may have zero layers. + // +optional + Layers []string `json:"layers" protobuf:"bytes,1,rep,name=layers"` + // config, if set, is the blob that contains the image config. Some images do + // not have separate config blobs and this field will be set to nil if so. + // +optional + Config *string `json:"config" protobuf:"bytes,2,opt,name=config"` +} + +// ImageLayerData contains metadata about an image layer. +type ImageLayerData struct { + // Size of the layer in bytes as defined by the underlying store. This field is + // optional if the necessary information about size is not available. + LayerSize *int64 `json:"size" protobuf:"varint,1,opt,name=size"` + // MediaType of the referenced object. + MediaType string `json:"mediaType" protobuf:"bytes,2,opt,name=mediaType"` +} + +// +genclient +// +genclient:onlyVerbs=create +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// The image stream import resource provides an easy way for a user to find and import container images +// from other container image registries into the server. Individual images or an entire image repository may +// be imported, and users may choose to see the results of the import prior to tagging the resulting +// images into the specified image stream. +// +// This API is intended for end-user tools that need to see the metadata of the image prior to import +// (for instance, to generate an application from it). Clients that know the desired image can continue +// to create spec.tags directly into their image streams. +type ImageStreamImport struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Spec is a description of the images that the user wishes to import + Spec ImageStreamImportSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + // Status is the the result of importing the image + Status ImageStreamImportStatus `json:"status" protobuf:"bytes,3,opt,name=status"` +} + +// ImageStreamImportSpec defines what images should be imported. +type ImageStreamImportSpec struct { + // Import indicates whether to perform an import - if so, the specified tags are set on the spec + // and status of the image stream defined by the type meta. + Import bool `json:"import" protobuf:"varint,1,opt,name=import"` + // Repository is an optional import of an entire container image repository. A maximum limit on the + // number of tags imported this way is imposed by the server. + Repository *RepositoryImportSpec `json:"repository,omitempty" protobuf:"bytes,2,opt,name=repository"` + // Images are a list of individual images to import. + Images []ImageImportSpec `json:"images,omitempty" protobuf:"bytes,3,rep,name=images"` +} + +// ImageStreamImportStatus contains information about the status of an image stream import. +type ImageStreamImportStatus struct { + // Import is the image stream that was successfully updated or created when 'to' was set. + Import *ImageStream `json:"import,omitempty" protobuf:"bytes,1,opt,name=import"` + // Repository is set if spec.repository was set to the outcome of the import + Repository *RepositoryImportStatus `json:"repository,omitempty" protobuf:"bytes,2,opt,name=repository"` + // Images is set with the result of importing spec.images + Images []ImageImportStatus `json:"images,omitempty" protobuf:"bytes,3,rep,name=images"` +} + +// RepositoryImportSpec describes a request to import images from a container image repository. +type RepositoryImportSpec struct { + // From is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed + From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` + + // ImportPolicy is the policy controlling how the image is imported + ImportPolicy TagImportPolicy `json:"importPolicy,omitempty" protobuf:"bytes,2,opt,name=importPolicy"` + // ReferencePolicy defines how other components should consume the image + ReferencePolicy TagReferencePolicy `json:"referencePolicy,omitempty" protobuf:"bytes,4,opt,name=referencePolicy"` + // IncludeManifest determines if the manifest for each image is returned in the response + IncludeManifest bool `json:"includeManifest,omitempty" protobuf:"varint,3,opt,name=includeManifest"` +} + +// RepositoryImportStatus describes the result of an image repository import +type RepositoryImportStatus struct { + // Status reflects whether any failure occurred during import + Status metav1.Status `json:"status,omitempty" protobuf:"bytes,1,opt,name=status"` + // Images is a list of images successfully retrieved by the import of the repository. + Images []ImageImportStatus `json:"images,omitempty" protobuf:"bytes,2,rep,name=images"` + // AdditionalTags are tags that exist in the repository but were not imported because + // a maximum limit of automatic imports was applied. + AdditionalTags []string `json:"additionalTags,omitempty" protobuf:"bytes,3,rep,name=additionalTags"` +} + +// ImageImportSpec describes a request to import a specific image. +type ImageImportSpec struct { + // From is the source of an image to import; only kind DockerImage is allowed + From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` + // To is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used + To *corev1.LocalObjectReference `json:"to,omitempty" protobuf:"bytes,2,opt,name=to"` + + // ImportPolicy is the policy controlling how the image is imported + ImportPolicy TagImportPolicy `json:"importPolicy,omitempty" protobuf:"bytes,3,opt,name=importPolicy"` + // ReferencePolicy defines how other components should consume the image + ReferencePolicy TagReferencePolicy `json:"referencePolicy,omitempty" protobuf:"bytes,5,opt,name=referencePolicy"` + // IncludeManifest determines if the manifest for each image is returned in the response + IncludeManifest bool `json:"includeManifest,omitempty" protobuf:"varint,4,opt,name=includeManifest"` +} + +// ImageImportStatus describes the result of an image import. +type ImageImportStatus struct { + // Status is the status of the image import, including errors encountered while retrieving the image + Status metav1.Status `json:"status" protobuf:"bytes,1,opt,name=status"` + // Image is the metadata of that image, if the image was located + Image *Image `json:"image,omitempty" protobuf:"bytes,2,opt,name=image"` + // Tag is the tag this image was located under, if any + Tag string `json:"tag,omitempty" protobuf:"bytes,3,opt,name=tag"` +} diff --git a/vendor/github.com/openshift/api/image/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/image/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..93525f773 --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/zz_generated.deepcopy.go @@ -0,0 +1,960 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerImageReference) DeepCopyInto(out *DockerImageReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerImageReference. +func (in *DockerImageReference) DeepCopy() *DockerImageReference { + if in == nil { + return nil + } + out := new(DockerImageReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Image) DeepCopyInto(out *Image) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.DockerImageMetadata.DeepCopyInto(&out.DockerImageMetadata) + if in.DockerImageLayers != nil { + in, out := &in.DockerImageLayers, &out.DockerImageLayers + *out = make([]ImageLayer, len(*in)) + copy(*out, *in) + } + if in.Signatures != nil { + in, out := &in.Signatures, &out.Signatures + *out = make([]ImageSignature, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DockerImageSignatures != nil { + in, out := &in.DockerImageSignatures, &out.DockerImageSignatures + *out = make([][]byte, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = make([]byte, len(*in)) + copy(*out, *in) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image. +func (in *Image) DeepCopy() *Image { + if in == nil { + return nil + } + out := new(Image) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Image) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageBlobReferences) DeepCopyInto(out *ImageBlobReferences) { + *out = *in + if in.Layers != nil { + in, out := &in.Layers, &out.Layers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Config != nil { + in, out := &in.Config, &out.Config + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageBlobReferences. +func (in *ImageBlobReferences) DeepCopy() *ImageBlobReferences { + if in == nil { + return nil + } + out := new(ImageBlobReferences) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageImportSpec) DeepCopyInto(out *ImageImportSpec) { + *out = *in + out.From = in.From + if in.To != nil { + in, out := &in.To, &out.To + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + out.ImportPolicy = in.ImportPolicy + out.ReferencePolicy = in.ReferencePolicy + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageImportSpec. +func (in *ImageImportSpec) DeepCopy() *ImageImportSpec { + if in == nil { + return nil + } + out := new(ImageImportSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageImportStatus) DeepCopyInto(out *ImageImportStatus) { + *out = *in + in.Status.DeepCopyInto(&out.Status) + if in.Image != nil { + in, out := &in.Image, &out.Image + if *in == nil { + *out = nil + } else { + *out = new(Image) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageImportStatus. +func (in *ImageImportStatus) DeepCopy() *ImageImportStatus { + if in == nil { + return nil + } + out := new(ImageImportStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageLayer) DeepCopyInto(out *ImageLayer) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageLayer. +func (in *ImageLayer) DeepCopy() *ImageLayer { + if in == nil { + return nil + } + out := new(ImageLayer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageLayerData) DeepCopyInto(out *ImageLayerData) { + *out = *in + if in.LayerSize != nil { + in, out := &in.LayerSize, &out.LayerSize + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageLayerData. +func (in *ImageLayerData) DeepCopy() *ImageLayerData { + if in == nil { + return nil + } + out := new(ImageLayerData) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageList) DeepCopyInto(out *ImageList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Image, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageList. +func (in *ImageList) DeepCopy() *ImageList { + if in == nil { + return nil + } + out := new(ImageList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageLookupPolicy) DeepCopyInto(out *ImageLookupPolicy) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageLookupPolicy. +func (in *ImageLookupPolicy) DeepCopy() *ImageLookupPolicy { + if in == nil { + return nil + } + out := new(ImageLookupPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageSignature) DeepCopyInto(out *ImageSignature) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Content != nil { + in, out := &in.Content, &out.Content + *out = make([]byte, len(*in)) + copy(*out, *in) + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]SignatureCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SignedClaims != nil { + in, out := &in.SignedClaims, &out.SignedClaims + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Created != nil { + in, out := &in.Created, &out.Created + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.IssuedBy != nil { + in, out := &in.IssuedBy, &out.IssuedBy + if *in == nil { + *out = nil + } else { + *out = new(SignatureIssuer) + **out = **in + } + } + if in.IssuedTo != nil { + in, out := &in.IssuedTo, &out.IssuedTo + if *in == nil { + *out = nil + } else { + *out = new(SignatureSubject) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSignature. +func (in *ImageSignature) DeepCopy() *ImageSignature { + if in == nil { + return nil + } + out := new(ImageSignature) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageSignature) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStream) DeepCopyInto(out *ImageStream) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStream. +func (in *ImageStream) DeepCopy() *ImageStream { + if in == nil { + return nil + } + out := new(ImageStream) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStream) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamImage) DeepCopyInto(out *ImageStreamImage) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Image.DeepCopyInto(&out.Image) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamImage. +func (in *ImageStreamImage) DeepCopy() *ImageStreamImage { + if in == nil { + return nil + } + out := new(ImageStreamImage) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStreamImage) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamImport) DeepCopyInto(out *ImageStreamImport) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamImport. +func (in *ImageStreamImport) DeepCopy() *ImageStreamImport { + if in == nil { + return nil + } + out := new(ImageStreamImport) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStreamImport) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamImportSpec) DeepCopyInto(out *ImageStreamImportSpec) { + *out = *in + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + if *in == nil { + *out = nil + } else { + *out = new(RepositoryImportSpec) + **out = **in + } + } + if in.Images != nil { + in, out := &in.Images, &out.Images + *out = make([]ImageImportSpec, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamImportSpec. +func (in *ImageStreamImportSpec) DeepCopy() *ImageStreamImportSpec { + if in == nil { + return nil + } + out := new(ImageStreamImportSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamImportStatus) DeepCopyInto(out *ImageStreamImportStatus) { + *out = *in + if in.Import != nil { + in, out := &in.Import, &out.Import + if *in == nil { + *out = nil + } else { + *out = new(ImageStream) + (*in).DeepCopyInto(*out) + } + } + if in.Repository != nil { + in, out := &in.Repository, &out.Repository + if *in == nil { + *out = nil + } else { + *out = new(RepositoryImportStatus) + (*in).DeepCopyInto(*out) + } + } + if in.Images != nil { + in, out := &in.Images, &out.Images + *out = make([]ImageImportStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamImportStatus. +func (in *ImageStreamImportStatus) DeepCopy() *ImageStreamImportStatus { + if in == nil { + return nil + } + out := new(ImageStreamImportStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamLayers) DeepCopyInto(out *ImageStreamLayers) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Blobs != nil { + in, out := &in.Blobs, &out.Blobs + *out = make(map[string]ImageLayerData, len(*in)) + for key, val := range *in { + newVal := new(ImageLayerData) + val.DeepCopyInto(newVal) + (*out)[key] = *newVal + } + } + if in.Images != nil { + in, out := &in.Images, &out.Images + *out = make(map[string]ImageBlobReferences, len(*in)) + for key, val := range *in { + newVal := new(ImageBlobReferences) + val.DeepCopyInto(newVal) + (*out)[key] = *newVal + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamLayers. +func (in *ImageStreamLayers) DeepCopy() *ImageStreamLayers { + if in == nil { + return nil + } + out := new(ImageStreamLayers) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStreamLayers) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamList) DeepCopyInto(out *ImageStreamList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ImageStream, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamList. +func (in *ImageStreamList) DeepCopy() *ImageStreamList { + if in == nil { + return nil + } + out := new(ImageStreamList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStreamList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamMapping) DeepCopyInto(out *ImageStreamMapping) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Image.DeepCopyInto(&out.Image) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamMapping. +func (in *ImageStreamMapping) DeepCopy() *ImageStreamMapping { + if in == nil { + return nil + } + out := new(ImageStreamMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStreamMapping) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamSpec) DeepCopyInto(out *ImageStreamSpec) { + *out = *in + out.LookupPolicy = in.LookupPolicy + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make([]TagReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamSpec. +func (in *ImageStreamSpec) DeepCopy() *ImageStreamSpec { + if in == nil { + return nil + } + out := new(ImageStreamSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamStatus) DeepCopyInto(out *ImageStreamStatus) { + *out = *in + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make([]NamedTagEventList, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamStatus. +func (in *ImageStreamStatus) DeepCopy() *ImageStreamStatus { + if in == nil { + return nil + } + out := new(ImageStreamStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamTag) DeepCopyInto(out *ImageStreamTag) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + if *in == nil { + *out = nil + } else { + *out = new(TagReference) + (*in).DeepCopyInto(*out) + } + } + out.LookupPolicy = in.LookupPolicy + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]TagEventCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + in.Image.DeepCopyInto(&out.Image) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamTag. +func (in *ImageStreamTag) DeepCopy() *ImageStreamTag { + if in == nil { + return nil + } + out := new(ImageStreamTag) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStreamTag) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageStreamTagList) DeepCopyInto(out *ImageStreamTagList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ImageStreamTag, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStreamTagList. +func (in *ImageStreamTagList) DeepCopy() *ImageStreamTagList { + if in == nil { + return nil + } + out := new(ImageStreamTagList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ImageStreamTagList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedTagEventList) DeepCopyInto(out *NamedTagEventList) { + *out = *in + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TagEvent, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]TagEventCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedTagEventList. +func (in *NamedTagEventList) DeepCopy() *NamedTagEventList { + if in == nil { + return nil + } + out := new(NamedTagEventList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryImportSpec) DeepCopyInto(out *RepositoryImportSpec) { + *out = *in + out.From = in.From + out.ImportPolicy = in.ImportPolicy + out.ReferencePolicy = in.ReferencePolicy + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryImportSpec. +func (in *RepositoryImportSpec) DeepCopy() *RepositoryImportSpec { + if in == nil { + return nil + } + out := new(RepositoryImportSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RepositoryImportStatus) DeepCopyInto(out *RepositoryImportStatus) { + *out = *in + in.Status.DeepCopyInto(&out.Status) + if in.Images != nil { + in, out := &in.Images, &out.Images + *out = make([]ImageImportStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AdditionalTags != nil { + in, out := &in.AdditionalTags, &out.AdditionalTags + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryImportStatus. +func (in *RepositoryImportStatus) DeepCopy() *RepositoryImportStatus { + if in == nil { + return nil + } + out := new(RepositoryImportStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignatureCondition) DeepCopyInto(out *SignatureCondition) { + *out = *in + in.LastProbeTime.DeepCopyInto(&out.LastProbeTime) + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignatureCondition. +func (in *SignatureCondition) DeepCopy() *SignatureCondition { + if in == nil { + return nil + } + out := new(SignatureCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignatureGenericEntity) DeepCopyInto(out *SignatureGenericEntity) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignatureGenericEntity. +func (in *SignatureGenericEntity) DeepCopy() *SignatureGenericEntity { + if in == nil { + return nil + } + out := new(SignatureGenericEntity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignatureIssuer) DeepCopyInto(out *SignatureIssuer) { + *out = *in + out.SignatureGenericEntity = in.SignatureGenericEntity + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignatureIssuer. +func (in *SignatureIssuer) DeepCopy() *SignatureIssuer { + if in == nil { + return nil + } + out := new(SignatureIssuer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SignatureSubject) DeepCopyInto(out *SignatureSubject) { + *out = *in + out.SignatureGenericEntity = in.SignatureGenericEntity + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SignatureSubject. +func (in *SignatureSubject) DeepCopy() *SignatureSubject { + if in == nil { + return nil + } + out := new(SignatureSubject) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagEvent) DeepCopyInto(out *TagEvent) { + *out = *in + in.Created.DeepCopyInto(&out.Created) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagEvent. +func (in *TagEvent) DeepCopy() *TagEvent { + if in == nil { + return nil + } + out := new(TagEvent) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagEventCondition) DeepCopyInto(out *TagEventCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagEventCondition. +func (in *TagEventCondition) DeepCopy() *TagEventCondition { + if in == nil { + return nil + } + out := new(TagEventCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagImportPolicy) DeepCopyInto(out *TagImportPolicy) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagImportPolicy. +func (in *TagImportPolicy) DeepCopy() *TagImportPolicy { + if in == nil { + return nil + } + out := new(TagImportPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagReference) DeepCopyInto(out *TagReference) { + *out = *in + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.From != nil { + in, out := &in.From, &out.From + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + if in.Generation != nil { + in, out := &in.Generation, &out.Generation + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + out.ImportPolicy = in.ImportPolicy + out.ReferencePolicy = in.ReferencePolicy + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagReference. +func (in *TagReference) DeepCopy() *TagReference { + if in == nil { + return nil + } + out := new(TagReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TagReferencePolicy) DeepCopyInto(out *TagReferencePolicy) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagReferencePolicy. +func (in *TagReferencePolicy) DeepCopy() *TagReferencePolicy { + if in == nil { + return nil + } + out := new(TagReferencePolicy) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..781590987 --- /dev/null +++ b/vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,404 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_DockerImageReference = map[string]string{ + "": "DockerImageReference points to a container image.", + "Registry": "Registry is the registry that contains the container image", + "Namespace": "Namespace is the namespace that contains the container image", + "Name": "Name is the name of the container image", + "Tag": "Tag is which tag of the container image is being referenced", + "ID": "ID is the identifier for the container image", +} + +func (DockerImageReference) SwaggerDoc() map[string]string { + return map_DockerImageReference +} + +var map_Image = map[string]string{ + "": "Image is an immutable representation of a container image and metadata at a point in time.", + "metadata": "Standard object's metadata.", + "dockerImageReference": "DockerImageReference is the string that can be used to pull this image.", + "dockerImageMetadata": "DockerImageMetadata contains metadata about this image", + "dockerImageMetadataVersion": "DockerImageMetadataVersion conveys the version of the object, which if empty defaults to \"1.0\"", + "dockerImageManifest": "DockerImageManifest is the raw JSON of the manifest", + "dockerImageLayers": "DockerImageLayers represents the layers in the image. May not be set if the image does not define that data.", + "signatures": "Signatures holds all signatures of the image.", + "dockerImageSignatures": "DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1.", + "dockerImageManifestMediaType": "DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2.", + "dockerImageConfig": "DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2.", +} + +func (Image) SwaggerDoc() map[string]string { + return map_Image +} + +var map_ImageBlobReferences = map[string]string{ + "": "ImageBlobReferences describes the blob references within an image.", + "imageMissing": "imageMissing is true if the image is referenced by the image stream but the image object has been deleted from the API by an administrator. When this field is set, layers and config fields may be empty and callers that depend on the image metadata should consider the image to be unavailable for download or viewing.", + "layers": "layers is the list of blobs that compose this image, from base layer to top layer. All layers referenced by this array will be defined in the blobs map. Some images may have zero layers.", + "config": "config, if set, is the blob that contains the image config. Some images do not have separate config blobs and this field will be set to nil if so.", +} + +func (ImageBlobReferences) SwaggerDoc() map[string]string { + return map_ImageBlobReferences +} + +var map_ImageImportSpec = map[string]string{ + "": "ImageImportSpec describes a request to import a specific image.", + "from": "From is the source of an image to import; only kind DockerImage is allowed", + "to": "To is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used", + "importPolicy": "ImportPolicy is the policy controlling how the image is imported", + "referencePolicy": "ReferencePolicy defines how other components should consume the image", + "includeManifest": "IncludeManifest determines if the manifest for each image is returned in the response", +} + +func (ImageImportSpec) SwaggerDoc() map[string]string { + return map_ImageImportSpec +} + +var map_ImageImportStatus = map[string]string{ + "": "ImageImportStatus describes the result of an image import.", + "status": "Status is the status of the image import, including errors encountered while retrieving the image", + "image": "Image is the metadata of that image, if the image was located", + "tag": "Tag is the tag this image was located under, if any", +} + +func (ImageImportStatus) SwaggerDoc() map[string]string { + return map_ImageImportStatus +} + +var map_ImageLayer = map[string]string{ + "": "ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none.", + "name": "Name of the layer as defined by the underlying store.", + "size": "Size of the layer in bytes as defined by the underlying store.", + "mediaType": "MediaType of the referenced object.", +} + +func (ImageLayer) SwaggerDoc() map[string]string { + return map_ImageLayer +} + +var map_ImageLayerData = map[string]string{ + "": "ImageLayerData contains metadata about an image layer.", + "size": "Size of the layer in bytes as defined by the underlying store. This field is optional if the necessary information about size is not available.", + "mediaType": "MediaType of the referenced object.", +} + +func (ImageLayerData) SwaggerDoc() map[string]string { + return map_ImageLayerData +} + +var map_ImageList = map[string]string{ + "": "ImageList is a list of Image objects.", + "metadata": "Standard object's metadata.", + "items": "Items is a list of images", +} + +func (ImageList) SwaggerDoc() map[string]string { + return map_ImageList +} + +var map_ImageLookupPolicy = map[string]string{ + "": "ImageLookupPolicy describes how an image stream can be used to override the image references used by pods, builds, and other resources in a namespace.", + "local": "local will change the docker short image references (like \"mysql\" or \"php:latest\") on objects in this namespace to the image ID whenever they match this image stream, instead of reaching out to a remote registry. The name will be fully qualified to an image ID if found. The tag's referencePolicy is taken into account on the replaced value. Only works within the current namespace.", +} + +func (ImageLookupPolicy) SwaggerDoc() map[string]string { + return map_ImageLookupPolicy +} + +var map_ImageSignature = map[string]string{ + "": "ImageSignature holds a signature of an image. It allows to verify image identity and possibly other claims as long as the signature is trusted. Based on this information it is possible to restrict runnable images to those matching cluster-wide policy. Mandatory fields should be parsed by clients doing image verification. The others are parsed from signature's content by the server. They serve just an informative purpose.", + "metadata": "Standard object's metadata.", + "type": "Required: Describes a type of stored blob.", + "content": "Required: An opaque binary string which is an image's signature.", + "conditions": "Conditions represent the latest available observations of a signature's current state.", + "imageIdentity": "A human readable string representing image's identity. It could be a product name and version, or an image pull spec (e.g. \"registry.access.redhat.com/rhel7/rhel:7.2\").", + "signedClaims": "Contains claims from the signature.", + "created": "If specified, it is the time of signature's creation.", + "issuedBy": "If specified, it holds information about an issuer of signing certificate or key (a person or entity who signed the signing certificate or key).", + "issuedTo": "If specified, it holds information about a subject of signing certificate or key (a person or entity who signed the image).", +} + +func (ImageSignature) SwaggerDoc() map[string]string { + return map_ImageSignature +} + +var map_ImageStream = map[string]string{ + "": "ImageStream stores a mapping of tags to images, metadata overrides that are applied when images are tagged in a stream, and an optional reference to a container image repository on a registry.", + "metadata": "Standard object's metadata.", + "spec": "Spec describes the desired state of this stream", + "status": "Status describes the current state of this stream", +} + +func (ImageStream) SwaggerDoc() map[string]string { + return map_ImageStream +} + +var map_ImageStreamImage = map[string]string{ + "": "ImageStreamImage represents an Image that is retrieved by image name from an ImageStream.", + "metadata": "Standard object's metadata.", + "image": "Image associated with the ImageStream and image name.", +} + +func (ImageStreamImage) SwaggerDoc() map[string]string { + return map_ImageStreamImage +} + +var map_ImageStreamImport = map[string]string{ + "": "The image stream import resource provides an easy way for a user to find and import container images from other container image registries into the server. Individual images or an entire image repository may be imported, and users may choose to see the results of the import prior to tagging the resulting images into the specified image stream.\n\nThis API is intended for end-user tools that need to see the metadata of the image prior to import (for instance, to generate an application from it). Clients that know the desired image can continue to create spec.tags directly into their image streams.", + "metadata": "Standard object's metadata.", + "spec": "Spec is a description of the images that the user wishes to import", + "status": "Status is the the result of importing the image", +} + +func (ImageStreamImport) SwaggerDoc() map[string]string { + return map_ImageStreamImport +} + +var map_ImageStreamImportSpec = map[string]string{ + "": "ImageStreamImportSpec defines what images should be imported.", + "import": "Import indicates whether to perform an import - if so, the specified tags are set on the spec and status of the image stream defined by the type meta.", + "repository": "Repository is an optional import of an entire container image repository. A maximum limit on the number of tags imported this way is imposed by the server.", + "images": "Images are a list of individual images to import.", +} + +func (ImageStreamImportSpec) SwaggerDoc() map[string]string { + return map_ImageStreamImportSpec +} + +var map_ImageStreamImportStatus = map[string]string{ + "": "ImageStreamImportStatus contains information about the status of an image stream import.", + "import": "Import is the image stream that was successfully updated or created when 'to' was set.", + "repository": "Repository is set if spec.repository was set to the outcome of the import", + "images": "Images is set with the result of importing spec.images", +} + +func (ImageStreamImportStatus) SwaggerDoc() map[string]string { + return map_ImageStreamImportStatus +} + +var map_ImageStreamLayers = map[string]string{ + "": "ImageStreamLayers describes information about the layers referenced by images in this image stream.", + "metadata": "Standard object's metadata.", + "blobs": "blobs is a map of blob name to metadata about the blob.", + "images": "images is a map between an image name and the names of the blobs and config that comprise the image.", +} + +func (ImageStreamLayers) SwaggerDoc() map[string]string { + return map_ImageStreamLayers +} + +var map_ImageStreamList = map[string]string{ + "": "ImageStreamList is a list of ImageStream objects.", + "metadata": "Standard object's metadata.", + "items": "Items is a list of imageStreams", +} + +func (ImageStreamList) SwaggerDoc() map[string]string { + return map_ImageStreamList +} + +var map_ImageStreamMapping = map[string]string{ + "": "ImageStreamMapping represents a mapping from a single tag to a container image as well as the reference to the container image stream the image came from.", + "metadata": "Standard object's metadata.", + "image": "Image is a container image.", + "tag": "Tag is a string value this image can be located with inside the stream.", +} + +func (ImageStreamMapping) SwaggerDoc() map[string]string { + return map_ImageStreamMapping +} + +var map_ImageStreamSpec = map[string]string{ + "": "ImageStreamSpec represents options for ImageStreams.", + "lookupPolicy": "lookupPolicy controls how other resources reference images within this namespace.", + "dockerImageRepository": "dockerImageRepository is optional, if specified this stream is backed by a container repository on this server Deprecated: This field is deprecated as of v3.7 and will be removed in a future release. Specify the source for the tags to be imported in each tag via the spec.tags.from reference instead.", + "tags": "tags map arbitrary string values to specific image locators", +} + +func (ImageStreamSpec) SwaggerDoc() map[string]string { + return map_ImageStreamSpec +} + +var map_ImageStreamStatus = map[string]string{ + "": "ImageStreamStatus contains information about the state of this image stream.", + "dockerImageRepository": "DockerImageRepository represents the effective location this stream may be accessed at. May be empty until the server determines where the repository is located", + "publicDockerImageRepository": "PublicDockerImageRepository represents the public location from where the image can be pulled outside the cluster. This field may be empty if the administrator has not exposed the integrated registry externally.", + "tags": "Tags are a historical record of images associated with each tag. The first entry in the TagEvent array is the currently tagged image.", +} + +func (ImageStreamStatus) SwaggerDoc() map[string]string { + return map_ImageStreamStatus +} + +var map_ImageStreamTag = map[string]string{ + "": "ImageStreamTag represents an Image that is retrieved by tag name from an ImageStream.", + "metadata": "Standard object's metadata.", + "tag": "tag is the spec tag associated with this image stream tag, and it may be null if only pushes have occurred to this image stream.", + "generation": "generation is the current generation of the tagged image - if tag is provided and this value is not equal to the tag generation, a user has requested an import that has not completed, or conditions will be filled out indicating any error.", + "lookupPolicy": "lookupPolicy indicates whether this tag will handle image references in this namespace.", + "conditions": "conditions is an array of conditions that apply to the image stream tag.", + "image": "image associated with the ImageStream and tag.", +} + +func (ImageStreamTag) SwaggerDoc() map[string]string { + return map_ImageStreamTag +} + +var map_ImageStreamTagList = map[string]string{ + "": "ImageStreamTagList is a list of ImageStreamTag objects.", + "metadata": "Standard object's metadata.", + "items": "Items is the list of image stream tags", +} + +func (ImageStreamTagList) SwaggerDoc() map[string]string { + return map_ImageStreamTagList +} + +var map_NamedTagEventList = map[string]string{ + "": "NamedTagEventList relates a tag to its image history.", + "tag": "Tag is the tag for which the history is recorded", + "items": "Standard object's metadata.", + "conditions": "Conditions is an array of conditions that apply to the tag event list.", +} + +func (NamedTagEventList) SwaggerDoc() map[string]string { + return map_NamedTagEventList +} + +var map_RepositoryImportSpec = map[string]string{ + "": "RepositoryImportSpec describes a request to import images from a container image repository.", + "from": "From is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed", + "importPolicy": "ImportPolicy is the policy controlling how the image is imported", + "referencePolicy": "ReferencePolicy defines how other components should consume the image", + "includeManifest": "IncludeManifest determines if the manifest for each image is returned in the response", +} + +func (RepositoryImportSpec) SwaggerDoc() map[string]string { + return map_RepositoryImportSpec +} + +var map_RepositoryImportStatus = map[string]string{ + "": "RepositoryImportStatus describes the result of an image repository import", + "status": "Status reflects whether any failure occurred during import", + "images": "Images is a list of images successfully retrieved by the import of the repository.", + "additionalTags": "AdditionalTags are tags that exist in the repository but were not imported because a maximum limit of automatic imports was applied.", +} + +func (RepositoryImportStatus) SwaggerDoc() map[string]string { + return map_RepositoryImportStatus +} + +var map_SignatureCondition = map[string]string{ + "": "SignatureCondition describes an image signature condition of particular kind at particular probe time.", + "type": "Type of signature condition, Complete or Failed.", + "status": "Status of the condition, one of True, False, Unknown.", + "lastProbeTime": "Last time the condition was checked.", + "lastTransitionTime": "Last time the condition transit from one status to another.", + "reason": "(brief) reason for the condition's last transition.", + "message": "Human readable message indicating details about last transition.", +} + +func (SignatureCondition) SwaggerDoc() map[string]string { + return map_SignatureCondition +} + +var map_SignatureGenericEntity = map[string]string{ + "": "SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject of signing certificate or key.", + "organization": "Organization name.", + "commonName": "Common name (e.g. openshift-signing-service).", +} + +func (SignatureGenericEntity) SwaggerDoc() map[string]string { + return map_SignatureGenericEntity +} + +var map_SignatureIssuer = map[string]string{ + "": "SignatureIssuer holds information about an issuer of signing certificate or key.", +} + +func (SignatureIssuer) SwaggerDoc() map[string]string { + return map_SignatureIssuer +} + +var map_SignatureSubject = map[string]string{ + "": "SignatureSubject holds information about a person or entity who created the signature.", + "publicKeyID": "If present, it is a human readable key id of public key belonging to the subject used to verify image signature. It should contain at least 64 lowest bits of public key's fingerprint (e.g. 0x685ebe62bf278440).", +} + +func (SignatureSubject) SwaggerDoc() map[string]string { + return map_SignatureSubject +} + +var map_TagEvent = map[string]string{ + "": "TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag.", + "created": "Created holds the time the TagEvent was created", + "dockerImageReference": "DockerImageReference is the string that can be used to pull this image", + "image": "Image is the image", + "generation": "Generation is the spec tag generation that resulted in this tag being updated", +} + +func (TagEvent) SwaggerDoc() map[string]string { + return map_TagEvent +} + +var map_TagEventCondition = map[string]string{ + "": "TagEventCondition contains condition information for a tag event.", + "type": "Type of tag event condition, currently only ImportSuccess", + "status": "Status of the condition, one of True, False, Unknown.", + "lastTransitionTime": "LastTransitionTIme is the time the condition transitioned from one status to another.", + "reason": "Reason is a brief machine readable explanation for the condition's last transition.", + "message": "Message is a human readable description of the details about last transition, complementing reason.", + "generation": "Generation is the spec tag generation that this status corresponds to", +} + +func (TagEventCondition) SwaggerDoc() map[string]string { + return map_TagEventCondition +} + +var map_TagImportPolicy = map[string]string{ + "": "TagImportPolicy controls how images related to this tag will be imported.", + "insecure": "Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import.", + "scheduled": "Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported", +} + +func (TagImportPolicy) SwaggerDoc() map[string]string { + return map_TagImportPolicy +} + +var map_TagReference = map[string]string{ + "": "TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track.", + "name": "Name of the tag", + "annotations": "Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags.", + "from": "Optional; if specified, a reference to another image that this tag should point to. Valid values are ImageStreamTag, ImageStreamImage, and DockerImage. ImageStreamTag references can only reference a tag within this same ImageStream.", + "reference": "Reference states if the tag will be imported. Default value is false, which means the tag will be imported.", + "generation": "Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference is changed the generation is set to match the current stream generation (which is incremented every time spec is changed). Other processes in the system like the image importer observe that the generation of spec tag is newer than the generation recorded in the status and use that as a trigger to import the newest remote tag. To trigger a new import, clients may set this value to zero which will reset the generation to the latest stream generation. Legacy clients will send this value as nil which will be merged with the current tag generation.", + "importPolicy": "ImportPolicy is information that controls how images may be imported by the server.", + "referencePolicy": "ReferencePolicy defines how other components should consume the image.", +} + +func (TagReference) SwaggerDoc() map[string]string { + return map_TagReference +} + +var map_TagReferencePolicy = map[string]string{ + "": "TagReferencePolicy describes how pull-specs for images in this image stream tag are generated when image change triggers in deployment configs or builds are resolved. This allows the image stream author to control how images are accessed.", + "type": "Type determines how the image pull spec should be transformed when the image stream tag is used in deployment config triggers or new builds. The default value is `Source`, indicating the original location of the image should be used (if imported). The user may also specify `Local`, indicating that the pull spec should point to the integrated container image registry and leverage the registry's ability to proxy the pull to an upstream registry. `Local` allows the credentials used to pull this image to be managed from the image stream's namespace, so others on the platform can access a remote image but have no access to the remote secret. It also allows the image layers to be mirrored into the local registry which the images can still be pulled even if the upstream registry is unavailable.", +} + +func (TagReferencePolicy) SwaggerDoc() map[string]string { + return map_TagReferencePolicy +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/install.go b/vendor/github.com/openshift/api/install.go new file mode 100644 index 000000000..529087704 --- /dev/null +++ b/vendor/github.com/openshift/api/install.go @@ -0,0 +1,121 @@ +package api + +import ( + kadmissionv1beta1 "k8s.io/api/admission/v1beta1" + kadmissionregistrationv1alpha1 "k8s.io/api/admissionregistration/v1alpha1" + kadmissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1" + kappsv1 "k8s.io/api/apps/v1" + kappsv1beta1 "k8s.io/api/apps/v1beta1" + kappsv1beta2 "k8s.io/api/apps/v1beta2" + kauthenticationv1 "k8s.io/api/authentication/v1" + kauthenticationv1beta1 "k8s.io/api/authentication/v1beta1" + kauthorizationv1 "k8s.io/api/authorization/v1" + kauthorizationv1beta1 "k8s.io/api/authorization/v1beta1" + kautoscalingv1 "k8s.io/api/autoscaling/v1" + kautoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" + kbatchv1 "k8s.io/api/batch/v1" + kbatchv1beta1 "k8s.io/api/batch/v1beta1" + kbatchv2alpha1 "k8s.io/api/batch/v2alpha1" + kcertificatesv1beta1 "k8s.io/api/certificates/v1beta1" + kcorev1 "k8s.io/api/core/v1" + keventsv1beta1 "k8s.io/api/events/v1beta1" + kextensionsv1beta1 "k8s.io/api/extensions/v1beta1" + kimagepolicyv1alpha1 "k8s.io/api/imagepolicy/v1alpha1" + knetworkingv1 "k8s.io/api/networking/v1" + kpolicyv1beta1 "k8s.io/api/policy/v1beta1" + krbacv1 "k8s.io/api/rbac/v1" + krbacv1alpha1 "k8s.io/api/rbac/v1alpha1" + krbacv1beta1 "k8s.io/api/rbac/v1beta1" + kschedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" + kschedulingv1beta1 "k8s.io/api/scheduling/v1beta1" + ksettingsv1alpha1 "k8s.io/api/settings/v1alpha1" + kstoragev1 "k8s.io/api/storage/v1" + kstoragev1alpha1 "k8s.io/api/storage/v1alpha1" + kstoragev1beta1 "k8s.io/api/storage/v1beta1" + "k8s.io/apimachinery/pkg/runtime" + + "github.com/openshift/api/apps" + "github.com/openshift/api/authorization" + "github.com/openshift/api/build" + "github.com/openshift/api/config" + "github.com/openshift/api/image" + "github.com/openshift/api/kubecontrolplane" + "github.com/openshift/api/network" + "github.com/openshift/api/oauth" + "github.com/openshift/api/openshiftcontrolplane" + "github.com/openshift/api/operator" + "github.com/openshift/api/osin" + "github.com/openshift/api/project" + "github.com/openshift/api/quota" + "github.com/openshift/api/route" + "github.com/openshift/api/security" + "github.com/openshift/api/servicecertsigner" + "github.com/openshift/api/template" + "github.com/openshift/api/user" + "github.com/openshift/api/webconsole" + + // just make sure this compiles. Don't add it to a scheme + _ "github.com/openshift/api/legacyconfig/v1" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder( + apps.Install, + authorization.Install, + build.Install, + config.Install, + image.Install, + kubecontrolplane.Install, + network.Install, + oauth.Install, + openshiftcontrolplane.Install, + operator.Install, + osin.Install, + project.Install, + quota.Install, + route.Install, + security.Install, + servicecertsigner.Install, + template.Install, + user.Install, + webconsole.Install, + ) + // Install is a function which adds every version of every openshift group to a scheme + Install = schemeBuilder.AddToScheme + + kubeSchemeBuilder = runtime.NewSchemeBuilder( + kadmissionv1beta1.AddToScheme, + kadmissionregistrationv1alpha1.AddToScheme, + kadmissionregistrationv1beta1.AddToScheme, + kappsv1.AddToScheme, + kappsv1beta1.AddToScheme, + kappsv1beta2.AddToScheme, + kauthenticationv1.AddToScheme, + kauthenticationv1beta1.AddToScheme, + kauthorizationv1.AddToScheme, + kauthorizationv1beta1.AddToScheme, + kautoscalingv1.AddToScheme, + kautoscalingv2beta1.AddToScheme, + kbatchv1.AddToScheme, + kbatchv1beta1.AddToScheme, + kbatchv2alpha1.AddToScheme, + kcertificatesv1beta1.AddToScheme, + kcorev1.AddToScheme, + keventsv1beta1.AddToScheme, + kextensionsv1beta1.AddToScheme, + kimagepolicyv1alpha1.AddToScheme, + knetworkingv1.AddToScheme, + kpolicyv1beta1.AddToScheme, + krbacv1.AddToScheme, + krbacv1beta1.AddToScheme, + krbacv1alpha1.AddToScheme, + kschedulingv1alpha1.AddToScheme, + kschedulingv1beta1.AddToScheme, + ksettingsv1alpha1.AddToScheme, + kstoragev1.AddToScheme, + kstoragev1beta1.AddToScheme, + kstoragev1alpha1.AddToScheme, + ) + // InstallKube is a way to install all the external k8s.io/api types + InstallKube = kubeSchemeBuilder.AddToScheme +) diff --git a/vendor/github.com/openshift/api/kubecontrolplane/install.go b/vendor/github.com/openshift/api/kubecontrolplane/install.go new file mode 100644 index 000000000..c34b77723 --- /dev/null +++ b/vendor/github.com/openshift/api/kubecontrolplane/install.go @@ -0,0 +1,26 @@ +package kubecontrolplane + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + kubecontrolplanev1 "github.com/openshift/api/kubecontrolplane/v1" +) + +const ( + GroupName = "kubecontrolplane.config.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(kubecontrolplanev1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/kubecontrolplane/v1/doc.go b/vendor/github.com/openshift/api/kubecontrolplane/v1/doc.go new file mode 100644 index 000000000..d8872a613 --- /dev/null +++ b/vendor/github.com/openshift/api/kubecontrolplane/v1/doc.go @@ -0,0 +1,7 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=kubecontrolplane.config.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/kubecontrolplane/v1/register.go b/vendor/github.com/openshift/api/kubecontrolplane/v1/register.go new file mode 100644 index 000000000..f8abc8ad8 --- /dev/null +++ b/vendor/github.com/openshift/api/kubecontrolplane/v1/register.go @@ -0,0 +1,38 @@ +package v1 + +import ( + configv1 "github.com/openshift/api/config/v1" + osinv1 "github.com/openshift/api/osin/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "kubecontrolplane.config.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, osinv1.Install, configv1.Install) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &KubeAPIServerConfig{}, + &KubeControllerManagerConfig{}, + ) + return nil +} diff --git a/vendor/github.com/openshift/api/kubecontrolplane/v1/types.go b/vendor/github.com/openshift/api/kubecontrolplane/v1/types.go new file mode 100644 index 000000000..97c1d5b7d --- /dev/null +++ b/vendor/github.com/openshift/api/kubecontrolplane/v1/types.go @@ -0,0 +1,213 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + "fmt" + + configv1 "github.com/openshift/api/config/v1" + osinv1 "github.com/openshift/api/osin/v1" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type KubeAPIServerConfig struct { + metav1.TypeMeta `json:",inline"` + + // provides the standard apiserver configuration + configv1.GenericAPIServerConfig `json:",inline"` + + // authConfig configures authentication options in addition to the standard + // oauth token and client certificate authenticators + AuthConfig MasterAuthConfig `json:"authConfig"` + + // aggregatorConfig has options for configuring the aggregator component of the API server. + AggregatorConfig AggregatorConfig `json:"aggregatorConfig"` + + // kubeletClientInfo contains information about how to connect to kubelets + KubeletClientInfo KubeletConnectionInfo `json:"kubeletClientInfo"` + + // servicesSubnet is the subnet to use for assigning service IPs + ServicesSubnet string `json:"servicesSubnet"` + // servicesNodePortRange is the range to use for assigning service public ports on a host. + ServicesNodePortRange string `json:"servicesNodePortRange"` + + // consolePublicURL is an optional URL to provide a redirect from the kube-apiserver to the webconsole + ConsolePublicURL string `json:"consolePublicURL"` + + // UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! + // TODO I think we should just drop this feature. + UserAgentMatchingConfig UserAgentMatchingConfig `json:"userAgentMatchingConfig"` + + // imagePolicyConfig feeds the image policy admission plugin + // TODO make it an admission plugin config + ImagePolicyConfig KubeAPIServerImagePolicyConfig `json:"imagePolicyConfig"` + + // projectConfig feeds an admission plugin + // TODO make it an admission plugin config + ProjectConfig KubeAPIServerProjectConfig `json:"projectConfig"` + + // serviceAccountPublicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. + // (If any file contains a private key, the public portion of the key is used) + // The list of public keys is used to verify presented service account tokens. + // Each key is tried in order until the list is exhausted or verification succeeds. + // If no keys are specified, no service account authentication will be available. + ServiceAccountPublicKeyFiles []string `json:"serviceAccountPublicKeyFiles"` + + // oauthConfig, if present start the /oauth endpoint in this process + OAuthConfig *osinv1.OAuthConfig `json:"oauthConfig"` + + // TODO this needs to be removed. + APIServerArguments map[string]Arguments `json:"apiServerArguments"` +} + +// Arguments masks the value so protobuf can generate +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type Arguments []string + +func (t Arguments) String() string { + return fmt.Sprintf("%v", []string(t)) +} + +type KubeAPIServerImagePolicyConfig struct { + // internalRegistryHostname sets the hostname for the default internal image + // registry. The value must be in "hostname[:port]" format. + // For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY + // environment variable but this setting overrides the environment variable. + InternalRegistryHostname string `json:"internalRegistryHostname"` + // externalRegistryHostnames provides the hostnames for the default external image + // registry. The external hostname should be set only when the image registry + // is exposed externally. The first value is used in 'publicDockerImageRepository' + // field in ImageStreams. The value must be in "hostname[:port]" format. + ExternalRegistryHostnames []string `json:"externalRegistryHostnames"` +} + +type KubeAPIServerProjectConfig struct { + // defaultNodeSelector holds default project node label selector + DefaultNodeSelector string `json:"defaultNodeSelector"` +} + +// KubeletConnectionInfo holds information necessary for connecting to a kubelet +type KubeletConnectionInfo struct { + // port is the port to connect to kubelets on + Port uint32 `json:"port"` + // ca is the CA for verifying TLS connections to kubelets + CA string `json:"ca"` + // CertInfo is the TLS client cert information for securing communication to kubelets + // this is anonymous so that we can inline it for serialization + configv1.CertInfo `json:",inline"` +} + +// UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! +type UserAgentMatchingConfig struct { + // requiredClients if this list is non-empty, then a User-Agent must match one of the UserAgentRegexes to be allowed + RequiredClients []UserAgentMatchRule `json:"requiredClients"` + + // deniedClients if this list is non-empty, then a User-Agent must not match any of the UserAgentRegexes + DeniedClients []UserAgentDenyRule `json:"deniedClients"` + + // defaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given. + DefaultRejectionMessage string `json:"defaultRejectionMessage"` +} + +// UserAgentMatchRule describes how to match a given request based on User-Agent and HTTPVerb +type UserAgentMatchRule struct { + // regex is a regex that is checked against the User-Agent. + // Known variants of oc clients + // 1. oc accessing kube resources: oc/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 2. oc accessing openshift resources: oc/v1.1.3 (linux/amd64) openshift/b348c2f + // 3. openshift kubectl accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 4. openshift kubectl accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f + // 5. oadm accessing kube resources: oadm/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 6. oadm accessing openshift resources: oadm/v1.1.3 (linux/amd64) openshift/b348c2f + // 7. openshift cli accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 8. openshift cli accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f + Regex string `json:"regex"` + + // httpVerbs specifies which HTTP verbs should be matched. An empty list means "match all verbs". + HTTPVerbs []string `json:"httpVerbs"` +} + +// UserAgentDenyRule adds a rejection message that can be used to help a user figure out how to get an approved client +type UserAgentDenyRule struct { + UserAgentMatchRule `json:",inline"` + + // RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used. + RejectionMessage string `json:"rejectionMessage"` +} + +// MasterAuthConfig configures authentication options in addition to the standard +// oauth token and client certificate authenticators +type MasterAuthConfig struct { + // requestHeader holds options for setting up a front proxy against the the API. It is optional. + RequestHeader *RequestHeaderAuthenticationOptions `json:"requestHeader"` + // webhookTokenAuthenticators, if present configures remote token reviewers + WebhookTokenAuthenticators []WebhookTokenAuthenticator `json:"webhookTokenAuthenticators"` + // oauthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization + // Server Metadata for an external OAuth server. + // See IETF Draft: // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 + // This option is mutually exclusive with OAuthConfig + OAuthMetadataFile string `json:"oauthMetadataFile"` +} + +// WebhookTokenAuthenticators holds the necessary configuation options for +// external token authenticators +type WebhookTokenAuthenticator struct { + // configFile is a path to a Kubeconfig file with the webhook configuration + ConfigFile string `json:"configFile"` + // cacheTTL indicates how long an authentication result should be cached. + // It takes a valid time duration string (e.g. "5m"). + // If empty, you get a default timeout of 2 minutes. + // If zero (e.g. "0m"), caching is disabled + CacheTTL string `json:"cacheTTL"` +} + +// RequestHeaderAuthenticationOptions provides options for setting up a front proxy against the entire +// API instead of against the /oauth endpoint. +type RequestHeaderAuthenticationOptions struct { + // clientCA is a file with the trusted signer certs. It is required. + ClientCA string `json:"clientCA"` + // clientCommonNames is a required list of common names to require a match from. + ClientCommonNames []string `json:"clientCommonNames"` + + // usernameHeaders is the list of headers to check for user information. First hit wins. + UsernameHeaders []string `json:"usernameHeaders"` + // groupHeaders is the set of headers to check for group information. All are unioned. + GroupHeaders []string `json:"groupHeaders"` + // extraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested. + ExtraHeaderPrefixes []string `json:"extraHeaderPrefixes"` +} + +// AggregatorConfig holds information required to make the aggregator function. +type AggregatorConfig struct { + // proxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers + ProxyClientInfo configv1.CertInfo `json:"proxyClientInfo"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type KubeControllerManagerConfig struct { + metav1.TypeMeta `json:",inline"` + + // serviceServingCert provides support for the old alpha service serving cert signer CA bundle + ServiceServingCert ServiceServingCert `json:"serviceServingCert"` + + // projectConfig is an optimization for the daemonset controller + ProjectConfig KubeControllerManagerProjectConfig `json:"projectConfig"` + + // extendedArguments is used to configure the kube-controller-manager + ExtendedArguments map[string]Arguments `json:"extendedArguments"` +} + +type KubeControllerManagerProjectConfig struct { + // defaultNodeSelector holds default project node label selector + DefaultNodeSelector string `json:"defaultNodeSelector"` +} + +// ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for +// pods fulfilling a service to serve with. +type ServiceServingCert struct { + // CertFile is a file containing a PEM-encoded certificate + CertFile string `json:"certFile"` +} diff --git a/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..d244856a2 --- /dev/null +++ b/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.deepcopy.go @@ -0,0 +1,380 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + osin_v1 "github.com/openshift/api/osin/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AggregatorConfig) DeepCopyInto(out *AggregatorConfig) { + *out = *in + out.ProxyClientInfo = in.ProxyClientInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AggregatorConfig. +func (in *AggregatorConfig) DeepCopy() *AggregatorConfig { + if in == nil { + return nil + } + out := new(AggregatorConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in Arguments) DeepCopyInto(out *Arguments) { + { + in := &in + *out = make(Arguments, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Arguments. +func (in Arguments) DeepCopy() Arguments { + if in == nil { + return nil + } + out := new(Arguments) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeAPIServerConfig) DeepCopyInto(out *KubeAPIServerConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.GenericAPIServerConfig.DeepCopyInto(&out.GenericAPIServerConfig) + in.AuthConfig.DeepCopyInto(&out.AuthConfig) + out.AggregatorConfig = in.AggregatorConfig + out.KubeletClientInfo = in.KubeletClientInfo + in.UserAgentMatchingConfig.DeepCopyInto(&out.UserAgentMatchingConfig) + in.ImagePolicyConfig.DeepCopyInto(&out.ImagePolicyConfig) + out.ProjectConfig = in.ProjectConfig + if in.ServiceAccountPublicKeyFiles != nil { + in, out := &in.ServiceAccountPublicKeyFiles, &out.ServiceAccountPublicKeyFiles + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OAuthConfig != nil { + in, out := &in.OAuthConfig, &out.OAuthConfig + if *in == nil { + *out = nil + } else { + *out = new(osin_v1.OAuthConfig) + (*in).DeepCopyInto(*out) + } + } + if in.APIServerArguments != nil { + in, out := &in.APIServerArguments, &out.APIServerArguments + *out = make(map[string]Arguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerConfig. +func (in *KubeAPIServerConfig) DeepCopy() *KubeAPIServerConfig { + if in == nil { + return nil + } + out := new(KubeAPIServerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubeAPIServerConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeAPIServerImagePolicyConfig) DeepCopyInto(out *KubeAPIServerImagePolicyConfig) { + *out = *in + if in.ExternalRegistryHostnames != nil { + in, out := &in.ExternalRegistryHostnames, &out.ExternalRegistryHostnames + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerImagePolicyConfig. +func (in *KubeAPIServerImagePolicyConfig) DeepCopy() *KubeAPIServerImagePolicyConfig { + if in == nil { + return nil + } + out := new(KubeAPIServerImagePolicyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeAPIServerProjectConfig) DeepCopyInto(out *KubeAPIServerProjectConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerProjectConfig. +func (in *KubeAPIServerProjectConfig) DeepCopy() *KubeAPIServerProjectConfig { + if in == nil { + return nil + } + out := new(KubeAPIServerProjectConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeControllerManagerConfig) DeepCopyInto(out *KubeControllerManagerConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ServiceServingCert = in.ServiceServingCert + out.ProjectConfig = in.ProjectConfig + if in.ExtendedArguments != nil { + in, out := &in.ExtendedArguments, &out.ExtendedArguments + *out = make(map[string]Arguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeControllerManagerConfig. +func (in *KubeControllerManagerConfig) DeepCopy() *KubeControllerManagerConfig { + if in == nil { + return nil + } + out := new(KubeControllerManagerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubeControllerManagerConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeControllerManagerProjectConfig) DeepCopyInto(out *KubeControllerManagerProjectConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeControllerManagerProjectConfig. +func (in *KubeControllerManagerProjectConfig) DeepCopy() *KubeControllerManagerProjectConfig { + if in == nil { + return nil + } + out := new(KubeControllerManagerProjectConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConnectionInfo) DeepCopyInto(out *KubeletConnectionInfo) { + *out = *in + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConnectionInfo. +func (in *KubeletConnectionInfo) DeepCopy() *KubeletConnectionInfo { + if in == nil { + return nil + } + out := new(KubeletConnectionInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterAuthConfig) DeepCopyInto(out *MasterAuthConfig) { + *out = *in + if in.RequestHeader != nil { + in, out := &in.RequestHeader, &out.RequestHeader + if *in == nil { + *out = nil + } else { + *out = new(RequestHeaderAuthenticationOptions) + (*in).DeepCopyInto(*out) + } + } + if in.WebhookTokenAuthenticators != nil { + in, out := &in.WebhookTokenAuthenticators, &out.WebhookTokenAuthenticators + *out = make([]WebhookTokenAuthenticator, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterAuthConfig. +func (in *MasterAuthConfig) DeepCopy() *MasterAuthConfig { + if in == nil { + return nil + } + out := new(MasterAuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderAuthenticationOptions) DeepCopyInto(out *RequestHeaderAuthenticationOptions) { + *out = *in + if in.ClientCommonNames != nil { + in, out := &in.ClientCommonNames, &out.ClientCommonNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.UsernameHeaders != nil { + in, out := &in.UsernameHeaders, &out.UsernameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupHeaders != nil { + in, out := &in.GroupHeaders, &out.GroupHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExtraHeaderPrefixes != nil { + in, out := &in.ExtraHeaderPrefixes, &out.ExtraHeaderPrefixes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderAuthenticationOptions. +func (in *RequestHeaderAuthenticationOptions) DeepCopy() *RequestHeaderAuthenticationOptions { + if in == nil { + return nil + } + out := new(RequestHeaderAuthenticationOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceServingCert) DeepCopyInto(out *ServiceServingCert) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceServingCert. +func (in *ServiceServingCert) DeepCopy() *ServiceServingCert { + if in == nil { + return nil + } + out := new(ServiceServingCert) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAgentDenyRule) DeepCopyInto(out *UserAgentDenyRule) { + *out = *in + in.UserAgentMatchRule.DeepCopyInto(&out.UserAgentMatchRule) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAgentDenyRule. +func (in *UserAgentDenyRule) DeepCopy() *UserAgentDenyRule { + if in == nil { + return nil + } + out := new(UserAgentDenyRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAgentMatchRule) DeepCopyInto(out *UserAgentMatchRule) { + *out = *in + if in.HTTPVerbs != nil { + in, out := &in.HTTPVerbs, &out.HTTPVerbs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAgentMatchRule. +func (in *UserAgentMatchRule) DeepCopy() *UserAgentMatchRule { + if in == nil { + return nil + } + out := new(UserAgentMatchRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAgentMatchingConfig) DeepCopyInto(out *UserAgentMatchingConfig) { + *out = *in + if in.RequiredClients != nil { + in, out := &in.RequiredClients, &out.RequiredClients + *out = make([]UserAgentMatchRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DeniedClients != nil { + in, out := &in.DeniedClients, &out.DeniedClients + *out = make([]UserAgentDenyRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAgentMatchingConfig. +func (in *UserAgentMatchingConfig) DeepCopy() *UserAgentMatchingConfig { + if in == nil { + return nil + } + out := new(UserAgentMatchingConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebhookTokenAuthenticator) DeepCopyInto(out *WebhookTokenAuthenticator) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookTokenAuthenticator. +func (in *WebhookTokenAuthenticator) DeepCopy() *WebhookTokenAuthenticator { + if in == nil { + return nil + } + out := new(WebhookTokenAuthenticator) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..7a0cbada2 --- /dev/null +++ b/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,159 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_AggregatorConfig = map[string]string{ + "": "AggregatorConfig holds information required to make the aggregator function.", + "proxyClientInfo": "proxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers", +} + +func (AggregatorConfig) SwaggerDoc() map[string]string { + return map_AggregatorConfig +} + +var map_KubeAPIServerConfig = map[string]string{ + "authConfig": "authConfig configures authentication options in addition to the standard oauth token and client certificate authenticators", + "aggregatorConfig": "aggregatorConfig has options for configuring the aggregator component of the API server.", + "kubeletClientInfo": "kubeletClientInfo contains information about how to connect to kubelets", + "servicesSubnet": "servicesSubnet is the subnet to use for assigning service IPs", + "servicesNodePortRange": "servicesNodePortRange is the range to use for assigning service public ports on a host.", + "consolePublicURL": "consolePublicURL is an optional URL to provide a redirect from the kube-apiserver to the webconsole", + "userAgentMatchingConfig": "UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", + "imagePolicyConfig": "imagePolicyConfig feeds the image policy admission plugin", + "projectConfig": "projectConfig feeds an admission plugin", + "serviceAccountPublicKeyFiles": "serviceAccountPublicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. (If any file contains a private key, the public portion of the key is used) The list of public keys is used to verify presented service account tokens. Each key is tried in order until the list is exhausted or verification succeeds. If no keys are specified, no service account authentication will be available.", + "oauthConfig": "oauthConfig, if present start the /oauth endpoint in this process", +} + +func (KubeAPIServerConfig) SwaggerDoc() map[string]string { + return map_KubeAPIServerConfig +} + +var map_KubeAPIServerImagePolicyConfig = map[string]string{ + "internalRegistryHostname": "internalRegistryHostname sets the hostname for the default internal image registry. The value must be in \"hostname[:port]\" format. For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY environment variable but this setting overrides the environment variable.", + "externalRegistryHostnames": "externalRegistryHostnames provides the hostnames for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The first value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", +} + +func (KubeAPIServerImagePolicyConfig) SwaggerDoc() map[string]string { + return map_KubeAPIServerImagePolicyConfig +} + +var map_KubeAPIServerProjectConfig = map[string]string{ + "defaultNodeSelector": "defaultNodeSelector holds default project node label selector", +} + +func (KubeAPIServerProjectConfig) SwaggerDoc() map[string]string { + return map_KubeAPIServerProjectConfig +} + +var map_KubeControllerManagerConfig = map[string]string{ + "serviceServingCert": "serviceServingCert provides support for the old alpha service serving cert signer CA bundle", + "projectConfig": "projectConfig is an optimization for the daemonset controller", + "extendedArguments": "extendedArguments is used to configure the kube-controller-manager", +} + +func (KubeControllerManagerConfig) SwaggerDoc() map[string]string { + return map_KubeControllerManagerConfig +} + +var map_KubeControllerManagerProjectConfig = map[string]string{ + "defaultNodeSelector": "defaultNodeSelector holds default project node label selector", +} + +func (KubeControllerManagerProjectConfig) SwaggerDoc() map[string]string { + return map_KubeControllerManagerProjectConfig +} + +var map_KubeletConnectionInfo = map[string]string{ + "": "KubeletConnectionInfo holds information necessary for connecting to a kubelet", + "port": "port is the port to connect to kubelets on", + "ca": "ca is the CA for verifying TLS connections to kubelets", +} + +func (KubeletConnectionInfo) SwaggerDoc() map[string]string { + return map_KubeletConnectionInfo +} + +var map_MasterAuthConfig = map[string]string{ + "": "MasterAuthConfig configures authentication options in addition to the standard oauth token and client certificate authenticators", + "requestHeader": "requestHeader holds options for setting up a front proxy against the the API. It is optional.", + "webhookTokenAuthenticators": "webhookTokenAuthenticators, if present configures remote token reviewers", + "oauthMetadataFile": "oauthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization Server Metadata for an external OAuth server. See IETF Draft: // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 This option is mutually exclusive with OAuthConfig", +} + +func (MasterAuthConfig) SwaggerDoc() map[string]string { + return map_MasterAuthConfig +} + +var map_RequestHeaderAuthenticationOptions = map[string]string{ + "": "RequestHeaderAuthenticationOptions provides options for setting up a front proxy against the entire API instead of against the /oauth endpoint.", + "clientCA": "clientCA is a file with the trusted signer certs. It is required.", + "clientCommonNames": "clientCommonNames is a required list of common names to require a match from.", + "usernameHeaders": "usernameHeaders is the list of headers to check for user information. First hit wins.", + "groupHeaders": "groupHeaders is the set of headers to check for group information. All are unioned.", + "extraHeaderPrefixes": "extraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested.", +} + +func (RequestHeaderAuthenticationOptions) SwaggerDoc() map[string]string { + return map_RequestHeaderAuthenticationOptions +} + +var map_ServiceServingCert = map[string]string{ + "": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", + "certFile": "CertFile is a file containing a PEM-encoded certificate", +} + +func (ServiceServingCert) SwaggerDoc() map[string]string { + return map_ServiceServingCert +} + +var map_UserAgentDenyRule = map[string]string{ + "": "UserAgentDenyRule adds a rejection message that can be used to help a user figure out how to get an approved client", + "rejectionMessage": "RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used.", +} + +func (UserAgentDenyRule) SwaggerDoc() map[string]string { + return map_UserAgentDenyRule +} + +var map_UserAgentMatchRule = map[string]string{ + "": "UserAgentMatchRule describes how to match a given request based on User-Agent and HTTPVerb", + "regex": "regex is a regex that is checked against the User-Agent. Known variants of oc clients 1. oc accessing kube resources: oc/v1.2.0 (linux/amd64) kubernetes/bc4550d 2. oc accessing openshift resources: oc/v1.1.3 (linux/amd64) openshift/b348c2f 3. openshift kubectl accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d 4. openshift kubectl accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f 5. oadm accessing kube resources: oadm/v1.2.0 (linux/amd64) kubernetes/bc4550d 6. oadm accessing openshift resources: oadm/v1.1.3 (linux/amd64) openshift/b348c2f 7. openshift cli accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d 8. openshift cli accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f", + "httpVerbs": "httpVerbs specifies which HTTP verbs should be matched. An empty list means \"match all verbs\".", +} + +func (UserAgentMatchRule) SwaggerDoc() map[string]string { + return map_UserAgentMatchRule +} + +var map_UserAgentMatchingConfig = map[string]string{ + "": "UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", + "requiredClients": "requiredClients if this list is non-empty, then a User-Agent must match one of the UserAgentRegexes to be allowed", + "deniedClients": "deniedClients if this list is non-empty, then a User-Agent must not match any of the UserAgentRegexes", + "defaultRejectionMessage": "defaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given.", +} + +func (UserAgentMatchingConfig) SwaggerDoc() map[string]string { + return map_UserAgentMatchingConfig +} + +var map_WebhookTokenAuthenticator = map[string]string{ + "": "WebhookTokenAuthenticators holds the necessary configuation options for external token authenticators", + "configFile": "configFile is a path to a Kubeconfig file with the webhook configuration", + "cacheTTL": "cacheTTL indicates how long an authentication result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get a default timeout of 2 minutes. If zero (e.g. \"0m\"), caching is disabled", +} + +func (WebhookTokenAuthenticator) SwaggerDoc() map[string]string { + return map_WebhookTokenAuthenticator +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/doc.go b/vendor/github.com/openshift/api/legacyconfig/v1/doc.go new file mode 100644 index 000000000..93fc6dc50 --- /dev/null +++ b/vendor/github.com/openshift/api/legacyconfig/v1/doc.go @@ -0,0 +1,7 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=legacy.config.openshift.io +// Package v1 is deprecated and exists to ease a transition to current APIs +package v1 diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/register.go b/vendor/github.com/openshift/api/legacyconfig/v1/register.go new file mode 100644 index 000000000..fa63cbd43 --- /dev/null +++ b/vendor/github.com/openshift/api/legacyconfig/v1/register.go @@ -0,0 +1,45 @@ +package v1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + // Legacy is the 'v1' apiVersion of config + LegacyGroupName = "" + LegacySchemeGroupVersion = schema.GroupVersion{Group: LegacyGroupName, Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder( + addKnownTypesToLegacy, + ) + InstallLegacy = legacySchemeBuilder.AddToScheme +) + +// Adds the list of known types to api.Scheme. +func addKnownTypesToLegacy(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(LegacySchemeGroupVersion, + &MasterConfig{}, + &NodeConfig{}, + &SessionSecrets{}, + + &BasicAuthPasswordIdentityProvider{}, + &AllowAllPasswordIdentityProvider{}, + &DenyAllPasswordIdentityProvider{}, + &HTPasswdPasswordIdentityProvider{}, + &LDAPPasswordIdentityProvider{}, + &KeystonePasswordIdentityProvider{}, + &RequestHeaderIdentityProvider{}, + &GitHubIdentityProvider{}, + &GitLabIdentityProvider{}, + &GoogleIdentityProvider{}, + &OpenIDIdentityProvider{}, + + &LDAPSyncConfig{}, + + &DefaultAdmissionConfig{}, + + &BuildDefaultsConfig{}, + &BuildOverridesConfig{}, + ) + return nil +} diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/serialization.go b/vendor/github.com/openshift/api/legacyconfig/v1/serialization.go new file mode 100644 index 000000000..145074273 --- /dev/null +++ b/vendor/github.com/openshift/api/legacyconfig/v1/serialization.go @@ -0,0 +1,87 @@ +package v1 + +import "k8s.io/apimachinery/pkg/runtime" + +var _ runtime.NestedObjectDecoder = &MasterConfig{} + +// DecodeNestedObjects handles encoding RawExtensions on the MasterConfig, ensuring the +// objects are decoded with the provided decoder. +func (c *MasterConfig) DecodeNestedObjects(d runtime.Decoder) error { + // decoding failures result in a runtime.Unknown object being created in Object and passed + // to conversion + for k, v := range c.AdmissionConfig.PluginConfig { + DecodeNestedRawExtensionOrUnknown(d, &v.Configuration) + c.AdmissionConfig.PluginConfig[k] = v + } + if c.OAuthConfig != nil { + for i := range c.OAuthConfig.IdentityProviders { + DecodeNestedRawExtensionOrUnknown(d, &c.OAuthConfig.IdentityProviders[i].Provider) + } + } + DecodeNestedRawExtensionOrUnknown(d, &c.AuditConfig.PolicyConfiguration) + return nil +} + +var _ runtime.NestedObjectEncoder = &MasterConfig{} + +// EncodeNestedObjects handles encoding RawExtensions on the MasterConfig, ensuring the +// objects are encoded with the provided encoder. +func (c *MasterConfig) EncodeNestedObjects(e runtime.Encoder) error { + for k, v := range c.AdmissionConfig.PluginConfig { + if err := EncodeNestedRawExtension(e, &v.Configuration); err != nil { + return err + } + c.AdmissionConfig.PluginConfig[k] = v + } + if c.OAuthConfig != nil { + for i := range c.OAuthConfig.IdentityProviders { + if err := EncodeNestedRawExtension(e, &c.OAuthConfig.IdentityProviders[i].Provider); err != nil { + return err + } + } + } + if err := EncodeNestedRawExtension(e, &c.AuditConfig.PolicyConfiguration); err != nil { + return err + } + return nil +} + +// DecodeNestedRawExtensionOrUnknown +func DecodeNestedRawExtensionOrUnknown(d runtime.Decoder, ext *runtime.RawExtension) { + if ext.Raw == nil || ext.Object != nil { + return + } + obj, gvk, err := d.Decode(ext.Raw, nil, nil) + if err != nil { + unk := &runtime.Unknown{Raw: ext.Raw} + if runtime.IsNotRegisteredError(err) { + if _, gvk, err := d.Decode(ext.Raw, nil, unk); err == nil { + unk.APIVersion = gvk.GroupVersion().String() + unk.Kind = gvk.Kind + ext.Object = unk + return + } + } + // TODO: record mime-type with the object + if gvk != nil { + unk.APIVersion = gvk.GroupVersion().String() + unk.Kind = gvk.Kind + } + obj = unk + } + ext.Object = obj +} + +// EncodeNestedRawExtension will encode the object in the RawExtension (if not nil) or +// return an error. +func EncodeNestedRawExtension(e runtime.Encoder, ext *runtime.RawExtension) error { + if ext.Raw != nil || ext.Object == nil { + return nil + } + data, err := runtime.Encode(e, ext.Object) + if err != nil { + return err + } + ext.Raw = data + return nil +} diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/stringsource.go b/vendor/github.com/openshift/api/legacyconfig/v1/stringsource.go new file mode 100644 index 000000000..6a5718c1d --- /dev/null +++ b/vendor/github.com/openshift/api/legacyconfig/v1/stringsource.go @@ -0,0 +1,31 @@ +package v1 + +import "encoding/json" + +// UnmarshalJSON implements the json.Unmarshaller interface. +// If the value is a string, it sets the Value field of the StringSource. +// Otherwise, it is unmarshaled into the StringSourceSpec struct +func (s *StringSource) UnmarshalJSON(value []byte) error { + // If we can unmarshal to a simple string, just set the value + var simpleValue string + if err := json.Unmarshal(value, &simpleValue); err == nil { + s.Value = simpleValue + return nil + } + + // Otherwise do the full struct unmarshal + return json.Unmarshal(value, &s.StringSourceSpec) +} + +// MarshalJSON implements the json.Marshaller interface. +// If the StringSource contains only a string Value (or is empty), it is marshaled as a JSON string. +// Otherwise, the StringSourceSpec struct is marshaled as a JSON object. +func (s *StringSource) MarshalJSON() ([]byte, error) { + // If we have only a cleartext value set, do a simple string marshal + if s.StringSourceSpec == (StringSourceSpec{Value: s.Value}) { + return json.Marshal(s.Value) + } + + // Otherwise do the full struct marshal of the externalized bits + return json.Marshal(s.StringSourceSpec) +} diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/types.go b/vendor/github.com/openshift/api/legacyconfig/v1/types.go new file mode 100644 index 000000000..d9276cb16 --- /dev/null +++ b/vendor/github.com/openshift/api/legacyconfig/v1/types.go @@ -0,0 +1,1527 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + + buildv1 "github.com/openshift/api/build/v1" +) + +type ExtendedArguments map[string][]string + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NodeConfig is the fully specified config starting an OpenShift node +type NodeConfig struct { + metav1.TypeMeta `json:",inline"` + + // NodeName is the value used to identify this particular node in the cluster. If possible, this should be your fully qualified hostname. + // If you're describing a set of static nodes to the master, this value must match one of the values in the list + NodeName string `json:"nodeName"` + + // Node may have multiple IPs, specify the IP to use for pod traffic routing + // If not specified, network parse/lookup on the nodeName is performed and the first non-loopback address is used + NodeIP string `json:"nodeIP"` + + // ServingInfo describes how to start serving + ServingInfo ServingInfo `json:"servingInfo"` + + // MasterKubeConfig is a filename for the .kubeconfig file that describes how to connect this node to the master + MasterKubeConfig string `json:"masterKubeConfig"` + + // MasterClientConnectionOverrides provides overrides to the client connection used to connect to the master. + MasterClientConnectionOverrides *ClientConnectionOverrides `json:"masterClientConnectionOverrides"` + + // DNSDomain holds the domain suffix that will be used for the DNS search path inside each container. Defaults to + // 'cluster.local'. + DNSDomain string `json:"dnsDomain"` + + // DNSIP is the IP address that pods will use to access cluster DNS. Defaults to the service IP of the Kubernetes + // master. This IP must be listening on port 53 for compatibility with libc resolvers (which cannot be configured + // to resolve names from any other port). When running more complex local DNS configurations, this is often set + // to the local address of a DNS proxy like dnsmasq, which then will consult either the local DNS (see + // dnsBindAddress) or the master DNS. + DNSIP string `json:"dnsIP"` + + // DNSBindAddress is the ip:port to serve DNS on. If this is not set, the DNS server will not be started. + // Because most DNS resolvers will only listen on port 53, if you select an alternative port you will need + // a DNS proxy like dnsmasq to answer queries for containers. A common configuration is dnsmasq configured + // on a node IP listening on 53 and delegating queries for dnsDomain to this process, while sending other + // queries to the host environments nameservers. + DNSBindAddress string `json:"dnsBindAddress"` + + // DNSNameservers is a list of ip:port values of recursive nameservers to forward queries to when running + // a local DNS server if dnsBindAddress is set. If this value is empty, the DNS server will default to + // the nameservers listed in /etc/resolv.conf. If you have configured dnsmasq or another DNS proxy on the + // system, this value should be set to the upstream nameservers dnsmasq resolves with. + DNSNameservers []string `json:"dnsNameservers"` + + // DNSRecursiveResolvConf is a path to a resolv.conf file that contains settings for an upstream server. + // Only the nameservers and port fields are used. The file must exist and parse correctly. It adds extra + // nameservers to DNSNameservers if set. + DNSRecursiveResolvConf string `json:"dnsRecursiveResolvConf"` + + // Deprecated and maintained for backward compatibility, use NetworkConfig.NetworkPluginName instead + DeprecatedNetworkPluginName string `json:"networkPluginName,omitempty"` + + // NetworkConfig provides network options for the node + NetworkConfig NodeNetworkConfig `json:"networkConfig"` + + // VolumeDirectory is the directory that volumes will be stored under + VolumeDirectory string `json:"volumeDirectory"` + + // ImageConfig holds options that describe how to build image names for system components + ImageConfig ImageConfig `json:"imageConfig"` + + // AllowDisabledDocker if true, the Kubelet will ignore errors from Docker. This means that a node can start on a machine that doesn't have docker started. + AllowDisabledDocker bool `json:"allowDisabledDocker"` + + // PodManifestConfig holds the configuration for enabling the Kubelet to + // create pods based from a manifest file(s) placed locally on the node + PodManifestConfig *PodManifestConfig `json:"podManifestConfig"` + + // AuthConfig holds authn/authz configuration options + AuthConfig NodeAuthConfig `json:"authConfig"` + + // DockerConfig holds Docker related configuration options. + DockerConfig DockerConfig `json:"dockerConfig"` + + // KubeletArguments are key value pairs that will be passed directly to the Kubelet that match the Kubelet's + // command line arguments. These are not migrated or validated, so if you use them they may become invalid. + // These values override other settings in NodeConfig which may cause invalid configurations. + KubeletArguments ExtendedArguments `json:"kubeletArguments,omitempty"` + + // ProxyArguments are key value pairs that will be passed directly to the Proxy that match the Proxy's + // command line arguments. These are not migrated or validated, so if you use them they may become invalid. + // These values override other settings in NodeConfig which may cause invalid configurations. + ProxyArguments ExtendedArguments `json:"proxyArguments,omitempty"` + + // IPTablesSyncPeriod is how often iptable rules are refreshed + IPTablesSyncPeriod string `json:"iptablesSyncPeriod"` + + // EnableUnidling controls whether or not the hybrid unidling proxy will be set up + EnableUnidling *bool `json:"enableUnidling"` + + // VolumeConfig contains options for configuring volumes on the node. + VolumeConfig NodeVolumeConfig `json:"volumeConfig"` +} + +// NodeVolumeConfig contains options for configuring volumes on the node. +type NodeVolumeConfig struct { + // LocalQuota contains options for controlling local volume quota on the node. + LocalQuota LocalQuota `json:"localQuota"` +} + +// MasterVolumeConfig contains options for configuring volume plugins in the master node. +type MasterVolumeConfig struct { + // DynamicProvisioningEnabled is a boolean that toggles dynamic provisioning off when false, defaults to true + DynamicProvisioningEnabled *bool `json:"dynamicProvisioningEnabled"` +} + +// LocalQuota contains options for controlling local volume quota on the node. +type LocalQuota struct { + // FSGroup can be specified to enable a quota on local storage use per unique FSGroup ID. + // At present this is only implemented for emptyDir volumes, and if the underlying + // volumeDirectory is on an XFS filesystem. + PerFSGroup *resource.Quantity `json:"perFSGroup"` +} + +// NodeAuthConfig holds authn/authz configuration options +type NodeAuthConfig struct { + // AuthenticationCacheTTL indicates how long an authentication result should be cached. + // It takes a valid time duration string (e.g. "5m"). If empty, you get the default timeout. If zero (e.g. "0m"), caching is disabled + AuthenticationCacheTTL string `json:"authenticationCacheTTL"` + + // AuthenticationCacheSize indicates how many authentication results should be cached. If 0, the default cache size is used. + AuthenticationCacheSize int `json:"authenticationCacheSize"` + + // AuthorizationCacheTTL indicates how long an authorization result should be cached. + // It takes a valid time duration string (e.g. "5m"). If empty, you get the default timeout. If zero (e.g. "0m"), caching is disabled + AuthorizationCacheTTL string `json:"authorizationCacheTTL"` + + // AuthorizationCacheSize indicates how many authorization results should be cached. If 0, the default cache size is used. + AuthorizationCacheSize int `json:"authorizationCacheSize"` +} + +// NodeNetworkConfig provides network options for the node +type NodeNetworkConfig struct { + // NetworkPluginName is a string specifying the networking plugin + NetworkPluginName string `json:"networkPluginName"` + // Maximum transmission unit for the network packets + MTU uint32 `json:"mtu"` +} + +// DockerConfig holds Docker related configuration options. +type DockerConfig struct { + // ExecHandlerName is the name of the handler to use for executing + // commands in containers. + ExecHandlerName DockerExecHandlerType `json:"execHandlerName"` + // DockerShimSocket is the location of the dockershim socket the kubelet uses. + // Currently unix socket is supported on Linux, and tcp is supported on windows. + // Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735' + DockerShimSocket string `json:"dockerShimSocket"` + // DockershimRootDirectory is the dockershim root directory. + DockershimRootDirectory string `json:"dockerShimRootDirectory"` +} + +type DockerExecHandlerType string + +const ( + // DockerExecHandlerNative uses Docker's exec API for executing commands in containers. + DockerExecHandlerNative DockerExecHandlerType = "native" + // DockerExecHandlerNsenter uses nsenter for executing commands in containers. + DockerExecHandlerNsenter DockerExecHandlerType = "nsenter" + + // ControllersDisabled indicates no controllers should be enabled. + ControllersDisabled = "none" + // ControllersAll indicates all controllers should be started. + ControllersAll = "*" +) + +// FeatureList contains a set of features +type FeatureList []string + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MasterConfig holds the necessary configuration options for the OpenShift master +type MasterConfig struct { + metav1.TypeMeta `json:",inline"` + + // ServingInfo describes how to start serving + ServingInfo HTTPServingInfo `json:"servingInfo"` + + // AuthConfig configures authentication options in addition to the standard + // oauth token and client certificate authenticators + AuthConfig MasterAuthConfig `json:"authConfig"` + + // AggregatorConfig has options for configuring the aggregator component of the API server. + AggregatorConfig AggregatorConfig `json:"aggregatorConfig"` + + // CORSAllowedOrigins + CORSAllowedOrigins []string `json:"corsAllowedOrigins"` + + // APILevels is a list of API levels that should be enabled on startup: v1 as examples + APILevels []string `json:"apiLevels"` + + // MasterPublicURL is how clients can access the OpenShift API server + MasterPublicURL string `json:"masterPublicURL"` + + // Controllers is a list of the controllers that should be started. If set to "none", no controllers + // will start automatically. The default value is "*" which will start all controllers. When + // using "*", you may exclude controllers by prepending a "-" in front of their name. No other + // values are recognized at this time. + Controllers string `json:"controllers"` + + // AdmissionConfig contains admission control plugin configuration. + AdmissionConfig AdmissionConfig `json:"admissionConfig"` + + // ControllerConfig holds configuration values for controllers + ControllerConfig ControllerConfig `json:"controllerConfig"` + + // EtcdStorageConfig contains information about how API resources are + // stored in Etcd. These values are only relevant when etcd is the + // backing store for the cluster. + EtcdStorageConfig EtcdStorageConfig `json:"etcdStorageConfig"` + + // EtcdClientInfo contains information about how to connect to etcd + EtcdClientInfo EtcdConnectionInfo `json:"etcdClientInfo"` + // KubeletClientInfo contains information about how to connect to kubelets + KubeletClientInfo KubeletConnectionInfo `json:"kubeletClientInfo"` + + // KubernetesMasterConfig, if present start the kubernetes master in this process + KubernetesMasterConfig KubernetesMasterConfig `json:"kubernetesMasterConfig"` + // EtcdConfig, if present start etcd in this process + EtcdConfig *EtcdConfig `json:"etcdConfig"` + // OAuthConfig, if present start the /oauth endpoint in this process + OAuthConfig *OAuthConfig `json:"oauthConfig"` + + // DNSConfig, if present start the DNS server in this process + DNSConfig *DNSConfig `json:"dnsConfig"` + + // ServiceAccountConfig holds options related to service accounts + ServiceAccountConfig ServiceAccountConfig `json:"serviceAccountConfig"` + + // MasterClients holds all the client connection information for controllers and other system components + MasterClients MasterClients `json:"masterClients"` + + // ImageConfig holds options that describe how to build image names for system components + ImageConfig ImageConfig `json:"imageConfig"` + + // ImagePolicyConfig controls limits and behavior for importing images + ImagePolicyConfig ImagePolicyConfig `json:"imagePolicyConfig"` + + // PolicyConfig holds information about where to locate critical pieces of bootstrapping policy + PolicyConfig PolicyConfig `json:"policyConfig"` + + // ProjectConfig holds information about project creation and defaults + ProjectConfig ProjectConfig `json:"projectConfig"` + + // RoutingConfig holds information about routing and route generation + RoutingConfig RoutingConfig `json:"routingConfig"` + + // NetworkConfig to be passed to the compiled in network plugin + NetworkConfig MasterNetworkConfig `json:"networkConfig"` + + // MasterVolumeConfig contains options for configuring volume plugins in the master node. + VolumeConfig MasterVolumeConfig `json:"volumeConfig"` + + // JenkinsPipelineConfig holds information about the default Jenkins template + // used for JenkinsPipeline build strategy. + JenkinsPipelineConfig JenkinsPipelineConfig `json:"jenkinsPipelineConfig"` + + // AuditConfig holds information related to auditing capabilities. + AuditConfig AuditConfig `json:"auditConfig"` + + // DisableOpenAPI avoids starting the openapi endpoint because it is very expensive. + // This option will be removed at a later time. It is never serialized. + DisableOpenAPI bool `json:"-"` +} + +// MasterAuthConfig configures authentication options in addition to the standard +// oauth token and client certificate authenticators +type MasterAuthConfig struct { + // RequestHeader holds options for setting up a front proxy against the the API. It is optional. + RequestHeader *RequestHeaderAuthenticationOptions `json:"requestHeader"` + // WebhookTokenAuthnConfig, if present configures remote token reviewers + WebhookTokenAuthenticators []WebhookTokenAuthenticator `json:"webhookTokenAuthenticators"` + // OAuthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization + // Server Metadata for an external OAuth server. + // See IETF Draft: // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 + // This option is mutually exclusive with OAuthConfig + OAuthMetadataFile string `json:"oauthMetadataFile"` +} + +// RequestHeaderAuthenticationOptions provides options for setting up a front proxy against the entire +// API instead of against the /oauth endpoint. +type RequestHeaderAuthenticationOptions struct { + // ClientCA is a file with the trusted signer certs. It is required. + ClientCA string `json:"clientCA"` + // ClientCommonNames is a required list of common names to require a match from. + ClientCommonNames []string `json:"clientCommonNames"` + + // UsernameHeaders is the list of headers to check for user information. First hit wins. + UsernameHeaders []string `json:"usernameHeaders"` + // GroupNameHeader is the set of headers to check for group information. All are unioned. + GroupHeaders []string `json:"groupHeaders"` + // ExtraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested. + ExtraHeaderPrefixes []string `json:"extraHeaderPrefixes"` +} + +// AggregatorConfig holds information required to make the aggregator function. +type AggregatorConfig struct { + // ProxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers + ProxyClientInfo CertInfo `json:"proxyClientInfo"` +} + +type LogFormatType string + +type WebHookModeType string + +const ( + // LogFormatLegacy saves event in 1-line text format. + LogFormatLegacy LogFormatType = "legacy" + // LogFormatJson saves event in structured json format. + LogFormatJson LogFormatType = "json" + + // WebHookModeBatch indicates that the webhook should buffer audit events + // internally, sending batch updates either once a certain number of + // events have been received or a certain amount of time has passed. + WebHookModeBatch WebHookModeType = "batch" + // WebHookModeBlocking causes the webhook to block on every attempt to process + // a set of events. This causes requests to the API server to wait for a + // round trip to the external audit service before sending a response. + WebHookModeBlocking WebHookModeType = "blocking" +) + +// AuditConfig holds configuration for the audit capabilities +type AuditConfig struct { + // If this flag is set, audit log will be printed in the logs. + // The logs contains, method, user and a requested URL. + Enabled bool `json:"enabled"` + // All requests coming to the apiserver will be logged to this file. + AuditFilePath string `json:"auditFilePath"` + // Maximum number of days to retain old log files based on the timestamp encoded in their filename. + MaximumFileRetentionDays int `json:"maximumFileRetentionDays"` + // Maximum number of old log files to retain. + MaximumRetainedFiles int `json:"maximumRetainedFiles"` + // Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB. + MaximumFileSizeMegabytes int `json:"maximumFileSizeMegabytes"` + + // PolicyFile is a path to the file that defines the audit policy configuration. + PolicyFile string `json:"policyFile"` + // PolicyConfiguration is an embedded policy configuration object to be used + // as the audit policy configuration. If present, it will be used instead of + // the path to the policy file. + PolicyConfiguration runtime.RawExtension `json:"policyConfiguration"` + + // Format of saved audits (legacy or json). + LogFormat LogFormatType `json:"logFormat"` + + // Path to a .kubeconfig formatted file that defines the audit webhook configuration. + WebHookKubeConfig string `json:"webHookKubeConfig"` + // Strategy for sending audit events (block or batch). + WebHookMode WebHookModeType `json:"webHookMode"` +} + +// JenkinsPipelineConfig holds configuration for the Jenkins pipeline strategy +type JenkinsPipelineConfig struct { + // AutoProvisionEnabled determines whether a Jenkins server will be spawned from the provided + // template when the first build config in the project with type JenkinsPipeline + // is created. When not specified this option defaults to true. + AutoProvisionEnabled *bool `json:"autoProvisionEnabled"` + // TemplateNamespace contains the namespace name where the Jenkins template is stored + TemplateNamespace string `json:"templateNamespace"` + // TemplateName is the name of the default Jenkins template + TemplateName string `json:"templateName"` + // ServiceName is the name of the Jenkins service OpenShift uses to detect + // whether a Jenkins pipeline handler has already been installed in a project. + // This value *must* match a service name in the provided template. + ServiceName string `json:"serviceName"` + // Parameters specifies a set of optional parameters to the Jenkins template. + Parameters map[string]string `json:"parameters"` +} + +// ImagePolicyConfig holds the necessary configuration options for limits and behavior for importing images +type ImagePolicyConfig struct { + // MaxImagesBulkImportedPerRepository controls the number of images that are imported when a user + // does a bulk import of a container repository. This number defaults to 50 to prevent users from + // importing large numbers of images accidentally. Set -1 for no limit. + MaxImagesBulkImportedPerRepository int `json:"maxImagesBulkImportedPerRepository"` + // DisableScheduledImport allows scheduled background import of images to be disabled. + DisableScheduledImport bool `json:"disableScheduledImport"` + // ScheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams + // scheduled for background import are checked against the upstream repository. The default value is 15 minutes. + ScheduledImageImportMinimumIntervalSeconds int `json:"scheduledImageImportMinimumIntervalSeconds"` + // MaxScheduledImageImportsPerMinute is the maximum number of scheduled image streams that will be imported in the + // background per minute. The default value is 60. Set to -1 for unlimited. + MaxScheduledImageImportsPerMinute int `json:"maxScheduledImageImportsPerMinute"` + // AllowedRegistriesForImport limits the container image registries that normal users may import + // images from. Set this list to the registries that you trust to contain valid Docker + // images and that you want applications to be able to import from. Users with + // permission to create Images or ImageStreamMappings via the API are not affected by + // this policy - typically only administrators or system integrations will have those + // permissions. + AllowedRegistriesForImport *AllowedRegistries `json:"allowedRegistriesForImport,omitempty"` + // InternalRegistryHostname sets the hostname for the default internal image + // registry. The value must be in "hostname[:port]" format. + // For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY + // environment variable but this setting overrides the environment variable. + InternalRegistryHostname string `json:"internalRegistryHostname,omitempty"` + // ExternalRegistryHostname sets the hostname for the default external image + // registry. The external hostname should be set only when the image registry + // is exposed externally. The value is used in 'publicDockerImageRepository' + // field in ImageStreams. The value must be in "hostname[:port]" format. + ExternalRegistryHostname string `json:"externalRegistryHostname,omitempty"` + // AdditionalTrustedCA is a path to a pem bundle file containing additional CAs that + // should be trusted during imagestream import. + AdditionalTrustedCA string `json:"additionalTrustedCA,omitempty"` +} + +// AllowedRegistries represents a list of registries allowed for the image import. +type AllowedRegistries []RegistryLocation + +// RegistryLocation contains a location of the registry specified by the registry domain +// name. The domain name might include wildcards, like '*' or '??'. +type RegistryLocation struct { + // DomainName specifies a domain name for the registry + // In case the registry use non-standard (80 or 443) port, the port should be included + // in the domain name as well. + DomainName string `json:"domainName"` + // Insecure indicates whether the registry is secure (https) or insecure (http) + // By default (if not specified) the registry is assumed as secure. + Insecure bool `json:"insecure,omitempty"` +} + +// holds the necessary configuration options for +type ProjectConfig struct { + // DefaultNodeSelector holds default project node label selector + DefaultNodeSelector string `json:"defaultNodeSelector"` + + // ProjectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint + ProjectRequestMessage string `json:"projectRequestMessage"` + + // ProjectRequestTemplate is the template to use for creating projects in response to projectrequest. + // It is in the format namespace/template and it is optional. + // If it is not specified, a default template is used. + ProjectRequestTemplate string `json:"projectRequestTemplate"` + + // SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled. + SecurityAllocator *SecurityAllocator `json:"securityAllocator"` +} + +// SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled. +type SecurityAllocator struct { + // UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the + // block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks + // before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the + // ranges container images will use once user namespaces are started). + UIDAllocatorRange string `json:"uidAllocatorRange"` + // MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is + // "/[,]". The default is "s0/2" and will allocate from c0 -> c1023, which means a total of 535k labels + // are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated + // to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default + // will allow the server to set them automatically. + // + // Examples: + // * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 + // * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511 + // + MCSAllocatorRange string `json:"mcsAllocatorRange"` + // MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS + // ranges (100k namespaces, 535k/5 labels). + MCSLabelsPerProject int `json:"mcsLabelsPerProject"` +} + +// holds the necessary configuration options for +type PolicyConfig struct { + // UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! + UserAgentMatchingConfig UserAgentMatchingConfig `json:"userAgentMatchingConfig"` +} + +// UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! +type UserAgentMatchingConfig struct { + // If this list is non-empty, then a User-Agent must match one of the UserAgentRegexes to be allowed + RequiredClients []UserAgentMatchRule `json:"requiredClients"` + + // If this list is non-empty, then a User-Agent must not match any of the UserAgentRegexes + DeniedClients []UserAgentDenyRule `json:"deniedClients"` + + // DefaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given. + DefaultRejectionMessage string `json:"defaultRejectionMessage"` +} + +// UserAgentMatchRule describes how to match a given request based on User-Agent and HTTPVerb +type UserAgentMatchRule struct { + // UserAgentRegex is a regex that is checked against the User-Agent. + // Known variants of oc clients + // 1. oc accessing kube resources: oc/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 2. oc accessing openshift resources: oc/v1.1.3 (linux/amd64) openshift/b348c2f + // 3. openshift kubectl accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 4. openshift kubectl accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f + // 5. oadm accessing kube resources: oadm/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 6. oadm accessing openshift resources: oadm/v1.1.3 (linux/amd64) openshift/b348c2f + // 7. openshift cli accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d + // 8. openshift cli accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f + Regex string `json:"regex"` + + // HTTPVerbs specifies which HTTP verbs should be matched. An empty list means "match all verbs". + HTTPVerbs []string `json:"httpVerbs"` +} + +// UserAgentDenyRule adds a rejection message that can be used to help a user figure out how to get an approved client +type UserAgentDenyRule struct { + UserAgentMatchRule `json:",inline"` + + // RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used. + RejectionMessage string `json:"rejectionMessage"` +} + +// RoutingConfig holds the necessary configuration options for routing to subdomains +type RoutingConfig struct { + // Subdomain is the suffix appended to $service.$namespace. to form the default route hostname + // DEPRECATED: This field is being replaced by routers setting their own defaults. This is the + // "default" route. + Subdomain string `json:"subdomain"` +} + +// MasterNetworkConfig to be passed to the compiled in network plugin +type MasterNetworkConfig struct { + // NetworkPluginName is the name of the network plugin to use + NetworkPluginName string `json:"networkPluginName"` + // ClusterNetworkCIDR is the CIDR string to specify the global overlay network's L3 space. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead. + DeprecatedClusterNetworkCIDR string `json:"clusterNetworkCIDR,omitempty"` + // ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. If this is specified, then ClusterNetworkCIDR and HostSubnetLength may not be set. + ClusterNetworks []ClusterNetworkEntry `json:"clusterNetworks"` + // HostSubnetLength is the number of bits to allocate to each host's subnet e.g. 8 would mean a /24 network on the host. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead. + DeprecatedHostSubnetLength uint32 `json:"hostSubnetLength,omitempty"` + // ServiceNetwork is the CIDR string to specify the service networks + ServiceNetworkCIDR string `json:"serviceNetworkCIDR"` + // ExternalIPNetworkCIDRs controls what values are acceptable for the service external IP field. If empty, no externalIP + // may be set. It may contain a list of CIDRs which are checked for access. If a CIDR is prefixed with !, IPs in that + // CIDR will be rejected. Rejections will be applied first, then the IP checked against one of the allowed CIDRs. You + // should ensure this range does not overlap with your nodes, pods, or service CIDRs for security reasons. + ExternalIPNetworkCIDRs []string `json:"externalIPNetworkCIDRs"` + // IngressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare + // metal. If empty, ingress ips will not be assigned. It may contain a single CIDR that will be allocated from. + // For security reasons, you should ensure that this range does not overlap with the CIDRs reserved for external ips, + // nodes, pods, or services. + IngressIPNetworkCIDR string `json:"ingressIPNetworkCIDR"` + // VXLANPort is the VXLAN port used by the cluster defaults. If it is not set, 4789 is the default value + VXLANPort uint32 `json:"vxlanPort,omitempty"` +} + +// ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips. +type ClusterNetworkEntry struct { + // CIDR defines the total range of a cluster networks address space. + CIDR string `json:"cidr"` + // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod. + HostSubnetLength uint32 `json:"hostSubnetLength"` +} + +// ImageConfig holds the necessary configuration options for building image names for system components +type ImageConfig struct { + // Format is the format of the name to be built for the system component + Format string `json:"format"` + // Latest determines if the latest tag will be pulled from the registry + Latest bool `json:"latest"` +} + +// RemoteConnectionInfo holds information necessary for establishing a remote connection +type RemoteConnectionInfo struct { + // URL is the remote URL to connect to + URL string `json:"url"` + // CA is the CA for verifying TLS connections + CA string `json:"ca"` + // CertInfo is the TLS client cert information to present + // this is anonymous so that we can inline it for serialization + CertInfo `json:",inline"` +} + +// KubeletConnectionInfo holds information necessary for connecting to a kubelet +type KubeletConnectionInfo struct { + // Port is the port to connect to kubelets on + Port uint `json:"port"` + // CA is the CA for verifying TLS connections to kubelets + CA string `json:"ca"` + // CertInfo is the TLS client cert information for securing communication to kubelets + // this is anonymous so that we can inline it for serialization + CertInfo `json:",inline"` +} + +// EtcdConnectionInfo holds information necessary for connecting to an etcd server +type EtcdConnectionInfo struct { + // URLs are the URLs for etcd + URLs []string `json:"urls"` + // CA is a file containing trusted roots for the etcd server certificates + CA string `json:"ca"` + // CertInfo is the TLS client cert information for securing communication to etcd + // this is anonymous so that we can inline it for serialization + CertInfo `json:",inline"` +} + +// EtcdStorageConfig holds the necessary configuration options for the etcd storage underlying OpenShift and Kubernetes +type EtcdStorageConfig struct { + // KubernetesStorageVersion is the API version that Kube resources in etcd should be + // serialized to. This value should *not* be advanced until all clients in the + // cluster that read from etcd have code that allows them to read the new version. + KubernetesStorageVersion string `json:"kubernetesStorageVersion"` + // KubernetesStoragePrefix is the path within etcd that the Kubernetes resources will + // be rooted under. This value, if changed, will mean existing objects in etcd will + // no longer be located. The default value is 'kubernetes.io'. + KubernetesStoragePrefix string `json:"kubernetesStoragePrefix"` + // OpenShiftStorageVersion is the API version that OS resources in etcd should be + // serialized to. This value should *not* be advanced until all clients in the + // cluster that read from etcd have code that allows them to read the new version. + OpenShiftStorageVersion string `json:"openShiftStorageVersion"` + // OpenShiftStoragePrefix is the path within etcd that the OpenShift resources will + // be rooted under. This value, if changed, will mean existing objects in etcd will + // no longer be located. The default value is 'openshift.io'. + OpenShiftStoragePrefix string `json:"openShiftStoragePrefix"` +} + +// ServingInfo holds information about serving web pages +type ServingInfo struct { + // BindAddress is the ip:port to serve on + BindAddress string `json:"bindAddress"` + // BindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", + // "tcp4", and "tcp6" + BindNetwork string `json:"bindNetwork"` + // CertInfo is the TLS cert info for serving secure traffic. + // this is anonymous so that we can inline it for serialization + CertInfo `json:",inline"` + // ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates + ClientCA string `json:"clientCA"` + // NamedCertificates is a list of certificates to use to secure requests to specific hostnames + NamedCertificates []NamedCertificate `json:"namedCertificates"` + // MinTLSVersion is the minimum TLS version supported. + // Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants + MinTLSVersion string `json:"minTLSVersion,omitempty"` + // CipherSuites contains an overridden list of ciphers for the server to support. + // Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants + CipherSuites []string `json:"cipherSuites,omitempty"` +} + +// NamedCertificate specifies a certificate/key, and the names it should be served for +type NamedCertificate struct { + // Names is a list of DNS names this certificate should be used to secure + // A name can be a normal DNS name, or can contain leading wildcard segments. + Names []string `json:"names"` + // CertInfo is the TLS cert info for serving secure traffic + CertInfo `json:",inline"` +} + +// HTTPServingInfo holds configuration for serving HTTP +type HTTPServingInfo struct { + // ServingInfo is the HTTP serving information + ServingInfo `json:",inline"` + // MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit. + MaxRequestsInFlight int `json:"maxRequestsInFlight"` + // RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if + // -1 there is no limit on requests. + RequestTimeoutSeconds int `json:"requestTimeoutSeconds"` +} + +// MasterClients holds references to `.kubeconfig` files that qualify master clients for OpenShift and Kubernetes +type MasterClients struct { + // OpenShiftLoopbackKubeConfig is a .kubeconfig filename for system components to loopback to this master + OpenShiftLoopbackKubeConfig string `json:"openshiftLoopbackKubeConfig"` + + // OpenShiftLoopbackClientConnectionOverrides specifies client overrides for system components to loop back to this master. + OpenShiftLoopbackClientConnectionOverrides *ClientConnectionOverrides `json:"openshiftLoopbackClientConnectionOverrides"` +} + +// ClientConnectionOverrides are a set of overrides to the default client connection settings. +type ClientConnectionOverrides struct { + // AcceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the + // default value of 'application/json'. This field will control all connections to the server used by a particular + // client. + AcceptContentTypes string `json:"acceptContentTypes"` + // ContentType is the content type used when sending data to the server from this client. + ContentType string `json:"contentType"` + + // QPS controls the number of queries per second allowed for this connection. + QPS float32 `json:"qps"` + // Burst allows extra queries to accumulate when a client is exceeding its rate. + Burst int32 `json:"burst"` +} + +// DNSConfig holds the necessary configuration options for DNS +type DNSConfig struct { + // BindAddress is the ip:port to serve DNS on + BindAddress string `json:"bindAddress"` + // BindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", + // "tcp4", and "tcp6" + BindNetwork string `json:"bindNetwork"` + // AllowRecursiveQueries allows the DNS server on the master to answer queries recursively. Note that open + // resolvers can be used for DNS amplification attacks and the master DNS should not be made accessible + // to public networks. + AllowRecursiveQueries bool `json:"allowRecursiveQueries"` +} + +// WebhookTokenAuthenticators holds the necessary configuation options for +// external token authenticators +type WebhookTokenAuthenticator struct { + // ConfigFile is a path to a Kubeconfig file with the webhook configuration + ConfigFile string `json:"configFile"` + // CacheTTL indicates how long an authentication result should be cached. + // It takes a valid time duration string (e.g. "5m"). + // If empty, you get a default timeout of 2 minutes. + // If zero (e.g. "0m"), caching is disabled + CacheTTL string `json:"cacheTTL"` +} + +// OAuthConfig holds the necessary configuration options for OAuth authentication +type OAuthConfig struct { + // MasterCA is the CA for verifying the TLS connection back to the MasterURL. + MasterCA *string `json:"masterCA"` + + // MasterURL is used for making server-to-server calls to exchange authorization codes for access tokens + MasterURL string `json:"masterURL"` + + // MasterPublicURL is used for building valid client redirect URLs for internal and external access + MasterPublicURL string `json:"masterPublicURL"` + + // AssetPublicURL is used for building valid client redirect URLs for external access + AssetPublicURL string `json:"assetPublicURL"` + + // AlwaysShowProviderSelection will force the provider selection page to render even when there is only a single provider. + AlwaysShowProviderSelection bool `json:"alwaysShowProviderSelection"` + + //IdentityProviders is an ordered list of ways for a user to identify themselves + IdentityProviders []IdentityProvider `json:"identityProviders"` + + // GrantConfig describes how to handle grants + GrantConfig GrantConfig `json:"grantConfig"` + + // SessionConfig hold information about configuring sessions. + SessionConfig *SessionConfig `json:"sessionConfig"` + + // TokenConfig contains options for authorization and access tokens + TokenConfig TokenConfig `json:"tokenConfig"` + + // Templates allow you to customize pages like the login page. + Templates *OAuthTemplates `json:"templates"` +} + +// OAuthTemplates allow for customization of pages like the login page +type OAuthTemplates struct { + // Login is a path to a file containing a go template used to render the login page. + // If unspecified, the default login page is used. + Login string `json:"login"` + + // ProviderSelection is a path to a file containing a go template used to render the provider selection page. + // If unspecified, the default provider selection page is used. + ProviderSelection string `json:"providerSelection"` + + // Error is a path to a file containing a go template used to render error pages during the authentication or grant flow + // If unspecified, the default error page is used. + Error string `json:"error"` +} + +// ServiceAccountConfig holds the necessary configuration options for a service account +type ServiceAccountConfig struct { + // ManagedNames is a list of service account names that will be auto-created in every namespace. + // If no names are specified, the ServiceAccountsController will not be started. + ManagedNames []string `json:"managedNames"` + + // LimitSecretReferences controls whether or not to allow a service account to reference any secret in a namespace + // without explicitly referencing them + LimitSecretReferences bool `json:"limitSecretReferences"` + + // PrivateKeyFile is a file containing a PEM-encoded private RSA key, used to sign service account tokens. + // If no private key is specified, the service account TokensController will not be started. + PrivateKeyFile string `json:"privateKeyFile"` + + // PublicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. + // (If any file contains a private key, the public portion of the key is used) + // The list of public keys is used to verify presented service account tokens. + // Each key is tried in order until the list is exhausted or verification succeeds. + // If no keys are specified, no service account authentication will be available. + PublicKeyFiles []string `json:"publicKeyFiles"` + + // MasterCA is the CA for verifying the TLS connection back to the master. The service account controller will automatically + // inject the contents of this file into pods so they can verify connections to the master. + MasterCA string `json:"masterCA"` +} + +// TokenConfig holds the necessary configuration options for authorization and access tokens +type TokenConfig struct { + // AuthorizeTokenMaxAgeSeconds defines the maximum age of authorize tokens + AuthorizeTokenMaxAgeSeconds int32 `json:"authorizeTokenMaxAgeSeconds"` + // AccessTokenMaxAgeSeconds defines the maximum age of access tokens + AccessTokenMaxAgeSeconds int32 `json:"accessTokenMaxAgeSeconds"` + // AccessTokenInactivityTimeoutSeconds defined the default token + // inactivity timeout for tokens granted by any client. + // Setting it to nil means the feature is completely disabled (default) + // The default setting can be overriden on OAuthClient basis. + // The value represents the maximum amount of time that can occur between + // consecutive uses of the token. Tokens become invalid if they are not + // used within this temporal window. The user will need to acquire a new + // token to regain access once a token times out. + // Valid values are: + // - 0: Tokens never time out + // - X: Tokens time out if there is no activity for X seconds + // The current minimum allowed value for X is 300 (5 minutes) + AccessTokenInactivityTimeoutSeconds *int32 `json:"accessTokenInactivityTimeoutSeconds,omitempty"` +} + +// SessionConfig specifies options for cookie-based sessions. Used by AuthRequestHandlerSession +type SessionConfig struct { + // SessionSecretsFile is a reference to a file containing a serialized SessionSecrets object + // If no file is specified, a random signing and encryption key are generated at each server start + SessionSecretsFile string `json:"sessionSecretsFile"` + // SessionMaxAgeSeconds specifies how long created sessions last. Used by AuthRequestHandlerSession + SessionMaxAgeSeconds int32 `json:"sessionMaxAgeSeconds"` + // SessionName is the cookie name used to store the session + SessionName string `json:"sessionName"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SessionSecrets list the secrets to use to sign/encrypt and authenticate/decrypt created sessions. +type SessionSecrets struct { + metav1.TypeMeta `json:",inline"` + + // Secrets is a list of secrets + // New sessions are signed and encrypted using the first secret. + // Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets. + Secrets []SessionSecret `json:"secrets"` +} + +// SessionSecret is a secret used to authenticate/decrypt cookie-based sessions +type SessionSecret struct { + // Authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes. + Authentication string `json:"authentication"` + // Encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES- + Encryption string `json:"encryption"` +} + +// IdentityProvider provides identities for users authenticating using credentials +type IdentityProvider struct { + // Name is used to qualify the identities returned by this provider + Name string `json:"name"` + // UseAsChallenger indicates whether to issue WWW-Authenticate challenges for this provider + UseAsChallenger bool `json:"challenge"` + // UseAsLogin indicates whether to use this identity provider for unauthenticated browsers to login against + UseAsLogin bool `json:"login"` + // MappingMethod determines how identities from this provider are mapped to users + MappingMethod string `json:"mappingMethod"` + // Provider contains the information about how to set up a specific identity provider + Provider runtime.RawExtension `json:"provider"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BasicAuthPasswordIdentityProvider provides identities for users authenticating using HTTP basic auth credentials +type BasicAuthPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // RemoteConnectionInfo contains information about how to connect to the external basic auth server + RemoteConnectionInfo `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// AllowAllPasswordIdentityProvider provides identities for users authenticating using non-empty passwords +type AllowAllPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DenyAllPasswordIdentityProvider provides no identities for users +type DenyAllPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// HTPasswdPasswordIdentityProvider provides identities for users authenticating using htpasswd credentials +type HTPasswdPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // File is a reference to your htpasswd file + File string `json:"file"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// LDAPPasswordIdentityProvider provides identities for users authenticating using LDAP credentials +type LDAPPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + // URL is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is + // ldap://host:port/basedn?attribute?scope?filter + URL string `json:"url"` + // BindDN is an optional DN to bind with during the search phase. + BindDN string `json:"bindDN"` + // BindPassword is an optional password to bind with during the search phase. + BindPassword StringSource `json:"bindPassword"` + + // Insecure, if true, indicates the connection should not use TLS. + // Cannot be set to true with a URL scheme of "ldaps://" + // If false, "ldaps://" URLs connect using TLS, and "ldap://" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830 + Insecure bool `json:"insecure"` + // CA is the optional trusted certificate authority bundle to use when making requests to the server + // If empty, the default system roots are used + CA string `json:"ca"` + // Attributes maps LDAP attributes to identities + Attributes LDAPAttributeMapping `json:"attributes"` +} + +// LDAPAttributeMapping maps LDAP attributes to OpenShift identity fields +type LDAPAttributeMapping struct { + // ID is the list of attributes whose values should be used as the user ID. Required. + // LDAP standard identity attribute is "dn" + ID []string `json:"id"` + // PreferredUsername is the list of attributes whose values should be used as the preferred username. + // LDAP standard login attribute is "uid" + PreferredUsername []string `json:"preferredUsername"` + // Name is the list of attributes whose values should be used as the display name. Optional. + // If unspecified, no display name is set for the identity + // LDAP standard display name attribute is "cn" + Name []string `json:"name"` + // Email is the list of attributes whose values should be used as the email address. Optional. + // If unspecified, no email is set for the identity + Email []string `json:"email"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// KeystonePasswordIdentityProvider provides identities for users authenticating using keystone password credentials +type KeystonePasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + // RemoteConnectionInfo contains information about how to connect to the keystone server + RemoteConnectionInfo `json:",inline"` + // Domain Name is required for keystone v3 + DomainName string `json:"domainName"` + // UseKeystoneIdentity flag indicates that user should be authenticated by keystone ID, not by username + UseKeystoneIdentity bool `json:"useKeystoneIdentity"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RequestHeaderIdentityProvider provides identities for users authenticating using request header credentials +type RequestHeaderIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // LoginURL is a URL to redirect unauthenticated /authorize requests to + // Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here + // ${url} is replaced with the current URL, escaped to be safe in a query parameter + // https://www.example.com/sso-login?then=${url} + // ${query} is replaced with the current query string + // https://www.example.com/auth-proxy/oauth/authorize?${query} + LoginURL string `json:"loginURL"` + + // ChallengeURL is a URL to redirect unauthenticated /authorize requests to + // Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be redirected here + // ${url} is replaced with the current URL, escaped to be safe in a query parameter + // https://www.example.com/sso-login?then=${url} + // ${query} is replaced with the current query string + // https://www.example.com/auth-proxy/oauth/authorize?${query} + ChallengeURL string `json:"challengeURL"` + + // ClientCA is a file with the trusted signer certs. If empty, no request verification is done, and any direct request to the OAuth server can impersonate any identity from this provider, merely by setting a request header. + ClientCA string `json:"clientCA"` + // ClientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative. + ClientCommonNames []string `json:"clientCommonNames"` + + // Headers is the set of headers to check for identity information + Headers []string `json:"headers"` + // PreferredUsernameHeaders is the set of headers to check for the preferred username + PreferredUsernameHeaders []string `json:"preferredUsernameHeaders"` + // NameHeaders is the set of headers to check for the display name + NameHeaders []string `json:"nameHeaders"` + // EmailHeaders is the set of headers to check for the email address + EmailHeaders []string `json:"emailHeaders"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GitHubIdentityProvider provides identities for users authenticating using GitHub credentials +type GitHubIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // ClientID is the oauth client ID + ClientID string `json:"clientID"` + // ClientSecret is the oauth client secret + ClientSecret StringSource `json:"clientSecret"` + // Organizations optionally restricts which organizations are allowed to log in + Organizations []string `json:"organizations"` + // Teams optionally restricts which teams are allowed to log in. Format is /. + Teams []string `json:"teams"` + // Hostname is the optional domain (e.g. "mycompany.com") for use with a hosted instance of GitHub Enterprise. + // It must match the GitHub Enterprise settings value that is configured at /setup/settings#hostname. + Hostname string `json:"hostname"` + // CA is the optional trusted certificate authority bundle to use when making requests to the server. + // If empty, the default system roots are used. This can only be configured when hostname is set to a non-empty value. + CA string `json:"ca"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GitLabIdentityProvider provides identities for users authenticating using GitLab credentials +type GitLabIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // CA is the optional trusted certificate authority bundle to use when making requests to the server + // If empty, the default system roots are used + CA string `json:"ca"` + // URL is the oauth server base URL + URL string `json:"url"` + // ClientID is the oauth client ID + ClientID string `json:"clientID"` + // ClientSecret is the oauth client secret + ClientSecret StringSource `json:"clientSecret"` + // Legacy determines if OAuth2 or OIDC should be used + // If true, OAuth2 is used + // If false, OIDC is used + // If nil and the URL's host is gitlab.com, OIDC is used + // Otherwise, OAuth2 is used + // In a future release, nil will default to using OIDC + // Eventually this flag will be removed and only OIDC will be used + Legacy *bool `json:"legacy,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GoogleIdentityProvider provides identities for users authenticating using Google credentials +type GoogleIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // ClientID is the oauth client ID + ClientID string `json:"clientID"` + // ClientSecret is the oauth client secret + ClientSecret StringSource `json:"clientSecret"` + + // HostedDomain is the optional Google App domain (e.g. "mycompany.com") to restrict logins to + HostedDomain string `json:"hostedDomain"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OpenIDIdentityProvider provides identities for users authenticating using OpenID credentials +type OpenIDIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // CA is the optional trusted certificate authority bundle to use when making requests to the server + // If empty, the default system roots are used + CA string `json:"ca"` + + // ClientID is the oauth client ID + ClientID string `json:"clientID"` + // ClientSecret is the oauth client secret + ClientSecret StringSource `json:"clientSecret"` + + // ExtraScopes are any scopes to request in addition to the standard "openid" scope. + ExtraScopes []string `json:"extraScopes"` + + // ExtraAuthorizeParameters are any custom parameters to add to the authorize request. + ExtraAuthorizeParameters map[string]string `json:"extraAuthorizeParameters"` + + // URLs to use to authenticate + URLs OpenIDURLs `json:"urls"` + + // Claims mappings + Claims OpenIDClaims `json:"claims"` +} + +// OpenIDURLs are URLs to use when authenticating with an OpenID identity provider +type OpenIDURLs struct { + // Authorize is the oauth authorization URL + Authorize string `json:"authorize"` + // Token is the oauth token granting URL + Token string `json:"token"` + // UserInfo is the optional userinfo URL. + // If present, a granted access_token is used to request claims + // If empty, a granted id_token is parsed for claims + UserInfo string `json:"userInfo"` +} + +// OpenIDClaims contains a list of OpenID claims to use when authenticating with an OpenID identity provider +type OpenIDClaims struct { + // ID is the list of claims whose values should be used as the user ID. Required. + // OpenID standard identity claim is "sub" + ID []string `json:"id"` + // PreferredUsername is the list of claims whose values should be used as the preferred username. + // If unspecified, the preferred username is determined from the value of the id claim + PreferredUsername []string `json:"preferredUsername"` + // Name is the list of claims whose values should be used as the display name. Optional. + // If unspecified, no display name is set for the identity + Name []string `json:"name"` + // Email is the list of claims whose values should be used as the email address. Optional. + // If unspecified, no email is set for the identity + Email []string `json:"email"` +} + +// GrantConfig holds the necessary configuration options for grant handlers +type GrantConfig struct { + // Method determines the default strategy to use when an OAuth client requests a grant. + // This method will be used only if the specific OAuth client doesn't provide a strategy + // of their own. Valid grant handling methods are: + // - auto: always approves grant requests, useful for trusted clients + // - prompt: prompts the end user for approval of grant requests, useful for third-party clients + // - deny: always denies grant requests, useful for black-listed clients + Method GrantHandlerType `json:"method"` + + // ServiceAccountMethod is used for determining client authorization for service account oauth client. + // It must be either: deny, prompt + ServiceAccountMethod GrantHandlerType `json:"serviceAccountMethod"` +} + +type GrantHandlerType string + +const ( + // GrantHandlerAuto auto-approves client authorization grant requests + GrantHandlerAuto GrantHandlerType = "auto" + // GrantHandlerPrompt prompts the user to approve new client authorization grant requests + GrantHandlerPrompt GrantHandlerType = "prompt" + // GrantHandlerDeny auto-denies client authorization grant requests + GrantHandlerDeny GrantHandlerType = "deny" +) + +// EtcdConfig holds the necessary configuration options for connecting with an etcd database +type EtcdConfig struct { + // ServingInfo describes how to start serving the etcd master + ServingInfo ServingInfo `json:"servingInfo"` + // Address is the advertised host:port for client connections to etcd + Address string `json:"address"` + // PeerServingInfo describes how to start serving the etcd peer + PeerServingInfo ServingInfo `json:"peerServingInfo"` + // PeerAddress is the advertised host:port for peer connections to etcd + PeerAddress string `json:"peerAddress"` + + // StorageDir is the path to the etcd storage directory + StorageDir string `json:"storageDirectory"` +} + +// KubernetesMasterConfig holds the necessary configuration options for the Kubernetes master +type KubernetesMasterConfig struct { + // APILevels is a list of API levels that should be enabled on startup: v1 as examples + APILevels []string `json:"apiLevels"` + // DisabledAPIGroupVersions is a map of groups to the versions (or *) that should be disabled. + DisabledAPIGroupVersions map[string][]string `json:"disabledAPIGroupVersions"` + + // MasterIP is the public IP address of kubernetes stuff. If empty, the first result from net.InterfaceAddrs will be used. + MasterIP string `json:"masterIP"` + // MasterEndpointReconcileTTL sets the time to live in seconds of an endpoint record recorded by each master. The endpoints are checked + // at an interval that is 2/3 of this value and this value defaults to 15s if unset. In very large clusters, this value may be increased to + // reduce the possibility that the master endpoint record expires (due to other load on the etcd server) and causes masters to drop in and + // out of the kubernetes service record. It is not recommended to set this value below 15s. + MasterEndpointReconcileTTL int `json:"masterEndpointReconcileTTL"` + // ServicesSubnet is the subnet to use for assigning service IPs + ServicesSubnet string `json:"servicesSubnet"` + // ServicesNodePortRange is the range to use for assigning service public ports on a host. + ServicesNodePortRange string `json:"servicesNodePortRange"` + + // SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules. + SchedulerConfigFile string `json:"schedulerConfigFile"` + + // PodEvictionTimeout controls grace period for deleting pods on failed nodes. + // It takes valid time duration string. If empty, you get the default pod eviction timeout. + PodEvictionTimeout string `json:"podEvictionTimeout"` + // ProxyClientInfo specifies the client cert/key to use when proxying to pods + ProxyClientInfo CertInfo `json:"proxyClientInfo"` + + // APIServerArguments are key value pairs that will be passed directly to the Kube apiserver that match the apiservers's + // command line arguments. These are not migrated, but if you reference a value that does not exist the server will not + // start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations. + APIServerArguments ExtendedArguments `json:"apiServerArguments"` + // ControllerArguments are key value pairs that will be passed directly to the Kube controller manager that match the + // controller manager's command line arguments. These are not migrated, but if you reference a value that does not exist + // the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid + // configurations. + ControllerArguments ExtendedArguments `json:"controllerArguments"` + // SchedulerArguments are key value pairs that will be passed directly to the Kube scheduler that match the scheduler's + // command line arguments. These are not migrated, but if you reference a value that does not exist the server will not + // start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations. + SchedulerArguments ExtendedArguments `json:"schedulerArguments"` +} + +// CertInfo relates a certificate with a private key +type CertInfo struct { + // CertFile is a file containing a PEM-encoded certificate + CertFile string `json:"certFile"` + // KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile + KeyFile string `json:"keyFile"` +} + +// PodManifestConfig holds the necessary configuration options for using pod manifests +type PodManifestConfig struct { + // Path specifies the path for the pod manifest file or directory + // If its a directory, its expected to contain on or more manifest files + // This is used by the Kubelet to create pods on the node + Path string `json:"path"` + // FileCheckIntervalSeconds is the interval in seconds for checking the manifest file(s) for new data + // The interval needs to be a positive value + FileCheckIntervalSeconds int64 `json:"fileCheckIntervalSeconds"` +} + +// StringSource allows specifying a string inline, or externally via env var or file. +// When it contains only a string value, it marshals to a simple JSON string. +type StringSource struct { + // StringSourceSpec specifies the string value, or external location + StringSourceSpec `json:",inline"` +} + +// StringSourceSpec specifies a string value, or external location +type StringSourceSpec struct { + // Value specifies the cleartext value, or an encrypted value if keyFile is specified. + Value string `json:"value"` + + // Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified. + Env string `json:"env"` + + // File references a file containing the cleartext value, or an encrypted value if a keyFile is specified. + File string `json:"file"` + + // KeyFile references a file containing the key to use to decrypt the value. + KeyFile string `json:"keyFile"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// LDAPSyncConfig holds the necessary configuration options to define an LDAP group sync +type LDAPSyncConfig struct { + metav1.TypeMeta `json:",inline"` + // Host is the scheme, host and port of the LDAP server to connect to: + // scheme://host:port + URL string `json:"url"` + // BindDN is an optional DN to bind to the LDAP server with + BindDN string `json:"bindDN"` + // BindPassword is an optional password to bind with during the search phase. + BindPassword StringSource `json:"bindPassword"` + + // Insecure, if true, indicates the connection should not use TLS. + // Cannot be set to true with a URL scheme of "ldaps://" + // If false, "ldaps://" URLs connect using TLS, and "ldap://" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830 + Insecure bool `json:"insecure"` + // CA is the optional trusted certificate authority bundle to use when making requests to the server + // If empty, the default system roots are used + CA string `json:"ca"` + + // LDAPGroupUIDToOpenShiftGroupNameMapping is an optional direct mapping of LDAP group UIDs to + // OpenShift Group names + LDAPGroupUIDToOpenShiftGroupNameMapping map[string]string `json:"groupUIDNameMapping"` + + // RFC2307Config holds the configuration for extracting data from an LDAP server set up in a fashion + // similar to RFC2307: first-class group and user entries, with group membership determined by a + // multi-valued attribute on the group entry listing its members + RFC2307Config *RFC2307Config `json:"rfc2307,omitempty"` + + // ActiveDirectoryConfig holds the configuration for extracting data from an LDAP server set up in a + // fashion similar to that used in Active Directory: first-class user entries, with group membership + // determined by a multi-valued attribute on members listing groups they are a member of + ActiveDirectoryConfig *ActiveDirectoryConfig `json:"activeDirectory,omitempty"` + + // AugmentedActiveDirectoryConfig holds the configuration for extracting data from an LDAP server + // set up in a fashion similar to that used in Active Directory as described above, with one addition: + // first-class group entries exist and are used to hold metadata but not group membership + AugmentedActiveDirectoryConfig *AugmentedActiveDirectoryConfig `json:"augmentedActiveDirectory,omitempty"` +} + +// RFC2307Config holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP +// server using the RFC2307 schema +type RFC2307Config struct { + // AllGroupsQuery holds the template for an LDAP query that returns group entries. + AllGroupsQuery LDAPQuery `json:"groupsQuery"` + + // GroupUIDAttributes defines which attribute on an LDAP group entry will be interpreted as its unique identifier. + // (ldapGroupUID) + GroupUIDAttribute string `json:"groupUIDAttribute"` + + // GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for + // an OpenShift group + GroupNameAttributes []string `json:"groupNameAttributes"` + + // GroupMembershipAttributes defines which attributes on an LDAP group entry will be interpreted as its members. + // The values contained in those attributes must be queryable by your UserUIDAttribute + GroupMembershipAttributes []string `json:"groupMembershipAttributes"` + + // AllUsersQuery holds the template for an LDAP query that returns user entries. + AllUsersQuery LDAPQuery `json:"usersQuery"` + + // UserUIDAttribute defines which attribute on an LDAP user entry will be interpreted as its unique identifier. + // It must correspond to values that will be found from the GroupMembershipAttributes + UserUIDAttribute string `json:"userUIDAttribute"` + + // UserNameAttributes defines which attributes on an LDAP user entry will be used, in order, as its OpenShift user name. + // The first attribute with a non-empty value is used. This should match your PreferredUsername setting for your LDAPPasswordIdentityProvider + UserNameAttributes []string `json:"userNameAttributes"` + + // TolerateMemberNotFoundErrors determines the behavior of the LDAP sync job when missing user entries are + // encountered. If 'true', an LDAP query for users that doesn't find any will be tolerated and an only + // and error will be logged. If 'false', the LDAP sync job will fail if a query for users doesn't find + // any. The default value is 'false'. Misconfigured LDAP sync jobs with this flag set to 'true' can cause + // group membership to be removed, so it is recommended to use this flag with caution. + TolerateMemberNotFoundErrors bool `json:"tolerateMemberNotFoundErrors"` + + // TolerateMemberOutOfScopeErrors determines the behavior of the LDAP sync job when out-of-scope user entries + // are encountered. If 'true', an LDAP query for a user that falls outside of the base DN given for the all + // user query will be tolerated and only an error will be logged. If 'false', the LDAP sync job will fail + // if a user query would search outside of the base DN specified by the all user query. Misconfigured LDAP + // sync jobs with this flag set to 'true' can result in groups missing users, so it is recommended to use + // this flag with caution. + TolerateMemberOutOfScopeErrors bool `json:"tolerateMemberOutOfScopeErrors"` +} + +// ActiveDirectoryConfig holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP +// server using the Active Directory schema +type ActiveDirectoryConfig struct { + // AllUsersQuery holds the template for an LDAP query that returns user entries. + AllUsersQuery LDAPQuery `json:"usersQuery"` + + // UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name. + UserNameAttributes []string `json:"userNameAttributes"` + + // GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted + // as the groups it is a member of + GroupMembershipAttributes []string `json:"groupMembershipAttributes"` +} + +// AugmentedActiveDirectoryConfig holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP +// server using the augmented Active Directory schema +type AugmentedActiveDirectoryConfig struct { + // AllUsersQuery holds the template for an LDAP query that returns user entries. + AllUsersQuery LDAPQuery `json:"usersQuery"` + + // UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name. + UserNameAttributes []string `json:"userNameAttributes"` + + // GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted + // as the groups it is a member of + GroupMembershipAttributes []string `json:"groupMembershipAttributes"` + + // AllGroupsQuery holds the template for an LDAP query that returns group entries. + AllGroupsQuery LDAPQuery `json:"groupsQuery"` + + // GroupUIDAttributes defines which attribute on an LDAP group entry will be interpreted as its unique identifier. + // (ldapGroupUID) + GroupUIDAttribute string `json:"groupUIDAttribute"` + + // GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for + // an OpenShift group + GroupNameAttributes []string `json:"groupNameAttributes"` +} + +// LDAPQuery holds the options necessary to build an LDAP query +type LDAPQuery struct { + // The DN of the branch of the directory where all searches should start from + BaseDN string `json:"baseDN"` + + // The (optional) scope of the search. Can be: + // base: only the base object, + // one: all object on the base level, + // sub: the entire subtree + // Defaults to the entire subtree if not set + Scope string `json:"scope"` + + // The (optional) behavior of the search with regards to alisases. Can be: + // never: never dereference aliases, + // search: only dereference in searching, + // base: only dereference in finding the base object, + // always: always dereference + // Defaults to always dereferencing if not set + DerefAliases string `json:"derefAliases"` + + // TimeLimit holds the limit of time in seconds that any request to the server can remain outstanding + // before the wait for a response is given up. If this is 0, no client-side limit is imposed + TimeLimit int `json:"timeout"` + + // Filter is a valid LDAP search filter that retrieves all relevant entries from the LDAP server with the base DN + Filter string `json:"filter"` + + // PageSize is the maximum preferred page size, measured in LDAP entries. A page size of 0 means no paging will be done. + PageSize int `json:"pageSize"` +} + +// AdmissionPluginConfig holds the necessary configuration options for admission plugins +type AdmissionPluginConfig struct { + // Location is the path to a configuration file that contains the plugin's + // configuration + Location string `json:"location"` + + // Configuration is an embedded configuration object to be used as the plugin's + // configuration. If present, it will be used instead of the path to the configuration file. + Configuration runtime.RawExtension `json:"configuration"` +} + +// AdmissionConfig holds the necessary configuration options for admission +type AdmissionConfig struct { + // PluginConfig allows specifying a configuration file per admission control plugin + PluginConfig map[string]*AdmissionPluginConfig `json:"pluginConfig"` + + // PluginOrderOverride is a list of admission control plugin names that will be installed + // on the master. Order is significant. If empty, a default list of plugins is used. + PluginOrderOverride []string `json:"pluginOrderOverride,omitempty"` +} + +// ControllerConfig holds configuration values for controllers +type ControllerConfig struct { + // Controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller "+ + // named 'foo', '-foo' disables the controller named 'foo'. + // Defaults to "*". + Controllers []string `json:"controllers"` + // Election defines the configuration for electing a controller instance to make changes to + // the cluster. If unspecified, the ControllerTTL value is checked to determine whether the + // legacy direct etcd election code will be used. + Election *ControllerElectionConfig `json:"election"` + // ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for + // pods fulfilling a service to serve with. + ServiceServingCert ServiceServingCert `json:"serviceServingCert"` +} + +// ControllerElectionConfig contains configuration values for deciding how a controller +// will be elected to act as leader. +type ControllerElectionConfig struct { + // LockName is the resource name used to act as the lock for determining which controller + // instance should lead. + LockName string `json:"lockName"` + // LockNamespace is the resource namespace used to act as the lock for determining which + // controller instance should lead. It defaults to "kube-system" + LockNamespace string `json:"lockNamespace"` + // LockResource is the group and resource name to use to coordinate for the controller lock. + // If unset, defaults to "configmaps". + LockResource GroupResource `json:"lockResource"` +} + +// GroupResource points to a resource by its name and API group. +type GroupResource struct { + // Group is the name of an API group + Group string `json:"group"` + // Resource is the name of a resource. + Resource string `json:"resource"` +} + +// ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for +// pods fulfilling a service to serve with. +type ServiceServingCert struct { + // Signer holds the signing information used to automatically sign serving certificates. + // If this value is nil, then certs are not signed automatically. + Signer *CertInfo `json:"signer"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DefaultAdmissionConfig can be used to enable or disable various admission plugins. +// When this type is present as the `configuration` object under `pluginConfig` and *if* the admission plugin supports it, +// this will cause an "off by default" admission plugin to be enabled +type DefaultAdmissionConfig struct { + metav1.TypeMeta `json:",inline"` + + // Disable turns off an admission plugin that is enabled by default. + Disable bool `json:"disable"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildDefaultsConfig controls the default information for Builds +type BuildDefaultsConfig struct { + metav1.TypeMeta `json:",inline"` + + // gitHTTPProxy is the location of the HTTPProxy for Git source + GitHTTPProxy string `json:"gitHTTPProxy,omitempty"` + + // gitHTTPSProxy is the location of the HTTPSProxy for Git source + GitHTTPSProxy string `json:"gitHTTPSProxy,omitempty"` + + // gitNoProxy is the list of domains for which the proxy should not be used + GitNoProxy string `json:"gitNoProxy,omitempty"` + + // env is a set of default environment variables that will be applied to the + // build if the specified variables do not exist on the build + Env []corev1.EnvVar `json:"env,omitempty"` + + // sourceStrategyDefaults are default values that apply to builds using the + // source strategy. + SourceStrategyDefaults *SourceStrategyDefaultsConfig `json:"sourceStrategyDefaults,omitempty"` + + // imageLabels is a list of labels that are applied to the resulting image. + // User can override a default label by providing a label with the same name in their + // Build/BuildConfig. + ImageLabels []buildv1.ImageLabel `json:"imageLabels,omitempty"` + + // nodeSelector is a selector which must be true for the build pod to fit on a node + NodeSelector map[string]string `json:"nodeSelector,omitempty"` + + // annotations are annotations that will be added to the build pod + Annotations map[string]string `json:"annotations,omitempty"` + + // resources defines resource requirements to execute the build. + Resources corev1.ResourceRequirements `json:"resources,omitempty"` +} + +// SourceStrategyDefaultsConfig contains values that apply to builds using the +// source strategy. +type SourceStrategyDefaultsConfig struct { + + // incremental indicates if s2i build strategies should perform an incremental + // build or not + Incremental *bool `json:"incremental,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildOverridesConfig controls override settings for builds +type BuildOverridesConfig struct { + metav1.TypeMeta `json:",inline"` + + // forcePull indicates whether the build strategy should always be set to ForcePull=true + ForcePull bool `json:"forcePull"` + + // imageLabels is a list of labels that are applied to the resulting image. + // If user provided a label in their Build/BuildConfig with the same name as one in this + // list, the user's label will be overwritten. + ImageLabels []buildv1.ImageLabel `json:"imageLabels,omitempty"` + + // nodeSelector is a selector which must be true for the build pod to fit on a node + NodeSelector map[string]string `json:"nodeSelector,omitempty"` + + // annotations are annotations that will be added to the build pod + Annotations map[string]string `json:"annotations,omitempty"` + + // tolerations is a list of Tolerations that will override any existing + // tolerations set on a build pod. + Tolerations []corev1.Toleration `json:"tolerations,omitempty"` +} diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..e33a4c5cf --- /dev/null +++ b/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.deepcopy.go @@ -0,0 +1,2218 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + build_v1 "github.com/openshift/api/build/v1" + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ActiveDirectoryConfig) DeepCopyInto(out *ActiveDirectoryConfig) { + *out = *in + out.AllUsersQuery = in.AllUsersQuery + if in.UserNameAttributes != nil { + in, out := &in.UserNameAttributes, &out.UserNameAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupMembershipAttributes != nil { + in, out := &in.GroupMembershipAttributes, &out.GroupMembershipAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveDirectoryConfig. +func (in *ActiveDirectoryConfig) DeepCopy() *ActiveDirectoryConfig { + if in == nil { + return nil + } + out := new(ActiveDirectoryConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdmissionConfig) DeepCopyInto(out *AdmissionConfig) { + *out = *in + if in.PluginConfig != nil { + in, out := &in.PluginConfig, &out.PluginConfig + *out = make(map[string]*AdmissionPluginConfig, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = new(AdmissionPluginConfig) + val.DeepCopyInto((*out)[key]) + } + } + } + if in.PluginOrderOverride != nil { + in, out := &in.PluginOrderOverride, &out.PluginOrderOverride + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionConfig. +func (in *AdmissionConfig) DeepCopy() *AdmissionConfig { + if in == nil { + return nil + } + out := new(AdmissionConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdmissionPluginConfig) DeepCopyInto(out *AdmissionPluginConfig) { + *out = *in + in.Configuration.DeepCopyInto(&out.Configuration) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPluginConfig. +func (in *AdmissionPluginConfig) DeepCopy() *AdmissionPluginConfig { + if in == nil { + return nil + } + out := new(AdmissionPluginConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AggregatorConfig) DeepCopyInto(out *AggregatorConfig) { + *out = *in + out.ProxyClientInfo = in.ProxyClientInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AggregatorConfig. +func (in *AggregatorConfig) DeepCopy() *AggregatorConfig { + if in == nil { + return nil + } + out := new(AggregatorConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowAllPasswordIdentityProvider) DeepCopyInto(out *AllowAllPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowAllPasswordIdentityProvider. +func (in *AllowAllPasswordIdentityProvider) DeepCopy() *AllowAllPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(AllowAllPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AllowAllPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in AllowedRegistries) DeepCopyInto(out *AllowedRegistries) { + { + in := &in + *out = make(AllowedRegistries, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedRegistries. +func (in AllowedRegistries) DeepCopy() AllowedRegistries { + if in == nil { + return nil + } + out := new(AllowedRegistries) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AuditConfig) DeepCopyInto(out *AuditConfig) { + *out = *in + in.PolicyConfiguration.DeepCopyInto(&out.PolicyConfiguration) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditConfig. +func (in *AuditConfig) DeepCopy() *AuditConfig { + if in == nil { + return nil + } + out := new(AuditConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AugmentedActiveDirectoryConfig) DeepCopyInto(out *AugmentedActiveDirectoryConfig) { + *out = *in + out.AllUsersQuery = in.AllUsersQuery + if in.UserNameAttributes != nil { + in, out := &in.UserNameAttributes, &out.UserNameAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupMembershipAttributes != nil { + in, out := &in.GroupMembershipAttributes, &out.GroupMembershipAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.AllGroupsQuery = in.AllGroupsQuery + if in.GroupNameAttributes != nil { + in, out := &in.GroupNameAttributes, &out.GroupNameAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AugmentedActiveDirectoryConfig. +func (in *AugmentedActiveDirectoryConfig) DeepCopy() *AugmentedActiveDirectoryConfig { + if in == nil { + return nil + } + out := new(AugmentedActiveDirectoryConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicAuthPasswordIdentityProvider) DeepCopyInto(out *BasicAuthPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.RemoteConnectionInfo = in.RemoteConnectionInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthPasswordIdentityProvider. +func (in *BasicAuthPasswordIdentityProvider) DeepCopy() *BasicAuthPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(BasicAuthPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BasicAuthPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildDefaultsConfig) DeepCopyInto(out *BuildDefaultsConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceStrategyDefaults != nil { + in, out := &in.SourceStrategyDefaults, &out.SourceStrategyDefaults + if *in == nil { + *out = nil + } else { + *out = new(SourceStrategyDefaultsConfig) + (*in).DeepCopyInto(*out) + } + } + if in.ImageLabels != nil { + in, out := &in.ImageLabels, &out.ImageLabels + *out = make([]build_v1.ImageLabel, len(*in)) + copy(*out, *in) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + in.Resources.DeepCopyInto(&out.Resources) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildDefaultsConfig. +func (in *BuildDefaultsConfig) DeepCopy() *BuildDefaultsConfig { + if in == nil { + return nil + } + out := new(BuildDefaultsConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildDefaultsConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildOverridesConfig) DeepCopyInto(out *BuildOverridesConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.ImageLabels != nil { + in, out := &in.ImageLabels, &out.ImageLabels + *out = make([]build_v1.ImageLabel, len(*in)) + copy(*out, *in) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]core_v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildOverridesConfig. +func (in *BuildOverridesConfig) DeepCopy() *BuildOverridesConfig { + if in == nil { + return nil + } + out := new(BuildOverridesConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildOverridesConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertInfo) DeepCopyInto(out *CertInfo) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertInfo. +func (in *CertInfo) DeepCopy() *CertInfo { + if in == nil { + return nil + } + out := new(CertInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClientConnectionOverrides) DeepCopyInto(out *ClientConnectionOverrides) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConnectionOverrides. +func (in *ClientConnectionOverrides) DeepCopy() *ClientConnectionOverrides { + if in == nil { + return nil + } + out := new(ClientConnectionOverrides) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterNetworkEntry) DeepCopyInto(out *ClusterNetworkEntry) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkEntry. +func (in *ClusterNetworkEntry) DeepCopy() *ClusterNetworkEntry { + if in == nil { + return nil + } + out := new(ClusterNetworkEntry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig) { + *out = *in + if in.Controllers != nil { + in, out := &in.Controllers, &out.Controllers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Election != nil { + in, out := &in.Election, &out.Election + if *in == nil { + *out = nil + } else { + *out = new(ControllerElectionConfig) + **out = **in + } + } + in.ServiceServingCert.DeepCopyInto(&out.ServiceServingCert) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig. +func (in *ControllerConfig) DeepCopy() *ControllerConfig { + if in == nil { + return nil + } + out := new(ControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerElectionConfig) DeepCopyInto(out *ControllerElectionConfig) { + *out = *in + out.LockResource = in.LockResource + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerElectionConfig. +func (in *ControllerElectionConfig) DeepCopy() *ControllerElectionConfig { + if in == nil { + return nil + } + out := new(ControllerElectionConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DNSConfig) DeepCopyInto(out *DNSConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSConfig. +func (in *DNSConfig) DeepCopy() *DNSConfig { + if in == nil { + return nil + } + out := new(DNSConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DefaultAdmissionConfig) DeepCopyInto(out *DefaultAdmissionConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultAdmissionConfig. +func (in *DefaultAdmissionConfig) DeepCopy() *DefaultAdmissionConfig { + if in == nil { + return nil + } + out := new(DefaultAdmissionConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DefaultAdmissionConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DenyAllPasswordIdentityProvider) DeepCopyInto(out *DenyAllPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyAllPasswordIdentityProvider. +func (in *DenyAllPasswordIdentityProvider) DeepCopy() *DenyAllPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(DenyAllPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DenyAllPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerConfig) DeepCopyInto(out *DockerConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerConfig. +func (in *DockerConfig) DeepCopy() *DockerConfig { + if in == nil { + return nil + } + out := new(DockerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdConfig) DeepCopyInto(out *EtcdConfig) { + *out = *in + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + in.PeerServingInfo.DeepCopyInto(&out.PeerServingInfo) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdConfig. +func (in *EtcdConfig) DeepCopy() *EtcdConfig { + if in == nil { + return nil + } + out := new(EtcdConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdConnectionInfo) DeepCopyInto(out *EtcdConnectionInfo) { + *out = *in + if in.URLs != nil { + in, out := &in.URLs, &out.URLs + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdConnectionInfo. +func (in *EtcdConnectionInfo) DeepCopy() *EtcdConnectionInfo { + if in == nil { + return nil + } + out := new(EtcdConnectionInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EtcdStorageConfig) DeepCopyInto(out *EtcdStorageConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdStorageConfig. +func (in *EtcdStorageConfig) DeepCopy() *EtcdStorageConfig { + if in == nil { + return nil + } + out := new(EtcdStorageConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in ExtendedArguments) DeepCopyInto(out *ExtendedArguments) { + { + in := &in + *out = make(ExtendedArguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedArguments. +func (in ExtendedArguments) DeepCopy() ExtendedArguments { + if in == nil { + return nil + } + out := new(ExtendedArguments) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in FeatureList) DeepCopyInto(out *FeatureList) { + { + in := &in + *out = make(FeatureList, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureList. +func (in FeatureList) DeepCopy() FeatureList { + if in == nil { + return nil + } + out := new(FeatureList) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitHubIdentityProvider) DeepCopyInto(out *GitHubIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + if in.Organizations != nil { + in, out := &in.Organizations, &out.Organizations + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Teams != nil { + in, out := &in.Teams, &out.Teams + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubIdentityProvider. +func (in *GitHubIdentityProvider) DeepCopy() *GitHubIdentityProvider { + if in == nil { + return nil + } + out := new(GitHubIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GitHubIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitLabIdentityProvider) DeepCopyInto(out *GitLabIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + if in.Legacy != nil { + in, out := &in.Legacy, &out.Legacy + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabIdentityProvider. +func (in *GitLabIdentityProvider) DeepCopy() *GitLabIdentityProvider { + if in == nil { + return nil + } + out := new(GitLabIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GitLabIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoogleIdentityProvider) DeepCopyInto(out *GoogleIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoogleIdentityProvider. +func (in *GoogleIdentityProvider) DeepCopy() *GoogleIdentityProvider { + if in == nil { + return nil + } + out := new(GoogleIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GoogleIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrantConfig) DeepCopyInto(out *GrantConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrantConfig. +func (in *GrantConfig) DeepCopy() *GrantConfig { + if in == nil { + return nil + } + out := new(GrantConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupResource) DeepCopyInto(out *GroupResource) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupResource. +func (in *GroupResource) DeepCopy() *GroupResource { + if in == nil { + return nil + } + out := new(GroupResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTPasswdPasswordIdentityProvider) DeepCopyInto(out *HTPasswdPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTPasswdPasswordIdentityProvider. +func (in *HTPasswdPasswordIdentityProvider) DeepCopy() *HTPasswdPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(HTPasswdPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HTPasswdPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTTPServingInfo) DeepCopyInto(out *HTTPServingInfo) { + *out = *in + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPServingInfo. +func (in *HTTPServingInfo) DeepCopy() *HTTPServingInfo { + if in == nil { + return nil + } + out := new(HTTPServingInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityProvider) DeepCopyInto(out *IdentityProvider) { + *out = *in + in.Provider.DeepCopyInto(&out.Provider) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProvider. +func (in *IdentityProvider) DeepCopy() *IdentityProvider { + if in == nil { + return nil + } + out := new(IdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageConfig) DeepCopyInto(out *ImageConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageConfig. +func (in *ImageConfig) DeepCopy() *ImageConfig { + if in == nil { + return nil + } + out := new(ImageConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImagePolicyConfig) DeepCopyInto(out *ImagePolicyConfig) { + *out = *in + if in.AllowedRegistriesForImport != nil { + in, out := &in.AllowedRegistriesForImport, &out.AllowedRegistriesForImport + if *in == nil { + *out = nil + } else { + *out = new(AllowedRegistries) + if **in != nil { + in, out := *in, *out + *out = make([]RegistryLocation, len(*in)) + copy(*out, *in) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyConfig. +func (in *ImagePolicyConfig) DeepCopy() *ImagePolicyConfig { + if in == nil { + return nil + } + out := new(ImagePolicyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JenkinsPipelineConfig) DeepCopyInto(out *JenkinsPipelineConfig) { + *out = *in + if in.AutoProvisionEnabled != nil { + in, out := &in.AutoProvisionEnabled, &out.AutoProvisionEnabled + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsPipelineConfig. +func (in *JenkinsPipelineConfig) DeepCopy() *JenkinsPipelineConfig { + if in == nil { + return nil + } + out := new(JenkinsPipelineConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeystonePasswordIdentityProvider) DeepCopyInto(out *KeystonePasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.RemoteConnectionInfo = in.RemoteConnectionInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeystonePasswordIdentityProvider. +func (in *KeystonePasswordIdentityProvider) DeepCopy() *KeystonePasswordIdentityProvider { + if in == nil { + return nil + } + out := new(KeystonePasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeystonePasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConnectionInfo) DeepCopyInto(out *KubeletConnectionInfo) { + *out = *in + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConnectionInfo. +func (in *KubeletConnectionInfo) DeepCopy() *KubeletConnectionInfo { + if in == nil { + return nil + } + out := new(KubeletConnectionInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubernetesMasterConfig) DeepCopyInto(out *KubernetesMasterConfig) { + *out = *in + if in.APILevels != nil { + in, out := &in.APILevels, &out.APILevels + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DisabledAPIGroupVersions != nil { + in, out := &in.DisabledAPIGroupVersions, &out.DisabledAPIGroupVersions + *out = make(map[string][]string, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + out.ProxyClientInfo = in.ProxyClientInfo + if in.APIServerArguments != nil { + in, out := &in.APIServerArguments, &out.APIServerArguments + *out = make(ExtendedArguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + if in.ControllerArguments != nil { + in, out := &in.ControllerArguments, &out.ControllerArguments + *out = make(ExtendedArguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + if in.SchedulerArguments != nil { + in, out := &in.SchedulerArguments, &out.SchedulerArguments + *out = make(ExtendedArguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesMasterConfig. +func (in *KubernetesMasterConfig) DeepCopy() *KubernetesMasterConfig { + if in == nil { + return nil + } + out := new(KubernetesMasterConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPAttributeMapping) DeepCopyInto(out *LDAPAttributeMapping) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsername != nil { + in, out := &in.PreferredUsername, &out.PreferredUsername + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPAttributeMapping. +func (in *LDAPAttributeMapping) DeepCopy() *LDAPAttributeMapping { + if in == nil { + return nil + } + out := new(LDAPAttributeMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPPasswordIdentityProvider) DeepCopyInto(out *LDAPPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.BindPassword = in.BindPassword + in.Attributes.DeepCopyInto(&out.Attributes) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPPasswordIdentityProvider. +func (in *LDAPPasswordIdentityProvider) DeepCopy() *LDAPPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(LDAPPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LDAPPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPQuery) DeepCopyInto(out *LDAPQuery) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPQuery. +func (in *LDAPQuery) DeepCopy() *LDAPQuery { + if in == nil { + return nil + } + out := new(LDAPQuery) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPSyncConfig) DeepCopyInto(out *LDAPSyncConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + out.BindPassword = in.BindPassword + if in.LDAPGroupUIDToOpenShiftGroupNameMapping != nil { + in, out := &in.LDAPGroupUIDToOpenShiftGroupNameMapping, &out.LDAPGroupUIDToOpenShiftGroupNameMapping + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RFC2307Config != nil { + in, out := &in.RFC2307Config, &out.RFC2307Config + if *in == nil { + *out = nil + } else { + *out = new(RFC2307Config) + (*in).DeepCopyInto(*out) + } + } + if in.ActiveDirectoryConfig != nil { + in, out := &in.ActiveDirectoryConfig, &out.ActiveDirectoryConfig + if *in == nil { + *out = nil + } else { + *out = new(ActiveDirectoryConfig) + (*in).DeepCopyInto(*out) + } + } + if in.AugmentedActiveDirectoryConfig != nil { + in, out := &in.AugmentedActiveDirectoryConfig, &out.AugmentedActiveDirectoryConfig + if *in == nil { + *out = nil + } else { + *out = new(AugmentedActiveDirectoryConfig) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPSyncConfig. +func (in *LDAPSyncConfig) DeepCopy() *LDAPSyncConfig { + if in == nil { + return nil + } + out := new(LDAPSyncConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LDAPSyncConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LocalQuota) DeepCopyInto(out *LocalQuota) { + *out = *in + if in.PerFSGroup != nil { + in, out := &in.PerFSGroup, &out.PerFSGroup + if *in == nil { + *out = nil + } else { + x := (*in).DeepCopy() + *out = &x + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalQuota. +func (in *LocalQuota) DeepCopy() *LocalQuota { + if in == nil { + return nil + } + out := new(LocalQuota) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterAuthConfig) DeepCopyInto(out *MasterAuthConfig) { + *out = *in + if in.RequestHeader != nil { + in, out := &in.RequestHeader, &out.RequestHeader + if *in == nil { + *out = nil + } else { + *out = new(RequestHeaderAuthenticationOptions) + (*in).DeepCopyInto(*out) + } + } + if in.WebhookTokenAuthenticators != nil { + in, out := &in.WebhookTokenAuthenticators, &out.WebhookTokenAuthenticators + *out = make([]WebhookTokenAuthenticator, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterAuthConfig. +func (in *MasterAuthConfig) DeepCopy() *MasterAuthConfig { + if in == nil { + return nil + } + out := new(MasterAuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterClients) DeepCopyInto(out *MasterClients) { + *out = *in + if in.OpenShiftLoopbackClientConnectionOverrides != nil { + in, out := &in.OpenShiftLoopbackClientConnectionOverrides, &out.OpenShiftLoopbackClientConnectionOverrides + if *in == nil { + *out = nil + } else { + *out = new(ClientConnectionOverrides) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterClients. +func (in *MasterClients) DeepCopy() *MasterClients { + if in == nil { + return nil + } + out := new(MasterClients) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterConfig) DeepCopyInto(out *MasterConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + in.AuthConfig.DeepCopyInto(&out.AuthConfig) + out.AggregatorConfig = in.AggregatorConfig + if in.CORSAllowedOrigins != nil { + in, out := &in.CORSAllowedOrigins, &out.CORSAllowedOrigins + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.APILevels != nil { + in, out := &in.APILevels, &out.APILevels + *out = make([]string, len(*in)) + copy(*out, *in) + } + in.AdmissionConfig.DeepCopyInto(&out.AdmissionConfig) + in.ControllerConfig.DeepCopyInto(&out.ControllerConfig) + out.EtcdStorageConfig = in.EtcdStorageConfig + in.EtcdClientInfo.DeepCopyInto(&out.EtcdClientInfo) + out.KubeletClientInfo = in.KubeletClientInfo + in.KubernetesMasterConfig.DeepCopyInto(&out.KubernetesMasterConfig) + if in.EtcdConfig != nil { + in, out := &in.EtcdConfig, &out.EtcdConfig + if *in == nil { + *out = nil + } else { + *out = new(EtcdConfig) + (*in).DeepCopyInto(*out) + } + } + if in.OAuthConfig != nil { + in, out := &in.OAuthConfig, &out.OAuthConfig + if *in == nil { + *out = nil + } else { + *out = new(OAuthConfig) + (*in).DeepCopyInto(*out) + } + } + if in.DNSConfig != nil { + in, out := &in.DNSConfig, &out.DNSConfig + if *in == nil { + *out = nil + } else { + *out = new(DNSConfig) + **out = **in + } + } + in.ServiceAccountConfig.DeepCopyInto(&out.ServiceAccountConfig) + in.MasterClients.DeepCopyInto(&out.MasterClients) + out.ImageConfig = in.ImageConfig + in.ImagePolicyConfig.DeepCopyInto(&out.ImagePolicyConfig) + in.PolicyConfig.DeepCopyInto(&out.PolicyConfig) + in.ProjectConfig.DeepCopyInto(&out.ProjectConfig) + out.RoutingConfig = in.RoutingConfig + in.NetworkConfig.DeepCopyInto(&out.NetworkConfig) + in.VolumeConfig.DeepCopyInto(&out.VolumeConfig) + in.JenkinsPipelineConfig.DeepCopyInto(&out.JenkinsPipelineConfig) + in.AuditConfig.DeepCopyInto(&out.AuditConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfig. +func (in *MasterConfig) DeepCopy() *MasterConfig { + if in == nil { + return nil + } + out := new(MasterConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MasterConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterNetworkConfig) DeepCopyInto(out *MasterNetworkConfig) { + *out = *in + if in.ClusterNetworks != nil { + in, out := &in.ClusterNetworks, &out.ClusterNetworks + *out = make([]ClusterNetworkEntry, len(*in)) + copy(*out, *in) + } + if in.ExternalIPNetworkCIDRs != nil { + in, out := &in.ExternalIPNetworkCIDRs, &out.ExternalIPNetworkCIDRs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterNetworkConfig. +func (in *MasterNetworkConfig) DeepCopy() *MasterNetworkConfig { + if in == nil { + return nil + } + out := new(MasterNetworkConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MasterVolumeConfig) DeepCopyInto(out *MasterVolumeConfig) { + *out = *in + if in.DynamicProvisioningEnabled != nil { + in, out := &in.DynamicProvisioningEnabled, &out.DynamicProvisioningEnabled + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterVolumeConfig. +func (in *MasterVolumeConfig) DeepCopy() *MasterVolumeConfig { + if in == nil { + return nil + } + out := new(MasterVolumeConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NamedCertificate) DeepCopyInto(out *NamedCertificate) { + *out = *in + if in.Names != nil { + in, out := &in.Names, &out.Names + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedCertificate. +func (in *NamedCertificate) DeepCopy() *NamedCertificate { + if in == nil { + return nil + } + out := new(NamedCertificate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeAuthConfig) DeepCopyInto(out *NodeAuthConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAuthConfig. +func (in *NodeAuthConfig) DeepCopy() *NodeAuthConfig { + if in == nil { + return nil + } + out := new(NodeAuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeConfig) DeepCopyInto(out *NodeConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + if in.MasterClientConnectionOverrides != nil { + in, out := &in.MasterClientConnectionOverrides, &out.MasterClientConnectionOverrides + if *in == nil { + *out = nil + } else { + *out = new(ClientConnectionOverrides) + **out = **in + } + } + if in.DNSNameservers != nil { + in, out := &in.DNSNameservers, &out.DNSNameservers + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.NetworkConfig = in.NetworkConfig + out.ImageConfig = in.ImageConfig + if in.PodManifestConfig != nil { + in, out := &in.PodManifestConfig, &out.PodManifestConfig + if *in == nil { + *out = nil + } else { + *out = new(PodManifestConfig) + **out = **in + } + } + out.AuthConfig = in.AuthConfig + out.DockerConfig = in.DockerConfig + if in.KubeletArguments != nil { + in, out := &in.KubeletArguments, &out.KubeletArguments + *out = make(ExtendedArguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + if in.ProxyArguments != nil { + in, out := &in.ProxyArguments, &out.ProxyArguments + *out = make(ExtendedArguments, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + if in.EnableUnidling != nil { + in, out := &in.EnableUnidling, &out.EnableUnidling + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + in.VolumeConfig.DeepCopyInto(&out.VolumeConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfig. +func (in *NodeConfig) DeepCopy() *NodeConfig { + if in == nil { + return nil + } + out := new(NodeConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NodeConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeNetworkConfig) DeepCopyInto(out *NodeNetworkConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeNetworkConfig. +func (in *NodeNetworkConfig) DeepCopy() *NodeNetworkConfig { + if in == nil { + return nil + } + out := new(NodeNetworkConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeVolumeConfig) DeepCopyInto(out *NodeVolumeConfig) { + *out = *in + in.LocalQuota.DeepCopyInto(&out.LocalQuota) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeVolumeConfig. +func (in *NodeVolumeConfig) DeepCopy() *NodeVolumeConfig { + if in == nil { + return nil + } + out := new(NodeVolumeConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthConfig) DeepCopyInto(out *OAuthConfig) { + *out = *in + if in.MasterCA != nil { + in, out := &in.MasterCA, &out.MasterCA + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + if in.IdentityProviders != nil { + in, out := &in.IdentityProviders, &out.IdentityProviders + *out = make([]IdentityProvider, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + out.GrantConfig = in.GrantConfig + if in.SessionConfig != nil { + in, out := &in.SessionConfig, &out.SessionConfig + if *in == nil { + *out = nil + } else { + *out = new(SessionConfig) + **out = **in + } + } + in.TokenConfig.DeepCopyInto(&out.TokenConfig) + if in.Templates != nil { + in, out := &in.Templates, &out.Templates + if *in == nil { + *out = nil + } else { + *out = new(OAuthTemplates) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthConfig. +func (in *OAuthConfig) DeepCopy() *OAuthConfig { + if in == nil { + return nil + } + out := new(OAuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthTemplates) DeepCopyInto(out *OAuthTemplates) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthTemplates. +func (in *OAuthTemplates) DeepCopy() *OAuthTemplates { + if in == nil { + return nil + } + out := new(OAuthTemplates) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDClaims) DeepCopyInto(out *OpenIDClaims) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsername != nil { + in, out := &in.PreferredUsername, &out.PreferredUsername + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDClaims. +func (in *OpenIDClaims) DeepCopy() *OpenIDClaims { + if in == nil { + return nil + } + out := new(OpenIDClaims) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDIdentityProvider) DeepCopyInto(out *OpenIDIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + if in.ExtraScopes != nil { + in, out := &in.ExtraScopes, &out.ExtraScopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExtraAuthorizeParameters != nil { + in, out := &in.ExtraAuthorizeParameters, &out.ExtraAuthorizeParameters + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.URLs = in.URLs + in.Claims.DeepCopyInto(&out.Claims) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDIdentityProvider. +func (in *OpenIDIdentityProvider) DeepCopy() *OpenIDIdentityProvider { + if in == nil { + return nil + } + out := new(OpenIDIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OpenIDIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDURLs) DeepCopyInto(out *OpenIDURLs) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDURLs. +func (in *OpenIDURLs) DeepCopy() *OpenIDURLs { + if in == nil { + return nil + } + out := new(OpenIDURLs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodManifestConfig) DeepCopyInto(out *PodManifestConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodManifestConfig. +func (in *PodManifestConfig) DeepCopy() *PodManifestConfig { + if in == nil { + return nil + } + out := new(PodManifestConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PolicyConfig) DeepCopyInto(out *PolicyConfig) { + *out = *in + in.UserAgentMatchingConfig.DeepCopyInto(&out.UserAgentMatchingConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyConfig. +func (in *PolicyConfig) DeepCopy() *PolicyConfig { + if in == nil { + return nil + } + out := new(PolicyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectConfig) DeepCopyInto(out *ProjectConfig) { + *out = *in + if in.SecurityAllocator != nil { + in, out := &in.SecurityAllocator, &out.SecurityAllocator + if *in == nil { + *out = nil + } else { + *out = new(SecurityAllocator) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfig. +func (in *ProjectConfig) DeepCopy() *ProjectConfig { + if in == nil { + return nil + } + out := new(ProjectConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RFC2307Config) DeepCopyInto(out *RFC2307Config) { + *out = *in + out.AllGroupsQuery = in.AllGroupsQuery + if in.GroupNameAttributes != nil { + in, out := &in.GroupNameAttributes, &out.GroupNameAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupMembershipAttributes != nil { + in, out := &in.GroupMembershipAttributes, &out.GroupMembershipAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.AllUsersQuery = in.AllUsersQuery + if in.UserNameAttributes != nil { + in, out := &in.UserNameAttributes, &out.UserNameAttributes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RFC2307Config. +func (in *RFC2307Config) DeepCopy() *RFC2307Config { + if in == nil { + return nil + } + out := new(RFC2307Config) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryLocation) DeepCopyInto(out *RegistryLocation) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryLocation. +func (in *RegistryLocation) DeepCopy() *RegistryLocation { + if in == nil { + return nil + } + out := new(RegistryLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RemoteConnectionInfo) DeepCopyInto(out *RemoteConnectionInfo) { + *out = *in + out.CertInfo = in.CertInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteConnectionInfo. +func (in *RemoteConnectionInfo) DeepCopy() *RemoteConnectionInfo { + if in == nil { + return nil + } + out := new(RemoteConnectionInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderAuthenticationOptions) DeepCopyInto(out *RequestHeaderAuthenticationOptions) { + *out = *in + if in.ClientCommonNames != nil { + in, out := &in.ClientCommonNames, &out.ClientCommonNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.UsernameHeaders != nil { + in, out := &in.UsernameHeaders, &out.UsernameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupHeaders != nil { + in, out := &in.GroupHeaders, &out.GroupHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExtraHeaderPrefixes != nil { + in, out := &in.ExtraHeaderPrefixes, &out.ExtraHeaderPrefixes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderAuthenticationOptions. +func (in *RequestHeaderAuthenticationOptions) DeepCopy() *RequestHeaderAuthenticationOptions { + if in == nil { + return nil + } + out := new(RequestHeaderAuthenticationOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderIdentityProvider) DeepCopyInto(out *RequestHeaderIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.ClientCommonNames != nil { + in, out := &in.ClientCommonNames, &out.ClientCommonNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsernameHeaders != nil { + in, out := &in.PreferredUsernameHeaders, &out.PreferredUsernameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.NameHeaders != nil { + in, out := &in.NameHeaders, &out.NameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.EmailHeaders != nil { + in, out := &in.EmailHeaders, &out.EmailHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderIdentityProvider. +func (in *RequestHeaderIdentityProvider) DeepCopy() *RequestHeaderIdentityProvider { + if in == nil { + return nil + } + out := new(RequestHeaderIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RequestHeaderIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingConfig) DeepCopyInto(out *RoutingConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingConfig. +func (in *RoutingConfig) DeepCopy() *RoutingConfig { + if in == nil { + return nil + } + out := new(RoutingConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityAllocator) DeepCopyInto(out *SecurityAllocator) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityAllocator. +func (in *SecurityAllocator) DeepCopy() *SecurityAllocator { + if in == nil { + return nil + } + out := new(SecurityAllocator) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountConfig) DeepCopyInto(out *ServiceAccountConfig) { + *out = *in + if in.ManagedNames != nil { + in, out := &in.ManagedNames, &out.ManagedNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PublicKeyFiles != nil { + in, out := &in.PublicKeyFiles, &out.PublicKeyFiles + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountConfig. +func (in *ServiceAccountConfig) DeepCopy() *ServiceAccountConfig { + if in == nil { + return nil + } + out := new(ServiceAccountConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceServingCert) DeepCopyInto(out *ServiceServingCert) { + *out = *in + if in.Signer != nil { + in, out := &in.Signer, &out.Signer + if *in == nil { + *out = nil + } else { + *out = new(CertInfo) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceServingCert. +func (in *ServiceServingCert) DeepCopy() *ServiceServingCert { + if in == nil { + return nil + } + out := new(ServiceServingCert) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServingInfo) DeepCopyInto(out *ServingInfo) { + *out = *in + out.CertInfo = in.CertInfo + if in.NamedCertificates != nil { + in, out := &in.NamedCertificates, &out.NamedCertificates + *out = make([]NamedCertificate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CipherSuites != nil { + in, out := &in.CipherSuites, &out.CipherSuites + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServingInfo. +func (in *ServingInfo) DeepCopy() *ServingInfo { + if in == nil { + return nil + } + out := new(ServingInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SessionConfig) DeepCopyInto(out *SessionConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionConfig. +func (in *SessionConfig) DeepCopy() *SessionConfig { + if in == nil { + return nil + } + out := new(SessionConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SessionSecret) DeepCopyInto(out *SessionSecret) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionSecret. +func (in *SessionSecret) DeepCopy() *SessionSecret { + if in == nil { + return nil + } + out := new(SessionSecret) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SessionSecrets) DeepCopyInto(out *SessionSecrets) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = make([]SessionSecret, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionSecrets. +func (in *SessionSecrets) DeepCopy() *SessionSecrets { + if in == nil { + return nil + } + out := new(SessionSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SessionSecrets) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceStrategyDefaultsConfig) DeepCopyInto(out *SourceStrategyDefaultsConfig) { + *out = *in + if in.Incremental != nil { + in, out := &in.Incremental, &out.Incremental + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStrategyDefaultsConfig. +func (in *SourceStrategyDefaultsConfig) DeepCopy() *SourceStrategyDefaultsConfig { + if in == nil { + return nil + } + out := new(SourceStrategyDefaultsConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StringSource) DeepCopyInto(out *StringSource) { + *out = *in + out.StringSourceSpec = in.StringSourceSpec + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringSource. +func (in *StringSource) DeepCopy() *StringSource { + if in == nil { + return nil + } + out := new(StringSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StringSourceSpec) DeepCopyInto(out *StringSourceSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StringSourceSpec. +func (in *StringSourceSpec) DeepCopy() *StringSourceSpec { + if in == nil { + return nil + } + out := new(StringSourceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenConfig) DeepCopyInto(out *TokenConfig) { + *out = *in + if in.AccessTokenInactivityTimeoutSeconds != nil { + in, out := &in.AccessTokenInactivityTimeoutSeconds, &out.AccessTokenInactivityTimeoutSeconds + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenConfig. +func (in *TokenConfig) DeepCopy() *TokenConfig { + if in == nil { + return nil + } + out := new(TokenConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAgentDenyRule) DeepCopyInto(out *UserAgentDenyRule) { + *out = *in + in.UserAgentMatchRule.DeepCopyInto(&out.UserAgentMatchRule) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAgentDenyRule. +func (in *UserAgentDenyRule) DeepCopy() *UserAgentDenyRule { + if in == nil { + return nil + } + out := new(UserAgentDenyRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAgentMatchRule) DeepCopyInto(out *UserAgentMatchRule) { + *out = *in + if in.HTTPVerbs != nil { + in, out := &in.HTTPVerbs, &out.HTTPVerbs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAgentMatchRule. +func (in *UserAgentMatchRule) DeepCopy() *UserAgentMatchRule { + if in == nil { + return nil + } + out := new(UserAgentMatchRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAgentMatchingConfig) DeepCopyInto(out *UserAgentMatchingConfig) { + *out = *in + if in.RequiredClients != nil { + in, out := &in.RequiredClients, &out.RequiredClients + *out = make([]UserAgentMatchRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.DeniedClients != nil { + in, out := &in.DeniedClients, &out.DeniedClients + *out = make([]UserAgentDenyRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAgentMatchingConfig. +func (in *UserAgentMatchingConfig) DeepCopy() *UserAgentMatchingConfig { + if in == nil { + return nil + } + out := new(UserAgentMatchingConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebhookTokenAuthenticator) DeepCopyInto(out *WebhookTokenAuthenticator) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookTokenAuthenticator. +func (in *WebhookTokenAuthenticator) DeepCopy() *WebhookTokenAuthenticator { + if in == nil { + return nil + } + out := new(WebhookTokenAuthenticator) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..8c6488156 --- /dev/null +++ b/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,977 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_ActiveDirectoryConfig = map[string]string{ + "": "ActiveDirectoryConfig holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP server using the Active Directory schema", + "usersQuery": "AllUsersQuery holds the template for an LDAP query that returns user entries.", + "userNameAttributes": "UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name.", + "groupMembershipAttributes": "GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted as the groups it is a member of", +} + +func (ActiveDirectoryConfig) SwaggerDoc() map[string]string { + return map_ActiveDirectoryConfig +} + +var map_AdmissionConfig = map[string]string{ + "": "AdmissionConfig holds the necessary configuration options for admission", + "pluginConfig": "PluginConfig allows specifying a configuration file per admission control plugin", + "pluginOrderOverride": "PluginOrderOverride is a list of admission control plugin names that will be installed on the master. Order is significant. If empty, a default list of plugins is used.", +} + +func (AdmissionConfig) SwaggerDoc() map[string]string { + return map_AdmissionConfig +} + +var map_AdmissionPluginConfig = map[string]string{ + "": "AdmissionPluginConfig holds the necessary configuration options for admission plugins", + "location": "Location is the path to a configuration file that contains the plugin's configuration", + "configuration": "Configuration is an embedded configuration object to be used as the plugin's configuration. If present, it will be used instead of the path to the configuration file.", +} + +func (AdmissionPluginConfig) SwaggerDoc() map[string]string { + return map_AdmissionPluginConfig +} + +var map_AggregatorConfig = map[string]string{ + "": "AggregatorConfig holds information required to make the aggregator function.", + "proxyClientInfo": "ProxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers", +} + +func (AggregatorConfig) SwaggerDoc() map[string]string { + return map_AggregatorConfig +} + +var map_AllowAllPasswordIdentityProvider = map[string]string{ + "": "AllowAllPasswordIdentityProvider provides identities for users authenticating using non-empty passwords", +} + +func (AllowAllPasswordIdentityProvider) SwaggerDoc() map[string]string { + return map_AllowAllPasswordIdentityProvider +} + +var map_AuditConfig = map[string]string{ + "": "AuditConfig holds configuration for the audit capabilities", + "enabled": "If this flag is set, audit log will be printed in the logs. The logs contains, method, user and a requested URL.", + "auditFilePath": "All requests coming to the apiserver will be logged to this file.", + "maximumFileRetentionDays": "Maximum number of days to retain old log files based on the timestamp encoded in their filename.", + "maximumRetainedFiles": "Maximum number of old log files to retain.", + "maximumFileSizeMegabytes": "Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB.", + "policyFile": "PolicyFile is a path to the file that defines the audit policy configuration.", + "policyConfiguration": "PolicyConfiguration is an embedded policy configuration object to be used as the audit policy configuration. If present, it will be used instead of the path to the policy file.", + "logFormat": "Format of saved audits (legacy or json).", + "webHookKubeConfig": "Path to a .kubeconfig formatted file that defines the audit webhook configuration.", + "webHookMode": "Strategy for sending audit events (block or batch).", +} + +func (AuditConfig) SwaggerDoc() map[string]string { + return map_AuditConfig +} + +var map_AugmentedActiveDirectoryConfig = map[string]string{ + "": "AugmentedActiveDirectoryConfig holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP server using the augmented Active Directory schema", + "usersQuery": "AllUsersQuery holds the template for an LDAP query that returns user entries.", + "userNameAttributes": "UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name.", + "groupMembershipAttributes": "GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted as the groups it is a member of", + "groupsQuery": "AllGroupsQuery holds the template for an LDAP query that returns group entries.", + "groupUIDAttribute": "GroupUIDAttributes defines which attribute on an LDAP group entry will be interpreted as its unique identifier. (ldapGroupUID)", + "groupNameAttributes": "GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for an OpenShift group", +} + +func (AugmentedActiveDirectoryConfig) SwaggerDoc() map[string]string { + return map_AugmentedActiveDirectoryConfig +} + +var map_BasicAuthPasswordIdentityProvider = map[string]string{ + "": "BasicAuthPasswordIdentityProvider provides identities for users authenticating using HTTP basic auth credentials", +} + +func (BasicAuthPasswordIdentityProvider) SwaggerDoc() map[string]string { + return map_BasicAuthPasswordIdentityProvider +} + +var map_BuildDefaultsConfig = map[string]string{ + "": "BuildDefaultsConfig controls the default information for Builds", + "gitHTTPProxy": "gitHTTPProxy is the location of the HTTPProxy for Git source", + "gitHTTPSProxy": "gitHTTPSProxy is the location of the HTTPSProxy for Git source", + "gitNoProxy": "gitNoProxy is the list of domains for which the proxy should not be used", + "env": "env is a set of default environment variables that will be applied to the build if the specified variables do not exist on the build", + "sourceStrategyDefaults": "sourceStrategyDefaults are default values that apply to builds using the source strategy.", + "imageLabels": "imageLabels is a list of labels that are applied to the resulting image. User can override a default label by providing a label with the same name in their Build/BuildConfig.", + "nodeSelector": "nodeSelector is a selector which must be true for the build pod to fit on a node", + "annotations": "annotations are annotations that will be added to the build pod", + "resources": "resources defines resource requirements to execute the build.", +} + +func (BuildDefaultsConfig) SwaggerDoc() map[string]string { + return map_BuildDefaultsConfig +} + +var map_BuildOverridesConfig = map[string]string{ + "": "BuildOverridesConfig controls override settings for builds", + "forcePull": "forcePull indicates whether the build strategy should always be set to ForcePull=true", + "imageLabels": "imageLabels is a list of labels that are applied to the resulting image. If user provided a label in their Build/BuildConfig with the same name as one in this list, the user's label will be overwritten.", + "nodeSelector": "nodeSelector is a selector which must be true for the build pod to fit on a node", + "annotations": "annotations are annotations that will be added to the build pod", + "tolerations": "tolerations is a list of Tolerations that will override any existing tolerations set on a build pod.", +} + +func (BuildOverridesConfig) SwaggerDoc() map[string]string { + return map_BuildOverridesConfig +} + +var map_CertInfo = map[string]string{ + "": "CertInfo relates a certificate with a private key", + "certFile": "CertFile is a file containing a PEM-encoded certificate", + "keyFile": "KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile", +} + +func (CertInfo) SwaggerDoc() map[string]string { + return map_CertInfo +} + +var map_ClientConnectionOverrides = map[string]string{ + "": "ClientConnectionOverrides are a set of overrides to the default client connection settings.", + "acceptContentTypes": "AcceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the default value of 'application/json'. This field will control all connections to the server used by a particular client.", + "contentType": "ContentType is the content type used when sending data to the server from this client.", + "qps": "QPS controls the number of queries per second allowed for this connection.", + "burst": "Burst allows extra queries to accumulate when a client is exceeding its rate.", +} + +func (ClientConnectionOverrides) SwaggerDoc() map[string]string { + return map_ClientConnectionOverrides +} + +var map_ClusterNetworkEntry = map[string]string{ + "": "ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips.", + "cidr": "CIDR defines the total range of a cluster networks address space.", + "hostSubnetLength": "HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod.", +} + +func (ClusterNetworkEntry) SwaggerDoc() map[string]string { + return map_ClusterNetworkEntry +} + +var map_ControllerConfig = map[string]string{ + "": "ControllerConfig holds configuration values for controllers", + "controllers": "Controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller \"+ named 'foo', '-foo' disables the controller named 'foo'. Defaults to \"*\".", + "election": "Election defines the configuration for electing a controller instance to make changes to the cluster. If unspecified, the ControllerTTL value is checked to determine whether the legacy direct etcd election code will be used.", + "serviceServingCert": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", +} + +func (ControllerConfig) SwaggerDoc() map[string]string { + return map_ControllerConfig +} + +var map_ControllerElectionConfig = map[string]string{ + "": "ControllerElectionConfig contains configuration values for deciding how a controller will be elected to act as leader.", + "lockName": "LockName is the resource name used to act as the lock for determining which controller instance should lead.", + "lockNamespace": "LockNamespace is the resource namespace used to act as the lock for determining which controller instance should lead. It defaults to \"kube-system\"", + "lockResource": "LockResource is the group and resource name to use to coordinate for the controller lock. If unset, defaults to \"configmaps\".", +} + +func (ControllerElectionConfig) SwaggerDoc() map[string]string { + return map_ControllerElectionConfig +} + +var map_DNSConfig = map[string]string{ + "": "DNSConfig holds the necessary configuration options for DNS", + "bindAddress": "BindAddress is the ip:port to serve DNS on", + "bindNetwork": "BindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", + "allowRecursiveQueries": "AllowRecursiveQueries allows the DNS server on the master to answer queries recursively. Note that open resolvers can be used for DNS amplification attacks and the master DNS should not be made accessible to public networks.", +} + +func (DNSConfig) SwaggerDoc() map[string]string { + return map_DNSConfig +} + +var map_DefaultAdmissionConfig = map[string]string{ + "": "DefaultAdmissionConfig can be used to enable or disable various admission plugins. When this type is present as the `configuration` object under `pluginConfig` and *if* the admission plugin supports it, this will cause an \"off by default\" admission plugin to be enabled", + "disable": "Disable turns off an admission plugin that is enabled by default.", +} + +func (DefaultAdmissionConfig) SwaggerDoc() map[string]string { + return map_DefaultAdmissionConfig +} + +var map_DenyAllPasswordIdentityProvider = map[string]string{ + "": "DenyAllPasswordIdentityProvider provides no identities for users", +} + +func (DenyAllPasswordIdentityProvider) SwaggerDoc() map[string]string { + return map_DenyAllPasswordIdentityProvider +} + +var map_DockerConfig = map[string]string{ + "": "DockerConfig holds Docker related configuration options.", + "execHandlerName": "ExecHandlerName is the name of the handler to use for executing commands in containers.", + "dockerShimSocket": "DockerShimSocket is the location of the dockershim socket the kubelet uses. Currently unix socket is supported on Linux, and tcp is supported on windows. Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735'", + "dockerShimRootDirectory": "DockershimRootDirectory is the dockershim root directory.", +} + +func (DockerConfig) SwaggerDoc() map[string]string { + return map_DockerConfig +} + +var map_EtcdConfig = map[string]string{ + "": "EtcdConfig holds the necessary configuration options for connecting with an etcd database", + "servingInfo": "ServingInfo describes how to start serving the etcd master", + "address": "Address is the advertised host:port for client connections to etcd", + "peerServingInfo": "PeerServingInfo describes how to start serving the etcd peer", + "peerAddress": "PeerAddress is the advertised host:port for peer connections to etcd", + "storageDirectory": "StorageDir is the path to the etcd storage directory", +} + +func (EtcdConfig) SwaggerDoc() map[string]string { + return map_EtcdConfig +} + +var map_EtcdConnectionInfo = map[string]string{ + "": "EtcdConnectionInfo holds information necessary for connecting to an etcd server", + "urls": "URLs are the URLs for etcd", + "ca": "CA is a file containing trusted roots for the etcd server certificates", +} + +func (EtcdConnectionInfo) SwaggerDoc() map[string]string { + return map_EtcdConnectionInfo +} + +var map_EtcdStorageConfig = map[string]string{ + "": "EtcdStorageConfig holds the necessary configuration options for the etcd storage underlying OpenShift and Kubernetes", + "kubernetesStorageVersion": "KubernetesStorageVersion is the API version that Kube resources in etcd should be serialized to. This value should *not* be advanced until all clients in the cluster that read from etcd have code that allows them to read the new version.", + "kubernetesStoragePrefix": "KubernetesStoragePrefix is the path within etcd that the Kubernetes resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located. The default value is 'kubernetes.io'.", + "openShiftStorageVersion": "OpenShiftStorageVersion is the API version that OS resources in etcd should be serialized to. This value should *not* be advanced until all clients in the cluster that read from etcd have code that allows them to read the new version.", + "openShiftStoragePrefix": "OpenShiftStoragePrefix is the path within etcd that the OpenShift resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located. The default value is 'openshift.io'.", +} + +func (EtcdStorageConfig) SwaggerDoc() map[string]string { + return map_EtcdStorageConfig +} + +var map_GitHubIdentityProvider = map[string]string{ + "": "GitHubIdentityProvider provides identities for users authenticating using GitHub credentials", + "clientID": "ClientID is the oauth client ID", + "clientSecret": "ClientSecret is the oauth client secret", + "organizations": "Organizations optionally restricts which organizations are allowed to log in", + "teams": "Teams optionally restricts which teams are allowed to log in. Format is /.", + "hostname": "Hostname is the optional domain (e.g. \"mycompany.com\") for use with a hosted instance of GitHub Enterprise. It must match the GitHub Enterprise settings value that is configured at /setup/settings#hostname.", + "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server. If empty, the default system roots are used. This can only be configured when hostname is set to a non-empty value.", +} + +func (GitHubIdentityProvider) SwaggerDoc() map[string]string { + return map_GitHubIdentityProvider +} + +var map_GitLabIdentityProvider = map[string]string{ + "": "GitLabIdentityProvider provides identities for users authenticating using GitLab credentials", + "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "url": "URL is the oauth server base URL", + "clientID": "ClientID is the oauth client ID", + "clientSecret": "ClientSecret is the oauth client secret", + "legacy": "Legacy determines if OAuth2 or OIDC should be used If true, OAuth2 is used If false, OIDC is used If nil and the URL's host is gitlab.com, OIDC is used Otherwise, OAuth2 is used In a future release, nil will default to using OIDC Eventually this flag will be removed and only OIDC will be used", +} + +func (GitLabIdentityProvider) SwaggerDoc() map[string]string { + return map_GitLabIdentityProvider +} + +var map_GoogleIdentityProvider = map[string]string{ + "": "GoogleIdentityProvider provides identities for users authenticating using Google credentials", + "clientID": "ClientID is the oauth client ID", + "clientSecret": "ClientSecret is the oauth client secret", + "hostedDomain": "HostedDomain is the optional Google App domain (e.g. \"mycompany.com\") to restrict logins to", +} + +func (GoogleIdentityProvider) SwaggerDoc() map[string]string { + return map_GoogleIdentityProvider +} + +var map_GrantConfig = map[string]string{ + "": "GrantConfig holds the necessary configuration options for grant handlers", + "method": "Method determines the default strategy to use when an OAuth client requests a grant. This method will be used only if the specific OAuth client doesn't provide a strategy of their own. Valid grant handling methods are:\n - auto: always approves grant requests, useful for trusted clients\n - prompt: prompts the end user for approval of grant requests, useful for third-party clients\n - deny: always denies grant requests, useful for black-listed clients", + "serviceAccountMethod": "ServiceAccountMethod is used for determining client authorization for service account oauth client. It must be either: deny, prompt", +} + +func (GrantConfig) SwaggerDoc() map[string]string { + return map_GrantConfig +} + +var map_GroupResource = map[string]string{ + "": "GroupResource points to a resource by its name and API group.", + "group": "Group is the name of an API group", + "resource": "Resource is the name of a resource.", +} + +func (GroupResource) SwaggerDoc() map[string]string { + return map_GroupResource +} + +var map_HTPasswdPasswordIdentityProvider = map[string]string{ + "": "HTPasswdPasswordIdentityProvider provides identities for users authenticating using htpasswd credentials", + "file": "File is a reference to your htpasswd file", +} + +func (HTPasswdPasswordIdentityProvider) SwaggerDoc() map[string]string { + return map_HTPasswdPasswordIdentityProvider +} + +var map_HTTPServingInfo = map[string]string{ + "": "HTTPServingInfo holds configuration for serving HTTP", + "maxRequestsInFlight": "MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit.", + "requestTimeoutSeconds": "RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if -1 there is no limit on requests.", +} + +func (HTTPServingInfo) SwaggerDoc() map[string]string { + return map_HTTPServingInfo +} + +var map_IdentityProvider = map[string]string{ + "": "IdentityProvider provides identities for users authenticating using credentials", + "name": "Name is used to qualify the identities returned by this provider", + "challenge": "UseAsChallenger indicates whether to issue WWW-Authenticate challenges for this provider", + "login": "UseAsLogin indicates whether to use this identity provider for unauthenticated browsers to login against", + "mappingMethod": "MappingMethod determines how identities from this provider are mapped to users", + "provider": "Provider contains the information about how to set up a specific identity provider", +} + +func (IdentityProvider) SwaggerDoc() map[string]string { + return map_IdentityProvider +} + +var map_ImageConfig = map[string]string{ + "": "ImageConfig holds the necessary configuration options for building image names for system components", + "format": "Format is the format of the name to be built for the system component", + "latest": "Latest determines if the latest tag will be pulled from the registry", +} + +func (ImageConfig) SwaggerDoc() map[string]string { + return map_ImageConfig +} + +var map_ImagePolicyConfig = map[string]string{ + "": "ImagePolicyConfig holds the necessary configuration options for limits and behavior for importing images", + "maxImagesBulkImportedPerRepository": "MaxImagesBulkImportedPerRepository controls the number of images that are imported when a user does a bulk import of a container repository. This number defaults to 50 to prevent users from importing large numbers of images accidentally. Set -1 for no limit.", + "disableScheduledImport": "DisableScheduledImport allows scheduled background import of images to be disabled.", + "scheduledImageImportMinimumIntervalSeconds": "ScheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams scheduled for background import are checked against the upstream repository. The default value is 15 minutes.", + "maxScheduledImageImportsPerMinute": "MaxScheduledImageImportsPerMinute is the maximum number of scheduled image streams that will be imported in the background per minute. The default value is 60. Set to -1 for unlimited.", + "allowedRegistriesForImport": "AllowedRegistriesForImport limits the container image registries that normal users may import images from. Set this list to the registries that you trust to contain valid Docker images and that you want applications to be able to import from. Users with permission to create Images or ImageStreamMappings via the API are not affected by this policy - typically only administrators or system integrations will have those permissions.", + "internalRegistryHostname": "InternalRegistryHostname sets the hostname for the default internal image registry. The value must be in \"hostname[:port]\" format. For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY environment variable but this setting overrides the environment variable.", + "externalRegistryHostname": "ExternalRegistryHostname sets the hostname for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", + "additionalTrustedCA": "AdditionalTrustedCA is a path to a pem bundle file containing additional CAs that should be trusted during imagestream import.", +} + +func (ImagePolicyConfig) SwaggerDoc() map[string]string { + return map_ImagePolicyConfig +} + +var map_JenkinsPipelineConfig = map[string]string{ + "": "JenkinsPipelineConfig holds configuration for the Jenkins pipeline strategy", + "autoProvisionEnabled": "AutoProvisionEnabled determines whether a Jenkins server will be spawned from the provided template when the first build config in the project with type JenkinsPipeline is created. When not specified this option defaults to true.", + "templateNamespace": "TemplateNamespace contains the namespace name where the Jenkins template is stored", + "templateName": "TemplateName is the name of the default Jenkins template", + "serviceName": "ServiceName is the name of the Jenkins service OpenShift uses to detect whether a Jenkins pipeline handler has already been installed in a project. This value *must* match a service name in the provided template.", + "parameters": "Parameters specifies a set of optional parameters to the Jenkins template.", +} + +func (JenkinsPipelineConfig) SwaggerDoc() map[string]string { + return map_JenkinsPipelineConfig +} + +var map_KeystonePasswordIdentityProvider = map[string]string{ + "": "KeystonePasswordIdentityProvider provides identities for users authenticating using keystone password credentials", + "domainName": "Domain Name is required for keystone v3", + "useKeystoneIdentity": "UseKeystoneIdentity flag indicates that user should be authenticated by keystone ID, not by username", +} + +func (KeystonePasswordIdentityProvider) SwaggerDoc() map[string]string { + return map_KeystonePasswordIdentityProvider +} + +var map_KubeletConnectionInfo = map[string]string{ + "": "KubeletConnectionInfo holds information necessary for connecting to a kubelet", + "port": "Port is the port to connect to kubelets on", + "ca": "CA is the CA for verifying TLS connections to kubelets", +} + +func (KubeletConnectionInfo) SwaggerDoc() map[string]string { + return map_KubeletConnectionInfo +} + +var map_KubernetesMasterConfig = map[string]string{ + "": "KubernetesMasterConfig holds the necessary configuration options for the Kubernetes master", + "apiLevels": "APILevels is a list of API levels that should be enabled on startup: v1 as examples", + "disabledAPIGroupVersions": "DisabledAPIGroupVersions is a map of groups to the versions (or *) that should be disabled.", + "masterIP": "MasterIP is the public IP address of kubernetes stuff. If empty, the first result from net.InterfaceAddrs will be used.", + "masterEndpointReconcileTTL": "MasterEndpointReconcileTTL sets the time to live in seconds of an endpoint record recorded by each master. The endpoints are checked at an interval that is 2/3 of this value and this value defaults to 15s if unset. In very large clusters, this value may be increased to reduce the possibility that the master endpoint record expires (due to other load on the etcd server) and causes masters to drop in and out of the kubernetes service record. It is not recommended to set this value below 15s.", + "servicesSubnet": "ServicesSubnet is the subnet to use for assigning service IPs", + "servicesNodePortRange": "ServicesNodePortRange is the range to use for assigning service public ports on a host.", + "schedulerConfigFile": "SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.", + "podEvictionTimeout": "PodEvictionTimeout controls grace period for deleting pods on failed nodes. It takes valid time duration string. If empty, you get the default pod eviction timeout.", + "proxyClientInfo": "ProxyClientInfo specifies the client cert/key to use when proxying to pods", + "apiServerArguments": "APIServerArguments are key value pairs that will be passed directly to the Kube apiserver that match the apiservers's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", + "controllerArguments": "ControllerArguments are key value pairs that will be passed directly to the Kube controller manager that match the controller manager's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", + "schedulerArguments": "SchedulerArguments are key value pairs that will be passed directly to the Kube scheduler that match the scheduler's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", +} + +func (KubernetesMasterConfig) SwaggerDoc() map[string]string { + return map_KubernetesMasterConfig +} + +var map_LDAPAttributeMapping = map[string]string{ + "": "LDAPAttributeMapping maps LDAP attributes to OpenShift identity fields", + "id": "ID is the list of attributes whose values should be used as the user ID. Required. LDAP standard identity attribute is \"dn\"", + "preferredUsername": "PreferredUsername is the list of attributes whose values should be used as the preferred username. LDAP standard login attribute is \"uid\"", + "name": "Name is the list of attributes whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity LDAP standard display name attribute is \"cn\"", + "email": "Email is the list of attributes whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", +} + +func (LDAPAttributeMapping) SwaggerDoc() map[string]string { + return map_LDAPAttributeMapping +} + +var map_LDAPPasswordIdentityProvider = map[string]string{ + "": "LDAPPasswordIdentityProvider provides identities for users authenticating using LDAP credentials", + "url": "URL is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is\n ldap://host:port/basedn?attribute?scope?filter", + "bindDN": "BindDN is an optional DN to bind with during the search phase.", + "bindPassword": "BindPassword is an optional password to bind with during the search phase.", + "insecure": "Insecure, if true, indicates the connection should not use TLS. Cannot be set to true with a URL scheme of \"ldaps://\" If false, \"ldaps://\" URLs connect using TLS, and \"ldap://\" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830", + "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "attributes": "Attributes maps LDAP attributes to identities", +} + +func (LDAPPasswordIdentityProvider) SwaggerDoc() map[string]string { + return map_LDAPPasswordIdentityProvider +} + +var map_LDAPQuery = map[string]string{ + "": "LDAPQuery holds the options necessary to build an LDAP query", + "baseDN": "The DN of the branch of the directory where all searches should start from", + "scope": "The (optional) scope of the search. Can be: base: only the base object, one: all object on the base level, sub: the entire subtree Defaults to the entire subtree if not set", + "derefAliases": "The (optional) behavior of the search with regards to alisases. Can be: never: never dereference aliases, search: only dereference in searching, base: only dereference in finding the base object, always: always dereference Defaults to always dereferencing if not set", + "timeout": "TimeLimit holds the limit of time in seconds that any request to the server can remain outstanding before the wait for a response is given up. If this is 0, no client-side limit is imposed", + "filter": "Filter is a valid LDAP search filter that retrieves all relevant entries from the LDAP server with the base DN", + "pageSize": "PageSize is the maximum preferred page size, measured in LDAP entries. A page size of 0 means no paging will be done.", +} + +func (LDAPQuery) SwaggerDoc() map[string]string { + return map_LDAPQuery +} + +var map_LDAPSyncConfig = map[string]string{ + "": "LDAPSyncConfig holds the necessary configuration options to define an LDAP group sync", + "url": "Host is the scheme, host and port of the LDAP server to connect to: scheme://host:port", + "bindDN": "BindDN is an optional DN to bind to the LDAP server with", + "bindPassword": "BindPassword is an optional password to bind with during the search phase.", + "insecure": "Insecure, if true, indicates the connection should not use TLS. Cannot be set to true with a URL scheme of \"ldaps://\" If false, \"ldaps://\" URLs connect using TLS, and \"ldap://\" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830", + "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "groupUIDNameMapping": "LDAPGroupUIDToOpenShiftGroupNameMapping is an optional direct mapping of LDAP group UIDs to OpenShift Group names", + "rfc2307": "RFC2307Config holds the configuration for extracting data from an LDAP server set up in a fashion similar to RFC2307: first-class group and user entries, with group membership determined by a multi-valued attribute on the group entry listing its members", + "activeDirectory": "ActiveDirectoryConfig holds the configuration for extracting data from an LDAP server set up in a fashion similar to that used in Active Directory: first-class user entries, with group membership determined by a multi-valued attribute on members listing groups they are a member of", + "augmentedActiveDirectory": "AugmentedActiveDirectoryConfig holds the configuration for extracting data from an LDAP server set up in a fashion similar to that used in Active Directory as described above, with one addition: first-class group entries exist and are used to hold metadata but not group membership", +} + +func (LDAPSyncConfig) SwaggerDoc() map[string]string { + return map_LDAPSyncConfig +} + +var map_LocalQuota = map[string]string{ + "": "LocalQuota contains options for controlling local volume quota on the node.", + "perFSGroup": "FSGroup can be specified to enable a quota on local storage use per unique FSGroup ID. At present this is only implemented for emptyDir volumes, and if the underlying volumeDirectory is on an XFS filesystem.", +} + +func (LocalQuota) SwaggerDoc() map[string]string { + return map_LocalQuota +} + +var map_MasterAuthConfig = map[string]string{ + "": "MasterAuthConfig configures authentication options in addition to the standard oauth token and client certificate authenticators", + "requestHeader": "RequestHeader holds options for setting up a front proxy against the the API. It is optional.", + "webhookTokenAuthenticators": "WebhookTokenAuthnConfig, if present configures remote token reviewers", + "oauthMetadataFile": "OAuthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization Server Metadata for an external OAuth server. See IETF Draft: // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 This option is mutually exclusive with OAuthConfig", +} + +func (MasterAuthConfig) SwaggerDoc() map[string]string { + return map_MasterAuthConfig +} + +var map_MasterClients = map[string]string{ + "": "MasterClients holds references to `.kubeconfig` files that qualify master clients for OpenShift and Kubernetes", + "openshiftLoopbackKubeConfig": "OpenShiftLoopbackKubeConfig is a .kubeconfig filename for system components to loopback to this master", + "openshiftLoopbackClientConnectionOverrides": "OpenShiftLoopbackClientConnectionOverrides specifies client overrides for system components to loop back to this master.", +} + +func (MasterClients) SwaggerDoc() map[string]string { + return map_MasterClients +} + +var map_MasterConfig = map[string]string{ + "": "MasterConfig holds the necessary configuration options for the OpenShift master", + "servingInfo": "ServingInfo describes how to start serving", + "authConfig": "AuthConfig configures authentication options in addition to the standard oauth token and client certificate authenticators", + "aggregatorConfig": "AggregatorConfig has options for configuring the aggregator component of the API server.", + "corsAllowedOrigins": "CORSAllowedOrigins", + "apiLevels": "APILevels is a list of API levels that should be enabled on startup: v1 as examples", + "masterPublicURL": "MasterPublicURL is how clients can access the OpenShift API server", + "controllers": "Controllers is a list of the controllers that should be started. If set to \"none\", no controllers will start automatically. The default value is \"*\" which will start all controllers. When using \"*\", you may exclude controllers by prepending a \"-\" in front of their name. No other values are recognized at this time.", + "admissionConfig": "AdmissionConfig contains admission control plugin configuration.", + "controllerConfig": "ControllerConfig holds configuration values for controllers", + "etcdStorageConfig": "EtcdStorageConfig contains information about how API resources are stored in Etcd. These values are only relevant when etcd is the backing store for the cluster.", + "etcdClientInfo": "EtcdClientInfo contains information about how to connect to etcd", + "kubeletClientInfo": "KubeletClientInfo contains information about how to connect to kubelets", + "kubernetesMasterConfig": "KubernetesMasterConfig, if present start the kubernetes master in this process", + "etcdConfig": "EtcdConfig, if present start etcd in this process", + "oauthConfig": "OAuthConfig, if present start the /oauth endpoint in this process", + "dnsConfig": "DNSConfig, if present start the DNS server in this process", + "serviceAccountConfig": "ServiceAccountConfig holds options related to service accounts", + "masterClients": "MasterClients holds all the client connection information for controllers and other system components", + "imageConfig": "ImageConfig holds options that describe how to build image names for system components", + "imagePolicyConfig": "ImagePolicyConfig controls limits and behavior for importing images", + "policyConfig": "PolicyConfig holds information about where to locate critical pieces of bootstrapping policy", + "projectConfig": "ProjectConfig holds information about project creation and defaults", + "routingConfig": "RoutingConfig holds information about routing and route generation", + "networkConfig": "NetworkConfig to be passed to the compiled in network plugin", + "volumeConfig": "MasterVolumeConfig contains options for configuring volume plugins in the master node.", + "jenkinsPipelineConfig": "JenkinsPipelineConfig holds information about the default Jenkins template used for JenkinsPipeline build strategy.", + "auditConfig": "AuditConfig holds information related to auditing capabilities.", +} + +func (MasterConfig) SwaggerDoc() map[string]string { + return map_MasterConfig +} + +var map_MasterNetworkConfig = map[string]string{ + "": "MasterNetworkConfig to be passed to the compiled in network plugin", + "networkPluginName": "NetworkPluginName is the name of the network plugin to use", + "clusterNetworkCIDR": "ClusterNetworkCIDR is the CIDR string to specify the global overlay network's L3 space. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead.", + "clusterNetworks": "ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. If this is specified, then ClusterNetworkCIDR and HostSubnetLength may not be set.", + "hostSubnetLength": "HostSubnetLength is the number of bits to allocate to each host's subnet e.g. 8 would mean a /24 network on the host. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead.", + "serviceNetworkCIDR": "ServiceNetwork is the CIDR string to specify the service networks", + "externalIPNetworkCIDRs": "ExternalIPNetworkCIDRs controls what values are acceptable for the service external IP field. If empty, no externalIP may be set. It may contain a list of CIDRs which are checked for access. If a CIDR is prefixed with !, IPs in that CIDR will be rejected. Rejections will be applied first, then the IP checked against one of the allowed CIDRs. You should ensure this range does not overlap with your nodes, pods, or service CIDRs for security reasons.", + "ingressIPNetworkCIDR": "IngressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare metal. If empty, ingress ips will not be assigned. It may contain a single CIDR that will be allocated from. For security reasons, you should ensure that this range does not overlap with the CIDRs reserved for external ips, nodes, pods, or services.", + "vxlanPort": "VXLANPort is the VXLAN port used by the cluster defaults. If it is not set, 4789 is the default value", +} + +func (MasterNetworkConfig) SwaggerDoc() map[string]string { + return map_MasterNetworkConfig +} + +var map_MasterVolumeConfig = map[string]string{ + "": "MasterVolumeConfig contains options for configuring volume plugins in the master node.", + "dynamicProvisioningEnabled": "DynamicProvisioningEnabled is a boolean that toggles dynamic provisioning off when false, defaults to true", +} + +func (MasterVolumeConfig) SwaggerDoc() map[string]string { + return map_MasterVolumeConfig +} + +var map_NamedCertificate = map[string]string{ + "": "NamedCertificate specifies a certificate/key, and the names it should be served for", + "names": "Names is a list of DNS names this certificate should be used to secure A name can be a normal DNS name, or can contain leading wildcard segments.", +} + +func (NamedCertificate) SwaggerDoc() map[string]string { + return map_NamedCertificate +} + +var map_NodeAuthConfig = map[string]string{ + "": "NodeAuthConfig holds authn/authz configuration options", + "authenticationCacheTTL": "AuthenticationCacheTTL indicates how long an authentication result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get the default timeout. If zero (e.g. \"0m\"), caching is disabled", + "authenticationCacheSize": "AuthenticationCacheSize indicates how many authentication results should be cached. If 0, the default cache size is used.", + "authorizationCacheTTL": "AuthorizationCacheTTL indicates how long an authorization result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get the default timeout. If zero (e.g. \"0m\"), caching is disabled", + "authorizationCacheSize": "AuthorizationCacheSize indicates how many authorization results should be cached. If 0, the default cache size is used.", +} + +func (NodeAuthConfig) SwaggerDoc() map[string]string { + return map_NodeAuthConfig +} + +var map_NodeConfig = map[string]string{ + "": "NodeConfig is the fully specified config starting an OpenShift node", + "nodeName": "NodeName is the value used to identify this particular node in the cluster. If possible, this should be your fully qualified hostname. If you're describing a set of static nodes to the master, this value must match one of the values in the list", + "nodeIP": "Node may have multiple IPs, specify the IP to use for pod traffic routing If not specified, network parse/lookup on the nodeName is performed and the first non-loopback address is used", + "servingInfo": "ServingInfo describes how to start serving", + "masterKubeConfig": "MasterKubeConfig is a filename for the .kubeconfig file that describes how to connect this node to the master", + "masterClientConnectionOverrides": "MasterClientConnectionOverrides provides overrides to the client connection used to connect to the master.", + "dnsDomain": "DNSDomain holds the domain suffix that will be used for the DNS search path inside each container. Defaults to 'cluster.local'.", + "dnsIP": "DNSIP is the IP address that pods will use to access cluster DNS. Defaults to the service IP of the Kubernetes master. This IP must be listening on port 53 for compatibility with libc resolvers (which cannot be configured to resolve names from any other port). When running more complex local DNS configurations, this is often set to the local address of a DNS proxy like dnsmasq, which then will consult either the local DNS (see dnsBindAddress) or the master DNS.", + "dnsBindAddress": "DNSBindAddress is the ip:port to serve DNS on. If this is not set, the DNS server will not be started. Because most DNS resolvers will only listen on port 53, if you select an alternative port you will need a DNS proxy like dnsmasq to answer queries for containers. A common configuration is dnsmasq configured on a node IP listening on 53 and delegating queries for dnsDomain to this process, while sending other queries to the host environments nameservers.", + "dnsNameservers": "DNSNameservers is a list of ip:port values of recursive nameservers to forward queries to when running a local DNS server if dnsBindAddress is set. If this value is empty, the DNS server will default to the nameservers listed in /etc/resolv.conf. If you have configured dnsmasq or another DNS proxy on the system, this value should be set to the upstream nameservers dnsmasq resolves with.", + "dnsRecursiveResolvConf": "DNSRecursiveResolvConf is a path to a resolv.conf file that contains settings for an upstream server. Only the nameservers and port fields are used. The file must exist and parse correctly. It adds extra nameservers to DNSNameservers if set.", + "networkPluginName": "Deprecated and maintained for backward compatibility, use NetworkConfig.NetworkPluginName instead", + "networkConfig": "NetworkConfig provides network options for the node", + "volumeDirectory": "VolumeDirectory is the directory that volumes will be stored under", + "imageConfig": "ImageConfig holds options that describe how to build image names for system components", + "allowDisabledDocker": "AllowDisabledDocker if true, the Kubelet will ignore errors from Docker. This means that a node can start on a machine that doesn't have docker started.", + "podManifestConfig": "PodManifestConfig holds the configuration for enabling the Kubelet to create pods based from a manifest file(s) placed locally on the node", + "authConfig": "AuthConfig holds authn/authz configuration options", + "dockerConfig": "DockerConfig holds Docker related configuration options.", + "kubeletArguments": "KubeletArguments are key value pairs that will be passed directly to the Kubelet that match the Kubelet's command line arguments. These are not migrated or validated, so if you use them they may become invalid. These values override other settings in NodeConfig which may cause invalid configurations.", + "proxyArguments": "ProxyArguments are key value pairs that will be passed directly to the Proxy that match the Proxy's command line arguments. These are not migrated or validated, so if you use them they may become invalid. These values override other settings in NodeConfig which may cause invalid configurations.", + "iptablesSyncPeriod": "IPTablesSyncPeriod is how often iptable rules are refreshed", + "enableUnidling": "EnableUnidling controls whether or not the hybrid unidling proxy will be set up", + "volumeConfig": "VolumeConfig contains options for configuring volumes on the node.", +} + +func (NodeConfig) SwaggerDoc() map[string]string { + return map_NodeConfig +} + +var map_NodeNetworkConfig = map[string]string{ + "": "NodeNetworkConfig provides network options for the node", + "networkPluginName": "NetworkPluginName is a string specifying the networking plugin", + "mtu": "Maximum transmission unit for the network packets", +} + +func (NodeNetworkConfig) SwaggerDoc() map[string]string { + return map_NodeNetworkConfig +} + +var map_NodeVolumeConfig = map[string]string{ + "": "NodeVolumeConfig contains options for configuring volumes on the node.", + "localQuota": "LocalQuota contains options for controlling local volume quota on the node.", +} + +func (NodeVolumeConfig) SwaggerDoc() map[string]string { + return map_NodeVolumeConfig +} + +var map_OAuthConfig = map[string]string{ + "": "OAuthConfig holds the necessary configuration options for OAuth authentication", + "masterCA": "MasterCA is the CA for verifying the TLS connection back to the MasterURL.", + "masterURL": "MasterURL is used for making server-to-server calls to exchange authorization codes for access tokens", + "masterPublicURL": "MasterPublicURL is used for building valid client redirect URLs for internal and external access", + "assetPublicURL": "AssetPublicURL is used for building valid client redirect URLs for external access", + "alwaysShowProviderSelection": "AlwaysShowProviderSelection will force the provider selection page to render even when there is only a single provider.", + "identityProviders": "IdentityProviders is an ordered list of ways for a user to identify themselves", + "grantConfig": "GrantConfig describes how to handle grants", + "sessionConfig": "SessionConfig hold information about configuring sessions.", + "tokenConfig": "TokenConfig contains options for authorization and access tokens", + "templates": "Templates allow you to customize pages like the login page.", +} + +func (OAuthConfig) SwaggerDoc() map[string]string { + return map_OAuthConfig +} + +var map_OAuthTemplates = map[string]string{ + "": "OAuthTemplates allow for customization of pages like the login page", + "login": "Login is a path to a file containing a go template used to render the login page. If unspecified, the default login page is used.", + "providerSelection": "ProviderSelection is a path to a file containing a go template used to render the provider selection page. If unspecified, the default provider selection page is used.", + "error": "Error is a path to a file containing a go template used to render error pages during the authentication or grant flow If unspecified, the default error page is used.", +} + +func (OAuthTemplates) SwaggerDoc() map[string]string { + return map_OAuthTemplates +} + +var map_OpenIDClaims = map[string]string{ + "": "OpenIDClaims contains a list of OpenID claims to use when authenticating with an OpenID identity provider", + "id": "ID is the list of claims whose values should be used as the user ID. Required. OpenID standard identity claim is \"sub\"", + "preferredUsername": "PreferredUsername is the list of claims whose values should be used as the preferred username. If unspecified, the preferred username is determined from the value of the id claim", + "name": "Name is the list of claims whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity", + "email": "Email is the list of claims whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", +} + +func (OpenIDClaims) SwaggerDoc() map[string]string { + return map_OpenIDClaims +} + +var map_OpenIDIdentityProvider = map[string]string{ + "": "OpenIDIdentityProvider provides identities for users authenticating using OpenID credentials", + "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "clientID": "ClientID is the oauth client ID", + "clientSecret": "ClientSecret is the oauth client secret", + "extraScopes": "ExtraScopes are any scopes to request in addition to the standard \"openid\" scope.", + "extraAuthorizeParameters": "ExtraAuthorizeParameters are any custom parameters to add to the authorize request.", + "urls": "URLs to use to authenticate", + "claims": "Claims mappings", +} + +func (OpenIDIdentityProvider) SwaggerDoc() map[string]string { + return map_OpenIDIdentityProvider +} + +var map_OpenIDURLs = map[string]string{ + "": "OpenIDURLs are URLs to use when authenticating with an OpenID identity provider", + "authorize": "Authorize is the oauth authorization URL", + "token": "Token is the oauth token granting URL", + "userInfo": "UserInfo is the optional userinfo URL. If present, a granted access_token is used to request claims If empty, a granted id_token is parsed for claims", +} + +func (OpenIDURLs) SwaggerDoc() map[string]string { + return map_OpenIDURLs +} + +var map_PodManifestConfig = map[string]string{ + "": "PodManifestConfig holds the necessary configuration options for using pod manifests", + "path": "Path specifies the path for the pod manifest file or directory If its a directory, its expected to contain on or more manifest files This is used by the Kubelet to create pods on the node", + "fileCheckIntervalSeconds": "FileCheckIntervalSeconds is the interval in seconds for checking the manifest file(s) for new data The interval needs to be a positive value", +} + +func (PodManifestConfig) SwaggerDoc() map[string]string { + return map_PodManifestConfig +} + +var map_PolicyConfig = map[string]string{ + "": "\n holds the necessary configuration options for", + "userAgentMatchingConfig": "UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", +} + +func (PolicyConfig) SwaggerDoc() map[string]string { + return map_PolicyConfig +} + +var map_ProjectConfig = map[string]string{ + "": "\n holds the necessary configuration options for", + "defaultNodeSelector": "DefaultNodeSelector holds default project node label selector", + "projectRequestMessage": "ProjectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint", + "projectRequestTemplate": "ProjectRequestTemplate is the template to use for creating projects in response to projectrequest. It is in the format namespace/template and it is optional. If it is not specified, a default template is used.", + "securityAllocator": "SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled.", +} + +func (ProjectConfig) SwaggerDoc() map[string]string { + return map_ProjectConfig +} + +var map_RFC2307Config = map[string]string{ + "": "RFC2307Config holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP server using the RFC2307 schema", + "groupsQuery": "AllGroupsQuery holds the template for an LDAP query that returns group entries.", + "groupUIDAttribute": "GroupUIDAttributes defines which attribute on an LDAP group entry will be interpreted as its unique identifier. (ldapGroupUID)", + "groupNameAttributes": "GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for an OpenShift group", + "groupMembershipAttributes": "GroupMembershipAttributes defines which attributes on an LDAP group entry will be interpreted as its members. The values contained in those attributes must be queryable by your UserUIDAttribute", + "usersQuery": "AllUsersQuery holds the template for an LDAP query that returns user entries.", + "userUIDAttribute": "UserUIDAttribute defines which attribute on an LDAP user entry will be interpreted as its unique identifier. It must correspond to values that will be found from the GroupMembershipAttributes", + "userNameAttributes": "UserNameAttributes defines which attributes on an LDAP user entry will be used, in order, as its OpenShift user name. The first attribute with a non-empty value is used. This should match your PreferredUsername setting for your LDAPPasswordIdentityProvider", + "tolerateMemberNotFoundErrors": "TolerateMemberNotFoundErrors determines the behavior of the LDAP sync job when missing user entries are encountered. If 'true', an LDAP query for users that doesn't find any will be tolerated and an only and error will be logged. If 'false', the LDAP sync job will fail if a query for users doesn't find any. The default value is 'false'. Misconfigured LDAP sync jobs with this flag set to 'true' can cause group membership to be removed, so it is recommended to use this flag with caution.", + "tolerateMemberOutOfScopeErrors": "TolerateMemberOutOfScopeErrors determines the behavior of the LDAP sync job when out-of-scope user entries are encountered. If 'true', an LDAP query for a user that falls outside of the base DN given for the all user query will be tolerated and only an error will be logged. If 'false', the LDAP sync job will fail if a user query would search outside of the base DN specified by the all user query. Misconfigured LDAP sync jobs with this flag set to 'true' can result in groups missing users, so it is recommended to use this flag with caution.", +} + +func (RFC2307Config) SwaggerDoc() map[string]string { + return map_RFC2307Config +} + +var map_RegistryLocation = map[string]string{ + "": "RegistryLocation contains a location of the registry specified by the registry domain name. The domain name might include wildcards, like '*' or '??'.", + "domainName": "DomainName specifies a domain name for the registry In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well.", + "insecure": "Insecure indicates whether the registry is secure (https) or insecure (http) By default (if not specified) the registry is assumed as secure.", +} + +func (RegistryLocation) SwaggerDoc() map[string]string { + return map_RegistryLocation +} + +var map_RemoteConnectionInfo = map[string]string{ + "": "RemoteConnectionInfo holds information necessary for establishing a remote connection", + "url": "URL is the remote URL to connect to", + "ca": "CA is the CA for verifying TLS connections", +} + +func (RemoteConnectionInfo) SwaggerDoc() map[string]string { + return map_RemoteConnectionInfo +} + +var map_RequestHeaderAuthenticationOptions = map[string]string{ + "": "RequestHeaderAuthenticationOptions provides options for setting up a front proxy against the entire API instead of against the /oauth endpoint.", + "clientCA": "ClientCA is a file with the trusted signer certs. It is required.", + "clientCommonNames": "ClientCommonNames is a required list of common names to require a match from.", + "usernameHeaders": "UsernameHeaders is the list of headers to check for user information. First hit wins.", + "groupHeaders": "GroupNameHeader is the set of headers to check for group information. All are unioned.", + "extraHeaderPrefixes": "ExtraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested.", +} + +func (RequestHeaderAuthenticationOptions) SwaggerDoc() map[string]string { + return map_RequestHeaderAuthenticationOptions +} + +var map_RequestHeaderIdentityProvider = map[string]string{ + "": "RequestHeaderIdentityProvider provides identities for users authenticating using request header credentials", + "loginURL": "LoginURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}", + "challengeURL": "ChallengeURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}", + "clientCA": "ClientCA is a file with the trusted signer certs. If empty, no request verification is done, and any direct request to the OAuth server can impersonate any identity from this provider, merely by setting a request header.", + "clientCommonNames": "ClientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative.", + "headers": "Headers is the set of headers to check for identity information", + "preferredUsernameHeaders": "PreferredUsernameHeaders is the set of headers to check for the preferred username", + "nameHeaders": "NameHeaders is the set of headers to check for the display name", + "emailHeaders": "EmailHeaders is the set of headers to check for the email address", +} + +func (RequestHeaderIdentityProvider) SwaggerDoc() map[string]string { + return map_RequestHeaderIdentityProvider +} + +var map_RoutingConfig = map[string]string{ + "": "RoutingConfig holds the necessary configuration options for routing to subdomains", + "subdomain": "Subdomain is the suffix appended to $service.$namespace. to form the default route hostname DEPRECATED: This field is being replaced by routers setting their own defaults. This is the \"default\" route.", +} + +func (RoutingConfig) SwaggerDoc() map[string]string { + return map_RoutingConfig +} + +var map_SecurityAllocator = map[string]string{ + "": "SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled.", + "uidAllocatorRange": "UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the ranges container images will use once user namespaces are started).", + "mcsAllocatorRange": "MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is \"/[,]\". The default is \"s0/2\" and will allocate from c0 -> c1023, which means a total of 535k labels are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default will allow the server to set them automatically.\n\nExamples: * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511", + "mcsLabelsPerProject": "MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS ranges (100k namespaces, 535k/5 labels).", +} + +func (SecurityAllocator) SwaggerDoc() map[string]string { + return map_SecurityAllocator +} + +var map_ServiceAccountConfig = map[string]string{ + "": "ServiceAccountConfig holds the necessary configuration options for a service account", + "managedNames": "ManagedNames is a list of service account names that will be auto-created in every namespace. If no names are specified, the ServiceAccountsController will not be started.", + "limitSecretReferences": "LimitSecretReferences controls whether or not to allow a service account to reference any secret in a namespace without explicitly referencing them", + "privateKeyFile": "PrivateKeyFile is a file containing a PEM-encoded private RSA key, used to sign service account tokens. If no private key is specified, the service account TokensController will not be started.", + "publicKeyFiles": "PublicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. (If any file contains a private key, the public portion of the key is used) The list of public keys is used to verify presented service account tokens. Each key is tried in order until the list is exhausted or verification succeeds. If no keys are specified, no service account authentication will be available.", + "masterCA": "MasterCA is the CA for verifying the TLS connection back to the master. The service account controller will automatically inject the contents of this file into pods so they can verify connections to the master.", +} + +func (ServiceAccountConfig) SwaggerDoc() map[string]string { + return map_ServiceAccountConfig +} + +var map_ServiceServingCert = map[string]string{ + "": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", + "signer": "Signer holds the signing information used to automatically sign serving certificates. If this value is nil, then certs are not signed automatically.", +} + +func (ServiceServingCert) SwaggerDoc() map[string]string { + return map_ServiceServingCert +} + +var map_ServingInfo = map[string]string{ + "": "ServingInfo holds information about serving web pages", + "bindAddress": "BindAddress is the ip:port to serve on", + "bindNetwork": "BindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", + "clientCA": "ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates", + "namedCertificates": "NamedCertificates is a list of certificates to use to secure requests to specific hostnames", + "minTLSVersion": "MinTLSVersion is the minimum TLS version supported. Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants", + "cipherSuites": "CipherSuites contains an overridden list of ciphers for the server to support. Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants", +} + +func (ServingInfo) SwaggerDoc() map[string]string { + return map_ServingInfo +} + +var map_SessionConfig = map[string]string{ + "": "SessionConfig specifies options for cookie-based sessions. Used by AuthRequestHandlerSession", + "sessionSecretsFile": "SessionSecretsFile is a reference to a file containing a serialized SessionSecrets object If no file is specified, a random signing and encryption key are generated at each server start", + "sessionMaxAgeSeconds": "SessionMaxAgeSeconds specifies how long created sessions last. Used by AuthRequestHandlerSession", + "sessionName": "SessionName is the cookie name used to store the session", +} + +func (SessionConfig) SwaggerDoc() map[string]string { + return map_SessionConfig +} + +var map_SessionSecret = map[string]string{ + "": "SessionSecret is a secret used to authenticate/decrypt cookie-based sessions", + "authentication": "Authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes.", + "encryption": "Encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES-", +} + +func (SessionSecret) SwaggerDoc() map[string]string { + return map_SessionSecret +} + +var map_SessionSecrets = map[string]string{ + "": "SessionSecrets list the secrets to use to sign/encrypt and authenticate/decrypt created sessions.", + "secrets": "Secrets is a list of secrets New sessions are signed and encrypted using the first secret. Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets.", +} + +func (SessionSecrets) SwaggerDoc() map[string]string { + return map_SessionSecrets +} + +var map_SourceStrategyDefaultsConfig = map[string]string{ + "": "SourceStrategyDefaultsConfig contains values that apply to builds using the source strategy.", + "incremental": "incremental indicates if s2i build strategies should perform an incremental build or not", +} + +func (SourceStrategyDefaultsConfig) SwaggerDoc() map[string]string { + return map_SourceStrategyDefaultsConfig +} + +var map_StringSource = map[string]string{ + "": "StringSource allows specifying a string inline, or externally via env var or file. When it contains only a string value, it marshals to a simple JSON string.", +} + +func (StringSource) SwaggerDoc() map[string]string { + return map_StringSource +} + +var map_StringSourceSpec = map[string]string{ + "": "StringSourceSpec specifies a string value, or external location", + "value": "Value specifies the cleartext value, or an encrypted value if keyFile is specified.", + "env": "Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified.", + "file": "File references a file containing the cleartext value, or an encrypted value if a keyFile is specified.", + "keyFile": "KeyFile references a file containing the key to use to decrypt the value.", +} + +func (StringSourceSpec) SwaggerDoc() map[string]string { + return map_StringSourceSpec +} + +var map_TokenConfig = map[string]string{ + "": "TokenConfig holds the necessary configuration options for authorization and access tokens", + "authorizeTokenMaxAgeSeconds": "AuthorizeTokenMaxAgeSeconds defines the maximum age of authorize tokens", + "accessTokenMaxAgeSeconds": "AccessTokenMaxAgeSeconds defines the maximum age of access tokens", + "accessTokenInactivityTimeoutSeconds": "AccessTokenInactivityTimeoutSeconds defined the default token inactivity timeout for tokens granted by any client. Setting it to nil means the feature is completely disabled (default) The default setting can be overriden on OAuthClient basis. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. Valid values are: - 0: Tokens never time out - X: Tokens time out if there is no activity for X seconds The current minimum allowed value for X is 300 (5 minutes)", +} + +func (TokenConfig) SwaggerDoc() map[string]string { + return map_TokenConfig +} + +var map_UserAgentDenyRule = map[string]string{ + "": "UserAgentDenyRule adds a rejection message that can be used to help a user figure out how to get an approved client", + "rejectionMessage": "RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used.", +} + +func (UserAgentDenyRule) SwaggerDoc() map[string]string { + return map_UserAgentDenyRule +} + +var map_UserAgentMatchRule = map[string]string{ + "": "UserAgentMatchRule describes how to match a given request based on User-Agent and HTTPVerb", + "regex": "UserAgentRegex is a regex that is checked against the User-Agent. Known variants of oc clients 1. oc accessing kube resources: oc/v1.2.0 (linux/amd64) kubernetes/bc4550d 2. oc accessing openshift resources: oc/v1.1.3 (linux/amd64) openshift/b348c2f 3. openshift kubectl accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d 4. openshift kubectl accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f 5. oadm accessing kube resources: oadm/v1.2.0 (linux/amd64) kubernetes/bc4550d 6. oadm accessing openshift resources: oadm/v1.1.3 (linux/amd64) openshift/b348c2f 7. openshift cli accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d 8. openshift cli accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f", + "httpVerbs": "HTTPVerbs specifies which HTTP verbs should be matched. An empty list means \"match all verbs\".", +} + +func (UserAgentMatchRule) SwaggerDoc() map[string]string { + return map_UserAgentMatchRule +} + +var map_UserAgentMatchingConfig = map[string]string{ + "": "UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", + "requiredClients": "If this list is non-empty, then a User-Agent must match one of the UserAgentRegexes to be allowed", + "deniedClients": "If this list is non-empty, then a User-Agent must not match any of the UserAgentRegexes", + "defaultRejectionMessage": "DefaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given.", +} + +func (UserAgentMatchingConfig) SwaggerDoc() map[string]string { + return map_UserAgentMatchingConfig +} + +var map_WebhookTokenAuthenticator = map[string]string{ + "": "WebhookTokenAuthenticators holds the necessary configuation options for external token authenticators", + "configFile": "ConfigFile is a path to a Kubeconfig file with the webhook configuration", + "cacheTTL": "CacheTTL indicates how long an authentication result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get a default timeout of 2 minutes. If zero (e.g. \"0m\"), caching is disabled", +} + +func (WebhookTokenAuthenticator) SwaggerDoc() map[string]string { + return map_WebhookTokenAuthenticator +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/network/OWNERS b/vendor/github.com/openshift/api/network/OWNERS new file mode 100644 index 000000000..279009f7a --- /dev/null +++ b/vendor/github.com/openshift/api/network/OWNERS @@ -0,0 +1,4 @@ +reviewers: + - danwinship + - dcbw + - knobunc diff --git a/vendor/github.com/openshift/api/network/install.go b/vendor/github.com/openshift/api/network/install.go new file mode 100644 index 000000000..85bc70623 --- /dev/null +++ b/vendor/github.com/openshift/api/network/install.go @@ -0,0 +1,26 @@ +package network + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + networkv1 "github.com/openshift/api/network/v1" +) + +const ( + GroupName = "network.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(networkv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/network/v1/constants.go b/vendor/github.com/openshift/api/network/v1/constants.go new file mode 100644 index 000000000..54c06f331 --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/constants.go @@ -0,0 +1,17 @@ +package v1 + +const ( + // Pod annotations + AssignMacvlanAnnotation = "pod.network.openshift.io/assign-macvlan" + + // HostSubnet annotations. (Note: should be "hostsubnet.network.openshift.io/", but the incorrect name is now part of the API.) + AssignHostSubnetAnnotation = "pod.network.openshift.io/assign-subnet" + FixedVNIDHostAnnotation = "pod.network.openshift.io/fixed-vnid-host" + NodeUIDAnnotation = "pod.network.openshift.io/node-uid" + + // NetNamespace annotations + MulticastEnabledAnnotation = "netnamespace.network.openshift.io/multicast-enabled" + + // ChangePodNetworkAnnotation is an annotation on NetNamespace to request change of pod network + ChangePodNetworkAnnotation string = "pod.network.openshift.io/multitenant.change-network" +) diff --git a/vendor/github.com/openshift/api/network/v1/doc.go b/vendor/github.com/openshift/api/network/v1/doc.go new file mode 100644 index 000000000..2816420d9 --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/network/apis/network +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=network.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/network/v1/generated.pb.go b/vendor/github.com/openshift/api/network/v1/generated.pb.go new file mode 100644 index 000000000..0e71b3891 --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/generated.pb.go @@ -0,0 +1,2684 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/network/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/network/v1/generated.proto + + It has these top-level messages: + ClusterNetwork + ClusterNetworkEntry + ClusterNetworkList + EgressNetworkPolicy + EgressNetworkPolicyList + EgressNetworkPolicyPeer + EgressNetworkPolicyRule + EgressNetworkPolicySpec + HostSubnet + HostSubnetList + NetNamespace + NetNamespaceList +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *ClusterNetwork) Reset() { *m = ClusterNetwork{} } +func (*ClusterNetwork) ProtoMessage() {} +func (*ClusterNetwork) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *ClusterNetworkEntry) Reset() { *m = ClusterNetworkEntry{} } +func (*ClusterNetworkEntry) ProtoMessage() {} +func (*ClusterNetworkEntry) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *ClusterNetworkList) Reset() { *m = ClusterNetworkList{} } +func (*ClusterNetworkList) ProtoMessage() {} +func (*ClusterNetworkList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *EgressNetworkPolicy) Reset() { *m = EgressNetworkPolicy{} } +func (*EgressNetworkPolicy) ProtoMessage() {} +func (*EgressNetworkPolicy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *EgressNetworkPolicyList) Reset() { *m = EgressNetworkPolicyList{} } +func (*EgressNetworkPolicyList) ProtoMessage() {} +func (*EgressNetworkPolicyList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *EgressNetworkPolicyPeer) Reset() { *m = EgressNetworkPolicyPeer{} } +func (*EgressNetworkPolicyPeer) ProtoMessage() {} +func (*EgressNetworkPolicyPeer) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *EgressNetworkPolicyRule) Reset() { *m = EgressNetworkPolicyRule{} } +func (*EgressNetworkPolicyRule) ProtoMessage() {} +func (*EgressNetworkPolicyRule) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } + +func (m *EgressNetworkPolicySpec) Reset() { *m = EgressNetworkPolicySpec{} } +func (*EgressNetworkPolicySpec) ProtoMessage() {} +func (*EgressNetworkPolicySpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } + +func (m *HostSubnet) Reset() { *m = HostSubnet{} } +func (*HostSubnet) ProtoMessage() {} +func (*HostSubnet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *HostSubnetList) Reset() { *m = HostSubnetList{} } +func (*HostSubnetList) ProtoMessage() {} +func (*HostSubnetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *NetNamespace) Reset() { *m = NetNamespace{} } +func (*NetNamespace) ProtoMessage() {} +func (*NetNamespace) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } + +func (m *NetNamespaceList) Reset() { *m = NetNamespaceList{} } +func (*NetNamespaceList) ProtoMessage() {} +func (*NetNamespaceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func init() { + proto.RegisterType((*ClusterNetwork)(nil), "github.com.openshift.api.network.v1.ClusterNetwork") + proto.RegisterType((*ClusterNetworkEntry)(nil), "github.com.openshift.api.network.v1.ClusterNetworkEntry") + proto.RegisterType((*ClusterNetworkList)(nil), "github.com.openshift.api.network.v1.ClusterNetworkList") + proto.RegisterType((*EgressNetworkPolicy)(nil), "github.com.openshift.api.network.v1.EgressNetworkPolicy") + proto.RegisterType((*EgressNetworkPolicyList)(nil), "github.com.openshift.api.network.v1.EgressNetworkPolicyList") + proto.RegisterType((*EgressNetworkPolicyPeer)(nil), "github.com.openshift.api.network.v1.EgressNetworkPolicyPeer") + proto.RegisterType((*EgressNetworkPolicyRule)(nil), "github.com.openshift.api.network.v1.EgressNetworkPolicyRule") + proto.RegisterType((*EgressNetworkPolicySpec)(nil), "github.com.openshift.api.network.v1.EgressNetworkPolicySpec") + proto.RegisterType((*HostSubnet)(nil), "github.com.openshift.api.network.v1.HostSubnet") + proto.RegisterType((*HostSubnetList)(nil), "github.com.openshift.api.network.v1.HostSubnetList") + proto.RegisterType((*NetNamespace)(nil), "github.com.openshift.api.network.v1.NetNamespace") + proto.RegisterType((*NetNamespaceList)(nil), "github.com.openshift.api.network.v1.NetNamespaceList") +} +func (m *ClusterNetwork) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterNetwork) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Network))) + i += copy(dAtA[i:], m.Network) + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.HostSubnetLength)) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ServiceNetwork))) + i += copy(dAtA[i:], m.ServiceNetwork) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.PluginName))) + i += copy(dAtA[i:], m.PluginName) + if len(m.ClusterNetworks) > 0 { + for _, msg := range m.ClusterNetworks { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.VXLANPort != nil { + dAtA[i] = 0x38 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.VXLANPort)) + } + return i, nil +} + +func (m *ClusterNetworkEntry) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterNetworkEntry) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CIDR))) + i += copy(dAtA[i:], m.CIDR) + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.HostSubnetLength)) + return i, nil +} + +func (m *ClusterNetworkList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterNetworkList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n2, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *EgressNetworkPolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EgressNetworkPolicy) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n3, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n4, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + return i, nil +} + +func (m *EgressNetworkPolicyList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EgressNetworkPolicyList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n5, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *EgressNetworkPolicyPeer) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EgressNetworkPolicyPeer) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CIDRSelector))) + i += copy(dAtA[i:], m.CIDRSelector) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DNSName))) + i += copy(dAtA[i:], m.DNSName) + return i, nil +} + +func (m *EgressNetworkPolicyRule) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EgressNetworkPolicyRule) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.To.Size())) + n6, err := m.To.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + return i, nil +} + +func (m *EgressNetworkPolicySpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EgressNetworkPolicySpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Egress) > 0 { + for _, msg := range m.Egress { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *HostSubnet) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HostSubnet) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n7, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) + i += copy(dAtA[i:], m.Host) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.HostIP))) + i += copy(dAtA[i:], m.HostIP) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Subnet))) + i += copy(dAtA[i:], m.Subnet) + if len(m.EgressIPs) > 0 { + for _, s := range m.EgressIPs { + dAtA[i] = 0x2a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.EgressCIDRs) > 0 { + for _, s := range m.EgressCIDRs { + dAtA[i] = 0x32 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *HostSubnetList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HostSubnetList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n8, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *NetNamespace) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NetNamespace) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n9, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.NetName))) + i += copy(dAtA[i:], m.NetName) + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.NetID)) + if len(m.EgressIPs) > 0 { + for _, s := range m.EgressIPs { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *NetNamespaceList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NetNamespaceList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n10, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *ClusterNetwork) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Network) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.HostSubnetLength)) + l = len(m.ServiceNetwork) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.PluginName) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.ClusterNetworks) > 0 { + for _, e := range m.ClusterNetworks { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.VXLANPort != nil { + n += 1 + sovGenerated(uint64(*m.VXLANPort)) + } + return n +} + +func (m *ClusterNetworkEntry) Size() (n int) { + var l int + _ = l + l = len(m.CIDR) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.HostSubnetLength)) + return n +} + +func (m *ClusterNetworkList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *EgressNetworkPolicy) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *EgressNetworkPolicyList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *EgressNetworkPolicyPeer) Size() (n int) { + var l int + _ = l + l = len(m.CIDRSelector) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DNSName) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *EgressNetworkPolicyRule) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = m.To.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *EgressNetworkPolicySpec) Size() (n int) { + var l int + _ = l + if len(m.Egress) > 0 { + for _, e := range m.Egress { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *HostSubnet) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Host) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.HostIP) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Subnet) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.EgressIPs) > 0 { + for _, s := range m.EgressIPs { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.EgressCIDRs) > 0 { + for _, s := range m.EgressCIDRs { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *HostSubnetList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *NetNamespace) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.NetName) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.NetID)) + if len(m.EgressIPs) > 0 { + for _, s := range m.EgressIPs { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *NetNamespaceList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *ClusterNetwork) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterNetwork{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Network:` + fmt.Sprintf("%v", this.Network) + `,`, + `HostSubnetLength:` + fmt.Sprintf("%v", this.HostSubnetLength) + `,`, + `ServiceNetwork:` + fmt.Sprintf("%v", this.ServiceNetwork) + `,`, + `PluginName:` + fmt.Sprintf("%v", this.PluginName) + `,`, + `ClusterNetworks:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ClusterNetworks), "ClusterNetworkEntry", "ClusterNetworkEntry", 1), `&`, ``, 1) + `,`, + `VXLANPort:` + valueToStringGenerated(this.VXLANPort) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterNetworkEntry) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterNetworkEntry{`, + `CIDR:` + fmt.Sprintf("%v", this.CIDR) + `,`, + `HostSubnetLength:` + fmt.Sprintf("%v", this.HostSubnetLength) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterNetworkList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterNetworkList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ClusterNetwork", "ClusterNetwork", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *EgressNetworkPolicy) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&EgressNetworkPolicy{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "EgressNetworkPolicySpec", "EgressNetworkPolicySpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *EgressNetworkPolicyList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&EgressNetworkPolicyList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "EgressNetworkPolicy", "EgressNetworkPolicy", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *EgressNetworkPolicyPeer) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&EgressNetworkPolicyPeer{`, + `CIDRSelector:` + fmt.Sprintf("%v", this.CIDRSelector) + `,`, + `DNSName:` + fmt.Sprintf("%v", this.DNSName) + `,`, + `}`, + }, "") + return s +} +func (this *EgressNetworkPolicyRule) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&EgressNetworkPolicyRule{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `To:` + strings.Replace(strings.Replace(this.To.String(), "EgressNetworkPolicyPeer", "EgressNetworkPolicyPeer", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *EgressNetworkPolicySpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&EgressNetworkPolicySpec{`, + `Egress:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Egress), "EgressNetworkPolicyRule", "EgressNetworkPolicyRule", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *HostSubnet) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&HostSubnet{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Host:` + fmt.Sprintf("%v", this.Host) + `,`, + `HostIP:` + fmt.Sprintf("%v", this.HostIP) + `,`, + `Subnet:` + fmt.Sprintf("%v", this.Subnet) + `,`, + `EgressIPs:` + fmt.Sprintf("%v", this.EgressIPs) + `,`, + `EgressCIDRs:` + fmt.Sprintf("%v", this.EgressCIDRs) + `,`, + `}`, + }, "") + return s +} +func (this *HostSubnetList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&HostSubnetList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "HostSubnet", "HostSubnet", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *NetNamespace) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NetNamespace{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `NetName:` + fmt.Sprintf("%v", this.NetName) + `,`, + `NetID:` + fmt.Sprintf("%v", this.NetID) + `,`, + `EgressIPs:` + fmt.Sprintf("%v", this.EgressIPs) + `,`, + `}`, + }, "") + return s +} +func (this *NetNamespaceList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NetNamespaceList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "NetNamespace", "NetNamespace", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *ClusterNetwork) 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 ErrIntOverflowGenerated + } + 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: ClusterNetwork: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterNetwork: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Network = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HostSubnetLength", wireType) + } + m.HostSubnetLength = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HostSubnetLength |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceNetwork", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServiceNetwork = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PluginName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PluginName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClusterNetworks", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClusterNetworks = append(m.ClusterNetworks, ClusterNetworkEntry{}) + if err := m.ClusterNetworks[len(m.ClusterNetworks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VXLANPort", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.VXLANPort = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterNetworkEntry) 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 ErrIntOverflowGenerated + } + 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: ClusterNetworkEntry: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterNetworkEntry: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CIDR", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CIDR = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HostSubnetLength", wireType) + } + m.HostSubnetLength = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HostSubnetLength |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterNetworkList) 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 ErrIntOverflowGenerated + } + 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: ClusterNetworkList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterNetworkList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, ClusterNetwork{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EgressNetworkPolicy) 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 ErrIntOverflowGenerated + } + 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: EgressNetworkPolicy: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EgressNetworkPolicy: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EgressNetworkPolicyList) 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 ErrIntOverflowGenerated + } + 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: EgressNetworkPolicyList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EgressNetworkPolicyList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, EgressNetworkPolicy{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EgressNetworkPolicyPeer) 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 ErrIntOverflowGenerated + } + 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: EgressNetworkPolicyPeer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EgressNetworkPolicyPeer: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CIDRSelector", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CIDRSelector = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DNSName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DNSName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EgressNetworkPolicyRule) 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 ErrIntOverflowGenerated + } + 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: EgressNetworkPolicyRule: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EgressNetworkPolicyRule: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = EgressNetworkPolicyRuleType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.To.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *EgressNetworkPolicySpec) 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 ErrIntOverflowGenerated + } + 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: EgressNetworkPolicySpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EgressNetworkPolicySpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Egress", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Egress = append(m.Egress, EgressNetworkPolicyRule{}) + if err := m.Egress[len(m.Egress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *HostSubnet) 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 ErrIntOverflowGenerated + } + 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: HostSubnet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HostSubnet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Host = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HostIP", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.HostIP = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Subnet", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Subnet = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EgressIPs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EgressIPs = append(m.EgressIPs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EgressCIDRs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EgressCIDRs = append(m.EgressCIDRs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *HostSubnetList) 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 ErrIntOverflowGenerated + } + 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: HostSubnetList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HostSubnetList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, HostSubnet{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NetNamespace) 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 ErrIntOverflowGenerated + } + 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: NetNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NetNamespace: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NetName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NetName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NetID", wireType) + } + m.NetID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NetID |= (uint32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EgressIPs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EgressIPs = append(m.EgressIPs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NetNamespaceList) 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 ErrIntOverflowGenerated + } + 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: NetNamespaceList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NetNamespaceList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, NetNamespace{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/network/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 959 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4f, 0x6f, 0xe3, 0x44, + 0x14, 0x8f, 0xd3, 0xa4, 0xdd, 0x4c, 0xda, 0xb4, 0x9a, 0x45, 0xac, 0x55, 0x24, 0x27, 0xf2, 0x4a, + 0x28, 0x68, 0x85, 0x4d, 0x5a, 0x84, 0x7a, 0x40, 0x20, 0xbc, 0xad, 0xb4, 0x91, 0x4a, 0x88, 0x26, + 0xd5, 0xaa, 0x42, 0x80, 0x70, 0x9d, 0x59, 0xc7, 0x34, 0xf1, 0x58, 0x9e, 0x49, 0x20, 0x42, 0xfc, + 0xfb, 0x06, 0x7c, 0x18, 0x3e, 0x00, 0x07, 0x0e, 0x3d, 0x70, 0xd8, 0x13, 0xec, 0x29, 0xa2, 0xe1, + 0xcc, 0x17, 0xe0, 0x84, 0x66, 0x3c, 0x8e, 0xed, 0xd6, 0x81, 0xa8, 0x68, 0x73, 0x4a, 0xe6, 0xfd, + 0xde, 0xdf, 0xf9, 0xbd, 0xf7, 0xc6, 0xe0, 0xd0, 0xf5, 0xd8, 0x60, 0x7c, 0x61, 0x38, 0x64, 0x64, + 0x92, 0x00, 0xfb, 0x74, 0xe0, 0x3d, 0x63, 0xa6, 0x1d, 0x78, 0xa6, 0x8f, 0xd9, 0x97, 0x24, 0xbc, + 0x34, 0x27, 0x2d, 0xd3, 0xc5, 0x3e, 0x0e, 0x6d, 0x86, 0xfb, 0x46, 0x10, 0x12, 0x46, 0xe0, 0xc3, + 0xc4, 0xc8, 0x58, 0x18, 0x19, 0x76, 0xe0, 0x19, 0xd2, 0xc8, 0x98, 0xb4, 0xf6, 0xdf, 0x4c, 0x79, + 0x76, 0x89, 0x4b, 0x4c, 0x61, 0x7b, 0x31, 0x7e, 0x26, 0x4e, 0xe2, 0x20, 0xfe, 0x45, 0x3e, 0xf7, + 0xdf, 0xbe, 0x3c, 0xa2, 0x86, 0x47, 0x78, 0xe8, 0x91, 0xed, 0x0c, 0x3c, 0x1f, 0x87, 0x53, 0x33, + 0xb8, 0x74, 0xb9, 0x80, 0x9a, 0x23, 0xcc, 0xec, 0x9c, 0x4c, 0xf6, 0xdf, 0x59, 0x66, 0x15, 0x8e, + 0x7d, 0xe6, 0x8d, 0xb0, 0x49, 0x9d, 0x01, 0x1e, 0xd9, 0xb7, 0xec, 0x0e, 0x97, 0xd9, 0x8d, 0x99, + 0x37, 0x34, 0x3d, 0x9f, 0x51, 0x16, 0xde, 0x34, 0xd2, 0x7f, 0x28, 0x81, 0xda, 0xe3, 0xe1, 0x98, + 0x32, 0x1c, 0x76, 0xa2, 0x3a, 0xe1, 0xe7, 0xe0, 0x1e, 0x4f, 0xad, 0x6f, 0x33, 0x5b, 0x55, 0x1a, + 0x4a, 0xb3, 0x7a, 0xf0, 0x96, 0x11, 0xb9, 0x36, 0xd2, 0xae, 0x8d, 0xe0, 0xd2, 0xe5, 0x02, 0x6a, + 0x70, 0x6d, 0x63, 0xd2, 0x32, 0x3e, 0xba, 0xf8, 0x02, 0x3b, 0xec, 0x43, 0xcc, 0x6c, 0x0b, 0x5e, + 0xcd, 0xea, 0x85, 0xf9, 0xac, 0x0e, 0x12, 0x19, 0x5a, 0x78, 0x85, 0x6f, 0x80, 0x2d, 0x79, 0xa9, + 0x6a, 0xb1, 0xa1, 0x34, 0x2b, 0xd6, 0xae, 0x54, 0xdf, 0x92, 0x39, 0xa0, 0x18, 0x87, 0xc7, 0x60, + 0x6f, 0x40, 0x28, 0xa3, 0xe3, 0x0b, 0x1f, 0xb3, 0x21, 0xf6, 0x5d, 0x36, 0x50, 0x37, 0x1a, 0x4a, + 0x73, 0xc7, 0x52, 0xa5, 0xcd, 0xde, 0x13, 0x42, 0x59, 0x4f, 0xe0, 0xa7, 0x02, 0x47, 0xb7, 0x2c, + 0xe0, 0x7b, 0xa0, 0x46, 0x71, 0x38, 0xf1, 0x1c, 0x2c, 0x03, 0xa8, 0x25, 0x11, 0xf7, 0x55, 0xe9, + 0xa3, 0xd6, 0xcb, 0xa0, 0xe8, 0x86, 0x36, 0x3c, 0x00, 0x20, 0x18, 0x8e, 0x5d, 0xcf, 0xef, 0xd8, + 0x23, 0xac, 0x96, 0x85, 0xed, 0xa2, 0xc4, 0xee, 0x02, 0x41, 0x29, 0x2d, 0xf8, 0x35, 0xd8, 0x75, + 0x32, 0x17, 0x4b, 0xd5, 0xcd, 0xc6, 0x46, 0xb3, 0x7a, 0x70, 0x64, 0xac, 0xd0, 0x6a, 0x46, 0x96, + 0x94, 0x13, 0x9f, 0x85, 0x53, 0xeb, 0x81, 0x0c, 0xb9, 0x9b, 0x05, 0x29, 0xba, 0x19, 0x09, 0x3e, + 0x02, 0x95, 0xc9, 0x57, 0x43, 0xdb, 0xef, 0x92, 0x90, 0xa9, 0x5b, 0xe2, 0xbe, 0x76, 0xe6, 0xb3, + 0x7a, 0xe5, 0xe9, 0xf9, 0xe9, 0x07, 0x1d, 0x2e, 0x44, 0x09, 0xae, 0x7f, 0x03, 0xee, 0xe7, 0x44, + 0x83, 0x0d, 0x50, 0x72, 0xbc, 0x7e, 0x28, 0x7a, 0xa0, 0x62, 0x6d, 0xcb, 0xd8, 0xa5, 0xc7, 0xed, + 0x63, 0x84, 0x04, 0x12, 0x93, 0x93, 0xbe, 0x7c, 0x41, 0xe8, 0x7f, 0x92, 0x93, 0x96, 0xe8, 0xbf, + 0x2a, 0x00, 0x66, 0xe3, 0x9f, 0x7a, 0x94, 0xc1, 0x4f, 0x6e, 0xb5, 0xa1, 0xb1, 0x5a, 0x1b, 0x72, + 0x6b, 0xd1, 0x84, 0x7b, 0x32, 0x89, 0x7b, 0xb1, 0x24, 0xd5, 0x82, 0xe7, 0xa0, 0xec, 0x31, 0x3c, + 0xa2, 0x6a, 0x51, 0x70, 0x72, 0x78, 0x07, 0x4e, 0xac, 0x1d, 0xe9, 0xbf, 0xdc, 0xe6, 0x9e, 0x50, + 0xe4, 0x50, 0xff, 0x5d, 0x01, 0xf7, 0x4f, 0xdc, 0x10, 0x53, 0x2a, 0xf5, 0xba, 0x64, 0xe8, 0x39, + 0xd3, 0x35, 0x8c, 0xd5, 0x67, 0xa0, 0x44, 0x03, 0xec, 0x08, 0x0a, 0xaa, 0x07, 0xef, 0xae, 0x54, + 0x52, 0x4e, 0xa6, 0xbd, 0x00, 0x3b, 0x09, 0xdd, 0xfc, 0x84, 0x84, 0x5f, 0xfd, 0x37, 0x05, 0x3c, + 0xc8, 0xd1, 0x5f, 0x03, 0x5b, 0x9f, 0x66, 0xd9, 0x3a, 0xba, 0x6b, 0x69, 0x4b, 0x28, 0xfb, 0x36, + 0xb7, 0xae, 0x2e, 0xc6, 0x21, 0x3c, 0x02, 0xdb, 0xbc, 0xd5, 0x7b, 0x78, 0x88, 0x1d, 0x46, 0xe2, + 0x61, 0x78, 0x45, 0xba, 0xd9, 0xe6, 0xc3, 0x10, 0x63, 0x28, 0xa3, 0xc9, 0x97, 0x5c, 0xdf, 0xa7, + 0x62, 0x61, 0xdc, 0x58, 0x72, 0xc7, 0x9d, 0x9e, 0xd8, 0x16, 0x31, 0xae, 0xff, 0x94, 0x7f, 0xb1, + 0x68, 0x3c, 0xc4, 0xf0, 0x7d, 0x50, 0x62, 0xd3, 0x00, 0xcb, 0xc0, 0x8f, 0x62, 0x5a, 0xce, 0xa6, + 0x01, 0xfe, 0x7b, 0x56, 0x7f, 0x6d, 0x89, 0x19, 0x87, 0x91, 0x30, 0x84, 0xe7, 0xa0, 0xc8, 0xc8, + 0xff, 0xed, 0x09, 0x7e, 0x17, 0x16, 0x90, 0xc1, 0x8b, 0x67, 0x04, 0x15, 0x19, 0xd1, 0xbf, 0xcb, + 0xcd, 0x9a, 0x37, 0x0c, 0xec, 0x83, 0x4d, 0x2c, 0x20, 0x55, 0x11, 0x8c, 0xdd, 0x39, 0x30, 0x2f, + 0xc6, 0xaa, 0xc9, 0xc0, 0x9b, 0x91, 0x02, 0x92, 0xbe, 0xf5, 0x9f, 0x8b, 0x00, 0x24, 0x0b, 0x66, + 0x0d, 0x13, 0xd6, 0x00, 0x25, 0xbe, 0xbe, 0x24, 0xa1, 0x8b, 0x19, 0xe1, 0x39, 0x20, 0x81, 0xc0, + 0xd7, 0xc1, 0x26, 0xff, 0x6d, 0x77, 0xc5, 0x2b, 0x55, 0x49, 0x52, 0x7f, 0x22, 0xa4, 0x48, 0xa2, + 0x5c, 0x2f, 0x7a, 0xa1, 0xe4, 0x4b, 0xb4, 0xd0, 0x8b, 0x6a, 0x41, 0x12, 0xe5, 0x8b, 0x3c, 0x2a, + 0xb6, 0xdd, 0xa5, 0x6a, 0xb9, 0xb1, 0xd1, 0xac, 0x44, 0x8b, 0xfc, 0x24, 0x16, 0xa2, 0x04, 0x87, + 0x2d, 0x50, 0x8d, 0x0e, 0xbc, 0x2d, 0xa3, 0xe7, 0xa6, 0x62, 0xed, 0xce, 0x67, 0xf5, 0xea, 0x49, + 0x22, 0x46, 0x69, 0x1d, 0xfd, 0x17, 0x05, 0xd4, 0x52, 0x3b, 0xfa, 0xe5, 0x8f, 0xf2, 0x59, 0x76, + 0x94, 0xcd, 0x95, 0x1a, 0x23, 0xc9, 0x70, 0xc9, 0x04, 0xff, 0xa5, 0x80, 0xed, 0x0e, 0x66, 0x7c, + 0x9a, 0x68, 0x60, 0x3b, 0x78, 0x6d, 0x1f, 0x31, 0x7e, 0xce, 0x7c, 0xcb, 0x44, 0x50, 0x8c, 0xc3, + 0x87, 0xa0, 0xec, 0x63, 0xe6, 0xf5, 0xe5, 0x97, 0xcb, 0xa2, 0x84, 0x0e, 0x66, 0xed, 0x63, 0x14, + 0x61, 0x59, 0xa6, 0x4b, 0xff, 0xce, 0xb4, 0x7e, 0xa5, 0x80, 0xbd, 0x74, 0xbd, 0x6b, 0x20, 0xee, + 0x69, 0x96, 0xb8, 0xd6, 0x4a, 0xc4, 0xa5, 0x73, 0xcc, 0xa7, 0xce, 0x6a, 0x5e, 0x5d, 0x6b, 0x85, + 0xe7, 0xd7, 0x5a, 0xe1, 0xc5, 0xb5, 0x56, 0xf8, 0x7e, 0xae, 0x29, 0x57, 0x73, 0x4d, 0x79, 0x3e, + 0xd7, 0x94, 0x17, 0x73, 0x4d, 0xf9, 0x63, 0xae, 0x29, 0x3f, 0xfe, 0xa9, 0x15, 0x3e, 0x2e, 0x4e, + 0x5a, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x50, 0xae, 0xec, 0x7e, 0xd8, 0x0b, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/network/v1/generated.proto b/vendor/github.com/openshift/api/network/v1/generated.proto new file mode 100644 index 000000000..cad2f165b --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/generated.proto @@ -0,0 +1,168 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.network.v1; + +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// ClusterNetwork describes the cluster network. There is normally only one object of this type, +// named "default", which is created by the SDN network plugin based on the master configuration +// when the cluster is brought up for the first time. +message ClusterNetwork { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Network is a CIDR string specifying the global overlay network's L3 space + optional string network = 2; + + // HostSubnetLength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods + optional uint32 hostsubnetlength = 3; + + // ServiceNetwork is the CIDR range that Service IP addresses are allocated from + optional string serviceNetwork = 4; + + // PluginName is the name of the network plugin being used + optional string pluginName = 5; + + // ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. + repeated ClusterNetworkEntry clusterNetworks = 6; + + // VXLANPort sets the VXLAN destination port used by the cluster. It is set by the master configuration file on startup and cannot be edited manually. Valid values for VXLANPort are integers 1-65535 inclusive and if unset defaults to 4789. Changing VXLANPort allows users to resolve issues between openshift SDN and other software trying to use the same VXLAN destination port. + optional uint32 vxlanPort = 7; +} + +// ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips. +message ClusterNetworkEntry { + // CIDR defines the total range of a cluster networks address space. + optional string cidr = 1; + + // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods. + optional uint32 hostSubnetLength = 2; +} + +// ClusterNetworkList is a collection of ClusterNetworks +message ClusterNetworkList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of cluster networks + repeated ClusterNetwork items = 2; +} + +// EgressNetworkPolicy describes the current egress network policy for a Namespace. When using +// the 'redhat/openshift-ovs-multitenant' network plugin, traffic from a pod to an IP address +// outside the cluster will be checked against each EgressNetworkPolicyRule in the pod's +// namespace's EgressNetworkPolicy, in order. If no rule matches (or no EgressNetworkPolicy +// is present) then the traffic will be allowed by default. +message EgressNetworkPolicy { + // metadata for EgressNetworkPolicy + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec is the specification of the current egress network policy + optional EgressNetworkPolicySpec spec = 2; +} + +// EgressNetworkPolicyList is a collection of EgressNetworkPolicy +message EgressNetworkPolicyList { + // metadata for EgressNetworkPolicyList + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is the list of policies + repeated EgressNetworkPolicy items = 2; +} + +// EgressNetworkPolicyPeer specifies a target to apply egress network policy to +message EgressNetworkPolicyPeer { + // cidrSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset + optional string cidrSelector = 1; + + // dnsName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset + optional string dnsName = 2; +} + +// EgressNetworkPolicyRule contains a single egress network policy rule +message EgressNetworkPolicyRule { + // type marks this as an "Allow" or "Deny" rule + optional string type = 1; + + // to is the target that traffic is allowed/denied to + optional EgressNetworkPolicyPeer to = 2; +} + +// EgressNetworkPolicySpec provides a list of policies on outgoing network traffic +message EgressNetworkPolicySpec { + // egress contains the list of egress policy rules + repeated EgressNetworkPolicyRule egress = 1; +} + +// HostSubnet describes the container subnet network on a node. The HostSubnet object must have the +// same name as the Node object it corresponds to. +message HostSubnet { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Host is the name of the node. (This is the same as the object's name, but both fields must be set.) + optional string host = 2; + + // HostIP is the IP address to be used as a VTEP by other nodes in the overlay network + optional string hostIP = 3; + + // Subnet is the CIDR range of the overlay network assigned to the node for its pods + optional string subnet = 4; + + // EgressIPs is the list of automatic egress IP addresses currently hosted by this node. + // If EgressCIDRs is empty, this can be set by hand; if EgressCIDRs is set then the + // master will overwrite the value here with its own allocation of egress IPs. + // +optional + repeated string egressIPs = 5; + + // EgressCIDRs is the list of CIDR ranges available for automatically assigning + // egress IPs to this node from. If this field is set then EgressIPs should be + // treated as read-only. + // +optional + repeated string egressCIDRs = 6; +} + +// HostSubnetList is a collection of HostSubnets +message HostSubnetList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of host subnets + repeated HostSubnet items = 2; +} + +// NetNamespace describes a single isolated network. When using the redhat/openshift-ovs-multitenant +// plugin, every Namespace will have a corresponding NetNamespace object with the same name. +// (When using redhat/openshift-ovs-subnet, NetNamespaces are not used.) +message NetNamespace { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // NetName is the name of the network namespace. (This is the same as the object's name, but both fields must be set.) + optional string netname = 2; + + // NetID is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the "oc adm pod-network" commands. + optional uint32 netid = 3; + + // EgressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. (If empty, external traffic will be masqueraded to Node IPs.) + // +optional + repeated string egressIPs = 4; +} + +// NetNamespaceList is a collection of NetNamespaces +message NetNamespaceList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of net namespaces + repeated NetNamespace items = 2; +} + diff --git a/vendor/github.com/openshift/api/network/v1/legacy.go b/vendor/github.com/openshift/api/network/v1/legacy.go new file mode 100644 index 000000000..4395ebf8e --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/legacy.go @@ -0,0 +1,27 @@ +package v1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &ClusterNetwork{}, + &ClusterNetworkList{}, + &HostSubnet{}, + &HostSubnetList{}, + &NetNamespace{}, + &NetNamespaceList{}, + &EgressNetworkPolicy{}, + &EgressNetworkPolicyList{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/network/v1/register.go b/vendor/github.com/openshift/api/network/v1/register.go new file mode 100644 index 000000000..80defa764 --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/register.go @@ -0,0 +1,44 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "network.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &ClusterNetwork{}, + &ClusterNetworkList{}, + &HostSubnet{}, + &HostSubnetList{}, + &NetNamespace{}, + &NetNamespaceList{}, + &EgressNetworkPolicy{}, + &EgressNetworkPolicyList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/network/v1/types.go b/vendor/github.com/openshift/api/network/v1/types.go new file mode 100644 index 000000000..941385439 --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/types.go @@ -0,0 +1,186 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + ClusterNetworkDefault = "default" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterNetwork describes the cluster network. There is normally only one object of this type, +// named "default", which is created by the SDN network plugin based on the master configuration +// when the cluster is brought up for the first time. +type ClusterNetwork struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Network is a CIDR string specifying the global overlay network's L3 space + Network string `json:"network,omitempty" protobuf:"bytes,2,opt,name=network"` + // HostSubnetLength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods + HostSubnetLength uint32 `json:"hostsubnetlength,omitempty" protobuf:"varint,3,opt,name=hostsubnetlength"` + // ServiceNetwork is the CIDR range that Service IP addresses are allocated from + ServiceNetwork string `json:"serviceNetwork" protobuf:"bytes,4,opt,name=serviceNetwork"` + // PluginName is the name of the network plugin being used + PluginName string `json:"pluginName,omitempty" protobuf:"bytes,5,opt,name=pluginName"` + // ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. + ClusterNetworks []ClusterNetworkEntry `json:"clusterNetworks" protobuf:"bytes,6,rep,name=clusterNetworks"` + // VXLANPort sets the VXLAN destination port used by the cluster. It is set by the master configuration file on startup and cannot be edited manually. Valid values for VXLANPort are integers 1-65535 inclusive and if unset defaults to 4789. Changing VXLANPort allows users to resolve issues between openshift SDN and other software trying to use the same VXLAN destination port. + VXLANPort *uint32 `json:"vxlanPort,omitempty" protobuf:"varint,7,opt,name=vxlanPort"` +} + +// ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips. +type ClusterNetworkEntry struct { + // CIDR defines the total range of a cluster networks address space. + CIDR string `json:"CIDR" protobuf:"bytes,1,opt,name=cidr"` + // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods. + HostSubnetLength uint32 `json:"hostSubnetLength" protobuf:"varint,2,opt,name=hostSubnetLength"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterNetworkList is a collection of ClusterNetworks +type ClusterNetworkList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of cluster networks + Items []ClusterNetwork `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// HostSubnet describes the container subnet network on a node. The HostSubnet object must have the +// same name as the Node object it corresponds to. +type HostSubnet struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Host is the name of the node. (This is the same as the object's name, but both fields must be set.) + Host string `json:"host" protobuf:"bytes,2,opt,name=host"` + // HostIP is the IP address to be used as a VTEP by other nodes in the overlay network + HostIP string `json:"hostIP" protobuf:"bytes,3,opt,name=hostIP"` + // Subnet is the CIDR range of the overlay network assigned to the node for its pods + Subnet string `json:"subnet" protobuf:"bytes,4,opt,name=subnet"` + + // EgressIPs is the list of automatic egress IP addresses currently hosted by this node. + // If EgressCIDRs is empty, this can be set by hand; if EgressCIDRs is set then the + // master will overwrite the value here with its own allocation of egress IPs. + // +optional + EgressIPs []string `json:"egressIPs,omitempty" protobuf:"bytes,5,rep,name=egressIPs"` + // EgressCIDRs is the list of CIDR ranges available for automatically assigning + // egress IPs to this node from. If this field is set then EgressIPs should be + // treated as read-only. + // +optional + EgressCIDRs []string `json:"egressCIDRs,omitempty" protobuf:"bytes,6,rep,name=egressCIDRs"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// HostSubnetList is a collection of HostSubnets +type HostSubnetList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of host subnets + Items []HostSubnet `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetNamespace describes a single isolated network. When using the redhat/openshift-ovs-multitenant +// plugin, every Namespace will have a corresponding NetNamespace object with the same name. +// (When using redhat/openshift-ovs-subnet, NetNamespaces are not used.) +type NetNamespace struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // NetName is the name of the network namespace. (This is the same as the object's name, but both fields must be set.) + NetName string `json:"netname" protobuf:"bytes,2,opt,name=netname"` + // NetID is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the "oc adm pod-network" commands. + NetID uint32 `json:"netid" protobuf:"varint,3,opt,name=netid"` + + // EgressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. (If empty, external traffic will be masqueraded to Node IPs.) + // +optional + EgressIPs []string `json:"egressIPs,omitempty" protobuf:"bytes,4,rep,name=egressIPs"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// NetNamespaceList is a collection of NetNamespaces +type NetNamespaceList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of net namespaces + Items []NetNamespace `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// EgressNetworkPolicyRuleType indicates whether an EgressNetworkPolicyRule allows or denies traffic +type EgressNetworkPolicyRuleType string + +const ( + EgressNetworkPolicyRuleAllow EgressNetworkPolicyRuleType = "Allow" + EgressNetworkPolicyRuleDeny EgressNetworkPolicyRuleType = "Deny" +) + +// EgressNetworkPolicyPeer specifies a target to apply egress network policy to +type EgressNetworkPolicyPeer struct { + // cidrSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset + CIDRSelector string `json:"cidrSelector,omitempty" protobuf:"bytes,1,rep,name=cidrSelector"` + // dnsName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset + DNSName string `json:"dnsName,omitempty" protobuf:"bytes,2,rep,name=dnsName"` +} + +// EgressNetworkPolicyRule contains a single egress network policy rule +type EgressNetworkPolicyRule struct { + // type marks this as an "Allow" or "Deny" rule + Type EgressNetworkPolicyRuleType `json:"type" protobuf:"bytes,1,rep,name=type"` + // to is the target that traffic is allowed/denied to + To EgressNetworkPolicyPeer `json:"to" protobuf:"bytes,2,rep,name=to"` +} + +// EgressNetworkPolicySpec provides a list of policies on outgoing network traffic +type EgressNetworkPolicySpec struct { + // egress contains the list of egress policy rules + Egress []EgressNetworkPolicyRule `json:"egress" protobuf:"bytes,1,rep,name=egress"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// EgressNetworkPolicy describes the current egress network policy for a Namespace. When using +// the 'redhat/openshift-ovs-multitenant' network plugin, traffic from a pod to an IP address +// outside the cluster will be checked against each EgressNetworkPolicyRule in the pod's +// namespace's EgressNetworkPolicy, in order. If no rule matches (or no EgressNetworkPolicy +// is present) then the traffic will be allowed by default. +type EgressNetworkPolicy struct { + metav1.TypeMeta `json:",inline"` + // metadata for EgressNetworkPolicy + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // spec is the specification of the current egress network policy + Spec EgressNetworkPolicySpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// EgressNetworkPolicyList is a collection of EgressNetworkPolicy +type EgressNetworkPolicyList struct { + metav1.TypeMeta `json:",inline"` + // metadata for EgressNetworkPolicyList + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // items is the list of policies + Items []EgressNetworkPolicy `json:"items" protobuf:"bytes,2,rep,name=items"` +} diff --git a/vendor/github.com/openshift/api/network/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/network/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..e44579796 --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/zz_generated.deepcopy.go @@ -0,0 +1,345 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterNetwork) DeepCopyInto(out *ClusterNetwork) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.ClusterNetworks != nil { + in, out := &in.ClusterNetworks, &out.ClusterNetworks + *out = make([]ClusterNetworkEntry, len(*in)) + copy(*out, *in) + } + if in.VXLANPort != nil { + in, out := &in.VXLANPort, &out.VXLANPort + if *in == nil { + *out = nil + } else { + *out = new(uint32) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetwork. +func (in *ClusterNetwork) DeepCopy() *ClusterNetwork { + if in == nil { + return nil + } + out := new(ClusterNetwork) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterNetwork) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterNetworkEntry) DeepCopyInto(out *ClusterNetworkEntry) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkEntry. +func (in *ClusterNetworkEntry) DeepCopy() *ClusterNetworkEntry { + if in == nil { + return nil + } + out := new(ClusterNetworkEntry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterNetworkList) DeepCopyInto(out *ClusterNetworkList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterNetwork, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkList. +func (in *ClusterNetworkList) DeepCopy() *ClusterNetworkList { + if in == nil { + return nil + } + out := new(ClusterNetworkList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterNetworkList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressNetworkPolicy) DeepCopyInto(out *EgressNetworkPolicy) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressNetworkPolicy. +func (in *EgressNetworkPolicy) DeepCopy() *EgressNetworkPolicy { + if in == nil { + return nil + } + out := new(EgressNetworkPolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EgressNetworkPolicy) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressNetworkPolicyList) DeepCopyInto(out *EgressNetworkPolicyList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]EgressNetworkPolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressNetworkPolicyList. +func (in *EgressNetworkPolicyList) DeepCopy() *EgressNetworkPolicyList { + if in == nil { + return nil + } + out := new(EgressNetworkPolicyList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *EgressNetworkPolicyList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressNetworkPolicyPeer) DeepCopyInto(out *EgressNetworkPolicyPeer) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressNetworkPolicyPeer. +func (in *EgressNetworkPolicyPeer) DeepCopy() *EgressNetworkPolicyPeer { + if in == nil { + return nil + } + out := new(EgressNetworkPolicyPeer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressNetworkPolicyRule) DeepCopyInto(out *EgressNetworkPolicyRule) { + *out = *in + out.To = in.To + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressNetworkPolicyRule. +func (in *EgressNetworkPolicyRule) DeepCopy() *EgressNetworkPolicyRule { + if in == nil { + return nil + } + out := new(EgressNetworkPolicyRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EgressNetworkPolicySpec) DeepCopyInto(out *EgressNetworkPolicySpec) { + *out = *in + if in.Egress != nil { + in, out := &in.Egress, &out.Egress + *out = make([]EgressNetworkPolicyRule, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressNetworkPolicySpec. +func (in *EgressNetworkPolicySpec) DeepCopy() *EgressNetworkPolicySpec { + if in == nil { + return nil + } + out := new(EgressNetworkPolicySpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HostSubnet) DeepCopyInto(out *HostSubnet) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.EgressIPs != nil { + in, out := &in.EgressIPs, &out.EgressIPs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.EgressCIDRs != nil { + in, out := &in.EgressCIDRs, &out.EgressCIDRs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSubnet. +func (in *HostSubnet) DeepCopy() *HostSubnet { + if in == nil { + return nil + } + out := new(HostSubnet) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HostSubnet) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HostSubnetList) DeepCopyInto(out *HostSubnetList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HostSubnet, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSubnetList. +func (in *HostSubnetList) DeepCopy() *HostSubnetList { + if in == nil { + return nil + } + out := new(HostSubnetList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HostSubnetList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetNamespace) DeepCopyInto(out *NetNamespace) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.EgressIPs != nil { + in, out := &in.EgressIPs, &out.EgressIPs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetNamespace. +func (in *NetNamespace) DeepCopy() *NetNamespace { + if in == nil { + return nil + } + out := new(NetNamespace) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetNamespace) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetNamespaceList) DeepCopyInto(out *NetNamespaceList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]NetNamespace, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetNamespaceList. +func (in *NetNamespaceList) DeepCopy() *NetNamespaceList { + if in == nil { + return nil + } + out := new(NetNamespaceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *NetNamespaceList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..71db34c99 --- /dev/null +++ b/vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,144 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_ClusterNetwork = map[string]string{ + "": "ClusterNetwork describes the cluster network. There is normally only one object of this type, named \"default\", which is created by the SDN network plugin based on the master configuration when the cluster is brought up for the first time.", + "metadata": "Standard object's metadata.", + "network": "Network is a CIDR string specifying the global overlay network's L3 space", + "hostsubnetlength": "HostSubnetLength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods", + "serviceNetwork": "ServiceNetwork is the CIDR range that Service IP addresses are allocated from", + "pluginName": "PluginName is the name of the network plugin being used", + "clusterNetworks": "ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from.", + "vxlanPort": "VXLANPort sets the VXLAN destination port used by the cluster. It is set by the master configuration file on startup and cannot be edited manually. Valid values for VXLANPort are integers 1-65535 inclusive and if unset defaults to 4789. Changing VXLANPort allows users to resolve issues between openshift SDN and other software trying to use the same VXLAN destination port.", +} + +func (ClusterNetwork) SwaggerDoc() map[string]string { + return map_ClusterNetwork +} + +var map_ClusterNetworkEntry = map[string]string{ + "": "ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips.", + "CIDR": "CIDR defines the total range of a cluster networks address space.", + "hostSubnetLength": "HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods.", +} + +func (ClusterNetworkEntry) SwaggerDoc() map[string]string { + return map_ClusterNetworkEntry +} + +var map_ClusterNetworkList = map[string]string{ + "": "ClusterNetworkList is a collection of ClusterNetworks", + "metadata": "Standard object's metadata.", + "items": "Items is the list of cluster networks", +} + +func (ClusterNetworkList) SwaggerDoc() map[string]string { + return map_ClusterNetworkList +} + +var map_EgressNetworkPolicy = map[string]string{ + "": "EgressNetworkPolicy describes the current egress network policy for a Namespace. When using the 'redhat/openshift-ovs-multitenant' network plugin, traffic from a pod to an IP address outside the cluster will be checked against each EgressNetworkPolicyRule in the pod's namespace's EgressNetworkPolicy, in order. If no rule matches (or no EgressNetworkPolicy is present) then the traffic will be allowed by default.", + "metadata": "metadata for EgressNetworkPolicy", + "spec": "spec is the specification of the current egress network policy", +} + +func (EgressNetworkPolicy) SwaggerDoc() map[string]string { + return map_EgressNetworkPolicy +} + +var map_EgressNetworkPolicyList = map[string]string{ + "": "EgressNetworkPolicyList is a collection of EgressNetworkPolicy", + "metadata": "metadata for EgressNetworkPolicyList", + "items": "items is the list of policies", +} + +func (EgressNetworkPolicyList) SwaggerDoc() map[string]string { + return map_EgressNetworkPolicyList +} + +var map_EgressNetworkPolicyPeer = map[string]string{ + "": "EgressNetworkPolicyPeer specifies a target to apply egress network policy to", + "cidrSelector": "cidrSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset", + "dnsName": "dnsName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset", +} + +func (EgressNetworkPolicyPeer) SwaggerDoc() map[string]string { + return map_EgressNetworkPolicyPeer +} + +var map_EgressNetworkPolicyRule = map[string]string{ + "": "EgressNetworkPolicyRule contains a single egress network policy rule", + "type": "type marks this as an \"Allow\" or \"Deny\" rule", + "to": "to is the target that traffic is allowed/denied to", +} + +func (EgressNetworkPolicyRule) SwaggerDoc() map[string]string { + return map_EgressNetworkPolicyRule +} + +var map_EgressNetworkPolicySpec = map[string]string{ + "": "EgressNetworkPolicySpec provides a list of policies on outgoing network traffic", + "egress": "egress contains the list of egress policy rules", +} + +func (EgressNetworkPolicySpec) SwaggerDoc() map[string]string { + return map_EgressNetworkPolicySpec +} + +var map_HostSubnet = map[string]string{ + "": "HostSubnet describes the container subnet network on a node. The HostSubnet object must have the same name as the Node object it corresponds to.", + "metadata": "Standard object's metadata.", + "host": "Host is the name of the node. (This is the same as the object's name, but both fields must be set.)", + "hostIP": "HostIP is the IP address to be used as a VTEP by other nodes in the overlay network", + "subnet": "Subnet is the CIDR range of the overlay network assigned to the node for its pods", + "egressIPs": "EgressIPs is the list of automatic egress IP addresses currently hosted by this node. If EgressCIDRs is empty, this can be set by hand; if EgressCIDRs is set then the master will overwrite the value here with its own allocation of egress IPs.", + "egressCIDRs": "EgressCIDRs is the list of CIDR ranges available for automatically assigning egress IPs to this node from. If this field is set then EgressIPs should be treated as read-only.", +} + +func (HostSubnet) SwaggerDoc() map[string]string { + return map_HostSubnet +} + +var map_HostSubnetList = map[string]string{ + "": "HostSubnetList is a collection of HostSubnets", + "metadata": "Standard object's metadata.", + "items": "Items is the list of host subnets", +} + +func (HostSubnetList) SwaggerDoc() map[string]string { + return map_HostSubnetList +} + +var map_NetNamespace = map[string]string{ + "": "NetNamespace describes a single isolated network. When using the redhat/openshift-ovs-multitenant plugin, every Namespace will have a corresponding NetNamespace object with the same name. (When using redhat/openshift-ovs-subnet, NetNamespaces are not used.)", + "metadata": "Standard object's metadata.", + "netname": "NetName is the name of the network namespace. (This is the same as the object's name, but both fields must be set.)", + "netid": "NetID is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the \"oc adm pod-network\" commands.", + "egressIPs": "EgressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. (If empty, external traffic will be masqueraded to Node IPs.)", +} + +func (NetNamespace) SwaggerDoc() map[string]string { + return map_NetNamespace +} + +var map_NetNamespaceList = map[string]string{ + "": "NetNamespaceList is a collection of NetNamespaces", + "metadata": "Standard object's metadata.", + "items": "Items is the list of net namespaces", +} + +func (NetNamespaceList) SwaggerDoc() map[string]string { + return map_NetNamespaceList +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/oauth/OWNERS b/vendor/github.com/openshift/api/oauth/OWNERS new file mode 100644 index 000000000..f0e98440a --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/OWNERS @@ -0,0 +1,2 @@ +reviewers: + - enj diff --git a/vendor/github.com/openshift/api/oauth/install.go b/vendor/github.com/openshift/api/oauth/install.go new file mode 100644 index 000000000..6bf63539d --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/install.go @@ -0,0 +1,26 @@ +package oauth + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + oauthv1 "github.com/openshift/api/oauth/v1" +) + +const ( + GroupName = "oauth.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(oauthv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/oauth/v1/doc.go b/vendor/github.com/openshift/api/oauth/v1/doc.go new file mode 100644 index 000000000..cae9e70d4 --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/oauth/apis/oauth +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=oauth.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/oauth/v1/generated.pb.go b/vendor/github.com/openshift/api/oauth/v1/generated.pb.go new file mode 100644 index 000000000..3f468b854 --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/generated.pb.go @@ -0,0 +1,3411 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/oauth/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/oauth/v1/generated.proto + + It has these top-level messages: + ClusterRoleScopeRestriction + OAuthAccessToken + OAuthAccessTokenList + OAuthAuthorizeToken + OAuthAuthorizeTokenList + OAuthClient + OAuthClientAuthorization + OAuthClientAuthorizationList + OAuthClientList + OAuthRedirectReference + RedirectReference + ScopeRestriction +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *ClusterRoleScopeRestriction) Reset() { *m = ClusterRoleScopeRestriction{} } +func (*ClusterRoleScopeRestriction) ProtoMessage() {} +func (*ClusterRoleScopeRestriction) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{0} +} + +func (m *OAuthAccessToken) Reset() { *m = OAuthAccessToken{} } +func (*OAuthAccessToken) ProtoMessage() {} +func (*OAuthAccessToken) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *OAuthAccessTokenList) Reset() { *m = OAuthAccessTokenList{} } +func (*OAuthAccessTokenList) ProtoMessage() {} +func (*OAuthAccessTokenList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *OAuthAuthorizeToken) Reset() { *m = OAuthAuthorizeToken{} } +func (*OAuthAuthorizeToken) ProtoMessage() {} +func (*OAuthAuthorizeToken) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *OAuthAuthorizeTokenList) Reset() { *m = OAuthAuthorizeTokenList{} } +func (*OAuthAuthorizeTokenList) ProtoMessage() {} +func (*OAuthAuthorizeTokenList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *OAuthClient) Reset() { *m = OAuthClient{} } +func (*OAuthClient) ProtoMessage() {} +func (*OAuthClient) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *OAuthClientAuthorization) Reset() { *m = OAuthClientAuthorization{} } +func (*OAuthClientAuthorization) ProtoMessage() {} +func (*OAuthClientAuthorization) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{6} +} + +func (m *OAuthClientAuthorizationList) Reset() { *m = OAuthClientAuthorizationList{} } +func (*OAuthClientAuthorizationList) ProtoMessage() {} +func (*OAuthClientAuthorizationList) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{7} +} + +func (m *OAuthClientList) Reset() { *m = OAuthClientList{} } +func (*OAuthClientList) ProtoMessage() {} +func (*OAuthClientList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *OAuthRedirectReference) Reset() { *m = OAuthRedirectReference{} } +func (*OAuthRedirectReference) ProtoMessage() {} +func (*OAuthRedirectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *RedirectReference) Reset() { *m = RedirectReference{} } +func (*RedirectReference) ProtoMessage() {} +func (*RedirectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } + +func (m *ScopeRestriction) Reset() { *m = ScopeRestriction{} } +func (*ScopeRestriction) ProtoMessage() {} +func (*ScopeRestriction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func init() { + proto.RegisterType((*ClusterRoleScopeRestriction)(nil), "github.com.openshift.api.oauth.v1.ClusterRoleScopeRestriction") + proto.RegisterType((*OAuthAccessToken)(nil), "github.com.openshift.api.oauth.v1.OAuthAccessToken") + proto.RegisterType((*OAuthAccessTokenList)(nil), "github.com.openshift.api.oauth.v1.OAuthAccessTokenList") + proto.RegisterType((*OAuthAuthorizeToken)(nil), "github.com.openshift.api.oauth.v1.OAuthAuthorizeToken") + proto.RegisterType((*OAuthAuthorizeTokenList)(nil), "github.com.openshift.api.oauth.v1.OAuthAuthorizeTokenList") + proto.RegisterType((*OAuthClient)(nil), "github.com.openshift.api.oauth.v1.OAuthClient") + proto.RegisterType((*OAuthClientAuthorization)(nil), "github.com.openshift.api.oauth.v1.OAuthClientAuthorization") + proto.RegisterType((*OAuthClientAuthorizationList)(nil), "github.com.openshift.api.oauth.v1.OAuthClientAuthorizationList") + proto.RegisterType((*OAuthClientList)(nil), "github.com.openshift.api.oauth.v1.OAuthClientList") + proto.RegisterType((*OAuthRedirectReference)(nil), "github.com.openshift.api.oauth.v1.OAuthRedirectReference") + proto.RegisterType((*RedirectReference)(nil), "github.com.openshift.api.oauth.v1.RedirectReference") + proto.RegisterType((*ScopeRestriction)(nil), "github.com.openshift.api.oauth.v1.ScopeRestriction") +} +func (m *ClusterRoleScopeRestriction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterRoleScopeRestriction) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.RoleNames) > 0 { + for _, s := range m.RoleNames { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Namespaces) > 0 { + for _, s := range m.Namespaces { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x18 + i++ + if m.AllowEscalation { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *OAuthAccessToken) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthAccessToken) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ClientName))) + i += copy(dAtA[i:], m.ClientName) + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ExpiresIn)) + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.RedirectURI))) + i += copy(dAtA[i:], m.RedirectURI) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserName))) + i += copy(dAtA[i:], m.UserName) + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserUID))) + i += copy(dAtA[i:], m.UserUID) + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.AuthorizeToken))) + i += copy(dAtA[i:], m.AuthorizeToken) + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.RefreshToken))) + i += copy(dAtA[i:], m.RefreshToken) + dAtA[i] = 0x50 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.InactivityTimeoutSeconds)) + return i, nil +} + +func (m *OAuthAccessTokenList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthAccessTokenList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n2, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *OAuthAuthorizeToken) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthAuthorizeToken) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n3, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ClientName))) + i += copy(dAtA[i:], m.ClientName) + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ExpiresIn)) + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.RedirectURI))) + i += copy(dAtA[i:], m.RedirectURI) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.State))) + i += copy(dAtA[i:], m.State) + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserName))) + i += copy(dAtA[i:], m.UserName) + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserUID))) + i += copy(dAtA[i:], m.UserUID) + dAtA[i] = 0x4a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CodeChallenge))) + i += copy(dAtA[i:], m.CodeChallenge) + dAtA[i] = 0x52 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CodeChallengeMethod))) + i += copy(dAtA[i:], m.CodeChallengeMethod) + return i, nil +} + +func (m *OAuthAuthorizeTokenList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthAuthorizeTokenList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n4, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *OAuthClient) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthClient) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n5, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Secret))) + i += copy(dAtA[i:], m.Secret) + if len(m.AdditionalSecrets) > 0 { + for _, s := range m.AdditionalSecrets { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x20 + i++ + if m.RespondWithChallenges { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.RedirectURIs) > 0 { + for _, s := range m.RedirectURIs { + dAtA[i] = 0x2a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.GrantMethod))) + i += copy(dAtA[i:], m.GrantMethod) + if len(m.ScopeRestrictions) > 0 { + for _, msg := range m.ScopeRestrictions { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.AccessTokenMaxAgeSeconds != nil { + dAtA[i] = 0x40 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.AccessTokenMaxAgeSeconds)) + } + if m.AccessTokenInactivityTimeoutSeconds != nil { + dAtA[i] = 0x48 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.AccessTokenInactivityTimeoutSeconds)) + } + return i, nil +} + +func (m *OAuthClientAuthorization) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthClientAuthorization) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n6, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ClientName))) + i += copy(dAtA[i:], m.ClientName) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserName))) + i += copy(dAtA[i:], m.UserName) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserUID))) + i += copy(dAtA[i:], m.UserUID) + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + dAtA[i] = 0x2a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *OAuthClientAuthorizationList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthClientAuthorizationList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n7, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *OAuthClientList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthClientList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n8, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *OAuthRedirectReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OAuthRedirectReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n9, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Reference.Size())) + n10, err := m.Reference.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + return i, nil +} + +func (m *RedirectReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RedirectReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Group))) + i += copy(dAtA[i:], m.Group) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind))) + i += copy(dAtA[i:], m.Kind) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + return i, nil +} + +func (m *ScopeRestriction) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ScopeRestriction) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.ExactValues) > 0 { + for _, s := range m.ExactValues { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if m.ClusterRole != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ClusterRole.Size())) + n11, err := m.ClusterRole.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *ClusterRoleScopeRestriction) Size() (n int) { + var l int + _ = l + if len(m.RoleNames) > 0 { + for _, s := range m.RoleNames { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Namespaces) > 0 { + for _, s := range m.Namespaces { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 2 + return n +} + +func (m *OAuthAccessToken) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ClientName) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.ExpiresIn)) + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.RedirectURI) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UserName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UserUID) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.AuthorizeToken) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.RefreshToken) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.InactivityTimeoutSeconds)) + return n +} + +func (m *OAuthAccessTokenList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *OAuthAuthorizeToken) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ClientName) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.ExpiresIn)) + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.RedirectURI) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.State) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UserName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UserUID) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.CodeChallenge) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.CodeChallengeMethod) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *OAuthAuthorizeTokenList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *OAuthClient) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Secret) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.AdditionalSecrets) > 0 { + for _, s := range m.AdditionalSecrets { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 2 + if len(m.RedirectURIs) > 0 { + for _, s := range m.RedirectURIs { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.GrantMethod) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.ScopeRestrictions) > 0 { + for _, e := range m.ScopeRestrictions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.AccessTokenMaxAgeSeconds != nil { + n += 1 + sovGenerated(uint64(*m.AccessTokenMaxAgeSeconds)) + } + if m.AccessTokenInactivityTimeoutSeconds != nil { + n += 1 + sovGenerated(uint64(*m.AccessTokenInactivityTimeoutSeconds)) + } + return n +} + +func (m *OAuthClientAuthorization) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ClientName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UserName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UserUID) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Scopes) > 0 { + for _, s := range m.Scopes { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *OAuthClientAuthorizationList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *OAuthClientList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *OAuthRedirectReference) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Reference.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RedirectReference) Size() (n int) { + var l int + _ = l + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ScopeRestriction) Size() (n int) { + var l int + _ = l + if len(m.ExactValues) > 0 { + for _, s := range m.ExactValues { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.ClusterRole != nil { + l = m.ClusterRole.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *ClusterRoleScopeRestriction) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterRoleScopeRestriction{`, + `RoleNames:` + fmt.Sprintf("%v", this.RoleNames) + `,`, + `Namespaces:` + fmt.Sprintf("%v", this.Namespaces) + `,`, + `AllowEscalation:` + fmt.Sprintf("%v", this.AllowEscalation) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthAccessToken) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthAccessToken{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `ClientName:` + fmt.Sprintf("%v", this.ClientName) + `,`, + `ExpiresIn:` + fmt.Sprintf("%v", this.ExpiresIn) + `,`, + `Scopes:` + fmt.Sprintf("%v", this.Scopes) + `,`, + `RedirectURI:` + fmt.Sprintf("%v", this.RedirectURI) + `,`, + `UserName:` + fmt.Sprintf("%v", this.UserName) + `,`, + `UserUID:` + fmt.Sprintf("%v", this.UserUID) + `,`, + `AuthorizeToken:` + fmt.Sprintf("%v", this.AuthorizeToken) + `,`, + `RefreshToken:` + fmt.Sprintf("%v", this.RefreshToken) + `,`, + `InactivityTimeoutSeconds:` + fmt.Sprintf("%v", this.InactivityTimeoutSeconds) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthAccessTokenList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthAccessTokenList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "OAuthAccessToken", "OAuthAccessToken", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthAuthorizeToken) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthAuthorizeToken{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `ClientName:` + fmt.Sprintf("%v", this.ClientName) + `,`, + `ExpiresIn:` + fmt.Sprintf("%v", this.ExpiresIn) + `,`, + `Scopes:` + fmt.Sprintf("%v", this.Scopes) + `,`, + `RedirectURI:` + fmt.Sprintf("%v", this.RedirectURI) + `,`, + `State:` + fmt.Sprintf("%v", this.State) + `,`, + `UserName:` + fmt.Sprintf("%v", this.UserName) + `,`, + `UserUID:` + fmt.Sprintf("%v", this.UserUID) + `,`, + `CodeChallenge:` + fmt.Sprintf("%v", this.CodeChallenge) + `,`, + `CodeChallengeMethod:` + fmt.Sprintf("%v", this.CodeChallengeMethod) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthAuthorizeTokenList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthAuthorizeTokenList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "OAuthAuthorizeToken", "OAuthAuthorizeToken", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthClient) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthClient{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Secret:` + fmt.Sprintf("%v", this.Secret) + `,`, + `AdditionalSecrets:` + fmt.Sprintf("%v", this.AdditionalSecrets) + `,`, + `RespondWithChallenges:` + fmt.Sprintf("%v", this.RespondWithChallenges) + `,`, + `RedirectURIs:` + fmt.Sprintf("%v", this.RedirectURIs) + `,`, + `GrantMethod:` + fmt.Sprintf("%v", this.GrantMethod) + `,`, + `ScopeRestrictions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ScopeRestrictions), "ScopeRestriction", "ScopeRestriction", 1), `&`, ``, 1) + `,`, + `AccessTokenMaxAgeSeconds:` + valueToStringGenerated(this.AccessTokenMaxAgeSeconds) + `,`, + `AccessTokenInactivityTimeoutSeconds:` + valueToStringGenerated(this.AccessTokenInactivityTimeoutSeconds) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthClientAuthorization) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthClientAuthorization{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `ClientName:` + fmt.Sprintf("%v", this.ClientName) + `,`, + `UserName:` + fmt.Sprintf("%v", this.UserName) + `,`, + `UserUID:` + fmt.Sprintf("%v", this.UserUID) + `,`, + `Scopes:` + fmt.Sprintf("%v", this.Scopes) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthClientAuthorizationList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthClientAuthorizationList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "OAuthClientAuthorization", "OAuthClientAuthorization", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthClientList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthClientList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "OAuthClient", "OAuthClient", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *OAuthRedirectReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&OAuthRedirectReference{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Reference:` + strings.Replace(strings.Replace(this.Reference.String(), "RedirectReference", "RedirectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RedirectReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RedirectReference{`, + `Group:` + fmt.Sprintf("%v", this.Group) + `,`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `}`, + }, "") + return s +} +func (this *ScopeRestriction) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ScopeRestriction{`, + `ExactValues:` + fmt.Sprintf("%v", this.ExactValues) + `,`, + `ClusterRole:` + strings.Replace(fmt.Sprintf("%v", this.ClusterRole), "ClusterRoleScopeRestriction", "ClusterRoleScopeRestriction", 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *ClusterRoleScopeRestriction) 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 ErrIntOverflowGenerated + } + 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: ClusterRoleScopeRestriction: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterRoleScopeRestriction: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RoleNames", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RoleNames = append(m.RoleNames, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespaces", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespaces = append(m.Namespaces, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowEscalation", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowEscalation = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthAccessToken) 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 ErrIntOverflowGenerated + } + 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: OAuthAccessToken: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthAccessToken: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClientName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpiresIn", wireType) + } + m.ExpiresIn = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpiresIn |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Scopes = append(m.Scopes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RedirectURI", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RedirectURI = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UserName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserUID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UserUID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AuthorizeToken", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AuthorizeToken = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RefreshToken", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RefreshToken = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InactivityTimeoutSeconds", wireType) + } + m.InactivityTimeoutSeconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InactivityTimeoutSeconds |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthAccessTokenList) 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 ErrIntOverflowGenerated + } + 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: OAuthAccessTokenList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthAccessTokenList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, OAuthAccessToken{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthAuthorizeToken) 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 ErrIntOverflowGenerated + } + 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: OAuthAuthorizeToken: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthAuthorizeToken: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClientName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpiresIn", wireType) + } + m.ExpiresIn = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpiresIn |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Scopes = append(m.Scopes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RedirectURI", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RedirectURI = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field State", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.State = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UserName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserUID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UserUID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CodeChallenge", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CodeChallenge = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CodeChallengeMethod", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CodeChallengeMethod = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthAuthorizeTokenList) 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 ErrIntOverflowGenerated + } + 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: OAuthAuthorizeTokenList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthAuthorizeTokenList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, OAuthAuthorizeToken{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthClient) 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 ErrIntOverflowGenerated + } + 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: OAuthClient: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthClient: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Secret = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdditionalSecrets", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AdditionalSecrets = append(m.AdditionalSecrets, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RespondWithChallenges", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.RespondWithChallenges = bool(v != 0) + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RedirectURIs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RedirectURIs = append(m.RedirectURIs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GrantMethod", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GrantMethod = GrantHandlerType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ScopeRestrictions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ScopeRestrictions = append(m.ScopeRestrictions, ScopeRestriction{}) + if err := m.ScopeRestrictions[len(m.ScopeRestrictions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AccessTokenMaxAgeSeconds", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AccessTokenMaxAgeSeconds = &v + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AccessTokenInactivityTimeoutSeconds", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AccessTokenInactivityTimeoutSeconds = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthClientAuthorization) 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 ErrIntOverflowGenerated + } + 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: OAuthClientAuthorization: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthClientAuthorization: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClientName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UserName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserUID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UserUID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scopes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Scopes = append(m.Scopes, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthClientAuthorizationList) 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 ErrIntOverflowGenerated + } + 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: OAuthClientAuthorizationList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthClientAuthorizationList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, OAuthClientAuthorization{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthClientList) 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 ErrIntOverflowGenerated + } + 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: OAuthClientList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthClientList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, OAuthClient{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OAuthRedirectReference) 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 ErrIntOverflowGenerated + } + 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: OAuthRedirectReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OAuthRedirectReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reference", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Reference.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RedirectReference) 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 ErrIntOverflowGenerated + } + 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: RedirectReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RedirectReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ScopeRestriction) 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 ErrIntOverflowGenerated + } + 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: ScopeRestriction: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ScopeRestriction: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExactValues", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExactValues = append(m.ExactValues, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClusterRole", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ClusterRole == nil { + m.ClusterRole = &ClusterRoleScopeRestriction{} + } + if err := m.ClusterRole.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/oauth/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 1250 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xce, 0x26, 0x71, 0x62, 0x8f, 0x9b, 0x5f, 0x93, 0xa6, 0x5d, 0xda, 0x62, 0x1b, 0x47, 0xa2, + 0x41, 0xc0, 0x9a, 0xa4, 0xa5, 0xaa, 0x54, 0xa9, 0x92, 0x1d, 0xaa, 0x12, 0x41, 0x5a, 0x69, 0xdc, + 0x40, 0x05, 0x3d, 0x74, 0xba, 0xfb, 0x62, 0x0f, 0x59, 0xef, 0x2e, 0x33, 0xe3, 0xd0, 0xa0, 0x1e, + 0xb8, 0x70, 0xe7, 0x1f, 0xe1, 0xc2, 0x9d, 0x03, 0x12, 0x87, 0x9e, 0x50, 0x0f, 0x1c, 0x7a, 0xb2, + 0x88, 0x11, 0xff, 0x04, 0x27, 0xb4, 0xb3, 0xeb, 0xfd, 0x61, 0x7b, 0xb1, 0x73, 0x89, 0x38, 0x70, + 0xdb, 0x7d, 0xdf, 0xf7, 0xbd, 0xf9, 0xf5, 0xbe, 0x37, 0xbb, 0x68, 0xbb, 0xc5, 0x64, 0xbb, 0xfb, + 0xcc, 0x30, 0xdd, 0x4e, 0xcd, 0xf5, 0xc0, 0x11, 0x6d, 0x76, 0x28, 0x6b, 0xd4, 0x63, 0x35, 0x97, + 0x76, 0x65, 0xbb, 0x76, 0xbc, 0x5d, 0x6b, 0x81, 0x03, 0x9c, 0x4a, 0xb0, 0x0c, 0x8f, 0xbb, 0xd2, + 0xc5, 0x6f, 0xc5, 0x12, 0x23, 0x92, 0x18, 0xd4, 0x63, 0x86, 0x92, 0x18, 0xc7, 0xdb, 0x57, 0xde, + 0x4f, 0x64, 0x6d, 0xb9, 0x2d, 0xb7, 0xa6, 0x94, 0xcf, 0xba, 0x87, 0xea, 0x4d, 0xbd, 0xa8, 0xa7, + 0x20, 0xe3, 0x95, 0xea, 0xd1, 0x6d, 0x61, 0x30, 0x57, 0x0d, 0x6b, 0xba, 0x1c, 0xc6, 0x8c, 0x7a, + 0xe5, 0x66, 0xcc, 0xe9, 0x50, 0xb3, 0xcd, 0x1c, 0xe0, 0x27, 0x35, 0xef, 0xa8, 0xe5, 0x07, 0x44, + 0xad, 0x03, 0x92, 0x8e, 0x53, 0xd5, 0xb2, 0x54, 0xbc, 0xeb, 0x48, 0xd6, 0x81, 0x11, 0xc1, 0xad, + 0x49, 0x02, 0x61, 0xb6, 0xa1, 0x43, 0x47, 0x74, 0x37, 0xb2, 0x74, 0x5d, 0xc9, 0xec, 0x1a, 0x73, + 0xa4, 0x90, 0x7c, 0x58, 0x54, 0xfd, 0x59, 0x43, 0x57, 0x77, 0xed, 0xae, 0x90, 0xc0, 0x89, 0x6b, + 0x43, 0xd3, 0x74, 0x3d, 0x20, 0x20, 0x24, 0x67, 0xa6, 0x64, 0xae, 0x83, 0xdf, 0x45, 0x05, 0xee, + 0xda, 0xf0, 0x80, 0x76, 0x40, 0xe8, 0x5a, 0x65, 0x6e, 0xab, 0xd0, 0x58, 0xea, 0xf7, 0xca, 0x05, + 0x32, 0x08, 0x92, 0x18, 0xc7, 0x06, 0x42, 0x8e, 0xff, 0xe0, 0x51, 0x13, 0x84, 0x3e, 0xab, 0xd8, + 0xcb, 0xfd, 0x5e, 0x19, 0x3d, 0x88, 0xa2, 0x24, 0xc1, 0xc0, 0x75, 0xb4, 0x42, 0x6d, 0xdb, 0xfd, + 0xe6, 0x9e, 0x30, 0xa9, 0x4d, 0xfd, 0xf1, 0xf4, 0xb9, 0x8a, 0xb6, 0x95, 0x6f, 0x5c, 0x7e, 0xd9, + 0x2b, 0xcf, 0xf4, 0x7b, 0xe5, 0x95, 0x7a, 0x1a, 0x26, 0xc3, 0xfc, 0xea, 0x5f, 0xf3, 0x68, 0xf5, + 0x61, 0xbd, 0x2b, 0xdb, 0x75, 0xd3, 0x04, 0x21, 0x1e, 0xb9, 0x47, 0xe0, 0xe0, 0xa7, 0x28, 0xef, + 0x9f, 0x86, 0x45, 0x25, 0xd5, 0xb5, 0x8a, 0xb6, 0x55, 0xdc, 0xf9, 0xc0, 0x08, 0x36, 0xc7, 0x48, + 0x6e, 0x8e, 0xe1, 0x1d, 0xb5, 0xfc, 0x80, 0x30, 0x7c, 0xb6, 0x71, 0xbc, 0x6d, 0x3c, 0x7c, 0xf6, + 0x15, 0x98, 0x72, 0x1f, 0x24, 0x6d, 0xe0, 0x70, 0x0a, 0x28, 0x8e, 0x91, 0x28, 0x2b, 0xde, 0x41, + 0xc8, 0xb4, 0x19, 0x38, 0xd2, 0x5f, 0x99, 0x3e, 0x5b, 0xd1, 0xb6, 0x0a, 0xb1, 0x62, 0x37, 0x42, + 0x48, 0x82, 0x85, 0x6b, 0xa8, 0x00, 0xcf, 0x3d, 0xc6, 0x41, 0xec, 0x05, 0xeb, 0x9c, 0x6b, 0xac, + 0x85, 0x92, 0xc2, 0xbd, 0x01, 0x40, 0x62, 0x0e, 0xae, 0xa2, 0x05, 0xe1, 0x9f, 0x87, 0xd0, 0xe7, + 0xd5, 0x56, 0xa2, 0x7e, 0xaf, 0xbc, 0xa0, 0x4e, 0x48, 0x90, 0x10, 0xc1, 0x1f, 0xa2, 0x22, 0x07, + 0x8b, 0x71, 0x30, 0xe5, 0x01, 0xd9, 0xd3, 0x73, 0x6a, 0x26, 0xeb, 0x61, 0xda, 0x22, 0x89, 0x21, + 0x92, 0xe4, 0xe1, 0xf7, 0x50, 0xbe, 0x2b, 0x80, 0xab, 0xd9, 0x2f, 0x28, 0xcd, 0x6a, 0xa8, 0xc9, + 0x1f, 0x84, 0x71, 0x12, 0x31, 0xf0, 0x3b, 0x68, 0xd1, 0x7f, 0x3e, 0xd8, 0xfb, 0x48, 0x5f, 0x54, + 0xe4, 0x95, 0x90, 0xbc, 0x78, 0x10, 0x84, 0xc9, 0x00, 0xc7, 0x77, 0xd1, 0xb2, 0xef, 0x40, 0x97, + 0xb3, 0x6f, 0x41, 0x1d, 0x86, 0x9e, 0x57, 0x8a, 0x4b, 0xa1, 0x62, 0xb9, 0x9e, 0x42, 0xc9, 0x10, + 0x1b, 0xdf, 0x46, 0x17, 0x38, 0x1c, 0x72, 0x10, 0xed, 0x40, 0x5d, 0x50, 0xea, 0x8b, 0xa1, 0xfa, + 0x02, 0x49, 0x60, 0x24, 0xc5, 0xc4, 0x4f, 0x90, 0xce, 0x1c, 0x6a, 0x4a, 0x76, 0xcc, 0xe4, 0xc9, + 0x23, 0xd6, 0x01, 0xb7, 0x2b, 0x9b, 0x60, 0xba, 0x8e, 0x25, 0x74, 0x54, 0xd1, 0xb6, 0x72, 0x8d, + 0x4a, 0x98, 0x45, 0xdf, 0xcb, 0xe0, 0x91, 0xcc, 0x0c, 0xd5, 0xdf, 0x34, 0x74, 0x71, 0xb8, 0xce, + 0x3e, 0x65, 0x42, 0xe2, 0x27, 0x23, 0xb5, 0x66, 0x4c, 0x57, 0x6b, 0xbe, 0x5a, 0x55, 0x5a, 0xb4, + 0xf3, 0x83, 0x48, 0xa2, 0xce, 0x1e, 0xa3, 0x1c, 0x93, 0xd0, 0x09, 0xcc, 0x54, 0xdc, 0xb9, 0x61, + 0x4c, 0x6c, 0x7c, 0xc6, 0xf0, 0x2c, 0x1b, 0x4b, 0x61, 0xfe, 0xdc, 0x9e, 0x9f, 0x89, 0x04, 0x09, + 0xab, 0xbf, 0xcc, 0xa3, 0xf5, 0x80, 0x9a, 0x3e, 0x80, 0xff, 0xbd, 0x33, 0xc9, 0x3b, 0x9b, 0x28, + 0x27, 0x24, 0x95, 0x03, 0xe3, 0x44, 0xdb, 0xdb, 0xf4, 0x83, 0x24, 0xc0, 0x52, 0x06, 0x5b, 0x3c, + 0x8b, 0xc1, 0xf2, 0x13, 0x0c, 0x76, 0x07, 0x2d, 0x99, 0xae, 0x05, 0xbb, 0x6d, 0x6a, 0xdb, 0xe0, + 0xb4, 0x20, 0x74, 0xc8, 0x46, 0x28, 0x58, 0xda, 0x4d, 0x82, 0x24, 0xcd, 0xc5, 0xfb, 0x68, 0x3d, + 0x15, 0xd8, 0x07, 0xd9, 0x76, 0x2d, 0x65, 0x8f, 0x42, 0xe3, 0x6a, 0x98, 0x62, 0x7d, 0x77, 0x94, + 0x42, 0xc6, 0xe9, 0xaa, 0xbf, 0x6b, 0xe8, 0xf2, 0x98, 0x1a, 0x3a, 0x07, 0x5f, 0x7c, 0x99, 0xf6, + 0xc5, 0xad, 0xa9, 0x7d, 0x91, 0x9a, 0x68, 0x86, 0x35, 0xbe, 0x5f, 0x40, 0x45, 0xc5, 0x0e, 0x8a, + 0xf1, 0x1c, 0x2c, 0xf1, 0x36, 0x5a, 0x10, 0x60, 0x72, 0x90, 0xa1, 0x1d, 0x96, 0x43, 0xf6, 0x42, + 0x53, 0x45, 0x49, 0x88, 0xe2, 0x5d, 0xb4, 0x46, 0x2d, 0x8b, 0xf9, 0x37, 0x1f, 0xb5, 0x03, 0x4c, + 0xe8, 0x73, 0xaa, 0xc0, 0x37, 0xfa, 0xbd, 0xf2, 0x5a, 0x7d, 0x18, 0x24, 0xa3, 0x7c, 0xdc, 0x44, + 0x1b, 0x1c, 0x84, 0xe7, 0x3a, 0xd6, 0xe7, 0x4c, 0xb6, 0xa3, 0x33, 0xf5, 0x9d, 0xe2, 0xdf, 0xbd, + 0x6f, 0x86, 0x63, 0x6f, 0x90, 0x71, 0x24, 0x32, 0x5e, 0x8b, 0x6f, 0xfa, 0x7d, 0x3b, 0xf2, 0x88, + 0xd0, 0x73, 0x6a, 0x52, 0xab, 0x41, 0xcf, 0x8e, 0xe3, 0x24, 0xc5, 0xc2, 0x7b, 0xa8, 0xd8, 0xe2, + 0xd4, 0x91, 0x61, 0x1d, 0x06, 0x86, 0xba, 0x3e, 0x70, 0xe0, 0xfd, 0x18, 0xfa, 0xbb, 0x57, 0x5e, + 0x55, 0xaf, 0x1f, 0x53, 0xc7, 0xb2, 0x81, 0x3f, 0x3a, 0xf1, 0x80, 0x24, 0xb5, 0xf8, 0x05, 0x5a, + 0x13, 0x43, 0x1f, 0x2f, 0x42, 0x5f, 0x9c, 0xba, 0x6b, 0x0e, 0x7f, 0xf8, 0x34, 0xde, 0x08, 0x67, + 0xb1, 0x36, 0x8c, 0x08, 0x32, 0x3a, 0x10, 0x7e, 0x8c, 0x74, 0x1a, 0xb7, 0xdc, 0x7d, 0xfa, 0xbc, + 0xde, 0x82, 0xc1, 0xe5, 0x93, 0x57, 0x97, 0xcf, 0x35, 0xff, 0xe2, 0xa9, 0x67, 0x70, 0x48, 0xa6, + 0x1a, 0x9f, 0xa0, 0xcd, 0x04, 0x96, 0x75, 0x73, 0xa9, 0x2e, 0x90, 0x6b, 0x5c, 0xef, 0xf7, 0xca, + 0x9b, 0xf5, 0xc9, 0x74, 0x32, 0x4d, 0xce, 0xea, 0x8f, 0xb3, 0x48, 0x4f, 0xf8, 0x60, 0xe0, 0x1d, + 0xf5, 0xe1, 0xf5, 0x1f, 0xbd, 0x27, 0x92, 0x6d, 0x77, 0xee, 0x2c, 0x6d, 0x77, 0x7e, 0x42, 0xdb, + 0x8d, 0xef, 0x93, 0x5c, 0xd6, 0x7d, 0x52, 0xed, 0x69, 0xe8, 0x5a, 0xd6, 0x7e, 0x9d, 0x43, 0x4f, + 0x7c, 0x9a, 0xee, 0x89, 0x77, 0xa6, 0xed, 0x89, 0x63, 0x66, 0x9b, 0xd1, 0x18, 0x7f, 0xd5, 0xd0, + 0x4a, 0x42, 0x72, 0x0e, 0x6b, 0x6a, 0xa6, 0xd7, 0x64, 0x9c, 0x6d, 0x4d, 0x19, 0xcb, 0x38, 0xd5, + 0xd0, 0x25, 0xc5, 0x1a, 0x74, 0x26, 0x02, 0x87, 0xc0, 0xc1, 0x31, 0xe1, 0x1c, 0xaa, 0x1a, 0x50, + 0x81, 0x0f, 0x86, 0x53, 0x45, 0x5d, 0xdc, 0xb9, 0x39, 0xc5, 0xaa, 0x46, 0xa6, 0x1a, 0x7f, 0xff, + 0x44, 0x21, 0x12, 0x67, 0xae, 0xbe, 0x40, 0x6b, 0xa3, 0xab, 0xdb, 0x44, 0xb9, 0x16, 0x77, 0xbb, + 0x9e, 0x5a, 0x5a, 0xe2, 0xcb, 0xe5, 0xbe, 0x1f, 0x24, 0x01, 0x86, 0x2b, 0x68, 0xfe, 0x88, 0x39, + 0x56, 0x68, 0xb8, 0x0b, 0x21, 0x67, 0xfe, 0x13, 0xe6, 0x58, 0x44, 0x21, 0x3e, 0xc3, 0x89, 0x0d, + 0x16, 0x31, 0x94, 0xb9, 0x14, 0x52, 0xfd, 0x49, 0x43, 0xab, 0x63, 0x7e, 0x25, 0xf3, 0x36, 0x93, + 0xc0, 0xa9, 0x3d, 0xf8, 0x93, 0x5c, 0xf1, 0xbb, 0xfc, 0xbd, 0xe7, 0xd4, 0x94, 0x9f, 0x51, 0xbb, + 0x0b, 0x82, 0x44, 0x04, 0xfc, 0x35, 0x2a, 0x9a, 0xf1, 0x6f, 0x69, 0xb8, 0x51, 0x77, 0xa7, 0xd8, + 0xa8, 0x7f, 0xf9, 0x99, 0x0d, 0xc6, 0x4b, 0x10, 0x48, 0x72, 0x8c, 0xc6, 0xd6, 0xcb, 0xd3, 0xd2, + 0xcc, 0xab, 0xd3, 0xd2, 0xcc, 0xeb, 0xd3, 0xd2, 0xcc, 0x77, 0xfd, 0x92, 0xf6, 0xb2, 0x5f, 0xd2, + 0x5e, 0xf5, 0x4b, 0xda, 0xeb, 0x7e, 0x49, 0xfb, 0xa3, 0x5f, 0xd2, 0x7e, 0xf8, 0xb3, 0x34, 0xf3, + 0xc5, 0xec, 0xf1, 0xf6, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6a, 0x95, 0x4c, 0xaf, 0xb2, 0x10, + 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/oauth/v1/generated.proto b/vendor/github.com/openshift/api/oauth/v1/generated.proto new file mode 100644 index 000000000..57fed0eeb --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/generated.proto @@ -0,0 +1,231 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.oauth.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// ClusterRoleScopeRestriction describes restrictions on cluster role scopes +message ClusterRoleScopeRestriction { + // RoleNames is the list of cluster roles that can referenced. * means anything + repeated string roleNames = 1; + + // Namespaces is the list of namespaces that can be referenced. * means any of them (including *) + repeated string namespaces = 2; + + // AllowEscalation indicates whether you can request roles and their escalating resources + optional bool allowEscalation = 3; +} + +// OAuthAccessToken describes an OAuth access token +message OAuthAccessToken { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // ClientName references the client that created this token. + optional string clientName = 2; + + // ExpiresIn is the seconds from CreationTime before this token expires. + optional int64 expiresIn = 3; + + // Scopes is an array of the requested scopes. + repeated string scopes = 4; + + // RedirectURI is the redirection associated with the token. + optional string redirectURI = 5; + + // UserName is the user name associated with this token + optional string userName = 6; + + // UserUID is the unique UID associated with this token + optional string userUID = 7; + + // AuthorizeToken contains the token that authorized this token + optional string authorizeToken = 8; + + // RefreshToken is the value by which this token can be renewed. Can be blank. + optional string refreshToken = 9; + + // InactivityTimeoutSeconds is the value in seconds, from the + // CreationTimestamp, after which this token can no longer be used. + // The value is automatically incremented when the token is used. + optional int32 inactivityTimeoutSeconds = 10; +} + +// OAuthAccessTokenList is a collection of OAuth access tokens +message OAuthAccessTokenList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of OAuth access tokens + repeated OAuthAccessToken items = 2; +} + +// OAuthAuthorizeToken describes an OAuth authorization token +message OAuthAuthorizeToken { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // ClientName references the client that created this token. + optional string clientName = 2; + + // ExpiresIn is the seconds from CreationTime before this token expires. + optional int64 expiresIn = 3; + + // Scopes is an array of the requested scopes. + repeated string scopes = 4; + + // RedirectURI is the redirection associated with the token. + optional string redirectURI = 5; + + // State data from request + optional string state = 6; + + // UserName is the user name associated with this token + optional string userName = 7; + + // UserUID is the unique UID associated with this token. UserUID and UserName must both match + // for this token to be valid. + optional string userUID = 8; + + // CodeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636 + optional string codeChallenge = 9; + + // CodeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636 + optional string codeChallengeMethod = 10; +} + +// OAuthAuthorizeTokenList is a collection of OAuth authorization tokens +message OAuthAuthorizeTokenList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of OAuth authorization tokens + repeated OAuthAuthorizeToken items = 2; +} + +// OAuthClient describes an OAuth client +message OAuthClient { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Secret is the unique secret associated with a client + optional string secret = 2; + + // AdditionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation + // and for service account token validation + repeated string additionalSecrets = 3; + + // RespondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects + optional bool respondWithChallenges = 4; + + // RedirectURIs is the valid redirection URIs associated with a client + // +patchStrategy=merge + repeated string redirectURIs = 5; + + // GrantMethod determines how to handle grants for this client. If no method is provided, the + // cluster default grant handling method will be used. Valid grant handling methods are: + // - auto: always approves grant requests, useful for trusted clients + // - prompt: prompts the end user for approval of grant requests, useful for third-party clients + // - deny: always denies grant requests, useful for black-listed clients + optional string grantMethod = 6; + + // ScopeRestrictions describes which scopes this client can request. Each requested scope + // is checked against each restriction. If any restriction matches, then the scope is allowed. + // If no restriction matches, then the scope is denied. + repeated ScopeRestriction scopeRestrictions = 7; + + // AccessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. + // 0 means no expiration. + optional int32 accessTokenMaxAgeSeconds = 8; + + // AccessTokenInactivityTimeoutSeconds overrides the default token + // inactivity timeout for tokens granted to this client. + // The value represents the maximum amount of time that can occur between + // consecutive uses of the token. Tokens become invalid if they are not + // used within this temporal window. The user will need to acquire a new + // token to regain access once a token times out. + // This value needs to be set only if the default set in configuration is + // not appropriate for this client. Valid values are: + // - 0: Tokens for this client never time out + // - X: Tokens time out if there is no activity for X seconds + // The current minimum allowed value for X is 300 (5 minutes) + optional int32 accessTokenInactivityTimeoutSeconds = 9; +} + +// OAuthClientAuthorization describes an authorization created by an OAuth client +message OAuthClientAuthorization { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // ClientName references the client that created this authorization + optional string clientName = 2; + + // UserName is the user name that authorized this client + optional string userName = 3; + + // UserUID is the unique UID associated with this authorization. UserUID and UserName + // must both match for this authorization to be valid. + optional string userUID = 4; + + // Scopes is an array of the granted scopes. + repeated string scopes = 5; +} + +// OAuthClientAuthorizationList is a collection of OAuth client authorizations +message OAuthClientAuthorizationList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of OAuth client authorizations + repeated OAuthClientAuthorization items = 2; +} + +// OAuthClientList is a collection of OAuth clients +message OAuthClientList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of OAuth clients + repeated OAuthClient items = 2; +} + +// OAuthRedirectReference is a reference to an OAuth redirect object. +message OAuthRedirectReference { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // The reference to an redirect object in the current namespace. + optional RedirectReference reference = 2; +} + +// RedirectReference specifies the target in the current namespace that resolves into redirect URIs. Only the 'Route' kind is currently allowed. +message RedirectReference { + // The group of the target that is being referred to. + optional string group = 1; + + // The kind of the target that is being referred to. Currently, only 'Route' is allowed. + optional string kind = 2; + + // The name of the target that is being referred to. e.g. name of the Route. + optional string name = 3; +} + +// ScopeRestriction describe one restriction on scopes. Exactly one option must be non-nil. +message ScopeRestriction { + // ExactValues means the scope has to match a particular set of strings exactly + repeated string literals = 1; + + // ClusterRole describes a set of restrictions for cluster role scoping. + optional ClusterRoleScopeRestriction clusterRole = 2; +} + diff --git a/vendor/github.com/openshift/api/oauth/v1/legacy.go b/vendor/github.com/openshift/api/oauth/v1/legacy.go new file mode 100644 index 000000000..65b57d243 --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/legacy.go @@ -0,0 +1,30 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + extensionsv1beta1 "k8s.io/api/extensions/v1beta1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme, extensionsv1beta1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &OAuthAccessToken{}, + &OAuthAccessTokenList{}, + &OAuthAuthorizeToken{}, + &OAuthAuthorizeTokenList{}, + &OAuthClient{}, + &OAuthClientList{}, + &OAuthClientAuthorization{}, + &OAuthClientAuthorizationList{}, + &OAuthRedirectReference{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/oauth/v1/register.go b/vendor/github.com/openshift/api/oauth/v1/register.go new file mode 100644 index 000000000..37278c641 --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/register.go @@ -0,0 +1,45 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "oauth.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &OAuthAccessToken{}, + &OAuthAccessTokenList{}, + &OAuthAuthorizeToken{}, + &OAuthAuthorizeTokenList{}, + &OAuthClient{}, + &OAuthClientList{}, + &OAuthClientAuthorization{}, + &OAuthClientAuthorizationList{}, + &OAuthRedirectReference{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/oauth/v1/types.go b/vendor/github.com/openshift/api/oauth/v1/types.go new file mode 100644 index 000000000..0863afbc0 --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/types.go @@ -0,0 +1,259 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthAccessToken describes an OAuth access token +type OAuthAccessToken struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // ClientName references the client that created this token. + ClientName string `json:"clientName,omitempty" protobuf:"bytes,2,opt,name=clientName"` + + // ExpiresIn is the seconds from CreationTime before this token expires. + ExpiresIn int64 `json:"expiresIn,omitempty" protobuf:"varint,3,opt,name=expiresIn"` + + // Scopes is an array of the requested scopes. + Scopes []string `json:"scopes,omitempty" protobuf:"bytes,4,rep,name=scopes"` + + // RedirectURI is the redirection associated with the token. + RedirectURI string `json:"redirectURI,omitempty" protobuf:"bytes,5,opt,name=redirectURI"` + + // UserName is the user name associated with this token + UserName string `json:"userName,omitempty" protobuf:"bytes,6,opt,name=userName"` + + // UserUID is the unique UID associated with this token + UserUID string `json:"userUID,omitempty" protobuf:"bytes,7,opt,name=userUID"` + + // AuthorizeToken contains the token that authorized this token + AuthorizeToken string `json:"authorizeToken,omitempty" protobuf:"bytes,8,opt,name=authorizeToken"` + + // RefreshToken is the value by which this token can be renewed. Can be blank. + RefreshToken string `json:"refreshToken,omitempty" protobuf:"bytes,9,opt,name=refreshToken"` + + // InactivityTimeoutSeconds is the value in seconds, from the + // CreationTimestamp, after which this token can no longer be used. + // The value is automatically incremented when the token is used. + InactivityTimeoutSeconds int32 `json:"inactivityTimeoutSeconds,omitempty" protobuf:"varint,10,opt,name=inactivityTimeoutSeconds"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthAuthorizeToken describes an OAuth authorization token +type OAuthAuthorizeToken struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // ClientName references the client that created this token. + ClientName string `json:"clientName,omitempty" protobuf:"bytes,2,opt,name=clientName"` + + // ExpiresIn is the seconds from CreationTime before this token expires. + ExpiresIn int64 `json:"expiresIn,omitempty" protobuf:"varint,3,opt,name=expiresIn"` + + // Scopes is an array of the requested scopes. + Scopes []string `json:"scopes,omitempty" protobuf:"bytes,4,rep,name=scopes"` + + // RedirectURI is the redirection associated with the token. + RedirectURI string `json:"redirectURI,omitempty" protobuf:"bytes,5,opt,name=redirectURI"` + + // State data from request + State string `json:"state,omitempty" protobuf:"bytes,6,opt,name=state"` + + // UserName is the user name associated with this token + UserName string `json:"userName,omitempty" protobuf:"bytes,7,opt,name=userName"` + + // UserUID is the unique UID associated with this token. UserUID and UserName must both match + // for this token to be valid. + UserUID string `json:"userUID,omitempty" protobuf:"bytes,8,opt,name=userUID"` + + // CodeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636 + CodeChallenge string `json:"codeChallenge,omitempty" protobuf:"bytes,9,opt,name=codeChallenge"` + + // CodeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636 + CodeChallengeMethod string `json:"codeChallengeMethod,omitempty" protobuf:"bytes,10,opt,name=codeChallengeMethod"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthClient describes an OAuth client +type OAuthClient struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Secret is the unique secret associated with a client + Secret string `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` + + // AdditionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation + // and for service account token validation + AdditionalSecrets []string `json:"additionalSecrets,omitempty" protobuf:"bytes,3,rep,name=additionalSecrets"` + + // RespondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects + RespondWithChallenges bool `json:"respondWithChallenges,omitempty" protobuf:"varint,4,opt,name=respondWithChallenges"` + + // RedirectURIs is the valid redirection URIs associated with a client + // +patchStrategy=merge + RedirectURIs []string `json:"redirectURIs,omitempty" patchStrategy:"merge" protobuf:"bytes,5,rep,name=redirectURIs"` + + // GrantMethod determines how to handle grants for this client. If no method is provided, the + // cluster default grant handling method will be used. Valid grant handling methods are: + // - auto: always approves grant requests, useful for trusted clients + // - prompt: prompts the end user for approval of grant requests, useful for third-party clients + // - deny: always denies grant requests, useful for black-listed clients + GrantMethod GrantHandlerType `json:"grantMethod,omitempty" protobuf:"bytes,6,opt,name=grantMethod,casttype=GrantHandlerType"` + + // ScopeRestrictions describes which scopes this client can request. Each requested scope + // is checked against each restriction. If any restriction matches, then the scope is allowed. + // If no restriction matches, then the scope is denied. + ScopeRestrictions []ScopeRestriction `json:"scopeRestrictions,omitempty" protobuf:"bytes,7,rep,name=scopeRestrictions"` + + // AccessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. + // 0 means no expiration. + AccessTokenMaxAgeSeconds *int32 `json:"accessTokenMaxAgeSeconds,omitempty" protobuf:"varint,8,opt,name=accessTokenMaxAgeSeconds"` + + // AccessTokenInactivityTimeoutSeconds overrides the default token + // inactivity timeout for tokens granted to this client. + // The value represents the maximum amount of time that can occur between + // consecutive uses of the token. Tokens become invalid if they are not + // used within this temporal window. The user will need to acquire a new + // token to regain access once a token times out. + // This value needs to be set only if the default set in configuration is + // not appropriate for this client. Valid values are: + // - 0: Tokens for this client never time out + // - X: Tokens time out if there is no activity for X seconds + // The current minimum allowed value for X is 300 (5 minutes) + AccessTokenInactivityTimeoutSeconds *int32 `json:"accessTokenInactivityTimeoutSeconds,omitempty" protobuf:"varint,9,opt,name=accessTokenInactivityTimeoutSeconds"` +} + +type GrantHandlerType string + +const ( + // GrantHandlerAuto auto-approves client authorization grant requests + GrantHandlerAuto GrantHandlerType = "auto" + // GrantHandlerPrompt prompts the user to approve new client authorization grant requests + GrantHandlerPrompt GrantHandlerType = "prompt" + // GrantHandlerDeny auto-denies client authorization grant requests + GrantHandlerDeny GrantHandlerType = "deny" +) + +// ScopeRestriction describe one restriction on scopes. Exactly one option must be non-nil. +type ScopeRestriction struct { + // ExactValues means the scope has to match a particular set of strings exactly + ExactValues []string `json:"literals,omitempty" protobuf:"bytes,1,rep,name=literals"` + + // ClusterRole describes a set of restrictions for cluster role scoping. + ClusterRole *ClusterRoleScopeRestriction `json:"clusterRole,omitempty" protobuf:"bytes,2,opt,name=clusterRole"` +} + +// ClusterRoleScopeRestriction describes restrictions on cluster role scopes +type ClusterRoleScopeRestriction struct { + // RoleNames is the list of cluster roles that can referenced. * means anything + RoleNames []string `json:"roleNames" protobuf:"bytes,1,rep,name=roleNames"` + // Namespaces is the list of namespaces that can be referenced. * means any of them (including *) + Namespaces []string `json:"namespaces" protobuf:"bytes,2,rep,name=namespaces"` + // AllowEscalation indicates whether you can request roles and their escalating resources + AllowEscalation bool `json:"allowEscalation" protobuf:"varint,3,opt,name=allowEscalation"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthClientAuthorization describes an authorization created by an OAuth client +type OAuthClientAuthorization struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // ClientName references the client that created this authorization + ClientName string `json:"clientName,omitempty" protobuf:"bytes,2,opt,name=clientName"` + + // UserName is the user name that authorized this client + UserName string `json:"userName,omitempty" protobuf:"bytes,3,opt,name=userName"` + + // UserUID is the unique UID associated with this authorization. UserUID and UserName + // must both match for this authorization to be valid. + UserUID string `json:"userUID,omitempty" protobuf:"bytes,4,opt,name=userUID"` + + // Scopes is an array of the granted scopes. + Scopes []string `json:"scopes,omitempty" protobuf:"bytes,5,rep,name=scopes"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthAccessTokenList is a collection of OAuth access tokens +type OAuthAccessTokenList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of OAuth access tokens + Items []OAuthAccessToken `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthAuthorizeTokenList is a collection of OAuth authorization tokens +type OAuthAuthorizeTokenList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of OAuth authorization tokens + Items []OAuthAuthorizeToken `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthClientList is a collection of OAuth clients +type OAuthClientList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of OAuth clients + Items []OAuthClient `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthClientAuthorizationList is a collection of OAuth client authorizations +type OAuthClientAuthorizationList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of OAuth client authorizations + Items []OAuthClientAuthorization `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OAuthRedirectReference is a reference to an OAuth redirect object. +type OAuthRedirectReference struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // The reference to an redirect object in the current namespace. + Reference RedirectReference `json:"reference,omitempty" protobuf:"bytes,2,opt,name=reference"` +} + +// RedirectReference specifies the target in the current namespace that resolves into redirect URIs. Only the 'Route' kind is currently allowed. +type RedirectReference struct { + // The group of the target that is being referred to. + Group string `json:"group" protobuf:"bytes,1,opt,name=group"` + + // The kind of the target that is being referred to. Currently, only 'Route' is allowed. + Kind string `json:"kind" protobuf:"bytes,2,opt,name=kind"` + + // The name of the target that is being referred to. e.g. name of the Route. + Name string `json:"name" protobuf:"bytes,3,opt,name=name"` +} diff --git a/vendor/github.com/openshift/api/oauth/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/oauth/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..d4eed458b --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/zz_generated.deepcopy.go @@ -0,0 +1,394 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterRoleScopeRestriction) DeepCopyInto(out *ClusterRoleScopeRestriction) { + *out = *in + if in.RoleNames != nil { + in, out := &in.RoleNames, &out.RoleNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Namespaces != nil { + in, out := &in.Namespaces, &out.Namespaces + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRoleScopeRestriction. +func (in *ClusterRoleScopeRestriction) DeepCopy() *ClusterRoleScopeRestriction { + if in == nil { + return nil + } + out := new(ClusterRoleScopeRestriction) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthAccessToken) DeepCopyInto(out *OAuthAccessToken) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthAccessToken. +func (in *OAuthAccessToken) DeepCopy() *OAuthAccessToken { + if in == nil { + return nil + } + out := new(OAuthAccessToken) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthAccessToken) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthAccessTokenList) DeepCopyInto(out *OAuthAccessTokenList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OAuthAccessToken, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthAccessTokenList. +func (in *OAuthAccessTokenList) DeepCopy() *OAuthAccessTokenList { + if in == nil { + return nil + } + out := new(OAuthAccessTokenList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthAccessTokenList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthAuthorizeToken) DeepCopyInto(out *OAuthAuthorizeToken) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthAuthorizeToken. +func (in *OAuthAuthorizeToken) DeepCopy() *OAuthAuthorizeToken { + if in == nil { + return nil + } + out := new(OAuthAuthorizeToken) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthAuthorizeToken) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthAuthorizeTokenList) DeepCopyInto(out *OAuthAuthorizeTokenList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OAuthAuthorizeToken, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthAuthorizeTokenList. +func (in *OAuthAuthorizeTokenList) DeepCopy() *OAuthAuthorizeTokenList { + if in == nil { + return nil + } + out := new(OAuthAuthorizeTokenList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthAuthorizeTokenList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthClient) DeepCopyInto(out *OAuthClient) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.AdditionalSecrets != nil { + in, out := &in.AdditionalSecrets, &out.AdditionalSecrets + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.RedirectURIs != nil { + in, out := &in.RedirectURIs, &out.RedirectURIs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ScopeRestrictions != nil { + in, out := &in.ScopeRestrictions, &out.ScopeRestrictions + *out = make([]ScopeRestriction, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AccessTokenMaxAgeSeconds != nil { + in, out := &in.AccessTokenMaxAgeSeconds, &out.AccessTokenMaxAgeSeconds + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + if in.AccessTokenInactivityTimeoutSeconds != nil { + in, out := &in.AccessTokenInactivityTimeoutSeconds, &out.AccessTokenInactivityTimeoutSeconds + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthClient. +func (in *OAuthClient) DeepCopy() *OAuthClient { + if in == nil { + return nil + } + out := new(OAuthClient) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthClient) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthClientAuthorization) DeepCopyInto(out *OAuthClientAuthorization) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Scopes != nil { + in, out := &in.Scopes, &out.Scopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthClientAuthorization. +func (in *OAuthClientAuthorization) DeepCopy() *OAuthClientAuthorization { + if in == nil { + return nil + } + out := new(OAuthClientAuthorization) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthClientAuthorization) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthClientAuthorizationList) DeepCopyInto(out *OAuthClientAuthorizationList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OAuthClientAuthorization, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthClientAuthorizationList. +func (in *OAuthClientAuthorizationList) DeepCopy() *OAuthClientAuthorizationList { + if in == nil { + return nil + } + out := new(OAuthClientAuthorizationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthClientAuthorizationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthClientList) DeepCopyInto(out *OAuthClientList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OAuthClient, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthClientList. +func (in *OAuthClientList) DeepCopy() *OAuthClientList { + if in == nil { + return nil + } + out := new(OAuthClientList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthClientList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthRedirectReference) DeepCopyInto(out *OAuthRedirectReference) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Reference = in.Reference + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthRedirectReference. +func (in *OAuthRedirectReference) DeepCopy() *OAuthRedirectReference { + if in == nil { + return nil + } + out := new(OAuthRedirectReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OAuthRedirectReference) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RedirectReference) DeepCopyInto(out *RedirectReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedirectReference. +func (in *RedirectReference) DeepCopy() *RedirectReference { + if in == nil { + return nil + } + out := new(RedirectReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ScopeRestriction) DeepCopyInto(out *ScopeRestriction) { + *out = *in + if in.ExactValues != nil { + in, out := &in.ExactValues, &out.ExactValues + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ClusterRole != nil { + in, out := &in.ClusterRole, &out.ClusterRole + if *in == nil { + *out = nil + } else { + *out = new(ClusterRoleScopeRestriction) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeRestriction. +func (in *ScopeRestriction) DeepCopy() *ScopeRestriction { + if in == nil { + return nil + } + out := new(ScopeRestriction) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..2742cd70d --- /dev/null +++ b/vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,162 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_ClusterRoleScopeRestriction = map[string]string{ + "": "ClusterRoleScopeRestriction describes restrictions on cluster role scopes", + "roleNames": "RoleNames is the list of cluster roles that can referenced. * means anything", + "namespaces": "Namespaces is the list of namespaces that can be referenced. * means any of them (including *)", + "allowEscalation": "AllowEscalation indicates whether you can request roles and their escalating resources", +} + +func (ClusterRoleScopeRestriction) SwaggerDoc() map[string]string { + return map_ClusterRoleScopeRestriction +} + +var map_OAuthAccessToken = map[string]string{ + "": "OAuthAccessToken describes an OAuth access token", + "metadata": "Standard object's metadata.", + "clientName": "ClientName references the client that created this token.", + "expiresIn": "ExpiresIn is the seconds from CreationTime before this token expires.", + "scopes": "Scopes is an array of the requested scopes.", + "redirectURI": "RedirectURI is the redirection associated with the token.", + "userName": "UserName is the user name associated with this token", + "userUID": "UserUID is the unique UID associated with this token", + "authorizeToken": "AuthorizeToken contains the token that authorized this token", + "refreshToken": "RefreshToken is the value by which this token can be renewed. Can be blank.", + "inactivityTimeoutSeconds": "InactivityTimeoutSeconds is the value in seconds, from the CreationTimestamp, after which this token can no longer be used. The value is automatically incremented when the token is used.", +} + +func (OAuthAccessToken) SwaggerDoc() map[string]string { + return map_OAuthAccessToken +} + +var map_OAuthAccessTokenList = map[string]string{ + "": "OAuthAccessTokenList is a collection of OAuth access tokens", + "metadata": "Standard object's metadata.", + "items": "Items is the list of OAuth access tokens", +} + +func (OAuthAccessTokenList) SwaggerDoc() map[string]string { + return map_OAuthAccessTokenList +} + +var map_OAuthAuthorizeToken = map[string]string{ + "": "OAuthAuthorizeToken describes an OAuth authorization token", + "metadata": "Standard object's metadata.", + "clientName": "ClientName references the client that created this token.", + "expiresIn": "ExpiresIn is the seconds from CreationTime before this token expires.", + "scopes": "Scopes is an array of the requested scopes.", + "redirectURI": "RedirectURI is the redirection associated with the token.", + "state": "State data from request", + "userName": "UserName is the user name associated with this token", + "userUID": "UserUID is the unique UID associated with this token. UserUID and UserName must both match for this token to be valid.", + "codeChallenge": "CodeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636", + "codeChallengeMethod": "CodeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636", +} + +func (OAuthAuthorizeToken) SwaggerDoc() map[string]string { + return map_OAuthAuthorizeToken +} + +var map_OAuthAuthorizeTokenList = map[string]string{ + "": "OAuthAuthorizeTokenList is a collection of OAuth authorization tokens", + "metadata": "Standard object's metadata.", + "items": "Items is the list of OAuth authorization tokens", +} + +func (OAuthAuthorizeTokenList) SwaggerDoc() map[string]string { + return map_OAuthAuthorizeTokenList +} + +var map_OAuthClient = map[string]string{ + "": "OAuthClient describes an OAuth client", + "metadata": "Standard object's metadata.", + "secret": "Secret is the unique secret associated with a client", + "additionalSecrets": "AdditionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation and for service account token validation", + "respondWithChallenges": "RespondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects", + "redirectURIs": "RedirectURIs is the valid redirection URIs associated with a client", + "grantMethod": "GrantMethod determines how to handle grants for this client. If no method is provided, the cluster default grant handling method will be used. Valid grant handling methods are:\n - auto: always approves grant requests, useful for trusted clients\n - prompt: prompts the end user for approval of grant requests, useful for third-party clients\n - deny: always denies grant requests, useful for black-listed clients", + "scopeRestrictions": "ScopeRestrictions describes which scopes this client can request. Each requested scope is checked against each restriction. If any restriction matches, then the scope is allowed. If no restriction matches, then the scope is denied.", + "accessTokenMaxAgeSeconds": "AccessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. 0 means no expiration.", + "accessTokenInactivityTimeoutSeconds": "AccessTokenInactivityTimeoutSeconds overrides the default token inactivity timeout for tokens granted to this client. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. This value needs to be set only if the default set in configuration is not appropriate for this client. Valid values are: - 0: Tokens for this client never time out - X: Tokens time out if there is no activity for X seconds The current minimum allowed value for X is 300 (5 minutes)", +} + +func (OAuthClient) SwaggerDoc() map[string]string { + return map_OAuthClient +} + +var map_OAuthClientAuthorization = map[string]string{ + "": "OAuthClientAuthorization describes an authorization created by an OAuth client", + "metadata": "Standard object's metadata.", + "clientName": "ClientName references the client that created this authorization", + "userName": "UserName is the user name that authorized this client", + "userUID": "UserUID is the unique UID associated with this authorization. UserUID and UserName must both match for this authorization to be valid.", + "scopes": "Scopes is an array of the granted scopes.", +} + +func (OAuthClientAuthorization) SwaggerDoc() map[string]string { + return map_OAuthClientAuthorization +} + +var map_OAuthClientAuthorizationList = map[string]string{ + "": "OAuthClientAuthorizationList is a collection of OAuth client authorizations", + "metadata": "Standard object's metadata.", + "items": "Items is the list of OAuth client authorizations", +} + +func (OAuthClientAuthorizationList) SwaggerDoc() map[string]string { + return map_OAuthClientAuthorizationList +} + +var map_OAuthClientList = map[string]string{ + "": "OAuthClientList is a collection of OAuth clients", + "metadata": "Standard object's metadata.", + "items": "Items is the list of OAuth clients", +} + +func (OAuthClientList) SwaggerDoc() map[string]string { + return map_OAuthClientList +} + +var map_OAuthRedirectReference = map[string]string{ + "": "OAuthRedirectReference is a reference to an OAuth redirect object.", + "metadata": "Standard object's metadata.", + "reference": "The reference to an redirect object in the current namespace.", +} + +func (OAuthRedirectReference) SwaggerDoc() map[string]string { + return map_OAuthRedirectReference +} + +var map_RedirectReference = map[string]string{ + "": "RedirectReference specifies the target in the current namespace that resolves into redirect URIs. Only the 'Route' kind is currently allowed.", + "group": "The group of the target that is being referred to.", + "kind": "The kind of the target that is being referred to. Currently, only 'Route' is allowed.", + "name": "The name of the target that is being referred to. e.g. name of the Route.", +} + +func (RedirectReference) SwaggerDoc() map[string]string { + return map_RedirectReference +} + +var map_ScopeRestriction = map[string]string{ + "": "ScopeRestriction describe one restriction on scopes. Exactly one option must be non-nil.", + "literals": "ExactValues means the scope has to match a particular set of strings exactly", + "clusterRole": "ClusterRole describes a set of restrictions for cluster role scoping.", +} + +func (ScopeRestriction) SwaggerDoc() map[string]string { + return map_ScopeRestriction +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/install.go b/vendor/github.com/openshift/api/openshiftcontrolplane/install.go new file mode 100644 index 000000000..5c745fd7f --- /dev/null +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/install.go @@ -0,0 +1,26 @@ +package openshiftcontrolplane + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + openshiftcontrolplanev1 "github.com/openshift/api/openshiftcontrolplane/v1" +) + +const ( + GroupName = "openshiftcontrolplane.config.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(openshiftcontrolplanev1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/doc.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/doc.go new file mode 100644 index 000000000..4528e3c4a --- /dev/null +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/doc.go @@ -0,0 +1,7 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=openshiftcontrolplane.config.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/register.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/register.go new file mode 100644 index 000000000..3d0bb20f2 --- /dev/null +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/register.go @@ -0,0 +1,40 @@ +package v1 + +import ( + configv1 "github.com/openshift/api/config/v1" + osinv1 "github.com/openshift/api/osin/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "openshiftcontrolplane.config.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, osinv1.Install, configv1.Install) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &OpenShiftAPIServerConfig{}, + &OpenShiftControllerManagerConfig{}, + &BuildDefaultsConfig{}, + &BuildOverridesConfig{}, + ) + return nil +} diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go new file mode 100644 index 000000000..167b55ad4 --- /dev/null +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go @@ -0,0 +1,359 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + buildv1 "github.com/openshift/api/build/v1" + configv1 "github.com/openshift/api/config/v1" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type OpenShiftAPIServerConfig struct { + metav1.TypeMeta `json:",inline"` + + // provides the standard apiserver configuration + configv1.GenericAPIServerConfig `json:",inline"` + + // imagePolicyConfig feeds the image policy admission plugin + ImagePolicyConfig ImagePolicyConfig `json:"imagePolicyConfig"` + + // projectConfig feeds an admission plugin + ProjectConfig ProjectConfig `json:"projectConfig"` + + // routingConfig holds information about routing and route generation + RoutingConfig RoutingConfig `json:"routingConfig"` + + // serviceAccountOAuthGrantMethod is used for determining client authorization for service account oauth client. + // It must be either: deny, prompt, or "" + ServiceAccountOAuthGrantMethod GrantHandlerType `json:"serviceAccountOAuthGrantMethod"` + + // jenkinsPipelineConfig holds information about the default Jenkins template + // used for JenkinsPipeline build strategy. + // TODO this needs to become a normal plugin config + JenkinsPipelineConfig JenkinsPipelineConfig `json:"jenkinsPipelineConfig"` + + // cloudProviderFile points to the cloud config file + // TODO this needs to become a normal plugin config + CloudProviderFile string `json:"cloudProviderFile"` + + // enableDeprecatedOAPIThatWillBeRemovedVerySoon allows the openshift-apiserver to serve oapi endpoints. This option + // is going away along with the entire API. Consider yourself warned again. + // Deprecated + // +optional + EnableOAPI bool `json:"enableDeprecatedOAPIThatWillBeRemovedVerySoon"` + + // TODO this needs to be removed. + APIServerArguments map[string][]string `json:"apiServerArguments"` +} + +type GrantHandlerType string + +const ( + // GrantHandlerAuto auto-approves client authorization grant requests + GrantHandlerAuto GrantHandlerType = "auto" + // GrantHandlerPrompt prompts the user to approve new client authorization grant requests + GrantHandlerPrompt GrantHandlerType = "prompt" + // GrantHandlerDeny auto-denies client authorization grant requests + GrantHandlerDeny GrantHandlerType = "deny" +) + +// RoutingConfig holds the necessary configuration options for routing to subdomains +type RoutingConfig struct { + // subdomain is the suffix appended to $service.$namespace. to form the default route hostname + // DEPRECATED: This field is being replaced by routers setting their own defaults. This is the + // "default" route. + Subdomain string `json:"subdomain"` +} + +type ImagePolicyConfig struct { + // maxImagesBulkImportedPerRepository controls the number of images that are imported when a user + // does a bulk import of a container repository. This number is set low to prevent users from + // importing large numbers of images accidentally. Set -1 for no limit. + MaxImagesBulkImportedPerRepository int `json:"maxImagesBulkImportedPerRepository"` + // allowedRegistriesForImport limits the container image registries that normal users may import + // images from. Set this list to the registries that you trust to contain valid Docker + // images and that you want applications to be able to import from. Users with + // permission to create Images or ImageStreamMappings via the API are not affected by + // this policy - typically only administrators or system integrations will have those + // permissions. + AllowedRegistriesForImport AllowedRegistries `json:"allowedRegistriesForImport"` + + // internalRegistryHostname sets the hostname for the default internal image + // registry. The value must be in "hostname[:port]" format. + // For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY + // environment variable but this setting overrides the environment variable. + InternalRegistryHostname string `json:"internalRegistryHostname"` + // externalRegistryHostnames provides the hostnames for the default external image + // registry. The external hostname should be set only when the image registry + // is exposed externally. The first value is used in 'publicDockerImageRepository' + // field in ImageStreams. The value must be in "hostname[:port]" format. + ExternalRegistryHostnames []string `json:"externalRegistryHostnames"` + + // additionalTrustedCA is a path to a pem bundle file containing additional CAs that + // should be trusted during imagestream import. + AdditionalTrustedCA string `json:"additionalTrustedCA"` +} + +// AllowedRegistries represents a list of registries allowed for the image import. +type AllowedRegistries []RegistryLocation + +// RegistryLocation contains a location of the registry specified by the registry domain +// name. The domain name might include wildcards, like '*' or '??'. +type RegistryLocation struct { + // DomainName specifies a domain name for the registry + // In case the registry use non-standard (80 or 443) port, the port should be included + // in the domain name as well. + DomainName string `json:"domainName"` + // Insecure indicates whether the registry is secure (https) or insecure (http) + // By default (if not specified) the registry is assumed as secure. + Insecure bool `json:"insecure,omitempty"` +} + +type ProjectConfig struct { + // defaultNodeSelector holds default project node label selector + DefaultNodeSelector string `json:"defaultNodeSelector"` + + // projectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint + ProjectRequestMessage string `json:"projectRequestMessage"` + + // projectRequestTemplate is the template to use for creating projects in response to projectrequest. + // It is in the format namespace/template and it is optional. + // If it is not specified, a default template is used. + ProjectRequestTemplate string `json:"projectRequestTemplate"` +} + +// JenkinsPipelineConfig holds configuration for the Jenkins pipeline strategy +type JenkinsPipelineConfig struct { + // autoProvisionEnabled determines whether a Jenkins server will be spawned from the provided + // template when the first build config in the project with type JenkinsPipeline + // is created. When not specified this option defaults to true. + AutoProvisionEnabled *bool `json:"autoProvisionEnabled"` + // templateNamespace contains the namespace name where the Jenkins template is stored + TemplateNamespace string `json:"templateNamespace"` + // templateName is the name of the default Jenkins template + TemplateName string `json:"templateName"` + // serviceName is the name of the Jenkins service OpenShift uses to detect + // whether a Jenkins pipeline handler has already been installed in a project. + // This value *must* match a service name in the provided template. + ServiceName string `json:"serviceName"` + // parameters specifies a set of optional parameters to the Jenkins template. + Parameters map[string]string `json:"parameters"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +type OpenShiftControllerManagerConfig struct { + metav1.TypeMeta `json:",inline"` + + KubeClientConfig configv1.KubeClientConfig `json:"kubeClientConfig"` + + // servingInfo describes how to start serving + ServingInfo *configv1.HTTPServingInfo `json:"servingInfo"` + + // leaderElection defines the configuration for electing a controller instance to make changes to + // the cluster. If unspecified, the ControllerTTL value is checked to determine whether the + // legacy direct etcd election code will be used. + LeaderElection configv1.LeaderElection `json:"leaderElection"` + + // controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller "+ + // named 'foo', '-foo' disables the controller named 'foo'. + // Defaults to "*". + Controllers []string `json:"controllers"` + + ResourceQuota ResourceQuotaControllerConfig `json:"resourceQuota"` + ServiceServingCert ServiceServingCert `json:"serviceServingCert"` + Deployer DeployerControllerConfig `json:"deployer"` + Build BuildControllerConfig `json:"build"` + ServiceAccount ServiceAccountControllerConfig `json:"serviceAccount"` + DockerPullSecret DockerPullSecretControllerConfig `json:"dockerPullSecret"` + Network NetworkControllerConfig `json:"network"` + Ingress IngressControllerConfig `json:"ingress"` + ImageImport ImageImportControllerConfig `json:"imageImport"` + SecurityAllocator SecurityAllocator `json:"securityAllocator"` +} + +type DeployerControllerConfig struct { + ImageTemplateFormat ImageConfig `json:"imageTemplateFormat"` +} + +type BuildControllerConfig struct { + ImageTemplateFormat ImageConfig `json:"imageTemplateFormat"` + + BuildDefaults *BuildDefaultsConfig `json:"buildDefaults"` + BuildOverrides *BuildOverridesConfig `json:"buildOverrides"` + + // additionalTrustedCA is a path to a pem bundle file containing additional CAs that + // should be trusted for image pushes and pulls during builds. + AdditionalTrustedCA string `json:"additionalTrustedCA"` +} + +type ResourceQuotaControllerConfig struct { + ConcurrentSyncs int32 `json:"concurrentSyncs"` + SyncPeriod metav1.Duration `json:"syncPeriod"` + MinResyncPeriod metav1.Duration `json:"minResyncPeriod"` +} + +type IngressControllerConfig struct { + // ingressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare + // metal. If empty, ingress ips will not be assigned. It may contain a single CIDR that will be allocated from. + // For security reasons, you should ensure that this range does not overlap with the CIDRs reserved for external ips, + // nodes, pods, or services. + IngressIPNetworkCIDR string `json:"ingressIPNetworkCIDR"` +} + +// MasterNetworkConfig to be passed to the compiled in network plugin +type NetworkControllerConfig struct { + NetworkPluginName string `json:"networkPluginName"` + // clusterNetworks contains a list of cluster networks that defines the global overlay networks L3 space. + ClusterNetworks []ClusterNetworkEntry `json:"clusterNetworks"` + ServiceNetworkCIDR string `json:"serviceNetworkCIDR"` + VXLANPort uint32 `json:"vxlanPort"` +} + +type ServiceAccountControllerConfig struct { + // managedNames is a list of service account names that will be auto-created in every namespace. + // If no names are specified, the ServiceAccountsController will not be started. + ManagedNames []string `json:"managedNames"` +} + +type DockerPullSecretControllerConfig struct { + // registryURLs is a list of urls that the docker pull secrets should be valid for. + RegistryURLs []string `json:"registryURLs"` + + // internalRegistryHostname is the hostname for the default internal image + // registry. The value must be in "hostname[:port]" format. Docker pull secrets + // will be generated for this registry. + InternalRegistryHostname string `json:"internalRegistryHostname"` +} + +type ImageImportControllerConfig struct { + // maxScheduledImageImportsPerMinute is the maximum number of image streams that will be imported in the background per minute. + // The default value is 60. Set to -1 for unlimited. + MaxScheduledImageImportsPerMinute int `json:"maxScheduledImageImportsPerMinute"` + // disableScheduledImport allows scheduled background import of images to be disabled. + DisableScheduledImport bool `json:"disableScheduledImport"` + // scheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams + // scheduled for background import are checked against the upstream repository. The default value is 15 minutes. + ScheduledImageImportMinimumIntervalSeconds int `json:"scheduledImageImportMinimumIntervalSeconds"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildDefaultsConfig controls the default information for Builds +type BuildDefaultsConfig struct { + metav1.TypeMeta `json:",inline"` + + // gitHTTPProxy is the location of the HTTPProxy for Git source + GitHTTPProxy string `json:"gitHTTPProxy,omitempty"` + + // gitHTTPSProxy is the location of the HTTPSProxy for Git source + GitHTTPSProxy string `json:"gitHTTPSProxy,omitempty"` + + // gitNoProxy is the list of domains for which the proxy should not be used + GitNoProxy string `json:"gitNoProxy,omitempty"` + + // env is a set of default environment variables that will be applied to the + // build if the specified variables do not exist on the build + Env []corev1.EnvVar `json:"env,omitempty"` + + // sourceStrategyDefaults are default values that apply to builds using the + // source strategy. + SourceStrategyDefaults *SourceStrategyDefaultsConfig `json:"sourceStrategyDefaults,omitempty"` + + // imageLabels is a list of labels that are applied to the resulting image. + // User can override a default label by providing a label with the same name in their + // Build/BuildConfig. + ImageLabels []buildv1.ImageLabel `json:"imageLabels,omitempty"` + + // nodeSelector is a selector which must be true for the build pod to fit on a node + NodeSelector map[string]string `json:"nodeSelector,omitempty"` + + // annotations are annotations that will be added to the build pod + Annotations map[string]string `json:"annotations,omitempty"` + + // resources defines resource requirements to execute the build. + Resources corev1.ResourceRequirements `json:"resources,omitempty"` +} + +// SourceStrategyDefaultsConfig contains values that apply to builds using the +// source strategy. +type SourceStrategyDefaultsConfig struct { + + // incremental indicates if s2i build strategies should perform an incremental + // build or not + Incremental *bool `json:"incremental,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BuildOverridesConfig controls override settings for builds +type BuildOverridesConfig struct { + metav1.TypeMeta `json:",inline"` + + // forcePull indicates whether the build strategy should always be set to ForcePull=true + ForcePull bool `json:"forcePull"` + + // imageLabels is a list of labels that are applied to the resulting image. + // If user provided a label in their Build/BuildConfig with the same name as one in this + // list, the user's label will be overwritten. + ImageLabels []buildv1.ImageLabel `json:"imageLabels,omitempty"` + + // nodeSelector is a selector which must be true for the build pod to fit on a node + NodeSelector map[string]string `json:"nodeSelector,omitempty"` + + // annotations are annotations that will be added to the build pod + Annotations map[string]string `json:"annotations,omitempty"` + + // tolerations is a list of Tolerations that will override any existing + // tolerations set on a build pod. + Tolerations []corev1.Toleration `json:"tolerations,omitempty"` +} + +// ImageConfig holds the necessary configuration options for building image names for system components +type ImageConfig struct { + // Format is the format of the name to be built for the system component + Format string `json:"format"` + // Latest determines if the latest tag will be pulled from the registry + Latest bool `json:"latest"` +} + +// ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for +// pods fulfilling a service to serve with. +type ServiceServingCert struct { + // Signer holds the signing information used to automatically sign serving certificates. + // If this value is nil, then certs are not signed automatically. + Signer *configv1.CertInfo `json:"signer"` +} + +// ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips. +type ClusterNetworkEntry struct { + // CIDR defines the total range of a cluster networks address space. + CIDR string `json:"cidr"` + // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod. + HostSubnetLength uint32 `json:"hostSubnetLength"` +} + +// SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled. +type SecurityAllocator struct { + // UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the + // block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks + // before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the + // ranges container images will use once user namespaces are started). + UIDAllocatorRange string `json:"uidAllocatorRange"` + // MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is + // "/[,]". The default is "s0/2" and will allocate from c0 -> c1023, which means a total of 535k labels + // are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated + // to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default + // will allow the server to set them automatically. + // + // Examples: + // * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 + // * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511 + // + MCSAllocatorRange string `json:"mcsAllocatorRange"` + // MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS + // ranges (100k namespaces, 535k/5 labels). + MCSLabelsPerProject int `json:"mcsLabelsPerProject"` +} diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..5df6d660b --- /dev/null +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.deepcopy.go @@ -0,0 +1,606 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + build_v1 "github.com/openshift/api/build/v1" + config_v1 "github.com/openshift/api/config/v1" + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in AllowedRegistries) DeepCopyInto(out *AllowedRegistries) { + { + in := &in + *out = make(AllowedRegistries, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedRegistries. +func (in AllowedRegistries) DeepCopy() AllowedRegistries { + if in == nil { + return nil + } + out := new(AllowedRegistries) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildControllerConfig) DeepCopyInto(out *BuildControllerConfig) { + *out = *in + out.ImageTemplateFormat = in.ImageTemplateFormat + if in.BuildDefaults != nil { + in, out := &in.BuildDefaults, &out.BuildDefaults + if *in == nil { + *out = nil + } else { + *out = new(BuildDefaultsConfig) + (*in).DeepCopyInto(*out) + } + } + if in.BuildOverrides != nil { + in, out := &in.BuildOverrides, &out.BuildOverrides + if *in == nil { + *out = nil + } else { + *out = new(BuildOverridesConfig) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildControllerConfig. +func (in *BuildControllerConfig) DeepCopy() *BuildControllerConfig { + if in == nil { + return nil + } + out := new(BuildControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildDefaultsConfig) DeepCopyInto(out *BuildDefaultsConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.Env != nil { + in, out := &in.Env, &out.Env + *out = make([]core_v1.EnvVar, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SourceStrategyDefaults != nil { + in, out := &in.SourceStrategyDefaults, &out.SourceStrategyDefaults + if *in == nil { + *out = nil + } else { + *out = new(SourceStrategyDefaultsConfig) + (*in).DeepCopyInto(*out) + } + } + if in.ImageLabels != nil { + in, out := &in.ImageLabels, &out.ImageLabels + *out = make([]build_v1.ImageLabel, len(*in)) + copy(*out, *in) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + in.Resources.DeepCopyInto(&out.Resources) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildDefaultsConfig. +func (in *BuildDefaultsConfig) DeepCopy() *BuildDefaultsConfig { + if in == nil { + return nil + } + out := new(BuildDefaultsConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildDefaultsConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BuildOverridesConfig) DeepCopyInto(out *BuildOverridesConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.ImageLabels != nil { + in, out := &in.ImageLabels, &out.ImageLabels + *out = make([]build_v1.ImageLabel, len(*in)) + copy(*out, *in) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Annotations != nil { + in, out := &in.Annotations, &out.Annotations + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]core_v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildOverridesConfig. +func (in *BuildOverridesConfig) DeepCopy() *BuildOverridesConfig { + if in == nil { + return nil + } + out := new(BuildOverridesConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BuildOverridesConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterNetworkEntry) DeepCopyInto(out *ClusterNetworkEntry) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkEntry. +func (in *ClusterNetworkEntry) DeepCopy() *ClusterNetworkEntry { + if in == nil { + return nil + } + out := new(ClusterNetworkEntry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeployerControllerConfig) DeepCopyInto(out *DeployerControllerConfig) { + *out = *in + out.ImageTemplateFormat = in.ImageTemplateFormat + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployerControllerConfig. +func (in *DeployerControllerConfig) DeepCopy() *DeployerControllerConfig { + if in == nil { + return nil + } + out := new(DeployerControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DockerPullSecretControllerConfig) DeepCopyInto(out *DockerPullSecretControllerConfig) { + *out = *in + if in.RegistryURLs != nil { + in, out := &in.RegistryURLs, &out.RegistryURLs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerPullSecretControllerConfig. +func (in *DockerPullSecretControllerConfig) DeepCopy() *DockerPullSecretControllerConfig { + if in == nil { + return nil + } + out := new(DockerPullSecretControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageConfig) DeepCopyInto(out *ImageConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageConfig. +func (in *ImageConfig) DeepCopy() *ImageConfig { + if in == nil { + return nil + } + out := new(ImageConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageImportControllerConfig) DeepCopyInto(out *ImageImportControllerConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageImportControllerConfig. +func (in *ImageImportControllerConfig) DeepCopy() *ImageImportControllerConfig { + if in == nil { + return nil + } + out := new(ImageImportControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImagePolicyConfig) DeepCopyInto(out *ImagePolicyConfig) { + *out = *in + if in.AllowedRegistriesForImport != nil { + in, out := &in.AllowedRegistriesForImport, &out.AllowedRegistriesForImport + *out = make(AllowedRegistries, len(*in)) + copy(*out, *in) + } + if in.ExternalRegistryHostnames != nil { + in, out := &in.ExternalRegistryHostnames, &out.ExternalRegistryHostnames + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyConfig. +func (in *ImagePolicyConfig) DeepCopy() *ImagePolicyConfig { + if in == nil { + return nil + } + out := new(ImagePolicyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressControllerConfig) DeepCopyInto(out *IngressControllerConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressControllerConfig. +func (in *IngressControllerConfig) DeepCopy() *IngressControllerConfig { + if in == nil { + return nil + } + out := new(IngressControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JenkinsPipelineConfig) DeepCopyInto(out *JenkinsPipelineConfig) { + *out = *in + if in.AutoProvisionEnabled != nil { + in, out := &in.AutoProvisionEnabled, &out.AutoProvisionEnabled + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JenkinsPipelineConfig. +func (in *JenkinsPipelineConfig) DeepCopy() *JenkinsPipelineConfig { + if in == nil { + return nil + } + out := new(JenkinsPipelineConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkControllerConfig) DeepCopyInto(out *NetworkControllerConfig) { + *out = *in + if in.ClusterNetworks != nil { + in, out := &in.ClusterNetworks, &out.ClusterNetworks + *out = make([]ClusterNetworkEntry, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkControllerConfig. +func (in *NetworkControllerConfig) DeepCopy() *NetworkControllerConfig { + if in == nil { + return nil + } + out := new(NetworkControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenShiftAPIServerConfig) DeepCopyInto(out *OpenShiftAPIServerConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.GenericAPIServerConfig.DeepCopyInto(&out.GenericAPIServerConfig) + in.ImagePolicyConfig.DeepCopyInto(&out.ImagePolicyConfig) + out.ProjectConfig = in.ProjectConfig + out.RoutingConfig = in.RoutingConfig + in.JenkinsPipelineConfig.DeepCopyInto(&out.JenkinsPipelineConfig) + if in.APIServerArguments != nil { + in, out := &in.APIServerArguments, &out.APIServerArguments + *out = make(map[string][]string, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenShiftAPIServerConfig. +func (in *OpenShiftAPIServerConfig) DeepCopy() *OpenShiftAPIServerConfig { + if in == nil { + return nil + } + out := new(OpenShiftAPIServerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OpenShiftAPIServerConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenShiftControllerManagerConfig) DeepCopyInto(out *OpenShiftControllerManagerConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + out.KubeClientConfig = in.KubeClientConfig + if in.ServingInfo != nil { + in, out := &in.ServingInfo, &out.ServingInfo + if *in == nil { + *out = nil + } else { + *out = new(config_v1.HTTPServingInfo) + (*in).DeepCopyInto(*out) + } + } + out.LeaderElection = in.LeaderElection + if in.Controllers != nil { + in, out := &in.Controllers, &out.Controllers + *out = make([]string, len(*in)) + copy(*out, *in) + } + out.ResourceQuota = in.ResourceQuota + in.ServiceServingCert.DeepCopyInto(&out.ServiceServingCert) + out.Deployer = in.Deployer + in.Build.DeepCopyInto(&out.Build) + in.ServiceAccount.DeepCopyInto(&out.ServiceAccount) + in.DockerPullSecret.DeepCopyInto(&out.DockerPullSecret) + in.Network.DeepCopyInto(&out.Network) + out.Ingress = in.Ingress + out.ImageImport = in.ImageImport + out.SecurityAllocator = in.SecurityAllocator + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenShiftControllerManagerConfig. +func (in *OpenShiftControllerManagerConfig) DeepCopy() *OpenShiftControllerManagerConfig { + if in == nil { + return nil + } + out := new(OpenShiftControllerManagerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OpenShiftControllerManagerConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectConfig) DeepCopyInto(out *ProjectConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectConfig. +func (in *ProjectConfig) DeepCopy() *ProjectConfig { + if in == nil { + return nil + } + out := new(ProjectConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RegistryLocation) DeepCopyInto(out *RegistryLocation) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryLocation. +func (in *RegistryLocation) DeepCopy() *RegistryLocation { + if in == nil { + return nil + } + out := new(RegistryLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceQuotaControllerConfig) DeepCopyInto(out *ResourceQuotaControllerConfig) { + *out = *in + out.SyncPeriod = in.SyncPeriod + out.MinResyncPeriod = in.MinResyncPeriod + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuotaControllerConfig. +func (in *ResourceQuotaControllerConfig) DeepCopy() *ResourceQuotaControllerConfig { + if in == nil { + return nil + } + out := new(ResourceQuotaControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutingConfig) DeepCopyInto(out *RoutingConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingConfig. +func (in *RoutingConfig) DeepCopy() *RoutingConfig { + if in == nil { + return nil + } + out := new(RoutingConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityAllocator) DeepCopyInto(out *SecurityAllocator) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityAllocator. +func (in *SecurityAllocator) DeepCopy() *SecurityAllocator { + if in == nil { + return nil + } + out := new(SecurityAllocator) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountControllerConfig) DeepCopyInto(out *ServiceAccountControllerConfig) { + *out = *in + if in.ManagedNames != nil { + in, out := &in.ManagedNames, &out.ManagedNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountControllerConfig. +func (in *ServiceAccountControllerConfig) DeepCopy() *ServiceAccountControllerConfig { + if in == nil { + return nil + } + out := new(ServiceAccountControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceServingCert) DeepCopyInto(out *ServiceServingCert) { + *out = *in + if in.Signer != nil { + in, out := &in.Signer, &out.Signer + if *in == nil { + *out = nil + } else { + *out = new(config_v1.CertInfo) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceServingCert. +func (in *ServiceServingCert) DeepCopy() *ServiceServingCert { + if in == nil { + return nil + } + out := new(ServiceServingCert) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SourceStrategyDefaultsConfig) DeepCopyInto(out *SourceStrategyDefaultsConfig) { + *out = *in + if in.Incremental != nil { + in, out := &in.Incremental, &out.Incremental + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStrategyDefaultsConfig. +func (in *SourceStrategyDefaultsConfig) DeepCopy() *SourceStrategyDefaultsConfig { + if in == nil { + return nil + } + out := new(SourceStrategyDefaultsConfig) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..13ca0b44e --- /dev/null +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,223 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_BuildControllerConfig = map[string]string{ + "additionalTrustedCA": "additionalTrustedCA is a path to a pem bundle file containing additional CAs that should be trusted for image pushes and pulls during builds.", +} + +func (BuildControllerConfig) SwaggerDoc() map[string]string { + return map_BuildControllerConfig +} + +var map_BuildDefaultsConfig = map[string]string{ + "": "BuildDefaultsConfig controls the default information for Builds", + "gitHTTPProxy": "gitHTTPProxy is the location of the HTTPProxy for Git source", + "gitHTTPSProxy": "gitHTTPSProxy is the location of the HTTPSProxy for Git source", + "gitNoProxy": "gitNoProxy is the list of domains for which the proxy should not be used", + "env": "env is a set of default environment variables that will be applied to the build if the specified variables do not exist on the build", + "sourceStrategyDefaults": "sourceStrategyDefaults are default values that apply to builds using the source strategy.", + "imageLabels": "imageLabels is a list of labels that are applied to the resulting image. User can override a default label by providing a label with the same name in their Build/BuildConfig.", + "nodeSelector": "nodeSelector is a selector which must be true for the build pod to fit on a node", + "annotations": "annotations are annotations that will be added to the build pod", + "resources": "resources defines resource requirements to execute the build.", +} + +func (BuildDefaultsConfig) SwaggerDoc() map[string]string { + return map_BuildDefaultsConfig +} + +var map_BuildOverridesConfig = map[string]string{ + "": "BuildOverridesConfig controls override settings for builds", + "forcePull": "forcePull indicates whether the build strategy should always be set to ForcePull=true", + "imageLabels": "imageLabels is a list of labels that are applied to the resulting image. If user provided a label in their Build/BuildConfig with the same name as one in this list, the user's label will be overwritten.", + "nodeSelector": "nodeSelector is a selector which must be true for the build pod to fit on a node", + "annotations": "annotations are annotations that will be added to the build pod", + "tolerations": "tolerations is a list of Tolerations that will override any existing tolerations set on a build pod.", +} + +func (BuildOverridesConfig) SwaggerDoc() map[string]string { + return map_BuildOverridesConfig +} + +var map_ClusterNetworkEntry = map[string]string{ + "": "ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips.", + "cidr": "CIDR defines the total range of a cluster networks address space.", + "hostSubnetLength": "HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod.", +} + +func (ClusterNetworkEntry) SwaggerDoc() map[string]string { + return map_ClusterNetworkEntry +} + +var map_DockerPullSecretControllerConfig = map[string]string{ + "registryURLs": "registryURLs is a list of urls that the docker pull secrets should be valid for.", + "internalRegistryHostname": "internalRegistryHostname is the hostname for the default internal image registry. The value must be in \"hostname[:port]\" format. Docker pull secrets will be generated for this registry.", +} + +func (DockerPullSecretControllerConfig) SwaggerDoc() map[string]string { + return map_DockerPullSecretControllerConfig +} + +var map_ImageConfig = map[string]string{ + "": "ImageConfig holds the necessary configuration options for building image names for system components", + "format": "Format is the format of the name to be built for the system component", + "latest": "Latest determines if the latest tag will be pulled from the registry", +} + +func (ImageConfig) SwaggerDoc() map[string]string { + return map_ImageConfig +} + +var map_ImageImportControllerConfig = map[string]string{ + "maxScheduledImageImportsPerMinute": "maxScheduledImageImportsPerMinute is the maximum number of image streams that will be imported in the background per minute. The default value is 60. Set to -1 for unlimited.", + "disableScheduledImport": "disableScheduledImport allows scheduled background import of images to be disabled.", + "scheduledImageImportMinimumIntervalSeconds": "scheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams scheduled for background import are checked against the upstream repository. The default value is 15 minutes.", +} + +func (ImageImportControllerConfig) SwaggerDoc() map[string]string { + return map_ImageImportControllerConfig +} + +var map_ImagePolicyConfig = map[string]string{ + "maxImagesBulkImportedPerRepository": "maxImagesBulkImportedPerRepository controls the number of images that are imported when a user does a bulk import of a container repository. This number is set low to prevent users from importing large numbers of images accidentally. Set -1 for no limit.", + "allowedRegistriesForImport": "allowedRegistriesForImport limits the container image registries that normal users may import images from. Set this list to the registries that you trust to contain valid Docker images and that you want applications to be able to import from. Users with permission to create Images or ImageStreamMappings via the API are not affected by this policy - typically only administrators or system integrations will have those permissions.", + "internalRegistryHostname": "internalRegistryHostname sets the hostname for the default internal image registry. The value must be in \"hostname[:port]\" format. For backward compatibility, users can still use OPENSHIFT_DEFAULT_REGISTRY environment variable but this setting overrides the environment variable.", + "externalRegistryHostnames": "externalRegistryHostnames provides the hostnames for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The first value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", + "additionalTrustedCA": "additionalTrustedCA is a path to a pem bundle file containing additional CAs that should be trusted during imagestream import.", +} + +func (ImagePolicyConfig) SwaggerDoc() map[string]string { + return map_ImagePolicyConfig +} + +var map_IngressControllerConfig = map[string]string{ + "ingressIPNetworkCIDR": "ingressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare metal. If empty, ingress ips will not be assigned. It may contain a single CIDR that will be allocated from. For security reasons, you should ensure that this range does not overlap with the CIDRs reserved for external ips, nodes, pods, or services.", +} + +func (IngressControllerConfig) SwaggerDoc() map[string]string { + return map_IngressControllerConfig +} + +var map_JenkinsPipelineConfig = map[string]string{ + "": "JenkinsPipelineConfig holds configuration for the Jenkins pipeline strategy", + "autoProvisionEnabled": "autoProvisionEnabled determines whether a Jenkins server will be spawned from the provided template when the first build config in the project with type JenkinsPipeline is created. When not specified this option defaults to true.", + "templateNamespace": "templateNamespace contains the namespace name where the Jenkins template is stored", + "templateName": "templateName is the name of the default Jenkins template", + "serviceName": "serviceName is the name of the Jenkins service OpenShift uses to detect whether a Jenkins pipeline handler has already been installed in a project. This value *must* match a service name in the provided template.", + "parameters": "parameters specifies a set of optional parameters to the Jenkins template.", +} + +func (JenkinsPipelineConfig) SwaggerDoc() map[string]string { + return map_JenkinsPipelineConfig +} + +var map_NetworkControllerConfig = map[string]string{ + "": "MasterNetworkConfig to be passed to the compiled in network plugin", + "clusterNetworks": "clusterNetworks contains a list of cluster networks that defines the global overlay networks L3 space.", +} + +func (NetworkControllerConfig) SwaggerDoc() map[string]string { + return map_NetworkControllerConfig +} + +var map_OpenShiftAPIServerConfig = map[string]string{ + "imagePolicyConfig": "imagePolicyConfig feeds the image policy admission plugin", + "projectConfig": "projectConfig feeds an admission plugin", + "routingConfig": "routingConfig holds information about routing and route generation", + "serviceAccountOAuthGrantMethod": "serviceAccountOAuthGrantMethod is used for determining client authorization for service account oauth client. It must be either: deny, prompt, or \"\"", + "jenkinsPipelineConfig": "jenkinsPipelineConfig holds information about the default Jenkins template used for JenkinsPipeline build strategy.", + "cloudProviderFile": "cloudProviderFile points to the cloud config file", + "enableDeprecatedOAPIThatWillBeRemovedVerySoon": "enableDeprecatedOAPIThatWillBeRemovedVerySoon allows the openshift-apiserver to serve oapi endpoints. This option is going away along with the entire API. Consider yourself warned again. Deprecated", +} + +func (OpenShiftAPIServerConfig) SwaggerDoc() map[string]string { + return map_OpenShiftAPIServerConfig +} + +var map_OpenShiftControllerManagerConfig = map[string]string{ + "servingInfo": "servingInfo describes how to start serving", + "leaderElection": "leaderElection defines the configuration for electing a controller instance to make changes to the cluster. If unspecified, the ControllerTTL value is checked to determine whether the legacy direct etcd election code will be used.", + "controllers": "controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller \"+ named 'foo', '-foo' disables the controller named 'foo'. Defaults to \"*\".", +} + +func (OpenShiftControllerManagerConfig) SwaggerDoc() map[string]string { + return map_OpenShiftControllerManagerConfig +} + +var map_ProjectConfig = map[string]string{ + "defaultNodeSelector": "defaultNodeSelector holds default project node label selector", + "projectRequestMessage": "projectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint", + "projectRequestTemplate": "projectRequestTemplate is the template to use for creating projects in response to projectrequest. It is in the format namespace/template and it is optional. If it is not specified, a default template is used.", +} + +func (ProjectConfig) SwaggerDoc() map[string]string { + return map_ProjectConfig +} + +var map_RegistryLocation = map[string]string{ + "": "RegistryLocation contains a location of the registry specified by the registry domain name. The domain name might include wildcards, like '*' or '??'.", + "domainName": "DomainName specifies a domain name for the registry In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well.", + "insecure": "Insecure indicates whether the registry is secure (https) or insecure (http) By default (if not specified) the registry is assumed as secure.", +} + +func (RegistryLocation) SwaggerDoc() map[string]string { + return map_RegistryLocation +} + +var map_RoutingConfig = map[string]string{ + "": "RoutingConfig holds the necessary configuration options for routing to subdomains", + "subdomain": "subdomain is the suffix appended to $service.$namespace. to form the default route hostname DEPRECATED: This field is being replaced by routers setting their own defaults. This is the \"default\" route.", +} + +func (RoutingConfig) SwaggerDoc() map[string]string { + return map_RoutingConfig +} + +var map_SecurityAllocator = map[string]string{ + "": "SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled.", + "uidAllocatorRange": "UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the ranges container images will use once user namespaces are started).", + "mcsAllocatorRange": "MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is \"/[,]\". The default is \"s0/2\" and will allocate from c0 -> c1023, which means a total of 535k labels are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default will allow the server to set them automatically.\n\nExamples: * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511", + "mcsLabelsPerProject": "MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS ranges (100k namespaces, 535k/5 labels).", +} + +func (SecurityAllocator) SwaggerDoc() map[string]string { + return map_SecurityAllocator +} + +var map_ServiceAccountControllerConfig = map[string]string{ + "managedNames": "managedNames is a list of service account names that will be auto-created in every namespace. If no names are specified, the ServiceAccountsController will not be started.", +} + +func (ServiceAccountControllerConfig) SwaggerDoc() map[string]string { + return map_ServiceAccountControllerConfig +} + +var map_ServiceServingCert = map[string]string{ + "": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", + "signer": "Signer holds the signing information used to automatically sign serving certificates. If this value is nil, then certs are not signed automatically.", +} + +func (ServiceServingCert) SwaggerDoc() map[string]string { + return map_ServiceServingCert +} + +var map_SourceStrategyDefaultsConfig = map[string]string{ + "": "SourceStrategyDefaultsConfig contains values that apply to builds using the source strategy.", + "incremental": "incremental indicates if s2i build strategies should perform an incremental build or not", +} + +func (SourceStrategyDefaultsConfig) SwaggerDoc() map[string]string { + return map_SourceStrategyDefaultsConfig +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/operator/install.go b/vendor/github.com/openshift/api/operator/install.go new file mode 100644 index 000000000..9cbf25a4b --- /dev/null +++ b/vendor/github.com/openshift/api/operator/install.go @@ -0,0 +1,27 @@ +package operator + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + operatorv1 "github.com/openshift/api/operator/v1" + operatorv1alpha1 "github.com/openshift/api/operator/v1alpha1" +) + +const ( + GroupName = "operator.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(operatorv1alpha1.Install, operatorv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/operator/v1/doc.go b/vendor/github.com/openshift/api/operator/v1/doc.go new file mode 100644 index 000000000..349ba71e0 --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1/doc.go @@ -0,0 +1,6 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=operator.openshift.io +package v1 diff --git a/vendor/github.com/openshift/api/operator/v1/register.go b/vendor/github.com/openshift/api/operator/v1/register.go new file mode 100644 index 000000000..bcb1e4b5c --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1/register.go @@ -0,0 +1,37 @@ +package v1 + +import ( + configv1 "github.com/openshift/api/config/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "operator.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, configv1.Install) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func addKnownTypes(scheme *runtime.Scheme) error { + metav1.AddToGroupVersion(scheme, GroupVersion) + + scheme.AddKnownTypes(GroupVersion) + + return nil +} diff --git a/vendor/github.com/openshift/api/operator/v1/types.go b/vendor/github.com/openshift/api/operator/v1/types.go new file mode 100644 index 000000000..7e08da2ec --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1/types.go @@ -0,0 +1,204 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// MyOperatorResource is an example operator configuration type +type MyOperatorResource struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata"` + + Spec MyOperatorResourceSpec `json:"spec"` + Status MyOperatorResourceStatus `json:"status"` +} + +type MyOperatorResourceSpec struct { + OperatorSpec `json:",inline"` +} + +type MyOperatorResourceStatus struct { + OperatorStatus `json:",inline"` +} + +type ManagementState string + +var ( + // Force means that the operator is actively managing its resources but will not block an upgrade + // if unmet prereqs exist. This state puts the operator at risk for unsuccessful upgrades + Force ManagementState = "Force" + // Managed means that the operator is actively managing its resources and trying to keep the component active. + // It will only upgrade the component if it is safe to do so + Managed ManagementState = "Managed" + // Unmanaged means that the operator will not take any action related to the component + Unmanaged ManagementState = "Unmanaged" + // Removed means that the operator is actively managing its resources and trying to remove all traces of the component + Removed ManagementState = "Removed" +) + +// OperatorSpec contains common fields operators need. It is intended to be anonymous included +// inside of the Spec struct for your particular operator. +type OperatorSpec struct { + // managementState indicates whether and how the operator should manage the component + ManagementState ManagementState `json:"managementState"` + + // logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a + // simple way to manage coarse grained logging choices that operators have to interpret for their operands. + LogLevel LogLevel `json:"logLevel"` + + // operandSpecs provide customization for functional units within the component + OperandSpecs []OperandSpec `json:"operandSpecs"` + + // unsupportedConfigOverrides holds a sparse config that will override any previously set options. It only needs to be the fields to override + // it will end up overlaying in the following order: + // 1. hardcoded defaults + // 2. observedConfig + // 3. unsupportedConfigOverrides + UnsupportedConfigOverrides runtime.RawExtension `json:"unsupportedConfigOverrides"` + + // observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because + // it is an input to the level for the operator + ObservedConfig runtime.RawExtension `json:"observedConfig"` +} + +type LogLevel string + +var ( + // Normal is the default. Normal, working log information, everything is fine, but helpful notices for auditing or common operations. In kube, this is probably glog=2. + Normal LogLevel = "Normal" + + // Debug is used when something went wrong. Even common operations may be logged, and less helpful but more quantity of notices. In kube, this is probably glog=4. + Debug LogLevel = "Debug" + + // Trace is used when something went really badly and even more verbose logs are needed. Logging every function call as part of a common operation, to tracing execution of a query. In kube, this is probably glog=6. + Trace LogLevel = "Trace" + + // TraceAll is used when something is broken at the level of API content/decoding. It will dump complete body content. If you turn this on in a production cluster + // prepare from serious performance issues and massive amounts of logs. In kube, this is probably glog=8. + TraceAll LogLevel = "TraceAll" +) + +// ResourcePatch is a way to represent the patch you would issue to `kubectl patch` in the API +type ResourcePatch struct { + // type is the type of patch to apply: jsonmerge, strategicmerge + Type string `json:"type"` + // patch the patch itself + Patch string `json:"patch"` +} + +// OperandSpec holds information for customization of a particular functional unit - logically maps to a workload +type OperandSpec struct { + // name is the name of this unit. The operator must be aware of it. + Name string `json:"name"` + + // operandContainerSpecs are per-container options + OperandContainerSpecs []OperandContainerSpec `json:"operandContainerSpecs"` + + // unsupportedResourcePatches are applied to the workload resource for this unit. This is an unsupported + // workaround if anything needs to be modified on the workload that is not otherwise configurable. + // TODO Decide: alternatively, we could simply include a RawExtension which is used in place of the "normal" default manifest + UnsupportedResourcePatches []ResourcePatch `json:"unsupportedResourcePatches"` +} + +type OperandContainerSpec struct { + // name is the name of the container to modify + Name string `json:"name"` + + // resources are the requests and limits to place in the container. Nil means to accept the defaults. + Resources *corev1.ResourceRequirements `json:"resources,omitempty"` +} + +type OperatorStatus struct { + // observedGeneration is the last generation change you've dealt with + // +optional + ObservedGeneration int64 `json:"observedGeneration,omitempty"` + + // conditions is a list of conditions and their status + Conditions []OperatorCondition `json:"conditions,omitempty"` + + // version is the level this availability applies to + Version string `json:"version"` + + // readyReplicas indicates how many replicas are ready and at the desired state + ReadyReplicas int32 `json:"readyReplicas"` + + // generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction. + Generations []GenerationStatus `json:"generations"` +} + +// GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made. +type GenerationStatus struct { + // group is the group of the thing you're tracking + Group string `json:"group"` + // resource is the resource type of the thing you're tracking + Resource string `json:"resource"` + // namespace is where the thing you're tracking is + Namespace string `json:"namespace"` + // name is the name of the thing you're tracking + Name string `json:"name"` + // lastGeneration is the last generation of the workload controller involved + LastGeneration int64 `json:"lastGeneration"` + // hash is an optional field set for resources without generation that are content sensitive like secrets and configmaps + Hash string `json:"hash"` +} + +var ( + // Available indicates that the operand is present and accessible in the cluster + OperatorStatusTypeAvailable = "Available" + // Progressing indicates that the operator is trying to transition the operand to a different state + OperatorStatusTypeProgressing = "Progressing" + // Failing indicates that the operator (not the operand) is unable to fulfill the user intent + OperatorStatusTypeFailing = "Failing" + // PrereqsSatisfied indicates that the things this operator depends on are present and at levels compatible with the + // current and desired states. + OperatorStatusTypePrereqsSatisfied = "PrereqsSatisfied" + // Upgradeable indicates that the operator configuration itself (not prereqs) can be auto-upgraded by the CVO + OperatorStatusTypeUpgradeable = "Upgradeable" +) + +// OperatorCondition is just the standard condition fields. +type OperatorCondition struct { + Type string `json:"type"` + Status ConditionStatus `json:"status"` + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` + Reason string `json:"reason,omitempty"` + Message string `json:"message,omitempty"` +} + +type ConditionStatus string + +const ( + ConditionTrue ConditionStatus = "True" + ConditionFalse ConditionStatus = "False" + ConditionUnknown ConditionStatus = "Unknown" +) + +// StaticPodOperatorStatus is status for controllers that manage static pods. There are different needs because individual +// node status must be tracked. +type StaticPodOperatorStatus struct { + OperatorStatus `json:",inline"` + + // latestAvailableRevision is the deploymentID of the most recent deployment + LatestAvailableRevision int32 `json:"latestAvailableRevision"` + + // nodeStatuses track the deployment values and errors across individual nodes + NodeStatuses []NodeStatus `json:"nodeStatuses"` +} + +// NodeStatus provides information about the current state of a particular node managed by this operator. +type NodeStatus struct { + // nodeName is the name of the node + NodeName string `json:"nodeName"` + + // currentRevision is the generation of the most recently successful deployment + CurrentRevision int32 `json:"currentRevision"` + // targetRevision is the generation of the deployment we're trying to apply + TargetRevision int32 `json:"targetRevision"` + // lastFailedRevision is the generation of the deployment we tried and failed to deploy. + LastFailedRevision int32 `json:"lastFailedRevision"` + + // lastFailedRevisionErrors is a list of the errors during the failed deployment referenced in lastFailedRevision + LastFailedRevisionErrors []string `json:"lastFailedRevisionErrors"` +} diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..bd712a34b --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go @@ -0,0 +1,263 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenerationStatus) DeepCopyInto(out *GenerationStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenerationStatus. +func (in *GenerationStatus) DeepCopy() *GenerationStatus { + if in == nil { + return nil + } + out := new(GenerationStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MyOperatorResource) DeepCopyInto(out *MyOperatorResource) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MyOperatorResource. +func (in *MyOperatorResource) DeepCopy() *MyOperatorResource { + if in == nil { + return nil + } + out := new(MyOperatorResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MyOperatorResourceSpec) DeepCopyInto(out *MyOperatorResourceSpec) { + *out = *in + in.OperatorSpec.DeepCopyInto(&out.OperatorSpec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MyOperatorResourceSpec. +func (in *MyOperatorResourceSpec) DeepCopy() *MyOperatorResourceSpec { + if in == nil { + return nil + } + out := new(MyOperatorResourceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MyOperatorResourceStatus) DeepCopyInto(out *MyOperatorResourceStatus) { + *out = *in + in.OperatorStatus.DeepCopyInto(&out.OperatorStatus) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MyOperatorResourceStatus. +func (in *MyOperatorResourceStatus) DeepCopy() *MyOperatorResourceStatus { + if in == nil { + return nil + } + out := new(MyOperatorResourceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeStatus) DeepCopyInto(out *NodeStatus) { + *out = *in + if in.LastFailedRevisionErrors != nil { + in, out := &in.LastFailedRevisionErrors, &out.LastFailedRevisionErrors + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus. +func (in *NodeStatus) DeepCopy() *NodeStatus { + if in == nil { + return nil + } + out := new(NodeStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperandContainerSpec) DeepCopyInto(out *OperandContainerSpec) { + *out = *in + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ResourceRequirements) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperandContainerSpec. +func (in *OperandContainerSpec) DeepCopy() *OperandContainerSpec { + if in == nil { + return nil + } + out := new(OperandContainerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperandSpec) DeepCopyInto(out *OperandSpec) { + *out = *in + if in.OperandContainerSpecs != nil { + in, out := &in.OperandContainerSpecs, &out.OperandContainerSpecs + *out = make([]OperandContainerSpec, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UnsupportedResourcePatches != nil { + in, out := &in.UnsupportedResourcePatches, &out.UnsupportedResourcePatches + *out = make([]ResourcePatch, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperandSpec. +func (in *OperandSpec) DeepCopy() *OperandSpec { + if in == nil { + return nil + } + out := new(OperandSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorCondition) DeepCopyInto(out *OperatorCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorCondition. +func (in *OperatorCondition) DeepCopy() *OperatorCondition { + if in == nil { + return nil + } + out := new(OperatorCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorSpec) DeepCopyInto(out *OperatorSpec) { + *out = *in + if in.OperandSpecs != nil { + in, out := &in.OperandSpecs, &out.OperandSpecs + *out = make([]OperandSpec, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + in.UnsupportedConfigOverrides.DeepCopyInto(&out.UnsupportedConfigOverrides) + in.ObservedConfig.DeepCopyInto(&out.ObservedConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorSpec. +func (in *OperatorSpec) DeepCopy() *OperatorSpec { + if in == nil { + return nil + } + out := new(OperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorStatus) DeepCopyInto(out *OperatorStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]OperatorCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Generations != nil { + in, out := &in.Generations, &out.Generations + *out = make([]GenerationStatus, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorStatus. +func (in *OperatorStatus) DeepCopy() *OperatorStatus { + if in == nil { + return nil + } + out := new(OperatorStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourcePatch) DeepCopyInto(out *ResourcePatch) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePatch. +func (in *ResourcePatch) DeepCopy() *ResourcePatch { + if in == nil { + return nil + } + out := new(ResourcePatch) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StaticPodOperatorStatus) DeepCopyInto(out *StaticPodOperatorStatus) { + *out = *in + in.OperatorStatus.DeepCopyInto(&out.OperatorStatus) + if in.NodeStatuses != nil { + in, out := &in.NodeStatuses, &out.NodeStatuses + *out = make([]NodeStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticPodOperatorStatus. +func (in *StaticPodOperatorStatus) DeepCopy() *StaticPodOperatorStatus { + if in == nil { + return nil + } + out := new(StaticPodOperatorStatus) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..de1f72fea --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,122 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_GenerationStatus = map[string]string{ + "": "GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made.", + "group": "group is the group of the thing you're tracking", + "resource": "resource is the resource type of the thing you're tracking", + "namespace": "namespace is where the thing you're tracking is", + "name": "name is the name of the thing you're tracking", + "lastGeneration": "lastGeneration is the last generation of the workload controller involved", + "hash": "hash is an optional field set for resources without generation that are content sensitive like secrets and configmaps", +} + +func (GenerationStatus) SwaggerDoc() map[string]string { + return map_GenerationStatus +} + +var map_MyOperatorResource = map[string]string{ + "": "MyOperatorResource is an example operator configuration type", +} + +func (MyOperatorResource) SwaggerDoc() map[string]string { + return map_MyOperatorResource +} + +var map_NodeStatus = map[string]string{ + "": "NodeStatus provides information about the current state of a particular node managed by this operator.", + "nodeName": "nodeName is the name of the node", + "currentRevision": "currentRevision is the generation of the most recently successful deployment", + "targetRevision": "targetRevision is the generation of the deployment we're trying to apply", + "lastFailedRevision": "lastFailedRevision is the generation of the deployment we tried and failed to deploy.", + "lastFailedRevisionErrors": "lastFailedRevisionErrors is a list of the errors during the failed deployment referenced in lastFailedRevision", +} + +func (NodeStatus) SwaggerDoc() map[string]string { + return map_NodeStatus +} + +var map_OperandContainerSpec = map[string]string{ + "name": "name is the name of the container to modify", + "resources": "resources are the requests and limits to place in the container. Nil means to accept the defaults.", +} + +func (OperandContainerSpec) SwaggerDoc() map[string]string { + return map_OperandContainerSpec +} + +var map_OperandSpec = map[string]string{ + "": "OperandSpec holds information for customization of a particular functional unit - logically maps to a workload", + "name": "name is the name of this unit. The operator must be aware of it.", + "operandContainerSpecs": "operandContainerSpecs are per-container options", + "unsupportedResourcePatches": "unsupportedResourcePatches are applied to the workload resource for this unit. This is an unsupported workaround if anything needs to be modified on the workload that is not otherwise configurable.", +} + +func (OperandSpec) SwaggerDoc() map[string]string { + return map_OperandSpec +} + +var map_OperatorCondition = map[string]string{ + "": "OperatorCondition is just the standard condition fields.", +} + +func (OperatorCondition) SwaggerDoc() map[string]string { + return map_OperatorCondition +} + +var map_OperatorSpec = map[string]string{ + "": "OperatorSpec contains common fields operators need. It is intended to be anonymous included inside of the Spec struct for your particular operator.", + "managementState": "managementState indicates whether and how the operator should manage the component", + "logLevel": "logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for their operands.", + "operandSpecs": "operandSpecs provide customization for functional units within the component", + "unsupportedConfigOverrides": "unsupportedConfigOverrides holds a sparse config that will override any previously set options. It only needs to be the fields to override it will end up overlaying in the following order: 1. hardcoded defaults 2. observedConfig 3. unsupportedConfigOverrides", + "observedConfig": "observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because it is an input to the level for the operator", +} + +func (OperatorSpec) SwaggerDoc() map[string]string { + return map_OperatorSpec +} + +var map_OperatorStatus = map[string]string{ + "observedGeneration": "observedGeneration is the last generation change you've dealt with", + "conditions": "conditions is a list of conditions and their status", + "version": "version is the level this availability applies to", + "readyReplicas": "readyReplicas indicates how many replicas are ready and at the desired state", + "generations": "generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction.", +} + +func (OperatorStatus) SwaggerDoc() map[string]string { + return map_OperatorStatus +} + +var map_ResourcePatch = map[string]string{ + "": "ResourcePatch is a way to represent the patch you would issue to `kubectl patch` in the API", + "type": "type is the type of patch to apply: jsonmerge, strategicmerge", + "patch": "patch the patch itself", +} + +func (ResourcePatch) SwaggerDoc() map[string]string { + return map_ResourcePatch +} + +var map_StaticPodOperatorStatus = map[string]string{ + "": "StaticPodOperatorStatus is status for controllers that manage static pods. There are different needs because individual node status must be tracked.", + "latestAvailableRevision": "latestAvailableRevision is the deploymentID of the most recent deployment", + "nodeStatuses": "nodeStatuses track the deployment values and errors across individual nodes", +} + +func (StaticPodOperatorStatus) SwaggerDoc() map[string]string { + return map_StaticPodOperatorStatus +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/doc.go b/vendor/github.com/openshift/api/operator/v1alpha1/doc.go new file mode 100644 index 000000000..9d1871953 --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1alpha1/doc.go @@ -0,0 +1,6 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=operator.openshift.io +package v1alpha1 diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/register.go b/vendor/github.com/openshift/api/operator/v1alpha1/register.go new file mode 100644 index 000000000..5ddbdeb0e --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1alpha1/register.go @@ -0,0 +1,39 @@ +package v1alpha1 + +import ( + configv1 "github.com/openshift/api/config/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "operator.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, configv1.Install) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func addKnownTypes(scheme *runtime.Scheme) error { + metav1.AddToGroupVersion(scheme, GroupVersion) + + scheme.AddKnownTypes(GroupVersion, + &GenericOperatorConfig{}, + ) + + return nil +} diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/types.go b/vendor/github.com/openshift/api/operator/v1alpha1/types.go new file mode 100644 index 000000000..8f2e5be24 --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1alpha1/types.go @@ -0,0 +1,180 @@ +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + configv1 "github.com/openshift/api/config/v1" +) + +type ManagementState string + +const ( + // Managed means that the operator is actively managing its resources and trying to keep the component active + Managed ManagementState = "Managed" + // Unmanaged means that the operator is not taking any action related to the component + Unmanaged ManagementState = "Unmanaged" + // Removed means that the operator is actively managing its resources and trying to remove all traces of the component + Removed ManagementState = "Removed" +) + +// OperatorSpec contains common fields for an operator to need. It is intended to be anonymous included +// inside of the Spec struct for you particular operator. +type OperatorSpec struct { + // managementState indicates whether and how the operator should manage the component + ManagementState ManagementState `json:"managementState"` + + // imagePullSpec is the image to use for the component. + ImagePullSpec string `json:"imagePullSpec"` + + // imagePullPolicy specifies the image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, + // or IfNotPresent otherwise. + ImagePullPolicy string `json:"imagePullPolicy"` + + // version is the desired state in major.minor.micro-patch. Usually patch is ignored. + Version string `json:"version"` + + // logging contains glog parameters for the component pods. It's always a command line arg for the moment + Logging LoggingConfig `json:"logging,omitempty"` +} + +// LoggingConfig holds information about configuring logging +type LoggingConfig struct { + // level is passed to glog. + Level int64 `json:"level"` + + // vmodule is passed to glog. + Vmodule string `json:"vmodule"` +} + +type ConditionStatus string + +const ( + ConditionTrue ConditionStatus = "True" + ConditionFalse ConditionStatus = "False" + ConditionUnknown ConditionStatus = "Unknown" + + // these conditions match the conditions for the ClusterOperator type. + OperatorStatusTypeAvailable = "Available" + OperatorStatusTypeProgressing = "Progressing" + OperatorStatusTypeFailing = "Failing" + + OperatorStatusTypeMigrating = "Migrating" + // TODO this is going to be removed + OperatorStatusTypeSyncSuccessful = "SyncSuccessful" +) + +// OperatorCondition is just the standard condition fields. +type OperatorCondition struct { + Type string `json:"type"` + Status ConditionStatus `json:"status"` + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` + Reason string `json:"reason,omitempty"` + Message string `json:"message,omitempty"` +} + +// VersionAvailability gives information about the synchronization and operational status of a particular version of the component +type VersionAvailability struct { + // version is the level this availability applies to + Version string `json:"version"` + // updatedReplicas indicates how many replicas are at the desired state + UpdatedReplicas int32 `json:"updatedReplicas"` + // readyReplicas indicates how many replicas are ready and at the desired state + ReadyReplicas int32 `json:"readyReplicas"` + // errors indicates what failures are associated with the operator trying to manage this version + Errors []string `json:"errors"` + // generations allows an operator to track what the generation of "important" resources was the last time we updated them + Generations []GenerationHistory `json:"generations"` +} + +// GenerationHistory keeps track of the generation for a given resource so that decisions about forced updated can be made. +type GenerationHistory struct { + // group is the group of the thing you're tracking + Group string `json:"group"` + // resource is the resource type of the thing you're tracking + Resource string `json:"resource"` + // namespace is where the thing you're tracking is + Namespace string `json:"namespace"` + // name is the name of the thing you're tracking + Name string `json:"name"` + // lastGeneration is the last generation of the workload controller involved + LastGeneration int64 `json:"lastGeneration"` +} + +// OperatorStatus contains common fields for an operator to need. It is intended to be anonymous included +// inside of the Status struct for you particular operator. +type OperatorStatus struct { + // observedGeneration is the last generation change you've dealt with + ObservedGeneration int64 `json:"observedGeneration,omitempty"` + + // conditions is a list of conditions and their status + Conditions []OperatorCondition `json:"conditions,omitempty"` + + // state indicates what the operator has observed to be its current operational status. + State ManagementState `json:"state,omitempty"` + // taskSummary is a high level summary of what the controller is currently attempting to do. It is high-level, human-readable + // and not guaranteed in any way. (I needed this for debugging and realized it made a great summary). + TaskSummary string `json:"taskSummary,omitempty"` + + // currentVersionAvailability is availability information for the current version. If it is unmanged or removed, this doesn't exist. + CurrentAvailability *VersionAvailability `json:"currentVersionAvailability,omitempty"` + // targetVersionAvailability is availability information for the target version if we are migrating + TargetAvailability *VersionAvailability `json:"targetVersionAvailability,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GenericOperatorConfig provides information to configure an operator +type GenericOperatorConfig struct { + metav1.TypeMeta `json:",inline"` + + // ServingInfo is the HTTP serving information for the controller's endpoints + ServingInfo configv1.HTTPServingInfo `json:"servingInfo,omitempty"` + + // leaderElection provides information to elect a leader. Only override this if you have a specific need + LeaderElection configv1.LeaderElection `json:"leaderElection,omitempty"` + + // authentication allows configuration of authentication for the endpoints + Authentication DelegatedAuthentication `json:"authentication,omitempty"` + // authorization allows configuration of authentication for the endpoints + Authorization DelegatedAuthorization `json:"authorization,omitempty"` +} + +// DelegatedAuthentication allows authentication to be disabled. +type DelegatedAuthentication struct { + // disabled indicates that authentication should be disabled. By default it will use delegated authentication. + Disabled bool `json:"disabled,omitempty"` +} + +// DelegatedAuthorization allows authorization to be disabled. +type DelegatedAuthorization struct { + // disabled indicates that authorization should be disabled. By default it will use delegated authorization. + Disabled bool `json:"disabled,omitempty"` +} + +// StaticPodOperatorStatus is status for controllers that manage static pods. There are different needs because individual +// node status must be tracked. +type StaticPodOperatorStatus struct { + OperatorStatus `json:",inline"` + + // latestAvailableDeploymentGeneration is the deploymentID of the most recent deployment + LatestAvailableDeploymentGeneration int32 `json:"latestAvailableDeploymentGeneration"` + + // nodeStatuses track the deployment values and errors across individual nodes + NodeStatuses []NodeStatus `json:"nodeStatuses"` +} + +// NodeStatus provides information about the current state of a particular node managed by this operator. +type NodeStatus struct { + // nodeName is the name of the node + NodeName string `json:"nodeName"` + + // currentDeploymentGeneration is the generation of the most recently successful deployment + CurrentDeploymentGeneration int32 `json:"currentDeploymentGeneration"` + // targetDeploymentGeneration is the generation of the deployment we're trying to apply + TargetDeploymentGeneration int32 `json:"targetDeploymentGeneration"` + // lastFailedDeploymentGeneration is the generation of the deployment we tried and failed to deploy. + LastFailedDeploymentGeneration int32 `json:"lastFailedDeploymentGeneration"` + + // lastFailedDeploymentGenerationErrors is a list of the errors during the failed deployment referenced in lastFailedDeploymentGeneration + LastFailedDeploymentErrors []string `json:"lastFailedDeploymentErrors"` +} diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..0004598b5 --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,248 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedAuthentication) DeepCopyInto(out *DelegatedAuthentication) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedAuthentication. +func (in *DelegatedAuthentication) DeepCopy() *DelegatedAuthentication { + if in == nil { + return nil + } + out := new(DelegatedAuthentication) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedAuthorization) DeepCopyInto(out *DelegatedAuthorization) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedAuthorization. +func (in *DelegatedAuthorization) DeepCopy() *DelegatedAuthorization { + if in == nil { + return nil + } + out := new(DelegatedAuthorization) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenerationHistory) DeepCopyInto(out *GenerationHistory) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenerationHistory. +func (in *GenerationHistory) DeepCopy() *GenerationHistory { + if in == nil { + return nil + } + out := new(GenerationHistory) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GenericOperatorConfig) DeepCopyInto(out *GenericOperatorConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + out.LeaderElection = in.LeaderElection + out.Authentication = in.Authentication + out.Authorization = in.Authorization + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericOperatorConfig. +func (in *GenericOperatorConfig) DeepCopy() *GenericOperatorConfig { + if in == nil { + return nil + } + out := new(GenericOperatorConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GenericOperatorConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LoggingConfig) DeepCopyInto(out *LoggingConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingConfig. +func (in *LoggingConfig) DeepCopy() *LoggingConfig { + if in == nil { + return nil + } + out := new(LoggingConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeStatus) DeepCopyInto(out *NodeStatus) { + *out = *in + if in.LastFailedDeploymentErrors != nil { + in, out := &in.LastFailedDeploymentErrors, &out.LastFailedDeploymentErrors + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus. +func (in *NodeStatus) DeepCopy() *NodeStatus { + if in == nil { + return nil + } + out := new(NodeStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorCondition) DeepCopyInto(out *OperatorCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorCondition. +func (in *OperatorCondition) DeepCopy() *OperatorCondition { + if in == nil { + return nil + } + out := new(OperatorCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorSpec) DeepCopyInto(out *OperatorSpec) { + *out = *in + out.Logging = in.Logging + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorSpec. +func (in *OperatorSpec) DeepCopy() *OperatorSpec { + if in == nil { + return nil + } + out := new(OperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OperatorStatus) DeepCopyInto(out *OperatorStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]OperatorCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CurrentAvailability != nil { + in, out := &in.CurrentAvailability, &out.CurrentAvailability + if *in == nil { + *out = nil + } else { + *out = new(VersionAvailability) + (*in).DeepCopyInto(*out) + } + } + if in.TargetAvailability != nil { + in, out := &in.TargetAvailability, &out.TargetAvailability + if *in == nil { + *out = nil + } else { + *out = new(VersionAvailability) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorStatus. +func (in *OperatorStatus) DeepCopy() *OperatorStatus { + if in == nil { + return nil + } + out := new(OperatorStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *StaticPodOperatorStatus) DeepCopyInto(out *StaticPodOperatorStatus) { + *out = *in + in.OperatorStatus.DeepCopyInto(&out.OperatorStatus) + if in.NodeStatuses != nil { + in, out := &in.NodeStatuses, &out.NodeStatuses + *out = make([]NodeStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticPodOperatorStatus. +func (in *StaticPodOperatorStatus) DeepCopy() *StaticPodOperatorStatus { + if in == nil { + return nil + } + out := new(StaticPodOperatorStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionAvailability) DeepCopyInto(out *VersionAvailability) { + *out = *in + if in.Errors != nil { + in, out := &in.Errors, &out.Errors + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Generations != nil { + in, out := &in.Generations, &out.Generations + *out = make([]GenerationHistory, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionAvailability. +func (in *VersionAvailability) DeepCopy() *VersionAvailability { + if in == nil { + return nil + } + out := new(VersionAvailability) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..76b45b056 --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,138 @@ +package v1alpha1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_DelegatedAuthentication = map[string]string{ + "": "DelegatedAuthentication allows authentication to be disabled.", + "disabled": "disabled indicates that authentication should be disabled. By default it will use delegated authentication.", +} + +func (DelegatedAuthentication) SwaggerDoc() map[string]string { + return map_DelegatedAuthentication +} + +var map_DelegatedAuthorization = map[string]string{ + "": "DelegatedAuthorization allows authorization to be disabled.", + "disabled": "disabled indicates that authorization should be disabled. By default it will use delegated authorization.", +} + +func (DelegatedAuthorization) SwaggerDoc() map[string]string { + return map_DelegatedAuthorization +} + +var map_GenerationHistory = map[string]string{ + "": "GenerationHistory keeps track of the generation for a given resource so that decisions about forced updated can be made.", + "group": "group is the group of the thing you're tracking", + "resource": "resource is the resource type of the thing you're tracking", + "namespace": "namespace is where the thing you're tracking is", + "name": "name is the name of the thing you're tracking", + "lastGeneration": "lastGeneration is the last generation of the workload controller involved", +} + +func (GenerationHistory) SwaggerDoc() map[string]string { + return map_GenerationHistory +} + +var map_GenericOperatorConfig = map[string]string{ + "": "GenericOperatorConfig provides information to configure an operator", + "servingInfo": "ServingInfo is the HTTP serving information for the controller's endpoints", + "leaderElection": "leaderElection provides information to elect a leader. Only override this if you have a specific need", + "authentication": "authentication allows configuration of authentication for the endpoints", + "authorization": "authorization allows configuration of authentication for the endpoints", +} + +func (GenericOperatorConfig) SwaggerDoc() map[string]string { + return map_GenericOperatorConfig +} + +var map_LoggingConfig = map[string]string{ + "": "LoggingConfig holds information about configuring logging", + "level": "level is passed to glog.", + "vmodule": "vmodule is passed to glog.", +} + +func (LoggingConfig) SwaggerDoc() map[string]string { + return map_LoggingConfig +} + +var map_NodeStatus = map[string]string{ + "": "NodeStatus provides information about the current state of a particular node managed by this operator.", + "nodeName": "nodeName is the name of the node", + "currentDeploymentGeneration": "currentDeploymentGeneration is the generation of the most recently successful deployment", + "targetDeploymentGeneration": "targetDeploymentGeneration is the generation of the deployment we're trying to apply", + "lastFailedDeploymentGeneration": "lastFailedDeploymentGeneration is the generation of the deployment we tried and failed to deploy.", + "lastFailedDeploymentErrors": "lastFailedDeploymentGenerationErrors is a list of the errors during the failed deployment referenced in lastFailedDeploymentGeneration", +} + +func (NodeStatus) SwaggerDoc() map[string]string { + return map_NodeStatus +} + +var map_OperatorCondition = map[string]string{ + "": "OperatorCondition is just the standard condition fields.", +} + +func (OperatorCondition) SwaggerDoc() map[string]string { + return map_OperatorCondition +} + +var map_OperatorSpec = map[string]string{ + "": "OperatorSpec contains common fields for an operator to need. It is intended to be anonymous included inside of the Spec struct for you particular operator.", + "managementState": "managementState indicates whether and how the operator should manage the component", + "imagePullSpec": "imagePullSpec is the image to use for the component.", + "imagePullPolicy": "imagePullPolicy specifies the image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.", + "version": "version is the desired state in major.minor.micro-patch. Usually patch is ignored.", + "logging": "logging contains glog parameters for the component pods. It's always a command line arg for the moment", +} + +func (OperatorSpec) SwaggerDoc() map[string]string { + return map_OperatorSpec +} + +var map_OperatorStatus = map[string]string{ + "": "OperatorStatus contains common fields for an operator to need. It is intended to be anonymous included inside of the Status struct for you particular operator.", + "observedGeneration": "observedGeneration is the last generation change you've dealt with", + "conditions": "conditions is a list of conditions and their status", + "state": "state indicates what the operator has observed to be its current operational status.", + "taskSummary": "taskSummary is a high level summary of what the controller is currently attempting to do. It is high-level, human-readable and not guaranteed in any way. (I needed this for debugging and realized it made a great summary).", + "currentVersionAvailability": "currentVersionAvailability is availability information for the current version. If it is unmanged or removed, this doesn't exist.", + "targetVersionAvailability": "targetVersionAvailability is availability information for the target version if we are migrating", +} + +func (OperatorStatus) SwaggerDoc() map[string]string { + return map_OperatorStatus +} + +var map_StaticPodOperatorStatus = map[string]string{ + "": "StaticPodOperatorStatus is status for controllers that manage static pods. There are different needs because individual node status must be tracked.", + "latestAvailableDeploymentGeneration": "latestAvailableDeploymentGeneration is the deploymentID of the most recent deployment", + "nodeStatuses": "nodeStatuses track the deployment values and errors across individual nodes", +} + +func (StaticPodOperatorStatus) SwaggerDoc() map[string]string { + return map_StaticPodOperatorStatus +} + +var map_VersionAvailability = map[string]string{ + "": "VersionAvailability gives information about the synchronization and operational status of a particular version of the component", + "version": "version is the level this availability applies to", + "updatedReplicas": "updatedReplicas indicates how many replicas are at the desired state", + "readyReplicas": "readyReplicas indicates how many replicas are ready and at the desired state", + "errors": "errors indicates what failures are associated with the operator trying to manage this version", + "generations": "generations allows an operator to track what the generation of \"important\" resources was the last time we updated them", +} + +func (VersionAvailability) SwaggerDoc() map[string]string { + return map_VersionAvailability +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/osin/install.go b/vendor/github.com/openshift/api/osin/install.go new file mode 100644 index 000000000..3f773985b --- /dev/null +++ b/vendor/github.com/openshift/api/osin/install.go @@ -0,0 +1,26 @@ +package osin + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + osinv1 "github.com/openshift/api/osin/v1" +) + +const ( + GroupName = "osin.config.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(osinv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/osin/v1/doc.go b/vendor/github.com/openshift/api/osin/v1/doc.go new file mode 100644 index 000000000..b74dfc48a --- /dev/null +++ b/vendor/github.com/openshift/api/osin/v1/doc.go @@ -0,0 +1,7 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=osin.config.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/osin/v1/register.go b/vendor/github.com/openshift/api/osin/v1/register.go new file mode 100644 index 000000000..3b4cab811 --- /dev/null +++ b/vendor/github.com/openshift/api/osin/v1/register.go @@ -0,0 +1,46 @@ +package v1 + +import ( + configv1 "github.com/openshift/api/config/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "osin.config.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, configv1.Install) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &BasicAuthPasswordIdentityProvider{}, + &AllowAllPasswordIdentityProvider{}, + &DenyAllPasswordIdentityProvider{}, + &HTPasswdPasswordIdentityProvider{}, + &LDAPPasswordIdentityProvider{}, + &KeystonePasswordIdentityProvider{}, + &RequestHeaderIdentityProvider{}, + &GitHubIdentityProvider{}, + &GitLabIdentityProvider{}, + &GoogleIdentityProvider{}, + &OpenIDIdentityProvider{}, + ) + return nil +} diff --git a/vendor/github.com/openshift/api/osin/v1/types.go b/vendor/github.com/openshift/api/osin/v1/types.go new file mode 100644 index 000000000..3e60b152a --- /dev/null +++ b/vendor/github.com/openshift/api/osin/v1/types.go @@ -0,0 +1,371 @@ +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + + configv1 "github.com/openshift/api/config/v1" +) + +// OAuthConfig holds the necessary configuration options for OAuth authentication +type OAuthConfig struct { + // masterCA is the CA for verifying the TLS connection back to the MasterURL. + MasterCA *string `json:"masterCA"` + + // masterURL is used for making server-to-server calls to exchange authorization codes for access tokens + MasterURL string `json:"masterURL"` + + // masterPublicURL is used for building valid client redirect URLs for internal and external access + MasterPublicURL string `json:"masterPublicURL"` + + // assetPublicURL is used for building valid client redirect URLs for external access + AssetPublicURL string `json:"assetPublicURL"` + + // alwaysShowProviderSelection will force the provider selection page to render even when there is only a single provider. + AlwaysShowProviderSelection bool `json:"alwaysShowProviderSelection"` + + //identityProviders is an ordered list of ways for a user to identify themselves + IdentityProviders []IdentityProvider `json:"identityProviders"` + + // grantConfig describes how to handle grants + GrantConfig GrantConfig `json:"grantConfig"` + + // sessionConfig hold information about configuring sessions. + SessionConfig *SessionConfig `json:"sessionConfig"` + + // tokenConfig contains options for authorization and access tokens + TokenConfig TokenConfig `json:"tokenConfig"` + + // templates allow you to customize pages like the login page. + Templates *OAuthTemplates `json:"templates"` +} + +// OAuthTemplates allow for customization of pages like the login page +type OAuthTemplates struct { + // login is a path to a file containing a go template used to render the login page. + // If unspecified, the default login page is used. + Login string `json:"login"` + + // providerSelection is a path to a file containing a go template used to render the provider selection page. + // If unspecified, the default provider selection page is used. + ProviderSelection string `json:"providerSelection"` + + // error is a path to a file containing a go template used to render error pages during the authentication or grant flow + // If unspecified, the default error page is used. + Error string `json:"error"` +} + +// IdentityProvider provides identities for users authenticating using credentials +type IdentityProvider struct { + // name is used to qualify the identities returned by this provider + Name string `json:"name"` + // challenge indicates whether to issue WWW-Authenticate challenges for this provider + UseAsChallenger bool `json:"challenge"` + // login indicates whether to use this identity provider for unauthenticated browsers to login against + UseAsLogin bool `json:"login"` + // mappingMethod determines how identities from this provider are mapped to users + MappingMethod string `json:"mappingMethod"` + // provider contains the information about how to set up a specific identity provider + Provider runtime.RawExtension `json:"provider"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BasicAuthPasswordIdentityProvider provides identities for users authenticating using HTTP basic auth credentials +type BasicAuthPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // RemoteConnectionInfo contains information about how to connect to the external basic auth server + configv1.RemoteConnectionInfo `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// AllowAllPasswordIdentityProvider provides identities for users authenticating using non-empty passwords +type AllowAllPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// DenyAllPasswordIdentityProvider provides no identities for users +type DenyAllPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// HTPasswdPasswordIdentityProvider provides identities for users authenticating using htpasswd credentials +type HTPasswdPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // file is a reference to your htpasswd file + File string `json:"file"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// LDAPPasswordIdentityProvider provides identities for users authenticating using LDAP credentials +type LDAPPasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + // url is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is + // ldap://host:port/basedn?attribute?scope?filter + URL string `json:"url"` + // bindDN is an optional DN to bind with during the search phase. + BindDN string `json:"bindDN"` + // bindPassword is an optional password to bind with during the search phase. + BindPassword configv1.StringSource `json:"bindPassword"` + + // insecure, if true, indicates the connection should not use TLS. + // Cannot be set to true with a URL scheme of "ldaps://" + // If false, "ldaps://" URLs connect using TLS, and "ldap://" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830 + Insecure bool `json:"insecure"` + // ca is the optional trusted certificate authority bundle to use when making requests to the server + // If empty, the default system roots are used + CA string `json:"ca"` + // attributes maps LDAP attributes to identities + Attributes LDAPAttributeMapping `json:"attributes"` +} + +// LDAPAttributeMapping maps LDAP attributes to OpenShift identity fields +type LDAPAttributeMapping struct { + // id is the list of attributes whose values should be used as the user ID. Required. + // LDAP standard identity attribute is "dn" + ID []string `json:"id"` + // preferredUsername is the list of attributes whose values should be used as the preferred username. + // LDAP standard login attribute is "uid" + PreferredUsername []string `json:"preferredUsername"` + // name is the list of attributes whose values should be used as the display name. Optional. + // If unspecified, no display name is set for the identity + // LDAP standard display name attribute is "cn" + Name []string `json:"name"` + // email is the list of attributes whose values should be used as the email address. Optional. + // If unspecified, no email is set for the identity + Email []string `json:"email"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// KeystonePasswordIdentityProvider provides identities for users authenticating using keystone password credentials +type KeystonePasswordIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + // RemoteConnectionInfo contains information about how to connect to the keystone server + configv1.RemoteConnectionInfo `json:",inline"` + // domainName is required for keystone v3 + DomainName string `json:"domainName"` + // useKeystoneIdentity flag indicates that user should be authenticated by keystone ID, not by username + UseKeystoneIdentity bool `json:"useKeystoneIdentity"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RequestHeaderIdentityProvider provides identities for users authenticating using request header credentials +type RequestHeaderIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // loginURL is a URL to redirect unauthenticated /authorize requests to + // Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here + // ${url} is replaced with the current URL, escaped to be safe in a query parameter + // https://www.example.com/sso-login?then=${url} + // ${query} is replaced with the current query string + // https://www.example.com/auth-proxy/oauth/authorize?${query} + LoginURL string `json:"loginURL"` + + // challengeURL is a URL to redirect unauthenticated /authorize requests to + // Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be redirected here + // ${url} is replaced with the current URL, escaped to be safe in a query parameter + // https://www.example.com/sso-login?then=${url} + // ${query} is replaced with the current query string + // https://www.example.com/auth-proxy/oauth/authorize?${query} + ChallengeURL string `json:"challengeURL"` + + // clientCA is a file with the trusted signer certs. If empty, no request verification is done, and any direct request to the OAuth server can impersonate any identity from this provider, merely by setting a request header. + ClientCA string `json:"clientCA"` + // clientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative. + ClientCommonNames []string `json:"clientCommonNames"` + + // headers is the set of headers to check for identity information + Headers []string `json:"headers"` + // preferredUsernameHeaders is the set of headers to check for the preferred username + PreferredUsernameHeaders []string `json:"preferredUsernameHeaders"` + // nameHeaders is the set of headers to check for the display name + NameHeaders []string `json:"nameHeaders"` + // emailHeaders is the set of headers to check for the email address + EmailHeaders []string `json:"emailHeaders"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GitHubIdentityProvider provides identities for users authenticating using GitHub credentials +type GitHubIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // clientID is the oauth client ID + ClientID string `json:"clientID"` + // clientSecret is the oauth client secret + ClientSecret configv1.StringSource `json:"clientSecret"` + // organizations optionally restricts which organizations are allowed to log in + Organizations []string `json:"organizations"` + // teams optionally restricts which teams are allowed to log in. Format is /. + Teams []string `json:"teams"` + // hostname is the optional domain (e.g. "mycompany.com") for use with a hosted instance of GitHub Enterprise. + // It must match the GitHub Enterprise settings value that is configured at /setup/settings#hostname. + Hostname string `json:"hostname"` + // ca is the optional trusted certificate authority bundle to use when making requests to the server. + // If empty, the default system roots are used. This can only be configured when hostname is set to a non-empty value. + CA string `json:"ca"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GitLabIdentityProvider provides identities for users authenticating using GitLab credentials +type GitLabIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // ca is the optional trusted certificate authority bundle to use when making requests to the server + // If empty, the default system roots are used + CA string `json:"ca"` + // url is the oauth server base URL + URL string `json:"url"` + // clientID is the oauth client ID + ClientID string `json:"clientID"` + // clientSecret is the oauth client secret + ClientSecret configv1.StringSource `json:"clientSecret"` + // legacy determines if OAuth2 or OIDC should be used + // If true, OAuth2 is used + // If false, OIDC is used + // If nil and the URL's host is gitlab.com, OIDC is used + // Otherwise, OAuth2 is used + // In a future release, nil will default to using OIDC + // Eventually this flag will be removed and only OIDC will be used + Legacy *bool `json:"legacy,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GoogleIdentityProvider provides identities for users authenticating using Google credentials +type GoogleIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // clientID is the oauth client ID + ClientID string `json:"clientID"` + // clientSecret is the oauth client secret + ClientSecret configv1.StringSource `json:"clientSecret"` + + // hostedDomain is the optional Google App domain (e.g. "mycompany.com") to restrict logins to + HostedDomain string `json:"hostedDomain"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OpenIDIdentityProvider provides identities for users authenticating using OpenID credentials +type OpenIDIdentityProvider struct { + metav1.TypeMeta `json:",inline"` + + // ca is the optional trusted certificate authority bundle to use when making requests to the server + // If empty, the default system roots are used + CA string `json:"ca"` + + // clientID is the oauth client ID + ClientID string `json:"clientID"` + // clientSecret is the oauth client secret + ClientSecret configv1.StringSource `json:"clientSecret"` + + // extraScopes are any scopes to request in addition to the standard "openid" scope. + ExtraScopes []string `json:"extraScopes"` + + // extraAuthorizeParameters are any custom parameters to add to the authorize request. + ExtraAuthorizeParameters map[string]string `json:"extraAuthorizeParameters"` + + // urls to use to authenticate + URLs OpenIDURLs `json:"urls"` + + // claims mappings + Claims OpenIDClaims `json:"claims"` +} + +// OpenIDURLs are URLs to use when authenticating with an OpenID identity provider +type OpenIDURLs struct { + // authorize is the oauth authorization URL + Authorize string `json:"authorize"` + // token is the oauth token granting URL + Token string `json:"token"` + // userInfo is the optional userinfo URL. + // If present, a granted access_token is used to request claims + // If empty, a granted id_token is parsed for claims + UserInfo string `json:"userInfo"` +} + +// OpenIDClaims contains a list of OpenID claims to use when authenticating with an OpenID identity provider +type OpenIDClaims struct { + // id is the list of claims whose values should be used as the user ID. Required. + // OpenID standard identity claim is "sub" + ID []string `json:"id"` + // preferredUsername is the list of claims whose values should be used as the preferred username. + // If unspecified, the preferred username is determined from the value of the id claim + PreferredUsername []string `json:"preferredUsername"` + // name is the list of claims whose values should be used as the display name. Optional. + // If unspecified, no display name is set for the identity + Name []string `json:"name"` + // email is the list of claims whose values should be used as the email address. Optional. + // If unspecified, no email is set for the identity + Email []string `json:"email"` +} + +// GrantConfig holds the necessary configuration options for grant handlers +type GrantConfig struct { + // method determines the default strategy to use when an OAuth client requests a grant. + // This method will be used only if the specific OAuth client doesn't provide a strategy + // of their own. Valid grant handling methods are: + // - auto: always approves grant requests, useful for trusted clients + // - prompt: prompts the end user for approval of grant requests, useful for third-party clients + // - deny: always denies grant requests, useful for black-listed clients + Method GrantHandlerType `json:"method"` + + // serviceAccountMethod is used for determining client authorization for service account oauth client. + // It must be either: deny, prompt + ServiceAccountMethod GrantHandlerType `json:"serviceAccountMethod"` +} + +type GrantHandlerType string + +const ( + // auto auto-approves client authorization grant requests + GrantHandlerAuto GrantHandlerType = "auto" + // prompt prompts the user to approve new client authorization grant requests + GrantHandlerPrompt GrantHandlerType = "prompt" + // deny auto-denies client authorization grant requests + GrantHandlerDeny GrantHandlerType = "deny" +) + +// SessionConfig specifies options for cookie-based sessions. Used by AuthRequestHandlerSession +type SessionConfig struct { + // sessionSecretsFile is a reference to a file containing a serialized SessionSecrets object + // If no file is specified, a random signing and encryption key are generated at each server start + SessionSecretsFile string `json:"sessionSecretsFile"` + // sessionMaxAgeSeconds specifies how long created sessions last. Used by AuthRequestHandlerSession + SessionMaxAgeSeconds int32 `json:"sessionMaxAgeSeconds"` + // sessionName is the cookie name used to store the session + SessionName string `json:"sessionName"` +} + +// TokenConfig holds the necessary configuration options for authorization and access tokens +type TokenConfig struct { + // authorizeTokenMaxAgeSeconds defines the maximum age of authorize tokens + AuthorizeTokenMaxAgeSeconds int32 `json:"authorizeTokenMaxAgeSeconds"` + // accessTokenMaxAgeSeconds defines the maximum age of access tokens + AccessTokenMaxAgeSeconds int32 `json:"accessTokenMaxAgeSeconds"` + // accessTokenInactivityTimeoutSeconds defined the default token + // inactivity timeout for tokens granted by any client. + // Setting it to nil means the feature is completely disabled (default) + // The default setting can be overriden on OAuthClient basis. + // The value represents the maximum amount of time that can occur between + // consecutive uses of the token. Tokens become invalid if they are not + // used within this temporal window. The user will need to acquire a new + // token to regain access once a token times out. + // Valid values are: + // - 0: Tokens never time out + // - X: Tokens time out if there is no activity for X seconds + // The current minimum allowed value for X is 300 (5 minutes) + AccessTokenInactivityTimeoutSeconds *int32 `json:"accessTokenInactivityTimeoutSeconds,omitempty"` +} diff --git a/vendor/github.com/openshift/api/osin/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/osin/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..13616e366 --- /dev/null +++ b/vendor/github.com/openshift/api/osin/v1/zz_generated.deepcopy.go @@ -0,0 +1,580 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowAllPasswordIdentityProvider) DeepCopyInto(out *AllowAllPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowAllPasswordIdentityProvider. +func (in *AllowAllPasswordIdentityProvider) DeepCopy() *AllowAllPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(AllowAllPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AllowAllPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BasicAuthPasswordIdentityProvider) DeepCopyInto(out *BasicAuthPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.RemoteConnectionInfo = in.RemoteConnectionInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthPasswordIdentityProvider. +func (in *BasicAuthPasswordIdentityProvider) DeepCopy() *BasicAuthPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(BasicAuthPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BasicAuthPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DenyAllPasswordIdentityProvider) DeepCopyInto(out *DenyAllPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DenyAllPasswordIdentityProvider. +func (in *DenyAllPasswordIdentityProvider) DeepCopy() *DenyAllPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(DenyAllPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *DenyAllPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitHubIdentityProvider) DeepCopyInto(out *GitHubIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + if in.Organizations != nil { + in, out := &in.Organizations, &out.Organizations + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Teams != nil { + in, out := &in.Teams, &out.Teams + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubIdentityProvider. +func (in *GitHubIdentityProvider) DeepCopy() *GitHubIdentityProvider { + if in == nil { + return nil + } + out := new(GitHubIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GitHubIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GitLabIdentityProvider) DeepCopyInto(out *GitLabIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + if in.Legacy != nil { + in, out := &in.Legacy, &out.Legacy + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitLabIdentityProvider. +func (in *GitLabIdentityProvider) DeepCopy() *GitLabIdentityProvider { + if in == nil { + return nil + } + out := new(GitLabIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GitLabIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GoogleIdentityProvider) DeepCopyInto(out *GoogleIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoogleIdentityProvider. +func (in *GoogleIdentityProvider) DeepCopy() *GoogleIdentityProvider { + if in == nil { + return nil + } + out := new(GoogleIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GoogleIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GrantConfig) DeepCopyInto(out *GrantConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrantConfig. +func (in *GrantConfig) DeepCopy() *GrantConfig { + if in == nil { + return nil + } + out := new(GrantConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HTPasswdPasswordIdentityProvider) DeepCopyInto(out *HTPasswdPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTPasswdPasswordIdentityProvider. +func (in *HTPasswdPasswordIdentityProvider) DeepCopy() *HTPasswdPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(HTPasswdPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HTPasswdPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityProvider) DeepCopyInto(out *IdentityProvider) { + *out = *in + in.Provider.DeepCopyInto(&out.Provider) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityProvider. +func (in *IdentityProvider) DeepCopy() *IdentityProvider { + if in == nil { + return nil + } + out := new(IdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KeystonePasswordIdentityProvider) DeepCopyInto(out *KeystonePasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.RemoteConnectionInfo = in.RemoteConnectionInfo + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeystonePasswordIdentityProvider. +func (in *KeystonePasswordIdentityProvider) DeepCopy() *KeystonePasswordIdentityProvider { + if in == nil { + return nil + } + out := new(KeystonePasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KeystonePasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPAttributeMapping) DeepCopyInto(out *LDAPAttributeMapping) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsername != nil { + in, out := &in.PreferredUsername, &out.PreferredUsername + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPAttributeMapping. +func (in *LDAPAttributeMapping) DeepCopy() *LDAPAttributeMapping { + if in == nil { + return nil + } + out := new(LDAPAttributeMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LDAPPasswordIdentityProvider) DeepCopyInto(out *LDAPPasswordIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.BindPassword = in.BindPassword + in.Attributes.DeepCopyInto(&out.Attributes) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LDAPPasswordIdentityProvider. +func (in *LDAPPasswordIdentityProvider) DeepCopy() *LDAPPasswordIdentityProvider { + if in == nil { + return nil + } + out := new(LDAPPasswordIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *LDAPPasswordIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthConfig) DeepCopyInto(out *OAuthConfig) { + *out = *in + if in.MasterCA != nil { + in, out := &in.MasterCA, &out.MasterCA + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + if in.IdentityProviders != nil { + in, out := &in.IdentityProviders, &out.IdentityProviders + *out = make([]IdentityProvider, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + out.GrantConfig = in.GrantConfig + if in.SessionConfig != nil { + in, out := &in.SessionConfig, &out.SessionConfig + if *in == nil { + *out = nil + } else { + *out = new(SessionConfig) + **out = **in + } + } + in.TokenConfig.DeepCopyInto(&out.TokenConfig) + if in.Templates != nil { + in, out := &in.Templates, &out.Templates + if *in == nil { + *out = nil + } else { + *out = new(OAuthTemplates) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthConfig. +func (in *OAuthConfig) DeepCopy() *OAuthConfig { + if in == nil { + return nil + } + out := new(OAuthConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OAuthTemplates) DeepCopyInto(out *OAuthTemplates) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuthTemplates. +func (in *OAuthTemplates) DeepCopy() *OAuthTemplates { + if in == nil { + return nil + } + out := new(OAuthTemplates) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDClaims) DeepCopyInto(out *OpenIDClaims) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsername != nil { + in, out := &in.PreferredUsername, &out.PreferredUsername + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Email != nil { + in, out := &in.Email, &out.Email + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDClaims. +func (in *OpenIDClaims) DeepCopy() *OpenIDClaims { + if in == nil { + return nil + } + out := new(OpenIDClaims) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDIdentityProvider) DeepCopyInto(out *OpenIDIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ClientSecret = in.ClientSecret + if in.ExtraScopes != nil { + in, out := &in.ExtraScopes, &out.ExtraScopes + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ExtraAuthorizeParameters != nil { + in, out := &in.ExtraAuthorizeParameters, &out.ExtraAuthorizeParameters + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.URLs = in.URLs + in.Claims.DeepCopyInto(&out.Claims) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDIdentityProvider. +func (in *OpenIDIdentityProvider) DeepCopy() *OpenIDIdentityProvider { + if in == nil { + return nil + } + out := new(OpenIDIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OpenIDIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OpenIDURLs) DeepCopyInto(out *OpenIDURLs) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDURLs. +func (in *OpenIDURLs) DeepCopy() *OpenIDURLs { + if in == nil { + return nil + } + out := new(OpenIDURLs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RequestHeaderIdentityProvider) DeepCopyInto(out *RequestHeaderIdentityProvider) { + *out = *in + out.TypeMeta = in.TypeMeta + if in.ClientCommonNames != nil { + in, out := &in.ClientCommonNames, &out.ClientCommonNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Headers != nil { + in, out := &in.Headers, &out.Headers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PreferredUsernameHeaders != nil { + in, out := &in.PreferredUsernameHeaders, &out.PreferredUsernameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.NameHeaders != nil { + in, out := &in.NameHeaders, &out.NameHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.EmailHeaders != nil { + in, out := &in.EmailHeaders, &out.EmailHeaders + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequestHeaderIdentityProvider. +func (in *RequestHeaderIdentityProvider) DeepCopy() *RequestHeaderIdentityProvider { + if in == nil { + return nil + } + out := new(RequestHeaderIdentityProvider) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RequestHeaderIdentityProvider) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SessionConfig) DeepCopyInto(out *SessionConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionConfig. +func (in *SessionConfig) DeepCopy() *SessionConfig { + if in == nil { + return nil + } + out := new(SessionConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TokenConfig) DeepCopyInto(out *TokenConfig) { + *out = *in + if in.AccessTokenInactivityTimeoutSeconds != nil { + in, out := &in.AccessTokenInactivityTimeoutSeconds, &out.AccessTokenInactivityTimeoutSeconds + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenConfig. +func (in *TokenConfig) DeepCopy() *TokenConfig { + if in == nil { + return nil + } + out := new(TokenConfig) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/pkg/serialization/serialization.go b/vendor/github.com/openshift/api/pkg/serialization/serialization.go new file mode 100644 index 000000000..70c8e7a99 --- /dev/null +++ b/vendor/github.com/openshift/api/pkg/serialization/serialization.go @@ -0,0 +1,45 @@ +package serialization + +import ( + "k8s.io/apimachinery/pkg/runtime" +) + +// DecodeNestedRawExtensionOrUnknown +func DecodeNestedRawExtensionOrUnknown(d runtime.Decoder, ext *runtime.RawExtension) { + if ext.Raw == nil || ext.Object != nil { + return + } + obj, gvk, err := d.Decode(ext.Raw, nil, nil) + if err != nil { + unk := &runtime.Unknown{Raw: ext.Raw} + if runtime.IsNotRegisteredError(err) { + if _, gvk, err := d.Decode(ext.Raw, nil, unk); err == nil { + unk.APIVersion = gvk.GroupVersion().String() + unk.Kind = gvk.Kind + ext.Object = unk + return + } + } + // TODO: record mime-type with the object + if gvk != nil { + unk.APIVersion = gvk.GroupVersion().String() + unk.Kind = gvk.Kind + } + obj = unk + } + ext.Object = obj +} + +// EncodeNestedRawExtension will encode the object in the RawExtension (if not nil) or +// return an error. +func EncodeNestedRawExtension(e runtime.Encoder, ext *runtime.RawExtension) error { + if ext.Raw != nil || ext.Object == nil { + return nil + } + data, err := runtime.Encode(e, ext.Object) + if err != nil { + return err + } + ext.Raw = data + return nil +} diff --git a/vendor/github.com/openshift/api/pkg/testing/doc.go b/vendor/github.com/openshift/api/pkg/testing/doc.go new file mode 100644 index 000000000..7603f836a --- /dev/null +++ b/vendor/github.com/openshift/api/pkg/testing/doc.go @@ -0,0 +1 @@ +package testing diff --git a/vendor/github.com/openshift/api/project/OWNERS b/vendor/github.com/openshift/api/project/OWNERS new file mode 100644 index 000000000..ee74f4bc0 --- /dev/null +++ b/vendor/github.com/openshift/api/project/OWNERS @@ -0,0 +1,3 @@ +reviewers: + - enj + - mfojtik diff --git a/vendor/github.com/openshift/api/project/install.go b/vendor/github.com/openshift/api/project/install.go new file mode 100644 index 000000000..c96c7aa26 --- /dev/null +++ b/vendor/github.com/openshift/api/project/install.go @@ -0,0 +1,26 @@ +package project + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + projectv1 "github.com/openshift/api/project/v1" +) + +const ( + GroupName = "project.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(projectv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/project/v1/doc.go b/vendor/github.com/openshift/api/project/v1/doc.go new file mode 100644 index 000000000..5bbd9d5ea --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/project/apis/project +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=project.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/project/v1/generated.pb.go b/vendor/github.com/openshift/api/project/v1/generated.pb.go new file mode 100644 index 000000000..64c0a5ff8 --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/generated.pb.go @@ -0,0 +1,1092 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/project/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/project/v1/generated.proto + + It has these top-level messages: + Project + ProjectList + ProjectRequest + ProjectSpec + ProjectStatus +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *Project) Reset() { *m = Project{} } +func (*Project) ProtoMessage() {} +func (*Project) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *ProjectList) Reset() { *m = ProjectList{} } +func (*ProjectList) ProtoMessage() {} +func (*ProjectList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *ProjectRequest) Reset() { *m = ProjectRequest{} } +func (*ProjectRequest) ProtoMessage() {} +func (*ProjectRequest) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *ProjectSpec) Reset() { *m = ProjectSpec{} } +func (*ProjectSpec) ProtoMessage() {} +func (*ProjectSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *ProjectStatus) Reset() { *m = ProjectStatus{} } +func (*ProjectStatus) ProtoMessage() {} +func (*ProjectStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func init() { + proto.RegisterType((*Project)(nil), "github.com.openshift.api.project.v1.Project") + proto.RegisterType((*ProjectList)(nil), "github.com.openshift.api.project.v1.ProjectList") + proto.RegisterType((*ProjectRequest)(nil), "github.com.openshift.api.project.v1.ProjectRequest") + proto.RegisterType((*ProjectSpec)(nil), "github.com.openshift.api.project.v1.ProjectSpec") + proto.RegisterType((*ProjectStatus)(nil), "github.com.openshift.api.project.v1.ProjectStatus") +} +func (m *Project) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Project) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n2, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n3, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + return i, nil +} + +func (m *ProjectList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProjectList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n4, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ProjectRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProjectRequest) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n5, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DisplayName))) + i += copy(dAtA[i:], m.DisplayName) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Description))) + i += copy(dAtA[i:], m.Description) + return i, nil +} + +func (m *ProjectSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProjectSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Finalizers) > 0 { + for _, s := range m.Finalizers { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *ProjectStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProjectStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Phase))) + i += copy(dAtA[i:], m.Phase) + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *Project) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ProjectList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ProjectRequest) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DisplayName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Description) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ProjectSpec) Size() (n int) { + var l int + _ = l + if len(m.Finalizers) > 0 { + for _, s := range m.Finalizers { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ProjectStatus) Size() (n int) { + var l int + _ = l + l = len(m.Phase) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *Project) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Project{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ProjectSpec", "ProjectSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ProjectStatus", "ProjectStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ProjectList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ProjectList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Project", "Project", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ProjectRequest) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ProjectRequest{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `DisplayName:` + fmt.Sprintf("%v", this.DisplayName) + `,`, + `Description:` + fmt.Sprintf("%v", this.Description) + `,`, + `}`, + }, "") + return s +} +func (this *ProjectSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ProjectSpec{`, + `Finalizers:` + fmt.Sprintf("%v", this.Finalizers) + `,`, + `}`, + }, "") + return s +} +func (this *ProjectStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ProjectStatus{`, + `Phase:` + fmt.Sprintf("%v", this.Phase) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *Project) 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 ErrIntOverflowGenerated + } + 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: Project: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Project: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProjectList) 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 ErrIntOverflowGenerated + } + 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: ProjectList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProjectList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Project{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProjectRequest) 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 ErrIntOverflowGenerated + } + 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: ProjectRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProjectRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DisplayName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProjectSpec) 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 ErrIntOverflowGenerated + } + 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: ProjectSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProjectSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Finalizers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Finalizers = append(m.Finalizers, k8s_io_api_core_v1.FinalizerName(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProjectStatus) 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 ErrIntOverflowGenerated + } + 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: ProjectStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProjectStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Phase", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Phase = k8s_io_api_core_v1.NamespacePhase(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/project/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 553 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x93, 0xbf, 0x6f, 0xd3, 0x40, + 0x14, 0xc7, 0xe3, 0xa4, 0x29, 0xcd, 0x85, 0x56, 0xc8, 0x2c, 0x51, 0x06, 0x27, 0x98, 0x25, 0x03, + 0x9c, 0x49, 0x0a, 0x88, 0xd9, 0x42, 0x08, 0x24, 0x7e, 0x14, 0x33, 0x51, 0x31, 0x70, 0x71, 0x5e, + 0x9c, 0x23, 0xb1, 0x7d, 0xf8, 0xce, 0x91, 0xca, 0xc4, 0x9f, 0xc0, 0xce, 0xff, 0xc2, 0x9c, 0xb1, + 0x63, 0xa7, 0xa8, 0x31, 0xff, 0x45, 0x27, 0x74, 0xe7, 0x6b, 0x6c, 0x48, 0x2a, 0xb5, 0x0b, 0x5b, + 0xee, 0xf9, 0xfb, 0xf9, 0xdc, 0xcb, 0x7b, 0x36, 0x3a, 0x0c, 0xa8, 0x98, 0xa4, 0x43, 0xec, 0xc7, + 0xa1, 0x13, 0x33, 0x88, 0xf8, 0x84, 0x8e, 0x85, 0x43, 0x18, 0x75, 0x58, 0x12, 0x7f, 0x01, 0x5f, + 0x38, 0xf3, 0xbe, 0x13, 0x40, 0x04, 0x09, 0x11, 0x30, 0xc2, 0x2c, 0x89, 0x45, 0x6c, 0xde, 0x2f, + 0x20, 0xbc, 0x86, 0x30, 0x61, 0x14, 0x6b, 0x08, 0xcf, 0xfb, 0xed, 0x87, 0x25, 0x73, 0x10, 0x07, + 0xb1, 0xa3, 0xd8, 0x61, 0x3a, 0x56, 0x27, 0x75, 0x50, 0xbf, 0x72, 0x67, 0xdb, 0x9e, 0x3e, 0xe3, + 0x98, 0xc6, 0xea, 0x6a, 0x3f, 0x4e, 0x60, 0xcb, 0xbd, 0xed, 0xc7, 0x45, 0x26, 0x24, 0xfe, 0x84, + 0x46, 0x90, 0x9c, 0x38, 0x6c, 0x1a, 0xc8, 0x02, 0x77, 0x42, 0x10, 0x64, 0x1b, 0xf5, 0xf4, 0x2a, + 0x2a, 0x49, 0x23, 0x41, 0x43, 0x70, 0xb8, 0x3f, 0x81, 0x90, 0x6c, 0x70, 0x87, 0x57, 0x71, 0xa9, + 0xa0, 0x33, 0x87, 0x46, 0x82, 0x8b, 0xe4, 0x5f, 0xc8, 0xfe, 0x59, 0x45, 0xb7, 0x8e, 0xf2, 0x21, + 0x98, 0x9f, 0xd1, 0x9e, 0xec, 0x69, 0x44, 0x04, 0x69, 0x19, 0x5d, 0xa3, 0xd7, 0x1c, 0x3c, 0xc2, + 0xb9, 0x13, 0x97, 0x9d, 0x98, 0x4d, 0x03, 0x59, 0xe0, 0x58, 0xa6, 0xf1, 0xbc, 0x8f, 0xdf, 0x0d, + 0x25, 0xff, 0x06, 0x04, 0x71, 0xcd, 0xc5, 0xb2, 0x53, 0xc9, 0x96, 0x1d, 0x54, 0xd4, 0xbc, 0xb5, + 0xd5, 0xf4, 0xd0, 0x0e, 0x67, 0xe0, 0xb7, 0xaa, 0xda, 0x7e, 0x8d, 0xbd, 0x60, 0xdd, 0xdd, 0x07, + 0x06, 0xbe, 0x7b, 0x5b, 0xdb, 0x77, 0xe4, 0xc9, 0x53, 0x2e, 0xf3, 0x18, 0xed, 0x72, 0x41, 0x44, + 0xca, 0x5b, 0x35, 0x65, 0x1d, 0xdc, 0xc8, 0xaa, 0x48, 0xf7, 0x40, 0x7b, 0x77, 0xf3, 0xb3, 0xa7, + 0x8d, 0xf6, 0x2f, 0x03, 0x35, 0x75, 0xf2, 0x35, 0xe5, 0xc2, 0xfc, 0xb4, 0x31, 0x21, 0x7c, 0xbd, + 0x09, 0x49, 0x5a, 0xcd, 0xe7, 0x8e, 0xbe, 0x69, 0xef, 0xb2, 0x52, 0x9a, 0xce, 0x7b, 0x54, 0xa7, + 0x02, 0x42, 0xde, 0xaa, 0x76, 0x6b, 0xbd, 0xe6, 0xe0, 0xc1, 0x4d, 0xfe, 0x88, 0xbb, 0xaf, 0xc5, + 0xf5, 0x57, 0x52, 0xe1, 0xe5, 0x26, 0xfb, 0xdc, 0x40, 0x07, 0x3a, 0xe1, 0xc1, 0xd7, 0x14, 0xf8, + 0xff, 0xd8, 0xf2, 0x13, 0xd4, 0x1c, 0x51, 0xce, 0x66, 0xe4, 0xe4, 0x2d, 0x09, 0x41, 0x2d, 0xbb, + 0xe1, 0xde, 0xd5, 0x48, 0xf3, 0x79, 0xf1, 0xc8, 0x2b, 0xe7, 0x14, 0x06, 0xdc, 0x4f, 0x28, 0x13, + 0x34, 0x8e, 0xd4, 0x36, 0xcb, 0x58, 0xf1, 0xc8, 0x2b, 0xe7, 0x6c, 0xb2, 0x5e, 0x91, 0x7c, 0x29, + 0x4c, 0x0f, 0xa1, 0x31, 0x8d, 0xc8, 0x8c, 0x7e, 0x83, 0x84, 0xb7, 0x8c, 0x6e, 0xad, 0xd7, 0x70, + 0x07, 0xb2, 0xd5, 0x17, 0xeb, 0xea, 0xc5, 0xb2, 0xd3, 0xdd, 0xfc, 0x7a, 0xf1, 0x3a, 0xa0, 0x5a, + 0x2b, 0x59, 0xec, 0x8f, 0x68, 0xff, 0xaf, 0xf7, 0xc5, 0x7c, 0x89, 0xea, 0x6c, 0x42, 0x38, 0xa8, + 0x01, 0x36, 0xdc, 0xc1, 0xe5, 0xec, 0x8f, 0x64, 0xf1, 0x62, 0xd9, 0xb9, 0xb7, 0x45, 0x2f, 0xad, + 0x9c, 0x11, 0x1f, 0x54, 0xc8, 0xcb, 0x05, 0x6e, 0x6f, 0xb1, 0xb2, 0x2a, 0xa7, 0x2b, 0xab, 0x72, + 0xb6, 0xb2, 0x2a, 0xdf, 0x33, 0xcb, 0x58, 0x64, 0x96, 0x71, 0x9a, 0x59, 0xc6, 0x59, 0x66, 0x19, + 0xe7, 0x99, 0x65, 0xfc, 0xf8, 0x6d, 0x55, 0x8e, 0xab, 0xf3, 0xfe, 0x9f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xc8, 0xc6, 0x68, 0xd9, 0xfa, 0x04, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/project/v1/generated.proto b/vendor/github.com/openshift/api/project/v1/generated.proto new file mode 100644 index 000000000..fa59e77de --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/generated.proto @@ -0,0 +1,71 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.project.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// Projects are the unit of isolation and collaboration in OpenShift. A project has one or more members, +// a quota on the resources that the project may consume, and the security controls on the resources in +// the project. Within a project, members may have different roles - project administrators can set +// membership, editors can create and manage the resources, and viewers can see but not access running +// containers. In a normal cluster project administrators are not able to alter their quotas - that is +// restricted to cluster administrators. +// +// Listing or watching projects will return only projects the user has the reader role on. +// +// An OpenShift project is an alternative representation of a Kubernetes namespace. Projects are exposed +// as editable to end users while namespaces are not. Direct creation of a project is typically restricted +// to administrators, while end users should use the requestproject resource. +message Project { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec defines the behavior of the Namespace. + optional ProjectSpec spec = 2; + + // Status describes the current status of a Namespace + optional ProjectStatus status = 3; +} + +// ProjectList is a list of Project objects. +message ProjectList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of projects + repeated Project items = 2; +} + +// ProjecRequest is the set of options necessary to fully qualify a project request +message ProjectRequest { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // DisplayName is the display name to apply to a project + optional string displayName = 2; + + // Description is the description to apply to a project + optional string description = 3; +} + +// ProjectSpec describes the attributes on a Project +message ProjectSpec { + // Finalizers is an opaque list of values that must be empty to permanently remove object from storage + repeated string finalizers = 1; +} + +// ProjectStatus is information about the current status of a Project +message ProjectStatus { + // Phase is the current lifecycle phase of the project + optional string phase = 1; +} + diff --git a/vendor/github.com/openshift/api/project/v1/legacy.go b/vendor/github.com/openshift/api/project/v1/legacy.go new file mode 100644 index 000000000..186f905f3 --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/legacy.go @@ -0,0 +1,23 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &Project{}, + &ProjectList{}, + &ProjectRequest{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/project/v1/register.go b/vendor/github.com/openshift/api/project/v1/register.go new file mode 100644 index 000000000..e471716ce --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/register.go @@ -0,0 +1,40 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "project.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &Project{}, + &ProjectList{}, + &ProjectRequest{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/project/v1/types.go b/vendor/github.com/openshift/api/project/v1/types.go new file mode 100644 index 000000000..c4ed0555f --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/types.go @@ -0,0 +1,79 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ProjectList is a list of Project objects. +type ProjectList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of projects + Items []Project `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +const ( + // These are internal finalizer values to Origin + FinalizerOrigin corev1.FinalizerName = "openshift.io/origin" +) + +// ProjectSpec describes the attributes on a Project +type ProjectSpec struct { + // Finalizers is an opaque list of values that must be empty to permanently remove object from storage + Finalizers []corev1.FinalizerName `json:"finalizers,omitempty" protobuf:"bytes,1,rep,name=finalizers,casttype=k8s.io/api/core/v1.FinalizerName"` +} + +// ProjectStatus is information about the current status of a Project +type ProjectStatus struct { + // Phase is the current lifecycle phase of the project + Phase corev1.NamespacePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=k8s.io/api/core/v1.NamespacePhase"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Projects are the unit of isolation and collaboration in OpenShift. A project has one or more members, +// a quota on the resources that the project may consume, and the security controls on the resources in +// the project. Within a project, members may have different roles - project administrators can set +// membership, editors can create and manage the resources, and viewers can see but not access running +// containers. In a normal cluster project administrators are not able to alter their quotas - that is +// restricted to cluster administrators. +// +// Listing or watching projects will return only projects the user has the reader role on. +// +// An OpenShift project is an alternative representation of a Kubernetes namespace. Projects are exposed +// as editable to end users while namespaces are not. Direct creation of a project is typically restricted +// to administrators, while end users should use the requestproject resource. +type Project struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Spec defines the behavior of the Namespace. + Spec ProjectSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` + + // Status describes the current status of a Namespace + Status ProjectStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +genclient +// +genclient:nonNamespaced +// +genclient:skipVerbs=get,list,create,update,patch,delete,deleteCollection,watch +// +genclient:method=Create,verb=create,result=Project + +// ProjecRequest is the set of options necessary to fully qualify a project request +type ProjectRequest struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // DisplayName is the display name to apply to a project + DisplayName string `json:"displayName,omitempty" protobuf:"bytes,2,opt,name=displayName"` + // Description is the description to apply to a project + Description string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"` +} diff --git a/vendor/github.com/openshift/api/project/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/project/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..61e15a592 --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/zz_generated.deepcopy.go @@ -0,0 +1,134 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Project) DeepCopyInto(out *Project) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project. +func (in *Project) DeepCopy() *Project { + if in == nil { + return nil + } + out := new(Project) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Project) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectList) DeepCopyInto(out *ProjectList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Project, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList. +func (in *ProjectList) DeepCopy() *ProjectList { + if in == nil { + return nil + } + out := new(ProjectList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectRequest) DeepCopyInto(out *ProjectRequest) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRequest. +func (in *ProjectRequest) DeepCopy() *ProjectRequest { + if in == nil { + return nil + } + out := new(ProjectRequest) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ProjectRequest) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec) { + *out = *in + if in.Finalizers != nil { + in, out := &in.Finalizers, &out.Finalizers + *out = make([]core_v1.FinalizerName, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec. +func (in *ProjectSpec) DeepCopy() *ProjectSpec { + if in == nil { + return nil + } + out := new(ProjectSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus. +func (in *ProjectStatus) DeepCopy() *ProjectStatus { + if in == nil { + return nil + } + out := new(ProjectStatus) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..65378e86d --- /dev/null +++ b/vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,64 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_Project = map[string]string{ + "": "Projects are the unit of isolation and collaboration in OpenShift. A project has one or more members, a quota on the resources that the project may consume, and the security controls on the resources in the project. Within a project, members may have different roles - project administrators can set membership, editors can create and manage the resources, and viewers can see but not access running containers. In a normal cluster project administrators are not able to alter their quotas - that is restricted to cluster administrators.\n\nListing or watching projects will return only projects the user has the reader role on.\n\nAn OpenShift project is an alternative representation of a Kubernetes namespace. Projects are exposed as editable to end users while namespaces are not. Direct creation of a project is typically restricted to administrators, while end users should use the requestproject resource.", + "metadata": "Standard object's metadata.", + "spec": "Spec defines the behavior of the Namespace.", + "status": "Status describes the current status of a Namespace", +} + +func (Project) SwaggerDoc() map[string]string { + return map_Project +} + +var map_ProjectList = map[string]string{ + "": "ProjectList is a list of Project objects.", + "metadata": "Standard object's metadata.", + "items": "Items is the list of projects", +} + +func (ProjectList) SwaggerDoc() map[string]string { + return map_ProjectList +} + +var map_ProjectRequest = map[string]string{ + "": "ProjecRequest is the set of options necessary to fully qualify a project request", + "metadata": "Standard object's metadata.", + "displayName": "DisplayName is the display name to apply to a project", + "description": "Description is the description to apply to a project", +} + +func (ProjectRequest) SwaggerDoc() map[string]string { + return map_ProjectRequest +} + +var map_ProjectSpec = map[string]string{ + "": "ProjectSpec describes the attributes on a Project", + "finalizers": "Finalizers is an opaque list of values that must be empty to permanently remove object from storage", +} + +func (ProjectSpec) SwaggerDoc() map[string]string { + return map_ProjectSpec +} + +var map_ProjectStatus = map[string]string{ + "": "ProjectStatus is information about the current status of a Project", + "phase": "Phase is the current lifecycle phase of the project", +} + +func (ProjectStatus) SwaggerDoc() map[string]string { + return map_ProjectStatus +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/quota/OWNERS b/vendor/github.com/openshift/api/quota/OWNERS new file mode 100644 index 000000000..75dbd7b56 --- /dev/null +++ b/vendor/github.com/openshift/api/quota/OWNERS @@ -0,0 +1,3 @@ +reviewers: + - deads2k + - mfojtik diff --git a/vendor/github.com/openshift/api/quota/install.go b/vendor/github.com/openshift/api/quota/install.go new file mode 100644 index 000000000..2a88e7d0a --- /dev/null +++ b/vendor/github.com/openshift/api/quota/install.go @@ -0,0 +1,26 @@ +package quota + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + quotav1 "github.com/openshift/api/quota/v1" +) + +const ( + GroupName = "quota.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(quotav1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/quota/v1/doc.go b/vendor/github.com/openshift/api/quota/v1/doc.go new file mode 100644 index 000000000..ae5c9c2c7 --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/quota/apis/quota +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=quota.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/quota/v1/generated.pb.go b/vendor/github.com/openshift/api/quota/v1/generated.pb.go new file mode 100644 index 000000000..e92bacc83 --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/generated.pb.go @@ -0,0 +1,1855 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/quota/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/quota/v1/generated.proto + + It has these top-level messages: + AppliedClusterResourceQuota + AppliedClusterResourceQuotaList + ClusterResourceQuota + ClusterResourceQuotaList + ClusterResourceQuotaSelector + ClusterResourceQuotaSpec + ClusterResourceQuotaStatus + ResourceQuotaStatusByNamespace +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *AppliedClusterResourceQuota) Reset() { *m = AppliedClusterResourceQuota{} } +func (*AppliedClusterResourceQuota) ProtoMessage() {} +func (*AppliedClusterResourceQuota) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{0} +} + +func (m *AppliedClusterResourceQuotaList) Reset() { *m = AppliedClusterResourceQuotaList{} } +func (*AppliedClusterResourceQuotaList) ProtoMessage() {} +func (*AppliedClusterResourceQuotaList) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{1} +} + +func (m *ClusterResourceQuota) Reset() { *m = ClusterResourceQuota{} } +func (*ClusterResourceQuota) ProtoMessage() {} +func (*ClusterResourceQuota) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *ClusterResourceQuotaList) Reset() { *m = ClusterResourceQuotaList{} } +func (*ClusterResourceQuotaList) ProtoMessage() {} +func (*ClusterResourceQuotaList) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{3} +} + +func (m *ClusterResourceQuotaSelector) Reset() { *m = ClusterResourceQuotaSelector{} } +func (*ClusterResourceQuotaSelector) ProtoMessage() {} +func (*ClusterResourceQuotaSelector) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{4} +} + +func (m *ClusterResourceQuotaSpec) Reset() { *m = ClusterResourceQuotaSpec{} } +func (*ClusterResourceQuotaSpec) ProtoMessage() {} +func (*ClusterResourceQuotaSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{5} +} + +func (m *ClusterResourceQuotaStatus) Reset() { *m = ClusterResourceQuotaStatus{} } +func (*ClusterResourceQuotaStatus) ProtoMessage() {} +func (*ClusterResourceQuotaStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{6} +} + +func (m *ResourceQuotaStatusByNamespace) Reset() { *m = ResourceQuotaStatusByNamespace{} } +func (*ResourceQuotaStatusByNamespace) ProtoMessage() {} +func (*ResourceQuotaStatusByNamespace) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{7} +} + +func init() { + proto.RegisterType((*AppliedClusterResourceQuota)(nil), "github.com.openshift.api.quota.v1.AppliedClusterResourceQuota") + proto.RegisterType((*AppliedClusterResourceQuotaList)(nil), "github.com.openshift.api.quota.v1.AppliedClusterResourceQuotaList") + proto.RegisterType((*ClusterResourceQuota)(nil), "github.com.openshift.api.quota.v1.ClusterResourceQuota") + proto.RegisterType((*ClusterResourceQuotaList)(nil), "github.com.openshift.api.quota.v1.ClusterResourceQuotaList") + proto.RegisterType((*ClusterResourceQuotaSelector)(nil), "github.com.openshift.api.quota.v1.ClusterResourceQuotaSelector") + proto.RegisterType((*ClusterResourceQuotaSpec)(nil), "github.com.openshift.api.quota.v1.ClusterResourceQuotaSpec") + proto.RegisterType((*ClusterResourceQuotaStatus)(nil), "github.com.openshift.api.quota.v1.ClusterResourceQuotaStatus") + proto.RegisterType((*ResourceQuotaStatusByNamespace)(nil), "github.com.openshift.api.quota.v1.ResourceQuotaStatusByNamespace") +} +func (m *AppliedClusterResourceQuota) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AppliedClusterResourceQuota) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n2, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n3, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + return i, nil +} + +func (m *AppliedClusterResourceQuotaList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AppliedClusterResourceQuotaList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n4, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ClusterResourceQuota) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterResourceQuota) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n5, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n6, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n7, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + return i, nil +} + +func (m *ClusterResourceQuotaList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterResourceQuotaList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n8, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ClusterResourceQuotaSelector) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterResourceQuotaSelector) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.LabelSelector != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LabelSelector.Size())) + n9, err := m.LabelSelector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + } + if len(m.AnnotationSelector) > 0 { + keysForAnnotationSelector := make([]string, 0, len(m.AnnotationSelector)) + for k := range m.AnnotationSelector { + keysForAnnotationSelector = append(keysForAnnotationSelector, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForAnnotationSelector) + for _, k := range keysForAnnotationSelector { + dAtA[i] = 0x12 + i++ + v := m.AnnotationSelector[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func (m *ClusterResourceQuotaSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterResourceQuotaSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size())) + n10, err := m.Selector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Quota.Size())) + n11, err := m.Quota.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + return i, nil +} + +func (m *ClusterResourceQuotaStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ClusterResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Total.Size())) + n12, err := m.Total.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + if len(m.Namespaces) > 0 { + for _, msg := range m.Namespaces { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ResourceQuotaStatusByNamespace) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ResourceQuotaStatusByNamespace) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace))) + i += copy(dAtA[i:], m.Namespace) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n13, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *AppliedClusterResourceQuota) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *AppliedClusterResourceQuotaList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ClusterResourceQuota) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ClusterResourceQuotaList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ClusterResourceQuotaSelector) Size() (n int) { + var l int + _ = l + if m.LabelSelector != nil { + l = m.LabelSelector.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.AnnotationSelector) > 0 { + for k, v := range m.AnnotationSelector { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + return n +} + +func (m *ClusterResourceQuotaSpec) Size() (n int) { + var l int + _ = l + l = m.Selector.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Quota.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *ClusterResourceQuotaStatus) Size() (n int) { + var l int + _ = l + l = m.Total.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Namespaces) > 0 { + for _, e := range m.Namespaces { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ResourceQuotaStatusByNamespace) Size() (n int) { + var l int + _ = l + l = len(m.Namespace) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *AppliedClusterResourceQuota) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&AppliedClusterResourceQuota{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ClusterResourceQuotaSpec", "ClusterResourceQuotaSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ClusterResourceQuotaStatus", "ClusterResourceQuotaStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *AppliedClusterResourceQuotaList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&AppliedClusterResourceQuotaList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "AppliedClusterResourceQuota", "AppliedClusterResourceQuota", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterResourceQuota) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterResourceQuota{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "ClusterResourceQuotaSpec", "ClusterResourceQuotaSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ClusterResourceQuotaStatus", "ClusterResourceQuotaStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterResourceQuotaList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterResourceQuotaList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ClusterResourceQuota", "ClusterResourceQuota", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterResourceQuotaSelector) String() string { + if this == nil { + return "nil" + } + keysForAnnotationSelector := make([]string, 0, len(this.AnnotationSelector)) + for k := range this.AnnotationSelector { + keysForAnnotationSelector = append(keysForAnnotationSelector, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForAnnotationSelector) + mapStringForAnnotationSelector := "map[string]string{" + for _, k := range keysForAnnotationSelector { + mapStringForAnnotationSelector += fmt.Sprintf("%v: %v,", k, this.AnnotationSelector[k]) + } + mapStringForAnnotationSelector += "}" + s := strings.Join([]string{`&ClusterResourceQuotaSelector{`, + `LabelSelector:` + strings.Replace(fmt.Sprintf("%v", this.LabelSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `AnnotationSelector:` + mapStringForAnnotationSelector + `,`, + `}`, + }, "") + return s +} +func (this *ClusterResourceQuotaSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterResourceQuotaSpec{`, + `Selector:` + strings.Replace(strings.Replace(this.Selector.String(), "ClusterResourceQuotaSelector", "ClusterResourceQuotaSelector", 1), `&`, ``, 1) + `,`, + `Quota:` + strings.Replace(strings.Replace(this.Quota.String(), "ResourceQuotaSpec", "k8s_io_api_core_v1.ResourceQuotaSpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ClusterResourceQuotaStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ClusterResourceQuotaStatus{`, + `Total:` + strings.Replace(strings.Replace(this.Total.String(), "ResourceQuotaStatus", "k8s_io_api_core_v1.ResourceQuotaStatus", 1), `&`, ``, 1) + `,`, + `Namespaces:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Namespaces), "ResourceQuotaStatusByNamespace", "ResourceQuotaStatusByNamespace", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ResourceQuotaStatusByNamespace) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ResourceQuotaStatusByNamespace{`, + `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "ResourceQuotaStatus", "k8s_io_api_core_v1.ResourceQuotaStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *AppliedClusterResourceQuota) 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 ErrIntOverflowGenerated + } + 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: AppliedClusterResourceQuota: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AppliedClusterResourceQuota: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AppliedClusterResourceQuotaList) 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 ErrIntOverflowGenerated + } + 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: AppliedClusterResourceQuotaList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AppliedClusterResourceQuotaList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, AppliedClusterResourceQuota{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterResourceQuota) 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 ErrIntOverflowGenerated + } + 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: ClusterResourceQuota: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterResourceQuota: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterResourceQuotaList) 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 ErrIntOverflowGenerated + } + 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: ClusterResourceQuotaList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterResourceQuotaList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, ClusterResourceQuota{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterResourceQuotaSelector) 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 ErrIntOverflowGenerated + } + 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: ClusterResourceQuotaSelector: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterResourceQuotaSelector: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LabelSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LabelSelector == nil { + m.LabelSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} + } + if err := m.LabelSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AnnotationSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.AnnotationSelector == nil { + m.AnnotationSelector = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.AnnotationSelector[mapkey] = mapvalue + } else { + var mapvalue string + m.AnnotationSelector[mapkey] = mapvalue + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterResourceQuotaSpec) 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 ErrIntOverflowGenerated + } + 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: ClusterResourceQuotaSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterResourceQuotaSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Quota", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Quota.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ClusterResourceQuotaStatus) 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 ErrIntOverflowGenerated + } + 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: ClusterResourceQuotaStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClusterResourceQuotaStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Total", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Total.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespaces", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespaces = append(m.Namespaces, ResourceQuotaStatusByNamespace{}) + if err := m.Namespaces[len(m.Namespaces)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ResourceQuotaStatusByNamespace) 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 ErrIntOverflowGenerated + } + 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: ResourceQuotaStatusByNamespace: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResourceQuotaStatusByNamespace: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/quota/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 725 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0x41, 0x6f, 0xd3, 0x30, + 0x18, 0x6d, 0xb2, 0x75, 0x5a, 0x3d, 0x86, 0x36, 0x6b, 0x87, 0xaa, 0xa0, 0x74, 0x54, 0x42, 0xec, + 0x82, 0x43, 0x37, 0x04, 0x13, 0x88, 0xa1, 0x05, 0x71, 0x00, 0x0d, 0x06, 0x81, 0x13, 0x1a, 0x08, + 0x37, 0xf3, 0xda, 0xd0, 0x24, 0x0e, 0xb1, 0x53, 0xa9, 0x37, 0x7e, 0x01, 0xe2, 0x37, 0xf0, 0x43, + 0xb8, 0x21, 0xed, 0xc6, 0x2e, 0xa0, 0x9d, 0x26, 0x1a, 0xf8, 0x21, 0xc8, 0x8e, 0x9b, 0x74, 0x5b, + 0xbb, 0x95, 0xed, 0xc0, 0x85, 0x5b, 0xfc, 0xd5, 0xef, 0xbd, 0xef, 0x7b, 0x7e, 0x76, 0x41, 0xbd, + 0xe9, 0xf2, 0x56, 0xdc, 0x40, 0x0e, 0xf5, 0x4d, 0x1a, 0x92, 0x80, 0xb5, 0xdc, 0x1d, 0x6e, 0xe2, + 0xd0, 0x35, 0xdf, 0xc7, 0x94, 0x63, 0xb3, 0x53, 0x37, 0x9b, 0x24, 0x20, 0x11, 0xe6, 0x64, 0x1b, + 0x85, 0x11, 0xe5, 0x14, 0x5e, 0xc9, 0x21, 0x28, 0x83, 0x20, 0x1c, 0xba, 0x48, 0x42, 0x50, 0xa7, + 0x5e, 0xb9, 0x3e, 0xc0, 0xda, 0xa4, 0x4d, 0x6a, 0x4a, 0x64, 0x23, 0xde, 0x91, 0x2b, 0xb9, 0x90, + 0x5f, 0x29, 0x63, 0xa5, 0xd6, 0x5e, 0x65, 0xc8, 0xa5, 0x52, 0xd6, 0xa1, 0x11, 0x19, 0xa2, 0x5a, + 0xb9, 0x99, 0xef, 0xf1, 0xb1, 0xd3, 0x72, 0x03, 0x12, 0x75, 0xcd, 0xb0, 0xdd, 0x14, 0x05, 0x66, + 0xfa, 0x64, 0x68, 0xaf, 0x95, 0x5b, 0xa3, 0x50, 0x51, 0x1c, 0x70, 0xd7, 0x27, 0x26, 0x73, 0x5a, + 0xc4, 0xc7, 0xc7, 0x70, 0x2b, 0xa3, 0x70, 0x31, 0x77, 0x3d, 0xd3, 0x0d, 0x38, 0xe3, 0xd1, 0x51, + 0x50, 0xed, 0xab, 0x0e, 0x2e, 0xad, 0x87, 0xa1, 0xe7, 0x92, 0xed, 0x07, 0x5e, 0xcc, 0x38, 0x89, + 0x6c, 0xc2, 0x68, 0x1c, 0x39, 0xe4, 0xb9, 0x30, 0x06, 0xbe, 0x05, 0xd3, 0xa2, 0xcf, 0x6d, 0xcc, + 0x71, 0x59, 0x5b, 0xd4, 0x96, 0x66, 0x96, 0x6f, 0xa0, 0x54, 0x07, 0x0d, 0xea, 0xa0, 0xb0, 0xdd, + 0x14, 0x05, 0x86, 0xc4, 0x6e, 0xd4, 0xa9, 0xa3, 0xcd, 0xc6, 0x3b, 0xe2, 0xf0, 0x27, 0x84, 0x63, + 0x0b, 0xee, 0x1e, 0x54, 0x0b, 0xc9, 0x41, 0x15, 0xe4, 0x35, 0x3b, 0x63, 0x85, 0xaf, 0xc1, 0x24, + 0x0b, 0x89, 0x53, 0xd6, 0x25, 0xfb, 0x5d, 0x74, 0xea, 0x49, 0xa1, 0x61, 0x8d, 0xbe, 0x08, 0x89, + 0x63, 0x5d, 0x50, 0x42, 0x93, 0x62, 0x65, 0x4b, 0x5a, 0x48, 0xc0, 0x14, 0xe3, 0x98, 0xc7, 0xac, + 0x3c, 0x21, 0x05, 0xee, 0x9d, 0x55, 0x40, 0x92, 0x58, 0x17, 0x95, 0xc4, 0x54, 0xba, 0xb6, 0x15, + 0x79, 0xed, 0xb7, 0x06, 0xaa, 0x27, 0xf8, 0xb8, 0xe1, 0x32, 0x0e, 0xb7, 0x8e, 0x79, 0x89, 0xc6, + 0xf3, 0x52, 0xa0, 0xa5, 0x93, 0x73, 0x4a, 0x7d, 0xba, 0x5f, 0x19, 0xf0, 0xd1, 0x01, 0x45, 0x97, + 0x13, 0x9f, 0x95, 0xf5, 0xc5, 0x89, 0xa5, 0x99, 0xe5, 0xb5, 0x31, 0xe6, 0x3c, 0xa1, 0x61, 0x6b, + 0x56, 0x49, 0x15, 0x1f, 0x09, 0x52, 0x3b, 0xe5, 0xae, 0x7d, 0xd1, 0xc1, 0xc2, 0xff, 0x9c, 0x9c, + 0x23, 0x27, 0x3f, 0x34, 0x50, 0xfe, 0x47, 0x01, 0xd9, 0x3a, 0x1c, 0x90, 0xdb, 0x67, 0x1c, 0x70, + 0x44, 0x32, 0xbe, 0xe9, 0xe0, 0xf2, 0x50, 0x3f, 0x88, 0x47, 0x1c, 0x4e, 0x23, 0xf8, 0x06, 0x4c, + 0x79, 0xb8, 0x41, 0x3c, 0xa6, 0x46, 0x5b, 0x19, 0x73, 0x34, 0x81, 0xe9, 0x93, 0x58, 0xf3, 0xc9, + 0x41, 0x75, 0xf6, 0x50, 0xc9, 0x56, 0xac, 0xf0, 0xa3, 0x06, 0x66, 0x70, 0x10, 0x50, 0x8e, 0xb9, + 0x4b, 0x83, 0xfe, 0x94, 0xcf, 0xce, 0x7a, 0x8c, 0x8a, 0x1e, 0xad, 0xe7, 0x94, 0x0f, 0x03, 0x1e, + 0x75, 0xad, 0x8a, 0x1a, 0x1f, 0xe6, 0xbf, 0x64, 0xbd, 0x0c, 0x36, 0x50, 0x59, 0x03, 0x73, 0x47, + 0xc1, 0x70, 0x0e, 0x4c, 0xb4, 0x49, 0x57, 0x3a, 0x50, 0xb2, 0xc5, 0x27, 0x5c, 0x00, 0xc5, 0x0e, + 0xf6, 0x62, 0x22, 0x73, 0x5d, 0xb2, 0xd3, 0xc5, 0x1d, 0x7d, 0x55, 0xab, 0x7d, 0x1f, 0x11, 0x15, + 0x11, 0x5a, 0xe8, 0x83, 0x69, 0xa6, 0x54, 0x95, 0x9f, 0xf7, 0xcf, 0x39, 0x69, 0x9e, 0x9d, 0x6c, + 0x9c, 0x4c, 0x02, 0x3e, 0x06, 0x45, 0x49, 0xa2, 0x6e, 0xdf, 0xd5, 0x81, 0xb3, 0x43, 0xe2, 0xdf, + 0x4f, 0x90, 0x1f, 0xbf, 0x67, 0x59, 0x52, 0x64, 0xc9, 0x4e, 0x29, 0x6a, 0x3d, 0x0d, 0x54, 0x46, + 0xdf, 0x1c, 0xb8, 0x01, 0x8a, 0x9c, 0x72, 0xec, 0xa9, 0xb1, 0xae, 0x9d, 0x2e, 0x95, 0xde, 0xb8, + 0x4c, 0xec, 0xa5, 0x40, 0xdb, 0x29, 0x09, 0x8c, 0x01, 0x08, 0xb0, 0x4f, 0x58, 0x88, 0x1d, 0xd2, + 0xcf, 0xc4, 0xfa, 0x18, 0x4e, 0x0d, 0x53, 0xe8, 0x3e, 0xed, 0x33, 0xe5, 0x4f, 0x55, 0x56, 0x62, + 0xf6, 0x80, 0x50, 0xed, 0xb3, 0x06, 0x8c, 0x93, 0x29, 0xa0, 0x09, 0x4a, 0x19, 0x20, 0x0d, 0x84, + 0x35, 0xaf, 0x58, 0x4b, 0xd9, 0x2e, 0x3b, 0xdf, 0x03, 0x37, 0xb3, 0x17, 0x4a, 0xff, 0x3b, 0x67, + 0x46, 0xbc, 0x45, 0xd6, 0xd2, 0x6e, 0xcf, 0x28, 0xec, 0xf5, 0x8c, 0xc2, 0x7e, 0xcf, 0x28, 0x7c, + 0x48, 0x0c, 0x6d, 0x37, 0x31, 0xb4, 0xbd, 0xc4, 0xd0, 0xf6, 0x13, 0x43, 0xfb, 0x99, 0x18, 0xda, + 0xa7, 0x5f, 0x46, 0xe1, 0x95, 0xde, 0xa9, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x22, 0xac, 0xdd, + 0x82, 0x72, 0x09, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/quota/v1/generated.proto b/vendor/github.com/openshift/api/quota/v1/generated.proto new file mode 100644 index 000000000..15b0bbe8a --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/generated.proto @@ -0,0 +1,103 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.quota.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// AppliedClusterResourceQuota mirrors ClusterResourceQuota at a project scope, for projection +// into a project. It allows a project-admin to know which ClusterResourceQuotas are applied to +// his project and their associated usage. +message AppliedClusterResourceQuota { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec defines the desired quota + optional ClusterResourceQuotaSpec spec = 2; + + // Status defines the actual enforced quota and its current usage + optional ClusterResourceQuotaStatus status = 3; +} + +// AppliedClusterResourceQuotaList is a collection of AppliedClusterResourceQuotas +message AppliedClusterResourceQuotaList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of AppliedClusterResourceQuota + repeated AppliedClusterResourceQuota items = 2; +} + +// ClusterResourceQuota mirrors ResourceQuota at a cluster scope. This object is easily convertible to +// synthetic ResourceQuota object to allow quota evaluation re-use. +message ClusterResourceQuota { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec defines the desired quota + optional ClusterResourceQuotaSpec spec = 2; + + // Status defines the actual enforced quota and its current usage + optional ClusterResourceQuotaStatus status = 3; +} + +// ClusterResourceQuotaList is a collection of ClusterResourceQuotas +message ClusterResourceQuotaList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of ClusterResourceQuotas + repeated ClusterResourceQuota items = 2; +} + +// ClusterResourceQuotaSelector is used to select projects. At least one of LabelSelector or AnnotationSelector +// must present. If only one is present, it is the only selection criteria. If both are specified, +// the project must match both restrictions. +message ClusterResourceQuotaSelector { + // LabelSelector is used to select projects by label. + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector labels = 1; + + // AnnotationSelector is used to select projects by annotation. + map annotations = 2; +} + +// ClusterResourceQuotaSpec defines the desired quota restrictions +message ClusterResourceQuotaSpec { + // Selector is the selector used to match projects. + // It should only select active projects on the scale of dozens (though it can select + // many more less active projects). These projects will contend on object creation through + // this resource. + optional ClusterResourceQuotaSelector selector = 1; + + // Quota defines the desired quota + optional k8s.io.api.core.v1.ResourceQuotaSpec quota = 2; +} + +// ClusterResourceQuotaStatus defines the actual enforced quota and its current usage +message ClusterResourceQuotaStatus { + // Total defines the actual enforced quota and its current usage across all projects + optional k8s.io.api.core.v1.ResourceQuotaStatus total = 1; + + // Namespaces slices the usage by project. This division allows for quick resolution of + // deletion reconciliation inside of a single project without requiring a recalculation + // across all projects. This can be used to pull the deltas for a given project. + repeated ResourceQuotaStatusByNamespace namespaces = 2; +} + +// ResourceQuotaStatusByNamespace gives status for a particular project +message ResourceQuotaStatusByNamespace { + // Namespace the project this status applies to + optional string namespace = 1; + + // Status indicates how many resources have been consumed by this project + optional k8s.io.api.core.v1.ResourceQuotaStatus status = 2; +} + diff --git a/vendor/github.com/openshift/api/quota/v1/legacy.go b/vendor/github.com/openshift/api/quota/v1/legacy.go new file mode 100644 index 000000000..402690b5d --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/legacy.go @@ -0,0 +1,24 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &ClusterResourceQuota{}, + &ClusterResourceQuotaList{}, + &AppliedClusterResourceQuota{}, + &AppliedClusterResourceQuotaList{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/quota/v1/register.go b/vendor/github.com/openshift/api/quota/v1/register.go new file mode 100644 index 000000000..47c774ef2 --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/register.go @@ -0,0 +1,41 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "quota.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &ClusterResourceQuota{}, + &ClusterResourceQuotaList{}, + &AppliedClusterResourceQuota{}, + &AppliedClusterResourceQuotaList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/quota/v1/types.go b/vendor/github.com/openshift/api/quota/v1/types.go new file mode 100644 index 000000000..50236e068 --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/types.go @@ -0,0 +1,113 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterResourceQuota mirrors ResourceQuota at a cluster scope. This object is easily convertible to +// synthetic ResourceQuota object to allow quota evaluation re-use. +type ClusterResourceQuota struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` + + // Spec defines the desired quota + Spec ClusterResourceQuotaSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + + // Status defines the actual enforced quota and its current usage + Status ClusterResourceQuotaStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` +} + +// ClusterResourceQuotaSpec defines the desired quota restrictions +type ClusterResourceQuotaSpec struct { + // Selector is the selector used to match projects. + // It should only select active projects on the scale of dozens (though it can select + // many more less active projects). These projects will contend on object creation through + // this resource. + Selector ClusterResourceQuotaSelector `json:"selector" protobuf:"bytes,1,opt,name=selector"` + + // Quota defines the desired quota + Quota corev1.ResourceQuotaSpec `json:"quota" protobuf:"bytes,2,opt,name=quota"` +} + +// ClusterResourceQuotaSelector is used to select projects. At least one of LabelSelector or AnnotationSelector +// must present. If only one is present, it is the only selection criteria. If both are specified, +// the project must match both restrictions. +type ClusterResourceQuotaSelector struct { + // LabelSelector is used to select projects by label. + LabelSelector *metav1.LabelSelector `json:"labels" protobuf:"bytes,1,opt,name=labels"` + + // AnnotationSelector is used to select projects by annotation. + AnnotationSelector map[string]string `json:"annotations" protobuf:"bytes,2,rep,name=annotations"` +} + +// ClusterResourceQuotaStatus defines the actual enforced quota and its current usage +type ClusterResourceQuotaStatus struct { + // Total defines the actual enforced quota and its current usage across all projects + Total corev1.ResourceQuotaStatus `json:"total" protobuf:"bytes,1,opt,name=total"` + + // Namespaces slices the usage by project. This division allows for quick resolution of + // deletion reconciliation inside of a single project without requiring a recalculation + // across all projects. This can be used to pull the deltas for a given project. + Namespaces ResourceQuotasStatusByNamespace `json:"namespaces" protobuf:"bytes,2,rep,name=namespaces"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ClusterResourceQuotaList is a collection of ClusterResourceQuotas +type ClusterResourceQuotaList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of ClusterResourceQuotas + Items []ClusterResourceQuota `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// ResourceQuotasStatusByNamespace bundles multiple ResourceQuotaStatusByNamespace +type ResourceQuotasStatusByNamespace []ResourceQuotaStatusByNamespace + +// ResourceQuotaStatusByNamespace gives status for a particular project +type ResourceQuotaStatusByNamespace struct { + // Namespace the project this status applies to + Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"` + + // Status indicates how many resources have been consumed by this project + Status corev1.ResourceQuotaStatus `json:"status" protobuf:"bytes,2,opt,name=status"` +} + +// +genclient +// +genclient:onlyVerbs=get,list +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// AppliedClusterResourceQuota mirrors ClusterResourceQuota at a project scope, for projection +// into a project. It allows a project-admin to know which ClusterResourceQuotas are applied to +// his project and their associated usage. +type AppliedClusterResourceQuota struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` + + // Spec defines the desired quota + Spec ClusterResourceQuotaSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + + // Status defines the actual enforced quota and its current usage + Status ClusterResourceQuotaStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// AppliedClusterResourceQuotaList is a collection of AppliedClusterResourceQuotas +type AppliedClusterResourceQuotaList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of AppliedClusterResourceQuota + Items []AppliedClusterResourceQuota `json:"items" protobuf:"bytes,2,rep,name=items"` +} diff --git a/vendor/github.com/openshift/api/quota/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/quota/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..e6d6e8708 --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/zz_generated.deepcopy.go @@ -0,0 +1,245 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppliedClusterResourceQuota) DeepCopyInto(out *AppliedClusterResourceQuota) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppliedClusterResourceQuota. +func (in *AppliedClusterResourceQuota) DeepCopy() *AppliedClusterResourceQuota { + if in == nil { + return nil + } + out := new(AppliedClusterResourceQuota) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppliedClusterResourceQuota) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AppliedClusterResourceQuotaList) DeepCopyInto(out *AppliedClusterResourceQuotaList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AppliedClusterResourceQuota, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppliedClusterResourceQuotaList. +func (in *AppliedClusterResourceQuotaList) DeepCopy() *AppliedClusterResourceQuotaList { + if in == nil { + return nil + } + out := new(AppliedClusterResourceQuotaList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AppliedClusterResourceQuotaList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterResourceQuota) DeepCopyInto(out *ClusterResourceQuota) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterResourceQuota. +func (in *ClusterResourceQuota) DeepCopy() *ClusterResourceQuota { + if in == nil { + return nil + } + out := new(ClusterResourceQuota) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterResourceQuota) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterResourceQuotaList) DeepCopyInto(out *ClusterResourceQuotaList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ClusterResourceQuota, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterResourceQuotaList. +func (in *ClusterResourceQuotaList) DeepCopy() *ClusterResourceQuotaList { + if in == nil { + return nil + } + out := new(ClusterResourceQuotaList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ClusterResourceQuotaList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterResourceQuotaSelector) DeepCopyInto(out *ClusterResourceQuotaSelector) { + *out = *in + if in.LabelSelector != nil { + in, out := &in.LabelSelector, &out.LabelSelector + if *in == nil { + *out = nil + } else { + *out = new(meta_v1.LabelSelector) + (*in).DeepCopyInto(*out) + } + } + if in.AnnotationSelector != nil { + in, out := &in.AnnotationSelector, &out.AnnotationSelector + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterResourceQuotaSelector. +func (in *ClusterResourceQuotaSelector) DeepCopy() *ClusterResourceQuotaSelector { + if in == nil { + return nil + } + out := new(ClusterResourceQuotaSelector) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterResourceQuotaSpec) DeepCopyInto(out *ClusterResourceQuotaSpec) { + *out = *in + in.Selector.DeepCopyInto(&out.Selector) + in.Quota.DeepCopyInto(&out.Quota) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterResourceQuotaSpec. +func (in *ClusterResourceQuotaSpec) DeepCopy() *ClusterResourceQuotaSpec { + if in == nil { + return nil + } + out := new(ClusterResourceQuotaSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterResourceQuotaStatus) DeepCopyInto(out *ClusterResourceQuotaStatus) { + *out = *in + in.Total.DeepCopyInto(&out.Total) + if in.Namespaces != nil { + in, out := &in.Namespaces, &out.Namespaces + *out = make(ResourceQuotasStatusByNamespace, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterResourceQuotaStatus. +func (in *ClusterResourceQuotaStatus) DeepCopy() *ClusterResourceQuotaStatus { + if in == nil { + return nil + } + out := new(ClusterResourceQuotaStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceQuotaStatusByNamespace) DeepCopyInto(out *ResourceQuotaStatusByNamespace) { + *out = *in + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuotaStatusByNamespace. +func (in *ResourceQuotaStatusByNamespace) DeepCopy() *ResourceQuotaStatusByNamespace { + if in == nil { + return nil + } + out := new(ResourceQuotaStatusByNamespace) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in ResourceQuotasStatusByNamespace) DeepCopyInto(out *ResourceQuotasStatusByNamespace) { + { + in := &in + *out = make(ResourceQuotasStatusByNamespace, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuotasStatusByNamespace. +func (in ResourceQuotasStatusByNamespace) DeepCopy() ResourceQuotasStatusByNamespace { + if in == nil { + return nil + } + out := new(ResourceQuotasStatusByNamespace) + in.DeepCopyInto(out) + return *out +} diff --git a/vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..d93479721 --- /dev/null +++ b/vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,96 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_AppliedClusterResourceQuota = map[string]string{ + "": "AppliedClusterResourceQuota mirrors ClusterResourceQuota at a project scope, for projection into a project. It allows a project-admin to know which ClusterResourceQuotas are applied to his project and their associated usage.", + "metadata": "Standard object's metadata.", + "spec": "Spec defines the desired quota", + "status": "Status defines the actual enforced quota and its current usage", +} + +func (AppliedClusterResourceQuota) SwaggerDoc() map[string]string { + return map_AppliedClusterResourceQuota +} + +var map_AppliedClusterResourceQuotaList = map[string]string{ + "": "AppliedClusterResourceQuotaList is a collection of AppliedClusterResourceQuotas", + "metadata": "Standard object's metadata.", + "items": "Items is a list of AppliedClusterResourceQuota", +} + +func (AppliedClusterResourceQuotaList) SwaggerDoc() map[string]string { + return map_AppliedClusterResourceQuotaList +} + +var map_ClusterResourceQuota = map[string]string{ + "": "ClusterResourceQuota mirrors ResourceQuota at a cluster scope. This object is easily convertible to synthetic ResourceQuota object to allow quota evaluation re-use.", + "metadata": "Standard object's metadata.", + "spec": "Spec defines the desired quota", + "status": "Status defines the actual enforced quota and its current usage", +} + +func (ClusterResourceQuota) SwaggerDoc() map[string]string { + return map_ClusterResourceQuota +} + +var map_ClusterResourceQuotaList = map[string]string{ + "": "ClusterResourceQuotaList is a collection of ClusterResourceQuotas", + "metadata": "Standard object's metadata.", + "items": "Items is a list of ClusterResourceQuotas", +} + +func (ClusterResourceQuotaList) SwaggerDoc() map[string]string { + return map_ClusterResourceQuotaList +} + +var map_ClusterResourceQuotaSelector = map[string]string{ + "": "ClusterResourceQuotaSelector is used to select projects. At least one of LabelSelector or AnnotationSelector must present. If only one is present, it is the only selection criteria. If both are specified, the project must match both restrictions.", + "labels": "LabelSelector is used to select projects by label.", + "annotations": "AnnotationSelector is used to select projects by annotation.", +} + +func (ClusterResourceQuotaSelector) SwaggerDoc() map[string]string { + return map_ClusterResourceQuotaSelector +} + +var map_ClusterResourceQuotaSpec = map[string]string{ + "": "ClusterResourceQuotaSpec defines the desired quota restrictions", + "selector": "Selector is the selector used to match projects. It should only select active projects on the scale of dozens (though it can select many more less active projects). These projects will contend on object creation through this resource.", + "quota": "Quota defines the desired quota", +} + +func (ClusterResourceQuotaSpec) SwaggerDoc() map[string]string { + return map_ClusterResourceQuotaSpec +} + +var map_ClusterResourceQuotaStatus = map[string]string{ + "": "ClusterResourceQuotaStatus defines the actual enforced quota and its current usage", + "total": "Total defines the actual enforced quota and its current usage across all projects", + "namespaces": "Namespaces slices the usage by project. This division allows for quick resolution of deletion reconciliation inside of a single project without requiring a recalculation across all projects. This can be used to pull the deltas for a given project.", +} + +func (ClusterResourceQuotaStatus) SwaggerDoc() map[string]string { + return map_ClusterResourceQuotaStatus +} + +var map_ResourceQuotaStatusByNamespace = map[string]string{ + "": "ResourceQuotaStatusByNamespace gives status for a particular project", + "namespace": "Namespace the project this status applies to", + "status": "Status indicates how many resources have been consumed by this project", +} + +func (ResourceQuotaStatusByNamespace) SwaggerDoc() map[string]string { + return map_ResourceQuotaStatusByNamespace +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/route/OWNERS b/vendor/github.com/openshift/api/route/OWNERS new file mode 100644 index 000000000..279009f7a --- /dev/null +++ b/vendor/github.com/openshift/api/route/OWNERS @@ -0,0 +1,4 @@ +reviewers: + - danwinship + - dcbw + - knobunc diff --git a/vendor/github.com/openshift/api/route/install.go b/vendor/github.com/openshift/api/route/install.go new file mode 100644 index 000000000..a08536283 --- /dev/null +++ b/vendor/github.com/openshift/api/route/install.go @@ -0,0 +1,26 @@ +package route + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + routev1 "github.com/openshift/api/route/v1" +) + +const ( + GroupName = "route.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(routev1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/route/v1/doc.go b/vendor/github.com/openshift/api/route/v1/doc.go new file mode 100644 index 000000000..e56fbbd8d --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/route/apis/route +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=route.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/route/v1/generated.pb.go b/vendor/github.com/openshift/api/route/v1/generated.pb.go new file mode 100644 index 000000000..8575bccbb --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/generated.pb.go @@ -0,0 +1,2537 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/route/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/route/v1/generated.proto + + It has these top-level messages: + Route + RouteIngress + RouteIngressCondition + RouteList + RoutePort + RouteSpec + RouteStatus + RouteTargetReference + RouterShard + TLSConfig +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *Route) Reset() { *m = Route{} } +func (*Route) ProtoMessage() {} +func (*Route) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *RouteIngress) Reset() { *m = RouteIngress{} } +func (*RouteIngress) ProtoMessage() {} +func (*RouteIngress) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *RouteIngressCondition) Reset() { *m = RouteIngressCondition{} } +func (*RouteIngressCondition) ProtoMessage() {} +func (*RouteIngressCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *RouteList) Reset() { *m = RouteList{} } +func (*RouteList) ProtoMessage() {} +func (*RouteList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *RoutePort) Reset() { *m = RoutePort{} } +func (*RoutePort) ProtoMessage() {} +func (*RoutePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *RouteSpec) Reset() { *m = RouteSpec{} } +func (*RouteSpec) ProtoMessage() {} +func (*RouteSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *RouteStatus) Reset() { *m = RouteStatus{} } +func (*RouteStatus) ProtoMessage() {} +func (*RouteStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } + +func (m *RouteTargetReference) Reset() { *m = RouteTargetReference{} } +func (*RouteTargetReference) ProtoMessage() {} +func (*RouteTargetReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } + +func (m *RouterShard) Reset() { *m = RouterShard{} } +func (*RouterShard) ProtoMessage() {} +func (*RouterShard) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *TLSConfig) Reset() { *m = TLSConfig{} } +func (*TLSConfig) ProtoMessage() {} +func (*TLSConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func init() { + proto.RegisterType((*Route)(nil), "github.com.openshift.api.route.v1.Route") + proto.RegisterType((*RouteIngress)(nil), "github.com.openshift.api.route.v1.RouteIngress") + proto.RegisterType((*RouteIngressCondition)(nil), "github.com.openshift.api.route.v1.RouteIngressCondition") + proto.RegisterType((*RouteList)(nil), "github.com.openshift.api.route.v1.RouteList") + proto.RegisterType((*RoutePort)(nil), "github.com.openshift.api.route.v1.RoutePort") + proto.RegisterType((*RouteSpec)(nil), "github.com.openshift.api.route.v1.RouteSpec") + proto.RegisterType((*RouteStatus)(nil), "github.com.openshift.api.route.v1.RouteStatus") + proto.RegisterType((*RouteTargetReference)(nil), "github.com.openshift.api.route.v1.RouteTargetReference") + proto.RegisterType((*RouterShard)(nil), "github.com.openshift.api.route.v1.RouterShard") + proto.RegisterType((*TLSConfig)(nil), "github.com.openshift.api.route.v1.TLSConfig") +} +func (m *Route) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Route) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n2, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n3, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + return i, nil +} + +func (m *RouteIngress) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouteIngress) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) + i += copy(dAtA[i:], m.Host) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.RouterName))) + i += copy(dAtA[i:], m.RouterName) + if len(m.Conditions) > 0 { + for _, msg := range m.Conditions { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.WildcardPolicy))) + i += copy(dAtA[i:], m.WildcardPolicy) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.RouterCanonicalHostname))) + i += copy(dAtA[i:], m.RouterCanonicalHostname) + return i, nil +} + +func (m *RouteIngressCondition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouteIngressCondition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status))) + i += copy(dAtA[i:], m.Status) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + if m.LastTransitionTime != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n4, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + } + return i, nil +} + +func (m *RouteList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouteList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n5, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RoutePort) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RoutePort) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TargetPort.Size())) + n6, err := m.TargetPort.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + return i, nil +} + +func (m *RouteSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouteSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) + i += copy(dAtA[i:], m.Host) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Path))) + i += copy(dAtA[i:], m.Path) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.To.Size())) + n7, err := m.To.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + if len(m.AlternateBackends) > 0 { + for _, msg := range m.AlternateBackends { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.Port != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Port.Size())) + n8, err := m.Port.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + } + if m.TLS != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TLS.Size())) + n9, err := m.TLS.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + } + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.WildcardPolicy))) + i += copy(dAtA[i:], m.WildcardPolicy) + return i, nil +} + +func (m *RouteStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouteStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Ingress) > 0 { + for _, msg := range m.Ingress { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RouteTargetReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouteTargetReference) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind))) + i += copy(dAtA[i:], m.Kind) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + if m.Weight != nil { + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.Weight)) + } + return i, nil +} + +func (m *RouterShard) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouterShard) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ShardName))) + i += copy(dAtA[i:], m.ShardName) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DNSSuffix))) + i += copy(dAtA[i:], m.DNSSuffix) + return i, nil +} + +func (m *TLSConfig) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TLSConfig) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Termination))) + i += copy(dAtA[i:], m.Termination) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Certificate))) + i += copy(dAtA[i:], m.Certificate) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Key))) + i += copy(dAtA[i:], m.Key) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.CACertificate))) + i += copy(dAtA[i:], m.CACertificate) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DestinationCACertificate))) + i += copy(dAtA[i:], m.DestinationCACertificate) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.InsecureEdgeTerminationPolicy))) + i += copy(dAtA[i:], m.InsecureEdgeTerminationPolicy) + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *Route) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RouteIngress) Size() (n int) { + var l int + _ = l + l = len(m.Host) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.RouterName) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Conditions) > 0 { + for _, e := range m.Conditions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.WildcardPolicy) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.RouterCanonicalHostname) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RouteIngressCondition) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Status) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + if m.LastTransitionTime != nil { + l = m.LastTransitionTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *RouteList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RoutePort) Size() (n int) { + var l int + _ = l + l = m.TargetPort.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RouteSpec) Size() (n int) { + var l int + _ = l + l = len(m.Host) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Path) + n += 1 + l + sovGenerated(uint64(l)) + l = m.To.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.AlternateBackends) > 0 { + for _, e := range m.AlternateBackends { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if m.Port != nil { + l = m.Port.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.TLS != nil { + l = m.TLS.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.WildcardPolicy) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RouteStatus) Size() (n int) { + var l int + _ = l + if len(m.Ingress) > 0 { + for _, e := range m.Ingress { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RouteTargetReference) Size() (n int) { + var l int + _ = l + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + if m.Weight != nil { + n += 1 + sovGenerated(uint64(*m.Weight)) + } + return n +} + +func (m *RouterShard) Size() (n int) { + var l int + _ = l + l = len(m.ShardName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DNSSuffix) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *TLSConfig) Size() (n int) { + var l int + _ = l + l = len(m.Termination) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Certificate) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Key) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.CACertificate) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DestinationCACertificate) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.InsecureEdgeTerminationPolicy) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *Route) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Route{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "RouteSpec", "RouteSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "RouteStatus", "RouteStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RouteIngress) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RouteIngress{`, + `Host:` + fmt.Sprintf("%v", this.Host) + `,`, + `RouterName:` + fmt.Sprintf("%v", this.RouterName) + `,`, + `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "RouteIngressCondition", "RouteIngressCondition", 1), `&`, ``, 1) + `,`, + `WildcardPolicy:` + fmt.Sprintf("%v", this.WildcardPolicy) + `,`, + `RouterCanonicalHostname:` + fmt.Sprintf("%v", this.RouterCanonicalHostname) + `,`, + `}`, + }, "") + return s +} +func (this *RouteIngressCondition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RouteIngressCondition{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Status:` + fmt.Sprintf("%v", this.Status) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `LastTransitionTime:` + strings.Replace(fmt.Sprintf("%v", this.LastTransitionTime), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1) + `,`, + `}`, + }, "") + return s +} +func (this *RouteList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RouteList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Route", "Route", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RoutePort) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RoutePort{`, + `TargetPort:` + strings.Replace(strings.Replace(this.TargetPort.String(), "IntOrString", "k8s_io_apimachinery_pkg_util_intstr.IntOrString", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RouteSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RouteSpec{`, + `Host:` + fmt.Sprintf("%v", this.Host) + `,`, + `Path:` + fmt.Sprintf("%v", this.Path) + `,`, + `To:` + strings.Replace(strings.Replace(this.To.String(), "RouteTargetReference", "RouteTargetReference", 1), `&`, ``, 1) + `,`, + `AlternateBackends:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AlternateBackends), "RouteTargetReference", "RouteTargetReference", 1), `&`, ``, 1) + `,`, + `Port:` + strings.Replace(fmt.Sprintf("%v", this.Port), "RoutePort", "RoutePort", 1) + `,`, + `TLS:` + strings.Replace(fmt.Sprintf("%v", this.TLS), "TLSConfig", "TLSConfig", 1) + `,`, + `WildcardPolicy:` + fmt.Sprintf("%v", this.WildcardPolicy) + `,`, + `}`, + }, "") + return s +} +func (this *RouteStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RouteStatus{`, + `Ingress:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Ingress), "RouteIngress", "RouteIngress", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RouteTargetReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RouteTargetReference{`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Weight:` + valueToStringGenerated(this.Weight) + `,`, + `}`, + }, "") + return s +} +func (this *RouterShard) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RouterShard{`, + `ShardName:` + fmt.Sprintf("%v", this.ShardName) + `,`, + `DNSSuffix:` + fmt.Sprintf("%v", this.DNSSuffix) + `,`, + `}`, + }, "") + return s +} +func (this *TLSConfig) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TLSConfig{`, + `Termination:` + fmt.Sprintf("%v", this.Termination) + `,`, + `Certificate:` + fmt.Sprintf("%v", this.Certificate) + `,`, + `Key:` + fmt.Sprintf("%v", this.Key) + `,`, + `CACertificate:` + fmt.Sprintf("%v", this.CACertificate) + `,`, + `DestinationCACertificate:` + fmt.Sprintf("%v", this.DestinationCACertificate) + `,`, + `InsecureEdgeTerminationPolicy:` + fmt.Sprintf("%v", this.InsecureEdgeTerminationPolicy) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *Route) 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 ErrIntOverflowGenerated + } + 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: Route: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Route: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouteIngress) 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 ErrIntOverflowGenerated + } + 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: RouteIngress: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouteIngress: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Host = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RouterName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RouterName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Conditions = append(m.Conditions, RouteIngressCondition{}) + if err := m.Conditions[len(m.Conditions)-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 WildcardPolicy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WildcardPolicy = WildcardPolicyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RouterCanonicalHostname", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RouterCanonicalHostname = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouteIngressCondition) 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 ErrIntOverflowGenerated + } + 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: RouteIngressCondition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouteIngressCondition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = RouteIngressConditionType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LastTransitionTime == nil { + m.LastTransitionTime = &k8s_io_apimachinery_pkg_apis_meta_v1.Time{} + } + if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouteList) 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 ErrIntOverflowGenerated + } + 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: RouteList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouteList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Route{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RoutePort) 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 ErrIntOverflowGenerated + } + 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: RoutePort: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RoutePort: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetPort", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TargetPort.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouteSpec) 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 ErrIntOverflowGenerated + } + 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: RouteSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouteSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Host = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Path = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.To.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AlternateBackends", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AlternateBackends = append(m.AlternateBackends, RouteTargetReference{}) + if err := m.AlternateBackends[len(m.AlternateBackends)-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 Port", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Port == nil { + m.Port = &RoutePort{} + } + if err := m.Port.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TLS", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TLS == nil { + m.TLS = &TLSConfig{} + } + if err := m.TLS.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WildcardPolicy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.WildcardPolicy = WildcardPolicyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouteStatus) 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 ErrIntOverflowGenerated + } + 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: RouteStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouteStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ingress", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ingress = append(m.Ingress, RouteIngress{}) + if err := m.Ingress[len(m.Ingress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouteTargetReference) 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 ErrIntOverflowGenerated + } + 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: RouteTargetReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouteTargetReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Weight = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouterShard) 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 ErrIntOverflowGenerated + } + 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: RouterShard: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouterShard: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ShardName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DNSSuffix", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DNSSuffix = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TLSConfig) 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 ErrIntOverflowGenerated + } + 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: TLSConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TLSConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Termination", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Termination = TLSTerminationType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Certificate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Certificate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Key = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CACertificate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CACertificate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationCACertificate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DestinationCACertificate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InsecureEdgeTerminationPolicy", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InsecureEdgeTerminationPolicy = InsecureEdgeTerminationPolicyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/route/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 1146 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0x8f, 0xff, 0xa6, 0x1e, 0xb7, 0x85, 0x0c, 0x94, 0xba, 0x91, 0x62, 0xa7, 0x7b, 0x40, 0x29, + 0x2a, 0xbb, 0x24, 0x14, 0xa8, 0x84, 0x38, 0xd4, 0x29, 0x82, 0x34, 0x4e, 0x1a, 0x8d, 0x2d, 0x2a, + 0xaa, 0x1e, 0x98, 0xec, 0x8e, 0xd7, 0x83, 0xed, 0x99, 0x65, 0x66, 0x9c, 0xe2, 0x0b, 0xaa, 0xc4, + 0x17, 0x28, 0x7c, 0x1a, 0x3e, 0x42, 0x8e, 0x3d, 0xf6, 0x80, 0x2c, 0x62, 0x8e, 0x7c, 0x83, 0x9c, + 0xd0, 0xcc, 0x8e, 0xbd, 0xeb, 0xc4, 0x49, 0x5d, 0xb8, 0xed, 0xbc, 0xf7, 0x7e, 0xbf, 0xf7, 0xe6, + 0xbd, 0xb7, 0xbf, 0x01, 0x9b, 0x21, 0x55, 0x9d, 0xc1, 0xa1, 0xeb, 0xf3, 0xbe, 0xc7, 0x23, 0xc2, + 0x64, 0x87, 0xb6, 0x95, 0x87, 0x23, 0xea, 0x09, 0x3e, 0x50, 0xc4, 0x3b, 0xda, 0xf4, 0x42, 0xc2, + 0x88, 0xc0, 0x8a, 0x04, 0x6e, 0x24, 0xb8, 0xe2, 0xf0, 0x76, 0x02, 0x71, 0xa7, 0x10, 0x17, 0x47, + 0xd4, 0x35, 0x10, 0xf7, 0x68, 0x73, 0xf5, 0xe3, 0x14, 0x6b, 0xc8, 0x43, 0xee, 0x19, 0xe4, 0xe1, + 0xa0, 0x6d, 0x4e, 0xe6, 0x60, 0xbe, 0x62, 0xc6, 0x55, 0xa7, 0x7b, 0x5f, 0xba, 0x94, 0x9b, 0xb4, + 0x3e, 0x17, 0xf3, 0xb2, 0xae, 0xde, 0x4b, 0x62, 0xfa, 0xd8, 0xef, 0x50, 0x46, 0xc4, 0xd0, 0x8b, + 0xba, 0xa1, 0x36, 0x48, 0xaf, 0x4f, 0x14, 0x9e, 0x87, 0xfa, 0xfc, 0x22, 0x94, 0x18, 0x30, 0x45, + 0xfb, 0xc4, 0x93, 0x7e, 0x87, 0xf4, 0xf1, 0x39, 0xdc, 0xa7, 0x17, 0xe1, 0x06, 0x8a, 0xf6, 0x3c, + 0xca, 0x94, 0x54, 0xe2, 0x2c, 0xc8, 0xf9, 0x2d, 0x0b, 0x0a, 0x48, 0xb7, 0x00, 0xfe, 0x00, 0xae, + 0xe8, 0x8a, 0x02, 0xac, 0x70, 0x25, 0xb3, 0x9e, 0xd9, 0x28, 0x6f, 0x7d, 0xe2, 0xc6, 0x8c, 0x6e, + 0x9a, 0xd1, 0x8d, 0xba, 0xa1, 0x36, 0x48, 0x57, 0x47, 0xbb, 0x47, 0x9b, 0xee, 0xe3, 0xc3, 0x1f, + 0x89, 0xaf, 0xf6, 0x88, 0xc2, 0x75, 0x78, 0x3c, 0xaa, 0x2d, 0x8d, 0x47, 0x35, 0x90, 0xd8, 0xd0, + 0x94, 0x15, 0xee, 0x83, 0xbc, 0x8c, 0x88, 0x5f, 0xc9, 0x1a, 0xf6, 0xbb, 0xee, 0x1b, 0x67, 0xe2, + 0x9a, 0xca, 0x9a, 0x11, 0xf1, 0xeb, 0x57, 0x2d, 0x73, 0x5e, 0x9f, 0x90, 0xe1, 0x81, 0xdf, 0x81, + 0xa2, 0x54, 0x58, 0x0d, 0x64, 0x25, 0x67, 0x18, 0xdd, 0x85, 0x19, 0x0d, 0xaa, 0x7e, 0xdd, 0x72, + 0x16, 0xe3, 0x33, 0xb2, 0x6c, 0xce, 0xaf, 0x39, 0x70, 0xd5, 0xc4, 0xed, 0xb0, 0x50, 0x10, 0x29, + 0xe1, 0x3a, 0xc8, 0x77, 0xb8, 0x54, 0xa6, 0x2d, 0xa5, 0xa4, 0x94, 0x6f, 0xb9, 0x54, 0xc8, 0x78, + 0xe0, 0x16, 0x00, 0x26, 0x85, 0xd8, 0xc7, 0x7d, 0x62, 0x2e, 0x58, 0x4a, 0x9a, 0x81, 0xa6, 0x1e, + 0x94, 0x8a, 0x82, 0x3d, 0x00, 0x7c, 0xce, 0x02, 0xaa, 0x28, 0x67, 0xfa, 0x0a, 0xb9, 0x8d, 0xf2, + 0xd6, 0xfd, 0x45, 0xaf, 0x60, 0x4b, 0xdb, 0x9e, 0x10, 0x24, 0xd9, 0xa6, 0x26, 0x89, 0x52, 0xfc, + 0xb0, 0x05, 0xae, 0x3f, 0xa7, 0xbd, 0xc0, 0xc7, 0x22, 0x38, 0xe0, 0x3d, 0xea, 0x0f, 0x2b, 0x79, + 0x53, 0xe5, 0x5d, 0x8b, 0xbb, 0xfe, 0x64, 0xc6, 0x7b, 0x3a, 0xaa, 0xc1, 0x59, 0x4b, 0x6b, 0x18, + 0x11, 0x74, 0x86, 0x03, 0x7e, 0x0f, 0x6e, 0xc6, 0x37, 0xda, 0xc6, 0x8c, 0x33, 0xea, 0xe3, 0x9e, + 0x6e, 0x0a, 0xd3, 0x4d, 0x28, 0x18, 0xfa, 0x9a, 0xa5, 0xbf, 0x89, 0xe6, 0x87, 0xa1, 0x8b, 0xf0, + 0xce, 0x3f, 0x59, 0x70, 0x63, 0xee, 0x55, 0xe1, 0x57, 0x20, 0xaf, 0x86, 0x11, 0xb1, 0xe3, 0xb8, + 0x33, 0x19, 0x87, 0x2e, 0xf0, 0x74, 0x54, 0xbb, 0x35, 0x17, 0x64, 0xaa, 0x37, 0x30, 0xd8, 0x98, + 0xae, 0x4d, 0x3c, 0xa7, 0x7b, 0xb3, 0x6b, 0x70, 0x3a, 0xaa, 0xcd, 0xf9, 0xb7, 0xdd, 0x29, 0xd3, + 0xec, 0xb2, 0xc0, 0x0f, 0x41, 0x51, 0x10, 0x2c, 0x39, 0x33, 0x4b, 0x58, 0x4a, 0x96, 0x0a, 0x19, + 0x2b, 0xb2, 0x5e, 0x78, 0x07, 0x2c, 0xf7, 0x89, 0x94, 0x38, 0x24, 0xb6, 0xf1, 0xef, 0xd8, 0xc0, + 0xe5, 0xbd, 0xd8, 0x8c, 0x26, 0x7e, 0x28, 0x00, 0xec, 0x61, 0xa9, 0x5a, 0x02, 0x33, 0x19, 0x17, + 0x4f, 0x6d, 0x3f, 0xcb, 0x5b, 0x1f, 0x2d, 0xf6, 0x4f, 0x6a, 0x44, 0xfd, 0x83, 0xf1, 0xa8, 0x06, + 0x1b, 0xe7, 0x98, 0xd0, 0x1c, 0x76, 0xe7, 0x8f, 0x0c, 0x28, 0x99, 0xc6, 0x35, 0xa8, 0x54, 0xf0, + 0xd9, 0x39, 0x2d, 0x70, 0x17, 0xcb, 0xab, 0xd1, 0x46, 0x09, 0xde, 0xb5, 0xb7, 0xbb, 0x32, 0xb1, + 0xa4, 0x74, 0x60, 0x0f, 0x14, 0xa8, 0x22, 0x7d, 0xdd, 0x7f, 0xbd, 0xf3, 0x1b, 0x8b, 0xee, 0x7c, + 0xfd, 0x9a, 0x25, 0x2d, 0xec, 0x68, 0x38, 0x8a, 0x59, 0x9c, 0x9f, 0x6c, 0xe5, 0x07, 0x5c, 0x28, + 0x18, 0x00, 0xa0, 0xb0, 0x08, 0x89, 0xd2, 0xa7, 0x37, 0xea, 0x98, 0x56, 0x46, 0x37, 0x56, 0x46, + 0x77, 0x87, 0xa9, 0xc7, 0xa2, 0xa9, 0x04, 0x65, 0x61, 0xf2, 0x33, 0xb5, 0xa6, 0x5c, 0x28, 0xc5, + 0xeb, 0xfc, 0x9e, 0xb7, 0x39, 0xb5, 0x1a, 0x2d, 0x20, 0x0f, 0xeb, 0x20, 0x1f, 0x61, 0xd5, 0xb1, + 0x0b, 0x37, 0x8d, 0x38, 0xc0, 0xaa, 0x83, 0x8c, 0x07, 0x36, 0x41, 0x56, 0x71, 0xab, 0x63, 0x5f, + 0x2c, 0xda, 0x90, 0xb8, 0x3a, 0x44, 0xda, 0x44, 0x10, 0xe6, 0x93, 0x3a, 0xb0, 0xc4, 0xd9, 0x16, + 0x47, 0x59, 0xc5, 0xe1, 0x8b, 0x0c, 0x58, 0xc1, 0x3d, 0x45, 0x04, 0xc3, 0x8a, 0xd4, 0xb1, 0xdf, + 0x25, 0x2c, 0x90, 0x95, 0xbc, 0xe9, 0xfa, 0x7f, 0x4e, 0x72, 0xcb, 0x26, 0x59, 0x79, 0x70, 0x96, + 0x19, 0x9d, 0x4f, 0x06, 0x1f, 0x81, 0x7c, 0xa4, 0x27, 0x51, 0x78, 0x3b, 0xcd, 0xd7, 0x5d, 0xae, + 0x5f, 0x31, 0x3d, 0xd2, 0xbd, 0x37, 0x1c, 0xf0, 0x1b, 0x90, 0x53, 0x3d, 0x59, 0x29, 0x2e, 0x4c, + 0xd5, 0x6a, 0x34, 0xb7, 0x39, 0x6b, 0xd3, 0xb0, 0xbe, 0x3c, 0x1e, 0xd5, 0x72, 0xad, 0x46, 0x13, + 0x69, 0x86, 0x39, 0x5a, 0xb8, 0xfc, 0xff, 0xb5, 0xd0, 0xa1, 0xa0, 0x9c, 0x7a, 0x5d, 0xe0, 0x53, + 0xb0, 0x4c, 0x63, 0x11, 0xaa, 0x64, 0x4c, 0xc7, 0xbd, 0xb7, 0xd4, 0xf6, 0x44, 0x21, 0xac, 0x01, + 0x4d, 0x08, 0x9d, 0x5f, 0xc0, 0xfb, 0xf3, 0x66, 0xa3, 0xf7, 0xac, 0x4b, 0x59, 0x70, 0x76, 0x13, + 0x77, 0x29, 0x0b, 0x90, 0xf1, 0xe8, 0x08, 0x96, 0x3c, 0x51, 0xd3, 0x08, 0xf3, 0x38, 0x19, 0x0f, + 0x74, 0x40, 0xf1, 0x39, 0xa1, 0x61, 0x47, 0x99, 0x6d, 0x2c, 0xd4, 0x81, 0x16, 0xb3, 0x27, 0xc6, + 0x82, 0xac, 0xc7, 0xe1, 0xf6, 0xaa, 0xa2, 0xd9, 0xc1, 0x22, 0x80, 0x1e, 0x28, 0x49, 0xfd, 0x61, + 0x1e, 0xbf, 0x38, 0xf7, 0x8a, 0x65, 0x2e, 0x35, 0x27, 0x0e, 0x94, 0xc4, 0x68, 0x40, 0xc0, 0x64, + 0x73, 0xd0, 0x6e, 0xd3, 0x9f, 0x6d, 0x29, 0x53, 0xc0, 0xc3, 0xfd, 0x66, 0xec, 0x40, 0x49, 0x8c, + 0xf3, 0x67, 0x0e, 0x94, 0xa6, 0xd3, 0x84, 0xbb, 0xa0, 0xac, 0x88, 0xe8, 0x53, 0x86, 0xb5, 0x7e, + 0x9d, 0x79, 0x07, 0xca, 0xad, 0xc4, 0xa5, 0x27, 0xd7, 0x6a, 0x34, 0x53, 0x16, 0x33, 0xb9, 0x34, + 0x1a, 0x7e, 0x06, 0xca, 0x3e, 0x11, 0x8a, 0xb6, 0xa9, 0x8f, 0xd5, 0xa4, 0x31, 0xef, 0x4d, 0xc8, + 0xb6, 0x13, 0x17, 0x4a, 0xc7, 0xc1, 0x35, 0x90, 0xeb, 0x92, 0xa1, 0x15, 0xfd, 0xb2, 0x0d, 0xcf, + 0xed, 0x92, 0x21, 0xd2, 0x76, 0xf8, 0x25, 0xb8, 0xe6, 0xe3, 0x14, 0xd8, 0x8a, 0xfe, 0x0d, 0x1b, + 0x78, 0x6d, 0xfb, 0x41, 0x9a, 0x79, 0x36, 0x16, 0x3e, 0x03, 0x95, 0x80, 0x48, 0x65, 0x2b, 0x9c, + 0x09, 0xb5, 0xcf, 0xea, 0xba, 0xe5, 0xa9, 0x3c, 0xbc, 0x20, 0x0e, 0x5d, 0xc8, 0x00, 0x5f, 0x66, + 0xc0, 0x1a, 0x65, 0x92, 0xf8, 0x03, 0x41, 0xbe, 0x0e, 0x42, 0x92, 0xea, 0x8e, 0xfd, 0x1b, 0x8a, + 0x26, 0xc7, 0x23, 0x9b, 0x63, 0x6d, 0xe7, 0xb2, 0xe0, 0xd3, 0x51, 0xed, 0xf6, 0xa5, 0x01, 0xa6, + 0xe3, 0x97, 0x27, 0xac, 0x6f, 0x1c, 0x9f, 0x54, 0x97, 0x5e, 0x9d, 0x54, 0x97, 0x5e, 0x9f, 0x54, + 0x97, 0x5e, 0x8c, 0xab, 0x99, 0xe3, 0x71, 0x35, 0xf3, 0x6a, 0x5c, 0xcd, 0xbc, 0x1e, 0x57, 0x33, + 0x7f, 0x8d, 0xab, 0x99, 0x97, 0x7f, 0x57, 0x97, 0x9e, 0x66, 0x8f, 0x36, 0xff, 0x0d, 0x00, 0x00, + 0xff, 0xff, 0x3b, 0x9e, 0x66, 0x71, 0xfc, 0x0b, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/route/v1/generated.proto b/vendor/github.com/openshift/api/route/v1/generated.proto new file mode 100644 index 000000000..a911977fd --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/generated.proto @@ -0,0 +1,216 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.route.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// A route allows developers to expose services through an HTTP(S) aware load balancing and proxy +// layer via a public DNS entry. The route may further specify TLS options and a certificate, or +// specify a public CNAME that the router should also accept for HTTP and HTTPS traffic. An +// administrator typically configures their router to be visible outside the cluster firewall, and +// may also add additional security, caching, or traffic controls on the service content. Routers +// usually talk directly to the service endpoints. +// +// Once a route is created, the `host` field may not be changed. Generally, routers use the oldest +// route with a given host when resolving conflicts. +// +// Routers are subject to additional customization and may support additional controls via the +// annotations field. +// +// Because administrators may configure multiple routers, the route status field is used to +// return information to clients about the names and states of the route under each router. +// If a client chooses a duplicate name, for instance, the route status conditions are used +// to indicate the route cannot be chosen. +message Route { + // Standard object metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec is the desired state of the route + optional RouteSpec spec = 2; + + // status is the current state of the route + optional RouteStatus status = 3; +} + +// RouteIngress holds information about the places where a route is exposed. +message RouteIngress { + // Host is the host string under which the route is exposed; this value is required + optional string host = 1; + + // Name is a name chosen by the router to identify itself; this value is required + optional string routerName = 2; + + // Conditions is the state of the route, may be empty. + repeated RouteIngressCondition conditions = 3; + + // Wildcard policy is the wildcard policy that was allowed where this route is exposed. + optional string wildcardPolicy = 4; + + // CanonicalHostname is the external host name for the router that can be used as a CNAME + // for the host requested for this route. This value is optional and may not be set in all cases. + optional string routerCanonicalHostname = 5; +} + +// RouteIngressCondition contains details for the current condition of this route on a particular +// router. +message RouteIngressCondition { + // Type is the type of the condition. + // Currently only Ready. + optional string type = 1; + + // Status is the status of the condition. + // Can be True, False, Unknown. + optional string status = 2; + + // (brief) reason for the condition's last transition, and is usually a machine and human + // readable constant + optional string reason = 3; + + // Human readable message indicating details about last transition. + optional string message = 4; + + // RFC 3339 date and time when this condition last transitioned + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 5; +} + +// RouteList is a collection of Routes. +message RouteList { + // Standard object metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is a list of routes + repeated Route items = 2; +} + +// RoutePort defines a port mapping from a router to an endpoint in the service endpoints. +message RoutePort { + // The target port on pods selected by the service this route points to. + // If this is a string, it will be looked up as a named port in the target + // endpoints port list. Required + optional k8s.io.apimachinery.pkg.util.intstr.IntOrString targetPort = 1; +} + +// RouteSpec describes the hostname or path the route exposes, any security information, +// and one to four backends (services) the route points to. Requests are distributed +// among the backends depending on the weights assigned to each backend. When using +// roundrobin scheduling the portion of requests that go to each backend is the backend +// weight divided by the sum of all of the backend weights. When the backend has more than +// one endpoint the requests that end up on the backend are roundrobin distributed among +// the endpoints. Weights are between 0 and 256 with default 1. Weight 0 causes no requests +// to the backend. If all weights are zero the route will be considered to have no backends +// and return a standard 503 response. +// +// The `tls` field is optional and allows specific certificates or behavior for the +// route. Routers typically configure a default certificate on a wildcard domain to +// terminate routes without explicit certificates, but custom hostnames usually must +// choose passthrough (send traffic directly to the backend via the TLS Server-Name- +// Indication field) or provide a certificate. +message RouteSpec { + // host is an alias/DNS that points to the service. Optional. + // If not specified a route name will typically be automatically + // chosen. + // Must follow DNS952 subdomain conventions. + optional string host = 1; + + // Path that the router watches for, to route traffic for to the service. Optional + optional string path = 2; + + // to is an object the route should use as the primary backend. Only the Service kind + // is allowed, and it will be defaulted to Service. If the weight field (0-256 default 1) + // is set to zero, no traffic will be sent to this backend. + optional RouteTargetReference to = 3; + + // alternateBackends allows up to 3 additional backends to be assigned to the route. + // Only the Service kind is allowed, and it will be defaulted to Service. + // Use the weight field in RouteTargetReference object to specify relative preference. + repeated RouteTargetReference alternateBackends = 4; + + // If specified, the port to be used by the router. Most routers will use all + // endpoints exposed by the service by default - set this value to instruct routers + // which port to use. + optional RoutePort port = 5; + + // The tls field provides the ability to configure certificates and termination for the route. + optional TLSConfig tls = 6; + + // Wildcard policy if any for the route. + // Currently only 'Subdomain' or 'None' is allowed. + optional string wildcardPolicy = 7; +} + +// RouteStatus provides relevant info about the status of a route, including which routers +// acknowledge it. +message RouteStatus { + // ingress describes the places where the route may be exposed. The list of + // ingress points may contain duplicate Host or RouterName values. Routes + // are considered live once they are `Ready` + repeated RouteIngress ingress = 1; +} + +// RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service' +// kind is allowed. Use 'weight' field to emphasize one over others. +message RouteTargetReference { + // The kind of target that the route is referring to. Currently, only 'Service' is allowed + optional string kind = 1; + + // name of the service/target that is being referred to. e.g. name of the service + optional string name = 2; + + // weight as an integer between 0 and 256, default 1, that specifies the target's relative weight + // against other target reference objects. 0 suppresses requests to this backend. + optional int32 weight = 3; +} + +// RouterShard has information of a routing shard and is used to +// generate host names and routing table entries when a routing shard is +// allocated for a specific route. +// Caveat: This is WIP and will likely undergo modifications when sharding +// support is added. +message RouterShard { + // shardName uniquely identifies a router shard in the "set" of + // routers used for routing traffic to the services. + optional string shardName = 1; + + // dnsSuffix for the shard ala: shard-1.v3.openshift.com + optional string dnsSuffix = 2; +} + +// TLSConfig defines config used to secure a route and provide termination +message TLSConfig { + // termination indicates termination type. + optional string termination = 1; + + // certificate provides certificate contents + optional string certificate = 2; + + // key provides key file contents + optional string key = 3; + + // caCertificate provides the cert authority certificate contents + optional string caCertificate = 4; + + // destinationCACertificate provides the contents of the ca certificate of the final destination. When using reencrypt + // termination this file should be provided in order to have routers use it for health checks on the secure connection. + // If this field is not specified, the router may provide its own destination CA and perform hostname validation using + // the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically + // verify. + optional string destinationCACertificate = 5; + + // insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While + // each router may make its own decisions on which ports to expose, this is normally port 80. + // + // * Allow - traffic is sent to the server on the insecure port (default) + // * Disable - no traffic is allowed on the insecure port. + // * Redirect - clients are redirected to the secure port. + optional string insecureEdgeTerminationPolicy = 6; +} + diff --git a/vendor/github.com/openshift/api/route/v1/legacy.go b/vendor/github.com/openshift/api/route/v1/legacy.go new file mode 100644 index 000000000..498f5dd0f --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/legacy.go @@ -0,0 +1,22 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &Route{}, + &RouteList{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/route/v1/register.go b/vendor/github.com/openshift/api/route/v1/register.go new file mode 100644 index 000000000..6f99ef5c9 --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/register.go @@ -0,0 +1,39 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "route.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &Route{}, + &RouteList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/route/v1/types.go b/vendor/github.com/openshift/api/route/v1/types.go new file mode 100644 index 000000000..6c14ae718 --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/types.go @@ -0,0 +1,255 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/intstr" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// A route allows developers to expose services through an HTTP(S) aware load balancing and proxy +// layer via a public DNS entry. The route may further specify TLS options and a certificate, or +// specify a public CNAME that the router should also accept for HTTP and HTTPS traffic. An +// administrator typically configures their router to be visible outside the cluster firewall, and +// may also add additional security, caching, or traffic controls on the service content. Routers +// usually talk directly to the service endpoints. +// +// Once a route is created, the `host` field may not be changed. Generally, routers use the oldest +// route with a given host when resolving conflicts. +// +// Routers are subject to additional customization and may support additional controls via the +// annotations field. +// +// Because administrators may configure multiple routers, the route status field is used to +// return information to clients about the names and states of the route under each router. +// If a client chooses a duplicate name, for instance, the route status conditions are used +// to indicate the route cannot be chosen. +type Route struct { + metav1.TypeMeta `json:",inline"` + // Standard object metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // spec is the desired state of the route + Spec RouteSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + // status is the current state of the route + Status RouteStatus `json:"status" protobuf:"bytes,3,opt,name=status"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RouteList is a collection of Routes. +type RouteList struct { + metav1.TypeMeta `json:",inline"` + // Standard object metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // items is a list of routes + Items []Route `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// RouteSpec describes the hostname or path the route exposes, any security information, +// and one to four backends (services) the route points to. Requests are distributed +// among the backends depending on the weights assigned to each backend. When using +// roundrobin scheduling the portion of requests that go to each backend is the backend +// weight divided by the sum of all of the backend weights. When the backend has more than +// one endpoint the requests that end up on the backend are roundrobin distributed among +// the endpoints. Weights are between 0 and 256 with default 1. Weight 0 causes no requests +// to the backend. If all weights are zero the route will be considered to have no backends +// and return a standard 503 response. +// +// The `tls` field is optional and allows specific certificates or behavior for the +// route. Routers typically configure a default certificate on a wildcard domain to +// terminate routes without explicit certificates, but custom hostnames usually must +// choose passthrough (send traffic directly to the backend via the TLS Server-Name- +// Indication field) or provide a certificate. +type RouteSpec struct { + // host is an alias/DNS that points to the service. Optional. + // If not specified a route name will typically be automatically + // chosen. + // Must follow DNS952 subdomain conventions. + Host string `json:"host" protobuf:"bytes,1,opt,name=host"` + // Path that the router watches for, to route traffic for to the service. Optional + Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"` + + // to is an object the route should use as the primary backend. Only the Service kind + // is allowed, and it will be defaulted to Service. If the weight field (0-256 default 1) + // is set to zero, no traffic will be sent to this backend. + To RouteTargetReference `json:"to" protobuf:"bytes,3,opt,name=to"` + + // alternateBackends allows up to 3 additional backends to be assigned to the route. + // Only the Service kind is allowed, and it will be defaulted to Service. + // Use the weight field in RouteTargetReference object to specify relative preference. + AlternateBackends []RouteTargetReference `json:"alternateBackends,omitempty" protobuf:"bytes,4,rep,name=alternateBackends"` + + // If specified, the port to be used by the router. Most routers will use all + // endpoints exposed by the service by default - set this value to instruct routers + // which port to use. + Port *RoutePort `json:"port,omitempty" protobuf:"bytes,5,opt,name=port"` + + // The tls field provides the ability to configure certificates and termination for the route. + TLS *TLSConfig `json:"tls,omitempty" protobuf:"bytes,6,opt,name=tls"` + + // Wildcard policy if any for the route. + // Currently only 'Subdomain' or 'None' is allowed. + WildcardPolicy WildcardPolicyType `json:"wildcardPolicy,omitempty" protobuf:"bytes,7,opt,name=wildcardPolicy"` +} + +// RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service' +// kind is allowed. Use 'weight' field to emphasize one over others. +type RouteTargetReference struct { + // The kind of target that the route is referring to. Currently, only 'Service' is allowed + Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"` + + // name of the service/target that is being referred to. e.g. name of the service + Name string `json:"name" protobuf:"bytes,2,opt,name=name"` + + // weight as an integer between 0 and 256, default 1, that specifies the target's relative weight + // against other target reference objects. 0 suppresses requests to this backend. + Weight *int32 `json:"weight" protobuf:"varint,3,opt,name=weight"` +} + +// RoutePort defines a port mapping from a router to an endpoint in the service endpoints. +type RoutePort struct { + // The target port on pods selected by the service this route points to. + // If this is a string, it will be looked up as a named port in the target + // endpoints port list. Required + TargetPort intstr.IntOrString `json:"targetPort" protobuf:"bytes,1,opt,name=targetPort"` +} + +// RouteStatus provides relevant info about the status of a route, including which routers +// acknowledge it. +type RouteStatus struct { + // ingress describes the places where the route may be exposed. The list of + // ingress points may contain duplicate Host or RouterName values. Routes + // are considered live once they are `Ready` + Ingress []RouteIngress `json:"ingress" protobuf:"bytes,1,rep,name=ingress"` +} + +// RouteIngress holds information about the places where a route is exposed. +type RouteIngress struct { + // Host is the host string under which the route is exposed; this value is required + Host string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"` + // Name is a name chosen by the router to identify itself; this value is required + RouterName string `json:"routerName,omitempty" protobuf:"bytes,2,opt,name=routerName"` + // Conditions is the state of the route, may be empty. + Conditions []RouteIngressCondition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"` + // Wildcard policy is the wildcard policy that was allowed where this route is exposed. + WildcardPolicy WildcardPolicyType `json:"wildcardPolicy,omitempty" protobuf:"bytes,4,opt,name=wildcardPolicy"` + // CanonicalHostname is the external host name for the router that can be used as a CNAME + // for the host requested for this route. This value is optional and may not be set in all cases. + RouterCanonicalHostname string `json:"routerCanonicalHostname,omitempty" protobuf:"bytes,5,opt,name=routerCanonicalHostname"` +} + +// RouteIngressConditionType is a valid value for RouteCondition +type RouteIngressConditionType string + +// These are valid conditions of pod. +const ( + // RouteAdmitted means the route is able to service requests for the provided Host + RouteAdmitted RouteIngressConditionType = "Admitted" + // TODO: add other route condition types +) + +// RouteIngressCondition contains details for the current condition of this route on a particular +// router. +type RouteIngressCondition struct { + // Type is the type of the condition. + // Currently only Ready. + Type RouteIngressConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=RouteIngressConditionType"` + // Status is the status of the condition. + // Can be True, False, Unknown. + Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"` + // (brief) reason for the condition's last transition, and is usually a machine and human + // readable constant + Reason string `json:"reason,omitempty" protobuf:"bytes,3,opt,name=reason"` + // Human readable message indicating details about last transition. + Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"` + // RFC 3339 date and time when this condition last transitioned + LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,5,opt,name=lastTransitionTime"` +} + +// RouterShard has information of a routing shard and is used to +// generate host names and routing table entries when a routing shard is +// allocated for a specific route. +// Caveat: This is WIP and will likely undergo modifications when sharding +// support is added. +type RouterShard struct { + // shardName uniquely identifies a router shard in the "set" of + // routers used for routing traffic to the services. + ShardName string `json:"shardName" protobuf:"bytes,1,opt,name=shardName"` + + // dnsSuffix for the shard ala: shard-1.v3.openshift.com + DNSSuffix string `json:"dnsSuffix" protobuf:"bytes,2,opt,name=dnsSuffix"` +} + +// TLSConfig defines config used to secure a route and provide termination +type TLSConfig struct { + // termination indicates termination type. + Termination TLSTerminationType `json:"termination" protobuf:"bytes,1,opt,name=termination,casttype=TLSTerminationType"` + + // certificate provides certificate contents + Certificate string `json:"certificate,omitempty" protobuf:"bytes,2,opt,name=certificate"` + + // key provides key file contents + Key string `json:"key,omitempty" protobuf:"bytes,3,opt,name=key"` + + // caCertificate provides the cert authority certificate contents + CACertificate string `json:"caCertificate,omitempty" protobuf:"bytes,4,opt,name=caCertificate"` + + // destinationCACertificate provides the contents of the ca certificate of the final destination. When using reencrypt + // termination this file should be provided in order to have routers use it for health checks on the secure connection. + // If this field is not specified, the router may provide its own destination CA and perform hostname validation using + // the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically + // verify. + DestinationCACertificate string `json:"destinationCACertificate,omitempty" protobuf:"bytes,5,opt,name=destinationCACertificate"` + + // insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While + // each router may make its own decisions on which ports to expose, this is normally port 80. + // + // * Allow - traffic is sent to the server on the insecure port (default) + // * Disable - no traffic is allowed on the insecure port. + // * Redirect - clients are redirected to the secure port. + InsecureEdgeTerminationPolicy InsecureEdgeTerminationPolicyType `json:"insecureEdgeTerminationPolicy,omitempty" protobuf:"bytes,6,opt,name=insecureEdgeTerminationPolicy,casttype=InsecureEdgeTerminationPolicyType"` +} + +// TLSTerminationType dictates where the secure communication will stop +// TODO: Reconsider this type in v2 +type TLSTerminationType string + +// InsecureEdgeTerminationPolicyType dictates the behavior of insecure +// connections to an edge-terminated route. +type InsecureEdgeTerminationPolicyType string + +const ( + // TLSTerminationEdge terminate encryption at the edge router. + TLSTerminationEdge TLSTerminationType = "edge" + // TLSTerminationPassthrough terminate encryption at the destination, the destination is responsible for decrypting traffic + TLSTerminationPassthrough TLSTerminationType = "passthrough" + // TLSTerminationReencrypt terminate encryption at the edge router and re-encrypt it with a new certificate supplied by the destination + TLSTerminationReencrypt TLSTerminationType = "reencrypt" + + // InsecureEdgeTerminationPolicyNone disables insecure connections for an edge-terminated route. + InsecureEdgeTerminationPolicyNone InsecureEdgeTerminationPolicyType = "None" + // InsecureEdgeTerminationPolicyAllow allows insecure connections for an edge-terminated route. + InsecureEdgeTerminationPolicyAllow InsecureEdgeTerminationPolicyType = "Allow" + // InsecureEdgeTerminationPolicyRedirect redirects insecure connections for an edge-terminated route. + // As an example, for routers that support HTTP and HTTPS, the + // insecure HTTP connections will be redirected to use HTTPS. + InsecureEdgeTerminationPolicyRedirect InsecureEdgeTerminationPolicyType = "Redirect" +) + +// WildcardPolicyType indicates the type of wildcard support needed by routes. +type WildcardPolicyType string + +const ( + // WildcardPolicyNone indicates no wildcard support is needed. + WildcardPolicyNone WildcardPolicyType = "None" + + // WildcardPolicySubdomain indicates the host needs wildcard support for the subdomain. + // Example: For host = "www.acme.test", indicates that the router + // should support requests for *.acme.test + // Note that this will not match acme.test only *.acme.test + WildcardPolicySubdomain WildcardPolicyType = "Subdomain" +) diff --git a/vendor/github.com/openshift/api/route/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/route/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..c88cd0383 --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/zz_generated.deepcopy.go @@ -0,0 +1,256 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Route) DeepCopyInto(out *Route) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route. +func (in *Route) DeepCopy() *Route { + if in == nil { + return nil + } + out := new(Route) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Route) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteIngress) DeepCopyInto(out *RouteIngress) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]RouteIngressCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteIngress. +func (in *RouteIngress) DeepCopy() *RouteIngress { + if in == nil { + return nil + } + out := new(RouteIngress) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteIngressCondition) DeepCopyInto(out *RouteIngressCondition) { + *out = *in + if in.LastTransitionTime != nil { + in, out := &in.LastTransitionTime, &out.LastTransitionTime + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteIngressCondition. +func (in *RouteIngressCondition) DeepCopy() *RouteIngressCondition { + if in == nil { + return nil + } + out := new(RouteIngressCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteList) DeepCopyInto(out *RouteList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Route, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList. +func (in *RouteList) DeepCopy() *RouteList { + if in == nil { + return nil + } + out := new(RouteList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RouteList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RoutePort) DeepCopyInto(out *RoutePort) { + *out = *in + out.TargetPort = in.TargetPort + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutePort. +func (in *RoutePort) DeepCopy() *RoutePort { + if in == nil { + return nil + } + out := new(RoutePort) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteSpec) DeepCopyInto(out *RouteSpec) { + *out = *in + in.To.DeepCopyInto(&out.To) + if in.AlternateBackends != nil { + in, out := &in.AlternateBackends, &out.AlternateBackends + *out = make([]RouteTargetReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Port != nil { + in, out := &in.Port, &out.Port + if *in == nil { + *out = nil + } else { + *out = new(RoutePort) + **out = **in + } + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + if *in == nil { + *out = nil + } else { + *out = new(TLSConfig) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec. +func (in *RouteSpec) DeepCopy() *RouteSpec { + if in == nil { + return nil + } + out := new(RouteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteStatus) DeepCopyInto(out *RouteStatus) { + *out = *in + if in.Ingress != nil { + in, out := &in.Ingress, &out.Ingress + *out = make([]RouteIngress, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus. +func (in *RouteStatus) DeepCopy() *RouteStatus { + if in == nil { + return nil + } + out := new(RouteStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouteTargetReference) DeepCopyInto(out *RouteTargetReference) { + *out = *in + if in.Weight != nil { + in, out := &in.Weight, &out.Weight + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteTargetReference. +func (in *RouteTargetReference) DeepCopy() *RouteTargetReference { + if in == nil { + return nil + } + out := new(RouteTargetReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RouterShard) DeepCopyInto(out *RouterShard) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouterShard. +func (in *RouterShard) DeepCopy() *RouterShard { + if in == nil { + return nil + } + out := new(RouterShard) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TLSConfig) DeepCopyInto(out *TLSConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig. +func (in *TLSConfig) DeepCopy() *TLSConfig { + if in == nil { + return nil + } + out := new(TLSConfig) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..f0727d93f --- /dev/null +++ b/vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,129 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_Route = map[string]string{ + "": "A route allows developers to expose services through an HTTP(S) aware load balancing and proxy layer via a public DNS entry. The route may further specify TLS options and a certificate, or specify a public CNAME that the router should also accept for HTTP and HTTPS traffic. An administrator typically configures their router to be visible outside the cluster firewall, and may also add additional security, caching, or traffic controls on the service content. Routers usually talk directly to the service endpoints.\n\nOnce a route is created, the `host` field may not be changed. Generally, routers use the oldest route with a given host when resolving conflicts.\n\nRouters are subject to additional customization and may support additional controls via the annotations field.\n\nBecause administrators may configure multiple routers, the route status field is used to return information to clients about the names and states of the route under each router. If a client chooses a duplicate name, for instance, the route status conditions are used to indicate the route cannot be chosen.", + "metadata": "Standard object metadata.", + "spec": "spec is the desired state of the route", + "status": "status is the current state of the route", +} + +func (Route) SwaggerDoc() map[string]string { + return map_Route +} + +var map_RouteIngress = map[string]string{ + "": "RouteIngress holds information about the places where a route is exposed.", + "host": "Host is the host string under which the route is exposed; this value is required", + "routerName": "Name is a name chosen by the router to identify itself; this value is required", + "conditions": "Conditions is the state of the route, may be empty.", + "wildcardPolicy": "Wildcard policy is the wildcard policy that was allowed where this route is exposed.", + "routerCanonicalHostname": "CanonicalHostname is the external host name for the router that can be used as a CNAME for the host requested for this route. This value is optional and may not be set in all cases.", +} + +func (RouteIngress) SwaggerDoc() map[string]string { + return map_RouteIngress +} + +var map_RouteIngressCondition = map[string]string{ + "": "RouteIngressCondition contains details for the current condition of this route on a particular router.", + "type": "Type is the type of the condition. Currently only Ready.", + "status": "Status is the status of the condition. Can be True, False, Unknown.", + "reason": "(brief) reason for the condition's last transition, and is usually a machine and human readable constant", + "message": "Human readable message indicating details about last transition.", + "lastTransitionTime": "RFC 3339 date and time when this condition last transitioned", +} + +func (RouteIngressCondition) SwaggerDoc() map[string]string { + return map_RouteIngressCondition +} + +var map_RouteList = map[string]string{ + "": "RouteList is a collection of Routes.", + "metadata": "Standard object metadata.", + "items": "items is a list of routes", +} + +func (RouteList) SwaggerDoc() map[string]string { + return map_RouteList +} + +var map_RoutePort = map[string]string{ + "": "RoutePort defines a port mapping from a router to an endpoint in the service endpoints.", + "targetPort": "The target port on pods selected by the service this route points to. If this is a string, it will be looked up as a named port in the target endpoints port list. Required", +} + +func (RoutePort) SwaggerDoc() map[string]string { + return map_RoutePort +} + +var map_RouteSpec = map[string]string{ + "": "RouteSpec describes the hostname or path the route exposes, any security information, and one to four backends (services) the route points to. Requests are distributed among the backends depending on the weights assigned to each backend. When using roundrobin scheduling the portion of requests that go to each backend is the backend weight divided by the sum of all of the backend weights. When the backend has more than one endpoint the requests that end up on the backend are roundrobin distributed among the endpoints. Weights are between 0 and 256 with default 1. Weight 0 causes no requests to the backend. If all weights are zero the route will be considered to have no backends and return a standard 503 response.\n\nThe `tls` field is optional and allows specific certificates or behavior for the route. Routers typically configure a default certificate on a wildcard domain to terminate routes without explicit certificates, but custom hostnames usually must choose passthrough (send traffic directly to the backend via the TLS Server-Name- Indication field) or provide a certificate.", + "host": "host is an alias/DNS that points to the service. Optional. If not specified a route name will typically be automatically chosen. Must follow DNS952 subdomain conventions.", + "path": "Path that the router watches for, to route traffic for to the service. Optional", + "to": "to is an object the route should use as the primary backend. Only the Service kind is allowed, and it will be defaulted to Service. If the weight field (0-256 default 1) is set to zero, no traffic will be sent to this backend.", + "alternateBackends": "alternateBackends allows up to 3 additional backends to be assigned to the route. Only the Service kind is allowed, and it will be defaulted to Service. Use the weight field in RouteTargetReference object to specify relative preference.", + "port": "If specified, the port to be used by the router. Most routers will use all endpoints exposed by the service by default - set this value to instruct routers which port to use.", + "tls": "The tls field provides the ability to configure certificates and termination for the route.", + "wildcardPolicy": "Wildcard policy if any for the route. Currently only 'Subdomain' or 'None' is allowed.", +} + +func (RouteSpec) SwaggerDoc() map[string]string { + return map_RouteSpec +} + +var map_RouteStatus = map[string]string{ + "": "RouteStatus provides relevant info about the status of a route, including which routers acknowledge it.", + "ingress": "ingress describes the places where the route may be exposed. The list of ingress points may contain duplicate Host or RouterName values. Routes are considered live once they are `Ready`", +} + +func (RouteStatus) SwaggerDoc() map[string]string { + return map_RouteStatus +} + +var map_RouteTargetReference = map[string]string{ + "": "RouteTargetReference specifies the target that resolve into endpoints. Only the 'Service' kind is allowed. Use 'weight' field to emphasize one over others.", + "kind": "The kind of target that the route is referring to. Currently, only 'Service' is allowed", + "name": "name of the service/target that is being referred to. e.g. name of the service", + "weight": "weight as an integer between 0 and 256, default 1, that specifies the target's relative weight against other target reference objects. 0 suppresses requests to this backend.", +} + +func (RouteTargetReference) SwaggerDoc() map[string]string { + return map_RouteTargetReference +} + +var map_RouterShard = map[string]string{ + "": "RouterShard has information of a routing shard and is used to generate host names and routing table entries when a routing shard is allocated for a specific route. Caveat: This is WIP and will likely undergo modifications when sharding\n support is added.", + "shardName": "shardName uniquely identifies a router shard in the \"set\" of routers used for routing traffic to the services.", + "dnsSuffix": "dnsSuffix for the shard ala: shard-1.v3.openshift.com", +} + +func (RouterShard) SwaggerDoc() map[string]string { + return map_RouterShard +} + +var map_TLSConfig = map[string]string{ + "": "TLSConfig defines config used to secure a route and provide termination", + "termination": "termination indicates termination type.", + "certificate": "certificate provides certificate contents", + "key": "key provides key file contents", + "caCertificate": "caCertificate provides the cert authority certificate contents", + "destinationCACertificate": "destinationCACertificate provides the contents of the ca certificate of the final destination. When using reencrypt termination this file should be provided in order to have routers use it for health checks on the secure connection. If this field is not specified, the router may provide its own destination CA and perform hostname validation using the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically verify.", + "insecureEdgeTerminationPolicy": "insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While each router may make its own decisions on which ports to expose, this is normally port 80.\n\n* Allow - traffic is sent to the server on the insecure port (default) * Disable - no traffic is allowed on the insecure port. * Redirect - clients are redirected to the secure port.", +} + +func (TLSConfig) SwaggerDoc() map[string]string { + return map_TLSConfig +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/security/OWNERS b/vendor/github.com/openshift/api/security/OWNERS new file mode 100644 index 000000000..f0e98440a --- /dev/null +++ b/vendor/github.com/openshift/api/security/OWNERS @@ -0,0 +1,2 @@ +reviewers: + - enj diff --git a/vendor/github.com/openshift/api/security/install.go b/vendor/github.com/openshift/api/security/install.go new file mode 100644 index 000000000..c2b04c432 --- /dev/null +++ b/vendor/github.com/openshift/api/security/install.go @@ -0,0 +1,26 @@ +package security + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + securityv1 "github.com/openshift/api/security/v1" +) + +const ( + GroupName = "security.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(securityv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/security/v1/doc.go b/vendor/github.com/openshift/api/security/v1/doc.go new file mode 100644 index 000000000..44fe37eb2 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/security/apis/security +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=security.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/security/v1/generated.pb.go b/vendor/github.com/openshift/api/security/v1/generated.pb.go new file mode 100644 index 000000000..b8b67b912 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/generated.pb.go @@ -0,0 +1,4596 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/security/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/security/v1/generated.proto + + It has these top-level messages: + AllowedFlexVolume + FSGroupStrategyOptions + IDRange + PodSecurityPolicyReview + PodSecurityPolicyReviewSpec + PodSecurityPolicyReviewStatus + PodSecurityPolicySelfSubjectReview + PodSecurityPolicySelfSubjectReviewSpec + PodSecurityPolicySubjectReview + PodSecurityPolicySubjectReviewSpec + PodSecurityPolicySubjectReviewStatus + RangeAllocation + RangeAllocationList + RunAsUserStrategyOptions + SELinuxContextStrategyOptions + SecurityContextConstraints + SecurityContextConstraintsList + ServiceAccountPodSecurityPolicyReviewStatus + SupplementalGroupsStrategyOptions +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *AllowedFlexVolume) Reset() { *m = AllowedFlexVolume{} } +func (*AllowedFlexVolume) ProtoMessage() {} +func (*AllowedFlexVolume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *FSGroupStrategyOptions) Reset() { *m = FSGroupStrategyOptions{} } +func (*FSGroupStrategyOptions) ProtoMessage() {} +func (*FSGroupStrategyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *IDRange) Reset() { *m = IDRange{} } +func (*IDRange) ProtoMessage() {} +func (*IDRange) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *PodSecurityPolicyReview) Reset() { *m = PodSecurityPolicyReview{} } +func (*PodSecurityPolicyReview) ProtoMessage() {} +func (*PodSecurityPolicyReview) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *PodSecurityPolicyReviewSpec) Reset() { *m = PodSecurityPolicyReviewSpec{} } +func (*PodSecurityPolicyReviewSpec) ProtoMessage() {} +func (*PodSecurityPolicyReviewSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{4} +} + +func (m *PodSecurityPolicyReviewStatus) Reset() { *m = PodSecurityPolicyReviewStatus{} } +func (*PodSecurityPolicyReviewStatus) ProtoMessage() {} +func (*PodSecurityPolicyReviewStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{5} +} + +func (m *PodSecurityPolicySelfSubjectReview) Reset() { *m = PodSecurityPolicySelfSubjectReview{} } +func (*PodSecurityPolicySelfSubjectReview) ProtoMessage() {} +func (*PodSecurityPolicySelfSubjectReview) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{6} +} + +func (m *PodSecurityPolicySelfSubjectReviewSpec) Reset() { + *m = PodSecurityPolicySelfSubjectReviewSpec{} +} +func (*PodSecurityPolicySelfSubjectReviewSpec) ProtoMessage() {} +func (*PodSecurityPolicySelfSubjectReviewSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{7} +} + +func (m *PodSecurityPolicySubjectReview) Reset() { *m = PodSecurityPolicySubjectReview{} } +func (*PodSecurityPolicySubjectReview) ProtoMessage() {} +func (*PodSecurityPolicySubjectReview) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{8} +} + +func (m *PodSecurityPolicySubjectReviewSpec) Reset() { *m = PodSecurityPolicySubjectReviewSpec{} } +func (*PodSecurityPolicySubjectReviewSpec) ProtoMessage() {} +func (*PodSecurityPolicySubjectReviewSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{9} +} + +func (m *PodSecurityPolicySubjectReviewStatus) Reset() { *m = PodSecurityPolicySubjectReviewStatus{} } +func (*PodSecurityPolicySubjectReviewStatus) ProtoMessage() {} +func (*PodSecurityPolicySubjectReviewStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{10} +} + +func (m *RangeAllocation) Reset() { *m = RangeAllocation{} } +func (*RangeAllocation) ProtoMessage() {} +func (*RangeAllocation) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func (m *RangeAllocationList) Reset() { *m = RangeAllocationList{} } +func (*RangeAllocationList) ProtoMessage() {} +func (*RangeAllocationList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *RunAsUserStrategyOptions) Reset() { *m = RunAsUserStrategyOptions{} } +func (*RunAsUserStrategyOptions) ProtoMessage() {} +func (*RunAsUserStrategyOptions) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{13} +} + +func (m *SELinuxContextStrategyOptions) Reset() { *m = SELinuxContextStrategyOptions{} } +func (*SELinuxContextStrategyOptions) ProtoMessage() {} +func (*SELinuxContextStrategyOptions) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{14} +} + +func (m *SecurityContextConstraints) Reset() { *m = SecurityContextConstraints{} } +func (*SecurityContextConstraints) ProtoMessage() {} +func (*SecurityContextConstraints) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{15} +} + +func (m *SecurityContextConstraintsList) Reset() { *m = SecurityContextConstraintsList{} } +func (*SecurityContextConstraintsList) ProtoMessage() {} +func (*SecurityContextConstraintsList) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{16} +} + +func (m *ServiceAccountPodSecurityPolicyReviewStatus) Reset() { + *m = ServiceAccountPodSecurityPolicyReviewStatus{} +} +func (*ServiceAccountPodSecurityPolicyReviewStatus) ProtoMessage() {} +func (*ServiceAccountPodSecurityPolicyReviewStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{17} +} + +func (m *SupplementalGroupsStrategyOptions) Reset() { *m = SupplementalGroupsStrategyOptions{} } +func (*SupplementalGroupsStrategyOptions) ProtoMessage() {} +func (*SupplementalGroupsStrategyOptions) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{18} +} + +func init() { + proto.RegisterType((*AllowedFlexVolume)(nil), "github.com.openshift.api.security.v1.AllowedFlexVolume") + proto.RegisterType((*FSGroupStrategyOptions)(nil), "github.com.openshift.api.security.v1.FSGroupStrategyOptions") + proto.RegisterType((*IDRange)(nil), "github.com.openshift.api.security.v1.IDRange") + proto.RegisterType((*PodSecurityPolicyReview)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicyReview") + proto.RegisterType((*PodSecurityPolicyReviewSpec)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicyReviewSpec") + proto.RegisterType((*PodSecurityPolicyReviewStatus)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicyReviewStatus") + proto.RegisterType((*PodSecurityPolicySelfSubjectReview)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicySelfSubjectReview") + proto.RegisterType((*PodSecurityPolicySelfSubjectReviewSpec)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicySelfSubjectReviewSpec") + proto.RegisterType((*PodSecurityPolicySubjectReview)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicySubjectReview") + proto.RegisterType((*PodSecurityPolicySubjectReviewSpec)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicySubjectReviewSpec") + proto.RegisterType((*PodSecurityPolicySubjectReviewStatus)(nil), "github.com.openshift.api.security.v1.PodSecurityPolicySubjectReviewStatus") + proto.RegisterType((*RangeAllocation)(nil), "github.com.openshift.api.security.v1.RangeAllocation") + proto.RegisterType((*RangeAllocationList)(nil), "github.com.openshift.api.security.v1.RangeAllocationList") + proto.RegisterType((*RunAsUserStrategyOptions)(nil), "github.com.openshift.api.security.v1.RunAsUserStrategyOptions") + proto.RegisterType((*SELinuxContextStrategyOptions)(nil), "github.com.openshift.api.security.v1.SELinuxContextStrategyOptions") + proto.RegisterType((*SecurityContextConstraints)(nil), "github.com.openshift.api.security.v1.SecurityContextConstraints") + proto.RegisterType((*SecurityContextConstraintsList)(nil), "github.com.openshift.api.security.v1.SecurityContextConstraintsList") + proto.RegisterType((*ServiceAccountPodSecurityPolicyReviewStatus)(nil), "github.com.openshift.api.security.v1.ServiceAccountPodSecurityPolicyReviewStatus") + proto.RegisterType((*SupplementalGroupsStrategyOptions)(nil), "github.com.openshift.api.security.v1.SupplementalGroupsStrategyOptions") +} +func (m *AllowedFlexVolume) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AllowedFlexVolume) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Driver))) + i += copy(dAtA[i:], m.Driver) + return i, nil +} + +func (m *FSGroupStrategyOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *FSGroupStrategyOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if len(m.Ranges) > 0 { + for _, msg := range m.Ranges { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *IDRange) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *IDRange) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Min)) + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Max)) + return i, nil +} + +func (m *PodSecurityPolicyReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicyReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n1, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n2, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + return i, nil +} + +func (m *PodSecurityPolicyReviewSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicyReviewSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n3, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + if len(m.ServiceAccountNames) > 0 { + for _, s := range m.ServiceAccountNames { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *PodSecurityPolicyReviewStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicyReviewStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.AllowedServiceAccounts) > 0 { + for _, msg := range m.AllowedServiceAccounts { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *PodSecurityPolicySelfSubjectReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicySelfSubjectReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n4, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n5, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + return i, nil +} + +func (m *PodSecurityPolicySelfSubjectReviewSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicySelfSubjectReviewSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n6, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + return i, nil +} + +func (m *PodSecurityPolicySubjectReview) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicySubjectReview) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n7, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n8, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + return i, nil +} + +func (m *PodSecurityPolicySubjectReviewSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicySubjectReviewSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n9, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.User))) + i += copy(dAtA[i:], m.User) + if len(m.Groups) > 0 { + for _, s := range m.Groups { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *PodSecurityPolicySubjectReviewStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodSecurityPolicySubjectReviewStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.AllowedBy != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AllowedBy.Size())) + n10, err := m.AllowedBy.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n11, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + return i, nil +} + +func (m *RangeAllocation) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RangeAllocation) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n12, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Range))) + i += copy(dAtA[i:], m.Range) + if m.Data != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Data))) + i += copy(dAtA[i:], m.Data) + } + return i, nil +} + +func (m *RangeAllocationList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RangeAllocationList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n13, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *RunAsUserStrategyOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RunAsUserStrategyOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.UID != nil { + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.UID)) + } + if m.UIDRangeMin != nil { + dAtA[i] = 0x18 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.UIDRangeMin)) + } + if m.UIDRangeMax != nil { + dAtA[i] = 0x20 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.UIDRangeMax)) + } + return i, nil +} + +func (m *SELinuxContextStrategyOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SELinuxContextStrategyOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if m.SELinuxOptions != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) + n14, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + } + return i, nil +} + +func (m *SecurityContextConstraints) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SecurityContextConstraints) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n15, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n15 + if m.Priority != nil { + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.Priority)) + } + dAtA[i] = 0x18 + i++ + if m.AllowPrivilegedContainer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.DefaultAddCapabilities) > 0 { + for _, s := range m.DefaultAddCapabilities { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.RequiredDropCapabilities) > 0 { + for _, s := range m.RequiredDropCapabilities { + dAtA[i] = 0x2a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.AllowedCapabilities) > 0 { + for _, s := range m.AllowedCapabilities { + dAtA[i] = 0x32 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x38 + i++ + if m.AllowHostDirVolumePlugin { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.Volumes) > 0 { + for _, s := range m.Volumes { + dAtA[i] = 0x42 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x48 + i++ + if m.AllowHostNetwork { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x50 + i++ + if m.AllowHostPorts { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x58 + i++ + if m.AllowHostPID { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x60 + i++ + if m.AllowHostIPC { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x6a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxContext.Size())) + n16, err := m.SELinuxContext.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n16 + dAtA[i] = 0x72 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.RunAsUser.Size())) + n17, err := m.RunAsUser.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.SupplementalGroups.Size())) + n18, err := m.SupplementalGroups.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + dAtA[i] = 0x82 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.FSGroup.Size())) + n19, err := m.FSGroup.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n19 + dAtA[i] = 0x88 + i++ + dAtA[i] = 0x1 + i++ + if m.ReadOnlyRootFilesystem { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if len(m.Users) > 0 { + for _, s := range m.Users { + dAtA[i] = 0x92 + i++ + dAtA[i] = 0x1 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Groups) > 0 { + for _, s := range m.Groups { + dAtA[i] = 0x9a + i++ + dAtA[i] = 0x1 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.SeccompProfiles) > 0 { + for _, s := range m.SeccompProfiles { + dAtA[i] = 0xa2 + i++ + dAtA[i] = 0x1 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.AllowedFlexVolumes) > 0 { + for _, msg := range m.AllowedFlexVolumes { + dAtA[i] = 0xaa + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.DefaultAllowPrivilegeEscalation != nil { + dAtA[i] = 0xb0 + i++ + dAtA[i] = 0x1 + i++ + if *m.DefaultAllowPrivilegeEscalation { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if m.AllowPrivilegeEscalation != nil { + dAtA[i] = 0xb8 + i++ + dAtA[i] = 0x1 + i++ + if *m.AllowPrivilegeEscalation { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + } + if len(m.AllowedUnsafeSysctls) > 0 { + for _, s := range m.AllowedUnsafeSysctls { + dAtA[i] = 0xc2 + i++ + dAtA[i] = 0x1 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.ForbiddenSysctls) > 0 { + for _, s := range m.ForbiddenSysctls { + dAtA[i] = 0xca + i++ + dAtA[i] = 0x1 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *SecurityContextConstraintsList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SecurityContextConstraintsList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n20, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *ServiceAccountPodSecurityPolicyReviewStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ServiceAccountPodSecurityPolicyReviewStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.PodSecurityPolicySubjectReviewStatus.Size())) + n21, err := m.PodSecurityPolicySubjectReviewStatus.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + return i, nil +} + +func (m *SupplementalGroupsStrategyOptions) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SupplementalGroupsStrategyOptions) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + if len(m.Ranges) > 0 { + for _, msg := range m.Ranges { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *AllowedFlexVolume) Size() (n int) { + var l int + _ = l + l = len(m.Driver) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *FSGroupStrategyOptions) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Ranges) > 0 { + for _, e := range m.Ranges { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *IDRange) Size() (n int) { + var l int + _ = l + n += 1 + sovGenerated(uint64(m.Min)) + n += 1 + sovGenerated(uint64(m.Max)) + return n +} + +func (m *PodSecurityPolicyReview) Size() (n int) { + var l int + _ = l + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *PodSecurityPolicyReviewSpec) Size() (n int) { + var l int + _ = l + l = m.Template.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.ServiceAccountNames) > 0 { + for _, s := range m.ServiceAccountNames { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *PodSecurityPolicyReviewStatus) Size() (n int) { + var l int + _ = l + if len(m.AllowedServiceAccounts) > 0 { + for _, e := range m.AllowedServiceAccounts { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *PodSecurityPolicySelfSubjectReview) Size() (n int) { + var l int + _ = l + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *PodSecurityPolicySelfSubjectReviewSpec) Size() (n int) { + var l int + _ = l + l = m.Template.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *PodSecurityPolicySubjectReview) Size() (n int) { + var l int + _ = l + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *PodSecurityPolicySubjectReviewSpec) Size() (n int) { + var l int + _ = l + l = m.Template.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.User) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Groups) > 0 { + for _, s := range m.Groups { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *PodSecurityPolicySubjectReviewStatus) Size() (n int) { + var l int + _ = l + if m.AllowedBy != nil { + l = m.AllowedBy.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Template.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *RangeAllocation) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Range) + n += 1 + l + sovGenerated(uint64(l)) + if m.Data != nil { + l = len(m.Data) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *RangeAllocationList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *RunAsUserStrategyOptions) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.UID != nil { + n += 1 + sovGenerated(uint64(*m.UID)) + } + if m.UIDRangeMin != nil { + n += 1 + sovGenerated(uint64(*m.UIDRangeMin)) + } + if m.UIDRangeMax != nil { + n += 1 + sovGenerated(uint64(*m.UIDRangeMax)) + } + return n +} + +func (m *SELinuxContextStrategyOptions) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if m.SELinuxOptions != nil { + l = m.SELinuxOptions.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *SecurityContextConstraints) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Priority != nil { + n += 1 + sovGenerated(uint64(*m.Priority)) + } + n += 2 + if len(m.DefaultAddCapabilities) > 0 { + for _, s := range m.DefaultAddCapabilities { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.RequiredDropCapabilities) > 0 { + for _, s := range m.RequiredDropCapabilities { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.AllowedCapabilities) > 0 { + for _, s := range m.AllowedCapabilities { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 2 + if len(m.Volumes) > 0 { + for _, s := range m.Volumes { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + n += 2 + n += 2 + n += 2 + n += 2 + l = m.SELinuxContext.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.RunAsUser.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.SupplementalGroups.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.FSGroup.Size() + n += 2 + l + sovGenerated(uint64(l)) + n += 3 + if len(m.Users) > 0 { + for _, s := range m.Users { + l = len(s) + n += 2 + l + sovGenerated(uint64(l)) + } + } + if len(m.Groups) > 0 { + for _, s := range m.Groups { + l = len(s) + n += 2 + l + sovGenerated(uint64(l)) + } + } + if len(m.SeccompProfiles) > 0 { + for _, s := range m.SeccompProfiles { + l = len(s) + n += 2 + l + sovGenerated(uint64(l)) + } + } + if len(m.AllowedFlexVolumes) > 0 { + for _, e := range m.AllowedFlexVolumes { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } + if m.DefaultAllowPrivilegeEscalation != nil { + n += 3 + } + if m.AllowPrivilegeEscalation != nil { + n += 3 + } + if len(m.AllowedUnsafeSysctls) > 0 { + for _, s := range m.AllowedUnsafeSysctls { + l = len(s) + n += 2 + l + sovGenerated(uint64(l)) + } + } + if len(m.ForbiddenSysctls) > 0 { + for _, s := range m.ForbiddenSysctls { + l = len(s) + n += 2 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *SecurityContextConstraintsList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *ServiceAccountPodSecurityPolicyReviewStatus) Size() (n int) { + var l int + _ = l + l = m.PodSecurityPolicySubjectReviewStatus.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *SupplementalGroupsStrategyOptions) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Ranges) > 0 { + for _, e := range m.Ranges { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *AllowedFlexVolume) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&AllowedFlexVolume{`, + `Driver:` + fmt.Sprintf("%v", this.Driver) + `,`, + `}`, + }, "") + return s +} +func (this *FSGroupStrategyOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&FSGroupStrategyOptions{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Ranges:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Ranges), "IDRange", "IDRange", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *IDRange) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&IDRange{`, + `Min:` + fmt.Sprintf("%v", this.Min) + `,`, + `Max:` + fmt.Sprintf("%v", this.Max) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicyReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicyReview{`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodSecurityPolicyReviewSpec", "PodSecurityPolicyReviewSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodSecurityPolicyReviewStatus", "PodSecurityPolicyReviewStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicyReviewSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicyReviewSpec{`, + `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_api_core_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, + `ServiceAccountNames:` + fmt.Sprintf("%v", this.ServiceAccountNames) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicyReviewStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicyReviewStatus{`, + `AllowedServiceAccounts:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllowedServiceAccounts), "ServiceAccountPodSecurityPolicyReviewStatus", "ServiceAccountPodSecurityPolicyReviewStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicySelfSubjectReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicySelfSubjectReview{`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodSecurityPolicySelfSubjectReviewSpec", "PodSecurityPolicySelfSubjectReviewSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodSecurityPolicySubjectReviewStatus", "PodSecurityPolicySubjectReviewStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicySelfSubjectReviewSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicySelfSubjectReviewSpec{`, + `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_api_core_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicySubjectReview) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicySubjectReview{`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "PodSecurityPolicySubjectReviewSpec", "PodSecurityPolicySubjectReviewSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "PodSecurityPolicySubjectReviewStatus", "PodSecurityPolicySubjectReviewStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicySubjectReviewSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicySubjectReviewSpec{`, + `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_api_core_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, + `User:` + fmt.Sprintf("%v", this.User) + `,`, + `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`, + `}`, + }, "") + return s +} +func (this *PodSecurityPolicySubjectReviewStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodSecurityPolicySubjectReviewStatus{`, + `AllowedBy:` + strings.Replace(fmt.Sprintf("%v", this.AllowedBy), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_api_core_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RangeAllocation) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RangeAllocation{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Range:` + fmt.Sprintf("%v", this.Range) + `,`, + `Data:` + valueToStringGenerated(this.Data) + `,`, + `}`, + }, "") + return s +} +func (this *RangeAllocationList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RangeAllocationList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "RangeAllocation", "RangeAllocation", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *RunAsUserStrategyOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RunAsUserStrategyOptions{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `UID:` + valueToStringGenerated(this.UID) + `,`, + `UIDRangeMin:` + valueToStringGenerated(this.UIDRangeMin) + `,`, + `UIDRangeMax:` + valueToStringGenerated(this.UIDRangeMax) + `,`, + `}`, + }, "") + return s +} +func (this *SELinuxContextStrategyOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SELinuxContextStrategyOptions{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `SELinuxOptions:` + strings.Replace(fmt.Sprintf("%v", this.SELinuxOptions), "SELinuxOptions", "k8s_io_api_core_v1.SELinuxOptions", 1) + `,`, + `}`, + }, "") + return s +} +func (this *SecurityContextConstraints) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SecurityContextConstraints{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Priority:` + valueToStringGenerated(this.Priority) + `,`, + `AllowPrivilegedContainer:` + fmt.Sprintf("%v", this.AllowPrivilegedContainer) + `,`, + `DefaultAddCapabilities:` + fmt.Sprintf("%v", this.DefaultAddCapabilities) + `,`, + `RequiredDropCapabilities:` + fmt.Sprintf("%v", this.RequiredDropCapabilities) + `,`, + `AllowedCapabilities:` + fmt.Sprintf("%v", this.AllowedCapabilities) + `,`, + `AllowHostDirVolumePlugin:` + fmt.Sprintf("%v", this.AllowHostDirVolumePlugin) + `,`, + `Volumes:` + fmt.Sprintf("%v", this.Volumes) + `,`, + `AllowHostNetwork:` + fmt.Sprintf("%v", this.AllowHostNetwork) + `,`, + `AllowHostPorts:` + fmt.Sprintf("%v", this.AllowHostPorts) + `,`, + `AllowHostPID:` + fmt.Sprintf("%v", this.AllowHostPID) + `,`, + `AllowHostIPC:` + fmt.Sprintf("%v", this.AllowHostIPC) + `,`, + `SELinuxContext:` + strings.Replace(strings.Replace(this.SELinuxContext.String(), "SELinuxContextStrategyOptions", "SELinuxContextStrategyOptions", 1), `&`, ``, 1) + `,`, + `RunAsUser:` + strings.Replace(strings.Replace(this.RunAsUser.String(), "RunAsUserStrategyOptions", "RunAsUserStrategyOptions", 1), `&`, ``, 1) + `,`, + `SupplementalGroups:` + strings.Replace(strings.Replace(this.SupplementalGroups.String(), "SupplementalGroupsStrategyOptions", "SupplementalGroupsStrategyOptions", 1), `&`, ``, 1) + `,`, + `FSGroup:` + strings.Replace(strings.Replace(this.FSGroup.String(), "FSGroupStrategyOptions", "FSGroupStrategyOptions", 1), `&`, ``, 1) + `,`, + `ReadOnlyRootFilesystem:` + fmt.Sprintf("%v", this.ReadOnlyRootFilesystem) + `,`, + `Users:` + fmt.Sprintf("%v", this.Users) + `,`, + `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`, + `SeccompProfiles:` + fmt.Sprintf("%v", this.SeccompProfiles) + `,`, + `AllowedFlexVolumes:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllowedFlexVolumes), "AllowedFlexVolume", "AllowedFlexVolume", 1), `&`, ``, 1) + `,`, + `DefaultAllowPrivilegeEscalation:` + valueToStringGenerated(this.DefaultAllowPrivilegeEscalation) + `,`, + `AllowPrivilegeEscalation:` + valueToStringGenerated(this.AllowPrivilegeEscalation) + `,`, + `AllowedUnsafeSysctls:` + fmt.Sprintf("%v", this.AllowedUnsafeSysctls) + `,`, + `ForbiddenSysctls:` + fmt.Sprintf("%v", this.ForbiddenSysctls) + `,`, + `}`, + }, "") + return s +} +func (this *SecurityContextConstraintsList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SecurityContextConstraintsList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "SecurityContextConstraints", "SecurityContextConstraints", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *ServiceAccountPodSecurityPolicyReviewStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ServiceAccountPodSecurityPolicyReviewStatus{`, + `PodSecurityPolicySubjectReviewStatus:` + strings.Replace(strings.Replace(this.PodSecurityPolicySubjectReviewStatus.String(), "PodSecurityPolicySubjectReviewStatus", "PodSecurityPolicySubjectReviewStatus", 1), `&`, ``, 1) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `}`, + }, "") + return s +} +func (this *SupplementalGroupsStrategyOptions) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&SupplementalGroupsStrategyOptions{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Ranges:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Ranges), "IDRange", "IDRange", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *AllowedFlexVolume) 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 ErrIntOverflowGenerated + } + 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: AllowedFlexVolume: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AllowedFlexVolume: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Driver", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Driver = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *FSGroupStrategyOptions) 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 ErrIntOverflowGenerated + } + 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: FSGroupStrategyOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FSGroupStrategyOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = FSGroupStrategyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ranges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ranges = append(m.Ranges, IDRange{}) + if err := m.Ranges[len(m.Ranges)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *IDRange) 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 ErrIntOverflowGenerated + } + 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: IDRange: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IDRange: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Min", wireType) + } + m.Min = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Min |= (int64(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 ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Max |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicyReview) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicyReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicyReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicyReviewSpec) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicyReviewSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicyReviewSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccountNames", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServiceAccountNames = append(m.ServiceAccountNames, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicyReviewStatus) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicyReviewStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicyReviewStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowedServiceAccounts", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllowedServiceAccounts = append(m.AllowedServiceAccounts, ServiceAccountPodSecurityPolicyReviewStatus{}) + if err := m.AllowedServiceAccounts[len(m.AllowedServiceAccounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicySelfSubjectReview) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicySelfSubjectReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicySelfSubjectReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicySelfSubjectReviewSpec) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicySelfSubjectReviewSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicySelfSubjectReviewSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicySubjectReview) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicySubjectReview: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicySubjectReview: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicySubjectReviewSpec) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicySubjectReviewSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicySubjectReviewSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PodSecurityPolicySubjectReviewStatus) 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 ErrIntOverflowGenerated + } + 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: PodSecurityPolicySubjectReviewStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodSecurityPolicySubjectReviewStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowedBy", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AllowedBy == nil { + m.AllowedBy = &k8s_io_api_core_v1.ObjectReference{} + } + if err := m.AllowedBy.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RangeAllocation) 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 ErrIntOverflowGenerated + } + 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: RangeAllocation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RangeAllocation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Range", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Range = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RangeAllocationList) 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 ErrIntOverflowGenerated + } + 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: RangeAllocationList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RangeAllocationList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, RangeAllocation{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RunAsUserStrategyOptions) 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 ErrIntOverflowGenerated + } + 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: RunAsUserStrategyOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RunAsUserStrategyOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = RunAsUserStrategyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.UID = &v + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UIDRangeMin", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.UIDRangeMin = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UIDRangeMax", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.UIDRangeMax = &v + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SELinuxContextStrategyOptions) 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 ErrIntOverflowGenerated + } + 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: SELinuxContextStrategyOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SELinuxContextStrategyOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = SELinuxContextStrategyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SELinuxOptions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SELinuxOptions == nil { + m.SELinuxOptions = &k8s_io_api_core_v1.SELinuxOptions{} + } + if err := m.SELinuxOptions.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SecurityContextConstraints) 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 ErrIntOverflowGenerated + } + 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: SecurityContextConstraints: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SecurityContextConstraints: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Priority = &v + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowPrivilegedContainer", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowPrivilegedContainer = bool(v != 0) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultAddCapabilities", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DefaultAddCapabilities = append(m.DefaultAddCapabilities, k8s_io_api_core_v1.Capability(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RequiredDropCapabilities", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RequiredDropCapabilities = append(m.RequiredDropCapabilities, k8s_io_api_core_v1.Capability(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowedCapabilities", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllowedCapabilities = append(m.AllowedCapabilities, k8s_io_api_core_v1.Capability(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowHostDirVolumePlugin", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowHostDirVolumePlugin = bool(v != 0) + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Volumes = append(m.Volumes, FSType(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowHostNetwork", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowHostNetwork = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowHostPorts", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowHostPorts = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowHostPID", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowHostPID = bool(v != 0) + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowHostIPC", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.AllowHostIPC = bool(v != 0) + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SELinuxContext", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SELinuxContext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunAsUser", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.RunAsUser.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SupplementalGroups", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.SupplementalGroups.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FSGroup", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.FSGroup.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReadOnlyRootFilesystem", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ReadOnlyRootFilesystem = bool(v != 0) + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Users", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Users = append(m.Users, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 19: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SeccompProfiles", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SeccompProfiles = append(m.SeccompProfiles, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 21: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowedFlexVolumes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllowedFlexVolumes = append(m.AllowedFlexVolumes, AllowedFlexVolume{}) + if err := m.AllowedFlexVolumes[len(m.AllowedFlexVolumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultAllowPrivilegeEscalation", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.DefaultAllowPrivilegeEscalation = &b + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowPrivilegeEscalation", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.AllowPrivilegeEscalation = &b + case 24: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowedUnsafeSysctls", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllowedUnsafeSysctls = append(m.AllowedUnsafeSysctls, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 25: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ForbiddenSysctls", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ForbiddenSysctls = append(m.ForbiddenSysctls, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SecurityContextConstraintsList) 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 ErrIntOverflowGenerated + } + 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: SecurityContextConstraintsList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SecurityContextConstraintsList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, SecurityContextConstraints{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ServiceAccountPodSecurityPolicyReviewStatus) 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 ErrIntOverflowGenerated + } + 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: ServiceAccountPodSecurityPolicyReviewStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServiceAccountPodSecurityPolicyReviewStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PodSecurityPolicySubjectReviewStatus", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PodSecurityPolicySubjectReviewStatus.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SupplementalGroupsStrategyOptions) 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 ErrIntOverflowGenerated + } + 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: SupplementalGroupsStrategyOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SupplementalGroupsStrategyOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = SupplementalGroupsStrategyType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ranges", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Ranges = append(m.Ranges, IDRange{}) + if err := m.Ranges[len(m.Ranges)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/security/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 1765 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcd, 0x6f, 0x24, 0x47, + 0x15, 0x77, 0x7b, 0xfc, 0x35, 0x65, 0xaf, 0x3f, 0xca, 0x5e, 0x6f, 0xc7, 0xc4, 0x33, 0xa6, 0xbd, + 0x44, 0x16, 0x90, 0x19, 0xbc, 0x04, 0xb2, 0x28, 0x64, 0x95, 0x69, 0x4f, 0xbc, 0x31, 0xf2, 0xee, + 0x4e, 0x6a, 0xe2, 0x08, 0x45, 0x11, 0xa2, 0xdc, 0x53, 0x33, 0xae, 0x75, 0x7f, 0xd1, 0x55, 0x3d, + 0xeb, 0x11, 0x97, 0x48, 0x5c, 0x38, 0x22, 0x71, 0x45, 0x9c, 0xe1, 0x1f, 0xe0, 0x82, 0x80, 0xeb, + 0x4a, 0x20, 0x91, 0x13, 0xca, 0x69, 0xc4, 0x0e, 0xe2, 0xc4, 0x91, 0x5b, 0x4e, 0xa8, 0x6a, 0x6a, + 0x3e, 0xfa, 0x6b, 0x3c, 0x09, 0xbb, 0xab, 0xdc, 0x66, 0xde, 0x7b, 0xbf, 0xdf, 0xfb, 0xbd, 0xea, + 0xd7, 0x55, 0xaf, 0x1a, 0xbc, 0xd1, 0xa2, 0xfc, 0x22, 0x3c, 0x2f, 0x59, 0x9e, 0x53, 0xf6, 0x7c, + 0xe2, 0xb2, 0x0b, 0xda, 0xe4, 0x65, 0xec, 0xd3, 0x32, 0x23, 0x56, 0x18, 0x50, 0xde, 0x29, 0xb7, + 0x0f, 0xcb, 0x2d, 0xe2, 0x92, 0x00, 0x73, 0xd2, 0x28, 0xf9, 0x81, 0xc7, 0x3d, 0x78, 0x7b, 0x84, + 0x2a, 0x0d, 0x51, 0x25, 0xec, 0xd3, 0xd2, 0x00, 0x55, 0x6a, 0x1f, 0xee, 0xbc, 0x3e, 0xc6, 0xdd, + 0xf2, 0x5a, 0x5e, 0x59, 0x82, 0xcf, 0xc3, 0xa6, 0xfc, 0x27, 0xff, 0xc8, 0x5f, 0x7d, 0xd2, 0x1d, + 0xe3, 0xf2, 0x2e, 0x2b, 0x51, 0x4f, 0x26, 0xb7, 0xbc, 0x80, 0xa4, 0x24, 0xde, 0x79, 0x63, 0x14, + 0xe3, 0x60, 0xeb, 0x82, 0xba, 0x24, 0xe8, 0x94, 0xfd, 0xcb, 0x96, 0x30, 0xb0, 0xb2, 0x43, 0x38, + 0x4e, 0x43, 0x95, 0xb3, 0x50, 0x41, 0xe8, 0x72, 0xea, 0x90, 0x04, 0xe0, 0xfb, 0xd7, 0x01, 0x98, + 0x75, 0x41, 0x1c, 0x9c, 0xc0, 0x7d, 0x37, 0x0b, 0x17, 0x72, 0x6a, 0x97, 0xa9, 0xcb, 0x19, 0x0f, + 0xe2, 0x20, 0xe3, 0x2d, 0xb0, 0x51, 0xb1, 0x6d, 0xef, 0x09, 0x69, 0x1c, 0xdb, 0xe4, 0xea, 0x43, + 0xcf, 0x0e, 0x1d, 0x02, 0x5f, 0x03, 0x0b, 0x8d, 0x80, 0xb6, 0x49, 0xa0, 0x6b, 0x7b, 0xda, 0x41, + 0xde, 0x5c, 0x7d, 0xda, 0x2d, 0xce, 0xf4, 0xba, 0xc5, 0x85, 0xaa, 0xb4, 0x22, 0xe5, 0x35, 0x7e, + 0xa7, 0x81, 0xed, 0xe3, 0xfa, 0xfd, 0xc0, 0x0b, 0xfd, 0x3a, 0x17, 0xac, 0xad, 0xce, 0x23, 0x9f, + 0x53, 0xcf, 0x65, 0xf0, 0x4d, 0x30, 0xc7, 0x3b, 0x3e, 0x51, 0x04, 0xfb, 0x8a, 0x60, 0xee, 0x83, + 0x8e, 0x4f, 0x3e, 0xef, 0x16, 0x37, 0x63, 0x28, 0x61, 0x46, 0x12, 0x00, 0xcf, 0xc0, 0x42, 0x80, + 0xdd, 0x16, 0x61, 0xfa, 0xec, 0x5e, 0xee, 0x60, 0xf9, 0xce, 0xeb, 0xa5, 0x69, 0x1e, 0x77, 0xe9, + 0xa4, 0x8a, 0x04, 0x6a, 0x24, 0x55, 0xfe, 0x65, 0x48, 0x91, 0x19, 0xf7, 0xc1, 0xa2, 0x0a, 0x81, + 0xbb, 0x20, 0xe7, 0x50, 0x57, 0x2a, 0xcb, 0x99, 0xcb, 0x2a, 0x3e, 0xf7, 0x80, 0xba, 0x48, 0xd8, + 0xa5, 0x1b, 0x5f, 0xe9, 0xb3, 0x31, 0x37, 0xbe, 0x42, 0xc2, 0x6e, 0xfc, 0x47, 0x03, 0xb7, 0x6a, + 0x5e, 0xa3, 0xae, 0x72, 0xd7, 0x3c, 0x9b, 0x5a, 0x1d, 0x44, 0xda, 0x94, 0x3c, 0x81, 0x16, 0x98, + 0x63, 0x3e, 0xb1, 0x24, 0xf5, 0xf2, 0x9d, 0xca, 0x74, 0xca, 0x33, 0xc8, 0xea, 0x3e, 0xb1, 0xcc, + 0x95, 0xc1, 0xba, 0x89, 0x7f, 0x48, 0x92, 0xc3, 0x4b, 0xb0, 0xc0, 0x38, 0xe6, 0x21, 0x93, 0x12, + 0x97, 0xef, 0x1c, 0xfd, 0x7f, 0x69, 0x24, 0xd5, 0x68, 0xd9, 0xfa, 0xff, 0x91, 0x4a, 0x61, 0xfc, + 0x51, 0x03, 0x5f, 0x9b, 0x20, 0x10, 0xbe, 0x0f, 0x96, 0x38, 0x71, 0x7c, 0x1b, 0x73, 0xa2, 0xaa, + 0xde, 0x2f, 0xf5, 0xdb, 0x50, 0x0a, 0x10, 0x6f, 0x92, 0x4a, 0xfe, 0x81, 0x0a, 0x93, 0x75, 0xad, + 0xab, 0x74, 0x4b, 0x03, 0x2b, 0x1a, 0xd2, 0xc0, 0x13, 0xb0, 0xc9, 0x48, 0xd0, 0xa6, 0x16, 0xa9, + 0x58, 0x96, 0x17, 0xba, 0xfc, 0x21, 0x76, 0x54, 0x37, 0xe4, 0xcd, 0x5b, 0xbd, 0x6e, 0x71, 0xb3, + 0x9e, 0x74, 0xa3, 0x34, 0x8c, 0xf1, 0x57, 0x0d, 0xec, 0x4e, 0xac, 0x1b, 0xfe, 0x5e, 0x03, 0xdb, + 0xb8, 0xdf, 0xff, 0x51, 0x56, 0xa6, 0x6b, 0xb2, 0xfd, 0xde, 0x9f, 0x6e, 0x75, 0xa3, 0xe0, 0xc9, + 0x6b, 0x5d, 0x50, 0xc5, 0x6f, 0x57, 0x52, 0x13, 0xa3, 0x0c, 0x41, 0xc6, 0x2f, 0x67, 0x81, 0x91, + 0x60, 0xae, 0x13, 0xbb, 0x59, 0x0f, 0xcf, 0x1f, 0x13, 0x8b, 0xab, 0x26, 0x74, 0x23, 0x4d, 0x78, + 0xfa, 0x25, 0xbb, 0x23, 0xc1, 0x9b, 0xd9, 0x8f, 0x41, 0xac, 0x1f, 0x7f, 0xf4, 0x65, 0x33, 0x46, + 0xb2, 0x4d, 0x6e, 0xcb, 0x9f, 0x83, 0xd7, 0xa6, 0x53, 0xfc, 0x02, 0x1a, 0xd4, 0xf8, 0x64, 0x16, + 0x14, 0x26, 0xab, 0x87, 0x8f, 0x23, 0xcf, 0xe0, 0xbd, 0xe7, 0xb2, 0x22, 0x5f, 0xa5, 0xf5, 0xff, + 0x93, 0x96, 0xd6, 0x8a, 0x2f, 0x61, 0xf1, 0xe1, 0x1e, 0x98, 0x0b, 0x19, 0x09, 0x64, 0xad, 0xf9, + 0xd1, 0x7a, 0x9c, 0x31, 0x12, 0x20, 0xe9, 0x81, 0x06, 0x58, 0x68, 0x89, 0xb3, 0x85, 0xe9, 0x39, + 0xb9, 0x65, 0x00, 0xa1, 0x5f, 0x9e, 0x36, 0x0c, 0x29, 0x8f, 0xf1, 0x5f, 0x0d, 0xdc, 0x9e, 0x66, + 0x01, 0x60, 0x0d, 0xe4, 0xd5, 0xdb, 0x68, 0x76, 0x26, 0x95, 0xf0, 0x48, 0x41, 0x9b, 0x24, 0x20, + 0xae, 0x45, 0xcc, 0x1b, 0xbd, 0x6e, 0x31, 0x5f, 0x19, 0x20, 0xd1, 0x88, 0x44, 0x9c, 0xad, 0x01, + 0xc1, 0xcc, 0x73, 0x55, 0x09, 0xa3, 0x03, 0x4b, 0x5a, 0x91, 0xf2, 0x46, 0xd6, 0x2e, 0xf7, 0x7c, + 0x1a, 0xf7, 0x0f, 0x1a, 0x58, 0x93, 0x47, 0xa0, 0x10, 0x66, 0x61, 0x71, 0x50, 0xc3, 0x9f, 0x82, + 0x25, 0x31, 0xb8, 0x34, 0x30, 0xc7, 0xaa, 0xbe, 0xef, 0x8c, 0xa5, 0x19, 0xce, 0x11, 0x25, 0xff, + 0xb2, 0x25, 0x0c, 0xac, 0x24, 0xa2, 0x47, 0x15, 0x3f, 0x20, 0x1c, 0x9b, 0x50, 0xe5, 0x04, 0x23, + 0x1b, 0x1a, 0xb2, 0xc2, 0x7d, 0x30, 0x2f, 0xcf, 0x60, 0x55, 0xef, 0x0d, 0x15, 0x3c, 0x2f, 0x95, + 0xa0, 0xbe, 0x0f, 0xbe, 0x0a, 0xe6, 0xa4, 0x04, 0x51, 0xe9, 0x8a, 0xb9, 0x24, 0x1e, 0x69, 0x15, + 0x73, 0x8c, 0xa4, 0xd5, 0xf8, 0xbb, 0x06, 0x36, 0x63, 0xc2, 0x4f, 0x29, 0xe3, 0xf0, 0xe3, 0x84, + 0xf8, 0xd2, 0x74, 0xe2, 0x05, 0x5a, 0x4a, 0x1f, 0x2e, 0xd7, 0xc0, 0x32, 0x26, 0xfc, 0x23, 0x30, + 0x4f, 0x39, 0x71, 0x06, 0x83, 0xc8, 0xf7, 0xa6, 0x7b, 0xaf, 0x62, 0x3a, 0x47, 0xf5, 0x9e, 0x08, + 0x2e, 0xd4, 0xa7, 0x34, 0xfe, 0xa1, 0x01, 0x1d, 0x85, 0x6e, 0x85, 0x89, 0xc6, 0x8d, 0xcf, 0x4e, + 0x3f, 0x88, 0xcc, 0x4e, 0xdf, 0x88, 0xcd, 0x4e, 0x37, 0x13, 0xb8, 0xb1, 0xe9, 0xe9, 0x15, 0x90, + 0x0b, 0x69, 0x43, 0x0d, 0x2f, 0x8b, 0x62, 0x70, 0x39, 0x3b, 0xa9, 0x22, 0x61, 0x83, 0x87, 0x60, + 0x39, 0xa4, 0x0d, 0x29, 0xef, 0x01, 0x75, 0xe5, 0x4a, 0xe7, 0xcc, 0xb5, 0x5e, 0xb7, 0xb8, 0x7c, + 0xa6, 0x26, 0x23, 0x31, 0x02, 0x8d, 0xc7, 0x44, 0x20, 0xf8, 0x4a, 0x9f, 0x4b, 0x81, 0xe0, 0x2b, + 0x34, 0x1e, 0x63, 0xfc, 0x45, 0x03, 0xbb, 0xf5, 0x77, 0x4f, 0xa9, 0x1b, 0x5e, 0x1d, 0x79, 0x2e, + 0x27, 0x57, 0x3c, 0x5e, 0xdd, 0xbd, 0x48, 0x75, 0xdf, 0x8c, 0x55, 0xb7, 0x93, 0x0e, 0x1e, 0x2b, + 0xf1, 0x27, 0x60, 0x95, 0x11, 0x19, 0xa3, 0x18, 0xd5, 0xbe, 0x67, 0xa4, 0xbd, 0x1e, 0x8a, 0x4d, + 0x45, 0x9a, 0xb0, 0xd7, 0x2d, 0xae, 0x46, 0x6d, 0x28, 0xc6, 0x66, 0xfc, 0x66, 0x03, 0xec, 0x0c, + 0x36, 0x06, 0xa5, 0xe2, 0xc8, 0x73, 0x19, 0x0f, 0xb0, 0x18, 0xa1, 0x5f, 0xc2, 0x0b, 0x73, 0x00, + 0x96, 0xfc, 0x80, 0x7a, 0x22, 0xbf, 0x2c, 0x6d, 0xde, 0x5c, 0x11, 0x1d, 0x5a, 0x53, 0x36, 0x34, + 0xf4, 0xc2, 0x8f, 0x81, 0x2e, 0x37, 0x96, 0x5a, 0x40, 0xdb, 0xd4, 0x26, 0x2d, 0xd2, 0x10, 0x82, + 0xb1, 0x10, 0x20, 0x9f, 0xef, 0x92, 0xb9, 0xa7, 0x32, 0xe9, 0x95, 0x8c, 0x38, 0x94, 0xc9, 0x00, + 0x19, 0xd8, 0x6e, 0x90, 0x26, 0x0e, 0x6d, 0x5e, 0x69, 0x34, 0x8e, 0xb0, 0x8f, 0xcf, 0xa9, 0x4d, + 0x39, 0x25, 0x4c, 0x9f, 0x93, 0x1b, 0xeb, 0x5b, 0x62, 0x86, 0xa9, 0xa6, 0x46, 0x7c, 0xde, 0x2d, + 0xee, 0x26, 0x2f, 0x54, 0xa5, 0x61, 0x48, 0x07, 0x65, 0x50, 0xc3, 0x0e, 0xd0, 0x03, 0xf2, 0xb3, + 0x90, 0x06, 0xa4, 0x51, 0x0d, 0x3c, 0x3f, 0x92, 0x76, 0x5e, 0xa6, 0x7d, 0x5b, 0x94, 0x83, 0x32, + 0x62, 0xae, 0x4f, 0x9c, 0x49, 0x0f, 0x1f, 0x83, 0x4d, 0xb5, 0x4d, 0x47, 0xb2, 0x2e, 0xc8, 0xac, + 0x77, 0xc5, 0xe0, 0x59, 0x49, 0xba, 0xaf, 0x4f, 0x98, 0x46, 0x3a, 0x7c, 0x72, 0xef, 0x79, 0x8c, + 0x57, 0x69, 0xd0, 0xbf, 0x77, 0xd5, 0xec, 0xb0, 0x45, 0x5d, 0x7d, 0x31, 0xe5, 0xc9, 0xa5, 0xc4, + 0xa1, 0x4c, 0x06, 0x58, 0x06, 0x8b, 0x6d, 0xf9, 0x9f, 0xe9, 0x4b, 0x52, 0xfd, 0xcd, 0x5e, 0xb7, + 0xb8, 0xd8, 0x0f, 0x11, 0x8a, 0x17, 0x8e, 0xeb, 0xf2, 0x85, 0x1a, 0x44, 0xc1, 0x2a, 0x58, 0x1f, + 0x92, 0x3d, 0x24, 0xfc, 0x89, 0x17, 0x5c, 0xea, 0x79, 0x29, 0x43, 0x57, 0x32, 0xd6, 0x2b, 0x31, + 0x3f, 0x4a, 0x20, 0xe0, 0x3d, 0xb0, 0x3a, 0xb4, 0xd5, 0xbc, 0x80, 0x33, 0x1d, 0x48, 0x8e, 0x6d, + 0xc5, 0xb1, 0x5a, 0x89, 0x78, 0x51, 0x2c, 0x1a, 0xde, 0x05, 0x2b, 0x23, 0xcb, 0x49, 0x55, 0x5f, + 0x96, 0xe8, 0x2d, 0x85, 0x5e, 0xa9, 0x8c, 0xf9, 0x50, 0x24, 0x32, 0x82, 0x3c, 0xa9, 0x1d, 0xe9, + 0x2b, 0x19, 0xc8, 0x93, 0xda, 0x11, 0x8a, 0x44, 0xc2, 0x5f, 0x68, 0xc3, 0xed, 0x44, 0xbd, 0xec, + 0xfa, 0x8d, 0x2f, 0x72, 0xad, 0x9a, 0xb8, 0xd7, 0x8d, 0x2a, 0x8f, 0x86, 0xa1, 0x58, 0x4a, 0xe8, + 0x81, 0x7c, 0x30, 0xd8, 0xd5, 0xf5, 0x55, 0x99, 0xff, 0xde, 0x94, 0xc7, 0x4d, 0xc6, 0x21, 0x62, + 0x6e, 0xa8, 0xd4, 0xf9, 0x61, 0x04, 0x1a, 0xe5, 0x80, 0xbf, 0xd6, 0x00, 0x64, 0xa1, 0xef, 0xdb, + 0xc4, 0x21, 0x2e, 0xc7, 0x76, 0x7f, 0x3e, 0xd2, 0xd7, 0x64, 0xea, 0xfb, 0x53, 0x96, 0x9e, 0xc0, + 0xc7, 0x35, 0xec, 0x28, 0x0d, 0x30, 0x19, 0x8a, 0x52, 0xd2, 0xc3, 0x16, 0x58, 0x6c, 0x32, 0xf9, + 0x5b, 0x5f, 0x97, 0x4a, 0x7e, 0x38, 0x9d, 0x92, 0xf4, 0x6f, 0x10, 0xe6, 0x9a, 0x4a, 0xbf, 0xa8, + 0xfc, 0x68, 0xc0, 0x0e, 0x3f, 0x04, 0xdb, 0x01, 0xc1, 0x8d, 0x47, 0xae, 0xdd, 0x41, 0x9e, 0xc7, + 0x8f, 0xa9, 0x4d, 0x58, 0x87, 0x71, 0xe2, 0xe8, 0x1b, 0xb2, 0x73, 0x86, 0x57, 0x34, 0x94, 0x1a, + 0x85, 0x32, 0xd0, 0xb0, 0x08, 0xe6, 0xc5, 0x0c, 0xca, 0x74, 0x28, 0x5f, 0xbb, 0xbc, 0x38, 0xf7, + 0xc5, 0x7a, 0x33, 0xd4, 0xb7, 0x8f, 0x0d, 0xa7, 0x9b, 0x59, 0xc3, 0x29, 0x7c, 0x1b, 0xac, 0x31, + 0x62, 0x59, 0x9e, 0xe3, 0xd7, 0x02, 0xaf, 0x29, 0xc8, 0xf5, 0x2d, 0x19, 0xbc, 0xd9, 0xeb, 0x16, + 0xd7, 0xea, 0x51, 0x17, 0x8a, 0xc7, 0x8a, 0x8e, 0x86, 0x38, 0xfe, 0x49, 0x87, 0xe9, 0x37, 0xe5, + 0x10, 0xf3, 0xe6, 0x74, 0x0b, 0x9a, 0xf8, 0x24, 0x34, 0x7a, 0x94, 0x09, 0x17, 0x43, 0x29, 0xe9, + 0xa0, 0x03, 0x8a, 0x83, 0x1d, 0x3e, 0x72, 0xbe, 0xbc, 0xcb, 0x2c, 0x6c, 0xcb, 0xc9, 0x48, 0xdf, + 0x96, 0x4b, 0xbd, 0xdf, 0xeb, 0x16, 0x8b, 0xd5, 0xc9, 0xa1, 0xe8, 0x3a, 0x2e, 0xf8, 0xe3, 0xf8, + 0x49, 0x38, 0x96, 0xe7, 0x96, 0xcc, 0xf3, 0x6a, 0xf2, 0x14, 0x1c, 0x4b, 0x90, 0x89, 0x86, 0xa7, + 0x60, 0x4b, 0x95, 0x77, 0xe6, 0x32, 0xdc, 0x24, 0xf5, 0x0e, 0xb3, 0xb8, 0xcd, 0x74, 0x5d, 0x3e, + 0x12, 0xbd, 0xd7, 0x2d, 0x6e, 0x55, 0x52, 0xfc, 0x28, 0x15, 0x05, 0xdf, 0x01, 0xeb, 0x4d, 0x2f, + 0x38, 0xa7, 0x8d, 0x06, 0x71, 0x07, 0x4c, 0xaf, 0x48, 0xa6, 0x2d, 0xb1, 0xc9, 0x1e, 0xc7, 0x7c, + 0x28, 0x11, 0x6d, 0xfc, 0x5b, 0x03, 0x85, 0xec, 0xf1, 0xe4, 0x25, 0x8c, 0xc5, 0x24, 0x3a, 0x16, + 0xbf, 0x33, 0xed, 0x07, 0x92, 0x2c, 0xc9, 0x19, 0x13, 0xf2, 0x6f, 0x67, 0xc1, 0xb7, 0xbe, 0xc0, + 0x57, 0x15, 0xf8, 0x37, 0x0d, 0xdc, 0xf6, 0xa7, 0xb8, 0xd2, 0xa9, 0x15, 0x79, 0x9e, 0xb7, 0xe4, + 0x6f, 0xab, 0x02, 0xa6, 0xba, 0x52, 0xa2, 0xa9, 0x54, 0x8a, 0x7b, 0xae, 0x8b, 0x1d, 0x12, 0xbf, + 0xe7, 0x3e, 0xc4, 0x0e, 0x41, 0xd2, 0x63, 0xfc, 0x59, 0x03, 0x5f, 0xbf, 0x76, 0x0b, 0x86, 0x66, + 0x64, 0xda, 0x2e, 0xc5, 0xa6, 0xed, 0x42, 0x36, 0xc1, 0x0b, 0xff, 0x24, 0x6b, 0x1e, 0x3c, 0x7d, + 0x56, 0x98, 0xf9, 0xf4, 0x59, 0x61, 0xe6, 0xb3, 0x67, 0x85, 0x99, 0x4f, 0x7a, 0x05, 0xed, 0x69, + 0xaf, 0xa0, 0x7d, 0xda, 0x2b, 0x68, 0x9f, 0xf5, 0x0a, 0xda, 0x3f, 0x7b, 0x05, 0xed, 0x57, 0xff, + 0x2a, 0xcc, 0x7c, 0x34, 0xdb, 0x3e, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xed, 0x9b, 0x5c, + 0xac, 0x28, 0x18, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/security/v1/generated.proto b/vendor/github.com/openshift/api/security/v1/generated.proto new file mode 100644 index 000000000..2823b9fb3 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/generated.proto @@ -0,0 +1,333 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.security.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// AllowedFlexVolume represents a single Flexvolume that is allowed to be used. +message AllowedFlexVolume { + // Driver is the name of the Flexvolume driver. + optional string driver = 1; +} + +// FSGroupStrategyOptions defines the strategy type and options used to create the strategy. +message FSGroupStrategyOptions { + // Type is the strategy that will dictate what FSGroup is used in the SecurityContext. + optional string type = 1; + + // Ranges are the allowed ranges of fs groups. If you would like to force a single + // fs group then supply a single range with the same start and end. + repeated IDRange ranges = 2; +} + +// IDRange provides a min/max of an allowed range of IDs. +// TODO: this could be reused for UIDs. +message IDRange { + // Min is the start of the range, inclusive. + optional int64 min = 1; + + // Max is the end of the range, inclusive. + optional int64 max = 2; +} + +// PodSecurityPolicyReview checks which service accounts (not users, since that would be cluster-wide) can create the `PodTemplateSpec` in question. +message PodSecurityPolicyReview { + // spec is the PodSecurityPolicy to check. + optional PodSecurityPolicyReviewSpec spec = 1; + + // status represents the current information/status for the PodSecurityPolicyReview. + optional PodSecurityPolicyReviewStatus status = 2; +} + +// PodSecurityPolicyReviewSpec defines specification for PodSecurityPolicyReview +message PodSecurityPolicyReviewSpec { + // template is the PodTemplateSpec to check. The template.spec.serviceAccountName field is used + // if serviceAccountNames is empty, unless the template.spec.serviceAccountName is empty, + // in which case "default" is used. + // If serviceAccountNames is specified, template.spec.serviceAccountName is ignored. + optional k8s.io.api.core.v1.PodTemplateSpec template = 1; + + // serviceAccountNames is an optional set of ServiceAccounts to run the check with. + // If serviceAccountNames is empty, the template.spec.serviceAccountName is used, + // unless it's empty, in which case "default" is used instead. + // If serviceAccountNames is specified, template.spec.serviceAccountName is ignored. + repeated string serviceAccountNames = 2; +} + +// PodSecurityPolicyReviewStatus represents the status of PodSecurityPolicyReview. +message PodSecurityPolicyReviewStatus { + // allowedServiceAccounts returns the list of service accounts in *this* namespace that have the power to create the PodTemplateSpec. + repeated ServiceAccountPodSecurityPolicyReviewStatus allowedServiceAccounts = 1; +} + +// PodSecurityPolicySelfSubjectReview checks whether this user/SA tuple can create the PodTemplateSpec +message PodSecurityPolicySelfSubjectReview { + // spec defines specification the PodSecurityPolicySelfSubjectReview. + optional PodSecurityPolicySelfSubjectReviewSpec spec = 1; + + // status represents the current information/status for the PodSecurityPolicySelfSubjectReview. + optional PodSecurityPolicySubjectReviewStatus status = 2; +} + +// PodSecurityPolicySelfSubjectReviewSpec contains specification for PodSecurityPolicySelfSubjectReview. +message PodSecurityPolicySelfSubjectReviewSpec { + // template is the PodTemplateSpec to check. + optional k8s.io.api.core.v1.PodTemplateSpec template = 1; +} + +// PodSecurityPolicySubjectReview checks whether a particular user/SA tuple can create the PodTemplateSpec. +message PodSecurityPolicySubjectReview { + // spec defines specification for the PodSecurityPolicySubjectReview. + optional PodSecurityPolicySubjectReviewSpec spec = 1; + + // status represents the current information/status for the PodSecurityPolicySubjectReview. + optional PodSecurityPolicySubjectReviewStatus status = 2; +} + +// PodSecurityPolicySubjectReviewSpec defines specification for PodSecurityPolicySubjectReview +message PodSecurityPolicySubjectReviewSpec { + // template is the PodTemplateSpec to check. If template.spec.serviceAccountName is empty it will not be defaulted. + // If its non-empty, it will be checked. + optional k8s.io.api.core.v1.PodTemplateSpec template = 1; + + // user is the user you're testing for. + // If you specify "user" but not "group", then is it interpreted as "What if user were not a member of any groups. + // If user and groups are empty, then the check is performed using *only* the serviceAccountName in the template. + optional string user = 2; + + // groups is the groups you're testing for. + repeated string groups = 3; +} + +// PodSecurityPolicySubjectReviewStatus contains information/status for PodSecurityPolicySubjectReview. +message PodSecurityPolicySubjectReviewStatus { + // allowedBy is a reference to the rule that allows the PodTemplateSpec. + // A rule can be a SecurityContextConstraint or a PodSecurityPolicy + // A `nil`, indicates that it was denied. + optional k8s.io.api.core.v1.ObjectReference allowedBy = 1; + + // A machine-readable description of why this operation is in the + // "Failure" status. If this value is empty there + // is no information available. + optional string reason = 2; + + // template is the PodTemplateSpec after the defaulting is applied. + optional k8s.io.api.core.v1.PodTemplateSpec template = 3; +} + +// RangeAllocation is used so we can easily expose a RangeAllocation typed for security group +message RangeAllocation { + // Standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + // +optional + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // range is a string representing a unique label for a range of uids, "1000000000-2000000000/10000". + optional string range = 2; + + // data is a byte array representing the serialized state of a range allocation. It is a bitmap + // with each bit set to one to represent a range is taken. + optional bytes data = 3; +} + +// RangeAllocationList is a list of RangeAllocations objects +message RangeAllocationList { + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // List of RangeAllocations. + repeated RangeAllocation items = 2; +} + +// RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. +message RunAsUserStrategyOptions { + // Type is the strategy that will dictate what RunAsUser is used in the SecurityContext. + optional string type = 1; + + // UID is the user id that containers must run as. Required for the MustRunAs strategy if not using + // namespace/service account allocated uids. + optional int64 uid = 2; + + // UIDRangeMin defines the min value for a strategy that allocates by range. + optional int64 uidRangeMin = 3; + + // UIDRangeMax defines the max value for a strategy that allocates by range. + optional int64 uidRangeMax = 4; +} + +// SELinuxContextStrategyOptions defines the strategy type and any options used to create the strategy. +message SELinuxContextStrategyOptions { + // Type is the strategy that will dictate what SELinux context is used in the SecurityContext. + optional string type = 1; + + // seLinuxOptions required to run as; required for MustRunAs + optional k8s.io.api.core.v1.SELinuxOptions seLinuxOptions = 2; +} + +// SecurityContextConstraints governs the ability to make requests that affect the SecurityContext +// that will be applied to a container. +// For historical reasons SCC was exposed under the core Kubernetes API group. +// That exposure is deprecated and will be removed in a future release - users +// should instead use the security.openshift.io group to manage +// SecurityContextConstraints. +message SecurityContextConstraints { + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Priority influences the sort order of SCCs when evaluating which SCCs to try first for + // a given pod request based on access in the Users and Groups fields. The higher the int, the + // higher priority. An unset value is considered a 0 priority. If scores + // for multiple SCCs are equal they will be sorted from most restrictive to + // least restrictive. If both priorities and restrictions are equal the + // SCCs will be sorted by name. + optional int32 priority = 2; + + // AllowPrivilegedContainer determines if a container can request to be run as privileged. + optional bool allowPrivilegedContainer = 3; + + // DefaultAddCapabilities is the default set of capabilities that will be added to the container + // unless the pod spec specifically drops the capability. You may not list a capabiility in both + // DefaultAddCapabilities and RequiredDropCapabilities. + repeated string defaultAddCapabilities = 4; + + // RequiredDropCapabilities are the capabilities that will be dropped from the container. These + // are required to be dropped and cannot be added. + repeated string requiredDropCapabilities = 5; + + // AllowedCapabilities is a list of capabilities that can be requested to add to the container. + // Capabilities in this field maybe added at the pod author's discretion. + // You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. + // To allow all capabilities you may use '*'. + repeated string allowedCapabilities = 6; + + // AllowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin + // +k8s:conversion-gen=false + optional bool allowHostDirVolumePlugin = 7; + + // Volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names + // of a VolumeSource (azureFile, configMap, emptyDir). To allow all volumes you may use "*". + // To allow no volumes, set to ["none"]. + repeated string volumes = 8; + + // AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all + // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes + // is allowed in the "Volumes" field. + // +optional + repeated AllowedFlexVolume allowedFlexVolumes = 21; + + // AllowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec. + optional bool allowHostNetwork = 9; + + // AllowHostPorts determines if the policy allows host ports in the containers. + optional bool allowHostPorts = 10; + + // AllowHostPID determines if the policy allows host pid in the containers. + optional bool allowHostPID = 11; + + // AllowHostIPC determines if the policy allows host ipc in the containers. + optional bool allowHostIPC = 12; + + // DefaultAllowPrivilegeEscalation controls the default setting for whether a + // process can gain more privileges than its parent process. + // +optional + optional bool defaultAllowPrivilegeEscalation = 22; + + // AllowPrivilegeEscalation determines if a pod can request to allow + // privilege escalation. If unspecified, defaults to true. + // +optional + optional bool allowPrivilegeEscalation = 23; + + // SELinuxContext is the strategy that will dictate what labels will be set in the SecurityContext. + optional SELinuxContextStrategyOptions seLinuxContext = 13; + + // RunAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext. + optional RunAsUserStrategyOptions runAsUser = 14; + + // SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. + optional SupplementalGroupsStrategyOptions supplementalGroups = 15; + + // FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. + optional FSGroupStrategyOptions fsGroup = 16; + + // ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file + // system. If the container specifically requests to run with a non-read only root file system + // the SCC should deny the pod. + // If set to false the container may run with a read only root file system if it wishes but it + // will not be forced to. + optional bool readOnlyRootFilesystem = 17; + + // The users who have permissions to use this security context constraints + // +optional + repeated string users = 18; + + // The groups that have permission to use this security context constraints + // +optional + repeated string groups = 19; + + // SeccompProfiles lists the allowed profiles that may be set for the pod or + // container's seccomp annotations. An unset (nil) or empty value means that no profiles may + // be specifid by the pod or container. The wildcard '*' may be used to allow all profiles. When + // used to generate a value for a pod the first non-wildcard profile will be used as + // the default. + repeated string seccompProfiles = 20; + + // AllowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. + // Each entry is either a plain sysctl name or ends in "*" in which case it is considered + // as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. + // Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection. + // + // Examples: + // e.g. "foo/*" allows "foo/bar", "foo/baz", etc. + // e.g. "foo.*" allows "foo.bar", "foo.baz", etc. + // +optional + repeated string allowedUnsafeSysctls = 24; + + // ForbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. + // Each entry is either a plain sysctl name or ends in "*" in which case it is considered + // as a prefix of forbidden sysctls. Single * means all sysctls are forbidden. + // + // Examples: + // e.g. "foo/*" forbids "foo/bar", "foo/baz", etc. + // e.g. "foo.*" forbids "foo.bar", "foo.baz", etc. + // +optional + repeated string forbiddenSysctls = 25; +} + +// SecurityContextConstraintsList is a list of SecurityContextConstraints objects +message SecurityContextConstraintsList { + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // List of security context constraints. + repeated SecurityContextConstraints items = 2; +} + +// ServiceAccountPodSecurityPolicyReviewStatus represents ServiceAccount name and related review status +message ServiceAccountPodSecurityPolicyReviewStatus { + optional PodSecurityPolicySubjectReviewStatus podSecurityPolicySubjectReviewStatus = 1; + + // name contains the allowed and the denied ServiceAccount name + optional string name = 2; +} + +// SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. +message SupplementalGroupsStrategyOptions { + // Type is the strategy that will dictate what supplemental groups is used in the SecurityContext. + optional string type = 1; + + // Ranges are the allowed ranges of supplemental groups. If you would like to force a single + // supplemental group then supply a single range with the same start and end. + repeated IDRange ranges = 2; +} + diff --git a/vendor/github.com/openshift/api/security/v1/legacy.go b/vendor/github.com/openshift/api/security/v1/legacy.go new file mode 100644 index 000000000..34f609a07 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/legacy.go @@ -0,0 +1,25 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &SecurityContextConstraints{}, + &SecurityContextConstraintsList{}, + &PodSecurityPolicySubjectReview{}, + &PodSecurityPolicySelfSubjectReview{}, + &PodSecurityPolicyReview{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/security/v1/register.go b/vendor/github.com/openshift/api/security/v1/register.go new file mode 100644 index 000000000..431c3b539 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/register.go @@ -0,0 +1,44 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "security.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &SecurityContextConstraints{}, + &SecurityContextConstraintsList{}, + &PodSecurityPolicySubjectReview{}, + &PodSecurityPolicySelfSubjectReview{}, + &PodSecurityPolicyReview{}, + &RangeAllocation{}, + &RangeAllocationList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/security/v1/types.go b/vendor/github.com/openshift/api/security/v1/types.go new file mode 100644 index 000000000..ad3a3ca80 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/types.go @@ -0,0 +1,415 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// AllowAllCapabilities can be used as a value for the +// SecurityContextConstraints.AllowAllCapabilities field and means that any +// capabilities are allowed to be requested. +var AllowAllCapabilities corev1.Capability = "*" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SecurityContextConstraints governs the ability to make requests that affect the SecurityContext +// that will be applied to a container. +// For historical reasons SCC was exposed under the core Kubernetes API group. +// That exposure is deprecated and will be removed in a future release - users +// should instead use the security.openshift.io group to manage +// SecurityContextConstraints. +type SecurityContextConstraints struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Priority influences the sort order of SCCs when evaluating which SCCs to try first for + // a given pod request based on access in the Users and Groups fields. The higher the int, the + // higher priority. An unset value is considered a 0 priority. If scores + // for multiple SCCs are equal they will be sorted from most restrictive to + // least restrictive. If both priorities and restrictions are equal the + // SCCs will be sorted by name. + Priority *int32 `json:"priority" protobuf:"varint,2,opt,name=priority"` + + // AllowPrivilegedContainer determines if a container can request to be run as privileged. + AllowPrivilegedContainer bool `json:"allowPrivilegedContainer" protobuf:"varint,3,opt,name=allowPrivilegedContainer"` + // DefaultAddCapabilities is the default set of capabilities that will be added to the container + // unless the pod spec specifically drops the capability. You may not list a capabiility in both + // DefaultAddCapabilities and RequiredDropCapabilities. + DefaultAddCapabilities []corev1.Capability `json:"defaultAddCapabilities" protobuf:"bytes,4,rep,name=defaultAddCapabilities,casttype=Capability"` + // RequiredDropCapabilities are the capabilities that will be dropped from the container. These + // are required to be dropped and cannot be added. + RequiredDropCapabilities []corev1.Capability `json:"requiredDropCapabilities" protobuf:"bytes,5,rep,name=requiredDropCapabilities,casttype=Capability"` + // AllowedCapabilities is a list of capabilities that can be requested to add to the container. + // Capabilities in this field maybe added at the pod author's discretion. + // You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. + // To allow all capabilities you may use '*'. + AllowedCapabilities []corev1.Capability `json:"allowedCapabilities" protobuf:"bytes,6,rep,name=allowedCapabilities,casttype=Capability"` + // AllowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin + // +k8s:conversion-gen=false + AllowHostDirVolumePlugin bool `json:"allowHostDirVolumePlugin" protobuf:"varint,7,opt,name=allowHostDirVolumePlugin"` + // Volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names + // of a VolumeSource (azureFile, configMap, emptyDir). To allow all volumes you may use "*". + // To allow no volumes, set to ["none"]. + Volumes []FSType `json:"volumes" protobuf:"bytes,8,rep,name=volumes,casttype=FSType"` + // AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all + // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes + // is allowed in the "Volumes" field. + // +optional + AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,21,rep,name=allowedFlexVolumes"` + // AllowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec. + AllowHostNetwork bool `json:"allowHostNetwork" protobuf:"varint,9,opt,name=allowHostNetwork"` + // AllowHostPorts determines if the policy allows host ports in the containers. + AllowHostPorts bool `json:"allowHostPorts" protobuf:"varint,10,opt,name=allowHostPorts"` + // AllowHostPID determines if the policy allows host pid in the containers. + AllowHostPID bool `json:"allowHostPID" protobuf:"varint,11,opt,name=allowHostPID"` + // AllowHostIPC determines if the policy allows host ipc in the containers. + AllowHostIPC bool `json:"allowHostIPC" protobuf:"varint,12,opt,name=allowHostIPC"` + // DefaultAllowPrivilegeEscalation controls the default setting for whether a + // process can gain more privileges than its parent process. + // +optional + DefaultAllowPrivilegeEscalation *bool `json:"defaultAllowPrivilegeEscalation,omitempty" protobuf:"varint,22,rep,name=defaultAllowPrivilegeEscalation"` + // AllowPrivilegeEscalation determines if a pod can request to allow + // privilege escalation. If unspecified, defaults to true. + // +optional + AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty" protobuf:"varint,23,rep,name=allowPrivilegeEscalation"` + // SELinuxContext is the strategy that will dictate what labels will be set in the SecurityContext. + SELinuxContext SELinuxContextStrategyOptions `json:"seLinuxContext,omitempty" protobuf:"bytes,13,opt,name=seLinuxContext"` + // RunAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext. + RunAsUser RunAsUserStrategyOptions `json:"runAsUser,omitempty" protobuf:"bytes,14,opt,name=runAsUser"` + // SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. + SupplementalGroups SupplementalGroupsStrategyOptions `json:"supplementalGroups,omitempty" protobuf:"bytes,15,opt,name=supplementalGroups"` + // FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. + FSGroup FSGroupStrategyOptions `json:"fsGroup,omitempty" protobuf:"bytes,16,opt,name=fsGroup"` + // ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file + // system. If the container specifically requests to run with a non-read only root file system + // the SCC should deny the pod. + // If set to false the container may run with a read only root file system if it wishes but it + // will not be forced to. + ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem" protobuf:"varint,17,opt,name=readOnlyRootFilesystem"` + + // The users who have permissions to use this security context constraints + // +optional + Users []string `json:"users" protobuf:"bytes,18,rep,name=users"` + // The groups that have permission to use this security context constraints + // +optional + Groups []string `json:"groups" protobuf:"bytes,19,rep,name=groups"` + + // SeccompProfiles lists the allowed profiles that may be set for the pod or + // container's seccomp annotations. An unset (nil) or empty value means that no profiles may + // be specifid by the pod or container. The wildcard '*' may be used to allow all profiles. When + // used to generate a value for a pod the first non-wildcard profile will be used as + // the default. + SeccompProfiles []string `json:"seccompProfiles,omitempty" protobuf:"bytes,20,opt,name=seccompProfiles"` + + // AllowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. + // Each entry is either a plain sysctl name or ends in "*" in which case it is considered + // as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. + // Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection. + // + // Examples: + // e.g. "foo/*" allows "foo/bar", "foo/baz", etc. + // e.g. "foo.*" allows "foo.bar", "foo.baz", etc. + // +optional + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty" protobuf:"bytes,24,rep,name=allowedUnsafeSysctls"` + // ForbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. + // Each entry is either a plain sysctl name or ends in "*" in which case it is considered + // as a prefix of forbidden sysctls. Single * means all sysctls are forbidden. + // + // Examples: + // e.g. "foo/*" forbids "foo/bar", "foo/baz", etc. + // e.g. "foo.*" forbids "foo.bar", "foo.baz", etc. + // +optional + ForbiddenSysctls []string `json:"forbiddenSysctls,omitempty" protobuf:"bytes,25,rep,name=forbiddenSysctls"` +} + +// FS Type gives strong typing to different file systems that are used by volumes. +type FSType string + +var ( + FSTypeAzureFile FSType = "azureFile" + FSTypeAzureDisk FSType = "azureDisk" + FSTypeFlocker FSType = "flocker" + FSTypeFlexVolume FSType = "flexVolume" + FSTypeHostPath FSType = "hostPath" + FSTypeEmptyDir FSType = "emptyDir" + FSTypeGCEPersistentDisk FSType = "gcePersistentDisk" + FSTypeAWSElasticBlockStore FSType = "awsElasticBlockStore" + FSTypeGitRepo FSType = "gitRepo" + FSTypeSecret FSType = "secret" + FSTypeNFS FSType = "nfs" + FSTypeISCSI FSType = "iscsi" + FSTypeGlusterfs FSType = "glusterfs" + FSTypePersistentVolumeClaim FSType = "persistentVolumeClaim" + FSTypeRBD FSType = "rbd" + FSTypeCinder FSType = "cinder" + FSTypeCephFS FSType = "cephFS" + FSTypeDownwardAPI FSType = "downwardAPI" + FSTypeFC FSType = "fc" + FSTypeConfigMap FSType = "configMap" + FSTypeVsphereVolume FSType = "vsphere" + FSTypeQuobyte FSType = "quobyte" + FSTypePhotonPersistentDisk FSType = "photonPersistentDisk" + FSProjected FSType = "projected" + FSPortworxVolume FSType = "portworxVolume" + FSScaleIO FSType = "scaleIO" + FSStorageOS FSType = "storageOS" + FSTypeAll FSType = "*" + FSTypeNone FSType = "none" +) + +// AllowedFlexVolume represents a single Flexvolume that is allowed to be used. +type AllowedFlexVolume struct { + // Driver is the name of the Flexvolume driver. + Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"` +} + +// SELinuxContextStrategyOptions defines the strategy type and any options used to create the strategy. +type SELinuxContextStrategyOptions struct { + // Type is the strategy that will dictate what SELinux context is used in the SecurityContext. + Type SELinuxContextStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=SELinuxContextStrategyType"` + // seLinuxOptions required to run as; required for MustRunAs + SELinuxOptions *corev1.SELinuxOptions `json:"seLinuxOptions,omitempty" protobuf:"bytes,2,opt,name=seLinuxOptions"` +} + +// RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. +type RunAsUserStrategyOptions struct { + // Type is the strategy that will dictate what RunAsUser is used in the SecurityContext. + Type RunAsUserStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=RunAsUserStrategyType"` + // UID is the user id that containers must run as. Required for the MustRunAs strategy if not using + // namespace/service account allocated uids. + UID *int64 `json:"uid,omitempty" protobuf:"varint,2,opt,name=uid"` + // UIDRangeMin defines the min value for a strategy that allocates by range. + UIDRangeMin *int64 `json:"uidRangeMin,omitempty" protobuf:"varint,3,opt,name=uidRangeMin"` + // UIDRangeMax defines the max value for a strategy that allocates by range. + UIDRangeMax *int64 `json:"uidRangeMax,omitempty" protobuf:"varint,4,opt,name=uidRangeMax"` +} + +// FSGroupStrategyOptions defines the strategy type and options used to create the strategy. +type FSGroupStrategyOptions struct { + // Type is the strategy that will dictate what FSGroup is used in the SecurityContext. + Type FSGroupStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=FSGroupStrategyType"` + // Ranges are the allowed ranges of fs groups. If you would like to force a single + // fs group then supply a single range with the same start and end. + Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` +} + +// SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. +type SupplementalGroupsStrategyOptions struct { + // Type is the strategy that will dictate what supplemental groups is used in the SecurityContext. + Type SupplementalGroupsStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=SupplementalGroupsStrategyType"` + // Ranges are the allowed ranges of supplemental groups. If you would like to force a single + // supplemental group then supply a single range with the same start and end. + Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` +} + +// IDRange provides a min/max of an allowed range of IDs. +// TODO: this could be reused for UIDs. +type IDRange struct { + // Min is the start of the range, inclusive. + Min int64 `json:"min,omitempty" protobuf:"varint,1,opt,name=min"` + // Max is the end of the range, inclusive. + Max int64 `json:"max,omitempty" protobuf:"varint,2,opt,name=max"` +} + +// SELinuxContextStrategyType denotes strategy types for generating SELinux options for a +// SecurityContext +type SELinuxContextStrategyType string + +// RunAsUserStrategyType denotes strategy types for generating RunAsUser values for a +// SecurityContext +type RunAsUserStrategyType string + +// SupplementalGroupsStrategyType denotes strategy types for determining valid supplemental +// groups for a SecurityContext. +type SupplementalGroupsStrategyType string + +// FSGroupStrategyType denotes strategy types for generating FSGroup values for a +// SecurityContext +type FSGroupStrategyType string + +const ( + // container must have SELinux labels of X applied. + SELinuxStrategyMustRunAs SELinuxContextStrategyType = "MustRunAs" + // container may make requests for any SELinux context labels. + SELinuxStrategyRunAsAny SELinuxContextStrategyType = "RunAsAny" + + // container must run as a particular uid. + RunAsUserStrategyMustRunAs RunAsUserStrategyType = "MustRunAs" + // container must run as a particular uid. + RunAsUserStrategyMustRunAsRange RunAsUserStrategyType = "MustRunAsRange" + // container must run as a non-root uid + RunAsUserStrategyMustRunAsNonRoot RunAsUserStrategyType = "MustRunAsNonRoot" + // container may make requests for any uid. + RunAsUserStrategyRunAsAny RunAsUserStrategyType = "RunAsAny" + + // container must have FSGroup of X applied. + FSGroupStrategyMustRunAs FSGroupStrategyType = "MustRunAs" + // container may make requests for any FSGroup labels. + FSGroupStrategyRunAsAny FSGroupStrategyType = "RunAsAny" + + // container must run as a particular gid. + SupplementalGroupsStrategyMustRunAs SupplementalGroupsStrategyType = "MustRunAs" + // container may make requests for any gid. + SupplementalGroupsStrategyRunAsAny SupplementalGroupsStrategyType = "RunAsAny" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// SecurityContextConstraintsList is a list of SecurityContextConstraints objects +type SecurityContextConstraintsList struct { + metav1.TypeMeta `json:",inline"` + + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // List of security context constraints. + Items []SecurityContextConstraints `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:onlyVerbs=create +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// PodSecurityPolicySubjectReview checks whether a particular user/SA tuple can create the PodTemplateSpec. +type PodSecurityPolicySubjectReview struct { + metav1.TypeMeta `json:",inline"` + + // spec defines specification for the PodSecurityPolicySubjectReview. + Spec PodSecurityPolicySubjectReviewSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"` + + // status represents the current information/status for the PodSecurityPolicySubjectReview. + Status PodSecurityPolicySubjectReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` +} + +// PodSecurityPolicySubjectReviewSpec defines specification for PodSecurityPolicySubjectReview +type PodSecurityPolicySubjectReviewSpec struct { + // template is the PodTemplateSpec to check. If template.spec.serviceAccountName is empty it will not be defaulted. + // If its non-empty, it will be checked. + Template corev1.PodTemplateSpec `json:"template" protobuf:"bytes,1,opt,name=template"` + + // user is the user you're testing for. + // If you specify "user" but not "group", then is it interpreted as "What if user were not a member of any groups. + // If user and groups are empty, then the check is performed using *only* the serviceAccountName in the template. + User string `json:"user,omitempty" protobuf:"bytes,2,opt,name=user"` + + // groups is the groups you're testing for. + Groups []string `json:"groups,omitempty" protobuf:"bytes,3,rep,name=groups"` +} + +// PodSecurityPolicySubjectReviewStatus contains information/status for PodSecurityPolicySubjectReview. +type PodSecurityPolicySubjectReviewStatus struct { + // allowedBy is a reference to the rule that allows the PodTemplateSpec. + // A rule can be a SecurityContextConstraint or a PodSecurityPolicy + // A `nil`, indicates that it was denied. + AllowedBy *corev1.ObjectReference `json:"allowedBy,omitempty" protobuf:"bytes,1,opt,name=allowedBy"` + + // A machine-readable description of why this operation is in the + // "Failure" status. If this value is empty there + // is no information available. + Reason string `json:"reason,omitempty" protobuf:"bytes,2,opt,name=reason"` + + // template is the PodTemplateSpec after the defaulting is applied. + Template corev1.PodTemplateSpec `json:"template,omitempty" protobuf:"bytes,3,opt,name=template"` +} + +// +genclient +// +genclient:onlyVerbs=create +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// PodSecurityPolicySelfSubjectReview checks whether this user/SA tuple can create the PodTemplateSpec +type PodSecurityPolicySelfSubjectReview struct { + metav1.TypeMeta `json:",inline"` + + // spec defines specification the PodSecurityPolicySelfSubjectReview. + Spec PodSecurityPolicySelfSubjectReviewSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"` + + // status represents the current information/status for the PodSecurityPolicySelfSubjectReview. + Status PodSecurityPolicySubjectReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` +} + +// PodSecurityPolicySelfSubjectReviewSpec contains specification for PodSecurityPolicySelfSubjectReview. +type PodSecurityPolicySelfSubjectReviewSpec struct { + // template is the PodTemplateSpec to check. + Template corev1.PodTemplateSpec `json:"template" protobuf:"bytes,1,opt,name=template"` +} + +// +genclient +// +genclient:onlyVerbs=create +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// PodSecurityPolicyReview checks which service accounts (not users, since that would be cluster-wide) can create the `PodTemplateSpec` in question. +type PodSecurityPolicyReview struct { + metav1.TypeMeta `json:",inline"` + + // spec is the PodSecurityPolicy to check. + Spec PodSecurityPolicyReviewSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"` + + // status represents the current information/status for the PodSecurityPolicyReview. + Status PodSecurityPolicyReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` +} + +// PodSecurityPolicyReviewSpec defines specification for PodSecurityPolicyReview +type PodSecurityPolicyReviewSpec struct { + // template is the PodTemplateSpec to check. The template.spec.serviceAccountName field is used + // if serviceAccountNames is empty, unless the template.spec.serviceAccountName is empty, + // in which case "default" is used. + // If serviceAccountNames is specified, template.spec.serviceAccountName is ignored. + Template corev1.PodTemplateSpec `json:"template" protobuf:"bytes,1,opt,name=template"` + + // serviceAccountNames is an optional set of ServiceAccounts to run the check with. + // If serviceAccountNames is empty, the template.spec.serviceAccountName is used, + // unless it's empty, in which case "default" is used instead. + // If serviceAccountNames is specified, template.spec.serviceAccountName is ignored. + ServiceAccountNames []string `json:"serviceAccountNames,omitempty" protobuf:"bytes,2,rep,name=serviceAccountNames"` // TODO: find a way to express 'all service accounts' +} + +// PodSecurityPolicyReviewStatus represents the status of PodSecurityPolicyReview. +type PodSecurityPolicyReviewStatus struct { + // allowedServiceAccounts returns the list of service accounts in *this* namespace that have the power to create the PodTemplateSpec. + AllowedServiceAccounts []ServiceAccountPodSecurityPolicyReviewStatus `json:"allowedServiceAccounts" protobuf:"bytes,1,rep,name=allowedServiceAccounts"` +} + +// ServiceAccountPodSecurityPolicyReviewStatus represents ServiceAccount name and related review status +type ServiceAccountPodSecurityPolicyReviewStatus struct { + PodSecurityPolicySubjectReviewStatus `json:",inline" protobuf:"bytes,1,opt,name=podSecurityPolicySubjectReviewStatus"` + + // name contains the allowed and the denied ServiceAccount name + Name string `json:"name" protobuf:"bytes,2,opt,name=name"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RangeAllocation is used so we can easily expose a RangeAllocation typed for security group +type RangeAllocation struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + // +optional + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // range is a string representing a unique label for a range of uids, "1000000000-2000000000/10000". + Range string `json:"range" protobuf:"bytes,2,opt,name=range"` + + // data is a byte array representing the serialized state of a range allocation. It is a bitmap + // with each bit set to one to represent a range is taken. + Data []byte `json:"data" protobuf:"bytes,3,opt,name=data"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// RangeAllocationList is a list of RangeAllocations objects +type RangeAllocationList struct { + metav1.TypeMeta `json:",inline"` + + // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // List of RangeAllocations. + Items []RangeAllocation `json:"items" protobuf:"bytes,2,rep,name=items"` +} diff --git a/vendor/github.com/openshift/api/security/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/security/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..892ecc4d3 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/zz_generated.deepcopy.go @@ -0,0 +1,564 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AllowedFlexVolume) DeepCopyInto(out *AllowedFlexVolume) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedFlexVolume. +func (in *AllowedFlexVolume) DeepCopy() *AllowedFlexVolume { + if in == nil { + return nil + } + out := new(AllowedFlexVolume) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FSGroupStrategyOptions) DeepCopyInto(out *FSGroupStrategyOptions) { + *out = *in + if in.Ranges != nil { + in, out := &in.Ranges, &out.Ranges + *out = make([]IDRange, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FSGroupStrategyOptions. +func (in *FSGroupStrategyOptions) DeepCopy() *FSGroupStrategyOptions { + if in == nil { + return nil + } + out := new(FSGroupStrategyOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IDRange) DeepCopyInto(out *IDRange) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IDRange. +func (in *IDRange) DeepCopy() *IDRange { + if in == nil { + return nil + } + out := new(IDRange) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicyReview) DeepCopyInto(out *PodSecurityPolicyReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicyReview. +func (in *PodSecurityPolicyReview) DeepCopy() *PodSecurityPolicyReview { + if in == nil { + return nil + } + out := new(PodSecurityPolicyReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PodSecurityPolicyReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicyReviewSpec) DeepCopyInto(out *PodSecurityPolicyReviewSpec) { + *out = *in + in.Template.DeepCopyInto(&out.Template) + if in.ServiceAccountNames != nil { + in, out := &in.ServiceAccountNames, &out.ServiceAccountNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicyReviewSpec. +func (in *PodSecurityPolicyReviewSpec) DeepCopy() *PodSecurityPolicyReviewSpec { + if in == nil { + return nil + } + out := new(PodSecurityPolicyReviewSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicyReviewStatus) DeepCopyInto(out *PodSecurityPolicyReviewStatus) { + *out = *in + if in.AllowedServiceAccounts != nil { + in, out := &in.AllowedServiceAccounts, &out.AllowedServiceAccounts + *out = make([]ServiceAccountPodSecurityPolicyReviewStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicyReviewStatus. +func (in *PodSecurityPolicyReviewStatus) DeepCopy() *PodSecurityPolicyReviewStatus { + if in == nil { + return nil + } + out := new(PodSecurityPolicyReviewStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicySelfSubjectReview) DeepCopyInto(out *PodSecurityPolicySelfSubjectReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicySelfSubjectReview. +func (in *PodSecurityPolicySelfSubjectReview) DeepCopy() *PodSecurityPolicySelfSubjectReview { + if in == nil { + return nil + } + out := new(PodSecurityPolicySelfSubjectReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PodSecurityPolicySelfSubjectReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicySelfSubjectReviewSpec) DeepCopyInto(out *PodSecurityPolicySelfSubjectReviewSpec) { + *out = *in + in.Template.DeepCopyInto(&out.Template) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicySelfSubjectReviewSpec. +func (in *PodSecurityPolicySelfSubjectReviewSpec) DeepCopy() *PodSecurityPolicySelfSubjectReviewSpec { + if in == nil { + return nil + } + out := new(PodSecurityPolicySelfSubjectReviewSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicySubjectReview) DeepCopyInto(out *PodSecurityPolicySubjectReview) { + *out = *in + out.TypeMeta = in.TypeMeta + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicySubjectReview. +func (in *PodSecurityPolicySubjectReview) DeepCopy() *PodSecurityPolicySubjectReview { + if in == nil { + return nil + } + out := new(PodSecurityPolicySubjectReview) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *PodSecurityPolicySubjectReview) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicySubjectReviewSpec) DeepCopyInto(out *PodSecurityPolicySubjectReviewSpec) { + *out = *in + in.Template.DeepCopyInto(&out.Template) + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicySubjectReviewSpec. +func (in *PodSecurityPolicySubjectReviewSpec) DeepCopy() *PodSecurityPolicySubjectReviewSpec { + if in == nil { + return nil + } + out := new(PodSecurityPolicySubjectReviewSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodSecurityPolicySubjectReviewStatus) DeepCopyInto(out *PodSecurityPolicySubjectReviewStatus) { + *out = *in + if in.AllowedBy != nil { + in, out := &in.AllowedBy, &out.AllowedBy + if *in == nil { + *out = nil + } else { + *out = new(core_v1.ObjectReference) + **out = **in + } + } + in.Template.DeepCopyInto(&out.Template) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSecurityPolicySubjectReviewStatus. +func (in *PodSecurityPolicySubjectReviewStatus) DeepCopy() *PodSecurityPolicySubjectReviewStatus { + if in == nil { + return nil + } + out := new(PodSecurityPolicySubjectReviewStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeAllocation) DeepCopyInto(out *RangeAllocation) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Data != nil { + in, out := &in.Data, &out.Data + *out = make([]byte, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeAllocation. +func (in *RangeAllocation) DeepCopy() *RangeAllocation { + if in == nil { + return nil + } + out := new(RangeAllocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RangeAllocation) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RangeAllocationList) DeepCopyInto(out *RangeAllocationList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]RangeAllocation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RangeAllocationList. +func (in *RangeAllocationList) DeepCopy() *RangeAllocationList { + if in == nil { + return nil + } + out := new(RangeAllocationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *RangeAllocationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RunAsUserStrategyOptions) DeepCopyInto(out *RunAsUserStrategyOptions) { + *out = *in + if in.UID != nil { + in, out := &in.UID, &out.UID + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.UIDRangeMin != nil { + in, out := &in.UIDRangeMin, &out.UIDRangeMin + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.UIDRangeMax != nil { + in, out := &in.UIDRangeMax, &out.UIDRangeMax + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunAsUserStrategyOptions. +func (in *RunAsUserStrategyOptions) DeepCopy() *RunAsUserStrategyOptions { + if in == nil { + return nil + } + out := new(RunAsUserStrategyOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SELinuxContextStrategyOptions) DeepCopyInto(out *SELinuxContextStrategyOptions) { + *out = *in + if in.SELinuxOptions != nil { + in, out := &in.SELinuxOptions, &out.SELinuxOptions + if *in == nil { + *out = nil + } else { + *out = new(core_v1.SELinuxOptions) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SELinuxContextStrategyOptions. +func (in *SELinuxContextStrategyOptions) DeepCopy() *SELinuxContextStrategyOptions { + if in == nil { + return nil + } + out := new(SELinuxContextStrategyOptions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityContextConstraints) DeepCopyInto(out *SecurityContextConstraints) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + if *in == nil { + *out = nil + } else { + *out = new(int32) + **out = **in + } + } + if in.DefaultAddCapabilities != nil { + in, out := &in.DefaultAddCapabilities, &out.DefaultAddCapabilities + *out = make([]core_v1.Capability, len(*in)) + copy(*out, *in) + } + if in.RequiredDropCapabilities != nil { + in, out := &in.RequiredDropCapabilities, &out.RequiredDropCapabilities + *out = make([]core_v1.Capability, len(*in)) + copy(*out, *in) + } + if in.AllowedCapabilities != nil { + in, out := &in.AllowedCapabilities, &out.AllowedCapabilities + *out = make([]core_v1.Capability, len(*in)) + copy(*out, *in) + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]FSType, len(*in)) + copy(*out, *in) + } + if in.AllowedFlexVolumes != nil { + in, out := &in.AllowedFlexVolumes, &out.AllowedFlexVolumes + *out = make([]AllowedFlexVolume, len(*in)) + copy(*out, *in) + } + if in.DefaultAllowPrivilegeEscalation != nil { + in, out := &in.DefaultAllowPrivilegeEscalation, &out.DefaultAllowPrivilegeEscalation + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + if in.AllowPrivilegeEscalation != nil { + in, out := &in.AllowPrivilegeEscalation, &out.AllowPrivilegeEscalation + if *in == nil { + *out = nil + } else { + *out = new(bool) + **out = **in + } + } + in.SELinuxContext.DeepCopyInto(&out.SELinuxContext) + in.RunAsUser.DeepCopyInto(&out.RunAsUser) + in.SupplementalGroups.DeepCopyInto(&out.SupplementalGroups) + in.FSGroup.DeepCopyInto(&out.FSGroup) + if in.Users != nil { + in, out := &in.Users, &out.Users + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SeccompProfiles != nil { + in, out := &in.SeccompProfiles, &out.SeccompProfiles + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.AllowedUnsafeSysctls != nil { + in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ForbiddenSysctls != nil { + in, out := &in.ForbiddenSysctls, &out.ForbiddenSysctls + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityContextConstraints. +func (in *SecurityContextConstraints) DeepCopy() *SecurityContextConstraints { + if in == nil { + return nil + } + out := new(SecurityContextConstraints) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecurityContextConstraints) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecurityContextConstraintsList) DeepCopyInto(out *SecurityContextConstraintsList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]SecurityContextConstraints, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityContextConstraintsList. +func (in *SecurityContextConstraintsList) DeepCopy() *SecurityContextConstraintsList { + if in == nil { + return nil + } + out := new(SecurityContextConstraintsList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecurityContextConstraintsList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountPodSecurityPolicyReviewStatus) DeepCopyInto(out *ServiceAccountPodSecurityPolicyReviewStatus) { + *out = *in + in.PodSecurityPolicySubjectReviewStatus.DeepCopyInto(&out.PodSecurityPolicySubjectReviewStatus) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountPodSecurityPolicyReviewStatus. +func (in *ServiceAccountPodSecurityPolicyReviewStatus) DeepCopy() *ServiceAccountPodSecurityPolicyReviewStatus { + if in == nil { + return nil + } + out := new(ServiceAccountPodSecurityPolicyReviewStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SupplementalGroupsStrategyOptions) DeepCopyInto(out *SupplementalGroupsStrategyOptions) { + *out = *in + if in.Ranges != nil { + in, out := &in.Ranges, &out.Ranges + *out = make([]IDRange, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupplementalGroupsStrategyOptions. +func (in *SupplementalGroupsStrategyOptions) DeepCopy() *SupplementalGroupsStrategyOptions { + if in == nil { + return nil + } + out := new(SupplementalGroupsStrategyOptions) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..3a6db5284 --- /dev/null +++ b/vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,228 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_AllowedFlexVolume = map[string]string{ + "": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used.", + "driver": "Driver is the name of the Flexvolume driver.", +} + +func (AllowedFlexVolume) SwaggerDoc() map[string]string { + return map_AllowedFlexVolume +} + +var map_FSGroupStrategyOptions = map[string]string{ + "": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.", + "type": "Type is the strategy that will dictate what FSGroup is used in the SecurityContext.", + "ranges": "Ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end.", +} + +func (FSGroupStrategyOptions) SwaggerDoc() map[string]string { + return map_FSGroupStrategyOptions +} + +var map_IDRange = map[string]string{ + "": "IDRange provides a min/max of an allowed range of IDs.", + "min": "Min is the start of the range, inclusive.", + "max": "Max is the end of the range, inclusive.", +} + +func (IDRange) SwaggerDoc() map[string]string { + return map_IDRange +} + +var map_PodSecurityPolicyReview = map[string]string{ + "": "PodSecurityPolicyReview checks which service accounts (not users, since that would be cluster-wide) can create the `PodTemplateSpec` in question.", + "spec": "spec is the PodSecurityPolicy to check.", + "status": "status represents the current information/status for the PodSecurityPolicyReview.", +} + +func (PodSecurityPolicyReview) SwaggerDoc() map[string]string { + return map_PodSecurityPolicyReview +} + +var map_PodSecurityPolicyReviewSpec = map[string]string{ + "": "PodSecurityPolicyReviewSpec defines specification for PodSecurityPolicyReview", + "template": "template is the PodTemplateSpec to check. The template.spec.serviceAccountName field is used if serviceAccountNames is empty, unless the template.spec.serviceAccountName is empty, in which case \"default\" is used. If serviceAccountNames is specified, template.spec.serviceAccountName is ignored.", + "serviceAccountNames": "serviceAccountNames is an optional set of ServiceAccounts to run the check with. If serviceAccountNames is empty, the template.spec.serviceAccountName is used, unless it's empty, in which case \"default\" is used instead. If serviceAccountNames is specified, template.spec.serviceAccountName is ignored.", +} + +func (PodSecurityPolicyReviewSpec) SwaggerDoc() map[string]string { + return map_PodSecurityPolicyReviewSpec +} + +var map_PodSecurityPolicyReviewStatus = map[string]string{ + "": "PodSecurityPolicyReviewStatus represents the status of PodSecurityPolicyReview.", + "allowedServiceAccounts": "allowedServiceAccounts returns the list of service accounts in *this* namespace that have the power to create the PodTemplateSpec.", +} + +func (PodSecurityPolicyReviewStatus) SwaggerDoc() map[string]string { + return map_PodSecurityPolicyReviewStatus +} + +var map_PodSecurityPolicySelfSubjectReview = map[string]string{ + "": "PodSecurityPolicySelfSubjectReview checks whether this user/SA tuple can create the PodTemplateSpec", + "spec": "spec defines specification the PodSecurityPolicySelfSubjectReview.", + "status": "status represents the current information/status for the PodSecurityPolicySelfSubjectReview.", +} + +func (PodSecurityPolicySelfSubjectReview) SwaggerDoc() map[string]string { + return map_PodSecurityPolicySelfSubjectReview +} + +var map_PodSecurityPolicySelfSubjectReviewSpec = map[string]string{ + "": "PodSecurityPolicySelfSubjectReviewSpec contains specification for PodSecurityPolicySelfSubjectReview.", + "template": "template is the PodTemplateSpec to check.", +} + +func (PodSecurityPolicySelfSubjectReviewSpec) SwaggerDoc() map[string]string { + return map_PodSecurityPolicySelfSubjectReviewSpec +} + +var map_PodSecurityPolicySubjectReview = map[string]string{ + "": "PodSecurityPolicySubjectReview checks whether a particular user/SA tuple can create the PodTemplateSpec.", + "spec": "spec defines specification for the PodSecurityPolicySubjectReview.", + "status": "status represents the current information/status for the PodSecurityPolicySubjectReview.", +} + +func (PodSecurityPolicySubjectReview) SwaggerDoc() map[string]string { + return map_PodSecurityPolicySubjectReview +} + +var map_PodSecurityPolicySubjectReviewSpec = map[string]string{ + "": "PodSecurityPolicySubjectReviewSpec defines specification for PodSecurityPolicySubjectReview", + "template": "template is the PodTemplateSpec to check. If template.spec.serviceAccountName is empty it will not be defaulted. If its non-empty, it will be checked.", + "user": "user is the user you're testing for. If you specify \"user\" but not \"group\", then is it interpreted as \"What if user were not a member of any groups. If user and groups are empty, then the check is performed using *only* the serviceAccountName in the template.", + "groups": "groups is the groups you're testing for.", +} + +func (PodSecurityPolicySubjectReviewSpec) SwaggerDoc() map[string]string { + return map_PodSecurityPolicySubjectReviewSpec +} + +var map_PodSecurityPolicySubjectReviewStatus = map[string]string{ + "": "PodSecurityPolicySubjectReviewStatus contains information/status for PodSecurityPolicySubjectReview.", + "allowedBy": "allowedBy is a reference to the rule that allows the PodTemplateSpec. A rule can be a SecurityContextConstraint or a PodSecurityPolicy A `nil`, indicates that it was denied.", + "reason": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available.", + "template": "template is the PodTemplateSpec after the defaulting is applied.", +} + +func (PodSecurityPolicySubjectReviewStatus) SwaggerDoc() map[string]string { + return map_PodSecurityPolicySubjectReviewStatus +} + +var map_RangeAllocation = map[string]string{ + "": "RangeAllocation is used so we can easily expose a RangeAllocation typed for security group", + "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "range": "range is a string representing a unique label for a range of uids, \"1000000000-2000000000/10000\".", + "data": "data is a byte array representing the serialized state of a range allocation. It is a bitmap with each bit set to one to represent a range is taken.", +} + +func (RangeAllocation) SwaggerDoc() map[string]string { + return map_RangeAllocation +} + +var map_RangeAllocationList = map[string]string{ + "": "RangeAllocationList is a list of RangeAllocations objects", + "metadata": "More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "items": "List of RangeAllocations.", +} + +func (RangeAllocationList) SwaggerDoc() map[string]string { + return map_RangeAllocationList +} + +var map_RunAsUserStrategyOptions = map[string]string{ + "": "RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.", + "type": "Type is the strategy that will dictate what RunAsUser is used in the SecurityContext.", + "uid": "UID is the user id that containers must run as. Required for the MustRunAs strategy if not using namespace/service account allocated uids.", + "uidRangeMin": "UIDRangeMin defines the min value for a strategy that allocates by range.", + "uidRangeMax": "UIDRangeMax defines the max value for a strategy that allocates by range.", +} + +func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string { + return map_RunAsUserStrategyOptions +} + +var map_SELinuxContextStrategyOptions = map[string]string{ + "": "SELinuxContextStrategyOptions defines the strategy type and any options used to create the strategy.", + "type": "Type is the strategy that will dictate what SELinux context is used in the SecurityContext.", + "seLinuxOptions": "seLinuxOptions required to run as; required for MustRunAs", +} + +func (SELinuxContextStrategyOptions) SwaggerDoc() map[string]string { + return map_SELinuxContextStrategyOptions +} + +var map_SecurityContextConstraints = map[string]string{ + "": "SecurityContextConstraints governs the ability to make requests that affect the SecurityContext that will be applied to a container. For historical reasons SCC was exposed under the core Kubernetes API group. That exposure is deprecated and will be removed in a future release - users should instead use the security.openshift.io group to manage SecurityContextConstraints.", + "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "priority": "Priority influences the sort order of SCCs when evaluating which SCCs to try first for a given pod request based on access in the Users and Groups fields. The higher the int, the higher priority. An unset value is considered a 0 priority. If scores for multiple SCCs are equal they will be sorted from most restrictive to least restrictive. If both priorities and restrictions are equal the SCCs will be sorted by name.", + "allowPrivilegedContainer": "AllowPrivilegedContainer determines if a container can request to be run as privileged.", + "defaultAddCapabilities": "DefaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities.", + "requiredDropCapabilities": "RequiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.", + "allowedCapabilities": "AllowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field maybe added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. To allow all capabilities you may use '*'.", + "allowHostDirVolumePlugin": "AllowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin", + "volumes": "Volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names of a VolumeSource (azureFile, configMap, emptyDir). To allow all volumes you may use \"*\". To allow no volumes, set to [\"none\"].", + "allowedFlexVolumes": "AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"Volumes\" field.", + "allowHostNetwork": "AllowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec.", + "allowHostPorts": "AllowHostPorts determines if the policy allows host ports in the containers.", + "allowHostPID": "AllowHostPID determines if the policy allows host pid in the containers.", + "allowHostIPC": "AllowHostIPC determines if the policy allows host ipc in the containers.", + "defaultAllowPrivilegeEscalation": "DefaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.", + "allowPrivilegeEscalation": "AllowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.", + "seLinuxContext": "SELinuxContext is the strategy that will dictate what labels will be set in the SecurityContext.", + "runAsUser": "RunAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext.", + "supplementalGroups": "SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.", + "fsGroup": "FSGroup is the strategy that will dictate what fs group is used by the SecurityContext.", + "readOnlyRootFilesystem": "ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the SCC should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.", + "users": "The users who have permissions to use this security context constraints", + "groups": "The groups that have permission to use this security context constraints", + "seccompProfiles": "SeccompProfiles lists the allowed profiles that may be set for the pod or container's seccomp annotations. An unset (nil) or empty value means that no profiles may be specifid by the pod or container.\tThe wildcard '*' may be used to allow all profiles. When used to generate a value for a pod the first non-wildcard profile will be used as the default.", + "allowedUnsafeSysctls": "AllowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection.\n\nExamples: e.g. \"foo/*\" allows \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" allows \"foo.bar\", \"foo.baz\", etc.", + "forbiddenSysctls": "ForbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of forbidden sysctls. Single * means all sysctls are forbidden.\n\nExamples: e.g. \"foo/*\" forbids \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" forbids \"foo.bar\", \"foo.baz\", etc.", +} + +func (SecurityContextConstraints) SwaggerDoc() map[string]string { + return map_SecurityContextConstraints +} + +var map_SecurityContextConstraintsList = map[string]string{ + "": "SecurityContextConstraintsList is a list of SecurityContextConstraints objects", + "metadata": "More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", + "items": "List of security context constraints.", +} + +func (SecurityContextConstraintsList) SwaggerDoc() map[string]string { + return map_SecurityContextConstraintsList +} + +var map_ServiceAccountPodSecurityPolicyReviewStatus = map[string]string{ + "": "ServiceAccountPodSecurityPolicyReviewStatus represents ServiceAccount name and related review status", + "name": "name contains the allowed and the denied ServiceAccount name", +} + +func (ServiceAccountPodSecurityPolicyReviewStatus) SwaggerDoc() map[string]string { + return map_ServiceAccountPodSecurityPolicyReviewStatus +} + +var map_SupplementalGroupsStrategyOptions = map[string]string{ + "": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.", + "type": "Type is the strategy that will dictate what supplemental groups is used in the SecurityContext.", + "ranges": "Ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end.", +} + +func (SupplementalGroupsStrategyOptions) SwaggerDoc() map[string]string { + return map_SupplementalGroupsStrategyOptions +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/servicecertsigner/install.go b/vendor/github.com/openshift/api/servicecertsigner/install.go new file mode 100644 index 000000000..98d891d34 --- /dev/null +++ b/vendor/github.com/openshift/api/servicecertsigner/install.go @@ -0,0 +1,26 @@ +package servicecertsigner + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + servicecertsignerv1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" +) + +const ( + GroupName = "servicecertsigner.config.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(servicecertsignerv1alpha1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/doc.go b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/doc.go new file mode 100644 index 000000000..6ce02bdb3 --- /dev/null +++ b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/doc.go @@ -0,0 +1,6 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=servicecertsigner.config.openshift.io +package v1alpha1 diff --git a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/register.go b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/register.go new file mode 100644 index 000000000..8350b49c0 --- /dev/null +++ b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/register.go @@ -0,0 +1,43 @@ +package v1alpha1 + +import ( + configv1 "github.com/openshift/api/config/v1" + operatorsv1alpha1api "github.com/openshift/api/operator/v1alpha1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "servicecertsigner.config.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, configv1.Install, operatorsv1alpha1api.Install) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &ServiceServingCertSignerConfig{}, + &APIServiceCABundleInjectorConfig{}, + &ConfigMapCABundleInjectorConfig{}, + &ServiceCertSignerOperatorConfig{}, + &ServiceCertSignerOperatorConfigList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + + return nil +} diff --git a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go new file mode 100644 index 000000000..5ae455910 --- /dev/null +++ b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go @@ -0,0 +1,107 @@ +package v1alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + + configv1 "github.com/openshift/api/config/v1" + operatorv1 "github.com/openshift/api/operator/v1" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ServiceServingCertSignerConfig provides information to configure a serving serving cert signing controller +type ServiceServingCertSignerConfig struct { + metav1.TypeMeta `json:",inline"` + + // This configuration is not meant to be edited by humans as + // it is normally managed by the service cert signer operator. + // ServiceCertSignerOperatorConfig's spec.serviceServingCertSignerConfig + // can be used to override the defaults for this configuration. + configv1.GenericControllerConfig `json:",inline"` + + // signer holds the signing information used to automatically sign serving certificates. + Signer configv1.CertInfo `json:"signer"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// APIServiceCABundleInjectorConfig provides information to configure an APIService CA Bundle Injector controller +type APIServiceCABundleInjectorConfig struct { + metav1.TypeMeta `json:",inline"` + + // This configuration is not meant to be edited by humans as + // it is normally managed by the service cert signer operator. + // ServiceCertSignerOperatorConfig's spec.apiServiceCABundleInjectorConfig + // can be used to override the defaults for this configuration. + configv1.GenericControllerConfig `json:",inline"` + + // caBundleFile holds the ca bundle to apply to APIServices. + CABundleFile string `json:"caBundleFile"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ConfigMapCABundleInjectorConfig provides information to configure a ConfigMap CA Bundle Injector controller +type ConfigMapCABundleInjectorConfig struct { + metav1.TypeMeta `json:",inline"` + + // This configuration is not meant to be edited by humans as + // it is normally managed by the service cert signer operator. + // ServiceCertSignerOperatorConfig's spec.configMapCABundleInjectorConfig + // can be used to override the defaults for this configuration. + configv1.GenericControllerConfig `json:",inline"` + + // caBundleFile holds the ca bundle to apply to ConfigMaps. + CABundleFile string `json:"caBundleFile"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ServiceCertSignerOperatorConfig provides information to configure an operator to manage the service cert signing controllers +type ServiceCertSignerOperatorConfig struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata"` + + Spec ServiceCertSignerOperatorConfigSpec `json:"spec"` + Status ServiceCertSignerOperatorConfigStatus `json:"status"` +} + +type ServiceCertSignerOperatorConfigSpec struct { + operatorv1.OperatorSpec `json:",inline"` + + // serviceServingCertSignerConfig holds a sparse config that the user wants for this component. It only needs to be the overrides from the defaults + // it will end up overlaying in the following order: + // 1. hardcoded default + // 2. this config + ServiceServingCertSignerConfig runtime.RawExtension `json:"serviceServingCertSignerConfig"` + + // apiServiceCABundleInjectorConfig holds a sparse config that the user wants for this component. It only needs to be the overrides from the defaults + // it will end up overlaying in the following order: + // 1. hardcoded default + // 2. this config + APIServiceCABundleInjectorConfig runtime.RawExtension `json:"apiServiceCABundleInjectorConfig"` + + // configMapCABundleInjectorConfig holds a sparse config that the user wants for this component. It only needs to be the overrides from the defaults + // it will end up overlaying in the following order: + // 1. hardcoded default + // 2. this config + ConfigMapCABundleInjectorConfig runtime.RawExtension `json:"configMapCABundleInjectorConfig"` +} + +type ServiceCertSignerOperatorConfigStatus struct { + operatorv1.OperatorStatus `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ServiceCertSignerOperatorConfigList is a collection of items +type ServiceCertSignerOperatorConfigList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty"` + // Items contains the items + Items []ServiceCertSignerOperatorConfig `json:"items"` +} diff --git a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 000000000..0eb01bb5f --- /dev/null +++ b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,186 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *APIServiceCABundleInjectorConfig) DeepCopyInto(out *APIServiceCABundleInjectorConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.GenericControllerConfig.DeepCopyInto(&out.GenericControllerConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceCABundleInjectorConfig. +func (in *APIServiceCABundleInjectorConfig) DeepCopy() *APIServiceCABundleInjectorConfig { + if in == nil { + return nil + } + out := new(APIServiceCABundleInjectorConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *APIServiceCABundleInjectorConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigMapCABundleInjectorConfig) DeepCopyInto(out *ConfigMapCABundleInjectorConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.GenericControllerConfig.DeepCopyInto(&out.GenericControllerConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapCABundleInjectorConfig. +func (in *ConfigMapCABundleInjectorConfig) DeepCopy() *ConfigMapCABundleInjectorConfig { + if in == nil { + return nil + } + out := new(ConfigMapCABundleInjectorConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ConfigMapCABundleInjectorConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceCertSignerOperatorConfig) DeepCopyInto(out *ServiceCertSignerOperatorConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceCertSignerOperatorConfig. +func (in *ServiceCertSignerOperatorConfig) DeepCopy() *ServiceCertSignerOperatorConfig { + if in == nil { + return nil + } + out := new(ServiceCertSignerOperatorConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceCertSignerOperatorConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceCertSignerOperatorConfigList) DeepCopyInto(out *ServiceCertSignerOperatorConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ServiceCertSignerOperatorConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceCertSignerOperatorConfigList. +func (in *ServiceCertSignerOperatorConfigList) DeepCopy() *ServiceCertSignerOperatorConfigList { + if in == nil { + return nil + } + out := new(ServiceCertSignerOperatorConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceCertSignerOperatorConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceCertSignerOperatorConfigSpec) DeepCopyInto(out *ServiceCertSignerOperatorConfigSpec) { + *out = *in + in.OperatorSpec.DeepCopyInto(&out.OperatorSpec) + in.ServiceServingCertSignerConfig.DeepCopyInto(&out.ServiceServingCertSignerConfig) + in.APIServiceCABundleInjectorConfig.DeepCopyInto(&out.APIServiceCABundleInjectorConfig) + in.ConfigMapCABundleInjectorConfig.DeepCopyInto(&out.ConfigMapCABundleInjectorConfig) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceCertSignerOperatorConfigSpec. +func (in *ServiceCertSignerOperatorConfigSpec) DeepCopy() *ServiceCertSignerOperatorConfigSpec { + if in == nil { + return nil + } + out := new(ServiceCertSignerOperatorConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceCertSignerOperatorConfigStatus) DeepCopyInto(out *ServiceCertSignerOperatorConfigStatus) { + *out = *in + in.OperatorStatus.DeepCopyInto(&out.OperatorStatus) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceCertSignerOperatorConfigStatus. +func (in *ServiceCertSignerOperatorConfigStatus) DeepCopy() *ServiceCertSignerOperatorConfigStatus { + if in == nil { + return nil + } + out := new(ServiceCertSignerOperatorConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceServingCertSignerConfig) DeepCopyInto(out *ServiceServingCertSignerConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.GenericControllerConfig.DeepCopyInto(&out.GenericControllerConfig) + out.Signer = in.Signer + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceServingCertSignerConfig. +func (in *ServiceServingCertSignerConfig) DeepCopy() *ServiceServingCertSignerConfig { + if in == nil { + return nil + } + out := new(ServiceServingCertSignerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ServiceServingCertSignerConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..3401480cd --- /dev/null +++ b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,69 @@ +package v1alpha1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_APIServiceCABundleInjectorConfig = map[string]string{ + "": "APIServiceCABundleInjectorConfig provides information to configure an APIService CA Bundle Injector controller", + "caBundleFile": "caBundleFile holds the ca bundle to apply to APIServices.", +} + +func (APIServiceCABundleInjectorConfig) SwaggerDoc() map[string]string { + return map_APIServiceCABundleInjectorConfig +} + +var map_ConfigMapCABundleInjectorConfig = map[string]string{ + "": "ConfigMapCABundleInjectorConfig provides information to configure a ConfigMap CA Bundle Injector controller", + "caBundleFile": "caBundleFile holds the ca bundle to apply to ConfigMaps.", +} + +func (ConfigMapCABundleInjectorConfig) SwaggerDoc() map[string]string { + return map_ConfigMapCABundleInjectorConfig +} + +var map_ServiceCertSignerOperatorConfig = map[string]string{ + "": "ServiceCertSignerOperatorConfig provides information to configure an operator to manage the service cert signing controllers", +} + +func (ServiceCertSignerOperatorConfig) SwaggerDoc() map[string]string { + return map_ServiceCertSignerOperatorConfig +} + +var map_ServiceCertSignerOperatorConfigList = map[string]string{ + "": "ServiceCertSignerOperatorConfigList is a collection of items", + "metadata": "Standard object's metadata.", + "items": "Items contains the items", +} + +func (ServiceCertSignerOperatorConfigList) SwaggerDoc() map[string]string { + return map_ServiceCertSignerOperatorConfigList +} + +var map_ServiceCertSignerOperatorConfigSpec = map[string]string{ + "serviceServingCertSignerConfig": "serviceServingCertSignerConfig holds a sparse config that the user wants for this component. It only needs to be the overrides from the defaults it will end up overlaying in the following order: 1. hardcoded default 2. this config", + "apiServiceCABundleInjectorConfig": "apiServiceCABundleInjectorConfig holds a sparse config that the user wants for this component. It only needs to be the overrides from the defaults it will end up overlaying in the following order: 1. hardcoded default 2. this config", + "configMapCABundleInjectorConfig": "configMapCABundleInjectorConfig holds a sparse config that the user wants for this component. It only needs to be the overrides from the defaults it will end up overlaying in the following order: 1. hardcoded default 2. this config", +} + +func (ServiceCertSignerOperatorConfigSpec) SwaggerDoc() map[string]string { + return map_ServiceCertSignerOperatorConfigSpec +} + +var map_ServiceServingCertSignerConfig = map[string]string{ + "": "ServiceServingCertSignerConfig provides information to configure a serving serving cert signing controller", + "signer": "signer holds the signing information used to automatically sign serving certificates.", +} + +func (ServiceServingCertSignerConfig) SwaggerDoc() map[string]string { + return map_ServiceServingCertSignerConfig +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/template/OWNERS b/vendor/github.com/openshift/api/template/OWNERS new file mode 100644 index 000000000..c1ece8b21 --- /dev/null +++ b/vendor/github.com/openshift/api/template/OWNERS @@ -0,0 +1,4 @@ +reviewers: + - bparees + - gabemontero + - jim-minter diff --git a/vendor/github.com/openshift/api/template/install.go b/vendor/github.com/openshift/api/template/install.go new file mode 100644 index 000000000..8a69398dd --- /dev/null +++ b/vendor/github.com/openshift/api/template/install.go @@ -0,0 +1,26 @@ +package template + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + templatev1 "github.com/openshift/api/template/v1" +) + +const ( + GroupName = "template.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(templatev1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/template/v1/codec.go b/vendor/github.com/openshift/api/template/v1/codec.go new file mode 100644 index 000000000..9e9177ed6 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/codec.go @@ -0,0 +1,33 @@ +package v1 + +import ( + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + + "github.com/openshift/api/pkg/serialization" +) + +var _ runtime.NestedObjectDecoder = &Template{} +var _ runtime.NestedObjectEncoder = &Template{} + +// DecodeNestedObjects decodes the object as a runtime.Unknown with JSON content. +func (c *Template) DecodeNestedObjects(d runtime.Decoder) error { + for i := range c.Objects { + if c.Objects[i].Object != nil { + continue + } + c.Objects[i].Object = &runtime.Unknown{ + ContentType: "application/json", + Raw: c.Objects[i].Raw, + } + } + return nil +} +func (c *Template) EncodeNestedObjects(e runtime.Encoder) error { + for i := range c.Objects { + if err := serialization.EncodeNestedRawExtension(unstructured.UnstructuredJSONScheme, &c.Objects[i]); err != nil { + return err + } + } + return nil +} diff --git a/vendor/github.com/openshift/api/template/v1/consts.go b/vendor/github.com/openshift/api/template/v1/consts.go new file mode 100644 index 000000000..cc8b49d55 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/consts.go @@ -0,0 +1,16 @@ +package v1 + +const ( + // TemplateInstanceFinalizer is used to clean up the objects created by the template instance, + // when the template instance is deleted. + TemplateInstanceFinalizer = "template.openshift.io/finalizer" + + // TemplateInstanceOwner is a label applied to all objects created from a template instance + // which contains the uid of the template instance. + TemplateInstanceOwner = "template.openshift.io/template-instance-owner" + + // WaitForReadyAnnotation indicates that the TemplateInstance controller + // should wait for the object to be ready before reporting the template + // instantiation complete. + WaitForReadyAnnotation = "template.alpha.openshift.io/wait-for-ready" +) diff --git a/vendor/github.com/openshift/api/template/v1/doc.go b/vendor/github.com/openshift/api/template/v1/doc.go new file mode 100644 index 000000000..34f9f8d45 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/template/apis/template +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=template.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/template/v1/generated.pb.go b/vendor/github.com/openshift/api/template/v1/generated.pb.go new file mode 100644 index 000000000..760cae929 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/generated.pb.go @@ -0,0 +1,3525 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/template/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/template/v1/generated.proto + + It has these top-level messages: + BrokerTemplateInstance + BrokerTemplateInstanceList + BrokerTemplateInstanceSpec + ExtraValue + Parameter + Template + TemplateInstance + TemplateInstanceCondition + TemplateInstanceList + TemplateInstanceObject + TemplateInstanceRequester + TemplateInstanceSpec + TemplateInstanceStatus + TemplateList +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import k8s_io_api_core_v1 "k8s.io/api/core/v1" + +import k8s_io_apimachinery_pkg_runtime "k8s.io/apimachinery/pkg/runtime" + +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *BrokerTemplateInstance) Reset() { *m = BrokerTemplateInstance{} } +func (*BrokerTemplateInstance) ProtoMessage() {} +func (*BrokerTemplateInstance) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *BrokerTemplateInstanceList) Reset() { *m = BrokerTemplateInstanceList{} } +func (*BrokerTemplateInstanceList) ProtoMessage() {} +func (*BrokerTemplateInstanceList) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{1} +} + +func (m *BrokerTemplateInstanceSpec) Reset() { *m = BrokerTemplateInstanceSpec{} } +func (*BrokerTemplateInstanceSpec) ProtoMessage() {} +func (*BrokerTemplateInstanceSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{2} +} + +func (m *ExtraValue) Reset() { *m = ExtraValue{} } +func (*ExtraValue) ProtoMessage() {} +func (*ExtraValue) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *Parameter) Reset() { *m = Parameter{} } +func (*Parameter) ProtoMessage() {} +func (*Parameter) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *Template) Reset() { *m = Template{} } +func (*Template) ProtoMessage() {} +func (*Template) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *TemplateInstance) Reset() { *m = TemplateInstance{} } +func (*TemplateInstance) ProtoMessage() {} +func (*TemplateInstance) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } + +func (m *TemplateInstanceCondition) Reset() { *m = TemplateInstanceCondition{} } +func (*TemplateInstanceCondition) ProtoMessage() {} +func (*TemplateInstanceCondition) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{7} +} + +func (m *TemplateInstanceList) Reset() { *m = TemplateInstanceList{} } +func (*TemplateInstanceList) ProtoMessage() {} +func (*TemplateInstanceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } + +func (m *TemplateInstanceObject) Reset() { *m = TemplateInstanceObject{} } +func (*TemplateInstanceObject) ProtoMessage() {} +func (*TemplateInstanceObject) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } + +func (m *TemplateInstanceRequester) Reset() { *m = TemplateInstanceRequester{} } +func (*TemplateInstanceRequester) ProtoMessage() {} +func (*TemplateInstanceRequester) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{10} +} + +func (m *TemplateInstanceSpec) Reset() { *m = TemplateInstanceSpec{} } +func (*TemplateInstanceSpec) ProtoMessage() {} +func (*TemplateInstanceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } + +func (m *TemplateInstanceStatus) Reset() { *m = TemplateInstanceStatus{} } +func (*TemplateInstanceStatus) ProtoMessage() {} +func (*TemplateInstanceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *TemplateList) Reset() { *m = TemplateList{} } +func (*TemplateList) ProtoMessage() {} +func (*TemplateList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } + +func init() { + proto.RegisterType((*BrokerTemplateInstance)(nil), "github.com.openshift.api.template.v1.BrokerTemplateInstance") + proto.RegisterType((*BrokerTemplateInstanceList)(nil), "github.com.openshift.api.template.v1.BrokerTemplateInstanceList") + proto.RegisterType((*BrokerTemplateInstanceSpec)(nil), "github.com.openshift.api.template.v1.BrokerTemplateInstanceSpec") + proto.RegisterType((*ExtraValue)(nil), "github.com.openshift.api.template.v1.ExtraValue") + proto.RegisterType((*Parameter)(nil), "github.com.openshift.api.template.v1.Parameter") + proto.RegisterType((*Template)(nil), "github.com.openshift.api.template.v1.Template") + proto.RegisterType((*TemplateInstance)(nil), "github.com.openshift.api.template.v1.TemplateInstance") + proto.RegisterType((*TemplateInstanceCondition)(nil), "github.com.openshift.api.template.v1.TemplateInstanceCondition") + proto.RegisterType((*TemplateInstanceList)(nil), "github.com.openshift.api.template.v1.TemplateInstanceList") + proto.RegisterType((*TemplateInstanceObject)(nil), "github.com.openshift.api.template.v1.TemplateInstanceObject") + proto.RegisterType((*TemplateInstanceRequester)(nil), "github.com.openshift.api.template.v1.TemplateInstanceRequester") + proto.RegisterType((*TemplateInstanceSpec)(nil), "github.com.openshift.api.template.v1.TemplateInstanceSpec") + proto.RegisterType((*TemplateInstanceStatus)(nil), "github.com.openshift.api.template.v1.TemplateInstanceStatus") + proto.RegisterType((*TemplateList)(nil), "github.com.openshift.api.template.v1.TemplateList") +} +func (m *BrokerTemplateInstance) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BrokerTemplateInstance) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n2, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + return i, nil +} + +func (m *BrokerTemplateInstanceList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BrokerTemplateInstanceList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n3, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *BrokerTemplateInstanceSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BrokerTemplateInstanceSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TemplateInstance.Size())) + n4, err := m.TemplateInstance.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n5, err := m.Secret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + if len(m.BindingIDs) > 0 { + for _, s := range m.BindingIDs { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m ExtraValue) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m ExtraValue) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *Parameter) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Parameter) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.DisplayName))) + i += copy(dAtA[i:], m.DisplayName) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Description))) + i += copy(dAtA[i:], m.Description) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Value))) + i += copy(dAtA[i:], m.Value) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Generate))) + i += copy(dAtA[i:], m.Generate) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.From))) + i += copy(dAtA[i:], m.From) + dAtA[i] = 0x38 + i++ + if m.Required { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *Template) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Template) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n6, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + if len(m.Objects) > 0 { + for _, msg := range m.Objects { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Parameters) > 0 { + for _, msg := range m.Parameters { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.ObjectLabels) > 0 { + keysForObjectLabels := make([]string, 0, len(m.ObjectLabels)) + for k := range m.ObjectLabels { + keysForObjectLabels = append(keysForObjectLabels, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForObjectLabels) + for _, k := range keysForObjectLabels { + dAtA[i] = 0x2a + i++ + v := m.ObjectLabels[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func (m *TemplateInstance) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateInstance) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n7, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n8, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n9, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + return i, nil +} + +func (m *TemplateInstanceCondition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateInstanceCondition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status))) + i += copy(dAtA[i:], m.Status) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n10, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + return i, nil +} + +func (m *TemplateInstanceList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateInstanceList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n11, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *TemplateInstanceObject) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateInstanceObject) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Ref.Size())) + n12, err := m.Ref.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + return i, nil +} + +func (m *TemplateInstanceRequester) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateInstanceRequester) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Username))) + i += copy(dAtA[i:], m.Username) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.UID))) + i += copy(dAtA[i:], m.UID) + if len(m.Groups) > 0 { + for _, s := range m.Groups { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Extra) > 0 { + keysForExtra := make([]string, 0, len(m.Extra)) + for k := range m.Extra { + keysForExtra = append(keysForExtra, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForExtra) + for _, k := range keysForExtra { + dAtA[i] = 0x22 + i++ + v := m.Extra[string(k)] + msgSize := 0 + if (&v) != nil { + msgSize = (&v).Size() + msgSize += 1 + sovGenerated(uint64(msgSize)) + } + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + msgSize + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) + n13, err := (&v).MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + } + } + return i, nil +} + +func (m *TemplateInstanceSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateInstanceSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) + n14, err := m.Template.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + if m.Secret != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n15, err := m.Secret.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n15 + } + if m.Requester != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Requester.Size())) + n16, err := m.Requester.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n16 + } + return i, nil +} + +func (m *TemplateInstanceStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateInstanceStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Conditions) > 0 { + for _, msg := range m.Conditions { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.Objects) > 0 { + for _, msg := range m.Objects { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *TemplateList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TemplateList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n17, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *BrokerTemplateInstance) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *BrokerTemplateInstanceList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *BrokerTemplateInstanceSpec) Size() (n int) { + var l int + _ = l + l = m.TemplateInstance.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Secret.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.BindingIDs) > 0 { + for _, s := range m.BindingIDs { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m ExtraValue) Size() (n int) { + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *Parameter) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.DisplayName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Description) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Value) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Generate) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.From) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + return n +} + +func (m *Template) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Objects) > 0 { + for _, e := range m.Objects { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Parameters) > 0 { + for _, e := range m.Parameters { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.ObjectLabels) > 0 { + for k, v := range m.ObjectLabels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + return n +} + +func (m *TemplateInstance) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *TemplateInstanceCondition) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Status) + n += 1 + l + sovGenerated(uint64(l)) + l = m.LastTransitionTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *TemplateInstanceList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *TemplateInstanceObject) Size() (n int) { + var l int + _ = l + l = m.Ref.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *TemplateInstanceRequester) Size() (n int) { + var l int + _ = l + l = len(m.Username) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.UID) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Groups) > 0 { + for _, s := range m.Groups { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Extra) > 0 { + for k, v := range m.Extra { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + return n +} + +func (m *TemplateInstanceSpec) Size() (n int) { + var l int + _ = l + l = m.Template.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Secret != nil { + l = m.Secret.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Requester != nil { + l = m.Requester.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *TemplateInstanceStatus) Size() (n int) { + var l int + _ = l + if len(m.Conditions) > 0 { + for _, e := range m.Conditions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Objects) > 0 { + for _, e := range m.Objects { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *TemplateList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *BrokerTemplateInstance) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BrokerTemplateInstance{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "BrokerTemplateInstanceSpec", "BrokerTemplateInstanceSpec", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BrokerTemplateInstanceList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BrokerTemplateInstanceList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "BrokerTemplateInstance", "BrokerTemplateInstance", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *BrokerTemplateInstanceSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BrokerTemplateInstanceSpec{`, + `TemplateInstance:` + strings.Replace(strings.Replace(this.TemplateInstance.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `Secret:` + strings.Replace(strings.Replace(this.Secret.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `BindingIDs:` + fmt.Sprintf("%v", this.BindingIDs) + `,`, + `}`, + }, "") + return s +} +func (this *Parameter) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Parameter{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `DisplayName:` + fmt.Sprintf("%v", this.DisplayName) + `,`, + `Description:` + fmt.Sprintf("%v", this.Description) + `,`, + `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `Generate:` + fmt.Sprintf("%v", this.Generate) + `,`, + `From:` + fmt.Sprintf("%v", this.From) + `,`, + `Required:` + fmt.Sprintf("%v", this.Required) + `,`, + `}`, + }, "") + return s +} +func (this *Template) String() string { + if this == nil { + return "nil" + } + keysForObjectLabels := make([]string, 0, len(this.ObjectLabels)) + for k := range this.ObjectLabels { + keysForObjectLabels = append(keysForObjectLabels, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForObjectLabels) + mapStringForObjectLabels := "map[string]string{" + for _, k := range keysForObjectLabels { + mapStringForObjectLabels += fmt.Sprintf("%v: %v,", k, this.ObjectLabels[k]) + } + mapStringForObjectLabels += "}" + s := strings.Join([]string{`&Template{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `Objects:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Objects), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`, + `Parameters:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Parameters), "Parameter", "Parameter", 1), `&`, ``, 1) + `,`, + `ObjectLabels:` + mapStringForObjectLabels + `,`, + `}`, + }, "") + return s +} +func (this *TemplateInstance) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TemplateInstance{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "TemplateInstanceSpec", "TemplateInstanceSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "TemplateInstanceStatus", "TemplateInstanceStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *TemplateInstanceCondition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TemplateInstanceCondition{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Status:` + fmt.Sprintf("%v", this.Status) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `}`, + }, "") + return s +} +func (this *TemplateInstanceList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TemplateInstanceList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "TemplateInstance", "TemplateInstance", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *TemplateInstanceObject) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TemplateInstanceObject{`, + `Ref:` + strings.Replace(strings.Replace(this.Ref.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *TemplateInstanceRequester) String() string { + if this == nil { + return "nil" + } + keysForExtra := make([]string, 0, len(this.Extra)) + for k := range this.Extra { + keysForExtra = append(keysForExtra, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForExtra) + mapStringForExtra := "map[string]ExtraValue{" + for _, k := range keysForExtra { + mapStringForExtra += fmt.Sprintf("%v: %v,", k, this.Extra[k]) + } + mapStringForExtra += "}" + s := strings.Join([]string{`&TemplateInstanceRequester{`, + `Username:` + fmt.Sprintf("%v", this.Username) + `,`, + `UID:` + fmt.Sprintf("%v", this.UID) + `,`, + `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`, + `Extra:` + mapStringForExtra + `,`, + `}`, + }, "") + return s +} +func (this *TemplateInstanceSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TemplateInstanceSpec{`, + `Template:` + strings.Replace(strings.Replace(this.Template.String(), "Template", "Template", 1), `&`, ``, 1) + `,`, + `Secret:` + strings.Replace(fmt.Sprintf("%v", this.Secret), "LocalObjectReference", "k8s_io_api_core_v1.LocalObjectReference", 1) + `,`, + `Requester:` + strings.Replace(fmt.Sprintf("%v", this.Requester), "TemplateInstanceRequester", "TemplateInstanceRequester", 1) + `,`, + `}`, + }, "") + return s +} +func (this *TemplateInstanceStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TemplateInstanceStatus{`, + `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "TemplateInstanceCondition", "TemplateInstanceCondition", 1), `&`, ``, 1) + `,`, + `Objects:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Objects), "TemplateInstanceObject", "TemplateInstanceObject", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *TemplateList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&TemplateList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Template", "Template", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *BrokerTemplateInstance) 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 ErrIntOverflowGenerated + } + 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: BrokerTemplateInstance: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BrokerTemplateInstance: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BrokerTemplateInstanceList) 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 ErrIntOverflowGenerated + } + 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: BrokerTemplateInstanceList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BrokerTemplateInstanceList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, BrokerTemplateInstance{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BrokerTemplateInstanceSpec) 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 ErrIntOverflowGenerated + } + 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: BrokerTemplateInstanceSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BrokerTemplateInstanceSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TemplateInstance", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TemplateInstance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Secret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BindingIDs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BindingIDs = append(m.BindingIDs, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExtraValue) 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 ErrIntOverflowGenerated + } + 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: ExtraValue: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExtraValue: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + *m = append(*m, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Parameter) 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 ErrIntOverflowGenerated + } + 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: Parameter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Parameter: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DisplayName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Generate", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Generate = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.From = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Required", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Required = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Template) 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 ErrIntOverflowGenerated + } + 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: Template: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Template: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Objects", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Objects = append(m.Objects, k8s_io_apimachinery_pkg_runtime.RawExtension{}) + if err := m.Objects[len(m.Objects)-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 Parameters", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Parameters = append(m.Parameters, Parameter{}) + if err := m.Parameters[len(m.Parameters)-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 ObjectLabels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.ObjectLabels == nil { + m.ObjectLabels = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.ObjectLabels[mapkey] = mapvalue + } else { + var mapvalue string + m.ObjectLabels[mapkey] = mapvalue + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateInstance) 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 ErrIntOverflowGenerated + } + 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: TemplateInstance: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateInstance: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateInstanceCondition) 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 ErrIntOverflowGenerated + } + 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: TemplateInstanceCondition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateInstanceCondition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = TemplateInstanceConditionType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateInstanceList) 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 ErrIntOverflowGenerated + } + 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: TemplateInstanceList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateInstanceList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, TemplateInstance{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateInstanceObject) 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 ErrIntOverflowGenerated + } + 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: TemplateInstanceObject: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateInstanceObject: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ref", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Ref.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateInstanceRequester) 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 ErrIntOverflowGenerated + } + 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: TemplateInstanceRequester: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateInstanceRequester: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Username", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Username = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Extra", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Extra == nil { + m.Extra = make(map[string]ExtraValue) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &ExtraValue{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + m.Extra[mapkey] = *mapvalue + } else { + var mapvalue ExtraValue + m.Extra[mapkey] = mapvalue + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateInstanceSpec) 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 ErrIntOverflowGenerated + } + 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: TemplateInstanceSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateInstanceSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Template", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Template.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Secret == nil { + m.Secret = &k8s_io_api_core_v1.LocalObjectReference{} + } + if err := m.Secret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Requester == nil { + m.Requester = &TemplateInstanceRequester{} + } + if err := m.Requester.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateInstanceStatus) 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 ErrIntOverflowGenerated + } + 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: TemplateInstanceStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateInstanceStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Conditions = append(m.Conditions, TemplateInstanceCondition{}) + if err := m.Conditions[len(m.Conditions)-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 Objects", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Objects = append(m.Objects, TemplateInstanceObject{}) + if err := m.Objects[len(m.Objects)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TemplateList) 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 ErrIntOverflowGenerated + } + 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: TemplateList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TemplateList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Template{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/template/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 1254 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x4b, 0x8f, 0x1b, 0x45, + 0x10, 0xf6, 0xf8, 0xb5, 0x76, 0x3b, 0x09, 0xab, 0x26, 0x8a, 0x06, 0x4b, 0xb1, 0xad, 0x09, 0x42, + 0x06, 0x25, 0x63, 0x36, 0x84, 0x10, 0x22, 0x24, 0x60, 0xd8, 0x4d, 0xb4, 0xb0, 0x01, 0xd4, 0xbb, + 0x41, 0x08, 0xf6, 0x40, 0x7b, 0xdc, 0xf6, 0x4e, 0xd6, 0xf3, 0xa0, 0xbb, 0x6d, 0xe2, 0x5b, 0x0e, + 0xfc, 0x00, 0x8e, 0x1c, 0xf9, 0x09, 0x1c, 0x39, 0x21, 0x71, 0xdb, 0x63, 0xb8, 0xe5, 0x00, 0x16, + 0x6b, 0x4e, 0xfc, 0x01, 0x90, 0xc2, 0x05, 0x75, 0x4f, 0xcf, 0xc3, 0x2f, 0xe2, 0xdd, 0x48, 0xc9, + 0x6d, 0xa6, 0xba, 0xbe, 0xaf, 0xba, 0xaa, 0xab, 0xbf, 0x2e, 0x70, 0xad, 0xe7, 0xf0, 0x83, 0x41, + 0xdb, 0xb4, 0x7d, 0xb7, 0xe5, 0x07, 0xc4, 0x63, 0x07, 0x4e, 0x97, 0xb7, 0x70, 0xe0, 0xb4, 0x38, + 0x71, 0x83, 0x3e, 0xe6, 0xa4, 0x35, 0xdc, 0x68, 0xf5, 0x88, 0x47, 0x28, 0xe6, 0xa4, 0x63, 0x06, + 0xd4, 0xe7, 0x3e, 0x7c, 0x39, 0x41, 0x99, 0x31, 0xca, 0xc4, 0x81, 0x63, 0x46, 0x28, 0x73, 0xb8, + 0x51, 0xbd, 0x92, 0xe2, 0xee, 0xf9, 0x3d, 0xbf, 0x25, 0xc1, 0xed, 0x41, 0x57, 0xfe, 0xc9, 0x1f, + 0xf9, 0x15, 0x92, 0x56, 0x8d, 0xc3, 0x1b, 0xcc, 0x74, 0x7c, 0x19, 0xdc, 0xf6, 0xe9, 0xa2, 0xc0, + 0xd5, 0x6b, 0x89, 0x8f, 0x8b, 0xed, 0x03, 0xc7, 0x23, 0x74, 0xd4, 0x0a, 0x0e, 0x7b, 0xc2, 0xc0, + 0x5a, 0x2e, 0xe1, 0x78, 0x11, 0xaa, 0xb5, 0x0c, 0x45, 0x07, 0x1e, 0x77, 0x5c, 0x32, 0x07, 0xb8, + 0xfe, 0x24, 0x00, 0xb3, 0x0f, 0x88, 0x8b, 0xe7, 0x70, 0x6f, 0x2c, 0xc3, 0x0d, 0xb8, 0xd3, 0x6f, + 0x39, 0x1e, 0x67, 0x9c, 0xce, 0x82, 0x8c, 0xb1, 0x06, 0x2e, 0x58, 0xd4, 0x3f, 0x24, 0x74, 0x4f, + 0x15, 0x6f, 0xdb, 0x63, 0x1c, 0x7b, 0x36, 0x81, 0x5f, 0x81, 0x92, 0xc8, 0xa9, 0x83, 0x39, 0xd6, + 0xb5, 0x86, 0xd6, 0xac, 0x5c, 0x7d, 0xdd, 0x0c, 0x43, 0x98, 0xe9, 0x10, 0x66, 0x70, 0xd8, 0x13, + 0x06, 0x66, 0x0a, 0x6f, 0x73, 0xb8, 0x61, 0x7e, 0xd2, 0xbe, 0x47, 0x6c, 0x7e, 0x87, 0x70, 0x6c, + 0xc1, 0xa3, 0x71, 0x3d, 0x33, 0x19, 0xd7, 0x41, 0x62, 0x43, 0x31, 0x2b, 0x6c, 0x83, 0x3c, 0x0b, + 0x88, 0xad, 0x67, 0x25, 0xfb, 0x7b, 0xe6, 0x2a, 0x07, 0x6b, 0x2e, 0xde, 0xed, 0x6e, 0x40, 0x6c, + 0xeb, 0x8c, 0x8a, 0x96, 0x17, 0x7f, 0x48, 0x72, 0x1b, 0xbf, 0x6b, 0xa0, 0xba, 0x18, 0xb2, 0xe3, + 0x30, 0x0e, 0xf7, 0xe7, 0x92, 0x34, 0x57, 0x4b, 0x52, 0xa0, 0x65, 0x8a, 0xeb, 0x2a, 0x68, 0x29, + 0xb2, 0xa4, 0x12, 0xc4, 0xa0, 0xe0, 0x70, 0xe2, 0x32, 0x3d, 0xdb, 0xc8, 0x35, 0x2b, 0x57, 0xdf, + 0x79, 0x9a, 0x0c, 0xad, 0xb3, 0x2a, 0x50, 0x61, 0x5b, 0x50, 0xa2, 0x90, 0xd9, 0xf8, 0x36, 0xbb, + 0x2c, 0x3f, 0x51, 0x04, 0xe8, 0x80, 0x75, 0x3e, 0x63, 0x57, 0x79, 0x5e, 0x4a, 0xe5, 0x69, 0x8a, + 0x96, 0x4f, 0x8e, 0x0e, 0x91, 0x2e, 0xa1, 0x44, 0xc4, 0xd4, 0x55, 0xcc, 0xf5, 0x59, 0x72, 0x34, + 0x47, 0x0b, 0x3f, 0x02, 0x45, 0x46, 0x6c, 0x4a, 0xb8, 0x3a, 0xcf, 0x95, 0x02, 0x9c, 0x53, 0x01, + 0x8a, 0xbb, 0x12, 0x8a, 0x14, 0x05, 0x34, 0x01, 0x68, 0x3b, 0x5e, 0xc7, 0xf1, 0x7a, 0xdb, 0x9b, + 0x4c, 0xcf, 0x35, 0x72, 0xcd, 0xb2, 0x75, 0x4e, 0x34, 0x92, 0x15, 0x5b, 0x51, 0xca, 0xc3, 0x78, + 0x0b, 0x80, 0xad, 0xfb, 0x9c, 0xe2, 0xcf, 0x70, 0x7f, 0x40, 0x60, 0x3d, 0xaa, 0xbb, 0x26, 0x81, + 0xe5, 0xd9, 0xaa, 0xdd, 0x2c, 0x7d, 0xff, 0x43, 0x3d, 0xf3, 0xe0, 0xb7, 0x46, 0xc6, 0xf8, 0x39, + 0x0b, 0xca, 0x9f, 0x62, 0x8a, 0x5d, 0xc2, 0x09, 0x85, 0x0d, 0x90, 0xf7, 0xb0, 0x1b, 0x96, 0xa8, + 0x9c, 0xf4, 0xd3, 0xc7, 0xd8, 0x25, 0x48, 0xae, 0xc0, 0x37, 0x41, 0xa5, 0xe3, 0xb0, 0xa0, 0x8f, + 0x47, 0xc2, 0x28, 0x53, 0x2d, 0x5b, 0x2f, 0x2a, 0xc7, 0xca, 0x66, 0xb2, 0x84, 0xd2, 0x7e, 0x12, + 0x46, 0x98, 0x4d, 0x9d, 0x80, 0x3b, 0xbe, 0xa7, 0xe7, 0x66, 0x60, 0xc9, 0x12, 0x4a, 0xfb, 0xc1, + 0x4b, 0xa0, 0x30, 0x14, 0x19, 0xe9, 0x79, 0x09, 0x88, 0x5b, 0x40, 0xa6, 0x89, 0xc2, 0x35, 0x78, + 0x19, 0x94, 0xa2, 0x6b, 0xad, 0x17, 0xa4, 0x5f, 0xdc, 0x93, 0xb7, 0x95, 0x1d, 0xc5, 0x1e, 0x22, + 0xc5, 0x2e, 0xf5, 0x5d, 0xbd, 0x38, 0x9d, 0xe2, 0x2d, 0xea, 0xbb, 0x48, 0xae, 0x08, 0x3e, 0x4a, + 0xbe, 0x1e, 0x38, 0x94, 0x74, 0xf4, 0xb5, 0x86, 0xd6, 0x2c, 0x25, 0x7c, 0x48, 0xd9, 0x51, 0xec, + 0x61, 0xfc, 0x9b, 0x03, 0xa5, 0xa8, 0x3b, 0x9e, 0x81, 0x66, 0xbc, 0x0a, 0xd6, 0x5c, 0xc2, 0x18, + 0xee, 0x45, 0xb5, 0x7f, 0x41, 0xb9, 0xaf, 0xdd, 0x09, 0xcd, 0x28, 0x5a, 0x87, 0x9f, 0x83, 0x35, + 0x5f, 0x52, 0x84, 0x0d, 0x54, 0xb9, 0x7a, 0x65, 0xe9, 0x5e, 0x94, 0xb4, 0x9a, 0x08, 0x7f, 0xb3, + 0x75, 0x9f, 0x13, 0x8f, 0x39, 0xbe, 0x97, 0x30, 0x87, 0x1b, 0x61, 0x28, 0xa2, 0x83, 0x36, 0x00, + 0x41, 0xd4, 0x33, 0x4c, 0xcf, 0x4b, 0xf2, 0xd6, 0x6a, 0x97, 0x3b, 0xee, 0xb5, 0x24, 0xcf, 0xd8, + 0xc4, 0x50, 0x8a, 0x16, 0x1e, 0x80, 0x62, 0x1f, 0xb7, 0x49, 0x9f, 0xe9, 0x05, 0x19, 0xe0, 0xe6, + 0x6a, 0x01, 0xa2, 0xb3, 0x30, 0x77, 0x24, 0x78, 0xcb, 0xe3, 0x74, 0x64, 0x9d, 0x57, 0xb1, 0xce, + 0x84, 0xa9, 0x84, 0x4b, 0x48, 0xf1, 0x57, 0xdf, 0x06, 0x95, 0x94, 0x33, 0x5c, 0x07, 0xb9, 0x43, + 0x32, 0x0a, 0xef, 0x00, 0x12, 0x9f, 0xf0, 0x7c, 0xd4, 0x86, 0xb2, 0xe4, 0xaa, 0xef, 0x6e, 0x66, + 0x6f, 0x68, 0xc6, 0x4f, 0x59, 0xb0, 0xfe, 0x1c, 0x5e, 0x8e, 0xfd, 0xa9, 0x97, 0xe3, 0x84, 0x95, + 0x79, 0xd2, 0x9b, 0x01, 0x3b, 0xa0, 0xc8, 0x38, 0xe6, 0x03, 0x26, 0xef, 0xe9, 0xca, 0xba, 0x3d, + 0xc7, 0x2f, 0x39, 0x52, 0x12, 0x27, 0xff, 0x91, 0xe2, 0x36, 0xfe, 0xc9, 0x82, 0x97, 0x66, 0x21, + 0x1f, 0xf8, 0x5e, 0xc7, 0x91, 0x37, 0xff, 0x7d, 0x90, 0xe7, 0xa3, 0x20, 0x52, 0xa2, 0x2b, 0xd1, + 0x2e, 0xf7, 0x46, 0x01, 0x79, 0x3c, 0xae, 0x5f, 0x5c, 0x0a, 0x14, 0x0e, 0x48, 0x42, 0xe1, 0x4e, + 0x9c, 0x46, 0x78, 0x53, 0xae, 0x4d, 0x6f, 0xe4, 0xf1, 0xb8, 0xbe, 0x60, 0xea, 0x31, 0x63, 0xa6, + 0xe9, 0xed, 0xc2, 0x21, 0x80, 0x7d, 0xcc, 0xf8, 0x1e, 0xc5, 0x1e, 0x0b, 0x23, 0x39, 0x2e, 0x51, + 0x05, 0x7a, 0x6d, 0xb5, 0xe3, 0x15, 0x08, 0xab, 0xaa, 0x76, 0x01, 0x77, 0xe6, 0xd8, 0xd0, 0x82, + 0x08, 0xf0, 0x15, 0x50, 0xa4, 0x04, 0x33, 0xdf, 0x53, 0x1a, 0x18, 0x97, 0x13, 0x49, 0x2b, 0x52, + 0xab, 0x69, 0x61, 0x28, 0xfc, 0xbf, 0x30, 0x18, 0xbf, 0x6a, 0xe0, 0xfc, 0x73, 0x98, 0x06, 0xbe, + 0x9c, 0x9e, 0x06, 0xae, 0x9f, 0xae, 0xab, 0x96, 0xcc, 0x01, 0xfb, 0xe0, 0xc2, 0xac, 0x67, 0x78, + 0x73, 0xa0, 0x05, 0x72, 0x94, 0x74, 0x4f, 0xf2, 0xea, 0x57, 0x54, 0x84, 0x1c, 0x22, 0x5d, 0x24, + 0xc0, 0xc6, 0x5f, 0x0b, 0x7a, 0x55, 0xbc, 0x05, 0x84, 0x89, 0x57, 0xf3, 0x32, 0x28, 0x0d, 0x18, + 0xa1, 0xa9, 0x97, 0x33, 0x2e, 0xc3, 0x5d, 0x65, 0x47, 0xb1, 0x07, 0xbc, 0x08, 0x72, 0x03, 0xa7, + 0xa3, 0x7a, 0x32, 0x0e, 0x75, 0x77, 0x7b, 0x13, 0x09, 0x3b, 0x34, 0x40, 0xb1, 0x47, 0xfd, 0x41, + 0x10, 0xbd, 0xfa, 0x40, 0x9c, 0xf5, 0x6d, 0x69, 0x41, 0x6a, 0x05, 0xfa, 0xa0, 0x40, 0xc4, 0x6b, + 0xaf, 0xa4, 0xf7, 0xc3, 0xd3, 0x55, 0x32, 0x4e, 0xc0, 0x94, 0xa3, 0x43, 0xa8, 0x94, 0x71, 0x75, + 0xa5, 0x0d, 0x85, 0x71, 0xaa, 0xf7, 0xd4, 0x78, 0xb1, 0x4c, 0x20, 0x6f, 0xa5, 0x05, 0x52, 0xc8, + 0xdd, 0x4a, 0x1b, 0x4a, 0x26, 0x96, 0xb4, 0xa4, 0xfe, 0x98, 0x9d, 0xef, 0x4e, 0x39, 0xcb, 0xed, + 0x83, 0x52, 0x84, 0x8e, 0xbb, 0xf3, 0x44, 0x89, 0x27, 0xc7, 0x12, 0x59, 0x50, 0xcc, 0x28, 0xd5, + 0x22, 0x3d, 0xbe, 0x35, 0x17, 0x75, 0xca, 0x8e, 0x6f, 0xe3, 0xfe, 0x6c, 0xbb, 0x80, 0x05, 0xf3, + 0x5b, 0x1f, 0x94, 0x69, 0x54, 0x5e, 0x25, 0x12, 0xef, 0x3e, 0xe5, 0x29, 0x59, 0x67, 0x27, 0xe3, + 0x7a, 0x39, 0xfe, 0x45, 0x49, 0x00, 0xe3, 0x6f, 0x6d, 0xbe, 0xfb, 0x43, 0xf9, 0x82, 0x0c, 0x00, + 0x3b, 0x52, 0xb4, 0x70, 0x1e, 0x3c, 0xf5, 0x4e, 0x62, 0x65, 0x4c, 0x1e, 0xa7, 0xd8, 0xc4, 0x50, + 0x2a, 0x0c, 0xec, 0x25, 0x93, 0xc7, 0x89, 0x26, 0xff, 0xc5, 0x37, 0x78, 0xf9, 0x20, 0x62, 0xfc, + 0xa2, 0x81, 0x33, 0x11, 0xe8, 0x19, 0x28, 0xd8, 0xee, 0xb4, 0x82, 0x9d, 0xb4, 0xfd, 0x16, 0x2a, + 0x97, 0xd5, 0x3c, 0x3a, 0xae, 0x65, 0x1e, 0x1e, 0xd7, 0x32, 0x8f, 0x8e, 0x6b, 0x99, 0x07, 0x93, + 0x9a, 0x76, 0x34, 0xa9, 0x69, 0x0f, 0x27, 0x35, 0xed, 0xd1, 0xa4, 0xa6, 0xfd, 0x31, 0xa9, 0x69, + 0xdf, 0xfd, 0x59, 0xcb, 0x7c, 0x91, 0x1d, 0x6e, 0xfc, 0x17, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x6d, + 0xe1, 0x24, 0x30, 0x10, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/template/v1/generated.proto b/vendor/github.com/openshift/api/template/v1/generated.proto new file mode 100644 index 000000000..c059de479 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/generated.proto @@ -0,0 +1,236 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.template.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// BrokerTemplateInstance holds the service broker-related state associated with +// a TemplateInstance. BrokerTemplateInstance is part of an experimental API. +message BrokerTemplateInstance { + // Standard object metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec describes the state of this BrokerTemplateInstance. + optional BrokerTemplateInstanceSpec spec = 2; +} + +// BrokerTemplateInstanceList is a list of BrokerTemplateInstance objects. +message BrokerTemplateInstanceList { + // Standard object metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is a list of BrokerTemplateInstances + repeated BrokerTemplateInstance items = 2; +} + +// BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance. +message BrokerTemplateInstanceSpec { + // templateinstance is a reference to a TemplateInstance object residing + // in a namespace. + optional k8s.io.api.core.v1.ObjectReference templateInstance = 1; + + // secret is a reference to a Secret object residing in a namespace, + // containing the necessary template parameters. + optional k8s.io.api.core.v1.ObjectReference secret = 2; + + // bindingids is a list of 'binding_id's provided during successive bind + // calls to the template service broker. + repeated string bindingIDs = 3; +} + +// ExtraValue masks the value so protobuf can generate +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +message ExtraValue { + // items, if empty, will result in an empty slice + + repeated string items = 1; +} + +// Parameter defines a name/value variable that is to be processed during +// the Template to Config transformation. +message Parameter { + // Name must be set and it can be referenced in Template + // Items using ${PARAMETER_NAME}. Required. + optional string name = 1; + + // Optional: The name that will show in UI instead of parameter 'Name' + optional string displayName = 2; + + // Description of a parameter. Optional. + optional string description = 3; + + // Value holds the Parameter data. If specified, the generator will be + // ignored. The value replaces all occurrences of the Parameter ${Name} + // expression during the Template to Config transformation. Optional. + optional string value = 4; + + // generate specifies the generator to be used to generate random string + // from an input value specified by From field. The result string is + // stored into Value field. If empty, no generator is being used, leaving + // the result Value untouched. Optional. + // + // The only supported generator is "expression", which accepts a "from" + // value in the form of a simple regular expression containing the + // range expression "[a-zA-Z0-9]", and the length expression "a{length}". + // + // Examples: + // + // from | value + // ----------------------------- + // "test[0-9]{1}x" | "test7x" + // "[0-1]{8}" | "01001100" + // "0x[A-F0-9]{4}" | "0xB3AF" + // "[a-zA-Z0-9]{8}" | "hW4yQU5i" + optional string generate = 5; + + // From is an input value for the generator. Optional. + optional string from = 6; + + // Optional: Indicates the parameter must have a value. Defaults to false. + optional bool required = 7; +} + +// Template contains the inputs needed to produce a Config. +message Template { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // message is an optional instructional message that will + // be displayed when this template is instantiated. + // This field should inform the user how to utilize the newly created resources. + // Parameter substitution will be performed on the message before being + // displayed so that generated credentials and other parameters can be + // included in the output. + optional string message = 2; + + // objects is an array of resources to include in this template. + // If a namespace value is hardcoded in the object, it will be removed + // during template instantiation, however if the namespace value + // is, or contains, a ${PARAMETER_REFERENCE}, the resolved + // value after parameter substitution will be respected and the object + // will be created in that namespace. + repeated k8s.io.apimachinery.pkg.runtime.RawExtension objects = 3; + + // parameters is an optional array of Parameters used during the + // Template to Config transformation. + repeated Parameter parameters = 4; + + // labels is a optional set of labels that are applied to every + // object during the Template to Config transformation. + map labels = 5; +} + +// TemplateInstance requests and records the instantiation of a Template. +// TemplateInstance is part of an experimental API. +message TemplateInstance { + // Standard object metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // spec describes the desired state of this TemplateInstance. + optional TemplateInstanceSpec spec = 2; + + // status describes the current state of this TemplateInstance. + optional TemplateInstanceStatus status = 3; +} + +// TemplateInstanceCondition contains condition information for a +// TemplateInstance. +message TemplateInstanceCondition { + // Type of the condition, currently Ready or InstantiateFailure. + optional string type = 1; + + // Status of the condition, one of True, False or Unknown. + optional string status = 2; + + // LastTransitionTime is the last time a condition status transitioned from + // one state to another. + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + + // Reason is a brief machine readable explanation for the condition's last + // transition. + optional string reason = 4; + + // Message is a human readable description of the details of the last + // transition, complementing reason. + optional string message = 5; +} + +// TemplateInstanceList is a list of TemplateInstance objects. +message TemplateInstanceList { + // Standard object metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // items is a list of Templateinstances + repeated TemplateInstance items = 2; +} + +// TemplateInstanceObject references an object created by a TemplateInstance. +message TemplateInstanceObject { + // ref is a reference to the created object. When used under .spec, only + // name and namespace are used; these can contain references to parameters + // which will be substituted following the usual rules. + optional k8s.io.api.core.v1.ObjectReference ref = 1; +} + +// TemplateInstanceRequester holds the identity of an agent requesting a +// template instantiation. +message TemplateInstanceRequester { + // username uniquely identifies this user among all active users. + optional string username = 1; + + // uid is a unique value that identifies this user across time; if this user is + // deleted and another user by the same name is added, they will have + // different UIDs. + optional string uid = 2; + + // groups represent the groups this user is a part of. + repeated string groups = 3; + + // extra holds additional information provided by the authenticator. + map extra = 4; +} + +// TemplateInstanceSpec describes the desired state of a TemplateInstance. +message TemplateInstanceSpec { + // template is a full copy of the template for instantiation. + optional Template template = 1; + + // secret is a reference to a Secret object containing the necessary + // template parameters. + optional k8s.io.api.core.v1.LocalObjectReference secret = 2; + + // requester holds the identity of the agent requesting the template + // instantiation. + optional TemplateInstanceRequester requester = 3; +} + +// TemplateInstanceStatus describes the current state of a TemplateInstance. +message TemplateInstanceStatus { + // conditions represent the latest available observations of a + // TemplateInstance's current state. + repeated TemplateInstanceCondition conditions = 1; + + // Objects references the objects created by the TemplateInstance. + repeated TemplateInstanceObject objects = 2; +} + +// TemplateList is a list of Template objects. +message TemplateList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is a list of templates + repeated Template items = 2; +} + diff --git a/vendor/github.com/openshift/api/template/v1/legacy.go b/vendor/github.com/openshift/api/template/v1/legacy.go new file mode 100644 index 000000000..9266f3ac9 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/legacy.go @@ -0,0 +1,24 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &Template{}, + &TemplateList{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + scheme.AddKnownTypeWithName(legacyGroupVersion.WithKind("TemplateConfig"), &Template{}) + scheme.AddKnownTypeWithName(legacyGroupVersion.WithKind("ProcessedTemplate"), &Template{}) + return nil +} diff --git a/vendor/github.com/openshift/api/template/v1/register.go b/vendor/github.com/openshift/api/template/v1/register.go new file mode 100644 index 000000000..e34ff5610 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/register.go @@ -0,0 +1,43 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "template.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &Template{}, + &TemplateList{}, + &TemplateInstance{}, + &TemplateInstanceList{}, + &BrokerTemplateInstance{}, + &BrokerTemplateInstanceList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/template/v1/types.go b/vendor/github.com/openshift/api/template/v1/types.go new file mode 100644 index 000000000..a832c7c73 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/types.go @@ -0,0 +1,261 @@ +package v1 + +import ( + "fmt" + + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" +) + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Template contains the inputs needed to produce a Config. +type Template struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // message is an optional instructional message that will + // be displayed when this template is instantiated. + // This field should inform the user how to utilize the newly created resources. + // Parameter substitution will be performed on the message before being + // displayed so that generated credentials and other parameters can be + // included in the output. + Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"` + + // objects is an array of resources to include in this template. + // If a namespace value is hardcoded in the object, it will be removed + // during template instantiation, however if the namespace value + // is, or contains, a ${PARAMETER_REFERENCE}, the resolved + // value after parameter substitution will be respected and the object + // will be created in that namespace. + Objects []runtime.RawExtension `json:"objects" protobuf:"bytes,3,rep,name=objects"` + + // parameters is an optional array of Parameters used during the + // Template to Config transformation. + Parameters []Parameter `json:"parameters,omitempty" protobuf:"bytes,4,rep,name=parameters"` + + // labels is a optional set of labels that are applied to every + // object during the Template to Config transformation. + ObjectLabels map[string]string `json:"labels,omitempty" protobuf:"bytes,5,rep,name=labels"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// TemplateList is a list of Template objects. +type TemplateList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items is a list of templates + Items []Template `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// Parameter defines a name/value variable that is to be processed during +// the Template to Config transformation. +type Parameter struct { + // Name must be set and it can be referenced in Template + // Items using ${PARAMETER_NAME}. Required. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + + // Optional: The name that will show in UI instead of parameter 'Name' + DisplayName string `json:"displayName,omitempty" protobuf:"bytes,2,opt,name=displayName"` + + // Description of a parameter. Optional. + Description string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"` + + // Value holds the Parameter data. If specified, the generator will be + // ignored. The value replaces all occurrences of the Parameter ${Name} + // expression during the Template to Config transformation. Optional. + Value string `json:"value,omitempty" protobuf:"bytes,4,opt,name=value"` + + // generate specifies the generator to be used to generate random string + // from an input value specified by From field. The result string is + // stored into Value field. If empty, no generator is being used, leaving + // the result Value untouched. Optional. + // + // The only supported generator is "expression", which accepts a "from" + // value in the form of a simple regular expression containing the + // range expression "[a-zA-Z0-9]", and the length expression "a{length}". + // + // Examples: + // + // from | value + // ----------------------------- + // "test[0-9]{1}x" | "test7x" + // "[0-1]{8}" | "01001100" + // "0x[A-F0-9]{4}" | "0xB3AF" + // "[a-zA-Z0-9]{8}" | "hW4yQU5i" + // + Generate string `json:"generate,omitempty" protobuf:"bytes,5,opt,name=generate"` + + // From is an input value for the generator. Optional. + From string `json:"from,omitempty" protobuf:"bytes,6,opt,name=from"` + + // Optional: Indicates the parameter must have a value. Defaults to false. + Required bool `json:"required,omitempty" protobuf:"varint,7,opt,name=required"` +} + +// +genclient +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// TemplateInstance requests and records the instantiation of a Template. +// TemplateInstance is part of an experimental API. +type TemplateInstance struct { + metav1.TypeMeta `json:",inline"` + // Standard object metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // spec describes the desired state of this TemplateInstance. + Spec TemplateInstanceSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` + + // status describes the current state of this TemplateInstance. + Status TemplateInstanceStatus `json:"status" protobuf:"bytes,3,opt,name=status"` +} + +// TemplateInstanceSpec describes the desired state of a TemplateInstance. +type TemplateInstanceSpec struct { + // template is a full copy of the template for instantiation. + Template Template `json:"template" protobuf:"bytes,1,opt,name=template"` + + // secret is a reference to a Secret object containing the necessary + // template parameters. + Secret *corev1.LocalObjectReference `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` + + // requester holds the identity of the agent requesting the template + // instantiation. + Requester *TemplateInstanceRequester `json:"requester" protobuf:"bytes,3,opt,name=requester"` +} + +// TemplateInstanceRequester holds the identity of an agent requesting a +// template instantiation. +type TemplateInstanceRequester struct { + // username uniquely identifies this user among all active users. + Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"` + + // uid is a unique value that identifies this user across time; if this user is + // deleted and another user by the same name is added, they will have + // different UIDs. + UID string `json:"uid,omitempty" protobuf:"bytes,2,opt,name=uid"` + + // groups represent the groups this user is a part of. + Groups []string `json:"groups,omitempty" protobuf:"bytes,3,rep,name=groups"` + + // extra holds additional information provided by the authenticator. + Extra map[string]ExtraValue `json:"extra,omitempty" protobuf:"bytes,4,rep,name=extra"` +} + +// ExtraValue masks the value so protobuf can generate +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type ExtraValue []string + +func (t ExtraValue) String() string { + return fmt.Sprintf("%v", []string(t)) +} + +// TemplateInstanceStatus describes the current state of a TemplateInstance. +type TemplateInstanceStatus struct { + // conditions represent the latest available observations of a + // TemplateInstance's current state. + Conditions []TemplateInstanceCondition `json:"conditions,omitempty" protobuf:"bytes,1,rep,name=conditions"` + + // Objects references the objects created by the TemplateInstance. + Objects []TemplateInstanceObject `json:"objects,omitempty" protobuf:"bytes,2,rep,name=objects"` +} + +// TemplateInstanceCondition contains condition information for a +// TemplateInstance. +type TemplateInstanceCondition struct { + // Type of the condition, currently Ready or InstantiateFailure. + Type TemplateInstanceConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=TemplateInstanceConditionType"` + // Status of the condition, one of True, False or Unknown. + Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status"` + // LastTransitionTime is the last time a condition status transitioned from + // one state to another. + LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,3,opt,name=lastTransitionTime"` + // Reason is a brief machine readable explanation for the condition's last + // transition. + Reason string `json:"reason" protobuf:"bytes,4,opt,name=reason"` + // Message is a human readable description of the details of the last + // transition, complementing reason. + Message string `json:"message" protobuf:"bytes,5,opt,name=message"` +} + +// TemplateInstanceConditionType is the type of condition pertaining to a +// TemplateInstance. +type TemplateInstanceConditionType string + +const ( + // TemplateInstanceReady indicates the readiness of the template + // instantiation. + TemplateInstanceReady TemplateInstanceConditionType = "Ready" + // TemplateInstanceInstantiateFailure indicates the failure of the template + // instantiation + TemplateInstanceInstantiateFailure TemplateInstanceConditionType = "InstantiateFailure" +) + +// TemplateInstanceObject references an object created by a TemplateInstance. +type TemplateInstanceObject struct { + // ref is a reference to the created object. When used under .spec, only + // name and namespace are used; these can contain references to parameters + // which will be substituted following the usual rules. + Ref corev1.ObjectReference `json:"ref,omitempty" protobuf:"bytes,1,opt,name=ref"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// TemplateInstanceList is a list of TemplateInstance objects. +type TemplateInstanceList struct { + metav1.TypeMeta `json:",inline"` + // Standard object metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // items is a list of Templateinstances + Items []TemplateInstance `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BrokerTemplateInstance holds the service broker-related state associated with +// a TemplateInstance. BrokerTemplateInstance is part of an experimental API. +type BrokerTemplateInstance struct { + metav1.TypeMeta `json:",inline"` + // Standard object metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // spec describes the state of this BrokerTemplateInstance. + Spec BrokerTemplateInstanceSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` +} + +// BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance. +type BrokerTemplateInstanceSpec struct { + // templateinstance is a reference to a TemplateInstance object residing + // in a namespace. + TemplateInstance corev1.ObjectReference `json:"templateInstance" protobuf:"bytes,1,opt,name=templateInstance"` + + // secret is a reference to a Secret object residing in a namespace, + // containing the necessary template parameters. + Secret corev1.ObjectReference `json:"secret" protobuf:"bytes,2,opt,name=secret"` + + // bindingids is a list of 'binding_id's provided during successive bind + // calls to the template service broker. + BindingIDs []string `json:"bindingIDs,omitempty" protobuf:"bytes,3,rep,name=bindingIDs"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// BrokerTemplateInstanceList is a list of BrokerTemplateInstance objects. +type BrokerTemplateInstanceList struct { + metav1.TypeMeta `json:",inline"` + // Standard object metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // items is a list of BrokerTemplateInstances + Items []BrokerTemplateInstance `json:"items" protobuf:"bytes,2,rep,name=items"` +} diff --git a/vendor/github.com/openshift/api/template/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/template/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..7549c4ad7 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/zz_generated.deepcopy.go @@ -0,0 +1,398 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + core_v1 "k8s.io/api/core/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerTemplateInstance) DeepCopyInto(out *BrokerTemplateInstance) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerTemplateInstance. +func (in *BrokerTemplateInstance) DeepCopy() *BrokerTemplateInstance { + if in == nil { + return nil + } + out := new(BrokerTemplateInstance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BrokerTemplateInstance) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerTemplateInstanceList) DeepCopyInto(out *BrokerTemplateInstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]BrokerTemplateInstance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerTemplateInstanceList. +func (in *BrokerTemplateInstanceList) DeepCopy() *BrokerTemplateInstanceList { + if in == nil { + return nil + } + out := new(BrokerTemplateInstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *BrokerTemplateInstanceList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BrokerTemplateInstanceSpec) DeepCopyInto(out *BrokerTemplateInstanceSpec) { + *out = *in + out.TemplateInstance = in.TemplateInstance + out.Secret = in.Secret + if in.BindingIDs != nil { + in, out := &in.BindingIDs, &out.BindingIDs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BrokerTemplateInstanceSpec. +func (in *BrokerTemplateInstanceSpec) DeepCopy() *BrokerTemplateInstanceSpec { + if in == nil { + return nil + } + out := new(BrokerTemplateInstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in ExtraValue) DeepCopyInto(out *ExtraValue) { + { + in := &in + *out = make(ExtraValue, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtraValue. +func (in ExtraValue) DeepCopy() ExtraValue { + if in == nil { + return nil + } + out := new(ExtraValue) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Parameter) DeepCopyInto(out *Parameter) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameter. +func (in *Parameter) DeepCopy() *Parameter { + if in == nil { + return nil + } + out := new(Parameter) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Template) DeepCopyInto(out *Template) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Objects != nil { + in, out := &in.Objects, &out.Objects + *out = make([]runtime.RawExtension, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Parameters != nil { + in, out := &in.Parameters, &out.Parameters + *out = make([]Parameter, len(*in)) + copy(*out, *in) + } + if in.ObjectLabels != nil { + in, out := &in.ObjectLabels, &out.ObjectLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template. +func (in *Template) DeepCopy() *Template { + if in == nil { + return nil + } + out := new(Template) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Template) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateInstance) DeepCopyInto(out *TemplateInstance) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInstance. +func (in *TemplateInstance) DeepCopy() *TemplateInstance { + if in == nil { + return nil + } + out := new(TemplateInstance) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TemplateInstance) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateInstanceCondition) DeepCopyInto(out *TemplateInstanceCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInstanceCondition. +func (in *TemplateInstanceCondition) DeepCopy() *TemplateInstanceCondition { + if in == nil { + return nil + } + out := new(TemplateInstanceCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateInstanceList) DeepCopyInto(out *TemplateInstanceList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TemplateInstance, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInstanceList. +func (in *TemplateInstanceList) DeepCopy() *TemplateInstanceList { + if in == nil { + return nil + } + out := new(TemplateInstanceList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TemplateInstanceList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateInstanceObject) DeepCopyInto(out *TemplateInstanceObject) { + *out = *in + out.Ref = in.Ref + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInstanceObject. +func (in *TemplateInstanceObject) DeepCopy() *TemplateInstanceObject { + if in == nil { + return nil + } + out := new(TemplateInstanceObject) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateInstanceRequester) DeepCopyInto(out *TemplateInstanceRequester) { + *out = *in + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Extra != nil { + in, out := &in.Extra, &out.Extra + *out = make(map[string]ExtraValue, len(*in)) + for key, val := range *in { + if val == nil { + (*out)[key] = nil + } else { + (*out)[key] = make([]string, len(val)) + copy((*out)[key], val) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInstanceRequester. +func (in *TemplateInstanceRequester) DeepCopy() *TemplateInstanceRequester { + if in == nil { + return nil + } + out := new(TemplateInstanceRequester) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateInstanceSpec) DeepCopyInto(out *TemplateInstanceSpec) { + *out = *in + in.Template.DeepCopyInto(&out.Template) + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + if *in == nil { + *out = nil + } else { + *out = new(core_v1.LocalObjectReference) + **out = **in + } + } + if in.Requester != nil { + in, out := &in.Requester, &out.Requester + if *in == nil { + *out = nil + } else { + *out = new(TemplateInstanceRequester) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInstanceSpec. +func (in *TemplateInstanceSpec) DeepCopy() *TemplateInstanceSpec { + if in == nil { + return nil + } + out := new(TemplateInstanceSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateInstanceStatus) DeepCopyInto(out *TemplateInstanceStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]TemplateInstanceCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Objects != nil { + in, out := &in.Objects, &out.Objects + *out = make([]TemplateInstanceObject, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateInstanceStatus. +func (in *TemplateInstanceStatus) DeepCopy() *TemplateInstanceStatus { + if in == nil { + return nil + } + out := new(TemplateInstanceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TemplateList) DeepCopyInto(out *TemplateList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Template, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateList. +func (in *TemplateList) DeepCopy() *TemplateList { + if in == nil { + return nil + } + out := new(TemplateList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TemplateList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..001a477b4 --- /dev/null +++ b/vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,159 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_BrokerTemplateInstance = map[string]string{ + "": "BrokerTemplateInstance holds the service broker-related state associated with a TemplateInstance. BrokerTemplateInstance is part of an experimental API.", + "metadata": "Standard object metadata.", + "spec": "spec describes the state of this BrokerTemplateInstance.", +} + +func (BrokerTemplateInstance) SwaggerDoc() map[string]string { + return map_BrokerTemplateInstance +} + +var map_BrokerTemplateInstanceList = map[string]string{ + "": "BrokerTemplateInstanceList is a list of BrokerTemplateInstance objects.", + "metadata": "Standard object metadata.", + "items": "items is a list of BrokerTemplateInstances", +} + +func (BrokerTemplateInstanceList) SwaggerDoc() map[string]string { + return map_BrokerTemplateInstanceList +} + +var map_BrokerTemplateInstanceSpec = map[string]string{ + "": "BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance.", + "templateInstance": "templateinstance is a reference to a TemplateInstance object residing in a namespace.", + "secret": "secret is a reference to a Secret object residing in a namespace, containing the necessary template parameters.", + "bindingIDs": "bindingids is a list of 'binding_id's provided during successive bind calls to the template service broker.", +} + +func (BrokerTemplateInstanceSpec) SwaggerDoc() map[string]string { + return map_BrokerTemplateInstanceSpec +} + +var map_Parameter = map[string]string{ + "": "Parameter defines a name/value variable that is to be processed during the Template to Config transformation.", + "name": "Name must be set and it can be referenced in Template Items using ${PARAMETER_NAME}. Required.", + "displayName": "Optional: The name that will show in UI instead of parameter 'Name'", + "description": "Description of a parameter. Optional.", + "value": "Value holds the Parameter data. If specified, the generator will be ignored. The value replaces all occurrences of the Parameter ${Name} expression during the Template to Config transformation. Optional.", + "generate": "generate specifies the generator to be used to generate random string from an input value specified by From field. The result string is stored into Value field. If empty, no generator is being used, leaving the result Value untouched. Optional.\n\nThe only supported generator is \"expression\", which accepts a \"from\" value in the form of a simple regular expression containing the range expression \"[a-zA-Z0-9]\", and the length expression \"a{length}\".\n\nExamples:\n\nfrom | value", + "from": "From is an input value for the generator. Optional.", + "required": "Optional: Indicates the parameter must have a value. Defaults to false.", +} + +func (Parameter) SwaggerDoc() map[string]string { + return map_Parameter +} + +var map_Template = map[string]string{ + "": "Template contains the inputs needed to produce a Config.", + "metadata": "Standard object's metadata.", + "message": "message is an optional instructional message that will be displayed when this template is instantiated. This field should inform the user how to utilize the newly created resources. Parameter substitution will be performed on the message before being displayed so that generated credentials and other parameters can be included in the output.", + "objects": "objects is an array of resources to include in this template. If a namespace value is hardcoded in the object, it will be removed during template instantiation, however if the namespace value is, or contains, a ${PARAMETER_REFERENCE}, the resolved value after parameter substitution will be respected and the object will be created in that namespace.", + "parameters": "parameters is an optional array of Parameters used during the Template to Config transformation.", + "labels": "labels is a optional set of labels that are applied to every object during the Template to Config transformation.", +} + +func (Template) SwaggerDoc() map[string]string { + return map_Template +} + +var map_TemplateInstance = map[string]string{ + "": "TemplateInstance requests and records the instantiation of a Template. TemplateInstance is part of an experimental API.", + "metadata": "Standard object metadata.", + "spec": "spec describes the desired state of this TemplateInstance.", + "status": "status describes the current state of this TemplateInstance.", +} + +func (TemplateInstance) SwaggerDoc() map[string]string { + return map_TemplateInstance +} + +var map_TemplateInstanceCondition = map[string]string{ + "": "TemplateInstanceCondition contains condition information for a TemplateInstance.", + "type": "Type of the condition, currently Ready or InstantiateFailure.", + "status": "Status of the condition, one of True, False or Unknown.", + "lastTransitionTime": "LastTransitionTime is the last time a condition status transitioned from one state to another.", + "reason": "Reason is a brief machine readable explanation for the condition's last transition.", + "message": "Message is a human readable description of the details of the last transition, complementing reason.", +} + +func (TemplateInstanceCondition) SwaggerDoc() map[string]string { + return map_TemplateInstanceCondition +} + +var map_TemplateInstanceList = map[string]string{ + "": "TemplateInstanceList is a list of TemplateInstance objects.", + "metadata": "Standard object metadata.", + "items": "items is a list of Templateinstances", +} + +func (TemplateInstanceList) SwaggerDoc() map[string]string { + return map_TemplateInstanceList +} + +var map_TemplateInstanceObject = map[string]string{ + "": "TemplateInstanceObject references an object created by a TemplateInstance.", + "ref": "ref is a reference to the created object. When used under .spec, only name and namespace are used; these can contain references to parameters which will be substituted following the usual rules.", +} + +func (TemplateInstanceObject) SwaggerDoc() map[string]string { + return map_TemplateInstanceObject +} + +var map_TemplateInstanceRequester = map[string]string{ + "": "TemplateInstanceRequester holds the identity of an agent requesting a template instantiation.", + "username": "username uniquely identifies this user among all active users.", + "uid": "uid is a unique value that identifies this user across time; if this user is deleted and another user by the same name is added, they will have different UIDs.", + "groups": "groups represent the groups this user is a part of.", + "extra": "extra holds additional information provided by the authenticator.", +} + +func (TemplateInstanceRequester) SwaggerDoc() map[string]string { + return map_TemplateInstanceRequester +} + +var map_TemplateInstanceSpec = map[string]string{ + "": "TemplateInstanceSpec describes the desired state of a TemplateInstance.", + "template": "template is a full copy of the template for instantiation.", + "secret": "secret is a reference to a Secret object containing the necessary template parameters.", + "requester": "requester holds the identity of the agent requesting the template instantiation.", +} + +func (TemplateInstanceSpec) SwaggerDoc() map[string]string { + return map_TemplateInstanceSpec +} + +var map_TemplateInstanceStatus = map[string]string{ + "": "TemplateInstanceStatus describes the current state of a TemplateInstance.", + "conditions": "conditions represent the latest available observations of a TemplateInstance's current state.", + "objects": "Objects references the objects created by the TemplateInstance.", +} + +func (TemplateInstanceStatus) SwaggerDoc() map[string]string { + return map_TemplateInstanceStatus +} + +var map_TemplateList = map[string]string{ + "": "TemplateList is a list of Template objects.", + "metadata": "Standard object's metadata.", + "items": "Items is a list of templates", +} + +func (TemplateList) SwaggerDoc() map[string]string { + return map_TemplateList +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/tools/genswaggertypedocs/swagger_type_docs.go b/vendor/github.com/openshift/api/tools/genswaggertypedocs/swagger_type_docs.go new file mode 100644 index 000000000..1d3e33d1f --- /dev/null +++ b/vendor/github.com/openshift/api/tools/genswaggertypedocs/swagger_type_docs.go @@ -0,0 +1,89 @@ +/* +Copyright 2015 The Kubernetes 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. +*/ + +// lifted from k8s.io/kubernetes so we can add methods to types +package main + +import ( + "fmt" + "io" + "os" + "path/filepath" + + kruntime "k8s.io/apimachinery/pkg/runtime" + + "github.com/golang/glog" + flag "github.com/spf13/pflag" +) + +var ( + functionDest = flag.StringP("func-dest", "f", "-", "Output for swagger functions; '-' means stdout (default)") + typeSrc = flag.StringP("type-src", "s", "", "From where we are going to read the types") + verify = flag.BoolP("verify", "v", false, "Verifies if the given type-src file has documentation for every type") +) + +func main() { + flag.Parse() + + if *typeSrc == "" { + glog.Fatalf("Please define -s flag as it is the source file") + } + + var funcOut io.Writer + if *functionDest == "-" { + funcOut = os.Stdout + } else { + file, err := os.Create(*functionDest) + if err != nil { + glog.Fatalf("Couldn't open %v: %v", *functionDest, err) + } + defer file.Close() + funcOut = file + } + + var docsForTypes []kruntime.KubeTypes + if fi, err := os.Stat(*typeSrc); err == nil && !fi.IsDir() { + docsForTypes = kruntime.ParseDocumentationFrom(*typeSrc) + } else if err == nil && fi.IsDir() { + glog.Fatalf("-s must be a valid file or file glob pattern, not a directory") + } else { + m, err := filepath.Glob(*typeSrc) + if err != nil { + glog.Fatalf("Couldn't search for files matching -s: %v", err) + } + if len(m) == 0 { + glog.Fatalf("-s must be a valid file or file glob pattern") + } + for _, file := range m { + docsForTypes = append(docsForTypes, kruntime.ParseDocumentationFrom(file)...) + } + } + + if *verify == true { + rc, err := kruntime.VerifySwaggerDocsExist(docsForTypes, funcOut) + if err != nil { + fmt.Fprintf(os.Stderr, "Error in verification process: %s\n", err) + } + os.Exit(rc) + } + + if docsForTypes != nil && len(docsForTypes) > 0 { + if err := kruntime.WriteSwaggerDocFunc(docsForTypes, funcOut); err != nil { + fmt.Fprintf(os.Stderr, "Error when writing swagger documentation functions: %s\n", err) + os.Exit(-1) + } + } +} diff --git a/vendor/github.com/openshift/api/user/OWNERS b/vendor/github.com/openshift/api/user/OWNERS new file mode 100644 index 000000000..f0e98440a --- /dev/null +++ b/vendor/github.com/openshift/api/user/OWNERS @@ -0,0 +1,2 @@ +reviewers: + - enj diff --git a/vendor/github.com/openshift/api/user/install.go b/vendor/github.com/openshift/api/user/install.go new file mode 100644 index 000000000..28d498062 --- /dev/null +++ b/vendor/github.com/openshift/api/user/install.go @@ -0,0 +1,26 @@ +package user + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + userv1 "github.com/openshift/api/user/v1" +) + +const ( + GroupName = "user.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(userv1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/user/v1/doc.go b/vendor/github.com/openshift/api/user/v1/doc.go new file mode 100644 index 000000000..42287095e --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin/pkg/user/apis/user +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=user.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/user/v1/generated.pb.go b/vendor/github.com/openshift/api/user/v1/generated.pb.go new file mode 100644 index 000000000..c225e93bf --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/generated.pb.go @@ -0,0 +1,1972 @@ +// Code generated by protoc-gen-gogo. +// source: github.com/openshift/api/user/v1/generated.proto +// DO NOT EDIT! + +/* + Package v1 is a generated protocol buffer package. + + It is generated from these files: + github.com/openshift/api/user/v1/generated.proto + + It has these top-level messages: + Group + GroupList + Identity + IdentityList + OptionalNames + User + UserIdentityMapping + UserList +*/ +package v1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *Group) Reset() { *m = Group{} } +func (*Group) ProtoMessage() {} +func (*Group) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func (m *GroupList) Reset() { *m = GroupList{} } +func (*GroupList) ProtoMessage() {} +func (*GroupList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *Identity) Reset() { *m = Identity{} } +func (*Identity) ProtoMessage() {} +func (*Identity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + +func (m *IdentityList) Reset() { *m = IdentityList{} } +func (*IdentityList) ProtoMessage() {} +func (*IdentityList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } + +func (m *OptionalNames) Reset() { *m = OptionalNames{} } +func (*OptionalNames) ProtoMessage() {} +func (*OptionalNames) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } + +func (m *User) Reset() { *m = User{} } +func (*User) ProtoMessage() {} +func (*User) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} } + +func (m *UserIdentityMapping) Reset() { *m = UserIdentityMapping{} } +func (*UserIdentityMapping) ProtoMessage() {} +func (*UserIdentityMapping) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } + +func (m *UserList) Reset() { *m = UserList{} } +func (*UserList) ProtoMessage() {} +func (*UserList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } + +func init() { + proto.RegisterType((*Group)(nil), "github.com.openshift.api.user.v1.Group") + proto.RegisterType((*GroupList)(nil), "github.com.openshift.api.user.v1.GroupList") + proto.RegisterType((*Identity)(nil), "github.com.openshift.api.user.v1.Identity") + proto.RegisterType((*IdentityList)(nil), "github.com.openshift.api.user.v1.IdentityList") + proto.RegisterType((*OptionalNames)(nil), "github.com.openshift.api.user.v1.OptionalNames") + proto.RegisterType((*User)(nil), "github.com.openshift.api.user.v1.User") + proto.RegisterType((*UserIdentityMapping)(nil), "github.com.openshift.api.user.v1.UserIdentityMapping") + proto.RegisterType((*UserList)(nil), "github.com.openshift.api.user.v1.UserList") +} +func (m *Group) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Group) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + if m.Users != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Users.Size())) + n2, err := m.Users.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } + return i, nil +} + +func (m *GroupList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GroupList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n3, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *Identity) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Identity) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n4, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ProviderName))) + i += copy(dAtA[i:], m.ProviderName) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ProviderUserName))) + i += copy(dAtA[i:], m.ProviderUserName) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.User.Size())) + n5, err := m.User.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + if len(m.Extra) > 0 { + keysForExtra := make([]string, 0, len(m.Extra)) + for k := range m.Extra { + keysForExtra = append(keysForExtra, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForExtra) + for _, k := range keysForExtra { + dAtA[i] = 0x2a + i++ + v := m.Extra[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + return i, nil +} + +func (m *IdentityList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *IdentityList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n6, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m OptionalNames) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m OptionalNames) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + dAtA[i] = 0xa + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *User) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *User) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n7, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.FullName))) + i += copy(dAtA[i:], m.FullName) + if len(m.Identities) > 0 { + for _, s := range m.Identities { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if len(m.Groups) > 0 { + for _, s := range m.Groups { + dAtA[i] = 0x22 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *UserIdentityMapping) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UserIdentityMapping) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n8, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Identity.Size())) + n9, err := m.Identity.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.User.Size())) + n10, err := m.User.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + return i, nil +} + +func (m *UserList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UserList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n11, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *Group) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.Users != nil { + l = m.Users.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *GroupList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *Identity) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ProviderName) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ProviderUserName) + n += 1 + l + sovGenerated(uint64(l)) + l = m.User.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Extra) > 0 { + for k, v := range m.Extra { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + return n +} + +func (m *IdentityList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m OptionalNames) Size() (n int) { + var l int + _ = l + if len(m) > 0 { + for _, s := range m { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *User) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.FullName) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Identities) > 0 { + for _, s := range m.Identities { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.Groups) > 0 { + for _, s := range m.Groups { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *UserIdentityMapping) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Identity.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.User.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *UserList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *Group) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Group{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Users:` + strings.Replace(fmt.Sprintf("%v", this.Users), "OptionalNames", "OptionalNames", 1) + `,`, + `}`, + }, "") + return s +} +func (this *GroupList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&GroupList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Group", "Group", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *Identity) String() string { + if this == nil { + return "nil" + } + keysForExtra := make([]string, 0, len(this.Extra)) + for k := range this.Extra { + keysForExtra = append(keysForExtra, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForExtra) + mapStringForExtra := "map[string]string{" + for _, k := range keysForExtra { + mapStringForExtra += fmt.Sprintf("%v: %v,", k, this.Extra[k]) + } + mapStringForExtra += "}" + s := strings.Join([]string{`&Identity{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `ProviderName:` + fmt.Sprintf("%v", this.ProviderName) + `,`, + `ProviderUserName:` + fmt.Sprintf("%v", this.ProviderUserName) + `,`, + `User:` + strings.Replace(strings.Replace(this.User.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `Extra:` + mapStringForExtra + `,`, + `}`, + }, "") + return s +} +func (this *IdentityList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&IdentityList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "Identity", "Identity", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *User) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&User{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `FullName:` + fmt.Sprintf("%v", this.FullName) + `,`, + `Identities:` + fmt.Sprintf("%v", this.Identities) + `,`, + `Groups:` + fmt.Sprintf("%v", this.Groups) + `,`, + `}`, + }, "") + return s +} +func (this *UserIdentityMapping) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&UserIdentityMapping{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Identity:` + strings.Replace(strings.Replace(this.Identity.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `User:` + strings.Replace(strings.Replace(this.User.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *UserList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&UserList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "User", "User", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *Group) 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 ErrIntOverflowGenerated + } + 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: Group: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Group: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Users", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Users == nil { + m.Users = OptionalNames{} + } + if err := m.Users.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GroupList) 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 ErrIntOverflowGenerated + } + 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: GroupList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GroupList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Group{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Identity) 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 ErrIntOverflowGenerated + } + 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: Identity: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Identity: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProviderName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProviderUserName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProviderUserName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.User.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Extra", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Extra == nil { + m.Extra = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.Extra[mapkey] = mapvalue + } else { + var mapvalue string + m.Extra[mapkey] = mapvalue + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *IdentityList) 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 ErrIntOverflowGenerated + } + 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: IdentityList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: IdentityList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, Identity{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OptionalNames) 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 ErrIntOverflowGenerated + } + 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: OptionalNames: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OptionalNames: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + *m = append(*m, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *User) 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 ErrIntOverflowGenerated + } + 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: User: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: User: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FullName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FullName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identities", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Identities = append(m.Identities, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Groups", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Groups = append(m.Groups, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UserIdentityMapping) 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 ErrIntOverflowGenerated + } + 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: UserIdentityMapping: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UserIdentityMapping: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Identity", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Identity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.User.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UserList) 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 ErrIntOverflowGenerated + } + 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: UserList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UserList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, User{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("github.com/openshift/api/user/v1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 734 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x54, 0x4d, 0x6f, 0xd3, 0x40, + 0x10, 0xcd, 0x26, 0x71, 0x95, 0x6c, 0x53, 0x14, 0x99, 0x1e, 0xa2, 0x1c, 0x9c, 0xc8, 0x48, 0x10, + 0x21, 0x58, 0x37, 0xe5, 0x43, 0x51, 0x8f, 0x11, 0x05, 0x55, 0xb4, 0xb4, 0xac, 0xc4, 0xa5, 0xe2, + 0xc0, 0x36, 0xd9, 0x38, 0x4b, 0x12, 0xdb, 0xb2, 0xd7, 0x11, 0xb9, 0xf5, 0x27, 0xc0, 0x8d, 0x23, + 0x7f, 0x02, 0x71, 0x40, 0xdc, 0xcb, 0xad, 0xc7, 0x1e, 0x50, 0x44, 0xcd, 0x8d, 0x5f, 0x81, 0x76, + 0xfd, 0x11, 0xa7, 0x1f, 0x4a, 0x25, 0xa4, 0xdc, 0xbc, 0xb3, 0xf3, 0xde, 0xbe, 0x79, 0x33, 0x63, + 0xb8, 0x61, 0x32, 0xde, 0xf7, 0x8f, 0x50, 0xc7, 0x1e, 0x19, 0xb6, 0x43, 0x2d, 0xaf, 0xcf, 0x7a, + 0xdc, 0x20, 0x0e, 0x33, 0x7c, 0x8f, 0xba, 0xc6, 0xb8, 0x69, 0x98, 0xd4, 0xa2, 0x2e, 0xe1, 0xb4, + 0x8b, 0x1c, 0xd7, 0xe6, 0xb6, 0x5a, 0x9f, 0x21, 0x50, 0x82, 0x40, 0xc4, 0x61, 0x48, 0x20, 0xd0, + 0xb8, 0x59, 0x7d, 0x98, 0xe2, 0x34, 0x6d, 0xd3, 0x36, 0x24, 0xf0, 0xc8, 0xef, 0xc9, 0x93, 0x3c, + 0xc8, 0xaf, 0x90, 0xb0, 0xaa, 0x0f, 0x5a, 0x1e, 0x62, 0xb6, 0x7c, 0xb4, 0x63, 0xbb, 0xf4, 0x8a, + 0x47, 0xab, 0x8f, 0x67, 0x39, 0x23, 0xd2, 0xe9, 0x33, 0x8b, 0xba, 0x13, 0xc3, 0x19, 0x98, 0x22, + 0xe0, 0x19, 0x23, 0xca, 0xc9, 0x55, 0xa8, 0xa7, 0xd7, 0xa1, 0x5c, 0xdf, 0xe2, 0x6c, 0x44, 0x0d, + 0xaf, 0xd3, 0xa7, 0x23, 0x72, 0x09, 0xf7, 0xe8, 0x3a, 0x9c, 0xcf, 0xd9, 0xd0, 0x60, 0x16, 0xf7, + 0xb8, 0x7b, 0x11, 0xa4, 0x7f, 0x07, 0x50, 0x79, 0xe1, 0xda, 0xbe, 0xa3, 0xbe, 0x83, 0x05, 0xa1, + 0xa8, 0x4b, 0x38, 0xa9, 0x80, 0x3a, 0x68, 0xac, 0x6e, 0x6e, 0xa0, 0x90, 0x11, 0xa5, 0x19, 0x91, + 0x33, 0x30, 0x45, 0xc0, 0x43, 0x22, 0x1b, 0x8d, 0x9b, 0x68, 0xff, 0xe8, 0x3d, 0xed, 0xf0, 0x3d, + 0xca, 0x49, 0x5b, 0x3d, 0x99, 0xd6, 0x32, 0xc1, 0xb4, 0x06, 0x67, 0x31, 0x9c, 0xb0, 0xaa, 0x07, + 0x50, 0x11, 0x66, 0x7b, 0x95, 0xac, 0xa4, 0x37, 0xd0, 0xa2, 0x9e, 0xa0, 0x7d, 0x87, 0x33, 0xdb, + 0x22, 0xc3, 0x57, 0x64, 0x44, 0xbd, 0x76, 0x31, 0x98, 0xd6, 0x94, 0x37, 0x82, 0x01, 0x87, 0x44, + 0xfa, 0x37, 0x00, 0x8b, 0x52, 0xfd, 0x2e, 0xf3, 0xb8, 0xfa, 0xf6, 0x52, 0x05, 0xe8, 0x66, 0x15, + 0x08, 0xb4, 0xd4, 0x5f, 0x8e, 0xf4, 0x17, 0xe2, 0x48, 0x4a, 0xfd, 0x2e, 0x54, 0x18, 0xa7, 0x23, + 0xa1, 0x3e, 0xd7, 0x58, 0xdd, 0xbc, 0xb7, 0x58, 0xbd, 0x54, 0xd6, 0x5e, 0x8b, 0x38, 0x95, 0x1d, + 0x81, 0xc6, 0x21, 0x89, 0xfe, 0x33, 0x07, 0x0b, 0x3b, 0x5d, 0x6a, 0x71, 0xc6, 0x27, 0x4b, 0xb0, + 0xbe, 0x05, 0x4b, 0x8e, 0x6b, 0x8f, 0x59, 0x97, 0xba, 0xc2, 0x4b, 0xd9, 0x81, 0x62, 0x7b, 0x3d, + 0xc2, 0x94, 0x0e, 0x52, 0x77, 0x78, 0x2e, 0x53, 0x7d, 0x06, 0xcb, 0xf1, 0x59, 0x58, 0x2f, 0xd1, + 0x39, 0x89, 0xae, 0x44, 0xe8, 0xf2, 0xc1, 0x85, 0x7b, 0x7c, 0x09, 0xa1, 0x6e, 0xc3, 0xbc, 0x70, + 0xa5, 0x92, 0x97, 0xd5, 0xdd, 0x49, 0x55, 0x87, 0xc4, 0xf2, 0xcc, 0x6a, 0xc1, 0xb4, 0x47, 0x5d, + 0x6a, 0x75, 0x68, 0xbb, 0x14, 0xd1, 0xe7, 0x05, 0x09, 0x96, 0x70, 0xf5, 0x10, 0x2a, 0xf4, 0x03, + 0x77, 0x49, 0x45, 0x91, 0x3d, 0x78, 0xb2, 0xb8, 0x07, 0xb1, 0xc7, 0x68, 0x5b, 0xe0, 0xb6, 0x2d, + 0xee, 0x4e, 0x66, 0x1d, 0x91, 0x31, 0x1c, 0x52, 0x56, 0x5b, 0x10, 0xce, 0x72, 0xd4, 0x32, 0xcc, + 0x0d, 0xe8, 0x44, 0x76, 0xa3, 0x88, 0xc5, 0xa7, 0xba, 0x0e, 0x95, 0x31, 0x19, 0xfa, 0x91, 0x77, + 0x38, 0x3c, 0x6c, 0x65, 0x5b, 0x40, 0xff, 0x01, 0x60, 0x29, 0x7e, 0x67, 0x09, 0x83, 0xb8, 0x3f, + 0x3f, 0x88, 0xf7, 0x6f, 0x6e, 0xc2, 0x35, 0xb3, 0xb8, 0x05, 0xd7, 0xe6, 0x16, 0x4d, 0xad, 0xc5, + 0x2f, 0x80, 0x7a, 0xae, 0x51, 0x0c, 0xf7, 0x2e, 0x8d, 0xd8, 0x2a, 0x7c, 0xfe, 0x52, 0xcb, 0x1c, + 0xff, 0xaa, 0x67, 0xf4, 0xbf, 0x00, 0xca, 0x06, 0x2d, 0x61, 0x86, 0x1f, 0xc0, 0x42, 0xcf, 0x1f, + 0x0e, 0x53, 0xf3, 0x9b, 0xb8, 0xf4, 0x3c, 0x8a, 0xe3, 0x24, 0x43, 0x45, 0x10, 0xb2, 0xb0, 0x6c, + 0x46, 0xbd, 0x4a, 0x4e, 0x16, 0x72, 0x4b, 0x70, 0xef, 0x24, 0x51, 0x9c, 0xca, 0x50, 0x75, 0xb8, + 0x62, 0x8a, 0x7d, 0xf5, 0x2a, 0x79, 0x99, 0x0b, 0x83, 0x69, 0x6d, 0x45, 0x6e, 0xb0, 0x87, 0xa3, + 0x1b, 0xfd, 0x53, 0x16, 0xde, 0x16, 0xc5, 0xc6, 0x7e, 0xee, 0x11, 0xc7, 0x61, 0x96, 0xb9, 0x84, + 0xda, 0x5f, 0xc3, 0x42, 0xa4, 0x75, 0x12, 0xfd, 0x3d, 0x6f, 0xb4, 0x43, 0x89, 0x41, 0xb1, 0x62, + 0x9c, 0xd0, 0x24, 0x2b, 0x99, 0xfb, 0xaf, 0x95, 0xd4, 0xbf, 0x02, 0x58, 0x10, 0xc7, 0x25, 0x0c, + 0xfe, 0xcb, 0xf9, 0xc1, 0xbf, 0xbb, 0x78, 0xf0, 0x85, 0xb0, 0xab, 0x87, 0xbe, 0xdd, 0x38, 0x39, + 0xd7, 0x32, 0xa7, 0xe7, 0x5a, 0xe6, 0xec, 0x5c, 0xcb, 0x1c, 0x07, 0x1a, 0x38, 0x09, 0x34, 0x70, + 0x1a, 0x68, 0xe0, 0x2c, 0xd0, 0xc0, 0xef, 0x40, 0x03, 0x1f, 0xff, 0x68, 0x99, 0xc3, 0xec, 0xb8, + 0xf9, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x57, 0xb1, 0x39, 0x38, 0x6d, 0x08, 0x00, 0x00, +} diff --git a/vendor/github.com/openshift/api/user/v1/generated.proto b/vendor/github.com/openshift/api/user/v1/generated.proto new file mode 100644 index 000000000..e23ef3806 --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/generated.proto @@ -0,0 +1,116 @@ + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package github.com.openshift.api.user.v1; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1"; + +// Group represents a referenceable set of Users +message Group { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Users is the list of users in this group. + optional OptionalNames users = 2; +} + +// GroupList is a collection of Groups +message GroupList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of groups + repeated Group items = 2; +} + +// Identity records a successful authentication of a user with an identity provider. The +// information about the source of authentication is stored on the identity, and the identity +// is then associated with a single user object. Multiple identities can reference a single +// user. Information retrieved from the authentication provider is stored in the extra field +// using a schema determined by the provider. +message Identity { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // ProviderName is the source of identity information + optional string providerName = 2; + + // ProviderUserName uniquely represents this identity in the scope of the provider + optional string providerUserName = 3; + + // User is a reference to the user this identity is associated with + // Both Name and UID must be set + optional k8s.io.api.core.v1.ObjectReference user = 4; + + // Extra holds extra information about this identity + map extra = 5; +} + +// IdentityList is a collection of Identities +message IdentityList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of identities + repeated Identity items = 2; +} + +// OptionalNames is an array that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +message OptionalNames { + // items, if empty, will result in an empty slice + + repeated string items = 1; +} + +// Upon log in, every user of the system receives a User and Identity resource. Administrators +// may directly manipulate the attributes of the users for their own tracking, or set groups +// via the API. The user name is unique and is chosen based on the value provided by the +// identity provider - if a user already exists with the incoming name, the user name may have +// a number appended to it depending on the configuration of the system. +message User { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // FullName is the full name of user + optional string fullName = 2; + + // Identities are the identities associated with this user + repeated string identities = 3; + + // Groups specifies group names this user is a member of. + // This field is deprecated and will be removed in a future release. + // Instead, create a Group object containing the name of this User. + repeated string groups = 4; +} + +// UserIdentityMapping maps a user to an identity +message UserIdentityMapping { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Identity is a reference to an identity + optional k8s.io.api.core.v1.ObjectReference identity = 2; + + // User is a reference to a user + optional k8s.io.api.core.v1.ObjectReference user = 3; +} + +// UserList is a collection of Users +message UserList { + // Standard object's metadata. + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items is the list of users + repeated User items = 2; +} + diff --git a/vendor/github.com/openshift/api/user/v1/legacy.go b/vendor/github.com/openshift/api/user/v1/legacy.go new file mode 100644 index 000000000..6817a9f1f --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/legacy.go @@ -0,0 +1,27 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + legacyGroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + legacySchemeBuilder = runtime.NewSchemeBuilder(addLegacyKnownTypes, corev1.AddToScheme) + DeprecatedInstallWithoutGroup = legacySchemeBuilder.AddToScheme +) + +func addLegacyKnownTypes(scheme *runtime.Scheme) error { + types := []runtime.Object{ + &User{}, + &UserList{}, + &Identity{}, + &IdentityList{}, + &UserIdentityMapping{}, + &Group{}, + &GroupList{}, + } + scheme.AddKnownTypes(legacyGroupVersion, types...) + return nil +} diff --git a/vendor/github.com/openshift/api/user/v1/register.go b/vendor/github.com/openshift/api/user/v1/register.go new file mode 100644 index 000000000..11341d72a --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/register.go @@ -0,0 +1,44 @@ +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "user.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, corev1.AddToScheme) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &User{}, + &UserList{}, + &Identity{}, + &IdentityList{}, + &UserIdentityMapping{}, + &Group{}, + &GroupList{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/user/v1/types.go b/vendor/github.com/openshift/api/user/v1/types.go new file mode 100644 index 000000000..6881b1728 --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/types.go @@ -0,0 +1,135 @@ +package v1 + +import ( + "fmt" + + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Upon log in, every user of the system receives a User and Identity resource. Administrators +// may directly manipulate the attributes of the users for their own tracking, or set groups +// via the API. The user name is unique and is chosen based on the value provided by the +// identity provider - if a user already exists with the incoming name, the user name may have +// a number appended to it depending on the configuration of the system. +type User struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // FullName is the full name of user + FullName string `json:"fullName,omitempty" protobuf:"bytes,2,opt,name=fullName"` + + // Identities are the identities associated with this user + Identities []string `json:"identities" protobuf:"bytes,3,rep,name=identities"` + + // Groups specifies group names this user is a member of. + // This field is deprecated and will be removed in a future release. + // Instead, create a Group object containing the name of this User. + Groups []string `json:"groups" protobuf:"bytes,4,rep,name=groups"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// UserList is a collection of Users +type UserList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of users + Items []User `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Identity records a successful authentication of a user with an identity provider. The +// information about the source of authentication is stored on the identity, and the identity +// is then associated with a single user object. Multiple identities can reference a single +// user. Information retrieved from the authentication provider is stored in the extra field +// using a schema determined by the provider. +type Identity struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // ProviderName is the source of identity information + ProviderName string `json:"providerName" protobuf:"bytes,2,opt,name=providerName"` + + // ProviderUserName uniquely represents this identity in the scope of the provider + ProviderUserName string `json:"providerUserName" protobuf:"bytes,3,opt,name=providerUserName"` + + // User is a reference to the user this identity is associated with + // Both Name and UID must be set + User corev1.ObjectReference `json:"user" protobuf:"bytes,4,opt,name=user"` + + // Extra holds extra information about this identity + Extra map[string]string `json:"extra,omitempty" protobuf:"bytes,5,rep,name=extra"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// IdentityList is a collection of Identities +type IdentityList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of identities + Items []Identity `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// +genclient +// +genclient:nonNamespaced +// +genclient:onlyVerbs=get,create,update,delete +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// UserIdentityMapping maps a user to an identity +type UserIdentityMapping struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Identity is a reference to an identity + Identity corev1.ObjectReference `json:"identity,omitempty" protobuf:"bytes,2,opt,name=identity"` + // User is a reference to a user + User corev1.ObjectReference `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"` +} + +// OptionalNames is an array that may also be left nil to distinguish between set and unset. +// +protobuf.nullable=true +// +protobuf.options.(gogoproto.goproto_stringer)=false +type OptionalNames []string + +func (t OptionalNames) String() string { + return fmt.Sprintf("%v", []string(t)) +} + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Group represents a referenceable set of Users +type Group struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Users is the list of users in this group. + Users OptionalNames `json:"users" protobuf:"bytes,2,rep,name=users"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// GroupList is a collection of Groups +type GroupList struct { + metav1.TypeMeta `json:",inline"` + // Standard object's metadata. + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + // Items is the list of groups + Items []Group `json:"items" protobuf:"bytes,2,rep,name=items"` +} diff --git a/vendor/github.com/openshift/api/user/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/user/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..add14790e --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/zz_generated.deepcopy.go @@ -0,0 +1,257 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Group) DeepCopyInto(out *Group) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Users != nil { + in, out := &in.Users, &out.Users + *out = make(OptionalNames, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group. +func (in *Group) DeepCopy() *Group { + if in == nil { + return nil + } + out := new(Group) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Group) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *GroupList) DeepCopyInto(out *GroupList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Group, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList. +func (in *GroupList) DeepCopy() *GroupList { + if in == nil { + return nil + } + out := new(GroupList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *GroupList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Identity) DeepCopyInto(out *Identity) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.User = in.User + if in.Extra != nil { + in, out := &in.Extra, &out.Extra + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Identity. +func (in *Identity) DeepCopy() *Identity { + if in == nil { + return nil + } + out := new(Identity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Identity) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IdentityList) DeepCopyInto(out *IdentityList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Identity, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityList. +func (in *IdentityList) DeepCopy() *IdentityList { + if in == nil { + return nil + } + out := new(IdentityList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IdentityList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in OptionalNames) DeepCopyInto(out *OptionalNames) { + { + in := &in + *out = make(OptionalNames, len(*in)) + copy(*out, *in) + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionalNames. +func (in OptionalNames) DeepCopy() OptionalNames { + if in == nil { + return nil + } + out := new(OptionalNames) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *User) DeepCopyInto(out *User) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Identities != nil { + in, out := &in.Identities, &out.Identities + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Groups != nil { + in, out := &in.Groups, &out.Groups + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User. +func (in *User) DeepCopy() *User { + if in == nil { + return nil + } + out := new(User) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *User) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserIdentityMapping) DeepCopyInto(out *UserIdentityMapping) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Identity = in.Identity + out.User = in.User + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserIdentityMapping. +func (in *UserIdentityMapping) DeepCopy() *UserIdentityMapping { + if in == nil { + return nil + } + out := new(UserIdentityMapping) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UserIdentityMapping) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserList) DeepCopyInto(out *UserList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]User, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList. +func (in *UserList) DeepCopy() *UserList { + if in == nil { + return nil + } + out := new(UserList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UserList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..0b30f12b8 --- /dev/null +++ b/vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,90 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_Group = map[string]string{ + "": "Group represents a referenceable set of Users", + "metadata": "Standard object's metadata.", + "users": "Users is the list of users in this group.", +} + +func (Group) SwaggerDoc() map[string]string { + return map_Group +} + +var map_GroupList = map[string]string{ + "": "GroupList is a collection of Groups", + "metadata": "Standard object's metadata.", + "items": "Items is the list of groups", +} + +func (GroupList) SwaggerDoc() map[string]string { + return map_GroupList +} + +var map_Identity = map[string]string{ + "": "Identity records a successful authentication of a user with an identity provider. The information about the source of authentication is stored on the identity, and the identity is then associated with a single user object. Multiple identities can reference a single user. Information retrieved from the authentication provider is stored in the extra field using a schema determined by the provider.", + "metadata": "Standard object's metadata.", + "providerName": "ProviderName is the source of identity information", + "providerUserName": "ProviderUserName uniquely represents this identity in the scope of the provider", + "user": "User is a reference to the user this identity is associated with Both Name and UID must be set", + "extra": "Extra holds extra information about this identity", +} + +func (Identity) SwaggerDoc() map[string]string { + return map_Identity +} + +var map_IdentityList = map[string]string{ + "": "IdentityList is a collection of Identities", + "metadata": "Standard object's metadata.", + "items": "Items is the list of identities", +} + +func (IdentityList) SwaggerDoc() map[string]string { + return map_IdentityList +} + +var map_User = map[string]string{ + "": "Upon log in, every user of the system receives a User and Identity resource. Administrators may directly manipulate the attributes of the users for their own tracking, or set groups via the API. The user name is unique and is chosen based on the value provided by the identity provider - if a user already exists with the incoming name, the user name may have a number appended to it depending on the configuration of the system.", + "metadata": "Standard object's metadata.", + "fullName": "FullName is the full name of user", + "identities": "Identities are the identities associated with this user", + "groups": "Groups specifies group names this user is a member of. This field is deprecated and will be removed in a future release. Instead, create a Group object containing the name of this User.", +} + +func (User) SwaggerDoc() map[string]string { + return map_User +} + +var map_UserIdentityMapping = map[string]string{ + "": "UserIdentityMapping maps a user to an identity", + "metadata": "Standard object's metadata.", + "identity": "Identity is a reference to an identity", + "user": "User is a reference to a user", +} + +func (UserIdentityMapping) SwaggerDoc() map[string]string { + return map_UserIdentityMapping +} + +var map_UserList = map[string]string{ + "": "UserList is a collection of Users", + "metadata": "Standard object's metadata.", + "items": "Items is the list of users", +} + +func (UserList) SwaggerDoc() map[string]string { + return map_UserList +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/api/webconsole/install.go b/vendor/github.com/openshift/api/webconsole/install.go new file mode 100644 index 000000000..645e5275e --- /dev/null +++ b/vendor/github.com/openshift/api/webconsole/install.go @@ -0,0 +1,26 @@ +package webconsole + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + webconsolev1 "github.com/openshift/api/webconsole/v1" +) + +const ( + GroupName = "webconsole.openshift.io" +) + +var ( + schemeBuilder = runtime.NewSchemeBuilder(webconsolev1.Install) + // Install is a function which adds every version of this group to a scheme + Install = schemeBuilder.AddToScheme +) + +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +func Kind(kind string) schema.GroupKind { + return schema.GroupKind{Group: GroupName, Kind: kind} +} diff --git a/vendor/github.com/openshift/api/webconsole/v1/doc.go b/vendor/github.com/openshift/api/webconsole/v1/doc.go new file mode 100644 index 000000000..1e2bcbd0c --- /dev/null +++ b/vendor/github.com/openshift/api/webconsole/v1/doc.go @@ -0,0 +1,8 @@ +// +k8s:deepcopy-gen=package,register +// +k8s:conversion-gen=github.com/openshift/origin-web-console-server/pkg/apis/webconsole +// +k8s:defaulter-gen=TypeMeta +// +k8s:openapi-gen=true + +// +groupName=webconsole.config.openshift.io +// Package v1 is the v1 version of the API. +package v1 diff --git a/vendor/github.com/openshift/api/webconsole/v1/register.go b/vendor/github.com/openshift/api/webconsole/v1/register.go new file mode 100644 index 000000000..de85ae111 --- /dev/null +++ b/vendor/github.com/openshift/api/webconsole/v1/register.go @@ -0,0 +1,38 @@ +package v1 + +import ( + configv1 "github.com/openshift/api/config/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + GroupName = "webconsole.config.openshift.io" + GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + schemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, configv1.Install) + // Install is a function which adds this version to a scheme + Install = schemeBuilder.AddToScheme + + // SchemeGroupVersion generated code relies on this name + // Deprecated + SchemeGroupVersion = GroupVersion + // AddToScheme exists solely to keep the old generators creating valid code + // DEPRECATED + AddToScheme = schemeBuilder.AddToScheme +) + +// Resource generated code relies on this being here, but it logically belongs to the group +// DEPRECATED +func Resource(resource string) schema.GroupResource { + return schema.GroupResource{Group: GroupName, Resource: resource} +} + +// Adds the list of known types to api.Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(GroupVersion, + &WebConsoleConfiguration{}, + ) + metav1.AddToGroupVersion(scheme, GroupVersion) + return nil +} diff --git a/vendor/github.com/openshift/api/webconsole/v1/types.go b/vendor/github.com/openshift/api/webconsole/v1/types.go new file mode 100644 index 000000000..27a62e77f --- /dev/null +++ b/vendor/github.com/openshift/api/webconsole/v1/types.go @@ -0,0 +1,75 @@ +package v1 + +import ( + configv1 "github.com/openshift/api/config/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// WebConsoleConfiguration holds the necessary configuration options for serving the web console +type WebConsoleConfiguration struct { + metav1.TypeMeta `json:",inline"` + + // ServingInfo is the HTTP serving information for these assets + ServingInfo configv1.HTTPServingInfo `json:"servingInfo"` + + // ClusterInfo holds information the web console needs to talk to the cluster such as master public URL + // and metrics public URL + ClusterInfo ClusterInfo `json:"clusterInfo"` + + // Features define various feature gates for the web console + Features FeaturesConfiguration `json:"features"` + + // Extensions define custom scripts, stylesheets, and properties used for web console customization + Extensions ExtensionsConfiguration `json:"extensions"` +} + +// ClusterInfo holds information the web console needs to talk to the cluster such as master public URL and +// metrics public URL +type ClusterInfo struct { + // ConsolePublicURL is where you can find the web console server (TODO do we really need this?) + ConsolePublicURL string `json:"consolePublicURL"` + + // MasterPublicURL is how the web console can access the OpenShift v1 server + MasterPublicURL string `json:"masterPublicURL"` + + // LoggingPublicURL is the public endpoint for logging (optional) + LoggingPublicURL string `json:"loggingPublicURL"` + + // MetricsPublicURL is the public endpoint for metrics (optional) + MetricsPublicURL string `json:"metricsPublicURL"` + + // LogoutPublicURL is an optional, absolute URL to redirect web browsers to after logging out of the web + // console. If not specified, the built-in logout page is shown. + LogoutPublicURL string `json:"logoutPublicURL"` + + // AdminConsolePublicURL is an optional, public URL of the OpenShift admin console. If specified, the web + // console will add a link to the admin console in a context selector in its masthead. + AdminConsolePublicURL string `json:"adminConsolePublicURL"` +} + +// FeaturesConfiguration defines various feature gates for the web console +type FeaturesConfiguration struct { + // InactivityTimeoutMinutes is the number of minutes of inactivity before you are automatically logged out of + // the web console (optional). If set to 0, inactivity timeout is disabled. + InactivityTimeoutMinutes int64 `json:"inactivityTimeoutMinutes"` + + // ClusterResourceOverridesEnabled indicates that the cluster is configured for overcommit. When set to + // true, the web console will hide the CPU request, CPU limit, and memory request fields in its editors + // and skip validation on those fields. The memory limit field will still be displayed. + ClusterResourceOverridesEnabled bool `json:"clusterResourceOverridesEnabled"` +} + +// ExtensionsConfiguration holds custom script, stylesheets, and properties used for web console customization +type ExtensionsConfiguration struct { + // ScriptURLs are URLs to load as scripts when the Web Console loads. The URLs must be accessible from + // the browser. + ScriptURLs []string `json:"scriptURLs"` + // StylesheetURLs are URLs to load as stylesheets when the Web Console loads. The URLs must be accessible + // from the browser. + StylesheetURLs []string `json:"stylesheetURLs"` + // Properties are key(string) and value(string) pairs that will be injected into the console under the + // global variable OPENSHIFT_EXTENSION_PROPERTIES + Properties map[string]string `json:"properties"` +} diff --git a/vendor/github.com/openshift/api/webconsole/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/webconsole/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..c21658740 --- /dev/null +++ b/vendor/github.com/openshift/api/webconsole/v1/zz_generated.deepcopy.go @@ -0,0 +1,103 @@ +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterInfo) DeepCopyInto(out *ClusterInfo) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInfo. +func (in *ClusterInfo) DeepCopy() *ClusterInfo { + if in == nil { + return nil + } + out := new(ClusterInfo) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtensionsConfiguration) DeepCopyInto(out *ExtensionsConfiguration) { + *out = *in + if in.ScriptURLs != nil { + in, out := &in.ScriptURLs, &out.ScriptURLs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.StylesheetURLs != nil { + in, out := &in.StylesheetURLs, &out.StylesheetURLs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionsConfiguration. +func (in *ExtensionsConfiguration) DeepCopy() *ExtensionsConfiguration { + if in == nil { + return nil + } + out := new(ExtensionsConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FeaturesConfiguration) DeepCopyInto(out *FeaturesConfiguration) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeaturesConfiguration. +func (in *FeaturesConfiguration) DeepCopy() *FeaturesConfiguration { + if in == nil { + return nil + } + out := new(FeaturesConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WebConsoleConfiguration) DeepCopyInto(out *WebConsoleConfiguration) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ServingInfo.DeepCopyInto(&out.ServingInfo) + out.ClusterInfo = in.ClusterInfo + out.Features = in.Features + in.Extensions.DeepCopyInto(&out.Extensions) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebConsoleConfiguration. +func (in *WebConsoleConfiguration) DeepCopy() *WebConsoleConfiguration { + if in == nil { + return nil + } + out := new(WebConsoleConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *WebConsoleConfiguration) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/vendor/github.com/openshift/api/webconsole/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/webconsole/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 000000000..850d7c34d --- /dev/null +++ b/vendor/github.com/openshift/api/webconsole/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,61 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_ClusterInfo = map[string]string{ + "": "ClusterInfo holds information the web console needs to talk to the cluster such as master public URL and metrics public URL", + "consolePublicURL": "ConsolePublicURL is where you can find the web console server (TODO do we really need this?)", + "masterPublicURL": "MasterPublicURL is how the web console can access the OpenShift v1 server", + "loggingPublicURL": "LoggingPublicURL is the public endpoint for logging (optional)", + "metricsPublicURL": "MetricsPublicURL is the public endpoint for metrics (optional)", + "logoutPublicURL": "LogoutPublicURL is an optional, absolute URL to redirect web browsers to after logging out of the web console. If not specified, the built-in logout page is shown.", + "adminConsolePublicURL": "AdminConsolePublicURL is an optional, public URL of the OpenShift admin console. If specified, the web console will add a link to the admin console in a context selector in its masthead.", +} + +func (ClusterInfo) SwaggerDoc() map[string]string { + return map_ClusterInfo +} + +var map_ExtensionsConfiguration = map[string]string{ + "": "ExtensionsConfiguration holds custom script, stylesheets, and properties used for web console customization", + "scriptURLs": "ScriptURLs are URLs to load as scripts when the Web Console loads. The URLs must be accessible from the browser.", + "stylesheetURLs": "StylesheetURLs are URLs to load as stylesheets when the Web Console loads. The URLs must be accessible from the browser.", + "properties": "Properties are key(string) and value(string) pairs that will be injected into the console under the global variable OPENSHIFT_EXTENSION_PROPERTIES", +} + +func (ExtensionsConfiguration) SwaggerDoc() map[string]string { + return map_ExtensionsConfiguration +} + +var map_FeaturesConfiguration = map[string]string{ + "": "FeaturesConfiguration defines various feature gates for the web console", + "inactivityTimeoutMinutes": "InactivityTimeoutMinutes is the number of minutes of inactivity before you are automatically logged out of the web console (optional). If set to 0, inactivity timeout is disabled.", + "clusterResourceOverridesEnabled": "ClusterResourceOverridesEnabled indicates that the cluster is configured for overcommit. When set to true, the web console will hide the CPU request, CPU limit, and memory request fields in its editors and skip validation on those fields. The memory limit field will still be displayed.", +} + +func (FeaturesConfiguration) SwaggerDoc() map[string]string { + return map_FeaturesConfiguration +} + +var map_WebConsoleConfiguration = map[string]string{ + "": "WebConsoleConfiguration holds the necessary configuration options for serving the web console", + "servingInfo": "ServingInfo is the HTTP serving information for these assets", + "clusterInfo": "ClusterInfo holds information the web console needs to talk to the cluster such as master public URL and metrics public URL", + "features": "Features define various feature gates for the web console", + "extensions": "Extensions define custom scripts, stylesheets, and properties used for web console customization", +} + +func (WebConsoleConfiguration) SwaggerDoc() map[string]string { + return map_WebConsoleConfiguration +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/vendor/github.com/openshift/client-go/.gitignore b/vendor/github.com/openshift/client-go/.gitignore new file mode 100644 index 000000000..480ebf25a --- /dev/null +++ b/vendor/github.com/openshift/client-go/.gitignore @@ -0,0 +1,20 @@ +/_output +/third-party +/.project +/.vagrant +/.vscode +/.settings +/cpu.pprof +/os-version-defs +/.make/ +*.swp +.vimrc +.DS_Store +.idea +origin.iml +*.pyc +.tag* +.project +*.go~ +tags +.envrc diff --git a/vendor/github.com/openshift/client-go/.travis.yml b/vendor/github.com/openshift/client-go/.travis.yml new file mode 100644 index 000000000..a4b98a3af --- /dev/null +++ b/vendor/github.com/openshift/client-go/.travis.yml @@ -0,0 +1,12 @@ +language: go + +go: + - 1.9 + +script: + - make verify build build-examples + +notifications: + irc: "chat.freenode.net#openshift-dev" + +sudo: false diff --git a/vendor/github.com/openshift/client-go/INSTALL.md b/vendor/github.com/openshift/client-go/INSTALL.md new file mode 100644 index 000000000..dc294f1b7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/INSTALL.md @@ -0,0 +1,36 @@ +# Installing client-go +It is described here how to include the APIs provided by this repo into +your (GoLang-)project. If it is desired to compile and run examples in +the context of this repo, follow the README files in the example folders. + +## Dependency management + +### Glide + +[Glide](https://github.com/Masterminds/glide) is a popular dependency +management tool for Go. Here we describe steps which are similar to +[k8s client-go](https://github.com/kubernetes/client-go/blob/master/INSTALL.md). + + +First create a `glide.yaml` file at the root of your project: + +```yaml +package: ( your project's import path ) # e.g. github.com/foo/bar +import: +- package: github.com/openshift/client-go + #version: xxx #you can specify the version if needed +``` + +Second, add a Go file that imports `client-go` somewhere in your project, +otherwise `client-go`'s dependencies will not be added to your project's +vendor/. Then run the following command in the same directory as `glide.yaml`: + +```sh +$ glide update --strip-vendor +### Or, for short +$ glide up -v +``` + +At this point, `k8s.io/client-go` should be added to your project's vendor/. +`client-go`'s dependencies should be flattened and be added to your project's +vendor/ as well. \ No newline at end of file diff --git a/vendor/github.com/openshift/client-go/LICENSE b/vendor/github.com/openshift/client-go/LICENSE new file mode 100644 index 000000000..c4ea8b6f9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/LICENSE @@ -0,0 +1,191 @@ + + 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 + + Copyright 2014 Red Hat, 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 + + 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/openshift/client-go/Makefile b/vendor/github.com/openshift/client-go/Makefile new file mode 100644 index 000000000..223a0a0e5 --- /dev/null +++ b/vendor/github.com/openshift/client-go/Makefile @@ -0,0 +1,34 @@ +all: build +.PHONY: all + +build: + go build github.com/openshift/client-go/apps/... + go build github.com/openshift/client-go/authorization/... + go build github.com/openshift/client-go/build/... + go build github.com/openshift/client-go/image/... + go build github.com/openshift/client-go/network/... + go build github.com/openshift/client-go/oauth/... + go build github.com/openshift/client-go/project/... + go build github.com/openshift/client-go/quota/... + go build github.com/openshift/client-go/route/... + go build github.com/openshift/client-go/security/... + go build github.com/openshift/client-go/servicecertsigner/... + go build github.com/openshift/client-go/template/... + go build github.com/openshift/client-go/user/... +.PHONY: build + +build-examples: + go build -o examples/build/app github.com/openshift/client-go/examples/build/... +.PHONY: build-examples + +verify: + hack/verify-codegen.sh +.PHONY: verify + +generate: + hack/update-codegen.sh +.PHONY: generate + +update-deps: + hack/update-deps.sh +.PHONY: update-deps diff --git a/vendor/github.com/openshift/client-go/OWNERS b/vendor/github.com/openshift/client-go/OWNERS new file mode 100644 index 000000000..b372622b7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/OWNERS @@ -0,0 +1,8 @@ +reviewers: + - smarterclayton + - deads2k + - sttts +approvers: + - smarterclayton + - deads2k + - sttts diff --git a/vendor/github.com/openshift/client-go/README.md b/vendor/github.com/openshift/client-go/README.md new file mode 100644 index 000000000..0f2a27d52 --- /dev/null +++ b/vendor/github.com/openshift/client-go/README.md @@ -0,0 +1,33 @@ +OpenShift Client in Go +============================== + + +Go clients for speaking to an OpenShift cluster. + +Versions track OpenShift releases. + +See [INSTALL.md](/INSTALL.md) for detailed installation instructions. + + +## Table of Contents + +- [How to use it](#how-to-use-it) + + +### How to use it + +See [examples](/examples). + +### Compatibility + +openshift/client-go is backwards compatible with prior server versions back to +v3.6 when we switched to API groups. It is not compatible before that. + +Keep in mind that using a newer client is generally safe, but the server will +strip newer fields it doesn't understand from objects. That means that if you're +trying to use a new feature on an old server, the server will do the best it can, +but you still won't have the new feature. + +Using an older client can be risky if you issue updates (not patches) to existing +resources. The older client will remove newer fields on updates. You will not have +this problem if you issue patches instead of updates. \ No newline at end of file diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/clientset.go new file mode 100644 index 000000000..d0423cdf6 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + appsv1 "github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + AppsV1() appsv1.AppsV1Interface + // Deprecated: please explicitly pick a version if possible. + Apps() appsv1.AppsV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + appsV1 *appsv1.AppsV1Client +} + +// AppsV1 retrieves the AppsV1Client +func (c *Clientset) AppsV1() appsv1.AppsV1Interface { + return c.appsV1 +} + +// Deprecated: Apps retrieves the default version of AppsClient. +// Please explicitly pick a version. +func (c *Clientset) Apps() appsv1.AppsV1Interface { + return c.appsV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.appsV1, err = appsv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.appsV1 = appsv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.appsV1 = appsv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..27e3c160b --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/apps/clientset/versioned" + appsv1 "github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1" + fakeappsv1 "github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// AppsV1 retrieves the AppsV1Client +func (c *Clientset) AppsV1() appsv1.AppsV1Interface { + return &fakeappsv1.FakeAppsV1{Fake: &c.Fake} +} + +// Apps retrieves the AppsV1Client +func (c *Clientset) Apps() appsv1.AppsV1Interface { + return &fakeappsv1.FakeAppsV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/register.go new file mode 100644 index 000000000..3ab4f7d1b --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + appsv1 "github.com/openshift/api/apps/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + appsv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..3df3ed17e --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + appsv1 "github.com/openshift/api/apps/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + appsv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/apps_client.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/apps_client.go new file mode 100644 index 000000000..271ed3629 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/apps_client.go @@ -0,0 +1,74 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/apps/v1" + "github.com/openshift/client-go/apps/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type AppsV1Interface interface { + RESTClient() rest.Interface + DeploymentConfigsGetter +} + +// AppsV1Client is used to interact with features provided by the apps.openshift.io group. +type AppsV1Client struct { + restClient rest.Interface +} + +func (c *AppsV1Client) DeploymentConfigs(namespace string) DeploymentConfigInterface { + return newDeploymentConfigs(c, namespace) +} + +// NewForConfig creates a new AppsV1Client for the given config. +func NewForConfig(c *rest.Config) (*AppsV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &AppsV1Client{client}, nil +} + +// NewForConfigOrDie creates a new AppsV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *AppsV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new AppsV1Client for the given RESTClient. +func New(c rest.Interface) *AppsV1Client { + return &AppsV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *AppsV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/deploymentconfig.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/deploymentconfig.go new file mode 100644 index 000000000..84f453d12 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/deploymentconfig.go @@ -0,0 +1,220 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/apps/v1" + scheme "github.com/openshift/client-go/apps/clientset/versioned/scheme" + v1beta1 "k8s.io/api/extensions/v1beta1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// DeploymentConfigsGetter has a method to return a DeploymentConfigInterface. +// A group's client should implement this interface. +type DeploymentConfigsGetter interface { + DeploymentConfigs(namespace string) DeploymentConfigInterface +} + +// DeploymentConfigInterface has methods to work with DeploymentConfig resources. +type DeploymentConfigInterface interface { + Create(*v1.DeploymentConfig) (*v1.DeploymentConfig, error) + Update(*v1.DeploymentConfig) (*v1.DeploymentConfig, error) + UpdateStatus(*v1.DeploymentConfig) (*v1.DeploymentConfig, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.DeploymentConfig, error) + List(opts meta_v1.ListOptions) (*v1.DeploymentConfigList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.DeploymentConfig, err error) + Instantiate(deploymentConfigName string, deploymentRequest *v1.DeploymentRequest) (*v1.DeploymentConfig, error) + Rollback(deploymentConfigName string, deploymentConfigRollback *v1.DeploymentConfigRollback) (*v1.DeploymentConfig, error) + GetScale(deploymentConfigName string, options meta_v1.GetOptions) (*v1beta1.Scale, error) + UpdateScale(deploymentConfigName string, scale *v1beta1.Scale) (*v1beta1.Scale, error) + + DeploymentConfigExpansion +} + +// deploymentConfigs implements DeploymentConfigInterface +type deploymentConfigs struct { + client rest.Interface + ns string +} + +// newDeploymentConfigs returns a DeploymentConfigs +func newDeploymentConfigs(c *AppsV1Client, namespace string) *deploymentConfigs { + return &deploymentConfigs{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the deploymentConfig, and returns the corresponding deploymentConfig object, and an error if there is any. +func (c *deploymentConfigs) Get(name string, options meta_v1.GetOptions) (result *v1.DeploymentConfig, err error) { + result = &v1.DeploymentConfig{} + err = c.client.Get(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of DeploymentConfigs that match those selectors. +func (c *deploymentConfigs) List(opts meta_v1.ListOptions) (result *v1.DeploymentConfigList, err error) { + result = &v1.DeploymentConfigList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("deploymentconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested deploymentConfigs. +func (c *deploymentConfigs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("deploymentconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a deploymentConfig and creates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *deploymentConfigs) Create(deploymentConfig *v1.DeploymentConfig) (result *v1.DeploymentConfig, err error) { + result = &v1.DeploymentConfig{} + err = c.client.Post(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Body(deploymentConfig). + Do(). + Into(result) + return +} + +// Update takes the representation of a deploymentConfig and updates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *deploymentConfigs) Update(deploymentConfig *v1.DeploymentConfig) (result *v1.DeploymentConfig, err error) { + result = &v1.DeploymentConfig{} + err = c.client.Put(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(deploymentConfig.Name). + Body(deploymentConfig). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *deploymentConfigs) UpdateStatus(deploymentConfig *v1.DeploymentConfig) (result *v1.DeploymentConfig, err error) { + result = &v1.DeploymentConfig{} + err = c.client.Put(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(deploymentConfig.Name). + SubResource("status"). + Body(deploymentConfig). + Do(). + Into(result) + return +} + +// Delete takes name of the deploymentConfig and deletes it. Returns an error if one occurs. +func (c *deploymentConfigs) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *deploymentConfigs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("deploymentconfigs"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched deploymentConfig. +func (c *deploymentConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.DeploymentConfig, err error) { + result = &v1.DeploymentConfig{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("deploymentconfigs"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} + +// Instantiate takes the representation of a deploymentRequest and creates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *deploymentConfigs) Instantiate(deploymentConfigName string, deploymentRequest *v1.DeploymentRequest) (result *v1.DeploymentConfig, err error) { + result = &v1.DeploymentConfig{} + err = c.client.Post(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(deploymentConfigName). + SubResource("instantiate"). + Body(deploymentRequest). + Do(). + Into(result) + return +} + +// Rollback takes the representation of a deploymentConfigRollback and creates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *deploymentConfigs) Rollback(deploymentConfigName string, deploymentConfigRollback *v1.DeploymentConfigRollback) (result *v1.DeploymentConfig, err error) { + result = &v1.DeploymentConfig{} + err = c.client.Post(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(deploymentConfigName). + SubResource("rollback"). + Body(deploymentConfigRollback). + Do(). + Into(result) + return +} + +// GetScale takes name of the deploymentConfig, and returns the corresponding v1beta1.Scale object, and an error if there is any. +func (c *deploymentConfigs) GetScale(deploymentConfigName string, options meta_v1.GetOptions) (result *v1beta1.Scale, err error) { + result = &v1beta1.Scale{} + err = c.client.Get(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(deploymentConfigName). + SubResource("scale"). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// UpdateScale takes the top resource name and the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any. +func (c *deploymentConfigs) UpdateScale(deploymentConfigName string, scale *v1beta1.Scale) (result *v1beta1.Scale, err error) { + result = &v1beta1.Scale{} + err = c.client.Put(). + Namespace(c.ns). + Resource("deploymentconfigs"). + Name(deploymentConfigName). + SubResource("scale"). + Body(scale). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/doc.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/doc.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_apps_client.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_apps_client.go new file mode 100644 index 000000000..db0133506 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_apps_client.go @@ -0,0 +1,24 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeAppsV1 struct { + *testing.Fake +} + +func (c *FakeAppsV1) DeploymentConfigs(namespace string) v1.DeploymentConfigInterface { + return &FakeDeploymentConfigs{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeAppsV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_deploymentconfig.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_deploymentconfig.go new file mode 100644 index 000000000..f594c5991 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/fake/fake_deploymentconfig.go @@ -0,0 +1,169 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + apps_v1 "github.com/openshift/api/apps/v1" + v1beta1 "k8s.io/api/extensions/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeDeploymentConfigs implements DeploymentConfigInterface +type FakeDeploymentConfigs struct { + Fake *FakeAppsV1 + ns string +} + +var deploymentconfigsResource = schema.GroupVersionResource{Group: "apps.openshift.io", Version: "v1", Resource: "deploymentconfigs"} + +var deploymentconfigsKind = schema.GroupVersionKind{Group: "apps.openshift.io", Version: "v1", Kind: "DeploymentConfig"} + +// Get takes name of the deploymentConfig, and returns the corresponding deploymentConfig object, and an error if there is any. +func (c *FakeDeploymentConfigs) Get(name string, options v1.GetOptions) (result *apps_v1.DeploymentConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(deploymentconfigsResource, c.ns, name), &apps_v1.DeploymentConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*apps_v1.DeploymentConfig), err +} + +// List takes label and field selectors, and returns the list of DeploymentConfigs that match those selectors. +func (c *FakeDeploymentConfigs) List(opts v1.ListOptions) (result *apps_v1.DeploymentConfigList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(deploymentconfigsResource, deploymentconfigsKind, c.ns, opts), &apps_v1.DeploymentConfigList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &apps_v1.DeploymentConfigList{ListMeta: obj.(*apps_v1.DeploymentConfigList).ListMeta} + for _, item := range obj.(*apps_v1.DeploymentConfigList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested deploymentConfigs. +func (c *FakeDeploymentConfigs) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(deploymentconfigsResource, c.ns, opts)) + +} + +// Create takes the representation of a deploymentConfig and creates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *FakeDeploymentConfigs) Create(deploymentConfig *apps_v1.DeploymentConfig) (result *apps_v1.DeploymentConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(deploymentconfigsResource, c.ns, deploymentConfig), &apps_v1.DeploymentConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*apps_v1.DeploymentConfig), err +} + +// Update takes the representation of a deploymentConfig and updates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *FakeDeploymentConfigs) Update(deploymentConfig *apps_v1.DeploymentConfig) (result *apps_v1.DeploymentConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(deploymentconfigsResource, c.ns, deploymentConfig), &apps_v1.DeploymentConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*apps_v1.DeploymentConfig), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeDeploymentConfigs) UpdateStatus(deploymentConfig *apps_v1.DeploymentConfig) (*apps_v1.DeploymentConfig, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(deploymentconfigsResource, "status", c.ns, deploymentConfig), &apps_v1.DeploymentConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*apps_v1.DeploymentConfig), err +} + +// Delete takes name of the deploymentConfig and deletes it. Returns an error if one occurs. +func (c *FakeDeploymentConfigs) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(deploymentconfigsResource, c.ns, name), &apps_v1.DeploymentConfig{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeDeploymentConfigs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(deploymentconfigsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &apps_v1.DeploymentConfigList{}) + return err +} + +// Patch applies the patch and returns the patched deploymentConfig. +func (c *FakeDeploymentConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *apps_v1.DeploymentConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(deploymentconfigsResource, c.ns, name, data, subresources...), &apps_v1.DeploymentConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*apps_v1.DeploymentConfig), err +} + +// Instantiate takes the representation of a deploymentRequest and creates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *FakeDeploymentConfigs) Instantiate(deploymentConfigName string, deploymentRequest *apps_v1.DeploymentRequest) (result *apps_v1.DeploymentConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateSubresourceAction(deploymentconfigsResource, deploymentConfigName, "instantiate", c.ns, deploymentRequest), &apps_v1.DeploymentConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*apps_v1.DeploymentConfig), err +} + +// Rollback takes the representation of a deploymentConfigRollback and creates it. Returns the server's representation of the deploymentConfig, and an error, if there is any. +func (c *FakeDeploymentConfigs) Rollback(deploymentConfigName string, deploymentConfigRollback *apps_v1.DeploymentConfigRollback) (result *apps_v1.DeploymentConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateSubresourceAction(deploymentconfigsResource, deploymentConfigName, "rollback", c.ns, deploymentConfigRollback), &apps_v1.DeploymentConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*apps_v1.DeploymentConfig), err +} + +// GetScale takes name of the deploymentConfig, and returns the corresponding scale object, and an error if there is any. +func (c *FakeDeploymentConfigs) GetScale(deploymentConfigName string, options v1.GetOptions) (result *v1beta1.Scale, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetSubresourceAction(deploymentconfigsResource, c.ns, "scale", deploymentConfigName), &v1beta1.Scale{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Scale), err +} + +// UpdateScale takes the representation of a scale and updates it. Returns the server's representation of the scale, and an error, if there is any. +func (c *FakeDeploymentConfigs) UpdateScale(deploymentConfigName string, scale *v1beta1.Scale) (result *v1beta1.Scale, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(deploymentconfigsResource, "scale", c.ns, scale), &v1beta1.Scale{}) + + if obj == nil { + return nil, err + } + return obj.(*v1beta1.Scale), err +} diff --git a/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/generated_expansion.go new file mode 100644 index 000000000..0545f8c09 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/clientset/versioned/typed/apps/v1/generated_expansion.go @@ -0,0 +1,5 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type DeploymentConfigExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/interface.go b/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/interface.go new file mode 100644 index 000000000..a10023dd5 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package apps + +import ( + v1 "github.com/openshift/client-go/apps/informers/externalversions/apps/v1" + internalinterfaces "github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/deploymentconfig.go b/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/deploymentconfig.go new file mode 100644 index 000000000..fc8dc8661 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/deploymentconfig.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + apps_v1 "github.com/openshift/api/apps/v1" + versioned "github.com/openshift/client-go/apps/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/apps/listers/apps/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// DeploymentConfigInformer provides access to a shared informer and lister for +// DeploymentConfigs. +type DeploymentConfigInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.DeploymentConfigLister +} + +type deploymentConfigInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewDeploymentConfigInformer constructs a new informer for DeploymentConfig type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewDeploymentConfigInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredDeploymentConfigInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredDeploymentConfigInformer constructs a new informer for DeploymentConfig type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredDeploymentConfigInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AppsV1().DeploymentConfigs(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AppsV1().DeploymentConfigs(namespace).Watch(options) + }, + }, + &apps_v1.DeploymentConfig{}, + resyncPeriod, + indexers, + ) +} + +func (f *deploymentConfigInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredDeploymentConfigInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *deploymentConfigInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&apps_v1.DeploymentConfig{}, f.defaultInformer) +} + +func (f *deploymentConfigInformer) Lister() v1.DeploymentConfigLister { + return v1.NewDeploymentConfigLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/interface.go b/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/interface.go new file mode 100644 index 000000000..e95a869d2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/informers/externalversions/apps/v1/interface.go @@ -0,0 +1,29 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // DeploymentConfigs returns a DeploymentConfigInformer. + DeploymentConfigs() DeploymentConfigInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// DeploymentConfigs returns a DeploymentConfigInformer. +func (v *version) DeploymentConfigs() DeploymentConfigInformer { + return &deploymentConfigInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/apps/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/apps/informers/externalversions/factory.go new file mode 100644 index 000000000..e29a202e8 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/apps/clientset/versioned" + apps "github.com/openshift/client-go/apps/informers/externalversions/apps" + internalinterfaces "github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Apps() apps.Interface +} + +func (f *sharedInformerFactory) Apps() apps.Interface { + return apps.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/apps/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/apps/informers/externalversions/generic.go new file mode 100644 index 000000000..7ea4a7c77 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/informers/externalversions/generic.go @@ -0,0 +1,46 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/apps/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=apps.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("deploymentconfigs"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1().DeploymentConfigs().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..e706fb1db --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/apps/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/apps/listers/apps/v1/deploymentconfig.go b/vendor/github.com/openshift/client-go/apps/listers/apps/v1/deploymentconfig.go new file mode 100644 index 000000000..e85f50374 --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/listers/apps/v1/deploymentconfig.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/apps/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// DeploymentConfigLister helps list DeploymentConfigs. +type DeploymentConfigLister interface { + // List lists all DeploymentConfigs in the indexer. + List(selector labels.Selector) (ret []*v1.DeploymentConfig, err error) + // DeploymentConfigs returns an object that can list and get DeploymentConfigs. + DeploymentConfigs(namespace string) DeploymentConfigNamespaceLister + DeploymentConfigListerExpansion +} + +// deploymentConfigLister implements the DeploymentConfigLister interface. +type deploymentConfigLister struct { + indexer cache.Indexer +} + +// NewDeploymentConfigLister returns a new DeploymentConfigLister. +func NewDeploymentConfigLister(indexer cache.Indexer) DeploymentConfigLister { + return &deploymentConfigLister{indexer: indexer} +} + +// List lists all DeploymentConfigs in the indexer. +func (s *deploymentConfigLister) List(selector labels.Selector) (ret []*v1.DeploymentConfig, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.DeploymentConfig)) + }) + return ret, err +} + +// DeploymentConfigs returns an object that can list and get DeploymentConfigs. +func (s *deploymentConfigLister) DeploymentConfigs(namespace string) DeploymentConfigNamespaceLister { + return deploymentConfigNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// DeploymentConfigNamespaceLister helps list and get DeploymentConfigs. +type DeploymentConfigNamespaceLister interface { + // List lists all DeploymentConfigs in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.DeploymentConfig, err error) + // Get retrieves the DeploymentConfig from the indexer for a given namespace and name. + Get(name string) (*v1.DeploymentConfig, error) + DeploymentConfigNamespaceListerExpansion +} + +// deploymentConfigNamespaceLister implements the DeploymentConfigNamespaceLister +// interface. +type deploymentConfigNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all DeploymentConfigs in the indexer for a given namespace. +func (s deploymentConfigNamespaceLister) List(selector labels.Selector) (ret []*v1.DeploymentConfig, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.DeploymentConfig)) + }) + return ret, err +} + +// Get retrieves the DeploymentConfig from the indexer for a given namespace and name. +func (s deploymentConfigNamespaceLister) Get(name string) (*v1.DeploymentConfig, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("deploymentconfig"), name) + } + return obj.(*v1.DeploymentConfig), nil +} diff --git a/vendor/github.com/openshift/client-go/apps/listers/apps/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/apps/listers/apps/v1/expansion_generated.go new file mode 100644 index 000000000..8a7cce0eb --- /dev/null +++ b/vendor/github.com/openshift/client-go/apps/listers/apps/v1/expansion_generated.go @@ -0,0 +1,11 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// DeploymentConfigListerExpansion allows custom methods to be added to +// DeploymentConfigLister. +type DeploymentConfigListerExpansion interface{} + +// DeploymentConfigNamespaceListerExpansion allows custom methods to be added to +// DeploymentConfigNamespaceLister. +type DeploymentConfigNamespaceListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/clientset.go new file mode 100644 index 000000000..a4c664666 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + authorizationv1 "github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + AuthorizationV1() authorizationv1.AuthorizationV1Interface + // Deprecated: please explicitly pick a version if possible. + Authorization() authorizationv1.AuthorizationV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + authorizationV1 *authorizationv1.AuthorizationV1Client +} + +// AuthorizationV1 retrieves the AuthorizationV1Client +func (c *Clientset) AuthorizationV1() authorizationv1.AuthorizationV1Interface { + return c.authorizationV1 +} + +// Deprecated: Authorization retrieves the default version of AuthorizationClient. +// Please explicitly pick a version. +func (c *Clientset) Authorization() authorizationv1.AuthorizationV1Interface { + return c.authorizationV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.authorizationV1, err = authorizationv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.authorizationV1 = authorizationv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.authorizationV1 = authorizationv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..d1f39da24 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/authorization/clientset/versioned" + authorizationv1 "github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1" + fakeauthorizationv1 "github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// AuthorizationV1 retrieves the AuthorizationV1Client +func (c *Clientset) AuthorizationV1() authorizationv1.AuthorizationV1Interface { + return &fakeauthorizationv1.FakeAuthorizationV1{Fake: &c.Fake} +} + +// Authorization retrieves the AuthorizationV1Client +func (c *Clientset) Authorization() authorizationv1.AuthorizationV1Interface { + return &fakeauthorizationv1.FakeAuthorizationV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/register.go new file mode 100644 index 000000000..abb48df09 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + authorizationv1 "github.com/openshift/api/authorization/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + authorizationv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..6424b4834 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + authorizationv1 "github.com/openshift/api/authorization/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + authorizationv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/authorization_client.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/authorization_client.go new file mode 100644 index 000000000..bc9002ad2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/authorization_client.go @@ -0,0 +1,124 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + "github.com/openshift/client-go/authorization/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type AuthorizationV1Interface interface { + RESTClient() rest.Interface + ClusterRolesGetter + ClusterRoleBindingsGetter + LocalResourceAccessReviewsGetter + LocalSubjectAccessReviewsGetter + ResourceAccessReviewsGetter + RolesGetter + RoleBindingsGetter + RoleBindingRestrictionsGetter + SelfSubjectRulesReviewsGetter + SubjectAccessReviewsGetter + SubjectRulesReviewsGetter +} + +// AuthorizationV1Client is used to interact with features provided by the authorization.openshift.io group. +type AuthorizationV1Client struct { + restClient rest.Interface +} + +func (c *AuthorizationV1Client) ClusterRoles() ClusterRoleInterface { + return newClusterRoles(c) +} + +func (c *AuthorizationV1Client) ClusterRoleBindings() ClusterRoleBindingInterface { + return newClusterRoleBindings(c) +} + +func (c *AuthorizationV1Client) LocalResourceAccessReviews(namespace string) LocalResourceAccessReviewInterface { + return newLocalResourceAccessReviews(c, namespace) +} + +func (c *AuthorizationV1Client) LocalSubjectAccessReviews(namespace string) LocalSubjectAccessReviewInterface { + return newLocalSubjectAccessReviews(c, namespace) +} + +func (c *AuthorizationV1Client) ResourceAccessReviews() ResourceAccessReviewInterface { + return newResourceAccessReviews(c) +} + +func (c *AuthorizationV1Client) Roles(namespace string) RoleInterface { + return newRoles(c, namespace) +} + +func (c *AuthorizationV1Client) RoleBindings(namespace string) RoleBindingInterface { + return newRoleBindings(c, namespace) +} + +func (c *AuthorizationV1Client) RoleBindingRestrictions(namespace string) RoleBindingRestrictionInterface { + return newRoleBindingRestrictions(c, namespace) +} + +func (c *AuthorizationV1Client) SelfSubjectRulesReviews(namespace string) SelfSubjectRulesReviewInterface { + return newSelfSubjectRulesReviews(c, namespace) +} + +func (c *AuthorizationV1Client) SubjectAccessReviews() SubjectAccessReviewInterface { + return newSubjectAccessReviews(c) +} + +func (c *AuthorizationV1Client) SubjectRulesReviews(namespace string) SubjectRulesReviewInterface { + return newSubjectRulesReviews(c, namespace) +} + +// NewForConfig creates a new AuthorizationV1Client for the given config. +func NewForConfig(c *rest.Config) (*AuthorizationV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &AuthorizationV1Client{client}, nil +} + +// NewForConfigOrDie creates a new AuthorizationV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *AuthorizationV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new AuthorizationV1Client for the given RESTClient. +func New(c rest.Interface) *AuthorizationV1Client { + return &AuthorizationV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *AuthorizationV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrole.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrole.go new file mode 100644 index 000000000..1518f4645 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrole.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + scheme "github.com/openshift/client-go/authorization/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ClusterRolesGetter has a method to return a ClusterRoleInterface. +// A group's client should implement this interface. +type ClusterRolesGetter interface { + ClusterRoles() ClusterRoleInterface +} + +// ClusterRoleInterface has methods to work with ClusterRole resources. +type ClusterRoleInterface interface { + Create(*v1.ClusterRole) (*v1.ClusterRole, error) + Update(*v1.ClusterRole) (*v1.ClusterRole, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.ClusterRole, error) + List(opts meta_v1.ListOptions) (*v1.ClusterRoleList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRole, err error) + ClusterRoleExpansion +} + +// clusterRoles implements ClusterRoleInterface +type clusterRoles struct { + client rest.Interface +} + +// newClusterRoles returns a ClusterRoles +func newClusterRoles(c *AuthorizationV1Client) *clusterRoles { + return &clusterRoles{ + client: c.RESTClient(), + } +} + +// Get takes name of the clusterRole, and returns the corresponding clusterRole object, and an error if there is any. +func (c *clusterRoles) Get(name string, options meta_v1.GetOptions) (result *v1.ClusterRole, err error) { + result = &v1.ClusterRole{} + err = c.client.Get(). + Resource("clusterroles"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ClusterRoles that match those selectors. +func (c *clusterRoles) List(opts meta_v1.ListOptions) (result *v1.ClusterRoleList, err error) { + result = &v1.ClusterRoleList{} + err = c.client.Get(). + Resource("clusterroles"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested clusterRoles. +func (c *clusterRoles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("clusterroles"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a clusterRole and creates it. Returns the server's representation of the clusterRole, and an error, if there is any. +func (c *clusterRoles) Create(clusterRole *v1.ClusterRole) (result *v1.ClusterRole, err error) { + result = &v1.ClusterRole{} + err = c.client.Post(). + Resource("clusterroles"). + Body(clusterRole). + Do(). + Into(result) + return +} + +// Update takes the representation of a clusterRole and updates it. Returns the server's representation of the clusterRole, and an error, if there is any. +func (c *clusterRoles) Update(clusterRole *v1.ClusterRole) (result *v1.ClusterRole, err error) { + result = &v1.ClusterRole{} + err = c.client.Put(). + Resource("clusterroles"). + Name(clusterRole.Name). + Body(clusterRole). + Do(). + Into(result) + return +} + +// Delete takes name of the clusterRole and deletes it. Returns an error if one occurs. +func (c *clusterRoles) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("clusterroles"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *clusterRoles) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("clusterroles"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched clusterRole. +func (c *clusterRoles) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRole, err error) { + result = &v1.ClusterRole{} + err = c.client.Patch(pt). + Resource("clusterroles"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrolebinding.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrolebinding.go new file mode 100644 index 000000000..c9fb3af80 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/clusterrolebinding.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + scheme "github.com/openshift/client-go/authorization/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ClusterRoleBindingsGetter has a method to return a ClusterRoleBindingInterface. +// A group's client should implement this interface. +type ClusterRoleBindingsGetter interface { + ClusterRoleBindings() ClusterRoleBindingInterface +} + +// ClusterRoleBindingInterface has methods to work with ClusterRoleBinding resources. +type ClusterRoleBindingInterface interface { + Create(*v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error) + Update(*v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.ClusterRoleBinding, error) + List(opts meta_v1.ListOptions) (*v1.ClusterRoleBindingList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRoleBinding, err error) + ClusterRoleBindingExpansion +} + +// clusterRoleBindings implements ClusterRoleBindingInterface +type clusterRoleBindings struct { + client rest.Interface +} + +// newClusterRoleBindings returns a ClusterRoleBindings +func newClusterRoleBindings(c *AuthorizationV1Client) *clusterRoleBindings { + return &clusterRoleBindings{ + client: c.RESTClient(), + } +} + +// Get takes name of the clusterRoleBinding, and returns the corresponding clusterRoleBinding object, and an error if there is any. +func (c *clusterRoleBindings) Get(name string, options meta_v1.GetOptions) (result *v1.ClusterRoleBinding, err error) { + result = &v1.ClusterRoleBinding{} + err = c.client.Get(). + Resource("clusterrolebindings"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ClusterRoleBindings that match those selectors. +func (c *clusterRoleBindings) List(opts meta_v1.ListOptions) (result *v1.ClusterRoleBindingList, err error) { + result = &v1.ClusterRoleBindingList{} + err = c.client.Get(). + Resource("clusterrolebindings"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested clusterRoleBindings. +func (c *clusterRoleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("clusterrolebindings"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a clusterRoleBinding and creates it. Returns the server's representation of the clusterRoleBinding, and an error, if there is any. +func (c *clusterRoleBindings) Create(clusterRoleBinding *v1.ClusterRoleBinding) (result *v1.ClusterRoleBinding, err error) { + result = &v1.ClusterRoleBinding{} + err = c.client.Post(). + Resource("clusterrolebindings"). + Body(clusterRoleBinding). + Do(). + Into(result) + return +} + +// Update takes the representation of a clusterRoleBinding and updates it. Returns the server's representation of the clusterRoleBinding, and an error, if there is any. +func (c *clusterRoleBindings) Update(clusterRoleBinding *v1.ClusterRoleBinding) (result *v1.ClusterRoleBinding, err error) { + result = &v1.ClusterRoleBinding{} + err = c.client.Put(). + Resource("clusterrolebindings"). + Name(clusterRoleBinding.Name). + Body(clusterRoleBinding). + Do(). + Into(result) + return +} + +// Delete takes name of the clusterRoleBinding and deletes it. Returns an error if one occurs. +func (c *clusterRoleBindings) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("clusterrolebindings"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *clusterRoleBindings) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("clusterrolebindings"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched clusterRoleBinding. +func (c *clusterRoleBindings) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRoleBinding, err error) { + result = &v1.ClusterRoleBinding{} + err = c.client.Patch(pt). + Resource("clusterrolebindings"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/doc.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/doc.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_authorization_client.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_authorization_client.go new file mode 100644 index 000000000..28402c453 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_authorization_client.go @@ -0,0 +1,64 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeAuthorizationV1 struct { + *testing.Fake +} + +func (c *FakeAuthorizationV1) ClusterRoles() v1.ClusterRoleInterface { + return &FakeClusterRoles{c} +} + +func (c *FakeAuthorizationV1) ClusterRoleBindings() v1.ClusterRoleBindingInterface { + return &FakeClusterRoleBindings{c} +} + +func (c *FakeAuthorizationV1) LocalResourceAccessReviews(namespace string) v1.LocalResourceAccessReviewInterface { + return &FakeLocalResourceAccessReviews{c, namespace} +} + +func (c *FakeAuthorizationV1) LocalSubjectAccessReviews(namespace string) v1.LocalSubjectAccessReviewInterface { + return &FakeLocalSubjectAccessReviews{c, namespace} +} + +func (c *FakeAuthorizationV1) ResourceAccessReviews() v1.ResourceAccessReviewInterface { + return &FakeResourceAccessReviews{c} +} + +func (c *FakeAuthorizationV1) Roles(namespace string) v1.RoleInterface { + return &FakeRoles{c, namespace} +} + +func (c *FakeAuthorizationV1) RoleBindings(namespace string) v1.RoleBindingInterface { + return &FakeRoleBindings{c, namespace} +} + +func (c *FakeAuthorizationV1) RoleBindingRestrictions(namespace string) v1.RoleBindingRestrictionInterface { + return &FakeRoleBindingRestrictions{c, namespace} +} + +func (c *FakeAuthorizationV1) SelfSubjectRulesReviews(namespace string) v1.SelfSubjectRulesReviewInterface { + return &FakeSelfSubjectRulesReviews{c, namespace} +} + +func (c *FakeAuthorizationV1) SubjectAccessReviews() v1.SubjectAccessReviewInterface { + return &FakeSubjectAccessReviews{c} +} + +func (c *FakeAuthorizationV1) SubjectRulesReviews(namespace string) v1.SubjectRulesReviewInterface { + return &FakeSubjectRulesReviews{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeAuthorizationV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrole.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrole.go new file mode 100644 index 000000000..4b10c738d --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrole.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + authorization_v1 "github.com/openshift/api/authorization/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeClusterRoles implements ClusterRoleInterface +type FakeClusterRoles struct { + Fake *FakeAuthorizationV1 +} + +var clusterrolesResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "clusterroles"} + +var clusterrolesKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "ClusterRole"} + +// Get takes name of the clusterRole, and returns the corresponding clusterRole object, and an error if there is any. +func (c *FakeClusterRoles) Get(name string, options v1.GetOptions) (result *authorization_v1.ClusterRole, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(clusterrolesResource, name), &authorization_v1.ClusterRole{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRole), err +} + +// List takes label and field selectors, and returns the list of ClusterRoles that match those selectors. +func (c *FakeClusterRoles) List(opts v1.ListOptions) (result *authorization_v1.ClusterRoleList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(clusterrolesResource, clusterrolesKind, opts), &authorization_v1.ClusterRoleList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &authorization_v1.ClusterRoleList{ListMeta: obj.(*authorization_v1.ClusterRoleList).ListMeta} + for _, item := range obj.(*authorization_v1.ClusterRoleList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested clusterRoles. +func (c *FakeClusterRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(clusterrolesResource, opts)) +} + +// Create takes the representation of a clusterRole and creates it. Returns the server's representation of the clusterRole, and an error, if there is any. +func (c *FakeClusterRoles) Create(clusterRole *authorization_v1.ClusterRole) (result *authorization_v1.ClusterRole, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(clusterrolesResource, clusterRole), &authorization_v1.ClusterRole{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRole), err +} + +// Update takes the representation of a clusterRole and updates it. Returns the server's representation of the clusterRole, and an error, if there is any. +func (c *FakeClusterRoles) Update(clusterRole *authorization_v1.ClusterRole) (result *authorization_v1.ClusterRole, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(clusterrolesResource, clusterRole), &authorization_v1.ClusterRole{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRole), err +} + +// Delete takes name of the clusterRole and deletes it. Returns an error if one occurs. +func (c *FakeClusterRoles) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(clusterrolesResource, name), &authorization_v1.ClusterRole{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeClusterRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(clusterrolesResource, listOptions) + + _, err := c.Fake.Invokes(action, &authorization_v1.ClusterRoleList{}) + return err +} + +// Patch applies the patch and returns the patched clusterRole. +func (c *FakeClusterRoles) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *authorization_v1.ClusterRole, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(clusterrolesResource, name, data, subresources...), &authorization_v1.ClusterRole{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRole), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrolebinding.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrolebinding.go new file mode 100644 index 000000000..1ec19ed8c --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_clusterrolebinding.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + authorization_v1 "github.com/openshift/api/authorization/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeClusterRoleBindings implements ClusterRoleBindingInterface +type FakeClusterRoleBindings struct { + Fake *FakeAuthorizationV1 +} + +var clusterrolebindingsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "clusterrolebindings"} + +var clusterrolebindingsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "ClusterRoleBinding"} + +// Get takes name of the clusterRoleBinding, and returns the corresponding clusterRoleBinding object, and an error if there is any. +func (c *FakeClusterRoleBindings) Get(name string, options v1.GetOptions) (result *authorization_v1.ClusterRoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(clusterrolebindingsResource, name), &authorization_v1.ClusterRoleBinding{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRoleBinding), err +} + +// List takes label and field selectors, and returns the list of ClusterRoleBindings that match those selectors. +func (c *FakeClusterRoleBindings) List(opts v1.ListOptions) (result *authorization_v1.ClusterRoleBindingList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(clusterrolebindingsResource, clusterrolebindingsKind, opts), &authorization_v1.ClusterRoleBindingList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &authorization_v1.ClusterRoleBindingList{ListMeta: obj.(*authorization_v1.ClusterRoleBindingList).ListMeta} + for _, item := range obj.(*authorization_v1.ClusterRoleBindingList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested clusterRoleBindings. +func (c *FakeClusterRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(clusterrolebindingsResource, opts)) +} + +// Create takes the representation of a clusterRoleBinding and creates it. Returns the server's representation of the clusterRoleBinding, and an error, if there is any. +func (c *FakeClusterRoleBindings) Create(clusterRoleBinding *authorization_v1.ClusterRoleBinding) (result *authorization_v1.ClusterRoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(clusterrolebindingsResource, clusterRoleBinding), &authorization_v1.ClusterRoleBinding{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRoleBinding), err +} + +// Update takes the representation of a clusterRoleBinding and updates it. Returns the server's representation of the clusterRoleBinding, and an error, if there is any. +func (c *FakeClusterRoleBindings) Update(clusterRoleBinding *authorization_v1.ClusterRoleBinding) (result *authorization_v1.ClusterRoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(clusterrolebindingsResource, clusterRoleBinding), &authorization_v1.ClusterRoleBinding{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRoleBinding), err +} + +// Delete takes name of the clusterRoleBinding and deletes it. Returns an error if one occurs. +func (c *FakeClusterRoleBindings) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(clusterrolebindingsResource, name), &authorization_v1.ClusterRoleBinding{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeClusterRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(clusterrolebindingsResource, listOptions) + + _, err := c.Fake.Invokes(action, &authorization_v1.ClusterRoleBindingList{}) + return err +} + +// Patch applies the patch and returns the patched clusterRoleBinding. +func (c *FakeClusterRoleBindings) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *authorization_v1.ClusterRoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(clusterrolebindingsResource, name, data, subresources...), &authorization_v1.ClusterRoleBinding{}) + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.ClusterRoleBinding), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localresourceaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localresourceaccessreview.go new file mode 100644 index 000000000..2eff53fa3 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localresourceaccessreview.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/authorization/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeLocalResourceAccessReviews implements LocalResourceAccessReviewInterface +type FakeLocalResourceAccessReviews struct { + Fake *FakeAuthorizationV1 + ns string +} + +var localresourceaccessreviewsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "localresourceaccessreviews"} + +var localresourceaccessreviewsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "LocalResourceAccessReview"} + +// Create takes the representation of a localResourceAccessReview and creates it. Returns the server's representation of the resourceAccessReviewResponse, and an error, if there is any. +func (c *FakeLocalResourceAccessReviews) Create(localResourceAccessReview *v1.LocalResourceAccessReview) (result *v1.ResourceAccessReviewResponse, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(localresourceaccessreviewsResource, c.ns, localResourceAccessReview), &v1.ResourceAccessReviewResponse{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.ResourceAccessReviewResponse), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localsubjectaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localsubjectaccessreview.go new file mode 100644 index 000000000..dcdb5d3e8 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_localsubjectaccessreview.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/authorization/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeLocalSubjectAccessReviews implements LocalSubjectAccessReviewInterface +type FakeLocalSubjectAccessReviews struct { + Fake *FakeAuthorizationV1 + ns string +} + +var localsubjectaccessreviewsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "localsubjectaccessreviews"} + +var localsubjectaccessreviewsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "LocalSubjectAccessReview"} + +// Create takes the representation of a localSubjectAccessReview and creates it. Returns the server's representation of the subjectAccessReviewResponse, and an error, if there is any. +func (c *FakeLocalSubjectAccessReviews) Create(localSubjectAccessReview *v1.LocalSubjectAccessReview) (result *v1.SubjectAccessReviewResponse, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(localsubjectaccessreviewsResource, c.ns, localSubjectAccessReview), &v1.SubjectAccessReviewResponse{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.SubjectAccessReviewResponse), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_resourceaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_resourceaccessreview.go new file mode 100644 index 000000000..c8ffdcc49 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_resourceaccessreview.go @@ -0,0 +1,28 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/authorization/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeResourceAccessReviews implements ResourceAccessReviewInterface +type FakeResourceAccessReviews struct { + Fake *FakeAuthorizationV1 +} + +var resourceaccessreviewsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "resourceaccessreviews"} + +var resourceaccessreviewsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "ResourceAccessReview"} + +// Create takes the representation of a resourceAccessReview and creates it. Returns the server's representation of the resourceAccessReviewResponse, and an error, if there is any. +func (c *FakeResourceAccessReviews) Create(resourceAccessReview *v1.ResourceAccessReview) (result *v1.ResourceAccessReviewResponse, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(resourceaccessreviewsResource, resourceAccessReview), &v1.ResourceAccessReviewResponse{}) + if obj == nil { + return nil, err + } + return obj.(*v1.ResourceAccessReviewResponse), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_role.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_role.go new file mode 100644 index 000000000..17c38e6cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_role.go @@ -0,0 +1,112 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + authorization_v1 "github.com/openshift/api/authorization/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeRoles implements RoleInterface +type FakeRoles struct { + Fake *FakeAuthorizationV1 + ns string +} + +var rolesResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "roles"} + +var rolesKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "Role"} + +// Get takes name of the role, and returns the corresponding role object, and an error if there is any. +func (c *FakeRoles) Get(name string, options v1.GetOptions) (result *authorization_v1.Role, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(rolesResource, c.ns, name), &authorization_v1.Role{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.Role), err +} + +// List takes label and field selectors, and returns the list of Roles that match those selectors. +func (c *FakeRoles) List(opts v1.ListOptions) (result *authorization_v1.RoleList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(rolesResource, rolesKind, c.ns, opts), &authorization_v1.RoleList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &authorization_v1.RoleList{ListMeta: obj.(*authorization_v1.RoleList).ListMeta} + for _, item := range obj.(*authorization_v1.RoleList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested roles. +func (c *FakeRoles) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(rolesResource, c.ns, opts)) + +} + +// Create takes the representation of a role and creates it. Returns the server's representation of the role, and an error, if there is any. +func (c *FakeRoles) Create(role *authorization_v1.Role) (result *authorization_v1.Role, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(rolesResource, c.ns, role), &authorization_v1.Role{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.Role), err +} + +// Update takes the representation of a role and updates it. Returns the server's representation of the role, and an error, if there is any. +func (c *FakeRoles) Update(role *authorization_v1.Role) (result *authorization_v1.Role, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(rolesResource, c.ns, role), &authorization_v1.Role{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.Role), err +} + +// Delete takes name of the role and deletes it. Returns an error if one occurs. +func (c *FakeRoles) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(rolesResource, c.ns, name), &authorization_v1.Role{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeRoles) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(rolesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &authorization_v1.RoleList{}) + return err +} + +// Patch applies the patch and returns the patched role. +func (c *FakeRoles) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *authorization_v1.Role, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(rolesResource, c.ns, name, data, subresources...), &authorization_v1.Role{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.Role), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebinding.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebinding.go new file mode 100644 index 000000000..306b57714 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebinding.go @@ -0,0 +1,112 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + authorization_v1 "github.com/openshift/api/authorization/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeRoleBindings implements RoleBindingInterface +type FakeRoleBindings struct { + Fake *FakeAuthorizationV1 + ns string +} + +var rolebindingsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "rolebindings"} + +var rolebindingsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "RoleBinding"} + +// Get takes name of the roleBinding, and returns the corresponding roleBinding object, and an error if there is any. +func (c *FakeRoleBindings) Get(name string, options v1.GetOptions) (result *authorization_v1.RoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(rolebindingsResource, c.ns, name), &authorization_v1.RoleBinding{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBinding), err +} + +// List takes label and field selectors, and returns the list of RoleBindings that match those selectors. +func (c *FakeRoleBindings) List(opts v1.ListOptions) (result *authorization_v1.RoleBindingList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(rolebindingsResource, rolebindingsKind, c.ns, opts), &authorization_v1.RoleBindingList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &authorization_v1.RoleBindingList{ListMeta: obj.(*authorization_v1.RoleBindingList).ListMeta} + for _, item := range obj.(*authorization_v1.RoleBindingList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested roleBindings. +func (c *FakeRoleBindings) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(rolebindingsResource, c.ns, opts)) + +} + +// Create takes the representation of a roleBinding and creates it. Returns the server's representation of the roleBinding, and an error, if there is any. +func (c *FakeRoleBindings) Create(roleBinding *authorization_v1.RoleBinding) (result *authorization_v1.RoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(rolebindingsResource, c.ns, roleBinding), &authorization_v1.RoleBinding{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBinding), err +} + +// Update takes the representation of a roleBinding and updates it. Returns the server's representation of the roleBinding, and an error, if there is any. +func (c *FakeRoleBindings) Update(roleBinding *authorization_v1.RoleBinding) (result *authorization_v1.RoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(rolebindingsResource, c.ns, roleBinding), &authorization_v1.RoleBinding{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBinding), err +} + +// Delete takes name of the roleBinding and deletes it. Returns an error if one occurs. +func (c *FakeRoleBindings) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(rolebindingsResource, c.ns, name), &authorization_v1.RoleBinding{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeRoleBindings) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(rolebindingsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &authorization_v1.RoleBindingList{}) + return err +} + +// Patch applies the patch and returns the patched roleBinding. +func (c *FakeRoleBindings) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *authorization_v1.RoleBinding, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(rolebindingsResource, c.ns, name, data, subresources...), &authorization_v1.RoleBinding{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBinding), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebindingrestriction.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebindingrestriction.go new file mode 100644 index 000000000..2e6eeeefd --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_rolebindingrestriction.go @@ -0,0 +1,112 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + authorization_v1 "github.com/openshift/api/authorization/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeRoleBindingRestrictions implements RoleBindingRestrictionInterface +type FakeRoleBindingRestrictions struct { + Fake *FakeAuthorizationV1 + ns string +} + +var rolebindingrestrictionsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "rolebindingrestrictions"} + +var rolebindingrestrictionsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "RoleBindingRestriction"} + +// Get takes name of the roleBindingRestriction, and returns the corresponding roleBindingRestriction object, and an error if there is any. +func (c *FakeRoleBindingRestrictions) Get(name string, options v1.GetOptions) (result *authorization_v1.RoleBindingRestriction, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(rolebindingrestrictionsResource, c.ns, name), &authorization_v1.RoleBindingRestriction{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBindingRestriction), err +} + +// List takes label and field selectors, and returns the list of RoleBindingRestrictions that match those selectors. +func (c *FakeRoleBindingRestrictions) List(opts v1.ListOptions) (result *authorization_v1.RoleBindingRestrictionList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(rolebindingrestrictionsResource, rolebindingrestrictionsKind, c.ns, opts), &authorization_v1.RoleBindingRestrictionList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &authorization_v1.RoleBindingRestrictionList{ListMeta: obj.(*authorization_v1.RoleBindingRestrictionList).ListMeta} + for _, item := range obj.(*authorization_v1.RoleBindingRestrictionList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested roleBindingRestrictions. +func (c *FakeRoleBindingRestrictions) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(rolebindingrestrictionsResource, c.ns, opts)) + +} + +// Create takes the representation of a roleBindingRestriction and creates it. Returns the server's representation of the roleBindingRestriction, and an error, if there is any. +func (c *FakeRoleBindingRestrictions) Create(roleBindingRestriction *authorization_v1.RoleBindingRestriction) (result *authorization_v1.RoleBindingRestriction, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(rolebindingrestrictionsResource, c.ns, roleBindingRestriction), &authorization_v1.RoleBindingRestriction{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBindingRestriction), err +} + +// Update takes the representation of a roleBindingRestriction and updates it. Returns the server's representation of the roleBindingRestriction, and an error, if there is any. +func (c *FakeRoleBindingRestrictions) Update(roleBindingRestriction *authorization_v1.RoleBindingRestriction) (result *authorization_v1.RoleBindingRestriction, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(rolebindingrestrictionsResource, c.ns, roleBindingRestriction), &authorization_v1.RoleBindingRestriction{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBindingRestriction), err +} + +// Delete takes name of the roleBindingRestriction and deletes it. Returns an error if one occurs. +func (c *FakeRoleBindingRestrictions) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(rolebindingrestrictionsResource, c.ns, name), &authorization_v1.RoleBindingRestriction{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeRoleBindingRestrictions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(rolebindingrestrictionsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &authorization_v1.RoleBindingRestrictionList{}) + return err +} + +// Patch applies the patch and returns the patched roleBindingRestriction. +func (c *FakeRoleBindingRestrictions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *authorization_v1.RoleBindingRestriction, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(rolebindingrestrictionsResource, c.ns, name, data, subresources...), &authorization_v1.RoleBindingRestriction{}) + + if obj == nil { + return nil, err + } + return obj.(*authorization_v1.RoleBindingRestriction), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_selfsubjectrulesreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_selfsubjectrulesreview.go new file mode 100644 index 000000000..2607fd545 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_selfsubjectrulesreview.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/authorization/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeSelfSubjectRulesReviews implements SelfSubjectRulesReviewInterface +type FakeSelfSubjectRulesReviews struct { + Fake *FakeAuthorizationV1 + ns string +} + +var selfsubjectrulesreviewsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "selfsubjectrulesreviews"} + +var selfsubjectrulesreviewsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "SelfSubjectRulesReview"} + +// Create takes the representation of a selfSubjectRulesReview and creates it. Returns the server's representation of the selfSubjectRulesReview, and an error, if there is any. +func (c *FakeSelfSubjectRulesReviews) Create(selfSubjectRulesReview *v1.SelfSubjectRulesReview) (result *v1.SelfSubjectRulesReview, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(selfsubjectrulesreviewsResource, c.ns, selfSubjectRulesReview), &v1.SelfSubjectRulesReview{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.SelfSubjectRulesReview), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectaccessreview.go new file mode 100644 index 000000000..c7b0db5ab --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectaccessreview.go @@ -0,0 +1,28 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/authorization/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeSubjectAccessReviews implements SubjectAccessReviewInterface +type FakeSubjectAccessReviews struct { + Fake *FakeAuthorizationV1 +} + +var subjectaccessreviewsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "subjectaccessreviews"} + +var subjectaccessreviewsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "SubjectAccessReview"} + +// Create takes the representation of a subjectAccessReview and creates it. Returns the server's representation of the subjectAccessReviewResponse, and an error, if there is any. +func (c *FakeSubjectAccessReviews) Create(subjectAccessReview *v1.SubjectAccessReview) (result *v1.SubjectAccessReviewResponse, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(subjectaccessreviewsResource, subjectAccessReview), &v1.SubjectAccessReviewResponse{}) + if obj == nil { + return nil, err + } + return obj.(*v1.SubjectAccessReviewResponse), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectrulesreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectrulesreview.go new file mode 100644 index 000000000..3150be66c --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/fake/fake_subjectrulesreview.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/authorization/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeSubjectRulesReviews implements SubjectRulesReviewInterface +type FakeSubjectRulesReviews struct { + Fake *FakeAuthorizationV1 + ns string +} + +var subjectrulesreviewsResource = schema.GroupVersionResource{Group: "authorization.openshift.io", Version: "v1", Resource: "subjectrulesreviews"} + +var subjectrulesreviewsKind = schema.GroupVersionKind{Group: "authorization.openshift.io", Version: "v1", Kind: "SubjectRulesReview"} + +// Create takes the representation of a subjectRulesReview and creates it. Returns the server's representation of the subjectRulesReview, and an error, if there is any. +func (c *FakeSubjectRulesReviews) Create(subjectRulesReview *v1.SubjectRulesReview) (result *v1.SubjectRulesReview, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(subjectrulesreviewsResource, c.ns, subjectRulesReview), &v1.SubjectRulesReview{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.SubjectRulesReview), err +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/generated_expansion.go new file mode 100644 index 000000000..ff51ceca2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/generated_expansion.go @@ -0,0 +1,25 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type ClusterRoleExpansion interface{} + +type ClusterRoleBindingExpansion interface{} + +type LocalResourceAccessReviewExpansion interface{} + +type LocalSubjectAccessReviewExpansion interface{} + +type ResourceAccessReviewExpansion interface{} + +type RoleExpansion interface{} + +type RoleBindingExpansion interface{} + +type RoleBindingRestrictionExpansion interface{} + +type SelfSubjectRulesReviewExpansion interface{} + +type SubjectAccessReviewExpansion interface{} + +type SubjectRulesReviewExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localresourceaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localresourceaccessreview.go new file mode 100644 index 000000000..48707ed49 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localresourceaccessreview.go @@ -0,0 +1,47 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + rest "k8s.io/client-go/rest" +) + +// LocalResourceAccessReviewsGetter has a method to return a LocalResourceAccessReviewInterface. +// A group's client should implement this interface. +type LocalResourceAccessReviewsGetter interface { + LocalResourceAccessReviews(namespace string) LocalResourceAccessReviewInterface +} + +// LocalResourceAccessReviewInterface has methods to work with LocalResourceAccessReview resources. +type LocalResourceAccessReviewInterface interface { + Create(*v1.LocalResourceAccessReview) (*v1.ResourceAccessReviewResponse, error) + + LocalResourceAccessReviewExpansion +} + +// localResourceAccessReviews implements LocalResourceAccessReviewInterface +type localResourceAccessReviews struct { + client rest.Interface + ns string +} + +// newLocalResourceAccessReviews returns a LocalResourceAccessReviews +func newLocalResourceAccessReviews(c *AuthorizationV1Client, namespace string) *localResourceAccessReviews { + return &localResourceAccessReviews{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a localResourceAccessReview and creates it. Returns the server's representation of the resourceAccessReviewResponse, and an error, if there is any. +func (c *localResourceAccessReviews) Create(localResourceAccessReview *v1.LocalResourceAccessReview) (result *v1.ResourceAccessReviewResponse, err error) { + result = &v1.ResourceAccessReviewResponse{} + err = c.client.Post(). + Namespace(c.ns). + Resource("localresourceaccessreviews"). + Body(localResourceAccessReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localsubjectaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localsubjectaccessreview.go new file mode 100644 index 000000000..a0bd12b62 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/localsubjectaccessreview.go @@ -0,0 +1,47 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + rest "k8s.io/client-go/rest" +) + +// LocalSubjectAccessReviewsGetter has a method to return a LocalSubjectAccessReviewInterface. +// A group's client should implement this interface. +type LocalSubjectAccessReviewsGetter interface { + LocalSubjectAccessReviews(namespace string) LocalSubjectAccessReviewInterface +} + +// LocalSubjectAccessReviewInterface has methods to work with LocalSubjectAccessReview resources. +type LocalSubjectAccessReviewInterface interface { + Create(*v1.LocalSubjectAccessReview) (*v1.SubjectAccessReviewResponse, error) + + LocalSubjectAccessReviewExpansion +} + +// localSubjectAccessReviews implements LocalSubjectAccessReviewInterface +type localSubjectAccessReviews struct { + client rest.Interface + ns string +} + +// newLocalSubjectAccessReviews returns a LocalSubjectAccessReviews +func newLocalSubjectAccessReviews(c *AuthorizationV1Client, namespace string) *localSubjectAccessReviews { + return &localSubjectAccessReviews{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a localSubjectAccessReview and creates it. Returns the server's representation of the subjectAccessReviewResponse, and an error, if there is any. +func (c *localSubjectAccessReviews) Create(localSubjectAccessReview *v1.LocalSubjectAccessReview) (result *v1.SubjectAccessReviewResponse, err error) { + result = &v1.SubjectAccessReviewResponse{} + err = c.client.Post(). + Namespace(c.ns). + Resource("localsubjectaccessreviews"). + Body(localSubjectAccessReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/resourceaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/resourceaccessreview.go new file mode 100644 index 000000000..e036c53d2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/resourceaccessreview.go @@ -0,0 +1,44 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + rest "k8s.io/client-go/rest" +) + +// ResourceAccessReviewsGetter has a method to return a ResourceAccessReviewInterface. +// A group's client should implement this interface. +type ResourceAccessReviewsGetter interface { + ResourceAccessReviews() ResourceAccessReviewInterface +} + +// ResourceAccessReviewInterface has methods to work with ResourceAccessReview resources. +type ResourceAccessReviewInterface interface { + Create(*v1.ResourceAccessReview) (*v1.ResourceAccessReviewResponse, error) + + ResourceAccessReviewExpansion +} + +// resourceAccessReviews implements ResourceAccessReviewInterface +type resourceAccessReviews struct { + client rest.Interface +} + +// newResourceAccessReviews returns a ResourceAccessReviews +func newResourceAccessReviews(c *AuthorizationV1Client) *resourceAccessReviews { + return &resourceAccessReviews{ + client: c.RESTClient(), + } +} + +// Create takes the representation of a resourceAccessReview and creates it. Returns the server's representation of the resourceAccessReviewResponse, and an error, if there is any. +func (c *resourceAccessReviews) Create(resourceAccessReview *v1.ResourceAccessReview) (result *v1.ResourceAccessReviewResponse, err error) { + result = &v1.ResourceAccessReviewResponse{} + err = c.client.Post(). + Resource("resourceaccessreviews"). + Body(resourceAccessReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/role.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/role.go new file mode 100644 index 000000000..bea997a7a --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/role.go @@ -0,0 +1,141 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + scheme "github.com/openshift/client-go/authorization/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// RolesGetter has a method to return a RoleInterface. +// A group's client should implement this interface. +type RolesGetter interface { + Roles(namespace string) RoleInterface +} + +// RoleInterface has methods to work with Role resources. +type RoleInterface interface { + Create(*v1.Role) (*v1.Role, error) + Update(*v1.Role) (*v1.Role, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Role, error) + List(opts meta_v1.ListOptions) (*v1.RoleList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Role, err error) + RoleExpansion +} + +// roles implements RoleInterface +type roles struct { + client rest.Interface + ns string +} + +// newRoles returns a Roles +func newRoles(c *AuthorizationV1Client, namespace string) *roles { + return &roles{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the role, and returns the corresponding role object, and an error if there is any. +func (c *roles) Get(name string, options meta_v1.GetOptions) (result *v1.Role, err error) { + result = &v1.Role{} + err = c.client.Get(). + Namespace(c.ns). + Resource("roles"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Roles that match those selectors. +func (c *roles) List(opts meta_v1.ListOptions) (result *v1.RoleList, err error) { + result = &v1.RoleList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("roles"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested roles. +func (c *roles) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("roles"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a role and creates it. Returns the server's representation of the role, and an error, if there is any. +func (c *roles) Create(role *v1.Role) (result *v1.Role, err error) { + result = &v1.Role{} + err = c.client.Post(). + Namespace(c.ns). + Resource("roles"). + Body(role). + Do(). + Into(result) + return +} + +// Update takes the representation of a role and updates it. Returns the server's representation of the role, and an error, if there is any. +func (c *roles) Update(role *v1.Role) (result *v1.Role, err error) { + result = &v1.Role{} + err = c.client.Put(). + Namespace(c.ns). + Resource("roles"). + Name(role.Name). + Body(role). + Do(). + Into(result) + return +} + +// Delete takes name of the role and deletes it. Returns an error if one occurs. +func (c *roles) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("roles"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *roles) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("roles"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched role. +func (c *roles) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Role, err error) { + result = &v1.Role{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("roles"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebinding.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebinding.go new file mode 100644 index 000000000..2577b2850 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebinding.go @@ -0,0 +1,141 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + scheme "github.com/openshift/client-go/authorization/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// RoleBindingsGetter has a method to return a RoleBindingInterface. +// A group's client should implement this interface. +type RoleBindingsGetter interface { + RoleBindings(namespace string) RoleBindingInterface +} + +// RoleBindingInterface has methods to work with RoleBinding resources. +type RoleBindingInterface interface { + Create(*v1.RoleBinding) (*v1.RoleBinding, error) + Update(*v1.RoleBinding) (*v1.RoleBinding, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.RoleBinding, error) + List(opts meta_v1.ListOptions) (*v1.RoleBindingList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBinding, err error) + RoleBindingExpansion +} + +// roleBindings implements RoleBindingInterface +type roleBindings struct { + client rest.Interface + ns string +} + +// newRoleBindings returns a RoleBindings +func newRoleBindings(c *AuthorizationV1Client, namespace string) *roleBindings { + return &roleBindings{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the roleBinding, and returns the corresponding roleBinding object, and an error if there is any. +func (c *roleBindings) Get(name string, options meta_v1.GetOptions) (result *v1.RoleBinding, err error) { + result = &v1.RoleBinding{} + err = c.client.Get(). + Namespace(c.ns). + Resource("rolebindings"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of RoleBindings that match those selectors. +func (c *roleBindings) List(opts meta_v1.ListOptions) (result *v1.RoleBindingList, err error) { + result = &v1.RoleBindingList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("rolebindings"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested roleBindings. +func (c *roleBindings) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("rolebindings"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a roleBinding and creates it. Returns the server's representation of the roleBinding, and an error, if there is any. +func (c *roleBindings) Create(roleBinding *v1.RoleBinding) (result *v1.RoleBinding, err error) { + result = &v1.RoleBinding{} + err = c.client.Post(). + Namespace(c.ns). + Resource("rolebindings"). + Body(roleBinding). + Do(). + Into(result) + return +} + +// Update takes the representation of a roleBinding and updates it. Returns the server's representation of the roleBinding, and an error, if there is any. +func (c *roleBindings) Update(roleBinding *v1.RoleBinding) (result *v1.RoleBinding, err error) { + result = &v1.RoleBinding{} + err = c.client.Put(). + Namespace(c.ns). + Resource("rolebindings"). + Name(roleBinding.Name). + Body(roleBinding). + Do(). + Into(result) + return +} + +// Delete takes name of the roleBinding and deletes it. Returns an error if one occurs. +func (c *roleBindings) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("rolebindings"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *roleBindings) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("rolebindings"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched roleBinding. +func (c *roleBindings) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBinding, err error) { + result = &v1.RoleBinding{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("rolebindings"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebindingrestriction.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebindingrestriction.go new file mode 100644 index 000000000..e01717ac2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/rolebindingrestriction.go @@ -0,0 +1,141 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + scheme "github.com/openshift/client-go/authorization/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// RoleBindingRestrictionsGetter has a method to return a RoleBindingRestrictionInterface. +// A group's client should implement this interface. +type RoleBindingRestrictionsGetter interface { + RoleBindingRestrictions(namespace string) RoleBindingRestrictionInterface +} + +// RoleBindingRestrictionInterface has methods to work with RoleBindingRestriction resources. +type RoleBindingRestrictionInterface interface { + Create(*v1.RoleBindingRestriction) (*v1.RoleBindingRestriction, error) + Update(*v1.RoleBindingRestriction) (*v1.RoleBindingRestriction, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.RoleBindingRestriction, error) + List(opts meta_v1.ListOptions) (*v1.RoleBindingRestrictionList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBindingRestriction, err error) + RoleBindingRestrictionExpansion +} + +// roleBindingRestrictions implements RoleBindingRestrictionInterface +type roleBindingRestrictions struct { + client rest.Interface + ns string +} + +// newRoleBindingRestrictions returns a RoleBindingRestrictions +func newRoleBindingRestrictions(c *AuthorizationV1Client, namespace string) *roleBindingRestrictions { + return &roleBindingRestrictions{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the roleBindingRestriction, and returns the corresponding roleBindingRestriction object, and an error if there is any. +func (c *roleBindingRestrictions) Get(name string, options meta_v1.GetOptions) (result *v1.RoleBindingRestriction, err error) { + result = &v1.RoleBindingRestriction{} + err = c.client.Get(). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of RoleBindingRestrictions that match those selectors. +func (c *roleBindingRestrictions) List(opts meta_v1.ListOptions) (result *v1.RoleBindingRestrictionList, err error) { + result = &v1.RoleBindingRestrictionList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested roleBindingRestrictions. +func (c *roleBindingRestrictions) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a roleBindingRestriction and creates it. Returns the server's representation of the roleBindingRestriction, and an error, if there is any. +func (c *roleBindingRestrictions) Create(roleBindingRestriction *v1.RoleBindingRestriction) (result *v1.RoleBindingRestriction, err error) { + result = &v1.RoleBindingRestriction{} + err = c.client.Post(). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + Body(roleBindingRestriction). + Do(). + Into(result) + return +} + +// Update takes the representation of a roleBindingRestriction and updates it. Returns the server's representation of the roleBindingRestriction, and an error, if there is any. +func (c *roleBindingRestrictions) Update(roleBindingRestriction *v1.RoleBindingRestriction) (result *v1.RoleBindingRestriction, err error) { + result = &v1.RoleBindingRestriction{} + err = c.client.Put(). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + Name(roleBindingRestriction.Name). + Body(roleBindingRestriction). + Do(). + Into(result) + return +} + +// Delete takes name of the roleBindingRestriction and deletes it. Returns an error if one occurs. +func (c *roleBindingRestrictions) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *roleBindingRestrictions) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched roleBindingRestriction. +func (c *roleBindingRestrictions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBindingRestriction, err error) { + result = &v1.RoleBindingRestriction{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("rolebindingrestrictions"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/selfsubjectrulesreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/selfsubjectrulesreview.go new file mode 100644 index 000000000..4508d00d2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/selfsubjectrulesreview.go @@ -0,0 +1,46 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + rest "k8s.io/client-go/rest" +) + +// SelfSubjectRulesReviewsGetter has a method to return a SelfSubjectRulesReviewInterface. +// A group's client should implement this interface. +type SelfSubjectRulesReviewsGetter interface { + SelfSubjectRulesReviews(namespace string) SelfSubjectRulesReviewInterface +} + +// SelfSubjectRulesReviewInterface has methods to work with SelfSubjectRulesReview resources. +type SelfSubjectRulesReviewInterface interface { + Create(*v1.SelfSubjectRulesReview) (*v1.SelfSubjectRulesReview, error) + SelfSubjectRulesReviewExpansion +} + +// selfSubjectRulesReviews implements SelfSubjectRulesReviewInterface +type selfSubjectRulesReviews struct { + client rest.Interface + ns string +} + +// newSelfSubjectRulesReviews returns a SelfSubjectRulesReviews +func newSelfSubjectRulesReviews(c *AuthorizationV1Client, namespace string) *selfSubjectRulesReviews { + return &selfSubjectRulesReviews{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a selfSubjectRulesReview and creates it. Returns the server's representation of the selfSubjectRulesReview, and an error, if there is any. +func (c *selfSubjectRulesReviews) Create(selfSubjectRulesReview *v1.SelfSubjectRulesReview) (result *v1.SelfSubjectRulesReview, err error) { + result = &v1.SelfSubjectRulesReview{} + err = c.client.Post(). + Namespace(c.ns). + Resource("selfsubjectrulesreviews"). + Body(selfSubjectRulesReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectaccessreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectaccessreview.go new file mode 100644 index 000000000..ec5f62527 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectaccessreview.go @@ -0,0 +1,44 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + rest "k8s.io/client-go/rest" +) + +// SubjectAccessReviewsGetter has a method to return a SubjectAccessReviewInterface. +// A group's client should implement this interface. +type SubjectAccessReviewsGetter interface { + SubjectAccessReviews() SubjectAccessReviewInterface +} + +// SubjectAccessReviewInterface has methods to work with SubjectAccessReview resources. +type SubjectAccessReviewInterface interface { + Create(*v1.SubjectAccessReview) (*v1.SubjectAccessReviewResponse, error) + + SubjectAccessReviewExpansion +} + +// subjectAccessReviews implements SubjectAccessReviewInterface +type subjectAccessReviews struct { + client rest.Interface +} + +// newSubjectAccessReviews returns a SubjectAccessReviews +func newSubjectAccessReviews(c *AuthorizationV1Client) *subjectAccessReviews { + return &subjectAccessReviews{ + client: c.RESTClient(), + } +} + +// Create takes the representation of a subjectAccessReview and creates it. Returns the server's representation of the subjectAccessReviewResponse, and an error, if there is any. +func (c *subjectAccessReviews) Create(subjectAccessReview *v1.SubjectAccessReview) (result *v1.SubjectAccessReviewResponse, err error) { + result = &v1.SubjectAccessReviewResponse{} + err = c.client.Post(). + Resource("subjectaccessreviews"). + Body(subjectAccessReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectrulesreview.go b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectrulesreview.go new file mode 100644 index 000000000..d594dad3a --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/clientset/versioned/typed/authorization/v1/subjectrulesreview.go @@ -0,0 +1,46 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + rest "k8s.io/client-go/rest" +) + +// SubjectRulesReviewsGetter has a method to return a SubjectRulesReviewInterface. +// A group's client should implement this interface. +type SubjectRulesReviewsGetter interface { + SubjectRulesReviews(namespace string) SubjectRulesReviewInterface +} + +// SubjectRulesReviewInterface has methods to work with SubjectRulesReview resources. +type SubjectRulesReviewInterface interface { + Create(*v1.SubjectRulesReview) (*v1.SubjectRulesReview, error) + SubjectRulesReviewExpansion +} + +// subjectRulesReviews implements SubjectRulesReviewInterface +type subjectRulesReviews struct { + client rest.Interface + ns string +} + +// newSubjectRulesReviews returns a SubjectRulesReviews +func newSubjectRulesReviews(c *AuthorizationV1Client, namespace string) *subjectRulesReviews { + return &subjectRulesReviews{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a subjectRulesReview and creates it. Returns the server's representation of the subjectRulesReview, and an error, if there is any. +func (c *subjectRulesReviews) Create(subjectRulesReview *v1.SubjectRulesReview) (result *v1.SubjectRulesReview, err error) { + result = &v1.SubjectRulesReview{} + err = c.client.Post(). + Namespace(c.ns). + Resource("subjectrulesreviews"). + Body(subjectRulesReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/interface.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/interface.go new file mode 100644 index 000000000..b5cdb4853 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package authorization + +import ( + v1 "github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1" + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrole.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrole.go new file mode 100644 index 000000000..74f2565e0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrole.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + authorization_v1 "github.com/openshift/api/authorization/v1" + versioned "github.com/openshift/client-go/authorization/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/authorization/listers/authorization/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ClusterRoleInformer provides access to a shared informer and lister for +// ClusterRoles. +type ClusterRoleInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ClusterRoleLister +} + +type clusterRoleInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewClusterRoleInformer constructs a new informer for ClusterRole type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterRoleInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredClusterRoleInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredClusterRoleInformer constructs a new informer for ClusterRole type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredClusterRoleInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().ClusterRoles().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().ClusterRoles().Watch(options) + }, + }, + &authorization_v1.ClusterRole{}, + resyncPeriod, + indexers, + ) +} + +func (f *clusterRoleInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredClusterRoleInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *clusterRoleInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&authorization_v1.ClusterRole{}, f.defaultInformer) +} + +func (f *clusterRoleInformer) Lister() v1.ClusterRoleLister { + return v1.NewClusterRoleLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrolebinding.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrolebinding.go new file mode 100644 index 000000000..bccf678e5 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/clusterrolebinding.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + authorization_v1 "github.com/openshift/api/authorization/v1" + versioned "github.com/openshift/client-go/authorization/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/authorization/listers/authorization/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ClusterRoleBindingInformer provides access to a shared informer and lister for +// ClusterRoleBindings. +type ClusterRoleBindingInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ClusterRoleBindingLister +} + +type clusterRoleBindingInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewClusterRoleBindingInformer constructs a new informer for ClusterRoleBinding type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterRoleBindingInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredClusterRoleBindingInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredClusterRoleBindingInformer constructs a new informer for ClusterRoleBinding type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredClusterRoleBindingInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().ClusterRoleBindings().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().ClusterRoleBindings().Watch(options) + }, + }, + &authorization_v1.ClusterRoleBinding{}, + resyncPeriod, + indexers, + ) +} + +func (f *clusterRoleBindingInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredClusterRoleBindingInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *clusterRoleBindingInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&authorization_v1.ClusterRoleBinding{}, f.defaultInformer) +} + +func (f *clusterRoleBindingInformer) Lister() v1.ClusterRoleBindingLister { + return v1.NewClusterRoleBindingLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/interface.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/interface.go new file mode 100644 index 000000000..803cd2f3b --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/interface.go @@ -0,0 +1,57 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // ClusterRoles returns a ClusterRoleInformer. + ClusterRoles() ClusterRoleInformer + // ClusterRoleBindings returns a ClusterRoleBindingInformer. + ClusterRoleBindings() ClusterRoleBindingInformer + // Roles returns a RoleInformer. + Roles() RoleInformer + // RoleBindings returns a RoleBindingInformer. + RoleBindings() RoleBindingInformer + // RoleBindingRestrictions returns a RoleBindingRestrictionInformer. + RoleBindingRestrictions() RoleBindingRestrictionInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// ClusterRoles returns a ClusterRoleInformer. +func (v *version) ClusterRoles() ClusterRoleInformer { + return &clusterRoleInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// ClusterRoleBindings returns a ClusterRoleBindingInformer. +func (v *version) ClusterRoleBindings() ClusterRoleBindingInformer { + return &clusterRoleBindingInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// Roles returns a RoleInformer. +func (v *version) Roles() RoleInformer { + return &roleInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// RoleBindings returns a RoleBindingInformer. +func (v *version) RoleBindings() RoleBindingInformer { + return &roleBindingInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// RoleBindingRestrictions returns a RoleBindingRestrictionInformer. +func (v *version) RoleBindingRestrictions() RoleBindingRestrictionInformer { + return &roleBindingRestrictionInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/role.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/role.go new file mode 100644 index 000000000..6dc1f6bee --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/role.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + authorization_v1 "github.com/openshift/api/authorization/v1" + versioned "github.com/openshift/client-go/authorization/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/authorization/listers/authorization/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// RoleInformer provides access to a shared informer and lister for +// Roles. +type RoleInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.RoleLister +} + +type roleInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewRoleInformer constructs a new informer for Role type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewRoleInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredRoleInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredRoleInformer constructs a new informer for Role type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredRoleInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().Roles(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().Roles(namespace).Watch(options) + }, + }, + &authorization_v1.Role{}, + resyncPeriod, + indexers, + ) +} + +func (f *roleInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredRoleInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *roleInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&authorization_v1.Role{}, f.defaultInformer) +} + +func (f *roleInformer) Lister() v1.RoleLister { + return v1.NewRoleLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebinding.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebinding.go new file mode 100644 index 000000000..18024f6b0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebinding.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + authorization_v1 "github.com/openshift/api/authorization/v1" + versioned "github.com/openshift/client-go/authorization/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/authorization/listers/authorization/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// RoleBindingInformer provides access to a shared informer and lister for +// RoleBindings. +type RoleBindingInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.RoleBindingLister +} + +type roleBindingInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewRoleBindingInformer constructs a new informer for RoleBinding type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewRoleBindingInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredRoleBindingInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredRoleBindingInformer constructs a new informer for RoleBinding type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredRoleBindingInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().RoleBindings(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().RoleBindings(namespace).Watch(options) + }, + }, + &authorization_v1.RoleBinding{}, + resyncPeriod, + indexers, + ) +} + +func (f *roleBindingInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredRoleBindingInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *roleBindingInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&authorization_v1.RoleBinding{}, f.defaultInformer) +} + +func (f *roleBindingInformer) Lister() v1.RoleBindingLister { + return v1.NewRoleBindingLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebindingrestriction.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebindingrestriction.go new file mode 100644 index 000000000..f92e97eae --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/authorization/v1/rolebindingrestriction.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + authorization_v1 "github.com/openshift/api/authorization/v1" + versioned "github.com/openshift/client-go/authorization/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/authorization/listers/authorization/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// RoleBindingRestrictionInformer provides access to a shared informer and lister for +// RoleBindingRestrictions. +type RoleBindingRestrictionInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.RoleBindingRestrictionLister +} + +type roleBindingRestrictionInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewRoleBindingRestrictionInformer constructs a new informer for RoleBindingRestriction type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewRoleBindingRestrictionInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredRoleBindingRestrictionInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredRoleBindingRestrictionInformer constructs a new informer for RoleBindingRestriction type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredRoleBindingRestrictionInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().RoleBindingRestrictions(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.AuthorizationV1().RoleBindingRestrictions(namespace).Watch(options) + }, + }, + &authorization_v1.RoleBindingRestriction{}, + resyncPeriod, + indexers, + ) +} + +func (f *roleBindingRestrictionInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredRoleBindingRestrictionInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *roleBindingRestrictionInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&authorization_v1.RoleBindingRestriction{}, f.defaultInformer) +} + +func (f *roleBindingRestrictionInformer) Lister() v1.RoleBindingRestrictionLister { + return v1.NewRoleBindingRestrictionLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/factory.go new file mode 100644 index 000000000..91878ff07 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/authorization/clientset/versioned" + authorization "github.com/openshift/client-go/authorization/informers/externalversions/authorization" + internalinterfaces "github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Authorization() authorization.Interface +} + +func (f *sharedInformerFactory) Authorization() authorization.Interface { + return authorization.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/generic.go new file mode 100644 index 000000000..ed77429a8 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/generic.go @@ -0,0 +1,54 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/authorization/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=authorization.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("clusterroles"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Authorization().V1().ClusterRoles().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("clusterrolebindings"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Authorization().V1().ClusterRoleBindings().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("roles"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Authorization().V1().Roles().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("rolebindings"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Authorization().V1().RoleBindings().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("rolebindingrestrictions"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Authorization().V1().RoleBindingRestrictions().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..37bbe4cf3 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/authorization/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrole.go b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrole.go new file mode 100644 index 000000000..4d5c3e64a --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrole.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ClusterRoleLister helps list ClusterRoles. +type ClusterRoleLister interface { + // List lists all ClusterRoles in the indexer. + List(selector labels.Selector) (ret []*v1.ClusterRole, err error) + // Get retrieves the ClusterRole from the index for a given name. + Get(name string) (*v1.ClusterRole, error) + ClusterRoleListerExpansion +} + +// clusterRoleLister implements the ClusterRoleLister interface. +type clusterRoleLister struct { + indexer cache.Indexer +} + +// NewClusterRoleLister returns a new ClusterRoleLister. +func NewClusterRoleLister(indexer cache.Indexer) ClusterRoleLister { + return &clusterRoleLister{indexer: indexer} +} + +// List lists all ClusterRoles in the indexer. +func (s *clusterRoleLister) List(selector labels.Selector) (ret []*v1.ClusterRole, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ClusterRole)) + }) + return ret, err +} + +// Get retrieves the ClusterRole from the index for a given name. +func (s *clusterRoleLister) Get(name string) (*v1.ClusterRole, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("clusterrole"), name) + } + return obj.(*v1.ClusterRole), nil +} diff --git a/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrolebinding.go b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrolebinding.go new file mode 100644 index 000000000..51e51ba7f --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/clusterrolebinding.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ClusterRoleBindingLister helps list ClusterRoleBindings. +type ClusterRoleBindingLister interface { + // List lists all ClusterRoleBindings in the indexer. + List(selector labels.Selector) (ret []*v1.ClusterRoleBinding, err error) + // Get retrieves the ClusterRoleBinding from the index for a given name. + Get(name string) (*v1.ClusterRoleBinding, error) + ClusterRoleBindingListerExpansion +} + +// clusterRoleBindingLister implements the ClusterRoleBindingLister interface. +type clusterRoleBindingLister struct { + indexer cache.Indexer +} + +// NewClusterRoleBindingLister returns a new ClusterRoleBindingLister. +func NewClusterRoleBindingLister(indexer cache.Indexer) ClusterRoleBindingLister { + return &clusterRoleBindingLister{indexer: indexer} +} + +// List lists all ClusterRoleBindings in the indexer. +func (s *clusterRoleBindingLister) List(selector labels.Selector) (ret []*v1.ClusterRoleBinding, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ClusterRoleBinding)) + }) + return ret, err +} + +// Get retrieves the ClusterRoleBinding from the index for a given name. +func (s *clusterRoleBindingLister) Get(name string) (*v1.ClusterRoleBinding, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("clusterrolebinding"), name) + } + return obj.(*v1.ClusterRoleBinding), nil +} diff --git a/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/expansion_generated.go new file mode 100644 index 000000000..0c01759a3 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/expansion_generated.go @@ -0,0 +1,35 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// ClusterRoleListerExpansion allows custom methods to be added to +// ClusterRoleLister. +type ClusterRoleListerExpansion interface{} + +// ClusterRoleBindingListerExpansion allows custom methods to be added to +// ClusterRoleBindingLister. +type ClusterRoleBindingListerExpansion interface{} + +// RoleListerExpansion allows custom methods to be added to +// RoleLister. +type RoleListerExpansion interface{} + +// RoleNamespaceListerExpansion allows custom methods to be added to +// RoleNamespaceLister. +type RoleNamespaceListerExpansion interface{} + +// RoleBindingListerExpansion allows custom methods to be added to +// RoleBindingLister. +type RoleBindingListerExpansion interface{} + +// RoleBindingNamespaceListerExpansion allows custom methods to be added to +// RoleBindingNamespaceLister. +type RoleBindingNamespaceListerExpansion interface{} + +// RoleBindingRestrictionListerExpansion allows custom methods to be added to +// RoleBindingRestrictionLister. +type RoleBindingRestrictionListerExpansion interface{} + +// RoleBindingRestrictionNamespaceListerExpansion allows custom methods to be added to +// RoleBindingRestrictionNamespaceLister. +type RoleBindingRestrictionNamespaceListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/role.go b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/role.go new file mode 100644 index 000000000..62887f232 --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/role.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// RoleLister helps list Roles. +type RoleLister interface { + // List lists all Roles in the indexer. + List(selector labels.Selector) (ret []*v1.Role, err error) + // Roles returns an object that can list and get Roles. + Roles(namespace string) RoleNamespaceLister + RoleListerExpansion +} + +// roleLister implements the RoleLister interface. +type roleLister struct { + indexer cache.Indexer +} + +// NewRoleLister returns a new RoleLister. +func NewRoleLister(indexer cache.Indexer) RoleLister { + return &roleLister{indexer: indexer} +} + +// List lists all Roles in the indexer. +func (s *roleLister) List(selector labels.Selector) (ret []*v1.Role, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Role)) + }) + return ret, err +} + +// Roles returns an object that can list and get Roles. +func (s *roleLister) Roles(namespace string) RoleNamespaceLister { + return roleNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// RoleNamespaceLister helps list and get Roles. +type RoleNamespaceLister interface { + // List lists all Roles in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.Role, err error) + // Get retrieves the Role from the indexer for a given namespace and name. + Get(name string) (*v1.Role, error) + RoleNamespaceListerExpansion +} + +// roleNamespaceLister implements the RoleNamespaceLister +// interface. +type roleNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Roles in the indexer for a given namespace. +func (s roleNamespaceLister) List(selector labels.Selector) (ret []*v1.Role, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Role)) + }) + return ret, err +} + +// Get retrieves the Role from the indexer for a given namespace and name. +func (s roleNamespaceLister) Get(name string) (*v1.Role, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("role"), name) + } + return obj.(*v1.Role), nil +} diff --git a/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebinding.go b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebinding.go new file mode 100644 index 000000000..f81d7bbdc --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebinding.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// RoleBindingLister helps list RoleBindings. +type RoleBindingLister interface { + // List lists all RoleBindings in the indexer. + List(selector labels.Selector) (ret []*v1.RoleBinding, err error) + // RoleBindings returns an object that can list and get RoleBindings. + RoleBindings(namespace string) RoleBindingNamespaceLister + RoleBindingListerExpansion +} + +// roleBindingLister implements the RoleBindingLister interface. +type roleBindingLister struct { + indexer cache.Indexer +} + +// NewRoleBindingLister returns a new RoleBindingLister. +func NewRoleBindingLister(indexer cache.Indexer) RoleBindingLister { + return &roleBindingLister{indexer: indexer} +} + +// List lists all RoleBindings in the indexer. +func (s *roleBindingLister) List(selector labels.Selector) (ret []*v1.RoleBinding, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.RoleBinding)) + }) + return ret, err +} + +// RoleBindings returns an object that can list and get RoleBindings. +func (s *roleBindingLister) RoleBindings(namespace string) RoleBindingNamespaceLister { + return roleBindingNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// RoleBindingNamespaceLister helps list and get RoleBindings. +type RoleBindingNamespaceLister interface { + // List lists all RoleBindings in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.RoleBinding, err error) + // Get retrieves the RoleBinding from the indexer for a given namespace and name. + Get(name string) (*v1.RoleBinding, error) + RoleBindingNamespaceListerExpansion +} + +// roleBindingNamespaceLister implements the RoleBindingNamespaceLister +// interface. +type roleBindingNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all RoleBindings in the indexer for a given namespace. +func (s roleBindingNamespaceLister) List(selector labels.Selector) (ret []*v1.RoleBinding, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.RoleBinding)) + }) + return ret, err +} + +// Get retrieves the RoleBinding from the indexer for a given namespace and name. +func (s roleBindingNamespaceLister) Get(name string) (*v1.RoleBinding, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("rolebinding"), name) + } + return obj.(*v1.RoleBinding), nil +} diff --git a/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebindingrestriction.go b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebindingrestriction.go new file mode 100644 index 000000000..afbc425aa --- /dev/null +++ b/vendor/github.com/openshift/client-go/authorization/listers/authorization/v1/rolebindingrestriction.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/authorization/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// RoleBindingRestrictionLister helps list RoleBindingRestrictions. +type RoleBindingRestrictionLister interface { + // List lists all RoleBindingRestrictions in the indexer. + List(selector labels.Selector) (ret []*v1.RoleBindingRestriction, err error) + // RoleBindingRestrictions returns an object that can list and get RoleBindingRestrictions. + RoleBindingRestrictions(namespace string) RoleBindingRestrictionNamespaceLister + RoleBindingRestrictionListerExpansion +} + +// roleBindingRestrictionLister implements the RoleBindingRestrictionLister interface. +type roleBindingRestrictionLister struct { + indexer cache.Indexer +} + +// NewRoleBindingRestrictionLister returns a new RoleBindingRestrictionLister. +func NewRoleBindingRestrictionLister(indexer cache.Indexer) RoleBindingRestrictionLister { + return &roleBindingRestrictionLister{indexer: indexer} +} + +// List lists all RoleBindingRestrictions in the indexer. +func (s *roleBindingRestrictionLister) List(selector labels.Selector) (ret []*v1.RoleBindingRestriction, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.RoleBindingRestriction)) + }) + return ret, err +} + +// RoleBindingRestrictions returns an object that can list and get RoleBindingRestrictions. +func (s *roleBindingRestrictionLister) RoleBindingRestrictions(namespace string) RoleBindingRestrictionNamespaceLister { + return roleBindingRestrictionNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// RoleBindingRestrictionNamespaceLister helps list and get RoleBindingRestrictions. +type RoleBindingRestrictionNamespaceLister interface { + // List lists all RoleBindingRestrictions in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.RoleBindingRestriction, err error) + // Get retrieves the RoleBindingRestriction from the indexer for a given namespace and name. + Get(name string) (*v1.RoleBindingRestriction, error) + RoleBindingRestrictionNamespaceListerExpansion +} + +// roleBindingRestrictionNamespaceLister implements the RoleBindingRestrictionNamespaceLister +// interface. +type roleBindingRestrictionNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all RoleBindingRestrictions in the indexer for a given namespace. +func (s roleBindingRestrictionNamespaceLister) List(selector labels.Selector) (ret []*v1.RoleBindingRestriction, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.RoleBindingRestriction)) + }) + return ret, err +} + +// Get retrieves the RoleBindingRestriction from the indexer for a given namespace and name. +func (s roleBindingRestrictionNamespaceLister) Get(name string) (*v1.RoleBindingRestriction, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("rolebindingrestriction"), name) + } + return obj.(*v1.RoleBindingRestriction), nil +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/clientset.go new file mode 100644 index 000000000..7000cc969 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + buildv1 "github.com/openshift/client-go/build/clientset/versioned/typed/build/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + BuildV1() buildv1.BuildV1Interface + // Deprecated: please explicitly pick a version if possible. + Build() buildv1.BuildV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + buildV1 *buildv1.BuildV1Client +} + +// BuildV1 retrieves the BuildV1Client +func (c *Clientset) BuildV1() buildv1.BuildV1Interface { + return c.buildV1 +} + +// Deprecated: Build retrieves the default version of BuildClient. +// Please explicitly pick a version. +func (c *Clientset) Build() buildv1.BuildV1Interface { + return c.buildV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.buildV1, err = buildv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.buildV1 = buildv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.buildV1 = buildv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..fe7e5958c --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/build/clientset/versioned" + buildv1 "github.com/openshift/client-go/build/clientset/versioned/typed/build/v1" + fakebuildv1 "github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// BuildV1 retrieves the BuildV1Client +func (c *Clientset) BuildV1() buildv1.BuildV1Interface { + return &fakebuildv1.FakeBuildV1{Fake: &c.Fake} +} + +// Build retrieves the BuildV1Client +func (c *Clientset) Build() buildv1.BuildV1Interface { + return &fakebuildv1.FakeBuildV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/register.go new file mode 100644 index 000000000..9c8695ef2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + buildv1 "github.com/openshift/api/build/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + buildv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..bfe6204a9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + buildv1 "github.com/openshift/api/build/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + buildv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build.go new file mode 100644 index 000000000..5022f2c82 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build.go @@ -0,0 +1,189 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/build/v1" + scheme "github.com/openshift/client-go/build/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// BuildsGetter has a method to return a BuildInterface. +// A group's client should implement this interface. +type BuildsGetter interface { + Builds(namespace string) BuildInterface +} + +// BuildInterface has methods to work with Build resources. +type BuildInterface interface { + Create(*v1.Build) (*v1.Build, error) + Update(*v1.Build) (*v1.Build, error) + UpdateStatus(*v1.Build) (*v1.Build, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Build, error) + List(opts meta_v1.ListOptions) (*v1.BuildList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Build, err error) + UpdateDetails(buildName string, build *v1.Build) (*v1.Build, error) + Clone(buildName string, buildRequest *v1.BuildRequest) (*v1.Build, error) + + BuildExpansion +} + +// builds implements BuildInterface +type builds struct { + client rest.Interface + ns string +} + +// newBuilds returns a Builds +func newBuilds(c *BuildV1Client, namespace string) *builds { + return &builds{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the build, and returns the corresponding build object, and an error if there is any. +func (c *builds) Get(name string, options meta_v1.GetOptions) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Get(). + Namespace(c.ns). + Resource("builds"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Builds that match those selectors. +func (c *builds) List(opts meta_v1.ListOptions) (result *v1.BuildList, err error) { + result = &v1.BuildList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("builds"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested builds. +func (c *builds) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("builds"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a build and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *builds) Create(build *v1.Build) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Post(). + Namespace(c.ns). + Resource("builds"). + Body(build). + Do(). + Into(result) + return +} + +// Update takes the representation of a build and updates it. Returns the server's representation of the build, and an error, if there is any. +func (c *builds) Update(build *v1.Build) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Put(). + Namespace(c.ns). + Resource("builds"). + Name(build.Name). + Body(build). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *builds) UpdateStatus(build *v1.Build) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Put(). + Namespace(c.ns). + Resource("builds"). + Name(build.Name). + SubResource("status"). + Body(build). + Do(). + Into(result) + return +} + +// Delete takes name of the build and deletes it. Returns an error if one occurs. +func (c *builds) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("builds"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *builds) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("builds"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched build. +func (c *builds) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("builds"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} + +// UpdateDetails takes the top resource name and the representation of a build and updates it. Returns the server's representation of the build, and an error, if there is any. +func (c *builds) UpdateDetails(buildName string, build *v1.Build) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Put(). + Namespace(c.ns). + Resource("builds"). + Name(buildName). + SubResource("details"). + Body(build). + Do(). + Into(result) + return +} + +// Clone takes the representation of a buildRequest and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *builds) Clone(buildName string, buildRequest *v1.BuildRequest) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Post(). + Namespace(c.ns). + Resource("builds"). + Name(buildName). + SubResource("clone"). + Body(buildRequest). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build_client.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build_client.go new file mode 100644 index 000000000..2e4bc507b --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/build_client.go @@ -0,0 +1,79 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/build/v1" + "github.com/openshift/client-go/build/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type BuildV1Interface interface { + RESTClient() rest.Interface + BuildsGetter + BuildConfigsGetter +} + +// BuildV1Client is used to interact with features provided by the build.openshift.io group. +type BuildV1Client struct { + restClient rest.Interface +} + +func (c *BuildV1Client) Builds(namespace string) BuildInterface { + return newBuilds(c, namespace) +} + +func (c *BuildV1Client) BuildConfigs(namespace string) BuildConfigInterface { + return newBuildConfigs(c, namespace) +} + +// NewForConfig creates a new BuildV1Client for the given config. +func NewForConfig(c *rest.Config) (*BuildV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &BuildV1Client{client}, nil +} + +// NewForConfigOrDie creates a new BuildV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *BuildV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new BuildV1Client for the given RESTClient. +func New(c rest.Interface) *BuildV1Client { + return &BuildV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *BuildV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/buildconfig.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/buildconfig.go new file mode 100644 index 000000000..55a854a31 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/buildconfig.go @@ -0,0 +1,174 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/build/v1" + scheme "github.com/openshift/client-go/build/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// BuildConfigsGetter has a method to return a BuildConfigInterface. +// A group's client should implement this interface. +type BuildConfigsGetter interface { + BuildConfigs(namespace string) BuildConfigInterface +} + +// BuildConfigInterface has methods to work with BuildConfig resources. +type BuildConfigInterface interface { + Create(*v1.BuildConfig) (*v1.BuildConfig, error) + Update(*v1.BuildConfig) (*v1.BuildConfig, error) + UpdateStatus(*v1.BuildConfig) (*v1.BuildConfig, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.BuildConfig, error) + List(opts meta_v1.ListOptions) (*v1.BuildConfigList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.BuildConfig, err error) + Instantiate(buildConfigName string, buildRequest *v1.BuildRequest) (*v1.Build, error) + + BuildConfigExpansion +} + +// buildConfigs implements BuildConfigInterface +type buildConfigs struct { + client rest.Interface + ns string +} + +// newBuildConfigs returns a BuildConfigs +func newBuildConfigs(c *BuildV1Client, namespace string) *buildConfigs { + return &buildConfigs{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the buildConfig, and returns the corresponding buildConfig object, and an error if there is any. +func (c *buildConfigs) Get(name string, options meta_v1.GetOptions) (result *v1.BuildConfig, err error) { + result = &v1.BuildConfig{} + err = c.client.Get(). + Namespace(c.ns). + Resource("buildconfigs"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of BuildConfigs that match those selectors. +func (c *buildConfigs) List(opts meta_v1.ListOptions) (result *v1.BuildConfigList, err error) { + result = &v1.BuildConfigList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("buildconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested buildConfigs. +func (c *buildConfigs) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("buildconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a buildConfig and creates it. Returns the server's representation of the buildConfig, and an error, if there is any. +func (c *buildConfigs) Create(buildConfig *v1.BuildConfig) (result *v1.BuildConfig, err error) { + result = &v1.BuildConfig{} + err = c.client.Post(). + Namespace(c.ns). + Resource("buildconfigs"). + Body(buildConfig). + Do(). + Into(result) + return +} + +// Update takes the representation of a buildConfig and updates it. Returns the server's representation of the buildConfig, and an error, if there is any. +func (c *buildConfigs) Update(buildConfig *v1.BuildConfig) (result *v1.BuildConfig, err error) { + result = &v1.BuildConfig{} + err = c.client.Put(). + Namespace(c.ns). + Resource("buildconfigs"). + Name(buildConfig.Name). + Body(buildConfig). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *buildConfigs) UpdateStatus(buildConfig *v1.BuildConfig) (result *v1.BuildConfig, err error) { + result = &v1.BuildConfig{} + err = c.client.Put(). + Namespace(c.ns). + Resource("buildconfigs"). + Name(buildConfig.Name). + SubResource("status"). + Body(buildConfig). + Do(). + Into(result) + return +} + +// Delete takes name of the buildConfig and deletes it. Returns an error if one occurs. +func (c *buildConfigs) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("buildconfigs"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *buildConfigs) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("buildconfigs"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched buildConfig. +func (c *buildConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.BuildConfig, err error) { + result = &v1.BuildConfig{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("buildconfigs"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} + +// Instantiate takes the representation of a buildRequest and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *buildConfigs) Instantiate(buildConfigName string, buildRequest *v1.BuildRequest) (result *v1.Build, err error) { + result = &v1.Build{} + err = c.client.Post(). + Namespace(c.ns). + Resource("buildconfigs"). + Name(buildConfigName). + SubResource("instantiate"). + Body(buildRequest). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/doc.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/doc.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build.go new file mode 100644 index 000000000..99d18a6a6 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build.go @@ -0,0 +1,146 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + build_v1 "github.com/openshift/api/build/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeBuilds implements BuildInterface +type FakeBuilds struct { + Fake *FakeBuildV1 + ns string +} + +var buildsResource = schema.GroupVersionResource{Group: "build.openshift.io", Version: "v1", Resource: "builds"} + +var buildsKind = schema.GroupVersionKind{Group: "build.openshift.io", Version: "v1", Kind: "Build"} + +// Get takes name of the build, and returns the corresponding build object, and an error if there is any. +func (c *FakeBuilds) Get(name string, options v1.GetOptions) (result *build_v1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(buildsResource, c.ns, name), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} + +// List takes label and field selectors, and returns the list of Builds that match those selectors. +func (c *FakeBuilds) List(opts v1.ListOptions) (result *build_v1.BuildList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(buildsResource, buildsKind, c.ns, opts), &build_v1.BuildList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &build_v1.BuildList{ListMeta: obj.(*build_v1.BuildList).ListMeta} + for _, item := range obj.(*build_v1.BuildList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested builds. +func (c *FakeBuilds) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(buildsResource, c.ns, opts)) + +} + +// Create takes the representation of a build and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *FakeBuilds) Create(build *build_v1.Build) (result *build_v1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(buildsResource, c.ns, build), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} + +// Update takes the representation of a build and updates it. Returns the server's representation of the build, and an error, if there is any. +func (c *FakeBuilds) Update(build *build_v1.Build) (result *build_v1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(buildsResource, c.ns, build), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeBuilds) UpdateStatus(build *build_v1.Build) (*build_v1.Build, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(buildsResource, "status", c.ns, build), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} + +// Delete takes name of the build and deletes it. Returns an error if one occurs. +func (c *FakeBuilds) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(buildsResource, c.ns, name), &build_v1.Build{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeBuilds) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(buildsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &build_v1.BuildList{}) + return err +} + +// Patch applies the patch and returns the patched build. +func (c *FakeBuilds) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *build_v1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(buildsResource, c.ns, name, data, subresources...), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} + +// UpdateDetails takes the representation of a build and updates it. Returns the server's representation of the build, and an error, if there is any. +func (c *FakeBuilds) UpdateDetails(buildName string, build *build_v1.Build) (result *build_v1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(buildsResource, "details", c.ns, build), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} + +// Clone takes the representation of a buildRequest and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *FakeBuilds) Clone(buildName string, buildRequest *build_v1.BuildRequest) (result *build_v1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateSubresourceAction(buildsResource, buildName, "clone", c.ns, buildRequest), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build_client.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build_client.go new file mode 100644 index 000000000..31cdb947c --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_build_client.go @@ -0,0 +1,28 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/build/clientset/versioned/typed/build/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeBuildV1 struct { + *testing.Fake +} + +func (c *FakeBuildV1) Builds(namespace string) v1.BuildInterface { + return &FakeBuilds{c, namespace} +} + +func (c *FakeBuildV1) BuildConfigs(namespace string) v1.BuildConfigInterface { + return &FakeBuildConfigs{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeBuildV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_buildconfig.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_buildconfig.go new file mode 100644 index 000000000..644a9fd75 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/fake/fake_buildconfig.go @@ -0,0 +1,135 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + build_v1 "github.com/openshift/api/build/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeBuildConfigs implements BuildConfigInterface +type FakeBuildConfigs struct { + Fake *FakeBuildV1 + ns string +} + +var buildconfigsResource = schema.GroupVersionResource{Group: "build.openshift.io", Version: "v1", Resource: "buildconfigs"} + +var buildconfigsKind = schema.GroupVersionKind{Group: "build.openshift.io", Version: "v1", Kind: "BuildConfig"} + +// Get takes name of the buildConfig, and returns the corresponding buildConfig object, and an error if there is any. +func (c *FakeBuildConfigs) Get(name string, options v1.GetOptions) (result *build_v1.BuildConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(buildconfigsResource, c.ns, name), &build_v1.BuildConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.BuildConfig), err +} + +// List takes label and field selectors, and returns the list of BuildConfigs that match those selectors. +func (c *FakeBuildConfigs) List(opts v1.ListOptions) (result *build_v1.BuildConfigList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(buildconfigsResource, buildconfigsKind, c.ns, opts), &build_v1.BuildConfigList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &build_v1.BuildConfigList{ListMeta: obj.(*build_v1.BuildConfigList).ListMeta} + for _, item := range obj.(*build_v1.BuildConfigList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested buildConfigs. +func (c *FakeBuildConfigs) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(buildconfigsResource, c.ns, opts)) + +} + +// Create takes the representation of a buildConfig and creates it. Returns the server's representation of the buildConfig, and an error, if there is any. +func (c *FakeBuildConfigs) Create(buildConfig *build_v1.BuildConfig) (result *build_v1.BuildConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(buildconfigsResource, c.ns, buildConfig), &build_v1.BuildConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.BuildConfig), err +} + +// Update takes the representation of a buildConfig and updates it. Returns the server's representation of the buildConfig, and an error, if there is any. +func (c *FakeBuildConfigs) Update(buildConfig *build_v1.BuildConfig) (result *build_v1.BuildConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(buildconfigsResource, c.ns, buildConfig), &build_v1.BuildConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.BuildConfig), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeBuildConfigs) UpdateStatus(buildConfig *build_v1.BuildConfig) (*build_v1.BuildConfig, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(buildconfigsResource, "status", c.ns, buildConfig), &build_v1.BuildConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.BuildConfig), err +} + +// Delete takes name of the buildConfig and deletes it. Returns an error if one occurs. +func (c *FakeBuildConfigs) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(buildconfigsResource, c.ns, name), &build_v1.BuildConfig{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeBuildConfigs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(buildconfigsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &build_v1.BuildConfigList{}) + return err +} + +// Patch applies the patch and returns the patched buildConfig. +func (c *FakeBuildConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *build_v1.BuildConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(buildconfigsResource, c.ns, name, data, subresources...), &build_v1.BuildConfig{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.BuildConfig), err +} + +// Instantiate takes the representation of a buildRequest and creates it. Returns the server's representation of the build, and an error, if there is any. +func (c *FakeBuildConfigs) Instantiate(buildConfigName string, buildRequest *build_v1.BuildRequest) (result *build_v1.Build, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateSubresourceAction(buildconfigsResource, buildConfigName, "instantiate", c.ns, buildRequest), &build_v1.Build{}) + + if obj == nil { + return nil, err + } + return obj.(*build_v1.Build), err +} diff --git a/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/generated_expansion.go new file mode 100644 index 000000000..d2a1f885c --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/clientset/versioned/typed/build/v1/generated_expansion.go @@ -0,0 +1,7 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type BuildExpansion interface{} + +type BuildConfigExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/build/informers/externalversions/build/interface.go b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/interface.go new file mode 100644 index 000000000..01a651928 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package build + +import ( + v1 "github.com/openshift/client-go/build/informers/externalversions/build/v1" + internalinterfaces "github.com/openshift/client-go/build/informers/externalversions/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/build.go b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/build.go new file mode 100644 index 000000000..72b765df8 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/build.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + build_v1 "github.com/openshift/api/build/v1" + versioned "github.com/openshift/client-go/build/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/build/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/build/listers/build/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// BuildInformer provides access to a shared informer and lister for +// Builds. +type BuildInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.BuildLister +} + +type buildInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewBuildInformer constructs a new informer for Build type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewBuildInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredBuildInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredBuildInformer constructs a new informer for Build type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredBuildInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.BuildV1().Builds(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.BuildV1().Builds(namespace).Watch(options) + }, + }, + &build_v1.Build{}, + resyncPeriod, + indexers, + ) +} + +func (f *buildInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredBuildInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *buildInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&build_v1.Build{}, f.defaultInformer) +} + +func (f *buildInformer) Lister() v1.BuildLister { + return v1.NewBuildLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/buildconfig.go b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/buildconfig.go new file mode 100644 index 000000000..609e75766 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/buildconfig.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + build_v1 "github.com/openshift/api/build/v1" + versioned "github.com/openshift/client-go/build/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/build/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/build/listers/build/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// BuildConfigInformer provides access to a shared informer and lister for +// BuildConfigs. +type BuildConfigInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.BuildConfigLister +} + +type buildConfigInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewBuildConfigInformer constructs a new informer for BuildConfig type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewBuildConfigInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredBuildConfigInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredBuildConfigInformer constructs a new informer for BuildConfig type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredBuildConfigInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.BuildV1().BuildConfigs(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.BuildV1().BuildConfigs(namespace).Watch(options) + }, + }, + &build_v1.BuildConfig{}, + resyncPeriod, + indexers, + ) +} + +func (f *buildConfigInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredBuildConfigInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *buildConfigInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&build_v1.BuildConfig{}, f.defaultInformer) +} + +func (f *buildConfigInformer) Lister() v1.BuildConfigLister { + return v1.NewBuildConfigLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/interface.go b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/interface.go new file mode 100644 index 000000000..da69fc9bb --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/informers/externalversions/build/v1/interface.go @@ -0,0 +1,36 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/build/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Builds returns a BuildInformer. + Builds() BuildInformer + // BuildConfigs returns a BuildConfigInformer. + BuildConfigs() BuildConfigInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// Builds returns a BuildInformer. +func (v *version) Builds() BuildInformer { + return &buildInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// BuildConfigs returns a BuildConfigInformer. +func (v *version) BuildConfigs() BuildConfigInformer { + return &buildConfigInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/build/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/build/informers/externalversions/factory.go new file mode 100644 index 000000000..fadac908e --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/build/clientset/versioned" + build "github.com/openshift/client-go/build/informers/externalversions/build" + internalinterfaces "github.com/openshift/client-go/build/informers/externalversions/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Build() build.Interface +} + +func (f *sharedInformerFactory) Build() build.Interface { + return build.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/build/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/build/informers/externalversions/generic.go new file mode 100644 index 000000000..e8b2035b7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/informers/externalversions/generic.go @@ -0,0 +1,48 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/build/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=build.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("builds"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Build().V1().Builds().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("buildconfigs"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Build().V1().BuildConfigs().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/build/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/build/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..cac65bff0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/build/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/build/listers/build/v1/build.go b/vendor/github.com/openshift/client-go/build/listers/build/v1/build.go new file mode 100644 index 000000000..f86c2d053 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/listers/build/v1/build.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/build/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// BuildLister helps list Builds. +type BuildLister interface { + // List lists all Builds in the indexer. + List(selector labels.Selector) (ret []*v1.Build, err error) + // Builds returns an object that can list and get Builds. + Builds(namespace string) BuildNamespaceLister + BuildListerExpansion +} + +// buildLister implements the BuildLister interface. +type buildLister struct { + indexer cache.Indexer +} + +// NewBuildLister returns a new BuildLister. +func NewBuildLister(indexer cache.Indexer) BuildLister { + return &buildLister{indexer: indexer} +} + +// List lists all Builds in the indexer. +func (s *buildLister) List(selector labels.Selector) (ret []*v1.Build, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Build)) + }) + return ret, err +} + +// Builds returns an object that can list and get Builds. +func (s *buildLister) Builds(namespace string) BuildNamespaceLister { + return buildNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// BuildNamespaceLister helps list and get Builds. +type BuildNamespaceLister interface { + // List lists all Builds in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.Build, err error) + // Get retrieves the Build from the indexer for a given namespace and name. + Get(name string) (*v1.Build, error) + BuildNamespaceListerExpansion +} + +// buildNamespaceLister implements the BuildNamespaceLister +// interface. +type buildNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Builds in the indexer for a given namespace. +func (s buildNamespaceLister) List(selector labels.Selector) (ret []*v1.Build, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Build)) + }) + return ret, err +} + +// Get retrieves the Build from the indexer for a given namespace and name. +func (s buildNamespaceLister) Get(name string) (*v1.Build, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("build"), name) + } + return obj.(*v1.Build), nil +} diff --git a/vendor/github.com/openshift/client-go/build/listers/build/v1/buildconfig.go b/vendor/github.com/openshift/client-go/build/listers/build/v1/buildconfig.go new file mode 100644 index 000000000..230611107 --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/listers/build/v1/buildconfig.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/build/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// BuildConfigLister helps list BuildConfigs. +type BuildConfigLister interface { + // List lists all BuildConfigs in the indexer. + List(selector labels.Selector) (ret []*v1.BuildConfig, err error) + // BuildConfigs returns an object that can list and get BuildConfigs. + BuildConfigs(namespace string) BuildConfigNamespaceLister + BuildConfigListerExpansion +} + +// buildConfigLister implements the BuildConfigLister interface. +type buildConfigLister struct { + indexer cache.Indexer +} + +// NewBuildConfigLister returns a new BuildConfigLister. +func NewBuildConfigLister(indexer cache.Indexer) BuildConfigLister { + return &buildConfigLister{indexer: indexer} +} + +// List lists all BuildConfigs in the indexer. +func (s *buildConfigLister) List(selector labels.Selector) (ret []*v1.BuildConfig, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.BuildConfig)) + }) + return ret, err +} + +// BuildConfigs returns an object that can list and get BuildConfigs. +func (s *buildConfigLister) BuildConfigs(namespace string) BuildConfigNamespaceLister { + return buildConfigNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// BuildConfigNamespaceLister helps list and get BuildConfigs. +type BuildConfigNamespaceLister interface { + // List lists all BuildConfigs in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.BuildConfig, err error) + // Get retrieves the BuildConfig from the indexer for a given namespace and name. + Get(name string) (*v1.BuildConfig, error) + BuildConfigNamespaceListerExpansion +} + +// buildConfigNamespaceLister implements the BuildConfigNamespaceLister +// interface. +type buildConfigNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all BuildConfigs in the indexer for a given namespace. +func (s buildConfigNamespaceLister) List(selector labels.Selector) (ret []*v1.BuildConfig, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.BuildConfig)) + }) + return ret, err +} + +// Get retrieves the BuildConfig from the indexer for a given namespace and name. +func (s buildConfigNamespaceLister) Get(name string) (*v1.BuildConfig, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("buildconfig"), name) + } + return obj.(*v1.BuildConfig), nil +} diff --git a/vendor/github.com/openshift/client-go/build/listers/build/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/build/listers/build/v1/expansion_generated.go new file mode 100644 index 000000000..1fc9faecd --- /dev/null +++ b/vendor/github.com/openshift/client-go/build/listers/build/v1/expansion_generated.go @@ -0,0 +1,19 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// BuildListerExpansion allows custom methods to be added to +// BuildLister. +type BuildListerExpansion interface{} + +// BuildNamespaceListerExpansion allows custom methods to be added to +// BuildNamespaceLister. +type BuildNamespaceListerExpansion interface{} + +// BuildConfigListerExpansion allows custom methods to be added to +// BuildConfigLister. +type BuildConfigListerExpansion interface{} + +// BuildConfigNamespaceListerExpansion allows custom methods to be added to +// BuildConfigNamespaceLister. +type BuildConfigNamespaceListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/examples/build/README.md b/vendor/github.com/openshift/client-go/examples/build/README.md new file mode 100644 index 000000000..9d7c5ac1e --- /dev/null +++ b/vendor/github.com/openshift/client-go/examples/build/README.md @@ -0,0 +1,33 @@ +# Build operations + +This example program demonstrates the fundamental operations for working +with +[Build](https://docs.openshift.com/container-platform/3.7/dev_guide/builds/basic_build_operations.html) +resources, such as `List builds`, `Retrieve details of a build` and `Trigger a build`. + +## Running this example + +Make sure you have an OpenShift cluster and `oc` is configured: + +```sh +$ oc get nodes +### Create a project +$ oc new-project testproject +### Create an app +$ oc new-app https://github.com/openshift/cakephp-ex +$ oc get build +NAME TYPE FROM STATUS STARTED DURATION +cakephp-ex-1 Source Git@e04b8cc Complete 37 minutes ago 1m39s +``` + +Compile this example on your workstation: + +```sh +$ go build -o examples/build/app ./examples/build/ +``` + +Now, run this application on your workstation with your local kubeconfig file: + +```sh +$ ./examples/build/app +``` \ No newline at end of file diff --git a/vendor/github.com/openshift/client-go/examples/build/main.go b/vendor/github.com/openshift/client-go/examples/build/main.go new file mode 100644 index 000000000..3f6fa57bc --- /dev/null +++ b/vendor/github.com/openshift/client-go/examples/build/main.go @@ -0,0 +1,99 @@ +package main + +import ( + "flag" + "fmt" + "os" + "path/filepath" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/tools/clientcmd" + + v1 "github.com/openshift/api/build/v1" + buildv1 "github.com/openshift/client-go/build/clientset/versioned/typed/build/v1" +) + +func main() { + err := start() + if err != nil { + fmt.Fprintf(os.Stderr, "error: %v", err) + os.Exit(1) + } +} + +func start() error { + var kubeconfig *string + if home := homeDir(); home != "" { + kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file") + } else { + kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file") + } + flag.Parse() + + // use the current context in kubeconfig + config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig) + if err != nil { + return err + } + + buildV1Client, err := buildv1.NewForConfig(config) + if err != nil { + return err + } + + namespace := "testproject" + // get all builds + builds, err := buildV1Client.Builds(namespace).List(metav1.ListOptions{}) + if err != nil { + return err + } + fmt.Printf("There are %d builds in project %s\n", len(builds.Items), namespace) + // List names of all builds + for i, build := range builds.Items { + fmt.Printf("index %d: Name of the build: %s", i, build.Name) + } + + // get a specific build + build := "cakephp-ex-1" + myBuild, err := buildV1Client.Builds(namespace).Get(build, metav1.GetOptions{}) + if err != nil { + return err + } + fmt.Printf("Found build %s in namespace %s\n", build, namespace) + fmt.Printf("Raw printout of the build %+v\n", myBuild) + // get details of the build + fmt.Printf("name %s, start time %s, duration (in sec) %.0f, and phase %s\n", + myBuild.Name, myBuild.Status.StartTimestamp.String(), + myBuild.Status.Duration.Seconds(), myBuild.Status.Phase) + + // trigger a build + buildConfig := "cakephp-ex" + myBuildConfig, err := buildV1Client.BuildConfigs(namespace).Get(buildConfig, metav1.GetOptions{}) + if err != nil { + return err + } + fmt.Printf("Found BuildConfig %s in namespace %s\n", myBuildConfig.Name, namespace) + buildRequest := v1.BuildRequest{} + buildRequest.Kind = "BuildRequest" + buildRequest.APIVersion = "build.openshift.io/v1" + objectMeta := metav1.ObjectMeta{} + objectMeta.Name = "cakephp-ex" + buildRequest.ObjectMeta = objectMeta + buildTriggerCause := v1.BuildTriggerCause{} + buildTriggerCause.Message = "Manually triggered" + buildRequest.TriggeredBy = []v1.BuildTriggerCause{buildTriggerCause} + myBuild, err = buildV1Client.BuildConfigs(namespace).Instantiate(buildConfig, &buildRequest) + + if err != nil { + return err + } + fmt.Printf("Name of the triggered build %s\n", myBuild.Name) + return nil +} + +func homeDir() string { + if h := os.Getenv("HOME"); h != "" { + return h + } + return os.Getenv("USERPROFILE") // windows +} diff --git a/vendor/github.com/openshift/client-go/glide.lock b/vendor/github.com/openshift/client-go/glide.lock new file mode 100644 index 000000000..b1b52b3ee --- /dev/null +++ b/vendor/github.com/openshift/client-go/glide.lock @@ -0,0 +1,229 @@ +hash: 45a7f40cc71c1eba5d67f1c71580775a9b825ae5ba406b191e4d50c700d5e732 +updated: 2018-07-23T16:11:42.626426-04:00 +imports: +- name: github.com/davecgh/go-spew + version: 782f4967f2dc4564575ca782fe2d04090b5faca8 + subpackages: + - spew +- name: github.com/ghodss/yaml + version: 73d445a93680fa1a78ae23a5839bad48f32ba1ee +- name: github.com/gogo/protobuf + version: c0656edd0d9eab7c66d1eb0c568f9039345796f7 + subpackages: + - proto + - sortkeys +- name: github.com/golang/glog + version: 44145f04b68cf362d9c4df2182967c2275eaefed +- name: github.com/golang/protobuf + version: b4deda0973fb4c70b50d226b1af49f3da59f5265 + subpackages: + - proto + - ptypes + - ptypes/any + - ptypes/duration + - ptypes/timestamp +- name: github.com/google/btree + version: 7d79101e329e5a3adf994758c578dab82b90c017 +- name: github.com/google/gofuzz + version: 44d81051d367757e1c7c6a5a86423ece9afcf63c +- name: github.com/googleapis/gnostic + version: 0c5108395e2debce0d731cf0287ddf7242066aba + subpackages: + - OpenAPIv2 + - compiler + - extensions +- name: github.com/gregjones/httpcache + version: 787624de3eb7bd915c329cba748687a3b22666a6 + subpackages: + - diskcache +- name: github.com/hashicorp/golang-lru + version: a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4 + subpackages: + - simplelru +- name: github.com/imdario/mergo + version: 6633656539c1639d9d78127b7d47c622b5d7b6dc +- name: github.com/json-iterator/go + version: f2b4162afba35581b6d4a50d3b8f34e33c144682 +- name: github.com/modern-go/concurrent + version: bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94 +- name: github.com/modern-go/reflect2 + version: 05fbef0ca5da472bbf96c9322b84a53edc03c9fd +- name: github.com/openshift/api + version: fc4c02c9169b85b9a80353f11ac15ce542a0944a + subpackages: + - apps/v1 + - authorization/v1 + - build/v1 + - config/v1 + - image/docker10 + - image/dockerpre012 + - image/v1 + - network/v1 + - oauth/v1 + - operator/v1alpha1 + - pkg/serialization + - project/v1 + - quota/v1 + - route/v1 + - security/v1 + - servicecertsigner/v1alpha1 + - template/v1 + - user/v1 +- name: github.com/peterbourgon/diskv + version: 5f041e8faa004a95c88a202771f4cc3e991971e6 +- name: github.com/spf13/pflag + version: 583c0c0531f06d5278b7d917446061adc344b5cd +- name: golang.org/x/crypto + version: 49796115aa4b964c318aad4f3084fdb41e9aa067 + subpackages: + - ssh/terminal +- name: golang.org/x/net + version: 1c05540f6879653db88113bc4a2b70aec4bd491f + subpackages: + - context + - context/ctxhttp + - http2 + - http2/hpack + - idna + - lex/httplex +- name: golang.org/x/sys + version: 95c6576299259db960f6c5b9b69ea52422860fce + subpackages: + - unix + - windows +- name: golang.org/x/text + version: b19bf474d317b857955b12035d2c5acb57ce8b01 + subpackages: + - secure/bidirule + - transform + - unicode/bidi + - unicode/norm +- name: golang.org/x/time + version: f51c12702a4d776e4c1fa9b0fabab841babae631 + subpackages: + - rate +- name: golang.org/x/tools + version: 2382e3994d48b1d22acc2c86bcad0a2aff028e32 + subpackages: + - imports +- name: gopkg.in/inf.v0 + version: 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 +- name: gopkg.in/yaml.v2 + version: 670d4cfef0544295bc27a114dbac37980d83185a +- name: k8s.io/api + version: 2d6f90ab1293a1fb871cf149423ebb72aa7423aa + subpackages: + - admissionregistration/v1alpha1 + - admissionregistration/v1beta1 + - apps/v1 + - apps/v1beta1 + - apps/v1beta2 + - authentication/v1 + - authentication/v1beta1 + - authorization/v1 + - authorization/v1beta1 + - autoscaling/v1 + - autoscaling/v2beta1 + - batch/v1 + - batch/v1beta1 + - batch/v2alpha1 + - certificates/v1beta1 + - core/v1 + - events/v1beta1 + - extensions/v1beta1 + - networking/v1 + - policy/v1beta1 + - rbac/v1 + - rbac/v1alpha1 + - rbac/v1beta1 + - scheduling/v1alpha1 + - scheduling/v1beta1 + - settings/v1alpha1 + - storage/v1 + - storage/v1alpha1 + - storage/v1beta1 +- name: k8s.io/apimachinery + version: 103fd098999dc9c0c88536f5c9ad2e5da39373ae + subpackages: + - pkg/api/errors + - pkg/api/meta + - pkg/api/resource + - pkg/apis/meta/internalversion + - pkg/apis/meta/v1 + - pkg/apis/meta/v1/unstructured + - pkg/apis/meta/v1beta1 + - pkg/conversion + - pkg/conversion/queryparams + - pkg/fields + - pkg/labels + - pkg/runtime + - pkg/runtime/schema + - pkg/runtime/serializer + - pkg/runtime/serializer/json + - pkg/runtime/serializer/protobuf + - pkg/runtime/serializer/recognizer + - pkg/runtime/serializer/streaming + - pkg/runtime/serializer/versioning + - pkg/selection + - pkg/types + - pkg/util/cache + - pkg/util/clock + - pkg/util/diff + - pkg/util/errors + - pkg/util/framer + - pkg/util/intstr + - pkg/util/json + - pkg/util/mergepatch + - pkg/util/net + - pkg/util/runtime + - pkg/util/sets + - pkg/util/strategicpatch + - pkg/util/validation + - pkg/util/validation/field + - pkg/util/wait + - pkg/util/yaml + - pkg/version + - pkg/watch + - third_party/forked/golang/json + - third_party/forked/golang/reflect +- name: k8s.io/client-go + version: 59698c7d9724b0f95f9dc9e7f7dfdcc3dfeceb82 + subpackages: + - discovery + - discovery/fake + - kubernetes/scheme + - pkg/apis/clientauthentication + - pkg/apis/clientauthentication/v1alpha1 + - pkg/apis/clientauthentication/v1beta1 + - pkg/version + - plugin/pkg/client/auth/exec + - rest + - rest/watch + - testing + - tools/auth + - tools/cache + - tools/clientcmd + - tools/clientcmd/api + - tools/clientcmd/api/latest + - tools/clientcmd/api/v1 + - tools/metrics + - tools/pager + - transport + - util/buffer + - util/cert + - util/connrotation + - util/flowcontrol + - util/homedir + - util/integer + - util/retry +- name: k8s.io/code-generator + version: f8b4a111163516cf26185a0530df90263c59bcc1 + repo: git@github.com:openshift/kubernetes-code-generator +- name: k8s.io/gengo + version: 01a732e01d00cb9a81bb0ca050d3e6d2b947927b + repo: git@github.com:openshift/kubernetes-gengo +- name: k8s.io/kube-openapi + version: 91cfa479c814065e420cee7ed227db0f63a5854e + subpackages: + - pkg/util/proto +testImports: [] diff --git a/vendor/github.com/openshift/client-go/glide.yaml b/vendor/github.com/openshift/client-go/glide.yaml new file mode 100644 index 000000000..94a4d485e --- /dev/null +++ b/vendor/github.com/openshift/client-go/glide.yaml @@ -0,0 +1,21 @@ +package: github.com/openshift/client-go +import: +- package: k8s.io/gengo + repo: git@github.com:openshift/kubernetes-gengo + version: origin-3.11-kubernetes-1.11.1 +- package: k8s.io/code-generator + repo: git@github.com:openshift/kubernetes-code-generator + version: origin-3.11-kubernetes-1.11.1 +- package: k8s.io/apimachinery + version: kubernetes-1.11.1 +- package: k8s.io/api + version: kubernetes-1.11.1 +- package: k8s.io/client-go + version: kubernetes-1.11.1 +- package: github.com/openshift/api + version: master +- package: github.com/golang/glog +- package: github.com/spf13/pflag +# for gengo +- package: golang.org/x/tools/imports + version: 2382e3994d48b1d22acc2c86bcad0a2aff028e32 diff --git a/vendor/github.com/openshift/client-go/hack/boilerplate.txt b/vendor/github.com/openshift/client-go/hack/boilerplate.txt new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/github.com/openshift/client-go/hack/update-codegen.sh b/vendor/github.com/openshift/client-go/hack/update-codegen.sh new file mode 100755 index 000000000..23d90d588 --- /dev/null +++ b/vendor/github.com/openshift/client-go/hack/update-codegen.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. +CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../../../k8s.io/code-generator)} + +verify="${VERIFY:-}" + +for group in apps authorization build image network oauth project quota route security template user; do + ${CODEGEN_PKG}/generate-groups.sh "client,lister,informer" \ + github.com/openshift/client-go/${group} \ + github.com/openshift/api \ + "${group}:v1" \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.txt \ + ${verify} +done + +for group in servicecertsigner; do + ${CODEGEN_PKG}/generate-groups.sh "client,lister,informer" \ + github.com/openshift/client-go/${group} \ + github.com/openshift/api \ + "${group}:v1alpha1" \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.txt \ + ${verify} +done diff --git a/vendor/github.com/openshift/client-go/hack/update-deps.sh b/vendor/github.com/openshift/client-go/hack/update-deps.sh new file mode 100755 index 000000000..f7e6057ec --- /dev/null +++ b/vendor/github.com/openshift/client-go/hack/update-deps.sh @@ -0,0 +1,23 @@ +#!/bin/bash -e + +readonly GLIDE_MINOR_VERSION="13" +readonly REQUIRED_GLIDE_VERSION="0.$GLIDE_MINOR_VERSION" + +function verify_glide_version() { + if ! command -v glide &> /dev/null; then + echo "[FATAL] Glide was not found in \$PATH. Please install version ${REQUIRED_GLIDE_VERSION} or newer." + exit 1 + fi + + local glide_version + glide_version=($(glide --version)) + if ! echo "${glide_version[2]#v}" | awk -F. -v min=$GLIDE_MINOR_VERSION '{ exit $2 < min }'; then + echo "Detected glide version: ${glide_version[*]}." + echo "Please install Glide version ${REQUIRED_GLIDE_VERSION} or newer." + exit 1 + fi +} + +verify_glide_version + +glide update --strip-vendor diff --git a/vendor/github.com/openshift/client-go/hack/verify-codegen.sh b/vendor/github.com/openshift/client-go/hack/verify-codegen.sh new file mode 100755 index 000000000..ba56eae40 --- /dev/null +++ b/vendor/github.com/openshift/client-go/hack/verify-codegen.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. +VERIFY=--verify-only ${SCRIPT_ROOT}/hack/update-codegen.sh diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/clientset.go new file mode 100644 index 000000000..8feccf707 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + imagev1 "github.com/openshift/client-go/image/clientset/versioned/typed/image/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + ImageV1() imagev1.ImageV1Interface + // Deprecated: please explicitly pick a version if possible. + Image() imagev1.ImageV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + imageV1 *imagev1.ImageV1Client +} + +// ImageV1 retrieves the ImageV1Client +func (c *Clientset) ImageV1() imagev1.ImageV1Interface { + return c.imageV1 +} + +// Deprecated: Image retrieves the default version of ImageClient. +// Please explicitly pick a version. +func (c *Clientset) Image() imagev1.ImageV1Interface { + return c.imageV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.imageV1, err = imagev1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.imageV1 = imagev1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.imageV1 = imagev1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..e4f3bdab7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/image/clientset/versioned" + imagev1 "github.com/openshift/client-go/image/clientset/versioned/typed/image/v1" + fakeimagev1 "github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// ImageV1 retrieves the ImageV1Client +func (c *Clientset) ImageV1() imagev1.ImageV1Interface { + return &fakeimagev1.FakeImageV1{Fake: &c.Fake} +} + +// Image retrieves the ImageV1Client +func (c *Clientset) Image() imagev1.ImageV1Interface { + return &fakeimagev1.FakeImageV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/register.go new file mode 100644 index 000000000..6bd9cc826 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + imagev1 "github.com/openshift/api/image/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + imagev1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..2e62b7b5a --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + imagev1 "github.com/openshift/api/image/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + imagev1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/doc.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/doc.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image.go new file mode 100644 index 000000000..b8d141e46 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + image_v1 "github.com/openshift/api/image/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeImages implements ImageInterface +type FakeImages struct { + Fake *FakeImageV1 +} + +var imagesResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "v1", Resource: "images"} + +var imagesKind = schema.GroupVersionKind{Group: "image.openshift.io", Version: "v1", Kind: "Image"} + +// Get takes name of the image, and returns the corresponding image object, and an error if there is any. +func (c *FakeImages) Get(name string, options v1.GetOptions) (result *image_v1.Image, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(imagesResource, name), &image_v1.Image{}) + if obj == nil { + return nil, err + } + return obj.(*image_v1.Image), err +} + +// List takes label and field selectors, and returns the list of Images that match those selectors. +func (c *FakeImages) List(opts v1.ListOptions) (result *image_v1.ImageList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(imagesResource, imagesKind, opts), &image_v1.ImageList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &image_v1.ImageList{ListMeta: obj.(*image_v1.ImageList).ListMeta} + for _, item := range obj.(*image_v1.ImageList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested images. +func (c *FakeImages) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(imagesResource, opts)) +} + +// Create takes the representation of a image and creates it. Returns the server's representation of the image, and an error, if there is any. +func (c *FakeImages) Create(image *image_v1.Image) (result *image_v1.Image, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(imagesResource, image), &image_v1.Image{}) + if obj == nil { + return nil, err + } + return obj.(*image_v1.Image), err +} + +// Update takes the representation of a image and updates it. Returns the server's representation of the image, and an error, if there is any. +func (c *FakeImages) Update(image *image_v1.Image) (result *image_v1.Image, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(imagesResource, image), &image_v1.Image{}) + if obj == nil { + return nil, err + } + return obj.(*image_v1.Image), err +} + +// Delete takes name of the image and deletes it. Returns an error if one occurs. +func (c *FakeImages) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(imagesResource, name), &image_v1.Image{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeImages) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(imagesResource, listOptions) + + _, err := c.Fake.Invokes(action, &image_v1.ImageList{}) + return err +} + +// Patch applies the patch and returns the patched image. +func (c *FakeImages) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *image_v1.Image, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(imagesResource, name, data, subresources...), &image_v1.Image{}) + if obj == nil { + return nil, err + } + return obj.(*image_v1.Image), err +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image_client.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image_client.go new file mode 100644 index 000000000..25f7b8fd1 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_image_client.go @@ -0,0 +1,48 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/image/clientset/versioned/typed/image/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeImageV1 struct { + *testing.Fake +} + +func (c *FakeImageV1) Images() v1.ImageInterface { + return &FakeImages{c} +} + +func (c *FakeImageV1) ImageSignatures() v1.ImageSignatureInterface { + return &FakeImageSignatures{c} +} + +func (c *FakeImageV1) ImageStreams(namespace string) v1.ImageStreamInterface { + return &FakeImageStreams{c, namespace} +} + +func (c *FakeImageV1) ImageStreamImages(namespace string) v1.ImageStreamImageInterface { + return &FakeImageStreamImages{c, namespace} +} + +func (c *FakeImageV1) ImageStreamImports(namespace string) v1.ImageStreamImportInterface { + return &FakeImageStreamImports{c, namespace} +} + +func (c *FakeImageV1) ImageStreamMappings(namespace string) v1.ImageStreamMappingInterface { + return &FakeImageStreamMappings{c, namespace} +} + +func (c *FakeImageV1) ImageStreamTags(namespace string) v1.ImageStreamTagInterface { + return &FakeImageStreamTags{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeImageV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagesignature.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagesignature.go new file mode 100644 index 000000000..285a028bc --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagesignature.go @@ -0,0 +1,36 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/image/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeImageSignatures implements ImageSignatureInterface +type FakeImageSignatures struct { + Fake *FakeImageV1 +} + +var imagesignaturesResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "v1", Resource: "imagesignatures"} + +var imagesignaturesKind = schema.GroupVersionKind{Group: "image.openshift.io", Version: "v1", Kind: "ImageSignature"} + +// Create takes the representation of a imageSignature and creates it. Returns the server's representation of the imageSignature, and an error, if there is any. +func (c *FakeImageSignatures) Create(imageSignature *v1.ImageSignature) (result *v1.ImageSignature, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(imagesignaturesResource, imageSignature), &v1.ImageSignature{}) + if obj == nil { + return nil, err + } + return obj.(*v1.ImageSignature), err +} + +// Delete takes name of the imageSignature and deletes it. Returns an error if one occurs. +func (c *FakeImageSignatures) Delete(name string, options *meta_v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(imagesignaturesResource, name), &v1.ImageSignature{}) + return err +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestream.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestream.go new file mode 100644 index 000000000..b193c7d79 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestream.go @@ -0,0 +1,147 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + image_v1 "github.com/openshift/api/image/v1" + core_v1 "k8s.io/api/core/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeImageStreams implements ImageStreamInterface +type FakeImageStreams struct { + Fake *FakeImageV1 + ns string +} + +var imagestreamsResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "v1", Resource: "imagestreams"} + +var imagestreamsKind = schema.GroupVersionKind{Group: "image.openshift.io", Version: "v1", Kind: "ImageStream"} + +// Get takes name of the imageStream, and returns the corresponding imageStream object, and an error if there is any. +func (c *FakeImageStreams) Get(name string, options v1.GetOptions) (result *image_v1.ImageStream, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(imagestreamsResource, c.ns, name), &image_v1.ImageStream{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStream), err +} + +// List takes label and field selectors, and returns the list of ImageStreams that match those selectors. +func (c *FakeImageStreams) List(opts v1.ListOptions) (result *image_v1.ImageStreamList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(imagestreamsResource, imagestreamsKind, c.ns, opts), &image_v1.ImageStreamList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &image_v1.ImageStreamList{ListMeta: obj.(*image_v1.ImageStreamList).ListMeta} + for _, item := range obj.(*image_v1.ImageStreamList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested imageStreams. +func (c *FakeImageStreams) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(imagestreamsResource, c.ns, opts)) + +} + +// Create takes the representation of a imageStream and creates it. Returns the server's representation of the imageStream, and an error, if there is any. +func (c *FakeImageStreams) Create(imageStream *image_v1.ImageStream) (result *image_v1.ImageStream, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(imagestreamsResource, c.ns, imageStream), &image_v1.ImageStream{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStream), err +} + +// Update takes the representation of a imageStream and updates it. Returns the server's representation of the imageStream, and an error, if there is any. +func (c *FakeImageStreams) Update(imageStream *image_v1.ImageStream) (result *image_v1.ImageStream, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(imagestreamsResource, c.ns, imageStream), &image_v1.ImageStream{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStream), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeImageStreams) UpdateStatus(imageStream *image_v1.ImageStream) (*image_v1.ImageStream, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(imagestreamsResource, "status", c.ns, imageStream), &image_v1.ImageStream{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStream), err +} + +// Delete takes name of the imageStream and deletes it. Returns an error if one occurs. +func (c *FakeImageStreams) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(imagestreamsResource, c.ns, name), &image_v1.ImageStream{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeImageStreams) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(imagestreamsResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &image_v1.ImageStreamList{}) + return err +} + +// Patch applies the patch and returns the patched imageStream. +func (c *FakeImageStreams) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *image_v1.ImageStream, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(imagestreamsResource, c.ns, name, data, subresources...), &image_v1.ImageStream{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStream), err +} + +// Secrets takes name of the imageStream, and returns the corresponding secretList object, and an error if there is any. +func (c *FakeImageStreams) Secrets(imageStreamName string, options v1.GetOptions) (result *core_v1.SecretList, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetSubresourceAction(imagestreamsResource, c.ns, "secrets", imageStreamName), &core_v1.SecretList{}) + + if obj == nil { + return nil, err + } + return obj.(*core_v1.SecretList), err +} + +// Layers takes name of the imageStream, and returns the corresponding imageStreamLayers object, and an error if there is any. +func (c *FakeImageStreams) Layers(imageStreamName string, options v1.GetOptions) (result *image_v1.ImageStreamLayers, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetSubresourceAction(imagestreamsResource, c.ns, "layers", imageStreamName), &image_v1.ImageStreamLayers{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStreamLayers), err +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimage.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimage.go new file mode 100644 index 000000000..fd19e51f1 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimage.go @@ -0,0 +1,31 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + image_v1 "github.com/openshift/api/image/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeImageStreamImages implements ImageStreamImageInterface +type FakeImageStreamImages struct { + Fake *FakeImageV1 + ns string +} + +var imagestreamimagesResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "v1", Resource: "imagestreamimages"} + +var imagestreamimagesKind = schema.GroupVersionKind{Group: "image.openshift.io", Version: "v1", Kind: "ImageStreamImage"} + +// Get takes name of the imageStreamImage, and returns the corresponding imageStreamImage object, and an error if there is any. +func (c *FakeImageStreamImages) Get(name string, options v1.GetOptions) (result *image_v1.ImageStreamImage, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(imagestreamimagesResource, c.ns, name), &image_v1.ImageStreamImage{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStreamImage), err +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimport.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimport.go new file mode 100644 index 000000000..4b1ec7d3d --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamimport.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/image/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeImageStreamImports implements ImageStreamImportInterface +type FakeImageStreamImports struct { + Fake *FakeImageV1 + ns string +} + +var imagestreamimportsResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "v1", Resource: "imagestreamimports"} + +var imagestreamimportsKind = schema.GroupVersionKind{Group: "image.openshift.io", Version: "v1", Kind: "ImageStreamImport"} + +// Create takes the representation of a imageStreamImport and creates it. Returns the server's representation of the imageStreamImport, and an error, if there is any. +func (c *FakeImageStreamImports) Create(imageStreamImport *v1.ImageStreamImport) (result *v1.ImageStreamImport, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(imagestreamimportsResource, c.ns, imageStreamImport), &v1.ImageStreamImport{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.ImageStreamImport), err +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreammapping.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreammapping.go new file mode 100644 index 000000000..96a5f0cee --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreammapping.go @@ -0,0 +1,31 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/image/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeImageStreamMappings implements ImageStreamMappingInterface +type FakeImageStreamMappings struct { + Fake *FakeImageV1 + ns string +} + +var imagestreammappingsResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "v1", Resource: "imagestreammappings"} + +var imagestreammappingsKind = schema.GroupVersionKind{Group: "image.openshift.io", Version: "v1", Kind: "ImageStreamMapping"} + +// Create takes the representation of a imageStreamMapping and creates it. Returns the server's representation of the status, and an error, if there is any. +func (c *FakeImageStreamMappings) Create(imageStreamMapping *v1.ImageStreamMapping) (result *meta_v1.Status, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(imagestreammappingsResource, c.ns, imageStreamMapping), &meta_v1.Status{}) + + if obj == nil { + return nil, err + } + return obj.(*meta_v1.Status), err +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamtag.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamtag.go new file mode 100644 index 000000000..feff5df9c --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/fake/fake_imagestreamtag.go @@ -0,0 +1,84 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + image_v1 "github.com/openshift/api/image/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeImageStreamTags implements ImageStreamTagInterface +type FakeImageStreamTags struct { + Fake *FakeImageV1 + ns string +} + +var imagestreamtagsResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "v1", Resource: "imagestreamtags"} + +var imagestreamtagsKind = schema.GroupVersionKind{Group: "image.openshift.io", Version: "v1", Kind: "ImageStreamTag"} + +// Get takes name of the imageStreamTag, and returns the corresponding imageStreamTag object, and an error if there is any. +func (c *FakeImageStreamTags) Get(name string, options v1.GetOptions) (result *image_v1.ImageStreamTag, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(imagestreamtagsResource, c.ns, name), &image_v1.ImageStreamTag{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStreamTag), err +} + +// List takes label and field selectors, and returns the list of ImageStreamTags that match those selectors. +func (c *FakeImageStreamTags) List(opts v1.ListOptions) (result *image_v1.ImageStreamTagList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(imagestreamtagsResource, imagestreamtagsKind, c.ns, opts), &image_v1.ImageStreamTagList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &image_v1.ImageStreamTagList{ListMeta: obj.(*image_v1.ImageStreamTagList).ListMeta} + for _, item := range obj.(*image_v1.ImageStreamTagList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Create takes the representation of a imageStreamTag and creates it. Returns the server's representation of the imageStreamTag, and an error, if there is any. +func (c *FakeImageStreamTags) Create(imageStreamTag *image_v1.ImageStreamTag) (result *image_v1.ImageStreamTag, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(imagestreamtagsResource, c.ns, imageStreamTag), &image_v1.ImageStreamTag{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStreamTag), err +} + +// Update takes the representation of a imageStreamTag and updates it. Returns the server's representation of the imageStreamTag, and an error, if there is any. +func (c *FakeImageStreamTags) Update(imageStreamTag *image_v1.ImageStreamTag) (result *image_v1.ImageStreamTag, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(imagestreamtagsResource, c.ns, imageStreamTag), &image_v1.ImageStreamTag{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStreamTag), err +} + +// Delete takes name of the imageStreamTag and deletes it. Returns an error if one occurs. +func (c *FakeImageStreamTags) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(imagestreamtagsResource, c.ns, name), &image_v1.ImageStreamTag{}) + + return err +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/generated_expansion.go new file mode 100644 index 000000000..0632692fe --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/generated_expansion.go @@ -0,0 +1,17 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type ImageExpansion interface{} + +type ImageSignatureExpansion interface{} + +type ImageStreamExpansion interface{} + +type ImageStreamImageExpansion interface{} + +type ImageStreamImportExpansion interface{} + +type ImageStreamMappingExpansion interface{} + +type ImageStreamTagExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image.go new file mode 100644 index 000000000..cc5d2b69c --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + scheme "github.com/openshift/client-go/image/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ImagesGetter has a method to return a ImageInterface. +// A group's client should implement this interface. +type ImagesGetter interface { + Images() ImageInterface +} + +// ImageInterface has methods to work with Image resources. +type ImageInterface interface { + Create(*v1.Image) (*v1.Image, error) + Update(*v1.Image) (*v1.Image, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Image, error) + List(opts meta_v1.ListOptions) (*v1.ImageList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Image, err error) + ImageExpansion +} + +// images implements ImageInterface +type images struct { + client rest.Interface +} + +// newImages returns a Images +func newImages(c *ImageV1Client) *images { + return &images{ + client: c.RESTClient(), + } +} + +// Get takes name of the image, and returns the corresponding image object, and an error if there is any. +func (c *images) Get(name string, options meta_v1.GetOptions) (result *v1.Image, err error) { + result = &v1.Image{} + err = c.client.Get(). + Resource("images"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Images that match those selectors. +func (c *images) List(opts meta_v1.ListOptions) (result *v1.ImageList, err error) { + result = &v1.ImageList{} + err = c.client.Get(). + Resource("images"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested images. +func (c *images) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("images"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a image and creates it. Returns the server's representation of the image, and an error, if there is any. +func (c *images) Create(image *v1.Image) (result *v1.Image, err error) { + result = &v1.Image{} + err = c.client.Post(). + Resource("images"). + Body(image). + Do(). + Into(result) + return +} + +// Update takes the representation of a image and updates it. Returns the server's representation of the image, and an error, if there is any. +func (c *images) Update(image *v1.Image) (result *v1.Image, err error) { + result = &v1.Image{} + err = c.client.Put(). + Resource("images"). + Name(image.Name). + Body(image). + Do(). + Into(result) + return +} + +// Delete takes name of the image and deletes it. Returns an error if one occurs. +func (c *images) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("images"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *images) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("images"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched image. +func (c *images) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Image, err error) { + result = &v1.Image{} + err = c.client.Patch(pt). + Resource("images"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image_client.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image_client.go new file mode 100644 index 000000000..e2ca0f462 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/image_client.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + "github.com/openshift/client-go/image/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type ImageV1Interface interface { + RESTClient() rest.Interface + ImagesGetter + ImageSignaturesGetter + ImageStreamsGetter + ImageStreamImagesGetter + ImageStreamImportsGetter + ImageStreamMappingsGetter + ImageStreamTagsGetter +} + +// ImageV1Client is used to interact with features provided by the image.openshift.io group. +type ImageV1Client struct { + restClient rest.Interface +} + +func (c *ImageV1Client) Images() ImageInterface { + return newImages(c) +} + +func (c *ImageV1Client) ImageSignatures() ImageSignatureInterface { + return newImageSignatures(c) +} + +func (c *ImageV1Client) ImageStreams(namespace string) ImageStreamInterface { + return newImageStreams(c, namespace) +} + +func (c *ImageV1Client) ImageStreamImages(namespace string) ImageStreamImageInterface { + return newImageStreamImages(c, namespace) +} + +func (c *ImageV1Client) ImageStreamImports(namespace string) ImageStreamImportInterface { + return newImageStreamImports(c, namespace) +} + +func (c *ImageV1Client) ImageStreamMappings(namespace string) ImageStreamMappingInterface { + return newImageStreamMappings(c, namespace) +} + +func (c *ImageV1Client) ImageStreamTags(namespace string) ImageStreamTagInterface { + return newImageStreamTags(c, namespace) +} + +// NewForConfig creates a new ImageV1Client for the given config. +func NewForConfig(c *rest.Config) (*ImageV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &ImageV1Client{client}, nil +} + +// NewForConfigOrDie creates a new ImageV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *ImageV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new ImageV1Client for the given RESTClient. +func New(c rest.Interface) *ImageV1Client { + return &ImageV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *ImageV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagesignature.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagesignature.go new file mode 100644 index 000000000..b99a4b92f --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagesignature.go @@ -0,0 +1,55 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + rest "k8s.io/client-go/rest" +) + +// ImageSignaturesGetter has a method to return a ImageSignatureInterface. +// A group's client should implement this interface. +type ImageSignaturesGetter interface { + ImageSignatures() ImageSignatureInterface +} + +// ImageSignatureInterface has methods to work with ImageSignature resources. +type ImageSignatureInterface interface { + Create(*v1.ImageSignature) (*v1.ImageSignature, error) + Delete(name string, options *meta_v1.DeleteOptions) error + ImageSignatureExpansion +} + +// imageSignatures implements ImageSignatureInterface +type imageSignatures struct { + client rest.Interface +} + +// newImageSignatures returns a ImageSignatures +func newImageSignatures(c *ImageV1Client) *imageSignatures { + return &imageSignatures{ + client: c.RESTClient(), + } +} + +// Create takes the representation of a imageSignature and creates it. Returns the server's representation of the imageSignature, and an error, if there is any. +func (c *imageSignatures) Create(imageSignature *v1.ImageSignature) (result *v1.ImageSignature, err error) { + result = &v1.ImageSignature{} + err = c.client.Post(). + Resource("imagesignatures"). + Body(imageSignature). + Do(). + Into(result) + return +} + +// Delete takes name of the imageSignature and deletes it. Returns an error if one occurs. +func (c *imageSignatures) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("imagesignatures"). + Name(name). + Body(options). + Do(). + Error() +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestream.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestream.go new file mode 100644 index 000000000..307afcfff --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestream.go @@ -0,0 +1,190 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + scheme "github.com/openshift/client-go/image/clientset/versioned/scheme" + core_v1 "k8s.io/api/core/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ImageStreamsGetter has a method to return a ImageStreamInterface. +// A group's client should implement this interface. +type ImageStreamsGetter interface { + ImageStreams(namespace string) ImageStreamInterface +} + +// ImageStreamInterface has methods to work with ImageStream resources. +type ImageStreamInterface interface { + Create(*v1.ImageStream) (*v1.ImageStream, error) + Update(*v1.ImageStream) (*v1.ImageStream, error) + UpdateStatus(*v1.ImageStream) (*v1.ImageStream, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.ImageStream, error) + List(opts meta_v1.ListOptions) (*v1.ImageStreamList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ImageStream, err error) + Secrets(imageStreamName string, options meta_v1.GetOptions) (*core_v1.SecretList, error) + Layers(imageStreamName string, options meta_v1.GetOptions) (*v1.ImageStreamLayers, error) + + ImageStreamExpansion +} + +// imageStreams implements ImageStreamInterface +type imageStreams struct { + client rest.Interface + ns string +} + +// newImageStreams returns a ImageStreams +func newImageStreams(c *ImageV1Client, namespace string) *imageStreams { + return &imageStreams{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the imageStream, and returns the corresponding imageStream object, and an error if there is any. +func (c *imageStreams) Get(name string, options meta_v1.GetOptions) (result *v1.ImageStream, err error) { + result = &v1.ImageStream{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreams"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ImageStreams that match those selectors. +func (c *imageStreams) List(opts meta_v1.ListOptions) (result *v1.ImageStreamList, err error) { + result = &v1.ImageStreamList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreams"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested imageStreams. +func (c *imageStreams) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("imagestreams"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a imageStream and creates it. Returns the server's representation of the imageStream, and an error, if there is any. +func (c *imageStreams) Create(imageStream *v1.ImageStream) (result *v1.ImageStream, err error) { + result = &v1.ImageStream{} + err = c.client.Post(). + Namespace(c.ns). + Resource("imagestreams"). + Body(imageStream). + Do(). + Into(result) + return +} + +// Update takes the representation of a imageStream and updates it. Returns the server's representation of the imageStream, and an error, if there is any. +func (c *imageStreams) Update(imageStream *v1.ImageStream) (result *v1.ImageStream, err error) { + result = &v1.ImageStream{} + err = c.client.Put(). + Namespace(c.ns). + Resource("imagestreams"). + Name(imageStream.Name). + Body(imageStream). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *imageStreams) UpdateStatus(imageStream *v1.ImageStream) (result *v1.ImageStream, err error) { + result = &v1.ImageStream{} + err = c.client.Put(). + Namespace(c.ns). + Resource("imagestreams"). + Name(imageStream.Name). + SubResource("status"). + Body(imageStream). + Do(). + Into(result) + return +} + +// Delete takes name of the imageStream and deletes it. Returns an error if one occurs. +func (c *imageStreams) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("imagestreams"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *imageStreams) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("imagestreams"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched imageStream. +func (c *imageStreams) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ImageStream, err error) { + result = &v1.ImageStream{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("imagestreams"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} + +// Secrets takes name of the imageStream, and returns the corresponding core_v1.SecretList object, and an error if there is any. +func (c *imageStreams) Secrets(imageStreamName string, options meta_v1.GetOptions) (result *core_v1.SecretList, err error) { + result = &core_v1.SecretList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreams"). + Name(imageStreamName). + SubResource("secrets"). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Layers takes name of the imageStream, and returns the corresponding v1.ImageStreamLayers object, and an error if there is any. +func (c *imageStreams) Layers(imageStreamName string, options meta_v1.GetOptions) (result *v1.ImageStreamLayers, err error) { + result = &v1.ImageStreamLayers{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreams"). + Name(imageStreamName). + SubResource("layers"). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimage.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimage.go new file mode 100644 index 000000000..2a5997130 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimage.go @@ -0,0 +1,49 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + image_v1 "github.com/openshift/api/image/v1" + scheme "github.com/openshift/client-go/image/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + rest "k8s.io/client-go/rest" +) + +// ImageStreamImagesGetter has a method to return a ImageStreamImageInterface. +// A group's client should implement this interface. +type ImageStreamImagesGetter interface { + ImageStreamImages(namespace string) ImageStreamImageInterface +} + +// ImageStreamImageInterface has methods to work with ImageStreamImage resources. +type ImageStreamImageInterface interface { + Get(name string, options v1.GetOptions) (*image_v1.ImageStreamImage, error) + ImageStreamImageExpansion +} + +// imageStreamImages implements ImageStreamImageInterface +type imageStreamImages struct { + client rest.Interface + ns string +} + +// newImageStreamImages returns a ImageStreamImages +func newImageStreamImages(c *ImageV1Client, namespace string) *imageStreamImages { + return &imageStreamImages{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the imageStreamImage, and returns the corresponding imageStreamImage object, and an error if there is any. +func (c *imageStreamImages) Get(name string, options v1.GetOptions) (result *image_v1.ImageStreamImage, err error) { + result = &image_v1.ImageStreamImage{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreamimages"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimport.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimport.go new file mode 100644 index 000000000..8c50a089c --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamimport.go @@ -0,0 +1,46 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + rest "k8s.io/client-go/rest" +) + +// ImageStreamImportsGetter has a method to return a ImageStreamImportInterface. +// A group's client should implement this interface. +type ImageStreamImportsGetter interface { + ImageStreamImports(namespace string) ImageStreamImportInterface +} + +// ImageStreamImportInterface has methods to work with ImageStreamImport resources. +type ImageStreamImportInterface interface { + Create(*v1.ImageStreamImport) (*v1.ImageStreamImport, error) + ImageStreamImportExpansion +} + +// imageStreamImports implements ImageStreamImportInterface +type imageStreamImports struct { + client rest.Interface + ns string +} + +// newImageStreamImports returns a ImageStreamImports +func newImageStreamImports(c *ImageV1Client, namespace string) *imageStreamImports { + return &imageStreamImports{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a imageStreamImport and creates it. Returns the server's representation of the imageStreamImport, and an error, if there is any. +func (c *imageStreamImports) Create(imageStreamImport *v1.ImageStreamImport) (result *v1.ImageStreamImport, err error) { + result = &v1.ImageStreamImport{} + err = c.client.Post(). + Namespace(c.ns). + Resource("imagestreamimports"). + Body(imageStreamImport). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreammapping.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreammapping.go new file mode 100644 index 000000000..35492249a --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreammapping.go @@ -0,0 +1,48 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + rest "k8s.io/client-go/rest" +) + +// ImageStreamMappingsGetter has a method to return a ImageStreamMappingInterface. +// A group's client should implement this interface. +type ImageStreamMappingsGetter interface { + ImageStreamMappings(namespace string) ImageStreamMappingInterface +} + +// ImageStreamMappingInterface has methods to work with ImageStreamMapping resources. +type ImageStreamMappingInterface interface { + Create(*v1.ImageStreamMapping) (*meta_v1.Status, error) + + ImageStreamMappingExpansion +} + +// imageStreamMappings implements ImageStreamMappingInterface +type imageStreamMappings struct { + client rest.Interface + ns string +} + +// newImageStreamMappings returns a ImageStreamMappings +func newImageStreamMappings(c *ImageV1Client, namespace string) *imageStreamMappings { + return &imageStreamMappings{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a imageStreamMapping and creates it. Returns the server's representation of the status, and an error, if there is any. +func (c *imageStreamMappings) Create(imageStreamMapping *v1.ImageStreamMapping) (result *meta_v1.Status, err error) { + result = &meta_v1.Status{} + err = c.client.Post(). + Namespace(c.ns). + Resource("imagestreammappings"). + Body(imageStreamMapping). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamtag.go b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamtag.go new file mode 100644 index 000000000..b50d905d9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/clientset/versioned/typed/image/v1/imagestreamtag.go @@ -0,0 +1,101 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + scheme "github.com/openshift/client-go/image/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + rest "k8s.io/client-go/rest" +) + +// ImageStreamTagsGetter has a method to return a ImageStreamTagInterface. +// A group's client should implement this interface. +type ImageStreamTagsGetter interface { + ImageStreamTags(namespace string) ImageStreamTagInterface +} + +// ImageStreamTagInterface has methods to work with ImageStreamTag resources. +type ImageStreamTagInterface interface { + Create(*v1.ImageStreamTag) (*v1.ImageStreamTag, error) + Update(*v1.ImageStreamTag) (*v1.ImageStreamTag, error) + Delete(name string, options *meta_v1.DeleteOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.ImageStreamTag, error) + List(opts meta_v1.ListOptions) (*v1.ImageStreamTagList, error) + ImageStreamTagExpansion +} + +// imageStreamTags implements ImageStreamTagInterface +type imageStreamTags struct { + client rest.Interface + ns string +} + +// newImageStreamTags returns a ImageStreamTags +func newImageStreamTags(c *ImageV1Client, namespace string) *imageStreamTags { + return &imageStreamTags{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the imageStreamTag, and returns the corresponding imageStreamTag object, and an error if there is any. +func (c *imageStreamTags) Get(name string, options meta_v1.GetOptions) (result *v1.ImageStreamTag, err error) { + result = &v1.ImageStreamTag{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreamtags"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ImageStreamTags that match those selectors. +func (c *imageStreamTags) List(opts meta_v1.ListOptions) (result *v1.ImageStreamTagList, err error) { + result = &v1.ImageStreamTagList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreamtags"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Create takes the representation of a imageStreamTag and creates it. Returns the server's representation of the imageStreamTag, and an error, if there is any. +func (c *imageStreamTags) Create(imageStreamTag *v1.ImageStreamTag) (result *v1.ImageStreamTag, err error) { + result = &v1.ImageStreamTag{} + err = c.client.Post(). + Namespace(c.ns). + Resource("imagestreamtags"). + Body(imageStreamTag). + Do(). + Into(result) + return +} + +// Update takes the representation of a imageStreamTag and updates it. Returns the server's representation of the imageStreamTag, and an error, if there is any. +func (c *imageStreamTags) Update(imageStreamTag *v1.ImageStreamTag) (result *v1.ImageStreamTag, err error) { + result = &v1.ImageStreamTag{} + err = c.client.Put(). + Namespace(c.ns). + Resource("imagestreamtags"). + Name(imageStreamTag.Name). + Body(imageStreamTag). + Do(). + Into(result) + return +} + +// Delete takes name of the imageStreamTag and deletes it. Returns an error if one occurs. +func (c *imageStreamTags) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("imagestreamtags"). + Name(name). + Body(options). + Do(). + Error() +} diff --git a/vendor/github.com/openshift/client-go/image/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/image/informers/externalversions/factory.go new file mode 100644 index 000000000..067795180 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/image/clientset/versioned" + image "github.com/openshift/client-go/image/informers/externalversions/image" + internalinterfaces "github.com/openshift/client-go/image/informers/externalversions/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Image() image.Interface +} + +func (f *sharedInformerFactory) Image() image.Interface { + return image.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/image/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/image/informers/externalversions/generic.go new file mode 100644 index 000000000..55f59dede --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/informers/externalversions/generic.go @@ -0,0 +1,48 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/image/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=image.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("images"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Image().V1().Images().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("imagestreams"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Image().V1().ImageStreams().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/image/informers/externalversions/image/interface.go b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/interface.go new file mode 100644 index 000000000..092550ed3 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package image + +import ( + v1 "github.com/openshift/client-go/image/informers/externalversions/image/v1" + internalinterfaces "github.com/openshift/client-go/image/informers/externalversions/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/image.go b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/image.go new file mode 100644 index 000000000..057a63130 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/image.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + image_v1 "github.com/openshift/api/image/v1" + versioned "github.com/openshift/client-go/image/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/image/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/image/listers/image/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ImageInformer provides access to a shared informer and lister for +// Images. +type ImageInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ImageLister +} + +type imageInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewImageInformer constructs a new informer for Image type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewImageInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredImageInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredImageInformer constructs a new informer for Image type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredImageInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ImageV1().Images().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ImageV1().Images().Watch(options) + }, + }, + &image_v1.Image{}, + resyncPeriod, + indexers, + ) +} + +func (f *imageInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredImageInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *imageInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&image_v1.Image{}, f.defaultInformer) +} + +func (f *imageInformer) Lister() v1.ImageLister { + return v1.NewImageLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/imagestream.go b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/imagestream.go new file mode 100644 index 000000000..2ea11b232 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/imagestream.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + image_v1 "github.com/openshift/api/image/v1" + versioned "github.com/openshift/client-go/image/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/image/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/image/listers/image/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ImageStreamInformer provides access to a shared informer and lister for +// ImageStreams. +type ImageStreamInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ImageStreamLister +} + +type imageStreamInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewImageStreamInformer constructs a new informer for ImageStream type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewImageStreamInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredImageStreamInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredImageStreamInformer constructs a new informer for ImageStream type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredImageStreamInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ImageV1().ImageStreams(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ImageV1().ImageStreams(namespace).Watch(options) + }, + }, + &image_v1.ImageStream{}, + resyncPeriod, + indexers, + ) +} + +func (f *imageStreamInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredImageStreamInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *imageStreamInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&image_v1.ImageStream{}, f.defaultInformer) +} + +func (f *imageStreamInformer) Lister() v1.ImageStreamLister { + return v1.NewImageStreamLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/interface.go b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/interface.go new file mode 100644 index 000000000..fd35c4df1 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/informers/externalversions/image/v1/interface.go @@ -0,0 +1,36 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/image/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Images returns a ImageInformer. + Images() ImageInformer + // ImageStreams returns a ImageStreamInformer. + ImageStreams() ImageStreamInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// Images returns a ImageInformer. +func (v *version) Images() ImageInformer { + return &imageInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// ImageStreams returns a ImageStreamInformer. +func (v *version) ImageStreams() ImageStreamInformer { + return &imageStreamInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/image/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/image/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..eac69734d --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/image/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/image/listers/image/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/image/listers/image/v1/expansion_generated.go new file mode 100644 index 000000000..637c04e34 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/listers/image/v1/expansion_generated.go @@ -0,0 +1,23 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// ImageListerExpansion allows custom methods to be added to +// ImageLister. +type ImageListerExpansion interface{} + +// ImageStreamListerExpansion allows custom methods to be added to +// ImageStreamLister. +type ImageStreamListerExpansion interface{} + +// ImageStreamNamespaceListerExpansion allows custom methods to be added to +// ImageStreamNamespaceLister. +type ImageStreamNamespaceListerExpansion interface{} + +// ImageStreamTagListerExpansion allows custom methods to be added to +// ImageStreamTagLister. +type ImageStreamTagListerExpansion interface{} + +// ImageStreamTagNamespaceListerExpansion allows custom methods to be added to +// ImageStreamTagNamespaceLister. +type ImageStreamTagNamespaceListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/image/listers/image/v1/image.go b/vendor/github.com/openshift/client-go/image/listers/image/v1/image.go new file mode 100644 index 000000000..116fbb1e2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/listers/image/v1/image.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ImageLister helps list Images. +type ImageLister interface { + // List lists all Images in the indexer. + List(selector labels.Selector) (ret []*v1.Image, err error) + // Get retrieves the Image from the index for a given name. + Get(name string) (*v1.Image, error) + ImageListerExpansion +} + +// imageLister implements the ImageLister interface. +type imageLister struct { + indexer cache.Indexer +} + +// NewImageLister returns a new ImageLister. +func NewImageLister(indexer cache.Indexer) ImageLister { + return &imageLister{indexer: indexer} +} + +// List lists all Images in the indexer. +func (s *imageLister) List(selector labels.Selector) (ret []*v1.Image, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Image)) + }) + return ret, err +} + +// Get retrieves the Image from the index for a given name. +func (s *imageLister) Get(name string) (*v1.Image, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("image"), name) + } + return obj.(*v1.Image), nil +} diff --git a/vendor/github.com/openshift/client-go/image/listers/image/v1/imagestream.go b/vendor/github.com/openshift/client-go/image/listers/image/v1/imagestream.go new file mode 100644 index 000000000..a40c77fd7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/listers/image/v1/imagestream.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ImageStreamLister helps list ImageStreams. +type ImageStreamLister interface { + // List lists all ImageStreams in the indexer. + List(selector labels.Selector) (ret []*v1.ImageStream, err error) + // ImageStreams returns an object that can list and get ImageStreams. + ImageStreams(namespace string) ImageStreamNamespaceLister + ImageStreamListerExpansion +} + +// imageStreamLister implements the ImageStreamLister interface. +type imageStreamLister struct { + indexer cache.Indexer +} + +// NewImageStreamLister returns a new ImageStreamLister. +func NewImageStreamLister(indexer cache.Indexer) ImageStreamLister { + return &imageStreamLister{indexer: indexer} +} + +// List lists all ImageStreams in the indexer. +func (s *imageStreamLister) List(selector labels.Selector) (ret []*v1.ImageStream, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ImageStream)) + }) + return ret, err +} + +// ImageStreams returns an object that can list and get ImageStreams. +func (s *imageStreamLister) ImageStreams(namespace string) ImageStreamNamespaceLister { + return imageStreamNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// ImageStreamNamespaceLister helps list and get ImageStreams. +type ImageStreamNamespaceLister interface { + // List lists all ImageStreams in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.ImageStream, err error) + // Get retrieves the ImageStream from the indexer for a given namespace and name. + Get(name string) (*v1.ImageStream, error) + ImageStreamNamespaceListerExpansion +} + +// imageStreamNamespaceLister implements the ImageStreamNamespaceLister +// interface. +type imageStreamNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all ImageStreams in the indexer for a given namespace. +func (s imageStreamNamespaceLister) List(selector labels.Selector) (ret []*v1.ImageStream, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ImageStream)) + }) + return ret, err +} + +// Get retrieves the ImageStream from the indexer for a given namespace and name. +func (s imageStreamNamespaceLister) Get(name string) (*v1.ImageStream, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("imagestream"), name) + } + return obj.(*v1.ImageStream), nil +} diff --git a/vendor/github.com/openshift/client-go/image/listers/image/v1/imagestreamtag.go b/vendor/github.com/openshift/client-go/image/listers/image/v1/imagestreamtag.go new file mode 100644 index 000000000..ef351832e --- /dev/null +++ b/vendor/github.com/openshift/client-go/image/listers/image/v1/imagestreamtag.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/image/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ImageStreamTagLister helps list ImageStreamTags. +type ImageStreamTagLister interface { + // List lists all ImageStreamTags in the indexer. + List(selector labels.Selector) (ret []*v1.ImageStreamTag, err error) + // ImageStreamTags returns an object that can list and get ImageStreamTags. + ImageStreamTags(namespace string) ImageStreamTagNamespaceLister + ImageStreamTagListerExpansion +} + +// imageStreamTagLister implements the ImageStreamTagLister interface. +type imageStreamTagLister struct { + indexer cache.Indexer +} + +// NewImageStreamTagLister returns a new ImageStreamTagLister. +func NewImageStreamTagLister(indexer cache.Indexer) ImageStreamTagLister { + return &imageStreamTagLister{indexer: indexer} +} + +// List lists all ImageStreamTags in the indexer. +func (s *imageStreamTagLister) List(selector labels.Selector) (ret []*v1.ImageStreamTag, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ImageStreamTag)) + }) + return ret, err +} + +// ImageStreamTags returns an object that can list and get ImageStreamTags. +func (s *imageStreamTagLister) ImageStreamTags(namespace string) ImageStreamTagNamespaceLister { + return imageStreamTagNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// ImageStreamTagNamespaceLister helps list and get ImageStreamTags. +type ImageStreamTagNamespaceLister interface { + // List lists all ImageStreamTags in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.ImageStreamTag, err error) + // Get retrieves the ImageStreamTag from the indexer for a given namespace and name. + Get(name string) (*v1.ImageStreamTag, error) + ImageStreamTagNamespaceListerExpansion +} + +// imageStreamTagNamespaceLister implements the ImageStreamTagNamespaceLister +// interface. +type imageStreamTagNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all ImageStreamTags in the indexer for a given namespace. +func (s imageStreamTagNamespaceLister) List(selector labels.Selector) (ret []*v1.ImageStreamTag, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ImageStreamTag)) + }) + return ret, err +} + +// Get retrieves the ImageStreamTag from the indexer for a given namespace and name. +func (s imageStreamTagNamespaceLister) Get(name string) (*v1.ImageStreamTag, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("imagestreamtag"), name) + } + return obj.(*v1.ImageStreamTag), nil +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/clientset.go new file mode 100644 index 000000000..41d53bd50 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + networkv1 "github.com/openshift/client-go/network/clientset/versioned/typed/network/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + NetworkV1() networkv1.NetworkV1Interface + // Deprecated: please explicitly pick a version if possible. + Network() networkv1.NetworkV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + networkV1 *networkv1.NetworkV1Client +} + +// NetworkV1 retrieves the NetworkV1Client +func (c *Clientset) NetworkV1() networkv1.NetworkV1Interface { + return c.networkV1 +} + +// Deprecated: Network retrieves the default version of NetworkClient. +// Please explicitly pick a version. +func (c *Clientset) Network() networkv1.NetworkV1Interface { + return c.networkV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.networkV1, err = networkv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.networkV1 = networkv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.networkV1 = networkv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..247ae4cd9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/network/clientset/versioned" + networkv1 "github.com/openshift/client-go/network/clientset/versioned/typed/network/v1" + fakenetworkv1 "github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// NetworkV1 retrieves the NetworkV1Client +func (c *Clientset) NetworkV1() networkv1.NetworkV1Interface { + return &fakenetworkv1.FakeNetworkV1{Fake: &c.Fake} +} + +// Network retrieves the NetworkV1Client +func (c *Clientset) Network() networkv1.NetworkV1Interface { + return &fakenetworkv1.FakeNetworkV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/register.go new file mode 100644 index 000000000..e85b96e2f --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + networkv1 "github.com/openshift/api/network/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + networkv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..eff26c81c --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + networkv1 "github.com/openshift/api/network/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + networkv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/clusternetwork.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/clusternetwork.go new file mode 100644 index 000000000..08e2aa9d8 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/clusternetwork.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + scheme "github.com/openshift/client-go/network/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ClusterNetworksGetter has a method to return a ClusterNetworkInterface. +// A group's client should implement this interface. +type ClusterNetworksGetter interface { + ClusterNetworks() ClusterNetworkInterface +} + +// ClusterNetworkInterface has methods to work with ClusterNetwork resources. +type ClusterNetworkInterface interface { + Create(*v1.ClusterNetwork) (*v1.ClusterNetwork, error) + Update(*v1.ClusterNetwork) (*v1.ClusterNetwork, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.ClusterNetwork, error) + List(opts meta_v1.ListOptions) (*v1.ClusterNetworkList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterNetwork, err error) + ClusterNetworkExpansion +} + +// clusterNetworks implements ClusterNetworkInterface +type clusterNetworks struct { + client rest.Interface +} + +// newClusterNetworks returns a ClusterNetworks +func newClusterNetworks(c *NetworkV1Client) *clusterNetworks { + return &clusterNetworks{ + client: c.RESTClient(), + } +} + +// Get takes name of the clusterNetwork, and returns the corresponding clusterNetwork object, and an error if there is any. +func (c *clusterNetworks) Get(name string, options meta_v1.GetOptions) (result *v1.ClusterNetwork, err error) { + result = &v1.ClusterNetwork{} + err = c.client.Get(). + Resource("clusternetworks"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ClusterNetworks that match those selectors. +func (c *clusterNetworks) List(opts meta_v1.ListOptions) (result *v1.ClusterNetworkList, err error) { + result = &v1.ClusterNetworkList{} + err = c.client.Get(). + Resource("clusternetworks"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested clusterNetworks. +func (c *clusterNetworks) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("clusternetworks"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a clusterNetwork and creates it. Returns the server's representation of the clusterNetwork, and an error, if there is any. +func (c *clusterNetworks) Create(clusterNetwork *v1.ClusterNetwork) (result *v1.ClusterNetwork, err error) { + result = &v1.ClusterNetwork{} + err = c.client.Post(). + Resource("clusternetworks"). + Body(clusterNetwork). + Do(). + Into(result) + return +} + +// Update takes the representation of a clusterNetwork and updates it. Returns the server's representation of the clusterNetwork, and an error, if there is any. +func (c *clusterNetworks) Update(clusterNetwork *v1.ClusterNetwork) (result *v1.ClusterNetwork, err error) { + result = &v1.ClusterNetwork{} + err = c.client.Put(). + Resource("clusternetworks"). + Name(clusterNetwork.Name). + Body(clusterNetwork). + Do(). + Into(result) + return +} + +// Delete takes name of the clusterNetwork and deletes it. Returns an error if one occurs. +func (c *clusterNetworks) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("clusternetworks"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *clusterNetworks) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("clusternetworks"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched clusterNetwork. +func (c *clusterNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterNetwork, err error) { + result = &v1.ClusterNetwork{} + err = c.client.Patch(pt). + Resource("clusternetworks"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/doc.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/egressnetworkpolicy.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/egressnetworkpolicy.go new file mode 100644 index 000000000..fc801fbef --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/egressnetworkpolicy.go @@ -0,0 +1,141 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + scheme "github.com/openshift/client-go/network/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// EgressNetworkPoliciesGetter has a method to return a EgressNetworkPolicyInterface. +// A group's client should implement this interface. +type EgressNetworkPoliciesGetter interface { + EgressNetworkPolicies(namespace string) EgressNetworkPolicyInterface +} + +// EgressNetworkPolicyInterface has methods to work with EgressNetworkPolicy resources. +type EgressNetworkPolicyInterface interface { + Create(*v1.EgressNetworkPolicy) (*v1.EgressNetworkPolicy, error) + Update(*v1.EgressNetworkPolicy) (*v1.EgressNetworkPolicy, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.EgressNetworkPolicy, error) + List(opts meta_v1.ListOptions) (*v1.EgressNetworkPolicyList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.EgressNetworkPolicy, err error) + EgressNetworkPolicyExpansion +} + +// egressNetworkPolicies implements EgressNetworkPolicyInterface +type egressNetworkPolicies struct { + client rest.Interface + ns string +} + +// newEgressNetworkPolicies returns a EgressNetworkPolicies +func newEgressNetworkPolicies(c *NetworkV1Client, namespace string) *egressNetworkPolicies { + return &egressNetworkPolicies{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the egressNetworkPolicy, and returns the corresponding egressNetworkPolicy object, and an error if there is any. +func (c *egressNetworkPolicies) Get(name string, options meta_v1.GetOptions) (result *v1.EgressNetworkPolicy, err error) { + result = &v1.EgressNetworkPolicy{} + err = c.client.Get(). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of EgressNetworkPolicies that match those selectors. +func (c *egressNetworkPolicies) List(opts meta_v1.ListOptions) (result *v1.EgressNetworkPolicyList, err error) { + result = &v1.EgressNetworkPolicyList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested egressNetworkPolicies. +func (c *egressNetworkPolicies) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a egressNetworkPolicy and creates it. Returns the server's representation of the egressNetworkPolicy, and an error, if there is any. +func (c *egressNetworkPolicies) Create(egressNetworkPolicy *v1.EgressNetworkPolicy) (result *v1.EgressNetworkPolicy, err error) { + result = &v1.EgressNetworkPolicy{} + err = c.client.Post(). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + Body(egressNetworkPolicy). + Do(). + Into(result) + return +} + +// Update takes the representation of a egressNetworkPolicy and updates it. Returns the server's representation of the egressNetworkPolicy, and an error, if there is any. +func (c *egressNetworkPolicies) Update(egressNetworkPolicy *v1.EgressNetworkPolicy) (result *v1.EgressNetworkPolicy, err error) { + result = &v1.EgressNetworkPolicy{} + err = c.client.Put(). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + Name(egressNetworkPolicy.Name). + Body(egressNetworkPolicy). + Do(). + Into(result) + return +} + +// Delete takes name of the egressNetworkPolicy and deletes it. Returns an error if one occurs. +func (c *egressNetworkPolicies) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *egressNetworkPolicies) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched egressNetworkPolicy. +func (c *egressNetworkPolicies) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.EgressNetworkPolicy, err error) { + result = &v1.EgressNetworkPolicy{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("egressnetworkpolicies"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/doc.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_clusternetwork.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_clusternetwork.go new file mode 100644 index 000000000..80436f288 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_clusternetwork.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + network_v1 "github.com/openshift/api/network/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeClusterNetworks implements ClusterNetworkInterface +type FakeClusterNetworks struct { + Fake *FakeNetworkV1 +} + +var clusternetworksResource = schema.GroupVersionResource{Group: "network.openshift.io", Version: "v1", Resource: "clusternetworks"} + +var clusternetworksKind = schema.GroupVersionKind{Group: "network.openshift.io", Version: "v1", Kind: "ClusterNetwork"} + +// Get takes name of the clusterNetwork, and returns the corresponding clusterNetwork object, and an error if there is any. +func (c *FakeClusterNetworks) Get(name string, options v1.GetOptions) (result *network_v1.ClusterNetwork, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(clusternetworksResource, name), &network_v1.ClusterNetwork{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.ClusterNetwork), err +} + +// List takes label and field selectors, and returns the list of ClusterNetworks that match those selectors. +func (c *FakeClusterNetworks) List(opts v1.ListOptions) (result *network_v1.ClusterNetworkList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(clusternetworksResource, clusternetworksKind, opts), &network_v1.ClusterNetworkList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &network_v1.ClusterNetworkList{ListMeta: obj.(*network_v1.ClusterNetworkList).ListMeta} + for _, item := range obj.(*network_v1.ClusterNetworkList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested clusterNetworks. +func (c *FakeClusterNetworks) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(clusternetworksResource, opts)) +} + +// Create takes the representation of a clusterNetwork and creates it. Returns the server's representation of the clusterNetwork, and an error, if there is any. +func (c *FakeClusterNetworks) Create(clusterNetwork *network_v1.ClusterNetwork) (result *network_v1.ClusterNetwork, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(clusternetworksResource, clusterNetwork), &network_v1.ClusterNetwork{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.ClusterNetwork), err +} + +// Update takes the representation of a clusterNetwork and updates it. Returns the server's representation of the clusterNetwork, and an error, if there is any. +func (c *FakeClusterNetworks) Update(clusterNetwork *network_v1.ClusterNetwork) (result *network_v1.ClusterNetwork, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(clusternetworksResource, clusterNetwork), &network_v1.ClusterNetwork{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.ClusterNetwork), err +} + +// Delete takes name of the clusterNetwork and deletes it. Returns an error if one occurs. +func (c *FakeClusterNetworks) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(clusternetworksResource, name), &network_v1.ClusterNetwork{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeClusterNetworks) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(clusternetworksResource, listOptions) + + _, err := c.Fake.Invokes(action, &network_v1.ClusterNetworkList{}) + return err +} + +// Patch applies the patch and returns the patched clusterNetwork. +func (c *FakeClusterNetworks) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *network_v1.ClusterNetwork, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(clusternetworksResource, name, data, subresources...), &network_v1.ClusterNetwork{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.ClusterNetwork), err +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_egressnetworkpolicy.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_egressnetworkpolicy.go new file mode 100644 index 000000000..b61a4df2f --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_egressnetworkpolicy.go @@ -0,0 +1,112 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + network_v1 "github.com/openshift/api/network/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeEgressNetworkPolicies implements EgressNetworkPolicyInterface +type FakeEgressNetworkPolicies struct { + Fake *FakeNetworkV1 + ns string +} + +var egressnetworkpoliciesResource = schema.GroupVersionResource{Group: "network.openshift.io", Version: "v1", Resource: "egressnetworkpolicies"} + +var egressnetworkpoliciesKind = schema.GroupVersionKind{Group: "network.openshift.io", Version: "v1", Kind: "EgressNetworkPolicy"} + +// Get takes name of the egressNetworkPolicy, and returns the corresponding egressNetworkPolicy object, and an error if there is any. +func (c *FakeEgressNetworkPolicies) Get(name string, options v1.GetOptions) (result *network_v1.EgressNetworkPolicy, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(egressnetworkpoliciesResource, c.ns, name), &network_v1.EgressNetworkPolicy{}) + + if obj == nil { + return nil, err + } + return obj.(*network_v1.EgressNetworkPolicy), err +} + +// List takes label and field selectors, and returns the list of EgressNetworkPolicies that match those selectors. +func (c *FakeEgressNetworkPolicies) List(opts v1.ListOptions) (result *network_v1.EgressNetworkPolicyList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(egressnetworkpoliciesResource, egressnetworkpoliciesKind, c.ns, opts), &network_v1.EgressNetworkPolicyList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &network_v1.EgressNetworkPolicyList{ListMeta: obj.(*network_v1.EgressNetworkPolicyList).ListMeta} + for _, item := range obj.(*network_v1.EgressNetworkPolicyList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested egressNetworkPolicies. +func (c *FakeEgressNetworkPolicies) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(egressnetworkpoliciesResource, c.ns, opts)) + +} + +// Create takes the representation of a egressNetworkPolicy and creates it. Returns the server's representation of the egressNetworkPolicy, and an error, if there is any. +func (c *FakeEgressNetworkPolicies) Create(egressNetworkPolicy *network_v1.EgressNetworkPolicy) (result *network_v1.EgressNetworkPolicy, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(egressnetworkpoliciesResource, c.ns, egressNetworkPolicy), &network_v1.EgressNetworkPolicy{}) + + if obj == nil { + return nil, err + } + return obj.(*network_v1.EgressNetworkPolicy), err +} + +// Update takes the representation of a egressNetworkPolicy and updates it. Returns the server's representation of the egressNetworkPolicy, and an error, if there is any. +func (c *FakeEgressNetworkPolicies) Update(egressNetworkPolicy *network_v1.EgressNetworkPolicy) (result *network_v1.EgressNetworkPolicy, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(egressnetworkpoliciesResource, c.ns, egressNetworkPolicy), &network_v1.EgressNetworkPolicy{}) + + if obj == nil { + return nil, err + } + return obj.(*network_v1.EgressNetworkPolicy), err +} + +// Delete takes name of the egressNetworkPolicy and deletes it. Returns an error if one occurs. +func (c *FakeEgressNetworkPolicies) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(egressnetworkpoliciesResource, c.ns, name), &network_v1.EgressNetworkPolicy{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeEgressNetworkPolicies) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(egressnetworkpoliciesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &network_v1.EgressNetworkPolicyList{}) + return err +} + +// Patch applies the patch and returns the patched egressNetworkPolicy. +func (c *FakeEgressNetworkPolicies) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *network_v1.EgressNetworkPolicy, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(egressnetworkpoliciesResource, c.ns, name, data, subresources...), &network_v1.EgressNetworkPolicy{}) + + if obj == nil { + return nil, err + } + return obj.(*network_v1.EgressNetworkPolicy), err +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_hostsubnet.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_hostsubnet.go new file mode 100644 index 000000000..9f4ae8d51 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_hostsubnet.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + network_v1 "github.com/openshift/api/network/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeHostSubnets implements HostSubnetInterface +type FakeHostSubnets struct { + Fake *FakeNetworkV1 +} + +var hostsubnetsResource = schema.GroupVersionResource{Group: "network.openshift.io", Version: "v1", Resource: "hostsubnets"} + +var hostsubnetsKind = schema.GroupVersionKind{Group: "network.openshift.io", Version: "v1", Kind: "HostSubnet"} + +// Get takes name of the hostSubnet, and returns the corresponding hostSubnet object, and an error if there is any. +func (c *FakeHostSubnets) Get(name string, options v1.GetOptions) (result *network_v1.HostSubnet, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(hostsubnetsResource, name), &network_v1.HostSubnet{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.HostSubnet), err +} + +// List takes label and field selectors, and returns the list of HostSubnets that match those selectors. +func (c *FakeHostSubnets) List(opts v1.ListOptions) (result *network_v1.HostSubnetList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(hostsubnetsResource, hostsubnetsKind, opts), &network_v1.HostSubnetList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &network_v1.HostSubnetList{ListMeta: obj.(*network_v1.HostSubnetList).ListMeta} + for _, item := range obj.(*network_v1.HostSubnetList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested hostSubnets. +func (c *FakeHostSubnets) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(hostsubnetsResource, opts)) +} + +// Create takes the representation of a hostSubnet and creates it. Returns the server's representation of the hostSubnet, and an error, if there is any. +func (c *FakeHostSubnets) Create(hostSubnet *network_v1.HostSubnet) (result *network_v1.HostSubnet, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(hostsubnetsResource, hostSubnet), &network_v1.HostSubnet{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.HostSubnet), err +} + +// Update takes the representation of a hostSubnet and updates it. Returns the server's representation of the hostSubnet, and an error, if there is any. +func (c *FakeHostSubnets) Update(hostSubnet *network_v1.HostSubnet) (result *network_v1.HostSubnet, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(hostsubnetsResource, hostSubnet), &network_v1.HostSubnet{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.HostSubnet), err +} + +// Delete takes name of the hostSubnet and deletes it. Returns an error if one occurs. +func (c *FakeHostSubnets) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(hostsubnetsResource, name), &network_v1.HostSubnet{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeHostSubnets) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(hostsubnetsResource, listOptions) + + _, err := c.Fake.Invokes(action, &network_v1.HostSubnetList{}) + return err +} + +// Patch applies the patch and returns the patched hostSubnet. +func (c *FakeHostSubnets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *network_v1.HostSubnet, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(hostsubnetsResource, name, data, subresources...), &network_v1.HostSubnet{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.HostSubnet), err +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_netnamespace.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_netnamespace.go new file mode 100644 index 000000000..b90ed6038 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_netnamespace.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + network_v1 "github.com/openshift/api/network/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeNetNamespaces implements NetNamespaceInterface +type FakeNetNamespaces struct { + Fake *FakeNetworkV1 +} + +var netnamespacesResource = schema.GroupVersionResource{Group: "network.openshift.io", Version: "v1", Resource: "netnamespaces"} + +var netnamespacesKind = schema.GroupVersionKind{Group: "network.openshift.io", Version: "v1", Kind: "NetNamespace"} + +// Get takes name of the netNamespace, and returns the corresponding netNamespace object, and an error if there is any. +func (c *FakeNetNamespaces) Get(name string, options v1.GetOptions) (result *network_v1.NetNamespace, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(netnamespacesResource, name), &network_v1.NetNamespace{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.NetNamespace), err +} + +// List takes label and field selectors, and returns the list of NetNamespaces that match those selectors. +func (c *FakeNetNamespaces) List(opts v1.ListOptions) (result *network_v1.NetNamespaceList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(netnamespacesResource, netnamespacesKind, opts), &network_v1.NetNamespaceList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &network_v1.NetNamespaceList{ListMeta: obj.(*network_v1.NetNamespaceList).ListMeta} + for _, item := range obj.(*network_v1.NetNamespaceList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested netNamespaces. +func (c *FakeNetNamespaces) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(netnamespacesResource, opts)) +} + +// Create takes the representation of a netNamespace and creates it. Returns the server's representation of the netNamespace, and an error, if there is any. +func (c *FakeNetNamespaces) Create(netNamespace *network_v1.NetNamespace) (result *network_v1.NetNamespace, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(netnamespacesResource, netNamespace), &network_v1.NetNamespace{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.NetNamespace), err +} + +// Update takes the representation of a netNamespace and updates it. Returns the server's representation of the netNamespace, and an error, if there is any. +func (c *FakeNetNamespaces) Update(netNamespace *network_v1.NetNamespace) (result *network_v1.NetNamespace, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(netnamespacesResource, netNamespace), &network_v1.NetNamespace{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.NetNamespace), err +} + +// Delete takes name of the netNamespace and deletes it. Returns an error if one occurs. +func (c *FakeNetNamespaces) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(netnamespacesResource, name), &network_v1.NetNamespace{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeNetNamespaces) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(netnamespacesResource, listOptions) + + _, err := c.Fake.Invokes(action, &network_v1.NetNamespaceList{}) + return err +} + +// Patch applies the patch and returns the patched netNamespace. +func (c *FakeNetNamespaces) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *network_v1.NetNamespace, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(netnamespacesResource, name, data, subresources...), &network_v1.NetNamespace{}) + if obj == nil { + return nil, err + } + return obj.(*network_v1.NetNamespace), err +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_network_client.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_network_client.go new file mode 100644 index 000000000..71d6655c7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/fake/fake_network_client.go @@ -0,0 +1,36 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/network/clientset/versioned/typed/network/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeNetworkV1 struct { + *testing.Fake +} + +func (c *FakeNetworkV1) ClusterNetworks() v1.ClusterNetworkInterface { + return &FakeClusterNetworks{c} +} + +func (c *FakeNetworkV1) EgressNetworkPolicies(namespace string) v1.EgressNetworkPolicyInterface { + return &FakeEgressNetworkPolicies{c, namespace} +} + +func (c *FakeNetworkV1) HostSubnets() v1.HostSubnetInterface { + return &FakeHostSubnets{c} +} + +func (c *FakeNetworkV1) NetNamespaces() v1.NetNamespaceInterface { + return &FakeNetNamespaces{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeNetworkV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/generated_expansion.go new file mode 100644 index 000000000..14e656e32 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/generated_expansion.go @@ -0,0 +1,11 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type ClusterNetworkExpansion interface{} + +type EgressNetworkPolicyExpansion interface{} + +type HostSubnetExpansion interface{} + +type NetNamespaceExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/hostsubnet.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/hostsubnet.go new file mode 100644 index 000000000..752660855 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/hostsubnet.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + scheme "github.com/openshift/client-go/network/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// HostSubnetsGetter has a method to return a HostSubnetInterface. +// A group's client should implement this interface. +type HostSubnetsGetter interface { + HostSubnets() HostSubnetInterface +} + +// HostSubnetInterface has methods to work with HostSubnet resources. +type HostSubnetInterface interface { + Create(*v1.HostSubnet) (*v1.HostSubnet, error) + Update(*v1.HostSubnet) (*v1.HostSubnet, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.HostSubnet, error) + List(opts meta_v1.ListOptions) (*v1.HostSubnetList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.HostSubnet, err error) + HostSubnetExpansion +} + +// hostSubnets implements HostSubnetInterface +type hostSubnets struct { + client rest.Interface +} + +// newHostSubnets returns a HostSubnets +func newHostSubnets(c *NetworkV1Client) *hostSubnets { + return &hostSubnets{ + client: c.RESTClient(), + } +} + +// Get takes name of the hostSubnet, and returns the corresponding hostSubnet object, and an error if there is any. +func (c *hostSubnets) Get(name string, options meta_v1.GetOptions) (result *v1.HostSubnet, err error) { + result = &v1.HostSubnet{} + err = c.client.Get(). + Resource("hostsubnets"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of HostSubnets that match those selectors. +func (c *hostSubnets) List(opts meta_v1.ListOptions) (result *v1.HostSubnetList, err error) { + result = &v1.HostSubnetList{} + err = c.client.Get(). + Resource("hostsubnets"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested hostSubnets. +func (c *hostSubnets) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("hostsubnets"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a hostSubnet and creates it. Returns the server's representation of the hostSubnet, and an error, if there is any. +func (c *hostSubnets) Create(hostSubnet *v1.HostSubnet) (result *v1.HostSubnet, err error) { + result = &v1.HostSubnet{} + err = c.client.Post(). + Resource("hostsubnets"). + Body(hostSubnet). + Do(). + Into(result) + return +} + +// Update takes the representation of a hostSubnet and updates it. Returns the server's representation of the hostSubnet, and an error, if there is any. +func (c *hostSubnets) Update(hostSubnet *v1.HostSubnet) (result *v1.HostSubnet, err error) { + result = &v1.HostSubnet{} + err = c.client.Put(). + Resource("hostsubnets"). + Name(hostSubnet.Name). + Body(hostSubnet). + Do(). + Into(result) + return +} + +// Delete takes name of the hostSubnet and deletes it. Returns an error if one occurs. +func (c *hostSubnets) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("hostsubnets"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *hostSubnets) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("hostsubnets"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched hostSubnet. +func (c *hostSubnets) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.HostSubnet, err error) { + result = &v1.HostSubnet{} + err = c.client.Patch(pt). + Resource("hostsubnets"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/netnamespace.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/netnamespace.go new file mode 100644 index 000000000..1d424f27f --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/netnamespace.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + scheme "github.com/openshift/client-go/network/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// NetNamespacesGetter has a method to return a NetNamespaceInterface. +// A group's client should implement this interface. +type NetNamespacesGetter interface { + NetNamespaces() NetNamespaceInterface +} + +// NetNamespaceInterface has methods to work with NetNamespace resources. +type NetNamespaceInterface interface { + Create(*v1.NetNamespace) (*v1.NetNamespace, error) + Update(*v1.NetNamespace) (*v1.NetNamespace, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.NetNamespace, error) + List(opts meta_v1.ListOptions) (*v1.NetNamespaceList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.NetNamespace, err error) + NetNamespaceExpansion +} + +// netNamespaces implements NetNamespaceInterface +type netNamespaces struct { + client rest.Interface +} + +// newNetNamespaces returns a NetNamespaces +func newNetNamespaces(c *NetworkV1Client) *netNamespaces { + return &netNamespaces{ + client: c.RESTClient(), + } +} + +// Get takes name of the netNamespace, and returns the corresponding netNamespace object, and an error if there is any. +func (c *netNamespaces) Get(name string, options meta_v1.GetOptions) (result *v1.NetNamespace, err error) { + result = &v1.NetNamespace{} + err = c.client.Get(). + Resource("netnamespaces"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of NetNamespaces that match those selectors. +func (c *netNamespaces) List(opts meta_v1.ListOptions) (result *v1.NetNamespaceList, err error) { + result = &v1.NetNamespaceList{} + err = c.client.Get(). + Resource("netnamespaces"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested netNamespaces. +func (c *netNamespaces) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("netnamespaces"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a netNamespace and creates it. Returns the server's representation of the netNamespace, and an error, if there is any. +func (c *netNamespaces) Create(netNamespace *v1.NetNamespace) (result *v1.NetNamespace, err error) { + result = &v1.NetNamespace{} + err = c.client.Post(). + Resource("netnamespaces"). + Body(netNamespace). + Do(). + Into(result) + return +} + +// Update takes the representation of a netNamespace and updates it. Returns the server's representation of the netNamespace, and an error, if there is any. +func (c *netNamespaces) Update(netNamespace *v1.NetNamespace) (result *v1.NetNamespace, err error) { + result = &v1.NetNamespace{} + err = c.client.Put(). + Resource("netnamespaces"). + Name(netNamespace.Name). + Body(netNamespace). + Do(). + Into(result) + return +} + +// Delete takes name of the netNamespace and deletes it. Returns an error if one occurs. +func (c *netNamespaces) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("netnamespaces"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *netNamespaces) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("netnamespaces"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched netNamespace. +func (c *netNamespaces) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.NetNamespace, err error) { + result = &v1.NetNamespace{} + err = c.client.Patch(pt). + Resource("netnamespaces"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/network_client.go b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/network_client.go new file mode 100644 index 000000000..b7a01bf61 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/clientset/versioned/typed/network/v1/network_client.go @@ -0,0 +1,89 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + "github.com/openshift/client-go/network/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type NetworkV1Interface interface { + RESTClient() rest.Interface + ClusterNetworksGetter + EgressNetworkPoliciesGetter + HostSubnetsGetter + NetNamespacesGetter +} + +// NetworkV1Client is used to interact with features provided by the network.openshift.io group. +type NetworkV1Client struct { + restClient rest.Interface +} + +func (c *NetworkV1Client) ClusterNetworks() ClusterNetworkInterface { + return newClusterNetworks(c) +} + +func (c *NetworkV1Client) EgressNetworkPolicies(namespace string) EgressNetworkPolicyInterface { + return newEgressNetworkPolicies(c, namespace) +} + +func (c *NetworkV1Client) HostSubnets() HostSubnetInterface { + return newHostSubnets(c) +} + +func (c *NetworkV1Client) NetNamespaces() NetNamespaceInterface { + return newNetNamespaces(c) +} + +// NewForConfig creates a new NetworkV1Client for the given config. +func NewForConfig(c *rest.Config) (*NetworkV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &NetworkV1Client{client}, nil +} + +// NewForConfigOrDie creates a new NetworkV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *NetworkV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new NetworkV1Client for the given RESTClient. +func New(c rest.Interface) *NetworkV1Client { + return &NetworkV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *NetworkV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/factory.go new file mode 100644 index 000000000..213076665 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/network/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/network/informers/externalversions/internalinterfaces" + network "github.com/openshift/client-go/network/informers/externalversions/network" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Network() network.Interface +} + +func (f *sharedInformerFactory) Network() network.Interface { + return network.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/generic.go new file mode 100644 index 000000000..f157510f2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/generic.go @@ -0,0 +1,52 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/network/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=network.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("clusternetworks"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Network().V1().ClusterNetworks().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("egressnetworkpolicies"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Network().V1().EgressNetworkPolicies().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("hostsubnets"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Network().V1().HostSubnets().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("netnamespaces"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Network().V1().NetNamespaces().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..c9b072404 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/network/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/network/interface.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/interface.go new file mode 100644 index 000000000..1d7e251ce --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package network + +import ( + internalinterfaces "github.com/openshift/client-go/network/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/network/informers/externalversions/network/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/clusternetwork.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/clusternetwork.go new file mode 100644 index 000000000..65cb9b5cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/clusternetwork.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + network_v1 "github.com/openshift/api/network/v1" + versioned "github.com/openshift/client-go/network/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/network/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/network/listers/network/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ClusterNetworkInformer provides access to a shared informer and lister for +// ClusterNetworks. +type ClusterNetworkInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ClusterNetworkLister +} + +type clusterNetworkInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewClusterNetworkInformer constructs a new informer for ClusterNetwork type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterNetworkInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredClusterNetworkInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredClusterNetworkInformer constructs a new informer for ClusterNetwork type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredClusterNetworkInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().ClusterNetworks().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().ClusterNetworks().Watch(options) + }, + }, + &network_v1.ClusterNetwork{}, + resyncPeriod, + indexers, + ) +} + +func (f *clusterNetworkInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredClusterNetworkInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *clusterNetworkInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&network_v1.ClusterNetwork{}, f.defaultInformer) +} + +func (f *clusterNetworkInformer) Lister() v1.ClusterNetworkLister { + return v1.NewClusterNetworkLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/egressnetworkpolicy.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/egressnetworkpolicy.go new file mode 100644 index 000000000..105e019c5 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/egressnetworkpolicy.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + network_v1 "github.com/openshift/api/network/v1" + versioned "github.com/openshift/client-go/network/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/network/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/network/listers/network/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// EgressNetworkPolicyInformer provides access to a shared informer and lister for +// EgressNetworkPolicies. +type EgressNetworkPolicyInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.EgressNetworkPolicyLister +} + +type egressNetworkPolicyInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewEgressNetworkPolicyInformer constructs a new informer for EgressNetworkPolicy type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewEgressNetworkPolicyInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredEgressNetworkPolicyInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredEgressNetworkPolicyInformer constructs a new informer for EgressNetworkPolicy type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredEgressNetworkPolicyInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().EgressNetworkPolicies(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().EgressNetworkPolicies(namespace).Watch(options) + }, + }, + &network_v1.EgressNetworkPolicy{}, + resyncPeriod, + indexers, + ) +} + +func (f *egressNetworkPolicyInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredEgressNetworkPolicyInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *egressNetworkPolicyInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&network_v1.EgressNetworkPolicy{}, f.defaultInformer) +} + +func (f *egressNetworkPolicyInformer) Lister() v1.EgressNetworkPolicyLister { + return v1.NewEgressNetworkPolicyLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/hostsubnet.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/hostsubnet.go new file mode 100644 index 000000000..aa693aae7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/hostsubnet.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + network_v1 "github.com/openshift/api/network/v1" + versioned "github.com/openshift/client-go/network/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/network/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/network/listers/network/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// HostSubnetInformer provides access to a shared informer and lister for +// HostSubnets. +type HostSubnetInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.HostSubnetLister +} + +type hostSubnetInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewHostSubnetInformer constructs a new informer for HostSubnet type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewHostSubnetInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredHostSubnetInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredHostSubnetInformer constructs a new informer for HostSubnet type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredHostSubnetInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().HostSubnets().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().HostSubnets().Watch(options) + }, + }, + &network_v1.HostSubnet{}, + resyncPeriod, + indexers, + ) +} + +func (f *hostSubnetInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredHostSubnetInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *hostSubnetInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&network_v1.HostSubnet{}, f.defaultInformer) +} + +func (f *hostSubnetInformer) Lister() v1.HostSubnetLister { + return v1.NewHostSubnetLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/interface.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/interface.go new file mode 100644 index 000000000..1f696be4f --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/interface.go @@ -0,0 +1,50 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/network/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // ClusterNetworks returns a ClusterNetworkInformer. + ClusterNetworks() ClusterNetworkInformer + // EgressNetworkPolicies returns a EgressNetworkPolicyInformer. + EgressNetworkPolicies() EgressNetworkPolicyInformer + // HostSubnets returns a HostSubnetInformer. + HostSubnets() HostSubnetInformer + // NetNamespaces returns a NetNamespaceInformer. + NetNamespaces() NetNamespaceInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// ClusterNetworks returns a ClusterNetworkInformer. +func (v *version) ClusterNetworks() ClusterNetworkInformer { + return &clusterNetworkInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// EgressNetworkPolicies returns a EgressNetworkPolicyInformer. +func (v *version) EgressNetworkPolicies() EgressNetworkPolicyInformer { + return &egressNetworkPolicyInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// HostSubnets returns a HostSubnetInformer. +func (v *version) HostSubnets() HostSubnetInformer { + return &hostSubnetInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// NetNamespaces returns a NetNamespaceInformer. +func (v *version) NetNamespaces() NetNamespaceInformer { + return &netNamespaceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/netnamespace.go b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/netnamespace.go new file mode 100644 index 000000000..72e45d195 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/informers/externalversions/network/v1/netnamespace.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + network_v1 "github.com/openshift/api/network/v1" + versioned "github.com/openshift/client-go/network/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/network/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/network/listers/network/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// NetNamespaceInformer provides access to a shared informer and lister for +// NetNamespaces. +type NetNamespaceInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.NetNamespaceLister +} + +type netNamespaceInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewNetNamespaceInformer constructs a new informer for NetNamespace type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewNetNamespaceInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredNetNamespaceInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredNetNamespaceInformer constructs a new informer for NetNamespace type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredNetNamespaceInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().NetNamespaces().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.NetworkV1().NetNamespaces().Watch(options) + }, + }, + &network_v1.NetNamespace{}, + resyncPeriod, + indexers, + ) +} + +func (f *netNamespaceInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredNetNamespaceInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *netNamespaceInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&network_v1.NetNamespace{}, f.defaultInformer) +} + +func (f *netNamespaceInformer) Lister() v1.NetNamespaceLister { + return v1.NewNetNamespaceLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/network/listers/network/v1/clusternetwork.go b/vendor/github.com/openshift/client-go/network/listers/network/v1/clusternetwork.go new file mode 100644 index 000000000..d41b0d036 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/listers/network/v1/clusternetwork.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ClusterNetworkLister helps list ClusterNetworks. +type ClusterNetworkLister interface { + // List lists all ClusterNetworks in the indexer. + List(selector labels.Selector) (ret []*v1.ClusterNetwork, err error) + // Get retrieves the ClusterNetwork from the index for a given name. + Get(name string) (*v1.ClusterNetwork, error) + ClusterNetworkListerExpansion +} + +// clusterNetworkLister implements the ClusterNetworkLister interface. +type clusterNetworkLister struct { + indexer cache.Indexer +} + +// NewClusterNetworkLister returns a new ClusterNetworkLister. +func NewClusterNetworkLister(indexer cache.Indexer) ClusterNetworkLister { + return &clusterNetworkLister{indexer: indexer} +} + +// List lists all ClusterNetworks in the indexer. +func (s *clusterNetworkLister) List(selector labels.Selector) (ret []*v1.ClusterNetwork, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ClusterNetwork)) + }) + return ret, err +} + +// Get retrieves the ClusterNetwork from the index for a given name. +func (s *clusterNetworkLister) Get(name string) (*v1.ClusterNetwork, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("clusternetwork"), name) + } + return obj.(*v1.ClusterNetwork), nil +} diff --git a/vendor/github.com/openshift/client-go/network/listers/network/v1/egressnetworkpolicy.go b/vendor/github.com/openshift/client-go/network/listers/network/v1/egressnetworkpolicy.go new file mode 100644 index 000000000..fe8b0920c --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/listers/network/v1/egressnetworkpolicy.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// EgressNetworkPolicyLister helps list EgressNetworkPolicies. +type EgressNetworkPolicyLister interface { + // List lists all EgressNetworkPolicies in the indexer. + List(selector labels.Selector) (ret []*v1.EgressNetworkPolicy, err error) + // EgressNetworkPolicies returns an object that can list and get EgressNetworkPolicies. + EgressNetworkPolicies(namespace string) EgressNetworkPolicyNamespaceLister + EgressNetworkPolicyListerExpansion +} + +// egressNetworkPolicyLister implements the EgressNetworkPolicyLister interface. +type egressNetworkPolicyLister struct { + indexer cache.Indexer +} + +// NewEgressNetworkPolicyLister returns a new EgressNetworkPolicyLister. +func NewEgressNetworkPolicyLister(indexer cache.Indexer) EgressNetworkPolicyLister { + return &egressNetworkPolicyLister{indexer: indexer} +} + +// List lists all EgressNetworkPolicies in the indexer. +func (s *egressNetworkPolicyLister) List(selector labels.Selector) (ret []*v1.EgressNetworkPolicy, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.EgressNetworkPolicy)) + }) + return ret, err +} + +// EgressNetworkPolicies returns an object that can list and get EgressNetworkPolicies. +func (s *egressNetworkPolicyLister) EgressNetworkPolicies(namespace string) EgressNetworkPolicyNamespaceLister { + return egressNetworkPolicyNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// EgressNetworkPolicyNamespaceLister helps list and get EgressNetworkPolicies. +type EgressNetworkPolicyNamespaceLister interface { + // List lists all EgressNetworkPolicies in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.EgressNetworkPolicy, err error) + // Get retrieves the EgressNetworkPolicy from the indexer for a given namespace and name. + Get(name string) (*v1.EgressNetworkPolicy, error) + EgressNetworkPolicyNamespaceListerExpansion +} + +// egressNetworkPolicyNamespaceLister implements the EgressNetworkPolicyNamespaceLister +// interface. +type egressNetworkPolicyNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all EgressNetworkPolicies in the indexer for a given namespace. +func (s egressNetworkPolicyNamespaceLister) List(selector labels.Selector) (ret []*v1.EgressNetworkPolicy, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.EgressNetworkPolicy)) + }) + return ret, err +} + +// Get retrieves the EgressNetworkPolicy from the indexer for a given namespace and name. +func (s egressNetworkPolicyNamespaceLister) Get(name string) (*v1.EgressNetworkPolicy, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("egressnetworkpolicy"), name) + } + return obj.(*v1.EgressNetworkPolicy), nil +} diff --git a/vendor/github.com/openshift/client-go/network/listers/network/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/network/listers/network/v1/expansion_generated.go new file mode 100644 index 000000000..41f06c59a --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/listers/network/v1/expansion_generated.go @@ -0,0 +1,23 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// ClusterNetworkListerExpansion allows custom methods to be added to +// ClusterNetworkLister. +type ClusterNetworkListerExpansion interface{} + +// EgressNetworkPolicyListerExpansion allows custom methods to be added to +// EgressNetworkPolicyLister. +type EgressNetworkPolicyListerExpansion interface{} + +// EgressNetworkPolicyNamespaceListerExpansion allows custom methods to be added to +// EgressNetworkPolicyNamespaceLister. +type EgressNetworkPolicyNamespaceListerExpansion interface{} + +// HostSubnetListerExpansion allows custom methods to be added to +// HostSubnetLister. +type HostSubnetListerExpansion interface{} + +// NetNamespaceListerExpansion allows custom methods to be added to +// NetNamespaceLister. +type NetNamespaceListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/network/listers/network/v1/hostsubnet.go b/vendor/github.com/openshift/client-go/network/listers/network/v1/hostsubnet.go new file mode 100644 index 000000000..6893e3a8c --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/listers/network/v1/hostsubnet.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// HostSubnetLister helps list HostSubnets. +type HostSubnetLister interface { + // List lists all HostSubnets in the indexer. + List(selector labels.Selector) (ret []*v1.HostSubnet, err error) + // Get retrieves the HostSubnet from the index for a given name. + Get(name string) (*v1.HostSubnet, error) + HostSubnetListerExpansion +} + +// hostSubnetLister implements the HostSubnetLister interface. +type hostSubnetLister struct { + indexer cache.Indexer +} + +// NewHostSubnetLister returns a new HostSubnetLister. +func NewHostSubnetLister(indexer cache.Indexer) HostSubnetLister { + return &hostSubnetLister{indexer: indexer} +} + +// List lists all HostSubnets in the indexer. +func (s *hostSubnetLister) List(selector labels.Selector) (ret []*v1.HostSubnet, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.HostSubnet)) + }) + return ret, err +} + +// Get retrieves the HostSubnet from the index for a given name. +func (s *hostSubnetLister) Get(name string) (*v1.HostSubnet, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("hostsubnet"), name) + } + return obj.(*v1.HostSubnet), nil +} diff --git a/vendor/github.com/openshift/client-go/network/listers/network/v1/netnamespace.go b/vendor/github.com/openshift/client-go/network/listers/network/v1/netnamespace.go new file mode 100644 index 000000000..ce6d5c950 --- /dev/null +++ b/vendor/github.com/openshift/client-go/network/listers/network/v1/netnamespace.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/network/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// NetNamespaceLister helps list NetNamespaces. +type NetNamespaceLister interface { + // List lists all NetNamespaces in the indexer. + List(selector labels.Selector) (ret []*v1.NetNamespace, err error) + // Get retrieves the NetNamespace from the index for a given name. + Get(name string) (*v1.NetNamespace, error) + NetNamespaceListerExpansion +} + +// netNamespaceLister implements the NetNamespaceLister interface. +type netNamespaceLister struct { + indexer cache.Indexer +} + +// NewNetNamespaceLister returns a new NetNamespaceLister. +func NewNetNamespaceLister(indexer cache.Indexer) NetNamespaceLister { + return &netNamespaceLister{indexer: indexer} +} + +// List lists all NetNamespaces in the indexer. +func (s *netNamespaceLister) List(selector labels.Selector) (ret []*v1.NetNamespace, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.NetNamespace)) + }) + return ret, err +} + +// Get retrieves the NetNamespace from the index for a given name. +func (s *netNamespaceLister) Get(name string) (*v1.NetNamespace, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("netnamespace"), name) + } + return obj.(*v1.NetNamespace), nil +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/clientset.go new file mode 100644 index 000000000..82656ad6a --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + oauthv1 "github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + OauthV1() oauthv1.OauthV1Interface + // Deprecated: please explicitly pick a version if possible. + Oauth() oauthv1.OauthV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + oauthV1 *oauthv1.OauthV1Client +} + +// OauthV1 retrieves the OauthV1Client +func (c *Clientset) OauthV1() oauthv1.OauthV1Interface { + return c.oauthV1 +} + +// Deprecated: Oauth retrieves the default version of OauthClient. +// Please explicitly pick a version. +func (c *Clientset) Oauth() oauthv1.OauthV1Interface { + return c.oauthV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.oauthV1, err = oauthv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.oauthV1 = oauthv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.oauthV1 = oauthv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..97a22af5e --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/oauth/clientset/versioned" + oauthv1 "github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1" + fakeoauthv1 "github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// OauthV1 retrieves the OauthV1Client +func (c *Clientset) OauthV1() oauthv1.OauthV1Interface { + return &fakeoauthv1.FakeOauthV1{Fake: &c.Fake} +} + +// Oauth retrieves the OauthV1Client +func (c *Clientset) Oauth() oauthv1.OauthV1Interface { + return &fakeoauthv1.FakeOauthV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/register.go new file mode 100644 index 000000000..a0611bcad --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + oauthv1 "github.com/openshift/api/oauth/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + oauthv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..26c1d9eca --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + oauthv1 "github.com/openshift/api/oauth/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + oauthv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/doc.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/doc.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauth_client.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauth_client.go new file mode 100644 index 000000000..3eba1766a --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauth_client.go @@ -0,0 +1,36 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeOauthV1 struct { + *testing.Fake +} + +func (c *FakeOauthV1) OAuthAccessTokens() v1.OAuthAccessTokenInterface { + return &FakeOAuthAccessTokens{c} +} + +func (c *FakeOauthV1) OAuthAuthorizeTokens() v1.OAuthAuthorizeTokenInterface { + return &FakeOAuthAuthorizeTokens{c} +} + +func (c *FakeOauthV1) OAuthClients() v1.OAuthClientInterface { + return &FakeOAuthClients{c} +} + +func (c *FakeOauthV1) OAuthClientAuthorizations() v1.OAuthClientAuthorizationInterface { + return &FakeOAuthClientAuthorizations{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeOauthV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthaccesstoken.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthaccesstoken.go new file mode 100644 index 000000000..f381539cb --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthaccesstoken.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + oauth_v1 "github.com/openshift/api/oauth/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeOAuthAccessTokens implements OAuthAccessTokenInterface +type FakeOAuthAccessTokens struct { + Fake *FakeOauthV1 +} + +var oauthaccesstokensResource = schema.GroupVersionResource{Group: "oauth.openshift.io", Version: "v1", Resource: "oauthaccesstokens"} + +var oauthaccesstokensKind = schema.GroupVersionKind{Group: "oauth.openshift.io", Version: "v1", Kind: "OAuthAccessToken"} + +// Get takes name of the oAuthAccessToken, and returns the corresponding oAuthAccessToken object, and an error if there is any. +func (c *FakeOAuthAccessTokens) Get(name string, options v1.GetOptions) (result *oauth_v1.OAuthAccessToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(oauthaccesstokensResource, name), &oauth_v1.OAuthAccessToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAccessToken), err +} + +// List takes label and field selectors, and returns the list of OAuthAccessTokens that match those selectors. +func (c *FakeOAuthAccessTokens) List(opts v1.ListOptions) (result *oauth_v1.OAuthAccessTokenList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(oauthaccesstokensResource, oauthaccesstokensKind, opts), &oauth_v1.OAuthAccessTokenList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &oauth_v1.OAuthAccessTokenList{ListMeta: obj.(*oauth_v1.OAuthAccessTokenList).ListMeta} + for _, item := range obj.(*oauth_v1.OAuthAccessTokenList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested oAuthAccessTokens. +func (c *FakeOAuthAccessTokens) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(oauthaccesstokensResource, opts)) +} + +// Create takes the representation of a oAuthAccessToken and creates it. Returns the server's representation of the oAuthAccessToken, and an error, if there is any. +func (c *FakeOAuthAccessTokens) Create(oAuthAccessToken *oauth_v1.OAuthAccessToken) (result *oauth_v1.OAuthAccessToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(oauthaccesstokensResource, oAuthAccessToken), &oauth_v1.OAuthAccessToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAccessToken), err +} + +// Update takes the representation of a oAuthAccessToken and updates it. Returns the server's representation of the oAuthAccessToken, and an error, if there is any. +func (c *FakeOAuthAccessTokens) Update(oAuthAccessToken *oauth_v1.OAuthAccessToken) (result *oauth_v1.OAuthAccessToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(oauthaccesstokensResource, oAuthAccessToken), &oauth_v1.OAuthAccessToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAccessToken), err +} + +// Delete takes name of the oAuthAccessToken and deletes it. Returns an error if one occurs. +func (c *FakeOAuthAccessTokens) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(oauthaccesstokensResource, name), &oauth_v1.OAuthAccessToken{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeOAuthAccessTokens) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(oauthaccesstokensResource, listOptions) + + _, err := c.Fake.Invokes(action, &oauth_v1.OAuthAccessTokenList{}) + return err +} + +// Patch applies the patch and returns the patched oAuthAccessToken. +func (c *FakeOAuthAccessTokens) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *oauth_v1.OAuthAccessToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(oauthaccesstokensResource, name, data, subresources...), &oauth_v1.OAuthAccessToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAccessToken), err +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthauthorizetoken.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthauthorizetoken.go new file mode 100644 index 000000000..a8e613bac --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthauthorizetoken.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + oauth_v1 "github.com/openshift/api/oauth/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeOAuthAuthorizeTokens implements OAuthAuthorizeTokenInterface +type FakeOAuthAuthorizeTokens struct { + Fake *FakeOauthV1 +} + +var oauthauthorizetokensResource = schema.GroupVersionResource{Group: "oauth.openshift.io", Version: "v1", Resource: "oauthauthorizetokens"} + +var oauthauthorizetokensKind = schema.GroupVersionKind{Group: "oauth.openshift.io", Version: "v1", Kind: "OAuthAuthorizeToken"} + +// Get takes name of the oAuthAuthorizeToken, and returns the corresponding oAuthAuthorizeToken object, and an error if there is any. +func (c *FakeOAuthAuthorizeTokens) Get(name string, options v1.GetOptions) (result *oauth_v1.OAuthAuthorizeToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(oauthauthorizetokensResource, name), &oauth_v1.OAuthAuthorizeToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAuthorizeToken), err +} + +// List takes label and field selectors, and returns the list of OAuthAuthorizeTokens that match those selectors. +func (c *FakeOAuthAuthorizeTokens) List(opts v1.ListOptions) (result *oauth_v1.OAuthAuthorizeTokenList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(oauthauthorizetokensResource, oauthauthorizetokensKind, opts), &oauth_v1.OAuthAuthorizeTokenList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &oauth_v1.OAuthAuthorizeTokenList{ListMeta: obj.(*oauth_v1.OAuthAuthorizeTokenList).ListMeta} + for _, item := range obj.(*oauth_v1.OAuthAuthorizeTokenList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested oAuthAuthorizeTokens. +func (c *FakeOAuthAuthorizeTokens) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(oauthauthorizetokensResource, opts)) +} + +// Create takes the representation of a oAuthAuthorizeToken and creates it. Returns the server's representation of the oAuthAuthorizeToken, and an error, if there is any. +func (c *FakeOAuthAuthorizeTokens) Create(oAuthAuthorizeToken *oauth_v1.OAuthAuthorizeToken) (result *oauth_v1.OAuthAuthorizeToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(oauthauthorizetokensResource, oAuthAuthorizeToken), &oauth_v1.OAuthAuthorizeToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAuthorizeToken), err +} + +// Update takes the representation of a oAuthAuthorizeToken and updates it. Returns the server's representation of the oAuthAuthorizeToken, and an error, if there is any. +func (c *FakeOAuthAuthorizeTokens) Update(oAuthAuthorizeToken *oauth_v1.OAuthAuthorizeToken) (result *oauth_v1.OAuthAuthorizeToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(oauthauthorizetokensResource, oAuthAuthorizeToken), &oauth_v1.OAuthAuthorizeToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAuthorizeToken), err +} + +// Delete takes name of the oAuthAuthorizeToken and deletes it. Returns an error if one occurs. +func (c *FakeOAuthAuthorizeTokens) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(oauthauthorizetokensResource, name), &oauth_v1.OAuthAuthorizeToken{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeOAuthAuthorizeTokens) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(oauthauthorizetokensResource, listOptions) + + _, err := c.Fake.Invokes(action, &oauth_v1.OAuthAuthorizeTokenList{}) + return err +} + +// Patch applies the patch and returns the patched oAuthAuthorizeToken. +func (c *FakeOAuthAuthorizeTokens) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *oauth_v1.OAuthAuthorizeToken, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(oauthauthorizetokensResource, name, data, subresources...), &oauth_v1.OAuthAuthorizeToken{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthAuthorizeToken), err +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclient.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclient.go new file mode 100644 index 000000000..64d1ed22f --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclient.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + oauth_v1 "github.com/openshift/api/oauth/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeOAuthClients implements OAuthClientInterface +type FakeOAuthClients struct { + Fake *FakeOauthV1 +} + +var oauthclientsResource = schema.GroupVersionResource{Group: "oauth.openshift.io", Version: "v1", Resource: "oauthclients"} + +var oauthclientsKind = schema.GroupVersionKind{Group: "oauth.openshift.io", Version: "v1", Kind: "OAuthClient"} + +// Get takes name of the oAuthClient, and returns the corresponding oAuthClient object, and an error if there is any. +func (c *FakeOAuthClients) Get(name string, options v1.GetOptions) (result *oauth_v1.OAuthClient, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(oauthclientsResource, name), &oauth_v1.OAuthClient{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClient), err +} + +// List takes label and field selectors, and returns the list of OAuthClients that match those selectors. +func (c *FakeOAuthClients) List(opts v1.ListOptions) (result *oauth_v1.OAuthClientList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(oauthclientsResource, oauthclientsKind, opts), &oauth_v1.OAuthClientList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &oauth_v1.OAuthClientList{ListMeta: obj.(*oauth_v1.OAuthClientList).ListMeta} + for _, item := range obj.(*oauth_v1.OAuthClientList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested oAuthClients. +func (c *FakeOAuthClients) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(oauthclientsResource, opts)) +} + +// Create takes the representation of a oAuthClient and creates it. Returns the server's representation of the oAuthClient, and an error, if there is any. +func (c *FakeOAuthClients) Create(oAuthClient *oauth_v1.OAuthClient) (result *oauth_v1.OAuthClient, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(oauthclientsResource, oAuthClient), &oauth_v1.OAuthClient{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClient), err +} + +// Update takes the representation of a oAuthClient and updates it. Returns the server's representation of the oAuthClient, and an error, if there is any. +func (c *FakeOAuthClients) Update(oAuthClient *oauth_v1.OAuthClient) (result *oauth_v1.OAuthClient, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(oauthclientsResource, oAuthClient), &oauth_v1.OAuthClient{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClient), err +} + +// Delete takes name of the oAuthClient and deletes it. Returns an error if one occurs. +func (c *FakeOAuthClients) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(oauthclientsResource, name), &oauth_v1.OAuthClient{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeOAuthClients) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(oauthclientsResource, listOptions) + + _, err := c.Fake.Invokes(action, &oauth_v1.OAuthClientList{}) + return err +} + +// Patch applies the patch and returns the patched oAuthClient. +func (c *FakeOAuthClients) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *oauth_v1.OAuthClient, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(oauthclientsResource, name, data, subresources...), &oauth_v1.OAuthClient{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClient), err +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclientauthorization.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclientauthorization.go new file mode 100644 index 000000000..2083cd79b --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/fake/fake_oauthclientauthorization.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + oauth_v1 "github.com/openshift/api/oauth/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeOAuthClientAuthorizations implements OAuthClientAuthorizationInterface +type FakeOAuthClientAuthorizations struct { + Fake *FakeOauthV1 +} + +var oauthclientauthorizationsResource = schema.GroupVersionResource{Group: "oauth.openshift.io", Version: "v1", Resource: "oauthclientauthorizations"} + +var oauthclientauthorizationsKind = schema.GroupVersionKind{Group: "oauth.openshift.io", Version: "v1", Kind: "OAuthClientAuthorization"} + +// Get takes name of the oAuthClientAuthorization, and returns the corresponding oAuthClientAuthorization object, and an error if there is any. +func (c *FakeOAuthClientAuthorizations) Get(name string, options v1.GetOptions) (result *oauth_v1.OAuthClientAuthorization, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(oauthclientauthorizationsResource, name), &oauth_v1.OAuthClientAuthorization{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClientAuthorization), err +} + +// List takes label and field selectors, and returns the list of OAuthClientAuthorizations that match those selectors. +func (c *FakeOAuthClientAuthorizations) List(opts v1.ListOptions) (result *oauth_v1.OAuthClientAuthorizationList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(oauthclientauthorizationsResource, oauthclientauthorizationsKind, opts), &oauth_v1.OAuthClientAuthorizationList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &oauth_v1.OAuthClientAuthorizationList{ListMeta: obj.(*oauth_v1.OAuthClientAuthorizationList).ListMeta} + for _, item := range obj.(*oauth_v1.OAuthClientAuthorizationList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested oAuthClientAuthorizations. +func (c *FakeOAuthClientAuthorizations) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(oauthclientauthorizationsResource, opts)) +} + +// Create takes the representation of a oAuthClientAuthorization and creates it. Returns the server's representation of the oAuthClientAuthorization, and an error, if there is any. +func (c *FakeOAuthClientAuthorizations) Create(oAuthClientAuthorization *oauth_v1.OAuthClientAuthorization) (result *oauth_v1.OAuthClientAuthorization, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(oauthclientauthorizationsResource, oAuthClientAuthorization), &oauth_v1.OAuthClientAuthorization{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClientAuthorization), err +} + +// Update takes the representation of a oAuthClientAuthorization and updates it. Returns the server's representation of the oAuthClientAuthorization, and an error, if there is any. +func (c *FakeOAuthClientAuthorizations) Update(oAuthClientAuthorization *oauth_v1.OAuthClientAuthorization) (result *oauth_v1.OAuthClientAuthorization, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(oauthclientauthorizationsResource, oAuthClientAuthorization), &oauth_v1.OAuthClientAuthorization{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClientAuthorization), err +} + +// Delete takes name of the oAuthClientAuthorization and deletes it. Returns an error if one occurs. +func (c *FakeOAuthClientAuthorizations) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(oauthclientauthorizationsResource, name), &oauth_v1.OAuthClientAuthorization{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeOAuthClientAuthorizations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(oauthclientauthorizationsResource, listOptions) + + _, err := c.Fake.Invokes(action, &oauth_v1.OAuthClientAuthorizationList{}) + return err +} + +// Patch applies the patch and returns the patched oAuthClientAuthorization. +func (c *FakeOAuthClientAuthorizations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *oauth_v1.OAuthClientAuthorization, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(oauthclientauthorizationsResource, name, data, subresources...), &oauth_v1.OAuthClientAuthorization{}) + if obj == nil { + return nil, err + } + return obj.(*oauth_v1.OAuthClientAuthorization), err +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/generated_expansion.go new file mode 100644 index 000000000..d5e008637 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/generated_expansion.go @@ -0,0 +1,11 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type OAuthAccessTokenExpansion interface{} + +type OAuthAuthorizeTokenExpansion interface{} + +type OAuthClientExpansion interface{} + +type OAuthClientAuthorizationExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauth_client.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauth_client.go new file mode 100644 index 000000000..b6c721f0c --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauth_client.go @@ -0,0 +1,89 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + "github.com/openshift/client-go/oauth/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type OauthV1Interface interface { + RESTClient() rest.Interface + OAuthAccessTokensGetter + OAuthAuthorizeTokensGetter + OAuthClientsGetter + OAuthClientAuthorizationsGetter +} + +// OauthV1Client is used to interact with features provided by the oauth.openshift.io group. +type OauthV1Client struct { + restClient rest.Interface +} + +func (c *OauthV1Client) OAuthAccessTokens() OAuthAccessTokenInterface { + return newOAuthAccessTokens(c) +} + +func (c *OauthV1Client) OAuthAuthorizeTokens() OAuthAuthorizeTokenInterface { + return newOAuthAuthorizeTokens(c) +} + +func (c *OauthV1Client) OAuthClients() OAuthClientInterface { + return newOAuthClients(c) +} + +func (c *OauthV1Client) OAuthClientAuthorizations() OAuthClientAuthorizationInterface { + return newOAuthClientAuthorizations(c) +} + +// NewForConfig creates a new OauthV1Client for the given config. +func NewForConfig(c *rest.Config) (*OauthV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &OauthV1Client{client}, nil +} + +// NewForConfigOrDie creates a new OauthV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *OauthV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new OauthV1Client for the given RESTClient. +func New(c rest.Interface) *OauthV1Client { + return &OauthV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *OauthV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthaccesstoken.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthaccesstoken.go new file mode 100644 index 000000000..a61051eb9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthaccesstoken.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + scheme "github.com/openshift/client-go/oauth/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// OAuthAccessTokensGetter has a method to return a OAuthAccessTokenInterface. +// A group's client should implement this interface. +type OAuthAccessTokensGetter interface { + OAuthAccessTokens() OAuthAccessTokenInterface +} + +// OAuthAccessTokenInterface has methods to work with OAuthAccessToken resources. +type OAuthAccessTokenInterface interface { + Create(*v1.OAuthAccessToken) (*v1.OAuthAccessToken, error) + Update(*v1.OAuthAccessToken) (*v1.OAuthAccessToken, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.OAuthAccessToken, error) + List(opts meta_v1.ListOptions) (*v1.OAuthAccessTokenList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthAccessToken, err error) + OAuthAccessTokenExpansion +} + +// oAuthAccessTokens implements OAuthAccessTokenInterface +type oAuthAccessTokens struct { + client rest.Interface +} + +// newOAuthAccessTokens returns a OAuthAccessTokens +func newOAuthAccessTokens(c *OauthV1Client) *oAuthAccessTokens { + return &oAuthAccessTokens{ + client: c.RESTClient(), + } +} + +// Get takes name of the oAuthAccessToken, and returns the corresponding oAuthAccessToken object, and an error if there is any. +func (c *oAuthAccessTokens) Get(name string, options meta_v1.GetOptions) (result *v1.OAuthAccessToken, err error) { + result = &v1.OAuthAccessToken{} + err = c.client.Get(). + Resource("oauthaccesstokens"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of OAuthAccessTokens that match those selectors. +func (c *oAuthAccessTokens) List(opts meta_v1.ListOptions) (result *v1.OAuthAccessTokenList, err error) { + result = &v1.OAuthAccessTokenList{} + err = c.client.Get(). + Resource("oauthaccesstokens"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested oAuthAccessTokens. +func (c *oAuthAccessTokens) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("oauthaccesstokens"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a oAuthAccessToken and creates it. Returns the server's representation of the oAuthAccessToken, and an error, if there is any. +func (c *oAuthAccessTokens) Create(oAuthAccessToken *v1.OAuthAccessToken) (result *v1.OAuthAccessToken, err error) { + result = &v1.OAuthAccessToken{} + err = c.client.Post(). + Resource("oauthaccesstokens"). + Body(oAuthAccessToken). + Do(). + Into(result) + return +} + +// Update takes the representation of a oAuthAccessToken and updates it. Returns the server's representation of the oAuthAccessToken, and an error, if there is any. +func (c *oAuthAccessTokens) Update(oAuthAccessToken *v1.OAuthAccessToken) (result *v1.OAuthAccessToken, err error) { + result = &v1.OAuthAccessToken{} + err = c.client.Put(). + Resource("oauthaccesstokens"). + Name(oAuthAccessToken.Name). + Body(oAuthAccessToken). + Do(). + Into(result) + return +} + +// Delete takes name of the oAuthAccessToken and deletes it. Returns an error if one occurs. +func (c *oAuthAccessTokens) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("oauthaccesstokens"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *oAuthAccessTokens) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("oauthaccesstokens"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched oAuthAccessToken. +func (c *oAuthAccessTokens) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthAccessToken, err error) { + result = &v1.OAuthAccessToken{} + err = c.client.Patch(pt). + Resource("oauthaccesstokens"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthauthorizetoken.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthauthorizetoken.go new file mode 100644 index 000000000..a7c7d2598 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthauthorizetoken.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + scheme "github.com/openshift/client-go/oauth/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// OAuthAuthorizeTokensGetter has a method to return a OAuthAuthorizeTokenInterface. +// A group's client should implement this interface. +type OAuthAuthorizeTokensGetter interface { + OAuthAuthorizeTokens() OAuthAuthorizeTokenInterface +} + +// OAuthAuthorizeTokenInterface has methods to work with OAuthAuthorizeToken resources. +type OAuthAuthorizeTokenInterface interface { + Create(*v1.OAuthAuthorizeToken) (*v1.OAuthAuthorizeToken, error) + Update(*v1.OAuthAuthorizeToken) (*v1.OAuthAuthorizeToken, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.OAuthAuthorizeToken, error) + List(opts meta_v1.ListOptions) (*v1.OAuthAuthorizeTokenList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthAuthorizeToken, err error) + OAuthAuthorizeTokenExpansion +} + +// oAuthAuthorizeTokens implements OAuthAuthorizeTokenInterface +type oAuthAuthorizeTokens struct { + client rest.Interface +} + +// newOAuthAuthorizeTokens returns a OAuthAuthorizeTokens +func newOAuthAuthorizeTokens(c *OauthV1Client) *oAuthAuthorizeTokens { + return &oAuthAuthorizeTokens{ + client: c.RESTClient(), + } +} + +// Get takes name of the oAuthAuthorizeToken, and returns the corresponding oAuthAuthorizeToken object, and an error if there is any. +func (c *oAuthAuthorizeTokens) Get(name string, options meta_v1.GetOptions) (result *v1.OAuthAuthorizeToken, err error) { + result = &v1.OAuthAuthorizeToken{} + err = c.client.Get(). + Resource("oauthauthorizetokens"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of OAuthAuthorizeTokens that match those selectors. +func (c *oAuthAuthorizeTokens) List(opts meta_v1.ListOptions) (result *v1.OAuthAuthorizeTokenList, err error) { + result = &v1.OAuthAuthorizeTokenList{} + err = c.client.Get(). + Resource("oauthauthorizetokens"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested oAuthAuthorizeTokens. +func (c *oAuthAuthorizeTokens) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("oauthauthorizetokens"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a oAuthAuthorizeToken and creates it. Returns the server's representation of the oAuthAuthorizeToken, and an error, if there is any. +func (c *oAuthAuthorizeTokens) Create(oAuthAuthorizeToken *v1.OAuthAuthorizeToken) (result *v1.OAuthAuthorizeToken, err error) { + result = &v1.OAuthAuthorizeToken{} + err = c.client.Post(). + Resource("oauthauthorizetokens"). + Body(oAuthAuthorizeToken). + Do(). + Into(result) + return +} + +// Update takes the representation of a oAuthAuthorizeToken and updates it. Returns the server's representation of the oAuthAuthorizeToken, and an error, if there is any. +func (c *oAuthAuthorizeTokens) Update(oAuthAuthorizeToken *v1.OAuthAuthorizeToken) (result *v1.OAuthAuthorizeToken, err error) { + result = &v1.OAuthAuthorizeToken{} + err = c.client.Put(). + Resource("oauthauthorizetokens"). + Name(oAuthAuthorizeToken.Name). + Body(oAuthAuthorizeToken). + Do(). + Into(result) + return +} + +// Delete takes name of the oAuthAuthorizeToken and deletes it. Returns an error if one occurs. +func (c *oAuthAuthorizeTokens) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("oauthauthorizetokens"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *oAuthAuthorizeTokens) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("oauthauthorizetokens"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched oAuthAuthorizeToken. +func (c *oAuthAuthorizeTokens) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthAuthorizeToken, err error) { + result = &v1.OAuthAuthorizeToken{} + err = c.client.Patch(pt). + Resource("oauthauthorizetokens"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclient.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclient.go new file mode 100644 index 000000000..dc9d7ff3f --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclient.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + scheme "github.com/openshift/client-go/oauth/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// OAuthClientsGetter has a method to return a OAuthClientInterface. +// A group's client should implement this interface. +type OAuthClientsGetter interface { + OAuthClients() OAuthClientInterface +} + +// OAuthClientInterface has methods to work with OAuthClient resources. +type OAuthClientInterface interface { + Create(*v1.OAuthClient) (*v1.OAuthClient, error) + Update(*v1.OAuthClient) (*v1.OAuthClient, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.OAuthClient, error) + List(opts meta_v1.ListOptions) (*v1.OAuthClientList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthClient, err error) + OAuthClientExpansion +} + +// oAuthClients implements OAuthClientInterface +type oAuthClients struct { + client rest.Interface +} + +// newOAuthClients returns a OAuthClients +func newOAuthClients(c *OauthV1Client) *oAuthClients { + return &oAuthClients{ + client: c.RESTClient(), + } +} + +// Get takes name of the oAuthClient, and returns the corresponding oAuthClient object, and an error if there is any. +func (c *oAuthClients) Get(name string, options meta_v1.GetOptions) (result *v1.OAuthClient, err error) { + result = &v1.OAuthClient{} + err = c.client.Get(). + Resource("oauthclients"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of OAuthClients that match those selectors. +func (c *oAuthClients) List(opts meta_v1.ListOptions) (result *v1.OAuthClientList, err error) { + result = &v1.OAuthClientList{} + err = c.client.Get(). + Resource("oauthclients"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested oAuthClients. +func (c *oAuthClients) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("oauthclients"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a oAuthClient and creates it. Returns the server's representation of the oAuthClient, and an error, if there is any. +func (c *oAuthClients) Create(oAuthClient *v1.OAuthClient) (result *v1.OAuthClient, err error) { + result = &v1.OAuthClient{} + err = c.client.Post(). + Resource("oauthclients"). + Body(oAuthClient). + Do(). + Into(result) + return +} + +// Update takes the representation of a oAuthClient and updates it. Returns the server's representation of the oAuthClient, and an error, if there is any. +func (c *oAuthClients) Update(oAuthClient *v1.OAuthClient) (result *v1.OAuthClient, err error) { + result = &v1.OAuthClient{} + err = c.client.Put(). + Resource("oauthclients"). + Name(oAuthClient.Name). + Body(oAuthClient). + Do(). + Into(result) + return +} + +// Delete takes name of the oAuthClient and deletes it. Returns an error if one occurs. +func (c *oAuthClients) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("oauthclients"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *oAuthClients) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("oauthclients"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched oAuthClient. +func (c *oAuthClients) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthClient, err error) { + result = &v1.OAuthClient{} + err = c.client.Patch(pt). + Resource("oauthclients"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclientauthorization.go b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclientauthorization.go new file mode 100644 index 000000000..7edf9e106 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/clientset/versioned/typed/oauth/v1/oauthclientauthorization.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + scheme "github.com/openshift/client-go/oauth/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// OAuthClientAuthorizationsGetter has a method to return a OAuthClientAuthorizationInterface. +// A group's client should implement this interface. +type OAuthClientAuthorizationsGetter interface { + OAuthClientAuthorizations() OAuthClientAuthorizationInterface +} + +// OAuthClientAuthorizationInterface has methods to work with OAuthClientAuthorization resources. +type OAuthClientAuthorizationInterface interface { + Create(*v1.OAuthClientAuthorization) (*v1.OAuthClientAuthorization, error) + Update(*v1.OAuthClientAuthorization) (*v1.OAuthClientAuthorization, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.OAuthClientAuthorization, error) + List(opts meta_v1.ListOptions) (*v1.OAuthClientAuthorizationList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthClientAuthorization, err error) + OAuthClientAuthorizationExpansion +} + +// oAuthClientAuthorizations implements OAuthClientAuthorizationInterface +type oAuthClientAuthorizations struct { + client rest.Interface +} + +// newOAuthClientAuthorizations returns a OAuthClientAuthorizations +func newOAuthClientAuthorizations(c *OauthV1Client) *oAuthClientAuthorizations { + return &oAuthClientAuthorizations{ + client: c.RESTClient(), + } +} + +// Get takes name of the oAuthClientAuthorization, and returns the corresponding oAuthClientAuthorization object, and an error if there is any. +func (c *oAuthClientAuthorizations) Get(name string, options meta_v1.GetOptions) (result *v1.OAuthClientAuthorization, err error) { + result = &v1.OAuthClientAuthorization{} + err = c.client.Get(). + Resource("oauthclientauthorizations"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of OAuthClientAuthorizations that match those selectors. +func (c *oAuthClientAuthorizations) List(opts meta_v1.ListOptions) (result *v1.OAuthClientAuthorizationList, err error) { + result = &v1.OAuthClientAuthorizationList{} + err = c.client.Get(). + Resource("oauthclientauthorizations"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested oAuthClientAuthorizations. +func (c *oAuthClientAuthorizations) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("oauthclientauthorizations"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a oAuthClientAuthorization and creates it. Returns the server's representation of the oAuthClientAuthorization, and an error, if there is any. +func (c *oAuthClientAuthorizations) Create(oAuthClientAuthorization *v1.OAuthClientAuthorization) (result *v1.OAuthClientAuthorization, err error) { + result = &v1.OAuthClientAuthorization{} + err = c.client.Post(). + Resource("oauthclientauthorizations"). + Body(oAuthClientAuthorization). + Do(). + Into(result) + return +} + +// Update takes the representation of a oAuthClientAuthorization and updates it. Returns the server's representation of the oAuthClientAuthorization, and an error, if there is any. +func (c *oAuthClientAuthorizations) Update(oAuthClientAuthorization *v1.OAuthClientAuthorization) (result *v1.OAuthClientAuthorization, err error) { + result = &v1.OAuthClientAuthorization{} + err = c.client.Put(). + Resource("oauthclientauthorizations"). + Name(oAuthClientAuthorization.Name). + Body(oAuthClientAuthorization). + Do(). + Into(result) + return +} + +// Delete takes name of the oAuthClientAuthorization and deletes it. Returns an error if one occurs. +func (c *oAuthClientAuthorizations) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("oauthclientauthorizations"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *oAuthClientAuthorizations) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("oauthclientauthorizations"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched oAuthClientAuthorization. +func (c *oAuthClientAuthorizations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.OAuthClientAuthorization, err error) { + result = &v1.OAuthClientAuthorization{} + err = c.client.Patch(pt). + Resource("oauthclientauthorizations"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/factory.go new file mode 100644 index 000000000..13c201b24 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/oauth/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces" + oauth "github.com/openshift/client-go/oauth/informers/externalversions/oauth" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Oauth() oauth.Interface +} + +func (f *sharedInformerFactory) Oauth() oauth.Interface { + return oauth.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/generic.go new file mode 100644 index 000000000..bd51d836c --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/generic.go @@ -0,0 +1,52 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/oauth/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=oauth.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("oauthaccesstokens"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Oauth().V1().OAuthAccessTokens().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("oauthauthorizetokens"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Oauth().V1().OAuthAuthorizeTokens().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("oauthclients"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Oauth().V1().OAuthClients().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("oauthclientauthorizations"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Oauth().V1().OAuthClientAuthorizations().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..4980c5b1b --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/oauth/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/interface.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/interface.go new file mode 100644 index 000000000..8afb627c6 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package oauth + +import ( + internalinterfaces "github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/interface.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/interface.go new file mode 100644 index 000000000..241c47aa6 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/interface.go @@ -0,0 +1,50 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // OAuthAccessTokens returns a OAuthAccessTokenInformer. + OAuthAccessTokens() OAuthAccessTokenInformer + // OAuthAuthorizeTokens returns a OAuthAuthorizeTokenInformer. + OAuthAuthorizeTokens() OAuthAuthorizeTokenInformer + // OAuthClients returns a OAuthClientInformer. + OAuthClients() OAuthClientInformer + // OAuthClientAuthorizations returns a OAuthClientAuthorizationInformer. + OAuthClientAuthorizations() OAuthClientAuthorizationInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// OAuthAccessTokens returns a OAuthAccessTokenInformer. +func (v *version) OAuthAccessTokens() OAuthAccessTokenInformer { + return &oAuthAccessTokenInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// OAuthAuthorizeTokens returns a OAuthAuthorizeTokenInformer. +func (v *version) OAuthAuthorizeTokens() OAuthAuthorizeTokenInformer { + return &oAuthAuthorizeTokenInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// OAuthClients returns a OAuthClientInformer. +func (v *version) OAuthClients() OAuthClientInformer { + return &oAuthClientInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// OAuthClientAuthorizations returns a OAuthClientAuthorizationInformer. +func (v *version) OAuthClientAuthorizations() OAuthClientAuthorizationInformer { + return &oAuthClientAuthorizationInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthaccesstoken.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthaccesstoken.go new file mode 100644 index 000000000..9be871505 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthaccesstoken.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + oauth_v1 "github.com/openshift/api/oauth/v1" + versioned "github.com/openshift/client-go/oauth/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/oauth/listers/oauth/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// OAuthAccessTokenInformer provides access to a shared informer and lister for +// OAuthAccessTokens. +type OAuthAccessTokenInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.OAuthAccessTokenLister +} + +type oAuthAccessTokenInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewOAuthAccessTokenInformer constructs a new informer for OAuthAccessToken type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewOAuthAccessTokenInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredOAuthAccessTokenInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredOAuthAccessTokenInformer constructs a new informer for OAuthAccessToken type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredOAuthAccessTokenInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthAccessTokens().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthAccessTokens().Watch(options) + }, + }, + &oauth_v1.OAuthAccessToken{}, + resyncPeriod, + indexers, + ) +} + +func (f *oAuthAccessTokenInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredOAuthAccessTokenInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *oAuthAccessTokenInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&oauth_v1.OAuthAccessToken{}, f.defaultInformer) +} + +func (f *oAuthAccessTokenInformer) Lister() v1.OAuthAccessTokenLister { + return v1.NewOAuthAccessTokenLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthauthorizetoken.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthauthorizetoken.go new file mode 100644 index 000000000..49b42e17f --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthauthorizetoken.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + oauth_v1 "github.com/openshift/api/oauth/v1" + versioned "github.com/openshift/client-go/oauth/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/oauth/listers/oauth/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// OAuthAuthorizeTokenInformer provides access to a shared informer and lister for +// OAuthAuthorizeTokens. +type OAuthAuthorizeTokenInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.OAuthAuthorizeTokenLister +} + +type oAuthAuthorizeTokenInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewOAuthAuthorizeTokenInformer constructs a new informer for OAuthAuthorizeToken type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewOAuthAuthorizeTokenInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredOAuthAuthorizeTokenInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredOAuthAuthorizeTokenInformer constructs a new informer for OAuthAuthorizeToken type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredOAuthAuthorizeTokenInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthAuthorizeTokens().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthAuthorizeTokens().Watch(options) + }, + }, + &oauth_v1.OAuthAuthorizeToken{}, + resyncPeriod, + indexers, + ) +} + +func (f *oAuthAuthorizeTokenInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredOAuthAuthorizeTokenInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *oAuthAuthorizeTokenInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&oauth_v1.OAuthAuthorizeToken{}, f.defaultInformer) +} + +func (f *oAuthAuthorizeTokenInformer) Lister() v1.OAuthAuthorizeTokenLister { + return v1.NewOAuthAuthorizeTokenLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclient.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclient.go new file mode 100644 index 000000000..77c498ffd --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclient.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + oauth_v1 "github.com/openshift/api/oauth/v1" + versioned "github.com/openshift/client-go/oauth/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/oauth/listers/oauth/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// OAuthClientInformer provides access to a shared informer and lister for +// OAuthClients. +type OAuthClientInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.OAuthClientLister +} + +type oAuthClientInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewOAuthClientInformer constructs a new informer for OAuthClient type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewOAuthClientInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredOAuthClientInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredOAuthClientInformer constructs a new informer for OAuthClient type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredOAuthClientInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthClients().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthClients().Watch(options) + }, + }, + &oauth_v1.OAuthClient{}, + resyncPeriod, + indexers, + ) +} + +func (f *oAuthClientInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredOAuthClientInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *oAuthClientInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&oauth_v1.OAuthClient{}, f.defaultInformer) +} + +func (f *oAuthClientInformer) Lister() v1.OAuthClientLister { + return v1.NewOAuthClientLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclientauthorization.go b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclientauthorization.go new file mode 100644 index 000000000..cb5e851fc --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1/oauthclientauthorization.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + oauth_v1 "github.com/openshift/api/oauth/v1" + versioned "github.com/openshift/client-go/oauth/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/oauth/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/oauth/listers/oauth/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// OAuthClientAuthorizationInformer provides access to a shared informer and lister for +// OAuthClientAuthorizations. +type OAuthClientAuthorizationInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.OAuthClientAuthorizationLister +} + +type oAuthClientAuthorizationInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewOAuthClientAuthorizationInformer constructs a new informer for OAuthClientAuthorization type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewOAuthClientAuthorizationInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredOAuthClientAuthorizationInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredOAuthClientAuthorizationInformer constructs a new informer for OAuthClientAuthorization type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredOAuthClientAuthorizationInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthClientAuthorizations().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.OauthV1().OAuthClientAuthorizations().Watch(options) + }, + }, + &oauth_v1.OAuthClientAuthorization{}, + resyncPeriod, + indexers, + ) +} + +func (f *oAuthClientAuthorizationInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredOAuthClientAuthorizationInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *oAuthClientAuthorizationInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&oauth_v1.OAuthClientAuthorization{}, f.defaultInformer) +} + +func (f *oAuthClientAuthorizationInformer) Lister() v1.OAuthClientAuthorizationLister { + return v1.NewOAuthClientAuthorizationLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/expansion_generated.go new file mode 100644 index 000000000..e7d8b5eb5 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/expansion_generated.go @@ -0,0 +1,19 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// OAuthAccessTokenListerExpansion allows custom methods to be added to +// OAuthAccessTokenLister. +type OAuthAccessTokenListerExpansion interface{} + +// OAuthAuthorizeTokenListerExpansion allows custom methods to be added to +// OAuthAuthorizeTokenLister. +type OAuthAuthorizeTokenListerExpansion interface{} + +// OAuthClientListerExpansion allows custom methods to be added to +// OAuthClientLister. +type OAuthClientListerExpansion interface{} + +// OAuthClientAuthorizationListerExpansion allows custom methods to be added to +// OAuthClientAuthorizationLister. +type OAuthClientAuthorizationListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthaccesstoken.go b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthaccesstoken.go new file mode 100644 index 000000000..33b815c2d --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthaccesstoken.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// OAuthAccessTokenLister helps list OAuthAccessTokens. +type OAuthAccessTokenLister interface { + // List lists all OAuthAccessTokens in the indexer. + List(selector labels.Selector) (ret []*v1.OAuthAccessToken, err error) + // Get retrieves the OAuthAccessToken from the index for a given name. + Get(name string) (*v1.OAuthAccessToken, error) + OAuthAccessTokenListerExpansion +} + +// oAuthAccessTokenLister implements the OAuthAccessTokenLister interface. +type oAuthAccessTokenLister struct { + indexer cache.Indexer +} + +// NewOAuthAccessTokenLister returns a new OAuthAccessTokenLister. +func NewOAuthAccessTokenLister(indexer cache.Indexer) OAuthAccessTokenLister { + return &oAuthAccessTokenLister{indexer: indexer} +} + +// List lists all OAuthAccessTokens in the indexer. +func (s *oAuthAccessTokenLister) List(selector labels.Selector) (ret []*v1.OAuthAccessToken, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.OAuthAccessToken)) + }) + return ret, err +} + +// Get retrieves the OAuthAccessToken from the index for a given name. +func (s *oAuthAccessTokenLister) Get(name string) (*v1.OAuthAccessToken, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("oauthaccesstoken"), name) + } + return obj.(*v1.OAuthAccessToken), nil +} diff --git a/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthauthorizetoken.go b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthauthorizetoken.go new file mode 100644 index 000000000..5481a4819 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthauthorizetoken.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// OAuthAuthorizeTokenLister helps list OAuthAuthorizeTokens. +type OAuthAuthorizeTokenLister interface { + // List lists all OAuthAuthorizeTokens in the indexer. + List(selector labels.Selector) (ret []*v1.OAuthAuthorizeToken, err error) + // Get retrieves the OAuthAuthorizeToken from the index for a given name. + Get(name string) (*v1.OAuthAuthorizeToken, error) + OAuthAuthorizeTokenListerExpansion +} + +// oAuthAuthorizeTokenLister implements the OAuthAuthorizeTokenLister interface. +type oAuthAuthorizeTokenLister struct { + indexer cache.Indexer +} + +// NewOAuthAuthorizeTokenLister returns a new OAuthAuthorizeTokenLister. +func NewOAuthAuthorizeTokenLister(indexer cache.Indexer) OAuthAuthorizeTokenLister { + return &oAuthAuthorizeTokenLister{indexer: indexer} +} + +// List lists all OAuthAuthorizeTokens in the indexer. +func (s *oAuthAuthorizeTokenLister) List(selector labels.Selector) (ret []*v1.OAuthAuthorizeToken, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.OAuthAuthorizeToken)) + }) + return ret, err +} + +// Get retrieves the OAuthAuthorizeToken from the index for a given name. +func (s *oAuthAuthorizeTokenLister) Get(name string) (*v1.OAuthAuthorizeToken, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("oauthauthorizetoken"), name) + } + return obj.(*v1.OAuthAuthorizeToken), nil +} diff --git a/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclient.go b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclient.go new file mode 100644 index 000000000..79e6f3483 --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclient.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// OAuthClientLister helps list OAuthClients. +type OAuthClientLister interface { + // List lists all OAuthClients in the indexer. + List(selector labels.Selector) (ret []*v1.OAuthClient, err error) + // Get retrieves the OAuthClient from the index for a given name. + Get(name string) (*v1.OAuthClient, error) + OAuthClientListerExpansion +} + +// oAuthClientLister implements the OAuthClientLister interface. +type oAuthClientLister struct { + indexer cache.Indexer +} + +// NewOAuthClientLister returns a new OAuthClientLister. +func NewOAuthClientLister(indexer cache.Indexer) OAuthClientLister { + return &oAuthClientLister{indexer: indexer} +} + +// List lists all OAuthClients in the indexer. +func (s *oAuthClientLister) List(selector labels.Selector) (ret []*v1.OAuthClient, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.OAuthClient)) + }) + return ret, err +} + +// Get retrieves the OAuthClient from the index for a given name. +func (s *oAuthClientLister) Get(name string) (*v1.OAuthClient, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("oauthclient"), name) + } + return obj.(*v1.OAuthClient), nil +} diff --git a/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclientauthorization.go b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclientauthorization.go new file mode 100644 index 000000000..73131ed4c --- /dev/null +++ b/vendor/github.com/openshift/client-go/oauth/listers/oauth/v1/oauthclientauthorization.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/oauth/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// OAuthClientAuthorizationLister helps list OAuthClientAuthorizations. +type OAuthClientAuthorizationLister interface { + // List lists all OAuthClientAuthorizations in the indexer. + List(selector labels.Selector) (ret []*v1.OAuthClientAuthorization, err error) + // Get retrieves the OAuthClientAuthorization from the index for a given name. + Get(name string) (*v1.OAuthClientAuthorization, error) + OAuthClientAuthorizationListerExpansion +} + +// oAuthClientAuthorizationLister implements the OAuthClientAuthorizationLister interface. +type oAuthClientAuthorizationLister struct { + indexer cache.Indexer +} + +// NewOAuthClientAuthorizationLister returns a new OAuthClientAuthorizationLister. +func NewOAuthClientAuthorizationLister(indexer cache.Indexer) OAuthClientAuthorizationLister { + return &oAuthClientAuthorizationLister{indexer: indexer} +} + +// List lists all OAuthClientAuthorizations in the indexer. +func (s *oAuthClientAuthorizationLister) List(selector labels.Selector) (ret []*v1.OAuthClientAuthorization, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.OAuthClientAuthorization)) + }) + return ret, err +} + +// Get retrieves the OAuthClientAuthorization from the index for a given name. +func (s *oAuthClientAuthorizationLister) Get(name string) (*v1.OAuthClientAuthorization, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("oauthclientauthorization"), name) + } + return obj.(*v1.OAuthClientAuthorization), nil +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/clientset.go new file mode 100644 index 000000000..653592e89 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + projectv1 "github.com/openshift/client-go/project/clientset/versioned/typed/project/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + ProjectV1() projectv1.ProjectV1Interface + // Deprecated: please explicitly pick a version if possible. + Project() projectv1.ProjectV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + projectV1 *projectv1.ProjectV1Client +} + +// ProjectV1 retrieves the ProjectV1Client +func (c *Clientset) ProjectV1() projectv1.ProjectV1Interface { + return c.projectV1 +} + +// Deprecated: Project retrieves the default version of ProjectClient. +// Please explicitly pick a version. +func (c *Clientset) Project() projectv1.ProjectV1Interface { + return c.projectV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.projectV1, err = projectv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.projectV1 = projectv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.projectV1 = projectv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..584ccd62a --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/project/clientset/versioned" + projectv1 "github.com/openshift/client-go/project/clientset/versioned/typed/project/v1" + fakeprojectv1 "github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// ProjectV1 retrieves the ProjectV1Client +func (c *Clientset) ProjectV1() projectv1.ProjectV1Interface { + return &fakeprojectv1.FakeProjectV1{Fake: &c.Fake} +} + +// Project retrieves the ProjectV1Client +func (c *Clientset) Project() projectv1.ProjectV1Interface { + return &fakeprojectv1.FakeProjectV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/register.go new file mode 100644 index 000000000..9acfd470e --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + projectv1 "github.com/openshift/api/project/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + projectv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..6356d8fc0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + projectv1 "github.com/openshift/api/project/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + projectv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/doc.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/doc.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project.go new file mode 100644 index 000000000..91de82232 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project.go @@ -0,0 +1,115 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + project_v1 "github.com/openshift/api/project/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeProjects implements ProjectInterface +type FakeProjects struct { + Fake *FakeProjectV1 +} + +var projectsResource = schema.GroupVersionResource{Group: "project.openshift.io", Version: "v1", Resource: "projects"} + +var projectsKind = schema.GroupVersionKind{Group: "project.openshift.io", Version: "v1", Kind: "Project"} + +// Get takes name of the project, and returns the corresponding project object, and an error if there is any. +func (c *FakeProjects) Get(name string, options v1.GetOptions) (result *project_v1.Project, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(projectsResource, name), &project_v1.Project{}) + if obj == nil { + return nil, err + } + return obj.(*project_v1.Project), err +} + +// List takes label and field selectors, and returns the list of Projects that match those selectors. +func (c *FakeProjects) List(opts v1.ListOptions) (result *project_v1.ProjectList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(projectsResource, projectsKind, opts), &project_v1.ProjectList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &project_v1.ProjectList{ListMeta: obj.(*project_v1.ProjectList).ListMeta} + for _, item := range obj.(*project_v1.ProjectList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested projects. +func (c *FakeProjects) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(projectsResource, opts)) +} + +// Create takes the representation of a project and creates it. Returns the server's representation of the project, and an error, if there is any. +func (c *FakeProjects) Create(project *project_v1.Project) (result *project_v1.Project, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(projectsResource, project), &project_v1.Project{}) + if obj == nil { + return nil, err + } + return obj.(*project_v1.Project), err +} + +// Update takes the representation of a project and updates it. Returns the server's representation of the project, and an error, if there is any. +func (c *FakeProjects) Update(project *project_v1.Project) (result *project_v1.Project, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(projectsResource, project), &project_v1.Project{}) + if obj == nil { + return nil, err + } + return obj.(*project_v1.Project), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeProjects) UpdateStatus(project *project_v1.Project) (*project_v1.Project, error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(projectsResource, "status", project), &project_v1.Project{}) + if obj == nil { + return nil, err + } + return obj.(*project_v1.Project), err +} + +// Delete takes name of the project and deletes it. Returns an error if one occurs. +func (c *FakeProjects) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(projectsResource, name), &project_v1.Project{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeProjects) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(projectsResource, listOptions) + + _, err := c.Fake.Invokes(action, &project_v1.ProjectList{}) + return err +} + +// Patch applies the patch and returns the patched project. +func (c *FakeProjects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *project_v1.Project, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(projectsResource, name, data, subresources...), &project_v1.Project{}) + if obj == nil { + return nil, err + } + return obj.(*project_v1.Project), err +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project_client.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project_client.go new file mode 100644 index 000000000..7cec01253 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_project_client.go @@ -0,0 +1,28 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/project/clientset/versioned/typed/project/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeProjectV1 struct { + *testing.Fake +} + +func (c *FakeProjectV1) Projects() v1.ProjectInterface { + return &FakeProjects{c} +} + +func (c *FakeProjectV1) ProjectRequests() v1.ProjectRequestInterface { + return &FakeProjectRequests{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeProjectV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_projectrequest.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_projectrequest.go new file mode 100644 index 000000000..4cacbd86f --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/fake/fake_projectrequest.go @@ -0,0 +1,28 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/project/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeProjectRequests implements ProjectRequestInterface +type FakeProjectRequests struct { + Fake *FakeProjectV1 +} + +var projectrequestsResource = schema.GroupVersionResource{Group: "project.openshift.io", Version: "v1", Resource: "projectrequests"} + +var projectrequestsKind = schema.GroupVersionKind{Group: "project.openshift.io", Version: "v1", Kind: "ProjectRequest"} + +// Create takes the representation of a projectRequest and creates it. Returns the server's representation of the project, and an error, if there is any. +func (c *FakeProjectRequests) Create(projectRequest *v1.ProjectRequest) (result *v1.Project, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(projectrequestsResource, projectRequest), &v1.Project{}) + if obj == nil { + return nil, err + } + return obj.(*v1.Project), err +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/generated_expansion.go new file mode 100644 index 000000000..2eb9fa6bd --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/generated_expansion.go @@ -0,0 +1,7 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type ProjectExpansion interface{} + +type ProjectRequestExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project.go new file mode 100644 index 000000000..5e8f37415 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project.go @@ -0,0 +1,147 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/project/v1" + scheme "github.com/openshift/client-go/project/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ProjectsGetter has a method to return a ProjectInterface. +// A group's client should implement this interface. +type ProjectsGetter interface { + Projects() ProjectInterface +} + +// ProjectInterface has methods to work with Project resources. +type ProjectInterface interface { + Create(*v1.Project) (*v1.Project, error) + Update(*v1.Project) (*v1.Project, error) + UpdateStatus(*v1.Project) (*v1.Project, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Project, error) + List(opts meta_v1.ListOptions) (*v1.ProjectList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Project, err error) + ProjectExpansion +} + +// projects implements ProjectInterface +type projects struct { + client rest.Interface +} + +// newProjects returns a Projects +func newProjects(c *ProjectV1Client) *projects { + return &projects{ + client: c.RESTClient(), + } +} + +// Get takes name of the project, and returns the corresponding project object, and an error if there is any. +func (c *projects) Get(name string, options meta_v1.GetOptions) (result *v1.Project, err error) { + result = &v1.Project{} + err = c.client.Get(). + Resource("projects"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Projects that match those selectors. +func (c *projects) List(opts meta_v1.ListOptions) (result *v1.ProjectList, err error) { + result = &v1.ProjectList{} + err = c.client.Get(). + Resource("projects"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested projects. +func (c *projects) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("projects"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a project and creates it. Returns the server's representation of the project, and an error, if there is any. +func (c *projects) Create(project *v1.Project) (result *v1.Project, err error) { + result = &v1.Project{} + err = c.client.Post(). + Resource("projects"). + Body(project). + Do(). + Into(result) + return +} + +// Update takes the representation of a project and updates it. Returns the server's representation of the project, and an error, if there is any. +func (c *projects) Update(project *v1.Project) (result *v1.Project, err error) { + result = &v1.Project{} + err = c.client.Put(). + Resource("projects"). + Name(project.Name). + Body(project). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *projects) UpdateStatus(project *v1.Project) (result *v1.Project, err error) { + result = &v1.Project{} + err = c.client.Put(). + Resource("projects"). + Name(project.Name). + SubResource("status"). + Body(project). + Do(). + Into(result) + return +} + +// Delete takes name of the project and deletes it. Returns an error if one occurs. +func (c *projects) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("projects"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *projects) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("projects"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched project. +func (c *projects) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Project, err error) { + result = &v1.Project{} + err = c.client.Patch(pt). + Resource("projects"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project_client.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project_client.go new file mode 100644 index 000000000..13bb63c58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/project_client.go @@ -0,0 +1,79 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/project/v1" + "github.com/openshift/client-go/project/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type ProjectV1Interface interface { + RESTClient() rest.Interface + ProjectsGetter + ProjectRequestsGetter +} + +// ProjectV1Client is used to interact with features provided by the project.openshift.io group. +type ProjectV1Client struct { + restClient rest.Interface +} + +func (c *ProjectV1Client) Projects() ProjectInterface { + return newProjects(c) +} + +func (c *ProjectV1Client) ProjectRequests() ProjectRequestInterface { + return newProjectRequests(c) +} + +// NewForConfig creates a new ProjectV1Client for the given config. +func NewForConfig(c *rest.Config) (*ProjectV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &ProjectV1Client{client}, nil +} + +// NewForConfigOrDie creates a new ProjectV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *ProjectV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new ProjectV1Client for the given RESTClient. +func New(c rest.Interface) *ProjectV1Client { + return &ProjectV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *ProjectV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/projectrequest.go b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/projectrequest.go new file mode 100644 index 000000000..c42af1a79 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/clientset/versioned/typed/project/v1/projectrequest.go @@ -0,0 +1,44 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/project/v1" + rest "k8s.io/client-go/rest" +) + +// ProjectRequestsGetter has a method to return a ProjectRequestInterface. +// A group's client should implement this interface. +type ProjectRequestsGetter interface { + ProjectRequests() ProjectRequestInterface +} + +// ProjectRequestInterface has methods to work with ProjectRequest resources. +type ProjectRequestInterface interface { + Create(*v1.ProjectRequest) (*v1.Project, error) + + ProjectRequestExpansion +} + +// projectRequests implements ProjectRequestInterface +type projectRequests struct { + client rest.Interface +} + +// newProjectRequests returns a ProjectRequests +func newProjectRequests(c *ProjectV1Client) *projectRequests { + return &projectRequests{ + client: c.RESTClient(), + } +} + +// Create takes the representation of a projectRequest and creates it. Returns the server's representation of the project, and an error, if there is any. +func (c *projectRequests) Create(projectRequest *v1.ProjectRequest) (result *v1.Project, err error) { + result = &v1.Project{} + err = c.client.Post(). + Resource("projectrequests"). + Body(projectRequest). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/project/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/project/informers/externalversions/factory.go new file mode 100644 index 000000000..8a1597a5f --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/project/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/project/informers/externalversions/internalinterfaces" + project "github.com/openshift/client-go/project/informers/externalversions/project" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Project() project.Interface +} + +func (f *sharedInformerFactory) Project() project.Interface { + return project.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/project/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/project/informers/externalversions/generic.go new file mode 100644 index 000000000..a92d6839c --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/informers/externalversions/generic.go @@ -0,0 +1,46 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/project/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=project.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("projects"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Project().V1().Projects().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/project/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/project/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..64d41389b --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/project/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/project/informers/externalversions/project/interface.go b/vendor/github.com/openshift/client-go/project/informers/externalversions/project/interface.go new file mode 100644 index 000000000..39f641f56 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/informers/externalversions/project/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package project + +import ( + internalinterfaces "github.com/openshift/client-go/project/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/project/informers/externalversions/project/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/interface.go b/vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/interface.go new file mode 100644 index 000000000..1ef39e600 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/interface.go @@ -0,0 +1,29 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/project/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Projects returns a ProjectInformer. + Projects() ProjectInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// Projects returns a ProjectInformer. +func (v *version) Projects() ProjectInformer { + return &projectInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/project.go b/vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/project.go new file mode 100644 index 000000000..6e7470c75 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/informers/externalversions/project/v1/project.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + project_v1 "github.com/openshift/api/project/v1" + versioned "github.com/openshift/client-go/project/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/project/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/project/listers/project/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ProjectInformer provides access to a shared informer and lister for +// Projects. +type ProjectInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ProjectLister +} + +type projectInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewProjectInformer constructs a new informer for Project type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewProjectInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredProjectInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredProjectInformer constructs a new informer for Project type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredProjectInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ProjectV1().Projects().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ProjectV1().Projects().Watch(options) + }, + }, + &project_v1.Project{}, + resyncPeriod, + indexers, + ) +} + +func (f *projectInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredProjectInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *projectInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&project_v1.Project{}, f.defaultInformer) +} + +func (f *projectInformer) Lister() v1.ProjectLister { + return v1.NewProjectLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/project/listers/project/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/project/listers/project/v1/expansion_generated.go new file mode 100644 index 000000000..91d880773 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/listers/project/v1/expansion_generated.go @@ -0,0 +1,7 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// ProjectListerExpansion allows custom methods to be added to +// ProjectLister. +type ProjectListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/project/listers/project/v1/project.go b/vendor/github.com/openshift/client-go/project/listers/project/v1/project.go new file mode 100644 index 000000000..2d1733ad2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/project/listers/project/v1/project.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/project/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ProjectLister helps list Projects. +type ProjectLister interface { + // List lists all Projects in the indexer. + List(selector labels.Selector) (ret []*v1.Project, err error) + // Get retrieves the Project from the index for a given name. + Get(name string) (*v1.Project, error) + ProjectListerExpansion +} + +// projectLister implements the ProjectLister interface. +type projectLister struct { + indexer cache.Indexer +} + +// NewProjectLister returns a new ProjectLister. +func NewProjectLister(indexer cache.Indexer) ProjectLister { + return &projectLister{indexer: indexer} +} + +// List lists all Projects in the indexer. +func (s *projectLister) List(selector labels.Selector) (ret []*v1.Project, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Project)) + }) + return ret, err +} + +// Get retrieves the Project from the index for a given name. +func (s *projectLister) Get(name string) (*v1.Project, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("project"), name) + } + return obj.(*v1.Project), nil +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/clientset.go new file mode 100644 index 000000000..238668797 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + quotav1 "github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + QuotaV1() quotav1.QuotaV1Interface + // Deprecated: please explicitly pick a version if possible. + Quota() quotav1.QuotaV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + quotaV1 *quotav1.QuotaV1Client +} + +// QuotaV1 retrieves the QuotaV1Client +func (c *Clientset) QuotaV1() quotav1.QuotaV1Interface { + return c.quotaV1 +} + +// Deprecated: Quota retrieves the default version of QuotaClient. +// Please explicitly pick a version. +func (c *Clientset) Quota() quotav1.QuotaV1Interface { + return c.quotaV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.quotaV1, err = quotav1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.quotaV1 = quotav1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.quotaV1 = quotav1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..13ec516ec --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/quota/clientset/versioned" + quotav1 "github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1" + fakequotav1 "github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// QuotaV1 retrieves the QuotaV1Client +func (c *Clientset) QuotaV1() quotav1.QuotaV1Interface { + return &fakequotav1.FakeQuotaV1{Fake: &c.Fake} +} + +// Quota retrieves the QuotaV1Client +func (c *Clientset) Quota() quotav1.QuotaV1Interface { + return &fakequotav1.FakeQuotaV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/register.go new file mode 100644 index 000000000..f75ccd064 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + quotav1 "github.com/openshift/api/quota/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + quotav1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..61720d3ba --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + quotav1 "github.com/openshift/api/quota/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + quotav1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/appliedclusterresourcequota.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/appliedclusterresourcequota.go new file mode 100644 index 000000000..517d60903 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/appliedclusterresourcequota.go @@ -0,0 +1,62 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + quota_v1 "github.com/openshift/api/quota/v1" + scheme "github.com/openshift/client-go/quota/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + rest "k8s.io/client-go/rest" +) + +// AppliedClusterResourceQuotasGetter has a method to return a AppliedClusterResourceQuotaInterface. +// A group's client should implement this interface. +type AppliedClusterResourceQuotasGetter interface { + AppliedClusterResourceQuotas(namespace string) AppliedClusterResourceQuotaInterface +} + +// AppliedClusterResourceQuotaInterface has methods to work with AppliedClusterResourceQuota resources. +type AppliedClusterResourceQuotaInterface interface { + Get(name string, options v1.GetOptions) (*quota_v1.AppliedClusterResourceQuota, error) + List(opts v1.ListOptions) (*quota_v1.AppliedClusterResourceQuotaList, error) + AppliedClusterResourceQuotaExpansion +} + +// appliedClusterResourceQuotas implements AppliedClusterResourceQuotaInterface +type appliedClusterResourceQuotas struct { + client rest.Interface + ns string +} + +// newAppliedClusterResourceQuotas returns a AppliedClusterResourceQuotas +func newAppliedClusterResourceQuotas(c *QuotaV1Client, namespace string) *appliedClusterResourceQuotas { + return &appliedClusterResourceQuotas{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the appliedClusterResourceQuota, and returns the corresponding appliedClusterResourceQuota object, and an error if there is any. +func (c *appliedClusterResourceQuotas) Get(name string, options v1.GetOptions) (result *quota_v1.AppliedClusterResourceQuota, err error) { + result = "a_v1.AppliedClusterResourceQuota{} + err = c.client.Get(). + Namespace(c.ns). + Resource("appliedclusterresourcequotas"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of AppliedClusterResourceQuotas that match those selectors. +func (c *appliedClusterResourceQuotas) List(opts v1.ListOptions) (result *quota_v1.AppliedClusterResourceQuotaList, err error) { + result = "a_v1.AppliedClusterResourceQuotaList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("appliedclusterresourcequotas"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/clusterresourcequota.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/clusterresourcequota.go new file mode 100644 index 000000000..be7703e46 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/clusterresourcequota.go @@ -0,0 +1,147 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/quota/v1" + scheme "github.com/openshift/client-go/quota/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ClusterResourceQuotasGetter has a method to return a ClusterResourceQuotaInterface. +// A group's client should implement this interface. +type ClusterResourceQuotasGetter interface { + ClusterResourceQuotas() ClusterResourceQuotaInterface +} + +// ClusterResourceQuotaInterface has methods to work with ClusterResourceQuota resources. +type ClusterResourceQuotaInterface interface { + Create(*v1.ClusterResourceQuota) (*v1.ClusterResourceQuota, error) + Update(*v1.ClusterResourceQuota) (*v1.ClusterResourceQuota, error) + UpdateStatus(*v1.ClusterResourceQuota) (*v1.ClusterResourceQuota, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.ClusterResourceQuota, error) + List(opts meta_v1.ListOptions) (*v1.ClusterResourceQuotaList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterResourceQuota, err error) + ClusterResourceQuotaExpansion +} + +// clusterResourceQuotas implements ClusterResourceQuotaInterface +type clusterResourceQuotas struct { + client rest.Interface +} + +// newClusterResourceQuotas returns a ClusterResourceQuotas +func newClusterResourceQuotas(c *QuotaV1Client) *clusterResourceQuotas { + return &clusterResourceQuotas{ + client: c.RESTClient(), + } +} + +// Get takes name of the clusterResourceQuota, and returns the corresponding clusterResourceQuota object, and an error if there is any. +func (c *clusterResourceQuotas) Get(name string, options meta_v1.GetOptions) (result *v1.ClusterResourceQuota, err error) { + result = &v1.ClusterResourceQuota{} + err = c.client.Get(). + Resource("clusterresourcequotas"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ClusterResourceQuotas that match those selectors. +func (c *clusterResourceQuotas) List(opts meta_v1.ListOptions) (result *v1.ClusterResourceQuotaList, err error) { + result = &v1.ClusterResourceQuotaList{} + err = c.client.Get(). + Resource("clusterresourcequotas"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested clusterResourceQuotas. +func (c *clusterResourceQuotas) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("clusterresourcequotas"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a clusterResourceQuota and creates it. Returns the server's representation of the clusterResourceQuota, and an error, if there is any. +func (c *clusterResourceQuotas) Create(clusterResourceQuota *v1.ClusterResourceQuota) (result *v1.ClusterResourceQuota, err error) { + result = &v1.ClusterResourceQuota{} + err = c.client.Post(). + Resource("clusterresourcequotas"). + Body(clusterResourceQuota). + Do(). + Into(result) + return +} + +// Update takes the representation of a clusterResourceQuota and updates it. Returns the server's representation of the clusterResourceQuota, and an error, if there is any. +func (c *clusterResourceQuotas) Update(clusterResourceQuota *v1.ClusterResourceQuota) (result *v1.ClusterResourceQuota, err error) { + result = &v1.ClusterResourceQuota{} + err = c.client.Put(). + Resource("clusterresourcequotas"). + Name(clusterResourceQuota.Name). + Body(clusterResourceQuota). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *clusterResourceQuotas) UpdateStatus(clusterResourceQuota *v1.ClusterResourceQuota) (result *v1.ClusterResourceQuota, err error) { + result = &v1.ClusterResourceQuota{} + err = c.client.Put(). + Resource("clusterresourcequotas"). + Name(clusterResourceQuota.Name). + SubResource("status"). + Body(clusterResourceQuota). + Do(). + Into(result) + return +} + +// Delete takes name of the clusterResourceQuota and deletes it. Returns an error if one occurs. +func (c *clusterResourceQuotas) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("clusterresourcequotas"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *clusterResourceQuotas) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("clusterresourcequotas"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched clusterResourceQuota. +func (c *clusterResourceQuotas) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterResourceQuota, err error) { + result = &v1.ClusterResourceQuota{} + err = c.client.Patch(pt). + Resource("clusterresourcequotas"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/doc.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/doc.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_appliedclusterresourcequota.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_appliedclusterresourcequota.go new file mode 100644 index 000000000..ce72690cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_appliedclusterresourcequota.go @@ -0,0 +1,54 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + quota_v1 "github.com/openshift/api/quota/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeAppliedClusterResourceQuotas implements AppliedClusterResourceQuotaInterface +type FakeAppliedClusterResourceQuotas struct { + Fake *FakeQuotaV1 + ns string +} + +var appliedclusterresourcequotasResource = schema.GroupVersionResource{Group: "quota.openshift.io", Version: "v1", Resource: "appliedclusterresourcequotas"} + +var appliedclusterresourcequotasKind = schema.GroupVersionKind{Group: "quota.openshift.io", Version: "v1", Kind: "AppliedClusterResourceQuota"} + +// Get takes name of the appliedClusterResourceQuota, and returns the corresponding appliedClusterResourceQuota object, and an error if there is any. +func (c *FakeAppliedClusterResourceQuotas) Get(name string, options v1.GetOptions) (result *quota_v1.AppliedClusterResourceQuota, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(appliedclusterresourcequotasResource, c.ns, name), "a_v1.AppliedClusterResourceQuota{}) + + if obj == nil { + return nil, err + } + return obj.(*quota_v1.AppliedClusterResourceQuota), err +} + +// List takes label and field selectors, and returns the list of AppliedClusterResourceQuotas that match those selectors. +func (c *FakeAppliedClusterResourceQuotas) List(opts v1.ListOptions) (result *quota_v1.AppliedClusterResourceQuotaList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(appliedclusterresourcequotasResource, appliedclusterresourcequotasKind, c.ns, opts), "a_v1.AppliedClusterResourceQuotaList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := "a_v1.AppliedClusterResourceQuotaList{ListMeta: obj.(*quota_v1.AppliedClusterResourceQuotaList).ListMeta} + for _, item := range obj.(*quota_v1.AppliedClusterResourceQuotaList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_clusterresourcequota.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_clusterresourcequota.go new file mode 100644 index 000000000..84f56784e --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_clusterresourcequota.go @@ -0,0 +1,115 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + quota_v1 "github.com/openshift/api/quota/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeClusterResourceQuotas implements ClusterResourceQuotaInterface +type FakeClusterResourceQuotas struct { + Fake *FakeQuotaV1 +} + +var clusterresourcequotasResource = schema.GroupVersionResource{Group: "quota.openshift.io", Version: "v1", Resource: "clusterresourcequotas"} + +var clusterresourcequotasKind = schema.GroupVersionKind{Group: "quota.openshift.io", Version: "v1", Kind: "ClusterResourceQuota"} + +// Get takes name of the clusterResourceQuota, and returns the corresponding clusterResourceQuota object, and an error if there is any. +func (c *FakeClusterResourceQuotas) Get(name string, options v1.GetOptions) (result *quota_v1.ClusterResourceQuota, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(clusterresourcequotasResource, name), "a_v1.ClusterResourceQuota{}) + if obj == nil { + return nil, err + } + return obj.(*quota_v1.ClusterResourceQuota), err +} + +// List takes label and field selectors, and returns the list of ClusterResourceQuotas that match those selectors. +func (c *FakeClusterResourceQuotas) List(opts v1.ListOptions) (result *quota_v1.ClusterResourceQuotaList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(clusterresourcequotasResource, clusterresourcequotasKind, opts), "a_v1.ClusterResourceQuotaList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := "a_v1.ClusterResourceQuotaList{ListMeta: obj.(*quota_v1.ClusterResourceQuotaList).ListMeta} + for _, item := range obj.(*quota_v1.ClusterResourceQuotaList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested clusterResourceQuotas. +func (c *FakeClusterResourceQuotas) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(clusterresourcequotasResource, opts)) +} + +// Create takes the representation of a clusterResourceQuota and creates it. Returns the server's representation of the clusterResourceQuota, and an error, if there is any. +func (c *FakeClusterResourceQuotas) Create(clusterResourceQuota *quota_v1.ClusterResourceQuota) (result *quota_v1.ClusterResourceQuota, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(clusterresourcequotasResource, clusterResourceQuota), "a_v1.ClusterResourceQuota{}) + if obj == nil { + return nil, err + } + return obj.(*quota_v1.ClusterResourceQuota), err +} + +// Update takes the representation of a clusterResourceQuota and updates it. Returns the server's representation of the clusterResourceQuota, and an error, if there is any. +func (c *FakeClusterResourceQuotas) Update(clusterResourceQuota *quota_v1.ClusterResourceQuota) (result *quota_v1.ClusterResourceQuota, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(clusterresourcequotasResource, clusterResourceQuota), "a_v1.ClusterResourceQuota{}) + if obj == nil { + return nil, err + } + return obj.(*quota_v1.ClusterResourceQuota), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeClusterResourceQuotas) UpdateStatus(clusterResourceQuota *quota_v1.ClusterResourceQuota) (*quota_v1.ClusterResourceQuota, error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(clusterresourcequotasResource, "status", clusterResourceQuota), "a_v1.ClusterResourceQuota{}) + if obj == nil { + return nil, err + } + return obj.(*quota_v1.ClusterResourceQuota), err +} + +// Delete takes name of the clusterResourceQuota and deletes it. Returns an error if one occurs. +func (c *FakeClusterResourceQuotas) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(clusterresourcequotasResource, name), "a_v1.ClusterResourceQuota{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeClusterResourceQuotas) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(clusterresourcequotasResource, listOptions) + + _, err := c.Fake.Invokes(action, "a_v1.ClusterResourceQuotaList{}) + return err +} + +// Patch applies the patch and returns the patched clusterResourceQuota. +func (c *FakeClusterResourceQuotas) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *quota_v1.ClusterResourceQuota, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(clusterresourcequotasResource, name, data, subresources...), "a_v1.ClusterResourceQuota{}) + if obj == nil { + return nil, err + } + return obj.(*quota_v1.ClusterResourceQuota), err +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_quota_client.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_quota_client.go new file mode 100644 index 000000000..7cb456bdf --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/fake/fake_quota_client.go @@ -0,0 +1,28 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeQuotaV1 struct { + *testing.Fake +} + +func (c *FakeQuotaV1) AppliedClusterResourceQuotas(namespace string) v1.AppliedClusterResourceQuotaInterface { + return &FakeAppliedClusterResourceQuotas{c, namespace} +} + +func (c *FakeQuotaV1) ClusterResourceQuotas() v1.ClusterResourceQuotaInterface { + return &FakeClusterResourceQuotas{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeQuotaV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/generated_expansion.go new file mode 100644 index 000000000..c79f16776 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/generated_expansion.go @@ -0,0 +1,7 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type AppliedClusterResourceQuotaExpansion interface{} + +type ClusterResourceQuotaExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/quota_client.go b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/quota_client.go new file mode 100644 index 000000000..4e435ab2d --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/clientset/versioned/typed/quota/v1/quota_client.go @@ -0,0 +1,79 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/quota/v1" + "github.com/openshift/client-go/quota/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type QuotaV1Interface interface { + RESTClient() rest.Interface + AppliedClusterResourceQuotasGetter + ClusterResourceQuotasGetter +} + +// QuotaV1Client is used to interact with features provided by the quota.openshift.io group. +type QuotaV1Client struct { + restClient rest.Interface +} + +func (c *QuotaV1Client) AppliedClusterResourceQuotas(namespace string) AppliedClusterResourceQuotaInterface { + return newAppliedClusterResourceQuotas(c, namespace) +} + +func (c *QuotaV1Client) ClusterResourceQuotas() ClusterResourceQuotaInterface { + return newClusterResourceQuotas(c) +} + +// NewForConfig creates a new QuotaV1Client for the given config. +func NewForConfig(c *rest.Config) (*QuotaV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &QuotaV1Client{client}, nil +} + +// NewForConfigOrDie creates a new QuotaV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *QuotaV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new QuotaV1Client for the given RESTClient. +func New(c rest.Interface) *QuotaV1Client { + return &QuotaV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *QuotaV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/quota/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/quota/informers/externalversions/factory.go new file mode 100644 index 000000000..0481c6da7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/quota/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces" + quota "github.com/openshift/client-go/quota/informers/externalversions/quota" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Quota() quota.Interface +} + +func (f *sharedInformerFactory) Quota() quota.Interface { + return quota.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/quota/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/quota/informers/externalversions/generic.go new file mode 100644 index 000000000..d739a07c9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/informers/externalversions/generic.go @@ -0,0 +1,46 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/quota/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=quota.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("clusterresourcequotas"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Quota().V1().ClusterResourceQuotas().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..d57ef9bd6 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/quota/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/interface.go b/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/interface.go new file mode 100644 index 000000000..5df3c8752 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package quota + +import ( + internalinterfaces "github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/quota/informers/externalversions/quota/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/clusterresourcequota.go b/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/clusterresourcequota.go new file mode 100644 index 000000000..3136e378e --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/clusterresourcequota.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + quota_v1 "github.com/openshift/api/quota/v1" + versioned "github.com/openshift/client-go/quota/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/quota/listers/quota/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ClusterResourceQuotaInformer provides access to a shared informer and lister for +// ClusterResourceQuotas. +type ClusterResourceQuotaInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ClusterResourceQuotaLister +} + +type clusterResourceQuotaInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewClusterResourceQuotaInformer constructs a new informer for ClusterResourceQuota type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewClusterResourceQuotaInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredClusterResourceQuotaInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredClusterResourceQuotaInformer constructs a new informer for ClusterResourceQuota type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredClusterResourceQuotaInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.QuotaV1().ClusterResourceQuotas().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.QuotaV1().ClusterResourceQuotas().Watch(options) + }, + }, + "a_v1.ClusterResourceQuota{}, + resyncPeriod, + indexers, + ) +} + +func (f *clusterResourceQuotaInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredClusterResourceQuotaInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *clusterResourceQuotaInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor("a_v1.ClusterResourceQuota{}, f.defaultInformer) +} + +func (f *clusterResourceQuotaInformer) Lister() v1.ClusterResourceQuotaLister { + return v1.NewClusterResourceQuotaLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/interface.go b/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/interface.go new file mode 100644 index 000000000..600eccd51 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/informers/externalversions/quota/v1/interface.go @@ -0,0 +1,29 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/quota/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // ClusterResourceQuotas returns a ClusterResourceQuotaInformer. + ClusterResourceQuotas() ClusterResourceQuotaInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// ClusterResourceQuotas returns a ClusterResourceQuotaInformer. +func (v *version) ClusterResourceQuotas() ClusterResourceQuotaInformer { + return &clusterResourceQuotaInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/quota/listers/quota/v1/appliedclusterresourcequota.go b/vendor/github.com/openshift/client-go/quota/listers/quota/v1/appliedclusterresourcequota.go new file mode 100644 index 000000000..e5b1c92f4 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/listers/quota/v1/appliedclusterresourcequota.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/quota/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// AppliedClusterResourceQuotaLister helps list AppliedClusterResourceQuotas. +type AppliedClusterResourceQuotaLister interface { + // List lists all AppliedClusterResourceQuotas in the indexer. + List(selector labels.Selector) (ret []*v1.AppliedClusterResourceQuota, err error) + // AppliedClusterResourceQuotas returns an object that can list and get AppliedClusterResourceQuotas. + AppliedClusterResourceQuotas(namespace string) AppliedClusterResourceQuotaNamespaceLister + AppliedClusterResourceQuotaListerExpansion +} + +// appliedClusterResourceQuotaLister implements the AppliedClusterResourceQuotaLister interface. +type appliedClusterResourceQuotaLister struct { + indexer cache.Indexer +} + +// NewAppliedClusterResourceQuotaLister returns a new AppliedClusterResourceQuotaLister. +func NewAppliedClusterResourceQuotaLister(indexer cache.Indexer) AppliedClusterResourceQuotaLister { + return &appliedClusterResourceQuotaLister{indexer: indexer} +} + +// List lists all AppliedClusterResourceQuotas in the indexer. +func (s *appliedClusterResourceQuotaLister) List(selector labels.Selector) (ret []*v1.AppliedClusterResourceQuota, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.AppliedClusterResourceQuota)) + }) + return ret, err +} + +// AppliedClusterResourceQuotas returns an object that can list and get AppliedClusterResourceQuotas. +func (s *appliedClusterResourceQuotaLister) AppliedClusterResourceQuotas(namespace string) AppliedClusterResourceQuotaNamespaceLister { + return appliedClusterResourceQuotaNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// AppliedClusterResourceQuotaNamespaceLister helps list and get AppliedClusterResourceQuotas. +type AppliedClusterResourceQuotaNamespaceLister interface { + // List lists all AppliedClusterResourceQuotas in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.AppliedClusterResourceQuota, err error) + // Get retrieves the AppliedClusterResourceQuota from the indexer for a given namespace and name. + Get(name string) (*v1.AppliedClusterResourceQuota, error) + AppliedClusterResourceQuotaNamespaceListerExpansion +} + +// appliedClusterResourceQuotaNamespaceLister implements the AppliedClusterResourceQuotaNamespaceLister +// interface. +type appliedClusterResourceQuotaNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all AppliedClusterResourceQuotas in the indexer for a given namespace. +func (s appliedClusterResourceQuotaNamespaceLister) List(selector labels.Selector) (ret []*v1.AppliedClusterResourceQuota, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.AppliedClusterResourceQuota)) + }) + return ret, err +} + +// Get retrieves the AppliedClusterResourceQuota from the indexer for a given namespace and name. +func (s appliedClusterResourceQuotaNamespaceLister) Get(name string) (*v1.AppliedClusterResourceQuota, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("appliedclusterresourcequota"), name) + } + return obj.(*v1.AppliedClusterResourceQuota), nil +} diff --git a/vendor/github.com/openshift/client-go/quota/listers/quota/v1/clusterresourcequota.go b/vendor/github.com/openshift/client-go/quota/listers/quota/v1/clusterresourcequota.go new file mode 100644 index 000000000..487da1121 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/listers/quota/v1/clusterresourcequota.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/quota/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ClusterResourceQuotaLister helps list ClusterResourceQuotas. +type ClusterResourceQuotaLister interface { + // List lists all ClusterResourceQuotas in the indexer. + List(selector labels.Selector) (ret []*v1.ClusterResourceQuota, err error) + // Get retrieves the ClusterResourceQuota from the index for a given name. + Get(name string) (*v1.ClusterResourceQuota, error) + ClusterResourceQuotaListerExpansion +} + +// clusterResourceQuotaLister implements the ClusterResourceQuotaLister interface. +type clusterResourceQuotaLister struct { + indexer cache.Indexer +} + +// NewClusterResourceQuotaLister returns a new ClusterResourceQuotaLister. +func NewClusterResourceQuotaLister(indexer cache.Indexer) ClusterResourceQuotaLister { + return &clusterResourceQuotaLister{indexer: indexer} +} + +// List lists all ClusterResourceQuotas in the indexer. +func (s *clusterResourceQuotaLister) List(selector labels.Selector) (ret []*v1.ClusterResourceQuota, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.ClusterResourceQuota)) + }) + return ret, err +} + +// Get retrieves the ClusterResourceQuota from the index for a given name. +func (s *clusterResourceQuotaLister) Get(name string) (*v1.ClusterResourceQuota, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("clusterresourcequota"), name) + } + return obj.(*v1.ClusterResourceQuota), nil +} diff --git a/vendor/github.com/openshift/client-go/quota/listers/quota/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/quota/listers/quota/v1/expansion_generated.go new file mode 100644 index 000000000..c9ee1cd57 --- /dev/null +++ b/vendor/github.com/openshift/client-go/quota/listers/quota/v1/expansion_generated.go @@ -0,0 +1,15 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// AppliedClusterResourceQuotaListerExpansion allows custom methods to be added to +// AppliedClusterResourceQuotaLister. +type AppliedClusterResourceQuotaListerExpansion interface{} + +// AppliedClusterResourceQuotaNamespaceListerExpansion allows custom methods to be added to +// AppliedClusterResourceQuotaNamespaceLister. +type AppliedClusterResourceQuotaNamespaceListerExpansion interface{} + +// ClusterResourceQuotaListerExpansion allows custom methods to be added to +// ClusterResourceQuotaLister. +type ClusterResourceQuotaListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/clientset.go new file mode 100644 index 000000000..9fabc4689 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + routev1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + RouteV1() routev1.RouteV1Interface + // Deprecated: please explicitly pick a version if possible. + Route() routev1.RouteV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + routeV1 *routev1.RouteV1Client +} + +// RouteV1 retrieves the RouteV1Client +func (c *Clientset) RouteV1() routev1.RouteV1Interface { + return c.routeV1 +} + +// Deprecated: Route retrieves the default version of RouteClient. +// Please explicitly pick a version. +func (c *Clientset) Route() routev1.RouteV1Interface { + return c.routeV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.routeV1, err = routev1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.routeV1 = routev1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.routeV1 = routev1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..e196aeb99 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/route/clientset/versioned" + routev1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1" + fakeroutev1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// RouteV1 retrieves the RouteV1Client +func (c *Clientset) RouteV1() routev1.RouteV1Interface { + return &fakeroutev1.FakeRouteV1{Fake: &c.Fake} +} + +// Route retrieves the RouteV1Client +func (c *Clientset) Route() routev1.RouteV1Interface { + return &fakeroutev1.FakeRouteV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/register.go new file mode 100644 index 000000000..5d4e36b76 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + routev1 "github.com/openshift/api/route/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + routev1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..e49dd01eb --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + routev1 "github.com/openshift/api/route/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + routev1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/doc.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/doc.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route.go new file mode 100644 index 000000000..189e68d5b --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route.go @@ -0,0 +1,124 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + route_v1 "github.com/openshift/api/route/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeRoutes implements RouteInterface +type FakeRoutes struct { + Fake *FakeRouteV1 + ns string +} + +var routesResource = schema.GroupVersionResource{Group: "route.openshift.io", Version: "v1", Resource: "routes"} + +var routesKind = schema.GroupVersionKind{Group: "route.openshift.io", Version: "v1", Kind: "Route"} + +// Get takes name of the route, and returns the corresponding route object, and an error if there is any. +func (c *FakeRoutes) Get(name string, options v1.GetOptions) (result *route_v1.Route, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(routesResource, c.ns, name), &route_v1.Route{}) + + if obj == nil { + return nil, err + } + return obj.(*route_v1.Route), err +} + +// List takes label and field selectors, and returns the list of Routes that match those selectors. +func (c *FakeRoutes) List(opts v1.ListOptions) (result *route_v1.RouteList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(routesResource, routesKind, c.ns, opts), &route_v1.RouteList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &route_v1.RouteList{ListMeta: obj.(*route_v1.RouteList).ListMeta} + for _, item := range obj.(*route_v1.RouteList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested routes. +func (c *FakeRoutes) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(routesResource, c.ns, opts)) + +} + +// Create takes the representation of a route and creates it. Returns the server's representation of the route, and an error, if there is any. +func (c *FakeRoutes) Create(route *route_v1.Route) (result *route_v1.Route, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(routesResource, c.ns, route), &route_v1.Route{}) + + if obj == nil { + return nil, err + } + return obj.(*route_v1.Route), err +} + +// Update takes the representation of a route and updates it. Returns the server's representation of the route, and an error, if there is any. +func (c *FakeRoutes) Update(route *route_v1.Route) (result *route_v1.Route, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(routesResource, c.ns, route), &route_v1.Route{}) + + if obj == nil { + return nil, err + } + return obj.(*route_v1.Route), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeRoutes) UpdateStatus(route *route_v1.Route) (*route_v1.Route, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(routesResource, "status", c.ns, route), &route_v1.Route{}) + + if obj == nil { + return nil, err + } + return obj.(*route_v1.Route), err +} + +// Delete takes name of the route and deletes it. Returns an error if one occurs. +func (c *FakeRoutes) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(routesResource, c.ns, name), &route_v1.Route{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeRoutes) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(routesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &route_v1.RouteList{}) + return err +} + +// Patch applies the patch and returns the patched route. +func (c *FakeRoutes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *route_v1.Route, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(routesResource, c.ns, name, data, subresources...), &route_v1.Route{}) + + if obj == nil { + return nil, err + } + return obj.(*route_v1.Route), err +} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route_client.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route_client.go new file mode 100644 index 000000000..f94296436 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/fake/fake_route_client.go @@ -0,0 +1,24 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeRouteV1 struct { + *testing.Fake +} + +func (c *FakeRouteV1) Routes(namespace string) v1.RouteInterface { + return &FakeRoutes{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeRouteV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/generated_expansion.go new file mode 100644 index 000000000..4f2173b6f --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/generated_expansion.go @@ -0,0 +1,5 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type RouteExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route.go new file mode 100644 index 000000000..9ce959bad --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route.go @@ -0,0 +1,158 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/route/v1" + scheme "github.com/openshift/client-go/route/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// RoutesGetter has a method to return a RouteInterface. +// A group's client should implement this interface. +type RoutesGetter interface { + Routes(namespace string) RouteInterface +} + +// RouteInterface has methods to work with Route resources. +type RouteInterface interface { + Create(*v1.Route) (*v1.Route, error) + Update(*v1.Route) (*v1.Route, error) + UpdateStatus(*v1.Route) (*v1.Route, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Route, error) + List(opts meta_v1.ListOptions) (*v1.RouteList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Route, err error) + RouteExpansion +} + +// routes implements RouteInterface +type routes struct { + client rest.Interface + ns string +} + +// newRoutes returns a Routes +func newRoutes(c *RouteV1Client, namespace string) *routes { + return &routes{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the route, and returns the corresponding route object, and an error if there is any. +func (c *routes) Get(name string, options meta_v1.GetOptions) (result *v1.Route, err error) { + result = &v1.Route{} + err = c.client.Get(). + Namespace(c.ns). + Resource("routes"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Routes that match those selectors. +func (c *routes) List(opts meta_v1.ListOptions) (result *v1.RouteList, err error) { + result = &v1.RouteList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("routes"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested routes. +func (c *routes) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("routes"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a route and creates it. Returns the server's representation of the route, and an error, if there is any. +func (c *routes) Create(route *v1.Route) (result *v1.Route, err error) { + result = &v1.Route{} + err = c.client.Post(). + Namespace(c.ns). + Resource("routes"). + Body(route). + Do(). + Into(result) + return +} + +// Update takes the representation of a route and updates it. Returns the server's representation of the route, and an error, if there is any. +func (c *routes) Update(route *v1.Route) (result *v1.Route, err error) { + result = &v1.Route{} + err = c.client.Put(). + Namespace(c.ns). + Resource("routes"). + Name(route.Name). + Body(route). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *routes) UpdateStatus(route *v1.Route) (result *v1.Route, err error) { + result = &v1.Route{} + err = c.client.Put(). + Namespace(c.ns). + Resource("routes"). + Name(route.Name). + SubResource("status"). + Body(route). + Do(). + Into(result) + return +} + +// Delete takes name of the route and deletes it. Returns an error if one occurs. +func (c *routes) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("routes"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *routes) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("routes"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched route. +func (c *routes) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Route, err error) { + result = &v1.Route{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("routes"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route_client.go b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route_client.go new file mode 100644 index 000000000..185e5b9a2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/clientset/versioned/typed/route/v1/route_client.go @@ -0,0 +1,74 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/route/v1" + "github.com/openshift/client-go/route/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type RouteV1Interface interface { + RESTClient() rest.Interface + RoutesGetter +} + +// RouteV1Client is used to interact with features provided by the route.openshift.io group. +type RouteV1Client struct { + restClient rest.Interface +} + +func (c *RouteV1Client) Routes(namespace string) RouteInterface { + return newRoutes(c, namespace) +} + +// NewForConfig creates a new RouteV1Client for the given config. +func NewForConfig(c *rest.Config) (*RouteV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &RouteV1Client{client}, nil +} + +// NewForConfigOrDie creates a new RouteV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *RouteV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new RouteV1Client for the given RESTClient. +func New(c rest.Interface) *RouteV1Client { + return &RouteV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *RouteV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/route/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/route/informers/externalversions/factory.go new file mode 100644 index 000000000..cb6b89987 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/route/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/route/informers/externalversions/internalinterfaces" + route "github.com/openshift/client-go/route/informers/externalversions/route" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Route() route.Interface +} + +func (f *sharedInformerFactory) Route() route.Interface { + return route.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/route/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/route/informers/externalversions/generic.go new file mode 100644 index 000000000..e0067144f --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/informers/externalversions/generic.go @@ -0,0 +1,46 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/route/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=route.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("routes"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Route().V1().Routes().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/route/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/route/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..21c5fca4f --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/route/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/route/informers/externalversions/route/interface.go b/vendor/github.com/openshift/client-go/route/informers/externalversions/route/interface.go new file mode 100644 index 000000000..69e1be333 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/informers/externalversions/route/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package route + +import ( + internalinterfaces "github.com/openshift/client-go/route/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/route/informers/externalversions/route/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/interface.go b/vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/interface.go new file mode 100644 index 000000000..63ee15aec --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/interface.go @@ -0,0 +1,29 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/route/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Routes returns a RouteInformer. + Routes() RouteInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// Routes returns a RouteInformer. +func (v *version) Routes() RouteInformer { + return &routeInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/route.go b/vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/route.go new file mode 100644 index 000000000..7a2f9c23f --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/informers/externalversions/route/v1/route.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + route_v1 "github.com/openshift/api/route/v1" + versioned "github.com/openshift/client-go/route/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/route/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/route/listers/route/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// RouteInformer provides access to a shared informer and lister for +// Routes. +type RouteInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.RouteLister +} + +type routeInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewRouteInformer constructs a new informer for Route type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewRouteInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredRouteInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredRouteInformer constructs a new informer for Route type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredRouteInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.RouteV1().Routes(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.RouteV1().Routes(namespace).Watch(options) + }, + }, + &route_v1.Route{}, + resyncPeriod, + indexers, + ) +} + +func (f *routeInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredRouteInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *routeInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&route_v1.Route{}, f.defaultInformer) +} + +func (f *routeInformer) Lister() v1.RouteLister { + return v1.NewRouteLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/route/listers/route/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/route/listers/route/v1/expansion_generated.go new file mode 100644 index 000000000..74feb6380 --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/listers/route/v1/expansion_generated.go @@ -0,0 +1,11 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// RouteListerExpansion allows custom methods to be added to +// RouteLister. +type RouteListerExpansion interface{} + +// RouteNamespaceListerExpansion allows custom methods to be added to +// RouteNamespaceLister. +type RouteNamespaceListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/route/listers/route/v1/route.go b/vendor/github.com/openshift/client-go/route/listers/route/v1/route.go new file mode 100644 index 000000000..421bf770f --- /dev/null +++ b/vendor/github.com/openshift/client-go/route/listers/route/v1/route.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/route/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// RouteLister helps list Routes. +type RouteLister interface { + // List lists all Routes in the indexer. + List(selector labels.Selector) (ret []*v1.Route, err error) + // Routes returns an object that can list and get Routes. + Routes(namespace string) RouteNamespaceLister + RouteListerExpansion +} + +// routeLister implements the RouteLister interface. +type routeLister struct { + indexer cache.Indexer +} + +// NewRouteLister returns a new RouteLister. +func NewRouteLister(indexer cache.Indexer) RouteLister { + return &routeLister{indexer: indexer} +} + +// List lists all Routes in the indexer. +func (s *routeLister) List(selector labels.Selector) (ret []*v1.Route, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Route)) + }) + return ret, err +} + +// Routes returns an object that can list and get Routes. +func (s *routeLister) Routes(namespace string) RouteNamespaceLister { + return routeNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// RouteNamespaceLister helps list and get Routes. +type RouteNamespaceLister interface { + // List lists all Routes in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.Route, err error) + // Get retrieves the Route from the indexer for a given namespace and name. + Get(name string) (*v1.Route, error) + RouteNamespaceListerExpansion +} + +// routeNamespaceLister implements the RouteNamespaceLister +// interface. +type routeNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Routes in the indexer for a given namespace. +func (s routeNamespaceLister) List(selector labels.Selector) (ret []*v1.Route, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Route)) + }) + return ret, err +} + +// Get retrieves the Route from the indexer for a given namespace and name. +func (s routeNamespaceLister) Get(name string) (*v1.Route, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("route"), name) + } + return obj.(*v1.Route), nil +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/clientset.go new file mode 100644 index 000000000..89df8b64a --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + securityv1 "github.com/openshift/client-go/security/clientset/versioned/typed/security/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + SecurityV1() securityv1.SecurityV1Interface + // Deprecated: please explicitly pick a version if possible. + Security() securityv1.SecurityV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + securityV1 *securityv1.SecurityV1Client +} + +// SecurityV1 retrieves the SecurityV1Client +func (c *Clientset) SecurityV1() securityv1.SecurityV1Interface { + return c.securityV1 +} + +// Deprecated: Security retrieves the default version of SecurityClient. +// Please explicitly pick a version. +func (c *Clientset) Security() securityv1.SecurityV1Interface { + return c.securityV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.securityV1, err = securityv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.securityV1 = securityv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.securityV1 = securityv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..c8d6bdb2a --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/security/clientset/versioned" + securityv1 "github.com/openshift/client-go/security/clientset/versioned/typed/security/v1" + fakesecurityv1 "github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// SecurityV1 retrieves the SecurityV1Client +func (c *Clientset) SecurityV1() securityv1.SecurityV1Interface { + return &fakesecurityv1.FakeSecurityV1{Fake: &c.Fake} +} + +// Security retrieves the SecurityV1Client +func (c *Clientset) Security() securityv1.SecurityV1Interface { + return &fakesecurityv1.FakeSecurityV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/register.go new file mode 100644 index 000000000..19683dc76 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + securityv1 "github.com/openshift/api/security/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + securityv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..178b82812 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + securityv1 "github.com/openshift/api/security/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + securityv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/doc.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/doc.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyreview.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyreview.go new file mode 100644 index 000000000..7b1252af9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyreview.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/security/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakePodSecurityPolicyReviews implements PodSecurityPolicyReviewInterface +type FakePodSecurityPolicyReviews struct { + Fake *FakeSecurityV1 + ns string +} + +var podsecuritypolicyreviewsResource = schema.GroupVersionResource{Group: "security.openshift.io", Version: "v1", Resource: "podsecuritypolicyreviews"} + +var podsecuritypolicyreviewsKind = schema.GroupVersionKind{Group: "security.openshift.io", Version: "v1", Kind: "PodSecurityPolicyReview"} + +// Create takes the representation of a podSecurityPolicyReview and creates it. Returns the server's representation of the podSecurityPolicyReview, and an error, if there is any. +func (c *FakePodSecurityPolicyReviews) Create(podSecurityPolicyReview *v1.PodSecurityPolicyReview) (result *v1.PodSecurityPolicyReview, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(podsecuritypolicyreviewsResource, c.ns, podSecurityPolicyReview), &v1.PodSecurityPolicyReview{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.PodSecurityPolicyReview), err +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyselfsubjectreview.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyselfsubjectreview.go new file mode 100644 index 000000000..c45161661 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicyselfsubjectreview.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/security/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakePodSecurityPolicySelfSubjectReviews implements PodSecurityPolicySelfSubjectReviewInterface +type FakePodSecurityPolicySelfSubjectReviews struct { + Fake *FakeSecurityV1 + ns string +} + +var podsecuritypolicyselfsubjectreviewsResource = schema.GroupVersionResource{Group: "security.openshift.io", Version: "v1", Resource: "podsecuritypolicyselfsubjectreviews"} + +var podsecuritypolicyselfsubjectreviewsKind = schema.GroupVersionKind{Group: "security.openshift.io", Version: "v1", Kind: "PodSecurityPolicySelfSubjectReview"} + +// Create takes the representation of a podSecurityPolicySelfSubjectReview and creates it. Returns the server's representation of the podSecurityPolicySelfSubjectReview, and an error, if there is any. +func (c *FakePodSecurityPolicySelfSubjectReviews) Create(podSecurityPolicySelfSubjectReview *v1.PodSecurityPolicySelfSubjectReview) (result *v1.PodSecurityPolicySelfSubjectReview, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(podsecuritypolicyselfsubjectreviewsResource, c.ns, podSecurityPolicySelfSubjectReview), &v1.PodSecurityPolicySelfSubjectReview{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.PodSecurityPolicySelfSubjectReview), err +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicysubjectreview.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicysubjectreview.go new file mode 100644 index 000000000..2e5e60a15 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_podsecuritypolicysubjectreview.go @@ -0,0 +1,30 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/api/security/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakePodSecurityPolicySubjectReviews implements PodSecurityPolicySubjectReviewInterface +type FakePodSecurityPolicySubjectReviews struct { + Fake *FakeSecurityV1 + ns string +} + +var podsecuritypolicysubjectreviewsResource = schema.GroupVersionResource{Group: "security.openshift.io", Version: "v1", Resource: "podsecuritypolicysubjectreviews"} + +var podsecuritypolicysubjectreviewsKind = schema.GroupVersionKind{Group: "security.openshift.io", Version: "v1", Kind: "PodSecurityPolicySubjectReview"} + +// Create takes the representation of a podSecurityPolicySubjectReview and creates it. Returns the server's representation of the podSecurityPolicySubjectReview, and an error, if there is any. +func (c *FakePodSecurityPolicySubjectReviews) Create(podSecurityPolicySubjectReview *v1.PodSecurityPolicySubjectReview) (result *v1.PodSecurityPolicySubjectReview, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(podsecuritypolicysubjectreviewsResource, c.ns, podSecurityPolicySubjectReview), &v1.PodSecurityPolicySubjectReview{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.PodSecurityPolicySubjectReview), err +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_rangeallocation.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_rangeallocation.go new file mode 100644 index 000000000..a37cadb7b --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_rangeallocation.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + security_v1 "github.com/openshift/api/security/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeRangeAllocations implements RangeAllocationInterface +type FakeRangeAllocations struct { + Fake *FakeSecurityV1 +} + +var rangeallocationsResource = schema.GroupVersionResource{Group: "security.openshift.io", Version: "v1", Resource: "rangeallocations"} + +var rangeallocationsKind = schema.GroupVersionKind{Group: "security.openshift.io", Version: "v1", Kind: "RangeAllocation"} + +// Get takes name of the rangeAllocation, and returns the corresponding rangeAllocation object, and an error if there is any. +func (c *FakeRangeAllocations) Get(name string, options v1.GetOptions) (result *security_v1.RangeAllocation, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(rangeallocationsResource, name), &security_v1.RangeAllocation{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.RangeAllocation), err +} + +// List takes label and field selectors, and returns the list of RangeAllocations that match those selectors. +func (c *FakeRangeAllocations) List(opts v1.ListOptions) (result *security_v1.RangeAllocationList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(rangeallocationsResource, rangeallocationsKind, opts), &security_v1.RangeAllocationList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &security_v1.RangeAllocationList{ListMeta: obj.(*security_v1.RangeAllocationList).ListMeta} + for _, item := range obj.(*security_v1.RangeAllocationList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested rangeAllocations. +func (c *FakeRangeAllocations) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(rangeallocationsResource, opts)) +} + +// Create takes the representation of a rangeAllocation and creates it. Returns the server's representation of the rangeAllocation, and an error, if there is any. +func (c *FakeRangeAllocations) Create(rangeAllocation *security_v1.RangeAllocation) (result *security_v1.RangeAllocation, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(rangeallocationsResource, rangeAllocation), &security_v1.RangeAllocation{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.RangeAllocation), err +} + +// Update takes the representation of a rangeAllocation and updates it. Returns the server's representation of the rangeAllocation, and an error, if there is any. +func (c *FakeRangeAllocations) Update(rangeAllocation *security_v1.RangeAllocation) (result *security_v1.RangeAllocation, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(rangeallocationsResource, rangeAllocation), &security_v1.RangeAllocation{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.RangeAllocation), err +} + +// Delete takes name of the rangeAllocation and deletes it. Returns an error if one occurs. +func (c *FakeRangeAllocations) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(rangeallocationsResource, name), &security_v1.RangeAllocation{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeRangeAllocations) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(rangeallocationsResource, listOptions) + + _, err := c.Fake.Invokes(action, &security_v1.RangeAllocationList{}) + return err +} + +// Patch applies the patch and returns the patched rangeAllocation. +func (c *FakeRangeAllocations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *security_v1.RangeAllocation, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(rangeallocationsResource, name, data, subresources...), &security_v1.RangeAllocation{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.RangeAllocation), err +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_security_client.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_security_client.go new file mode 100644 index 000000000..33240c41c --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_security_client.go @@ -0,0 +1,40 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/security/clientset/versioned/typed/security/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeSecurityV1 struct { + *testing.Fake +} + +func (c *FakeSecurityV1) PodSecurityPolicyReviews(namespace string) v1.PodSecurityPolicyReviewInterface { + return &FakePodSecurityPolicyReviews{c, namespace} +} + +func (c *FakeSecurityV1) PodSecurityPolicySelfSubjectReviews(namespace string) v1.PodSecurityPolicySelfSubjectReviewInterface { + return &FakePodSecurityPolicySelfSubjectReviews{c, namespace} +} + +func (c *FakeSecurityV1) PodSecurityPolicySubjectReviews(namespace string) v1.PodSecurityPolicySubjectReviewInterface { + return &FakePodSecurityPolicySubjectReviews{c, namespace} +} + +func (c *FakeSecurityV1) RangeAllocations() v1.RangeAllocationInterface { + return &FakeRangeAllocations{c} +} + +func (c *FakeSecurityV1) SecurityContextConstraints() v1.SecurityContextConstraintsInterface { + return &FakeSecurityContextConstraints{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeSecurityV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_securitycontextconstraints.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_securitycontextconstraints.go new file mode 100644 index 000000000..bfecfe032 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/fake/fake_securitycontextconstraints.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + security_v1 "github.com/openshift/api/security/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeSecurityContextConstraints implements SecurityContextConstraintsInterface +type FakeSecurityContextConstraints struct { + Fake *FakeSecurityV1 +} + +var securitycontextconstraintsResource = schema.GroupVersionResource{Group: "security.openshift.io", Version: "v1", Resource: "securitycontextconstraints"} + +var securitycontextconstraintsKind = schema.GroupVersionKind{Group: "security.openshift.io", Version: "v1", Kind: "SecurityContextConstraints"} + +// Get takes name of the securityContextConstraints, and returns the corresponding securityContextConstraints object, and an error if there is any. +func (c *FakeSecurityContextConstraints) Get(name string, options v1.GetOptions) (result *security_v1.SecurityContextConstraints, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(securitycontextconstraintsResource, name), &security_v1.SecurityContextConstraints{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.SecurityContextConstraints), err +} + +// List takes label and field selectors, and returns the list of SecurityContextConstraints that match those selectors. +func (c *FakeSecurityContextConstraints) List(opts v1.ListOptions) (result *security_v1.SecurityContextConstraintsList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(securitycontextconstraintsResource, securitycontextconstraintsKind, opts), &security_v1.SecurityContextConstraintsList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &security_v1.SecurityContextConstraintsList{ListMeta: obj.(*security_v1.SecurityContextConstraintsList).ListMeta} + for _, item := range obj.(*security_v1.SecurityContextConstraintsList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested securityContextConstraints. +func (c *FakeSecurityContextConstraints) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(securitycontextconstraintsResource, opts)) +} + +// Create takes the representation of a securityContextConstraints and creates it. Returns the server's representation of the securityContextConstraints, and an error, if there is any. +func (c *FakeSecurityContextConstraints) Create(securityContextConstraints *security_v1.SecurityContextConstraints) (result *security_v1.SecurityContextConstraints, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(securitycontextconstraintsResource, securityContextConstraints), &security_v1.SecurityContextConstraints{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.SecurityContextConstraints), err +} + +// Update takes the representation of a securityContextConstraints and updates it. Returns the server's representation of the securityContextConstraints, and an error, if there is any. +func (c *FakeSecurityContextConstraints) Update(securityContextConstraints *security_v1.SecurityContextConstraints) (result *security_v1.SecurityContextConstraints, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(securitycontextconstraintsResource, securityContextConstraints), &security_v1.SecurityContextConstraints{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.SecurityContextConstraints), err +} + +// Delete takes name of the securityContextConstraints and deletes it. Returns an error if one occurs. +func (c *FakeSecurityContextConstraints) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(securitycontextconstraintsResource, name), &security_v1.SecurityContextConstraints{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeSecurityContextConstraints) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(securitycontextconstraintsResource, listOptions) + + _, err := c.Fake.Invokes(action, &security_v1.SecurityContextConstraintsList{}) + return err +} + +// Patch applies the patch and returns the patched securityContextConstraints. +func (c *FakeSecurityContextConstraints) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *security_v1.SecurityContextConstraints, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(securitycontextconstraintsResource, name, data, subresources...), &security_v1.SecurityContextConstraints{}) + if obj == nil { + return nil, err + } + return obj.(*security_v1.SecurityContextConstraints), err +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/generated_expansion.go new file mode 100644 index 000000000..db29417c8 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/generated_expansion.go @@ -0,0 +1,13 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type PodSecurityPolicyReviewExpansion interface{} + +type PodSecurityPolicySelfSubjectReviewExpansion interface{} + +type PodSecurityPolicySubjectReviewExpansion interface{} + +type RangeAllocationExpansion interface{} + +type SecurityContextConstraintsExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyreview.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyreview.go new file mode 100644 index 000000000..cde9e9fb0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyreview.go @@ -0,0 +1,46 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + rest "k8s.io/client-go/rest" +) + +// PodSecurityPolicyReviewsGetter has a method to return a PodSecurityPolicyReviewInterface. +// A group's client should implement this interface. +type PodSecurityPolicyReviewsGetter interface { + PodSecurityPolicyReviews(namespace string) PodSecurityPolicyReviewInterface +} + +// PodSecurityPolicyReviewInterface has methods to work with PodSecurityPolicyReview resources. +type PodSecurityPolicyReviewInterface interface { + Create(*v1.PodSecurityPolicyReview) (*v1.PodSecurityPolicyReview, error) + PodSecurityPolicyReviewExpansion +} + +// podSecurityPolicyReviews implements PodSecurityPolicyReviewInterface +type podSecurityPolicyReviews struct { + client rest.Interface + ns string +} + +// newPodSecurityPolicyReviews returns a PodSecurityPolicyReviews +func newPodSecurityPolicyReviews(c *SecurityV1Client, namespace string) *podSecurityPolicyReviews { + return &podSecurityPolicyReviews{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a podSecurityPolicyReview and creates it. Returns the server's representation of the podSecurityPolicyReview, and an error, if there is any. +func (c *podSecurityPolicyReviews) Create(podSecurityPolicyReview *v1.PodSecurityPolicyReview) (result *v1.PodSecurityPolicyReview, err error) { + result = &v1.PodSecurityPolicyReview{} + err = c.client.Post(). + Namespace(c.ns). + Resource("podsecuritypolicyreviews"). + Body(podSecurityPolicyReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyselfsubjectreview.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyselfsubjectreview.go new file mode 100644 index 000000000..98f9b1dc4 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicyselfsubjectreview.go @@ -0,0 +1,46 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + rest "k8s.io/client-go/rest" +) + +// PodSecurityPolicySelfSubjectReviewsGetter has a method to return a PodSecurityPolicySelfSubjectReviewInterface. +// A group's client should implement this interface. +type PodSecurityPolicySelfSubjectReviewsGetter interface { + PodSecurityPolicySelfSubjectReviews(namespace string) PodSecurityPolicySelfSubjectReviewInterface +} + +// PodSecurityPolicySelfSubjectReviewInterface has methods to work with PodSecurityPolicySelfSubjectReview resources. +type PodSecurityPolicySelfSubjectReviewInterface interface { + Create(*v1.PodSecurityPolicySelfSubjectReview) (*v1.PodSecurityPolicySelfSubjectReview, error) + PodSecurityPolicySelfSubjectReviewExpansion +} + +// podSecurityPolicySelfSubjectReviews implements PodSecurityPolicySelfSubjectReviewInterface +type podSecurityPolicySelfSubjectReviews struct { + client rest.Interface + ns string +} + +// newPodSecurityPolicySelfSubjectReviews returns a PodSecurityPolicySelfSubjectReviews +func newPodSecurityPolicySelfSubjectReviews(c *SecurityV1Client, namespace string) *podSecurityPolicySelfSubjectReviews { + return &podSecurityPolicySelfSubjectReviews{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a podSecurityPolicySelfSubjectReview and creates it. Returns the server's representation of the podSecurityPolicySelfSubjectReview, and an error, if there is any. +func (c *podSecurityPolicySelfSubjectReviews) Create(podSecurityPolicySelfSubjectReview *v1.PodSecurityPolicySelfSubjectReview) (result *v1.PodSecurityPolicySelfSubjectReview, err error) { + result = &v1.PodSecurityPolicySelfSubjectReview{} + err = c.client.Post(). + Namespace(c.ns). + Resource("podsecuritypolicyselfsubjectreviews"). + Body(podSecurityPolicySelfSubjectReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicysubjectreview.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicysubjectreview.go new file mode 100644 index 000000000..2f0e34cf0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/podsecuritypolicysubjectreview.go @@ -0,0 +1,46 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + rest "k8s.io/client-go/rest" +) + +// PodSecurityPolicySubjectReviewsGetter has a method to return a PodSecurityPolicySubjectReviewInterface. +// A group's client should implement this interface. +type PodSecurityPolicySubjectReviewsGetter interface { + PodSecurityPolicySubjectReviews(namespace string) PodSecurityPolicySubjectReviewInterface +} + +// PodSecurityPolicySubjectReviewInterface has methods to work with PodSecurityPolicySubjectReview resources. +type PodSecurityPolicySubjectReviewInterface interface { + Create(*v1.PodSecurityPolicySubjectReview) (*v1.PodSecurityPolicySubjectReview, error) + PodSecurityPolicySubjectReviewExpansion +} + +// podSecurityPolicySubjectReviews implements PodSecurityPolicySubjectReviewInterface +type podSecurityPolicySubjectReviews struct { + client rest.Interface + ns string +} + +// newPodSecurityPolicySubjectReviews returns a PodSecurityPolicySubjectReviews +func newPodSecurityPolicySubjectReviews(c *SecurityV1Client, namespace string) *podSecurityPolicySubjectReviews { + return &podSecurityPolicySubjectReviews{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Create takes the representation of a podSecurityPolicySubjectReview and creates it. Returns the server's representation of the podSecurityPolicySubjectReview, and an error, if there is any. +func (c *podSecurityPolicySubjectReviews) Create(podSecurityPolicySubjectReview *v1.PodSecurityPolicySubjectReview) (result *v1.PodSecurityPolicySubjectReview, err error) { + result = &v1.PodSecurityPolicySubjectReview{} + err = c.client.Post(). + Namespace(c.ns). + Resource("podsecuritypolicysubjectreviews"). + Body(podSecurityPolicySubjectReview). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/rangeallocation.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/rangeallocation.go new file mode 100644 index 000000000..f34407df3 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/rangeallocation.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + scheme "github.com/openshift/client-go/security/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// RangeAllocationsGetter has a method to return a RangeAllocationInterface. +// A group's client should implement this interface. +type RangeAllocationsGetter interface { + RangeAllocations() RangeAllocationInterface +} + +// RangeAllocationInterface has methods to work with RangeAllocation resources. +type RangeAllocationInterface interface { + Create(*v1.RangeAllocation) (*v1.RangeAllocation, error) + Update(*v1.RangeAllocation) (*v1.RangeAllocation, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.RangeAllocation, error) + List(opts meta_v1.ListOptions) (*v1.RangeAllocationList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RangeAllocation, err error) + RangeAllocationExpansion +} + +// rangeAllocations implements RangeAllocationInterface +type rangeAllocations struct { + client rest.Interface +} + +// newRangeAllocations returns a RangeAllocations +func newRangeAllocations(c *SecurityV1Client) *rangeAllocations { + return &rangeAllocations{ + client: c.RESTClient(), + } +} + +// Get takes name of the rangeAllocation, and returns the corresponding rangeAllocation object, and an error if there is any. +func (c *rangeAllocations) Get(name string, options meta_v1.GetOptions) (result *v1.RangeAllocation, err error) { + result = &v1.RangeAllocation{} + err = c.client.Get(). + Resource("rangeallocations"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of RangeAllocations that match those selectors. +func (c *rangeAllocations) List(opts meta_v1.ListOptions) (result *v1.RangeAllocationList, err error) { + result = &v1.RangeAllocationList{} + err = c.client.Get(). + Resource("rangeallocations"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested rangeAllocations. +func (c *rangeAllocations) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("rangeallocations"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a rangeAllocation and creates it. Returns the server's representation of the rangeAllocation, and an error, if there is any. +func (c *rangeAllocations) Create(rangeAllocation *v1.RangeAllocation) (result *v1.RangeAllocation, err error) { + result = &v1.RangeAllocation{} + err = c.client.Post(). + Resource("rangeallocations"). + Body(rangeAllocation). + Do(). + Into(result) + return +} + +// Update takes the representation of a rangeAllocation and updates it. Returns the server's representation of the rangeAllocation, and an error, if there is any. +func (c *rangeAllocations) Update(rangeAllocation *v1.RangeAllocation) (result *v1.RangeAllocation, err error) { + result = &v1.RangeAllocation{} + err = c.client.Put(). + Resource("rangeallocations"). + Name(rangeAllocation.Name). + Body(rangeAllocation). + Do(). + Into(result) + return +} + +// Delete takes name of the rangeAllocation and deletes it. Returns an error if one occurs. +func (c *rangeAllocations) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("rangeallocations"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *rangeAllocations) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("rangeallocations"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched rangeAllocation. +func (c *rangeAllocations) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RangeAllocation, err error) { + result = &v1.RangeAllocation{} + err = c.client.Patch(pt). + Resource("rangeallocations"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/security_client.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/security_client.go new file mode 100644 index 000000000..cf2b294f1 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/security_client.go @@ -0,0 +1,94 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + "github.com/openshift/client-go/security/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type SecurityV1Interface interface { + RESTClient() rest.Interface + PodSecurityPolicyReviewsGetter + PodSecurityPolicySelfSubjectReviewsGetter + PodSecurityPolicySubjectReviewsGetter + RangeAllocationsGetter + SecurityContextConstraintsGetter +} + +// SecurityV1Client is used to interact with features provided by the security.openshift.io group. +type SecurityV1Client struct { + restClient rest.Interface +} + +func (c *SecurityV1Client) PodSecurityPolicyReviews(namespace string) PodSecurityPolicyReviewInterface { + return newPodSecurityPolicyReviews(c, namespace) +} + +func (c *SecurityV1Client) PodSecurityPolicySelfSubjectReviews(namespace string) PodSecurityPolicySelfSubjectReviewInterface { + return newPodSecurityPolicySelfSubjectReviews(c, namespace) +} + +func (c *SecurityV1Client) PodSecurityPolicySubjectReviews(namespace string) PodSecurityPolicySubjectReviewInterface { + return newPodSecurityPolicySubjectReviews(c, namespace) +} + +func (c *SecurityV1Client) RangeAllocations() RangeAllocationInterface { + return newRangeAllocations(c) +} + +func (c *SecurityV1Client) SecurityContextConstraints() SecurityContextConstraintsInterface { + return newSecurityContextConstraints(c) +} + +// NewForConfig creates a new SecurityV1Client for the given config. +func NewForConfig(c *rest.Config) (*SecurityV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &SecurityV1Client{client}, nil +} + +// NewForConfigOrDie creates a new SecurityV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *SecurityV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new SecurityV1Client for the given RESTClient. +func New(c rest.Interface) *SecurityV1Client { + return &SecurityV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *SecurityV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/securitycontextconstraints.go b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/securitycontextconstraints.go new file mode 100644 index 000000000..8f52bfe21 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/clientset/versioned/typed/security/v1/securitycontextconstraints.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + scheme "github.com/openshift/client-go/security/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// SecurityContextConstraintsGetter has a method to return a SecurityContextConstraintsInterface. +// A group's client should implement this interface. +type SecurityContextConstraintsGetter interface { + SecurityContextConstraints() SecurityContextConstraintsInterface +} + +// SecurityContextConstraintsInterface has methods to work with SecurityContextConstraints resources. +type SecurityContextConstraintsInterface interface { + Create(*v1.SecurityContextConstraints) (*v1.SecurityContextConstraints, error) + Update(*v1.SecurityContextConstraints) (*v1.SecurityContextConstraints, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.SecurityContextConstraints, error) + List(opts meta_v1.ListOptions) (*v1.SecurityContextConstraintsList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.SecurityContextConstraints, err error) + SecurityContextConstraintsExpansion +} + +// securityContextConstraints implements SecurityContextConstraintsInterface +type securityContextConstraints struct { + client rest.Interface +} + +// newSecurityContextConstraints returns a SecurityContextConstraints +func newSecurityContextConstraints(c *SecurityV1Client) *securityContextConstraints { + return &securityContextConstraints{ + client: c.RESTClient(), + } +} + +// Get takes name of the securityContextConstraints, and returns the corresponding securityContextConstraints object, and an error if there is any. +func (c *securityContextConstraints) Get(name string, options meta_v1.GetOptions) (result *v1.SecurityContextConstraints, err error) { + result = &v1.SecurityContextConstraints{} + err = c.client.Get(). + Resource("securitycontextconstraints"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of SecurityContextConstraints that match those selectors. +func (c *securityContextConstraints) List(opts meta_v1.ListOptions) (result *v1.SecurityContextConstraintsList, err error) { + result = &v1.SecurityContextConstraintsList{} + err = c.client.Get(). + Resource("securitycontextconstraints"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested securityContextConstraints. +func (c *securityContextConstraints) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("securitycontextconstraints"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a securityContextConstraints and creates it. Returns the server's representation of the securityContextConstraints, and an error, if there is any. +func (c *securityContextConstraints) Create(securityContextConstraints *v1.SecurityContextConstraints) (result *v1.SecurityContextConstraints, err error) { + result = &v1.SecurityContextConstraints{} + err = c.client.Post(). + Resource("securitycontextconstraints"). + Body(securityContextConstraints). + Do(). + Into(result) + return +} + +// Update takes the representation of a securityContextConstraints and updates it. Returns the server's representation of the securityContextConstraints, and an error, if there is any. +func (c *securityContextConstraints) Update(securityContextConstraints *v1.SecurityContextConstraints) (result *v1.SecurityContextConstraints, err error) { + result = &v1.SecurityContextConstraints{} + err = c.client.Put(). + Resource("securitycontextconstraints"). + Name(securityContextConstraints.Name). + Body(securityContextConstraints). + Do(). + Into(result) + return +} + +// Delete takes name of the securityContextConstraints and deletes it. Returns an error if one occurs. +func (c *securityContextConstraints) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("securitycontextconstraints"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *securityContextConstraints) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("securitycontextconstraints"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched securityContextConstraints. +func (c *securityContextConstraints) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.SecurityContextConstraints, err error) { + result = &v1.SecurityContextConstraints{} + err = c.client.Patch(pt). + Resource("securitycontextconstraints"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/security/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/security/informers/externalversions/factory.go new file mode 100644 index 000000000..f9d3cab50 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/security/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/security/informers/externalversions/internalinterfaces" + security "github.com/openshift/client-go/security/informers/externalversions/security" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Security() security.Interface +} + +func (f *sharedInformerFactory) Security() security.Interface { + return security.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/security/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/security/informers/externalversions/generic.go new file mode 100644 index 000000000..6a0d9f170 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/informers/externalversions/generic.go @@ -0,0 +1,48 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/security/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=security.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("rangeallocations"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Security().V1().RangeAllocations().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("securitycontextconstraints"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Security().V1().SecurityContextConstraints().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/security/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/security/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..fd9097a7b --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/security/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/security/informers/externalversions/security/interface.go b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/interface.go new file mode 100644 index 000000000..f83962861 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package security + +import ( + internalinterfaces "github.com/openshift/client-go/security/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/security/informers/externalversions/security/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/interface.go b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/interface.go new file mode 100644 index 000000000..a5e60e5ca --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/interface.go @@ -0,0 +1,36 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/security/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // RangeAllocations returns a RangeAllocationInformer. + RangeAllocations() RangeAllocationInformer + // SecurityContextConstraints returns a SecurityContextConstraintsInformer. + SecurityContextConstraints() SecurityContextConstraintsInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// RangeAllocations returns a RangeAllocationInformer. +func (v *version) RangeAllocations() RangeAllocationInformer { + return &rangeAllocationInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// SecurityContextConstraints returns a SecurityContextConstraintsInformer. +func (v *version) SecurityContextConstraints() SecurityContextConstraintsInformer { + return &securityContextConstraintsInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/rangeallocation.go b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/rangeallocation.go new file mode 100644 index 000000000..5b5734f83 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/rangeallocation.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + security_v1 "github.com/openshift/api/security/v1" + versioned "github.com/openshift/client-go/security/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/security/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/security/listers/security/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// RangeAllocationInformer provides access to a shared informer and lister for +// RangeAllocations. +type RangeAllocationInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.RangeAllocationLister +} + +type rangeAllocationInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewRangeAllocationInformer constructs a new informer for RangeAllocation type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewRangeAllocationInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredRangeAllocationInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredRangeAllocationInformer constructs a new informer for RangeAllocation type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredRangeAllocationInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.SecurityV1().RangeAllocations().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.SecurityV1().RangeAllocations().Watch(options) + }, + }, + &security_v1.RangeAllocation{}, + resyncPeriod, + indexers, + ) +} + +func (f *rangeAllocationInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredRangeAllocationInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *rangeAllocationInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&security_v1.RangeAllocation{}, f.defaultInformer) +} + +func (f *rangeAllocationInformer) Lister() v1.RangeAllocationLister { + return v1.NewRangeAllocationLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/securitycontextconstraints.go b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/securitycontextconstraints.go new file mode 100644 index 000000000..ea75e8157 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/informers/externalversions/security/v1/securitycontextconstraints.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + security_v1 "github.com/openshift/api/security/v1" + versioned "github.com/openshift/client-go/security/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/security/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/security/listers/security/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// SecurityContextConstraintsInformer provides access to a shared informer and lister for +// SecurityContextConstraints. +type SecurityContextConstraintsInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.SecurityContextConstraintsLister +} + +type securityContextConstraintsInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewSecurityContextConstraintsInformer constructs a new informer for SecurityContextConstraints type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewSecurityContextConstraintsInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredSecurityContextConstraintsInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredSecurityContextConstraintsInformer constructs a new informer for SecurityContextConstraints type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredSecurityContextConstraintsInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.SecurityV1().SecurityContextConstraints().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.SecurityV1().SecurityContextConstraints().Watch(options) + }, + }, + &security_v1.SecurityContextConstraints{}, + resyncPeriod, + indexers, + ) +} + +func (f *securityContextConstraintsInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredSecurityContextConstraintsInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *securityContextConstraintsInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&security_v1.SecurityContextConstraints{}, f.defaultInformer) +} + +func (f *securityContextConstraintsInformer) Lister() v1.SecurityContextConstraintsLister { + return v1.NewSecurityContextConstraintsLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/security/listers/security/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/security/listers/security/v1/expansion_generated.go new file mode 100644 index 000000000..fa088f154 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/listers/security/v1/expansion_generated.go @@ -0,0 +1,11 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// RangeAllocationListerExpansion allows custom methods to be added to +// RangeAllocationLister. +type RangeAllocationListerExpansion interface{} + +// SecurityContextConstraintsListerExpansion allows custom methods to be added to +// SecurityContextConstraintsLister. +type SecurityContextConstraintsListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/security/listers/security/v1/rangeallocation.go b/vendor/github.com/openshift/client-go/security/listers/security/v1/rangeallocation.go new file mode 100644 index 000000000..1f6ffcdc2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/listers/security/v1/rangeallocation.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// RangeAllocationLister helps list RangeAllocations. +type RangeAllocationLister interface { + // List lists all RangeAllocations in the indexer. + List(selector labels.Selector) (ret []*v1.RangeAllocation, err error) + // Get retrieves the RangeAllocation from the index for a given name. + Get(name string) (*v1.RangeAllocation, error) + RangeAllocationListerExpansion +} + +// rangeAllocationLister implements the RangeAllocationLister interface. +type rangeAllocationLister struct { + indexer cache.Indexer +} + +// NewRangeAllocationLister returns a new RangeAllocationLister. +func NewRangeAllocationLister(indexer cache.Indexer) RangeAllocationLister { + return &rangeAllocationLister{indexer: indexer} +} + +// List lists all RangeAllocations in the indexer. +func (s *rangeAllocationLister) List(selector labels.Selector) (ret []*v1.RangeAllocation, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.RangeAllocation)) + }) + return ret, err +} + +// Get retrieves the RangeAllocation from the index for a given name. +func (s *rangeAllocationLister) Get(name string) (*v1.RangeAllocation, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("rangeallocation"), name) + } + return obj.(*v1.RangeAllocation), nil +} diff --git a/vendor/github.com/openshift/client-go/security/listers/security/v1/securitycontextconstraints.go b/vendor/github.com/openshift/client-go/security/listers/security/v1/securitycontextconstraints.go new file mode 100644 index 000000000..b6f3131ab --- /dev/null +++ b/vendor/github.com/openshift/client-go/security/listers/security/v1/securitycontextconstraints.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/security/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// SecurityContextConstraintsLister helps list SecurityContextConstraints. +type SecurityContextConstraintsLister interface { + // List lists all SecurityContextConstraints in the indexer. + List(selector labels.Selector) (ret []*v1.SecurityContextConstraints, err error) + // Get retrieves the SecurityContextConstraints from the index for a given name. + Get(name string) (*v1.SecurityContextConstraints, error) + SecurityContextConstraintsListerExpansion +} + +// securityContextConstraintsLister implements the SecurityContextConstraintsLister interface. +type securityContextConstraintsLister struct { + indexer cache.Indexer +} + +// NewSecurityContextConstraintsLister returns a new SecurityContextConstraintsLister. +func NewSecurityContextConstraintsLister(indexer cache.Indexer) SecurityContextConstraintsLister { + return &securityContextConstraintsLister{indexer: indexer} +} + +// List lists all SecurityContextConstraints in the indexer. +func (s *securityContextConstraintsLister) List(selector labels.Selector) (ret []*v1.SecurityContextConstraints, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.SecurityContextConstraints)) + }) + return ret, err +} + +// Get retrieves the SecurityContextConstraints from the index for a given name. +func (s *securityContextConstraintsLister) Get(name string) (*v1.SecurityContextConstraints, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("securitycontextconstraints"), name) + } + return obj.(*v1.SecurityContextConstraints), nil +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/clientset.go new file mode 100644 index 000000000..63fc4456c --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + servicecertsignerv1alpha1 "github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + ServicecertsignerV1alpha1() servicecertsignerv1alpha1.ServicecertsignerV1alpha1Interface + // Deprecated: please explicitly pick a version if possible. + Servicecertsigner() servicecertsignerv1alpha1.ServicecertsignerV1alpha1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + servicecertsignerV1alpha1 *servicecertsignerv1alpha1.ServicecertsignerV1alpha1Client +} + +// ServicecertsignerV1alpha1 retrieves the ServicecertsignerV1alpha1Client +func (c *Clientset) ServicecertsignerV1alpha1() servicecertsignerv1alpha1.ServicecertsignerV1alpha1Interface { + return c.servicecertsignerV1alpha1 +} + +// Deprecated: Servicecertsigner retrieves the default version of ServicecertsignerClient. +// Please explicitly pick a version. +func (c *Clientset) Servicecertsigner() servicecertsignerv1alpha1.ServicecertsignerV1alpha1Interface { + return c.servicecertsignerV1alpha1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.servicecertsignerV1alpha1, err = servicecertsignerv1alpha1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.servicecertsignerV1alpha1 = servicecertsignerv1alpha1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.servicecertsignerV1alpha1 = servicecertsignerv1alpha1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..e2e028361 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/servicecertsigner/clientset/versioned" + servicecertsignerv1alpha1 "github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1" + fakeservicecertsignerv1alpha1 "github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// ServicecertsignerV1alpha1 retrieves the ServicecertsignerV1alpha1Client +func (c *Clientset) ServicecertsignerV1alpha1() servicecertsignerv1alpha1.ServicecertsignerV1alpha1Interface { + return &fakeservicecertsignerv1alpha1.FakeServicecertsignerV1alpha1{Fake: &c.Fake} +} + +// Servicecertsigner retrieves the ServicecertsignerV1alpha1Client +func (c *Clientset) Servicecertsigner() servicecertsignerv1alpha1.ServicecertsignerV1alpha1Interface { + return &fakeservicecertsignerv1alpha1.FakeServicecertsignerV1alpha1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/register.go new file mode 100644 index 000000000..d6bfb65bd --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + servicecertsignerv1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + servicecertsignerv1alpha1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..0b270aa0f --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + servicecertsignerv1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + servicecertsignerv1alpha1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/doc.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/doc.go new file mode 100644 index 000000000..93a7ca4e0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1alpha1 diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/doc.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigner_client.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigner_client.go new file mode 100644 index 000000000..7537340fa --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigner_client.go @@ -0,0 +1,24 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeServicecertsignerV1alpha1 struct { + *testing.Fake +} + +func (c *FakeServicecertsignerV1alpha1) ServiceCertSignerOperatorConfigs() v1alpha1.ServiceCertSignerOperatorConfigInterface { + return &FakeServiceCertSignerOperatorConfigs{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeServicecertsignerV1alpha1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigneroperatorconfig.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigneroperatorconfig.go new file mode 100644 index 000000000..6c1b3080f --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/fake/fake_servicecertsigneroperatorconfig.go @@ -0,0 +1,115 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeServiceCertSignerOperatorConfigs implements ServiceCertSignerOperatorConfigInterface +type FakeServiceCertSignerOperatorConfigs struct { + Fake *FakeServicecertsignerV1alpha1 +} + +var servicecertsigneroperatorconfigsResource = schema.GroupVersionResource{Group: "servicecertsigner.config.openshift.io", Version: "v1alpha1", Resource: "servicecertsigneroperatorconfigs"} + +var servicecertsigneroperatorconfigsKind = schema.GroupVersionKind{Group: "servicecertsigner.config.openshift.io", Version: "v1alpha1", Kind: "ServiceCertSignerOperatorConfig"} + +// Get takes name of the serviceCertSignerOperatorConfig, and returns the corresponding serviceCertSignerOperatorConfig object, and an error if there is any. +func (c *FakeServiceCertSignerOperatorConfigs) Get(name string, options v1.GetOptions) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(servicecertsigneroperatorconfigsResource, name), &v1alpha1.ServiceCertSignerOperatorConfig{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ServiceCertSignerOperatorConfig), err +} + +// List takes label and field selectors, and returns the list of ServiceCertSignerOperatorConfigs that match those selectors. +func (c *FakeServiceCertSignerOperatorConfigs) List(opts v1.ListOptions) (result *v1alpha1.ServiceCertSignerOperatorConfigList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(servicecertsigneroperatorconfigsResource, servicecertsigneroperatorconfigsKind, opts), &v1alpha1.ServiceCertSignerOperatorConfigList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.ServiceCertSignerOperatorConfigList{ListMeta: obj.(*v1alpha1.ServiceCertSignerOperatorConfigList).ListMeta} + for _, item := range obj.(*v1alpha1.ServiceCertSignerOperatorConfigList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested serviceCertSignerOperatorConfigs. +func (c *FakeServiceCertSignerOperatorConfigs) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(servicecertsigneroperatorconfigsResource, opts)) +} + +// Create takes the representation of a serviceCertSignerOperatorConfig and creates it. Returns the server's representation of the serviceCertSignerOperatorConfig, and an error, if there is any. +func (c *FakeServiceCertSignerOperatorConfigs) Create(serviceCertSignerOperatorConfig *v1alpha1.ServiceCertSignerOperatorConfig) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(servicecertsigneroperatorconfigsResource, serviceCertSignerOperatorConfig), &v1alpha1.ServiceCertSignerOperatorConfig{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ServiceCertSignerOperatorConfig), err +} + +// Update takes the representation of a serviceCertSignerOperatorConfig and updates it. Returns the server's representation of the serviceCertSignerOperatorConfig, and an error, if there is any. +func (c *FakeServiceCertSignerOperatorConfigs) Update(serviceCertSignerOperatorConfig *v1alpha1.ServiceCertSignerOperatorConfig) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(servicecertsigneroperatorconfigsResource, serviceCertSignerOperatorConfig), &v1alpha1.ServiceCertSignerOperatorConfig{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ServiceCertSignerOperatorConfig), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeServiceCertSignerOperatorConfigs) UpdateStatus(serviceCertSignerOperatorConfig *v1alpha1.ServiceCertSignerOperatorConfig) (*v1alpha1.ServiceCertSignerOperatorConfig, error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(servicecertsigneroperatorconfigsResource, "status", serviceCertSignerOperatorConfig), &v1alpha1.ServiceCertSignerOperatorConfig{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ServiceCertSignerOperatorConfig), err +} + +// Delete takes name of the serviceCertSignerOperatorConfig and deletes it. Returns an error if one occurs. +func (c *FakeServiceCertSignerOperatorConfigs) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(servicecertsigneroperatorconfigsResource, name), &v1alpha1.ServiceCertSignerOperatorConfig{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeServiceCertSignerOperatorConfigs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(servicecertsigneroperatorconfigsResource, listOptions) + + _, err := c.Fake.Invokes(action, &v1alpha1.ServiceCertSignerOperatorConfigList{}) + return err +} + +// Patch applies the patch and returns the patched serviceCertSignerOperatorConfig. +func (c *FakeServiceCertSignerOperatorConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(servicecertsigneroperatorconfigsResource, name, data, subresources...), &v1alpha1.ServiceCertSignerOperatorConfig{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.ServiceCertSignerOperatorConfig), err +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/generated_expansion.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/generated_expansion.go new file mode 100644 index 000000000..822243f81 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/generated_expansion.go @@ -0,0 +1,5 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +type ServiceCertSignerOperatorConfigExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigner_client.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigner_client.go new file mode 100644 index 000000000..c554cfa90 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigner_client.go @@ -0,0 +1,74 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + "github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type ServicecertsignerV1alpha1Interface interface { + RESTClient() rest.Interface + ServiceCertSignerOperatorConfigsGetter +} + +// ServicecertsignerV1alpha1Client is used to interact with features provided by the servicecertsigner.config.openshift.io group. +type ServicecertsignerV1alpha1Client struct { + restClient rest.Interface +} + +func (c *ServicecertsignerV1alpha1Client) ServiceCertSignerOperatorConfigs() ServiceCertSignerOperatorConfigInterface { + return newServiceCertSignerOperatorConfigs(c) +} + +// NewForConfig creates a new ServicecertsignerV1alpha1Client for the given config. +func NewForConfig(c *rest.Config) (*ServicecertsignerV1alpha1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &ServicecertsignerV1alpha1Client{client}, nil +} + +// NewForConfigOrDie creates a new ServicecertsignerV1alpha1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *ServicecertsignerV1alpha1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new ServicecertsignerV1alpha1Client for the given RESTClient. +func New(c rest.Interface) *ServicecertsignerV1alpha1Client { + return &ServicecertsignerV1alpha1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1alpha1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *ServicecertsignerV1alpha1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go new file mode 100644 index 000000000..30eba3479 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/clientset/versioned/typed/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go @@ -0,0 +1,147 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + scheme "github.com/openshift/client-go/servicecertsigner/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ServiceCertSignerOperatorConfigsGetter has a method to return a ServiceCertSignerOperatorConfigInterface. +// A group's client should implement this interface. +type ServiceCertSignerOperatorConfigsGetter interface { + ServiceCertSignerOperatorConfigs() ServiceCertSignerOperatorConfigInterface +} + +// ServiceCertSignerOperatorConfigInterface has methods to work with ServiceCertSignerOperatorConfig resources. +type ServiceCertSignerOperatorConfigInterface interface { + Create(*v1alpha1.ServiceCertSignerOperatorConfig) (*v1alpha1.ServiceCertSignerOperatorConfig, error) + Update(*v1alpha1.ServiceCertSignerOperatorConfig) (*v1alpha1.ServiceCertSignerOperatorConfig, error) + UpdateStatus(*v1alpha1.ServiceCertSignerOperatorConfig) (*v1alpha1.ServiceCertSignerOperatorConfig, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1alpha1.ServiceCertSignerOperatorConfig, error) + List(opts v1.ListOptions) (*v1alpha1.ServiceCertSignerOperatorConfigList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) + ServiceCertSignerOperatorConfigExpansion +} + +// serviceCertSignerOperatorConfigs implements ServiceCertSignerOperatorConfigInterface +type serviceCertSignerOperatorConfigs struct { + client rest.Interface +} + +// newServiceCertSignerOperatorConfigs returns a ServiceCertSignerOperatorConfigs +func newServiceCertSignerOperatorConfigs(c *ServicecertsignerV1alpha1Client) *serviceCertSignerOperatorConfigs { + return &serviceCertSignerOperatorConfigs{ + client: c.RESTClient(), + } +} + +// Get takes name of the serviceCertSignerOperatorConfig, and returns the corresponding serviceCertSignerOperatorConfig object, and an error if there is any. +func (c *serviceCertSignerOperatorConfigs) Get(name string, options v1.GetOptions) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + result = &v1alpha1.ServiceCertSignerOperatorConfig{} + err = c.client.Get(). + Resource("servicecertsigneroperatorconfigs"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of ServiceCertSignerOperatorConfigs that match those selectors. +func (c *serviceCertSignerOperatorConfigs) List(opts v1.ListOptions) (result *v1alpha1.ServiceCertSignerOperatorConfigList, err error) { + result = &v1alpha1.ServiceCertSignerOperatorConfigList{} + err = c.client.Get(). + Resource("servicecertsigneroperatorconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested serviceCertSignerOperatorConfigs. +func (c *serviceCertSignerOperatorConfigs) Watch(opts v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("servicecertsigneroperatorconfigs"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a serviceCertSignerOperatorConfig and creates it. Returns the server's representation of the serviceCertSignerOperatorConfig, and an error, if there is any. +func (c *serviceCertSignerOperatorConfigs) Create(serviceCertSignerOperatorConfig *v1alpha1.ServiceCertSignerOperatorConfig) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + result = &v1alpha1.ServiceCertSignerOperatorConfig{} + err = c.client.Post(). + Resource("servicecertsigneroperatorconfigs"). + Body(serviceCertSignerOperatorConfig). + Do(). + Into(result) + return +} + +// Update takes the representation of a serviceCertSignerOperatorConfig and updates it. Returns the server's representation of the serviceCertSignerOperatorConfig, and an error, if there is any. +func (c *serviceCertSignerOperatorConfigs) Update(serviceCertSignerOperatorConfig *v1alpha1.ServiceCertSignerOperatorConfig) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + result = &v1alpha1.ServiceCertSignerOperatorConfig{} + err = c.client.Put(). + Resource("servicecertsigneroperatorconfigs"). + Name(serviceCertSignerOperatorConfig.Name). + Body(serviceCertSignerOperatorConfig). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *serviceCertSignerOperatorConfigs) UpdateStatus(serviceCertSignerOperatorConfig *v1alpha1.ServiceCertSignerOperatorConfig) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + result = &v1alpha1.ServiceCertSignerOperatorConfig{} + err = c.client.Put(). + Resource("servicecertsigneroperatorconfigs"). + Name(serviceCertSignerOperatorConfig.Name). + SubResource("status"). + Body(serviceCertSignerOperatorConfig). + Do(). + Into(result) + return +} + +// Delete takes name of the serviceCertSignerOperatorConfig and deletes it. Returns an error if one occurs. +func (c *serviceCertSignerOperatorConfigs) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Resource("servicecertsigneroperatorconfigs"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *serviceCertSignerOperatorConfigs) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + return c.client.Delete(). + Resource("servicecertsigneroperatorconfigs"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched serviceCertSignerOperatorConfig. +func (c *serviceCertSignerOperatorConfigs) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1alpha1.ServiceCertSignerOperatorConfig, err error) { + result = &v1alpha1.ServiceCertSignerOperatorConfig{} + err = c.client.Patch(pt). + Resource("servicecertsigneroperatorconfigs"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/factory.go new file mode 100644 index 000000000..43e66d598 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/servicecertsigner/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces" + servicecertsigner "github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Servicecertsigner() servicecertsigner.Interface +} + +func (f *sharedInformerFactory) Servicecertsigner() servicecertsigner.Interface { + return servicecertsigner.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/generic.go new file mode 100644 index 000000000..d1b19f6a6 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/generic.go @@ -0,0 +1,46 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=servicecertsigner.config.openshift.io, Version=v1alpha1 + case v1alpha1.SchemeGroupVersion.WithResource("servicecertsigneroperatorconfigs"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Servicecertsigner().V1alpha1().ServiceCertSignerOperatorConfigs().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..841f691b1 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/servicecertsigner/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/interface.go b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/interface.go new file mode 100644 index 000000000..6f75d8f9d --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package servicecertsigner + +import ( + internalinterfaces "github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1alpha1 provides access to shared informers for resources in V1alpha1. + V1alpha1() v1alpha1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1alpha1 returns a new v1alpha1.Interface. +func (g *group) V1alpha1() v1alpha1.Interface { + return v1alpha1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/interface.go b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/interface.go new file mode 100644 index 000000000..3d85dee26 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/interface.go @@ -0,0 +1,29 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + internalinterfaces "github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // ServiceCertSignerOperatorConfigs returns a ServiceCertSignerOperatorConfigInformer. + ServiceCertSignerOperatorConfigs() ServiceCertSignerOperatorConfigInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// ServiceCertSignerOperatorConfigs returns a ServiceCertSignerOperatorConfigInformer. +func (v *version) ServiceCertSignerOperatorConfigs() ServiceCertSignerOperatorConfigInformer { + return &serviceCertSignerOperatorConfigInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go new file mode 100644 index 000000000..cb49e4664 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/informers/externalversions/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + time "time" + + servicecertsigner_v1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + versioned "github.com/openshift/client-go/servicecertsigner/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/servicecertsigner/informers/externalversions/internalinterfaces" + v1alpha1 "github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ServiceCertSignerOperatorConfigInformer provides access to a shared informer and lister for +// ServiceCertSignerOperatorConfigs. +type ServiceCertSignerOperatorConfigInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1alpha1.ServiceCertSignerOperatorConfigLister +} + +type serviceCertSignerOperatorConfigInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewServiceCertSignerOperatorConfigInformer constructs a new informer for ServiceCertSignerOperatorConfig type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewServiceCertSignerOperatorConfigInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredServiceCertSignerOperatorConfigInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredServiceCertSignerOperatorConfigInformer constructs a new informer for ServiceCertSignerOperatorConfig type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredServiceCertSignerOperatorConfigInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ServicecertsignerV1alpha1().ServiceCertSignerOperatorConfigs().List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ServicecertsignerV1alpha1().ServiceCertSignerOperatorConfigs().Watch(options) + }, + }, + &servicecertsigner_v1alpha1.ServiceCertSignerOperatorConfig{}, + resyncPeriod, + indexers, + ) +} + +func (f *serviceCertSignerOperatorConfigInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredServiceCertSignerOperatorConfigInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *serviceCertSignerOperatorConfigInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&servicecertsigner_v1alpha1.ServiceCertSignerOperatorConfig{}, f.defaultInformer) +} + +func (f *serviceCertSignerOperatorConfigInformer) Lister() v1alpha1.ServiceCertSignerOperatorConfigLister { + return v1alpha1.NewServiceCertSignerOperatorConfigLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/expansion_generated.go b/vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/expansion_generated.go new file mode 100644 index 000000000..2aead9c10 --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/expansion_generated.go @@ -0,0 +1,7 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +// ServiceCertSignerOperatorConfigListerExpansion allows custom methods to be added to +// ServiceCertSignerOperatorConfigLister. +type ServiceCertSignerOperatorConfigListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go b/vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go new file mode 100644 index 000000000..52b3bf37a --- /dev/null +++ b/vendor/github.com/openshift/client-go/servicecertsigner/listers/servicecertsigner/v1alpha1/servicecertsigneroperatorconfig.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1alpha1 "github.com/openshift/api/servicecertsigner/v1alpha1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ServiceCertSignerOperatorConfigLister helps list ServiceCertSignerOperatorConfigs. +type ServiceCertSignerOperatorConfigLister interface { + // List lists all ServiceCertSignerOperatorConfigs in the indexer. + List(selector labels.Selector) (ret []*v1alpha1.ServiceCertSignerOperatorConfig, err error) + // Get retrieves the ServiceCertSignerOperatorConfig from the index for a given name. + Get(name string) (*v1alpha1.ServiceCertSignerOperatorConfig, error) + ServiceCertSignerOperatorConfigListerExpansion +} + +// serviceCertSignerOperatorConfigLister implements the ServiceCertSignerOperatorConfigLister interface. +type serviceCertSignerOperatorConfigLister struct { + indexer cache.Indexer +} + +// NewServiceCertSignerOperatorConfigLister returns a new ServiceCertSignerOperatorConfigLister. +func NewServiceCertSignerOperatorConfigLister(indexer cache.Indexer) ServiceCertSignerOperatorConfigLister { + return &serviceCertSignerOperatorConfigLister{indexer: indexer} +} + +// List lists all ServiceCertSignerOperatorConfigs in the indexer. +func (s *serviceCertSignerOperatorConfigLister) List(selector labels.Selector) (ret []*v1alpha1.ServiceCertSignerOperatorConfig, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1alpha1.ServiceCertSignerOperatorConfig)) + }) + return ret, err +} + +// Get retrieves the ServiceCertSignerOperatorConfig from the index for a given name. +func (s *serviceCertSignerOperatorConfigLister) Get(name string) (*v1alpha1.ServiceCertSignerOperatorConfig, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1alpha1.Resource("servicecertsigneroperatorconfig"), name) + } + return obj.(*v1alpha1.ServiceCertSignerOperatorConfig), nil +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/clientset.go new file mode 100644 index 000000000..2b4222f13 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + templatev1 "github.com/openshift/client-go/template/clientset/versioned/typed/template/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + TemplateV1() templatev1.TemplateV1Interface + // Deprecated: please explicitly pick a version if possible. + Template() templatev1.TemplateV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + templateV1 *templatev1.TemplateV1Client +} + +// TemplateV1 retrieves the TemplateV1Client +func (c *Clientset) TemplateV1() templatev1.TemplateV1Interface { + return c.templateV1 +} + +// Deprecated: Template retrieves the default version of TemplateClient. +// Please explicitly pick a version. +func (c *Clientset) Template() templatev1.TemplateV1Interface { + return c.templateV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.templateV1, err = templatev1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.templateV1 = templatev1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.templateV1 = templatev1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..9feb63515 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/template/clientset/versioned" + templatev1 "github.com/openshift/client-go/template/clientset/versioned/typed/template/v1" + faketemplatev1 "github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// TemplateV1 retrieves the TemplateV1Client +func (c *Clientset) TemplateV1() templatev1.TemplateV1Interface { + return &faketemplatev1.FakeTemplateV1{Fake: &c.Fake} +} + +// Template retrieves the TemplateV1Client +func (c *Clientset) Template() templatev1.TemplateV1Interface { + return &faketemplatev1.FakeTemplateV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/register.go new file mode 100644 index 000000000..9a872b142 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + templatev1 "github.com/openshift/api/template/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + templatev1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..81597e8e9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + templatev1 "github.com/openshift/api/template/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + templatev1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/brokertemplateinstance.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/brokertemplateinstance.go new file mode 100644 index 000000000..25b88090f --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/brokertemplateinstance.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/template/v1" + scheme "github.com/openshift/client-go/template/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// BrokerTemplateInstancesGetter has a method to return a BrokerTemplateInstanceInterface. +// A group's client should implement this interface. +type BrokerTemplateInstancesGetter interface { + BrokerTemplateInstances() BrokerTemplateInstanceInterface +} + +// BrokerTemplateInstanceInterface has methods to work with BrokerTemplateInstance resources. +type BrokerTemplateInstanceInterface interface { + Create(*v1.BrokerTemplateInstance) (*v1.BrokerTemplateInstance, error) + Update(*v1.BrokerTemplateInstance) (*v1.BrokerTemplateInstance, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.BrokerTemplateInstance, error) + List(opts meta_v1.ListOptions) (*v1.BrokerTemplateInstanceList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.BrokerTemplateInstance, err error) + BrokerTemplateInstanceExpansion +} + +// brokerTemplateInstances implements BrokerTemplateInstanceInterface +type brokerTemplateInstances struct { + client rest.Interface +} + +// newBrokerTemplateInstances returns a BrokerTemplateInstances +func newBrokerTemplateInstances(c *TemplateV1Client) *brokerTemplateInstances { + return &brokerTemplateInstances{ + client: c.RESTClient(), + } +} + +// Get takes name of the brokerTemplateInstance, and returns the corresponding brokerTemplateInstance object, and an error if there is any. +func (c *brokerTemplateInstances) Get(name string, options meta_v1.GetOptions) (result *v1.BrokerTemplateInstance, err error) { + result = &v1.BrokerTemplateInstance{} + err = c.client.Get(). + Resource("brokertemplateinstances"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of BrokerTemplateInstances that match those selectors. +func (c *brokerTemplateInstances) List(opts meta_v1.ListOptions) (result *v1.BrokerTemplateInstanceList, err error) { + result = &v1.BrokerTemplateInstanceList{} + err = c.client.Get(). + Resource("brokertemplateinstances"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested brokerTemplateInstances. +func (c *brokerTemplateInstances) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("brokertemplateinstances"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a brokerTemplateInstance and creates it. Returns the server's representation of the brokerTemplateInstance, and an error, if there is any. +func (c *brokerTemplateInstances) Create(brokerTemplateInstance *v1.BrokerTemplateInstance) (result *v1.BrokerTemplateInstance, err error) { + result = &v1.BrokerTemplateInstance{} + err = c.client.Post(). + Resource("brokertemplateinstances"). + Body(brokerTemplateInstance). + Do(). + Into(result) + return +} + +// Update takes the representation of a brokerTemplateInstance and updates it. Returns the server's representation of the brokerTemplateInstance, and an error, if there is any. +func (c *brokerTemplateInstances) Update(brokerTemplateInstance *v1.BrokerTemplateInstance) (result *v1.BrokerTemplateInstance, err error) { + result = &v1.BrokerTemplateInstance{} + err = c.client.Put(). + Resource("brokertemplateinstances"). + Name(brokerTemplateInstance.Name). + Body(brokerTemplateInstance). + Do(). + Into(result) + return +} + +// Delete takes name of the brokerTemplateInstance and deletes it. Returns an error if one occurs. +func (c *brokerTemplateInstances) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("brokertemplateinstances"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *brokerTemplateInstances) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("brokertemplateinstances"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched brokerTemplateInstance. +func (c *brokerTemplateInstances) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.BrokerTemplateInstance, err error) { + result = &v1.BrokerTemplateInstance{} + err = c.client.Patch(pt). + Resource("brokertemplateinstances"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/doc.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/doc.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_brokertemplateinstance.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_brokertemplateinstance.go new file mode 100644 index 000000000..ab2e716e0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_brokertemplateinstance.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + template_v1 "github.com/openshift/api/template/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeBrokerTemplateInstances implements BrokerTemplateInstanceInterface +type FakeBrokerTemplateInstances struct { + Fake *FakeTemplateV1 +} + +var brokertemplateinstancesResource = schema.GroupVersionResource{Group: "template.openshift.io", Version: "v1", Resource: "brokertemplateinstances"} + +var brokertemplateinstancesKind = schema.GroupVersionKind{Group: "template.openshift.io", Version: "v1", Kind: "BrokerTemplateInstance"} + +// Get takes name of the brokerTemplateInstance, and returns the corresponding brokerTemplateInstance object, and an error if there is any. +func (c *FakeBrokerTemplateInstances) Get(name string, options v1.GetOptions) (result *template_v1.BrokerTemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(brokertemplateinstancesResource, name), &template_v1.BrokerTemplateInstance{}) + if obj == nil { + return nil, err + } + return obj.(*template_v1.BrokerTemplateInstance), err +} + +// List takes label and field selectors, and returns the list of BrokerTemplateInstances that match those selectors. +func (c *FakeBrokerTemplateInstances) List(opts v1.ListOptions) (result *template_v1.BrokerTemplateInstanceList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(brokertemplateinstancesResource, brokertemplateinstancesKind, opts), &template_v1.BrokerTemplateInstanceList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &template_v1.BrokerTemplateInstanceList{ListMeta: obj.(*template_v1.BrokerTemplateInstanceList).ListMeta} + for _, item := range obj.(*template_v1.BrokerTemplateInstanceList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested brokerTemplateInstances. +func (c *FakeBrokerTemplateInstances) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(brokertemplateinstancesResource, opts)) +} + +// Create takes the representation of a brokerTemplateInstance and creates it. Returns the server's representation of the brokerTemplateInstance, and an error, if there is any. +func (c *FakeBrokerTemplateInstances) Create(brokerTemplateInstance *template_v1.BrokerTemplateInstance) (result *template_v1.BrokerTemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(brokertemplateinstancesResource, brokerTemplateInstance), &template_v1.BrokerTemplateInstance{}) + if obj == nil { + return nil, err + } + return obj.(*template_v1.BrokerTemplateInstance), err +} + +// Update takes the representation of a brokerTemplateInstance and updates it. Returns the server's representation of the brokerTemplateInstance, and an error, if there is any. +func (c *FakeBrokerTemplateInstances) Update(brokerTemplateInstance *template_v1.BrokerTemplateInstance) (result *template_v1.BrokerTemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(brokertemplateinstancesResource, brokerTemplateInstance), &template_v1.BrokerTemplateInstance{}) + if obj == nil { + return nil, err + } + return obj.(*template_v1.BrokerTemplateInstance), err +} + +// Delete takes name of the brokerTemplateInstance and deletes it. Returns an error if one occurs. +func (c *FakeBrokerTemplateInstances) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(brokertemplateinstancesResource, name), &template_v1.BrokerTemplateInstance{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeBrokerTemplateInstances) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(brokertemplateinstancesResource, listOptions) + + _, err := c.Fake.Invokes(action, &template_v1.BrokerTemplateInstanceList{}) + return err +} + +// Patch applies the patch and returns the patched brokerTemplateInstance. +func (c *FakeBrokerTemplateInstances) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *template_v1.BrokerTemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(brokertemplateinstancesResource, name, data, subresources...), &template_v1.BrokerTemplateInstance{}) + if obj == nil { + return nil, err + } + return obj.(*template_v1.BrokerTemplateInstance), err +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template.go new file mode 100644 index 000000000..714eab9f2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template.go @@ -0,0 +1,112 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + template_v1 "github.com/openshift/api/template/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeTemplates implements TemplateInterface +type FakeTemplates struct { + Fake *FakeTemplateV1 + ns string +} + +var templatesResource = schema.GroupVersionResource{Group: "template.openshift.io", Version: "v1", Resource: "templates"} + +var templatesKind = schema.GroupVersionKind{Group: "template.openshift.io", Version: "v1", Kind: "Template"} + +// Get takes name of the template, and returns the corresponding template object, and an error if there is any. +func (c *FakeTemplates) Get(name string, options v1.GetOptions) (result *template_v1.Template, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(templatesResource, c.ns, name), &template_v1.Template{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.Template), err +} + +// List takes label and field selectors, and returns the list of Templates that match those selectors. +func (c *FakeTemplates) List(opts v1.ListOptions) (result *template_v1.TemplateList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(templatesResource, templatesKind, c.ns, opts), &template_v1.TemplateList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &template_v1.TemplateList{ListMeta: obj.(*template_v1.TemplateList).ListMeta} + for _, item := range obj.(*template_v1.TemplateList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested templates. +func (c *FakeTemplates) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(templatesResource, c.ns, opts)) + +} + +// Create takes the representation of a template and creates it. Returns the server's representation of the template, and an error, if there is any. +func (c *FakeTemplates) Create(template *template_v1.Template) (result *template_v1.Template, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(templatesResource, c.ns, template), &template_v1.Template{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.Template), err +} + +// Update takes the representation of a template and updates it. Returns the server's representation of the template, and an error, if there is any. +func (c *FakeTemplates) Update(template *template_v1.Template) (result *template_v1.Template, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(templatesResource, c.ns, template), &template_v1.Template{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.Template), err +} + +// Delete takes name of the template and deletes it. Returns an error if one occurs. +func (c *FakeTemplates) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(templatesResource, c.ns, name), &template_v1.Template{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeTemplates) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(templatesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &template_v1.TemplateList{}) + return err +} + +// Patch applies the patch and returns the patched template. +func (c *FakeTemplates) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *template_v1.Template, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(templatesResource, c.ns, name, data, subresources...), &template_v1.Template{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.Template), err +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template_client.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template_client.go new file mode 100644 index 000000000..0cc29a7c2 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_template_client.go @@ -0,0 +1,32 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/template/clientset/versioned/typed/template/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeTemplateV1 struct { + *testing.Fake +} + +func (c *FakeTemplateV1) BrokerTemplateInstances() v1.BrokerTemplateInstanceInterface { + return &FakeBrokerTemplateInstances{c} +} + +func (c *FakeTemplateV1) Templates(namespace string) v1.TemplateInterface { + return &FakeTemplates{c, namespace} +} + +func (c *FakeTemplateV1) TemplateInstances(namespace string) v1.TemplateInstanceInterface { + return &FakeTemplateInstances{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeTemplateV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_templateinstance.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_templateinstance.go new file mode 100644 index 000000000..ffcc79b87 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/fake/fake_templateinstance.go @@ -0,0 +1,124 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + template_v1 "github.com/openshift/api/template/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeTemplateInstances implements TemplateInstanceInterface +type FakeTemplateInstances struct { + Fake *FakeTemplateV1 + ns string +} + +var templateinstancesResource = schema.GroupVersionResource{Group: "template.openshift.io", Version: "v1", Resource: "templateinstances"} + +var templateinstancesKind = schema.GroupVersionKind{Group: "template.openshift.io", Version: "v1", Kind: "TemplateInstance"} + +// Get takes name of the templateInstance, and returns the corresponding templateInstance object, and an error if there is any. +func (c *FakeTemplateInstances) Get(name string, options v1.GetOptions) (result *template_v1.TemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(templateinstancesResource, c.ns, name), &template_v1.TemplateInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.TemplateInstance), err +} + +// List takes label and field selectors, and returns the list of TemplateInstances that match those selectors. +func (c *FakeTemplateInstances) List(opts v1.ListOptions) (result *template_v1.TemplateInstanceList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(templateinstancesResource, templateinstancesKind, c.ns, opts), &template_v1.TemplateInstanceList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &template_v1.TemplateInstanceList{ListMeta: obj.(*template_v1.TemplateInstanceList).ListMeta} + for _, item := range obj.(*template_v1.TemplateInstanceList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested templateInstances. +func (c *FakeTemplateInstances) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(templateinstancesResource, c.ns, opts)) + +} + +// Create takes the representation of a templateInstance and creates it. Returns the server's representation of the templateInstance, and an error, if there is any. +func (c *FakeTemplateInstances) Create(templateInstance *template_v1.TemplateInstance) (result *template_v1.TemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(templateinstancesResource, c.ns, templateInstance), &template_v1.TemplateInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.TemplateInstance), err +} + +// Update takes the representation of a templateInstance and updates it. Returns the server's representation of the templateInstance, and an error, if there is any. +func (c *FakeTemplateInstances) Update(templateInstance *template_v1.TemplateInstance) (result *template_v1.TemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(templateinstancesResource, c.ns, templateInstance), &template_v1.TemplateInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.TemplateInstance), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeTemplateInstances) UpdateStatus(templateInstance *template_v1.TemplateInstance) (*template_v1.TemplateInstance, error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateSubresourceAction(templateinstancesResource, "status", c.ns, templateInstance), &template_v1.TemplateInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.TemplateInstance), err +} + +// Delete takes name of the templateInstance and deletes it. Returns an error if one occurs. +func (c *FakeTemplateInstances) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(templateinstancesResource, c.ns, name), &template_v1.TemplateInstance{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeTemplateInstances) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(templateinstancesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &template_v1.TemplateInstanceList{}) + return err +} + +// Patch applies the patch and returns the patched templateInstance. +func (c *FakeTemplateInstances) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *template_v1.TemplateInstance, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(templateinstancesResource, c.ns, name, data, subresources...), &template_v1.TemplateInstance{}) + + if obj == nil { + return nil, err + } + return obj.(*template_v1.TemplateInstance), err +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/generated_expansion.go new file mode 100644 index 000000000..57f72c353 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/generated_expansion.go @@ -0,0 +1,9 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type BrokerTemplateInstanceExpansion interface{} + +type TemplateExpansion interface{} + +type TemplateInstanceExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template.go new file mode 100644 index 000000000..1a31c18e8 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template.go @@ -0,0 +1,141 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/template/v1" + scheme "github.com/openshift/client-go/template/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// TemplatesGetter has a method to return a TemplateInterface. +// A group's client should implement this interface. +type TemplatesGetter interface { + Templates(namespace string) TemplateInterface +} + +// TemplateInterface has methods to work with Template resources. +type TemplateInterface interface { + Create(*v1.Template) (*v1.Template, error) + Update(*v1.Template) (*v1.Template, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Template, error) + List(opts meta_v1.ListOptions) (*v1.TemplateList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Template, err error) + TemplateExpansion +} + +// templates implements TemplateInterface +type templates struct { + client rest.Interface + ns string +} + +// newTemplates returns a Templates +func newTemplates(c *TemplateV1Client, namespace string) *templates { + return &templates{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the template, and returns the corresponding template object, and an error if there is any. +func (c *templates) Get(name string, options meta_v1.GetOptions) (result *v1.Template, err error) { + result = &v1.Template{} + err = c.client.Get(). + Namespace(c.ns). + Resource("templates"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Templates that match those selectors. +func (c *templates) List(opts meta_v1.ListOptions) (result *v1.TemplateList, err error) { + result = &v1.TemplateList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("templates"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested templates. +func (c *templates) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("templates"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a template and creates it. Returns the server's representation of the template, and an error, if there is any. +func (c *templates) Create(template *v1.Template) (result *v1.Template, err error) { + result = &v1.Template{} + err = c.client.Post(). + Namespace(c.ns). + Resource("templates"). + Body(template). + Do(). + Into(result) + return +} + +// Update takes the representation of a template and updates it. Returns the server's representation of the template, and an error, if there is any. +func (c *templates) Update(template *v1.Template) (result *v1.Template, err error) { + result = &v1.Template{} + err = c.client.Put(). + Namespace(c.ns). + Resource("templates"). + Name(template.Name). + Body(template). + Do(). + Into(result) + return +} + +// Delete takes name of the template and deletes it. Returns an error if one occurs. +func (c *templates) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("templates"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *templates) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("templates"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched template. +func (c *templates) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Template, err error) { + result = &v1.Template{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("templates"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template_client.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template_client.go new file mode 100644 index 000000000..8f4361639 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/template_client.go @@ -0,0 +1,84 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/template/v1" + "github.com/openshift/client-go/template/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type TemplateV1Interface interface { + RESTClient() rest.Interface + BrokerTemplateInstancesGetter + TemplatesGetter + TemplateInstancesGetter +} + +// TemplateV1Client is used to interact with features provided by the template.openshift.io group. +type TemplateV1Client struct { + restClient rest.Interface +} + +func (c *TemplateV1Client) BrokerTemplateInstances() BrokerTemplateInstanceInterface { + return newBrokerTemplateInstances(c) +} + +func (c *TemplateV1Client) Templates(namespace string) TemplateInterface { + return newTemplates(c, namespace) +} + +func (c *TemplateV1Client) TemplateInstances(namespace string) TemplateInstanceInterface { + return newTemplateInstances(c, namespace) +} + +// NewForConfig creates a new TemplateV1Client for the given config. +func NewForConfig(c *rest.Config) (*TemplateV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &TemplateV1Client{client}, nil +} + +// NewForConfigOrDie creates a new TemplateV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *TemplateV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new TemplateV1Client for the given RESTClient. +func New(c rest.Interface) *TemplateV1Client { + return &TemplateV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *TemplateV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/templateinstance.go b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/templateinstance.go new file mode 100644 index 000000000..94766b4e5 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/clientset/versioned/typed/template/v1/templateinstance.go @@ -0,0 +1,158 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/template/v1" + scheme "github.com/openshift/client-go/template/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// TemplateInstancesGetter has a method to return a TemplateInstanceInterface. +// A group's client should implement this interface. +type TemplateInstancesGetter interface { + TemplateInstances(namespace string) TemplateInstanceInterface +} + +// TemplateInstanceInterface has methods to work with TemplateInstance resources. +type TemplateInstanceInterface interface { + Create(*v1.TemplateInstance) (*v1.TemplateInstance, error) + Update(*v1.TemplateInstance) (*v1.TemplateInstance, error) + UpdateStatus(*v1.TemplateInstance) (*v1.TemplateInstance, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.TemplateInstance, error) + List(opts meta_v1.ListOptions) (*v1.TemplateInstanceList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.TemplateInstance, err error) + TemplateInstanceExpansion +} + +// templateInstances implements TemplateInstanceInterface +type templateInstances struct { + client rest.Interface + ns string +} + +// newTemplateInstances returns a TemplateInstances +func newTemplateInstances(c *TemplateV1Client, namespace string) *templateInstances { + return &templateInstances{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the templateInstance, and returns the corresponding templateInstance object, and an error if there is any. +func (c *templateInstances) Get(name string, options meta_v1.GetOptions) (result *v1.TemplateInstance, err error) { + result = &v1.TemplateInstance{} + err = c.client.Get(). + Namespace(c.ns). + Resource("templateinstances"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of TemplateInstances that match those selectors. +func (c *templateInstances) List(opts meta_v1.ListOptions) (result *v1.TemplateInstanceList, err error) { + result = &v1.TemplateInstanceList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("templateinstances"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested templateInstances. +func (c *templateInstances) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("templateinstances"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a templateInstance and creates it. Returns the server's representation of the templateInstance, and an error, if there is any. +func (c *templateInstances) Create(templateInstance *v1.TemplateInstance) (result *v1.TemplateInstance, err error) { + result = &v1.TemplateInstance{} + err = c.client.Post(). + Namespace(c.ns). + Resource("templateinstances"). + Body(templateInstance). + Do(). + Into(result) + return +} + +// Update takes the representation of a templateInstance and updates it. Returns the server's representation of the templateInstance, and an error, if there is any. +func (c *templateInstances) Update(templateInstance *v1.TemplateInstance) (result *v1.TemplateInstance, err error) { + result = &v1.TemplateInstance{} + err = c.client.Put(). + Namespace(c.ns). + Resource("templateinstances"). + Name(templateInstance.Name). + Body(templateInstance). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *templateInstances) UpdateStatus(templateInstance *v1.TemplateInstance) (result *v1.TemplateInstance, err error) { + result = &v1.TemplateInstance{} + err = c.client.Put(). + Namespace(c.ns). + Resource("templateinstances"). + Name(templateInstance.Name). + SubResource("status"). + Body(templateInstance). + Do(). + Into(result) + return +} + +// Delete takes name of the templateInstance and deletes it. Returns an error if one occurs. +func (c *templateInstances) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("templateinstances"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *templateInstances) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("templateinstances"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched templateInstance. +func (c *templateInstances) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.TemplateInstance, err error) { + result = &v1.TemplateInstance{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("templateinstances"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/factory.go new file mode 100644 index 000000000..84fd49694 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/template/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/template/informers/externalversions/internalinterfaces" + template "github.com/openshift/client-go/template/informers/externalversions/template" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Template() template.Interface +} + +func (f *sharedInformerFactory) Template() template.Interface { + return template.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/generic.go new file mode 100644 index 000000000..47ac89753 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/generic.go @@ -0,0 +1,50 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/template/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=template.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("brokertemplateinstances"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Template().V1().BrokerTemplateInstances().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("templates"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Template().V1().Templates().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("templateinstances"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Template().V1().TemplateInstances().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..6501b5f24 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/template/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/template/interface.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/interface.go new file mode 100644 index 000000000..a06ae7418 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package template + +import ( + internalinterfaces "github.com/openshift/client-go/template/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/template/informers/externalversions/template/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/brokertemplateinstance.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/brokertemplateinstance.go new file mode 100644 index 000000000..b4cc1b988 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/brokertemplateinstance.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + template_v1 "github.com/openshift/api/template/v1" + versioned "github.com/openshift/client-go/template/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/template/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/template/listers/template/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// BrokerTemplateInstanceInformer provides access to a shared informer and lister for +// BrokerTemplateInstances. +type BrokerTemplateInstanceInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.BrokerTemplateInstanceLister +} + +type brokerTemplateInstanceInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewBrokerTemplateInstanceInformer constructs a new informer for BrokerTemplateInstance type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewBrokerTemplateInstanceInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredBrokerTemplateInstanceInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredBrokerTemplateInstanceInformer constructs a new informer for BrokerTemplateInstance type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredBrokerTemplateInstanceInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.TemplateV1().BrokerTemplateInstances().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.TemplateV1().BrokerTemplateInstances().Watch(options) + }, + }, + &template_v1.BrokerTemplateInstance{}, + resyncPeriod, + indexers, + ) +} + +func (f *brokerTemplateInstanceInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredBrokerTemplateInstanceInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *brokerTemplateInstanceInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&template_v1.BrokerTemplateInstance{}, f.defaultInformer) +} + +func (f *brokerTemplateInstanceInformer) Lister() v1.BrokerTemplateInstanceLister { + return v1.NewBrokerTemplateInstanceLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/interface.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/interface.go new file mode 100644 index 000000000..19f80d3c9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/interface.go @@ -0,0 +1,43 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/template/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // BrokerTemplateInstances returns a BrokerTemplateInstanceInformer. + BrokerTemplateInstances() BrokerTemplateInstanceInformer + // Templates returns a TemplateInformer. + Templates() TemplateInformer + // TemplateInstances returns a TemplateInstanceInformer. + TemplateInstances() TemplateInstanceInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// BrokerTemplateInstances returns a BrokerTemplateInstanceInformer. +func (v *version) BrokerTemplateInstances() BrokerTemplateInstanceInformer { + return &brokerTemplateInstanceInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// Templates returns a TemplateInformer. +func (v *version) Templates() TemplateInformer { + return &templateInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} + +// TemplateInstances returns a TemplateInstanceInformer. +func (v *version) TemplateInstances() TemplateInstanceInformer { + return &templateInstanceInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/template.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/template.go new file mode 100644 index 000000000..e796276cb --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/template.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + template_v1 "github.com/openshift/api/template/v1" + versioned "github.com/openshift/client-go/template/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/template/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/template/listers/template/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// TemplateInformer provides access to a shared informer and lister for +// Templates. +type TemplateInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.TemplateLister +} + +type templateInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewTemplateInformer constructs a new informer for Template type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTemplateInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredTemplateInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredTemplateInformer constructs a new informer for Template type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredTemplateInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.TemplateV1().Templates(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.TemplateV1().Templates(namespace).Watch(options) + }, + }, + &template_v1.Template{}, + resyncPeriod, + indexers, + ) +} + +func (f *templateInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredTemplateInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *templateInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&template_v1.Template{}, f.defaultInformer) +} + +func (f *templateInformer) Lister() v1.TemplateLister { + return v1.NewTemplateLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/templateinstance.go b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/templateinstance.go new file mode 100644 index 000000000..cbe3925c0 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/informers/externalversions/template/v1/templateinstance.go @@ -0,0 +1,73 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + template_v1 "github.com/openshift/api/template/v1" + versioned "github.com/openshift/client-go/template/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/template/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/template/listers/template/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// TemplateInstanceInformer provides access to a shared informer and lister for +// TemplateInstances. +type TemplateInstanceInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.TemplateInstanceLister +} + +type templateInstanceInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewTemplateInstanceInformer constructs a new informer for TemplateInstance type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewTemplateInstanceInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredTemplateInstanceInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredTemplateInstanceInformer constructs a new informer for TemplateInstance type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredTemplateInstanceInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.TemplateV1().TemplateInstances(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.TemplateV1().TemplateInstances(namespace).Watch(options) + }, + }, + &template_v1.TemplateInstance{}, + resyncPeriod, + indexers, + ) +} + +func (f *templateInstanceInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredTemplateInstanceInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *templateInstanceInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&template_v1.TemplateInstance{}, f.defaultInformer) +} + +func (f *templateInstanceInformer) Lister() v1.TemplateInstanceLister { + return v1.NewTemplateInstanceLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/template/listers/template/v1/brokertemplateinstance.go b/vendor/github.com/openshift/client-go/template/listers/template/v1/brokertemplateinstance.go new file mode 100644 index 000000000..6d0fc7f92 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/listers/template/v1/brokertemplateinstance.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/template/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// BrokerTemplateInstanceLister helps list BrokerTemplateInstances. +type BrokerTemplateInstanceLister interface { + // List lists all BrokerTemplateInstances in the indexer. + List(selector labels.Selector) (ret []*v1.BrokerTemplateInstance, err error) + // Get retrieves the BrokerTemplateInstance from the index for a given name. + Get(name string) (*v1.BrokerTemplateInstance, error) + BrokerTemplateInstanceListerExpansion +} + +// brokerTemplateInstanceLister implements the BrokerTemplateInstanceLister interface. +type brokerTemplateInstanceLister struct { + indexer cache.Indexer +} + +// NewBrokerTemplateInstanceLister returns a new BrokerTemplateInstanceLister. +func NewBrokerTemplateInstanceLister(indexer cache.Indexer) BrokerTemplateInstanceLister { + return &brokerTemplateInstanceLister{indexer: indexer} +} + +// List lists all BrokerTemplateInstances in the indexer. +func (s *brokerTemplateInstanceLister) List(selector labels.Selector) (ret []*v1.BrokerTemplateInstance, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.BrokerTemplateInstance)) + }) + return ret, err +} + +// Get retrieves the BrokerTemplateInstance from the index for a given name. +func (s *brokerTemplateInstanceLister) Get(name string) (*v1.BrokerTemplateInstance, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("brokertemplateinstance"), name) + } + return obj.(*v1.BrokerTemplateInstance), nil +} diff --git a/vendor/github.com/openshift/client-go/template/listers/template/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/template/listers/template/v1/expansion_generated.go new file mode 100644 index 000000000..851f82607 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/listers/template/v1/expansion_generated.go @@ -0,0 +1,15 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// BrokerTemplateInstanceListerExpansion allows custom methods to be added to +// BrokerTemplateInstanceLister. +type BrokerTemplateInstanceListerExpansion interface{} + +// TemplateInstanceListerExpansion allows custom methods to be added to +// TemplateInstanceLister. +type TemplateInstanceListerExpansion interface{} + +// TemplateInstanceNamespaceListerExpansion allows custom methods to be added to +// TemplateInstanceNamespaceLister. +type TemplateInstanceNamespaceListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/template/listers/template/v1/template.go b/vendor/github.com/openshift/client-go/template/listers/template/v1/template.go new file mode 100644 index 000000000..0776f617f --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/listers/template/v1/template.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/template/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// TemplateLister helps list Templates. +type TemplateLister interface { + // List lists all Templates in the indexer. + List(selector labels.Selector) (ret []*v1.Template, err error) + // Templates returns an object that can list and get Templates. + Templates(namespace string) TemplateNamespaceLister + TemplateListerExpansion +} + +// templateLister implements the TemplateLister interface. +type templateLister struct { + indexer cache.Indexer +} + +// NewTemplateLister returns a new TemplateLister. +func NewTemplateLister(indexer cache.Indexer) TemplateLister { + return &templateLister{indexer: indexer} +} + +// List lists all Templates in the indexer. +func (s *templateLister) List(selector labels.Selector) (ret []*v1.Template, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Template)) + }) + return ret, err +} + +// Templates returns an object that can list and get Templates. +func (s *templateLister) Templates(namespace string) TemplateNamespaceLister { + return templateNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// TemplateNamespaceLister helps list and get Templates. +type TemplateNamespaceLister interface { + // List lists all Templates in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.Template, err error) + // Get retrieves the Template from the indexer for a given namespace and name. + Get(name string) (*v1.Template, error) + TemplateNamespaceListerExpansion +} + +// templateNamespaceLister implements the TemplateNamespaceLister +// interface. +type templateNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Templates in the indexer for a given namespace. +func (s templateNamespaceLister) List(selector labels.Selector) (ret []*v1.Template, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Template)) + }) + return ret, err +} + +// Get retrieves the Template from the indexer for a given namespace and name. +func (s templateNamespaceLister) Get(name string) (*v1.Template, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("template"), name) + } + return obj.(*v1.Template), nil +} diff --git a/vendor/github.com/openshift/client-go/template/listers/template/v1/template_expansion.go b/vendor/github.com/openshift/client-go/template/listers/template/v1/template_expansion.go new file mode 100644 index 000000000..3528107a9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/listers/template/v1/template_expansion.go @@ -0,0 +1,29 @@ +package v1 + +import ( + templateapiv1 "github.com/openshift/api/template/v1" + "k8s.io/apimachinery/pkg/api/errors" +) + +const TemplateUIDIndex = "templateuid" + +// TemplateListerExpansion allows custom methods to be added to +// TemplateLister. +type TemplateListerExpansion interface { + GetByUID(uid string) (*templateapiv1.Template, error) +} + +// TemplateNamespaceListerExpansion allows custom methods to be added to +// TemplateNamespaceLister. +type TemplateNamespaceListerExpansion interface{} + +func (s templateLister) GetByUID(uid string) (*templateapiv1.Template, error) { + templates, err := s.indexer.ByIndex(TemplateUIDIndex, uid) + if err != nil { + return nil, err + } + if len(templates) == 0 { + return nil, errors.NewNotFound(templateapiv1.Resource("template"), uid) + } + return templates[0].(*templateapiv1.Template), nil +} diff --git a/vendor/github.com/openshift/client-go/template/listers/template/v1/templateinstance.go b/vendor/github.com/openshift/client-go/template/listers/template/v1/templateinstance.go new file mode 100644 index 000000000..608159d09 --- /dev/null +++ b/vendor/github.com/openshift/client-go/template/listers/template/v1/templateinstance.go @@ -0,0 +1,78 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/template/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// TemplateInstanceLister helps list TemplateInstances. +type TemplateInstanceLister interface { + // List lists all TemplateInstances in the indexer. + List(selector labels.Selector) (ret []*v1.TemplateInstance, err error) + // TemplateInstances returns an object that can list and get TemplateInstances. + TemplateInstances(namespace string) TemplateInstanceNamespaceLister + TemplateInstanceListerExpansion +} + +// templateInstanceLister implements the TemplateInstanceLister interface. +type templateInstanceLister struct { + indexer cache.Indexer +} + +// NewTemplateInstanceLister returns a new TemplateInstanceLister. +func NewTemplateInstanceLister(indexer cache.Indexer) TemplateInstanceLister { + return &templateInstanceLister{indexer: indexer} +} + +// List lists all TemplateInstances in the indexer. +func (s *templateInstanceLister) List(selector labels.Selector) (ret []*v1.TemplateInstance, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.TemplateInstance)) + }) + return ret, err +} + +// TemplateInstances returns an object that can list and get TemplateInstances. +func (s *templateInstanceLister) TemplateInstances(namespace string) TemplateInstanceNamespaceLister { + return templateInstanceNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// TemplateInstanceNamespaceLister helps list and get TemplateInstances. +type TemplateInstanceNamespaceLister interface { + // List lists all TemplateInstances in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.TemplateInstance, err error) + // Get retrieves the TemplateInstance from the indexer for a given namespace and name. + Get(name string) (*v1.TemplateInstance, error) + TemplateInstanceNamespaceListerExpansion +} + +// templateInstanceNamespaceLister implements the TemplateInstanceNamespaceLister +// interface. +type templateInstanceNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all TemplateInstances in the indexer for a given namespace. +func (s templateInstanceNamespaceLister) List(selector labels.Selector) (ret []*v1.TemplateInstance, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.TemplateInstance)) + }) + return ret, err +} + +// Get retrieves the TemplateInstance from the indexer for a given namespace and name. +func (s templateInstanceNamespaceLister) Get(name string) (*v1.TemplateInstance, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("templateinstance"), name) + } + return obj.(*v1.TemplateInstance), nil +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/clientset.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/clientset.go new file mode 100644 index 000000000..bf98afd2b --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/clientset.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + userv1 "github.com/openshift/client-go/user/clientset/versioned/typed/user/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + UserV1() userv1.UserV1Interface + // Deprecated: please explicitly pick a version if possible. + User() userv1.UserV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + userV1 *userv1.UserV1Client +} + +// UserV1 retrieves the UserV1Client +func (c *Clientset) UserV1() userv1.UserV1Interface { + return c.userV1 +} + +// Deprecated: User retrieves the default version of UserClient. +// Please explicitly pick a version. +func (c *Clientset) User() userv1.UserV1Interface { + return c.userV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.userV1, err = userv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.userV1 = userv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.userV1 = userv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/doc.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/doc.go new file mode 100644 index 000000000..0e0c2a890 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/clientset_generated.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..fdfeb9e53 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,66 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "github.com/openshift/client-go/user/clientset/versioned" + userv1 "github.com/openshift/client-go/user/clientset/versioned/typed/user/v1" + fakeuserv1 "github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// UserV1 retrieves the UserV1Client +func (c *Clientset) UserV1() userv1.UserV1Interface { + return &fakeuserv1.FakeUserV1{Fake: &c.Fake} +} + +// User retrieves the UserV1Client +func (c *Clientset) User() userv1.UserV1Interface { + return &fakeuserv1.FakeUserV1{Fake: &c.Fake} +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/doc.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..3630ed1cd --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/register.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/register.go new file mode 100644 index 000000000..f6424b7e7 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/fake/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + userv1 "github.com/openshift/api/user/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + userv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/doc.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..14db57a58 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/register.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..bf0ca1629 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/scheme/register.go @@ -0,0 +1,38 @@ +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + userv1 "github.com/openshift/api/user/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + userv1.AddToScheme(scheme) +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/doc.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/doc.go new file mode 100644 index 000000000..225e6b2be --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/doc.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/doc.go new file mode 100644 index 000000000..2b5ba4c8e --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/doc.go @@ -0,0 +1,4 @@ +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_group.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_group.go new file mode 100644 index 000000000..6442ea038 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_group.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + user_v1 "github.com/openshift/api/user/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeGroups implements GroupInterface +type FakeGroups struct { + Fake *FakeUserV1 +} + +var groupsResource = schema.GroupVersionResource{Group: "user.openshift.io", Version: "v1", Resource: "groups"} + +var groupsKind = schema.GroupVersionKind{Group: "user.openshift.io", Version: "v1", Kind: "Group"} + +// Get takes name of the group, and returns the corresponding group object, and an error if there is any. +func (c *FakeGroups) Get(name string, options v1.GetOptions) (result *user_v1.Group, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(groupsResource, name), &user_v1.Group{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Group), err +} + +// List takes label and field selectors, and returns the list of Groups that match those selectors. +func (c *FakeGroups) List(opts v1.ListOptions) (result *user_v1.GroupList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(groupsResource, groupsKind, opts), &user_v1.GroupList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &user_v1.GroupList{ListMeta: obj.(*user_v1.GroupList).ListMeta} + for _, item := range obj.(*user_v1.GroupList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested groups. +func (c *FakeGroups) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(groupsResource, opts)) +} + +// Create takes the representation of a group and creates it. Returns the server's representation of the group, and an error, if there is any. +func (c *FakeGroups) Create(group *user_v1.Group) (result *user_v1.Group, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(groupsResource, group), &user_v1.Group{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Group), err +} + +// Update takes the representation of a group and updates it. Returns the server's representation of the group, and an error, if there is any. +func (c *FakeGroups) Update(group *user_v1.Group) (result *user_v1.Group, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(groupsResource, group), &user_v1.Group{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Group), err +} + +// Delete takes name of the group and deletes it. Returns an error if one occurs. +func (c *FakeGroups) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(groupsResource, name), &user_v1.Group{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeGroups) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(groupsResource, listOptions) + + _, err := c.Fake.Invokes(action, &user_v1.GroupList{}) + return err +} + +// Patch applies the patch and returns the patched group. +func (c *FakeGroups) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *user_v1.Group, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(groupsResource, name, data, subresources...), &user_v1.Group{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Group), err +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_identity.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_identity.go new file mode 100644 index 000000000..bb6fdcae9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_identity.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + user_v1 "github.com/openshift/api/user/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeIdentities implements IdentityInterface +type FakeIdentities struct { + Fake *FakeUserV1 +} + +var identitiesResource = schema.GroupVersionResource{Group: "user.openshift.io", Version: "v1", Resource: "identities"} + +var identitiesKind = schema.GroupVersionKind{Group: "user.openshift.io", Version: "v1", Kind: "Identity"} + +// Get takes name of the identity, and returns the corresponding identity object, and an error if there is any. +func (c *FakeIdentities) Get(name string, options v1.GetOptions) (result *user_v1.Identity, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(identitiesResource, name), &user_v1.Identity{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Identity), err +} + +// List takes label and field selectors, and returns the list of Identities that match those selectors. +func (c *FakeIdentities) List(opts v1.ListOptions) (result *user_v1.IdentityList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(identitiesResource, identitiesKind, opts), &user_v1.IdentityList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &user_v1.IdentityList{ListMeta: obj.(*user_v1.IdentityList).ListMeta} + for _, item := range obj.(*user_v1.IdentityList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested identities. +func (c *FakeIdentities) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(identitiesResource, opts)) +} + +// Create takes the representation of a identity and creates it. Returns the server's representation of the identity, and an error, if there is any. +func (c *FakeIdentities) Create(identity *user_v1.Identity) (result *user_v1.Identity, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(identitiesResource, identity), &user_v1.Identity{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Identity), err +} + +// Update takes the representation of a identity and updates it. Returns the server's representation of the identity, and an error, if there is any. +func (c *FakeIdentities) Update(identity *user_v1.Identity) (result *user_v1.Identity, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(identitiesResource, identity), &user_v1.Identity{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Identity), err +} + +// Delete takes name of the identity and deletes it. Returns an error if one occurs. +func (c *FakeIdentities) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(identitiesResource, name), &user_v1.Identity{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeIdentities) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(identitiesResource, listOptions) + + _, err := c.Fake.Invokes(action, &user_v1.IdentityList{}) + return err +} + +// Patch applies the patch and returns the patched identity. +func (c *FakeIdentities) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *user_v1.Identity, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(identitiesResource, name, data, subresources...), &user_v1.Identity{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.Identity), err +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user.go new file mode 100644 index 000000000..d9c629634 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user.go @@ -0,0 +1,104 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + user_v1 "github.com/openshift/api/user/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeUsers implements UserInterface +type FakeUsers struct { + Fake *FakeUserV1 +} + +var usersResource = schema.GroupVersionResource{Group: "user.openshift.io", Version: "v1", Resource: "users"} + +var usersKind = schema.GroupVersionKind{Group: "user.openshift.io", Version: "v1", Kind: "User"} + +// Get takes name of the user, and returns the corresponding user object, and an error if there is any. +func (c *FakeUsers) Get(name string, options v1.GetOptions) (result *user_v1.User, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(usersResource, name), &user_v1.User{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.User), err +} + +// List takes label and field selectors, and returns the list of Users that match those selectors. +func (c *FakeUsers) List(opts v1.ListOptions) (result *user_v1.UserList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(usersResource, usersKind, opts), &user_v1.UserList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &user_v1.UserList{ListMeta: obj.(*user_v1.UserList).ListMeta} + for _, item := range obj.(*user_v1.UserList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested users. +func (c *FakeUsers) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(usersResource, opts)) +} + +// Create takes the representation of a user and creates it. Returns the server's representation of the user, and an error, if there is any. +func (c *FakeUsers) Create(user *user_v1.User) (result *user_v1.User, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(usersResource, user), &user_v1.User{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.User), err +} + +// Update takes the representation of a user and updates it. Returns the server's representation of the user, and an error, if there is any. +func (c *FakeUsers) Update(user *user_v1.User) (result *user_v1.User, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(usersResource, user), &user_v1.User{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.User), err +} + +// Delete takes name of the user and deletes it. Returns an error if one occurs. +func (c *FakeUsers) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(usersResource, name), &user_v1.User{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeUsers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(usersResource, listOptions) + + _, err := c.Fake.Invokes(action, &user_v1.UserList{}) + return err +} + +// Patch applies the patch and returns the patched user. +func (c *FakeUsers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *user_v1.User, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(usersResource, name, data, subresources...), &user_v1.User{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.User), err +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user_client.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user_client.go new file mode 100644 index 000000000..bd16882dc --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_user_client.go @@ -0,0 +1,36 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "github.com/openshift/client-go/user/clientset/versioned/typed/user/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeUserV1 struct { + *testing.Fake +} + +func (c *FakeUserV1) Groups() v1.GroupInterface { + return &FakeGroups{c} +} + +func (c *FakeUserV1) Identities() v1.IdentityInterface { + return &FakeIdentities{c} +} + +func (c *FakeUserV1) Users() v1.UserInterface { + return &FakeUsers{c} +} + +func (c *FakeUserV1) UserIdentityMappings() v1.UserIdentityMappingInterface { + return &FakeUserIdentityMappings{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeUserV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_useridentitymapping.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_useridentitymapping.go new file mode 100644 index 000000000..dfeb9bd90 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/fake/fake_useridentitymapping.go @@ -0,0 +1,56 @@ +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + user_v1 "github.com/openshift/api/user/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + testing "k8s.io/client-go/testing" +) + +// FakeUserIdentityMappings implements UserIdentityMappingInterface +type FakeUserIdentityMappings struct { + Fake *FakeUserV1 +} + +var useridentitymappingsResource = schema.GroupVersionResource{Group: "user.openshift.io", Version: "v1", Resource: "useridentitymappings"} + +var useridentitymappingsKind = schema.GroupVersionKind{Group: "user.openshift.io", Version: "v1", Kind: "UserIdentityMapping"} + +// Get takes name of the userIdentityMapping, and returns the corresponding userIdentityMapping object, and an error if there is any. +func (c *FakeUserIdentityMappings) Get(name string, options v1.GetOptions) (result *user_v1.UserIdentityMapping, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(useridentitymappingsResource, name), &user_v1.UserIdentityMapping{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.UserIdentityMapping), err +} + +// Create takes the representation of a userIdentityMapping and creates it. Returns the server's representation of the userIdentityMapping, and an error, if there is any. +func (c *FakeUserIdentityMappings) Create(userIdentityMapping *user_v1.UserIdentityMapping) (result *user_v1.UserIdentityMapping, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(useridentitymappingsResource, userIdentityMapping), &user_v1.UserIdentityMapping{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.UserIdentityMapping), err +} + +// Update takes the representation of a userIdentityMapping and updates it. Returns the server's representation of the userIdentityMapping, and an error, if there is any. +func (c *FakeUserIdentityMappings) Update(userIdentityMapping *user_v1.UserIdentityMapping) (result *user_v1.UserIdentityMapping, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(useridentitymappingsResource, userIdentityMapping), &user_v1.UserIdentityMapping{}) + if obj == nil { + return nil, err + } + return obj.(*user_v1.UserIdentityMapping), err +} + +// Delete takes name of the userIdentityMapping and deletes it. Returns an error if one occurs. +func (c *FakeUserIdentityMappings) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(useridentitymappingsResource, name), &user_v1.UserIdentityMapping{}) + return err +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/generated_expansion.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/generated_expansion.go new file mode 100644 index 000000000..11d78bf5b --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/generated_expansion.go @@ -0,0 +1,11 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type GroupExpansion interface{} + +type IdentityExpansion interface{} + +type UserExpansion interface{} + +type UserIdentityMappingExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/group.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/group.go new file mode 100644 index 000000000..2c2d23249 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/group.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + scheme "github.com/openshift/client-go/user/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// GroupsGetter has a method to return a GroupInterface. +// A group's client should implement this interface. +type GroupsGetter interface { + Groups() GroupInterface +} + +// GroupInterface has methods to work with Group resources. +type GroupInterface interface { + Create(*v1.Group) (*v1.Group, error) + Update(*v1.Group) (*v1.Group, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Group, error) + List(opts meta_v1.ListOptions) (*v1.GroupList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Group, err error) + GroupExpansion +} + +// groups implements GroupInterface +type groups struct { + client rest.Interface +} + +// newGroups returns a Groups +func newGroups(c *UserV1Client) *groups { + return &groups{ + client: c.RESTClient(), + } +} + +// Get takes name of the group, and returns the corresponding group object, and an error if there is any. +func (c *groups) Get(name string, options meta_v1.GetOptions) (result *v1.Group, err error) { + result = &v1.Group{} + err = c.client.Get(). + Resource("groups"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Groups that match those selectors. +func (c *groups) List(opts meta_v1.ListOptions) (result *v1.GroupList, err error) { + result = &v1.GroupList{} + err = c.client.Get(). + Resource("groups"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested groups. +func (c *groups) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("groups"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a group and creates it. Returns the server's representation of the group, and an error, if there is any. +func (c *groups) Create(group *v1.Group) (result *v1.Group, err error) { + result = &v1.Group{} + err = c.client.Post(). + Resource("groups"). + Body(group). + Do(). + Into(result) + return +} + +// Update takes the representation of a group and updates it. Returns the server's representation of the group, and an error, if there is any. +func (c *groups) Update(group *v1.Group) (result *v1.Group, err error) { + result = &v1.Group{} + err = c.client.Put(). + Resource("groups"). + Name(group.Name). + Body(group). + Do(). + Into(result) + return +} + +// Delete takes name of the group and deletes it. Returns an error if one occurs. +func (c *groups) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("groups"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *groups) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("groups"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched group. +func (c *groups) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Group, err error) { + result = &v1.Group{} + err = c.client.Patch(pt). + Resource("groups"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/identity.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/identity.go new file mode 100644 index 000000000..ba73fab5f --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/identity.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + scheme "github.com/openshift/client-go/user/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// IdentitiesGetter has a method to return a IdentityInterface. +// A group's client should implement this interface. +type IdentitiesGetter interface { + Identities() IdentityInterface +} + +// IdentityInterface has methods to work with Identity resources. +type IdentityInterface interface { + Create(*v1.Identity) (*v1.Identity, error) + Update(*v1.Identity) (*v1.Identity, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Identity, error) + List(opts meta_v1.ListOptions) (*v1.IdentityList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Identity, err error) + IdentityExpansion +} + +// identities implements IdentityInterface +type identities struct { + client rest.Interface +} + +// newIdentities returns a Identities +func newIdentities(c *UserV1Client) *identities { + return &identities{ + client: c.RESTClient(), + } +} + +// Get takes name of the identity, and returns the corresponding identity object, and an error if there is any. +func (c *identities) Get(name string, options meta_v1.GetOptions) (result *v1.Identity, err error) { + result = &v1.Identity{} + err = c.client.Get(). + Resource("identities"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Identities that match those selectors. +func (c *identities) List(opts meta_v1.ListOptions) (result *v1.IdentityList, err error) { + result = &v1.IdentityList{} + err = c.client.Get(). + Resource("identities"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested identities. +func (c *identities) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("identities"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a identity and creates it. Returns the server's representation of the identity, and an error, if there is any. +func (c *identities) Create(identity *v1.Identity) (result *v1.Identity, err error) { + result = &v1.Identity{} + err = c.client.Post(). + Resource("identities"). + Body(identity). + Do(). + Into(result) + return +} + +// Update takes the representation of a identity and updates it. Returns the server's representation of the identity, and an error, if there is any. +func (c *identities) Update(identity *v1.Identity) (result *v1.Identity, err error) { + result = &v1.Identity{} + err = c.client.Put(). + Resource("identities"). + Name(identity.Name). + Body(identity). + Do(). + Into(result) + return +} + +// Delete takes name of the identity and deletes it. Returns an error if one occurs. +func (c *identities) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("identities"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *identities) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("identities"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched identity. +func (c *identities) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Identity, err error) { + result = &v1.Identity{} + err = c.client.Patch(pt). + Resource("identities"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user.go new file mode 100644 index 000000000..261b1c48e --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user.go @@ -0,0 +1,131 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + scheme "github.com/openshift/client-go/user/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// UsersGetter has a method to return a UserInterface. +// A group's client should implement this interface. +type UsersGetter interface { + Users() UserInterface +} + +// UserInterface has methods to work with User resources. +type UserInterface interface { + Create(*v1.User) (*v1.User, error) + Update(*v1.User) (*v1.User, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.User, error) + List(opts meta_v1.ListOptions) (*v1.UserList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.User, err error) + UserExpansion +} + +// users implements UserInterface +type users struct { + client rest.Interface +} + +// newUsers returns a Users +func newUsers(c *UserV1Client) *users { + return &users{ + client: c.RESTClient(), + } +} + +// Get takes name of the user, and returns the corresponding user object, and an error if there is any. +func (c *users) Get(name string, options meta_v1.GetOptions) (result *v1.User, err error) { + result = &v1.User{} + err = c.client.Get(). + Resource("users"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Users that match those selectors. +func (c *users) List(opts meta_v1.ListOptions) (result *v1.UserList, err error) { + result = &v1.UserList{} + err = c.client.Get(). + Resource("users"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested users. +func (c *users) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("users"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a user and creates it. Returns the server's representation of the user, and an error, if there is any. +func (c *users) Create(user *v1.User) (result *v1.User, err error) { + result = &v1.User{} + err = c.client.Post(). + Resource("users"). + Body(user). + Do(). + Into(result) + return +} + +// Update takes the representation of a user and updates it. Returns the server's representation of the user, and an error, if there is any. +func (c *users) Update(user *v1.User) (result *v1.User, err error) { + result = &v1.User{} + err = c.client.Put(). + Resource("users"). + Name(user.Name). + Body(user). + Do(). + Into(result) + return +} + +// Delete takes name of the user and deletes it. Returns an error if one occurs. +func (c *users) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("users"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *users) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Resource("users"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched user. +func (c *users) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.User, err error) { + result = &v1.User{} + err = c.client.Patch(pt). + Resource("users"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user_client.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user_client.go new file mode 100644 index 000000000..6e826e280 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/user_client.go @@ -0,0 +1,89 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + "github.com/openshift/client-go/user/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type UserV1Interface interface { + RESTClient() rest.Interface + GroupsGetter + IdentitiesGetter + UsersGetter + UserIdentityMappingsGetter +} + +// UserV1Client is used to interact with features provided by the user.openshift.io group. +type UserV1Client struct { + restClient rest.Interface +} + +func (c *UserV1Client) Groups() GroupInterface { + return newGroups(c) +} + +func (c *UserV1Client) Identities() IdentityInterface { + return newIdentities(c) +} + +func (c *UserV1Client) Users() UserInterface { + return newUsers(c) +} + +func (c *UserV1Client) UserIdentityMappings() UserIdentityMappingInterface { + return newUserIdentityMappings(c) +} + +// NewForConfig creates a new UserV1Client for the given config. +func NewForConfig(c *rest.Config) (*UserV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &UserV1Client{client}, nil +} + +// NewForConfigOrDie creates a new UserV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *UserV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new UserV1Client for the given RESTClient. +func New(c rest.Interface) *UserV1Client { + return &UserV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *UserV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/useridentitymapping.go b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/useridentitymapping.go new file mode 100644 index 000000000..e2409c2a4 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/clientset/versioned/typed/user/v1/useridentitymapping.go @@ -0,0 +1,82 @@ +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + scheme "github.com/openshift/client-go/user/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + rest "k8s.io/client-go/rest" +) + +// UserIdentityMappingsGetter has a method to return a UserIdentityMappingInterface. +// A group's client should implement this interface. +type UserIdentityMappingsGetter interface { + UserIdentityMappings() UserIdentityMappingInterface +} + +// UserIdentityMappingInterface has methods to work with UserIdentityMapping resources. +type UserIdentityMappingInterface interface { + Create(*v1.UserIdentityMapping) (*v1.UserIdentityMapping, error) + Update(*v1.UserIdentityMapping) (*v1.UserIdentityMapping, error) + Delete(name string, options *meta_v1.DeleteOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.UserIdentityMapping, error) + UserIdentityMappingExpansion +} + +// userIdentityMappings implements UserIdentityMappingInterface +type userIdentityMappings struct { + client rest.Interface +} + +// newUserIdentityMappings returns a UserIdentityMappings +func newUserIdentityMappings(c *UserV1Client) *userIdentityMappings { + return &userIdentityMappings{ + client: c.RESTClient(), + } +} + +// Get takes name of the userIdentityMapping, and returns the corresponding userIdentityMapping object, and an error if there is any. +func (c *userIdentityMappings) Get(name string, options meta_v1.GetOptions) (result *v1.UserIdentityMapping, err error) { + result = &v1.UserIdentityMapping{} + err = c.client.Get(). + Resource("useridentitymappings"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Create takes the representation of a userIdentityMapping and creates it. Returns the server's representation of the userIdentityMapping, and an error, if there is any. +func (c *userIdentityMappings) Create(userIdentityMapping *v1.UserIdentityMapping) (result *v1.UserIdentityMapping, err error) { + result = &v1.UserIdentityMapping{} + err = c.client.Post(). + Resource("useridentitymappings"). + Body(userIdentityMapping). + Do(). + Into(result) + return +} + +// Update takes the representation of a userIdentityMapping and updates it. Returns the server's representation of the userIdentityMapping, and an error, if there is any. +func (c *userIdentityMappings) Update(userIdentityMapping *v1.UserIdentityMapping) (result *v1.UserIdentityMapping, err error) { + result = &v1.UserIdentityMapping{} + err = c.client.Put(). + Resource("useridentitymappings"). + Name(userIdentityMapping.Name). + Body(userIdentityMapping). + Do(). + Into(result) + return +} + +// Delete takes name of the userIdentityMapping and deletes it. Returns an error if one occurs. +func (c *userIdentityMappings) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Resource("useridentitymappings"). + Name(name). + Body(options). + Do(). + Error() +} diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/factory.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/factory.go new file mode 100644 index 000000000..cde67f04b --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/factory.go @@ -0,0 +1,164 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "github.com/openshift/client-go/user/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/user/informers/externalversions/internalinterfaces" + user "github.com/openshift/client-go/user/informers/externalversions/user" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + User() user.Interface +} + +func (f *sharedInformerFactory) User() user.Interface { + return user.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/generic.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/generic.go new file mode 100644 index 000000000..6c8cb23b6 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/generic.go @@ -0,0 +1,50 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "github.com/openshift/api/user/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=user.openshift.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("groups"): + return &genericInformer{resource: resource.GroupResource(), informer: f.User().V1().Groups().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("identities"): + return &genericInformer{resource: resource.GroupResource(), informer: f.User().V1().Identities().Informer()}, nil + case v1.SchemeGroupVersion.WithResource("users"): + return &genericInformer{resource: resource.GroupResource(), informer: f.User().V1().Users().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..b197152e3 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,22 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "github.com/openshift/client-go/user/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/user/interface.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/interface.go new file mode 100644 index 000000000..8ae8bae69 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/interface.go @@ -0,0 +1,30 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package user + +import ( + internalinterfaces "github.com/openshift/client-go/user/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/user/informers/externalversions/user/v1" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/group.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/group.go new file mode 100644 index 000000000..6bc0be0e3 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/group.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + user_v1 "github.com/openshift/api/user/v1" + versioned "github.com/openshift/client-go/user/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/user/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/user/listers/user/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// GroupInformer provides access to a shared informer and lister for +// Groups. +type GroupInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.GroupLister +} + +type groupInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewGroupInformer constructs a new informer for Group type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewGroupInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredGroupInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredGroupInformer constructs a new informer for Group type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredGroupInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.UserV1().Groups().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.UserV1().Groups().Watch(options) + }, + }, + &user_v1.Group{}, + resyncPeriod, + indexers, + ) +} + +func (f *groupInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredGroupInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *groupInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&user_v1.Group{}, f.defaultInformer) +} + +func (f *groupInformer) Lister() v1.GroupLister { + return v1.NewGroupLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/identity.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/identity.go new file mode 100644 index 000000000..97b1c3ed1 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/identity.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + user_v1 "github.com/openshift/api/user/v1" + versioned "github.com/openshift/client-go/user/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/user/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/user/listers/user/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// IdentityInformer provides access to a shared informer and lister for +// Identities. +type IdentityInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.IdentityLister +} + +type identityInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewIdentityInformer constructs a new informer for Identity type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewIdentityInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredIdentityInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredIdentityInformer constructs a new informer for Identity type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredIdentityInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.UserV1().Identities().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.UserV1().Identities().Watch(options) + }, + }, + &user_v1.Identity{}, + resyncPeriod, + indexers, + ) +} + +func (f *identityInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredIdentityInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *identityInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&user_v1.Identity{}, f.defaultInformer) +} + +func (f *identityInformer) Lister() v1.IdentityLister { + return v1.NewIdentityLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/interface.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/interface.go new file mode 100644 index 000000000..267a1543d --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/interface.go @@ -0,0 +1,43 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "github.com/openshift/client-go/user/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Groups returns a GroupInformer. + Groups() GroupInformer + // Identities returns a IdentityInformer. + Identities() IdentityInformer + // Users returns a UserInformer. + Users() UserInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// Groups returns a GroupInformer. +func (v *version) Groups() GroupInformer { + return &groupInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// Identities returns a IdentityInformer. +func (v *version) Identities() IdentityInformer { + return &identityInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} + +// Users returns a UserInformer. +func (v *version) Users() UserInformer { + return &userInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/user.go b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/user.go new file mode 100644 index 000000000..a4af5869a --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/informers/externalversions/user/v1/user.go @@ -0,0 +1,72 @@ +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + user_v1 "github.com/openshift/api/user/v1" + versioned "github.com/openshift/client-go/user/clientset/versioned" + internalinterfaces "github.com/openshift/client-go/user/informers/externalversions/internalinterfaces" + v1 "github.com/openshift/client-go/user/listers/user/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// UserInformer provides access to a shared informer and lister for +// Users. +type UserInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.UserLister +} + +type userInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewUserInformer constructs a new informer for User type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewUserInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredUserInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredUserInformer constructs a new informer for User type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredUserInformer(client versioned.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.UserV1().Users().List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.UserV1().Users().Watch(options) + }, + }, + &user_v1.User{}, + resyncPeriod, + indexers, + ) +} + +func (f *userInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredUserInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *userInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&user_v1.User{}, f.defaultInformer) +} + +func (f *userInformer) Lister() v1.UserLister { + return v1.NewUserLister(f.Informer().GetIndexer()) +} diff --git a/vendor/github.com/openshift/client-go/user/listers/user/v1/expansion_generated.go b/vendor/github.com/openshift/client-go/user/listers/user/v1/expansion_generated.go new file mode 100644 index 000000000..dcb8be218 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/listers/user/v1/expansion_generated.go @@ -0,0 +1,15 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// GroupListerExpansion allows custom methods to be added to +// GroupLister. +type GroupListerExpansion interface{} + +// IdentityListerExpansion allows custom methods to be added to +// IdentityLister. +type IdentityListerExpansion interface{} + +// UserListerExpansion allows custom methods to be added to +// UserLister. +type UserListerExpansion interface{} diff --git a/vendor/github.com/openshift/client-go/user/listers/user/v1/group.go b/vendor/github.com/openshift/client-go/user/listers/user/v1/group.go new file mode 100644 index 000000000..9951a096c --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/listers/user/v1/group.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// GroupLister helps list Groups. +type GroupLister interface { + // List lists all Groups in the indexer. + List(selector labels.Selector) (ret []*v1.Group, err error) + // Get retrieves the Group from the index for a given name. + Get(name string) (*v1.Group, error) + GroupListerExpansion +} + +// groupLister implements the GroupLister interface. +type groupLister struct { + indexer cache.Indexer +} + +// NewGroupLister returns a new GroupLister. +func NewGroupLister(indexer cache.Indexer) GroupLister { + return &groupLister{indexer: indexer} +} + +// List lists all Groups in the indexer. +func (s *groupLister) List(selector labels.Selector) (ret []*v1.Group, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Group)) + }) + return ret, err +} + +// Get retrieves the Group from the index for a given name. +func (s *groupLister) Get(name string) (*v1.Group, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("group"), name) + } + return obj.(*v1.Group), nil +} diff --git a/vendor/github.com/openshift/client-go/user/listers/user/v1/identity.go b/vendor/github.com/openshift/client-go/user/listers/user/v1/identity.go new file mode 100644 index 000000000..851e4e8a9 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/listers/user/v1/identity.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// IdentityLister helps list Identities. +type IdentityLister interface { + // List lists all Identities in the indexer. + List(selector labels.Selector) (ret []*v1.Identity, err error) + // Get retrieves the Identity from the index for a given name. + Get(name string) (*v1.Identity, error) + IdentityListerExpansion +} + +// identityLister implements the IdentityLister interface. +type identityLister struct { + indexer cache.Indexer +} + +// NewIdentityLister returns a new IdentityLister. +func NewIdentityLister(indexer cache.Indexer) IdentityLister { + return &identityLister{indexer: indexer} +} + +// List lists all Identities in the indexer. +func (s *identityLister) List(selector labels.Selector) (ret []*v1.Identity, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Identity)) + }) + return ret, err +} + +// Get retrieves the Identity from the index for a given name. +func (s *identityLister) Get(name string) (*v1.Identity, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("identity"), name) + } + return obj.(*v1.Identity), nil +} diff --git a/vendor/github.com/openshift/client-go/user/listers/user/v1/user.go b/vendor/github.com/openshift/client-go/user/listers/user/v1/user.go new file mode 100644 index 000000000..45725c117 --- /dev/null +++ b/vendor/github.com/openshift/client-go/user/listers/user/v1/user.go @@ -0,0 +1,49 @@ +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/openshift/api/user/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// UserLister helps list Users. +type UserLister interface { + // List lists all Users in the indexer. + List(selector labels.Selector) (ret []*v1.User, err error) + // Get retrieves the User from the index for a given name. + Get(name string) (*v1.User, error) + UserListerExpansion +} + +// userLister implements the UserLister interface. +type userLister struct { + indexer cache.Indexer +} + +// NewUserLister returns a new UserLister. +func NewUserLister(indexer cache.Indexer) UserLister { + return &userLister{indexer: indexer} +} + +// List lists all Users in the indexer. +func (s *userLister) List(selector labels.Selector) (ret []*v1.User, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.User)) + }) + return ret, err +} + +// Get retrieves the User from the index for a given name. +func (s *userLister) Get(name string) (*v1.User, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("user"), name) + } + return obj.(*v1.User), nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/.github/PULL_REQUEST_TEMPLATE.md b/vendor/k8s.io/apiextensions-apiserver/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..e559c074b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,2 @@ +Sorry, we do not accept changes directly against this repository. Please see +CONTRIBUTING.md for information on where and how to contribute instead. diff --git a/vendor/k8s.io/apiextensions-apiserver/CONTRIBUTING.md b/vendor/k8s.io/apiextensions-apiserver/CONTRIBUTING.md new file mode 100644 index 000000000..d8ad4d2d3 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/CONTRIBUTING.md @@ -0,0 +1,7 @@ +# Contributing guidelines + +Do not open pull requests directly against this repository, they will be ignored. Instead, please open pull requests against [kubernetes/kubernetes](https://git.k8s.io/kubernetes/). Please follow the same [contributing guide](https://git.k8s.io/kubernetes/CONTRIBUTING.md) you would follow for any other pull request made to kubernetes/kubernetes. + +This repository is published from [kubernetes/kubernetes/staging/src/k8s.io/apiextensions-apiserver](https://git.k8s.io/kubernetes/staging/src/k8s.io/apiextensions-apiserver) by the [kubernetes publishing-bot](https://git.k8s.io/publishing-bot). + +Please see [Staging Directory and Publishing](https://git.k8s.io/community/contributors/devel/staging.md) for more information diff --git a/vendor/k8s.io/apiextensions-apiserver/Godeps/Godeps.json b/vendor/k8s.io/apiextensions-apiserver/Godeps/Godeps.json new file mode 100644 index 000000000..30e2b69fd --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/Godeps/Godeps.json @@ -0,0 +1,2102 @@ +{ + "ImportPath": "k8s.io/apiextensions-apiserver", + "GoVersion": "go1.9", + "GodepVersion": "v80", + "Packages": [ + "./..." + ], + "Deps": [ + { + "ImportPath": "bitbucket.org/ww/goautoneg", + "Rev": "75cd24fc2f2c2a2088577d12123ddee5f54e0675" + }, + { + "ImportPath": "github.com/NYTimes/gziphandler", + "Rev": "56545f4a5d46df9a6648819d1664c3a03a13ffdb" + }, + { + "ImportPath": "github.com/PuerkitoBio/purell", + "Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4" + }, + { + "ImportPath": "github.com/PuerkitoBio/urlesc", + "Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e" + }, + { + "ImportPath": "github.com/asaskevich/govalidator", + "Rev": "593d64559f7600f29581a3ee42177f5dbded27a9" + }, + { + "ImportPath": "github.com/beorn7/perks/quantile", + "Rev": "3ac7bf7a47d159a033b107610db8a1b6575507a4" + }, + { + "ImportPath": "github.com/cockroachdb/cmux", + "Rev": "112f0506e7743d64a6eb8fedbcff13d9979bbf92" + }, + { + "ImportPath": "github.com/coreos/bbolt", + "Rev": "48ea1b39c25fc1bab3506fbc712ecbaa842c4d2d" + }, + { + "ImportPath": "github.com/coreos/etcd/alarm", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/auth", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/auth/authpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/client", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3/concurrency", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3/namespace", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/clientv3/naming", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/compactor", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/discovery", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/embed", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/error", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/etcdhttp", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v2http/httptypes", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3client", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb/gw", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb/gw", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/auth", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb/gw", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/membership", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/etcdserver/stats", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/integration", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/lease", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/lease/leasehttp", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/lease/leasepb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/mvcc", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/mvcc/backend", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/mvcc/mvccpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/adt", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/contention", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/cors", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/cpuutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/crc", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/debugutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/fileutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/httputil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/idutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/ioutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/logutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/monotime", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/netutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/pathutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/pbutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/runtime", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/schedule", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/srv", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/testutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/tlsutil", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/transport", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/types", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/pkg/wait", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy/adapter", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/proxy/grpcproxy/cache", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/raft", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/raft/raftpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/rafthttp", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/snap", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/snap/snappb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/store", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/version", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/wal", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/etcd/wal/walpb", + "Rev": "95a726a27e09030f9ccbd9982a1508f5a6d25ada" + }, + { + "ImportPath": "github.com/coreos/go-semver/semver", + "Rev": "568e959cd89871e61434c1143528d9162da89ef2" + }, + { + "ImportPath": "github.com/coreos/go-systemd/daemon", + "Rev": "48702e0da86bd25e76cfef347e2adeb434a0d0a6" + }, + { + "ImportPath": "github.com/coreos/go-systemd/journal", + "Rev": "48702e0da86bd25e76cfef347e2adeb434a0d0a6" + }, + { + "ImportPath": "github.com/coreos/pkg/capnslog", + "Rev": "fa29b1d70f0beaddd4c7021607cc3c3be8ce94b8" + }, + { + "ImportPath": "github.com/davecgh/go-spew/spew", + "Rev": "782f4967f2dc4564575ca782fe2d04090b5faca8" + }, + { + "ImportPath": "github.com/dgrijalva/jwt-go", + "Rev": "01aeca54ebda6e0fbfafd0a524d234159c05ec20" + }, + { + "ImportPath": "github.com/elazarl/go-bindata-assetfs", + "Rev": "3dcc96556217539f50599357fb481ac0dc7439b9" + }, + { + "ImportPath": "github.com/emicklei/go-restful", + "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" + }, + { + "ImportPath": "github.com/emicklei/go-restful-swagger12", + "Rev": "dcef7f55730566d41eae5db10e7d6981829720f6" + }, + { + "ImportPath": "github.com/emicklei/go-restful/log", + "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" + }, + { + "ImportPath": "github.com/evanphx/json-patch", + "Rev": "94e38aa1586e8a6c8a75770bddf5ff84c48a106b" + }, + { + "ImportPath": "github.com/ghodss/yaml", + "Rev": "73d445a93680fa1a78ae23a5839bad48f32ba1ee" + }, + { + "ImportPath": "github.com/go-openapi/analysis", + "Rev": "b44dc874b601d9e4e2f6e19140e794ba24bead3b" + }, + { + "ImportPath": "github.com/go-openapi/errors", + "Rev": "d24ebc2075bad502fac3a8ae27aa6dd58e1952dc" + }, + { + "ImportPath": "github.com/go-openapi/jsonpointer", + "Rev": "46af16f9f7b149af66e5d1bd010e3574dc06de98" + }, + { + "ImportPath": "github.com/go-openapi/jsonreference", + "Rev": "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272" + }, + { + "ImportPath": "github.com/go-openapi/loads", + "Rev": "a80dea3052f00e5f032e860dd7355cd0cc67e24d" + }, + { + "ImportPath": "github.com/go-openapi/runtime", + "Rev": "11e322eeecc1032d5a0a96c566ed53f2b5c26e22" + }, + { + "ImportPath": "github.com/go-openapi/spec", + "Rev": "1de3e0542de65ad8d75452a595886fdd0befb363" + }, + { + "ImportPath": "github.com/go-openapi/strfmt", + "Rev": "d65c7fdb29eca313476e529628176fe17e58c488" + }, + { + "ImportPath": "github.com/go-openapi/swag", + "Rev": "f3f9494671f93fcff853e3c6e9e948b3eb71e590" + }, + { + "ImportPath": "github.com/go-openapi/validate", + "Rev": "d509235108fcf6ab4913d2dcb3a2260c0db2108e" + }, + { + "ImportPath": "github.com/gogo/protobuf/proto", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/sortkeys", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/golang/glog", + "Rev": "44145f04b68cf362d9c4df2182967c2275eaefed" + }, + { + "ImportPath": "github.com/golang/groupcache/lru", + "Rev": "02826c3e79038b59d737d3b1c0a1d937f71a4433" + }, + { + "ImportPath": "github.com/golang/protobuf/jsonpb", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/golang/protobuf/proto", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/golang/protobuf/protoc-gen-go/descriptor", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/any", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/duration", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/struct", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/golang/protobuf/ptypes/timestamp", + "Rev": "b4deda0973fb4c70b50d226b1af49f3da59f5265" + }, + { + "ImportPath": "github.com/google/btree", + "Rev": "7d79101e329e5a3adf994758c578dab82b90c017" + }, + { + "ImportPath": "github.com/google/gofuzz", + "Rev": "44d81051d367757e1c7c6a5a86423ece9afcf63c" + }, + { + "ImportPath": "github.com/googleapis/gnostic/OpenAPIv2", + "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" + }, + { + "ImportPath": "github.com/googleapis/gnostic/compiler", + "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" + }, + { + "ImportPath": "github.com/googleapis/gnostic/extensions", + "Rev": "0c5108395e2debce0d731cf0287ddf7242066aba" + }, + { + "ImportPath": "github.com/gregjones/httpcache", + "Rev": "787624de3eb7bd915c329cba748687a3b22666a6" + }, + { + "ImportPath": "github.com/gregjones/httpcache/diskcache", + "Rev": "787624de3eb7bd915c329cba748687a3b22666a6" + }, + { + "ImportPath": "github.com/grpc-ecosystem/go-grpc-prometheus", + "Rev": "2500245aa6110c562d17020fb31a2c133d737799" + }, + { + "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/runtime", + "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" + }, + { + "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/runtime/internal", + "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" + }, + { + "ImportPath": "github.com/grpc-ecosystem/grpc-gateway/utilities", + "Rev": "8cc3a55af3bcf171a1c23a90c4df9cf591706104" + }, + { + "ImportPath": "github.com/hashicorp/golang-lru", + "Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4" + }, + { + "ImportPath": "github.com/hashicorp/golang-lru/simplelru", + "Rev": "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4" + }, + { + "ImportPath": "github.com/imdario/mergo", + "Rev": "6633656539c1639d9d78127b7d47c622b5d7b6dc" + }, + { + "ImportPath": "github.com/inconshreveable/mousetrap", + "Rev": "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" + }, + { + "ImportPath": "github.com/jonboulle/clockwork", + "Rev": "72f9bd7c4e0c2a40055ab3d0f09654f730cce982" + }, + { + "ImportPath": "github.com/json-iterator/go", + "Rev": "f2b4162afba35581b6d4a50d3b8f34e33c144682" + }, + { + "ImportPath": "github.com/mailru/easyjson/buffer", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/mailru/easyjson/jlexer", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/mailru/easyjson/jwriter", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/matttproud/golang_protobuf_extensions/pbutil", + "Rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a" + }, + { + "ImportPath": "github.com/modern-go/concurrent", + "Rev": "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94" + }, + { + "ImportPath": "github.com/modern-go/reflect2", + "Rev": "05fbef0ca5da472bbf96c9322b84a53edc03c9fd" + }, + { + "ImportPath": "github.com/pborman/uuid", + "Rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4" + }, + { + "ImportPath": "github.com/peterbourgon/diskv", + "Rev": "5f041e8faa004a95c88a202771f4cc3e991971e6" + }, + { + "ImportPath": "github.com/pmezard/go-difflib/difflib", + "Rev": "d8ed2627bdf02c080bf22230dbb337003b7aba2d" + }, + { + "ImportPath": "github.com/prometheus/client_golang/prometheus", + "Rev": "e7e903064f5e9eb5da98208bae10b475d4db0f8c" + }, + { + "ImportPath": "github.com/prometheus/client_model/go", + "Rev": "fa8ad6fec33561be4280a8f0514318c79d7f6cb6" + }, + { + "ImportPath": "github.com/prometheus/common/expfmt", + "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" + }, + { + "ImportPath": "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg", + "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" + }, + { + "ImportPath": "github.com/prometheus/common/model", + "Rev": "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207" + }, + { + "ImportPath": "github.com/prometheus/procfs", + "Rev": "65c1f6f8f0fc1e2185eb9863a3bc751496404259" + }, + { + "ImportPath": "github.com/prometheus/procfs/xfs", + "Rev": "65c1f6f8f0fc1e2185eb9863a3bc751496404259" + }, + { + "ImportPath": "github.com/spf13/cobra", + "Rev": "c439c4fa093711d42e1b01acb1235b52004753c1" + }, + { + "ImportPath": "github.com/spf13/pflag", + "Rev": "583c0c0531f06d5278b7d917446061adc344b5cd" + }, + { + "ImportPath": "github.com/stretchr/testify/assert", + "Rev": "c679ae2cc0cb27ec3293fea7e254e47386f05d69" + }, + { + "ImportPath": "github.com/stretchr/testify/require", + "Rev": "c679ae2cc0cb27ec3293fea7e254e47386f05d69" + }, + { + "ImportPath": "github.com/ugorji/go/codec", + "Rev": "ded73eae5db7e7a0ef6f55aace87a2873c5d2b74" + }, + { + "ImportPath": "github.com/xiang90/probing", + "Rev": "07dd2e8dfe18522e9c447ba95f2fe95262f63bb2" + }, + { + "ImportPath": "golang.org/x/crypto/bcrypt", + "Rev": "49796115aa4b964c318aad4f3084fdb41e9aa067" + }, + { + "ImportPath": "golang.org/x/crypto/blowfish", + "Rev": "49796115aa4b964c318aad4f3084fdb41e9aa067" + }, + { + "ImportPath": "golang.org/x/crypto/ssh/terminal", + "Rev": "49796115aa4b964c318aad4f3084fdb41e9aa067" + }, + { + "ImportPath": "golang.org/x/net/context", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/http2", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/http2/hpack", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/idna", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/internal/timeseries", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/lex/httplex", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/trace", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/net/websocket", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/sys/unix", + "Rev": "95c6576299259db960f6c5b9b69ea52422860fce" + }, + { + "ImportPath": "golang.org/x/sys/windows", + "Rev": "95c6576299259db960f6c5b9b69ea52422860fce" + }, + { + "ImportPath": "golang.org/x/text/cases", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/internal", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/internal/tag", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/language", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/runes", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/secure/bidirule", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/secure/precis", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/transform", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/unicode/bidi", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/unicode/norm", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/width", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/time/rate", + "Rev": "f51c12702a4d776e4c1fa9b0fabab841babae631" + }, + { + "ImportPath": "google.golang.org/genproto/googleapis/api/annotations", + "Rev": "09f6ed296fc66555a25fe4ce95173148778dfa85" + }, + { + "ImportPath": "google.golang.org/genproto/googleapis/rpc/status", + "Rev": "09f6ed296fc66555a25fe4ce95173148778dfa85" + }, + { + "ImportPath": "google.golang.org/grpc", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/balancer", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/codes", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/connectivity", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/credentials", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/grpclb/grpc_lb_v1/messages", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/grpclog", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/health/grpc_health_v1", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/internal", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/keepalive", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/metadata", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/naming", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/peer", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/resolver", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/stats", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/status", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/tap", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "google.golang.org/grpc/transport", + "Rev": "5b3c4e850e90a4cf6a20ebd46c8b32a0a3afcb9e" + }, + { + "ImportPath": "gopkg.in/inf.v0", + "Rev": "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4" + }, + { + "ImportPath": "gopkg.in/natefinch/lumberjack.v2", + "Rev": "20b71e5b60d756d3d2f80def009790325acc2b23" + }, + { + "ImportPath": "gopkg.in/yaml.v2", + "Rev": "670d4cfef0544295bc27a114dbac37980d83185a" + }, + { + "ImportPath": "k8s.io/api/admission/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/admissionregistration/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/apps/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/apps/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/apps/v1beta2", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/authentication/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/authentication/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/authorization/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/authorization/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/autoscaling/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/autoscaling/v2beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/batch/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/batch/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/batch/v2alpha1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/certificates/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/core/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/events/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/extensions/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/networking/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/policy/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/rbac/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/rbac/v1alpha1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/rbac/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/scheduling/v1alpha1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/scheduling/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/settings/v1alpha1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/storage/v1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/storage/v1alpha1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/api/storage/v1beta1", + "Rev": "2d6f90ab1293a1fb871cf149423ebb72aa7423aa" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/equality", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/errors", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/meta", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/meta/table", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/resource", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/testing", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/validation", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/api/validation/path", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/validation", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/conversion", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/fields", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/labels", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/selection", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/types", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/cache", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/clock", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/diff", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/duration", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/errors", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/framer", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/json", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/net", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/rand", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/sets", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/uuid", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/validation", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/wait", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/waitgroup", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/version", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/pkg/watch", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", + "Rev": "103fd098999dc9c0c88536f5c9ad2e5da39373ae" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/configuration", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/initializer", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/metrics", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/initialization", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/namespace/lifecycle", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/config", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/errors", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/generic", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/mutating", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/namespace", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/request", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/rules", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/admission/plugin/webhook/validating", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/apiserver", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/apiserver/install", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/apiserver/v1alpha1", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/audit", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/audit/install", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/audit/v1alpha1", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/audit/v1beta1", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/apis/audit/validation", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/audit", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/audit/policy", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/authenticator", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/authenticatorfactory", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/group", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/request/anonymous", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/request/bearertoken", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/request/headerrequest", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/request/union", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/request/websocket", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/request/x509", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/serviceaccount", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/token/tokenfile", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authentication/user", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authorization/authorizer", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authorization/authorizerfactory", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/authorization/union", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/discovery", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/filters", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/handlers", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/handlers/negotiation", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/handlers/responsewriters", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/metrics", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/openapi", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/endpoints/request", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/features", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/registry/generic", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/registry/generic/registry", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/registry/generic/testing", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/registry/rest", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/registry/rest/resttest", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/filters", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/healthz", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/httplog", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/mux", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/options", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/resourceconfig", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/routes", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/routes/data/swagger", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/server/storage", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/errors", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/etcdtest", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/metrics", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/testing", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/testing/testingcert", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd/util", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd3", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/etcd3/preflight", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/names", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/storagebackend", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/storagebackend/factory", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/testing", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/storage/value", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/feature", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/flag", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/flushwriter", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/logs", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/openapi", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/trace", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/webhook", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/pkg/util/wsstream", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/buffered", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/log", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/truncate", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/plugin/pkg/audit/webhook", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/plugin/pkg/authenticator/token/webhook", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/apiserver/plugin/pkg/authorizer/webhook", + "Rev": "1844acd6a03501626cd17e86248e6ebc0f3df5d9" + }, + { + "ImportPath": "k8s.io/client-go/discovery", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/discovery/fake", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/dynamic", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/admissionregistration", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/autoscaling", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/certificates", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/core", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/core/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/events", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/events/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/extensions", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/internalinterfaces", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/networking", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/networking/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/policy", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/scheduling", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/scheduling/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/settings", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/scheme", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/apps/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/batch/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/core/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/events/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/networking/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/rbac/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/scheduling/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/storage/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/pkg/version", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/rest", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/rest/watch", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/restmapper", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale/scheme", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale/scheme/appsint", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale/scheme/appsv1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale/scheme/appsv1beta2", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale/scheme/autoscalingv1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale/scheme/extensionsint", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/scale/scheme/extensionsv1beta1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/testing", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/third_party/forked/golang/template", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/auth", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/cache", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd/api", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/metrics", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/pager", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/tools/reference", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/transport", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/buffer", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/cert", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/connrotation", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/flowcontrol", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/homedir", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/integer", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/jsonpath", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/retry", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/client-go/util/workqueue", + "Rev": "1f13a808da65775f22cbf47862c4e5898d8f4ca1" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/builder", + "Rev": "91cfa479c814065e420cee7ed227db0f63a5854e" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/common", + "Rev": "91cfa479c814065e420cee7ed227db0f63a5854e" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/handler", + "Rev": "91cfa479c814065e420cee7ed227db0f63a5854e" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/util", + "Rev": "91cfa479c814065e420cee7ed227db0f63a5854e" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/util/proto", + "Rev": "91cfa479c814065e420cee7ed227db0f63a5854e" + } + ] +} diff --git a/vendor/k8s.io/apiextensions-apiserver/Godeps/OWNERS b/vendor/k8s.io/apiextensions-apiserver/Godeps/OWNERS new file mode 100644 index 000000000..3d49f3060 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/Godeps/OWNERS @@ -0,0 +1,2 @@ +approvers: +- dep-approvers diff --git a/vendor/k8s.io/apiextensions-apiserver/Godeps/Readme b/vendor/k8s.io/apiextensions-apiserver/Godeps/Readme new file mode 100644 index 000000000..4cdaa53d5 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/Godeps/Readme @@ -0,0 +1,5 @@ +This directory tree is generated automatically by godep. + +Please do not edit. + +See https://github.com/tools/godep for more information. diff --git a/vendor/k8s.io/apiextensions-apiserver/LICENSE b/vendor/k8s.io/apiextensions-apiserver/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/LICENSE @@ -0,0 +1,202 @@ + + 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/k8s.io/apiextensions-apiserver/OWNERS b/vendor/k8s.io/apiextensions-apiserver/OWNERS new file mode 100644 index 000000000..d9cb557fc --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/OWNERS @@ -0,0 +1,9 @@ +reviewers: +- deads2k +- sttts +- enisoc +- mbohlool +approvers: +- deads2k +- lavalamp +- sttts diff --git a/vendor/k8s.io/apiextensions-apiserver/README.md b/vendor/k8s.io/apiextensions-apiserver/README.md new file mode 100644 index 000000000..be75b9ba4 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/README.md @@ -0,0 +1,20 @@ +# apiextensions-apiserver + +Implements: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/thirdpartyresources.md + +It provides an API for registering `CustomResourceDefinitions`. + +## Purpose + +This API server provides the implementation for `CustomResourceDefinitions` which is included as +delegate server inside of `kube-apiserver`. + + +## Compatibility + +HEAD of this repo will match HEAD of k8s.io/apiserver, k8s.io/apimachinery, and k8s.io/client-go. + +## Where does it come from? + +`apiextensions-apiserver` is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiextensions-apiserver. +Code changes are made in that location, merged into `k8s.io/kubernetes` and later synced here. diff --git a/vendor/k8s.io/apiextensions-apiserver/SECURITY_CONTACTS b/vendor/k8s.io/apiextensions-apiserver/SECURITY_CONTACTS new file mode 100644 index 000000000..0648a8ebf --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/SECURITY_CONTACTS @@ -0,0 +1,17 @@ +# Defined below are the security contacts for this repo. +# +# They are the contact point for the Product Security Team to reach out +# to for triaging and handling of incoming issues. +# +# The below names agree to abide by the +# [Embargo Policy](https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#embargo-policy) +# and will be removed and replaced if they violate that agreement. +# +# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE +# INSTRUCTIONS AT https://kubernetes.io/security/ + +cjcullen +jessfraz +liggitt +philips +tallclair diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-apiservice.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-apiservice.yaml new file mode 100644 index 000000000..44d07f641 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-apiservice.yaml @@ -0,0 +1,12 @@ +apiVersion: apiregistration.k8s.io/v1beta1 +kind: APIService +metadata: + name: v1alpha1.mygroup.example.com +spec: + insecureSkipTLSVerify: true + group: mygroup.example.com + priority: 500 + service: + name: api + namespace: apiextensions + version: v1alpha1 diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-resource-definition.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-resource-definition.yaml new file mode 100644 index 000000000..86205f9db --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu-resource-definition.yaml @@ -0,0 +1,13 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: noxus.mygroup.example.com +spec: + group: mygroup.example.com + version: v1alpha1 + scope: Namespaced + names: + plural: noxus + singular: noxu + kind: Noxu + listKind: NoxuList \ No newline at end of file diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu.yaml new file mode 100644 index 000000000..3cdda5efe --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/customresource-01/noxu.yaml @@ -0,0 +1,6 @@ +apiVersion: mygroup.example.com/v1alpha1 +kind: Noxu +metadata: + name: alfa-noxu +spec: + key: value \ No newline at end of file diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/example/apiservice.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/apiservice.yaml new file mode 100644 index 000000000..332bb120a --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/apiservice.yaml @@ -0,0 +1,12 @@ +apiVersion: apiregistration.k8s.io/v1beta1 +kind: APIService +metadata: + name: v1alpha1.apiextensions.k8s.io +spec: + insecureSkipTLSVerify: true + group: apiextensions.k8s.io + priority: 100 + service: + name: api + namespace: apiextensions + version: v1alpha1 diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-delegator.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-delegator.yaml new file mode 100644 index 000000000..ef608eced --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-delegator.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: apiextensions:system:auth-delegator +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:auth-delegator +subjects: +- kind: ServiceAccount + name: apiserver + namespace: apiextensions diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-reader.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-reader.yaml new file mode 100644 index 000000000..4f0f0e2b6 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/auth-reader.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: apiextensions-auth-reader + namespace: kube-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: extension-apiserver-authentication-reader +subjects: +- kind: ServiceAccount + name: apiserver + namespace: apiextensions diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/example/rc.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/rc.yaml new file mode 100644 index 000000000..86b5d3070 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/rc.yaml @@ -0,0 +1,26 @@ +apiVersion: v1 +kind: ReplicationController +metadata: + name: apiextensions-server + namespace: apiextensions + labels: + apiserver: "true" +spec: + replicas: 1 + selector: + apiserver: "true" + template: + metadata: + labels: + apiserver: "true" + spec: + serviceAccountName: apiserver + containers: + - name: apiextensions-server + image: apiextensions-apiserver:latest + imagePullPolicy: Never + args: + - "--etcd-servers=http://localhost:2379" + - "--audit-log-path=-" + - name: etcd + image: quay.io/coreos/etcd:v3.2.18 diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/example/sa.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/sa.yaml new file mode 100644 index 000000000..0f2e17f6a --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/sa.yaml @@ -0,0 +1,5 @@ +kind: ServiceAccount +apiVersion: v1 +metadata: + name: apiserver + namespace: apiextensions diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/example/service.yaml b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/service.yaml new file mode 100644 index 000000000..2b66f1d8a --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/example/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: api + namespace: apiextensions +spec: + ports: + - port: 443 + protocol: TCP + targetPort: 443 + selector: + apiserver: "true" diff --git a/vendor/k8s.io/apiextensions-apiserver/artifacts/simple-image/Dockerfile b/vendor/k8s.io/apiextensions-apiserver/artifacts/simple-image/Dockerfile new file mode 100644 index 000000000..c41affec9 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/artifacts/simple-image/Dockerfile @@ -0,0 +1,17 @@ +# Copyright 2017 The Kubernetes 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. + +FROM fedora +ADD apiextensions-apiserver / +ENTRYPOINT ["/apiextensions-apiserver"] diff --git a/vendor/k8s.io/apiextensions-apiserver/code-of-conduct.md b/vendor/k8s.io/apiextensions-apiserver/code-of-conduct.md new file mode 100644 index 000000000..0d15c00cf --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/code-of-conduct.md @@ -0,0 +1,3 @@ +# Kubernetes Community Code of Conduct + +Please refer to our [Kubernetes Community Code of Conduct](https://git.k8s.io/community/code-of-conduct.md) diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/README.md b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/README.md new file mode 100644 index 000000000..1949e5d47 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/README.md @@ -0,0 +1,57 @@ +# Custom Resource Example + +**Note:** CustomResourceDefinition is the successor of the deprecated ThirdPartyResource. + +This particular example demonstrates how to generate a client for CustomResources using [`k8s.io/code-generator`](https://github.com/kubernetes/code-generator). The clientset can +be generated using the `./hack/update-codegen.sh` script. + +The `update-codegen` script will automatically generate the following files and +directories: + +* `pkg/apis/cr/v1/zz_generated.deepcopy.go` +* `pkg/client/` + +The following code-generators are used: + +* `deepcopy-gen` - creates a method `func (t* T) DeepCopy() *T` for each type T +* `client-gen` - creates typed clientsets for CustomResource APIGroups +* `informer-gen` - creates informers for CustomResources which offer an event based +interface to react on changes of CustomResources on the server +* `lister-gen` - creates listers for CustomResources which offer a read-only caching layer for GET and LIST requests. + +Changes should not be made to these files manually, and when creating your own +controller based off of this implementation you should not copy these files and +instead run the `update-codegen` script to generate your own. + +Please see [`k8s.io/sample-controller`](https://github.com/kubernetes/sample-controller) for an example +controller for CustomResources using the generated client. + +## Use Cases + +CustomResourceDefinitions can be used to implement custom resource types for your Kubernetes cluster. +These act like most other Resources in Kubernetes, and may be `kubectl apply`'d, etc. + +Some example use cases: + +* Provisioning/Management of external datastores/databases (eg. CloudSQL/RDS instances) +* Higher level abstractions around Kubernetes primitives (eg. a single Resource to define an etcd cluster, backed by a Service and a ReplicationController) + +## Defining types + +Each instance of your custom resource has an attached Spec, which should be defined via a `struct{}` to provide data format validation. +In practice, this Spec is arbitrary key-value data that specifies the configuration/behavior of your Resource. + +For example, if you were implementing a custom resource for a Database, you might provide a DatabaseSpec like the following: + +``` go +type DatabaseSpec struct { + Databases []string `json:"databases"` + Users []User `json:"users"` + Version string `json:"version"` +} + +type User struct { + Name string `json:"name"` + Password string `json:"password"` +} +``` diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh new file mode 100755 index 000000000..ea26ad63c --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# Copyright 2017 The Kubernetes 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. + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. +CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} + +# generate the code with: +# --output-base because this script should also be able to run inside the vendor dir of +# k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir +# instead of the $GOPATH directly. For normal projects this can be dropped. +${CODEGEN_PKG}/generate-groups.sh all \ + k8s.io/apiextensions-apiserver/examples/client-go/pkg/client k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis \ + cr:v1 \ + --output-base "$(dirname ${BASH_SOURCE})/../../../../.." + +# To use your own boilerplate text append: +# --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/verify-codegen.sh b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/verify-codegen.sh new file mode 100755 index 000000000..d02a6fa39 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/hack/verify-codegen.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +# Copyright 2017 The Kubernetes 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. + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. + +DIFFROOT="${SCRIPT_ROOT}/pkg" +TMP_DIFFROOT="${SCRIPT_ROOT}/_tmp/pkg" +_tmp="${SCRIPT_ROOT}/_tmp" + +cleanup() { + rm -rf "${_tmp}" +} +trap "cleanup" EXIT SIGINT + +cleanup + +mkdir -p "${TMP_DIFFROOT}" +cp -a "${DIFFROOT}"/* "${TMP_DIFFROOT}" + +"${SCRIPT_ROOT}/hack/update-codegen.sh" +echo "diffing ${DIFFROOT} against freshly generated codegen" +ret=0 +diff -Naupr "${DIFFROOT}" "${TMP_DIFFROOT}" || ret=$? +cp -a "${TMP_DIFFROOT}"/* "${DIFFROOT}" +if [[ $ret -eq 0 ]] +then + echo "${DIFFROOT} up to date." +else + echo "${DIFFROOT} is out of date. Please run hack/update-codegen.sh" + exit 1 +fi diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/register.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/register.go new file mode 100644 index 000000000..6eb299eca --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/register.go @@ -0,0 +1,21 @@ +/* +Copyright 2017 The Kubernetes 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 cr + +const ( + GroupName = "cr.example.apiextensions.k8s.io" +) diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/doc.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/doc.go new file mode 100644 index 000000000..73d79a45d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/doc.go @@ -0,0 +1,21 @@ +/* +Copyright 2017 The Kubernetes 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. +*/ + +// +k8s:deepcopy-gen=package + +// Package v1 is the v1 version of the API. +// +groupName=cr.example.apiextensions.k8s.io +package v1 diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/register.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/register.go new file mode 100644 index 000000000..bd3b2ba64 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/register.go @@ -0,0 +1,51 @@ +/* +Copyright 2017 The Kubernetes 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 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + cr "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr" +) + +// SchemeGroupVersion is group version used to register these objects +var SchemeGroupVersion = schema.GroupVersion{Group: cr.GroupName, Version: "v1"} + +// Kind takes an unqualified kind and returns back a Group qualified GroupKind +func Kind(kind string) schema.GroupKind { + return SchemeGroupVersion.WithKind(kind).GroupKind() +} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + AddToScheme = SchemeBuilder.AddToScheme +) + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &Example{}, + &ExampleList{}, + ) + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/types.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/types.go new file mode 100644 index 000000000..274b30f61 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/types.go @@ -0,0 +1,63 @@ +/* +Copyright 2017 The Kubernetes 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 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// +genclient +// +genclient:noStatus +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// Example is a specification for an Example resource +type Example struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata"` + + Spec ExampleSpec `json:"spec"` + Status ExampleStatus `json:"status,omitempty"` +} + +// ExampleSpec is the spec for an Example resource +type ExampleSpec struct { + Foo string `json:"foo"` + Bar bool `json:"bar"` +} + +// ExampleStatus is the status for an Example resource +type ExampleStatus struct { + State ExampleState `json:"state,omitempty"` + Message string `json:"message,omitempty"` +} + +type ExampleState string + +const ( + ExampleStateCreated ExampleState = "Created" + ExampleStateProcessed ExampleState = "Processed" +) + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// ExampleList is a list of Example resources +type ExampleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata"` + + Items []Example `json:"items"` +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/zz_generated.deepcopy.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/zz_generated.deepcopy.go new file mode 100644 index 000000000..50828809d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/zz_generated.deepcopy.go @@ -0,0 +1,118 @@ +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Example) DeepCopyInto(out *Example) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Example. +func (in *Example) DeepCopy() *Example { + if in == nil { + return nil + } + out := new(Example) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *Example) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExampleList) DeepCopyInto(out *ExampleList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]Example, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExampleList. +func (in *ExampleList) DeepCopy() *ExampleList { + if in == nil { + return nil + } + out := new(ExampleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ExampleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExampleSpec) DeepCopyInto(out *ExampleSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExampleSpec. +func (in *ExampleSpec) DeepCopy() *ExampleSpec { + if in == nil { + return nil + } + out := new(ExampleSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExampleStatus) DeepCopyInto(out *ExampleStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExampleStatus. +func (in *ExampleStatus) DeepCopy() *ExampleStatus { + if in == nil { + return nil + } + out := new(ExampleStatus) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/clientset.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/clientset.go new file mode 100644 index 000000000..92ff15819 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/clientset.go @@ -0,0 +1,98 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package versioned + +import ( + crv1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + CrV1() crv1.CrV1Interface + // Deprecated: please explicitly pick a version if possible. + Cr() crv1.CrV1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + crV1 *crv1.CrV1Client +} + +// CrV1 retrieves the CrV1Client +func (c *Clientset) CrV1() crv1.CrV1Interface { + return c.crV1 +} + +// Deprecated: Cr retrieves the default version of CrClient. +// Please explicitly pick a version. +func (c *Clientset) Cr() crv1.CrV1Interface { + return c.crV1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.crV1, err = crv1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.crV1 = crv1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.crV1 = crv1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/doc.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/doc.go new file mode 100644 index 000000000..41721ca52 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package versioned diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/clientset_generated.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/clientset_generated.go new file mode 100644 index 000000000..28089890d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/clientset_generated.go @@ -0,0 +1,82 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned" + crv1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1" + fakecrv1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// CrV1 retrieves the CrV1Client +func (c *Clientset) CrV1() crv1.CrV1Interface { + return &fakecrv1.FakeCrV1{Fake: &c.Fake} +} + +// Cr retrieves the CrV1Client +func (c *Clientset) Cr() crv1.CrV1Interface { + return &fakecrv1.FakeCrV1{Fake: &c.Fake} +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/doc.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/doc.go new file mode 100644 index 000000000..9b99e7167 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/register.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/register.go new file mode 100644 index 000000000..fdcedd4c5 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/fake/register.go @@ -0,0 +1,54 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + crv1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + crv1.AddToScheme(scheme) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/doc.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/doc.go new file mode 100644 index 000000000..7dc375616 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/register.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/register.go new file mode 100644 index 000000000..74d8fa4d0 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme/register.go @@ -0,0 +1,54 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + crv1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + crv1.AddToScheme(scheme) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/cr_client.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/cr_client.go new file mode 100644 index 000000000..04e3930e1 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/cr_client.go @@ -0,0 +1,90 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type CrV1Interface interface { + RESTClient() rest.Interface + ExamplesGetter +} + +// CrV1Client is used to interact with features provided by the cr.example.apiextensions.k8s.io group. +type CrV1Client struct { + restClient rest.Interface +} + +func (c *CrV1Client) Examples(namespace string) ExampleInterface { + return newExamples(c, namespace) +} + +// NewForConfig creates a new CrV1Client for the given config. +func NewForConfig(c *rest.Config) (*CrV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &CrV1Client{client}, nil +} + +// NewForConfigOrDie creates a new CrV1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *CrV1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new CrV1Client for the given RESTClient. +func New(c rest.Interface) *CrV1Client { + return &CrV1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *CrV1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/doc.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/doc.go new file mode 100644 index 000000000..3af5d054f --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1 diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/example.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/example.go new file mode 100644 index 000000000..a0cc33852 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/example.go @@ -0,0 +1,157 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + scheme "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/scheme" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// ExamplesGetter has a method to return a ExampleInterface. +// A group's client should implement this interface. +type ExamplesGetter interface { + Examples(namespace string) ExampleInterface +} + +// ExampleInterface has methods to work with Example resources. +type ExampleInterface interface { + Create(*v1.Example) (*v1.Example, error) + Update(*v1.Example) (*v1.Example, error) + Delete(name string, options *meta_v1.DeleteOptions) error + DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error + Get(name string, options meta_v1.GetOptions) (*v1.Example, error) + List(opts meta_v1.ListOptions) (*v1.ExampleList, error) + Watch(opts meta_v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Example, err error) + ExampleExpansion +} + +// examples implements ExampleInterface +type examples struct { + client rest.Interface + ns string +} + +// newExamples returns a Examples +func newExamples(c *CrV1Client, namespace string) *examples { + return &examples{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the example, and returns the corresponding example object, and an error if there is any. +func (c *examples) Get(name string, options meta_v1.GetOptions) (result *v1.Example, err error) { + result = &v1.Example{} + err = c.client.Get(). + Namespace(c.ns). + Resource("examples"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of Examples that match those selectors. +func (c *examples) List(opts meta_v1.ListOptions) (result *v1.ExampleList, err error) { + result = &v1.ExampleList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("examples"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested examples. +func (c *examples) Watch(opts meta_v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("examples"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a example and creates it. Returns the server's representation of the example, and an error, if there is any. +func (c *examples) Create(example *v1.Example) (result *v1.Example, err error) { + result = &v1.Example{} + err = c.client.Post(). + Namespace(c.ns). + Resource("examples"). + Body(example). + Do(). + Into(result) + return +} + +// Update takes the representation of a example and updates it. Returns the server's representation of the example, and an error, if there is any. +func (c *examples) Update(example *v1.Example) (result *v1.Example, err error) { + result = &v1.Example{} + err = c.client.Put(). + Namespace(c.ns). + Resource("examples"). + Name(example.Name). + Body(example). + Do(). + Into(result) + return +} + +// Delete takes name of the example and deletes it. Returns an error if one occurs. +func (c *examples) Delete(name string, options *meta_v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("examples"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *examples) DeleteCollection(options *meta_v1.DeleteOptions, listOptions meta_v1.ListOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("examples"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched example. +func (c *examples) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Example, err error) { + result = &v1.Example{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("examples"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/doc.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/doc.go new file mode 100644 index 000000000..16f443990 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_cr_client.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_cr_client.go new file mode 100644 index 000000000..5ce902313 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_cr_client.go @@ -0,0 +1,40 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeCrV1 struct { + *testing.Fake +} + +func (c *FakeCrV1) Examples(namespace string) v1.ExampleInterface { + return &FakeExamples{c, namespace} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeCrV1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_example.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_example.go new file mode 100644 index 000000000..2db7f5c1e --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/fake/fake_example.go @@ -0,0 +1,128 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + cr_v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeExamples implements ExampleInterface +type FakeExamples struct { + Fake *FakeCrV1 + ns string +} + +var examplesResource = schema.GroupVersionResource{Group: "cr.example.apiextensions.k8s.io", Version: "v1", Resource: "examples"} + +var examplesKind = schema.GroupVersionKind{Group: "cr.example.apiextensions.k8s.io", Version: "v1", Kind: "Example"} + +// Get takes name of the example, and returns the corresponding example object, and an error if there is any. +func (c *FakeExamples) Get(name string, options v1.GetOptions) (result *cr_v1.Example, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(examplesResource, c.ns, name), &cr_v1.Example{}) + + if obj == nil { + return nil, err + } + return obj.(*cr_v1.Example), err +} + +// List takes label and field selectors, and returns the list of Examples that match those selectors. +func (c *FakeExamples) List(opts v1.ListOptions) (result *cr_v1.ExampleList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(examplesResource, examplesKind, c.ns, opts), &cr_v1.ExampleList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &cr_v1.ExampleList{ListMeta: obj.(*cr_v1.ExampleList).ListMeta} + for _, item := range obj.(*cr_v1.ExampleList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested examples. +func (c *FakeExamples) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(examplesResource, c.ns, opts)) + +} + +// Create takes the representation of a example and creates it. Returns the server's representation of the example, and an error, if there is any. +func (c *FakeExamples) Create(example *cr_v1.Example) (result *cr_v1.Example, err error) { + obj, err := c.Fake. + Invokes(testing.NewCreateAction(examplesResource, c.ns, example), &cr_v1.Example{}) + + if obj == nil { + return nil, err + } + return obj.(*cr_v1.Example), err +} + +// Update takes the representation of a example and updates it. Returns the server's representation of the example, and an error, if there is any. +func (c *FakeExamples) Update(example *cr_v1.Example) (result *cr_v1.Example, err error) { + obj, err := c.Fake. + Invokes(testing.NewUpdateAction(examplesResource, c.ns, example), &cr_v1.Example{}) + + if obj == nil { + return nil, err + } + return obj.(*cr_v1.Example), err +} + +// Delete takes name of the example and deletes it. Returns an error if one occurs. +func (c *FakeExamples) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewDeleteAction(examplesResource, c.ns, name), &cr_v1.Example{}) + + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeExamples) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewDeleteCollectionAction(examplesResource, c.ns, listOptions) + + _, err := c.Fake.Invokes(action, &cr_v1.ExampleList{}) + return err +} + +// Patch applies the patch and returns the patched example. +func (c *FakeExamples) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *cr_v1.Example, err error) { + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(examplesResource, c.ns, name, data, subresources...), &cr_v1.Example{}) + + if obj == nil { + return nil, err + } + return obj.(*cr_v1.Example), err +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/generated_expansion.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/generated_expansion.go new file mode 100644 index 000000000..755021ec4 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned/typed/cr/v1/generated_expansion.go @@ -0,0 +1,21 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1 + +type ExampleExpansion interface{} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/interface.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/interface.go new file mode 100644 index 000000000..0c633e3ef --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/interface.go @@ -0,0 +1,46 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package cr + +import ( + v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1" + internalinterfaces "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1 provides access to shared informers for resources in V1. + V1() v1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1 returns a new v1.Interface. +func (g *group) V1() v1.Interface { + return v1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/example.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/example.go new file mode 100644 index 000000000..50b563d39 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/example.go @@ -0,0 +1,89 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + time "time" + + cr_v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + versioned "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned" + internalinterfaces "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces" + v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1" + meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// ExampleInformer provides access to a shared informer and lister for +// Examples. +type ExampleInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1.ExampleLister +} + +type exampleInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc + namespace string +} + +// NewExampleInformer constructs a new informer for Example type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewExampleInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredExampleInformer(client, namespace, resyncPeriod, indexers, nil) +} + +// NewFilteredExampleInformer constructs a new informer for Example type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredExampleInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options meta_v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.CrV1().Examples(namespace).List(options) + }, + WatchFunc: func(options meta_v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.CrV1().Examples(namespace).Watch(options) + }, + }, + &cr_v1.Example{}, + resyncPeriod, + indexers, + ) +} + +func (f *exampleInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredExampleInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *exampleInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&cr_v1.Example{}, f.defaultInformer) +} + +func (f *exampleInformer) Lister() v1.ExampleLister { + return v1.NewExampleLister(f.Informer().GetIndexer()) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/interface.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/interface.go new file mode 100644 index 000000000..96ee1514c --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr/v1/interface.go @@ -0,0 +1,45 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1 + +import ( + internalinterfaces "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // Examples returns a ExampleInformer. + Examples() ExampleInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// Examples returns a ExampleInformer. +func (v *version) Examples() ExampleInformer { + return &exampleInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/factory.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/factory.go new file mode 100644 index 000000000..67c55af39 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/factory.go @@ -0,0 +1,180 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + versioned "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned" + cr "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/cr" + internalinterfaces "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client versioned.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Cr() cr.Interface +} + +func (f *sharedInformerFactory) Cr() cr.Interface { + return cr.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/generic.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/generic.go new file mode 100644 index 000000000..2bf6c5a47 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/generic.go @@ -0,0 +1,62 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=cr.example.apiextensions.k8s.io, Version=v1 + case v1.SchemeGroupVersion.WithResource("examples"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Cr().V1().Examples().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..5b81f037b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,38 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + versioned "k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/clientset/versioned" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/example.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/example.go new file mode 100644 index 000000000..8a64d09cc --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/example.go @@ -0,0 +1,94 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// ExampleLister helps list Examples. +type ExampleLister interface { + // List lists all Examples in the indexer. + List(selector labels.Selector) (ret []*v1.Example, err error) + // Examples returns an object that can list and get Examples. + Examples(namespace string) ExampleNamespaceLister + ExampleListerExpansion +} + +// exampleLister implements the ExampleLister interface. +type exampleLister struct { + indexer cache.Indexer +} + +// NewExampleLister returns a new ExampleLister. +func NewExampleLister(indexer cache.Indexer) ExampleLister { + return &exampleLister{indexer: indexer} +} + +// List lists all Examples in the indexer. +func (s *exampleLister) List(selector labels.Selector) (ret []*v1.Example, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Example)) + }) + return ret, err +} + +// Examples returns an object that can list and get Examples. +func (s *exampleLister) Examples(namespace string) ExampleNamespaceLister { + return exampleNamespaceLister{indexer: s.indexer, namespace: namespace} +} + +// ExampleNamespaceLister helps list and get Examples. +type ExampleNamespaceLister interface { + // List lists all Examples in the indexer for a given namespace. + List(selector labels.Selector) (ret []*v1.Example, err error) + // Get retrieves the Example from the indexer for a given namespace and name. + Get(name string) (*v1.Example, error) + ExampleNamespaceListerExpansion +} + +// exampleNamespaceLister implements the ExampleNamespaceLister +// interface. +type exampleNamespaceLister struct { + indexer cache.Indexer + namespace string +} + +// List lists all Examples in the indexer for a given namespace. +func (s exampleNamespaceLister) List(selector labels.Selector) (ret []*v1.Example, err error) { + err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) { + ret = append(ret, m.(*v1.Example)) + }) + return ret, err +} + +// Get retrieves the Example from the indexer for a given namespace and name. +func (s exampleNamespaceLister) Get(name string) (*v1.Example, error) { + obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1.Resource("example"), name) + } + return obj.(*v1.Example), nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/expansion_generated.go b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/expansion_generated.go new file mode 100644 index 000000000..5291ebaec --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/examples/client-go/pkg/client/listers/cr/v1/expansion_generated.go @@ -0,0 +1,27 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1 + +// ExampleListerExpansion allows custom methods to be added to +// ExampleLister. +type ExampleListerExpansion interface{} + +// ExampleNamespaceListerExpansion allows custom methods to be added to +// ExampleNamespaceLister. +type ExampleNamespaceListerExpansion interface{} diff --git a/vendor/k8s.io/apiextensions-apiserver/hack/boilerplate.go.txt b/vendor/k8s.io/apiextensions-apiserver/hack/boilerplate.go.txt new file mode 100644 index 000000000..b7c650da4 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/hack/boilerplate.go.txt @@ -0,0 +1,16 @@ +/* +Copyright The Kubernetes 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. +*/ + diff --git a/vendor/k8s.io/apiextensions-apiserver/hack/build-image.sh b/vendor/k8s.io/apiextensions-apiserver/hack/build-image.sh new file mode 100755 index 000000000..d0d129078 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/hack/build-image.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +# Copyright 2017 The Kubernetes 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. + + +KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../../../../.. +source "${KUBE_ROOT}/hack/lib/util.sh" + +# Register function to be called on EXIT to remove generated binary. +function cleanup { + rm "${KUBE_ROOT}/vendor/k8s.io/apiextensions-apiserver/artifacts/simple-image/apiextensions-apiserver" +} +trap cleanup EXIT + +pushd "${KUBE_ROOT}/vendor/k8s.io/apiextensions-apiserver" +cp -v ../../../../_output/local/bin/linux/amd64/apiextensions-apiserver ./artifacts/simple-image/apiextensions-apiserver +docker build -t apiextensions-apiserver:latest ./artifacts/simple-image +popd diff --git a/vendor/k8s.io/apiextensions-apiserver/hack/update-codegen.sh b/vendor/k8s.io/apiextensions-apiserver/hack/update-codegen.sh new file mode 100755 index 000000000..a586b48e0 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/hack/update-codegen.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +# Copyright 2017 The Kubernetes 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. + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. +SCRIPT_BASE=${SCRIPT_ROOT}/../.. +CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo k8s.io/code-generator)} + +if LANG=C sed --help 2>&1 | grep -q GNU; then + SED="sed" +elif which gsed &>/dev/null; then + SED="gsed" +else + echo "Failed to find GNU sed as sed or gsed. If you are on Mac: brew install gnu-sed." >&2 + exit 1 +fi + +# Register function to be called on EXIT to remove generated binary. +function cleanup { + rm -f "${CLIENTGEN:-}" + rm -f "${listergen:-}" + rm -f "${informergen:-}" +} +trap cleanup EXIT + +echo "Building client-gen" +CLIENTGEN="${PWD}/client-gen" +go build -o "${CLIENTGEN}" ${CODEGEN_PKG}/cmd/client-gen + +PREFIX=k8s.io/apiextensions-apiserver/pkg/apis +INPUT_BASE="--input-base ${PREFIX}" +INPUT_APIS=( +apiextensions/ +apiextensions/v1beta1 +) +INPUT="--input ${INPUT_APIS[@]}" +CLIENTSET_PATH="--output-package k8s.io/apiextensions-apiserver/pkg/client/clientset" + +${CLIENTGEN} ${INPUT_BASE} ${INPUT} ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE} +${CLIENTGEN} --clientset-name="clientset" ${INPUT_BASE} --input apiextensions/v1beta1 ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE} --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt + + +echo "Building lister-gen" +listergen="${PWD}/lister-gen" +go build -o "${listergen}" ${CODEGEN_PKG}/cmd/lister-gen + +LISTER_INPUT="--input-dirs k8s.io/apiextensions-apiserver/pkg/apis/apiextensions --input-dirs k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" +LISTER_PATH="--output-package k8s.io/apiextensions-apiserver/pkg/client/listers" +${listergen} ${LISTER_INPUT} ${LISTER_PATH} --output-base ${SCRIPT_BASE} --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt + + +echo "Building informer-gen" +informergen="${PWD}/informer-gen" +go build -o "${informergen}" ${CODEGEN_PKG}/cmd/informer-gen + +${informergen} \ + --output-base ${SCRIPT_BASE} \ + --input-dirs k8s.io/apiextensions-apiserver/pkg/apis/apiextensions --input-dirs k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1 \ + --versioned-clientset-package k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset \ + --internal-clientset-package k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset \ + --listers-package k8s.io/apiextensions-apiserver/pkg/client/listers \ + --output-package k8s.io/apiextensions-apiserver/pkg/client/informers \ + --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt + "$@" diff --git a/vendor/k8s.io/apiextensions-apiserver/hack/verify-codegen.sh b/vendor/k8s.io/apiextensions-apiserver/hack/verify-codegen.sh new file mode 100755 index 000000000..ab43ba23d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/hack/verify-codegen.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +# Copyright 2017 The Kubernetes 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. + +set -o errexit +set -o nounset +set -o pipefail + +SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. +SCRIPT_BASE=${SCRIPT_ROOT}/../.. + +DIFFROOT="${SCRIPT_ROOT}/pkg" +TMP_DIFFROOT="${SCRIPT_ROOT}/_tmp/pkg" +_tmp="${SCRIPT_ROOT}/_tmp" + +cleanup() { + rm -rf "${_tmp}" +} +trap "cleanup" EXIT SIGINT + +cleanup + +mkdir -p "${TMP_DIFFROOT}" +cp -a "${DIFFROOT}"/* "${TMP_DIFFROOT}" + +"${SCRIPT_ROOT}/hack/update-codegen.sh" +echo "diffing ${DIFFROOT} against freshly generated codegen" +ret=0 +diff -Naupr "${DIFFROOT}" "${TMP_DIFFROOT}" || ret=$? +cp -a "${TMP_DIFFROOT}"/* "${DIFFROOT}" +if [[ $ret -eq 0 ]] +then + echo "${DIFFROOT} up to date." +else + echo "${DIFFROOT} is out of date. Please run hack/update-codegen.sh" + exit 1 +fi diff --git a/vendor/k8s.io/apiextensions-apiserver/main.go b/vendor/k8s.io/apiextensions-apiserver/main.go new file mode 100644 index 000000000..09143ab6e --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/main.go @@ -0,0 +1,40 @@ +/* +Copyright 2017 The Kubernetes 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 main + +import ( + "flag" + "os" + + "github.com/golang/glog" + + "k8s.io/apiextensions-apiserver/pkg/cmd/server" + genericapiserver "k8s.io/apiserver/pkg/server" + "k8s.io/apiserver/pkg/util/logs" +) + +func main() { + logs.InitLogs() + defer logs.FlushLogs() + + stopCh := genericapiserver.SetupSignalHandler() + cmd := server.NewCommandStartCustomResourceDefinitionsServer(os.Stdout, os.Stderr, stopCh) + cmd.Flags().AddGoFlagSet(flag.CommandLine) + if err := cmd.Execute(); err != nil { + glog.Fatal(err) + } +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.go new file mode 100644 index 000000000..37b4d1df9 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.go @@ -0,0 +1,262 @@ +/* +Copyright 2017 The Kubernetes 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 apiextensions + +import "k8s.io/apimachinery/pkg/runtime" + +// TODO: Update this after a tag is created for interface fields in DeepCopy +func (in *JSONSchemaProps) DeepCopy() *JSONSchemaProps { + if in == nil { + return nil + } + out := new(JSONSchemaProps) + + *out = *in + + if in.Default != nil { + defaultJSON := JSON(runtime.DeepCopyJSONValue(*(in.Default))) + out.Default = &(defaultJSON) + } else { + out.Default = nil + } + + if in.Example != nil { + exampleJSON := JSON(runtime.DeepCopyJSONValue(*(in.Example))) + out.Example = &(exampleJSON) + } else { + out.Example = nil + } + + if in.Ref != nil { + in, out := &in.Ref, &out.Ref + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + + if in.Maximum != nil { + in, out := &in.Maximum, &out.Maximum + if *in == nil { + *out = nil + } else { + *out = new(float64) + **out = **in + } + } + + if in.Minimum != nil { + in, out := &in.Minimum, &out.Minimum + if *in == nil { + *out = nil + } else { + *out = new(float64) + **out = **in + } + } + + if in.MaxLength != nil { + in, out := &in.MaxLength, &out.MaxLength + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MinLength != nil { + in, out := &in.MinLength, &out.MinLength + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.MaxItems != nil { + in, out := &in.MaxItems, &out.MaxItems + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MinItems != nil { + in, out := &in.MinItems, &out.MinItems + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MultipleOf != nil { + in, out := &in.MultipleOf, &out.MultipleOf + if *in == nil { + *out = nil + } else { + *out = new(float64) + **out = **in + } + } + + if in.Enum != nil { + out.Enum = make([]JSON, len(in.Enum)) + for i := range in.Enum { + out.Enum[i] = runtime.DeepCopyJSONValue(in.Enum[i]) + } + } + + if in.MaxProperties != nil { + in, out := &in.MaxProperties, &out.MaxProperties + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MinProperties != nil { + in, out := &in.MinProperties, &out.MinProperties + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.Required != nil { + in, out := &in.Required, &out.Required + *out = make([]string, len(*in)) + copy(*out, *in) + } + + if in.Items != nil { + in, out := &in.Items, &out.Items + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaPropsOrArray) + (*in).DeepCopyInto(*out) + } + } + + if in.AllOf != nil { + in, out := &in.AllOf, &out.AllOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + + if in.OneOf != nil { + in, out := &in.OneOf, &out.OneOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AnyOf != nil { + in, out := &in.AnyOf, &out.AnyOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + + if in.Not != nil { + in, out := &in.Not, &out.Not + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaProps) + (*in).DeepCopyInto(*out) + } + } + + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = make(map[string]JSONSchemaProps, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.AdditionalProperties != nil { + in, out := &in.AdditionalProperties, &out.AdditionalProperties + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaPropsOrBool) + (*in).DeepCopyInto(*out) + } + } + + if in.PatternProperties != nil { + in, out := &in.PatternProperties, &out.PatternProperties + *out = make(map[string]JSONSchemaProps, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.Dependencies != nil { + in, out := &in.Dependencies, &out.Dependencies + *out = make(JSONSchemaDependencies, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.AdditionalItems != nil { + in, out := &in.AdditionalItems, &out.AdditionalItems + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaPropsOrBool) + (*in).DeepCopyInto(*out) + } + } + + if in.Definitions != nil { + in, out := &in.Definitions, &out.Definitions + *out = make(JSONSchemaDefinitions, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.ExternalDocs != nil { + in, out := &in.ExternalDocs, &out.ExternalDocs + if *in == nil { + *out = nil + } else { + *out = new(ExternalDocumentation) + (*in).DeepCopyInto(*out) + } + } + + return out +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/doc.go new file mode 100644 index 000000000..0517ec6a8 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/doc.go @@ -0,0 +1,21 @@ +/* +Copyright 2017 The Kubernetes 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. +*/ + +// +k8s:deepcopy-gen=package + +// Package apiextensions is the internal version of the API. +// +groupName=apiextensions.k8s.io +package apiextensions // import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/fuzzer/fuzzer.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/fuzzer/fuzzer.go new file mode 100644 index 000000000..ff8cc0334 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/fuzzer/fuzzer.go @@ -0,0 +1,142 @@ +/* +Copyright 2017 The Kubernetes 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 fuzzer + +import ( + "reflect" + "strings" + + "github.com/google/gofuzz" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var swaggerMetadataDescriptions = metav1.ObjectMeta{}.SwaggerDoc() + +// Funcs returns the fuzzer functions for the apiextensions apis. +func Funcs(codecs runtimeserializer.CodecFactory) []interface{} { + return []interface{}{ + func(obj *apiextensions.CustomResourceDefinitionSpec, c fuzz.Continue) { + c.FuzzNoCustom(obj) + + // match our defaulter + if len(obj.Scope) == 0 { + obj.Scope = apiextensions.NamespaceScoped + } + if len(obj.Names.Singular) == 0 { + obj.Names.Singular = strings.ToLower(obj.Names.Kind) + } + if len(obj.Names.ListKind) == 0 && len(obj.Names.Kind) > 0 { + obj.Names.ListKind = obj.Names.Kind + "List" + } + if len(obj.Versions) == 0 && len(obj.Version) != 0 { + obj.Versions = []apiextensions.CustomResourceDefinitionVersion{ + { + Name: obj.Version, + Served: true, + Storage: true, + }, + } + } else if len(obj.Versions) != 0 { + obj.Version = obj.Versions[0].Name + } + if len(obj.AdditionalPrinterColumns) == 0 { + obj.AdditionalPrinterColumns = []apiextensions.CustomResourceColumnDefinition{ + {Name: "Age", Type: "date", Description: swaggerMetadataDescriptions["creationTimestamp"], JSONPath: ".metadata.creationTimestamp"}, + } + } + }, + func(obj *apiextensions.CustomResourceDefinition, c fuzz.Continue) { + c.FuzzNoCustom(obj) + + if len(obj.Status.StoredVersions) == 0 { + for _, v := range obj.Spec.Versions { + if v.Storage && !apiextensions.IsStoredVersion(obj, v.Name) { + obj.Status.StoredVersions = append(obj.Status.StoredVersions, v.Name) + } + } + } + }, + func(obj *apiextensions.JSONSchemaProps, c fuzz.Continue) { + // we cannot use c.FuzzNoCustom because of the interface{} fields. So let's loop with reflection. + vobj := reflect.ValueOf(obj).Elem() + tobj := reflect.TypeOf(obj).Elem() + for i := 0; i < tobj.NumField(); i++ { + field := tobj.Field(i) + switch field.Name { + case "Default", "Enum", "Example", "Ref": + continue + default: + isValue := true + switch field.Type.Kind() { + case reflect.Interface, reflect.Map, reflect.Slice, reflect.Ptr: + isValue = false + } + if isValue || c.Intn(10) == 0 { + c.Fuzz(vobj.Field(i).Addr().Interface()) + } + } + } + if c.RandBool() { + validJSON := apiextensions.JSON(`{"some": {"json": "test"}, "string": 42}`) + obj.Default = &validJSON + } + if c.RandBool() { + obj.Enum = []apiextensions.JSON{c.Float64(), c.RandString(), c.RandBool()} + } + if c.RandBool() { + validJSON := apiextensions.JSON(`"foobarbaz"`) + obj.Example = &validJSON + } + if c.RandBool() { + validRef := "validRef" + obj.Ref = &validRef + } + }, + func(obj *apiextensions.JSONSchemaPropsOrBool, c fuzz.Continue) { + if c.RandBool() { + obj.Allows = true + obj.Schema = &apiextensions.JSONSchemaProps{} + c.Fuzz(obj.Schema) + } else { + obj.Allows = c.RandBool() + } + }, + func(obj *apiextensions.JSONSchemaPropsOrArray, c fuzz.Continue) { + // disallow both Schema and JSONSchemas to be nil. + if c.RandBool() { + obj.Schema = &apiextensions.JSONSchemaProps{} + c.Fuzz(obj.Schema) + } else { + obj.JSONSchemas = make([]apiextensions.JSONSchemaProps, c.Intn(3)+1) + for i := range obj.JSONSchemas { + c.Fuzz(&obj.JSONSchemas[i]) + } + } + }, + func(obj *apiextensions.JSONSchemaPropsOrStringArray, c fuzz.Continue) { + if c.RandBool() { + obj.Schema = &apiextensions.JSONSchemaProps{} + c.Fuzz(obj.Schema) + } else { + c.Fuzz(&obj.Property) + } + }, + } +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/helpers.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/helpers.go new file mode 100644 index 000000000..92cad7d9b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/helpers.go @@ -0,0 +1,149 @@ +/* +Copyright 2017 The Kubernetes 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 apiextensions + +import ( + "fmt" + "time" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// SetCRDCondition sets the status condition. It either overwrites the existing one or +// creates a new one +func SetCRDCondition(crd *CustomResourceDefinition, newCondition CustomResourceDefinitionCondition) { + existingCondition := FindCRDCondition(crd, newCondition.Type) + if existingCondition == nil { + newCondition.LastTransitionTime = metav1.NewTime(time.Now()) + crd.Status.Conditions = append(crd.Status.Conditions, newCondition) + return + } + + if existingCondition.Status != newCondition.Status { + existingCondition.Status = newCondition.Status + existingCondition.LastTransitionTime = newCondition.LastTransitionTime + } + + existingCondition.Reason = newCondition.Reason + existingCondition.Message = newCondition.Message +} + +// RemoveCRDCondition removes the status condition. +func RemoveCRDCondition(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) { + newConditions := []CustomResourceDefinitionCondition{} + for _, condition := range crd.Status.Conditions { + if condition.Type != conditionType { + newConditions = append(newConditions, condition) + } + } + crd.Status.Conditions = newConditions +} + +// FindCRDCondition returns the condition you're looking for or nil +func FindCRDCondition(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) *CustomResourceDefinitionCondition { + for i := range crd.Status.Conditions { + if crd.Status.Conditions[i].Type == conditionType { + return &crd.Status.Conditions[i] + } + } + + return nil +} + +// IsCRDConditionTrue indicates if the condition is present and strictly true +func IsCRDConditionTrue(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) bool { + return IsCRDConditionPresentAndEqual(crd, conditionType, ConditionTrue) +} + +// IsCRDConditionFalse indicates if the condition is present and false true +func IsCRDConditionFalse(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) bool { + return IsCRDConditionPresentAndEqual(crd, conditionType, ConditionFalse) +} + +// IsCRDConditionPresentAndEqual indicates if the condition is present and equal to the arg +func IsCRDConditionPresentAndEqual(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType, status ConditionStatus) bool { + for _, condition := range crd.Status.Conditions { + if condition.Type == conditionType { + return condition.Status == status + } + } + return false +} + +// IsCRDConditionEquivalent returns true if the lhs and rhs are equivalent except for times +func IsCRDConditionEquivalent(lhs, rhs *CustomResourceDefinitionCondition) bool { + if lhs == nil && rhs == nil { + return true + } + if lhs == nil || rhs == nil { + return false + } + + return lhs.Message == rhs.Message && lhs.Reason == rhs.Reason && lhs.Status == rhs.Status && lhs.Type == rhs.Type +} + +// CRDHasFinalizer returns true if the finalizer is in the list +func CRDHasFinalizer(crd *CustomResourceDefinition, needle string) bool { + for _, finalizer := range crd.Finalizers { + if finalizer == needle { + return true + } + } + + return false +} + +// CRDRemoveFinalizer removes the finalizer if present +func CRDRemoveFinalizer(crd *CustomResourceDefinition, needle string) { + newFinalizers := []string{} + for _, finalizer := range crd.Finalizers { + if finalizer != needle { + newFinalizers = append(newFinalizers, finalizer) + } + } + crd.Finalizers = newFinalizers +} + +// HasServedCRDVersion returns true if `version` is in the list of CRD's versions and the Served flag is set. +func HasServedCRDVersion(crd *CustomResourceDefinition, version string) bool { + for _, v := range crd.Spec.Versions { + if v.Name == version { + return v.Served + } + } + return false +} + +// GetCRDStorageVersion returns the storage version for given CRD. +func GetCRDStorageVersion(crd *CustomResourceDefinition) (string, error) { + for _, v := range crd.Spec.Versions { + if v.Storage { + return v.Name, nil + } + } + // This should not happened if crd is valid + return "", fmt.Errorf("invalid CustomResourceDefinition, no storage version") +} + +func IsStoredVersion(crd *CustomResourceDefinition, version string) bool { + for _, v := range crd.Status.StoredVersions { + if version == v { + return true + } + } + return false +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go new file mode 100644 index 000000000..2fd04b77d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install/install.go @@ -0,0 +1,31 @@ +/* +Copyright 2017 The Kubernetes 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 install + +import ( + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + "k8s.io/apimachinery/pkg/runtime" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" +) + +// Install registers the API group and adds types to a scheme +func Install(scheme *runtime.Scheme) { + utilruntime.Must(apiextensions.AddToScheme(scheme)) + utilruntime.Must(v1beta1.AddToScheme(scheme)) + utilruntime.Must(scheme.SetVersionPriority(v1beta1.SchemeGroupVersion)) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/register.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/register.go new file mode 100644 index 000000000..273f7f123 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/register.go @@ -0,0 +1,51 @@ +/* +Copyright 2017 The Kubernetes 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 apiextensions + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +const GroupName = "apiextensions.k8s.io" + +// SchemeGroupVersion is group version used to register these objects +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} + +// Kind takes an unqualified kind and returns back a Group qualified GroupKind +func Kind(kind string) schema.GroupKind { + return SchemeGroupVersion.WithKind(kind).GroupKind() +} + +// Resource takes an unqualified resource and returns back a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + AddToScheme = SchemeBuilder.AddToScheme +) + +// Adds the list of known types to the given scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &CustomResourceDefinition{}, + &CustomResourceDefinitionList{}, + ) + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types.go new file mode 100644 index 000000000..6fc75154f --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types.go @@ -0,0 +1,250 @@ +/* +Copyright 2017 The Kubernetes 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 apiextensions + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// CustomResourceDefinitionSpec describes how a user wants their resource to appear +type CustomResourceDefinitionSpec struct { + // Group is the group this resource belongs in + Group string + // Version is the version this resource belongs in + // Should be always first item in Versions field if provided. + // Optional, but at least one of Version or Versions must be set. + // Deprecated: Please use `Versions`. + Version string + // Names are the names used to describe this custom resource + Names CustomResourceDefinitionNames + // Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced + Scope ResourceScope + // Validation describes the validation methods for CustomResources + Validation *CustomResourceValidation + // Subresources describes the subresources for CustomResources + Subresources *CustomResourceSubresources + // Versions is the list of all supported versions for this resource. + // If Version field is provided, this field is optional. + // Validation: All versions must use the same validation schema for now. i.e., top + // level Validation field is applied to all of these versions. + // Order: The version name will be used to compute the order. + // If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered + // lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), + // then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first + // by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing + // major version, then minor version. An example sorted list of versions: + // v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. + Versions []CustomResourceDefinitionVersion + // AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. + AdditionalPrinterColumns []CustomResourceColumnDefinition +} + +type CustomResourceDefinitionVersion struct { + // Name is the version name, e.g. “v1”, “v2beta1”, etc. + Name string + // Served is a flag enabling/disabling this version from being served via REST APIs + Served bool + // Storage flags the version as storage version. There must be exactly one flagged + // as storage version. + Storage bool +} + +// CustomResourceColumnDefinition specifies a column for server side printing. +type CustomResourceColumnDefinition struct { + // name is a human readable name for the column. + Name string + // type is an OpenAPI type definition for this column. + // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. + Type string + // format is an optional OpenAPI type definition for this column. The 'name' format is applied + // to the primary identifier column to assist in clients identifying column is the resource name. + // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. + Format string + // description is a human readable description of this column. + Description string + // priority is an integer defining the relative importance of this column compared to others. Lower + // numbers are considered higher priority. Columns that may be omitted in limited space scenarios + // should be given a higher priority. + Priority int32 + + // JSONPath is a simple JSON path, i.e. without array notation. + JSONPath string +} + +// CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition +type CustomResourceDefinitionNames struct { + // Plural is the plural name of the resource to serve. It must match the name of the CustomResourceDefinition-registration + // too: plural.group and it must be all lowercase. + Plural string + // Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased + Singular string + // ShortNames are short names for the resource. It must be all lowercase. + ShortNames []string + // Kind is the serialized kind of the resource. It is normally CamelCase and singular. + Kind string + // ListKind is the serialized kind of the list for this resource. Defaults to List. + ListKind string + // Categories is a list of grouped resources custom resources belong to (e.g. 'all') + // +optional + Categories []string +} + +// ResourceScope is an enum defining the different scopes available to a custom resource +type ResourceScope string + +const ( + ClusterScoped ResourceScope = "Cluster" + NamespaceScoped ResourceScope = "Namespaced" +) + +type ConditionStatus string + +// These are valid condition statuses. "ConditionTrue" means a resource is in the condition. +// "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes +// can't decide if a resource is in the condition or not. In the future, we could add other +// intermediate conditions, e.g. ConditionDegraded. +const ( + ConditionTrue ConditionStatus = "True" + ConditionFalse ConditionStatus = "False" + ConditionUnknown ConditionStatus = "Unknown" +) + +// CustomResourceDefinitionConditionType is a valid value for CustomResourceDefinitionCondition.Type +type CustomResourceDefinitionConditionType string + +const ( + // Established means that the resource has become active. A resource is established when all names are + // accepted without a conflict for the first time. A resource stays established until deleted, even during + // a later NamesAccepted due to changed names. Note that not all names can be changed. + Established CustomResourceDefinitionConditionType = "Established" + // NamesAccepted means the names chosen for this CustomResourceDefinition do not conflict with others in + // the group and are therefore accepted. + NamesAccepted CustomResourceDefinitionConditionType = "NamesAccepted" + // Terminating means that the CustomResourceDefinition has been deleted and is cleaning up. + Terminating CustomResourceDefinitionConditionType = "Terminating" +) + +// CustomResourceDefinitionCondition contains details for the current condition of this pod. +type CustomResourceDefinitionCondition struct { + // Type is the type of the condition. + Type CustomResourceDefinitionConditionType + // Status is the status of the condition. + // Can be True, False, Unknown. + Status ConditionStatus + // Last time the condition transitioned from one status to another. + // +optional + LastTransitionTime metav1.Time + // Unique, one-word, CamelCase reason for the condition's last transition. + // +optional + Reason string + // Human-readable message indicating details about last transition. + // +optional + Message string +} + +// CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition +type CustomResourceDefinitionStatus struct { + // Conditions indicate state for particular aspects of a CustomResourceDefinition + Conditions []CustomResourceDefinitionCondition + + // AcceptedNames are the names that are actually being used to serve discovery + // They may be different than the names in spec. + AcceptedNames CustomResourceDefinitionNames + + // StoredVersions are all versions of CustomResources that were ever persisted. Tracking these + // versions allows a migration path for stored versions in etcd. The field is mutable + // so the migration controller can first finish a migration to another version (i.e. + // that no old objects are left in the storage), and then remove the rest of the + // versions from this list. + // None of the versions in this list can be removed from the spec.Versions field. + StoredVersions []string +} + +// CustomResourceCleanupFinalizer is the name of the finalizer which will delete instances of +// a CustomResourceDefinition +const CustomResourceCleanupFinalizer = "customresourcecleanup.apiextensions.k8s.io" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format +// <.spec.name>.<.spec.group>. +type CustomResourceDefinition struct { + metav1.TypeMeta + metav1.ObjectMeta + + // Spec describes how the user wants the resources to appear + Spec CustomResourceDefinitionSpec + // Status indicates the actual state of the CustomResourceDefinition + Status CustomResourceDefinitionStatus +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CustomResourceDefinitionList is a list of CustomResourceDefinition objects. +type CustomResourceDefinitionList struct { + metav1.TypeMeta + metav1.ListMeta + + // Items individual CustomResourceDefinitions + Items []CustomResourceDefinition +} + +// CustomResourceValidation is a list of validation methods for CustomResources. +type CustomResourceValidation struct { + // OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. + OpenAPIV3Schema *JSONSchemaProps +} + +// CustomResourceSubresources defines the status and scale subresources for CustomResources. +type CustomResourceSubresources struct { + // Status denotes the status subresource for CustomResources + Status *CustomResourceSubresourceStatus + // Scale denotes the scale subresource for CustomResources + Scale *CustomResourceSubresourceScale +} + +// CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. +// Status is represented by the `.status` JSON path inside of a CustomResource. When set, +// * exposes a /status subresource for the custom resource +// * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza +// * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza +type CustomResourceSubresourceStatus struct{} + +// CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources. +type CustomResourceSubresourceScale struct { + // SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Spec.Replicas. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .spec. + // If there is no value under the given path in the CustomResource, the /scale subresource will return an error on GET. + SpecReplicasPath string + // StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Replicas. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .status. + // If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource + // will default to 0. + StatusReplicasPath string + // LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Selector. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .status. + // Must be set to work with HPA. + // If there is no value under the given path in the CustomResource, the status label selector value in the /scale + // subresource will default to the empty string. + // +optional + LabelSelectorPath *string +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types_jsonschema.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types_jsonschema.go new file mode 100644 index 000000000..79f34e8bf --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types_jsonschema.go @@ -0,0 +1,96 @@ +/* +Copyright 2017 The Kubernetes 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 apiextensions + +// JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). +type JSONSchemaProps struct { + ID string + Schema JSONSchemaURL + Ref *string + Description string + Type string + Format string + Title string + Default *JSON + Maximum *float64 + ExclusiveMaximum bool + Minimum *float64 + ExclusiveMinimum bool + MaxLength *int64 + MinLength *int64 + Pattern string + MaxItems *int64 + MinItems *int64 + UniqueItems bool + MultipleOf *float64 + Enum []JSON + MaxProperties *int64 + MinProperties *int64 + Required []string + Items *JSONSchemaPropsOrArray + AllOf []JSONSchemaProps + OneOf []JSONSchemaProps + AnyOf []JSONSchemaProps + Not *JSONSchemaProps + Properties map[string]JSONSchemaProps + AdditionalProperties *JSONSchemaPropsOrBool + PatternProperties map[string]JSONSchemaProps + Dependencies JSONSchemaDependencies + AdditionalItems *JSONSchemaPropsOrBool + Definitions JSONSchemaDefinitions + ExternalDocs *ExternalDocumentation + Example *JSON +} + +// JSON represents any valid JSON value. +// These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. +type JSON interface{} + +// JSONSchemaURL represents a schema url. +type JSONSchemaURL string + +// JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps +// or an array of JSONSchemaProps. Mainly here for serialization purposes. +type JSONSchemaPropsOrArray struct { + Schema *JSONSchemaProps + JSONSchemas []JSONSchemaProps +} + +// JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. +// Defaults to true for the boolean property. +type JSONSchemaPropsOrBool struct { + Allows bool + Schema *JSONSchemaProps +} + +// JSONSchemaDependencies represent a dependencies property. +type JSONSchemaDependencies map[string]JSONSchemaPropsOrStringArray + +// JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. +type JSONSchemaPropsOrStringArray struct { + Schema *JSONSchemaProps + Property []string +} + +// JSONSchemaDefinitions contains the models explicitly defined in this spec. +type JSONSchemaDefinitions map[string]JSONSchemaProps + +// ExternalDocumentation allows referencing an external resource for extended documentation. +type ExternalDocumentation struct { + Description string + URL string +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/conversion.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/conversion.go new file mode 100644 index 000000000..f9951009d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/conversion.go @@ -0,0 +1,73 @@ +/* +Copyright 2017 The Kubernetes 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 v1beta1 + +import ( + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/json" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" +) + +func addConversionFuncs(scheme *runtime.Scheme) error { + // Add non-generated conversion functions + err := scheme.AddConversionFuncs( + Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps, + Convert_apiextensions_JSON_To_v1beta1_JSON, + Convert_v1beta1_JSON_To_apiextensions_JSON, + ) + if err != nil { + return err + } + return nil +} + +func Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(in *apiextensions.JSONSchemaProps, out *JSONSchemaProps, s conversion.Scope) error { + if err := autoConvert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(in, out, s); err != nil { + return err + } + if in.Default != nil && *(in.Default) == nil { + out.Default = nil + } + if in.Example != nil && *(in.Example) == nil { + out.Example = nil + } + return nil +} + +func Convert_apiextensions_JSON_To_v1beta1_JSON(in *apiextensions.JSON, out *JSON, s conversion.Scope) error { + raw, err := json.Marshal(*in) + if err != nil { + return err + } + out.Raw = raw + return nil +} + +func Convert_v1beta1_JSON_To_apiextensions_JSON(in *JSON, out *apiextensions.JSON, s conversion.Scope) error { + if in != nil { + var i interface{} + if err := json.Unmarshal(in.Raw, &i); err != nil { + return err + } + *out = i + } else { + out = nil + } + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/deepcopy.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/deepcopy.go new file mode 100644 index 000000000..f6a114e2b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/deepcopy.go @@ -0,0 +1,238 @@ +/* +Copyright 2017 The Kubernetes 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 v1beta1 + +// TODO: Update this after a tag is created for interface fields in DeepCopy +func (in *JSONSchemaProps) DeepCopy() *JSONSchemaProps { + if in == nil { + return nil + } + out := new(JSONSchemaProps) + *out = *in + + if in.Ref != nil { + in, out := &in.Ref, &out.Ref + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + + if in.Maximum != nil { + in, out := &in.Maximum, &out.Maximum + if *in == nil { + *out = nil + } else { + *out = new(float64) + **out = **in + } + } + + if in.Minimum != nil { + in, out := &in.Minimum, &out.Minimum + if *in == nil { + *out = nil + } else { + *out = new(float64) + **out = **in + } + } + + if in.MaxLength != nil { + in, out := &in.MaxLength, &out.MaxLength + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MinLength != nil { + in, out := &in.MinLength, &out.MinLength + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + if in.MaxItems != nil { + in, out := &in.MaxItems, &out.MaxItems + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MinItems != nil { + in, out := &in.MinItems, &out.MinItems + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MultipleOf != nil { + in, out := &in.MultipleOf, &out.MultipleOf + if *in == nil { + *out = nil + } else { + *out = new(float64) + **out = **in + } + } + + if in.MaxProperties != nil { + in, out := &in.MaxProperties, &out.MaxProperties + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.MinProperties != nil { + in, out := &in.MinProperties, &out.MinProperties + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + + if in.Required != nil { + in, out := &in.Required, &out.Required + *out = make([]string, len(*in)) + copy(*out, *in) + } + + if in.Items != nil { + in, out := &in.Items, &out.Items + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaPropsOrArray) + (*in).DeepCopyInto(*out) + } + } + + if in.AllOf != nil { + in, out := &in.AllOf, &out.AllOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + + if in.OneOf != nil { + in, out := &in.OneOf, &out.OneOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.AnyOf != nil { + in, out := &in.AnyOf, &out.AnyOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + + if in.Not != nil { + in, out := &in.Not, &out.Not + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaProps) + (*in).DeepCopyInto(*out) + } + } + + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = make(map[string]JSONSchemaProps, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.AdditionalProperties != nil { + in, out := &in.AdditionalProperties, &out.AdditionalProperties + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaPropsOrBool) + (*in).DeepCopyInto(*out) + } + } + + if in.PatternProperties != nil { + in, out := &in.PatternProperties, &out.PatternProperties + *out = make(map[string]JSONSchemaProps, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.Dependencies != nil { + in, out := &in.Dependencies, &out.Dependencies + *out = make(JSONSchemaDependencies, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.AdditionalItems != nil { + in, out := &in.AdditionalItems, &out.AdditionalItems + if *in == nil { + *out = nil + } else { + *out = new(JSONSchemaPropsOrBool) + (*in).DeepCopyInto(*out) + } + } + + if in.Definitions != nil { + in, out := &in.Definitions, &out.Definitions + *out = make(JSONSchemaDefinitions, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + + if in.ExternalDocs != nil { + in, out := &in.ExternalDocs, &out.ExternalDocs + if *in == nil { + *out = nil + } else { + *out = new(ExternalDocumentation) + (*in).DeepCopyInto(*out) + } + } + + return out +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/defaults.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/defaults.go new file mode 100644 index 000000000..e3235e870 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/defaults.go @@ -0,0 +1,74 @@ +/* +Copyright 2017 The Kubernetes 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 v1beta1 + +import ( + "strings" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" +) + +var swaggerMetadataDescriptions = metav1.ObjectMeta{}.SwaggerDoc() + +func addDefaultingFuncs(scheme *runtime.Scheme) error { + scheme.AddTypeDefaultingFunc(&CustomResourceDefinition{}, func(obj interface{}) { SetDefaults_CustomResourceDefinition(obj.(*CustomResourceDefinition)) }) + // TODO figure out why I can't seem to get my defaulter generated + // return RegisterDefaults(scheme) + return nil +} + +func SetDefaults_CustomResourceDefinition(obj *CustomResourceDefinition) { + SetDefaults_CustomResourceDefinitionSpec(&obj.Spec) + if len(obj.Status.StoredVersions) == 0 { + for _, v := range obj.Spec.Versions { + if v.Storage { + obj.Status.StoredVersions = append(obj.Status.StoredVersions, v.Name) + break + } + } + } +} + +func SetDefaults_CustomResourceDefinitionSpec(obj *CustomResourceDefinitionSpec) { + if len(obj.Scope) == 0 { + obj.Scope = NamespaceScoped + } + if len(obj.Names.Singular) == 0 { + obj.Names.Singular = strings.ToLower(obj.Names.Kind) + } + if len(obj.Names.ListKind) == 0 && len(obj.Names.Kind) > 0 { + obj.Names.ListKind = obj.Names.Kind + "List" + } + // If there is no list of versions, create on using deprecated Version field. + if len(obj.Versions) == 0 && len(obj.Version) != 0 { + obj.Versions = []CustomResourceDefinitionVersion{{ + Name: obj.Version, + Storage: true, + Served: true, + }} + } + // For backward compatibility set the version field to the first item in versions list. + if len(obj.Version) == 0 && len(obj.Versions) != 0 { + obj.Version = obj.Versions[0].Name + } + if len(obj.AdditionalPrinterColumns) == 0 { + obj.AdditionalPrinterColumns = []CustomResourceColumnDefinition{ + {Name: "Age", Type: "date", Description: swaggerMetadataDescriptions["creationTimestamp"], JSONPath: ".metadata.creationTimestamp"}, + } + } +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/doc.go new file mode 100644 index 000000000..50ab2b54c --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/doc.go @@ -0,0 +1,24 @@ +/* +Copyright 2017 The Kubernetes 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. +*/ + +// +k8s:deepcopy-gen=package +// +k8s:conversion-gen=k8s.io/apiextensions-apiserver/pkg/apis/apiextensions +// +k8s:defaulter-gen=TypeMeta + +// Package v1beta1 is the v1beta1 version of the API. +// +groupName=apiextensions.k8s.io +// +k8s:openapi-gen=true +package v1beta1 // import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.pb.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.pb.go new file mode 100644 index 000000000..8e30403c8 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.pb.go @@ -0,0 +1,6023 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by protoc-gen-gogo. +// source: k8s.io/kubernetes/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto +// DO NOT EDIT! + +/* + Package v1beta1 is a generated protocol buffer package. + + It is generated from these files: + k8s.io/kubernetes/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto + + It has these top-level messages: + CustomResourceColumnDefinition + CustomResourceDefinition + CustomResourceDefinitionCondition + CustomResourceDefinitionList + CustomResourceDefinitionNames + CustomResourceDefinitionSpec + CustomResourceDefinitionStatus + CustomResourceDefinitionVersion + CustomResourceSubresourceScale + CustomResourceSubresourceStatus + CustomResourceSubresources + CustomResourceValidation + ExternalDocumentation + JSON + JSONSchemaProps + JSONSchemaPropsOrArray + JSONSchemaPropsOrBool + JSONSchemaPropsOrStringArray +*/ +package v1beta1 + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys" + +import strings "strings" +import reflect "reflect" + +import io "io" + +// 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package + +func (m *CustomResourceColumnDefinition) Reset() { *m = CustomResourceColumnDefinition{} } +func (*CustomResourceColumnDefinition) ProtoMessage() {} +func (*CustomResourceColumnDefinition) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{0} +} + +func (m *CustomResourceDefinition) Reset() { *m = CustomResourceDefinition{} } +func (*CustomResourceDefinition) ProtoMessage() {} +func (*CustomResourceDefinition) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{1} +} + +func (m *CustomResourceDefinitionCondition) Reset() { *m = CustomResourceDefinitionCondition{} } +func (*CustomResourceDefinitionCondition) ProtoMessage() {} +func (*CustomResourceDefinitionCondition) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{2} +} + +func (m *CustomResourceDefinitionList) Reset() { *m = CustomResourceDefinitionList{} } +func (*CustomResourceDefinitionList) ProtoMessage() {} +func (*CustomResourceDefinitionList) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{3} +} + +func (m *CustomResourceDefinitionNames) Reset() { *m = CustomResourceDefinitionNames{} } +func (*CustomResourceDefinitionNames) ProtoMessage() {} +func (*CustomResourceDefinitionNames) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{4} +} + +func (m *CustomResourceDefinitionSpec) Reset() { *m = CustomResourceDefinitionSpec{} } +func (*CustomResourceDefinitionSpec) ProtoMessage() {} +func (*CustomResourceDefinitionSpec) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{5} +} + +func (m *CustomResourceDefinitionStatus) Reset() { *m = CustomResourceDefinitionStatus{} } +func (*CustomResourceDefinitionStatus) ProtoMessage() {} +func (*CustomResourceDefinitionStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{6} +} + +func (m *CustomResourceDefinitionVersion) Reset() { *m = CustomResourceDefinitionVersion{} } +func (*CustomResourceDefinitionVersion) ProtoMessage() {} +func (*CustomResourceDefinitionVersion) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{7} +} + +func (m *CustomResourceSubresourceScale) Reset() { *m = CustomResourceSubresourceScale{} } +func (*CustomResourceSubresourceScale) ProtoMessage() {} +func (*CustomResourceSubresourceScale) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{8} +} + +func (m *CustomResourceSubresourceStatus) Reset() { *m = CustomResourceSubresourceStatus{} } +func (*CustomResourceSubresourceStatus) ProtoMessage() {} +func (*CustomResourceSubresourceStatus) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{9} +} + +func (m *CustomResourceSubresources) Reset() { *m = CustomResourceSubresources{} } +func (*CustomResourceSubresources) ProtoMessage() {} +func (*CustomResourceSubresources) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{10} +} + +func (m *CustomResourceValidation) Reset() { *m = CustomResourceValidation{} } +func (*CustomResourceValidation) ProtoMessage() {} +func (*CustomResourceValidation) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{11} +} + +func (m *ExternalDocumentation) Reset() { *m = ExternalDocumentation{} } +func (*ExternalDocumentation) ProtoMessage() {} +func (*ExternalDocumentation) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } + +func (m *JSON) Reset() { *m = JSON{} } +func (*JSON) ProtoMessage() {} +func (*JSON) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } + +func (m *JSONSchemaProps) Reset() { *m = JSONSchemaProps{} } +func (*JSONSchemaProps) ProtoMessage() {} +func (*JSONSchemaProps) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } + +func (m *JSONSchemaPropsOrArray) Reset() { *m = JSONSchemaPropsOrArray{} } +func (*JSONSchemaPropsOrArray) ProtoMessage() {} +func (*JSONSchemaPropsOrArray) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } + +func (m *JSONSchemaPropsOrBool) Reset() { *m = JSONSchemaPropsOrBool{} } +func (*JSONSchemaPropsOrBool) ProtoMessage() {} +func (*JSONSchemaPropsOrBool) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } + +func (m *JSONSchemaPropsOrStringArray) Reset() { *m = JSONSchemaPropsOrStringArray{} } +func (*JSONSchemaPropsOrStringArray) ProtoMessage() {} +func (*JSONSchemaPropsOrStringArray) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{17} +} + +func init() { + proto.RegisterType((*CustomResourceColumnDefinition)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceColumnDefinition") + proto.RegisterType((*CustomResourceDefinition)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition") + proto.RegisterType((*CustomResourceDefinitionCondition)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition") + proto.RegisterType((*CustomResourceDefinitionList)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList") + proto.RegisterType((*CustomResourceDefinitionNames)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames") + proto.RegisterType((*CustomResourceDefinitionSpec)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec") + proto.RegisterType((*CustomResourceDefinitionStatus)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus") + proto.RegisterType((*CustomResourceDefinitionVersion)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionVersion") + proto.RegisterType((*CustomResourceSubresourceScale)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceSubresourceScale") + proto.RegisterType((*CustomResourceSubresourceStatus)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceSubresourceStatus") + proto.RegisterType((*CustomResourceSubresources)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceSubresources") + proto.RegisterType((*CustomResourceValidation)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation") + proto.RegisterType((*ExternalDocumentation)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation") + proto.RegisterType((*JSON)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON") + proto.RegisterType((*JSONSchemaProps)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps") + proto.RegisterType((*JSONSchemaPropsOrArray)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray") + proto.RegisterType((*JSONSchemaPropsOrBool)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool") + proto.RegisterType((*JSONSchemaPropsOrStringArray)(nil), "k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray") +} +func (m *CustomResourceColumnDefinition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceColumnDefinition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Format))) + i += copy(dAtA[i:], m.Format) + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Description))) + i += copy(dAtA[i:], m.Description) + dAtA[i] = 0x28 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Priority)) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.JSONPath))) + i += copy(dAtA[i:], m.JSONPath) + return i, nil +} + +func (m *CustomResourceDefinition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceDefinition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n2, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n3, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + return i, nil +} + +func (m *CustomResourceDefinitionCondition) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceDefinitionCondition) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status))) + i += copy(dAtA[i:], m.Status) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) + n4, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) + i += copy(dAtA[i:], m.Reason) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message))) + i += copy(dAtA[i:], m.Message) + return i, nil +} + +func (m *CustomResourceDefinitionList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceDefinitionList) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) + n5, err := m.ListMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + if len(m.Items) > 0 { + for _, msg := range m.Items { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *CustomResourceDefinitionNames) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceDefinitionNames) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Plural))) + i += copy(dAtA[i:], m.Plural) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Singular))) + i += copy(dAtA[i:], m.Singular) + if len(m.ShortNames) > 0 { + for _, s := range m.ShortNames { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Kind))) + i += copy(dAtA[i:], m.Kind) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ListKind))) + i += copy(dAtA[i:], m.ListKind) + if len(m.Categories) > 0 { + for _, s := range m.Categories { + dAtA[i] = 0x32 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *CustomResourceDefinitionSpec) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceDefinitionSpec) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Group))) + i += copy(dAtA[i:], m.Group) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Version))) + i += copy(dAtA[i:], m.Version) + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Names.Size())) + n6, err := m.Names.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Scope))) + i += copy(dAtA[i:], m.Scope) + if m.Validation != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Validation.Size())) + n7, err := m.Validation.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + } + if m.Subresources != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Subresources.Size())) + n8, err := m.Subresources.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + } + if len(m.Versions) > 0 { + for _, msg := range m.Versions { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.AdditionalPrinterColumns) > 0 { + for _, msg := range m.AdditionalPrinterColumns { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *CustomResourceDefinitionStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceDefinitionStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if len(m.Conditions) > 0 { + for _, msg := range m.Conditions { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AcceptedNames.Size())) + n9, err := m.AcceptedNames.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n9 + if len(m.StoredVersions) > 0 { + for _, s := range m.StoredVersions { + dAtA[i] = 0x1a + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func (m *CustomResourceDefinitionVersion) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceDefinitionVersion) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i += copy(dAtA[i:], m.Name) + dAtA[i] = 0x10 + i++ + if m.Served { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + dAtA[i] = 0x18 + i++ + if m.Storage { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + return i, nil +} + +func (m *CustomResourceSubresourceScale) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceSubresourceScale) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.SpecReplicasPath))) + i += copy(dAtA[i:], m.SpecReplicasPath) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.StatusReplicasPath))) + i += copy(dAtA[i:], m.StatusReplicasPath) + if m.LabelSelectorPath != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.LabelSelectorPath))) + i += copy(dAtA[i:], *m.LabelSelectorPath) + } + return i, nil +} + +func (m *CustomResourceSubresourceStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceSubresourceStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + return i, nil +} + +func (m *CustomResourceSubresources) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceSubresources) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Status != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n10, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n10 + } + if m.Scale != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Scale.Size())) + n11, err := m.Scale.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n11 + } + return i, nil +} + +func (m *CustomResourceValidation) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CustomResourceValidation) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.OpenAPIV3Schema != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.OpenAPIV3Schema.Size())) + n12, err := m.OpenAPIV3Schema.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n12 + } + return i, nil +} + +func (m *ExternalDocumentation) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExternalDocumentation) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Description))) + i += copy(dAtA[i:], m.Description) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.URL))) + i += copy(dAtA[i:], m.URL) + return i, nil +} + +func (m *JSON) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *JSON) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Raw != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Raw))) + i += copy(dAtA[i:], m.Raw) + } + return i, nil +} + +func (m *JSONSchemaProps) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *JSONSchemaProps) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.ID))) + i += copy(dAtA[i:], m.ID) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Schema))) + i += copy(dAtA[i:], m.Schema) + if m.Ref != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.Ref))) + i += copy(dAtA[i:], *m.Ref) + } + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Description))) + i += copy(dAtA[i:], m.Description) + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type))) + i += copy(dAtA[i:], m.Type) + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Format))) + i += copy(dAtA[i:], m.Format) + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Title))) + i += copy(dAtA[i:], m.Title) + if m.Default != nil { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Default.Size())) + n13, err := m.Default.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n13 + } + if m.Maximum != nil { + dAtA[i] = 0x49 + i++ + i = encodeFixed64Generated(dAtA, i, uint64(math.Float64bits(float64(*m.Maximum)))) + } + dAtA[i] = 0x50 + i++ + if m.ExclusiveMaximum { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.Minimum != nil { + dAtA[i] = 0x59 + i++ + i = encodeFixed64Generated(dAtA, i, uint64(math.Float64bits(float64(*m.Minimum)))) + } + dAtA[i] = 0x60 + i++ + if m.ExclusiveMinimum { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.MaxLength != nil { + dAtA[i] = 0x68 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.MaxLength)) + } + if m.MinLength != nil { + dAtA[i] = 0x70 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.MinLength)) + } + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Pattern))) + i += copy(dAtA[i:], m.Pattern) + if m.MaxItems != nil { + dAtA[i] = 0x80 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.MaxItems)) + } + if m.MinItems != nil { + dAtA[i] = 0x88 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.MinItems)) + } + dAtA[i] = 0x90 + i++ + dAtA[i] = 0x1 + i++ + if m.UniqueItems { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.MultipleOf != nil { + dAtA[i] = 0x99 + i++ + dAtA[i] = 0x1 + i++ + i = encodeFixed64Generated(dAtA, i, uint64(math.Float64bits(float64(*m.MultipleOf)))) + } + if len(m.Enum) > 0 { + for _, msg := range m.Enum { + dAtA[i] = 0xa2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.MaxProperties != nil { + dAtA[i] = 0xa8 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.MaxProperties)) + } + if m.MinProperties != nil { + dAtA[i] = 0xb0 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.MinProperties)) + } + if len(m.Required) > 0 { + for _, s := range m.Required { + dAtA[i] = 0xba + i++ + dAtA[i] = 0x1 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + if m.Items != nil { + dAtA[i] = 0xc2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Items.Size())) + n14, err := m.Items.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n14 + } + if len(m.AllOf) > 0 { + for _, msg := range m.AllOf { + dAtA[i] = 0xca + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.OneOf) > 0 { + for _, msg := range m.OneOf { + dAtA[i] = 0xd2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if len(m.AnyOf) > 0 { + for _, msg := range m.AnyOf { + dAtA[i] = 0xda + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + if m.Not != nil { + dAtA[i] = 0xe2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Not.Size())) + n15, err := m.Not.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n15 + } + if len(m.Properties) > 0 { + keysForProperties := make([]string, 0, len(m.Properties)) + for k := range m.Properties { + keysForProperties = append(keysForProperties, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForProperties) + for _, k := range keysForProperties { + dAtA[i] = 0xea + i++ + dAtA[i] = 0x1 + i++ + v := m.Properties[string(k)] + msgSize := 0 + if (&v) != nil { + msgSize = (&v).Size() + msgSize += 1 + sovGenerated(uint64(msgSize)) + } + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + msgSize + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) + n16, err := (&v).MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n16 + } + } + if m.AdditionalProperties != nil { + dAtA[i] = 0xf2 + i++ + dAtA[i] = 0x1 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AdditionalProperties.Size())) + n17, err := m.AdditionalProperties.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 + } + if len(m.PatternProperties) > 0 { + keysForPatternProperties := make([]string, 0, len(m.PatternProperties)) + for k := range m.PatternProperties { + keysForPatternProperties = append(keysForPatternProperties, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForPatternProperties) + for _, k := range keysForPatternProperties { + dAtA[i] = 0xfa + i++ + dAtA[i] = 0x1 + i++ + v := m.PatternProperties[string(k)] + msgSize := 0 + if (&v) != nil { + msgSize = (&v).Size() + msgSize += 1 + sovGenerated(uint64(msgSize)) + } + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + msgSize + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) + n18, err := (&v).MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n18 + } + } + if len(m.Dependencies) > 0 { + keysForDependencies := make([]string, 0, len(m.Dependencies)) + for k := range m.Dependencies { + keysForDependencies = append(keysForDependencies, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForDependencies) + for _, k := range keysForDependencies { + dAtA[i] = 0x82 + i++ + dAtA[i] = 0x2 + i++ + v := m.Dependencies[string(k)] + msgSize := 0 + if (&v) != nil { + msgSize = (&v).Size() + msgSize += 1 + sovGenerated(uint64(msgSize)) + } + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + msgSize + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) + n19, err := (&v).MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n19 + } + } + if m.AdditionalItems != nil { + dAtA[i] = 0x8a + i++ + dAtA[i] = 0x2 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AdditionalItems.Size())) + n20, err := m.AdditionalItems.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n20 + } + if len(m.Definitions) > 0 { + keysForDefinitions := make([]string, 0, len(m.Definitions)) + for k := range m.Definitions { + keysForDefinitions = append(keysForDefinitions, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForDefinitions) + for _, k := range keysForDefinitions { + dAtA[i] = 0x92 + i++ + dAtA[i] = 0x2 + i++ + v := m.Definitions[string(k)] + msgSize := 0 + if (&v) != nil { + msgSize = (&v).Size() + msgSize += 1 + sovGenerated(uint64(msgSize)) + } + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + msgSize + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) + n21, err := (&v).MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 + } + } + if m.ExternalDocs != nil { + dAtA[i] = 0x9a + i++ + dAtA[i] = 0x2 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ExternalDocs.Size())) + n22, err := m.ExternalDocs.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n22 + } + if m.Example != nil { + dAtA[i] = 0xa2 + i++ + dAtA[i] = 0x2 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Example.Size())) + n23, err := m.Example.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n23 + } + return i, nil +} + +func (m *JSONSchemaPropsOrArray) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *JSONSchemaPropsOrArray) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Schema != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Schema.Size())) + n24, err := m.Schema.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n24 + } + if len(m.JSONSchemas) > 0 { + for _, msg := range m.JSONSchemas { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + return i, nil +} + +func (m *JSONSchemaPropsOrBool) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *JSONSchemaPropsOrBool) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0x8 + i++ + if m.Allows { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i++ + if m.Schema != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Schema.Size())) + n25, err := m.Schema.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n25 + } + return i, nil +} + +func (m *JSONSchemaPropsOrStringArray) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *JSONSchemaPropsOrStringArray) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + if m.Schema != nil { + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Schema.Size())) + n26, err := m.Schema.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n26 + } + if len(m.Property) > 0 { + for _, s := range m.Property { + dAtA[i] = 0x12 + i++ + l = len(s) + for l >= 1<<7 { + dAtA[i] = uint8(uint64(l)&0x7f | 0x80) + l >>= 7 + i++ + } + dAtA[i] = uint8(l) + i++ + i += copy(dAtA[i:], s) + } + } + return i, nil +} + +func encodeFixed64Generated(dAtA []byte, offset int, v uint64) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + dAtA[offset+4] = uint8(v >> 32) + dAtA[offset+5] = uint8(v >> 40) + dAtA[offset+6] = uint8(v >> 48) + dAtA[offset+7] = uint8(v >> 56) + return offset + 8 +} +func encodeFixed32Generated(dAtA []byte, offset int, v uint32) int { + dAtA[offset] = uint8(v) + dAtA[offset+1] = uint8(v >> 8) + dAtA[offset+2] = uint8(v >> 16) + dAtA[offset+3] = uint8(v >> 24) + return offset + 4 +} +func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int { + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return offset + 1 +} +func (m *CustomResourceColumnDefinition) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Format) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Description) + n += 1 + l + sovGenerated(uint64(l)) + n += 1 + sovGenerated(uint64(m.Priority)) + l = len(m.JSONPath) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *CustomResourceDefinition) Size() (n int) { + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Spec.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *CustomResourceDefinitionCondition) Size() (n int) { + var l int + _ = l + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Status) + n += 1 + l + sovGenerated(uint64(l)) + l = m.LastTransitionTime.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Reason) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Message) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *CustomResourceDefinitionList) Size() (n int) { + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *CustomResourceDefinitionNames) Size() (n int) { + var l int + _ = l + l = len(m.Plural) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Singular) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.ShortNames) > 0 { + for _, s := range m.ShortNames { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = len(m.Kind) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.ListKind) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Categories) > 0 { + for _, s := range m.Categories { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *CustomResourceDefinitionSpec) Size() (n int) { + var l int + _ = l + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Version) + n += 1 + l + sovGenerated(uint64(l)) + l = m.Names.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Scope) + n += 1 + l + sovGenerated(uint64(l)) + if m.Validation != nil { + l = m.Validation.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Subresources != nil { + l = m.Subresources.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Versions) > 0 { + for _, e := range m.Versions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + if len(m.AdditionalPrinterColumns) > 0 { + for _, e := range m.AdditionalPrinterColumns { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *CustomResourceDefinitionStatus) Size() (n int) { + var l int + _ = l + if len(m.Conditions) > 0 { + for _, e := range m.Conditions { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.AcceptedNames.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.StoredVersions) > 0 { + for _, s := range m.StoredVersions { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *CustomResourceDefinitionVersion) Size() (n int) { + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + n += 2 + n += 2 + return n +} + +func (m *CustomResourceSubresourceScale) Size() (n int) { + var l int + _ = l + l = len(m.SpecReplicasPath) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.StatusReplicasPath) + n += 1 + l + sovGenerated(uint64(l)) + if m.LabelSelectorPath != nil { + l = len(*m.LabelSelectorPath) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *CustomResourceSubresourceStatus) Size() (n int) { + var l int + _ = l + return n +} + +func (m *CustomResourceSubresources) Size() (n int) { + var l int + _ = l + if m.Status != nil { + l = m.Status.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Scale != nil { + l = m.Scale.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *CustomResourceValidation) Size() (n int) { + var l int + _ = l + if m.OpenAPIV3Schema != nil { + l = m.OpenAPIV3Schema.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ExternalDocumentation) Size() (n int) { + var l int + _ = l + l = len(m.Description) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.URL) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + +func (m *JSON) Size() (n int) { + var l int + _ = l + if m.Raw != nil { + l = len(m.Raw) + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *JSONSchemaProps) Size() (n int) { + var l int + _ = l + l = len(m.ID) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Schema) + n += 1 + l + sovGenerated(uint64(l)) + if m.Ref != nil { + l = len(*m.Ref) + n += 1 + l + sovGenerated(uint64(l)) + } + l = len(m.Description) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Type) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Format) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Title) + n += 1 + l + sovGenerated(uint64(l)) + if m.Default != nil { + l = m.Default.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.Maximum != nil { + n += 9 + } + n += 2 + if m.Minimum != nil { + n += 9 + } + n += 2 + if m.MaxLength != nil { + n += 1 + sovGenerated(uint64(*m.MaxLength)) + } + if m.MinLength != nil { + n += 1 + sovGenerated(uint64(*m.MinLength)) + } + l = len(m.Pattern) + n += 1 + l + sovGenerated(uint64(l)) + if m.MaxItems != nil { + n += 2 + sovGenerated(uint64(*m.MaxItems)) + } + if m.MinItems != nil { + n += 2 + sovGenerated(uint64(*m.MinItems)) + } + n += 3 + if m.MultipleOf != nil { + n += 10 + } + if len(m.Enum) > 0 { + for _, e := range m.Enum { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } + if m.MaxProperties != nil { + n += 2 + sovGenerated(uint64(*m.MaxProperties)) + } + if m.MinProperties != nil { + n += 2 + sovGenerated(uint64(*m.MinProperties)) + } + if len(m.Required) > 0 { + for _, s := range m.Required { + l = len(s) + n += 2 + l + sovGenerated(uint64(l)) + } + } + if m.Items != nil { + l = m.Items.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + if len(m.AllOf) > 0 { + for _, e := range m.AllOf { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } + if len(m.OneOf) > 0 { + for _, e := range m.OneOf { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } + if len(m.AnyOf) > 0 { + for _, e := range m.AnyOf { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } + if m.Not != nil { + l = m.Not.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + if len(m.Properties) > 0 { + for k, v := range m.Properties { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.AdditionalProperties != nil { + l = m.AdditionalProperties.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + if len(m.PatternProperties) > 0 { + for k, v := range m.PatternProperties { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize)) + } + } + if len(m.Dependencies) > 0 { + for k, v := range m.Dependencies { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.AdditionalItems != nil { + l = m.AdditionalItems.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + if len(m.Definitions) > 0 { + for k, v := range m.Definitions { + _ = k + _ = v + l = v.Size() + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + l + sovGenerated(uint64(l)) + n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.ExternalDocs != nil { + l = m.ExternalDocs.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + if m.Example != nil { + l = m.Example.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *JSONSchemaPropsOrArray) Size() (n int) { + var l int + _ = l + if m.Schema != nil { + l = m.Schema.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.JSONSchemas) > 0 { + for _, e := range m.JSONSchemas { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *JSONSchemaPropsOrBool) Size() (n int) { + var l int + _ = l + n += 2 + if m.Schema != nil { + l = m.Schema.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *JSONSchemaPropsOrStringArray) Size() (n int) { + var l int + _ = l + if m.Schema != nil { + l = m.Schema.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.Property) > 0 { + for _, s := range m.Property { + l = len(s) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func sovGenerated(x uint64) (n int) { + for { + n++ + x >>= 7 + if x == 0 { + break + } + } + return n +} +func sozGenerated(x uint64) (n int) { + return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *CustomResourceColumnDefinition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceColumnDefinition{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Format:` + fmt.Sprintf("%v", this.Format) + `,`, + `Description:` + fmt.Sprintf("%v", this.Description) + `,`, + `Priority:` + fmt.Sprintf("%v", this.Priority) + `,`, + `JSONPath:` + fmt.Sprintf("%v", this.JSONPath) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceDefinition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceDefinition{`, + `ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Spec:` + strings.Replace(strings.Replace(this.Spec.String(), "CustomResourceDefinitionSpec", "CustomResourceDefinitionSpec", 1), `&`, ``, 1) + `,`, + `Status:` + strings.Replace(strings.Replace(this.Status.String(), "CustomResourceDefinitionStatus", "CustomResourceDefinitionStatus", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceDefinitionCondition) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceDefinitionCondition{`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Status:` + fmt.Sprintf("%v", this.Status) + `,`, + `LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, + `Reason:` + fmt.Sprintf("%v", this.Reason) + `,`, + `Message:` + fmt.Sprintf("%v", this.Message) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceDefinitionList) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceDefinitionList{`, + `ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "CustomResourceDefinition", "CustomResourceDefinition", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceDefinitionNames) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceDefinitionNames{`, + `Plural:` + fmt.Sprintf("%v", this.Plural) + `,`, + `Singular:` + fmt.Sprintf("%v", this.Singular) + `,`, + `ShortNames:` + fmt.Sprintf("%v", this.ShortNames) + `,`, + `Kind:` + fmt.Sprintf("%v", this.Kind) + `,`, + `ListKind:` + fmt.Sprintf("%v", this.ListKind) + `,`, + `Categories:` + fmt.Sprintf("%v", this.Categories) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceDefinitionSpec) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceDefinitionSpec{`, + `Group:` + fmt.Sprintf("%v", this.Group) + `,`, + `Version:` + fmt.Sprintf("%v", this.Version) + `,`, + `Names:` + strings.Replace(strings.Replace(this.Names.String(), "CustomResourceDefinitionNames", "CustomResourceDefinitionNames", 1), `&`, ``, 1) + `,`, + `Scope:` + fmt.Sprintf("%v", this.Scope) + `,`, + `Validation:` + strings.Replace(fmt.Sprintf("%v", this.Validation), "CustomResourceValidation", "CustomResourceValidation", 1) + `,`, + `Subresources:` + strings.Replace(fmt.Sprintf("%v", this.Subresources), "CustomResourceSubresources", "CustomResourceSubresources", 1) + `,`, + `Versions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Versions), "CustomResourceDefinitionVersion", "CustomResourceDefinitionVersion", 1), `&`, ``, 1) + `,`, + `AdditionalPrinterColumns:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AdditionalPrinterColumns), "CustomResourceColumnDefinition", "CustomResourceColumnDefinition", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceDefinitionStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceDefinitionStatus{`, + `Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "CustomResourceDefinitionCondition", "CustomResourceDefinitionCondition", 1), `&`, ``, 1) + `,`, + `AcceptedNames:` + strings.Replace(strings.Replace(this.AcceptedNames.String(), "CustomResourceDefinitionNames", "CustomResourceDefinitionNames", 1), `&`, ``, 1) + `,`, + `StoredVersions:` + fmt.Sprintf("%v", this.StoredVersions) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceDefinitionVersion) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceDefinitionVersion{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Served:` + fmt.Sprintf("%v", this.Served) + `,`, + `Storage:` + fmt.Sprintf("%v", this.Storage) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceSubresourceScale) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceSubresourceScale{`, + `SpecReplicasPath:` + fmt.Sprintf("%v", this.SpecReplicasPath) + `,`, + `StatusReplicasPath:` + fmt.Sprintf("%v", this.StatusReplicasPath) + `,`, + `LabelSelectorPath:` + valueToStringGenerated(this.LabelSelectorPath) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceSubresourceStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceSubresourceStatus{`, + `}`, + }, "") + return s +} +func (this *CustomResourceSubresources) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceSubresources{`, + `Status:` + strings.Replace(fmt.Sprintf("%v", this.Status), "CustomResourceSubresourceStatus", "CustomResourceSubresourceStatus", 1) + `,`, + `Scale:` + strings.Replace(fmt.Sprintf("%v", this.Scale), "CustomResourceSubresourceScale", "CustomResourceSubresourceScale", 1) + `,`, + `}`, + }, "") + return s +} +func (this *CustomResourceValidation) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CustomResourceValidation{`, + `OpenAPIV3Schema:` + strings.Replace(fmt.Sprintf("%v", this.OpenAPIV3Schema), "JSONSchemaProps", "JSONSchemaProps", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ExternalDocumentation) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ExternalDocumentation{`, + `Description:` + fmt.Sprintf("%v", this.Description) + `,`, + `URL:` + fmt.Sprintf("%v", this.URL) + `,`, + `}`, + }, "") + return s +} +func (this *JSON) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&JSON{`, + `Raw:` + valueToStringGenerated(this.Raw) + `,`, + `}`, + }, "") + return s +} +func (this *JSONSchemaProps) String() string { + if this == nil { + return "nil" + } + keysForProperties := make([]string, 0, len(this.Properties)) + for k := range this.Properties { + keysForProperties = append(keysForProperties, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForProperties) + mapStringForProperties := "map[string]JSONSchemaProps{" + for _, k := range keysForProperties { + mapStringForProperties += fmt.Sprintf("%v: %v,", k, this.Properties[k]) + } + mapStringForProperties += "}" + keysForPatternProperties := make([]string, 0, len(this.PatternProperties)) + for k := range this.PatternProperties { + keysForPatternProperties = append(keysForPatternProperties, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForPatternProperties) + mapStringForPatternProperties := "map[string]JSONSchemaProps{" + for _, k := range keysForPatternProperties { + mapStringForPatternProperties += fmt.Sprintf("%v: %v,", k, this.PatternProperties[k]) + } + mapStringForPatternProperties += "}" + keysForDependencies := make([]string, 0, len(this.Dependencies)) + for k := range this.Dependencies { + keysForDependencies = append(keysForDependencies, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForDependencies) + mapStringForDependencies := "JSONSchemaDependencies{" + for _, k := range keysForDependencies { + mapStringForDependencies += fmt.Sprintf("%v: %v,", k, this.Dependencies[k]) + } + mapStringForDependencies += "}" + keysForDefinitions := make([]string, 0, len(this.Definitions)) + for k := range this.Definitions { + keysForDefinitions = append(keysForDefinitions, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForDefinitions) + mapStringForDefinitions := "JSONSchemaDefinitions{" + for _, k := range keysForDefinitions { + mapStringForDefinitions += fmt.Sprintf("%v: %v,", k, this.Definitions[k]) + } + mapStringForDefinitions += "}" + s := strings.Join([]string{`&JSONSchemaProps{`, + `ID:` + fmt.Sprintf("%v", this.ID) + `,`, + `Schema:` + fmt.Sprintf("%v", this.Schema) + `,`, + `Ref:` + valueToStringGenerated(this.Ref) + `,`, + `Description:` + fmt.Sprintf("%v", this.Description) + `,`, + `Type:` + fmt.Sprintf("%v", this.Type) + `,`, + `Format:` + fmt.Sprintf("%v", this.Format) + `,`, + `Title:` + fmt.Sprintf("%v", this.Title) + `,`, + `Default:` + strings.Replace(fmt.Sprintf("%v", this.Default), "JSON", "JSON", 1) + `,`, + `Maximum:` + valueToStringGenerated(this.Maximum) + `,`, + `ExclusiveMaximum:` + fmt.Sprintf("%v", this.ExclusiveMaximum) + `,`, + `Minimum:` + valueToStringGenerated(this.Minimum) + `,`, + `ExclusiveMinimum:` + fmt.Sprintf("%v", this.ExclusiveMinimum) + `,`, + `MaxLength:` + valueToStringGenerated(this.MaxLength) + `,`, + `MinLength:` + valueToStringGenerated(this.MinLength) + `,`, + `Pattern:` + fmt.Sprintf("%v", this.Pattern) + `,`, + `MaxItems:` + valueToStringGenerated(this.MaxItems) + `,`, + `MinItems:` + valueToStringGenerated(this.MinItems) + `,`, + `UniqueItems:` + fmt.Sprintf("%v", this.UniqueItems) + `,`, + `MultipleOf:` + valueToStringGenerated(this.MultipleOf) + `,`, + `Enum:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Enum), "JSON", "JSON", 1), `&`, ``, 1) + `,`, + `MaxProperties:` + valueToStringGenerated(this.MaxProperties) + `,`, + `MinProperties:` + valueToStringGenerated(this.MinProperties) + `,`, + `Required:` + fmt.Sprintf("%v", this.Required) + `,`, + `Items:` + strings.Replace(fmt.Sprintf("%v", this.Items), "JSONSchemaPropsOrArray", "JSONSchemaPropsOrArray", 1) + `,`, + `AllOf:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AllOf), "JSONSchemaProps", "JSONSchemaProps", 1), `&`, ``, 1) + `,`, + `OneOf:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.OneOf), "JSONSchemaProps", "JSONSchemaProps", 1), `&`, ``, 1) + `,`, + `AnyOf:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.AnyOf), "JSONSchemaProps", "JSONSchemaProps", 1), `&`, ``, 1) + `,`, + `Not:` + strings.Replace(fmt.Sprintf("%v", this.Not), "JSONSchemaProps", "JSONSchemaProps", 1) + `,`, + `Properties:` + mapStringForProperties + `,`, + `AdditionalProperties:` + strings.Replace(fmt.Sprintf("%v", this.AdditionalProperties), "JSONSchemaPropsOrBool", "JSONSchemaPropsOrBool", 1) + `,`, + `PatternProperties:` + mapStringForPatternProperties + `,`, + `Dependencies:` + mapStringForDependencies + `,`, + `AdditionalItems:` + strings.Replace(fmt.Sprintf("%v", this.AdditionalItems), "JSONSchemaPropsOrBool", "JSONSchemaPropsOrBool", 1) + `,`, + `Definitions:` + mapStringForDefinitions + `,`, + `ExternalDocs:` + strings.Replace(fmt.Sprintf("%v", this.ExternalDocs), "ExternalDocumentation", "ExternalDocumentation", 1) + `,`, + `Example:` + strings.Replace(fmt.Sprintf("%v", this.Example), "JSON", "JSON", 1) + `,`, + `}`, + }, "") + return s +} +func (this *JSONSchemaPropsOrArray) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&JSONSchemaPropsOrArray{`, + `Schema:` + strings.Replace(fmt.Sprintf("%v", this.Schema), "JSONSchemaProps", "JSONSchemaProps", 1) + `,`, + `JSONSchemas:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.JSONSchemas), "JSONSchemaProps", "JSONSchemaProps", 1), `&`, ``, 1) + `,`, + `}`, + }, "") + return s +} +func (this *JSONSchemaPropsOrBool) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&JSONSchemaPropsOrBool{`, + `Allows:` + fmt.Sprintf("%v", this.Allows) + `,`, + `Schema:` + strings.Replace(fmt.Sprintf("%v", this.Schema), "JSONSchemaProps", "JSONSchemaProps", 1) + `,`, + `}`, + }, "") + return s +} +func (this *JSONSchemaPropsOrStringArray) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&JSONSchemaPropsOrStringArray{`, + `Schema:` + strings.Replace(fmt.Sprintf("%v", this.Schema), "JSONSchemaProps", "JSONSchemaProps", 1) + `,`, + `Property:` + fmt.Sprintf("%v", this.Property) + `,`, + `}`, + }, "") + return s +} +func valueToStringGenerated(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *CustomResourceColumnDefinition) 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 ErrIntOverflowGenerated + } + 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: CustomResourceColumnDefinition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceColumnDefinition: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Format = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) + } + m.Priority = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Priority |= (int32(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field JSONPath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.JSONPath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceDefinition) 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 ErrIntOverflowGenerated + } + 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: CustomResourceDefinition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceDefinition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Spec", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Spec.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceDefinitionCondition) 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 ErrIntOverflowGenerated + } + 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: CustomResourceDefinitionCondition: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceDefinitionCondition: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = CustomResourceDefinitionConditionType(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Status = ConditionStatus(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Reason", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Reason = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceDefinitionList) 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 ErrIntOverflowGenerated + } + 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: CustomResourceDefinitionList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceDefinitionList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, CustomResourceDefinition{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceDefinitionNames) 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 ErrIntOverflowGenerated + } + 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: CustomResourceDefinitionNames: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceDefinitionNames: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Plural", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Plural = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Singular", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Singular = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShortNames", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ShortNames = append(m.ShortNames, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Kind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListKind", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ListKind = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Categories", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Categories = append(m.Categories, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceDefinitionSpec) 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 ErrIntOverflowGenerated + } + 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: CustomResourceDefinitionSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceDefinitionSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Group = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Version = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Names", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Names.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Scope = ResourceScope(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Validation", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Validation == nil { + m.Validation = &CustomResourceValidation{} + } + if err := m.Validation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Subresources", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Subresources == nil { + m.Subresources = &CustomResourceSubresources{} + } + if err := m.Subresources.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Versions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Versions = append(m.Versions, CustomResourceDefinitionVersion{}) + if err := m.Versions[len(m.Versions)-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 AdditionalPrinterColumns", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AdditionalPrinterColumns = append(m.AdditionalPrinterColumns, CustomResourceColumnDefinition{}) + if err := m.AdditionalPrinterColumns[len(m.AdditionalPrinterColumns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceDefinitionStatus) 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 ErrIntOverflowGenerated + } + 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: CustomResourceDefinitionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceDefinitionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Conditions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Conditions = append(m.Conditions, CustomResourceDefinitionCondition{}) + if err := m.Conditions[len(m.Conditions)-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 AcceptedNames", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.AcceptedNames.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoredVersions", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StoredVersions = append(m.StoredVersions, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceDefinitionVersion) 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 ErrIntOverflowGenerated + } + 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: CustomResourceDefinitionVersion: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceDefinitionVersion: 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 ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + 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 Served", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Served = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Storage", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Storage = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceSubresourceScale) 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 ErrIntOverflowGenerated + } + 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: CustomResourceSubresourceScale: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceSubresourceScale: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SpecReplicasPath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SpecReplicasPath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StatusReplicasPath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StatusReplicasPath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LabelSelectorPath", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.LabelSelectorPath = &s + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceSubresourceStatus) 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 ErrIntOverflowGenerated + } + 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: CustomResourceSubresourceStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceSubresourceStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceSubresources) 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 ErrIntOverflowGenerated + } + 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: CustomResourceSubresources: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceSubresources: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Status == nil { + m.Status = &CustomResourceSubresourceStatus{} + } + if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Scale", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Scale == nil { + m.Scale = &CustomResourceSubresourceScale{} + } + if err := m.Scale.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CustomResourceValidation) 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 ErrIntOverflowGenerated + } + 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: CustomResourceValidation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CustomResourceValidation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OpenAPIV3Schema", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.OpenAPIV3Schema == nil { + m.OpenAPIV3Schema = &JSONSchemaProps{} + } + if err := m.OpenAPIV3Schema.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExternalDocumentation) 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 ErrIntOverflowGenerated + } + 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: ExternalDocumentation: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExternalDocumentation: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field URL", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.URL = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *JSON) 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 ErrIntOverflowGenerated + } + 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: JSON: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: JSON: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Raw", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + byteLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Raw = append(m.Raw[:0], dAtA[iNdEx:postIndex]...) + if m.Raw == nil { + m.Raw = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *JSONSchemaProps) 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 ErrIntOverflowGenerated + } + 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: JSONSchemaProps: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: JSONSchemaProps: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ID = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Schema", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Schema = JSONSchemaURL(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ref", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.Ref = &s + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Type = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Format = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Title = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Default", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Default == nil { + m.Default = &JSON{} + } + if err := m.Default.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field Maximum", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + iNdEx += 8 + v = uint64(dAtA[iNdEx-8]) + v |= uint64(dAtA[iNdEx-7]) << 8 + v |= uint64(dAtA[iNdEx-6]) << 16 + v |= uint64(dAtA[iNdEx-5]) << 24 + v |= uint64(dAtA[iNdEx-4]) << 32 + v |= uint64(dAtA[iNdEx-3]) << 40 + v |= uint64(dAtA[iNdEx-2]) << 48 + v |= uint64(dAtA[iNdEx-1]) << 56 + v2 := float64(math.Float64frombits(v)) + m.Maximum = &v2 + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExclusiveMaximum", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ExclusiveMaximum = bool(v != 0) + case 11: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field Minimum", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + iNdEx += 8 + v = uint64(dAtA[iNdEx-8]) + v |= uint64(dAtA[iNdEx-7]) << 8 + v |= uint64(dAtA[iNdEx-6]) << 16 + v |= uint64(dAtA[iNdEx-5]) << 24 + v |= uint64(dAtA[iNdEx-4]) << 32 + v |= uint64(dAtA[iNdEx-3]) << 40 + v |= uint64(dAtA[iNdEx-2]) << 48 + v |= uint64(dAtA[iNdEx-1]) << 56 + v2 := float64(math.Float64frombits(v)) + m.Minimum = &v2 + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExclusiveMinimum", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ExclusiveMinimum = bool(v != 0) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxLength", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MaxLength = &v + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinLength", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MinLength = &v + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pattern", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pattern = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxItems", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MaxItems = &v + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinItems", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MinItems = &v + case 18: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UniqueItems", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.UniqueItems = bool(v != 0) + case 19: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field MultipleOf", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + iNdEx += 8 + v = uint64(dAtA[iNdEx-8]) + v |= uint64(dAtA[iNdEx-7]) << 8 + v |= uint64(dAtA[iNdEx-6]) << 16 + v |= uint64(dAtA[iNdEx-5]) << 24 + v |= uint64(dAtA[iNdEx-4]) << 32 + v |= uint64(dAtA[iNdEx-3]) << 40 + v |= uint64(dAtA[iNdEx-2]) << 48 + v |= uint64(dAtA[iNdEx-1]) << 56 + v2 := float64(math.Float64frombits(v)) + m.MultipleOf = &v2 + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Enum", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Enum = append(m.Enum, JSON{}) + if err := m.Enum[len(m.Enum)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxProperties", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MaxProperties = &v + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinProperties", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.MinProperties = &v + case 23: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Required", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Required = append(m.Required, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 24: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Items == nil { + m.Items = &JSONSchemaPropsOrArray{} + } + if err := m.Items.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 25: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllOf", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllOf = append(m.AllOf, JSONSchemaProps{}) + if err := m.AllOf[len(m.AllOf)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 26: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OneOf", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OneOf = append(m.OneOf, JSONSchemaProps{}) + if err := m.OneOf[len(m.OneOf)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 27: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AnyOf", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AnyOf = append(m.AnyOf, JSONSchemaProps{}) + if err := m.AnyOf[len(m.AnyOf)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 28: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Not", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Not == nil { + m.Not = &JSONSchemaProps{} + } + if err := m.Not.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 29: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Properties", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Properties == nil { + m.Properties = make(map[string]JSONSchemaProps) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &JSONSchemaProps{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + m.Properties[mapkey] = *mapvalue + } else { + var mapvalue JSONSchemaProps + m.Properties[mapkey] = mapvalue + } + iNdEx = postIndex + case 30: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdditionalProperties", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AdditionalProperties == nil { + m.AdditionalProperties = &JSONSchemaPropsOrBool{} + } + if err := m.AdditionalProperties.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 31: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PatternProperties", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.PatternProperties == nil { + m.PatternProperties = make(map[string]JSONSchemaProps) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &JSONSchemaProps{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + m.PatternProperties[mapkey] = *mapvalue + } else { + var mapvalue JSONSchemaProps + m.PatternProperties[mapkey] = mapvalue + } + iNdEx = postIndex + case 32: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Dependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Dependencies == nil { + m.Dependencies = make(JSONSchemaDependencies) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &JSONSchemaPropsOrStringArray{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + m.Dependencies[mapkey] = *mapvalue + } else { + var mapvalue JSONSchemaPropsOrStringArray + m.Dependencies[mapkey] = mapvalue + } + iNdEx = postIndex + case 33: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdditionalItems", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AdditionalItems == nil { + m.AdditionalItems = &JSONSchemaPropsOrBool{} + } + if err := m.AdditionalItems.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 34: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Definitions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.Definitions == nil { + m.Definitions = make(JSONSchemaDefinitions) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + postmsgIndex := iNdEx + mapmsglen + if mapmsglen < 0 { + return ErrInvalidLengthGenerated + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue := &JSONSchemaProps{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + m.Definitions[mapkey] = *mapvalue + } else { + var mapvalue JSONSchemaProps + m.Definitions[mapkey] = mapvalue + } + iNdEx = postIndex + case 35: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExternalDocs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ExternalDocs == nil { + m.ExternalDocs = &ExternalDocumentation{} + } + if err := m.ExternalDocs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 36: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Example", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Example == nil { + m.Example = &JSON{} + } + if err := m.Example.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *JSONSchemaPropsOrArray) 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 ErrIntOverflowGenerated + } + 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: JSONSchemaPropsOrArray: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: JSONSchemaPropsOrArray: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Schema", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Schema == nil { + m.Schema = &JSONSchemaProps{} + } + if err := m.Schema.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field JSONSchemas", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.JSONSchemas = append(m.JSONSchemas, JSONSchemaProps{}) + if err := m.JSONSchemas[len(m.JSONSchemas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *JSONSchemaPropsOrBool) 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 ErrIntOverflowGenerated + } + 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: JSONSchemaPropsOrBool: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: JSONSchemaPropsOrBool: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Allows", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.Allows = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Schema", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Schema == nil { + m.Schema = &JSONSchemaProps{} + } + if err := m.Schema.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *JSONSchemaPropsOrStringArray) 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 ErrIntOverflowGenerated + } + 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: JSONSchemaPropsOrStringArray: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: JSONSchemaPropsOrStringArray: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Schema", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Schema == nil { + m.Schema = &JSONSchemaProps{} + } + if err := m.Schema.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Property", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + 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 ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Property = append(m.Property, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenerated(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + 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, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + return iNdEx, nil + case 1: + iNdEx += 8 + return iNdEx, nil + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + iNdEx += length + if length < 0 { + return 0, ErrInvalidLengthGenerated + } + return iNdEx, nil + case 3: + for { + var innerWire uint64 + var start int = iNdEx + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenerated + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + innerWire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + innerWireType := int(innerWire & 0x7) + if innerWireType == 4 { + break + } + next, err := skipGenerated(dAtA[start:]) + if err != nil { + return 0, err + } + iNdEx = start + next + } + return iNdEx, nil + case 4: + return iNdEx, nil + case 5: + iNdEx += 4 + return iNdEx, nil + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + } + panic("unreachable") +} + +var ( + ErrInvalidLengthGenerated = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenerated = fmt.Errorf("proto: integer overflow") +) + +func init() { + proto.RegisterFile("k8s.io/kubernetes/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto", fileDescriptorGenerated) +} + +var fileDescriptorGenerated = []byte{ + // 2306 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xdd, 0x6f, 0x5b, 0x49, + 0x15, 0xef, 0xb5, 0xe3, 0xc4, 0x19, 0x27, 0x4d, 0x32, 0x6d, 0xca, 0x6d, 0x68, 0xed, 0xd4, 0x65, + 0x57, 0x01, 0xb6, 0x36, 0xed, 0xee, 0xb2, 0xcb, 0x4a, 0x3c, 0xc4, 0x49, 0x41, 0x5d, 0x9a, 0x26, + 0x1a, 0xb7, 0x45, 0xb0, 0x9f, 0x13, 0x7b, 0xe2, 0xdc, 0xe6, 0x7e, 0x75, 0x66, 0xae, 0x9b, 0x48, + 0x80, 0xf8, 0xd0, 0x0a, 0x09, 0x01, 0x0b, 0x6c, 0x85, 0x84, 0xc4, 0x0b, 0x48, 0xbc, 0x20, 0x04, + 0x0f, 0xf0, 0x06, 0x7f, 0x40, 0x1f, 0xf7, 0x71, 0x9f, 0x2c, 0x6a, 0xfe, 0x05, 0x24, 0xa4, 0x3c, + 0xa1, 0xf9, 0xb8, 0x73, 0xef, 0xb5, 0xe3, 0x6d, 0xb5, 0x6b, 0x6f, 0xdf, 0x7c, 0xcf, 0x39, 0x73, + 0x7e, 0xbf, 0x39, 0x73, 0xe6, 0xcc, 0x39, 0x09, 0xd8, 0x3b, 0x78, 0x95, 0xd5, 0x9c, 0xa0, 0x7e, + 0x10, 0xed, 0x12, 0xea, 0x13, 0x4e, 0x58, 0xbd, 0x4b, 0xfc, 0x76, 0x40, 0xeb, 0x5a, 0x81, 0x43, + 0x87, 0x1c, 0x72, 0xe2, 0x33, 0x27, 0xf0, 0xd9, 0x15, 0x1c, 0x3a, 0x8c, 0xd0, 0x2e, 0xa1, 0xf5, + 0xf0, 0xa0, 0x23, 0x74, 0x2c, 0x6b, 0x50, 0xef, 0x5e, 0xdd, 0x25, 0x1c, 0x5f, 0xad, 0x77, 0x88, + 0x4f, 0x28, 0xe6, 0xa4, 0x5d, 0x0b, 0x69, 0xc0, 0x03, 0xf8, 0x75, 0xe5, 0xae, 0x96, 0xb1, 0x7e, + 0xc7, 0xb8, 0xab, 0x85, 0x07, 0x1d, 0xa1, 0x63, 0x59, 0x83, 0x9a, 0x76, 0xb7, 0x72, 0xa5, 0xe3, + 0xf0, 0xfd, 0x68, 0xb7, 0xd6, 0x0a, 0xbc, 0x7a, 0x27, 0xe8, 0x04, 0x75, 0xe9, 0x75, 0x37, 0xda, + 0x93, 0x5f, 0xf2, 0x43, 0xfe, 0x52, 0x68, 0x2b, 0x2f, 0x25, 0xe4, 0x3d, 0xdc, 0xda, 0x77, 0x7c, + 0x42, 0x8f, 0x12, 0xc6, 0x1e, 0xe1, 0xb8, 0xde, 0x1d, 0xe2, 0xb8, 0x52, 0x1f, 0xb5, 0x8a, 0x46, + 0x3e, 0x77, 0x3c, 0x32, 0xb4, 0xe0, 0xab, 0x4f, 0x5a, 0xc0, 0x5a, 0xfb, 0xc4, 0xc3, 0x43, 0xeb, + 0x5e, 0x1c, 0xb5, 0x2e, 0xe2, 0x8e, 0x5b, 0x77, 0x7c, 0xce, 0x38, 0x1d, 0x5c, 0x54, 0xfd, 0x20, + 0x07, 0xca, 0x1b, 0x11, 0xe3, 0x81, 0x87, 0x08, 0x0b, 0x22, 0xda, 0x22, 0x1b, 0x81, 0x1b, 0x79, + 0xfe, 0x26, 0xd9, 0x73, 0x7c, 0x87, 0x3b, 0x81, 0x0f, 0x57, 0xc1, 0x94, 0x8f, 0x3d, 0x62, 0x5b, + 0xab, 0xd6, 0xda, 0x6c, 0x63, 0xee, 0x51, 0xaf, 0x72, 0xaa, 0xdf, 0xab, 0x4c, 0xdd, 0xc2, 0x1e, + 0x41, 0x52, 0x23, 0x2c, 0xf8, 0x51, 0x48, 0xec, 0x5c, 0xd6, 0xe2, 0xf6, 0x51, 0x48, 0x90, 0xd4, + 0xc0, 0xe7, 0xc1, 0xf4, 0x5e, 0x40, 0x3d, 0xcc, 0xed, 0xbc, 0xb4, 0x39, 0xad, 0x6d, 0xa6, 0xbf, + 0x21, 0xa5, 0x48, 0x6b, 0xe1, 0xcb, 0xa0, 0xd4, 0x26, 0xac, 0x45, 0x9d, 0x50, 0x40, 0xdb, 0x53, + 0xd2, 0xf8, 0x8c, 0x36, 0x2e, 0x6d, 0x26, 0x2a, 0x94, 0xb6, 0x83, 0x2f, 0x80, 0x62, 0x48, 0x9d, + 0x80, 0x3a, 0xfc, 0xc8, 0x2e, 0xac, 0x5a, 0x6b, 0x85, 0xc6, 0xa2, 0x5e, 0x53, 0xdc, 0xd1, 0x72, + 0x64, 0x2c, 0xe0, 0x2a, 0x28, 0xbe, 0xde, 0xdc, 0xbe, 0xb5, 0x83, 0xf9, 0xbe, 0x3d, 0x2d, 0x11, + 0xa6, 0x84, 0x35, 0x2a, 0xde, 0xd3, 0xd2, 0xea, 0x4f, 0xf2, 0xc0, 0xce, 0x46, 0x25, 0x15, 0x8f, + 0x77, 0x41, 0x51, 0x9c, 0x75, 0x1b, 0x73, 0x2c, 0x63, 0x52, 0xba, 0xf6, 0x95, 0x5a, 0x92, 0x87, + 0x26, 0xf4, 0x49, 0xf2, 0x09, 0xeb, 0x5a, 0xf7, 0x6a, 0x6d, 0x7b, 0xf7, 0x1e, 0x69, 0xf1, 0x2d, + 0xc2, 0x71, 0x03, 0x6a, 0x7a, 0x20, 0x91, 0x21, 0xe3, 0x15, 0x7e, 0x1f, 0x4c, 0xb1, 0x90, 0xb4, + 0x64, 0x3c, 0x4b, 0xd7, 0xde, 0xa8, 0x7d, 0xaa, 0x2c, 0xaf, 0x8d, 0xda, 0x48, 0x33, 0x24, 0xad, + 0xe4, 0xb0, 0xc4, 0x17, 0x92, 0xb0, 0xf0, 0x3d, 0x0b, 0x4c, 0x33, 0x8e, 0x79, 0xc4, 0xe4, 0x69, + 0x95, 0xae, 0xbd, 0x35, 0x29, 0x06, 0x12, 0x24, 0x49, 0x06, 0xf5, 0x8d, 0x34, 0x78, 0xf5, 0xbf, + 0x39, 0x70, 0x69, 0xd4, 0xd2, 0x8d, 0xc0, 0x6f, 0xab, 0xe3, 0xb8, 0xa1, 0x93, 0x4f, 0xa5, 0xe7, + 0xcb, 0xe9, 0xe4, 0x3b, 0xee, 0x55, 0x9e, 0x7b, 0xa2, 0x83, 0x54, 0x96, 0x7e, 0xcd, 0xec, 0x5b, + 0x65, 0xf2, 0xa5, 0x2c, 0xb1, 0xe3, 0x5e, 0x65, 0xc1, 0x2c, 0xcb, 0x72, 0x85, 0x5d, 0x00, 0x5d, + 0xcc, 0xf8, 0x6d, 0x8a, 0x7d, 0xa6, 0xdc, 0x3a, 0x1e, 0xd1, 0xe1, 0xfb, 0xd2, 0xd3, 0xa5, 0x87, + 0x58, 0xd1, 0x58, 0xd1, 0x90, 0xf0, 0xe6, 0x90, 0x37, 0x74, 0x02, 0x82, 0xb8, 0x58, 0x94, 0x60, + 0x66, 0xee, 0x8a, 0x89, 0x25, 0x92, 0x52, 0xa4, 0xb5, 0xf0, 0x8b, 0x60, 0xc6, 0x23, 0x8c, 0xe1, + 0x0e, 0x91, 0x17, 0x64, 0xb6, 0xb1, 0xa0, 0x0d, 0x67, 0xb6, 0x94, 0x18, 0xc5, 0xfa, 0xea, 0xb1, + 0x05, 0x2e, 0x8c, 0x8a, 0xda, 0x4d, 0x87, 0x71, 0xf8, 0xe6, 0xd0, 0x05, 0xa8, 0x3d, 0xdd, 0x0e, + 0xc5, 0x6a, 0x99, 0xfe, 0xe6, 0x76, 0xc6, 0x92, 0x54, 0xf2, 0x7f, 0x0f, 0x14, 0x1c, 0x4e, 0x3c, + 0x71, 0x06, 0xf9, 0xb5, 0xd2, 0xb5, 0x6f, 0x4f, 0x28, 0xf7, 0x1a, 0xf3, 0x9a, 0x43, 0xe1, 0x86, + 0x40, 0x43, 0x0a, 0xb4, 0xfa, 0xa7, 0x1c, 0xb8, 0x38, 0x6a, 0x89, 0xa8, 0x78, 0x4c, 0x44, 0x3c, + 0x74, 0x23, 0x8a, 0x5d, 0x9d, 0x71, 0x26, 0xe2, 0x3b, 0x52, 0x8a, 0xb4, 0x56, 0xd4, 0x24, 0xe6, + 0xf8, 0x9d, 0xc8, 0xc5, 0x54, 0xa7, 0x93, 0xd9, 0x75, 0x53, 0xcb, 0x91, 0xb1, 0x80, 0x35, 0x00, + 0xd8, 0x7e, 0x40, 0xb9, 0xc4, 0xb0, 0xf3, 0xab, 0x79, 0xe1, 0x59, 0x14, 0x88, 0xa6, 0x91, 0xa2, + 0x94, 0x85, 0x28, 0xb9, 0x07, 0x8e, 0xdf, 0xd6, 0xa7, 0x6e, 0x6e, 0xf1, 0xb7, 0x1c, 0xbf, 0x8d, + 0xa4, 0x46, 0xe0, 0xbb, 0x0e, 0xe3, 0x42, 0xa2, 0x8f, 0x3c, 0x13, 0x75, 0x69, 0x69, 0x2c, 0x04, + 0x7e, 0x0b, 0x73, 0xd2, 0x09, 0xa8, 0x43, 0x98, 0x3d, 0x9d, 0xe0, 0x6f, 0x18, 0x29, 0x4a, 0x59, + 0x54, 0x7f, 0x3d, 0x33, 0x3a, 0x49, 0x44, 0x29, 0x81, 0x97, 0x41, 0xa1, 0x43, 0x83, 0x28, 0xd4, + 0x51, 0x32, 0xd1, 0xfe, 0xa6, 0x10, 0x22, 0xa5, 0x13, 0x59, 0xd9, 0x25, 0x54, 0x1c, 0x98, 0x0e, + 0x91, 0xc9, 0xca, 0xbb, 0x4a, 0x8c, 0x62, 0x3d, 0xfc, 0x91, 0x05, 0x0a, 0xbe, 0x0e, 0x8e, 0x48, + 0xb9, 0x37, 0x27, 0x94, 0x17, 0x32, 0xbc, 0x09, 0x5d, 0x15, 0x79, 0x85, 0x0c, 0x5f, 0x02, 0x05, + 0xd6, 0x0a, 0x42, 0xa2, 0xa3, 0x5e, 0x8e, 0x8d, 0x9a, 0x42, 0x78, 0xdc, 0xab, 0xcc, 0xc7, 0xee, + 0xa4, 0x00, 0x29, 0x63, 0xf8, 0x53, 0x0b, 0x80, 0x2e, 0x76, 0x9d, 0x36, 0x96, 0x6f, 0x5a, 0x41, + 0xd2, 0x1f, 0x6f, 0x5a, 0xdf, 0x35, 0xee, 0xd5, 0xa1, 0x25, 0xdf, 0x28, 0x05, 0x0d, 0xdf, 0xb7, + 0xc0, 0x1c, 0x8b, 0x76, 0xa9, 0x5e, 0xc5, 0xe4, 0xeb, 0x57, 0xba, 0xf6, 0x9d, 0xb1, 0x72, 0x69, + 0xa6, 0x00, 0x1a, 0x8b, 0xfd, 0x5e, 0x65, 0x2e, 0x2d, 0x41, 0x19, 0x02, 0xf0, 0xe7, 0x16, 0x28, + 0xea, 0x13, 0x66, 0xf6, 0x8c, 0xbc, 0xf0, 0x6f, 0x4f, 0xe8, 0x60, 0x75, 0x46, 0x25, 0xb7, 0x40, + 0x0b, 0x18, 0x32, 0x0c, 0xe0, 0x3f, 0x2d, 0x60, 0xe3, 0xb6, 0x2a, 0xf0, 0xd8, 0xdd, 0xa1, 0x8e, + 0xcf, 0x09, 0x55, 0x0d, 0x11, 0xb3, 0x8b, 0x92, 0xde, 0x78, 0xdf, 0xc2, 0xc1, 0x66, 0xab, 0xb1, + 0xaa, 0xd9, 0xd9, 0xeb, 0x23, 0x68, 0xa0, 0x91, 0x04, 0xab, 0xef, 0xe7, 0x07, 0x7b, 0xb9, 0xc1, + 0xa7, 0x16, 0x3e, 0xb4, 0x00, 0x68, 0xc5, 0x4f, 0x18, 0xb3, 0x2d, 0xb9, 0xa5, 0x77, 0x27, 0x14, + 0x71, 0xf3, 0x56, 0x26, 0xed, 0x8e, 0x11, 0x89, 0x6a, 0x62, 0x7e, 0xc3, 0xdf, 0x59, 0x60, 0x1e, + 0xb7, 0x5a, 0x24, 0xe4, 0xa4, 0xad, 0x2a, 0x60, 0xee, 0x33, 0xb8, 0xe4, 0xcb, 0x9a, 0xd5, 0xfc, + 0x7a, 0x1a, 0x1a, 0x65, 0x99, 0xc0, 0xd7, 0xc0, 0x69, 0xc6, 0x03, 0x4a, 0xda, 0x71, 0xbe, 0xe8, + 0xea, 0x0c, 0xfb, 0xbd, 0xca, 0xe9, 0x66, 0x46, 0x83, 0x06, 0x2c, 0xab, 0xbf, 0xb5, 0x40, 0xe5, + 0x09, 0xf9, 0xf8, 0x14, 0xed, 0xf5, 0xf3, 0x60, 0x5a, 0x6e, 0xb7, 0x2d, 0xa3, 0x52, 0x4c, 0xf5, + 0x4b, 0x52, 0x8a, 0xb4, 0x56, 0x54, 0x53, 0x81, 0x2f, 0xde, 0xf8, 0xbc, 0x34, 0x34, 0xd5, 0xb4, + 0xa9, 0xc4, 0x28, 0xd6, 0x57, 0xff, 0x67, 0x0d, 0xa6, 0x4a, 0xea, 0x92, 0x36, 0x5b, 0xd8, 0x25, + 0x70, 0x13, 0x2c, 0x8a, 0x6e, 0x10, 0x91, 0xd0, 0x75, 0x5a, 0x98, 0xc9, 0x6e, 0x59, 0x71, 0xb4, + 0xb5, 0xdb, 0xc5, 0xe6, 0x80, 0x1e, 0x0d, 0xad, 0x80, 0xaf, 0x03, 0xa8, 0x3a, 0xa4, 0x8c, 0x1f, + 0x55, 0xec, 0x4d, 0xaf, 0xd3, 0x1c, 0xb2, 0x40, 0x27, 0xac, 0x82, 0x1b, 0x60, 0xc9, 0xc5, 0xbb, + 0xc4, 0x6d, 0x12, 0x97, 0xb4, 0x78, 0x40, 0xa5, 0x2b, 0x35, 0x4f, 0x2c, 0xf7, 0x7b, 0x95, 0xa5, + 0x9b, 0x83, 0x4a, 0x34, 0x6c, 0x5f, 0xbd, 0x34, 0x78, 0x22, 0xe9, 0x8d, 0xab, 0xbe, 0xf3, 0x0f, + 0x39, 0xb0, 0x32, 0xba, 0xa6, 0xc1, 0x1f, 0x27, 0xed, 0xb1, 0xea, 0x7e, 0xde, 0x9e, 0x54, 0xfd, + 0xd4, 0xfd, 0x31, 0x18, 0xee, 0x8d, 0xe1, 0x0f, 0xc4, 0x53, 0x84, 0x5d, 0xa2, 0x2f, 0xca, 0x5b, + 0x13, 0xa3, 0x20, 0x40, 0x1a, 0xb3, 0xea, 0x95, 0xc3, 0xae, 0x7c, 0xd4, 0xb0, 0x4b, 0xaa, 0x7f, + 0xb6, 0x06, 0x27, 0xa4, 0xe4, 0xcd, 0x81, 0xbf, 0xb0, 0xc0, 0x42, 0x10, 0x12, 0x7f, 0x7d, 0xe7, + 0xc6, 0xdd, 0x17, 0x9b, 0x72, 0x5a, 0xd5, 0xa1, 0xba, 0xf5, 0x29, 0x79, 0x8a, 0xb9, 0x4d, 0x39, + 0xdc, 0xa1, 0x41, 0xc8, 0x1a, 0x67, 0xfa, 0xbd, 0xca, 0xc2, 0x76, 0x16, 0x0a, 0x0d, 0x62, 0x57, + 0x3d, 0xb0, 0x7c, 0xfd, 0x90, 0x13, 0xea, 0x63, 0x77, 0x33, 0x68, 0x45, 0x1e, 0xf1, 0xb9, 0x22, + 0x3a, 0x30, 0x6e, 0x5a, 0x4f, 0x39, 0x6e, 0x5e, 0x04, 0xf9, 0x88, 0xba, 0x3a, 0x8b, 0x4b, 0xda, + 0x3c, 0x7f, 0x07, 0xdd, 0x44, 0x42, 0x5e, 0xbd, 0x04, 0xa6, 0x04, 0x4f, 0x78, 0x1e, 0xe4, 0x29, + 0x7e, 0x20, 0xbd, 0xce, 0x35, 0x66, 0x84, 0x09, 0xc2, 0x0f, 0x90, 0x90, 0x55, 0xff, 0x72, 0x01, + 0x2c, 0x0c, 0xec, 0x05, 0xae, 0x80, 0x9c, 0xd3, 0xd6, 0x1c, 0x80, 0x76, 0x9a, 0xbb, 0xb1, 0x89, + 0x72, 0x4e, 0x1b, 0xbe, 0x02, 0xa6, 0xd5, 0xd4, 0xaf, 0x41, 0x2b, 0xa6, 0x04, 0x48, 0xa9, 0xe8, + 0x3d, 0x12, 0x77, 0x82, 0x88, 0x36, 0x97, 0x1c, 0xc8, 0x9e, 0xbe, 0x25, 0x8a, 0x03, 0xd9, 0x43, + 0x42, 0xf6, 0x49, 0x67, 0xed, 0x78, 0xd8, 0x2f, 0x3c, 0xc5, 0xb0, 0x3f, 0xfd, 0xb1, 0xc3, 0xfe, + 0x65, 0x50, 0xe0, 0x0e, 0x77, 0x89, 0x3d, 0x93, 0x6d, 0x11, 0x6f, 0x0b, 0x21, 0x52, 0x3a, 0x78, + 0x0f, 0xcc, 0xb4, 0xc9, 0x1e, 0x8e, 0x5c, 0x6e, 0x17, 0x65, 0x0a, 0x6d, 0x8c, 0x21, 0x85, 0x1a, + 0x25, 0x51, 0x15, 0x37, 0x95, 0x5f, 0x14, 0x03, 0xc0, 0xe7, 0xc0, 0x8c, 0x87, 0x0f, 0x1d, 0x2f, + 0xf2, 0xec, 0xd9, 0x55, 0x6b, 0xcd, 0x52, 0x66, 0x5b, 0x4a, 0x84, 0x62, 0x9d, 0xa8, 0x8c, 0xe4, + 0xb0, 0xe5, 0x46, 0xcc, 0xe9, 0x12, 0xad, 0xb4, 0x81, 0x2c, 0xb8, 0xa6, 0x32, 0x5e, 0x1f, 0xd0, + 0xa3, 0xa1, 0x15, 0x12, 0xcc, 0xf1, 0xe5, 0xe2, 0x52, 0x0a, 0x4c, 0x89, 0x50, 0xac, 0xcb, 0x82, + 0x69, 0xfb, 0xb9, 0x51, 0x60, 0x7a, 0xf1, 0xd0, 0x0a, 0xf8, 0x65, 0x30, 0xeb, 0xe1, 0xc3, 0x9b, + 0xc4, 0xef, 0xf0, 0x7d, 0x7b, 0x7e, 0xd5, 0x5a, 0xcb, 0x37, 0xe6, 0xfb, 0xbd, 0xca, 0xec, 0x56, + 0x2c, 0x44, 0x89, 0x5e, 0x1a, 0x3b, 0xbe, 0x36, 0x3e, 0x9d, 0x32, 0x8e, 0x85, 0x28, 0xd1, 0x8b, + 0x47, 0x27, 0xc4, 0x5c, 0x5c, 0x2e, 0x7b, 0x21, 0xdb, 0xc2, 0xef, 0x28, 0x31, 0x8a, 0xf5, 0x70, + 0x0d, 0x14, 0x3d, 0x7c, 0x28, 0xc7, 0x2d, 0x7b, 0x51, 0xba, 0x9d, 0x13, 0x7d, 0xd8, 0x96, 0x96, + 0x21, 0xa3, 0x95, 0x96, 0x8e, 0xaf, 0x2c, 0x97, 0x52, 0x96, 0x5a, 0x86, 0x8c, 0x56, 0x24, 0x71, + 0xe4, 0x3b, 0xf7, 0x23, 0xa2, 0x8c, 0xa1, 0x8c, 0x8c, 0x49, 0xe2, 0x3b, 0x89, 0x0a, 0xa5, 0xed, + 0xc4, 0xb8, 0xe3, 0x45, 0x2e, 0x77, 0x42, 0x97, 0x6c, 0xef, 0xd9, 0x67, 0x64, 0xfc, 0x65, 0xe7, + 0xbc, 0x65, 0xa4, 0x28, 0x65, 0x01, 0x09, 0x98, 0x22, 0x7e, 0xe4, 0xd9, 0x67, 0x65, 0xc3, 0x34, + 0x96, 0x14, 0x34, 0x37, 0xe7, 0xba, 0x1f, 0x79, 0x48, 0xba, 0x87, 0xaf, 0x80, 0x79, 0x0f, 0x1f, + 0x8a, 0x72, 0x40, 0x28, 0x17, 0x83, 0xd8, 0xb2, 0xdc, 0xfc, 0x92, 0x68, 0x52, 0xb6, 0xd2, 0x0a, + 0x94, 0xb5, 0x93, 0x0b, 0x1d, 0x3f, 0xb5, 0xf0, 0x5c, 0x6a, 0x61, 0x5a, 0x81, 0xb2, 0x76, 0x22, + 0xd2, 0x94, 0xdc, 0x8f, 0x1c, 0x4a, 0xda, 0xf6, 0xe7, 0x64, 0x5f, 0x23, 0x23, 0x8d, 0xb4, 0x0c, + 0x19, 0x2d, 0xec, 0xc6, 0x73, 0xb9, 0x2d, 0xaf, 0xe1, 0x9d, 0xf1, 0x56, 0xf2, 0x6d, 0xba, 0x4e, + 0x29, 0x3e, 0x52, 0x2f, 0x4d, 0x7a, 0x22, 0x87, 0x0c, 0x14, 0xb0, 0xeb, 0x6e, 0xef, 0xd9, 0xe7, + 0x65, 0xec, 0xc7, 0xfd, 0x82, 0x98, 0xaa, 0xb3, 0x2e, 0x40, 0x90, 0xc2, 0x12, 0xa0, 0x81, 0x2f, + 0x52, 0x63, 0x65, 0xb2, 0xa0, 0xdb, 0x02, 0x04, 0x29, 0x2c, 0xb9, 0x53, 0xff, 0x68, 0x7b, 0xcf, + 0xfe, 0xfc, 0x84, 0x77, 0x2a, 0x40, 0x90, 0xc2, 0x82, 0x0e, 0xc8, 0xfb, 0x01, 0xb7, 0x2f, 0x4c, + 0xe4, 0x79, 0x96, 0x0f, 0xce, 0xad, 0x80, 0x23, 0x81, 0x01, 0x7f, 0x63, 0x01, 0x10, 0x26, 0x29, + 0x7a, 0x71, 0x2c, 0xe3, 0xde, 0x00, 0x64, 0x2d, 0xc9, 0xed, 0xeb, 0x3e, 0xa7, 0x47, 0xc9, 0xe8, + 0x91, 0xba, 0x03, 0x29, 0x16, 0xf0, 0x8f, 0x16, 0x38, 0x9b, 0x9e, 0xa8, 0x0c, 0xbd, 0xb2, 0x8c, + 0xc8, 0xed, 0x71, 0xa7, 0x79, 0x23, 0x08, 0xdc, 0x86, 0xdd, 0xef, 0x55, 0xce, 0xae, 0x9f, 0x80, + 0x8a, 0x4e, 0xe4, 0x02, 0xff, 0x6a, 0x81, 0x25, 0x5d, 0x45, 0x53, 0x0c, 0x2b, 0x32, 0x80, 0x64, + 0xdc, 0x01, 0x1c, 0xc4, 0x51, 0x71, 0x3c, 0xaf, 0xe3, 0xb8, 0x34, 0xa4, 0x47, 0xc3, 0xd4, 0xe0, + 0x3f, 0x2c, 0x30, 0xd7, 0x26, 0x21, 0xf1, 0xdb, 0xc4, 0x6f, 0x09, 0xae, 0xab, 0x63, 0x99, 0x34, + 0x07, 0xb9, 0x6e, 0xa6, 0x20, 0x14, 0xcd, 0x9a, 0xa6, 0x39, 0x97, 0x56, 0x1d, 0xf7, 0x2a, 0xe7, + 0x92, 0xa5, 0x69, 0x0d, 0xca, 0xb0, 0x84, 0x1f, 0x58, 0x60, 0x21, 0x39, 0x00, 0xf5, 0xa4, 0x5c, + 0x9a, 0x60, 0x1e, 0xc8, 0xf6, 0x75, 0x3d, 0x0b, 0x88, 0x06, 0x19, 0xc0, 0xbf, 0x59, 0xa2, 0x53, + 0x8b, 0xe7, 0x46, 0x66, 0x57, 0x65, 0x2c, 0xdf, 0x19, 0x7b, 0x2c, 0x0d, 0x82, 0x0a, 0xe5, 0x0b, + 0x49, 0x2b, 0x68, 0x34, 0xc7, 0xbd, 0xca, 0x72, 0x3a, 0x92, 0x46, 0x81, 0xd2, 0x0c, 0xe1, 0xcf, + 0x2c, 0x30, 0x47, 0x92, 0x8e, 0x9b, 0xd9, 0x97, 0xc7, 0x12, 0xc4, 0x13, 0x9b, 0x78, 0xf5, 0x37, + 0xa6, 0x94, 0x8a, 0xa1, 0x0c, 0xb6, 0xe8, 0x20, 0xc9, 0x21, 0xf6, 0x42, 0x97, 0xd8, 0x5f, 0x18, + 0x73, 0x07, 0x79, 0x5d, 0xf9, 0x45, 0x31, 0xc0, 0x8a, 0x98, 0x7c, 0x06, 0x6e, 0x0e, 0x5c, 0x04, + 0xf9, 0x03, 0x72, 0xa4, 0x1a, 0x7b, 0x24, 0x7e, 0xc2, 0x36, 0x28, 0x74, 0xb1, 0x1b, 0xc5, 0xc3, + 0xdb, 0x98, 0xab, 0x2e, 0x52, 0xce, 0x5f, 0xcb, 0xbd, 0x6a, 0xad, 0x3c, 0xb4, 0xc0, 0xb9, 0x93, + 0x2f, 0xf4, 0x33, 0xa5, 0xf5, 0x7b, 0x0b, 0x2c, 0x0d, 0xdd, 0xdd, 0x13, 0x18, 0xdd, 0xcf, 0x32, + 0x7a, 0x63, 0xdc, 0x97, 0xb0, 0xc9, 0xa9, 0xe3, 0x77, 0x64, 0xe7, 0x91, 0xa6, 0xf7, 0x4b, 0x0b, + 0x2c, 0x0e, 0x5e, 0x87, 0x67, 0x19, 0xaf, 0xea, 0xc3, 0x1c, 0x38, 0x77, 0x72, 0xc3, 0x04, 0xa9, + 0x99, 0x0c, 0x27, 0x33, 0x61, 0x83, 0x64, 0xca, 0x34, 0x43, 0xe5, 0x7b, 0x16, 0x28, 0xdd, 0x33, + 0x76, 0xf1, 0x7f, 0x6a, 0xc6, 0x3e, 0xdb, 0xc7, 0xf5, 0x27, 0x51, 0x30, 0x94, 0xc6, 0xad, 0xfe, + 0xdd, 0x02, 0xcb, 0x27, 0x16, 0x56, 0x31, 0x82, 0x62, 0xd7, 0x0d, 0x1e, 0xa8, 0x3f, 0xd1, 0xa4, + 0xfe, 0x64, 0xb6, 0x2e, 0xa5, 0x48, 0x6b, 0x53, 0xd1, 0xcb, 0x7d, 0x56, 0xd1, 0xab, 0xfe, 0xcb, + 0x02, 0x17, 0x3e, 0x2e, 0x13, 0x9f, 0xc9, 0x91, 0xae, 0x81, 0xa2, 0x6e, 0x8a, 0x8e, 0xe4, 0x71, + 0xea, 0x39, 0x40, 0x17, 0x0d, 0xf9, 0xdf, 0x73, 0xf5, 0xab, 0x71, 0xe5, 0xd1, 0xe3, 0xf2, 0xa9, + 0x0f, 0x1f, 0x97, 0x4f, 0x7d, 0xf4, 0xb8, 0x7c, 0xea, 0x87, 0xfd, 0xb2, 0xf5, 0xa8, 0x5f, 0xb6, + 0x3e, 0xec, 0x97, 0xad, 0x8f, 0xfa, 0x65, 0xeb, 0xdf, 0xfd, 0xb2, 0xf5, 0xab, 0xff, 0x94, 0x4f, + 0x7d, 0x77, 0x46, 0x83, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x9e, 0x11, 0xe8, 0x41, 0x0b, 0x22, + 0x00, 0x00, +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto new file mode 100644 index 000000000..2a75484ff --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto @@ -0,0 +1,354 @@ +/* +Copyright The Kubernetes 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. +*/ + + +// This file was autogenerated by go-to-protobuf. Do not edit it manually! + +syntax = 'proto2'; + +package k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1; + +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; +import "k8s.io/apimachinery/pkg/util/intstr/generated.proto"; + +// Package-wide variables from generator "generated". +option go_package = "v1beta1"; + +// CustomResourceColumnDefinition specifies a column for server side printing. +message CustomResourceColumnDefinition { + // name is a human readable name for the column. + optional string name = 1; + + // type is an OpenAPI type definition for this column. + // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. + optional string type = 2; + + // format is an optional OpenAPI type definition for this column. The 'name' format is applied + // to the primary identifier column to assist in clients identifying column is the resource name. + // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. + optional string format = 3; + + // description is a human readable description of this column. + optional string description = 4; + + // priority is an integer defining the relative importance of this column compared to others. Lower + // numbers are considered higher priority. Columns that may be omitted in limited space scenarios + // should be given a higher priority. + optional int32 priority = 5; + + // JSONPath is a simple JSON path, i.e. with array notation. + optional string JSONPath = 6; +} + +// CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format +// <.spec.name>.<.spec.group>. +message CustomResourceDefinition { + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Spec describes how the user wants the resources to appear + optional CustomResourceDefinitionSpec spec = 2; + + // Status indicates the actual state of the CustomResourceDefinition + optional CustomResourceDefinitionStatus status = 3; +} + +// CustomResourceDefinitionCondition contains details for the current condition of this pod. +message CustomResourceDefinitionCondition { + // Type is the type of the condition. + optional string type = 1; + + // Status is the status of the condition. + // Can be True, False, Unknown. + optional string status = 2; + + // Last time the condition transitioned from one status to another. + // +optional + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; + + // Unique, one-word, CamelCase reason for the condition's last transition. + // +optional + optional string reason = 4; + + // Human-readable message indicating details about last transition. + // +optional + optional string message = 5; +} + +// CustomResourceDefinitionList is a list of CustomResourceDefinition objects. +message CustomResourceDefinitionList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // Items individual CustomResourceDefinitions + repeated CustomResourceDefinition items = 2; +} + +// CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition +message CustomResourceDefinitionNames { + // Plural is the plural name of the resource to serve. It must match the name of the CustomResourceDefinition-registration + // too: plural.group and it must be all lowercase. + optional string plural = 1; + + // Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased + optional string singular = 2; + + // ShortNames are short names for the resource. It must be all lowercase. + repeated string shortNames = 3; + + // Kind is the serialized kind of the resource. It is normally CamelCase and singular. + optional string kind = 4; + + // ListKind is the serialized kind of the list for this resource. Defaults to List. + optional string listKind = 5; + + // Categories is a list of grouped resources custom resources belong to (e.g. 'all') + // +optional + repeated string categories = 6; +} + +// CustomResourceDefinitionSpec describes how a user wants their resource to appear +message CustomResourceDefinitionSpec { + // Group is the group this resource belongs in + optional string group = 1; + + // Version is the version this resource belongs in + // Should be always first item in Versions field if provided. + // Optional, but at least one of Version or Versions must be set. + // Deprecated: Please use `Versions`. + // +optional + optional string version = 2; + + // Names are the names used to describe this custom resource + optional CustomResourceDefinitionNames names = 3; + + // Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced + optional string scope = 4; + + // Validation describes the validation methods for CustomResources + // +optional + optional CustomResourceValidation validation = 5; + + // Subresources describes the subresources for CustomResources + // +optional + optional CustomResourceSubresources subresources = 6; + + // Versions is the list of all supported versions for this resource. + // If Version field is provided, this field is optional. + // Validation: All versions must use the same validation schema for now. i.e., top + // level Validation field is applied to all of these versions. + // Order: The version name will be used to compute the order. + // If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered + // lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), + // then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first + // by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing + // major version, then minor version. An example sorted list of versions: + // v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. + repeated CustomResourceDefinitionVersion versions = 7; + + // AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. + repeated CustomResourceColumnDefinition additionalPrinterColumns = 8; +} + +// CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition +message CustomResourceDefinitionStatus { + // Conditions indicate state for particular aspects of a CustomResourceDefinition + repeated CustomResourceDefinitionCondition conditions = 1; + + // AcceptedNames are the names that are actually being used to serve discovery + // They may be different than the names in spec. + optional CustomResourceDefinitionNames acceptedNames = 2; + + // StoredVersions are all versions of CustomResources that were ever persisted. Tracking these + // versions allows a migration path for stored versions in etcd. The field is mutable + // so the migration controller can first finish a migration to another version (i.e. + // that no old objects are left in the storage), and then remove the rest of the + // versions from this list. + // None of the versions in this list can be removed from the spec.Versions field. + repeated string storedVersions = 3; +} + +message CustomResourceDefinitionVersion { + // Name is the version name, e.g. “v1”, “v2beta1”, etc. + optional string name = 1; + + // Served is a flag enabling/disabling this version from being served via REST APIs + optional bool served = 2; + + // Storage flags the version as storage version. There must be exactly one + // flagged as storage version. + optional bool storage = 3; +} + +// CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources. +message CustomResourceSubresourceScale { + // SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Spec.Replicas. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .spec. + // If there is no value under the given path in the CustomResource, the /scale subresource will return an error on GET. + optional string specReplicasPath = 1; + + // StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Replicas. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .status. + // If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource + // will default to 0. + optional string statusReplicasPath = 2; + + // LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Selector. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .status. + // Must be set to work with HPA. + // If there is no value under the given path in the CustomResource, the status label selector value in the /scale + // subresource will default to the empty string. + // +optional + optional string labelSelectorPath = 3; +} + +// CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. +// Status is represented by the `.status` JSON path inside of a CustomResource. When set, +// * exposes a /status subresource for the custom resource +// * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza +// * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza +message CustomResourceSubresourceStatus { +} + +// CustomResourceSubresources defines the status and scale subresources for CustomResources. +message CustomResourceSubresources { + // Status denotes the status subresource for CustomResources + optional CustomResourceSubresourceStatus status = 1; + + // Scale denotes the scale subresource for CustomResources + optional CustomResourceSubresourceScale scale = 2; +} + +// CustomResourceValidation is a list of validation methods for CustomResources. +message CustomResourceValidation { + // OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. + optional JSONSchemaProps openAPIV3Schema = 1; +} + +// ExternalDocumentation allows referencing an external resource for extended documentation. +message ExternalDocumentation { + optional string description = 1; + + optional string url = 2; +} + +// JSON represents any valid JSON value. +// These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. +message JSON { + optional bytes raw = 1; +} + +// JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). +message JSONSchemaProps { + optional string id = 1; + + optional string schema = 2; + + optional string ref = 3; + + optional string description = 4; + + optional string type = 5; + + optional string format = 6; + + optional string title = 7; + + optional JSON default = 8; + + optional double maximum = 9; + + optional bool exclusiveMaximum = 10; + + optional double minimum = 11; + + optional bool exclusiveMinimum = 12; + + optional int64 maxLength = 13; + + optional int64 minLength = 14; + + optional string pattern = 15; + + optional int64 maxItems = 16; + + optional int64 minItems = 17; + + optional bool uniqueItems = 18; + + optional double multipleOf = 19; + + repeated JSON enum = 20; + + optional int64 maxProperties = 21; + + optional int64 minProperties = 22; + + repeated string required = 23; + + optional JSONSchemaPropsOrArray items = 24; + + repeated JSONSchemaProps allOf = 25; + + repeated JSONSchemaProps oneOf = 26; + + repeated JSONSchemaProps anyOf = 27; + + optional JSONSchemaProps not = 28; + + map properties = 29; + + optional JSONSchemaPropsOrBool additionalProperties = 30; + + map patternProperties = 31; + + map dependencies = 32; + + optional JSONSchemaPropsOrBool additionalItems = 33; + + map definitions = 34; + + optional ExternalDocumentation externalDocs = 35; + + optional JSON example = 36; +} + +// JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps +// or an array of JSONSchemaProps. Mainly here for serialization purposes. +message JSONSchemaPropsOrArray { + optional JSONSchemaProps schema = 1; + + repeated JSONSchemaProps jSONSchemas = 2; +} + +// JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. +// Defaults to true for the boolean property. +message JSONSchemaPropsOrBool { + optional bool allows = 1; + + optional JSONSchemaProps schema = 2; +} + +// JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. +message JSONSchemaPropsOrStringArray { + optional JSONSchemaProps schema = 1; + + repeated string property = 2; +} + diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/marshal.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/marshal.go new file mode 100644 index 000000000..9a8fad3b7 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/marshal.go @@ -0,0 +1,135 @@ +/* +Copyright 2017 The Kubernetes 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 v1beta1 + +import ( + "errors" + + "k8s.io/apimachinery/pkg/util/json" +) + +var jsTrue = []byte("true") +var jsFalse = []byte("false") + +func (s JSONSchemaPropsOrBool) MarshalJSON() ([]byte, error) { + if s.Schema != nil { + return json.Marshal(s.Schema) + } + + if s.Schema == nil && !s.Allows { + return jsFalse, nil + } + return jsTrue, nil +} + +func (s *JSONSchemaPropsOrBool) UnmarshalJSON(data []byte) error { + var nw JSONSchemaPropsOrBool + switch { + case len(data) == 0: + case data[0] == '{': + var sch JSONSchemaProps + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Allows = true + nw.Schema = &sch + case len(data) == 4 && string(data) == "true": + nw.Allows = true + case len(data) == 5 && string(data) == "false": + nw.Allows = false + default: + return errors.New("boolean or JSON schema expected") + } + *s = nw + return nil +} + +func (s JSONSchemaPropsOrStringArray) 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 +} + +func (s *JSONSchemaPropsOrStringArray) UnmarshalJSON(data []byte) error { + var first byte + if len(data) > 1 { + first = data[0] + } + var nw JSONSchemaPropsOrStringArray + if first == '{' { + var sch JSONSchemaProps + 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 +} + +func (s JSONSchemaPropsOrArray) MarshalJSON() ([]byte, error) { + if len(s.JSONSchemas) > 0 { + return json.Marshal(s.JSONSchemas) + } + return json.Marshal(s.Schema) +} + +func (s *JSONSchemaPropsOrArray) UnmarshalJSON(data []byte) error { + var nw JSONSchemaPropsOrArray + var first byte + if len(data) > 1 { + first = data[0] + } + if first == '{' { + var sch JSONSchemaProps + if err := json.Unmarshal(data, &sch); err != nil { + return err + } + nw.Schema = &sch + } + if first == '[' { + if err := json.Unmarshal(data, &nw.JSONSchemas); err != nil { + return err + } + } + *s = nw + return nil +} + +func (s JSON) MarshalJSON() ([]byte, error) { + if len(s.Raw) > 0 { + return s.Raw, nil + } + return []byte("null"), nil + +} + +func (s *JSON) UnmarshalJSON(data []byte) error { + if len(data) > 0 && string(data) != "null" { + s.Raw = data + } + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/register.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/register.go new file mode 100644 index 000000000..77f849975 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/register.go @@ -0,0 +1,61 @@ +/* +Copyright 2017 The Kubernetes 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 v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +const GroupName = "apiextensions.k8s.io" + +// SchemeGroupVersion is group version used to register these objects +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} + +// Kind takes an unqualified kind and returns back a Group qualified GroupKind +func Kind(kind string) schema.GroupKind { + return SchemeGroupVersion.WithKind(kind).GroupKind() +} + +// Resource takes an unqualified resource and returns back a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) + localSchemeBuilder = &SchemeBuilder + AddToScheme = localSchemeBuilder.AddToScheme +) + +// Adds the list of known types to the given scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &CustomResourceDefinition{}, + &CustomResourceDefinitionList{}, + ) + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addDefaultingFuncs, addConversionFuncs) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go new file mode 100644 index 000000000..2080cc821 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go @@ -0,0 +1,253 @@ +/* +Copyright 2017 The Kubernetes 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 v1beta1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// CustomResourceDefinitionSpec describes how a user wants their resource to appear +type CustomResourceDefinitionSpec struct { + // Group is the group this resource belongs in + Group string `json:"group" protobuf:"bytes,1,opt,name=group"` + // Version is the version this resource belongs in + // Should be always first item in Versions field if provided. + // Optional, but at least one of Version or Versions must be set. + // Deprecated: Please use `Versions`. + // +optional + Version string `json:"version,omitempty" protobuf:"bytes,2,opt,name=version"` + // Names are the names used to describe this custom resource + Names CustomResourceDefinitionNames `json:"names" protobuf:"bytes,3,opt,name=names"` + // Scope indicates whether this resource is cluster or namespace scoped. Default is namespaced + Scope ResourceScope `json:"scope" protobuf:"bytes,4,opt,name=scope,casttype=ResourceScope"` + // Validation describes the validation methods for CustomResources + // +optional + Validation *CustomResourceValidation `json:"validation,omitempty" protobuf:"bytes,5,opt,name=validation"` + // Subresources describes the subresources for CustomResources + // +optional + Subresources *CustomResourceSubresources `json:"subresources,omitempty" protobuf:"bytes,6,opt,name=subresources"` + // Versions is the list of all supported versions for this resource. + // If Version field is provided, this field is optional. + // Validation: All versions must use the same validation schema for now. i.e., top + // level Validation field is applied to all of these versions. + // Order: The version name will be used to compute the order. + // If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered + // lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), + // then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first + // by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing + // major version, then minor version. An example sorted list of versions: + // v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. + Versions []CustomResourceDefinitionVersion `json:"versions,omitempty" protobuf:"bytes,7,rep,name=versions"` + // AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. + AdditionalPrinterColumns []CustomResourceColumnDefinition `json:"additionalPrinterColumns,omitempty" protobuf:"bytes,8,rep,name=additionalPrinterColumns"` +} + +type CustomResourceDefinitionVersion struct { + // Name is the version name, e.g. “v1”, “v2beta1”, etc. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // Served is a flag enabling/disabling this version from being served via REST APIs + Served bool `json:"served" protobuf:"varint,2,opt,name=served"` + // Storage flags the version as storage version. There must be exactly one + // flagged as storage version. + Storage bool `json:"storage" protobuf:"varint,3,opt,name=storage"` +} + +// CustomResourceColumnDefinition specifies a column for server side printing. +type CustomResourceColumnDefinition struct { + // name is a human readable name for the column. + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` + // type is an OpenAPI type definition for this column. + // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. + Type string `json:"type" protobuf:"bytes,2,opt,name=type"` + // format is an optional OpenAPI type definition for this column. The 'name' format is applied + // to the primary identifier column to assist in clients identifying column is the resource name. + // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. + Format string `json:"format,omitempty" protobuf:"bytes,3,opt,name=format"` + // description is a human readable description of this column. + Description string `json:"description,omitempty" protobuf:"bytes,4,opt,name=description"` + // priority is an integer defining the relative importance of this column compared to others. Lower + // numbers are considered higher priority. Columns that may be omitted in limited space scenarios + // should be given a higher priority. + Priority int32 `json:"priority,omitempty" protobuf:"bytes,5,opt,name=priority"` + + // JSONPath is a simple JSON path, i.e. with array notation. + JSONPath string `json:"JSONPath" protobuf:"bytes,6,opt,name=JSONPath"` +} + +// CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition +type CustomResourceDefinitionNames struct { + // Plural is the plural name of the resource to serve. It must match the name of the CustomResourceDefinition-registration + // too: plural.group and it must be all lowercase. + Plural string `json:"plural" protobuf:"bytes,1,opt,name=plural"` + // Singular is the singular name of the resource. It must be all lowercase Defaults to lowercased + Singular string `json:"singular,omitempty" protobuf:"bytes,2,opt,name=singular"` + // ShortNames are short names for the resource. It must be all lowercase. + ShortNames []string `json:"shortNames,omitempty" protobuf:"bytes,3,opt,name=shortNames"` + // Kind is the serialized kind of the resource. It is normally CamelCase and singular. + Kind string `json:"kind" protobuf:"bytes,4,opt,name=kind"` + // ListKind is the serialized kind of the list for this resource. Defaults to List. + ListKind string `json:"listKind,omitempty" protobuf:"bytes,5,opt,name=listKind"` + // Categories is a list of grouped resources custom resources belong to (e.g. 'all') + // +optional + Categories []string `json:"categories,omitempty" protobuf:"bytes,6,rep,name=categories"` +} + +// ResourceScope is an enum defining the different scopes available to a custom resource +type ResourceScope string + +const ( + ClusterScoped ResourceScope = "Cluster" + NamespaceScoped ResourceScope = "Namespaced" +) + +type ConditionStatus string + +// These are valid condition statuses. "ConditionTrue" means a resource is in the condition. +// "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes +// can't decide if a resource is in the condition or not. In the future, we could add other +// intermediate conditions, e.g. ConditionDegraded. +const ( + ConditionTrue ConditionStatus = "True" + ConditionFalse ConditionStatus = "False" + ConditionUnknown ConditionStatus = "Unknown" +) + +// CustomResourceDefinitionConditionType is a valid value for CustomResourceDefinitionCondition.Type +type CustomResourceDefinitionConditionType string + +const ( + // Established means that the resource has become active. A resource is established when all names are + // accepted without a conflict for the first time. A resource stays established until deleted, even during + // a later NamesAccepted due to changed names. Note that not all names can be changed. + Established CustomResourceDefinitionConditionType = "Established" + // NamesAccepted means the names chosen for this CustomResourceDefinition do not conflict with others in + // the group and are therefore accepted. + NamesAccepted CustomResourceDefinitionConditionType = "NamesAccepted" + // Terminating means that the CustomResourceDefinition has been deleted and is cleaning up. + Terminating CustomResourceDefinitionConditionType = "Terminating" +) + +// CustomResourceDefinitionCondition contains details for the current condition of this pod. +type CustomResourceDefinitionCondition struct { + // Type is the type of the condition. + Type CustomResourceDefinitionConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=CustomResourceDefinitionConditionType"` + // Status is the status of the condition. + // Can be True, False, Unknown. + Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"` + // Last time the condition transitioned from one status to another. + // +optional + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"` + // Unique, one-word, CamelCase reason for the condition's last transition. + // +optional + Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"` + // Human-readable message indicating details about last transition. + // +optional + Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` +} + +// CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition +type CustomResourceDefinitionStatus struct { + // Conditions indicate state for particular aspects of a CustomResourceDefinition + Conditions []CustomResourceDefinitionCondition `json:"conditions" protobuf:"bytes,1,opt,name=conditions"` + + // AcceptedNames are the names that are actually being used to serve discovery + // They may be different than the names in spec. + AcceptedNames CustomResourceDefinitionNames `json:"acceptedNames" protobuf:"bytes,2,opt,name=acceptedNames"` + + // StoredVersions are all versions of CustomResources that were ever persisted. Tracking these + // versions allows a migration path for stored versions in etcd. The field is mutable + // so the migration controller can first finish a migration to another version (i.e. + // that no old objects are left in the storage), and then remove the rest of the + // versions from this list. + // None of the versions in this list can be removed from the spec.Versions field. + StoredVersions []string `json:"storedVersions" protobuf:"bytes,3,rep,name=storedVersions"` +} + +// CustomResourceCleanupFinalizer is the name of the finalizer which will delete instances of +// a CustomResourceDefinition +const CustomResourceCleanupFinalizer = "customresourcecleanup.apiextensions.k8s.io" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format +// <.spec.name>.<.spec.group>. +type CustomResourceDefinition struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Spec describes how the user wants the resources to appear + Spec CustomResourceDefinitionSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` + // Status indicates the actual state of the CustomResourceDefinition + Status CustomResourceDefinitionStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// CustomResourceDefinitionList is a list of CustomResourceDefinition objects. +type CustomResourceDefinitionList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Items individual CustomResourceDefinitions + Items []CustomResourceDefinition `json:"items" protobuf:"bytes,2,rep,name=items"` +} + +// CustomResourceValidation is a list of validation methods for CustomResources. +type CustomResourceValidation struct { + // OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. + OpenAPIV3Schema *JSONSchemaProps `json:"openAPIV3Schema,omitempty" protobuf:"bytes,1,opt,name=openAPIV3Schema"` +} + +// CustomResourceSubresources defines the status and scale subresources for CustomResources. +type CustomResourceSubresources struct { + // Status denotes the status subresource for CustomResources + Status *CustomResourceSubresourceStatus `json:"status,omitempty" protobuf:"bytes,1,opt,name=status"` + // Scale denotes the scale subresource for CustomResources + Scale *CustomResourceSubresourceScale `json:"scale,omitempty" protobuf:"bytes,2,opt,name=scale"` +} + +// CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. +// Status is represented by the `.status` JSON path inside of a CustomResource. When set, +// * exposes a /status subresource for the custom resource +// * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza +// * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza +type CustomResourceSubresourceStatus struct{} + +// CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources. +type CustomResourceSubresourceScale struct { + // SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Spec.Replicas. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .spec. + // If there is no value under the given path in the CustomResource, the /scale subresource will return an error on GET. + SpecReplicasPath string `json:"specReplicasPath" protobuf:"bytes,1,name=specReplicasPath"` + // StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Replicas. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .status. + // If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource + // will default to 0. + StatusReplicasPath string `json:"statusReplicasPath" protobuf:"bytes,2,opt,name=statusReplicasPath"` + // LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Selector. + // Only JSON paths without the array notation are allowed. + // Must be a JSON Path under .status. + // Must be set to work with HPA. + // If there is no value under the given path in the CustomResource, the status label selector value in the /scale + // subresource will default to the empty string. + // +optional + LabelSelectorPath *string `json:"labelSelectorPath,omitempty" protobuf:"bytes,3,opt,name=labelSelectorPath"` +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go new file mode 100644 index 000000000..9776731cf --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go @@ -0,0 +1,150 @@ +/* +Copyright 2017 The Kubernetes 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 v1beta1 + +// JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). +type JSONSchemaProps struct { + ID string `json:"id,omitempty" protobuf:"bytes,1,opt,name=id"` + Schema JSONSchemaURL `json:"$schema,omitempty" protobuf:"bytes,2,opt,name=schema"` + Ref *string `json:"$ref,omitempty" protobuf:"bytes,3,opt,name=ref"` + Description string `json:"description,omitempty" protobuf:"bytes,4,opt,name=description"` + Type string `json:"type,omitempty" protobuf:"bytes,5,opt,name=type"` + Format string `json:"format,omitempty" protobuf:"bytes,6,opt,name=format"` + Title string `json:"title,omitempty" protobuf:"bytes,7,opt,name=title"` + Default *JSON `json:"default,omitempty" protobuf:"bytes,8,opt,name=default"` + Maximum *float64 `json:"maximum,omitempty" protobuf:"bytes,9,opt,name=maximum"` + ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty" protobuf:"bytes,10,opt,name=exclusiveMaximum"` + Minimum *float64 `json:"minimum,omitempty" protobuf:"bytes,11,opt,name=minimum"` + ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty" protobuf:"bytes,12,opt,name=exclusiveMinimum"` + MaxLength *int64 `json:"maxLength,omitempty" protobuf:"bytes,13,opt,name=maxLength"` + MinLength *int64 `json:"minLength,omitempty" protobuf:"bytes,14,opt,name=minLength"` + Pattern string `json:"pattern,omitempty" protobuf:"bytes,15,opt,name=pattern"` + MaxItems *int64 `json:"maxItems,omitempty" protobuf:"bytes,16,opt,name=maxItems"` + MinItems *int64 `json:"minItems,omitempty" protobuf:"bytes,17,opt,name=minItems"` + UniqueItems bool `json:"uniqueItems,omitempty" protobuf:"bytes,18,opt,name=uniqueItems"` + MultipleOf *float64 `json:"multipleOf,omitempty" protobuf:"bytes,19,opt,name=multipleOf"` + Enum []JSON `json:"enum,omitempty" protobuf:"bytes,20,rep,name=enum"` + MaxProperties *int64 `json:"maxProperties,omitempty" protobuf:"bytes,21,opt,name=maxProperties"` + MinProperties *int64 `json:"minProperties,omitempty" protobuf:"bytes,22,opt,name=minProperties"` + Required []string `json:"required,omitempty" protobuf:"bytes,23,rep,name=required"` + Items *JSONSchemaPropsOrArray `json:"items,omitempty" protobuf:"bytes,24,opt,name=items"` + AllOf []JSONSchemaProps `json:"allOf,omitempty" protobuf:"bytes,25,rep,name=allOf"` + OneOf []JSONSchemaProps `json:"oneOf,omitempty" protobuf:"bytes,26,rep,name=oneOf"` + AnyOf []JSONSchemaProps `json:"anyOf,omitempty" protobuf:"bytes,27,rep,name=anyOf"` + Not *JSONSchemaProps `json:"not,omitempty" protobuf:"bytes,28,opt,name=not"` + Properties map[string]JSONSchemaProps `json:"properties,omitempty" protobuf:"bytes,29,rep,name=properties"` + AdditionalProperties *JSONSchemaPropsOrBool `json:"additionalProperties,omitempty" protobuf:"bytes,30,opt,name=additionalProperties"` + PatternProperties map[string]JSONSchemaProps `json:"patternProperties,omitempty" protobuf:"bytes,31,rep,name=patternProperties"` + Dependencies JSONSchemaDependencies `json:"dependencies,omitempty" protobuf:"bytes,32,opt,name=dependencies"` + AdditionalItems *JSONSchemaPropsOrBool `json:"additionalItems,omitempty" protobuf:"bytes,33,opt,name=additionalItems"` + Definitions JSONSchemaDefinitions `json:"definitions,omitempty" protobuf:"bytes,34,opt,name=definitions"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty" protobuf:"bytes,35,opt,name=externalDocs"` + Example *JSON `json:"example,omitempty" protobuf:"bytes,36,opt,name=example"` +} + +// JSON represents any valid JSON value. +// These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. +type JSON struct { + Raw []byte `protobuf:"bytes,1,opt,name=raw"` +} + +// OpenAPISchemaType is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +// +// See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators +func (_ JSON) OpenAPISchemaType() []string { + // TODO: return actual types when anyOf is supported + return []string{} +} + +// OpenAPISchemaFormat is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +func (_ JSON) OpenAPISchemaFormat() string { return "" } + +// JSONSchemaURL represents a schema url. +type JSONSchemaURL string + +// JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps +// or an array of JSONSchemaProps. Mainly here for serialization purposes. +type JSONSchemaPropsOrArray struct { + Schema *JSONSchemaProps `protobuf:"bytes,1,opt,name=schema"` + JSONSchemas []JSONSchemaProps `protobuf:"bytes,2,rep,name=jSONSchemas"` +} + +// OpenAPISchemaType is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +// +// See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators +func (_ JSONSchemaPropsOrArray) OpenAPISchemaType() []string { + // TODO: return actual types when anyOf is supported + return []string{} +} + +// OpenAPISchemaFormat is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +func (_ JSONSchemaPropsOrArray) OpenAPISchemaFormat() string { return "" } + +// JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. +// Defaults to true for the boolean property. +type JSONSchemaPropsOrBool struct { + Allows bool `protobuf:"varint,1,opt,name=allows"` + Schema *JSONSchemaProps `protobuf:"bytes,2,opt,name=schema"` +} + +// OpenAPISchemaType is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +// +// See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators +func (_ JSONSchemaPropsOrBool) OpenAPISchemaType() []string { + // TODO: return actual types when anyOf is supported + return []string{} +} + +// OpenAPISchemaFormat is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +func (_ JSONSchemaPropsOrBool) OpenAPISchemaFormat() string { return "" } + +// JSONSchemaDependencies represent a dependencies property. +type JSONSchemaDependencies map[string]JSONSchemaPropsOrStringArray + +// JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. +type JSONSchemaPropsOrStringArray struct { + Schema *JSONSchemaProps `protobuf:"bytes,1,opt,name=schema"` + Property []string `protobuf:"bytes,2,rep,name=property"` +} + +// OpenAPISchemaType is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +// +// See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators +func (_ JSONSchemaPropsOrStringArray) OpenAPISchemaType() []string { + // TODO: return actual types when anyOf is supported + return []string{} +} + +// OpenAPISchemaFormat is used by the kube-openapi generator when constructing +// the OpenAPI spec of this type. +func (_ JSONSchemaPropsOrStringArray) OpenAPISchemaFormat() string { return "" } + +// JSONSchemaDefinitions contains the models explicitly defined in this spec. +type JSONSchemaDefinitions map[string]JSONSchemaProps + +// ExternalDocumentation allows referencing an external resource for extended documentation. +type ExternalDocumentation struct { + Description string `json:"description,omitempty" protobuf:"bytes,1,opt,name=description"` + URL string `json:"url,omitempty" protobuf:"bytes,2,opt,name=url"` +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go new file mode 100644 index 000000000..bcb2527c8 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go @@ -0,0 +1,967 @@ +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by conversion-gen. DO NOT EDIT. + +package v1beta1 + +import ( + unsafe "unsafe" + + apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + conversion "k8s.io/apimachinery/pkg/conversion" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +func init() { + localSchemeBuilder.Register(RegisterConversions) +} + +// RegisterConversions adds conversion functions to the given scheme. +// Public to allow building arbitrary schemes. +func RegisterConversions(scheme *runtime.Scheme) error { + return scheme.AddGeneratedConversionFuncs( + Convert_v1beta1_CustomResourceColumnDefinition_To_apiextensions_CustomResourceColumnDefinition, + Convert_apiextensions_CustomResourceColumnDefinition_To_v1beta1_CustomResourceColumnDefinition, + Convert_v1beta1_CustomResourceDefinition_To_apiextensions_CustomResourceDefinition, + Convert_apiextensions_CustomResourceDefinition_To_v1beta1_CustomResourceDefinition, + Convert_v1beta1_CustomResourceDefinitionCondition_To_apiextensions_CustomResourceDefinitionCondition, + Convert_apiextensions_CustomResourceDefinitionCondition_To_v1beta1_CustomResourceDefinitionCondition, + Convert_v1beta1_CustomResourceDefinitionList_To_apiextensions_CustomResourceDefinitionList, + Convert_apiextensions_CustomResourceDefinitionList_To_v1beta1_CustomResourceDefinitionList, + Convert_v1beta1_CustomResourceDefinitionNames_To_apiextensions_CustomResourceDefinitionNames, + Convert_apiextensions_CustomResourceDefinitionNames_To_v1beta1_CustomResourceDefinitionNames, + Convert_v1beta1_CustomResourceDefinitionSpec_To_apiextensions_CustomResourceDefinitionSpec, + Convert_apiextensions_CustomResourceDefinitionSpec_To_v1beta1_CustomResourceDefinitionSpec, + Convert_v1beta1_CustomResourceDefinitionStatus_To_apiextensions_CustomResourceDefinitionStatus, + Convert_apiextensions_CustomResourceDefinitionStatus_To_v1beta1_CustomResourceDefinitionStatus, + Convert_v1beta1_CustomResourceDefinitionVersion_To_apiextensions_CustomResourceDefinitionVersion, + Convert_apiextensions_CustomResourceDefinitionVersion_To_v1beta1_CustomResourceDefinitionVersion, + Convert_v1beta1_CustomResourceSubresourceScale_To_apiextensions_CustomResourceSubresourceScale, + Convert_apiextensions_CustomResourceSubresourceScale_To_v1beta1_CustomResourceSubresourceScale, + Convert_v1beta1_CustomResourceSubresourceStatus_To_apiextensions_CustomResourceSubresourceStatus, + Convert_apiextensions_CustomResourceSubresourceStatus_To_v1beta1_CustomResourceSubresourceStatus, + Convert_v1beta1_CustomResourceSubresources_To_apiextensions_CustomResourceSubresources, + Convert_apiextensions_CustomResourceSubresources_To_v1beta1_CustomResourceSubresources, + Convert_v1beta1_CustomResourceValidation_To_apiextensions_CustomResourceValidation, + Convert_apiextensions_CustomResourceValidation_To_v1beta1_CustomResourceValidation, + Convert_v1beta1_ExternalDocumentation_To_apiextensions_ExternalDocumentation, + Convert_apiextensions_ExternalDocumentation_To_v1beta1_ExternalDocumentation, + Convert_v1beta1_JSON_To_apiextensions_JSON, + Convert_apiextensions_JSON_To_v1beta1_JSON, + Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps, + Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps, + Convert_v1beta1_JSONSchemaPropsOrArray_To_apiextensions_JSONSchemaPropsOrArray, + Convert_apiextensions_JSONSchemaPropsOrArray_To_v1beta1_JSONSchemaPropsOrArray, + Convert_v1beta1_JSONSchemaPropsOrBool_To_apiextensions_JSONSchemaPropsOrBool, + Convert_apiextensions_JSONSchemaPropsOrBool_To_v1beta1_JSONSchemaPropsOrBool, + Convert_v1beta1_JSONSchemaPropsOrStringArray_To_apiextensions_JSONSchemaPropsOrStringArray, + Convert_apiextensions_JSONSchemaPropsOrStringArray_To_v1beta1_JSONSchemaPropsOrStringArray, + ) +} + +func autoConvert_v1beta1_CustomResourceColumnDefinition_To_apiextensions_CustomResourceColumnDefinition(in *CustomResourceColumnDefinition, out *apiextensions.CustomResourceColumnDefinition, s conversion.Scope) error { + out.Name = in.Name + out.Type = in.Type + out.Format = in.Format + out.Description = in.Description + out.Priority = in.Priority + out.JSONPath = in.JSONPath + return nil +} + +// Convert_v1beta1_CustomResourceColumnDefinition_To_apiextensions_CustomResourceColumnDefinition is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceColumnDefinition_To_apiextensions_CustomResourceColumnDefinition(in *CustomResourceColumnDefinition, out *apiextensions.CustomResourceColumnDefinition, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceColumnDefinition_To_apiextensions_CustomResourceColumnDefinition(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceColumnDefinition_To_v1beta1_CustomResourceColumnDefinition(in *apiextensions.CustomResourceColumnDefinition, out *CustomResourceColumnDefinition, s conversion.Scope) error { + out.Name = in.Name + out.Type = in.Type + out.Format = in.Format + out.Description = in.Description + out.Priority = in.Priority + out.JSONPath = in.JSONPath + return nil +} + +// Convert_apiextensions_CustomResourceColumnDefinition_To_v1beta1_CustomResourceColumnDefinition is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceColumnDefinition_To_v1beta1_CustomResourceColumnDefinition(in *apiextensions.CustomResourceColumnDefinition, out *CustomResourceColumnDefinition, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceColumnDefinition_To_v1beta1_CustomResourceColumnDefinition(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceDefinition_To_apiextensions_CustomResourceDefinition(in *CustomResourceDefinition, out *apiextensions.CustomResourceDefinition, s conversion.Scope) error { + out.ObjectMeta = in.ObjectMeta + if err := Convert_v1beta1_CustomResourceDefinitionSpec_To_apiextensions_CustomResourceDefinitionSpec(&in.Spec, &out.Spec, s); err != nil { + return err + } + if err := Convert_v1beta1_CustomResourceDefinitionStatus_To_apiextensions_CustomResourceDefinitionStatus(&in.Status, &out.Status, s); err != nil { + return err + } + return nil +} + +// Convert_v1beta1_CustomResourceDefinition_To_apiextensions_CustomResourceDefinition is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceDefinition_To_apiextensions_CustomResourceDefinition(in *CustomResourceDefinition, out *apiextensions.CustomResourceDefinition, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceDefinition_To_apiextensions_CustomResourceDefinition(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceDefinition_To_v1beta1_CustomResourceDefinition(in *apiextensions.CustomResourceDefinition, out *CustomResourceDefinition, s conversion.Scope) error { + out.ObjectMeta = in.ObjectMeta + if err := Convert_apiextensions_CustomResourceDefinitionSpec_To_v1beta1_CustomResourceDefinitionSpec(&in.Spec, &out.Spec, s); err != nil { + return err + } + if err := Convert_apiextensions_CustomResourceDefinitionStatus_To_v1beta1_CustomResourceDefinitionStatus(&in.Status, &out.Status, s); err != nil { + return err + } + return nil +} + +// Convert_apiextensions_CustomResourceDefinition_To_v1beta1_CustomResourceDefinition is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceDefinition_To_v1beta1_CustomResourceDefinition(in *apiextensions.CustomResourceDefinition, out *CustomResourceDefinition, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceDefinition_To_v1beta1_CustomResourceDefinition(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceDefinitionCondition_To_apiextensions_CustomResourceDefinitionCondition(in *CustomResourceDefinitionCondition, out *apiextensions.CustomResourceDefinitionCondition, s conversion.Scope) error { + out.Type = apiextensions.CustomResourceDefinitionConditionType(in.Type) + out.Status = apiextensions.ConditionStatus(in.Status) + out.LastTransitionTime = in.LastTransitionTime + out.Reason = in.Reason + out.Message = in.Message + return nil +} + +// Convert_v1beta1_CustomResourceDefinitionCondition_To_apiextensions_CustomResourceDefinitionCondition is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceDefinitionCondition_To_apiextensions_CustomResourceDefinitionCondition(in *CustomResourceDefinitionCondition, out *apiextensions.CustomResourceDefinitionCondition, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceDefinitionCondition_To_apiextensions_CustomResourceDefinitionCondition(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceDefinitionCondition_To_v1beta1_CustomResourceDefinitionCondition(in *apiextensions.CustomResourceDefinitionCondition, out *CustomResourceDefinitionCondition, s conversion.Scope) error { + out.Type = CustomResourceDefinitionConditionType(in.Type) + out.Status = ConditionStatus(in.Status) + out.LastTransitionTime = in.LastTransitionTime + out.Reason = in.Reason + out.Message = in.Message + return nil +} + +// Convert_apiextensions_CustomResourceDefinitionCondition_To_v1beta1_CustomResourceDefinitionCondition is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceDefinitionCondition_To_v1beta1_CustomResourceDefinitionCondition(in *apiextensions.CustomResourceDefinitionCondition, out *CustomResourceDefinitionCondition, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceDefinitionCondition_To_v1beta1_CustomResourceDefinitionCondition(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceDefinitionList_To_apiextensions_CustomResourceDefinitionList(in *CustomResourceDefinitionList, out *apiextensions.CustomResourceDefinitionList, s conversion.Scope) error { + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]apiextensions.CustomResourceDefinition, len(*in)) + for i := range *in { + if err := Convert_v1beta1_CustomResourceDefinition_To_apiextensions_CustomResourceDefinition(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.Items = nil + } + return nil +} + +// Convert_v1beta1_CustomResourceDefinitionList_To_apiextensions_CustomResourceDefinitionList is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceDefinitionList_To_apiextensions_CustomResourceDefinitionList(in *CustomResourceDefinitionList, out *apiextensions.CustomResourceDefinitionList, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceDefinitionList_To_apiextensions_CustomResourceDefinitionList(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceDefinitionList_To_v1beta1_CustomResourceDefinitionList(in *apiextensions.CustomResourceDefinitionList, out *CustomResourceDefinitionList, s conversion.Scope) error { + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CustomResourceDefinition, len(*in)) + for i := range *in { + if err := Convert_apiextensions_CustomResourceDefinition_To_v1beta1_CustomResourceDefinition(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.Items = nil + } + return nil +} + +// Convert_apiextensions_CustomResourceDefinitionList_To_v1beta1_CustomResourceDefinitionList is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceDefinitionList_To_v1beta1_CustomResourceDefinitionList(in *apiextensions.CustomResourceDefinitionList, out *CustomResourceDefinitionList, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceDefinitionList_To_v1beta1_CustomResourceDefinitionList(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceDefinitionNames_To_apiextensions_CustomResourceDefinitionNames(in *CustomResourceDefinitionNames, out *apiextensions.CustomResourceDefinitionNames, s conversion.Scope) error { + out.Plural = in.Plural + out.Singular = in.Singular + out.ShortNames = *(*[]string)(unsafe.Pointer(&in.ShortNames)) + out.Kind = in.Kind + out.ListKind = in.ListKind + out.Categories = *(*[]string)(unsafe.Pointer(&in.Categories)) + return nil +} + +// Convert_v1beta1_CustomResourceDefinitionNames_To_apiextensions_CustomResourceDefinitionNames is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceDefinitionNames_To_apiextensions_CustomResourceDefinitionNames(in *CustomResourceDefinitionNames, out *apiextensions.CustomResourceDefinitionNames, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceDefinitionNames_To_apiextensions_CustomResourceDefinitionNames(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceDefinitionNames_To_v1beta1_CustomResourceDefinitionNames(in *apiextensions.CustomResourceDefinitionNames, out *CustomResourceDefinitionNames, s conversion.Scope) error { + out.Plural = in.Plural + out.Singular = in.Singular + out.ShortNames = *(*[]string)(unsafe.Pointer(&in.ShortNames)) + out.Kind = in.Kind + out.ListKind = in.ListKind + out.Categories = *(*[]string)(unsafe.Pointer(&in.Categories)) + return nil +} + +// Convert_apiextensions_CustomResourceDefinitionNames_To_v1beta1_CustomResourceDefinitionNames is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceDefinitionNames_To_v1beta1_CustomResourceDefinitionNames(in *apiextensions.CustomResourceDefinitionNames, out *CustomResourceDefinitionNames, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceDefinitionNames_To_v1beta1_CustomResourceDefinitionNames(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceDefinitionSpec_To_apiextensions_CustomResourceDefinitionSpec(in *CustomResourceDefinitionSpec, out *apiextensions.CustomResourceDefinitionSpec, s conversion.Scope) error { + out.Group = in.Group + out.Version = in.Version + if err := Convert_v1beta1_CustomResourceDefinitionNames_To_apiextensions_CustomResourceDefinitionNames(&in.Names, &out.Names, s); err != nil { + return err + } + out.Scope = apiextensions.ResourceScope(in.Scope) + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(apiextensions.CustomResourceValidation) + if err := Convert_v1beta1_CustomResourceValidation_To_apiextensions_CustomResourceValidation(*in, *out, s); err != nil { + return err + } + } else { + out.Validation = nil + } + out.Subresources = (*apiextensions.CustomResourceSubresources)(unsafe.Pointer(in.Subresources)) + out.Versions = *(*[]apiextensions.CustomResourceDefinitionVersion)(unsafe.Pointer(&in.Versions)) + out.AdditionalPrinterColumns = *(*[]apiextensions.CustomResourceColumnDefinition)(unsafe.Pointer(&in.AdditionalPrinterColumns)) + return nil +} + +// Convert_v1beta1_CustomResourceDefinitionSpec_To_apiextensions_CustomResourceDefinitionSpec is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceDefinitionSpec_To_apiextensions_CustomResourceDefinitionSpec(in *CustomResourceDefinitionSpec, out *apiextensions.CustomResourceDefinitionSpec, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceDefinitionSpec_To_apiextensions_CustomResourceDefinitionSpec(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceDefinitionSpec_To_v1beta1_CustomResourceDefinitionSpec(in *apiextensions.CustomResourceDefinitionSpec, out *CustomResourceDefinitionSpec, s conversion.Scope) error { + out.Group = in.Group + out.Version = in.Version + if err := Convert_apiextensions_CustomResourceDefinitionNames_To_v1beta1_CustomResourceDefinitionNames(&in.Names, &out.Names, s); err != nil { + return err + } + out.Scope = ResourceScope(in.Scope) + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + *out = new(CustomResourceValidation) + if err := Convert_apiextensions_CustomResourceValidation_To_v1beta1_CustomResourceValidation(*in, *out, s); err != nil { + return err + } + } else { + out.Validation = nil + } + out.Subresources = (*CustomResourceSubresources)(unsafe.Pointer(in.Subresources)) + out.Versions = *(*[]CustomResourceDefinitionVersion)(unsafe.Pointer(&in.Versions)) + out.AdditionalPrinterColumns = *(*[]CustomResourceColumnDefinition)(unsafe.Pointer(&in.AdditionalPrinterColumns)) + return nil +} + +// Convert_apiextensions_CustomResourceDefinitionSpec_To_v1beta1_CustomResourceDefinitionSpec is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceDefinitionSpec_To_v1beta1_CustomResourceDefinitionSpec(in *apiextensions.CustomResourceDefinitionSpec, out *CustomResourceDefinitionSpec, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceDefinitionSpec_To_v1beta1_CustomResourceDefinitionSpec(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceDefinitionStatus_To_apiextensions_CustomResourceDefinitionStatus(in *CustomResourceDefinitionStatus, out *apiextensions.CustomResourceDefinitionStatus, s conversion.Scope) error { + out.Conditions = *(*[]apiextensions.CustomResourceDefinitionCondition)(unsafe.Pointer(&in.Conditions)) + if err := Convert_v1beta1_CustomResourceDefinitionNames_To_apiextensions_CustomResourceDefinitionNames(&in.AcceptedNames, &out.AcceptedNames, s); err != nil { + return err + } + out.StoredVersions = *(*[]string)(unsafe.Pointer(&in.StoredVersions)) + return nil +} + +// Convert_v1beta1_CustomResourceDefinitionStatus_To_apiextensions_CustomResourceDefinitionStatus is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceDefinitionStatus_To_apiextensions_CustomResourceDefinitionStatus(in *CustomResourceDefinitionStatus, out *apiextensions.CustomResourceDefinitionStatus, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceDefinitionStatus_To_apiextensions_CustomResourceDefinitionStatus(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceDefinitionStatus_To_v1beta1_CustomResourceDefinitionStatus(in *apiextensions.CustomResourceDefinitionStatus, out *CustomResourceDefinitionStatus, s conversion.Scope) error { + out.Conditions = *(*[]CustomResourceDefinitionCondition)(unsafe.Pointer(&in.Conditions)) + if err := Convert_apiextensions_CustomResourceDefinitionNames_To_v1beta1_CustomResourceDefinitionNames(&in.AcceptedNames, &out.AcceptedNames, s); err != nil { + return err + } + out.StoredVersions = *(*[]string)(unsafe.Pointer(&in.StoredVersions)) + return nil +} + +// Convert_apiextensions_CustomResourceDefinitionStatus_To_v1beta1_CustomResourceDefinitionStatus is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceDefinitionStatus_To_v1beta1_CustomResourceDefinitionStatus(in *apiextensions.CustomResourceDefinitionStatus, out *CustomResourceDefinitionStatus, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceDefinitionStatus_To_v1beta1_CustomResourceDefinitionStatus(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceDefinitionVersion_To_apiextensions_CustomResourceDefinitionVersion(in *CustomResourceDefinitionVersion, out *apiextensions.CustomResourceDefinitionVersion, s conversion.Scope) error { + out.Name = in.Name + out.Served = in.Served + out.Storage = in.Storage + return nil +} + +// Convert_v1beta1_CustomResourceDefinitionVersion_To_apiextensions_CustomResourceDefinitionVersion is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceDefinitionVersion_To_apiextensions_CustomResourceDefinitionVersion(in *CustomResourceDefinitionVersion, out *apiextensions.CustomResourceDefinitionVersion, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceDefinitionVersion_To_apiextensions_CustomResourceDefinitionVersion(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceDefinitionVersion_To_v1beta1_CustomResourceDefinitionVersion(in *apiextensions.CustomResourceDefinitionVersion, out *CustomResourceDefinitionVersion, s conversion.Scope) error { + out.Name = in.Name + out.Served = in.Served + out.Storage = in.Storage + return nil +} + +// Convert_apiextensions_CustomResourceDefinitionVersion_To_v1beta1_CustomResourceDefinitionVersion is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceDefinitionVersion_To_v1beta1_CustomResourceDefinitionVersion(in *apiextensions.CustomResourceDefinitionVersion, out *CustomResourceDefinitionVersion, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceDefinitionVersion_To_v1beta1_CustomResourceDefinitionVersion(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceSubresourceScale_To_apiextensions_CustomResourceSubresourceScale(in *CustomResourceSubresourceScale, out *apiextensions.CustomResourceSubresourceScale, s conversion.Scope) error { + out.SpecReplicasPath = in.SpecReplicasPath + out.StatusReplicasPath = in.StatusReplicasPath + out.LabelSelectorPath = (*string)(unsafe.Pointer(in.LabelSelectorPath)) + return nil +} + +// Convert_v1beta1_CustomResourceSubresourceScale_To_apiextensions_CustomResourceSubresourceScale is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceSubresourceScale_To_apiextensions_CustomResourceSubresourceScale(in *CustomResourceSubresourceScale, out *apiextensions.CustomResourceSubresourceScale, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceSubresourceScale_To_apiextensions_CustomResourceSubresourceScale(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceSubresourceScale_To_v1beta1_CustomResourceSubresourceScale(in *apiextensions.CustomResourceSubresourceScale, out *CustomResourceSubresourceScale, s conversion.Scope) error { + out.SpecReplicasPath = in.SpecReplicasPath + out.StatusReplicasPath = in.StatusReplicasPath + out.LabelSelectorPath = (*string)(unsafe.Pointer(in.LabelSelectorPath)) + return nil +} + +// Convert_apiextensions_CustomResourceSubresourceScale_To_v1beta1_CustomResourceSubresourceScale is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceSubresourceScale_To_v1beta1_CustomResourceSubresourceScale(in *apiextensions.CustomResourceSubresourceScale, out *CustomResourceSubresourceScale, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceSubresourceScale_To_v1beta1_CustomResourceSubresourceScale(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceSubresourceStatus_To_apiextensions_CustomResourceSubresourceStatus(in *CustomResourceSubresourceStatus, out *apiextensions.CustomResourceSubresourceStatus, s conversion.Scope) error { + return nil +} + +// Convert_v1beta1_CustomResourceSubresourceStatus_To_apiextensions_CustomResourceSubresourceStatus is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceSubresourceStatus_To_apiextensions_CustomResourceSubresourceStatus(in *CustomResourceSubresourceStatus, out *apiextensions.CustomResourceSubresourceStatus, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceSubresourceStatus_To_apiextensions_CustomResourceSubresourceStatus(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceSubresourceStatus_To_v1beta1_CustomResourceSubresourceStatus(in *apiextensions.CustomResourceSubresourceStatus, out *CustomResourceSubresourceStatus, s conversion.Scope) error { + return nil +} + +// Convert_apiextensions_CustomResourceSubresourceStatus_To_v1beta1_CustomResourceSubresourceStatus is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceSubresourceStatus_To_v1beta1_CustomResourceSubresourceStatus(in *apiextensions.CustomResourceSubresourceStatus, out *CustomResourceSubresourceStatus, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceSubresourceStatus_To_v1beta1_CustomResourceSubresourceStatus(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceSubresources_To_apiextensions_CustomResourceSubresources(in *CustomResourceSubresources, out *apiextensions.CustomResourceSubresources, s conversion.Scope) error { + out.Status = (*apiextensions.CustomResourceSubresourceStatus)(unsafe.Pointer(in.Status)) + out.Scale = (*apiextensions.CustomResourceSubresourceScale)(unsafe.Pointer(in.Scale)) + return nil +} + +// Convert_v1beta1_CustomResourceSubresources_To_apiextensions_CustomResourceSubresources is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceSubresources_To_apiextensions_CustomResourceSubresources(in *CustomResourceSubresources, out *apiextensions.CustomResourceSubresources, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceSubresources_To_apiextensions_CustomResourceSubresources(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceSubresources_To_v1beta1_CustomResourceSubresources(in *apiextensions.CustomResourceSubresources, out *CustomResourceSubresources, s conversion.Scope) error { + out.Status = (*CustomResourceSubresourceStatus)(unsafe.Pointer(in.Status)) + out.Scale = (*CustomResourceSubresourceScale)(unsafe.Pointer(in.Scale)) + return nil +} + +// Convert_apiextensions_CustomResourceSubresources_To_v1beta1_CustomResourceSubresources is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceSubresources_To_v1beta1_CustomResourceSubresources(in *apiextensions.CustomResourceSubresources, out *CustomResourceSubresources, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceSubresources_To_v1beta1_CustomResourceSubresources(in, out, s) +} + +func autoConvert_v1beta1_CustomResourceValidation_To_apiextensions_CustomResourceValidation(in *CustomResourceValidation, out *apiextensions.CustomResourceValidation, s conversion.Scope) error { + if in.OpenAPIV3Schema != nil { + in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema + *out = new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.OpenAPIV3Schema = nil + } + return nil +} + +// Convert_v1beta1_CustomResourceValidation_To_apiextensions_CustomResourceValidation is an autogenerated conversion function. +func Convert_v1beta1_CustomResourceValidation_To_apiextensions_CustomResourceValidation(in *CustomResourceValidation, out *apiextensions.CustomResourceValidation, s conversion.Scope) error { + return autoConvert_v1beta1_CustomResourceValidation_To_apiextensions_CustomResourceValidation(in, out, s) +} + +func autoConvert_apiextensions_CustomResourceValidation_To_v1beta1_CustomResourceValidation(in *apiextensions.CustomResourceValidation, out *CustomResourceValidation, s conversion.Scope) error { + if in.OpenAPIV3Schema != nil { + in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema + *out = new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.OpenAPIV3Schema = nil + } + return nil +} + +// Convert_apiextensions_CustomResourceValidation_To_v1beta1_CustomResourceValidation is an autogenerated conversion function. +func Convert_apiextensions_CustomResourceValidation_To_v1beta1_CustomResourceValidation(in *apiextensions.CustomResourceValidation, out *CustomResourceValidation, s conversion.Scope) error { + return autoConvert_apiextensions_CustomResourceValidation_To_v1beta1_CustomResourceValidation(in, out, s) +} + +func autoConvert_v1beta1_ExternalDocumentation_To_apiextensions_ExternalDocumentation(in *ExternalDocumentation, out *apiextensions.ExternalDocumentation, s conversion.Scope) error { + out.Description = in.Description + out.URL = in.URL + return nil +} + +// Convert_v1beta1_ExternalDocumentation_To_apiextensions_ExternalDocumentation is an autogenerated conversion function. +func Convert_v1beta1_ExternalDocumentation_To_apiextensions_ExternalDocumentation(in *ExternalDocumentation, out *apiextensions.ExternalDocumentation, s conversion.Scope) error { + return autoConvert_v1beta1_ExternalDocumentation_To_apiextensions_ExternalDocumentation(in, out, s) +} + +func autoConvert_apiextensions_ExternalDocumentation_To_v1beta1_ExternalDocumentation(in *apiextensions.ExternalDocumentation, out *ExternalDocumentation, s conversion.Scope) error { + out.Description = in.Description + out.URL = in.URL + return nil +} + +// Convert_apiextensions_ExternalDocumentation_To_v1beta1_ExternalDocumentation is an autogenerated conversion function. +func Convert_apiextensions_ExternalDocumentation_To_v1beta1_ExternalDocumentation(in *apiextensions.ExternalDocumentation, out *ExternalDocumentation, s conversion.Scope) error { + return autoConvert_apiextensions_ExternalDocumentation_To_v1beta1_ExternalDocumentation(in, out, s) +} + +func autoConvert_v1beta1_JSON_To_apiextensions_JSON(in *JSON, out *apiextensions.JSON, s conversion.Scope) error { + // WARNING: in.Raw requires manual conversion: does not exist in peer-type + return nil +} + +func autoConvert_apiextensions_JSON_To_v1beta1_JSON(in *apiextensions.JSON, out *JSON, s conversion.Scope) error { + // FIXME: Type apiextensions.JSON is unsupported. + return nil +} + +func autoConvert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(in *JSONSchemaProps, out *apiextensions.JSONSchemaProps, s conversion.Scope) error { + out.ID = in.ID + out.Schema = apiextensions.JSONSchemaURL(in.Schema) + out.Ref = (*string)(unsafe.Pointer(in.Ref)) + out.Description = in.Description + out.Type = in.Type + out.Format = in.Format + out.Title = in.Title + if in.Default != nil { + in, out := &in.Default, &out.Default + *out = new(apiextensions.JSON) + if err := Convert_v1beta1_JSON_To_apiextensions_JSON(*in, *out, s); err != nil { + return err + } + } else { + out.Default = nil + } + out.Maximum = (*float64)(unsafe.Pointer(in.Maximum)) + out.ExclusiveMaximum = in.ExclusiveMaximum + out.Minimum = (*float64)(unsafe.Pointer(in.Minimum)) + out.ExclusiveMinimum = in.ExclusiveMinimum + out.MaxLength = (*int64)(unsafe.Pointer(in.MaxLength)) + out.MinLength = (*int64)(unsafe.Pointer(in.MinLength)) + out.Pattern = in.Pattern + out.MaxItems = (*int64)(unsafe.Pointer(in.MaxItems)) + out.MinItems = (*int64)(unsafe.Pointer(in.MinItems)) + out.UniqueItems = in.UniqueItems + out.MultipleOf = (*float64)(unsafe.Pointer(in.MultipleOf)) + if in.Enum != nil { + in, out := &in.Enum, &out.Enum + *out = make([]apiextensions.JSON, len(*in)) + for i := range *in { + if err := Convert_v1beta1_JSON_To_apiextensions_JSON(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.Enum = nil + } + out.MaxProperties = (*int64)(unsafe.Pointer(in.MaxProperties)) + out.MinProperties = (*int64)(unsafe.Pointer(in.MinProperties)) + out.Required = *(*[]string)(unsafe.Pointer(&in.Required)) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = new(apiextensions.JSONSchemaPropsOrArray) + if err := Convert_v1beta1_JSONSchemaPropsOrArray_To_apiextensions_JSONSchemaPropsOrArray(*in, *out, s); err != nil { + return err + } + } else { + out.Items = nil + } + if in.AllOf != nil { + in, out := &in.AllOf, &out.AllOf + *out = make([]apiextensions.JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.AllOf = nil + } + if in.OneOf != nil { + in, out := &in.OneOf, &out.OneOf + *out = make([]apiextensions.JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.OneOf = nil + } + if in.AnyOf != nil { + in, out := &in.AnyOf, &out.AnyOf + *out = make([]apiextensions.JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.AnyOf = nil + } + if in.Not != nil { + in, out := &in.Not, &out.Not + *out = new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Not = nil + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = make(map[string]apiextensions.JSONSchemaProps, len(*in)) + for key, val := range *in { + newVal := new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.Properties = nil + } + if in.AdditionalProperties != nil { + in, out := &in.AdditionalProperties, &out.AdditionalProperties + *out = new(apiextensions.JSONSchemaPropsOrBool) + if err := Convert_v1beta1_JSONSchemaPropsOrBool_To_apiextensions_JSONSchemaPropsOrBool(*in, *out, s); err != nil { + return err + } + } else { + out.AdditionalProperties = nil + } + if in.PatternProperties != nil { + in, out := &in.PatternProperties, &out.PatternProperties + *out = make(map[string]apiextensions.JSONSchemaProps, len(*in)) + for key, val := range *in { + newVal := new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.PatternProperties = nil + } + if in.Dependencies != nil { + in, out := &in.Dependencies, &out.Dependencies + *out = make(apiextensions.JSONSchemaDependencies, len(*in)) + for key, val := range *in { + newVal := new(apiextensions.JSONSchemaPropsOrStringArray) + if err := Convert_v1beta1_JSONSchemaPropsOrStringArray_To_apiextensions_JSONSchemaPropsOrStringArray(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.Dependencies = nil + } + if in.AdditionalItems != nil { + in, out := &in.AdditionalItems, &out.AdditionalItems + *out = new(apiextensions.JSONSchemaPropsOrBool) + if err := Convert_v1beta1_JSONSchemaPropsOrBool_To_apiextensions_JSONSchemaPropsOrBool(*in, *out, s); err != nil { + return err + } + } else { + out.AdditionalItems = nil + } + if in.Definitions != nil { + in, out := &in.Definitions, &out.Definitions + *out = make(apiextensions.JSONSchemaDefinitions, len(*in)) + for key, val := range *in { + newVal := new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.Definitions = nil + } + out.ExternalDocs = (*apiextensions.ExternalDocumentation)(unsafe.Pointer(in.ExternalDocs)) + if in.Example != nil { + in, out := &in.Example, &out.Example + *out = new(apiextensions.JSON) + if err := Convert_v1beta1_JSON_To_apiextensions_JSON(*in, *out, s); err != nil { + return err + } + } else { + out.Example = nil + } + return nil +} + +// Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps is an autogenerated conversion function. +func Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(in *JSONSchemaProps, out *apiextensions.JSONSchemaProps, s conversion.Scope) error { + return autoConvert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(in, out, s) +} + +func autoConvert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(in *apiextensions.JSONSchemaProps, out *JSONSchemaProps, s conversion.Scope) error { + out.ID = in.ID + out.Schema = JSONSchemaURL(in.Schema) + out.Ref = (*string)(unsafe.Pointer(in.Ref)) + out.Description = in.Description + out.Type = in.Type + out.Format = in.Format + out.Title = in.Title + if in.Default != nil { + in, out := &in.Default, &out.Default + *out = new(JSON) + if err := Convert_apiextensions_JSON_To_v1beta1_JSON(*in, *out, s); err != nil { + return err + } + } else { + out.Default = nil + } + out.Maximum = (*float64)(unsafe.Pointer(in.Maximum)) + out.ExclusiveMaximum = in.ExclusiveMaximum + out.Minimum = (*float64)(unsafe.Pointer(in.Minimum)) + out.ExclusiveMinimum = in.ExclusiveMinimum + out.MaxLength = (*int64)(unsafe.Pointer(in.MaxLength)) + out.MinLength = (*int64)(unsafe.Pointer(in.MinLength)) + out.Pattern = in.Pattern + out.MaxItems = (*int64)(unsafe.Pointer(in.MaxItems)) + out.MinItems = (*int64)(unsafe.Pointer(in.MinItems)) + out.UniqueItems = in.UniqueItems + out.MultipleOf = (*float64)(unsafe.Pointer(in.MultipleOf)) + if in.Enum != nil { + in, out := &in.Enum, &out.Enum + *out = make([]JSON, len(*in)) + for i := range *in { + if err := Convert_apiextensions_JSON_To_v1beta1_JSON(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.Enum = nil + } + out.MaxProperties = (*int64)(unsafe.Pointer(in.MaxProperties)) + out.MinProperties = (*int64)(unsafe.Pointer(in.MinProperties)) + out.Required = *(*[]string)(unsafe.Pointer(&in.Required)) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = new(JSONSchemaPropsOrArray) + if err := Convert_apiextensions_JSONSchemaPropsOrArray_To_v1beta1_JSONSchemaPropsOrArray(*in, *out, s); err != nil { + return err + } + } else { + out.Items = nil + } + if in.AllOf != nil { + in, out := &in.AllOf, &out.AllOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.AllOf = nil + } + if in.OneOf != nil { + in, out := &in.OneOf, &out.OneOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.OneOf = nil + } + if in.AnyOf != nil { + in, out := &in.AnyOf, &out.AnyOf + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.AnyOf = nil + } + if in.Not != nil { + in, out := &in.Not, &out.Not + *out = new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Not = nil + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = make(map[string]JSONSchemaProps, len(*in)) + for key, val := range *in { + newVal := new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.Properties = nil + } + if in.AdditionalProperties != nil { + in, out := &in.AdditionalProperties, &out.AdditionalProperties + *out = new(JSONSchemaPropsOrBool) + if err := Convert_apiextensions_JSONSchemaPropsOrBool_To_v1beta1_JSONSchemaPropsOrBool(*in, *out, s); err != nil { + return err + } + } else { + out.AdditionalProperties = nil + } + if in.PatternProperties != nil { + in, out := &in.PatternProperties, &out.PatternProperties + *out = make(map[string]JSONSchemaProps, len(*in)) + for key, val := range *in { + newVal := new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.PatternProperties = nil + } + if in.Dependencies != nil { + in, out := &in.Dependencies, &out.Dependencies + *out = make(JSONSchemaDependencies, len(*in)) + for key, val := range *in { + newVal := new(JSONSchemaPropsOrStringArray) + if err := Convert_apiextensions_JSONSchemaPropsOrStringArray_To_v1beta1_JSONSchemaPropsOrStringArray(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.Dependencies = nil + } + if in.AdditionalItems != nil { + in, out := &in.AdditionalItems, &out.AdditionalItems + *out = new(JSONSchemaPropsOrBool) + if err := Convert_apiextensions_JSONSchemaPropsOrBool_To_v1beta1_JSONSchemaPropsOrBool(*in, *out, s); err != nil { + return err + } + } else { + out.AdditionalItems = nil + } + if in.Definitions != nil { + in, out := &in.Definitions, &out.Definitions + *out = make(JSONSchemaDefinitions, len(*in)) + for key, val := range *in { + newVal := new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(&val, newVal, s); err != nil { + return err + } + (*out)[key] = *newVal + } + } else { + out.Definitions = nil + } + out.ExternalDocs = (*ExternalDocumentation)(unsafe.Pointer(in.ExternalDocs)) + if in.Example != nil { + in, out := &in.Example, &out.Example + *out = new(JSON) + if err := Convert_apiextensions_JSON_To_v1beta1_JSON(*in, *out, s); err != nil { + return err + } + } else { + out.Example = nil + } + return nil +} + +func autoConvert_v1beta1_JSONSchemaPropsOrArray_To_apiextensions_JSONSchemaPropsOrArray(in *JSONSchemaPropsOrArray, out *apiextensions.JSONSchemaPropsOrArray, s conversion.Scope) error { + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Schema = nil + } + if in.JSONSchemas != nil { + in, out := &in.JSONSchemas, &out.JSONSchemas + *out = make([]apiextensions.JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.JSONSchemas = nil + } + return nil +} + +// Convert_v1beta1_JSONSchemaPropsOrArray_To_apiextensions_JSONSchemaPropsOrArray is an autogenerated conversion function. +func Convert_v1beta1_JSONSchemaPropsOrArray_To_apiextensions_JSONSchemaPropsOrArray(in *JSONSchemaPropsOrArray, out *apiextensions.JSONSchemaPropsOrArray, s conversion.Scope) error { + return autoConvert_v1beta1_JSONSchemaPropsOrArray_To_apiextensions_JSONSchemaPropsOrArray(in, out, s) +} + +func autoConvert_apiextensions_JSONSchemaPropsOrArray_To_v1beta1_JSONSchemaPropsOrArray(in *apiextensions.JSONSchemaPropsOrArray, out *JSONSchemaPropsOrArray, s conversion.Scope) error { + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Schema = nil + } + if in.JSONSchemas != nil { + in, out := &in.JSONSchemas, &out.JSONSchemas + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(&(*in)[i], &(*out)[i], s); err != nil { + return err + } + } + } else { + out.JSONSchemas = nil + } + return nil +} + +// Convert_apiextensions_JSONSchemaPropsOrArray_To_v1beta1_JSONSchemaPropsOrArray is an autogenerated conversion function. +func Convert_apiextensions_JSONSchemaPropsOrArray_To_v1beta1_JSONSchemaPropsOrArray(in *apiextensions.JSONSchemaPropsOrArray, out *JSONSchemaPropsOrArray, s conversion.Scope) error { + return autoConvert_apiextensions_JSONSchemaPropsOrArray_To_v1beta1_JSONSchemaPropsOrArray(in, out, s) +} + +func autoConvert_v1beta1_JSONSchemaPropsOrBool_To_apiextensions_JSONSchemaPropsOrBool(in *JSONSchemaPropsOrBool, out *apiextensions.JSONSchemaPropsOrBool, s conversion.Scope) error { + out.Allows = in.Allows + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Schema = nil + } + return nil +} + +// Convert_v1beta1_JSONSchemaPropsOrBool_To_apiextensions_JSONSchemaPropsOrBool is an autogenerated conversion function. +func Convert_v1beta1_JSONSchemaPropsOrBool_To_apiextensions_JSONSchemaPropsOrBool(in *JSONSchemaPropsOrBool, out *apiextensions.JSONSchemaPropsOrBool, s conversion.Scope) error { + return autoConvert_v1beta1_JSONSchemaPropsOrBool_To_apiextensions_JSONSchemaPropsOrBool(in, out, s) +} + +func autoConvert_apiextensions_JSONSchemaPropsOrBool_To_v1beta1_JSONSchemaPropsOrBool(in *apiextensions.JSONSchemaPropsOrBool, out *JSONSchemaPropsOrBool, s conversion.Scope) error { + out.Allows = in.Allows + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Schema = nil + } + return nil +} + +// Convert_apiextensions_JSONSchemaPropsOrBool_To_v1beta1_JSONSchemaPropsOrBool is an autogenerated conversion function. +func Convert_apiextensions_JSONSchemaPropsOrBool_To_v1beta1_JSONSchemaPropsOrBool(in *apiextensions.JSONSchemaPropsOrBool, out *JSONSchemaPropsOrBool, s conversion.Scope) error { + return autoConvert_apiextensions_JSONSchemaPropsOrBool_To_v1beta1_JSONSchemaPropsOrBool(in, out, s) +} + +func autoConvert_v1beta1_JSONSchemaPropsOrStringArray_To_apiextensions_JSONSchemaPropsOrStringArray(in *JSONSchemaPropsOrStringArray, out *apiextensions.JSONSchemaPropsOrStringArray, s conversion.Scope) error { + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(apiextensions.JSONSchemaProps) + if err := Convert_v1beta1_JSONSchemaProps_To_apiextensions_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Schema = nil + } + out.Property = *(*[]string)(unsafe.Pointer(&in.Property)) + return nil +} + +// Convert_v1beta1_JSONSchemaPropsOrStringArray_To_apiextensions_JSONSchemaPropsOrStringArray is an autogenerated conversion function. +func Convert_v1beta1_JSONSchemaPropsOrStringArray_To_apiextensions_JSONSchemaPropsOrStringArray(in *JSONSchemaPropsOrStringArray, out *apiextensions.JSONSchemaPropsOrStringArray, s conversion.Scope) error { + return autoConvert_v1beta1_JSONSchemaPropsOrStringArray_To_apiextensions_JSONSchemaPropsOrStringArray(in, out, s) +} + +func autoConvert_apiextensions_JSONSchemaPropsOrStringArray_To_v1beta1_JSONSchemaPropsOrStringArray(in *apiextensions.JSONSchemaPropsOrStringArray, out *JSONSchemaPropsOrStringArray, s conversion.Scope) error { + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(JSONSchemaProps) + if err := Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(*in, *out, s); err != nil { + return err + } + } else { + out.Schema = nil + } + out.Property = *(*[]string)(unsafe.Pointer(&in.Property)) + return nil +} + +// Convert_apiextensions_JSONSchemaPropsOrStringArray_To_v1beta1_JSONSchemaPropsOrStringArray is an autogenerated conversion function. +func Convert_apiextensions_JSONSchemaPropsOrStringArray_To_v1beta1_JSONSchemaPropsOrStringArray(in *apiextensions.JSONSchemaPropsOrStringArray, out *JSONSchemaPropsOrStringArray, s conversion.Scope) error { + return autoConvert_apiextensions_JSONSchemaPropsOrStringArray_To_v1beta1_JSONSchemaPropsOrStringArray(in, out, s) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go new file mode 100644 index 000000000..d2c1cebf2 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go @@ -0,0 +1,506 @@ +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1beta1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceColumnDefinition) DeepCopyInto(out *CustomResourceColumnDefinition) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceColumnDefinition. +func (in *CustomResourceColumnDefinition) DeepCopy() *CustomResourceColumnDefinition { + if in == nil { + return nil + } + out := new(CustomResourceColumnDefinition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinition) DeepCopyInto(out *CustomResourceDefinition) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinition. +func (in *CustomResourceDefinition) DeepCopy() *CustomResourceDefinition { + if in == nil { + return nil + } + out := new(CustomResourceDefinition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CustomResourceDefinition) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionCondition) DeepCopyInto(out *CustomResourceDefinitionCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionCondition. +func (in *CustomResourceDefinitionCondition) DeepCopy() *CustomResourceDefinitionCondition { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionList) DeepCopyInto(out *CustomResourceDefinitionList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CustomResourceDefinition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionList. +func (in *CustomResourceDefinitionList) DeepCopy() *CustomResourceDefinitionList { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CustomResourceDefinitionList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionNames) DeepCopyInto(out *CustomResourceDefinitionNames) { + *out = *in + if in.ShortNames != nil { + in, out := &in.ShortNames, &out.ShortNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Categories != nil { + in, out := &in.Categories, &out.Categories + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionNames. +func (in *CustomResourceDefinitionNames) DeepCopy() *CustomResourceDefinitionNames { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionNames) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionSpec) DeepCopyInto(out *CustomResourceDefinitionSpec) { + *out = *in + in.Names.DeepCopyInto(&out.Names) + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceValidation) + (*in).DeepCopyInto(*out) + } + } + if in.Subresources != nil { + in, out := &in.Subresources, &out.Subresources + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceSubresources) + (*in).DeepCopyInto(*out) + } + } + if in.Versions != nil { + in, out := &in.Versions, &out.Versions + *out = make([]CustomResourceDefinitionVersion, len(*in)) + copy(*out, *in) + } + if in.AdditionalPrinterColumns != nil { + in, out := &in.AdditionalPrinterColumns, &out.AdditionalPrinterColumns + *out = make([]CustomResourceColumnDefinition, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionSpec. +func (in *CustomResourceDefinitionSpec) DeepCopy() *CustomResourceDefinitionSpec { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionStatus) DeepCopyInto(out *CustomResourceDefinitionStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]CustomResourceDefinitionCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + in.AcceptedNames.DeepCopyInto(&out.AcceptedNames) + if in.StoredVersions != nil { + in, out := &in.StoredVersions, &out.StoredVersions + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionStatus. +func (in *CustomResourceDefinitionStatus) DeepCopy() *CustomResourceDefinitionStatus { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionVersion) DeepCopyInto(out *CustomResourceDefinitionVersion) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionVersion. +func (in *CustomResourceDefinitionVersion) DeepCopy() *CustomResourceDefinitionVersion { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionVersion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceSubresourceScale) DeepCopyInto(out *CustomResourceSubresourceScale) { + *out = *in + if in.LabelSelectorPath != nil { + in, out := &in.LabelSelectorPath, &out.LabelSelectorPath + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceScale. +func (in *CustomResourceSubresourceScale) DeepCopy() *CustomResourceSubresourceScale { + if in == nil { + return nil + } + out := new(CustomResourceSubresourceScale) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceSubresourceStatus) DeepCopyInto(out *CustomResourceSubresourceStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceStatus. +func (in *CustomResourceSubresourceStatus) DeepCopy() *CustomResourceSubresourceStatus { + if in == nil { + return nil + } + out := new(CustomResourceSubresourceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceSubresources) DeepCopyInto(out *CustomResourceSubresources) { + *out = *in + if in.Status != nil { + in, out := &in.Status, &out.Status + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceSubresourceStatus) + **out = **in + } + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceSubresourceScale) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresources. +func (in *CustomResourceSubresources) DeepCopy() *CustomResourceSubresources { + if in == nil { + return nil + } + out := new(CustomResourceSubresources) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceValidation) DeepCopyInto(out *CustomResourceValidation) { + *out = *in + if in.OpenAPIV3Schema != nil { + in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceValidation. +func (in *CustomResourceValidation) DeepCopy() *CustomResourceValidation { + if in == nil { + return nil + } + out := new(CustomResourceValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalDocumentation) DeepCopyInto(out *ExternalDocumentation) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDocumentation. +func (in *ExternalDocumentation) DeepCopy() *ExternalDocumentation { + if in == nil { + return nil + } + out := new(ExternalDocumentation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSON) DeepCopyInto(out *JSON) { + *out = *in + if in.Raw != nil { + in, out := &in.Raw, &out.Raw + *out = make([]byte, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSON. +func (in *JSON) DeepCopy() *JSON { + if in == nil { + return nil + } + out := new(JSON) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in JSONSchemaDefinitions) DeepCopyInto(out *JSONSchemaDefinitions) { + { + in := &in + *out = make(JSONSchemaDefinitions, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDefinitions. +func (in JSONSchemaDefinitions) DeepCopy() JSONSchemaDefinitions { + if in == nil { + return nil + } + out := new(JSONSchemaDefinitions) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in JSONSchemaDependencies) DeepCopyInto(out *JSONSchemaDependencies) { + { + in := &in + *out = make(JSONSchemaDependencies, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDependencies. +func (in JSONSchemaDependencies) DeepCopy() JSONSchemaDependencies { + if in == nil { + return nil + } + out := new(JSONSchemaDependencies) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaProps) DeepCopyInto(out *JSONSchemaProps) { + clone := in.DeepCopy() + *out = *clone + return +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaPropsOrArray) DeepCopyInto(out *JSONSchemaPropsOrArray) { + *out = *in + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.JSONSchemas != nil { + in, out := &in.JSONSchemas, &out.JSONSchemas + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrArray. +func (in *JSONSchemaPropsOrArray) DeepCopy() *JSONSchemaPropsOrArray { + if in == nil { + return nil + } + out := new(JSONSchemaPropsOrArray) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaPropsOrBool) DeepCopyInto(out *JSONSchemaPropsOrBool) { + *out = *in + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrBool. +func (in *JSONSchemaPropsOrBool) DeepCopy() *JSONSchemaPropsOrBool { + if in == nil { + return nil + } + out := new(JSONSchemaPropsOrBool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaPropsOrStringArray) DeepCopyInto(out *JSONSchemaPropsOrStringArray) { + *out = *in + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.Property != nil { + in, out := &in.Property, &out.Property + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrStringArray. +func (in *JSONSchemaPropsOrStringArray) DeepCopy() *JSONSchemaPropsOrStringArray { + if in == nil { + return nil + } + out := new(JSONSchemaPropsOrStringArray) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go new file mode 100644 index 000000000..f65f47a03 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go @@ -0,0 +1,48 @@ +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by defaulter-gen. DO NOT EDIT. + +package v1beta1 + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// RegisterDefaults adds defaulters functions to the given scheme. +// Public to allow building arbitrary schemes. +// All generated defaulters are covering - they call all nested defaulters. +func RegisterDefaults(scheme *runtime.Scheme) error { + scheme.AddTypeDefaultingFunc(&CustomResourceDefinition{}, func(obj interface{}) { SetObjectDefaults_CustomResourceDefinition(obj.(*CustomResourceDefinition)) }) + scheme.AddTypeDefaultingFunc(&CustomResourceDefinitionList{}, func(obj interface{}) { + SetObjectDefaults_CustomResourceDefinitionList(obj.(*CustomResourceDefinitionList)) + }) + return nil +} + +func SetObjectDefaults_CustomResourceDefinition(in *CustomResourceDefinition) { + SetDefaults_CustomResourceDefinition(in) + SetDefaults_CustomResourceDefinitionSpec(&in.Spec) +} + +func SetObjectDefaults_CustomResourceDefinitionList(in *CustomResourceDefinitionList) { + for i := range in.Items { + a := &in.Items[i] + SetObjectDefaults_CustomResourceDefinition(a) + } +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go new file mode 100644 index 000000000..1179226dd --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation/validation.go @@ -0,0 +1,523 @@ +/* +Copyright 2017 The Kubernetes 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 validation + +import ( + "fmt" + "reflect" + "strings" + + genericvalidation "k8s.io/apimachinery/pkg/api/validation" + "k8s.io/apimachinery/pkg/util/sets" + validationutil "k8s.io/apimachinery/pkg/util/validation" + "k8s.io/apimachinery/pkg/util/validation/field" + utilfeature "k8s.io/apiserver/pkg/util/feature" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + apiservervalidation "k8s.io/apiextensions-apiserver/pkg/apiserver/validation" + apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features" +) + +var ( + printerColumnDatatypes = sets.NewString("integer", "number", "string", "boolean", "date") + customResourceColumnDefinitionFormats = sets.NewString("int32", "int64", "float", "double", "byte", "date", "date-time", "password") +) + +// ValidateCustomResourceDefinition statically validates +func ValidateCustomResourceDefinition(obj *apiextensions.CustomResourceDefinition) field.ErrorList { + nameValidationFn := func(name string, prefix bool) []string { + ret := genericvalidation.NameIsDNSSubdomain(name, prefix) + requiredName := obj.Spec.Names.Plural + "." + obj.Spec.Group + if name != requiredName { + ret = append(ret, fmt.Sprintf(`must be spec.names.plural+"."+spec.group`)) + } + return ret + } + + allErrs := genericvalidation.ValidateObjectMeta(&obj.ObjectMeta, false, nameValidationFn, field.NewPath("metadata")) + allErrs = append(allErrs, ValidateCustomResourceDefinitionSpec(&obj.Spec, field.NewPath("spec"))...) + allErrs = append(allErrs, ValidateCustomResourceDefinitionStatus(&obj.Status, field.NewPath("status"))...) + allErrs = append(allErrs, ValidateCustomResourceDefinitionStoredVersions(obj.Status.StoredVersions, obj.Spec.Versions, field.NewPath("status").Child("storedVersions"))...) + return allErrs +} + +// ValidateCustomResourceDefinitionUpdate statically validates +func ValidateCustomResourceDefinitionUpdate(obj, oldObj *apiextensions.CustomResourceDefinition) field.ErrorList { + allErrs := genericvalidation.ValidateObjectMetaUpdate(&obj.ObjectMeta, &oldObj.ObjectMeta, field.NewPath("metadata")) + allErrs = append(allErrs, ValidateCustomResourceDefinitionSpecUpdate(&obj.Spec, &oldObj.Spec, apiextensions.IsCRDConditionTrue(oldObj, apiextensions.Established), field.NewPath("spec"))...) + allErrs = append(allErrs, ValidateCustomResourceDefinitionStatus(&obj.Status, field.NewPath("status"))...) + allErrs = append(allErrs, ValidateCustomResourceDefinitionStoredVersions(obj.Status.StoredVersions, obj.Spec.Versions, field.NewPath("status").Child("storedVersions"))...) + return allErrs +} + +// ValidateCustomResourceDefinitionStoredVersions statically validates +func ValidateCustomResourceDefinitionStoredVersions(storedVersions []string, versions []apiextensions.CustomResourceDefinitionVersion, fldPath *field.Path) field.ErrorList { + if len(storedVersions) == 0 { + return field.ErrorList{field.Invalid(fldPath, storedVersions, "must have at least one stored version")} + } + allErrs := field.ErrorList{} + storedVersionsMap := map[string]int{} + for i, v := range storedVersions { + storedVersionsMap[v] = i + } + for _, v := range versions { + _, ok := storedVersionsMap[v.Name] + if v.Storage && !ok { + allErrs = append(allErrs, field.Invalid(fldPath, v, "must have the storage version "+v.Name)) + } + if ok { + delete(storedVersionsMap, v.Name) + } + } + + for v, i := range storedVersionsMap { + allErrs = append(allErrs, field.Invalid(fldPath.Index(i), v, "must appear in spec.versions")) + } + + return allErrs +} + +// ValidateUpdateCustomResourceDefinitionStatus statically validates +func ValidateUpdateCustomResourceDefinitionStatus(obj, oldObj *apiextensions.CustomResourceDefinition) field.ErrorList { + allErrs := genericvalidation.ValidateObjectMetaUpdate(&obj.ObjectMeta, &oldObj.ObjectMeta, field.NewPath("metadata")) + allErrs = append(allErrs, ValidateCustomResourceDefinitionStatus(&obj.Status, field.NewPath("status"))...) + return allErrs +} + +// ValidateCustomResourceDefinitionSpec statically validates +func ValidateCustomResourceDefinitionSpec(spec *apiextensions.CustomResourceDefinitionSpec, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if len(spec.Group) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("group"), "")) + } else if errs := validationutil.IsDNS1123Subdomain(spec.Group); len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("group"), spec.Group, strings.Join(errs, ","))) + } else if len(strings.Split(spec.Group, ".")) < 2 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("group"), spec.Group, "should be a domain with at least one dot")) + } + + switch spec.Scope { + case "": + allErrs = append(allErrs, field.Required(fldPath.Child("scope"), "")) + case apiextensions.ClusterScoped, apiextensions.NamespaceScoped: + default: + allErrs = append(allErrs, field.NotSupported(fldPath.Child("scope"), spec.Scope, []string{string(apiextensions.ClusterScoped), string(apiextensions.NamespaceScoped)})) + } + + storageFlagCount := 0 + versionsMap := map[string]bool{} + uniqueNames := true + for i, version := range spec.Versions { + if version.Storage { + storageFlagCount++ + } + if versionsMap[version.Name] { + uniqueNames = false + } else { + versionsMap[version.Name] = true + } + if errs := validationutil.IsDNS1035Label(version.Name); len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("versions").Index(i).Child("name"), spec.Versions[i].Name, strings.Join(errs, ","))) + } + } + if !uniqueNames { + allErrs = append(allErrs, field.Invalid(fldPath.Child("versions"), spec.Versions, "must contain unique version names")) + } + if storageFlagCount != 1 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("versions"), spec.Versions, "must have exactly one version marked as storage version")) + } + if len(spec.Version) != 0 { + if errs := validationutil.IsDNS1035Label(spec.Version); len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("version"), spec.Version, strings.Join(errs, ","))) + } + if len(spec.Versions) >= 1 && spec.Versions[0].Name != spec.Version { + allErrs = append(allErrs, field.Invalid(fldPath.Child("version"), spec.Version, "must match the first version in spec.versions")) + } + } + + // in addition to the basic name restrictions, some names are required for spec, but not for status + if len(spec.Names.Plural) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("names", "plural"), "")) + } + if len(spec.Names.Singular) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("names", "singular"), "")) + } + if len(spec.Names.Kind) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("names", "kind"), "")) + } + if len(spec.Names.ListKind) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("names", "listKind"), "")) + } + + allErrs = append(allErrs, ValidateCustomResourceDefinitionNames(&spec.Names, fldPath.Child("names"))...) + + if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceValidation) { + statusEnabled := false + if spec.Subresources != nil && spec.Subresources.Status != nil { + statusEnabled = true + } + allErrs = append(allErrs, ValidateCustomResourceDefinitionValidation(spec.Validation, statusEnabled, fldPath.Child("validation"))...) + } else if spec.Validation != nil { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("validation"), "disabled by feature-gate CustomResourceValidation")) + } + + if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) { + allErrs = append(allErrs, ValidateCustomResourceDefinitionSubresources(spec.Subresources, fldPath.Child("subresources"))...) + } else if spec.Subresources != nil { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("subresources"), "disabled by feature-gate CustomResourceSubresources")) + } + + for i := range spec.AdditionalPrinterColumns { + if errs := ValidateCustomResourceColumnDefinition(&spec.AdditionalPrinterColumns[i], fldPath.Child("columns").Index(i)); len(errs) > 0 { + allErrs = append(allErrs, errs...) + } + } + + return allErrs +} + +// ValidateCustomResourceDefinitionSpecUpdate statically validates +func ValidateCustomResourceDefinitionSpecUpdate(spec, oldSpec *apiextensions.CustomResourceDefinitionSpec, established bool, fldPath *field.Path) field.ErrorList { + allErrs := ValidateCustomResourceDefinitionSpec(spec, fldPath) + + if established { + // these effect the storage and cannot be changed therefore + allErrs = append(allErrs, genericvalidation.ValidateImmutableField(spec.Scope, oldSpec.Scope, fldPath.Child("scope"))...) + allErrs = append(allErrs, genericvalidation.ValidateImmutableField(spec.Names.Kind, oldSpec.Names.Kind, fldPath.Child("names", "kind"))...) + } + + // these affects the resource name, which is always immutable, so this can't be updated. + allErrs = append(allErrs, genericvalidation.ValidateImmutableField(spec.Group, oldSpec.Group, fldPath.Child("group"))...) + allErrs = append(allErrs, genericvalidation.ValidateImmutableField(spec.Names.Plural, oldSpec.Names.Plural, fldPath.Child("names", "plural"))...) + + return allErrs +} + +// ValidateCustomResourceDefinitionStatus statically validates +func ValidateCustomResourceDefinitionStatus(status *apiextensions.CustomResourceDefinitionStatus, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + allErrs = append(allErrs, ValidateCustomResourceDefinitionNames(&status.AcceptedNames, fldPath.Child("acceptedNames"))...) + return allErrs +} + +// ValidateCustomResourceDefinitionNames statically validates +func ValidateCustomResourceDefinitionNames(names *apiextensions.CustomResourceDefinitionNames, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + if errs := validationutil.IsDNS1035Label(names.Plural); len(names.Plural) > 0 && len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("plural"), names.Plural, strings.Join(errs, ","))) + } + if errs := validationutil.IsDNS1035Label(names.Singular); len(names.Singular) > 0 && len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("singular"), names.Singular, strings.Join(errs, ","))) + } + if errs := validationutil.IsDNS1035Label(strings.ToLower(names.Kind)); len(names.Kind) > 0 && len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("kind"), names.Kind, "may have mixed case, but should otherwise match: "+strings.Join(errs, ","))) + } + if errs := validationutil.IsDNS1035Label(strings.ToLower(names.ListKind)); len(names.ListKind) > 0 && len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("listKind"), names.ListKind, "may have mixed case, but should otherwise match: "+strings.Join(errs, ","))) + } + + for i, shortName := range names.ShortNames { + if errs := validationutil.IsDNS1035Label(shortName); len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("shortNames").Index(i), shortName, strings.Join(errs, ","))) + } + } + + // kind and listKind may not be the same or parsing become ambiguous + if len(names.Kind) > 0 && names.Kind == names.ListKind { + allErrs = append(allErrs, field.Invalid(fldPath.Child("listKind"), names.ListKind, "kind and listKind may not be the same")) + } + + for i, category := range names.Categories { + if errs := validationutil.IsDNS1035Label(category); len(errs) > 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("categories").Index(i), category, strings.Join(errs, ","))) + } + } + + return allErrs +} + +// ValidateCustomResourceColumnDefinition statically validates a printer column. +func ValidateCustomResourceColumnDefinition(col *apiextensions.CustomResourceColumnDefinition, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if len(col.Name) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("header"), "")) + } + + if len(col.Type) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("type"), fmt.Sprintf("must be one of %s", strings.Join(printerColumnDatatypes.List(), ",")))) + } else if !printerColumnDatatypes.Has(col.Type) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("type"), col.Type, fmt.Sprintf("must be one of %s", strings.Join(printerColumnDatatypes.List(), ",")))) + } + + if len(col.Format) > 0 && !customResourceColumnDefinitionFormats.Has(col.Format) { + allErrs = append(allErrs, field.Invalid(fldPath.Child("format"), col.Format, fmt.Sprintf("must be one of %s", strings.Join(customResourceColumnDefinitionFormats.List(), ",")))) + } + + if len(col.JSONPath) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("path"), "")) + } else if errs := validateSimpleJSONPath(col.JSONPath, fldPath.Child("path")); len(errs) > 0 { + allErrs = append(allErrs, errs...) + } + + return allErrs +} + +// specStandardValidator applies validations for different OpenAPI specification versions. +type specStandardValidator interface { + validate(spec *apiextensions.JSONSchemaProps, fldPath *field.Path) field.ErrorList +} + +// ValidateCustomResourceDefinitionValidation statically validates +func ValidateCustomResourceDefinitionValidation(customResourceValidation *apiextensions.CustomResourceValidation, statusSubresourceEnabled bool, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if customResourceValidation == nil { + return allErrs + } + + if schema := customResourceValidation.OpenAPIV3Schema; schema != nil { + // if subresources are enabled, only "properties", "required" and "description" are allowed inside the root schema + if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) && statusSubresourceEnabled { + v := reflect.ValueOf(schema).Elem() + for i := 0; i < v.NumField(); i++ { + // skip zero values + if value := v.Field(i).Interface(); reflect.DeepEqual(value, reflect.Zero(reflect.TypeOf(value)).Interface()) { + continue + } + + if name := v.Type().Field(i).Name; name != "Properties" && name != "Required" && name != "Description" { + allErrs = append(allErrs, field.Invalid(fldPath.Child("openAPIV3Schema"), *schema, fmt.Sprintf(`must only have "properties", "required" or "description" at the root if the status subresource is enabled`))) + break + } + } + } + + openAPIV3Schema := &specStandardValidatorV3{} + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(schema, fldPath.Child("openAPIV3Schema"), openAPIV3Schema)...) + } + + // if validation passed otherwise, make sure we can actually construct a schema validator from this custom resource validation. + if len(allErrs) == 0 { + if _, _, err := apiservervalidation.NewSchemaValidator(customResourceValidation); err != nil { + allErrs = append(allErrs, field.Invalid(fldPath, "", fmt.Sprintf("error building validator: %v", err))) + } + } + return allErrs +} + +// ValidateCustomResourceDefinitionOpenAPISchema statically validates +func ValidateCustomResourceDefinitionOpenAPISchema(schema *apiextensions.JSONSchemaProps, fldPath *field.Path, ssv specStandardValidator) field.ErrorList { + allErrs := field.ErrorList{} + + if schema == nil { + return allErrs + } + + allErrs = append(allErrs, ssv.validate(schema, fldPath)...) + + if schema.UniqueItems == true { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("uniqueItems"), "uniqueItems cannot be set to true since the runtime complexity becomes quadratic")) + } + + // additionalProperties and properties are mutual exclusive because otherwise they + // contradict Kubernetes' API convention to ignore unknown fields. + // + // In other words: + // - properties are for structs, + // - additionalProperties are for map[string]interface{} + // + // Note: when patternProperties is added to OpenAPI some day, this will have to be + // restricted like additionalProperties. + if schema.AdditionalProperties != nil { + if len(schema.Properties) != 0 { + if schema.AdditionalProperties.Allows == false || schema.AdditionalProperties.Schema != nil { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("additionalProperties"), "additionalProperties and properties are mutual exclusive")) + } + } + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(schema.AdditionalProperties.Schema, fldPath.Child("additionalProperties"), ssv)...) + } + + if len(schema.Properties) != 0 { + for property, jsonSchema := range schema.Properties { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(&jsonSchema, fldPath.Child("properties").Key(property), ssv)...) + } + } + + if len(schema.PatternProperties) != 0 { + for property, jsonSchema := range schema.PatternProperties { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(&jsonSchema, fldPath.Child("patternProperties").Key(property), ssv)...) + } + } + + if schema.AdditionalItems != nil { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(schema.AdditionalItems.Schema, fldPath.Child("additionalItems"), ssv)...) + } + + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(schema.Not, fldPath.Child("not"), ssv)...) + + if len(schema.AllOf) != 0 { + for i, jsonSchema := range schema.AllOf { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(&jsonSchema, fldPath.Child("allOf").Index(i), ssv)...) + } + } + + if len(schema.OneOf) != 0 { + for i, jsonSchema := range schema.OneOf { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(&jsonSchema, fldPath.Child("oneOf").Index(i), ssv)...) + } + } + + if len(schema.AnyOf) != 0 { + for i, jsonSchema := range schema.AnyOf { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(&jsonSchema, fldPath.Child("anyOf").Index(i), ssv)...) + } + } + + if len(schema.Definitions) != 0 { + for definition, jsonSchema := range schema.Definitions { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(&jsonSchema, fldPath.Child("definitions").Key(definition), ssv)...) + } + } + + if schema.Items != nil { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(schema.Items.Schema, fldPath.Child("items"), ssv)...) + if len(schema.Items.JSONSchemas) != 0 { + for i, jsonSchema := range schema.Items.JSONSchemas { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(&jsonSchema, fldPath.Child("items").Index(i), ssv)...) + } + } + } + + if schema.Dependencies != nil { + for dependency, jsonSchemaPropsOrStringArray := range schema.Dependencies { + allErrs = append(allErrs, ValidateCustomResourceDefinitionOpenAPISchema(jsonSchemaPropsOrStringArray.Schema, fldPath.Child("dependencies").Key(dependency), ssv)...) + } + } + + return allErrs +} + +type specStandardValidatorV3 struct{} + +// validate validates against OpenAPI Schema v3. +func (v *specStandardValidatorV3) validate(schema *apiextensions.JSONSchemaProps, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if schema == nil { + return allErrs + } + + if schema.Default != nil { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("default"), "default is not supported")) + } + + if schema.ID != "" { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("id"), "id is not supported")) + } + + if schema.AdditionalItems != nil { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("additionalItems"), "additionalItems is not supported")) + } + + if len(schema.PatternProperties) != 0 { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("patternProperties"), "patternProperties is not supported")) + } + + if len(schema.Definitions) != 0 { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("definitions"), "definitions is not supported")) + } + + if schema.Dependencies != nil { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("dependencies"), "dependencies is not supported")) + } + + if schema.Ref != nil { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("$ref"), "$ref is not supported")) + } + + if schema.Type == "null" { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("type"), "type cannot be set to null")) + } + + if schema.Items != nil && len(schema.Items.JSONSchemas) != 0 { + allErrs = append(allErrs, field.Forbidden(fldPath.Child("items"), "items must be a schema object and not an array")) + } + + return allErrs +} + +// ValidateCustomResourceDefinitionSubresources statically validates +func ValidateCustomResourceDefinitionSubresources(subresources *apiextensions.CustomResourceSubresources, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + if subresources == nil { + return allErrs + } + + if subresources.Scale != nil { + if len(subresources.Scale.SpecReplicasPath) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("scale.specReplicasPath"), "")) + } else { + // should be constrained json path under .spec + if errs := validateSimpleJSONPath(subresources.Scale.SpecReplicasPath, fldPath.Child("scale.specReplicasPath")); len(errs) > 0 { + allErrs = append(allErrs, errs...) + } else if !strings.HasPrefix(subresources.Scale.SpecReplicasPath, ".spec.") { + allErrs = append(allErrs, field.Invalid(fldPath.Child("scale.specReplicasPath"), subresources.Scale.SpecReplicasPath, "should be a json path under .spec")) + } + } + + if len(subresources.Scale.StatusReplicasPath) == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("scale.statusReplicasPath"), "")) + } else { + // should be constrained json path under .status + if errs := validateSimpleJSONPath(subresources.Scale.StatusReplicasPath, fldPath.Child("scale.statusReplicasPath")); len(errs) > 0 { + allErrs = append(allErrs, errs...) + } else if !strings.HasPrefix(subresources.Scale.StatusReplicasPath, ".status.") { + allErrs = append(allErrs, field.Invalid(fldPath.Child("scale.statusReplicasPath"), subresources.Scale.StatusReplicasPath, "should be a json path under .status")) + } + } + + // if labelSelectorPath is present, it should be a constrained json path under .status + if subresources.Scale.LabelSelectorPath != nil && len(*subresources.Scale.LabelSelectorPath) > 0 { + if errs := validateSimpleJSONPath(*subresources.Scale.LabelSelectorPath, fldPath.Child("scale.labelSelectorPath")); len(errs) > 0 { + allErrs = append(allErrs, errs...) + } else if !strings.HasPrefix(*subresources.Scale.LabelSelectorPath, ".status.") { + allErrs = append(allErrs, field.Invalid(fldPath.Child("scale.labelSelectorPath"), subresources.Scale.LabelSelectorPath, "should be a json path under .status")) + } + } + } + + return allErrs +} + +func validateSimpleJSONPath(s string, fldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + + switch { + case len(s) == 0: + allErrs = append(allErrs, field.Invalid(fldPath, s, "must not be empty")) + case s[0] != '.': + allErrs = append(allErrs, field.Invalid(fldPath, s, "must be a simple json path starting with .")) + case s != ".": + if cs := strings.Split(s[1:], "."); len(cs) < 1 { + allErrs = append(allErrs, field.Invalid(fldPath, s, "must be a json path in the dot notation")) + } + } + + return allErrs +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go new file mode 100644 index 000000000..145b3c5d7 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go @@ -0,0 +1,485 @@ +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package apiextensions + +import ( + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceColumnDefinition) DeepCopyInto(out *CustomResourceColumnDefinition) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceColumnDefinition. +func (in *CustomResourceColumnDefinition) DeepCopy() *CustomResourceColumnDefinition { + if in == nil { + return nil + } + out := new(CustomResourceColumnDefinition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinition) DeepCopyInto(out *CustomResourceDefinition) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinition. +func (in *CustomResourceDefinition) DeepCopy() *CustomResourceDefinition { + if in == nil { + return nil + } + out := new(CustomResourceDefinition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CustomResourceDefinition) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionCondition) DeepCopyInto(out *CustomResourceDefinitionCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionCondition. +func (in *CustomResourceDefinitionCondition) DeepCopy() *CustomResourceDefinitionCondition { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionList) DeepCopyInto(out *CustomResourceDefinitionList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]CustomResourceDefinition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionList. +func (in *CustomResourceDefinitionList) DeepCopy() *CustomResourceDefinitionList { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *CustomResourceDefinitionList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionNames) DeepCopyInto(out *CustomResourceDefinitionNames) { + *out = *in + if in.ShortNames != nil { + in, out := &in.ShortNames, &out.ShortNames + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Categories != nil { + in, out := &in.Categories, &out.Categories + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionNames. +func (in *CustomResourceDefinitionNames) DeepCopy() *CustomResourceDefinitionNames { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionNames) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionSpec) DeepCopyInto(out *CustomResourceDefinitionSpec) { + *out = *in + in.Names.DeepCopyInto(&out.Names) + if in.Validation != nil { + in, out := &in.Validation, &out.Validation + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceValidation) + (*in).DeepCopyInto(*out) + } + } + if in.Subresources != nil { + in, out := &in.Subresources, &out.Subresources + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceSubresources) + (*in).DeepCopyInto(*out) + } + } + if in.Versions != nil { + in, out := &in.Versions, &out.Versions + *out = make([]CustomResourceDefinitionVersion, len(*in)) + copy(*out, *in) + } + if in.AdditionalPrinterColumns != nil { + in, out := &in.AdditionalPrinterColumns, &out.AdditionalPrinterColumns + *out = make([]CustomResourceColumnDefinition, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionSpec. +func (in *CustomResourceDefinitionSpec) DeepCopy() *CustomResourceDefinitionSpec { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionStatus) DeepCopyInto(out *CustomResourceDefinitionStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]CustomResourceDefinitionCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + in.AcceptedNames.DeepCopyInto(&out.AcceptedNames) + if in.StoredVersions != nil { + in, out := &in.StoredVersions, &out.StoredVersions + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionStatus. +func (in *CustomResourceDefinitionStatus) DeepCopy() *CustomResourceDefinitionStatus { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceDefinitionVersion) DeepCopyInto(out *CustomResourceDefinitionVersion) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionVersion. +func (in *CustomResourceDefinitionVersion) DeepCopy() *CustomResourceDefinitionVersion { + if in == nil { + return nil + } + out := new(CustomResourceDefinitionVersion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceSubresourceScale) DeepCopyInto(out *CustomResourceSubresourceScale) { + *out = *in + if in.LabelSelectorPath != nil { + in, out := &in.LabelSelectorPath, &out.LabelSelectorPath + if *in == nil { + *out = nil + } else { + *out = new(string) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceScale. +func (in *CustomResourceSubresourceScale) DeepCopy() *CustomResourceSubresourceScale { + if in == nil { + return nil + } + out := new(CustomResourceSubresourceScale) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceSubresourceStatus) DeepCopyInto(out *CustomResourceSubresourceStatus) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceStatus. +func (in *CustomResourceSubresourceStatus) DeepCopy() *CustomResourceSubresourceStatus { + if in == nil { + return nil + } + out := new(CustomResourceSubresourceStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceSubresources) DeepCopyInto(out *CustomResourceSubresources) { + *out = *in + if in.Status != nil { + in, out := &in.Status, &out.Status + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceSubresourceStatus) + **out = **in + } + } + if in.Scale != nil { + in, out := &in.Scale, &out.Scale + if *in == nil { + *out = nil + } else { + *out = new(CustomResourceSubresourceScale) + (*in).DeepCopyInto(*out) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresources. +func (in *CustomResourceSubresources) DeepCopy() *CustomResourceSubresources { + if in == nil { + return nil + } + out := new(CustomResourceSubresources) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CustomResourceValidation) DeepCopyInto(out *CustomResourceValidation) { + *out = *in + if in.OpenAPIV3Schema != nil { + in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceValidation. +func (in *CustomResourceValidation) DeepCopy() *CustomResourceValidation { + if in == nil { + return nil + } + out := new(CustomResourceValidation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalDocumentation) DeepCopyInto(out *ExternalDocumentation) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDocumentation. +func (in *ExternalDocumentation) DeepCopy() *ExternalDocumentation { + if in == nil { + return nil + } + out := new(ExternalDocumentation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in JSONSchemaDefinitions) DeepCopyInto(out *JSONSchemaDefinitions) { + { + in := &in + *out = make(JSONSchemaDefinitions, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDefinitions. +func (in JSONSchemaDefinitions) DeepCopy() JSONSchemaDefinitions { + if in == nil { + return nil + } + out := new(JSONSchemaDefinitions) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in JSONSchemaDependencies) DeepCopyInto(out *JSONSchemaDependencies) { + { + in := &in + *out = make(JSONSchemaDependencies, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + return + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDependencies. +func (in JSONSchemaDependencies) DeepCopy() JSONSchemaDependencies { + if in == nil { + return nil + } + out := new(JSONSchemaDependencies) + in.DeepCopyInto(out) + return *out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaProps) DeepCopyInto(out *JSONSchemaProps) { + clone := in.DeepCopy() + *out = *clone + return +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaPropsOrArray) DeepCopyInto(out *JSONSchemaPropsOrArray) { + *out = *in + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.JSONSchemas != nil { + in, out := &in.JSONSchemas, &out.JSONSchemas + *out = make([]JSONSchemaProps, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrArray. +func (in *JSONSchemaPropsOrArray) DeepCopy() *JSONSchemaPropsOrArray { + if in == nil { + return nil + } + out := new(JSONSchemaPropsOrArray) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaPropsOrBool) DeepCopyInto(out *JSONSchemaPropsOrBool) { + *out = *in + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrBool. +func (in *JSONSchemaPropsOrBool) DeepCopy() *JSONSchemaPropsOrBool { + if in == nil { + return nil + } + out := new(JSONSchemaPropsOrBool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *JSONSchemaPropsOrStringArray) DeepCopyInto(out *JSONSchemaPropsOrStringArray) { + *out = *in + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + if *in == nil { + *out = nil + } else { + *out = (*in).DeepCopy() + } + } + if in.Property != nil { + in, out := &in.Property, &out.Property + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrStringArray. +func (in *JSONSchemaPropsOrStringArray) DeepCopy() *JSONSchemaPropsOrStringArray { + if in == nil { + return nil + } + out := new(JSONSchemaPropsOrStringArray) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go new file mode 100644 index 000000000..f1fc89ba9 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/apiserver.go @@ -0,0 +1,214 @@ +/* +Copyright 2017 The Kubernetes 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 apiserver + +import ( + "fmt" + "net/http" + "time" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/version" + "k8s.io/apiserver/pkg/endpoints/discovery" + genericregistry "k8s.io/apiserver/pkg/registry/generic" + "k8s.io/apiserver/pkg/registry/rest" + genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset" + internalinformers "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion" + "k8s.io/apiextensions-apiserver/pkg/controller/establish" + "k8s.io/apiextensions-apiserver/pkg/controller/finalizer" + "k8s.io/apiextensions-apiserver/pkg/controller/status" + "k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition" + + _ "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + _ "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions" + _ "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion" +) + +var ( + Scheme = runtime.NewScheme() + Codecs = serializer.NewCodecFactory(Scheme) + + // if you modify this, make sure you update the crEncoder + unversionedVersion = schema.GroupVersion{Group: "", Version: "v1"} + unversionedTypes = []runtime.Object{ + &metav1.Status{}, + &metav1.WatchEvent{}, + &metav1.APIVersions{}, + &metav1.APIGroupList{}, + &metav1.APIGroup{}, + &metav1.APIResourceList{}, + } +) + +func init() { + install.Install(Scheme) + + // we need to add the options to empty v1 + metav1.AddToGroupVersion(Scheme, schema.GroupVersion{Group: "", Version: "v1"}) + + Scheme.AddUnversionedTypes(unversionedVersion, unversionedTypes...) +} + +type ExtraConfig struct { + CRDRESTOptionsGetter genericregistry.RESTOptionsGetter + + // MasterCount is used to detect whether cluster is HA, and if it is + // the CRD Establishing will be hold by 5 seconds. + MasterCount int +} + +type Config struct { + GenericConfig *genericapiserver.RecommendedConfig + ExtraConfig ExtraConfig +} + +type completedConfig struct { + GenericConfig genericapiserver.CompletedConfig + ExtraConfig *ExtraConfig +} + +type CompletedConfig struct { + // Embed a private pointer that cannot be instantiated outside of this package. + *completedConfig +} + +type CustomResourceDefinitions struct { + GenericAPIServer *genericapiserver.GenericAPIServer + + // provided for easier embedding + Informers internalinformers.SharedInformerFactory +} + +// Complete fills in any fields not set that are required to have valid data. It's mutating the receiver. +func (cfg *Config) Complete() CompletedConfig { + c := completedConfig{ + cfg.GenericConfig.Complete(), + &cfg.ExtraConfig, + } + + c.GenericConfig.EnableDiscovery = false + c.GenericConfig.Version = &version.Info{ + Major: "0", + Minor: "1", + } + + return CompletedConfig{&c} +} + +// New returns a new instance of CustomResourceDefinitions from the given config. +func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget) (*CustomResourceDefinitions, error) { + genericServer, err := c.GenericConfig.New("apiextensions-apiserver", delegationTarget) + if err != nil { + return nil, err + } + + s := &CustomResourceDefinitions{ + GenericAPIServer: genericServer, + } + + apiResourceConfig := c.GenericConfig.MergedResourceConfig + apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(apiextensions.GroupName, Scheme, metav1.ParameterCodec, Codecs) + if apiResourceConfig.VersionEnabled(v1beta1.SchemeGroupVersion) { + storage := map[string]rest.Storage{} + // customresourcedefinitions + customResourceDefintionStorage := customresourcedefinition.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter) + storage["customresourcedefinitions"] = customResourceDefintionStorage + storage["customresourcedefinitions/status"] = customresourcedefinition.NewStatusREST(Scheme, customResourceDefintionStorage) + + apiGroupInfo.VersionedResourcesStorageMap["v1beta1"] = storage + } + + if err := s.GenericAPIServer.InstallAPIGroup(&apiGroupInfo); err != nil { + return nil, err + } + + crdClient, err := internalclientset.NewForConfig(s.GenericAPIServer.LoopbackClientConfig) + if err != nil { + // it's really bad that this is leaking here, but until we can fix the test (which I'm pretty sure isn't even testing what it wants to test), + // we need to be able to move forward + return nil, fmt.Errorf("failed to create clientset: %v", err) + } + s.Informers = internalinformers.NewSharedInformerFactory(crdClient, 5*time.Minute) + + delegateHandler := delegationTarget.UnprotectedHandler() + if delegateHandler == nil { + delegateHandler = http.NotFoundHandler() + } + + versionDiscoveryHandler := &versionDiscoveryHandler{ + discovery: map[schema.GroupVersion]*discovery.APIVersionHandler{}, + delegate: delegateHandler, + } + groupDiscoveryHandler := &groupDiscoveryHandler{ + discovery: map[string]*discovery.APIGroupHandler{}, + delegate: delegateHandler, + } + establishingController := establish.NewEstablishingController(s.Informers.Apiextensions().InternalVersion().CustomResourceDefinitions(), crdClient.Apiextensions()) + crdHandler := NewCustomResourceDefinitionHandler( + versionDiscoveryHandler, + groupDiscoveryHandler, + s.Informers.Apiextensions().InternalVersion().CustomResourceDefinitions(), + delegateHandler, + c.ExtraConfig.CRDRESTOptionsGetter, + c.GenericConfig.AdmissionControl, + establishingController, + c.ExtraConfig.MasterCount, + ) + s.GenericAPIServer.Handler.NonGoRestfulMux.Handle("/apis", crdHandler) + s.GenericAPIServer.Handler.NonGoRestfulMux.HandlePrefix("/apis/", crdHandler) + + crdController := NewDiscoveryController(s.Informers.Apiextensions().InternalVersion().CustomResourceDefinitions(), versionDiscoveryHandler, groupDiscoveryHandler) + namingController := status.NewNamingConditionController(s.Informers.Apiextensions().InternalVersion().CustomResourceDefinitions(), crdClient.Apiextensions()) + finalizingController := finalizer.NewCRDFinalizer( + s.Informers.Apiextensions().InternalVersion().CustomResourceDefinitions(), + crdClient.Apiextensions(), + crdHandler, + ) + + s.GenericAPIServer.AddPostStartHook("start-apiextensions-informers", func(context genericapiserver.PostStartHookContext) error { + s.Informers.Start(context.StopCh) + return nil + }) + s.GenericAPIServer.AddPostStartHook("start-apiextensions-controllers", func(context genericapiserver.PostStartHookContext) error { + go crdController.Run(context.StopCh) + go namingController.Run(context.StopCh) + go establishingController.Run(context.StopCh) + go finalizingController.Run(5, context.StopCh) + return nil + }) + + return s, nil +} + +func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig { + ret := serverstorage.NewResourceConfig() + // NOTE: GroupVersions listed here will be enabled by default. Don't put alpha versions in the list. + ret.EnableVersions( + v1beta1.SchemeGroupVersion, + ) + + return ret +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/converter.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/converter.go new file mode 100644 index 000000000..69f5340a9 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/converter.go @@ -0,0 +1,117 @@ +/* +Copyright 2018 The Kubernetes 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 conversion + +import ( + "fmt" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// NewCRDConverter returns a new CRD converter based on the conversion settings in crd object. +func NewCRDConverter(crd *apiextensions.CustomResourceDefinition) (safe, unsafe runtime.ObjectConvertor) { + validVersions := map[schema.GroupVersion]bool{} + for _, version := range crd.Spec.Versions { + validVersions[schema.GroupVersion{Group: crd.Spec.Group, Version: version.Name}] = true + } + + // The only converter right now is nopConverter. More converters will be returned based on the + // CRD object when they introduced. + unsafe = &crdConverter{ + clusterScoped: crd.Spec.Scope == apiextensions.ClusterScoped, + delegate: &nopConverter{ + validVersions: validVersions, + }, + } + return &safeConverterWrapper{unsafe}, unsafe +} + +var _ runtime.ObjectConvertor = &crdConverter{} + +// crdConverter extends the delegate with generic CRD conversion behaviour. The delegate will implement the +// user defined conversion strategy given in the CustomResourceDefinition. +type crdConverter struct { + delegate runtime.ObjectConvertor + clusterScoped bool +} + +func (c *crdConverter) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + // We currently only support metadata.namespace and metadata.name. + switch { + case label == "metadata.name": + return label, value, nil + case !c.clusterScoped && label == "metadata.namespace": + return label, value, nil + default: + return "", "", fmt.Errorf("field label not supported: %s", label) + } +} + +func (c *crdConverter) Convert(in, out, context interface{}) error { + return c.delegate.Convert(in, out, context) +} + +// ConvertToVersion converts in object to the given gvk in place and returns the same `in` object. +func (c *crdConverter) ConvertToVersion(in runtime.Object, target runtime.GroupVersioner) (runtime.Object, error) { + // Run the converter on the list items instead of list itself + if list, ok := in.(*unstructured.UnstructuredList); ok { + for i := range list.Items { + obj, err := c.delegate.ConvertToVersion(&list.Items[i], target) + if err != nil { + return nil, err + } + + u, ok := obj.(*unstructured.Unstructured) + if !ok { + return nil, fmt.Errorf("output type %T in not valid for unstructured conversion", obj) + } + list.Items[i] = *u + } + return list, nil + } + + return c.delegate.ConvertToVersion(in, target) +} + +// safeConverterWrapper is a wrapper over an unsafe object converter that makes copy of the input and then delegate to the unsafe converter. +type safeConverterWrapper struct { + unsafe runtime.ObjectConvertor +} + +var _ runtime.ObjectConvertor = &nopConverter{} + +// ConvertFieldLabel delegate the call to the unsafe converter. +func (c *safeConverterWrapper) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + return c.unsafe.ConvertFieldLabel(version, kind, label, value) +} + +// Convert makes a copy of in object and then delegate the call to the unsafe converter. +func (c *safeConverterWrapper) Convert(in, out, context interface{}) error { + inObject, ok := in.(runtime.Object) + if !ok { + return fmt.Errorf("input type %T in not valid for object conversion", in) + } + return c.unsafe.Convert(inObject.DeepCopyObject(), out, context) +} + +// ConvertToVersion makes a copy of in object and then delegate the call to the unsafe converter. +func (c *safeConverterWrapper) ConvertToVersion(in runtime.Object, target runtime.GroupVersioner) (runtime.Object, error) { + return c.unsafe.ConvertToVersion(in.DeepCopyObject(), target) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/nop_converter.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/nop_converter.go new file mode 100644 index 000000000..716930bfb --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/conversion/nop_converter.go @@ -0,0 +1,79 @@ +/* +Copyright 2018 The Kubernetes 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 conversion + +import ( + "errors" + "fmt" + + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// nopConverter is a converter that only sets the apiVersion fields, but does not real conversion. +type nopConverter struct { + validVersions map[schema.GroupVersion]bool +} + +var _ runtime.ObjectConvertor = &nopConverter{} + +func (nopConverter) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + return "", "", errors.New("unstructured cannot convert field labels") +} + +func (c *nopConverter) Convert(in, out, context interface{}) error { + unstructIn, ok := in.(*unstructured.Unstructured) + if !ok { + return fmt.Errorf("input type %T in not valid for unstructured conversion", in) + } + + unstructOut, ok := out.(*unstructured.Unstructured) + if !ok { + return fmt.Errorf("output type %T in not valid for unstructured conversion", out) + } + + outGVK := unstructOut.GroupVersionKind() + if !c.validVersions[outGVK.GroupVersion()] { + return fmt.Errorf("request to convert CRD from an invalid group/version: %s", outGVK.String()) + } + inGVK := unstructIn.GroupVersionKind() + if !c.validVersions[inGVK.GroupVersion()] { + return fmt.Errorf("request to convert CRD to an invalid group/version: %s", inGVK.String()) + } + + unstructOut.SetUnstructuredContent(unstructIn.UnstructuredContent()) + _, err := c.ConvertToVersion(unstructOut, outGVK.GroupVersion()) + if err != nil { + return err + } + return nil +} + +func (c *nopConverter) ConvertToVersion(in runtime.Object, target runtime.GroupVersioner) (runtime.Object, error) { + kind := in.GetObjectKind().GroupVersionKind() + gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{kind}) + if !ok { + // TODO: should this be a typed error? + return nil, fmt.Errorf("%v is unstructured and is not suitable for converting to %q", kind, target) + } + if !c.validVersions[gvk.GroupVersion()] { + return nil, fmt.Errorf("request to convert CRD to an invalid group/version: %s", gvk.String()) + } + in.GetObjectKind().SetGroupVersionKind(gvk) + return in, nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery.go new file mode 100644 index 000000000..f40c33791 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery.go @@ -0,0 +1,127 @@ +/* +Copyright 2017 The Kubernetes 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 apiserver + +import ( + "net/http" + "strings" + "sync" + + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apiserver/pkg/endpoints/discovery" +) + +type versionDiscoveryHandler struct { + // TODO, writing is infrequent, optimize this + discoveryLock sync.RWMutex + discovery map[schema.GroupVersion]*discovery.APIVersionHandler + + delegate http.Handler +} + +func (r *versionDiscoveryHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { + pathParts := splitPath(req.URL.Path) + // only match /apis// + if len(pathParts) != 3 || pathParts[0] != "apis" { + r.delegate.ServeHTTP(w, req) + return + } + discovery, ok := r.getDiscovery(schema.GroupVersion{Group: pathParts[1], Version: pathParts[2]}) + if !ok { + r.delegate.ServeHTTP(w, req) + return + } + + discovery.ServeHTTP(w, req) +} + +func (r *versionDiscoveryHandler) getDiscovery(gv schema.GroupVersion) (*discovery.APIVersionHandler, bool) { + r.discoveryLock.RLock() + defer r.discoveryLock.RUnlock() + + ret, ok := r.discovery[gv] + return ret, ok +} + +func (r *versionDiscoveryHandler) setDiscovery(gv schema.GroupVersion, discovery *discovery.APIVersionHandler) { + r.discoveryLock.Lock() + defer r.discoveryLock.Unlock() + + r.discovery[gv] = discovery +} + +func (r *versionDiscoveryHandler) unsetDiscovery(gv schema.GroupVersion) { + r.discoveryLock.Lock() + defer r.discoveryLock.Unlock() + + delete(r.discovery, gv) +} + +type groupDiscoveryHandler struct { + // TODO, writing is infrequent, optimize this + discoveryLock sync.RWMutex + discovery map[string]*discovery.APIGroupHandler + + delegate http.Handler +} + +func (r *groupDiscoveryHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { + pathParts := splitPath(req.URL.Path) + // only match /apis/ + if len(pathParts) != 2 || pathParts[0] != "apis" { + r.delegate.ServeHTTP(w, req) + return + } + discovery, ok := r.getDiscovery(pathParts[1]) + if !ok { + r.delegate.ServeHTTP(w, req) + return + } + + discovery.ServeHTTP(w, req) +} + +func (r *groupDiscoveryHandler) getDiscovery(group string) (*discovery.APIGroupHandler, bool) { + r.discoveryLock.RLock() + defer r.discoveryLock.RUnlock() + + ret, ok := r.discovery[group] + return ret, ok +} + +func (r *groupDiscoveryHandler) setDiscovery(group string, discovery *discovery.APIGroupHandler) { + r.discoveryLock.Lock() + defer r.discoveryLock.Unlock() + + r.discovery[group] = discovery +} + +func (r *groupDiscoveryHandler) unsetDiscovery(group string) { + r.discoveryLock.Lock() + defer r.discoveryLock.Unlock() + + delete(r.discovery, group) +} + +// splitPath returns the segments for a URL path. +func splitPath(path string) []string { + path = strings.Trim(path, "/") + if path == "" { + return []string{} + } + return strings.Split(path, "/") +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery_controller.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery_controller.go new file mode 100644 index 000000000..e3b3d0a44 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_discovery_controller.go @@ -0,0 +1,275 @@ +/* +Copyright 2017 The Kubernetes 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 apiserver + +import ( + "fmt" + "sort" + "time" + + "github.com/golang/glog" + + autoscaling "k8s.io/api/autoscaling/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime/schema" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/version" + "k8s.io/apiserver/pkg/endpoints/discovery" + "k8s.io/client-go/tools/cache" + "k8s.io/client-go/util/workqueue" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + informers "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion" + listers "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion" +) + +type DiscoveryController struct { + versionHandler *versionDiscoveryHandler + groupHandler *groupDiscoveryHandler + + crdLister listers.CustomResourceDefinitionLister + crdsSynced cache.InformerSynced + + // To allow injection for testing. + syncFn func(version schema.GroupVersion) error + + queue workqueue.RateLimitingInterface +} + +func NewDiscoveryController(crdInformer informers.CustomResourceDefinitionInformer, versionHandler *versionDiscoveryHandler, groupHandler *groupDiscoveryHandler) *DiscoveryController { + c := &DiscoveryController{ + versionHandler: versionHandler, + groupHandler: groupHandler, + crdLister: crdInformer.Lister(), + crdsSynced: crdInformer.Informer().HasSynced, + + queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "DiscoveryController"), + } + + crdInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: c.addCustomResourceDefinition, + UpdateFunc: c.updateCustomResourceDefinition, + DeleteFunc: c.deleteCustomResourceDefinition, + }) + + c.syncFn = c.sync + + return c +} + +func (c *DiscoveryController) sync(version schema.GroupVersion) error { + + apiVersionsForDiscovery := []metav1.GroupVersionForDiscovery{} + apiResourcesForDiscovery := []metav1.APIResource{} + versionsForDiscoveryMap := map[metav1.GroupVersion]bool{} + + crds, err := c.crdLister.List(labels.Everything()) + if err != nil { + return err + } + foundVersion := false + foundGroup := false + for _, crd := range crds { + if !apiextensions.IsCRDConditionTrue(crd, apiextensions.Established) { + continue + } + + if crd.Spec.Group != version.Group { + continue + } + + foundThisVersion := false + for _, v := range crd.Spec.Versions { + if !v.Served { + continue + } + // If there is any Served version, that means the group should show up in discovery + foundGroup = true + + gv := metav1.GroupVersion{Group: crd.Spec.Group, Version: v.Name} + if !versionsForDiscoveryMap[gv] { + versionsForDiscoveryMap[gv] = true + apiVersionsForDiscovery = append(apiVersionsForDiscovery, metav1.GroupVersionForDiscovery{ + GroupVersion: crd.Spec.Group + "/" + v.Name, + Version: v.Name, + }) + } + if v.Name == version.Version { + foundThisVersion = true + } + } + + if !foundThisVersion { + continue + } + foundVersion = true + + verbs := metav1.Verbs([]string{"delete", "deletecollection", "get", "list", "patch", "create", "update", "watch"}) + // if we're terminating we don't allow some verbs + if apiextensions.IsCRDConditionTrue(crd, apiextensions.Terminating) { + verbs = metav1.Verbs([]string{"delete", "deletecollection", "get", "list", "watch"}) + } + + apiResourcesForDiscovery = append(apiResourcesForDiscovery, metav1.APIResource{ + Name: crd.Status.AcceptedNames.Plural, + SingularName: crd.Status.AcceptedNames.Singular, + Namespaced: crd.Spec.Scope == apiextensions.NamespaceScoped, + Kind: crd.Status.AcceptedNames.Kind, + Verbs: verbs, + ShortNames: crd.Status.AcceptedNames.ShortNames, + Categories: crd.Status.AcceptedNames.Categories, + }) + + if crd.Spec.Subresources != nil && crd.Spec.Subresources.Status != nil { + apiResourcesForDiscovery = append(apiResourcesForDiscovery, metav1.APIResource{ + Name: crd.Status.AcceptedNames.Plural + "/status", + Namespaced: crd.Spec.Scope == apiextensions.NamespaceScoped, + Kind: crd.Status.AcceptedNames.Kind, + Verbs: metav1.Verbs([]string{"get", "patch", "update"}), + }) + } + + if crd.Spec.Subresources != nil && crd.Spec.Subresources.Scale != nil { + apiResourcesForDiscovery = append(apiResourcesForDiscovery, metav1.APIResource{ + Group: autoscaling.GroupName, + Version: "v1", + Kind: "Scale", + Name: crd.Status.AcceptedNames.Plural + "/scale", + Namespaced: crd.Spec.Scope == apiextensions.NamespaceScoped, + Verbs: metav1.Verbs([]string{"get", "patch", "update"}), + }) + } + } + + if !foundGroup { + c.groupHandler.unsetDiscovery(version.Group) + c.versionHandler.unsetDiscovery(version) + return nil + } + + sortGroupDiscoveryByKubeAwareVersion(apiVersionsForDiscovery) + + apiGroup := metav1.APIGroup{ + Name: version.Group, + Versions: apiVersionsForDiscovery, + // the preferred versions for a group is the first item in + // apiVersionsForDiscovery after it put in the right ordered + PreferredVersion: apiVersionsForDiscovery[0], + } + c.groupHandler.setDiscovery(version.Group, discovery.NewAPIGroupHandler(Codecs, apiGroup)) + + if !foundVersion { + c.versionHandler.unsetDiscovery(version) + return nil + } + c.versionHandler.setDiscovery(version, discovery.NewAPIVersionHandler(Codecs, version, discovery.APIResourceListerFunc(func() []metav1.APIResource { + return apiResourcesForDiscovery + }))) + + return nil +} + +func sortGroupDiscoveryByKubeAwareVersion(gd []metav1.GroupVersionForDiscovery) { + sort.Slice(gd, func(i, j int) bool { + return version.CompareKubeAwareVersionStrings(gd[i].Version, gd[j].Version) > 0 + }) +} + +func (c *DiscoveryController) Run(stopCh <-chan struct{}) { + defer utilruntime.HandleCrash() + defer c.queue.ShutDown() + defer glog.Infof("Shutting down DiscoveryController") + + glog.Infof("Starting DiscoveryController") + + if !cache.WaitForCacheSync(stopCh, c.crdsSynced) { + utilruntime.HandleError(fmt.Errorf("timed out waiting for caches to sync")) + return + } + + // only start one worker thread since its a slow moving API + go wait.Until(c.runWorker, time.Second, stopCh) + + <-stopCh +} + +func (c *DiscoveryController) runWorker() { + for c.processNextWorkItem() { + } +} + +// processNextWorkItem deals with one key off the queue. It returns false when it's time to quit. +func (c *DiscoveryController) processNextWorkItem() bool { + key, quit := c.queue.Get() + if quit { + return false + } + defer c.queue.Done(key) + + err := c.syncFn(key.(schema.GroupVersion)) + if err == nil { + c.queue.Forget(key) + return true + } + + utilruntime.HandleError(fmt.Errorf("%v failed with: %v", key, err)) + c.queue.AddRateLimited(key) + + return true +} + +func (c *DiscoveryController) enqueue(obj *apiextensions.CustomResourceDefinition) { + for _, v := range obj.Spec.Versions { + c.queue.Add(schema.GroupVersion{Group: obj.Spec.Group, Version: v.Name}) + } +} + +func (c *DiscoveryController) addCustomResourceDefinition(obj interface{}) { + castObj := obj.(*apiextensions.CustomResourceDefinition) + glog.V(4).Infof("Adding customresourcedefinition %s", castObj.Name) + c.enqueue(castObj) +} + +func (c *DiscoveryController) updateCustomResourceDefinition(oldObj, newObj interface{}) { + castNewObj := newObj.(*apiextensions.CustomResourceDefinition) + castOldObj := oldObj.(*apiextensions.CustomResourceDefinition) + glog.V(4).Infof("Updating customresourcedefinition %s", castOldObj.Name) + // Enqueue both old and new object to make sure we remove and add appropriate Versions. + // The working queue will resolve any duplicates and only changes will stay in the queue. + c.enqueue(castNewObj) + c.enqueue(castOldObj) +} + +func (c *DiscoveryController) deleteCustomResourceDefinition(obj interface{}) { + castObj, ok := obj.(*apiextensions.CustomResourceDefinition) + if !ok { + tombstone, ok := obj.(cache.DeletedFinalStateUnknown) + if !ok { + glog.Errorf("Couldn't get object from tombstone %#v", obj) + return + } + castObj, ok = tombstone.Obj.(*apiextensions.CustomResourceDefinition) + if !ok { + glog.Errorf("Tombstone contained object that is not expected %#v", obj) + return + } + } + glog.V(4).Infof("Deleting customresourcedefinition %q", castObj.Name) + c.enqueue(castObj) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler.go new file mode 100644 index 000000000..7be3711dc --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/customresource_handler.go @@ -0,0 +1,883 @@ +/* +Copyright 2017 The Kubernetes 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 apiserver + +import ( + "fmt" + "net/http" + "path" + "strings" + "sync" + "sync/atomic" + "time" + + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" + "github.com/golang/glog" + + apiequality "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/runtime/serializer/json" + "k8s.io/apimachinery/pkg/runtime/serializer/versioning" + "k8s.io/apimachinery/pkg/types" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apiserver/pkg/admission" + "k8s.io/apiserver/pkg/endpoints/handlers" + "k8s.io/apiserver/pkg/endpoints/handlers/responsewriters" + "k8s.io/apiserver/pkg/endpoints/metrics" + apirequest "k8s.io/apiserver/pkg/endpoints/request" + "k8s.io/apiserver/pkg/registry/generic" + genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" + "k8s.io/apiserver/pkg/storage/storagebackend" + utilfeature "k8s.io/apiserver/pkg/util/feature" + "k8s.io/client-go/discovery" + "k8s.io/client-go/scale" + "k8s.io/client-go/scale/scheme/autoscalingv1" + "k8s.io/client-go/tools/cache" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + "k8s.io/apiextensions-apiserver/pkg/apiserver/conversion" + apiservervalidation "k8s.io/apiextensions-apiserver/pkg/apiserver/validation" + informers "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion" + listers "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion" + "k8s.io/apiextensions-apiserver/pkg/controller/establish" + "k8s.io/apiextensions-apiserver/pkg/controller/finalizer" + apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features" + "k8s.io/apiextensions-apiserver/pkg/registry/customresource" + "k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor" +) + +// crdHandler serves the `/apis` endpoint. +// This is registered as a filter so that it never collides with any explicitly registered endpoints +type crdHandler struct { + versionDiscoveryHandler *versionDiscoveryHandler + groupDiscoveryHandler *groupDiscoveryHandler + + customStorageLock sync.Mutex + // customStorage contains a crdStorageMap + // atomic.Value has a very good read performance compared to sync.RWMutex + // see https://gist.github.com/dim/152e6bf80e1384ea72e17ac717a5000a + // which is suited for most read and rarely write cases + customStorage atomic.Value + + crdLister listers.CustomResourceDefinitionLister + + delegate http.Handler + restOptionsGetter generic.RESTOptionsGetter + admission admission.Interface + + establishingController *establish.EstablishingController + + // MasterCount is used to implement sleep to improve + // CRD establishing process for HA clusters. + masterCount int +} + +// crdInfo stores enough information to serve the storage for the custom resource +type crdInfo struct { + // spec and acceptedNames are used to compare against if a change is made on a CRD. We only update + // the storage if one of these changes. + spec *apiextensions.CustomResourceDefinitionSpec + acceptedNames *apiextensions.CustomResourceDefinitionNames + + // Storage per version + storages map[string]customresource.CustomResourceStorage + + // Request scope per version + requestScopes map[string]handlers.RequestScope + + // Scale scope per version + scaleRequestScopes map[string]handlers.RequestScope + + // Status scope per version + statusRequestScopes map[string]handlers.RequestScope + + // storageVersion is the CRD version used when storing the object in etcd. + storageVersion string +} + +// crdStorageMap goes from customresourcedefinition to its storage +type crdStorageMap map[types.UID]*crdInfo + +func NewCustomResourceDefinitionHandler( + versionDiscoveryHandler *versionDiscoveryHandler, + groupDiscoveryHandler *groupDiscoveryHandler, + crdInformer informers.CustomResourceDefinitionInformer, + delegate http.Handler, + restOptionsGetter generic.RESTOptionsGetter, + admission admission.Interface, + establishingController *establish.EstablishingController, + masterCount int) *crdHandler { + ret := &crdHandler{ + versionDiscoveryHandler: versionDiscoveryHandler, + groupDiscoveryHandler: groupDiscoveryHandler, + customStorage: atomic.Value{}, + crdLister: crdInformer.Lister(), + delegate: delegate, + restOptionsGetter: restOptionsGetter, + admission: admission, + establishingController: establishingController, + masterCount: masterCount, + } + crdInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + UpdateFunc: ret.updateCustomResourceDefinition, + DeleteFunc: func(obj interface{}) { + ret.removeDeadStorage() + }, + }) + + ret.customStorage.Store(crdStorageMap{}) + + return ret +} + +func (r *crdHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { + ctx := req.Context() + requestInfo, ok := apirequest.RequestInfoFrom(ctx) + if !ok { + responsewriters.InternalError(w, req, fmt.Errorf("no RequestInfo found in the context")) + return + } + if !requestInfo.IsResourceRequest { + pathParts := splitPath(requestInfo.Path) + // only match /apis// + // only registered under /apis + if len(pathParts) == 3 { + r.versionDiscoveryHandler.ServeHTTP(w, req) + return + } + // only match /apis/ + if len(pathParts) == 2 { + r.groupDiscoveryHandler.ServeHTTP(w, req) + return + } + + r.delegate.ServeHTTP(w, req) + return + } + + crdName := requestInfo.Resource + "." + requestInfo.APIGroup + crd, err := r.crdLister.Get(crdName) + if apierrors.IsNotFound(err) { + r.delegate.ServeHTTP(w, req) + return + } + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + if !apiextensions.HasServedCRDVersion(crd, requestInfo.APIVersion) { + r.delegate.ServeHTTP(w, req) + return + } + // There is a small chance that a CRD is being served because NamesAccepted condition is true, + // but it becomes "unserved" because another names update leads to a conflict + // and EstablishingController wasn't fast enough to put the CRD into the Established condition. + // We accept this as the problem is small and self-healing. + if !apiextensions.IsCRDConditionTrue(crd, apiextensions.NamesAccepted) && + !apiextensions.IsCRDConditionTrue(crd, apiextensions.Established) { + r.delegate.ServeHTTP(w, req) + return + } + + terminating := apiextensions.IsCRDConditionTrue(crd, apiextensions.Terminating) + + crdInfo, err := r.getOrCreateServingInfoFor(crd) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + verb := strings.ToUpper(requestInfo.Verb) + resource := requestInfo.Resource + subresource := requestInfo.Subresource + scope := metrics.CleanScope(requestInfo) + supportedTypes := []string{ + string(types.JSONPatchType), + string(types.MergePatchType), + } + + var handler http.HandlerFunc + switch { + case subresource == "status" && crd.Spec.Subresources != nil && crd.Spec.Subresources.Status != nil: + handler = r.serveStatus(w, req, requestInfo, crdInfo, terminating, supportedTypes) + case subresource == "scale" && crd.Spec.Subresources != nil && crd.Spec.Subresources.Scale != nil: + handler = r.serveScale(w, req, requestInfo, crdInfo, terminating, supportedTypes) + case len(subresource) == 0: + handler = r.serveResource(w, req, requestInfo, crdInfo, terminating, supportedTypes) + default: + http.Error(w, "the server could not find the requested resource", http.StatusNotFound) + } + + if handler != nil { + handler = metrics.InstrumentHandlerFunc(verb, resource, subresource, scope, handler) + handler(w, req) + return + } +} + +func (r *crdHandler) serveResource(w http.ResponseWriter, req *http.Request, requestInfo *apirequest.RequestInfo, crdInfo *crdInfo, terminating bool, supportedTypes []string) http.HandlerFunc { + requestScope := crdInfo.requestScopes[requestInfo.APIVersion] + storage := crdInfo.storages[requestInfo.APIVersion].CustomResource + minRequestTimeout := 1 * time.Minute + + switch requestInfo.Verb { + case "get": + return handlers.GetResource(storage, storage, requestScope) + case "list": + forceWatch := false + return handlers.ListResource(storage, storage, requestScope, forceWatch, minRequestTimeout) + case "watch": + forceWatch := true + return handlers.ListResource(storage, storage, requestScope, forceWatch, minRequestTimeout) + case "create": + if terminating { + http.Error(w, fmt.Sprintf("%v not allowed while CustomResourceDefinition is terminating", requestInfo.Verb), http.StatusMethodNotAllowed) + return nil + } + return handlers.CreateResource(storage, requestScope, r.admission) + case "update": + return handlers.UpdateResource(storage, requestScope, r.admission) + case "patch": + return handlers.PatchResource(storage, requestScope, r.admission, supportedTypes) + case "delete": + allowsOptions := true + return handlers.DeleteResource(storage, allowsOptions, requestScope, r.admission) + case "deletecollection": + checkBody := true + return handlers.DeleteCollection(storage, checkBody, requestScope, r.admission) + default: + http.Error(w, fmt.Sprintf("unhandled verb %q", requestInfo.Verb), http.StatusMethodNotAllowed) + return nil + } +} + +func (r *crdHandler) serveStatus(w http.ResponseWriter, req *http.Request, requestInfo *apirequest.RequestInfo, crdInfo *crdInfo, terminating bool, supportedTypes []string) http.HandlerFunc { + requestScope := crdInfo.statusRequestScopes[requestInfo.APIVersion] + storage := crdInfo.storages[requestInfo.APIVersion].Status + + switch requestInfo.Verb { + case "get": + return handlers.GetResource(storage, nil, requestScope) + case "update": + return handlers.UpdateResource(storage, requestScope, r.admission) + case "patch": + return handlers.PatchResource(storage, requestScope, r.admission, supportedTypes) + default: + http.Error(w, fmt.Sprintf("unhandled verb %q", requestInfo.Verb), http.StatusMethodNotAllowed) + return nil + } +} + +func (r *crdHandler) serveScale(w http.ResponseWriter, req *http.Request, requestInfo *apirequest.RequestInfo, crdInfo *crdInfo, terminating bool, supportedTypes []string) http.HandlerFunc { + requestScope := crdInfo.scaleRequestScopes[requestInfo.APIVersion] + storage := crdInfo.storages[requestInfo.APIVersion].Scale + + switch requestInfo.Verb { + case "get": + return handlers.GetResource(storage, nil, requestScope) + case "update": + return handlers.UpdateResource(storage, requestScope, r.admission) + case "patch": + return handlers.PatchResource(storage, requestScope, r.admission, supportedTypes) + default: + http.Error(w, fmt.Sprintf("unhandled verb %q", requestInfo.Verb), http.StatusMethodNotAllowed) + return nil + } +} + +func (r *crdHandler) updateCustomResourceDefinition(oldObj, newObj interface{}) { + oldCRD := oldObj.(*apiextensions.CustomResourceDefinition) + newCRD := newObj.(*apiextensions.CustomResourceDefinition) + + r.customStorageLock.Lock() + defer r.customStorageLock.Unlock() + + // Add CRD to the establishing controller queue. + // For HA clusters, we want to prevent race conditions when changing status to Established, + // so we want to be sure that CRD is Installing at least for 5 seconds before Establishing it. + // TODO: find a real HA safe checkpointing mechanism instead of an arbitrary wait. + if !apiextensions.IsCRDConditionTrue(newCRD, apiextensions.Established) && + apiextensions.IsCRDConditionTrue(newCRD, apiextensions.NamesAccepted) { + if r.masterCount > 1 { + r.establishingController.QueueCRD(newCRD.Name, 5*time.Second) + } else { + r.establishingController.QueueCRD(newCRD.Name, 0) + } + } + + storageMap := r.customStorage.Load().(crdStorageMap) + oldInfo, found := storageMap[newCRD.UID] + if !found { + return + } + if apiequality.Semantic.DeepEqual(&newCRD.Spec, oldInfo.spec) && apiequality.Semantic.DeepEqual(&newCRD.Status.AcceptedNames, oldInfo.acceptedNames) { + glog.V(6).Infof("Ignoring customresourcedefinition %s update because neither spec, nor accepted names changed", oldCRD.Name) + return + } + + glog.V(4).Infof("Updating customresourcedefinition %s", oldCRD.Name) + + // Copy because we cannot write to storageMap without a race + // as it is used without locking elsewhere. + storageMap2 := storageMap.clone() + if oldInfo, ok := storageMap2[types.UID(oldCRD.UID)]; ok { + for _, storage := range oldInfo.storages { + // destroy only the main storage. Those for the subresources share cacher and etcd clients. + storage.CustomResource.DestroyFunc() + } + delete(storageMap2, types.UID(oldCRD.UID)) + } + + r.customStorage.Store(storageMap2) +} + +// removeDeadStorage removes REST storage that isn't being used +func (r *crdHandler) removeDeadStorage() { + allCustomResourceDefinitions, err := r.crdLister.List(labels.Everything()) + if err != nil { + utilruntime.HandleError(err) + return + } + + r.customStorageLock.Lock() + defer r.customStorageLock.Unlock() + + storageMap := r.customStorage.Load().(crdStorageMap) + // Copy because we cannot write to storageMap without a race + // as it is used without locking elsewhere + storageMap2 := storageMap.clone() + for uid, s := range storageMap2 { + found := false + for _, crd := range allCustomResourceDefinitions { + if crd.UID == uid { + found = true + break + } + } + if !found { + glog.V(4).Infof("Removing dead CRD storage for %s/%s", s.spec.Group, s.spec.Names.Kind) + for _, storage := range s.storages { + // destroy only the main storage. Those for the subresources share cacher and etcd clients. + storage.CustomResource.DestroyFunc() + } + delete(storageMap2, uid) + } + } + r.customStorage.Store(storageMap2) +} + +// GetCustomResourceListerCollectionDeleter returns the ListerCollectionDeleter of +// the given crd. +func (r *crdHandler) GetCustomResourceListerCollectionDeleter(crd *apiextensions.CustomResourceDefinition) (finalizer.ListerCollectionDeleter, error) { + info, err := r.getOrCreateServingInfoFor(crd) + if err != nil { + return nil, err + } + return info.storages[info.storageVersion].CustomResource, nil +} + +var swaggerMetadataDescriptions = metav1.ObjectMeta{}.SwaggerDoc() + +func (r *crdHandler) getOrCreateServingInfoFor(crd *apiextensions.CustomResourceDefinition) (*crdInfo, error) { + storageMap := r.customStorage.Load().(crdStorageMap) + if ret, ok := storageMap[crd.UID]; ok { + return ret, nil + } + + r.customStorageLock.Lock() + defer r.customStorageLock.Unlock() + + storageMap = r.customStorage.Load().(crdStorageMap) + if ret, ok := storageMap[crd.UID]; ok { + return ret, nil + } + + storageVersion, err := apiextensions.GetCRDStorageVersion(crd) + if err != nil { + return nil, err + } + + // Scope/Storages per version. + requestScopes := map[string]handlers.RequestScope{} + storages := map[string]customresource.CustomResourceStorage{} + statusScopes := map[string]handlers.RequestScope{} + scaleScopes := map[string]handlers.RequestScope{} + + for _, v := range crd.Spec.Versions { + safeConverter, unsafeConverter := conversion.NewCRDConverter(crd) + // In addition to Unstructured objects (Custom Resources), we also may sometimes need to + // decode unversioned Options objects, so we delegate to parameterScheme for such types. + parameterScheme := runtime.NewScheme() + parameterScheme.AddUnversionedTypes(schema.GroupVersion{Group: crd.Spec.Group, Version: v.Name}, + &metav1.ListOptions{}, + &metav1.ExportOptions{}, + &metav1.GetOptions{}, + &metav1.DeleteOptions{}, + ) + parameterCodec := runtime.NewParameterCodec(parameterScheme) + + kind := schema.GroupVersionKind{Group: crd.Spec.Group, Version: v.Name, Kind: crd.Status.AcceptedNames.Kind} + typer := newUnstructuredObjectTyper(parameterScheme) + creator := unstructuredCreator{} + + validator, _, err := apiservervalidation.NewSchemaValidator(crd.Spec.Validation) + if err != nil { + return nil, err + } + + var statusSpec *apiextensions.CustomResourceSubresourceStatus + var statusValidator *validate.SchemaValidator + if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) && crd.Spec.Subresources != nil && crd.Spec.Subresources.Status != nil { + statusSpec = crd.Spec.Subresources.Status + + // for the status subresource, validate only against the status schema + if crd.Spec.Validation != nil && crd.Spec.Validation.OpenAPIV3Schema != nil && crd.Spec.Validation.OpenAPIV3Schema.Properties != nil { + if statusSchema, ok := crd.Spec.Validation.OpenAPIV3Schema.Properties["status"]; ok { + openapiSchema := &spec.Schema{} + if err := apiservervalidation.ConvertJSONSchemaProps(&statusSchema, openapiSchema); err != nil { + return nil, err + } + statusValidator = validate.NewSchemaValidator(openapiSchema, nil, "", strfmt.Default) + } + } + } + + var scaleSpec *apiextensions.CustomResourceSubresourceScale + if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) && crd.Spec.Subresources != nil && crd.Spec.Subresources.Scale != nil { + scaleSpec = crd.Spec.Subresources.Scale + } + + table, err := tableconvertor.New(crd.Spec.AdditionalPrinterColumns) + if err != nil { + glog.V(2).Infof("The CRD for %v has an invalid printer specification, falling back to default printing: %v", kind, err) + } + + storages[v.Name] = customresource.NewStorage( + schema.GroupResource{Group: crd.Spec.Group, Resource: crd.Status.AcceptedNames.Plural}, + schema.GroupVersionKind{Group: crd.Spec.Group, Version: v.Name, Kind: crd.Status.AcceptedNames.ListKind}, + customresource.NewStrategy( + typer, + crd.Spec.Scope == apiextensions.NamespaceScoped, + kind, + validator, + statusValidator, + statusSpec, + scaleSpec, + ), + crdConversionRESTOptionsGetter{ + RESTOptionsGetter: r.restOptionsGetter, + converter: safeConverter, + decoderVersion: schema.GroupVersion{Group: crd.Spec.Group, Version: v.Name}, + encoderVersion: schema.GroupVersion{Group: crd.Spec.Group, Version: storageVersion}, + }, + crd.Status.AcceptedNames.Categories, + table, + ) + + selfLinkPrefix := "" + switch crd.Spec.Scope { + case apiextensions.ClusterScoped: + selfLinkPrefix = "/" + path.Join("apis", crd.Spec.Group, v.Name) + "/" + crd.Status.AcceptedNames.Plural + "/" + case apiextensions.NamespaceScoped: + selfLinkPrefix = "/" + path.Join("apis", crd.Spec.Group, v.Name, "namespaces") + "/" + } + + clusterScoped := crd.Spec.Scope == apiextensions.ClusterScoped + + requestScopes[v.Name] = handlers.RequestScope{ + Namer: handlers.ContextBasedNaming{ + SelfLinker: meta.NewAccessor(), + ClusterScoped: clusterScoped, + SelfLinkPathPrefix: selfLinkPrefix, + }, + Serializer: unstructuredNegotiatedSerializer{typer: typer, creator: creator, converter: safeConverter}, + ParameterCodec: parameterCodec, + + Creater: creator, + Convertor: safeConverter, + Defaulter: unstructuredDefaulter{parameterScheme}, + Typer: typer, + UnsafeConvertor: unsafeConverter, + + Resource: schema.GroupVersionResource{Group: crd.Spec.Group, Version: v.Name, Resource: crd.Status.AcceptedNames.Plural}, + Kind: kind, + + MetaGroupVersion: metav1.SchemeGroupVersion, + + TableConvertor: storages[v.Name].CustomResource, + } + + // override scaleSpec subresource values + // shallow copy + scaleScope := requestScopes[v.Name] + scaleConverter := scale.NewScaleConverter() + scaleScope.Subresource = "scale" + scaleScope.Serializer = serializer.NewCodecFactory(scaleConverter.Scheme()) + scaleScope.Kind = autoscalingv1.SchemeGroupVersion.WithKind("Scale") + scaleScope.Namer = handlers.ContextBasedNaming{ + SelfLinker: meta.NewAccessor(), + ClusterScoped: clusterScoped, + SelfLinkPathPrefix: selfLinkPrefix, + SelfLinkPathSuffix: "/scale", + } + scaleScopes[v.Name] = scaleScope + + // override status subresource values + // shallow copy + statusScope := requestScopes[v.Name] + statusScope.Subresource = "status" + statusScope.Namer = handlers.ContextBasedNaming{ + SelfLinker: meta.NewAccessor(), + ClusterScoped: clusterScoped, + SelfLinkPathPrefix: selfLinkPrefix, + SelfLinkPathSuffix: "/status", + } + statusScopes[v.Name] = statusScope + } + + ret := &crdInfo{ + spec: &crd.Spec, + acceptedNames: &crd.Status.AcceptedNames, + storages: storages, + requestScopes: requestScopes, + scaleRequestScopes: scaleScopes, + statusRequestScopes: statusScopes, + storageVersion: storageVersion, + } + + // Copy because we cannot write to storageMap without a race + // as it is used without locking elsewhere. + storageMap2 := storageMap.clone() + + storageMap2[crd.UID] = ret + r.customStorage.Store(storageMap2) + + return ret, nil +} + +type unstructuredNegotiatedSerializer struct { + typer runtime.ObjectTyper + creator runtime.ObjectCreater + converter runtime.ObjectConvertor +} + +func (s unstructuredNegotiatedSerializer) SupportedMediaTypes() []runtime.SerializerInfo { + return []runtime.SerializerInfo{ + { + MediaType: "application/json", + EncodesAsText: true, + Serializer: json.NewSerializer(json.DefaultMetaFactory, s.creator, s.typer, false), + PrettySerializer: json.NewSerializer(json.DefaultMetaFactory, s.creator, s.typer, true), + StreamSerializer: &runtime.StreamSerializerInfo{ + EncodesAsText: true, + Serializer: json.NewSerializer(json.DefaultMetaFactory, s.creator, s.typer, false), + Framer: json.Framer, + }, + }, + { + MediaType: "application/yaml", + EncodesAsText: true, + Serializer: json.NewYAMLSerializer(json.DefaultMetaFactory, s.creator, s.typer), + }, + } +} + +func (s unstructuredNegotiatedSerializer) EncoderForVersion(encoder runtime.Encoder, gv runtime.GroupVersioner) runtime.Encoder { + return versioning.NewCodec(encoder, nil, s.converter, Scheme, Scheme, Scheme, gv, nil) +} + +func (s unstructuredNegotiatedSerializer) DecoderToVersion(decoder runtime.Decoder, gv runtime.GroupVersioner) runtime.Decoder { + d := schemaCoercingDecoder{delegate: decoder, validator: unstructuredSchemaCoercer{}} + return versioning.NewDefaultingCodecForScheme(Scheme, nil, d, nil, gv) +} + +type UnstructuredObjectTyper struct { + Delegate runtime.ObjectTyper + UnstructuredTyper runtime.ObjectTyper +} + +func newUnstructuredObjectTyper(Delegate runtime.ObjectTyper) UnstructuredObjectTyper { + return UnstructuredObjectTyper{ + Delegate: Delegate, + UnstructuredTyper: discovery.NewUnstructuredObjectTyper(), + } +} + +func (t UnstructuredObjectTyper) ObjectKinds(obj runtime.Object) ([]schema.GroupVersionKind, bool, error) { + // Delegate for things other than Unstructured. + if _, ok := obj.(runtime.Unstructured); !ok { + return t.Delegate.ObjectKinds(obj) + } + return t.UnstructuredTyper.ObjectKinds(obj) +} + +func (t UnstructuredObjectTyper) Recognizes(gvk schema.GroupVersionKind) bool { + return t.Delegate.Recognizes(gvk) || t.UnstructuredTyper.Recognizes(gvk) +} + +type unstructuredCreator struct{} + +func (c unstructuredCreator) New(kind schema.GroupVersionKind) (runtime.Object, error) { + ret := &unstructured.Unstructured{} + ret.SetGroupVersionKind(kind) + return ret, nil +} + +type unstructuredDefaulter struct { + delegate runtime.ObjectDefaulter +} + +func (d unstructuredDefaulter) Default(in runtime.Object) { + // Delegate for things other than Unstructured. + if _, ok := in.(runtime.Unstructured); !ok { + d.delegate.Default(in) + } +} + +type CRDRESTOptionsGetter struct { + StorageConfig storagebackend.Config + StoragePrefix string + EnableWatchCache bool + DefaultWatchCacheSize int + EnableGarbageCollection bool + DeleteCollectionWorkers int +} + +func (t CRDRESTOptionsGetter) GetRESTOptions(resource schema.GroupResource) (generic.RESTOptions, error) { + ret := generic.RESTOptions{ + StorageConfig: &t.StorageConfig, + Decorator: generic.UndecoratedStorage, + EnableGarbageCollection: t.EnableGarbageCollection, + DeleteCollectionWorkers: t.DeleteCollectionWorkers, + ResourcePrefix: resource.Group + "/" + resource.Resource, + } + if t.EnableWatchCache { + ret.Decorator = genericregistry.StorageWithCacher(t.DefaultWatchCacheSize) + } + return ret, nil +} + +// clone returns a clone of the provided crdStorageMap. +// The clone is a shallow copy of the map. +func (in crdStorageMap) clone() crdStorageMap { + if in == nil { + return nil + } + out := make(crdStorageMap, len(in)) + for key, value := range in { + out[key] = value + } + return out +} + +// crdConversionRESTOptionsGetter overrides the codec with one using the +// provided custom converter and custom encoder and decoder version. +type crdConversionRESTOptionsGetter struct { + generic.RESTOptionsGetter + converter runtime.ObjectConvertor + encoderVersion schema.GroupVersion + decoderVersion schema.GroupVersion +} + +func (t crdConversionRESTOptionsGetter) GetRESTOptions(resource schema.GroupResource) (generic.RESTOptions, error) { + ret, err := t.RESTOptionsGetter.GetRESTOptions(resource) + if err == nil { + d := schemaCoercingDecoder{delegate: ret.StorageConfig.Codec, validator: unstructuredSchemaCoercer{ + // drop invalid fields while decoding old CRs (before we had any ObjectMeta validation) + dropInvalidMetadata: true, + }} + c := schemaCoercingConverter{delegate: t.converter, validator: unstructuredSchemaCoercer{}} + ret.StorageConfig.Codec = versioning.NewCodec(ret.StorageConfig.Codec, d, c, &unstructuredCreator{}, discovery.NewUnstructuredObjectTyper(), &unstructuredDefaulter{delegate: Scheme}, t.encoderVersion, t.decoderVersion) + } + return ret, err +} + +// schemaCoercingDecoder calls the delegate decoder, and then applies the Unstructured schema validator +// to coerce the schema. +type schemaCoercingDecoder struct { + delegate runtime.Decoder + validator unstructuredSchemaCoercer +} + +var _ runtime.Decoder = schemaCoercingDecoder{} + +func (d schemaCoercingDecoder) Decode(data []byte, defaults *schema.GroupVersionKind, into runtime.Object) (runtime.Object, *schema.GroupVersionKind, error) { + obj, gvk, err := d.delegate.Decode(data, defaults, into) + if err != nil { + return nil, gvk, err + } + if u, ok := obj.(*unstructured.Unstructured); ok { + if err := d.validator.apply(u); err != nil { + return nil, gvk, err + } + } + + return obj, gvk, nil +} + +// schemaCoercingConverter calls the delegate converter and applies the Unstructured validator to +// coerce the schema. +type schemaCoercingConverter struct { + delegate runtime.ObjectConvertor + validator unstructuredSchemaCoercer +} + +var _ runtime.ObjectConvertor = schemaCoercingConverter{} + +func (v schemaCoercingConverter) Convert(in, out, context interface{}) error { + if err := v.delegate.Convert(in, out, context); err != nil { + return err + } + + if u, ok := out.(*unstructured.Unstructured); ok { + if err := v.validator.apply(u); err != nil { + return err + } + } + + return nil +} + +func (v schemaCoercingConverter) ConvertToVersion(in runtime.Object, gv runtime.GroupVersioner) (runtime.Object, error) { + out, err := v.delegate.ConvertToVersion(in, gv) + if err != nil { + return nil, err + } + + if u, ok := out.(*unstructured.Unstructured); ok { + if err := v.validator.apply(u); err != nil { + return nil, err + } + } + + return out, nil +} + +func (v schemaCoercingConverter) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { + return v.ConvertFieldLabel(version, kind, label, value) +} + +// unstructuredSchemaCoercer does the validation for Unstructured that json.Unmarshal +// does for native types. This includes: +// - validating and pruning ObjectMeta (here with optional error instead of pruning) +// - TODO: application of an OpenAPI validator (against the whole object or a top-level field of it). +// - TODO: optionally application of post-validation algorithms like defaulting and/or OpenAPI based pruning. +type unstructuredSchemaCoercer struct { + dropInvalidMetadata bool +} + +func (v *unstructuredSchemaCoercer) apply(u *unstructured.Unstructured) error { + // save implicit meta fields that don't have to be specified in the validation spec + kind, foundKind, err := unstructured.NestedString(u.UnstructuredContent(), "kind") + if err != nil { + return err + } + apiVersion, foundApiVersion, err := unstructured.NestedString(u.UnstructuredContent(), "apiVersion") + if err != nil { + return err + } + objectMeta, foundObjectMeta, err := getObjectMeta(u, v.dropInvalidMetadata) + if err != nil { + return err + } + + // restore meta fields, starting clean + if foundKind { + u.SetKind(kind) + } + if foundApiVersion { + u.SetAPIVersion(apiVersion) + } + if foundObjectMeta { + if err := setObjectMeta(u, objectMeta); err != nil { + return err + } + } + + return nil +} + +var encodingjson = json.CaseSensitiveJsonIterator() + +func getObjectMeta(u *unstructured.Unstructured, dropMalformedFields bool) (*metav1.ObjectMeta, bool, error) { + metadata, found := u.UnstructuredContent()["metadata"] + if !found { + return nil, false, nil + } + + // round-trip through JSON first, hoping that unmarshaling just works + objectMeta := &metav1.ObjectMeta{} + metadataBytes, err := encodingjson.Marshal(metadata) + if err != nil { + return nil, false, err + } + if err = encodingjson.Unmarshal(metadataBytes, objectMeta); err == nil { + // if successful, return + return objectMeta, true, nil + } + if !dropMalformedFields { + // if we're not trying to drop malformed fields, return the error + return nil, true, err + } + + metadataMap, ok := metadata.(map[string]interface{}) + if !ok { + return nil, false, fmt.Errorf("invalid metadata: expected object, got %T", metadata) + } + + // Go field by field accumulating into the metadata object. + // This takes advantage of the fact that you can repeatedly unmarshal individual fields into a single struct, + // each iteration preserving the old key-values. + accumulatedObjectMeta := &metav1.ObjectMeta{} + testObjectMeta := &metav1.ObjectMeta{} + for k, v := range metadataMap { + // serialize a single field + if singleFieldBytes, err := encodingjson.Marshal(map[string]interface{}{k: v}); err == nil { + // do a test unmarshal + if encodingjson.Unmarshal(singleFieldBytes, testObjectMeta) == nil { + // if that succeeds, unmarshal for real + encodingjson.Unmarshal(singleFieldBytes, accumulatedObjectMeta) + } + } + } + + return accumulatedObjectMeta, true, nil +} + +func setObjectMeta(u *unstructured.Unstructured, objectMeta *metav1.ObjectMeta) error { + if objectMeta == nil { + unstructured.RemoveNestedField(u.UnstructuredContent(), "metadata") + return nil + } + + metadata, err := runtime.DefaultUnstructuredConverter.ToUnstructured(objectMeta) + if err != nil { + return err + } + + u.UnstructuredContent()["metadata"] = metadata + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/validation/validation.go b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/validation/validation.go new file mode 100644 index 000000000..558ddb1fc --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/apiserver/validation/validation.go @@ -0,0 +1,249 @@ +/* +Copyright 2017 The Kubernetes 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 validation + +import ( + "github.com/go-openapi/spec" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/validate" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" +) + +// NewSchemaValidator creates an openapi schema validator for the given CRD validation. +func NewSchemaValidator(customResourceValidation *apiextensions.CustomResourceValidation) (*validate.SchemaValidator, *spec.Schema, error) { + // Convert CRD schema to openapi schema + openapiSchema := &spec.Schema{} + if customResourceValidation != nil { + if err := ConvertJSONSchemaProps(customResourceValidation.OpenAPIV3Schema, openapiSchema); err != nil { + return nil, nil, err + } + } + return validate.NewSchemaValidator(openapiSchema, nil, "", strfmt.Default), openapiSchema, nil +} + +// ValidateCustomResource validates the Custom Resource against the schema in the CustomResourceDefinition. +// CustomResource is a JSON data structure. +func ValidateCustomResource(customResource interface{}, validator *validate.SchemaValidator) error { + if validator == nil { + return nil + } + + result := validator.Validate(customResource) + if result.AsError() != nil { + return result.AsError() + } + return nil +} + +// ConvertJSONSchemaProps converts the schema from apiextensions.JSONSchemaPropos to go-openapi/spec.Schema +func ConvertJSONSchemaProps(in *apiextensions.JSONSchemaProps, out *spec.Schema) error { + if in == nil { + return nil + } + + out.ID = in.ID + out.Schema = spec.SchemaURL(in.Schema) + out.Description = in.Description + if in.Type != "" { + out.Type = spec.StringOrArray([]string{in.Type}) + } + out.Format = in.Format + out.Title = in.Title + out.Maximum = in.Maximum + out.ExclusiveMaximum = in.ExclusiveMaximum + out.Minimum = in.Minimum + out.ExclusiveMinimum = in.ExclusiveMinimum + out.MaxLength = in.MaxLength + out.MinLength = in.MinLength + out.Pattern = in.Pattern + out.MaxItems = in.MaxItems + out.MinItems = in.MinItems + out.UniqueItems = in.UniqueItems + out.MultipleOf = in.MultipleOf + out.MaxProperties = in.MaxProperties + out.MinProperties = in.MinProperties + out.Required = in.Required + + if in.Default != nil { + out.Default = *(in.Default) + } + if in.Example != nil { + out.Example = *(in.Example) + } + + out.Enum = make([]interface{}, len(in.Enum)) + for k, v := range in.Enum { + out.Enum[k] = v + } + + if err := convertSliceOfJSONSchemaProps(&in.AllOf, &out.AllOf); err != nil { + return err + } + if err := convertSliceOfJSONSchemaProps(&in.OneOf, &out.OneOf); err != nil { + return err + } + if err := convertSliceOfJSONSchemaProps(&in.AnyOf, &out.AnyOf); err != nil { + return err + } + + if in.Not != nil { + in, out := &in.Not, &out.Not + *out = new(spec.Schema) + if err := ConvertJSONSchemaProps(*in, *out); err != nil { + return err + } + } + + var err error + out.Properties, err = convertMapOfJSONSchemaProps(in.Properties) + if err != nil { + return err + } + + out.PatternProperties, err = convertMapOfJSONSchemaProps(in.PatternProperties) + if err != nil { + return err + } + + out.Definitions, err = convertMapOfJSONSchemaProps(in.Definitions) + if err != nil { + return err + } + + if in.Ref != nil { + out.Ref, err = spec.NewRef(*in.Ref) + if err != nil { + return err + } + } + + if in.AdditionalProperties != nil { + in, out := &in.AdditionalProperties, &out.AdditionalProperties + *out = new(spec.SchemaOrBool) + if err := convertJSONSchemaPropsorBool(*in, *out); err != nil { + return err + } + } + + if in.AdditionalItems != nil { + in, out := &in.AdditionalItems, &out.AdditionalItems + *out = new(spec.SchemaOrBool) + if err := convertJSONSchemaPropsorBool(*in, *out); err != nil { + return err + } + } + + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = new(spec.SchemaOrArray) + if err := convertJSONSchemaPropsOrArray(*in, *out); err != nil { + return err + } + } + + if in.Dependencies != nil { + in, out := &in.Dependencies, &out.Dependencies + *out = make(spec.Dependencies, len(*in)) + for key, val := range *in { + newVal := new(spec.SchemaOrStringArray) + if err := convertJSONSchemaPropsOrStringArray(&val, newVal); err != nil { + return err + } + (*out)[key] = *newVal + } + } + + if in.ExternalDocs != nil { + out.ExternalDocs = &spec.ExternalDocumentation{} + out.ExternalDocs.Description = in.ExternalDocs.Description + out.ExternalDocs.URL = in.ExternalDocs.URL + } + + return nil +} + +func convertSliceOfJSONSchemaProps(in *[]apiextensions.JSONSchemaProps, out *[]spec.Schema) error { + if in != nil { + for _, jsonSchemaProps := range *in { + schema := spec.Schema{} + if err := ConvertJSONSchemaProps(&jsonSchemaProps, &schema); err != nil { + return err + } + *out = append(*out, schema) + } + } + return nil +} + +func convertMapOfJSONSchemaProps(in map[string]apiextensions.JSONSchemaProps) (map[string]spec.Schema, error) { + out := make(map[string]spec.Schema) + if len(in) != 0 { + for k, jsonSchemaProps := range in { + schema := spec.Schema{} + if err := ConvertJSONSchemaProps(&jsonSchemaProps, &schema); err != nil { + return nil, err + } + out[k] = schema + } + } + return out, nil +} + +func convertJSONSchemaPropsOrArray(in *apiextensions.JSONSchemaPropsOrArray, out *spec.SchemaOrArray) error { + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(spec.Schema) + if err := ConvertJSONSchemaProps(*in, *out); err != nil { + return err + } + } + if in.JSONSchemas != nil { + in, out := &in.JSONSchemas, &out.Schemas + *out = make([]spec.Schema, len(*in)) + for i := range *in { + if err := ConvertJSONSchemaProps(&(*in)[i], &(*out)[i]); err != nil { + return err + } + } + } + return nil +} + +func convertJSONSchemaPropsorBool(in *apiextensions.JSONSchemaPropsOrBool, out *spec.SchemaOrBool) error { + out.Allows = in.Allows + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(spec.Schema) + if err := ConvertJSONSchemaProps(*in, *out); err != nil { + return err + } + } + return nil +} + +func convertJSONSchemaPropsOrStringArray(in *apiextensions.JSONSchemaPropsOrStringArray, out *spec.SchemaOrStringArray) error { + out.Property = in.Property + if in.Schema != nil { + in, out := &in.Schema, &out.Schema + *out = new(spec.Schema) + if err := ConvertJSONSchemaProps(*in, *out); err != nil { + return err + } + } + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go new file mode 100644 index 000000000..63fcb510a --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go @@ -0,0 +1,98 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package clientset + +import ( + apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface + // Deprecated: please explicitly pick a version if possible. + Apiextensions() apiextensionsv1beta1.ApiextensionsV1beta1Interface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + apiextensionsV1beta1 *apiextensionsv1beta1.ApiextensionsV1beta1Client +} + +// ApiextensionsV1beta1 retrieves the ApiextensionsV1beta1Client +func (c *Clientset) ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface { + return c.apiextensionsV1beta1 +} + +// Deprecated: Apiextensions retrieves the default version of ApiextensionsClient. +// Please explicitly pick a version. +func (c *Clientset) Apiextensions() apiextensionsv1beta1.ApiextensionsV1beta1Interface { + return c.apiextensionsV1beta1 +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.apiextensionsV1beta1, err = apiextensionsv1beta1.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.apiextensionsV1beta1 = apiextensionsv1beta1.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.apiextensionsV1beta1 = apiextensionsv1beta1.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/doc.go new file mode 100644 index 000000000..ee865e56d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package clientset diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go new file mode 100644 index 000000000..e65fe63ea --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go @@ -0,0 +1,82 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1" + fakeapiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// ApiextensionsV1beta1 retrieves the ApiextensionsV1beta1Client +func (c *Clientset) ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface { + return &fakeapiextensionsv1beta1.FakeApiextensionsV1beta1{Fake: &c.Fake} +} + +// Apiextensions retrieves the ApiextensionsV1beta1Client +func (c *Clientset) Apiextensions() apiextensionsv1beta1.ApiextensionsV1beta1Interface { + return &fakeapiextensionsv1beta1.FakeApiextensionsV1beta1{Fake: &c.Fake} +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/doc.go new file mode 100644 index 000000000..9b99e7167 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go new file mode 100644 index 000000000..f37309186 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go @@ -0,0 +1,54 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + apiextensionsv1beta1.AddToScheme(scheme) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/doc.go new file mode 100644 index 000000000..7dc375616 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go new file mode 100644 index 000000000..bd73f1179 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go @@ -0,0 +1,54 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + apiextensionsv1beta1.AddToScheme(scheme) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/apiextensions_client.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/apiextensions_client.go new file mode 100644 index 000000000..a1fd337f9 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/apiextensions_client.go @@ -0,0 +1,90 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +import ( + v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" + rest "k8s.io/client-go/rest" +) + +type ApiextensionsV1beta1Interface interface { + RESTClient() rest.Interface + CustomResourceDefinitionsGetter +} + +// ApiextensionsV1beta1Client is used to interact with features provided by the apiextensions.k8s.io group. +type ApiextensionsV1beta1Client struct { + restClient rest.Interface +} + +func (c *ApiextensionsV1beta1Client) CustomResourceDefinitions() CustomResourceDefinitionInterface { + return newCustomResourceDefinitions(c) +} + +// NewForConfig creates a new ApiextensionsV1beta1Client for the given config. +func NewForConfig(c *rest.Config) (*ApiextensionsV1beta1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &ApiextensionsV1beta1Client{client}, nil +} + +// NewForConfigOrDie creates a new ApiextensionsV1beta1Client for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *ApiextensionsV1beta1Client { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new ApiextensionsV1beta1Client for the given RESTClient. +func New(c rest.Interface) *ApiextensionsV1beta1Client { + return &ApiextensionsV1beta1Client{c} +} + +func setConfigDefaults(config *rest.Config) error { + gv := v1beta1.SchemeGroupVersion + config.GroupVersion = &gv + config.APIPath = "/apis" + config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs} + + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *ApiextensionsV1beta1Client) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/customresourcedefinition.go new file mode 100644 index 000000000..f25a6ce34 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/customresourcedefinition.go @@ -0,0 +1,163 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +import ( + v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + scheme "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// CustomResourceDefinitionsGetter has a method to return a CustomResourceDefinitionInterface. +// A group's client should implement this interface. +type CustomResourceDefinitionsGetter interface { + CustomResourceDefinitions() CustomResourceDefinitionInterface +} + +// CustomResourceDefinitionInterface has methods to work with CustomResourceDefinition resources. +type CustomResourceDefinitionInterface interface { + Create(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) + Update(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) + UpdateStatus(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*v1beta1.CustomResourceDefinition, error) + List(opts v1.ListOptions) (*v1beta1.CustomResourceDefinitionList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CustomResourceDefinition, err error) + CustomResourceDefinitionExpansion +} + +// customResourceDefinitions implements CustomResourceDefinitionInterface +type customResourceDefinitions struct { + client rest.Interface +} + +// newCustomResourceDefinitions returns a CustomResourceDefinitions +func newCustomResourceDefinitions(c *ApiextensionsV1beta1Client) *customResourceDefinitions { + return &customResourceDefinitions{ + client: c.RESTClient(), + } +} + +// Get takes name of the customResourceDefinition, and returns the corresponding customResourceDefinition object, and an error if there is any. +func (c *customResourceDefinitions) Get(name string, options v1.GetOptions) (result *v1beta1.CustomResourceDefinition, err error) { + result = &v1beta1.CustomResourceDefinition{} + err = c.client.Get(). + Resource("customresourcedefinitions"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of CustomResourceDefinitions that match those selectors. +func (c *customResourceDefinitions) List(opts v1.ListOptions) (result *v1beta1.CustomResourceDefinitionList, err error) { + result = &v1beta1.CustomResourceDefinitionList{} + err = c.client.Get(). + Resource("customresourcedefinitions"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested customResourceDefinitions. +func (c *customResourceDefinitions) Watch(opts v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("customresourcedefinitions"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a customResourceDefinition and creates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *customResourceDefinitions) Create(customResourceDefinition *v1beta1.CustomResourceDefinition) (result *v1beta1.CustomResourceDefinition, err error) { + result = &v1beta1.CustomResourceDefinition{} + err = c.client.Post(). + Resource("customresourcedefinitions"). + Body(customResourceDefinition). + Do(). + Into(result) + return +} + +// Update takes the representation of a customResourceDefinition and updates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *customResourceDefinitions) Update(customResourceDefinition *v1beta1.CustomResourceDefinition) (result *v1beta1.CustomResourceDefinition, err error) { + result = &v1beta1.CustomResourceDefinition{} + err = c.client.Put(). + Resource("customresourcedefinitions"). + Name(customResourceDefinition.Name). + Body(customResourceDefinition). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *customResourceDefinitions) UpdateStatus(customResourceDefinition *v1beta1.CustomResourceDefinition) (result *v1beta1.CustomResourceDefinition, err error) { + result = &v1beta1.CustomResourceDefinition{} + err = c.client.Put(). + Resource("customresourcedefinitions"). + Name(customResourceDefinition.Name). + SubResource("status"). + Body(customResourceDefinition). + Do(). + Into(result) + return +} + +// Delete takes name of the customResourceDefinition and deletes it. Returns an error if one occurs. +func (c *customResourceDefinitions) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Resource("customresourcedefinitions"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *customResourceDefinitions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + return c.client.Delete(). + Resource("customresourcedefinitions"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched customResourceDefinition. +func (c *customResourceDefinitions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CustomResourceDefinition, err error) { + result = &v1beta1.CustomResourceDefinition{} + err = c.client.Patch(pt). + Resource("customresourcedefinitions"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/doc.go new file mode 100644 index 000000000..771101956 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package v1beta1 diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/doc.go new file mode 100644 index 000000000..16f443990 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_apiextensions_client.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_apiextensions_client.go new file mode 100644 index 000000000..288683ef9 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_apiextensions_client.go @@ -0,0 +1,40 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1beta1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeApiextensionsV1beta1 struct { + *testing.Fake +} + +func (c *FakeApiextensionsV1beta1) CustomResourceDefinitions() v1beta1.CustomResourceDefinitionInterface { + return &FakeCustomResourceDefinitions{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeApiextensionsV1beta1) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_customresourcedefinition.go new file mode 100644 index 000000000..11aefe869 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/fake/fake_customresourcedefinition.go @@ -0,0 +1,131 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeCustomResourceDefinitions implements CustomResourceDefinitionInterface +type FakeCustomResourceDefinitions struct { + Fake *FakeApiextensionsV1beta1 +} + +var customresourcedefinitionsResource = schema.GroupVersionResource{Group: "apiextensions.k8s.io", Version: "v1beta1", Resource: "customresourcedefinitions"} + +var customresourcedefinitionsKind = schema.GroupVersionKind{Group: "apiextensions.k8s.io", Version: "v1beta1", Kind: "CustomResourceDefinition"} + +// Get takes name of the customResourceDefinition, and returns the corresponding customResourceDefinition object, and an error if there is any. +func (c *FakeCustomResourceDefinitions) Get(name string, options v1.GetOptions) (result *v1beta1.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(customresourcedefinitionsResource, name), &v1beta1.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.CustomResourceDefinition), err +} + +// List takes label and field selectors, and returns the list of CustomResourceDefinitions that match those selectors. +func (c *FakeCustomResourceDefinitions) List(opts v1.ListOptions) (result *v1beta1.CustomResourceDefinitionList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(customresourcedefinitionsResource, customresourcedefinitionsKind, opts), &v1beta1.CustomResourceDefinitionList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1beta1.CustomResourceDefinitionList{ListMeta: obj.(*v1beta1.CustomResourceDefinitionList).ListMeta} + for _, item := range obj.(*v1beta1.CustomResourceDefinitionList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested customResourceDefinitions. +func (c *FakeCustomResourceDefinitions) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(customresourcedefinitionsResource, opts)) +} + +// Create takes the representation of a customResourceDefinition and creates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *FakeCustomResourceDefinitions) Create(customResourceDefinition *v1beta1.CustomResourceDefinition) (result *v1beta1.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(customresourcedefinitionsResource, customResourceDefinition), &v1beta1.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.CustomResourceDefinition), err +} + +// Update takes the representation of a customResourceDefinition and updates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *FakeCustomResourceDefinitions) Update(customResourceDefinition *v1beta1.CustomResourceDefinition) (result *v1beta1.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(customresourcedefinitionsResource, customResourceDefinition), &v1beta1.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.CustomResourceDefinition), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeCustomResourceDefinitions) UpdateStatus(customResourceDefinition *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(customresourcedefinitionsResource, "status", customResourceDefinition), &v1beta1.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.CustomResourceDefinition), err +} + +// Delete takes name of the customResourceDefinition and deletes it. Returns an error if one occurs. +func (c *FakeCustomResourceDefinitions) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(customresourcedefinitionsResource, name), &v1beta1.CustomResourceDefinition{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeCustomResourceDefinitions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(customresourcedefinitionsResource, listOptions) + + _, err := c.Fake.Invokes(action, &v1beta1.CustomResourceDefinitionList{}) + return err +} + +// Patch applies the patch and returns the patched customResourceDefinition. +func (c *FakeCustomResourceDefinitions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(customresourcedefinitionsResource, name, data, subresources...), &v1beta1.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*v1beta1.CustomResourceDefinition), err +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/generated_expansion.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/generated_expansion.go new file mode 100644 index 000000000..2a989d4be --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1/generated_expansion.go @@ -0,0 +1,21 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1beta1 + +type CustomResourceDefinitionExpansion interface{} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/clientset.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/clientset.go new file mode 100644 index 000000000..152a9fea0 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/clientset.go @@ -0,0 +1,90 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package internalclientset + +import ( + apiextensionsinternalversion "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion" + discovery "k8s.io/client-go/discovery" + rest "k8s.io/client-go/rest" + flowcontrol "k8s.io/client-go/util/flowcontrol" +) + +type Interface interface { + Discovery() discovery.DiscoveryInterface + Apiextensions() apiextensionsinternalversion.ApiextensionsInterface +} + +// Clientset contains the clients for groups. Each group has exactly one +// version included in a Clientset. +type Clientset struct { + *discovery.DiscoveryClient + apiextensions *apiextensionsinternalversion.ApiextensionsClient +} + +// Apiextensions retrieves the ApiextensionsClient +func (c *Clientset) Apiextensions() apiextensionsinternalversion.ApiextensionsInterface { + return c.apiextensions +} + +// Discovery retrieves the DiscoveryClient +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + if c == nil { + return nil + } + return c.DiscoveryClient +} + +// NewForConfig creates a new Clientset for the given config. +func NewForConfig(c *rest.Config) (*Clientset, error) { + configShallowCopy := *c + if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { + configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) + } + var cs Clientset + var err error + cs.apiextensions, err = apiextensionsinternalversion.NewForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + if err != nil { + return nil, err + } + return &cs, nil +} + +// NewForConfigOrDie creates a new Clientset for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *Clientset { + var cs Clientset + cs.apiextensions = apiextensionsinternalversion.NewForConfigOrDie(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) + return &cs +} + +// New creates a new Clientset for the given RESTClient. +func New(c rest.Interface) *Clientset { + var cs Clientset + cs.apiextensions = apiextensionsinternalversion.New(c) + + cs.DiscoveryClient = discovery.NewDiscoveryClient(c) + return &cs +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/doc.go new file mode 100644 index 000000000..01b3d5e0f --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated clientset. +package internalclientset diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/clientset_generated.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/clientset_generated.go new file mode 100644 index 000000000..72ab169e9 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/clientset_generated.go @@ -0,0 +1,77 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset" + apiextensionsinternalversion "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion" + fakeapiextensionsinternalversion "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/testing" +) + +// NewSimpleClientset returns a clientset that will respond with the provided objects. +// It's backed by a very simple object tracker that processes creates, updates and deletions as-is, +// without applying any validations and/or defaults. It shouldn't be considered a replacement +// for a real clientset and is mostly useful in simple unit tests. +func NewSimpleClientset(objects ...runtime.Object) *Clientset { + o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder()) + for _, obj := range objects { + if err := o.Add(obj); err != nil { + panic(err) + } + } + + cs := &Clientset{} + cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake} + cs.AddReactor("*", "*", testing.ObjectReaction(o)) + cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) { + gvr := action.GetResource() + ns := action.GetNamespace() + watch, err := o.Watch(gvr, ns) + if err != nil { + return false, nil, err + } + return true, watch, nil + }) + + return cs +} + +// Clientset implements clientset.Interface. Meant to be embedded into a +// struct to get a default implementation. This makes faking out just the method +// you want to test easier. +type Clientset struct { + testing.Fake + discovery *fakediscovery.FakeDiscovery +} + +func (c *Clientset) Discovery() discovery.DiscoveryInterface { + return c.discovery +} + +var _ clientset.Interface = &Clientset{} + +// Apiextensions retrieves the ApiextensionsClient +func (c *Clientset) Apiextensions() apiextensionsinternalversion.ApiextensionsInterface { + return &fakeapiextensionsinternalversion.FakeApiextensions{Fake: &c.Fake} +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/doc.go new file mode 100644 index 000000000..9b99e7167 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated fake clientset. +package fake diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/register.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/register.go new file mode 100644 index 000000000..89093fd9f --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/fake/register.go @@ -0,0 +1,54 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + apiextensionsinternalversion "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var scheme = runtime.NewScheme() +var codecs = serializer.NewCodecFactory(scheme) +var parameterCodec = runtime.NewParameterCodec(scheme) + +func init() { + v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(scheme) +} + +// AddToScheme adds all types of this clientset into the given scheme. This allows composition +// of clientsets, like in: +// +// import ( +// "k8s.io/client-go/kubernetes" +// clientsetscheme "k8s.io/client-go/kubernetes/scheme" +// aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme" +// ) +// +// kclientset, _ := kubernetes.NewForConfig(c) +// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) +// +// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types +// correctly. +func AddToScheme(scheme *runtime.Scheme) { + apiextensionsinternalversion.AddToScheme(scheme) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/doc.go new file mode 100644 index 000000000..7dc375616 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package contains the scheme of the automatically generated clientset. +package scheme diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/register.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/register.go new file mode 100644 index 000000000..01df98a6b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme/register.go @@ -0,0 +1,41 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package scheme + +import ( + apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/install" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + serializer "k8s.io/apimachinery/pkg/runtime/serializer" +) + +var Scheme = runtime.NewScheme() +var Codecs = serializer.NewCodecFactory(Scheme) +var ParameterCodec = runtime.NewParameterCodec(Scheme) + +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + Install(Scheme) +} + +// Install registers the API group and adds types to a scheme +func Install(scheme *runtime.Scheme) { + apiextensions.Install(scheme) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/apiextensions_client.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/apiextensions_client.go new file mode 100644 index 000000000..31b34404c --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/apiextensions_client.go @@ -0,0 +1,96 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package internalversion + +import ( + "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme" + rest "k8s.io/client-go/rest" +) + +type ApiextensionsInterface interface { + RESTClient() rest.Interface + CustomResourceDefinitionsGetter +} + +// ApiextensionsClient is used to interact with features provided by the apiextensions.k8s.io group. +type ApiextensionsClient struct { + restClient rest.Interface +} + +func (c *ApiextensionsClient) CustomResourceDefinitions() CustomResourceDefinitionInterface { + return newCustomResourceDefinitions(c) +} + +// NewForConfig creates a new ApiextensionsClient for the given config. +func NewForConfig(c *rest.Config) (*ApiextensionsClient, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientFor(&config) + if err != nil { + return nil, err + } + return &ApiextensionsClient{client}, nil +} + +// NewForConfigOrDie creates a new ApiextensionsClient for the given config and +// panics if there is an error in the config. +func NewForConfigOrDie(c *rest.Config) *ApiextensionsClient { + client, err := NewForConfig(c) + if err != nil { + panic(err) + } + return client +} + +// New creates a new ApiextensionsClient for the given RESTClient. +func New(c rest.Interface) *ApiextensionsClient { + return &ApiextensionsClient{c} +} + +func setConfigDefaults(config *rest.Config) error { + config.APIPath = "/apis" + if config.UserAgent == "" { + config.UserAgent = rest.DefaultKubernetesUserAgent() + } + if config.GroupVersion == nil || config.GroupVersion.Group != scheme.Scheme.PrioritizedVersionsForGroup("apiextensions.k8s.io")[0].Group { + gv := scheme.Scheme.PrioritizedVersionsForGroup("apiextensions.k8s.io")[0] + config.GroupVersion = &gv + } + config.NegotiatedSerializer = scheme.Codecs + + if config.QPS == 0 { + config.QPS = 5 + } + if config.Burst == 0 { + config.Burst = 10 + } + + return nil +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *ApiextensionsClient) RESTClient() rest.Interface { + if c == nil { + return nil + } + return c.restClient +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/customresourcedefinition.go new file mode 100644 index 000000000..f3ddc8044 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/customresourcedefinition.go @@ -0,0 +1,163 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package internalversion + +import ( + apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + scheme "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// CustomResourceDefinitionsGetter has a method to return a CustomResourceDefinitionInterface. +// A group's client should implement this interface. +type CustomResourceDefinitionsGetter interface { + CustomResourceDefinitions() CustomResourceDefinitionInterface +} + +// CustomResourceDefinitionInterface has methods to work with CustomResourceDefinition resources. +type CustomResourceDefinitionInterface interface { + Create(*apiextensions.CustomResourceDefinition) (*apiextensions.CustomResourceDefinition, error) + Update(*apiextensions.CustomResourceDefinition) (*apiextensions.CustomResourceDefinition, error) + UpdateStatus(*apiextensions.CustomResourceDefinition) (*apiextensions.CustomResourceDefinition, error) + Delete(name string, options *v1.DeleteOptions) error + DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error + Get(name string, options v1.GetOptions) (*apiextensions.CustomResourceDefinition, error) + List(opts v1.ListOptions) (*apiextensions.CustomResourceDefinitionList, error) + Watch(opts v1.ListOptions) (watch.Interface, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *apiextensions.CustomResourceDefinition, err error) + CustomResourceDefinitionExpansion +} + +// customResourceDefinitions implements CustomResourceDefinitionInterface +type customResourceDefinitions struct { + client rest.Interface +} + +// newCustomResourceDefinitions returns a CustomResourceDefinitions +func newCustomResourceDefinitions(c *ApiextensionsClient) *customResourceDefinitions { + return &customResourceDefinitions{ + client: c.RESTClient(), + } +} + +// Get takes name of the customResourceDefinition, and returns the corresponding customResourceDefinition object, and an error if there is any. +func (c *customResourceDefinitions) Get(name string, options v1.GetOptions) (result *apiextensions.CustomResourceDefinition, err error) { + result = &apiextensions.CustomResourceDefinition{} + err = c.client.Get(). + Resource("customresourcedefinitions"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of CustomResourceDefinitions that match those selectors. +func (c *customResourceDefinitions) List(opts v1.ListOptions) (result *apiextensions.CustomResourceDefinitionList, err error) { + result = &apiextensions.CustomResourceDefinitionList{} + err = c.client.Get(). + Resource("customresourcedefinitions"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested customResourceDefinitions. +func (c *customResourceDefinitions) Watch(opts v1.ListOptions) (watch.Interface, error) { + opts.Watch = true + return c.client.Get(). + Resource("customresourcedefinitions"). + VersionedParams(&opts, scheme.ParameterCodec). + Watch() +} + +// Create takes the representation of a customResourceDefinition and creates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *customResourceDefinitions) Create(customResourceDefinition *apiextensions.CustomResourceDefinition) (result *apiextensions.CustomResourceDefinition, err error) { + result = &apiextensions.CustomResourceDefinition{} + err = c.client.Post(). + Resource("customresourcedefinitions"). + Body(customResourceDefinition). + Do(). + Into(result) + return +} + +// Update takes the representation of a customResourceDefinition and updates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *customResourceDefinitions) Update(customResourceDefinition *apiextensions.CustomResourceDefinition) (result *apiextensions.CustomResourceDefinition, err error) { + result = &apiextensions.CustomResourceDefinition{} + err = c.client.Put(). + Resource("customresourcedefinitions"). + Name(customResourceDefinition.Name). + Body(customResourceDefinition). + Do(). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). + +func (c *customResourceDefinitions) UpdateStatus(customResourceDefinition *apiextensions.CustomResourceDefinition) (result *apiextensions.CustomResourceDefinition, err error) { + result = &apiextensions.CustomResourceDefinition{} + err = c.client.Put(). + Resource("customresourcedefinitions"). + Name(customResourceDefinition.Name). + SubResource("status"). + Body(customResourceDefinition). + Do(). + Into(result) + return +} + +// Delete takes name of the customResourceDefinition and deletes it. Returns an error if one occurs. +func (c *customResourceDefinitions) Delete(name string, options *v1.DeleteOptions) error { + return c.client.Delete(). + Resource("customresourcedefinitions"). + Name(name). + Body(options). + Do(). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *customResourceDefinitions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + return c.client.Delete(). + Resource("customresourcedefinitions"). + VersionedParams(&listOptions, scheme.ParameterCodec). + Body(options). + Do(). + Error() +} + +// Patch applies the patch and returns the patched customResourceDefinition. +func (c *customResourceDefinitions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *apiextensions.CustomResourceDefinition, err error) { + result = &apiextensions.CustomResourceDefinition{} + err = c.client.Patch(pt). + Resource("customresourcedefinitions"). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/doc.go new file mode 100644 index 000000000..86602442b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// This package has the automatically generated typed clients. +package internalversion diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/doc.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/doc.go new file mode 100644 index 000000000..16f443990 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/doc.go @@ -0,0 +1,20 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +// Package fake has the automatically generated clients. +package fake diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_apiextensions_client.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_apiextensions_client.go new file mode 100644 index 000000000..1a601e5b0 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_apiextensions_client.go @@ -0,0 +1,40 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + internalversion "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion" + rest "k8s.io/client-go/rest" + testing "k8s.io/client-go/testing" +) + +type FakeApiextensions struct { + *testing.Fake +} + +func (c *FakeApiextensions) CustomResourceDefinitions() internalversion.CustomResourceDefinitionInterface { + return &FakeCustomResourceDefinitions{c} +} + +// RESTClient returns a RESTClient that is used to communicate +// with API server by this client implementation. +func (c *FakeApiextensions) RESTClient() rest.Interface { + var ret *rest.RESTClient + return ret +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_customresourcedefinition.go new file mode 100644 index 000000000..74016362d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/fake/fake_customresourcedefinition.go @@ -0,0 +1,131 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeCustomResourceDefinitions implements CustomResourceDefinitionInterface +type FakeCustomResourceDefinitions struct { + Fake *FakeApiextensions +} + +var customresourcedefinitionsResource = schema.GroupVersionResource{Group: "apiextensions.k8s.io", Version: "", Resource: "customresourcedefinitions"} + +var customresourcedefinitionsKind = schema.GroupVersionKind{Group: "apiextensions.k8s.io", Version: "", Kind: "CustomResourceDefinition"} + +// Get takes name of the customResourceDefinition, and returns the corresponding customResourceDefinition object, and an error if there is any. +func (c *FakeCustomResourceDefinitions) Get(name string, options v1.GetOptions) (result *apiextensions.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(customresourcedefinitionsResource, name), &apiextensions.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*apiextensions.CustomResourceDefinition), err +} + +// List takes label and field selectors, and returns the list of CustomResourceDefinitions that match those selectors. +func (c *FakeCustomResourceDefinitions) List(opts v1.ListOptions) (result *apiextensions.CustomResourceDefinitionList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(customresourcedefinitionsResource, customresourcedefinitionsKind, opts), &apiextensions.CustomResourceDefinitionList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &apiextensions.CustomResourceDefinitionList{ListMeta: obj.(*apiextensions.CustomResourceDefinitionList).ListMeta} + for _, item := range obj.(*apiextensions.CustomResourceDefinitionList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested customResourceDefinitions. +func (c *FakeCustomResourceDefinitions) Watch(opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(customresourcedefinitionsResource, opts)) +} + +// Create takes the representation of a customResourceDefinition and creates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *FakeCustomResourceDefinitions) Create(customResourceDefinition *apiextensions.CustomResourceDefinition) (result *apiextensions.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootCreateAction(customresourcedefinitionsResource, customResourceDefinition), &apiextensions.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*apiextensions.CustomResourceDefinition), err +} + +// Update takes the representation of a customResourceDefinition and updates it. Returns the server's representation of the customResourceDefinition, and an error, if there is any. +func (c *FakeCustomResourceDefinitions) Update(customResourceDefinition *apiextensions.CustomResourceDefinition) (result *apiextensions.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateAction(customresourcedefinitionsResource, customResourceDefinition), &apiextensions.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*apiextensions.CustomResourceDefinition), err +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *FakeCustomResourceDefinitions) UpdateStatus(customResourceDefinition *apiextensions.CustomResourceDefinition) (*apiextensions.CustomResourceDefinition, error) { + obj, err := c.Fake. + Invokes(testing.NewRootUpdateSubresourceAction(customresourcedefinitionsResource, "status", customResourceDefinition), &apiextensions.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*apiextensions.CustomResourceDefinition), err +} + +// Delete takes name of the customResourceDefinition and deletes it. Returns an error if one occurs. +func (c *FakeCustomResourceDefinitions) Delete(name string, options *v1.DeleteOptions) error { + _, err := c.Fake. + Invokes(testing.NewRootDeleteAction(customresourcedefinitionsResource, name), &apiextensions.CustomResourceDefinition{}) + return err +} + +// DeleteCollection deletes a collection of objects. +func (c *FakeCustomResourceDefinitions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { + action := testing.NewRootDeleteCollectionAction(customresourcedefinitionsResource, listOptions) + + _, err := c.Fake.Invokes(action, &apiextensions.CustomResourceDefinitionList{}) + return err +} + +// Patch applies the patch and returns the patched customResourceDefinition. +func (c *FakeCustomResourceDefinitions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *apiextensions.CustomResourceDefinition, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootPatchSubresourceAction(customresourcedefinitionsResource, name, data, subresources...), &apiextensions.CustomResourceDefinition{}) + if obj == nil { + return nil, err + } + return obj.(*apiextensions.CustomResourceDefinition), err +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/generated_expansion.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/generated_expansion.go new file mode 100644 index 000000000..a88821021 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion/generated_expansion.go @@ -0,0 +1,21 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package internalversion + +type CustomResourceDefinitionExpansion interface{} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go new file mode 100644 index 000000000..7b48c57ca --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go @@ -0,0 +1,46 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package apiextensions + +import ( + v1beta1 "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1" + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // V1beta1 provides access to shared informers for resources in V1beta1. + V1beta1() v1beta1.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// V1beta1 returns a new v1beta1.Interface. +func (g *group) V1beta1() v1beta1.Interface { + return v1beta1.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/customresourcedefinition.go new file mode 100644 index 000000000..589b4b20c --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/customresourcedefinition.go @@ -0,0 +1,88 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1beta1 + +import ( + time "time" + + apiextensions_v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces" + v1beta1 "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// CustomResourceDefinitionInformer provides access to a shared informer and lister for +// CustomResourceDefinitions. +type CustomResourceDefinitionInformer interface { + Informer() cache.SharedIndexInformer + Lister() v1beta1.CustomResourceDefinitionLister +} + +type customResourceDefinitionInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewCustomResourceDefinitionInformer constructs a new informer for CustomResourceDefinition type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewCustomResourceDefinitionInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredCustomResourceDefinitionInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredCustomResourceDefinitionInformer constructs a new informer for CustomResourceDefinition type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredCustomResourceDefinitionInformer(client clientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ApiextensionsV1beta1().CustomResourceDefinitions().List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.ApiextensionsV1beta1().CustomResourceDefinitions().Watch(options) + }, + }, + &apiextensions_v1beta1.CustomResourceDefinition{}, + resyncPeriod, + indexers, + ) +} + +func (f *customResourceDefinitionInformer) defaultInformer(client clientset.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredCustomResourceDefinitionInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *customResourceDefinitionInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&apiextensions_v1beta1.CustomResourceDefinition{}, f.defaultInformer) +} + +func (f *customResourceDefinitionInformer) Lister() v1beta1.CustomResourceDefinitionLister { + return v1beta1.NewCustomResourceDefinitionLister(f.Informer().GetIndexer()) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/interface.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/interface.go new file mode 100644 index 000000000..f78edbb59 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1/interface.go @@ -0,0 +1,45 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package v1beta1 + +import ( + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // CustomResourceDefinitions returns a CustomResourceDefinitionInformer. + CustomResourceDefinitions() CustomResourceDefinitionInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// CustomResourceDefinitions returns a CustomResourceDefinitionInformer. +func (v *version) CustomResourceDefinitions() CustomResourceDefinitionInformer { + return &customResourceDefinitionInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/factory.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/factory.go new file mode 100644 index 000000000..94d039c72 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/factory.go @@ -0,0 +1,180 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + reflect "reflect" + sync "sync" + time "time" + + clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + apiextensions "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions" + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client clientset.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client clientset.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client clientset.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client clientset.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Apiextensions() apiextensions.Interface +} + +func (f *sharedInformerFactory) Apiextensions() apiextensions.Interface { + return apiextensions.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/generic.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/generic.go new file mode 100644 index 000000000..da8a2ab0c --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/generic.go @@ -0,0 +1,62 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package externalversions + +import ( + "fmt" + + v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=apiextensions.k8s.io, Version=v1beta1 + case v1beta1.SchemeGroupVersion.WithResource("customresourcedefinitions"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Apiextensions().V1beta1().CustomResourceDefinitions().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..3b17f5a1a --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -0,0 +1,38 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(clientset.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/interface.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/interface.go new file mode 100644 index 000000000..8236e2acc --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/interface.go @@ -0,0 +1,46 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package apiextensions + +import ( + internalversion "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion" + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces" +) + +// Interface provides access to each of this group's versions. +type Interface interface { + // InternalVersion provides access to shared informers for resources in InternalVersion. + InternalVersion() internalversion.Interface +} + +type group struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// InternalVersion returns a new internalversion.Interface. +func (g *group) InternalVersion() internalversion.Interface { + return internalversion.New(g.factory, g.namespace, g.tweakListOptions) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/customresourcedefinition.go new file mode 100644 index 000000000..2c54f3ce5 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/customresourcedefinition.go @@ -0,0 +1,88 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalversion + +import ( + time "time" + + apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + internalclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset" + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces" + internalversion "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + watch "k8s.io/apimachinery/pkg/watch" + cache "k8s.io/client-go/tools/cache" +) + +// CustomResourceDefinitionInformer provides access to a shared informer and lister for +// CustomResourceDefinitions. +type CustomResourceDefinitionInformer interface { + Informer() cache.SharedIndexInformer + Lister() internalversion.CustomResourceDefinitionLister +} + +type customResourceDefinitionInformer struct { + factory internalinterfaces.SharedInformerFactory + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// NewCustomResourceDefinitionInformer constructs a new informer for CustomResourceDefinition type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewCustomResourceDefinitionInformer(client internalclientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer { + return NewFilteredCustomResourceDefinitionInformer(client, resyncPeriod, indexers, nil) +} + +// NewFilteredCustomResourceDefinitionInformer constructs a new informer for CustomResourceDefinition type. +// Always prefer using an informer factory to get a shared informer instead of getting an independent +// one. This reduces memory footprint and number of connections to the server. +func NewFilteredCustomResourceDefinitionInformer(client internalclientset.Interface, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer { + return cache.NewSharedIndexInformer( + &cache.ListWatch{ + ListFunc: func(options v1.ListOptions) (runtime.Object, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.Apiextensions().CustomResourceDefinitions().List(options) + }, + WatchFunc: func(options v1.ListOptions) (watch.Interface, error) { + if tweakListOptions != nil { + tweakListOptions(&options) + } + return client.Apiextensions().CustomResourceDefinitions().Watch(options) + }, + }, + &apiextensions.CustomResourceDefinition{}, + resyncPeriod, + indexers, + ) +} + +func (f *customResourceDefinitionInformer) defaultInformer(client internalclientset.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer { + return NewFilteredCustomResourceDefinitionInformer(client, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions) +} + +func (f *customResourceDefinitionInformer) Informer() cache.SharedIndexInformer { + return f.factory.InformerFor(&apiextensions.CustomResourceDefinition{}, f.defaultInformer) +} + +func (f *customResourceDefinitionInformer) Lister() internalversion.CustomResourceDefinitionLister { + return internalversion.NewCustomResourceDefinitionLister(f.Informer().GetIndexer()) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/interface.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/interface.go new file mode 100644 index 000000000..d9444144b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion/interface.go @@ -0,0 +1,45 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalversion + +import ( + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces" +) + +// Interface provides access to all the informers in this group version. +type Interface interface { + // CustomResourceDefinitions returns a CustomResourceDefinitionInformer. + CustomResourceDefinitions() CustomResourceDefinitionInformer +} + +type version struct { + factory internalinterfaces.SharedInformerFactory + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc +} + +// New returns a new Interface. +func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface { + return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} +} + +// CustomResourceDefinitions returns a CustomResourceDefinitionInformer. +func (v *version) CustomResourceDefinitions() CustomResourceDefinitionInformer { + return &customResourceDefinitionInformer{factory: v.factory, tweakListOptions: v.tweakListOptions} +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/factory.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/factory.go new file mode 100644 index 000000000..84b04523d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/factory.go @@ -0,0 +1,180 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalversion + +import ( + reflect "reflect" + sync "sync" + time "time" + + internalclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset" + apiextensions "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions" + internalinterfaces "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// SharedInformerOption defines the functional option type for SharedInformerFactory. +type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory + +type sharedInformerFactory struct { + client internalclientset.Interface + namespace string + tweakListOptions internalinterfaces.TweakListOptionsFunc + lock sync.Mutex + defaultResync time.Duration + customResync map[reflect.Type]time.Duration + + informers map[reflect.Type]cache.SharedIndexInformer + // startedInformers is used for tracking which informers have been started. + // This allows Start() to be called multiple times safely. + startedInformers map[reflect.Type]bool +} + +// WithCustomResyncConfig sets a custom resync period for the specified informer types. +func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + for k, v := range resyncConfig { + factory.customResync[reflect.TypeOf(k)] = v + } + return factory + } +} + +// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory. +func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.tweakListOptions = tweakListOptions + return factory + } +} + +// WithNamespace limits the SharedInformerFactory to the specified namespace. +func WithNamespace(namespace string) SharedInformerOption { + return func(factory *sharedInformerFactory) *sharedInformerFactory { + factory.namespace = namespace + return factory + } +} + +// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces. +func NewSharedInformerFactory(client internalclientset.Interface, defaultResync time.Duration) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync) +} + +// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. +// Listers obtained via this SharedInformerFactory will be subject to the same filters +// as specified here. +// Deprecated: Please use NewSharedInformerFactoryWithOptions instead +func NewFilteredSharedInformerFactory(client internalclientset.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory { + return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions)) +} + +// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options. +func NewSharedInformerFactoryWithOptions(client internalclientset.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory { + factory := &sharedInformerFactory{ + client: client, + namespace: v1.NamespaceAll, + defaultResync: defaultResync, + informers: make(map[reflect.Type]cache.SharedIndexInformer), + startedInformers: make(map[reflect.Type]bool), + customResync: make(map[reflect.Type]time.Duration), + } + + // Apply all options + for _, opt := range options { + factory = opt(factory) + } + + return factory +} + +// Start initializes all requested informers. +func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { + f.lock.Lock() + defer f.lock.Unlock() + + for informerType, informer := range f.informers { + if !f.startedInformers[informerType] { + go informer.Run(stopCh) + f.startedInformers[informerType] = true + } + } +} + +// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { + informers := func() map[reflect.Type]cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informers := map[reflect.Type]cache.SharedIndexInformer{} + for informerType, informer := range f.informers { + if f.startedInformers[informerType] { + informers[informerType] = informer + } + } + return informers + }() + + res := map[reflect.Type]bool{} + for informType, informer := range informers { + res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced) + } + return res +} + +// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// client. +func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { + f.lock.Lock() + defer f.lock.Unlock() + + informerType := reflect.TypeOf(obj) + informer, exists := f.informers[informerType] + if exists { + return informer + } + + resyncPeriod, exists := f.customResync[informerType] + if !exists { + resyncPeriod = f.defaultResync + } + + informer = newFunc(f.client, resyncPeriod) + f.informers[informerType] = informer + + return informer +} + +// SharedInformerFactory provides shared informers for resources in all known +// API group versions. +type SharedInformerFactory interface { + internalinterfaces.SharedInformerFactory + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + + Apiextensions() apiextensions.Interface +} + +func (f *sharedInformerFactory) Apiextensions() apiextensions.Interface { + return apiextensions.New(f, f.namespace, f.tweakListOptions) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/generic.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/generic.go new file mode 100644 index 000000000..c12c44074 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/generic.go @@ -0,0 +1,62 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalversion + +import ( + "fmt" + + apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + schema "k8s.io/apimachinery/pkg/runtime/schema" + cache "k8s.io/client-go/tools/cache" +) + +// GenericInformer is type of SharedIndexInformer which will locate and delegate to other +// sharedInformers based on type +type GenericInformer interface { + Informer() cache.SharedIndexInformer + Lister() cache.GenericLister +} + +type genericInformer struct { + informer cache.SharedIndexInformer + resource schema.GroupResource +} + +// Informer returns the SharedIndexInformer. +func (f *genericInformer) Informer() cache.SharedIndexInformer { + return f.informer +} + +// Lister returns the GenericLister. +func (f *genericInformer) Lister() cache.GenericLister { + return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource) +} + +// ForResource gives generic access to a shared informer of the matching type +// TODO extend this to unknown resources with a client pool +func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) { + switch resource { + // Group=apiextensions.k8s.io, Version=internalVersion + case apiextensions.SchemeGroupVersion.WithResource("customresourcedefinitions"): + return &genericInformer{resource: resource.GroupResource(), informer: f.Apiextensions().InternalVersion().CustomResourceDefinitions().Informer()}, nil + + } + + return nil, fmt.Errorf("no informer found for %v", resource) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces/factory_interfaces.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces/factory_interfaces.go new file mode 100644 index 000000000..5854db0ca --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/internalinterfaces/factory_interfaces.go @@ -0,0 +1,38 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by informer-gen. DO NOT EDIT. + +package internalinterfaces + +import ( + time "time" + + internalclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + cache "k8s.io/client-go/tools/cache" +) + +type NewInformerFunc func(internalclientset.Interface, time.Duration) cache.SharedIndexInformer + +// SharedInformerFactory a small interface to allow for adding an informer without an import cycle +type SharedInformerFactory interface { + Start(stopCh <-chan struct{}) + InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer +} + +type TweakListOptionsFunc func(*v1.ListOptions) diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/customresourcedefinition.go new file mode 100644 index 000000000..f64f01d9d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/customresourcedefinition.go @@ -0,0 +1,65 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package internalversion + +import ( + apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// CustomResourceDefinitionLister helps list CustomResourceDefinitions. +type CustomResourceDefinitionLister interface { + // List lists all CustomResourceDefinitions in the indexer. + List(selector labels.Selector) (ret []*apiextensions.CustomResourceDefinition, err error) + // Get retrieves the CustomResourceDefinition from the index for a given name. + Get(name string) (*apiextensions.CustomResourceDefinition, error) + CustomResourceDefinitionListerExpansion +} + +// customResourceDefinitionLister implements the CustomResourceDefinitionLister interface. +type customResourceDefinitionLister struct { + indexer cache.Indexer +} + +// NewCustomResourceDefinitionLister returns a new CustomResourceDefinitionLister. +func NewCustomResourceDefinitionLister(indexer cache.Indexer) CustomResourceDefinitionLister { + return &customResourceDefinitionLister{indexer: indexer} +} + +// List lists all CustomResourceDefinitions in the indexer. +func (s *customResourceDefinitionLister) List(selector labels.Selector) (ret []*apiextensions.CustomResourceDefinition, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*apiextensions.CustomResourceDefinition)) + }) + return ret, err +} + +// Get retrieves the CustomResourceDefinition from the index for a given name. +func (s *customResourceDefinitionLister) Get(name string) (*apiextensions.CustomResourceDefinition, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(apiextensions.Resource("customresourcedefinition"), name) + } + return obj.(*apiextensions.CustomResourceDefinition), nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/expansion_generated.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/expansion_generated.go new file mode 100644 index 000000000..5e3ae381d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion/expansion_generated.go @@ -0,0 +1,23 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package internalversion + +// CustomResourceDefinitionListerExpansion allows custom methods to be added to +// CustomResourceDefinitionLister. +type CustomResourceDefinitionListerExpansion interface{} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/customresourcedefinition.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/customresourcedefinition.go new file mode 100644 index 000000000..87633217b --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/customresourcedefinition.go @@ -0,0 +1,65 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1beta1 + +import ( + v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/client-go/tools/cache" +) + +// CustomResourceDefinitionLister helps list CustomResourceDefinitions. +type CustomResourceDefinitionLister interface { + // List lists all CustomResourceDefinitions in the indexer. + List(selector labels.Selector) (ret []*v1beta1.CustomResourceDefinition, err error) + // Get retrieves the CustomResourceDefinition from the index for a given name. + Get(name string) (*v1beta1.CustomResourceDefinition, error) + CustomResourceDefinitionListerExpansion +} + +// customResourceDefinitionLister implements the CustomResourceDefinitionLister interface. +type customResourceDefinitionLister struct { + indexer cache.Indexer +} + +// NewCustomResourceDefinitionLister returns a new CustomResourceDefinitionLister. +func NewCustomResourceDefinitionLister(indexer cache.Indexer) CustomResourceDefinitionLister { + return &customResourceDefinitionLister{indexer: indexer} +} + +// List lists all CustomResourceDefinitions in the indexer. +func (s *customResourceDefinitionLister) List(selector labels.Selector) (ret []*v1beta1.CustomResourceDefinition, err error) { + err = cache.ListAll(s.indexer, selector, func(m interface{}) { + ret = append(ret, m.(*v1beta1.CustomResourceDefinition)) + }) + return ret, err +} + +// Get retrieves the CustomResourceDefinition from the index for a given name. +func (s *customResourceDefinitionLister) Get(name string) (*v1beta1.CustomResourceDefinition, error) { + obj, exists, err := s.indexer.GetByKey(name) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(v1beta1.Resource("customresourcedefinition"), name) + } + return obj.(*v1beta1.CustomResourceDefinition), nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/expansion_generated.go b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/expansion_generated.go new file mode 100644 index 000000000..429782deb --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1/expansion_generated.go @@ -0,0 +1,23 @@ +/* +Copyright The Kubernetes 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. +*/ + +// Code generated by lister-gen. DO NOT EDIT. + +package v1beta1 + +// CustomResourceDefinitionListerExpansion allows custom methods to be added to +// CustomResourceDefinitionLister. +type CustomResourceDefinitionListerExpansion interface{} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/cmd/server/start.go b/vendor/k8s.io/apiextensions-apiserver/pkg/cmd/server/start.go new file mode 100644 index 000000000..c36071d8d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/cmd/server/start.go @@ -0,0 +1,145 @@ +/* +Copyright 2017 The Kubernetes 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 server + +import ( + "fmt" + "io" + "net" + + "github.com/spf13/cobra" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + "k8s.io/apiextensions-apiserver/pkg/apiserver" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + genericregistry "k8s.io/apiserver/pkg/registry/generic" + genericapiserver "k8s.io/apiserver/pkg/server" + genericoptions "k8s.io/apiserver/pkg/server/options" +) + +const defaultEtcdPathPrefix = "/registry/apiextensions.kubernetes.io" + +type CustomResourceDefinitionsServerOptions struct { + RecommendedOptions *genericoptions.RecommendedOptions + APIEnablement *genericoptions.APIEnablementOptions + + StdOut io.Writer + StdErr io.Writer +} + +func NewCustomResourceDefinitionsServerOptions(out, errOut io.Writer) *CustomResourceDefinitionsServerOptions { + o := &CustomResourceDefinitionsServerOptions{ + RecommendedOptions: genericoptions.NewRecommendedOptions(defaultEtcdPathPrefix, apiserver.Codecs.LegacyCodec(v1beta1.SchemeGroupVersion)), + APIEnablement: genericoptions.NewAPIEnablementOptions(), + + StdOut: out, + StdErr: errOut, + } + + // the shared informer is not needed for apiextentions apiserver. Disable the kubeconfig flag and the client creation. + o.RecommendedOptions.CoreAPI = nil + + return o +} + +func NewCommandStartCustomResourceDefinitionsServer(out, errOut io.Writer, stopCh <-chan struct{}) *cobra.Command { + o := NewCustomResourceDefinitionsServerOptions(out, errOut) + + cmd := &cobra.Command{ + Short: "Launch an API extensions API server", + Long: "Launch an API extensions API server", + RunE: func(c *cobra.Command, args []string) error { + if err := o.Complete(); err != nil { + return err + } + if err := o.Validate(args); err != nil { + return err + } + if err := o.RunCustomResourceDefinitionsServer(stopCh); err != nil { + return err + } + return nil + }, + } + + flags := cmd.Flags() + o.RecommendedOptions.AddFlags(flags) + o.APIEnablement.AddFlags(flags) + return cmd +} + +func (o CustomResourceDefinitionsServerOptions) Validate(args []string) error { + errors := []error{} + errors = append(errors, o.RecommendedOptions.Validate()...) + errors = append(errors, o.APIEnablement.Validate(apiserver.Scheme)...) + return utilerrors.NewAggregate(errors) +} + +func (o *CustomResourceDefinitionsServerOptions) Complete() error { + return nil +} + +func (o CustomResourceDefinitionsServerOptions) Config() (*apiserver.Config, error) { + // TODO have a "real" external address + if err := o.RecommendedOptions.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil { + return nil, fmt.Errorf("error creating self-signed certificates: %v", err) + } + + serverConfig := genericapiserver.NewRecommendedConfig(apiserver.Codecs) + if err := o.RecommendedOptions.ApplyTo(serverConfig, apiserver.Scheme); err != nil { + return nil, err + } + if err := o.APIEnablement.ApplyTo(&serverConfig.Config, apiserver.DefaultAPIResourceConfigSource(), apiserver.Scheme); err != nil { + return nil, err + } + + config := &apiserver.Config{ + GenericConfig: serverConfig, + ExtraConfig: apiserver.ExtraConfig{ + CRDRESTOptionsGetter: NewCRDRESTOptionsGetter(*o.RecommendedOptions.Etcd), + }, + } + return config, nil +} + +func NewCRDRESTOptionsGetter(etcdOptions genericoptions.EtcdOptions) genericregistry.RESTOptionsGetter { + ret := apiserver.CRDRESTOptionsGetter{ + StorageConfig: etcdOptions.StorageConfig, + StoragePrefix: etcdOptions.StorageConfig.Prefix, + EnableWatchCache: etcdOptions.EnableWatchCache, + DefaultWatchCacheSize: etcdOptions.DefaultWatchCacheSize, + EnableGarbageCollection: etcdOptions.EnableGarbageCollection, + DeleteCollectionWorkers: etcdOptions.DeleteCollectionWorkers, + } + ret.StorageConfig.Codec = unstructured.UnstructuredJSONScheme + + return ret +} + +func (o CustomResourceDefinitionsServerOptions) RunCustomResourceDefinitionsServer(stopCh <-chan struct{}) error { + config, err := o.Config() + if err != nil { + return err + } + + server, err := config.Complete().New(genericapiserver.NewEmptyDelegate()) + if err != nil { + return err + } + return server.GenericAPIServer.PrepareRun().Run(stopCh) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/controller/establish/establishing_controller.go b/vendor/k8s.io/apiextensions-apiserver/pkg/controller/establish/establishing_controller.go new file mode 100644 index 000000000..5c2ebbcaa --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/controller/establish/establishing_controller.go @@ -0,0 +1,142 @@ +/* +Copyright 2018 The Kubernetes 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 establish + +import ( + "fmt" + "time" + + "github.com/golang/glog" + apierrors "k8s.io/apimachinery/pkg/api/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" + "k8s.io/client-go/util/workqueue" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + client "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion" + informers "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion" + listers "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion" +) + +// EstablishingController controls how and when CRD is established. +type EstablishingController struct { + crdClient client.CustomResourceDefinitionsGetter + crdLister listers.CustomResourceDefinitionLister + crdSynced cache.InformerSynced + + // To allow injection for testing. + syncFn func(key string) error + + queue workqueue.RateLimitingInterface +} + +// NewEstablishingController creates new EstablishingController. +func NewEstablishingController(crdInformer informers.CustomResourceDefinitionInformer, + crdClient client.CustomResourceDefinitionsGetter) *EstablishingController { + ec := &EstablishingController{ + crdClient: crdClient, + crdLister: crdInformer.Lister(), + crdSynced: crdInformer.Informer().HasSynced, + queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "crdEstablishing"), + } + + ec.syncFn = ec.sync + + return ec +} + +// QueueCRD adds CRD into the establishing queue. +func (ec *EstablishingController) QueueCRD(key string, timeout time.Duration) { + ec.queue.AddAfter(key, timeout) +} + +// Run starts the EstablishingController. +func (ec *EstablishingController) Run(stopCh <-chan struct{}) { + defer utilruntime.HandleCrash() + defer ec.queue.ShutDown() + + glog.Infof("Starting EstablishingController") + defer glog.Infof("Shutting down EstablishingController") + + if !cache.WaitForCacheSync(stopCh, ec.crdSynced) { + return + } + + // only start one worker thread since its a slow moving API + go wait.Until(ec.runWorker, time.Second, stopCh) + + <-stopCh +} + +func (ec *EstablishingController) runWorker() { + for ec.processNextWorkItem() { + } +} + +// processNextWorkItem deals with one key off the queue. +// It returns false when it's time to quit. +func (ec *EstablishingController) processNextWorkItem() bool { + key, quit := ec.queue.Get() + if quit { + return false + } + defer ec.queue.Done(key) + + err := ec.syncFn(key.(string)) + if err == nil { + return true + } + + utilruntime.HandleError(fmt.Errorf("%v failed with: %v", key, err)) + ec.queue.AddRateLimited(key) + + return true +} + +// sync is used to turn CRDs into the Established state. +func (ec *EstablishingController) sync(key string) error { + cachedCRD, err := ec.crdLister.Get(key) + if apierrors.IsNotFound(err) { + return nil + } + if err != nil { + return err + } + + if !apiextensions.IsCRDConditionTrue(cachedCRD, apiextensions.NamesAccepted) || + apiextensions.IsCRDConditionTrue(cachedCRD, apiextensions.Established) { + return nil + } + + crd := cachedCRD.DeepCopy() + establishedCondition := apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Established, + Status: apiextensions.ConditionTrue, + Reason: "InitialNamesAccepted", + Message: "the initial names have been accepted", + } + apiextensions.SetCRDCondition(crd, establishedCondition) + + // Update server with new CRD condition. + _, err = ec.crdClient.CustomResourceDefinitions().UpdateStatus(crd) + if err != nil { + return err + } + + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/controller/finalizer/crd_finalizer.go b/vendor/k8s.io/apiextensions-apiserver/pkg/controller/finalizer/crd_finalizer.go new file mode 100644 index 000000000..f881427ef --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/controller/finalizer/crd_finalizer.go @@ -0,0 +1,327 @@ +/* +Copyright 2017 The Kubernetes 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 finalizer + +import ( + "fmt" + "reflect" + "time" + + "github.com/golang/glog" + + apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + genericapirequest "k8s.io/apiserver/pkg/endpoints/request" + "k8s.io/apiserver/pkg/registry/rest" + "k8s.io/client-go/tools/cache" + "k8s.io/client-go/util/workqueue" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + client "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion" + informers "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion" + listers "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion" +) + +// CRDFinalizer is a controller that finalizes the CRD by deleting all the CRs associated with it. +type CRDFinalizer struct { + crdClient client.CustomResourceDefinitionsGetter + crClientGetter CRClientGetter + + crdLister listers.CustomResourceDefinitionLister + crdSynced cache.InformerSynced + + // To allow injection for testing. + syncFn func(key string) error + + queue workqueue.RateLimitingInterface +} + +// ListerCollectionDeleter combines rest.Lister and rest.CollectionDeleter. +type ListerCollectionDeleter interface { + rest.Lister + rest.CollectionDeleter +} + +// CRClientGetter knows how to get a ListerCollectionDeleter for a given CRD UID. +type CRClientGetter interface { + // GetCustomResourceListerCollectionDeleter gets the ListerCollectionDeleter for the given CRD + // UID. + GetCustomResourceListerCollectionDeleter(crd *apiextensions.CustomResourceDefinition) (ListerCollectionDeleter, error) +} + +// NewCRDFinalizer creates a new CRDFinalizer. +func NewCRDFinalizer( + crdInformer informers.CustomResourceDefinitionInformer, + crdClient client.CustomResourceDefinitionsGetter, + crClientGetter CRClientGetter, +) *CRDFinalizer { + c := &CRDFinalizer{ + crdClient: crdClient, + crdLister: crdInformer.Lister(), + crdSynced: crdInformer.Informer().HasSynced, + crClientGetter: crClientGetter, + queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "CustomResourceDefinition-CRDFinalizer"), + } + + crdInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: c.addCustomResourceDefinition, + UpdateFunc: c.updateCustomResourceDefinition, + }) + + c.syncFn = c.sync + + return c +} + +func (c *CRDFinalizer) sync(key string) error { + cachedCRD, err := c.crdLister.Get(key) + if apierrors.IsNotFound(err) { + return nil + } + if err != nil { + return err + } + + // no work to do + if cachedCRD.DeletionTimestamp.IsZero() || !apiextensions.CRDHasFinalizer(cachedCRD, apiextensions.CustomResourceCleanupFinalizer) { + return nil + } + + crd := cachedCRD.DeepCopy() + + // update the status condition. This cleanup could take a while. + apiextensions.SetCRDCondition(crd, apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionTrue, + Reason: "InstanceDeletionInProgress", + Message: "CustomResource deletion is in progress", + }) + crd, err = c.crdClient.CustomResourceDefinitions().UpdateStatus(crd) + if err != nil { + return err + } + + // Now we can start deleting items. We should use the REST API to ensure that all normal admission runs. + // Since we control the endpoints, we know that delete collection works. No need to delete if not established. + if apiextensions.IsCRDConditionTrue(crd, apiextensions.Established) { + cond, deleteErr := c.deleteInstances(crd) + apiextensions.SetCRDCondition(crd, cond) + if deleteErr != nil { + crd, err = c.crdClient.CustomResourceDefinitions().UpdateStatus(crd) + if err != nil { + utilruntime.HandleError(err) + } + return deleteErr + } + } else { + apiextensions.SetCRDCondition(crd, apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionFalse, + Reason: "NeverEstablished", + Message: "resource was never established", + }) + } + + apiextensions.CRDRemoveFinalizer(crd, apiextensions.CustomResourceCleanupFinalizer) + crd, err = c.crdClient.CustomResourceDefinitions().UpdateStatus(crd) + if err != nil { + return err + } + + // and now issue another delete, which should clean it all up if no finalizers remain or no-op if they do + return c.crdClient.CustomResourceDefinitions().Delete(crd.Name, nil) +} + +func (c *CRDFinalizer) deleteInstances(crd *apiextensions.CustomResourceDefinition) (apiextensions.CustomResourceDefinitionCondition, error) { + // Now we can start deleting items. While it would be ideal to use a REST API client, doing so + // could incorrectly delete a ThirdPartyResource with the same URL as the CustomResource, so we go + // directly to the storage instead. Since we control the storage, we know that delete collection works. + crClient, err := c.crClientGetter.GetCustomResourceListerCollectionDeleter(crd) + if err != nil { + err = fmt.Errorf("unable to find a custom resource client for %s.%s: %v", crd.Status.AcceptedNames.Plural, crd.Spec.Group, err) + return apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionTrue, + Reason: "InstanceDeletionFailed", + Message: fmt.Sprintf("could not list instances: %v", err), + }, err + } + + ctx := genericapirequest.NewContext() + allResources, err := crClient.List(ctx, nil) + if err != nil { + return apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionTrue, + Reason: "InstanceDeletionFailed", + Message: fmt.Sprintf("could not list instances: %v", err), + }, err + } + + deletedNamespaces := sets.String{} + deleteErrors := []error{} + for _, item := range allResources.(*unstructured.UnstructuredList).Items { + metadata, err := meta.Accessor(&item) + if err != nil { + utilruntime.HandleError(err) + continue + } + if deletedNamespaces.Has(metadata.GetNamespace()) { + continue + } + // don't retry deleting the same namespace + deletedNamespaces.Insert(metadata.GetNamespace()) + nsCtx := genericapirequest.WithNamespace(ctx, metadata.GetNamespace()) + if _, err := crClient.DeleteCollection(nsCtx, nil, nil); err != nil { + deleteErrors = append(deleteErrors, err) + continue + } + } + if deleteError := utilerrors.NewAggregate(deleteErrors); deleteError != nil { + return apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionTrue, + Reason: "InstanceDeletionFailed", + Message: fmt.Sprintf("could not issue all deletes: %v", deleteError), + }, deleteError + } + + // now we need to wait until all the resources are deleted. Start with a simple poll before we do anything fancy. + // TODO not all servers are synchronized on caches. It is possible for a stale one to still be creating things. + // Once we have a mechanism for servers to indicate their states, we should check that for concurrence. + err = wait.PollImmediate(5*time.Second, 1*time.Minute, func() (bool, error) { + listObj, err := crClient.List(ctx, nil) + if err != nil { + return false, err + } + if len(listObj.(*unstructured.UnstructuredList).Items) == 0 { + return true, nil + } + glog.V(2).Infof("%s.%s waiting for %d items to be removed", crd.Status.AcceptedNames.Plural, crd.Spec.Group, len(listObj.(*unstructured.UnstructuredList).Items)) + return false, nil + }) + if err != nil { + return apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionTrue, + Reason: "InstanceDeletionCheck", + Message: fmt.Sprintf("could not confirm zero CustomResources remaining: %v", err), + }, err + } + return apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionFalse, + Reason: "InstanceDeletionCompleted", + Message: "removed all instances", + }, nil +} + +func (c *CRDFinalizer) Run(workers int, stopCh <-chan struct{}) { + defer utilruntime.HandleCrash() + defer c.queue.ShutDown() + + glog.Infof("Starting CRDFinalizer") + defer glog.Infof("Shutting down CRDFinalizer") + + if !cache.WaitForCacheSync(stopCh, c.crdSynced) { + return + } + + for i := 0; i < workers; i++ { + go wait.Until(c.runWorker, time.Second, stopCh) + } + + <-stopCh +} + +func (c *CRDFinalizer) runWorker() { + for c.processNextWorkItem() { + } +} + +// processNextWorkItem deals with one key off the queue. It returns false when it's time to quit. +func (c *CRDFinalizer) processNextWorkItem() bool { + key, quit := c.queue.Get() + if quit { + return false + } + defer c.queue.Done(key) + + err := c.syncFn(key.(string)) + if err == nil { + c.queue.Forget(key) + return true + } + + utilruntime.HandleError(fmt.Errorf("%v failed with: %v", key, err)) + c.queue.AddRateLimited(key) + + return true +} + +func (c *CRDFinalizer) enqueue(obj *apiextensions.CustomResourceDefinition) { + key, err := cache.DeletionHandlingMetaNamespaceKeyFunc(obj) + if err != nil { + utilruntime.HandleError(fmt.Errorf("Couldn't get key for object %#v: %v", obj, err)) + return + } + + c.queue.Add(key) +} + +func (c *CRDFinalizer) addCustomResourceDefinition(obj interface{}) { + castObj := obj.(*apiextensions.CustomResourceDefinition) + // only queue deleted things + if !castObj.DeletionTimestamp.IsZero() && apiextensions.CRDHasFinalizer(castObj, apiextensions.CustomResourceCleanupFinalizer) { + c.enqueue(castObj) + } +} + +func (c *CRDFinalizer) updateCustomResourceDefinition(oldObj, newObj interface{}) { + oldCRD := oldObj.(*apiextensions.CustomResourceDefinition) + newCRD := newObj.(*apiextensions.CustomResourceDefinition) + // only queue deleted things that haven't been finalized by us + if newCRD.DeletionTimestamp.IsZero() || !apiextensions.CRDHasFinalizer(newCRD, apiextensions.CustomResourceCleanupFinalizer) { + return + } + + // always requeue resyncs just in case + if oldCRD.ResourceVersion == newCRD.ResourceVersion { + c.enqueue(newCRD) + return + } + + // If the only difference is in the terminating condition, then there's no reason to requeue here. This controller + // is likely to be the originator, so requeuing would hot-loop us. Failures are requeued by the workqueue directly. + // This is a low traffic and scale resource, so the copy is terrible. It's not good, so better ideas + // are welcome. + oldCopy := oldCRD.DeepCopy() + newCopy := newCRD.DeepCopy() + oldCopy.ResourceVersion = "" + newCopy.ResourceVersion = "" + apiextensions.RemoveCRDCondition(oldCopy, apiextensions.Terminating) + apiextensions.RemoveCRDCondition(newCopy, apiextensions.Terminating) + + if !reflect.DeepEqual(oldCopy, newCopy) { + c.enqueue(newCRD) + } +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/controller/status/naming_controller.go b/vendor/k8s.io/apiextensions-apiserver/pkg/controller/status/naming_controller.go new file mode 100644 index 000000000..f00def4b1 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/controller/status/naming_controller.go @@ -0,0 +1,374 @@ +/* +Copyright 2017 The Kubernetes 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 status + +import ( + "fmt" + "reflect" + "strings" + "time" + + "github.com/golang/glog" + + "k8s.io/apimachinery/pkg/api/equality" + apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/labels" + utilerrors "k8s.io/apimachinery/pkg/util/errors" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/apimachinery/pkg/util/sets" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" + "k8s.io/client-go/util/workqueue" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + client "k8s.io/apiextensions-apiserver/pkg/client/clientset/internalclientset/typed/apiextensions/internalversion" + informers "k8s.io/apiextensions-apiserver/pkg/client/informers/internalversion/apiextensions/internalversion" + listers "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/internalversion" +) + +// This controller is reserving names. To avoid conflicts, be sure to run only one instance of the worker at a time. +// This could eventually be lifted, but starting simple. +type NamingConditionController struct { + crdClient client.CustomResourceDefinitionsGetter + + crdLister listers.CustomResourceDefinitionLister + crdSynced cache.InformerSynced + // crdMutationCache backs our lister and keeps track of committed updates to avoid racy + // write/lookup cycles. It's got 100 slots by default, so it unlikely to overrun + // TODO to revisit this if naming conflicts are found to occur in the wild + crdMutationCache cache.MutationCache + + // To allow injection for testing. + syncFn func(key string) error + + queue workqueue.RateLimitingInterface +} + +func NewNamingConditionController( + crdInformer informers.CustomResourceDefinitionInformer, + crdClient client.CustomResourceDefinitionsGetter, +) *NamingConditionController { + c := &NamingConditionController{ + crdClient: crdClient, + crdLister: crdInformer.Lister(), + crdSynced: crdInformer.Informer().HasSynced, + queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "CustomResourceDefinition-NamingConditionController"), + } + + informerIndexer := crdInformer.Informer().GetIndexer() + c.crdMutationCache = cache.NewIntegerResourceVersionMutationCache(informerIndexer, informerIndexer, 60*time.Second, false) + + crdInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: c.addCustomResourceDefinition, + UpdateFunc: c.updateCustomResourceDefinition, + DeleteFunc: c.deleteCustomResourceDefinition, + }) + + c.syncFn = c.sync + + return c +} + +func (c *NamingConditionController) getAcceptedNamesForGroup(group string) (allResources sets.String, allKinds sets.String) { + allResources = sets.String{} + allKinds = sets.String{} + + list, err := c.crdLister.List(labels.Everything()) + if err != nil { + panic(err) + } + + for _, curr := range list { + if curr.Spec.Group != group { + continue + } + + // for each item here, see if we have a mutation cache entry that is more recent + // this makes sure that if we tight loop on update and run, our mutation cache will show + // us the version of the objects we just updated to. + item := curr + obj, exists, err := c.crdMutationCache.GetByKey(curr.Name) + if exists && err == nil { + item = obj.(*apiextensions.CustomResourceDefinition) + } + + allResources.Insert(item.Status.AcceptedNames.Plural) + allResources.Insert(item.Status.AcceptedNames.Singular) + allResources.Insert(item.Status.AcceptedNames.ShortNames...) + + allKinds.Insert(item.Status.AcceptedNames.Kind) + allKinds.Insert(item.Status.AcceptedNames.ListKind) + } + + return allResources, allKinds +} + +func (c *NamingConditionController) calculateNamesAndConditions(in *apiextensions.CustomResourceDefinition) (apiextensions.CustomResourceDefinitionNames, apiextensions.CustomResourceDefinitionCondition, apiextensions.CustomResourceDefinitionCondition) { + // Get the names that have already been claimed + allResources, allKinds := c.getAcceptedNamesForGroup(in.Spec.Group) + + namesAcceptedCondition := apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.NamesAccepted, + Status: apiextensions.ConditionUnknown, + } + + requestedNames := in.Spec.Names + acceptedNames := in.Status.AcceptedNames + newNames := in.Status.AcceptedNames + + // Check each name for mismatches. If there's a mismatch between spec and status, then try to deconflict. + // Continue on errors so that the status is the best match possible + if err := equalToAcceptedOrFresh(requestedNames.Plural, acceptedNames.Plural, allResources); err != nil { + namesAcceptedCondition.Status = apiextensions.ConditionFalse + namesAcceptedCondition.Reason = "PluralConflict" + namesAcceptedCondition.Message = err.Error() + } else { + newNames.Plural = requestedNames.Plural + } + if err := equalToAcceptedOrFresh(requestedNames.Singular, acceptedNames.Singular, allResources); err != nil { + namesAcceptedCondition.Status = apiextensions.ConditionFalse + namesAcceptedCondition.Reason = "SingularConflict" + namesAcceptedCondition.Message = err.Error() + } else { + newNames.Singular = requestedNames.Singular + } + if !reflect.DeepEqual(requestedNames.ShortNames, acceptedNames.ShortNames) { + errs := []error{} + existingShortNames := sets.NewString(acceptedNames.ShortNames...) + for _, shortName := range requestedNames.ShortNames { + // if the shortname is already ours, then we're fine + if existingShortNames.Has(shortName) { + continue + } + if err := equalToAcceptedOrFresh(shortName, "", allResources); err != nil { + errs = append(errs, err) + } + + } + if err := utilerrors.NewAggregate(errs); err != nil { + namesAcceptedCondition.Status = apiextensions.ConditionFalse + namesAcceptedCondition.Reason = "ShortNamesConflict" + namesAcceptedCondition.Message = err.Error() + } else { + newNames.ShortNames = requestedNames.ShortNames + } + } + + if err := equalToAcceptedOrFresh(requestedNames.Kind, acceptedNames.Kind, allKinds); err != nil { + namesAcceptedCondition.Status = apiextensions.ConditionFalse + namesAcceptedCondition.Reason = "KindConflict" + namesAcceptedCondition.Message = err.Error() + } else { + newNames.Kind = requestedNames.Kind + } + if err := equalToAcceptedOrFresh(requestedNames.ListKind, acceptedNames.ListKind, allKinds); err != nil { + namesAcceptedCondition.Status = apiextensions.ConditionFalse + namesAcceptedCondition.Reason = "ListKindConflict" + namesAcceptedCondition.Message = err.Error() + } else { + newNames.ListKind = requestedNames.ListKind + } + + newNames.Categories = requestedNames.Categories + + // if we haven't changed the condition, then our names must be good. + if namesAcceptedCondition.Status == apiextensions.ConditionUnknown { + namesAcceptedCondition.Status = apiextensions.ConditionTrue + namesAcceptedCondition.Reason = "NoConflicts" + namesAcceptedCondition.Message = "no conflicts found" + } + + // set EstablishedCondition initially to false, then set it to true in establishing controller. + // The Establishing Controller will see the NamesAccepted condition when it arrives through the shared informer. + // At that time the API endpoint handler will serve the endpoint, avoiding a race + // which we had if we set Established to true here. + establishedCondition := apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Established, + Status: apiextensions.ConditionFalse, + Reason: "NotAccepted", + Message: "not all names are accepted", + } + if old := apiextensions.FindCRDCondition(in, apiextensions.Established); old != nil { + establishedCondition = *old + } + if establishedCondition.Status != apiextensions.ConditionTrue && namesAcceptedCondition.Status == apiextensions.ConditionTrue { + establishedCondition = apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Established, + Status: apiextensions.ConditionFalse, + Reason: "Installing", + Message: "the initial names have been accepted", + } + } + + return newNames, namesAcceptedCondition, establishedCondition +} + +func equalToAcceptedOrFresh(requestedName, acceptedName string, usedNames sets.String) error { + if requestedName == acceptedName { + return nil + } + if !usedNames.Has(requestedName) { + return nil + } + + return fmt.Errorf("%q is already in use", requestedName) +} + +func (c *NamingConditionController) sync(key string) error { + inCustomResourceDefinition, err := c.crdLister.Get(key) + if apierrors.IsNotFound(err) { + // CRD was deleted and has freed its names. + // Reconsider all other CRDs in the same group. + if err := c.requeueAllOtherGroupCRDs(key); err != nil { + return err + } + return nil + } + if err != nil { + return err + } + + // Skip checking names if Spec and Status names are same. + if equality.Semantic.DeepEqual(inCustomResourceDefinition.Spec.Names, inCustomResourceDefinition.Status.AcceptedNames) { + return nil + } + + acceptedNames, namingCondition, establishedCondition := c.calculateNamesAndConditions(inCustomResourceDefinition) + + // nothing to do if accepted names and NamesAccepted condition didn't change + if reflect.DeepEqual(inCustomResourceDefinition.Status.AcceptedNames, acceptedNames) && + apiextensions.IsCRDConditionEquivalent(&namingCondition, apiextensions.FindCRDCondition(inCustomResourceDefinition, apiextensions.NamesAccepted)) { + return nil + } + + crd := inCustomResourceDefinition.DeepCopy() + crd.Status.AcceptedNames = acceptedNames + apiextensions.SetCRDCondition(crd, namingCondition) + apiextensions.SetCRDCondition(crd, establishedCondition) + + updatedObj, err := c.crdClient.CustomResourceDefinitions().UpdateStatus(crd) + if err != nil { + return err + } + + // if the update was successful, go ahead and add the entry to the mutation cache + c.crdMutationCache.Mutation(updatedObj) + + // we updated our status, so we may be releasing a name. When this happens, we need to rekick everything in our group + // if we fail to rekick, just return as normal. We'll get everything on a resync + if err := c.requeueAllOtherGroupCRDs(key); err != nil { + return err + } + + return nil +} + +func (c *NamingConditionController) Run(stopCh <-chan struct{}) { + defer utilruntime.HandleCrash() + defer c.queue.ShutDown() + + glog.Infof("Starting NamingConditionController") + defer glog.Infof("Shutting down NamingConditionController") + + if !cache.WaitForCacheSync(stopCh, c.crdSynced) { + return + } + + // only start one worker thread since its a slow moving API and the naming conflict resolution bits aren't thread-safe + go wait.Until(c.runWorker, time.Second, stopCh) + + <-stopCh +} + +func (c *NamingConditionController) runWorker() { + for c.processNextWorkItem() { + } +} + +// processNextWorkItem deals with one key off the queue. It returns false when it's time to quit. +func (c *NamingConditionController) processNextWorkItem() bool { + key, quit := c.queue.Get() + if quit { + return false + } + defer c.queue.Done(key) + + err := c.syncFn(key.(string)) + if err == nil { + c.queue.Forget(key) + return true + } + + utilruntime.HandleError(fmt.Errorf("%v failed with: %v", key, err)) + c.queue.AddRateLimited(key) + + return true +} + +func (c *NamingConditionController) enqueue(obj *apiextensions.CustomResourceDefinition) { + key, err := cache.DeletionHandlingMetaNamespaceKeyFunc(obj) + if err != nil { + utilruntime.HandleError(fmt.Errorf("Couldn't get key for object %#v: %v", obj, err)) + return + } + + c.queue.Add(key) +} + +func (c *NamingConditionController) addCustomResourceDefinition(obj interface{}) { + castObj := obj.(*apiextensions.CustomResourceDefinition) + glog.V(4).Infof("Adding %s", castObj.Name) + c.enqueue(castObj) +} + +func (c *NamingConditionController) updateCustomResourceDefinition(obj, _ interface{}) { + castObj := obj.(*apiextensions.CustomResourceDefinition) + glog.V(4).Infof("Updating %s", castObj.Name) + c.enqueue(castObj) +} + +func (c *NamingConditionController) deleteCustomResourceDefinition(obj interface{}) { + castObj, ok := obj.(*apiextensions.CustomResourceDefinition) + if !ok { + tombstone, ok := obj.(cache.DeletedFinalStateUnknown) + if !ok { + glog.Errorf("Couldn't get object from tombstone %#v", obj) + return + } + castObj, ok = tombstone.Obj.(*apiextensions.CustomResourceDefinition) + if !ok { + glog.Errorf("Tombstone contained object that is not expected %#v", obj) + return + } + } + glog.V(4).Infof("Deleting %q", castObj.Name) + c.enqueue(castObj) +} + +func (c *NamingConditionController) requeueAllOtherGroupCRDs(name string) error { + pluralGroup := strings.SplitN(name, ".", 2) + list, err := c.crdLister.List(labels.Everything()) + if err != nil { + return err + } + for _, curr := range list { + if curr.Spec.Group == pluralGroup[1] && curr.Name != name { + c.queue.Add(curr.Name) + } + } + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/features/OWNERS b/vendor/k8s.io/apiextensions-apiserver/pkg/features/OWNERS new file mode 100644 index 000000000..fe7b0144e --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/features/OWNERS @@ -0,0 +1,2 @@ +approvers: +- feature-approvers diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go b/vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go new file mode 100644 index 000000000..24e72f91e --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/features/kube_features.go @@ -0,0 +1,55 @@ +/* +Copyright 2017 The Kubernetes 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 features + +import ( + utilfeature "k8s.io/apiserver/pkg/util/feature" +) + +const ( + // Every feature gate should add method here following this template: + // + // // owner: @username + // // alpha: v1.4 + // MyFeature() bool + + // owner: @sttts, @nikhita + // alpha: v1.8 + // beta: v1.9 + // + // CustomResourceValidation is a list of validation methods for CustomResources + CustomResourceValidation utilfeature.Feature = "CustomResourceValidation" + + // owner: @sttts, @nikhita + // alpha: v1.10 + // beta: v1.11 + // + // CustomResourceSubresources defines the subresources for CustomResources + CustomResourceSubresources utilfeature.Feature = "CustomResourceSubresources" +) + +func init() { + utilfeature.DefaultFeatureGate.Add(defaultKubernetesFeatureGates) +} + +// defaultKubernetesFeatureGates consists of all known Kubernetes-specific feature keys. +// To add a new feature, define a key for it above and add it here. The features will be +// available throughout Kubernetes binaries. +var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureSpec{ + CustomResourceValidation: {Default: true, PreRelease: utilfeature.Beta}, + CustomResourceSubresources: {Default: true, PreRelease: utilfeature.Beta}, +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go new file mode 100644 index 000000000..d9e8fd97c --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/etcd.go @@ -0,0 +1,321 @@ +/* +Copyright 2017 The Kubernetes 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 customresource + +import ( + "context" + "fmt" + "strings" + + autoscalingv1 "k8s.io/api/autoscaling/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apiserver/pkg/registry/generic" + genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" + "k8s.io/apiserver/pkg/registry/rest" +) + +// CustomResourceStorage includes dummy storage for CustomResources, and their Status and Scale subresources. +type CustomResourceStorage struct { + CustomResource *REST + Status *StatusREST + Scale *ScaleREST +} + +func NewStorage(resource schema.GroupResource, listKind schema.GroupVersionKind, strategy customResourceStrategy, optsGetter generic.RESTOptionsGetter, categories []string, tableConvertor rest.TableConvertor) CustomResourceStorage { + customResourceREST, customResourceStatusREST := newREST(resource, listKind, strategy, optsGetter, categories, tableConvertor) + customResourceRegistry := NewRegistry(customResourceREST) + + s := CustomResourceStorage{ + CustomResource: customResourceREST, + } + + if strategy.status != nil { + s.Status = customResourceStatusREST + } + + if scale := strategy.scale; scale != nil { + var labelSelectorPath string + if scale.LabelSelectorPath != nil { + labelSelectorPath = *scale.LabelSelectorPath + } + + s.Scale = &ScaleREST{ + registry: customResourceRegistry, + specReplicasPath: scale.SpecReplicasPath, + statusReplicasPath: scale.StatusReplicasPath, + labelSelectorPath: labelSelectorPath, + } + } + + return s +} + +// REST implements a RESTStorage for API services against etcd +type REST struct { + *genericregistry.Store + categories []string +} + +// newREST returns a RESTStorage object that will work against API services. +func newREST(resource schema.GroupResource, listKind schema.GroupVersionKind, strategy customResourceStrategy, optsGetter generic.RESTOptionsGetter, categories []string, tableConvertor rest.TableConvertor) (*REST, *StatusREST) { + store := &genericregistry.Store{ + NewFunc: func() runtime.Object { return &unstructured.Unstructured{} }, + NewListFunc: func() runtime.Object { + // lists are never stored, only manufactured, so stomp in the right kind + ret := &unstructured.UnstructuredList{} + ret.SetGroupVersionKind(listKind) + return ret + }, + PredicateFunc: strategy.MatchCustomResourceDefinitionStorage, + DefaultQualifiedResource: resource, + + CreateStrategy: strategy, + UpdateStrategy: strategy, + DeleteStrategy: strategy, + + TableConvertor: tableConvertor, + } + options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: strategy.GetAttrs} + if err := store.CompleteWithOptions(options); err != nil { + panic(err) // TODO: Propagate error up + } + + statusStore := *store + statusStore.UpdateStrategy = NewStatusStrategy(strategy) + return &REST{store, categories}, &StatusREST{store: &statusStore} +} + +// Implement CategoriesProvider +var _ rest.CategoriesProvider = &REST{} + +// List returns a list of items matching labels and field according to the store's PredicateFunc. +func (e *REST) List(ctx context.Context, options *metainternalversion.ListOptions) (runtime.Object, error) { + l, err := e.Store.List(ctx, options) + if err != nil { + return nil, err + } + + // Shallow copy ObjectMeta in returned list for each item. Native types have `Items []Item` fields and therefore + // implicitly shallow copy ObjectMeta. The generic store sets the self-link for each item. So this is necessary + // to avoid mutation of the objects from the cache. + if ul, ok := l.(*unstructured.UnstructuredList); ok { + for i := range ul.Items { + shallowCopyObjectMeta(&ul.Items[i]) + } + } + + return l, nil +} + +func (r *REST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { + o, err := r.Store.Get(ctx, name, options) + if err != nil { + return nil, err + } + if u, ok := o.(*unstructured.Unstructured); ok { + shallowCopyObjectMeta(u) + } + return o, nil +} + +func shallowCopyObjectMeta(u runtime.Unstructured) { + obj := shallowMapDeepCopy(u.UnstructuredContent()) + if metadata, ok := obj["metadata"]; ok { + if metadata, ok := metadata.(map[string]interface{}); ok { + obj["metadata"] = shallowMapDeepCopy(metadata) + u.SetUnstructuredContent(obj) + } + } +} + +func shallowMapDeepCopy(in map[string]interface{}) map[string]interface{} { + if in == nil { + return nil + } + + out := make(map[string]interface{}, len(in)) + for k, v := range in { + out[k] = v + } + + return out +} + +// Categories implements the CategoriesProvider interface. Returns a list of categories a resource is part of. +func (r *REST) Categories() []string { + return r.categories +} + +// StatusREST implements the REST endpoint for changing the status of a CustomResource +type StatusREST struct { + store *genericregistry.Store +} + +var _ = rest.Patcher(&StatusREST{}) + +func (r *StatusREST) New() runtime.Object { + return &unstructured.Unstructured{} +} + +// Get retrieves the object from the storage. It is required to support Patch. +func (r *StatusREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { + return r.store.Get(ctx, name, options) +} + +// Update alters the status subset of an object. +func (r *StatusREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (runtime.Object, bool, error) { + return r.store.Update(ctx, name, objInfo, createValidation, updateValidation) +} + +type ScaleREST struct { + registry Registry + specReplicasPath string + statusReplicasPath string + labelSelectorPath string +} + +// ScaleREST implements Patcher +var _ = rest.Patcher(&ScaleREST{}) +var _ = rest.GroupVersionKindProvider(&ScaleREST{}) + +func (r *ScaleREST) GroupVersionKind(containingGV schema.GroupVersion) schema.GroupVersionKind { + return autoscalingv1.SchemeGroupVersion.WithKind("Scale") +} + +// New creates a new Scale object +func (r *ScaleREST) New() runtime.Object { + return &autoscalingv1.Scale{} +} + +func (r *ScaleREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { + cr, err := r.registry.GetCustomResource(ctx, name, options) + if err != nil { + return nil, err + } + + scaleObject, replicasFound, err := scaleFromCustomResource(cr, r.specReplicasPath, r.statusReplicasPath, r.labelSelectorPath) + if err != nil { + return nil, err + } + if !replicasFound { + return nil, apierrors.NewInternalError(fmt.Errorf("the spec replicas field %q does not exist", r.specReplicasPath)) + } + return scaleObject, err +} + +func (r *ScaleREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (runtime.Object, bool, error) { + cr, err := r.registry.GetCustomResource(ctx, name, &metav1.GetOptions{}) + if err != nil { + return nil, false, err + } + + const invalidSpecReplicas = -2147483648 // smallest int32 + oldScale, replicasFound, err := scaleFromCustomResource(cr, r.specReplicasPath, r.statusReplicasPath, r.labelSelectorPath) + if err != nil { + return nil, false, err + } + if !replicasFound { + oldScale.Spec.Replicas = invalidSpecReplicas // signal that this was not set before + } + + obj, err := objInfo.UpdatedObject(ctx, oldScale) + if err != nil { + return nil, false, err + } + if obj == nil { + return nil, false, apierrors.NewBadRequest(fmt.Sprintf("nil update passed to Scale")) + } + + scale, ok := obj.(*autoscalingv1.Scale) + if !ok { + return nil, false, apierrors.NewBadRequest(fmt.Sprintf("wrong object passed to Scale update: %v", obj)) + } + + if scale.Spec.Replicas == invalidSpecReplicas { + return nil, false, apierrors.NewBadRequest(fmt.Sprintf("the spec replicas field %q cannot be empty", r.specReplicasPath)) + } + + specReplicasPath := strings.TrimPrefix(r.specReplicasPath, ".") // ignore leading period + if err = unstructured.SetNestedField(cr.Object, int64(scale.Spec.Replicas), strings.Split(specReplicasPath, ".")...); err != nil { + return nil, false, err + } + cr.SetResourceVersion(scale.ResourceVersion) + + cr, err = r.registry.UpdateCustomResource(ctx, cr, createValidation, updateValidation) + if err != nil { + return nil, false, err + } + + newScale, _, err := scaleFromCustomResource(cr, r.specReplicasPath, r.statusReplicasPath, r.labelSelectorPath) + if err != nil { + return nil, false, apierrors.NewBadRequest(err.Error()) + } + return newScale, false, err +} + +// scaleFromCustomResource returns a scale subresource for a customresource and a bool signalling wether +// the specReplicas value was found. +func scaleFromCustomResource(cr *unstructured.Unstructured, specReplicasPath, statusReplicasPath, labelSelectorPath string) (*autoscalingv1.Scale, bool, error) { + specReplicasPath = strings.TrimPrefix(specReplicasPath, ".") // ignore leading period + specReplicas, foundSpecReplicas, err := unstructured.NestedInt64(cr.UnstructuredContent(), strings.Split(specReplicasPath, ".")...) + if err != nil { + return nil, false, err + } else if !foundSpecReplicas { + specReplicas = 0 + } + + statusReplicasPath = strings.TrimPrefix(statusReplicasPath, ".") // ignore leading period + statusReplicas, found, err := unstructured.NestedInt64(cr.UnstructuredContent(), strings.Split(statusReplicasPath, ".")...) + if err != nil { + return nil, false, err + } else if !found { + statusReplicas = 0 + } + + var labelSelector string + if len(labelSelectorPath) > 0 { + labelSelectorPath = strings.TrimPrefix(labelSelectorPath, ".") // ignore leading period + labelSelector, found, err = unstructured.NestedString(cr.UnstructuredContent(), strings.Split(labelSelectorPath, ".")...) + if err != nil { + return nil, false, err + } + } + + scale := &autoscalingv1.Scale{ + ObjectMeta: metav1.ObjectMeta{ + Name: cr.GetName(), + Namespace: cr.GetNamespace(), + UID: cr.GetUID(), + ResourceVersion: cr.GetResourceVersion(), + CreationTimestamp: cr.GetCreationTimestamp(), + }, + Spec: autoscalingv1.ScaleSpec{ + Replicas: int32(specReplicas), + }, + Status: autoscalingv1.ScaleStatus{ + Replicas: int32(statusReplicas), + Selector: labelSelector, + }, + } + + return scale, foundSpecReplicas, nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go new file mode 100644 index 000000000..e3d468036 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/registry.go @@ -0,0 +1,104 @@ +/* +Copyright 2018 The Kubernetes 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 customresource + +import ( + "context" + "fmt" + "strings" + + "k8s.io/apimachinery/pkg/api/errors" + metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/apiserver/pkg/registry/rest" +) + +// Registry is an interface for things that know how to store CustomResources. +type Registry interface { + ListCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (*unstructured.UnstructuredList, error) + WatchCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) + GetCustomResource(ctx context.Context, customResourceID string, options *metav1.GetOptions) (*unstructured.Unstructured, error) + CreateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc) (*unstructured.Unstructured, error) + UpdateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (*unstructured.Unstructured, error) + DeleteCustomResource(ctx context.Context, customResourceID string) error +} + +// storage puts strong typing around storage calls +type storage struct { + rest.StandardStorage +} + +// NewRegistry returns a new Registry interface for the given Storage. Any mismatched +// types will panic. +func NewRegistry(s rest.StandardStorage) Registry { + return &storage{s} +} + +func (s *storage) ListCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (*unstructured.UnstructuredList, error) { + if options != nil && options.FieldSelector != nil && !options.FieldSelector.Empty() { + return nil, fmt.Errorf("field selector not supported yet") + } + obj, err := s.List(ctx, options) + if err != nil { + return nil, err + } + return obj.(*unstructured.UnstructuredList), err +} + +func (s *storage) WatchCustomResources(ctx context.Context, options *metainternalversion.ListOptions) (watch.Interface, error) { + return s.Watch(ctx, options) +} + +func (s *storage) GetCustomResource(ctx context.Context, customResourceID string, options *metav1.GetOptions) (*unstructured.Unstructured, error) { + obj, err := s.Get(ctx, customResourceID, options) + customResource, ok := obj.(*unstructured.Unstructured) + if !ok { + return nil, fmt.Errorf("custom resource must be of type Unstructured") + } + + if err != nil { + apiVersion := customResource.GetAPIVersion() + groupVersion := strings.Split(apiVersion, "/") + group := groupVersion[0] + return nil, errors.NewNotFound(schema.GroupResource{Group: group, Resource: "scale"}, customResourceID) + } + return customResource, nil +} + +func (s *storage) CreateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc) (*unstructured.Unstructured, error) { + obj, err := s.Create(ctx, customResource, rest.ValidateAllObjectFunc, false) + if err != nil { + return nil, err + } + return obj.(*unstructured.Unstructured), nil +} + +func (s *storage) UpdateCustomResource(ctx context.Context, customResource *unstructured.Unstructured, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (*unstructured.Unstructured, error) { + obj, _, err := s.Update(ctx, customResource.GetName(), rest.DefaultUpdatedObjectInfo(customResource), createValidation, updateValidation) + if err != nil { + return nil, err + } + return obj.(*unstructured.Unstructured), nil +} + +func (s *storage) DeleteCustomResource(ctx context.Context, customResourceID string) error { + _, _, err := s.Delete(ctx, customResourceID, nil) + return err +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/status_strategy.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/status_strategy.go new file mode 100644 index 000000000..1710eb2e1 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/status_strategy.go @@ -0,0 +1,59 @@ +/* +Copyright 2018 The Kubernetes 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 customresource + +import ( + "context" + + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" +) + +type statusStrategy struct { + customResourceStrategy +} + +func NewStatusStrategy(strategy customResourceStrategy) statusStrategy { + return statusStrategy{strategy} +} + +func (a statusStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { + // update is only allowed to set status + newCustomResourceObject := obj.(*unstructured.Unstructured) + newCustomResource := newCustomResourceObject.UnstructuredContent() + status, ok := newCustomResource["status"] + + // copy old object into new object + oldCustomResourceObject := old.(*unstructured.Unstructured) + // overridding the resourceVersion in metadata is safe here, we have already checked that + // new object and old object have the same resourceVersion. + *newCustomResourceObject = *oldCustomResourceObject.DeepCopy() + + // set status + newCustomResource = newCustomResourceObject.UnstructuredContent() + if ok { + newCustomResource["status"] = status + } else { + delete(newCustomResource, "status") + } +} + +// ValidateUpdate is the default update validation for an end user updating status. +func (a statusStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { + return a.customResourceStrategy.validator.ValidateStatusUpdate(ctx, obj, old, a.scale) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/strategy.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/strategy.go new file mode 100644 index 000000000..4895e287a --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/strategy.go @@ -0,0 +1,185 @@ +/* +Copyright 2017 The Kubernetes 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 customresource + +import ( + "context" + + "github.com/go-openapi/validate" + + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/fields" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" + apiserverstorage "k8s.io/apiserver/pkg/storage" + "k8s.io/apiserver/pkg/storage/names" + utilfeature "k8s.io/apiserver/pkg/util/feature" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features" +) + +// customResourceStrategy implements behavior for CustomResources. +type customResourceStrategy struct { + runtime.ObjectTyper + names.NameGenerator + + namespaceScoped bool + validator customResourceValidator + status *apiextensions.CustomResourceSubresourceStatus + scale *apiextensions.CustomResourceSubresourceScale +} + +func NewStrategy(typer runtime.ObjectTyper, namespaceScoped bool, kind schema.GroupVersionKind, schemaValidator, statusSchemaValidator *validate.SchemaValidator, status *apiextensions.CustomResourceSubresourceStatus, scale *apiextensions.CustomResourceSubresourceScale) customResourceStrategy { + return customResourceStrategy{ + ObjectTyper: typer, + NameGenerator: names.SimpleNameGenerator, + namespaceScoped: namespaceScoped, + status: status, + scale: scale, + validator: customResourceValidator{ + namespaceScoped: namespaceScoped, + kind: kind, + schemaValidator: schemaValidator, + statusSchemaValidator: statusSchemaValidator, + }, + } +} + +func (a customResourceStrategy) NamespaceScoped() bool { + return a.namespaceScoped +} + +// PrepareForCreate clears the status of a CustomResource before creation. +func (a customResourceStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { + if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) && a.status != nil { + customResourceObject := obj.(*unstructured.Unstructured) + customResource := customResourceObject.UnstructuredContent() + + // create cannot set status + if _, ok := customResource["status"]; ok { + delete(customResource, "status") + } + } + + accessor, _ := meta.Accessor(obj) + accessor.SetGeneration(1) +} + +// PrepareForUpdate clears fields that are not allowed to be set by end users on update. +func (a customResourceStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { + if !utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) || a.status == nil { + return + } + + newCustomResourceObject := obj.(*unstructured.Unstructured) + oldCustomResourceObject := old.(*unstructured.Unstructured) + + newCustomResource := newCustomResourceObject.UnstructuredContent() + oldCustomResource := oldCustomResourceObject.UnstructuredContent() + + // update is not allowed to set status + _, ok1 := newCustomResource["status"] + _, ok2 := oldCustomResource["status"] + switch { + case ok2: + newCustomResource["status"] = oldCustomResource["status"] + case ok1: + delete(newCustomResource, "status") + } + + // Any changes to the spec increment the generation number, any changes to the + // status should reflect the generation number of the corresponding object. We push + // the burden of managing the status onto the clients because we can't (in general) + // know here what version of spec the writer of the status has seen. It may seem like + // we can at first -- since obj contains spec -- but in the future we will probably make + // status its own object, and even if we don't, writes may be the result of a + // read-update-write loop, so the contents of spec may not actually be the spec that + // the CustomResource has *seen*. + newSpec, ok1 := newCustomResource["spec"] + oldSpec, ok2 := oldCustomResource["spec"] + + // spec is changed, created or deleted + if (ok1 && ok2 && !apiequality.Semantic.DeepEqual(oldSpec, newSpec)) || (ok1 && !ok2) || (!ok1 && ok2) { + oldAccessor, _ := meta.Accessor(oldCustomResourceObject) + newAccessor, _ := meta.Accessor(newCustomResourceObject) + newAccessor.SetGeneration(oldAccessor.GetGeneration() + 1) + } +} + +// Validate validates a new CustomResource. +func (a customResourceStrategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { + return a.validator.Validate(ctx, obj, a.scale) +} + +// Canonicalize normalizes the object after validation. +func (customResourceStrategy) Canonicalize(obj runtime.Object) { +} + +// AllowCreateOnUpdate is false for CustomResources; this means a POST is +// needed to create one. +func (customResourceStrategy) AllowCreateOnUpdate() bool { + return false +} + +// AllowUnconditionalUpdate is the default update policy for CustomResource objects. +func (customResourceStrategy) AllowUnconditionalUpdate() bool { + return false +} + +// ValidateUpdate is the default update validation for an end user updating status. +func (a customResourceStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { + return a.validator.ValidateUpdate(ctx, obj, old, a.scale) +} + +// GetAttrs returns labels and fields of a given object for filtering purposes. +func (a customResourceStrategy) GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { + accessor, err := meta.Accessor(obj) + if err != nil { + return nil, nil, false, err + } + return labels.Set(accessor.GetLabels()), objectMetaFieldsSet(accessor, a.namespaceScoped), accessor.GetInitializers() != nil, nil +} + +// objectMetaFieldsSet returns a fields that represent the ObjectMeta. +func objectMetaFieldsSet(objectMeta metav1.Object, namespaceScoped bool) fields.Set { + if namespaceScoped { + return fields.Set{ + "metadata.name": objectMeta.GetName(), + "metadata.namespace": objectMeta.GetNamespace(), + } + } + return fields.Set{ + "metadata.name": objectMeta.GetName(), + } +} + +// MatchCustomResourceDefinitionStorage is the filter used by the generic etcd backend to route +// watch events from etcd to clients of the apiserver only interested in specific +// labels/fields. +func (a customResourceStrategy) MatchCustomResourceDefinitionStorage(label labels.Selector, field fields.Selector) apiserverstorage.SelectionPredicate { + return apiserverstorage.SelectionPredicate{ + Label: label, + Field: field, + GetAttrs: a.GetAttrs, + } +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor/tableconvertor.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor/tableconvertor.go new file mode 100644 index 000000000..e1bed809d --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/tableconvertor/tableconvertor.go @@ -0,0 +1,172 @@ +/* +Copyright 2018 The Kubernetes 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 tableconvertor + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "reflect" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + "k8s.io/apimachinery/pkg/api/meta" + metatable "k8s.io/apimachinery/pkg/api/meta/table" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apiserver/pkg/registry/rest" + "k8s.io/client-go/util/jsonpath" +) + +var swaggerMetadataDescriptions = metav1.ObjectMeta{}.SwaggerDoc() + +// New creates a new table convertor for the provided CRD column definition. If the printer definition cannot be parsed, +// error will be returned along with a default table convertor. +func New(crdColumns []apiextensions.CustomResourceColumnDefinition) (rest.TableConvertor, error) { + headers := []metav1beta1.TableColumnDefinition{ + {Name: "Name", Type: "string", Format: "name", Description: swaggerMetadataDescriptions["name"]}, + } + c := &convertor{ + headers: headers, + } + + for _, col := range crdColumns { + path := jsonpath.New(col.Name) + if err := path.Parse(fmt.Sprintf("{%s}", col.JSONPath)); err != nil { + return c, fmt.Errorf("unrecognized column definition %q", col.JSONPath) + } + path.AllowMissingKeys(true) + + desc := fmt.Sprintf("Custom resource definition column (in JSONPath format): %s", col.JSONPath) + if len(col.Description) > 0 { + desc = col.Description + } + + c.additionalColumns = append(c.additionalColumns, path) + c.headers = append(c.headers, metav1beta1.TableColumnDefinition{ + Name: col.Name, + Type: col.Type, + Format: col.Format, + Description: desc, + Priority: col.Priority, + }) + } + + return c, nil +} + +type convertor struct { + headers []metav1beta1.TableColumnDefinition + additionalColumns []*jsonpath.JSONPath +} + +func (c *convertor) ConvertToTable(ctx context.Context, obj runtime.Object, tableOptions runtime.Object) (*metav1beta1.Table, error) { + table := &metav1beta1.Table{ + ColumnDefinitions: c.headers, + } + if m, err := meta.ListAccessor(obj); err == nil { + table.ResourceVersion = m.GetResourceVersion() + table.SelfLink = m.GetSelfLink() + table.Continue = m.GetContinue() + } else { + if m, err := meta.CommonAccessor(obj); err == nil { + table.ResourceVersion = m.GetResourceVersion() + table.SelfLink = m.GetSelfLink() + } + } + + var err error + buf := &bytes.Buffer{} + table.Rows, err = metatable.MetaToTableRow(obj, func(obj runtime.Object, m metav1.Object, name, age string) ([]interface{}, error) { + cells := make([]interface{}, 1, 1+len(c.additionalColumns)) + cells[0] = name + customHeaders := c.headers[1:] + for i, column := range c.additionalColumns { + results, err := column.FindResults(obj.(runtime.Unstructured).UnstructuredContent()) + if err != nil || len(results) == 0 || len(results[0]) == 0 { + cells = append(cells, nil) + continue + } + + // as we only support simple JSON path, we can assume to have only one result (or none, filtered out above) + value := results[0][0].Interface() + if customHeaders[i].Type == "string" { + if err := column.PrintResults(buf, []reflect.Value{reflect.ValueOf(value)}); err == nil { + cells = append(cells, buf.String()) + buf.Reset() + } else { + cells = append(cells, nil) + } + } else { + cells = append(cells, cellForJSONValue(customHeaders[i].Type, value)) + } + } + return cells, nil + }) + return table, err +} + +func cellForJSONValue(headerType string, value interface{}) interface{} { + if value == nil { + return nil + } + + switch headerType { + case "integer": + switch typed := value.(type) { + case int64: + return typed + case float64: + return int64(typed) + case json.Number: + if i64, err := typed.Int64(); err == nil { + return i64 + } + } + case "number": + switch typed := value.(type) { + case int64: + return float64(typed) + case float64: + return typed + case json.Number: + if f, err := typed.Float64(); err == nil { + return f + } + } + case "boolean": + if b, ok := value.(bool); ok { + return b + } + case "string": + if s, ok := value.(string); ok { + return s + } + case "date": + if typed, ok := value.(string); ok { + var timestamp metav1.Time + err := timestamp.UnmarshalQueryParameter(typed) + if err != nil { + return "" + } + return metatable.ConvertToHumanReadableDateType(timestamp) + } + } + + return nil +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go new file mode 100644 index 000000000..5206a17eb --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresource/validator.go @@ -0,0 +1,195 @@ +/* +Copyright 2018 The Kubernetes 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 customresource + +import ( + "context" + "fmt" + "math" + "strings" + + "github.com/go-openapi/validate" + + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/validation" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/validation/field" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + apiservervalidation "k8s.io/apiextensions-apiserver/pkg/apiserver/validation" +) + +type customResourceValidator struct { + namespaceScoped bool + kind schema.GroupVersionKind + schemaValidator *validate.SchemaValidator + statusSchemaValidator *validate.SchemaValidator +} + +func (a customResourceValidator) Validate(ctx context.Context, obj runtime.Object, scale *apiextensions.CustomResourceSubresourceScale) field.ErrorList { + u, ok := obj.(*unstructured.Unstructured) + if !ok { + return field.ErrorList{field.Invalid(field.NewPath(""), u, fmt.Sprintf("has type %T. Must be a pointer to an Unstructured type", u))} + } + accessor, err := meta.Accessor(obj) + if err != nil { + return field.ErrorList{field.Invalid(field.NewPath("metadata"), nil, err.Error())} + } + + if errs := a.ValidateTypeMeta(ctx, u); len(errs) > 0 { + return errs + } + + var allErrs field.ErrorList + + allErrs = append(allErrs, validation.ValidateObjectMetaAccessor(accessor, a.namespaceScoped, validation.NameIsDNSSubdomain, field.NewPath("metadata"))...) + if err = apiservervalidation.ValidateCustomResource(u.UnstructuredContent(), a.schemaValidator); err != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath(""), u.UnstructuredContent(), err.Error())) + } + allErrs = append(allErrs, a.ValidateScaleSpec(ctx, u, scale)...) + allErrs = append(allErrs, a.ValidateScaleStatus(ctx, u, scale)...) + + return allErrs +} + +func (a customResourceValidator) ValidateUpdate(ctx context.Context, obj, old runtime.Object, scale *apiextensions.CustomResourceSubresourceScale) field.ErrorList { + u, ok := obj.(*unstructured.Unstructured) + if !ok { + return field.ErrorList{field.Invalid(field.NewPath(""), u, fmt.Sprintf("has type %T. Must be a pointer to an Unstructured type", u))} + } + objAccessor, err := meta.Accessor(obj) + if err != nil { + return field.ErrorList{field.Invalid(field.NewPath("metadata"), nil, err.Error())} + } + oldAccessor, err := meta.Accessor(old) + if err != nil { + return field.ErrorList{field.Invalid(field.NewPath("metadata"), nil, err.Error())} + } + + if errs := a.ValidateTypeMeta(ctx, u); len(errs) > 0 { + return errs + } + + var allErrs field.ErrorList + + allErrs = append(allErrs, validation.ValidateObjectMetaAccessorUpdate(objAccessor, oldAccessor, field.NewPath("metadata"))...) + if err = apiservervalidation.ValidateCustomResource(u.UnstructuredContent(), a.schemaValidator); err != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath(""), u.UnstructuredContent(), err.Error())) + } + allErrs = append(allErrs, a.ValidateScaleSpec(ctx, u, scale)...) + allErrs = append(allErrs, a.ValidateScaleStatus(ctx, u, scale)...) + + return allErrs +} + +func (a customResourceValidator) ValidateStatusUpdate(ctx context.Context, obj, old runtime.Object, scale *apiextensions.CustomResourceSubresourceScale) field.ErrorList { + u, ok := obj.(*unstructured.Unstructured) + if !ok { + return field.ErrorList{field.Invalid(field.NewPath(""), u, fmt.Sprintf("has type %T. Must be a pointer to an Unstructured type", u))} + } + objAccessor, err := meta.Accessor(obj) + if err != nil { + return field.ErrorList{field.Invalid(field.NewPath("metadata"), nil, err.Error())} + } + oldAccessor, err := meta.Accessor(old) + if err != nil { + return field.ErrorList{field.Invalid(field.NewPath("metadata"), nil, err.Error())} + } + + if errs := a.ValidateTypeMeta(ctx, u); len(errs) > 0 { + return errs + } + + var allErrs field.ErrorList + + allErrs = append(allErrs, validation.ValidateObjectMetaAccessorUpdate(objAccessor, oldAccessor, field.NewPath("metadata"))...) + if err = apiservervalidation.ValidateCustomResource(u.UnstructuredContent(), a.schemaValidator); err != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath(""), u.UnstructuredContent(), err.Error())) + } + allErrs = append(allErrs, a.ValidateScaleStatus(ctx, u, scale)...) + + return allErrs +} + +func (a customResourceValidator) ValidateTypeMeta(ctx context.Context, obj *unstructured.Unstructured) field.ErrorList { + typeAccessor, err := meta.TypeAccessor(obj) + if err != nil { + return field.ErrorList{field.Invalid(field.NewPath("kind"), nil, err.Error())} + } + + var allErrs field.ErrorList + if typeAccessor.GetKind() != a.kind.Kind { + allErrs = append(allErrs, field.Invalid(field.NewPath("kind"), typeAccessor.GetKind(), fmt.Sprintf("must be %v", a.kind.Kind))) + } + if typeAccessor.GetAPIVersion() != a.kind.Group+"/"+a.kind.Version { + allErrs = append(allErrs, field.Invalid(field.NewPath("apiVersion"), typeAccessor.GetAPIVersion(), fmt.Sprintf("must be %v", a.kind.Group+"/"+a.kind.Version))) + } + return allErrs +} + +func (a customResourceValidator) ValidateScaleSpec(ctx context.Context, obj *unstructured.Unstructured, scale *apiextensions.CustomResourceSubresourceScale) field.ErrorList { + if scale == nil { + return nil + } + + var allErrs field.ErrorList + + // validate specReplicas + specReplicasPath := strings.TrimPrefix(scale.SpecReplicasPath, ".") // ignore leading period + specReplicas, _, err := unstructured.NestedInt64(obj.UnstructuredContent(), strings.Split(specReplicasPath, ".")...) + if err != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath(scale.SpecReplicasPath), specReplicas, err.Error())) + } else if specReplicas < 0 { + allErrs = append(allErrs, field.Invalid(field.NewPath(scale.SpecReplicasPath), specReplicas, "should be a non-negative integer")) + } else if specReplicas > math.MaxInt32 { + allErrs = append(allErrs, field.Invalid(field.NewPath(scale.SpecReplicasPath), specReplicas, fmt.Sprintf("should be less than or equal to %v", math.MaxInt32))) + } + + return allErrs +} + +func (a customResourceValidator) ValidateScaleStatus(ctx context.Context, obj *unstructured.Unstructured, scale *apiextensions.CustomResourceSubresourceScale) field.ErrorList { + if scale == nil { + return nil + } + + var allErrs field.ErrorList + + // validate statusReplicas + statusReplicasPath := strings.TrimPrefix(scale.StatusReplicasPath, ".") // ignore leading period + statusReplicas, _, err := unstructured.NestedInt64(obj.UnstructuredContent(), strings.Split(statusReplicasPath, ".")...) + if err != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath(scale.StatusReplicasPath), statusReplicas, err.Error())) + } else if statusReplicas < 0 { + allErrs = append(allErrs, field.Invalid(field.NewPath(scale.StatusReplicasPath), statusReplicas, "should be a non-negative integer")) + } else if statusReplicas > math.MaxInt32 { + allErrs = append(allErrs, field.Invalid(field.NewPath(scale.StatusReplicasPath), statusReplicas, fmt.Sprintf("should be less than or equal to %v", math.MaxInt32))) + } + + // validate labelSelector + if scale.LabelSelectorPath != nil { + labelSelectorPath := strings.TrimPrefix(*scale.LabelSelectorPath, ".") // ignore leading period + labelSelector, _, err := unstructured.NestedString(obj.UnstructuredContent(), strings.Split(labelSelectorPath, ".")...) + if err != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath(*scale.LabelSelectorPath), labelSelector, err.Error())) + } + } + + return allErrs +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/etcd.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/etcd.go new file mode 100644 index 000000000..8d272ad77 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/etcd.go @@ -0,0 +1,177 @@ +/* +Copyright 2017 The Kubernetes 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 customresourcedefinition + +import ( + "context" + "fmt" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apiserver/pkg/registry/generic" + genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" + "k8s.io/apiserver/pkg/registry/rest" + "k8s.io/apiserver/pkg/storage" + storageerr "k8s.io/apiserver/pkg/storage/errors" +) + +// rest implements a RESTStorage for API services against etcd +type REST struct { + *genericregistry.Store +} + +// NewREST returns a RESTStorage object that will work against API services. +func NewREST(scheme *runtime.Scheme, optsGetter generic.RESTOptionsGetter) *REST { + strategy := NewStrategy(scheme) + + store := &genericregistry.Store{ + NewFunc: func() runtime.Object { return &apiextensions.CustomResourceDefinition{} }, + NewListFunc: func() runtime.Object { return &apiextensions.CustomResourceDefinitionList{} }, + PredicateFunc: MatchCustomResourceDefinition, + DefaultQualifiedResource: apiextensions.Resource("customresourcedefinitions"), + + CreateStrategy: strategy, + UpdateStrategy: strategy, + DeleteStrategy: strategy, + } + options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} + if err := store.CompleteWithOptions(options); err != nil { + panic(err) // TODO: Propagate error up + } + return &REST{store} +} + +// Implement ShortNamesProvider +var _ rest.ShortNamesProvider = &REST{} + +// ShortNames implements the ShortNamesProvider interface. Returns a list of short names for a resource. +func (r *REST) ShortNames() []string { + return []string{"crd", "crds"} +} + +// Delete adds the CRD finalizer to the list +func (r *REST) Delete(ctx context.Context, name string, options *metav1.DeleteOptions) (runtime.Object, bool, error) { + obj, err := r.Get(ctx, name, &metav1.GetOptions{}) + if err != nil { + return nil, false, err + } + + crd := obj.(*apiextensions.CustomResourceDefinition) + + // Ensure we have a UID precondition + if options == nil { + options = metav1.NewDeleteOptions(0) + } + if options.Preconditions == nil { + options.Preconditions = &metav1.Preconditions{} + } + if options.Preconditions.UID == nil { + options.Preconditions.UID = &crd.UID + } else if *options.Preconditions.UID != crd.UID { + err = apierrors.NewConflict( + apiextensions.Resource("customresourcedefinitions"), + name, + fmt.Errorf("Precondition failed: UID in precondition: %v, UID in object meta: %v", *options.Preconditions.UID, crd.UID), + ) + return nil, false, err + } + + // upon first request to delete, add our finalizer and then delegate + if crd.DeletionTimestamp.IsZero() { + key, err := r.Store.KeyFunc(ctx, name) + if err != nil { + return nil, false, err + } + + preconditions := storage.Preconditions{UID: options.Preconditions.UID} + + out := r.Store.NewFunc() + err = r.Store.Storage.GuaranteedUpdate( + ctx, key, out, false, &preconditions, + storage.SimpleUpdate(func(existing runtime.Object) (runtime.Object, error) { + existingCRD, ok := existing.(*apiextensions.CustomResourceDefinition) + if !ok { + // wrong type + return nil, fmt.Errorf("expected *apiextensions.CustomResourceDefinition, got %v", existing) + } + + // Set the deletion timestamp if needed + if existingCRD.DeletionTimestamp.IsZero() { + now := metav1.Now() + existingCRD.DeletionTimestamp = &now + } + + if !apiextensions.CRDHasFinalizer(existingCRD, apiextensions.CustomResourceCleanupFinalizer) { + existingCRD.Finalizers = append(existingCRD.Finalizers, apiextensions.CustomResourceCleanupFinalizer) + } + // update the status condition too + apiextensions.SetCRDCondition(existingCRD, apiextensions.CustomResourceDefinitionCondition{ + Type: apiextensions.Terminating, + Status: apiextensions.ConditionTrue, + Reason: "InstanceDeletionPending", + Message: "CustomResourceDefinition marked for deletion; CustomResource deletion will begin soon", + }) + return existingCRD, nil + }), + ) + + if err != nil { + err = storageerr.InterpretGetError(err, apiextensions.Resource("customresourcedefinitions"), name) + err = storageerr.InterpretUpdateError(err, apiextensions.Resource("customresourcedefinitions"), name) + if _, ok := err.(*apierrors.StatusError); !ok { + err = apierrors.NewInternalError(err) + } + return nil, false, err + } + + return out, false, nil + } + + return r.Store.Delete(ctx, name, options) +} + +// NewStatusREST makes a RESTStorage for status that has more limited options. +// It is based on the original REST so that we can share the same underlying store +func NewStatusREST(scheme *runtime.Scheme, rest *REST) *StatusREST { + statusStore := *rest.Store + statusStore.CreateStrategy = nil + statusStore.DeleteStrategy = nil + statusStore.UpdateStrategy = NewStatusStrategy(scheme) + return &StatusREST{store: &statusStore} +} + +type StatusREST struct { + store *genericregistry.Store +} + +var _ = rest.Patcher(&StatusREST{}) + +func (r *StatusREST) New() runtime.Object { + return &apiextensions.CustomResourceDefinition{} +} + +// Get retrieves the object from the storage. It is required to support Patch. +func (r *StatusREST) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) { + return r.store.Get(ctx, name, options) +} + +// Update alters the status subset of an object. +func (r *StatusREST) Update(ctx context.Context, name string, objInfo rest.UpdatedObjectInfo, createValidation rest.ValidateObjectFunc, updateValidation rest.ValidateObjectUpdateFunc) (runtime.Object, bool, error) { + return r.store.Update(ctx, name, objInfo, createValidation, updateValidation) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/strategy.go b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/strategy.go new file mode 100644 index 000000000..a0bebb7a7 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/pkg/registry/customresourcedefinition/strategy.go @@ -0,0 +1,202 @@ +/* +Copyright 2017 The Kubernetes 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 customresourcedefinition + +import ( + "context" + "fmt" + + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/fields" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/validation/field" + "k8s.io/apiserver/pkg/registry/generic" + "k8s.io/apiserver/pkg/storage" + "k8s.io/apiserver/pkg/storage/names" + utilfeature "k8s.io/apiserver/pkg/util/feature" + + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/validation" + apiextensionsfeatures "k8s.io/apiextensions-apiserver/pkg/features" +) + +// strategy implements behavior for CustomResources. +type strategy struct { + runtime.ObjectTyper + names.NameGenerator +} + +func NewStrategy(typer runtime.ObjectTyper) strategy { + return strategy{typer, names.SimpleNameGenerator} +} + +func (strategy) NamespaceScoped() bool { + return false +} + +// PrepareForCreate clears the status of a CustomResourceDefinition before creation. +func (strategy) PrepareForCreate(ctx context.Context, obj runtime.Object) { + crd := obj.(*apiextensions.CustomResourceDefinition) + crd.Status = apiextensions.CustomResourceDefinitionStatus{} + crd.Generation = 1 + + // if the feature gate is disabled, drop the feature. + if !utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceValidation) { + crd.Spec.Validation = nil + } + if !utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) { + crd.Spec.Subresources = nil + } + + for _, v := range crd.Spec.Versions { + if v.Storage { + if !apiextensions.IsStoredVersion(crd, v.Name) { + crd.Status.StoredVersions = append(crd.Status.StoredVersions, v.Name) + } + break + } + } +} + +// PrepareForUpdate clears fields that are not allowed to be set by end users on update. +func (strategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { + newCRD := obj.(*apiextensions.CustomResourceDefinition) + oldCRD := old.(*apiextensions.CustomResourceDefinition) + newCRD.Status = oldCRD.Status + + // Any changes to the spec increment the generation number, any changes to the + // status should reflect the generation number of the corresponding object. We push + // the burden of managing the status onto the clients because we can't (in general) + // know here what version of spec the writer of the status has seen. It may seem like + // we can at first -- since obj contains spec -- but in the future we will probably make + // status its own object, and even if we don't, writes may be the result of a + // read-update-write loop, so the contents of spec may not actually be the spec that + // the controller has *seen*. + if !apiequality.Semantic.DeepEqual(oldCRD.Spec, newCRD.Spec) { + newCRD.Generation = oldCRD.Generation + 1 + } + + if !utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceValidation) { + newCRD.Spec.Validation = nil + oldCRD.Spec.Validation = nil + } + if !utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceSubresources) { + newCRD.Spec.Subresources = nil + oldCRD.Spec.Subresources = nil + } + + for _, v := range newCRD.Spec.Versions { + if v.Storage { + if !apiextensions.IsStoredVersion(newCRD, v.Name) { + newCRD.Status.StoredVersions = append(newCRD.Status.StoredVersions, v.Name) + } + break + } + } +} + +// Validate validates a new CustomResourceDefinition. +func (strategy) Validate(ctx context.Context, obj runtime.Object) field.ErrorList { + return validation.ValidateCustomResourceDefinition(obj.(*apiextensions.CustomResourceDefinition)) +} + +// AllowCreateOnUpdate is false for CustomResourceDefinition; this means a POST is +// needed to create one. +func (strategy) AllowCreateOnUpdate() bool { + return false +} + +// AllowUnconditionalUpdate is the default update policy for CustomResourceDefinition objects. +func (strategy) AllowUnconditionalUpdate() bool { + return false +} + +// Canonicalize normalizes the object after validation. +func (strategy) Canonicalize(obj runtime.Object) { +} + +// ValidateUpdate is the default update validation for an end user updating status. +func (strategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { + return validation.ValidateCustomResourceDefinitionUpdate(obj.(*apiextensions.CustomResourceDefinition), old.(*apiextensions.CustomResourceDefinition)) +} + +type statusStrategy struct { + runtime.ObjectTyper + names.NameGenerator +} + +func NewStatusStrategy(typer runtime.ObjectTyper) statusStrategy { + return statusStrategy{typer, names.SimpleNameGenerator} +} + +func (statusStrategy) NamespaceScoped() bool { + return false +} + +func (statusStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) { + newObj := obj.(*apiextensions.CustomResourceDefinition) + oldObj := old.(*apiextensions.CustomResourceDefinition) + newObj.Spec = oldObj.Spec + + // Status updates are for only for updating status, not objectmeta. + // TODO: Update after ResetObjectMetaForStatus is added to meta/v1. + newObj.Labels = oldObj.Labels + newObj.Annotations = oldObj.Annotations + newObj.OwnerReferences = oldObj.OwnerReferences + newObj.Generation = oldObj.Generation + newObj.SelfLink = oldObj.SelfLink +} + +func (statusStrategy) AllowCreateOnUpdate() bool { + return false +} + +func (statusStrategy) AllowUnconditionalUpdate() bool { + return false +} + +func (statusStrategy) Canonicalize(obj runtime.Object) { +} + +func (statusStrategy) ValidateUpdate(ctx context.Context, obj, old runtime.Object) field.ErrorList { + return validation.ValidateUpdateCustomResourceDefinitionStatus(obj.(*apiextensions.CustomResourceDefinition), old.(*apiextensions.CustomResourceDefinition)) +} + +// GetAttrs returns labels and fields of a given object for filtering purposes. +func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { + apiserver, ok := obj.(*apiextensions.CustomResourceDefinition) + if !ok { + return nil, nil, false, fmt.Errorf("given object is not a CustomResourceDefinition") + } + return labels.Set(apiserver.ObjectMeta.Labels), CustomResourceDefinitionToSelectableFields(apiserver), apiserver.Initializers != nil, nil +} + +// MatchCustomResourceDefinition is the filter used by the generic etcd backend to watch events +// from etcd to clients of the apiserver only interested in specific labels/fields. +func MatchCustomResourceDefinition(label labels.Selector, field fields.Selector) storage.SelectionPredicate { + return storage.SelectionPredicate{ + Label: label, + Field: field, + GetAttrs: GetAttrs, + } +} + +// CustomResourceDefinitionToSelectableFields returns a field set that represents the object. +func CustomResourceDefinitionToSelectableFields(obj *apiextensions.CustomResourceDefinition) fields.Set { + return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.crt b/vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.crt new file mode 100644 index 000000000..0b52619bf --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDFTCCAf2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAfMR0wGwYDVQQDDBRsb2Nh +bGhvc3RAMTUxNTQ2MjIwNjAgFw0xODAxMDkwMTQzMjZaGA8yMTE4MDEwOTAxNDMy +NlowHzEdMBsGA1UEAwwUbG9jYWxob3N0QDE1MTU0NjIyMDYwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC2hIORzonehlNadYyI30v1Jj8lhhABuiWiTSkl +KCLqZjwBfWfSC4w02zxi2SAH9ju20XCJrUauwPq1qXCp/CqXC/rVgZrzluDlpJpe +gF9AilQvGOxhrZhV4kqpOjGVE78uOmpfxiOyNermoJ0OVE8ugh3s/LLTNK/qmCAX +uEYTQccAvNEiPX3XPBCiaFlSCkUNS0zp12mJNP43+KF9y0CbtYs1gXKHmmJVSpjR +YmcuJJUfHxNrV2YR3ek6O4IIJFIlnLxgpjRBseBPkTenAT3S2YY9MyQkkBrRSPBa +vLM24al3KDvXYikYe3WpxeYNHGNcHIgR+hKlRTQ5VrWlfx9dAgMBAAGjWjBYMA4G +A1UdDwEB/wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTAD +AQH/MCAGA1UdEQQZMBeCCWxvY2FsaG9zdIcEfwAAAYcEfwAAATANBgkqhkiG9w0B +AQsFAAOCAQEAFhW8cVTraHPNsE+Jo0ZvcE2ic8lEzeOhWI2O/fpkrUJS5LptPKHS +nTK+CPxA0zhIS/vlJznIabeddXwtq7Xb5SwlJMHYMnHD6f5qwpD22D2dxJJa5sma +3yrK/4CutuEae08qqSeakfgCjcHLL9p7FZWxujkV9/5CEH5lFWYLGumyIoS46Svf +nSfDFKTrOj8P60ncCoWcSpMbdVQBDuKlIZuBMmz9CguC1CtuQWPDUmOGJuPs/+So +yusHbBfj+ATUWDYTg1lLjOIOSJpHGUQkvS+8Bo47SThD/b4w2i6VC72ldxtBuxGf +L7+jALMhMhiQD+Q4qsNuyvvNQLoYcTTFTw== +-----END CERTIFICATE----- diff --git a/vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.key b/vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.key new file mode 100644 index 000000000..d4878784e --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/test/integration/apiserver.local.config/certificates/apiserver.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAtoSDkc6J3oZTWnWMiN9L9SY/JYYQAbolok0pJSgi6mY8AX1n +0guMNNs8YtkgB/Y7ttFwia1GrsD6talwqfwqlwv61YGa85bg5aSaXoBfQIpULxjs +Ya2YVeJKqToxlRO/LjpqX8YjsjXq5qCdDlRPLoId7Pyy0zSv6pggF7hGE0HHALzR +Ij191zwQomhZUgpFDUtM6ddpiTT+N/ihfctAm7WLNYFyh5piVUqY0WJnLiSVHx8T +a1dmEd3pOjuCCCRSJZy8YKY0QbHgT5E3pwE90tmGPTMkJJAa0UjwWryzNuGpdyg7 +12IpGHt1qcXmDRxjXByIEfoSpUU0OVa1pX8fXQIDAQABAoIBAERy2ezaqnXbpnLs +VrIWHCRqHZBzAJnFN8vwaBfZP47snGBqqX7qecBw3+qqRwr1W1uqnCvl4fYzxVJP +o0L8oPRYt89OddAYq2s0GfiK6C4KMpwfGrdfJRxAa4OfoWypJS+vFKmqY0S4V8n6 +Pixbjf6BKbvw4Re4UKkIODDtGMqrZFVKcFe8LCnd3D+7jvt0M/WjEhrepWxscJh3 +aHgDzsLzCv1DNjgZfoRZubkK3bdndMaL6NhaKNBz6S7CT9XmZsJaWkmBXs9zOoyr +0hKP0A11cm6a7LsmxX5h4uaQLh66KHUPbV4KjKgKiGkSS9cnZoXHFZLOplOfozje +1DKitAECgYEA2eWiRNByNIqqRPvBtD8ydavOLk6iLlLt+LkCpGupgELs53WS5fTT +TxbyVq+897qeW2Klir7jZFWG3Q+EaBATxMYON+jb7QnIz8gX9lh1PpUlo88BiQzO +hAIx2uV19KM0ftXYVTSAUh1N2cgoOWGUWLaeMPdxPOlJwvM25hSfp90CgYEA1m8W +vWBO8X5LXM9g+fO1TFSlTnUJW1gWrnOw4VmU2+DbqNmtefpVrqDa5Iw2+mU+EBgA +d3wdAHARXpc2MGcIRnRbHn+gXJVHA+gA7H9LSZ4Yi0qJZbNVAgRySs2iBYUcunsR +AXkS7sPGQinfnjKh6vhYVErh5jA+cvS8CXZtnYECgYBmh61hYAw9OPqB100AebRO +tncgRxP9ZDxiCvx5TcfGeLds+mATIK7FynBh5fOvRfr52WM39DafobcCEiklplsG +/oL2P/YshaweSXMtEdapihjaCbAZQxNx/m5jKBHm+VzcSdev0DKJcQyO66Yxyf65 +98RcGjMIjGWO/E7a2N1/aQKBgCPrY+HBGjg1saYQTuxPuJTasP4deL3GWbZLRtvY +x6i1V9ZG8Fo4ZtXjuAcEvcjf4K+NdbaOIcWLAD3aEoe1GpvCrejD9DbOAqFS4aS8 +Bf6E7xOWHsHccmbuG78QBw3pqFBMgSLABz3bqYA3x2+Wh6z2gMVN7d1DQ5K6EC19 +mwsBAoGBAKZBgqRHRq1Ch3SWb5Q+SgUvNyQ+PAIwCve0vA4mMIK6EGqU/8wbU01B +5/UkCfT+ovDeDuyeaZbTWzwUC4Mrg4C9rThrK5WLc43Dig6G1HhfjdLA+gdKFOjh +FpocOI2FEwbmj5Mka6n3TSFI8c55ubYdyXQu92DoFt4dTOJStUn2 +-----END RSA PRIVATE KEY----- diff --git a/vendor/k8s.io/apiextensions-apiserver/test/integration/helpers.go b/vendor/k8s.io/apiextensions-apiserver/test/integration/helpers.go new file mode 100644 index 000000000..5aa231d45 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/test/integration/helpers.go @@ -0,0 +1,94 @@ +/* +Copyright 2018 The Kubernetes 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 integration + +import ( + "fmt" + "testing" + + apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/dynamic" +) + +func instantiateCustomResource(t *testing.T, instanceToCreate *unstructured.Unstructured, client dynamic.ResourceInterface, definition *apiextensionsv1beta1.CustomResourceDefinition) (*unstructured.Unstructured, error) { + return instantiateVersionedCustomResource(t, instanceToCreate, client, definition, definition.Spec.Versions[0].Name) +} + +func instantiateVersionedCustomResource(t *testing.T, instanceToCreate *unstructured.Unstructured, client dynamic.ResourceInterface, definition *apiextensionsv1beta1.CustomResourceDefinition, version string) (*unstructured.Unstructured, error) { + createdInstance, err := client.Create(instanceToCreate) + if err != nil { + t.Logf("%#v", createdInstance) + return nil, err + } + createdObjectMeta, err := meta.Accessor(createdInstance) + if err != nil { + t.Fatal(err) + } + // it should have a UUID + if len(createdObjectMeta.GetUID()) == 0 { + t.Errorf("missing uuid: %#v", createdInstance) + } + createdTypeMeta, err := meta.TypeAccessor(createdInstance) + if err != nil { + t.Fatal(err) + } + if e, a := definition.Spec.Group+"/"+version, createdTypeMeta.GetAPIVersion(); e != a { + t.Errorf("expected %v, got %v", e, a) + } + if e, a := definition.Spec.Names.Kind, createdTypeMeta.GetKind(); e != a { + t.Errorf("expected %v, got %v", e, a) + } + return createdInstance, nil +} + +func newNamespacedCustomResourceVersionedClient(ns string, client dynamic.Interface, crd *apiextensionsv1beta1.CustomResourceDefinition, version string) dynamic.ResourceInterface { + gvr := schema.GroupVersionResource{Group: crd.Spec.Group, Version: version, Resource: crd.Spec.Names.Plural} + + if crd.Spec.Scope != apiextensionsv1beta1.ClusterScoped { + return client.Resource(gvr).Namespace(ns) + } + return client.Resource(gvr) +} + +func newNamespacedCustomResourceClient(ns string, client dynamic.Interface, crd *apiextensionsv1beta1.CustomResourceDefinition) dynamic.ResourceInterface { + return newNamespacedCustomResourceVersionedClient(ns, client, crd, crd.Spec.Versions[0].Name) +} + +// updateCustomResourceDefinitionWithRetry updates a CRD, retrying up to 5 times on version conflict errors. +func updateCustomResourceDefinitionWithRetry(client clientset.Interface, name string, update func(*apiextensionsv1beta1.CustomResourceDefinition)) (*apiextensionsv1beta1.CustomResourceDefinition, error) { + for i := 0; i < 5; i++ { + crd, err := client.ApiextensionsV1beta1().CustomResourceDefinitions().Get(name, metav1.GetOptions{}) + if err != nil { + return nil, fmt.Errorf("failed to get CustomResourceDefinition %q: %v", name, err) + } + update(crd) + crd, err = client.ApiextensionsV1beta1().CustomResourceDefinitions().Update(crd) + if err == nil { + return crd, nil + } + if !errors.IsConflict(err) { + return nil, fmt.Errorf("failed to update CustomResourceDefinition %q: %v", name, err) + } + } + return nil, fmt.Errorf("too many retries after conflicts updating CustomResourceDefinition %q", name) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/resources.go b/vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/resources.go new file mode 100644 index 000000000..f341b002f --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/resources.go @@ -0,0 +1,377 @@ +/* +Copyright 2017 The Kubernetes 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 testserver + +import ( + "fmt" + "time" + + apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/apiserver/pkg/storage/names" + "k8s.io/client-go/discovery" + "k8s.io/client-go/dynamic" + "k8s.io/client-go/rest" + "k8s.io/client-go/restmapper" + "k8s.io/client-go/scale" +) + +const ( + noxuInstanceNum int64 = 9223372036854775807 +) + +//NewRandomNameCustomResourceDefinition generates a CRD with random name to avoid name conflict in e2e tests +func NewRandomNameCustomResourceDefinition(scope apiextensionsv1beta1.ResourceScope) *apiextensionsv1beta1.CustomResourceDefinition { + // ensure the singular doesn't end in an s for now + gName := names.SimpleNameGenerator.GenerateName("foo") + "a" + return &apiextensionsv1beta1.CustomResourceDefinition{ + ObjectMeta: metav1.ObjectMeta{Name: gName + "s.mygroup.example.com"}, + Spec: apiextensionsv1beta1.CustomResourceDefinitionSpec{ + Group: "mygroup.example.com", + Version: "v1beta1", + Names: apiextensionsv1beta1.CustomResourceDefinitionNames{ + Plural: gName + "s", + Singular: gName, + Kind: gName, + ListKind: gName + "List", + }, + Scope: scope, + }, + } +} + +func NewNoxuCustomResourceDefinition(scope apiextensionsv1beta1.ResourceScope) *apiextensionsv1beta1.CustomResourceDefinition { + return &apiextensionsv1beta1.CustomResourceDefinition{ + ObjectMeta: metav1.ObjectMeta{Name: "noxus.mygroup.example.com"}, + Spec: apiextensionsv1beta1.CustomResourceDefinitionSpec{ + Group: "mygroup.example.com", + Version: "v1beta1", + Names: apiextensionsv1beta1.CustomResourceDefinitionNames{ + Plural: "noxus", + Singular: "nonenglishnoxu", + Kind: "WishIHadChosenNoxu", + ShortNames: []string{"foo", "bar", "abc", "def"}, + ListKind: "NoxuItemList", + Categories: []string{"all"}, + }, + Scope: scope, + }, + } +} + +func NewVersionedNoxuInstance(namespace, name, version string) *unstructured.Unstructured { + return &unstructured.Unstructured{ + Object: map[string]interface{}{ + "apiVersion": "mygroup.example.com/" + version, + "kind": "WishIHadChosenNoxu", + "metadata": map[string]interface{}{ + "namespace": namespace, + "name": name, + }, + "content": map[string]interface{}{ + "key": "value", + }, + "num": map[string]interface{}{ + "num1": noxuInstanceNum, + "num2": 1000000, + }, + }, + } +} + +func NewNoxuInstance(namespace, name string) *unstructured.Unstructured { + return NewVersionedNoxuInstance(namespace, name, "v1beta1") +} + +func NewMultipleVersionNoxuCRD(scope apiextensionsv1beta1.ResourceScope) *apiextensionsv1beta1.CustomResourceDefinition { + return &apiextensionsv1beta1.CustomResourceDefinition{ + ObjectMeta: metav1.ObjectMeta{Name: "noxus.mygroup.example.com"}, + Spec: apiextensionsv1beta1.CustomResourceDefinitionSpec{ + Group: "mygroup.example.com", + Version: "v1beta1", + Names: apiextensionsv1beta1.CustomResourceDefinitionNames{ + Plural: "noxus", + Singular: "nonenglishnoxu", + Kind: "WishIHadChosenNoxu", + ShortNames: []string{"foo", "bar", "abc", "def"}, + ListKind: "NoxuItemList", + Categories: []string{"all"}, + }, + Scope: scope, + Versions: []apiextensionsv1beta1.CustomResourceDefinitionVersion{ + { + Name: "v1beta1", + Served: true, + Storage: false, + }, + { + Name: "v1beta2", + Served: true, + Storage: true, + }, + { + Name: "v0", + Served: false, + Storage: false, + }, + }, + }, + } +} + +func NewNoxu2CustomResourceDefinition(scope apiextensionsv1beta1.ResourceScope) *apiextensionsv1beta1.CustomResourceDefinition { + return &apiextensionsv1beta1.CustomResourceDefinition{ + ObjectMeta: metav1.ObjectMeta{Name: "noxus2.mygroup.example.com"}, + Spec: apiextensionsv1beta1.CustomResourceDefinitionSpec{ + Group: "mygroup.example.com", + Version: "v1alpha1", + Names: apiextensionsv1beta1.CustomResourceDefinitionNames{ + Plural: "noxus2", + Singular: "nonenglishnoxu2", + Kind: "WishIHadChosenNoxu2", + ShortNames: []string{"foo", "bar", "abc", "def"}, + ListKind: "Noxu2ItemList", + }, + Scope: scope, + }, + } +} + +func NewCurletCustomResourceDefinition(scope apiextensionsv1beta1.ResourceScope) *apiextensionsv1beta1.CustomResourceDefinition { + return &apiextensionsv1beta1.CustomResourceDefinition{ + ObjectMeta: metav1.ObjectMeta{Name: "curlets.mygroup.example.com"}, + Spec: apiextensionsv1beta1.CustomResourceDefinitionSpec{ + Group: "mygroup.example.com", + Version: "v1beta1", + Names: apiextensionsv1beta1.CustomResourceDefinitionNames{ + Plural: "curlets", + Singular: "curlet", + Kind: "Curlet", + ListKind: "CurletList", + }, + Scope: scope, + }, + } +} + +func NewCurletInstance(namespace, name string) *unstructured.Unstructured { + return &unstructured.Unstructured{ + Object: map[string]interface{}{ + "apiVersion": "mygroup.example.com/v1beta1", + "kind": "Curlet", + "metadata": map[string]interface{}{ + "namespace": namespace, + "name": name, + }, + "content": map[string]interface{}{ + "key": "value", + }, + }, + } +} + +func servedVersions(crd *apiextensionsv1beta1.CustomResourceDefinition) []string { + if len(crd.Spec.Versions) == 0 { + return []string{crd.Spec.Version} + } + var versions []string + for _, v := range crd.Spec.Versions { + if v.Served { + versions = append(versions, v.Name) + } + } + return versions +} + +func existsInDiscovery(crd *apiextensionsv1beta1.CustomResourceDefinition, apiExtensionsClient clientset.Interface, version string) (bool, error) { + groupResource, err := apiExtensionsClient.Discovery().ServerResourcesForGroupVersion(crd.Spec.Group + "/" + version) + if err != nil { + if errors.IsNotFound(err) { + return false, nil + } + return false, err + } + for _, g := range groupResource.APIResources { + if g.Name == crd.Spec.Names.Plural { + return true, nil + } + } + return false, nil +} + +// CreateNewCustomResourceDefinitionWatchUnsafe creates the CRD and makes sure +// the apiextension apiserver has installed the CRD. But it's not safe to watch +// the created CR. Please call CreateNewCustomResourceDefinition if you need to +// watch the CR. +func CreateNewCustomResourceDefinitionWatchUnsafe(crd *apiextensionsv1beta1.CustomResourceDefinition, apiExtensionsClient clientset.Interface) (*apiextensionsv1beta1.CustomResourceDefinition, error) { + crd, err := apiExtensionsClient.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd) + if err != nil { + return nil, err + } + + // wait until all resources appears in discovery + for _, version := range servedVersions(crd) { + err := wait.PollImmediate(500*time.Millisecond, 30*time.Second, func() (bool, error) { + return existsInDiscovery(crd, apiExtensionsClient, version) + }) + if err != nil { + return nil, err + } + } + + return crd, err +} + +func CreateNewCustomResourceDefinition(crd *apiextensionsv1beta1.CustomResourceDefinition, apiExtensionsClient clientset.Interface, dynamicClientSet dynamic.Interface) (*apiextensionsv1beta1.CustomResourceDefinition, error) { + crd, err := CreateNewCustomResourceDefinitionWatchUnsafe(crd, apiExtensionsClient) + if err != nil { + return nil, err + } + + // This is only for a test. We need the watch cache to have a resource version that works for the test. + // When new REST storage is created, the storage cacher for the CR starts asynchronously. + // REST API operations return like list use the RV of etcd, but the storage cacher's reflector's list + // can get a different RV because etcd can be touched in between the initial list operation (if that's what you're doing first) + // and the storage cache reflector starting. + // Later, you can issue a watch with the REST apis list.RV and end up earlier than the storage cacher. + // The general working model is that if you get a "resourceVersion too old" message, you re-list and rewatch. + // For this test, we'll actually cycle, "list/watch/create/delete" until we get an RV from list that observes the create and not an error. + // This way all the tests that are checking for watches don't have to worry about RV too old problems because crazy things *could* happen + // before like the created RV could be too old to watch. + for _, version := range servedVersions(crd) { + err := wait.PollImmediate(500*time.Millisecond, 30*time.Second, func() (bool, error) { + return isWatchCachePrimed(crd, dynamicClientSet, version) + }) + if err != nil { + return nil, err + } + } + return crd, nil +} + +// isWatchCachePrimed returns true if the watch is primed for an specified version of CRD watch +func isWatchCachePrimed(crd *apiextensionsv1beta1.CustomResourceDefinition, dynamicClientSet dynamic.Interface, version string) (bool, error) { + ns := "" + if crd.Spec.Scope != apiextensionsv1beta1.ClusterScoped { + ns = "aval" + } + + gvr := schema.GroupVersionResource{Group: crd.Spec.Group, Version: version, Resource: crd.Spec.Names.Plural} + var resourceClient dynamic.ResourceInterface + if crd.Spec.Scope != apiextensionsv1beta1.ClusterScoped { + resourceClient = dynamicClientSet.Resource(gvr).Namespace(ns) + } else { + resourceClient = dynamicClientSet.Resource(gvr) + } + instanceName := "setup-instance" + instance := &unstructured.Unstructured{ + Object: map[string]interface{}{ + "apiVersion": crd.Spec.Group + "/" + version, + "kind": crd.Spec.Names.Kind, + "metadata": map[string]interface{}{ + "namespace": ns, + "name": instanceName, + }, + "alpha": "foo_123", + "beta": 10, + "gamma": "bar", + "delta": "hello", + "epsilon": "foobar", + "spec": map[string]interface{}{}, + }, + } + createdInstance, err := resourceClient.Create(instance) + if err != nil { + return false, err + } + err = resourceClient.Delete(createdInstance.GetName(), nil) + if err != nil { + return false, err + } + + noxuWatch, err := resourceClient.Watch(metav1.ListOptions{ResourceVersion: createdInstance.GetResourceVersion()}) + if err != nil { + return false, err + } + defer noxuWatch.Stop() + + select { + case watchEvent := <-noxuWatch.ResultChan(): + if watch.Error == watchEvent.Type { + return false, nil + } + if watch.Deleted != watchEvent.Type { + return false, fmt.Errorf("expected DELETE, but got %#v", watchEvent) + } + return true, nil + case <-time.After(5 * time.Second): + return false, fmt.Errorf("gave up waiting for watch event") + } +} + +func DeleteCustomResourceDefinition(crd *apiextensionsv1beta1.CustomResourceDefinition, apiExtensionsClient clientset.Interface) error { + if err := apiExtensionsClient.Apiextensions().CustomResourceDefinitions().Delete(crd.Name, nil); err != nil { + return err + } + for _, version := range servedVersions(crd) { + err := wait.PollImmediate(500*time.Millisecond, 30*time.Second, func() (bool, error) { + exists, err := existsInDiscovery(crd, apiExtensionsClient, version) + return !exists, err + }) + if err != nil { + return err + } + } + return nil +} + +func CreateNewScaleClient(crd *apiextensionsv1beta1.CustomResourceDefinition, config *rest.Config) (scale.ScalesGetter, error) { + discoveryClient, err := discovery.NewDiscoveryClientForConfig(config) + if err != nil { + return nil, err + } + groupResource, err := discoveryClient.ServerResourcesForGroupVersion(crd.Spec.Group + "/" + crd.Spec.Version) + if err != nil { + return nil, err + } + + resources := []*restmapper.APIGroupResources{ + { + Group: metav1.APIGroup{ + Name: crd.Spec.Group, + Versions: []metav1.GroupVersionForDiscovery{ + {Version: crd.Spec.Version}, + }, + PreferredVersion: metav1.GroupVersionForDiscovery{Version: crd.Spec.Version}, + }, + VersionedResources: map[string][]metav1.APIResource{ + crd.Spec.Version: groupResource.APIResources, + }, + }, + } + + restMapper := restmapper.NewDiscoveryRESTMapper(resources) + resolver := scale.NewDiscoveryScaleKindResolver(discoveryClient) + + return scale.NewForConfig(config, restMapper, dynamic.LegacyAPIPathResolverFunc, resolver) +} diff --git a/vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/start.go b/vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/start.go new file mode 100644 index 000000000..22b9fa286 --- /dev/null +++ b/vendor/k8s.io/apiextensions-apiserver/test/integration/testserver/start.go @@ -0,0 +1,161 @@ +/* +Copyright 2017 The Kubernetes 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 testserver + +import ( + "fmt" + "net" + "os" + "time" + + "github.com/pborman/uuid" + + extensionsapiserver "k8s.io/apiextensions-apiserver/pkg/apiserver" + "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + "k8s.io/apiextensions-apiserver/pkg/cmd/server" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/util/wait" + genericapiserver "k8s.io/apiserver/pkg/server" + genericapiserveroptions "k8s.io/apiserver/pkg/server/options" + "k8s.io/client-go/dynamic" + "k8s.io/client-go/rest" +) + +func DefaultServerConfig() (*extensionsapiserver.Config, error) { + listener, port, err := genericapiserveroptions.CreateListener("tcp", "127.0.0.1:0") + if err != nil { + return nil, err + } + + options := server.NewCustomResourceDefinitionsServerOptions(os.Stdout, os.Stderr) + options.RecommendedOptions.Audit.LogOptions.Path = "-" + options.RecommendedOptions.SecureServing.BindPort = port + options.RecommendedOptions.Authentication = nil // disable + options.RecommendedOptions.Authorization = nil // disable + options.RecommendedOptions.Admission = nil // disable + options.RecommendedOptions.SecureServing.BindAddress = net.ParseIP("127.0.0.1") + options.RecommendedOptions.SecureServing.Listener = listener + etcdURL, ok := os.LookupEnv("KUBE_INTEGRATION_ETCD_URL") + if !ok { + etcdURL = "http://127.0.0.1:2379" + } + options.RecommendedOptions.Etcd.StorageConfig.ServerList = []string{etcdURL} + options.RecommendedOptions.Etcd.StorageConfig.Prefix = uuid.New() + + genericConfig := genericapiserver.NewRecommendedConfig(extensionsapiserver.Codecs) + + if err := options.RecommendedOptions.SecureServing.MaybeDefaultWithSelfSignedCerts("localhost", nil, []net.IP{net.ParseIP("127.0.0.1")}); err != nil { + return nil, fmt.Errorf("error creating self-signed certificates: %v", err) + } + if err := options.RecommendedOptions.ApplyTo(genericConfig, nil); err != nil { + return nil, err + } + if err := options.APIEnablement.ApplyTo(&genericConfig.Config, extensionsapiserver.DefaultAPIResourceConfigSource(), extensionsapiserver.Scheme); err != nil { + return nil, err + } + + customResourceDefinitionRESTOptionsGetter := extensionsapiserver.CRDRESTOptionsGetter{ + StorageConfig: options.RecommendedOptions.Etcd.StorageConfig, + StoragePrefix: options.RecommendedOptions.Etcd.StorageConfig.Prefix, + EnableWatchCache: options.RecommendedOptions.Etcd.EnableWatchCache, + DefaultWatchCacheSize: options.RecommendedOptions.Etcd.DefaultWatchCacheSize, + EnableGarbageCollection: options.RecommendedOptions.Etcd.EnableGarbageCollection, + DeleteCollectionWorkers: options.RecommendedOptions.Etcd.DeleteCollectionWorkers, + } + customResourceDefinitionRESTOptionsGetter.StorageConfig.Codec = unstructured.UnstructuredJSONScheme + + config := &extensionsapiserver.Config{ + GenericConfig: genericConfig, + ExtraConfig: extensionsapiserver.ExtraConfig{ + CRDRESTOptionsGetter: customResourceDefinitionRESTOptionsGetter, + }, + } + + return config, nil +} + +func StartServer(config *extensionsapiserver.Config) (chan struct{}, *rest.Config, error) { + stopCh := make(chan struct{}) + server, err := config.Complete().New(genericapiserver.NewEmptyDelegate()) + if err != nil { + return nil, nil, err + } + go func() { + err := server.GenericAPIServer.PrepareRun().Run(stopCh) + if err != nil { + close(stopCh) + panic(err) + } + }() + + // wait until the server is healthy + err = wait.PollImmediate(30*time.Millisecond, 30*time.Second, func() (bool, error) { + healthClient, err := clientset.NewForConfig(server.GenericAPIServer.LoopbackClientConfig) + if err != nil { + return false, nil + } + healthResult := healthClient.Discovery().RESTClient().Get().AbsPath("/healthz").Do() + if healthResult.Error() != nil { + return false, nil + } + rawHealth, err := healthResult.Raw() + if err != nil { + return false, nil + } + if string(rawHealth) != "ok" { + return false, nil + } + + return true, nil + }) + if err != nil { + close(stopCh) + return nil, nil, err + } + + return stopCh, config.GenericConfig.LoopbackClientConfig, nil +} + +func StartDefaultServer() (chan struct{}, *rest.Config, error) { + config, err := DefaultServerConfig() + if err != nil { + return nil, nil, err + } + + return StartServer(config) +} + +func StartDefaultServerWithClients() (chan struct{}, clientset.Interface, dynamic.Interface, error) { + stopCh, config, err := StartDefaultServer() + if err != nil { + return nil, nil, nil, err + } + + apiExtensionsClient, err := clientset.NewForConfig(config) + if err != nil { + close(stopCh) + return nil, nil, nil, err + } + + dynamicClient, err := dynamic.NewForConfig(config) + if err != nil { + close(stopCh) + return nil, nil, nil, err + } + + return stopCh, apiExtensionsClient, dynamicClient, nil +} diff --git a/vendor/kubevirt.io/containerized-data-importer/.gitignore b/vendor/kubevirt.io/containerized-data-importer/.gitignore index 962ca519d..257cf7726 100644 --- a/vendor/kubevirt.io/containerized-data-importer/.gitignore +++ b/vendor/kubevirt.io/containerized-data-importer/.gitignore @@ -8,3 +8,7 @@ release-announcement .vscode cluster/.* .history +.gradle +hack/gen-swagger-doc/*.adoc +hack/gen-swagger-doc/*.md +hack/gen-swagger-doc/html5 diff --git a/vendor/kubevirt.io/containerized-data-importer/.travis.yml b/vendor/kubevirt.io/containerized-data-importer/.travis.yml index 044b3b9cd..da3d3cc61 100644 --- a/vendor/kubevirt.io/containerized-data-importer/.travis.yml +++ b/vendor/kubevirt.io/containerized-data-importer/.travis.yml @@ -23,6 +23,7 @@ notifications: on_failure: always install: + - make generate-verify - make docker - make manifests @@ -90,3 +91,10 @@ deploy: - manifests/generated/cdi-controller.yaml - manifests/generated/cdi-controller.yaml.j2 - manifests/example/* +# need github token assigned to API_REFERENCE_PUSH_TOKEN +# in order to enable the following +#- provider: script +# skip_cleanup: true +# script: bash hack/gen-swagger-doc/deploy.sh +# on: +# tags: true diff --git a/vendor/kubevirt.io/containerized-data-importer/Makefile b/vendor/kubevirt.io/containerized-data-importer/Makefile index 1ee6d1381..3a36a8360 100644 --- a/vendor/kubevirt.io/containerized-data-importer/Makefile +++ b/vendor/kubevirt.io/containerized-data-importer/Makefile @@ -35,6 +35,15 @@ all: docker clean: ${DO} "./hack/build/build-go.sh clean; rm -rf bin/* _out/* manifests/generated/* .coverprofile release-announcement" +generate: + ${DO} "./hack/update-codegen.sh" + +generate-verify: + ${DO} "./hack/verify-codegen.sh" + +apidocs: + ${DO} "./hack/update-codegen.sh && ./hack/gen-swagger-doc/gen-swagger-docs.sh v1alpha1 html" + build: ${DO} "./hack/build/build-go.sh clean && ./hack/build/build-go.sh build ${WHAT} && ./hack/build/build-cdi-func-test-file-host.sh && DOCKER_REPO=${DOCKER_REPO} DOCKER_TAG=${DOCKER_TAG} VERBOSITY=${VERBOSITY} PULL_POLICY=${PULL_POLICY} ./hack/build/build-manifests.sh ${WHAT} && ./hack/build/build-copy-artifacts.sh ${WHAT}" diff --git a/vendor/kubevirt.io/containerized-data-importer/README.md b/vendor/kubevirt.io/containerized-data-importer/README.md index e91b67ffb..c49cb2297 100644 --- a/vendor/kubevirt.io/containerized-data-importer/README.md +++ b/vendor/kubevirt.io/containerized-data-importer/README.md @@ -175,7 +175,7 @@ Once the controller detects the PVC, it starts two pods (source and target pods) When the cloning is completed, the PVC which the image was copied to, is assigned with the 'k8s.io/CloneOf' annotation to indicate cloning completion. The copied VM image can be used by a new pod only after the cloning process is completed. -The two cloning pods must execute on the same node. Pod adffinity is used to enforce this requirement; however, the cluster also needs to be configured to delay volume binding until pod scheduling has completed. +The two cloning pods must execute on the same node. Pod affinity is used to enforce this requirement; however, the cluster also needs to be configured to delay volume binding until pod scheduling has completed. In Kubernetes 1.9 and older export KUBE_FEATURE_GATES before bringing up the cluster: `$ export KUBE_FEATURE_GATES="PersistentLocalVolumes=true,VolumeScheduling=true,MountPropagation=true"` diff --git a/vendor/kubevirt.io/containerized-data-importer/api/openapi-spec/swagger.json b/vendor/kubevirt.io/containerized-data-importer/api/openapi-spec/swagger.json new file mode 100644 index 000000000..ff0a03a21 --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/api/openapi-spec/swagger.json @@ -0,0 +1,1803 @@ +{ + "swagger": "2.0", + "info": { + "description": "Containerized Data Importer for KubeVirt.", + "title": "KubeVirt Containerized Data Importer API", + "contact": { + "name": "kubevirt-dev", + "url": "https://github.com/kubevirt/containerized-data-importer", + "email": "kubevirt-dev@googlegroups.com" + }, + "license": { + "name": "Apache 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0" + } + }, + "paths": { + "/apis": { + "get": { + "produces": [ + "application/json" + ], + "summary": "Get a CDI API GroupList", + "operationId": "getAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIGroupList" + } + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIGroupList" + } + } + } + } + }, + "/apis/cdi.kubevirt.io": { + "get": { + "produces": [ + "application/json" + ], + "summary": "Get a KubeVirt API group", + "operationId": "getAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIGroup" + } + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIGroup" + } + } + } + } + }, + "/apis/cdi.kubevirt.io/v1alpha1": { + "get": { + "produces": [ + "application/json" + ], + "summary": "Get KubeVirt API Resources", + "operationId": "getAPIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIResourceList" + } + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIResourceList" + } + } + } + } + }, + "/apis/cdi.kubevirt.io/v1alpha1/datavolumes": { + "get": { + "produces": [ + "application/json", + "application/yaml", + "application/json;stream=watch" + ], + "summary": "Get a list of all DataVolume objects.", + "operationId": "listDataVolumeForAllNamespaces", + "parameters": [ + { + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "type": "boolean", + "description": "If true, partially initialized resources are included in the response.", + "name": "includeUninitialized", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything", + "name": "labelSelector", + "in": "query" + }, + { + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "name": "resourceVersion", + "in": "query" + }, + { + "type": "integer", + "description": "TimeoutSeconds for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolumeList" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolumeList" + } + } + } + } + }, + "/apis/cdi.kubevirt.io/v1alpha1/namespaces/{namespace}/datavolumes": { + "get": { + "produces": [ + "application/json", + "application/yaml", + "application/json;stream=watch" + ], + "summary": "Get a list of DataVolume objects.", + "operationId": "listNamespacedDataVolume", + "parameters": [ + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "type": "boolean", + "description": "If true, partially initialized resources are included in the response.", + "name": "includeUninitialized", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything", + "name": "labelSelector", + "in": "query" + }, + { + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "name": "resourceVersion", + "in": "query" + }, + { + "type": "integer", + "description": "TimeoutSeconds for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolumeList" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolumeList" + } + } + } + }, + "post": { + "consumes": [ + "application/json", + "application/yaml" + ], + "produces": [ + "application/json", + "application/yaml" + ], + "summary": "Create a DataVolume object.", + "operationId": "createNamespacedDataVolume", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + } + } + }, + "delete": { + "produces": [ + "application/json", + "application/yaml" + ], + "summary": "Delete a collection of DataVolume objects.", + "operationId": "deleteCollectionNamespacedDataVolume", + "parameters": [ + { + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "type": "boolean", + "description": "If true, partially initialized resources are included in the response.", + "name": "includeUninitialized", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything", + "name": "labelSelector", + "in": "query" + }, + { + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "name": "resourceVersion", + "in": "query" + }, + { + "type": "integer", + "description": "TimeoutSeconds for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.Status" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.Status" + } + } + } + } + }, + "/apis/cdi.kubevirt.io/v1alpha1/namespaces/{namespace}/datavolumes/{name}": { + "get": { + "produces": [ + "application/json", + "application/yaml", + "application/json;stream=watch" + ], + "summary": "Get a DataVolume object.", + "operationId": "readNamespacedDataVolume", + "parameters": [ + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Name of the resource", + "name": "name", + "in": "path", + "required": true + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "boolean", + "description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.", + "name": "exact", + "in": "query" + }, + { + "type": "boolean", + "description": "Should this value be exported. Export strips fields that a user can not specify.", + "name": "export", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + } + } + }, + "put": { + "consumes": [ + "application/json", + "application/yaml" + ], + "produces": [ + "application/json", + "application/yaml" + ], + "summary": "Update a DataVolume object.", + "operationId": "replaceNamespacedDataVolume", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Name of the resource", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "201": { + "description": "Create", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + } + } + }, + "delete": { + "consumes": [ + "application/json", + "application/yaml" + ], + "produces": [ + "application/json", + "application/yaml" + ], + "summary": "Delete a DataVolume object.", + "operationId": "deleteNamespacedDataVolume", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.DeleteOptions" + } + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Name of the resource", + "name": "name", + "in": "path", + "required": true + }, + { + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.Status" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.Status" + } + } + } + }, + "patch": { + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json" + ], + "produces": [ + "application/json" + ], + "summary": "Patch a DataVolume object.", + "operationId": "patchNamespacedDataVolume", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Patch" + } + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Name of the resource", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + } + } + } + }, + "/apis/cdi.kubevirt.io/v1alpha1/watch/datavolumes": { + "get": { + "produces": [ + "application/json" + ], + "summary": "Watch a DataVolumeList object.", + "operationId": "watchDataVolumeListForAllNamespaces", + "parameters": [ + { + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "type": "boolean", + "description": "If true, partially initialized resources are included in the response.", + "name": "includeUninitialized", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything", + "name": "labelSelector", + "in": "query" + }, + { + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "name": "resourceVersion", + "in": "query" + }, + { + "type": "integer", + "description": "TimeoutSeconds for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.WatchEvent" + } + } + } + } + }, + "/apis/cdi.kubevirt.io/v1alpha1/watch/namespaces/{namespace}/datavolumes": { + "get": { + "produces": [ + "application/json" + ], + "summary": "Watch a DataVolume object.", + "operationId": "watchNamespacedDataVolume", + "parameters": [ + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "type": "boolean", + "description": "If true, partially initialized resources are included in the response.", + "name": "includeUninitialized", + "in": "query" + }, + { + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything", + "name": "labelSelector", + "in": "query" + }, + { + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.", + "name": "resourceVersion", + "in": "query" + }, + { + "type": "integer", + "description": "TimeoutSeconds for the list/watch call.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.WatchEvent" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.WatchEvent" + } + } + } + } + }, + "/apis/upload.cdi.kubevirt.io": { + "get": { + "produces": [ + "application/json" + ], + "summary": "Get a CDI API Group", + "operationId": "getAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIGroup" + } + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIGroup" + } + } + } + } + }, + "/apis/upload.cdi.kubevirt.io/v1alpha1": { + "get": { + "produces": [ + "application/json" + ], + "summary": "Get a CDI API resources", + "operationId": "getAPIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIResourceList" + } + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1.APIResourceList" + } + } + } + } + }, + "/apis/upload.cdi.kubevirt.io/v1alpha1/namespaces/{namespace}/uploadtokenrequests": { + "post": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "summary": "Create an UploadTokenRequest object.", + "operationId": "createNamespacedUploadTokenRequest", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha1.UploadTokenRequest" + } + }, + { + "pattern": "[a-z0-9][a-z0-9\\-]*", + "type": "string", + "description": "Object name and auth scope, such as for teams and projects", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.UploadTokenRequest" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/v1alpha1.UploadTokenRequest" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/v1alpha1.UploadTokenRequest" + } + }, + "401": { + "description": "Unauthorized" + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha1.UploadTokenRequest" + } + } + } + } + } + }, + "definitions": { + "big.Int": { + "required": [ + "neg", + "abs" + ], + "properties": { + "abs": { + "type": "array", + "items": { + "$ref": "#/definitions/big.Word" + } + }, + "neg": { + "type": "boolean" + } + } + }, + "big.Word": {}, + "inf.Dec": { + "required": [ + "unscaled", + "scale" + ], + "properties": { + "scale": { + "$ref": "#/definitions/inf.Scale" + }, + "unscaled": { + "$ref": "#/definitions/big.Int" + } + } + }, + "resource.Quantity": { + "required": [ + "i", + "d", + "s", + "Format" + ], + "properties": { + "Format": { + "type": "string" + }, + "d": { + "$ref": "#/definitions/resource.infDecAmount" + }, + "i": { + "$ref": "#/definitions/resource.int64Amount" + }, + "s": { + "type": "string" + } + } + }, + "resource.infDecAmount": { + "required": [ + "Dec" + ], + "properties": { + "Dec": { + "$ref": "#/definitions/inf.Dec" + } + } + }, + "resource.int64Amount": { + "required": [ + "value", + "scale" + ], + "properties": { + "scale": { + "$ref": "#/definitions/resource.Scale" + }, + "value": { + "type": "integer", + "format": "int64" + } + } + }, + "types.UID": {}, + "v1.APIGroup": { + "description": "APIGroup contains the name, the supported versions, and the preferred version of a group.", + "required": [ + "name", + "versions" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "name is the name of the group.", + "type": "string" + }, + "preferredVersion": { + "description": "preferredVersion is the version preferred by the API server, which probably is the storage version.", + "$ref": "#/definitions/v1.GroupVersionForDiscovery" + }, + "serverAddressByClientCIDRs": { + "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.ServerAddressByClientCIDR" + } + }, + "versions": { + "description": "versions are the versions supported in this group.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.GroupVersionForDiscovery" + } + } + } + }, + "v1.APIGroupList": { + "description": "APIGroupList is a list of APIGroup, to allow clients to discover the API at /apis.", + "required": [ + "groups" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "groups": { + "description": "groups is a list of APIGroup.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.APIGroup" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + } + } + }, + "v1.APIResource": { + "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "required": [ + "name", + "singularName", + "namespaced", + "kind", + "verbs" + ], + "properties": { + "categories": { + "description": "categories is a list of the grouped resources this resource belongs to (e.g. 'all')", + "type": "array", + "items": { + "type": "string" + } + }, + "group": { + "description": "group is the preferred group of the resource. Empty implies the group of the containing resource list. For subresources, this may have a different value, for example: Scale\".", + "type": "string" + }, + "kind": { + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')", + "type": "string" + }, + "name": { + "description": "name is the plural name of the resource.", + "type": "string" + }, + "namespaced": { + "description": "namespaced indicates if a resource is namespaced or not.", + "type": "boolean" + }, + "shortNames": { + "description": "shortNames is a list of suggested short names of the resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "singularName": { + "description": "singularName is the singular name of the resource. This allows clients to handle plural and singular opaquely. The singularName is more correct for reporting status on a single item and both singular and plural are allowed from the kubectl CLI interface.", + "type": "string" + }, + "verbs": { + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "version is the preferred version of the resource. Empty implies the version of the containing resource list For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource's group)\".", + "type": "string" + } + } + }, + "v1.APIResourceList": { + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "required": [ + "groupVersion", + "resources" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "groupVersion": { + "description": "groupVersion is the group and version this APIResourceList is for.", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "resources": { + "description": "resources contains the name of the resources and if they are namespaced.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.APIResource" + } + } + } + }, + "v1.DeleteOptions": { + "description": "DeleteOptions may be provided when deleting an API object.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "gracePeriodSeconds": { + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "type": "integer", + "format": "int64" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "orphanDependents": { + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "type": "boolean" + }, + "preconditions": { + "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", + "$ref": "#/definitions/v1.Preconditions" + }, + "propagationPolicy": { + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "$ref": "#/definitions/v1.DeletionPropagation" + } + } + }, + "v1.DeletionPropagation": {}, + "v1.GroupVersionForDiscovery": { + "description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", + "required": [ + "groupVersion", + "version" + ], + "properties": { + "groupVersion": { + "description": "groupVersion specifies the API group and version in the form \"group/version\"", + "type": "string" + }, + "version": { + "description": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion.", + "type": "string" + } + } + }, + "v1.Initializer": { + "description": "Initializer is information about an initializer that has not yet completed.", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "name of the process that is responsible for initializing this object.", + "type": "string" + } + } + }, + "v1.Initializers": { + "description": "Initializers tracks the progress of initialization.", + "required": [ + "pending" + ], + "properties": { + "pending": { + "description": "Pending is a list of initializers that must execute in order before this object is visible. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.Initializer" + } + }, + "result": { + "description": "If result is set with the Failure field, the object will be persisted to storage and then deleted, ensuring that other clients can observe the deletion.", + "$ref": "#/definitions/v1.Status" + } + } + }, + "v1.LabelSelector": { + "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", + "properties": { + "matchExpressions": { + "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.LabelSelectorRequirement" + } + }, + "matchLabels": { + "description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "v1.LabelSelectorRequirement": { + "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", + "required": [ + "key", + "operator" + ], + "properties": { + "key": { + "description": "key is the label key that the selector applies to.", + "type": "string" + }, + "operator": { + "description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.", + "type": "string" + }, + "values": { + "description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "v1.ListMeta": { + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "properties": { + "continue": { + "description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response.", + "type": "string" + }, + "resourceVersion": { + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "selfLink is a URL representing this object. Populated by the system. Read-only.", + "type": "string" + } + } + }, + "v1.ObjectMeta": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "clusterName": { + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", + "type": "string" + }, + "creationTimestamp": { + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "type": [ + "string", + "null" + ] + }, + "deletionGracePeriodSeconds": { + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", + "type": "integer", + "format": "int64" + }, + "deletionTimestamp": { + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "type": "string" + }, + "finalizers": { + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.", + "type": "array", + "items": { + "type": "string" + } + }, + "generateName": { + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency", + "type": "string" + }, + "generation": { + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", + "type": "integer", + "format": "int64" + }, + "initializers": { + "description": "An initializer is a controller which enforces some system invariant at object creation time. This field is a list of initializers that have not yet acted on this object. If nil or empty, this object has been completely initialized. Otherwise, the object is considered uninitialized and is hidden (in list/watch and get calls) from clients that haven't explicitly asked to observe uninitialized objects.\n\nWhen an object is created, the system will populate this list with the current set of initializers. Only privileged users may set or modify this list. Once it is empty, it may not be modified further by any user.", + "$ref": "#/definitions/v1.Initializers" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "namespace": { + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces", + "type": "string" + }, + "ownerReferences": { + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.OwnerReference" + } + }, + "resourceVersion": { + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "v1.OwnerReference": { + "description": "OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field.", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "properties": { + "apiVersion": { + "description": "API version of the referent.", + "type": "string" + }, + "blockOwnerDeletion": { + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.", + "type": "boolean" + }, + "controller": { + "description": "If true, this reference points to the managing controller.", + "type": "boolean" + }, + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "v1.Patch": { + "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body." + }, + "v1.PersistentVolumeAccessMode": {}, + "v1.PersistentVolumeClaimSpec": { + "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", + "properties": { + "accessModes": { + "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", + "type": "array", + "items": { + "$ref": "#/definitions/v1.PersistentVolumeAccessMode" + } + }, + "resources": { + "description": "Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources", + "$ref": "#/definitions/v1.ResourceRequirements" + }, + "selector": { + "description": "A label query over volumes to consider for binding.", + "$ref": "#/definitions/v1.LabelSelector" + }, + "storageClassName": { + "description": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1", + "type": "string" + }, + "volumeMode": { + "description": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is an alpha feature and may change in the future.", + "$ref": "#/definitions/v1.PersistentVolumeMode" + }, + "volumeName": { + "description": "VolumeName is the binding reference to the PersistentVolume backing this claim.", + "type": "string" + } + } + }, + "v1.PersistentVolumeMode": {}, + "v1.Preconditions": { + "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "properties": { + "uid": { + "description": "Specifies the target UID.", + "$ref": "#/definitions/types.UID" + } + } + }, + "v1.ResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/resource.Quantity" + } + }, + "requests": { + "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/resource.Quantity" + } + } + } + }, + "v1.ServerAddressByClientCIDR": { + "description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", + "required": [ + "clientCIDR", + "serverAddress" + ], + "properties": { + "clientCIDR": { + "description": "The CIDR with which clients can match their IP to figure out the server address that they should use.", + "type": "string" + }, + "serverAddress": { + "description": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.", + "type": "string" + } + } + }, + "v1.Status": { + "description": "Status is a return value for calls that don't return other objects.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "code": { + "description": "Suggested HTTP return code for this status, 0 if not set.", + "type": "integer", + "format": "int32" + }, + "details": { + "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", + "$ref": "#/definitions/v1.StatusDetails" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "message": { + "description": "A human-readable description of the status of this operation.", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "$ref": "#/definitions/v1.ListMeta" + }, + "reason": { + "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", + "type": "string" + }, + "status": { + "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "type": "string" + } + } + }, + "v1.StatusCause": { + "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "properties": { + "field": { + "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", + "type": "string" + }, + "message": { + "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", + "type": "string" + }, + "reason": { + "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", + "type": "string" + } + } + }, + "v1.StatusDetails": { + "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "properties": { + "causes": { + "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.StatusCause" + } + }, + "group": { + "description": "The group attribute of the resource associated with the status StatusReason.", + "type": "string" + }, + "kind": { + "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", + "type": "string" + }, + "retryAfterSeconds": { + "description": "If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "v1.WatchEvent": { + "required": [ + "type", + "object" + ], + "properties": { + "object": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "v1alpha1.DataVolume": { + "description": "DataVolume provides a representation of our data volume\n+genclient\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", + "required": [ + "spec", + "status" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1alpha1.DataVolumeSpec" + }, + "status": { + "$ref": "#/definitions/v1alpha1.DataVolumeStatus" + } + } + }, + "v1alpha1.DataVolumeBlankImage": { + "description": "DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC" + }, + "v1alpha1.DataVolumeList": { + "description": "DataVolumeList provides the needed parameters to do request a list of Data Volumes from the system\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", + "required": [ + "metadata", + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items provides a list of DataVolumes", + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha1.DataVolume" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ListMeta" + } + } + }, + "v1alpha1.DataVolumeSource": { + "description": "DataVolumeSource represents the source for our Data Volume, this can be HTTP, S3, Registry or an existing PVC", + "properties": { + "blank": { + "$ref": "#/definitions/v1alpha1.DataVolumeBlankImage" + }, + "http": { + "$ref": "#/definitions/v1alpha1.DataVolumeSourceHTTP" + }, + "pvc": { + "$ref": "#/definitions/v1alpha1.DataVolumeSourcePVC" + }, + "registry": { + "$ref": "#/definitions/v1alpha1.DataVolumeSourceRegistry" + }, + "s3": { + "$ref": "#/definitions/v1alpha1.DataVolumeSourceS3" + }, + "upload": { + "$ref": "#/definitions/v1alpha1.DataVolumeSourceUpload" + } + } + }, + "v1alpha1.DataVolumeSourceHTTP": { + "description": "DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source", + "properties": { + "secretRef": { + "description": "SecretRef provides the secret reference needed to access the HTTP source", + "type": "string" + }, + "url": { + "description": "URL is the URL of the http source", + "type": "string" + } + } + }, + "v1alpha1.DataVolumeSourcePVC": { + "description": "DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC", + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + } + } + }, + "v1alpha1.DataVolumeSourceRegistry": { + "description": "DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source", + "properties": { + "secretRef": { + "description": "SecretRef provides the secret reference needed to access the Registry source", + "type": "string" + }, + "url": { + "description": "URL is the url of the Registry source", + "type": "string" + } + } + }, + "v1alpha1.DataVolumeSourceS3": { + "description": "DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source", + "properties": { + "secretRef": { + "description": "SecretRef provides the secret reference needed to access the S3 source", + "type": "string" + }, + "url": { + "description": "URL is the url of the S3 source", + "type": "string" + } + } + }, + "v1alpha1.DataVolumeSourceUpload": { + "description": "DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source" + }, + "v1alpha1.DataVolumeSpec": { + "description": "DataVolumeSpec defines our specification for a DataVolume type", + "required": [ + "source", + "pvc" + ], + "properties": { + "pvc": { + "description": "PVC is a pointer to the PVC Spec we want to use", + "$ref": "#/definitions/v1.PersistentVolumeClaimSpec" + }, + "source": { + "description": "Source is the src of the data for the requested DataVolume", + "$ref": "#/definitions/v1alpha1.DataVolumeSource" + } + } + }, + "v1alpha1.DataVolumeStatus": { + "description": "DataVolumeStatus provides the parameters to store the phase of the Data Volume", + "properties": { + "phase": { + "description": "Phase is the current phase of the data volume", + "type": "string" + } + } + }, + "v1alpha1.UploadTokenRequest": { + "description": "UploadTokenRequest is the CR used to initiate a CDI upload\n+genclient\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "spec": { + "description": "Spec contains the parameters of the request", + "$ref": "#/definitions/v1alpha1.UploadTokenRequestSpec" + }, + "status": { + "description": "Status contains the status of the request", + "$ref": "#/definitions/v1alpha1.UploadTokenRequestStatus" + } + } + }, + "v1alpha1.UploadTokenRequestSpec": { + "description": "UploadTokenRequestSpec defines the parameters of the token request", + "required": [ + "pvcName" + ], + "properties": { + "pvcName": { + "description": "PvcName is the name of the PVC to upload to", + "type": "string" + } + } + }, + "v1alpha1.UploadTokenRequestStatus": { + "description": "UploadTokenRequestStatus stores the status of a token request", + "properties": { + "token": { + "description": "Token is a JWT token to be inserted in \"Authentication Bearer header\"", + "type": "string" + } + } + } + }, + "securityDefinitions": { + "BearerToken": { + "description": "Bearer Token authentication", + "type": "apiKey", + "name": "authorization", + "in": "header" + } + }, + "security": [ + { + "BearerToken": [] + } + ] + } diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.mounts b/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.11.0-release.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.mounts rename to vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.11.0-release.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.packages b/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.11.0-release.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.packages rename to vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.11.0-release.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.sh b/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.11.0-release.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.sh rename to vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.11.0-release.sh diff --git a/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.10.4-release.mounts b/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.11.0-release.mounts similarity index 100% rename from vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.10.4-release.mounts rename to vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.11.0-release.mounts diff --git a/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.10.4-release.packages b/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.11.0-release.packages similarity index 100% rename from vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.10.4-release.packages rename to vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.11.0-release.packages diff --git a/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.10.4-release.sh b/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.11.0-release.sh similarity index 100% rename from vendor/kubevirt.io/containerized-data-importer/automation/check-patch.k8s-1.10.4-release.sh rename to vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.11.0-release.sh diff --git a/vendor/kubevirt.io/containerized-data-importer/automation/test.sh b/vendor/kubevirt.io/containerized-data-importer/automation/test.sh index 3d1a37ca4..e970e92a9 100755 --- a/vendor/kubevirt.io/containerized-data-importer/automation/test.sh +++ b/vendor/kubevirt.io/containerized-data-importer/automation/test.sh @@ -30,9 +30,9 @@ readonly ARTIFACTS_PATH="exported-artifacts" mkdir -p "$ARTIFACTS_PATH" if [[ $TARGET =~ openshift-.* ]]; then - export KUBEVIRT_PROVIDER="os-3.10.0" + export KUBEVIRT_PROVIDER="os-3.11.0" elif [[ $TARGET =~ k8s-.* ]]; then - export KUBEVIRT_PROVIDER="k8s-1.10.4" + export KUBEVIRT_PROVIDER="k8s-1.11.0" fi export KUBEVIRT_NUM_NODES=2 diff --git a/vendor/kubevirt.io/containerized-data-importer/cluster/up.sh b/vendor/kubevirt.io/containerized-data-importer/cluster/up.sh index 8f522278e..ed23e828c 100755 --- a/vendor/kubevirt.io/containerized-data-importer/cluster/up.sh +++ b/vendor/kubevirt.io/containerized-data-importer/cluster/up.sh @@ -4,6 +4,8 @@ source ./cluster/gocli.sh source ./hack/build/config.sh num_nodes=${KUBEVIRT_NUM_NODES:-1} +mem_size=${KUBEVIRT_MEMORY_SIZE:-5120M} + re='^-?[0-9]+$' if ! [[ $num_nodes =~ $re ]] || [[ $num_nodes -lt 1 ]] ; then num_nodes=1 @@ -12,7 +14,7 @@ fi image=$(getClusterType) echo "Image:${image}" if [[ $image == $KUBERNETES_IMAGE ]]; then - $gocli run --random-ports --nodes ${num_nodes} --background kubevirtci/${image} + $gocli run --random-ports --nodes ${num_nodes} --memory ${mem_size} --background kubevirtci/${image} cluster_port=$($gocli ports k8s | tr -d '\r') $gocli scp /usr/bin/kubectl - > ./cluster/.kubectl chmod u+x ./cluster/.kubectl @@ -28,7 +30,7 @@ elif [[ $image == $OPENSHIFT_IMAGE ]]; then KUBEVIRT_PROVIDER_EXTRA_ARGS="${KUBEVIRT_PROVIDER_EXTRA_ARGS} --ocp-port 8443" fi - $gocli run --random-ports --reverse --nodes ${num_nodes} --background kubevirtci/${image} ${KUBEVIRT_PROVIDER_EXTRA_ARGS} + $gocli run --random-ports --reverse --nodes ${num_nodes} --memory ${mem_size} --background kubevirtci/${image} ${KUBEVIRT_PROVIDER_EXTRA_ARGS} cluster_port=$($gocli ports ocp | tr -d '\r') $gocli scp /etc/origin/master/admin.kubeconfig - > ./cluster/.kubeconfig $gocli ssh node01 -- sudo cp /etc/origin/master/admin.kubeconfig ~vagrant/ diff --git a/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-cloner/clonertarget.go b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-cloner/clonertarget.go index 08e2dac3c..e5bcbb105 100644 --- a/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-cloner/clonertarget.go +++ b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-cloner/clonertarget.go @@ -2,13 +2,11 @@ package main import ( "bufio" - "bytes" "flag" "fmt" "io" "io/ioutil" "os" - "os/exec" "strconv" "time" @@ -89,7 +87,7 @@ func main() { // Start the progress update thread. go promReader.timedUpdateProgress() - err = untar(promReader, ".") + err = util.UnArchiveTar(promReader, ".") if err != nil { glog.Errorf("%+v", err) os.Exit(1) @@ -126,24 +124,6 @@ func (r *prometheusProgressReader) updateProgress() { } } -// Untar the contents of the passed in Reader. -func untar(r io.Reader, targetDir string) error { - var buf bytes.Buffer - untar := exec.Command("/usr/bin/tar", "xvC", targetDir) - untar.Stdin = r - untar.Stderr = &buf - err := untar.Start() - if err != nil { - return err - } - err = untar.Wait() - if err != nil { - glog.Errorf("%s\n", string(buf.Bytes())) - return err - } - return err -} - // read total file size from reader, and return the value as an int64 func readTotal(r io.Reader) int64 { totalScanner := bufio.NewScanner(r) diff --git a/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/controller.go b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/controller.go index 4dac25d67..1a588342a 100644 --- a/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/controller.go +++ b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/controller.go @@ -15,9 +15,11 @@ import ( informers "kubevirt.io/containerized-data-importer/pkg/client/informers/externalversions" "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/apis/meta/v1" k8sinformers "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" ) @@ -77,13 +79,9 @@ func getRequiredEnvVar(name string) string { return val } -func main() { - defer glog.Flush() +func start(cfg *rest.Config, stopCh <-chan struct{}) { + glog.Info("Starting CDI controller components") - cfg, err := clientcmd.BuildConfigFromFlags(masterURL, configPath) - if err != nil { - glog.Fatalf("Unable to get kube config: %v\n", errors.WithStack(err)) - } client, err := kubernetes.NewForConfig(cfg) if err != nil { glog.Fatalf("Unable to get kube client: %v\n", errors.WithStack(err)) @@ -139,8 +137,6 @@ func main() { glog.V(1).Infoln("created cdi controllers") - stopCh := handleSignals() - go cdiInformerFactory.Start(stopCh) go pvcInformerFactory.Start(stopCh) go podInformerFactory.Start(stopCh) @@ -175,6 +171,25 @@ func main() { glog.Fatalln("Error running upload controller: %+v", err) } }() +} + +func main() { + defer glog.Flush() + + cfg, err := clientcmd.BuildConfigFromFlags(masterURL, configPath) + if err != nil { + glog.Fatalf("Unable to get kube config: %v\n", errors.WithStack(err)) + } + + stopCh := handleSignals() + + err = startLeaderElection(cfg, func() { + start(cfg, stopCh) + }) + + if err != nil { + glog.Fatalf("Unable to start leader election: %v\n", errors.WithStack(err)) + } <-stopCh glog.V(2).Infoln("cdi controller exited") diff --git a/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/leaderelection.go b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/leaderelection.go new file mode 100644 index 000000000..8f802bcee --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-controller/leaderelection.go @@ -0,0 +1,112 @@ +package main + +import ( + "os" + "time" + + "github.com/golang/glog" + + corev1 "k8s.io/api/core/v1" + k8serrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/uuid" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/kubernetes/scheme" + typedcorev1 "k8s.io/client-go/kubernetes/typed/core/v1" + "k8s.io/client-go/rest" + "k8s.io/client-go/tools/leaderelection" + "k8s.io/client-go/tools/leaderelection/resourcelock" + "k8s.io/client-go/tools/record" + + "kubevirt.io/containerized-data-importer/pkg/common" + "kubevirt.io/containerized-data-importer/pkg/util" +) + +const ( + configMapName = "cdi-controller-leader-election-helper" + componentName = "cdi-controller" +) + +func startLeaderElection(config *rest.Config, leaderFunc func()) error { + client := kubernetes.NewForConfigOrDie(config) + namespace := util.GetNamespace() + + // create manually so it has CDI component label + err := createConfigMap(client, namespace, configMapName) + if err != nil && !k8serrors.IsAlreadyExists(err) { + return err + } + + resourceLock, err := createResourceLock(client, namespace, configMapName) + if err != nil { + return err + } + + leaderElector, err := createLeaderElector(resourceLock, leaderFunc) + if err != nil { + return err + } + + glog.Info("Attempting to acquire leader lease") + go leaderElector.Run() + + return nil +} + +func createConfigMap(client kubernetes.Interface, namespace, name string) error { + cm := &corev1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: namespace, + Labels: map[string]string{ + common.CDIComponentLabel: componentName, + }, + }, + } + + _, err := client.CoreV1().ConfigMaps(namespace).Create(cm) + return err +} + +func createResourceLock(client kubernetes.Interface, namespace, name string) (resourcelock.Interface, error) { + // Leader id, needs to be unique + id, err := os.Hostname() + if err != nil { + return nil, err + } + + id = id + "_" + string(uuid.NewUUID()) + + return resourcelock.New(resourcelock.ConfigMapsResourceLock, + namespace, + name, + client.CoreV1(), + resourcelock.ResourceLockConfig{ + Identity: id, + EventRecorder: createEventRecorder(client, namespace, componentName), + }) +} + +func createLeaderElector(resourceLock resourcelock.Interface, leaderFunc func()) (*leaderelection.LeaderElector, error) { + return leaderelection.NewLeaderElector(leaderelection.LeaderElectionConfig{ + Lock: resourceLock, + LeaseDuration: 15 * time.Second, + RenewDeadline: 10 * time.Second, + RetryPeriod: 2 * time.Second, + Callbacks: leaderelection.LeaderCallbacks{ + OnStartedLeading: func(_ <-chan struct{}) { + glog.Info("Successfully acquired leadership lease") + leaderFunc() + }, + OnStoppedLeading: func() { + glog.Fatal("NO LONGER LEADER, EXITING") + }, + }, + }) +} + +func createEventRecorder(client kubernetes.Interface, namespace, name string) record.EventRecorder { + eventBroadcaster := record.NewBroadcaster() + eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: client.CoreV1().Events(namespace)}) + return eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: componentName}) +} diff --git a/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-importer/importer.go b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-importer/importer.go index 66bf47859..41e0fccc6 100644 --- a/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-importer/importer.go +++ b/vendor/kubevirt.io/containerized-data-importer/cmd/cdi-importer/importer.go @@ -67,10 +67,10 @@ func main() { if source == controller.SourceNone && contentType == controller.ContentTypeKubevirt { requestImageSizeQuantity := resource.MustParse(imageSize) - minSizeQuantity := util.MinQuantity(resource.NewScaledQuantity(util.GetAvailableSpace(common.ImporterWritePath), 0), &requestImageSizeQuantity) + minSizeQuantity := util.MinQuantity(resource.NewScaledQuantity(util.GetAvailableSpace(common.ImporterVolumePath), 0), &requestImageSizeQuantity) if minSizeQuantity.Cmp(requestImageSizeQuantity) != 0 { // Available dest space is smaller than the size we want to create - glog.Warningf("Available space less than requested size, creating blank image sized to availabe space: %s.\n", minSizeQuantity.String()) + glog.Warningf("Available space less than requested size, creating blank image sized to available space: %s.\n", minSizeQuantity.String()) } err := image.CreateBlankImage(common.ImporterWritePath, minSizeQuantity) if err != nil { diff --git a/vendor/kubevirt.io/containerized-data-importer/doc/blank-raw-image.md b/vendor/kubevirt.io/containerized-data-importer/doc/blank-raw-image.md new file mode 100644 index 000000000..83b2ccc3d --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/doc/blank-raw-image.md @@ -0,0 +1,69 @@ +# How to create Blank Raw Image User Guide +The purpose of this document is to show how to create a new blank raw image in your PersistentVolumeClaim resource. + +## Prerequesites +You have a Kubernetes cluster up and running with CDI installed and at least one PersistentVolume is available. + +## Create Blank Raw Image with DataVolume manifest + +Create the following DataVolume manifest (blank-image-datavolume.yaml): + +```bash +apiVersion: cdi.kubevirt.io/v1alpha1 +kind: DataVolume +metadata: + name: blank-image-datavolume +spec: + source: + blank: {} + pvc: + # Optional: Set the storage class or omit to accept the default + # storageClassName: "hostpath" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 500Mi +``` + +Deploy the DataVolume manifest: + +```bash +kubectl create -f blank-image-datavolume.yaml +``` + +An importer pod will be spawned and the new image will be created on your PV. + +Another way to create the image is by creating a PVC (blank-image-pvc.yaml) and deploy it: + +```bash +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: "blank-image-pvc" + labels: + app: containerized-data-importer + annotations: + cdi.kubevirt.io/storage.import.source: "none" +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 4Gi + # Optional: Set the storage class or omit to accept the default + # storageClassName: local +``` + +Deploy the PVC: + +```bash +kubectl create -f blank-image-pvc.yaml +``` + + + + + + + diff --git a/vendor/kubevirt.io/containerized-data-importer/glide.lock b/vendor/kubevirt.io/containerized-data-importer/glide.lock index 813953a39..f6b4a317a 100644 --- a/vendor/kubevirt.io/containerized-data-importer/glide.lock +++ b/vendor/kubevirt.io/containerized-data-importer/glide.lock @@ -1,5 +1,5 @@ -hash: 6df1b14931272ce417bd0064d97ecb4e90b3c142fe54fa79ed91b4097de07944 -updated: 2018-11-28T08:50:43.397407624-05:00 +hash: bea5521c4d397c8e4cd24f7e171f5a941e33cf78c62dd38276a278612f8e2f76 +updated: 2018-12-03T11:33:09.922918662-05:00 imports: - name: github.com/beorn7/perks version: 3ac7bf7a47d159a033b107610db8a1b6575507a4 @@ -17,10 +17,20 @@ imports: version: 26b41036311f2da8242db402557a0dbd09dc83da subpackages: - log +- name: github.com/emicklei/go-restful-openapi + version: b7062368c258c9e8f8cbe9dd2e6aebfa1b747be6 - name: github.com/ghodss/yaml version: 73d445a93680fa1a78ae23a5839bad48f32ba1ee - name: github.com/go-ini/ini - version: 9c8236e659b76e87bf02044d06fde8683008ff3e + version: ffaaebdac6e54ce73b4e196b8406920921304ec9 +- name: github.com/go-openapi/jsonpointer + version: 46af16f9f7b149af66e5d1bd010e3574dc06de98 +- name: github.com/go-openapi/jsonreference + version: 13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272 +- name: github.com/go-openapi/spec + version: 1de3e0542de65ad8d75452a595886fdd0befb363 +- name: github.com/go-openapi/swag + version: f3f9494671f93fcff853e3c6e9e948b3eb71e590 - name: github.com/gogo/protobuf version: c0656edd0d9eab7c66d1eb0c568f9039345796f7 subpackages: @@ -64,6 +74,12 @@ imports: version: 6633656539c1639d9d78127b7d47c622b5d7b6dc - name: github.com/json-iterator/go version: f2b4162afba35581b6d4a50d3b8f34e33c144682 +- name: github.com/mailru/easyjson + version: 2f5df55504ebc322e4d52d34df6a1f5b503bf26d + subpackages: + - buffer + - jlexer + - jwriter - name: github.com/matttproud/golang_protobuf_extensions version: fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a subpackages: @@ -105,7 +121,7 @@ imports: - reporters/stenographer/support/go-isatty - types - name: github.com/onsi/gomega - version: dcabb60a477c2b6f456df65037cb6708210fbb02 + version: e0d4387cf37d6cc3baeb80f61bd24a37e5dfae26 subpackages: - format - internal/assertion @@ -118,6 +134,8 @@ imports: - matchers/support/goraph/node - matchers/support/goraph/util - types +- name: github.com/pborman/uuid + version: ca53cad383cad2479bbba7f7a1a05797ec1386e4 - name: github.com/peterbourgon/diskv version: 5f041e8faa004a95c88a202771f4cc3e991971e6 - name: github.com/pkg/errors @@ -141,6 +159,10 @@ imports: version: 65c1f6f8f0fc1e2185eb9863a3bc751496404259 subpackages: - xfs +- name: github.com/PuerkitoBio/purell + version: 8a290539e2e8629dbc4e6bad948158f790ec31f4 +- name: github.com/PuerkitoBio/urlesc + version: 5bd2802263f21d8788851d5305584c82a5c75d7e - name: github.com/spf13/pflag version: 583c0c0531f06d5278b7d917446061adc344b5cd - name: github.com/ulikunitz/xz @@ -178,6 +200,7 @@ imports: - name: golang.org/x/text version: b19bf474d317b857955b12035d2c5acb57ce8b01 subpackages: + - cases - encoding - encoding/charmap - encoding/htmlindex @@ -188,14 +211,17 @@ imports: - encoding/simplifiedchinese - encoding/traditionalchinese - encoding/unicode + - internal - internal/tag - internal/utf8internal - language - runes - secure/bidirule + - secure/precis - transform - unicode/bidi - unicode/norm + - width - name: golang.org/x/time version: f51c12702a4d776e4c1fa9b0fabab841babae631 subpackages: @@ -203,7 +229,7 @@ imports: - name: gopkg.in/inf.v0 version: 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 - name: gopkg.in/square/go-jose.v2 - version: ef984e69dd356202fd4e4910d4d9c24468bdf0b8 + version: f61ac651e23224d43848a8dc387dee016d7eacf9 subpackages: - cipher - json @@ -282,6 +308,7 @@ imports: - pkg/util/runtime - pkg/util/sets - pkg/util/strategicpatch + - pkg/util/uuid - pkg/util/validation - pkg/util/validation/field - pkg/util/wait @@ -439,6 +466,8 @@ imports: - tools/clientcmd/api - tools/clientcmd/api/latest - tools/clientcmd/api/v1 + - tools/leaderelection + - tools/leaderelection/resourcelock - tools/metrics - tools/pager - tools/record @@ -476,6 +505,7 @@ imports: - name: k8s.io/kube-openapi version: 91cfa479c814065e420cee7ed227db0f63a5854e subpackages: + - pkg/common - pkg/util/proto - name: kubevirt.io/qe-tools version: 13fc8573324cd2af42c88043b5a7c6e03bf39f95 diff --git a/vendor/kubevirt.io/containerized-data-importer/glide.yaml b/vendor/kubevirt.io/containerized-data-importer/glide.yaml index fcccfb69e..8ffa81566 100644 --- a/vendor/kubevirt.io/containerized-data-importer/glide.yaml +++ b/vendor/kubevirt.io/containerized-data-importer/glide.yaml @@ -26,3 +26,5 @@ import: version: ^2.1.8 - package: github.com/prometheus/client_golang version: 0.8.0 +- package: github.com/emicklei/go-restful-openapi + version: ^1.0.0 diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/README.md b/vendor/kubevirt.io/containerized-data-importer/hack/README.md index 23cda0e2d..5b97125f9 100644 --- a/vendor/kubevirt.io/containerized-data-importer/hack/README.md +++ b/vendor/kubevirt.io/containerized-data-importer/hack/README.md @@ -62,7 +62,7 @@ The standard workflow is performed inside a helper container to normalize the bu - `vet`: lint all CDI packages - `format`: Execute `shfmt`, `goimports`, and `go vet` on all CDI packages. Writes back to the source files. - `publish`: CI ONLY - this recipe is not intended for use by developers -- `cluster-up`: Start a default Kubernetes or Open Shift cluster. set KUBEVIRT_PROVIDER environment variable to either 'k8s-1.10.4' or 'os-3.10.0' to select the type of cluster. set KUBEVIRT_NUM_NODES to something higher than 1 to have more than one node. +- `cluster-up`: Start a default Kubernetes or Open Shift cluster. set KUBEVIRT_PROVIDER environment variable to either 'k8s-1.11.0' or 'os-3.11.0' to select the type of cluster. set KUBEVIRT_NUM_NODES to something higher than 1 to have more than one node. - `cluster-down`: Stop the cluster, doing a make cluster-down && make cluster-up will basically restart the cluster into an empty fresh state. - `cluster-sync`: Builds the controller/importer/cloner, and pushes it into a running cluster. The cluster must be up before running a cluster sync. Also generates a manifest and applies it to the running cluster after pushing the images to it. - `release-description`: Generate a release announcement detailing changes between 2 commits (typically tags). Expects `RELREF` and `PREREF` to be set @@ -98,7 +98,7 @@ Environment Variables and Supported Values | Env Variable | Default | Additional Values | |--------------------|---------------|--------------------| -|KUBEVIRT_PROVIDER | k8s-1.10.4 | os-3.10.0 | +|KUBEVIRT_PROVIDER | k8s-1.11.0 | os-3.11.0 | |NUM_NODES | 1 | 2-5 | To Run Standard *cluster-up/kubevirtci* Tests diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/build/common.sh b/vendor/kubevirt.io/containerized-data-importer/hack/build/common.sh index f6acff7c4..ba8208749 100755 --- a/vendor/kubevirt.io/containerized-data-importer/hack/build/common.sh +++ b/vendor/kubevirt.io/containerized-data-importer/hack/build/common.sh @@ -21,3 +21,4 @@ BUILD_DIR=${CDI_DIR}/hack/build MANIFEST_TEMPLATE_DIR=${CDI_DIR}/manifests/templates MANIFEST_GENERATED_DIR=${CDI_DIR}/manifests/generated SOURCE_DIRS="pkg tests tools" +APIDOCS_OUT_DIR=${OUT_DIR}/apidocs diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/build/config.sh b/vendor/kubevirt.io/containerized-data-importer/hack/build/config.sh index edb9e7c55..624f727e9 100755 --- a/vendor/kubevirt.io/containerized-data-importer/hack/build/config.sh +++ b/vendor/kubevirt.io/containerized-data-importer/hack/build/config.sh @@ -44,10 +44,11 @@ VERBOSITY=${VERBOSITY:-1} PULL_POLICY=${PULL_POLICY:-IfNotPresent} NAMESPACE=${NAMESPACE:-kube-system} -KUBERNETES_IMAGE="k8s-1.10.4@sha256:b60a61ca03a1a6c504481020709a04f65e4dd9c929a8bcad18821c5f80d1b2b6" -OPENSHIFT_IMAGE="os-3.10.0@sha256:cc418c0c837d8e6c9a31a063762d9e4c8bfc70a1fcca10823b11c6d8a7ae2394" +KUBERNETES_IMAGE="k8s-1.11.0@sha256:3412f158ecad53543c9b0aa8468db84dd043f01832a66f0db90327b7dc36a8e8" +OPENSHIFT_IMAGE="os-3.11.0-crio@sha256:ede83c50c2676e919ef3914e847450f2caf1d6771cb8183eb511bc08660d6fe1" -KUBEVIRT_PROVIDER=${KUBEVIRT_PROVIDER:-k8s-1.10.4} + +KUBEVIRT_PROVIDER=${KUBEVIRT_PROVIDER:-k8s-1.11.0} function allPkgs() { ret=$(sed "s,kubevirt.io/containerized-data-importer,${CDI_DIR},g" <(go list ./... | grep -v "pkg/client" | sort -u)) @@ -78,10 +79,10 @@ function parseTestOpts() { function getClusterType() { local image case "${KUBEVIRT_PROVIDER}" in - "k8s-1.10.4") + "k8s-1.11.0") image=$KUBERNETES_IMAGE ;; - "os-3.10.0") + "os-3.11.0") image=$OPENSHIFT_IMAGE ;; esac diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/Dockerfile b/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/Dockerfile index 8382b16c9..453a32fc1 100644 --- a/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/Dockerfile +++ b/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/Dockerfile @@ -1,8 +1,8 @@ FROM fedora:28 -RUN dnf install -y qemu xz gzip git && dnf clean all +RUN dnf install -y qemu xz gzip git gradle && dnf clean all -ENV GIMME_GO_VERSION=1.10 GOPATH="/go" GOBIN="/usr/bin" +ENV GIMME_GO_VERSION=1.10 GOPATH="/go" RUN mkdir -p /gimme && curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | HOME=/gimme bash >> /etc/profile.d/gimme.sh @@ -24,7 +24,17 @@ RUN \ ( go get -d github.com/mattn/goveralls && \ cd $GOPATH/src/github.com/mattn/goveralls && \ go install ./... ) && \ - ( go get -u golang.org/x/lint/golint ) + ( go get -u golang.org/x/lint/golint ) && \ + ( go get -u github.com/rmohr/go-swagger-utils/swagger-doc ) && \ + ( go get -u -d k8s.io/code-generator/cmd/deepcopy-gen && \ + go get -u -d k8s.io/kube-openapi/cmd/openapi-gen ) && \ + ( cd $GOPATH/src/k8s.io/code-generator/cmd/deepcopy-gen && \ + git checkout kubernetes-1.11.2 && \ + go install ./... ) && \ + ( cd $GOPATH/src/k8s.io/kube-openapi/cmd/openapi-gen && \ + git checkout c59034cc13d587f5ef4e85ca0ade0c1866ae8e1d && \ + go install ./... ) + ADD entrypoint.sh /entrypoint.sh diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/entrypoint.sh b/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/entrypoint.sh index 765b74c1e..cb8c8ffc4 100755 --- a/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/entrypoint.sh +++ b/vendor/kubevirt.io/containerized-data-importer/hack/build/docker/builder/entrypoint.sh @@ -18,4 +18,10 @@ set -eo pipefail source /etc/profile.d/gimme.sh +export PATH=${GOPATH}/bin:$PATH + eval "$@" + +if [ -n ${RUN_UID} ] && [ -n ${RUN_GID} ]; then + find . -user root -exec chown -h ${RUN_UID}:${RUN_GID} {} \; +fi diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/build/in-docker.sh b/vendor/kubevirt.io/containerized-data-importer/hack/build/in-docker.sh index f5b0c5487..17a6626c8 100755 --- a/vendor/kubevirt.io/containerized-data-importer/hack/build/in-docker.sh +++ b/vendor/kubevirt.io/containerized-data-importer/hack/build/in-docker.sh @@ -20,12 +20,19 @@ script_dir="$(readlink -f $(dirname $0))" source "${script_dir}"/common.sh WORK_DIR="/go/src/kubevirt.io/containerized-data-importer" -BUILDER='builder' -BUILDER_SPEC="${BUILD_DIR}/docker/${BUILDER}" +BUILDER_SPEC="${BUILD_DIR}/docker/builder" +BUILDER_TAG='kubevirt-cdi-builder' # Build the encapsulated compile and test container -(cd ${BUILDER_SPEC} && docker build --tag ${BUILDER} .) +(cd ${BUILDER_SPEC} && docker build --tag ${BUILDER_TAG} .) # Execute the build [ -t 1 ] && USE_TTY="-it" -docker run ${USE_TTY} --rm -v ${CDI_DIR}:${WORK_DIR}:rw,Z -w ${WORK_DIR} ${BUILDER} "$1" +docker run ${USE_TTY} \ + --rm \ + -v ${CDI_DIR}:${WORK_DIR}:rw,Z \ + -e RUN_UID=$(id -u) \ + -e RUN_GID=$(id -g) \ + -w ${WORK_DIR} \ + ${BUILDER_TAG} "$1" + diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/build/release-description.sh b/vendor/kubevirt.io/containerized-data-importer/hack/build/release-description.sh index d3afe613e..4cdbd0670 100755 --- a/vendor/kubevirt.io/containerized-data-importer/hack/build/release-description.sh +++ b/vendor/kubevirt.io/containerized-data-importer/hack/build/release-description.sh @@ -37,7 +37,10 @@ The source code and selected binaries are available for download at: Pre-built CDI containers are published on Docker Hub and can be viewed at: -. + + + + EOF } @@ -72,8 +75,10 @@ Additional Resources -------------------- - Mailing list: - [How to contribute][contributing] +- [License][license] [contributing]: https://github.com/kubevirt/containerized-data-importer/blob/master/hack/README.md +[license]: https://github.com/kubevirt/containerized-data-importer/blob/master/LICENSE EOF } diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/build.gradle b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/build.gradle new file mode 100644 index 000000000..dfecf7aa1 --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/build.gradle @@ -0,0 +1,35 @@ +buildscript { + repositories { + mavenLocal() + jcenter() + } + + dependencies { + classpath "io.github.swagger2markup:swagger2markup-gradle-plugin:1.3.1" + classpath "org.asciidoctor:asciidoctor-gradle-plugin:1.5.6" + } +} + +apply plugin: 'io.github.swagger2markup' + +convertSwagger2markup { + swaggerInput "./api/openapi-spec/swagger.json" + outputDir file("./") + config = [ + 'swagger2markup.markupLanguage': markupLanguage, + 'swagger2markup.interDocumentCrossReferencesEnabled': true, + ] +} + +apply plugin: 'org.asciidoctor.convert' + +asciidoctor { + sourceDir = file('./') + sources { + // paths.adoc is being renamed to operations.adoc by gen-swagger-docs.sh. + // Keeping it here in case somebody run: gradle convertSwagger2markup asciidoctor + include 'definitions.adoc', 'overview.adoc', 'paths.adoc', 'security.adoc', 'operations.adoc' + } + outputDir = file('./') + attributes 'toc' : 'right' +} diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/deploy.sh b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/deploy.sh new file mode 100755 index 000000000..0278b84d6 --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/deploy.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +set -e + +GITHUB_FQDN=github.com +API_REF_REPO=kubevirt/cdi-api-reference +API_REF_DIR=/tmp/cdi-api-reference +GITHUB_IO_FQDN="https://kubevirt.io/cdi-api-reference" + +TARGET_DIR="$TRAVIS_BRANCH" +if [ -n "${TRAVIS_TAG}" ]; then + TARGET_DIR="$TRAVIS_TAG" +fi + +rm -rf "${API_REF_DIR}" +git clone \ + "https://${API_REFERENCE_PUSH_TOKEN}@${GITHUB_FQDN}/${API_REF_REPO}.git" \ + "${API_REF_DIR}" >/dev/null 2>&1 +mkdir -p ${API_REF_DIR}/${TARGET_DIR} +cp -f _out/apidocs/html/*.html "${API_REF_DIR}/${TARGET_DIR}/" + +cd "${API_REF_DIR}" + +# Generate README.md file +cat >README.md <<__EOF__ +# KubeVirt Containerized Data Importer API Reference + +Content of this repository is generated from OpenAPI specification of +[KubeVirt Containerized Data Importer project](https://github.com/kubevirt/containerized-data-importer) . + +## KubeVirt Containerized Data Importer API References + +* [master](${GITHUB_IO_FQDN}/master/index.html) +__EOF__ +find * -type d -regex "^v[0-9.]*" \ + -exec echo "* [{}](${GITHUB_IO_FQDN}/{}/index.html)" \; >>README.md + +git config --global user.email "travis@travis-ci.org" +git config --global user.name "Travis CI" + +# NOTE: exclude index.html from match, becasue it is static except commit hash. +if git status --porcelain | grep -v "index[.]html" | grep --quiet "^ [AM]"; then + git add -A README.md "${TARGET_DIR}"/*.html + git commit --message "API Reference update by Travis Build ${TRAVIS_BUILD_NUMBER}" + + git push origin master >/dev/null 2>&1 + echo "API Reference updated for ${TARGET_DIR}." +else + echo "API Reference hasn't changed." +fi diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gen-swagger-docs.sh b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gen-swagger-docs.sh new file mode 100755 index 000000000..cde06ac0e --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gen-swagger-docs.sh @@ -0,0 +1,104 @@ +#!/bin/bash + +# gen-swagger-docs.sh $API_VERSION $OUTPUT_FORMAT +# API_VERSION=v1 +# OUTPUT_FORMAT=html|markdown + +source $(dirname "$0")/../build/common.sh + +set -o errexit +set -o nounset +set -o pipefail + +VERSION="$1" +OUTPUT_FORMAT="$2" + +VERSION="${VERSION:-v1}" +OUTPUT_FORMAT="${OUTPUT_FORMAT:-html}" +GIT_REPO_LINK="https://github.com/kubevirt/containerized-data-importer" +if [ "$OUTPUT_FORMAT" = "html" ]; then + SUFFIX="adoc" + HEADER="=" + LINK1_TEMPLATE="\* \<\<\${VERSION}.\$m\>\>" + LINK_DEFINITIONS="* link:./definitions.html[Types Definition]" + LINK_OPERATIONS="* link:./operations.html[Operations]" + GRADLE_EXTRA_PARAMS="" +elif [ "$OUTPUT_FORMAT" = "markdown" ]; then + SUFFIX="md" + HEADER="#" + LINK1_TEMPLATE="\* [\${VERSION}.\$m]\(definitions.md#\${VERSION}-\${m,,}\)" + LINK_DEFINITIONS="* [Types Definition](definitions.md)" + LINK_OPERATIONS="* [Operations](operations.md)" + GRADLE_EXTRA_PARAMS="-PmarkupLanguage=MARKDOWN" +else + echo "Unknown OUTPUT_FORMAT=${OUTPUT_FORMAT}" + exit 1 +fi +WORKDIR="hack/gen-swagger-doc" +GRADLE_BUILD_FILE="$WORKDIR/build.gradle" + +# Generate *.adoc files from swagger.json +gradle -b $GRADLE_BUILD_FILE $GRADLE_EXTRA_PARAMS convertSwagger2markup --info + +#insert a TOC for top level API objects +buf="${HEADER}${HEADER} Top Level API Objects\n\n" +top_level_models=$(grep '&[A-Za-z]*{},' pkg/apis/datavolumecontroller/${VERSION}/register.go pkg/apis/uploadcontroller/${VERSION}/register.go | sed 's/.*&//;s/{},//') + +# check if the top level models exist in the definitions.$SUFFIX. If they exist, +# their name will be . +for m in $top_level_models; do + if grep -xq "${HEADER}${HEADER}${HEADER} ${VERSION}.$m" "$WORKDIR/definitions.${SUFFIX}"; then + buf+="$(eval echo $LINK1_TEMPLATE)\n" + fi +done +sed -i "1i $buf" "$WORKDIR/definitions.${SUFFIX}" + +# change the title of paths.adoc from "paths" to "operations" +sed -i "s|${HEADER}${HEADER} Paths|${HEADER}${HEADER} Operations|g" "$WORKDIR/paths.${SUFFIX}" +mv -f "$WORKDIR/paths.${SUFFIX}" "$WORKDIR/operations.${SUFFIX}" + +# Add links to definitons & operations under overview +cat >>"$WORKDIR/overview.${SUFFIX}" <<__END__ +${HEADER}${HEADER} Containerized Data Importer API Reference + +${LINK_DEFINITIONS} +${LINK_OPERATIONS} +__END__ + +if [ "$OUTPUT_FORMAT" = "html" ]; then + # $$ has special meaning in asciidoc, we need to escape it + sed -i 's|\$\$|+++$$+++|g' "$WORKDIR/definitions.adoc" + sed -i '1 i\:last-update-label!:' "$WORKDIR/"*.adoc + + # Determine version of Containerized Data Importer, as a commit hash or tag in case of tagged commit. + gittagmatch="$(git describe --exact-match 2>/dev/null || true)" + if [ -n "$gittagmatch" ]; then + gitcommithash="${gittagmatch}" + gitlink="${GIT_REPO_LINK}/releases/tag" + else + gitcommithash="$(git rev-parse HEAD || echo no-revision)" + gitlink="${GIT_REPO_LINK}/commit" + fi + sed -i -e "/Containerized Data Importer API\$/a\\:revnumber: ${gitcommithash}" \ + -e "/__Terms of service__ :/a\\__Version__ : ${gitlink}/{revnumber}[{revnumber}]" \ + "$WORKDIR/overview.adoc" + + # Generate *.html files from *.adoc + gradle -b $GRADLE_BUILD_FILE asciidoctor --info + rm -rf "$WORKDIR/html5/content" && mkdir "$WORKDIR/html5/content" && mv -f "$WORKDIR/html5/"*.html "$WORKDIR/html5/content" + mv -f "$WORKDIR/html5/content/overview.html" "$WORKDIR/html5/content/index.html" +elif [ "$OUTPUT_FORMAT" = "markdown" ]; then + # Generate TOC for definitions & operations as README.md + cd "$WORKDIR" + echo "# Containerized Data Importer API Reference" >README.md + curl \ + https://raw.githubusercontent.com/ekalinin/github-markdown-toc/master/gh-md-toc | + bash -s "definitions.md" "operations.md" | + sed 's/^ //' >>"README.md" + cd - +fi + +mkdir -p ${APIDOCS_OUT_DIR}/html +mv ${WORKDIR}/html5/content/* ${APIDOCS_OUT_DIR}/html +mv ${WORKDIR}/*.adoc ${APIDOCS_OUT_DIR}/ +echo "SUCCESS" diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gradle.properties b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gradle.properties new file mode 100644 index 000000000..284894e36 --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/hack/gen-swagger-doc/gradle.properties @@ -0,0 +1 @@ +markupLanguage=ASCIIDOC diff --git a/vendor/kubevirt.io/containerized-data-importer/hack/update-codegen.sh b/vendor/kubevirt.io/containerized-data-importer/hack/update-codegen.sh index 0a0835087..d880ad250 100755 --- a/vendor/kubevirt.io/containerized-data-importer/hack/update-codegen.sh +++ b/vendor/kubevirt.io/containerized-data-importer/hack/update-codegen.sh @@ -24,11 +24,20 @@ CODEGEN_PKG=${CODEGEN_PKG:-$( ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator )} +find "${SCRIPT_ROOT}/pkg/" -name "*generated*.go" -exec rm {} -f \; +rm -rf "${SCRIPT_ROOT}/pkg/client/*" + +${SCRIPT_ROOT}/hack/build/build-go.sh generate + # generate the code with: # --output-base because this script should also be able to run inside the vendor dir of # k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir # instead of the $GOPATH directly. For normal projects this can be dropped. -${CODEGEN_PKG}/generate-groups.sh "deepcopy,client,informer,lister" \ +${CODEGEN_PKG}/generate-groups.sh "client,informer,lister" \ kubevirt.io/containerized-data-importer/pkg/client kubevirt.io/containerized-data-importer/pkg/apis \ "datavolumecontroller:v1alpha1 uploadcontroller:v1alpha1" \ --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt + +(cd ${SCRIPT_ROOT}/tools/openapi-spec-generator/ && go build -o ../../bin/openapi-spec-generator) + +${SCRIPT_ROOT}/bin/openapi-spec-generator > ${SCRIPT_ROOT}/api/openapi-spec/swagger.json diff --git a/vendor/kubevirt.io/containerized-data-importer/manifests/example/local-pv-allocation-claim.yaml b/vendor/kubevirt.io/containerized-data-importer/manifests/example/local-pv-allocation-claim.yaml index a7e975aeb..bba64be2e 100644 --- a/vendor/kubevirt.io/containerized-data-importer/manifests/example/local-pv-allocation-claim.yaml +++ b/vendor/kubevirt.io/containerized-data-importer/manifests/example/local-pv-allocation-claim.yaml @@ -2,10 +2,13 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: name: local-pv-allocation-claim - cdi.kubevirt.io/storage.import.source: "http" #defaults to http if missing or invalid - cdi.kubevirt.io/storage.contentType: "kubevirt" #defaults to kubevirt if missing or invalid. - cdi.kubevirt.io/storage.import.endpoint: "http://distro.ibiblio.org/tinycorelinux/9.x/x86/release/Core-current.iso" # http or https is supported - cdi.kubevirt.io/storage.import.secretName: "" # Optional. The name of the secret containing credentials for the end point + labels: + app: containerized-data-importer + annotations: + cdi.kubevirt.io/storage.import.source: "http" #defaults to http if missing or invalid + cdi.kubevirt.io/storage.contentType: "kubevirt" #defaults to kubevirt if missing or invalid. + cdi.kubevirt.io/storage.import.endpoint: "http://distro.ibiblio.org/tinycorelinux/9.x/x86/release/Core-current.iso" # http or https is supported + cdi.kubevirt.io/storage.import.secretName: "" # Optional. The name of the secret containing credentials for the end point spec: storageClassName: manual accessModes: diff --git a/vendor/kubevirt.io/containerized-data-importer/manifests/templates/cdi-controller.yaml.in b/vendor/kubevirt.io/containerized-data-importer/manifests/templates/cdi-controller.yaml.in index 4b426eeac..afe1ba5a7 100644 --- a/vendor/kubevirt.io/containerized-data-importer/manifests/templates/cdi-controller.yaml.in +++ b/vendor/kubevirt.io/containerized-data-importer/manifests/templates/cdi-controller.yaml.in @@ -39,7 +39,7 @@ rules: verbs: ["get"] - apiGroups: [""] resources: ["configmaps"] - verbs: ["get", "list", "watch", "create"] + verbs: ["get", "list", "watch", "create", "update"] - apiGroups: ["cdi.kubevirt.io"] resources: - '*' @@ -151,8 +151,8 @@ spec: required: - namespace - name - upload: - blank: + upload: {} + blank: {} pvc: properties: resources: diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/zz_generated.deepcopy.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/deepcopy_generated.go similarity index 83% rename from vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/zz_generated.deepcopy.go rename to vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/deepcopy_generated.go index da6b784b2..8315d7b63 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/deepcopy_generated.go @@ -107,28 +107,57 @@ func (in *DataVolumeSource) DeepCopyInto(out *DataVolumeSource) { *out = *in if in.HTTP != nil { in, out := &in.HTTP, &out.HTTP - *out = new(DataVolumeSourceHTTP) - **out = **in + if *in == nil { + *out = nil + } else { + *out = new(DataVolumeSourceHTTP) + **out = **in + } } if in.S3 != nil { in, out := &in.S3, &out.S3 - *out = new(DataVolumeSourceS3) - **out = **in + if *in == nil { + *out = nil + } else { + *out = new(DataVolumeSourceS3) + **out = **in + } + } + if in.Registry != nil { + in, out := &in.Registry, &out.Registry + if *in == nil { + *out = nil + } else { + *out = new(DataVolumeSourceRegistry) + **out = **in + } } if in.PVC != nil { in, out := &in.PVC, &out.PVC - *out = new(DataVolumeSourcePVC) - **out = **in + if *in == nil { + *out = nil + } else { + *out = new(DataVolumeSourcePVC) + **out = **in + } } if in.Upload != nil { in, out := &in.Upload, &out.Upload - *out = new(DataVolumeSourceUpload) - **out = **in + if *in == nil { + *out = nil + } else { + *out = new(DataVolumeSourceUpload) + **out = **in + } } if in.Blank != nil { in, out := &in.Blank, &out.Blank - *out = new(DataVolumeBlankImage) - **out = **in + if *in == nil { + *out = nil + } else { + *out = new(DataVolumeBlankImage) + **out = **in + } } return } @@ -175,6 +204,22 @@ func (in *DataVolumeSourcePVC) DeepCopy() *DataVolumeSourcePVC { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataVolumeSourceRegistry) DeepCopyInto(out *DataVolumeSourceRegistry) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataVolumeSourceRegistry. +func (in *DataVolumeSourceRegistry) DeepCopy() *DataVolumeSourceRegistry { + if in == nil { + return nil + } + out := new(DataVolumeSourceRegistry) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DataVolumeSourceS3) DeepCopyInto(out *DataVolumeSourceS3) { *out = *in @@ -213,8 +258,12 @@ func (in *DataVolumeSpec) DeepCopyInto(out *DataVolumeSpec) { in.Source.DeepCopyInto(&out.Source) if in.PVC != nil { in, out := &in.PVC, &out.PVC - *out = new(v1.PersistentVolumeClaimSpec) - (*in).DeepCopyInto(*out) + if *in == nil { + *out = nil + } else { + *out = new(v1.PersistentVolumeClaimSpec) + (*in).DeepCopyInto(*out) + } } return } diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/doc.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/doc.go index 4481923a9..85f3dd689 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/doc.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/doc.go @@ -1,4 +1,5 @@ // +k8s:deepcopy-gen=package +// +k8s:openapi-gen=true // Package v1alpha1 is the v1alpha1 version of the API. // +groupName=cdi.kubevirt.io diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/openapi_generated.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/openapi_generated.go new file mode 100644 index 000000000..3ad3bbac0 --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/openapi_generated.go @@ -0,0 +1,356 @@ +// +build !ignore_autogenerated + +/* +Copyright 2018 The CDI 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. +*/ + +// Code generated by openapi-gen. DO NOT EDIT. + +// This file was autogenerated by openapi-gen. Do not edit it manually! + +package v1alpha1 + +import ( + spec "github.com/go-openapi/spec" + common "k8s.io/kube-openapi/pkg/common" +) + +func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { + return map[string]common.OpenAPIDefinition{ + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolume": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolume(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeBlankImage": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeBlankImage(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeList": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeList(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSource": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSource(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceHTTP": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceHTTP(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourcePVC": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourcePVC(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceRegistry": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceRegistry(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceS3": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceS3(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceUpload": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceUpload(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSpec": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSpec(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeStatus": schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeStatus(ref), + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolume(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolume provides a representation of our data volume", + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeStatus"), + }, + }, + }, + Required: []string{"spec", "status"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSpec", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeStatus"}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeBlankImage(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC", + Properties: map[string]spec.Schema{}, + }, + }, + Dependencies: []string{}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeList provides the needed parameters to do request a list of Data Volumes from the system", + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "Items provides a list of DataVolumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolume"), + }, + }, + }, + }, + }, + }, + Required: []string{"metadata", "items"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolume"}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSource(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeSource represents the source for our Data Volume, this can be HTTP, S3, Registry or an existing PVC", + Properties: map[string]spec.Schema{ + "http": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceHTTP"), + }, + }, + "s3": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceS3"), + }, + }, + "registry": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceRegistry"), + }, + }, + "pvc": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourcePVC"), + }, + }, + "upload": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceUpload"), + }, + }, + "blank": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeBlankImage"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeBlankImage", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceHTTP", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourcePVC", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceRegistry", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceS3", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSourceUpload"}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceHTTP(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source", + Properties: map[string]spec.Schema{ + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL is the URL of the http source", + Type: []string{"string"}, + Format: "", + }, + }, + "secretRef": { + SchemaProps: spec.SchemaProps{ + Description: "SecretRef provides the secret reference needed to access the HTTP source", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourcePVC(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC", + Properties: map[string]spec.Schema{ + "namespace": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceRegistry(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source", + Properties: map[string]spec.Schema{ + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL is the url of the Registry source", + Type: []string{"string"}, + Format: "", + }, + }, + "secretRef": { + SchemaProps: spec.SchemaProps{ + Description: "SecretRef provides the secret reference needed to access the Registry source", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceS3(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source", + Properties: map[string]spec.Schema{ + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL is the url of the S3 source", + Type: []string{"string"}, + Format: "", + }, + }, + "secretRef": { + SchemaProps: spec.SchemaProps{ + Description: "SecretRef provides the secret reference needed to access the S3 source", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSourceUpload(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source", + Properties: map[string]spec.Schema{}, + }, + }, + Dependencies: []string{}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeSpec defines our specification for a DataVolume type", + Properties: map[string]spec.Schema{ + "source": { + SchemaProps: spec.SchemaProps{ + Description: "Source is the src of the data for the requested DataVolume", + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSource"), + }, + }, + "pvc": { + SchemaProps: spec.SchemaProps{ + Description: "PVC is a pointer to the PVC Spec we want to use", + Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimSpec"), + }, + }, + }, + Required: []string{"source", "pvc"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1.DataVolumeSource"}, + } +} + +func schema_pkg_apis_datavolumecontroller_v1alpha1_DataVolumeStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "DataVolumeStatus provides the parameters to store the phase of the Data Volume", + Properties: map[string]spec.Schema{ + "phase": { + SchemaProps: spec.SchemaProps{ + Description: "Phase is the current phase of the data volume", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types.go index 593c4dc21..527da339f 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types.go @@ -16,6 +16,10 @@ limitations under the License. package v1alpha1 +//go:generate swagger-doc +//go:generate deepcopy-gen -i . --go-header-file ../../../../hack/custom-boilerplate.go.txt +//go:generate openapi-gen -i . --output-package=kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1 --go-header-file ../../../../hack/custom-boilerplate.go.txt + import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types_swagger_generated.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types_swagger_generated.go new file mode 100644 index 000000000..e6233c3ba --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1/types_swagger_generated.go @@ -0,0 +1,79 @@ +// Code generated by swagger-doc. DO NOT EDIT. + +package v1alpha1 + +func (DataVolume) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolume provides a representation of our data volume\n+genclient\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", + } +} + +func (DataVolumeSpec) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeSpec defines our specification for a DataVolume type", + "source": "Source is the src of the data for the requested DataVolume", + "pvc": "PVC is a pointer to the PVC Spec we want to use", + } +} + +func (DataVolumeSource) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeSource represents the source for our Data Volume, this can be HTTP, S3, Registry or an existing PVC", + } +} + +func (DataVolumeSourcePVC) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC", + } +} + +func (DataVolumeBlankImage) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC", + } +} + +func (DataVolumeSourceUpload) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source", + } +} + +func (DataVolumeSourceS3) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source", + "url": "URL is the url of the S3 source", + "secretRef": "SecretRef provides the secret reference needed to access the S3 source", + } +} + +func (DataVolumeSourceRegistry) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source", + "url": "URL is the url of the Registry source", + "secretRef": "SecretRef provides the secret reference needed to access the Registry source", + } +} + +func (DataVolumeSourceHTTP) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source", + "url": "URL is the URL of the http source", + "secretRef": "SecretRef provides the secret reference needed to access the HTTP source", + } +} + +func (DataVolumeStatus) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeStatus provides the parameters to store the phase of the Data Volume", + "phase": "Phase is the current phase of the data volume", + } +} + +func (DataVolumeList) SwaggerDoc() map[string]string { + return map[string]string{ + "": "DataVolumeList provides the needed parameters to do request a list of Data Volumes from the system\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", + "items": "Items provides a list of DataVolumes", + } +} diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/zz_generated.deepcopy.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/deepcopy_generated.go similarity index 100% rename from vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/zz_generated.deepcopy.go rename to vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/deepcopy_generated.go diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/doc.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/doc.go index 10779f6b7..25dc8f125 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/doc.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/doc.go @@ -1,4 +1,5 @@ // +k8s:deepcopy-gen=package +// +k8s:openapi-gen=true // Package v1alpha1 is the v1alpha1 version of the API. // +groupName=upload.cdi.kubevirt.io diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/openapi_generated.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/openapi_generated.go new file mode 100644 index 000000000..2520884eb --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/openapi_generated.go @@ -0,0 +1,171 @@ +// +build !ignore_autogenerated + +/* +Copyright 2018 The CDI 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. +*/ + +// Code generated by openapi-gen. DO NOT EDIT. + +// This file was autogenerated by openapi-gen. Do not edit it manually! + +package v1alpha1 + +import ( + spec "github.com/go-openapi/spec" + common "k8s.io/kube-openapi/pkg/common" +) + +func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { + return map[string]common.OpenAPIDefinition{ + "kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequest": schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequest(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequestList": schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequestList(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequestSpec": schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequestSpec(ref), + "kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequestStatus": schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequestStatus(ref), + } +} + +func schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequest(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UploadTokenRequest is the CR used to initiate a CDI upload", + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Description: "Spec contains the parameters of the request", + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequestSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Description: "Status contains the status of the request", + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequestStatus"), + }, + }, + }, + Required: []string{"spec"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequestSpec", "kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequestStatus"}, + } +} + +func schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UploadTokenRequestList contains a list of UploadTokenRequests", + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "Items contains a list of UploadTokenRequests", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequest"), + }, + }, + }, + }, + }, + }, + Required: []string{"items"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1.UploadTokenRequest"}, + } +} + +func schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UploadTokenRequestSpec defines the parameters of the token request", + Properties: map[string]spec.Schema{ + "pvcName": { + SchemaProps: spec.SchemaProps{ + Description: "PvcName is the name of the PVC to upload to", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"pvcName"}, + }, + }, + Dependencies: []string{}, + } +} + +func schema_pkg_apis_uploadcontroller_v1alpha1_UploadTokenRequestStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UploadTokenRequestStatus stores the status of a token request", + Properties: map[string]spec.Schema{ + "token": { + SchemaProps: spec.SchemaProps{ + Description: "Token is a JWT token to be inserted in \"Authentication Bearer header\"", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types.go index 0e2c16aa8..ed9221ef2 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types.go @@ -16,6 +16,10 @@ limitations under the License. package v1alpha1 +//go:generate swagger-doc +//go:generate deepcopy-gen -i . --go-header-file ../../../../hack/custom-boilerplate.go.txt +//go:generate openapi-gen -i . --output-package=kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1 --go-header-file ../../../../hack/custom-boilerplate.go.txt + import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -31,16 +35,18 @@ type UploadTokenRequest struct { Spec UploadTokenRequestSpec `json:"spec"` // Status contains the status of the request - Status UploadTokenRequestStatus `json:"status"` + Status UploadTokenRequestStatus `json:"status,omitempty"` } // UploadTokenRequestSpec defines the parameters of the token request type UploadTokenRequestSpec struct { + // PvcName is the name of the PVC to upload to PvcName string `json:"pvcName"` } // UploadTokenRequestStatus stores the status of a token request type UploadTokenRequestStatus struct { + // Token is a JWT token to be inserted in "Authentication Bearer header" Token string `json:"token,omitempty"` } @@ -48,7 +54,8 @@ type UploadTokenRequestStatus struct { // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object type UploadTokenRequestList struct { metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata"` + metav1.ListMeta `json:"metadata,omitempty"` + // Items contains a list of UploadTokenRequests Items []UploadTokenRequest `json:"items"` } diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types_swagger_generated.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types_swagger_generated.go new file mode 100644 index 000000000..8017a6edc --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apis/uploadcontroller/v1alpha1/types_swagger_generated.go @@ -0,0 +1,32 @@ +// Code generated by swagger-doc. DO NOT EDIT. + +package v1alpha1 + +func (UploadTokenRequest) SwaggerDoc() map[string]string { + return map[string]string{ + "": "UploadTokenRequest is the CR used to initiate a CDI upload\n+genclient\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", + "spec": "Spec contains the parameters of the request", + "status": "Status contains the status of the request", + } +} + +func (UploadTokenRequestSpec) SwaggerDoc() map[string]string { + return map[string]string{ + "": "UploadTokenRequestSpec defines the parameters of the token request", + "pvcName": "PvcName is the name of the PVC to upload to", + } +} + +func (UploadTokenRequestStatus) SwaggerDoc() map[string]string { + return map[string]string{ + "": "UploadTokenRequestStatus stores the status of a token request", + "token": "Token is a JWT token to be inserted in \"Authentication Bearer header\"", + } +} + +func (UploadTokenRequestList) SwaggerDoc() map[string]string { + return map[string]string{ + "": "UploadTokenRequestList contains a list of UploadTokenRequests\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", + "items": "Items contains a list of UploadTokenRequests", + } +} diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/apiserver.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/apiserver.go index 573781133..9d6a73302 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/apiserver.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/apiserver.go @@ -81,6 +81,13 @@ type cdiAPIApp struct { uploadPossible uploadPossibleFunc } +// UploadTokenRequestAPI returns web service for swagger generation +func UploadTokenRequestAPI() []*restful.WebService { + app := cdiAPIApp{} + app.composeUploadTokenAPI() + return app.container.RegisteredWebServices() +} + // NewCdiAPIServer returns an initialized CDI api server func NewCdiAPIServer(bindAddress string, bindPort uint, @@ -248,10 +255,10 @@ func (app *cdiAPIApp) startTLS() error { } defer os.RemoveAll(certsDirectory) - keyFile := filepath.Join(certsDirectory, "/key.pem") - certFile := filepath.Join(certsDirectory, "/cert.pem") - signingCertFile := filepath.Join(certsDirectory, "/signingCert.pem") - clientCAFile := filepath.Join(certsDirectory, "/clientCA.crt") + keyFile := filepath.Join(certsDirectory, "key.pem") + certFile := filepath.Join(certsDirectory, "cert.pem") + signingCertFile := filepath.Join(certsDirectory, "signingCert.pem") + clientCAFile := filepath.Join(certsDirectory, "clientCA.crt") // Write the certs to disk err = ioutil.WriteFile(clientCAFile, app.clientCABytes, 0600) @@ -393,11 +400,12 @@ func uploadTokenAPIGroup() metav1.APIGroup { func (app *cdiAPIApp) composeUploadTokenAPI() { objPointer := &uploadv1alpha1.UploadTokenRequest{} objExample := reflect.ValueOf(objPointer).Elem().Interface() - objKind := "uploadtokenrequest" + objKind := "UploadTokenRequest" + resource := "uploadtokenrequests" groupPath := fmt.Sprintf("/apis/%s", uploadTokenGroup) resourcePath := fmt.Sprintf("/apis/%s/%s", uploadTokenGroup, uploadTokenVersion) - createPath := fmt.Sprintf("/namespaces/{namespace:[a-z0-9][a-z0-9\\-]*}/{kind:%ss?}", objKind) + createPath := fmt.Sprintf("/namespaces/{namespace:[a-z0-9][a-z0-9\\-]*}/%s", resource) app.container = restful.NewContainer() @@ -431,8 +439,8 @@ func (app *cdiAPIApp) composeUploadTokenAPI() { list.APIVersion = "v1" // this is the version of the resource list list.GroupVersion = uploadTokenGroup + "/" + uploadTokenVersion list.APIResources = append(list.APIResources, metav1.APIResource{ - Name: "UploadTokenRequest", - SingularName: "uploadtokenRequest", + Name: "uploadtokenrequests", + SingularName: "UploadtokenRequest", Namespaced: true, Group: uploadTokenGroup, Version: uploadTokenVersion, diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/authorizer.go b/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/authorizer.go index 4fb5340cf..6a5b719dd 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/authorizer.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/apiserver/authorizer.go @@ -152,11 +152,7 @@ func (a *authorizor) generateAccessReview(req *restful.Request) (*authorization. return nil, fmt.Errorf("unknown api group %s", group) } - switch resource { - case "uploadtokenrequest": - case "uploadtokenrequests": - break - default: + if resource != "uploadtokenrequests" { return nil, fmt.Errorf("unknown resource type %s", resource) } diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/image/skopeo.go b/vendor/kubevirt.io/containerized-data-importer/pkg/image/skopeo.go index 8dc6ee4eb..312e9c1df 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/image/skopeo.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/image/skopeo.go @@ -28,6 +28,7 @@ import ( "github.com/pkg/errors" "kubevirt.io/containerized-data-importer/pkg/system" + "kubevirt.io/containerized-data-importer/pkg/util" ) const dataTmpDir string = "/data_tmp" @@ -76,15 +77,6 @@ func (o *skopeoOperations) CopyImage(url, dest, accessKey, secKey string) error return nil } -// ExtractTar extracts a tar file to a specified destination -func ExtractTar(file, dest string) error { - _, err := skopeoExecFunction(processLimits, nil, "tar", "-xf", file, "-C", dest) - if err != nil { - return errors.Wrap(err, "could not extract image") - } - return nil -} - // CopyRegistryImage download image from registry with skopeo func CopyRegistryImage(url, dest, accessKey, secKey string) error { skopeoDest := "dir:" + dest + dataTmpDir @@ -127,11 +119,12 @@ var extractImageLayers = func(dest string) error { layerID = m.Digest } layer := strings.TrimPrefix(layerID, "sha256:") - file := fmt.Sprintf("%s%s/%s", dest, dataTmpDir, layer) - err := ExtractTar(file, dest) - if err == nil { - err = cleanWhiteoutFiles(dest) + filePath := fmt.Sprintf("%s%s/%s", dest, dataTmpDir, layer) + + if err := util.UnArchiveLocalTar(filePath, dest, "z"); err != nil { + return errors.Wrap(err, "could not extract layer tar") } + err = cleanWhiteoutFiles(dest) } return err } diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/importer/dataStream.go b/vendor/kubevirt.io/containerized-data-importer/pkg/importer/dataStream.go index f1e17a731..ecc677112 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/importer/dataStream.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/importer/dataStream.go @@ -301,7 +301,7 @@ func CopyData(dso *DataStreamOptions) error { } defer ds.Close() if dso.ContentType == controller.ContentTypeArchive { - if err := UnArchiveTar(ds.topReader(), dso.Dest); err != nil { + if err := util.UnArchiveTar(ds.topReader(), dso.Dest); err != nil { return errors.Wrap(err, "unable to untar files from endpoint") } return nil @@ -762,7 +762,7 @@ func copy(r io.Reader, out string, qemu bool, imageSize string) error { //Assumes it is possible to retrieve info from qcow2 file by means of qemu-img utility //Returns failure if either of the following happens //1. info cannot be retrieved from qcow2 file -//2. Either ActualSize or VirtualSize are 0 - not specifed +//2. Either ActualSize or VirtualSize are 0 - not specified //3. ActualSize and VirtualSize together exceed available PVC Space func ValidateSpaceConstraint(qcow2Image string, destDir string) (bool, error) { diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/importer/util.go b/vendor/kubevirt.io/containerized-data-importer/pkg/importer/util.go index 00b9cf986..df235cdca 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/importer/util.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/importer/util.go @@ -1,11 +1,9 @@ package importer import ( - "bytes" "io" "net/url" "os" - "os/exec" "github.com/golang/glog" "github.com/pkg/errors" @@ -44,24 +42,3 @@ func StreamDataToFile(dataReader io.Reader, filePath string) error { } return nil } - -// UnArchiveTar unarchives a tar file and streams its files -// using the specified io.Reader to the specified destination. -func UnArchiveTar(reader io.Reader, destDir string) error { - glog.V(1).Infof("begin untar...\n") - untar := exec.Command("/usr/bin/tar", "-xvC", destDir) - untar.Stdin = reader - var errBuf bytes.Buffer - untar.Stderr = &errBuf - err := untar.Start() - if err != nil { - return err - } - err = untar.Wait() - if err != nil { - glog.V(3).Infof("%s\n", string(errBuf.Bytes())) - glog.Errorf("%s\n", err.Error()) - return err - } - return nil -} diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/system/prlimit.go b/vendor/kubevirt.io/containerized-data-importer/pkg/system/prlimit.go index 1b7a0e688..b92e124ef 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/system/prlimit.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/system/prlimit.go @@ -104,6 +104,8 @@ func processScanner(scanner *bufio.Scanner, buf *bytes.Buffer, done chan bool, c // ExecWithLimits executes a command with process limits func ExecWithLimits(limits *ProcessLimitValues, callback func(string), command string, args ...string) ([]byte, error) { + glog.Infof("ExecWithLimits %s, %+v", command, args) + var buf bytes.Buffer stdoutDone := make(chan bool) stderrDone := make(chan bool) diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/uploadproxy/uploadproxy.go b/vendor/kubevirt.io/containerized-data-importer/pkg/uploadproxy/uploadproxy.go index 0dc17a526..1849b2b5c 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/uploadproxy/uploadproxy.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/uploadproxy/uploadproxy.go @@ -200,8 +200,8 @@ func (app *uploadProxyApp) startTLS() error { } defer os.RemoveAll(certsDirectory) - keyFile := filepath.Join(certsDirectory, "/key.pem") - certFile := filepath.Join(certsDirectory, "/cert.pem") + keyFile := filepath.Join(certsDirectory, "key.pem") + certFile := filepath.Join(certsDirectory, "cert.pem") err = ioutil.WriteFile(keyFile, app.keyBytes, 0600) if err != nil { diff --git a/vendor/kubevirt.io/containerized-data-importer/pkg/util/util.go b/vendor/kubevirt.io/containerized-data-importer/pkg/util/util.go index daa978e3d..d53efcedc 100644 --- a/vendor/kubevirt.io/containerized-data-importer/pkg/util/util.go +++ b/vendor/kubevirt.io/containerized-data-importer/pkg/util/util.go @@ -1,16 +1,20 @@ package util import ( + "bufio" + "bytes" "encoding/base64" "fmt" "io" "io/ioutil" "math/rand" "os" + "os/exec" "strings" "syscall" "time" + "github.com/golang/glog" "github.com/pkg/errors" "k8s.io/apimachinery/pkg/api/resource" @@ -87,3 +91,35 @@ func MinQuantity(availableSpace, imageSize *resource.Quantity) resource.Quantity } return *imageSize } + +// UnArchiveTar unarchives a tar file and streams its files +// using the specified io.Reader to the specified destination. +func UnArchiveTar(reader io.Reader, destDir string, arg ...string) error { + glog.V(1).Infof("begin untar...\n") + args := fmt.Sprintf("-%s%s", strings.Join(arg, ""), "xvC") + untar := exec.Command("/usr/bin/tar", args, destDir) + untar.Stdin = reader + var errBuf bytes.Buffer + untar.Stderr = &errBuf + err := untar.Start() + if err != nil { + return err + } + err = untar.Wait() + if err != nil { + glog.V(3).Infof("%s\n", string(errBuf.Bytes())) + glog.Errorf("%s\n", err.Error()) + return err + } + return nil +} + +// UnArchiveLocalTar unarchives a local tar file to the specified destination. +func UnArchiveLocalTar(filePath, destDir string, arg ...string) error { + file, err := os.Open(filePath) + if err != nil { + return errors.Wrap(err, "could not open tar file") + } + fileReader := bufio.NewReader(file) + return UnArchiveTar(fileReader, destDir, arg...) +} diff --git a/vendor/kubevirt.io/containerized-data-importer/stdci.yaml b/vendor/kubevirt.io/containerized-data-importer/stdci.yaml index 8fee601da..624d648ed 100644 --- a/vendor/kubevirt.io/containerized-data-importer/stdci.yaml +++ b/vendor/kubevirt.io/containerized-data-importer/stdci.yaml @@ -1,7 +1,7 @@ --- sub-stages: - - k8s-1.10.4-release - - openshift-3.10-release + - k8s-1.11.0-release + - openshift-3.11.0-release runtime_requirements: support_nesting_level: 2 isolation_level: container diff --git a/vendor/kubevirt.io/containerized-data-importer/tests/framework/pvc.go b/vendor/kubevirt.io/containerized-data-importer/tests/framework/pvc.go index 42f9ed39d..c5f87039d 100644 --- a/vendor/kubevirt.io/containerized-data-importer/tests/framework/pvc.go +++ b/vendor/kubevirt.io/containerized-data-importer/tests/framework/pvc.go @@ -71,7 +71,7 @@ func (f *Framework) VerifyTargetPVCContent(namespace *k8sv1.Namespace, pvc *k8sv // VerifyTargetPVCContentMD5 provides a function to check the md5 of data on a PVC and ensure it matches that which is provided func (f *Framework) VerifyTargetPVCContentMD5(namespace *k8sv1.Namespace, pvc *k8sv1.PersistentVolumeClaim, fileName string, expectedHash string) bool { - executorPod, err := utils.CreateExecutorPodWithPVC(f.K8sClient, "verify-pvc-content", namespace.Name, pvc) + executorPod, err := utils.CreateExecutorPodWithPVC(f.K8sClient, "verify-pvc-md5", namespace.Name, pvc) gomega.Expect(err).ToNot(gomega.HaveOccurred()) err = utils.WaitTimeoutForPodReady(f.K8sClient, executorPod.Name, namespace.Name, utils.PodWaitForTime) gomega.Expect(err).ToNot(gomega.HaveOccurred()) diff --git a/vendor/kubevirt.io/containerized-data-importer/tests/reporters/reporters.go b/vendor/kubevirt.io/containerized-data-importer/tests/reporters/reporters.go index d2d6bbdf3..872f554f4 100644 --- a/vendor/kubevirt.io/containerized-data-importer/tests/reporters/reporters.go +++ b/vendor/kubevirt.io/containerized-data-importer/tests/reporters/reporters.go @@ -21,7 +21,7 @@ import ( "kubevirt.io/qe-tools/pkg/ginkgo-reporters" ) -// NewReporters is a fucntion to gather new ginkgo test reporters +// NewReporters is a function to gather new ginkgo test reporters func NewReporters() []ginkgo.Reporter { reporters := make([]ginkgo.Reporter, 0) if ginkgo_reporters.Polarion.Run { diff --git a/vendor/kubevirt.io/containerized-data-importer/tests/utils/pvc.go b/vendor/kubevirt.io/containerized-data-importer/tests/utils/pvc.go index a8817c7df..f3fd040a2 100644 --- a/vendor/kubevirt.io/containerized-data-importer/tests/utils/pvc.go +++ b/vendor/kubevirt.io/containerized-data-importer/tests/utils/pvc.go @@ -22,6 +22,9 @@ const ( // DefaultPvcMountPath is the default mount path used DefaultPvcMountPath = "/pvc" + // DefaultImagePath is the default destination for images created by CDI + DefaultImagePath = DefaultPvcMountPath + "/disk.img" + pvcPollInterval = defaultPollInterval pvcCreateTime = defaultPollPeriod pvcDeleteTime = defaultPollPeriod diff --git a/vendor/kubevirt.io/containerized-data-importer/tests/utils/secrets.go b/vendor/kubevirt.io/containerized-data-importer/tests/utils/secrets.go index 336b946b8..4c19facc9 100644 --- a/vendor/kubevirt.io/containerized-data-importer/tests/utils/secrets.go +++ b/vendor/kubevirt.io/containerized-data-importer/tests/utils/secrets.go @@ -16,7 +16,7 @@ const ( secretPollInterval = defaultPollInterval ) -// NewSecretDefinition provides a fucntion to initialize a Secret data type with the provided options +// NewSecretDefinition provides a function to initialize a Secret data type with the provided options func NewSecretDefinition(labels, stringData map[string]string, data map[string][]byte, ns, prefix string) *v1.Secret { return &v1.Secret{ ObjectMeta: metav1.ObjectMeta{ diff --git a/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/definitions.go b/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/definitions.go new file mode 100644 index 000000000..7f247e226 --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/definitions.go @@ -0,0 +1,355 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2017 Red Hat, Inc. + * + */ + +package main + +import ( + "fmt" + "net/http" + "reflect" + + "github.com/emicklei/go-restful" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + + "kubevirt.io/containerized-data-importer/pkg/apis/datavolumecontroller/v1alpha1" +) + +// code stolen/adapted from https://github.com/kubevirt/kubevirt/blob/master/pkg/virt-api/rest/definitions.go + +const ( + mimeJSON string = "application/json" + mimeJSONPatch string = "application/json-patch+json" + mimeJSONStream string = "application/json;stream=watch" + mimeMergePatch string = "application/merge-patch+json" + mimeYAML string = "application/yaml" + mimeText string = "text/plain" + mimeINI string = "text/plain" +) + +// DataVolumeAPI returns the DataVolume API for DataVolumes +func DataVolumeAPI() []*restful.WebService { + + gvr := schema.GroupVersionResource{ + Group: v1alpha1.SchemeGroupVersion.Group, + Version: v1alpha1.SchemeGroupVersion.Version, + Resource: "datavolumes", + } + + ws, err := groupVersionProxyBase(v1alpha1.SchemeGroupVersion) + if err != nil { + panic(err) + } + + ws, err = genericResourceProxy(ws, gvr, &v1alpha1.DataVolume{}, "DataVolume", &v1alpha1.DataVolumeList{}) + if err != nil { + panic(err) + } + + ws1, err := resourceProxyAutodiscovery(gvr) + if err != nil { + panic(err) + } + return []*restful.WebService{ws, ws1} +} + +func groupVersionProxyBase(gv schema.GroupVersion) (*restful.WebService, error) { + ws := new(restful.WebService) + ws.Doc("The KubeVirt API, a virtual machine management.") + ws.Path(groupVersionBasePath(gv)) + + ws.Route( + ws.GET("/").Produces(mimeJSON).Writes(metav1.APIResourceList{}). + To(noOp). + Operation("getAPIResources"). + Doc("Get KubeVirt API Resources"). + Returns(http.StatusOK, "OK", metav1.APIResourceList{}). + Returns(http.StatusNotFound, "Not Found", nil), + ) + return ws, nil +} + +func genericResourceProxy(ws *restful.WebService, gvr schema.GroupVersionResource, objPointer runtime.Object, objKind string, objListPointer runtime.Object) (*restful.WebService, error) { + + objExample := reflect.ValueOf(objPointer).Elem().Interface() + listExample := reflect.ValueOf(objListPointer).Elem().Interface() + + ws.Route(addPostParams( + ws.POST(resourceBasePath(gvr)). + Produces(mimeJSON, mimeYAML). + Consumes(mimeJSON, mimeYAML). + Operation("createNamespaced"+objKind). + To(noOp).Reads(objExample).Writes(objExample). + Doc("Create a "+objKind+" object."). + Returns(http.StatusOK, "OK", objExample). + Returns(http.StatusCreated, "Created", objExample). + Returns(http.StatusAccepted, "Accepted", objExample). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + ws.Route(addPutParams( + ws.PUT(resourcePath(gvr)). + Produces(mimeJSON, mimeYAML). + Consumes(mimeJSON, mimeYAML). + Operation("replaceNamespaced"+objKind). + To(noOp).Reads(objExample).Writes(objExample). + Doc("Update a "+objKind+" object."). + Returns(http.StatusOK, "OK", objExample). + Returns(http.StatusCreated, "Create", objExample). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + ws.Route(addDeleteParams( + ws.DELETE(resourcePath(gvr)). + Produces(mimeJSON, mimeYAML). + Consumes(mimeJSON, mimeYAML). + Operation("deleteNamespaced"+objKind). + To(noOp). + Reads(metav1.DeleteOptions{}).Writes(metav1.Status{}). + Doc("Delete a "+objKind+" object."). + Returns(http.StatusOK, "OK", metav1.Status{}). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + ws.Route(addGetParams( + ws.GET(resourcePath(gvr)). + Produces(mimeJSON, mimeYAML, mimeJSONStream). + Operation("readNamespaced"+objKind). + To(noOp).Writes(objExample). + Doc("Get a "+objKind+" object."). + Returns(http.StatusOK, "OK", objExample). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + ws.Route(addGetAllNamespacesListParams( + ws.GET(gvr.Resource). + Produces(mimeJSON, mimeYAML, mimeJSONStream). + Operation("list"+objKind+"ForAllNamespaces"). + To(noOp).Writes(listExample). + Doc("Get a list of all "+objKind+" objects."). + Returns(http.StatusOK, "OK", listExample). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + ws.Route(addPatchParams( + ws.PATCH(resourcePath(gvr)). + Consumes(mimeJSONPatch, mimeMergePatch). + Produces(mimeJSON). + Operation("patchNamespaced"+objKind). + To(noOp). + Writes(objExample).Reads(metav1.Patch{}). + Doc("Patch a "+objKind+" object."). + Returns(http.StatusOK, "OK", objExample). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + // TODO, implement watch. For now it is here to provide swagger doc only + ws.Route(addWatchGetListParams( + ws.GET("/watch/"+gvr.Resource). + Produces(mimeJSON). + Operation("watch"+objKind+"ListForAllNamespaces"). + To(noOp).Writes(metav1.WatchEvent{}). + Doc("Watch a "+objKind+"List object."). + Returns(http.StatusOK, "OK", metav1.WatchEvent{}). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + // TODO, implement watch. For now it is here to provide swagger doc only + ws.Route(addWatchNamespacedGetListParams( + ws.GET("/watch"+resourceBasePath(gvr)). + Operation("watchNamespaced"+objKind). + Produces(mimeJSON). + To(noOp).Writes(metav1.WatchEvent{}). + Doc("Watch a "+objKind+" object."). + Returns(http.StatusOK, "OK", metav1.WatchEvent{}). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + ws.Route(addGetNamespacedListParams( + ws.GET(resourceBasePath(gvr)). + Produces(mimeJSON, mimeYAML, mimeJSONStream). + Operation("listNamespaced"+objKind). + Writes(listExample). + To(noOp). + Doc("Get a list of "+objKind+" objects."). + Returns(http.StatusOK, "OK", listExample). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + ws.Route(addDeleteListParams( + ws.DELETE(resourceBasePath(gvr)). + Operation("deleteCollectionNamespaced"+objKind). + Produces(mimeJSON, mimeYAML). + To(noOp).Writes(metav1.Status{}). + Doc("Delete a collection of "+objKind+" objects."). + Returns(http.StatusOK, "OK", metav1.Status{}). + Returns(http.StatusUnauthorized, "Unauthorized", nil), ws, + )) + + return ws, nil +} + +func resourceProxyAutodiscovery(gvr schema.GroupVersionResource) (*restful.WebService, error) { + ws := new(restful.WebService) + ws.Path(groupBasePath(gvr.GroupVersion())) + ws.Route(ws.GET("/"). + Produces(mimeJSON).Writes(metav1.APIGroup{}). + To(noOp). + Doc("Get a KubeVirt API group"). + Operation("getAPIGroup"). + Returns(http.StatusOK, "OK", metav1.APIGroup{}). + Returns(http.StatusNotFound, "Not Found", nil)) + return ws, nil +} + +func addCollectionParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return builder.Param(continueParam(ws)). + Param(fieldSelectorParam(ws)). + Param(includeUninitializedParam(ws)). + Param(labelSelectorParam(ws)). + Param(limitParam(ws)). + Param(resourceVersionParam(ws)). + Param(timeoutSecondsParam(ws)). + Param(watchParam(ws)) +} + +func addWatchGetListParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return addCollectionParams(builder, ws) +} + +func addWatchNamespacedGetListParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return addWatchGetListParams(builder.Param(namespaceParam(ws)), ws) +} + +func addGetAllNamespacesListParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return addCollectionParams(builder, ws) +} + +func addDeleteListParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return addCollectionParams(builder, ws) +} + +func addGetParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return builder.Param(nameParam(ws)). + Param(namespaceParam(ws)). + Param(exactParam(ws)). + Param(exportParam(ws)) +} + +func addGetNamespacedListParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return addCollectionParams(builder.Param(namespaceParam(ws)), ws) +} + +func addPostParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return builder.Param(namespaceParam(ws)) +} + +func addPutParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return builder.Param(namespaceParam(ws)).Param(nameParam(ws)) +} + +func addDeleteParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return builder.Param(namespaceParam(ws)).Param(nameParam(ws)). + Param(gracePeriodSecondsParam(ws)). + Param(orphanDependentsParam(ws)). + Param(propagationPolicyParam(ws)) +} + +func addPatchParams(builder *restful.RouteBuilder, ws *restful.WebService) *restful.RouteBuilder { + return builder.Param(namespaceParam(ws)).Param(nameParam(ws)) +} + +func nameParam(ws *restful.WebService) *restful.Parameter { + return ws.PathParameter("name", "Name of the resource").Required(true) +} + +func namespaceParam(ws *restful.WebService) *restful.Parameter { + return ws.PathParameter("namespace", "Object name and auth scope, such as for teams and projects").Required(true) +} + +func labelSelectorParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("labelSelector", "A selector to restrict the list of returned objects by their labels. Defaults to everything") +} + +func fieldSelectorParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("fieldSelector", "A selector to restrict the list of returned objects by their fields. Defaults to everything.") +} + +func resourceVersionParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("resourceVersion", "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history.") +} + +func timeoutSecondsParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("timeoutSeconds", "TimeoutSeconds for the list/watch call.").DataType("integer") +} + +func includeUninitializedParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("includeUninitialized", "If true, partially initialized resources are included in the response.").DataType("boolean") +} + +func watchParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("watch", "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.").DataType("boolean") +} + +func limitParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("limit", "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.").DataType("integer") +} + +func continueParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("continue", "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.") +} + +func exactParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("exact", "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.").DataType("boolean") +} + +func exportParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("export", "Should this value be exported. Export strips fields that a user can not specify.").DataType("boolean") +} + +func gracePeriodSecondsParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("gracePeriodSeconds", "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.").DataType("integer") +} + +func orphanDependentsParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("orphanDependents", "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.").DataType("boolean") +} + +func propagationPolicyParam(ws *restful.WebService) *restful.Parameter { + return ws.QueryParameter("propagationPolicy", "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.") +} + +func groupBasePath(gvr schema.GroupVersion) string { + return fmt.Sprintf("/apis/%s", gvr.Group) +} + +func groupVersionBasePath(gvr schema.GroupVersion) string { + return fmt.Sprintf("/apis/%s/%s", gvr.Group, gvr.Version) +} + +func resourceBasePath(gvr schema.GroupVersionResource) string { + return fmt.Sprintf("/namespaces/{namespace:[a-z0-9][a-z0-9\\-]*}/%s", gvr.Resource) +} + +func resourcePath(gvr schema.GroupVersionResource) string { + return fmt.Sprintf("/namespaces/{namespace:[a-z0-9][a-z0-9\\-]*}/%s/{name:[a-z0-9][a-z0-9\\-]*}", gvr.Resource) +} + +func noOp(request *restful.Request, response *restful.Response) {} diff --git a/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi-spec-generator.go b/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi-spec-generator.go new file mode 100644 index 000000000..5af2fea3b --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi-spec-generator.go @@ -0,0 +1,43 @@ +/* +Copyright 2018 The CDI 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 main + +import ( + "encoding/json" + "fmt" + + "github.com/emicklei/go-restful" + + "kubevirt.io/containerized-data-importer/pkg/apiserver" +) + +func dumpOpenAPISpec(apiws []*restful.WebService) { + openapispec := loadOpenAPISpec(apiws) + data, err := json.MarshalIndent(openapispec, " ", " ") + if err != nil { + fmt.Println(err) + panic(err) + } + + fmt.Println(string(data)) +} + +func main() { + webservices := apiserver.UploadTokenRequestAPI() + webservices = append(webservices, DataVolumeAPI()...) + dumpOpenAPISpec(webservices) +} diff --git a/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi.go b/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi.go new file mode 100644 index 000000000..8465771f8 --- /dev/null +++ b/vendor/kubevirt.io/containerized-data-importer/tools/openapi-spec-generator/openapi.go @@ -0,0 +1,77 @@ +package main + +import ( + "strings" + + "github.com/emicklei/go-restful" + "github.com/emicklei/go-restful-openapi" + "github.com/go-openapi/spec" +) + +// code stolen/adapted from https://github.com/kubevirt/kubevirt/blob/master/pkg/util/openapi/openapi.go + +func createOpenAPIConfig(webServices []*restful.WebService) restfulspec.Config { + return restfulspec.Config{ + WebServices: webServices, + WebServicesURL: "", + APIPath: "/swaggerapi", + PostBuildSwaggerObjectHandler: addInfoToSwaggerObject, + } +} + +func addInfoToSwaggerObject(swo *spec.Swagger) { + swo.Info = &spec.Info{ + InfoProps: spec.InfoProps{ + Title: "KubeVirt Containerized Data Importer API", + Description: "Containerized Data Importer for KubeVirt.", + Contact: &spec.ContactInfo{ + Name: "kubevirt-dev", + Email: "kubevirt-dev@googlegroups.com", + URL: "https://github.com/kubevirt/containerized-data-importer", + }, + License: &spec.License{ + Name: "Apache 2.0", + URL: "https://www.apache.org/licenses/LICENSE-2.0", + }, + }, + } + swo.SecurityDefinitions = spec.SecurityDefinitions{ + "BearerToken": &spec.SecurityScheme{ + SecuritySchemeProps: spec.SecuritySchemeProps{ + Type: "apiKey", + Name: "authorization", + In: "header", + Description: "Bearer Token authentication", + }, + }, + } + swo.Security = make([]map[string][]string, 1) + swo.Security[0] = map[string][]string{"BearerToken": {}} +} + +func loadOpenAPISpec(webServices []*restful.WebService) *spec.Swagger { + openapispec := restfulspec.BuildSwagger(createOpenAPIConfig(webServices)) + + // creationTimestamp, lastProbeTime and lastTransitionTime are deserialized as "null" + // Fix it here until + // https://github.com/kubernetes/kubernetes/issues/66899 is ready + // Otherwise CRDs can't use templates which contain metadata and controllers + // can't set conditions without timestamps + objectMeta := openapispec.Definitions["v1.ObjectMeta"] + prop := objectMeta.Properties["creationTimestamp"] + prop.Type = spec.StringOrArray{"string", "null"} + objectMeta.Properties["creationTimestamp"] = prop + + for k, s := range openapispec.Definitions { + if strings.HasSuffix(k, "Condition") { + prop := s.Properties["lastProbeTime"] + prop.Type = spec.StringOrArray{"string", "null"} + s.Properties["lastProbeTime"] = prop + prop = s.Properties["lastTransitionTime"] + prop.Type = spec.StringOrArray{"string", "null"} + s.Properties["lastTransitionTime"] = prop + } + } + + return openapispec +} diff --git a/vendor/kubevirt.io/kubevirt/.gitignore b/vendor/kubevirt.io/kubevirt/.gitignore index 513466109..84cb11521 100644 --- a/vendor/kubevirt.io/kubevirt/.gitignore +++ b/vendor/kubevirt.io/kubevirt/.gitignore @@ -2,6 +2,7 @@ *.iml tools/openapispec/openapispec tools/crd-generator/crd-generator +tools/resource-generator/resource-generator **/bin bin/* .vagrant @@ -28,4 +29,6 @@ vendor/**/*_test.go **/polarion.xml tools/manifest-templator/manifest-templator tools/vms-generator/vms-generator -.coverprofile \ No newline at end of file +.coverprofile +coverage.html +manifests/**/*.tmp diff --git a/vendor/kubevirt.io/kubevirt/.travis.yml b/vendor/kubevirt.io/kubevirt/.travis.yml index 6d228245a..6891a350e 100644 --- a/vendor/kubevirt.io/kubevirt/.travis.yml +++ b/vendor/kubevirt.io/kubevirt/.travis.yml @@ -54,6 +54,10 @@ deploy: - _out/manifests/release/kubevirt.yaml - _out/templates/manifests/release/kubevirt.yaml.j2 - _out/manifests/release/demo-content.yaml + - _out/manifests/release/kubevirt-operator.yaml + - _out/manifests/release/kubevirt-cr.yaml + - _out/templates/manifests/release/kubevirt-operator.yaml.j2 + - _out/templates/manifests/release/kubevirt-cr.yaml.j2 prerelease: true overwrite: true name: $TRAVIS_TAG diff --git a/vendor/kubevirt.io/kubevirt/Makefile b/vendor/kubevirt.io/kubevirt/Makefile index fd96d1a71..1733daef4 100644 --- a/vendor/kubevirt.io/kubevirt/Makefile +++ b/vendor/kubevirt.io/kubevirt/Makefile @@ -1,7 +1,7 @@ export GO15VENDOREXPERIMENT := 1 all: - hack/dockerized "./hack/check.sh && KUBEVIRT_VERSION=${KUBEVIRT_VERSION} ./hack/build-go.sh install ${WHAT} && ./hack/build-copy-artifacts.sh ${WHAT} && DOCKER_PREFIX=${DOCKER_PREFIX} DOCKER_TAG=${DOCKER_TAG} ./hack/build-manifests.sh" + hack/dockerized "./hack/check.sh && KUBEVIRT_VERSION=${KUBEVIRT_VERSION} ./hack/build-go.sh install ${WHAT} && ./hack/build-copy-artifacts.sh ${WHAT} && DOCKER_PREFIX=${DOCKER_PREFIX} DOCKER_TAG=${DOCKER_TAG} IMAGE_PULL_POLICY=${IMAGE_PULL_POLICY} VERBOSITY=${VERBOSITY} ./hack/build-manifests.sh" generate: hack/dockerized "./hack/generate.sh" @@ -30,7 +30,7 @@ functest: clean: hack/dockerized "./hack/build-go.sh clean ${WHAT} && rm _out/* -rf" - rm -f tools/openapispec/openapispec tools/crd-generator/crd-generator tools/manifest-templator/manifests-templator tools/vms-generator/vms-generator + rm -f tools/openapispec/openapispec tools/resource-generator/resource-generator tools/manifest-templator/manifests-templator tools/vms-generator/vms-generator distclean: clean hack/dockerized "rm -rf vendor/ && rm -f .glide.*.hash && glide cc" @@ -63,7 +63,7 @@ verify-build: hack/verify-build.sh manifests: - hack/dockerized "DOCKER_PREFIX=${DOCKER_PREFIX} DOCKER_TAG=${DOCKER_TAG} ./hack/build-manifests.sh" + hack/dockerized "DOCKER_PREFIX=${DOCKER_PREFIX} DOCKER_TAG=${DOCKER_TAG} IMAGE_PULL_POLICY=${IMAGE_PULL_POLICY} VERBOSITY=${VERBOSITY} ./hack/build-manifests.sh" .release-functest: make functest > .release-functest 2>&1 @@ -88,4 +88,9 @@ cluster-deploy: cluster-clean cluster-sync: cluster-build cluster-deploy +cluster-deploy-operator: cluster-clean + ./cluster/deploy-operator.sh + +cluster-sync-operator: cluster-build cluster-deploy-operator + .PHONY: build test clean distclean checksync sync docker manifests publish functest release-announce cluster-up cluster-down cluster-clean cluster-deploy cluster-sync diff --git a/vendor/kubevirt.io/kubevirt/api/openapi-spec/swagger.json b/vendor/kubevirt.io/kubevirt/api/openapi-spec/swagger.json index 20e8ae5d0..c5f56308b 100644 --- a/vendor/kubevirt.io/kubevirt/api/openapi-spec/swagger.json +++ b/vendor/kubevirt.io/kubevirt/api/openapi-spec/swagger.json @@ -20,7 +20,7 @@ "application/json" ], "summary": "Get a KubeVirt API GroupList", - "operationId": "getAPIGroup", + "operationId": "getAPIGroupList", "responses": { "200": { "description": "OK", @@ -66,7 +66,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2": { + "/apis/kubevirt.io/v1alpha3": { "get": { "produces": [ "application/json" @@ -92,7 +92,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstancemigrations": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstancemigrations": { "get": { "produces": [ "application/json", @@ -312,7 +312,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstancemigrations/{name}": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstancemigrations/{name}": { "get": { "produces": [ "application/json", @@ -558,7 +558,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstancepresets": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstancepresets": { "get": { "produces": [ "application/json", @@ -778,7 +778,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstancepresets/{name}": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstancepresets/{name}": { "get": { "produces": [ "application/json", @@ -1024,7 +1024,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstancereplicasets": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstancereplicasets": { "get": { "produces": [ "application/json", @@ -1244,7 +1244,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstancereplicasets/{name}": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstancereplicasets/{name}": { "get": { "produces": [ "application/json", @@ -1490,7 +1490,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstances": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstances": { "get": { "produces": [ "application/json", @@ -1710,7 +1710,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstances/{name}": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstances/{name}": { "get": { "produces": [ "application/json", @@ -1956,7 +1956,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachines": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachines": { "get": { "produces": [ "application/json", @@ -2176,7 +2176,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachines/{name}": { + "/apis/kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachines/{name}": { "get": { "produces": [ "application/json", @@ -2422,7 +2422,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/virtualmachineinstancemigrations": { + "/apis/kubevirt.io/v1alpha3/virtualmachineinstancemigrations": { "get": { "produces": [ "application/json", @@ -2500,7 +2500,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/virtualmachineinstancepresets": { + "/apis/kubevirt.io/v1alpha3/virtualmachineinstancepresets": { "get": { "produces": [ "application/json", @@ -2578,7 +2578,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/virtualmachineinstancereplicasets": { + "/apis/kubevirt.io/v1alpha3/virtualmachineinstancereplicasets": { "get": { "produces": [ "application/json", @@ -2656,7 +2656,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/virtualmachineinstances": { + "/apis/kubevirt.io/v1alpha3/virtualmachineinstances": { "get": { "produces": [ "application/json", @@ -2734,7 +2734,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/virtualmachines": { + "/apis/kubevirt.io/v1alpha3/virtualmachines": { "get": { "produces": [ "application/json", @@ -2812,7 +2812,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/namespaces/{namespace}/virtualmachineinstancemigrations": { + "/apis/kubevirt.io/v1alpha3/watch/namespaces/{namespace}/virtualmachineinstancemigrations": { "get": { "produces": [ "application/json" @@ -2896,7 +2896,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/namespaces/{namespace}/virtualmachineinstancepresets": { + "/apis/kubevirt.io/v1alpha3/watch/namespaces/{namespace}/virtualmachineinstancepresets": { "get": { "produces": [ "application/json" @@ -2980,7 +2980,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/namespaces/{namespace}/virtualmachineinstancereplicasets": { + "/apis/kubevirt.io/v1alpha3/watch/namespaces/{namespace}/virtualmachineinstancereplicasets": { "get": { "produces": [ "application/json" @@ -3064,7 +3064,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/namespaces/{namespace}/virtualmachineinstances": { + "/apis/kubevirt.io/v1alpha3/watch/namespaces/{namespace}/virtualmachineinstances": { "get": { "produces": [ "application/json" @@ -3148,7 +3148,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/namespaces/{namespace}/virtualmachines": { + "/apis/kubevirt.io/v1alpha3/watch/namespaces/{namespace}/virtualmachines": { "get": { "produces": [ "application/json" @@ -3232,7 +3232,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/virtualmachineinstancemigrations": { + "/apis/kubevirt.io/v1alpha3/watch/virtualmachineinstancemigrations": { "get": { "produces": [ "application/json" @@ -3308,7 +3308,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/virtualmachineinstancepresets": { + "/apis/kubevirt.io/v1alpha3/watch/virtualmachineinstancepresets": { "get": { "produces": [ "application/json" @@ -3384,7 +3384,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/virtualmachineinstancereplicasets": { + "/apis/kubevirt.io/v1alpha3/watch/virtualmachineinstancereplicasets": { "get": { "produces": [ "application/json" @@ -3460,7 +3460,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/virtualmachineinstances": { + "/apis/kubevirt.io/v1alpha3/watch/virtualmachineinstances": { "get": { "produces": [ "application/json" @@ -3536,7 +3536,7 @@ } } }, - "/apis/kubevirt.io/v1alpha2/watch/virtualmachines": { + "/apis/kubevirt.io/v1alpha3/watch/virtualmachines": { "get": { "produces": [ "application/json" @@ -3638,7 +3638,7 @@ } } }, - "/apis/subresources.kubevirt.io/v1alpha2": { + "/apis/subresources.kubevirt.io/v1alpha3": { "get": { "produces": [ "application/json" @@ -3664,7 +3664,7 @@ } } }, - "/apis/subresources.kubevirt.io/v1alpha2/healthz": { + "/apis/subresources.kubevirt.io/v1alpha3/healthz": { "get": { "consumes": [ "application/json" @@ -3687,7 +3687,7 @@ } } }, - "/apis/subresources.kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstances/{name}/console": { + "/apis/subresources.kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstances/{name}/console": { "get": { "summary": "Open a websocket connection to a serial console on the specified VirtualMachineInstance.", "operationId": "console", @@ -3716,7 +3716,7 @@ } } }, - "/apis/subresources.kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstances/{name}/test": { + "/apis/subresources.kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstances/{name}/test": { "get": { "summary": "Test endpoint verifying apiserver connectivity.", "operationId": "test", @@ -3745,7 +3745,7 @@ } } }, - "/apis/subresources.kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachineinstances/{name}/vnc": { + "/apis/subresources.kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachineinstances/{name}/vnc": { "get": { "summary": "Open a websocket connection to connect to VNC on the specified VirtualMachineInstance.", "operationId": "vnc", @@ -3774,7 +3774,7 @@ } } }, - "/apis/subresources.kubevirt.io/v1alpha2/namespaces/{namespace}/virtualmachines/{name}/restart": { + "/apis/subresources.kubevirt.io/v1alpha3/namespaces/{namespace}/virtualmachines/{name}/restart": { "put": { "summary": "Restart a VirtualMachine object.", "operationId": "restart", @@ -3809,7 +3809,7 @@ } } }, - "/apis/subresources.kubevirt.io/v1alpha2/version": { + "/apis/subresources.kubevirt.io/v1alpha3/version": { "get": { "produces": [ "application/json" @@ -3821,6 +3821,22 @@ } } } + }, + "/openapi/v2": { + "get": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "operationId": "func7", + "responses": { + "200": { + "description": "OK" + } + } + } } }, "definitions": { @@ -4019,6 +4035,14 @@ "model": { "description": "Model specifies the CPU model inside the VMI.\nList of available models https://github.com/libvirt/libvirt/blob/master/src/cpu/cpu_map.xml.\nIt is possible to specify special cases like \"host-passthrough\" to get the same CPU as the node\nand \"host-model\" to get CPU closest to the node one.\nFor more information see https://libvirt.org/formatdomain.html#elementsCPU.\nDefaults to host-model.\n+optional", "type": "string" + }, + "sockets": { + "description": "Sockets specifies the number of sockets inside the vmi.\nMust be a value greater or equal 1.", + "type": "integer" + }, + "threads": { + "description": "Threads specifies the number of threads inside the vmi.\nMust be a value greater or equal 1.", + "type": "integer" } } }, @@ -4116,11 +4140,19 @@ } }, "v1.DHCPOptions": { + "description": "Extra DHCP options to use in the interface.", "properties": { "bootFileName": { "description": "If specified will pass option 67 to interface's DHCP server\n+optional", "type": "string" }, + "ntpServers": { + "description": "If specified will pass the configured NTP server to the VM via DHCP option 042.\n+optional", + "type": "array", + "items": { + "type": "string" + } + }, "tftpServerName": { "description": "If specified will pass option 66 to interface's DHCP server\n+optional", "type": "string" @@ -4213,8 +4245,7 @@ }, "v1.Disk": { "required": [ - "name", - "volumeName" + "name" ], "properties": { "bootOrder": { @@ -4253,10 +4284,6 @@ "serial": { "description": "Serial provides the ability to specify a serial number for the disk device.\n+optional", "type": "string" - }, - "volumeName": { - "description": "Name of the volume which is referenced.\nMust match the Name of a Volume.", - "type": "string" } } }, @@ -5255,6 +5282,21 @@ "v1.Rng": { "description": "Rng represents the random device passed from host" }, + "v1.RootPaths": { + "description": "RootPaths lists the paths available at root. For example: \"/healthz\", \"/apis\".", + "required": [ + "paths" + ], + "properties": { + "paths": { + "description": "paths are the paths available at root.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, "v1.SecretVolumeSource": { "description": "SecretVolumeSource adapts a Secret into a volume.", "properties": { @@ -5695,10 +5737,21 @@ }, "v1.VirtualMachineInstanceNetworkInterface": { "properties": { + "interfaceName": { + "description": "The interface name inside the Virtual Machine", + "type": "string" + }, "ipAddress": { "description": "IP address of a Virtual Machine interface", "type": "string" }, + "ipAddresses": { + "description": "List of all IP addresses of a Virtual Machine interface", + "type": "array", + "items": { + "type": "string" + } + }, "mac": { "description": "Hardware address of a Virtual Machine interface", "type": "string" @@ -5882,6 +5935,10 @@ "$ref": "#/definitions/v1.VirtualMachineInstanceReplicaSetCondition" } }, + "labelSelector": { + "description": "Canonical form of the label selector for HPA which consumes it through the scale subresource.", + "type": "string" + }, "readyReplicas": { "description": "The number of ready replicas for this replica set.\n+optional", "type": "integer", @@ -6178,6 +6235,7 @@ } }, "v1alpha1.DataVolume": { + "description": "DataVolume provides a representation of our data volume\n+genclient\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object", "required": [ "spec", "status" @@ -6202,14 +6260,24 @@ } } }, + "v1alpha1.DataVolumeBlankImage": { + "description": "DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC" + }, "v1alpha1.DataVolumeSource": { + "description": "DataVolumeSource represents the source for our Data Volume, this can be HTTP, S3, Registry or an existing PVC", "properties": { + "blank": { + "$ref": "#/definitions/v1alpha1.DataVolumeBlankImage" + }, "http": { "$ref": "#/definitions/v1alpha1.DataVolumeSourceHTTP" }, "pvc": { "$ref": "#/definitions/v1alpha1.DataVolumeSourcePVC" }, + "registry": { + "$ref": "#/definitions/v1alpha1.DataVolumeSourceRegistry" + }, "s3": { "$ref": "#/definitions/v1alpha1.DataVolumeSourceS3" }, @@ -6219,16 +6287,20 @@ } }, "v1alpha1.DataVolumeSourceHTTP": { + "description": "DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source", "properties": { "secretRef": { + "description": "SecretRef provides the secret reference needed to access the HTTP source", "type": "string" }, "url": { + "description": "URL is the URL of the http source", "type": "string" } } }, "v1alpha1.DataVolumeSourcePVC": { + "description": "DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC", "properties": { "name": { "type": "string" @@ -6238,34 +6310,57 @@ } } }, + "v1alpha1.DataVolumeSourceRegistry": { + "description": "DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source", + "properties": { + "secretRef": { + "description": "SecretRef provides the secret reference needed to access the Registry source", + "type": "string" + }, + "url": { + "description": "URL is the url of the Registry source", + "type": "string" + } + } + }, "v1alpha1.DataVolumeSourceS3": { + "description": "DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source", "properties": { "secretRef": { + "description": "SecretRef provides the secret reference needed to access the S3 source", "type": "string" }, "url": { + "description": "URL is the url of the S3 source", "type": "string" } } }, - "v1alpha1.DataVolumeSourceUpload": {}, + "v1alpha1.DataVolumeSourceUpload": { + "description": "DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source" + }, "v1alpha1.DataVolumeSpec": { + "description": "DataVolumeSpec defines our specification for a DataVolume type", "required": [ "source", "pvc" ], "properties": { "pvc": { + "description": "PVC is a pointer to the PVC Spec we want to use", "$ref": "#/definitions/v1.PersistentVolumeClaimSpec" }, "source": { + "description": "Source is the src of the data for the requested DataVolume", "$ref": "#/definitions/v1alpha1.DataVolumeSource" } } }, "v1alpha1.DataVolumeStatus": { + "description": "DataVolumeStatus provides the parameters to store the phase of the Data Volume", "properties": { "phase": { + "description": "Phase is the current phase of the data volume", "type": "string" } } diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.environment.yaml diff --git a/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.10-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.mounts similarity index 100% rename from vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.10-release.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.mounts diff --git a/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.10-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.packages similarity index 100% rename from vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.10-release.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.packages diff --git a/vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.10-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.sh similarity index 100% rename from vendor/kubevirt.io/containerized-data-importer/automation/check-patch.openshift-3.10-release.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.11.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.environment.yaml diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.10.4-release.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-release.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.environment.yaml diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-1.11.0-dev.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.environment.yaml diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-genie-1.11.1-release.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.11.1-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.11.1-release.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.environment.yaml diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2-release.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2-release.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.k8s-multus-1.12.2-release.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.10-multus-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.10-multus-release.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.environment.yaml diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.environment.yaml deleted file mode 120000 index 888daab8a..000000000 --- a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.environment.yaml +++ /dev/null @@ -1 +0,0 @@ -check-patch.environment.yaml \ No newline at end of file diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-crio-release.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.environment.yaml diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.environment.yaml deleted file mode 120000 index 888daab8a..000000000 --- a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.environment.yaml +++ /dev/null @@ -1 +0,0 @@ -check-patch.environment.yaml \ No newline at end of file diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.mounts deleted file mode 120000 index c459a2524..000000000 --- a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.mounts +++ /dev/null @@ -1 +0,0 @@ -check-patch.mounts \ No newline at end of file diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.packages deleted file mode 120000 index 3861411c6..000000000 --- a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.packages +++ /dev/null @@ -1 +0,0 @@ -check-patch.packages.el7 \ No newline at end of file diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.sh deleted file mode 120000 index a61652ade..000000000 --- a/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016-release.sh +++ /dev/null @@ -1 +0,0 @@ -check-patch.sh \ No newline at end of file diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.environment.yaml b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.environment.yaml similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-multus-release.environment.yaml rename to vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.environment.yaml diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.mounts b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.mounts similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.mounts rename to vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.mounts diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.packages b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.packages similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.packages rename to vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.packages diff --git a/vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.sh b/vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.sh similarity index 100% rename from vendor/kubevirt.io/kubevirt/automation/check-patch.openshift-3.11-release.sh rename to vendor/kubevirt.io/kubevirt/automation/check-patch.windows2016.sh diff --git a/vendor/kubevirt.io/kubevirt/automation/test.sh b/vendor/kubevirt.io/kubevirt/automation/test.sh index 637887c2d..30442ee72 100755 --- a/vendor/kubevirt.io/kubevirt/automation/test.sh +++ b/vendor/kubevirt.io/kubevirt/automation/test.sh @@ -46,9 +46,9 @@ if [[ $TARGET =~ openshift-.* ]]; then export KUBEVIRT_PROVIDER="os-3.11.0" fi elif [[ $TARGET =~ .*-1.10.4-.* ]]; then - export KUBEVIRT_PROVIDER="k8s-1.10.4" -elif [[ $TARGET =~ .*-multus-1.11.1-.* ]]; then - export KUBEVIRT_PROVIDER="k8s-multus-1.11.1" + export KUBEVIRT_PROVIDER="k8s-1.10.11" +elif [[ $TARGET =~ .*-multus-1.12.2-.* ]]; then + export KUBEVIRT_PROVIDER="k8s-multus-1.12.2" elif [[ $TARGET =~ .*-genie-1.11.1-.* ]]; then export KUBEVIRT_PROVIDER="k8s-genie-1.11.1" else @@ -176,7 +176,7 @@ set -e echo "Nodes are ready:" kubectl get nodes -make cluster-sync +make cluster-sync-operator # OpenShift is running important containers under default namespace namespaces=(kubevirt default) diff --git a/vendor/kubevirt.io/kubevirt/cluster/clean.sh b/vendor/kubevirt.io/kubevirt/cluster/clean.sh index f53b24570..3dcf2ac82 100755 --- a/vendor/kubevirt.io/kubevirt/cluster/clean.sh +++ b/vendor/kubevirt.io/kubevirt/cluster/clean.sh @@ -25,6 +25,20 @@ source hack/config.sh echo "Cleaning up ..." +# Delete KubeVirt CR, timeout after 10 seconds +set +e +( + cmdpid=$BASHPID + ( + sleep 10 + kill $cmdpid + ) & + _kubectl -n ${namespace} delete kv kubevirt +) +_kubectl -n ${namespace} patch kv kubevirt --type=json -p '[{ "op": "remove", "path": "/metadata/finalizers" }]' + +set -e + # Remove finalizers from all running vmis, to not block the cleanup _kubectl get vmis --all-namespaces -o=custom-columns=NAME:.metadata.name,NAMESPACE:.metadata.namespace,FINALIZERS:.metadata.finalizers --no-headers | grep foregroundDeleteVirtualMachine | while read p; do arr=($p) @@ -35,54 +49,63 @@ done # Delete all traces of kubevirt namespaces=(default ${namespace} ${cdi_namespace}) -labels=("kubevirt.io" "cdi.kubevirt.io") +labels=("operator.kubevirt.io" "kubevirt.io" "cdi.kubevirt.io") +# Namespaced resources for i in ${namespaces[@]}; do for label in ${labels[@]}; do _kubectl -n ${i} delete deployment -l ${label} _kubectl -n ${i} delete ds -l ${label} _kubectl -n ${i} delete rs -l ${label} _kubectl -n ${i} delete pods -l ${label} - _kubectl -n ${i} delete validatingwebhookconfiguration -l ${label} _kubectl -n ${i} delete services -l ${label} _kubectl -n ${i} delete pvc -l ${label} - _kubectl -n ${i} delete pv -l ${label} - _kubectl -n ${i} delete clusterrolebinding -l ${label} _kubectl -n ${i} delete rolebinding -l ${label} _kubectl -n ${i} delete roles -l ${label} - _kubectl -n ${i} delete clusterroles -l ${label} _kubectl -n ${i} delete serviceaccounts -l ${label} _kubectl -n ${i} delete configmaps -l ${label} _kubectl -n ${i} delete secrets -l ${label} - _kubectl -n ${i} delete customresourcedefinitions -l ${label} + done +done - # W/A for https://github.com/kubernetes/kubernetes/issues/65818 - if [[ "$KUBEVIRT_PROVIDER" =~ .*.10..* ]]; then - # k8s version 1.10.* does not have --wait parameter - _kubectl -n ${i} delete apiservices -l ${label} - else - _kubectl -n ${i} delete apiservices -l ${label} --wait=false - fi - _kubectl -n ${i} get apiservices -l ${label} -o=custom-columns=NAME:.metadata.name,FINALIZERS:.metadata.finalizers --no-headers | grep foregroundDeletion | while read p; do - arr=($p) - name="${arr[0]}" - _kubectl -n ${i} patch apiservices $name --type=json -p '[{ "op": "remove", "path": "/metadata/finalizers" }]' - done +# Not namespaced resources +for label in ${labels[@]}; do + _kubectl delete validatingwebhookconfiguration -l ${label} + _kubectl delete pv -l ${label} + _kubectl delete clusterrolebinding -l ${label} + _kubectl delete clusterroles -l ${label} + _kubectl delete customresourcedefinitions -l ${label} + + if [[ "$KUBEVIRT_PROVIDER" =~ os-* ]]; then + _kubectl delete scc -l ${label} + fi + + # W/A for https://github.com/kubernetes/kubernetes/issues/65818 + if [[ "$KUBEVIRT_PROVIDER" =~ .*.10..* ]]; then + # k8s version 1.10.* does not have --wait parameter + _kubectl delete apiservices -l ${label} + else + _kubectl delete apiservices -l ${label} --wait=false + fi + _kubectl get apiservices -l ${label} -o=custom-columns=NAME:.metadata.name,FINALIZERS:.metadata.finalizers --no-headers | grep foregroundDeletion | while read p; do + arr=($p) + name="${arr[0]}" + _kubectl -n ${i} patch apiservices $name --type=json -p '[{ "op": "remove", "path": "/metadata/finalizers" }]' done done -if [ "$(_kubectl get ns | grep ${namespace})" ]; then +if [ -n "$(_kubectl get ns | grep "${namespace} ")" ]; then echo "Clean ${namespace} namespace" _kubectl delete ns ${namespace} start_time=0 sample=10 timeout=120 - echo "Waiting for ${namespace} namespace to dissappear ..." - while [ "$(_kubectl get ns | grep ${namespace})" ]; do + echo "Waiting for ${namespace} namespace to disappear ..." + while [ -n "$(_kubectl get ns | grep "${namespace} ")" ]; do sleep $sample start_time=$((current_time + sample)) - if [ $current_time -gt $timeout ]; then + if [[ $current_time -gt $timeout ]]; then exit 1 fi done diff --git a/vendor/kubevirt.io/kubevirt/cluster/cli.sh b/vendor/kubevirt.io/kubevirt/cluster/cli.sh index 5499bde48..82c4f6e01 100755 --- a/vendor/kubevirt.io/kubevirt/cluster/cli.sh +++ b/vendor/kubevirt.io/kubevirt/cluster/cli.sh @@ -1,7 +1,8 @@ -source $(dirname "$0")/../hack/common.sh +#!/bin/bash +set -e +source hack/common.sh test -t 1 && USE_TTY="-it" - source ${KUBEVIRT_DIR}/cluster/$KUBEVIRT_PROVIDER/provider.sh source hack/config.sh diff --git a/vendor/kubevirt.io/kubevirt/cluster/deploy-operator.sh b/vendor/kubevirt.io/kubevirt/cluster/deploy-operator.sh new file mode 100755 index 000000000..62e6a6868 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/cluster/deploy-operator.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# +# This file is part of the KubeVirt project +# +# 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. +# +# Copyright 2018 Red Hat, Inc. +# + +set -ex + +source hack/common.sh +source cluster/$KUBEVIRT_PROVIDER/provider.sh +source hack/config.sh + +echo "Deploying ..." + +# Create the installation namespace if it does not exist already +_kubectl apply -f - < 5s v1.10.4 ## Bringing the cluster down ```bash -export KUBEVIRT_PROVIDER=k8s-1.10.4 +export KUBEVIRT_PROVIDER=k8s-1.10.11 make cluster-down ``` diff --git a/vendor/kubevirt.io/kubevirt/cluster/k8s-1.10.4/provider.sh b/vendor/kubevirt.io/kubevirt/cluster/k8s-1.10.11/provider.sh similarity index 90% rename from vendor/kubevirt.io/kubevirt/cluster/k8s-1.10.4/provider.sh rename to vendor/kubevirt.io/kubevirt/cluster/k8s-1.10.11/provider.sh index 9537ccf11..53e300140 100644 --- a/vendor/kubevirt.io/kubevirt/cluster/k8s-1.10.4/provider.sh +++ b/vendor/kubevirt.io/kubevirt/cluster/k8s-1.10.11/provider.sh @@ -2,7 +2,7 @@ set -e -image="k8s-1.10.4@sha256:b60a61ca03a1a6c504481020709a04f65e4dd9c929a8bcad18821c5f80d1b2b6" +image="k8s-1.10.11@sha256:b97e556795a56b9aa1763ddf3a49322b49f96877dccb7a164bbca779df078536" source cluster/ephemeral-provider-common.sh diff --git a/vendor/kubevirt.io/kubevirt/cmd/container-disk-v1alpha/entry-point.sh b/vendor/kubevirt.io/kubevirt/cmd/container-disk-v1alpha/entry-point.sh index 27b3e54e9..ebc74ed19 100755 --- a/vendor/kubevirt.io/kubevirt/cmd/container-disk-v1alpha/entry-point.sh +++ b/vendor/kubevirt.io/kubevirt/cmd/container-disk-v1alpha/entry-point.sh @@ -40,6 +40,26 @@ IMAGE_EXTENSION=$(echo $IMAGE_PATH | sed -n -e 's/^.*\.\(.*\)$/\1/p') mkdir -p $COPY_PATH echo $IMAGE_NAME | grep -q -e "raw" -e "qcow2" if [ $? -ne 0 ]; then + output=$(/usr/bin/qemu-img info $IMAGE_PATH --output=json) + if [ $? -ne 0 ]; then + echo "qemu-img info returned error" + exit 1 + fi + + IFS="," + echo $output | while read -r LINE; do + #it is not a valid image if its format is not qcow2. + if [ `echo $LINE | awk '$1 == "\"format\":" {print $1 }'` ] && [ `echo $LINE | awk '$2 != "\"qcow2\"" {print $2 }'` ] ; then + echo "Invalid format for image $IMAGE_PATH" + exit 1 + fi + #it is not a valid image if it has backing-filename + if [ `echo $LINE | awk '$1 == "\"backing-filename\":" {print $1 }'` ]; then + echo "Image $IMAGE_PATH is invalid because it has a backing file" + exit 1 + fi + done + IMAGE_EXTENSION="raw" /usr/bin/qemu-img convert $IMAGE_PATH ${COPY_PATH}.${IMAGE_EXTENSION} if [ $? -ne 0 ]; then diff --git a/vendor/kubevirt.io/kubevirt/cmd/example-hook-sidecar/smbios.go b/vendor/kubevirt.io/kubevirt/cmd/example-hook-sidecar/smbios.go index fdbab5b0f..3754c4cd4 100644 --- a/vendor/kubevirt.io/kubevirt/cmd/example-hook-sidecar/smbios.go +++ b/vendor/kubevirt.io/kubevirt/cmd/example-hook-sidecar/smbios.go @@ -102,7 +102,7 @@ func (s v1alpha1Server) OnDefineDomain(ctx context.Context, params *hooksV1alpha newDomainXML, err := xml.Marshal(domainSpec) if err != nil { - log.Log.Reason(err).Errorf("Failed to marshal updated domain spec: %s", domainSpec) + log.Log.Reason(err).Errorf("Failed to marshal updated domain spec: %+v", domainSpec) panic(err) } diff --git a/vendor/kubevirt.io/kubevirt/cmd/virt-launcher/virt-launcher.go b/vendor/kubevirt.io/kubevirt/cmd/virt-launcher/virt-launcher.go index ccce72823..e1a2c7cc8 100644 --- a/vendor/kubevirt.io/kubevirt/cmd/virt-launcher/virt-launcher.go +++ b/vendor/kubevirt.io/kubevirt/cmd/virt-launcher/virt-launcher.go @@ -127,7 +127,7 @@ func createLibvirtConnection() virtcli.Connection { return domainConn } -func startDomainEventMonitoring(notifier *notifyclient.NotifyClient, virtShareDir string, domainConn virtcli.Connection, deleteNotificationSent chan watch.Event, vmiUID types.UID) { +func startDomainEventMonitoring(notifier *notifyclient.NotifyClient, virtShareDir string, domainConn virtcli.Connection, deleteNotificationSent chan watch.Event, vmiUID types.UID, qemuAgentPollerInterval *time.Duration) { go func() { for { if res := libvirt.EventRunDefaultImpl(); res != nil { @@ -137,7 +137,7 @@ func startDomainEventMonitoring(notifier *notifyclient.NotifyClient, virtShareDi } }() - err := notifier.StartDomainNotifier(domainConn, deleteNotificationSent, vmiUID) + err := notifier.StartDomainNotifier(domainConn, deleteNotificationSent, vmiUID, qemuAgentPollerInterval) if err != nil { panic(err) } @@ -310,6 +310,7 @@ func main() { hookSidecars := pflag.Uint("hook-sidecars", 0, "Number of requested hook sidecars, virt-launcher will wait for all of them to become available") noFork := pflag.Bool("no-fork", false, "Fork and let virt-launcher watch itself to react to crashes if set to false") lessPVCSpaceToleration := pflag.Int("less-pvc-space-toleration", 0, "Toleration in percent when PVs' available space is smaller than requested") + qemuAgentPollerInterval := pflag.Duration("qemu-agent-poller-interval", 60, "Interval in seconds between consecutive qemu agent calls") // set new default verbosity, was set to 0 by glog goflag.Set("v", "2") @@ -396,7 +397,7 @@ func main() { events := make(chan watch.Event, 10) // Send domain notifications to virt-handler - startDomainEventMonitoring(notifier, *virtShareDir, domainConn, events, vm.UID) + startDomainEventMonitoring(notifier, *virtShareDir, domainConn, events, vm.UID, qemuAgentPollerInterval) c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt, diff --git a/vendor/kubevirt.io/kubevirt/cmd/virt-operator/Dockerfile b/vendor/kubevirt.io/kubevirt/cmd/virt-operator/Dockerfile new file mode 100644 index 000000000..15ec887ed --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/cmd/virt-operator/Dockerfile @@ -0,0 +1,30 @@ +# +# This file is part of the KubeVirt project +# +# 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. +# +# Copyright 2018 Red Hat, Inc. +# + +FROM fedora:28 + +LABEL maintainer="The KubeVirt Project " + +# Create non-root user +RUN useradd -u 1001 --create-home -s /bin/bash virt-operator +WORKDIR /home/virt-operator +USER 1001 +COPY virt-operator /usr/bin/virt-operator +COPY .version /.version + +ENTRYPOINT [ "/usr/bin/virt-operator" ] diff --git a/vendor/kubevirt.io/kubevirt/cmd/virt-operator/virt-operator.go b/vendor/kubevirt.io/kubevirt/cmd/virt-operator/virt-operator.go new file mode 100644 index 000000000..fe6d13280 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/cmd/virt-operator/virt-operator.go @@ -0,0 +1,31 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package main + +import ( + _ "kubevirt.io/kubevirt/pkg/monitoring/client/prometheus" // import for prometheus metrics + _ "kubevirt.io/kubevirt/pkg/monitoring/reflector/prometheus" // import for prometheus metrics + _ "kubevirt.io/kubevirt/pkg/monitoring/workqueue/prometheus" // import for prometheus metrics + "kubevirt.io/kubevirt/pkg/virt-operator" +) + +func main() { + virt_operator.Execute() +} diff --git a/vendor/kubevirt.io/kubevirt/docs/env-providers.md b/vendor/kubevirt.io/kubevirt/docs/env-providers.md index 9bec09fc0..db04a2abd 100644 --- a/vendor/kubevirt.io/kubevirt/docs/env-providers.md +++ b/vendor/kubevirt.io/kubevirt/docs/env-providers.md @@ -26,7 +26,7 @@ Requires: Usage: ```bash -export KUBEVIRT_PROVIDER=k8s-1.10.4 # choose this provider +export KUBEVIRT_PROVIDER=k8s-1.10.11 # choose this provider export KUBEVIRT_NUM_NODES=3 # master + two nodes make cluster-up ``` @@ -66,4 +66,4 @@ make cluster-up * Create a `cluster/$KUBEVIRT_PROVIDER` directory * Create a `cluster/$KUBEVIRT_PROVIDER/provider.sh` files * This file has to contain the functions `up`, `build`, `down` and `_kubectl` - * Have a look at `cluster/k8s-1.10.4/provider.sh` for a reference implementation + * Have a look at `cluster/k8s-1.10.11/provider.sh` for a reference implementation diff --git a/vendor/kubevirt.io/kubevirt/docs/getting-started.md b/vendor/kubevirt.io/kubevirt/docs/getting-started.md index 73f443ee9..1084c2416 100644 --- a/vendor/kubevirt.io/kubevirt/docs/getting-started.md +++ b/vendor/kubevirt.io/kubevirt/docs/getting-started.md @@ -31,7 +31,7 @@ dockerizied environment, clone the KubeVirt repository, `cd` into it, and: ```bash # Build and deploy KubeVirt on Kubernetes 1.10.4 in our vms inside containers -export KUBEVIRT_PROVIDER=k8s-1.10.4 # this is also the default if no KUBEVIRT_PROVIDER is set +export KUBEVIRT_PROVIDER=k8s-1.10.11 # this is also the default if no KUBEVIRT_PROVIDER is set make cluster-up make cluster-sync ``` @@ -182,11 +182,8 @@ tap networking device attached. $ ./cluster/kubectl.sh create -f cluster/examples/vmi-ephemeral.yaml vm "vmi-ephemeral" created -$ ./cluster/kubectl.sh -n kubevirt get pods +$ ./cluster/kubectl.sh get pods NAME READY STATUS RESTARTS AGE -virt-api 1/1 Running 1 10h -virt-controller 1/1 Running 1 10h -virt-handler-z90mp 1/1 Running 1 10h virt-launcher-vmi-ephemeral9q7es 1/1 Running 0 10s $ ./cluster/kubectl.sh get vmis diff --git a/vendor/kubevirt.io/kubevirt/docs/sriov.md b/vendor/kubevirt.io/kubevirt/docs/sriov.md index ecefb00dc..87f1a3ca3 100644 --- a/vendor/kubevirt.io/kubevirt/docs/sriov.md +++ b/vendor/kubevirt.io/kubevirt/docs/sriov.md @@ -83,6 +83,13 @@ Now you are ready to set up your cluster. You can use your preferred mechanism to deploy your kubernetes cluster as long as you deploy on bare metal. +Current recommendation is to use ```kubevirt-ansible``` to deploy the cluster. +Ansible playbooks will also deploy all the relevant SR-IOV components +for you. See [here](https://github.com/kubevirt/kubevirt-ansible/). + +You may still want to deploy software using `local` provider if you'd like to +deploy from Kubevirt sources though. + In the following example, we configure the cluster using `local` provider which is part of kubevirt/kubevirt repo. Please consult cluster/local/README.md for general information on setting up a host using the `local` provider. diff --git a/vendor/kubevirt.io/kubevirt/glide.lock b/vendor/kubevirt.io/kubevirt/glide.lock index 6bf30e1aa..bf1bce990 100644 --- a/vendor/kubevirt.io/kubevirt/glide.lock +++ b/vendor/kubevirt.io/kubevirt/glide.lock @@ -1,17 +1,13 @@ -hash: b07800e29d3f35b2b6466f1e42513f1c01018e9856739ffd576e6b556d224ca7 -updated: 2018-11-23T02:26:13.471620658Z +hash: be9daf859dced4e6f4b1e431f8ec0d8f7c865927b9878eb6c4243942ec4fe4fb +updated: 2019-01-09T22:17:21.235939733Z imports: - name: cloud.google.com/go version: 3b1ae45394a234c385be014e9a488f2bb6eef821 subpackages: - compute/metadata - internal -- name: github.com/ant31/crd-validation - version: 30f8a35d0ac2d8a2825c78ff47885979e3ee1121 - subpackages: - - pkg - name: github.com/asaskevich/govalidator - version: f9ffefc3facfbe0caee3fea233cbb6e8208f4541 + version: 593d64559f7600f29581a3ee42177f5dbded27a9 - name: github.com/Azure/go-autorest version: 1ff28809256a84bb6966640ff3d0371af82ccba4 subpackages: @@ -23,6 +19,10 @@ imports: version: 3a771d992973f24aa725d07868b467d1ddfceafb subpackages: - quantile +- name: github.com/coreos/go-iptables + version: 47f22b0dd3355c0ba570ba12b0b8a36bf214c04b + subpackages: + - iptables - name: github.com/davecgh/go-spew version: 782f4967f2dc4564575ca782fe2d04090b5faca8 subpackages: @@ -96,7 +96,7 @@ imports: subpackages: - lru - name: github.com/golang/mock - version: 49a60242bb5c086a9aacc67bdd056e88f75f3c3e + version: e698a2ea17fee71b248fc2bba82fc544c2017f93 subpackages: - gomock - name: github.com/golang/protobuf @@ -110,7 +110,7 @@ imports: - name: github.com/google/btree version: 7d79101e329e5a3adf994758c578dab82b90c017 - name: github.com/google/goexpect - version: b18097df138928108f35d9eb94955cc12954c0d5 + version: 31a95e9b7189161fd216fb1f32b74eebbc3c982f - name: github.com/google/gofuzz version: 44d81051d367757e1c7c6a5a86423ece9afcf63c - name: github.com/google/goterm @@ -174,7 +174,7 @@ imports: subpackages: - conn - name: github.com/libvirt/libvirt-go - version: d5e0adac44d4365a2d97e259f51ab76cc3c01b20 + version: 9c5bdce3c18faad94cb383e7ec42f5122a8c7fa1 - name: github.com/mailru/easyjson version: 2f5df55504ebc322e4d52d34df6a1f5b503bf26d subpackages: @@ -182,7 +182,7 @@ imports: - jlexer - jwriter - name: github.com/mattn/go-runewidth - version: c88d7e5f2e24de48a200a2655ac8a0910be9a0f7 + version: 703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211 - name: github.com/matttproud/golang_protobuf_extensions version: fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a subpackages: @@ -194,7 +194,7 @@ imports: - name: github.com/modern-go/reflect2 version: 05fbef0ca5da472bbf96c9322b84a53edc03c9fd - name: github.com/onsi/ginkgo - version: 2e1be8f7d90e9d3e3e58b0ce470f2f14d075406f + version: 505cc352255139defb7371000668063d1161e331 subpackages: - config - extensions/table @@ -215,10 +215,12 @@ imports: - reporters/stenographer/support/go-isatty - types - name: github.com/onsi/gomega - version: 65fb64232476ad9046e57c26cd0bff3d3a8dc6cd + version: ce690c543be4c3e5be441840219220f9ff1e8be1 subpackages: - format - ghttp + - gstruct + - gstruct/errors - internal/assertion - internal/asyncassertion - internal/oraclematcher @@ -229,6 +231,15 @@ imports: - matchers/support/goraph/node - matchers/support/goraph/util - types +- name: github.com/openshift/api + version: 84404551741398f2300f84b16fb97ef351749982 + subpackages: + - security/v1 +- name: github.com/openshift/client-go + version: 431ec9a26e5021f35fa41ee9a89842db9bfdb370 + subpackages: + - security/clientset/versioned/scheme + - security/clientset/versioned/typed/security/v1 - name: github.com/pborman/uuid version: ca53cad383cad2479bbba7f7a1a05797ec1386e4 - name: github.com/peterbourgon/diskv @@ -239,7 +250,7 @@ imports: - prometheus - prometheus/promhttp - name: github.com/prometheus/client_model - version: 5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f + version: f287a105a20ec685d797f65cd0ce8fbeaef42da1 subpackages: - go - name: github.com/prometheus/common @@ -340,7 +351,7 @@ imports: subpackages: - rate - name: google.golang.org/appengine - version: 4a4468ece617fc8205e99368fa2200e9d1fad421 + version: e9657d882bb81064595ca3b56cbe2546bbabf7b1 subpackages: - internal - internal/app_identity @@ -383,13 +394,13 @@ imports: - tap - transport - name: gopkg.in/cheggaaa/pb.v1 - version: 007b75a044e968336a69a6c0c617251ab62ac14c + version: 1cc5bbe20449079337944d56292c7383510c534c - name: gopkg.in/fsnotify/fsnotify.v1 version: c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9 - name: gopkg.in/inf.v0 version: 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 - name: gopkg.in/ini.v1 - version: 9c8236e659b76e87bf02044d06fde8683008ff3e + version: 6ed8d5f64cd79a498d1f3fab5880cc376ce41bbe - name: gopkg.in/tomb.v1 version: c131134a1947e9afd9cecfe11f4c6dff0732ae58 - name: gopkg.in/yaml.v2 @@ -433,6 +444,9 @@ imports: subpackages: - pkg/apis/apiextensions - pkg/apis/apiextensions/v1beta1 + - pkg/client/clientset/clientset + - pkg/client/clientset/clientset/scheme + - pkg/client/clientset/clientset/typed/apiextensions/v1beta1 - name: k8s.io/apimachinery version: 103fd098999dc9c0c88536f5c9ad2e5da39373ae subpackages: @@ -608,7 +622,7 @@ imports: - pkg/common - pkg/util/proto - name: kubevirt.io/containerized-data-importer - version: 8d7a20b86c9a2ed8ac31e26aab50e362f0c84475 + version: 254749a63d335a4ec1ef919a971cab0b68cf4980 repo: https://github.com/kubevirt/containerized-data-importer.git subpackages: - pkg/apis/datavolumecontroller @@ -637,8 +651,6 @@ imports: - pkg/ginkgo-reporters - pkg/polarion-xml testImports: -- name: github.com/coreos/go-iptables - version: 47f22b0dd3355c0ba570ba12b0b8a36bf214c04b - name: github.com/elazarl/goproxy version: 07b16b6e30fcac0ad8c0435548e743bcf2ca7e92 - name: github.com/facebookgo/structtag @@ -652,7 +664,7 @@ testImports: subpackages: - assert - name: golang.org/x/sync - version: 42b317875d0fa942474b76e1b46a6060d720ae6e + version: 37e7f081c4d4c64e13b10787722085407fe5d15f subpackages: - errgroup - name: gopkg.in/check.v1 diff --git a/vendor/kubevirt.io/kubevirt/glide.yaml b/vendor/kubevirt.io/kubevirt/glide.yaml index dfe3daaff..1ae2db1f5 100644 --- a/vendor/kubevirt.io/kubevirt/glide.yaml +++ b/vendor/kubevirt.io/kubevirt/glide.yaml @@ -42,6 +42,10 @@ import: version: kubernetes-1.11.2 - package: k8s.io/kube-aggregator version: kubernetes-1.11.2 +- package: k8s.io/apiextensions-apiserver + version: kubernetes-1.11.2 +- package: github.com/openshift/client-go + version: release-3.11 - package: github.com/fsnotify/fsnotify version: ^1.4.2 - package: github.com/mailru/easyjson @@ -81,10 +85,6 @@ import: - cobra - package: github.com/spf13/pflag version: 1.0.1 -- package: k8s.io/apiextensions-apiserver - version: kubernetes-1.11.2 -- package: github.com/ant31/crd-validation - version: 30f8a35d0ac2d8a2825c78ff47885979e3ee1121 - package: kubevirt.io/qe-tools version: v0.1.2 repo: https://github.com/kubevirt/qe-tools.git @@ -93,7 +93,7 @@ import: - proto - package: kubevirt.io/containerized-data-importer repo: https://github.com/kubevirt/containerized-data-importer.git - version: v1.3.0 + version: 254749a63d335a4ec1ef919a971cab0b68cf4980 testImport: - package: github.com/elazarl/goproxy version: 07b16b6e30fcac0ad8c0435548e743bcf2ca7e92 diff --git a/vendor/kubevirt.io/kubevirt/hack/build-docker.sh b/vendor/kubevirt.io/kubevirt/hack/build-docker.sh index bd530b632..c97ab506e 100755 --- a/vendor/kubevirt.io/kubevirt/hack/build-docker.sh +++ b/vendor/kubevirt.io/kubevirt/hack/build-docker.sh @@ -31,6 +31,7 @@ fi if [ $# -eq 0 ]; then args=$docker_images + build_tests="true" else args=$@ fi @@ -82,3 +83,13 @@ if [ "${target}" = "pull-cache" ]; then done fi fi + +if [[ "${build_tests}" == "true" ]]; then + if [[ "${target}" == "build" ]]; then + build_func_tests_container + fi + if [[ "${target}" == "push" ]]; then + cd ${TESTS_OUT_DIR} + docker $target ${docker_prefix}/tests:${docker_tag} + fi +fi diff --git a/vendor/kubevirt.io/kubevirt/hack/build-func-tests-container.sh b/vendor/kubevirt.io/kubevirt/hack/build-func-tests-container.sh new file mode 100755 index 000000000..81b97fb6b --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/hack/build-func-tests-container.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# +# This file is part of the KubeVirt project +# +# 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. +# +# Copyright 2017 Red Hat, Inc. +# + +set -e + +source hack/common.sh +source hack/config.sh + +build_func_tests_container diff --git a/vendor/kubevirt.io/kubevirt/hack/build-manifests.sh b/vendor/kubevirt.io/kubevirt/hack/build-manifests.sh index dd21e4f3e..dc3e1537a 100755 --- a/vendor/kubevirt.io/kubevirt/hack/build-manifests.sh +++ b/vendor/kubevirt.io/kubevirt/hack/build-manifests.sh @@ -24,41 +24,59 @@ source hack/config.sh manifest_docker_prefix=${manifest_docker_prefix-${docker_prefix}} -args=$(cd ${KUBEVIRT_DIR}/manifests && find * -type f -name "*.yaml.in") - rm -rf ${MANIFESTS_OUT_DIR} rm -rf ${MANIFEST_TEMPLATES_OUT_DIR} (cd ${KUBEVIRT_DIR}/tools/manifest-templator/ && go build) +# first process file includes only +args=$(cd ${KUBEVIRT_DIR}/manifests && find . -type f -name "*.yaml.in" -not -path "./generated/*") +for arg in $args; do + infile=${KUBEVIRT_DIR}/manifests/${arg} + outfile=${KUBEVIRT_DIR}/manifests/${arg}.tmp + + ${KUBEVIRT_DIR}/tools/manifest-templator/manifest-templator \ + --process-files \ + --generated-manifests-dir=${KUBEVIRT_DIR}/manifests/generated/ \ + --input-file=${infile} >${outfile} +done + +# then process variables +args=$(cd ${KUBEVIRT_DIR}/manifests && find . -type f -name "*.yaml.in.tmp") for arg in $args; do final_out_dir=$(dirname ${MANIFESTS_OUT_DIR}/${arg}) final_templates_out_dir=$(dirname ${MANIFEST_TEMPLATES_OUT_DIR}/${arg}) mkdir -p ${final_out_dir} mkdir -p ${final_templates_out_dir} - manifest=$(basename -s .in ${arg}) + manifest=$(basename -s .in.tmp ${arg}) + infile=${KUBEVIRT_DIR}/manifests/${arg} outfile=${final_out_dir}/${manifest} template_outfile=${final_templates_out_dir}/${manifest}.j2 ${KUBEVIRT_DIR}/tools/manifest-templator/manifest-templator \ + --process-vars \ --namespace=${namespace} \ --cdi-namespace=${cdi_namespace} \ - --docker-prefix=${manifest_docker_prefix} \ - --docker-tag=${docker_tag} \ + --container-prefix=${manifest_docker_prefix} \ + --container-tag=${docker_tag} \ --image-pull-policy=${image_pull_policy} \ - --generated-manifests-dir=${KUBEVIRT_DIR}/manifests/generated/ \ - --input-file=${KUBEVIRT_DIR}/manifests/$arg >${outfile} + --verbosity=${verbosity} \ + --input-file=${infile} >${outfile} ${KUBEVIRT_DIR}/tools/manifest-templator/manifest-templator \ + --process-vars \ --namespace="{{ namespace }}" \ --cdi-namespace="{{ cdi_namespace }}" \ - --docker-prefix="{{ docker_prefix }}" \ - --docker-tag="{{ docker_tag }}" \ + --container-prefix="{{ docker_prefix }}" \ + --container-tag="{{ docker_tag }}" \ --image-pull-policy="{{ image_pull_policy }}" \ - --generated-manifests-dir=${KUBEVIRT_DIR}/manifests/generated/ \ - --input-file=${KUBEVIRT_DIR}/manifests/$arg >${template_outfile} + --verbosity=${verbosity} \ + --input-file=${infile} >${template_outfile} done +# Remove tmp files +(cd ${KUBEVIRT_DIR}/manifests && find . -type f -name "*.yaml.in.tmp" -exec rm {} \;) + # Remove empty lines at the end of files which are added by go templating find ${MANIFESTS_OUT_DIR}/ -type f -exec sed -i {} -e '${/^$/d;}' \; find ${MANIFEST_TEMPLATES_OUT_DIR}/ -type f -exec sed -i {} -e '${/^$/d;}' \; diff --git a/vendor/kubevirt.io/kubevirt/hack/common.sh b/vendor/kubevirt.io/kubevirt/hack/common.sh index d0344fcbc..ffffe1e75 100644 --- a/vendor/kubevirt.io/kubevirt/hack/common.sh +++ b/vendor/kubevirt.io/kubevirt/hack/common.sh @@ -18,8 +18,20 @@ function build_func_tests() { ginkgo build ${KUBEVIRT_DIR}/tests mv ${KUBEVIRT_DIR}/tests/tests.test ${TESTS_OUT_DIR}/ } +function build_func_tests_container() { + local bin_name=tests + cp ${KUBEVIRT_DIR}/tests/{Dockerfile,entrypoint.sh} \ + ${KUBEVIRT_DIR}/tools/manifest-templator/manifest-templator \ + ${TESTS_OUT_DIR}/ + rsync -ar ${KUBEVIRT_DIR}/manifests/ ${TESTS_OUT_DIR}/manifests + cd ${TESTS_OUT_DIR} + docker build \ + -t ${docker_prefix}/${bin_name}:${docker_tag} \ + --label ${job_prefix} \ + --label ${bin_name} . +} -KUBEVIRT_PROVIDER=${KUBEVIRT_PROVIDER:-k8s-1.10.4} +KUBEVIRT_PROVIDER=${KUBEVIRT_PROVIDER:-k8s-1.10.11} KUBEVIRT_NUM_NODES=${KUBEVIRT_NUM_NODES:-1} KUBEVIRT_MEMORY_SIZE=${KUBEVIRT_MEMORY_SIZE:-5120M} diff --git a/vendor/kubevirt.io/kubevirt/hack/config-default.sh b/vendor/kubevirt.io/kubevirt/hack/config-default.sh index 8898ba93d..a4616eb38 100644 --- a/vendor/kubevirt.io/kubevirt/hack/config-default.sh +++ b/vendor/kubevirt.io/kubevirt/hack/config-default.sh @@ -1,5 +1,5 @@ -binaries="cmd/virt-controller cmd/virt-launcher cmd/virt-handler cmd/virtctl cmd/fake-qemu-process cmd/virt-api cmd/subresource-access-test cmd/example-hook-sidecar" -docker_images_cacheable="cmd/virt-controller cmd/virt-launcher cmd/virt-handler cmd/virt-api images/disks-images-provider images/vm-killer cmd/subresource-access-test images/winrmcli cmd/example-hook-sidecar images/cdi-http-import-server cmd/container-disk-v1alpha" +binaries="cmd/virt-operator cmd/virt-controller cmd/virt-launcher cmd/virt-handler cmd/virtctl cmd/fake-qemu-process cmd/virt-api cmd/subresource-access-test cmd/example-hook-sidecar" +docker_images_cacheable="cmd/virt-operator cmd/virt-controller cmd/virt-launcher cmd/virt-handler cmd/virt-api images/disks-images-provider images/vm-killer cmd/subresource-access-test images/winrmcli cmd/example-hook-sidecar images/cdi-http-import-server cmd/container-disk-v1alpha" docker_images_container_disks="images/cirros-container-disk-demo images/fedora-cloud-container-disk-demo images/alpine-container-disk-demo images/virtio-container-disk" docker_images="${docker_images_cacheable} ${docker_images_container_disks}" docker_prefix=${DOCKER_PREFIX:-kubevirt} @@ -9,3 +9,4 @@ network_provider=flannel namespace=kubevirt cdi_namespace=kube-system image_pull_policy=${IMAGE_PULL_POLICY:-IfNotPresent} +verbosity=${VERBOSITY:-2} diff --git a/vendor/kubevirt.io/kubevirt/hack/config.sh b/vendor/kubevirt.io/kubevirt/hack/config.sh index 0e82c0508..04ca1d668 100644 --- a/vendor/kubevirt.io/kubevirt/hack/config.sh +++ b/vendor/kubevirt.io/kubevirt/hack/config.sh @@ -1,5 +1,5 @@ unset binaries docker_images docker_prefix docker_tag manifest_templates \ - master_ip network_provider kubeconfig manifest_docker_prefix namespace image_pull_policy + master_ip network_provider kubeconfig manifest_docker_prefix namespace image_pull_policy verbosity KUBEVIRT_PROVIDER=${KUBEVIRT_PROVIDER:-${PROVIDER}} @@ -13,4 +13,4 @@ test -f "hack/config-provider-${KUBEVIRT_PROVIDER}.sh" && source hack/config-pro test -f "hack/config-local.sh" && source hack/config-local.sh export binaries docker_images docker_prefix docker_tag manifest_templates \ - master_ip network_provider kubeconfig namespace image_pull_policy + master_ip network_provider kubeconfig namespace image_pull_policy verbosity diff --git a/vendor/kubevirt.io/kubevirt/hack/coverage.sh b/vendor/kubevirt.io/kubevirt/hack/coverage.sh index 83599997b..ae52ac746 100755 --- a/vendor/kubevirt.io/kubevirt/hack/coverage.sh +++ b/vendor/kubevirt.io/kubevirt/hack/coverage.sh @@ -3,5 +3,7 @@ set -e path=${1:-./pkg/...} +profile=.coverprofile -go test -cover -v -coverprofile=.coverprofile $(go list ${path}) +go test -cover -v -coverprofile=$profile $(go list ${path}) +go tool cover -html=$profile -o coverage.html diff --git a/vendor/kubevirt.io/kubevirt/hack/functests.sh b/vendor/kubevirt.io/kubevirt/hack/functests.sh index fc6d470f7..bf08236a6 100755 --- a/vendor/kubevirt.io/kubevirt/hack/functests.sh +++ b/vendor/kubevirt.io/kubevirt/hack/functests.sh @@ -28,4 +28,4 @@ if [[ ${TARGET} == openshift* ]]; then oc=${kubectl} fi -${TESTS_OUT_DIR}/tests.test -kubeconfig=${kubeconfig} -tag=${docker_tag} -prefix=${functest_docker_prefix} -oc-path=${oc} -kubectl-path=${kubectl} -test.timeout 180m ${FUNC_TEST_ARGS} -installed-namespace=${namespace} +${TESTS_OUT_DIR}/tests.test -kubeconfig=${kubeconfig} -container-tag=${docker_tag} -container-prefix=${functest_docker_prefix} -oc-path=${oc} -kubectl-path=${kubectl} -test.timeout 180m ${FUNC_TEST_ARGS} -installed-namespace=${namespace} diff --git a/vendor/kubevirt.io/kubevirt/hack/gen-swagger-doc/deploy.sh b/vendor/kubevirt.io/kubevirt/hack/gen-swagger-doc/deploy.sh index 20a2a9a66..288314ddd 100755 --- a/vendor/kubevirt.io/kubevirt/hack/gen-swagger-doc/deploy.sh +++ b/vendor/kubevirt.io/kubevirt/hack/gen-swagger-doc/deploy.sh @@ -33,7 +33,7 @@ Content of this repository is generated from OpenAPI specification of * [master](${GITHUB_IO_FQDN}/master/index.html) __EOF__ find * -type d -regex "^v[0-9.]*" \ - -exec echo "* [{}](${GITHUB_IO_FQDN}/{}/index.html)" \; >>README.md + -exec echo "* [{}](${GITHUB_IO_FQDN}/{}/index.html)" \; | sort -r --version-sort -t '[' --key 2 >>README.md git config --global user.email "travis@travis-ci.org" git config --global user.name "Travis CI" diff --git a/vendor/kubevirt.io/kubevirt/hack/generate.sh b/vendor/kubevirt.io/kubevirt/hack/generate.sh index 9167e8c27..386a770cf 100755 --- a/vendor/kubevirt.io/kubevirt/hack/generate.sh +++ b/vendor/kubevirt.io/kubevirt/hack/generate.sh @@ -14,14 +14,21 @@ goimports -w -local kubevirt.io ${KUBEVIRT_DIR}/cmd/ ${KUBEVIRT_DIR}/pkg/ ${KUBE ${KUBEVIRT_DIR}/tools/openapispec/openapispec --dump-api-spec-path ${KUBEVIRT_DIR}/api/openapi-spec/swagger.json -(cd ${KUBEVIRT_DIR}/tools/crd-generator/ && go build) +(cd ${KUBEVIRT_DIR}/tools/resource-generator/ && go build) rm -f ${KUBEVIRT_DIR}/manifests/generated/* rm -f ${KUBEVIRT_DIR}/cluster/examples/* -${KUBEVIRT_DIR}/tools/crd-generator/crd-generator --crd-type=vmi >${KUBEVIRT_DIR}/manifests/generated/vmi-resource.yaml -${KUBEVIRT_DIR}/tools/crd-generator/crd-generator --crd-type=vmirs >${KUBEVIRT_DIR}/manifests/generated/vmirs-resource.yaml -${KUBEVIRT_DIR}/tools/crd-generator/crd-generator --crd-type=vmipreset >${KUBEVIRT_DIR}/manifests/generated/vmipreset-resource.yaml -${KUBEVIRT_DIR}/tools/crd-generator/crd-generator --crd-type=vm >${KUBEVIRT_DIR}/manifests/generated/vm-resource.yaml -${KUBEVIRT_DIR}/tools/crd-generator/crd-generator --crd-type=vmim >${KUBEVIRT_DIR}/manifests/generated/vmim-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vmi >${KUBEVIRT_DIR}/manifests/generated/vmi-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vmirs >${KUBEVIRT_DIR}/manifests/generated/vmirs-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vmipreset >${KUBEVIRT_DIR}/manifests/generated/vmipreset-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vm >${KUBEVIRT_DIR}/manifests/generated/vm-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=vmim >${KUBEVIRT_DIR}/manifests/generated/vmim-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=kv >${KUBEVIRT_DIR}/manifests/generated/kv-resource.yaml +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=kv-cr --namespace={{.Namespace}} --pullPolicy={{.ImagePullPolicy}} >${KUBEVIRT_DIR}/manifests/generated/kubevirt-cr.yaml.in +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=rbac --namespace={{.Namespace}} >${KUBEVIRT_DIR}/manifests/generated/rbac.authorization.k8s.yaml.in +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=prometheus --namespace={{.Namespace}} >${KUBEVIRT_DIR}/manifests/generated/prometheus.yaml.in +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=virt-api --namespace={{.Namespace}} --repository={{.DockerPrefix}} --version={{.DockerTag}} --pullPolicy={{.ImagePullPolicy}} --verbosity={{.Verbosity}} >${KUBEVIRT_DIR}/manifests/generated/virt-api.yaml.in +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=virt-controller --namespace={{.Namespace}} --repository={{.DockerPrefix}} --version={{.DockerTag}} --pullPolicy={{.ImagePullPolicy}} --verbosity={{.Verbosity}} >${KUBEVIRT_DIR}/manifests/generated/virt-controller.yaml.in +${KUBEVIRT_DIR}/tools/resource-generator/resource-generator --type=virt-handler --namespace={{.Namespace}} --repository={{.DockerPrefix}} --version={{.DockerTag}} --pullPolicy={{.ImagePullPolicy}} --verbosity={{.Verbosity}} >${KUBEVIRT_DIR}/manifests/generated/virt-handler.yaml.in (cd ${KUBEVIRT_DIR}/tools/vms-generator/ && go build) ${KUBEVIRT_DIR}/tools/vms-generator/vms-generator --generated-vms-dir=${KUBEVIRT_DIR}/cluster/examples diff --git a/vendor/kubevirt.io/kubevirt/hack/release-announce.sh b/vendor/kubevirt.io/kubevirt/hack/release-announce.sh index 57cbc66b1..ba3c22428 100755 --- a/vendor/kubevirt.io/kubevirt/hack/release-announce.sh +++ b/vendor/kubevirt.io/kubevirt/hack/release-announce.sh @@ -87,7 +87,7 @@ $(functest) Additional Resources -------------------- - Mailing list: -- IRC: +- Slack: - An easy to use demo: - [How to contribute][contributing] - [License][license] diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/kubevirt-ns.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/kubevirt-ns.yaml.in deleted file mode 100644 index 302a06d10..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/kubevirt-ns.yaml.in +++ /dev/null @@ -1,7 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - labels: - kubevirt.io: "" - name: {{.Namespace}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/rbac.authorization.k8s.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/rbac.authorization.k8s.yaml.in deleted file mode 100644 index 4c0f97107..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/rbac.authorization.k8s.yaml.in +++ /dev/null @@ -1,401 +0,0 @@ -kind: ServiceAccount -apiVersion: v1 -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: ClusterRole - name: kubevirt-apiserver - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-apiserver - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-apiserver-auth-delegator - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: kubevirt-apiserver - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: Role - name: kubevirt-apiserver - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-apiserver - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: Role -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -rules: - - apiGroups: - - '' - resources: - - secrets - verbs: - - get - - list - - delete - - update - - create - - apiGroups: - - '' - resources: - - configmaps - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -rules: - - apiGroups: - - admissionregistration.k8s.io - resources: - - validatingwebhookconfigurations - - mutatingwebhookconfigurations - verbs: - - get - - create - - update - - apiGroups: - - apiregistration.k8s.io - resources: - - apiservices - verbs: - - get - - create - - update - - apiGroups: - - '' - resources: - - pods - verbs: - - get - - list - - apiGroups: - - '' - resources: - - configmaps - resourceNames: - - extension-apiserver-authentication - verbs: - - get - - list - - watch - - apiGroups: - - '' - resources: - - pods/exec - verbs: - - create - - apiGroups: - - kubevirt.io - resources: - - virtualmachines - - virtualmachineinstances - - virtualmachineinstancemigrations - verbs: - - get - - list - - watch - - delete - - apiGroups: - - '' - resources: - - limitranges - verbs: - - watch - - list - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstancepresets - verbs: - - watch - - list ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -rules: - - apiGroups: - - '' - resources: - - pods - - configmaps - - endpoints - verbs: - - get - - list - - watch - - delete - - update - - create - - apiGroups: - - '' - resources: - - events - verbs: - - update - - create - - patch - - apiGroups: - - '' - resources: - - pods/finalizers - verbs: - - update - - apiGroups: - - '' - resources: - - nodes - verbs: - - get - - list - - watch - - update - - patch - - apiGroups: - - '' - resources: - - persistentvolumeclaims - verbs: - - get - - list - - watch - - apiGroups: - - kubevirt.io - resources: - - '*' - verbs: - - '*' - - apiGroups: - - cdi.kubevirt.io - resources: - - '*' - verbs: - - '*' - - apiGroups: - - k8s.cni.cncf.io - resources: - - network-attachment-definitions - verbs: - - get - - list - - watch ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: kubevirt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "" ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: kubevirt-privileged - namespace: {{.Namespace}} - labels: - kubevirt.io: "" ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: ClusterRole - name: kubevirt-controller - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-controller - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-privileged-cluster-admin - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: ClusterRole - name: cluster-admin - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-privileged - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt.io:admin - labels: - kubevirt.io: "" - rbac.authorization.k8s.io/aggregate-to-admin: "true" -rules: - - apiGroups: - - subresources.kubevirt.io - resources: - - virtualmachineinstances/console - - virtualmachineinstances/vnc - - virtualmachines/restart - verbs: - - get - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstances - - virtualmachines - - virtualmachineinstancepresets - - virtualmachineinstancereplicasets - verbs: - - get - - delete - - create - - update - - patch - - list - - watch - - deletecollection ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt.io:edit - labels: - kubevirt.io: "" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: - - apiGroups: - - subresources.kubevirt.io - resources: - - virtualmachineinstances/console - - virtualmachineinstances/vnc - - virtualmachines/restart - verbs: - - get - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstances - - virtualmachines - - virtualmachineinstancepresets - - virtualmachineinstancereplicasets - verbs: - - get - - delete - - create - - update - - patch - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt.io:view - labels: - kubevirt.io: "" - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstances - - virtualmachines - - virtualmachineinstancepresets - - virtualmachineinstancereplicasets - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - annotations: - rbac.authorization.kubernetes.io/autoupdate: "true" - labels: - kubevirt.io: "" - kubernetes.io/bootstrapping: rbac-defaults - name: kubevirt.io:default -rules: -- apiGroups: - - subresources.kubevirt.io - resources: - - version - verbs: - - get - - list ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - kubevirt.io: "" - annotations: - rbac.authorization.kubernetes.io/autoupdate: "true" - name: kubevirt.io:default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kubevirt.io:default -subjects: -- apiGroup: rbac.authorization.k8s.io - kind: Group - name: system:authenticated -- apiGroup: rbac.authorization.k8s.io - kind: Group - name: system:unauthenticated diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/replicaset-resource.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/replicaset-resource.yaml.in deleted file mode 100644 index 6a52b65d0..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/replicaset-resource.yaml.in +++ /dev/null @@ -1 +0,0 @@ -{{index .GeneratedManifests "vmirs-resource.yaml"}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/virt-api.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/virt-api.yaml.in deleted file mode 100644 index c3276b024..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/virt-api.yaml.in +++ /dev/null @@ -1,65 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: virt-api - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-api" -spec: - ports: - - port: 443 - targetPort: 8443 - protocol: TCP - selector: - kubevirt.io: virt-api ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: virt-api - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-api" -spec: - replicas: 1 - template: - metadata: - annotations: - scheduler.alpha.kubernetes.io/critical-pod: "" - scheduler.alpha.kubernetes.io/tolerations: | - [ - { - "key": "CriticalAddonsOnly", - "operator": "Exists" - } - ] - labels: - kubevirt.io: virt-api - prometheus.kubevirt.io: "" - spec: - serviceAccountName: kubevirt-apiserver - containers: - - name: virt-api - image: {{.DockerPrefix}}/virt-api:{{.DockerTag}} - imagePullPolicy: {{.ImagePullPolicy}} - command: - - "virt-api" - - "--port" - - "8443" - - "--subresources-only" - ports: - - containerPort: 8443 - name: "virt-api" - protocol: "TCP" - - containerPort: 8443 - name: "metrics" - protocol: "TCP" - readinessProbe: - httpGet: - scheme: HTTPS - port: 8443 - path: /apis/subresources.kubevirt.io/v1alpha2/healthz - initialDelaySeconds: 15 - timeoutSeconds: 10 - securityContext: - runAsNonRoot: true diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/virt-controller.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/virt-controller.yaml.in deleted file mode 100644 index 544d07071..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/virt-controller.yaml.in +++ /dev/null @@ -1,61 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: virt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-controller" -spec: - replicas: 2 - template: - metadata: - annotations: - scheduler.alpha.kubernetes.io/critical-pod: "" - scheduler.alpha.kubernetes.io/tolerations: | - [ - { - "key": "CriticalAddonsOnly", - "operator": "Exists" - } - ] - labels: - kubevirt.io: virt-controller - prometheus.kubevirt.io: "" - spec: - serviceAccountName: kubevirt-controller - containers: - - name: virt-controller - image: {{.DockerPrefix}}/virt-controller:{{.DockerTag}} - imagePullPolicy: {{.ImagePullPolicy}} - command: - - "virt-controller" - - "--launcher-image" - - "{{.DockerPrefix}}/virt-launcher:{{.DockerTag}}" - - "--port" - - "8443" - - "-v" - - "5" - ports: - - containerPort: 8443 - name: "virt-controller" - protocol: "TCP" - - containerPort: 8443 - name: "metrics" - protocol: "TCP" - livenessProbe: - failureThreshold: 8 - httpGet: - scheme: HTTPS - port: 8443 - path: /healthz - initialDelaySeconds: 15 - timeoutSeconds: 10 - readinessProbe: - httpGet: - scheme: HTTPS - port: 8443 - path: /leader - initialDelaySeconds: 15 - timeoutSeconds: 10 - securityContext: - runAsNonRoot: true diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/virt-handler.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/virt-handler.yaml.in deleted file mode 100644 index 0a6bca253..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/virt-handler.yaml.in +++ /dev/null @@ -1,81 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: virt-handler - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-handler" -spec: - updateStrategy: - type: RollingUpdate - template: - metadata: - annotations: - scheduler.alpha.kubernetes.io/critical-pod: "" - scheduler.alpha.kubernetes.io/tolerations: | - [ - { - "key": "CriticalAddonsOnly", - "operator": "Exists" - } - ] - name: virt-handler - labels: - kubevirt.io: virt-handler - prometheus.kubevirt.io: "" - spec: - serviceAccountName: kubevirt-privileged - hostPID: true - containers: - - name: virt-handler - ports: - - containerPort: 8443 - name: "metrics" - protocol: "TCP" - image: {{.DockerPrefix}}/virt-handler:{{.DockerTag}} - imagePullPolicy: {{.ImagePullPolicy}} - command: - - "virt-handler" - - "-v" - - "3" - - "--port" - - "8443" - - "--hostname-override" - - "$(NODE_NAME)" - - "--pod-ip-address" - - "$(MY_POD_IP)" - - "-v" - - "5" - securityContext: - privileged: true - volumeMounts: - - name: libvirt-runtimes - mountPath: /var/run/kubevirt-libvirt-runtimes - - name: virt-share-dir - mountPath: /var/run/kubevirt - - name: virt-private-dir - mountPath: /var/run/kubevirt-private - - name: device-plugin - mountPath: /var/lib/kubelet/device-plugins - env: - - name: NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumes: - - name: libvirt-runtimes - hostPath: - path: /var/run/kubevirt-libvirt-runtimes - - name: virt-share-dir - hostPath: - path: /var/run/kubevirt - - name: virt-private-dir - hostPath: - path: /var/run/kubevirt-private - - name: device-plugin - hostPath: - path: /var/lib/kubelet/device-plugins diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/vm-resource.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/vm-resource.yaml.in deleted file mode 100644 index 904388afd..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/vm-resource.yaml.in +++ /dev/null @@ -1 +0,0 @@ -{{index .GeneratedManifests "vm-resource.yaml"}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/vmi-resource.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/vmi-resource.yaml.in deleted file mode 100644 index a82d7e1f1..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/vmi-resource.yaml.in +++ /dev/null @@ -1 +0,0 @@ -{{index .GeneratedManifests "vmi-resource.yaml"}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/vmim-resource.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/vmim-resource.yaml.in deleted file mode 100644 index d24481826..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/vmim-resource.yaml.in +++ /dev/null @@ -1 +0,0 @@ -{{index .GeneratedManifests "vmim-resource.yaml"}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/vmipreset-resource.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/dev/vmipreset-resource.yaml.in deleted file mode 100644 index 5af4f7b36..000000000 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/vmipreset-resource.yaml.in +++ /dev/null @@ -1 +0,0 @@ -{{index .GeneratedManifests "vmipreset-resource.yaml"}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/kubevirt-cr.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/generated/kubevirt-cr.yaml.in new file mode 100644 index 000000000..36bea9efd --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/kubevirt-cr.yaml.in @@ -0,0 +1,8 @@ +--- +apiVersion: kubevirt.io/v1alpha3 +kind: KubeVirt +metadata: + name: kubevirt + namespace: {{.Namespace}} +spec: + imagePullPolicy: {{.ImagePullPolicy}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/kv-resource.yaml b/vendor/kubevirt.io/kubevirt/manifests/generated/kv-resource.yaml new file mode 100644 index 000000000..e379d4872 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/kv-resource.yaml @@ -0,0 +1,25 @@ +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + labels: + operator.kubevirt.io: "" + name: kubevirts.kubevirt.io +spec: + additionalPrinterColumns: + - JSONPath: .metadata.creationTimestamp + name: Age + type: date + - JSONPath: .status.phase + name: Phase + type: string + group: kubevirt.io + names: + kind: KubeVirt + plural: kubevirts + shortNames: + - kv + - kvs + singular: kubevirt + scope: Namespaced + version: v1alpha3 diff --git a/vendor/kubevirt.io/kubevirt/manifests/dev/prometheus.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/generated/prometheus.yaml.in similarity index 73% rename from vendor/kubevirt.io/kubevirt/manifests/dev/prometheus.yaml.in rename to vendor/kubevirt.io/kubevirt/manifests/generated/prometheus.yaml.in index 50bf96930..92763f99f 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/dev/prometheus.yaml.in +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/prometheus.yaml.in @@ -1,16 +1,17 @@ +--- apiVersion: v1 kind: Service metadata: - name: kubevirt-prometheus-metrics - namespace: {{.Namespace}} labels: - prometheus.kubevirt.io: "" kubevirt.io: "" + prometheus.kubevirt.io: "" + name: kubevirt-prometheus-metrics + namespace: {{.Namespace}} spec: ports: - - name: metrics - port: 443 - targetPort: metrics - protocol: TCP + - name: metrics + port: 443 + protocol: TCP + targetPort: metrics selector: prometheus.kubevirt.io: "" diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/rbac.authorization.k8s.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/generated/rbac.authorization.k8s.yaml.in new file mode 100644 index 000000000..c1bc4b57d --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/rbac.authorization.k8s.yaml.in @@ -0,0 +1,396 @@ +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + annotations: + rbac.authorization.kubernetes.io/autoupdate: "true" + labels: + kubernetes.io/bootstrapping: rbac-defaults + kubevirt.io: "" + name: kubevirt.io:default +rules: +- apiGroups: + - subresources.kubevirt.io + resources: + - version + verbs: + - get + - list +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + annotations: + rbac.authorization.kubernetes.io/autoupdate: "true" + labels: + kubevirt.io: "" + name: kubevirt.io:default +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kubevirt.io:default +subjects: +- apiGroup: rbac.authorization.k8s.io + kind: Group + name: system:authenticated +- apiGroup: rbac.authorization.k8s.io + kind: Group + name: system:unauthenticated +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + kubevirt.io: "" + rbac.authorization.k8s.io/aggregate-to-admin: "true" + name: kubevirt.io:admin +rules: +- apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachineinstances/console + - virtualmachineinstances/vnc + - virtualmachines/restart + verbs: + - get +- apiGroups: + - kubevirt.io + resources: + - virtualmachines + - virtualmachineinstances + - virtualmachineinstancepresets + - virtualmachineinstancereplicasets + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + kubevirt.io: "" + rbac.authorization.k8s.io/aggregate-to-edit: "true" + name: kubevirt.io:edit +rules: +- apiGroups: + - subresources.kubevirt.io + resources: + - virtualmachineinstances/console + - virtualmachineinstances/vnc + - virtualmachines/restart + verbs: + - get +- apiGroups: + - kubevirt.io + resources: + - virtualmachines + - virtualmachineinstances + - virtualmachineinstancepresets + - virtualmachineinstancereplicasets + verbs: + - get + - delete + - create + - update + - patch + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + kubevirt.io: "" + rbac.authorization.k8s.io/aggregate-to-view: "true" + name: kubevirt.io:view +rules: +- apiGroups: + - kubevirt.io + resources: + - virtualmachines + - virtualmachineinstances + - virtualmachineinstancepresets + - virtualmachineinstancereplicasets + verbs: + - get + - list + - watch +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + kubevirt.io: "" + name: kubevirt-privileged + namespace: {{.Namespace}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + kubevirt.io: "" + name: kubevirt-privileged-cluster-admin +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin +subjects: +- kind: ServiceAccount + name: kubevirt-privileged + namespace: {{.Namespace}} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + kubevirt.io: "" + name: kubevirt-apiserver + namespace: {{.Namespace}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + kubevirt.io: "" + name: kubevirt-apiserver +rules: +- apiGroups: + - admissionregistration.k8s.io + resources: + - validatingwebhookconfigurations + - mutatingwebhookconfigurations + verbs: + - get + - create + - update +- apiGroups: + - apiregistration.k8s.io + resources: + - apiservices + verbs: + - get + - create + - update +- apiGroups: + - "" + resources: + - pods + verbs: + - get + - list +- apiGroups: + - "" + resources: + - pods/exec + verbs: + - create +- apiGroups: + - kubevirt.io + resources: + - virtualmachines + - virtualmachineinstances + - virtualmachineinstancemigrations + verbs: + - get + - list + - watch + - delete +- apiGroups: + - kubevirt.io + resources: + - virtualmachineinstancepresets + verbs: + - watch + - list +- apiGroups: + - "" + resourceNames: + - extension-apiserver-authentication + resources: + - configmaps + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - limitranges + verbs: + - watch + - list +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + kubevirt.io: "" + name: kubevirt-apiserver +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kubevirt-apiserver +subjects: +- kind: ServiceAccount + name: kubevirt-apiserver + namespace: {{.Namespace}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + kubevirt.io: "" + name: kubevirt-apiserver-auth-delegator +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:auth-delegator +subjects: +- kind: ServiceAccount + name: kubevirt-apiserver + namespace: {{.Namespace}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + labels: + kubevirt.io: "" + name: kubevirt-apiserver + namespace: {{.Namespace}} +rules: +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - delete + - update + - create +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + labels: + kubevirt.io: "" + name: kubevirt-apiserver + namespace: {{.Namespace}} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: kubevirt-apiserver +subjects: +- kind: ServiceAccount + name: kubevirt-apiserver + namespace: {{.Namespace}} +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + kubevirt.io: "" + name: kubevirt-controller + namespace: {{.Namespace}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + labels: + kubevirt.io: "" + name: kubevirt-controller +rules: +- apiGroups: + - "" + resources: + - pods + - configmaps + - endpoints + verbs: + - get + - list + - watch + - delete + - update + - create +- apiGroups: + - "" + resources: + - events + verbs: + - update + - create + - patch +- apiGroups: + - "" + resources: + - pods/finalizers + verbs: + - update +- apiGroups: + - "" + resources: + - nodes + verbs: + - get + - list + - watch + - update + - patch +- apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - get + - list + - watch +- apiGroups: + - kubevirt.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - cdi.kubevirt.io + resources: + - '*' + verbs: + - '*' +- apiGroups: + - k8s.cni.cncf.io + resources: + - network-attachment-definitions + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + labels: + kubevirt.io: "" + name: kubevirt-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: kubevirt-controller +subjects: +- kind: ServiceAccount + name: kubevirt-controller + namespace: {{.Namespace}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/virt-api.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/generated/virt-api.yaml.in new file mode 100644 index 000000000..1417f3c2d --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/virt-api.yaml.in @@ -0,0 +1,68 @@ +--- +apiVersion: v1 +kind: Service +metadata: + labels: + kubevirt.io: virt-api + name: virt-api + namespace: {{.Namespace}} +spec: + ports: + - port: 443 + protocol: TCP + targetPort: 8443 + selector: + kubevirt.io: virt-api +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + kubevirt.io: virt-api + name: virt-api + namespace: {{.Namespace}} +spec: + replicas: 2 + selector: + matchLabels: + kubevirt.io: virt-api + strategy: {} + template: + metadata: + annotations: + scheduler.alpha.kubernetes.io/critical-pod: "" + scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly","operator":"Exists"}]' + labels: + kubevirt.io: virt-api + prometheus.kubevirt.io: "" + name: virt-api + spec: + containers: + - command: + - virt-api + - --port + - "8443" + - --subresources-only + - -v + - {{.Verbosity}} + image: {{.DockerPrefix}}/virt-api:{{.DockerTag}} + imagePullPolicy: {{.ImagePullPolicy}} + name: virt-api + ports: + - containerPort: 8443 + name: virt-api + protocol: TCP + - containerPort: 8443 + name: metrics + protocol: TCP + readinessProbe: + httpGet: + path: /apis/subresources.kubevirt.io/v1alpha3/healthz + port: 8443 + scheme: HTTPS + initialDelaySeconds: 15 + periodSeconds: 10 + resources: {} + securityContext: + runAsNonRoot: true + serviceAccountName: kubevirt-apiserver diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/virt-controller.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/generated/virt-controller.yaml.in new file mode 100644 index 000000000..4c087f2b9 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/virt-controller.yaml.in @@ -0,0 +1,59 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + kubevirt.io: virt-controller + name: virt-controller + namespace: {{.Namespace}} +spec: + replicas: 2 + selector: + matchLabels: + kubevirt.io: virt-controller + strategy: {} + template: + metadata: + annotations: + scheduler.alpha.kubernetes.io/critical-pod: "" + scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly","operator":"Exists"}]' + labels: + kubevirt.io: virt-controller + prometheus.kubevirt.io: "" + name: virt-controller + spec: + containers: + - command: + - virt-controller + - --launcher-image + - {{.DockerPrefix}}/virt-launcher:{{.DockerTag}} + - --port + - "8443" + - -v + - {{.Verbosity}} + image: {{.DockerPrefix}}/virt-controller:{{.DockerTag}} + imagePullPolicy: {{.ImagePullPolicy}} + livenessProbe: + failureThreshold: 8 + httpGet: + path: /healthz + port: 8443 + scheme: HTTPS + initialDelaySeconds: 15 + timeoutSeconds: 10 + name: virt-controller + ports: + - containerPort: 8443 + name: metrics + protocol: TCP + readinessProbe: + httpGet: + path: /leader + port: 8443 + scheme: HTTPS + initialDelaySeconds: 15 + timeoutSeconds: 10 + resources: {} + securityContext: + runAsNonRoot: true + serviceAccountName: kubevirt-controller diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/virt-handler.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/generated/virt-handler.yaml.in new file mode 100644 index 000000000..5a0bbab92 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/virt-handler.yaml.in @@ -0,0 +1,78 @@ +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + labels: + kubevirt.io: virt-handler + name: virt-handler + namespace: {{.Namespace}} +spec: + selector: + matchLabels: + kubevirt.io: virt-handler + template: + metadata: + annotations: + scheduler.alpha.kubernetes.io/critical-pod: "" + scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly","operator":"Exists"}]' + labels: + kubevirt.io: virt-handler + prometheus.kubevirt.io: "" + name: virt-handler + spec: + containers: + - command: + - virt-handler + - --port + - "8443" + - --hostname-override + - $(NODE_NAME) + - --pod-ip-address + - $(MY_POD_IP) + - -v + - {{.Verbosity}} + env: + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: MY_POD_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: {{.DockerPrefix}}/virt-handler:{{.DockerTag}} + imagePullPolicy: {{.ImagePullPolicy}} + name: virt-handler + ports: + - containerPort: 8443 + name: metrics + protocol: TCP + resources: {} + securityContext: + privileged: true + volumeMounts: + - mountPath: /var/run/kubevirt-libvirt-runtimes + name: libvirt-runtimes + - mountPath: /var/run/kubevirt + name: virt-share-dir + - mountPath: /var/run/kubevirt-private + name: virt-private-dir + - mountPath: /var/lib/kubelet/device-plugins + name: device-plugin + hostPID: true + serviceAccountName: kubevirt-privileged + volumes: + - hostPath: + path: /var/run/kubevirt-libvirt-runtimes + name: libvirt-runtimes + - hostPath: + path: /var/run/kubevirt + name: virt-share-dir + - hostPath: + path: /var/run/kubevirt-private + name: virt-private-dir + - hostPath: + path: /var/lib/kubelet/device-plugins + name: device-plugin + updateStrategy: + type: RollingUpdate diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/vm-resource.yaml b/vendor/kubevirt.io/kubevirt/manifests/generated/vm-resource.yaml index 3b962a72a..a09173e1a 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/generated/vm-resource.yaml +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/vm-resource.yaml @@ -2,7 +2,6 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - creationTimestamp: null labels: kubevirt.io: "" name: virtualmachines.kubevirt.io @@ -27,4 +26,4 @@ spec: - vms singular: virtualmachine scope: Namespaced - version: v1alpha2 + version: v1alpha3 diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/vmi-resource.yaml b/vendor/kubevirt.io/kubevirt/manifests/generated/vmi-resource.yaml index 29adda2b8..b55cd97f0 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/generated/vmi-resource.yaml +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/vmi-resource.yaml @@ -2,7 +2,6 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - creationTimestamp: null labels: kubevirt.io: "" name: virtualmachineinstances.kubevirt.io @@ -29,4 +28,4 @@ spec: - vmis singular: virtualmachineinstance scope: Namespaced - version: v1alpha2 + version: v1alpha3 diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/vmim-resource.yaml b/vendor/kubevirt.io/kubevirt/manifests/generated/vmim-resource.yaml index fe5283a3d..9d4d78586 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/generated/vmim-resource.yaml +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/vmim-resource.yaml @@ -2,7 +2,6 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - creationTimestamp: null labels: kubevirt.io: "" name: virtualmachineinstancemigrations.kubevirt.io @@ -16,4 +15,4 @@ spec: - vmims singular: virtualmachineinstancemigration scope: Namespaced - version: v1alpha2 + version: v1alpha3 diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/vmipreset-resource.yaml b/vendor/kubevirt.io/kubevirt/manifests/generated/vmipreset-resource.yaml index e92117f28..73856d352 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/generated/vmipreset-resource.yaml +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/vmipreset-resource.yaml @@ -2,7 +2,6 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - creationTimestamp: null labels: kubevirt.io: "" name: virtualmachineinstancepresets.kubevirt.io @@ -16,4 +15,4 @@ spec: - vmipresets singular: virtualmachineinstancepreset scope: Namespaced - version: v1alpha2 + version: v1alpha3 diff --git a/vendor/kubevirt.io/kubevirt/manifests/generated/vmirs-resource.yaml b/vendor/kubevirt.io/kubevirt/manifests/generated/vmirs-resource.yaml index b30a3222d..799fb034f 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/generated/vmirs-resource.yaml +++ b/vendor/kubevirt.io/kubevirt/manifests/generated/vmirs-resource.yaml @@ -2,7 +2,6 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - creationTimestamp: null labels: kubevirt.io: "" name: virtualmachineinstancereplicasets.kubevirt.io @@ -33,4 +32,9 @@ spec: - vmirss singular: virtualmachineinstancereplicaset scope: Namespaced - version: v1alpha2 + subresources: + scale: + labelSelectorPath: .status.labelSelector + specReplicasPath: .spec.replicas + statusReplicasPath: .status.replicas + version: v1alpha3 diff --git a/vendor/kubevirt.io/kubevirt/manifests/release/demo-content.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/release/demo-content.yaml.in index 70bde1923..b03bb8e39 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/release/demo-content.yaml.in +++ b/vendor/kubevirt.io/kubevirt/manifests/release/demo-content.yaml.in @@ -1,5 +1,5 @@ # Virtual Machine Presets -apiVersion: kubevirt.io/v1alpha2 +apiVersion: kubevirt.io/v1alpha3 kind: VirtualMachineInstancePreset metadata: name: windows-server-2012r2 diff --git a/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-cr.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-cr.yaml.in new file mode 100644 index 000000000..d8e2e9476 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-cr.yaml.in @@ -0,0 +1 @@ +{{index .GeneratedManifests "kubevirt-cr.yaml.in"}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-operator.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-operator.yaml.in new file mode 100644 index 000000000..a5df3c9cc --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt-operator.yaml.in @@ -0,0 +1,109 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + labels: + kubevirt.io: "" + name: {{.Namespace}} +{{index .GeneratedManifests "kv-resource.yaml"}} +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: kubevirt.io:operator + labels: + operator.kubevirt.io: "" + rbac.authorization.k8s.io/aggregate-to-admin: "true" +rules: + - apiGroups: + - kubevirt.io + resources: + - kubevirts + verbs: + - get + - delete + - create + - update + - patch + - list + - watch + - deletecollection +--- +kind: ServiceAccount +apiVersion: v1 +metadata: + name: kubevirt-operator + namespace: {{.Namespace}} + labels: + operator.kubevirt.io: "" +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: kubevirt-operator + namespace: {{.Namespace}} + labels: + operator.kubevirt.io: "" +roleRef: + kind: ClusterRole + name: cluster-admin + apiGroup: rbac.authorization.k8s.io +subjects: + - kind: ServiceAccount + name: kubevirt-operator + namespace: {{.Namespace}} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: virt-operator + namespace: {{.Namespace}} + labels: + operator.kubevirt.io: "virt-operator" +spec: + replicas: 1 + selector: + matchLabels: + operator.kubevirt.io: virt-operator + template: + metadata: + annotations: + scheduler.alpha.kubernetes.io/critical-pod: "" + scheduler.alpha.kubernetes.io/tolerations: | + [ + { + "key": "CriticalAddonsOnly", + "operator": "Exists" + } + ] + labels: + operator.kubevirt.io: virt-operator + prometheus.kubevirt.io: "" + spec: + serviceAccountName: kubevirt-operator + containers: + - name: virt-operator + image: &image {{.DockerPrefix}}/virt-operator:{{.DockerTag}} + imagePullPolicy: {{.ImagePullPolicy}} + command: + - virt-operator + - --port + - "8443" + - -v + - {{.Verbosity}} + ports: + - containerPort: 8443 + name: "metrics" + protocol: "TCP" + readinessProbe: + httpGet: + scheme: HTTPS + port: "metrics" + path: "/metrics" + initialDelaySeconds: 5 + periodSeconds: 10 + env: + - name: OPERATOR_IMAGE + value: *image + securityContext: + runAsNonRoot: true diff --git a/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt.yaml.in index c974e6df8..7e2fd4f67 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt.yaml.in +++ b/vendor/kubevirt.io/kubevirt/manifests/release/kubevirt.yaml.in @@ -5,626 +5,11 @@ metadata: labels: kubevirt.io: "" name: {{.Namespace}} ---- -# Monitoring -apiVersion: v1 -kind: Service -metadata: - name: kubevirt-prometheus-metrics - namespace: {{.Namespace}} - labels: - prometheus.kubevirt.io: "" - kubevirt.io: "" -spec: - ports: - - name: metrics - port: 443 - targetPort: metrics - protocol: TCP - selector: - prometheus.kubevirt.io: "" ---- -# RBAC -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt.io:admin - labels: - kubevirt.io: "" - rbac.authorization.k8s.io/aggregate-to-admin: "true" -rules: - - apiGroups: - - subresources.kubevirt.io - resources: - - virtualmachineinstances/console - - virtualmachineinstances/vnc - - virtualmachines/restart - verbs: - - get - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstances - - virtualmachines - - virtualmachineinstancepresets - - virtualmachineinstancereplicasets - verbs: - - get - - delete - - create - - update - - patch - - list - - watch - - deletecollection ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt.io:edit - labels: - kubevirt.io: "" - rbac.authorization.k8s.io/aggregate-to-edit: "true" -rules: - - apiGroups: - - subresources.kubevirt.io - resources: - - virtualmachineinstances/console - - virtualmachineinstances/vnc - - virtualmachines/restart - verbs: - - get - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstances - - virtualmachines - - virtualmachineinstancepresets - - virtualmachineinstancereplicasets - verbs: - - get - - delete - - create - - update - - patch - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt.io:view - labels: - kubevirt.io: "" - rbac.authorization.k8s.io/aggregate-to-view: "true" -rules: - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstances - - virtualmachines - - virtualmachineinstancepresets - - virtualmachineinstancereplicasets - verbs: - - get - - list - - watch ---- -kind: ServiceAccount -apiVersion: v1 -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: ClusterRole - name: kubevirt-apiserver - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-apiserver - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-apiserver-auth-delegator - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: system:auth-delegator -subjects: -- kind: ServiceAccount - name: kubevirt-apiserver - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: Role - name: kubevirt-apiserver - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-apiserver - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: Role -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -rules: - - apiGroups: - - '' - resources: - - secrets - verbs: - - get - - list - - delete - - update - - create - - apiGroups: - - '' - resources: - - configmaps - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt-apiserver - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -rules: - - apiGroups: - - admissionregistration.k8s.io - resources: - - validatingwebhookconfigurations - - mutatingwebhookconfigurations - verbs: - - get - - create - - update - - apiGroups: - - apiregistration.k8s.io - resources: - - apiservices - verbs: - - get - - create - - update - - apiGroups: - - '' - resources: - - pods - verbs: - - get - - list - - apiGroups: - - '' - resources: - - configmaps - resourceNames: - - extension-apiserver-authentication - verbs: - - get - - list - - watch - - apiGroups: - - '' - resources: - - pods/exec - verbs: - - create - - apiGroups: - - kubevirt.io - resources: - - virtualmachines - - virtualmachineinstances - - virtualmachineinstancemigrations - verbs: - - get - - list - - watch - - delete - - apiGroups: - - '' - resources: - - limitranges - verbs: - - watch - - list - - apiGroups: - - kubevirt.io - resources: - - virtualmachineinstancepresets - verbs: - - watch - - list ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - name: kubevirt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -rules: - - apiGroups: - - '' - resources: - - pods - - configmaps - - endpoints - verbs: - - get - - list - - watch - - delete - - update - - create - - apiGroups: - - '' - resources: - - events - verbs: - - update - - create - - patch - - apiGroups: - - '' - resources: - - nodes - verbs: - - get - - list - - watch - - update - - patch - - apiGroups: - - '' - resources: - - persistentvolumeclaims - verbs: - - get - - list - - watch - - apiGroups: - - kubevirt.io - resources: - - '*' - verbs: - - '*' - - apiGroups: - - cdi.kubevirt.io - resources: - - '*' - verbs: - - '*' - - apiGroups: - - k8s.cni.cncf.io - resources: - - network-attachment-definitions - verbs: - - get - - list - - watch ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: kubevirt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "" ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: kubevirt-privileged - namespace: {{.Namespace}} - labels: - kubevirt.io: "" ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: ClusterRole - name: kubevirt-controller - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-controller - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubevirt-privileged-cluster-admin - namespace: {{.Namespace}} - labels: - kubevirt.io: "" -roleRef: - kind: ClusterRole - name: cluster-admin - apiGroup: rbac.authorization.k8s.io -subjects: - - kind: ServiceAccount - name: kubevirt-privileged - namespace: {{.Namespace}} ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - annotations: - rbac.authorization.kubernetes.io/autoupdate: "true" - labels: - kubevirt.io: "" - kubernetes.io/bootstrapping: rbac-defaults - name: kubevirt.io:default -rules: -- apiGroups: - - subresources.kubevirt.io - resources: - - version - verbs: - - get - - list ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - kubevirt.io: "" - annotations: - rbac.authorization.kubernetes.io/autoupdate: "true" - name: kubevirt.io:default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kubevirt.io:default -subjects: -- apiGroup: rbac.authorization.k8s.io - kind: Group - name: system:authenticated -- apiGroup: rbac.authorization.k8s.io - kind: Group - name: system:unauthenticated ---- -apiVersion: v1 -kind: Service -metadata: - name: virt-api - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-api" -spec: - ports: - - port: 443 - targetPort: 8443 - protocol: TCP - selector: - kubevirt.io: virt-api ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: virt-api - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-api" -spec: - replicas: 2 - template: - metadata: - annotations: - scheduler.alpha.kubernetes.io/critical-pod: "" - scheduler.alpha.kubernetes.io/tolerations: | - [ - { - "key": "CriticalAddonsOnly", - "operator": "Exists" - } - ] - labels: - kubevirt.io: virt-api - prometheus.kubevirt.io: "" - spec: - serviceAccountName: kubevirt-apiserver - containers: - - name: virt-api - image: {{.DockerPrefix}}/virt-api:{{.DockerTag}} - imagePullPolicy: {{.ImagePullPolicy}} - command: - - "virt-api" - - "--port" - - "8443" - - "--subresources-only" - ports: - - containerPort: 8443 - name: "virt-api" - protocol: "TCP" - - containerPort: 8443 - name: "metrics" - protocol: "TCP" - readinessProbe: - httpGet: - scheme: HTTPS - port: 8443 - path: /apis/subresources.kubevirt.io/v1alpha2/healthz - initialDelaySeconds: 15 - timeoutSeconds: 10 - securityContext: - runAsNonRoot: true ---- -# kubevirt controller -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: virt-controller - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-controller" -spec: - replicas: 2 - template: - metadata: - annotations: - scheduler.alpha.kubernetes.io/critical-pod: "" - scheduler.alpha.kubernetes.io/tolerations: | - [ - { - "key": "CriticalAddonsOnly", - "operator": "Exists" - } - ] - labels: - kubevirt.io: virt-controller - prometheus.kubevirt.io: "" - spec: - serviceAccountName: kubevirt-controller - containers: - - name: virt-controller - image: {{.DockerPrefix}}/virt-controller:{{.DockerTag}} - imagePullPolicy: {{.ImagePullPolicy}} - command: - - "virt-controller" - - "--launcher-image" - - "{{.DockerPrefix}}/virt-launcher:{{.DockerTag}}" - - "--port" - - "8443" - ports: - - containerPort: 8443 - name: "metrics" - protocol: "TCP" - livenessProbe: - failureThreshold: 8 - httpGet: - scheme: HTTPS - port: 8443 - path: /healthz - initialDelaySeconds: 15 - timeoutSeconds: 10 - readinessProbe: - httpGet: - scheme: HTTPS - port: 8443 - path: /leader - initialDelaySeconds: 15 - timeoutSeconds: 10 - securityContext: - runAsNonRoot: true ---- -# virt-handler daemon set -apiVersion: extensions/v1beta1 -kind: DaemonSet -metadata: - name: virt-handler - namespace: {{.Namespace}} - labels: - kubevirt.io: "virt-handler" -spec: - updateStrategy: - type: RollingUpdate - template: - metadata: - name: virt-handler - annotations: - scheduler.alpha.kubernetes.io/critical-pod: "" - scheduler.alpha.kubernetes.io/tolerations: | - [ - { - "key": "CriticalAddonsOnly", - "operator": "Exists" - } - ] - labels: - kubevirt.io: virt-handler - prometheus.kubevirt.io: "" - spec: - serviceAccountName: kubevirt-privileged - hostPID: true - containers: - - name: virt-handler - ports: - - containerPort: 8443 - name: "metrics" - protocol: "TCP" - image: {{.DockerPrefix}}/virt-handler:{{.DockerTag}} - imagePullPolicy: {{.ImagePullPolicy}} - command: - - "virt-handler" - - "-v" - - "3" - - "--port" - - "8443" - - "--hostname-override" - - "$(NODE_NAME)" - - "--pod-ip-address" - - "$(MY_POD_IP)" - securityContext: - privileged: true - volumeMounts: - - name: libvirt-runtimes - mountPath: /var/run/kubevirt-libvirt-runtimes - - name: virt-share-dir - mountPath: /var/run/kubevirt - - name: virt-private-dir - mountPath: /var/run/kubevirt-private - - name: device-plugin - mountPath: /var/lib/kubelet/device-plugins - env: - - name: NODE_NAME - valueFrom: - fieldRef: - fieldPath: spec.nodeName - - name: MY_POD_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - volumes: - - name: libvirt-runtimes - hostPath: - path: /var/run/kubevirt-libvirt-runtimes - - name: virt-share-dir - hostPath: - path: /var/run/kubevirt - - name: virt-private-dir - hostPath: - path: /var/run/kubevirt-private - - name: device-plugin - hostPath: - path: /var/lib/kubelet/device-plugins +{{index .GeneratedManifests "prometheus.yaml.in"}} +{{index .GeneratedManifests "rbac.authorization.k8s.yaml.in"}} +{{index .GeneratedManifests "virt-api.yaml.in"}} +{{index .GeneratedManifests "virt-controller.yaml.in"}} +{{index .GeneratedManifests "virt-handler.yaml.in"}} {{index .GeneratedManifests "vmi-resource.yaml"}} {{index .GeneratedManifests "vmirs-resource.yaml"}} {{index .GeneratedManifests "vmipreset-resource.yaml"}} diff --git a/vendor/kubevirt.io/kubevirt/manifests/testing/cdi-v1.3.0.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/testing/cdi-v1.4.1.yaml.in similarity index 69% rename from vendor/kubevirt.io/kubevirt/manifests/testing/cdi-v1.3.0.yaml.in rename to vendor/kubevirt.io/kubevirt/manifests/testing/cdi-v1.4.1.yaml.in index 107ffa11e..6b88972e4 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/testing/cdi-v1.3.0.yaml.in +++ b/vendor/kubevirt.io/kubevirt/manifests/testing/cdi-v1.4.1.yaml.in @@ -1,3 +1,4 @@ +--- kind: ServiceAccount apiVersion: v1 metadata: @@ -34,6 +35,9 @@ rules: - apiGroups: [""] resources: ["secrets"] verbs: ["get", "list", "watch", "create"] +- apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get"] - apiGroups: [""] resources: ["configmaps"] verbs: ["get", "list", "watch", "create"] @@ -47,7 +51,6 @@ apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: cdi-sa - namespace: {{.CDINamespace}} labels: cdi.kubevirt.io: "" roleRef: @@ -76,20 +79,21 @@ spec: metadata: labels: app: containerized-data-importer + cdi.kubevirt.io: "" spec: serviceAccountName: cdi-sa containers: - name: cdi-controller - image: kubevirt/cdi-controller:v1.3.0 + image: kubevirt/cdi-controller:v1.4.1 imagePullPolicy: IfNotPresent args: ["-v=1"] # default verbosity; change to 2 or 3 for more detailed logging env: - name: IMPORTER_IMAGE - value: kubevirt/cdi-importer:v1.3.0 + value: kubevirt/cdi-importer:v1.4.1 - name: CLONER_IMAGE - value: kubevirt/cdi-cloner:v1.3.0 + value: kubevirt/cdi-cloner:v1.4.1 - name: UPLOADSERVER_IMAGE - value: kubevirt/cdi-uploadserver:v1.3.0 + value: kubevirt/cdi-uploadserver:v1.4.1 - name: PULL_POLICY value: IfNotPresent - name: UPLOADPROXY_SERVICE @@ -111,6 +115,64 @@ spec: - dvs singular: datavolume scope: Namespaced + validation: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: {} + spec: + properties: + source: + properties: + http: + properties: + url: + type: string + secretRef: + type: string + required: + - url + s3: + properties: + url: + type: string + secretRef: + type: string + required: + - url + pvc: + properties: + namespace: + type: string + name: + type: string + required: + - namespace + - name + upload: {} + blank: {} + pvc: + properties: + resources: + properties: + requests: + properties: + storage: + type: string + required: + - storage + required: + - requests + storageClassName: + type: string + accessModes: + type: array + required: + - resources + version: v1alpha1 --- kind: ServiceAccount @@ -161,6 +223,39 @@ rules: - create --- apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: cdi-extension-apiserver-authentication + namespace: {{.CDINamespace}} + labels: + cdi.kubevirt.io: "" +roleRef: + kind: Role + name: cdi-extension-apiserver-authentication + apiGroup: rbac.authorization.k8s.io +subjects: + - kind: ServiceAccount + name: cdi-apiserver + namespace: {{.CDINamespace}} +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: Role +metadata: + name: cdi-extension-apiserver-authentication + namespace: {{.CDINamespace}} + labels: + cdi.kubevirt.io: "" +rules: + - apiGroups: + - '' + resources: + - configmaps + resourceNames: + - extension-apiserver-authentication + verbs: + - get +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: cdi-apiserver @@ -182,6 +277,14 @@ metadata: labels: cdi.kubevirt.io: "" rules: + - apiGroups: + - admissionregistration.k8s.io + resources: + - validatingwebhookconfigurations + verbs: + - get + - create + - update - apiGroups: - apiregistration.k8s.io resources: @@ -249,7 +352,7 @@ spec: serviceAccountName: cdi-apiserver containers: - name: cdi-apiserver-api - image: kubevirt/cdi-apiserver:v1.3.0 + image: kubevirt/cdi-apiserver:v1.4.1 imagePullPolicy: IfNotPresent args: ["-v=1"] # default verbosity; change to 2 or 3 for more detailed logging --- @@ -287,7 +390,7 @@ spec: spec: containers: - name: cdi-uploadproxy - image: kubevirt/cdi-uploadproxy:v1.3.0 + image: kubevirt/cdi-uploadproxy:v1.4.1 imagePullPolicy: IfNotPresent args: ["-v=1"] # default verbosity; change to 2 or 3 for more detailed logging env: @@ -321,3 +424,20 @@ spec: secretKeyRef: name: cdi-upload-proxy-server-key key: tls.crt +--- +apiVersion: v1 +kind: Service +metadata: + name: kubevirt-prometheus-metrics + namespace: {{.CDINamespace}} + labels: + prometheus.kubevirt.io: "" + cdi.kubevirt.io: "" +spec: + ports: + - name: metrics + port: 443 + targetPort: metrics + protocol: TCP + selector: + prometheus.kubevirt.io: "" diff --git a/vendor/kubevirt.io/kubevirt/manifests/testing/disks-images-provider.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/testing/disks-images-provider.yaml.in index 50a0892c0..6cb56e261 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/testing/disks-images-provider.yaml.in +++ b/vendor/kubevirt.io/kubevirt/manifests/testing/disks-images-provider.yaml.in @@ -1,23 +1,5 @@ --- apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: disk-alpine - labels: - kubevirt.io: "" -spec: - storageClassName: "" - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - - selector: - matchLabels: - os: "alpine" ---- -apiVersion: v1 kind: PersistentVolume metadata: name: host-path-disk-alpine @@ -33,24 +15,6 @@ spec: path: /tmp/hostImages/alpine --- apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: disk-custom - labels: - kubevirt.io: "" -spec: - storageClassName: "" - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - - selector: - matchLabels: - os: "custom" ---- -apiVersion: v1 kind: PersistentVolume metadata: name: host-path-disk-custom @@ -137,12 +101,12 @@ spec: mountPath: /local-storage securityContext: privileged: true - readinessProbe: - exec: - command: - - cat + readinessProbe: + exec: + command: + - cat - /ready - initialDelaySeconds: 10 + initialDelaySeconds: 10 periodSeconds: 5 volumes: - name: images diff --git a/vendor/kubevirt.io/kubevirt/manifests/testing/local-block-storage.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/testing/local-block-storage.yaml.in index 2c32a5c13..8ce00c3e1 100644 --- a/vendor/kubevirt.io/kubevirt/manifests/testing/local-block-storage.yaml.in +++ b/vendor/kubevirt.io/kubevirt/manifests/testing/local-block-storage.yaml.in @@ -23,21 +23,3 @@ spec: persistentVolumeReclaimPolicy: Retain storageClassName: local-block volumeMode: Block ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: local-block-storage-cirros - labels: - kubevirt.io: "" -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi - volumeMode: Block - storageClassName: local-block - selector: - matchLabels: - blockstorage: "cirros" diff --git a/vendor/kubevirt.io/kubevirt/manifests/testing/ocp/ssc-for-ocp.yaml.in b/vendor/kubevirt.io/kubevirt/manifests/testing/ocp/ssc-for-ocp.yaml.in new file mode 100644 index 000000000..b7877b3da --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/manifests/testing/ocp/ssc-for-ocp.yaml.in @@ -0,0 +1,30 @@ +--- +apiVersion: v1 +kind: SecurityContextConstraints +metadata: + name: kubevirt-testing-scc + labels: + kubevirt.io: scc +allowHostDirVolumePlugin: true +allowHostIPC: true +allowHostNetwork: true +allowHostPID: true +allowHostPorts: true +allowPrivilegedContainer: true +allowedCapabilities: + - '*' +fsGroup: + type: RunAsAny +readOnlyRootFilesystem: false +runAsUser: + type: RunAsAny +seLinuxContext: + type: RunAsAny +seccompProfiles: + - '*' +supplementalGroups: + type: RunAsAny +volumes: + - '*' +users: + - system:serviceaccount:kube-system:kubevirt-testing diff --git a/vendor/kubevirt.io/kubevirt/pkg/api/v1/deepcopy_generated.go b/vendor/kubevirt.io/kubevirt/pkg/api/v1/deepcopy_generated.go index 038e81ec4..badfb2dd2 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/api/v1/deepcopy_generated.go +++ b/vendor/kubevirt.io/kubevirt/pkg/api/v1/deepcopy_generated.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 The KubeVirt Authors. +Copyright 2019 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -240,6 +240,11 @@ func (in *ContainerDiskSource) DeepCopy() *ContainerDiskSource { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DHCPOptions) DeepCopyInto(out *DHCPOptions) { *out = *in + if in.NTPServers != nil { + in, out := &in.NTPServers, &out.NTPServers + *out = make([]string, len(*in)) + copy(*out, *in) + } return } @@ -1010,7 +1015,7 @@ func (in *Interface) DeepCopyInto(out *Interface) { *out = nil } else { *out = new(DHCPOptions) - **out = **in + (*in).DeepCopyInto(*out) } } return @@ -1167,6 +1172,124 @@ func (in *KVMTimer) DeepCopy() *KVMTimer { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeVirt) DeepCopyInto(out *KubeVirt) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirt. +func (in *KubeVirt) DeepCopy() *KubeVirt { + if in == nil { + return nil + } + out := new(KubeVirt) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubeVirt) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeVirtCondition) DeepCopyInto(out *KubeVirtCondition) { + *out = *in + in.LastProbeTime.DeepCopyInto(&out.LastProbeTime) + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtCondition. +func (in *KubeVirtCondition) DeepCopy() *KubeVirtCondition { + if in == nil { + return nil + } + out := new(KubeVirtCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeVirtList) DeepCopyInto(out *KubeVirtList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KubeVirt, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtList. +func (in *KubeVirtList) DeepCopy() *KubeVirtList { + if in == nil { + return nil + } + out := new(KubeVirtList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubeVirtList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeVirtSpec) DeepCopyInto(out *KubeVirtSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtSpec. +func (in *KubeVirtSpec) DeepCopy() *KubeVirtSpec { + if in == nil { + return nil + } + out := new(KubeVirtSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeVirtStatus) DeepCopyInto(out *KubeVirtStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]KubeVirtCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtStatus. +func (in *KubeVirtStatus) DeepCopy() *KubeVirtStatus { + if in == nil { + return nil + } + out := new(KubeVirtStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LunTarget) DeepCopyInto(out *LunTarget) { *out = *in @@ -1809,6 +1932,11 @@ func (in *VirtualMachineInstanceMigrationStatus) DeepCopy() *VirtualMachineInsta // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VirtualMachineInstanceNetworkInterface) DeepCopyInto(out *VirtualMachineInstanceNetworkInterface) { *out = *in + if in.IPs != nil { + in, out := &in.IPs, &out.IPs + *out = make([]string, len(*in)) + copy(*out, *in) + } return } @@ -2147,7 +2275,9 @@ func (in *VirtualMachineInstanceStatus) DeepCopyInto(out *VirtualMachineInstance if in.Interfaces != nil { in, out := &in.Interfaces, &out.Interfaces *out = make([]VirtualMachineInstanceNetworkInterface, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } if in.MigrationState != nil { in, out := &in.MigrationState, &out.MigrationState diff --git a/vendor/kubevirt.io/kubevirt/pkg/api/v1/openapi_generated.go b/vendor/kubevirt.io/kubevirt/pkg/api/v1/openapi_generated.go index aeb52bb19..3bf1b0098 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/api/v1/openapi_generated.go +++ b/vendor/kubevirt.io/kubevirt/pkg/api/v1/openapi_generated.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 The KubeVirt Authors. +Copyright 2019 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -38,6 +38,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubevirt.io/kubevirt/pkg/api/v1.CniNetwork": schema_kubevirt_pkg_api_v1_CniNetwork(ref), "kubevirt.io/kubevirt/pkg/api/v1.ConfigMapVolumeSource": schema_kubevirt_pkg_api_v1_ConfigMapVolumeSource(ref), "kubevirt.io/kubevirt/pkg/api/v1.ContainerDiskSource": schema_kubevirt_pkg_api_v1_ContainerDiskSource(ref), + "kubevirt.io/kubevirt/pkg/api/v1.DHCPOptions": schema_kubevirt_pkg_api_v1_DHCPOptions(ref), "kubevirt.io/kubevirt/pkg/api/v1.DataVolumeSource": schema_kubevirt_pkg_api_v1_DataVolumeSource(ref), "kubevirt.io/kubevirt/pkg/api/v1.Devices": schema_kubevirt_pkg_api_v1_Devices(ref), "kubevirt.io/kubevirt/pkg/api/v1.Disk": schema_kubevirt_pkg_api_v1_Disk(ref), @@ -66,6 +67,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubevirt.io/kubevirt/pkg/api/v1.InterfaceSRIOV": schema_kubevirt_pkg_api_v1_InterfaceSRIOV(ref), "kubevirt.io/kubevirt/pkg/api/v1.InterfaceSlirp": schema_kubevirt_pkg_api_v1_InterfaceSlirp(ref), "kubevirt.io/kubevirt/pkg/api/v1.KVMTimer": schema_kubevirt_pkg_api_v1_KVMTimer(ref), + "kubevirt.io/kubevirt/pkg/api/v1.KubeVirt": schema_kubevirt_pkg_api_v1_KubeVirt(ref), + "kubevirt.io/kubevirt/pkg/api/v1.KubeVirtCondition": schema_kubevirt_pkg_api_v1_KubeVirtCondition(ref), + "kubevirt.io/kubevirt/pkg/api/v1.KubeVirtList": schema_kubevirt_pkg_api_v1_KubeVirtList(ref), + "kubevirt.io/kubevirt/pkg/api/v1.KubeVirtSpec": schema_kubevirt_pkg_api_v1_KubeVirtSpec(ref), + "kubevirt.io/kubevirt/pkg/api/v1.KubeVirtStatus": schema_kubevirt_pkg_api_v1_KubeVirtStatus(ref), "kubevirt.io/kubevirt/pkg/api/v1.LunTarget": schema_kubevirt_pkg_api_v1_LunTarget(ref), "kubevirt.io/kubevirt/pkg/api/v1.Machine": schema_kubevirt_pkg_api_v1_Machine(ref), "kubevirt.io/kubevirt/pkg/api/v1.Memory": schema_kubevirt_pkg_api_v1_Memory(ref), @@ -157,6 +163,20 @@ func schema_kubevirt_pkg_api_v1_CPU(ref common.ReferenceCallback) common.OpenAPI Format: "int64", }, }, + "sockets": { + SchemaProps: spec.SchemaProps{ + Description: "Sockets specifies the number of sockets inside the vmi. Must be a value greater or equal 1.", + Type: []string{"integer"}, + Format: "int64", + }, + }, + "threads": { + SchemaProps: spec.SchemaProps{ + Description: "Threads specifies the number of threads inside the vmi. Must be a value greater or equal 1.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "model": { SchemaProps: spec.SchemaProps{ Description: "Model specifies the CPU model inside the VMI. List of available models https://github.com/libvirt/libvirt/blob/master/src/cpu/cpu_map.xml. It is possible to specify special cases like \"host-passthrough\" to get the same CPU as the node and \"host-model\" to get CPU closest to the node one. For more information see https://libvirt.org/formatdomain.html#elementsCPU. Defaults to host-model.", @@ -369,6 +389,47 @@ func schema_kubevirt_pkg_api_v1_ContainerDiskSource(ref common.ReferenceCallback } } +func schema_kubevirt_pkg_api_v1_DHCPOptions(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Extra DHCP options to use in the interface.", + Properties: map[string]spec.Schema{ + "bootFileName": { + SchemaProps: spec.SchemaProps{ + Description: "If specified will pass option 67 to interface's DHCP server", + Type: []string{"string"}, + Format: "", + }, + }, + "tftpServerName": { + SchemaProps: spec.SchemaProps{ + Description: "If specified will pass option 66 to interface's DHCP server", + Type: []string{"string"}, + Format: "", + }, + }, + "ntpServers": { + SchemaProps: spec.SchemaProps{ + Description: "If specified will pass the configured NTP server to the VM via DHCP option 042.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} + func schema_kubevirt_pkg_api_v1_DataVolumeSource(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -480,13 +541,6 @@ func schema_kubevirt_pkg_api_v1_Disk(ref common.ReferenceCallback) common.OpenAP Format: "", }, }, - "volumeName": { - SchemaProps: spec.SchemaProps{ - Description: "Name of the volume which is referenced. Must match the Name of a Volume.", - Type: []string{"string"}, - Format: "", - }, - }, "disk": { SchemaProps: spec.SchemaProps{ Description: "Attach a volume as a disk to the vmi.", @@ -540,7 +594,7 @@ func schema_kubevirt_pkg_api_v1_Disk(ref common.ReferenceCallback) common.OpenAP }, }, }, - Required: []string{"name", "volumeName"}, + Required: []string{"name"}, }, }, Dependencies: []string{ @@ -1282,6 +1336,213 @@ func schema_kubevirt_pkg_api_v1_KVMTimer(ref common.ReferenceCallback) common.Op } } +func schema_kubevirt_pkg_api_v1_KubeVirt(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KubeVirt represents the object deploying all KubeVirt resources", + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/kubevirt/pkg/api/v1.KubeVirtSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/kubevirt/pkg/api/v1.KubeVirtStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubevirt.io/kubevirt/pkg/api/v1.KubeVirtSpec", "kubevirt.io/kubevirt/pkg/api/v1.KubeVirtStatus"}, + } +} + +func schema_kubevirt_pkg_api_v1_KubeVirtCondition(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KubeVirtCondition represents a condition of a KubeVirt deployment", + Properties: map[string]spec.Schema{ + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "lastProbeTime": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "lastTransitionTime": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "reason": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "message": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"type", "status"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + } +} + +func schema_kubevirt_pkg_api_v1_KubeVirtList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KubeVirtList is a list of KubeVirts", + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/kubevirt/pkg/api/v1.KubeVirt"), + }, + }, + }, + }, + }, + }, + Required: []string{"items"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubevirt.io/kubevirt/pkg/api/v1.KubeVirt"}, + } +} + +func schema_kubevirt_pkg_api_v1_KubeVirtSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Properties: map[string]spec.Schema{ + "imagePullPolicy": { + SchemaProps: spec.SchemaProps{ + Description: "The ImagePullPolicy to use.", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{}, + } +} + +func schema_kubevirt_pkg_api_v1_KubeVirtStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KubeVirtStatus represents information pertaining to a KubeVirt deployment.", + Properties: map[string]spec.Schema{ + "phase": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "conditions": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("kubevirt.io/kubevirt/pkg/api/v1.KubeVirtCondition"), + }, + }, + }, + }, + }, + "operatorVersion": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "targetKubeVirtVersion": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "observedKubeVirtVersion": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubevirt.io/kubevirt/pkg/api/v1.KubeVirtCondition"}, + } +} + func schema_kubevirt_pkg_api_v1_LunTarget(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -2069,6 +2330,27 @@ func schema_kubevirt_pkg_api_v1_VirtualMachineInstanceNetworkInterface(ref commo Format: "", }, }, + "ipAddresses": { + SchemaProps: spec.SchemaProps{ + Description: "List of all IP addresses of a Virtual Machine interface", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "interfaceName": { + SchemaProps: spec.SchemaProps{ + Description: "The interface name inside the Virtual Machine", + Type: []string{"string"}, + Format: "", + }, + }, }, }, }, @@ -2396,6 +2678,13 @@ func schema_kubevirt_pkg_api_v1_VirtualMachineInstanceReplicaSetStatus(ref commo }, }, }, + "labelSelector": { + SchemaProps: spec.SchemaProps{ + Description: "Canonical form of the label selector for HPA which consumes it through the scale subresource.", + Type: []string{"string"}, + Format: "", + }, + }, }, }, }, diff --git a/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema.go b/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema.go index 3771aa449..85f6498a5 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema.go +++ b/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema.go @@ -162,6 +162,12 @@ type CPU struct { // Cores specifies the number of cores inside the vmi. // Must be a value greater or equal 1. Cores uint32 `json:"cores,omitempty"` + // Sockets specifies the number of sockets inside the vmi. + // Must be a value greater or equal 1. + Sockets uint32 `json:"sockets,omitempty"` + // Threads specifies the number of threads inside the vmi. + // Must be a value greater or equal 1. + Threads uint32 `json:"threads,omitempty"` // Model specifies the CPU model inside the VMI. // List of available models https://github.com/libvirt/libvirt/blob/master/src/cpu/cpu_map.xml. // It is possible to specify special cases like "host-passthrough" to get the same CPU as the node @@ -243,9 +249,6 @@ type Devices struct { type Disk struct { // Name is the device name Name string `json:"name"` - // Name of the volume which is referenced. - // Must match the Name of a Volume. - VolumeName string `json:"volumeName"` // DiskDevice specifies as which device the disk should be added to the guest. // Defaults to Disk. DiskDevice `json:",inline"` @@ -805,6 +808,9 @@ type Interface struct { DHCPOptions *DHCPOptions `json:"dhcpOptions,omitempty"` } +// Extra DHCP options to use in the interface. +// --- +// +k8s:openapi-gen=true type DHCPOptions struct { // If specified will pass option 67 to interface's DHCP server // +optional @@ -812,6 +818,9 @@ type DHCPOptions struct { // If specified will pass option 66 to interface's DHCP server // +optional TFTPServerName string `json:"tftpServerName,omitempty"` + // If specified will pass the configured NTP server to the VM via DHCP option 042. + // +optional + NTPServers []string `json:"ntpServers,omitempty"` } // Represents the method which will be used to connect the interface to the guest. diff --git a/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema_swagger_generated.go b/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema_swagger_generated.go index 4411bf00f..9470e8d1d 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema_swagger_generated.go +++ b/vendor/kubevirt.io/kubevirt/pkg/api/v1/schema_swagger_generated.go @@ -69,6 +69,8 @@ func (CPU) SwaggerDoc() map[string]string { return map[string]string{ "": "CPU allows specifying the CPU topology.", "cores": "Cores specifies the number of cores inside the vmi.\nMust be a value greater or equal 1.", + "sockets": "Sockets specifies the number of sockets inside the vmi.\nMust be a value greater or equal 1.", + "threads": "Threads specifies the number of threads inside the vmi.\nMust be a value greater or equal 1.", "model": "Model specifies the CPU model inside the VMI.\nList of available models https://github.com/libvirt/libvirt/blob/master/src/cpu/cpu_map.xml.\nIt is possible to specify special cases like \"host-passthrough\" to get the same CPU as the node\nand \"host-model\" to get CPU closest to the node one.\nFor more information see https://libvirt.org/formatdomain.html#elementsCPU.\nDefaults to host-model.\n+optional", "dedicatedCpuPlacement": "DedicatedCPUPlacement requests the scheduler to place the VirtualMachineInstance on a node\nwith enough dedicated pCPUs and pin the vCPUs to it.\n+optional", } @@ -117,7 +119,6 @@ func (Devices) SwaggerDoc() map[string]string { func (Disk) SwaggerDoc() map[string]string { return map[string]string{ "name": "Name is the device name", - "volumeName": "Name of the volume which is referenced.\nMust match the Name of a Volume.", "bootOrder": "BootOrder is an integer value > 0, used to determine ordering of boot devices.\nLower values take precedence.\nEach disk or interface that has a boot order must have a unique value.\nDisks without a boot order are not tried if a disk with a boot order exists.\n+optional", "serial": "Serial provides the ability to specify a serial number for the disk device.\n+optional", "dedicatedIOThread": "dedicatedIOThread indicates this disk should have an exclusive IO Thread.\nEnabling this implies useIOThreads = true.\nDefaults to false.\n+optional", @@ -369,8 +370,10 @@ func (Interface) SwaggerDoc() map[string]string { func (DHCPOptions) SwaggerDoc() map[string]string { return map[string]string{ + "": "Extra DHCP options to use in the interface.", "bootFileName": "If specified will pass option 67 to interface's DHCP server\n+optional", "tftpServerName": "If specified will pass option 66 to interface's DHCP server\n+optional", + "ntpServers": "If specified will pass the configured NTP server to the VM via DHCP option 042.\n+optional", } } diff --git a/vendor/kubevirt.io/kubevirt/pkg/api/v1/types.go b/vendor/kubevirt.io/kubevirt/pkg/api/v1/types.go index 35798ad7c..e23094753 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/api/v1/types.go +++ b/vendor/kubevirt.io/kubevirt/pkg/api/v1/types.go @@ -32,6 +32,7 @@ import ( "encoding/json" "fmt" + "k8s.io/api/autoscaling/v1" k8sv1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -52,10 +53,10 @@ const SubresourceGroupName = "subresources.kubevirt.io" const DefaultGracePeriodSeconds int64 = 30 // GroupVersion is group version used to register these objects -var GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"} +var GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha3"} // GroupVersion is group version used to register these objects -var SubresourceGroupVersion = schema.GroupVersion{Group: SubresourceGroupName, Version: "v1alpha2"} +var SubresourceGroupVersion = schema.GroupVersion{Group: SubresourceGroupName, Version: "v1alpha3"} // GroupVersionKind var VirtualMachineInstanceGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "VirtualMachineInstance"} @@ -68,6 +69,8 @@ var VirtualMachineGroupVersionKind = schema.GroupVersionKind{Group: GroupName, V var VirtualMachineInstanceMigrationGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "VirtualMachineInstanceMigration"} +var KubeVirtGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "KubeVirt"} + // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(GroupVersion, @@ -84,10 +87,15 @@ func addKnownTypes(scheme *runtime.Scheme) error { &metav1.GetOptions{}, &VirtualMachine{}, &VirtualMachineList{}, + &KubeVirt{}, + &KubeVirtList{}, ) scheme.AddKnownTypes(metav1.Unversioned, &metav1.Status{}, ) + scheme.AddKnownTypes(schema.GroupVersion{Group: "autoscaling", Version: "v1"}, + &v1.Scale{}, + ) return nil } @@ -211,11 +219,6 @@ func (v *VirtualMachineInstance) GetObjectMeta() metav1.Object { return &v.ObjectMeta } -func (v *VirtualMachineInstance) IsReady() bool { - // TODO once we support a ready condition, use it instead - return v.IsRunning() -} - func (v *VirtualMachineInstance) IsScheduling() bool { return v.Status.Phase == Scheduling } @@ -318,6 +321,10 @@ type VirtualMachineInstanceNetworkInterface struct { // Name of the interface, corresponds to name of the network assigned to the interface // TODO: remove omitempty, when api breaking changes are allowed Name string `json:"name,omitempty"` + // List of all IP addresses of a Virtual Machine interface + IPs []string `json:"ipAddresses,omitempty"` + // The interface name inside the Virtual Machine + InterfaceName string `json:"interfaceName,omitempty"` } type VirtualMachineInstanceMigrationState struct { @@ -411,6 +418,9 @@ const ( // if a particular node is alive and hence should be available for new // virtual machine instance scheduling. Used on Node. VirtHandlerHeartbeat string = "kubevirt.io/heartbeat" + // This label will be set on all resources created by the operator + ManagedByLabel = "app.kubernetes.io/managed-by" + ManagedByLabelOperatorValue = "kubevirt-operator" VirtualMachineInstanceFinalizer string = "foregroundDeleteVirtualMachine" CPUManager string = "cpumanager" @@ -599,6 +609,9 @@ type VirtualMachineInstanceReplicaSetStatus struct { ReadyReplicas int32 `json:"readyReplicas,omitempty" protobuf:"varint,4,opt,name=readyReplicas"` Conditions []VirtualMachineInstanceReplicaSetCondition `json:"conditions,omitempty" optional:"true"` + + // Canonical form of the label selector for HPA which consumes it through the scale subresource. + LabelSelector string `json:"labelSelector,omitempty"` } // --- @@ -960,3 +973,101 @@ type Probe struct { // +optional FailureThreshold int32 `json:"failureThreshold,omitempty"` } + +// KubeVirt represents the object deploying all KubeVirt resources +// --- +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +type KubeVirt struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec KubeVirtSpec `json:"spec,omitempty" valid:"required"` + Status KubeVirtStatus `json:"status,omitempty"` +} + +// Required to satisfy Object interface +func (k *KubeVirt) GetObjectKind() schema.ObjectKind { + return &k.TypeMeta +} + +// Required to satisfy ObjectMetaAccessor interface +func (k *KubeVirt) GetObjectMeta() metav1.Object { + return &k.ObjectMeta +} + +// KubeVirtList is a list of KubeVirts +// --- +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +k8s:openapi-gen=true +type KubeVirtList struct { + metav1.TypeMeta `json:",inline"` + ListMeta metav1.ListMeta `json:"metadata,omitempty"` + Items []KubeVirt `json:"items"` +} + +// Required to satisfy Object interface +func (kl *KubeVirtList) GetObjectKind() schema.ObjectKind { + return &kl.TypeMeta +} + +// Required to satisfy ListMetaAccessor interface +func (kl *KubeVirtList) GetListMeta() meta.List { + return &kl.ListMeta +} + +// --- +// +k8s:openapi-gen=true +type KubeVirtSpec struct { + // The ImagePullPolicy to use. + ImagePullPolicy k8sv1.PullPolicy `json:"imagePullPolicy,omitempty" valid:"required"` +} + +// KubeVirtStatus represents information pertaining to a KubeVirt deployment. +// --- +// +k8s:openapi-gen=true +type KubeVirtStatus struct { + Phase KubeVirtPhase `json:"phase,omitempty"` + Conditions []KubeVirtCondition `json:"conditions,omitempty" optional:"true"` + OperatorVersion string `json:"operatorVersion,omitempty" optional:"true"` + TargetKubeVirtVersion string `json:"targetKubeVirtVersion,omitempty" optional:"true"` + ObservedKubeVirtVersion string `json:"observedKubeVirtVersion,omitempty" optional:"true"` +} + +// KubeVirtPhase is a label for the phase of a KubeVirt deployment at the current time. +// --- +// +k8s:openapi-gen=true +type KubeVirtPhase string + +// These are the valid KubeVirt deployment phases +const ( + // The deployment is processing + KubeVirtPhaseDeploying KubeVirtPhase = "Deploying" + // The deployment succeeded + KubeVirtPhaseDeployed KubeVirtPhase = "Deployed" + // The deletion is processing + KubeVirtPhaseDeleting KubeVirtPhase = "Deleting" + // The deletion succeeeded + KubeVirtPhaseDeleted KubeVirtPhase = "Deleted" +) + +// KubeVirtCondition represents a condition of a KubeVirt deployment +// --- +// +k8s:openapi-gen=true +type KubeVirtCondition struct { + Type KubeVirtConditionType `json:"type"` + Status k8sv1.ConditionStatus `json:"status"` + LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` + Reason string `json:"reason,omitempty"` + Message string `json:"message,omitempty"` +} + +// --- +// +k8s:openapi-gen=true +type KubeVirtConditionType string + +// These are the valid KubeVirt condition types +const ( + // Whether the deployment or deletion was successful + KubeVirtConditionSynchronized KubeVirtConditionType = "KubeVirtSynchronized" +) diff --git a/vendor/kubevirt.io/kubevirt/pkg/api/v1/types_swagger_generated.go b/vendor/kubevirt.io/kubevirt/pkg/api/v1/types_swagger_generated.go index 049ac9448..1b8207ef4 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/api/v1/types_swagger_generated.go +++ b/vendor/kubevirt.io/kubevirt/pkg/api/v1/types_swagger_generated.go @@ -52,9 +52,11 @@ func (VirtualMachineInstanceCondition) SwaggerDoc() map[string]string { func (VirtualMachineInstanceNetworkInterface) SwaggerDoc() map[string]string { return map[string]string{ - "ipAddress": "IP address of a Virtual Machine interface", - "mac": "Hardware address of a Virtual Machine interface", - "name": "Name of the interface, corresponds to name of the network assigned to the interface", + "ipAddress": "IP address of a Virtual Machine interface", + "mac": "Hardware address of a Virtual Machine interface", + "name": "Name of the interface, corresponds to name of the network assigned to the interface", + "ipAddresses": "List of all IP addresses of a Virtual Machine interface", + "interfaceName": "The interface name inside the Virtual Machine", } } @@ -105,6 +107,7 @@ func (VirtualMachineInstanceReplicaSetStatus) SwaggerDoc() map[string]string { return map[string]string{ "replicas": "Total number of non-terminated pods targeted by this deployment (their labels match the selector).\n+optional", "readyReplicas": "The number of ready replicas for this replica set.\n+optional", + "labelSelector": "Canonical form of the label selector for HPA which consumes it through the scale subresource.", } } @@ -218,3 +221,33 @@ func (Probe) SwaggerDoc() map[string]string { "failureThreshold": "Minimum consecutive failures for the probe to be considered failed after having succeeded.\nDefaults to 3. Minimum value is 1.\n+optional", } } + +func (KubeVirt) SwaggerDoc() map[string]string { + return map[string]string{ + "": "KubeVirt represents the object deploying all KubeVirt resources", + } +} + +func (KubeVirtList) SwaggerDoc() map[string]string { + return map[string]string{ + "": "KubeVirtList is a list of KubeVirts", + } +} + +func (KubeVirtSpec) SwaggerDoc() map[string]string { + return map[string]string{ + "imagePullPolicy": "The ImagePullPolicy to use.", + } +} + +func (KubeVirtStatus) SwaggerDoc() map[string]string { + return map[string]string{ + "": "KubeVirtStatus represents information pertaining to a KubeVirt deployment.", + } +} + +func (KubeVirtCondition) SwaggerDoc() map[string]string { + return map[string]string{ + "": "KubeVirtCondition represents a condition of a KubeVirt deployment", + } +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/api/v1/zz_generated.defaults.go b/vendor/kubevirt.io/kubevirt/pkg/api/v1/zz_generated.defaults.go index 4f76d1dd9..bf5badca6 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/api/v1/zz_generated.defaults.go +++ b/vendor/kubevirt.io/kubevirt/pkg/api/v1/zz_generated.defaults.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 The KubeVirt Authors. +Copyright 2019 The KubeVirt Authors. 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/kubevirt.io/kubevirt/pkg/controller/conditions.go b/vendor/kubevirt.io/kubevirt/pkg/controller/conditions.go index f99f1c94d..325f4471d 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/controller/conditions.go +++ b/vendor/kubevirt.io/kubevirt/pkg/controller/conditions.go @@ -36,6 +36,18 @@ func (d *VirtualMachineConditionManager) HasCondition(vmi *v1.VirtualMachineInst return false } +func (d *VirtualMachineConditionManager) HasConditionWithStatus(vmi *v1.VirtualMachineInstance, cond v1.VirtualMachineInstanceConditionType, status k8sv1.ConditionStatus) bool { + for _, c := range vmi.Status.Conditions { + if c.Type == cond { + if c.Status == status { + return true + } + return false + } + } + return false +} + func (d *VirtualMachineConditionManager) RemoveCondition(vmi *v1.VirtualMachineInstance, cond v1.VirtualMachineInstanceConditionType) { var conds []v1.VirtualMachineInstanceCondition for _, c := range vmi.Status.Conditions { @@ -74,7 +86,7 @@ func (d *VirtualMachineConditionManager) PodHasCondition(pod *k8sv1.Pod, conditi return false } -func (d *VirtualMachineConditionManager) GetPodCondition(pod *k8sv1.Pod, conditionType k8sv1.PodConditionType, status k8sv1.ConditionStatus) *k8sv1.PodCondition { +func (d *VirtualMachineConditionManager) GetPodConditionWithStatus(pod *k8sv1.Pod, conditionType k8sv1.PodConditionType, status k8sv1.ConditionStatus) *k8sv1.PodCondition { for _, cond := range pod.Status.Conditions { if cond.Type == conditionType { if cond.Status == status { @@ -87,6 +99,15 @@ func (d *VirtualMachineConditionManager) GetPodCondition(pod *k8sv1.Pod, conditi return nil } +func (d *VirtualMachineConditionManager) GetPodCondition(pod *k8sv1.Pod, conditionType k8sv1.PodConditionType) *k8sv1.PodCondition { + for _, cond := range pod.Status.Conditions { + if cond.Type == conditionType { + return &cond + } + } + return nil +} + func NewVirtualMachineInstanceConditionManager() *VirtualMachineConditionManager { return &VirtualMachineConditionManager{} } diff --git a/vendor/kubevirt.io/kubevirt/pkg/controller/expectations.go b/vendor/kubevirt.io/kubevirt/pkg/controller/expectations.go index 628a782d1..cd3739033 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/controller/expectations.go +++ b/vendor/kubevirt.io/kubevirt/pkg/controller/expectations.go @@ -115,6 +115,8 @@ type ControllerExpectationsInterface interface { // ControllerExpectations is a cache mapping controllers to what they expect to see before being woken up for a sync. type ControllerExpectations struct { cache.Store + // A name for identifying this expectations + name string } // GetExpectations returns the ControlleeExpectations of the given controller. @@ -141,24 +143,24 @@ func (r *ControllerExpectations) DeleteExpectations(controllerKey string) { func (r *ControllerExpectations) SatisfiedExpectations(controllerKey string) bool { if exp, exists, err := r.GetExpectations(controllerKey); exists { if exp.Fulfilled() { - glog.V(4).Infof("Controller expectations fulfilled %#v", exp) + glog.V(4).Infof("Controller expectations (name: %s) fulfilled %#v", r.name, exp) return true } else if exp.isExpired() { - glog.V(4).Infof("Controller expectations expired %#v", exp) + glog.V(4).Infof("Controller expectations (name: %s) expired %#v", r.name, exp) return true } else { - glog.V(4).Infof("Controller still waiting on expectations %#v", exp) + glog.V(4).Infof("Controller (name: %s) still waiting on expectations %#v", r.name, exp) return false } } else if err != nil { - glog.V(2).Infof("Error encountered while checking expectations %#v, forcing sync", err) + glog.V(2).Infof("Error encountered while checking expectations (name: %s) %#v, forcing sync", r.name, err) } else { // When a new controller is created, it doesn't have expectations. // When it doesn't see expected watch events for > TTL, the expectations expire. // - In this case it wakes up, creates/deletes controllees, and sets expectations again. // When it has satisfied expectations and no controllees need to be created/destroyed > TTL, the expectations expire. // - In this case it continues without setting expectations till it needs to create/delete controllees. - glog.V(4).Infof("Controller %v either never recorded expectations, or the ttl expired.", controllerKey) + glog.V(4).Infof("Controller %v (name: %s) either never recorded expectations, or the ttl expired.", controllerKey, r.name) } // Trigger a sync if we either encountered and error (which shouldn't happen since we're // getting from local store) or this controller hasn't established expectations. @@ -249,7 +251,10 @@ func (e *ControlleeExpectations) GetExpectations() (int64, int64) { // NewControllerExpectations returns a store for ControllerExpectations. func NewControllerExpectations() *ControllerExpectations { - return &ControllerExpectations{cache.NewStore(ExpKeyFunc)} + return &ControllerExpectations{Store: cache.NewStore(ExpKeyFunc), name: "n/a"} +} +func NewControllerExpectationsWithName(name string) *ControllerExpectations { + return &ControllerExpectations{Store: cache.NewStore(ExpKeyFunc), name: name} } // UIDSetKeyFunc to parse out the key from a UIDSet. @@ -313,6 +318,22 @@ func (u *UIDTrackingControllerExpectations) ExpectDeletions(rcKey string, delete return u.ControllerExpectationsInterface.ExpectDeletions(rcKey, expectedUIDs.Len()) } +func (u *UIDTrackingControllerExpectations) AddExpectedDeletion(rcKey string, deletedKey string) error { + u.uidStoreLock.Lock() + defer u.uidStoreLock.Unlock() + + expectedUIDs := sets.NewString() + if existing := u.GetUIDs(rcKey); existing != nil && existing.Len() != 0 { + expectedUIDs = existing + } + expectedUIDs.Insert(deletedKey) + glog.V(4).Infof("Controller %v waiting on deletions for: %+v", rcKey, expectedUIDs) + if err := u.uidStore.Add(&UIDSet{expectedUIDs, rcKey}); err != nil { + return err + } + return u.ControllerExpectationsInterface.ExpectDeletions(rcKey, expectedUIDs.Len()) +} + // DeletionObserved records the given deleteKey as a deletion, for the given rc. func (u *UIDTrackingControllerExpectations) DeletionObserved(rcKey, deleteKey string) { u.uidStoreLock.Lock() diff --git a/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go b/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go index 400ca9cb3..4b5e875a4 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go +++ b/vendor/kubevirt.io/kubevirt/pkg/controller/virtinformers.go @@ -24,7 +24,11 @@ import ( "sync" "time" + appsv1 "k8s.io/api/apps/v1" k8sv1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + extv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + extclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/client-go/rest" @@ -38,6 +42,10 @@ import ( "kubevirt.io/kubevirt/pkg/testutils" ) +const ( + OperatorLabel = kubev1.ManagedByLabel + "=" + kubev1.ManagedByLabelOperatorValue +) + type newSharedInformer func() cache.SharedIndexInformer type KubeInformerFactory interface { @@ -80,6 +88,36 @@ type KubeInformerFactory interface { // Fake CDI DataVolume informer used when feature gate is disabled DummyDataVolume() cache.SharedIndexInformer + + // Wachtes for KubeVirt objects + KubeVirt() cache.SharedIndexInformer + + // Service Accounts + OperatorServiceAccount() cache.SharedIndexInformer + + // ClusterRole + OperatorClusterRole() cache.SharedIndexInformer + + // ClusterRoleBinding + OperatorClusterRoleBinding() cache.SharedIndexInformer + + // Roles + OperatorRole() cache.SharedIndexInformer + + // RoleBinding + OperatorRoleBinding() cache.SharedIndexInformer + + // CRD + OperatorCRD() cache.SharedIndexInformer + + // Service + OperatorService() cache.SharedIndexInformer + + // DaemonSet + OperatorDaemonSet() cache.SharedIndexInformer + + // Deployment + OperatorDeployment() cache.SharedIndexInformer } type kubeInformerFactory struct { @@ -236,8 +274,126 @@ func (f *kubeInformerFactory) LimitRanges() cache.SharedIndexInformer { }) } +func (f *kubeInformerFactory) KubeVirt() cache.SharedIndexInformer { + return f.getInformer("kubeVirtInformer", func() cache.SharedIndexInformer { + lw := cache.NewListWatchFromClient(f.restClient, "kubevirts", k8sv1.NamespaceAll, fields.Everything()) + return cache.NewSharedIndexInformer(lw, &kubev1.KubeVirt{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) + }) +} + // resyncPeriod computes the time interval a shared informer waits before resyncing with the api server func resyncPeriod(minResyncPeriod time.Duration) time.Duration { factor := rand.Float64() + 1 return time.Duration(float64(minResyncPeriod.Nanoseconds()) * factor) } + +func (f *kubeInformerFactory) OperatorServiceAccount() cache.SharedIndexInformer { + return f.getInformer("OperatorServiceAccountInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.CoreV1().RESTClient(), "serviceaccounts", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &k8sv1.ServiceAccount{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) + }) +} + +func (f *kubeInformerFactory) OperatorClusterRole() cache.SharedIndexInformer { + return f.getInformer("OperatorClusterRoleInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.RbacV1().RESTClient(), "clusterroles", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &rbacv1.ClusterRole{}, f.defaultResync, cache.Indexers{}) + }) +} +func (f *kubeInformerFactory) OperatorClusterRoleBinding() cache.SharedIndexInformer { + return f.getInformer("OperatorClusterRoleBindingInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.RbacV1().RESTClient(), "clusterrolebindings", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &rbacv1.ClusterRoleBinding{}, f.defaultResync, cache.Indexers{}) + }) +} +func (f *kubeInformerFactory) OperatorRole() cache.SharedIndexInformer { + return f.getInformer("OperatorRoleInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.RbacV1().RESTClient(), "roles", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &rbacv1.Role{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) + }) +} + +func (f *kubeInformerFactory) OperatorRoleBinding() cache.SharedIndexInformer { + return f.getInformer("OperatorRoleBindingInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.RbacV1().RESTClient(), "rolebindings", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &rbacv1.RoleBinding{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) + }) +} + +func (f *kubeInformerFactory) OperatorCRD() cache.SharedIndexInformer { + return f.getInformer("OperatorCRDInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + ext, err := extclient.NewForConfig(f.clientSet.Config()) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(ext.ApiextensionsV1beta1().RESTClient(), "customresourcedefinitions", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &extv1beta1.CustomResourceDefinition{}, f.defaultResync, cache.Indexers{}) + }) +} + +func (f *kubeInformerFactory) OperatorService() cache.SharedIndexInformer { + return f.getInformer("OperatorServiceInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.CoreV1().RESTClient(), "services", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &k8sv1.Service{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) + }) +} + +func (f *kubeInformerFactory) OperatorDeployment() cache.SharedIndexInformer { + return f.getInformer("OperatorDeploymentInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.AppsV1().RESTClient(), "deployments", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &appsv1.Deployment{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) + }) +} + +func (f *kubeInformerFactory) OperatorDaemonSet() cache.SharedIndexInformer { + return f.getInformer("OperatorDaemonSetInformer", func() cache.SharedIndexInformer { + labelSelector, err := labels.Parse(OperatorLabel) + if err != nil { + panic(err) + } + + lw := NewListWatchFromClient(f.clientSet.AppsV1().RESTClient(), "daemonsets", k8sv1.NamespaceAll, fields.Everything(), labelSelector) + return cache.NewSharedIndexInformer(lw, &appsv1.DaemonSet{}, f.defaultResync, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}) + }) +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/generated_mock_kubevirt.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/generated_mock_kubevirt.go index e29e7d9dd..8047dad9d 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/kubecli/generated_mock_kubevirt.go +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/generated_mock_kubevirt.go @@ -8,42 +8,45 @@ import ( gomock "github.com/golang/mock/gomock" versioned "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/client/clientset/versioned" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/openshift/client-go/security/clientset/versioned/typed/security/v1" + v10 "k8s.io/api/autoscaling/v1" + clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" + v11 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" discovery "k8s.io/client-go/discovery" v1alpha1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1" v1beta1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1" - v10 "k8s.io/client-go/kubernetes/typed/apps/v1" + v12 "k8s.io/client-go/kubernetes/typed/apps/v1" v1beta10 "k8s.io/client-go/kubernetes/typed/apps/v1beta1" v1beta2 "k8s.io/client-go/kubernetes/typed/apps/v1beta2" - v11 "k8s.io/client-go/kubernetes/typed/authentication/v1" + v13 "k8s.io/client-go/kubernetes/typed/authentication/v1" v1beta11 "k8s.io/client-go/kubernetes/typed/authentication/v1beta1" - v12 "k8s.io/client-go/kubernetes/typed/authorization/v1" + v14 "k8s.io/client-go/kubernetes/typed/authorization/v1" v1beta12 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" - v13 "k8s.io/client-go/kubernetes/typed/autoscaling/v1" + v15 "k8s.io/client-go/kubernetes/typed/autoscaling/v1" v2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" - v14 "k8s.io/client-go/kubernetes/typed/batch/v1" + v16 "k8s.io/client-go/kubernetes/typed/batch/v1" v1beta13 "k8s.io/client-go/kubernetes/typed/batch/v1beta1" v2alpha1 "k8s.io/client-go/kubernetes/typed/batch/v2alpha1" v1beta14 "k8s.io/client-go/kubernetes/typed/certificates/v1beta1" - v15 "k8s.io/client-go/kubernetes/typed/core/v1" + v17 "k8s.io/client-go/kubernetes/typed/core/v1" v1beta15 "k8s.io/client-go/kubernetes/typed/events/v1beta1" v1beta16 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" - v16 "k8s.io/client-go/kubernetes/typed/networking/v1" + v18 "k8s.io/client-go/kubernetes/typed/networking/v1" v1beta17 "k8s.io/client-go/kubernetes/typed/policy/v1beta1" - v17 "k8s.io/client-go/kubernetes/typed/rbac/v1" + v19 "k8s.io/client-go/kubernetes/typed/rbac/v1" v1alpha10 "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1" v1beta18 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" v1alpha11 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" v1beta19 "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1" v1alpha12 "k8s.io/client-go/kubernetes/typed/settings/v1alpha1" - v18 "k8s.io/client-go/kubernetes/typed/storage/v1" + v110 "k8s.io/client-go/kubernetes/typed/storage/v1" v1alpha13 "k8s.io/client-go/kubernetes/typed/storage/v1alpha1" v1beta110 "k8s.io/client-go/kubernetes/typed/storage/v1beta1" rest "k8s.io/client-go/rest" versioned0 "kubevirt.io/containerized-data-importer/pkg/client/clientset/versioned" - v19 "kubevirt.io/kubevirt/pkg/api/v1" + v111 "kubevirt.io/kubevirt/pkg/api/v1" ) // Mock of KubevirtClient interface @@ -107,6 +110,16 @@ func (_mr *_MockKubevirtClientRecorder) VirtualMachine(arg0 interface{}) *gomock return _mr.mock.ctrl.RecordCall(_mr.mock, "VirtualMachine", arg0) } +func (_m *MockKubevirtClient) KubeVirt(namespace string) KubeVirtInterface { + ret := _m.ctrl.Call(_m, "KubeVirt", namespace) + ret0, _ := ret[0].(KubeVirtInterface) + return ret0 +} + +func (_mr *_MockKubevirtClientRecorder) KubeVirt(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "KubeVirt", arg0) +} + func (_m *MockKubevirtClient) ServerVersion() *ServerVersion { ret := _m.ctrl.Call(_m, "ServerVersion") ret0, _ := ret[0].(*ServerVersion) @@ -147,6 +160,26 @@ func (_mr *_MockKubevirtClientRecorder) NetworkClient() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "NetworkClient") } +func (_m *MockKubevirtClient) ExtensionsClient() clientset.Interface { + ret := _m.ctrl.Call(_m, "ExtensionsClient") + ret0, _ := ret[0].(clientset.Interface) + return ret0 +} + +func (_mr *_MockKubevirtClientRecorder) ExtensionsClient() *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "ExtensionsClient") +} + +func (_m *MockKubevirtClient) SecClient() v1.SecurityV1Interface { + ret := _m.ctrl.Call(_m, "SecClient") + ret0, _ := ret[0].(v1.SecurityV1Interface) + return ret0 +} + +func (_mr *_MockKubevirtClientRecorder) SecClient() *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "SecClient") +} + func (_m *MockKubevirtClient) Discovery() discovery.DiscoveryInterface { ret := _m.ctrl.Call(_m, "Discovery") ret0, _ := ret[0].(discovery.DiscoveryInterface) @@ -207,9 +240,9 @@ func (_mr *_MockKubevirtClientRecorder) AppsV1beta2() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AppsV1beta2") } -func (_m *MockKubevirtClient) AppsV1() v10.AppsV1Interface { +func (_m *MockKubevirtClient) AppsV1() v12.AppsV1Interface { ret := _m.ctrl.Call(_m, "AppsV1") - ret0, _ := ret[0].(v10.AppsV1Interface) + ret0, _ := ret[0].(v12.AppsV1Interface) return ret0 } @@ -217,9 +250,9 @@ func (_mr *_MockKubevirtClientRecorder) AppsV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AppsV1") } -func (_m *MockKubevirtClient) Apps() v10.AppsV1Interface { +func (_m *MockKubevirtClient) Apps() v12.AppsV1Interface { ret := _m.ctrl.Call(_m, "Apps") - ret0, _ := ret[0].(v10.AppsV1Interface) + ret0, _ := ret[0].(v12.AppsV1Interface) return ret0 } @@ -227,9 +260,9 @@ func (_mr *_MockKubevirtClientRecorder) Apps() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "Apps") } -func (_m *MockKubevirtClient) AuthenticationV1() v11.AuthenticationV1Interface { +func (_m *MockKubevirtClient) AuthenticationV1() v13.AuthenticationV1Interface { ret := _m.ctrl.Call(_m, "AuthenticationV1") - ret0, _ := ret[0].(v11.AuthenticationV1Interface) + ret0, _ := ret[0].(v13.AuthenticationV1Interface) return ret0 } @@ -237,9 +270,9 @@ func (_mr *_MockKubevirtClientRecorder) AuthenticationV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AuthenticationV1") } -func (_m *MockKubevirtClient) Authentication() v11.AuthenticationV1Interface { +func (_m *MockKubevirtClient) Authentication() v13.AuthenticationV1Interface { ret := _m.ctrl.Call(_m, "Authentication") - ret0, _ := ret[0].(v11.AuthenticationV1Interface) + ret0, _ := ret[0].(v13.AuthenticationV1Interface) return ret0 } @@ -257,9 +290,9 @@ func (_mr *_MockKubevirtClientRecorder) AuthenticationV1beta1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AuthenticationV1beta1") } -func (_m *MockKubevirtClient) AuthorizationV1() v12.AuthorizationV1Interface { +func (_m *MockKubevirtClient) AuthorizationV1() v14.AuthorizationV1Interface { ret := _m.ctrl.Call(_m, "AuthorizationV1") - ret0, _ := ret[0].(v12.AuthorizationV1Interface) + ret0, _ := ret[0].(v14.AuthorizationV1Interface) return ret0 } @@ -267,9 +300,9 @@ func (_mr *_MockKubevirtClientRecorder) AuthorizationV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AuthorizationV1") } -func (_m *MockKubevirtClient) Authorization() v12.AuthorizationV1Interface { +func (_m *MockKubevirtClient) Authorization() v14.AuthorizationV1Interface { ret := _m.ctrl.Call(_m, "Authorization") - ret0, _ := ret[0].(v12.AuthorizationV1Interface) + ret0, _ := ret[0].(v14.AuthorizationV1Interface) return ret0 } @@ -287,9 +320,9 @@ func (_mr *_MockKubevirtClientRecorder) AuthorizationV1beta1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AuthorizationV1beta1") } -func (_m *MockKubevirtClient) AutoscalingV1() v13.AutoscalingV1Interface { +func (_m *MockKubevirtClient) AutoscalingV1() v15.AutoscalingV1Interface { ret := _m.ctrl.Call(_m, "AutoscalingV1") - ret0, _ := ret[0].(v13.AutoscalingV1Interface) + ret0, _ := ret[0].(v15.AutoscalingV1Interface) return ret0 } @@ -297,9 +330,9 @@ func (_mr *_MockKubevirtClientRecorder) AutoscalingV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AutoscalingV1") } -func (_m *MockKubevirtClient) Autoscaling() v13.AutoscalingV1Interface { +func (_m *MockKubevirtClient) Autoscaling() v15.AutoscalingV1Interface { ret := _m.ctrl.Call(_m, "Autoscaling") - ret0, _ := ret[0].(v13.AutoscalingV1Interface) + ret0, _ := ret[0].(v15.AutoscalingV1Interface) return ret0 } @@ -317,9 +350,9 @@ func (_mr *_MockKubevirtClientRecorder) AutoscalingV2beta1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "AutoscalingV2beta1") } -func (_m *MockKubevirtClient) BatchV1() v14.BatchV1Interface { +func (_m *MockKubevirtClient) BatchV1() v16.BatchV1Interface { ret := _m.ctrl.Call(_m, "BatchV1") - ret0, _ := ret[0].(v14.BatchV1Interface) + ret0, _ := ret[0].(v16.BatchV1Interface) return ret0 } @@ -327,9 +360,9 @@ func (_mr *_MockKubevirtClientRecorder) BatchV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "BatchV1") } -func (_m *MockKubevirtClient) Batch() v14.BatchV1Interface { +func (_m *MockKubevirtClient) Batch() v16.BatchV1Interface { ret := _m.ctrl.Call(_m, "Batch") - ret0, _ := ret[0].(v14.BatchV1Interface) + ret0, _ := ret[0].(v16.BatchV1Interface) return ret0 } @@ -377,9 +410,9 @@ func (_mr *_MockKubevirtClientRecorder) Certificates() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "Certificates") } -func (_m *MockKubevirtClient) CoreV1() v15.CoreV1Interface { +func (_m *MockKubevirtClient) CoreV1() v17.CoreV1Interface { ret := _m.ctrl.Call(_m, "CoreV1") - ret0, _ := ret[0].(v15.CoreV1Interface) + ret0, _ := ret[0].(v17.CoreV1Interface) return ret0 } @@ -387,9 +420,9 @@ func (_mr *_MockKubevirtClientRecorder) CoreV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "CoreV1") } -func (_m *MockKubevirtClient) Core() v15.CoreV1Interface { +func (_m *MockKubevirtClient) Core() v17.CoreV1Interface { ret := _m.ctrl.Call(_m, "Core") - ret0, _ := ret[0].(v15.CoreV1Interface) + ret0, _ := ret[0].(v17.CoreV1Interface) return ret0 } @@ -437,9 +470,9 @@ func (_mr *_MockKubevirtClientRecorder) Extensions() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "Extensions") } -func (_m *MockKubevirtClient) NetworkingV1() v16.NetworkingV1Interface { +func (_m *MockKubevirtClient) NetworkingV1() v18.NetworkingV1Interface { ret := _m.ctrl.Call(_m, "NetworkingV1") - ret0, _ := ret[0].(v16.NetworkingV1Interface) + ret0, _ := ret[0].(v18.NetworkingV1Interface) return ret0 } @@ -447,9 +480,9 @@ func (_mr *_MockKubevirtClientRecorder) NetworkingV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "NetworkingV1") } -func (_m *MockKubevirtClient) Networking() v16.NetworkingV1Interface { +func (_m *MockKubevirtClient) Networking() v18.NetworkingV1Interface { ret := _m.ctrl.Call(_m, "Networking") - ret0, _ := ret[0].(v16.NetworkingV1Interface) + ret0, _ := ret[0].(v18.NetworkingV1Interface) return ret0 } @@ -477,9 +510,9 @@ func (_mr *_MockKubevirtClientRecorder) Policy() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "Policy") } -func (_m *MockKubevirtClient) RbacV1() v17.RbacV1Interface { +func (_m *MockKubevirtClient) RbacV1() v19.RbacV1Interface { ret := _m.ctrl.Call(_m, "RbacV1") - ret0, _ := ret[0].(v17.RbacV1Interface) + ret0, _ := ret[0].(v19.RbacV1Interface) return ret0 } @@ -487,9 +520,9 @@ func (_mr *_MockKubevirtClientRecorder) RbacV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "RbacV1") } -func (_m *MockKubevirtClient) Rbac() v17.RbacV1Interface { +func (_m *MockKubevirtClient) Rbac() v19.RbacV1Interface { ret := _m.ctrl.Call(_m, "Rbac") - ret0, _ := ret[0].(v17.RbacV1Interface) + ret0, _ := ret[0].(v19.RbacV1Interface) return ret0 } @@ -577,9 +610,9 @@ func (_mr *_MockKubevirtClientRecorder) StorageV1beta1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "StorageV1beta1") } -func (_m *MockKubevirtClient) StorageV1() v18.StorageV1Interface { +func (_m *MockKubevirtClient) StorageV1() v110.StorageV1Interface { ret := _m.ctrl.Call(_m, "StorageV1") - ret0, _ := ret[0].(v18.StorageV1Interface) + ret0, _ := ret[0].(v110.StorageV1Interface) return ret0 } @@ -587,9 +620,9 @@ func (_mr *_MockKubevirtClientRecorder) StorageV1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "StorageV1") } -func (_m *MockKubevirtClient) Storage() v18.StorageV1Interface { +func (_m *MockKubevirtClient) Storage() v110.StorageV1Interface { ret := _m.ctrl.Call(_m, "Storage") - ret0, _ := ret[0].(v18.StorageV1Interface) + ret0, _ := ret[0].(v110.StorageV1Interface) return ret0 } @@ -607,6 +640,16 @@ func (_mr *_MockKubevirtClientRecorder) StorageV1alpha1() *gomock.Call { return _mr.mock.ctrl.RecordCall(_mr.mock, "StorageV1alpha1") } +func (_m *MockKubevirtClient) Config() *rest.Config { + ret := _m.ctrl.Call(_m, "Config") + ret0, _ := ret[0].(*rest.Config) + return ret0 +} + +func (_mr *_MockKubevirtClientRecorder) Config() *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Config") +} + // Mock of StreamInterface interface type MockStreamInterface struct { ctrl *gomock.Controller @@ -659,9 +702,9 @@ func (_m *MockVirtualMachineInstanceInterface) EXPECT() *_MockVirtualMachineInst return _m.recorder } -func (_m *MockVirtualMachineInstanceInterface) Get(name string, options *v1.GetOptions) (*v19.VirtualMachineInstance, error) { +func (_m *MockVirtualMachineInstanceInterface) Get(name string, options *v11.GetOptions) (*v111.VirtualMachineInstance, error) { ret := _m.ctrl.Call(_m, "Get", name, options) - ret0, _ := ret[0].(*v19.VirtualMachineInstance) + ret0, _ := ret[0].(*v111.VirtualMachineInstance) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -670,9 +713,9 @@ func (_mr *_MockVirtualMachineInstanceInterfaceRecorder) Get(arg0, arg1 interfac return _mr.mock.ctrl.RecordCall(_mr.mock, "Get", arg0, arg1) } -func (_m *MockVirtualMachineInstanceInterface) List(opts *v1.ListOptions) (*v19.VirtualMachineInstanceList, error) { +func (_m *MockVirtualMachineInstanceInterface) List(opts *v11.ListOptions) (*v111.VirtualMachineInstanceList, error) { ret := _m.ctrl.Call(_m, "List", opts) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceList) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceList) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -681,9 +724,9 @@ func (_mr *_MockVirtualMachineInstanceInterfaceRecorder) List(arg0 interface{}) return _mr.mock.ctrl.RecordCall(_mr.mock, "List", arg0) } -func (_m *MockVirtualMachineInstanceInterface) Create(instance *v19.VirtualMachineInstance) (*v19.VirtualMachineInstance, error) { +func (_m *MockVirtualMachineInstanceInterface) Create(instance *v111.VirtualMachineInstance) (*v111.VirtualMachineInstance, error) { ret := _m.ctrl.Call(_m, "Create", instance) - ret0, _ := ret[0].(*v19.VirtualMachineInstance) + ret0, _ := ret[0].(*v111.VirtualMachineInstance) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -692,9 +735,9 @@ func (_mr *_MockVirtualMachineInstanceInterfaceRecorder) Create(arg0 interface{} return _mr.mock.ctrl.RecordCall(_mr.mock, "Create", arg0) } -func (_m *MockVirtualMachineInstanceInterface) Update(_param0 *v19.VirtualMachineInstance) (*v19.VirtualMachineInstance, error) { +func (_m *MockVirtualMachineInstanceInterface) Update(_param0 *v111.VirtualMachineInstance) (*v111.VirtualMachineInstance, error) { ret := _m.ctrl.Call(_m, "Update", _param0) - ret0, _ := ret[0].(*v19.VirtualMachineInstance) + ret0, _ := ret[0].(*v111.VirtualMachineInstance) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -703,7 +746,7 @@ func (_mr *_MockVirtualMachineInstanceInterfaceRecorder) Update(arg0 interface{} return _mr.mock.ctrl.RecordCall(_mr.mock, "Update", arg0) } -func (_m *MockVirtualMachineInstanceInterface) Delete(name string, options *v1.DeleteOptions) error { +func (_m *MockVirtualMachineInstanceInterface) Delete(name string, options *v11.DeleteOptions) error { ret := _m.ctrl.Call(_m, "Delete", name, options) ret0, _ := ret[0].(error) return ret0 @@ -713,13 +756,13 @@ func (_mr *_MockVirtualMachineInstanceInterfaceRecorder) Delete(arg0, arg1 inter return _mr.mock.ctrl.RecordCall(_mr.mock, "Delete", arg0, arg1) } -func (_m *MockVirtualMachineInstanceInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v19.VirtualMachineInstance, error) { +func (_m *MockVirtualMachineInstanceInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v111.VirtualMachineInstance, error) { _s := []interface{}{name, pt, data} for _, _x := range subresources { _s = append(_s, _x) } ret := _m.ctrl.Call(_m, "Patch", _s...) - ret0, _ := ret[0].(*v19.VirtualMachineInstance) + ret0, _ := ret[0].(*v111.VirtualMachineInstance) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -772,9 +815,9 @@ func (_m *MockReplicaSetInterface) EXPECT() *_MockReplicaSetInterfaceRecorder { return _m.recorder } -func (_m *MockReplicaSetInterface) Get(name string, options v1.GetOptions) (*v19.VirtualMachineInstanceReplicaSet, error) { +func (_m *MockReplicaSetInterface) Get(name string, options v11.GetOptions) (*v111.VirtualMachineInstanceReplicaSet, error) { ret := _m.ctrl.Call(_m, "Get", name, options) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceReplicaSet) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceReplicaSet) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -783,9 +826,9 @@ func (_mr *_MockReplicaSetInterfaceRecorder) Get(arg0, arg1 interface{}) *gomock return _mr.mock.ctrl.RecordCall(_mr.mock, "Get", arg0, arg1) } -func (_m *MockReplicaSetInterface) List(opts v1.ListOptions) (*v19.VirtualMachineInstanceReplicaSetList, error) { +func (_m *MockReplicaSetInterface) List(opts v11.ListOptions) (*v111.VirtualMachineInstanceReplicaSetList, error) { ret := _m.ctrl.Call(_m, "List", opts) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceReplicaSetList) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceReplicaSetList) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -794,9 +837,9 @@ func (_mr *_MockReplicaSetInterfaceRecorder) List(arg0 interface{}) *gomock.Call return _mr.mock.ctrl.RecordCall(_mr.mock, "List", arg0) } -func (_m *MockReplicaSetInterface) Create(_param0 *v19.VirtualMachineInstanceReplicaSet) (*v19.VirtualMachineInstanceReplicaSet, error) { +func (_m *MockReplicaSetInterface) Create(_param0 *v111.VirtualMachineInstanceReplicaSet) (*v111.VirtualMachineInstanceReplicaSet, error) { ret := _m.ctrl.Call(_m, "Create", _param0) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceReplicaSet) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceReplicaSet) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -805,9 +848,9 @@ func (_mr *_MockReplicaSetInterfaceRecorder) Create(arg0 interface{}) *gomock.Ca return _mr.mock.ctrl.RecordCall(_mr.mock, "Create", arg0) } -func (_m *MockReplicaSetInterface) Update(_param0 *v19.VirtualMachineInstanceReplicaSet) (*v19.VirtualMachineInstanceReplicaSet, error) { +func (_m *MockReplicaSetInterface) Update(_param0 *v111.VirtualMachineInstanceReplicaSet) (*v111.VirtualMachineInstanceReplicaSet, error) { ret := _m.ctrl.Call(_m, "Update", _param0) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceReplicaSet) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceReplicaSet) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -816,7 +859,7 @@ func (_mr *_MockReplicaSetInterfaceRecorder) Update(arg0 interface{}) *gomock.Ca return _mr.mock.ctrl.RecordCall(_mr.mock, "Update", arg0) } -func (_m *MockReplicaSetInterface) Delete(name string, options *v1.DeleteOptions) error { +func (_m *MockReplicaSetInterface) Delete(name string, options *v11.DeleteOptions) error { ret := _m.ctrl.Call(_m, "Delete", name, options) ret0, _ := ret[0].(error) return ret0 @@ -826,6 +869,44 @@ func (_mr *_MockReplicaSetInterfaceRecorder) Delete(arg0, arg1 interface{}) *gom return _mr.mock.ctrl.RecordCall(_mr.mock, "Delete", arg0, arg1) } +func (_m *MockReplicaSetInterface) GetScale(replicaSetName string, options v11.GetOptions) (*v10.Scale, error) { + ret := _m.ctrl.Call(_m, "GetScale", replicaSetName, options) + ret0, _ := ret[0].(*v10.Scale) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockReplicaSetInterfaceRecorder) GetScale(arg0, arg1 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "GetScale", arg0, arg1) +} + +func (_m *MockReplicaSetInterface) UpdateScale(replicaSetName string, scale *v10.Scale) (*v10.Scale, error) { + ret := _m.ctrl.Call(_m, "UpdateScale", replicaSetName, scale) + ret0, _ := ret[0].(*v10.Scale) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockReplicaSetInterfaceRecorder) UpdateScale(arg0, arg1 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "UpdateScale", arg0, arg1) +} + +func (_m *MockReplicaSetInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v111.VirtualMachineInstanceReplicaSet, error) { + _s := []interface{}{name, pt, data} + for _, _x := range subresources { + _s = append(_s, _x) + } + ret := _m.ctrl.Call(_m, "Patch", _s...) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceReplicaSet) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockReplicaSetInterfaceRecorder) Patch(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call { + _s := append([]interface{}{arg0, arg1, arg2}, arg3...) + return _mr.mock.ctrl.RecordCall(_mr.mock, "Patch", _s...) +} + // Mock of VMIPresetInterface interface type MockVMIPresetInterface struct { ctrl *gomock.Controller @@ -847,9 +928,9 @@ func (_m *MockVMIPresetInterface) EXPECT() *_MockVMIPresetInterfaceRecorder { return _m.recorder } -func (_m *MockVMIPresetInterface) Get(name string, options v1.GetOptions) (*v19.VirtualMachineInstancePreset, error) { +func (_m *MockVMIPresetInterface) Get(name string, options v11.GetOptions) (*v111.VirtualMachineInstancePreset, error) { ret := _m.ctrl.Call(_m, "Get", name, options) - ret0, _ := ret[0].(*v19.VirtualMachineInstancePreset) + ret0, _ := ret[0].(*v111.VirtualMachineInstancePreset) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -858,9 +939,9 @@ func (_mr *_MockVMIPresetInterfaceRecorder) Get(arg0, arg1 interface{}) *gomock. return _mr.mock.ctrl.RecordCall(_mr.mock, "Get", arg0, arg1) } -func (_m *MockVMIPresetInterface) List(opts v1.ListOptions) (*v19.VirtualMachineInstancePresetList, error) { +func (_m *MockVMIPresetInterface) List(opts v11.ListOptions) (*v111.VirtualMachineInstancePresetList, error) { ret := _m.ctrl.Call(_m, "List", opts) - ret0, _ := ret[0].(*v19.VirtualMachineInstancePresetList) + ret0, _ := ret[0].(*v111.VirtualMachineInstancePresetList) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -869,9 +950,9 @@ func (_mr *_MockVMIPresetInterfaceRecorder) List(arg0 interface{}) *gomock.Call return _mr.mock.ctrl.RecordCall(_mr.mock, "List", arg0) } -func (_m *MockVMIPresetInterface) Create(_param0 *v19.VirtualMachineInstancePreset) (*v19.VirtualMachineInstancePreset, error) { +func (_m *MockVMIPresetInterface) Create(_param0 *v111.VirtualMachineInstancePreset) (*v111.VirtualMachineInstancePreset, error) { ret := _m.ctrl.Call(_m, "Create", _param0) - ret0, _ := ret[0].(*v19.VirtualMachineInstancePreset) + ret0, _ := ret[0].(*v111.VirtualMachineInstancePreset) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -880,9 +961,9 @@ func (_mr *_MockVMIPresetInterfaceRecorder) Create(arg0 interface{}) *gomock.Cal return _mr.mock.ctrl.RecordCall(_mr.mock, "Create", arg0) } -func (_m *MockVMIPresetInterface) Update(_param0 *v19.VirtualMachineInstancePreset) (*v19.VirtualMachineInstancePreset, error) { +func (_m *MockVMIPresetInterface) Update(_param0 *v111.VirtualMachineInstancePreset) (*v111.VirtualMachineInstancePreset, error) { ret := _m.ctrl.Call(_m, "Update", _param0) - ret0, _ := ret[0].(*v19.VirtualMachineInstancePreset) + ret0, _ := ret[0].(*v111.VirtualMachineInstancePreset) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -891,7 +972,7 @@ func (_mr *_MockVMIPresetInterfaceRecorder) Update(arg0 interface{}) *gomock.Cal return _mr.mock.ctrl.RecordCall(_mr.mock, "Update", arg0) } -func (_m *MockVMIPresetInterface) Delete(name string, options *v1.DeleteOptions) error { +func (_m *MockVMIPresetInterface) Delete(name string, options *v11.DeleteOptions) error { ret := _m.ctrl.Call(_m, "Delete", name, options) ret0, _ := ret[0].(error) return ret0 @@ -901,13 +982,13 @@ func (_mr *_MockVMIPresetInterfaceRecorder) Delete(arg0, arg1 interface{}) *gomo return _mr.mock.ctrl.RecordCall(_mr.mock, "Delete", arg0, arg1) } -func (_m *MockVMIPresetInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v19.VirtualMachineInstancePreset, error) { +func (_m *MockVMIPresetInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v111.VirtualMachineInstancePreset, error) { _s := []interface{}{name, pt, data} for _, _x := range subresources { _s = append(_s, _x) } ret := _m.ctrl.Call(_m, "Patch", _s...) - ret0, _ := ret[0].(*v19.VirtualMachineInstancePreset) + ret0, _ := ret[0].(*v111.VirtualMachineInstancePreset) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -938,9 +1019,9 @@ func (_m *MockVirtualMachineInterface) EXPECT() *_MockVirtualMachineInterfaceRec return _m.recorder } -func (_m *MockVirtualMachineInterface) Get(name string, options *v1.GetOptions) (*v19.VirtualMachine, error) { +func (_m *MockVirtualMachineInterface) Get(name string, options *v11.GetOptions) (*v111.VirtualMachine, error) { ret := _m.ctrl.Call(_m, "Get", name, options) - ret0, _ := ret[0].(*v19.VirtualMachine) + ret0, _ := ret[0].(*v111.VirtualMachine) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -949,9 +1030,9 @@ func (_mr *_MockVirtualMachineInterfaceRecorder) Get(arg0, arg1 interface{}) *go return _mr.mock.ctrl.RecordCall(_mr.mock, "Get", arg0, arg1) } -func (_m *MockVirtualMachineInterface) List(opts *v1.ListOptions) (*v19.VirtualMachineList, error) { +func (_m *MockVirtualMachineInterface) List(opts *v11.ListOptions) (*v111.VirtualMachineList, error) { ret := _m.ctrl.Call(_m, "List", opts) - ret0, _ := ret[0].(*v19.VirtualMachineList) + ret0, _ := ret[0].(*v111.VirtualMachineList) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -960,9 +1041,9 @@ func (_mr *_MockVirtualMachineInterfaceRecorder) List(arg0 interface{}) *gomock. return _mr.mock.ctrl.RecordCall(_mr.mock, "List", arg0) } -func (_m *MockVirtualMachineInterface) Create(_param0 *v19.VirtualMachine) (*v19.VirtualMachine, error) { +func (_m *MockVirtualMachineInterface) Create(_param0 *v111.VirtualMachine) (*v111.VirtualMachine, error) { ret := _m.ctrl.Call(_m, "Create", _param0) - ret0, _ := ret[0].(*v19.VirtualMachine) + ret0, _ := ret[0].(*v111.VirtualMachine) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -971,9 +1052,9 @@ func (_mr *_MockVirtualMachineInterfaceRecorder) Create(arg0 interface{}) *gomoc return _mr.mock.ctrl.RecordCall(_mr.mock, "Create", arg0) } -func (_m *MockVirtualMachineInterface) Update(_param0 *v19.VirtualMachine) (*v19.VirtualMachine, error) { +func (_m *MockVirtualMachineInterface) Update(_param0 *v111.VirtualMachine) (*v111.VirtualMachine, error) { ret := _m.ctrl.Call(_m, "Update", _param0) - ret0, _ := ret[0].(*v19.VirtualMachine) + ret0, _ := ret[0].(*v111.VirtualMachine) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -982,7 +1063,7 @@ func (_mr *_MockVirtualMachineInterfaceRecorder) Update(arg0 interface{}) *gomoc return _mr.mock.ctrl.RecordCall(_mr.mock, "Update", arg0) } -func (_m *MockVirtualMachineInterface) Delete(name string, options *v1.DeleteOptions) error { +func (_m *MockVirtualMachineInterface) Delete(name string, options *v11.DeleteOptions) error { ret := _m.ctrl.Call(_m, "Delete", name, options) ret0, _ := ret[0].(error) return ret0 @@ -992,13 +1073,13 @@ func (_mr *_MockVirtualMachineInterfaceRecorder) Delete(arg0, arg1 interface{}) return _mr.mock.ctrl.RecordCall(_mr.mock, "Delete", arg0, arg1) } -func (_m *MockVirtualMachineInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v19.VirtualMachine, error) { +func (_m *MockVirtualMachineInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v111.VirtualMachine, error) { _s := []interface{}{name, pt, data} for _, _x := range subresources { _s = append(_s, _x) } ret := _m.ctrl.Call(_m, "Patch", _s...) - ret0, _ := ret[0].(*v19.VirtualMachine) + ret0, _ := ret[0].(*v111.VirtualMachine) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1039,9 +1120,9 @@ func (_m *MockVirtualMachineInstanceMigrationInterface) EXPECT() *_MockVirtualMa return _m.recorder } -func (_m *MockVirtualMachineInstanceMigrationInterface) Get(name string, options *v1.GetOptions) (*v19.VirtualMachineInstanceMigration, error) { +func (_m *MockVirtualMachineInstanceMigrationInterface) Get(name string, options *v11.GetOptions) (*v111.VirtualMachineInstanceMigration, error) { ret := _m.ctrl.Call(_m, "Get", name, options) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceMigration) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceMigration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1050,9 +1131,9 @@ func (_mr *_MockVirtualMachineInstanceMigrationInterfaceRecorder) Get(arg0, arg1 return _mr.mock.ctrl.RecordCall(_mr.mock, "Get", arg0, arg1) } -func (_m *MockVirtualMachineInstanceMigrationInterface) List(opts *v1.ListOptions) (*v19.VirtualMachineInstanceMigrationList, error) { +func (_m *MockVirtualMachineInstanceMigrationInterface) List(opts *v11.ListOptions) (*v111.VirtualMachineInstanceMigrationList, error) { ret := _m.ctrl.Call(_m, "List", opts) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceMigrationList) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceMigrationList) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1061,9 +1142,9 @@ func (_mr *_MockVirtualMachineInstanceMigrationInterfaceRecorder) List(arg0 inte return _mr.mock.ctrl.RecordCall(_mr.mock, "List", arg0) } -func (_m *MockVirtualMachineInstanceMigrationInterface) Create(_param0 *v19.VirtualMachineInstanceMigration) (*v19.VirtualMachineInstanceMigration, error) { +func (_m *MockVirtualMachineInstanceMigrationInterface) Create(_param0 *v111.VirtualMachineInstanceMigration) (*v111.VirtualMachineInstanceMigration, error) { ret := _m.ctrl.Call(_m, "Create", _param0) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceMigration) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceMigration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1072,9 +1153,9 @@ func (_mr *_MockVirtualMachineInstanceMigrationInterfaceRecorder) Create(arg0 in return _mr.mock.ctrl.RecordCall(_mr.mock, "Create", arg0) } -func (_m *MockVirtualMachineInstanceMigrationInterface) Update(_param0 *v19.VirtualMachineInstanceMigration) (*v19.VirtualMachineInstanceMigration, error) { +func (_m *MockVirtualMachineInstanceMigrationInterface) Update(_param0 *v111.VirtualMachineInstanceMigration) (*v111.VirtualMachineInstanceMigration, error) { ret := _m.ctrl.Call(_m, "Update", _param0) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceMigration) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceMigration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1083,7 +1164,7 @@ func (_mr *_MockVirtualMachineInstanceMigrationInterfaceRecorder) Update(arg0 in return _mr.mock.ctrl.RecordCall(_mr.mock, "Update", arg0) } -func (_m *MockVirtualMachineInstanceMigrationInterface) Delete(name string, options *v1.DeleteOptions) error { +func (_m *MockVirtualMachineInstanceMigrationInterface) Delete(name string, options *v11.DeleteOptions) error { ret := _m.ctrl.Call(_m, "Delete", name, options) ret0, _ := ret[0].(error) return ret0 @@ -1093,13 +1174,13 @@ func (_mr *_MockVirtualMachineInstanceMigrationInterfaceRecorder) Delete(arg0, a return _mr.mock.ctrl.RecordCall(_mr.mock, "Delete", arg0, arg1) } -func (_m *MockVirtualMachineInstanceMigrationInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v19.VirtualMachineInstanceMigration, error) { +func (_m *MockVirtualMachineInstanceMigrationInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v111.VirtualMachineInstanceMigration, error) { _s := []interface{}{name, pt, data} for _, _x := range subresources { _s = append(_s, _x) } ret := _m.ctrl.Call(_m, "Patch", _s...) - ret0, _ := ret[0].(*v19.VirtualMachineInstanceMigration) + ret0, _ := ret[0].(*v111.VirtualMachineInstanceMigration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -1108,3 +1189,94 @@ func (_mr *_MockVirtualMachineInstanceMigrationInterfaceRecorder) Patch(arg0, ar _s := append([]interface{}{arg0, arg1, arg2}, arg3...) return _mr.mock.ctrl.RecordCall(_mr.mock, "Patch", _s...) } + +// Mock of KubeVirtInterface interface +type MockKubeVirtInterface struct { + ctrl *gomock.Controller + recorder *_MockKubeVirtInterfaceRecorder +} + +// Recorder for MockKubeVirtInterface (not exported) +type _MockKubeVirtInterfaceRecorder struct { + mock *MockKubeVirtInterface +} + +func NewMockKubeVirtInterface(ctrl *gomock.Controller) *MockKubeVirtInterface { + mock := &MockKubeVirtInterface{ctrl: ctrl} + mock.recorder = &_MockKubeVirtInterfaceRecorder{mock} + return mock +} + +func (_m *MockKubeVirtInterface) EXPECT() *_MockKubeVirtInterfaceRecorder { + return _m.recorder +} + +func (_m *MockKubeVirtInterface) Get(name string, options *v11.GetOptions) (*v111.KubeVirt, error) { + ret := _m.ctrl.Call(_m, "Get", name, options) + ret0, _ := ret[0].(*v111.KubeVirt) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockKubeVirtInterfaceRecorder) Get(arg0, arg1 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Get", arg0, arg1) +} + +func (_m *MockKubeVirtInterface) List(opts *v11.ListOptions) (*v111.KubeVirtList, error) { + ret := _m.ctrl.Call(_m, "List", opts) + ret0, _ := ret[0].(*v111.KubeVirtList) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockKubeVirtInterfaceRecorder) List(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "List", arg0) +} + +func (_m *MockKubeVirtInterface) Create(instance *v111.KubeVirt) (*v111.KubeVirt, error) { + ret := _m.ctrl.Call(_m, "Create", instance) + ret0, _ := ret[0].(*v111.KubeVirt) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockKubeVirtInterfaceRecorder) Create(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Create", arg0) +} + +func (_m *MockKubeVirtInterface) Update(_param0 *v111.KubeVirt) (*v111.KubeVirt, error) { + ret := _m.ctrl.Call(_m, "Update", _param0) + ret0, _ := ret[0].(*v111.KubeVirt) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockKubeVirtInterfaceRecorder) Update(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Update", arg0) +} + +func (_m *MockKubeVirtInterface) Delete(name string, options *v11.DeleteOptions) error { + ret := _m.ctrl.Call(_m, "Delete", name, options) + ret0, _ := ret[0].(error) + return ret0 +} + +func (_mr *_MockKubeVirtInterfaceRecorder) Delete(arg0, arg1 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Delete", arg0, arg1) +} + +func (_m *MockKubeVirtInterface) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (*v111.KubeVirt, error) { + _s := []interface{}{name, pt, data} + for _, _x := range subresources { + _s = append(_s, _x) + } + ret := _m.ctrl.Call(_m, "Patch", _s...) + ret0, _ := ret[0].(*v111.KubeVirt) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockKubeVirtInterfaceRecorder) Patch(arg0, arg1, arg2 interface{}, arg3 ...interface{}) *gomock.Call { + _s := append([]interface{}{arg0, arg1, arg2}, arg3...) + return _mr.mock.ctrl.RecordCall(_mr.mock, "Patch", _s...) +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubecli.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubecli.go index afc98a037..b6106700b 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubecli.go +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubecli.go @@ -23,8 +23,11 @@ package kubecli import ( "flag" "os" + "sync" + secv1 "github.com/openshift/client-go/security/clientset/versioned/typed/security/v1" "github.com/spf13/pflag" + extclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/client-go/kubernetes" @@ -44,6 +47,9 @@ var ( master string ) +var virtclient KubevirtClient +var once sync.Once + func init() { flag.StringVar(&kubeconfig, "kubeconfig", "", "absolute path to the kubeconfig file") flag.StringVar(&master, "master", "", "master url") @@ -80,6 +86,16 @@ func GetKubevirtSubresourceClientFromFlags(master string, kubeconfig string) (Ku return nil, err } + extensionsClient, err := extclient.NewForConfig(config) + if err != nil { + return nil, err + } + + secClient, err := secv1.NewForConfig(config) + if err != nil { + return nil, err + } + return &kubevirt{ master, kubeconfig, @@ -87,6 +103,8 @@ func GetKubevirtSubresourceClientFromFlags(master string, kubeconfig string) (Ku config, cdiClient, networkClient, + extensionsClient, + secClient, coreClient, }, nil } @@ -190,6 +208,16 @@ func GetKubevirtClientFromRESTConfig(config *rest.Config) (KubevirtClient, error return nil, err } + extensionsClient, err := extclient.NewForConfig(config) + if err != nil { + return nil, err + } + + secClient, err := secv1.NewForConfig(config) + if err != nil { + return nil, err + } + return &kubevirt{ master, kubeconfig, @@ -197,6 +225,8 @@ func GetKubevirtClientFromRESTConfig(config *rest.Config) (KubevirtClient, error config, cdiClient, networkClient, + extensionsClient, + secClient, coreClient, }, nil } @@ -210,7 +240,11 @@ func GetKubevirtClientFromFlags(master string, kubeconfig string) (KubevirtClien } func GetKubevirtClient() (KubevirtClient, error) { - return GetKubevirtClientFromFlags(master, kubeconfig) + var err error + once.Do(func() { + virtclient, err = GetKubevirtClientFromFlags(master, kubeconfig) + }) + return virtclient, err } func GetKubevirtSubresourceClient() (KubevirtClient, error) { diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt.go index 019e36416..537d093bd 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt.go +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt.go @@ -29,6 +29,9 @@ import ( "io" "time" + secv1 "github.com/openshift/client-go/security/clientset/versioned/typed/security/v1" + autov1 "k8s.io/api/autoscaling/v1" + extclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset" k8smetav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" @@ -37,7 +40,7 @@ import ( networkclient "github.com/k8snetworkplumbingwg/network-attachment-definition-client/pkg/client/clientset/versioned" cdiclient "kubevirt.io/containerized-data-importer/pkg/client/clientset/versioned" - v1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/api/v1" ) type KubevirtClient interface { @@ -45,23 +48,33 @@ type KubevirtClient interface { VirtualMachineInstanceMigration(namespace string) VirtualMachineInstanceMigrationInterface ReplicaSet(namespace string) ReplicaSetInterface VirtualMachine(namespace string) VirtualMachineInterface + KubeVirt(namespace string) KubeVirtInterface ServerVersion() *ServerVersion RestClient() *rest.RESTClient CdiClient() cdiclient.Interface NetworkClient() networkclient.Interface + ExtensionsClient() extclient.Interface + SecClient() secv1.SecurityV1Interface kubernetes.Interface + Config() *rest.Config } type kubevirt struct { - master string - kubeconfig string - restClient *rest.RESTClient - config *rest.Config - cdiClient *cdiclient.Clientset - networkClient *networkclient.Clientset + master string + kubeconfig string + restClient *rest.RESTClient + config *rest.Config + cdiClient *cdiclient.Clientset + networkClient *networkclient.Clientset + extensionsClient *extclient.Clientset + secClient *secv1.SecurityV1Client *kubernetes.Clientset } +func (k kubevirt) Config() *rest.Config { + return k.config +} + func (k kubevirt) CdiClient() cdiclient.Interface { return k.cdiClient } @@ -70,6 +83,14 @@ func (k kubevirt) NetworkClient() networkclient.Interface { return k.networkClient } +func (k kubevirt) ExtensionsClient() extclient.Interface { + return k.extensionsClient +} + +func (k kubevirt) SecClient() secv1.SecurityV1Interface { + return k.secClient +} + func (k kubevirt) RestClient() *rest.RESTClient { return k.restClient } @@ -100,6 +121,9 @@ type ReplicaSetInterface interface { Create(*v1.VirtualMachineInstanceReplicaSet) (*v1.VirtualMachineInstanceReplicaSet, error) Update(*v1.VirtualMachineInstanceReplicaSet) (*v1.VirtualMachineInstanceReplicaSet, error) Delete(name string, options *k8smetav1.DeleteOptions) error + GetScale(replicaSetName string, options k8smetav1.GetOptions) (*autov1.Scale, error) + UpdateScale(replicaSetName string, scale *autov1.Scale) (*autov1.Scale, error) + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.VirtualMachineInstanceReplicaSet, err error) } type VMIPresetInterface interface { @@ -131,3 +155,12 @@ type VirtualMachineInstanceMigrationInterface interface { Delete(name string, options *k8smetav1.DeleteOptions) error Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.VirtualMachineInstanceMigration, err error) } + +type KubeVirtInterface interface { + Get(name string, options *k8smetav1.GetOptions) (*v1.KubeVirt, error) + List(opts *k8smetav1.ListOptions) (*v1.KubeVirtList, error) + Create(instance *v1.KubeVirt) (*v1.KubeVirt, error) + Update(*v1.KubeVirt) (*v1.KubeVirt, error) + Delete(name string, options *k8smetav1.DeleteOptions) error + Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.KubeVirt, err error) +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt_test_utils.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt_test_utils.go index dc159d46b..ea11d4dc9 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt_test_utils.go +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kubevirt_test_utils.go @@ -55,3 +55,11 @@ func NewVirtualMachineInstanceReplicaSetList(rss ...v1.VirtualMachineInstanceRep func NewMinimalVirtualMachineInstanceReplicaSet(name string) *v1.VirtualMachineInstanceReplicaSet { return &v1.VirtualMachineInstanceReplicaSet{TypeMeta: k8smetav1.TypeMeta{APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstanceReplicaSet"}, ObjectMeta: k8smetav1.ObjectMeta{Name: name}} } + +func NewMinimalKubeVirt(name string) *v1.KubeVirt { + return &v1.KubeVirt{TypeMeta: k8smetav1.TypeMeta{APIVersion: v1.GroupVersion.String(), Kind: "KubeVirt"}, ObjectMeta: k8smetav1.ObjectMeta{Name: name}} +} + +func NewKubeVirtList(kubevirts ...v1.KubeVirt) *v1.KubeVirtList { + return &v1.KubeVirtList{TypeMeta: k8smetav1.TypeMeta{APIVersion: v1.GroupVersion.String(), Kind: "KubeVirtList"}, Items: kubevirts} +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/kv.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kv.go new file mode 100644 index 000000000..9c5022fc0 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/kv.go @@ -0,0 +1,133 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package kubecli + +import ( + k8smetav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + + "kubevirt.io/kubevirt/pkg/api/v1" +) + +func (k *kubevirt) KubeVirt(namespace string) KubeVirtInterface { + return &kv{ + restClient: k.restClient, + namespace: namespace, + resource: "kubevirts", + } +} + +type kv struct { + restClient *rest.RESTClient + namespace string + resource string +} + +// Create new KubeVirt in the cluster to specified namespace +func (o *kv) Create(vm *v1.KubeVirt) (*v1.KubeVirt, error) { + newKv := &v1.KubeVirt{} + err := o.restClient.Post(). + Resource(o.resource). + Namespace(o.namespace). + Body(vm). + Do(). + Into(newKv) + + newKv.SetGroupVersionKind(v1.KubeVirtGroupVersionKind) + + return newKv, err +} + +// Get the KubeVirt from the cluster by its name and namespace +func (o *kv) Get(name string, options *k8smetav1.GetOptions) (*v1.KubeVirt, error) { + newKv := &v1.KubeVirt{} + err := o.restClient.Get(). + Resource(o.resource). + Namespace(o.namespace). + Name(name). + VersionedParams(options, scheme.ParameterCodec). + Do(). + Into(newKv) + + newKv.SetGroupVersionKind(v1.KubeVirtGroupVersionKind) + + return newKv, err +} + +// Update the KubeVirt instance in the cluster in given namespace +func (o *kv) Update(vm *v1.KubeVirt) (*v1.KubeVirt, error) { + updatedVm := &v1.KubeVirt{} + err := o.restClient.Put(). + Resource(o.resource). + Namespace(o.namespace). + Name(vm.Name). + Body(vm). + Do(). + Into(updatedVm) + + updatedVm.SetGroupVersionKind(v1.KubeVirtGroupVersionKind) + + return updatedVm, err +} + +// Delete the defined KubeVirt in the cluster in defined namespace +func (o *kv) Delete(name string, options *k8smetav1.DeleteOptions) error { + err := o.restClient.Delete(). + Resource(o.resource). + Namespace(o.namespace). + Name(name). + Body(options). + Do(). + Error() + + return err +} + +// List all KubeVirts in given namespace +func (o *kv) List(options *k8smetav1.ListOptions) (*v1.KubeVirtList, error) { + newKvList := &v1.KubeVirtList{} + err := o.restClient.Get(). + Resource(o.resource). + Namespace(o.namespace). + VersionedParams(options, scheme.ParameterCodec). + Do(). + Into(newKvList) + + for _, vm := range newKvList.Items { + vm.SetGroupVersionKind(v1.KubeVirtGroupVersionKind) + } + + return newKvList, err +} + +func (v *kv) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.KubeVirt, err error) { + result = &v1.KubeVirt{} + err = v.restClient.Patch(pt). + Namespace(v.namespace). + Resource(v.resource). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return result, err +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/replicaset.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/replicaset.go index dd93fcb00..f4614f01e 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/kubecli/replicaset.go +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/replicaset.go @@ -20,11 +20,13 @@ package kubecli import ( + autov1 "k8s.io/api/autoscaling/v1" k8smetav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" - v1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/api/v1" ) func (k *kubevirt) ReplicaSet(namespace string) ReplicaSetInterface { @@ -37,6 +39,31 @@ type rc struct { resource string } +func (v *rc) GetScale(replicaSetName string, options k8smetav1.GetOptions) (result *autov1.Scale, err error) { + result = &autov1.Scale{} + err = v.restClient.Get(). + Namespace(v.namespace). + Resource(v.resource). + Name(replicaSetName). + SubResource("scale"). + Do(). + Into(result) + return +} + +func (v *rc) UpdateScale(replicaSetName string, scale *autov1.Scale) (result *autov1.Scale, err error) { + result = &autov1.Scale{} + err = v.restClient.Put(). + Namespace(v.namespace). + Resource(v.resource). + Name(replicaSetName). + SubResource("scale"). + Body(scale). + Do(). + Into(result) + return +} + func (v *rc) Get(name string, options k8smetav1.GetOptions) (replicaset *v1.VirtualMachineInstanceReplicaSet, err error) { replicaset = &v1.VirtualMachineInstanceReplicaSet{} err = v.restClient.Get(). @@ -99,3 +126,16 @@ func (v *rc) Delete(name string, options *k8smetav1.DeleteOptions) error { Do(). Error() } + +func (v *rc) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.VirtualMachineInstanceReplicaSet, err error) { + result = &v1.VirtualMachineInstanceReplicaSet{} + err = v.restClient.Patch(pt). + Namespace(v.namespace). + Resource(v.resource). + SubResource(subresources...). + Name(name). + Body(data). + Do(). + Into(result) + return +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/vm.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/vm.go index 029c40330..af3f13446 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/kubecli/vm.go +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/vm.go @@ -30,7 +30,7 @@ import ( v1 "kubevirt.io/kubevirt/pkg/api/v1" ) -const vmSubresourceURL = "/apis/subresources.kubevirt.io/v1alpha2/namespaces/%s/virtualmachines/%s/%s" +const vmSubresourceURL = "/apis/subresources.kubevirt.io/v1alpha3/namespaces/%s/virtualmachines/%s/%s" func (k *kubevirt) VirtualMachine(namespace string) VirtualMachineInterface { return &vm{ diff --git a/vendor/kubevirt.io/kubevirt/pkg/kubecli/vmi.go b/vendor/kubevirt.io/kubevirt/pkg/kubecli/vmi.go index 4239d53ab..c7d2f03b1 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/kubecli/vmi.go +++ b/vendor/kubevirt.io/kubevirt/pkg/kubecli/vmi.go @@ -206,7 +206,7 @@ func RequestFromConfig(config *rest.Config, vmi string, namespace string, resour return nil, fmt.Errorf("Unsupported Protocol %s", u.Scheme) } - u.Path = fmt.Sprintf("/apis/subresources.kubevirt.io/v1alpha2/namespaces/%s/virtualmachineinstances/%s/%s", namespace, vmi, resource) + u.Path = fmt.Sprintf("/apis/subresources.kubevirt.io/v1alpha3/namespaces/%s/virtualmachineinstances/%s/%s", namespace, vmi, resource) req := &http.Request{ Method: http.MethodGet, URL: u, @@ -255,37 +255,40 @@ type connectionStruct struct { func (v *vmis) SerialConsole(name string, timeout time.Duration) (StreamInterface, error) { timeoutChan := time.Tick(timeout) connectionChan := make(chan connectionStruct) - isWaiting := true go func() { - con, err := v.asyncSubresourceHelper(name, "console") - for err != nil && isWaiting { - if asyncSubresourceError, ok := err.(*AsyncSubresourceError); ok { - if asyncSubresourceError.GetStatusCode() == http.StatusBadRequest { - // Sleep to prevent denial of service on the api server - time.Sleep(1 * time.Second) - con, err = v.asyncSubresourceHelper(name, "console") - } else { - connectionChan <- connectionStruct{con: nil, err: asyncSubresourceError} - return + for { + + select { + case <-timeoutChan: + connectionChan <- connectionStruct{ + con: nil, + err: fmt.Errorf("Timeout trying to connect to the virtual machine instance"), } - } else { - connectionChan <- connectionStruct{con: nil, err: err} return + default: } - } - if isWaiting { + + con, err := v.asyncSubresourceHelper(name, "console") + if err != nil { + asyncSubresourceError, ok := err.(*AsyncSubresourceError) + // return if response status code does not equal to 400 + if !ok || asyncSubresourceError.GetStatusCode() != http.StatusBadRequest { + connectionChan <- connectionStruct{con: nil, err: err} + return + } + + time.Sleep(1 * time.Second) + continue + } + connectionChan <- connectionStruct{con: con, err: nil} + return } }() - select { - case <-timeoutChan: - isWaiting = false - return nil, fmt.Errorf("Timeout trying to connect to the virtual machine instance") - case conStruct := <-connectionChan: - return conStruct.con, conStruct.err - } + conStruct := <-connectionChan + return conStruct.con, conStruct.err } type AsyncSubresourceError struct { diff --git a/vendor/kubevirt.io/kubevirt/pkg/staging/glog/glog.go b/vendor/kubevirt.io/kubevirt/pkg/staging/glog/glog.go index 56f7721e7..334274474 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/staging/glog/glog.go +++ b/vendor/kubevirt.io/kubevirt/pkg/staging/glog/glog.go @@ -363,7 +363,7 @@ func Exit(args ...interface{}) { // ExitDepth acts as Exit but uses depth to determine which call frame to log. // ExitDepth(0, "msg") is the same as Exit("msg"). func ExitDepth(depth int, args ...interface{}) { - doLog(2+depth, fatalLevel, args) + doLog(2+depth, fatalLevel, args...) os.Exit(1) } diff --git a/vendor/kubevirt.io/kubevirt/pkg/util/hardware/hw_utils.go b/vendor/kubevirt.io/kubevirt/pkg/util/hardware/hw_utils.go index 5c05f9efd..a150eba12 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/util/hardware/hw_utils.go +++ b/vendor/kubevirt.io/kubevirt/pkg/util/hardware/hw_utils.go @@ -22,6 +22,8 @@ package hardware import ( "strconv" "strings" + + v1 "kubevirt.io/kubevirt/pkg/api/v1" ) const CPUSET_PATH = "/sys/fs/cgroup/cpuset/cpuset.cpus" @@ -56,3 +58,24 @@ func ParseCPUSetLine(cpusetLine string) (cpusList []int, err error) { } return } + +//GetNumberOfVCPUs returns number of vCPUs +//It counts sockets*cores*threads +func GetNumberOfVCPUs(cpuSpec *v1.CPU) int64 { + vCPUs := cpuSpec.Cores + if cpuSpec.Sockets != 0 { + if vCPUs == 0 { + vCPUs = cpuSpec.Sockets + } else { + vCPUs *= cpuSpec.Sockets + } + } + if cpuSpec.Threads != 0 { + if vCPUs == 0 { + vCPUs = cpuSpec.Threads + } else { + vCPUs *= cpuSpec.Threads + } + } + return int64(vCPUs) +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/util/openapi/openapi.go b/vendor/kubevirt.io/kubevirt/pkg/util/openapi/openapi.go index 74e5c76e0..77fbd7c3b 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/util/openapi/openapi.go +++ b/vendor/kubevirt.io/kubevirt/pkg/util/openapi/openapi.go @@ -4,8 +4,8 @@ import ( "encoding/json" "strings" - restful "github.com/emicklei/go-restful" - restfulspec "github.com/emicklei/go-restful-openapi" + "github.com/emicklei/go-restful" + "github.com/emicklei/go-restful-openapi" "github.com/go-openapi/errors" "github.com/go-openapi/spec" "github.com/go-openapi/strfmt" @@ -55,6 +55,7 @@ func addInfoToSwaggerObject(swo *spec.Swagger) { }, }, } + swo.Swagger = "2.0" swo.Security = make([]map[string][]string, 1) swo.Security[0] = map[string][]string{"BearerToken": {}} } @@ -67,10 +68,12 @@ func LoadOpenAPISpec(webServices []*restful.WebService) *spec.Swagger { // https://github.com/kubernetes/kubernetes/issues/66899 is ready // Otherwise CRDs can't use templates which contain metadata and controllers // can't set conditions without timestamps - objectMeta := openapispec.Definitions["v1.ObjectMeta"] - prop := objectMeta.Properties["creationTimestamp"] - prop.Type = spec.StringOrArray{"string", "null"} - objectMeta.Properties["creationTimestamp"] = prop + objectMeta, exists := openapispec.Definitions["v1.ObjectMeta"] + if exists { + prop := objectMeta.Properties["creationTimestamp"] + prop.Type = spec.StringOrArray{"string", "null"} + objectMeta.Properties["creationTimestamp"] = prop + } for k, s := range openapispec.Definitions { if strings.HasSuffix(k, "Condition") { diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-api/api.go b/vendor/kubevirt.io/kubevirt/pkg/virt-api/api.go index 2ca0bf8bd..6db43110f 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-api/api.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-api/api.go @@ -27,9 +27,11 @@ import ( "net/http" "os" "path/filepath" + "sync" restful "github.com/emicklei/go-restful" restfulspec "github.com/emicklei/go-restful-openapi" + "github.com/go-openapi/spec" "github.com/prometheus/client_golang/prometheus/promhttp" flag "github.com/spf13/pflag" admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1" @@ -102,6 +104,7 @@ type virtAPIApp struct { SwaggerUI string SubresourcesOnly bool virtCli kubecli.KubevirtClient + aggregatorClient *aggregatorclient.Clientset authorizor rest.VirtApiAuthorizor certsDirectory string @@ -110,7 +113,12 @@ type virtAPIApp struct { keyBytes []byte clientCABytes []byte requestHeaderClientCABytes []byte + certFile string + keyFile string + clientCAFile string + signingCertFile string namespace string + tlsConfig *tls.Config } var _ service.Service = &virtAPIApp{} @@ -137,6 +145,13 @@ func (app *virtAPIApp) Execute() { panic(err) } + config, err := kubecli.GetConfig() + if err != nil { + panic(err) + } + + app.aggregatorClient = aggregatorclient.NewForConfigOrDie(config) + app.authorizor = authorizor app.virtCli = virtCli @@ -243,7 +258,20 @@ func (app *virtAPIApp) composeSubresources() { list.Kind = "APIResourceList" list.GroupVersion = v1.SubresourceGroupVersion.Group + "/" + v1.SubresourceGroupVersion.Version list.APIVersion = v1.SubresourceGroupVersion.Version - list.APIResources = []metav1.APIResource{} + list.APIResources = []metav1.APIResource{ + { + Name: "virtualmachineinstances/vnc", + Namespaced: true, + }, + { + Name: "virtualmachineinstances/restart", + Namespaced: true, + }, + { + Name: "virtualmachineinstances/console", + Namespaced: true, + }, + } response.WriteAsJson(list) }). @@ -256,6 +284,25 @@ func (app *virtAPIApp) composeSubresources() { ws := new(restful.WebService) + // K8s needs the ability to query the root paths + ws.Route(ws.GET("/"). + Produces(restful.MIME_JSON).Writes(metav1.RootPaths{}). + To(func(request *restful.Request, response *restful.Response) { + response.WriteAsJson(&metav1.RootPaths{ + Paths: []string{ + "/apis", + "/apis/", + rest.GroupBasePath(v1.SubresourceGroupVersion), + rest.GroupVersionBasePath(v1.SubresourceGroupVersion), + "/openapi/v2", + }, + }) + }). + Operation("getRootPaths"). + Doc("Get KubeVirt API root paths"). + Returns(http.StatusOK, "OK", metav1.RootPaths{}). + Returns(http.StatusNotFound, "Not Found", nil)) + // K8s needs the ability to query info about a specific API group ws.Route(ws.GET(rest.GroupBasePath(v1.SubresourceGroupVersion)). Produces(restful.MIME_JSON).Writes(metav1.APIGroup{}). @@ -276,11 +323,24 @@ func (app *virtAPIApp) composeSubresources() { list.Groups = append(list.Groups, subresourceAPIGroup()) response.WriteAsJson(list) }). - Operation("getAPIGroup"). + Operation("getAPIGroupList"). Doc("Get a KubeVirt API GroupList"). Returns(http.StatusOK, "OK", metav1.APIGroupList{}). Returns(http.StatusNotFound, "Not Found", nil)) + once := sync.Once{} + ws.Route(ws.GET("openapi/v2"). + Consumes(restful.MIME_JSON). + Produces(restful.MIME_JSON). + To(func(request *restful.Request, response *restful.Response) { + var openapispec *spec.Swagger + once.Do(func() { + openapispec = openapi.LoadOpenAPISpec([]*restful.WebService{ws, subws}) + openapispec.Info.Version = version.Get().String() + }) + response.WriteAsJson(openapispec) + })) + restful.Add(ws) } @@ -452,8 +512,8 @@ func (app *virtAPIApp) createWebhook() error { return nil } -func (app *virtAPIApp) createValidatingWebhook() error { - registerWebhook := false +func (app *virtAPIApp) validatingWebhooks() []admissionregistrationv1beta1.Webhook { + vmiPathCreate := vmiCreateValidatePath vmiPathUpdate := vmiUpdateValidatePath vmPath := vmValidatePath @@ -461,16 +521,6 @@ func (app *virtAPIApp) createValidatingWebhook() error { vmipresetPath := vmipresetValidatePath migrationCreatePath := migrationCreateValidatePath migrationUpdatePath := migrationUpdateValidatePath - - webhookRegistration, err := app.virtCli.AdmissionregistrationV1beta1().ValidatingWebhookConfigurations().Get(virtWebhookValidator, metav1.GetOptions{}) - if err != nil { - if k8serrors.IsNotFound(err) { - registerWebhook = true - } else { - return err - } - } - failurePolicy := admissionregistrationv1beta1.Fail webHooks := []admissionregistrationv1beta1.Webhook{ @@ -633,6 +683,22 @@ func (app *virtAPIApp) createValidatingWebhook() error { }, } + return webHooks +} + +func (app *virtAPIApp) createValidatingWebhook() error { + registerWebhook := false + webhookRegistration, err := app.virtCli.AdmissionregistrationV1beta1().ValidatingWebhookConfigurations().Get(virtWebhookValidator, metav1.GetOptions{}) + if err != nil { + if k8serrors.IsNotFound(err) { + fmt.Println(err) + registerWebhook = true + } else { + return err + } + } + webHooks := app.validatingWebhooks() + if registerWebhook { _, err := app.virtCli.AdmissionregistrationV1beta1().ValidatingWebhookConfigurations().Create(&admissionregistrationv1beta1.ValidatingWebhookConfiguration{ ObjectMeta: metav1.ObjectMeta{ @@ -647,7 +713,6 @@ func (app *virtAPIApp) createValidatingWebhook() error { return err } } else { - for _, webhook := range webhookRegistration.Webhooks { if webhook.ClientConfig.Service != nil && webhook.ClientConfig.Service.Namespace != app.namespace { return fmt.Errorf("ValidatingAdmissionWebhook [%s] is already registered using services endpoints in a different namespace. Existing webhook registration must be deleted before virt-api can proceed.", virtWebhookValidator) @@ -688,23 +753,8 @@ func (app *virtAPIApp) createValidatingWebhook() error { return nil } -func (app *virtAPIApp) createMutatingWebhook() error { - namespace, err := util.GetNamespace() - if err != nil { - return err - } - registerWebhook := false +func (app *virtAPIApp) mutatingWebhooks() []admissionregistrationv1beta1.Webhook { vmiPath := vmiMutatePath - - webhookRegistration, err := app.virtCli.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Get(virtWebhookMutator, metav1.GetOptions{}) - if err != nil { - if k8serrors.IsNotFound(err) { - registerWebhook = true - } else { - return err - } - } - webHooks := []admissionregistrationv1beta1.Webhook{ { Name: "virtualmachineinstances-mutator.kubevirt.io", @@ -720,7 +770,7 @@ func (app *virtAPIApp) createMutatingWebhook() error { }}, ClientConfig: admissionregistrationv1beta1.WebhookClientConfig{ Service: &admissionregistrationv1beta1.ServiceReference{ - Namespace: namespace, + Namespace: app.namespace, Name: virtApiServiceName, Path: &vmiPath, }, @@ -728,6 +778,21 @@ func (app *virtAPIApp) createMutatingWebhook() error { }, }, } + return webHooks +} + +func (app *virtAPIApp) createMutatingWebhook() error { + registerWebhook := false + + webhookRegistration, err := app.virtCli.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Get(virtWebhookMutator, metav1.GetOptions{}) + if err != nil { + if k8serrors.IsNotFound(err) { + registerWebhook = true + } else { + return err + } + } + webHooks := app.mutatingWebhooks() if registerWebhook { _, err := app.virtCli.AdmissionregistrationV1beta1().MutatingWebhookConfigurations().Create(&admissionregistrationv1beta1.MutatingWebhookConfiguration{ @@ -745,7 +810,7 @@ func (app *virtAPIApp) createMutatingWebhook() error { } else { for _, webhook := range webhookRegistration.Webhooks { - if webhook.ClientConfig.Service != nil && webhook.ClientConfig.Service.Namespace != namespace { + if webhook.ClientConfig.Service != nil && webhook.ClientConfig.Service.Namespace != app.namespace { return fmt.Errorf("MutatingAdmissionWebhook [%s] is already registered using services endpoints in a different namespace. Existing webhook registration must be deleted before virt-api can proceed.", virtWebhookMutator) } } @@ -765,41 +830,21 @@ func (app *virtAPIApp) createMutatingWebhook() error { return nil } -func (app *virtAPIApp) createSubresourceApiservice() error { - namespace, err := util.GetNamespace() - if err != nil { - return err - } - config, err := kubecli.GetConfig() - if err != nil { - return err - } - aggregatorClient := aggregatorclient.NewForConfigOrDie(config) +func (app *virtAPIApp) subresourceApiservice() *apiregistrationv1beta1.APIService { subresourceAggregatedApiName := v1.SubresourceGroupVersion.Version + "." + v1.SubresourceGroupName - registerApiService := false - - apiService, err := aggregatorClient.ApiregistrationV1beta1().APIServices().Get(subresourceAggregatedApiName, metav1.GetOptions{}) - if err != nil { - if k8serrors.IsNotFound(err) { - registerApiService = true - } else { - return err - } - } - - newApiService := &apiregistrationv1beta1.APIService{ + return &apiregistrationv1beta1.APIService{ ObjectMeta: metav1.ObjectMeta{ Name: subresourceAggregatedApiName, - Namespace: namespace, + Namespace: app.namespace, Labels: map[string]string{ v1.AppLabel: "virt-api-aggregator", }, }, Spec: apiregistrationv1beta1.APIServiceSpec{ Service: &apiregistrationv1beta1.ServiceReference{ - Namespace: namespace, + Namespace: app.namespace, Name: virtApiServiceName, }, Group: v1.SubresourceGroupName, @@ -810,19 +855,36 @@ func (app *virtAPIApp) createSubresourceApiservice() error { }, } +} + +func (app *virtAPIApp) createSubresourceApiservice() error { + + subresourceApiservice := app.subresourceApiservice() + + registerApiService := false + + apiService, err := app.aggregatorClient.ApiregistrationV1beta1().APIServices().Get(subresourceApiservice.Name, metav1.GetOptions{}) + if err != nil { + if k8serrors.IsNotFound(err) { + registerApiService = true + } else { + return err + } + } + if registerApiService { - _, err = aggregatorClient.ApiregistrationV1beta1().APIServices().Create(newApiService) + _, err = app.aggregatorClient.ApiregistrationV1beta1().APIServices().Create(app.subresourceApiservice()) if err != nil { return err } } else { - if apiService.Spec.Service != nil && apiService.Spec.Service.Namespace != namespace { - return fmt.Errorf("apiservice [%s] is already registered in a different namespace. Existing apiservice registration must be deleted before virt-api can proceed.", subresourceAggregatedApiName) + if apiService.Spec.Service != nil && apiService.Spec.Service.Namespace != app.namespace { + return fmt.Errorf("apiservice [%s] is already registered in a different namespace. Existing apiservice registration must be deleted before virt-api can proceed.", subresourceApiservice.Name) } // Always update spec to latest. - apiService.Spec = newApiService.Spec - _, err := aggregatorClient.ApiregistrationV1beta1().APIServices().Update(apiService) + apiService.Spec = app.subresourceApiservice().Spec + _, err := app.aggregatorClient.ApiregistrationV1beta1().APIServices().Update(apiService) if err != nil { return err } @@ -830,23 +892,21 @@ func (app *virtAPIApp) createSubresourceApiservice() error { return nil } -func (app *virtAPIApp) startTLS() error { - - errors := make(chan error) +func (app *virtAPIApp) setupTLS(fs Filesystem) error { - keyFile := filepath.Join(app.certsDirectory, "/key.pem") - certFile := filepath.Join(app.certsDirectory, "/cert.pem") - signingCertFile := filepath.Join(app.certsDirectory, "/signingCert.pem") - clientCAFile := filepath.Join(app.certsDirectory, "/clientCA.crt") + app.keyFile = filepath.Join(app.certsDirectory, "/key.pem") + app.certFile = filepath.Join(app.certsDirectory, "/cert.pem") + app.signingCertFile = filepath.Join(app.certsDirectory, "/signingCert.pem") + app.clientCAFile = filepath.Join(app.certsDirectory, "/clientCA.crt") // Write the certs to disk - err := ioutil.WriteFile(clientCAFile, app.clientCABytes, 0600) + err := fs.WriteFile(app.clientCAFile, app.clientCABytes, 0600) if err != nil { return err } if len(app.requestHeaderClientCABytes) != 0 { - f, err := os.OpenFile(clientCAFile, os.O_APPEND|os.O_WRONLY, 0600) + f, err := fs.OpenFile(app.clientCAFile, os.O_APPEND|os.O_WRONLY, 0600) if err != nil { return err } @@ -858,27 +918,27 @@ func (app *virtAPIApp) startTLS() error { } } - err = ioutil.WriteFile(keyFile, app.keyBytes, 0600) + err = fs.WriteFile(app.keyFile, app.keyBytes, 0600) if err != nil { return err } - err = ioutil.WriteFile(certFile, app.certBytes, 0600) + err = fs.WriteFile(app.certFile, app.certBytes, 0600) if err != nil { return err } - err = ioutil.WriteFile(signingCertFile, app.signingCertBytes, 0600) + err = fs.WriteFile(app.signingCertFile, app.signingCertBytes, 0600) if err != nil { return err } // create the client CA pool. // This ensures we're talking to the k8s api server - pool, err := cert.NewPool(clientCAFile) + pool, err := cert.NewPool(app.clientCAFile) if err != nil { return err } - tlsConfig := &tls.Config{ + app.tlsConfig = &tls.Config{ ClientCAs: pool, // A VerifyClientCertIfGiven request means we're not guaranteed // a client has been authenticated unless they provide a peer @@ -897,16 +957,29 @@ func (app *virtAPIApp) startTLS() error { // and our aggregated endpoint never becomes available. ClientAuth: tls.VerifyClientCertIfGiven, } - tlsConfig.BuildNameToCertificate() + app.tlsConfig.BuildNameToCertificate() + return nil +} + +func (app *virtAPIApp) startTLS() error { + errors := make(chan error) + + err := app.setupTLS(IOUtil{}) + if err != nil { + return err + } + + // start TLS server go func() { http.Handle("/metrics", promhttp.Handler()) + server := &http.Server{ Addr: fmt.Sprintf("%s:%d", app.BindAddress, app.Port), - TLSConfig: tlsConfig, + TLSConfig: app.tlsConfig, } - errors <- server.ListenAndServeTLS(certFile, keyFile) + errors <- server.ListenAndServeTLS(app.certFile, app.keyFile) }() // wait for server to exit diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-api/filesystem.go b/vendor/kubevirt.io/kubevirt/pkg/virt-api/filesystem.go new file mode 100644 index 000000000..6b51affa0 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-api/filesystem.go @@ -0,0 +1,34 @@ +package virt_api + +//go:generate mockgen -source $GOFILE -package=$GOPACKAGE -destination=generated_mock_$GOFILE -imports =os + +import ( + "io" + "io/ioutil" + "os" +) + +type File interface { + io.Closer + io.Writer +} + +type Filesystem interface { + WriteFile(filename string, data []byte, perm os.FileMode) error + TempDir(dir, prefix string) (name string, err error) + OpenFile(name string, flag int, perm os.FileMode) (File, error) +} + +type IOUtil struct{} + +func (IOUtil) WriteFile(filename string, data []byte, perm os.FileMode) error { + return ioutil.WriteFile(filename, data, perm) +} + +func (IOUtil) TempDir(dir, prefix string) (name string, err error) { + return ioutil.TempDir(dir, prefix) +} + +func (IOUtil) OpenFile(name string, flag int, perm os.FileMode) (File, error) { + return os.OpenFile(name, flag, perm) +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-api/generated_mock_filesystem.go b/vendor/kubevirt.io/kubevirt/pkg/virt-api/generated_mock_filesystem.go new file mode 100644 index 000000000..5f9cdb09b --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-api/generated_mock_filesystem.go @@ -0,0 +1,105 @@ +// Automatically generated by MockGen. DO NOT EDIT! +// Source: filesystem.go + +package virt_api + +import ( + os "os" + + gomock "github.com/golang/mock/gomock" +) + +// Mock of File interface +type MockFile struct { + ctrl *gomock.Controller + recorder *_MockFileRecorder +} + +// Recorder for MockFile (not exported) +type _MockFileRecorder struct { + mock *MockFile +} + +func NewMockFile(ctrl *gomock.Controller) *MockFile { + mock := &MockFile{ctrl: ctrl} + mock.recorder = &_MockFileRecorder{mock} + return mock +} + +func (_m *MockFile) EXPECT() *_MockFileRecorder { + return _m.recorder +} + +func (_m *MockFile) Close() error { + ret := _m.ctrl.Call(_m, "Close") + ret0, _ := ret[0].(error) + return ret0 +} + +func (_mr *_MockFileRecorder) Close() *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Close") +} + +func (_m *MockFile) Write(p []byte) (int, error) { + ret := _m.ctrl.Call(_m, "Write", p) + ret0, _ := ret[0].(int) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockFileRecorder) Write(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Write", arg0) +} + +// Mock of Filesystem interface +type MockFilesystem struct { + ctrl *gomock.Controller + recorder *_MockFilesystemRecorder +} + +// Recorder for MockFilesystem (not exported) +type _MockFilesystemRecorder struct { + mock *MockFilesystem +} + +func NewMockFilesystem(ctrl *gomock.Controller) *MockFilesystem { + mock := &MockFilesystem{ctrl: ctrl} + mock.recorder = &_MockFilesystemRecorder{mock} + return mock +} + +func (_m *MockFilesystem) EXPECT() *_MockFilesystemRecorder { + return _m.recorder +} + +func (_m *MockFilesystem) WriteFile(filename string, data []byte, perm os.FileMode) error { + ret := _m.ctrl.Call(_m, "WriteFile", filename, data, perm) + ret0, _ := ret[0].(error) + return ret0 +} + +func (_mr *_MockFilesystemRecorder) WriteFile(arg0, arg1, arg2 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "WriteFile", arg0, arg1, arg2) +} + +func (_m *MockFilesystem) TempDir(dir string, prefix string) (string, error) { + ret := _m.ctrl.Call(_m, "TempDir", dir, prefix) + ret0, _ := ret[0].(string) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockFilesystemRecorder) TempDir(arg0, arg1 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "TempDir", arg0, arg1) +} + +func (_m *MockFilesystem) OpenFile(name string, flag int, perm os.FileMode) (File, error) { + ret := _m.ctrl.Call(_m, "OpenFile", name, flag, perm) + ret0, _ := ret[0].(File) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockFilesystemRecorder) OpenFile(arg0, arg1, arg2 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "OpenFile", arg0, arg1, arg2) +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/authorizer.go b/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/authorizer.go index f8dcc1ef4..e1eabd785 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/authorizer.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/authorizer.go @@ -19,6 +19,8 @@ package rest +//go:generate mockgen -source $GOFILE -package=$GOPACKAGE -destination=generated_mock_$GOFILE -imports restful=github.com/emicklei/go-restful + import ( "fmt" "net/http" @@ -136,7 +138,7 @@ func (a *authorizor) generateAccessReview(req *restful.Request) (*authorization. } // URL example - // /apis/subresources.kubevirt.io/v1alpha2/namespaces/default/virtualmachineinstances/testvmi/console + // /apis/subresources.kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/testvmi/console pathSplit := strings.Split(url.Path, "/") if len(pathSplit) != 9 { return nil, fmt.Errorf("unknown api endpoint %s", url.Path) @@ -192,7 +194,7 @@ func isInfoOrHealthEndpoint(req *restful.Request) bool { return false } // URL example - // /apis/subresources.kubevirt.io/v1alpha2/namespaces/default/virtualmachineinstances/testvmi/console + // /apis/subresources.kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/testvmi/console // The /apis// part of the urls should be accessible without needing authorization pathSplit := strings.Split(httpRequest.URL.Path, "/") if len(pathSplit) <= 4 || (len(pathSplit) > 4 && (pathSplit[4] == "version" || pathSplit[4] == "healthz")) { diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/generated_mock_authorizer.go b/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/generated_mock_authorizer.go new file mode 100644 index 000000000..c75b085bf --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/generated_mock_authorizer.go @@ -0,0 +1,96 @@ +// Automatically generated by MockGen. DO NOT EDIT! +// Source: authorizer.go + +package rest + +import ( + go_restful "github.com/emicklei/go-restful" + gomock "github.com/golang/mock/gomock" +) + +// Mock of VirtApiAuthorizor interface +type MockVirtApiAuthorizor struct { + ctrl *gomock.Controller + recorder *_MockVirtApiAuthorizorRecorder +} + +// Recorder for MockVirtApiAuthorizor (not exported) +type _MockVirtApiAuthorizorRecorder struct { + mock *MockVirtApiAuthorizor +} + +func NewMockVirtApiAuthorizor(ctrl *gomock.Controller) *MockVirtApiAuthorizor { + mock := &MockVirtApiAuthorizor{ctrl: ctrl} + mock.recorder = &_MockVirtApiAuthorizorRecorder{mock} + return mock +} + +func (_m *MockVirtApiAuthorizor) EXPECT() *_MockVirtApiAuthorizorRecorder { + return _m.recorder +} + +func (_m *MockVirtApiAuthorizor) Authorize(req *go_restful.Request) (bool, string, error) { + ret := _m.ctrl.Call(_m, "Authorize", req) + ret0, _ := ret[0].(bool) + ret1, _ := ret[1].(string) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +func (_mr *_MockVirtApiAuthorizorRecorder) Authorize(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "Authorize", arg0) +} + +func (_m *MockVirtApiAuthorizor) AddUserHeaders(header []string) { + _m.ctrl.Call(_m, "AddUserHeaders", header) +} + +func (_mr *_MockVirtApiAuthorizorRecorder) AddUserHeaders(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "AddUserHeaders", arg0) +} + +func (_m *MockVirtApiAuthorizor) GetUserHeaders() []string { + ret := _m.ctrl.Call(_m, "GetUserHeaders") + ret0, _ := ret[0].([]string) + return ret0 +} + +func (_mr *_MockVirtApiAuthorizorRecorder) GetUserHeaders() *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "GetUserHeaders") +} + +func (_m *MockVirtApiAuthorizor) AddGroupHeaders(header []string) { + _m.ctrl.Call(_m, "AddGroupHeaders", header) +} + +func (_mr *_MockVirtApiAuthorizorRecorder) AddGroupHeaders(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "AddGroupHeaders", arg0) +} + +func (_m *MockVirtApiAuthorizor) GetGroupHeaders() []string { + ret := _m.ctrl.Call(_m, "GetGroupHeaders") + ret0, _ := ret[0].([]string) + return ret0 +} + +func (_mr *_MockVirtApiAuthorizorRecorder) GetGroupHeaders() *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "GetGroupHeaders") +} + +func (_m *MockVirtApiAuthorizor) AddExtraPrefixHeaders(header []string) { + _m.ctrl.Call(_m, "AddExtraPrefixHeaders", header) +} + +func (_mr *_MockVirtApiAuthorizorRecorder) AddExtraPrefixHeaders(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "AddExtraPrefixHeaders", arg0) +} + +func (_m *MockVirtApiAuthorizor) GetExtraPrefixHeaders() []string { + ret := _m.ctrl.Call(_m, "GetExtraPrefixHeaders") + ret0, _ := ret[0].([]string) + return ret0 +} + +func (_mr *_MockVirtApiAuthorizorRecorder) GetExtraPrefixHeaders() *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "GetExtraPrefixHeaders") +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/subresource.go b/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/subresource.go index 3680b02bb..c98773c1b 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/subresource.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-api/rest/subresource.go @@ -61,7 +61,7 @@ func (app *SubresourceAPIApp) streamRequestHandler(request *restful.Request, res vmi, code, err := app.fetchVirtualMachineInstance(vmiName, namespace) if err != nil { - log.Log.Reason(err).Error("Failed to gather remote exec info for subresource request.") + log.Log.Reason(err).Errorf("Failed to gather remote exec info for subresource request.") response.WriteError(code, err) return } @@ -80,7 +80,7 @@ func (app *SubresourceAPIApp) streamRequestHandler(request *restful.Request, res podName, httpStatusCode, err := app.remoteExecInfo(vmi) if err != nil { - log.Log.Reason(err).Error("Failed to gather remote exec info for subresource request.") + log.Log.Object(vmi).Reason(err).Error("Failed to gather remote exec info for subresource request.") response.WriteError(httpStatusCode, err) return } @@ -96,13 +96,13 @@ func (app *SubresourceAPIApp) streamRequestHandler(request *restful.Request, res clientSocket, err := upgrader.Upgrade(response.ResponseWriter, request.Request, nil) if err != nil { - log.Log.Reason(err).Error("Failed to upgrade client websocket connection") + log.Log.Object(vmi).Reason(err).Error("Failed to upgrade client websocket connection") response.WriteError(http.StatusBadRequest, err) return } defer clientSocket.Close() - log.Log.Infof("Websocket connection upgraded") + log.Log.Object(vmi).Infof("Websocket connection upgraded") wsReadWriter := &kubecli.BinaryReadWriter{Conn: clientSocket} inReader, inWriter := io.Pipe() @@ -112,19 +112,19 @@ func (app *SubresourceAPIApp) streamRequestHandler(request *restful.Request, res copyErr := make(chan error) go func() { httpCode, err := remoteExecHelper(podName, vmi.Namespace, cmd, inReader, outWriter, requestType) - log.Log.Errorf("%v", err) + log.Log.Object(vmi).Errorf("failed to exectue command %v on the pod %v", cmd, err) httpResponseChan <- httpCode }() go func() { _, err := io.Copy(wsReadWriter, outReader) - log.Log.Reason(err).Error("error ecountered reading from remote podExec stream") + log.Log.Object(vmi).Reason(err).Error("error ecountered reading from remote podExec stream") copyErr <- err }() go func() { _, err := io.Copy(inWriter, wsReadWriter) - log.Log.Reason(err).Error("error ecountered reading from websocket stream") + log.Log.Object(vmi).Reason(err).Error("error ecountered reading from websocket stream") copyErr <- err }() @@ -133,7 +133,7 @@ func (app *SubresourceAPIApp) streamRequestHandler(request *restful.Request, res case httpResponseCode = <-httpResponseChan: case err := <-copyErr: if err != nil { - log.Log.Reason(err).Error("Error in websocket proxy") + log.Log.Object(vmi).Reason(err).Error("Error in websocket proxy") httpResponseCode = http.StatusInternalServerError } } diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-api/webhooks/validating-webhook/validating-webhook.go b/vendor/kubevirt.io/kubevirt/pkg/virt-api/webhooks/validating-webhook/validating-webhook.go index 9f74e0440..60992d97e 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-api/webhooks/validating-webhook/validating-webhook.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-api/webhooks/validating-webhook/validating-webhook.go @@ -41,6 +41,7 @@ import ( v1 "kubevirt.io/kubevirt/pkg/api/v1" "kubevirt.io/kubevirt/pkg/log" "kubevirt.io/kubevirt/pkg/util" + "kubevirt.io/kubevirt/pkg/util/hardware" "kubevirt.io/kubevirt/pkg/virt-api/webhooks" virtconfig "kubevirt.io/kubevirt/pkg/virt-config" ) @@ -489,7 +490,6 @@ func ValidateVirtualMachineInstanceMandatoryFields(field *k8sfield.Path, spec *v func ValidateVirtualMachineInstanceSpec(field *k8sfield.Path, spec *v1.VirtualMachineInstanceSpec) []metav1.StatusCause { var causes []metav1.StatusCause - volumeToDiskIndexMap := make(map[string]int) volumeNameMap := make(map[string]*v1.Volume) networkNameMap := make(map[string]*v1.Network) @@ -677,7 +677,8 @@ func ValidateVirtualMachineInstanceSpec(field *k8sfield.Path, spec *v1.VirtualMa limitsMem := spec.Domain.Resources.Limits.Memory().Value() requestsCPU := spec.Domain.Resources.Requests.Cpu().Value() limitsCPU := spec.Domain.Resources.Limits.Cpu().Value() - vmCores := int64(spec.Domain.CPU.Cores) + vCPUs := hardware.GetNumberOfVCPUs(spec.Domain.CPU) + // memory should be provided if limitsMem == 0 && requestsMem == 0 { causes = append(causes, metav1.StatusCause{ @@ -721,7 +722,7 @@ func ValidateVirtualMachineInstanceSpec(field *k8sfield.Path, spec *v1.VirtualMa } // cpu amount should be provided - if requestsCPU == 0 && limitsCPU == 0 && vmCores == 0 { + if requestsCPU == 0 && limitsCPU == 0 && vCPUs == 0 { causes = append(causes, metav1.StatusCause{ Type: metav1.CauseTypeFieldValueInvalid, Message: fmt.Sprintf("either %s or %s or %s must be provided when DedicatedCPUPlacement is true ", @@ -746,8 +747,8 @@ func ValidateVirtualMachineInstanceSpec(field *k8sfield.Path, spec *v1.VirtualMa } // cpu resource and cpu cores should not be provided together - unless both are equal - if (requestsCPU > 0 || limitsCPU > 0) && vmCores > 0 && - requestsCPU != vmCores && limitsCPU != vmCores { + if (requestsCPU > 0 || limitsCPU > 0) && vCPUs > 0 && + requestsCPU != vCPUs && limitsCPU != vCPUs { causes = append(causes, metav1.StatusCause{ Type: metav1.CauseTypeFieldValueInvalid, Message: fmt.Sprintf("%s or %s must not be provided at the same time with %s when DedicatedCPUPlacement is true ", @@ -795,29 +796,17 @@ func ValidateVirtualMachineInstanceSpec(field *k8sfield.Path, spec *v1.VirtualMa // used to validate uniqueness of boot orders among disks and interfaces bootOrderMap := make(map[uint]bool) - // Validate disks and VolumeNames match up correctly + // Validate disks and volumes match up correctly for idx, disk := range spec.Domain.Devices.Disks { var matchingVolume *v1.Volume - matchingVolume, volumeExists := volumeNameMap[disk.VolumeName] + matchingVolume, volumeExists := volumeNameMap[disk.Name] if !volumeExists { causes = append(causes, metav1.StatusCause{ Type: metav1.CauseTypeFieldValueInvalid, - Message: fmt.Sprintf("%s '%s' not found.", field.Child("domain", "devices", "disks").Index(idx).Child("volumeName").String(), disk.VolumeName), - Field: field.Child("domain", "devices", "disks").Index(idx).Child("volumeName").String(), - }) - } - - // verify no other disk maps to this volume - otherIdx, ok := volumeToDiskIndexMap[disk.VolumeName] - if !ok { - volumeToDiskIndexMap[disk.VolumeName] = idx - } else { - causes = append(causes, metav1.StatusCause{ - Type: metav1.CauseTypeFieldValueInvalid, - Message: fmt.Sprintf("%s and %s reference the same volumeName.", field.Child("domain", "devices", "disks").Index(idx).String(), field.Child("domain", "devices", "disks").Index(otherIdx).String()), - Field: field.Child("domain", "devices", "disks").Index(idx).Child("volumeName").String(), + Message: fmt.Sprintf("%s '%s' not found.", field.Child("domain", "devices", "disks").Index(idx).Child("Name").String(), disk.Name), + Field: field.Child("domain", "devices", "disks").Index(idx).Child("name").String(), }) } @@ -1076,6 +1065,17 @@ func ValidateVirtualMachineInstanceSpec(field *k8sfield.Path, spec *v1.VirtualMa isVirtioNicRequested = true } + if iface.DHCPOptions != nil { + for index, ip := range iface.DHCPOptions.NTPServers { + if net.ParseIP(ip).To4() == nil { + causes = append(causes, metav1.StatusCause{ + Type: metav1.CauseTypeFieldValueInvalid, + Message: fmt.Sprintf("NTP servers must be a valid IPv4 address."), + Field: field.Child("domain", "devices", "interfaces").Index(idx).Child("dhcpOptions", "ntpServers").Index(index).String(), + }) + } + } + } } // Network interface multiqueue can only be set for a virtio driver if vifMQ != nil && *vifMQ && !isVirtioNicRequested { diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go index 27885ce66..b9646fc4a 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/services/template.go @@ -40,6 +40,7 @@ import ( "kubevirt.io/kubevirt/pkg/log" "kubevirt.io/kubevirt/pkg/precond" "kubevirt.io/kubevirt/pkg/util" + "kubevirt.io/kubevirt/pkg/util/hardware" "kubevirt.io/kubevirt/pkg/util/net/dns" "kubevirt.io/kubevirt/pkg/util/types" "kubevirt.io/kubevirt/pkg/virt-config" @@ -530,12 +531,10 @@ func (t *templateService) RenderLaunchManifest(vmi *v1.VirtualMachineInstance) ( // schedule only on nodes with a running cpu manager nodeSelector[v1.CPUManager] = "true" - cores := uint32(0) - if vmi.Spec.Domain.CPU != nil { - cores = vmi.Spec.Domain.CPU.Cores - } - if cores != 0 { - resources.Limits[k8sv1.ResourceCPU] = *resource.NewQuantity(int64(cores), resource.BinarySI) + vcpus := hardware.GetNumberOfVCPUs(vmi.Spec.Domain.CPU) + + if vcpus != 0 { + resources.Limits[k8sv1.ResourceCPU] = *resource.NewQuantity(vcpus, resource.BinarySI) } else { if cpuLimit, ok := resources.Limits[k8sv1.ResourceCPU]; ok { resources.Requests[k8sv1.ResourceCPU] = cpuLimit diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/replicaset.go b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/replicaset.go index f381e8cbe..897bc3586 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/replicaset.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/replicaset.go @@ -26,7 +26,7 @@ import ( "time" k8score "k8s.io/api/core/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/tools/cache" @@ -159,7 +159,7 @@ func (c *VMIReplicaSet) execute(key string) error { return nil } - selector, err := v1.LabelSelectorAsSelector(rs.Spec.Selector) + selector, err := metav1.LabelSelectorAsSelector(rs.Spec.Selector) if err != nil { logger.Reason(err).Error("Invalid selector on replicaset, will not re-enqueue.") return nil @@ -182,8 +182,8 @@ func (c *VMIReplicaSet) execute(key string) error { // If any adoptions are attempted, we should first recheck for deletion with // an uncached quorum read sometime after listing VirtualMachines (see kubernetes/kubernetes#42639). - canAdoptFunc := controller.RecheckDeletionTimestamp(func() (v1.Object, error) { - fresh, err := c.clientset.ReplicaSet(rs.ObjectMeta.Namespace).Get(rs.ObjectMeta.Name, v1.GetOptions{}) + canAdoptFunc := controller.RecheckDeletionTimestamp(func() (metav1.Object, error) { + fresh, err := c.clientset.ReplicaSet(rs.ObjectMeta.Namespace).Get(rs.ObjectMeta.Name, metav1.GetOptions{}) if err != nil { return nil, err } @@ -212,7 +212,7 @@ func (c *VMIReplicaSet) execute(key string) error { } // If the controller is going to be deleted and the orphan finalizer is the next one, release the VMIs. Don't update the status // TODO: Workaround for https://github.com/kubernetes/kubernetes/issues/56348, remove it once it is fixed - if rs.ObjectMeta.DeletionTimestamp != nil && controller.HasFinalizer(rs, v1.FinalizerOrphanDependents) { + if rs.ObjectMeta.DeletionTimestamp != nil && controller.HasFinalizer(rs, metav1.FinalizerOrphanDependents) { return c.orphan(cm, rs, activeVmis) } @@ -288,7 +288,7 @@ func (c *VMIReplicaSet) scale(rs *virtv1.VirtualMachineInstanceReplicaSet, vmis go func(idx int) { defer wg.Done() deleteCandidate := vmis[idx] - err := c.clientset.VirtualMachineInstance(rs.ObjectMeta.Namespace).Delete(deleteCandidate.ObjectMeta.Name, &v1.DeleteOptions{}) + err := c.clientset.VirtualMachineInstance(rs.ObjectMeta.Namespace).Delete(deleteCandidate.ObjectMeta.Name, &metav1.DeleteOptions{}) // Don't log an error if it is already deleted if err != nil { // We can't observe a delete if it was not accepted by the server @@ -316,7 +316,7 @@ func (c *VMIReplicaSet) scale(rs *virtv1.VirtualMachineInstanceReplicaSet, vmis vmi.Spec = rs.Spec.Template.Spec // TODO check if vmi labels exist, and when make sure that they match. For now just override them vmi.ObjectMeta.Labels = rs.Spec.Template.ObjectMeta.Labels - vmi.ObjectMeta.OwnerReferences = []v1.OwnerReference{OwnerRef(rs)} + vmi.ObjectMeta.OwnerReferences = []metav1.OwnerReference{OwnerRef(rs)} vmi, err := c.clientset.VirtualMachineInstance(rs.ObjectMeta.Namespace).Create(vmi) if err != nil { c.expectations.CreationObserved(rsKey) @@ -349,7 +349,7 @@ func (c *VMIReplicaSet) filterActiveVMIs(vmis []*virtv1.VirtualMachineInstance) // filterReadyVMIs takes a list of VMIs and returns all VMIs which are in ready state. func (c *VMIReplicaSet) filterReadyVMIs(vmis []*virtv1.VirtualMachineInstance) []*virtv1.VirtualMachineInstance { return filter(vmis, func(vmi *virtv1.VirtualMachineInstance) bool { - return vmi.IsReady() + return controller.NewVirtualMachineInstanceConditionManager().HasConditionWithStatus(vmi, virtv1.VirtualMachineInstanceConditionType(k8score.PodReady), k8score.ConditionTrue) }) } @@ -409,7 +409,7 @@ func (c *VMIReplicaSet) getMatchingControllers(vmi *virtv1.VirtualMachineInstanc // TODO check owner reference, if we have an existing controller which owns this one for _, rs := range controllers { - selector, err := v1.LabelSelectorAsSelector(rs.Spec.Selector) + selector, err := metav1.LabelSelectorAsSelector(rs.Spec.Selector) if err != nil { logger.Object(rs).Reason(err).Error("Failed to parse label selector from replicaset.") continue @@ -435,7 +435,7 @@ func (c *VMIReplicaSet) addVirtualMachine(obj interface{}) { } // If it has a ControllerRef, that's all that matters. - if controllerRef := v1.GetControllerOf(vmi); controllerRef != nil { + if controllerRef := metav1.GetControllerOf(vmi); controllerRef != nil { rs := c.resolveControllerRef(vmi.Namespace, controllerRef) if rs == nil { return @@ -466,7 +466,7 @@ func (c *VMIReplicaSet) addVirtualMachine(obj interface{}) { // When a vmi is updated, figure out what replica set/s manage it and wake them // up. If the labels of the vmi have changed we need to awaken both the old -// and new replica set. old and cur must be *v1.VirtualMachineInstance types. +// and new replica set. old and cur must be *metav1.VirtualMachineInstance types. func (c *VMIReplicaSet) updateVirtualMachine(old, cur interface{}) { curVMI := cur.(*virtv1.VirtualMachineInstance) oldVMI := old.(*virtv1.VirtualMachineInstance) @@ -491,8 +491,8 @@ func (c *VMIReplicaSet) updateVirtualMachine(old, cur interface{}) { return } - curControllerRef := v1.GetControllerOf(curVMI) - oldControllerRef := v1.GetControllerOf(oldVMI) + curControllerRef := metav1.GetControllerOf(curVMI) + oldControllerRef := metav1.GetControllerOf(oldVMI) controllerRefChanged := !reflect.DeepEqual(curControllerRef, oldControllerRef) if controllerRefChanged && oldControllerRef != nil { // The ControllerRef was changed. Sync the old controller, if any. @@ -529,7 +529,7 @@ func (c *VMIReplicaSet) updateVirtualMachine(old, cur interface{}) { } // When a vmi is deleted, enqueue the replica set that manages the vmi and update its expectations. -// obj could be an *v1.VirtualMachineInstance, or a DeletionFinalStateUnknown marker item. +// obj could be an *metav1.VirtualMachineInstance, or a DeletionFinalStateUnknown marker item. func (c *VMIReplicaSet) deleteVirtualMachine(obj interface{}) { vmi, ok := obj.(*virtv1.VirtualMachineInstance) @@ -550,7 +550,7 @@ func (c *VMIReplicaSet) deleteVirtualMachine(obj interface{}) { } } - controllerRef := v1.GetControllerOf(vmi) + controllerRef := metav1.GetControllerOf(vmi) if controllerRef == nil { // No controller should care about orphans being deleted. return @@ -642,6 +642,10 @@ func (c *VMIReplicaSet) removeCondition(rs *virtv1.VirtualMachineInstanceReplica func (c *VMIReplicaSet) updateStatus(rs *virtv1.VirtualMachineInstanceReplicaSet, vmis []*virtv1.VirtualMachineInstance, scaleErr error) error { diff := c.calcDiff(rs, vmis) readyReplicas := int32(len(c.filterReadyVMIs(vmis))) + labelSelector, err := metav1.LabelSelectorAsSelector(rs.Spec.Selector) + if err != nil { + return err + } // check if we have reached the equilibrium statesMatch := int32(len(vmis)) == rs.Status.Replicas && readyReplicas == rs.Status.ReadyReplicas @@ -652,11 +656,15 @@ func (c *VMIReplicaSet) updateStatus(rs *virtv1.VirtualMachineInstanceReplicaSet // check if we need to update because pause was modified pausedMatch := rs.Spec.Paused == c.hasCondition(rs, virtv1.VirtualMachineInstanceReplicaSetReplicaPaused) + // check if the label selector changed + labelSelectorMatch := labelSelector.String() == rs.Status.LabelSelector + // in case the replica count matches and the scaleErr and the error condition equal, don't update - if statesMatch && errorsMatch && pausedMatch { + if statesMatch && errorsMatch && pausedMatch && labelSelectorMatch { return nil } + rs.Status.LabelSelector = labelSelector.String() rs.Status.Replicas = int32(len(vmis)) rs.Status.ReadyReplicas = readyReplicas @@ -666,7 +674,7 @@ func (c *VMIReplicaSet) updateStatus(rs *virtv1.VirtualMachineInstanceReplicaSet // Add/Remove Failure condition if necessary c.checkFailure(rs, diff, scaleErr) - _, err := c.clientset.ReplicaSet(rs.ObjectMeta.Namespace).Update(rs) + _, err = c.clientset.ReplicaSet(rs.ObjectMeta.Namespace).Update(rs) if err != nil { return err @@ -713,7 +721,7 @@ func (c *VMIReplicaSet) checkPaused(rs *virtv1.VirtualMachineInstanceReplicaSet) Type: virtv1.VirtualMachineInstanceReplicaSetReplicaPaused, Reason: "Paused", Message: "Controller got paused", - LastTransitionTime: v1.Now(), + LastTransitionTime: metav1.Now(), Status: k8score.ConditionTrue, }) } else if rs.Spec.Paused == false && c.hasCondition(rs, virtv1.VirtualMachineInstanceReplicaSetReplicaPaused) { @@ -734,7 +742,7 @@ func (c *VMIReplicaSet) checkFailure(rs *virtv1.VirtualMachineInstanceReplicaSet Type: virtv1.VirtualMachineInstanceReplicaSetReplicaFailure, Reason: reason, Message: scaleErr.Error(), - LastTransitionTime: v1.Now(), + LastTransitionTime: metav1.Now(), Status: k8score.ConditionTrue, }) @@ -743,10 +751,10 @@ func (c *VMIReplicaSet) checkFailure(rs *virtv1.VirtualMachineInstanceReplicaSet } } -func OwnerRef(rs *virtv1.VirtualMachineInstanceReplicaSet) v1.OwnerReference { +func OwnerRef(rs *virtv1.VirtualMachineInstanceReplicaSet) metav1.OwnerReference { t := true gvk := virtv1.VirtualMachineInstanceReplicaSetGroupVersionKind - return v1.OwnerReference{ + return metav1.OwnerReference{ APIVersion: gvk.GroupVersion().String(), Kind: gvk.Kind, Name: rs.ObjectMeta.Name, @@ -759,7 +767,7 @@ func OwnerRef(rs *virtv1.VirtualMachineInstanceReplicaSet) v1.OwnerReference { // resolveControllerRef returns the controller referenced by a ControllerRef, // or nil if the ControllerRef could not be resolved to a matching controller // of the correct Kind. -func (c *VMIReplicaSet) resolveControllerRef(namespace string, controllerRef *v1.OwnerReference) *virtv1.VirtualMachineInstanceReplicaSet { +func (c *VMIReplicaSet) resolveControllerRef(namespace string, controllerRef *metav1.OwnerReference) *virtv1.VirtualMachineInstanceReplicaSet { // We can't look up by UID, so look up by Name and then verify UID. // Don't even try to look up by Name if it's the wrong Kind. if controllerRef.Kind != virtv1.VirtualMachineInstanceReplicaSetGroupVersionKind.Kind { @@ -803,7 +811,7 @@ func (c *VMIReplicaSet) cleanFinishedVmis(rs *virtv1.VirtualMachineInstanceRepli go func(idx int) { defer wg.Done() deleteCandidate := vmis[idx] - err := c.clientset.VirtualMachineInstance(rs.ObjectMeta.Namespace).Delete(deleteCandidate.ObjectMeta.Name, &v1.DeleteOptions{}) + err := c.clientset.VirtualMachineInstance(rs.ObjectMeta.Namespace).Delete(deleteCandidate.ObjectMeta.Name, &metav1.DeleteOptions{}) // Don't log an error if it is already deleted if err != nil { // We can't observe a delete if it was not accepted by the server diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vm.go b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vm.go index 388652cb7..6687f9a9b 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vm.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vm.go @@ -574,7 +574,7 @@ func (c *VMController) filterActiveVMIs(vmis []*virtv1.VirtualMachineInstance) [ // TODO +pkotas unify with replicaset this code is the same func (c *VMController) filterReadyVMIs(vmis []*virtv1.VirtualMachineInstance) []*virtv1.VirtualMachineInstance { return filter(vmis, func(vmi *virtv1.VirtualMachineInstance) bool { - return vmi.IsReady() + return controller.NewVirtualMachineInstanceConditionManager().HasConditionWithStatus(vmi, virtv1.VirtualMachineInstanceConditionType(k8score.PodReady), k8score.ConditionTrue) }) } @@ -927,7 +927,7 @@ func (c *VMController) updateStatus(vm *virtv1.VirtualMachine, vmi *virtv1.Virtu ready := false if created { - ready = vmi.IsReady() + ready = controller.NewVirtualMachineInstanceConditionManager().HasConditionWithStatus(vmi, virtv1.VirtualMachineInstanceConditionType(k8score.PodReady), k8score.ConditionTrue) } readyMatch := ready == vm.Status.Ready diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vmi.go b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vmi.go index ab8a70ed9..d40f8cf91 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vmi.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-controller/watch/vmi.go @@ -20,12 +20,14 @@ package watch import ( + "encoding/json" "fmt" "reflect" "time" k8sv1 "k8s.io/api/core/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" @@ -292,7 +294,7 @@ func (c *VMIController) updateStatus(vmi *virtv1.VirtualMachineInstance, pod *k8 switch { case podExists: // Add PodScheduled False condition to the VM - if cond := conditionManager.GetPodCondition(pod, k8sv1.PodScheduled, k8sv1.ConditionFalse); cond != nil { + if cond := conditionManager.GetPodConditionWithStatus(pod, k8sv1.PodScheduled, k8sv1.ConditionFalse); cond != nil { conditionManager.AddPodCondition(vmiCopy, cond) } else if conditionManager.HasCondition(vmiCopy, virtv1.VirtualMachineInstanceConditionType(k8sv1.PodScheduled)) { // Remove PodScheduling condition from the VM @@ -341,9 +343,42 @@ func (c *VMIController) updateStatus(vmi *virtv1.VirtualMachineInstance, pod *k8 log.Log.V(3).Object(vmi).Infof("All pods have been deleted, removing finalizer") controller.RemoveFinalizer(vmiCopy, virtv1.VirtualMachineInstanceFinalizer) } - case vmi.IsRunning() || vmi.IsScheduled(): - // Don't process states where the vmi is clearly owned by virt-handler + case vmi.IsRunning(): + // Keep PodReady condition in sync with the VMI + if !podExists { + // Remove PodScheduling condition from the VM + conditionManager.RemoveCondition(vmiCopy, virtv1.VirtualMachineInstanceConditionType(k8sv1.PodReady)) + } else if cond := conditionManager.GetPodCondition(pod, k8sv1.PodReady); cond != nil { + conditionManager.RemoveCondition(vmiCopy, virtv1.VirtualMachineInstanceConditionType(k8sv1.PodReady)) + conditionManager.AddPodCondition(vmiCopy, cond) + } else if conditionManager.HasCondition(vmiCopy, virtv1.VirtualMachineInstanceConditionType(k8sv1.PodReady)) { + // Remove PodScheduling condition from the VM + conditionManager.RemoveCondition(vmiCopy, virtv1.VirtualMachineInstanceConditionType(k8sv1.PodReady)) + } + + // We don't own the object anymore, so patch instead of update + if !reflect.DeepEqual(vmiCopy.Status.Conditions, vmi.Status.Conditions) { + newConditions, err := json.Marshal(vmiCopy.Status.Conditions) + if err != nil { + return err + } + oldConditions, err := json.Marshal(vmi.Status.Conditions) + if err != nil { + return err + } + test := fmt.Sprintf(`{ "op": "test", "path": "/status/conditions", "value": %s }`, string(oldConditions)) + patch := fmt.Sprintf(`{ "op": "replace", "path": "/status/conditions", "value": %s }`, string(newConditions)) + log.Log.V(3).Object(vmi).Infof("Patching VMI conditions") + _, err = c.clientset.VirtualMachineInstance(vmi.Namespace).Patch(vmi.Name, types.JSONPatchType, []byte(fmt.Sprintf("[ %s, %s ]", test, patch))) + // We could not retry if the "test" fails but we have no sane way to detect that right now: https://github.com/kubernetes/kubernetes/issues/68202 for details + // So just retry like with any other errors + if err != nil { + return fmt.Errorf("patching vmi conditions failed: %v", err) + } + } return nil + case vmi.IsScheduled(): + // Don't process states where the vmi is clearly owned by virt-handler default: return fmt.Errorf("unknown vmi phase %v", vmi.Status.Phase) } diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-handler/device-manager/deviceplugin/v1alpha/constants.go b/vendor/kubevirt.io/kubevirt/pkg/virt-handler/device-manager/deviceplugin/v1alpha/constants.go index 34e8847fa..588d51e05 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-handler/device-manager/deviceplugin/v1alpha/constants.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-handler/device-manager/deviceplugin/v1alpha/constants.go @@ -23,7 +23,7 @@ const ( Unhealthy = "Unhealthy" // Current version of the API supported by kubelet - Version = "v1alpha2" + Version = "v1alpha3" // DevicePluginPath is the folder the Device Plugin is expecting sockets to be on // Only privileged pods have access to this path // Note: Placeholder until we find a "standard path" diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-handler/vm.go b/vendor/kubevirt.io/kubevirt/pkg/virt-handler/vm.go index 99fc0f9f4..009de925d 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-handler/vm.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-handler/vm.go @@ -231,7 +231,6 @@ func domainMigrated(domain *api.Domain) bool { } func (d *VirtualMachineController) updateVMIStatus(vmi *v1.VirtualMachineInstance, domain *api.Domain, syncError error) (err error) { - condManager := controller.NewVirtualMachineInstanceConditionManager() // Don't update the VirtualMachineInstance if it is already in a final state @@ -242,10 +241,9 @@ func (d *VirtualMachineController) updateVMIStatus(vmi *v1.VirtualMachineInstanc oldStatus := vmi.DeepCopy().Status if domain != nil { - // This is needed to be backwards compatible with vmi's which have status interfaces // with the name not being set - if len(vmi.Status.Interfaces) == 1 && vmi.Status.Interfaces[0].Name == "" { + if len(domain.Spec.Devices.Interfaces) == 0 && len(vmi.Status.Interfaces) == 1 && vmi.Status.Interfaces[0].Name == "" { for _, network := range vmi.Spec.Networks { if network.NetworkSource.Pod != nil { vmi.Status.Interfaces[0].Name = network.Name @@ -253,17 +251,68 @@ func (d *VirtualMachineController) updateVMIStatus(vmi *v1.VirtualMachineInstanc } } - interfacesByName := make(map[string]int) - for i, existingInterface := range vmi.Status.Interfaces { - interfacesByName[existingInterface.Name] = i - } + if len(domain.Spec.Devices.Interfaces) > 0 || len(domain.Status.Interfaces) > 0 { + // This calculates the vmi.Status.Interfaces based on the following data sets: + // - vmi.Status.Interfaces - previously calculated interfaces, this can contains data + // set in the controller (pod IP) which can not be deleted, unless overridden by Qemu agent + // - domain.Spec - interfaces form the Spec + // - domain.Status.Interfaces - interfaces reported by guest agent (emtpy if Qemu agent not running) + newInterfaces := []v1.VirtualMachineInstanceNetworkInterface{} + + existingInterfaceStatusByName := map[string]v1.VirtualMachineInstanceNetworkInterface{} + for _, existingInterfaceStatus := range vmi.Status.Interfaces { + if existingInterfaceStatus.Name != "" { + existingInterfaceStatusByName[existingInterfaceStatus.Name] = existingInterfaceStatus + } + } - for _, domainInterface := range domain.Spec.Devices.Interfaces { - if i, exists := interfacesByName[domainInterface.Alias.Name]; exists { - vmi.Status.Interfaces[i].MAC = domainInterface.MAC.MAC - } else { - vmi.Status.Interfaces = append(vmi.Status.Interfaces, v1.VirtualMachineInstanceNetworkInterface{MAC: domainInterface.MAC.MAC, Name: domainInterface.Alias.Name}) + domainInterfaceStatusByMac := map[string]api.InterfaceStatus{} + for _, domainInterfaceStatus := range domain.Status.Interfaces { + domainInterfaceStatusByMac[domainInterfaceStatus.Mac] = domainInterfaceStatus + } + + // Iterate through all domain.Spec interfaces + for _, domainInterface := range domain.Spec.Devices.Interfaces { + interfaceMAC := domainInterface.MAC.MAC + var newInterface v1.VirtualMachineInstanceNetworkInterface + + if existingInterface, exists := existingInterfaceStatusByName[domainInterface.Alias.Name]; exists { + // Reuse previously calculated interface from vmi.Status.Interfaces, updating the MAC from domain.Spec + // Only interfaces defined in domain.Spec are handled here + newInterface = existingInterface + newInterface.MAC = interfaceMAC + } else { + // If not present in vmi.Status.Interfaces, create a new one based on domain.Spec + newInterface = v1.VirtualMachineInstanceNetworkInterface{ + MAC: interfaceMAC, + Name: domainInterface.Alias.Name, + } + } + + // Update IP info based on information from domain.Status.Interfaces (Qemu guest) + // Remove the interface from domainInterfaceStatusByMac to mark it as handled + if interfaceStatus, exists := domainInterfaceStatusByMac[interfaceMAC]; exists { + newInterface.IP = interfaceStatus.Ip + newInterface.IPs = interfaceStatus.IPs + newInterface.InterfaceName = interfaceStatus.InterfaceName + delete(domainInterfaceStatusByMac, interfaceMAC) + } + newInterfaces = append(newInterfaces, newInterface) } + + // If any of domain.Status.Interfaces were not handled above, it means that the vm contains additional + // interfaces not defined in domain.Spec (most likely added by user on VM). Add them to vmi.Status.Interfaces + for interfaceMAC, domainInterfaceStatus := range domainInterfaceStatusByMac { + newInterface := v1.VirtualMachineInstanceNetworkInterface{ + Name: domainInterfaceStatus.Name, + MAC: interfaceMAC, + IP: domainInterfaceStatus.Ip, + IPs: domainInterfaceStatus.IPs, + InterfaceName: domainInterfaceStatus.InterfaceName, + } + newInterfaces = append(newInterfaces, newInterface) + } + vmi.Status.Interfaces = newInterfaces } } @@ -850,7 +899,6 @@ func (d *VirtualMachineController) execute(key string) error { vmi.UID = types.UID(uid) } } - if vmiExists && domainExists && domain.Spec.Metadata.KubeVirt.UID != vmi.UID { oldVMI := v1.NewVMIReferenceFromNameWithNS(vmi.Namespace, vmi.Name) oldVMI.UID = domain.Spec.Metadata.KubeVirt.UID diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/notify-client/client.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/notify-client/client.go index 9f25da0b2..ee7cb5a7c 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/notify-client/client.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/notify-client/client.go @@ -5,6 +5,7 @@ import ( "fmt" "net/rpc" "path/filepath" + "time" "k8s.io/client-go/tools/reference" @@ -19,6 +20,7 @@ import ( "kubevirt.io/kubevirt/pkg/log" notifyserver "kubevirt.io/kubevirt/pkg/virt-handler/notify-server" + agentpoller "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent-poller" "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api" "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli" domainerrors "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/errors" @@ -30,8 +32,9 @@ type NotifyClient struct { } type libvirtEvent struct { - Domain string - Event *libvirt.DomainEventLifecycle + Domain string + Event *libvirt.DomainEventLifecycle + AgentEvent *libvirt.DomainEventAgentLifecycle } func NewNotifyClient(virtShareDir string) (*NotifyClient, error) { @@ -69,7 +72,6 @@ func (c *NotifyClient) SendDomainEvent(event watch.Event) error { StatusJSON: string(statusJSON), EventType: string(event.Type), } - reply := ¬ifyserver.Reply{} err = c.client.Call("Notify.DomainEvent", args, reply) @@ -87,8 +89,7 @@ func newWatchEventError(err error) watch.Event { return watch.Event{Type: watch.Error, Object: &metav1.Status{Status: metav1.StatusFailure, Message: err.Error()}} } -func libvirtEventCallback(c cli.Connection, domain *api.Domain, libvirtEvent libvirtEvent, client *NotifyClient, events chan watch.Event) { - +func eventCallback(c cli.Connection, domain *api.Domain, libvirtEvent libvirtEvent, client *NotifyClient, events chan watch.Event, interfaceStatus *[]api.InterfaceStatus) { d, err := c.LookupDomainByName(util.DomainFromNamespaceName(domain.ObjectMeta.Namespace, domain.ObjectMeta.Name)) if err != nil { if !domainerrors.IsNotFound(err) { @@ -150,24 +151,47 @@ func libvirtEventCallback(c cli.Connection, domain *api.Domain, libvirtEvent lib events <- event } } + if interfaceStatus != nil { + domain.Status.Interfaces = *interfaceStatus + event := watch.Event{Type: watch.Modified, Object: domain} + client.SendDomainEvent(event) + events <- event + } client.SendDomainEvent(watch.Event{Type: watch.Modified, Object: domain}) } } -func (c *NotifyClient) StartDomainNotifier(domainConn cli.Connection, deleteNotificationSent chan watch.Event, vmiUID types.UID) error { - +func (c *NotifyClient) StartDomainNotifier(domainConn cli.Connection, deleteNotificationSent chan watch.Event, vmiUID types.UID, qemuAgentPollerInterval *time.Duration) error { eventChan := make(chan libvirtEvent, 10) + agentUpdateChan := make(chan agentpoller.AgentUpdateEvent, 10) + reconnectChan := make(chan bool, 10) domainConn.SetReconnectChan(reconnectChan) + agentPoller := agentpoller.CreatePoller(domainConn, vmiUID, agentUpdateChan, qemuAgentPollerInterval) + // Run the event process logic in a separate go-routine to not block libvirt go func() { + var interfaceStatuses *[]api.InterfaceStatus for { select { case event := <-eventChan: - libvirtEventCallback(domainConn, util.NewDomainFromName(event.Domain, vmiUID), event, c, deleteNotificationSent) + domain := util.NewDomainFromName(event.Domain, vmiUID) + eventCallback(domainConn, domain, event, c, deleteNotificationSent, interfaceStatuses) + agentPoller.UpdateDomain(domain) + if event.AgentEvent != nil { + if event.AgentEvent.State == libvirt.CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_CONNECTED { + agentPoller.Start() + } else if event.AgentEvent.State == libvirt.CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_DISCONNECTED { + agentPoller.Stop() + } + } log.Log.Info("processed event") + case agentUpdate := <-agentUpdateChan: + interfaceStatuses = agentUpdate.InterfaceStatuses + domainName := agentUpdate.DomainName + eventCallback(domainConn, util.NewDomainFromName(domainName, vmiUID), libvirtEvent{}, c, deleteNotificationSent, interfaceStatuses) case <-reconnectChan: c.SendDomainEvent(newWatchEventError(fmt.Errorf("Libvirt reconnect"))) return @@ -200,7 +224,7 @@ func (c *NotifyClient) StartDomainNotifier(domainConn cli.Connection, deleteNoti log.Log.Reason(err).Info("Could not determine name of libvirt domain in event callback.") } select { - case eventChan <- libvirtEvent{Domain: name}: + case eventChan <- libvirtEvent{AgentEvent: event, Domain: name}: default: log.Log.Infof("Libvirt event channel is full, dropping event.") } diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent-poller/agent_poller.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent-poller/agent_poller.go new file mode 100644 index 000000000..25dc78715 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/agent-poller/agent_poller.go @@ -0,0 +1,231 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ +package agentpoller + +import ( + "encoding/json" + "fmt" + "reflect" + "time" + + "k8s.io/apimachinery/pkg/types" + + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api" + "kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli" +) + +type AgentUpdateEvent struct { + InterfaceStatuses *[]api.InterfaceStatus + DomainName string +} + +type AgentPoller struct { + Connection cli.Connection + VmiUID types.UID + domainData *DomainData + agentDone chan struct{} + domainUpdate chan *api.Domain + pollTime time.Duration + agentUpdateChan chan AgentUpdateEvent +} + +type DomainData struct { + name string + aliasByMac map[string]string + interfaces []api.InterfaceStatus +} + +// Result for json unmarshalling +type Result struct { + Interfaces []Interface `json:"return"` +} + +// Interface for json unmarshalling +type Interface struct { + MAC string `json:"hardware-address"` + IPs []IP `json:"ip-addresses"` + Name string `json:"name"` +} + +// IP for json unmarshalling +type IP struct { + IP string `json:"ip-address"` + Type string `json:"ip-address-type"` + Prefix int `json:"prefix"` +} + +func CreatePoller(connecton cli.Connection, vmiUID types.UID, agentUpdateChan chan AgentUpdateEvent, qemuAgentPollerInterval *time.Duration) *AgentPoller { + p := &AgentPoller{ + Connection: connecton, + VmiUID: vmiUID, + pollTime: *qemuAgentPollerInterval, + agentUpdateChan: agentUpdateChan, + domainUpdate: make(chan *api.Domain, 10), + } + return p +} + +func (p *AgentPoller) Start() { + if p.agentDone != nil { + return + } + p.agentDone = make(chan struct{}) + go func() { + for { + log.Log.Info("Qemu agent poller started") + select { + case <-p.agentDone: + log.Log.Info("Qemu agent poller stopped") + return // stop polling + case domain := <-p.domainUpdate: + p.domainData = p.createDomainData(domain) + case <-time.After(time.Duration(p.pollTime) * time.Second): + cmdResult, err := p.pollQemuAgent(p.domainData.name) + if err != nil { + log.Log.Reason(err).Error("Qemu agent poller error") + continue + } + interfaceStatuses := p.GetInterfaceStatuses(cmdResult) + if !reflect.DeepEqual(p.domainData.interfaces, interfaceStatuses) { + p.domainData.interfaces = interfaceStatuses + + agentUpdateEvent := AgentUpdateEvent{ + InterfaceStatuses: &interfaceStatuses, + DomainName: p.domainData.name, + } + p.agentUpdateChan <- agentUpdateEvent + } + } + } + }() +} + +func (p *AgentPoller) Stop() { + if p.agentDone != nil { + close(p.agentDone) + p.agentDone = nil + } +} + +func (p *AgentPoller) GetInterfaceStatuses(cmdResult string) []api.InterfaceStatus { + parsedResult := parseAgentReplyToJson(cmdResult) + interfaceStatuses := calculateInterfaceStatusesFromAgentJson(parsedResult) + return p.mergeAgentStatusesWithDomainData(interfaceStatuses) +} + +func (p *AgentPoller) UpdateDomain(domain *api.Domain) { + if domain != nil { + select { + case p.domainUpdate <- domain: + default: + log.Log.Error("Failed to upate agent poller domain info") + } + } +} + +func (p *AgentPoller) createDomainData(domain *api.Domain) *DomainData { + aliasByMac := map[string]string{} + for _, ifc := range domain.Spec.Devices.Interfaces { + mac := ifc.MAC.MAC + alias := ifc.Alias.Name + aliasByMac[mac] = alias + } + return &DomainData{ + name: domain.Spec.Name, + aliasByMac: aliasByMac, + } +} + +func (p *AgentPoller) pollQemuAgent(domainName string) (string, error) { + cmdResult, err := p.Connection.QemuAgentCommand("{\"execute\":\"guest-network-get-interfaces\"}", domainName) + return cmdResult, err +} + +func parseAgentReplyToJson(agentReply string) *Result { + result := Result{} + json.Unmarshal([]byte(agentReply), &result) + return &result +} + +func (p *AgentPoller) mergeAgentStatusesWithDomainData(interfaceStatuses []api.InterfaceStatus) []api.InterfaceStatus { + aliasesCoveredByAgent := []string{} + // Add alias from domain to interfaceStatus + for i, interfaceStatus := range interfaceStatuses { + if alias, exists := p.domainData.aliasByMac[interfaceStatus.Mac]; exists { + interfaceStatuses[i].Name = alias + aliasesCoveredByAgent = append(aliasesCoveredByAgent, alias) + } + } + + // If interface present in domain was not found in interfaceStatuses, add it + for mac, alias := range p.domainData.aliasByMac { + isCoveredByAgentData := false + for _, coveredAlias := range aliasesCoveredByAgent { + if alias == coveredAlias { + isCoveredByAgentData = true + break + } + } + if !isCoveredByAgentData { + interfaceStatuses = append(interfaceStatuses, + api.InterfaceStatus{ + Mac: mac, + Name: alias, + }, + ) + } + } + return interfaceStatuses +} + +func calculateInterfaceStatusesFromAgentJson(agentResult *Result) []api.InterfaceStatus { + interfaceStatuses := []api.InterfaceStatus{} + for _, ifc := range agentResult.Interfaces { + if ifc.Name == "lo" { + continue + } + interfaceIP, interfaceIPs := extractIps(ifc.IPs) + interfaceStatuses = append(interfaceStatuses, api.InterfaceStatus{ + Mac: ifc.MAC, + Ip: interfaceIP, + IPs: interfaceIPs, + InterfaceName: ifc.Name, + }) + } + return interfaceStatuses +} + +func extractIps(ipAddresses []IP) (string, []string) { + interfaceIPs := []string{} + var interfaceIP string + for _, ipAddr := range ipAddresses { + ip := fmt.Sprintf("%s/%d", ipAddr.IP, ipAddr.Prefix) + // Prefer ipv4 as the main interface IP + if ipAddr.Type == "ipv4" && interfaceIP == "" { + interfaceIP = ip + } + interfaceIPs = append(interfaceIPs, ip) + } + // If no ipv4 interface was found, set any IP as the main IP of interface + if interfaceIP == "" && len(interfaceIPs) > 0 { + interfaceIP = interfaceIPs[0] + } + return interfaceIP, interfaceIPs +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/converter.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/converter.go index 0c8afabdd..154ebcad8 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/converter.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/converter.go @@ -694,9 +694,9 @@ func Convert_v1_VirtualMachine_To_api_Domain(vmi *v1.VirtualMachineInstance, dom if err != nil { return err } - volume := volumes[disk.VolumeName] + volume := volumes[disk.Name] if volume == nil { - return fmt.Errorf("No matching volume with name %s found", disk.VolumeName) + return fmt.Errorf("No matching volume with name %s found", disk.Name) } err = Convert_v1_Volume_To_api_Disk(volume, &newDisk, c) if err != nil { @@ -766,18 +766,17 @@ func Convert_v1_VirtualMachine_To_api_Domain(vmi *v1.VirtualMachineInstance, dom return err } - if vmi.Spec.Domain.CPU != nil { - // Set VM CPU cores - domain.Spec.CPU.Topology = &CPUTopology{ - Sockets: 1, - Cores: calculateRequestedVCPUs(vmi), - Threads: 1, - } - domain.Spec.VCPU = &VCPU{ - Placement: "static", - CPUs: calculateRequestedVCPUs(vmi), - } + // Set VM CPU cores + // CPU topology will be created everytime, because user can specify + // number of cores in vmi.Spec.Domain.Resources.Requests/Limits, not only + // in vmi.Spec.Domain.CPU + domain.Spec.CPU.Topology = getCPUTopology(vmi) + domain.Spec.VCPU = &VCPU{ + Placement: "static", + CPUs: calculateRequestedVCPUs(domain.Spec.CPU.Topology), + } + if vmi.Spec.Domain.CPU != nil { // Set VM CPU model and vendor if vmi.Spec.Domain.CPU.Model != "" { if vmi.Spec.Domain.CPU.Model == v1.CPUModeHostModel || vmi.Spec.Domain.CPU.Model == v1.CPUModeHostPassthrough { @@ -787,27 +786,27 @@ func Convert_v1_VirtualMachine_To_api_Domain(vmi *v1.VirtualMachineInstance, dom domain.Spec.CPU.Model = vmi.Spec.Domain.CPU.Model } } - } - - if vmi.Spec.Domain.CPU == nil || vmi.Spec.Domain.CPU.Model == "" { - domain.Spec.CPU.Mode = v1.CPUModeHostModel - } - // Adjust guest vcpu config. Currenty will handle vCPUs to pCPUs pinning - if vmi.IsCPUDedicated() { - if err := formatDomainCPUTune(vmi, domain, c); err != nil { - log.Log.Reason(err).Error("failed to format domain cputune.") - return err - } - if useIOThreads { - if err := formatDomainIOThreadPin(vmi, domain, c); err != nil { - log.Log.Reason(err).Error("failed to format domain iothread pinning.") + // Adjust guest vcpu config. Currenty will handle vCPUs to pCPUs pinning + if vmi.IsCPUDedicated() { + if err := formatDomainCPUTune(vmi, domain, c); err != nil { + log.Log.Reason(err).Error("failed to format domain cputune.") return err } + if useIOThreads { + if err := formatDomainIOThreadPin(vmi, domain, c); err != nil { + log.Log.Reason(err).Error("failed to format domain iothread pinning.") + return err + } + } } } + if vmi.Spec.Domain.CPU == nil || vmi.Spec.Domain.CPU.Model == "" { + domain.Spec.CPU.Mode = v1.CPUModeHostModel + } + // Add mandatory console device var serialPort uint = 0 var serialType string = "serial" @@ -1014,27 +1013,54 @@ func Convert_v1_VirtualMachine_To_api_Domain(vmi *v1.VirtualMachineInstance, dom return nil } -func calculateRequestedVCPUs(vmi *v1.VirtualMachineInstance) uint32 { - cores := uint32(0) - if vmi.Spec.Domain.CPU != nil && vmi.Spec.Domain.CPU.Cores != 0 { - return vmi.Spec.Domain.CPU.Cores +func getCPUTopology(vmi *v1.VirtualMachineInstance) *CPUTopology { + cores := uint32(1) + threads := uint32(1) + sockets := uint32(1) + vmiCPU := vmi.Spec.Domain.CPU + if vmiCPU != nil { + vmiCPU := vmi.Spec.Domain.CPU + + if vmiCPU.Cores != 0 { + cores = vmiCPU.Cores + } + + if vmiCPU.Threads != 0 { + threads = vmiCPU.Threads + } + + if vmiCPU.Sockets != 0 { + sockets = vmiCPU.Sockets + } } - if !vmi.IsCPUDedicated() { - return uint32(1) + + if vmiCPU == nil || (vmiCPU.Cores == 0 && vmiCPU.Sockets == 0 && vmiCPU.Threads == 0) { + //if cores, sockets, threads are not set, take value from domain resources request or limits and + //set value into sockets, which have best performance (https://bugzilla.redhat.com/show_bug.cgi?id=1653453) + resources := vmi.Spec.Domain.Resources + if cpuRequests, ok := resources.Requests[k8sv1.ResourceCPU]; ok { + sockets = uint32(cpuRequests.Value()) + } else if cpuLimit, ok := resources.Limits[k8sv1.ResourceCPU]; ok { + sockets = uint32(cpuLimit.Value()) + } } - if cpuRequests, ok := vmi.Spec.Domain.Resources.Requests[k8sv1.ResourceCPU]; ok { - cores = uint32(cpuRequests.Value()) - } else if cpuLimit, ok := vmi.Spec.Domain.Resources.Limits[k8sv1.ResourceCPU]; ok { - cores = uint32(cpuLimit.Value()) + + return &CPUTopology{ + Sockets: sockets, + Cores: cores, + Threads: threads, } - return cores +} + +func calculateRequestedVCPUs(cpuTopology *CPUTopology) uint32 { + return cpuTopology.Cores * cpuTopology.Sockets * cpuTopology.Threads } func formatDomainCPUTune(vmi *v1.VirtualMachineInstance, domain *Domain, c *ConverterContext) error { if len(c.CPUSet) == 0 { return fmt.Errorf("failed for get pods pinned cpus") } - vcpus := calculateRequestedVCPUs(vmi) + vcpus := calculateRequestedVCPUs(domain.Spec.CPU.Topology) cpuTune := CPUTune{} for idx := 0; idx < int(vcpus); idx++ { vcpupin := CPUTuneVCPUPin{} @@ -1055,7 +1081,7 @@ func appendDomainIOThreadPin(domain *Domain, thread uint, cpuset string) { func formatDomainIOThreadPin(vmi *v1.VirtualMachineInstance, domain *Domain, c *ConverterContext) error { iothreads := int(domain.Spec.IOThreads.IOThreads) - vcpus := int(calculateRequestedVCPUs(vmi)) + vcpus := int(calculateRequestedVCPUs(domain.Spec.CPU.Topology)) if iothreads >= vcpus { // pin an IOThread on a CPU diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go index 361a3f140..da759b909 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/deepcopy_generated.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 The KubeVirt Authors. +Copyright 2019 The KubeVirt Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -971,7 +971,7 @@ func (in *Domain) DeepCopyInto(out *Domain) { out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) - out.Status = in.Status + in.Status.DeepCopyInto(&out.Status) return } @@ -1132,6 +1132,13 @@ func (in *DomainSpec) DeepCopy() *DomainSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DomainStatus) DeepCopyInto(out *DomainStatus) { *out = *in + if in.Interfaces != nil { + in, out := &in.Interfaces, &out.Interfaces + *out = make([]InterfaceStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } @@ -1615,6 +1622,15 @@ func (in *Interface) DeepCopyInto(out *Interface) { **out = **in } } + if in.MTU != nil { + in, out := &in.MTU, &out.MTU + if *in == nil { + *out = nil + } else { + *out = new(MTU) + **out = **in + } + } if in.BandWidth != nil { in, out := &in.BandWidth, &out.BandWidth if *in == nil { @@ -1732,6 +1748,27 @@ func (in *InterfaceSource) DeepCopy() *InterfaceSource { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InterfaceStatus) DeepCopyInto(out *InterfaceStatus) { + *out = *in + if in.IPs != nil { + in, out := &in.IPs, &out.IPs + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceStatus. +func (in *InterfaceStatus) DeepCopy() *InterfaceStatus { + if in == nil { + return nil + } + out := new(InterfaceStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InterfaceTarget) DeepCopyInto(out *InterfaceTarget) { *out = *in @@ -1830,6 +1867,22 @@ func (in *MAC) DeepCopy() *MAC { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MTU) DeepCopyInto(out *MTU) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MTU. +func (in *MTU) DeepCopy() *MTU { + if in == nil { + return nil + } + out := new(MTU) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Memory) DeepCopyInto(out *Memory) { *out = *in diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go index 2aac83753..71684a3d3 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/schema.go @@ -96,8 +96,17 @@ type Domain struct { } type DomainStatus struct { - Status LifeCycle - Reason StateChangeReason + Status LifeCycle + Reason StateChangeReason + Interfaces []InterfaceStatus +} + +type InterfaceStatus struct { + Name string + Mac string + Ip string + IPs []string + InterfaceName string } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -437,6 +446,7 @@ type Interface struct { Target *InterfaceTarget `xml:"target,omitempty"` Model *Model `xml:"model,omitempty"` MAC *MAC `xml:"mac,omitempty"` + MTU *MTU `xml:"mtu,omitempty"` BandWidth *BandWidth `xml:"bandwidth,omitempty"` BootOrder *BootOrder `xml:"boot,omitempty"` LinkState *LinkState `xml:"link,omitempty"` @@ -465,6 +475,10 @@ type MAC struct { MAC string `xml:"address,attr"` } +type MTU struct { + Size string `xml:"size,attr"` +} + type FilterRef struct { Filter string `xml:"filter,attr"` } diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/zz_generated.defaults.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/zz_generated.defaults.go index 1c4a54f15..166a45050 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/zz_generated.defaults.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/api/zz_generated.defaults.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 The KubeVirt Authors. +Copyright 2019 The KubeVirt Authors. 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/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/generated_mock_libvirt.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/generated_mock_libvirt.go index 278e60725..fb861a013 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/generated_mock_libvirt.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/generated_mock_libvirt.go @@ -112,6 +112,17 @@ func (_mr *_MockConnectionRecorder) SetReconnectChan(arg0 interface{}) *gomock.C return _mr.mock.ctrl.RecordCall(_mr.mock, "SetReconnectChan", arg0) } +func (_m *MockConnection) QemuAgentCommand(command string, domainName string) (string, error) { + ret := _m.ctrl.Call(_m, "QemuAgentCommand", command, domainName) + ret0, _ := ret[0].(string) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +func (_mr *_MockConnectionRecorder) QemuAgentCommand(arg0, arg1 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCall(_mr.mock, "QemuAgentCommand", arg0, arg1) +} + // Mock of Stream interface type MockStream struct { ctrl *gomock.Controller diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/libvirt.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/libvirt.go index 7dd80d575..91af38afb 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/libvirt.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/cli/libvirt.go @@ -47,6 +47,7 @@ type Connection interface { ListAllDomains(flags libvirt.ConnectListAllDomainsFlags) ([]VirDomain, error) NewStream(flags libvirt.StreamFlags) (Stream, error) SetReconnectChan(reconnect chan bool) + QemuAgentCommand(command string, domainName string) (string, error) } type Stream interface { @@ -173,6 +174,15 @@ func (l *LibvirtConnection) ListAllDomains(flags libvirt.ConnectListAllDomainsFl return doms, nil } +// Execute a command on the Qemu guest agent +// command - the qemu command, for example this gets the interfaces: {"execute":"guest-network-get-interfaces"} +// domainName - the qemu domain name +func (l *LibvirtConnection) QemuAgentCommand(command string, domainName string) (string, error) { + domain, err := l.Connect.LookupDomainByName(domainName) + result, err := domain.QemuAgentCommand(command, libvirt.DOMAIN_QEMU_AGENT_COMMAND_DEFAULT, uint32(0)) + return result, err +} + // Installs a watchdog which will check periodically if the libvirt connection is still alive. func (l *LibvirtConnection) installWatchdog(checkInterval time.Duration) { go func() { diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/manager.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/manager.go index 828d2664b..96c2b6f48 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/manager.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/manager.go @@ -176,7 +176,7 @@ func (l *LibvirtDomainManager) setMigrationResultHelper(vmi *v1.VirtualMachineIn } migrationMetadata := domainSpec.Metadata.KubeVirt.Migration - if migrationMetadata != nil { + if migrationMetadata == nil { // nothing to report if migration metadata is empty return nil } diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcp/dhcp.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcp/dhcp.go index bae56f860..79c594f6e 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcp/dhcp.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/dhcp/dhcp.go @@ -41,6 +41,7 @@ const ( infiniteLease = 999 * 24 * time.Hour errorSearchDomainNotValid = "Search domain is not valid" errorSearchDomainTooLong = "Search domains length exceeded allowable size" + errorNTPConfiguration = "Could not parse NTP server as IPv4 address: %s" ) // simple domain validation regex. Put it here to avoid compiling each time. @@ -149,6 +150,24 @@ func prepareDHCPOptions( log.Log.Infof("Setting dhcp option boot file name to %s", customDHCPOptions.BootFileName) dhcpOptions[dhcp.OptionBootFileName] = []byte(customDHCPOptions.BootFileName) } + + if len(customDHCPOptions.NTPServers) > 0 { + log.Log.Infof("Setting dhcp option NTP server name to %s", customDHCPOptions.NTPServers) + + ntpServers := [][]byte{} + + for _, server := range customDHCPOptions.NTPServers { + ip := net.ParseIP(server).To4() + + if ip == nil { + return nil, fmt.Errorf(errorNTPConfiguration, server) + } + + ntpServers = append(ntpServers, []byte(ip)) + } + + dhcpOptions[dhcp.OptionNetworkTimeProtocolServers] = bytes.Join(ntpServers, nil) + } } return dhcpOptions, nil @@ -174,12 +193,12 @@ func (h *DHCPHandler) ServeDHCP(p dhcp.Packet, msgType dhcp.MessageType, options case dhcp.Discover: log.Log.V(4).Info("The request has message type DISCOVER") return dhcp.ReplyPacket(p, dhcp.Offer, h.serverIP, h.clientIP, h.leaseDuration, - h.options.SelectOrderOrAll(options[dhcp.OptionParameterRequestList])) + h.options.SelectOrderOrAll(nil)) case dhcp.Request: log.Log.V(4).Info("The request has message type REQUEST") return dhcp.ReplyPacket(p, dhcp.ACK, h.serverIP, h.clientIP, h.leaseDuration, - h.options.SelectOrderOrAll(options[dhcp.OptionParameterRequestList])) + h.options.SelectOrderOrAll(nil)) default: log.Log.V(4).Info("The request has unhandled message type") diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/podinterface.go b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/podinterface.go index 3aa576e03..52d30cc63 100644 --- a/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/podinterface.go +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-launcher/virtwrap/network/podinterface.go @@ -256,6 +256,7 @@ func (b *BridgePodInterface) startDHCPServer() { } func (b *BridgePodInterface) decorateConfig() error { + b.domain.Spec.Devices.Interfaces[b.podInterfaceNum].MTU = &api.MTU{Size: strconv.Itoa(b.podNicLink.Attrs().MTU)} b.domain.Spec.Devices.Interfaces[b.podInterfaceNum].MAC = &api.MAC{MAC: b.vif.MAC.String()} return nil @@ -441,6 +442,7 @@ func (p *MasqueradePodInterface) startDHCPServer() { } func (p *MasqueradePodInterface) decorateConfig() error { + p.domain.Spec.Devices.Interfaces[p.podInterfaceNum].MTU = &api.MTU{Size: strconv.Itoa(p.podNicLink.Attrs().MTU)} p.domain.Spec.Devices.Interfaces[p.podInterfaceNum].MAC = &api.MAC{MAC: p.vif.MAC.String()} return nil diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/application.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/application.go new file mode 100644 index 000000000..42ad90b5b --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/application.go @@ -0,0 +1,183 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package virt_operator + +import ( + "io/ioutil" + golog "log" + "net/http" + "os" + + "github.com/prometheus/client_golang/prometheus/promhttp" + + k8sv1 "k8s.io/api/core/v1" + "k8s.io/client-go/kubernetes/scheme" + k8coresv1 "k8s.io/client-go/kubernetes/typed/core/v1" + clientrest "k8s.io/client-go/rest" + "k8s.io/client-go/tools/cache" + "k8s.io/client-go/tools/record" + + "kubevirt.io/kubevirt/pkg/certificates" + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/kubecli" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/service" + kvutil "kubevirt.io/kubevirt/pkg/util" + "kubevirt.io/kubevirt/pkg/virt-operator/util" +) + +const ( + controllerThreads = 3 + + // Default port that virt-operator listens on. + defaultPort = 8186 + + // Default address that virt-operator listens on. + defaultHost = "0.0.0.0" +) + +type VirtOperatorApp struct { + service.ServiceListen + + clientSet kubecli.KubevirtClient + restClient *clientrest.RESTClient + informerFactory controller.KubeInformerFactory + + kubeVirtController KubeVirtController + kubeVirtRecorder record.EventRecorder + + operatorNamespace string + + kubeVirtInformer cache.SharedIndexInformer + kubeVirtCache cache.Store + + stores util.Stores + informers util.Informers +} + +var _ service.Service = &VirtOperatorApp{} + +func Execute() { + var err error + app := VirtOperatorApp{} + + service.Setup(&app) + + log.InitializeLogging("virt-operator") + + app.clientSet, err = kubecli.GetKubevirtClient() + + if err != nil { + golog.Fatal(err) + } + + app.restClient = app.clientSet.RestClient() + + app.operatorNamespace, err = kvutil.GetNamespace() + if err != nil { + golog.Fatalf("Error searching for namespace: %v", err) + } + app.informerFactory = controller.NewKubeInformerFactory(app.restClient, app.clientSet, app.operatorNamespace) + + app.kubeVirtInformer = app.informerFactory.KubeVirt() + app.kubeVirtCache = app.kubeVirtInformer.GetStore() + + app.informers = util.Informers{ + ServiceAccount: app.informerFactory.OperatorServiceAccount(), + ClusterRole: app.informerFactory.OperatorClusterRole(), + ClusterRoleBinding: app.informerFactory.OperatorClusterRoleBinding(), + Role: app.informerFactory.OperatorRole(), + RoleBinding: app.informerFactory.OperatorRoleBinding(), + Crd: app.informerFactory.OperatorCRD(), + Service: app.informerFactory.OperatorService(), + Deployment: app.informerFactory.OperatorDeployment(), + DaemonSet: app.informerFactory.OperatorDaemonSet(), + } + + app.stores = util.Stores{ + ServiceAccountCache: app.informerFactory.OperatorServiceAccount().GetStore(), + ClusterRoleCache: app.informerFactory.OperatorClusterRole().GetStore(), + ClusterRoleBindingCache: app.informerFactory.OperatorClusterRoleBinding().GetStore(), + RoleCache: app.informerFactory.OperatorRole().GetStore(), + RoleBindingCache: app.informerFactory.OperatorRoleBinding().GetStore(), + CrdCache: app.informerFactory.OperatorCRD().GetStore(), + ServiceCache: app.informerFactory.OperatorService().GetStore(), + DeploymentCache: app.informerFactory.OperatorDeployment().GetStore(), + DaemonSetCache: app.informerFactory.OperatorDaemonSet().GetStore(), + } + + app.kubeVirtRecorder = app.getNewRecorder(k8sv1.NamespaceAll, "virt-operator") + app.kubeVirtController = *NewKubeVirtController(app.clientSet, app.kubeVirtInformer, app.kubeVirtRecorder, app.stores, app.informers) + + image := os.Getenv(util.OperatorImageEnvName) + if image == "" { + golog.Fatalf("Error getting operator's image: %v", err) + } + log.Log.Infof("Operator image: %s", image) + + app.Run() +} + +func (app *VirtOperatorApp) Run() { + + // prepare certs + certsDirectory, err := ioutil.TempDir("", "certsdir") + if err != nil { + panic(err) + } + defer os.RemoveAll(certsDirectory) + + certStore, err := certificates.GenerateSelfSignedCert(certsDirectory, "virt-operator", app.operatorNamespace) + if err != nil { + log.Log.Reason(err).Error("unable to generate certificates") + panic(err) + } + + // run app + stop := make(chan struct{}) + defer close(stop) + + app.informerFactory.Start(stop) + go app.kubeVirtController.Run(controllerThreads, stop) + + // serve metrics + http.Handle("/metrics", promhttp.Handler()) + err = http.ListenAndServeTLS(app.ServiceListen.Address(), certStore.CurrentPath(), certStore.CurrentPath(), nil) + if err != nil { + log.Log.Reason(err).Error("Serving prometheus failed.") + panic(err) + } + +} + +func (app *VirtOperatorApp) getNewRecorder(namespace string, componentName string) record.EventRecorder { + eventBroadcaster := record.NewBroadcaster() + eventBroadcaster.StartRecordingToSink(&k8coresv1.EventSinkImpl{Interface: app.clientSet.CoreV1().Events(namespace)}) + return eventBroadcaster.NewRecorder(scheme.Scheme, k8sv1.EventSource{Component: componentName}) +} + +func (app *VirtOperatorApp) AddFlags() { + app.InitFlags() + + app.BindAddress = defaultHost + app.Port = defaultPort + + app.AddCommonFlags() +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/all.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/all.go new file mode 100644 index 000000000..8e23c24bc --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/all.go @@ -0,0 +1,76 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package creation + +import ( + "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/kubecli" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-operator/creation/components" + "kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac" + "kubevirt.io/kubevirt/pkg/virt-operator/util" +) + +func Create(kv *v1.KubeVirt, config util.KubeVirtDeploymentConfig, stores util.Stores, clientset kubecli.KubevirtClient, expectations *util.Expectations) (int, error) { + + objectsAdded := 0 + + added, err := rbac.CreateClusterRBAC(clientset, kv, stores, expectations) + objectsAdded = objectsAdded + added + if err != nil { + log.Log.Errorf("Failed to create cluster RBAC: %v", err) + return objectsAdded, err + } + added, err = rbac.CreateApiServerRBAC(clientset, kv, stores, expectations) + objectsAdded = objectsAdded + added + if err != nil { + log.Log.Errorf("Failed to create apiserver RBAC: %v", err) + return objectsAdded, err + } + + added, err = rbac.CreateControllerRBAC(clientset, kv, stores, expectations) + objectsAdded = objectsAdded + added + if err != nil { + log.Log.Errorf("Failed to create controller RBAC: %v", err) + return objectsAdded, err + } + + err = util.UpdateScc(clientset, kv, true) + if err != nil { + log.Log.Errorf("Failed to update SCC: %v", err) + return objectsAdded, err + } + + added, err = components.CreateCRDs(clientset, kv, stores, expectations) + objectsAdded = objectsAdded + added + if err != nil { + log.Log.Errorf("Failed to create crds: %v", err) + return objectsAdded, err + } + + added, err = components.CreateControllers(clientset, kv, config, stores, expectations) + objectsAdded = objectsAdded + added + if err != nil { + log.Log.Errorf("Failed to create controllers: %v", err) + return objectsAdded, err + } + + return objectsAdded, nil +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/crds.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/crds.go new file mode 100644 index 000000000..1f4c80255 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/crds.go @@ -0,0 +1,266 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ +package components + +import ( + "fmt" + + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-operator/util" + + corev1 "k8s.io/api/core/v1" + extv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + virtv1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/kubecli" +) + +func CreateCRDs(clientset kubecli.KubevirtClient, kv *virtv1.KubeVirt, stores util.Stores, expectations *util.Expectations) (int, error) { + + objectsAdded := 0 + kvkey, err := controller.KeyFunc(kv) + if err != nil { + return 0, err + } + + ext := clientset.ExtensionsClient() + + crds := []*extv1beta1.CustomResourceDefinition{ + NewVirtualMachineInstanceCrd(), + NewVirtualMachineCrd(), + NewReplicaSetCrd(), + NewPresetCrd(), + NewVirtualMachineInstanceMigrationCrd(), + } + + for _, crd := range crds { + if _, exists, _ := stores.CrdCache.Get(crd); !exists { + expectations.Crd.RaiseExpectations(kvkey, 1, 0) + _, err := ext.ApiextensionsV1beta1().CustomResourceDefinitions().Create(crd) + if err != nil { + expectations.Crd.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create crd %+v: %v", crd, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("crd %v already exists", crd.GetName()) + } + } + + return objectsAdded, nil +} + +func newBlankCrd() *extv1beta1.CustomResourceDefinition { + return &extv1beta1.CustomResourceDefinition{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "apiextensions.k8s.io/v1beta1", + Kind: "CustomResourceDefinition", + }, + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + } +} + +func NewVirtualMachineInstanceCrd() *extv1beta1.CustomResourceDefinition { + crd := newBlankCrd() + + crd.ObjectMeta.Name = "virtualmachineinstances." + virtv1.VirtualMachineInstanceGroupVersionKind.Group + crd.Spec = extv1beta1.CustomResourceDefinitionSpec{ + Group: virtv1.VirtualMachineInstanceGroupVersionKind.Group, + Version: virtv1.VirtualMachineInstanceGroupVersionKind.Version, + Scope: "Namespaced", + + Names: extv1beta1.CustomResourceDefinitionNames{ + Plural: "virtualmachineinstances", + Singular: "virtualmachineinstance", + Kind: virtv1.VirtualMachineInstanceGroupVersionKind.Kind, + ShortNames: []string{"vmi", "vmis"}, + }, + AdditionalPrinterColumns: []extv1beta1.CustomResourceColumnDefinition{ + {Name: "Age", Type: "date", JSONPath: ".metadata.creationTimestamp"}, + {Name: "Phase", Type: "string", JSONPath: ".status.phase"}, + {Name: "IP", Type: "string", JSONPath: ".status.interfaces[0].ipAddress"}, + {Name: "NodeName", Type: "string", JSONPath: ".status.nodeName"}, + }, + } + + return crd +} + +func NewVirtualMachineCrd() *extv1beta1.CustomResourceDefinition { + crd := newBlankCrd() + + crd.ObjectMeta.Name = "virtualmachines." + virtv1.VirtualMachineGroupVersionKind.Group + crd.Spec = extv1beta1.CustomResourceDefinitionSpec{ + Group: virtv1.VirtualMachineGroupVersionKind.Group, + Version: virtv1.VirtualMachineGroupVersionKind.Version, + Scope: "Namespaced", + + Names: extv1beta1.CustomResourceDefinitionNames{ + Plural: "virtualmachines", + Singular: "virtualmachine", + Kind: virtv1.VirtualMachineGroupVersionKind.Kind, + ShortNames: []string{"vm", "vms"}, + }, + AdditionalPrinterColumns: []extv1beta1.CustomResourceColumnDefinition{ + {Name: "Age", Type: "date", JSONPath: ".metadata.creationTimestamp"}, + {Name: "Running", Type: "boolean", JSONPath: ".spec.running"}, + {Name: "Volume", Description: "Primary Volume", Type: "string", JSONPath: ".spec.volumes[0].name"}, + }, + } + + return crd +} + +func NewPresetCrd() *extv1beta1.CustomResourceDefinition { + crd := newBlankCrd() + + crd.ObjectMeta.Name = "virtualmachineinstancepresets." + virtv1.VirtualMachineInstancePresetGroupVersionKind.Group + crd.Spec = extv1beta1.CustomResourceDefinitionSpec{ + Group: virtv1.VirtualMachineInstancePresetGroupVersionKind.Group, + Version: virtv1.VirtualMachineInstancePresetGroupVersionKind.Version, + Scope: "Namespaced", + + Names: extv1beta1.CustomResourceDefinitionNames{ + Plural: "virtualmachineinstancepresets", + Singular: "virtualmachineinstancepreset", + Kind: virtv1.VirtualMachineInstancePresetGroupVersionKind.Kind, + ShortNames: []string{"vmipreset", "vmipresets"}, + }, + } + + return crd +} + +func NewReplicaSetCrd() *extv1beta1.CustomResourceDefinition { + crd := newBlankCrd() + labelSelector := ".status.labelSelector" + + crd.ObjectMeta.Name = "virtualmachineinstancereplicasets." + virtv1.VirtualMachineInstanceReplicaSetGroupVersionKind.Group + crd.Spec = extv1beta1.CustomResourceDefinitionSpec{ + Group: virtv1.VirtualMachineInstanceReplicaSetGroupVersionKind.Group, + Version: virtv1.VirtualMachineInstanceReplicaSetGroupVersionKind.Version, + Scope: "Namespaced", + + Names: extv1beta1.CustomResourceDefinitionNames{ + Plural: "virtualmachineinstancereplicasets", + Singular: "virtualmachineinstancereplicaset", + Kind: virtv1.VirtualMachineInstanceReplicaSetGroupVersionKind.Kind, + ShortNames: []string{"vmirs", "vmirss"}, + }, + AdditionalPrinterColumns: []extv1beta1.CustomResourceColumnDefinition{ + {Name: "Desired", Type: "integer", JSONPath: ".spec.replicas", + Description: "Number of desired VirtualMachineInstances"}, + {Name: "Current", Type: "integer", JSONPath: ".status.replicas", + Description: "Number of managed and not final or deleted VirtualMachineInstances"}, + {Name: "Ready", Type: "integer", JSONPath: ".status.readyReplicas", + Description: "Number of managed VirtualMachineInstances which are ready to receive traffic"}, + {Name: "Age", Type: "date", JSONPath: ".metadata.creationTimestamp"}, + }, + Subresources: &extv1beta1.CustomResourceSubresources{ + Scale: &extv1beta1.CustomResourceSubresourceScale{ + SpecReplicasPath: ".spec.replicas", + StatusReplicasPath: ".status.replicas", + LabelSelectorPath: &labelSelector, + }, + }, + } + + return crd +} + +func NewVirtualMachineInstanceMigrationCrd() *extv1beta1.CustomResourceDefinition { + crd := newBlankCrd() + + crd.ObjectMeta.Name = "virtualmachineinstancemigrations." + virtv1.VirtualMachineInstanceMigrationGroupVersionKind.Group + crd.Spec = extv1beta1.CustomResourceDefinitionSpec{ + Group: virtv1.VirtualMachineInstanceMigrationGroupVersionKind.Group, + Version: virtv1.VirtualMachineInstanceMigrationGroupVersionKind.Version, + Scope: "Namespaced", + + Names: extv1beta1.CustomResourceDefinitionNames{ + Plural: "virtualmachineinstancemigrations", + Singular: "virtualmachineinstancemigration", + Kind: virtv1.VirtualMachineInstanceMigrationGroupVersionKind.Kind, + ShortNames: []string{"vmim", "vmims"}, + }, + } + + return crd +} + +func NewKubeVirtCrd() *extv1beta1.CustomResourceDefinition { + + // we use a different label here, so no newBlankCrd() + crd := &extv1beta1.CustomResourceDefinition{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "apiextensions.k8s.io/v1beta1", + Kind: "CustomResourceDefinition", + }, + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + "operator.kubevirt.io": "", + }, + }, + } + + crd.ObjectMeta.Name = "kubevirts." + virtv1.KubeVirtGroupVersionKind.Group + crd.Spec = extv1beta1.CustomResourceDefinitionSpec{ + Group: virtv1.KubeVirtGroupVersionKind.Group, + Version: virtv1.KubeVirtGroupVersionKind.Version, + Scope: "Namespaced", + + Names: extv1beta1.CustomResourceDefinitionNames{ + Plural: "kubevirts", + Singular: "kubevirt", + Kind: virtv1.KubeVirtGroupVersionKind.Kind, + ShortNames: []string{"kv", "kvs"}, + }, + AdditionalPrinterColumns: []extv1beta1.CustomResourceColumnDefinition{ + {Name: "Age", Type: "date", JSONPath: ".metadata.creationTimestamp"}, + {Name: "Phase", Type: "string", JSONPath: ".status.phase"}, + }, + } + + return crd +} + +// used by manifest generation +func NewKubeVirtCR(namespace string, pullPolicy corev1.PullPolicy) *virtv1.KubeVirt { + return &virtv1.KubeVirt{ + TypeMeta: metav1.TypeMeta{ + APIVersion: virtv1.GroupVersion.String(), + Kind: "KubeVirt", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt", + }, + Spec: virtv1.KubeVirtSpec{ + ImagePullPolicy: pullPolicy, + }, + } +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/deployments.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/deployments.go new file mode 100644 index 000000000..480058ec8 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/components/deployments.go @@ -0,0 +1,480 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ +package components + +import ( + "fmt" + + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/log" + + appsv1 "k8s.io/api/apps/v1" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/intstr" + "k8s.io/apimachinery/pkg/util/json" + + virtv1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/kubecli" + "kubevirt.io/kubevirt/pkg/virt-operator/util" +) + +func CreateControllers(clientset kubecli.KubevirtClient, kv *virtv1.KubeVirt, config util.KubeVirtDeploymentConfig, stores util.Stores, expectations *util.Expectations) (int, error) { + + objectsAdded := 0 + core := clientset.CoreV1() + kvkey, err := controller.KeyFunc(kv) + if err != nil { + return 0, err + } + + services := []*corev1.Service{ + NewPrometheusService(kv.Namespace), + NewApiServerService(kv.Namespace), + } + for _, service := range services { + if _, exists, _ := stores.ServiceCache.Get(service); !exists { + expectations.Service.RaiseExpectations(kvkey, 1, 0) + _, err := core.Services(kv.Namespace).Create(service) + if err != nil { + expectations.Service.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create service %+v: %v", service, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("service %v already exists", service.GetName()) + } + } + + apps := clientset.AppsV1() + + // TODO make verbosity part of the KubeVirt CRD spec? + verbosity := "2" + api, err := NewApiServerDeployment(kv.Namespace, config.ImageRegistry, config.ImageTag, kv.Spec.ImagePullPolicy, verbosity) + if err != nil { + return objectsAdded, err + } + controller, err := NewControllerDeployment(kv.Namespace, config.ImageRegistry, config.ImageTag, kv.Spec.ImagePullPolicy, verbosity) + if err != nil { + return objectsAdded, err + } + + deployments := []*appsv1.Deployment{api, controller} + for _, deployment := range deployments { + if _, exists, _ := stores.DeploymentCache.Get(deployment); !exists { + expectations.Deployment.RaiseExpectations(kvkey, 1, 0) + _, err := apps.Deployments(kv.Namespace).Create(deployment) + if err != nil { + expectations.Deployment.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create deployment %+v: %v", deployment, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("deployment %v already exists", deployment.GetName()) + } + } + + handler, err := NewHandlerDaemonSet(kv.Namespace, config.ImageRegistry, config.ImageTag, kv.Spec.ImagePullPolicy, verbosity) + if err != nil { + return objectsAdded, err + } + + if _, exists, _ := stores.DaemonSetCache.Get(handler); !exists { + expectations.DaemonSet.RaiseExpectations(kvkey, 1, 0) + _, err = apps.DaemonSets(kv.Namespace).Create(handler) + if err != nil { + expectations.DaemonSet.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create daemonset %+v: %v", handler, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("daemonset %v already exists", handler.GetName()) + } + + return objectsAdded, nil + +} + +func NewPrometheusService(namespace string) *corev1.Service { + return &corev1.Service{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "v1", + Kind: "Service", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt-prometheus-metrics", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + "prometheus.kubevirt.io": "", + }, + }, + Spec: corev1.ServiceSpec{ + Selector: map[string]string{ + "prometheus.kubevirt.io": "", + }, + Ports: []corev1.ServicePort{ + { + Name: "metrics", + Port: 443, + TargetPort: intstr.IntOrString{ + Type: intstr.String, + StrVal: "metrics", + }, + Protocol: corev1.ProtocolTCP, + }, + }, + }, + } +} + +func NewApiServerService(namespace string) *corev1.Service { + return &corev1.Service{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "v1", + Kind: "Service", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "virt-api", + Labels: map[string]string{ + virtv1.AppLabel: "virt-api", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + Spec: corev1.ServiceSpec{ + Selector: map[string]string{ + virtv1.AppLabel: "virt-api", + }, + Ports: []corev1.ServicePort{ + { + Port: 443, + TargetPort: intstr.IntOrString{ + Type: intstr.Int, + IntVal: 8443, + }, + Protocol: corev1.ProtocolTCP, + }, + }, + }, + } +} + +func newPodTemplateSpec(name string, repository string, version string, pullPolicy corev1.PullPolicy) (*corev1.PodTemplateSpec, error) { + + tolerations := []corev1.Toleration{ + { + Key: "CriticalAddonsOnly", + Operator: corev1.TolerationOpExists, + }, + } + tolerationsStr, err := json.Marshal(tolerations) + + if err != nil { + return nil, fmt.Errorf("unable to create service: %v", err) + } + return &corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: map[string]string{ + virtv1.AppLabel: name, + "prometheus.kubevirt.io": "", + }, + Annotations: map[string]string{ + "scheduler.alpha.kubernetes.io/critical-pod": "", + "scheduler.alpha.kubernetes.io/tolerations": string(tolerationsStr), + }, + Name: name, + }, + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + { + Name: name, + Image: fmt.Sprintf("%s/%s:%s", repository, name, version), + ImagePullPolicy: pullPolicy, + }, + }, + }, + }, nil +} + +func newBaseDeployment(name string, namespace string, repository string, version string, pullPolicy corev1.PullPolicy) (*appsv1.Deployment, error) { + + podTemplateSpec, err := newPodTemplateSpec(name, repository, version, pullPolicy) + if err != nil { + return nil, err + } + + return &appsv1.Deployment{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "apps/v1", + Kind: "Deployment", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: name, + Labels: map[string]string{ + virtv1.AppLabel: name, + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + Spec: appsv1.DeploymentSpec{ + Replicas: int32Ptr(2), + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{ + "kubevirt.io": name, + }, + }, + Template: *podTemplateSpec, + }, + }, nil +} + +func NewApiServerDeployment(namespace string, repository string, version string, pullPolicy corev1.PullPolicy, verbosity string) (*appsv1.Deployment, error) { + deployment, err := newBaseDeployment("virt-api", namespace, repository, version, pullPolicy) + if err != nil { + return nil, err + } + + pod := &deployment.Spec.Template.Spec + pod.ServiceAccountName = "kubevirt-apiserver" + pod.SecurityContext = &corev1.PodSecurityContext{ + RunAsNonRoot: boolPtr(true), + } + + container := &deployment.Spec.Template.Spec.Containers[0] + container.Command = []string{ + "virt-api", + "--port", + "8443", + "--subresources-only", + "-v", + verbosity, + } + container.Ports = []corev1.ContainerPort{ + { + Name: "virt-api", + Protocol: corev1.ProtocolTCP, + ContainerPort: 8443, + }, + { + Name: "metrics", + Protocol: corev1.ProtocolTCP, + ContainerPort: 8443, + }, + } + container.ReadinessProbe = &corev1.Probe{ + Handler: corev1.Handler{ + HTTPGet: &corev1.HTTPGetAction{ + Scheme: corev1.URISchemeHTTPS, + Port: intstr.IntOrString{ + Type: intstr.Int, + IntVal: 8443, + }, + Path: "/apis/subresources.kubevirt.io/" + virtv1.GroupVersion.Version + "/healthz", + }, + }, + InitialDelaySeconds: 15, + PeriodSeconds: 10, + } + return deployment, nil +} + +func NewControllerDeployment(namespace string, repository string, version string, pullPolicy corev1.PullPolicy, verbosity string) (*appsv1.Deployment, error) { + deployment, err := newBaseDeployment("virt-controller", namespace, repository, version, pullPolicy) + if err != nil { + return nil, err + } + + pod := &deployment.Spec.Template.Spec + pod.ServiceAccountName = "kubevirt-controller" + pod.SecurityContext = &corev1.PodSecurityContext{ + RunAsNonRoot: boolPtr(true), + } + + container := &deployment.Spec.Template.Spec.Containers[0] + container.Command = []string{ + "virt-controller", + "--launcher-image", + fmt.Sprintf("%s/%s:%s", repository, "virt-launcher", version), + "--port", + "8443", + "-v", + verbosity, + } + container.Ports = []corev1.ContainerPort{ + { + Name: "metrics", + Protocol: corev1.ProtocolTCP, + ContainerPort: 8443, + }, + } + container.LivenessProbe = &corev1.Probe{ + FailureThreshold: 8, + Handler: corev1.Handler{ + HTTPGet: &corev1.HTTPGetAction{ + Scheme: corev1.URISchemeHTTPS, + Port: intstr.IntOrString{ + Type: intstr.Int, + IntVal: 8443, + }, + Path: "/healthz", + }, + }, + InitialDelaySeconds: 15, + TimeoutSeconds: 10, + } + container.ReadinessProbe = &corev1.Probe{ + Handler: corev1.Handler{ + HTTPGet: &corev1.HTTPGetAction{ + Scheme: corev1.URISchemeHTTPS, + Port: intstr.IntOrString{ + Type: intstr.Int, + IntVal: 8443, + }, + Path: "/leader", + }, + }, + InitialDelaySeconds: 15, + TimeoutSeconds: 10, + } + return deployment, nil +} + +func NewHandlerDaemonSet(namespace string, repository string, version string, pullPolicy corev1.PullPolicy, verbosity string) (*appsv1.DaemonSet, error) { + + podTemplateSpec, err := newPodTemplateSpec("virt-handler", repository, version, pullPolicy) + if err != nil { + return nil, err + } + + daemonset := &appsv1.DaemonSet{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "apps/v1", + Kind: "DaemonSet", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "virt-handler", + Labels: map[string]string{ + virtv1.AppLabel: "virt-handler", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + Spec: appsv1.DaemonSetSpec{ + UpdateStrategy: appsv1.DaemonSetUpdateStrategy{ + Type: appsv1.RollingUpdateDaemonSetStrategyType, + }, + Selector: &metav1.LabelSelector{ + MatchLabels: map[string]string{ + "kubevirt.io": "virt-handler", + }, + }, + Template: *podTemplateSpec, + }, + } + + pod := &daemonset.Spec.Template.Spec + pod.ServiceAccountName = "kubevirt-privileged" + pod.HostPID = true + + container := &pod.Containers[0] + container.Command = []string{ + "virt-handler", + "--port", + "8443", + "--hostname-override", + "$(NODE_NAME)", + "--pod-ip-address", + "$(MY_POD_IP)", + "-v", + verbosity, + } + container.Ports = []corev1.ContainerPort{ + { + Name: "metrics", + Protocol: corev1.ProtocolTCP, + ContainerPort: 8443, + }, + } + container.SecurityContext = &corev1.SecurityContext{ + Privileged: boolPtr(true), + } + container.Env = []corev1.EnvVar{ + { + Name: "NODE_NAME", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + FieldPath: "spec.nodeName", + }, + }, + }, + { + Name: "MY_POD_IP", + ValueFrom: &corev1.EnvVarSource{ + FieldRef: &corev1.ObjectFieldSelector{ + FieldPath: "status.podIP", + }, + }, + }, + } + + container.VolumeMounts = []corev1.VolumeMount{} + pod.Volumes = []corev1.Volume{} + + type volume struct { + name string + path string + } + + volumes := []volume{ + {"libvirt-runtimes", "/var/run/kubevirt-libvirt-runtimes"}, + {"virt-share-dir", "/var/run/kubevirt"}, + {"virt-private-dir", "/var/run/kubevirt-private"}, + {"device-plugin", "/var/lib/kubelet/device-plugins"}, + } + + for _, volume := range volumes { + container.VolumeMounts = append(container.VolumeMounts, corev1.VolumeMount{ + Name: volume.name, + MountPath: volume.path, + }) + pod.Volumes = append(pod.Volumes, corev1.Volume{ + Name: volume.name, + VolumeSource: corev1.VolumeSource{ + HostPath: &corev1.HostPathVolumeSource{ + Path: volume.path, + }, + }, + }) + } + + return daemonset, nil + +} + +func int32Ptr(i int32) *int32 { + return &i +} +func boolPtr(b bool) *bool { + return &b +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/apiserver.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/apiserver.go new file mode 100644 index 000000000..2f41f2885 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/apiserver.go @@ -0,0 +1,389 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ +package rbac + +import ( + "fmt" + + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-operator/util" + + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + virtv1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/kubecli" +) + +func CreateApiServerRBAC(clientset kubecli.KubevirtClient, kv *virtv1.KubeVirt, stores util.Stores, expectations *util.Expectations) (int, error) { + + objectsAdded := 0 + core := clientset.CoreV1() + kvkey, err := controller.KeyFunc(kv) + if err != nil { + return 0, err + } + + sa := newApiServerServiceAccount(kv.Namespace) + if _, exists, _ := stores.ServiceAccountCache.Get(sa); !exists { + expectations.ServiceAccount.RaiseExpectations(kvkey, 1, 0) + _, err := core.ServiceAccounts(kv.Namespace).Create(sa) + if err != nil { + expectations.ServiceAccount.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create serviceaccount %+v: %v", sa, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("serviceaccount %v already exists", sa.GetName()) + } + + rbac := clientset.RbacV1() + + cr := newApiServerClusterRole() + if _, exists, _ := stores.ClusterRoleCache.Get(cr); !exists { + expectations.ClusterRole.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.ClusterRoles().Create(cr) + if err != nil { + expectations.ClusterRole.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create clusterrole %+v: %v", cr, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("clusterrole %v already exists", cr.GetName()) + } + + clusterRoleBindings := []*rbacv1.ClusterRoleBinding{ + newApiServerClusterRoleBinding(kv.Namespace), + newApiServerAuthDelegatorClusterRoleBinding(kv.Namespace), + } + for _, crb := range clusterRoleBindings { + if _, exists, _ := stores.ClusterRoleBindingCache.Get(crb); !exists { + expectations.ClusterRoleBinding.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.ClusterRoleBindings().Create(crb) + if err != nil { + expectations.ClusterRoleBinding.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create clusterrolebinding %+v: %v", crb, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("clusterrolebinding %v already exists", crb.GetName()) + } + } + + r := newApiServerRole(kv.Namespace) + if _, exists, _ := stores.RoleCache.Get(r); !exists { + expectations.Role.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.Roles(kv.Namespace).Create(r) + if err != nil { + expectations.Role.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create role %+v: %v", r, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("role %v already exists", r.GetName()) + } + + rb := newApiServerRoleBinding(kv.Namespace) + if _, exists, _ := stores.RoleBindingCache.Get(rb); !exists { + expectations.RoleBinding.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.RoleBindings(kv.Namespace).Create(rb) + if err != nil { + expectations.RoleBinding.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create rolebinding %+v: %v", rb, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("rolebinding %v already exists", rb.GetName()) + } + + return objectsAdded, nil +} + +func GetAllApiServer(namespace string) []interface{} { + return []interface{}{ + newApiServerServiceAccount(namespace), + newApiServerClusterRole(), + newApiServerClusterRoleBinding(namespace), + newApiServerAuthDelegatorClusterRoleBinding(namespace), + newApiServerRole(namespace), + newApiServerRoleBinding(namespace), + } +} + +func newApiServerServiceAccount(namespace string) *corev1.ServiceAccount { + return &corev1.ServiceAccount{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "v1", + Kind: "ServiceAccount", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt-apiserver", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + } +} + +func newApiServerClusterRole() *rbacv1.ClusterRole { + return &rbacv1.ClusterRole{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRole", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt-apiserver", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{ + "admissionregistration.k8s.io", + }, + Resources: []string{ + "validatingwebhookconfigurations", + "mutatingwebhookconfigurations", + }, + Verbs: []string{ + "get", "create", "update", + }, + }, + { + APIGroups: []string{ + "apiregistration.k8s.io", + }, + Resources: []string{ + "apiservices", + }, + Verbs: []string{ + "get", "create", "update", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "pods", + }, + Verbs: []string{ + "get", "list", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "pods/exec", + }, + Verbs: []string{ + "create", + }, + }, + { + APIGroups: []string{ + "kubevirt.io", + }, + Resources: []string{ + "virtualmachines", + "virtualmachineinstances", + "virtualmachineinstancemigrations", + }, + Verbs: []string{ + "get", "list", "watch", "delete", + }, + }, + { + APIGroups: []string{ + "kubevirt.io", + }, + Resources: []string{ + "virtualmachineinstancepresets", + }, + Verbs: []string{ + "watch", "list", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "configmaps", + }, + ResourceNames: []string{ + "extension-apiserver-authentication", + }, + Verbs: []string{ + "get", "list", "watch", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "limitranges", + }, + Verbs: []string{ + "watch", "list", + }, + }, + }, + } +} + +func newApiServerClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding { + return &rbacv1.ClusterRoleBinding{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRoleBinding", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt-apiserver", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + RoleRef: rbacv1.RoleRef{ + APIGroup: "rbac.authorization.k8s.io", + Kind: "ClusterRole", + Name: "kubevirt-apiserver", + }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Namespace: namespace, + Name: "kubevirt-apiserver", + }, + }, + } +} + +func newApiServerAuthDelegatorClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding { + return &rbacv1.ClusterRoleBinding{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRoleBinding", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt-apiserver-auth-delegator", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + RoleRef: rbacv1.RoleRef{ + APIGroup: "rbac.authorization.k8s.io", + Kind: "ClusterRole", + Name: "system:auth-delegator", + }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Namespace: namespace, + Name: "kubevirt-apiserver", + }, + }, + } +} + +func newApiServerRole(namespace string) *rbacv1.Role { + return &rbacv1.Role{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "Role", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt-apiserver", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "secrets", + }, + Verbs: []string{ + "get", "list", "delete", "update", "create", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "configmaps", + }, + Verbs: []string{ + "get", "list", "watch", + }, + }, + }, + } +} + +func newApiServerRoleBinding(namespace string) *rbacv1.RoleBinding { + return &rbacv1.RoleBinding{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "RoleBinding", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt-apiserver", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + RoleRef: rbacv1.RoleRef{ + APIGroup: "rbac.authorization.k8s.io", + Kind: "Role", + Name: "kubevirt-apiserver", + }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Namespace: namespace, + Name: "kubevirt-apiserver", + }, + }, + } +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/cluster.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/cluster.go new file mode 100644 index 000000000..4615481f2 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/cluster.go @@ -0,0 +1,353 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ +package rbac + +import ( + "fmt" + + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-operator/util" + + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + virtv1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/kubecli" +) + +func CreateClusterRBAC(clientset kubecli.KubevirtClient, kv *virtv1.KubeVirt, stores util.Stores, expectations *util.Expectations) (int, error) { + + objectsAdded := 0 + kvkey, err := controller.KeyFunc(kv) + if err != nil { + return 0, err + } + + core := clientset.CoreV1() + sa := newPrivilegedServiceAccount(kv.Namespace) + if _, exists, _ := stores.ServiceAccountCache.Get(sa); !exists { + expectations.ServiceAccount.RaiseExpectations(kvkey, 1, 0) + _, err := core.ServiceAccounts(kv.Namespace).Create(sa) + if err != nil { + expectations.ServiceAccount.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create serviceaccount %+v: %v", sa, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("serviceaccount %v already exists", sa.GetName()) + } + + rbac := clientset.RbacV1() + + clusterRoles := []*rbacv1.ClusterRole{ + newDefaultClusterRole(), + newAdminClusterRole(), + newEditClusterRole(), + newViewClusterRole(), + } + for _, cr := range clusterRoles { + if _, exists, _ := stores.ClusterRoleCache.Get(cr); !exists { + expectations.ClusterRole.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.ClusterRoles().Create(cr) + if err != nil { + expectations.ClusterRole.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create clusterrole %+v: %v", cr, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("clusterrole %v already exists", cr.GetName()) + } + } + + clusterRoleBindings := []*rbacv1.ClusterRoleBinding{ + newDefaultClusterRoleBinding(), + newPrivilegedClusterRoleBinding(kv.Namespace), + } + for _, crb := range clusterRoleBindings { + if _, exists, _ := stores.ClusterRoleBindingCache.Get(crb); !exists { + expectations.ClusterRoleBinding.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.ClusterRoleBindings().Create(crb) + if err != nil { + expectations.ClusterRoleBinding.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create clusterrolebinding %+v: %v", crb, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("clusterrolebinding %v already exists", crb.GetName()) + } + } + + return objectsAdded, nil +} + +func GetAllCluster(namespace string) []interface{} { + return []interface{}{ + newDefaultClusterRole(), + newDefaultClusterRoleBinding(), + newAdminClusterRole(), + newEditClusterRole(), + newViewClusterRole(), + newPrivilegedServiceAccount(namespace), + newPrivilegedClusterRoleBinding(namespace), + } +} + +func newDefaultClusterRole() *rbacv1.ClusterRole { + return &rbacv1.ClusterRole{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRole", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt.io:default", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + "kubernetes.io/bootstrapping": "rbac-defaults", + }, + Annotations: map[string]string{ + "rbac.authorization.kubernetes.io/autoupdate": "true", + }, + }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{ + "subresources.kubevirt.io", + }, + Resources: []string{ + "version", + }, + Verbs: []string{ + "get", "list", + }, + }, + }, + } +} + +func newDefaultClusterRoleBinding() *rbacv1.ClusterRoleBinding { + return &rbacv1.ClusterRoleBinding{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRoleBinding", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt.io:default", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + Annotations: map[string]string{ + "rbac.authorization.kubernetes.io/autoupdate": "true", + }, + }, + RoleRef: rbacv1.RoleRef{ + APIGroup: "rbac.authorization.k8s.io", + Kind: "ClusterRole", + Name: "kubevirt.io:default", + }, + Subjects: []rbacv1.Subject{ + { + Kind: "Group", + APIGroup: "rbac.authorization.k8s.io", + Name: "system:authenticated", + }, + { + Kind: "Group", + APIGroup: "rbac.authorization.k8s.io", + Name: "system:unauthenticated", + }, + }, + } +} + +func newAdminClusterRole() *rbacv1.ClusterRole { + return &rbacv1.ClusterRole{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRole", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt.io:admin", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + "rbac.authorization.k8s.io/aggregate-to-admin": "true", + }, + }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{ + "subresources.kubevirt.io", + }, + Resources: []string{ + "virtualmachineinstances/console", + "virtualmachineinstances/vnc", + "virtualmachines/restart", + }, + Verbs: []string{ + "get", + }, + }, + { + APIGroups: []string{ + "kubevirt.io", + }, + Resources: []string{ + "virtualmachines", + "virtualmachineinstances", + "virtualmachineinstancepresets", + "virtualmachineinstancereplicasets", + }, + Verbs: []string{ + "get", "delete", "create", "update", "patch", "list", "watch", "deletecollection", + }, + }, + }, + } +} + +func newEditClusterRole() *rbacv1.ClusterRole { + return &rbacv1.ClusterRole{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRole", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt.io:edit", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + "rbac.authorization.k8s.io/aggregate-to-edit": "true", + }, + }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{ + "subresources.kubevirt.io", + }, + Resources: []string{ + "virtualmachineinstances/console", + "virtualmachineinstances/vnc", + "virtualmachines/restart", + }, + Verbs: []string{ + "get", + }, + }, + { + APIGroups: []string{ + "kubevirt.io", + }, + Resources: []string{ + "virtualmachines", + "virtualmachineinstances", + "virtualmachineinstancepresets", + "virtualmachineinstancereplicasets", + }, + Verbs: []string{ + "get", "delete", "create", "update", "patch", "list", "watch", + }, + }, + }, + } +} + +func newViewClusterRole() *rbacv1.ClusterRole { + return &rbacv1.ClusterRole{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRole", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt.io:view", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + "rbac.authorization.k8s.io/aggregate-to-view": "true", + }, + }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{ + "kubevirt.io", + }, + Resources: []string{ + "virtualmachines", + "virtualmachineinstances", + "virtualmachineinstancepresets", + "virtualmachineinstancereplicasets", + }, + Verbs: []string{ + "get", "list", "watch", + }, + }, + }, + } +} + +func newPrivilegedServiceAccount(namespace string) *corev1.ServiceAccount { + return &corev1.ServiceAccount{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "v1", + Kind: "ServiceAccount", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt-privileged", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + } +} + +func newPrivilegedClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding { + return &rbacv1.ClusterRoleBinding{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRoleBinding", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt-privileged-cluster-admin", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + RoleRef: rbacv1.RoleRef{ + APIGroup: "rbac.authorization.k8s.io", + Kind: "ClusterRole", + Name: "cluster-admin", + }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Namespace: namespace, + Name: "kubevirt-privileged", + }, + }, + } +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/controller.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/controller.go new file mode 100644 index 000000000..7e9687a4c --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac/controller.go @@ -0,0 +1,249 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ +package rbac + +import ( + "fmt" + + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-operator/util" + + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + virtv1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/kubecli" +) + +func CreateControllerRBAC(clientset kubecli.KubevirtClient, kv *virtv1.KubeVirt, stores util.Stores, expectations *util.Expectations) (int, error) { + + objectsAdded := 0 + core := clientset.CoreV1() + kvkey, err := controller.KeyFunc(kv) + if err != nil { + return 0, err + } + + sa := newControllerServiceAccount(kv.Namespace) + if _, exists, _ := stores.ServiceAccountCache.Get(sa); !exists { + expectations.ServiceAccount.RaiseExpectations(kvkey, 1, 0) + _, err := core.ServiceAccounts(kv.Namespace).Create(sa) + if err != nil { + expectations.ServiceAccount.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create serviceaccount %+v: %v", sa, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("serviceaccount %v already exists", sa.GetName()) + } + + rbac := clientset.RbacV1() + + cr := newControllerClusterRole() + if _, exists, _ := stores.ClusterRoleCache.Get(cr); !exists { + expectations.ClusterRole.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.ClusterRoles().Create(cr) + if err != nil { + expectations.ClusterRole.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create clusterrole %+v: %v", cr, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("clusterrole %v already exists", cr.GetName()) + } + + crb := newControllerClusterRoleBinding(kv.Namespace) + if _, exists, _ := stores.ClusterRoleBindingCache.Get(crb); !exists { + expectations.ClusterRoleBinding.RaiseExpectations(kvkey, 1, 0) + _, err := rbac.ClusterRoleBindings().Create(crb) + if err != nil { + expectations.ClusterRoleBinding.LowerExpectations(kvkey, 1, 0) + return objectsAdded, fmt.Errorf("unable to create clusterrolebinding %+v: %v", crb, err) + } else if err == nil { + objectsAdded++ + } + } else { + log.Log.Infof("clusterrolebinding %v already exists", crb.GetName()) + } + + return objectsAdded, nil +} + +func GetAllController(namespace string) []interface{} { + return []interface{}{ + newControllerServiceAccount(namespace), + newControllerClusterRole(), + newControllerClusterRoleBinding(namespace), + } +} + +func newControllerServiceAccount(namespace string) *corev1.ServiceAccount { + return &corev1.ServiceAccount{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "v1", + Kind: "ServiceAccount", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: namespace, + Name: "kubevirt-controller", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + } +} + +func newControllerClusterRole() *rbacv1.ClusterRole { + return &rbacv1.ClusterRole{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRole", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt-controller", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + Rules: []rbacv1.PolicyRule{ + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "pods", "configmaps", "endpoints", + }, + Verbs: []string{ + "get", "list", "watch", "delete", "update", "create", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "events", + }, + Verbs: []string{ + "update", "create", "patch", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "pods/finalizers", + }, + Verbs: []string{ + "update", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "nodes", + }, + Verbs: []string{ + "get", "list", "watch", "update", "patch", + }, + }, + { + APIGroups: []string{ + "", + }, + Resources: []string{ + "persistentvolumeclaims", + }, + Verbs: []string{ + "get", "list", "watch", + }, + }, + { + APIGroups: []string{ + "kubevirt.io", + }, + Resources: []string{ + "*", + }, + Verbs: []string{ + "*", + }, + }, + { + APIGroups: []string{ + "cdi.kubevirt.io", + }, + Resources: []string{ + "*", + }, + Verbs: []string{ + "*", + }, + }, + { + APIGroups: []string{ + "k8s.cni.cncf.io", + }, + Resources: []string{ + "network-attachment-definitions", + }, + Verbs: []string{ + "get", "list", "watch", + }, + }, + }, + } +} + +func newControllerClusterRoleBinding(namespace string) *rbacv1.ClusterRoleBinding { + return &rbacv1.ClusterRoleBinding{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "rbac.authorization.k8s.io/v1", + Kind: "ClusterRoleBinding", + }, + ObjectMeta: metav1.ObjectMeta{ + Name: "kubevirt-controller", + Labels: map[string]string{ + virtv1.AppLabel: "", + virtv1.ManagedByLabel: virtv1.ManagedByLabelOperatorValue, + }, + }, + RoleRef: rbacv1.RoleRef{ + APIGroup: "rbac.authorization.k8s.io", + Kind: "ClusterRole", + Name: "kubevirt-controller", + }, + Subjects: []rbacv1.Subject{ + { + Kind: "ServiceAccount", + Namespace: namespace, + Name: "kubevirt-controller", + }, + }, + } +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/deletion/all.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/deletion/all.go new file mode 100644 index 000000000..91c040053 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/deletion/all.go @@ -0,0 +1,240 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package deletion + +import ( + "fmt" + + appsv1 "k8s.io/api/apps/v1" + corev1 "k8s.io/api/core/v1" + rbacv1 "k8s.io/api/rbac/v1" + extv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/kubecli" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-operator/util" +) + +func Delete(kv *v1.KubeVirt, clientset kubecli.KubevirtClient, stores util.Stores, expectations *util.Expectations) error { + + kvkey, err := controller.KeyFunc(kv) + if err != nil { + /// XXX this is not correct, we can't even process this object in the cache, we should do nothing + return err + } + + gracePeriod := int64(0) + deleteOptions := &metav1.DeleteOptions{ + GracePeriodSeconds: &gracePeriod, + } + + // first delete CRDs only + ext := clientset.ExtensionsClient() + objects := stores.CrdCache.List() + for _, obj := range objects { + if crd, ok := obj.(*extv1beta1.CustomResourceDefinition); ok && crd.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(crd); err == nil { + expectations.Crd.AddExpectedDeletion(kvkey, key) + err := ext.ApiextensionsV1beta1().CustomResourceDefinitions().Delete(crd.Name, deleteOptions) + if err != nil { + expectations.Crd.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete crd %+v: %v", crd, err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + + } + if !util.IsStoreEmpty(stores.CrdCache) { + // wait until CRDs are gone + return nil + } + + // delete handler daemonset + obj, exists, err := stores.DaemonSetCache.GetByKey(fmt.Sprintf("%s/%s", kv.Namespace, "virt-handler")) + if err != nil { + log.Log.Errorf("Failed to get virt-handler: %v", err) + return err + } else if exists { + if ds, ok := obj.(*appsv1.DaemonSet); ok && ds.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(ds); err == nil { + expectations.DaemonSet.AddExpectedDeletion(kvkey, key) + err := clientset.AppsV1().DaemonSets(kv.Namespace).Delete("virt-handler", deleteOptions) + if err != nil { + expectations.DaemonSet.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete virt-handler: %v", err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + + // delete controller and apiserver deployment + for _, name := range []string{"virt-controller", "virt-api"} { + obj, exists, err := stores.DeploymentCache.GetByKey(fmt.Sprintf("%s/%s", kv.Namespace, name)) + if err != nil { + log.Log.Errorf("Failed to get %v: %v", name, err) + return err + } else if exists { + if depl, ok := obj.(*appsv1.Deployment); ok && depl.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(depl); err == nil { + expectations.Deployment.AddExpectedDeletion(kvkey, key) + err := clientset.AppsV1().Deployments(kv.Namespace).Delete(name, deleteOptions) + if err != nil { + expectations.Deployment.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete virt-handler: %v", err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + } + + // delete services + objects = stores.ServiceCache.List() + for _, obj := range objects { + if svc, ok := obj.(*corev1.Service); ok && svc.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(svc); err == nil { + expectations.Service.AddExpectedDeletion(kvkey, key) + err := clientset.CoreV1().Services(kv.Namespace).Delete(svc.Name, deleteOptions) + if err != nil { + expectations.Service.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete service %+v: %v", svc, err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + + // delete RBAC + objects = stores.ClusterRoleBindingCache.List() + for _, obj := range objects { + if crb, ok := obj.(*rbacv1.ClusterRoleBinding); ok && crb.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(crb); err == nil { + expectations.ClusterRoleBinding.AddExpectedDeletion(kvkey, key) + err := clientset.RbacV1().ClusterRoleBindings().Delete(crb.Name, deleteOptions) + if err != nil { + expectations.ClusterRoleBinding.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete crb %+v: %v", crb, err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + + objects = stores.ClusterRoleCache.List() + for _, obj := range objects { + if cr, ok := obj.(*rbacv1.ClusterRole); ok && cr.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(cr); err == nil { + expectations.ClusterRole.AddExpectedDeletion(kvkey, key) + err := clientset.RbacV1().ClusterRoles().Delete(cr.Name, deleteOptions) + if err != nil { + expectations.ClusterRole.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete cr %+v: %v", cr, err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + + objects = stores.RoleBindingCache.List() + for _, obj := range objects { + if rb, ok := obj.(*rbacv1.RoleBinding); ok && rb.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(rb); err == nil { + expectations.RoleBinding.AddExpectedDeletion(kvkey, key) + err := clientset.RbacV1().RoleBindings(kv.Namespace).Delete(rb.Name, deleteOptions) + if err != nil { + expectations.RoleBinding.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete rb %+v: %v", rb, err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + + objects = stores.RoleCache.List() + for _, obj := range objects { + if role, ok := obj.(*rbacv1.Role); ok && role.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(role); err == nil { + expectations.Role.AddExpectedDeletion(kvkey, key) + err := clientset.RbacV1().Roles(kv.Namespace).Delete(role.Name, deleteOptions) + if err != nil { + expectations.Role.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete role %+v: %v", role, err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + + objects = stores.ServiceAccountCache.List() + for _, obj := range objects { + if sa, ok := obj.(*corev1.ServiceAccount); ok && sa.DeletionTimestamp == nil { + if key, err := controller.KeyFunc(sa); err == nil { + expectations.ServiceAccount.AddExpectedDeletion(kvkey, key) + err := clientset.CoreV1().ServiceAccounts(kv.Namespace).Delete(sa.Name, deleteOptions) + if err != nil { + expectations.ServiceAccount.DeletionObserved(kvkey, key) + log.Log.Errorf("Failed to delete serviceaccount %+v: %v", sa, err) + return err + } + } + } else if !ok { + log.Log.Errorf("Cast failed! obj: %+v", obj) + return nil + } + } + + err = util.UpdateScc(clientset, kv, false) + if err != nil { + log.Log.Errorf("Failed to update SCC: %v", err) + return err + } + + return nil + +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/kubevirt.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/kubevirt.go new file mode 100644 index 000000000..ddbc23418 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/kubevirt.go @@ -0,0 +1,520 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package virt_operator + +import ( + "fmt" + "reflect" + "time" + + "kubevirt.io/kubevirt/pkg/virt-operator/creation" + + k8sv1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/client-go/tools/cache" + "k8s.io/client-go/tools/record" + "k8s.io/client-go/util/workqueue" + + "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/controller" + "kubevirt.io/kubevirt/pkg/kubecli" + "kubevirt.io/kubevirt/pkg/log" + "kubevirt.io/kubevirt/pkg/virt-operator/deletion" + "kubevirt.io/kubevirt/pkg/virt-operator/util" +) + +const ( + ConditionReasonDeploymentFailedExisting = "ExistingDeployment" + ConditionReasonDeploymentFailedError = "DeploymentFailed" + ConditionReasonDeletionFailedError = "DeletionFailed" +) + +type KubeVirtController struct { + clientset kubecli.KubevirtClient + queue workqueue.RateLimitingInterface + kubeVirtInformer cache.SharedIndexInformer + recorder record.EventRecorder + config util.KubeVirtDeploymentConfig + stores util.Stores + informers util.Informers + kubeVirtExpectations util.Expectations +} + +func NewKubeVirtController( + clientset kubecli.KubevirtClient, + informer cache.SharedIndexInformer, + recorder record.EventRecorder, + stores util.Stores, + informers util.Informers) *KubeVirtController { + + c := KubeVirtController{ + clientset: clientset, + queue: workqueue.NewRateLimitingQueue(workqueue.DefaultControllerRateLimiter()), + kubeVirtInformer: informer, + recorder: recorder, + config: util.GetConfig(), + stores: stores, + informers: informers, + kubeVirtExpectations: util.Expectations{ + ServiceAccount: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("ServiceAccount")), + ClusterRole: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("ClusterRole")), + ClusterRoleBinding: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("ClusterRoleBinding")), + Role: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("Role")), + RoleBinding: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("RoleBinding")), + Crd: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("Crd")), + Service: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("Service")), + Deployment: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("Deployment")), + DaemonSet: controller.NewUIDTrackingControllerExpectations(controller.NewControllerExpectationsWithName("DaemonSet")), + }, + } + + c.kubeVirtInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: c.addKubeVirt, + DeleteFunc: c.deleteKubeVirt, + UpdateFunc: c.updateKubeVirt, + }) + + c.informers.ServiceAccount.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.ServiceAccount) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.ServiceAccount) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.ServiceAccount) + }, + }) + + c.informers.ClusterRole.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.ClusterRole) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.ClusterRole) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.ClusterRole) + }, + }) + + c.informers.ClusterRoleBinding.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.ClusterRoleBinding) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.ClusterRoleBinding) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.ClusterRoleBinding) + }, + }) + + c.informers.Role.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.Role) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.Role) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.Role) + }, + }) + + c.informers.RoleBinding.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.RoleBinding) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.RoleBinding) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.RoleBinding) + }, + }) + + c.informers.Crd.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.Crd) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.Crd) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.Crd) + }, + }) + + c.informers.Service.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.Service) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.Service) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.Service) + }, + }) + + c.informers.Deployment.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.Deployment) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.Deployment) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.Deployment) + }, + }) + + c.informers.DaemonSet.AddEventHandler(cache.ResourceEventHandlerFuncs{ + AddFunc: func(obj interface{}) { + c.genericAddHandler(obj, c.kubeVirtExpectations.DaemonSet) + }, + DeleteFunc: func(obj interface{}) { + c.genericDeleteHandler(obj, c.kubeVirtExpectations.DaemonSet) + }, + UpdateFunc: func(oldObj, newObj interface{}) { + c.genericUpdateHandler(oldObj, newObj, c.kubeVirtExpectations.DaemonSet) + }, + }) + + return &c +} + +func (c *KubeVirtController) getOperatorKey() (string, error) { + // XXX use owner references instead in general + kvs := c.kubeVirtInformer.GetStore().List() + if len(kvs) > 1 { + log.Log.Errorf("More than one KubeVirt custom resource detectged: %v", len(kvs)) + return "", fmt.Errorf("more than one KubeVirt custom resource detectged: %v", len(kvs)) + } + + if len(kvs) == 1 { + kv := kvs[0].(*v1.KubeVirt) + return controller.KeyFunc(kv) + } + return "", nil +} + +func (c *KubeVirtController) genericAddHandler(obj interface{}, expecter *controller.UIDTrackingControllerExpectations) { + o := obj.(metav1.Object) + + if o.GetDeletionTimestamp() != nil { + // on a restart of the controller manager, it's possible a new o shows up in a state that + // is already pending deletion. Prevent the o from being a creation observation. + c.genericDeleteHandler(obj, expecter) + return + } + + controllerKey, err := c.getOperatorKey() + if controllerKey != "" && err == nil { + expecter.CreationObserved(controllerKey) + c.queue.Add(controllerKey) + } +} + +// When an object is updated, inform the kubevirt CR about the change +func (c *KubeVirtController) genericUpdateHandler(old, cur interface{}, expecter *controller.UIDTrackingControllerExpectations) { + curObj := cur.(metav1.Object) + oldObj := old.(metav1.Object) + if curObj.GetResourceVersion() == oldObj.GetResourceVersion() { + // Periodic resync will send update events for all known objects. + // Two different versions of the same object will always have different RVs. + return + } + + if curObj.GetDeletionTimestamp() != nil { + // having an object marked for deletion is enough to count as a deletion expectation + c.genericDeleteHandler(curObj, expecter) + return + } + key, err := c.getOperatorKey() + if key != "" && err == nil { + c.queue.Add(key) + } + return +} + +// When an object is deleted, mark objects as deleted and wake up the kubevirt CR +func (c *KubeVirtController) genericDeleteHandler(obj interface{}, expecter *controller.UIDTrackingControllerExpectations) { + var o metav1.Object + tombstone, ok := obj.(cache.DeletedFinalStateUnknown) + if ok { + o, ok = tombstone.Obj.(metav1.Object) + if !ok { + log.Log.Reason(fmt.Errorf("tombstone contained object that is not a k8s object %#v", obj)).Error("Failed to process delete notification") + return + } + } else if o, ok = obj.(metav1.Object); !ok { + log.Log.Reason(fmt.Errorf("couldn't get object from %+v", obj)).Error("Failed to process delete notification") + return + } + + k, err := controller.KeyFunc(o) + if err != nil { + log.Log.Reason(err).Errorf("could not extract key from k8s object") + return + } + + key, err := c.getOperatorKey() + if key != "" && err == nil { + expecter.DeletionObserved(key, k) + c.queue.Add(key) + } +} + +func (c *KubeVirtController) addKubeVirt(obj interface{}) { + c.enqueueKubeVirt(obj) +} + +func (c *KubeVirtController) deleteKubeVirt(obj interface{}) { + c.enqueueKubeVirt(obj) +} + +func (c *KubeVirtController) updateKubeVirt(old, curr interface{}) { + c.enqueueKubeVirt(curr) +} + +func (c *KubeVirtController) enqueueKubeVirt(obj interface{}) { + logger := log.Log + kv := obj.(*v1.KubeVirt) + key, err := controller.KeyFunc(kv) + if err != nil { + logger.Object(kv).Reason(err).Error("Failed to extract key from KubeVirt.") + } + c.queue.Add(key) +} + +func (c *KubeVirtController) Run(threadiness int, stopCh chan struct{}) { + defer controller.HandlePanic() + defer c.queue.ShutDown() + log.Log.Info("Starting KubeVirt controller.") + + // Wait for cache sync before we start the controller + cache.WaitForCacheSync(stopCh, c.kubeVirtInformer.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.ServiceAccount.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.ClusterRole.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.ClusterRoleBinding.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.Role.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.RoleBinding.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.Crd.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.Service.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.Deployment.HasSynced) + cache.WaitForCacheSync(stopCh, c.informers.DaemonSet.HasSynced) + + // Start the actual work + for i := 0; i < threadiness; i++ { + go wait.Until(c.runWorker, time.Second, stopCh) + } + + <-stopCh + log.Log.Info("Stopping KubeVirt controller.") +} + +func (c *KubeVirtController) runWorker() { + for c.Execute() { + } +} + +func (c *KubeVirtController) Execute() bool { + key, quit := c.queue.Get() + if quit { + return false + } + defer c.queue.Done(key) + err := c.execute(key.(string)) + + if err != nil { + log.Log.Reason(err).Infof("reenqueuing KubeVirt %v", key) + c.queue.AddRateLimited(key) + } else { + log.Log.V(4).Infof("processed KubeVirt %v", key) + c.queue.Forget(key) + } + return true +} + +func (c *KubeVirtController) execute(key string) error { + + // Fetch the latest KubeVirt from cache + obj, exists, err := c.kubeVirtInformer.GetStore().GetByKey(key) + + if err != nil { + return err + } + + if !exists { + // when the resource is gone, deletion was handled already + log.Log.Infof("KubeVirt resource not found") + c.kubeVirtExpectations.DeleteExpectations(key) + return nil + } + + kv := obj.(*v1.KubeVirt) + logger := log.Log.Object(kv) + + // If we can't extract the key we can't do anything + _, err = controller.KeyFunc(kv) + if err != nil { + log.Log.Reason(err).Errorf("Could not extract the key from the custom resource, will do nothing and not requeue.") + return nil + } + + logger.Info("Handling KubeVirt resource") + + // only process the kubevirt deployment if all expectations are satisfied. + needsSync := c.kubeVirtExpectations.SatisfiedExpectations(key) + if !needsSync { + logger.Info("Waiting for expectations to be fulfilled") + return nil + } + + // Adds of all types are not done in one go. We need to set an expectation of 0 so that we can add something + c.kubeVirtExpectations.ResetExpectations(key) + + var syncError error + kvCopy := kv.DeepCopy() + + if kv.DeletionTimestamp != nil { + syncError = c.syncDeletion(kvCopy) + } else { + syncError = c.syncDeployment(kvCopy) + } + + // If we detect a change on KubeVirt we update it + if !reflect.DeepEqual(kv.Status, kvCopy.Status) || + !reflect.DeepEqual(kv.Finalizers, kvCopy.Finalizers) { + + _, err := c.clientset.KubeVirt(kv.Namespace).Update(kvCopy) + + if err != nil { + logger.Reason(err).Errorf("Could not update the KubeVirt resource.") + return err + } + } + + return syncError +} + +func (c *KubeVirtController) syncDeployment(kv *v1.KubeVirt) error { + logger := log.Log.Object(kv) + logger.Infof("Handling deployment") + + if kv.Status.Phase == v1.KubeVirtPhaseDeployed { + logger.Info("Is already deployed") + return nil + } + + // Set versions... + if kv.Status.OperatorVersion == "" { + util.SetVersions(kv, c.config) + } + + // Set phase to deploying + kv.Status.Phase = v1.KubeVirtPhaseDeploying + + // check if there is already an active KubeVirt deployment + // TODO move this into a new validating webhook + kvs := c.kubeVirtInformer.GetStore().List() + for _, obj := range kvs { + if fromStore, ok := obj.(v1.KubeVirt); ok { + if fromStore.UID == kv.UID { + continue + } + if isKubeVirtActive(&fromStore) { + logger.Warningf("There is already a KubeVirt deployment!") + util.UpdateCondition(kv, v1.KubeVirtConditionSynchronized, k8sv1.ConditionFalse, ConditionReasonDeploymentFailedExisting, "There is an active KubeVirt deployment") + return nil + } + } + } + + // add finalizer to prevent deletion of CR before KubeVirt was undeployed + util.AddFinalizer(kv) + + // deploy + objectsAdded, err := creation.Create(kv, c.config, c.stores, c.clientset, &c.kubeVirtExpectations) + + if err != nil { + // deployment failed + util.UpdateCondition(kv, v1.KubeVirtConditionSynchronized, k8sv1.ConditionFalse, ConditionReasonDeploymentFailedError, fmt.Sprintf("An error occurred during deployment: %v", err)) + if err != nil { + logger.Errorf("Failed to set condition: %v", err) + } + return err + } + + if objectsAdded == 0 { + // deployment successful + kv.Status.Phase = v1.KubeVirtPhaseDeployed + kv.Status.Conditions = []v1.KubeVirtCondition{} + + logger.Info("KubeVirt deployed") + return nil + } + + logger.Info("Processed deployment for this round") + return nil +} + +func (c *KubeVirtController) syncDeletion(kv *v1.KubeVirt) error { + logger := log.Log.Object(kv) + logger.Info("Handling deletion") + + // delete + if kv.Status.Phase == v1.KubeVirtPhaseDeleted { + logger.Info("Is already deleted") + return nil + } + + // set phase to deleting + kv.Status.Phase = v1.KubeVirtPhaseDeleting + + err := deletion.Delete(kv, c.clientset, c.stores, &c.kubeVirtExpectations) + if err != nil { + // deletion failed + util.UpdateCondition(kv, v1.KubeVirtConditionSynchronized, k8sv1.ConditionFalse, ConditionReasonDeletionFailedError, fmt.Sprintf("An error occurred during deletion: %v", err)) + return err + } + + if c.stores.AllEmpty() { + + // deletion successful + kv.Status.Phase = v1.KubeVirtPhaseDeleted + kv.Status.Conditions = []v1.KubeVirtCondition{} + kv.Finalizers = []string{} + + logger.Info("KubeVirt deleted") + + return nil + } + + logger.Info("Processed deletion for this round") + return nil +} + +func isKubeVirtActive(kv *v1.KubeVirt) bool { + return kv.Status.Phase != v1.KubeVirtPhaseDeleted +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/client.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/client.go new file mode 100644 index 000000000..5ab779c91 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/client.go @@ -0,0 +1,182 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package util + +import ( + "fmt" + "time" + + "kubevirt.io/kubevirt/pkg/log" + + k8sv1 "k8s.io/api/core/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + virtv1 "kubevirt.io/kubevirt/pkg/api/v1" + "kubevirt.io/kubevirt/pkg/kubecli" + "kubevirt.io/kubevirt/pkg/version" +) + +const ( + KubeVirtFinalizer string = "foregroundDeleteKubeVirt" +) + +func UpdateCondition(kv *virtv1.KubeVirt, conditionType virtv1.KubeVirtConditionType, status k8sv1.ConditionStatus, reason string, message string) { + + condition, isNew := getCondition(kv, conditionType) + transition := false + if !isNew && (condition.Status != status || condition.Reason != reason || condition.Message != message) { + transition = true + } + + condition.Status = status + condition.Reason = reason + condition.Message = message + now := time.Now() + condition.LastProbeTime = metav1.Time{ + Time: now, + } + if transition { + condition.LastTransitionTime = metav1.Time{ + Time: now, + } + } + + conditions := kv.Status.Conditions + if isNew { + conditions = append(conditions, *condition) + } else { + for i := range conditions { + if conditions[i].Type == conditionType { + conditions[i] = *condition + break + } + } + } + + kv.Status.Conditions = conditions + +} + +func getCondition(kv *virtv1.KubeVirt, conditionType virtv1.KubeVirtConditionType) (*virtv1.KubeVirtCondition, bool) { + for _, condition := range kv.Status.Conditions { + if condition.Type == conditionType { + return &condition, false + } + } + condition := &virtv1.KubeVirtCondition{ + Type: conditionType, + } + return condition, true +} + +func AddFinalizer(kv *virtv1.KubeVirt) { + if !hasFinalizer(kv) { + kv.Finalizers = append(kv.Finalizers, KubeVirtFinalizer) + } +} + +func hasFinalizer(kv *virtv1.KubeVirt) bool { + for _, f := range kv.GetFinalizers() { + if f == KubeVirtFinalizer { + return true + } + } + return false +} + +func SetVersions(kv *virtv1.KubeVirt, config KubeVirtDeploymentConfig) { + + kv.Status.OperatorVersion = version.Get().String() + + // Note: for now we just set targetKubeVirtVersion and observedKubeVirtVersion to the tag of the operator image + // In future this needs some more work... + kv.Status.TargetKubeVirtVersion = config.ImageTag + kv.Status.ObservedKubeVirtVersion = config.ImageTag + +} + +func UpdateScc(clientset kubecli.KubevirtClient, kv *virtv1.KubeVirt, add bool) error { + + secClient := clientset.SecClient() + + privScc, err := secClient.SecurityContextConstraints().Get("privileged", metav1.GetOptions{}) + if err != nil { + if apierrors.IsNotFound(err) { + // we are mot on openshift? + log.Log.V(4).Infof("unable to get scc, we are probably not on openshift: %v", err) + return nil + } else { + return fmt.Errorf("unable to get scc: %v", err) + } + } + + var kubeVirtAccounts []string + prefix := "system:serviceaccount" + kubeVirtAccounts = append(kubeVirtAccounts, fmt.Sprintf("%s:%s:%s", prefix, kv.Namespace, "kubevirt-privileged")) + kubeVirtAccounts = append(kubeVirtAccounts, fmt.Sprintf("%s:%s:%s", prefix, kv.Namespace, "kubevirt-apiserver")) + kubeVirtAccounts = append(kubeVirtAccounts, fmt.Sprintf("%s:%s:%s", prefix, kv.Namespace, "kubevirt-controller")) + + modified := false + users := privScc.Users + for _, acc := range kubeVirtAccounts { + if add { + if !contains(users, acc) { + users = append(users, acc) + modified = true + } + } else { + removed := false + users, removed = remove(users, acc) + modified = modified || removed + } + } + if modified { + privScc.Users = users + _, err = secClient.SecurityContextConstraints().Update(privScc) + if err != nil { + return fmt.Errorf("unable to update scc: %v", err) + } + } + + return nil +} + +func contains(users []string, user string) bool { + for _, u := range users { + if u == user { + return true + } + } + return false +} + +func remove(users []string, user string) ([]string, bool) { + var newUsers []string + modified := false + for _, u := range users { + if u != user { + newUsers = append(newUsers, u) + } else { + modified = true + } + } + return newUsers, modified +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go new file mode 100644 index 000000000..e8e4a3787 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/config.go @@ -0,0 +1,51 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package util + +import ( + "os" + "regexp" + "strings" +) + +const ( + // Name of env var containing the operator's image name + OperatorImageEnvName = "OPERATOR_IMAGE" +) + +type KubeVirtDeploymentConfig struct { + ImageRegistry string + ImageTag string +} + +func GetConfig() KubeVirtDeploymentConfig { + imageString := os.Getenv(OperatorImageEnvName) + imageRegEx := regexp.MustCompile(`^(.*)/virt-operator(:.*)?$`) + matches := imageRegEx.FindAllStringSubmatch(imageString, 1) + registry := matches[0][1] + tag := strings.TrimPrefix(matches[0][2], ":") + if tag == "" { + tag = "latest" + } + return KubeVirtDeploymentConfig{ + ImageRegistry: registry, + ImageTag: tag, + } +} diff --git a/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/types.go b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/types.go new file mode 100644 index 000000000..6c9a075c7 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/pkg/virt-operator/util/types.go @@ -0,0 +1,113 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2019 Red Hat, Inc. + * + */ +package util + +import ( + "k8s.io/client-go/tools/cache" + + "kubevirt.io/kubevirt/pkg/controller" +) + +type Stores struct { + ServiceAccountCache cache.Store + ClusterRoleCache cache.Store + ClusterRoleBindingCache cache.Store + RoleCache cache.Store + RoleBindingCache cache.Store + CrdCache cache.Store + ServiceCache cache.Store + DeploymentCache cache.Store + DaemonSetCache cache.Store +} + +func (s *Stores) AllEmpty() bool { + return IsStoreEmpty(s.ServiceAccountCache) && + IsStoreEmpty(s.ClusterRoleCache) && + IsStoreEmpty(s.ClusterRoleBindingCache) && + IsStoreEmpty(s.RoleCache) && + IsStoreEmpty(s.RoleBindingCache) && + IsStoreEmpty(s.CrdCache) && + IsStoreEmpty(s.ServiceCache) && + IsStoreEmpty(s.DeploymentCache) && + IsStoreEmpty(s.DaemonSetCache) +} + +func IsStoreEmpty(store cache.Store) bool { + return len(store.ListKeys()) == 0 +} + +type Expectations struct { + ServiceAccount *controller.UIDTrackingControllerExpectations + ClusterRole *controller.UIDTrackingControllerExpectations + ClusterRoleBinding *controller.UIDTrackingControllerExpectations + Role *controller.UIDTrackingControllerExpectations + RoleBinding *controller.UIDTrackingControllerExpectations + Crd *controller.UIDTrackingControllerExpectations + Service *controller.UIDTrackingControllerExpectations + Deployment *controller.UIDTrackingControllerExpectations + DaemonSet *controller.UIDTrackingControllerExpectations +} + +type Informers struct { + ServiceAccount cache.SharedIndexInformer + ClusterRole cache.SharedIndexInformer + ClusterRoleBinding cache.SharedIndexInformer + Role cache.SharedIndexInformer + RoleBinding cache.SharedIndexInformer + Crd cache.SharedIndexInformer + Service cache.SharedIndexInformer + Deployment cache.SharedIndexInformer + DaemonSet cache.SharedIndexInformer +} + +func (e *Expectations) DeleteExpectations(key string) { + e.ServiceAccount.DeleteExpectations(key) + e.ClusterRole.DeleteExpectations(key) + e.ClusterRoleBinding.DeleteExpectations(key) + e.Role.DeleteExpectations(key) + e.RoleBinding.DeleteExpectations(key) + e.Crd.DeleteExpectations(key) + e.Service.DeleteExpectations(key) + e.Deployment.DeleteExpectations(key) + e.DaemonSet.DeleteExpectations(key) +} + +func (e *Expectations) ResetExpectations(key string) { + e.ServiceAccount.SetExpectations(key, 0, 0) + e.ClusterRole.SetExpectations(key, 0, 0) + e.ClusterRoleBinding.SetExpectations(key, 0, 0) + e.Role.SetExpectations(key, 0, 0) + e.RoleBinding.SetExpectations(key, 0, 0) + e.Crd.SetExpectations(key, 0, 0) + e.Service.SetExpectations(key, 0, 0) + e.Deployment.SetExpectations(key, 0, 0) + e.DaemonSet.SetExpectations(key, 0, 0) +} + +func (e *Expectations) SatisfiedExpectations(key string) bool { + return e.ServiceAccount.SatisfiedExpectations(key) && + e.ClusterRole.SatisfiedExpectations(key) && + e.ClusterRoleBinding.SatisfiedExpectations(key) && + e.Role.SatisfiedExpectations(key) && + e.RoleBinding.SatisfiedExpectations(key) && + e.Crd.SatisfiedExpectations(key) && + e.Service.SatisfiedExpectations(key) && + e.Deployment.SatisfiedExpectations(key) && + e.DaemonSet.SatisfiedExpectations(key) +} diff --git a/vendor/kubevirt.io/kubevirt/stdci.yaml b/vendor/kubevirt.io/kubevirt/stdci.yaml index e4dc11044..fb025020c 100644 --- a/vendor/kubevirt.io/kubevirt/stdci.yaml +++ b/vendor/kubevirt.io/kubevirt/stdci.yaml @@ -1,19 +1,17 @@ --- sub-stages: - - k8s-1.10.4-release: + - k8s-1.10.11: timeout: 4h - - k8s-1.11.0-dev: + - k8s-1.11.0: timeout: 4h - - k8s-1.11.0-release: + - k8s-multus-1.12.2 + - k8s-genie-1.11.1 + - openshift-3.11: timeout: 4h - - k8s-multus-1.12.2-release - - k8s-genie-1.11.1-release - - openshift-3.11-release: + - openshift-3.11-crio: timeout: 4h - - openshift-3.11-crio-release: - timeout: 4h - - openshift-3.11-multus-release - - windows2016-release + - openshift-3.11-multus + - windows2016 runtime_requirements: support_nesting_level: 2 isolation_level: container diff --git a/vendor/kubevirt.io/kubevirt/tests/Dockerfile b/vendor/kubevirt.io/kubevirt/tests/Dockerfile new file mode 100644 index 000000000..a97d6fbfa --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/tests/Dockerfile @@ -0,0 +1,46 @@ +# +# This file is part of the KubeVirt project +# +# 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. +# +# Copyright 2018 Red Hat, Inc. +# + +FROM fedora:28 + +MAINTAINER "The KubeVirt Project" + +ENV USER_ID=1001 +ENV USER_NAME=kubevirt-tests +ENV WORKSPACE=/home/${USER_NAME} +ENV DATA_DIR=${WORKSPACE}/data +ENV RESULTS_DIR=${DATA_DIR}/results +ENV TEST_MANIFESTS_DIR=${DATA_DIR}/manifests + +# Create non-root user and install dependencies +RUN yum install -y findutils && \ + yum clean all && \ + useradd -u "${USER_ID}" --create-home -s /bin/bash ${USER_NAME} && \ + mkdir "${DATA_DIR}" + +WORKDIR "${WORKSPACE}" +USER "${USER_ID}" + +VOLUME ["${DATA_DIR}"] + +ADD entrypoint.sh ${WORKSPACE}/entrypoint.sh +ADD tests.test ${WORKSPACE}/tests.test +ADD manifests ${WORKSPACE}/ +ADD manifest-templator ${WORKSPACE}/ + +ENTRYPOINT [ "./entrypoint.sh" ] diff --git a/vendor/kubevirt.io/kubevirt/tests/README.md b/vendor/kubevirt.io/kubevirt/tests/README.md index 0f676ad0d..36fcbf7bf 100644 --- a/vendor/kubevirt.io/kubevirt/tests/README.md +++ b/vendor/kubevirt.io/kubevirt/tests/README.md @@ -20,3 +20,24 @@ taken from hack/config.sh: # from the git repo root folder make functest ``` + +## Run them anywhere inside of container + +``` +# Create directory for data / results / kubectl binary +mkdir -p /tmp/kubevirt-tests-data +# Make sure that eveybody can write there +setfacl -m d:o:rwx /tmp/kubevirt-tests-data +setfacl -m o:rwx /tmp/kubevirt-tests-data + +docker run \ + -v /tmp/kubevirt-tests-data:/home/kubevirt-tests/data:rw,z --rm \ + kubevirt/tests:latest \ + --kubeconfig=data/openshift-master.kubeconfig \ + --container-tag=latest \ + --container-prefix=docker.io/kubevirt \ + --test.timeout 180m \ + --junit-output=data/results/junit.xml \ + --deploy-testing-infra \ + --path-to-testing-infra-manifests=data/manifests +``` diff --git a/vendor/kubevirt.io/kubevirt/tests/entrypoint.sh b/vendor/kubevirt.io/kubevirt/tests/entrypoint.sh new file mode 100755 index 000000000..16bb99710 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/tests/entrypoint.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +# +# This file is part of the KubeVirt project +# +# 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. +# +# Copyright 2018 Red Hat, Inc. +# + +set -e + +mkdir -p "${RESULTS_DIR}" +mkdir -p "${TEST_MANIFESTS_DIR}" + +# Generate manifests for testing +for input in $(find manifests/testing -type f -name "*.yaml.in") ; +do + # Strip .in suffix from file name + outfile=${TEST_MANIFESTS_DIR}/$(basename ${input%%.in}) + # Format manifest + ./manifest-templator "$@" \ + --generated-manifests-dir=manifests/generated \ + --input-file=${input} > ${outfile} +done + +# Execute tests +./tests.test "$@" diff --git a/vendor/kubevirt.io/kubevirt/tests/utils.go b/vendor/kubevirt.io/kubevirt/tests/utils.go index 38fbfb28f..cad3a59c2 100644 --- a/vendor/kubevirt.io/kubevirt/tests/utils.go +++ b/vendor/kubevirt.io/kubevirt/tests/utils.go @@ -28,6 +28,7 @@ import ( "fmt" "io" "io/ioutil" + "net/http" "os" "os/exec" "path/filepath" @@ -37,22 +38,26 @@ import ( "strings" "time" - "github.com/ghodss/yaml" + ghodssyaml "github.com/ghodss/yaml" "github.com/google/goexpect" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" "github.com/spf13/cobra" k8sv1 "k8s.io/api/core/v1" + k8sextv1beta1 "k8s.io/api/extensions/v1beta1" rbacv1 "k8s.io/api/rbac/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/rand" + "k8s.io/apimachinery/pkg/util/yaml" k8sversion "k8s.io/apimachinery/pkg/version" "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/tools/remotecommand" @@ -77,14 +82,19 @@ var KubeVirtOcPath = "" var KubeVirtVirtctlPath = "" var KubeVirtInstallNamespace string +var DeployTestingInfrastructureFlag = false +var PathToTestingInfrastrucureManifests = "" + func init() { - flag.StringVar(&KubeVirtVersionTag, "tag", "latest", "Set the image tag or digest to use") - flag.StringVar(&KubeVirtRepoPrefix, "prefix", "kubevirt", "Set the repository prefix for all images") + flag.StringVar(&KubeVirtVersionTag, "container-tag", "latest", "Set the image tag or digest to use") + flag.StringVar(&KubeVirtRepoPrefix, "container-prefix", "kubevirt", "Set the repository prefix for all images") flag.StringVar(&ContainerizedDataImporterNamespace, "cdi-namespace", "kube-system", "Set the repository prefix for CDI components") flag.StringVar(&KubeVirtKubectlPath, "kubectl-path", "", "Set path to kubectl binary") flag.StringVar(&KubeVirtOcPath, "oc-path", "", "Set path to oc binary") flag.StringVar(&KubeVirtVirtctlPath, "virtctl-path", "", "Set path to virtctl binary") flag.StringVar(&KubeVirtInstallNamespace, "installed-namespace", "kubevirt", "Set the namespace KubeVirt is installed in") + flag.BoolVar(&DeployTestingInfrastructureFlag, "deploy-testing-infra", false, "Deploy testing infrastructure if set") + flag.StringVar(&PathToTestingInfrastrucureManifests, "path-to-testing-infra-manifests", "manifests/testing", "Set path to testing infrastructure manifests") } type EventType string @@ -353,6 +363,70 @@ func (w *ObjectEventWatcher) WaitNotFor(stopChan chan struct{}, eventType EventT return } +// Do scale and retuns error, replicas-before. +func DoScaleDeployment(namespace string, name string, desired int32) (error, int32) { + virtCli, err := kubecli.GetKubevirtClient() + PanicOnError(err) + + deployment, err := virtCli.ExtensionsV1beta1().Deployments(namespace).Get(name, metav1.GetOptions{}) + if err != nil { + return err, -1 + } + scale := &k8sextv1beta1.Scale{Spec: k8sextv1beta1.ScaleSpec{Replicas: desired}, ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace}} + scale, err = virtCli.ExtensionsV1beta1().Deployments(namespace).UpdateScale(name, scale) + if err != nil { + return err, -1 + } + return nil, *deployment.Spec.Replicas +} + +func DoScaleVirtHandler(namespace string, name string, selector map[string]string) (int32, map[string]string, int64, error) { + virtCli, err := kubecli.GetKubevirtClient() + PanicOnError(err) + + d, err := virtCli.ExtensionsV1beta1().DaemonSets(namespace).Get(name, metav1.GetOptions{}) + if err != nil { + return 0, nil, 0, err + } + sel := d.Spec.Template.Spec.NodeSelector + ready := d.Status.DesiredNumberScheduled + d.Spec.Template.Spec.NodeSelector = selector + d, err = virtCli.ExtensionsV1beta1().DaemonSets(namespace).Update(d) + if err != nil { + return 0, nil, 0, err + } + return ready, sel, d.ObjectMeta.Generation, nil +} + +func WaitForAllPodsReady(timeout time.Duration, listOptions metav1.ListOptions) { + checkForPodsToBeReady := func() []string { + podsNotReady := make([]string, 0) + virtClient, err := kubecli.GetKubevirtClient() + PanicOnError(err) + + podsList, err := virtClient.CoreV1().Pods(k8sv1.NamespaceAll).List(listOptions) + PanicOnError(err) + for _, pod := range podsList.Items { + for _, status := range pod.Status.ContainerStatuses { + if status.State.Terminated != nil { + break // We don't care about terminated pods + } else if status.State.Running != nil { + if !status.Ready { // We need to wait for this one + podsNotReady = append(podsNotReady, pod.Name) + break + } + } else { + // It is in Waiting state, We need to wait for this one + podsNotReady = append(podsNotReady, pod.Name) + break + } + } + } + return podsNotReady + } + Eventually(checkForPodsToBeReady, timeout, 2*time.Second).Should(BeEmpty(), "The are pods in system which are not ready.") +} + func AfterTestSuitCleanup() { // Make sure that the namespaces exist, to not have to check in the cleanup code for existing namespaces createNamespaces() @@ -365,7 +439,11 @@ func AfterTestSuitCleanup() { DeletePVC(osAlpineHostPath) DeletePV(osAlpineHostPath) + if DeployTestingInfrastructureFlag { + WipeTestingInfrastructure() + } removeNamespaces() + } func BeforeTestCleanup() { @@ -378,6 +456,10 @@ func BeforeTestSuitSetup() { createNamespaces() createServiceAccounts() + if DeployTestingInfrastructureFlag { + WipeTestingInfrastructure() + DeployTestingInfrastructure() + } CreateHostPathPv(osAlpineHostPath, HostPathAlpine) CreateHostPathPVC(osAlpineHostPath, defaultDiskSize) @@ -558,6 +640,204 @@ func CreateHostPathPvWithSize(osName string, hostPath string, size string) { } } +func GetListOfManifests(pathToManifestsDir string) []string { + var manifests []string + isOpenshift := IsOpenShift() + matchFileName := func(pattern, filename string) bool { + match, err := filepath.Match(pattern, filename) + if err != nil { + panic(err) + } + return match + } + err := filepath.Walk(pathToManifestsDir, func(path string, info os.FileInfo, err error) error { + if err != nil { + fmt.Printf("ERROR: Can not access a path %q: %v\n", path, err) + return err + } + if !info.IsDir() { + if matchFileName("*-for-ocp.yaml", info.Name()) { + if isOpenshift { + manifests = append(manifests, path) + } + } else if matchFileName("*-for-k8s.yaml", info.Name()) { + if !isOpenshift { + manifests = append(manifests, path) + } + } else if matchFileName("*.yaml", info.Name()) { + manifests = append(manifests, path) + } + } + return nil + }) + if err != nil { + fmt.Printf("ERROR: Walking the path %q: %v\n", pathToManifestsDir, err) + panic(err) + } + return manifests +} + +func ReadManifestYamlFile(pathToManifest string) []unstructured.Unstructured { + var objects []unstructured.Unstructured + stream, err := os.Open(pathToManifest) + PanicOnError(err) + + decoder := yaml.NewYAMLOrJSONDecoder(stream, 1024) + for { + obj := map[string]interface{}{} + err := decoder.Decode(&obj) + if err == io.EOF { + break + } else if err != nil { + panic(err) + } + if len(obj) == 0 { + continue + } + objects = append(objects, unstructured.Unstructured{Object: obj}) + } + return objects +} + +func isNamespaceScoped(kind schema.GroupVersionKind) bool { + switch kind.Kind { + case "ClusterRole", "ClusterRoleBinding": + return false + } + return true +} + +func IsOpenShift() bool { + virtClient, err := kubecli.GetKubevirtClient() + PanicOnError(err) + + result := virtClient.RestClient().Get().AbsPath("/version/openshift").Do() + + var statusCode int + result.StatusCode(&statusCode) + + if result.Error() == nil { + // It is OpenShift + if statusCode == http.StatusOK { + return true + } + } else { + // Got 404 so this is not Openshift + if statusCode == http.StatusNotFound { + return false + } + } + fmt.Printf(fmt.Sprintf("ERROR: Can not determine cluster type %#v\n", result)) + panic(err) +} + +func composeResourceURI(object unstructured.Unstructured) string { + uri := "/api" + if object.GetAPIVersion() != "v1" { + uri += "s" + } + uri += "/" + object.GetAPIVersion() + if object.GetNamespace() != "" && isNamespaceScoped(object.GroupVersionKind()) { + uri += "/namespaces/" + object.GetNamespace() + } + uri += "/" + strings.ToLower(object.GetKind()) + if !strings.HasSuffix(object.GetKind(), "s") { + uri += "s" + } + return uri +} + +func ApplyRawManifest(object unstructured.Unstructured) error { + virtCli, err := kubecli.GetKubevirtClient() + PanicOnError(err) + + uri := composeResourceURI(object) + jsonbody, err := object.MarshalJSON() + PanicOnError(err) + b, err := virtCli.CoreV1().RESTClient().Post().RequestURI(uri).Body(jsonbody).DoRaw() + if err != nil { + fmt.Printf(fmt.Sprintf("ERROR: Can not apply %s\n", object)) + panic(err) + } + status := unstructured.Unstructured{} + return json.Unmarshal(b, &status) +} + +func DeleteRawManifest(object unstructured.Unstructured) error { + virtCli, err := kubecli.GetKubevirtClient() + PanicOnError(err) + + uri := composeResourceURI(object) + uri = uri + "/" + object.GetName() + result := virtCli.CoreV1().RESTClient().Delete().RequestURI(uri).Do() + if result.Error() != nil && !errors.IsNotFound(result.Error()) { + fmt.Printf(fmt.Sprintf("ERROR: Can not delete %s err: %#v %s\n", object.GetName(), result.Error(), object)) + panic(err) + } + return nil +} + +func deployOrWipeTestingInfrastrucure(actionOnObject func(unstructured.Unstructured) error) { + // Scale down KubeVirt + err, replicasApi := DoScaleDeployment(KubeVirtInstallNamespace, "virt-api", 0) + PanicOnError(err) + err, replicasController := DoScaleDeployment(KubeVirtInstallNamespace, "virt-controller", 0) + PanicOnError(err) + daemonInstances, selector, _, err := DoScaleVirtHandler(KubeVirtInstallNamespace, "virt-handler", map[string]string{"kubevirt.io": "scaletozero"}) + PanicOnError(err) + // Deploy / delete test infrastructure / dependencies + manifests := GetListOfManifests(PathToTestingInfrastrucureManifests) + for _, manifest := range manifests { + objects := ReadManifestYamlFile(manifest) + for _, obj := range objects { + err := actionOnObject(obj) + PanicOnError(err) + } + } + // Scale KubeVirt back + err, _ = DoScaleDeployment(KubeVirtInstallNamespace, "virt-api", replicasApi) + PanicOnError(err) + err, _ = DoScaleDeployment(KubeVirtInstallNamespace, "virt-controller", replicasController) + PanicOnError(err) + _, _, newGeneration, err := DoScaleVirtHandler(KubeVirtInstallNamespace, "virt-handler", selector) + virtCli, err := kubecli.GetKubevirtClient() + PanicOnError(err) + + Eventually(func() int32 { + d, err := virtCli.ExtensionsV1beta1().Deployments(KubeVirtInstallNamespace).Get("virt-api", metav1.GetOptions{}) + Expect(err).ToNot(HaveOccurred()) + return d.Status.ReadyReplicas + }, 3*time.Minute, 2*time.Second).Should(Equal(replicasApi), "virt-api is not ready") + + Eventually(func() int32 { + d, err := virtCli.ExtensionsV1beta1().Deployments(KubeVirtInstallNamespace).Get("virt-controller", metav1.GetOptions{}) + Expect(err).ToNot(HaveOccurred()) + return d.Status.ReadyReplicas + }, 3*time.Minute, 2*time.Second).Should(Equal(replicasController), "virt-controller is not ready") + + Eventually(func() int64 { + d, err := virtCli.ExtensionsV1beta1().DaemonSets(KubeVirtInstallNamespace).Get("virt-handler", metav1.GetOptions{}) + Expect(err).ToNot(HaveOccurred()) + return d.Status.ObservedGeneration + }, 1*time.Minute, 2*time.Second).Should(Equal(newGeneration), "virt-handler did not bump the generation") + + Eventually(func() int32 { + d, err := virtCli.ExtensionsV1beta1().DaemonSets(KubeVirtInstallNamespace).Get("virt-handler", metav1.GetOptions{}) + Expect(err).ToNot(HaveOccurred()) + return d.Status.NumberAvailable + }, 1*time.Minute, 2*time.Second).Should(Equal(daemonInstances), "virt-handler is not ready") + + WaitForAllPodsReady(3*time.Minute, metav1.ListOptions{}) +} + +func DeployTestingInfrastructure() { + deployOrWipeTestingInfrastrucure(ApplyRawManifest) +} + +func WipeTestingInfrastructure() { + deployOrWipeTestingInfrastrucure(DeleteRawManifest) +} + func cleanupSubresourceServiceAccount() { virtCli, err := kubecli.GetKubevirtClient() PanicOnError(err) @@ -839,6 +1119,9 @@ func cleanNamespaces() { continue } + //Remove all HPA + PanicOnError(virtCli.AutoscalingV1().RESTClient().Delete().Namespace(namespace).Resource("horizontalpodautoscalers").Do().Error()) + // Remove all VirtualMachines PanicOnError(virtCli.RestClient().Delete().Namespace(namespace).Resource("virtualmachines").Do().Error()) @@ -958,6 +1241,7 @@ func NewRandomDataVolumeWithHttpImport(imageUrl string, namespace string) *cdiv1 APIVersion: "cdi.kubevirt.io/v1alpha1", Kind: "DataVolume", } + return dataVolume } @@ -981,8 +1265,7 @@ func NewRandomVMIWithDataVolume(dataVolumeName string) *v1.VirtualMachineInstanc diskName := "disk0" bus := "virtio" vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: diskName, - VolumeName: diskName, + Name: diskName, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: bus, @@ -1054,8 +1337,7 @@ func NewRandomVMIWithEphemeralDisk(containerImage string) *v1.VirtualMachineInst func AddEphemeralDisk(vmi *v1.VirtualMachineInstance, name string, bus string, image string) *v1.VirtualMachineInstance { vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: name, - VolumeName: name, + Name: name, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: bus, @@ -1086,8 +1368,7 @@ func AddBootOrderToDisk(vmi *v1.VirtualMachineInstance, diskName string, bootord func AddPVCDisk(vmi *v1.VirtualMachineInstance, name string, bus string, claimName string) *v1.VirtualMachineInstance { vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: name, - VolumeName: name, + Name: name, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: bus, @@ -1108,8 +1389,7 @@ func AddPVCDisk(vmi *v1.VirtualMachineInstance, name string, bus string, claimNa func AddEphemeralFloppy(vmi *v1.VirtualMachineInstance, name string, image string) *v1.VirtualMachineInstance { vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: name, - VolumeName: name, + Name: name, DiskDevice: v1.DiskDevice{ Floppy: &v1.FloppyTarget{}, }, @@ -1126,6 +1406,27 @@ func AddEphemeralFloppy(vmi *v1.VirtualMachineInstance, name string, image strin return vmi } +func AddEphemeralCdrom(vmi *v1.VirtualMachineInstance, name string, bus string, image string) *v1.VirtualMachineInstance { + vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ + Name: name, + DiskDevice: v1.DiskDevice{ + CDRom: &v1.CDRomTarget{ + Bus: bus, + }, + }, + }) + vmi.Spec.Volumes = append(vmi.Spec.Volumes, v1.Volume{ + Name: name, + VolumeSource: v1.VolumeSource{ + ContainerDisk: &v1.ContainerDiskSource{ + Image: image, + }, + }, + }) + + return vmi +} + func NewRandomVMIWithEphemeralDiskAndUserdata(containerImage string, userData string) *v1.VirtualMachineInstance { vmi := NewRandomVMIWithEphemeralDisk(containerImage) AddUserData(vmi, "disk1", userData) @@ -1134,8 +1435,7 @@ func NewRandomVMIWithEphemeralDiskAndUserdata(containerImage string, userData st func AddUserData(vmi *v1.VirtualMachineInstance, name string, userData string) { vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: name, - VolumeName: name, + Name: name, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: "virtio", @@ -1158,8 +1458,7 @@ func NewRandomVMIWithPVC(claimName string) *v1.VirtualMachineInstance { vmi.Spec.Domain.Resources.Requests[k8sv1.ResourceMemory] = resource.MustParse("64M") vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: "disk0", - VolumeName: "disk0", + Name: "disk0", DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: "virtio", @@ -1282,8 +1581,7 @@ func NewRandomVMIWithCDRom(claimName string) *v1.VirtualMachineInstance { vmi.Spec.Domain.Resources.Requests[k8sv1.ResourceMemory] = resource.MustParse("64M") vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: "disk0", - VolumeName: "disk0", + Name: "disk0", DiskDevice: v1.DiskDevice{ CDRom: &v1.CDRomTarget{ // Do not specify ReadOnly flag so that @@ -1308,8 +1606,7 @@ func NewRandomVMIWithEphemeralPVC(claimName string) *v1.VirtualMachineInstance { vmi.Spec.Domain.Resources.Requests[k8sv1.ResourceMemory] = resource.MustParse("64M") vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: "disk0", - VolumeName: "disk0", + Name: "disk0", DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: "sata", @@ -1340,8 +1637,7 @@ func AddHostDisk(vmi *v1.VirtualMachineInstance, path string, diskType v1.HostDi } vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: name, - VolumeName: name, + Name: name, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: "virtio", @@ -1402,9 +1698,8 @@ func NewRandomVMIWithConfigMap(configMapName string) *v1.VirtualMachineInstance } func AddConfigMapDisk(vmi *v1.VirtualMachineInstance, configMapName string) { - volumeName := configMapName + "-vol" vmi.Spec.Volumes = append(vmi.Spec.Volumes, v1.Volume{ - Name: volumeName, + Name: configMapName + "-disk", VolumeSource: v1.VolumeSource{ ConfigMap: &v1.ConfigMapVolumeSource{ LocalObjectReference: k8sv1.LocalObjectReference{ @@ -1414,8 +1709,7 @@ func AddConfigMapDisk(vmi *v1.VirtualMachineInstance, configMapName string) { }, }) vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: configMapName + "-disk", - VolumeName: volumeName, + Name: configMapName + "-disk", }) } @@ -1426,9 +1720,8 @@ func NewRandomVMIWithSecret(secretName string) *v1.VirtualMachineInstance { } func AddSecretDisk(vmi *v1.VirtualMachineInstance, secretName string) { - volumeName := secretName + "-vol" vmi.Spec.Volumes = append(vmi.Spec.Volumes, v1.Volume{ - Name: volumeName, + Name: secretName + "-disk", VolumeSource: v1.VolumeSource{ Secret: &v1.SecretVolumeSource{ SecretName: secretName, @@ -1436,8 +1729,7 @@ func AddSecretDisk(vmi *v1.VirtualMachineInstance, secretName string) { }, }) vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: secretName + "-disk", - VolumeName: volumeName, + Name: secretName + "-disk", }) } @@ -1448,7 +1740,7 @@ func NewRandomVMIWithServiceAccount(serviceAccountName string) *v1.VirtualMachin } func AddServiceAccountDisk(vmi *v1.VirtualMachineInstance, serviceAccountName string) { - volumeName := serviceAccountName + "-vol" + volumeName := serviceAccountName + "-disk" vmi.Spec.Volumes = append(vmi.Spec.Volumes, v1.Volume{ Name: volumeName, VolumeSource: v1.VolumeSource{ @@ -1458,8 +1750,7 @@ func AddServiceAccountDisk(vmi *v1.VirtualMachineInstance, serviceAccountName st }, }) vmi.Spec.Domain.Devices.Disks = append(vmi.Spec.Domain.Devices.Disks, v1.Disk{ - Name: serviceAccountName + "-disk", - VolumeName: volumeName, + Name: serviceAccountName + "-disk", }) } @@ -1499,6 +1790,24 @@ func NewRandomVMIWithCustomMacAddress() *v1.VirtualMachineInstance { return vmi } +// Block until DataVolume succeeds. +func WaitForSuccessfulDataVolumeImport(obj runtime.Object, seconds int) { + vmi, ok := obj.(*v1.VirtualMachineInstance) + ExpectWithOffset(1, ok).To(BeTrue(), "Object is not of type *v1.VMI") + + virtClient, err := kubecli.GetKubevirtClient() + ExpectWithOffset(1, err).ToNot(HaveOccurred()) + + EventuallyWithOffset(1, func() cdiv1.DataVolumePhase { + dv, err := virtClient.CdiClient().CdiV1alpha1().DataVolumes(vmi.Namespace).Get(vmi.Spec.Volumes[0].DataVolume.Name, metav1.GetOptions{}) + ExpectWithOffset(1, err).ToNot(HaveOccurred()) + + return dv.Status.Phase + }, time.Duration(seconds)*time.Second, 1*time.Second).Should(Equal(cdiv1.Succeeded), "Timed out waiting for DataVolume to enter Succeeded phase") + + return +} + // Block until the specified VirtualMachineInstance started and return the target node name. func waitForVMIStart(obj runtime.Object, seconds int, ignoreWarnings bool) (nodeName string) { vmi, ok := obj.(*v1.VirtualMachineInstance) @@ -1695,6 +2004,7 @@ const ( ContainerDiskCirros ContainerDisk = "cirros" ContainerDiskAlpine ContainerDisk = "alpine" ContainerDiskFedora ContainerDisk = "fedora-cloud" + ContainerDiskVirtio ContainerDisk = "virtio-container-disk" ) // ContainerDiskFor takes the name of an image and returns the full @@ -1704,6 +2014,8 @@ func ContainerDiskFor(name ContainerDisk) string { switch name { case ContainerDiskCirros, ContainerDiskAlpine, ContainerDiskFedora: return fmt.Sprintf("%s/%s-container-disk-demo:%s", KubeVirtRepoPrefix, name, KubeVirtVersionTag) + case ContainerDiskVirtio: + return fmt.Sprintf("%s/virtio-container-disk:%s", KubeVirtRepoPrefix, KubeVirtVersionTag) } panic(fmt.Sprintf("Unsupported registry disk %s", name)) } @@ -1955,21 +2267,21 @@ func SkipIfNoRhelImage(virtClient kubecli.KubevirtClient) { } func SkipIfNoSriovDevicePlugin(virtClient kubecli.KubevirtClient) { - _, err := virtClient.ExtensionsV1beta1().DaemonSets(KubeVirtInstallNamespace).Get("kube-sriov-device-plugin-amd64", metav1.GetOptions{}) + _, err := virtClient.ExtensionsV1beta1().DaemonSets(metav1.NamespaceSystem).Get("kube-sriov-device-plugin-amd64", metav1.GetOptions{}) if err != nil { Skip("Skip srio tests that required sriov device plugin") } } func SkipIfNoMultusProvider(virtClient kubecli.KubevirtClient) { - _, err := virtClient.ExtensionsV1beta1().DaemonSets(KubeVirtInstallNamespace).Get("kube-multus-ds-amd64", metav1.GetOptions{}) + _, err := virtClient.ExtensionsV1beta1().DaemonSets(metav1.NamespaceSystem).Get("kube-multus-ds-amd64", metav1.GetOptions{}) if err != nil { Skip("Skip multus tests that required multus cni plugin") } } func SkipIfNoGenieProvider(virtClient kubecli.KubevirtClient) { - _, err := virtClient.ExtensionsV1beta1().DaemonSets("kube-system").Get("genie-plugin", metav1.GetOptions{}) + _, err := virtClient.ExtensionsV1beta1().DaemonSets(metav1.NamespaceSystem).Get("genie-plugin", metav1.GetOptions{}) if err != nil { Skip("Skip genie tests that required genie cni plugin") } @@ -2502,12 +2814,7 @@ func SkipIfVersionBelow(message string, expectedVersion string) { } func SkipIfOpenShift(message string) { - virtClient, err := kubecli.GetKubevirtClient() - PanicOnError(err) - - result := virtClient.RestClient().Get().AbsPath("/version/openshift").Do() - - if result.Error() == nil { + if IsOpenShift() { Skip("Openshift detected: " + message) } } @@ -2609,7 +2916,7 @@ func KubevirtFailHandler(message string, callerSkip ...int) { if strings.HasPrefix(pod.Name, "virt-launcher") { tailLines = 45 containerName = "compute" - data, err := yaml.Marshal(pod) + data, err := ghodssyaml.Marshal(pod) if err != nil { log.DefaultLogger().Reason(err).Errorf("Failed to marshal pod %s", pod.Name) continue @@ -2635,7 +2942,7 @@ func KubevirtFailHandler(message string, callerSkip ...int) { } for _, vmi := range vmis.Items { - data, err := yaml.Marshal(vmi) + data, err := ghodssyaml.Marshal(vmi) if err != nil { log.DefaultLogger().Reason(err).Errorf("Failed to marshal vmi %s", vmi.Name) continue diff --git a/vendor/kubevirt.io/kubevirt/tools/crd-generator/crd-generator.go b/vendor/kubevirt.io/kubevirt/tools/crd-generator/crd-generator.go deleted file mode 100644 index 2031e210e..000000000 --- a/vendor/kubevirt.io/kubevirt/tools/crd-generator/crd-generator.go +++ /dev/null @@ -1,185 +0,0 @@ -/* - * This file is part of the KubeVirt project - * - * 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. - * - * Copyright 2018 Red Hat, Inc. - * - */ - -package main - -import ( - "flag" - "fmt" - - crdutils "github.com/ant31/crd-validation/pkg" - extensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - v1 "kubevirt.io/kubevirt/pkg/api/v1" -) - -func generateBlankCrd() *extensionsv1.CustomResourceDefinition { - return &extensionsv1.CustomResourceDefinition{ - TypeMeta: metav1.TypeMeta{ - APIVersion: "apiextensions.k8s.io/v1beta1", - Kind: "CustomResourceDefinition", - }, - ObjectMeta: metav1.ObjectMeta{ - Labels: map[string]string{ - "kubevirt.io": "", - }, - }, - } -} - -func generateVirtualMachineCrd() { - crd := generateBlankCrd() - - crd.ObjectMeta.Name = "virtualmachines." + v1.VirtualMachineGroupVersionKind.Group - crd.Spec = extensionsv1.CustomResourceDefinitionSpec{ - Group: v1.VirtualMachineGroupVersionKind.Group, - Version: v1.VirtualMachineGroupVersionKind.Version, - Scope: "Namespaced", - - Names: extensionsv1.CustomResourceDefinitionNames{ - Plural: "virtualmachines", - Singular: "virtualmachine", - Kind: v1.VirtualMachineGroupVersionKind.Kind, - ShortNames: []string{"vm", "vms"}, - }, - AdditionalPrinterColumns: []extensionsv1.CustomResourceColumnDefinition{ - {Name: "Age", Type: "date", JSONPath: ".metadata.creationTimestamp"}, - {Name: "Running", Type: "boolean", JSONPath: ".spec.running"}, - {Name: "Volume", Description: "Primary Volume", Type: "string", JSONPath: ".spec.volumes[0].name"}, - }, - } - - crdutils.MarshallCrd(crd, "yaml") -} - -func generatePresetCrd() { - crd := generateBlankCrd() - - crd.ObjectMeta.Name = "virtualmachineinstancepresets." + v1.VirtualMachineInstancePresetGroupVersionKind.Group - crd.Spec = extensionsv1.CustomResourceDefinitionSpec{ - Group: v1.VirtualMachineInstancePresetGroupVersionKind.Group, - Version: v1.VirtualMachineInstancePresetGroupVersionKind.Version, - Scope: "Namespaced", - - Names: extensionsv1.CustomResourceDefinitionNames{ - Plural: "virtualmachineinstancepresets", - Singular: "virtualmachineinstancepreset", - Kind: v1.VirtualMachineInstancePresetGroupVersionKind.Kind, - ShortNames: []string{"vmipreset", "vmipresets"}, - }, - } - - crdutils.MarshallCrd(crd, "yaml") -} - -func generateReplicaSetCrd() { - crd := generateBlankCrd() - - crd.ObjectMeta.Name = "virtualmachineinstancereplicasets." + v1.VirtualMachineInstanceReplicaSetGroupVersionKind.Group - crd.Spec = extensionsv1.CustomResourceDefinitionSpec{ - Group: v1.VirtualMachineInstanceReplicaSetGroupVersionKind.Group, - Version: v1.VirtualMachineInstanceReplicaSetGroupVersionKind.Version, - Scope: "Namespaced", - - Names: extensionsv1.CustomResourceDefinitionNames{ - Plural: "virtualmachineinstancereplicasets", - Singular: "virtualmachineinstancereplicaset", - Kind: v1.VirtualMachineInstanceReplicaSetGroupVersionKind.Kind, - ShortNames: []string{"vmirs", "vmirss"}, - }, - AdditionalPrinterColumns: []extensionsv1.CustomResourceColumnDefinition{ - {Name: "Desired", Type: "integer", JSONPath: ".spec.replicas", - Description: "Number of desired VirtualMachineInstances"}, - {Name: "Current", Type: "integer", JSONPath: ".status.replicas", - Description: "Number of managed and not final or deleted VirtualMachineInstances"}, - {Name: "Ready", Type: "integer", JSONPath: ".status.readyReplicas", - Description: "Number of managed VirtualMachineInstances which are ready to receive traffic"}, - {Name: "Age", Type: "date", JSONPath: ".metadata.creationTimestamp"}, - }, - } - - crdutils.MarshallCrd(crd, "yaml") -} - -func generateVirtualMachineInstanceMigrationCrd() { - crd := generateBlankCrd() - - crd.ObjectMeta.Name = "virtualmachineinstancemigrations." + v1.VirtualMachineInstanceMigrationGroupVersionKind.Group - crd.Spec = extensionsv1.CustomResourceDefinitionSpec{ - Group: v1.VirtualMachineInstanceMigrationGroupVersionKind.Group, - Version: v1.VirtualMachineInstanceMigrationGroupVersionKind.Version, - Scope: "Namespaced", - - Names: extensionsv1.CustomResourceDefinitionNames{ - Plural: "virtualmachineinstancemigrations", - Singular: "virtualmachineinstancemigration", - Kind: v1.VirtualMachineInstanceMigrationGroupVersionKind.Kind, - ShortNames: []string{"vmim", "vmims"}, - }, - } - - crdutils.MarshallCrd(crd, "yaml") -} - -func generateVirtualMachineInstanceCrd() { - crd := generateBlankCrd() - - crd.ObjectMeta.Name = "virtualmachineinstances." + v1.VirtualMachineInstanceGroupVersionKind.Group - crd.Spec = extensionsv1.CustomResourceDefinitionSpec{ - Group: v1.VirtualMachineInstanceGroupVersionKind.Group, - Version: v1.VirtualMachineInstanceGroupVersionKind.Version, - Scope: "Namespaced", - - Names: extensionsv1.CustomResourceDefinitionNames{ - Plural: "virtualmachineinstances", - Singular: "virtualmachineinstance", - Kind: v1.VirtualMachineInstanceGroupVersionKind.Kind, - ShortNames: []string{"vmi", "vmis"}, - }, - AdditionalPrinterColumns: []extensionsv1.CustomResourceColumnDefinition{ - {Name: "Age", Type: "date", JSONPath: ".metadata.creationTimestamp"}, - {Name: "Phase", Type: "string", JSONPath: ".status.phase"}, - {Name: "IP", Type: "string", JSONPath: ".status.interfaces[0].ipAddress"}, - {Name: "NodeName", Type: "string", JSONPath: ".status.nodeName"}, - }, - } - - crdutils.MarshallCrd(crd, "yaml") -} - -func main() { - crdType := flag.String("crd-type", "", "Type of crd to generate. vmi | vmipreset | vmirs | vm | vmim") - flag.Parse() - - switch *crdType { - case "vmi": - generateVirtualMachineInstanceCrd() - case "vmipreset": - generatePresetCrd() - case "vmirs": - generateReplicaSetCrd() - case "vm": - generateVirtualMachineCrd() - case "vmim": - generateVirtualMachineInstanceMigrationCrd() - default: - panic(fmt.Errorf("unknown crd type %s", *crdType)) - } -} diff --git a/vendor/kubevirt.io/kubevirt/tools/manifest-templator/manifest-templator.go b/vendor/kubevirt.io/kubevirt/tools/manifest-templator/manifest-templator.go index ab65252f9..c1e0420c2 100644 --- a/vendor/kubevirt.io/kubevirt/tools/manifest-templator/manifest-templator.go +++ b/vendor/kubevirt.io/kubevirt/tools/manifest-templator/manifest-templator.go @@ -21,10 +21,13 @@ package main import ( "flag" + "fmt" "io/ioutil" "os" "path/filepath" "text/template" + + "github.com/spf13/pflag" ) type templateData struct { @@ -33,43 +36,70 @@ type templateData struct { DockerTag string DockerPrefix string ImagePullPolicy string + Verbosity string GeneratedManifests map[string]string } func main() { namespace := flag.String("namespace", "", "") cdiNamespace := flag.String("cdi-namespace", "", "") - dockerPrefix := flag.String("docker-prefix", "", "") - dockerTag := flag.String("docker-tag", "", "") + dockerPrefix := flag.String("container-prefix", "", "") + dockerTag := flag.String("container-tag", "", "") imagePullPolicy := flag.String("image-pull-policy", "IfNotPresent", "") + verbosity := flag.String("verbosity", "2", "") genDir := flag.String("generated-manifests-dir", "", "") inputFile := flag.String("input-file", "", "") - flag.Parse() + processFiles := flag.Bool("process-files", false, "") + processVars := flag.Bool("process-vars", false, "") + pflag.CommandLine.AddGoFlagSet(flag.CommandLine) + pflag.CommandLine.ParseErrorsWhitelist.UnknownFlags = true + pflag.Parse() + + if !(*processFiles || *processVars) { + panic("at least one of process-files or process-vars must be true") + } data := templateData{ - Namespace: *namespace, - CDINamespace: *cdiNamespace, - DockerTag: *dockerTag, - DockerPrefix: *dockerPrefix, - ImagePullPolicy: *imagePullPolicy, GeneratedManifests: make(map[string]string), } - manifests, err := ioutil.ReadDir(*genDir) - if err != nil { - panic(err) + if *processVars { + data.Namespace = *namespace + data.CDINamespace = *cdiNamespace + data.DockerTag = *dockerTag + data.DockerPrefix = *dockerPrefix + data.ImagePullPolicy = *imagePullPolicy + data.Verbosity = fmt.Sprintf("\"%s\"", *verbosity) + } else { + // keep templates + data.Namespace = "{{.Namespace}}" + data.CDINamespace = "{{.CDINamespace}}" + data.DockerTag = "{{.DockerTag}}" + data.DockerPrefix = "{{.DockerPrefix}}" + data.ImagePullPolicy = "{{.ImagePullPolicy}}" + data.Verbosity = "{{.Verbosity}}" } - for _, manifest := range manifests { - b, err := ioutil.ReadFile(filepath.Join(*genDir, manifest.Name())) + if *processFiles { + manifests, err := ioutil.ReadDir(*genDir) if err != nil { panic(err) } - data.GeneratedManifests[manifest.Name()] = string(b) + + for _, manifest := range manifests { + if manifest.IsDir() { + continue + } + b, err := ioutil.ReadFile(filepath.Join(*genDir, manifest.Name())) + if err != nil { + panic(err) + } + data.GeneratedManifests[manifest.Name()] = string(b) + } } tmpl := template.Must(template.ParseFiles(*inputFile)) - err = tmpl.Execute(os.Stdout, data) + err := tmpl.Execute(os.Stdout, data) if err != nil { panic(err) } diff --git a/vendor/kubevirt.io/kubevirt/tools/resource-generator/resource-generator.go b/vendor/kubevirt.io/kubevirt/tools/resource-generator/resource-generator.go new file mode 100644 index 000000000..87cc5bffd --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/tools/resource-generator/resource-generator.go @@ -0,0 +1,98 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ + +package main + +import ( + "flag" + "fmt" + "os" + + "k8s.io/api/core/v1" + + "kubevirt.io/kubevirt/pkg/virt-operator/creation/components" + "kubevirt.io/kubevirt/pkg/virt-operator/creation/rbac" + "kubevirt.io/kubevirt/tools/util" +) + +func main() { + resourceType := flag.String("type", "", "Type of resource to generate. vmi | vmipreset | vmirs | vm | vmim | kv | rbac") + namespace := flag.String("namespace", "kube-system", "Namespace to use.") + repository := flag.String("repository", "kubevirt", "Image Repository to use.") + version := flag.String("version", "latest", "version to use.") + pullPolicy := flag.String("pullPolicy", "IfNotPresent", "ImagePullPolicy to use.") + verbosity := flag.String("verbosity", "2", "Verbosity level to use.") + + flag.Parse() + + imagePullPolicy := v1.PullPolicy(*pullPolicy) + + switch *resourceType { + case "vmi": + util.MarshallObject(components.NewVirtualMachineInstanceCrd(), os.Stdout) + case "vmipreset": + util.MarshallObject(components.NewPresetCrd(), os.Stdout) + case "vmirs": + util.MarshallObject(components.NewReplicaSetCrd(), os.Stdout) + case "vm": + util.MarshallObject(components.NewVirtualMachineCrd(), os.Stdout) + case "vmim": + util.MarshallObject(components.NewVirtualMachineInstanceMigrationCrd(), os.Stdout) + case "kv": + util.MarshallObject(components.NewKubeVirtCrd(), os.Stdout) + case "kv-cr": + util.MarshallObject(components.NewKubeVirtCR(*namespace, imagePullPolicy), os.Stdout) + case "rbac": + all := make([]interface{}, 0) + all = append(all, rbac.GetAllCluster(*namespace)...) + all = append(all, rbac.GetAllApiServer(*namespace)...) + all = append(all, rbac.GetAllController(*namespace)...) + for _, r := range all { + util.MarshallObject(r, os.Stdout) + } + case "prometheus": + util.MarshallObject(components.NewPrometheusService(*namespace), os.Stdout) + case "virt-api": + apisService := components.NewApiServerService(*namespace) + apiDeployment, err := components.NewApiServerDeployment(*namespace, *repository, *version, imagePullPolicy, *verbosity) + if err != nil { + panic(fmt.Errorf("error generating virt-apiserver deployment %v", err)) + + } + all := []interface{}{apisService, apiDeployment} + for _, r := range all { + util.MarshallObject(r, os.Stdout) + } + case "virt-controller": + controller, err := components.NewControllerDeployment(*namespace, *repository, *version, imagePullPolicy, *verbosity) + if err != nil { + panic(fmt.Errorf("error generating virt-controller deployment %v", err)) + + } + util.MarshallObject(controller, os.Stdout) + case "virt-handler": + handler, err := components.NewHandlerDaemonSet(*namespace, *repository, *version, imagePullPolicy, *verbosity) + if err != nil { + panic(fmt.Errorf("error generating virt-handler deployment %v", err)) + } + util.MarshallObject(handler, os.Stdout) + default: + panic(fmt.Errorf("unknown resource type %s", *resourceType)) + } +} diff --git a/vendor/kubevirt.io/kubevirt/tools/util/marshaller.go b/vendor/kubevirt.io/kubevirt/tools/util/marshaller.go new file mode 100644 index 000000000..546d64413 --- /dev/null +++ b/vendor/kubevirt.io/kubevirt/tools/util/marshaller.go @@ -0,0 +1,82 @@ +/* + * This file is part of the KubeVirt project + * + * 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. + * + * Copyright 2018 Red Hat, Inc. + * + */ +package util + +import ( + "encoding/json" + "io" + "strings" + + "kubevirt.io/kubevirt/pkg/api/v1" + + "github.com/ghodss/yaml" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" +) + +func MarshallObject(obj interface{}, writer io.Writer) error { + jsonBytes, err := json.Marshal(obj) + if err != nil { + return err + } + + var r unstructured.Unstructured + if err := json.Unmarshal(jsonBytes, &r.Object); err != nil { + return err + } + + // remove status and metadata.creationTimestamp + unstructured.RemoveNestedField(r.Object, "metadata", "creationTimestamp") + unstructured.RemoveNestedField(r.Object, "spec", "template", "metadata", "creationTimestamp") + unstructured.RemoveNestedField(r.Object, "status") + + // remove "managed by operator" label... + labels, exists, err := unstructured.NestedMap(r.Object, "metadata", "labels") + if exists { + delete(labels, v1.ManagedByLabel) + unstructured.SetNestedMap(r.Object, labels, "metadata", "labels") + } + + jsonBytes, err = json.Marshal(r.Object) + if err != nil { + return err + } + + yamlBytes, err := yaml.JSONToYAML(jsonBytes) + if err != nil { + return err + } + + // fix templates by removing quotes... + s := string(yamlBytes) + s = strings.Replace(s, "'{{", "{{", -1) + s = strings.Replace(s, "}}'", "}}", -1) + yamlBytes = []byte(s) + + _, err = writer.Write([]byte("---\n")) + if err != nil { + return err + } + + _, err = writer.Write(yamlBytes) + if err != nil { + return err + } + + return nil +} diff --git a/vendor/kubevirt.io/kubevirt/tools/vms-generator/utils/utils.go b/vendor/kubevirt.io/kubevirt/tools/vms-generator/utils/utils.go index e6162f644..035c5a464 100644 --- a/vendor/kubevirt.io/kubevirt/tools/vms-generator/utils/utils.go +++ b/vendor/kubevirt.io/kubevirt/tools/vms-generator/utils/utils.go @@ -71,6 +71,8 @@ const VmiPresetSmall = "vmi-preset-small" const VmiMigration = "migration-job" +const KubeVirt = "kubevirt-cr" + const ( busVirtio = "virtio" busSata = "sata" @@ -84,7 +86,7 @@ const ( const windowsFirmware = "5d307ca9-b3ef-428c-8861-06e72d69f223" -const apiVersion = "kubevirt.io/v1alpha2" +const apiVersion = "kubevirt.io/v1alpha3" var DockerPrefix = "registry:5000/kubevirt" var DockerTag = "devel" @@ -109,7 +111,7 @@ func getBaseVMI(name string) *v1.VirtualMachineInstance { return &v1.VirtualMachineInstance{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstance", }, ObjectMeta: metav1.ObjectMeta{ @@ -124,8 +126,7 @@ func addContainerDisk(spec *v1.VirtualMachineInstanceSpec, image string, bus str spec.Domain.Devices = v1.Devices{ Disks: []v1.Disk{ { - Name: "containerdisk", - VolumeName: "registryvolume", + Name: "containerdisk", DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: bus, @@ -136,7 +137,7 @@ func addContainerDisk(spec *v1.VirtualMachineInstanceSpec, image string, bus str } spec.Volumes = []v1.Volume{ { - Name: "registryvolume", + Name: "containerdisk", VolumeSource: v1.VolumeSource{ ContainerDisk: &v1.ContainerDiskSource{ Image: image, @@ -153,8 +154,7 @@ func addNoCloudDisk(spec *v1.VirtualMachineInstanceSpec) *v1.VirtualMachineInsta func addNoCloudDiskWitUserData(spec *v1.VirtualMachineInstanceSpec, data string) *v1.VirtualMachineInstanceSpec { spec.Domain.Devices.Disks = append(spec.Domain.Devices.Disks, v1.Disk{ - Name: "cloudinitdisk", - VolumeName: "cloudinitvolume", + Name: "cloudinitdisk", DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: busVirtio, @@ -163,7 +163,7 @@ func addNoCloudDiskWitUserData(spec *v1.VirtualMachineInstanceSpec, data string) }) spec.Volumes = append(spec.Volumes, v1.Volume{ - Name: "cloudinitvolume", + Name: "cloudinitdisk", VolumeSource: v1.VolumeSource{ CloudInitNoCloud: &v1.CloudInitNoCloudSource{ UserData: data, @@ -175,8 +175,7 @@ func addNoCloudDiskWitUserData(spec *v1.VirtualMachineInstanceSpec, data string) func addEmptyDisk(spec *v1.VirtualMachineInstanceSpec, size string) *v1.VirtualMachineInstanceSpec { spec.Domain.Devices.Disks = append(spec.Domain.Devices.Disks, v1.Disk{ - Name: "emptydisk", - VolumeName: "emptydiskvolume", + Name: "emptydisk", DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: busVirtio, @@ -185,7 +184,7 @@ func addEmptyDisk(spec *v1.VirtualMachineInstanceSpec, size string) *v1.VirtualM }) spec.Volumes = append(spec.Volumes, v1.Volume{ - Name: "emptydiskvolume", + Name: "emptydisk", VolumeSource: v1.VolumeSource{ EmptyDisk: &v1.EmptyDiskSource{ Capacity: resource.MustParse(size), @@ -195,10 +194,9 @@ func addEmptyDisk(spec *v1.VirtualMachineInstanceSpec, size string) *v1.VirtualM return spec } -func addDataVolumeDisk(spec *v1.VirtualMachineInstanceSpec, dataVolumeName string, bus string, diskName string, volumeName string) *v1.VirtualMachineInstanceSpec { +func addDataVolumeDisk(spec *v1.VirtualMachineInstanceSpec, dataVolumeName string, bus string, diskName string) *v1.VirtualMachineInstanceSpec { spec.Domain.Devices.Disks = append(spec.Domain.Devices.Disks, v1.Disk{ - Name: diskName, - VolumeName: volumeName, + Name: diskName, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: bus, @@ -207,7 +205,7 @@ func addDataVolumeDisk(spec *v1.VirtualMachineInstanceSpec, dataVolumeName strin }) spec.Volumes = append(spec.Volumes, v1.Volume{ - Name: volumeName, + Name: diskName, VolumeSource: v1.VolumeSource{ DataVolume: &v1.DataVolumeSource{ Name: dataVolumeName, @@ -217,10 +215,9 @@ func addDataVolumeDisk(spec *v1.VirtualMachineInstanceSpec, dataVolumeName strin return spec } -func addPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, bus string, diskName string, volumeName string) *v1.VirtualMachineInstanceSpec { +func addPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, bus string, diskName string) *v1.VirtualMachineInstanceSpec { spec.Domain.Devices.Disks = append(spec.Domain.Devices.Disks, v1.Disk{ - Name: diskName, - VolumeName: volumeName, + Name: diskName, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: bus, @@ -229,7 +226,7 @@ func addPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, bus strin }) spec.Volumes = append(spec.Volumes, v1.Volume{ - Name: volumeName, + Name: diskName, VolumeSource: v1.VolumeSource{ PersistentVolumeClaim: &k8sv1.PersistentVolumeClaimVolumeSource{ ClaimName: claimName, @@ -239,10 +236,9 @@ func addPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, bus strin return spec } -func addEphemeralPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, bus string, diskName string, volumeName string) *v1.VirtualMachineInstanceSpec { +func addEphemeralPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, bus string, diskName string) *v1.VirtualMachineInstanceSpec { spec.Domain.Devices.Disks = append(spec.Domain.Devices.Disks, v1.Disk{ - Name: diskName, - VolumeName: volumeName, + Name: diskName, DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: bus, @@ -251,7 +247,7 @@ func addEphemeralPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, }) spec.Volumes = append(spec.Volumes, v1.Volume{ - Name: volumeName, + Name: diskName, VolumeSource: v1.VolumeSource{ Ephemeral: &v1.EphemeralVolumeSource{ PersistentVolumeClaim: &k8sv1.PersistentVolumeClaimVolumeSource{ @@ -265,8 +261,7 @@ func addEphemeralPVCDisk(spec *v1.VirtualMachineInstanceSpec, claimName string, func addHostDisk(spec *v1.VirtualMachineInstanceSpec, path string, hostDiskType v1.HostDiskType, size string) *v1.VirtualMachineInstanceSpec { spec.Domain.Devices.Disks = append(spec.Domain.Devices.Disks, v1.Disk{ - Name: "host-disk", - VolumeName: "hostdiskvolume", + Name: "host-disk", DiskDevice: v1.DiskDevice{ Disk: &v1.DiskTarget{ Bus: busVirtio, @@ -274,7 +269,7 @@ func addHostDisk(spec *v1.VirtualMachineInstanceSpec, path string, hostDiskType }, }) spec.Volumes = append(spec.Volumes, v1.Volume{ - Name: "hostdiskvolume", + Name: "host-disk", VolumeSource: v1.VolumeSource{ HostDisk: &v1.HostDisk{ Path: path, @@ -439,14 +434,14 @@ func GetVMIFlavorSmall() *v1.VirtualMachineInstance { func GetVMIPvc() *v1.VirtualMachineInstance { vmi := getBaseVMI(VmiPVC) - addPVCDisk(&vmi.Spec, "disk-alpine", busVirtio, "pvcdisk", "pvcvolume") + addPVCDisk(&vmi.Spec, "disk-alpine", busVirtio, "pvcdisk") return vmi } func GetVMIBlockPvc() *v1.VirtualMachineInstance { vmi := getBaseVMI(VmiBlockPVC) - addPVCDisk(&vmi.Spec, "local-block-storage-cirros", busVirtio, "blockpvcdisk", "blockpvcvolume") + addPVCDisk(&vmi.Spec, "local-block-storage-cirros", busVirtio, "blockpvcdisk") return vmi } @@ -502,7 +497,7 @@ func GetVMIWindows() *v1.VirtualMachineInstance { // pick e1000 network model type for windows machines vmi.Spec.Domain.Devices.Interfaces[0].Model = "e1000" - addPVCDisk(&vmi.Spec, "disk-windows", busSata, "pvcdisk", "pvcvolume") + addPVCDisk(&vmi.Spec, "disk-windows", busSata, "pvcdisk") return vmi } @@ -511,7 +506,7 @@ func getBaseVM(name string, labels map[string]string) *v1.VirtualMachine { return &v1.VirtualMachine{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachine", }, ObjectMeta: metav1.ObjectMeta{ @@ -563,7 +558,7 @@ func GetTemplateFedora() *Template { func GetTemplateRHEL7() *Template { vm := getBaseVM("", map[string]string{"kubevirt-vm": "vm-${NAME}", "kubevirt.io/os": "rhel-7.4"}) - addPVCDisk(&vm.Spec.Template.Spec, "linux-vm-pvc-${NAME}", busVirtio, "disk0", "disk0-pvc") + addPVCDisk(&vm.Spec.Template.Spec, "linux-vm-pvc-${NAME}", busVirtio, "disk0") pvc := getPVCForTemplate("linux-vm-pvc-${NAME}") template := newTemplateForRHEL7VM(vm) @@ -574,7 +569,7 @@ func GetTemplateRHEL7() *Template { func GetTestTemplateRHEL7() *Template { vm := getBaseVM("", map[string]string{"kubevirt-vm": "vm-${NAME}", "kubevirt.io/os": "rhel-7.4"}) - addEphemeralPVCDisk(&vm.Spec.Template.Spec, "disk-rhel", busSata, "pvcdisk", "pvcvolume") + addEphemeralPVCDisk(&vm.Spec.Template.Spec, "disk-rhel", busSata, "pvcdisk") return newTemplateForRHEL7VM(vm) } @@ -601,7 +596,7 @@ func GetTemplateWindows() *Template { windows := GetVMIWindows() vm.Spec.Template.Spec = windows.Spec vm.Spec.Template.ObjectMeta.Annotations = windows.ObjectMeta.Annotations - addPVCDisk(&vm.Spec.Template.Spec, "windows-vm-pvc-${NAME}", busVirtio, "disk0", "disk0-pvc") + addPVCDisk(&vm.Spec.Template.Spec, "windows-vm-pvc-${NAME}", busVirtio, "disk0") pvc := getPVCForTemplate("windows-vm-pvc-${NAME}") @@ -726,7 +721,7 @@ func GetVMDataVolume() *v1.VirtualMachine { } vm.Spec.DataVolumeTemplates = append(vm.Spec.DataVolumeTemplates, dataVolume) - addDataVolumeDisk(&vm.Spec.Template.Spec, "alpine-dv", busVirtio, "datavolumedisk1", "datavolumevolume1") + addDataVolumeDisk(&vm.Spec.Template.Spec, "alpine-dv", busVirtio, "datavolumedisk1") return vm } @@ -736,8 +731,8 @@ func GetVMMultiPvc() *v1.VirtualMachine { "kubevirt.io/vm": VmAlpineMultiPvc, }) - addPVCDisk(&vm.Spec.Template.Spec, "disk-alpine", busVirtio, "pvcdisk1", "pvcvolume1") - addPVCDisk(&vm.Spec.Template.Spec, "disk-custom", busVirtio, "pvcdisk2", "pvcvolume2") + addPVCDisk(&vm.Spec.Template.Spec, "disk-alpine", busVirtio, "pvcdisk1") + addPVCDisk(&vm.Spec.Template.Spec, "disk-custom", busVirtio, "pvcdisk2") return vm } @@ -748,7 +743,7 @@ func getBaseVMIReplicaSet(name string, replicas int, selectorLabels map[string]s return &v1.VirtualMachineInstanceReplicaSet{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstanceReplicaSet", }, ObjectMeta: metav1.ObjectMeta{ @@ -781,7 +776,7 @@ func GetVMIReplicaSetCirros() *v1.VirtualMachineInstanceReplicaSet { func getBaseVMIPreset(name string, selectorLabels map[string]string) *v1.VirtualMachineInstancePreset { return &v1.VirtualMachineInstancePreset{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstancePreset", }, ObjectMeta: metav1.ObjectMeta{ @@ -798,7 +793,7 @@ func getBaseVMIPreset(name string, selectorLabels map[string]string) *v1.Virtual func GetVMIMigration() *v1.VirtualMachineInstanceMigration { return &v1.VirtualMachineInstanceMigration{ TypeMeta: metav1.TypeMeta{ - APIVersion: apiVersion, + APIVersion: v1.GroupVersion.String(), Kind: "VirtualMachineInstanceMigration", }, ObjectMeta: metav1.ObjectMeta{ diff --git a/vendor/kubevirt.io/kubevirt/tools/vms-generator/vms-generator.go b/vendor/kubevirt.io/kubevirt/tools/vms-generator/vms-generator.go index 0840dc791..4e47ef8cd 100644 --- a/vendor/kubevirt.io/kubevirt/tools/vms-generator/vms-generator.go +++ b/vendor/kubevirt.io/kubevirt/tools/vms-generator/vms-generator.go @@ -22,11 +22,11 @@ package main import ( "flag" "fmt" - "io/ioutil" "os" "path/filepath" - "github.com/ghodss/yaml" + "kubevirt.io/kubevirt/tools/util" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8sfield "k8s.io/apimachinery/pkg/util/validation/field" @@ -36,8 +36,8 @@ import ( ) func main() { - flag.StringVar(&utils.DockerPrefix, "docker-prefix", utils.DockerPrefix, "") - flag.StringVar(&utils.DockerTag, "docker-tag", utils.DockerTag, "") + flag.StringVar(&utils.DockerPrefix, "container-prefix", utils.DockerPrefix, "") + flag.StringVar(&utils.DockerTag, "container-tag", utils.DockerTag, "") genDir := flag.String("generated-vms-dir", "", "") flag.Parse() @@ -109,15 +109,15 @@ func main() { } dumpObject := func(name string, obj interface{}) error { - data, err := yaml.Marshal(obj) - if err != nil { - return fmt.Errorf("Failed to generate yaml for %s: %s", name, err) - } - err = ioutil.WriteFile(filepath.Join(*genDir, fmt.Sprintf("%s.yaml", name)), data, 0644) + filename := filepath.Join(*genDir, fmt.Sprintf("%s.yaml", name)) + file, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644) if err != nil { - return fmt.Errorf("Failed to write yaml file: %s", err) + return fmt.Errorf("Failed to open file %v, %v", filename, err) } + defer file.Close() + + util.MarshallObject(obj, file) return nil }